From efb25533ff15cc1686d46999f198fe0ebd2324ed Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Wed, 31 May 2023 16:43:46 +0100 Subject: [PATCH 01/14] Add entry for graph under varia_collection. --- .../varia_collection/data_axs.json | 3 +- .../varia_collection/graph/code_axs.py | 130 ++++++++++++++++++ .../varia_collection/graph/data_axs.json | 3 + 3 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 core_collection/varia_collection/graph/code_axs.py create mode 100644 core_collection/varia_collection/graph/data_axs.json diff --git a/core_collection/varia_collection/data_axs.json b/core_collection/varia_collection/data_axs.json index 387b2d71..f2f4503f 100644 --- a/core_collection/varia_collection/data_axs.json +++ b/core_collection/varia_collection/data_axs.json @@ -15,6 +15,7 @@ "rule_matching_demonstrator": "rule_matching_demonstrator", "rule_matching_producer": "rule_matching_producer", - "rule_matching_advertiser": "rule_matching_advertiser" + "rule_matching_advertiser": "rule_matching_advertiser", + "graph" : "graph" } } diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py new file mode 100644 index 00000000..0e40b14e --- /dev/null +++ b/core_collection/varia_collection/graph/code_axs.py @@ -0,0 +1,130 @@ +import subprocess +import sys +import os +import logging +import graphviz +from kernel import default_kernel as ak + +def draw_collection(collection_object, tone_colour, graph): + collection_name = collection_object.get_name() + + cluster = graphviz.Digraph(name='cluster_'+collection_name) + cluster.attr(style='filled', color=tone_colour, fillcolor=tone_colour) + + collection_entry_names = collection_object['contained_entries'].keys() + + for entry_name in collection_entry_names: + entry = ak.byname(entry_name) + own_data = entry.own_data() + tags = own_data.get('tags', '') + label = f"{entry_name} {tags}" + + if '_producer_rules' in own_data: + cluster.node(entry_name, label=label, shape='rectangle') + else: + cluster.node(entry_name, label=label) + + for p in entry.get('_parent_entries', []): + if p: + graph.edge(entry_name+':w', p.get_name()+':e') + else: + print(collection_name, entry_name) + graph.node('BROKEN_PARENT', style='filled', color='red') + graph.edge(entry_name+':w', 'BROKEN_PARENT:e') + + graph.subgraph(cluster) + +import re + +def draw(target, __entry__=None, __record_entry__=None, dest_dir="/home/saheli/output"): + __record_entry__.attach(__entry__.get_kernel().byname("work_collection")) + __record_entry__.save(dest_dir) + + while(target): + + target_entry = __entry__.get_kernel().byname(target) + print(f"Target: {target_entry}") + parents = target_entry.get("_parent_entries") + print(f"Parent(s): {parents}") + output_entry = target_entry.get("output_file_name") + print(f"Output: {output_entry}") + + output = False + output_parents_data = "" + target_data = target_entry.own_data() + for key, val in target_data.items(): + if "_parent_entries" in str(val): + output = True + output_parents_data = val + elif "tags" in str(val): + output = True + + f = graphviz.Digraph(format='png') + f.attr('node', shape='circle') + f.node(target) + + if parents: + parent = parents[0] + + while parent: + f.node(parent.get_name()) + f.edge(parent.get_name(), target_entry.get_name()) + target_entry = parent + if(target_entry.parents_loaded() and target_entry.parents_loaded()[0]): + parent = target_entry.parents_loaded()[0] + else: + break + + if output: + f.node("output") + f.edge(target, "output") + + if output_parents_data: + info = find_parent(output_parents_data) + output_parents = find_byname(info) + f.node(output_parents) + f.edge(output_parents, "output") + target = output_parents + else: + target = None + + + f.render(filename=f"{dest_dir}/{target}_entry_hierarchy", view=True) + __record_entry__.plant("tags", ["graph_output", target]) + + return __record_entry__ + +def find_parent(obj): + # obj = ['^^', 'execute', [[['get', '__record_entry__'], ['attach', ['^', 'work_collection']], ['plant', ['^^', 'substitute', [["_parent_entries", ['AS^IS', 'AS^IS', ['^', 'byname', 'base_bert_experiment']], 'tags', ['program_output', 'bert_squad'], 'model_name', '#{model_name}#', 'framework', '#{framework}#', 'output_file_name', '#{output_file_name}#', 'desired_python_version', '#{desired_python_version}#']]]], ['save'], ['get_path_from', 'output_file_name']]]] + item = find_key(obj, "_parent_entries") + return item + +def find_byname(obj=None): + obj = ['_parent_entries', ['AS^IS', 'AS^IS', ['^', 'byname', 'base_bert_experiment']], 'tags', ['program_output', 'bert_squad'], 'model_name', '#{model_name}#', 'framework', '#{framework}#', 'output_file_name', '#{output_file_name}#', 'desired_python_version', '#{desired_python_version}#'] + item = find_key(obj, "byname") + + return list(item)[2] + +def find_key(obj, key): + if isinstance(obj, dict): + for k, v in obj.items(): + if k == key: + return v + result = find_key(v, key) + if result is not None: + return result + elif isinstance(obj, list): + if key == "_parent_entries" and re.search(r"^\[(?:'|\")_parent_entries(.*)", str(obj)): + return obj + + if key == "byname" and re.search(r"^\[(?:'|\")\^(?:'|\")(?:\s*),(?:\s*)(?:'|\")byname(.*)", str(obj)): + return obj + + for item in obj: + result = find_key(item, key) + if result is not None: + return result + return None + + + diff --git a/core_collection/varia_collection/graph/data_axs.json b/core_collection/varia_collection/graph/data_axs.json new file mode 100644 index 00000000..544b7b4d --- /dev/null +++ b/core_collection/varia_collection/graph/data_axs.json @@ -0,0 +1,3 @@ +{ + +} \ No newline at end of file From 4d8cbcd46a94d6ec9fa5e98be81e718ff7b9b054 Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Mon, 5 Jun 2023 18:27:55 +0100 Subject: [PATCH 02/14] Upadate data_axs.json and code_axs.json --- .../varia_collection/graph/code_axs.py | 103 ++++++++++++------ .../varia_collection/graph/data_axs.json | 13 +++ 2 files changed, 84 insertions(+), 32 deletions(-) diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index 0e40b14e..cdff4143 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -36,63 +36,101 @@ def draw_collection(collection_object, tone_colour, graph): import re -def draw(target, __entry__=None, __record_entry__=None, dest_dir="/home/saheli/output"): - __record_entry__.attach(__entry__.get_kernel().byname("work_collection")) - __record_entry__.save(dest_dir) - - while(target): +def draw(target, return_this_entry=None, __entry__=None): + # To view graph + # display $(axs byquery graph_output,target=bert_squad_onnxruntime_py , get_path)/image.png + + # __record_entry__.attach(__entry__.get_kernel().byname("work_collection")) + # __record_entry__.plant('tags', ['graph_output']) + # __record_entry__.save() + dest_dir = return_this_entry.get_path() + cur_target = target + + while(cur_target): - target_entry = __entry__.get_kernel().byname(target) - print(f"Target: {target_entry}") - parents = target_entry.get("_parent_entries") - print(f"Parent(s): {parents}") - output_entry = target_entry.get("output_file_name") - print(f"Output: {output_entry}") + cur_target_entry = __entry__.get_kernel().byname(cur_target) + print(f"cur_target: {cur_target_entry}") + parents = cur_target_entry.get("_parent_entries") + # print(f"Parent(s): {parents}") + output_entry = cur_target_entry.get("output_file_name") + # print(f"Output: {output_entry}") + + f = graphviz.Digraph(format='png') + f.attr('node', shape='circle') + f.node(cur_target) output = False output_parents_data = "" - target_data = target_entry.own_data() - for key, val in target_data.items(): + cur_target_data = cur_target_entry.own_data() + for key, val in cur_target_data.items(): if "_parent_entries" in str(val): output = True output_parents_data = val elif "tags" in str(val): output = True - f = graphviz.Digraph(format='png') - f.attr('node', shape='circle') - f.node(target) + stack = [] + # Add parent objects to the stack if parents: - parent = parents[0] - - while parent: - f.node(parent.get_name()) - f.edge(parent.get_name(), target_entry.get_name()) - target_entry = parent - if(target_entry.parents_loaded() and target_entry.parents_loaded()[0]): - parent = target_entry.parents_loaded()[0] + for parent in parents: + stack.append((parent, 0)) # (object, level) + + visited = set() # Track visited parent objects + parent_entries = {0: []} # Parent entries dictionary for each level + parents_check = [] + while stack != []: + parent, level = stack.pop() + print(f"stack: {parent.get_name()}, level: {level}") + print(type(parent)) + parent_entry_check = __entry__.get_kernel().byname(parent) + print(f"parent_entry_check: {parent_entry_check}") + if parent_entry_check: + parents_check = parent_entry_check.get("_parent_entries") + print(f"parent_entries: {parents_check}") + + if parents_check: + + # Add parent objects to the graph + if parent and __entry__.get_kernel() and __entry__.get_kernel().byname(parent): + parent_entries[level] = parent.get_kernel().byname(parent).get("_parent_entries") + for grandparent in parent_entries[level]: + f.node(grandparent.get_name()) + f.edge(grandparent.get_name(), parent.get_name()) + if grandparent not in visited: # Check if grandparent has been visited + stack.append((grandparent, level + 1)) else: - break + print(f"No parent entries for {parent.get_name()}") + f.node(parent.get_name()) + f.edge(parent.get_name(), cur_target) + + + visited.add(parent) # Mark parent as visited + print(f"Visited Array: {visited}") + + print("Stack after iteration:", stack) + print("Visited set:", visited) + + if output: f.node("output") - f.edge(target, "output") + f.edge(cur_target, "output") if output_parents_data: info = find_parent(output_parents_data) output_parents = find_byname(info) f.node(output_parents) f.edge(output_parents, "output") - target = output_parents + cur_target_entry = output_parents else: - target = None + cur_target_entry = None + break - f.render(filename=f"{dest_dir}/{target}_entry_hierarchy", view=True) - __record_entry__.plant("tags", ["graph_output", target]) + f.render(filename=f"{dest_dir}/image", view=True) - return __record_entry__ + return return_this_entry def find_parent(obj): # obj = ['^^', 'execute', [[['get', '__record_entry__'], ['attach', ['^', 'work_collection']], ['plant', ['^^', 'substitute', [["_parent_entries", ['AS^IS', 'AS^IS', ['^', 'byname', 'base_bert_experiment']], 'tags', ['program_output', 'bert_squad'], 'model_name', '#{model_name}#', 'framework', '#{framework}#', 'output_file_name', '#{output_file_name}#', 'desired_python_version', '#{desired_python_version}#']]]], ['save'], ['get_path_from', 'output_file_name']]]] @@ -119,7 +157,8 @@ def find_key(obj, key): if key == "byname" and re.search(r"^\[(?:'|\")\^(?:'|\")(?:\s*),(?:\s*)(?:'|\")byname(.*)", str(obj)): return obj - + + for item in obj: result = find_key(item, key) if result is not None: diff --git a/core_collection/varia_collection/graph/data_axs.json b/core_collection/varia_collection/graph/data_axs.json index 544b7b4d..99fd1c04 100644 --- a/core_collection/varia_collection/graph/data_axs.json +++ b/core_collection/varia_collection/graph/data_axs.json @@ -1,3 +1,16 @@ { + "_producer_rules": [ + [ [ "graph_output" ], [["draw"]], { }, [ "target" ] ] + ], + "target" : "shell", + "return_this_entry": [ "^^", "execute", [[ + [ "get", "__record_entry__" ], + [ "attach", [ "^", "work_collection" ] ], + [ "plant", [ "^^", "substitute", [[ + "tags", [ "graph_output"], + "target", "#{target}#" + ]] ] ], + [ "save" ] + ]] ] } \ No newline at end of file From 8093f91a9ffb69dd9a90aa75bebffe5a15c5b134 Mon Sep 17 00:00:00 2001 From: elim Date: Tue, 6 Jun 2023 16:10:22 +0100 Subject: [PATCH 03/14] Add dfs func for target node. --- .../varia_collection/graph/code_axs.py | 121 +++++------------- 1 file changed, 35 insertions(+), 86 deletions(-) diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index cdff4143..ed8194e2 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -2,6 +2,7 @@ import sys import os import logging +import re import graphviz from kernel import default_kernel as ak @@ -34,104 +35,52 @@ def draw_collection(collection_object, tone_colour, graph): graph.subgraph(cluster) -import re +def dfs(root, f, __entry__): + stack = [] + visited = set() -def draw(target, return_this_entry=None, __entry__=None): - # To view graph - # display $(axs byquery graph_output,target=bert_squad_onnxruntime_py , get_path)/image.png - - # __record_entry__.attach(__entry__.get_kernel().byname("work_collection")) - # __record_entry__.plant('tags', ['graph_output']) - # __record_entry__.save() - dest_dir = return_this_entry.get_path() - cur_target = target + cur_target_entry = __entry__.get_kernel().byname(root) + if not cur_target_entry: + print("ERROR!") + return + stack.append((cur_target_entry, 0)) - while(cur_target): - - cur_target_entry = __entry__.get_kernel().byname(cur_target) - print(f"cur_target: {cur_target_entry}") - parents = cur_target_entry.get("_parent_entries") - # print(f"Parent(s): {parents}") - output_entry = cur_target_entry.get("output_file_name") - # print(f"Output: {output_entry}") + while stack: + cur_target_entry, level = stack.pop() + cur_target = cur_target_entry.get_name() + print(cur_target) + if cur_target in visited: + continue - f = graphviz.Digraph(format='png') - f.attr('node', shape='circle') f.node(cur_target) + visited.add(cur_target) - output = False - output_parents_data = "" - cur_target_data = cur_target_entry.own_data() - for key, val in cur_target_data.items(): - if "_parent_entries" in str(val): - output = True - output_parents_data = val - elif "tags" in str(val): - output = True - - stack = [] - - # Add parent objects to the stack + parents = cur_target_entry.get("_parent_entries") if parents: for parent in parents: - stack.append((parent, 0)) # (object, level) - - visited = set() # Track visited parent objects - parent_entries = {0: []} # Parent entries dictionary for each level - parents_check = [] - while stack != []: - parent, level = stack.pop() - print(f"stack: {parent.get_name()}, level: {level}") - print(type(parent)) - parent_entry_check = __entry__.get_kernel().byname(parent) - print(f"parent_entry_check: {parent_entry_check}") - if parent_entry_check: - parents_check = parent_entry_check.get("_parent_entries") - print(f"parent_entries: {parents_check}") - - if parents_check: - - # Add parent objects to the graph - if parent and __entry__.get_kernel() and __entry__.get_kernel().byname(parent): - parent_entries[level] = parent.get_kernel().byname(parent).get("_parent_entries") - for grandparent in parent_entries[level]: - f.node(grandparent.get_name()) - f.edge(grandparent.get_name(), parent.get_name()) - if grandparent not in visited: # Check if grandparent has been visited - stack.append((grandparent, level + 1)) - else: - print(f"No parent entries for {parent.get_name()}") - f.node(parent.get_name()) - f.edge(parent.get_name(), cur_target) - - - visited.add(parent) # Mark parent as visited - print(f"Visited Array: {visited}") - - print("Stack after iteration:", stack) - print("Visited set:", visited) + if isinstance(parent, str): + p = __entry__.get_kernel().byname(parent) + else: + p = parent + if not p: + continue + stack.append((p, 0)) + f.node(p.get_name()) + f.edge(p.get_name(), cur_target) + + return f - - - if output: - f.node("output") - f.edge(cur_target, "output") +def draw(target, return_this_entry=None, __entry__=None): + dest_dir = return_this_entry.get_path() - if output_parents_data: - info = find_parent(output_parents_data) - output_parents = find_byname(info) - f.node(output_parents) - f.edge(output_parents, "output") - cur_target_entry = output_parents - else: - cur_target_entry = None - - break + f = graphviz.Digraph(format='png') + f.attr('node', shape='circle') + f = dfs(target, f, __entry__) - f.render(filename=f"{dest_dir}/image", view=True) - + f.render(filename=f"{dest_dir}/image") return return_this_entry + def find_parent(obj): # obj = ['^^', 'execute', [[['get', '__record_entry__'], ['attach', ['^', 'work_collection']], ['plant', ['^^', 'substitute', [["_parent_entries", ['AS^IS', 'AS^IS', ['^', 'byname', 'base_bert_experiment']], 'tags', ['program_output', 'bert_squad'], 'model_name', '#{model_name}#', 'framework', '#{framework}#', 'output_file_name', '#{output_file_name}#', 'desired_python_version', '#{desired_python_version}#']]]], ['save'], ['get_path_from', 'output_file_name']]]] item = find_key(obj, "_parent_entries") From f76c61030108a1c9c2225e2b8e67156a73e33634 Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Fri, 9 Jun 2023 15:54:27 +0100 Subject: [PATCH 04/14] Update graph with parents of parents and multiple parents of output node. --- .../varia_collection/graph/code_axs.py | 56 +++++++++++++------ 1 file changed, 40 insertions(+), 16 deletions(-) diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index ed8194e2..8c9201f6 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -35,6 +35,7 @@ def draw_collection(collection_object, tone_colour, graph): graph.subgraph(cluster) + def dfs(root, f, __entry__): stack = [] visited = set() @@ -72,47 +73,70 @@ def dfs(root, f, __entry__): def draw(target, return_this_entry=None, __entry__=None): dest_dir = return_this_entry.get_path() + target_entry = __entry__.get_kernel().byname(target) + output = False + output_parents_data = "" + target_data = target_entry.own_data() + + for key, val in target_data.items(): + if "_parent_entries" in str(val): + output = True + output_parents_data = val + elif "tags" in str(val): + output = True f = graphviz.Digraph(format='png') f.attr('node', shape='circle') f = dfs(target, f, __entry__) + if output: + f.node("output") + f.edge(target, "output") + + if output_parents_data: + info = find_parent(output_parents_data) + output_parents = find_byname(info) + print("output_parents", output_parents) + for output_parent in output_parents: + f = dfs(output_parent, f, __entry__) + f.edge(output_parent, "output") + target_entry = output_parent + else: + target_entry = None + + f.render(filename=f"{dest_dir}/image") return return_this_entry - def find_parent(obj): # obj = ['^^', 'execute', [[['get', '__record_entry__'], ['attach', ['^', 'work_collection']], ['plant', ['^^', 'substitute', [["_parent_entries", ['AS^IS', 'AS^IS', ['^', 'byname', 'base_bert_experiment']], 'tags', ['program_output', 'bert_squad'], 'model_name', '#{model_name}#', 'framework', '#{framework}#', 'output_file_name', '#{output_file_name}#', 'desired_python_version', '#{desired_python_version}#']]]], ['save'], ['get_path_from', 'output_file_name']]]] - item = find_key(obj, "_parent_entries") - return item + items = find_key(obj, "_parent_entries") + return items def find_byname(obj=None): - obj = ['_parent_entries', ['AS^IS', 'AS^IS', ['^', 'byname', 'base_bert_experiment']], 'tags', ['program_output', 'bert_squad'], 'model_name', '#{model_name}#', 'framework', '#{framework}#', 'output_file_name', '#{output_file_name}#', 'desired_python_version', '#{desired_python_version}#'] - item = find_key(obj, "byname") - - return list(item)[2] + obj = ['_parent_entries', ['AS^IS', 'AS^IS', ['^', 'byname', 'base_bert_loadgen_experiment'], ["^", "byname", "base_qaic_experiment"]], 'tags', ['program_output', 'bert_squad'], 'model_name', '#{model_name}#', 'framework', '#{framework}#', 'output_file_name', '#{output_file_name}#', 'desired_python_version', '#{desired_python_version}#'] + items = find_key(obj, "byname") + return [list(item)[2] for item in items] def find_key(obj, key): + matches = [] if isinstance(obj, dict): for k, v in obj.items(): if k == key: return v + matches.extend(find_key(v, key)) result = find_key(v, key) if result is not None: return result elif isinstance(obj, list): if key == "_parent_entries" and re.search(r"^\[(?:'|\")_parent_entries(.*)", str(obj)): - return obj - + matches.append(obj) if key == "byname" and re.search(r"^\[(?:'|\")\^(?:'|\")(?:\s*),(?:\s*)(?:'|\")byname(.*)", str(obj)): - return obj - - + matches.append(obj) for item in obj: - result = find_key(item, key) - if result is not None: - return result - return None + matches.extend(find_key(item, key)) + return matches + From 65e207f1caef42ee04f656caf3365ec8eec87803 Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Fri, 9 Jun 2023 19:19:40 +0100 Subject: [PATCH 05/14] Fix the issue of accessing data_axs.json files based on given target entry. --- .../varia_collection/graph/code_axs.py | 23 +++++++++++++------ .../varia_collection/graph/data_axs.json | 3 +-- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index 8c9201f6..c052c1d0 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -4,6 +4,7 @@ import logging import re import graphviz +import json from kernel import default_kernel as ak def draw_collection(collection_object, tone_colour, graph): @@ -74,6 +75,9 @@ def dfs(root, f, __entry__): def draw(target, return_this_entry=None, __entry__=None): dest_dir = return_this_entry.get_path() target_entry = __entry__.get_kernel().byname(target) + get_path = target_entry.get_path() + file_path = f'{get_path}/data_axs.json' + output = False output_parents_data = "" target_data = target_entry.own_data() @@ -93,8 +97,9 @@ def draw(target, return_this_entry=None, __entry__=None): f.edge(target, "output") if output_parents_data: + info = find_parent(output_parents_data) - output_parents = find_byname(info) + output_parents = find_byname(file_path,obj=info) print("output_parents", output_parents) for output_parent in output_parents: f = dfs(output_parent, f, __entry__) @@ -103,19 +108,17 @@ def draw(target, return_this_entry=None, __entry__=None): else: target_entry = None - - f.render(filename=f"{dest_dir}/image") return return_this_entry def find_parent(obj): - # obj = ['^^', 'execute', [[['get', '__record_entry__'], ['attach', ['^', 'work_collection']], ['plant', ['^^', 'substitute', [["_parent_entries", ['AS^IS', 'AS^IS', ['^', 'byname', 'base_bert_experiment']], 'tags', ['program_output', 'bert_squad'], 'model_name', '#{model_name}#', 'framework', '#{framework}#', 'output_file_name', '#{output_file_name}#', 'desired_python_version', '#{desired_python_version}#']]]], ['save'], ['get_path_from', 'output_file_name']]]] items = find_key(obj, "_parent_entries") return items -def find_byname(obj=None): - obj = ['_parent_entries', ['AS^IS', 'AS^IS', ['^', 'byname', 'base_bert_loadgen_experiment'], ["^", "byname", "base_qaic_experiment"]], 'tags', ['program_output', 'bert_squad'], 'model_name', '#{model_name}#', 'framework', '#{framework}#', 'output_file_name', '#{output_file_name}#', 'desired_python_version', '#{desired_python_version}#'] +def find_byname(file_path, obj=None): + obj=process_json(file_path) items = find_key(obj, "byname") + print("items",items) return [list(item)[2] for item in items] def find_key(obj, key): @@ -139,4 +142,10 @@ def find_key(obj, key): return matches - + +def process_json(file_path): + with open(file_path) as f: + obj = json.load(f) + required_data = {key: obj[key] for key in ['output_file_path', 'output_entry'] if key in obj} + parents = find_parent(required_data) + return parents diff --git a/core_collection/varia_collection/graph/data_axs.json b/core_collection/varia_collection/graph/data_axs.json index 99fd1c04..f8705a7f 100644 --- a/core_collection/varia_collection/graph/data_axs.json +++ b/core_collection/varia_collection/graph/data_axs.json @@ -1,7 +1,6 @@ { "_producer_rules": [ - [ [ "graph_output" ], [["draw"]], { }, [ "target" ] ] - ], + [ [ "graph_output" ], [["draw"]], { }, [ "target"]]], "target" : "shell", "return_this_entry": [ "^^", "execute", [[ [ "get", "__record_entry__" ], From b0208831cda46181a5de6452db72b33214cfea31 Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Mon, 2 Oct 2023 13:32:12 +0100 Subject: [PATCH 06/14] Add visual features to the graph: colouring, grouping and clustering. --- .../varia_collection/graph/code_axs.py | 50 +++++++++++++------ 1 file changed, 36 insertions(+), 14 deletions(-) diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index c052c1d0..d0337f36 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -7,6 +7,8 @@ import json from kernel import default_kernel as ak +initial_root_visited = False + def draw_collection(collection_object, tone_colour, graph): collection_name = collection_object.get_name() @@ -37,7 +39,8 @@ def draw_collection(collection_object, tone_colour, graph): graph.subgraph(cluster) -def dfs(root, f, __entry__): +def dfs(root, f, __entry__, is_output=False): + global initial_root_visited stack = [] visited = set() @@ -45,16 +48,25 @@ def dfs(root, f, __entry__): if not cur_target_entry: print("ERROR!") return - stack.append((cur_target_entry, 0)) + + stack.append((cur_target_entry, True)) # Using True to signify that this is the initial root node while stack: - cur_target_entry, level = stack.pop() + cur_target_entry, is_initial_root = stack.pop() cur_target = cur_target_entry.get_name() - print(cur_target) + if cur_target in visited: continue - f.node(cur_target) + if not initial_root_visited: + color = 'red' + initial_root_visited = True + elif is_output: + color = 'lightblue' + else: + color = 'lightcoral' + + f.node(cur_target, color=color, style='filled') visited.add(cur_target) parents = cur_target_entry.get("_parent_entries") @@ -66,13 +78,15 @@ def dfs(root, f, __entry__): p = parent if not p: continue - stack.append((p, 0)) - f.node(p.get_name()) + stack.append((p, False)) # Using False to signify that this is not the initial root node f.edge(p.get_name(), cur_target) - + return f def draw(target, return_this_entry=None, __entry__=None): + + global initial_root_visited + initial_root_visited = False dest_dir = return_this_entry.get_path() target_entry = __entry__.get_kernel().byname(target) get_path = target_entry.get_path() @@ -91,20 +105,28 @@ def draw(target, return_this_entry=None, __entry__=None): f = graphviz.Digraph(format='png') f.attr('node', shape='circle') - f = dfs(target, f, __entry__) + + with f.subgraph(name='cluster_0') as c: + c.attr(style='dotted') + c.attr(label='Group A') + dfs(target, c, __entry__, is_output=False) + + if output: - f.node("output") + f.node("output", style='filled', color='blue') f.edge(target, "output") if output_parents_data: - info = find_parent(output_parents_data) output_parents = find_byname(file_path,obj=info) print("output_parents", output_parents) for output_parent in output_parents: - f = dfs(output_parent, f, __entry__) - f.edge(output_parent, "output") - target_entry = output_parent + with f.subgraph(name='cluster_1') as c: + c.attr(style='dotted') + c.attr(label='Group B') + dfs(output_parent, c, __entry__, is_output=True) + f.edge(output_parent, "output") + target_entry = output_parent else: target_entry = None From bac5ed458cc7f158115aede7025b892bc7a542c2 Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Mon, 2 Oct 2023 16:10:51 +0100 Subject: [PATCH 07/14] Add an extra functionality for extracting parents from output_entry_parents. --- .../varia_collection/graph/code_axs.py | 36 +++++++++++++++++-- 1 file changed, 33 insertions(+), 3 deletions(-) diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index d0337f36..17380859 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -89,6 +89,7 @@ def draw(target, return_this_entry=None, __entry__=None): initial_root_visited = False dest_dir = return_this_entry.get_path() target_entry = __entry__.get_kernel().byname(target) + print("target_entry",target_entry) get_path = target_entry.get_path() file_path = f'{get_path}/data_axs.json' @@ -96,12 +97,23 @@ def draw(target, return_this_entry=None, __entry__=None): output_parents_data = "" target_data = target_entry.own_data() + output_entries = target_entry.get("output_entry_parents") + print("output_entries:", output_entries) + + # Extract all 'byname' entries from "output_entry_parents" as a key + if output_entries: + byname_entries = extract_byname_entries(output_entries) + print("byname_entries:", byname_entries) + + for key, val in target_data.items(): if "_parent_entries" in str(val): output = True output_parents_data = val elif "tags" in str(val): output = True + elif output_entries: + output = True f = graphviz.Digraph(format='png') f.attr('node', shape='circle') @@ -130,6 +142,15 @@ def draw(target, return_this_entry=None, __entry__=None): else: target_entry = None + elif output_entries and byname_entries: + for byname_entry in byname_entries: + with f.subgraph(name=f'cluster_1') as c: + c.attr(style='dotted') + c.attr(label=f'Group B') + dfs(byname_entry, c, __entry__, is_output=True) + f.edge(byname_entry, "output") + + f.render(filename=f"{dest_dir}/image") return return_this_entry @@ -162,12 +183,21 @@ def find_key(obj, key): matches.extend(find_key(item, key)) return matches - - - + def process_json(file_path): with open(file_path) as f: obj = json.load(f) required_data = {key: obj[key] for key in ['output_file_path', 'output_entry'] if key in obj} parents = find_parent(required_data) return parents + + +def extract_byname_entries(output_entries): + byname_entries = [] + for item in output_entries: + if isinstance(item, list) and 'byname' in item: + index = item.index('byname') + 1 + if index < len(item): + byname_entries.append(item[index]) + return byname_entries + From 549f7446cbc57f38f51dce49eb0b4cc6cdfeda20 Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Wed, 4 Oct 2023 18:06:54 +0100 Subject: [PATCH 08/14] Add more visual features to dependency graph. --- .../varia_collection/graph/code_axs.py | 122 +++++++++--------- 1 file changed, 64 insertions(+), 58 deletions(-) diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index 17380859..1a6b742a 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -87,72 +87,78 @@ def draw(target, return_this_entry=None, __entry__=None): global initial_root_visited initial_root_visited = False - dest_dir = return_this_entry.get_path() - target_entry = __entry__.get_kernel().byname(target) - print("target_entry",target_entry) - get_path = target_entry.get_path() - file_path = f'{get_path}/data_axs.json' - output = False output_parents_data = "" - target_data = target_entry.own_data() - - output_entries = target_entry.get("output_entry_parents") - print("output_entries:", output_entries) - - # Extract all 'byname' entries from "output_entry_parents" as a key - if output_entries: - byname_entries = extract_byname_entries(output_entries) - print("byname_entries:", byname_entries) - - - for key, val in target_data.items(): - if "_parent_entries" in str(val): - output = True - output_parents_data = val - elif "tags" in str(val): - output = True - elif output_entries: - output = True + dest_dir = return_this_entry.get_path() + + target_entry = __entry__.get_kernel().byname(target) + if target_entry: + get_path = target_entry.get_path() + file_path = f'{get_path}/data_axs.json' + target_data = target_entry.own_data() + output_entries = target_entry.get("output_entry_parents") + + if output_entries: + # Extract all 'byname' entries from "output_entry_parents" as objects to byname as key + byname_entries = extract_byname_entries(output_entries) + print("byname_entries:", byname_entries) + + for key, val in target_data.items(): + if "_parent_entries" in str(val): + output = True + output_parents_data = val + elif "tags" in str(val): + output = True + elif output_entries: + output = True + + f = graphviz.Digraph(format='svg') + f.attr('node', shape='ellipse') + f.attr(dpi='400') + f.engine = 'dot' + + + with f.subgraph(name='cluster_0') as c: + c.attr(style='dotted') + c.attr(label='Entry and Its Parent(s)') + dfs(target, c, __entry__, is_output=False) + - f = graphviz.Digraph(format='png') - f.attr('node', shape='circle') + if output: + f.node("output", style='filled', color='blue') + f.edge(target, "output") + + if output_parents_data: + info = find_parent(output_parents_data) + output_parents = find_byname(file_path,obj=info) + print("output_parents", output_parents) + for output_parent in output_parents: + with f.subgraph(name='cluster_1') as c: + c.attr(style='dotted') + c.attr(label='Parent(s) of the Output Entry') + dfs(output_parent, c, __entry__, is_output=True) + f.edge(output_parent, "output") + target_entry = output_parent + else: + target_entry = None - with f.subgraph(name='cluster_0') as c: - c.attr(style='dotted') - c.attr(label='Group A') - dfs(target, c, __entry__, is_output=False) - + elif output_entries and byname_entries: + for byname_entry in byname_entries: + with f.subgraph(name=f'cluster_1') as c: + c.attr(style='dotted') + c.attr(label=f'Parent(s) of the Output Entry') + dfs(byname_entry, c, __entry__, is_output=True) + f.edge(byname_entry, "output") - if output: - f.node("output", style='filled', color='blue') - f.edge(target, "output") - - if output_parents_data: - info = find_parent(output_parents_data) - output_parents = find_byname(file_path,obj=info) - print("output_parents", output_parents) - for output_parent in output_parents: - with f.subgraph(name='cluster_1') as c: - c.attr(style='dotted') - c.attr(label='Group B') - dfs(output_parent, c, __entry__, is_output=True) - f.edge(output_parent, "output") - target_entry = output_parent - else: - target_entry = None - elif output_entries and byname_entries: - for byname_entry in byname_entries: - with f.subgraph(name=f'cluster_1') as c: - c.attr(style='dotted') - c.attr(label=f'Group B') - dfs(byname_entry, c, __entry__, is_output=True) - f.edge(byname_entry, "output") + f.render(filename=f"{dest_dir}/image", view=False, cleanup=False) + print("Graph is generated!") + return return_this_entry + else: + print("ERROR! Provide correct entry name!") - f.render(filename=f"{dest_dir}/image") - return return_this_entry + def find_parent(obj): items = find_key(obj, "_parent_entries") From 50cce222b92bad1eac8752f3b343c9f739e1a308 Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Mon, 9 Oct 2023 16:53:09 +0100 Subject: [PATCH 09/14] Enhance user readability of code_axs.py for graph entry. Add test files to test parent entries and output parent entries of a target entry. --- .../varia_collection/graph/code_axs.py | 48 +++------- .../varia_collection/graph/create_json.py | 88 +++++++++++++++++++ .../graph/test_parent_and_output_entries.py | 72 +++++++++++++++ 3 files changed, 172 insertions(+), 36 deletions(-) create mode 100644 core_collection/varia_collection/graph/create_json.py create mode 100644 core_collection/varia_collection/graph/test_parent_and_output_entries.py diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index 1a6b742a..c426ab66 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -1,45 +1,15 @@ -import subprocess -import sys -import os -import logging import re import graphviz import json from kernel import default_kernel as ak -initial_root_visited = False - -def draw_collection(collection_object, tone_colour, graph): - collection_name = collection_object.get_name() - - cluster = graphviz.Digraph(name='cluster_'+collection_name) - cluster.attr(style='filled', color=tone_colour, fillcolor=tone_colour) - - collection_entry_names = collection_object['contained_entries'].keys() - - for entry_name in collection_entry_names: - entry = ak.byname(entry_name) - own_data = entry.own_data() - tags = own_data.get('tags', '') - label = f"{entry_name} {tags}" - - if '_producer_rules' in own_data: - cluster.node(entry_name, label=label, shape='rectangle') - else: - cluster.node(entry_name, label=label) - - for p in entry.get('_parent_entries', []): - if p: - graph.edge(entry_name+':w', p.get_name()+':e') - else: - print(collection_name, entry_name) - graph.node('BROKEN_PARENT', style='filled', color='red') - graph.edge(entry_name+':w', 'BROKEN_PARENT:e') - - graph.subgraph(cluster) +initial_root_visited = False + +def dfs(root, f, __entry__, is_output=False): + """ Depth First Search(DFS) for a given node. + """ -def dfs(root, f, __entry__, is_output=False): global initial_root_visited stack = [] visited = set() @@ -85,6 +55,13 @@ def dfs(root, f, __entry__, is_output=False): def draw(target, return_this_entry=None, __entry__=None): + """ Generate Dependency Graph for a given entry. + + Usage examples: + axs byname graph , draw bert_using_onnxrt_py + axs byname graph , draw image_classification_using_tf_py + """ + global initial_root_visited initial_root_visited = False output = False @@ -158,7 +135,6 @@ def draw(target, return_this_entry=None, __entry__=None): else: print("ERROR! Provide correct entry name!") - def find_parent(obj): items = find_key(obj, "_parent_entries") diff --git a/core_collection/varia_collection/graph/create_json.py b/core_collection/varia_collection/graph/create_json.py new file mode 100644 index 00000000..809ce14a --- /dev/null +++ b/core_collection/varia_collection/graph/create_json.py @@ -0,0 +1,88 @@ +import json +import os + +base_directory = os.path.expanduser('~/axs/core_collection/workflows_collection') + +def get_contained_entries_keys_from_multiple_locations(): + folders = ['bert', 'image_classification', 'object_detection'] + keys_dict = {} + workflows_directory = os.path.expanduser('~/axs/core_collection/workflows_collection') + + for folder in folders: + for root, dirs, files in os.walk(os.path.join(workflows_directory, folder)): + if 'data_axs.json' in files: + json_file_path = os.path.join(root, 'data_axs.json') + + print(f"Checking existence of {json_file_path}") # Debug line + + with open(json_file_path, 'r') as f: + data = json.load(f) + keys = list(data.get('contained_entries', {}).keys()) + + if folder in keys_dict: + keys_dict[folder].extend(keys) + else: + keys_dict[folder] = keys + else: + print(f"The JSON file at {os.path.join(root, 'data_axs.json')} doesn't exist.") + + return keys_dict + +contained_entries_keys_dict = get_contained_entries_keys_from_multiple_locations() + +key_json_paths = [] + +for folder, keys in contained_entries_keys_dict.items(): + for key in keys: + key_json_path = os.path.join(base_directory,folder, key, 'data_axs.json') + key_json_paths.append(key_json_path) + +def read_entries(key_json_paths, entry_key): + entries_dict = {} + for key_json_path in key_json_paths: + if os.path.exists(key_json_path): + with open(key_json_path, 'r') as f: + data = json.load(f) + key_name = os.path.basename(os.path.dirname(key_json_path)) + entries_dict[key_name] = [entry[-1] for entry in data.get('_parent_entries', [])] + else: + print(f"The JSON file at {key_json_path} doesn't exist.") + return entries_dict + +# Read parent entries +parent_entries_dict = read_entries(key_json_paths, '_parent_entries') + +def read_output_parent_entries(key_json_paths): + output_parent_entries_dict = {} + for key_json_path in key_json_paths: + if os.path.exists(key_json_path): + with open(key_json_path, 'r') as f: + data = json.load(f) + output_key_name = os.path.basename(os.path.dirname(key_json_path)) + + final_entries = [] + for entry in data.get('output_entry_parents', []): + if isinstance(entry, list) and 'byname' in entry: + index = entry.index('byname') + 1 + if index < len(entry): + final_entries.append(entry[index]) + + if final_entries: + output_parent_entries_dict[output_key_name] = final_entries + else: + output_parent_entries_dict[output_key_name] = data.get('output_entry_parents', []) + + else: + print(f"The JSON file at {key_json_path} doesn't exist.") + + return output_parent_entries_dict + +# Read output parent entries +output_parent_entries_dict = read_output_parent_entries(key_json_paths) + +# Save to a JSON file +with open('parent_entries_dict.json', 'w') as f: + json.dump(parent_entries_dict, f, indent=4) + +with open('output_parent_entries_dict.json', 'w') as f: + json.dump(output_parent_entries_dict, f, indent=4) diff --git a/core_collection/varia_collection/graph/test_parent_and_output_entries.py b/core_collection/varia_collection/graph/test_parent_and_output_entries.py new file mode 100644 index 00000000..fddd76fb --- /dev/null +++ b/core_collection/varia_collection/graph/test_parent_and_output_entries.py @@ -0,0 +1,72 @@ +import re +import json +import pytest + +def read_dot_file(file_path): + with open(file_path, 'r') as f: + return f.read() + +def parse_dot_content(dot_content, target): + parent_nodes = [] + pattern = re.compile(r"(\w+)\s*->\s*(\w+)") + for match in pattern.findall(dot_content): + parent, child = match + if child == target: + parent_nodes.append(parent) + return parent_nodes + +def read_cluster_1_content(dot_content): + cluster_1_pattern = re.compile(r'subgraph cluster_1 {([\s\S]*?)}\n', re.MULTILINE) + match = cluster_1_pattern.search(dot_content) + if match: + return match.group(1) + else: + return None + +def parse_output_dot_content(cluster_1_content, target): + output_parent_nodes = [] + output_parent_nodes.append('output') + pattern = re.compile(r"(\w+)\s*->\s*(\w+)") + + for match in pattern.findall(cluster_1_content): # Using cluster_1_content here + parent, child = match + if child: + output_parent_nodes.append(child) + print("output",output_parent_nodes) + + return output_parent_nodes + +dot_file_path = "/home/saheli/work_collection/generated_by_graph_on_draw_6feaeffee44d4390b3f18293a4436825/image" +dot_content = read_dot_file(dot_file_path) +cluster_1_content = read_cluster_1_content(dot_content) +print("cluster_1_content",cluster_1_content) + +json_file_path = "parent_entries_dict.json" +json_file_path_output = "output_parent_entries_dict.json" + +with open(json_file_path, 'r') as f: + json_data = json.load(f) + +with open(json_file_path_output, 'r') as f: + json_data_output_entries = json.load(f) + +target = "image_classification_using_tf_py" +dot_relationships = {target: parse_dot_content(dot_content, target)} +dot_output_relationships = {target: parse_output_dot_content(cluster_1_content, target)} + +def test_compare_dot_and_json_for_target(): + assert set(json_data.get(target, [])) == set(dot_relationships.get(target, [])) + +def check_output_child_exists(dot_content): + pattern = re.compile(r"output\s+\[color=blue style=filled\]") + match = pattern.search(dot_content) + return bool(match) + +def test_compare_dot_and_json_for_target_output(): + assert set(json_data_output_entries.get(target, [])).issubset(set(dot_output_relationships.get(target, []))) + + # Assertion to ensure 'output' exists in cluster_1 if output_parent_entries are present. + if json_data_output_entries.get(target, []): + assert check_output_child_exists(dot_content) + +pytest.main(["-v", "-s"]) From d7bdfd9ab6a1c54122a06a1ac4bd36faba2be61c Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Mon, 9 Oct 2023 17:59:40 +0100 Subject: [PATCH 10/14] Add README.md for graph --- .../varia_collection/graph/README.md | 82 ++++++++++++++++++ .../varia_collection/graph/image.png | Bin 0 -> 340938 bytes 2 files changed, 82 insertions(+) create mode 100644 core_collection/varia_collection/graph/README.md create mode 100644 core_collection/varia_collection/graph/image.png diff --git a/core_collection/varia_collection/graph/README.md b/core_collection/varia_collection/graph/README.md new file mode 100644 index 00000000..cad3bf18 --- /dev/null +++ b/core_collection/varia_collection/graph/README.md @@ -0,0 +1,82 @@ +## Generating Hierarchy Graph +`AXS` command: +``` +axs byname graph , draw +``` +Eg. +``` +axs byname graph , draw image_classification_using_tf_py +``` + +![Alt text](image.png) + +The figure shows a dependency graph generated for `image_classification_using_tf_py` entry. + +- Red : target entry +- Coral: Parents of the target entry +- Blue: output node +- Lightblue: Parents of the output node + +If the run is successful, it should print `Graph is generated!` + +``` +saved to '/home/saheli/work_collection/generated_by_graph_on_draw_a579763d98044530962cc967ac659b28/data_axs.json' +byname_entries: ['base_imagenet_experiment'] +Graph is generated! +['^', 'byname', 'generated_by_graph_on_draw_generated_by_graph_on_draw_a579763d98044530962cc967ac659b28'] +``` +The image of the graph rendered in vector graphics, `image.svg` and `.dot` file are generated under `~/work_collection/generated_by_graph_on_draw_a579763d98044530962cc967ac659b28/` folder. + +The structure of the `.dot` file will look something like this: `image`. It can be interpreted as a normal text file. +``` +digraph { + node [shape=ellipse] + dpi=400 + subgraph cluster_0 { + style=dotted + label="Entry and Its Parent(s)" + image_classification_using_tf_py [color=red style=filled] + python_script -> image_classification_using_tf_py + base_benchmark_program -> image_classification_using_tf_py + base_benchmark_program [color=lightcoral style=filled] + python_script [color=lightcoral style=filled] + python_in_shell -> python_script + python_in_shell [color=lightcoral style=filled] + shell -> python_in_shell + shell [color=lightcoral style=filled] + } + output [color=blue style=filled] + image_classification_using_tf_py -> output + base_imagenet_experiment -> output + subgraph cluster_1 { + style=dotted + label="Parent(s) of the Output Entry" + base_imagenet_experiment [color=lightblue style=filled] + base_experiment -> base_imagenet_experiment + base_experiment [color=lightblue style=filled] + } +} +``` +## Running tests +The next step is to run the tests. + +### Step 1: +The first step is to run the `create_json.py` to generate two json files containing dictionaries containing all the contained entries obtained as keys from `bert`, `image_classification`, `object_detection` folders and corresponding values as the `_parent_entries` and `output_parent_entries` for each entry. +``` +python create_json.py +``` +
+output_parent_entries_dict.json  parent_entries_dict.json  
+ +### Step 2: +Next, to run the `test_parent_and_output_entries.py` file +``` +pytest test_parent_and_output_entries.py +``` +
+==================================================================================== 2 passed in 0.01s =====================================================================================
+collected 2 items
+
+test_parent_and_output_entries.py::test_compare_dot_and_json_for_target PASSED
+test_parent_and_output_entries.py::test_compare_dot_and_json_for_target_output PASSED
+ 
\ No newline at end of file diff --git a/core_collection/varia_collection/graph/image.png b/core_collection/varia_collection/graph/image.png new file mode 100644 index 0000000000000000000000000000000000000000..a3121db99595542d300c10db275d5360fa9b6d85 GIT binary patch literal 340938 zcmeFZdt8#)+Be=j?wxy{CY@*Z?3_GK)2P#wIisN|q0`vT978KB&oYw-Qc_Dr6a=Q} zSMGKmMomo+=-?q0A;m+YU`>;X2Pi>E6v$LeP)Gq06nJmDW^ZWPx=lx^&e2f;# zy6<(ZYkjZp^H((<-4roDib3k7aU&}JO1UzlYct-)nESl_gCeRhe@RaKP=^sti8@mY2CwX zhfA~W%q4p?Uj6xD66Zgwj{ozoR(HLR{q(0>wb_?)eC-8<^RVVe;EIN zY_VDUY|wsAbLS0d$kh1SYMqs*`5sY_eZOo=*xx$3f5TWCQv-fepU>a1SkAsx#L)L!Ogj=G%2RbbI|q2#rWcpJ{=)OnXtnl- zRVdN7%!qq`-6igkW#)OI-7qVOQ=T1&P2U5j7zK^Hg;kPXl&1i!9KJYv(5p+uRMKv= ztxae1JmyGO2`j?m!neSGsyadG6Y&naD{_aYhtLF{K-}i~w;114MiIZz8GY$K%Ug(A zdfoOjZ4ph#4UI zmuAz3a;DHFA*!0aIq&IN#Gh!1^eh;-=;c8xtOXvNsuLQmM_VZ;AC%PIg=8 z5oI{dZ~Q{4n!2-wxF6NM1bpx3xk}w(k;8tBP*+qzh2JjLjLz2a&;*t@wpw>^K4A&% zp6`wo-n7NO3)-Q)XhxxUFsf9dT~zAXde)9*3ezpV0?|6;e5WIo(UF*=H^0cyFV9i> zytj|5ZZA*8H)VSF|AG64aCWVQ7)+jlss2hrNxWEhC@R5 ze)u>_?bItO4C#IC$jRf1iETm_sz_yKL`j=aLjJThQtcG6(2x(`IlQirf^(<*O{^%Q zJC?R5V6Clm!aZQ+){VXjx7k*X_~U3EPUDNuzCSiD=kzZUs{G0^kK(G~({5OWG|3kD zb_z9VRE}?)hSI|K%^no_*UTDFg{r*h%e8-}A-(9{TyMFTjNt~Fy#ASPtdDz_<6mJ+ z=>wHv!TIoX4pOl-^kPP4iVFvsB99ffq~epq+|-*j+C2xhtk+iVSEa4VjNU~oVhFz8 zNDzZfRX#)O8BB6Yt*d$(oMIXA7ipzm&yTW>8xL-r9>`x!7pFuIMlAHT+cvPbx-hz> z)4H>EmSuV7LY<=dk!Hrd-pacFK+?V82+j+b9}sRIw7* zei|*k176%6dz)dM6dyt~&A6CnzI8~FL1CUwoAqOiszy~vb#AEm#VXfanLDC8 zp_hK0?VW$fN0?=~gWZ>2iIEmDidO1Il%160Qa{frw;}EjQpBXxtgniom%DTPSB9!IF9eK1TYUGhUS}f1B;UPoq@>I8Iz8Z!D!l#GruKCAbq-LM4 z3Thx`Fq>Z853$*veV1_kh3fh4%)I9gX&U+1f^2QZP@tvNL=zvHtosVf8MatIv(-Jy-V!lXMFf>=!cA-P=|o{edD>{ zg^e{ImVbJm^<|3!W@@={{Y_DY@RnUwmuQyot717?;r}F;aP6!7@88HQ8~FY!cS(f>XBQf53*{d?5`b+dl4y;T)qBAeR_}}W+DJLv2q{$W zX@Rg*b|9xCD& zF^+y!ZS~$U1zsDEoH&1*7E%WJ0u#P=?dV69kS~1|Rdgb^q+2pRwUt31ddQyI<_2{A{#ntyS8a8|Jdi8E$_Z-Pk z2AS(z4I|F)y+_?SsmYd<^?3)jA3AtJKS$E$e7A?{DTm@}6}~wVS%mT#QgH{g96rKG%va=A&Gn`p;l}FN`44)*+NG<0`CewP}_@#;DHFvCCdmaFqL~lcijEgHr z9u&<(X|~zvf}MAV(d2*;vMk5;yJ!Z=6^H>>vrIY>1z_eQrf*hH!Q3sthzwhiICmg# z6)K4+j9aJ$a9jMP!R?#90BSyV6J3htwY#~hi>jBNPX-YZly$`sYfGe_!q6Tb5OHlk zX_%e_^YPu&StGx6u3W^x*6xkoUfSq6ajLhGRgNDRy|@9RG0v{t0V}T>_s?@3<1d%g z)#l&x)~`obXQ}T3^SiqjbqcnCcFniQGtKf}q<|M(CFm}<1&kPL+Tl1k?la73RW-x9 zUS>Dd&A2&_cGX)gY5>+rMi#X7Wf%XvQog1Fz`XWz^$TGK6&^xC+^B<^803071Jy5d zzT-0ji4-55=du#@Z2BTAF)3qnlV{odC4j&lh98dSw^t?C&N2NhK70u6!?7qdV23NA;5f1BO2J#it9sTV$&0O^+_ZQt&u}9)2z)f}u zstskj{mZo-Q1QXU1NyKYmm%!;G@@59fz~L&+?pPoN4twcB4JqF17&nl{7@7JdwT7` z(y?dooR2F^LG`+e0X{Yaz@B+NUz#x z$k+yz=h4n@ai!VA*eXQlXqiLCll!lxM+sFXFKi{t8_DY&1{j3g_+_Gp#jR@NT6e!` zxtKP{XqaOjN+)9;cSNfuynVed?2dJ4uWDGT**DqEPcit;&atA*lR;TyWou?%i(Gb) zx}zrrNCk9P+8|#bjtTkH!b#h9x1 zn9!Frq4=1=BL3*Y9k6H~_`}rkLscjRDfc^=W!%#={)>Ov3JG+z?cOHUum=(Cu&REs zA3vT0gRb41_DyyQH^#~8mL`JoHj$< zMIWVFv}fdUV7zYXrDLg<4it*&;iiPkkqJE)pp)5SSpfiPJkS#`>R;i*>#sOm26@!m zkTePav-4JRQyJ%yQj$~zhYcM`N2~v`P3HOUf*|uhhOXP^&;R&Ep^e{1V;{uZU9M9saSi_G~jX+GZOu2kFL>mdkCZ+m_0%DDWr$6|y! zHj{T^+=W^SrAdzITablt}9n{Yn@fYN>^$F3or^OW14ka(M?%=zDYX!hAg%0FguuGfcD z_jxytOYbd^j{T zgXKThbVTd7`6|C#<$jQ>XunIX51}CUrt(u#H4TLeep+t9N&I}}RYKtt!bwa$Z#+!W z(S!m<$~=0dj6Jq~%GeRh*BwT3kDkIOJ1wv2FCxy?jkR|rd7O-`pXT(Y0x_y4G&(3^ zO`C6)9!J@J2iY}L*0HE|vt`wfl?P;d&+bd+2K>yJyU*Z* zeeZu(CHOj>>@&j53E0Rr`s=t+BhN>AQZ9{)QW<^i<|GreruSJORCq(>e5bv!Z}R$C z^JX`YKi1Ae_QMqUpE{)W*r{S!0y}Q3urmzxl8|UY_HyJ#b*S*iR{xHbOf9gBHPF3+8K1FZhBteOwf6 zH?D^Y`E|S)awm8`jF^lAallOA_WgkCXiXQ>ckfw<7J2z*7gw*s)es8g3sc3_D%L$B zY8S^B8BR`BFa5n{0Z7o6_ANeKB28ZR3L_?X=jiX<@mnUfjce}B`2PXUIWm8<72v1A-pqVQpc z^mZ|0Xg$mbWE!tgX!TvQLWKw1cs!*{4=-{}U(FDwNHBu}AX8LlGRY0xR0?&L~O;R_5> znab~}K{uB4+~h?mRmY&8tEr8tKyZd_698EfmXsUHsz42IDlmgD210=^K<1aFV7X@Z zNT4BCGZZxvQ=1DUV(bgjkSVB)g<6tkHaeA?J9G5?cLI@E9V;<_eyiYwJnLU})83u{ zCj(QxnrkWkOw$4gZbUz!CC(2vSd!;=z}CXH$R!Bc%`_`)ypO8lfX zAfLWLdRQMaK#_*!iTrnatxx$K&p^MtBa5qwv}wuuOZoLK$8(^vpwi7MR$n>ZCL`-o z`|JA`Kd0A)i03GWC57I^p}psaYh~sdZOD}N(LVS5hXHDOU%7w%F|2P8hX^s2APGWp$}^27U42~ZdNlK>f5cpRXE zP7+HrMaxAis_WJqU#zfh%*&@DGhkmb)EqLE0~tFq0tg@6`zYhVMIwOV^zqyfN|rko zfc$udb29XH9fxp-cj>d)gC>$6nfDzVNcqM^Ar)vibo9vBYwpohamxPegc`UcXnjt0 z9OcBr{oLu1PSQfj)KhNtPe2-9b@feq@KN5V||DVxCyg}(dX60usa-W*G_g* z*M&R4)HM%6Ymj(SD!EGT;yDYn_q#{O zipo@up)lZH4Q0Teb;Js97V!b0Z2FWmb%DAwgo5K9$S!CrjP+`$2*6e%J?5ces)qqn z0jM^U*O@Zat9U!Y(WqTOb_#b2$HU_;fgaW#Q>~k_&8L6~Ys_w~FqG#=A}f4GUY`;d zRnJxTOr&evn4(KHM8I$h6UXH#1K-J0x4^UHFe$O7niB}1c(?_@v~~qxBANnt2~UgKC4qdJ z2%*mb6AL9`X8|Cq2atcbHeiH6=-j&j1G-6u8dV1t0Z!L2c2-^&Dq(CV18Ita06B=Q zGQ!meW@aNfgjnD$9S;Yn9~GX;m?NzXAK}51Eotc1ij}hbnu7ic%wSzOJ{i~8w;#pV z9ZYoH3Ip&udhZ8E090QMi;qy%@%q9rjUU}^J&?+vS_3~X4446w7?MgXsvdGK*Ve?= zOhH#w!$(4leSsQ)uK0}uD5uBmX-TD1>ucap;mwm6S9RUUkq{|V)G=2BAO#-f6d=P4 zYJn?Y;GUPzV?XCiJ|9ovbZ?}6mi@VoOKHj+M{e}q0_Lbxdq(`_Z0n*fbs(3va@JB* zHb*pW;m}H?44|kT7`|DNAi_23O8|+vrOao9AO?8MLb7^A!yaB7|sWC6hNy?If3v2xi0KItv#IKbqFSu>mR>TY! z+&MaS2V$Cz506-&-j1daxNS>&4MlTACY*YB&q5h+ospQWJYNT7N)O=6{u4=QzHfzjx63yx)&Q&qDZC?ZBW4JtaZJ2J1r{PeU$$;iap! zJJhDBJaQape7ag-)5Nr{@OvC$RDBS=E0v+TpJp?X^+ok_f?MG^1Duh;0>HPj13E<| zqQ>Pfn=mJZ$9>fT-_!_cUApm`FkiLfM{@7-uEl2w#sl;_;6e`2$C22jkNxJim@_ae z)eo0|NZ5DWMwa~rvBU4v%jKv@U>g2~*`P6C9)PWZxhcqx83dG~RvRMnKmmJ5TPOq@ zhvVv&psQhoj>v)U#v52f$7xhOy&_=wP6wxVadY%YsCaV{S{+&8w|mdS)NX+1Fq1Ps zGu_cP;S~hnA3m}P9C%hZH@U2KV`}{K>r1!by`Aie6(3yeozECgX+n&r)CP|yL4lNe zMWH(gj5Hraa^d(=%GN?-lS@G943)if44gezuy(I5d}>~uN}rSD;BrPJ=^AP(bn0M! z!*mEGa_!!nz5@q_ZJ?P0?YX)$sa-H~>&RHF|gKxV-Y}xD&AB(g~z5`vKFN0Ak9M5xX#J z*9uOoF4K10o|jY>R0O0~Y4^aPVh=BFxli)Y^eFsuY(*BJJQFv2F>r{_ zYk+8ys__d!1z=7qh#jfD9ns@HPVkVaWdJ)nfaN0T>z#EqLuDvKxgeZKMri5K>o!Kf>*y|st%;KHvs;sjT}d6c+Oi{-?)2v!X9{ttZr;P zP}0ZGZ3-SI^PKMhybYkIY|dsL65y&nBhCP&7!S^OO;?bBb$(EHYO*&QAgo%b(SKeg z1Z%*QN;EwEq!CE|^b3_8(W3G$Fc;v;`GDULI{@Q1j1lIX_G5q)RV;uge*q-QdSFo) zQxf2{AQENE(oTT43?TR`BR3M_IGi~dDg{)SqNDJP=c6>cALfyx8S8LBFa6D6c zbr}z)08|`D20jcS)|0mAUx1<^T@2f@+`tJ1!6)44Hh!TdHnq1dT)MT{ApoTU3MN?+ zFaqE9RC(+Fcf^Sv{THv_3LUoIH~-7+|MHL%MB}tzw)vkv-^-FxQX1COGT2~=Q;Sq8 zwcoR+X?~DI|KsBt??8<=Qa2GP`t{dee|ZK}*L(vW6>Tn^8w(@RW(P}h5(bq+ zWs`)a`!Q`-u^#d4jsgGfZ>(4gQX83-COZNYn9U3$HThp{=ss~`JA$)*TBkjSG~Gz$l(ds}(DaYZIZEaDjHZfF#TOg0$RcIZiri&VpE8^L3+%;55s9 zJ~AtfonmT^*tX65$;mgPO}8S@p%$B2lWoDQSW$Yt#Ux_Vaw#?+;RJ3WHK3VNI|@_7Qe2BNRf z_y+VaFJ!Vigw&Wbh$3pCYZLve6vF`LcyicJ*k%awSqz)0^# zTM_4ZuX52kFw$0r!DEdji~dJ@?@LXQmQ$?7Wsz{L9@2TR*lgcW(jN!dD2lgyG%kGk zXpBq|)z^)Gbi&{egh1nRy6iw z-#@+R6Q7mHS`6QuXBq|&imKa#X)nsn*?|UCjek~MnCf*j{N~Lxw5Gw{X-^Y}>uNv+ zHU^TjEZ*5`=Scp>v&&B`Cf(C`7)@rn6uw*|zF?V^t@oe@OWAE_J{~KxQ#}d_$93TJ zv!%k!g1K7-&&GWBd_tyz>`YPdxaBEDBkpZGbCICi@xd9aW)P8)66pk%a!|4Xdq?}0 zVkJ5)Z@n@{wu2u`f!(!sG5$*0q4{3@Y!)!ThgK_m`mWtRp}pNFeL60-3n*ZT$411X zC+m@u4J$Fd1!V(<#H8Gm1{+mgTbQH&+1Xfs4N}+qoiDD};E&Y4@Yk(kb(_zwp|wNu znEsUHcow#OAlMqLe}i4vbFliDuW0}CCV$M@>19ktFvK)5n1;@Qda&fJow>`aV!@sf zQt8%V+cz7J)M`}i26$^e=s_QrhddsA`t+M(p!le774-qIL^_^rj@A$;#O5G(xk9`2 zjmIAU*oWR2#mi?wx=orDsLlA3IA=wNd?p-2uB>@RKbj zv|U8TKSnx%>;Vv*1bNiQTti2oMZa-oO*SVn9IrsYt7c;IuT$ z4$@UnJjPZhTGdS{ej1^--uCQiKGeJZ6EkUJHHKA?GZXt=3eSo z`#@UsPfptt3`^=;lMIk7-w6VWb%z_%o-8Eotd*V#wuMfV#A7>i#u~(HH(S87EN|OG zuj7cmt*yEi_p}`IC8!IwX-x$_i&;Y|rhU(`t|#u0{c`y5`@#HkT$He~0wh@+u_L2< z5(;K6?WEUISLS!^_~5YYlWwm-3{%ck(XBkyP41MVrwhYMC*G{??99-Oiyx=e@v9ab zzS$M>YGc^6`MvBHf8T85B~pO5XpufiAd%@S$@?ZmvPct&mW8qfrtiIJ?{Bem{o3N5 zPg>1w$WELx8L1&=HjVgdg$*+#XfL!sm02ZeXdlxlH&x4=$v~{3}Ppp`*;j> zK3u2O=8Chs6oOFX+xPdG8)b|Bd1xvvKUDK6!92sUkI%oF&RTzf9wBI35k zdDNzd47-W+Ktr~!0zcy^EM@DO(aKH)!Zh4wuLxzIhnJ|DtirKv2~yOPHGKx%yuyiL zbTr=VFFbY_VtP)>f7~Fv%zl#5w|JA8v|P|i#`J}e;x6#ilNY+p>)}F*L1vCIt%EaL zD4T64!BhsjJ)^GxT1?8PmGoT+mt@Okk?QB3Lcx2n0>^R6}t$@qVfTFCfn?OCy{b7!fcw3x#(LXz-%k5AUENI_#(6}gq_26H}!`Ysjv4^&n zA25SfeEt-SW%Upg(AFoUNlrV6=uNE-7X;(C$~HSr3{(l`hLN3VI%Z6_Dz@JzV=``v z_T<5#Czmj-#7|o5vFA;)dF%1Ua2NVRuuH2`_|X`BK*1Ao!4J$ZN==|Xf=x^?_;A_w zpE%N<&Ad`9gDv0xEH&R(xFp2v8u1Y@cUBAKV+iF>9{V~AE+Tj8<4+@2#}3&6j;^c{ zw%?k$k!jEAel|+RHQDrQlOQ?zeY$s6JkhJf#x&J59Os$rtksqZ->m~nEhQ*j+R=1K z+|_fTH7c3~c@FaLqF!i?jzkDkM(K2&LziHn)lM`oii;QZt*nZ@VnB~KZlLAdLM7Sr zXo6>74%H?cHL$FI_?`}CfC5ns{L*kyNg+Fq$9mFB4)l*5Y~Y&Km2(aaVG}Ds7{y|* z%OeR-)okWeg4%MS9!?IlvTGLMHo}m#_JZtb)Xs2f%lv@>gpyzd3S=-;`Iq1j-DVkq zP;;PVi)}sC7yd>J-ylB?t~P;=9*r4sb4MfrC~lel#xfKI&5$Ov_-4lbA%JwcvdgdeCrgLYn%@6hn*GOw|9V@ zLHK60-by~OTl|^q?6}Af_~BPE>oTidprbuKhx*nUm@CVfEiJxOs?Oa;s0!;*n*`T& zqul4nH%kRjQ`<)mYMKl^5y&@&U}X&*M-) zjl>Ix^<1XVt_Ne%vY!9FGi&zGomc?o`*ZuYBWM6sYubk)KU#3^?PjmN;E5vDxE}V} z%ag@)7|eI`-C9gP8sX9Efn1z$P!hVS^lOWWAWRaB)dvq>&d(2rUM@)Vh{ylEn1pRG zh8=~K2BIG4E`!fJA34!t#3qdqw!CgDYa) z=|)FXz`5RVQj;WG1L|2Bj_H}-i8NH*V&*+BkNhh>)^9htiQ#T5dc^|!FSoViE)_Jb zx%kBghw~zNPxE$`9-;$4EHJj(32#;=c3yok)RQ@LmtMmdL>Nb3iThFEjm5Sia|94x z`uh&`)>WjmM=&Kkp)}r8$mrEil<~0>;CA)}y6mi7LSO3zPZv6{f)zMY4{9mjLC0&U#^)K->})S1B_5Wj4iUAyfGdsn@)We{xgify!6dRJ5oS5DgLg?zAnLa=#h zOj{yY{oAh297B@Mme#bgavu3gek-QCoiAIMdGAf3VQu@n&6$x~ zp5=%8Dv}EKVl!tftUt;+_h^)hrMo|YVmb{kQuRMLaR?o1dSTgUR5*3VpNSp7r1dSF z8zcKo*I4%|Uf7Z8)oYHlYCWadn{NWe2knq)J1&n6h`X@yKp7GH=0@{P%mN}qer~MR z?~Jv+Ul4+MvbMD6Q4P6``M$UX!TB}EDSxdkjN(EiSzG(h<_D$sZ^iVn@t8>tqd#n7 zTDv0FkE_J2L^w-3eof3;I6bB<6)e4pYL(=jX`On^>dL5nq(cled+z<*8*V38wgq7j zyil-meUhz+#w9}!#dduKYb;?+*U-Z!RMh~F;nq6cje?E%#KpyWMsX$LDYVc-($iD^>7=f8e+?YWm^rnKz3(lB<BjwXq zS{=jg33`0D9<1^n@=C7EO+DU0^Yyk3GCG9M=DHS@G^KZ(mPR!;JiMa9_M$K zmHzc4Y^p zl{JV#T-FfNE?%SxPt~?w=gA^?_~kX@yWmW^WfO+$4$#zNl-@909eK+1Ei31H7=+cE zCVN!|h(7=naVzU;ybH-K6&ud2*5o4*FiaBdQ2)$7nZ~M?-HL$8ou4Z1uo^SjDJfy1 z89SHepbgYS$-~gJl!EklUBdx{MhNP>{J3#@N~vJ9Z9y?vsHTDg%xvSY%Pus1J(<$S z2rx`;C{`A1Cul(sP+!giVP-7sI_pE{8hVd+uwwL8wW4Q`9b+riO&F&KbA``sU7G6c zY$ADYMs(|qvRIh$-JsGoVD&Vl4Z%DigvHEOjHJDY3fGM}HBIt+l}*;_W>0*3g~&QE zPHkA0(Rnz7)VKsG6^;boRGez1C69oY8M#z6I6FNFa!0BP-ZOFyn+0kzBCh*tbD0Ei$}%LGjGJR7k6+0CnW_`DDV*TsOfHkHduCFw;4S zzD+ME46vNWzB#}XsU%>${Im z{<}n47W>;{nSK-%Yd(BXLxIFI8c{;dtaX~Y?3q6<wY-U5)s9@4i7Q@EHw#NCLQAVx_rx$0D>+|s-_Qmr%p)`7% znQZT{)XKj03OMuBvhu9SUg1E0IM^)`xB3c7&7-}FLcF#MJ=H3j@W`A5g7jBsg5b92 zWi>3FASfJgX!MiqZigOSt5+hD-k;i8Tq3blth(exVB_d)1 z+{HZ9yCOl3Ov&Oi^Z5>n2gRXjS=!1s6=eHIlMHxTPC*ytgRQj^(r8yc8-N1;C@I_1GU*Qqq zM|0b678W9w|Ez58uFzkxTyFH>2`2fCig~!2F5y90-*8N78g}t|=e|Fo=1SZ5#$7e23xzQ&rV1 z(D_QwW-@0K%*(SUTb&m>LS#(Bo|uU0bP^RRyZtFaQKad4j$D1oMK3X6t%GbPBjHFN zZTp4GElMdmIb9ZTCe+$SQ08PiVRG5XgRIP%#lBZUT3_eJvlgpj74lf==}hM0Pcgn; z@qDnevSX#(-~Z(v{dG-eN-7K*&J)z|;mUVXcZ5Z?pqLq4NE6+^7Sog5H&CS&oK~OG z0p&Lmj)4%@+2sSnAzKr^KG$->X5yM1aK5g8HE%gk7;A;_Y~4BKNk`E8@6*_6i1;>S zhcVo_rJ90%(15X4=2+V86*Voc*ZF{qea*iQ9|_S_7Aoo&Y(?kbVWWCIQZAqL2TNf4 zM*L0vDd*GUyw5$y@;mW^4AAR6EzetkfSrQ(P-|ghwt{!#6B8oTgDS0>UN#>oe9iO~ z*_wuICrT~9f|VYmuXFjJDP?;)$>49wVrhrq$|iWOs3KS-7+$s$6laRhA*zZ6R~m2h z?^U&wEayL2gRC^6(-uxaP+6g^toOsr6_0KKG?U#%!#`gWcg&qC){&bCuM_r>KuJpR z{TTDkV~0u7<&G&1+Q3;*-td$~WQV#dmj-qqvI-vi&>hjPSGFFf_M>{wZ;xGjsvPj$ z{wfX)NO!*+$an+_m8WGT(Nf@WixMGUD)Yz8z49-}!?Uhj`8%mL;cUgMVR!K)fkLL$ zOeTUN3KcgtD31yQ3&Kf?JM}jF z3o0DiEYOi4Q7rEbMOm+ND;>9b%|5QH=Vm0e_146Jw5-`G`x?LK1BK|cOQvFyCHJc2 zi7F}G9(;z^U+@6!-ZjyRSI|XM85?a(Lpw+OgsPtI?*1qzVHOlH8R_8Z(83RzQarsC zs#sP(VdLHo`p?%oHb472xi>I72eph{+NXO8u@zdY?H^SnMo!pTmUu!iep8~OO-av+ z;=YO_8Y!)IA>+kT1%Q_#QJs}hy_Jg@oSS>b7;5eQ$EY|8_sB-*v)kJyQvm2RfcOg9t zt~2ftTie#F#P;JNb<}>E58H%)Cs=3&#G=(@-N1qB31OwX^2Ua$#hR@>%_>NuZg=y= z@_xE>6SL8R&&x0Nj6H7`_tlw^6U}Ro&2OOxS@)!?*%mlU*@&azhyBi7wWj)Dh5f&S4 zy~VFhow)Y26!Z5^((V>#)34Z0WsMc6`(pIiM;{4qC1OEGy4Z)9fb6jT76~M^lm6Ln z3`~nRuv7DFeuAMIh+!vnbWt5!To3pN3F(o7B$=kOSv~3BJC{Du4X|K}Dccfn>IvLX zp*0Sk)C1k&xl$OiFGAm_X0phWZT)K>#V05au^(qVL8rIIcy)ZGWM7S0#;hf(` z{s-&Nj03RR|NZ30_sp++!4bAH-HOqKx1bcT&2bs6-_+f2)}hSOKx)6f6vx8pPyw)T z)ilNPOjFP2OUo_fYxnIP_q43kSAf3uxe&Usk(P5Qe`gWwTx?hT*>1L>9MGr5F>Og5 z7t*KCAv~E6x@hs|iGZ#l*EWeU?*Y{pTp5n2>!#DU13Ma*a-N(R2u{npbnhm*`Q|{? z#LMRN&a{b};;xLK_}+JM{+o29(2?b|VFQ@Y3rF%*I5>)yTd-Yr8<51=zQlci*P;FN1sYs{IE z0qZns#S?mC|IJ{xv=@Y(pstR7IXZzF0k;*-Jk%iNmjn9xBf8t{W5-iRIIjqIKY4Ub z`pW)Y>=~jb>j8~vFfuPq-4s7**VK%33x+|l%D1;8Cz#15WZJ@g{|?Pbr$F%3B4v?4 zujo|2a93Ol$9E(I_?-{(W%V9NA zmVWLn@?u6VGlfg0ve{v=VPV48Lnn)KjQ9Jy`_UW0h!^rueZe)xze=k+iIf9Y!?9ZdmNw-c?17x}fwy$wMtUPE+{0FfxJWO$tyuIa15G zdCm?Fi-N0ob)aR(ZG=YdG!ICrBTDY6BML_)SUia9$9o8gz4HcJ6f zg*GH=1xc08Rsb@ga*9*ouH=G&GttIYS+l-x0ivtn6*MH^4D;E6fBwn4WYj4NEGVjQ|NS{&%I3sc=xDraRT zhMgPKD$NZ^kLi8jQ=%6vP4YV}?^pc2L9EjyZht+_54`h~G-L1V&^+_ZeB({kpI#MF zU&kG&rnio@h=ea9B~g(wBaJyf;45e~oG5b0q=nLZdorHn1;zVM#==XTn@t-w6C7_o zh~G4NAkt*$XCM`?+r;``XbPpeWm%LEgYcy`zmhgz+kWiuj=dj1NM1m#WU~&Dw#@un zXF*^838OrXmW_YKpOWp@w}&~&)4Jf1B(i^8aH;!0+=7Qqps$X^>`M$q6mYJ1M0=gK z!tNu9R>gTUu1Jmpy}6Yr5{l<5I&&6*NRbwi-h1VIYqU>PBg{W0IM=1MB7y+|1x_sT z!<-Tdnw{4-;RqRL(VjI^h|pA43qf{8A_eD~BIM(-Ap#)^nHs-#^S09H;Gf>D(EaUr z#gBD8HH!)*iC#8izLB|uKv7LU9Mk0z^6K0~nRIC6^yw+z)|T|p4Ma%A7mb+*_A&Xn z5pcz?E4zU0_%{Ds?MWxUzV0=(MOe9R+{UGP{0ILbY8yr1P!Ku!LmqiO(N(k|LIgU7mR6Cu0MN-RA_Uc$bs*| z;Wj%_I3ItnbNhm>Psl{ECM&DX|HayShc%H!al@8XR}tJ@MHB?qbrk^tK>|{vAfoh= z5a|k1Lz7OZ>H;bvA|McYCkaWwP(!sKQbG$MbW|WfLWfWSN#1c?c75wV-#0u@0%S6C z@10YB=iGDLC`b#!1Ir>?=@P7fm8oJQJA+BH^h8TmNuvq~GSr5aMyu^(b0`#a7#%*? zX3-l!q|cQpdr#iV$P`6cyeTmAv@#cP7cEXbcZgmSoP|wZ&qANe@Lqo|4S<*DGZchM z$~a#-14oV8scsla{D>LM3P5N9WOho@tiKH_KwF0B5o`c67^rlY=< z>QHC(#Pt_}*|Ws$g<8hvw~xOkuYC8KZKi*_>;t4rAZV#hbWKr~Q7BLxqGUQV7-x{7 zT(Jb&1eB;*XegT*rC5&v@L-Mxdy%^#(=WsMN^Ru49pAEKDst(D{ap}0KQ{tmZwk41c ztIzB(=gN@kJ67|Z=cJ@#CDNa5L^)GRJ`Z-gYyZ$IzO(cz8Q+3Ojy>!c};KTTz$mr!KTH<-{u zpIL)sEQD~DJ~_v}I2y3RUXL@rWM0{zU=wJXF&3OH!d?nyEXagn8+K;eD^{CYk(mtq zRzn4dIQfX^wT&jueeJOz=5wvuJQwHU34WWXbAE1%v&v-DI}8%=BssT)7Dlev09&a6 zSFM3Cw)`TX&yQ*iYfqK|Vyi$((XW5k=U!4y_RP86)Pb|ErN2;FD3%HN!ow5Z<+;?> z1t=>l0m(wTNJgY*nplkLgnfQw_{%Kn$WUQ`y^>XfsgX;OGSF>t_PO&t-LD z>|u{X#m=KN##i{5nP;Pmr8U95nq?r0+piMP*XbmJ5fce6S*Tx}9V+uNoL)7Y#6Vro zUie}Ox^8I5T;G6&?{iTOU5lL`qb7S^PA$pFd5Ru{J#uzb$+{A}enVe$)O>qm4kMPS zW?j^Iw4Vr)1TxEJY7)8lHTI{?Hx_a=g$JWIw2nh8n)r%rpGAB zi=nw9p?2ESHtyl`Dwm;RhR3KYfbq2*iGkbA2H0@6=p!4HFGGzRD8$Y~6$VZw?2S6J z>{!3H`pPnZnJ$(b%2YAdW>xhcfQ_4h*Yd*AW6Ly2dTg>k3t?A^2#&@C+||d9twa%L z#lq@50=NAt9JYLUGec2)bvqhr+`b9s411&BKEoSa!*CP6s%+|Wg~0RHbiAZ$m3vc} zt!AeAn4JN8WYx)be%qnZ)Rmf`P48ZKU%_Yqs!L>?HZpx6zg(Kf!^dze^$8Bb2D89D+|y1`B=X# zeoJ&CH<cNS@(rAlr3dCNz`~GzF`baePSMHO&7MZ*{>^um-MK?a@K6Q1i$uJ zK=z~XeeXrX4cRMQTrg9pk(0w}auPvlXM*pv6cWcTtYyri&QoAQjCbv0W{a#@fHyh# zomdu_gSRbiWCw(og>eKp*V$YSjcdVW*m4G0sDS!152BqP)>?T-fBdLCI2i3{IFC~^ z95uJ)Ea53)9^6}_oX8C3&Qpg9+E7*h6xG^H(H3NpX2z{r3vK{ULG*>eQ0*+RrDU>= z_2LdWoWNP(_J~h+g|AlKnqmU+dC@+Zov+*~PCu8K!0fcFq!gZ4199jwPg&|ZFFQY9 z+xMO&@F<`mEr)&tz{(5C}VtKyi_N)$d;()u;5gqrU3Q&M{q^tQ``)Gb)VWW|q zfOm(uv&NcCSL1>XWF@QvA(KJfqDs@5R8JR=vqi7MZ#+J(&73rib4EDc;21iK5$U2+ zx!y_7`i1-)1S`LGMPq*NJzV!tddtpKIfPDTeFbmpt8IO_r{9v$hPR>!frD-EbxS<; zn_uBXuPGcY`HIez809hz?^`ptqez}s)6ty8HZI?$=5 zCm#*fQ1)>Kj5WPG??Xk!ZrFpZp%vcH=KK2A)?{Vo;5Y@=xU9`e0JE>K2eazy*%eYRI-u9>n(o~qac?RU>k&?-VE zK=nKCRuRk7GK?gu^eoGr(3POY-%dMK{`y;*p@_nIaLFBDhj@d!K=#v?iL3!lp*?#x zFK-rn`xHn{jwb9C+|I}4X~)sww%bUcLV@SZr}%RVF^5#XrM3kI9+>LM*2uZX8}}DT zezJ!XQtaLo@*>QSX)ycYc#*GjuA!wOe)i*546&>Z#Rwo1{m){(D|7O+5%O|plBV}3 zdzOK};87{&)RoBaULi0$hx5hh_UI?!{^N~IOIGYS7ZkdXs_kosFskn3WX5*Srcs_WO5RT%ubD05ag9)GmW}Mqj;jBj-MwRpoeO`)R zk9&wM&Y;wxYlexzQx2gU;ajh5Hk)6W>~BP;IyK6!ZDT~2#px2LC{GQb zIRD)H_k!>7<y2tl)bm zPMz%n001q%cK&)3nxoI6_8r-*!wJ&1hnNq>7zy=}R58!XC0@U0+r+_QLyUzO!)>%9 zSs~p`xDk=Z+e;TJyv+;rET+7zq2X3)_S&Fenh&cZxgmR;HR{BiC9?&2@bHO``Wc}M z&laTrOhoA<9SWwSY)Gg?V%}65jJcX+MNUeiu}%e>ke$MAH?GYdSN8MO%d0o`OPyFy zbm|Kh^{bueIOGiF^DbJoTrUVk`a<5O42mYmQg(ty8y;Bm1iY?D!d>)Sr&v-tDvV7O z%COieXn|Z%s;(I&_(fch*lIL;HS@G+f?A83dShLfPiGnzx8BE)IPpy4L_0clIlxpp z)!m=~f=hMC%M(ls)rbpS$FS;@)@?aE6Uwp{#+L)2u&&X*7#SHCKg{oGJP5qzBG2ZD zxg%|&>#a_F?+(@Me1FhOJIU6IYGwL;^D;y;1O=A+mm;WymKvY7MHI7!Pnq* z=6Pb3_6AFnH%XF|`@d0`G8 zSBB_+juH@)%T8-^_^|6&zC^rRU2Ve_RiwHUuSMwgKw^R%`ll-zki8l!Pug;{<%50i z96v65V4vuE(LRNbCJMEs_dBPMDp}Sq9iy>@eb`&nh?|8`P#H15c_(lmL#8o@N|UqD zf%r44&K>Y^|FgXOWiLh7oPU+yuUXZx7O95p2=0R~AnT_|>gssg24|};cd8Kkt~ZlF zpFv`4+w9SoBO~2AQ@TTP@BOcSwD0F%P|knbYB-B>QqSuOV?EgVt+!VQKBRZTfsY-W zIh@n*5)rq74*nBeT2tzN=AR88S!Z_H^4r5wj$p@!=u>pGA~kL&nX#HV{$nTOg7D*j z-^CA&xm}=9o0-wYq$H9fR8F&&xGo_S`-V=bdp7vS z`!Ko6=n5W=PId7277)SL*)&dq$f`!IpS{i#2T`V z*rRbX9lrQKD)K$7L!eb2WBofiHxCoI^9VXGfjg({t>n<_0&NR|Rph(9utePf4KoeS zz6h}2f9ilwNJkk7LYlsqvT=F(+F(hek>a+)hK}2-cTRj2hGA(YaxFcXF_F3EALsJC zYn<1$%xC9$9nA2q4)<(eo_M$ec`o|d>_TjtfCz-!U3}qKthh&KvV|OcJvqp>Hf{d! zQp4POUx(8riDdmWACODopAg(+A_+=b+K>H!qISr3IFZ6SB+Zx5Mm*xb9F;hAIjhJ1 zMM6-Vi9$}@V3&)Jo-Qo}N9_ns?5N2w#5k`9l=XTonuA*MhAvMBN!_c=bH<(X!8SOI z54!5y)2clvub_fis5UGp@IivPuQIuV?TD=kU83(qCCy`;va<5XW1NUfgW>6&u4Y18 zPqv&Bld_%Rz##(g>FMj&Q2YVt6e>?j_uPosvPG4Pdh&m=V_OH_?NBa<@4q1X5B_Y66 zayoImA!itdpV1z-qzZXX@;|3gM(s~ta)4esnTYByPi=(B4f#UUMOPm`%j>m- zcE>CS#q!Dq+?EPMr{FhNdAH`5uX-)dpZD-|X3*aJHXP&toKk(vaU+rU03Y!_9`-hMA9Zx2#9yw;S#F^sp8t1u6Zk zl{bT(!;UKbq_SHQsXFjr$s()D67L$v&Zo3rLu6uaj+N^dB%EHYasS!Tw1D+WNkrV; z%?xs}A?SvxNSso`^{x4aH`_HrcX+y3u95)gg&(!go+Q1=%Jl$hR->~Rr7ZDNiy2pJm7;?_%vGe$twzzkoee^L9Cp%iF)`A z8(XUy&}u*%^E@H5q|%#)w6-?2YqeUeiFnqd&a3(xjC&8iHD~USV9wvs>Lz)vo;(O` zCt>P1`>h++&eXR+pJ=TcyeK^S7=&> zJ~Alaw>+Yh(U{aX8vBS9eN6Jy^Wu~g>N-80MjIRRuxTuTC)-e_B-@FqqOW9zuoGgB z&{GR^dJUCH@9LV3^{FZ!d*Z6QS8FP%@i$08`m3%g_t)Ses!gbt3}=%U*ma1WzlLvX z$ex`}u3AVQH*-In*mu$0)m|-!p_mL=1)Z3o#}`>ZN^OkFAds_Jee?`nN6WEpT^Vai zGbTpj=AlH-%@e%a{70KRwu4T@%ER^R)Q*ym)&Tvem?qR~*5kHeWF%s1-K^Id5=JoGuO9hM0by+BA8d)CdWvV@UE0Z5Vo~9p0khL9 zDCbTg!)4sg77wu@g`x{Hk#I_oC{nBl*?4hsQF^8mn`U8g+qvL!?&qanLs>9KU*AgG z2R?J|*?X7#z>?tf}NB#y91YDd>twD@XY6*7ke3%UQ%L2SYf(M>2*$Njl%mQn`*Q>^57Keu+il+ zaxHJ1)eU>C1kACxOBXW?oP$CwXXm9HUeQzs-#{%i1eN?PqD7U^@wW^bMsjgBaxL`p zKBNY3EgwdZds>%U=b1?OUP7FXBU>DcAMcA?#nY#zJLz+PL@{|PF~uY4SlMdJhq~AK z)Y-H93|B=Wb;6sCfa=DaX1-{iI=ltxI@wV(lUy`x)hN-H(16l2BbKR_I8(C?z_Nv7 zV^1(Y`z$t$Hmm}BBsoS^3Xh4^cT7RGIdlEb1{(u>gE^H89peD_ndq!_M!1nHlAw}G966NjjfSry#dA}~HdJKE3g(gkj9I{7>2R)c^3q3z_r6-tM7 zQojvlqj5ux4d#r8=ZUIupV>4Lb5$@({5nvFS3<}})*GAf*%kz+Ms!vijEG*Jm|i0b z*!09w-pKpkJWd`}?jdAjoNT*oIfmo?aW-}NHQ4fg9v64d4wor}!E~5$vT6Y3ikD^h zM!-0gyT;wlv}yE*@uZe0$fXV4vFMxUall?;$zLX89->nIxGr?!wq%vJ=`0pxO)M)R z>FJL(yk9Zv?@MB#YyuZrSeV8j1H4TGhT>-YG{htgQ&pa^?kYtoXlQuCCrpp;3Rw@} z0SDGOY-u^2LQ&v3=J716O!wR9bTauOxoL64L;xd}ayYH3L&3Ta z8~LoCY|K2?3{o9&=s#^zZ)H|cT9U7H3}=;2?zJ@|jqQ^n$)s-i z1eAMiLF?DwFV1ddajd{Qvlt=~(tXqZ#_^)eZl`djxZ3)s?2o~Zk09MctLCv&W*vS@ z$S~G~=nR($<6=0=+O+h>%EDoW!<4SyRPSM_QPmDUzfjLn;o*cnRg|+FW6b5 zRhL^_kj0G+TOv@Ik6{88)$tGor}a^~zPm>W>NoZK{os=8Las-uIvw%0W7m@HM(dHt z45NT#-pUe8;%(y8hzK9M_^Poa2`)2(=dRbXvbY=5 zezWVy*93F-0<-ckCu^!L#ue_atH$P04&Vr|;<&ax*4(*A9v+3|uMOcCKWp1fEzO*V z#e87d+`H%SDT9Y3d18j{)S;*5^J%Z;j%>uCJiTu|R(rtQ#vFl>f{0%z4E#X0CEkF$ za*vtj_t*TgYZzL1SXZFJy>n|AetI;e7A1sdTgmK9fM>H~z?buRF5niuh)Q8RpO(iOg@em*Q8_RGn=FId>C~v{L=mQY^M??oFIN9gBRlH~8 z(2rJeaG{M(+Uvg2qf%MwDPi~O8R3=@vm zuPD|XL53f66fs@Q$y4^Lvn52=CS}+{Kc2~>f3ALaoPf+!D;dn25ENF}zI*>pi-9_t zb4QPv#808qt{gQ4O4R^ny8i4^U+KYZBIwF?v7@0XPPVpVDZ=hc#6biSs;}yw<$p}# z6oZ;`n=szeA$#gD+^g7@S!y2Urcop!+u{_`R3b^2*dF*QmKiX3dTJ!9Z4e~omRM0P z#XKe|H{J4pbVe=LzNJWB)}xca35$I$N}k!we<3P6@%X`(8mTG1%Qji@1Qh$Lan@Fc zrfG}3Um!%=k;T87JcWlrA$mtX^zk2&xUcYMFD1__dCSdIn`M{iJO&|~Q&5pegUKDy+6Kw1!*P!%7L-#mmGgVvO7pIZ7~3uaM5lyHo!Czcb)U}- zpvij9@cz{iL^J)c2>ty8Z1lLvV)qjkiIX8WOx#Av* zYsIu5Nj%=hIyg12FufIjT3F3>eRLrE!i5X+K6B3p31>Lzf{do^#fY&{mn|m#v#^)0fzVnMNhNnNg2i}e zu?=^|*7l%=ab)em6UVmu_%BH&x7YfaNmQ7{UBKI|Tm}(Oadp+RMGy_^Wx2HnJ;x05Y@qcP zMzUE@iB#hpE7O8sO`6=oFO3yA4`6PU7TR6N>+sir+CnO>RS}6hj=}6UPdCZNBuHmS z$yYU7*+Y-6GmjpA1Es`~To%l+=_rXS|wUe;ASqC2t&L(Ee( zph@0?b+%d{A74R{tl^@w1om=ZN6D4k2*Z`eu7~hGodxAv1th=HBxnJv-=~rU@4TI* zh~pUhaQJRmoocTPa6A^F)LBrcgmWRp>9$RxT{j<*R{Py->)Ne&lFA`EM0UDd^7WD; z%bq}pgd4`}mbht&q;11=N^}Q@e%j>HNm#N{z`l(_eL-3%ouA*EwpmC9z+M^>)i!ag zouSz7ACS7CK!tTTXf2krL;kY2ZI0d^~!xSqloTFBzW zr?8?)fuxcm6Ub2dVyd3aRFu+e$9BNRdWv6aqhyD!?YSZg2Q8{?m@#|vH zX<}PWb+_K zgEMJV>5G1=wFr)#^|-1cPAp3q1>SUub7@Mq{FPhFt^ZEs5!;V{Y+~;F7tsZJUH}JQ zo{KBDSfH?$1mu-ubH$1@o*mcb1Mf(}ajS@41BqzHyb?;o90FsT8NInFntx z0*;A?-ceXH?Wc`sjfO2}`AU-W7;nXx15a;yh_dw!gQ4Fg&ax%&B4fCTnL)V~is_4f!O_+WVID4AGU zRprNK`B~Tc1Cbt$Bpt02r@xg3TF)a2GE0uk9vD>xqHte>$NRvXi8yAxC`YdgykVcw z=&z|uhgAeyX^!4wYS*pA=j>JAyZ&xP{FhnNuFc!AhWhjmH*BmQx{uoEz=QINUFRn_ z0aexwIJ*l4%rwQs5rcL`e+ZjQK#DN>jbPnY<5r)6+g=S+rE#YZKEAG%XH3<|c^T3G zL#Xwno6uNR z0B;Cq2?B7R2n4CVRnjrNRW$dV0*};hsHNzsD(F^elzt zT+`Q#*P^HbmRDTs#9_bzy0w?vvbE?Tl#7z6sLUV6H{?PZa7*VJ^Lx&bku%4{PcD6G zX999IV*jVG#-#QstCx;$ZhFU$A4jIALtro%1}L!_{MhymFf8Eky=v)RXeBL~VZi9j zP{BFKorYqd5`Q~R+leh?Bh7Dsy2Ejdg~grT6$_i7#e8D4;Y^SA1;05jyxqNh@=ao$ z6CiHXi5JJv;a{uy^k2C6SLYh3p|*z8EQUMKuAJ@d_iTZ{(ehV1k>v^}VM(_VCxuds zxqY(wXXs=v+dF3)llOd63w$Nle$Pgs#J{!8Qud=KIyyR@h-z<*&ahLI4Dv z&f7N7^gPre8GDmZUOxG8{&?MYFK_!LyQi*8ENi^zZuVJxQHhmuo|Sm<=Or@oDyN;* zVV|I^Hd^5PiE4Ea7_jIp%y;du{+Y}kQ*An(DdxvyJv#~OMfZbso)l)=d04jl@C+G1 z_%p&x?8VdzX1`QN+0odW&EH6ouhjnuP{- z-UO+Mz*N6ZqnbmPt-I0rO zmy2)7m)yDrN%@Xk4V>Fur}e|ZLPepHEfdSt-^P3we1$98XrsslkH0V{akIwVJoZJX z*>i>JKy)0be`A(JT@ALg8cE{m?B;r|M@3*5U8LS=HnMd3EsM;9<45?VbNgaOKv8Ur4j$BEMaty!PJ!T(3}Ep@VK_ z?d|QjLGKNJ!K8oK37AB;%cHlyfBReb>AyEyMbt02SOW(#CB=&r*7|v4duln*;vZE8 zd?}*yZsRz8VWEF%sWd7os&9Ch@d&hM&m73`aZA#7BJwTwKabSN$-eQ&7n_ZZ4N1Y+ zw&~Sh^M9nP%{@N?H2754HZk)6V}7M41`YBlxXG^^ZqHTmeMF zB`nMa4u`L7v%f9Oi=bbI+R%DHVy?gxhRJ%gt*9$m4ww+9LW8r#~60-s&e z-esEZFM_dA5=qazYtmmQCtJ5W63`S^?0>hvHeLEKwYBwjhLX?C{}=IEKKN*sS@z}h zuv_s*1H$T_kbNB$4tRW2eWwN122($Xrfj&-1VdY9vHcc?d80#%WQ6TDXLpu!FhG}1 zOiTcM5dQ)&BHBJsk8}CoY&P+O=yiNA*KB7zJUood$_fCNW@ThhnwlblpCwC0AN#EC z5_!i}q1X&djA%D-{upKDA8jM3u-SX0zW8*=gFOF`Xl)TgLMr%AyzoYwJWyn5MUr2j*d^L^ zh!hE*d&3;+^qyzRkN3$ZhcADccyvYK8u@5fU|oabosS0`-FT|IpUeCL#Dgd1NL0LD_xbHH^FtIbNT+&g%r2yLN&KYxK-(eQ;9Msyh)9i z8tRwQ9R*)|*o+yF-ne^I3;ate+c3!vyZzD%mnI%b18ahNrdLy^SU<+!s0(3gxkp;&?kHmR4FH!m6Rp9??0mO-*p`#UN}iM4@Bt6W|+Ca2uV)pW;;Tzp2}VO_n>vZnz?rhl`GFFZN;ZNZ`zNL zdP03;%7x3zhK4<&{n0#wo1xOD?BC0cMYvR2=u2KA<4o-LgL1}1B5Q+@_tKpENQARL z=+&#A{$2B#i?xq0SN7_S9(C7BwUa1#h49(#E4>Nwzug1f^hzui6lv7;oWVbZVZavz&wU6WqQh;cd zezQ=%A5GUac7^;kZE+`pM5@`qm_If}kBGjaaLZm3R4Eb5Gnl9=eb*GPh`b)}A5l1e zuYp-3sny`#_!d^%TDg4SjZWP0}v9K6ItlNWZk=pUkdrH=7Ip z*KV21xT#6;Hm@*gjl7R;&gJPCaJ|xeL*oG1?MY#JYc*P8-M!~BOLT?5Gm*k@aUDbpfAJwrKql*{gZ&g!) zva8Q-=B*5h)-LY+E;8dq8>yJ~#9Eo0xAnSydiY3d{>t#Mgqw#%V+G|XDY2d86|K}5 zAkkfJ_ISH>Ohh5L|6s!0`1#7giTmq8r5N3_+Fc_r z8Ow(>G4R$?X=~yny6bst>};x2W)DzI_PZ+GT_$BKz~_=qCIgyL+N%2VyPx8~oNAyx z=4e8#+slIk$J{QzH+wDa<|#=a=9VZG5hO9_lQB4egymIyb54`}y?9pNx zpvxyS5xSqV_wksHljtAMmWN|7ZWnoc`uk zZ>>0lZV!+9pG5+FbjQi|acYG)ob*QX{_a+t+45I0F*-6*5`^k}9R-s}#iiK99g)&j+v0oLNk z(DYU?<*Y;V$ni+G2C|LVPHs+g#LXmqxdl!;PIXK zIoi5A%KkqEmYuMxt7p8Vo$n%f$%#7W6{SubX{ZlbdMpx)a}^?iU+}@pQb|^Y;3ITx04F>RI`~ziLu6 zjrSv@-GRTd%DTNmqHDlWvbS&e%V`g7kyDxePrA;S;>TseFBN(j#_@E2a1#u8FaB6vb zQkFX~;r3WQl%Udt!Q8#sKZ+FJ{y5`g4)a;>0s%d0*gs!CTo@^RwG1``$TZ}z^(poXg67%t|u%U!_b zj{TR!Bx)g>WO6pu2=UkcE<#$>&yR*s%dWihS00qQkO2)c)^}p`m|k=Zey(0(EosBzx5Eo!$f>M z23Fr!HsonrYawriH@+Jkr6n#KCHWPAn!GKSmaQ@+qbqTr4*_o}knIh^XcQ4T-DF2PD>G7^hwx?;^wGWP_(sepW zF5CT54zH7wtgYQi2gY&asFl0Sg!XHgIi&B@$a9aOov=3x1cO_eKF# zfM%qFy>EmT8prQWmhUy-t$lMX@7=rp_O4NAXsELPT*|@u$4P(>qdC_9%lDZGm)PJj zCa8;PB%&k0ik}nA@DzwtQsVd!#BSkrZ%j-Z7JoeZZM3~)_dp}T?aD;+{az?Y2Y3bq zBHH9aUX&6wkOtI^{`)v{biMYQ0Gk1NW_CyN2>7;})pXsr_+KC&DId?Q{t6-yO>pX> zQ((4~p&_K?L&KK`v&y|MOg!SNWa$CqQs7Gj9ok%SyYVs7MO7pyRDDW8q5Q#eZm%wF zq|Fhk7>?f+Q|n*=BUo7Qh<*Ot+1dFMG`Ec31(+lJU*!UTOy!#L3fETKB=Ob1=znw9 z9~(aBRqm7E=l|{S`Nc6~M38wTNnfJ-^91l+w~Eulsv=1y;y@o@8nNA!sT*rSI^YN-mHoqITO|FB4Z-PMnwawhR6s&Pg0c_oIk4rl zAT{-L^Tcw$6#zc+{Ue+rLYrRKRT<75iPTsSw^q;UVlSPkUUaL@v4JV2`Rx@Pb}M~& zM7|ntF`ddoPBGKFkYr;8@d&kUhUiq7peX+oDc@5nI=J}e;K74dFKOL5nt*@7&g20U z4$Woh7WnTuN4#*v$N?Vi`Gng5Btm6>4nZI+06Stq+(zN<{t+340VBLwQc4z;zO^cS z%~Yqzn(~Xvv1+`kh``TltdNyR4SHsZQ5WDslg1w`$H$wA{j-$7+YebC1IFSfAZ_={ z{n*6*&J0tfWS{HOt1S=tdgSR)ik@VWjzl7+EvXJ2yhEQqEGfu$@h(gCWi=AhVPaZf zVO(QZSS&Xl_|HW5P#rL{t^n zqf$9!7EqP@__3gRs6{B5yfT!X?FkP3?Z4q={Aa5R*TnLk_ZT;$FIX1{oPmhJR{7u7+^x6Z6qZ!ZoAqC zTgNb9lVLrmA(srVKl=gOPc(SJgU6O%B= zo zFX*#Lgu(tFe4fqCe|3jZ1;ivQ*zy1w9r@0HUr@;T>WrJm`w3?IG|$D)?w=ORzT^-k zXnEinLr={=Z3t3(vuxudVCs17W+bFx+9K{TDlCEw{reymQ|Jne%6|gVSPD*RQ(C+JmhxZl#pK8L;ftG@!CDc1i@G;G;cX5 zRL+u&TrH%nBi%u(?7}Rn+xGR(21?u7^}s?7uJ&XmSDO652q9Lx;xr;UrTx;tFZyN0 zU;AI{pb`N}OFKAsAlP6?=T_{^_t2bHcem=*U6lYVhr0AG*3qQdVV3dD4|I^j4Mk%# z>?I%04NJ)T*TN-|<#gPo=(G$Bg7Xf}dRwEomf<77Ou$f?Z5hJ|zX#TM{QZj8l8OSs zFh8iofr8&8iJ==ro4TE-u#hj0!h9WU@KPQwN-$_8{YX)rJ`j49CE%K;l*cutmLo9#YuhUSd;n%ppFnprI79{zQ)01(^CR^+myW`GINNjf?kw~*i zFq<9*z7fZu;(?$_)!$fL2)Exk_8)^M@Kc}8c|eUgQ2P_Dt=0DMg9Tp|6^0-*(jjuXKg~ip0R3U|@MqaP9p0_53n#x$$ zmrUbF`+TT0Ux)JrwXJV-9v1K96cZndXt6y*$BZiyW!pVx*3I;jsrv*47Ziqjixwgb zje|PC`jv)fYo}P395oOh)>1_ly+e^%u32x+;t7XKTz<``|8vUDLuh z-%7eD*#>dDakE*byt=yBO#uUdmCW5pWbwaxkj^ANYtB_rRPBGC8ekZLQ%nL%s$Va&bV=?Nngo^{fC9oY#<@cqQ3zN?7KsP_B5fk&f#n$y8fSQ4jZp zXlsg7u1G3ZRp$sFTfug}l! zTAaT_MU8w>vWzu3l2X1fS)jW0vWjqBP-v}f3ex5{x|=7Ry}A{m4wSohzJLD)(BFj4 zVE9}IY?F1tUE_n#NmD*j<87offMwSn&lOM7f#kkzF~dWltpX77N$YEG4-nQLTm^Pq zq0B(kn|acPzn2(YED5|^eCPM#(x6c?86UrVTYt?TuKXu+(}JfVvSsJE$<={^vYdPR zal8y8&*Uh3Yx>h;&e^pE`>ptq&y-rMlHxvc z)Qbcix8am$!lu8UFuC{((jkuvu9)1 zZt{aXMVB@wH`1mKMuC(R(1XR=?<>kHj~|wDb4rwiSv`qjnRt3@x6BRuKZ$Bw{YMAi z4KF>51mdv&Pe^|i2y-khQj64?;_R&~ZVl(F4CkF%1rYfjChb?}vkWQ(Y>3M7{qnE7 zL{0u2D|$jdf*bAoIBLn-%HXvgZ4-yN7Y|*g>YYR9;G{E7EgFZb_F1ghC^RgORT(n; zLxad|yc9taTAgWUQ!`T8e?<~8!BPs{DB|Wf0-HEz!*`0zw!g%!iH5J`a%csTtSy8_ z6$W%Z2Ff49pTuxfbFBZ%*?(DH(;yZ-Sfw!eWALb{W!Dh{f^*q=o}PH184(uDCW9$i zz+T^)Hyc32?;CQ#131b|qO0@`Q@@8ucBhkM*N5#B%v(M4wK^puJ%hCjVneF&n>)r0 zU!esj%{)~L^YTXNF$XMl7y9|S2ku?@uxua*MIrGR3pB<& znc-6ctj-uPHGC_mw!WCV@>PlbK2j;eaH@i~j5fN`4g+?iu??R%3J7J(k`|5$7@q`=2Amd}{>-h_#mL$OAbfM+&cFK*y+u8QOk2~Skc@sVSbmU9AEC8~3R zX1iOetX3;ClUtn=-*!l_(YOz;4ojnbmU^UFg%YM=2M-c%?a)0IxpcaRfzOgJ>V{cz zi==Fzg?H2F?2QhRH0qQ@=7La^BC!0S%}<`|SElJ?>ArPTy<5L_i*zkv{`+K9KW3` zgZjW)4;fJxC@V|V&&7;4>uGS2mgHSU`QNgfWULEkL~+la(G|LfD}`#KG1o0!3) zJcqJT+9Kx@8-=2UvJBAKoo_?^y5>m}iWW-05hAR|emP)pHn8EsbmgHCToK=1nMyQppr&NG%G`se`7y z^xp{f-&Gj2w7mSQniJTth4XC0sh_s|?NA}R!rI^q`$1`R+vE_89|yZNJX!o|>|utMRdM^5Dx8EPw1_8lFQ%3pP;Rp_sQoY&sl)v9sE68S*fOAj^Ey zyK^tozU$CL$&*8pGk-ltmk7PfR*FJpJcRcpQ5J^TX&n z)UiJ!s9nqU=7!lau}9uBVq{&YI86g%X$GZDpt|3!7&msuQHX&aJPjAuVI#OHTd66F z3;ciUCC@U3Zc%N&txN`mlfNU_ zR_URf8^8EkC_%A-~6i4komxWd}3DU@SMO`+$t)^L_8I@U`;bK?O5}? z{){U(E&oON&|i=I1M45$U50AOb+vj{y}Kuq?Vq25yQj)kD3a}OIA)?^FX1e~uY2kc zrNb_nuzE7QTO2}8o4Y*E$8#HDY}6V-d^?RqGhN>kej}90M?UhWxuCKwwJHb?BLzy-61wz^vp|Z z8w`ig&VB<}c%aA96^$J(B+srd+5qUZE%9LZcF3UvRJOnbN8K87owKxsi$^B!;9NDL z*J3(Jmua`|6_u5t9)Ski{;QE@3FaLOQ*SvMPh9s6^RV>Pj(WZype_-Ipt7~lC|yj}$i?KgCVpP-Rx8pT#8(!f5&Ms}*i2s< z$)tGmMdUH=_St;Vg-4Z49S(~pb;(6WIGaT+&A}f}!XB$EeATT+?mZdqJ5Kb-I^ldA zY2j$_I-Skea`B0RqEYC-d(YprVeF>>#?iWSZX} zR?3*AqwRwsai6Qo*G39E)RGaj7$fy63zN2_`}1a}WG;8-wuu%xp&EKG^tRh|x^>4k zUH&>7?alZC#$;nJ0e{)4XPu?Wi2LmQczlEG<>5NYX5kZ0k{0ePxiAMQnC!=LNY zU6>~(-yG7Vy~M-A1Mg{Veerp=RLG|#s$uqimnvkzNc~f93GPSx?FK9sr6-CXTh*%6 z)5BWOBQAK_QLuN3au~rl6d>7swdF8@8 zmkT-5b~p1at^|UlSBX6jstYBtTqIs!&~81yl7ugrHK119iK-aRksE$K@wzJWb^oYz zfG>L#;mCZ#RR7~B?Si|aJa3;yMWSqB+Myr#wH&=mfllP-)j9^&U=?UFH9;+N3%_;} z=pj1_TNKczZbTOOZYg5v><^I4FyxVKC)vuk1fBZXpR+TQT+OAr#CZJ`%+cq*wPnP{ z6wMKMRK-M5acU^D?4l6{)+Cm;E?5)}ORp7`etYw9up#(4edD>!3uWwE3h;~Y4jFwOkfUtwls z*HS2Es9* zue?g~{=9!-Vc|c~$)%_dLrJaV-d=Qfw;`{*Z%4$w-Mge&OZgpdo=}iW>l#S$PkkY$ zz(2~#cge5Whgin>q~2sW9^?+d!m8M?$)h{BJjEaW3Y-Woets{qEntO@Fg^N7;O{7< zuIwu)aYm6*OphKMe)=%MrrQ09O8PYOpAQa}@&i^37L6))rnbJnEtZ{EiSf<&+^jf% z1I_vE)0}tZ9Ajws!2<#c3fRHd=g0wHHRoq8Z(w(FN8c{eGq4PKr*L^GWVg{bhKBZg z?NQLHkRM-sjZJ?P~$NyA7LHzU81A~2LATQ|S7)Kbg zUtmz!g~^M-$dKeOrh?p(>=N)v3BRd`miBD#oU&_!d4NF zR~f<=1=9HA35gyjxcNu76r?||;MM2O$A3A<$#33rb1VK>CSuKGPPxhr0Pqk>+!D0r zebeXsG`hhn1RjwdO<-~97KG?3?l6Ha)!QTYO$uaBS@;yO(@*#7Cjy0-W2uVn-rDth zq2eQNnHIihO|+iyh=@2Z1$h^Id6fPVKt~xk#N+(yKb?mFwq*I^2=B3u)~9S(nJ0-h z=&+*4H8(nCq8#hv!3Z!rEVMM2e~XbVxm3M#5C7ftRmb3s*ZTQWs&0;)h`S==s{;`XuZ1#?(v?993&w7c0B60)6V zs0q{;=I|IIuwZg>1P=X~m6>^iL?VHJ*Lh(JxoZA%TrK#w$-Ne4SNL|p$)_p^?!Bte`WMrHfcD)Q#+V3IW z7GRNHrP08-4F>7SD{m~*(}A=^^w8Y|mKzK+^+_i-ZvOqqb_JO!x%gvfTzvEw;lK4@ zIRQF9EAtj32iC~qmJ<>7ve31kyz!&5byCfXf?JAx$D3i1XjzL!6iTQ zddrDgShuj|%0K>mzg|VfSmJ3xUp$TTd*gX`F`#5%u2f zzm`7E%};4P6_w@Zs@)c{OaJcQoJFQ)--h*lVK(ihxu9l`S3v2D!< zOJ#A8qseeL0_m>*7mIP=H&hcj~5_rjHyJ_1tOk=<3xITlx&3cUVeQ-g4>G zUNn&ZjA(_>Sz-_~n{6`+166s^w&7z%bH>K1v`RF!2k}o5yJAb9MVcHa{!%+I`;qg{ zj}uGyyFgXcmI@qH6ng2~-A7FhvQgg-{IUa(ThZ8g*MPgulAS{A(A#G?-=06q){v7U zi0^TXzM4vFTR3yGFsQ6SV&sR9zXId?yZQl02gfF8%F}}fw{&_}gwFyYjCUm_WBbOy z59~P5r+G?<$sU9_TBt!dH|vdRS#ShKRY&AVM;0aF?t$L;-ZzP8)9Xl&=Z-D}2ZZ9W z7{$X{rI|OjEGvMp*KX3m{KD6jodLdbZaW7yz@`Nf?1fN!CZFiS%RmtE#?TZBcT!)D zVA01B^v>s(2=FW*4Aa;YC1{VO^nE==mcitw=3r2s#n0c#S$tqkMbc zrYH5-9_Qo7lly0Oi-XKN82r>EzWT7o>^$7sMb+lD22G1QGa4MJLKpPaoI|&{gdF90 z*S(+kWxl}~6xvmF9w5i*Nz6OFAQTE+tD9=v*P{3GKKld5VJ_0{mru}gY&=}|qir2s z&bIf9C9_ce2o=3Iw6JV+duRW@GP+|jAt(wAr7wsTR}b{N{RrbkDmKYOnh0d+38P>} z#P9j*j#Ia;axs>&_CirAP0MM#n`sm|SVVa@c z2IK~>KD`4n>$JA4z5DjDrx#piu!!23d<#jVXnV&vBrH@M${Cj*ZSTs%(}2yz17Vr2 zj-->9^_#_lMdV0A8@K-v(YN;&9sH7eQrX9+p!Y0lpl_eDunJk4J@)hcvamWVK|Cn0 zn?&E+DjutyO;28*v@Q2tK)oN#11%*Nw)9f2t_A;5Rh8u_RZb^$MYoL799G|8EiQZw z{G%GLx-U;G-mRzaop1(8@a$_rkkUV`+iU{`vnvt{6^aI|J5(e_H&>6GMRsI*SLV-C zBGa$sCM~%{p6;#fyHW#1%yu_O6pyPp937w5%gVfQmj`)K#BQSsSl7-{@D9q>Rqfy0 zSn`;rUcP?vFU};N#co?ri16|se7pCTp#>kL09N#zCkWrl`D>#hBCaQHjFM5c_^-A-i{y=RN~Kw9&A zuQzYsf4I2zC{N7O?@M@;#MXieAuu{TQ1S_=N))^TH>aD*w_RHk<}OGlW_X+T+O>}r z!TYPG8v1&BFPr~(&k2#0McYBfA3$o9fTYEQ5uq)Wu6-5_L?%XOlJzqT+~*yWQC!YT zPF;eM7~`ZVhNo6Y-Y>?fQ!V2PL(QYo#L?Imy|+&v4l~Dd9FRgc$AMoHVxacZ!0a9a z+&nUKSEzR9pjE9BFuFQwXQ3LIrf~#4 z3!+286E#Gx-q@Hf-{^a0Yi_pYNIVXrlC8B7V)Vkhwk z#ltUK_SzUVmWNA-`V{sr{Zaveh_c&nWl`z=qMu0P#Dd_VKTAOf z<~_)`bjrv0DIo@*d6;^rQH+Ux)rFWcC)zMdxxB{p2trDe; zgyxG@s;qT-dRzI5OH$<>^T}3@3tT}$N7<&ww$@9kckESDQ>Fxt=O0Xi31Kj*Y;m8L zEsgG8Kp)8$JD$EK4{BpV<|4r`cm1e1)eOT_Bs7Dt=tY7RUsYF+Ksb3Ke4H|S8zeoA zD&dGk+pvi8#)hIg5vMbxYJ>A=J?AVq^25~=*B{h&QcWG7)H{R4N?}io2s8_Nh?DyGHouI4b>}mOR8PV)CGlSMLpd6cC^9dL#2{Nu;Cg(Pg4mKAd zc)fC+7`bH~p{e(y?L480vp7D8vkSDONyEvsPAqBB|Je8*=YeGWUZaXdT(QWY- z`1hUbe^neum5xwR1_dyn(5uX(If4Si{Y(6{^JRu5b+D_wfB&F4Suqz>z}ds$&5W?$ z6>y8YR*SGO9O`Q70D`xKwEfj!4G<^@2?>>ZP9flZ71>*%$o%rZ9us`fwoZKU+1^!m z(N*iZxw!%%Kj+(hY&(TtS297wq?(~^WNb_#5W)Z<&@k-!-)cAWE&13IV;%4zCWS*8 z+MkF!vn2!i4{7lX_@$(_0DJ-K855GDR|w-%O`eo8jzQK|c-)pw%3yF-HgRAZeysS^w3 zW81@VAAVZ&?=0}8)ia?1;*_B%MXciHyduSXt={}={s%s{ zjF|vHCegX6f9~1GyuDT03N?4VS^{}=Q8~AfCN35LLysOPr%MX|`LuV?TEh-x+CTKL; z$lRO)!p;AMp@GCp5f-2N4^*OQ4 z0_KkI;HUk^=#pD9fxs2edb;MTJ(TYYxk08kB9DPp71J)HHDXCMx zYK~ohF%Sk*eR=bmnOKR}&ZGcs)}MjaKV5d~AdsT21y)<;$AQ8NkFTvKI8pheNx9!Y zU7<+#=m2h6J4$jJ``B1m)Zkn$O`=-q?8eV8{IHy zpmq`{np87h`B`o`kFCN-`W38UDYPXIaR6nbUenb3?DpaHmj9DEY*{DJPDMv=Egby) z)!`jC*lItyWB^EuN48Q@Qg3da25F^#uO-0iTzcIyiUWG9tr)_0V|f(F3KcNVj?-l< zz?38UXDDC4W^EO!02=%&(DMRf98(51G+z2(@?zKDVH2dC$9wxXimQM_{b#>$aID#T zWi+4t9sLJ+8$7DJn+SBV=Ii77;9Tv1TU%|jS62V)o8JQOEpS8|pj~jlq{sKKT0k=d zIJQzB1{pRb`iiNkYXGQ{FUkQ}OTY)f2@O~E?gpTf?ykPN0Pq%&Z?OkLw{Kc>Wt2)f z{5KH8z|gl<%er-eO)0s99Wd{p0+t;CQtsI$C7`4VOr*T{pmH!%#%B2+6ol?Q59yn4xUu0e@n`eJEA|`bDtkk2hO+O z)d>#QSoTl)%{jz5-5en)>~fGe?<7L1Hjg2>E05Mo0D#$A<<-oeWuT11lfEEcWE0k)i`R0PTGcf?|8EgaOgx~S^7L+1L$ICG zC>p8yB+7H}@zz!)zw$MGWo=Y3H$Fao%M|HX&ACV0##8aww{i;vgEPD|HmCd7WdRgv zt}HImt26_Z3Q-gKXfim|u2C>r6-+X=rwQ)K)td<@jXR3#MG8x0EoCst4^jME8H4T1 zU%LVW;^cp>0p6|`&--V*LgM;B>Dtv3fYU#7ct2PIpou^u?w)uyKqZ#>U*C%t-|_34 zwuwD|glT+itnK5+CumjrE>NRn$*+Q|s=}6)UDh8A@bDnhc=r9i{)3k+0HN~vIZNd+ zSx+^P!;r0w^<0Rj5%sX$@)cf5EL~m4n?ZFYZ3RGSYB~KyFA0E>|LMNU2^8ME-2Kxd z`~N~OkT+wHnsiyzM?vd9Eui~jCi};E&|frdZ!MU~Ld(Esd*&0%&x z$w7Nvz5(!;_U54C+Pp*mnDC5!a zh@Pisxby_zrY$QOi`x7VwXiSf+rE{#*y>5aqCE_G6gpyYzm(iE8kpxCxOh7aD?5@ycl^W`tjuzU&< zb74Nvae!!62SOU|qeoqo-dbGf0%&Rb@;KKfKc2lSAR<){JrglDFfY(!O#7+(;6oje9g|$I==2PEB+7> zKfAhBY0b^ULjo;e&?fXn4!+~PgJElKSO_(|mGfzb0;buf?M*SF`GD^`y|APnTL+d7HhP*8jX zJlpw~HwEI=1QUoTBh0@848U4|w*YYm4Ajpt+Lz<;ro-`4vhY0;zY5Tpw-M8~3t75? zfZ=Rio(HW)+s_a|vTX~1`bBIzTK_+a=hRLgzCRcTAZY1@2#j1|0!!Q0>fH*@Yih1I z2-1JgKJY)Npv%r^bE4Y`1n_$Q^(cFJ(tLm@8*=gD-~-7ez4Ux23@niBt?AaK-{fF1 z?F0gBKiVLT+j?=w?0~xmC6Ht?v=W@;g~ebn*}8(Dif=InbHPf8*cC2;7XlIwNnm>7 z;-4Qt@(pq%>GK*KO6(Jx85_I5^kFK%)vsFaf9k?g3U-pIDW}R=0?$fg_1f+A)u7E8 zkBv1S&~ZzewWhD&1VSfM!`|PY3d)Zm+_EHFTU#KXeYX`VbiIoAH$3R^lePwK|^L{T6kFl?9=_@^y zDx|aj5Dz%x^T}#jDlc+Zp4TL2$l_C9;4cyJ@mfJa)d>nxQb-Bg=F;t%2EW5%=C=k; zydV3jvOxepIA@U#cMhmkCj*I(NE5-G{;AvunjE$4D(NtmDJ>Zeg45}!A4K@fAP z%*wLq5y)!PM2SSTJbWK9)sMy}-6vj|A@5|Hgp+`W5rYw2ExS zH4p{21g(~sLba=k-A|KgZ)O2aSiYcN~7iEKk|vS9X?WO(5N$0{C3w0-`-;l0os@Bh1x0)~@{I zQsbA4CRnnr^r&m49yA?B@G_JBz~kvpaiHYNw}d&2OC6fG`9@%Lq~=}jHxrujA&%kA z@OK?9%fb;;q@J3QiO!_)gxrxxvFvRYpQ0@NVJz1-(kf#0!E2>xWZ9n>4xRRJ z>zQ_WzN~D%X5^7dFy_FshiI#ew9F10p0IPV}}hRJ<&-v{csn1hSnpBH^+ zX^ftG#*8ScJB=Ca9hrjJj2M3~Uhf?uetR}W0xek)0lkB9o_`WFyp-Zfiae8P6Y$(Z z+K0WyO?mPy2fY@YS!s(izD|!Zm2JnoLPtv1Kd_iOc=V3ho-0BoC;~+;=5+DGJm{HM z*r@-#MRC<|y_s~Uab~_@0tZc>ERZU-eC*j_bqYef1xKW+ehJ3dE-)< zKTeKQ_=@*P$_~ccR7-UnEJlhT1=bpm~d2gh{6Z*l>~AQ z*jK{EdJilVA*Z-|#>@(5STVE#i4&}ygkwP7 zmr2Lrj>P(8fk$uCL?V;8r~f$tk`b0SIDZ$%5@D+Ml}*=L$z^yqgNj?urz+0?#NC+0 z4R}R2)rfYDQu#@}`UXD1behlExOvfD-J!zc8NxHS?s*JxR1^^aj&XPJ-Dt257;YL` zS6Uj_-yx*O@{a33zll!Z#ug*_R z4{`XqbscOh4ZbbpI3!3e`p^q?+`VggZI^^&m%Gs=drdv7i&JAdCuk&Ut6qpb(V6is)!leum=|5!WkYcebM}dn zjAe3 z+oz>9Y>Z^rT#}5p;i$rur%g0A%G|fR`T;cgs9;5{cg`$CifR=NCHhV$In#PGm&*<1 z2@!pTALUOVmH}{xf?Ry5fd;1DZ zWF1Mzda6X9TaDsEFHb3W8u|T}p5Zgv`N62Wbq87WuOp3wrO=;1qm%nf<(HjCJ!%g! z6T>AiRm4`cAxy}APHdi1jOY8$>arzly}P(%s|s^WqgI#H@f3%OGS#RFidlbezx`%I zd_aQ4sx03@A#NrdQsMMuh$C;)NX=T=#DG*ww#@)Y!cnt3r!Dp_y1R@%logxIyWE%< zCG}=#{uAe)4M2;+&(z3y@RReR+wsHqm3x8IsK2>{G*z0=nR5^1W#}6QIAP9g`xnS} zU^@%&+G=iHzD~y06mMKRYQqx!5rVGi8p9$*M+h5m z1`465yXLCH*P_RI_(HD04&!H2WZn+h*U-X#Ata-}!m_%bz?ANmtxUEbBvoAQ`)(7A zl&ne^v#FDoC0qB19C{&k)bZeYh|P6`-Wfy*G(Vr@1^sY8mnaVJ4xX|l^iK4zD_~|z zOn$?Ii`)EDjhQ_Jp%klXt-o;8_zd#0*?qDV6RImltY{@J6@Ai5`6AKNnLER9xbEyh zBeteBPaKz@Y+n4HyheyDweV7FNY6R@iFckS5>4-lkxY($uxeiK+&={mpiIE2`O%I| zxVw9#fyJ||7r#@rKl=6R{Gqw=r5x0xGGA(JFt*ib;(`Se`nP{}+O@{r022oB7lyT#*n7yt-5@ z%`pld2lv*$l6tHGpE*7&RoT+9oZOV-%fymW5WKq~K(QtpvXoQ-!p&(Ss%gHZTC8$) zgSySaFt|`o(lKgjv<$Bzt^a|s(SmQuk5!IiI{JlPy)6fx#Ja<*G|gl8 zx*9}*S-mv&5i)^DfbU5)8{yLT*Gn+t;BJHs@!y~ZRKq*=Q65@yydecpSz4c(5zXi> zVhOE>&d>&}$#CPD~-JPc{llmdSckXgI$W+!K zk~VI9R_JQ#pJkarb1O+^>cx&H`5~^+L7|m!TPEYKanxcd{2{R$l071}Fc=WMsd7JC}QpwevDQ*h~ zgN>)gFH_{l)-p%<=i7XaADgtvczTWfd%Rs5lc5xMqnuUC<5T()y#@q?#peB@1l-xT zPgWP|wDdEVsN@{UKj`?c^zjiU#>%z1Mw!61QjjGKjcR!i3&<486oL|ZB?T-B2F z>J^A47fp&+1|tIHlkcDGN<8LlD7q34^YszHV)hM0wkt~KTIY28V#_7El9ooj@_7EF zRC!kBjXp?CX)&@gwD%uDxEtj=5@f>ph{F}4< z6Ez`wRJ;F}bSW)43)jme&(&V!_|aY@e364e$7@L_<}M-H>`IeIx3&M?c(bthFzc8x zo47H>(P!#eC0FA6{Fl%tB&Jz6?T_()+T~T!S2oq+DBDK696-A-Rl&BEy_@J{aJN<#Ea@oc*SKZizAhLiRjhm7B1~fS1dH|%Fn+M2VapXLYzGtei^=_^fJ2}KpxL`sBmHy9c!lD?MgGLH zt2qaP#k4ouEn^W^@)Dqg`PdZrqHv4pb76zCuhaw-AUQw2y|9eWv7BD7vCX}8797)v z{V`!EW~H9zRn4EbGk(-uy8kP!>;53kanp*+9&l_yj$C#prEaY#Bp-4L5hofE_ca*U zaG4ADJ{R(=9!n}2RzRzz5ALxM9(vB$0&(!*cN{YN0&{sjb6aS7|K<_?#9coMmM6;b zQ>KAyeaf zM|v@^p-gvm(~caipTn)=^BImZ`_C>JtK)do`7aFJ&i|?kyhKR{({=u9R<#l_pK5KA zS5wk0YHU677><#i#qSE1HLuwXE8lfty~$8vUT@~4O)X^b8r3%ADJ#o)#HSytZEvD= zrC*%wWUbhL{wUMx0ZCfT+q|G1a6MqAvi%lzwBUF>u?uH&5sZyT!eMWyPTB8lGEg?S z9u}0nQNBe&SkFRvwR5d_Wres#&Ed=5{=$0);GHd3ZS=+QN!_RT1?*}szI^gNKdwcF z#PVv)2A$8q)2KSM$H9MWZ};EgT;|&lDcFyfZa$?F?!`85?X$>vY7#7x4jiX-bVQPM zBxC2fY*uzjMp)hw;TI+q{WzMS6zE}D))NTxS*ohbv|yONzJ9xx%%G${DRcCIXR>`S zF3)S%f%-HBo(Su#{1mRBgk}K+xygnX4+fvG7Vp1aUc&Jl>{7qI0^{~8oH8IBWe&@q z6es(ek*P>jLIMgDJC3@+I>%vThw&n+FGf$=8`<{N1~C@&_weZRCFHC5e9qw2F0z_r zr9g(Kba4_pbJdQuO-udpiyj)dJuJ~& zWCYV~K#k0y;P9-1s_9Uh@#*`8dOGN~Z-(|V7@MWQ%E5EN#tf0WcPak$HVVfuP&i?O z8Z*5y6?h@b<#d__WIU8TG&Qe9lMQ!3Qn`*c2|0BtoYiaQu~k0YbbE*gM6c3~t4ecm z_O*4wESD_`YAzg%G!tAtAVIERZ2vCaeB{}a>&xTq#SO2E$VSlkxwRqDb0LsHZ)&bpxBY{dM8dw&U(YP<$Mrgq!C-Q; zY<63Llqb-vTsrn2WKpFVqeUoa(v^~inwe@@JE=!Uut+vodmu!rD~46^-J1BjyC8{h z0@skO*ZeFyga3K|wcDHJy;{eQx}15Z*|GcH$qmG@1IA&9ho6-V&kzXF$M|*HX@qwB z>#uGl|I@I1>va%Bq@KP$RN#m|gSs3a1@NkepI-YnWN>Nhx}hFZJ77eJ59iK!)dJBW z8h%2@l)TbG>lI$^q4{n^f#Ix4Oz{dSo`lqNVO% zpU=gjipta4+Y73lLnJtKhbZne?g+-;aZx3O#0tH zO10TutE#J?zbH4k$MK`uFSkog1`V|qLiyLOI9JSuf!eRdnf~0M?@=2s0WJNq4?LF2 zN4G@kpb;i!6Nd#lkbob9j}>|ww|Zj&I(M_tG-mgvr@eH7f*sPH%hn{D^I4Svk_#Xf z2`|ZDB-u{jXu+qBUHp!9AG8@A066*e}fb-F}sm z(}(*j2{%ag^Fs9wApho2P|gkh0NpWnqrVc0*3J~xa5Zkd&AgICgm#;vK5nuC*-VwJm7p0J2y0Thy*;;JY=USZ( z?51;*3^nUde;G=!>{~`+2TYRxrW@dsyFXm^Tbf=lv=a_KYxg>)`re~@MyK*(M{qXV zTRcmt)E`%s_~l4&DYCuSIjubm(|1AwZMd1U+|M9x2_cBEdo6q{Gd-BUKR&UXzPRly zzFF^}9b5kXA|sLHIR$4!GwM)k>IsmgeycxDj~$b&@?M=-hA~G;i`JHt5QOJMU1o?Dy&`GHvuVrYpVI- z5!`dA`K2HwZH%60#=8Y-Sm#uE^jodtm$Oad^N_D;d?ihWQ#RyWyw*nt47I~mKK0tk zj6FJB5vNZw;TNi&>-A6Up6=SWTd9APAm0ABFuLb!*5Om>s*zw3Nw&Eg4H`7%{)W0> zsX&0xCcu-j#)xJ*~eR;zw z=+YvYa0c3#P+s6}m}x6Efzi31Xy_;?8{PTM;OfPakpTW{Y+tj;D45fRvgup-Z0QkM znJTWfzi(b0Qoi4>xODB1dS-?%Cd(ggSjb!`f|H*Ka&&t545n!`i%ldx3hNv{;l!gZ zc>53$WA(UxpRwm{eA~BO@#F{=sFYh^w8iPPo5Dy<;c-!k?=ss{53jVC`IR6mMVW~@ z41K-3j87|aHNbTzBFE--ftoa)hV`Ge+8%F5GstU$( z7aS9)CLuI$@-n-l*mZLqQJs!i(|Y40w`)Zx`CgI1GER-VJG6T%lZ#O7?4stK-~e%x z@~?%-lCb}LFT1w3gJ}Mc5 z4$Bi034(ekg(rlFF!&MZg|uKHr6tFd=%rnMT9@Q`_2CAOt1%NY@l3pyqy-<1*)Vnws_ir%SYPy=#jyB)UY zBiML*$1|~Ji=Ur&1GcF2XxRrUElq|))=t|n=iL>Y56IHd&xE$B(q% z@W_Ej>`zsWcnqERoWzX3I5*6?zoh<(X6h53*iUZ?+Tv6~ch#HvDF_a9GViqtS2?VD z?xgBDnzzlNARplig&?SomkJYpQdpXorS8XSWT07JxerHm+x{^%m~B+$AN*Y149oef zp@nGgw)jd_NC?Hr6!^f+IRjoB@Gf1i5T)W_Dg+mPYlwCrwl_K6Rf43xU{rr-vS0AX zX@)^B!$a!V#!{US-5YsT#a@pCgO>7&GtU2O>K{0YI`tp() zBzJBc#X5cZ)UTk!Whs9q32gj8rzZx;62*Oh^x2L<{EOq~RuHTy`JWnxquFuexIS%a za*uXOw(EW6+xpEDb3LeLvW!u+LfBpg1?l9mCh>NIyyqkoG`d<2O=Jek%T%kb+c!T_LCT?3HTT|Sgn3 zG6HQJrp{yFS07LF|48%bft4h{AQPyLalsfKR7dal!*`w^jV)Y6Y(l0Mr?wb;kM#Znf*E=PeofP;@oa*ggP_iVjL62(hXOSMsk55oTe)K<=oigJ=2n=eht&$ z)y$=DgT788P}+v4$+~9Nk`XPo+*$^1E;HTLX=<)NF3Ij7Qo_p1NNqMJQir0d*SV8> zZ7Jr_DkPlj*T{epT40a~o*Bz36>i->tt#~GQL!;r3`2uTFES0M@!y!pCaHVSA@B5Vp&ce<6!AH#moOjy7FD-p>xp+=A0R;6q8^3&VZwXw zc&SlKiwKWR&Hbqg2Aeo)7nY3LIQFqDKX0t(rPruZejo20r;-4kKPXX|<$ju^_w|e- zrNt0aSxB)uUgEC$Ioea)^}^|u&WOQiOK2=CJ^W1A_iyehR!^V2hcAoF82g{ZBi(y= zC28Ic_<6ZkHw8co?$4?h9B=&E+G=Pu1uZ63{)Rx%p%6#dZ3o1wbc7#u&JXccmvv-xXTVQ*0y@5(d9?u^{YaG_F}TyRWf zqJbgB_f(n&_}*FM_m9n7>X}1WUJiy1ry=MR*qcxsF&s1nvGLC;W^QE#4a6r#A@5XF zK0xH9kO2~GSP^@c8@t2z(JWZpJ96}OMTSijvG#Be!;Ft{-0_t?iTl5%I+7|!DnyAb z_MYjfLd!8>1TQ;x%LKl@7;@k2o6qq1mvABYUtW=t4Jf=7zGASs&_qigWiR>OFu;lO z#53wFbgTyBiwxa3w#gmo)7bwkzw=6?&^HD1n^4mb|=!b-#Gen!3gc>hRc2B+%HQ)5(PRzvt%ybqv|VF zIM2b`pF@XC_U~m^&x{6rH$EoGBfP)-RWBajr}}F*nRe&6G!L5Rj{y;~g0~Hjc&to& zRioEemzFw#;BWCb+fT3k4;|c_>oz>^v*}<8)N-JmF*r?u$w(@yX7uCB0W-WI231jo zT`07LnwY$?MlOGac>1@=j2j>$U`mZb`tJ6DS~tXWiwqnEFLP_6O*=*!3b4W=6HRLm zusOr-*6HuGWwUH9W!qhP_ww2`Vgmw^aXsLIY-Z@Ft;c=q>!UIHIBnF5qj23R5;s2= z$wgQ75$*oL4&4Tf!!(sK(XDsQLNaq$&mi%8)+>}lX?`}Nw3J3JT)>vg7~#Yyt1g+q zLJqa}cyH*$e+wqatL@{amyqBfgHO^tQEl=n8*p_CYl zlW2p}X@dqXxAz_fT&iwaMK*N=C7O$cc{(Y(C0rIMo2}MDo!7@^w`bvtA!JR1sVg`0 zT{QpFe}D}{YiVH$vg?O^63bl7=7)=8An$IbWDHtB(GzGR6I0LJ%GBG96FpftoYs^; ze7Ml-TV)IH3>0OXMB3qc)XOHVYwhf&ZvjZ1X!n;)n@Yc>Zes-(qs}_(K|Q9-3{6|R zpN)E)(I>kepNQ1@fWsrzz23%jmQPic79kg4w}ql34}Xd)=q_^hT8qK;Vt0u^!zUVY zMaCZRD39vVE`5qF(iU!HVN4D|nh0muh&E zmIP!y5e3#CvzOJb;;yKrT6~Ns%WIjo%4IvwMx+tJzMW!=LAg*9lSvW^LJ@R|Y@k^m zqv!GY@BPUUgsMhxY)4O_Z4^*9`T{WL;&m;n45y`=R{SLc1!E&BY z44~fS9|%7(7h*7W?@EZSicf@n?-x&bKZ{JhL_TtJ+x?7mk%&K} zkElHt;-qET^2wwG{phgrg)M0WSodZv9ys^Lbt?ZjVu8q>Xvpe-vB~ZBoMI9<+z3=& zm7U&tY_lo4Mmm`8PD`Qen~=1r?zprQ%)$42pdLNfiOpuMkI!kqQsebbR2r`qPqj*{ zE{+S~i^m4Db5wTwNQQI7>2#W4Q*VlAcnc%FQ!*?vu{N2Lp_fDx%{6PMf=>Olw9ASd ze&h)fa`Ey|sJY#4kRQ5y>9zwAU}nFU#&`X70%;>UeU7njZ@zNA4bc2>Kz?X77|Mu%Zk-RuzH_ z+wQ5TstfQk*`4-8_e||IOG#VqzMgp5=X(9utdkO}3m=MiX6amz1eS^r)Y7uPLGZ`%H9nC(kj!f%`cPza~?HF5T$q*j;_$|(I+BIhS zdRvic@*6id;8{Dzu3k&1y*riEjlAJG({2S9p5%>mD6LFY%}>+0?I9_n#1duWuW9(+ z18~7h3`+_f_R{Q)_o8X}rZ2A*@LW=*mu`V5w$TnjJ z*$P8ZDHw zNeg-wKbO5!?t96ZqM2K6NDL`1;y+ijs-4Tf+q{(CY_VRDl6}DENQQBhnR3}nVmC$^*_Hy{l;AOouI3Ye)X}BI4 zpE1I`pAmkuyrID-S|Y6jYTwh}Chrx#P}v~|pK-yIn186(KbvK$T=v`zTcq4yqT1)J z+V4#yTVLHx&PbVcRIh+Vhqj;QsK0psQuWR~$Bur>GJD}9d)fVaWe>-k%1e5mUZPQN z2dym_hJ=a-|DnI6DkH%8>sLnuT{%TDnIhg0B_k8M;(5wk1H7vc`u`!$>9uh`*4OXX0#xCO0iq|$i z;Xk_XMC|O_CzWU%4~wR8qJukTQZ!vtpD9~7*5?G0Ik8h#%)@q_0dvqk`NJ)!M4`62 zznY=V%`?Wq`{w;!Z;>)atBm4JKB^p)^MZe^)Z#xg1%(*!Cs%~t*Lb2DG#nUw2IRV7 zsr4qvQKsha4ca-*Q@Nx*lsPwBm^qMO0x90Xvv18C?7=u0Pyr*nuXW;}3pP(mn(5iO ziVX3En)65%;zHfaGX{yy5i4sD%?k-VHldFBKkJO;rf?3`zOSBC9#0s?PjAz_c%ekP zN4tr_hfZ!SQBAAd{{nrZD^0lU#wQ{r^>ItIimGav_ldmMl+AX29x}LP z=}N;YZ@Or=zeWJfUwqmaf`6|T7s&GVNcqknsYH!@Rx+tR`+Vz0~Qti zedgT^w-4K$5keZGM!`nAijv|_jl`WwuUHaUX@q3^+I{}(^=ikn*=+GEqWU_-eu&Pg zm!>YC7*#Y{3!V?wd3_jF{`zsR2rAyhQ%Yzc?vftXz276>OPPw-fCs~6itL8^nws$L z)-OfJ}zHE%>I?ZF6b|;t;QK zg{$~JZoz$a?k}Ie|N8n|@t>&Mk5y9jy*?&p_f<&gN>>NBsL~}&U{Y2$vdnr$Ld?Xb z9;ekqN_#SDTHoEZ;eMkZYI=MquQ_@m z#(sZ1?z0t955qu6PP7*EV5nYhlV&H6AGr43@7i%h#KBulQRY>Brs!b{bgv&Azf;BX zj8JuDbr#A_x9Q`N?ng$%^`+~5^fZk#FP@)69NB5Nu%Y93FpdPgJW)yVo@^m_OeQo1a$658c6zAAg6}hzIs>Yk|wnut~ z@V(P)j2xMps!UBRi5UC0#t9<(Zv{){E3k2mM=TgB)A6EHm2;0GhxyuEA~mAK$rUW6 zoa?8?W8$l7WDcWbUyAg9GSvyKyp_L0ernlGsFcr=`lCSZolNfMZa+E|l5LDGt2Ibg zAv$$A)(%p59$Z_uIT&ot% zAbC7qu(u{G5bYD_U~aisqMoz;NT;v!~rP%~hCiY|&4sHZ8H>$3i~- z+e@tfiG%xO1uKo`HD@1qg^#Ktb)$xrD$5BEt6KhVXM?t2?cFU1u-c6c5O0#rO5pFja1`W+70FLsNC>q z6X^+IoApe^GuF*Gl&JGJAwa(nA(+5Q4J)$y$s6*C#KZX7LxSo#OR=k{A6-By*tQ#eE5V?-Gl_uGy)#sXymtK1R%O zWEM4~lHM7t)H|XNjx_bQH_-j&=T&my8kv2P$VrV256-yc49Rbbv$A_Cf)i>oM>>BN zBMmOaG42vv&<{H8D_zYm6}V`r9o$Yl*_iv=(*S{gp95RxD@oozqGC=Y#1!;~M^?Jg zL8vP(!R^%UHSd#OeY-pmyB}R4yCHTz9>JpcVJ$XRtY%keVr*)fbB{}QQNFoj8_g|o z1b$B3I_OmP-SSPi7&qcW`tv@hs-=RZB~01U-^4y6HU3A!T-2Y|$M)>Z!8{ZK#Y-57 z|GW=(TbF?KF_pZf7mD2S?WqgwHbC5F z^&o1xM`BJT2G9?ucdah%rl+iViZI>IC77SUG*WfM$hM z6&sP=4tXM#YAAEW#5eNa$?gA@BK7xEzR!Bi-Tkpgq$xU@sI9EJ_@;I`_(4)1rq~HC zlgWE(FwRRR&0JN&@{@f1YPNHi_~et9LkCdChMu}5`A-KblakNO&LrMTm*K7!zAh^k z3%w|6p?sGZ=_$uCy8QXJIapuhxYSm$*x^&Jsx4-VM&>brM!Ixk1DuYfk;=%Lk*B8| zI@{CcG=cX|I5j>_9isG^s#c*P&dXgZPRCb(cyNEJuv(f7Icm?NNf6K!^>g)dchMmh zdQ^KT=Pg||tF_a!-eYN*Dw(V_qvShzRuCoo;)$2Csd-6V*?PWZy6qQOeUB+M@biF! z61_kyBV!W4J~%6SSG6s8rYtQ>uECWfWe8W2-u@A+5iH6xVpDOn@i|e)c0f7v={LM% z;XiA^S79r8I}Q=v`$(`oFY&O1)!Bnf39EjGW|XN|nNo8vPozqb>G1;b54NZiE|4eg zG{I%S)4lF)b7fK>-ZGUs`Ec zHPQ0oZEa=i>eM!xJ~lV!nvuiQ0*^YBAXYNa3N0$=yLvenWMV(Q*C*B!AT`ZsA8lpG z^KXdCe5&(?mu)ce4cWc8%%F{Ls+HZqd;0J**~Ikjz7+}0O4-tAeBg*;5fp1oyx%)|k z(>AH>u`|L+T?3C>8J6vEL1mKJjoNOjHcg7zjj20M2E6`ur}}ZPM+?4xs@eCfNjc*! zBrH#Me4pFp?!o7HlV?!oU(fsIi-0;<%5~`7Q>C|+=XZEQ7M}2I|MSshMI21rav)YF z3EGNNm$57<5&j`FP}&;kkY)#0NrmGm!sERby_)!sC&&|(a>t)hlsIoG32~Gb<2KEO zPnuJIB(^^Dyu)&$OBl>us?5?y*y?t)&qh)fpjS#ZULUkBe48DHaGbW@ZYSrita7o8 zEg<4X4Sy&%lh$U5GfcW zVhN41$3lvW0VnFOjd~Yb`xv)GC}zyTpZfK?c)uSUp(55m<%R{<=3K@tB>8;So!l@& zSBmXWL8A#HegVi?^}4YIbmPg)bT}H_)0~>rnchD?5z{dR;)ax6)qXA!s+PfYbgiGr z9deA#`MfMgr84xwVVom2NX>yLig#W(>eF5_S+%1U+f&IHSynwGipZoO#^}QWy9xyj z;yhWmbu?Ncp-G1VHYax1hs-~8QV-Hud_yYBt*TO247G|@P?%xJ^0f;`iRwQ}e9FU~ zDxHk;D6|WlHohXJD(t{XE>$6CEQANxyGGPuyD_B>UPU(EMOK(PSIZkssOeOd-tuUL zL~*TP*KNv6FAg+~gubHke{cAWaT-wp)h|GO2#E1igO=(rNV(33bJ;sUsPEsch_>Xyp%3kP~#C^Uds3We=A(iOgHCgVNVI%QC2UIM#y zJNcMELWt+FlBXuSa$dN^Jggd4Rm`R;3G4~Zfs!LdJ8vs1rJ5Z(xGE_aKJq93A0L2e zhFVf&(0?T=SmC-~#pK6;GQd{LHaj1J1r%>VP{qriFX-lr@uk@sKFr)F=}BY>pXy%H z-YZTpE~QrAO)hOz{ru&L6kaQfogjjAt0~h7*NZlG?n+5~lQbuu2-hsVVb}W&BrxT; zRgxvU4TCIrq|WK2{&@|lRBwn|v(8g2NJC3QV;L^B-crDRo%9e7f z{Q-OpIB;ZLrN((!T9Sn+#uu#3PFkC14_FlU&+hE5p>K>!TDM}f{4w&SO)+;8Q$@)* zBF4CMy!n!4Tbq&49&n!RjIm++}jf*qh4k8l;)lQvvOLvKyS8G-0V5)n;|4zwRblPkl0a~1dN z%O)M}kDE24XT<5_xE*Wm8Y)Prmt`KgSdeUz(W^1tF&kCY!dP9uz}|QnkS*AKRVwer zZBuQrFBs?H#FsIQIxB}v1jw-3-v6Q-&U6^}Tk&(bxRs*DVx1A6axp%QJkrMjL`{2zh{ zAJ2PUR)rXcf$p|g^{SWTJ1TjX?p)R=@L1{UdmiNG8bfql_q(MW2 zNQvj|>+uVe0?o<46J6o&JLv&-mdsQmw2+t`W$-!dnN_Q$ioFVVPEYImNa2n*{ZEH3 zAZy-`r(AA;FgwHDxJlpGNbPM*Q>1X`o9^N&560#QP{y#vIpDLBl461=NfX6+k`Yf$ zKk_W+O(=37Qw&VC#L1@F*`$(dAKgoLa_F9N(4#RbE*C4p$5hcg?m8-oGpB|IyWam0 zs=w2^T@Ewz1!^pdD)@l{0fag$Yf4Gqo*3O_^{}NJCrG%Ju6uHTUvIrrVXiqYM<2M~ zZ)v5TpKzz=qGBNpCOl?0h>ksPDFd^U(u~IZd*XgA2+VDyg>^2XQA4QMvCHn(HJ{82 z<-whf1I1H(@&jV6D$tT7n4L4M)Z%olYZCc$t?k$X|Cuv0BO#4A3d5(J5!@JOqMKep z`|xENPSD`&P?2vhhxy$yx)vN!`xYY`YaP&oYMk_MQ?EDgNfnP;$-^7b`xdfa>riCv z?9=m2Mp405DOktoZB8+lo0y&oD?*Phq6BANxVMN(~_fVBcHR5*9LyWd!UXA#x#t=LWB4l^ zu!zuYYWa_45MrQGipO{G!bFt+cW(d1YcHPUq&(~C?G>dGO;S?4uJw9pZLxGl#6hL{ zXaomY&srb?!qu{^7YIMUYIhI)pF{|kmg0p}{nLU^OX{%2I@nX0s_!Q}Fb0wj6nbz+ zQ*$~n{G|hNUM;3hj2}Ws-?_Yf8TCcMXV5cuE)<1?>1Y(-XPJ_(yEDGlR5sp+$eUa_ z+GTdO$4X~{8 zuv1^n#vHj=#!R}S{-(Ti@Kou*VAszdLh{q9f?x71WdsA($3xYF=H84tp=Zo%3v`G@ zVc48lYkl(*m=`H}Cv(mCbSGO+2&76#niV-(7S`kqwH*rl{y_lvzuLOVYB-13qJ$&8 z50FI08idTB^7^s*HEwZ5O~UllYd#Qfco93~-ardr|yK3iL^x&hji*K-guKS;1~dk7*S|l}BVn zwcQh!R}DL=3t}ig&2432*G^8Hl%Gmw#9onRtUltF9}tCnFEn@P|Dk_P`b-`6>jn&Z zqL9$>rg!YEpM%H14?F*9_iQ`U3xu*ZUiozAT~Nw%RZsH>{PEt4P5sIn0t>RFVK}@% z6ErQ>?#w_ygP?U)LkYIyWPSKXWcc^dYmUQm#WSnNojbf-UCm0<^Q@vi3@61vnWpAT zea|aXZW*176x~g>l*ho16N+VNLQ`pGkCbjep3l<|N9M(hyv_?+6x9_3g8#zgjT`0SPS>(qg2jCs7o5a(=iO;~_Em0I> zBHi*zzxfp((f=8!1iE%!f+^xzsSynQ`EFajl+>=Q-!^*T+M&_JOCxsoSa)hK~_E_HhzBcjSnCW{YnUeX!rZCCcNo~ zpVhk;_M59D_kPPaXmxHV`#B=iAKQeGGa}M?x2ZUnLGKyy9&+x*E?cj(RV9>MZC;6X zmhAcBYsv_-WjubQc2zLGFwuw~7IL1Rl%KelTd1n0FOh ze%Q3<2+z|n^T4*Nx$d^hrLyIyzM90%zF@q{a>5_%>0ioDjjlB8jAc-ZZ*JoD4= z%oH=3{iZNKvs!aKgLHg}wRNm)7O+|Iu*D8N)YU7Zm0w3N#q?n!Sh57MsnV9BWrz(^z-y zJS5Na&Si?ZJYC;<#7}1KnY|C~`R+fi=2 zmk!E-Cq`+%PctKqty7i1NWcKid0G?&1yCq{t)CTA($fEHZ+)Xdx8<+aMSGw6eA3T0 zl0|8M4{5`iqd&IZ5&ZMeKJ1`Jr`nPkTIUKb%&B(BR$lxgmH zO|;Ozazll61ZR4s8{uWW(}|Q7(oe0*2-4%Ag&!hZ+q1JW$Guaw`x3BYU0x+aP*1li zbU)+%xfjpze9?(dd@pVbTd(s|+{Vo4kzHV)oF9c9bafRSB6cR$$K?02g+g)v91QPw z#`}E!&uU-r%@n-qD&mO<+>bK4jn5KE`*g87G`^A;Bm;S6c>c5(DaE_&{lCA`DcS1t!vj5=+32qG2ch_*L9vm4w}=CB7cszIJDw zuut;HB!U|Hy1xA3q#`(87(wrte+XR-*l|8Vk046^x4?VE?m=8H@jtCN_cct3RIA)> zfX3Rn=nE=g)D2IT`ituZkON`Jc%=gqZ1n|CPK8+H1C z(I5B5Cj+CLW%4cCGeWQEcDBzx;=KX&2%6Pm=kC~OT{vL$XuJN%jA<}*!NwwR>c<<* z7X>es=N6Fty{0uKHd*;7JDqG#tN3{da$I+Hgyw`NSD4obqxoFwdYSt|<)K~CuZ~DE zhdO%}kn$HG*&n}GlM{Xf*!qY^+BQ($~GFSE(xBru;ZchGZfJy7-QC4km>@+-4tsyXL`CbLFpXl1{ zjk73Iv4G)2IwMrSUN?N1yAG_D$GGDnrWgCrY+@^h6RRGyRuL!8GL0@3arE|JjDM+-c%9LO zdAgf^SbX62u`=(6d-+MZR10Ed39enJJ`7=2nB-s2o!R~+F1i}d+7aS;KBqp#cX3GJ zQXze~zQE-@p~s4IWie_h6UpKCPzMAEf!$JwZsu5~@{ zywof23c35MW$;KW1Nv{b)9YZQ z=lVc7Y$ad^+&V_)5IJC;KB*o)_tF?ov8xUraiOdrkc=e{#`iCI`)+U7N4i|pu@tuq zSm@iGuIX>3tMBIsEntjes3E>ARn2o5eI4G0!jLPkds{qf{eEp8KZMxdXHM1!-@_5c ztA_l?z35|{yo`(|bJ!OOXAd_;dd4gdJ7g}?!x=wad>TEfTssAZX~Ua+R~<}Hx}lxh zcl9(+KBa z+~3ZZXk}&TU~3lWO4S^FWm4v%PJO1#zWlCP8oLh$WLCXg-L9mq=iFH+{-F!0GyuUv z@suv#bJ^ZDdm>y8rXyxTo7khvML;=nlfJ_n=2a2tuoPis3qM4RXK-45D)PtjxJ{!$!JatYZhSd4ho$U z{wno{oPe$AgPWfmS@H?C_Fu1FK43j@{J8$JI2lcq{FT4*_%pE6QC};zXPX$7|I=N= zHDbP%!XGcdiSpr~DniN0mNs_gZf@76aF(D66qkmurRqD1^b2EmE zSz^0U=8J;2_=36S0{&_*6*20UKOWrYFZol6k85OVJGsGX#yw;A#^KM#prh%FO_yO# z^1TB4X2G~7!MGMS{FErY|6jOagTp`H!+$x&Yc9}IRkh9y-k%uQFJDvOU_~6VAdZ^$ zqIIGD6kf-G#Ic9 zZ}BB_fCRrD>Fh3mMs*ra&e?*HY*PR(aR8k)c{24|J=f%_uFrS&{4zM%~VEU zuvQ^JD}a`X!RGC7xuWKC{jWFsydjm_?^C`wKHovr`l)hZ|1KH9SQ$ao`uJmClu)wmP)p#7^oL6u|&vB_W$km1A#t3YWlJM_S^I{+aK^EnWq;&us^p3Z)-Dj zP4NIl(a=Yc{CUMw{w0S1l_C~80EHY!QB^@r*qBGrtkGZiqhcIwVM&i|@6cb*poOJ+ z>q}P4(c2y!JHVZL;L+q#X`|ww!DHLqU50+OhPNOlF@x%O$gifYzhB;ffV%R#)D=85 zz;8%yU{M#LfPwJ853uF~=pF@B)44AxN+Dk#9SSpT&*ZFUvYhAi3wuHA9n&?th7T?S zEwlu=>jhIg+{4^c9gGtl)HICT;Et#}LmuTzDf=(~87uX}7FwsREbijPHNLznV1%JE zQ;yxdGk2yW2!+c^^_0r>R4x5$@b$r5&^yb=%1XIjndT=ogZUifxJuAwivH2{`_|W< z0R0L7=?*V1ug?+5iS6#lqwSwQUH{)+(gk1PtFEUPO@PYXFB&jp|CA&MdANTmcR^o%Vc)adh!iIXlO#%{`TO8WpVmYm9Adf9$&)kob?mw z#-OoP)?TT<&miCFajKD}s-vyFbs*dbrQdW&>(7x*{*`k_Z8RZs+qpW=ys+NkC6}A* zC`(nTq(Ye)7HX#Mo}a)Xe)g=+#n$6-oruT85-i1iet`6tG_wl*J$v6tS1o$ahf2ye zL!9?AAh18U#)JN=1JU`6MX6;b>f1z9?508VFO)<;KpzL1%nl*f7ul8;&#qD;y~>nh zlCld1>z&V(4i%MJ`qa1(Fg1bp3$@0jVo!Pv>U{(E-D@elIim@BL9Z~wafZ9XDkM$l`-|wllZ<7%)$`3n=a!Xwztkz`ueM9hf{f?4@X#m-|Wy*uM zv39lejM`g?3Ov0U_Wg?{8|H|}gp-iitiwdmjSZ?cnsUHWDuLWEGFFjYe4JE)H;`K=TLWQ)AHT@m+fZVO0h@Ntk4Uzjoq`2S)DVkjN$fhU$EJ2+rGd- z=pT-lo@2B+mTolOe_(3*;&Hc|Fn8*yB$%HZMA)}2P+HL9te|<k zF|mKaYEOXDC7YutO_QU1_dDBKss|+>WXWzuL^#e?BTt~5TX;Ha4(jEHJ$3JiajOD$ zsrKBwkL&CT?vltqUztm7t6G9mAI|HWu>EruC-ZJ8hdqCGP?!xxuQ%B#pFj%f6*jznbdG{4x+f4(9K|X=+x= zg3!AK`>bbjMJM-H^N$mGjkNAdiJG0ym~l@AYxP`AtqYUw|2dCD=jr)97VoI71*e#W zrzswVo69!<4M=IrU%ww;@$PUYuAuw7h)38!ij!(8zS9`MoBU{l$jts`kLqIP0vWS& zBA{xZCZs*do?|zVda0`uPY9)sroC-J8 zZrLNKz^b+r6X5VfomX6S&>}t~@yQ;()1=vudaHmiqJ^hapaqV7_&r1J6Rk@7&9hBS z^Ucjb&f~;EGxc<D(QoEU18O3;%{>ZoCTUhq$HlzL%$UX-!z-0zX}EiWb0Qq$A>0SO$)Zt-Ug z;o)fjf&9Ol-2Kk%UIZw8u~`)jCaUM5~%ZUjzw?K~6Se0jC%vt#@2DX2Fm*LSE6GgJR`zJ24~Cnj-1|kxR6cDk{k$Xks!JZxz>^O+D`TI-o&;nXldBb zM>vzqJ+>)RFCCUt7O3J%sd>NK8o&$WzEyp`nsEA&eAP1{=3C9JLwL<7Accp2kCL2W zke!*fo`2&U*7!Nu63CVA|Lfv`a4pE?VjOC7qImc>?x%WWBCUu)^dF=VAg>q#n=l^W zzh9e*D{v0;HM$`lOz{fZ0iO>i!U^;RBw>^xf^fjrpOTGWQ>nEhTKz=t=-brg7(l>2!FQ0U7xS26FS{H5Kkb|xa&lm zk0q_=XC7!i*Afur5@sdB2@78DFH@}dR(#-FL~OrVl%~?`k?+@O3$POK<~jK3`spqE zM*c;T3Yd9*#-V0B;xGc>VR^a$#P@ec)Nf-yzRyF%bDmsh{N{Z2FR2H}lW$s_PL99k z=Gr7^TLFiYdKJG;?9pw(Z{jFt{ zUzJ=`=&aNHvrzB++@O~2K_S{2_zc<2s4IjohdP}K?em@4H;@7On{DF_JzDdb=iN7= zx~V~nbz1Y`XS?{!u}70Gna*+dtyrs3u`?OIZDC!p)Qxu{vWk)yU2Si_U$Rk4dq!ny zt1Mu-`v!lEqPaoi?A8V{zFZ~w)ZWq2GTZdK)~-YGEh+%E8*y|WAcg!3fN%iOvNOrc zq&`NgZ21~jwAMzhR?iL)OSO>6KWn>x0iKTd9xEQ4iEdtCA_(qfvmO<*5 z>y050{gh9Ed)M;6^<#$GdaEzs%Igt}jGgP}yCaXt4L0&z3CNt&F%O9H#XPbM`vJ4X zb@aD3qbaqkcVX>l7D7WveM^v!L3;dZ`@p+IjJ(Ouj&p_9 zL!8>FKuGI$x4IPPI_-0k?HfIO4~JeV795)IX+Pr6Ubd$>@s(hwH_F8pxc~ZtaFO69 z?i?PhyA^TCe1I%BEA9WubXXlK1w*7G+Cbj^KehHC!3?xTl9H1H0kRi>Fn+0w0w$bb z)!sdSo|7I=7`i*l^J&dch0U@OWlz%<)>DU*hTLKMjY?;uJcl}SXwE+RBUpq<>0ki6SMR*I7TC@46b*bgAM!>sw?+zB$6Sz_rJ_e2_Fm~JwQ%y6GVILKdMLb)N z=VNJ~p>Mhp#~ceYvzwik=a3xHAWB3%j7g!pGcORwyw@+K2bDXZVND+Iu<$`wm_G*# zGa!jOzuGMB4&YiEjLS8x4TA0M+XDY90>hPg ze~W~}wS$#@G*y1vS!*A-IPde>F=ktcwz9Cza`#bD=Gxp3r~N4Ke5jkM^jt$?eF?Ms zTcD)hY9{3l$2C*QK9lo$myl%K*Nh;0Mm&pxoi|14+<0VeCYE*qXbq#{<75u*L7sSW zybFn95x(KztIjQBKNsrAI5=%t_~AqhD_87$<;k;6`tKs$ zK>cCF2|!c3iE<8?f6}b5NM3(U2_G8%FJ*?coUL*huA9E;PS>AOhjn8!gIF&Z_)!8S z&aG}Jb;_Ma*QISl*W2^v4OM$m?6w9UwD&^(3AA#JJOl(kpn31pJ6rwo^KG?D|Ar~Ke07g+op87i zm+PIF+RE+jH-Pj4Pxl{DVSRi4{lsAPhM}$Rly+0ZbI+sgDgVeXfD4}auM7SG@Mea} z_EDanwq%mI-l>3uPc*;efI`H&LH+mlyy|zqXMxhNkiUryYwlaZZHV^+M^g=@u1Eo# z)PG)(91EFQ9NDRt#9?xrfQ&@MzK?sEbs^3<&0X&_;Se@MA`cOhf*bhC;rH=x`qzDqnP#o-tsQ*GDbq_vdgSgCW zp%%M1{O6=3?dSS35CsYsxvyXi#%cOCs1#IBU)5G_JSvIX>bU3v8!YnsmrV9h=4|K~ zDl4%k!wb)ODePoxs{y(oD2a08Oq84eJuzM+7)rX|3) zW!Sm6ex6}T$fmVJfdm;)P!N@nkOI%#S9dGV1l%1`pIeH@ymej1y>BAUATufy+w{7I zKkO;k5kakr0waW)nFc~o(}lmW8h<~Tk)f@}20kHSd2*?S|IPZGHK{~8GpvW>lFYU{ zB*1*25bu_8I=QXE27p=jyODBq|9!HcEM4Pl+t%3ays54H=(08tCj^MYtH(q|MYlpW ze_w6k;8rA>>m8RI%TVh{0TsdWHU)Uy+mE(B19VnsNRG|_{uR7WzzC8F=5)HTE(qzS z80tK|8fo~O7W(T`eGlzo!wQ2XxqOqWc3)J@E_65pgTvc7>KOJx#3{ia3HK1n*@YnP zwE;Sk?VOxe%Ma~~<|%>E?AQQ_Ndrf(Qi}Lr=*VD`%QZgXQSjbjIC5Yth{RSi zFDJ8u;A3d|NdmIr5+Q~eL@Hazv zdW|gwo`$Du53YJs1{MdV@ncbV$^b58U||!Frbex%^kd=nnYJ7e*3_K#iZqQOJ#U+7 zPvoI1mAX#mk>I6=o?ZP}6|71u_|nla*H?U_VV*)TiP$KNDCzF*et`l+DSApYh>r z&^)R&^j$|l9Dc0GNa|Nye`S%wCjFAz`-zADz$Kcb8QvB+0yob$y1GFmu{1!ane>B> zb6&>LM?ER{G1b#Q)~7Sc&YM%t8@prKNMosldK@GJPLYZX2avx8>LQ8LQ0^gc0=a7$g=~I6`Tk7!@uuf z1M)3{1!uo8E@ZFzd>lp~*^-+dBEGj!H@ceK>)|cj0UWK>g1b70wj2aZq|GqhePDmfKDg&!SOUsR_cDR3jqiwvt6%9c2p^$?3`UlJFNSx( zY1axgM+WZHV_I6Qx_xa#!E0-=B2gPpK1;8ga3RSAj zy@9xMr$^GKG&FZZwQ+P9F`euf4^Im!qu1TdrNtNp5H9T(%N$q$VlNx6ZY{%@;!Hd| zRB~pK86UoKJi@UugiTB7=P2Xhr9Q6nW1Ex+8tV%l9_SMwkLTKJKNd%3k~m1M4)14_ zRWL_ZDVTITU6Qlb($G-v#HnA_(YD8r1)ZVPGJH1MNlVl2B+~rGcQ2&-qNG&>P}Oyg zrL)O+c*_?j*XOii?9#f{W;`dClwq5O&VYyRUzNB$`LV-KEOY=7%BeHU6rp6KClB}p zIaVOC;iT>{k&XG(9u6^%E&gs8KI!)B{S+K6wLaR0G*qkkiG>$eAWE>=W1RX3ao&y! zRsIlo1*EDj2wrz*s0GERCoMn0;6XNd6*U|@-ZF(dH|j+N5S53xQSo!9(?(NlFQ z<5L{~$IYD*9$X6!tD~?8ttwiIqlx6*@onrz$)686YX26z0B&cCN!IpvnjfVetV$oG zoCuXwJv}59MR`aT!+uUtO(9F^4(Dm5ReNghP;Fe+@fJ_}0wbOB5%^{T^sS_eS0mim zy@PjPxkjI=L#!gg!$(cRj@$-o+-gkf?9hp8X<-Nf0~V<={5bdr)!{sIni7SF77gqk zoDg2M+d{Rr2f<=#o@#Tr83-SPUq;iJS!L;}jlEKjhnFgMI}RL*s{EX%s@S*jr5T0F z)V9qWdgze0ABOay;2VxS6c;RzO$T(XI>8=^n4Ug5U4Y%hPPzr62ie*!HSiBomnf<%utBPy zqUchrOJOVo^6aPeTizG#B<(XPhY1i;3Z%*v)-s5PPc}KhOb0wvt-L8g2+BidTJ4#^ zrAjs)iGNB_{l?=qjfGP-hC38BoT4h1fYD1D@zb!DtodO#3LchX zWJ8!#nNexl05hCys$pfdv29OOg{x}|W#bEG3cTG<^*YkNb7N#wV_x$kCN>DeA0keG zQ^J|7GRYCOPk401{IFL`+o%Tot*zGHJC0Z~fieGcp2RbBn1BU70bCqbC@!tx#LkM- zjsrG@5s%^*%f&Aa?4u-Wmm3UBTY(Sn5Yh-&Tb8J1{JqOD#t3xer#K=!^f^R{&4ly5 z!`kx(9bOr}39JzYr6eZH-g`2t0()z5N01SgsZCi-yU^n8OlNm)lyQRdwZWBD?SYpd zIr=5^Im(YH0nkRkkRT}=gLA`-|Gecje$|eMZg3n!eAE0iK!7YRGTR+Y(CGtC6pXkM zC0^T>W20poG1Oqsp?*2P!*{xpd4RY|8B3FU-4!{xbNBUsGhbXIBEOtn=24bPFiU78 zS~A?`mtb7ycHdm*2{qLhJ>iYiIiIlxM`z9k87a)gQela)50Yj*cq^Ql;S*1#f3C7f zm`&jRy0PiQtMgEfI1( zUTd?4;}(>*U*(g+uvpq4l#ZM$E(~L#IXpvn?Cy*KD~bnY^W(>l??@kgD7bJ6F}Qqj z8AujxKnT;o{c4xGZyUr%S>0r_*yZo}H%fn~KIq^0QfXmBWTl+jnR3aU4W|&CZ$|*V zG9(L5QEPqEMP3AsLd$TtP7+2nj1pNI@B!a9=VQP2s_m26% zmaRz}mSY}xE!BNmC^!WVrhhZJsuMzsPu2|1t!u{Ln#QMRIA4Du<&mw9$}e7Fus?kKMcFW!L$PF;2whQn@cP1r!(VmemxOrw;wdowDR?^b=mz-) zZ25Tn#fh;fI&xeG>0U-{o*PtY8up*)Oy{G zF&JBGR@>Pi@lW~_q@Bty6>3H80&*o)dXH8A><_<13I9AQr7`;DFMZyk3YS1S`7``w zmeJ2DJ-k}#Rp7inO<$FrRxSP{q5>0sD@;%>ZUr<9g=M zd7Ph1%kXOd+|VkIrqgO0djMfSHfK-OZmDIYFlup)a}+#!ap$a3njwsWf5xMF23=l; zVXPl5%W%uYE;ns_p4%t-$)#nm`895=xtLDq7gs*|ac)?V=0j_sc6jc( z)2K7>Bw#1DrV);oqtnjEB#2CtR-}J~<9t^tyC~~&a0|7OY^n2dZ&&0j)w$ej2yhdk z9a?vdF!LCaH^x#ske+D=G~imvSK2;NDGwx=*a15;=`x&yJ5F>(XN=%5mGTvoh0rob za5+%0&$V+=hXJuxj$4#kdTO%vRIFHaa_4DI__NB1d za|mFi*6U!%xcFx8NnuXlf5Z_-2AFZ*d&yACm88{ve(5ULHFXAGlImJ>`qfKnJK2F0u%RLBTu!20IPl zNzA(^BtKh9cLr*!(dWdt79f8ibjg3>LS3!is8Ll1{V>_lj90?S->)?>_oqy!u&1Tp zf(HdS)U0sPn#4NJ-&--kIyT{Mb_BmfiPf6}8=JNq-{;T- za-FFk%Lf314me19BROjd3^}yGL6?bqgw9v~*-1BR_dsb3RU7YJXgY&%RvR7Ua1>EA%h% zo8z*U=D0EVt_e=w$iKV-);hlqOcLN!%+Gs4%c$DobXy0?0$VTRcgKm#P`uP%w7Yl9 z)STbTY5rxFvAKOKJ<^IW?ZP|mgsi78wU6IT^Ad%OS2}mr+aHrudm@1)t2FN=VF$uv z45k?>z!?JkTh)zTf6FT!k-;4HrGQVi9aY^Jd}2&sGBromk2R;tZF8dW;(c4xet}0A zAy1~ZoXe#*>UWKRL6XN{a;zRm0HtvBj}0{E4~}D$9yf5nUB0bq zsc|%AEo%n+y~i8X^}E0+#{gFv@el|U1DoA4VGe--78hGyj=KaL#;y1b;J{4I);o>> z?&$_#5dLOEtdKDGzbI4xT^R)6`@IERMXz#-wrRk)oB*R2I{FXF0j|k8!1;BALqoxU z>^x?@o@nUe3-mxMAe-&Kw_aCZ%+_Vl3yAvSyicXQb_U_CILBQiyz;+!++9+t!E$g? z2zKlcFO)?s^_vNJ`seKLYwnM@dPD-JT1j@6*?I%s5ICw9a^e zFAEu-T7pk5HJ>|wrk4EouwVzENbM4OoP%J@2^r(4*{0)e=tZ}b%fhq&q|F1b(O*G{ zFr*SD0I}Z7n9g%+^r54J!%_0(hcp-(8>9m?eYMsDTbD87KM3Xw!u`Jx%<%W$YutyN zcF95f?^6E-&lbF=s1-o~AbMU4!iqxB{_`WcTC$z-I#;itNCVo*uXv{dpjYjX(O!(k z*V;(w%W+VUpVbuQcjWbMHqnj;aFv|27rEwvny%uL|*(`!2)Q)^WKiM z>5gOfyV&nO?%|EM8OW5y*LniioJ7ka(TAqLdwW%0yVC`ckw6CsvvS_h-0jO@FeT5p zvR$5*c}SI~rZPLux6DF+(~yN;h+F|vky{~Il>R4PoCyh(10;ej;f{&EwPxW7$}2AS z7g#N>H1q?!o**^8o{fRw`rZ(d-Gow;TJ&Kieb zV(AS= z%6r4?mqBf=imm=OKY3cSSZQacXL&`+*ekQel?at0Z#%zr3&*U#ji2?NGBrfXZQ8*B zDHw9TH3L{<-S^JWu(h?@Ec24Zs+qF|2@WrB!Z}7BUR}U@0nC-Sqax68kZ8QjK?LBr zFR06Kpv$i=I91ox7lw5WFwbswZ2U;FG{IBO7)tz6OD#IZ+LWklsf5Ry4bP~k!}c0J7l+hq6wr|oJ4wk}HW?d~H)Iz~ zElc6&di{<=EzkF<8S1oSZ6-ve6Z^Z8TyTohs#h9Xjk}_bk39=?9%^W5*#`ue0p-tf z!N7r32XJhJ`?|+s8bjn(amlxwbv&mNA4r`wmBn3@|H zWA)-8iqO6L@tZ>UXjO4GYW^wzSo@vI9(_Z2MeOkhJJ=@`6-%{(#xI$su~Bvf^nDo+ zLsc*#VJ;xAEM@L#cICzI+H(+ozNIMKi`xFL=idye&(gce+m$7MLdDAk8(RQM^0whL zgK=_`Uc*tFNz!OOahZ~x$q*}m#`9!XT3j-7w8N$?zE#L_UTU`<UlSg-D|n(MHpkw+!^rsGK?>mDn8)Z(p~6OF7}^_lKLcrMmIxG0g@Vc zwfh-R)8qji2^#g+6qj{V+A>(8hIRU7q{P)X6;vb_oa~rlwt%o=$!Gj2kzBmy6 zV4`G<^~rS$cA|GsBq`9rcEj9tn^@tN@-Qt63vgkX`yVgxf`<%S@FeG3%ha2t*xEFv zsM%^`%@zk3&^Bq^Uusg$hy5v6(A`bvJpjExPk8HD$Q3TFN_Yl9R5%^v$|^x3h0Y+k zX;Zv$(k#F8MjN)^b^C@5nwSJA_b&Z-tub$RgAU zQ>~{Y=YMEv)8dlq0+u}4A!q2LE$Lg$9yVF{4Jft@pHAq7i#r;M#40$UeT zpWM=gcR`Xv`09*>R;Y_ZOt7IHvr z%;GtibpP&}9;rWlVcJ*7N&vVKEnJtOts+S4cdA^&<^d$zHk&)XOb&{ktI+ET_C@O^Y64&lF#h0rfLhmua~Vrn&kSI<+p!Xm&uw zjw)k(=C_2HH!$m2?Bi#v!jRo2t*w1)j$t2>?8UFR0s=s%VUd(j24$s*l2of+vePO$EU+JsQ9Or9!)AiN|mO!P=F(r&ITFTo> zyE{&h?@6_(qCe*_>UW}-mQn0LUV4I+CH`}Af9Bwh!Yf9@nrX}_hb%r8_eUvs>#hx= zyd*uPE?|cQ@ccy2o8aCLM9v!U-h^=H#(lAh#aD_+Fn*I%*@9kjZgUfsaa1^blYf3P zM^9`8>rtxNR588gx@w+bdDv8EoHe8yZ&hdQFA>otf-vIh8=eB{h9n3=KoUb4ce?7l z!B1F__V%FB08DW6LfrC>BxLX8h53(~9EHaPuVpG;PAlk6m*{WX!FR5ge&R`p%T1^+ z>8$y4_L;|$x}o~`Q_D$`?D?NO=_CpgI)Z{%&2kr1^Y~ApoR7U`EhCxVWGrDe-ZNMm zwZfIA$&W?`p6>c)oW3@uhHl^5g>D4}eYBD4`z)Pe=&`y(#18Fd&pPC6-1jph0sZ(s zK@A?C%q*%yM}kI!b{~4jUY!0F3EW{2Dm6=Si$vS_VJ42i5a%L}d5KZe<#Ag*gQRqS z3! zy-btT?gA+ce|&h!+v=}CO~vu)a=g8jRpCEwwCaB-JU%o%%NyFG^_t%GLZ>=~$hkBT z@!E!tAnV-cgU{C_vWDV1N@`YlP39(Z_*qGgtO-Y18?EOcf;;XE(^5`Yp@wP=$RWVg zj#>{AK{=hZoExzc@tdQal;S!~Nj)+4>q-inN~gqA3@GyqP4m93ALA*N8#s)F$9v=H zdS{*GFU*|JXm={sJeG4<3w-qrYnkCTQ#XXYk<65O`~6s#eN;rfB6T5VBnCI4zuNAjYK4 zBVIVTRKu!^4R-1e{Hv?llx2ij29RwVGRn;c8P02 z*&lPN>_UB4*XM?JRvYDHS~YaBUfbKyI>Y7m3TLwvGignDI_v$6dX_QD)%E#_RBDTn zfxuJN=EGkf$s(_(`7AKw@SOOd7Thd)>++5gwv>GbZdXJ955tA;2zpLVOwvi)Fv0O-XKDw?Wk{8Fg$*67uh6GcEZv zE(tUyL69J*5vD*Fw73bvD(5D09)E&PoQIy+${tTPob0e^7t3vSy;h6gVIMy2S*I*S z0t6p+q4WX)r%?=o1GeG;&w~CY7KQ;$j{yPHA54D+k`w@`dMLG6x(0!*b(|?Kg-_xjG^dTAL0MSoy~^ub$d` zk#VfCe*SARLWCB3v?tM0UI{%khP>w~PZ)cj0onXS)qId6_=piU_bCly-YK3 zV;Bg?7Dcxf)*kjY>LmOrN3l%QJ`$EJH$!A&z&@s>hoxzO@8DhDFCVZ_%uT-zeytPK z6H|E4@_c%E+wMu_##ze1_R*QA@rcuWPEB@ONm^{K8>_Nog@Jx0m|X0KBs+{%QlC7< zW3A^+^I^KT82WtP@2s|EDI`=Z$U#7ZQ z1c>&Os~1uMa;eK&oqr=;EO__70^MYy3i@beKsE4EW$ZaE*(@Tb`QN3VaRQ`#FKayU zM_L5EdF&kKXjE4V=mn~S(*Z>`;XvTzl5)1|3@yDZ0uIdmR)An*VHv*c&H{KAt0L#P z#oZXk9-0s3jJ#oQr5T@S!G&=6pMOwUzWP2_o=8Dhc?Ogmu9_EBw{0RDpw??`=!thz z$~dj!@Ud!Dxi6{~ex1xK%}%_uL|=`Mo-FXdq~(=fu^B)rq1!xUP`X>s>S9WD0*#y% zx$80NBr*EEsc|grk8TA0zHEqBmL$ngZoTgLW}k5763Q?_t_GJ-}@x> z`o7QeRtPg)*xIz^E&8BO)MPbRxRDk`%NBWKN66B~`tdC%WO?><#Y1`6s6)egFG{=& zclH^Y;U~IaM@&a%+G?CW>j(QrW}o7Dp26s`vVfHmW1I-9nXct8&+#ydH9^Aq?)945 z^V><7x3bHXzyr_I_^NF+WU=AXFn1+UTTCMk)$j*4FUZJGW;F$kKAqu+^hqn68h{M7ZsZi+sOUakEs)*(T1;m z!td!)-sP=up0047;i_@fney1S2vB4c9IbzsJC&E<@oLdz3R8`%iHaR@8#`%tl%8al zFvR2yoOFLQcet3Wc3sY2P^&gFC|El0jvcB8wN`)xCD!_btzIN0@utb{10{|aq3wn0 zA8phZsT}7x(0CREBM({q84~tcTUqhfoKO92k7bdZ=Wcquw8p#BpyH)aT@yd-gvo>Z zo&n-H#i?(0CuMW8r9sz^QAU4O8`o_*cir1FQrLT^mn{T02B^L9dVi+>A}q(HQ|wWv z^?qj`+H&Gp3BF@d{8EQ_XOETG6psxzJ;q+e>1OHGE|bw%b9jq%a?l5Uua?O(N8ENl zI?TWPgMV?dG?ev8rkWGmD*5dG?s?Tz&6lC_g%jb8Es5>B-s~>x=`d+$$Zr3DntplQ zwl!4NrL=Kdt4Z4nxq&jp+cl*-&Cf`_sid!?5K|uO-EMSQ(PxLOGWrp8p5K2G4ntB-)*9ZzcpoMYSG?N)>uky+dDdDhu1)@k;rI5}&My^b(xd zP20#MZ`cmRT=bOc*ni(j9xDUST0&#JJDt?;PTceEbB~@CABZiOJG0+)oR~!{RxnF~ zGWk&7sx5b>S?eEJja%4XaY0wzyZ~zFm?r=sdP&TjyS%hF>c|$IH}v4kS&-1=%*;0n z-&OkZ%1V0x7rU%Q1R}8YVB3GK)K4@SaWFo-7%2RJ`D2`boL1j|dOm>y$$#`Vf10mt z4CP7r9^@0cL+RC>0kjRJw3d_RmIPv>v$jLm!Gl_XXZFnpYgoTS z9BpIWs}ZZafL=xZqC=UqWb>>}k;N-tcX`8p_Mvbz=U94c>eyK{Yn0{<{YMsq2nlEo z+`?A_L^yt9ZdOv9k*VE-QKdJhrXy! zJ1C9CSOoWKUWs-IDSW5&rMyfGuM{T8!%2piXmh+wv35JoXZEH?y*Ce8Iz0vO#o5SJG z+dbO@+o52YBJjn9Z}UO_8+I8t1xBH7W2>E>=5rCnGZ7EdDIPMw08SC9*l!>CHrw_; z$AO^oUqtY&EAGpOg-4BftpDi#Gf7u|xF6UZinG zMsMjb6@N0jcF*psGFImt0Mu$r^7dTpIXqv~3M}Bf*dS{5-BV<5Z7AvOWi>H=nipL( zH}XqDbE_|999Hv?63uMzh&}EZz4z185|Ctdwg3Nk$*k zS4}oQ{cbs#;!rmg*x>h?$WN>rDV5Z@Q>}^v7yDkJe5f0+;$;`W|h*8f*5a#xMQQP=t`+szt08XtJ@4S$XftVpr&`yE>}Vp8%>pPJIXCpOQf zH+F2y(vMI+zeT`+2(LiymILF`vW6acKItD9OyAB;6fS%>z&%+0>CqMi*zLT-&a*5}K zuny#$M;)Zh4KBh1cQL!&AZ!vCeKAv*_FI;$(O%_=#n4tLwZ~d4c&qc0V4TpW4cX{g zY`Y*5088dta{egdz3<-Gz@)=NKeFL7jKLgRkE8AM4Q7tfpQ+eEm4?(*fbQaZd4q}p zOV{_cw(o0Rc%$mZDpr$BJ#ilA04r|BXz4(ooo`;nN<~absHEdJf5Y%OAMIBB)coe^ zMEq7KT+ptT!QioIP8BQaw~H=phN#>^D&H`R01L$R8XlbtsY}(aRLt@NFy)1LGiF>} z%G*{RHW`y9;LYx}KKiZcggtOwLdqXdCp$16J0Oor(b`zB7uraH65!_xGr4hQf4Bc0 zwhl*T;a?3jpMDNpI-fj08eu2^fE1 zjyowhL@{|MP6C#Y_Rg%Nm%HJeg?=mfqa-zDetv%Z{B@w*7btD`N{|R5nxIv>9#DPB zslW&h&`wWJ2QnxhfQ=1M1P~7XLl^{D+5j0WRcY4ZY!syO{V#FAuxbLR#!vIEKvzFk z*CDO()YQ~{d9f*ndN^H!JH>4!%hWpnvoC^PAj=O-PM+RaC7gd$KYP9f=a{IEObolG zTn?7Zt5uyFTf~3{{YgNB316%|PCIP-EK(B$@^`e`z713;C>XjLW+QyVHAxY+c_P!3aGop0vA36 z65=s-ZVz(bE%4IzNVALcsaI$TZj6$kxA&wgGSD1ji^{SUz<_T|Fm zuN;h|@8!z9wk-YdCrXJ$3Ug8>cd_5}XJ@W>qdop1E4ht~_y!5PV|15x^N+>zom{H{ zwu$g?>dhYD2J|?s(#&kk|8k$PuEt`}FXy}0OjS^gb!ipq5q`jwKo1a+Kb>1|r zWEsO`o#H%OwBq*TwKjfI3Yv+j- z<)K@0f}L9msRzn7XUvolxvbQz>LwOn$En0@7Y11f&_rR z@Q5{UYsDId>N;AarrLtR=LR+GFUr zbKjD4qiQ=ELzOjJJOX$vt5J?)3Ki6EU1KTlnt?+C*0Q#*7s!>AYc_4fZI=Piq9m4AqCt&pJ38c*l6826hK$#ZxBZ^>Sz_cmos%FUaWrPbl7 zDx6w&-q3|F5&@0fXiuyy|cf9>+aSag8WvQrA}EPPDRmq0<4l{dEklS?6LD0_D^#x)pBJCE| zGvm$fjPSdg)d6Q>5{ydA6-CM7-8By4*X&?zYDKgFj~ttqVW)w4xt%;Kpvbo0kuG(# z#@u`~Q=*pfp)iw4yZN>JLlleWsd@8u7a@Vx@Mvz|*K^4-Dt71Ss;4D$@#1u?u(uBS z$4T6r@A}t%Av&|xrfnVW%CS|+K5)x-E3S%tSuMWRG^WzbiJiz`KMWio&rmZZ-(@G0 zNERQ?9BXpE7-xrrH!iH6uS@Xo{UD@`Q{xR{o}${wF)X78bZnOig#M27mI8HPy~7HX#3QuvYDId@YV}3i)>SIH-E%id6kh$MOJL z(b=74@r?KBN&n4@eNM0fpI8Vx_?$S?2NivKZfNmSl=^sa5l@y}XytmaVJqf!lAGhq zpPNI*qVS$BTK}Eyi#yhumTx`SR5h=whmuN#d3cg@PMa+65n1*WkZ;V^(c`44vjv_; zckO6@Lp+X`&^jL+Y+|PdVc9r*cOC|yio2_7;ZX+jcT_6>F6|(Ul}w~)?6;LV3>Cho zDdaqjPc7wrik%Msnjw%qI$UuA{$wtg$KoK59*1mjZgli($m`XpH+US;uuS{YY)#+o z-chyIrC9V~HECRF>Zz{l5+SXV4b5Z+{{rI*oEMO-d!7M{Q^7tLIe`wSXdaL^N1iG) z_SGDyH@X+N+|C3tYe3>0K`e_{aa%eq_yZa+g<{SBjfP53gfpbmy!%_3ZU z@$v8mH3lD&o|Qfj-&Imqm8d^a8LU%@B*s$&1hG@>|V=pdF5g+ zIFN2YP9nz9)MSwEW|@5?am$qp?qYyl2ogNIr&UDr_0Q|m-_8p;l{n9f3-B3V%dxxA z!e;l0<@%bJheY_Rmloo8)6@+aTrb>i&?8z{k!pKqiZ(k;Dwv;KC%dyDR$!{LYHDpN zm?htQZ2ve7F?RI))2n`NxC=wArM2tn%PzX##9neS*R^D$i!%LK;!&(^Ysv2ub!wjm zI#Bf5B3k^Pa6iJyf7uaosogKIV@|rDOD+;z+S8ir+;1N-ijfQHHz(PjIc%!3_Loj; zmpkj5J>ZlVmnH(+UMLG zn@3#ZGhukViqc2rd~4N&mvk;?Ze-PAOpQ;dd2Tx@X=Rx;u{%zV-cq`ksw~CWhU#t& zS;)vRrd!m*tC^LCnJ}9I~G6QDY+t2+wjD= z?dTh|He%dT8|Qjgt3S3rvbgi%qgc*gNxg?p-R^yGQ<|=;5R0PErsH^KkD)n1&BxXo zT}?PLe&-(B5FilM?{p>$ujgfo;bO3tH}z*@cf9qk=yt@p>Hg#dfjE<}25ui9%%tp( zt!H%xWuy;{n9w2a1{J$Ax||eHfBLKX%3)I>?;9a(EijQ>vQ8yx55DtdnW^g+q}*pE zQZT>v;X7JiB_xOPe8u|yaTYKj1 zzGGxSHs(IYBZn6i9sp55@gLm{Ha3pxc3i?&m^W3u?`04Z7ysSNTo<6wv#UyPLq?Ru zEx4RyXdz#$*R~uFa#9m3=_ur1```BT(y~rHeH9r-qws{OL@dw1#-k=q^K0HUN`#?t zsnX$IEw+07mR6*Sz`aCm!Fzpte>OJ1_z>=^y5ik#riRTj`Pm3%;@hZ>Iv5wyB}1s^ zm^-s@TtVZG)XRs^T~nV6;eAeIe7QM2MaP=!`K0d;!kTuSBZO3-on&yxNZDVJezk@( z)a>@u6z$g^QbCIMuRk|nsj@YcI47PKemWZLQ+72didxnUeC))m@>DizsfXL_E5*W& z4yV^fbpZb1&K!ak>+LMB>cfHmOaJX@0KK)QMvkqEG>bp+AaiN%!_TUnDL-d69`xgn zm>6j3^{^7$GlL(WXWwF%4W6ub1`%W5GNFVlQGf1!3pmzSIzRb2fnoA9ZDZQ9Q~FWB zsEvQ+@~VUFw=?p=BH=2ui?NQLiiUd8Rc+nQ!h z&t6Th&S}JMZ0)MfCqpLd5S&;qs_dGlA3M$rg$+^dt4f^pPEK8MySt>>A$D>>XX>0w zTW9J|rI8b+EALcx1Earz?@6IQ_~i6nhQ=&CO(1@)9AR1 zNo1P{OEYok3XJG#mvA(ZCE!H zC*sUEY|y`w`;bE;I`ZC+VtWt#2l^SRm-mI<)RroZOfx0;H<uw3T3jEzU#gqcgrZjvO@``Jae1-To!WYT`%dA=5LIAKg*#x;_N|L6Lx?w

