From 863d44cfabd400ec83b19ef98530f0ffdab0dfeb Mon Sep 17 00:00:00 2001 From: noah Date: Sun, 27 Mar 2022 22:18:40 -0500 Subject: [PATCH] Editing Chapter 5 --- Chapter5.tex | 52 ++++++++++++++++++------------------ Chapter5_img/no_DHT_Spd.png | Bin 0 -> 108985 bytes Chapter5_img/no_DHT_eff.png | Bin 0 -> 109759 bytes Chapter6.tex | 1 + 4 files changed, 27 insertions(+), 26 deletions(-) create mode 100644 Chapter5_img/no_DHT_Spd.png create mode 100644 Chapter5_img/no_DHT_eff.png diff --git a/Chapter5.tex b/Chapter5.tex index e965a90..4c4cfef 100644 --- a/Chapter5.tex +++ b/Chapter5.tex @@ -9,7 +9,7 @@ types of data will need to be sent and received. Support and mechanisms vary bas on the MPI implementation, but most fundamental data types such as integers, doubles, characters, and Booleans are incorporated into the MPI implementation. While this does simplify some of the messages that need to be sent and received in the MPI approaches of -attack graph generation, it does not cover the vast majority of them. +attack and compliance graph generation, it does not cover the vast majority of them when using RAGE. RAGE implements many custom classes and structs that are used throughout the generation process. Qualities, topologies, network states, and exploits are a few such examples. Rather than breaking @@ -18,8 +18,8 @@ most of this. RAGE already incorporates Boost graph libraries for auxiliary supp extended this further to utilize the serialization libraries also provided by Boost. These libraries also include support for serializing all STL classes, and many of the RAGE classes have members that make use of the STL classes. One additional advantage of the Boost -library approach is that many of the RAGE class members are nested. For example, the NetworkState -class has a member vector of Quality classes. When serializing the NetworkState class, boost will +library approach is that many of the RAGE classes are nested. For example, the NetworkState +class has a member vector of Quality classes, and the Quality class has a Keyvalue class as a member. When serializing the NetworkState class, Boost will recursively serialize all members, including the custom class members, assuming they also have serialization functions. @@ -27,11 +27,10 @@ When using the serialization libraries, this work opted to use the intrusive rou class instances are altered directly. This was preferable to the non-intrusive approach, since the class instances were able to be altered with relative ease, and many of the class instances did not expose enough information for the non-intrusive approach to be viable. -\TUsubsection{Data Consistency} \TUsection{Tasking Approach} \label{sec:Tasking-Approach} \TUsubsection{Introduction to the Tasking Approach} -The high-level overview of the compliance graph generation process can be broken down into six main tasks. +The high-level overview of the attack and compliance graph generation process can be broken down into six main tasks. These tasks are described in Figure \ref{fig:tasks}. Prior works such as that seen by the authors of \cite{li_concurrency_2019}, \cite{9150145}, and \cite{7087377} work to parallelize the graph generation using OpenMP, CUDA, and hyper-graph partitioning. This approach, however, utilizes Message Passing Interface (MPI) @@ -41,14 +40,14 @@ attack and compliance graph generation. \begin{figure}[htp] \includegraphics[width=\linewidth]{"./Chapter5_img/horiz_task.drawio.png"} \vspace{.2truein} \centerline{} - \caption{Task Overview of the Attack Graph Generation Process} + \caption{Task Overview of the Attack and Compliance Graph Generation Process} \label{fig:tasks} \end{figure} \TUsubsection{Algorithm Design} -The design of the tasking approach is to leverage a pipeline structure with the six tasks and MPI nodes. Each stage of the pipeline will pass the necessary data to the next stage through various MPI messages, where the next stage's nodes will receive the data and execute their tasks. The pipeline is considered fully saturated when each task has a dedicated node. When there are less nodes than tasks, some nodes will processing multiple tasks. When there are more nodes than tasks, additional nodes will be assigned to Tasks 1 and 2. Timings were collected in the serial approach for various networks that displayed more time requirements for Tasks 1 and 2, with larger network sizes requiring vastly more time to be taken in Tasks 1 and 2. As a result, additional nodes are assigned to Tasks 1 and 2. Node allocation can be seen in Figure \ref{fig:node-alloc}. +The design of the tasking approach is to leverage a pipeline structure with the six tasks and MPI nodes. After its completion, each stage of the pipeline will pass the necessary data to the next stage through various MPI messages, where the next stage's nodes will receive the data and execute their tasks. The pipeline is considered fully saturated when each task has a dedicated node solely for executing work for that task. When there are less nodes than tasks, some nodes will process multiple tasks. When there are more nodes than tasks, additional nodes will be assigned to Tasks 1 and 2. Timings were collected in the serial approach for various networks that displayed more time requirements for Tasks 1 and 2, with larger network sizes requiring vastly more time to be taken in Tasks 1 and 2. As a result, additional nodes are assigned to Tasks 1 and 2. Node allocation can be seen in Figure \ref{fig:node-alloc}. -For determining which tasks should be handled by the root note, a few considerations were made. Minimizing communication cost and avoiding unnecessary complexity were the main two considerations. In the serial approach, the frontier queue was the primary data structure for the majority of the execution. Rather than using a distributed queue or passing multiple sub-queues between nodes, the minimal option is to pass states individually. This approach also assists in reducing the complexity. Managing multiple frontier queues would require duplication checks, multiple nodes requesting data from and storing data into the database, and devising a strategy to maintain proper queue ordering, all of which would also increase the communication cost. As a result, the root node will be dedicated to Tasks 0 and 3. +For determining which tasks should be handled by the root note, a few considerations were made, where minimizing communication cost and avoiding unnecessary complexity were the main two considerations. In the serial approach, the frontier queue was the primary data structure for the majority of the generation process. Rather than using a distributed queue or passing multiple sub-queues between nodes, the minimum cost option is to pass states individually. This approach also assists in reducing the complexity. Managing multiple frontier queues would require duplication checks, multiple nodes requesting data from and storing data into the database, and devising a strategy to maintain proper queue ordering, all of which would also increase the communication cost. As a result, the root node will be dedicated to Tasks 0 and 3. \begin{figure}[htp] \includegraphics[width=\linewidth]{"./Chapter5_img/node-alloc.png"} @@ -58,7 +57,7 @@ For determining which tasks should be handled by the root note, a few considerat \end{figure} \TUsubsubsection{Communication Structure} -The underlying communication structure for the tasking approach relies on a pseudo-ring structure. As seen in \ref{fig:node-alloc}, nodes n$_2$, n$_3$, and n$_4$ are derived from the previous task's greatest node rank. To keep the development abstract, a custom send function would check the world size before sending. If the rank of the node that would receive a message is greater than the world size and therefore does not exist, the rank would then be looped around and corrected. After the rank correction, the MPI Send function was then invoked with the proper node rank. +The underlying communication structure for the tasking approach relies on a pseudo-ring structure. As seen in Figure \ref{fig:node-alloc}, nodes n$_2$, n$_3$, and n$_4$ are derived from the previous task's greatest node rank. To keep the development abstract, a custom send function checks the world size before sending. If the rank of the node that would receive a message is greater than the world size and therefore does not exist, the rank would then be ``looped around" and corrected to fit within the world size constraints. After the rank correction, the MPI Send function was then invoked with the proper node rank. \TUsubsubsection{Task 0} Task 0 is performed by the root node, and is a conditional task; it is not guaranteed to be executed at each pipeline iteration. Task 0 is only executed when the frontier is empty, but the database still holds unexplored states. This occurs when there are memory constraints, and database storage is performed during execution to offload the demand, as discussed in Section \ref{sec:db-stor}. After the completion of Task 0, the frontier has a state popped, and the root node sends the state to n$_1$. If the frontier is empty, the root node sends the finalize signal to all nodes. @@ -73,7 +72,7 @@ Task 1 begins by distributing the workload between nodes based on the local task \label{fig:Task1-Data-Dist} \end{figure} -Once the computation work of Task 1 is completed, each node must send their compiled applicable exploit list to Task 2. Rather than merging all lists and splitting them back out in Task 2, each node in Task 1 will send an applicable exploit list to at most one node allocated to Task 2. Based on the allocation of nodes seen in Figure \ref{fig:node-alloc}, there are 2 potential cases: the number of nodes allocated to Task 1 is equal to the number of nodes allocated to Task 2, or the number of nodes allocated to Task 1 is one greater than the number of nodes allocated to Task 2. For the first case, each node in Task 1 sends the applicable exploit list to its global rank+n$_1$). This case can be seen in Figure \ref{fig:Task1-Case1}. For the second case, since there are more nodes allocated to Task 1 than Task 2, node n$_1$ scatters its partial applicable exploit list in the local Task 1 communicator, and all other Task 1 nodes follow the same pattern seen in the first case. This second case can be seen in Figure \ref{fig:Task1-Case2}. +Once the computation work of Task 1 is completed, each node must send their compiled applicable exploit list to Task 2. Rather than merging all lists and splitting them back out in Task 2, each node in Task 1 will send an applicable exploit list to at most one node allocated to Task 2. Based on the allocation of nodes seen in Figure \ref{fig:node-alloc}, there are 2 potential cases: the number of nodes allocated to Task 1 is equal to the number of nodes allocated to Task 2, or the number of nodes allocated to Task 1 is one greater than the number of nodes allocated to Task 2. For the first case, each node in Task 1 sends the applicable exploit list to its global rank+n$_1$. This case can be seen in Figure \ref{fig:Task1-Case1}. For the second case, since there are more nodes allocated to Task 1 than Task 2, node n$_1$ scatters its partial applicable exploit list in the local Task 1 communicator, and all other Task 1 nodes follow the same pattern seen in the first case. This second case can be seen in Figure \ref{fig:Task1-Case2}. \begin{figure}[htp] \includegraphics[width=\linewidth]{"./Chapter5_img/Task1-Case1.png"} @@ -90,13 +89,13 @@ Once the computation work of Task 1 is completed, each node must send their comp \end{figure} \TUsubsubsection{Task 2} -Each node in Task 2 iterates through the received partial applicable exploit list and creates new states with edges to the current state. However, Synchronous Firing work is performed during this process, and syncing multiple exploits that could be distributed across multiple nodes leads to additional overhead and complexity. To prevent these difficulties, each node checks its partial applicable exploit list for exploits that are part of a group, removes these exploits from its list, and sends a new partial list to the Task 2 local communicator root. Since the Task 2 local root now contains all group exploits, it can execute the Synchronous Firing work without additional communication or synchronization between other MPI nodes in the Task 2 stage. Other than the additional setup steps required for Synchronous Firing for the local root, all work performed during this task by all MPI nodes is that seen from the Synchronous Firing figure (Figure \ref{fig:sync-fire}). +Each node in Task 2 iterates through the received partial applicable exploit list and creates new states with edges to the current state. However, synchronous firing work is performed during this task, and syncing multiple exploits that could be distributed across multiple nodes leads to additional overhead and complexity. To prevent these difficulties, each node checks its partial applicable exploit list for exploits that are part of a group, removes these exploits from its list, and sends the exploits belonging to a group to the Task 2 local communicator root. Since the Task 2 local root now contains all group exploits, it can execute the Synchronous Firing work without additional communication or synchronization between other MPI nodes in the Task 2 stage. Other than the additional setup steps required for Synchronous Firing for the local root, all work performed during this task by all MPI nodes is that seen from the Synchronous Firing figure (Figure \ref{fig:sync-fire}). \TUsubsubsection{Task 3} -Task 3 is performed only by the root node, and no division of work is necessary. The root node will continuously check for new states until the Task 2 finalize signal is detected. This task consists of setting the new state's ID, adding it to the frontier, adding its information to the instance, and inserting information into the hash map. When the root node has processed all states and has received the Task 2 finalize signal, it will complete Task 3 by sending the instance and/or frontier to Task 4 and/or 5, respectively if applicable, then proceeds to Task 0. +Task 3 is performed only by the root node, and no division of work is necessary. The root node will continuously check for new states until the Task 2 finalize signal is detected. This task consists of setting the new state's ID, adding it to the frontier, adding its information to the instance, and inserting information into the hash map. When the root node has processed all states and has received the Task 2 finalize signal, it will complete Task 3 by sending the instance and/or frontier to Task 4 and/or 5, respectively if applicable, then proceed to Task 0. \TUsubsubsection{Task 4 and Task 5} \label{sec:T4T5} -Intermediate database operations, though not frequent and may never occur for small graphs, are lengthy and time-consuming when they do occur. As discussed in Section \ref{sec:db-stor}, the two main memory consumers are the frontier and the instance, both of which are contained by the root node. Since the database storage requests are blocking, the pipeline would halt for a lengthy period of time while waiting for the root node to finish potentially two large storages. Tasks 4 and 5 work to alleviate the stall by executing independently of the regular pipeline execution flow. Since Tasks 4 and 5 do not send any data, no other tasks must wait for these tasks to complete. The root node can then asynchronously send the frontier and instance to the appropriate nodes as needed, clear its memory, and continue execution without delay. After initial testing, it was determined that the communication cost of the asynchronous sending of data for Tasks 4 and 5 is less than the time requirement of a database storage operation performed by the root node. +Intermediate database operations, though not frequent and may never occur for small graphs, are lengthy and time-consuming when they do occur. As discussed in Section \ref{sec:db-stor}, the two main memory consumers are the frontier and the instance, both of which are contained by the root node's memory. Since the database storage requests are blocking, the pipeline would halt for a lengthy period of time while waiting for the root node to finish potentially two large storages. Tasks 4 and 5 work to alleviate the stall by executing independently of the regular pipeline execution flow. Since Tasks 4 and 5 do not send any data, no other tasks must wait for these tasks to complete. The root node can then asynchronously send the frontier and instance to the appropriate nodes as needed, clear its memory, and continue execution without delay. After initial testing, it was determined that the communication cost of the asynchronous sending of data for Tasks 4 and 5 is less than the time requirement of a database storage operation if performed by the root node. \TUsubsubsection{MPI Tags} \label{sec:tasking-tag} To ensure that the intended message is received by each node, the MPI message envelopes have their tag fields specified. When a node sends a message, it specifies a tag that corresponds with the data and intent for which it is sent. The tag values were arbitrarily chosen, and tags can be added to the existing list or removed as desired. When receiving a message, a node can specify to only look for messages that have an envelope with a matching tag field. Not only do tags ensure that nodes are receiving the correct messages, they also reduce complexity for program design. Table \ref{table:tasking-tag} displays the list of tags used for the MPI Tasking approach. @@ -128,10 +127,10 @@ To ensure that the intended message is received by each node, the MPI message en \end{table} \TUsubsection{Performance Expectations and Use Cases} \label{Task-perf-expec} -Due to the amount of communication between nodes to distribute the necessary data through all stages of the tasking pipeline, this approach is not expected to outperform the serial approach in all cases. This tasking approach was specifically designed to reduce the computation time when the generation of each individual state increases in time. This approach does not offer any guarantees of processing through the frontier at an increased rate; it's main objective is to distribute the workload of individual state generation. As discussed in Section \ref{sec:Intro}, the amount of entries in the National Vulnerability database and any custom vulnerability testing to ensure adequate examination of all assets in the network sums to large number of exploits in the exploit list. Likewise for compliance graphs and compliance examinations, Section \ref{sec:CG-diff} discussed that the number of compliance checks for SOX, HIPAA, GDPR, PCI DSS, and/or any other regulatory compliance also sums to a large number of exploits in the exploit list. Since the generation of each state is largely dependent on the number of exploits present in the exploit list, this approach is best-suited for when the exploit list grows in size. +Due to the amount of communication between nodes to distribute the necessary data through all stages of the tasking pipeline, this approach is not expected to outperform the serial approach in all cases. This tasking approach was specifically designed to reduce the computation time when the generation of each individual state increases in time. This approach does not offer any guarantees of processing through the frontier at an increased rate; it's main objective is to distribute the workload of individual state generation. As discussed in Section \ref{sec:Intro}, the amount of entries in the National Vulnerability database and any custom vulnerability testing to ensure adequate examination of all assets in the network sums to large number of exploits in the exploit list. Likewise for compliance graphs and compliance examinations, Section \ref{sec:CG-diff} discussed that the number of compliance checks for SOX, HIPAA, GDPR, PCI DSS, and/or any other regulatory compliance also sums to a large number of compliance checks in the exploit list. Since the generation of each state is largely dependent on the number of exploits present in the exploit list, this approach is best-suited for when the exploit list grows in size. As will be later discussed, it is also hypothesized that this approach is well-suited when many database operations occur. \TUsubsection{Results} -A series of tests were conducted on the platform described at the beginning of Section \ref{sec:test-platform}, and results were collected in regards to the effect of the MPI Tasking approach on increasing sizes of exploit lists for a varying number of nodes. The exploit list initially began with 6 items, and each test scaled the number of exploits by a factor of 2. The final test was with an exploit list with 49,512 entries. If all of the items in these exploit lists were applicable, the runtime would be too great for feasible testing due to the state space explosion. To prevent state-space explosion but still gather valid results, each exploit list in the tests contained 6 exploits that could be applicable, and all remaining exploits were not applicable. The exploits were created in a fashion similar to that seen in Figure \ref{fig:NA-exp}. By creating a multitude of not applicable exploits, testing can safely be conducted by ensuring state space explosion would not occur while still forcing the Tasking Approach to examine all possible exploits. +A series of tests were conducted on the platform described at the beginning of Section \ref{sec:test-platform}, and results were collected in regards to the effect of the MPI Tasking approach on increasing sizes of exploit lists for a varying number of nodes. The exploit list initially began with 6 items, and each test scaled the number of exploits by a factor of 2. The final test was with an exploit list with 49,512 entries. If all of the items in these exploit lists were applicable, the runtime would be too great for feasible testing due to the state space explosion. To prevent state-space explosion but still gather valid results, each exploit list in the tests contained 6 exploits that could be applicable, and all remaining exploits were not applicable. The not applicable exploits were created in a fashion similar to that seen in Figure \ref{fig:NA-exp}. By creating a multitude of not applicable exploits, testing can safely be conducted by ensuring state space explosion would not occur while still observing the effectiveness of the tasking approach. The results of the Tasking Approach can be seen in Figure \ref{fig:Spd-Eff-Task}. In terms of speedup, when the number of entries in the exploit list is small, the serial approach has better performance. This is expected due to the communication cost requiring more time than it does to generate a state, as discussed in Section \ref{sec:Task-perf-expec}. However, as the number of items in the exploit list increase, the Tasking Approach quickly begins to outperform the serial approach. It is notable that even when the tasking pipeline is not fully saturated (when there are less compute nodes assigned than tasks), the performance is still approximately equal to that of the serial approach. The other noticeable feature is that as more compute nodes are assigned, the speedup continues to increase. @@ -155,10 +154,10 @@ In terms of efficiency, 2 compute nodes offer the greatest value since the speed \TUsection{Subgraphing Approach} \TUsubsection{Introduction to the Subgraphing Approach} -As opposed to the Tasking Approach described in Section \ref{sec:Tasking-Approach}, this Section introduces the Subgraphing Approach as a means of reducing runtime by frontier distribution though subgraphing. Section \ref{sec:db-stor} discusses that the frontier is expanded at a rate faster than it can process. This approach attempts to distribute the frontier by assigning MPI nodes a starting state, and each node will generate a subgraph up to a designated depth-limit, where each node will then return their generated subgraph to a merging process. The author of \cite{li_concurrency_2019} presented an alternative method of frontier processing by utilizing OpenMP on a shared-memory system to assign each thread an individual state to explore that would then pass through a critical section. This approach is intended for a distributed system, and additionally differs in that each node will explore multiple states to form a subgraph, rather than exploring one individual state. This approach was implemented with two versions, and both collected results to draw conclusions in regards to speedup, efficiency, and scalability for attack graph and compliance graph generation. +As opposed to the Tasking Approach described in Section \ref{sec:Tasking-Approach}, this Section introduces the Subgraphing Approach as a means of reducing runtime by frontier distribution though subgraphing. Section \ref{sec:db-stor} discusses that the frontier is expanded at a rate faster than can be processed. This approach attempts to distribute the frontier by assigning MPI nodes a starting state, and each node will generate a subgraph up to a designated depth-limit, where each node will then return their generated subgraph to a merging process. The author of \cite{li_concurrency_2019} presented an alternative method of frontier processing by utilizing OpenMP on a shared-memory system to assign each thread an individual state to explore that would then pass through a critical section. This approach is intended for a distributed system, and additionally differs in that each node will explore multiple states to form a subgraph, rather than exploring one individual state. This approach was implemented with two versions, and both collected results to draw conclusions in regards to speedup, efficiency, and scalability for attack graph and compliance graph generation. \TUsubsection{Algorithm Design} -The design of the subgraphing approach is devised of three main components: worker nodes, the root node, and a database node. The original design did not include a database node, but testing through the implementation of the tasking approach discussed in \ref{sec:T4T5} led to the inclusion of a dedicated database node. The overall design is predicated on the root node distributing data to all worker nodes, and merging the worker nodes' subgraphs. Figure \ref{fig:subg} displays an example graph that utilizes three worker nodes with a depth limit of 3. Each worker node corresponds to a different node color in the figure. Each worker node explored a varying number of states, but did not proceed to explore a depth that exceeded the specified depth limit of 3. The final cluster of four nodes at the bottom of the graph represents one of the three worker node exploring the final states, while the other two nodes wait for further instruction. The following three subsections describe each component in further detail. +The design of the subgraphing approach consists of three main components: worker nodes, the root node, and a database node. The original design did not include a database node, but testing through the implementation of the tasking approach discussed in \ref{sec:T4T5} led to the inclusion of a dedicated database node. The overall design is predicated on the root node distributing data to all worker nodes and merging the worker nodes' subgraphs. Figure \ref{fig:subg} displays an example graph that utilizes three worker nodes with a depth limit of 3. Each worker node corresponds to a different graph state color in the figure. Each worker node explored a varying number of states, but did not proceed to explore a depth that exceeded the specified depth limit of 3. The final cluster of four nodes at the bottom of the graph represents one of the three worker node exploring the final states, while the other two nodes wait for further instruction. The following three subsections describe each component in further detail. \begin{figure}[htp] \centering @@ -169,7 +168,7 @@ The design of the subgraphing approach is devised of three main components: work \end{figure} \TUsubsubsection{Worker Nodes} -Each worker node will start each iteration of its while loop by checking for the finalize message or for a new state to receive. If no message is available to receive, it will continue to wait until one is available. Each worker node will continue this process until the finalize message is received, where it will exit the generation process. When a worker node receives a new state, it will follow the original graph generation process with a modification in the exploration approach. Since other nodes will also be generating subgraphs, using a breadth-first search is not the ideal option since the amount of duplicate work would be increased. Instead, the graph generation will utilize a depth-first search approach, where each node will explore up to a specified depth level. This depth level is specified before the generation process begins, so additional tuning can be performed as desired. After either the depth limit is reached, or no other states are reachable to be explored, the node will return its local frontier (if the node still has unexplored states it did not explore) and its generated subgraph. The node will then proceed to wait for a new message from the root node. +Each worker node will start each iteration of its loop by checking for the finalize message or for a new state to receive. If no message is available to receive, it will continue to wait until one is available. Each worker node will continue this process until the finalize message is received, where it will exit the generation process. When a worker node receives a new state, it will follow the original graph generation process with a modification in the exploration approach. Since other nodes will also be generating subgraphs, using a breadth-first search is unideal since the amount of duplicate work would be increased. Instead, the graph generation will utilize a depth-first search approach, where each node will explore up to a specified depth level. This depth level is specified by the user at before the generation process begins, so additional tuning can be performed as desired. After either the depth limit is reached, or no other states are available to be explored, the node will return its local frontier (if the node still has unexplored states it did not explore) and its generated subgraph. The node will then proceed to wait for a new message from the root node. \TUsubsubsection{Root Node} The root node is responsible for two main portions of the subgraphing approach - the distribution of work and the merging of results. The subgraphing approach begins by distributing the only state that is known at the beginning of the generation process to a single node. Once the node returns, two functions may occur. If the node indicates that there are still more states to explore, then the worker node's frontier gets merged with the root node's frontier. If the node discovered new states, then its subgraph gets merged with the root node's graph. This process occurs as long as there are more states to explore. The frontier merging process takes the worker node's frontier and emplaces it to the back of the root node's frontier, with an additional marker. Since each worker node follows a depth-first search, if two worker nodes pop from the front of the queue, there is a high likelihood that the worker nodes are exploring the same segment of the graph, resulting in more duplicate work. To prevent this, each worker node attempts to explore the same segment of the graph throughout the generation process. When the frontiers are merged, the root node includes an additional marker for each worker node to indicate where the end of a node's frontier is in relation to the overall root frontier. When distributing work to a worker node, the root node will pull a state from the queue at a position equal to the node marker. If no marker is found for a worker node and the queue is not empty, then a random state is pulled from the queue instead. Figure \ref{fig:front-merg} displays the frontier merging process along with the data distribution. @@ -210,7 +209,7 @@ Similar to Section \ref{sec:tasking-tag} that discussed the usage of MPI Tags fo \end{table} \TUsubsection{Performance Expectations and Use Cases} \label{sec:perf_expec_subg} -This approach is intended to reduce runtime when the frontier grows at a rate faster than it can be explored. However, since this approach is designed for distributed systems, there is no guarantee that speedup can be achieved when duplicate work is performed. Not only is there wasted time by the worker nodes when duplicate work occurs, but duplicate work also contributes to a longer runtime due to increased communication between nodes to adequately explore the graph, and also leads to increased numbers of merging calls by the root node. The ideal scenario for the subgraphing approach is when the graph is sparse, and the graph more aligns with a tree structure where each node only has one parent. When the graph is sparse, there is a lower likelihood of duplicate work occurring, since worker nodes have a lower probability of exploring a graph node that connects to a different graph node that has been (or will be) explored by another worker node. If each graph node were only able to have one parent, there is a lower likelihood that worker nodes would explore the same graph cluster. +This approach is intended to reduce runtime when the frontier grows at a rate faster than it can be explored. However, since this approach is designed for distributed systems, there is no guarantee that speedup can be achieved when duplicate work is performed. Not only is there wasted time by the worker nodes when duplicate work occurs, but duplicate work also contributes to increased communication between nodes to adequately explore the graph, and also leads to an increased number of merging calls by the root node. The ideal scenario for the subgraphing approach is when the graph is sparse, and the graph aligns more with a N-Ary tree structure where each node only has one parent. When the graph is sparse, there is a lower likelihood of duplicate work occurring, since worker nodes have a lower probability of exploring a graph state that connects to a different graph state that has been (or will be) explored by another worker node. If each graph state was able to have only one parent, there is a lower likelihood that worker nodes would explore the same graph cluster. \TUsubsection{Results} A series of tests were conducted on the platform described at the beginning of Section \ref{sec:test-platform}, and results were collected in regards to the effect of the MPI Subgraphing approach on the 4 example networks discussed in \ref{sec:Sync-Test}. All tests used synchronous firing. The initial results are seen in Figure \ref{fig:Subg_base}, which displays the results in terms of their runtimes. Only the serial runtime from the 2 Service test is displayed for conciseness. The results in terms of speedup and efficiency are seen in Figure \ref{fig:Subg_SE}. @@ -223,13 +222,14 @@ A series of tests were conducted on the platform described at the beginning of S \end{figure} \begin{figure}[htp] - \includegraphics[width=\linewidth]{"./Chapter5_img/Subg_SE_base.png"} - \vspace{.2truein} \centerline{} - \caption{First iteration results of MPI Subgraphing in terms of Speedup and Efficiency} - \label{fig:Subg_SE} + \centering + \includegraphics[width=\linewidth]{"./Chapter5_img/no_DHT_Spd.png"} + \includegraphics[width=\linewidth]{"./Chapter5_img/no_DHT_eff.png"} + \caption{First iteration results of MPI Subgraphing in terms of Speedup and Efficiency} + \label{fig:Subg_SE} \end{figure} -As noted from the Figures, the performance from this approach appears quite poor. The serial approach has greater performance in all cases, and the resulting speedups for all 4 service tests are below 1.0 when using the subgraphing approach. Likewise, the efficiency continues to worsen as more compute nodes are added to the system. There are a few reasons for this poor performance. Figure \ref{fig:subg} illustrates an example graph that is considered favorable to this approach in that branches are relatively distinct, and the graph is not fully connected. As a result in this example graph, each compute node is working on independent graph structures that do not overlap, and all work is distinct. This graph can quickly lead to issues through a few modifications. Figure \ref{fig:subg_mod} utilizes the same example graph from Figure \ref{fig:subg}, but adds two edges between the outside branches. With this arrangement, the 1st and 3rd compute nodes will perform work that overlaps with the work performed by the 2nd compute node. Both compute node 1 and compute node 3 will explore State 5, and depending on the depth limit, compute nodes 1 and 3 will continue to explore State 5's children, leading to almost all of compute 2's work being duplicated. This duplicate work occurs at an alarming rate in the service tests that were performed. Figure \ref{fig:subg_dup} illustrates that there is an extraordinarily large amount of duplicate work occurring in the testing, which substantially increases the runtime of this approach. The duplicate work, as discussed in Section \ref{sec:perf_expec_subg}, not only wastes compute nodes' times and leads to a longer exploration process, but it also requires the root node to perform more merging and cleanup work. When using mpiP (a light-weight MPI profiler provided by Lawrence Livermore National Laboratory), it is seen that this extra merging and cleanup work performed by the root causes additional delays in distributing data, and the compute nodes spent a combined 35\% total application runtime just waiting to receive more data from the root node in the 1 service test. +As noted from the Figures, the performance from this approach appears quite poor. The serial approach has greater performance in all cases, and the resulting speedups for all 4 service tests are below 1.0 when using the subgraphing approach. Likewise, the efficiency continues to worsen as more compute nodes are added to the system. There are a few reasons for this poor performance. Figure \ref{fig:subg} illustrates an example graph that is considered favorable to this approach in that branches are relatively distinct, and the graph is not fully connected. As a result in this example graph, each compute node is working on independent graph structures that do not overlap, and all work is distinct. This graph can quickly lead to issues through a few modifications. Figure \ref{fig:subg_mod} utilizes the same example graph from Figure \ref{fig:subg}, but adds two edges between the outside branches. With this arrangement, the 1st and 3rd compute nodes will perform work that overlaps with the work performed by the 2nd compute node. Both compute node 1 and compute node 3 will explore State 5, and depending on the depth limit, compute nodes 1 and 3 will continue to explore State 5's children, leading to almost all of compute 2's work being duplicated twice. This duplicate work occurs at an alarming rate in the service tests that were performed. Figure \ref{fig:subg_dup} illustrates that there is an extraordinarily large amount of duplicate work occurring in the testing, which substantially increases the runtime of this approach. The duplicate work, as discussed in Section \ref{sec:perf_expec_subg}, not only wastes compute nodes' times and leads to a longer exploration process, but it also requires the root node to perform more merging and cleanup work. When using mpiP (a light-weight MPI profiler provided by Lawrence Livermore National Laboratory) \cite{lawrence_livermore_national_laboratory_mpip_nodate}, it was measured that this extra merging and cleanup work performed by the root causes additional delays in distributing data, and the compute nodes spent a combined 35{\%} total application runtime just waiting to receive more data from the root node in the 1 service test. \begin{figure}[htp] \includegraphics[width=\linewidth]{"./Chapter5_img/dup.drawio.png"} @@ -245,7 +245,7 @@ As noted from the Figures, the performance from this approach appears quite poor \label{fig:subg_dup} \end{figure} -To minimize the duplicate work performed, a second approach using a distributed hash table (DHT) was attempted. With a DHT, each compute node would check to ensure that they were not duplicating work. This would limit the work needed by the root node, but each worker node would need to search the DHT. Using a DHT would increase the communication overhead, but if the communication overhead was less than the time taken for duplicate work or was minimal enough to still process the frontier at a greater rate than the serial approach, then the distributed hash table would be considered advantageous. Rather than devising a unique strategy for a distributed hash table, this work made use of the Berkely Container Library (BCL), which is open-source and provides distributed data structures with easy-to-use interfaces. Since BCL is a header-only library, it allowed for minimal code alterations, and primarily just needed to be dropped into the system. Testing was repeated with an identical setup to the approach without BCL. The results in terms of speedup and efficiency are seen in Figure \ref{fig:subg_DHT_Spd}. Results in terms of runtime between the DHT approach and the base approach are seen in Figure \ref{fig:subg_DHT_base}. +To minimize the duplicate work performed, a second approach using a distributed hash table (DHT) was attempted. With a DHT, each compute node would check to ensure that they were not duplicating work. This would limit the work needed by the root node, but each worker node would need to search the DHT. Using a DHT would increase the communication overhead, but if the communication overhead was less than the time taken for duplicate work or was minimal enough to still process the frontier at a greater rate than the serial approach, then the distributed hash table would be considered advantageous. Rather than devising a unique strategy for a distributed hash table, this work made use of the Berkely Container Library (BCL), which is open-source and provides distributed data structures with easy-to-use interfaces. Since BCL is a header-only library, it allowed for minimal code alterations, and primarily just needed to be dropped into the system. Testing was repeated with an identical setup to the approach without a DHT. The results in terms of speedup and efficiency are seen in Figure \ref{fig:subg_DHT_Spd}. Results in terms of runtime between the DHT approach and the base approach are seen in Figure \ref{fig:subg_DHT_base}. \begin{figure} \centering @@ -262,4 +262,4 @@ To minimize the duplicate work performed, a second approach using a distributed \label{fig:subg_DHT_base} \end{figure} -Implementing the DHT did prevent duplicate work, but the communication cost from repeated DHT queries by each worker node was far greater than the serial approach, and was also greater than the first approach for MPI subgraphing without the DHT. As a result, the MPI subgraphing approach is not viable as it stands. Future improvements or entire reworking will need to be performed, and this is discussed further in Section \ref{sec:FW}. +Implementing the DHT did prevent duplicate work, but the communication cost from repeated DHT queries by each worker node was far greater than the serial approach, and was also greater than the first approach for MPI Subgraphing without the DHT. As a result, the MPI Subgraphing approach is not viable as it stands. Future improvements or entire reworking will need to be performed, and this is discussed further in Section \ref{sec:FW}. diff --git a/Chapter5_img/no_DHT_Spd.png b/Chapter5_img/no_DHT_Spd.png new file mode 100644 index 0000000000000000000000000000000000000000..e84254acf9fa4e2f62a2707edb9ade27f43ed159 GIT binary patch literal 108985 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 literal 0 HcmV?d00001 diff --git a/Chapter5_img/no_DHT_eff.png b/Chapter5_img/no_DHT_eff.png new file mode 100644 index 0000000000000000000000000000000000000000..3f82fc392671131bbf9ded2dacc5fb8d651df7a9 GIT binary patch literal 109759 zcmeFaXIN8N_dbjb837Rsy{L?xD!q%1QJNI#9RW$`odkl4gNi_AEQF5A(7OiPJ5o8@_c%~yyJDLSGYX;?A7jdueH~X53U*Na_-{|*_Z}HszI?;wM)KJo zez|pS2j5RIhY$U7@TUh)9IqYSdEmF7uH8Mydywmgo!YNtZf*Y|&%&tOXaN&JnkD4; zFfdgaOy+gXOP`7O9HR`xYHB-!L{p8NOd+jJ;Ivtbc-(rf+SOB8PfY&tN6(Y#!JKs1 zR7B*Y?#5@#ZHJTp`7fTBm=^dT7E*jJtJtx!{`oYxm|~IjKEoY=YJgv_DxQQ@_zHdb za4YHL!p#o~Up}zO8&AA@?eX=4+l!9OpYdNmbX-i*<;>akJw~wF>u_53lt9eG#CEe^m#%!~f|FuToWmXDr<})>&x;@46x;?nFlTOGXMk zyGHtz`<~o~E;^>NQmcE|ZiRhu%v-9yAAkR~>$-(qZx{_uvMJ(}u6|bTMW`gc&ol_I zyM;R_J8a{F>8+W2&B-rvK*@8UTQy)p-{*&$Mh@H9WPQFkXK8fnC^=qKosUZ^KHpg0 zJsVvtupCQD(~78NJVtxiS3X`*?8Ke;1)pb{laGyBR@H|TEj?|lVPmtr`Xvh5e8*ZI z%swMjKy3T%;a)*=ewLccqfr=L>B`}t)?4I57Pe)MNe`uKZ+3ED>}n4_yOF)Ja-(dy zBLUl4ePb08Ly@U+S3Pn~qtdp&G$sHi$)yz;{>~Y#z*Lm}S=>UPdLkKGduRg#XUxt% z{b6Fznv?g9Q_>*)a)W`8>1clRXHqzs-Ztv*DDg_O?qNHkna~URAx(Q9k z{PJuq!jxQ}@KiyD@FqNEg7Uc4yZS@)E@pAzvdOEf?7e<7_w~yAE00N2h)M%q%&h3# z&~+7lFJgVzpc9pdf%6w>uLfncq7;v|2n{D#w@xF|6S2>%RXQaLpEi6}=4WFgpWZ}| zR~&LF1xlYPhhu(mI@P>ARufK_wa`$q<<2$O9|y81vS_@aPTH8Mt#cRKtLiTXm3^(!)bbe7K3t!KGshN-}rx9j~n?&qM|QPFei* zW!HpTkcSUTGcc*vr(5znMTV>WTxeBPeW)Gp_NVeUj&|Iib4&Qp{o`M+E+u>0zJmPXExc-NSUABzVS-ZA(Q4!taIqkF=laRh>(GaM761FCC z<3~vOHu4Jeh=(VwIw8RDL3bW~IlGN@rv;MQA3c((d57ZH+A-~RIcVqV!g;`FKAmA> zn=ts|ykC~)Y&0wzD}BzvLOmyS;mIT)Gi+VT7HBvpkA9=aQ1q z#@G?-n;KLZ_MY=|ZqamWj+|yN^oveF@Yx2KW6>#nO0j3|d~BjT6gu$}?%e&~|6`w% zI%}7A9*M#cj&wuV|I|UPhOv^OW(EAPV zS>G2sRO0l+!@F5U$%k0~X$3?wrWfMBm*N`J{iPIyi2%jxoac`2JA*oPW_D7Q8r0h| z)8s$sG0a%_{a1+*uXwN1GJ|jcAA%zJP&1l=pRV~#&UZMgyEM*>)K$T+P@42ObrX9% zrym<>4Z>S)h=tEJ?ILJ-K2xP%v3(ulYm-b(>^&BcGmmJ+z}x#(rh+PYx4G7IdF)Im zU)S%wxKD^6_T0Wu`SrWcHAe@8LmZGUsp$`?HS{4Uzo)L}h4ACqQkBoc({n#p3rA=# zGY2X?ayvWXS;M&)Mj3`|J%vUa6Z&$qw3zteXup>}AhmweKn zu6nYu6`uIQYXpw4C%n}u&Gq0J;}Nd*F_m*vrUr4x+$yRJCyW;H?ud(uip@MthjTeg zyABZqkq;wGY$&BMj!ut$sjZ~SmDi2TbLV}L16fuCGp-p!xLs76Acv@K z$7K&;dcq-svS)%xVqb8yfUj6;L~l0xZYz`tfgWmfVWvt{Jy>#;Wpb$8v)#9-$g19< z%mLai?LJ{TGu^awNu|`bd`Qnm|qc}Rd#Exe&w ztskzHkjV$*X$V16?4TbOO&s_vCwVRgc2wIR8rQ-t_`>cViV!TJXX>`OJm%PDeV0c`V;buNE5^-=lbgg8`S8aR6 za$zq**&D6d*4mIh5!?MTI^vWwA2!j+!YHvKVfDOj9vwC&j~-qKG)r-LliOh3#s79_ z9V6?hK1R_K>=i!4QpQ2TmDt$&{>Xf#`=ge5e{7kle+enSJr=eb1Zwan6o(c z>^pbkvPKsN>_V^DfkQ}P2D%?6{ra}kbE|sYD4Zr04(X#`(Qx+|poG8QcbMMqNNah04w7v6ri~aZTrh+NSc59}0KMm8*L96&JrV zqn2ywQG*Py#y( zxHUShy}Hj-y6(qY_xrOSzQA>`PfR@OVJ5qa%Q;zg#O~ck?pe(SU;f1s9?rEajgAkU z8GQyb^JJ=gXfO2=FBFh0^3vlf<`H)El3x~cV<9dLTw8C*F4g~cav?OCAY1%t+{ww))NeS^?S6S*^JG&DQ8ZX}OeL~KuAW{!P(r>h zW6Z6k6fdq9QS%$UI<#y2ZcV#p8yDR-bw`_ONXxn?-%*~fF0t%Rrs_<+IKfyw;bI&U z5nm@-z7BU92<}M_=(Y~yE?D|UbV0br?sam^% zHig-a9xD--v1)$g!+?>}bCHQET0L}fH9@wBAzxV+JR6hTR;F%GzPk1`0?oIe%*a~qccrP%4OyNa7E7(FA9p;8OFEs&?u{x>DzCC+3U zBlq@D=vuB|dzMoajog)Om&YgwPU;mXbbx3-P5$LYp&xz8U!N?09dL>(?C5(xBgpk6 z08t@XQIpryXZv2`Ly^!AT?)j9PE2p9yZHI^ULq~muR-H%oL8dR%(T;OTdVoiqaqOa zj8x|Z715G_VKPi0c=*1|wKx+(bf|dSNMo5Tb)Ibb5S#d^sEK-?ysDDDg1C(A(`whl zWH?z9%7%eV;-$M5ehT_Qv8U20>p#Vn$!X)3d-*dSZS{a`U;DCX+|%95Ax<5ht>Afl zqV$(aIZs075Lf8EA^jHv*?xsROvRa(eR|X!6R*Dah0XCE;n|Ss`z$SwT&dbK*y_?@4bz6w40=qM!2`jCA4!}* zl(yhdFZt}7A&9@{2%unbFpN_lO*oZWY2+XyEgd&3Q+ z0)^e}&ae=@cM>?H+5``lj099u3kR=AGUN~GY>bl0ibiMEE6g|zQOTFI3MmN(p2%2G z%jHjN#0{dN+L7uHtCbei&W}2|@fu<&XAoM25P8?#1)cn7oztR_4wJsMyewtUzR04n za^+dd4FKNtL?7N0tZY!Z$8DW^7@m=Ez_4UO?s%6w+DnL{X_dza$YUNe3Q#}J zf*+A|SN}gP$BSrv#`saO7%(2y+9M6d)D@6SE?csuk@kc)A~yV zr^y{X#a`37j(*k&%%uFKAqBdh*YPP6luJf1&fo&IT79ZqenyO@_j4lewbuFYxw1@q zrsV6%akHHSy`L?khGt1m_sNe!QJ+e#*SnL4ZPdGJ&{!kq0m==L^5xjxhF|2S5KCwo z2Q-GILsfOxEDugNK9Y@|LqvP{V1Jvo?g}paxxX|ygPZNvQudd|okU^ZVMMlXEq#sL z1xamDsFG(txx3L(*1LCmc^F5I#VTtLTF+TJ2#4k1lei@kKCJS**B|h<>+m)I299^R zq9sS`MO=q8mASo;b-deqU`}~SNobj0Bzvc!r&8l(6!iVAK2|bAj$I|}78;|;1GzAy{s{@zR6 z?NLzCBJ&XBh*M8)QVCiQCZnhqx@m(Eces#z!@ZHZz$YGzVPLbvMV&7krsU9r-kH*I zB9IKE5-oy?Mi(uQUEW#pIQhm#amA;`p)CJ)Ye=xmgm0}wrIhha(T>*2lC;loXLodR~V~8L(S({KU3LRH0>~r72=7>4xk>9T6*It zMx&RJ7JBuOa?D6yc#6=H>zxk3iTAI+JCWJK@5nBGfW|aIH6kNy)wPiDj^rh|<9!D{ z%;stdR<#XgTh*suA>#gYs;B*>*8k;HTvzvM`J}M@rce}QpmyI9-l4)cklynf!HP32 z+ipSjKt4Uus=*;{sH4mY)h7}xNXcSmdK1d1(>$gzLqJIFgIdq>kTt#ydDu@L( zE1Vb`!B0?&6Hz>b7h)h1FRqUkGc@o_9 z{Rq`+O|nP`6e#vI1tcXY?c8Yc#S{kOeZP_c)Jb?Krd^T8JD?|5Z>6Lv39lEia;nGe z{$6vcKf|^45c^O#?@e=TqTij#Ws?gcCD7|Oh*YoS*6F+m)iafTPyVL*egDB8dxcs` zxKk^CICmAGj=x3SN6We=Fl5sM)uD{k^tOmwgv3C?y`&o;+&+ci?52B%j$v}-7D8>? zS^B;96a`pOaD9xg+h#oU*ke_&BOJTf#rYKl*07O0((<#K=dsjxPRG9(z-d1^Lfql3 zz;QtRb>a*Y>@OV4P=~iSO?eyQ;4;KEAc#vH)$AR1V&<(;Ch#>Cg2KaoQ}vu0N+A4k zG4!8|1`Otz4~x}0-9H{5=^8=^xgQ@=FsP+A>%T01ifFt_4ktp&?a7TfelkSA&ZDXE z=Ui(b<)>uoW?m9~rn5%^@TI9_Z>f)h!@K86QSGs{A%1yuB07wQS{TZ9mGW!`x>0(W zWBcnA(aacK1OGw+x~d>nQp*MH(w)m3?vu6=$%x|Ud7BZJ&(TO;CiGP}Y?LmwPDACP z=*oD%N{^wE6Fu=)^de4q{u##~6bmQ*uQ=A+D24xE)chMk^^L1yj@O?cbX|zP+HU2` z`-*EFk=1yybQotQbuO(v_nq*iP zjaqOLp#>xMPPTXiE2`w!>EeCwf`xbY^D1^J88DYx;MeMMR!yp4iS%Io+Tw9ftaT`N z!OB0WHuso}^4e(wsNLheN4*J^UhiC-4=b^+yE(n57TO)JFu1A6{n(o+`?wIAMJmxj zBjUUuJ&4BlsQ0!&U+gezeH45y2L%*>x9vi>=1JusBM#@;s#2YK1i5dR8`S^mjPL_?f$wrkH+<(`H)94 zC%KCyAV7f7rynd>ctz-?^=D&50S8khl>HYcDYXVD7kA^=@Mv~BE3J6urpaS(N~zwf zcz6xT4pKPYw>hz=4M~^ zYCL#2)m}5|h>2N!WOEDuA$Alp`Q!Rx^PPD=E@muxGR1`YnPr?QeMVz|G0u;0^BTe? z4jn5!p{o6d1Wdsu7$AY&ao7+u=nF>u7ik1B%2Y+P2{$_GV8$hD1nGH3^=DUy%1f72 zkHrvu+Z^zLByZ3NK_D3jYk`P@872uh-6sm|tA+gyJqIXg z%l@m0bh&K0pzYKi-l(xuh3fcRAY6KwgTd<2X`JTd0nN>+RlY~0{PZrZ~GuU8Q?mPXch)ku~am}RkgeZ z1XW&D<+R={)*P?yq z1>;gb5Y5m_IX1Uz# z*jG+m7o~C%ghFF)mo!o0ypmcf`q0BVEl%ZrnU{C*$#Lc>C2DxCj02Hpl`FR_%Jdr6 zGt+$~)TDnPKR)2p;J7#Q**E|x#1bb6s#vsed^j^qHG3&ZNb#f?GqOkPp^SP@rNn8N zcdE>VyP@$zYC{bUcr*3cN^T=^fHm{{1*^x4NZ;BtrzZcq&3*vdXJve9RN+H8_zD*K zx##ZXlps^kshDyK@}Bk5b{@97%JmV>jLT65&<-|c`OyWugJ0Ok zEP7B%`%WVuGLG0&M(O(d)7u(^Y>iCc)p^0sa^w&M59KEu!Y2F0OBkRBDa{SOJ!bXv zPfv55GO){BebP-D@k8#Ceb=Y6atESSkQZ+WGH>+wsUWnARfw^x`V~bSV{Jc})H2ZAT2-}kC;7FpYf-D%z_ZoQjbPP? zLlp85iVtAGP9-P0Q0n7wOn<4Z{)+}*>^2qlO}-rWNHKM<+^xEvEX8}*J5;Qv zOzQC>Glf5^JT|K*4vkyyHV7azEA%N&GoVk5cd)!J40t3@P~=-)Etj^7BW>j5Wuj_-MF5<$C3g6}&h|gk0)LcPTv@D73}}G|v0AT%t4&P#*Zv^}-)GK9ZT}ne`LF47+8tF_mYQ z4{D3MC14XRb*bpy)8|`0i*@rV?Uk1AQffsAgxi{hdB+9eK7++)$>ViQ>HkrEw(Z-I zJkAv}-elyGSv)yW#g?P>=PvD9_5h|^;TWbIGjsOvC{MAXDY#1wd5s(&tElD^?atr8i{q+ zxbx9!(YbzOKAD_&UCVtf#1mh-5U@}^Fj1NDScTpurvjYubUQg%#^6|^!IxUg4zC9% zUesWW$|>BzU)k|0)Q7#F|M}?2a;>%}l-i~U{tx6*%0tFcu>*>;Ve0A7xh36RtqaXW zoJzFODk34f#-Tl8fKK}vV3LrAX!IP&B#pjK{1jekK7Y&OUK5+uB^9+$uDD+!Owi|K zAn(ul5G#Jju_A!y3+Couj(=|{o^pG^v-fjbVYZ*l|P3!nSx}xm*m{M%y>Q65o z@`>t^6MlF+&=|S#BIptoI2*0HhgOU3}Owc$QfBbzlm5^=>!%wtdtF8&yO-xDYNgG9;&XdV7V+ z#N}4afXuPVJ)O9*mn~@QrB;{=Yx;q&8V^`}KfV5CF3Zs%&knMXUr;>7;=84E)U0mw z4kw?e1}^8;6hjhVx13Tvd z!_J@=n3_`OxAoPbU}zDv?x9kr3lv~B3!^JZn#AX*D-Zi#SgLs&Ly3D8CbBs>CYpKr z&V*lKo7VQtWp0I;fRWBOSRWRkcvIAz%-)*W;yKRY51ke_mun9@#cvmAyi}G60a!jp zm#0dI$+7v|*TEXA!)`lJ&!<2@!)OEroT5tT#s@YN{F4$j!)FG{W@#r5q2|5&_>Tl> zV8KC;2x9IsV@UGTK)Uf;-_@8i#g>6T(5$6`tZ07;wt3{;xgCTC?Q3z4%F<}N1E_rI z=Kg9ChX2KC;ceb`n=@ze8li)<#3qfaf`&37!ome;r#pT}5^;wB&wnWOxCah(94}DmK%u0NDI#C$}hio5UREKpqh};&3 z$=J)^*7qdoa!6ZE=2> zTocyCk*}NNrlM)|huZq?fWVBuZeOf6HBjb)A;kt$(fxGsaJKy{t`f(V-~BKjOx7C5Y1EsScG&Ny*rqPm4)^41q-dC9TfkKA@l z29HVjW78c`n^GP^)u;a$Dw^6EKGl;4JT5Qraj*HX3oK7B48?wdnsu7qTsjw8^oJ%B z`M-#o3@x@g&;$*eoN+o-o-NTLrn_@+e#n^~WF^O`h7dzh#B3vnC2HM@W-_hd^R4{+ zB0v6pe))78_cq7<<0}_c3@mK>U_wpPKqSB$lk_zjxPEo1^uPNWE!gdcn;d7y_<78Q zrdL;l)XWaCa{J$EC1<&3L{tVW&wc3XZ(Lv6wR_Ls=AL_2i^*6dXYRJdpTe|w4e^Ra zdgeHjoo%k?L=HV)QkeZv?~Y5~H62G0RN!IWtZ7)xl36OyQ2P7mwAn$nitFjRckzL( zGars?V1TJnxVD|O;8bPUuz!ndRSG3G#w#N_@qy+Px&yD3Y$j-UL5Z|ZuVPZ_Ji_yK z^$BSj2E$Tk7F7l({a)h9H~JSt{#=rqI2~r|N1K?ClY1C;tVMiTE+A|Or!D})9&6NF zs6ZY+mU>)%$F3VW*f)mA$7y0G)W0m2ydJ;(R^{7;`@YG=O?pO1xD4goJlqRkH6m;RlGCc z*W#L=f^F#-dwMn$`KigO>+#7QG;U#~MZ{`x7(w^(KEuaJx3`0m{9{)Jk-FQ?*^Gw) zCUgkPn=wdHT0*D|J6fu%;6oGM>iIeZ54vJ9q>XI->#Qh>{kC}K&^FB^Z+j2)h2%+_rl zCdO-6e$KY5mdlLXNG87JeS4XM`SG!lbhUCo4=|>zxQLux4y*C(8GXrnSh?}x;O}w= z)b0$27Vm4vHe!RH$Y*B)?~(2obPCo`>U*aVQlCBqeE>-hN%Wv)q5*xovG4i)AMODN zt;iDH#pd;t!uvsivnBRJ6I-ZR>&r~H6R0D8rf91-yjOXotIRH))R;lCfX<1_fOM) zV%pn-kok#rBgfCB)BhJe$(!wLOHuZj?YicD`uuRBok*i_KY*FFI(|JSsE+tsD$>7- zqFSXhl%+`{8VywOWj~{-P|unMjySTrpTj4m64&ku`aA0_ol5A_fvrU3Ui=~FO~<)y zU&HoKXRpg{%w&63^jYI*D*Nh|hTjpfW$4}3+R|gsW%wp{a2@>RF9i7F*U(kPinV{$@_&NtziRncEq|ctzd`g@X8l`|`ByFfs^#BI^#8vEU5}ts zyZATO%qR!c8+yYw+H}=7=H5rJRx?UeyK7+WrfE#Eu!e>APznrrYsF1A_8%nqZv_a* zf~+(?_q3-u)UN)z>-J*lsxFE~o2lLirTr?~$QAwTKgiENp~sEb>N%Ns%8v6nDxb6* zg;gVkt$X?y$VP7QSh^_dp>lqCR^<94R+>ZO$H}h7_0a%U?edsU(E6KW4^eSeJ$`vU ziMs5~|76&I6<{DYkS}p=TXd8aeZJ@uF&FBN^9hXZ%jRjQKKWbxEwww|iOO3&&Mq^~ z(nE>Nc(US@^KUOYQfoiiQXK3*f4qZjj3j5K1^8?{s|rr!*$tnaQPnv^?^c2?N6>*2vUdZTh<$Awf!#f9x_QpUz9Jdpi(IoqidhRL}GG=k8hFIP-w1vklWOMzBf?uI!7dL(y-!%<%z|jB8Qy)L-ksS6N zjU0=@Su{^nqFFD>Is4$BKApk1-$i#i3jCvH_*)qWRs$1nrrk;Q`;KDAtD#N-gw@5} z4pyc19~2f|fBQN49-t|%o}%P6W$W9tD~-{>z_4O~DG2SAkB>3Oa!#y=MuJ_)X;P_E z^BoEXIHOPln*kKCXw4!dwN6{bMJVV2@9vbbUFk*K4_|2|6-Re^O%L%Pd~{Sqm>us$2)N^OaHkhRh!?7(ieOp4j1$(1k(p1ynt0?E=0p;O6)r?#A z#b@W@+Mzu15Bue1m^V!T-*{J371_PwP@-9V*mAvyN34XsyLoE$p}oDYDlIZ_WxeYS zs(}P&{~ih@Hxv}t=8L~*%R-~}%SW{X{UpNEYu@g|q_9L_W;AS2_wjxJE%%DUy#TLU zI)l>a8$`Stgb0lEP!MElS1W%c^qmWBy_~kx$Mrp<;S~j5NC(MKE{8dcKdto)>ag@q zmw!E$48CM&^Ch_8;mB~~-`5sUGc=;^>H+cahJ{IjQ<65f`0iP-}q8pqEMSP66851AQw$Lu^`9;&(U5}9y8 zrL!LXF%PBQ7`Qa{Dl9eTFmqK~i)eG8L;O1{TZGAs=lX%&+l@qH)IfRyw74dFBOEv& zXzGTm;Kr6Z+O@3reozqHOtmM1B^%5bxe)1X>sbZxGq+W5d^@F1)&hr*tJ@&9N^sk8 z@(Z_PZl|!v%GxPI7S5>DQsGjB0yog0Pz_vs+J)6#2&C{AuR#=liBEdp7(8z} zqK7~+o@)hFS8Y#}|90+4F78ZGW;ElK%HiaOcGo%BL`M?PIzAx(T%yBkDq7gvQr1Qd z(j3h_V%3q^0lf9;CK$a`1JJfh(;+N>VP$v5r@qPpBN>k0+SNi`Xgad)-^tu|;}O52 z4%ElP#V4Gcl>%!TnqsITCx+92P&vcAnE>=;%=aD?!EA&pCVEdXOXy-d16sZl9oM@I z?K?+<<{G-1!TY`!Xv(5Ml=p$H<+G^>pjrJid0K59W11!-vih(qTPD0NV8uOSb`7Vj zHCUooDLNUxJ|=D+HJN)M5>{DjnAPVmstK#uP##&pX*<|m&I^;)EPja+vl!Gv7R+Q} zuhSuab!}?LJ`dtK>~s9yOaWhO;IGpqA-h*+j}DQ9Sy*j4@c)gC=C=|9@L$!)ABGS#DZ zh(_)w+|02H3OK=SL0;@jz|!?IndAEm3&KjU>1%G310mYixifc9_bY3fa%ZQgg)%}4 zaL@m2)}zxozta3#=V1Q>&n}Ou7k~Ei+D;e;j>982RDtnYQWT)R2@i3De6AcQie?Ov z>UY7V&a4epIyEhRc#BJ)8HTN-^g60dwfAG}BE+)#AT_bi-rB=#U1k2JsowwWlaFT= zm()(>0}_%Q!}qT`JmA8Sf0`qqE#C4AtDQ#hqMoQA*8RoG&N5=@JeKv zUe!3VkuqCUMVw+C{M`Mw#`WKbL^gD;;dkJ~Y?|d(!C{kv^#s!ne(;RDgf2G`8wMmd zBK_Tu01OuxX$QU#(vrE(AHM2KiPs~6+BaJBp#9*u_d7YX)-X*CeK>RkI3T1cH@Aup zjk7YaVI37SL`>aAJ({^0=>)Chy8x3~9GLGfXj-UVq9K@B5LwY6T9)>zNCs7tx6to9 zVc785WRPr&fXxwcCk#_RvE1m+?4L~tY5>F=ZJq&4bpD1~ke+7si|4W94K%08uTo{d zlcu>p(%3$kka8V zUbG8j8W)T*irKrorjgpK){2SoLm_swH;!@NON+plYru5ogtqxgDa13?QSzwFy&@{z zOsX@=F4!uv#`>J_G!(%vAE(ROwgL9fIl{rSGR$yrC*TN$n{8h=Vz@soBp>8ebF_#Y z&7AlqO-xAt@&D^ z8E3dlTGdFf4Fhm$#?P3`81IE9HoqzK|Fl%CO%v<&Z;m#YM-IJ59G+gZ$X_j zM2V2T?g-o?XMtq_H`)Vz@@-J8O00mCw|RP8Pow;)LyEgxX&sNLUSdg%$Es@|iiZt1D2A&A3{ z2*9%(DUIH$T3G4rbdY*I-rU+~WG=oIwnQf@m2Y0rN z`cB#aT2yYu^(&r~Dcsr>#T)j9BVS<%ngYXdLx1_UF2O#3$I~i6Evv(gh3p;ed8Ar; zU9V$po&}PTF5V~b?ezYosyZRIY}0!y?6cZ%%_#n!dYz1x19x`jUJ?=RZ|SndmS@*i zaDlS^Kv?vC7Nza7J1VOFy+ObaHizIT`mzd22L z_)FNzl5k{bH5ePi7BCzS^!^r-r^y=ysqw65bydx>2))0Ay|0aAXitkQ4`>1)4j~0$ zDEAb8xLE%NQBpewx`8KEKhuvY3IW2SGk#aH&gj=0wBXblL(17ZN{{w;RZ{ z_Cu558@)vKS3-{8re9!3W8qWFg9B+cJ{a`Er`gCpo?O7_3mGBnj+C~p4S)P?$Ue~} zoR9S~Np5;oov}_CS<+lzCXdXip8sU6A{w;FiHWLSB*4r^KpS0Nheiqq6Xg6$D2<6TX{(@lY9wshgX zJzFST8K<$JuML2BLj>HtKVDcJH?uN$X39h3o}Tq{b*p*3ndpnVI zROE-B`PH;T3-C3J_b@;=%XA`p)9EdOH0*Pmu#Y518n&phami)GcU8N_!xZGNksBSe zv!72GrO#+N?CeGZtm*a{^$|8<^T%84^Kk&BOKML#Hjm*$=;6-EM9jC906>|`Lt1+} z``JK+H8l^D9qE}b3FeQw?y`j&yY&~_J$y~cnrgGDT56tb48X^OhXF*4zKwDkY>6O%w%EQVc3vHd!Fo+ zn8Dss>n+fcs4?Gipm#1TZ?(0ku|GqT#p45e1|&(lT2>iR9wRY(MwEdn-i0?t`p~2} z3bqWTf|3Sn?hK%dIEXOSPF-*GX?P9*WzbBkG8{*b&!K@b{t^CnN?&iWJ26qUz+9no zGS{`k7IbSrEIJVV!zdZV<(r_hbTprU;}+vNGN6FuxYgy-t6Qy>rXAT3z!(XU;YhFY zAvKIPLYH_d*S#a@i;;eKD#)mJ5He=#gVyh1+~L^G@a{ns&r0n))3F7FfaK>I_cPtz zaY8Ze9)2UIv;R5}e|t5U*0dy|-;}RrqW5V8&zY@yTZ0FTG>o~Qx1V-5Bl%C$yO3Th zorrTRr1$DoK;+ulbP5djxmYH$5D4Yg4v3}4x4F?~W0hu@s`9Re9Iwu|^L^%&j}J?k z<-6+RO|%6{6WI6+0plK~J8V}g7ksbZ?JH;@F#)7HpA;k-G%{&&(pPE+r3G2_q z4L9!DXbt@V3RU77z3}Le`k>0M!Mn6*huP)y^Y?Ry!ErD=X9!g#<SBX z+zr@5I*5+*T@o0@#_0#zMS%D4*bYvvy$aoV=J)U0-ti6E%(ffhc@Xm&;Zm$W(%j#@Dob&ab?@;>9IfCTdcfhaED+llap~52h zFk9{n;u}NBK*2#>X&Cny+pp?AzOSlu6;`0a(!xz#%S!9AaR)TW^?m+n;1;!G*KQuMnS1!g2C6CN>&Zq0J_m#^tbKTSRbNPI zL>?gQQX%r-nJw_(;x-~zQD9kg zM^@td;rH0e>)Ggo6X~A-MDUz$+x1~FvSNh{@-&vN!(?&hVpajjAUX=8t+q&S9grQn zfKfZ@J$%MMLm1fm`x_+GPM>VWWC1AHgFywWks{GmhdXY4KfB#f@_cr974t)GQ z#9Gyni+!Jq@wmP(WsA+e>@DE=tgzy>IRLgonkQ|%M~EwBQjIl-Q`ey>+EySA&MZ#@ zd;AizQ$R7p+4N*956)!YW0}fk~tW zS7Q~Hh4O|uNQcsW>IZDv>yF+6b2_iB?k#To|FRZ9t`=petbU*MPcLq*Hr7lwfH3{5 zdirG1xLrv`;cmP^YgVIE@>Wpi$G&H_abq2zEDvoWeSm%S`>dLQ`xr z+=%`qzB{M3I4|pH6FjNn|M4f~)O9K~vi@Z1db^D@ZEY;h0i>rHVaqpsq-bg@mO$p6 zS}X^$(4PNcb6sib{ev|D?#j;)xK0bnJ-HjR26bSuSmF(|42u@DXNo56{w#~C_UYf= zD$ZulH8n&q0q%nHW~E*FCjtPv)1~(S0>fpffejlFA05l%TSeRO?K?n^Ah3DTfke-{ z^dYcEyLR#nNL^eqwEIBIhR5%#&cD4 zg}AR+V9)ro#>xK90mp4@1kFaoP1G4*vA;3F`)u6Thp5UhhJ80YJ|TX{+4j$KBYOJ*VTMI++cuaI*r zPUQ$Rz?dVZ9!9w(A1wH)VvATZz_0priYxW})-l z{b4H*e#~_cygwDtUPMsWE*t+0h)Nm`bO1r_cTwD8-^=cPCC~($(fYrvmI}~skl}R! zm}#Jxx^Cn>WCpg#>0>DvMa*=a1AuP^tuv6syITd-qDK=w6VBHv6o%O0UO7PpX7{zCq!sBAEcS-unL$^+u%Y zKr>_(Q-NPuFTm`2zH1A+daCZ&6+#Sir}zwqUk9W`Dn-_VJ)>^mv=`XmT^v|4yGQIy z+A397rry4T6_2c603fqO$WWJsFX90UQDnrrrH>Tn7kU#hIYm6*eP;{BflDb9Lo*lD z2|i$hbz^cu7<7*udz-cJoV@_{W{)wtqqkZGz#t~Av2h_ir6e~R9~lOe@eYG)7Xi;0 zTKRnegO*$zM}nS_XvOWdm6x>xng>vv;$F3GsF)hRN{L*33g(vE)TIE=ze*Fot#T;1 zPROh+n_Fb0rc6Z!^|>}IpbG>yix_iH5@oN2iyVRxggsm4cKt}Ps_~S z69+uOAYv^YXdtRhU8swv1Cc#n0+K7|U`5H+?^ju8Q~J&|waYXPuRxU@05+Am-W$Pl z9eB23X>AY?>k#8S_1#JMJ!2zn%#!L=81gw@3d)&oJedP%DT+$!*I zg~mg9FUzf}gA`!7zLJPCz;3L81k#M>$ObJuh_i@LHhs)NeY;dy7?Qh-zUPo4v%&liY{h7e=B&<{VS0V4)M;DtqaOW;K|j0ZmZIZn8D zB1}TExX8tfIw()9XaR2YmH(J}yxfZGpvLNZK;V&{9Xzz@@SFYbK;hqDNRve#&;M4r z?D@8JlP@_>&~kmN3ppH(fF=(719k`^3GcE`v`njC|F9h{sk@?{4fSBemWCon% z0bb30a1Bkh029Op)u@=Z#>5%|@t9kEV(E-KX%=|>7vfanH6^w4J2|X#JMW9V(Z#~b z-ZNe2yidRG`^*6DMZSCKzMBSoyHb-{=26SdA)_F0w0P4ZMH|pp;-Bmr>HrsSb!~+Hv%J#$j#U~Gc{RKfg(7dDj(FW|Yv*Mo z$IDjnT}3$yOT6+g<&@cg@`ppFCnN=?!pEw~Fq8vfdq7c)d%( zaMZ7IK*S~mlt1Fbcl?CC$#j4nz$ERc{+7`gVqo0&g`pM)V6`BOyQ(bv?@gI2#LPx^ z-3sz8RaM!skuPqRmULoWI81O*zgGf2mmTpHLr*9pz0A zXw(R|rB>8~!dY5>#=8L8uL(6Me{_KjVWa=O>*=(K^f4hS%St;gGG(Yb=1FhDO>!7R zeTp0{_Lv-?O*r}vZHmXVH|25U<2~9GF;@c`g-d5&Yo-i+|C+Ek$q*e`pr-NE0=Qg= zc;XNPzSCm>&cZeA=2g%zq#%ubLB%IAo$j4^l{dLXE&W^&f8I+dP5Rb*3^C{!S~68w zWAsZ$r_SAc8>!n*r#~qV4tRtWwN6R)=%-~b`d@dIRkL%O)FUW1s?)_uN5za5N#SIe zo0CykR+QqGK4xLSriY>4)VtewSum4TcJ4OJlnV-$9Elld z(vU5+M+;ss1>e`DG(~v?$a^KGpJvMIdq@8xjmlkaoGUt15;p-_@~J^s(1}k@ZoIm& z%F&7hy5fP~klX%uxG3@Fd=h7?sA=TdJ|s@4TGjZrfIRKg)m$n>oXKd zcAh{EAJ?gTql~ZDaV?6{=Yhl zVQ>7prninu4}{j?3J*`7#JOSZw&owrcMRJY=P-uat*zGwz`{9&l7T^I2_6-OAcY&6~Z}C@nIsJtRYTeELlK9@7 z)<%&%e^&W6bad5zFJF3o&4zjtJi%g?AG~gZ!gPBOv?@q(#>jb3^i|h03yflGe^tP;h~qLx4KjeD)M-|aRv}E%nyDhisNFFO9VBgq@^QY$=d;QK$nwm9 zPHCVprednV1a8ZEV0Wl;CCkhv`|_OlFu-VA;K5hoZ57^j-l390MWH z3&uWNzoG3ow}4?uGUcpdr}zoQA=>!RmU%%fTYhXu6p=t$m~8=s8mQ;(mt5RuT)1{B z%*>g>9T~!be9bZYe@N3b&K1s~G(yfGAVp*QCsxppe$l<<7E)RE5RZ&9s(zO8vYaX< zED;en`f&Q(cdlWc8HEko&#-N5OgPi0JDLClSik|xsgG@C>jdmzf{)LzEAE!GybU#| zR1=~!^m;<*&u(WJk#u=`U90}PGDL!T98m77a{g~lcFGN&1>9Te5jMQD)G;6N?>QJD z{ak}6j%Yr)+2ZZ25}B`3L}cxUz-S7+3EzE5B|$Aa;O*e+}HoQWsZ;{Vgmj6cPs<3B>aD^1MgpVOtD)gT~9NnrWwm$^EjISd0Q> zViQ!lxG7PAn7|;a0$XFJqRm5iD?Q`8+FOn3)$tAL0Klx9wA5VlN2vDDBfX#DwIk2* z&a@PLNvYVnZm=8}t;6Y-6*6j-tDQ_@Lh0PEMoqdnL<4)jwSu7xVlr+c-|sh!lf||( zha+ENwMT>7#})o?yhMJ=DWPq7NdlSDo2TqlJ!(Z_98oHWk?y3P<}2~oB%fr$y~99ISlr*qIY1_C5OfUZS7LTDl7SNIWnS2g_Pu@t&VSLFkV zEYLsz|LV`g=0=+P^cY4Oo%&Lo{_q)xm{Au1umSu+&RfUf^tToA8#)uK4PX#Ctb!g? zXLw_i0mu%qY$<1w7ZG?9=-AM#C13P=Zvc5I%+tDRREbQV&aZSx^saT=Jdn0iLg{4- z#HE(L;o;r(0tl}L*mohk$D4vrmA{b2!7u;YBh#DQ^Yzwkkcsukg|6>o7zXf_Ft-Wf z_AP-fXBO=+)l$?(qvtg~ia!5+!RejU?ba-RM$5bBPxk677{Ik7sJ!kKgHV?Q`HPtS z5ci}zaJ}6!v}S;BT&c}CB=O(ZgRy8a03?uNhhbVFY`<7S8ySR?ZR{23xL2iIN-w@i z>{s$QBxia6lfvkcWc~oNQN; z#H&gG)E-#dQr6_1Q8j3k3|_iYRbCquW1fQ-fu*m;b!j8wyOanrdhpgSM=gbTc>q~U z{ABXvYQr-!07G~J`7-+du^&forH6QJ7jZt4B@peOn1T!db?I!fUiP&R;arUkV$hWY6`CT|2eKz5WN4!L$odbLy1+jC?V-`)z~ z04>0%qjI()cRTcEX5z#&Sx79eNmYP%L4V@(^@QNeTId|8_ z$|GiMiCV@BkKxLph9$3sfzEo{X*ulwKmEaGUmrT*LRTZGD!_uig5aG1Oq0EgciaA)XOIX!f%J?h%$&kwhQa0U#v--`ugWBZZQMfZ zDK$* zn(r$2j{%_pwdH~K+ zyhw+Nh4UB7!NHeONyG93ApeEEA+5Mc1NX@5j8v~Dhfup}Bok!)>4Kr;4T?t~>*Wkm zdl20K+r>%iFp}0>zS;x9tC{95rY)sYC3J#>p239a7XY0WukXS*$vcry(0>aiMvGl3 z_>SQjLmjZ2tOf*NO{*y@(kmI(c{KHySM;b0S_p9 zH(^As;>OQ(%aeXSs}i#Wm<^rj%<+>i0FAk%w|3hX+Ze8`x z^B$SaTP%P~0u)#SnFv5PTzCs6pVKv2P#z=kp6Ad9q8|8qBVEzpetrcHiz#@MEFi6a2|Q8PazsXqW_i{tu_J=vlUq4d4=X z(bULQMh%3t%QFAD@KuWn{?jI7^jr;;w}2>8L<#jFgjK-LobgZgY*61#34_9 zx?05Z*z+&H{Q8zBq0}2!}q+u(Z($qv-4$isuz@*;19or^#(8X zm7yZsmBSRDWOVKEOdhBT@umy|NFTZC4(vTL`;8I^fmIFI52+P+RJ7(NVQv$? zN-z;uTepEst*M8$gw*#<=1^6DEh|-@`q4IE*@~pwNnqJOZ$41zBHdO?ASO?$-61+fZPL;Hw|f>yA8$l>BS7H_TAs9^>_G`S%LlBkRIGg0r> zPFIHMzj({w<($FW6?YT2vBu0Ktyhwhr1jLu-Qv3O?e(++@to zk{s3GP#Xv@c8sUpl>CGLVb@!jSGznsz|q?+*})~lA`=*9 z4Cur`{37iR+R^O{=3oP5>gQN+&-bo&II^sNb~-PlK&#Yopxq*Z6bFEkhhuNQrp^jd zOZ7n<1?|CuleAv!FgSgNloy|qv|1dVlvE!Zm@AM`D4nio249na1^99@xRE4MZyC^t zz-V{J(s&r$$3aW*mw$NVRrLkKKq(@7%NZ7hbLp*DD+b?&8~dQBvp-;}`93_^C48?r zU58H>^=2Ph^;4zQ#}w5@p+{OG>Sq9LhX$0X%hP~p7UFGqkmwOZkq++RoWGV{S67W5 z;9HTIWgr!an*TUc2kd@1cyP)qZZh1OoN%C+hmXWxLYaU%deHCWw_1l*wQVfZ7FvA_ zT|ts*OEm*UytL0kj8&cE97zwHA#kE-%#$5!q0k>NhVFmZYOgW{#!S3n-3FbdIdA$s z!p&y`Q^*5dGNfK!pp%3Ik$ywmC^)9!!|<3K2Oa)Te~~RtS{v*gtp*75?TcOY#iHrA zvlHcvbNx}=SYt}bZsB|T-%n37`XTRKyZYbe>bXTVP96t`Hxt2t;E`x4=Ol_&gaRaN zDR=yq0gao~X=rV*FsUN=j6tQ;BZOudXzjuE2T1*+3f2`{>6Z??@F61z*mN*EH695R zAN2s%_AI+M2j*iUJ$R4YCg`}qkg_zBuK;s(&{||n8UKNAL7^WS^K{~UC|K3dSAEZ| z+1CHb<|VkftEZ_4XS`zGzLyG$;f-UnItXGUDg@#{078>dVTvQC0pEAv}!6pcx-2>k7T~jDz z3@>568|d9!M>Eo)A&gh?k~2(~zUshg@35+G8M^cM_McX3F}>2yNjdhMlkh4X$-%q> zYlBaT!zLUY;%bH70kDD0z$v;nOv7K%QSgN~xoEOp1|1Ycy}a~;Y>o+%B^cVjU_^t$ z5sB0l3ZI5kQSqK&e09tsl|oGj6*~?1jJ+GT_)xN$U|d|9%paz&0kj%rm;#G~2ghc+ z^tDt9v~@UD6uZ0uO((7s+2Ha?{r=QZ3-V!)_qJsP1NJV=JiaSgo(g*`rn7~;GXQij3afkC!W=LUrz%mnts#gqP?Wr| z^mTdg7S@im`oHY7BmO&B8S$Ms>j|c9D{X8BW1>NVU#K9)4|yToja!6h9VGZ;1n=%7 z;IprIT{_k|`E)l}&`%X3*u{k|MKl?&1RMk%M#_1;g2i)eJ3S2s8Edg5V~W5N_A+ep zv+)YIBKHErH~%G%1NK-STVf3FSDhslV01XTz8&ZK{T|6F;n!L-)cn8E8y$_>fI!`^ z;L(WlVo!Lq;rMt;4&k^Ra2ptajDZM+-tQs^kkGmJbYKG(V;Rff-4Aa%@k{+#xq{)d zyFq4UgqUb?S#eEClL+Zj9eACiS^#8`KSGx0Qrzedft?)azr?x9x-HO!cLlM&hd=W4 z+eCq+s;P7s_>3DX?BJGmz-wEAnJc(2s9h&P3tv1w+fJsvH>tlg!cn_*AzI{D0LFA#5=lBp+uP;j`JNE zj!7+$ZAOuw6J>-;+%gI_CRP789jT^kU@b#p;uei(I{UpG%s@#k3ZD&B@-Em87-L)C z?;>H$VUME8Oods4vIFlk>e2$~)BVC4R@nK|1~1XOE*m@7iQx!y{x3XWra)W)G_$`&2Lc#+S%NS*R!ws9H&UR^yf%?OGf0^48mGy4>otFd} zGh#m0emG!F`$s-ZZyp@RCbQEEUfHGCX}%g$V<2Yj|I+Kx8#hkKmcz`g^JR>I13h`w z0==ioiGdL9S1hrlDx!ZR^zWn`xDn%ZKNIKH+hAta?)4aQ$<)_+!`+MV9Or`GDGAFL znaJsry)!7x$}7l`wb<|2)czqXtR;U9Bp=;Z*0s%6$eqD~dG%M~GE*=@=rpvq9h^D! zN&cl6yv1BcB)v(t#Hs=xsDbt#L@1)e$&f>EY$tz$#Vd3mP$aJ;SQ_naP=lbJw@mGx z)MURivvhl~l{)O?L0<9HT;`_+?F%`Y56M1NxK?0?ZHaN^40;;bmTJ`yE7u(FdacsD zE}VbH@NRt`7?s{u@5uN%z0L4=K?d(kF@PF6h%J!06dgEzgv=;k^;Bsx~|rk$wB_prU&l-du} z4vV7?9<@$&`Lnq}Zi?lZ>8>$27Ei#re8X-R-!iUou6}7a{KsCMcmJ*R=y9@tx2r4} zAU>WpZ==BAtsjEfFxU95Wy~IA_cFwWIC7_B6*q|H@8(3BBb|vdurCPgF(dxzIC#9{ z{cEXLsZ5V08r!nuSuHU?yg=lodQv=Yu5>Ri)p`l}e}?&=k7(?slbGY8e|%|H59k{w zZ_jUG-k59mVfN*r=u+S+1Mp}WT2>H3Exdt~;?85vuurIN)or=sXKCyU7%#v^DS+V> zKTBZ#Vap~+_evR&sM#T(;F%|3*4EmF&$}5er zP*UYX+bZD}jsme3CQTJ=3Y~_B42mb|yk?(VgW#s;3ghL(R4{v~1I+XT!!*HAIeg1X z-8iv+g}hEX<&6-dc_neGNyQGX21A~SA9?FSYH5MTOFe2Y8|Hh0lpAPG-x+Enz{$nV ze0>A+0053J)5%`L_hlSnebJKuDqePnWEJin{I@)iLi+Ju-TS|zHmA&12yuVff>*3~ zgigUrt!y=1cwh7ck;k*k_ z_A;NhNRC$PK| zmze8oQ4i$gM{1JXqMa+0F>l?v@QY5$xmfL2!);t zchgR!<{MO9J|-NBJ9L|yxk)WXx|v!xRp}FGXA{d$>X!x2-Z#jCfqXlF_}&w6{E=u0 zm|H;Jh9vS!x{Jo#g)$7-#`CRgaq>ULg4X}Ff~CJ;t`B?~FGUh7zOrpEGU4Eq0QjNn z;i<8qn>?e4u6x2pCHAFF%V6xwJUO}C`s%5i1k1r>_OHd4&X>e~) zSn_g>^vJ|4jnHvnWBfD|&b$Yso(J4in_70KX#+D`@=~&b&+EwsAF9n(zkZkvS+9{x zqYvHW$zhr_E#27pPq7}DZHhi z2tzMHb+~qTP?s}k=hoeriHT(Q0s$HCki;((YP50Iaft|LxVFs8zYGwG77AjyoHF-T zX35JJde`?MLGIyL(6kQ&0g(DohpA(6Jdh_3?_8LLUGh3Y9%)E0?YH@OQ3^f12VtS* zbrs&F>J@GB*s_kbXcaMjZ0I}wY$q^E8#!2H~8dFLiJuadRj>h7(|jde*XLGXLCg1 zc0x(e)M5EqFJdFFS0ZxwwKLAwe!lB5PJKSkVB+)ZDubzN#a+c4m%r_DI_{5Mk2YI5 z^5H%U^~6DO^`gc6jRVHYeov~OjeDt7Hs9`bAJ$Nw5kR6on_WY|SB5-mdg8V4QH3g% zz1qXU4gKO(Pe_iT;i3+cg^rc92m1;=0%s|XtRr9$s*NkJiq>A$Rv|({lWeOe>SG6j zOwfY}+I_11kkDkOa|8T-R$lo|LsDPLZW++c3?;hGOU^OWGPktJrNvgVQ7l^J{IimA zN~~elqV>dosiu#VKw%#whKKL%HUiFQu?;@vQ|+pO{OoaKhp|Cufmf{F`HP$d)B0*X z(_z$oGdpe6;Cnm`7rDH8u>1hiY4&5QG^v!((-wVU|AOKi$f4uKne3r#(Bk#-z+EBX zP#&gPN6Sz!hBd9y`=p(@Bul#&6-yw+k+tVrHuDcUSCv9Z9Ui%u5Cer3h9rOtL$ZlY zZc5!fa%}LvDhx`G-AgC$lfd9-lGlx@9wqQ7&cKc?y4YtQ8JqpOMJWjB!+0L*pQnS; z9ANeoaOXsT0jJKRN1OG76lk}Jpbxx6v45v-W!8dahliT1jt90e@z@_j(|_f>nV8<1 z+?oVmrZHMO&SYhv`YJ7NM$y^}oxCs>h!}gKqoMBo>5Zr!i=Y{ByWc@ z6~Gy(-~~75tjCYomQH?LE5>@D&a-zPFShj)@TG8WDg^7MftqI0xDd8d8iFnrf+3)K zH@&i1>fLsgww=PD?7$$C3@I>^*8UpkAoQiy_?;?B18rt<56piTlZP9@tfLc70#;Y# z7RD+TA8wlzI76Jkf6_Q1Ww%6I-0C9^-h{jLt@ADQXw}?di}b2y&+F+&;Zr?DJ@Hq4 z8ZD#!Tf1Brup2*%Wpnp?@4OMk$}QbQ9i9C#e3lPXE9uF1{1iN`fpZF+k18;3)qmGm z;^jW-yXQ5~kvs+BP^kB(!}7k1zDtYE;|b!f z#29xs{Ow*G|5#lDz*;C(^9SG9=R7WdXa`=WGYxY=;`4m4>U$FD?}Kqhr*nn-?=gqZ z?DdkOl~f}i^{p=PTJ;?1NroYBfGows&J{i1^c2*g9`<*G&c z$QP*A5;^fZYbpI$l7Jb1tuPm&FlY;y;PQrms{;Bo_q&~w0u~n)g|_W?^+<~|mo&uF zPFh%16w{wUn(q;5?q7S-en4R)Xt2=b9Lm<<*o_ED^{TZekI_mF#U?W+CG?ys;{vvi z>`=712W=mF>NG<}2F0Evk@31#fSs6@Fa7o6s?X`~0E7gCa1#I~d7Hw@Xm&e)i+inj z$nQYUVMXv(-Zv!=wp5QY-Z3~BeQ72`H=yzP>661TGbL|KCkze5Wi2cv8g@#l8ij#wfd>=?kShhMx!=2@4{oj5fRkL&05JcL!nNjMZfFBkJE( zT~*k4Ic9MO{HGh#H-ZvbENu-jX{43~X@k!+^)@G_Rbzjpf+YQ?KWB^QHg! zD_#-3e}Apr7P#&**UcL9o^>)KjAzHL*tJVWyuf^PYno9?zkoBn-jR8@_D0Olt)cg@ zD+2v2Cm@s3XhCPLtZ#j~uAvmLB8<@oeD@L4x8Zy+p~bqs-{c#W^V>o=pj)I#e(e(Y zE`C*B`~%6Ote6rHHpaibI`_lkH8q3LJOhe}U0c@mw0Q9|lLIGI#CHV=wz9L|v0Erz z&^43oeNZJH^l;m4breg2NW!+VOgm%U=Ys<5PHN7)8BFlqIXUyMPx=$1!?jY!Szb#X z7npt}z#sPXxLZW|I+ZJ967bX7BGVsMA8j_xSH!+Df12{5-* zhmbp&=i$(le^hKi?v39U;oQWgR`KawHxB&vlHDFkN#6Bj`%}bGvf~ish~<=6k<7_V znO`_ODkMey6(3eV?*|>IV^7=5PV5yHGBl!Ph-;y)49Gb0eY!q(X?^XhXcnIRW12n1 zdKpM@lym2;qUbt9ZQH7@h8r;z%82C^pU<-}P_0~RCwA_cw4_X-_V{T|;y!(!O}zvg zYu*KMF>7NL>hxX45Lu8dk4hXuUk5cwTd5T6KdUgXS~aUzeQ$GPvDl1 z7?Z;2OI$h;PrY}tFE(|aIWFXn6WEz|rA_`ey166qebweLiU+Ijp$+*!ZhQ4jv!Z^2v9OlgE+b$fDi~E~c8>1_0&K6cD|Q zB02K29_d~9s*v8Q^|Df0Cj{PY06_^W%tGz%G{DV91e*ux0|S>d9z0SKtTd1Q@UW2p z2ve0&h55_wC=GfatufbSfJG--i2Uww^Xp^furUI+fb-O@vetf`B&Fn;u02BVrp~yM zQ%ek7M*7?EPMW60 z0U9-_?20r^yC5Lj)Y+i;_&B~fRX{-k&5Yf=zNp+aTK~m`fWPW%el|d#9DuH zkFCfOD5>%RjlQfb4su`6c1UrjB`41)dTPOWoetHi#9t(c4k=$5QX)b&h_D2QZRczk4Gei@kZ~L zwVf-!CGCexJSW*Hz#GJSs6NH~t*pS5(Xr^jNNgQB;ZRJaY^rx5&kOJp;nbfW>uNCr zj~vdV5jUFpfO^?hj+NdC05PubN@Sx~2jwYw3iSza#u8pLrk*}S8W2BDGcgF=Ai!T# zzH-qeEP6Ve*85#ZM(z~#urU?YwN9`99N6U~rF|fp)zRmnU3%T?z(#E#iS&vx zuZpSE&+u(~QzNn`aE&*YKdK|kH5_w(kL-x%fYQB2^F8t;@s?Wa@HcZeZC0-B~-A63TEO-)g!u zjM)11cT({PI#Mq!lwe_u$=2+4Ian{cU6ZZ;n*A}6)R!Xh+?H<6*N#oG^a_X`F*+-C z(6cSE1f%3xRmO&F5`Uqi5U4v4^0HapfQ_D~Z|Rx9shF~$@p856VE)j0$B*DWatE5f zsCyZe$&fKuhT1E8jHHB{ojQ9MaEf3eSrv7Lz>omdmp17?%l?gE=TZB^)Yj%t=GsVF zpBnAW{NyF;m%}eDD#QN>Gfk`*)a=yD7Y~unxB3Df(71^b7ZaF@J?SNg%)8CvzmdFC z&RTm`6Z>UB$huP~?vutswd2#9lU(z@m|my<(}IEX>U$0i7buOuS4&KP*eW~~ zHsT_mJ529LrVm$Zx_SSH)*sx%y4l}FOk0Q-#efv~YL$g{P7?R!%u1?C)z$UkoXYo` zS(DF3BQgLM`y8u56C#C!T&60$@X2h}B=$|W%MnZOs>Ns}^Dg;W^y!5B?y14XMMAR= z;Q}hwiuBW;yi6(1J=IyTbKp6&XMpi7_ceZ4CqW7Gtcr2R>n@tg4Lw)Hv*eKJT~0rR zticr}p2f>t^ON7{B-7XuGO`LfA7R2Rb9Q|g+}3T0;`R?O7h2cZZ_wfS#p%P~M9s(k z#1bZ9AeL43uu8Ez(wZ0DD*w|_y!cqa^D^KGRh4@1g$L~EnwC|+1>iJjtWd}{3HVNg zlAAQFh^BoxUiZ*s936(nz_cj_3;JlxlZz@L#F`i-eaqWn|EJ$cV_WX)7<=c*APe{I z)~l~2mRIoru$>|xl@9$|(|8@LhdXA~vB!kBmjYc2zGLzlf47Ur){eJ@_dSjZJ;f~u39XeE#B5GJ zE2#hYQhZ&*4Yz5{u#NzcD@OG;aX)>;qn^LDeAe`w?F-TvfPI23)KjMo=#wN27xM0f z$D@F_Y1abVIbB%7I;5x)-y<_&$sSlTYvEAc{d3fW8lhSL8Qg!z4_VOX&}2bo3Y*7|+IK zFTGp}s%2)_{V3Qg@JAm-$@T~;_TMj*o}j4qaX3SjmPiLYGgz5@*U zV7v->eVf4V+(?=*P)vUE!ytr{a}4XzU?oMH?Ii3w3(ZdHZ!Fe0QBiQnf+~(V=Od;% z#;M!Y5&@Mmr@+14NWx8i!VB>KR~<8l=&gZglP8CQXk~9e%M)Gt z@#J@s{gyaDjlF_{gLSGN)1$EsHu72Qu zXA-O5w*w<{D=s2=1X#2$~g@a9HU4C0>OCyV0Z(Y^#A$lhdjs6uo7%3b3 zm*{w3%9RCW^LMh%WYN)gwTWo_rB4mYmK~Sezr~Usn!0~me}AemsVc0nEka!U3yb|( zY@1!j)9mauo3B@IG+Qq&vDcq@m-s%?#S0q`riG#Q{PppCr&(tB()G-`4q}>fyCU&{ zGi~1I9nCxe*&t7~rA70N#Oz!hbGTE;m(kjLKgh*3hK^arCoZ8CH}5YOgiafR)i2fG=uc8us&jEgN^=p z=(8WseYYve+=QxE+;Xg=-yLsSQuVh~G`@fTHy8pMPSMjy3bv`!3!4a|kTFh9M>nVS zUS>V*e01|=WL;nAsTLL!=cAFAqE+{Q80@2(V}rj)?nZI>KWQL+Beq}m*}E_1Ok73x zdv3)|$y-m+UL6*$HhgeH*MV8=$0sL^TpMOdN+ez5R{7gJl8?alXa4;B{0_h&ELr)lH3wx=h-H!235mGR{2_}cp=5PW`qS>o~HYJs7F0Sof< zfr7t^8%6XxIBJg-4TiPXU$E#M*zxwV`mwdQGf=^OdOJ$zXF?5f43o+*XYMvSbyi=` z>@!0>a%L9cl+ntH9!3fDNpZ1uI^Mm-aq7V>j+c(Fx`xWe6PQZMbDLC}gCg)st-g=1 z`f%pIdR0!XxYtBYM~kd)92`aqC;F)TF;r0{6d~5T0RH7W?B#d%3;y$!j7^RibvSzJ zbKb$o&Md&NTm)mbFV-m!noZ0Jl_#Oi+%v@5s4Q5%*L)}Qc5?CMhIwPsdJQc191dak z>fgP&bMf+}2%*eyj3dTv#(Mz4b;cqIyZ8~O(`ow5MAxT1J|jcOt08A0f8;O;apdFw zuH$8t4ew+?qo(V9w~hLSjU63BVCxSFb_DMbVN2q%lQf%YqWW8nZqs(vv!X(O8i+b+l}JQ{1y>o!$;shO=80nb#cL-`Qm-2ZNkrtk z+PdE|8GHTHwtk#jJ1y*wHT#6zx%NkI+;$*3z{222;ROpts-IPg{!kM5wgRXAnv2H` zOA7G|6&Q3$_k@X37{!PBu%Q@iZ2otSbt18(^ecfy8 zQ3rZ|4|Gq}4mIOVQ0jSak{URbu|;jWx%Oy&VVKfy7t6L5wYRAAv!T704^Vk^rJfqx z&-i9iV6!v)q8HpY{^{UJNOI8K#@^kzx6k&2fk`^@Cv85>f&C1;3JhTb<8u9Dxb-sy zf38{Mi0a+c?Xvyini7{mP0<@4H#w6_C>N}o-fCEtowl>KzAT%Wn8-J~<#_I<iswPC%!(LvK-mSo&E)U`YZ z%6W(5cEfF?uJ_wc|LYEdjYBR9Zdh~5fFyZF((qJ{Z2{+*ghKK8l&np#QcY2jN8scm*sqA}PuvuDI^7y%x zPGS~Y&iOx~K@KkUY-OXJ*QeYf$;ldT&xOz{p=;0N8) zjknpl;=%;=m8W~=-|Ukr;&Oj=`NQDBC~#xbAA5s?I=9lY_JJLHvK}MyxPxzPp0})_ zq~Nseu9}&fOx&3OD>BmsM;Kijb0Kqh>>(|_i~%gyjdp+ z7npra^7!4~`Li`^9$*+w^Nbni5hb8|6ujM6WKb~(2A1B(=H=$DH{KAik@34P?l$Z= zL;YZt(rh?d9@Z*oT-v!newU6v<#EeZu8-z3%~YPc7fHSfelX8RGi&>qe~kRcPh$z1 zYu0@14?K9cal@CkwmlnbkQQ}YN;yJpBn`E+cG@4NZV33X$YZ*t*xkxX)j5RfnUQu= zpPa1f&7oV38_E__yPBU2%8jrk*>PjJZ6B=vo#$J#rpKvj`-j0l-lnEvIF1lGRMFV# zrFCZ?GVG$+FEAZ%q6f`mQ+^TXmvkPeJg-#p%8ABq$l-JuSwNT-?FYhDJiKdRRa~!C~8r=sh~Hu zaoO;E3WVeOftQW#ERk;;Dhdo_Mc#CbnLFJacri=1jYF!eE?P2Vp5lZefT*E))=Hl{ zb+umv;MJCO=8@+|Lu@4Fz(u}=uCH&}Yj)}c!z0hCv}d<~EC847shZX78ZKlgGCe&# z5dJs}adyCKI6XhMi(PXxWtyo`bNKKE&O1E!J^y77F#P}UqeW{#Hz4oEnuH5aCjuH! zcN@XbD&~UcJ)FAB@w-g$urvsa>3F3@V0m`<;&uU};md?1RZD|%o7{~b(c04^ zQ-jtcW`=(nhh*(av1Rw?+40^Abq_EU=P2Q>#nxmr8eR8b`@sX$H31w9llLrWQke$# znGwkjn}VnFG!-&+uhY8wariG%;T(BcI0K$p**0g-D9d@^gIhexFH~@?s&}!)&xtIvybcei0atz_Rh&Kk+Zq0a+GI0DfKry*%ryf0={@fAQ$ZwMu&Z`oO}= z+DBoTC}cYB-Me>NW;QVk(i0`WDI;t9$gt&55`g^O>nwJ?LJp zU(Wh^{K85ebUl?qmH=LKDxe|qvfn6pnurOpHh_n5tQPKRvAtlGAS>jwW#{7$m<1Vu zpnm>(eM8F4iv1w&@dcSTA|%CLxDB7v&+0yYex;u}=hQH$i?rYi8=JZJHK&;JWUr{Q zsi|q7eAD}%ljWw_WR;rgQ$QV-8f)oC{)ui~&+POl9|1R2pMl3N~812T=^s*q_41;*9;tmiGy zV!RXkY2Qjs^p1tMHv*%P1x9leb$Gh6)THA2gB5;cIWgUb);C6c0AF141-}FASKRJW z6KPbKu(AEis3?`uPgC8wSMu8%!>O6~zLeh58|o_hKmXwqWC>4jZDd;KT5CxoBg$ZC za$ep*sE*O4&50p4Uwfn{*@Ve6;087lzBA86<9|8+l>#WszH^L?$Nhh?G9hzBf z*ubq1tv5YWZo92{Ey!w$%bkVz*3S4-j*}Y?5e9ijhHX6SygQx&7B}o%2bShH2SOyYhgF z^(*;qR_$~>_RUZG8-yZH59o&>vMO`%%MlnAm1CL?DwO#K7UY4o&O(%k`YSL;2i9$1 zp;jg;C-x#AB${nEBjQ&mQ|dJ=EiJ(t#EOcFW9+AR8BV#g`Wvnk7-w;%7(QMq&hxs4 zKd{?SyP2u(R9+o$u`iP@2~v`HgjVvsYwt3)w+A(ycNi8EY}OVC{{b)l#*sm?j<1Oj zn->q))nl9E`0mc!Yt&?F-N4DZ?q3lbn(Z$c+!|2U!kl;fN#_+ZaHgeta&p^`vAJDx z&~IohCIOcQNeZ+ioQD_1b>)5C3>+ZcRQh_K*x-v3Z&2<(;xrsuH zl?-)5mdoI`|OfQTzFBDSJ@r912V^>XXGSZJe%bpnt_~*k@eS26UCc#8bPYg`z z9DS|8$HVOlI7$PT%tG5{#gt>s)vH&p#|uzmd7c0hxJM2C!nx-%<4oq-Z%xHR=P*6T z7J2V+rXXfis3As)&%xN(*a3|63cp>~j8FrSP@k8FtY%Aez7+$Ck6?r*rX(eAC0Ijf z&E_|D@v>lETvzH`q^yTX_euLbj3ZjW8Bil6qQf}!Cova4M?1K>7#KV2Tc`y^69!CK9^ryDJ_k;8(PX`0VTx%rAi5?eP**04BJJ!bi#3xLmH$NbQB6q0w1QtCd_w zruXgrmRUS;xvxR9v?2Pueju=V{g}hT>-CeYV~A`?iTFq!+c(=*^0jM62xSV)FB1D2 z=AI#x(Nq`{dDbr1qO@HuwlFdGRj2H1{PN}54oRXOzfK0T5#Nx@QfRTITHMV^rpA0# z!?-u;TUPv;&l1tV@V1;apIfT0ukZTW`PnInlxEe=bi9e-Feh3ODFhHJIy}=FZQFAy zIpv9(0D~&$KW`o-=iQ?`UslDU1>#3j{k`%FH7mKe-JjoGP5oe^d)aRQpa{<3xd4-` z3X$A`loU6AkdXz6E&t?3;y-}TPAqt%qZVkc+XZxUK0>UcrKRQLWJvXhmGKcfr4Pd{ ztQkryiFVb1AHX+ttoZv6yc&;EqTJS5=mU|GQd62PvKC|$bs%Bg;mZS_}iSy`hQ-H3Qphq+cRLdXVoYOVbp>={hSyoRrcz?Bxn7DXA zreHxJcfFa|jmSTbg`B-lMIE_HN0Ur|o={Doadc}eGE`O=E7G-G>@wp)?$Zr!4KO>F z{L7gr6!frSCr?J)xpN16nb)$xd9pEa9{Vj~#cUbeeKAbby6K2R{XsEMbiQ8y1~6x$ z?Ck9L))&Feo**mTA=P~A!1WRY&tLHu1|1=Qao{=Ik-4YrbK9JjH2w--IK=eoc1uv5)=Jdf>O=(C1O4*Lsg*+uk#+cwj*k@M(pzv^5x z&PtgaVAEW{H~U&uM5{e~@(q9FSA$I=85hI)5G=;k`4tZr4*X4}ZBAASfru>I+PSW0 ze7ib(qOQC+@WV{>am^s!!=ka)V9!{CiCeWqKS)cCHA;+VaVWstRUxfp-d%dkBg?$0 z+%@G@t{|vC%$L$LFgt#CIRj7)LVFq){Z3FxA_Fl|Pugc~Qu2EFKe@=+)FvjBht$Lg zw2p3!*A$U*1mMuahmUqVsHyGmv)gjQU)m$jC{j)^6Xn?Z>EratNWoFOlQs{ps#&M2 z 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.r5Wroxc&_%s1PubU zbY(8|RmI;2&Sy-+ahhKaynbWCKK4DBz8dxwOkaks7C!6B?=piSd}j$}J%&qN zByGd>$&!`*(SwK#S9v7mI!SEPV0PH2a;gTCJGgd?J9x5Q@tOa+o`Mv<`RKgVTgOIv zZlTvEo!9F0XUQ6Do!$@axH+TaKP4^Ez3`;41VzuN?Q|i@sKS^}24nDnsijkoAgC+o zy<3XfwvPfV$6?sNt|me5jTX>_G}xmPuw1A1sGgad1!KNw4L$DoQ-A$6YLjsr zL~BO#cOBVgObKa)Rw5Oo|LLO8-#R)v8YT*_ED(r?29KlC!g0M=V-vhbK}dy;q2-6B}9IP;*T=7+M5eL$_r$A zl;HFx(B|SF9I+?iz~>MKXq@!gv21Psk!HR##$szwD~kfAiV5poo<~^vRVoX_rk3lc z+H`dJhrnN-Ptar!ib@d`&l`~VphdO!GHB6D%cSTjY5e1Ry4wT{+#5^@o<5deFIe|O=Fm5y06ZU!t-S|h zBWGVUqFn`EMOFGZdU8h{!(~Z*8l^v3Pxf$F7u3Z0*u0??ALvjh&rZ~yGc9oL@ZVZG zl}8FezIKQc?{EzG-f>cR^q1oV4%kvZvn3q<)YjKRrbh*an7;Lx*<0@_i;+UKGzf=> zn{i*4y4P~&mJR6r&-mab&W4`RAv7xF_4zp2e|dJ2SP$=APVEMRlL{X0MpWjP&J+Fj z%}o&Zzeh(l)O>@fzm2OlsxKf%Z7gAJ206u8vJ9N`E@6^L?rH}k`kwDW2QdMuzrrAX zAP3P%VcB}tJtN8Wp$2ggx95YSh!#m96FX{?8F;nQpPEX@N}AsX6e8#U3MfEUK)=Or z8i^|%5;fR~?d4oG7t{nTUAZdl>0r~&z@saZGT#sb{)DYa+~}olw351+j8S## zRxYg_oEWNdv`>DJurmAh_fsr(4M-wJ?5C85J@zY@_aqe+wxpd}!3bD}D8I%3D_8^P z-x;?%W$xWS*_me*F;W3|Gj!OErU#U&e3SN(Qijk8n1}TtgcsXTx zHgq5U`)mm0+2DdiUgpE_$eFfTun3?RFcFSN%p^{;N~z}NV}=L#$j#2je<3%2&T2L{ z@=tUpO=NY_{Y-xng3%9ol6SShE+DaVVNUtm1El_k2Y{IT(K-xG&&*n#l3R2i`|wI_ z+xXX)i1_!Hcxt!PV{c`NZ|yEK0l4?O?K%R;ZaqncmNdo6d1W5{E2i_`x%zY;KsOd# z+nySE(s`zhnT8GTuJEV!L#Dp1=lOqMh>H{BeWmBUEE6GciA^>{ecxpA|2}xIp&%wR z7HD!%LVs}-JLQ?LoXSc@2j2pHGe;{}A4Vsq-n4BspXshgv^JcKO;AoUy?89`so~du zWo1hQ^siQ5v&!gK+RXvwwA#J9G@I#9*bH=eeur;pSAvk^8mPgl+(~}MU`l4fL?Q?l*?i*LNU0D7i3I>l9 zNs&Oze+osnz(HAb4bgX#s}Z7yk(;|?)$%`HF{7W}I$Z?tIa}dWgtJS{{Vg>_pp4=$ z)8@XsWsZFP+^|e@>bl<~0BY9zF z@9D{qz7Se7-@xqcbD)hjhmw5SmS<@7^2hf%I!VYTIoza^J8HK10z(jrj$|wjMG3}2 z!Fdb=oY5`FHtXfBvu^npZds)TzVS$SvHV`I&NoBc==>vVb53Yu9edFF+KHxP=J^bBtJmXKt`B$gC+QW89H+*`lsO4*H z<)|*cMQqpVDK$lllh&%vJsZijRa6CO%C}L8Estuu;?Dt~rJ__d`Bj*U0=2io--EKY zmP*F%!7ka6{NtYau33JGQ<0xFE!3J<9|*}a__fzqRMqupY;x--9Z9W9y`|vazk71e zEB^Zy*s-SKUY<tXehsF16(yvLhyTOP;G1G;e^E)@ONH8C+!bb+1-uToz;)^z_% zeP6K)p`W+=FhYJY$ua8-F4*6E^LF%<6P!(ans!jTW{4)diuF5xt6i-dj9QY;FMX-T z8cz+c5ri(?Iyv#`Nf;p2ZjHI$C4{;Pj(n9GIWx6xfe|ULv0nGA#NaK0Q%17tXUgmz z>b|u_a@uX+#rv4Q^#{w7R>&c$N3WDF>hVDvKbvw?+W?@oa0xFt}{VX$SVdnl8 z(e?O=!wV*ZB|{6nttTlm>}fHfPyQ2%PZoQok9QV;lK~E3q{sv%`z2nOGQ4%1JY7MR zU`|@+4&Cx>^5k!GoCJFgi1doetp3C6$?}_|56bjyCr;p-qpWgO~dlFx?MA^bzQ zH|B+!6c$ZMV#YH+-y%sN1Hm z6h8QeiBUl8G|*bHyxZ1vXM8GXn=o76#6U+S`RPDWQrb)H-<9+7Q4k* z&gWv&mpyJLKkjPF?#K}FIrYf=viPdsLN|Gy%HcjRc=UVZ+Mnsrce{f)3To}2_eq_% ze#M!hC7SP$nj^FKKiS$@H!}OKyxk=2Uiup5~yPv;2cyRWZ{;II7hdC*a!k)`= z*oC@k;^M$t7@X7G_e7ld8xz*^B;^vnb zLxM|-XHmbasXeX|z7+dGCVZxhJfgO7_lC~T+}-+0F65$XGM)2xJThy!zjhO85s$;S z9kjN&R{g>l>U30pT||n$LFu@VKD@6o@CHILEGUWfVedk(xvQs;chHg)OO_>rOi8)* z=}=O>Lr^^Rgdu&#y&#{tIZLfB78zOh>yA$@v$Qw7-Q^^4Eav~T_wD~o_iy~Ge4>-A za=7J?rbrTnW*L%0Vsj2NN^VPo2ymCQo2p=o^I z>+ren@4xWKJ}yQj9ILNrvY2h zVm>A_VBucE)Fad^}>hW&KF014X4ZICoThKlh(Lw9QE;+=PfY@HRO9_Pw1(WaBF%#%BQV2X6h0zlr+sLJl0jO#VO{)o~f$) zK;=1BzLZ#j+?Y1#fv^s~ICccFj$*^#>Xc@`CYApB`I-_Z&-{BJL-acYQm8rsMX>CrW=3yzq(_ zBtku(vD3{*#&D-LG-{|^F*=8BG3A~SRA171#l~gw{TEIDS%O`*ZrO~uCw{m6)sz&j z5rD~Ec8SUqvqd4VOUy<$3FX&RVXtku*vkV2_k!v8>e+K)+X@+;06a< zpZ-w~J()2aUaA8uT*9>o?PhftGW6WeGq=?OS1CC z+`5dAo;t_vWTi)dSjjOHW`mahu8S#d@k;AIV@1&uITv8}$~#NVgH^3|BFQV7DC7=A z#il{0Q(_^afDigUqp{?y5+sr2k^is_5`tx~ofZ~1&%ZJjK}L8?g+^UeLFuZfbB8*p zTKT5{BJ6}kUoP6UFcJrLz`=av*N z)f zTkLcZ-TE_I&Dex8fb{xmKjj42FMQRBb9s}fci4JSpJYW^#rj`(+s^UMNbrY@kbP zMyq=N;)&i2&EEJA>$%$19+|oxJHFTMcGIn>$6dj&hhy)Xw#Kv=x3IY%3kZTx`4`3HrE@t$Z68sJe^x%=1!K>xdU4 z(RNN|sv*soln~CSRHZi1prYKza6b;6Ej#wk;P_85INb#3+nTt4`wYbmEwLl={>##M z!yCQqqlo{!Dg6K-)i)XJ2{XYKKrQr?L^cC#WNp{nhWfGF=Y(sr){shEWDv8aNFNN5 zH+6E19;g($kJHLgTU3hy4Sz|M3r12u6Zi&G7jJKrqScJyzO*~k#Sy+@^H%?D$?lwX zolx3_R_u^}x~Z1rMZAsDDh3whgW&5aD78U>Jmd%~yDV3UftXp61+&+rEm4Gg*Dq;| zC5!P($Kmt2XT?)#)oWYD$=>e!;3p1f%z40q#2)}3m}1~S9r-S9 z|9J7KAMzkg3UyqUbNPzYXSQ}5zLfO(|Dv<)CqrdPkowKRo+#0@RrZ!b$NDlBD1YsQVf z)}P+KY}WcYjMso=tdA=2$h7UI$=O7m+z0GF*nA=Jeu4x<{=|%IgSu%|q%F^n)htb8 z;qSh(xa0;q?ONgIYb8NIx-i4M>n|(G!_NxoDF_O z^(lh3-49RgY^cX12vl9HU}e6E1i17jvn@r-Rxt%?50&=#Hw7SLocA{(Zs*@BP+hd_ zb;DdW3e6;hLDTno6!NPvK&oKW3>}MO&y}!D^!|#AIs@PAFNxVnOASbUa=$MsMt5vzafW4n!M-{4 zu(~AJIKPp(82t>NoF$%8-~+@{xpn4ZNLKSvZ}+CN1~=d;{=t>%+Qg)kl-`WQj>%TL zBM4}tvkKCh@_ZBM`_DELsDO%&nDUtiNC@jZMF&csj#S@7azRdu%D6_Qx!gl~4*HBh z;NZ6%AocUSuE|;mnZ|*c<*c*p)E>h{hxByy%`javUO9x7kV$>Q-)HUxYsV6HuMG19 znYDRkV;(@IE*F&ogLH37RT*YS3{x)#Ya)QEp8fp>I#ms*lcJWtYD#>R2Rq4=KHXQ+ zzF`vZQy+6z-2l88FwJmIw%OZ~ynN*gb->BS=Ry7T3^Tjq!t8DIzG(>Nn<=-~94d^dDu%?kX(%MWLF?}Je z;(Ags_w%%1wl?l7F?C7I$&dJ_n?8(3Phqo{uq!edvMa~B$ue3@denj=ZR9TaMW64B zDLbtkkd*zGqt>hxMD>Q62jY8Un{5fH8`Rx}1#06v!_0B3wqjzd7)V`53kF-X7YX^O zI;41PC#c43LKkKQ;>ARsQwvi{}8ZD$bvx)>qVb)r8J4b(RlR(ovBD z9%KynJO&_6oFjhL2@vRz3A6#vo4%X#Nyv;}XcjEK+_6R4^NXRKqY6mUd3&?^QGLoO3M^n|0QPyeDM7P^jb6W4BSQZ^&~Q2Eua9l2YlSXX zF)EFU6C$^3frJ18ecb!sZwfB9W;JvND3LkI>=q6rR;9?WHr-#}I0ugzsC?{tnG)zA zLQmn!BdHUo8H$pShKUGo{|SHC#B$K!WswiOnVs$TV!{$>jM^EowF2OBLyLp_+L`-& z0EdD=7w-xg1rW&Zu>!O;B!{-W zv2Q41CA}f$&O=U6`EhLjhH8sE@(R%ATxkv>b){t$_gzU^}DFA{82}?tey0{mC z#HJQDK>B$7-B=}0+P3`Goa@Atu2w)&)j{)3$jE*lE`Xc>r*-|~34WXXI5aHP?_+uB zmjSIO!~P<{K>Hx#!^Y&cB|6VSh)EI@1Ao3pVnh;E@v)05P{{qM3khq<*>xF6eaQ;< zL0yteg(wFr|7{sHXda!?N3hzlq-ftprE|108z~WC(tY0k%tw8E@1gm6uidW+xGTd| z!_JY!+u*tDy18}Z(XrFmzBn>-5A}s6hEM~DO&VLSh!dWN_QW`@ zote8H7G&1d+1a@*6(C7Hs(x}gKmZhqA|2n@DS|)fXj=qjC%MfYCyMv+GD~Ea2FR#2 zW!_zumOsTBj5Ad|xBYdN8uEzWf*i!vD#&SQe?&yDg-YTNjWXv*xJ)TYCFra{F*!~wPWMZMw%++=v5)hBZ?P{$t^Wg0kIQ5Bxu;n4O)75#qKonqAA&$N zng?A_!Uv~pbR@*kcpmz*K}2-FVK)An)Z+_^<4^rIbG-h(L_8%?aY6?Z z3^Tpzm}0zumyqLFFu(-x61Y$M9?ZC2Or55Ad{v%x+^nz7`*d1zd^W-^(h59SkbGcO z9#S}Qg&LW4gS-44I?p7xx8a%TfFj*TADwd$@ZyI{BY@WGgJXSmd~o&ZFz~?Wm1H&% zNEjj*n(8+ax|^)U7TB!~<@eAQFx3=;t8n@&Ua^;;YBo%RhjDMtw&;3X!O$=p0KOTP zH{wNbY+WoG-ZCEqC@bak$0!!p?L`dOb8U%JR;G9E-(rFtNYhH4%Cu-IkHhbuGt}wi ztHepDq1+wZ8CS~;yTo$Z;HzPXX-F8vb@#Ee&lE(+k|*2+$~W-?G7oOO0?)SATIeJ? z$S;Mpv4Y zP`OFBmXcY*hko#R+~u~N2kxBzt55q|Lxi!(*_1~o-78SC15}66iT=Ol62nFoLvptQ zW$o8l4UiQ*?M5B8i+C%Kh3|E>2(sU90<`rIo6}Jb0k}O8idqZLTu;Yd?=gP8U}X)8 zjqH-XaqMR3#Eli~iLd!7JKGTM@B`P%VyG!3d4;9)$t-^TYW=uD*6V<5jk^0SZ2p^J z3l&#~>Fcxk;Cf8wQbbYnqX`AyG)({H3M!xWX?y`axM{1BTLRzLieCS@n-L)0rG+A4 z4g(=jS^uYYc1S~89iFl0R1%H0vcG}3be<$~j`_4i4xX-|n0)>o(7H}&<#Q7Dlx^op zXttE(>4}x0k0-A-n{=O3bQ$D2Hw0EUU2SYy)n&v6Z7!t3W18F=_zOFQ zXi!e}Pl}%0LY$@@w%#nq@$|OuuD%ltyHOMtjy6@b-+nE3@9lVyuW*sx_roYnx{yxt z-3zb69)UO4O0Em$%Va&e1Yh<)%B+sas@&B~m5BV?poZlV?K3zL&Dl*J2zr{_+O;bcdtaWa@b zYo>Fd?pzwbaHNpGc%h+F+^hn)-v));k6w}EhtKqaj;poI=|ZZ7$VmUs-Z4dxyc}gx zaCu40z=T=tBCw8-1Xj|Xz=gqvSPxZ{yNG>4nE|ZPa#V6$k5m^#d4K7`7!H0aFf;dg z6N?Zi zm>Ks)FQXjwlSw-@fgN%V|MyC|by`v=eAQO$*eN(JBY$;ZS`v~nQDri<>$)@JYZ+#s z{|x+g{PdA+*xkIMS1eb^F~{vcgeSeroyVuU@-Py_VN#KKX1+jTO~IE*-8F4bJ9e{$ zx2GBrEXUkf=9#%tIO3!9wA(FkB?2uAfB63I?$9jW5Qo?GRAcON*5_bNw}$#;KChxA ze#t&ugUSK+%E<6fB-CspPBVNGM^zrIM%cZnzY~lf^v>${sxUOp;h$=2jp*RzJVh6e zTTCkj(fn-3xV@VIOhsV&ui&kEKM8ht;wXVIJY`1cFr2Z=EQWr~6>(9{(}Yo&TNcTd zZj0T~RgP-dXbCuXW%|E`+Ve>EAN$SsAZ5qWF9EoQ@{|qBBHeL|#ZNKz*=*r4)XJ%@ zX;+~`yDqi?u}=$asNHt$)Ky!V+Gj7BC3c0Z_Qo zy+N#K!eBbP%CR7iA#@G7{~BZ?5*(fnS@2>G`%?yR@>L!A?5IoI$q8=&j*R$X>ye@HRN0)$U#{DGxuFAkJ{$kf<9W(}{oK)HogTLL7+nwq|; zbp}B4u_v?D?_mL7vqGmKqggkYgFv$5xMtroFi|7}A*;3mkiiVZ?2a6bTJ-SY9#H^Y ztuZfDNA+;nbKZPTEmJ?{q=4DFSQ50h94-VZ^MCN!)DCE0MUSkfEgY12xbhvGC=R|@ zz(IYn0S@kxWL+ZDdhYOwQX$;3tee4<8Gcsz2DilJ3d=Nf!>R_{L2(linP_Oi$CHmr z$pzA$yH9uNDMY3jHP5*vQ&Ti(xN+l@TGqHtbLf11FZDz1XCMOnRQ~A9cu}M7(I*$qBMR61_S5jiNZsC^z7{LID8rPm;%N zBWB*nC}xTr1|*BCJjC_Bq2%qY#2o#0)U41cuOiEMSY{|AX=74k*D+MkAW5MqY4<+Z z!7&^?pDL9X%7Fx_AgbK98>^roVS_6kO$w*e9&*F&8$xGfpP`6*dPAeR=6!2-Vx;mhE5#k;{wW zB=5Um_+I@c%@*s<%h6cBim&KgN*~ubm6lwbOixs>Hh)EWiKd6c9U=)FPV%GJp7Idh zsQ&CRHwJb*Bzeyfg#h&ina0LDOP1VlJga8%oOO1iLhj+-PZRL7%?2TZP6C}%0lk-| zCZ3km`l=t*$WO{<_)-dkjtXJR?`F2UMf? zl2-nb#*rkGb!MAa>nAynWhBod^%%j?qO4S`WC!BZqlLb?tcmH1A#g zHHur0r51&d$shnXqD%w` z3PZ^;r|5u`7P?sOUXx7iPeCcp5lu!qE#u!?W>1UY=bejLNXp_xHNpk(*4n#CUvG~F z5wX{===WRLn^6}7ciWuFZKnR`aTRKOwK$~htth|?7co`hSV`w117A%&uoySU^f_GU z6v&b}w3~H7i~gz)NHDx5*XNTcx9rwgoK4?6_(75rmOsUBK>itCa!f^i=_(__HF!B5!;IQ%4Qo z>yc1I^2U$&57G4N#Ky*JQSKx4o#A8ts4M^vAf5IqCxHd?&-3;YZ)YDe8Ej&vf_Jrf zm$tlh2pm~PF;+@yvColOLrdYT9E-rTdKB;Z#0agFTy}Ck;xFGSd?Sz~xn1EES9yE{ z%Qu0?bWDceRfnWfZeWD|YyQgxKu5IPg*gKhT=~1H+q3g$i|SEnt{@S_&VmIDQ9?gvxhL(jX L(xlwj