FKfXIefWI!rS~5e?&D1~@zeMoGTb8qpKrsww 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�=9t5V5f!eO$dfVuonc%@jk$B(4xuvix1=Tg<8 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�%=o2OI#4zhhIb(#TY{dC1$N4g6bXjV?wF&vk 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
+saheli@chai:~/axs/core_collection/varia_collection/graph$ axs byname graph , print_hierarchy llmcb_using_qaic_kilt
+output_entries_list: ['AS^IS', ['^', 'byname', 'base_llama2_loadgen_experiment'], ['^', 'byname', 'base_qaic_experiment'], ['^', 'byname', 'traced_kilt_entry']]
+{'traced_kilt_entry', 'base_llama2_loadgen_experiment', 'base_qaic_experiment'}
+output_entries_list: ['AS^IS', ['^', 'byname', 'base_mixtral_loadgen_experiment'], ['^', 'byname', 'base_qaic_experiment'], ['^', 'byname', 'traced_kilt_entry']]
+{'traced_kilt_entry', 'base_llama2_loadgen_experiment', 'base_mixtral_loadgen_experiment', 'base_qaic_experiment'}
+llmcb_using_qaic_kilt
+|
++-/home/saheli/axs/core_collection/essentials_collection
+    shell
+|
++-/home/saheli/work_collection/axs2kilt-dev
+    base_llmcb_kilt_program
+    |
+    +-/home/saheli/work_collection/axs2kilt-dev
+        base_kilt_program
+        |
+        +-/home/saheli/work_collection/axs2mlperf
+            base_loadgen_program
+            |
+            +-/home/saheli/work_collection/axs2mlperf
+                cpufreq_support
+|
++-/home/saheli/work_collection/axs2mlperf
+    base_loadgen_program
+    |
+    +-/home/saheli/work_collection/axs2mlperf
+        cpufreq_support
+|
++-/home/saheli/work_collection/axs2qaic-dev
+    base_qaic_program
+    |
+    +-/home/saheli/work_collection/axs2mlperf
+        base_loadgen_program
+        |
+        +-/home/saheli/work_collection/axs2mlperf
+            cpufreq_support
+|
++-/home/saheli/work_collection/axs2qaic-dev
+    qaic_sdk_info
+|
+-->/home/saheli/work_collection/axs2kilt-dev :: Output Parents
+    traced_kilt_entry
+|
+-->/home/saheli/work_collection/axs2mlperf :: Output Parents
+    base_llama2_loadgen_experiment
+    |
+    +-/home/saheli/work_collection/axs2mlperf
+        base_loadgen_experiment
+|
+-->/home/saheli/work_collection/axs2mlperf :: Output Parents
+    base_mixtral_loadgen_experiment
+    |
+    +-/home/saheli/work_collection/axs2mlperf
+        base_loadgen_experiment
+|
+-->/home/saheli/work_collection/axs2qaic-dev :: Output Parents
+    base_qaic_experiment
+Tree printed successfully!
+
+ ## Running tests The next step is to run the tests. @@ -76,4 +142,5 @@ collected 2 items test_parent_and_output_entries.py::test_compare_dot_and_json_for_target PASSED test_parent_and_output_entries.py::test_compare_dot_and_json_for_target_output PASSED - \ No newline at end of file + + diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index 711095ca..a8ef4c4f 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -226,7 +226,7 @@ def print_hierarchy(entry_name, __entry__, indent_level=0, d=None, output=False) Recursive function to print the entry, parent hierarchy in a tree-like structure with max_depth 'd'. Usage examples: - axs byname hierarchy, print_hierarchy llmcb_using_qaic_kilt + axs byname graph , print_hierarchy llmcb_using_qaic_kilt """ entry = __entry__.get_kernel().byname(entry_name)

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 a@StV;z21u(hMcb?vH!u@=6CDscmD??JSsK- literal 0 HcmV?d00001 From 9a0b2ee92a5a2795fe978e7c9d57ea3d7ca5f74b Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Tue, 10 Oct 2023 12:21:19 +0100 Subject: [PATCH 11/14] Enhance user readability for code_axs.py and README.md. Remove absolute path to the image file. --- .../varia_collection/graph/README.md | 15 +-- .../varia_collection/graph/code_axs.py | 103 +++++++++--------- .../graph/test_parent_and_output_entries.py | 8 +- 3 files changed, 62 insertions(+), 64 deletions(-) diff --git a/core_collection/varia_collection/graph/README.md b/core_collection/varia_collection/graph/README.md index cad3bf18..780a304e 100644 --- a/core_collection/varia_collection/graph/README.md +++ b/core_collection/varia_collection/graph/README.md @@ -1,31 +1,28 @@ ## Generating Hierarchy Graph -`AXS` command: +Set the target entry that we would like to draw a dependency graph for, e.g., image_classification_using_tf_py ``` -axs byname graph , draw +export TARGET=image_classification_using_tf_py ``` -Eg. +`AXS` command to generate the graph: ``` -axs byname graph , draw image_classification_using_tf_py +axs byquery graph_output,target=${TARGET} ``` - ![Alt text](image.png) - The figure shows a dependency graph generated for `image_classification_using_tf_py` entry. - Red : target entry -- Coral: Parents of the target entry +- Lightcoral: Parents of the target entry - Blue: output node - Lightblue: Parents of the output node If the run is successful, it should print `Graph is generated!` - ``` saved to '/home/saheli/work_collection/generated_by_graph_on_draw_a579763d98044530962cc967ac659b28/data_axs.json' byname_entries: ['base_imagenet_experiment'] Graph is generated! ['^', 'byname', 'generated_by_graph_on_draw_generated_by_graph_on_draw_a579763d98044530962cc967ac659b28'] ``` -The image of the graph rendered in vector graphics, `image.svg` and `.dot` file are generated under `~/work_collection/generated_by_graph_on_draw_a579763d98044530962cc967ac659b28/` folder. +The image of the graph rendered in vector graphics, `image.svg` and `.dot` file are generated under `axs byquery graph_output,target=${target} , get_path`. Open `image.svg` with a GUI interface to view the generated graph. The structure of the `.dot` file will look something like this: `image`. It can be interpreted as a normal text file. ``` diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index c426ab66..7c9ec62b 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -5,61 +5,13 @@ initial_root_visited = False -def dfs(root, f, __entry__, is_output=False): - - """ Depth First Search(DFS) for a given node. - """ - - global initial_root_visited - stack = [] - visited = set() - - cur_target_entry = __entry__.get_kernel().byname(root) - if not cur_target_entry: - print("ERROR!") - return - - stack.append((cur_target_entry, True)) # Using True to signify that this is the initial root node - - while stack: - cur_target_entry, is_initial_root = stack.pop() - cur_target = cur_target_entry.get_name() - - if cur_target in visited: - continue - - if not initial_root_visited: - color = 'red' - initial_root_visited = True - elif is_output: - color = 'lightblue' - else: - color = 'lightcoral' - - f.node(cur_target, color=color, style='filled') - visited.add(cur_target) - - parents = cur_target_entry.get("_parent_entries") - if parents: - for parent in parents: - if isinstance(parent, str): - p = __entry__.get_kernel().byname(parent) - else: - p = parent - if not p: - continue - stack.append((p, False)) # Using False to signify that this is not the initial root node - f.edge(p.get_name(), cur_target) - - return f - def draw(target, return_this_entry=None, __entry__=None): """ Generate Dependency Graph for a given entry. Usage examples: axs byname graph , draw bert_using_onnxrt_py - axs byname graph , draw image_classification_using_tf_py + axs byquery graph_output,target=image_classification_using_tf_py """ global initial_root_visited @@ -94,13 +46,11 @@ def draw(target, return_this_entry=None, __entry__=None): f.attr(dpi='400') f.engine = 'dot' - with f.subgraph(name='cluster_0') as c: c.attr(style='dotted') c.attr(label='Entry and Its Parent(s)') dfs(target, c, __entry__, is_output=False) - if output: f.node("output", style='filled', color='blue') f.edge(target, "output") @@ -127,7 +77,6 @@ def draw(target, return_this_entry=None, __entry__=None): dfs(byname_entry, c, __entry__, is_output=True) f.edge(byname_entry, "output") - f.render(filename=f"{dest_dir}/image", view=False, cleanup=False) print("Graph is generated!") @@ -135,6 +84,53 @@ def draw(target, return_this_entry=None, __entry__=None): else: print("ERROR! Provide correct entry name!") +def dfs(root, f, __entry__, is_output=False): + + """ Depth First Search(DFS) for a given node. + """ + + global initial_root_visited + stack = [] + visited = set() + + cur_target_entry = __entry__.get_kernel().byname(root) + if not cur_target_entry: + print("ERROR!") + return + + stack.append((cur_target_entry, True)) # Using True to signify that this is the initial root node + + while stack: + cur_target_entry, is_initial_root = stack.pop() + cur_target = cur_target_entry.get_name() + + if cur_target in visited: + continue + + if not initial_root_visited: + color = 'red' + initial_root_visited = True + elif is_output: + color = 'lightblue' + else: + color = 'lightcoral' + + f.node(cur_target, color=color, style='filled') + visited.add(cur_target) + + parents = cur_target_entry.get("_parent_entries") + if parents: + for parent in parents: + if isinstance(parent, str): + p = __entry__.get_kernel().byname(parent) + else: + p = parent + if not p: + continue + stack.append((p, False)) # Using False to signify that this is not the initial root node + f.edge(p.get_name(), cur_target) + + return f def find_parent(obj): items = find_key(obj, "_parent_entries") @@ -165,7 +161,7 @@ def find_key(obj, key): matches.extend(find_key(item, key)) return matches - + def process_json(file_path): with open(file_path) as f: obj = json.load(f) @@ -173,7 +169,6 @@ def process_json(file_path): parents = find_parent(required_data) return parents - def extract_byname_entries(output_entries): byname_entries = [] for item in output_entries: diff --git a/core_collection/varia_collection/graph/test_parent_and_output_entries.py b/core_collection/varia_collection/graph/test_parent_and_output_entries.py index fddd76fb..5fa24462 100644 --- a/core_collection/varia_collection/graph/test_parent_and_output_entries.py +++ b/core_collection/varia_collection/graph/test_parent_and_output_entries.py @@ -1,6 +1,7 @@ import re import json import pytest +import subprocess def read_dot_file(file_path): with open(file_path, 'r') as f: @@ -36,7 +37,12 @@ def parse_output_dot_content(cluster_1_content, target): return output_parent_nodes -dot_file_path = "/home/saheli/work_collection/generated_by_graph_on_draw_6feaeffee44d4390b3f18293a4436825/image" +def get_actual_path(): + command = "axs byquery graph_output,target=image_classification_using_tf_py , get_path" + result = subprocess.run(command, stdout=subprocess.PIPE, shell=True, text=True) + return result.stdout.strip() + +dot_file_path = get_actual_path() + "/image" dot_content = read_dot_file(dot_file_path) cluster_1_content = read_cluster_1_content(dot_content) print("cluster_1_content",cluster_1_content) From 569f57028bd68eec9c67a49cb023643b7fb08fd2 Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Mon, 7 Oct 2024 15:33:42 +0100 Subject: [PATCH 12/14] Add features to print the hierarchical graph in a tree structure. --- .../varia_collection/graph/code_axs.py | 128 +++++++++++++++++- 1 file changed, 121 insertions(+), 7 deletions(-) diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index 7c9ec62b..68afe001 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -1,7 +1,12 @@ import re import graphviz import json +import networkx as nx +import subprocess from kernel import default_kernel as ak +from networkx.drawing.nx_pydot import read_dot + + initial_root_visited = False @@ -21,6 +26,7 @@ def draw(target, return_this_entry=None, __entry__=None): dest_dir = return_this_entry.get_path() target_entry = __entry__.get_kernel().byname(target) + if target_entry: get_path = target_entry.get_path() file_path = f'{get_path}/data_axs.json' @@ -30,7 +36,7 @@ def draw(target, return_this_entry=None, __entry__=None): if output_entries: # Extract all 'byname' entries from "output_entry_parents" as objects to byname as key byname_entries = extract_byname_entries(output_entries) - print("byname_entries:", byname_entries) + #print("byname_entries:", byname_entries) for key, val in target_data.items(): if "_parent_entries" in str(val): @@ -41,7 +47,7 @@ def draw(target, return_this_entry=None, __entry__=None): elif output_entries: output = True - f = graphviz.Digraph(format='svg') + f = graphviz.Digraph(format='png') f.attr('node', shape='ellipse') f.attr(dpi='400') f.engine = 'dot' @@ -50,7 +56,7 @@ def draw(target, return_this_entry=None, __entry__=None): c.attr(style='dotted') c.attr(label='Entry and Its Parent(s)') dfs(target, c, __entry__, is_output=False) - + if output: f.node("output", style='filled', color='blue') f.edge(target, "output") @@ -58,7 +64,7 @@ def draw(target, return_this_entry=None, __entry__=None): if output_parents_data: info = find_parent(output_parents_data) output_parents = find_byname(file_path,obj=info) - print("output_parents", output_parents) + #print("output_parents", output_parents) for output_parent in output_parents: with f.subgraph(name='cluster_1') as c: c.attr(style='dotted') @@ -103,6 +109,7 @@ def dfs(root, f, __entry__, is_output=False): while stack: cur_target_entry, is_initial_root = stack.pop() cur_target = cur_target_entry.get_name() + cur_target_path = cur_target_entry.get_path() if cur_target in visited: continue @@ -115,7 +122,7 @@ def dfs(root, f, __entry__, is_output=False): else: color = 'lightcoral' - f.node(cur_target, color=color, style='filled') + f.node(cur_target, label=f'{cur_target}\n{cur_target_path}', color=color, style='filled') visited.add(cur_target) parents = cur_target_entry.get("_parent_entries") @@ -129,7 +136,9 @@ def dfs(root, f, __entry__, is_output=False): continue stack.append((p, False)) # Using False to signify that this is not the initial root node f.edge(p.get_name(), cur_target) - + parent_path = p.get_path() + f.node(p.get_name(), label=f'{p.get_name()}\n{parent_path}', style='filled') + return f def find_parent(obj): @@ -139,7 +148,7 @@ def find_parent(obj): def find_byname(file_path, obj=None): obj=process_json(file_path) items = find_key(obj, "byname") - print("items",items) + #print("items",items) return [list(item)[2] for item in items] def find_key(obj, key): @@ -178,3 +187,108 @@ def extract_byname_entries(output_entries): byname_entries.append(item[index]) return byname_entries +def draw_collection(collection_name, __entry__=None): + """ Generate Dependency Graph for all entries in the collection. + """ + collection_entry = __entry__.get_kernel().byname(collection_name) + #print("collection_entry: ", collection_entry) + if collection_name!=None: + collection_path = collection_entry.get_path() + #print("collection_path: ", collection_path) + draw(collection_name, return_this_entry=collection_entry, __entry__=collection_entry) + image_path = f'{collection_path}/image.png' + dot_file_path = f'{collection_path}/image' + print("image_path: ", image_path) + print("dot_file_path: ", dot_file_path) + try: + # Construct the graph-easy command + cmd = ['graph-easy', dot_file_path] + + # Run the command and capture the output + result = subprocess.run(cmd, capture_output=True, text=True) + + # Check if the command was successful + if result.returncode == 0: + print("Graph-Easy output:") + print(result.stdout) # Print the graph-easy output + else: + print(f"Graph-Easy failed with error code {result.returncode}") + print(result.stderr) # Print any errors that occurred + + except FileNotFoundError: + print("graph-easy command not found. Please ensure it is installed.") + except Exception as e: + print(f"An error occurred: {e}") + + return collection_entry + +def print_hierarchy(entry_name, __entry__, indent_level=0, d=None, output=False): + """ + Recursive function to print the entry, parent hierarchy in a tree-like structure with max_depth 'd'. + + Usage examples: + axs byname hierarchy, print_hierarchy llmcb_using_qaic_kilt + + """ + entry = __entry__.get_kernel().byname(entry_name) + + if not entry: + print("Entry not found!") + return + + else: + data = entry.own_data() + # Collect all output-related fields + output_entries_fields = [key for key in data.keys() if key.startswith("output_entry_parents_")] + + output_entries = {} + for field in output_entries_fields: + output_entries[field] = entry.get(field) + + for key, val in data.items(): + if "_parent_entries" in str(val): + output = True + elif "tags" in str(val): + output = True + elif output_entries: + output = True + + byname_entries = set() # For now, only unique parent entries are kept in the set + if output_entries: + for field, output_entries_list in output_entries.items(): + print(f"output_entries_list: {output_entries_list}") + byname_entries.update(extract_byname_entries(output_entries_list)) + print(byname_entries) + + + base_indent = " " * indent_level + output_indent = "--> " * indent_level if output_entries else base_indent + + if d is not None and indent_level >= d: + return + + print(f"{base_indent}{entry_name}") + + parents = entry.get("_parent_entries") + + # If there are parents, recursively print them + if parents: + for parent in parents: + parent_name = parent if isinstance(parent, str) else parent.get_name() + print(f"{base_indent}|") + print(f"{base_indent}+-{parent.get_path()}") + print_hierarchy(parent_name, __entry__, indent_level + 1, d=d) + + + + # If there are outputs, print their hierarchy + if output: + if output_entries: + for entry in byname_entries: + output_name = entry if isinstance(entry, str) else entry.get_name() + output_entry = __entry__.get_kernel().byname(entry) + print(f"{output_indent}|") + print(f"{output_indent}-->{output_entry.get_path()} --> Output Parents") + print_hierarchy(output_name, __entry__, indent_level + 1, d=d, output=True) + + return "Tree printed successfully!" From 5cd93322a0d623cd52e4a63e4a11352ae9e5e686 Mon Sep 17 00:00:00 2001 From: "saheli@krai.ai" Date: Tue, 15 Oct 2024 11:57:31 +0100 Subject: [PATCH 13/14] Remove redundant printing of entry_name with path --- .../varia_collection/graph/code_axs.py | 23 +++++++++++-------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/core_collection/varia_collection/graph/code_axs.py b/core_collection/varia_collection/graph/code_axs.py index 68afe001..711095ca 100644 --- a/core_collection/varia_collection/graph/code_axs.py +++ b/core_collection/varia_collection/graph/code_axs.py @@ -3,6 +3,7 @@ import json import networkx as nx import subprocess +import os from kernel import default_kernel as ak from networkx.drawing.nx_pydot import read_dot @@ -36,7 +37,6 @@ def draw(target, return_this_entry=None, __entry__=None): if output_entries: # Extract all 'byname' entries from "output_entry_parents" as objects to byname as key byname_entries = extract_byname_entries(output_entries) - #print("byname_entries:", byname_entries) for key, val in target_data.items(): if "_parent_entries" in str(val): @@ -189,31 +189,30 @@ def extract_byname_entries(output_entries): def draw_collection(collection_name, __entry__=None): """ Generate Dependency Graph for all entries in the collection. + + Usage examples: + axs byname graph_collection, draw_collection work_collection """ collection_entry = __entry__.get_kernel().byname(collection_name) - #print("collection_entry: ", collection_entry) + if collection_name!=None: collection_path = collection_entry.get_path() - #print("collection_path: ", collection_path) draw(collection_name, return_this_entry=collection_entry, __entry__=collection_entry) image_path = f'{collection_path}/image.png' dot_file_path = f'{collection_path}/image' print("image_path: ", image_path) print("dot_file_path: ", dot_file_path) try: - # Construct the graph-easy command cmd = ['graph-easy', dot_file_path] - - # Run the command and capture the output result = subprocess.run(cmd, capture_output=True, text=True) # Check if the command was successful if result.returncode == 0: print("Graph-Easy output:") - print(result.stdout) # Print the graph-easy output + print(result.stdout) else: print(f"Graph-Easy failed with error code {result.returncode}") - print(result.stderr) # Print any errors that occurred + print(result.stderr) except FileNotFoundError: print("graph-easy command not found. Please ensure it is installed.") @@ -275,8 +274,10 @@ def print_hierarchy(entry_name, __entry__, indent_level=0, d=None, output=False) if parents: for parent in parents: parent_name = parent if isinstance(parent, str) else parent.get_name() + parent_path = parent.get_path() + parent_dir = os.path.dirname(parent_path) print(f"{base_indent}|") - print(f"{base_indent}+-{parent.get_path()}") + print(f"{base_indent}+-{parent_dir}") print_hierarchy(parent_name, __entry__, indent_level + 1, d=d) @@ -287,8 +288,10 @@ def print_hierarchy(entry_name, __entry__, indent_level=0, d=None, output=False) for entry in byname_entries: output_name = entry if isinstance(entry, str) else entry.get_name() output_entry = __entry__.get_kernel().byname(entry) + output_path = output_entry.get_path() + output_dir = os.path.dirname(output_path) print(f"{output_indent}|") - print(f"{output_indent}-->{output_entry.get_path()} --> Output Parents") + print(f"{output_indent}-->{output_dir} :: Output Parents") print_hierarchy(output_name, __entry__, indent_level + 1, d=d, output=True) return "Tree printed successfully!" From 406ffe8a90ecd1674f87a757ef0215c93f74a728 Mon Sep 17 00:00:00 2001 From: Saheli Bhattacharjee <47847054+sahelib25@users.noreply.github.com> Date: Fri, 15 Nov 2024 14:31:49 +0000 Subject: [PATCH 14/14] Update Readme and fix typo. --- .../varia_collection/graph/README.md | 71 ++++++++++++++++++- .../varia_collection/graph/code_axs.py | 2 +- 2 files changed, 70 insertions(+), 3 deletions(-) diff --git a/core_collection/varia_collection/graph/README.md b/core_collection/varia_collection/graph/README.md index 780a304e..f4a3c091 100644 --- a/core_collection/varia_collection/graph/README.md +++ b/core_collection/varia_collection/graph/README.md @@ -3,7 +3,7 @@ Set the target entry that we would like to draw a dependency graph for, e.g., im ``` export TARGET=image_classification_using_tf_py ``` -`AXS` command to generate the graph: +### `AXS` command to generate the graph: ``` axs byquery graph_output,target=${TARGET} ``` @@ -54,6 +54,72 @@ digraph { } } ``` +### `AXS` command to print the hierarchy tree: +``` +axs byname graph , print_hierarchy llmcb_using_qaic_kilt +``` + +