From f7207fbf6086300565ee3f30c220fd37a891eb4e Mon Sep 17 00:00:00 2001
From: Peizhao Ou <peizhaoo@uci.edu>
Date: Fri, 10 Apr 2015 11:02:05 -0700
Subject: [PATCH] changes

---
 correctness-model/note.txt                    |    0
 .../writeup/.#implementation.tex.1.9          |  163 ++
 .../writeup/.#introduction.tex.1.24           |  222 +++
 .../writeup/.#introduction.tex.1.26           |  223 +++
 .../writeup/.#memorymodel.tex.1.1             |  101 +
 .../writeup/.#specification.tex.1.47          |  419 +++++
 correctness-model/writeup/CVS/Entries         |   19 +
 correctness-model/writeup/CVS/Repository      |    1 +
 correctness-model/writeup/CVS/Root            |    1 +
 correctness-model/writeup/abstract.tex        |   19 +
 correctness-model/writeup/conclusion.tex      |   11 +
 correctness-model/writeup/confstrs-abbrv.bib  |  173 ++
 correctness-model/writeup/confstrs-long.bib   |  180 ++
 correctness-model/writeup/evaluation.tex      |  304 +++
 correctness-model/writeup/example.tex         |  165 ++
 correctness-model/writeup/figures/CVS/Entries |   42 +
 .../writeup/figures/CVS/Repository            |    1 +
 correctness-model/writeup/figures/CVS/Root    |    1 +
 .../writeup/figures/fence_sw.dot              |   20 +
 .../writeup/figures/fence_sw2.dot             |   14 +
 .../writeup/figures/fence_sw_r_collapse.dot   |   18 +
 .../writeup/figures/fence_sw_r_collapse2.dot  |   14 +
 .../writeup/figures/fence_sw_w_collapse.dot   |   18 +
 .../writeup/figures/fence_sw_w_collapse2.dot  |   14 +
 .../writeup/figures/ff_sc_rf.dot              |   18 +
 .../writeup/figures/ff_sc_rf2.dot             |   18 +
 .../writeup/figures/fw_sc_rf.dot              |   16 +
 .../writeup/figures/fw_sc_rf2.dot             |   16 +
 .../writeup/figures/lockhistory.pdf           |  Bin 0 -> 19791 bytes
 .../writeup/figures/rcuhistory.odg            |  Bin 0 -> 14994 bytes
 .../writeup/figures/rcuhistory.pdf            |  Bin 0 -> 20096 bytes
 .../writeup/figures/release_seq.pdf           |  344 ++++
 .../writeup/figures/rmw_atomicity.dot         |   12 +
 .../writeup/figures/rmw_atomicity2.dot        |   13 +
 correctness-model/writeup/figures/rmw_mo.dot  |    9 +
 correctness-model/writeup/figures/rmw_mo2.dot |    8 +
 correctness-model/writeup/figures/rr_mo.dot   |   13 +
 correctness-model/writeup/figures/rr_mo2.dot  |    8 +
 correctness-model/writeup/figures/rw_mo.dot   |   11 +
 correctness-model/writeup/figures/rw_mo2.dot  |   12 +
 correctness-model/writeup/figures/sc_mo.dot   |    9 +
 correctness-model/writeup/figures/sc_mo2.dot  |    8 +
 .../writeup/figures/sc_wr_mo.dot              |   13 +
 .../writeup/figures/sc_wr_mo2.dot             |   13 +
 .../writeup/figures/specdesign.pdf            |  Bin 0 -> 22332 bytes
 .../writeup/figures/specworkflow.pdf          |  Bin 0 -> 14072 bytes
 .../writeup/figures/wf_sc_rf.dot              |   16 +
 .../writeup/figures/wf_sc_rf2.dot             |   16 +
 .../writeup/figures/workflow.pdf              |  Bin 0 -> 16034 bytes
 correctness-model/writeup/figures/wr_mo.dot   |   13 +
 correctness-model/writeup/figures/wr_mo2.dot  |   13 +
 correctness-model/writeup/figures/ww_mo.dot   |    9 +
 correctness-model/writeup/figures/ww_mo2.dot  |    8 +
 .../figures/ww_sc_fence_first_collapse.dot    |   17 +
 .../figures/ww_sc_fence_first_collapse2.dot   |   14 +
 .../writeup/figures/ww_sc_fence_mo.dot        |   18 +
 .../writeup/figures/ww_sc_fence_mo2.dot       |   14 +
 .../figures/ww_sc_fence_second_collapse.dot   |   17 +
 .../figures/ww_sc_fence_second_collapse2.dot  |   14 +
 correctness-model/writeup/formalization.tex   |   92 +
 correctness-model/writeup/implementation.tex  |  151 ++
 correctness-model/writeup/introduction.tex    |  226 +++
 .../writeup/issta15_submission.pdf            |  Bin 0 -> 259914 bytes
 correctness-model/writeup/makefile            |   94 +
 correctness-model/writeup/memorymodel.tex     |  102 +
 correctness-model/writeup/paper.aux           |   75 +
 correctness-model/writeup/paper.bbl           |   84 +
 correctness-model/writeup/paper.bib           |  774 ++++++++
 correctness-model/writeup/paper.blg           |   50 +
 correctness-model/writeup/paper.log           |  661 +++++++
 correctness-model/writeup/paper.pdf           |  Bin 0 -> 147616 bytes
 correctness-model/writeup/paper.tex           |  182 ++
 correctness-model/writeup/related.tex         |  133 ++
 correctness-model/writeup/sig-alternate.cls   | 1649 +++++++++++++++++
 correctness-model/writeup/speccfg.tex         |   17 +
 correctness-model/writeup/specification.tex   |  416 +++++
 correctness-model/writeup/spell.lst           |   99 +
 correctness-model/writeup/technical.tex       |    1 +
 78 files changed, 7659 insertions(+)
 create mode 100644 correctness-model/note.txt
 create mode 100644 correctness-model/writeup/.#implementation.tex.1.9
 create mode 100644 correctness-model/writeup/.#introduction.tex.1.24
 create mode 100644 correctness-model/writeup/.#introduction.tex.1.26
 create mode 100644 correctness-model/writeup/.#memorymodel.tex.1.1
 create mode 100644 correctness-model/writeup/.#specification.tex.1.47
 create mode 100644 correctness-model/writeup/CVS/Entries
 create mode 100644 correctness-model/writeup/CVS/Repository
 create mode 100644 correctness-model/writeup/CVS/Root
 create mode 100644 correctness-model/writeup/abstract.tex
 create mode 100644 correctness-model/writeup/conclusion.tex
 create mode 100644 correctness-model/writeup/confstrs-abbrv.bib
 create mode 100644 correctness-model/writeup/confstrs-long.bib
 create mode 100644 correctness-model/writeup/evaluation.tex
 create mode 100644 correctness-model/writeup/example.tex
 create mode 100644 correctness-model/writeup/figures/CVS/Entries
 create mode 100644 correctness-model/writeup/figures/CVS/Repository
 create mode 100644 correctness-model/writeup/figures/CVS/Root
 create mode 100644 correctness-model/writeup/figures/fence_sw.dot
 create mode 100644 correctness-model/writeup/figures/fence_sw2.dot
 create mode 100644 correctness-model/writeup/figures/fence_sw_r_collapse.dot
 create mode 100644 correctness-model/writeup/figures/fence_sw_r_collapse2.dot
 create mode 100644 correctness-model/writeup/figures/fence_sw_w_collapse.dot
 create mode 100644 correctness-model/writeup/figures/fence_sw_w_collapse2.dot
 create mode 100644 correctness-model/writeup/figures/ff_sc_rf.dot
 create mode 100644 correctness-model/writeup/figures/ff_sc_rf2.dot
 create mode 100644 correctness-model/writeup/figures/fw_sc_rf.dot
 create mode 100644 correctness-model/writeup/figures/fw_sc_rf2.dot
 create mode 100644 correctness-model/writeup/figures/lockhistory.pdf
 create mode 100644 correctness-model/writeup/figures/rcuhistory.odg
 create mode 100644 correctness-model/writeup/figures/rcuhistory.pdf
 create mode 100644 correctness-model/writeup/figures/release_seq.pdf
 create mode 100644 correctness-model/writeup/figures/rmw_atomicity.dot
 create mode 100644 correctness-model/writeup/figures/rmw_atomicity2.dot
 create mode 100644 correctness-model/writeup/figures/rmw_mo.dot
 create mode 100644 correctness-model/writeup/figures/rmw_mo2.dot
 create mode 100644 correctness-model/writeup/figures/rr_mo.dot
 create mode 100644 correctness-model/writeup/figures/rr_mo2.dot
 create mode 100644 correctness-model/writeup/figures/rw_mo.dot
 create mode 100644 correctness-model/writeup/figures/rw_mo2.dot
 create mode 100644 correctness-model/writeup/figures/sc_mo.dot
 create mode 100644 correctness-model/writeup/figures/sc_mo2.dot
 create mode 100644 correctness-model/writeup/figures/sc_wr_mo.dot
 create mode 100644 correctness-model/writeup/figures/sc_wr_mo2.dot
 create mode 100644 correctness-model/writeup/figures/specdesign.pdf
 create mode 100644 correctness-model/writeup/figures/specworkflow.pdf
 create mode 100644 correctness-model/writeup/figures/wf_sc_rf.dot
 create mode 100644 correctness-model/writeup/figures/wf_sc_rf2.dot
 create mode 100644 correctness-model/writeup/figures/workflow.pdf
 create mode 100644 correctness-model/writeup/figures/wr_mo.dot
 create mode 100644 correctness-model/writeup/figures/wr_mo2.dot
 create mode 100644 correctness-model/writeup/figures/ww_mo.dot
 create mode 100644 correctness-model/writeup/figures/ww_mo2.dot
 create mode 100644 correctness-model/writeup/figures/ww_sc_fence_first_collapse.dot
 create mode 100644 correctness-model/writeup/figures/ww_sc_fence_first_collapse2.dot
 create mode 100644 correctness-model/writeup/figures/ww_sc_fence_mo.dot
 create mode 100644 correctness-model/writeup/figures/ww_sc_fence_mo2.dot
 create mode 100644 correctness-model/writeup/figures/ww_sc_fence_second_collapse.dot
 create mode 100644 correctness-model/writeup/figures/ww_sc_fence_second_collapse2.dot
 create mode 100644 correctness-model/writeup/formalization.tex
 create mode 100644 correctness-model/writeup/implementation.tex
 create mode 100644 correctness-model/writeup/introduction.tex
 create mode 100644 correctness-model/writeup/issta15_submission.pdf
 create mode 100644 correctness-model/writeup/makefile
 create mode 100644 correctness-model/writeup/memorymodel.tex
 create mode 100644 correctness-model/writeup/paper.aux
 create mode 100644 correctness-model/writeup/paper.bbl
 create mode 100644 correctness-model/writeup/paper.bib
 create mode 100644 correctness-model/writeup/paper.blg
 create mode 100644 correctness-model/writeup/paper.log
 create mode 100644 correctness-model/writeup/paper.pdf
 create mode 100644 correctness-model/writeup/paper.tex
 create mode 100644 correctness-model/writeup/related.tex
 create mode 100644 correctness-model/writeup/sig-alternate.cls
 create mode 100644 correctness-model/writeup/speccfg.tex
 create mode 100644 correctness-model/writeup/specification.tex
 create mode 100644 correctness-model/writeup/spell.lst
 create mode 100644 correctness-model/writeup/technical.tex

diff --git a/correctness-model/note.txt b/correctness-model/note.txt
new file mode 100644
index 0000000..e69de29
diff --git a/correctness-model/writeup/.#implementation.tex.1.9 b/correctness-model/writeup/.#implementation.tex.1.9
new file mode 100644
index 0000000..a741b61
--- /dev/null
+++ b/correctness-model/writeup/.#implementation.tex.1.9
@@ -0,0 +1,163 @@
+\mysection{Implementation}\label{sec:implementation}
+
+The goal of the \TOOL specification language is to
+enable developers to write specifications against which concurrent data structures can be tested.
+We can ensure a concurrent data structure is correct with
+respect to an equivalent sequential data structure if for each
+execution of the concurrent data structure, the equivalent sequential
+history for the equivalent sequential data structure yields the same
+results.
+
+The execution space for many concurrent data
+structures is unbounded, meaning that in practice we cannot 
+verify correctness by checking individual executions. However, the
+specifications can be used for unit testing.  In practice,
+many bugs can be exposed by model checking unit tests for 
+concurrent data structures.  We have implemented the \TOOL checker as a
+unit testing tool built upon the \cdschecker framework.  The \TOOL checker
+can exhaustively explore all behaviors for unit tests and provide
+developers with diagnostic reports for executions that violate their
+specification.
+
+
+\mysubsection{Model Checker Framework}
+
+The \TOOL checker takes as input a complete execution trace from the
+\cdschecker model checker. The \cdschecker framework operates at the abstraction level of
+individual atomic operations and thus has neither information about method
+calls nor which atomic operations serve as ordering points.  Thus, we
+extend the framework by adding {\it annotation} operations to
+\cdschecker's traces, which record the necessary information to check the specifications
+but have no effect on other operations.  The \TOOL compiler
+inserts code to generate the annotation actions to communicate to the \TOOL checker
+plugin the critical events for checking the \TOOL specification.
+These annotation actions then appear in \cdschecker's list of atomic
+operations and make it convenient for  \TOOL to construct
+a sequential history from the execution because for any given method
+call, its invocation event, its ordering points, and its response event are
+sequentially ordered in the list. 
+
+\mysubsection{Specification Compiler}
+
+The specification compiler translates an annotated
+C/C++ program into an instrumented C/C++ program that will generate
+execution traces containing the dynamic information needed to check
+assertions and construct the sequential history.  We next
+describe the type of annotation actions that the \TOOL compiler
+inserts into the instrumented program.
+
+\mypara{\bf Ordering Points:} Ordering points have a conditional guard expression
+and a label. Potential ordering point annotation actions are 
+inserted immediately after the atomic operation that serves as 
+the potential ordering point.  Ordering point check annotation actions are
+inserted where they appear.
+
+\mypara{\bf Method Boundary:} To identify a method's boundaries, \TOOL
+inserts {\it method\_begin} and {\it method\_end} annotations at the
+beginning and end of methods.
+
+\mypara{\bf Sequential States and Methods:} Since checking occurs
+after \cdschecker has completed an execution, the annotation
+actions stores the values of any variables in the concurrent data
+structure that the annotations reference.
+
+\mypara{\bf Side Effects and Assertions:} Side effects and assertions perform
+their checks after an execution.  The side effects and assertions are compiled
+into methods and the equivalent sequential data structure's states are accessible to these methods.
+With this encapsulation,
+the \TOOL checker simply calls these functions to implement the side effects and assertions.
+
+\mypara{\bf Synchronization Checks:} The \TOOL checker performs
+synchronization checks in two parts: compiling the rules and runtime data
+collection.  First, the \TOOL compiler numbers all methods and happens-before
+checks uniquely. For example, the rule ``\code{Update->Read}'' can be represented as (1, 0, 2, 0),
+which means instances of method 1 that satisfy condition 0 should {\it
+  synchronize with} instances method 2 that satisfy condition 0. In this case,
+  condition 0 means \code{true}. Then,
+the \TOOL compiler generates code that communicates the
+synchronization rules by passing an array of integer pairs.  Runtime
+collection is then implemented by performing the condition check at
+each method invocation or response and then passing the method number
+and happens before condition if the check is satisfied.
+
+\mysubsection{Dynamic Checking}
+
+At this point, we have an execution trace with the necessary
+annotations to construct a sequential history and to check
+the execution's correctness.  However, before constructing the
+sequential history, the \TOOL plugin first collects
+the necessary information for each method call, which is the {\it
+  method\_begin} annotation, the ordering point annotations, the
+happens-before checks, and the {\it method\_end} annotations.  Since
+all of the operations in the trace have thread
+identifiers it is straightforward to extract the operations between the {\it
+  method\_begin} and {\it method\_end} annotations.  
+
+\mypara{\bf Reorder Method Calls:} As discussed above, determining the
+ordering of the ordering points is non-trivial under the
+C/C++ memory model. This can be complicated by the fact
+that the C/C++ memory model allows atomic loads to read from atomic
+stores that appear later in the trace and that we do not maintain program order in our
+correctness model.
+
+However, we can still leverage the reads-from relation and the modification-order
+relation to order the ordering points that appear in typical data
+structures.  \TOOL uses the following rules to generate an ordering-point
+ordering $\reltext{opo}$ relation on ordering points. Given two operations $X$ and $Y$ that are both ordering points:
+
+\begin{enumerate}
+\item {\bf Reads-From:} $X \xrightarrow{rf} Y \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (write-write):} $X \xrightarrow{mo} Y \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (read-write):} $A \xrightarrow{mo} Y \ \wedge \  A \xrightarrow{rf} X \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (write-read):} $X \xrightarrow{mo} B \ \wedge \  B \xrightarrow{rf} Y \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (read-read):} $A \xrightarrow{mo} B \ \wedge \  A \xrightarrow{rf} X \ \wedge \  B \xrightarrow{rf} Y \Rightarrow X \xrightarrow{opo} Y$.
+
+\end{enumerate}
+
+\mypara{\bf Generating the Reordering:}
+The \TOOL checker first builds an execution graph where the nodes are
+method calls and the edges represent the
+$\reltext{opo}$ ordering of the ordering points of the methods that
+correspond to the source and destination nodes.  Assuming the absence
+of cycles in the execution graph, 
+the $\reltext{opo}$ ordering is used to generate the sequential history.
+If two methods are not ordered by the
+$\reltext{opo}$ order, we assume that they commute and select an
+arbitrary ordering for the methods.  The \TOOL checker 
+topologically sorts the graph to generate the equivalent sequential
+execution. 
+
+When \TOOL fails to order ordering points, the operations often commute. Thus,
+if multiple histories satisfy the constraints of \reltext{opo}, we generally
+pick a random one for most data structures. However, when those operations
+do not commute, we provide developers with different options: (1) they can
+add additional ordering points to allow \TOOL to order the two nodes or
+(2) they run \TOOL in either of the following modes: (a) \textit{loosely
+exhaustive} mode --- \TOOL explores
+all possible histories and only requires some history to be correct or
+(b) \textit{strictly exhaustive} mode --- \TOOL explores all possible histories and requires all histories to
+be correct. With these options, developers are able to balance the
+tradeoff between specifying more ordering points and the searching
+space. For example, for a single producer single
+consumer queue based on a linked-list (maintaing \code{head} and \code{tail} pointer), if we only
+specify the update and load of the next field of a linked-list node as ordering points for
+\code{enqueue} and \code{dequeue}, \TOOL will fail to order a dequeue
+returning \code{NULL} and another enqueue because dequeue does not have the
+ordering point of loading the next field. In this case, developers can either
+add extra ordering points to order the dequeue before the enqueue or simply run it in the
+\textit{loosely exhaustive} mode and that mode will produce at least one correct
+history.
+
+\mypara{\bf Check Synchronization Properties:} Synchronization properties are
+specified using the IDs and conditions of method calls, and we have that information
+ready after \TOOL constructs the sequential history and checks the preconditions
+and postconditions. For two specific method calls $c_1$ and $c_2$, we can ensure
+$c_1$ synchronizes with $c_2$ by ensuring the annotation \code{c1\_begin}
+happens-before the annotation \code{c2\_end} because any operations
+sequenced-before \code{c1\_begin} should happen-before any operations
+sequenced-after \code{c2\_end} according to the C/C++11 memory model.
+
diff --git a/correctness-model/writeup/.#introduction.tex.1.24 b/correctness-model/writeup/.#introduction.tex.1.24
new file mode 100644
index 0000000..02c4ff7
--- /dev/null
+++ b/correctness-model/writeup/.#introduction.tex.1.24
@@ -0,0 +1,222 @@
+\mysection{Introduction}\label{sec:introduction}
+
+Concurrent data structure design can improve scalability by supporting
+multiple simultaneous operations, reducing memory coherence traffic, and reducing the time taken by an
+individual data structure operation.  Researchers have developed many concurrent
+data structure designs with these goals~\cite{rcu,
+lockfreequeue}.  Concurrent data structures often use sophisticated techniques
+including low-level atomic instructions (e.g., compare and
+swap), careful reasoning about the order of loads and
+stores, and fine-grained locking.    For example, while the standard Java hash
+table implementation can limit scalability to a handful of cores,
+more sophisticated concurrent hash tables can scale to many hundreds of
+cores~\cite{javaConcurrentHashMap}.  
+
+The C/C++ standard committee extended the C and C++ languages with
+support for low-level atomic operations in the C/C++11
+standard~\cite{cpp11spec, c11spec, boehmpldi} to enable developers to
+write portable implementations of concurrent data structures.  To support the relaxations typically performed by compilers and processors, 
+the
+C/C++ memory model provides weaker semantics than sequential
+consistency~\cite{scmemorymodel} and as a result, correctly using
+these operations is challenging.  Developers must not only
+reason about potential interleavings, but also about how the processor
+and compiler might reorder memory operations.  Even experts make
+subtle errors when reasoning about such memory models.
+
+Researchers have developed tools for exploring the behavior of code
+under the C/C++ model including \cdschecker~\cite{cdschecker}, {\sc
+Cppmem}~\cite{c11popl}, and Relacy~\cite{relacy}.  These tools explore
+behaviors that are allowed under the C/C++ memory model.  While these
+tools can certainly be useful for exploring executions, they can be
+challenging to use for testing as they don't provide support (other
+than assertions) for specifying the behavior of data structures.
+Using assertions can be challenging as different interleavings or
+reorderings legitimately produce different behaviors, and it can be
+very difficult to code assertions to check the output of a test case under for an
+arbitrary (unknown) execution.
+
+This paper presents \TOOL, a specification language and specification
+checking tool that is designed to be used in conjunction with model
+checking tools.  We have implemented it as a plugin for
+the \cdschecker model checker.
+
+\mysubsection{Background on Linearizability}
+
+Researchers have developed several techniques for specifying
+correctness properties of concurrent data structures written for strong memory
+models.  While these techniques cannot handle the behaviors typically
+exhibited by relaxed data structure implementations, they provide insight into
+intuitive approaches to specifying concurrent data structure behavior.
+
+One approach for specifying the correctness of concurrent data
+structures is in terms of equivalent sequential executions of either
+the concurrent data structure or a simplified sequential version.  The
+problem then becomes how do we map a concurrent execution to an equivalent
+sequential execution?  A common criterion is {\it
+  linearizability} --- linearizability simply states that a concurrent
+operation can be viewed as taking effect at some time between its
+invocation and its return (or response)~\cite{linearizableref}.
+
+An {\it equivalent sequential data structure} is a sequential version
+of a concurrent data structure that can be used to express correctness
+properties by relating executions of the original concurrent data
+structure with executions of the equivalent sequential data structure.
+The equivalent sequential data structure is often simpler and can in
+many cases simply use existing well-tested implementations in the
+STL library.
+
+An execution {\it history} is a total order of method invocations and
+responses. A {\it sequential history} is one where all invocations are
+followed by the corresponding responses immediately. A concurrent
+execution is correct if its behavior is consistent with its equivalent
+sequential history replayed on the equivalent sequential data
+structure. A concurrent object is linearizable if for all executions:
+\begin{enumerate}
+\item Each method call appears to take effect instantaneously at some
+  point between its invocation and response.
+
+\item The invocations and responses can be reordered to yield a
+  sequential history under the rule that an invocation cannot be
+  reordered before the preceding responses.
+
+\item The concurrent execution yields the same behavior as
+  the sequential history.
+\end{enumerate}
+
+A weaker variation of linearization is {\it sequential
+consistency}\footnote{It is important to note that the term sequential
+consistency in the literature is applied to both the consistency model
+that data structures expose clients to as well as the guarantees that
+the underlying memory system provides for load and store operations.}.
+Sequential consistency only requires that there exist a sequential
+history that is consistent with the {\it program order} (the intra-thread
+order).  This ordering does not need to be consistent with the order
+that the operations were actually issued in.
+
+Line-Up~\cite{lineup}, Paraglider~\cite{VechevMCLinear}, and
+VYRD~\cite{vyrd} that leverage linearizability to test concurrent data
+structures.  {\bf Unfortunately, efficient implementations of many
+common data structures, e.g., RCU~\cite{rcu}, MS
+Queue~\cite{lockfreequeue}, ..., for the C/C++ memory model are
+neither linearizable nor sequentially consistent! Thus previous tools
+cannot check such data structures under the C/C++ memory model.}
+
+\mysubsection{New Challenges from the C/C++ Memory Model}
+\label{sec:introNewChallenges}
+
+The C/C++ memory model brings the following two key challenges that prevent the application of previous approaches to checking concurrent data structures to this setting:
+
+\squishcount
+\item {\bf Relaxed Executions Break Existing Data Structure Consistency Models:}
+C/C++ data structures often expose clients to weaker (non-SC)
+behaviors to gain performance.  A common guarantee is to provide
+happens-before synchronization between operations that implement
+updates and the operations that read those updates.  These data
+structures often do not guarantee that different threads observe updates in the
+same order --- in other words the data structures may expose clients
+to weaker consistency models than sequential consistency.  For
+example, even when one uses the relatively strong \code{acquire}
+and \code{release} memory orderings in C++, it is possible for two
+different threads to observe two stores happening in
+different orders, i.e., executions can fail the IRIW test.
+Thus many data structure legitimately admit executions for which there
+are no sequential histories that preserve program order.
+
+Like many other relaxed memory models, the C/C++ memory model does
+not include a total order over all memory operations, thus even
+further complicating the application of traditional approaches to correctness,
+e.g., linearization cannot be applied.  In
+particular the approaches that relate the behaviors of concurrent data
+structures to analogous sequential data structures break down due to
+the absence of a total ordering of the memory operations.  While many
+of the dynamic tools~\cite{cdschecker,relacy} for exploring the
+behavior of code under relaxed models do as a practical matter
+print out an execution in some order, this order is to some degree arbitrary as relaxed memory models
+generally make it possible for a data structure operation to see the
+effects of operations that appear later in any such an order (e.g., a load
+can read from a store that appears later in the order).  Instead of a total order, the C/C++
+memory model is formulated as a graph of memory operations
+with several partial orders defined in this graph.
+
+\item {\bf Constraining Reorderings (Specifying Synchronization Properties):}
+Synchronization\footnote{Synchronization here is not mutual exclusion,
+  but rather a lower-level property that captures which stores must be
+  visible to a thread.  In other words, it constrains which
+  reorderings can be performed by a processor or compiler.} in C/C++
+  provides an ordering between memory operations to different
+  locations.  Concurrent data structures must establish
+  synchronization or they potentially expose their users to highly
+  non-intuitive behavior that is likely to break client code.  For
+  example, consider the case of a concurrent queue that does not
+  establish synchronization between enqueue and dequeue operations.
+  If one thread initializes the fields of an object and then enqueues
+  a reference to that object in such a queue and a second thread
+  dequeues the reference and uses it to read the fields of that
+  object, the second thread could fail to see the initializing writes.
+  This surprising behavior could occur if the compiler or CPU could
+  reorder the initializing writes to be executed after the enqueue
+  operation.  If the fields are non-atomic, such loads are considered
+  data races and violate the data race free requirement of the C/C++
+  language standard and thus the program has no semantics.
+
+The C/C++ memory model formalizes synchronization in terms of a {\it
+  happens-before} relation.  The C/C++ happens-before relationship
+is a partial order over memory accesses.  If memory access {\it x}
+happens before memory access {\it y}, it means that the effects of
+{\it x} must be ordered before  the effects of {\it y}. 
+\countend
+
+\begin{figure}
+        \centering
+\vspace{-.3cm}
+	\includegraphics[scale=0.35]{figures/specworkflow}
+\vspace{-.4cm}
+		\caption{\label{fig:specworkflow} \TOOL system overview}
+\vspace{-.4cm}
+\end{figure}
+
+\mysubsection{Specification Language and Tool Support}
+
+Figure~\ref{fig:specworkflow} presents an overview of the \TOOL system. After
+implementing a concurrent data structure, developers annotate their code
+with a \TOOL specification. To test their implementation,
+developers compile the data structure with the \TOOL specification
+compiler to extract the specification and generate a program that is instrumented with specification checks.
+ Then, developers compile the instrumented program with a
+standard C/C++ compiler. Finally, developers run the binary under 
+the \TOOL checker. \TOOL
+then exhaustively explores the behaviors of the specific unit test and
+generates diagnostic reports for any executions that violate the specification.
+
+\mysubsection{Contributions}
+
+This paper makes the following contributions:
+
+\begin{itemize}
+\item {\bf Specification Language:} It introduces a specification
+  language that enables developers to write specifications of
+  concurrent data structures developed for a relaxed memory model in a
+  simple fashion that captures the key correctness properties.  Our
+  specification language is the first to our knowledge that supports concurrent data
+  structures that use C/C++ atomic operations.
+
+\item {\bf A Technique to Relate Concurrent Executions to Sequential Executions:}  It presents an approach to order the memory operations for the
+  C/C++ model, which lacks a definition of a trace and for which one
+  generally cannot even construct a total order of atomic operations
+  that is consistent with the program order.  The generated
+  sequential execution by necessity does not always maintain program order.
+  
+\item {\bf Synchronization Properties:} It presents constructs
+  for specifying the happens before relations that a data structure
+  should establish and tool support for checking these properties and
+  exposing synchronization related bugs.
+
+\item {\bf Tool for Checking C/C++ Data Structures Against Specifications:} \TOOL is the first tool to our knowledge that can check concurrent data structures that exhibit relaxed behaviors against specifications that are specified in terms intuitive sequential executions.
+
+\item {\bf Evaluation:} It shows that the \TOOL specification language can express key correctness properties for a
+set of real-world concurrent data structures, that our tool can detect
+  bugs, and that our tool can unit test real world data structures
+  with reasonable performance.
+\end{itemize}
+
diff --git a/correctness-model/writeup/.#introduction.tex.1.26 b/correctness-model/writeup/.#introduction.tex.1.26
new file mode 100644
index 0000000..33c8499
--- /dev/null
+++ b/correctness-model/writeup/.#introduction.tex.1.26
@@ -0,0 +1,223 @@
+\mysection{Introduction}\label{sec:introduction}
+
+Concurrent data structure design can improve scalability by supporting
+multiple simultaneous operations, reducing memory coherence traffic, and reducing the time taken by an
+individual data structure operation.  Researchers have developed many concurrent
+data structure designs with these goals~\cite{rcu,
+lockfreequeue}.  Concurrent data structures often use sophisticated techniques
+including low-level atomic instructions (e.g., compare and
+swap), careful reasoning about the order of loads and
+stores, and fine-grained locking.    For example, while the standard Java hash
+table implementation can limit scalability to a handful of cores,
+more sophisticated concurrent hash tables can scale to many hundreds of
+cores~\cite{javaConcurrentHashMap}.  
+
+The C/C++ standard committee extended the C and C++ languages with
+support for low-level atomic operations in the C/C++11
+standard~\cite{cpp11spec, c11spec, boehmpldi} to enable developers to
+write portable implementations of concurrent data structures.  To support the relaxations typically performed by compilers and processors, 
+the
+C/C++ memory model provides weaker semantics than sequential
+consistency~\cite{scmemorymodel} and as a result, correctly using
+these operations is challenging.  Developers must not only
+reason about potential interleavings, but also about how the processor
+and compiler might reorder memory operations.  Even experts make
+subtle errors when reasoning about such memory models.
+
+Researchers have developed tools for exploring the behavior of code
+under the C/C++ model including \cdschecker~\cite{cdschecker}, {\sc
+Cppmem}~\cite{c11popl}, and Relacy~\cite{relacy}.  These tools explore
+behaviors that are allowed under the C/C++ memory model.  While these
+tools can certainly be useful for exploring executions, they can be
+challenging to use for testing as they don't provide support (other
+than assertions) for specifying the behavior of data structures.
+Using assertions can be challenging as different interleavings or
+reorderings legitimately produce different behaviors, and it can be
+very difficult to code assertions to check the output of a test case under for an
+arbitrary (unknown) execution.
+
+This paper presents \TOOL, a specification language and specification
+checking tool that is designed to be used in conjunction with model
+checking tools.  We have implemented it as a plugin for
+the \cdschecker model checker.
+
+\mysubsection{Background on Linearizability}
+
+Researchers have developed several techniques for specifying
+correctness properties of concurrent data structures written for strong memory
+models.  While these techniques cannot handle the behaviors typically
+exhibited by relaxed data structure implementations, they provide insight into
+intuitive approaches to specifying concurrent data structure behavior.
+
+One approach for specifying the correctness of concurrent data
+structures is in terms of equivalent sequential executions of either
+the concurrent data structure or a simplified sequential version.  The
+problem then becomes how do we map a concurrent execution to an equivalent
+sequential execution?  A common criterion is {\it
+  linearizability} --- linearizability simply states that a concurrent
+operation can be viewed as taking effect at some time between its
+invocation and its return (or response)~\cite{linearizableref}.
+
+An {\it equivalent sequential data structure} is a sequential version
+of a concurrent data structure that can be used to express correctness
+properties by relating executions of the original concurrent data
+structure with executions of the equivalent sequential data structure.
+The equivalent sequential data structure is often simpler, and in
+many cases one can simply use existing well-tested implementations from the
+STL library.
+
+An execution {\it history} is a total order of method invocations and
+responses. A {\it sequential history} is one where all invocations are
+followed by the corresponding responses immediately. A concurrent
+execution is correct if its behavior is consistent with its equivalent
+sequential history replayed on the equivalent sequential data
+structure. A concurrent object is linearizable if for all executions:
+\begin{enumerate}
+\item Each method call appears to take effect instantaneously at some
+  point between its invocation and response.
+
+\item The invocations and responses can be reordered to yield a
+  sequential history under the rule that an invocation cannot be
+  reordered before the preceding responses.
+
+\item The concurrent execution yields the same behavior as
+  the sequential history.
+\end{enumerate}
+
+A weaker variation of linearization is {\it sequential
+consistency}\footnote{It is important to note that the term sequential
+consistency in the literature is applied to both the consistency model
+that data structures expose clients to as well as the guarantees that
+the underlying memory system provides for load and store operations.}.
+Sequential consistency only requires that there exist a sequential
+history that is consistent with the {\it program order} (the intra-thread
+order).  This ordering does not need to be consistent with the order
+that the operations were actually issued in.
+
+Line-Up~\cite{lineup}, Paraglider~\cite{VechevMCLinear}, and
+VYRD~\cite{vyrd} leverage linearizability to test concurrent data
+structures.  {\bf Unfortunately, efficient implementations of many
+common data structures, e.g., RCU~\cite{rcu}, MS
+Queue~\cite{lockfreequeue}, ..., for the C/C++ memory model are
+neither linearizable nor sequentially consistent! Thus previous tools
+cannot check such data structures under the C/C++ memory model.}
+
+\mysubsection{New Challenges from the C/C++ Memory Model}
+\label{sec:introNewChallenges}
+
+The C/C++ memory model brings the following two key challenges that prevent the application of previous approaches to checking concurrent data structures to this setting:
+
+\squishcount
+\item {\bf Relaxed Executions Break Existing Data Structure Consistency Models:}
+C/C++ data structures often expose clients to weaker (non-SC)
+behaviors to gain performance.  A common guarantee is to provide
+happens-before synchronization between operations that implement
+updates and the operations that read those updates.  These data
+structures often do not guarantee that different threads observe updates in the
+same order --- in other words the data structures may expose clients
+to weaker consistency models than sequential consistency.  For
+example, even when one uses the relatively strong \code{acquire}
+and \code{release} memory orderings in C++, it is possible for two
+different threads to observe two stores happening in
+different orders, i.e., executions can fail the IRIW test.
+Thus many data structure legitimately admit executions for which there
+are no sequential histories that preserve program order.
+
+Like many other relaxed memory models, the C/C++ memory model does
+not include a total order over all memory operations, thus even
+further complicating the application of traditional approaches to correctness,
+e.g., linearization cannot be applied.  In
+particular the approaches that relate the behaviors of concurrent data
+structures to analogous sequential data structures break down due to
+the absence of a total ordering of the memory operations.  While many
+of the dynamic tools~\cite{cdschecker,relacy} for exploring the
+behavior of code under relaxed models do as a practical matter
+print out an execution in some order, this order is to some degree arbitrary as relaxed memory models
+generally make it possible for a data structure operation to see the
+effects of operations that appear later in any such an order (e.g., a load
+can read from a store that appears later in the order).  Instead of a total order, the C/C++
+memory model is formulated as a graph of memory operations
+with several partial orders defined in this graph.
+
+\item {\bf Constraining Reorderings (Specifying Synchronization Properties):}
+Synchronization\footnote{Synchronization here is not mutual exclusion,
+  but rather a lower-level property that captures which stores must be
+  visible to a thread.  In other words, it constrains which
+  reorderings can be performed by a processor or compiler.} in C/C++
+  provides an ordering between memory operations to different
+  locations.  Concurrent data structures must establish
+  synchronization or they potentially expose their users to highly
+  non-intuitive behavior that is likely to break client code.  For
+  example, consider the case of a concurrent queue that does not
+  establish synchronization between enqueue and dequeue operations. Consider the
+  following sequence of operations: (1) thread A initializes the fields of a new
+  object X; (2) thread A enqueues the reference to X in such a queue
+  (3) thread B dequeues the reference to X; (4) thread B reads the
+  fields of X through the dequeued reference. In (4), thread B could fail to see the
+  initializing writes from (1).
+  This surprising behavior could occur if the compiler or CPU could
+  reorder the initializing writes to be executed after the enqueue
+  operation.  If the fields are non-atomic, such loads are considered
+  data races and violate the data race free requirement of the C/C++
+  language standard and thus the program has no semantics.
+
+The C/C++ memory model formalizes synchronization in terms of a {\it
+  happens-before} relation.  The C/C++ happens-before relationship
+is a partial order over memory accesses.  If memory access {\it x}
+happens before memory access {\it y}, it means that the effects of
+{\it x} must be ordered before  the effects of {\it y}. 
+\countend
+
+\begin{figure}
+        \centering
+\vspace{-.3cm}
+	\includegraphics[scale=0.35]{figures/specworkflow}
+\vspace{-.4cm}
+		\caption{\label{fig:specworkflow} \TOOL system overview}
+\vspace{-.4cm}
+\end{figure}
+
+\mysubsection{Specification Language and Tool Support}
+
+Figure~\ref{fig:specworkflow} presents an overview of the \TOOL system. After
+implementing a concurrent data structure, developers annotate their code
+with a \TOOL specification. To test their implementation,
+developers compile the data structure with the \TOOL specification
+compiler to extract the specification and generate a program that is instrumented with specification checks.
+ Then, developers compile the instrumented program with a
+standard C/C++ compiler. Finally, developers run the binary under 
+the \TOOL checker. \TOOL
+then exhaustively explores the behaviors of the specific unit test and
+generates diagnostic reports for any executions that violate the specification.
+
+\mysubsection{Contributions}
+
+This paper makes the following contributions:
+
+\begin{itemize}
+\item {\bf Specification Language:} It introduces a specification
+  language that enables developers to write specifications of
+  concurrent data structures developed for a relaxed memory model in a
+  simple fashion that captures the key correctness properties.  Our
+  specification language is the first to our knowledge that supports concurrent data
+  structures that use C/C++ atomic operations.
+
+\item {\bf A Technique to Relate Concurrent Executions to Sequential Executions:}  It presents an approach to order the memory operations for the
+  C/C++ model, which lacks a definition of a trace and for which one
+  generally cannot even construct a total order of atomic operations
+  that is consistent with the program order.  The generated
+  sequential execution by necessity does not always maintain program order.
+  
+\item {\bf Synchronization Properties:} It presents constructs
+  for specifying the happens before relations that a data structure
+  should establish and tool support for checking these properties and
+  exposing synchronization related bugs.
+
+\item {\bf Tool for Checking C/C++ Data Structures Against Specifications:} \TOOL is the first tool to our knowledge that can check concurrent data structures that exhibit relaxed behaviors against specifications that are specified in terms intuitive sequential executions.
+
+\item {\bf Evaluation:} It shows that the \TOOL specification language can express key correctness properties for a
+set of real-world concurrent data structures, that our tool can detect
+  bugs, and that our tool can unit test real world data structures
+  with reasonable performance.
+\end{itemize}
+
diff --git a/correctness-model/writeup/.#memorymodel.tex.1.1 b/correctness-model/writeup/.#memorymodel.tex.1.1
new file mode 100644
index 0000000..f60d9da
--- /dev/null
+++ b/correctness-model/writeup/.#memorymodel.tex.1.1
@@ -0,0 +1,101 @@
+\section{C/C++ Memory Model}\label{sec:memorymodel}
+
+We next briefly summarize key aspects of the C/C++ memory model.  The memory model describes a series of atomic operations and the
+corresponding allowed behaviors of programs that utilize them.
+
+Any operation on an atomic object will have one of six \textit{memory orders},
+each of which falls into one or more of the following categories.
+
+\begin{description}
+
+	\item[relaxed:]
+		\code{memory\_order\_relaxed} --
+		weakest memory ordering
+
+	\item[release:]
+		\code{memory\_order\_release},
+		\code{memory\_order\_acq\_rel}, and
+		\code{memory\_order\_seq\_cst} --
+		a store-release may form release/consume or release/acquire synchronization
+
+	\item[consume:\footnotemark{}]
+		\code{memory\_order\_consume} --
+		a load-consume may form release/consume synchronization
+
+		\footnotetext{Consume is not broadly supported by compilers at
+      this point due to specifying data dependencies. We treat consumes as acquires.}
+    
+	\item[acquire:]
+		\code{memory\_order\_acquire},
+		\code{memory\_order\_acq\_rel}, and
+		\code{memory\_order\_seq\_cst} --
+		a load-acquire may form release/acquire synchronization
+
+	\item[seq-cst:]
+		\code{memory\_order\_seq\_cst} --
+		strongest memory ordering
+
+\end{description}
+
+\subsection{Relations}\label{sec:model-relations}
+
+The C/C++ memory model expresses program behavior in the form
+of binary relations or orderings. The following subsections will briefly
+summarize the relevant relations. Much of this discussion resembles the preferred model from the 
+formalization in \cite{c11popl}.
+
+\mypara{\bf Sequenced-Before:}
+The order of program operations within a single thread of execution establishes an intra-thread
+\textit{sequenced-before} (\reltext{sb}) relation.
+Note that while some operations in C/C++ provide no
+intra-thread ordering---the equality operator (\code{==}), for example---we
+ignore this detail and assume that \reltext{sb} totally orders all operations in
+a thread.
+
+\mypara{\bf Reads-From:}
+The \textit{reads-from} (\reltext{rf}) relation consists of store-load pairs $(X, Y)$
+such that $Y$ reads its value from the effect of $X$---or $X \relation{rf} Y$. In the
+C/C++ memory model, this relation is non-trivial, as a given load operation may
+read from one of many potential stores in the program execution.
+
+\mypara{\bf Synchronizes-With:}
+The \textit{synchronizes-with} (\reltext{sw}) relation captures
+synchronization that occurs when certain atomic operations interact across two
+threads. For instance, release/acquire synchronization occurs between a pair of
+atomic operations on the same object: a store-release $X$ and a load-acquire
+$Y$. If $Y$ reads from $X$, then $X$ synchronizes with $Y$---or $X
+\relation{sw} Y$. Synchronization also occurs between consecutive unlock and
+lock operations on the same mutex, between thread creation and the first event
+in the new thread, and between the last action of a thread and the completion of
+a thread-join operation targeting that thread.
+
+\mypara{\bf Happens-Before:}
+In \TOOL, we avoid consume operations, and so the \textit{happens-before}
+(\reltext{hb}) relation is simply the transitive closure of \reltext{sb} and
+\reltext{sw}.
+
+The \reltext{hb} relation restricts the stores that loads can read
+from.  For example, if we have two stores $X$ and $Y$ and
+a load $Z$ to the same memory location and $X \relation{hb} Y
+\relation{hb} Z$, then $Z$ cannot read from $X$.
+
+\mypara{\bf Sequential Consistency:}
+All seq-cst operations in a program execution form a
+total ordering (\reltext{sc}) so that, for instance, a seq-cst load may not read
+from a seq-cst store prior to the most recent store (to the same location) in
+the \reltext{sc} ordering, nor from any store that happens before that store.
+The \reltext{sc} order must be consistent with \reltext{hb}.
+
+\mypara{\bf Modification Order:}
+Each atomic object in a program execution has an associated \textit{modification order}
+(\reltext{mo})---a total order of all stores to that object---which
+informally represents a memory-coherent ordering in which those stores may be observed by
+the rest of the program.
+Note that
+in general the modification orders for all objects cannot be combined
+to form a consistent total ordering. We use $X \relation{mo} Y$ to represent the
+fact that $X$ is modification ordered before $Y$.
+
+
+
+
diff --git a/correctness-model/writeup/.#specification.tex.1.47 b/correctness-model/writeup/.#specification.tex.1.47
new file mode 100644
index 0000000..cb2aa21
--- /dev/null
+++ b/correctness-model/writeup/.#specification.tex.1.47
@@ -0,0 +1,419 @@
+\mysection{Specification Language Design}\label{sec:specification}
+
+We begin by briefly overviewing \TOOL's basic approach.  The \TOOL
+specification language specifies the correctness properties for
+concurrent data structures by establishing a correspondence with an
+equivalent sequential data structure, which requires: (1) defining the
+equivalent sequential data structure; (2) establishing an equivalent
+sequential history; (3) relating the behavior of the concurrent
+execution to the sequential history; and (4) specifying the
+synchronization properties between method invocations. The \TOOL
+specification language has the following key components:
+
+\mypara{\bf 1. Equivalent Sequential Data Structure:} This component defines a 
+sequential data structure against which the concurrent data structure
+will be checked.
+
+\mypara{\bf 2. Defining the Equivalent Sequential History:}
+For real-world data structures, generally there exist two types of API methods,
+\textit{primitive} API methods and \textit{aggregate} API methods. Take
+concurrent hashtables as an example, it provides primitive API methods
+such as \code{put} and \code{get} that implement the core functionality of the
+data structure, and it also has aggregate API methods such
+as \code{putAll} that calls primitive API methods internally. From our
+experience working with our benchmark set, it is generally possible to
+generate a sequential history of primitive API method invocations for
+real-world data structures as they generally serialize on a single memory
+location --- while it is possible to observe partially completed aggregate
+API method invocations.  Therefore, our specifications will focus on the
+correctness of primitive API methods.
+
+Borrowing from VYRD~\cite{vyrd} the concept of commit points, we allow
+developers to specify \textit{ordering points} --- the specific atomic
+operations between method invocation and response events that are used for
+ordering method calls.  Ordering points are a generalization of the commit
+points as they also use memory operations that do not commit the data structure
+operation to order method calls. Developers then specify ordering points to
+generate the equivalent sequential history.
+
+\mypara{\bf 3. Specifying Correct Behaviors:} Developers use
+the \TOOL specification to provide a set of \textit{side effects}
+and \textit{assertions} to describe the desired behavior of each API
+method.  Side effects capture how a method updates the equivalent
+sequential data structure.  Assertions include both preconditions and
+postconditions which specify what conditions each method must satisfy
+before and after the method call, respectively. The specification of
+the side effects and assertions may make use of the states of the
+equivalent sequential data structure, meaning that these components
+can access the internal variables and methods of the equivalent sequential data
+structure. Additionally, they can reference the values available at
+the method invocation and response, i.e., the parameter values and the
+return value.
+
+\mypara{\bf 4. Synchronization:} The synchronization  specification
+describes the desired happens before relations between API method
+invocations.  \TOOL specifications allow developers to specify the
+properties at the abstraction of methods.  This makes specifications
+cleaner, more understandable, and less error-prone because the
+properties do not rely on low-level implementation
+details. Moreover, \TOOL specifications allow developers to attach
+conditions to methods when specifying synchronization properties so
+that a method call might synchronize with another only under a
+specific condition.  For example, consider a spin lock with
+a \code{try\_lock()} method, we need to specify that only a
+successful \code{try\_lock()} method invocation must synchronize with the
+previous \code{unlock()} method invocation.
+
+Figure~\ref{fig:speccfg} presents the grammar for the \TOOL specification
+language.  The grammar defines three types of specification annotations: 
+\textit{structure annotations}, \textit{method annotations}, and
+\textit{ordering point annotations}.
+In the grammar, \textit{code} means legal C/C++ source code; and
+\textit{label} means legal C/C++ variable name.
+Annotations are embedded in C/C++ comments.
+This format does not affect the semantics of the original
+program and allows for the same source to be used by both a standard C/C++
+compiler to generate production code and for the \TOOL specification compiler to
+extract the \TOOL specification from the comments.  We discuss these constructs in more detail throughout the remainder of this section.
+
+\begin{figure}[!tb]
+\vspace{-.2cm}
+{\scriptsize
+	\begin{eqnarray*}
+	\textit{\textbf{structureSpec}} & \rightarrow & \code{"@Structure\_Define"}\\ 
+ && \textit{structureDefine} \ \ \ (\textit{happensBefore})?\\
+	\textit{structureDefine} & \rightarrow & 
+(\code{"@DeclareStruct:"} \ 
+	\textit{code})\text{*}\\
+	&& \code{"@DeclareVar:"} \ \textit{code}\\
+	&& \code{"@InitVar:"} \ \textit{code}\\
+	&& (\code{"@DefineFunc:"} \ \textit{code})\text{*}\\
+	\textit{happensBefore} & \rightarrow & \code{"@Happens\_Before:"} \
+	(\textit{invocation} \ \code{"->"} \
+	\textit{invocation})\textsuperscript{+}\\
+	\textit{invocation} & \rightarrow & \textit{label} \ (\ \  \code{"("} \
+	\textit{label} \code{")"} \ \ )?\\
+	\textit{\textbf{methodSpec}} & \rightarrow & \code{"@Method:"} \ \textit{label}\\
+	&& \code{"@Ordering\_Point\_Set:"} \ \textit{label} \ (\code{"|"} \
+	\textit{label})\text{*}\\
+	&& (\code{"@HB\_Condition:"} \ \textit{label} \ \code{"::"} \ \textit{code})\text{*}\\
+	&& (\code{"@ID:"} \ \textit{code})?\\
+	&& (\code{"@PreCondition:"} \ \textit{code})?\\
+	&& (\code{"@SideEffect:"} \ \textit{code})?\\
+	&& (\code{"@PostCondition:"} \ \textit{code})?\\
+	\textit{\textbf{potentialOP}} & \rightarrow & \code{"@Potential\_Ordering\_Point:"} \ \textit{code}\\
+	&& \code{"@Label:"} \ \ \textit{label}\\
+	\textit{\textbf{opCheck}} & \rightarrow & \code{"@Ordering\_Point\_Check:"} \ \textit{code}\\
+	&& \code{"@Potential\_Ordering\_Point\_Label:"} \ \textit{label}\\
+	&& \code{"@Label:"} \ \ \textit{label}\\
+	\textit{\textbf{opLabelCheck}} & \rightarrow & \code{"@Ordering\_Point\_Label\_Check:"} \ \textit{code}\\
+	&& \code{"@Label:"} \ \ \textit{label}\\
+	\textit{\textbf{opClear}} & \rightarrow & \code{"@Ordering\_Point\_Clear:"} \ \textit{code}\\
+	&& \code{"@Label:"} \ \ \textit{label}\\
+	\textit{code} & \rightarrow & \code{<Legal C/C++ code>}
+	\end{eqnarray*}}
+\vspace{-.7cm}
+\caption{\label{fig:speccfg}Grammar for \TOOL specification language}
+\vspace{-.3cm}
+\end{figure}
+
+
+\mysubsection{Example}
+
+To make the \TOOL specification language more concrete,
+Figure~\ref{fig:rcuSpecExample} presents the annotated RCU example. We
+use {\it ordering points} to order the method invocations to construct
+the equivalent sequential history for the concurrent execution.  We
+first specify the ordering points for the \code{read}
+and \code{update} methods to help define the equivalent sequential
+history. For the
+\code{read} method, the load access of the \code{node} field in
+Line~\ref{line:rcuSpecReadLoad} is the only operation that can be an ordering
+point.  For the \code{update} method, there exists more than one atomic
+operation, however they only serve as an ordering point when it successfully uses the CAS operation
+to update the \code{node} field. Thus, we specify in
+Line~\ref{line:rcuSpecUpdateOPBegin} that the CAS operation should be the
+ordering point for the update operation when \code{succ} is \code{true}. We
+associate the methods with the two ordering points in 
+Line~\ref{line:rcuSpecReadInterfaceOPSet} and
+\ref{line:rcuSpecUpdateInterfaceOPSet}.
+
+Next, we specify the equivalent sequential data structure for this RCU implementation.
+Line~\ref{line:declVar} declares two integer fields \code{\_data} and
+\code{\_version} as the internal states of the equivalent sequential RCU, and
+Line~\ref{line:initVar} initializes both variables to \code{0}.
+
+We then specify the correct behaviors of the equivalent sequential
+history by defining the side effects and assertions for
+the \code{read} and \code{update} methods.  Side effects specify how
+to perform the corresponding operation on the equivalent sequential
+data structure.  For example,
+Line~\ref{line:rcuSpecUpdateInterfaceSideEffect} specifies the side
+effects of the \code{update} to the sequential states.
+Assertions specify properties that should be true of the concurrent data structure execution.
+For example, Line~\ref{line:rcuSpecReadInterfacePostCondition}
+specifies that the \code{read} method should satisfy the postcondition that the
+returned \code{data} and \code{version} fields should have consistent values
+as the internal state of the equivalent sequential data structure.
+
+Our implementation of the RCU data structure is designed to establish
+synchronization between the \code{update} method invocation and the later
+\code{read} or \code{update} method invocation.  This is important, for
+example, if a client thread were to update an array index and use the RCU data
+structure to communicate the updated index to a second client thread.  Without
+synchronization, the second client thread may not see the update to the array
+index. Besides, the synchronization between two \code{update} calls ensures that
+later \code{read} will see the most updated values.
+In order to specify the synchronization, we associate \code{read} and \code{update} methods with method call identifiers
+(Line~\ref{line:rcuSpecReadInterfaceID} and Line~\ref{line:rcuSpecUpdateInterfaceID}), which for this example is the value of the
+\code{this} pointer.
+Together these annotations ensure that every
+API method call on the same RCU object will have the same method call ID. 
+Line~\ref{line:rcuSpecHB} then specifies
+the synchronization property for the RCU --- any \code{update} method invocation
+should synchronize with all later \code{read} and \code{update} method invocations that have the
+same method call identifier as that \code{update} method. This guarantees that
+\code{update} calls should synchronize with the \code{read} and \code{update}
+calls of the same RCU object.
+
+
+\begin{figure}[h!]
+\vspace{-.2cm}
+\begin{lstlisting}[xleftmargin=6.0ex]
+class RCU {
+	/** @Structure_Define:
+		@DeclareVar:/*@ \label{line:declVar} @*/ int _data, _version;
+		@InitVar:/*@ \label{line:initVar} @*/ _data = 0; _version = 0;
+	@Happens_Before: Update->Read  Update->Update*//*@ \label{line:rcuSpecHB} @*/
+	atomic<Node*> node;
+	public:
+	RCU() {
+		Node *n = new Node;
+		n->data = 0;
+		n->version = 0;
+		atomic_init(&node, n);	
+	}
+	/** @Interface: Read/*@ \label{line:rcuSpecReadInterfaceLabel} @*/
+	@Ordering_Point_Set: Read_Point/*@ \label{line:rcuSpecReadInterfaceOPSet} @*/
+	@ID: this/*@ \label{line:rcuSpecReadInterfaceID} @*/
+	@PostCondition:/*@ \label{line:rcuSpecReadInterfacePostCondition} @*/
+		_data == *data && _version == *version *//*@ \label{line:rcuSpecReadInterfaceEnd} @*/
+	void read(int *data, int *version) {
+		Node *res = node.load(mo_acquire);/*@ \label{line:rcuSpecReadLoad} @*/
+		/** @Ordering_Point_Label_Check: true/*@ \label{line:rcuSpecReadOPBegin} @*/
+		@Label: Read_Point */
+		*data = res->data;
+		*version = res->version;
+	}
+	/** @Interface: Update 
+	@Ordering_Point_Set: Update_Point/*@ \label{line:rcuSpecUpdateInterfaceOPSet} @*/
+	@ID: this/*@ \label{line:rcuSpecUpdateInterfaceID} @*/
+	@SideEffect: _data = data; _version++; *//*@ \label{line:rcuSpecUpdateInterfaceSideEffect} @*/
+	void update(int data) {
+		bool succ = false;
+		Node *newNode = new Node;/*@ \label{line:rcuSpecUpdateAlloc} @*/
+		Node *prev = node.load(mo_acquire);/*@ \label{line:rcuSpecUpdateLoad} @*/
+		do {
+			newNode->data = data;
+			newNode->version = prev->version + 1;
+			succ = node.compare_exchange_strong(prev,/*@\label{line:rcuSpecUpdateCAS} @*/
+				newNode, mo_acq_rel, mo_acquire);
+			/** @Ordering_Point_Label_Check: succ/*@ \label{line:rcuSpecUpdateOPBegin} @*/
+			@Label: Update_Point */
+		} while (!succ);
+	}
+};
+
+\end{lstlisting}
+\vspace{-.2cm}
+\caption{\label{fig:rcuSpecExample}Annotated RCU specification example}
+\vspace{-.3cm}
+\end{figure}
+
+\subsection{Defining the Equivalent Sequential History}
+
+While defining the equivalent sequential history for concurrent executions is well studied in the context of the
+SC memory model, optimizations that developers typically use in the
+context of weaker memory models create the following new challenges when
+we generate the equivalent sequential history using ordering points.
+
+\begin{itemize}
+\item {\bf Absence of a Meaningful Trace or Total Order:}
+For the SC memory model, an execution can be represented by a simple
+interleaving of all the memory operations, where each load operation reads from
+the last store operation to the same location in the trace.  However, under a
+relaxed memory model like C/C++11, the interleaving does not uniquely define an
+execution because a given load operation can potentially read from many
+different store operations in the interleaving. Therefore, we have to rely on
+the intrinsic relations between ordering points such as \textit{reads from} and
+\textit{modification order} to order method calls.
+
+\item {\bf Lack of Program Order Preserving Sequential History:}
+Moreover, as discussed in Section~\ref{sec:exampleMotivation}, in
+general it is not possible to arrange an execution in any totally
+ordered sequential history that preserves program order.
+
+A key insight is that many concurrent data structures' API methods
+have a commit point, which is a single memory operation that makes the
+update visible to other threads and that also serves as an ordering
+point.  When two data structure operations have a dependence, it is
+often the case that their respective commit points are both
+conflicting accesses to the same memory location.  In this case, the
+modification order provided by C/C++ is sufficient to order these
+operations since modification order is guaranteed to be consistent
+with the happens before relation (and therefore also the sequenced
+before relation).
+
+For cases where the method calls are independent, such as
+a \code{put(X, 1)} followed by a
+\code{get(Y)} in a hashtable where \code{X} and \code{Y} are different keys,
+the lack of an ordering is not a problem since those methods commute.
+\end{itemize}
+
+\mypara{\bf Ordering Point Annotations:} In many cases, it is not
+possible to determine whether a given atomic operation is an ordering 
+point until later in the execution. For example, 
+some internal methods may be called by multiple API methods. In this
+case, the same atomic operation can be identified as a potential
+ordering point for multiple API methods, and each API method later has
+a checking annotation to verify whether it was a real ordering
+point.  Therefore, the \TOOL specification separates the definition of ordering
+points as follows:
+\begin{enumerate}
+\vspace{-.1cm}
+\item {\code{Potential\_Ordering\_Point} annotation:} The labeling of ordering
+points that identifies the location of a potential ordering point.
+\vspace{-.2cm}
+\item {\code{Ordering\_Point\_Check} annotation:} The checking of ordering
+points that checks at a later point whether a potential ordering point was
+really an ordering point.
+\end{enumerate}
+\vspace{-.1cm}
+
+These two constructs together identify ordering points.  For
+example, assume that $A$ is an atomic operation that is marked as a
+potential ordering point with the label \code{LabelA} under the
+condition \code{ConditionA}.  The developer would write a
+\code{Potential\_Ordering\_Point} annotation with the label
+\code{LabelA} and then use the label \code{LabelA} in an
+\code{Ordering\_Point\_Check} annotation at a later point.
+
+The \code{Ordering\_Point\_Label\_Check} annotation combines
+the \code{Potential\_Ordering\_Point} and the
+\code{Ordering\_Point\_Check} annotations, and makes
+specifications simpler for the use case that the ordering point is known immediately.
+For example, in Line~\ref{line:rcuSpecReadOPBegin} of
+Figure~\ref{fig:rcuSpecExample}, we use the \code{Ordering\_Point\_Label\_Check} annotation to
+identify the ordering point for \code{read} because we know the load operation
+in Line~\ref{line:rcuSpecReadLoad} is an ordering point at the time it is
+executed.
+
+Some data structure operations may require multiple ordering points.
+For example, consider a transaction implementation that first attempts
+to lock all of the involved objects (dropping the locks and retrying
+if it fails to acquire a lock), performs the updates, and then releases
+the locks.  To order such transactions in a relaxed memory model, we must consider all of the
+locks it acquires and not just the last lock.  Thus, we allow a
+method invocation to have more than one ordering point, and the
+additional ordering points serve to order the operation with respect to
+multiple different memory locations.  For the transaction example, it
+may be necessary to retry the acquisition of locks.  To support this
+scenario, the \code{Ordering\_Point\_Clear} annotation removes all
+previous ordering points when it satisfies a specific condition.
+
+Moreover, when an API method calls another API method, they can share ordering points.  In
+that case, \TOOL requires that at that ordering point, the concurrent data
+structure should satisfy the precondition and postcondition of both the inner
+and outer API methods.
+
+\subsection{Checking the IO Behavior of Methods}
+
+With the specified ordering points, \TOOL is able to generate the equivalent
+sequential history. Developers then need to define the equivalent sequential
+data structure. For example, in Line~\ref{line:declVar} and
+~\ref{line:initVar} of the annotated RCU example, we use the
+\code{Structure\_define} annotation to define the equivalent sequential RCU
+by specifying the internal states as two integers, \code{\_verion} and \code{\_data}. In the
+\code{Structure\_define} annotation, developers can also specify definitions for customized
+structs and methods for convenience. We design these annotations in such a way
+that developers can  
+write specifications in C/C++ code such that they do not have to learn a new
+specification language.
+
+After defining the internal states and methods of the
+equivalent data structure, developers use the \code{SideEffect} annotation to
+define the corresponding sequential API methods, which should contain the action
+to be performed on the equivalent sequential data structure. For example, in
+Line~\ref{line:rcuSpecUpdateInterfaceSideEffect} of the annotated RCU example,
+we use \code{SideEffect} to specify that when we execute the \code{update}
+method on the equivalent sequential RCU, we should update the
+internal states of \code{\_version} and \code{\_data} accordingly. When
+the \code{SideEffect} annotation is omitted for a specific API method, it means
+that no side effects will happen on the sequential data structure when that
+method is called. Take the annotated RCU as an example, the \code{read} has no
+side effects on the equivalent sequential RCU.
+
+With the well-defined equivalent sequential data structure, developers then relate
+the generated equivalent sequential history to the equivalent sequential data
+structure. In \TOOL, we allow developers to accomplish this by using the
+\code{PreCondition} and \code{PostCondition} annotations to specify the
+conditions to be checked before and after the API method appears to happen.
+For example, Line~\ref{line:rcuSpecReadInterfaceEnd} in the
+annotated RCU example means that when \code{read} appears to happen, it should
+return the same value as the current interal variables of the equivalent
+sequential RCU.
+Note that these two annotations contain legitimate C/C++
+expressions that only access the method call parameters, return value and the
+internal states of the equivalent sequential data structure.
+
+\subsection{Checking Synchronization}
+
+Under a relaxed memory model, compilers and processors can reorder
+memory operations and thus the execution can exhibit counter-intuitive
+behaviors. The C/C++11 memory model provides the developer with memory ordering that establish synchronization, e.g., \code{acquire}, \code{release}, \code{seq\_cst}.  Synchronization 
+serves to control which reorderings are allowed --- however,
+restricting reorderings comes at a runtime cost so developers must
+balance complexity against runtime overhead.  Checking that data
+structures establish proper synchronization is important to ensure
+that the data structures can be effectively composed with client code.
+
+We generalize the notion of happens before to methods as follows.
+Method call $c_1$ happens-before method call $c_2$ if the invocation
+event of $c_1$ happens before the response event of $c_2$.  Note that
+by this definition two method calls can both happen before each other
+--- an example of this is the \code{barrier} synchronization
+construct.  For example, for a correctly synchronized queue, we want
+an enqueue to happen before the corresponding dequeue, which avoids
+the synchronization problems discussed earlier in
+Section~\ref{sec:introNewChallenges}.
+
+In order to flexibly express the synchronization between methods, we associate
+API methods with method call identifiers (or IDs) and happens-before conditional guard
+expressions. The method
+call ID is a C/C++ expression that computes a unique ID for the call, and if it
+is omitted, a default value is used. For example, in our RCU example in
+Figure~\ref{fig:rcuSpecExample}, method \code{update} and \code{read} both
+have the \code{this} pointer of the corresponding RCU object.
+The \code{HB\_Condition} component
+associates one happens-before conditional guard expression with a unique label.
+For one method, multiple conditional guard expressions are allowed to be
+defined, and the conditional guard expression can only access the method
+instance's argument values and return value. 
+
+After specifying the
+method call IDs and the \code{HB\_Condition} labels, developers
+can specify the synchronization as ``\code{method1(HB\_condition1)} \code{->}
+\code{method2(HB\_condition2)}''. When the \code{HB\_condition} is omitted, it
+defaults to \code{true}. The semantics of this expression is that all
+instances of calls to \code{method1} that satisfy the conditional guard
+expression \code{HB\_condition1} should happen-before all later instances (as determined by ordering points) of
+calls to \code{method2} that satisfy the conditional guard expression
+\code{HB\_condition2} such that both instances shared the same ID.
+The ID and happens-before conditional guard expression are important because they
+allow developers to impose synchronization only between specific method
+invocations under specific conditions. For example, in
+Figure~\ref{fig:rcuSpecExample}, Line~\ref{line:rcuSpecHB} specifies two
+synchronization rules, which together mean that the
+\code{update} should only establish synchronization with later \code{read} and
+\code{update} from
+the same RCU object under all circumstances.
diff --git a/correctness-model/writeup/CVS/Entries b/correctness-model/writeup/CVS/Entries
new file mode 100644
index 0000000..e738c4e
--- /dev/null
+++ b/correctness-model/writeup/CVS/Entries
@@ -0,0 +1,19 @@
+/confstrs-abbrv.bib/1.1/Wed Jan 14 22:53:32 2015//
+/confstrs-long.bib/1.1/Wed Jan 14 22:53:32 2015//
+/sig-alternate.cls/1.1/Wed Jan 14 22:53:32 2015//
+D/figures////
+/makefile/1.2/Fri Jan 23 17:16:19 2015//
+/spell.lst/1.1/Fri Jan 23 05:47:30 2015//
+/abstract.tex/1.2/Fri Jan 23 22:58:26 2015//
+/conclusion.tex/1.2/Fri Jan 23 22:58:26 2015//
+/related.tex/1.2/Fri Jan 23 22:58:26 2015//
+/speccfg.tex/1.1/Fri Jan 23 22:58:26 2015//
+/technical.tex/1.1/Fri Jan 23 22:58:26 2015//
+/paper.tex/1.6/Fri Jan 23 23:30:25 2015//
+/paper.bib/1.3/Sat Jan 24 00:47:32 2015//
+/memorymodel.tex/1.8/Sat Jan 24 01:51:58 2015//
+/introduction.tex/1.36/Sat Jan 24 03:09:04 2015//
+/example.tex/1.19/Sat Jan 24 03:36:11 2015//
+/specification.tex/1.59/Sat Jan 24 04:47:54 2015//
+/implementation.tex/1.16/Sat Jan 24 05:04:07 2015//
+/evaluation.tex/1.21/Sat Jan 24 05:35:18 2015//
diff --git a/correctness-model/writeup/CVS/Repository b/correctness-model/writeup/CVS/Repository
new file mode 100644
index 0000000..e5a4afa
--- /dev/null
+++ b/correctness-model/writeup/CVS/Repository
@@ -0,0 +1 @@
+Papers/15/issta.cdsspec
diff --git a/correctness-model/writeup/CVS/Root b/correctness-model/writeup/CVS/Root
new file mode 100644
index 0000000..cd8b2f1
--- /dev/null
+++ b/correctness-model/writeup/CVS/Root
@@ -0,0 +1 @@
+:ext:peizhaoo@plrg.eecs.uci.edu:/home/cvs/Papers
diff --git a/correctness-model/writeup/abstract.tex b/correctness-model/writeup/abstract.tex
new file mode 100644
index 0000000..7bf3748
--- /dev/null
+++ b/correctness-model/writeup/abstract.tex
@@ -0,0 +1,19 @@
+Concurrent data structures often provide better performance on
+multi-core platforms, but are significantly more difficult to design and
+verify than their sequential counterparts.  The C/C++11 standard
+introduced a weak language memory model supporting low-level atomic
+operations such as compare and swap (CAS).  While these
+atomic operations can significantly improve the performance
+of concurrent data structures, programming at this level
+introduces
+non-intuitive behaviors that significantly increase the difficulty of
+developing code.
+
+In this paper, we present \TOOL, a specification language checker that
+allows developers to write simple specifications for low-level
+concurrent data structures that make use of C/C++11 atomics and check
+the correctness of concurrent data structures against these
+specifications.  \TOOL is designed to be used in conjunction with
+model checking tools and we have implemented it as a plugin
+to \cdschecker.  We have evaluated \TOOL by annotating and checking
+several concurrent data structures.
diff --git a/correctness-model/writeup/conclusion.tex b/correctness-model/writeup/conclusion.tex
new file mode 100644
index 0000000..ae07691
--- /dev/null
+++ b/correctness-model/writeup/conclusion.tex
@@ -0,0 +1,11 @@
+\mysection{Conclusion\label{sec:conclusion}}
+
+The \TOOL specification language and checking system makes it easier
+to unit test concurrent data structures written for the C/C++11 memory
+model.  It extends and modifies classic approaches to defining the
+desired behaviors of concurrent data structures with respect to
+sequential versions of the same data structure to
+apply to the C/C++ memory model.  Our evaluation shows
+that the approach can be used to specify and test correctness
+properties for a range of data structures including a
+lock-free hashtable, work-stealing deque, queues and locks.
diff --git a/correctness-model/writeup/confstrs-abbrv.bib b/correctness-model/writeup/confstrs-abbrv.bib
new file mode 100644
index 0000000..ef42052
--- /dev/null
+++ b/correctness-model/writeup/confstrs-abbrv.bib
@@ -0,0 +1,173 @@
+@string{mspc12="MSPC"}
+@string{ppdp11="PPDP"}
+@string{spin04="SPIN"}
+@string{spin07="SPIN"}
+@string{spin08="SPIN"}
+@string{spin09="SPIN"}
+@string{ijpp="IJPP"}
+@string{jlap="JLAP"}
+@string{fcad10="FCAD"}
+@strign{sc="SC"}
+@string{iwops99="POS"}
+@string{podc96="PODC"}
+@string{popl73="POPL"}
+@string{popl93="POPL"}
+@string{popl96="POPL"}
+@string{popl97="POPL"}
+@string{popl99="POPL"}
+@string{popl05="POPL"}
+@string{popl07="POPL"}
+@string{popl08="POPL"}
+@string{popl09="POPL"}
+@string{popl11="POPL"}
+@string{popl13="POPL"}
+
+@string{dac07="DAC"}
+@string{sosp05="SOSP"}
+@string{sosp03="SOSP"}
+@string{oopsla02="OOPSLA"}
+@string{oopsla03="OOPSLA"}
+@string{oopsla04="OOPSLA"}
+@string{oopsla05="OOPSLA"}
+@string{oopsla06="OOPSLA"}
+@string{oopsla07="OOPSLA"}
+@string{oopsla08="OOPSLA"}
+@string{oopsla09="OOPSLA"}
+@string{oopsla10="OOPSLA"}
+@string{oopsla13="OOPSLA"}
+
+@string{hotpar09="HotPar"}
+@string{hotpar10="HotPar"}
+
+@string{atc="ATC"}
+
+@string{ismm08="ISMM"}
+@string{ismm09="ISMM"}
+@string{ismm10="ISMM"}
+
+@string{esop09="ESOP"}
+
+@string{scool05="SCOOL"}
+
+@string{paste08="PASTE"}
+
+@string{ecoop10="ECOOP"}
+
+@string{osdi04="OSDI"}
+@string{osdi08="OSDI"}
+
+@string{toplas02="TOPLAS"}
+@string{toplas09="TOPLAS"}
+
+@string{pact01="PACT"}
+@string{pact08="PACT"}
+
+@string{cc08="CC"}
+@string{cc10="CC"}
+@string{cc11="CC"}
+
+@string{asplos91="ASPLOS"}
+@string{asplos02="ASPLOS"}
+@string{asplos09="ASPLOS"}
+
+@string{sc01="SC"}
+@string{sc06="SC"}
+
+@string{spaa98="SPAA"}
+@string{toplas="TOPLAS"}
+@string{tocs="TOCS"}
+@string{tpds="TPDS"}
+@string{vee05="VEE"}
+@string{vee08="VEE"}
+@string{jvm01="JVM"}
+
+@string{ics95="ICS"}
+@string{ics99="ICS"}
+
+@string{icse05="ICSE"}
+@string{icse10="ICSE"}
+@string{icse00="ICSE"}
+
+@string{sc97="SC"}
+@string{sc01="SC"}
+@string{lcpc08="LCPC"}
+@string{lcpc01="LCPC"}
+@string{pldi="PLDI"}
+@string{pldi93="PLDI"}
+@string{pldi94="PLDI"}
+@string{pldi95="PLDI"}
+@string{pldi96="PLDI"}
+@string{pldi97="PLDI"}
+@string{pldi98="PLDI"}
+@string{pldi99="PLDI"}
+@string{pldi00="PLDI"}
+@string{pldi01="PLDI"}
+@string{pldi02="PLDI"}
+@string{pldi03="PLDI"}
+@string{pldi04="PLDI"}
+@string{pldi05="PLDI"}
+@string{pldi06="PLDI"}
+@string{pldi07="PLDI"}
+@string{pldi08="PLDI"}
+@string{pldi09="PLDI"}
+@string{pldi10="PLDI"}
+@string{pldi11="PLDI"}
+@string{pldi12="PLDI"}
+@string{pldi13="PLDI"}
+
+@string{issta11="ISSTA"}
+@string{isca90="ISCA"}
+@string{isca09="ISCA"}
+@string{isca10="ISCA"}
+@string{ppopp97="PPoPP"}
+@string{ppopp01="PPoPP"}
+@string{ppopp07="PPoPP"}
+@string{ppopp09="PPoPP"}
+@string{ppopp10="PPoPP"}
+@string{ppopp11="PPoPP"}
+@string{ppopp12="PPoPP"}
+@string{ppopp13="PPoPP"}
+
+@string{cgo10="CGO"}
+@string{cgo11="CGO"}
+
+@string{ispass09="ISPASS"}
+
+@string{iiswc08="IISWC"}
+@string{iiswc09="IISWC"}
+
+@string{iccl88="ICCL"}
+
+@string{micro05="MICRO"}
+@string{micro10="MICRO"}
+
+@string{hpdc07="HPDC"}
+
+@string{cav08="CAV"}
+@string{cav07="CAV"}
+@string{cav06="CAV"}
+@string{cav04="CAV"}
+
+@string{procomet90="PROCOMET"}
+@string{hpca07="HPCA"}
+@string{dexa04="DEXA"}
+
+@string{lics="LICS"}
+@string{lncs="LNCS"}
+@string{lcpc="LCPC"}
+@string{vmcai="VMCAI"}
+@string{vmcai09="VMCAI"}
+@string{tacas11="TACAS"}
+
+@string{ieeecmpscieng="IEEE Comput. Sci. Eng."}
+@string{higherordersymbcomp="HOSC"}
+@string{ibmjrd="IBM J. of Res. Dev."}
+@string{ieeetc="TC"}
+@string{cacm="CACM"}
+@string{jsac="J-SAC"}
+
+@string{conpar90vappIV="CONPAR 90 - VAPP IV"}
+
+@string{asplos91="ASPLOS"}
+
+@string{ipdps09="IPDPS"}
diff --git a/correctness-model/writeup/confstrs-long.bib b/correctness-model/writeup/confstrs-long.bib
new file mode 100644
index 0000000..55ff861
--- /dev/null
+++ b/correctness-model/writeup/confstrs-long.bib
@@ -0,0 +1,180 @@
+@string{mspc12="Proceedings of the 2012 ACM SIGPLAN Workshop on Memory Systems Performance and Correctness"}
+@string{ppdp11="Proceedings of the 13th International ACM SIGPLAN Symposium on Principles and Practices of Declarative Programming"}
+@string{padd88="Proceedings of the 1988 ACM SIGPLAN and SIGOPS Workshop on Parallel and Distributed Debugging"}
+@string{spin04="Proceedings of the 11th International {SPIN} Workshop on Model Checking Software"}
+@string{spin07="Proceedings of the 14th International {SPIN} Workshop on Model Checking Software"}
+@string{spin08="Proceedings of the 15th International {SPIN} Workshop on Model Checking Software"}
+@string{spin09="Proceedings of the 16th International {SPIN} Workshop on Model Checking Software"}
+@string{fcad10="Proceedings of the Conference on Formal Methods in Computer-Aided Design"}
+@string{jlap="Journal of Logic and Algebraic Programming"}
+@string{iwops99="Proceedings of the 8th International Workshop on Persistent Object Systems"}
+
+@string{ijpp="International Journal on Parallel Programming"}
+
+@string{sc06="Supercomputing"}
+@string{podc96="Proceedings of the Fifteenth Annual ACM Symposium on Principles of Distributed Computing"}
+@string{popl73="Proceedings of the Symposium on Principles of Programming Languages"}
+@string{popl93="Proceedings of the Symposium on Principles of Programming Languages"}
+@string{popl96="Proceedings of the Symposium on Principles of Programming Languages"}
+@string{popl97="Proceedings of the Symposium on Principles of Programming Languages"}
+@string{popl99="Proceedings of the Symposium on Principles of Programming Languages"}
+@string{popl05="Proceedings of the Symposium on Principles of Programming Languages"}
+@string{popl07="Proceedings of the Symposium on Principles of Programming Languages"}
+@string{popl08="Proceedings of the Symposium on Principles of Programming Languages"}
+@string{popl11="Proceedings of the Symposium on Principles of Programming Languages"}
+@string{popl13="Proceedings of the Symposium on Principles of Programming Languages"}
+
+@string{dac07="Proceedings of the 44th Annual Design Automation Conference"}
+
+@string{issta11="Proceedings of the 2011 International Symposium on Software Testing and Analysis"}
+
+@string{sosp03="Proceedings of the Nineteenth ACM Symposium on Operating Systems Principles"}
+@string{sosp05="Proceedings of the Twentieth ACM Symposium on Operating Systems Principles"}
+@string{oopsla02="Proceeding of the 17th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+@string{oopsla03="Proceeding of the 18th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+@string{oopsla04="Proceeding of the 19th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+@string{oopsla05="Proceeding of the 20th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+@string{oopsla06="Proceeding of the 21st ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+@string{oopsla07="Proceeding of the 22nd ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+@string{oopsla08="Proceeding of the 23rd ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+@string{oopsla09="Proceeding of the 24th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+@string{oopsla10="Proceeding of the 25th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+@string{oopsla13="Proceeding of the 28th ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications"}
+
+@string{scool05="Synchronization and Concurrency in Object-Oriented Languages"}
+
+@string{hotpar09="First USENIX Workshop on Hot Topics in Parallelism"}
+@string{hotpar10="Second USENIX Workshop on Hot Topics in Parallelism"}
+
+@string{atc="Proceedings of the USENIX Annual Technical Conference"}
+
+@string{ismm08="Proceedings of the 2008 International Symposium on Memory Management"}
+@string{ismm09="Proceedings of the 2009 International Symposium on Memory Management"}
+@string{ismm10="Proceedings of the 2010 International Symposium on Memory Management"}
+@string{esop09="Proceedings of the 2009 European Symposium on Programming"}
+@string{paste08="Proceedings of Program Analysis for Software Tools and Engineering"}
+
+@string{ecoop10="Proceedings of the 24th European Conference on Object-Oriented Programming"}
+
+@string{osdi04="Proceedings of the 6th Symposium on Operating Systems Design and Implementation"}
+@string{osdi08="Proceedings of the 8th Symposium on Operating Systems Design and Implementation"}
+
+@string{toplas02="ACM Transactions on Programming Languages and Systems"}
+@string{toplas09="ACM Transactions on Programming Languages and Systems"}
+
+@string{sc01="Proceedings of the ACM/IEEE Conference on Supercomputing"}
+@string{sc06="Proceedings of the ACM/IEEE Conference on Supercomputing"}
+
+@string{ics95="Proceedings of the 9th International Conference on Supercomputing"}
+
+@string{icse00="Proceedings of the 22nd International Conference on Software Engineering"}
+@string{icse05="Proceedings of the 27th International Conference on Software Engineering"}
+@string{icse10="Proceedings of the 32nd International Conference on Software Engineering"}
+
+@string{pact01="Proceedings of the 10th International Conference on Parallel Architectures and Compilation Techniques"}
+@string{pact08="Proceedings of the 17th International Conference on Parallel Architectures and Compilation Techniques"}
+
+@string{cc08="Proceedings of the 17th International Conference on Compiler Construction"}
+@string{cc10="Proceedings of the 19th International Conference on Compiler Construction"}
+@string{cc11="Proceedings of the 20th International Conference on Compiler Construction"}
+
+@string{asplos91="Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems"}
+@string{asplos02="10th International Conference on Architectural Support for Programming Languages and Operating Systems"}
+@string{asplos09="14th International Conference on Architectural Support for Programming Languages and Operating Systems"}
+
+@string{vee05="Proceedings of the First ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments"}
+@string{vee08="Proceedings of the Fourth ACM SIGPLAN/SIGOPS International Conference on Virtual Execution Environments"}
+
+@string{lcpc08="Proceedings of the 21st Annual Workshop on Languages and Compilers for Parallel Computing"}
+@string{lcpc10="Proceedings of the Fourteenth Annual Workshop on Languages and Compilers for Parallel Computing"}
+
+@string{pldi="Proceedings of Programming Language Design and Implementation"}
+@string{pldi93="Proceedings of the 1993 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi94="Proceedings of the 1994 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi95="Proceedings of the 1995 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi96="Proceedings of the 1996 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi97="Proceedings of the 1997 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi98="Proceedings of the 1998 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi99="Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi00="Proceedings of the 2000 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi01="Proceedings of the 2001 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi02="Proceedings of the 2002 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi03="Proceedings of the 2003 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi04="Proceedings of the 2004 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi05="Proceedings of the 2005 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi06="Proceedings of the 2006 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi07="Proceedings of the 2007 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi08="Proceedings of the 2008 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi09="Proceedings of the 2009 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi10="Proceedings of the 2010 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi11="Proceedings of the 2011 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi12="Proceedings of the 2012 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+@string{pldi13="Proceedings of the 2013 ACM SIGPLAN Conference on Programming Language Design and Implementation"}
+
+@string{isca90="Proceedings of the 17th Annual International Symposium on Computer Architecture"}
+@string{isca09="Proceedings of the 36th Annual International Symposium on Computer Architecture"}
+@string{isca10="Proceedings of the 37th Annual International Symposium on Computer Architecture"}
+
+@string{ppopp97="Proceedings of the 6th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming"}
+@string{ppopp07="Proceedings of the 12th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming"}
+@string{ppopp01="Proceedings of the 8th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming"}
+@string{ppopp09="Proceedings of the 14th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming"}
+@string{ppopp10="Proceedings of the 15th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming"}
+@string{ppopp11="Proceedings of the 16th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming"}
+@string{ppopp12="Proceedings of the 17th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming"}
+@string{ppopp13="Proceedings of the 18th ACM SIGPLAN Symposium on Principles and Practice of Parallel Programming"}
+
+@string{ispass09="IEEE International Symposium on Performance Analysis of Systems and Software"}
+
+@string{iiswc08="Proceedings of the IEEE International Symposium on Workload Characterization"}
+@string{iiswc09="Proceedings of the IEEE International Symposium on Workload Characterization"}
+
+@string{iccl88="Proceedings of the 1988 International Conference on Computer Languages"}
+
+@string{micro05="38th Annual IEEE/ACM International Symposium on Microarchitecture"}
+@string{micro10="43rd Annual IEEE/ACM International Symposium on Microarchitecture"}
+
+@string{hpdc07="Proceedings of the ACM International Symposium on High Performance Distributed Computing"}
+
+@string{cav07="Proceedings of the 19th International Conference on Computer Aided Verification"}
+@string{cav06="Proceedings of the 18th International Conference on Computer Aided Verification"}
+@string{cav08="Proceedings of the 20th International Conference on Computer Aided Verification"}
+@string{cav04="Proceedings of the 16th International Conference on Computer Aided Verification"}
+
+@string{tacas11="Proceedings of the 17th International Conference on Tools and Algorithms for the Construction and Analysis of Systems"}
+
+@string{procomet90="Proceedings of the International Conference on Programming Concepts and Methods"}
+
+@string{dexa04="Proceedings of the 15th International Conference on Database and Expert Systems Applications"}
+
+@string{lics="Symposium on Logic in Computer Science"}
+@string{lncs="Lecture Notes in Computer Science"}
+@string{lcpc="Proceedings of Languages and Compilers for Parallel Computing"}
+@string{vmcai="Proceedings of Verification, Model Checking, and Abstract Interpretation"}
+@string{vmcai09="Proceedings of the 2009 Conference on Verification, Model Checking, and Abstract Interpretation"}
+
+
+@string{ieeecmpscieng="IEEE Computing in Science and Engineering"}
+@string{higherordersymbcomp="Higher-Order and Symbolic Computation"}
+@string{ibmjrd="IBM Journal of Research and Development"}
+@string{ieeetc="IEEE Transactions on Computers"}
+@string{cacm="Communications of the ACM"}
+@string{jsac="IEEE Journal on Selected Areas in Communications"}
+@string{hpca07="Proceedings of the International Symposium on High Performance Computer Architecture"}
+@string{conpar90vappIV="Proceedings of the Joint International Conference on Vector and Parallel Processing"}
+@string{tocs="ACM Transactions on Computing Systems"}
+@string{toplas="ACM Transactions on Programming Languages and Systems"},
+@string{spaa98="Proceedings of the Tenth Annual ACM Symposium on Parallel Algorithms and Architectures"}
+@string{tpds="IEEE Transactions on Parallel and Distributed Systems"}
+
+@string{jvm01="Proceedings of the 2001 Symposium on JavaTM Virtual Machine Research and Technology"}
+@string{ics99="Proceedings of the International Conference on Supercomputing"}
+@string{sc97="Proceedings of the 1997 ACM/IEEE Conference on Supercomputing"}
+@string{sc01="Proceedings of the SC2001"}
+
+@string{cgo10="Proceedings of the 8th Annual IEEE/ACM International Symposium on Code Generation and Optimization"}
+@string{cgo11="Proceedings of the 9th Annual IEEE/ACM International Symposium on Code Generation and Optimization"}
+
+@string{asplos91="Proceedings of the Fourth International Conference on Architectural Support for Programming Languages and Operating Systems"}
+
+@string{ipdps09="Proceedings of the 2009 IEEE International Symposium on Parallel \& Distributed Processing"}
diff --git a/correctness-model/writeup/evaluation.tex b/correctness-model/writeup/evaluation.tex
new file mode 100644
index 0000000..1bf7c00
--- /dev/null
+++ b/correctness-model/writeup/evaluation.tex
@@ -0,0 +1,304 @@
+\mysection{Evaluation}\label{sec:evaluation}
+
+We have implemented \TOOL.  Our evaluation focuses on the following
+questions: (1) How expressive is \TOOL for specifying
+the correctness properties of real-world concurrent data structures? (2) How easy is it
+to use \TOOL? (3) What
+is the performance of \TOOL? (4) How effective was \TOOL
+in finding bugs?
+
+In order to evaluate \TOOL, we have gathered a contention
+free lock, two types of concurrent queues, and a work stealing
+deque~\cite{ppoppworkstealing}.  As C/C++11 is relatively new
+there are no C/C++11 implementations for many concurrent data
+structures, thus we ported several data structures.  The Linux
+kernel's reader-writer spinlock and the Michael Scott queue were originally ported
+for the \cdschecker benchmark suite.  We also ported an RCU
+implementation and Cliff Click's hashtable from its Java
+implementation~\cite{clickhashtable}.  We report execution times on an 
+Intel Core i7 3770.
+
+\mysubsection{Expressiveness}\label{sec:expressiveness}
+
+In this section, we evaluate the expressiveness of \TOOL by reporting
+our experiences writing specifications for a range of concurrent data
+structures.
+
+\mypara{\bf Lockfree hashtable:} We ported Cliff Click's hashtable,
+which supports simultaneous lookups and updates by multiple threads as
+well as concurrent table resizing.  The implementation uses an array
+of atomic variables to store the key/value slots, and uses
+acquire/release synchronization to establish the synchronization
+between hashtable accesses.
+
+Hashtable updates consist of two CAS operations --- one to claim
+the key slot and one to update the value.  When a \code{put} method
+invocation successfully updates both the key and value, the
+update is visible to other threads.  Thus, both CAS operations are
+ordering points for the \code{put} method, and we annotate both of
+them as potential ordering points. The \code{get} method is ordered after
+an invocation of the \code{put} only if it sees both the key and
+value updates.  Thus we annotate an ordering point for the
+key read only if the key is null.  We also
+annotate an ordering point for the value read if
+it reads the value slot. The test driver has two threads both of
+which update and read the value for the same key.
+
+\mypara{\bf RCU:} As discussed in the example, this is a
+synchronization mechanism used in the Linux kernel that allows concurrent reads
+and updates. We ran this benchmark with four threads, two update the data
+structure and two read the data structure.
+
+\mypara{\bf Chase-Lev Deque:} This is a bug-fixed version of a published C11 adaptation
+of the Chase-Lev deque~\cite{ppoppworkstealing}.
+It maintains a top and bottom index to a shared array of
+references. In terms of synchronization,
+when pushing an item into the sequential deque,
+we attach a unique ID tag to that element. When stealing or taking an item, we
+use that tag as the ID of the method call. Thus, we have (push, steal) or
+(push, take) pairs that have the same method call ID.
+In our test driver, one thread 
+pushes 3 items and takes 2 items while the other one steals 1
+item.
+
+\mypara{\bf Linux Reader-Writer Lock:} A reader-writer lock allows either
+multiple concurrent readers or one exclusive writer. We can abstract
+it with a boolean \code{writer\_lock} representing
+whether the writer lock is held and an integer \code{reader\_cnt}
+representing the number of threads that are reading.
+We test this benchmark with a single lock that
+protects shared variables. We have two threads that read and write
+the shared variables under the protection of a read lock and a write
+lock.
+
+\mypara{\bf MCS Lock:} This benchmark is an implementation of
+the Mellor-Crummey and Scott lock~\cite{mcs-lock,
+  mcs-lock-url}.  This lock queues waiting threads in a FIFO.
+Our test driver utilizes two
+threads that read and write shared variables with the protection of
+the lock.
+
+\mypara{\bf M\&S Queue:} This benchmark is an adaptation of the
+Michael and Scott lock free queue~\cite{lockfreequeue} to the C/C++
+memory model.  We ran with two threads, one of which enqueues and the
+other of which dequeues an item.
+
+\mypara{\bf SPSC Queue:} This is a lock-free single-producer,
+single-consumer queue. 
+We used a test driver that has two
+threads --- one enqueues a value and the other  dequeues
+it.
+
+\mypara{\bf MPMC Queue:} This is a multiple-producer, multiple-consumer
+queue. Producers call \code{write\_prepare} to obtain a free
+slot, update the slot, and call \code{write\_publish} to
+publish it. Consumers call \code{read\_fetch} to obtain
+a valid slot, read the slot, and call \code{read\_consume}
+to free it. The specification focuses on the synchronization
+properties which require \code{write\_publish} to synchronize with
+\code{read\_fetch} to ensure the data integrity and
+\code{read\_consume} to synchronize with \code{write\_prepare} to
+ensure that slots are not prematurely recycled.  The test driver
+contains two threads, each of which enqueue and dequeue
+an item.
+
+\subsection{Ease of Use} In addition to expressiveness, it is also important for
+specification languages to be easy to use. In our experience using \TOOL
+to specify the real-world data
+structures in our benchmark set, we found that \TOOL was easy to use. \TOOL specifications have only three 
+parts --- equivalent sequential data structures, ordering points, and
+synchronization properties, and we explain the reasons as follows. (1) Specifying
+sequential data structures is easy and straightforward, and developers can often
+just use an off-the-shelf implementation from a library.
+(2) When developers specify ordering points, they
+only need to know what operations order methods without needing to specify
+the subtle reasoning about the corner cases involving
+interleavings and reorderings introduced by relaxed memory models. Take the
+Michael \& Scott queue as an example, we can easily order enqueuers with the
+point when \code{enqueue} loads the \code{tail} pointer right before inserting the new
+node.
+(3) For synchronization, the fact that we allow specifying
+synchronization at the abstraction of methods makes it easy. For example, we only used 
+36 lines to specify synchronization in a total 1,033 lines of
+code (omitting blanks and comments).
+
+\begin{figure}[!htb]
+\vspace{-.2cm}
+{\footnotesize
+	\centering
+
+	\resizebox{\columnwidth}{!}{
+	\begin{tabular}{lrrr}
+		\hline
+		Benchmark & \# Executions & \# Feasible & Total Time (s) \\
+		\hline
+		Chase-Lev Deque & 1,365 & 232 & 0.15 \\
+		SPSC Queue & 19 & 15 & 0.01 \\
+		RCU & 1269 & 756 & 0.11 \\ 
+		Lockfree Hashtable & 30,941 & 25,731 & 11.39 \\ 
+		MCS Lock & 19,501 & 13,546 & 2.62 \\
+		MPMC Queue & 170,220 & 93,224 & 45.63 \\ % 1r2w
+		M\&S Queue & 168 & 114 & 0.05 \\
+		Linux RW Lock & 148,053 & 405 & 13.06 \\
+		% Results from: 2014-03-25-13:26
+		% Flags: -y -m 2 -u 3
+		\hline
+	\end{tabular}
+	}
+\vspace{-.1cm}
+	\caption{\label{fig:benchmark_results} Benchmark results}
+\vspace{-.3cm}
+}
+\end{figure}
+
+\mysubsection{Performance}\label{sec:performance} 
+
+Figure~\ref{fig:benchmark_results} presents performance results for
+\TOOL on our benchmark set.  We list the number of
+the total executions that \cdschecker has explored, the number of the feasible
+executions that we checked the specification for, and the time the benchmark
+took to complete.  All of our benchmarks complete within one minute
+and most take less than 3 seconds to complete.
+
+\mysubsection{Finding Bugs}\label{sec:findbugs}
+
+\begin{figure}[!htb]
+\vspace{-.2cm}
+{\footnotesize
+	\centering
+	
+	\resizebox{\columnwidth}{!}{
+	\begin{tabular}{l|ccccc|c}
+		\hline
+		Benchmark & \# Injection & \# DR & \# UL & \# Correctness & \# Sync & Rate\\
+		\hline
+		Chase-Lev Deque & 10 & 0 & 2 & 3 & 2 & 70\%\\
+		SPSC Queue & 2 & 2 & 0 & 0 & 0 & 100\%\\
+		RCU & 3 & 0 & 0 & 1 & 2 & 100\%\\
+		Lockfree Hashtable & 5 & 0 & 0 & 0 & 2 & 40\%\\
+		MCS Lock & 4 & 0 & 0 & 0 & 4 & 100\%\\
+		MPMC Queue & 6 & 0 & 0 & 0 & 2 & 33\%\\ 
+		M\&S Queue & 11 & 0 & 6 & 3 & 0 & 82\%\\
+		Linux RW Lock & 8 & 0 & 0 & 0 & 8 & 100\%\\
+		\hline
+		Total & 49 & 2 & 8 & 7 & 20 & 76\%\\
+		\hline
+		
+		% Results from: 2014-03-25-17:08
+		% Flags: -y -m 2 -u 3
+	\end{tabular}
+	}
+\vspace{-.2cm}
+	\caption{\label{fig:injection_results} Bug injection detection results}
+\vspace{-.2cm}
+}
+\end{figure}
+
+The next component of the evaluation examines the effectiveness of \TOOL for finding bugs.
+
+\mypara{\bf New Bugs:} In the M\&S queue benchmark used
+in~\cite{cdschecker}, the dequeue interface does not differentiate
+between dequeuing the integer zero and returning that no item is
+available, and it passed our initial specification.  However, after
+modifying the dequeue interface to match that in the original paper,
+\TOOL is able to find a new bug that \cdschecker did not find.  The
+original test driver for this benchmark performed the enqueues first
+to make it easy to write assertions that are valid for all executions.
+\TOOL allows specification assertions to capture the behavior of the specific execution
+and thus is able to discover the given bug.
+
+\mypara {\bf Injected Bugs:} To further evaluate \TOOL,
+we injected bugs in our benchmarks by weakening the ordering
+parameter of the atomic operations. These include
+changing \code{release}, \code{acquire}, \code{acq\_rel} and
+\code{seq\_cst} to \code{relaxed}. We weakened one operation per
+each trial, and covered all of the atomic operations that our
+tests exercise.  While this injection strategy may not
+reproduce all types of errors that developers make, it does
+simulate errors that are caused by misunderstanding the
+complicated semantics of relaxed memory models.
+
+This fault injection strategy will introduce one of two types of bugs.
+The first type is a specification-independent bug, which can be
+detected by the underlying \cdschecker infrastructure which includes
+internal data races and uninitialized loads. The second type is a
+specification-dependent bug, which passes the built-in checks 
+but violates the \TOOL specification.  These include
+failed assertions and synchronization violations.  We
+classifying bugs as follows. If \cdschecker reports a data
+race or an uninitialized load, \TOOL reports the error and stops.
+If not, \TOOL continues to check the
+execution against the specification.  It first
+checks for violations of the preconditions and postconditions and then for
+violations of the synchronization specification.
+
+Figure~\ref{fig:injection_results} shows the results of the injection
+detection.  The column \textit{DR} represents data races, \textit{UL} represents
+uninitialized loads, \textit{correctness} represents a failed precondition or
+postcondition, and
+\textit{sync} represents a synchronization violation. The detection rate is the
+number of injections for which we detected a bug divided by the total
+number of injections.
+
+\mypara{\bf Linux Reader-Writer Lock:} Our initial specification for this
+benchmark did not allow \code{write\_trylock} to spuriously fail.
+However, when we checked this benchmark against that specification,
+\TOOL checker reports a correctness violation. We then analyzed the code
+and found that \code{write\_trylock} first subtracts a bias from the
+\code{lock} variable to attempt to acquire the lock, and restores that
+bias if the attempt to acquire the lock fails.  In the scenario where
+two \code{write\_trylock} are racing for the lock before the lock is
+released, one \code{write\_trylock} can first decrement the lock
+variable, the lock can be released by the original holder, and then
+the second \code{write\_trylock} can attempt to acquire the lock.
+Even though the history indicates that the lock is unlocked, it
+still holds a transient value due to the partially completed first
+\code{write\_trylock} invocation.  Thus, the second
+\code{write\_trylock} invocation will also fail.  As the second
+\code{write\_trylock} serializes after both the first unsuccessful
+\code{write\_trylock} and the \code{unlock} operation,
+the sequential specification would force it to succeed.  We then modified  
+the specification
+of \code{write\_trylock} to allow spurious failures so that our correctness
+model fits this data structure.  This shows
+\TOOL can help developers iteratively refine the
+specifications of their data structures. By analyzing the \TOOL
+diagnostic report, developers can better understand
+any inconsistencies between the specification and the
+implementation.
+
+\mypara{\bf MCS Lock:} Three of the weakened
+operations are not detected because they cause the execution
+to fail to terminate (and hit a trace bound).  We 
+reviewed the code and found that weakening any of those three 
+operations makes the lock spin forever.
+
+\mypara{\bf M\&S Queue:} Our test driver does not cause
+an enqueue or dequeue thread to help another
+enqueue thread update the tail pointer, which corresponds to two of the
+undetected injections.
+
+\mypara{\bf Lockfree Hashtable:} Our experiment only focuses on the two
+primitive methods, \code{get} and \code{put} without triggering the
+\code{resize}. We were able to successfully check all executions from a  test driver for the lockfree hash table that generates executions that have no program order preserving sequential histories.
+
+\mypara{\bf MPMC Queue:} The undetected injections in this benchmark are
+primarily due to the limitation of our test driver. One
+synchronization property of this benchmark is
+that \code{read\_consume} should synchronize with the
+next \code{write\_prepare} to ensure that a slot cannot be reused
+before the consumer has finished with the slot.  Our test driver is
+unable to reach this case so those injections are not detected.
+
+From our experiments on concurrent data structures, we can see that
+\TOOL checker can help detect incorrect memory orderings,
+help developers refine data structure specifications,
+and help determine whether strong memory orderings are really
+necessary. Since \TOOL checker is a unit testing tool, it is limited
+to small-scale tests to explore common usage scenarios of the data
+structures. As a unit testing tool, \TOOL was able to find 100\% of
+injections for many data structures and to find 76\% of the injections
+on average. For our 49 injections, 10 of them were detected by checks
+in \cdschecker, and 27 additional injections were detected by
+\TOOL. This shows that by writing specifications, we detect
+significantly more fault injections. 
diff --git a/correctness-model/writeup/example.tex b/correctness-model/writeup/example.tex
new file mode 100644
index 0000000..3ee4f3d
--- /dev/null
+++ b/correctness-model/writeup/example.tex
@@ -0,0 +1,165 @@
+\mysection{Motivating Example}
+\label{sec:example}
+
+We will use the read-copy update (RCU)~\cite{rcu} implementation in
+Figure~\ref{fig:rcuexample} as a running example.  RCU data structures
+are useful for usage scenarios with large numbers of reads and
+relatively few updates.  RCU based data structures scale to large
+numbers of readers because read operations do not contain any
+low-level store operations and thus do not generate coherence traffic to invalidate cache lines.
+Lines~\ref{line:rcuBegin} through~\ref{line:rcuEnd} contain
+the code for the RCU implementation, and
+Lines~\ref{line:testcaseBegin} through~\ref{line:testcaseEnd} show a
+test case for the implementation.
+
+The RCU implementation maintains a shared pointer
+(Line~\ref{line:rcuSharedData})
+\code{node} to reference the data shared by readers and
+updaters. A reader loads the shared pointer (Line~\ref{line:rcuReadLoad}) to read
+the shared data, while an updater allocates a new struct
+(Line~\ref{line:rcuUpdateAlloc}), loads the shared pointer
+(Line~\ref{line:rcuUpdateLoad}), and then attempts a compare and swap (CAS) operation to update the shared pointer.  This process repeats until the CAS is successful.
+
+\begin{figure}[h]
+\vspace{-.2cm}
+\begin{lstlisting}[xleftmargin=6.0ex]
+#define mo_acquire memory_order_acquire
+#define mo_acq_rel memory_order_acq_rel
+struct Node {/*@ \label{line:rcuBegin} @*/
+	int data ;
+	int version;
+};
+
+class RCU {
+	atomic<Node*> node;/*@ \label{line:rcuSharedData} @*/
+	public:
+	RCU() {
+		Node *n = new Node;
+		n->data= 0;
+		n->version = 0;
+		atomic_init(&node, n);	
+	}
+	void read(int *data, int *version) {
+		Node *res = node.load(mo_acquire);/*@ \label{line:rcuReadLoad} @*/
+		*data = res->data;
+		*version = res->version;
+	}
+	void update(int data) {
+		bool succ = false;
+		Node *newNode = new Node;/*@ \label{line:rcuUpdateAlloc} @*/
+		Node *prev = node.load(mo_acquire);/*@ \label{line:rcuUpdateLoad} @*/
+		do {
+			newNode->data = data;
+			newNode->version = prev->version + 1;
+			succ = node.compare_exchange_strong(prev,/*@ \label{line:rcuUpdateCAS} @*/
+				newNode, mo_acq_rel, mo_acquire);/*@ \label{line:rcuUpdateCASMO} @*/
+		} while (!succ);
+	}
+};/*@ \label{line:rcuEnd} @*/
+
+RCU x, y; // Define two RCU objects/*@ \label{line:testcaseBegin} @*/
+int r1, r2, v1, v2;
+void thrd_1() { // Thread 1/*@ \label{line:thrd1} @*/
+	x.update(1);
+	y.read(&r1, &v1); // r1 == 0
+}
+void thrd_2() { // Thread 2/*@ \label{line:thrd2} @*/
+	y.update(1);
+	x.read(&r2, &v2); // r2 == 0
+}/*@ \label{line:testcaseEnd} @*/
+\end{lstlisting}
+\vspace{-.2cm}
+\caption{\label{fig:rcuexample}C++11 read-copy update example}
+\vspace{-.3cm}
+\end{figure}
+
+\begin{figure}[t]
+        \centering
+\vspace{-.3cm}
+	\resizebox{\columnwidth}{!}{
+		\includegraphics[scale=0.33]{figures/rcuhistory}
+	}
+  \vspace{-.4cm}
+		\caption{\label{fig:rcuhistory}History of a possible execution of two RCU objects}
+\vspace{-.4cm}
+\end{figure}
+
+This implementation uses low-level atomic operations provided by
+C/C++ to implement the RCU mechanism. For example, in
+Line~\ref{line:rcuUpdateCAS}, the \code{update} method uses a CAS
+operation to update the \code{node}. The memory
+order parameters attached to the atomic operations ensure that memory
+accesses that were performed before the \code{update} operation must
+occur before memory accesses that were performed after the \code{read}
+operation.
+
+\mysubsection{Consistency Model}
+\label{sec:exampleMotivation}
+
+In the example code, two threads, Thread~1 and Thread~2, each update
+one of the RCU objects \code{x} and \code{y}, respectively, and then
+access the object updated by the other thread.  Under the C/C++
+memory model, this example admits an execution in which both Thread~1
+and Thread~2 read the initial value 0.
+
+Figure~\ref{fig:rcuhistory} shows a possible order for this
+execution in which the model checker processes statements in the order shown in
+the
+execution labeled Original Trace\footnote{Note that the C/C++ memory
+model does not include any notion of a trace.  We merely use the term
+trace to refer to the order in which \TOOL prints the execution.},
+which is an interleaving of the invocation and response events of
+API methods indicated by \lq\lq\_i\rq\rq and \lq\lq\_r\rq\rq,
+respectively.
+
+This trace is rather counter-intuitive because it orders 
+Thread~1's \code{update} event before Thread~2's \code{read} event,
+yet Thread~2's \code{read} event does not observe the updated value.
+However, under the C/C++11 memory model, this is allowed since a load
+is allowed to read a value that is written by an old store.
+
+It is important to note that it is impossible to produce a sequential history
+for this example that preserves program order and produces the observed
+behavior.  This means that traditional notions of correctness that relate
+concurrent executions to sequential executions that were developed for
+the SC memory model cannot directly be applied to the C/C++11 memory
+model.
+
+This example leads to the following conclusion --- if we want to
+define the behavior of concurrent executions by relating them to
+equivalent sequential histories, then we must give up on preserving
+program order.
+
+We note that for this example, if we give up on program order, we
+produce the sequential history in Figure~\ref{fig:rcuhistory}
+labeled Reordered Trace.  The data structure operations in this
+sequential history have behavior that is consistent with the observed
+behaviors in the example execution.
+
+\mysubsection{Synchronization Properties}
+
+A correct RCU data structure ensures the property that the invocation
+event of an \code{update} operation happens-before the response event
+of the subsequent
+\code{read} operation. Informally, all operations that appear before the \code{update} operation must appear to occur before the operations that appear after the \code{read} operation.  While these
+semantics follow naturally for SC, for relaxed memory models we must
+ensure that neither the compiler nor the processor performs
+reorderings that violate these semantics. Therefore, when a reader
+reads the fields of the
+\code{node}, 
+data races are eliminated since the \code{read} operation synchronizes with the \code{update} operation.
+
+
+In the C/C++11 memory model, the transitive closure of
+\textit{sequence-before} and \textit{synchronizes-with} relations form the
+\textit{happens-before} relation in the absence of operations with the \code{consume} memory order.  Since every time an \code{update} operation finishes, a CAS operation to
+\code{node} with release semantics is executed, and the subsequent \code{read}
+loads the \code{node} reference with acquire semantics, the \code{read} operation synchronizes
+with the \code{update} operation, providing the necessary synchronization properties.
+Some RCU implementations may use consume semantics instead of acquire semantics,
+however we do not use consume for the following two reasons: (1) most existing
+C/C++ compilers do not support consume semantics and thus acquire does not
+involve extra overhead and (2) using consume semantics provides a more complex interface to 
+clients that may require them to explicitly declare dependences throughout the code.
+
+
diff --git a/correctness-model/writeup/figures/CVS/Entries b/correctness-model/writeup/figures/CVS/Entries
new file mode 100644
index 0000000..998018a
--- /dev/null
+++ b/correctness-model/writeup/figures/CVS/Entries
@@ -0,0 +1,42 @@
+/fence_sw.dot/1.1/Wed Jan 14 22:53:32 2015//
+/fence_sw2.dot/1.1/Wed Jan 14 22:53:32 2015//
+/fence_sw_r_collapse.dot/1.1/Wed Jan 14 22:53:32 2015//
+/fence_sw_r_collapse2.dot/1.1/Wed Jan 14 22:53:32 2015//
+/fence_sw_w_collapse.dot/1.1/Wed Jan 14 22:53:32 2015//
+/fence_sw_w_collapse2.dot/1.1/Wed Jan 14 22:53:32 2015//
+/ff_sc_rf.dot/1.1/Wed Jan 14 22:53:32 2015//
+/ff_sc_rf2.dot/1.1/Wed Jan 14 22:53:32 2015//
+/fw_sc_rf.dot/1.1/Wed Jan 14 22:53:32 2015//
+/fw_sc_rf2.dot/1.1/Wed Jan 14 22:53:32 2015//
+/lockhistory.pdf/1.1/Wed Jan 14 22:53:32 2015/-kb/
+/release_seq.pdf/1.1/Wed Jan 14 22:53:32 2015/-kb/
+/rmw_atomicity.dot/1.1/Wed Jan 14 22:53:32 2015//
+/rmw_atomicity2.dot/1.1/Wed Jan 14 22:53:32 2015//
+/rmw_mo.dot/1.1/Wed Jan 14 22:53:32 2015//
+/rmw_mo2.dot/1.1/Wed Jan 14 22:53:32 2015//
+/rr_mo.dot/1.1/Wed Jan 14 22:53:32 2015//
+/rr_mo2.dot/1.1/Wed Jan 14 22:53:32 2015//
+/rw_mo.dot/1.1/Wed Jan 14 22:53:32 2015//
+/rw_mo2.dot/1.1/Wed Jan 14 22:53:33 2015//
+/sc_mo.dot/1.1/Wed Jan 14 22:53:33 2015//
+/sc_mo2.dot/1.1/Wed Jan 14 22:53:33 2015//
+/sc_wr_mo.dot/1.1/Wed Jan 14 22:53:33 2015//
+/sc_wr_mo2.dot/1.1/Wed Jan 14 22:53:33 2015//
+/specdesign.pdf/1.1/Wed Jan 14 22:53:33 2015/-kb/
+/specworkflow.pdf/1.1/Wed Jan 14 22:53:33 2015/-kb/
+/wf_sc_rf.dot/1.1/Wed Jan 14 22:53:33 2015//
+/wf_sc_rf2.dot/1.1/Wed Jan 14 22:53:33 2015//
+/workflow.pdf/1.1/Wed Jan 14 22:53:33 2015/-kb/
+/wr_mo.dot/1.1/Wed Jan 14 22:53:33 2015//
+/wr_mo2.dot/1.1/Wed Jan 14 22:53:33 2015//
+/ww_mo.dot/1.1/Wed Jan 14 22:53:33 2015//
+/ww_mo2.dot/1.1/Wed Jan 14 22:53:33 2015//
+/ww_sc_fence_first_collapse.dot/1.1/Wed Jan 14 22:53:33 2015//
+/ww_sc_fence_first_collapse2.dot/1.1/Wed Jan 14 22:53:33 2015//
+/ww_sc_fence_mo.dot/1.1/Wed Jan 14 22:53:33 2015//
+/ww_sc_fence_mo2.dot/1.1/Wed Jan 14 22:53:33 2015//
+/ww_sc_fence_second_collapse.dot/1.1/Wed Jan 14 22:53:33 2015//
+/ww_sc_fence_second_collapse2.dot/1.1/Wed Jan 14 22:53:33 2015//
+/rcuhistory.odg/1.2/Wed Jan 21 22:50:28 2015//
+/rcuhistory.pdf/1.4/Wed Jan 21 22:50:15 2015/-kb/
+D
diff --git a/correctness-model/writeup/figures/CVS/Repository b/correctness-model/writeup/figures/CVS/Repository
new file mode 100644
index 0000000..aadc881
--- /dev/null
+++ b/correctness-model/writeup/figures/CVS/Repository
@@ -0,0 +1 @@
+Papers/15/issta.cdsspec/figures
diff --git a/correctness-model/writeup/figures/CVS/Root b/correctness-model/writeup/figures/CVS/Root
new file mode 100644
index 0000000..cd8b2f1
--- /dev/null
+++ b/correctness-model/writeup/figures/CVS/Root
@@ -0,0 +1 @@
+:ext:peizhaoo@plrg.eecs.uci.edu:/home/cvs/Papers
diff --git a/correctness-model/writeup/figures/fence_sw.dot b/correctness-model/writeup/figures/fence_sw.dot
new file mode 100644
index 0000000..1d4bbd4
--- /dev/null
+++ b/correctness-model/writeup/figures/fence_sw.dot
@@ -0,0 +1,20 @@
+digraph fence_sw {
+margin=0
+ranksep=.3;
+
+N1 [label="A: fence(release)", shape=none];
+N2 [label="X: v.store(1)", shape=none];
+N3 [label="Y: v.store(2)", shape=none];
+N4 [label="Z: v.load()", shape=none];
+N5 [label="B: fence(acquire)", shape=none];
+N6 [style=invis, shape=point];
+
+//N1 -> N5 [label="sw", color=blue, penwidth=3, constraint=false];
+N2 -> N3 [label="hrs", color="#555555"];
+N3 -> N4 [label="rf", color=red];
+N1 -> N2 [label="sb", color=blue, weight=100];
+N4 -> N5 [label="sb", color=blue, weight=100];
+N2 -> N6 [style=invis];
+N6 -> N3 [style=invis];
+{rank=same; N3 N4 N6}
+}
diff --git a/correctness-model/writeup/figures/fence_sw2.dot b/correctness-model/writeup/figures/fence_sw2.dot
new file mode 100644
index 0000000..ed4ec19
--- /dev/null
+++ b/correctness-model/writeup/figures/fence_sw2.dot
@@ -0,0 +1,14 @@
+digraph fence_sw2 {
+margin=0
+//ranksep=.3;
+
+N1 [label="A: fence(release)", shape=none];
+N2 [style=invis, shape=point];
+N3 [style=invis, shape=point];
+N4 [label="B: fence(acquire)", shape=none];
+
+N1 -> N4 [label="sw", color=blue, penwidth=3, constraint=false];
+N1 -> N2 [color=invis, weight=100];
+N3 -> N4 [color=invis, weight=100];
+{rank=same; N2 N3}
+}
diff --git a/correctness-model/writeup/figures/fence_sw_r_collapse.dot b/correctness-model/writeup/figures/fence_sw_r_collapse.dot
new file mode 100644
index 0000000..ee169e1
--- /dev/null
+++ b/correctness-model/writeup/figures/fence_sw_r_collapse.dot
@@ -0,0 +1,18 @@
+digraph fence_sw_r_collpase {
+margin=0
+ranksep=.3;
+
+N1 [label="A: fence(release)", shape=none];
+N2 [label="X: v.store(1)", shape=none];
+N3 [label="Y: v.store(2)", shape=none];
+N5 [label="B: load(acquire)", shape=none];
+N6 [style=invis, shape=point];
+
+//N1 -> N5 [label="sw", color=blue, penwidth=3, constraint=false];
+N2 -> N3 [label="hrs", color="#555555"];
+N3 -> N5 [label="rf", color=red];
+N1 -> N2 [label="sb", color=blue, weight=100];
+N2 -> N6 [style=invis];
+N6 -> N3 [style=invis];
+{rank=same; N3 N5 N6}
+}
diff --git a/correctness-model/writeup/figures/fence_sw_r_collapse2.dot b/correctness-model/writeup/figures/fence_sw_r_collapse2.dot
new file mode 100644
index 0000000..6cc0981
--- /dev/null
+++ b/correctness-model/writeup/figures/fence_sw_r_collapse2.dot
@@ -0,0 +1,14 @@
+digraph fence_sw_r_collpase2 {
+margin=0
+//ranksep=.3;
+
+N1 [label="A: fence(release)", shape=none];
+N2 [style=invis, shape=point];
+N3 [style=invis, shape=point];
+N4 [label="B: load(acquire)", shape=none];
+
+N1 -> N4 [label="sw", color=blue, penwidth=3, constraint=false];
+N1 -> N2 [color=invis, weight=100];
+N3 -> N4 [color=invis, weight=100];
+{rank=same; N2 N3}
+}
diff --git a/correctness-model/writeup/figures/fence_sw_w_collapse.dot b/correctness-model/writeup/figures/fence_sw_w_collapse.dot
new file mode 100644
index 0000000..3c0a864
--- /dev/null
+++ b/correctness-model/writeup/figures/fence_sw_w_collapse.dot
@@ -0,0 +1,18 @@
+digraph fence_sw_w_collapse {
+margin=0
+ranksep=.3;
+
+N1 [label="A: store(release)", shape=none];
+N3 [label="Y: v.store(2)", shape=none];
+N4 [label="Z: v.load()", shape=none];
+N5 [label="B: fence(acquire)", shape=none];
+N6 [style=invis, shape=point];
+
+//N1 -> N5 [label="sw", color=blue, penwidth=3, constraint=false];
+N1 -> N3 [label="rs", color="#555555"];
+N3 -> N4 [label="rf", color=red];
+N4 -> N5 [label="sb", color=blue, weight=100];
+N1 -> N6 [style=invis];
+N6 -> N3 [style=invis];
+{rank=same; N3 N4 N6}
+}
diff --git a/correctness-model/writeup/figures/fence_sw_w_collapse2.dot b/correctness-model/writeup/figures/fence_sw_w_collapse2.dot
new file mode 100644
index 0000000..f1325f5
--- /dev/null
+++ b/correctness-model/writeup/figures/fence_sw_w_collapse2.dot
@@ -0,0 +1,14 @@
+digraph fence_sw_w_collapse2 {
+margin=0
+//ranksep=.3;
+
+N1 [label="A: store(release)", shape=none];
+N2 [style=invis, shape=point];
+N3 [style=invis, shape=point];
+N4 [label="B: fence(acquire)", shape=none];
+
+N1 -> N4 [label="sw", color=blue, penwidth=3, constraint=false];
+N1 -> N2 [color=invis, weight=100];
+N3 -> N4 [color=invis, weight=100];
+{rank=same; N2 N3}
+}
diff --git a/correctness-model/writeup/figures/ff_sc_rf.dot b/correctness-model/writeup/figures/ff_sc_rf.dot
new file mode 100644
index 0000000..981e3fe
--- /dev/null
+++ b/correctness-model/writeup/figures/ff_sc_rf.dot
@@ -0,0 +1,18 @@
+digraph ff_sc_rf {
+margin=0
+ranksep=.3;
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="X: fence(seq-cst)", shape=none];
+N3 [label="Y: fence(seq-cst)", shape=none];
+N4 [label="B: v.store(2)", shape=none];
+N5 [label="C: v.load()", shape=none];
+
+//N1 -> N4 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+N2 -> N3 [label="sc", color=purple];
+N1 -> N2 [label="sb", color=blue, weight=100];
+N3 -> N5 [label="sb", color=blue, weight=100];
+N4 -> N5 [label="rf", color=red];
+N2 -> N4 [style=invis];
+{rank=same; N4 N5}
+}
diff --git a/correctness-model/writeup/figures/ff_sc_rf2.dot b/correctness-model/writeup/figures/ff_sc_rf2.dot
new file mode 100644
index 0000000..40f84ce
--- /dev/null
+++ b/correctness-model/writeup/figures/ff_sc_rf2.dot
@@ -0,0 +1,18 @@
+digraph ff_sc_rf2 {
+margin=0
+//ranksep=.3;
+
+N1 [label="A: v.store(1)", shape=none];
+//N2 [label="X: fence(seq-cst)", shape=none];
+//N3 [label="Y: fence(seq-cst)", shape=none];
+N4 [label="B: v.store(2)", shape=none];
+//N5 [label="C: v.load()", shape=none];
+
+N1 -> N4 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+//N2 -> N3 [label="sc", color=purple];
+//N1 -> N2 [label="sb", color=blue, weight=100];
+//N3 -> N5 [label="sb", color=blue, weight=100];
+//N4 -> N5 [label="rf", color=red, constraint=false];
+//N2 -> N4 [style=invis];
+//{rank=same; N2 N3}
+}
diff --git a/correctness-model/writeup/figures/fw_sc_rf.dot b/correctness-model/writeup/figures/fw_sc_rf.dot
new file mode 100644
index 0000000..68ead64
--- /dev/null
+++ b/correctness-model/writeup/figures/fw_sc_rf.dot
@@ -0,0 +1,16 @@
+digraph fw_sc_rf {
+margin=0
+ranksep=.3;
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="X: fence(seq-cst)", shape=none];
+N3 [label="B: v.store(2)", shape=none];
+N4 [label="Y: v.load(seq-cst)", shape=none];
+
+//N1 -> N3 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+N1 -> N2 [label="sb", color=blue];
+N2 -> N4 [label="sc", color=purple];
+N2 -> N3 [style=invis];
+N3 -> N4 [label="rf", color=red];
+{rank=same; N3 N4}
+}
diff --git a/correctness-model/writeup/figures/fw_sc_rf2.dot b/correctness-model/writeup/figures/fw_sc_rf2.dot
new file mode 100644
index 0000000..6f947b1
--- /dev/null
+++ b/correctness-model/writeup/figures/fw_sc_rf2.dot
@@ -0,0 +1,16 @@
+digraph fw_sc_rf2 {
+margin=0
+//ranksep=.3;
+
+N1 [label="A: v.store(1)", shape=none];
+//N2 [style=invis, shape=dot];
+N3 [label="B: v.store(2)", shape=none];
+//N4 [style=invis, shape=dot];
+
+N1 -> N3 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+//N1 -> N2 [label="sb", color=blue];
+//N2 -> N4 [label="sc", color=purple];
+//N2 -> N3 [style=invis];
+//N3 -> N4 [label="rf", color=red];
+//{rank=same; N3 N4}
+}
diff --git a/correctness-model/writeup/figures/lockhistory.pdf b/correctness-model/writeup/figures/lockhistory.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..3563feaf3937b7420cf9b49b3955379e2e28180a
GIT binary patch
literal 19791
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

literal 0
HcmV?d00001

diff --git a/correctness-model/writeup/figures/rcuhistory.odg b/correctness-model/writeup/figures/rcuhistory.odg
new file mode 100644
index 0000000000000000000000000000000000000000..4575354780e4e58140745ede8c003188c07d2a7d
GIT binary patch
literal 14994
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%0DDI9DIj@-_w?eTBEQ9l~hL
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
ZaaC3V;+YH&03bjASf2Z;Fw4u;{{x`cCE)-7

literal 0
HcmV?d00001

diff --git a/correctness-model/writeup/figures/rcuhistory.pdf b/correctness-model/writeup/figures/rcuhistory.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..07df89cb02131a3ca510d58270d9eb1266f17fac
GIT binary patch
literal 20096
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

literal 0
HcmV?d00001

diff --git a/correctness-model/writeup/figures/release_seq.pdf b/correctness-model/writeup/figures/release_seq.pdf
new file mode 100644
index 0000000..5a264d5
--- /dev/null
+++ b/correctness-model/writeup/figures/release_seq.pdf
@@ -0,0 +1,344 @@
+%PDF-1.5
%âãÏÓ
+1 0 obj
<</Metadata 2 0 R/OCProperties<</D<</ON[6 0 R]/Order 7 0 R/RBGroups[]>>/OCGs[6 0 R]>>/Pages 3 0 R/Type/Catalog>>
endobj
2 0 obj
<</Length 21486/Subtype/XML/Type/Metadata>>stream
+<?xpacket begin="" id="W5M0MpCehiHzreSzNTczkc9d"?>
+<x:xmpmeta xmlns:x="adobe:ns:meta/" x:xmptk="Adobe XMP Core 4.2.2-c063 53.352624, 2008/07/30-18:05:41        ">
+   <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#">
+      <rdf:Description rdf:about=""
+            xmlns:xmp="http://ns.adobe.com/xap/1.0/"
+            xmlns:xmpGImg="http://ns.adobe.com/xap/1.0/g/img/">
+         <xmp:CreatorTool>Adobe Illustrator CS4</xmp:CreatorTool>
+         <xmp:CreateDate>2012-11-08T19:47:19-08:00</xmp:CreateDate>
+         <xmp:MetadataDate>2012-11-08T19:47:19-08:00</xmp:MetadataDate>
+         <xmp:ModifyDate>2012-11-08T19:47:19-08:00</xmp:ModifyDate>
+         <xmp:Thumbnails>
+            <rdf:Alt>
+               <rdf:li rdf:parseType="Resource">
+                  <xmpGImg:width>256</xmpGImg:width>
+                  <xmpGImg:height>120</xmpGImg:height>
+                  <xmpGImg:format>JPEG</xmpGImg:format>
+                  <xmpGImg:image>/9j/4AAQSkZJRgABAgEASABIAAD/7QAsUGhvdG9zaG9wIDMuMAA4QklNA+0AAAAAABAASAAAAAEA&#xA;AQBIAAAAAQAB/+4ADkFkb2JlAGTAAAAAAf/bAIQABgQEBAUEBgUFBgkGBQYJCwgGBggLDAoKCwoK&#xA;DBAMDAwMDAwQDA4PEA8ODBMTFBQTExwbGxscHx8fHx8fHx8fHwEHBwcNDA0YEBAYGhURFRofHx8f&#xA;Hx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8f/8AAEQgAeAEAAwER&#xA;AAIRAQMRAf/EAaIAAAAHAQEBAQEAAAAAAAAAAAQFAwIGAQAHCAkKCwEAAgIDAQEBAQEAAAAAAAAA&#xA;AQACAwQFBgcICQoLEAACAQMDAgQCBgcDBAIGAnMBAgMRBAAFIRIxQVEGE2EicYEUMpGhBxWxQiPB&#xA;UtHhMxZi8CRygvElQzRTkqKyY3PCNUQnk6OzNhdUZHTD0uIIJoMJChgZhJRFRqS0VtNVKBry4/PE&#xA;1OT0ZXWFlaW1xdXl9WZ2hpamtsbW5vY3R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo+Ck5SVlpeYmZ&#xA;qbnJ2en5KjpKWmp6ipqqusra6voRAAICAQIDBQUEBQYECAMDbQEAAhEDBCESMUEFURNhIgZxgZEy&#xA;obHwFMHR4SNCFVJicvEzJDRDghaSUyWiY7LCB3PSNeJEgxdUkwgJChgZJjZFGidkdFU38qOzwygp&#xA;0+PzhJSktMTU5PRldYWVpbXF1eX1RlZmdoaWprbG1ub2R1dnd4eXp7fH1+f3OEhYaHiImKi4yNjo&#xA;+DlJWWl5iZmpucnZ6fkqOkpaanqKmqq6ytrq+v/aAAwDAQACEQMRAD8A9LXvmXQ7HXdN0G6u1i1b&#xA;WEnk021IYmVbVVeajAFRxVwaMRXelaHFVlz5v8p2qSPc63YQJC4ilaS6hQJI0ssARizCjGa2ljof&#xA;2kZeqmiqAs/zM/Lu8svrtv5m0trURpM8hvIE4RyOI0aQMyslXYL8QHxGnXFVSL8wvJc+oWGn2urQ&#xA;3dxqbBLJrXlcROxSWQL60IeJSUtpD8TD7OKrta/MDyPoi3/6V16xtZNMUPf27zxmeLlE06KYFJl5&#xA;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&#xA;FjtYUjUiqBT8Rrsq/wD/2Q==</xmpGImg:image>
+               </rdf:li>
+            </rdf:Alt>
+         </xmp:Thumbnails>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:pdf="http://ns.adobe.com/pdf/1.3/">
+         <pdf:Producer>Adobe PDF library 9.00</pdf:Producer>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:dc="http://purl.org/dc/elements/1.1/">
+         <dc:format>application/pdf</dc:format>
+         <dc:title>
+            <rdf:Alt>
+               <rdf:li xml:lang="x-default">release_seq_final</rdf:li>
+            </rdf:Alt>
+         </dc:title>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xmpTPg="http://ns.adobe.com/xap/1.0/t/pg/"
+            xmlns:stDim="http://ns.adobe.com/xap/1.0/sType/Dimensions#"
+            xmlns:stFnt="http://ns.adobe.com/xap/1.0/sType/Font#"
+            xmlns:xmpG="http://ns.adobe.com/xap/1.0/g/">
+         <xmpTPg:NPages>1</xmpTPg:NPages>
+         <xmpTPg:HasVisibleTransparency>False</xmpTPg:HasVisibleTransparency>
+         <xmpTPg:HasVisibleOverprint>False</xmpTPg:HasVisibleOverprint>
+         <xmpTPg:MaxPageSize rdf:parseType="Resource">
+            <stDim:w>558.000000</stDim:w>
+            <stDim:h>261.000000</stDim:h>
+            <stDim:unit>Points</stDim:unit>
+         </xmpTPg:MaxPageSize>
+         <xmpTPg:Fonts>
+            <rdf:Bag>
+               <rdf:li rdf:parseType="Resource">
+                  <stFnt:fontName>TeXGyreHeros</stFnt:fontName>
+                  <stFnt:fontFamily>TeXGyreHeros</stFnt:fontFamily>
+                  <stFnt:fontType>Unknown</stFnt:fontType>
+                  <stFnt:versionString>Version 2.037;PS 2.000;hotconv 1.0.51;makeotf.lib2.0.18671</stFnt:versionString>
+                  <stFnt:composite>False</stFnt:composite>
+                  <stFnt:fontFileName>MyriadPro-Regular.otf</stFnt:fontFileName>
+               </rdf:li>
+            </rdf:Bag>
+         </xmpTPg:Fonts>
+         <xmpTPg:PlateNames>
+            <rdf:Seq>
+               <rdf:li>Cyan</rdf:li>
+               <rdf:li>Magenta</rdf:li>
+               <rdf:li>Yellow</rdf:li>
+               <rdf:li>Black</rdf:li>
+            </rdf:Seq>
+         </xmpTPg:PlateNames>
+         <xmpTPg:SwatchGroups>
+            <rdf:Seq>
+               <rdf:li rdf:parseType="Resource">
+                  <xmpG:groupName>Default Swatch Group</xmpG:groupName>
+                  <xmpG:groupType>0</xmpG:groupType>
+               </rdf:li>
+            </rdf:Seq>
+         </xmpTPg:SwatchGroups>
+      </rdf:Description>
+      <rdf:Description rdf:about=""
+            xmlns:xmpMM="http://ns.adobe.com/xap/1.0/mm/"
+            xmlns:stRef="http://ns.adobe.com/xap/1.0/sType/ResourceRef#"
+            xmlns:stEvt="http://ns.adobe.com/xap/1.0/sType/ResourceEvent#">
+         <xmpMM:DocumentID>xmp.did:01801174072068118F62BC2FBF2D0DDE</xmpMM:DocumentID>
+         <xmpMM:InstanceID>uuid:b6550317-f02c-e943-99b1-a50cb06f5ab2</xmpMM:InstanceID>
+         <xmpMM:OriginalDocumentID>xmp.did:F77F11740720681184ABF8CADCB1BF49</xmpMM:OriginalDocumentID>
+         <xmpMM:RenditionClass>proof:pdf</xmpMM:RenditionClass>
+         <xmpMM:DerivedFrom rdf:parseType="Resource">
+            <stRef:instanceID>uuid:ba4dbd99-36b2-2d4a-a0d2-e8c58b81b3c8</stRef:instanceID>
+            <stRef:documentID>xmp.did:01801174072068118F62D9F7CDB3ECB2</stRef:documentID>
+            <stRef:originalDocumentID>xmp.did:F77F11740720681184ABF8CADCB1BF49</stRef:originalDocumentID>
+            <stRef:renditionClass>proof:pdf</stRef:renditionClass>
+         </xmpMM:DerivedFrom>
+         <xmpMM:History>
+            <rdf:Seq>
+               <rdf:li rdf:parseType="Resource">
+                  <stEvt:action>saved</stEvt:action>
+                  <stEvt:instanceID>xmp.iid:F77F11740720681184ABF8CADCB1BF49</stEvt:instanceID>
+                  <stEvt:when>2012-11-08T17:43:18-08:00</stEvt:when>
+                  <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+                  <stEvt:changed>/</stEvt:changed>
+               </rdf:li>
+               <rdf:li rdf:parseType="Resource">
+                  <stEvt:action>saved</stEvt:action>
+                  <stEvt:instanceID>xmp.iid:F87F11740720681184ABF8CADCB1BF49</stEvt:instanceID>
+                  <stEvt:when>2012-11-08T18:19:13-08:00</stEvt:when>
+                  <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+                  <stEvt:changed>/</stEvt:changed>
+               </rdf:li>
+               <rdf:li rdf:parseType="Resource">
+                  <stEvt:action>saved</stEvt:action>
+                  <stEvt:instanceID>xmp.iid:01801174072068118F62D9F7CDB3ECB2</stEvt:instanceID>
+                  <stEvt:when>2012-11-08T18:34:52-08:00</stEvt:when>
+                  <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+                  <stEvt:changed>/</stEvt:changed>
+               </rdf:li>
+               <rdf:li rdf:parseType="Resource">
+                  <stEvt:action>saved</stEvt:action>
+                  <stEvt:instanceID>xmp.iid:01801174072068118F62BC2FBF2D0DDE</stEvt:instanceID>
+                  <stEvt:when>2012-11-08T19:47:17-08:00</stEvt:when>
+                  <stEvt:softwareAgent>Adobe Illustrator CS4</stEvt:softwareAgent>
+                  <stEvt:changed>/</stEvt:changed>
+               </rdf:li>
+            </rdf:Seq>
+         </xmpMM:History>
+      </rdf:Description>
+   </rdf:RDF>
+</x:xmpmeta>
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                                                                                                    
+                           
+<?xpacket end="w"?>
endstream
endobj
3 0 obj
<</Count 1/Kids[8 0 R]/Type/Pages>>
endobj
8 0 obj
<</ArtBox[0.0 0.0 558.0 261.0]/BleedBox[0.0 0.0 558.0 261.0]/Contents 9 0 R/LastModified(D:20121108194719-08'00')/MediaBox[0.0 0.0 558.0 261.0]/Parent 3 0 R/PieceInfo<</Illustrator 10 0 R>>/Resources<</ExtGState<</GS0 11 0 R>>/Font<</T1_0 5 0 R>>/ProcSet[/PDF/Text]/Properties<</MC0 6 0 R>>>>/Thumb 12 0 R/TrimBox[0.0 0.0 558.0 261.0]/Type/Page>>
endobj
9 0 obj
<</Filter/FlateDecode/Length 1241>>stream
+H‰ÌWÛnG}߯˜G莇œ{ßjÇPÀ(Ò胮Ç-ìNÚ¦Ÿßùh¥UKN
++‹æpx;‡ÜãŸNÕñù©Q'/NÕ@J>Þ
Ç/_õîã`”QÞ'Åâ·Ãíð‘üáØ¤¿¨?£½a…'ɃYýür`õI9u®.ˆßu£†G‹¤œÍšBðŠ’×^]?”›t̰Œoç¼Â?­µjÌ^3iòAdc‘_£×)fH¢ÓތD8IQtX§„³äY›VFpˆ’ÑQ§““@ØhŠP†]+Ñk\¢¬…;±á
V1è`Þ:9í3— ®‡»áõð
+Ÿ“e‰Æ”D.éR^Þä´1¦*÷¿ƒb‰%'§–Ã⇣å’Ê”¡³¼ßW!'U ª€‹üS.¸&ÐýHl‚U`c7úW05Áûv-wM骂·í–Ô¯ýuщ]BM%Û*¸X|w”áï›å"64·íç¶»Æ}3Ýݹ€
+›ÅU3•ÝÙÊT÷òHÙé'-TÚÊpœgØ~ƒó᦭wGx–a$ø©îxºód#Í-Ü®ño¸6nZtÎmäýl¹›.
+€#&J Ê�%ð':ðQû Y¾/ЪŠ@ÕÚ©È:dxŽ׉„0
+Á=~_w ¯WÏ9hÊõkØ~Òd“Œ@œÓÁ5`ouÈoO'¨™'Iƒ'w™Ëe#nOÆ+'ì˜ÁsN!>J0
+¢òÂz-ÍêfhL¡tVí¶k=ÀӒ_yoJå^¹¤c@TlPɘ©$ã¡&#ùÞ¶BÁ…{q½'ò³ÞŠÏ ÃŽ‘9X/ÐñD¸Ê(¤ÙöÆ]ur?>¡°«\Ío¸n‚þû±Ûè>ýݶ~ï˜ëaìÁÏBT¨EM¨Üªª±yLAt	±Ã¤C×0چbR–}U`ò(Dš:g=çH4e†£Ó0×0¤¨­V)@
+:ã²CZ‡Ô…pnÀ¨'f0~Ôlž¶|{xÛ¸Þ%úˆÌâ¶O¯í	ÓOnQý¬.w2¼.§	F0·jƛ#ÊxT¹É[]כj>]¿Šûw
Ú/pÿÖ°Þâ~{@§~ŽÚØYM›Xܰm¹©v.¸8‚ײWÁ¢þ`<·TÌøŸS#–¼(¼¸7M[0RÊ9+&Ò!Áâ5õÑþþ‰`ª÷³@P	¸k­£˜F$aqºßÛ[ö6ž2ODºUáÛºîÄÂÔ¯âáEU®×ýÐh½
+G’ÝÕ]»‘Ñ5î:1öîºlqµù]màäy×­6Ž'#û( ÝR›÷_ÅþW8±Vöò	‡|L(<¤î¡¬®è´€Mjd#öü„•Òdê2yp@.‰=Y‘ý`ët.¤Ž7-Ì'˒ÃÛÕ!Ôî¼Àå5.„ð̀g¹Ì4þLr¢¬È
 Ž(öǝ•%®¼§bÈùìâ&îzµowÖað‹
�æ¥á'_¶RHou
+Í×zj³LY
+„иV&Ìn–°n°cÒ²æRºƒ*ÔG»óHd
+_õ¦ÓRzô–¬ÆëÃ~¯ÕÙ$1‚
†\8,ø-/KX„²pëÁ]v~ªðõŸ��Òj‰

endstream
endobj
12 0 obj
<</BitsPerComponent 8/ColorSpace 13 0 R/Filter[/ASCII85Decode/FlateDecode]/Height 32/Length 408/Width 69>>stream
+8;X^=acXLq#Xrl5!h:6uI-P+\M-NSacjlKJm&EpL/R(-:5Mo"@rf<An]:cN7T$7`m
+]J31*UWWZ)Jtsp<=QD$J+9\ju?_\u\\6qHPpk^F#M:uB+=GP=FWq^l4FEWJY:fF5u
+EjNp/4gpSCN#qR=#6]s@WY@-j5(Da;.VXlu!6g8ZN2>I.==)2c"%X:Ua-9Wt7C;u[
+:bOoR%n$'j&P3-EB-'m6Q?j0^Ak"Gfd%mUtM,X&9FB!22>F!O5]<*CYKrfdBFp\@$
+GZ%N63\rfIN*Se]%P1]:F^\4GQ;OqUCXmM<Q?"(.B_6k@GGg+LmKmkN<NYuH37BB)
+\-"./dDf-XE:l.,m6L>'Wha.32p33moLj_\WI#0,K3QG[k2^I0q^H'>7amk"$WP12
+]<;58LL#1)~>
endstream
endobj
13 0 obj
[/Indexed/DeviceRGB 255 14 0 R]
endobj
14 0 obj
<</Filter[/ASCII85Decode/FlateDecode]/Length 428>>stream
+8;X]O>EqN@%''O_@%e@?J;%+8(9e>X=MR6S?i^YgA3=].HDXF.R$lIL@"pJ+EP(%0
+b]6ajmNZn*!='OQZeQ^Y*,=]?C.B+\Ulg9dhD*"iC[;*=3`oP1[!S^)?1)IZ4dup`
+E1r!/,*0[*9.aFIR2&b-C#s<Xl5FH@[<=!#6V)uDBXnIr.F>oRZ7Dl%MLY\.?d>Mn
+6%Q2oYfNRF$$+ON<+]RUJmC0I<jlL.oXisZ;SYU[/7#<&37rclQKqeJe#,UF7Rgb1
+VNWFKf>nDZ4OTs0S!saG>GGKUlQ*Q?45:CI&4J'_2j<etJICj7e7nPMb=O6S7UOH<
+PO7r\I.Hu&e0d&E<.')fERr/l+*W,)q^D*ai5<uuLX.7g/>$XKrcYp0n+Xl_nU*O(
+l[$6Nn+Z_Nq0]s7hs]`XX1nZ8&94a\~>
endstream
endobj
6 0 obj
<</Intent 15 0 R/Name(Layer 1)/Type/OCG/Usage 16 0 R>>
endobj
15 0 obj
[/View/Design]
endobj
16 0 obj
<</CreatorInfo<</Creator(Adobe Illustrator 14.0)/Subtype/Artwork>>>>
endobj
5 0 obj
<</BaseFont/AEWVGO+TeXGyreHeros/Encoding/WinAnsiEncoding/FirstChar 32/FontDescriptor 17 0 R/LastChar 120/Subtype/Type1/Type/Font/Widths[212 0 0 0 0 0 0 0 284 284 0 0 207 0 207 0 0 513 513 0 0 0 0 0 0 0 207 0 0 0 0 0 0 612 542 580 666 492 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 500 0 482 569 448 564 501 292 0 555 234 0 0 236 834 0 549 0 563 327 396 331 551 481 736 463]>>
endobj
17 0 obj
<</Ascent 952/CapHeight 674/CharSet(/space/parenleft/parenright/comma/period/one/two/colon/A/B/C/D/E/underscore/a/b/c/d/e/f/h/i/l/m/o/q/r/s/t/u/v/w/x)/Descent -250/Flags 32/FontBBox[-157 -250 1126 952]/FontFamily(Myriad Pro)/FontFile3 18 0 R/FontName/AEWVGO+TeXGyreHeros/FontStretch/Normal/FontWeight 400/ItalicAngle 0/StemV 88/Type/FontDescriptor/XHeight 484>>
endobj
18 0 obj
<</Filter/FlateDecode/Length 2674/Subtype/Type1C>>stream
+H‰|T	Li®¢»ªaÔV(‹u»fªj=@Q
:è‚ˆ‚$ŒÝÒÜØÝ€JëDéæÒu‚àȀ8Š‚0\‚ 2^Èpj{Ž'‡ºÊxìh^áÏl¶šÄd“M6ùóþÿ½ÿßûò½W…cRÇñÉ˼6¬÷öŸ¤Úè½C£òQi´æ8'0¸0E*|9žFóQΧOŸüx9Q˜dÝöå/m01û7>Äš¨HµŽŸ¿h‘³£ÙºŒY7GÞyÞ¼ycօ_¦LWñ;´:Uœ–_‘ ILЄéTJ'~Yl,?¡å5*­J“lhtªñžßÁ;Šñu¼øæ[WGWwg'~µX9LÉGiyU”N­Òða"@d”XC#æé4aJU\˜&†O0ßü—»õÿÐá£ây‹Ž2{:1¨åÃâ•sE”„±*	Iñ:M”Jë4wE`ЎDïÎ+U[1Qìpl†MÄ0c0lªóİå¶ÇVãX�†­“aSÍ⭝ï±zìö§ñüïø#‹µ?X|”|%q’KÇKWK›‰IÄZ"¸A<$ƒÈ<™Dæ-+’õ[αŒ´¼i5ݐÙ"·à¢Þ"ɔ
+†‘€Q	9è*–Â?ƑˆG—h0;£‡e£äwcgXŠDŸZió	™=9j£4aä2þëm	lñ¥ýÜ|6Z¢
=hr‡;ÛCz½

+V(À·hÓös
+̸-@èŽ'Ý096ZÂFo ý±ÞäMû6D!ò	B´×LV>;/gÉ}dEÿÔÔ�’Ò§{§è—'òIþ–r=Øà­0Nzºªôä¹*m™Z­IŒŒ,M¬àä¹ÅÉBç£ÌÐ?¥ª@oût„õ$©^4õë" ډlRž›iŽ˜p$Â[jȖ]¼@ÀW0¥Æ+^¼Fü2ßø­›ÙŸV'N7Ÿ¾Æ—¯YéðµZŒœ¹>D°L¤a
ÛÁ¿_H@¯èª’“•Uº²È(Ͷ­j3ôQú?19àÅɠ{"ÇB;uOð�5}©	±;GÓÄíυÄÙjâXÝêeAmn]îϖÙd®27âèæn´~Šüçý=PÐ	ºn›»ý ôyA}¸›M§ŸjL¿Î€ÅÝãõ\噒óWo=/­:ÊæÈ(¡ïDÕ.Å¥¤u[xԅñ_³ŸŠë_Kç”äÔ0×b–ø‡Ìã<H_é-’úðêržƒ{ôüXmVÎN~O[h4ť؜{Aõ
+eÏéê`}0ƒÜ?Àbðúðœ/7¥í:ÃQU?Þ$¨Þ#ºàcîR¡ih*R#
LEãaÝ£ÎÂÂrQ·ý}B}/~·_÷B"r?ÐpÑÐÁÀ_þ¨èø•»q£r,€«ï¯ù…mp>¬™~û÷­çúýèC%Ï3à7d‡dpÈ×~òŠÉÊIbåúL¤ß‚(~G찇0…F§M£øŸ…I&tÒ¡€”µøe‰§t“`h‘É“õÑɐÙ:m* ì)Õ,̇úuä;4sMÀNM{<€(©hÊodÞdå-W*öʐÖ´UÈJáÕ²â÷Þ֊ê“lI¥^C< œ5ÖÖ)6ÑTó÷{
{ÙðÝ᫘ͪ²«ÿ¼èµ‘“wéûTÉ’^ˆM±1õùAªÙÖ4•ºÅbŒfïTó¡âÌúU]Nìc�‹g°ìÜÞ¢	K£‚c9#\q!ûG—ÓÙGròØ®c—ë®1¯ZÜg!I°§Óª
uí»8CnF^žB¤¿)`}xõ D°Lë5Ñi›˜Ùßô‚ôíõÇ ¹p6M_Ìï&òµ¡ùä<áÈÍ|5ì:/å•pòvýMåg²Õƒpª_”Ç~$„FuFYuRH¥'ƒ¬ìk‡ìŸÏ«WkÛÊÆä8èFÜ'gÍõ
+á‘Ìeô ½;#͐ÆR;»‚#˜9!ÿØöÛó®¡Aù\Ž>+U¯õ½àÑS;ðê'÷T"„C2›•L1,Z€þæŠHd‡ìg‚ý¶¢‚rvW±;F©÷cœ=›aœ‘Ëê ÛW?bޔºepr)þ\»añMüQ¿–Ø
+®`Ս¬Êdw~è¼SVt`>{¤‡8¼sÛá&|óž˜h.B¹kµ·BçãÓ=ê*“·Šù‹L¢¸i�ô“í�œ'³òå³ME
5W˜Ç§|—p¨|�je°xZotì¾Ômlbj’n·ÆÒ—rô£ˆ²=å=à67�w ^‚«­°}Áèvõ®ačŽNÒÄÅkÏT—ž.O*‰/N	1W5—	Qà‰ˆ²øÖ^qržAœyQM¶Ï <š]xèÛPPÛÐÆtW-åPý3h•æ=˜ÏÖVW]dú*ƒæp¨ìTÉÀñÎ746-)žMIMIIM°4’W’7Õø2‹¿ÛšÈÄ!L@,%³#²#6*äú.Áª¯‚Æ!	”ûhôWÞ¹¢9ïgƒ-X‚õ}ðû9ïÇWÒÔN_„p?7Wÿß>>?ÿú_œü:òJÿ>ïÛûy’†{B÷$õ°%»>»†u'©aÃrÂH6j7Uy23•òEö/fqÿRuÓI.›„‰Ò=†é{Xÿ”õ:fVèãaÀ~¹÷¼«14¸À<F{Òrô­(ÓÜÇf™¨^s¿òþD»ý™Œš—͗·¹É—”‹‰”ÞŒƒ„Œ‚PUbJuˆ°‡ë>Ž^ŒZR €Íø
+ÌÀà÷à³¢w­¼}À÷ÎÇáÓ_µ8ªL¤o³¯§©¿¸®zž Ëœq`˜Z$KK=Q´\ãkËs¤uabmlL_]›pû@€Ôcvø4ÎèápèøÒ1@HÖûœ°R•`£pt ¬}´­¦‘‘œ‡Î‡~}‰sZz­Ç÷™÷Îû÷»€ÔbvøxwÑã÷|ã¸ørøx3û¼zˆ{†c{bbP<nÊç÷Ÿ3û¯û=æ`×῾²¡x<Ùˆ±Š·¾u‹ãHvøxw˜ø^p˜øx÷Lüxß÷Røx/-û£°{^}c€cˆ³~³{¸,÷£÷}‹ß÷Æé‹wùS°øx÷&üxÛÙ÷zМ¿š½—ō—R™[œUÕû{Û÷0øx4Fû‡{R~XƒZˆ€¼}¾yÅ@÷†A<û‹{W{W€Zˆ‚½~½~ÁJ÷Šc vøxw“øO›øx÷8ûû@û‹ìÑ÷ž¨›¥›¨œn›pžoÓûîû=÷Ž÷9÷~+H$zq{r{o‰{¦|£x¦Fó€–ù6—û^–÷/–¼–üt’øJ‘ûL‘üo–¸‘¨‘ `E‚™ÿ	Î
+ãã
÷cø‹�®Ý=_
endstream
endobj
11 0 obj
<</AIS false/BM/Normal/CA 1.0/OP false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>>
endobj
10 0 obj
<</LastModified(D:20121108194719-08'00')/Private 19 0 R>>
endobj
19 0 obj
<</AIMetaData 20 0 R/AIPDFPrivateData1 21 0 R/AIPDFPrivateData2 22 0 R/AIPDFPrivateData3 23 0 R/AIPDFPrivateData4 24 0 R/ContainerVersion 11/CreatorVersion 14/NumBlock 4/RoundtripVersion 14>>
endobj
20 0 obj
<</Length 927>>stream
+%!PS-Adobe-3.0 
%%Creator: Adobe Illustrator(R) 14.0
%%AI8_CreatorVersion: 14.0.0
%%For: (Brian Demsky) ()
%%Title: (release_seq_edit3.pdf)
%%CreationDate: 11/8/12 7:47 PM
%%Canvassize: 16383
%%BoundingBox: 6 14 564 275
%%HiResBoundingBox: 6 14 564 275
%%DocumentProcessColors: Cyan Magenta Yellow Black
%AI5_FileFormat 10.0
%AI12_BuildNumber: 367
%AI3_ColorUsage: Color
%AI7_ImageSettings: 0
%%RGBProcessColor: 0 0 0 ([Registration])
%AI3_Cropmarks: 6 14 564 275
%AI3_TemplateBox: 487 171 487 171
%AI3_TileBox: -3 -211.5 573 522.5
%AI3_DocumentPreview: None
%AI5_ArtSize: 14400 14400
%AI5_RulerUnits: 2
%AI9_ColorModel: 1
%AI5_ArtFlags: 0 0 0 1 0 0 1 0 0
%AI5_TargetResolution: 800
%AI5_NumLayers: 1
%AI9_OpenToView: -74 406.5 2 1835 980 18 0 0 43 129 0 0 0 1 1 0 1 1 0
%AI5_OpenViewLayers: 7
%%PageOrigin:181 -225
%AI7_GridSettings: 72 8 72 8 1 0 0.8 0.8 0.8 0.9 0.9 0.9
%AI9_Flatten: 1
%AI12_CMSettings: 00.MS
%%EndComments

endstream
endobj
21 0 obj
<</Length 5210>>stream
+%%BoundingBox: 6 14 564 275
%%HiResBoundingBox: 6 14 564 275
%AI7_Thumbnail: 128 60 8
%%BeginData: 5086 Hex Bytes
%0000330000660000990000CC0033000033330033660033990033CC0033FF
%0066000066330066660066990066CC0066FF009900009933009966009999
%0099CC0099FF00CC0000CC3300CC6600CC9900CCCC00CCFF00FF3300FF66
%00FF9900FFCC3300003300333300663300993300CC3300FF333300333333
%3333663333993333CC3333FF3366003366333366663366993366CC3366FF
%3399003399333399663399993399CC3399FF33CC0033CC3333CC6633CC99
%33CCCC33CCFF33FF0033FF3333FF6633FF9933FFCC33FFFF660000660033
%6600666600996600CC6600FF6633006633336633666633996633CC6633FF
%6666006666336666666666996666CC6666FF669900669933669966669999
%6699CC6699FF66CC0066CC3366CC6666CC9966CCCC66CCFF66FF0066FF33
%66FF6666FF9966FFCC66FFFF9900009900339900669900999900CC9900FF
%9933009933339933669933999933CC9933FF996600996633996666996699
%9966CC9966FF9999009999339999669999999999CC9999FF99CC0099CC33
%99CC6699CC9999CCCC99CCFF99FF0099FF3399FF6699FF9999FFCC99FFFF
%CC0000CC0033CC0066CC0099CC00CCCC00FFCC3300CC3333CC3366CC3399
%CC33CCCC33FFCC6600CC6633CC6666CC6699CC66CCCC66FFCC9900CC9933
%CC9966CC9999CC99CCCC99FFCCCC00CCCC33CCCC66CCCC99CCCCCCCCCCFF
%CCFF00CCFF33CCFF66CCFF99CCFFCCCCFFFFFF0033FF0066FF0099FF00CC
%FF3300FF3333FF3366FF3399FF33CCFF33FFFF6600FF6633FF6666FF6699
%FF66CCFF66FFFF9900FF9933FF9966FF9999FF99CCFF99FFFFCC00FFCC33
%FFCC66FFCC99FFCCCCFFCCFFFFFF33FFFF66FFFF99FFFFCC110000001100
%000011111111220000002200000022222222440000004400000044444444
%550000005500000055555555770000007700000077777777880000008800
%000088888888AA000000AA000000AAAAAAAABB000000BB000000BBBBBBBB
%DD000000DD000000DDDDDDDDEE000000EE000000EEEEEEEE0000000000FF
%00FF0000FFFFFF0000FF00FFFFFF00FFFFFF
%524C45FDA0FFA8A8FD7EFF27277DFD5EFFA827FFA8A87D7D52FD057D27A8
%FF7D7D527DA87DA87D7D7DFD05FF272752FD08FFA8F87DA8A87D7D52FD05
%7D527DFF7D7D52FD067D27FD3CFF7D277D7D277D27272752F8F8527DA8FF
%2727F85227275227F87DA9A9A9FFA9A97EFD04A9FF554F7FFFA827527D27
%7DF8272752F8F8527D7DFF2727277DF827F8275227A8FD3BFFA87D7DA8A8
%FD087DA87DA8A8FD047D52A87D7D76FFFD0BA955F97FFFFF7DA8A8A8FD06
%7D587D7D77A8A8FD087D277DA8FFFFA87DA8A8FFA8FD4BFFAEAEFD0FFF83
%FD0BFFA1AEAEFD15FF7DA8A8FD48FF7E8383FD0DFF5E1083FD0AFFCA9AAE
%83AE83AEA8A2A2FD0FFFA8FFFFFF7DA8A8FD43FFA9CBFF83AEAEFD07FFAE
%AE83AE82FD0DFFC3FFFFFFAEAE83FD15FFA8A8FD43FFA3A9FFFFAEAE83AE
%83AE83FD04AEFD11FFC3CAA8FFFFFF83ADA8FFFFFFA87D7DA87DFD0EFFA8
%A8FD40FFA3FD05FFAEFFFFFF527DA8A8A8FD11FF76C3FD05FFAE83FFFF7D
%27272752A8FD0DFFA8A8A8FD3EFFA9A9FD08FFA8272752277DFD10FFA8AF
%CAC3A8FD05FF83AEA8A87D7D7DFD13FFA8FD3CFF7FFD09FF7DA8A87DA8FD
%13FFCAC3CAFD05FF83FD18FFA8A8FD3BFFA9A9FD1EFFA8277DFFC3C3FD05
%FF83FD17FFA8A8A8FD3AFFA9A9FD1BFFA8A8FF5227A8FFFFCAC3FD05FF83
%FD54FF7EFD1BFF7DFFFFA87DFD04FFCAC3FD04FFAE83FD19FFA8A8FD38FF
%A9A9FD25FFC3FD04FFAE83AEFD18FF7DA8FD38FF7FFD26FFA1CABCFF5E10
%33FD19FF7DA8FD37FF7FA9FD26FFB5FCC3FF335EFD1AFF7DA8FD37FF7EFD
%18FFA8A8FFA8FD09FFCAC38CB5FFAF83FFFFFFA8FD17FFA8FD37FFA9A9FD
%17FFA8FFFF7D7DFF7DA852A852A87D52A8FF9BA15277527D52FFFFFD047D
%A87DA87D7D27FD44FFA97FFD17FFA8A8A852A8A8272752F82727522752FF
%59F852F827527D7DFF2727F827F827F8F827F8A8FD0DFFA8A8FD35FFA9A9
%FD19FFA87DFFA8A87DA87DA87DA87D7D52FD057DA87DA8A87D7D52FD057D
%52FD0FFF7DFD36FF7EFD25FFA8FFFFFFCACA84AE83AEAEFD19FFA8FD36FF
%7FFD29FFC3CAAFFFA8AEA7AEA8FD4DFFA97FFD15FF7DA8FD12FFCAC3CBFF
%FFFFAEAE83AEAEFD15FFA8FD35FF7FA9FD15FF7DFD13FFCAC3CAFD05FFAE
%AE83FD04FFA8527DA87DFD0BFFA8A8FD34FFA97FFD16FFA8FD13FFCAC3C3
%FD07FF83AEFFFF5227275227A8FD0AFFA8A8FD35FFA9A3FD2BFFCAC3FD07
%FF83AEFFA87DA87D7DFD43FF7FA9FD14FFA8FD16FFCAC3FD07FF83AEFD49
%FF7FA9FD14FF7DFD13FFA85284FFC3CBFD06FF83AEFD12FF7DFD36FF7FA9
%FD13FFA8A8FD12FF52F8CAFFFFA1CAFD06FF83AEFD11FF84A8FD36FF7FFD
%27FFA8A8FD04FFCACAFD06FF83FD11FFA8FD38FF55FD2DFFCAC3CAFD04FF
%AEA7FD4AFF55FD13FFA8A8FD19FFC3CAFD04FFAEFD4BFF78FD13FF7DA8FD
%19FFC3A1FFCAFF5E5E83FD0FFFA8A8FD39FF7FA9FD12FFA8FD1AFFCABDB6
%FF5E1083FD10FF7DFD3AFF7FA9FD2CFFCAFC8CC3AF5D83FD10FFA8A8FD3A
%FF7FA9FD12FFA8FD0DFF7D7DFFFFFFA87DFFA8FF7DA8C3BC93FF7DA8A8A8
%7DFFFFFFA8A8FD05FFA8A8FD3EFFA37FA9FD10FFA87DFD0CFF52527D7D52
%522727275252F8FFA84BFD04275252FF7D2727275227522752F852FD3FFF
%A97FA9FD10FFA8A8FD0BFF52527DA8527D5227527D52527DA80552275227
%A852FF7D52275227522727522752FFA8FD3EFFA97F7FFD1DFFA8FFFFFFA8
%FFFFFFA8FFA87D7DFFA8FFA8A1A1FF7DFFFFFFA8FD05FFA8A8FFA8A8FD3F
%FFA97FFD11FF7DA8FD1AFFCACACAFD0DFF7DFD42FF7FA3A9FD0FFF7DA8FD
%1BFFC3C3FD0BFFA8FD3DFFA87DA87DFFFFFFA9A3A9FD2CFFCAC3FD48FF27
%27F852FD04FFA9A97FFD11FF7DA8A8FD19FFC3CAFD08FFA8FD3DFF7D7D7D
%A8FD07FF7FA9A9FD0FFFA8FD1BFFA1CAFD06FF7DFD4AFFA97F7EFD11FFA8
%A8A8FD14FFA8277DCAC3CAFFFFFF7DFD4EFF7FA9A9FD0FFFA8A8A8FD13FF
%5227A8FFFFCAC4FD52FFA97F7FA9FD12FF7DA8A8FD0EFFA87DFD04FFA19A
%FD54FF7FA3A9FD11FFA8A8FFFFA8FD0FFFA8A8A8FFC3CAFD53FFA9A97F7F
%7EFD12FFA87DA8A8FFA8A8A8FFFFFFA8A87DFFFFFFA8FFFFFFA1C3FFFFCA
%FD53FFCB7FA9A3FD15FFA8A8A8FFFFFFA8FD09FFCACAB6C3FD55FFA9A97F
%A97FA9A9FD21FFBCFC8CFD5AFFA9A97FA9A3A9A9FD15FFA8FD07FFC3B5C3
%FD5CFFA9FFA3A97EA97FA97EA9A9FFA9FFA9FFA9FFFFFFA9A9A9FF5252FF
%A87D7D527D7DAF27767DA87D7D52A852527D7DA8FD58FFA9FFA9A97FA9A9
%A97FA9A9A9A3A9252BA97D27A87D52FD042752275252F87DFD0427F82727
%A8FD61FFA9FFFFFFA9A9A9FF7D7DA8FFFD047D52A8527D527D7D7D277D7D
%A87D52A8FD79FFA8FD86FFFF
%%EndData

endstream
endobj
22 0 obj
<</Filter[/FlateDecode]/Length 16215>>stream
+H‰ÜWýrÛ8¿Ð;ðæ&7ÉÌÆ´üíô/ç«ëÝ&öÄN¯{™Ž‡–`›JT)*©ûô’’¬$MânÛIöš©E?€�€äÎ?ǓýA(ç°ß¬Õ‰·³s¤€i©ˆ¥’¡Yª•!í^ì¿U«#h0ìÍrà{P)—ñeY橑Þ=TœÅä¢ôz½Gv÷1åZ�²`)ÌRø4ƒëf-	{ÅÚ¨ì˜iÄù>íQ¿Aº­.Ÿ>‹oXšò/†ÛiöšH;”Yòxy(?ZAڝitÛÈû•_@úàXY±+@šI!Uz@ŽÖhú["‡‘?@yK®+"§2֝‡·k¿‚’i…{BøUÌ`؞r¦ˆiâÛ 
†~cv˜qžgÑ0€ÍNא›3kÔeŠÖ aflÈÝÙ0BÊ´F×p
ø‹·‡UGhÿv¯.`Éí&bl?îåj•L"¦®ÓûA1Ì)D‰ÀM°1kõºÄïúÅ7G –»ß$û
߯µI»Û$íF£–ëØÄn8ܐsƒs ôÄmb«U¯»_ǹȨ˘›°5©ïü?“!ėò§‚Y·íŸ¿ùu€)SKиùRdÚfg¯XãûŽ­Ál³ï%Oå{kã~·EZõzÓ ~¯Ù&ý*îYý­&ñýrI¿øuz££PŽ»·3Æ-)¾äñßó1N¶Û¼·Š‡›½ë6HÏýXj½Êÿ~ñßيnk
qn;æÌÑY%êµ³	.{‡G22±7)yˆ›c^¹t¼rl9(ž%ޕ×ìÓO™Ô¢.¤ß¡KÅn�]îÑAÈA!'¥…lz`Ù
+Áè	2
ô\câ0^–ÌA˜ÕFYÀ¦ÅBÀgÊ6'Ϭò PVÒ£àD¡"
+¥(wê¹Ãð
+†—˜Øª÷¨tXé°²‚•%V:S2Í4Û@=𕨐-— hˆÐ�ãMS
J/RLâÑy&hš0e"¬(JD,磤l]¢¶2Yc¦¬4Å:
ÁT&u6”ËÕb©CXÐÁ	¥‚¥+¯$%ؤ#gPñ]CL£ì>Ù{€+¾R…@U<3ŽXdÂL
+�Cz¾ú§Rãd(oc
+ŸÁ";Äìâ(PJ-°†yüЌ%¶<‘ăa¡73	l¼<1ž§	€ÜfòdË?'Tš‰C4‰Bd?6‘1ÄVi1q:ílCwĐßp“ eÐʘÿQŽй=ɔ´–ÚJ)í¶3«Î£Žçé+Óב¡I»×›:›ã1Xh'Õ+™¥˜"TRô¤2¸Ì8);q¡:ú°š®Ã4t ‘*ú
+¿Gqé—U5—ŽšÂ˜V¤ÝFD,P&ß±Û[lA¸’víÑU/™Ê"Á2uˆÂ5
ÊyÓÛFۿͦ)›Ó¢9³mê$¤9ÅȬzœÞ=[¯è&½ƒt]{ú_§û`¡’LUÓuޕßñórƓ®I1,ð)c'Êã–…^WŠÍ„°WâÍãl&özSsXóš3òł¢O‘=~i¢d˜Ø8jÔ¦·¡ú^ŸŽ"X2âùý6Å`ê‡øý.e	
+|έè÷è1¼“4üVž´Xl_ ^i´ê,0g“u4—bFÝ7?±œçmΆwŒ{cNï<ñìn,2d½U2K†ñBz»î
+8ÅÌ7aÍÿĦ†w¹œ°M2®¡Æx²÷¤"<¼ÇDa;-¾ÏKÃoLqG=‰o@Ȥ¢¶¤`	‘ÿ0•<¯z,X̱ôRó;Ž§ß˜aŒ6º7´-”2½Â[#v¦´Ôé¦wõ9Úóú&9ú9TYº"S)E©ö.«Ôž“-Õà_Çc+b ‡+å€û+á¥ïÕ­‚èÇW@ækÖ~Äðxµw|m¯ð˕ï[Ëv"žF›|ªPƦS&k¼
EOi3ÑÀ6b"Ú¦³±VF‰yè‘ÉŠ%`uêÕ©ENJ…mÓö«­oÿéžøÍ}Ç1½ÆãÁ£¿Çx%²r€Ñˆ%Əž³È/p|gAÁ­“‘W¯uÛõ¾jn¿ÓkÚA½Ñh˜7@ÝÇGšëæ˜W¼{p²ÆÉo8øI·¤EÎÈÕÇ:	‘úáÂâ>àmÂõ²7ÁCdß{¦]!•eB|ƾ:þk¸?káÅö
¶vÈÄ!ܰMôŸÝÂ1ÃÛ9>2Ì¢ãùÖÆî^]Ø«»²g:FÌÆø‹wŸîo|XšQ¬ö-)ôÕU7灗ðWrÕ¯;–«D£æ9Ý#>¢<·õXâ]o{ÇL3ogF‹9挙q{qfjýÕy‹Ð!Bw)Ô&ÝÎÌ'ô»
+ÙM©©ÛÈQaÂkŽT/P»È=>[®©Ù!ôðò´›°0t´7Ø4†diI.˜yñ/pOºFl$Ф<ʄÝÎâôá¹
á;¼þ¿g"ƒÒrk¥Ǟ6—L…“ª¶ü#%“^‰›\–”b.$»uRüù¶¨êuÒ)n»¶;­b¸gÄübŠ%<Ñæê]ø[.hÖÈmí41Á{‹-;bñ
K'eD至wç2„¯n*þá;/„}<MŸã³!}àÍÏVñôWPÁ
+Ÿ3
+òÝ.Ò®àš½Nòàìþ;Ng7L¥o6¿½Ù¤†¥§àbì·enæÀ_þöÑÁ³¶ŒÁ5„ÛD¦@þ Äü«~ÍñZ†ú[ø†É1}nxÞ¿*úmÿwFÂ2[ùÏÙ\À6‰ÿì®þ
+ýàfëR7ÐÎhã^¥ZF/ÛÉ~^¤Ì\eÍ
KlÛtüéu¶¼"Sþª4]ܾâÓø…Ë <ø»÷âòBÿèÖnµ­/ÝsýÖs~¬·ñcýÒ~´Û½ç¹å¡^mãL|Y‡ÿ9‡VÀ—«mw‰|á\+žµ94—Ï~ó˜)¾äñ6®=”yç¼mp™©�e‡/~ÐãqôÒ&D Yˆ÷žïµ£ÿvü+”AA¼UáTÀVøêBžEäR)2S9QÍeÌ”,´
†¾OŽsA‚š,!§óbPd¬ M6Ï«N»ÝlçN
†}”žK¦BH!ñɼ4¾^T]¢°\Çø"•™&K%³äI(G»ÿGz•¶µ­3Ñ_Ðÿ >lé²H	´ÍbÂ
7J(ô^è"ÛJbâX®d‡Ò_ÿŽìx¶lú~á|4ÍrævØ$Þö¸Ìí~5 áÁ9áSt…¹C˜ñ‹WƼäÛz£þ6Ûé:¸BHQ,#ºÜ«&ü¸p^%÷¤³ì0lqC­hOà¡#nü&½ˆÂœ›‘Øãr±áãj‰ŒxeÀ]“_:Ñ
«†i8Oaú–&Ÿ×Ò[Oº¤vî¸ñ*‡Õf×Ða6Ô§Ãå4Ó°Áw±¥üß'çœPx¦aÄFgËVsÀ¼ÚG6£è%ÌËúî‚hÄQÅ&¶´ ‡krµ\5ð¬3軦ê†0ŽÃ×пªº&!z×78ÞV±Ï×ÔÎüv%æhìë‘øªQ¦Ý.ñyŠ*©“ø\‹gõär„.V²Û/ȹk:d¢³,ª”LÔQg ŋê(+	Ôuûwƒ"¬D3´ò@Õ2”¶ ‘ä\XyϦ¹ÊËÏpPÉж“s|fØ*ÔÀìÔ5F ¢œˆ7°bþádlKÏù|õdp"æõQØÕ`Qu`)Ñ-èÒÝÀ4]h ,j]!c‰O™,qODˆg4%io~]*ýïáÄn¬v{Øö¹ÇJ§^ߗX:ý¤ÐG‹cÁƒ9$°£¿äûМØr_Dƒ~rqDyÞ’n]/¸õÃÒó}¯Ìr՛S™'Ï)Ìã)£s’í¯ü±É?;û»£÷ÊóºâÕÄÆ†sòtÁA}~Ú¿ûb<UÔǁë)›ÿɱ«hÑ)&ÖÒ¬.Å|÷ÅZnƒÕý£cÂfiÐ`pÙ%…-`Y0
iºEÒ²ãþ²�øÃíONŠªö³¯‚‰»||±HeŒìE.ô¨%˜ŒZïŽ16dÜ]²‚µðµBüòfF—”'EX¸£1ªbgˆŸàz鱂âl?³9¨ùW§ª¼F!&J¥ÞÒõ"r´à” ݟyJRŒ$ާÄB/D걅âóQÔÂ\ü»£St°Ò7œ2úÌ=“ð3i쉺Ȇ4!�ñ'Ÿwµon‚
‰‹v\µ@þ!‡
+A†#À™øI,^ض¡|üàrW›
+÷–B¸1±"3þm$Éïè8ºÞàȵ`{´ÊÅ
+Lk̰c)”ޤ‘«Šf§–s%œÌÖP¹r]ÖRàDՋÂôòÔ3Dþ©˜œ9þ½žºsÕ†ɥòn€ÊðÚ5ˆkòÿô®h˜v1‹Üʦâhµ¾»áŘj<ÿµ×ª’P:ž½¡!“Ö+“L[܆޵‚窾49²'=4·¡’<]º¼£¾Ÿ«ò ³ddü.0ƒF¶tñEÓêix€eo‰zcÇUW¬q¢êÏ÷)šØ²À¬Ù(ü²—\3c~ŽÙL>›RÄjÂ|Žÿq­"O®¸#™ÛjYhÙì‚ܒܾòåè�o%,RÏ~0A7åÒ#„+×O6É?�4¼Ô4èD±g†+(üÓ¬½p7L¾FÔêPøØè–.¥ær‰=¹	EïÿuœøÌ!²(¢
1…&¡ÜpˆTz-¸ÑçŒï6JP葇í	éÓ[JŸ«¸ô	ÕZ�õµN寗f݄4‹dR€†ÒÒ
 'ô¥VZQG±Å'84±ü{‡DŒžÊè‚1ðÁÙAxŽ
28жx¬|Xá`ùð—FË?•®ŠbxõŠÙj¡ÊGê\24WVØ6+k ÕIkYYJË%QBþRXCà
ݙ.Ãt˜‰šÆø¤¤sà¢ú„f,ÄÚ!£{qޒó»¶âI6(îHZx<#u¡Qô@Õ¤oÏ
š¬<‡Ó2ǘ^¦lR–:¿Ä,bº5Å5l’ÀV.n!ñÜÙ¦L¬øÍⲐƉiÇÔªœÌgeî<™’HzU®â<,‰v¶ËcØvt3‘’Tñïd+.›—M² ¦¤‹xY5DkJÜåe‹L@Á,dïæe
VjÉ1fMóÄß3>YÁñ)Ö	#¦¢Ä2cÁ´^!À8ê—]VėŽÑ€}³�µ5Éjå¸äé@w¥óCÒÁp\ÞÀLg×Ò
+‚‡Æ–E—yˆf×3Tkóq”>—Ge*ìo:º/n/.ïß E]AkÕÓ¯z+Ôq¥;ŧÿœài¡b’¯ŸÜ1ƒbûÊ®P0ű%>ÊQ‘3¶."gZ…²õÂÆý´…'jo³fž1¥	$lyH'`­ýÆÉ¢ÖÜϜ¹>Vm’ÙIÇcQ¹Ósö,¦bê„-Ë®8ôR«R×Ò%²=ÆJXŠÃ\5œ9–pŽ€ú¶¢§²8ð/ȇÛԑ¸*¡¾WM¬ÍäC‘2¡	qÎõ�…N)û½,”·JÄme¨ðÐÄv¾ÚXâ$
+Á›¶ÄÂ0”‹õ?ž½вYä¤Ì13g‹õ ÐÒBÁ'Õ`ºë64ˆ®‚™0+M(O”ÿ6jR¦bÆ%ÁttSŒ
+€CŠ(€e	¡›‡ŽÓÄA&|ŽÙŒ'½.�½.€y]�÷:U‚%Þèr¢P­+þ”t±¯m6Í%yªl.„ËËq’rÊgiB†­’·L¦!'E¨K¨/Ÿ¹Øå*mÉpÞڛ#†Ÿ* }ÍovHôê#BH؂hó'_F@êLýp„JA­†.ã¢N�GŠ¡­)Ùwç@¹hD×FClM\ �tImwecèWá6¶¹_êèT…sJ®¯APÔـdž’.­£3ª¢ÿŠTR¥ë­¨…*Qo0x»¯Á€âcãÃÅæÝöñí»­#üeçloób·Ûf§óikb½>ë¿Þ)mõ\æëŸÿ>9Xkµ?Ÿ¾?o|h
ï·ÎÛÌ՚ý“úùۍZ£±V­råA™ìT×ÛGßʵwlÞæÿÔ+¯6ÚGÃ×,�9ÝÉߟ†íãõŒwï5¥\ޚ<»j¨ÿ÷5•þF«ùß©£<|í6þÛÝéÌéw#gºýþ`Íí+õÛuûjCWÏÔTcëÍÃqóæÓÝ}çºW¾É¾4Žk}mÏú_Û-^žo+;n¿tª_mxÁêÿø~á*㯷ͮÙ6¿´ÆÝ©Ó›6ÿ«%ÂñcSÑjßíã[·¾p™÷¾M¾Qømó§2Я»»oÖ;£Ý5Ë÷áÖÝW‡¥míDÛÿTêMߏŽ;{›Ûݏ;?¶Û½­Ïýqÿzs¶6=Ò4<¿Û'ãáÔ¿¹V­à&3Ö´Œogz×Üø°µË¶ïÝÎp´ùSøÿ¦}t6Ý{µqptóµÝ±´­ùö»ó£Js~ÿÎh6+|¼×aÚ ¶=kÕB‹šrÆo lÍ-Ҽݫê-£WÁßÚù»ÒîéšÍ˹ÿ‚‡íÞàxíödçpŸC^wkï›=úmûøF¿kÕÕµ¯žÙÿq_]ë©#Iø	ü˜Œ@e0"ç`&Hädxÿ-u$°=sfg¯ö†¯QWWø+gvn0(Cœ†Kt‡®íœ2ÂÚO‡ÌÐlϊ$õá,I‘OÖ£8ˆþɐBCÄ‘<¹ÉÉó[‰ŒÂš'¶#«˜\ÊcÌ,ڋ¾AèvI"“‘ƒQ)«¿š|:¯lz¶*‘'o
+¿Š7¥�‘P¸)ða)@ù^ëÑ<†¾Å‚4BPKó¯lŒîÓ«)ߔV„¤EÔ£üùéu	ô¤Ucªîn‹¯ˆBUÒË#wüHéOn!ÖkŽ0˜}z֗GÑb]¾¢H«ÎH\®èHZÛºuEÔ�˜'õÙޒ—l·*_)TEòÏTŒÍhûàýó!\#²íÏ#6(C'?¹tóüÌ7çËwӐµápuD÷串j@æTÄó“[îÏÜztÌf%Ryç^P°cV‘ :ABØ3ÃG_Ý#kwìÕ8r²‹¯B	l±ãT(æøQBÇôXñij˜'Ùf?êw
Y¬È=ô¥ÎÌŸçàt}-ŰbE*$@ooT˜†<3"”ƒ¤ÚzÀ4§_ÔòW"=mÕùD?ÚyôA5¿ißñ~ÎÉ¡à„ùÉ%Ìz®ŠOn¾YšPa2Œ${럴E”6º\/¡AÒÈQ2š‹•¾Gιªø«›´"ÅûQ"“‡žÜ–]`ÕTSd)žèP¥
+N˜Ê·ƒH¨Âê<Û
+›]{Ï7]°P‰ƒƒܗ£Š'”ðumá…g&Š\-ý’æÍÓ í~« Üîæ¯%¨Í…Ó_»FK“آ÷ÜÓ¯{:_o6ÉÕ&Ä¢Šf5bÝï$+¬}‡¥Âæ(Ÿ­¶÷ëO;&ÐKlŚ"'Ù÷zìXæá"ÙwNè Þ¼ñí>9&Òo_Tì©3.P—Í€oŒ¢yËðcŽÍ‹a ·¡
+=Õ¿ŒøÆ¥³n1Ô1ø°åNӔ{˞Ÿ‘›­ˆ»DBýt’…ó€#UßV†Ÿ™@ªÔŒÇ§BS7ß>9û7JАb§ü4ª>]¼>\ÁÉÏTñóõU�惙 ËÖᴒ0‰I|ÀRnêDv>HÊVzdaSþö¢°žI¦6X%C9Ät0¤`3GC)¿ÐÀßLfÈ*$ÅxýÑMåG¡EÖÄø![YÛë¹ÂQ+?Þ%ïrWٚ
Œgß[¾rò² åÞQ?»öŸ:âÁ
7)QGî
+(j’2WœîàÀtÖ_/(rÉßuøÅ–?q	²�Ÿ®ÍÛ»¿FX~ù%0þ",úŽ¢Ý*+T¾ƒ….)?…mEH\á°Ùlÿ*Š
›Í&€7Ä­†7¦¼‹{mlIŠÍdî„ü°Ðnå‹å­{¯bìŽ˜ø)Ū4ž	`R$j…ýbÜÿS¨ÿ6^ä]lšc7Ç[opêâ†È%¦¹1”Ɇl?]¹žA†ØRïûýèà›mu§pÞy&}-jo¿ƒ^©•q©—R0t1r>I%¯Ý>ä‚ÉEZsgK—Ã'O×Gne¶q"~®þ¾ÎØÇ¢ƒÖØÅ¤‡üY<úUßüïV»Û¶H'×öúqq©÷%U=
+vƒ„Ñœ¯ï¤
+מ&0Án¸-u/…@»CªLnFlh¬ìo#Ïþ,¡íƒ<
6#Œ†l{#%LtióÖleLJ…ccNaïɊmu³°š»-³QöϾ1èÆàYh)ÕßyC/˜”`Z÷ÿÍrò«‰1)ýËåäVsê»EhÈ0m‚ç_W‚ÑíÚàoŠÃµµ¡$7áSÞôA˽6ç£nA@c¬…“Åêÿk³Hœ–®ñuŸÊ¿Kª@{A€"Ô¸A@¨¹?Îh&9*ñNö]…}†VÃÒÛ*ñiÁ›…œ	?¿Ë'ڛb“¯´TwÈNœ–"¿-ÏMn	6´>@Óÿ“Ûšÿ¿+:¯H¹µ{éUƒ›ÛLá<çφ!Ò±ò=Ûâ/K
+ëÅ&Ç76¯õ#5­g+Q®å`ÌMµ˜Xë˜Q¸¿çU´¿vŠ‹wG
+®Þÿƒ¹aÈ}a]"`©j±[‚¤ŒÅ`(¬£¯ëâìdj¶Ý†›
+¶ý¬R¤…•ßÃ7.	eøp*òîYu3Û$ެ +2H&¦Å‚P«rÕ¨¿·-›Š^zn¾Vn´É?»^tV/&Æ{™X_&U²xor_•ùéA²™•²ÿגŸÜ·T¸Óiъ¥J,&³é±±Ý‰¤Æˆo6ޕƒb¤‚­/ǝCžI«¡ÛE3v/y´‹ÉAîô\È+0åªûMp¶ƒîTW”‘ß±0,}áØÉpÇuj„'µ Kh~Ì
+Ź­:WŠÕ0Mřš¡ó!©p
+ŒqŒ}‡œÁ”·ü½cögÙ¥yê€c›¿/’F&½6EŒì…Up¯‰Ë¯%
¹¯…0?ÈGñ#³ž«¢-Ñr½„6ËQ2š‹•ÙÖй¯ÙûBåDuƒHRTÒQ†Ü÷÷ªg^íQ3ìÆWµ<“f[&x
>ß³¤y³¤$杸…öŽL8LåÛAÔ¢åâ©ùØ37qÊW#Â&\§€ic‡ÆŽ'7–Xn%?äÑÐ=�åuw†¾[ÇZÜâª.ír̛Ñstyé/ïgT±t¿ø4ûuQ‡I)Ñ)÷½S&Øy.+“Ì&i£àh~yJï|ÌÇÔ üu’x0Å¿896ÛòHoÛå@ˆ·»a¾¨ê|½I(/îÜGBXS³“}TÁ
å5"½
Šcب#¨Îlã'å“M«¡Œœžž¤^Â&é
+JŸß‡†›[î£IBw¯!&˜ç´æj,~ƒ&Zÿ’‰�­Ùۛá«ÃHrm×ù|“\ëú\T`ãâÍpèîÊë ß9Ödq믆ʩÒJÓRKo­#]W¤^>ð“iwtqâɝþØÞÿЍH”§éÊIz>ô¯E}!¥Êzz)÷}
+*cœâqå#·=¼ÝêZa¾E‘ózIi™,Ý͉e±}ˆ
ڙâZ¹Ì(¯®%e¹%ú¾Ã˜*˜PÓ8*ÊèŒÌ¢‚V:çÙOƒ	çsþpc!{Ó¹W¯Ö_@›-H2}´±Ã«(,
+á•ov¡9+/r…þ¬âxN8Š·­¥$øšÄ¡ÛÉÍÛã}qåò¤ °“
F˗÷¯jÈ̋Ytýì@ÔçhŒidù*M²;ó¾ZFh=BœML¦™ô@yçæÄåûêÉ÷#žÄZ÷K0÷‡=f¿l„ bÏÅr§KÖßï‡ñ`T¡l«’|O¼*bÃð“&Zmqó¦ùWkE·Pd¡H/Z¢'+3ºa^_aBkº+•'ŝlÖ�»]tVVt栏ŠËäˆüS†¬\A},ÿ©§š÷,…*më;$Ÿ.‰0_Ž}²wOT€’7˜F‘mBu¬}tw.m²óxåÌE[J„ξ¯76r?î´"Skû޶v=2ñdÓï)üþ-ºT‡ã[¨Õ¤=bã̉CÃàÂS§‚oj±wdw|êÏziº`|mú&S"cÀ¹¤¨š„rsI‡e›ïlX6ã’WpViÝ=<qó½}Q°LÍE°X¦ÜŸBq^H<Ú线˜ä 
õu¡X‚çs½Ââ©Í’+å½*PÇû¸ÒçgݾqK
+²"›Ë巉ŸœJ
ÍUáŒ<@ë²Ã‹%B`&¥“2°¢ÒšiÄØ#ušÊÜö^¼Ñ xRP[1#ÜÇó$Ϥ"Õ¦	±?µX—,C‡B\z9“\BMãg)
4G¢ÁÁò3év]€ô>˜=3¼Ö‘¯f~�ö„-²u$“Tò9ÿQ§>•ý%/¿~ÈÍURB ±4±¤1X¼ 4¡¨Æ?ëé)ŽÇÛåðÞ$tø¥J=zËh3ÿîÊ.\¥_±E¦Î€Ý¦iµJ@œšàÞè‚C¡³‰­ldNéwO&E‚…ËŽXƒ»ÝÆ&ÉÛ½ª1ÛØžòSŒòÛüU"~9`¶•i͗nØÝÓÚ×N\¸qTnLis¾[mŸ/–?sáØdœºÀgZâO²q[5Øßür¾óùhý¼Æ\è¨bóQ+Ù å/8)óHÏ@�‡‘¿º—¯CV= Yˆ¾ÒìðÞuË4µ‚vþSXû÷¾3[øX|牱5P¼Ñ'àhiº”4ƒ=sCyGWî,u%´·KÂh‹â€‘ø–N.x&S2Nl$³ŽJ¤[Œuv©f};ð¹´kÎw‹41¹0SŸÑòÌd¦‡…m$X€ÛoNDàz{ŒœŸUý'ôîCjûâBmoEãðâÇѾÝzEÞ>KÊß×/n-½VÌ= å#ǁPu¦¦!/‹f×b'?;»FL&u™„ÿQ^0Ž4•MnïvÝLºP‹Ë/ÅenX.šj&†\µJÊ÷¤Ñ«Ï€	O“ƒÐÎtÁâáãP¾¿™;?0­mJ~áÉ'm?]\µ’€²w³‡W€zA<þÑOK£³æðÂÍbŽ[¤p>¯ðü1ÄÃ:
+”0»VãŸîÐtä+Ž×¥âÇä贋ƒ%-e€!ƒbº­ì)`ãÏ0r¯o>«(3)Ÿ„>Øm$&•>ûŸäåÄÞ£x½ò>œž…ñà¼äÊJÙoíF-,%­Dؓ&à‹•9‘!ñ�£MÆ۞$ã;kfWÊÂn½ÿ³Ø.×áØó¬5ϏÓKÉŒÔIKØz]Ïw²”^¢<–aD0ƒÁ¨÷ã5/Ábý”Ä…VèŒ
+÷ª,“	—My¾øbõêýù[r®2ÅΘFUœÀ\ôÌ8ğLjº`8¨_äDÞ¯a{EùµWà‰ýŠ~.;�8‘Þ‹ëc¼ÓøZ_¦&|ÿ*[žÈ=?Ã)¶®ÒZ¹	››ìGìœnÂܯ~(gOŸô26)'"¶ì¯†á#qF?V'…Ü7§`¹¢bÏúîRB9è—iv“㫞ÛVhw9éî¶&ÁÌÙý&"Ñ,.i%•·EùÇÈÇâÍo·¨²ÈËG?¼·ùoøÛØ2‘aeîŸ)~*ñ©2>iî›ÄAT�z"{lê*'Íw-7ŸÃ›–˜bÇ{9—å'ãu˜Ñ
+ÎaÄÍføæ*Î9ö0ï&{4$Ë
±…g?;SðE®JíŠlÙšß›¯xÖ=ÀÉ’«“hz÷[¥Ó¨1O0ú¬C6٘7–"F_Gè:$=$ü,/‚¨Žïà!:ü—‡XȺÖ‰Ia‡Œ´œLÿ—wxGä[€)Çâo•ýô­q8­öšñÆMN“à[NÓétê
-k§·Ú«ÿª—[äú¾?µÔÙ^WTåò
+rT&F¼¦pûÙy§j'S¨ù2±êb¥IêN·3j¾·¿y˾¡L»X.gRÈUTS*’OÓH¡;E1©#HayJ˜Oñ$ÕÌ&îÍû“u@&
+҉ÞPڈîVnbþüý4ŽäZøÒÔuÌÌwx­9u"³¨Çüyw†—ë^4Q#œÐäoÒHxš–æd¡1Îcâ¸R0íÊ\¸ ª³g©×d®Zv¶o§Ü&Š)‘K¥/³j&1j,¨ìà£Np}®°$±L”
î|íâ ¼åø¯12‰¥ÐRÎb°yUúo½_üéhz š¾xá‘òåDž¶3 aóïK×ò‡ u�»+»«““ûäîÅ¡#<µï—FjÑÈš=¦øb–‡eú·±È€æÌɗœ¾¤7ê7±™RB&Ýsø[Ú·=Îr¸>ŠÔ]'¾> ?šl쉰”–bßÉÏe-üRé`ÁŠ¿*ÅãkÔi՘]í]éT¢ˆüZé;twÛÚ+¥†{ˆ³?”ZZ.jÅ|óÿ¬WéZò<½‚^KöB«¼ €PÊ*È&È&*n¨ì÷ÿ%-%]’RÄ?}”´9™33gNâ?]<¨è뮞ë5,¨»0‰ |![¹¡hB¬—ïÏڗ"€öÇ|áõ¶…•]×L´<i#P}+cm"Á±‡tûQ…ý$é½_wé*õYsÊõ)Z|E}�V\X²Zå5‚,k½¸øž,I “õèý§@•¬ÂÞL/ão:Î<6I E¯À]
ñ ×®Eo<ï³&>Ö»œ/½ò~Wq «¯dš�zéñ¬vq
+j̐Õ_¨\7° îÂw‚oów8P¾°ø(A)š©Õg2>V±?ãå;Ï>ÒÛ{žžGº-�_𛆕'´â@^Œ°«y«©‚JÃyÁ�úæ«¥„�Aý–H‹óU\ÌfD(P˜ê÷ëÁš@ÿÕ¤ñ	tÌ׿ê-<h…}¨„˵JÑf‚[5!N­ÊbE$€D¾]jùp  ÆÜ•ݶU•q\¬|—ß~AÛ³ÛÈ;	´ÄwÇlZ…5fеš`»œë6ƒ½u"èýܕJÑöƒ¦Æx‚oK³O׳ŸÃ‚ŽžÜ5"è<ùŖPжÆ:Ìðãñ"´p/ý '± BÃM†°îþØÁ|ír­×…Æ‚,MSÝÜÿ®ŸhreÖ¤]ô§«€Âù2OøM±®&ñïµcÓ\Ñ8iäb+AРµSÛºþQkЛ
(J¬Òí’ßǺÍLRHóމÚ4±Ñ6Y6ÊÃ/I
›@×»Gà]f\(?€-ìÌR˜×K4­„L îv¹­ÊƒéT«zÐØöÇËmŸ!(@ŠkW~öò×~�Zv™	^¯¥€6ÞߦUW,Qz%¯
+Ï¥šÈ–u`À_6«
fM\å¥ë— ¶Úú±*Lõ¦8ÐÖ»¯6Û›Õ—Çgܪ–ýšëëüuMô†É«õÝü“¼Úê&ˆ1Ìú»”%¯¶›‹:qu½
Æ´¡&÷1šÜíÄWÚúÐÜh|÷-·#¯Þ{^ÜªÆØý吳ùºøž'¯>\äÕќ«#ƬëcNìÙ¬¾gÄU0ÜÓi´ja,*vCSòשðk‡¼šMˆ¢
cÑÛ´° ]_%¯ˆ«If¹˜W]L w›¬ÍëÞZz®­>mÌ«1>ÿM\
\Ǫy´ja,p}Õ,¿^*‚´¿ñ‰AÅ"6×>Æp5«ýà®fèfqQLµóóh.)ßç=³r+Ÿ	´ÚÿB.fþ’7‘-›+ô†…0
Üyå3°…‡=à¡§'ò‘zòpK`dš¦¹¿vÇØT#´¿îtû
]¤iÀ*Iõ²“Ì
úH¬#µ?,IõvÊeñz@)Á‚yŒAùï¯@Áe'Þô ý¡’}=¬.Vwa)AeÏC‡ʖžÂo(tzØk—O*¶¼z‚1èÃxtô²q©`�½�ÖÇe_ÖHðˆê.LÃDP忀@ab…w‡Ghb*{/‰ `"û!V`,€#™’@›6ôÞVº†¹oŠ:cV½p5xø+´7[þTÄÑ{BŽ7ô>éMþџüÏÁ{ŠQCjbZZ[—UØI'ŠÞO¥úÓ	¹—‹±¾‰TfÑgé Ô=r!ýÙk’à½(à×&ê'@ë…/]lnÕsƒ¿€šÈ.IAFÒ¤Áwà_ú­_P
´
+ œäE=OƒYj/µn”-ìñåšFô’{iïý¶²j\ð28æÍJ}E0v8r6ò>ËÓðá9°ã×˱.ˆ`N½lñ@`LO`Z¢÷`m¡àÁ~!ª°1Êx$O4؉ác ð	xèççª#Êaö9©rŒtå1íåáá}ÄøïU¥Š‹¢õÂ)ƒZþX·ƒüÁþ¼G÷¡ý|1E¨X_[²珟}κʬtL–Ýf›ù=q+ŠvPî‡b_D¥ÑFvZY¨®ŒY­¬«ðéÌxŸ¬µJ>›ù×\x`Ï;eC–Iz¤aÚo”É,=‡èMÒC-Ý~pm ðpd£ôÌaF5eVî$XcóDÉæ<“´½<pǸK±Ñ.[ÁÉ6±+Å!´ûôÐSL¡:“¼«£úÑÇ(=Dâxyè0Asؚ—+Ì>û•†ùÐIaFR.ƒz…9´¡¡ÎøhÓÄ¿FÝý½ë;‡»)åöE“ªEP%'WäͲ‰²ƒÍ°[AÞA,¨ï¦n9`컂Ӿ³ï:XÉO±}.#ždPyìUPv1ز˜º'n\:Š!¡´šPEýÿ=I˜Ú( ÄÔÆ
?Ûv"¦s)±>ÂÉj1b‘÷E eua–”(	ÙßøT§hH‰|̅9–ž™¢£þìg?˜ŽzFýËó[âX¢è“ò?ޝ½/›uÚJ–_?xÉGš¹É³òæp–N¶3tõ¦’:ŠvšA¢¥Ó<…½ç×g0AÛ‹ò×ÕÉö¾’ÏØìˆáQv¡h‡›EÎ	RS~m3þï‹þ%c±¿dL8±½ÓØZÐzq}+ò/ìT:Ý£³Bo	O›í½Ø+‡ÎÐâul›qÓ1ÁÆwå[Ñ8ãÏéÊmÆëÀî+=;
–Åf2ÛÛ҈˯Øa_>·4³ÃϦ“αKÚÞS`!ˆe9Ö/ÒdÅ3:%üQ¢'q‚=ˆÅ[þŠ“#Š¢0\ÑÔ½•1#ªšøi㴑`ô¡‰Á¦²ˆE­~.¿->ÈéN;Ú¼mOð¸û,#6²sù 5Èh³rDÑ'ê—p¨±ÃëÀ+ˎ`´å²‡9t!Óm×ì)§’þ~d"ëÚãäµ�›'wSTü+»ê!e€óŦ!ááÅV2Aío£S/[tPŸÔÑnÞÅsÈÒݒJ'·¸×âû€¢å©Á)Zð&–;ÒÍ
+à'dã»llpÁx¯Dʆ(‚7ÉymOƒ½T覒DzÙÁ²¡¯
å1íåí
+í»Œü»Zɾ:Ž„&rljfࣩ»%™bËø¨|Œ¾Ø£år¡„îš-ç%VÆQvІ:(³F˜ÙLË+”áÊ)1DZ�Êk’{8FŒN
+’+";±ìC¢|¼’‘n>	>D‘ÑJG¬VzY1Zi3ù”3­æ Ó	x~ÉÝޏ)ç1Bk1Ø9a=wÉ;ÖTú»ØIƒ„–<¿_–ãüMg:´êAÙVºmW,sêaH•jÇ8ô~#�É;ðc†y÷Kb.퀲Œ:‚—­Xݱ9¤ó²ÐG]Zn|ךú¨ào¶}gßu†J"p }¶‘iÍʧsJGæu³¤i­_HÆCÛ,µ=S“{-ؕɻÚYµªdÍväQ´ó}ŒÉSNgåaŸ³;PÝE»M¢]&Ÿ²Ï©sOuJ„ÍráÁo‡¨*Z	À¹ÿ9ãLŽþ¶ïœÈ‡'Tû6”]NàV<E;iÃããnæ'ŽAãÜO£ËÁD¤å֏#*õö3`œbfEë.¬Š~;YÑ·WSü›yèlE‚RØo¯'8xëfÕ#WJ§iöŠ®³R¯óв†Q´Ó{îsª¢²oÜç
î¢)š6+»Qъÿ³^­k‰ëPô	xZÊE(à#â�QÔAqŽ8™QháýOÒk’&i þÉLJ¸ïkïµÚUÇÊÍ­;>™ˆBcøêûˆEº[pžŸ¯û9{áÐ9ÊÒF¥J*í'ôÃ\RÚ{óhɼ/£¥ª=­0Ì¶3O3¼•[¯Y`¬°Õ’…“ÌZ³À˜ˆhX3Úx,G”°e`ž<‘
lGˆÚ3­€\l;£åwd5&i¥iôeK;…6%wÙiŒ
Ã�~ᅤãÄy
Ç«0üRUʅW|u°H†ü&Û{LäN¥‰$Êïi·QÐØL;h´[¸ý]ãò{Ñ+íìÎï+î-sÅ ?¿§Y‰(AvÄ®!ÿZæ!ô5Äoá>q-/ÃÐ×ÐÉ~¢Ón¡{+3µd!Qéfì'ˆ€¸fÅF\h)M8š“Læ�8ñ¥Óµv24ö.�H¦L-b„)û»¯˜Ýu:inK¦"šèB8·1xM9™Ûr¯öѤoyt"r"
„Ä©9ÉÁð"ÓÌðŸ%ðë,áºRà0Õ³*“=åÞ¿Ò`EËX›½{‘Éüg†:%.‚K)�®ÌeqrÉéïd“À%™ÆÒÕ¤ÖaöÅ[ŸqkyBc)Ž1µsµÅ:âV¬XüìŠSŒY1Åêd.âhŒA1
+µá„Êô½‰€}±fB((Á‰ Áå\dº6,`#®ŽèʹbٜqpqôöôvÔxlîÏsëڕ¦ÿªL*?µ^˵ò¼}ߨ¦ï²8ޏÆ7às«~™¨7‡ãæk!q&5LcÀ¬œ@Bv>Éðž¥Àʔ4ãøºz‡2Ñ%Po?]¹;|7äÁ¨gußÁ´\L�Ûí¿ Ð㋳rýiäW®{ü™Èç*Í®—RÃlñêí”æTß¼”UÂ)T¯ŽÛ|3¿×e8=”cGw©g†ÓјéԐšË"®^±\ó-ù±Ïtš¸œe;N[P§§Ñê´t*	)p8}Çe¤À‰£¸î:-bNÞSÉêÓºÓRê9¢n±\§Y¦Ó|³sÚc8=”•ÒuãÅs
+rÁ
+<á8mÅÙN[·ò#ÃéñEDQnþëN¹ŽîØN¯;¶SMë71vÜÆàß3î'ë—úf¯’Ã»Ïø]±žçÿx1}¿ì•XL—¿ÖšG&AΣ’õ~à&<‚é)‹aݽ ”%åœ?ôªŸÈ>·V”ƒ&PԃÜ¥×k%ÝÖ)Û¸×ÀveIcۖ:¯ÓƋ&eÕ7 —ÖV!¹*‰ª®³$@Í&†È‚g‘ó^ÜðXŸ}P‘[Ò>P[J€ÇŠv¬®6ܐ”ˆ(ÿm×~›Ö9ŠÏê^ú–:}ágvŸ<ô Dr±G uÿɯ“W%G¿pŒ
¾Bç½€q™VØ=¿ñ*�/ÂEÇw„HHö­ô53v­±k´ñٞ•˵kB#wŸ6ím|‰À ’¡!ã†èdù—ÆY­VÙÐÕjb[®ÈÏGûQ&35׃÷Ø©õ	Zj@ñiã‘DhÚíSãSwW‹µ:q¦4Ò"YÍ{Ù8µ[Ý×|àÛ)¡ü[b5PI©¸¹mÊ,9œß“!þ²`Û&@ˆˆÊh
+Q¹öÛʘ]y;=D8µ›6󯉩æå¼ëNnn%z-T²dï´YxÞÔ:A€]Òk'Ï
++IB”\Æý]šT†OD’»¹U3}5ã>Ö/Õ©´n¹—˜ö+­ ¿;4¤Å±ŽM&@Ŷ¦ «!scŸÓb5÷بAéo+˜v%ð*²ºûÚ{å&ñx+Z¬“(­Xö¶´‹U™%‚*ÔOÚôxTÚå–hP23(¯ubý[Ä̟ ¨$o.ÑAvÿªåÛ.¿E´ƒùùtÒßq`ÅcóÁ÷LV~n,ìIoŒ¸*á*ö¦J£o«Ø[9ùøMs7Ún+eîP©»>[ƒòTG†¸6üeà|lG±>Û0qE@=¢0LTÙû‚0Á2 ™b¢7TÍ'�ݵá*& b"bïB\ìù©˜i�n˜ `dÚûË^rLZ	j2ɅìЙîË^í£)¢yè°ø}Œ}¨_‚ÊAq”±gò1Árð˜Lg.xB]òŠÃ#÷ý<òãç‘Ô’G„G2&ù2˜g`aú¥’Í”
+ÏÆJÚB®Ò)dºšÔ¨×|'>ö¼v$ñÞá$³ê$Œxž¤!¥ÁûŽ:5Ö¦¸bŽ@Ä'%Ø#@ˆÂ-BÂôJ՞–È*
+	³ÀãÔ	$ìlÅÇjÆä÷A!Y[ìûŠc'‹üÇk×DN²ÆÕt،ö“´+ÆÊ’„Ϙ›:6øqkðé+ìo›£ãÑQDd@Nô‹!ÑÞCƒË”¬äÔDèԊÕÁÏ.‘š5c˜âmYqS¯èß*/’Õ¼—{GËbJ7XÏqðí”q?M]‰ÏÎKlЗTÜ\Œ6µ7¸Pô÷+‹«Å|…9(²¦ÒºE\ÛœÈ$Ëô‹Œ“åj¹·&Èr±ÚW¢¸âó9"ˀËÉ9GÈqÀî@1{É]�"BT줵ìž7µNP/á°AË·IZjèE¦M:™Awç¿/åÛ(~ô&”:Ÿ çE"!tÃ'tÖ-·®«’è.;¤Rݸ ,Þ²¹°Ãà›xuŽ„&™…ß%jñ%•ô“×á½è¡s°Ï:uùùt’Þ~	㝬ÃI~)­¸½”ÕL_ÍÀÇbõÀߨA3L•
š)0É,ÚÉbÐXezÆ@½w:C@kÂj÷1¼ìjÇX<DcnžB4î
ðV4åä#ӊ9cq[öÙ[^qŒáò‘’ß”s‘]²iþO~þ1O—~—å#‡)³àN&`ø1âB,†‡›Ú3—äc·‹YÊûO~)ݾ˜}Z8$²5ø“;Ìøî51՘ûµ˜6^4iˆ«àœ¿‰ØtÐVñýïa–©jRëpK¤€)Ž1µsûƒ/ƒßŠÀ%”Ž(¡é„iGÝ«}4¹Ý´£=­£qø˜igό€\%ejI{€v̄!�˗vÕiüÍ­{]3ö¹0-ý0ßqaH€0¢°a¨/õªl80Ah¢2<Eö†QòØ8¬wx‚ž!@ˆ{Ù†BêÕ²†ˆÂà+h‡!ÕJD„Ú[Æj'mÓ¢*²q“BÛÿ“�Ä¿•†ˆ¸F3•®¨4¶2Ž–ÄÊp7Lk¼ú†F¨’¤^™D‡bŒTŽ|šûÂ":ÀX)´t՞Ç•´û¦z0I'ßJDÐÎà+L4 ÛÎhùY©³Hj±`;æ58ÏÏ×ýœ=C.¿›Jë–Í“ý-ë°Æ7^ãsï_é
+@ –a�aDxêe‚ïúü�C„Ý!k¡4ÀÛTiV)‡0—Æá¹÷Å#ðyòŠI+%p:‹ò“$L£½/ÀØ»<rŠ5*f\{?fÃÔB•²HŪåÛî÷èʉžŸO'}A]y‡n~tq•“YΥݎ‚À"Ù|Œ65$†3ÃOÁw.1^‚©!“jÃ׍À*ˆ(èAa^äz¶À¼Ø*�¥”›A\4¦~2úL=ojnÅÜÇ6Vúb+Æþé\}‡©g®&±‰½NZ¹¸½œd…1ð9¢<Äû<0Æk"8Ý/gÃÐ΃‡ß³ƒî'uœí\º^0~G÷?o'ÑÌà—ÝÿQüÝoŸhQ `ê~E3ï?ásMÿ›mG3»:|²Å«“˜ÛÐ8²ýi¢KðJí§+w‡ïº¡*:ŠY¹˜0URûo6g_”¤BùÄ«r®{ü™Èç*Í®ŸJqàïíÔõ'â¦À&–4}ó’ÝGçsš>-üx!Ü:Ne¹¿üóDwZ=2RóC%œZÙr›o¾]ß3ÆÕöä_–ÓWÔié>†8=¾®ÝÛWÌY™qÙsjÈïso)1§Çg«Ø_7ÓÖÌijD8(X+¦Ó|ó$Ípú?ëU»›6EŸ A$@`±¶¨´4	tŒµ›ZJʇ jªªˆ­€xÿىãÄv®cÖþ‰°ì{Îý:çä8ÿ{ḿG½™V€±¹»&ühÏ\ŒÀGuß8}EX’¥”«Éý¡ƒnw÷íø(ꗋYõŽÉªßŠP¿H"JWÏk•sóýúw.èîäÉñfîŒo2oüöJꎬÎ.Â<½ä„(uIc-,Tw¿…‡uS ¥b¬A°´[ýü[4W'v¼±ÓªÒ¾¶±ÿruÑ_|ï’'ø,Ç6~¯Œú‰ÍÚÑԐ´‚RP¬æCÂ,±½ªÁíBâ^QÞÜ]rõT†–‚þM
©c8.¤ /0O%'vÛg¤i~'NúÌSÄÒyY+€–‹îxƒª'¸êþ›?C¢j\­žêþnõp8>fòG«Ÿ„OPãÿOú…ð®Têª6ùœ~9o¨ò”в¡˜ŠBBåÚ.ãúüI+ÕÁÎ!s,ÝY)ÒæL¯·rߨαÚÐtÆæÎ‡}�b,<îUs
+9øh·º@óŽ`‚S€öµ3ºÊ­ÊÆ K`±_œ©]QAåß֊dY	ÓÉá„?fL̖ ú‹¾K*'(¥b0PB+z,Ï|o,ózÿ bRh©´ ,ÙöCîÔðe
¹“Ñ
+òËX™PEÂÒeEBJ«md¤V­ki÷êHÿ
MÚW—ÎxW.]k¶ï²?„æßôœ>Y®q%Çÿ›]ƒ•Œ¬"‹£I7¿¨R0ÑF¦‚uªïÉ$/šA®Î¶Yó5†Ô½2Ò0>ŽPAqsG+7ˆ1t¼‡çXOºA2ò~î±mf±ÓR®ÿ�juI
endstream
endobj
23 0 obj
<</Filter[/FlateDecode]/Length 13996>>stream
+H‰¬WéVâL}‚<KK0	 3â[tDá ãȧ,÷ÿº;!éÝIGøÓÇ£±–[u«n•ÕYLû<
•÷9#½O»SEUR·÷©Âü<”*§“eðÉÃUªpZ™çŠwϵ>i—ÔÆ©(*ÿ.§ñŒTT¯U%÷ÄTñm“µŒeŒ[ô?…s}¦gJÎð£lîÇ}>ƒ{‘«2öXþØ!E€VPÊ¿H^vžÂ2>û*衘eç|œ‘.çQ󓝃Œ\ia”Qy{©D4¹£Éð�WúÀi¿b'yg®§Šùû[ô‰åà¹QÜeßi©õñVþne,dEi`©/“q'¸1º©÷—.@ìHƌù#Ӕ 3ö*­zGCìU÷”äk>þçhˆ½–O –“ÛX£6…•:“e¬‰K½'ƒÙĨ…:Pv¤ù¶¤3kSØò’f�"¶)rÏFŰ·ÀÊ­ž†v—z+6»!0¢ý´Q…´äÏië1‡ÝõTQkÞxvDL¯ÛEa™ø±¤Œ‡:m< `¢ ·>¼+m×¹í "ˆ&cåÀ
+-Yz¯¹F9èdóˆÒ€v´ø[÷ç>ÇpŒ,
ÈJú‚Ky$äÅs<!Ô³ÓläÂêô2“Ü…”ÓˆÃ/±kH•*Œ-I¢F82>C.Ü1/.äa¹µ•ŠñªÙIðLuñ~m´¯.̆äS $ÑC]  œÇ§M<æ§.8q’áä {ŒÀÉ_Xp¶À›æ„dÍ1Þ Ü!qŽÁoãJç@!/fP@'*™ÙƧ›Ü0ÐÈ4·Øêùr½´ñöÒäÞ·Ð#Lº"t¶ØGC«Žݦav†èћ1æLÎFóqbiï
¼ØÃ…S’7 sšXBv
,Ğc¢õLzï	óÑÈF/š7¦–‹£Ô "9R‘ÄLEÂ
+ÄMazV‰˜`æE) æäÿRB竬kZîõŽù¼´Nb,]ÓØ[äû°\À¸8K²Ä
+8¿ra³Ó0ò\e Cìs"+Së?Rá¼}w&̲	dü¤êáÀ–PH™V‡ó;ÐÝý´NËyÁÛÁ£ò÷>ETþEò2z\’ÛâÖÅÎ7É»–LÑíN͖Ü;ËêtÏÔ¼ý	÷½C›{ÊûÄ1æÄ]ù¥„BCVð£n±#žJÜ&ò2^ûñÐ�—€ft2‹¿¤þ…3R”±¬ÀïØÍ ˆ«nmïÉ;ïJړU4©[)S€O·"S£m©‰L™jœ1³àã­7¡1Žmç×coíÐ+ÇøÁv •¤_õ9í¤¾
v%!;òQ²J»¬ì¦%iÛ%“ðFg;á	™²æiŒ”š‰„kóAæ€å1?¿ö`Îx+Á£HF̀9÷gÑðwp…ÇÔü02®a†ï.&”³XFáª~Hzˆ	¬ÉÓ´ýËñ~—_¸Æz¬´a~[2ß]’îð®¤1ޘ»³æUSŸ¶Ä�dœaÐXæÜx?„¿(œ+©×9†œ@Vº~Õç´Ó_ŠÆ¼+)vüd<_4	±]™±í\©/›Žbu‘ïD»P‰ÂWæNᕷEêR°—,–—€/$Ý4¬ËÞ�F‘†ýe ºš]| Ý_¥•z$SnæøÏ1
±ìájâ=ŒÚh]DBA<†=¿^‘€4¤n±îQhØÝۅ;¾”öÈØÔ cš²îJËXNnc-�óƒµ	æ€ßͤIÕKJß.°‘QÎk˜¼½&á¶q(€ŽÌa]¯„Ðñ”92Gà:–1­yóÅ#ê±ÞÙb÷÷í'•5´pÚ³b{	`GK–Þk¢±ªï¶sÀüŬL¢RÝÿóµCž‡܊\Š[í‹£”ò+Æjy-Ÿð©ûÜ(î
+w¯ÉMFÑ€„æÞ·i8^ïÓü.0
]$4'Lä5ذhHÈ�g‹›‡2w_¢øCB`'ª²/”ã5YJ’–)§.Ú'ÛØh[júµ|,S¹“•ãu6zѼñ3ÆÐ:$bgǺ+A%»î#Õë®d®žç¦
&‘ëº{‚Ñ\Â0SêõÓ.a¼”zOÞ»„ó>›ÌÁ„,6üÅ¡ìÃ\ꌀø¬ê³ë[êͽϢˆËðׯ0êRê­¢þÛW4·/*ròç´ÊˆkCÕw_Ð0ýT1ë·5ÇÛ¤3<ì+i¿–êËdÜá4ÆXå­<È}ىõà;Ñ@H`Ýô™ªï¿àOŽ`/Ù~cPüYÒï²}öJ6/´\i?†äîӃ †äñìw(ùûçü©*ªJ7ǧªÒ›³ÏåbއW¾£Ÿ”Ûª\ö¶ëõPü${óúÃvC!Z%\Dã{KQqDÇë0À©•FARt±Ä]$+Å8}‹O£í¹Ó¸Ó\bè85g2æÖמÒL§j­tvÇpz‰~f/Æ4§‚ÜöŸ˜¹a=tÊvªëë¾í4K8ý^¬Î¶CäNÐ$À#Üiî!Š9ý~ÕÆœÎb±ˆã4uñ_çÍ© "€“WÉå.WÒi®ßg;
×þªL§jmT7oˆ#çJwÊr:ñpª«yšS€t»6þ6"€Ï"¡aä¬Cwú#${ezCNíª
+©™F Ÿ¬BüÚÎ\Õ§wya~grßú2|wⰸގç"¶&aÎ{¢sG\ð¿rܜɨòt(Ê@jS¶]œ2ŽvljÅ>€.”q
Í/<¯R¾Ý܊-	Q™Ó•z,%ÑOÇic„tµâ
	L¯ Ö® \!Á~ŠÛØ%{oPJ‰yƒZ×Oé¶b[fH‚HÇ©%IœZ¡à¥uÙJ
+'g¥ÛÕÇÎ+¸Ôá>ÇÄ$».RÞ!¡Gàì§ùüÐäßeø*­zŒó1X~'~|áœ)xC‚¹x¥‹/êëMnÈꮃâ1/ö¸ê˟h\aV‡å¥Óñ˜ê:®úòšãS_Z'1A´Žœ=m]õšÎ&ò’ÇtÆ{z,3ږš~7+|¬¸sFjé035bÂÀ䨩ñ(ýçD˜íU\˜ª¡¼D÷ËJoƘ"Ô¼’¦%¼PªåQ+½¿ô?©bæIe—	NK¢P^'‚0,ä:æËW4VúsÞà8€‘jÌD~—$8põ©Bj�»PÕ³Ï9'Ì$ÜÛzÖ b_Xä¸êW(å¬AÄâÕ¦o!àcu`‚A¾IÍ=A±™Œ?çìs"¹ltZdèd%y¥¾l:Šò/’—Ñc#6Í&Ĭ&¶Ê˜Bþ¥Bšé`2Nªôˆ ÒhþÝ`}'P'ZØ1ZuA
6‚è­H8ë«CDêÌ¥¹Ï=\gº¯xÛ-#2$1"¨M±ÁZj¾jœɞöæ-FeGQÎÏ£~K”Nù*øyPýv¹˜`魏c5ƒþðIîýƒŒu}.dʼøü‘[å@Ć>‡O€$Çë#"FN´{Ù°Œ]¹'-Eî+l
++—>̔zO>r©ÃMaëìJ?%Ì0Qq°îJ–	ß«¬ÕÓÐãMkà¥Ô[E=í§m®·äÏi•R¿zª¨5oh3íJR
Ð¥XÝ­-Ù˾Pd¸ؕ¦ÊJ€ÈXaÂkédß"-Yz¯ñ¬Ê"@ˆý­óŸ”,<=ç† r‘
rû¥\	A
c†*ŸxR—ô!C:u…¸iÏ~V¤zJï«§÷koõ$¸%‹×Péêü™¶$É	Ï%32Vá�ƒ‹qûEñ@ÌQ<Z`´½µ�62Põ½pb

œˆ96Ú¤¤càTِ‡)Ö‚HS…-à+'h!Á»r?(­:2t^¡ê’5°»ò«8qhgAäÊODx‡dj+([=ïkg¢½±M^¹Ùèù\!¯Üºr­Næ¸s™Wn6ú?ëÕ½Ÿ*DŸÀ‡ÀˆÂ•Ä»&¦ØåƛâM4jÞÿ›]QŒß?û“gvgæœ9£x½{§Ü€ÊÉAµÝî>jÖÈË.F<§ˆ‰õ …tnIÁXö#®&Ò¶«™¬A®&g:÷Í=W#KY=µÊ츒mGI~!7·šµø Së¬ÙЋ#ö3[..dïáöÊab³AÂ:ê\ùmbí[œøéÊQÙµkÂ]öƄىwSvˆŽ³N•ìÛ­¶’]©ÒÚØ»œi¨½TR0Ô¸ƒdEé;µêûódu/Ðø<aýºŒCE,ëVŠ’wô}9@ÂÊ
süÕÔ3]Î.º÷V¨ÓA(kהMýÅ}…BÎå£.¤aß~¡t¹¿Ü_œ»¬£¿¢·OΰUJ¿Ì!²6zå~Ջ£w'ô.­ÚrÌ2?õoº“0Ìl2âNÅ]Žýr̤Æ0b¸-†ñ¢Nà¯é`L9ÀY»Fݝ5†¥6'ÖD[‡ÞïkÏ»8Úm†¼°³žwO¢l¼ÓôœO£#p—|·væáÐipakåª|¦¬<FŒYGØcŒÙ¤&š½ÏÒ÷,³ìòû‘ãvRæLJÈ¢`VxØXÈ™y¬½Ërs(ï>]…’,Zk1I<%YEÖkø£[‹Ø{¦'Å}bÙ29ó’w“‚-�d¹È%âÛ»tÉËñJŒe˜bÝm�UËî1&Ö'b¶]ìxÿ£ÐÖsÎ&'lV<®íˆ¡ü{闧!l¹µS®Ë'ßj—ˆßÎbÇØ±ÂÐ:åæ­|@ t˜,@l0¬Œk™mâ¯oôîv¡äq^@{ý„!ì�C‹ƒêj«”~Î9ï	¸„aç(Ú@ˆyÌfìtö—6þFãÞC›|;§ÀÐdƒPå±Óìì€áŽ.vÐÎZ¤½£°ß21–HÖ~iLÐÚ?hþeãáj‹J‚‰·±¿ù,¤_:”×àkËc îÄãeŽS‰^W“£™¦¢žÀÉ£D{æßÏSLÕ%¢ó¾¶Ôìt§òf—Ë.+jcgð1egKlg´2Ûᚒn'‹f›¶ U‘ÞZ&ÞMÙ!aM‰¤*Yg]#ñÂë‚K‹a·04µÂ‰Øk«Ö9ù·0­öˆ’­°w1Î)%=|—ŠCã1Ë�¼<ÚB©ª‹kË5§Ô~®±ýË]yS¯¾èË­z²PnZt06w…JŸ›ˆe”›æÿ3WŽVh6µ]s T…ám}ÖêÅA:–¦Â¾‹ŠÀ5vP‚Åéú§0„=—ÂP›^¥¡”ï=;¥ÖBFCÙӑ¼äØ,T�Ë¡PN×V¥°KÙ‰ŸÎƆßùú!¤jÍXtáhLöŸ×‡Œ¹Ò0>î¢kº`bÈ䈷™æw4æ€Ïþޖ·³9x{å²"5U)ÑÒp=åíía¸~Ù8Y®êÀ,;–f*³H»K:Yñ¿ëáxÄú©èç¶iû	aÃUðW²ò˜ú±°=@àŸöTÐȋFÌZ±¦À¤c­…OÛ$ê	ðÂ:VID¨àw±›ïR°{·Ô>Í
+«UJʧÛÃ>C>ãQŠVP‰
+-în(I¹krçÿ”<—N­²\»þJ£âÕRF¥d1‹JÃa•Ãß·¨Ï?B^P3´æÑÝ9Cw£Lµß§Ï¨C¾¢NCüBe͏º™é%^Ïëh¸á{hT|¢qè6€ÆOìju¡WëÜðlµ^««oeó¸ö-óy¹‘ø†ˆ¥nÏ^©ÐË¢•>£©f;â̄žµ|‡û´ÿs%”‚RttEï”„÷¾ö'ÂݗZtúæbv¯}à`¼Ò•Ù ‰7‚´ö–ªjõ6×oÍ[Rɍ]„¤é#röí_’âþEoàdIÿö“ÆzµŠ²}îâ"¢ì	\Ô87™Ç»/ÜùŸ(üeÒ¨tß-¡²oÑZ­Ýç5í_,‘ê}c÷\JˆtñA¼äo¨X|VëÁâ²»>›dWQbÀ'ZšÔ¡*'Ô^)5’&Zۇаy¡Â¯ï=*Üy*Ráf·G1‘‰*m^ÃË9ÉÉ-*"ŸpØÒTäóf@qø$>œÁç´ªff›l‚ä*÷±h¬sõn÷‰»ÀK‰©T«0~J#ö±˜îǰâðc†	CÍû"ê䔎
ÖøQÐH8V¡õ_—.}ƒ—õ<„aI-æ¸_‡ñc÷J²Qày¼Áë¸b§WÁçșÎ2_x›"ÒQF?è=3Œ²}¡„ŒbñI¹Ø¾È‚ã4¸FzûªÄ›^¿Ÿ²Û
d¼0»/+,¾)kö\Îräcð‚£gö].EŒ°E
{
AíBùÍÄ8ٟüØÀc[¶CÀ+›¤f Uàð'aXâŸðXèýK,\^°ÛàÉGà Ê¥u‹0c‹°<ãǞjVÎÜòjþX?ϒ¡	ý*É$x)ˆçšÓþ5¯y‘ó	9q>{bÿ^ÏJ×ù	_ÂT’$µ˜PUcöéuËü`ñVØeÏø½Å62,žµSJ!מ¯ñú2wŸûì4IùÇÐT2©_öOï-{Þ VP^÷²^^cs~§°ž°	@“ÿ€½[‡(ìuɪ¿&ÞN„ü‚ß…È/Жù¹‚ÁއRº¨’_Zj§/1‚Òs0oó`¢,BÖ4y¶sŒúkâ/¤´ÓÌ'’~š)˜og<í«—h©(51tbÚ]zÈgê´ÝFcÛPK[šQöÓ0&;ͰWð
+
4ó­´0×T¨0›¹ßA3:E7ƒ*ͨŸê3¤Éu±ƒºÜ"þn©}4ù^‰õaÐhE$lÌ£Íöº˜\6é/4{Ÿqø‘º
~ ¿ôy„¥¿ 	ƒ±6K
µìc†	“9—$Gxëm‚Â[XáEƒÀ,Ö~”~‘é\ÕՂÔü¢
^â€ètœ53Œ†ÕtŠÛ¹&,‡g|—:e¼S)Œç¹g’UƒuPlZÇJ¢.V)¸œÿ:ƒä¼\“Éâ*¤ßWƒœ†ˆr!¬îM¼UhVå*¯æÜ]E\aÒü’.éªÒèY&SiÍæJÕZ%òï‚q›´5D’4¾_áhGÐlªœÁ’J¼$k¸&¢ØK”ÈJ2ØêK/^Þ
+Yi,=	o­žhU”šx3•3›¸Ï´$˜°³Ä%öávDº9ŸÏ—v†ÁbYl¥ËÊR€ՀQaä¯ìžc·‚$éÖcÐFS\Fbr.äÏÀˆûNú~[;Yª§õJcV!¾‹: 4_ŠÄÆ#UG$ûªÇ¡8}ºNƒ¿p\U^RGøËðóò˜ËK<O”ÛeÌ üy»2(¯nn°è–ÄòË{šdÐuþ*Y¨œ"U©B©!�\4	ÙgoOûËFRɊV6›ëó£œâãž€œO²]àñDDxëߖáðÑǃNÏê䦨6íe\8õ˜ïúç6c_9Ê@X‡WðïRîp
äÜ8óíUڐ,D?PÙ4·\Á5SsÉ-3Mëi³rùÿïÜú/…Ï3ѹwΜ93̜DÉ@ÿù±rzÈïÄÁoĄ¤fށµµyJº'äPü¥øýR
TŒR‹ÁEÒ""{w´î’´žFý‚Ù5|‰"—�»ÇЏ§‚Xº{—à¶-•ÿÿL'"«4Ha$6ñSêæCi4'©oÝ(”³_‘)uzÿm9Ñ|Á
櫘E"›˜gF]öé=-²ß%“ÞR<а’„iй:ô•zÖ¦gÝemüËÀH·[Vë"­³¦ù ¨ÈGÑ¢hø3¯’óÂÏZ‰¾~_¼Ø°†`Ÿ!ŗ)à{ac*ùãÙÄ	æõ¦3%aN.UtJê#h-xV0lEÒ!,¼þ D¿ßÌi! À³_·=H§ñð‡±ä×&`á6	¬L%G"Ì)•á±|ÅãÏÀY܄´ÏÆë‰Œ…1D'›½ÙuFkù]HO×;k66]Ô%ùиøÆÂ‹]âvºûÁþ4˜í§Àxoaµ½OÁ¹Zâf4†k†Kð�&·•Ó¸œz]¶:–Ðj^`­.Nth_󃚹|ëÖ-ÅIØ¥ŽX>p‰{
C9y_º€S„CChj~€¯4îóf"VHFA]·w ܚ 0Éí¨±ƒ ¿c`´’gÒ�!!Z@P†ó;¸´ü�v}2ÊäbÛ~u¥ ª —d„cÀzýÊk‡ÊÑÆ«´16<àMb÷‰¾ A°ÊF&þ™¯u{Œxƒ
ø-8’Äý1*}ØЫo"èöŒ‡tÙÖÁ<¤í-8·i„p�±ß¥Á;½ôË7!7¤BD3€‡üU6pÐÝö½
:öWw³Á…8À½Â°ì7w°aÚ.¬!8!öîpeèX9‘òïUCÎ^ûýzˆi¦±Â1©î�Û¸BpÙ¬ø-¸÷ô+!ÎÏÌæZ{K—ÊÞ÷ø ù=ßRN6uÄ`“x—ö¿yH‘c±ËŠ?T“cNá¿#ˆ
I8Æ¥Èڕ?JܕŽÓ~Ù®&ÇxÑmÒ·wØã˜MÇóòÿß¡N])Œ`•ŽÈYrB*»;H¬ý´ùòý-Pˆ_j?@ho"ÿ¦ã%'Ë
lã6Â%¹UI<à˜´/�’¬›ÿ¼#Ì©ìm‡yaN”#…ÓPÏÕ6®«×öªº¯4lyŠå7_ð®ý‰ g¡¡,ðÓ/vçá<*ú‰Þ}îžÆ´
œa]ßUõÔÒ´WhËôak#åLÁbNÒ¥qP¨–Ä8ZÓÝÂF+aÑÁv¼ñx‡“Cï?h„ð
å|LŽwS	ÅCæºTr™M
+7>œÎ?ò6›Sê°8ôï™Kÿ»f.µSÒÒòbu§AKCøb‚ÈŸ­=äÓM®ÎÓÝp=Ïý)0l…‡×¯8Ül$åÞ?jëÜe¯w/gn>óÊó”~Vcw¦z³VeÏÂê®´wSï
‡»²©ìá-.­>ÀÀÖ
²pЁ-’ã²f9¥@&›Da“r¦³ÉG6Mߢ4Î^òo±³˜À÷_ÏÀ1¬§;™wv	Y.’.nß0µÈÕIÂ)è~Ñ,®Æ˜AW8¨ ªß½ò'zù™ëä–=p-µ¸”ÀèR
+<ôŸ³É±Bu	3*Kn‹þr¥"©™èƒ‡4õ8-
õZAíÜ㍄{úl؁zˆ0é&M‡×a¶¥½˜NÂz.3éC*£!:~ˆ¡+ŒÎ¢i+oº[­!3Úë>ƤϛÌE\Ú]o`dQ…ÊPœ&õnö_:^z™zH© _”™Œ$•»»/²†
+’	íC\½ùÚ;ù׊ûû*	|$þ…¿joÂÒd¯`[(Ñ©[N
+øî.¤|À¡òüŸ…ꯉ´ðØý¬ê]2èqˆO)Ô*Š”Êe³’Éñû¤jj
l…Û4£•„ÎÔÒ¸´¦Ùÿaô….§Zzã¥ÂÅ}S¯—¼~Ãa¼Šò»a2šLn+‚~ƒýFÖWKþ™Mä„jãöj¾¾2§ 
+uVnüñB&ç´$SA®�¿­(ÄMN¡žëE9Ï?Ôqqä\PVõâøç·(XE¦z÷—�åkDxk)™ºÈD¤ûúc‹´²è‚°ØLsÀÚEO#¢MJéš½ÚX	‚?Äë<I}’ÚåqcÏ)d€;r¦KlqM2ZΩð‡AèíÂM¿Œ¤çèÃÓ¸÷•´LÉeЬH4(–ÄF
+ªªpŸûwÁZ»ÞøÔaC<ø[jk´ó#© Å Epíô'ÁŸ;‚ýóÒ'˜‡PŒ{žmHžóÍß½ü ®Œ«gå,¿É\æÊø™ß7,>56#ÈeôàròàxºNŸ>š"µz	2ñóÂ(ù¼Ž~Xo»ólº;îßizhåõ¡dîî¸Z…ÕgD¥(zJg?t~öG+S(PïϾ¶N‡Þ/…+Œeè1"«Œ°xY Ú	Œ#<ŒOKº[¼(„?ðyýÙ¥Æ89¶Ù]‰ÆÚ
+Ó¿Æó…Ú{™öÕ]®q£±^ª±ëx¬TÌҋŽZ™§CÀûb± ]Åн$‹¶óW,Æ8—kUêr
+Mš^H—èaEDÍî“Ô‡F½“µÁ«nû÷V]#õ'eMŒiԒNµ¾,Õ@±ý7‘­1,ÔrÂ"Ð9cÜ®ùzñ‹uŠ,äâ[7Èê.ɶn…ê;Äö·È^µ¿ÐÜç#"’3šj‘?Ì:w­ŒÔË
+цSRep©™šaÚU)ߎÍ+!©ócFiû/-1}»®¥þÞ\bO¹öÖ÷\Λh9ïˆ;)¼—ÆÛ»¬¾ž
¦aËzVžnâÆÞÖÐö1ØÍ‚¹è>èòzÎú‚8«Uz}µ±5Pÿ_p<›
+oz]PĸPT8„<§•q¼þá;@}Ï.X7Û:Ån_;Ͷ]i»¯ýz[+”9mü‹¶q5 ´ºÀDN€àFSy½ˆ¯ÞÆ– Ƙ>ð0÷÷²þ7ê²/>ÿÄcLF.ãßy¤üù7Fx¬…C'eÒµà:[‹³ø‡£ÌCº\rë!]®¹…}Ì­à:[è}·‚ë@n“Ï2”Áu ·÷‚ë@nµ}̕à:[m¾8\ĶÁu ·Àd·‚ë@n=¤kÁu ·Àä“x‡¿äö.+˜r‹6¥Sx{¹EÛø)¼ƒ½ÜÂ)'ñörë!m·ã¥O³ßB¿¸\r‹ºÒ¥à:[ÜûîׁÜzHׂë@naй\rkñ/¿\rë!w‚ùw£Ìs"ï`¬eûé(kÒ´Sd
µüÉ(ƒö‰~4Ê<äi¼ƒý(C^ìÞÁ~”A.'ñÇF™ÈÒüx”áæÞÁ~”¡ÝòÞÁ~”¡\þ£½º÷’ç¡ðpŒ–UJȒ"”
*â¢(¢¼àâSqÿßI:e´TÚúC›&'ONžáDv0—2|÷ͲÃEb9:•É®ï`›ðGd=„-›ðGdáôíØ“0ð‘{M‚‡°eþhàVÚ±	4	à”vØ9ª8˜Ê€ÇŒ6á”rEʌ*枔!kÃ&üÑ$x[6A“2ÚV*óz.sOÊd})¹,e؍+¹Ì
)ã™×»@±¥ÙÁœÞò¨ì`N
+JÌI!vPvC
+²ŠŸÌIù1'²ƒ9)h*vdvÐý-nñ
Rðæ×R€s1u¸Î‚ÚÉû®3¤€\ß¶ÃEÊØÊæÈj«™̑õÎdsdA_ŽÈÌk;AàoÁ[:’Ìý­‡p&;˜û[…ùÎæþ’ÅùõÛRæ±p¸ÎHb~3‡ëŒ”a†1q¸Îø[aîp‘2¸/¦×)C<fæpÿ&eÉ
dA+ÉæÈ*Š|tv0GVח㲃9²ø\öd‡6áR&»¾ã³ƒ¹”‡q$;˜K vdvˆ"™K™‡Àb沔ÁÝGb沔Á}Áç뮔áN~\ÆÏ>Ò=)ór™{R¦û17¥LOKi_ʐŠI¸Ð-d±c	÷�ºE|$á@·ˆ-Èæt‹ï‹ÙÁœnÕ,vlv0§[XŔpIex/6¯}d=„ýÄkYÙ)ÙK¼»¥ìeÜ+eBÏeîI™‡Ðs™{R&3?ﲔé®IÙõÊ)3¨˜‹R†î‹šËܓ2ÅÁږ2ږ”yg²ƒ¹”a}q ;˜Kî1²Ã>)ã1²h»‰×>²°ŠíÄkYp¶¯}dá¾Ø±	”2Ýõ¹)e bvlÂ¥9%6ÁBÊ^Û	z—”Á*ڮݓ2t_4ZwMÊP'«¹Ì=)“]_Ì(e7)Úi)ÛT1w¤Löc/.Kêd5—Ù•²ÂÁ©L^å(Â=€n±c	÷�º•µò(µ¤Û¯BÌ¶Ñ³ŠŠ9mÀ6zVÍbv-ŒU!� õ½ ¥”å{Œ_c÷ì¶y¡ÄŽ)Au™x^º6È×ñIzÇ™zàSE–£�r:ˆj%µž
+'O¸rì“áÉH¬„îþŒHêt‡J½il{²»4º4÷ƕŸg58«ÞrëE¤U„Žð…™É4+0¯·ó&ö–u**H÷1$y•Öo;@Š�žäë|AØ{™‡qbL˜‡Æ’†>É®<•º¡ÔÐÑÜE°ÐðAÉ-Pêóuýz¥>ƒuMVBÍâÓˋ
+Ep8«1“å4ÿòY¦"ú¸ã¡Ì'	†L×Ð|µv}ÃO–_r°ö4-pq7쟥àÅûšy
þPÚÿ’Ü`EÀåZS~ôEN##MW,õ–ga\Žd^³¡$4Ã(
+žÌ=dpÁdOgÜqŽÿÿË©“-"ø3}‹v¾€k^*AQƒÁ~ž`©ìå©.K0_ _õ¡<ÒU¬j
+¶Õ!ÿð'J›ÂÑfU¢8ÿŽŸ§')>[†ÏÞglDŸ!æçۃ…¹YjHn”ÄU¸7ñ÷z‡íå[åHú÷g[eþ†ÀCȅƦj”£êa£ÓjJéÒ¿gÜ
ÿŠ£$X-¶¡ù±£à
+[ÈÎÅÂïõ@Ŷ[Œo¢®W…àßÛHê^;n_ŠÇªæë±”ø•Ø85äÇÖÅ}ž+ä‰mzuýmò萳­_êu²ùׯÇL#ýSt!Üp̋˜2€ŽMž<-$yÒ,Å?jOmäú’ÀIíÚKáSöÊ4&D÷œí-\Å?¨†HH°×¸ðWsÀaÔç¡�lòÉ#޼ѕF¥òÜËb’Uؒ™¼»U”d.'ÀÓÉáJHÈ=Â`òG{¹@u!cQ*Ú¤¨Kˆáq|áֻƺEe•³7JÙ.$ñcUÈJøÑ‘õe³0w#V/eG!´e!@ÁZ!²îo—‚ø×¢ÚÚõ·å»‚÷²wУ%0 M–CFKt.ƒ&+Ë!ÿy͇ ½tî,·Þ‘f–Cç{‡€ƒU
-ÑéŒ,ÑéL–»†ô
z·D«!³M�qmZø¬æ‘-”†sëN–F–�JK�¥÷¥u'ƒ²œçÛ@iáµîdim	`ßï·îäÑh*óŒ&–�ŽÞ÷¨uòhº³Ñ ¹ê{"ö{Ï#1Ûþ¥<�1“·l¤ôYÅ~š™|N¾*ÿ¦?àÒD8~~½J€¨eñ¦q`þf”žN¹RO¢
,‡]9öʒb¼û
+M*;s2ùîÉ»7–޵½>±èCù$¥›\±ßÐ|;P^ÔDJf~œOe
PÒVÄPz«0ÿK·¤j@³€;¹<Uþ1œˆKï X)ïþL7V1ÉÅ ^¬’HÏ)@bˆVöƒ$ÖZ$Ìò¸ŒŸß°(š±!ô"
+°MJ8f¡UNÂÍôU&]«¯Ä‡r«á½†UòõÅBȏʅèõMY¬?te‡õ¨BBD™†øýèâ­ÉQ(|ÕÎãå!PŠ*%WÀ¤6è§ßŠ×ëÀG¥?î00ã
«Òûûgn°~:Sb¯ô’(~ÍÚKôâÐYe”£ËÚ"š¢ÝÆ!ÌÑ$º•£ޤF\ÉG‹Z×h›µSþl/‹DùCO´êÿ¡³
+¡ù #JÂ=æÁÛ€Ð¿ã*hEÅ?'a´ڐJÙ¸y½Í-²oßÁÛêi%1“;+8¿%½Ôûç
ôKz¥ÕÔ®Ùîdò×ã¥WVvŵ3\Pð•ñ	Îï,8¹)7Æy¯ÒhR­V¸ó4ª‹‹–)b]
Õ
.¼OÏrmï÷Ø=exU®ç‘A¹—wŕû
VÞnùßeýâ•û¢trøW'ƒ2ú­æ^VÑzâúì—?Äý‡wQ„k?.cøÁ­òéì¸_´Ž¿7"Ûæq
+ëw!ˆ{¾x¾@…ƘÉ({¼€]­Ü’Á|o¹9÷<«Á¾®¯œ+uïαÛxá!2ui-‚
,†¡éD'ù:¢¦<ÅÖØË<Ó¬‰1ÅóBO!âtÚ†0”¡ø‡Ï2­ÑÇݦâ€OR’§†Qz‘ÍK!x=W.Cño˜Ü»(uU‹Ìë0–Ò+D^½ç—¸	{y„)jÞÊ..ÚN?o—ø¬˜qðAÄT¯žþãZ÷ó…þ›ç!)ž{ëøjOt‚'?ž,õ6orƒU(Å4á\˜f§*âÉøÂÝEËpt­\ ÂÖSLbHZà‹‘ÌR<‰ˆ]ÄS.Üïõ–Cw?z®ò¸¹V×ÿíÎƸ¦©$3u¥ê0üÐBùe9
BbÊ
+ƒæMô5tºtXÙ<üÙ
+铬CF÷¯1?_&ÿY+š9¹Åÿ
_Ëý*W+R³Ï¡7*LsÞéx)®ÚõFÿÑiš	¾Fq«ì”
9ñŠ ÈDrA©I¦U~iäùútVÐê.q%)Zٸ« Òp!²ë£4Z •ÙvKåeqDìÍħ>s
(û„F™.íECΑ.iýžÜæ³bñ–Ì}Ÿå˜»€²
++ùßhLDýЯ¢PÂħŠÕ_í¡;�àHfwŸ·‰‹bj0Énd­íU‰ôÀiõM</©Õ¦Ú%ocÔ¥eÙª<–Ãò¯ß]L·xzÅ)v¯ÏÀ­nvØä ‚z1s×ÕH‹ÿÙ/ϵä¹% @
+DŠôª"‚ÑWł€ç¿gÖJ#"Ä/øoÿÉ¥IfeÊý<£æxå¢$Š­Ü:ɬ‹±›['™%ºo+·N2‹S¹3·¨I>'^�µò»Ø·€(܀S/àß̱½9ØÿûG֓ÄZUü´Òlæä˜|õÚ7O^r¯qO£xi9vs£iÛ͍£!ӑP]‰5@­Ä±¨EƸzÙéÐs—ŠÕçÙvö½K»;wõ•ØûÞ³Ö©íéT£öj&v¯71¯6ìEå½Öº¨µšÜ²z}ÉøDÑúxá¯åéRF:ùrþߤŒ'Ýf·j”?–2ã¸6p«j%Ü›ÿ”·ä„wvß˗·®¿Y¾,¸u1ށk·Øcv{ùÉl®
ܺÇÀµ[èd§Àµ[ºY8î܆,¸§ä¸6p«î•N€k·Ä)9®
ÜZn.\fáýø[¬þ>v‡í¸Ew±Ýa»¿…Œ9®
ܺÇÀµ[Ð}§Àµ[mq�\¸%Ln,ôk·.çÀµ[ã¸6p«rìÀ­}ü>³ b{Ù¶gª¿—Ýa{fM{å¾¥ÌkHx˜½ìÛ¥™¼Ýa»”‘©ÜÃî°]Êà[¶íú>ÇR†v»Ãv)SýØKuJŽw«³ô¬‹ùf©dì/˜¥gqö-]Ûôù"Ë×¢©~"ê·L¤1¿`øÁµ±Ç­œÖâ‘O|v¿ÖÞ҉ÊᙂÔfßÔó�Ê3=·X¡
+gŸSàm$±or9˜‘ÂGbp¦Ä…GåE¦¹ÃWê¢!ò*“O¾ CCbk‘¯H­øï?$À¿„f‘FÓÄP¾ÉÁ冗ØÃa¹Ïc€ŽÞÌËÃLIyM’~—Ç~Já¨ä¥Ü@®µ<¾}Õ4—ø8<T:÷fcZ&ÚãÏ®1\ElñIÚ;Ø,úñªò¡I…Ÿ'oU©ÈŽcáçtJê~f@ÒÞBg_0%å”{´î
+/)Hj\¦¿¢^9Ӊ$á/	t_öJhªÞg| 'aƒôÜ?íë“u¡þUyÃÏ\,)ÔÎoŽ4¶¾‡Oã“(Œ™X5Ý÷ÝB†”Ö:Ë#J쑒\0f'û8õŠútÓÇäì]±øí>ñ@1^æ4þ XOñìQҖEžJfOAïKå­êʛ¼~ªX¥”^û‚‡¤þà)™•¥¥¯wý2_ÿ׸|¨|•I챚Ķ2à`¡ýf1±œ/Ë^¹RƒâĐÛNQ,ÿ‹Áe™…9ÁnKÔÁÀ-фÌL}’ìMfŠP¦jNö²çq©è>Ê
+õÂa:GTÄû£·‚Pk–€0¤aM#®
ä4÷
úÄý³ò©ü5™óæΝH,¼`Ýý¡»Ï8¸o´"úâñ×`bvºÏ½Ïxø°:û©9c&Ò9´õ Aã H˜GI­Œ£l<HFi®¶_ê#·À·ü|Ó˃×{–3vÇ-¾Ï€‹Ùu“xÜu‹âç¶ßßò˜ñ»Þӈ„6ßb¯Ï±.ß:=*Lý­>Q1̉ÏÔh%`j:Z÷ñ¨ª`u)þéûàcýiÃ.FPq1̏™ÈYáÂ`²¦[<šê”Äò0Äë¸æÖIlnœÁ´âi#%Y=öOE—Ý.%SÂØw,:€Ð&g¦ü{÷uJÉbäƒÄsû毛{zi»ˆ_­ÍtùÄ£wὌù2îtÐÒ¶¶ øڅê4åÖÜLO,¥Ó8Ñý¶dò&ì×t¦{ÎlZ*)´]ݐêWU‘î…ûó(þ%SÇAÀòa”˜dL-™ZÁÑC~é¾õ�£­OS5#¦^	w•UTäAÄoÄaÊy-Ç7ËMδò×Þú÷Î	ó[oý{gM{ì'où0w2PWûq.„SýWÞä­&ºIÛ+Q_Ä@nZ0‘2dúz]ºæ®­úŽ‘µ,<Íù̯•Ø8X¿˜´ð¨Ƃ‰AZ#}ãÛèëÐð­î>ʹ·üöC žEª²*‰®
$gˆt2NÚk&°™O£6'ˆ=Ëây
+îÌóÔ8­YÛ}™öA,1ÆX >�=L%l|ë–~ú¨´NäìââÜj?}™@YöÆÇ°#ο6Ù8ÌØ7kdq.V[‚t>#§EŒœÖL	›F4-÷½c‘ËwÔP­¬O.¶Däü
.Ã:LàŠx4±%¿2%¸¿ì´%˜„6¾'ÛMIklÑO …Ł’x’‘f£(ró¼€:ҝ5äç|Oì&éùQ“´Q•Ô�ÓbqâKgïÏâO†´õ	|òºþ|ƒEï§©tCQÿÒv1˜îYI/²a4%êÆu9j,‹Hág(HfH;óJ0¦³
+-Þ¯ò84<eòíò	¹á	aÚ0ï?Å6›99&Ý´„þÍEWÍÇòí`ò’{{ÈæY,¤åØÍ¦m77ކL’}÷J7¢q8WÆÅÐu _GØÈä»üS¬>϶³ï]*V¹ëÀøìÐgMxÚ³ðdb÷º"ñªú\äÑëtÃÛdö» Á“[V¥Ê¾tÙíýVäïþî»Z
¼¤V�œ†ƒK‘¼ã^I”}v"Y†ù}[‘6%¨€Ò>ä¬Â›½È_êU÷%`-UY,Ò©I!¼lò•›[ã T?�ؒàݖKËÀ¿Ä^4R:ôúÅÿe/¿Ÿ‹ƒiSÀŠÁâU¯B„Gºýž¨ÂÓGˆð¸*=•ñ*¡iÒ9O5'Áv0é„Õϝôì1VMªÞɁì¤hrŒú· âHxŒÒ<º%­Ž+]n¾ÑùDஉC³oªËs‹ªÉ…g׿….gGË¡ œó^”t\‘3&Ÿ€}rÅP»ã\ëêl=À‰Œœ
+?Ðy©cì Á"éNJèåƒEt@p"§—«ˆ4š&ªÐ*ï˜Þ°_b‡IºZ5îù«‚ž_ñ'L­Fo6¦# ™×5YnñÉÍA1*Þ_×ÛÀƒ÷°™*ò?| îK&Ýáj…8}ŸÆ'	xO¾Nâiµ¢FÃK‰t¥|x\¬ÉÞ³Jە¹O܅X‰ñ
hírT,wZ°Ø2|ƒJpÐØ1|é!ÿµtÞ³dQ°hì_´‹‰€5ↀ‘Ñ™|&íØ—`ЂwV"j$‹h°(Ì7µNîvo aŸIãÃÑXÀ0B8ñë/³¡>s}¬éªkh%B_ZÅax®ÐdƒPü$1ü!
+8:ù ÈÈõ®‘–}Þ¯Ÿ"÷½ðÎ@I¸=få*²I„K‹±!BŽ%ÈÅØ!Ǥz~¹u"A.Ɔ9– ºWî!Ç„Ù-B;$(ã/rª³Nõ/Í8nô‰é"ßbY]$ސ¸:á×ö oT*ð/‚ìuóUË´}Òfÿw{Pg^³ìAÛ· מö úØÿ�žÅi
endstream
endobj
24 0 obj
<</Filter[/FlateDecode]/Length 9646>>stream
+H‰ì—i_ª\Æ?ÂPAـ榀šZ9–Ú1‡Ô²ŽejßÿY{jÃñF±wÏ´‡5ü¯k¥ª‰¤œn¬rœÉÿUãùfzš¢Ñ¸¢©2#âhrÿlȌ‘-sjû6ˆŠyQá´`@“Øt /õ/ç**ô}3uîµ¹ôÍP@wYµ¾åz¬˜oÞ«hÄ´uò·ˆGóÏÉ~
;¶41}Îá¿feoÒ(ʌç¬$L•¡„ŠírJ,DQKKLT҃÷º8¼ŸÉð
+҄i^KIþN­‹õV°Ô¬#”Ã/‹’ïñÎó÷¡Ü¥¤=§¥þí¤*e[«,qFÅJN#×@ãA/NU—}[^áogœZafrºéù@B$ÄÂý*Úúj,ìWy™ˆÈ©ÊÛ^ÀGÑ\úi%ã 4ð:,ÁæÈß`	ї3¤ËücÁÏ©§)F˜VʆÈÏ5„&ì{H˜ªJ•|4/òì“ßZʟšãÖÂË0_#a[ïòíQ5¼”–—°þN_÷!%½±¶Xœ³jæá*öêsëÁ –µ¾õ‹é/ÿ±ôtY¢%V=ÑáÑ7œÓ°v9a}“½U’<Ñøó’³Î€Ÿ~M<w)™Aµ~–—‹EXŸ"¡õÂÁ7ïmŸ‚þ‹„pÝ'ËqÈùE	ƒ÷ ð4Ö½Rwù„WNC$l8€>tɟ>Oâ
Hýf#«Šwœïv†ÏÙ¿±ÓÞåt±–Šöð½QÃÃ"¡­C©¹¿hÄÞAö+!#4½ù0Ãk¦®ÝDä˜r6&ÇΚJBË4™d_{Š–æ™Fæõß>ËÞîs=ÿ]Iò?´¦çɲg§m„9§?r¾ÂҤ§£öƒÛ y
½ª	ø'|äKø~·ˆS‡]³ìĖ#ðÔÃPô·$Û	ËÈ;I2¿ÎCr…&b9UHäÍ;/'!cÙŸ­H‘âÿå(R;Λ}(Ø31VÇò¹LU»ÓKžºÄ*Ja±P•¡žæê
]+üén}ÎûHàµéϵõ­²1µ¬|Ï`ì1SÿðNÎ¨‚p�Eθi2¥ÛÛ¾Ôý¸?צA„¼™Ù[y‰ ¦WqëÁðšÔý}…Þ†MÁºð°…pù­°®+9ëJŽlî"Nò¼µ}Z®ËŸi!AWª«4Gz	J»n†ù½1$UNڛšWãï³Y‰'p&µùíö‘˜3‘{‰²2@†ðôFG	å¬ÞNj¿/vÃMs»½sÿ-¹j-¿=”2P'~4~I¨hҜq_ñï1øÏz°¥¸Aļx­À{ZЄ¾	’Éš¹˜}!à]¤8#•µn…e!åÓ?~¡Í¦2=b54顨ç[x"”덄Ä aÙPÎ"<Ñh’‰8ñ×°ßãµI~€~3;^üYš2қyTH„_„3D3DFP)1RQq5º€z©H"?Јˆ@^ðbrúæªÂ/àJBlµØgíR¥€çVÁY-|Ò®û
ž×cžˆKIÑöá-zAq^/ò…s	“ΤÃõ~åm«¦G¾Z›Ð	—/ìçÄ6ºŽ+9Ròm3Åú_r´õ�ûI…³i7ZäâgÕ¡ðÐ-ö3…³I…¢Ï'M”M_)åh†ŸÓj³Qç=ôŸÀÌØ+ÙÒ=Áq©áá:¾h±n/#òEî²KÀøGE]ß%+eۜA³ûÊd1acv‚†¬ðPr¡ ì:ôƒ´¼ž'э—ìBù;ùõN®ãût(ßÌÊ4Ñ
Õ ·>Ì4™7m ­Þ…ÓeŠk&gj3|•‰vG>óöþNÝCÑÆÃË{Nv'­áڇžgm¸–ù-êš×ÖB&p?ºßü68¹	ZžÉæ=¼,¾’†®Üö¶"+µ³§\Ž{M]\gƒ´�\²ÀÇLF¶V¶VŒW>m"kõ¾ƒØº‰,f²³Øº‰,QdG±uYØå_±Å ñ<Æ0o„~ºsâñ•mæRFøìçaçMÆÃ?=7`çØjãIWÊ·ªp�†Þþ´ôµå‰Ûô“9gÇ
ýb¤xl{Ömgݐ6V»‹ÑËÚlñÛ.¬ „ðßB–ë\ˆ¦ÕÔ®#ø›læ×V{ßOl#?¡÷·£ÔÞ±ÒÆ,DãÁ`ÄHØÆÂÈÁ—9„¾Çã íÿY
+—ppã½~r^}lïõ“ó¢èc{¯Ÿœ—©b[Þk3:˜œÎ8/ÖÄ@ï?18(WƒÓy´ÒÅÄàt^°9¶‡”Eþ?‹ýÎ,6™®k�v{؄¥Œ0Ù¹M8PÊÌ®tl”2s~qlŒ,¹Ëñ
ؗÈRô¯°/‘µý˜[†&åpèŸ&¢÷²	šŠÞË&h(z/›p IÀ]¹±	Ýf·M8Ð$PûلMî—=l&p̹M°MBšÝKÊ(z/›p ”}qn”2RcÎmÂÞR$¸…ì»®Ü∹®ÜbEvÜðہRFòò_ÀyöÉçf*Ûr}‡×na·Àu€[ÒûÛúêGÜâ]\×n)Ú5pà–T²;à:À­©/_€Ë{*ƒ»ev؍[Š>Îì°·¤’îfv؍[k׳Ãn܂ƒ=Êì°·í¸p‹kìyì
+¸pK¹®ÜR´kà:À-®1§À=ÜßR´kà:À­5‹¹®Üb&»îwÜ^οD–ôþf‡Ý‘5çJ÷³ÃîÈÚäÿ])Ãyùyv8¦”aŸ|ŒÙa·”}òc¿&eí~vðÆ_„ÝRFÑǙvKEgvØ-e؍oÍâë¯H®d34¹?G¿'eԑf‡ÝR¶öc¿*e&Çö˜º4»¿”Šev؍[¨±£Ì»q»5WWÊpÖ5kïrdö¥fÁ)ý†ûR³ØýW՚ü5…�4‡]ß%�?‹3sûm‚ÔÏI
©ñ‚÷Ùb2a•ÇÄÓÄ@v¤ošuÒíuÍßnGö‚M¢ñ ÇowÉ –•™T6'L•¡$ò=VGã¡¢JÙN¼h¹qX¬µüº˜ÔËÃKra³s2[»©0³/â…ö‡Îø¡ä4UfúÝ$ô•‹yñÜ NZX'0?M1´R6D~®‘Pú„©ª$PÉGwHµÙ‘ ™lÇÉbvòˆD‘ôì:M-è}(‚îÀ«u{åìÚiV€Ú:ž\ˆƒ¨µR’0ÊPµ¯‚ä÷Þ§HLpÅßpj{áùGEäÒR’A“„/iÒ\ÉRÄ+Òc
+xQsê*ÉYJN7?š4"<Ðæ2“¼‹Ã“òŠÌ,iø;þTfàÆÆ~¯O
/ŸÊÀd|eÃ>X1‡_µÐZiț§ÿ£½:÷‚øä!ZBšºx¢ˆ‚
E°q
+*¼ÿÍlzDЁ/ù¡ÙìÎNù­K´öªô!©~%çþìQÜSò?z珒ƒ8ðX7g_ûPåÝ{³·‰¬ãÃQBÞWÔÃ¥Ÿí˅»rي:£€Îۏ»Wº6{žÄò®à±AòÎàßî§E­“—íý¨TVî=JxʎûeÕïwáh¡b©U<yj‚”JÁ¢ì­L\¿ìo‹¯2Ž-ï§Ë
ûÔv¦±–àš°²ƒBAºó•›Ð‹lDg"
IxÀ	¯±•bõi˜±ÿ‘B§¾"v|Ki™rM™ñå+á¿åÿRU3 ’NûN¤:яMú3¢WüÛ´*aèÀãOAFymƒ\vJ[R2.ÄY0 ¾9Lr4@D”yrDk‚ëD7îûNÞ§ËA—4NN—‡
+ ',
„[QJÙيœä•Öly ¸màÇ%Äñ•yWìóø¯Z"îE-¡‹” »j5Ê­ZÒQx×¼‹khÙåûˆlàyÅÅEVxYKHÆ,JÍVdGdUzavìK@;’%PýŸuIJcOuÞ«ÌßzL¬_x—ï5ãNNO{Ä*
+£¯q@•d~ÚÀCA]ô.8ôèÔƒVD™¢„2¬Ô÷W‹ô6±k%ÿ¨Ñ¦cK'†Ê²ë•_|º´§àVo£œ®î?X‡øIL­Pâ
+K\¹‰©BK%�ŠçÂËíªË¬¿ì®ºÌ*òþìªË¬Ú¸r›v3‹:¹4êʤ¿;Ákñ_ҟDåÿü”¾î}lxæcïãQ[ H- ’®TmïFœ¦­‡Õ©0•|¯#,¨àúœ8œÎ
+-^…oÉäH¡‡î‹¡ôÏbv¥ŸO<˜€Ó-ꉪ!Ìo\ø®>¸	™i%ödG+0Gªˆ(Óï2€UÔ«K<þÒr`–B·ó‹!'oÜê‘n$¥uŠÜ²ÎÜbã˚@"o× Åò %F†´ÿ‘@ц/iO‘ê¢ÎÍN¾ËïsR+îû‹’$ªDø£ö,&õ‡©º¼Ÿó ;®9MÁfs9< ˆ"ÏWdJL¸BŸãv7oý†…58³­$|3GFÁð/߁Znñ¡Õ¼T–ÿ.ÔüùP’‘éy]У1z2¦ßDâ›Èãë?ük¸žáy*¶@EDZY°‡òLÍnW¸ßÖU¸F/´ÜLËLùð˜\Ò)Vߥá@e–PÃÅ@¨¾¡‰ËÇá‘j‚s‚†;z‚@ƧèÚWU¿HWS­dä!ÃFª"L‚6C&61Íl0R>ïÖz®¡}ø€ÍRññDØéør± ¹ÙbºYðâ;:5¿�(fY_䟜×Ð	_àì[BÕDÛ7±Ò–6Aldþ`¢÷K÷êÓ>¸=.h
®UxRv]-"8Û@10d°±¾
+¤ ‘%C£Ããx/Š
	Ö$5âpôB[MBž)Èp|KIÈ3—´Š„<Sœ²š„<SôØjòLAP—Õ$䙂Ћ­$!ÈòÁü×އ°˜„n Z‘8B¡Pc¡¡œG
+"S¹„þd¶XBBž)ˆ¢× ¡Í((/ÎE¹È|^X'kj\…ÃU™I_¥È€ ôÌÙ0P®ÒgøçI¢dÊô#§Ç°¬BF#‘ªÚLBAr"br/¡ RC/Ʌ°¯(Ö2IøŸìTU30û§}âm¥ÅÈø (²>	)¨
+1SHe1á±y«
+VE#8Åj:£ªò‹q5˜éxk‚} ’ÌâÁ%ă])KGIlºP$çÏ0@‰Í2Ф*(ÿ’Ë*ÂafÑM†–Ó͂'„Èß©ŸŸ9u(_4SLeÒe§…‡“b±’òþËR1wÀ=e
+ìäµïcbõo¿”¼õE¢5_$7ná¯_øéóÄå¡,u±„dVz(ȝuœ’EÚRßֺЗï&€ãôÃæ»H
†ŒÄAëÎâ"ی°0C}Ǟ3ðçú‹?º#¤ø"Í0*ZSj$ORÉj¥p¢^•ë¾6œ’­A³ƒR>Ò>+©µë+$T!ARiœÚù8µn*…Nš0/ß=ùThÏ÷_ʗր*š*åNº™ßè´Õ»Ùh«v?K|vÌi|.$ÞáϪP]€«ÒÃÀM¹WZ­="öjÜÑÿpRƒ¸_
+ƱΡ†¹ÿàˆ.�QúL¢�ó·?]¹õ’Y¨Ëš¹õ’YŠ^7·^2KÑëæö‡Ìfè5ôEoѤþ¨(z‹&õG} ¹$C!TLõ¿EUKÑD×BªQK×n[ÕRuí¶U-tò]»mU«ó‹K×þ¤j#ȋà¶^G!¼stѝ•§÷@§’)Ç&ä<_`Úa(ÚÇ>¿žÁÙəƒs«ÿ€ã»'p<CÛ÷ݒÙ/)ƒ§Ðs•êCðczwwE‹‘Ï$[¯†æÃ±Ù«¬½‰kY”éQ½/ë¢6©¥‡ã8þ’µêjÄÚF'»v[Tv–ˆZpKü‹7À]n)Ú3à®·È/w
¸%ÚòGÀÝ•¡Û@&ü2³˜±
dÂ/3‹§l ~¢2n9•QôFf÷—Th¹‰Ùý%•ZºÍ"­´TF@?°*3Xl·TæÐcRYbº.•Ž!™mFe·ÂFT,†d¶c*#³ßwLez'ïˆÊÚ3†À-q|[ðËáVӖ޽Ãr¸FފwX·pÊ*ÀÍ3kx‡åp«¹WïÞa9ÜRôv¼Ãr¸%=¶ï€pÿ1³ÐckæÖKf)zÝÜzÉ,"ÿz¹õ’YÄ1{n¹P™ƒÅvFeDÁê¾lw®ïbø²
]Ùë(¸.•Á)¦/Û•éü²c*ú�hî’ÊnöH'oÃ;,§2›¶Ü!•iŒìÝ;,§2½.+©ìhê%³väߝ+m¹±ãÝ<³#oâx7	½‘Lø%•Á)›È„_R¢å2á—T=ö]&pðó[¤2¼‹áËvGemù²ÝQE[¾lw®Œ¢-_¶;*£h˗íŽÊL®Ü)•Q4Ø1•QÞw
¸%zÌà®·„_Ö\¬ÁšÌÕ³d^¶/À\=KÐrûs£¡/!rJ-`Þ%6Þ´¡±cHû€tQ.UÛ%¿ ÇÄ;U‡%P•áe¾gvüÙê¢å¶H£û~Ä>%÷§E™	s*ÿ’HÂã¹PFƒlN*^¦ZC²Ý/k3m+énR…%rÍîÅÒÅÓs`óæz•ªõæ*@X!-§ædF®àƳ¬X³�p*§;åþÿ´še‘ª$•Aþ%—U„à }I2vþad‚Ô²§mf �+,’™5ËÔÅPpÿšÃU1:§Ó´ø¤­à cb'->\¶ kßy)´›!9Áž?äzïs‘}ʊ‘¼”f„G%ƒ2•xø3¾/•¥§T¨‹äæ¬_*§ß2r¾“
	E„êTfÒW)2/é8Y$3Ÿá<ü™üÔzýp_¶a–7,öË4F“µvLBð³®`2
Y燔Ϫˆ–¤½*}H«?Vtø(î)ù½óGɑ<$ÖmŸ=O"9×g"Ûy²‡uñËÀöŠzè8/«~;OŠÎ@¿}¶à<&¨>{ ƒ$¹¡ã<•wî½'y®â¼_f­»H¥ùUÁùaVÜvYcåÓñÚ«l-q`	?ï0A		Ù�5¬‚‚(
+¢(
+.ƒ€lßw®Î³ŸªîӌǛNÕݵý‘
+¤\ž< ¿Æ§ô­pSœ9‚DàL)!DÀDw!Œ­!wåqI/õ€¨Öït8óŸA-Ž¢áìi¸¨7Š&Ù¨ÊiÕ]Â'¾¼^>ÐÊ`EÞn™
†¡”L>¢=ÝqY`Š¿M–ÉQ%àtꎾ·>×4AQicJ%ßy‡"ŠI¤À!¹1@cÒ	òµÆœÕY—ïß­£´2ÕÔúP½»%¡95\$)õ`L?:ˆÇu@ìŽöÑQ샄¶$¹üè ÞÍ×âåŸ#q‹
+¤®´¡‚9¶¡ämvL%´M¥Q_6•Zqu› •_«èràE *ˆ/Ÿ*i“-ÞÑåØ2¸MÅä%¿M	ˆÜ6•–þ‰#rӞ,Š«	{4üSö֑gnÁ)>`šÒB³CÆ5̍€6ÅSàò÷cܾs«Ç‰©*8À¼{wȳø€¾	ƒÖ	ÂæqHÀ@4°çP½ïßÐA2ìD)Kù€úâRe`L\ÄÞ:Û­‚ì.PW+½XEe™¤)¢²bÿQµÙê
™¬[ME›­Þ‚Û„¸%ˆ^èŏìY,•qf±[#®¥,AQq	\œ8UӁ{ûRœn¢³3òäRF²Õ{doK½ràÀÖ¾ÕTí8Êãßêö	FÝ1ô•RË@ÛA‡ƒk*4'T‘!“)oTBÖ¬²
+2~ب)D‰Ñ®FSò Ãc€Ë65ôe¢Ðø‰>EdL¾S‘餴0a{¬SW*–öÄ'óe¿XϽ=	-2bŒÜÊ~8yöšêëû?XliŽÅýV2nf[þĽùrP}Ï^d'W¤óƒÏuƒ=š¿âcûÕbãagrÇ÷¡&»†¡_÷¦B§ ÂM^¤o}ï%Œ<<8ý<HÞ	ƒÅë@*UÈíÃs”ÔvF-l¸%¢v °è[ßg&ÙiF}ÃU•°A+m‰ž#”ó§¢×Qv—¶¶Gh‡Vt®
+˜Û[‰V…5¦,
a #*p—\»3ò*꫷ᧇ‡¶·(<Žf1˜¢!ÂB`1ïD8|—qIŠ¢emW/üãR£µ
”4웡GE?R•kZì ʭϹMh(0qé·MÖ—©bŽÓ*m.ØùaJbG†ÚÇ[l¾IUT-úPM£ºâêr06hù㣩*uÝ©Yøïqš¥\)´îw*±)‰Œ;x
¤§!z€Ò{\e³Xö¿)ÏÁQ¢¿Ãûü¨ÍÕÛp^Ÿ¿>¿N~ɞ„GÍVt½5L‹óáðbøŸe~ú¸'Ë_ñ_jöܬT£ùáãt0uÜýÝÃ%v4V?a[pf¿öì’Ë?ÅJ£ò^3ÙÏ?i”«ì’Íý.ð~1ãä—ßeÏI
+ÏÉwƒ.'ÅsN(/d\v”p-Æ1ø±T+ݎÓÖtÜËç¹UA:©]å«îܒæGŠºˆ–c÷¥$„è*7lfÔÅóQü¶qË_çÓ/‰´~¨äıÿܼ­¼åÝ{©OZzúŒnjÁfì³ë²o‹+¸\©Íɗ½'Ÿ\µ9!Ô÷ÂFÇøHp¡l¸Á…T_ßR\hrvƒ·áMù¯ÁҁJÿs`é@%!€?–TB³ù1°t ’K*~,¨d»üX:ö<üρ¥•É?–T"ÔüX:PiәÏÀ’öh$ÊXÝ©tw:ʐ©Ðj3ñ¯Ûtl4›mF<½ ¯ Í¬â
ì5eNÓ´ŸmÖOÛÍødG Ð×š‰yiUüù;SêÏy:sHˆ ©KA!³©u]l.€“Úð÷PÂ¥ˆÊX{
+Ìȝ)	XÀd¸[}ì0­†L‚£¾¶—
+…ßW9.a¬.¾Dáø”CAúò´JÒ~Áv9€ŠNˆîÃj5•”¬#Weã-ïR…FypY6ïGف›�A×±‘\w!y)7ۇà<×	Vží"W¹ÉZXnÊô[ß[y‡eE¡1ß%#‚PJJŠÄ…aÛ:ïjZQ­-æsc‘H®(0ù£Ó"îRw•×ÌzáoÍ%*_‚òӑcÀÃãWÑmB~-l˜L_º@NF@Öb°3Ȓo^o*]Òü$?Ÿ'§A7|ß
M¿ð‹¼cBz£ê†‰v»‘µM¼
+®“¤.r-¿ÂM"ö'º:ø8/#G”:ÒD¾"-Tè×ÛÅ]˜à¢•wË5ÏïèýŽŒç3(‹öj>ˆ·X9^*H<ÖO4µ>ô¢ C|çÙÄn<üK0sD:á-ÌW÷Iƒ°e"…t÷)�òÎÍk¤‰—Gù‰@dÑõãðW¼ãpÛ6ŠöØyÞZ§®à¤:ò„y,'V	 ®¼U¼¿[à'©›٘ڧysüÃ4@‰9!¿8·pãvª[·Ð^K Éå‚î<ü`¹ ®;.ðð¢y=èYN€ó¸€¥û‰,}.¤ÍÙÔ傴Ÿ@&³m©XH¶;Àa¤ÒMÃõs±Ò?ʬ+l'¨Nb·¹©Z N˜ç:]Ç	ƒ¯yóIˆ‚Ë‹üwqù •¾4!n˜ØÁ�f²ÛDðïM¬>ª—]+B”ÿñ6»Cß½†òiY“οË5Ôt~QûnRé_ðð[MÈâÕýUmËAÿ]ßï0²ü‰‰]3B¦)Å<ö©‰µ3lšPvg8s&¤'£‰~º¾nâ[I…œ”ý›	}W:•Ajӄa™ØßsÊká-UÍ5=5èèù&áDƒéÇÆºž´SŽ}u+u—®ãá¿4úfž«Š+Çþ­â՝Äα?Lhß½†«ëxø»†ñWg 9¶yŠðöj+G’'¦DÏ0OEÃkŒÍ®ã ò®ž0ä¿?Ã"ßM*Cù(#þ@䯢aìBnHãÚh["Ú®yùÙôõ¥±•F˜
0%jfü0G§2Âô~(VéJ S„3Ózñ#6öՇ“ÂãhÓÔö(dܕ²¦ög!œN}F‰—þ[!3H8ÝòÒé~ž¾
ü:úhD$K`ž™),ãY„ҜÁ2¢ËÛŐЁ°ïèè¾x'v«p—§^æ9“¨qs>Ý•µÉ½-º&ÿ`d· ¥lâ “åçä“-Ò\ÿ	ù*/–àT¤ÓV©æíÛß$—2LX¶ ä¼Ç5ғO!wRò)Ððõò~
c~jPÛ=Þ¶}&Q•‡wÓþ,dÓkŸH	eü¦P•Ç}­œá.ÈÿõÇr|`f¯»º6l(0@tŠ’zr>Â~p!©!îÇmÇ\(tMôjÆÛ9_cb/“Ð.}$sœÆ0¦œ7!‹ª~v+ûa†‚ÿ£½J»šJ‚è/xÿ¡%‚ÞQ4,H‘ÅÄ@žNH0	£|™ß>·ú%D<&êã³×ꪺ·ª«7M_ß}M«cH¼M^öM‰âšDYý½ÿxf{®çæ·Í˚?hM'²«Êþ֝!÷Þ©ÚY·Þ¯­íì^ÑKU.ZxñLß¹Fµ´ò„RÅNÁnµ´¿*ñÕÒñ†¶ÚÛjغx÷'i¸¨–+ÍÆ°¥N,	°I�⥱ÿŒ$îãs¤ºªÑ®‹bwãbs(û°²[²m_]Óæp®õ¡œ03ËowWȖ£Ò–}¼ÞêžÐRä^Ê0⅝šÂûmo:€¬¥ˆ0¢áÖùp	ݽXb¦Eu0Mº6ϗÕz@kåþÌü`þ£È?äEu±RIÌï亂aŸ½.ö³;ÉÁâý"ŸEœ¿šUW«§»NŠÜ«žÎ>šIÙIߝ[~QèP~ÒD6¥Ÿ¾}¹V°¶üÐÔ6Nñ=Q÷•Õä6\3ÿdf¤òZÁn
+{²e
¡çß®,þ]k©…ýí§)ˁÉÕùºöhí)-’×£vá£3_ŸlP|>(í«i”ò«¨þ±8[Œ5[=Gw•–¼¢º­ÿï|6—MÕV¥l,wZoòσ¥îñÅYÞdSSÙÊç´À6ò“ÓN½y™÷2ɊŸÀ¾>2©SÖ¢ci´~”M§µLVX¯–FµÖ,N»fï’=¢¡Ýõúöê{Ċµ
¬cÓÐF4°S6‹uа‘	VÿÝOøld‚üiœýíFñÛmfb¨)v_¢óúÄ[gïk‘àÍÌ1iØYf¡F=5”·h¹ô»XQÏÞcý&t°J¥q¢Q.ú@
áƒ7¤ƒS^Á!£“©ƒ )«¤u‘íÖ2ÞIŒ
+ÆX.³LÆÈ-ô0Aòè”qšk<³»™†«`3Aq¡”eNa§gǙÑS^	.t”L«À½‰Ì9î¤WLÉT¼rœ)g¸‘¶i݅A0‹Ç¨=Tä-̇IØÌ”Ö\E˜xœié°Êo\¡9¤peށ$e`7Œ:ÎúY•ÈFD«>ïåùv§ÕЩ×<ËW;­ü3ú’U·ÝÞå¨?—e„Ú1`Ö"Ó¶»3$M‡	î]”îVv$ÆÂ÷R°õLÂO�VY
Kí¹Á¥®ô[œ.:As-a4u³­!Ç>­™:Ìîb€w¬K�ËPh°êjސ¯Ú77\ñnb3úäI`S_ÃFæß˜t&’%B;bra‚–F“	Üџ§%`¤¤#ȊJK.#ä€”„TŽÄ%h
pDX\‡mÜ3‡°E
+:e4šh¢Hn“ð\R_i—æÛ7Öhã»N|íºn_–þ®¬UXà%à "
+7Zσ×ä.µõhp/"R€/ ̏P)ISVRÄcÀ°”§yˆŠ ¹:ÏråÎí¯7N†Šù…¨È[’Ú/‰
+]Yð’2<]d*Rv÷GäÔR5á‚-/‰KAG�AȌoŠ› ÎK\q­ÄØ×´øÂŒ’=Žì(/\EÜÓåSŸHQ?–¢ãËÿ„ZºÞ=@²"á7!·9®÷Ì ŒaÔ!‘k-$3
+E�®f&%î|¾ÿp¦CCç+Y” ‰Ñtuύžbghå(q$Ý×wMWqL?ŽMøEÍ5’Ç,ÂAJÊ7ÞOÈyKJþy–ráÇy(ì"U˜©à!ø}‰tV@
+BªfHV,`Җ®*àSc$¿ýÅúÉ@³c€6¶æ„Mâ’3E:/ù%P7š"ŸIºË„#ß¾¹ô§)³áj–Æ‘´CI¥/Õ3-\’Q€훻R5IÐh-Ó~”çÅ6N®EÌ S	Zj‚ØAҍtp}¡xeá͕ÞBâöªy’¿é5OÛxsô›ÿä¬ÙétÍA~ŽvÒËûÀ"gý¿ºŸh[FËñzÛxžý'À�=6©&
endstream
endobj
7 0 obj
[6 0 R]
endobj
25 0 obj
<</CreationDate(D:20121108194719-08'00')/Creator(Adobe Illustrator CS4)/ModDate(D:20121108194719-08'00')/Producer(Adobe PDF library 9.00)/Title(release_seq_final)>>
endobj
xref
0 26
0000000000 65535 f
+0000000016 00000 n
+0000000144 00000 n
+0000021707 00000 n
+0000000000 00000 f
+0000024726 00000 n
+0000024540 00000 n
+0000074969 00000 n
+0000021758 00000 n
+0000022120 00000 n
+0000028374 00000 n
+0000028261 00000 n
+0000023430 00000 n
+0000023979 00000 n
+0000024027 00000 n
+0000024610 00000 n
+0000024641 00000 n
+0000025124 00000 n
+0000025502 00000 n
+0000028448 00000 n
+0000028656 00000 n
+0000029633 00000 n
+0000034894 00000 n
+0000051182 00000 n
+0000065251 00000 n
+0000074992 00000 n
+trailer
<</Size 26/Root 1 0 R/Info 25 0 R/ID[<63737B81A31342A2823862AFD0ADED1C><DEF487BD94C84468BA957884F4DCC19C>]>>
startxref
75173
%%EOF
\ No newline at end of file
diff --git a/correctness-model/writeup/figures/rmw_atomicity.dot b/correctness-model/writeup/figures/rmw_atomicity.dot
new file mode 100644
index 0000000..8b1547c
--- /dev/null
+++ b/correctness-model/writeup/figures/rmw_atomicity.dot
@@ -0,0 +1,12 @@
+digraph rmw_atomicity {
+margin=0;
+ranksep=.1;
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="B: v.rmw()", shape=none];
+N3 [label="C: v.store(2)", shape=none];
+
+N1 -> N2 [label="rf", color=red];
+N1 -> N3 [label="mo", color="#00aa00", weight=100];
+N2 -> N3 [color=invis];
+}
diff --git a/correctness-model/writeup/figures/rmw_atomicity2.dot b/correctness-model/writeup/figures/rmw_atomicity2.dot
new file mode 100644
index 0000000..483367c
--- /dev/null
+++ b/correctness-model/writeup/figures/rmw_atomicity2.dot
@@ -0,0 +1,13 @@
+digraph rmw_atomicity2 {
+margin=0;
+ranksep=.1;
+
+//N1 [label="A: v.store(1)", shape=none, group="a"];
+N1 [style=invis, shape=none];
+N2 [label="B: v.rmw()", shape=none];
+N3 [label="C: v.store(2)", shape=none];
+
+N1 -> N2 [color=invis];
+N1 -> N3 [color=invis, weight=100];
+N2 -> N3 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+}
diff --git a/correctness-model/writeup/figures/rmw_mo.dot b/correctness-model/writeup/figures/rmw_mo.dot
new file mode 100644
index 0000000..7a41997
--- /dev/null
+++ b/correctness-model/writeup/figures/rmw_mo.dot
@@ -0,0 +1,9 @@
+digraph rmw_mo {
+margin=0
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="B: v.rmw()", shape=none];
+
+N1 -> N2 [label="rf", color=red];
+N1 -> N2 [color=invis, constraint=false];
+}
diff --git a/correctness-model/writeup/figures/rmw_mo2.dot b/correctness-model/writeup/figures/rmw_mo2.dot
new file mode 100644
index 0000000..0d4ce57
--- /dev/null
+++ b/correctness-model/writeup/figures/rmw_mo2.dot
@@ -0,0 +1,8 @@
+digraph rmw_mo2 {
+margin=0
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="B: v.rmw()", shape=none];
+
+N1 -> N2 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+}
diff --git a/correctness-model/writeup/figures/rr_mo.dot b/correctness-model/writeup/figures/rr_mo.dot
new file mode 100644
index 0000000..179991e
--- /dev/null
+++ b/correctness-model/writeup/figures/rr_mo.dot
@@ -0,0 +1,13 @@
+digraph rr_mo {
+margin=0
+
+N1 [label="X: v.store(1)", shape=none];
+N2 [label="Y: v.store(2)", shape=none];
+N3 [label="A: v.load()", shape=none];
+N4 [label="B: v.load()", shape=none];
+
+N3 -> N4 [label="hb", color=blue];
+N1 -> N3 [label="rf", color=red, constraint=false];
+N2 -> N4 [label="rf", color=red, constraint=false];
+N1 -> N2 [color=invis];
+}
diff --git a/correctness-model/writeup/figures/rr_mo2.dot b/correctness-model/writeup/figures/rr_mo2.dot
new file mode 100644
index 0000000..fa0a6f7
--- /dev/null
+++ b/correctness-model/writeup/figures/rr_mo2.dot
@@ -0,0 +1,8 @@
+digraph rr_mo {
+margin=0
+
+N1 [label="X: v.store(1)", shape=none];
+N2 [label="Y: v.store(2)", shape=none];
+
+N1 -> N2 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+}
diff --git a/correctness-model/writeup/figures/rw_mo.dot b/correctness-model/writeup/figures/rw_mo.dot
new file mode 100644
index 0000000..a8e99fe
--- /dev/null
+++ b/correctness-model/writeup/figures/rw_mo.dot
@@ -0,0 +1,11 @@
+digraph rw_mo {
+margin=0;
+ranksep=.3;
+
+N1 [label="X: v.store(1)", shape=none];
+N2 [label="A: v.load()", shape=none];
+N3 [label="B: v.store(2)", shape=none];
+
+N2 -> N3 [label="hb", color=blue];
+N1 -> N2 [label="rf", color=red, constraint=false];
+}
diff --git a/correctness-model/writeup/figures/rw_mo2.dot b/correctness-model/writeup/figures/rw_mo2.dot
new file mode 100644
index 0000000..e7f611a
--- /dev/null
+++ b/correctness-model/writeup/figures/rw_mo2.dot
@@ -0,0 +1,12 @@
+digraph rw_mo2 {
+margin=0;
+ranksep=.3;
+
+N1 [label="X: v.store(1)", shape=none];
+N2 [label="A: v.load()", shape=none, fontcolor=invis];
+N3 [label="B: v.store(2)", shape=none];
+
+N2 -> N3 [color=invis];
+N1 -> N2 [color=invis, constraint=false];
+N1 -> N3 [label="mo", color="#00aa00", style=dashed, penwidth=3, constraint=false];
+}
diff --git a/correctness-model/writeup/figures/sc_mo.dot b/correctness-model/writeup/figures/sc_mo.dot
new file mode 100644
index 0000000..5d5f6b1
--- /dev/null
+++ b/correctness-model/writeup/figures/sc_mo.dot
@@ -0,0 +1,9 @@
+digraph sc_mo {
+margin=0
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="B: v.store(2)", shape=none];
+
+N1 -> N2 [label="sc", color=purple];
+N1 -> N2 [color=invis, constraint=false];
+}
diff --git a/correctness-model/writeup/figures/sc_mo2.dot b/correctness-model/writeup/figures/sc_mo2.dot
new file mode 100644
index 0000000..a7d37c3
--- /dev/null
+++ b/correctness-model/writeup/figures/sc_mo2.dot
@@ -0,0 +1,8 @@
+digraph sc_mo2 {
+margin=0
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="B: v.store(2)", shape=none];
+
+N1 -> N2 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+}
diff --git a/correctness-model/writeup/figures/sc_wr_mo.dot b/correctness-model/writeup/figures/sc_wr_mo.dot
new file mode 100644
index 0000000..49a5f03
--- /dev/null
+++ b/correctness-model/writeup/figures/sc_wr_mo.dot
@@ -0,0 +1,13 @@
+digraph sc_wr_mo {
+margin=0;
+ranksep=.3;
+
+N1 [label="X: v.store(2)", shape=none];
+N2 [label="A: v.store(1, seq_cst)", shape=none];
+N3 [label="B: v.load(seq_cst)", shape=none];
+
+N2 -> N3 [label="sc", color=purple];
+N1 -> N3 [label="rf", color=red];
+N2 -> N1 [color=invis, constraint=false];
+{rank=same; N1 N3}
+}
diff --git a/correctness-model/writeup/figures/sc_wr_mo2.dot b/correctness-model/writeup/figures/sc_wr_mo2.dot
new file mode 100644
index 0000000..7efd810
--- /dev/null
+++ b/correctness-model/writeup/figures/sc_wr_mo2.dot
@@ -0,0 +1,13 @@
+digraph sc_wr_mo2 {
+margin=0;
+ranksep=.3;
+
+N1 [label="X: v.store(2)", shape=none];
+N2 [label="A: v.store(1, seq_cst)", shape=none];
+N3 [label="B: v.load(seq_cst)", shape=none, fontcolor=invis];
+
+N2 -> N3 [color=invis];
+N1 -> N3 [color=invis];
+N2 -> N1 [label="mo", color="#00aa00", style=dashed, penwidth=3, constraint=false];
+{rank=same; N1 N3}
+}
diff --git a/correctness-model/writeup/figures/specdesign.pdf b/correctness-model/writeup/figures/specdesign.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..203ab8dea911690f3239eb2e1ab0fd45732b53df
GIT binary patch
literal 22332
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
KD2UTi0sRlgjcZK+

literal 0
HcmV?d00001

diff --git a/correctness-model/writeup/figures/specworkflow.pdf b/correctness-model/writeup/figures/specworkflow.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..72c4c78b5ffe2529ebdae3f3937dc219434abd53
GIT binary patch
literal 14072
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
ajnp2ZX9xL1^&l2DR!(FpDiJwR<o^SqPV#R6

literal 0
HcmV?d00001

diff --git a/correctness-model/writeup/figures/wf_sc_rf.dot b/correctness-model/writeup/figures/wf_sc_rf.dot
new file mode 100644
index 0000000..95116d3
--- /dev/null
+++ b/correctness-model/writeup/figures/wf_sc_rf.dot
@@ -0,0 +1,16 @@
+digraph wf_sc_rf {
+margin=0
+ranksep=.3;
+
+N1 [label="A: v.store(1, seq-cst)", shape=none];
+N2 [label="X: fence(seq-cst)", shape=none];
+N3 [label="B: v.store(2)", shape=none];
+N4 [label="Y: v.load()", shape=none];
+
+//N1 -> N3 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+N1 -> N2 [label="sc", color=purple];
+N2 -> N4 [label="sb", color=blue, weight=100];
+N3 -> N4 [label="rf", color=red];
+N1 -> N3 [style=invis];
+{rank=same; N3 N4}
+}
diff --git a/correctness-model/writeup/figures/wf_sc_rf2.dot b/correctness-model/writeup/figures/wf_sc_rf2.dot
new file mode 100644
index 0000000..1cdc907
--- /dev/null
+++ b/correctness-model/writeup/figures/wf_sc_rf2.dot
@@ -0,0 +1,16 @@
+digraph wf_sc_rf2 {
+margin=0
+ranksep=.3;
+
+N1 [label="A: v.store(1, seq-cst)", shape=none];
+//N2 [label="X: fence(seq-cst)", shape=none];
+N3 [label="B: v.store(2)", shape=none];
+//N4 [label="Y: v.load()", shape=none];
+
+N1 -> N3 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+//N1 -> N2 [label="sc", color=purple];
+//N2 -> N4 [label="sb", color=blue];
+//N3 -> N4 [label="rf", color=red, constraint=false];
+//N1 -> N3 [style=invis];
+//{rank=same; N1 N2}
+}
diff --git a/correctness-model/writeup/figures/workflow.pdf b/correctness-model/writeup/figures/workflow.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..1c852cf1936dec07c38a467668ee15ca36e61e15
GIT binary patch
literal 16034
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

literal 0
HcmV?d00001

diff --git a/correctness-model/writeup/figures/wr_mo.dot b/correctness-model/writeup/figures/wr_mo.dot
new file mode 100644
index 0000000..d8267be
--- /dev/null
+++ b/correctness-model/writeup/figures/wr_mo.dot
@@ -0,0 +1,13 @@
+digraph wr_mo {
+margin=0;
+ranksep=.3;
+
+N1 [label="X: v.store(2)", shape=none];
+N2 [label="A: v.store(1)", shape=none];
+N3 [label="B: v.load()", shape=none];
+
+N2 -> N3 [label="hb", color=blue];
+N1 -> N3 [label="rf", color=red];
+N2 -> N1 [color=invis, constraint=false];
+{rank=same; N1 N3}
+}
diff --git a/correctness-model/writeup/figures/wr_mo2.dot b/correctness-model/writeup/figures/wr_mo2.dot
new file mode 100644
index 0000000..182dea6
--- /dev/null
+++ b/correctness-model/writeup/figures/wr_mo2.dot
@@ -0,0 +1,13 @@
+digraph wr_mo2 {
+margin=0;
+ranksep=.3;
+
+N1 [label="X: v.store(2)", shape=none];
+N2 [label="A: v.store(1)", shape=none];
+N3 [label="B: v.load()", shape=none, fontcolor=invis];
+
+N2 -> N3 [color=invis];
+N1 -> N3 [color=invis];
+N2 -> N1 [label="mo", color="#00aa00", style=dashed, penwidth=3, constraint=false];
+{rank=same; N1 N3}
+}
diff --git a/correctness-model/writeup/figures/ww_mo.dot b/correctness-model/writeup/figures/ww_mo.dot
new file mode 100644
index 0000000..2e00cd9
--- /dev/null
+++ b/correctness-model/writeup/figures/ww_mo.dot
@@ -0,0 +1,9 @@
+digraph ww_mo {
+margin=0
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="B: v.store(2)", shape=none];
+
+N1 -> N2 [label="hb", color=blue];
+N1 -> N2 [color=invis, constraint=false];
+}
diff --git a/correctness-model/writeup/figures/ww_mo2.dot b/correctness-model/writeup/figures/ww_mo2.dot
new file mode 100644
index 0000000..149c113
--- /dev/null
+++ b/correctness-model/writeup/figures/ww_mo2.dot
@@ -0,0 +1,8 @@
+digraph ww_mo2 {
+margin=0
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="B: v.store(2)", shape=none];
+
+N1 -> N2 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+}
diff --git a/correctness-model/writeup/figures/ww_sc_fence_first_collapse.dot b/correctness-model/writeup/figures/ww_sc_fence_first_collapse.dot
new file mode 100644
index 0000000..c85988c
--- /dev/null
+++ b/correctness-model/writeup/figures/ww_sc_fence_first_collapse.dot
@@ -0,0 +1,17 @@
+digraph ww_sc_fence_first_collapse {
+margin=0
+ranksep=.3;
+
+N1 [label="A: v.store(1, seq-cst)", shape=none];
+//N2 [label="X: fence(seq-cst)", shape=none];
+N3 [label="Y: fence(seq-cst)", shape=none];
+N4 [label="B: v.store(2)", shape=none];
+N5 [style=invis, shape=point];
+
+//N1 -> N4 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+N1 -> N3 [label="sc", color=purple];
+N3 -> N4 [label="sb", color=blue, weight=100];
+N1 -> N5 [style=invis];
+N5 -> N4 [style=invis];
+{rank=same; N4 N5}
+}
diff --git a/correctness-model/writeup/figures/ww_sc_fence_first_collapse2.dot b/correctness-model/writeup/figures/ww_sc_fence_first_collapse2.dot
new file mode 100644
index 0000000..17d14a0
--- /dev/null
+++ b/correctness-model/writeup/figures/ww_sc_fence_first_collapse2.dot
@@ -0,0 +1,14 @@
+digraph ww_sc_fence_first_collapse2 {
+margin=0
+//ranksep=.3;
+
+N1 [label="A: v.store(1, seq-cst)", shape=none];
+N2 [style=invis, shape=point];
+N3 [style=invis, shape=point];
+N4 [label="B: v.store(2)", shape=none];
+
+N1 -> N4 [label="mo", color="#00aa00", style=dashed, penwidth=3, constraint=false];
+N1 -> N2 [color=invis, weight=100];
+N3 -> N4 [color=invis, weight=100];
+{rank=same; N2 N3}
+}
diff --git a/correctness-model/writeup/figures/ww_sc_fence_mo.dot b/correctness-model/writeup/figures/ww_sc_fence_mo.dot
new file mode 100644
index 0000000..3edead9
--- /dev/null
+++ b/correctness-model/writeup/figures/ww_sc_fence_mo.dot
@@ -0,0 +1,18 @@
+digraph ww_sc_fence_mo {
+margin=0
+ranksep=.3;
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="X: fence(seq-cst)", shape=none];
+N3 [label="Y: fence(seq-cst)", shape=none];
+N4 [label="B: v.store(2)", shape=none];
+N5 [style=invis, shape=point];
+
+//N1 -> N4 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+N2 -> N3 [label="sc", color=purple];
+N1 -> N2 [label="sb", color=blue, weight=100];
+N3 -> N4 [label="sb", color=blue, weight=100];
+N2 -> N5 [style=invis];
+N5 -> N4 [style=invis];
+{rank=same; N4 N5}
+}
diff --git a/correctness-model/writeup/figures/ww_sc_fence_mo2.dot b/correctness-model/writeup/figures/ww_sc_fence_mo2.dot
new file mode 100644
index 0000000..f1964fd
--- /dev/null
+++ b/correctness-model/writeup/figures/ww_sc_fence_mo2.dot
@@ -0,0 +1,14 @@
+digraph ww_sc_fence_mo2 {
+margin=0
+//ranksep=.3;
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [style=invis, shape=point];
+N3 [style=invis, shape=point];
+N4 [label="B: v.store(2)", shape=none];
+
+N1 -> N4 [label="mo", color="#00aa00", style=dashed, penwidth=3, constraint=false];
+N1 -> N2 [color=invis, weight=100];
+N3 -> N4 [color=invis, weight=100];
+{rank=same; N2 N3}
+}
diff --git a/correctness-model/writeup/figures/ww_sc_fence_second_collapse.dot b/correctness-model/writeup/figures/ww_sc_fence_second_collapse.dot
new file mode 100644
index 0000000..6dde5c5
--- /dev/null
+++ b/correctness-model/writeup/figures/ww_sc_fence_second_collapse.dot
@@ -0,0 +1,17 @@
+digraph ww_sc_fence_second_collapse {
+margin=0
+ranksep=.3;
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [label="X: fence(seq-cst)", shape=none];
+//N3 [label="Y: fence(seq-cst)", shape=none];
+N4 [label="B: v.store(2, seq-cst)", shape=none];
+N5 [style=invis, shape=point];
+
+//N1 -> N4 [label="mo", color="#00aa00", style=dashed, penwidth=3];
+N2 -> N4 [label="sc", color=purple];
+N1 -> N2 [label="sb", color=blue, weight=100];
+N2 -> N5 [style=invis];
+N5 -> N4 [style=invis];
+{rank=same; N4 N5}
+}
diff --git a/correctness-model/writeup/figures/ww_sc_fence_second_collapse2.dot b/correctness-model/writeup/figures/ww_sc_fence_second_collapse2.dot
new file mode 100644
index 0000000..e7c0b35
--- /dev/null
+++ b/correctness-model/writeup/figures/ww_sc_fence_second_collapse2.dot
@@ -0,0 +1,14 @@
+digraph ww_sc_fence_second_collapse2 {
+margin=0
+//ranksep=.3;
+
+N1 [label="A: v.store(1)", shape=none];
+N2 [style=invis, shape=point];
+N3 [style=invis, shape=point];
+N4 [label="B: v.store(2, seq-cst)", shape=none];
+
+N1 -> N4 [label="mo", color="#00aa00", style=dashed, penwidth=3, constraint=false];
+N1 -> N2 [color=invis, weight=100];
+N3 -> N4 [color=invis, weight=100];
+{rank=same; N2 N3}
+}
diff --git a/correctness-model/writeup/formalization.tex b/correctness-model/writeup/formalization.tex
new file mode 100644
index 0000000..aecb783
--- /dev/null
+++ b/correctness-model/writeup/formalization.tex
@@ -0,0 +1,92 @@
+\mysection{Formalization of Correctness Model}\label{sec:formalization}
+
+Unlike the SC memory model, applying linearizability can be complicated under
+C/C++ by the fact that the C/C++ memory model allows atomic loads to read from
+atomic stores that appear later in the trace and that it is in general
+impossible to produce a sequential history that preserves program order for the
+C/C++ memory model. Intuitively however, we can weaken some constraints, e.g.
+the \textit{happens-before} edges in some cases, to generate a reordering of
+ordering points such that they yield a sequential history that is consistent
+with the specification. We formalize our approach as follow.
+
+We represent a trace as an \textit{execution graph}, where each node represents
+each API method call with a set of ordering points, and edges between nodes are
+derived from the \textit{happens-before} edges and the \textit{modification
+order} edges between ordering points. We define \textit{opo} as the
+\textit{ordering point order} relation between ordering point.  Given two
+operations $X$ and $Y$ that are both ordering points, the \textit{modification
+order} edges are as follow:
+
+\squishcount
+
+\item {\bf Modification Order (write-write):} $X \xrightarrow{mo} Y \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (read-write):} $A \xrightarrow{mo} Y \ \wedge \  A \xrightarrow{rf} X \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (write-read):} $X \xrightarrow{mo} B \ \wedge \  B \xrightarrow{rf} Y \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (read-read):} $A \xrightarrow{mo} B \ \wedge \  A \xrightarrow{rf} X \ \wedge \  B \xrightarrow{rf} Y \Rightarrow X \xrightarrow{opo} Y$.
+\countend
+
+\vspace{0.3cm}
+
+Intuitively, if method $A$ 
+
+In order to relax the contraints on the original execution graph, we define an
+action \textit{tranform} that can be performed on the graph as follow:
+
+\mypara{{\bf Hoisting loads:}} $ \forall X, Y, X \in
+\textit{OrderingPoints}\xspace \wedge Y \in \textit{OrderingPoints}\xspace \wedge
+address(X)\not=address(Y) \wedge
+X \relation{hb} Y \wedge Y \in \textit{LoadOps}\xspace
+\Rightarrow \forall Z, Z
+$.
+
+
+\begin{figure}[!htbp]
+\begin{algorithmic}[1]
+\Function{InferParams}{testcases, initialParams}
+\State inputParams := initialParams
+\If{inputParams is empty}
+\State inputParams := the weakest parameters \label{line:startWithRelaxed}
+\EndIf
+\ForAll{test case $t$ in testcases}
+\State candidates := inputParams \label{line:setOfCandidates}
+\State results := \{\}
+\While{candidates is not empty}
+\State Candidate $c$ := pop from candidates
+\State run \cdschecker with $c$ and check SC \label{line:findSCViolation}
+\If{$\exists$ SC violation $v$}
+\State \Call {StrengthenParam}{$v$, $c$, candidates} \label{line:callStrengthenParam}
+\Else
+\State results += \Call {WeakenOrderParams}{$c$} \label{line:weakenOrderParams}
+\EndIf
+\EndWhile
+\State inputParams := results \label{line:tmpOutputAsInput}
+\EndFor
+\State \Return{results} \label{line:finalResults}
+\EndFunction
+
+\Procedure{StrengthenParam}{v, c, candidates}
+\While{$\exists$ a fix $f$ for violation $v$}
+\State possible\_repairs := strengthen $c$ with fix $f$ \label{line:strengthenParam}
+\State candidates += possible\_repairs \label{line:possibleFixes}
+\EndWhile
+\EndProcedure
+
+\end{algorithmic}
+\caption{\label{fig:algorithmfence}Algorithm for inferring order parameters}
+\end{figure}
+
+
+
+\mypara{\bf Generating the Reordering:}
+The \TOOL checker first builds an execution graph where the nodes are
+method calls and the edges represent the
+$\reltext{opo}$ ordering of the ordering points of the methods that
+correspond to the source and destination nodes.  Assuming the absence
+of cycles in the execution graph, 
+the $\reltext{opo}$ ordering is used to generate the sequential history.
+The \TOOL checker 
+topologically sorts the graph to generate the equivalent sequential
+execution.
diff --git a/correctness-model/writeup/implementation.tex b/correctness-model/writeup/implementation.tex
new file mode 100644
index 0000000..bac8f73
--- /dev/null
+++ b/correctness-model/writeup/implementation.tex
@@ -0,0 +1,151 @@
+\mysection{Implementation}\label{sec:implementation}
+
+The goal of the \TOOL specification language is to
+enable developers to write specifications against which concurrent data structures can be tested.
+We can ensure a concurrent data structure is correct with
+respect to an equivalent sequential data structure if for each
+execution of the concurrent data structure, the equivalent sequential
+history for the equivalent sequential data structure yields the same
+results.
+
+The execution space for many concurrent data
+structures is unbounded, meaning that in practice we cannot 
+verify correctness by checking individual executions. However, the
+specifications can be used for unit testing.  In practice,
+many bugs can be exposed by model checking unit tests for 
+concurrent data structures.  We have implemented the \TOOL checker as a
+unit testing tool built upon the \cdschecker framework.  \TOOL
+can exhaustively explore all behaviors for unit tests and provide
+developers with diagnostic reports for executions that violate their
+specification.
+
+
+\mysubsection{Model Checker Framework}
+
+The \TOOL checker takes as input a complete execution from the
+\cdschecker model checker.  The \cdschecker framework operates at the abstraction level of
+individual atomic operations and thus has neither information about
+method calls nor which atomic operations serve as ordering points.
+Thus, we extend the framework by adding {\it annotation} operations to
+\cdschecker's traces, which record the necessary information to check the specifications
+but have no effect on other operations.  The \TOOL compiler
+inserts code to generate the annotation actions to communicate to the \TOOL checker
+plugin the critical events for checking the \TOOL specification.
+These annotation actions then appear in \cdschecker's list of atomic
+operations and make it convenient for  \TOOL to construct
+a sequential history from the execution because for any given method
+call, its invocation event, its ordering points, and its response event are
+sequentially ordered in the list. 
+
+\mysubsection{Specification Compiler}
+
+The specification compiler translates an annotated
+C/C++ program into an instrumented C/C++ program that will generate
+execution traces containing the dynamic information needed to construct the sequential history
+and check the specification assertions.  We next
+describe the type of annotation actions that the \TOOL compiler
+inserts into the instrumented program.
+
+\mypara{\bf Ordering Points:} Ordering points have a conditional guard expression
+and a label. Potential ordering point annotation actions are 
+inserted immediately after the atomic operation that serves as 
+the potential ordering point.  Ordering point check annotation actions are
+inserted where they appear.
+
+\mypara{\bf Method Boundary:} To identify a method's boundaries, \TOOL
+inserts {\it method\_begin} and {\it method\_end} annotations at the
+beginning and end of methods.
+
+\mypara{\bf Sequential States and Methods:} Since checking occurs
+after \cdschecker has completed an execution, the annotation
+actions stores the values of any variables in the concurrent data
+structure that the annotations reference.
+
+\mypara{\bf Side Effects and Assertions:} Side effects and assertions perform
+their checks after an execution.  The side effects and assertions are compiled
+into methods and the equivalent sequential data structure's states are accessible to these methods.
+With this encapsulation,
+the \TOOL checker simply calls these functions to implement the side effects and assertions.
+
+\mypara{\bf Synchronization Checks:} The \TOOL checker performs
+synchronization checks in two parts: compiling the rules and runtime data
+collection.  First, the \TOOL compiler numbers all methods and happens-before
+checks uniquely. For example, the rule ``\code{Update->Read}'' can be represented as (1, 0, 2, 0),
+which means instances of method 1 that satisfy condition 0 should {\it
+  synchronize with} instances method 2 that satisfy condition 0. In this case,
+  condition 0 means \code{true}. Then,
+the \TOOL compiler generates code that communicates the
+synchronization rules by passing an array of integer pairs.  Runtime
+collection is then implemented by performing the condition check at
+each method invocation or response and then passing the method number
+and happens before condition if the check is satisfied.
+
+\mysubsection{Dynamic Checking}
+
+At this point, we have an execution trace with the necessary
+annotations to construct a sequential history and to check
+the execution's correctness.  However, before constructing the
+sequential history, the \TOOL plugin first collects
+the necessary information for each method call, which is the {\it
+  method\_begin} annotation, the ordering point annotations, the
+happens-before checks, and the {\it method\_end} annotations.  Since
+all of the operations in the trace have thread
+identifiers it is straightforward to extract the operations between the {\it
+  method\_begin} and {\it method\_end} annotations.  
+
+\mypara{\bf Reorder Method Calls:} As discussed above, determining the
+ordering of the ordering points is non-trivial under the C/C++ memory
+model. This can be complicated by the fact that the C/C++ memory model
+allows atomic loads to read from atomic stores that appear later in
+the trace and that it is in general impossible to produce a sequential
+history that preserves program order for the C/C++ memory model.
+
+However, we can still leverage the reads-from relation and the
+modification-order relation to order the ordering points that appear
+in typical data structures.  \TOOL uses the following rules to
+generate an ordering-point ordering $\reltext{opo}$ relation on
+ordering points. Given two operations $X$ and $Y$ that are both
+ordering points:
+
+\squishcount
+\item {\bf Reads-From:} $X \xrightarrow{rf} Y \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (write-write):} $X \xrightarrow{mo} Y \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (read-write):} $A \xrightarrow{mo} Y \ \wedge \  A \xrightarrow{rf} X \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (write-read):} $X \xrightarrow{mo} B \ \wedge \  B \xrightarrow{rf} Y \Rightarrow X \xrightarrow{opo} Y$.
+
+\item {\bf Modification Order (read-read):} $A \xrightarrow{mo} B \ \wedge \  A \xrightarrow{rf} X \ \wedge \  B \xrightarrow{rf} Y \Rightarrow X \xrightarrow{opo} Y$.
+\countend
+
+\mypara{\bf Generating the Reordering:}
+The \TOOL checker first builds an execution graph where the nodes are
+method calls and the edges represent the
+$\reltext{opo}$ ordering of the ordering points of the methods that
+correspond to the source and destination nodes.  Assuming the absence
+of cycles in the execution graph, 
+the $\reltext{opo}$ ordering is used to generate the sequential history.
+The \TOOL checker 
+topologically sorts the graph to generate the equivalent sequential
+execution. 
+
+When \TOOL fails to order two ordering points, the operations often commute. Thus,
+if multiple histories satisfy the constraints of \reltext{opo}, by default we generally randomly select one.  However, when those operations
+do not commute, we provide developers with different options: (1) they can
+add additional ordering points to order the two nodes or
+(2) they can run \TOOL in either of the following modes: (a) \textit{loosely
+exhaustive} mode --- \TOOL explores
+all possible histories and only requires that there exists some history that passes the checks or
+(b) \textit{strictly exhaustive} mode --- \TOOL explores all possible histories and requires all histories pass the checks.
+
+
+\mypara{\bf Synchronization Checks:} Synchronization properties are
+specified using the IDs and conditions of method calls, and we have that information
+available after \TOOL constructs the sequential history and checks the preconditions
+and postconditions. For two specific method calls $c_1$ and $c_2$, we can ensure
+$c_1$ synchronizes with $c_2$ by ensuring the annotation \code{c1\_begin}
+happens-before the annotation \code{c2\_end} because any operations
+sequenced-before \code{c1\_begin} should happen-before any operations
+sequenced-after \code{c2\_end} according to the C/C++11 memory model.
+
diff --git a/correctness-model/writeup/introduction.tex b/correctness-model/writeup/introduction.tex
new file mode 100644
index 0000000..e0c9c70
--- /dev/null
+++ b/correctness-model/writeup/introduction.tex
@@ -0,0 +1,226 @@
+\mysection{Introduction}\label{sec:introduction}
+
+Concurrent data structure design can improve scalability by supporting
+multiple simultaneous operations, reducing memory coherence traffic, and reducing the time taken by an
+individual data structure operation.  Researchers have developed many concurrent
+data structure designs with these goals~\cite{rcu,
+lockfreequeue}.  Concurrent data structures often use sophisticated techniques
+including low-level atomic instructions (e.g., compare and
+swap), careful reasoning about the order of loads and
+stores, and fine-grained locking.    For example, while the standard Java hash
+table implementation can limit scalability to a handful of cores,
+more sophisticated concurrent hash tables can scale to many hundreds of
+cores~\cite{javaConcurrentHashMap}.  
+
+The C/C++ standard committee extended the C and C++ languages with
+support for low-level atomic operations in the C/C++11
+standard~\cite{cpp11spec, c11spec, boehmpldi} to enable developers to
+write portable implementations of concurrent data structures.  To support the relaxations typically performed by compilers and processors, 
+the
+C/C++ memory model provides weaker semantics than sequential
+consistency~\cite{scmemorymodel} and as a result, correctly using
+these operations is challenging.  Developers must not only
+reason about potential interleavings, but also about how the processor
+and compiler might reorder memory operations.  Even experts make
+subtle errors when reasoning about such memory models.
+
+Researchers have developed tools for exploring the behavior of code
+under the C/C++ memory model including \cdschecker~\cite{cdschecker}, {\sc
+Cppmem}~\cite{c11popl}, and Relacy~\cite{relacy}.  These tools explore
+behaviors that are allowed under the C/C++ memory model.  While these
+tools can certainly be useful for exploring executions, they can be
+challenging to use for testing as they don't provide support (other
+than assertions) for specifying the behavior of data structures.
+Using assertions can be challenging as different interleavings or
+reorderings legitimately produce different behaviors, and it can be
+very difficult to code assertions to check the output of a test case for an
+arbitrary (unknown) execution.
+
+This paper presents \TOOL, a specification language and specification
+checking tool that is designed to be used in conjunction with model
+checking tools.  We have implemented it as a plugin for
+the \cdschecker model checker.
+
+\mysubsection{Background on Specifying the Correctness of Concurrent Data Structures}
+
+Researchers have developed several techniques for specifying
+correctness properties of concurrent data structures written for strong memory
+models.  While these techniques cannot handle the behaviors typically
+exhibited by relaxed data structure implementations, they provide insight into
+intuitive approaches to specifying concurrent data structure behavior.
+
+One approach for specifying the correctness of concurrent data
+structures is in terms of equivalent sequential executions of either
+the concurrent data structure or a simplified sequential version.  The
+problem then becomes how do we map a concurrent execution to an equivalent
+sequential execution?  A common criterion is {\it
+  linearizability} --- linearizability simply states that a concurrent
+operation can be viewed as taking effect at some time between its
+invocation and its return (or response)~\cite{linearizableref}.
+
+An {\it equivalent sequential data structure} is a sequential version
+of a concurrent data structure that can be used to express correctness
+properties by relating executions of the original concurrent data
+structure with executions of the equivalent sequential data structure.
+The equivalent sequential data structure is often simpler, and in
+many cases one can simply use existing well-tested implementations from the
+STL library.
+
+An execution {\it history} is a total order of method invocations and
+responses. A {\it sequential history} is one where all invocations are
+followed by the corresponding responses immediately. A concurrent
+execution is correct if its behavior is consistent with its equivalent
+sequential history replayed on the equivalent sequential data
+structure. A concurrent object is linearizable if for all executions:
+\squishcount
+\item Each method call appears to take effect instantaneously at some
+  point between its invocation and response.
+
+\item The invocations and responses can be reordered to yield a
+  sequential history under the rule that an invocation cannot be
+  reordered before the preceding responses.
+
+\item The concurrent execution yields the same behavior as
+  the sequential history.
+\countend
+
+A weaker variation of linearization is {\it sequential
+consistency}\footnote{It is important to note that the term sequential
+consistency in the literature is applied to both the consistency model
+that data structures expose clients to as well as the guarantees that
+the underlying memory system provides for load and store operations.}.
+Sequential consistency only requires that there exists a sequential
+history that is consistent with the {\it program order} (the intra-thread
+order).  This ordering does not need to be consistent with the order
+that the operations were actually issued in.
+
+Line-Up~\cite{lineup}, Paraglider~\cite{VechevMCLinear}, and
+VYRD~\cite{vyrd} leverage linearizability to test concurrent data
+structures.  {\bf Unfortunately, efficient implementations of many
+common data structures, e.g., RCU~\cite{rcu}, MS
+Queue~\cite{lockfreequeue}, etc., for the C/C++ memory model are
+neither linearizable nor sequentially consistent! Thus previous tools
+cannot check such data structures under the C/C++ memory model.}
+
+\mysubsection{New Challenges from the C/C++ Memory Model}
+\label{sec:introNewChallenges}
+
+The C/C++ memory model brings the following two key challenges that prevent the application of previous approaches to specifying the concurrent data structures to this setting:
+
+\squishcount
+\item {\bf Relaxed Executions Break Existing Data Structure Consistency Models:}
+C/C++ data structures often expose clients to weaker (non-SC)
+behaviors to gain performance.  A common guarantee is to provide
+happens-before synchronization between operations that implement
+updates and the operations that read those updates.  These data
+structures often do not guarantee that different threads observe updates in the
+same order --- in other words the data structures may expose clients
+to weaker consistency models than sequential consistency.  For
+example, even when one uses the relatively strong \code{acquire}
+and \code{release} memory orderings in C++, it is possible for two
+different threads to observe two stores happening in
+different orders, i.e., executions can fail the IRIW test.
+Thus many data structures legitimately admit executions for which there
+are no sequential histories that preserve program order.
+
+Like many other relaxed memory models, the C/C++ memory model does
+not include a total order over all memory operations, thus even
+further complicating the application of traditional approaches to correctness,
+e.g., linearization cannot be applied.  In
+particular the approaches that relate the behaviors of concurrent data
+structures to analogous sequential data structures break down due to
+the absence of a total ordering of the memory operations.  While many
+of the dynamic tools~\cite{cdschecker,relacy} for exploring the
+behavior of code under relaxed models do as a practical matter
+print out an execution in some order, this order is to some degree arbitrary as relaxed memory models
+generally make it possible for a data structure operation to see the
+effects of operations that appear later in any such an order (e.g., a load
+can read from a store that appears later in the order).  Instead of a total order, the C/C++
+memory model is formulated as a graph of memory operations
+with several partial orders defined in this graph.
+
+\item {\bf Constraining Reorderings (Specifying Synchronization Properties):}
+Synchronization\footnote{Synchronization here is not mutual exclusion,
+  but rather a lower-level property that captures which stores must be
+  visible to a thread.  In other words, it constrains which
+  reorderings can be performed by a processor or compiler.} in C/C++
+  provides an ordering between memory operations to different
+  locations.  Concurrent data structures must establish
+  synchronization or they potentially expose their users to highly
+  non-intuitive behavior that is likely to break client code.  For
+  example, consider the case of a concurrent queue that does not
+  establish synchronization between enqueue and dequeue operations. Consider the
+  following sequence of operations: (1) thread A initializes the fields of a new
+  object X; (2) thread A enqueues the reference to X in such a queue
+  (3) thread B dequeues the reference to X; (4) thread B reads the
+  fields of X through the dequeued reference. In (4), thread B could fail to see the
+  initializing writes from (1).
+  This surprising behavior could occur if the compiler or CPU could
+  reorder the initializing writes to be executed after the enqueue
+  operation.  If the fields are non-atomic, such loads are considered
+  data races and violate the data race free requirement of the C/C++
+  language standard and thus the program has no semantics.
+
+The C/C++ memory model formalizes synchronization in terms of a {\it
+  happens-before} relation.  The C/C++ happens-before relationship
+is a partial order over memory accesses.  If memory access {\it x}
+happens before memory access {\it y}, it means that the effects of
+{\it x} must be ordered before  the effects of {\it y}. 
+\countend
+
+\begin{figure}
+        \centering
+\vspace{-.3cm}
+	\includegraphics[scale=0.35]{figures/specworkflow}
+\vspace{-.4cm}
+		\caption{\label{fig:specworkflow} \TOOL system overview}
+\vspace{-.4cm}
+\end{figure}
+
+\mysubsection{Specification Language and Tool Support}
+
+Figure~\ref{fig:specworkflow} presents an overview of the \TOOL system. After
+implementing a concurrent data structure, developers annotate their code
+with a \TOOL specification. To test their implementation,
+developers compile the data structure with the \TOOL specification
+compiler to extract the specification and generate a program that is instrumented with specification checks.
+ Then, developers compile the instrumented program with a
+standard C/C++ compiler. Finally, developers run the binary under 
+the \TOOL checker. \TOOL
+then exhaustively explores the behaviors of the specific unit test and
+generates diagnostic reports for any executions that violate the specification.
+
+\mysubsection{Contributions}
+
+This paper makes the following contributions:
+
+\squishlist
+\item {\bf Specification Language:} It introduces a specification
+  language that enables developers to write specifications of
+  concurrent data structures developed for a relaxed memory model in a
+  simple fashion that capture the key correctness properties.  Our
+  specification language is the first to our knowledge that supports concurrent data
+  structures that use C/C++ atomic operations.
+
+\item {\bf A Technique to Relate Concurrent Executions to Sequential Executions:}  It presents an approach to order the memory operations for the
+  C/C++ model, which lacks a definition of a trace and for which one
+  generally cannot even construct a total order of atomic operations
+  that is consistent with the program order.  The generated
+  sequential execution by necessity does not always maintain program order.
+  
+\item {\bf Synchronization Properties:} It presents (a) constructs
+  for specifying the happens before relations that a data structure
+  should establish, and (b) tool support for checking these properties and
+  exposing synchronization related bugs.
+
+\item {\bf Tool for Checking C/C++ Data Structures Against Specifications:}
+\TOOL is the first tool to our knowledge that can check concurrent data
+structures that exhibit relaxed behaviors against specifications that are
+specified in terms of intuitive sequential executions.
+
+\item {\bf Evaluation:} It shows that the \TOOL specification language can express key correctness properties for a
+set of real-world concurrent data structures, that our tool can detect
+  bugs, and that our tool can unit test real world data structures
+  with reasonable performance.
+\squishend
+
diff --git a/correctness-model/writeup/issta15_submission.pdf b/correctness-model/writeup/issta15_submission.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..84e6eedb682310fa964d01f1ea2a53b408f59df4
GIT binary patch
literal 259914
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%0D6Dsq-l0$oe^@+dVoMI8kuVT`^;xYrdNV
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
Sdw}eKvWd^kET$li|Nj71-V4D1

literal 0
HcmV?d00001

diff --git a/correctness-model/writeup/makefile b/correctness-model/writeup/makefile
new file mode 100644
index 0000000..6c222e4
--- /dev/null
+++ b/correctness-model/writeup/makefile
@@ -0,0 +1,94 @@
+LATEX := pdflatex -halt-on-error
+
+FIGURES = 
+
+#FIGHEAD = #figures/figHeader.dotpiece
+#FIGFOOT = #figures/figFooter.dotpiece
+
+
+.SUFFIXES : .tex .bbl .aux .eps .ps .dot .pdf
+
+.tex.bbl:
+	bibtex $*
+
+.tex.aux:
+	latex $*
+
+%.eps: %.ps
+	ps2epsi $< $@
+
+%.ps: %.dot
+	dot -Tps $< -o $@
+
+%.pdf: %.dot
+	dot -Tpdf $< -o $@
+
+%.png: %.dot
+	dot -Tpng $< -o $@
+
+%.aux: %.tex
+	$(LATEX) $<
+
+#%.dot: %.dotpiece $(FIGHEAD) $(FIGFOOT)
+#	cat $(FIGHEAD) $< $(FIGFOOT) > $@
+
+
+
+# latex the paper (default)
+new:	biblinks newpaper
+
+# latex + bibtex the paper
+bib:	bibpaper newpaper
+
+# save a backup of tex files in BACKUPS
+bak: 	backuppaper
+
+
+biblinks: figures
+	$(LATEX) paper.tex
+	bibtex paper.aux
+	$(LATEX) paper.tex
+
+
+newpaper: figures biblinks
+	$(LATEX) paper.tex
+
+
+bibpaper: paper.aux paper.bbl
+	latex paper.tex
+
+
+backuppaper: 
+	@if [ ! -d BACKUPS ]; then mkdir BACKUPS; fi;	\
+	crtdate=`date '+%m-%d-%y--%H:%M:%S'`;		\
+	bakdir=BACKUPS/$$crtdate;			\
+	mkdir $$bakdir;					\
+	cp *.tex $$bakdir
+
+spell:
+	@for i in *.tex; \
+	do if [ $$i != "paper.tex" ]; then aspell -c $$i -p ./spell.lst; fi;\
+	done
+
+
+total:
+	latex paper.tex
+	bibtex paper.aux
+	latex paper.tex
+	latex paper.tex
+	pdflatex paper.tex
+
+
+figures: $(FIGURES)
+
+
+errinjfig:
+	gnuplot err-inj-fig/nve2latex.cmds
+	epstopdf injectErrorFig.eps
+	mv injectErrorFig.* figures
+
+
+clean:
+	rm -f *.dvi *.log *.aux *.blg *.bbl *~ err-inj-fig/*~
+	rm -f paper.ps paper.pdf 
+	rm -f injectErrorFig*
diff --git a/correctness-model/writeup/memorymodel.tex b/correctness-model/writeup/memorymodel.tex
new file mode 100644
index 0000000..73e2e8e
--- /dev/null
+++ b/correctness-model/writeup/memorymodel.tex
@@ -0,0 +1,102 @@
+\section{C/C++ Memory Model}\label{sec:memorymodel}
+
+We next briefly summarize the key aspects of the C/C++ memory model.  The
+memory model describes a set of atomic operations and the
+corresponding allowed behaviors of programs that utilize them.  A more
+detailed formal treatment of the memory model~\cite{c11popl} and a
+more detailed informal description~\cite{cpp11spec,c11spec} are
+available in the literature.  Any operation on an atomic object will
+have one of six \textit{memory orders}, each of which falls into one
+or more of the following categories.
+
+\begin{description}
+
+	\item[relaxed:]
+		\code{\small{memory\_order\_relaxed}} --
+		weakest ordering
+
+	\item[release:]
+		\code{\small{memory\_order\_release}},
+		\code{\small{memory\_order\_acq\_rel}}, and
+		\code{\small{memory\_order\_seq\_cst}} --
+		a store-release may form release/consume or release/acquire synchronization
+
+	\item[consume:\footnotemark{}]
+		\code{\small{memory\_order\_consume}} --
+		a load-consume may form release/consume synchronization
+
+		\footnotetext{Consume is not broadly supported by compilers due to
+      challenges associate with preserving data dependencies and is
+      unlikely to provide significant performance gains on x86
+      hardware. We take the same approach as many compilers and treat
+      consumes as acquires.}
+    
+	\item[acquire:]
+		\code{\small{memory\_order\_acquire}},
+		\code{\small{memory\_order\_acq\_rel}}, and
+		\code{\small{memory\_order\_seq\_cst}} --
+		a load-acquire may form release/acquire synchronization
+
+	\item[seq-cst:]
+		\code{\small{memory\_order\_seq\_cst}} --
+		strongest ordering
+
+\end{description}
+
+\subsection{Relations}\label{sec:model-relations}
+
+The C/C++ memory model expresses program behavior in the form
+of binary relations or orderings. The following subsections will briefly
+summarize the relevant relations. Much of this discussion resembles the preferred model from the 
+formalization in \cite{c11popl}.
+
+\mypara{\bf Sequenced-Before:}
+The order of program operations within a single thread of execution establishes an intra-thread
+\textit{sequenced-before} (\reltext{sb}) relation.
+Note that while some operations in C/C++ provide no
+intra-thread ordering---the equality operator (\code{==}), for example---we
+ignore this detail and assume that \reltext{sb} totally orders all operations in
+a thread.
+
+\mypara{\bf Reads-From:}
+The \textit{reads-from} (\reltext{rf}) relation consists of store-load pairs $(X, Y)$
+such that $Y$ reads its value from the effect of $X$---or $X \relation{rf} Y$. In the
+C/C++ memory model, this relation is non-trivial, as a given load operation may
+read from one of many potential stores in the program execution.
+
+\mypara{\bf Synchronizes-With:}
+The \textit{synchronizes-with} (\reltext{sw}) relation captures
+synchronization that occurs when certain atomic operations interact across two
+threads. For instance, release/acquire synchronization occurs between a pair of
+atomic operations on the same object: a store-release $X$ and a load-acquire
+$Y$. If $Y$ reads from $X$, then $X$ synchronizes with $Y$---or $X
+\relation{sw} Y$.
+
+\mypara{\bf Happens-Before:}
+In \TOOL, we avoid consume operations, and so the \textit{happens-before}
+(\reltext{hb}) relation is simply the transitive closure of \reltext{sb} and
+\reltext{sw}.
+
+The \reltext{hb} relation restricts the stores that loads can read
+from.  For example, if we have two stores $X$ and $Y$ and
+a load $Z$ to the same memory location and $X \relation{hb} Y
+\relation{hb} Z$, then $Z$ cannot read from $X$.
+
+\mypara{\bf Sequential Consistency:}
+All seq-cst operations in a program execution form a
+total ordering (\reltext{sc}) so that, for instance, a seq-cst load may not read
+from a seq-cst store prior to the most recent store (to the same location) in
+the \reltext{sc} ordering, nor from any store that happens before that store.
+The \reltext{sc} order must be consistent with \reltext{hb}.
+
+\mypara{\bf Modification Order:}
+Each atomic object in a program execution has an associated \textit{modification order}
+(\reltext{mo})---a total order of all stores to that object---which
+informally represents a memory-coherent ordering in which those stores may be observed by
+the rest of the program.
+In general the modification orders for all objects cannot be combined
+to form a consistent total ordering.
+
+
+
+
diff --git a/correctness-model/writeup/paper.aux b/correctness-model/writeup/paper.aux
new file mode 100644
index 0000000..605a7ee
--- /dev/null
+++ b/correctness-model/writeup/paper.aux
@@ -0,0 +1,75 @@
+\relax 
+\providecommand\hyper@newdestlabel[2]{}
+\providecommand\HyperFirstAtBeginDocument{\AtBeginDocument}
+\HyperFirstAtBeginDocument{\ifx\hyper@anchor\@undefined
+\global\let\oldcontentsline\contentsline
+\gdef\contentsline#1#2#3#4{\oldcontentsline{#1}{#2}{#3}}
+\global\let\oldnewlabel\newlabel
+\gdef\newlabel#1#2{\newlabelxx{#1}#2}
+\gdef\newlabelxx#1#2#3#4#5#6{\oldnewlabel{#1}{{#2}{#3}}}
+\AtEndDocument{\ifx\hyper@anchor\@undefined
+\let\contentsline\oldcontentsline
+\let\newlabel\oldnewlabel
+\fi}
+\fi}
+\global\let\hyper@last\relax 
+\gdef\HyperFirstAtBeginDocument#1{#1}
+\providecommand\HyField@AuxAddToFields[1]{}
+\providecommand\HyField@AuxAddToCoFields[2]{}
+\citation{rcu}
+\citation{lockfreequeue}
+\citation{javaConcurrentHashMap}
+\citation{cpp11spec}
+\citation{c11spec}
+\citation{boehmpldi}
+\citation{scmemorymodel}
+\citation{cdschecker}
+\citation{c11popl}
+\citation{relacy}
+\citation{linearizableref}
+\@writefile{toc}{\contentsline {section}{\numberline {1}Introduction}{\thepage }{section.1}}
+\newlabel{sec:introduction}{{1}{\thepage }{Introduction}{section.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.1}Background on Specifying the Correctness of Concurrent Data Structures}{\thepage }{subsection.1.1}}
+\citation{lineup}
+\citation{VechevMCLinear}
+\citation{vyrd}
+\citation{rcu}
+\citation{lockfreequeue}
+\citation{cdschecker}
+\citation{relacy}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.2}New Challenges from the C/C++ Memory Model}{\thepage }{subsection.1.2}}
+\newlabel{sec:introNewChallenges}{{1.2}{\thepage }{New Challenges from the C/C++ Memory Model}{subsection.1.2}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces  \textsc  {CDSSpec}\xspace  system overview}}{\thepage }{figure.1}}
+\newlabel{fig:specworkflow}{{1}{\thepage }{\TOOL system overview}{figure.1}{}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.3}Specification Language and Tool Support}{\thepage }{subsection.1.3}}
+\@writefile{toc}{\contentsline {subsection}{\numberline {1.4}Contributions}{\thepage }{subsection.1.4}}
+\bibstyle{abbrv}
+\bibdata{confstrs-long,paper}
+\bibcite{cpp11spec}{1}
+\bibcite{c11spec}{2}
+\bibcite{c11popl}{3}
+\bibcite{boehmpldi}{4}
+\bibcite{lineup}{5}
+\bibcite{rcu}{6}
+\bibcite{vyrd}{7}
+\bibcite{linearizableref}{8}
+\bibcite{scmemorymodel}{9}
+\bibcite{javaConcurrentHashMap}{10}
+\@writefile{toc}{\contentsline {section}{\numberline {2}Formalization of Correctness Model}{\thepage }{section.2}}
+\newlabel{sec:formalization}{{2}{\thepage }{Formalization of Correctness Model}{section.2}{}}
+\newlabel{line:startWithRelaxed}{{4}{\thepage }{Formalization of Correctness Model}{Item.9}{}}
+\newlabel{line:setOfCandidates}{{7}{\thepage }{Formalization of Correctness Model}{Item.9}{}}
+\newlabel{line:findSCViolation}{{11}{\thepage }{Formalization of Correctness Model}{Item.9}{}}
+\newlabel{line:callStrengthenParam}{{13}{\thepage }{Formalization of Correctness Model}{Item.9}{}}
+\newlabel{line:weakenOrderParams}{{15}{\thepage }{Formalization of Correctness Model}{Item.9}{}}
+\newlabel{line:tmpOutputAsInput}{{18}{\thepage }{Formalization of Correctness Model}{Item.9}{}}
+\newlabel{line:finalResults}{{20}{\thepage }{Formalization of Correctness Model}{Item.9}{}}
+\newlabel{line:strengthenParam}{{24}{\thepage }{Formalization of Correctness Model}{Item.9}{}}
+\newlabel{line:possibleFixes}{{25}{\thepage }{Formalization of Correctness Model}{Item.9}{}}
+\@writefile{lof}{\contentsline {figure}{\numberline {2}{\ignorespaces Algorithm for inferring order parameters}}{\thepage }{figure.2}}
+\newlabel{fig:algorithmfence}{{2}{\thepage }{Algorithm for inferring order parameters}{figure.2}{}}
+\@writefile{toc}{\contentsline {section}{\numberline {3}References}{\thepage }{section.3}}
+\bibcite{lockfreequeue}{11}
+\bibcite{cdschecker}{12}
+\bibcite{VechevMCLinear}{13}
+\bibcite{relacy}{14}
diff --git a/correctness-model/writeup/paper.bbl b/correctness-model/writeup/paper.bbl
new file mode 100644
index 0000000..e7f99db
--- /dev/null
+++ b/correctness-model/writeup/paper.bbl
@@ -0,0 +1,84 @@
+\begin{thebibliography}{10}
+
+\bibitem{cpp11spec}
+{ISO/IEC 14882:2011}, {Information} technology -- programming languages --
+  {C++}.
+
+\bibitem{c11spec}
+{ISO/IEC 9899:2011}, {Information} technology -- programming languages -- {C}.
+
+\bibitem{c11popl}
+M.~Batty, S.~Owens, S.~Sarkar, P.~Sewell, and T.~Weber.
+\newblock Mathematizing {C++} concurrency.
+\newblock In {\em Proceedings of the Symposium on Principles of Programming
+  Languages}, 2011.
+
+\bibitem{boehmpldi}
+H.~J. Boehm and S.~V. Adve.
+\newblock Foundations of the {C++} concurrency memory model.
+\newblock In {\em Proceedings of the 2008 ACM SIGPLAN Conference on Programming
+  Language Design and Implementation}, 2008.
+
+\bibitem{lineup}
+S.~Burckhardt, C.~Dern, M.~Musuvathi, and R.~Tan.
+\newblock Line-up: A complete and automatic linearizability checker.
+\newblock In {\em Proceedings of the 2010 ACM SIGPLAN Conference on Programming
+  Language Design and Implementation}, 2010.
+
+\bibitem{rcu}
+M.~Desnoyers, P.~E. McKenney, A.~S. Stern, M.~R. Dagenais, and J.~Walpole.
+\newblock User-level implementations of read-copy update.
+\newblock {\em IEEE Transactions on Parallel and Distributed Systems}, 2011.
+
+\bibitem{vyrd}
+T.~Elmas, S.~Tasiran, and S.~Qadeer.
+\newblock {VYRD}: Verifying concurrent programs by runtime refinement-violation
+  detection.
+\newblock In {\em Proceedings of the 2005 ACM SIGPLAN Conference on Programming
+  Language Design and Implementation}, 2005.
+
+\bibitem{linearizableref}
+M.~Herlihy and J.~Wing.
+\newblock Linearizability: a correctness condition for concurrent objects.
+\newblock {\em ACM Transactions on Programming Languages and Systems},
+  12(3):463--492, July 1990.
+
+\bibitem{scmemorymodel}
+L.~Lamport.
+\newblock How to make a multiprocessor computer that correctly executes
+  multiprocess programs.
+\newblock {\em IEEE Transactions on Computers}, 28(9):690--691, Sept. 1979.
+
+\bibitem{javaConcurrentHashMap}
+D.~Lea.
+\newblock util.concurrent.{ConcurrentHashMap} in java.util.concurrent the {Java
+  Concurrency Package}.
+\newblock
+  \url{http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html}.
+
+\bibitem{lockfreequeue}
+M.~M. Michael and M.~L. Scott.
+\newblock Simple, fast, and practical non-blocking and blocking concurrent
+  queue algorithms.
+\newblock In {\em Proceedings of the Fifteenth Annual ACM Symposium on
+  Principles of Distributed Computing}, 1996.
+
+\bibitem{cdschecker}
+B.~Norris and B.~Demsky.
+\newblock {CDSChecker}: Checking concurrent data structures written with
+  {C/C++} atomics.
+\newblock In {\em Proceeding of the 28th ACM SIGPLAN Conference on
+  Object-Oriented Programming, Systems, Languages, and Applications}, 2013.
+
+\bibitem{VechevMCLinear}
+M.~Vechev, E.~Yahav, and G.~Yorsh.
+\newblock Experience with model checking linearizability.
+\newblock In {\em International SPIN Workshop on Model Checking Software},
+  2009.
+
+\bibitem{relacy}
+D.~Vyukov.
+\newblock Relacy race detector.
+\newblock \url{http://relacy.sourceforge.net/}, 2011 Oct.
+
+\end{thebibliography}
diff --git a/correctness-model/writeup/paper.bib b/correctness-model/writeup/paper.bib
new file mode 100644
index 0000000..318493c
--- /dev/null
+++ b/correctness-model/writeup/paper.bib
@@ -0,0 +1,774 @@
+@inproceedings{clockvector,
+    author = "Friedemann Mattern",
+    title = "Virtual Time and Global States of Distributed Systems",
+    booktitle = "Workshop on Parallel and Distributed Algorithms",
+    year = "1989"
+}
+
+@article{scmemorymodel,
+ author = {Lamport, Leslie},
+ title = { How to Make a Multiprocessor Computer That Correctly Executes Multiprocess Programs},
+ journal = {IEEE Transactions on Computers},
+ issue_date = {September 1979},
+ volume = {28},
+ number = {9},
+ month = sep,
+ year = {1979},
+ pages = {690--691}
+} 
+
+@article{cantin,
+ author = {Cantin, Jason F. and Lipasti, Mikko H. and Smith, James E.},
+ title = {The Complexity of Verifying Memory Coherence and Consistency},
+ journal = {IEEE Transactions on Parallel and Distributed Systems},
+ issue_date = {July 2005},
+ volume = {16},
+ number = {7},
+ month = jul,
+ year = {2005},
+ issn = {1045-9219},
+ pages = {663--671}
+} 
+
+@inproceedings{roycav,
+ author = {Roy, Amitabha and Zeisset, Stephan and Fleckenstein, Charles J. and Huang, John C.},
+ title = {Fast and Generalized Polynomial Time Memory Consistency Verification},
+ booktitle = {Proceedings of the 18th International Conference on Computer Aided Verification},
+ year = {2006}
+} 
+
+
+@INPROCEEDINGS{qbornotqb,
+    author = {Ganesh Gopalakrishnan and Yue Yang and Hemanthkumar Sivaraj},
+    title = {{QB} or not {QB}: An efficient execution verification tool for memory orderings},
+    booktitle = cav04,
+    year = {2004},
+    pages = {401--413}
+}
+
+@Article{testsm,
+  author =       {Phillip B. Gibbons and Ephraim Korach},
+  title =        {Testing Shared Memories},
+  journal =      {SIAM Journal on Computing},
+  year =         {1997},
+  volume =    {26},
+  number =    {4},
+  pages =     {1208-1244},
+  month =     {August}
+}
+
+
+
+@inproceedings{koushiksc,
+ author = {Burnim, Jabob and Sen, Koushik and Stergiou, Christos},
+ title = {Sound and complete monitoring of sequential consistency for relaxed memory models},
+ booktitle = tacas11,
+ year = {2011}
+} 
+
+@inproceedings{burckhardtverif,
+ author = {Burckhardt, Sebastian and Musuvathi, Madanlal},
+ title = {Effective Program Verification for Relaxed Memory Models},
+ booktitle = cav08,
+ year = {2008}
+} 
+
+@inproceedings{checkfence,
+ author = {Burckhardt, Sebastian and Alur, Rajeev and Martin, Milo M. K.},
+ title = {CheckFence: Checking consistency of concurrent data types on relaxed memory models},
+ booktitle = pldi07,
+ year = {2007}
+}
+
+@inproceedings{cdschecker,
+ author = {Norris, Brian and Demsky, Brian},
+ title = {{CDSChecker}: Checking Concurrent Data Structures Written with {C/C++} Atomics},
+ booktitle = oopsla13,
+ year = {2013}
+}
+
+@inproceedings{poplabstraction,
+ author = {Batty, Mark and Dodds, Mike and Gotsman, Alexey},
+ title = {Library abstraction for {C/C++} concurrency},
+ booktitle = popl13,
+ year = {2013}
+} 
+
+
+@inproceedings{mspcboehm,
+ author = {Boehm, Hans},
+ title = {Can seqlocks get along with programming language memory models?},
+ booktitle = mspc12,
+ year = {2012},
+} 
+
+
+@inproceedings{pldisc,
+ author={Daniel Marino and Abhayendra Singh and Todd Millstein and Madanlal Musuvathi and Satish Narayanasamy},
+ title={A Case for an SC-Preserving Compiler},
+ booktitle=pldi11,
+ year={2011}
+}
+
+@inproceedings{ppoppworkstealing,
+ author = {L\^{e}, Nhat Minh and Pop, Antoniu and Cohen, Albert and Zappa Nardelli, Francesco},
+ title = {Correct and efficient work-stealing for weak memory models},
+ booktitle = ppopp13,
+ year = {2013}
+} 
+
+
+@inproceedings{adversarialmemory,
+ author = {Flanagan, Cormac and Freund, Stephen N.},
+ title = {Adversarial memory for detecting destructive races},
+ booktitle = pldi10,
+ year = {2010}
+} 
+
+
+@inproceedings{verisoft,
+ author = {Godefroid, Patrice},
+ title = {Model checking for programming languages using {VeriSoft}},
+ booktitle = popl97,
+ year = {1997}
+} 
+
+
+@ARTICLE{dillmodel,
+    author = {Seungjoon Park and David L. Dill},
+    title = {An Executable Specification and Verifier for Relaxed Memory Order},
+    journal = ieeetc,
+    year = {1999},
+    volume = {48}
+}
+
+@inproceedings{vechevpartialcoherence11,
+ author = {Kuperstein, Michael and Vechev, Martin and Yahav, Eran},
+ title = {Partial-coherence abstractions for relaxed memory models},
+ booktitle = pldi11,
+ year = {2011}
+} 
+
+@inproceedings{vechevfmcad,
+ author = {Kuperstein, Michael and Vechev, Martin and Yahav, Eran},
+ title = {Automatic inference of memory fences},
+ booktitle = fcad10,
+ year = {2010}
+}
+
+
+@article{sparcmodel,
+ author = {Jonsson, Bengt},
+ title = {State-space exploration for concurrent algorithms under weak memory orderings},
+ journal = {SIGARCH Computer Architecture News},
+ issue_date = {December 2008},
+ volume = {36},
+ number = {5},
+ month = jun,
+ year = {2009},
+ pages = {65--71},
+ numpages = {7},
+} 
+
+
+@inproceedings{inspect1,
+ author = {Yang, Yu and Chen, Xiaofang and Gopalakrishnan, Ganesh and Wang, Chao},
+ title = {Automatic Discovery of Transition Symmetry in Multithreaded Programs Using Dynamic Analysis},
+ booktitle = spin09,
+ year = {2009},
+ location = {Grenoble, France},
+ pages = {279--295}
+} 
+
+
+@article{sleepset,
+ author = {Godefroid, Patrice},
+ title = {Partial-Order Methods for the Verification of Concurrent Systems: An Approach to the State-Explosion Problem},
+ year = {1996},
+ journal = lncs,
+ vol = {1032}
+} 
+
+@Article{inspect2,
+  author = 	 {Chao Wang and Yu Yang and Aarti Gupta and Ganesh Gopalakrishnan},
+  title = 	 {Dynamic Model Checking with Property Driven Pruning to Detect Race Conditions},
+  journal = 	 {ATVA LNCS},
+  year={2008},
+  number = 	 {126--140}
+}
+
+
+
+@InProceedings{inspect3,
+  author = 	 {Yu Yang and Xiaofang Chen and Ganesh Gopalakrishnan and Robert M. Kirby},
+  title = 	 {Efficient Stateful Dynamic Partial Order Reduction},
+  booktitle = spin08,
+  year = 	 {2008}
+}
+
+
+@inproceedings{inspect4,
+ author = {Yang, Yu and Chen, Xiaofang and Gopalakrishnan, Ganesh and Kirby, Robert M.},
+ title = {Distributed Dynamic Partial Order Reduction Based Verification of Threaded Software},
+ booktitle = spin07,
+ year = {2007},
+ pages = {58--75}
+} 
+
+@Article{savage1997,
+ author = {Savage, Stefan and Burrows, Michael and Nelson, Greg and Sobalvarro, Patrick and Anderson, Thomas},
+ title = {Eraser: A Dynamic Data Race Detector for Multithreaded Programs},
+ journal = tocs,
+ volume = {15},
+ issue = {4},
+ month = {Nov.},
+ year = {1997},
+ pages = {391--411},
+}
+
+@inproceedings{Zhou2007,
+ author = {Zhou, Pin and Teodorescu, Radu and Zhou, Yuanyuan},
+ title = {{HARD}: Hardware-Assisted Lockset-based Race Detection},
+ booktitle = hpca07,
+ year = {2007},
+ pages = {121--132}
+} 
+
+@article{Gait1986,
+ author = {Gait, Jason},
+ title = {A probe effect in concurrent programs},
+ journal = {Software Practice and Experience},
+ volume = {16},
+ issue = {3},
+ month = {March},
+ year = {1986},
+ pages = {225--233}
+} 
+
+
+@inproceedings{Gupta2009,
+ author = {Gupta, Shantanu and Sultan, Florin and Cadambi, Srihari and Ivancic, Franjo and Rotteler, Martin},
+ title = {Using Hardware Transactional Memory for Data Race Detection},
+ booktitle = ipdps09,
+ year = {2009},
+ pages = {1--11},
+} 
+
+@inproceedings{Kudrjavets2006,
+ author = {Kudrjavets, Gunnar and Nagappan, Nachiappan and Ball, Thomas},
+ title = {Assessing the Relationship between Software Assertions and Faults: An Empirical Investigation},
+ booktitle = {Proceedings of the 17th International Symposium on Software Reliability Engineering},
+ year = {2006},
+ pages = {204--212}
+} 
+
+@inproceedings{lockfreequeue,
+ author = {Michael, Maged M. and Scott, Michael L.},
+ title = {Simple, Fast, and Practical Non-Blocking and Blocking Concurrent Queue Algorithms},
+ booktitle = podc96,
+ year = {1996}
+} 
+
+@inproceedings{testera,
+ author = {Marinov, Darko and Khurshid, Sarfraz},
+ title = {TestEra: A Novel Framework for Automated Testing of {Java} Programs},
+ booktitle = {Proceedings of the 16th IEEE International Conference on Automated Software Engineering},
+ year = {2001}
+} 
+
+@article{alloy,
+ author = {Jackson, Daniel},
+ title = {Alloy: A Lightweight Object Modelling Notation},
+ journal = {ACM Transactions on Software Engineering and Methodology (TOSEM)},
+ volume = {11},
+ issue = {2},
+ month = {April},
+ year = {2002},
+ pages = {256--290}
+} 
+
+
+@InProceedings{ltl,
+  author = 	 {Amir Pnueli},
+  title = 	 {The Temporal Logic of Programs},
+  booktitle = {Proceedings of the 18th Annual Symposium on Foundations of Computer Science (FOCS)},
+  pages = 	 {46--57},
+  Tyear = 	 {1977}
+}
+
+@inproceedings{boehmpldi,
+ author = {Boehm, Hans J. and Adve, Sarita V.},
+ title = {Foundations of the {C++} concurrency memory model},
+ booktitle = pldi08,
+ year = {2008}
+} 
+
+@Misc{cpp11spec,
+  title = 	 {{ISO/IEC 14882:2011}, {Information} Technology -- Programming Languages -- {C++}},
+}
+
+@Misc{c11spec,
+  title = 	 {{ISO/IEC 9899:2011}, {Information} Technology -- Programming Languages -- {C}},
+}
+
+@Misc{ieee1850,
+  title = 	 {1850-2005 {IEEE} Standard for Property Specification Language ({PSL})},
+}
+
+@Misc{c1xspec,
+  title = 	 {N1548: Programming languages -- {C}},
+  howpublished = {\url{http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1548.pdf}},
+  month = 	 {December},
+  year = 	 {2010},
+}
+
+@InProceedings{fadinew1,
+  author = 	 {Lu, Shan and Park, Soyeon and Seo, Eunsoo and Zhou, Yuanyuan},
+  title = 	 {Learning from Mistakes -- A Comprehensive Study on Real World Concurrency Bug Characteristics},
+  booktitle = pldi08,
+  year = 	 {2008}
+}
+
+
+@Article{fadinew2,
+  author = 	 {Netzer, Robert H. B. and Miller, Barton P.},
+  title = 	 {What are Race Conditions?: Some Issues and Formalizations},
+  journal = 	 {ACM Letters on Programming Languages and Systems},
+  year = 	 {1992},
+  volume = 	 {1},
+  number = 	 {1},
+  pages = 	 {74--88},
+  month = 	 {March}
+}
+
+@InProceedings{fadinew3,
+  author = 	 {Jinpeng Wei and Carlton Pu},
+  title = 	 {Multiprocessors May Reduce System Dependability under File-based Race Condition Attacks},
+  booktitle = {Proceedings of the 37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks},
+  year = 	 {2007}
+}
+
+@Article{rcu,
+  author = 	 {Mathie Desnoyers and Paul E McKenney and Alan S Stern and Michel R Dagenais and Jonathan Walpole},
+  title = 	 {User-Level  Implementations of Read-Copy Update},
+  journal = 	tpds,
+  year = 	 {2011}
+}
+
+@InProceedings{crugiso,
+  author =	 {Guoliang Jin and Aditya Thakur and Ben Liblit and
+                  Shan Lu},
+  title =	 {Instrumentation and Sampling Strategies for
+                  {Cooperative} {Concurrency} {Bug} {Isolation}},
+  booktitle =	 oopsla10,
+  year =	 2010
+}
+
+@inproceedings{incrementalhashing,
+ author = {Nguyen, Viet Yen and Ruys, Theo C.},
+ title = {Incremental Hashing for {SPIN}},
+ booktitle = spin08,
+ year = {2008}
+} 
+
+@inproceedings{racetrack,
+ author = {Yu, Yuan and Rodeheffer, Tom and Chen, Wei},
+ title = {RaceTrack: Efficient Detection of Data Race Conditions via Adaptive Tracking},
+ booktitle = sosp05,
+ year = {2005}
+} 
+
+
+@inproceedings{nitpicking,
+ author = {Blanchette, Jasmin Christian and Weber, Tjark and Batty, Mark and Owens, Scott and Sarkar, Susmit},
+ title = {Nitpicking {C++} concurrency},
+ booktitle = ppdp11,
+ year = {2011}
+} 
+
+
+@inproceedings{c11popl,
+ author = {Batty, Mark and Owens, Scott and Sarkar, Susmit and Sewell, Peter and Weber, Tjark},
+ title = {Mathematizing {C++} Concurrency},
+ booktitle = popl11,
+ year = {2011}
+} 
+
+@inproceedings{fairstateless,
+ author = {Musuvathi, Madanlal and Qadeer, Shaz},
+ title = {Fair stateless model checking},
+ booktitle = pldi08,
+ year = {2008}
+} 
+
+@Misc{javaConcurrentHashMap,
+  author = 	 {Doug Lea},
+  title = 	 {util.concurrent.{ConcurrentHashMap} in java.util.concurrent the {Java Concurrency Package}},
+  howpublished = {\url{http://docs.oracle.com/javase/8/docs/api/java/util/concurrent/ConcurrentHashMap.html}}
+}
+
+@Misc{clickhashtable,
+  author = 	 {Cliff Click},
+  title = 	 {A Lock-Free Hash Table},
+  howpublished = {\url{http://www.azulsystems.com/events/javaone_2007/2007_LockFreeHash.pdf}},
+  month = 	 {May},
+  year = 	 {2007}
+}
+
+@inproceedings{racerx,
+ author = {Engler, Dawson and Ashcraft, Ken},
+ title = {{RacerX}: Effective, Static Detection of Race Conditions and Deadlocks},
+ booktitle = sosp03,
+ year = {2003}
+} 
+
+@inproceedings{conflictexceptions,
+ author = {Lucia, Brandon and Ceze, Luis and Strauss, Karin and Qadeer, Shaz and Boehm, Hans},
+ title = {Conflict Exceptions: Simplifying Concurrent Language Semantics with Precise Hardware Exceptions for Data-Races},
+ booktitle = isca10,
+ year = {2010}
+} 
+
+
+@inproceedings{fasttrack,
+ author = {Flanagan, Cormac and Freund, Stephen N.},
+ title = {{FastTrack}: Efficient and Precise Dynamic Race Detection},
+ booktitle = pldi09,
+ year = {2009}
+} 
+
+
+@inproceedings{goldilocks,
+ author = {Elmas, Tayfun and Qadeer, Shaz and Tasiran, Serdar},
+ title = {Goldilocks: A Race and Transaction-Aware {Java} Runtime},
+ booktitle = pldi07,
+ year = {2007}
+} 
+
+@inproceedings{boyapati,
+ author = {Chandrasekhar Boyapati and Robert Lee and Martin Rinard},
+ title = {{Ownership Types for Safe Programming: Preventing Data Races and Deadlocks}},
+ booktitle = oopsla02,
+ year = {2002}
+ }
+
+
+@Misc{relacy,
+  author = 	 {Dmitriy Vyukov},
+  title = 	 {Relacy Race Detector},
+  howpublished = {\url{http://relacy.sourceforge.net/}},
+  month = 	 {2011},
+  year = 	 {Oct.}
+}
+
+@Book{spinmodel,
+  author = 	 {Gerard J. Holzmann},
+  title = 	 {The {SPIN} Model Checker: Primer and Reference Manual},
+  publisher = 	 {Addison-Wesley Professional},
+  year = 	 {2003},
+  edition = 	 {1st}
+}
+
+@Book{multiprocessorprogramming,
+  author = 	 {Maurice Herlihy and Nir Shavit},
+  title = 	 {The Art of Multiprocessor Programming},
+  publisher = 	 {Morgan Kaufmamn},
+  year = 	 {2012},
+  edition = 	 {Revised 1st}
+}
+
+@InProceedings{dpor,
+  author = 	 {Cormac Flanagan and Patrice Godefroid},
+  title = 	 {Dynamic Partial-Order Reduction for Model Checking Software},
+  booktitle = popl05,
+  month = {Jan.},
+  year = 	 {2005}
+}
+
+@Article{shavitcacm,
+  author = 	 {Nir Shavit},
+  title = 	 {Data Structures in the Multicore Age},
+  journal = 	 cacm,
+  year = 	 {2011},
+  volume = 	 {54},
+  number = 	 {3},
+  month = 	 {March}
+}
+%  pages = 	 {76--84},
+
+@inproceedings{chess,
+    author = {Madanlal Musuvathi and Shaz Qadeer and Piramanayagam Arumuga Nainar and Thomas Ball and Gerard Basler and Iulian Neamtiu},
+    title = {Finding and Reproducing {Heisenbugs} in Concurrent Programs},
+    year = {2008},
+    booktitle=osdi08
+}
+
+
+@inproceedings{lineup,
+ author = {Burckhardt, Sebastian and Dern, Chris and Musuvathi, Madanlal and Tan, Roy},
+ title = {Line-up: A Complete and Automatic Linearizability Checker},
+ booktitle = pldi10,
+ year = {2010}
+} 
+
+@inproceedings{berger-grace-09,
+  author = {Berger, Emery D. and Yang, Ting and Liu, Tongping and Novark, Gene},
+  title = {Grace: Safe multithreaded programming for {C}/{C}++},
+  booktitle = oopsla09,
+  year = {2009},
+}
+
+@INPROCEEDINGS{charisma,
+author = {Chao Huang and Laxmikant V. Kale},
+title = {Charisma: Orchestrating Migratable Parallel Objects},
+booktitle = hpdc07,
+year = {2007}  
+}
+
+
+@inproceedings{ding-bop-07,
+  author = {Ding, Chen and Shen, Xipeng and Kelsey, Kirk and Tice, Chris and Huang, Ruke and Zhang, Chengliang},
+  title = {Software behavior oriented parallelization},
+  booktitle = pldi07,
+  year = {2007},
+}
+
+@Misc{tilepro64,
+  key = 	 {tilera},
+  title = 	 {TILEPro64 Processor},
+  howpublished = {\url{http://tilera.com/products/processors/TILEPRO64}},
+  month = 	 {December},
+  year = 	 {2010}
+}
+
+@Misc{magnycour,
+  key = 	 {amd},
+  title = 	 {{AMD} {Opteron} 6000 Series Platform},
+  howpublished = {\url{http://www.amd.com/us/products/server/processors/6000-series-platform/pages/6000-series-platform.aspx}},
+  month = 	 {December},
+  year = 	 {2010}
+}
+
+@inproceedings{delaunay,
+ author = {Guibas, Leonidas J. and Knuth, Donald E. and Sharir, Micha},
+ title = {Randomized Incremental Construction of {Delaunay} and {Voronoi} Diagrams},
+ booktitle = {Proceedings of the Seventeenth International Colloquium on Automata, Languages and Programming},
+ year = {1990},
+ location = {Warwick University, England},
+ pages = {414--431},
+ numpages = {18},
+ publisher = {Springer-Verlag New York, Inc.},
+ address = {New York, NY, USA},
+} 
+
+@inproceedings{1000core,
+ author = {Borkar, Shekhar},
+ title = {Thousand Core Chips: A Technology Perspective},
+ booktitle = dac07,
+ year = {2007}
+ }
+
+@PhDThesis{r-cilk-98,
+  author = {Keith H. Randall},
+  title = {Cilk: Efficient Multithreaded Computing},
+  school = {Massachusetts Institute of Technology},
+  year = 1998,
+} 
+
+@InProceedings{dll-jcilk-05,
+  author = {John S. Danaher and I-Ting Angelina Lee and Charles E. Leiserson},
+  title = {The {JCilk} Language for Multithreaded Computing},
+  booktitle = scool05,
+  year = 2005,
+}
+
+@inproceedings{java-grande,
+  author = {Smith, L. A. and Bull, J. M. and Obdrz\'{a}lek, J.},
+  title = {A Parallel {J}ava {G}rande Benchmark Suite},
+  booktitle = sc01,
+  year = {2001}
+}
+
+@inproceedings{spin-commit-atomicity,
+ author = {Flanagan, Cormac},
+ title = {Verifying Commit-Atomicity using Model-Checking},
+ booktitle = spin04,
+ year = {2004}
+}
+
+@Article{linearizableref,
+	author =	{Maurice Herlihy and Jeannette Wing},
+	title =	{Linearizability: a correctness condition for concurrent objects},
+	journal =	{ACM Transactions on Programming Languages and Systems},
+	year =	{1990},
+	volume =	{12},
+	number =	{3},
+	pages =	{463-492},
+	month =	{July}
+}
+
+@Article{refinement-mapping,
+  author =       {Abadi, Martine and Lamport, Leslie},
+  title =        {The existence of Refinement Mapping},
+  journal =      {Theoretical Computer Science},
+  year =         {1991},
+  volume =    {82},
+  number =    {2},
+  pages =     {253-284},
+  month =     {May}
+}
+
+@inproceedings{abstraction-linearizability,
+ author = {Amit, D. and Rinetzky, N. and Reps, T. and Sagiv, M. and Yahav, E. },
+ title = {Comparison under Abstraction for Verifying Linearizability},
+ booktitle = cav07,
+ year = {2007}
+}
+
+@inproceedings{formal-verification-set,
+ author = {Colvin, R. and Groves, L. and Luchangco, V. and Moir, M.},
+ title = {Formal Verification of a Lazy Concurrent List-Based Set Algorithm},
+ booktitle = cav06,
+ year = {2006}
+}
+
+@inproceedings{concurrit,
+ author = {Elmas, T. and Burnim, J. and Necula, G. and Sen, K.},
+ title = {{CONCURRIT}: A Domain Specific Language for Reproducing Concurrency Bugs},
+ booktitle = pldi13,
+ year = {2013}
+}
+
+@inproceedings{gambit,
+ author = {Coons, K. E. and Burckhardt, S. and Musuvathi, M.},
+ title = {{GAMBIT}: Effective Unit Testing for Concurrency Libraries},
+ booktitle = ppopp10,
+ year = {2010}
+}
+
+@inproceedings{memtest,
+ author = {Burnim, J. and Sen, K. and Stergiou, C.},
+ title = {Testing Concurrent Programs on Relaxed Memory Models},
+ booktitle = issta11,
+ year = {2011}
+}
+
+@inproceedings{ndetermin,
+ author = {Burnim, J. and Elmas, T. and Necula, G. and Sen, K.},
+ title = {{NDetermin}: Inferring Nondeterministic Sequential Specifications for Parallelism Correctness},
+ booktitle = ppopp12,
+ year = {2012}
+}
+
+@inproceedings{vyrd,
+ author = {Elmas, T. and Tasiran, S. and Qadeer, S.},
+ title = {{VYRD}: VerifYing Concurrent Programs by Runtime Refinement-Violation Detection},
+ booktitle = pldi05,
+ year = {2005}
+}
+
+@inproceedings{thread-quantification,
+ author = {Berdine, J. and Lev-Ami, T. and Manivich, R. and Ramalingam, G. and Sagiv, M.},
+ title = {Thread Quantification for Concurrent Shape Analysis},
+ booktitle = cav08,
+ year = {2008}
+}
+
+@inproceedings{VechevMCLinear,
+ author = {Vechev, Martin and Yahav, Eran and Yorsh, Greta},
+ title = {Experience with Model Checking Linearizability},
+ booktitle = "International SPIN Workshop on Model Checking Software",
+ year = {2009}
+}
+
+@inproceedings{shape-value-abstraction,
+ author = {Vafeiadis, Viktor},
+ title = {Shape-Value Abstraction for Verifying Linearizability},
+ booktitle = vmcai09, 
+ year = {2009}
+}
+
+@Article{test-verify-concurrent-objects,
+  author =       {Wing, Jeannette M. and Gong, Chun},
+  title =        {Testing and Verifying Concurrent Objects},
+  journal =      {Journal of Parallel and Distributed Computing - Special issue on parallel I/O systems},
+  year =         {1993},
+  volume =    {17},
+  number =    {1-2},
+  pages =     {164-182},
+  month =     {Jan./Feb.}
+}
+
+@inproceedings{stamp,
+    title     = {{STAMP}: Stanford Transactional Applications for Multi-Processing},
+    author    = {Cao Minh, Chi and Chung, JaeWoong and Kozyrakis, Christos and Olukotun, Kunle},
+    booktitle = iiswc08,
+    year      = {2008}
+}
+
+@article{l-clocks,
+  author = {Lamport, Leslie},
+  title = {Time, clocks, and the ordering of events in a distributed system},
+  journal = cacm,
+  issue_date = {July 1978},
+  volume = {21},
+  number = {7},
+  month = jul,
+  year = {1978},
+  pages = {558--565},
+  numpages = {8},
+  acmid = {359563},
+  publisher = {ACM},
+  address = {New York, NY, USA},
+  keywords = {clock synchronization, computer networks, distributed systems, multiprocess systems},
+} 
+
+@inproceedings{reverse-execution,
+  author = {Pan, Douglas Z. and Linton, Mark A.},
+  title = {Supporting reverse execution for parallel programs},
+  booktitle = padd88,
+  year = {1988}
+}
+
+@misc{linux,
+  title = {Linux Kernel v3.6},
+  howpublished = {\url{http://kernel.org/}},
+  month = {September},
+  year = {2012},
+}
+
+@inproceedings{mcs-lock,
+  author = {Mellor-Crummey, John M. and Scott, Michael L.},
+  title = {Synchronization without contention},
+  booktitle = asplos91,
+  year = {1991},
+  location = {Santa Clara, California, United States},
+  pages = {269--278},
+  numpages = {10},
+  acmid = {106999},
+} 
+
+@misc{barrier-url,
+  howpublished = {\url{http://stackoverflow.com/questions/8115267/writing-a-spinning-thread-barrier-using-c11-atomics}},
+  note =	{Oct. 2012},
+}
+
+@misc{mcs-lock-url,
+  howpublished = {\url{http://cbloomrants.blogspot.com/2011/07/07-18-11-mcs-list-based-lock\_18.html}},
+  note =	{Oct. 2012},
+}
+
+@misc{spsc-queue-url,
+  howpublished = {\url{https://groups.google.com/forum/#!msg/comp.programming.threads/nSSFT9vKEe0/7eD3ioDg6nEJ}},
+  note =	{Oct. 2012},
+}
+
+@misc{mpmc-queue-url,
+  howpublished = {\url{http://cbloomrants.blogspot.com/2011/07/07-30-11-look-at-some-bounded-queues.html}},
+  note =	{Oct. 2012},
+}
+
+@misc{dekker-url,
+  howpublished = {\url{http://www.justsoftwaresolutions.co.uk/threading/}},
+  note =	{Dec. 2012},
+}
diff --git a/correctness-model/writeup/paper.blg b/correctness-model/writeup/paper.blg
new file mode 100644
index 0000000..6a4c408
--- /dev/null
+++ b/correctness-model/writeup/paper.blg
@@ -0,0 +1,50 @@
+This is BibTeX, Version 0.99d (TeX Live 2013/Debian)
+Capacity: max_strings=35307, hash_size=35307, hash_prime=30011
+The top-level auxiliary file: paper.aux
+The style file: abbrv.bst
+Database file #1: confstrs-long.bib
+Database file #2: paper.bib
+Warning--to sort, need author or key in cpp11spec
+Warning--to sort, need author or key in c11spec
+You've used 14 entries,
+            2118 wiz_defined-function locations,
+            816 strings with 16605 characters,
+and the built_in function-call counts, 3810 in all, are:
+= -- 331
+> -- 190
+< -- 0
++ -- 76
+- -- 62
+* -- 224
+:= -- 631
+add.period$ -- 38
+call.type$ -- 14
+change.case$ -- 73
+chr.to.int$ -- 0
+cite$ -- 16
+duplicate$ -- 158
+empty$ -- 358
+format.name$ -- 62
+if$ -- 806
+int.to.chr$ -- 0
+int.to.str$ -- 14
+missing$ -- 10
+newline$ -- 69
+num.names$ -- 24
+pop$ -- 115
+preamble$ -- 1
+purify$ -- 59
+quote$ -- 0
+skip$ -- 108
+stack$ -- 0
+substring$ -- 116
+swap$ -- 21
+text.length$ -- 0
+text.prefix$ -- 0
+top$ -- 0
+type$ -- 56
+warning$ -- 2
+while$ -- 27
+width$ -- 16
+write$ -- 133
+(There were 2 warnings)
diff --git a/correctness-model/writeup/paper.log b/correctness-model/writeup/paper.log
new file mode 100644
index 0000000..7b65903
--- /dev/null
+++ b/correctness-model/writeup/paper.log
@@ -0,0 +1,661 @@
+This is pdfTeX, Version 3.1415926-2.5-1.40.14 (TeX Live 2013/Debian) (format=pdflatex 2014.3.31)  10 APR 2015 10:40
+entering extended mode
+ restricted \write18 enabled.
+ %&-line parsing enabled.
+**paper.tex
+(./paper.tex
+LaTeX2e <2011/06/27>
+Babel <3.9h> and hyphenation patterns for 78 languages loaded.
+(./sig-alternate.cls
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/epsfig.sty
+Package: epsfig 1999/02/16 v1.7a (e)psfig emulation (SPQR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphicx.sty
+Package: graphicx 1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/keyval.sty
+Package: keyval 1999/03/16 v1.13 key=value parser (DPC)
+\KV@toks@=\toks14
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/graphics.sty
+Package: graphics 2009/02/05 v1.0o Standard LaTeX Graphics (DPC,SPQR)
+
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/trig.sty
+Package: trig 1999/03/16 v1.09 sin cos tan (DPC)
+)
+(/etc/texmf/tex/latex/config/graphics.cfg
+File: graphics.cfg 2009/08/28 v1.8 graphics configuration of TeX Live
+)
+Package graphics Info: Driver file: pdftex.def on input line 91.
+
+(/usr/share/texlive/texmf-dist/tex/latex/pdftex-def/pdftex.def
+File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/infwarerr.sty
+Package: infwarerr 2010/04/08 v1.3 Providing info/warning/error messages (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/ltxcmds.sty
+Package: ltxcmds 2011/11/09 v1.22 LaTeX kernel commands for general use (HO)
+)
+\Gread@gobject=\count79
+))
+\Gin@req@height=\dimen102
+\Gin@req@width=\dimen103
+)
+\epsfxsize=\dimen104
+\epsfysize=\dimen105
+)
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amssymb.sty
+Package: amssymb 2013/01/14 v3.01 AMS font symbols
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/amsfonts.sty
+Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support
+\@emptytoks=\toks15
+\symAMSa=\mathgroup4
+\symAMSb=\mathgroup5
+LaTeX Font Info:    Overwriting math alphabet `\mathfrak' in version `bold'
+(Font)                  U/euf/m/n --> U/euf/b/n on input line 106.
+))
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsmath.sty
+Package: amsmath 2013/01/14 v2.14 AMS math features
+\@mathmargin=\skip41
+
+For additional information on amsmath, use the `?' option.
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amstext.sty
+Package: amstext 2000/06/29 v2.01
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsgen.sty
+File: amsgen.sty 1999/11/30 v2.0
+\@emptytoks=\toks16
+\ex@=\dimen106
+))
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsbsy.sty
+Package: amsbsy 1999/11/29 v1.2d
+\pmbraise@=\dimen107
+)
+(/usr/share/texlive/texmf-dist/tex/latex/amsmath/amsopn.sty
+Package: amsopn 1999/12/14 v2.01 operator names
+)
+\inf@bad=\count80
+LaTeX Info: Redefining \frac on input line 210.
+\uproot@=\count81
+\leftroot@=\count82
+LaTeX Info: Redefining \overline on input line 306.
+\classnum@=\count83
+\DOTSCASE@=\count84
+LaTeX Info: Redefining \ldots on input line 378.
+LaTeX Info: Redefining \dots on input line 381.
+LaTeX Info: Redefining \cdots on input line 466.
+\Mathstrutbox@=\box26
+\strutbox@=\box27
+\big@size=\dimen108
+LaTeX Font Info:    Redeclaring font encoding OML on input line 566.
+LaTeX Font Info:    Redeclaring font encoding OMS on input line 567.
+\macc@depth=\count85
+\c@MaxMatrixCols=\count86
+\dotsspace@=\muskip10
+\c@parentequation=\count87
+\dspbrk@lvl=\count88
+\tag@help=\toks17
+\row@=\count89
+\column@=\count90
+\maxfields@=\count91
+\andhelp@=\toks18
+\eqnshift@=\dimen109
+\alignsep@=\dimen110
+\tagshift@=\dimen111
+\tagwidth@=\dimen112
+\totwidth@=\dimen113
+\lineht@=\dimen114
+\@envbody=\toks19
+\multlinegap=\skip42
+\multlinetaggap=\skip43
+\mathdisplay@stack=\toks20
+LaTeX Info: Redefining \[ on input line 2665.
+LaTeX Info: Redefining \] on input line 2666.
+)
+Document Class 'sig-alternate' <23rd. May '12>. Modified by G.K.M. Tobin/Gerry 
+Murray
+Based in part upon document Style `acmconf' <22 May 89>. Hacked 4/91 by
+shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca
+Excerpts were taken from (Journal Style) 'esub2acm.cls'.
+****** Bugs/comments/suggestions/technicalities to Gerry Murray -- murray@hq.ac
+m.org ******
+Questions on the style, SIGS policies, etc. to Adrienne Griscti griscti@acm.org
+
+\footheight=\dimen115
+\@maxsep=\dimen116
+\@dblmaxsep=\dimen117
+\aucount=\count92
+\originalaucount=\count93
+\auwidth=\dimen118
+\auskip=\dimen119
+\auskipcount=\count94
+\auskip=\dimen120
+\allauboxes=\dimen121
+\addauthors=\toks21
+\addauflag=\count95
+\subtitletext=\toks22
+\savesection=\count96
+\sectioncntr=\count97
+\c@figure=\count98
+\c@table=\count99
+\titleboxnotes=\toks23
+\titleboxnoteflag=\count100
+Document Class: sig-alternate 2012/05/23 - V2.5 - based on acmproc.cls V1.3 <No
+v. 30 '99>
+(/usr/share/texlive/texmf-dist/tex/latex/base/latexsym.sty
+Package: latexsym 1998/08/17 v2.2e Standard LaTeX package (lasy symbols)
+\symlasy=\mathgroup6
+LaTeX Font Info:    Overwriting symbol font `lasy' in version `bold'
+(Font)                  U/lasy/m/n --> U/lasy/b/n on input line 47.
+)
+\@acmtitlebox=\box28
+\titlenotecount=\count101
+\tntoks=\toks24
+\tntokstwo=\toks25
+\tntoksthree=\toks26
+\tntoksfour=\toks27
+\tntoksfive=\toks28
+\catcount=\count102
+\copyrightnotice=\toks29
+\conf=\toks30
+\confinfo=\toks31
+\c@part=\count103
+\c@section=\count104
+\c@subsection=\count105
+\c@subsubsection=\count106
+\c@paragraph=\count107
+
+Using 'Abbrev' bibliography style
+LaTeX Info: Redefining \cite on input line 1211.
+\bibindent=\dimen122
+\colcntr=\count108
+\saveb@x=\box29
+\copyrtyr=\toks32
+\acmcopyr=\toks33
+\boilerplate=\toks34
+\copyrightetc=\toks35
+(/usr/share/texlive/texmf-dist/tex/latex/base/fontenc.sty
+Package: fontenc 2005/09/27 v1.99g Standard LaTeX package
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/t1enc.def
+File: t1enc.def 2005/09/27 v1.99g Standard LaTeX file
+LaTeX Font Info:    Redeclaring font encoding T1 on input line 43.
+)
+LaTeX Font Info:    Try loading font information for T1+aer on input line 100.
+
+(/usr/share/texlive/texmf-dist/tex/latex/ae/t1aer.fd
+File: t1aer.fd 1997/11/16 Font definitions for T1/aer.
+)))
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/times.sty
+Package: times 2005/04/12 PSNFSS-v9.2a (SPQR) 
+)
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/helvet.sty
+Package: helvet 2005/04/12 PSNFSS-v9.2a (WaS) 
+)
+(/usr/share/texlive/texmf-dist/tex/latex/url/url.sty
+\Urlmuskip=\muskip11
+Package: url 2013/09/16  ver 3.4  Verb mode for urls, etc.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.sty
+\lst@mode=\count109
+\lst@gtempboxa=\box30
+\lst@token=\toks36
+\lst@length=\count110
+\lst@currlwidth=\dimen123
+\lst@column=\count111
+\lst@pos=\count112
+\lst@lostspace=\dimen124
+\lst@width=\dimen125
+\lst@newlines=\count113
+\lst@lineno=\count114
+\abovecaptionskip=\skip44
+\belowcaptionskip=\skip45
+\lst@maxwidth=\dimen126
+
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 2013/08/26 1.5b (Carsten Heinz)
+\c@lstnumber=\count115
+\lst@skipnumbers=\count116
+\lst@framebox=\box31
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/listings.cfg
+File: listings.cfg 2013/08/26 1.5b listings configuration
+))
+Package: listings 2013/08/26 1.5b (Carsten Heinz)
+
+(/usr/share/texlive/texmf-dist/tex/latex/enumitem/enumitem.sty
+Package: enumitem 2011/09/28 v3.5.2 Customized lists
+\labelindent=\skip46
+\enit@outerparindent=\dimen127
+\enit@toks=\toks37
+\enit@inbox=\box32
+\enitdp@description=\count117
+)
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hyperref.sty
+Package: hyperref 2012/11/06 v6.83m Hypertext links for LaTeX
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-hyperref.sty
+Package: hobsub-hyperref 2012/05/28 v1.13 Bundle oberdiek, subset hyperref (HO)
+
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/hobsub-generic.sty
+Package: hobsub-generic 2012/05/28 v1.13 Bundle oberdiek, subset generic (HO)
+Package: hobsub 2012/05/28 v1.13 Construct package bundles (HO)
+Package hobsub Info: Skipping package `infwarerr' (already loaded).
+Package hobsub Info: Skipping package `ltxcmds' (already loaded).
+Package: ifluatex 2010/03/01 v1.3 Provides the ifluatex switch (HO)
+Package ifluatex Info: LuaTeX not detected.
+Package: ifvtex 2010/03/01 v1.5 Detect VTeX and its facilities (HO)
+Package ifvtex Info: VTeX not detected.
+Package: intcalc 2007/09/27 v1.1 Expandable calculations with integers (HO)
+Package: ifpdf 2011/01/30 v2.3 Provides the ifpdf switch (HO)
+Package ifpdf Info: pdfTeX in PDF mode is detected.
+Package: etexcmds 2011/02/16 v1.5 Avoid name clashes with e-TeX commands (HO)
+Package etexcmds Info: Could not find \expanded.
+(etexcmds)             That can mean that you are not using pdfTeX 1.50 or
+(etexcmds)             that some package has redefined \expanded.
+(etexcmds)             In the latter case, load this package earlier.
+Package: kvsetkeys 2012/04/25 v1.16 Key value parser (HO)
+Package: kvdefinekeys 2011/04/07 v1.3 Define keys (HO)
+Package: pdftexcmds 2011/11/29 v0.20 Utility functions of pdfTeX for LuaTeX (HO
+)
+Package pdftexcmds Info: LuaTeX not detected.
+Package pdftexcmds Info: \pdf@primitive is available.
+Package pdftexcmds Info: \pdf@ifprimitive is available.
+Package pdftexcmds Info: \pdfdraftmode found.
+Package: pdfescape 2011/11/25 v1.13 Implements pdfTeX's escape features (HO)
+Package: bigintcalc 2012/04/08 v1.3 Expandable calculations on big integers (HO
+)
+Package: bitset 2011/01/30 v1.1 Handle bit-vector datatype (HO)
+Package: uniquecounter 2011/01/30 v1.2 Provide unlimited unique counter (HO)
+)
+Package hobsub Info: Skipping package `hobsub' (already loaded).
+Package: letltxmacro 2010/09/02 v1.4 Let assignment for LaTeX macros (HO)
+Package: hopatch 2012/05/28 v1.2 Wrapper for package hooks (HO)
+Package: xcolor-patch 2011/01/30 xcolor patch
+Package: atveryend 2011/06/30 v1.8 Hooks at the very end of document (HO)
+Package atveryend Info: \enddocument detected (standard20110627).
+Package: atbegshi 2011/10/05 v1.16 At begin shipout hook (HO)
+Package: refcount 2011/10/16 v3.4 Data extraction from label references (HO)
+Package: hycolor 2011/01/30 v1.7 Color options for hyperref/bookmark (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/generic/ifxetex/ifxetex.sty
+Package: ifxetex 2010/09/12 v0.6 Provides ifxetex conditional
+)
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/auxhook.sty
+Package: auxhook 2011/03/04 v1.3 Hooks for auxiliary files (HO)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/kvoptions.sty
+Package: kvoptions 2011/06/30 v3.11 Key value format for package options (HO)
+)
+\@linkdim=\dimen128
+\Hy@linkcounter=\count118
+\Hy@pagecounter=\count119
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/pd1enc.def
+File: pd1enc.def 2012/11/06 v6.83m Hyperref: PDFDocEncoding definition (HO)
+)
+\Hy@SavedSpaceFactor=\count120
+
+(/usr/share/texlive/texmf-dist/tex/latex/latexconfig/hyperref.cfg
+File: hyperref.cfg 2002/06/06 v1.2 hyperref configuration of TeXLive
+)
+Package hyperref Info: Option `colorlinks' set `true' on input line 4319.
+Package hyperref Info: Option `breaklinks' set `true' on input line 4319.
+Package hyperref Info: Option `draft' set `true' on input line 4319.
+Package hyperref Info: Hyper figures OFF on input line 4443.
+Package hyperref Info: Link nesting OFF on input line 4448.
+Package hyperref Info: Hyper index ON on input line 4451.
+Package hyperref Info: Plain pages OFF on input line 4458.
+Package hyperref Info: Backreferencing OFF on input line 4463.
+Package hyperref Info: Implicit mode ON; LaTeX internals redefined.
+Package hyperref Info: Bookmarks ON on input line 4688.
+\c@Hy@tempcnt=\count121
+LaTeX Info: Redefining \url on input line 5041.
+\XeTeXLinkMargin=\dimen129
+\Fld@menulength=\count122
+\Field@Width=\dimen130
+\Fld@charsize=\dimen131
+Package hyperref Info: Hyper figures OFF on input line 6295.
+Package hyperref Info: Link nesting OFF on input line 6300.
+Package hyperref Info: Hyper index ON on input line 6303.
+Package hyperref Info: backreferencing OFF on input line 6310.
+Package hyperref Info: Link coloring ON on input line 6313.
+Package hyperref Info: Link coloring with OCG OFF on input line 6320.
+Package hyperref Info: PDF/A mode OFF on input line 6325.
+LaTeX Info: Redefining \ref on input line 6365.
+LaTeX Info: Redefining \pageref on input line 6369.
+
+
+Package hyperref Warning: Option `pdfpagelabels' is turned off
+(hyperref)                because \thepage is undefined.
+
+\c@Item=\count123
+\c@Hfootnote=\count124
+)
+
+Package hyperref Message: Driver (autodetected): hpdftex.
+
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/hpdftex.def
+File: hpdftex.def 2012/11/06 v6.83m Hyperref driver for pdfTeX
+\Fld@listcount=\count125
+\c@bookmark@seq@number=\count126
+
+(/usr/share/texlive/texmf-dist/tex/latex/oberdiek/rerunfilecheck.sty
+Package: rerunfilecheck 2011/04/15 v1.7 Rerun checks for auxiliary files (HO)
+Package uniquecounter Info: New unique counter `rerunfilecheck' on input line 2
+82.
+)
+\Hy@SectionHShift=\skip47
+)
+(/usr/share/texlive/texmf-dist/tex/latex/rotating/rotating.sty
+Package: rotating 2009/03/28 v2.16a rotated objects in LaTeX
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/ifthen.sty
+Package: ifthen 2001/05/26 v1.1c Standard LaTeX ifthen package (DPC)
+)
+\c@r@tfl@t=\count127
+\rotFPtop=\skip48
+\rotFPbot=\skip49
+\rot@float@box=\box33
+\rot@mess@toks=\toks38
+)
+(/usr/share/texlive/texmf-dist/tex/latex/algorithms/algorithm.sty
+Package: algorithm 2009/08/24 v0.1 Document Style `algorithm' - floating enviro
+nment
+
+(/usr/share/texlive/texmf-dist/tex/latex/float/float.sty
+Package: float 2001/11/08 v1.3d Float enhancements (AL)
+\c@float@type=\count128
+\float@exts=\toks39
+\float@box=\box34
+\@float@everytoks=\toks40
+\@floatcapt=\box35
+)
+\@float@every@algorithm=\toks41
+\c@algorithm=\count129
+)
+(/usr/share/texlive/texmf-dist/tex/latex/algorithmicx/algpseudocode.sty
+Package: algpseudocode 
+
+(/usr/share/texlive/texmf-dist/tex/latex/algorithmicx/algorithmicx.sty
+Package: algorithmicx 2005/04/27 v1.2 Algorithmicx
+
+Document Style algorithmicx 1.2 - a greatly improved `algorithmic' style
+\c@ALG@line=\count130
+\c@ALG@rem=\count131
+\c@ALG@nested=\count132
+\ALG@tlm=\skip50
+\ALG@thistlm=\skip51
+\c@ALG@Lnr=\count133
+\c@ALG@blocknr=\count134
+\c@ALG@storecount=\count135
+\c@ALG@tmpcounter=\count136
+\ALG@tmplength=\skip52
+)
+Document Style - pseudocode environments for use with the `algorithmicx' style
+) (/usr/share/texlive/texmf-dist/tex/latex/tools/xspace.sty
+Package: xspace 2009/10/20 v1.13 Space after command names (DPC,MH)
+)
+(/usr/share/texlive/texmf-dist/tex/latex/graphics/color.sty
+Package: color 2005/11/14 v1.0j Standard LaTeX Color (DPC)
+
+(/etc/texmf/tex/latex/config/color.cfg
+File: color.cfg 2007/01/18 v1.5 color configuration of teTeX/TeXLive
+)
+Package color Info: Driver file: pdftex.def on input line 130.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/base/textcomp.sty
+Package: textcomp 2005/09/27 v1.99g Standard LaTeX package
+Package textcomp Info: Sub-encoding information:
+(textcomp)               5 = only ISO-Adobe without \textcurrency
+(textcomp)               4 = 5 + \texteuro
+(textcomp)               3 = 4 + \textohm
+(textcomp)               2 = 3 + \textestimated + \textcurrency
+(textcomp)               1 = TS1 - \textcircled - \t
+(textcomp)               0 = TS1 (full)
+(textcomp)             Font families with sub-encoding setting implement
+(textcomp)             only a restricted character set as indicated.
+(textcomp)             Family '?' is the default used for unknown fonts.
+(textcomp)             See the documentation for details.
+Package textcomp Info: Setting ? sub-encoding to TS1/1 on input line 71.
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/ts1enc.def
+File: ts1enc.def 2001/06/05 v3.0e (jk/car/fm) Standard LaTeX file
+)
+LaTeX Info: Redefining \oldstylenums on input line 266.
+Package textcomp Info: Setting cmr sub-encoding to TS1/0 on input line 281.
+Package textcomp Info: Setting cmss sub-encoding to TS1/0 on input line 282.
+Package textcomp Info: Setting cmtt sub-encoding to TS1/0 on input line 283.
+Package textcomp Info: Setting cmvtt sub-encoding to TS1/0 on input line 284.
+Package textcomp Info: Setting cmbr sub-encoding to TS1/0 on input line 285.
+Package textcomp Info: Setting cmtl sub-encoding to TS1/0 on input line 286.
+Package textcomp Info: Setting ccr sub-encoding to TS1/0 on input line 287.
+Package textcomp Info: Setting ptm sub-encoding to TS1/4 on input line 288.
+Package textcomp Info: Setting pcr sub-encoding to TS1/4 on input line 289.
+Package textcomp Info: Setting phv sub-encoding to TS1/4 on input line 290.
+Package textcomp Info: Setting ppl sub-encoding to TS1/3 on input line 291.
+Package textcomp Info: Setting pag sub-encoding to TS1/4 on input line 292.
+Package textcomp Info: Setting pbk sub-encoding to TS1/4 on input line 293.
+Package textcomp Info: Setting pnc sub-encoding to TS1/4 on input line 294.
+Package textcomp Info: Setting pzc sub-encoding to TS1/4 on input line 295.
+Package textcomp Info: Setting bch sub-encoding to TS1/4 on input line 296.
+Package textcomp Info: Setting put sub-encoding to TS1/5 on input line 297.
+Package textcomp Info: Setting uag sub-encoding to TS1/5 on input line 298.
+Package textcomp Info: Setting ugq sub-encoding to TS1/5 on input line 299.
+Package textcomp Info: Setting ul8 sub-encoding to TS1/4 on input line 300.
+Package textcomp Info: Setting ul9 sub-encoding to TS1/4 on input line 301.
+Package textcomp Info: Setting augie sub-encoding to TS1/5 on input line 302.
+Package textcomp Info: Setting dayrom sub-encoding to TS1/3 on input line 303.
+Package textcomp Info: Setting dayroms sub-encoding to TS1/3 on input line 304.
+
+Package textcomp Info: Setting pxr sub-encoding to TS1/0 on input line 305.
+Package textcomp Info: Setting pxss sub-encoding to TS1/0 on input line 306.
+Package textcomp Info: Setting pxtt sub-encoding to TS1/0 on input line 307.
+Package textcomp Info: Setting txr sub-encoding to TS1/0 on input line 308.
+Package textcomp Info: Setting txss sub-encoding to TS1/0 on input line 309.
+Package textcomp Info: Setting txtt sub-encoding to TS1/0 on input line 310.
+Package textcomp Info: Setting lmr sub-encoding to TS1/0 on input line 311.
+Package textcomp Info: Setting lmdh sub-encoding to TS1/0 on input line 312.
+Package textcomp Info: Setting lmss sub-encoding to TS1/0 on input line 313.
+Package textcomp Info: Setting lmssq sub-encoding to TS1/0 on input line 314.
+Package textcomp Info: Setting lmvtt sub-encoding to TS1/0 on input line 315.
+Package textcomp Info: Setting qhv sub-encoding to TS1/0 on input line 316.
+Package textcomp Info: Setting qag sub-encoding to TS1/0 on input line 317.
+Package textcomp Info: Setting qbk sub-encoding to TS1/0 on input line 318.
+Package textcomp Info: Setting qcr sub-encoding to TS1/0 on input line 319.
+Package textcomp Info: Setting qcs sub-encoding to TS1/0 on input line 320.
+Package textcomp Info: Setting qpl sub-encoding to TS1/0 on input line 321.
+Package textcomp Info: Setting qtm sub-encoding to TS1/0 on input line 322.
+Package textcomp Info: Setting qzc sub-encoding to TS1/0 on input line 323.
+Package textcomp Info: Setting qhvc sub-encoding to TS1/0 on input line 324.
+Package textcomp Info: Setting futs sub-encoding to TS1/4 on input line 325.
+Package textcomp Info: Setting futx sub-encoding to TS1/4 on input line 326.
+Package textcomp Info: Setting futj sub-encoding to TS1/4 on input line 327.
+Package textcomp Info: Setting hlh sub-encoding to TS1/3 on input line 328.
+Package textcomp Info: Setting hls sub-encoding to TS1/3 on input line 329.
+Package textcomp Info: Setting hlst sub-encoding to TS1/3 on input line 330.
+Package textcomp Info: Setting hlct sub-encoding to TS1/5 on input line 331.
+Package textcomp Info: Setting hlx sub-encoding to TS1/5 on input line 332.
+Package textcomp Info: Setting hlce sub-encoding to TS1/5 on input line 333.
+Package textcomp Info: Setting hlcn sub-encoding to TS1/5 on input line 334.
+Package textcomp Info: Setting hlcw sub-encoding to TS1/5 on input line 335.
+Package textcomp Info: Setting hlcf sub-encoding to TS1/5 on input line 336.
+Package textcomp Info: Setting pplx sub-encoding to TS1/3 on input line 337.
+Package textcomp Info: Setting pplj sub-encoding to TS1/3 on input line 338.
+Package textcomp Info: Setting ptmx sub-encoding to TS1/4 on input line 339.
+Package textcomp Info: Setting ptmj sub-encoding to TS1/4 on input line 340.
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2013/08/26 1.5b listings language file
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstlang1.sty
+File: lstlang1.sty 2013/08/26 1.5b listings language file
+)
+(/usr/share/texlive/texmf-dist/tex/latex/listings/lstmisc.sty
+File: lstmisc.sty 2013/08/26 1.5b (Carsten Heinz)
+)
+
+LaTeX Warning: Unused global option(s):
+    [nocopyrightspace].
+
+(./paper.aux)
+\openout1 = `paper.aux'.
+
+LaTeX Font Info:    Checking defaults for OML/cmm/m/it on input line 150.
+LaTeX Font Info:    ... okay on input line 150.
+LaTeX Font Info:    Checking defaults for T1/cmr/m/n on input line 150.
+LaTeX Font Info:    ... okay on input line 150.
+LaTeX Font Info:    Checking defaults for OT1/cmr/m/n on input line 150.
+LaTeX Font Info:    ... okay on input line 150.
+LaTeX Font Info:    Checking defaults for OMS/cmsy/m/n on input line 150.
+LaTeX Font Info:    ... okay on input line 150.
+LaTeX Font Info:    Checking defaults for OMX/cmex/m/n on input line 150.
+LaTeX Font Info:    ... okay on input line 150.
+LaTeX Font Info:    Checking defaults for U/cmr/m/n on input line 150.
+LaTeX Font Info:    ... okay on input line 150.
+LaTeX Font Info:    Checking defaults for PD1/pdf/m/n on input line 150.
+LaTeX Font Info:    ... okay on input line 150.
+LaTeX Font Info:    Checking defaults for TS1/cmr/m/n on input line 150.
+LaTeX Font Info:    Try loading font information for TS1+cmr on input line 150.
+
+ (/usr/share/texlive/texmf-dist/tex/latex/base/ts1cmr.fd
+File: ts1cmr.fd 1999/05/25 v2.5h Standard LaTeX font definitions
+)
+LaTeX Font Info:    ... okay on input line 150.
+LaTeX Font Info:    Try loading font information for T1+ptm on input line 150.
+
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1ptm.fd
+File: t1ptm.fd 2001/06/04 font definitions for T1/ptm.
+)
+(/usr/share/texlive/texmf-dist/tex/context/base/supp-pdf.mkii
+[Loading MPS to PDF converter (version 2006.09.02).]
+\scratchcounter=\count137
+\scratchdimen=\dimen132
+\scratchbox=\box36
+\nofMPsegments=\count138
+\nofMParguments=\count139
+\everyMPshowfont=\toks42
+\MPscratchCnt=\count140
+\MPscratchDim=\dimen133
+\MPnumerator=\count141
+\makeMPintoPDFobject=\count142
+\everyMPtoPDFconversion=\toks43
+)
+\c@lstlisting=\count143
+\AtBeginShipoutBox=\box37
+
+
+Package hyperref Warning: Height of page (\paperheight) is invalid (0.0pt),
+(hyperref)                using 11in.
+
+
+Package hyperref Warning: Draft mode on.
+
+Package hyperref Info: Link coloring ON on input line 150.
+(/usr/share/texlive/texmf-dist/tex/latex/hyperref/nameref.sty
+Package: nameref 2012/10/27 v2.43 Cross-referencing by name of section
+
+(/usr/share/texlive/texmf-dist/tex/generic/oberdiek/gettitlestring.sty
+Package: gettitlestring 2010/12/03 v1.4 Cleanup title references (HO)
+)
+\c@section@level=\count144
+)
+LaTeX Info: Redefining \ref on input line 150.
+LaTeX Info: Redefining \pageref on input line 150.
+LaTeX Info: Redefining \nameref on input line 150.
+LaTeX Font Info:    Try loading font information for U+msa on input line 162.
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsa.fd
+File: umsa.fd 2013/01/14 v3.01 AMS symbols A
+)
+LaTeX Font Info:    Try loading font information for U+msb on input line 162.
+
+(/usr/share/texlive/texmf-dist/tex/latex/amsfonts/umsb.fd
+File: umsb.fd 2013/01/14 v3.01 AMS symbols B
+)
+LaTeX Font Info:    Try loading font information for U+lasy on input line 162.
+
+(/usr/share/texlive/texmf-dist/tex/latex/base/ulasy.fd
+File: ulasy.fd 1998/08/17 v2.2e LaTeX symbol font definitions
+) (./abstract.tex)
+(./introduction.tex
+Underfull \hbox (badness 1622) in paragraph at lines 15--26
+[]\T1/ptm/m/n/9 The C/C++ stan-dard com-mit-tee ex-tended the C and C++
+ []
+
+
+Underfull \hbox (badness 1062) in paragraph at lines 27--38
+[]\T1/ptm/m/n/9 Researchers have de-vel-oped tools for ex-plor-ing the be-hav-
+ []
+
+
+Underfull \vbox (badness 7116) has occurred while \output is active []
+
+ [1{/var/lib/texmf/fonts/map/pdftex/updmap/pdftex.map}
+
+
+]
+LaTeX Font Info:    Font shape `T1/ptm/bx/n' in size <9> not available
+(Font)              Font shape `T1/ptm/b/n' tried instead on input line 76.
+LaTeX Font Info:    Try loading font information for T1+pcr on input line 119.
+
+(/usr/share/texlive/texmf-dist/tex/latex/psnfss/t1pcr.fd
+File: t1pcr.fd 2001/06/04 font definitions for T1/pcr.
+)
+Underfull \hbox (badness 10000) in paragraph at lines 142--163
+[]\T1/ptm/b/n/9 Constraining Re-order-ings (Spec-i-fy-ing Syn-chro-niza-tion
+ []
+
+<figures/specworkflow.pdf, id=10, 426.59375pt x 325.215pt>
+File: figures/specworkflow.pdf Graphic file (type pdf)
+
+<use figures/specworkflow.pdf>
+Package pdftex.def Info: figures/specworkflow.pdf used on input line 174.
+(pdftex.def)             Requested size: 149.31004pt x 113.82695pt.
+LaTeX Font Info:    Font shape `T1/ptm/bx/sc' in size <9> not available
+(Font)              Font shape `T1/ptm/b/sc' tried instead on input line 176.
+ [2 <./figures/specworkflow.pdf>])
+(./formalization.tex
+Underfull \hbox (badness 4981) in paragraph at lines 34--40
+\T1/ptm/b/n/9 Hoisting loads: $\OMS/cmsy/m/n/9 8\OML/cmm/m/it/9 X; Y; X \OMS/cm
+sy/m/n/9 2 [] ^ \OML/cmm/m/it/9 Y \OMS/cmsy/m/n/9 2
+ []
+
+) (./paper.bbl [3])
+Package atveryend Info: Empty hook `BeforeClearDocument' on input line 182.
+ [4
+
+]
+Package atveryend Info: Empty hook `AfterLastShipout' on input line 182.
+ (./paper.aux)
+Package atveryend Info: Empty hook `AtVeryEndDocument' on input line 182.
+Package atveryend Info: Empty hook `AtEndAfterFileList' on input line 182.
+Package atveryend Info: Empty hook `AtVeryVeryEnd' on input line 182.
+ ) 
+Here is how much of TeX's memory you used:
+ 9020 strings out of 493308
+ 129583 string characters out of 6140092
+ 252583 words of memory out of 5000000
+ 12319 multiletter control sequences out of 15000+600000
+ 67735 words of font info for 70 fonts, out of 8000000 for 9000
+ 957 hyphenation exceptions out of 8191
+ 41i,12n,58p,446b,418s stack positions out of 5000i,500n,10000p,200000b,80000s
+{/usr/share/texlive/texmf-dist/fonts/enc/dvips/base/8r.enc}</usr/share/texliv
+e/texmf-dist/fonts/type1/public/amsfonts/cm/cmmi6.pfb></usr/share/texlive/texmf
+-dist/fonts/type1/public/amsfonts/cm/cmmi9.pfb></usr/share/texlive/texmf-dist/f
+onts/type1/public/amsfonts/cm/cmr9.pfb></usr/share/texlive/texmf-dist/fonts/typ
+e1/public/amsfonts/cm/cmsy9.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/
+courier/ucrr8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvb
+8a.pfb></usr/share/texlive/texmf-dist/fonts/type1/urw/helvetic/uhvr8a.pfb></usr
+/share/texlive/texmf-dist/fonts/type1/urw/times/utmb8a.pfb></usr/share/texlive/
+texmf-dist/fonts/type1/urw/times/utmr8a.pfb></usr/share/texlive/texmf-dist/font
+s/type1/urw/times/utmri8a.pfb>
+Output written on paper.pdf (4 pages, 147616 bytes).
+PDF statistics:
+ 64 PDF objects out of 1000 (max. 8388607)
+ 0 named destinations out of 1000 (max. 500000)
+ 6 words of extra memory for PDF output out of 10000 (max. 10000000)
+
diff --git a/correctness-model/writeup/paper.pdf b/correctness-model/writeup/paper.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..e32ddb8f76d087075c2e0ec8b4c4b81d77881d8b
GIT binary patch
literal 147616
zcmb5V1C%DsmWErlZFQl`wr#V^wr$(C-DTUh%`V&at^UuPnYnl7D%XlHcV_IJ5gGBV
zTyH+PgG5e9gqog)35sN9VQ>YCk${fCM&F!(iwlZY%E;Qp(UgFRnVp5;pACvu#LUvs
z$ew^!#8S`ENXW>*#?T0ghX=~R(cVbU3d(h@NL|B*xVhH*sd`4xmodO}jrc7)MYqyP
zCUd~<Pf{G{(%VdW9uwF4Jom{s#aK13lYx%$&nqCrK(jhmvIu1zW%*66&C-mo4-v1O
zx6KdM?N4%MR*sml6%^K|7}m6~x{j7nWxNxj?pEFn&y|f%ucu4PC!dweUE<XZ8^*@k
zk3Z=p7gPI#hgDXO2Ft6)f8N*4OW7W*kB2_!oSTl`X(xM~GjXDw-)=r>Svln8(~dK;
zXbR>E8U8f8bboa&Y2Jx?nCHc*WS|o^fNK~Sq<VN3I4Kp^fTeOe#$h|u2hhyd{i*t_
zmDX#z<Q*<MSmKR(uS^Ff>*}AHk1EGX>*9XM(XRP2%hAm>WS@~SF-j!8nWRyb2TaJ#
z+wy$6{5)b^XWHD@9KWB-Afl+J>J@=XCy|dgtQ#7vA~9=XpQ$35Y128!N^Xb=uxdHp
zXw*nOGjXZWeAEpAY)*u-dRlQVDO;7)Tc1JO>!FZfm;}xla<^^wTIZ)$OwMr7f?cWV
z4!T=3zN=w2XY8xcFJeimUTiNJ`Y20WRh^XUrn?c!((MfJ*hqI2M9uY~!BZ!1Sm9to
z=Lp2W@*Xl;o#O7Y^=8|(8zAKuvBO37c&kQy99L#Odb(KYIh|H!y`ObX8S2Rt9XCRT
zmhaCqcP_tidlp>WdFEJeF+N`FZ)uLNzD}^owt5JIbXw$!T1+_DfONYRo*Rf(>fAn^
zbmeKr)qx{kq`n-#qiJ|uvo0wzfTuryn#tbCo~On!Wo~IYp|58BXyKKp%<g`BbSy?D
zBDx?Uem$brOg^2c^j7}e=5Ytd!?AnogQsOBc;{DndDAj)pAKG}a@X^oZ7qSd3rWzH
zV4|Roj(pRks6SfZhuILrFrZM#mrWZY9x-?T;LMyhM0vBIT!I|&BfSlOel(EwG0pg7
zx*cA+z$^oI0b}#eVe*KCE$4Y{AN1{Nqt-O>pG7}KRcwEu<#SGrhb7hIfx)P_u^K=?
z7Okmn?s18mXLy$U*PlkW4_MwkZ;Hiruy$#dQ>f>kEb`bZtsrcBt5CQs34;g~XK<Hs
zYaK<~F1Ke!n5BVSOT=bT(TSsa*+hmewn*Fk)qZeQ!uTWH3C3MbFgiEK+@@%&jQjN2
z_m1nfb_6W7AMS2%1)DwsJfbJ)=)ZYE#grR0+p_P_*G)L{5?uYS9FD-oNAX&kA5R_z
z3K4B>t|`WuyLB6h#Z^0C=C+|<_XTFiydl+&ly25ic^>0?&in?oTeRw-wl&V-i}{fV
z0Wrrigqe1E^Bd_(K4w<5%@vOh^}FQc4=q&gU`KCDs9{dh@nQ(0JDI`^92%2;Rzy5o
zxKXRbiPu#hHgYl8ome1W^&6^z#yN((%!~p*@E?L>d+LT;aE%|xD`?(ouD@@uoCirO
zceptNOBg0eNdSa4tWtduvNl+4I^d$stW4ah5{ISG$OWxjfoQ<rL0Z-d&L-EsmsE%L
zxO>{eCfJ&RJ>R?ATmgA#49Fu5d)I$TWxR4*UE>ygwdKC!temTfVj-k7h<?N$Px3Z{
z*3!tBbP5%Yfbu_93`3#6j(G}p$o0(>{i^HZ+6JIB^ab`h2tnuh1$<t(_l^|8bRh?u
zU}$6;O61HTHSrL!zNy@p(kH1^M5<MU_CylDS}8}2Q#Gm!=dUEsZ2@X~64Jf>)d9-=
zF~6>JdFk_fa^;ug=4O-2=oLi<YtJPMOgGB}ORmc#B3v;RcU9fM!m^?2^zg?#WDU}S
zyF;wk)tIjy`e!!eXO9fy3UORGJ3@7AHP(7Gx1zD7-ME$uTEp#zrfo7|jRVLp_zjc+
zg=D#EzYFX(^Q8)aks5=G7?iOiM8}gjNEQb&N@Bz=SoA;nahl>=%-|xRmvlt%x@ne8
z@r>|Oax%FKclkdS0!I%`5E7NaD}vJ@DK$6J=QK}hfK@>Vf(p^6D%lXRcPfAwf6;*u
zBI-i`F|I{0iBQ0(-yi<2Gza9wXJA4G5HkHh9Ap!)!a(z@j+D}x^F|<U+lq1H426tj
zwS|$?m$|>d^d0~6NJJ!OzWz~brwb&;2%z%dil9wj{acp`i3vNt6xJp<cRl{5E-ITy
zvzUQ#V2I(6P|P(nsx+OV?@+LExc1N<#M7!@F(9B6Z_VxxlFgGg&~`MHK?8;yeEoqO
zuDeX#As?`TDdtOlReI^jNz^7FjB~|qDf1{b7f~gvPv54g5kN$mk7}v8wV;C==^KEI
ztXo6bh(D4A<ns<~U(U~g)_1iBQ8NYZ=cNReyAe23kEXNxVrMc|u_FQ#0V;;kY&KK_
zBpBcDdR=@x({_464KO2*ZcgDtD@7*7)FfYFZq`9`QZN??N(e0tO<CIfY-;@M+5=*8
z&1ae_qWx$C2LS#b7b_L=T)Z;gGpBpyD_IpQFot-5+%i*Sv9$-_>#S-OCKBulEyCcG
zsKLLXKN0HX@HjlB9X(bye=HXgK`YeQc{G`)MIxk@R&TIX>|KafG&SJY!sJ2C>9j)C
zA5_heZ2yK~iSk4_7}{VsBF1mU^1xz<UG4KaMO}e+YPp1Y^9!^n2wvuDIo!#X_Vy80
z<tpTE7+z3#=+|F7#N(Hz4Dx0*SOq<;sMjOof3V?ojPI4und%v2#!5*=^}v$Ft%nzy
z5;JebV#`*ELTLhJuqX6eTn~6~k6@(qxx<h%E~-bP*-_^&iFBfGz7~DZOyMHcPuA;d
zwxtJS5SKdn;8=0onShLh<6Q60YApSAtU##!Dd*k6H<uK$lo@mZ=4p2Z9|Du9juq3X
zduupn$*1+AhT!`|IlO(K`o}blk{W_0NStgJ;63C*rt0d~(m^^qwJNj)+;8xweK31H
z{$NA<XsjGpuHg(X=aw|3*AX2y8=CvY*@MO^B4eHf!o>yWoYbxwRY)Ev5#TP<42evc
z1xl!-w$ryNE7@~)ERP#1b~{!-e={|20k9xoGv)~{^>M3YI0-ch<Uytw^oWSn#+KAy
zms+&@!c%(lGs9tUt4#)DfEf7>yV=BY00W{rP(KRraF(p(WY(-@X#^)!!I#u+b8^nd
z5HrV_T2ZC%+_&)nO8AosueXW{2QWGNvcs+@$w5>E$d60Y#XXK52o9gmZpaX9Z*kYA
zQrY{@XVTRn;7;?oZ3f|^wfNRAS05f#+RT9&FVEdPOSODDj38uBp`5=q=G1aIO-ZjW
ztjLn1h7WPk<&dBKc{H*BmT!ybhGxbIa5t>TuHk}DGq22@K|rEEJ6d@31HB|+6`LFt
zck6%FjBu`|OmX85LNT6xc*u0}rz~&AWV&^G#Q1Q&e?4-4GIEFKZ=WzJP`uuL<V?~f
z493lkN|){aT&jJN>UC<IOvt5O@ogrQHq@t!9#I7%-*vxtZia1#HSmkgM0*b%b>N(!
zv5i%gURkQqvKo|K<)YV>Ld*7otx$ie%#}RB4HaEFmdat8FJvez8qTUPs)&_sc<~!`
zRGFz1f2fdDs7L4;I2%3m*eVE)z+B+V%1dcVz!}{2_Qb#l%u7ET!Hu{-DzNICPo-zK
zPt>&+a@bcRLtvehsg*3rp;vFZv^Hue8Z0UYCI>8l9o<FhBNimLPnl6aYbt;&2GxL4
zVrk7pXK`r)BVUkKiDl`bbq{7|wjY5_*dQbpYBZRmWt)_^>KC}}YmgXkERcDoW+44#
zGjgU)T3JBE_!X2w9xb8x{D|N15(<+=+S@CIb}+d1Ys5PrzeJwSi#wdWK;g_RF%^uy
z$m9t_rlX3K4d?})gCCiV92(@jkm}+5I)E6zEHhn&bZjw56cHZhSBn@8Fto9~nE|0j
zuH-h$+a!`tSE`}1LLssv@Y=u(U-4a(fNH=Gf!tS8OCfP>NYd5oUXTru8V2%}1hRd;
zL0Uf0CNDy2EcVWQGb#flt<aC3);Ycwe@s7EfDH{J5RvvPh5M*<Nd{(bQvfB&(V&u^
z*_e$XsFF{FpF)~ma;QVA{puwFknOXiX0(d-DF{fYf<cF=P@_S{5|cyVfQoN269-W7
zbU>oqf%%Fk;dG(=IFr0q<N9}G>tBTVXiS6M;4-)0d?~DcfPyBkn;QDe>`ce~7Crl5
zFEtL{zV4(}hTQ-kyoT;3diCOu&SP8A0_eE}DQ5dcFLyCf%QmG66H~aj+42#^XJ4zA
zBXF6bF=7vW)#$aeq1=JBj)0Fz%T3?7H6RQNSE{R^NnCSi#}*^#o7MS1ivi{~*N*IN
zN5mz=Hf)e{*$b<6;Dl(uw&H32e91bYtY+(!r@g591frH8C5{uDfb-h#U;WryK%jWC
z%(+AFoI<Pb^P8mwmF->m96rpU5ZA%AhKg4j%TKAb1t0}CHDB}fJR-g@wNNcH*>Z-!
zC>qL6`ZHcGfL1h!PPjKo;RQer!+!P|i%P>e<Cx(I3pMPnkWMt8xld+~T+{!aIhb#Z
zfk?=UD8K-4OXZc}mp<R}25T)^dC0qkpy2Q5-REw_H9MA|WJ9vz*zgvJIY(resPk~*
zv9UxT;$LYm0Aa}xqb`e|^NJw~?YK9)C1bIe0oyLnH|b?+a_}e{jkwIUZ+`FyuQX#w
zERv$DC@&?p$8#oRcBtkjf?PHw2r)i8LW5qq*v|J&6xze)Dl7D}2ZOC-Grs^h^#{u#
zP>^ODTd$*jgvn%KO|092;*sf$6Cq_%Fzg~aB@{)w2_%{0>hy56x6?I78t!Qq*hG20
zsy$1L;H))xilet++g1;661+SFN@2h!v<QK8MuMOmd)Tbl@X>X!Q>BAg4;&!FDbsYC
z*FGvd9P@!Cv;&)SiOGW##2!?lgigaNjMs!`cW&#M(SvsmKoWHA6{_*x_USL*>#vYP
zOolj1Xm!c;t}SA6l=`;1+X**Fb^i&p2w6|bPtDZIL-FwuggPo2s#8898^}$yi<Mbo
z6C2*z=x|N*1#xa3Lcd%x3>F4VFddD9$QubMT6vKw9d{-p*G~j}d#awL_Mhj999x>6
zQo;hL9rvz_ateg(hp(WMXz@1ibHnGIP-(AZGY;4e=e_3%Lc#k@+USiOa?uGLQV?-$
z-wFTbvLl7(%Ug>&`1-RgOqQspjBE+;b|0=MUT}QdWITw>Q!h9${O*i-aCx0rP@GkH
zMhre1P=r@S_G|2H>I<SSIFnl`(wf&kJ9irK<2~!{*HMvUZNrBW;(@yWd7}j%Py1Ks
z$)V(OsG`3jpddq3xZ&xUs)0RNOxH4dg%JbKEPB;UfKm;f*;qkc<`2u&^cO!ac3Hz{
zuH#!Mv4(I$I&WT1&h=;viL)0@rOz<npY(v+Z~Uht%{H=g(BNaO+dHf3m;<nL*c&y0
z{sFmyPj@hazPJZr4T7UkmfI7q%X?@oeI_ji&S0JR;W5<`S*+53T=}2SZuU|5@ZP98
zf@p!4R864{&wkxo8APUo)l~MP51-uDB62gwE|n&uYgsgQWJ$$7d2_<rQZgS5;^m=f
z<Z!LsFm&rvQ-xdJqK8gK7J`%Cs<EIZX1JYo81xACPv}3Xo6*n%V%ejZDX^aiveeGX
zL5GP{2-}P&wxEQ~u=|#S=q_+Xi;(_N<<cC9@+pr!s}Y-u5)yqcmlOjzfOf2jr+vBi
zC1llcok6s#dD${JllvmoIYX!*Gf6EeXAGpek>lZhEyfBYejk@sOdb8%=04Fgjf<9N
zI+B-kg0IfBG+$VT&U@ULv!#7)&G9vW|8u&j%Eh$hwHd=f?OxeHtm?ra<fd>HfPcpG
zi&bXf($8{(3gk!e8;m+t&o4iVYzlz;gg=9+y#8apzEcGaGvyi@bNxW?Fw~$&*B@;z
z8Y$;$gIA+)!;d{D7W_vZw=5QMqT=zIZF#>kAM&%eLD1q+;>L<oEK(>wAA*d`n0ONl
zod~J&1VaWGbCJXq_-5&Fpeg_@p37paF1S-Ux{~E3T?|L{0lPhyiiGs+25;p`CXR6b
zRB&dU_tvt8V(6t5f}ygr<`4@)P=gSFX~MHy8PLuKK92}3u?Dr;Hp|B)O7$N3olu#S
zCh)hxZQNO;wQ{sD<-kQVWN|MqLYMDG2H5`IW)%Ygg`A;%yJzFpfha4lS$ulhe&<a^
zA!~s$vNrq={PS&nqa!GW|Avs1+-!{qXyx=wjG$-*ZLA%QtQ{Q){xT*7C|U(02OB4Q
z10x3l`hT5}HZnBR6R>e5(4hN1!9veKz{<{`1@#?n{~brb{*M<A55a%5^Ec|>s7mDf
z+TYCT8%!}X5HS69{A)52F#p?RB4GKq$xOidZ<CFH?H}_SVbRLj+ZZSsITC1m_g6@S
zfL6)K)saB!n{NGQd;bd?V`gM$`v1ztIyu+v_lE4R-cTp7l}sQFjBTB=Emvi%#$?VH
zIfj2f@bLYS6Osbb1kn6-bT;3NsR{9WpE!vkX~sdgprqs~k_A4)^p4hs$j$q0XHu1y
zc$5@Af+>m>|1o1A@K>A-LsrNdN(OxU<gjjwBTL6>x)}KOhGnCSf0<R8<TncIamH$R
z`Z6l_8$Qi`i*_;?ulf{q^J!qHJBssKw-a^avXAMM7r!R^tY0)LT`&H6J)95md2j`a
zzX2IFtyh-EC<(t&+_AsCk4S`aO6-T2{OGEHyPi@5C*#Cf!|nfmWy;9q$^ksfZVyq(
zKEP+CfTC(X{{*w$z5^F*w|>pD{4?E@^7%~sHln+oO{L$wdMY<8fncIJWhD(FmH%f8
zE@p{kqclX@_mDK&{~OLht(6J2+4`)WV;o!hfa$MZlbBl}PW+jqh)l@Tsr&*O<-z&W
z59>M4%)t$hzysE`wDaRbd6mwVmeaB6!nvuQ0rw<gQ?`-&(vZ^o-uVq@kw?e(;uL9W
z{FsPs;bX>Gc4Z_$5;()*i%$%AMk_j5Gz1tA>Jd@>TC;$53Zx@L<#4Or3#0(_>g8%j
z5oD<e1{nw<lT%|=Ym;jtro!hV&FG!tE@hf3!i06v@bI<xhKa*3y9CDCN++AjWpiCH
zOzBl&Z*j2p*8FxY?Ds(&A?QY2kvKwC9ExG&sPwhz!O{-4L)0(`QbGA9dvBuiv@EUp
zMyv=qhz4-fEqRnau5qig(CI~BiY|7pGJMNwv3vaBC@EwFm86|rRi9D`Hu7QIi12|)
zR5hJmW`C=+agYF7La<wzNrfk?FrN`J$hB|mZ`6^c!{>p1T&Zf#Hq99%XVMX(<sCyF
z?G-`Nr1w<M6R2J?7qJ(Oe6d(;HpiHxd)}q~-pNJ_r6oJl_&)iUjm-h^nO%7v$53sz
z-NhaWQt0a;?F4%9{?hA>caKCN`#iu(<KwXl+hfaCgSj%Ud<}aqdc8b>NmO*(A7b=H
z>7vg(#iT2ZO(vmLT!6_mOnij^x{y$Sma^i0R-~YlTq7uJUQuIGD`}>t(@hTcDC;px
z;xTntG`R`cLh$z=gQKZ!dcpQU`nSROJ6M)J-2G4KOwXyF?$C1apuEVl?YBE>^{xZ*
zMjLd{Hpg!<U!GrCk;XX~0JD%Om(XF*D?Jj`nyjtYic%PHw_Q9-zy$b5^s}+qP51~5
zjA?;C+U<X0o`zg1<hAzB*%6{Bhc}Nq3|7OE?>1r6NVBUEsKkR@%R`<VZx@I``&(~D
zswq#xWC4g~O^JH=7cZO5h}VH0dr@SNUH)F14;z5)iDVFfJHSo?ZxT&6wuS8nFZ}iF
z9EG^G{TWV`29B@D0UVppyGft$X<v&@86eRr&#9E>dppRLQ4KQD`EmMa<704bDC?P|
z_r7p>ei}rJsi9lS1#Vp}@2mSm1IvnSV{GQ9U?{boX$R~V$Z!esMy=$upow?CrqS&<
zf5=P)8|ad03=l_BIlqb$xW-5C=10(EqtZ_qFTNXWHaJ<wOSA*ow>eN?U&wj^KvB{T
zd7<LCZN4}(@%+K51&Rsey>lrq;C3PTYnw+z9XXI@aDoskJd7}|6=aEvFi}u=AHJ0*
z<Zev6xm?6>|3puUftOL-RRKI}Wi&Lf#t^Xcd!^Bgn|EpYY+lE^7i8BMplXxURj|X$
z^}Sl*V0U6OF@u<&B^uVDvy^2JXiC?OlquS#rzf!-)cy#myah03V62vy01j_z9`h^*
z7OYyN6Mc&9XcaDB;mJ84t11?rDpxrjvj-%X6Lx-0wy1ms$8jW;8tRg=HX(q{?>ere
z88Pc1Ek~W)$v*M0Fj#MIyjkP@Wv?2><~3f17}gm0@C{uCwZJo*O6S*O8g0?*M-9O1
z%<F97Y2zz{>es)*(-+FEcPKT97&yXB0{fiX@n`J#V=H4E)-|kEMN#S);2|V3e^jUL
zurxmC+cL`Uuv*o3whO~fc`0Hy9MLFH$3fy*^Yt#my7<e0QsN9a2gz6@8=K1Q`i@*#
z$hfumI$MH8aOn^D1(DeSaQR(aw|DtI?neW2gh_Wl9P%6weE$9or?u|-1BHyE+IrF^
zwbZ+ylNmgAS!4yI)){P0BW<uPy;uV*dwY0YRMi<GD`pC*nN?lPEqpf+yrU+Fyxs!P
zirp%G!5)3w3ZU3=LP5j`)K7~V&hbcEqUq4R7W&F#y|$wVj++E9-KXF}ykNH|mY@7G
z2g-YyBV!7@JSK4iii7Hg!@d1Bx&Rq=g}Df@N%jC4SkaqIa`lGOYT?%5aM;zsU0Pon
z_KV2iW|I-7!4l(}%m}+5FvhAjPWCXo0CJ9~_!>o;hjoA!3t3**MeDmI(SS=%=>g(}
z8vW_Z_Bt$0%+v4$dBkoe(jobg-bm0W)>p{LyGX1Df|nGUT1S*)EQ~Tp5gBi%U9YiD
z1uK1i1VGbteo^*H<%nVO!YBf;^}`N|*fmHqV3Xi$YgY@52diZ`sQJ&ro4SBT8njta
z0np$UXo*Ez&culYIx;3$;cDhro`KTX44-P044^KWPz5ege+8VswOcRIjl>8C=%#!~
z^0|1@WItdz*GWECYs8^%T)=VSL!5?w5L$2h)72-9mhLGqaxuZfDlzdmN;0&Apro}b
zSF4up{KJM5aRc6Io_17g=E@p)5sXUjrBVb<HyqI|3J*2_9z64}gfM#=##VKhpRoq-
znOk(02_7BcVyYe%y__z(EmF}j9%~_RS=#n5Vj?8dfjr(7TDgea^^k+{njjdke~R|t
zH*Zp#Uy;aIu08LB;K1Fp!q{ZAe^6mZsvk{JF9n6V9G7LBx)S0-M8$)LIR7*X64N<1
z@*34Hkm4PyxS2vl-h6P5x?4&6ncrHNpZ!sUoKr;5Efp!o@C0RY2}s9En-?%4nK_%(
zj@1tN22?q|h>RyarB*K%L(j9~5BUo=>LPB6zRh$;P)xT2Mr1I-RiElc$P>xjxp@ri
z3SqqiV#<hhVevrCdH!lFqLn%mJ^I5wZrGXLOOHb@<p&7%09(t{4pj@COg||gA7esK
zp*~rjodVuEc+>KvrhI1uKiCvx*@y+)O09$cKxoef-?W-2W;d<9HXZ;8gjCI=Ya$N}
zr%^oJPv3-=X~XR8K?h@El|>5vP%Xj2EVxhaQu)tvqBKoq%bl&~!cN2$ZsvpERW&=E
z+UH-T_Zr^q;k<U};*=l*Eo@DZjFtPY>qsTSjw<vSd-ding@RD{SgNxE?xm(oOaNPr
zT-}MzqcIMuDm~#ir31MmbQKzkM^(;cRh<xW;S5?~+zBE{WJMBeSwi{5(Li&ZYcIMo
z(z2+vHT{O{!6@Qhj!RYGyq6X&pIL#bFM{(V%60O^eSgIAm|SaM>4tBPgFUT7mC6GR
zJDqGN7b~K7iGLpXMTJ#PO4H(L)d(5?!hDjCrYBq+AN$Y;N4IesB04HWKi&GtcSA_9
zicDXeK}ru0JtD@+owW)}@M=W_C0)jz2CUI^5S=$xNq7{P>lHGKv}Oa#%-}LpD3xge
z94kAg*G~vTK$yv18L~A-43X*2;koQvBxN&|DuGc!X@n>V)gAd_v*=gn37shuMXHDH
zl7&%-;2s#4eCfz9bTA}sgANnmX3H~Sa~U4r<%~maJV9t0E-Mw#7;j04x{GBADzV?M
zAJ~A|KQ?X)PWX_LpybZH>z4=F;=sIK2HIk9buq9@(?Gb?${7G_N{Qaud&zlQPF{NG
zb#?;X^>uxChYhORAW!2~iE^0BvUoB%EIVrqF32}9(=+lznyWXGXaGZ}f!+FY>wWj`
zk3kbzm|nSIL4F`wSL&6x$xF7&&xi2T1LP6A>!Woz<be(8<raeKRS9@Xn-bc;FZ{vA
z>J4I5ibD5g#+tJ9$rv>Zo;-al!|r@tggg5AQf!Pa#t<%b;6PBVMKH4ak#DBd%&1X-
zLnFhuL?uUdsrzZm`4d!KxxS8H8$m-&E_t=RL^0LSP59JlamCl%QuF|x=e_W@-_M|u
zSST(e3u!rtYT&*PWY6PK>?@k*A5Q`skYr27FRpPacN<ghB3w@(BF>hUb3Z5iRDRRv
zg@wlPc0)=F^k0f+SqC|KK3o>EY&Z7IbU)`+u3K@gM!$Hur%0Rkp}3MR+Lb2N+`>Nu
z#L(@s{;uYa^w)0f^wYrg6#cr|?}pAX$s3EzSJOutvfItP%hCG{)fMuEwNy>)Qb+gT
zH+%vqcX%BkB!^IOv8Op?nWRGKiLoN4heC48gN9`b1?*~83cR$NHA=PR)(o+$Mdp{l
zHBsl94zgq+zd#qUmnKIrnTS=*Fz4F)i%o5e*rwF}QDXKig*0a&B6k<Zf#)ufsHt^;
zs4W~aR=o-*z&ar_upuI<TKIwuAag>{e}zZuXDv8F%g4b-?Ik>e9VYUiOb7S#fW>G$
zh=xgQ@FXJ`>$<uf&g9;>XX9CPucT}`b+YWxQJy#3wZ#2J1~o=;iaS>Mu9?GGTC-NF
zxP7pp?N5Xv%Nx7W2xLUk`Q0HobV+(YezE))z^WaLxPVV#AsPiLgVp4*21fl{4SjW0
z!hLShZW0>a@iKuYlPMCSk-pfzXX=m(lJ%&b`x&|pA20B#4_MWTL_bs0ePND-XQs!?
zimOSJd|QhiyS4}X@P4XXK#V*2^2{DP8hjw(5O@tkder%5&&fQphMy=$@N9t;A}0Kp
zfS$hG{^!bH0oJ-Z3%HTFRzj%slwd2_z||zvmLsR``#h@PA=frv=S>ns7c*jHriGCr
zr((x~oyqN-lFg0rq_volUrjRDaCf0j*|rDZT>BVwmjR&|{KRQ9z<+FB2uqgQA(w(O
zM1+uPk#u=qdjfgsioH~$jNBsR@6if?(N9@vLg9T&SQ|qJ=<Zlq%PnZ(Lk5xfosU>h
zadO~G4R1mzIFjA=Yv<GW&zVrAw4yn|hS|uPMlkXO$S83qnvD&Az|r)~7^uQ$(uWQ9
z+S#a{M^*e80i{S4xuV5wndQDfJ2QGfokAc+w4{vOp5dyf9-tA3EXkUBm>tVkDc<~i
zKZDX}r)JbC8iw6EKc%c4_9BtCcoE;Jq|$zVRdJ?y>UZ2mrEs<L*KX*ZE6w{uwRPdu
ziwun1)T>`2(<Z-`BIr>@=_nLsw+s|KW11nQ)7vAicN<yPchnc2OG(MIppW8cONwOc
z@GI_&8RmkMGIqf(D|@y<bMX)b0AR`#;98AE_k?EzU@7Zz%zBtw25wFuyj8aOn%>kB
zM*`D&4OQg$0utt=?KEdcVf3;!9?UkS^CGi|Cooe!?P?TKRf0sjNQ_auLAMTpEBo`8
zdG27hidk|{*i_~Ni{!Yz*{V7z1Pq(w%1~t75v`mKzNXOt^>dzq^dQ4_gjb7#1YsRh
zWa2MKWV}<x<e#CG5VHGWOli;iGe<<~5L5k!GkfIF<zrAS)kl_A`6o2GPmo%NCl$(@
zVUo*`5QjwtLpkNe6%x0gL9KnOCf&c2)#-YmwoY49$OVV$Egu_BrO{jMk>x~&>B+Wq
zw-cy0%d;Fxv|uJC^mQ#+3_j(KBp1D+R1l3NI;DUry(WKRw`-nrLY8%?0dmDmlgx79
zL2c9%Noq@HFNPOYN;swV6Ws<Osg`14k!!Ybu9u1YW~V0mnuShEV|?2IlWJ^ATAAHE
zh_s7Dtyqc3Rwj+x6LXG$MB)8OJ2ZMDpo!}$^9v7$(?-IKzCQC4Q1#NSgfWdRivlz{
zO2?iff&I&5weM`;oL%$#t)j}k1|a-!v@SK+|Kvrjl8~80!9HUex;jbLwM_gqAW_kO
z=ak+nnxgs$HIYeRvo0C?$FOKgP~bD7{a|TkCgrZG0@buYLT9?JS!%JjGw%^;qLdkw
zXMzJ5j_q!~tiMPi?j(+10bArmoqCwF5ESYxN07q7IW`<ieHAd@&#Y53KHL(?ow}S1
zlWO9)CA-w&YSOu-$sEzT6xC_NmjMCBG_|E;#kd<L-6>(P74(T^7CU8ry0PD3{D;ZY
z#7rcZTCVJ;0ZGB$<8xZEIpX=KT?3f8<t}>yWs5>tfzgb|vK$PKOv@I$CZeIEf<A$X
z;`?%1O+vuIA{}{zY?xEGdLoF4xy?Z}d#io2vbGYvHU_awybG{F7z$;0EU&HDzx^-g
zY#p^><WM*I)uZ3a&BCQK6Yswgx?9YX`widiM7mYLh;1uHnZKY2|2*vQDGRKn#N$ZF
z#YVX2+M(2^8N%fw!kdU3!Co`)R}%A5Ht}TqDqXofx<nxryMdTdmrH#k?G5m9<V3J-
zE;u@@qQOr`i>-7OHj(ch%{A0hrW-vgYlKQbhyD;f(lv+E6rX$;+iL}i5%$||nw(jD
z601NAKu5WqXx$H-S(N}-FQRz^^^a)N{hg83?feVWV$MiEls;7J=Kd;fOk0AqcNuM~
zsg*^s$I9M#OdY3Ltf%6s3AsqO&flA2?vm!b@gUK<|I&g#S+u}JcmnLL$oxT#Ik=;S
zt1Cqy4fU7bM`rTWs<^T3jdq$?WYyiE4aK0Y+GMCq8KQ$jP)~GwSb(&Q40zMg%f&{d
zyg?vIT!JLxYD)!~QD-o?sA$iq9@HzBN;ZhHTQZaLWgjuX#Mo%9fr3c?8Q+Lx2cB^K
zTyM7y2i{Gg#yo{Kx`^>9fq}5*G^$<v5CaO`u{(MA9jMDQTIQo@zokzDXLG=~g&xcf
z6%deyt@>H?5@q>#XJpI0{aL196e-&vjrP=!PRE1Yuim7$;OW3fZw=h^SH>V4hZjT?
zm`;}>VF1Z0Uwgs(Mmihy(W-+G-sg^tuV+i_APKU1U>wz|%?mbo<+#a9XPyT#ra_*T
zWmFMq`sJ<Rsm-ef(sS9ppGaDe3-0EtzH{SApS+{g0mul4@;tIMXR05m*Owf@@t_Lh
zsp8U7$*u9{FdNG6xS0JFon?DPCgWJsBE%fB06d&6xt^n1`QW7czocnog%Oq*2QMiC
zqJ4JZc3h>DY8?5Lc8FT@rCyEr&)Ns4gSBt#^Nu7hPOX0IP)~VXA7Tu{swzxkyeJ1%
zXA8}sdn%qN<JFAz@S5Zk1!*7B8~1q75RENDF*PT8T~YHMsDe9_ZOT%zAI_B|(hKa)
zja;%fOX)~p0vmj?-lyT<{!eoJO?>|g>He?inErpV<NrVKm{!!@#>tj|{vRy--_h=0
z;QViv{I7=9WcAIB3>=|o6`k}Q|Do6-HuhHE8Ia$<|9H@UBV#3DHJa~~NFy0ND<guR
zG_=NMCQkN74zv!oMg}f6_7=vLHZC-_hQ{Ro;rkba%Q#u-f2UCXJ6zn_*ha|Az>$Fd
zA1Vz+EAXELoQZ*%fRTaen}GkHy8Yk4`QI$f|3csN1oZ#l?Egoa{hw)_^z3YG|E~$1
znOSO*5yYdgUCY%YcYTS13S4@osl(BFHfL7Xz26FHjcOC@%ILG}!7IG1YHS3rd6I4s
zF)dyoZ<vgH{#TPtiI2_bm(k==Q`+IhQ+Lkid;eo~g5~qm8?Q`QOpYwUi6*aAtxT81
z9c%X2-TfJS$v}wDYeB?Ped5B<<0St3{;oHtc%8$RQae6)nn@Nm#9(pE-F4K0XVse)
z!q#X{T6d;*_Oh7V^WNU?LWk9cG-%KF^~Vre@1!p7&)1YE@pw|nm%OegVR7chg?Taj
zx#5s*o=?Zu8@o8=`QpJxd!C|c_ye!k*)Q?ec%IH7t#plF(jQoykb_PLCczYkP$*x#
z@i%@W5gk|Q^BWL{#TX_nVipe$`cDm$n_|{&C6gP8PTkOBoaDn`iz<9OXj+%_)afXX
zxx)BcFJ%UATK(qLwg&Vrdl^=D=@qlNIcaYnd@8SeSrd)eRVl|`x_=HO)SXXiY+^_v
z*IB#Sf6TlSy=@Y=>-lhW>aSFuxJA*XUe${(ld<Mv_iG+e4Yhb}<_^MBwh48jXy*XN
zoMjAqhQ_~(aE7LXM@H`S<;Z5oI8gua5EElnBUnOB)S+#MNr~0YA}V}7J^THGv(_=_
zt}x;N1p!+EZjJ3)B(7RDp$ZE8Y2nHE4rv=a1tv+W<S668PUIfMNL>T?^0e&>2o^Xx
z-XCDKRr1R7v#tL_zzW%-yuX}@t<6K5;m>?t#$e3np*;6H5-RJBg$t{sWp<NJ)xLK&
zTjqjBU6=9<2ZzJFqrgLwWhJ=XAECRstn~y6;5~z8P6Z1>fer+BzfzG|2UVgIYx1Mo
zr{Z`PfC1*s!gQ_o#pCLbbJx#n8Qi&=_r8PjEo501RZjHo*G@i{9Bwv?2mD@Htjnmw
z&jI!BJ;*<{gmA!C`ebv{UN)&OV`l`Aur*W+rWki1aT%M?2YGrEf#T&Z&91claYyt0
zdp6)JxmBmf5L>@{_~^r;3Rq-hrPM?R7?yRKCFlG!6omIl=_F70`JTnF_W8KNh<W@1
zTs9Pn9rfdsvM*%|;{->zi&>neaRK59Hd`BQVU^1E`2s`xo!7yD9EL3sc>W+AF>g$;
zMpMJx45oDPskt(%M>hgajmbSWfSL5xVv1k|K^&VHr!?(Nh!y9>xni2YYu6G}Z8(E=
z1BYL+K_gW*&orT=Y|kQ#@rRuz9q&z#Wmo6>oFaLm_O6=chd)^%6sFyIIav+Ds-s9*
zsuKh#(K`02%W1ABzndK3Xi)E<+b`h^_LHcHI0-YC%2`gAYqXl4Nun8c2c-yZs6*|B
zFRf@m^ePfto;An}W}s!Jg;j%U7q32f`-wVqz7|=hg&5rvVd6cIxjjH(Z+hO4?b3N%
zW5xf34uCX1i132pPmlUzsA%TPEM)XB6tD>3H2UgZMs!~hq?5mCQ&CJ4w^|AS)bI3o
z5=>BwG)pjoWUvqQZUmr>=v$W*AOtR<0k;+S-Y~H+%$}SU77EUJ9aTbv{Tl~?QJ<T}
z$3sk{jc$9_EW@Y7)5oI?bu53}&?!x^t7IgUW>S^Ap;NU;Lk*yHof$@V1ahmJfW-BK
zTcOsXNg|`(g(XlU;0%^<jo7nJHYi*a&8S+S0&tMBb32ZB{=tI`y<-C6kBJmsBpE-;
zPZd;5I{m4&8$T*+M%sL=rk214aK<0*R|E|EGAPb@s4qlp5aJ-rsZwtQEKFP^Q~C`_
zm?Eg*5~<w{!lDMlh^1E7fW4uv6Txxpa!<V$z5!TT1k2Q*l?EuSxY?F|n!qa!LnDmO
zT@RAJjfiV)Z%^8c!waD*9ATR+ejPu6>Hxx?n#XjH1770vfZ<FrAx~B=HQ^q?w@!be
zgu>-WiNZ}|L4^ZdQ>eUQ(DbArzQ{7d6*>ixq)9OC9!p}WB*HtVPl+~&lLK&3n24aj
z)1+Ki6T>?il}Ex>Vmi57&Wey}DdZllLJ}meS_o6lV3#u?<vy(nZ8$_96G!rxa7V#f
zA!&`7E?*w>d9XJ0>qsxR-aEiF;*i&GudtO*pD>V)FTV~3N1$m9gB~ay4US=d-0wKk
zZA!cNdo0>9(oBG<%$hpCdsa^lSLl~g^XU&Ul7>iT_!ON&POt7lpPT_k)y*j>7(H@P
z!k+mL*7UpzENm*)KGjQ6Jfa#?qWZ0E+fwZ<7`pQfiqGF0xiYfnmhGFM57qgFw<^#J
zQ0twi;_j%GCib4&h=Hbi^CgUKiuXVAsg_#+{dvPysLfkgyiE5+{sdDZ!U<L#{~-gl
z6&vo*YV5tzTA~j>N$Y`y+pq?R%4x2gUnL@2**0h9ID_O^rdh3&iNGXH!2*;HcYK<u
z>t9vdj{)wOmE{f3A-R7_iMvNo3_LUFI16{oU`gaOhibnF%)v6NK#H4AeXi1GXO%$L
z1+@&Vta7_vDA3w#T@=7FkK8&(3Z6X@^*)bWF|tDKNFv{NFC52iSLsMUDy@^qcL1!D
z=zDw;fmE;Lnb(<fqLF?*L2DkQ%>Ue3w*q47DcVxRiKF@9B$KUr#l`JlKjQv^P0J)A
z0UkJfG(Tx*k!rr(BYi~fef7fI5v4;jntk;$ukmui0jl|-^Gb=E|K8?4oU=7#!w~|s
ze&f^Ojr#2N2LEoczV^S!tiMX*@0a?&@<H%><%Xk;Jpq@ok+Cry9TO8B9V-JJ9Si;U
zp7md!#SNVdz6Hy_9SpuJ*}u!T(?5>P-$CDjEG+*~{?;*mm+$l6E_96FHiOakp85M?
z|1@T1V=eT(dW7Jo5C;PtJrf-x12a9-w-+ll9V;0f9U1xG6(#@v#{XB){JX3F5@vt(
z&VN&7O7>1he=EL)lb(aoKVpbhfdB7CDP{I8wDcUm+f&rDcKEAx>>V5hP4(;v=)P5u
z-hbE(tWdP7W`>TY4&R^t8CjSKSXfvH7#Y8F2bfv@v#@<1GqAD}ure?ZF#Ijw_TT!y
z$A8P;n7`$p7&<zF@0<Tm``^BQ<Nk^H8~d;NZ)x|p$3jL92KHvQf2V=|Us(>cN;b;Y
zW`CF05HS4JrV9UkO#Zt3&oTM0i~Q@N|7g<x+o7=3GjSkb`j_Xw6ej^S105p)HRJaW
zJslG}0Xse2clX2{^(@T{_^nMWjsA`rzk|U)sTg$3P_%y={ChynK>saf1@&yjjLb|-
zzw<Qcza14FjjU7%*uJg5H~3d0e-GNfr22o&?mxHo?>qUA)kcg=4Bs*T&&!N5wc@3%
z1LzP$o-+H!9TEK?{X_)BAR&<=K1&<G2_9pKPz^Ba{yaWR%&43a&E7p@pY7PGEgh}h
zJ3OC?EcQ^fZJC14yShLPpjvlA8d5n{A36ztnVVW6ylxq%8Dp5wN4enz+IZWfZxXSH
za%=ApLg-|IEoWq`cqT^au)0`u>jE%F{QL=(mv?u>)%e(oOHf#4Rr%q}ORKSci|(pJ
z6`Hyfue?yIS62zNoQ@6RhJs2|T}A{@@O3eW*{sR=u*!j-#DgXLR(g$tY(jq<%~lzU
zd<f$<O%<nj$Y?KuGtVC533mXW$xeXZnoW??@)@d$M8>(#$Y?}!F7gn5<}uB%y9Leg
zW|A6ro`Y2VnW*z2J5ufwKJkgkA^9jPxxbj>zRKHc6Iag5F}}!~C#h|NT#dcmKaCO8
z#(5+v787h7qId@T-bKl&exAS0DzQ)||39A-|IF9_WqQ8<!~Z1j{BJY#9}C95UqhIf
zzi0k?p8vfrEc3wKO;ckz?f7M?Qx$rbD9kItDM*b3Qx7Cn+IEsiDAY<17z_snW8e@J
zrVjU<_|JfyWhMyOLu{dph0Ceou5qm`4y`m}UY1lFNo7W%7i~gXZOQ!MM{%WvEZJnn
z5`D*&CZvt{owv=_+m)91llKwl_EVNam%~(ZW_i!CGjAAiLf{Yk>Ez3}%1J?NNWv=w
zpjmECpt+>B>S99AFa)e^*12wy^@rIj$eqswgvOa}w+`APd<D<I<JiI5KHu*4=H|;S
zE&&``f_zf|#Ee6HB?HVC@z<W@o=%_Y2wWmV@|c6T$$sw5ZEW5q*l|Fr6zh{NmqH<<
zy&9Z>x`sxNh;G*}PFaH&AVRFSk!v;G;1x6o^7qKan8;VraF+L6pbUw@&kr0sUwmg_
zqEdaMu^WGh%2|<PqQRe?y%@O2*yuU2sfn2apWQ8iE`cs1AANX8qC-h<R_Hns`lB)e
zXx_sTtXFqupWBZD$nKe>Hn9o&D^|*Hqrk2{CoCHo`&T0oP>z9Ik0koj2{u7_{ri}=
zBRYlHMDTf;dn=!l<<PZz`(~CeI4{_mKh6I1sjvoF@DlO9>&su$UJKq5y8)8t5S!e1
zgQ#v<zk=TqYY8^ZeGOd@!p8%%4HeLd6~}c&;DkIF0_zJdgYA;_yFg?Sg^V~DqF?r5
zr_`A2@P<CGZtG6N=VoFuh&65Y-2lCZakDW#exTl_`>)rl{eJvLBQQnF-TpyjV!WSi
zJA&s&1{+WcKQMMc2<@#jEF9+7n4`KD%T=~EZB;v)rxZ05wHgJgDr{3yl9EwqX(=?5
zk0!KEN2bOm#F~qLO@!5o1n@{K2%9pSC-pd>gcdBFp2Yj7Y4P*SpFYqS8CkFrwb}4H
zf|3ZiS(iXcXhEepau!7<db!Ar5lXy(kzf?sD|CG?Bv3E<)6T4Ng44j-MD(r})hG?6
zt@0-cYQls96cHK?+Fq<N447E~p{;N&*JQXy$x0P=EMrkvNu&G&Q4-gXMIa;>E>E|~
z$q=oMk`K_-+3JLf1S^gid!NC)-6NoDXlX4SC8EgccL5KEQKfvDSR)ZbX&GD@YTO*b
z83+5%Nshx}JZ=*L?Dq4x&ZVtO5A^^|)>|37Mn%OKkf=x9=tk1i`ZLuqHhZ5Ly~^LP
zYiSF?%&co>Evv*JK`;Tz>90R}chqRVE}f-ZFbc-#-s9+I0#38iZ`DYqm6nyBT7yQT
zR7Q2P(xW0Xv3?7~BI{7vXK6e?_9o^Y%{JxcSpZ1%2Ru}mK@2ff*}%@h#4yc7VZ5uT
zQxB4(8LSgUUC}BdD}j^&JDJzk_~CPrB}Az~$gng8k0Gt5+J}$Gcxc2r*QU1)rneZY
zFt(~W1ayvv*RR$zIZ=$5EIg@O$Pa_J2P9zIal_XBuEFw`&nZ@`P@EO{J+N9lBe7Ec
zy2Vfa(=cB>_Dls#lRVOBEEgr82bP<rL>D-1$n^I>xPEG;x`mbMbGrcnBB+=oE`K#Q
z(}Q#+e=8VZD<_v|W4)Wq{_$lWIaY;yG3{|fG>Ac^GV5W2Q@OLPRe2whG4zlMxVWlp
zD&=uSr5?3pqoNjb9u3{ErJ<#}fks=iCO!$bMPVp04cH&i)k986zc?4y*3p?<itcx1
z&JxrWsrXxA$yz4YPHhaJVVM&hAT#QJQiGW}DO&WaTL>C>SlG4v$b%w{o-XYajBI2k
zAqGp)luO8qQ#XTJ4h{qp62k+jP(E;lFJokSX3XtFrP3%<K2V@6j1@LN7oig^dsq%U
zQF~#@1JaOL+!8jUP!VEZ+(MDeAaSI2lB-DWgZ&W_OupEzHfWSf!iOVF4;6mG5LfB;
zd-1fn=@)om?zx4Lfx)SK1CB~?{@t}E^QKCh@UK!*{od0-AVuRD1KC#P)?SVx&w}I5
zf;R73_4GM4>?IlcouwK+f9`5{q^7_FeS`42w^i>Z_clA^y=axkyM+p>`cAH%ri;YJ
zE|;;krbf*?5omj#F`6Y6CNtmQ;<6$*CS&D#m6dHa%Kp#Bi^?Nd4226Db8cZj6&K~k
z$zlVoGdD=DApatm@z@H2TA+jmFlekGo`VjlkwS%WN{FHj2e?rGd8%FC`^*BuOg%(V
z#NiOzI)4N7DTQ5tQ;Z9j%7yX6qpl{u-&HJ4L*iWKAl(Qc7NF+C>h#b`sF;y8ujT$6
z7O4HI44y_1)%vc?RWP9;MbTP{!RlxD$SDja;^MGd?m@<pzKg^zXrcA*iRsIlQ#s0z
zUuxdr1rYJSqVqt5d5Tobcqw^7VXhd|BQenmih?EXPOk6YeP`Z}&@G-_P+Kv8@49<a
zDZ`0lFK*Y6QM%#*L}6&LOhHm6R@r1iBO@k4_r=;PWYZH90J>{Wo%88U4Pi^<oze}m
zYRe5c4aoFCz0PF~(Dm7!Dk_-W4Gb3Pv(#m9r70+BMN`-=usNEvz)Xe@-lMHXgMFmB
zI;dhCYoPTDN*DDTu&7@oOWO#L^(4I!zp$U4({5g(Z03gEy1jG;H*WUs;QIxqad&t+
zj*cJG&+s8VHu`nWwp^}X!DZ`w!GACbJl&OtrYViA2DfyuVWFFZF?k%SRag<Y?IX2H
zfWV56MTb3+3X5PbxJNQlQc`MNt@Vz+Cfhi&b0#0OMuN67jW-5HI4Ijzy*~%GXx0=9
z&$8|9@sWE%v%x)Mc>Jy==FvdUYA)2@yfv&Ms;nwwBFwAECvMXBN)w;tCW9E{2FI%I
z?swd%yXM>q^ok%dBPK|Rk_0El65Gs>a2dFYDA}6@&p(mczl%$ZiHs`bunJE;4MYJ%
zH>D~vS0KZm3*hl$pv9e=rk)tBm8{r`IEhs<S@I=aLf2E<-P;vEIFJx-$8|2=ge%^H
z#f?D6C}pNjLBkTDm?|3c)lZRA^#(nV_WAs1Qfyc4sm5n(?|hD`2%cna>@T;+p#-Ni
z7gbq3j(^da{3<@2eJU}_KAL^P^ZN5VRFRpz*N*RMZQ#5#bd+>6S-n?v4Qq(`n*@Js
zOKZG1c^3E7%lx$3_fX7-*oqdHq9{!hQIxTOa2RMUurTl@5E!y!48>+mZ_Q-4Q6?rc
zCm9_SSsuN>RB5wt>_<&63u&P{XkLd*4h-U`LYAhek2-jvOc|#Vdc~d>`k8JOoXT>q
z;btvIS+&E`EVPp<CP+Gt*P4CKYOc;sM8xtdlydCvK1<3Vr9&6T+`8LUbUD%Wrl{!X
zI<hMNahj43hWYKLcTc0Btpz>sT(J6NTEJpPR<!~);UZAfL~0~-o|N|d7B+(libFWi
z`TJ-=FZ%_H*>;c3&TJ_xjU}$#i!X_g%`GoO*K;A71Gen05wvCDVFn!^d8=ut`d?dW
ziVNMOKHgf!n?twz!9xwf9va%CW<ML3WIEqQ0?@P7*jKWYYPmAz*T&E4dEVZ9KA4{#
zn{4h64jz0A4Buv>nl`q+nconHriVex<LxNaEiAjwhF6dD@DF$)h4f0)PDFt^zKgIH
zt)PV#rS!PkfgeZaArWNZB@wN=r=u%vY(}GlMecjM6lW7Swr-0Ki}z~GO7&2X%lSq0
zoLz<T<<ibhL;j4;9LYmNr(UDMnkg|gPGR9gQH_(KEWVZUoD{Fc*=gx_S>v}H=eW*H
z-~#HT^QI&y!A_-93M_<W%v(u14O}!(sY~^8Z@<QvO63n~Z>}F~@N7JfgPgwN)Z3~m
za(@#kK4gXNe*VzdehI6T>L#YB<d|2^$r$-9)%axD+;nc%^x?HQ_1HJHl48t)tJWBJ
zYqW?hp?Lpmk*1)-Ea~H6^+i+X$8?k_6ZtrH1XTK1p(q6_7}UBe-C^@`vvbfz)L6JX
zb-^}g%<5;6Dl<p5qxDXFhcBOcS_lID@?GAYtc?2*B>NQ05g=KKec#;_<CG2?uk$T<
zW=%h&m5dzwUKSo%i8HCN`xY8M$xwvw?(l9&elB8l>rTie{N~r;p|(puqcz)cF#l6a
zMwN?TC-(Uz1M5cuw)a^u{N}X*YlmF|L@e>J)^0Jm^-SB2Xt$G&!#scHyUE7UCa)v3
zTIVgPuo#3z_?GFhH>)l*?B&CywDs0GST^&G1}pc8_q=qicb}I=;}oopmahIjXv;Ae
zibH%D`))CE1!KmBV<Yz1Mr>8Az6EP&G~KUx>$S6BFjggo+FX~6O(vm+b+4I^{5L07
z-iqsxbS(GHNsfMUE8jVwTu+=a<{`(RsJ-Ee>X|d1iQtj8u^j{+Js8?HUVDd;hEZ5h
zsDv$8lIkC~=^31d!2kx3QBly$!)twQdy%PmF70k8j=iuA<6a|P6Wm9KwGUjZY@2-h
z7_6pqP+qIS#HedI7@dlS*`&PP42F&bhKd|%2YSV1hF*yl8pl{40_W7sE-EftDqazj
zZ9(k&dzskQy5H1N)1PI^x)}pq8m(=Ib0g<gtxgS@XjiP_?(%@-siLL}>ozR0KvUmN
zu(`v7BT16#>0!*mc`M7?JTAPe&fQdaZ0_(4yP9{XQre<)N)b9bo}q$<$!cTZGTI~i
zxbqTbb~OV}&Eta}2zq&S6hTMAa^wGC?=8dPTDC<|G`PE4kPzJ6-5r9vySs(p5`qRN
zXmEFjKoT5+ySux;ZdO<;`<{Kiv(LMKFMK7ls)moM?w+&esFJkDJqW77#<wAdKR^Gx
zu|!liFJv7#2o6E;Gg%IoAw;8P3fP(NQsvZT@sw8DQ?`(#&c&@z5aBV0dY7OULOx2S
z6q}%}K^@?krLV7`;)A~N1>PJsr^j8n2se~<4z^S+R9&ld*Ih2th<Q4Bu-I+WYtKeO
z|Gf;}{f}36b9{B9Yi!Atoec=#)`VJ_QPNeNlx!T`MVGUPbLN>gAyJ7`G?i=$GXh4;
z+wbTxYi`*dvV66N#kZGSz4xzwbrQIBM1uDcjBNQ+K%sN;Af~MQ%i|wcf-gFD;6U-L
z`THP3Q@tif40XxnF8m3~e~V_syQUv_-N{fq8M~hK-D44yHkz-G4=M!TwHM<1>02nk
zub5pu?&S(n_g|o`k+`t<tcWRf5_bayh}RiwyimLc{#yhUQ=r@$NL~ar;juz3WaEM!
zQ1@deP*4vYpmy9KeW$rXGh5RuSrIvsW;Gqvj6e91Vs_(&25#BcmM!sR5jAV350?vM
zD7-5;IOvwA`-^xv@afWHd$_kLt)Ypyw+;FnpuRD}Q-c>8)QTc{8YK_sKzIt^kUCfL
z<r*n#pE&esMI+&7a$HM_mLed2hbz8F>2j4(96bCe=1HI(4qit6^Nvw@LbuPL&jLzs
z2Sf`071TuGXUgx<OrFKR6taR@SPPY%I9eA|2rSO&zOm-<tbwkUYNO+ZKwvrf?~jfe
zh=Y&bcsNyLlSLjhjAL702QK(Fmo^NN&eOSdZ=DRNpf{)C@yXlLyNXiAH>AsL)hXum
zW8Bj9SG(C(hwu^X_w&ussL^3nF;%PVQYkp8*?*%62)YjXvVl>-vv~=|e^#BuDkdAG
zhL;^Sn%2bdRIO|_p=envmNS8^V&`*(Pz!1hC0455j+472cVfboCQb0!YGCSURk~aY
zwJ0yLWWc!^U;L@>B6poyIR!&{;>S5@gdbv7wJY2amB)B8jicrHKuf^z8YjZAYc(z1
zX#W}RK_Dib#mX1Vz*$aO-l7jE2f2wUwE{Kvs$WN#9E~)C-D)wB>9=n<sxaf=B3s^q
zLisAM^(r*2HKn!F(C3d}^x^3Af)~hVV&*34-ky=SozKqwB%x)b*Un?>3{V`i_0Vxe
zhZl<yCkS1w62(UE`vy+x_7O_Ai@}E3kLZc!33b@$%@{X6KZ^Vs**Ev0<x$IgNa8@j
zj}Y&cC%TMDw^iG||AY=5*){44>ufH0JJQMH-|xanl9|WZvlx(#omvEssf>YJ`k`#2
zj6*$*72i@(OU~)UuiejXrIr6WpqR<yvt$n1lf;tOHj<zFw&z)qR1`H!a39QyZ_I7&
zN7}8hSFG`6lO8UFGgvU<WLTsYxh|hHwo0%{l1lE=FwWJIYXVin2#io$zJ_Hqz9yCo
z&TYw+mQ;^}kX2%m9Qzh)o~f^3D6Ve8!ChS~paV1bPTw|!-d<Ym7c)hir9J%#%Y_;|
zPs`YO3S;>M+0~R;CSMdEYy)q<`X(j%9g&UUP`+!{WXhbgUH1jl2e(b43Ka~quL+C@
zH1~4YSf&z~9`AGq^Mh=$h%k2!Bj4jVQ=uJ7`>~`W=5;GjvlM5igQr@27r7$$r!}Ao
zfKA~*z%a+p>+;ldRA=J-d~eE>@Cj5od7b5b)#k4+Q~KXy9ramvyQH`Vc}DThS>);W
z#LweyIUgWfrOIQrBO^$%m)|uCLzx!3LfFqLK>l3pNyf3|SxL+_@&J=o7-MD>4x^KD
z+c<;S)sB{Kxw?OFJjj@;FZVE(j@XzPh%H#0KUux+>Zje42jhIC|EP7PX)U`1`Z(Oy
zjYUDR=-2e4&2l_kwfO2P(fWovl;;*-q~#E)O*^A~(FiV`0NU38DeSdmuKHz~M9@Om
zu@YGB>uI!~sIHX9l<*%7EAW28HzVBJ^73?dazKvJaf>1=Q*5Az+E7xzmr`@ERFx@6
zi8xRZ4Pkya@Qus9F5ySp=fH1D+9mtm{xLCXry8%+6*~Ey4`<P)o(LB2D0*6WdFnTh
z<z0uLxZ@Gq8EeBISva1E%3YuV(HjQ*Ts?35kebQ|J&B(D2c4ic#h${>v?YDt*rk8<
zPl0uBgTKV+Tr@dWVN0v<ANpiisTHkp%{C5$#%mt*-ZD8m%XrgEI=dM9)tY_?iuC~}
zCr6n+d{0U8uR1GZ;YjtIH|CV4@87XGSvp0MP%L`c4Ll|n7&TO3Q|Xs2g%zel#-Q`4
zb|hd5$OJ6!<JSqMBH+eDcP0*rySQ2yL}6Nv+(I{CCVMrM%yTn%z7^E#oc~tp@wPu7
zQ(kSEEvFp6T4E=;)6v?e0^;pkb?A+9X(}y(2u`am)PSeqSz)5VfhUVcqN-u>giD^8
zse5-l$&Kx)=AW*%JEz9%gq~LC*>>_}GS_k{2K|S%cto}}YPP=f^@hXIkIe_i_HzT6
zSB>gSiS^|Y><Mma6Lsijy%DBf7HbspN9VkCX{>8}5&i1%mb7-xYHXN!;(L`<7AiAd
z`#hF}Q}NLy-m-&VIZ-=ZWnSSXghDHh)Kz!mf3~+I4a?d|Ll!`;@usw&l|$9!GWV+2
zQHxA>{9+`|%bC8f(T8dV^Q60+<a_x#>1js3p&*ENcqqxwh3|02Uas$f(5VUDw0~^m
zJ+oF~KwV^qVwFD}pVcShK@*+tP4VA`O#=AfD5{CAMiUJl*(kwK5DYWiC0l-;*4u+2
zhd;f$e)?9oPam>0(BVK1138!wj?j!_O{rdjb6Uec9e-hx?Lt+EIJ5KV!;*v9^{cA1
z77}(S$E(e;m4>i}9S&P%9%J+XTF6yc0Y<GR@;B1vp1iZ<^wDqWg9*bqG0`Gd45cVs
zE>IlDP}5*S+-kp$i;zb)HcM?vZ5zYHQzg>&Z<f-43d8hp1mS0jjIAi#PB^Dz(BXXX
z7D}=e5vO#?8i(0VPBviHM&!3o@h{!7(P;93MbjM`XbUi07wW%Gj7uKj+JuD**QokZ
zVyNnl;$-$ytc|l_<?Cp|s5ly;Y@(}ImE)B4RY~%G($dpt@lnBJEn9g$r<;05o8uX*
zmzR@pCFH)_k#$Y#dS~<C9xlSWx2K7!vjdD`S~g2RyTu7Pu&v%!?jBj%#~Xi!Z+cx^
zUBsF@=TbOFw9@p0bZ(>90X&jYK>pRaJ+a4tY19_>p{@<$SLPg-irY_vV?ivmI`Qt3
zQfv|_D1*71ft#Pi^u>#Gq#O`Yuuq`d3f-L$ooQ}CT5#f-`EvGrx9UVhf^EpC*xIR#
zPZOBm@U;{q#7T!r#zLvP9*ky=CSDO8W^k~kWww2(^{a7ySbL~)=d*OSH)&538t2Mb
zP-Cp%th#MOAg7gY^*TyyZ)~4Q_}FeME~|3)vG{2wbxSggV^U?FJav8Eb?;+B9X*bw
zP%0<CIO~O`ja0fdTPKM&?z=b~4ofoZvv{5EH(KPTVHmPG0^T?{f$I_M6^eAW^ZmW3
zl+!ae3XeA9@`u=DtigkcFjYcED#9hTzQ5`pDs#*67JP=S+dK~rTRRsY%tF$aCW$<a
zE##HoAU#!kG_@PQciS1exRBET`yt=nUSD$Y-K!b3K=(dnrz|Y$r?y=7!wN&jXsngv
zxDUFkg?<RGW{uCR&nynD-$#6snke{B4qcF>mty$Q%a)`dq@>Pl2==(8Bpno~+wihY
z{)ZLOM)l)ONY3qJK3|kKcKmmf5noN9=%%Nf1(A*xWBZ+&Rx0K0PrjiGZPA4fK>MOV
z`qN6QMQ1hFT_z2UKD0~J)L6)b&)8<&p1hh%lNHhhqI?t%VoiA?sF^7nLK(J(V;|aA
zg)vf&o7<Plb>$Pat4lPlbYvMGC?s72B3xmDIjpwk^66&gyw@#@_xYnY?>&TXyNR!m
z`&P9r^$>SCf8O>$5L}M-HHsw3(nl9<5t*R3U$_FX$TUz{a>LFk_7IRwB$)igiP67&
zomppLykj&-VIyGudXX;$A)m6yqQj!Y__d!4<x4i#(ChkhPg%#r?zf*$WppSGbA@_-
zP>kfD<E}-B<QzyV?F2+ke3R2iUYawlx9gq{&SMHS>LaAXJhR;f!N&@2irA`K>GnZu
zSk*s1AD8b-x?q*6{n48@IztzC=ySMlb}>H_;+k-Sw@*C*Di=EZW_Z^Z`l@sB#-$}p
zPm)RU4JQrWtBAgcoh+Mqv8%k{tX3o8n9g@)?Dd~5TAO5LuN;`o>v7spPjcn>g4=Su
z9p4o#3d6q=&R8i5n8FU+P<V$(wh{94Ya>49PlK|1B~DqF>oNEfPoMDo@03A9Dj0UC
zTrFy*EPf}ymKL*vAPs~+e>M@-JN2kPy-5O@AsCK?(EWh{LjP^F1q{FMMDi5ZZ{s^N
z!HnJOM4OgkZ*v!0(+5*|VflBYvU5HL`Hi(nQXVGxH*A6l8?@CHjn3*8j)JYsLsvb`
zUY?l?+G&$6tFe_icn5h}F~L_@DpWVq71|w@Q_NVHOC#FkEy3ETWw7U8Km-lsvcw^=
zQ79mbum-?dsX<l~>cQU7z@h1rsPIy1Bh$f1fKi2(29AJf4D==U6SNMHf+RWY)*KII
z!fEgmilshiwV{_zH)wNr3s!wIeN$^MsYp2UHFa{7-G!l)yGU!qp{YdjSX-w3lbmD|
z2`|zDPPrsfFpVa|o+YNv_rO?teBvq&kaS;f8SU4j^jtoPW^WdtIcrDP`{~F<z>PHS
zKF~M_zPAw-ue&zvgwE63ykb1lsouWXnKq+e+POix*%_YZxMNJ>3}!r3a@6&;&m;)m
zS4gO&cn=%q5H=X5Ee%%F<Bv>$wSYf(5S|vEYZLoE);aV&3G4-q4NlDnMDw@zqzR09
zkrM5FG+H#qT|74Vrdzq|`;Ky4jSUx+KT?CFAkL@1<egdK=H|itNath>mLrj;+}kEu
zASVzlA6`1X9r)$OU^kf!aeL&f&pBhy8K1g{($X8GlsuQCLjL1T4Z3FJibz4b4W<e`
z|Mg_H?%wD1+W_#=IJ^0+GSA~?G%KQoNy8L9`P6hYy{Dmk<+IG8y3wPzUuA6j4--To
z2R9NGn$BdLcE>ipp7m|UolUBmR7Fy*FQJX}+`pO%kA4)oB+Rdf=`u<wx7coYMX192
z^$WMkG4>5^_8LT@_<m&8SCoo~5NyH*kp`^G?s5N_DYD&yUujZkpq3d^mIz?|AU`2W
zvo=Pw*0-gc<EOqE!ZpRXWbQW9J2T{X>AH#a9ZUpBC4D{HzIDEHhQDG{GG`r#X-PD{
z+)b8kq~5E+H*Z9Z7PDV%{2<9`f3noVEwYV~EgFQ25-uWvMWPF#3vuZf&_)R+R$L%5
z{gx0jCSqQX^zpHP^j<1RFZ4JO+DwFFNLSIl2h$;wgN%>9jrLLKUgOsgafh7h*80@&
zkjE91pwB8|tgyjn!&nK$5oN%hr>$?y5`$dX56P@Z+!{HuhUMQEW&!U%Eo9gHxCqw$
zWK7+Pd~0_}@e6B^c{POep{w#<$Rfcj0!F{}B=r82FOUD{9cJE>=pnUT7_<c`RW{E<
z(9RB6liFboblfV5bB(q@5FJX2$VX8sWKd?553ICYqh2x)Kd-%4L%$cQZbx{q>Ko^d
zp@sMUQ2h}-GE!M3%y&my;F6w`<GR6e_-b==be@1J@>Bb^wq5Mc=zP<f>AV&P^`V1s
z9Vt{5?MT|K5Lx-H(lkt3joN`JW;eUfPX#wIZBSmDnb&+Gg6l|Inf^Y<={LB$S&C<S
zD~)@Z+J5xtaCKP-t$}s(GTQqP#hingVsmF9r(YdQbkSGBvNZX^h_;Z9TcileO^<?Z
zuw$&r#z)n^SU9ibs+g$-Smqupkg#HP36Tt7=u+oOI*f{Jom;@aCUXwVYbh>OnJ2)F
z`gRo@;YYl!AXia1s;{WqvnkYBdWnu{V?Dj*@Zo0o!1Jp4`1)||hGl<O_Y1yw`IE4v
zsJhKU;_bjdGn+?IlkwSG@B?JHu$n?2qo4(g@h<lAZ^j<|2eYA(EnUXgIGmH2Npny4
ztplwamp;ms7}v~?uB0DlmcG(IkuiomD&NZ89@*WiyR6*ab0uKZ_CDH6VLeqyhBg`c
zVtj48!5ZRz^!Y61CvF*pc?$M`IWrs+n|N%O4%=T7guHSGH??xN4$@`X!%yd(3BP;<
zxxS<C9XdCRrWDxj5{Z<lEMX<&PJb%9a%P|kvm@>e78hm1^_}E&xFS4%jOe)eTBpcN
zwOw(klrN`I`i#~_z>8Wa{5q^m%#F)Ybsfq6stq{-_o6<y8J;M}E3>G@4W<+w+yPZ)
zp|Kp!Y5N9;4MWp5(xE%*1dMAC!5|rxbp|z<^OFpiL9%#CUw4H7>F9B=K1LWRWmiSY
zKB-xEMQ~476+;QRq5@v9%XCOB`(s!-T(^P7YqSa~=J06?>N><0OzEX;7X$3?sL^oU
z@gfe13<I%XLpZ@6xjQi3V3O;XK?WF-8yPU&mZvaRn%I*ctsh0OCqJn?ni*(_hu`!Y
zaD194GY&F{t#JB;j4!IGf;Q1jwwCk$0UUHEC_Xc(UR!hRD4}HmG(@GnmQr1_(xW<8
zB}Ovmk@0C8(a)~T+094wAO%DAqF7z>y^&HqI`+Zgh20L}!fS-9g(1JIWw9r7H+_5e
z;+i_Iy=h#(r^~^GoVUH6_gY>LIb%vYh=JVUw2z~Vuju;+wS2305xbsbu_~4x0MVeH
zs7Rser3M?VoXGXuI@(!@UF;4LQfwK@4)^f(Pu_kfd@|3%3kv}UpYG2-$a!zn`kuF>
zwsIaXy_}Gc00;4kYI$iTNzD}s?6GpC6g;3q;_G;$)7H@ZA%g?b*ybg?orCW?9ewYf
zr9C3N{iX2kAp&UYnR%W~vo#p_Wo$bfhb0DAU+V_?ifXT4!@c}<K5HM_DTyJ2V<+it
zdL67qCl4PL+x_71c3kuNxS?Koy~;gVIZ$$wkMVo$k87~*C+T>Y<l=gUK#^Bq9u)io
znxY{mdGj(3blx4+mL_c7C^ADlk*p^8T9TfxH5bo{0D2;>G&f|Ov?kEHH^v$6Dp~1t
zZ9Ha}0G2+d1+TG4f>ugPFa=pxR*l3}A^WIT59Die>|~5-7T$_%C?186-t6PT_jW~#
zkO_Fw2elHNh`ds&q?3!dgK2&WJ4i!M<Z4w5BlMj_>egE(7(Ly&FTWxeI_SFz8KZnq
zrjn%Z+sB0@mL9_6{Ykk+I19hqiiOw0CdjWC<3dxF+Nc($v}Jvpm^LIjW%gOf-B&b*
zs=)um6L~D4ktAHWrI-iR3cIvA-CMCSY?V>ksHpAI?Y13yVH+~GDFsQSFo{x(ryxa^
z?8|*pt$ediI(YEOtIN>|!yHcOQT+z2flLgY_cj6NP<(d8dW)K=e!0j}ZSs2co<S#Q
z^CV)cLEeLDFy;+D=)Pn<lX}D%e=yg4Xv+E9TO-tvZbzKK&0}wCg!<ViAH#X;Ma(Vd
zJ6f*Aujd6&N2t*z*n8OWF{DN!qt-{XV^8vTX?J>)`<wLUJNa^>-5*x-X_$oDmQyBv
z`oURVvZ*!_LF)SAZ<clc*b^ud?%A~>)_Ko=TQ%r+Y@GVEV8pC<F+G^BPEn@tkT9Xn
zRW75)=^;AuaH}po@N_F3^X^Idqu)*#`%^!8%uPWOoo<t3SR8$0I8PE!*ruPOp7o;{
z`;<3I!=~Rl=D=-cs-Ij!>U~ZR`mlUEl-)o=YWrS4i{F-A^&s3<r<?8i{5og!#w)n3
zFK4`))d^<mnFM^?4wu_Aab^=_1<~oS8LQ_7%Oh6E-U#RA0b);<8^!9n8x-$D0$H%r
z;B=uKhvE__cPf+K(~mbM(YMH?)2p_L#I!*>Ej1m}Hr@7|!|d`fdan+m!BJkD#pI^?
zi0iw*T1*STiTQD_9)dQ27E*vjkH2}E@i8+iPQK&&`8o?P3xd-)R{qYeI5!c2Z~WZW
zI|d>j>`T6y0etLYmY5aj;QGYWdQaHFA0MaF)}^e~nj1_pq8s7%xK7++%szYgG*8V(
z4=3Mmn}WJ@Z8;5g<8L=gMeAB<o98+j8B~hf4t&47SFt@6Y!zqnQZyxal=EEvvK1a8
z=Sj@RUp51MYbxB<_8H9L6_{yto6^$P%#kzCR^@h0{*uf|y<ha(6A7WsU$z)jQX`>2
zhdQ%o@@rkax;ZbpQi8K)>-nJX-s4!!=-65#6<tC}I^Eq)zVq*!BlO*8R5G!I-YmC4
zaQ!@s8`ui{9X?s4Lq8>oQq?A)vcr|TnHb`u{{kOdFR?zkSD{=$2Vd}n1RExHw~#(J
zPIU~VzBN3rF35>d1?Wm8V=y83ddE^S?`uNxtYri$5W9en+m(#DM8c1iBACce^uqYR
zQ2)(7vfr=uz;d!PaQ?ls6Zj6!%jPm=K)5AGz#dI|V5BD_55R6hK#PcptA&w?lDH6H
z7b3AUV4EjkN7>7^(Eld((;uOo{s{Q=66J|r46wVC@g+JGGaE7EUooM8@5}st-RC)m
zl%x${3)}OqOJZQx{}>nw@S4uED1Qb`X9aAe{Z9i!9caIEn``*wd!)DG5hq8=25Nti
z=4;O_x7sF|R_T+ZdpM9yuDOaJy8B6G?2z+psQ^}WnZn#5|8AgrK$sL6LO^9AWENza
zS1Y5@%&yJh=IZXwuFdD*&MX!UD!|S4$sJRI68^qgK`dJ3WaeRYe@k-A*hEp@>}M23
zjEU$6(*&iJ)46^u`oab}EQ?3fpGvZAB~>@!MQ6s3Va=51)e?RVI`51*7$)Ll-oKJf
z7#QDKI`Z?k7z)~R4_IzQkJypvC6pEEJqW2Nqfsi-$`{on_jnY!ILoE_8LXS9yd%#i
z|AAi;&KItSb;5OV#7O8MrApF~uud~~LZ68Ri`PsZ)bFPYTY+O^01}>Wr&F~QF3k_g
zUe@cz65Fva*<1AQs+nw*sjZ6~-;rApD*7#4QAS4*T}_Ki{dmp36G*sso~d;$l5g=*
zf=%JRn8K@#yw0dPgz}bl%tLePU3W|bQ|ZlzO+0uIa2U5!$S3Ix%Q=-vNi~*Zq}e-L
zad19(3-gt$11pU43ifV8==V~6XBY^#5pTN`iI(;*!U)(gkA>LVyr?&eEvZ4|L@%|v
zjKKzpzM>kB8(a89gGbxb&rgTt+KDyU7Ov$>S?L?e%C|SPrFQrQ5^60UTLr#G-<9Rc
zw7?v+pP!BhN&88dS!D>bs!9k)09$NaEy-%Vyh8G!^Bj)#>sX6u{9zVK9*fe6SuBh8
zml^A~gq6ApbKVAMs+#OSgfk}IYLqacwiF4;D_?h@2lLScG8JH5xK_U@4lW8)C`>OO
zyP=c~w`~P89fkYI$DFFW0%d(RQaB&a8U-rxwHEqr^}W;}Xq2_Pd$N>UmCmFeP5fa&
zWg7AYAr+nqZi>0a$0UN$<M0WhHupTpfCM)hXpwYN(3Vz>uGvC7TM+0U3Q$96ufq4B
zcMuwLKG=d6pW~xQGf(vIz)zn_J^A%LrSfHy36VF%pvUf<IdH-CtiwJgjVx8+gY~Iq
zSVR>`_mrH8;>+7_VvK#UVofa+X(v}GoAaTTTAxqi(V<ah7VCNtc<Tg;Bc%<^(|0Cj
z?Qg=iq?VwT%oK@z#1zThGIcIvWP}GcN$vF=*Yg81=|z1OCejYI;A@|upW)4v{cng>
z;Vjf=rqX*fF9>B)z9v@$BT<Cux+|E^t@g!l$t%3s-L$AJ`x+i84pN>%JKZ@%eS)0+
zxY%s#IeU+!i=duayEt5*;)?gWbp%F;Qz6qg2v?%NJzqRAW?14=EDuUcERwF|HT?0d
zptWWUg!s~MoMEGE;+wY?L~5Cz$fiknc&GGXXa%D%R@Tv&gs1ovBRpV^)7T;FLtpI<
zGwY(c%5FEx;ZYOA9@k67dFMx2y_-?J)W@J&DglF35JXP-;18=)`xbO|r#2LFa$`hL
zIloUL)p_V3QgZ@a#2O{5lJEx;5pS6zWK6NP<eK3`U581Cs;nlvN(j1=j(EOr=O&!)
zc@lG*!7%iqz*ZAYhjCtF0!-Sg$FexX46evmM>5cqmp(J%?GSJ=Af0?;pc89NhwB%E
z2X_%}Q~WwIMt+WdK4+k^W;~6ciEa6-8-oW26B`d9#oSQ?%sX6_A|+G|`zQ!kkDC({
z+;FI7EC{WqhMAmKTcpF-Ld+Pi_CW<!4nO%$?KG8SGz`$O214Kmr4c~6$C-(ysOVD?
zRcUkEYDkj$cYzDfmE41VnoQ+MjT5~Pf?O3klEIouF+kA~rjKXgEph+F1#%K7AH+bN
z$DRHeA~h)#B3s4iKuPXYO?aDnP0DCmfdZ~ftow`kXPUyzO6n<m#u}Xw;`m6y9P9I}
zWesvRD8kn8@cFq&0z)Mk1woY1vYc9Cgh7pjO7*nLRGEdjj`w<Hoz-6hdf@}4$>Pu9
zU=1s6`U;x3(r2(I&(;KSi{UN2zd#usy}tR1frD%_C^8Hha<%TiN6Kv%tU`s2^(vg0
zeeX4NOoeXEwf>2FmREUS{@X3Fk_)eFHP(xH7_nd>gI3+e5<22S2{cWld+j8vaS^X+
zY;}L#su@AE9sPa<G~qq^U2Z89j*FifV3!qUvyB-=_MbEpOOS$P0MgivKBf|*2;+-a
zcc*wL#dTe1ROn&_D@FuS7sp>C;U>1WQrYt`jCL0aG{*-NL<K&6lhcOFmiVkljGDz>
zCcM}o0<OYD0h5_gg^odkiFP<118vZPC~2C!0QqHwK=ggGsu+otsdslU4}R*qAZY#D
z@^OhhPV1rs=ZuG5g6|BXnx(2HOk1F6R@OHfn<Z5F0bxP3MT6dQqJ#|T@7X<NwnLI?
z%LGMH46F?WqwVw7>iI;%zueVErBz;43E5JnCLjnaSo=__EF!=1ewT;g$1%}k_|<=+
zhfX5YIP$xN<T6z_m*LLp8Y{-6MKyJ;G~7=j71>W)=N+V7(-FQk!vT;8^!EqL7`X1O
zugk6R%MdW%gTe6R4koFTPx%)vdpZVyJJS|r7-}exzqNT){9%U=qJQNq(P}-26rT=o
z-UYO48Zj*G3>o>Q4-pSUyUuOa&MR9o*BlRfHggs<<gD}7*wqd>g7TnUMgl#Qae{NN
zZ|ky?^0F4BtJ5$!4k{9lXr+m|O_IYB7dq}sZeJ?C9WRx<L!t}^9}mm}Y~a7<&A&It
zfiRi${cwRow;n$AAZ!sYisW$oi-c~mp#1}S^pt3+*lT7o!;PTB=()uW1jMj@xHMwK
zK2Jif(U!^%jPyfJesqRGcad{I4D|;Y#>oC5-&c~&aaUyKE9$n>Lc%C<40=T+l4iGl
zGJR=t5NiR-I3i>>)K3FY0YL$_U+{N=6#_;Psz0V8tP1Z?VS7$mL5({V5Q5av-bdKL
zR@{n>V8g?Y9BaAn)O<35UkS?giw}pU=Fz8bBuni!u0goiPatw4u|F{GK}<x{=W$l4
zmrHxk@KLJEd9=<bk-~f}O4%M6f)+7QVa;Dj;>RjBIx&^QoT$5j5os2a5-#kj2o*Fp
zdW(-jX!kZUHUs9Vrr=Yv4Lp|GM-HhEzZCR`4AEib4)~PNJ4v=<NppCqpgZFCK^#N^
zjyF(v-qXjRd>QG~Bc6aMu1;Ta(1v=lYIt>lX|;hVl@Y{+@{4x^^C~_y;F3haO)`@g
zUL~6cVSIOwfxzYdZZSHP>Z3Trfq18TBuYLnLso&&tQTfJxH`UeLb5yNQ;Y>0_M$~{
zv}(kT1|r6VqDHYs^>#(#S;9T<KwW)INCrI8DsFJ}FG211bUXpDqwI49D_lH~Q`ux(
z=o&7pAdK)xivE&Vl+g)t8$aIfq48Ytha&z2zh83BcE*J;Wffi`Iri8SpbP+us~l@2
z2(^-?9%GBP?SMiClaaHJ4xNqvRw($+q`xHV+(~~9rcbvY*6=2&SrV|hVY4JxX>%Ej
zUy*R3JC`cD8m~R5LPErf5LXHZJsG-^LE;VNX%E%Mz;gR0T?09Fzi6~YPfEBVX<yl|
z*i`09?xwXf!IvQ7mU>DXErY3U<2WYzi;3?Rwx?+w$u~@gX+dBGaX!!@l4_~!Is^9e
zA128^x^SUogNzK^f9IJ_Wa;7VveJ>Uh`=Iijrd7xD{~Ds{uuh1<Y(3aB0hBAMK{?j
z9bbbC=u?q0dtKvB2Qgwzox?X~v+a;*uW2{L&c;L1n{Ps?`7nnPidv)MxZ7}}>eOW>
z0+7D_(ZL5Xr~#ViG$|Gx?>=f+iGlSKmwDWzo4_(oZ)|h2+ze;$i1$+!=5~>>-00)J
zH~NBoSL$m#-doDw<moO)gDLJxupdB%L%>FHx*kTvDi$KRs7!Dq@NVAPx<XCgOoeCp
zN=7U|)z1HG<f>W+e?ZD{WYzVL#91N5UT`nw%SW(|B;1`I_W1TK`1D~h2-y0sKXl*4
zAZ6>}*S545#AzRf&CO+uxNqCoNw>Dr?$6C-kF(}iqcwOajq=Rp;9Lu&Hoa?OFeUCV
z)?ttfACoIT2u(iawn9zDXS0EG3W#f;W@4nD%dJ_o9&$Qsn^WEl)@gH1wm956e9)J7
z9B~V<qRr6qGxbI%K5k;uImHm0pk(k~qrC3iuAQ-~WFv?DTntL=<Zb?KzrVqmBWp1}
z#oc|9TlBj4GxD<QR9%V_Cu6DqSCB4U=+c{g<RZFV&*sf2k|}#Lz<qge289^BZ}Dd#
zOO1=9DO;Mx$0h8wU#6|sdeo2wSiQuveAj%w&UQd)c#3~pneE9g=u)1Y+zA}T4Y+$P
zZk|W*tD$|AVvr481!<U9?0_z5krhl_{v=FtiQB;@9Hc9GsF81FABN-e<V4u`c-emb
zKz|-55w@5dde}<YTv~J)HT3Jfsxe~p&7RWG!SG)$<PWa%+qFRqfUn<+D*jKO(lF!o
z={i-C6*X9qTU?Nm>n?6bPuiB4VWdeTbE-k^F<A`a;rNsJpdfc$@N8q|z8ond%^MFZ
z>dqa{k}^Sx<w34O(H2edRxZrS{c1!WERy?<NpJw+@asb}3-Y61c8G6zzgu0lu-S6r
za%{5e7Pdgr3gh<cr$VFm)bFNx54NXa43VRcqGS?yhzh7*XPEy8AFSIE%ZW+ztKTx}
zCJ{qbha#sS$=!xmyflxxX<{~*^f0+kEn^>y`z97riRN<0@4sirlQZgox8uGjVdT#3
zt@Oyq7t43zWrlYCLzZVMvUHrH^s*wlZHNE8lSL<`R@euxur*!q*+4Vz0`8vhR4otN
zZfY^RQmE+~5i(tyLl%z0g;y#@a~Up84L{T1?Xdhs7m-&*i=qOsHViD@PKDjat{@zY
z1rvM5(h3M4(u9)0BGQI@=VQ^hvRRDmeHeb?f{3}!nno8<^X;FcFQ%zK@Rr_z5Hzz8
zJOBJabn6PKqym~JS1!1Z<M4eV;ayA@Z~eMV=M}4Rm8dHr$JxO=?Jr0~5!CzugWdf3
z<HQm^34!m{JBzBHg`(L)K2*rp&SE;l8ctC*)Jz9XPl<zgxY|KIawR_fDsHSb^Hdqp
z#Pd<=Zn`1n^0Oq05%D|A;P~Q$sMFGn&-_h&Xj>xaBUI&fw|En6<3Qrs{@a`BjBB{2
zx420xwZrcu>v3t~y|Nd}R|qq0OgkM^y_-})YB8e;oU>iCkgv0dZTR$|N&L+2kKUDu
z^(x(A8=i_K9bG)xc|G<*-8t;oYHb$JBSZ)(MB@=k`U}`EZqV_~QRF|=U2cC8<%piL
zfuB|g<Gfg$DOe$`y<r30?3fVXhdsi{l5t{^^V%353|YORT_t*ZhP4!{c3n(M*WoSl
z%hR=Hn%*_BUG|#E{{Ap@CCcPDt6WdwusqtU;^b+>PnGhfyicJP3QdtmuK0q1SdfL9
z@TQ*B9T8g2`AdlgG?Fj058zB1;ZmK&JK94I5Z7~zp~B8}k|hy**Eh!S_X*rA*h$A(
zbCNnC*&%n4<)gucZ3r9kuy>xJP3v_DnzZb!Ogg6$A~0&R)g$w8v`8FWO-IL0r#P8&
zBT?NRP0L#PY&vj5D!(kPQ&&#zV)u_s+~#vUNf#&3#Ol+H-T91~zHL9oS^LAL>({8{
zdcNxQlsoNU$Km>M*AnNN+=JiYv{8Pkv(<1WbpUGTcCtO%qY33h(BWIK8*|GgPDbi(
z-{%p?3(BA?*O3bIq?nibx>!uAz_zGH19!=COQsMaMk;MT?bKi$yyROyXC-chD}Mq?
zM*oSp%54FpFa4~Bp~wTt0rmUx(Xu|;9)bGPg06B!OEnj8E6zms6G<+mW823)YYWZo
z=&W&5sfM@+?{{j%c^4xL_L29=YN}qM_4{%~hmyhj^BrJYuLC~>oHuQj!%{gx?p^L)
zOdL#v^cOb^w~)4@4ewGV#lYUvJlb-XIQh7p9b5qR>vcttdeG^RXdvnA9b7GT&QYY7
z!w!7sV-(8!g_qEfj#;eO_JMw)M9VZeBFLq@nog(9eI>Fs4F_2{ohBx8!vVL$Ej&|R
z=n1ne<A^WiGR__q^ruvZS4i(QpG8VR24}<CZ7RKmV$AO0r(I=3TUY}~4iO=lfw_1(
zj1A6q8?wbai|x;9&fx3WPgrQyEba0F)g*9!R^*ayStClHQxj|6b!kEMxX<;5fZ>fF
zg!@8(d25I5fCZao>>gmX&lP?CEccM$cNKK?t*Z1U6^3R$rs8yShC*K4=p=-J^M{+F
zXN7lxNzszx<yf66%G$||IeIb4P_JW>EyN}#Hq2r*>?7^jE)=*w6RT7nMl#B^UcOLo
za3dC6(``pg`APOXCY;lP=RlvD`JFLOV$Pxdq1rCflF1ys=1AR_=5Ys=ngIcJLlUQ}
z&JwzO*!+hK9EXR^wdM#U8R;-jH9hBSpJq_#3=-?P&B5ZDp~P<zh*MVn6I`?@#>2YO
z_}qeS3hO4~%h9GFpw}tC_=LRQ3Pql`FR7i$7w2lS&};eR`03@TcB+a+wJc3)&GuNT
z&A2}-afu;`X!Oe;RgtFKux~YAoBL>K9()g?Ac*>Gor-$Voi=fQU1gJGk+Z=2RPhO0
za!utmOwv@Zlc14c#~E=?;5F_@DAlC;jO%%LbFq3yQS&1-Yp39QFehpj6!~SB>HVIB
zfPs5?=;RuzF|`<{J2*3A_Y|ET9EDb}evQ{SOZ>GvpA(t+&utVw+5McSs^*{azGFUG
z2pgPf#yxflf^0eFNln6&t&lC6L%6MremE@N{nEczT>Q3L3Z&Q@wK6|0;zD9(`$jpA
zhyBd@hj)UY^~cfCPrdsSXH&tKfO}N6gQxHXt{unjKNTG#V@ASb+R*G1%Ht}X1b=1^
z73I1&_TfKhRY^ce-_Y|fwsG0XVhGTbUdvzM*K!VaJQ=>?uUIXt6OAiXCNtzx3P(;x
z5c*bGvNOy&vN7A5@`~(!`G%sOKg+zv-($Wr$d^CDM3o&A6JM1tnKHbm?AvMI2rMLo
z=n1susNlpITj{AatBns#f7ca*rsgG$!mzo0ZUT1m_`~2wUQF1In(tin?Sqt&f@*yC
z;9^At#ZYM6O#2&7o~yit(9;3gi+XnAyC+I>#b^wWznXV{d_qG#layM@I|lnu8HOe8
zd(+M4$8^ZzLYOCFbd?KDQ783~9&1?D+wN_`&{02P0h+KcL6PanU<z7Z?-AE|+s9ur
zDQVj}!$#q0OTRG38rCa5q=A>w&*XjJXH;lkqJOOF*RGoi@p#96Zg`!v5j`6wEsQW?
zi)Ilywd~f?2ThJ^751t!0u{j!ZDuhKuiG3Yr1GI=bmD>i2?5i2Mg8C0ZwB7t1>9PG
zz90Kn(18Er1cK)~w*PVj0n_imQvb^{2%f=SNIeH1`0EgYe{MwobDJ4(Ai=-ADb376
z%=B_N0W&Kgv;go8YrydZ%#6fL|BK@Z0K@;0`uEH992~z-Cm{YG->IKXSCw^Iqe5=o
zQs1VU=z)Hn9n)x%7Bi^ABx$2vU7L^s-Z@R0C=j7wTGj3w8)Pl5wpl@myPcnUMTp>B
zhv;lOv}}A|#dTKB=&JPbo5Oku8zQ3Mr#v~-Tw-Wuvs%}T1v3agcYZa!D}$jkFyU=o
zFgq0e?L|hzQn52Ig*WCo=xDe!SDQq+Lr0Pm%?_i4TUqcTppKZ(fmC8XW$LStBR*$f
z`=|_@Wk{2pdr{@$We-332riIam+rpxO;R|E*TL6VJnUUxca3Zwjc;kHXZrZjS|H?-
z*636C?X-VlS7PQrV7o7K=O{~6X*oNcOL-6;tRAAQ@YhZf)te7R2vR~`o$hgS&>!dm
z`v4>HsRtWcgac<<sM>l#EBcbGfYU&fpTv-Nv9)>)EkP5BjlMWA{VFahL`I`@m=a3m
z73<)eH+;Do5|!?6UN1OQrbEOe6%0I$SM)l{hnK2oZ<*LwHDh45IR|T{UMqT_xRRS#
z+c^I6$(oljc3I#$i87_ITcp>49z~A$^#KbvdqGQNv0rMk<;}r6!=B5J32;9V?Bjxx
zS|-EWYjAB@w2)xw-sTX$?})?}g3wQaH>~K$p^1=p4j}1ZNZ%z*p7@3pvCRGzy__-#
zJ~gSN#O)y`ywVCQDM`LRZB(ZiBA?GIVg!33ytRYoL0N4|WNypq*u2p8m;W#M?h4Z`
zx$BPJF+JZ~<Go*1>*r5a%iu5&I~g}9bM@>oZdgl~t)|`aSQKRz?AD2Xsi!L&35u=m
z3iI<G#Iuv5LiMUTA=LeK#LWCeHL6zco6;9hDs3dT7CUu_TAM$oVX3Mnix)PcUqr@}
z!gn#GP`&Y|N~3-gEnrAWDFo{`r{CrUO_HSeKHp-{u2kPT`0d_FePiGo-g<=l<%+3=
z!Orn{wIZ&1IQ4ewNia?U-;bhirmXXKG)57M_O;>Yuodt1PP^dBV#s;lX4612e1BDA
zix4K|Jc7u(vU4(7v`SA8C)3!>l{6uN2IuuXH1Do#T~{u@12alER^Bnk?~|?pGrB2g
zsIW6&vxr;@C@e@%XMFc|z25EBRle6`Rl?>Rihy5LApTQX{+t%Yqzv9?=?#PZA)gwj
z)(+qLBHnX?Usa0nHn~jvwfYZJoCg7nU<SeR2@#%q0lOy;{J7<6W>27dVQTLGb>(9I
zuW{)9kCp3rmjCO@^*dt7|90j29Yy4Mk^HwS*Pjo|SYMu@{YMYPm|q_FX)$wh(y<f&
zm9sK3({Tchbm61}EO;EObb#P?EKGE4zw3YX{@>((;rugyrls@p#1Rm}<*z4>T7XbB
z0It{=*a0~^6DuHRVPOSu!pg`9$N`aT0DQ7A0PBnloXo&MY(OypC(;0zW&<$IO3ca*
zM8V3=NyqsQf#07yuv&jH@t3H7iv3$WmS>#L7}(jLnP6rH5aVEB2ViDrWus#zW&`9*
zfcPmabO6n>GSD#sSmXq>v$6quIRLPL&yr_Va&j^O*yUgXvdhlF1Q_`nmXQJ20>BRt
ziHRM6hZQg$PzU6U&vh1JzynzTMGio;7r+_MK-mC&Oux<br|B3Oo)P>mSeRG<)B#U8
z0T6)4oPatDpbo&n4Acw@fFcJm3n#~O4&<B_z##xDD<e?ROwTRMtblfA1~xzoCj-zG
z0O5oHFhKcP8CikqX9aS?!Uoh73p)@OGdtrmE=C|dAfNx}{pC@z)}PMx-)aA^_WvaR
zE$*K_`JaIOCu9Cqp?^aBYtNsw|F!4$)nB0h+Qr7i0npT6`M>u33lI~)d4aKho=wXJ
zn2>-lM$b7XV4|`C!uSAl;DW@;4zM90{nh*1p8>OgnV9{r9AFKW-xK>Usz7f9jAsX8
zV11tC?0|U$@IXKvFp~M%!vX#Y@LM2mHYR|T*#I8+mj?qvDgmY@Cov-v6VM4b06>hy
z9E?C9c0dl85X?Z%IRNN60b&ACvH~0h!2UBkYydX|KEP*uo=t!Yz)ax)%qx}``Tmsk
zx&DtQy+p<WE)jqQ;{T=pPzV2L@FifE)^ms}fCd@a03QIq!)Y<G1LiTH4onQsIU750
z@&dzRF>`P}w*bcgz3$)r1L2qeJ2;qF|AGdrCVz#}0?+}5=wkl^|1(XX1pyRZ#sf<r
z{ukc<r}BkYAdZ&=gy96xWn%<*I4}X^dkz8i`}!p$7!Ve)E<X1I<pc8f=hzpRXC8is
z5(DCU9tS9&Ly7&?%d_49`e6Zv5ChPEkquY}(s(KVlnq!1CSX6X1k!t^1%P=epLGtv
z`vUjEFR%nAK>t6MeF;0J^}^YUWr17+F}!H&H-Buvk3(SJGbW(r0Av20Re^0lSVj(j
zbzUsX@Q;=LJIk^HD7=jS-&z*P%d^w~96&t41mu$w5cKNVG61XoX)U14e_9r(xfcs^
z{H{N1_{EX{cpwZ={uek-0RERcupKD#i{4n+0H2?~Eequ1#iB3epBDd{cffdH9q9Eh
z7JVt7ZSjX?f$h)y{kA@k1`AN%fNNmM$^!iP_+p6{s(>JXe>e-!M9&RCuLN8G<^I#2
z&o}{inE^HgVgL^Q+kF7rp?-h+`Y-MSP}PeXfM|ca4?7S5XaXQwU^{TkpXC0mzx2Pj
z11l@wi^Ol<pLquQ5OB~-dhP^}cmep|`p@5Z05|~O1^-F_f}DV_@IXDk_|8lH*$;l(
z3g|mP`art@$NlXWz-yqt0LKAmE6{%c{lGdfJqz-30ql5@8d$P&0G12@(&su*ascqN
zBmFM_Y=6-<a15{xRL-+ie#5=MJ}(b{^gS~L90N!I-2d42_pJw5tv}fX*8da-NC^lD
zYzI<!p4LFofMNs1{4Mt1aDYBw9jKn?w%_=GcwW-;v;j&182c;%pbn(*Qh%liZ2LXt
zc^sf0SpF^b?|$Hz7cKn_2N?UO)BxQ7Nd5P(99F<>79a!=`h~L>4*sVS2=h!8fCGpJ
zn1EX21bpPY*!rdXTQk2k^};2v9|-gRSEDa{|IG(bTL2nB-hp`kEP-QyZNT)WtiU>O
zL3rtVDW9GFw`PHDKwLme|JKVt+Wh_N?2k>9z(9g*fasim-OK`r$jQX{as?RuQU!eT
z1nky){`;Traz)iZam?A^vDqemnV8K9RsAKkugYpvEPEgkhz*0%T%#s^P<ly4tv0As
zTsMo(s#T-*ChxM4-X?R)XL0M{DQ4|18o!VJs<!;BZD?=Pbcz{WB`AA;Ssxvh3>p>e
zCrG@DGs|lbfviGgWGbQFL7SkChK?ttIEU1ZQ9@{RrOkHy_)&Z4R|U!e`u4tDRIdfb
z$00#bA^l$)3w&Y{AQpgtj(?m(`H%=&DA0n;;2(`Ffc7EC>!ZWloO$n2Xee>`vVkRW
z5c+r|kWYz;=+^{@3eF#LP!yn1v%ot!x^x^cvXQa;NnpeMjl7={0@a65-aEvhU|wEc
zVg@#NLT8U4o_d3U*g^E7=!0DO=d>;}bkKKz=!Cw#M`9vjvh|N8>spIhL^g>z3C>yp
zN$Y|H{XoWRkCGvQjgQcQ0flX84u06&8S9r;`@{ha^4Nq2A_0A#>Fg)^Bo!p^h!`x8
zO{LBbJ%$zF3^Gloz3hLdZ$lD^BnAQ^*yYP9q|Kwy;2w$vu>w}v&3S)_4+ipf7o3>G
z->>t`{|kyOHWCR^P(R?^&GxZn+jkf+%3_U8U9s3mReBF!iAU_I4rhHnJjqPrgq@1r
zK9Nt8ePp=PBi7Hb?dp{XYNpf{-k`@y3*RS72ge6ThLVyDmkI!}cLSM++NHXG+ZtPr
zcVB-}j~hbVv4pVks-iEzABuQ?rGcNx4=EH2-(S$H3;h0R?$|C29s;ZbSpmKS@z7u3
z(?c9VLGavDtV6drnKuZg0REK#$a49TpPU+pXQzS$){@`6->|xdw4$hvaM%;l>eF<5
zyaFGHpSG+ZiUTpoYtmO>603-yPeZ3f_kKoCr4#RoA9oS1<%JM(d0|1o9y|S;TiPAm
zA4K66+tq@Rj*n2AsPL0kKo<Q9?O@QMgdB)Qp3cDT5pSN>9?EH+*ms}og!SdIl9o&t
zmoA@Ta8|?ZPagU~#ZBblZE2kq8a4zT%ZuOK4^!`T7(mNUJ=I$36E|Eah;S`a(Ltl4
zfrUSelJRsv6LH8O1q5(Cl8h}?cTCs|60dktA@!7FL195cJjNi@yC|5=7q14SP7|T^
zfY%2mFLghVcRNU59`UKfDxmLAv4w|9gAkju^d!NHL#MrtUW2l=F|f~E@`i$jBT>ZG
zh6V}Y1ksNXihICihNc2Tek{F{j(-K+{7ANnO%ZuZkFvFYsrLn20Q*7fUR_>6o&|U6
z+>Uw$_fhNdLAzsx&z@>#03DVZZ&!t2*85&6c1FwIL?har@?cs<#QypN>zjNnmwD4S
zoeXcC)ZpMUcEAEk(`TI%=3}b)eXm!Z@`6hz)%O)XBD5TKm}0TJc!cuDZu>b$07BV;
z(hswUhN<RbFGLmep?a(xOn5Pb*b3YJ4B?qb9}iosx6lnFXYEdL(OPQr{QOncO?uYY
zY6fK7e9Ekbv~9Q}u6iFA@01g8uDdFGy0CQFMG#GA^J%Z4o!`>^AYJ0+cVgM{<%A<`
zc?Nb>lRMk5p|L6{16z9h!*4EUWeQH~m2=ecnScE-V%I0$Qy!AHoHwZ8*?P_B^fS_4
z=JlL$mh}&LJ;2#VymGuK7)Q{tQiGqD-FJ@%h$!ko*xcu5uU9OdI37mfPYj>1uuki9
zWLrL`ArbWJ9`eHCE3ia5OBMU4z`=gr>?$ZcYbrc+7Y<k#kFv~C;mq7W#PYHzHDKzE
z=1ENA)Tk4~1&4s^r}-I8YC9I_23N7=gepHKgnjO<#DZZoc8_>h=n{^u<lgDd`^%|3
zVB&LvLV#{vi}~<oh&k-H1ZB;uSbWEbQ5P^fxT0wB%#l=DYHt#9#s@cOw(~2olue1P
zMin=lIyfv?Ju!Y?UU(i$G<tR7ZqtE064p0au0+gSCDMJ8Xo|O1JFhKjNq8PGiDk))
zHKRXsOyZG*he8w3ED~7i{^%P*zmacYqu}56dQ((|!xrd?Q;_grSKxiC%f>x|Wyy)>
zp_MG7_@LAHiTCS-4|1JI=WE7xKT{mYuJ7=Ssx{L^Dw*D4i!1r?TAgqKmk$+HH2U1|
z&i3;qxgTOr(&sbLu+azG^D?!o9A4#zhStWurT4B@5Kxpulu(v!R0;f^=WSTXziAVR
z9eG-@d*1$GbW;nYWm@OPK9=E8F$AiYr`@GqfI{<oYTDa@lp|VtlOjD1BHE|a*IgP)
zQ7f9TL(YcEK9I3)KL#wXVP&eXtG{@;(s?Zsq#Ut(>FF7pz$^vVs9dA?HqGD@ENsT7
zo^H~}Fmy)HbHVsGPecx~>CjLa(S;TDwO<wL#-lVUv674AUe~ajwie$ZRMB28vNdd+
z3o!)Bni81eD4?>=tG`jJrA;p?>+*=OVLH{7!T&L_z1y>05cggNBc*<}x(AVnXd9l{
zHs;8^a6VmDl8QZu=yZBswv%-h*@zBLto|%IM*5@X>kf6bls2pW(uiaZF5xk5rt<XR
zqshW=F22aBP*|?ZuO4+a@;jE<nzb~mJdb|`f=F38f4mhZ_UVFA9Qvq`uK)E_?7^{;
z%hEt>NRX}4LQxGD1vZyfq`YvdD;>duYLEJmPnIkBzU=|Y*sVf6)JFFB#hXu7zC!$O
zblU@jrShqMZcZ0RQRuLlf8;%)FkmzFlId~3!8ouo_=dpL*Kbe6Yj?oYeo;tyz~9_3
z7JTH#t4FF(fry!wUp7zbh{gDoZ?S;j1D8h#qRkf6+TQ2X1+=9w($#BRhf(WkGVjsN
zxQflF$zhJy)QF-qOjo+AcE)F&?SvUw7dOh<x#nY2$0bEK<oFO`K@(7p<1=>C^&p9?
zyF*SPYp68x0?jP*yD;lw?iqz?q187SduD{zG8nqs)B%N2E|$eGVgtyzwH)Jg@zh#!
zbEGpmu}!rh?^I25R>h)j@F97){NF_{>zwa>&Zz7#x1WsZYI<~x^Gy+{N3Q6gC7?Y-
zK@Ai%IZ7HPI0)sziN>9SVB1bo$h<4jx(x3sqt{IN6~2G$cxTDn{%hi+_laoRqO(+U
zoG-?BjNfui%H_I}O=O_msuNpW1c#_PSLyU-un6H~r|!|Gw#JoZ8Gd1ML9Kir@wolu
z@?Hu3n&}1Oy_S(SEgu5gmQz|&!s5xyzzvzuk3|vbF+7HC_Y}tHdNrh3TY|4EI(vLu
zw=C~V6Gu``S2YH7%j9Og62p0~Kxi?;65p9cx^48TOC;8acAD$ww%E>Cm<IMwj(`@I
z_hYO&P)gr+GF{}5AN=fY;5ENBl}B3{GRE&T<5_N1RQYA0N#%yAW8A<~m+YQ)(C9h>
zIbJVjIxJqR5UVO*WU-c+8tE~l=@r-UA;mEBIKI=WL^d;H{2IaN&1nGg5v5|>Y6{i;
zt#L{$JY8zsgPqI=<zd<4OXq?2_`?mw6X>ULHQ*m6L>5i>0$UxBhfTRgE<~D4!M(oD
z;FQl~6xi+t9<t5un=Vugd8dr8-HY9NUA(&|zt$v63Khz%KO@)0MxlvRG)bZshtgev
z<Auwh%mA_G*PW)uMQTUr_sOhtx{IHsxeE~4ol>njyKItYq^WNXF^f69>!o{D`>pY_
zJb|ik`t~<ZOwLs7s3Uak<BmnvgDY-^0;0(v6Lr9Aah#4RG;Ngw$Sx1YD`n00I&xs&
zeLu4jD^U}f51XRMRJ=83Odri}$JjV%*-qRgdEl~BdWUE2jy!o`y79erxS~3=DxJ9u
zOvia4U^}1RjH1}5Os9Jne@(<8>s@@f7?a!QNZN=!LnuvgcTJ;Fi-x3Qu3Z}$c_(8f
zzp$gPml=D>z2*dpX%#cUx63IK{db$+=CJk?miDl3n&@bjzXb+Rtg+g$g*P7hXsim=
zI*p}xE4y;A8b`Kf=GPq+K7EYcp~?83MJ+!TXX-V`9R7t=FmKLBdW2FcddB|f*Y}IN
z@WqUt%3fCy(5FY|DHR$W2VIDS+b;%v+cv@fA8YRv9!j?$+D0q3ZQI6*vtrw}ZDYl@
zZQHhO+jesE_qX@$KDYaR=RBNxtEz{pm*O0A3_OFs&I0@j5HcL&e|lrW1tBVL7~C3V
zD|W#JwJ6+%?78x~>~Hrot0?=JhgVUz`Tbgq1Mn7f&bp{kwkVx_J7sdh^cd6PGcDyW
zZkqcbd6rlB(7)vM)%$N-?dPgAhO)XAE{dc*;4Zt$KHT;qs-$8XY|Vw>xM;LVq|QDE
z?Rle)IoDP2h|ZZ66o$M<7>_0XK&8+b>3Ar!u1o&$kg6qTRVBF+PJj#+CF*Qcz%8@m
zrI2-I-de`1Ynfa~Y7lrQ^m;Wa@u8pmWNQYBhe(%NjY_0LTu0$Ztl3voHTVklW*`~g
z;zlI|+8-*A?)@XdeV$mV6@c>Es|^`m>NxNB(n#gOk#?MOpX-Xs<{qD;#HwSuC}6`{
zde_U;9p7mFrbb%yjI<4@Q_q9il?=lL&y7|deRn@mb+xZPkE^(jfS(k;z8g*N{d&i9
z%IuQXl6$_t`32A#Row7AIvYKmO`2I_bnm3KZ)V0)S*G;?T1{(T+@2yGAeZ^#=zM~!
zC~hi6zs7V`qII~i>JLVm%*;bhv@MHiQ|yH6HKXIqGRkqBRsXzf_@HR0f;LJ#siqU8
zfDi)mnTJY(&fo7<ZT?03WGdgIoM}n3WrFf`xoS+H6E$la;2h)*s>vE+R#B*2%hl%U
z6s|dOYQ|0##!$*s=%eSHxjvCg8CWdWgrh2;<8z76pg8xr+H7)DoBmiomBtBM{HuZD
zy{|qqZl7t)7L**K2^4c??2+-pfn$Y?gd5j*9szFu7{d)(&Fj3n!a<<5eXsuEl4d&u
z!Dk9>`1+BFb027Lb2~esvC-PS@Rg-zTC~7n$OI0qan8Xm<747dQ4=qpc8nh9pxYmi
zON`6oU;_LcwXlV9HEHk$!^;cYhcJ^Km_!V`+iDqAVZ<;k`wCCTbYddY$ME9Gv{8s7
zpzlgxl1|lHDJ3Bq5SnS<N5|GFk=1VtwF`}^hF9^8d8JqzV{$|USfjn{S*cfoTVH4~
zs^fhisla)u9-t|d+;DTRLr?mH_gR<v9b?)-3aCC_jCZHxPgv#GFqLXVmd0}Z{VVY=
zv|;b*Q|aG;yfII)q_=|HOFxOX6Inm^bZRT2k`c3^D3mVR8a0+H^JVw+i{5t9jq}+S
zy@<rxNFA%VQx5~y{15o^BOqCK>W0CMmJ=V0T)VQ#INn!zeF`ODUlI>znv5&J@~^v(
zSqN`MDH^PB;f+rkTgjiR7%EvdVQo0rbsJWCq{5bh-zpF{MUn1`6s4~NiFM9&<(A+{
zX@;uCK@Y|@f-`ie$N8X0HgqWAOuO5AwKf1AqOSgrTCZQ{!ECg5b*_Yz5@vMNz?s+*
zNsT(|5VfmogwC0lH|$|NS^CO>%cB1E$sfuw|579!#?hRkdI$dYg<LBSwvf*$VQ_t#
zH}vf7&ozIVoYgx9YBim%LTUs5)P|Rdwm;viiIX)b2)0j^*BH4ml+YUHE(3~hLj~^`
zqvBlcs-q1t<&zoLnzAM^m#q^5CY`h8>_S!KR^UzobtMsYfqIzB#TEiGQ>ISF1?SF|
z4IFA>eSCj)qLx=sIlbJq*7u5$cXX{N-$K0|R41EnMnq8CSB9fqDLOo(75z{>A<tU#
z18`fBCdhE*F&T5e{to$K`#r$kRl$_b$+fH<Yz&gfP2ZX+E$NU->`P~2#XY!<Pk+_e
z=DKZVibLSWt=%9jAC03`1-*wwzDXV}{p$Hkf6NIsbnQ2oCx=oK0yG{37bQTR;w@X9
zL{@yg7M1n4p?s~Vz~?J)ILK$ia;>GP{}QuZq|ELa^=|Mc1Wynl_~B*sc^g%s1F<5f
z{mdAI*NHAO^tEGQV~hIs<<TH25aQv@fTnJ@G6HH0*<&Bt56DfAbDTW5hsw*)OF%nw
zHBtzYEFfgGZDPm;V%Zbd!RQs6(0gx|*FIxI(a2SK9ioLLTB@{@(ycPws)3`DWjz@`
z2{pvCea3FsvY?*cW3p1|0NkQ?<E3km<HqbxeKCNmw_jy!G`)K|;{11_$P8&RSOw9l
zm&zRnlIPWB=bJSyHjNIgEXci50e6<EPYeH0Fat@nWgvx*fFxViaS6o`68f%7$W_L0
z^)G12RdTjG&A#$Hgn2yPtGTwnYk|R-QO7ofwX&4uUj1**&KOoVGTPsIZTXiNV4c<0
zt^KPt*LR*g$9lKde<GQ9@+_uq>)g5{NmBgbr_X|hJZs1jUvzAQLKaW~3eaR7jS{b>
zXs;0o8wdw!Nk>B{1Lo^c;=4`a$a;Ll11}yPXZo()L6hIj?nDq*8+jiI%0wwHrY-8_
zfH}RFy1M3AI54|mi=RoxRVY%_5d9#M&VAHg#2bQ|`-!IGo=U{iluS3nGp$Wk?Mo>=
z&!!L(udTix;i{!<#EZXm?=~fQrxx9KL&?aTTt{IxkJH+nQPo~jdp#Ril!A4?3$|<$
z7CE3!NoV!?3{zYU3N@TT{yxu?%YMmGS86KP@g84g&EUUH#tWdK{pK1s>zC20>z$zT
zmzj!J#Y|*Ak1mn;)EKO;6c#6vG3Q+zn`7&@zcIGSP9=J}f8<|NtYU0vrJE9FMd`YU
ze+Ml)F3#quUb^eh#<MsRE{0m%hb(UHPwv2BP!)I$@NH6mU|MoI>Etb_?3kf8%{B0%
zCQi=h4WQ^B2Af-!xHH{J%f|L&yk|XrV{^Z10*55q?5IH)26dF|2plNZZ=B;t#o|N+
zRSr9W>lO0Ch2rB_-7GY>E?-RCE7r=0L}GJ!Zn9uQsTu{L<8z4uY1m+}>v&wHSFrGC
z<C0@0dpQ7k#oU01s@+saby!cZF<&jHU)ygt!kMq=&Ow*Exzqb|b!9m;U?x~iltQg4
zrMo^?RN7f!6BXMvRH`bFa}LlhuV1?rSxeI-QNv1|I7Q;6n#b(&IBF%M(l(`z>)m_1
zk88L0lI|hR-5i09eiyFnh>hjmuZz5!Ju3c422(f04s$onQU?;{<3H){W)Im@cX0hQ
z!b#k9MY=YuNXOOkGPX4A{L_fsI1kU654#B+nt<egE`1>p4j;UYWBJ&CEP6eP#}G6D
zB@PR?z}5hxA?K~x0D8V*!<E0qR$}F=5s$FRo#UgYJx>e`bx5hU*|y;unie}HY+}Oq
z%q)Il!gqp~woa`YafM;#Gy@wGhSoID!j-&(oRj}Z)%Y0eUg^zRjK8bNrFttE$pbk>
z2C%}>aCKs!)U&;=af=w-SWRg#i?yZLd!0#`6qb+b9^7*DS-s_dfX*_)ozIErh~h|H
z77$gx2tQa$B>)nxSxY_wgf#H{GB<+)Nq7e|#+b)pYnRI?OH22h7GRpwSZ?m2d7ful
z$Tx-s3P7}5XAvpRb_wC#!exOl-?Hh!UH8CM1~!mL%iIl|IRIOABpH@jdr1wqZ`_pz
ztE?ZaIN8;`bn;gVcCRU`{DZ^wJ^$_!aR#{xelc{P*eAKb*!GU?EolIX7x;AVx*`G<
z7h*%6W>F5`tR`m@rY5F{>U~dC_~)8+#iQW4=FeE{^gQc+MW{bGL9IS=<w0{pTA_`A
z+&RXJ*Y;86o7>-HThYq(KacVpYzRttqv@+n&(8+rk@D0%Nh+P_`iRT}t(}}qN!Ijt
z*Vw_o>-VOh<_75YU!lY0)br$bd5cP-iqZ??fK#y&6;fxFtQhCvh7LVKh@%%O)RUqm
zf;5+>v%|>OWPbG|D=%`A+fc8Dc)E=!zuwQMRb-@*uJ1>lste*j2Xdj>?-RWjeHH;d
z=#E?$!dYk#-EX{6T|Vv(1Wn5HeufT-$h+&^(U4N1LoCL^$>ktl3--PcTKD~UsRXq-
z4tgNx#uh#hFCI;8*3pX*=k0U{%HPgk?evcQ)d;YbEHQ@xC2AQ7vn`<V?IXOwg>?oc
z$L%M*FzP)XuNv<kDW`YNC`2;*Zbo)c7S_g(2i#^D+bTe#d2i$^hvs0?sJrp4OEjzG
zfa{0Tizo^|5!3r7N{@XPDJN-zO`u(%DQPZdk<cio@$OWo1B;rmJC<JvA3iZDD&4?B
zYbJqK=GKDLt9ebP46x*TUG|-WLwMzCx_3NyN*t7eV%Kf=j#oS-paUs1CgLUM2dXX6
zV+~EAq%bEpeDEVP+TK52X3fPr;%=}!1&F%zqcZw(i-q4RNDJ!Z{ZSVK);2v9^nYGJ
zTWux`N!y3_7AvxC_^Kf|WDlW%c1~q&P9=Dp06XQCIQEh-scmGD6>xK@b6y$iW5!Z{
zq<x3OdMjc$l<d(e0@RnWELr0;<6=vXu~E-~9jO(q%rtXx%j;rRKj}8-8|m~;#pcsh
z1ZXRLy1X(4G(*T(O*g_mM)qsU%D~7&Zjiw^7(cEd8U-aZ8B=GHj3}pu2{sOY_C|Yy
z?M)@6f{$EBK5(kPUEB4-G25J`v~W*jDCs(wxHZpLaZFGa41zCtL0NfWUAc*%>vKeG
zP<XUk2HuzEmda)z)2%qV{TQEWB>GnJ+M{|;!u(IcdG=LRRjLjECy~^p`DxU0K0LFw
zm3dr?P<;a3MSnti$aBkQ4$&$;Kzi$M_bK@H4=qhrSRgr>KtY?W@!wCU#hruxg7PMm
zpx63SE#$+Xm#me7Oz@F?#-N-FO+k`haJR3PllNgQb07@BZ;QTV2I7?S@XP(yV6kx9
zCK!3Nax|hVfaiO}Y)p(!ePMIK;RYQH8dB`100=6%A=MT>Wj0)$QzWp?xDX~t{SB%I
z5SB9g6mRevyfF|>Hle-P7F0`-`q1N7;u23W3$mMbh3yzbU+S0NgijfMPm-FKzD+2L
zxL(L0w4KeGsJfwbaM&5%xzMGF&pW=!gUfBmO{G})>W<g)**Zf;uv!|vL;9-Zs8*u3
zUp#Y{MoG^0ePlh}$(7;i6bPd!pUKBaI!rvQR15W>Aleb0s_B_2`o1MoIP}?tJo5?$
z?IB$j-AZj~UkdT&4oQJiYQVx!8S$QkRPL~~4`#C59AD{jqrepvSey`!^>SDwlONuS
z!MHONaN4C2G$ywh*eil}bgHUI?wH@!5(%8AK<T=Mdj>gBre9KCT7;s8-Sk=o8Reb@
zNg+-r$~$u<Ee@U{zBC%Uonqy{(ATA}A^8Th=fmJq&E+Tj-d4DY+G=SIfBfv6OlH{*
z?&p^=uC!U^;-G+6n(}%!HNKUz+N$o(C9Mui!m4-euv(xTg@8YvFyOXWFLut3B?S~|
zu#elT-16#O33{8!vAAHwCHQ=E-!KugNigQ;&oUAcO11HtBc%_-Yp9vnFbDc%f~Enf
zRwB_`r?OcXNNUp;m-`raJ(cSv8rK$Q{2C!fIkC}%*<D-|aDKTNlDTm2_WLaBoGoC(
z`EgVfZQ<(a2JW#EH5&lOg@_i(g1Ot|JZ#zG*foUDeSEc7*V(#{?Ploouz4&nO#t*=
z@q{G=P`Q{v*eO|FI-&Ad219yOnj57&a=zwN)k8$uh2MS8820JL!y#M_l{prI&rPh}
zMlcg~3UcK(!9h(ikpu!3R_x5rOPN9ib?|<ZHEm=gu-M>nTLV+;c5i{N5}Sn1?t{{~
zv_j-L0RC+24&6~vx<YtBMm^Qdhyx7YdXlcF2UAdEfTgBT+M_Mgl25){QmB~;LC$H|
z0mcl%-E?=dS%QQ}YM<<YR13i-f?!^_yJI|RZ^76H+E;Ub>@WtV?#|PPoEn|tO?~cL
zbq({ANcC>e@#XXrZR<U1&4AK%XJ(hPHJ1Z(JLlB47J8yt&3Qgd<c_G24RCmGjXU6#
z%LAqvq7^|(a2df-rM~^z5=?^C?PebHms=5tsQ#lV>qhg3A!gHyf3@(fLu)kaRDI1a
zb7(A(w;XC!VynL>ue>cjLg)*!p82^JUc`8N%G8bni6UmA7lZOF>zmm?H_7h_6z?fu
z0vm^zT1{tQEjyFwrmfBLiAW3eWtmbBc@AqgRQTz$Sd%P8rJ{3Grv9kwaa$<-iF<4@
zVp6{4Y+VxRgXMMBznT{7t#DLKd1{cdsHGJxit8DmR=;j2^;btJul?v7l2*F-g=9)D
zSPi{5c3KKs<zz_*XYrprl0E$GVk}#%mw=6jhBhC}7^cFC>{SGmq~!qJ5{KZAS7_?_
z_p|g*SFSxLMM^n2Wi#8r++u|rE{?Zzti6?nUjU(;%GNBBLl$({aE{~V^96D6a2GeB
z`^GXQ7ZPbnsGvDQFg%PSpyb#LDh77{IAeK+WT)0vO{9|XsTv9glP4NZ+jD~Keq`Pk
zaTd^d=IG5k%m2#A!tZ#0j6=>EMZv4!V+VPXU1<>iUXW2(DNW5X*kJD1mlC`%n6e9F
z(>=L3&dIlGWFjDJN$rQwu0Ohd><Hi(7DcNx`(xc5z)esi%$?77<%Wo4V~jcf<tZIc
zbW4lt6&rbVN4tBLUeZeS*KyWAJ5xCFa>1k;Kp1D5+EBGV9fbo0{lz3tEqJOL8|BcB
zCwdi<g3Rb@mAu{<ag{o>qF5U|O^i9lIsB8CQXF;0Ud^kSD<}ZrGZsW=B^~yZ6ZZmp
zXbBaU#%YMYxiHHb<2BdI{HPKxAi;EqyZsT>2YG(}8<<W|1?|6c<v#?)f6fj0&y42(
zoQ#y<7ZUp;KqV+8^@sImK>fd$B7a8lY5w757#M$`AvTsDBI4g&NLG%Yq~w2=AX(X&
z{!1p3;h&xVwI@l#@U!7xp~#<}r0T!=k<3j0<RpJGoeD;d_~dlPbXIgWbhdQ%KN0nR
zw<PhI|Dgr`iDKga%Lv8%-yKXp_yFraNBB2Bz|O(?|1tyr6(9J)YJNme|1AF}_`om4
z1Pv@!$>KTu%a}Pq$OuOlv1VXs`T=N$1mA`^8k{`e1V<N_5HS}b5_v?tEQc+JsrRpM
z_3dWkN|Pt2<*sTjR;0{e)Zzk?4QxWN5CV3$mKJ^hGbJTqJpeW~JTx{oI#{H5R%AW6
zSBZ%J0w_CYzdpSj9}F=r!JbgCRA}^D-D1cPzy!@pKyFWftYds!et0%E-{f?S7rtOy
z6Zqet7od$GCH8;`JM^JYu<^_rv-23{RspUpM|`3H;lHSSMO9T}_TgN73xEeO%mIS|
z6??(4Li_t8QFT3hQ8$1f`CY$Mz)=yfK>83sK-${d9sF=KTXv?F^eeCdT*&)CZxHu@
z?3@EsfxMAGOZ;%~eHi!q^ngs)e`|duSoBuHU+J2F@9^uwHTw2w;&N;1CBd8Y^dADy
z2&4G65rI4v*N$a_V*7TR1Mlqay>e~nY;^<k>-n$;&`|HdM(L)IAsfTg_^$~9oY_-q
zg2RD;0YKM(Sb;aW`0>32Z1%`{)Vv1t;-v-v+Q+2<+yM7>pR}s73*sQqYSPNSZzKD4
z_j4<%p&C=bxY+vkz|*pK-^crL3R2^aT|s=**E`d<a7~=k>HZ2*Q~xB@J3Rwm@Z-<a
zB>2ndlgb@x`xUDu2oC^gO~B7f;0-VU0dQMW1Na47eR&H0DmZ$t@zK*WJdSV$UgM4r
zc<ZOmkNaiYq1j^%574)YvbX<eGw4Hvjf?9`vH%1~AEGL#$Nnwk120(dH2^p166_8T
z(Sm0j4c7Dd{`@?8pw~gYOYbr5Gx2>wC#$8SvnreYDKq4AUQn=u3qU8Wtp`9>4Z!9b
zq9F@_|6+UddQI<xw!?Su9b@jB>q9d9DI+ADg7QHyl}(IW_KZhp?KAmnT!*V4^5vRp
zVF#`s8nEVr>3wJeXaf}vFYEgl=B5Ae+vdhc^tF5P>zkDL*xcqjB<&FH^IH_g*>}z3
z%jkxFyec%LQ#Odt670f9>Ji`Ps*Z91@$BrTTU{9BMURhIZwZcRYP5fP@KePpm)2eu
zF0>F7Sx@i&nE1084bEjnP!Ara1?u5B{(fh0@{_MEq_Mun!&O-mm-DF@^5U*0Ae1ld
z9ZL|m>7x5SCP=M^#;2O7y2k-vWfkKh?4BMTP7GjY@V=%w2|k(+6c^yYzZU_H))#Dw
z7l5jTY3iDl4-Ei-#3%ggN5%8Iv^zEi9-!nK4iOXp=1Zh+10ZLYPYfOa<U0VDn&wLc
zsC%|w{yYDB63g_JZUh)W;Omzg;O}xDd^kRUlMlL=n40nK9l@bcpWcv!%`e|?B@!qV
zlj9J^FNO^`k`K7A{a*pUx$#li>veWf>HICJ{L^U1iAy&)*hGb9qT}cu-8e+;C2Qd~
z>yV7g?bI<&9may}>$SM;i<&CU<)xETC7Ad+SShoW-R`m-coWxaz0Gm&AHT5OD7Vi2
z)4r&@apaq{^N?vy>K)kPK&9CEv6@;6otjaRx}NL*PTAaEO%T7@`-}HVnbTMqy`EAU
zF7&m5S<oRo9(k>$1DPC5*DYb^0WT9p2*xkSpC$^cSK01uNI)pNgT0}Gx0|l@e<p4K
zu|{KT6M`G*JjjjT7$lw1dJeRYzFjnBiys)#%23zZtZFq(q`9i)I-A$qwb=*^A1x%R
zNo)l<#gr4`J(IF<nd3|Avo~FcR@^S{xzvy#!ezxO+qGNrMa%ysxU4BDZ*B$dmG>Ou
zmcrWT9veY_Rxy!))dHF0&0l3ozRhxXd<H>nKGWdSsr$owTD!z(ocMk;xnbcRqF+`x
zHa2!kz^yBQtZ`1rBrB*}Yv^vK@{0=zB7l=yM9>~?c)4Q*(x7Z7j5_Y^^i%{<qgQ-V
zvWL#m+gTzx=K7Pl%<u;4*sVKMp}MznaWi|P!)|L6rP;I42%QC<&PL0K;ubc*x<oy#
zrCJ@U>l~<#kH)9{SC&MfHd*i$wowGdGvnWu%#+0$+S!8YBU0v4(im88CXm6^Tw?;o
zYL@6oTRd1%>u?eY?rep$k=<>0TEhq2jDS3}seryCl&rCzBoepN)thf`x!SquaF!4A
zCx6qs79+nJv-bpJ0p2{j!WbLr0WM?hssHeukaX@jY;xsQq@iWnh*FE_frw|I_hW|%
zf9TIc&1&TxWmLaRD=c%0D331dWxC3I0XJNNz7%uGq`)vno(3irARTu)@rB?qlj)t3
zw>FOI7pA0Hfiz_OngMp9Rr%j*S=S#Odp3<-C&fzmNI^4u6S^+J9T7-~%7zb*7?~Zg
z$t;MQ0GTwDOKk@sazwD@!UuXPzyU?x{2K?gq`wXc-sA(a-A4xG0=ptDb%Sjf<~fq#
zYRO>(U@Y1_hN8AyP)e&64yn`;QntU#MkobXR*dClu``^1_C{N_gGN1Z2M&4^=3Grj
z6NW*tjvy>Skph&K-_0=HlG1`_@(X4zi=uZL>SQvpIqRexk9^nFQ^RW(ys!LOv8Ch~
z;8@=1D)m`XbExJj=frH>?rY+#s?mrF$5ho6vG*FGfni(y0X^Yopsc&E#l7xb@&>tn
z>)>-M7oP@0zFV8dS4>+TKj8?cHg(EH36g>XYh_cfL)~W*z!Ews9XGsshg9KojKk9u
zyE^x+nayajA_?&sY(+d9r=>`FBwpTwHdb^6s;#m$c#HFjS1ORuk_S&$KA-q$XEKgU
zippKD1w-DS5DMcMM?<_vEj>rNAp+vRX(SMZF^QrH1+!r1S;e{!j@P+*t~57uv(sw4
zbz-r`$0&(wt}2RTxe{vMmJLiFi@mJNg(PE0m&5FI>z8)|a&Xt!%XB#U2dFM-w;1cQ
zgai`3*+MBqdk-gVBbw4h{^HHDSTQ`W4OA%1rauP4`8{Bc_Vzf{*2`K;<XOLtVLMJ^
zltqOJ8#@~>!(SRvx(VwewIfiYehv6iFTH>0co6wBtUtaQ%Pp837_-3HlQJwg87`Lc
z`;PJ3iZ(4N&R$f4pB|>ajAT0gKsv61qOM-$y_1B1WS*lwW$rwrEIE?`PV2sNQ3s#l
z61BCm1|r5P*9;Xn&u8I{ix1k7YQf6tD>&863sr{1kFUa_h?`LaKReH6Rv^mz$`lmG
z%CHj_;U#eRrwk9%(7g=d7`7w{gix2f3vrk?bgO{l+dR&>)%^Un3ovoDq(BYXxM;lm
zs~imDwOtjblr)~0)EHwCO;dT9``DLv5wjVmYTQ&FSnjGwU1#TdYw^MfX_9U~t>v^J
zv*JimBU>dQM`b7Uj<B{Xxq$W=3+F$`%Wu4n0PpkBuCR<!M0=ZZKnQhIEmh>Ti9M06
zACn7~Wq}r0Kn99P{gJ1EMjAaZ!_%rSd~gm(S%dR6=CM7rC6x!2tD~7`99`{o<Y}LP
za?NYPVLV&gH2!Yzq=wlvFaG2sJYDz===`Xq99v$`a>J&%6;y1|g;b*6vshT4i|aTS
zHn1#4D+IAPN&gyXcc9XyR%_J`bErn{((cZZSk>~Tkn4D}sT@0U)zmc<)Bc&fviKmD
zq#0ROnr+(%?8EltDnf4`Vz^3GTyvFI*eDc4UtO`QwTQ&4=W`mvSQ^RUpHq!Ul8+-*
z8`(U^PX~#ocVxTfYNYkH{HUHA2YY0o(_L!`0BTaf<YZrc5%&7)>YU_=Xdb6L2HWi<
zUCqPT8x8etbaPideZ<{kH>7M7QF27s34bEOVJ{&_i%L3>Cmb2Q#v-#<w?U)<!kn{7
zUmXz1yAviNGCekHMi{Qw#!*3V&|9Dvw<YRm;4ry^7(c$7fefX>l4nRQRGv9ArFM49
z%-V)*G*#;HFNWoS=dOPcK)(QDKN*v#_f52en(c-pflop2cK)4a!Xj9FXNOuDPfI}#
z33W_~!+UH#snGpd|KscCdbN#q`nPRRv8~RnR)TK}XTCPFFY<lM=jd~Xk^jNb1c#2>
zyXWa&HO4r7YxHZAa)}C*lDJ~E$b|aRx?|*9rlG6S`kimXljXf^ln<*>_s%>-pSqiP
zWAr%-Z*b#8IabllxGvGkMh^>&$8;{QtunJM1AGI>RAe&VD+y^Si@NasSLtTK3tyKi
z0&LNf{wSUjRkT`PkH!%*KNd<;)7&EewjisEw^b6QBT0u-nF-H~9jLHivW`AnazDSR
zovkrL*);_L#!CQ^2(Lw*Z7HwR`Sebfsd$TETDsYRl38+6YwdT@-r7s8sLN-`H*CDj
zKlr3gK|1~`lPg>l26goO<=WszvwiKQk2i=H{6{L7qz;60hK%hV9fx|8#>yiPi^Jt&
zs-w7<(eibxxvxDeb~>je!lOz%ZK)Qldx>v=i7}jGI39_6X!&o;iWKt|9V_1BUINzY
zNLz%Ft__3|`6(f5336`8lO+neA{mspwe`0_j!QD!wAaoV!Z@_fNI+t^o5OY0P22qD
z`R0XM2H3a!(J+GDO!dx7({a2e*{@&uyT??A6~NqlRIzZ*96wQo*_OX-pLzWvnw}ef
ze(iU7G=|rH+TQie88U@R*0N}qcSHXct=P=#c}~!qi%5unSUSvz;Xw<XEl<FDEzbzI
z<l2IwA^SvQ<Kv{6v@n7{Vs&$vt%qwOZ|j6FhZ!m%h3edTGqvyvr>h?Wb6-?=Ws>=Y
z8MN0BiutiL%yYc8F5j^8sA_UVeh|2y#be|M*i=?3CG+>VwrJ3g7&3%hOd=V)IwOIo
z`VTdERK?s)nY03hGA+$sD#uwlS!kEUzzWLt@J&8mX{C`>_Xsmne=w$ZTU(7A6G<&>
zn==nbxFVz-W*8{o?9Xez52AN6mOf<dXl1x-*G7Tv%DU8)u|JO`nREO`pDBsYRmDVT
z>efSHBym|FK@0)DD#!!Pv$~O3-R{w7hXOc-Q>vK$W$VX+Nc&NjdioFwqNJ(fnTDl-
z-b-Y4lwOaOOG@H0i%Mth-f~ZLqUN+_-t1aP{h#3Qn3kGw{}UlwxLW`GO~XHEyxmTM
z)?3VOhRyT~Pm3JC1^6hzH<e8uGWUd>^+P$v&8)24BbLk*^pY={SUs%*m?x9#oz=Lc
z3YtFqm71^{dnNqeFQX-cIJPAFB+Oh|4-;1oP4m~>Vw?W7AIjl4E`*iayef2`-lYg@
z>b~a*?nHSoB#qbAnzbjX_JF1eIM`IP%l|EW73LwRGgoP)Pd<h+@+4BFWY0di?1}_T
z8KjO*!#o$5vobce=jqbN6ViOIY}<cN?p_;!YL!v1cG!JDaXDt$_x9{}e7uArE^1TT
zI=k}-gUp_&KE!9TvSO`A5uw>BNTL7a0QTF9cphTpiZgz3%<UJ(mwZZW2fljfnkyAm
z&vt3j?R7>CHS3MiXF|VDa~zdWXj@{X&!3}Ht$+SNZ#tO~F%%;f4L@|{fJXe2CeBxO
zFB-OL(|X@U=5xhqmXwVuPaRJsPr3WT@3R<{qSk-ky0gP6T3TM%ls9!Exn)u4QaVlA
zKG|Pk$?6@MUzHFqCK07xsJos`{!+d-G~3<6K=HaDNvZXs=!@jkRlZ+W&lU@2`=Z5+
zKdT?caFm{hp@mbE02kEuEZC(eAGICaK~a`gZW?5K9KIk<!_}ECWY;SqfT9)x3IYmo
zGI40=-cKfU$>JPZ1;lQVI>0v^<@6@<ROCE<T`Z{}AVr&9uxrGx9cxs*k$Yz0qbJb;
zTNWL&2QV|AmN4!NRd|N%h@;<sAGr`1ouvJm7LEBlt3QY(1`A}pjbJSV4u=(+jCY@a
z3U3u_m-gjb->0tdA~pj;*6rV1E@DP0<N@xXeKY4Ll)WwQY_j#DHy^D*Wo~^b6Cek|
z5h-Q}(PT~xDfveSaG8WHAraYO>mlsClf){QHc`=zl%v1xN!%A#cwVRrOlLi2EcsY~
z0%#+IR$LjohZuAg);ditzh-F?Dg=5p!-bSa`mIUAojj{taNJa{lqp{MXihAj-24rc
zaF$6{i?uDD3hyR2=Vs-`?)f)AJ)a5U<^cysuENOp`IVU~dC%@GdX-kQE=#e_IsjXn
zzqF4)FOJT%<hbp_9UbD3n5mw>1X&wvO#Iqh;VY&TQEeh49SZJpmumX`NI%2j$^9eT
zo_|?DHU8G4<f;D0Fgftl!zG?sUE^>yS9Qc+cOqWj{(cJ31Dj8W(6l`+>uzaq6XHZ=
zNHJ{eFpzeNDw43Bn%-YiGbMiyfbax)vl8IvmSV`_gREpdk)$5_V@q}-O-c+$;gWSM
zCZ+m3E^HhCQ#CD>)dhA~yrT-(KoamP#<+C|g!3aoUZ<;de+G%3sjZ3BHsm?5m-7!n
zmA4c%@D91eobJ~y3S_O5{tS2P55jSu*Q_f`-mN;EsX?c#Q=t~uq)#|E=7FNe4q{~|
z9#cXo_Lbd)*07z7!H9r_%`ll2C-x|W?(BlxW~<xe5N5N|w#S^OpRgpX?7xuEP8v8?
znaSOCf^~sB6rzBT)=hX<0^h7<pOjz0mpTkN6zguq?<)kZoAEJhIXt$v^dsE^lY|_)
z#85JgYU}Z%p}+}39HB_hbxlx4dS=jf%&e~92xWGC^soXjOop)wT38@l+v(Dq6{6z0
zO0ciO53REiQmz){KX&10LEj^Yr-vl|Iz`GhA4McSDzi-qAAdM|kA#)`Rb1%&?zR;A
zOtStSm;qMRobJvK6B~Dk=u$?=Nty5!cG42aN6O&mm>q9zRnl%Yeqj`{Ma`G~IIPb{
z^B^{~-!iuUofe2wV<^LJ7@J8=ZCeVy^T_kL^1U>N1@jcDQ(5?cwmKY$VFK%hCo7&h
zR4qx)^2f{=cA`fV9(`Dsoka8df@9-UwCrBL<6E5RSH<0qZ9AYMN|OzG=CVzTKi40^
zr%4qzM)u77VA2<c^&x{{a~X|eF>Q$LE^4riNn4}KO?c!gc5f3zC5)xx8VNY&L>r#`
zll$%==?-RAdBD1XHxPw8bW$yf;A&VC(LCEf-VnK&D@S?HU0B=qhv<=d6y&Em@i<1-
z$o1;(LoQr5ghZuG$*?NYoyv9yGM3k~@enA(%@#~G8kow<Dqo!LKWB~iO_!mk*oFnT
z+wa1PqY}Nm#9}w2kU}_ECBjXb;2O}NRE8!aF}~9a#T1ewoABl@1FVlWC)vGL?;g>H
zt=^R7BbOJGjzge~&J-7KpEeYPwRf_qX_es<NokQS!h^hbYnD6ds#xbuC$G@s@%>Aw
zHeXV&9|9rR8ZkD8Od_pWY|1bLTQ_x-eI+enYG4p~M?L2kNe;QYcp*tR_XCpwX{g44
z03Zq35v&gqt=st_BC^MB#UW8peCvGyydFw&KVdVM!B2h}V{0J6vfC)OQ|@ym$dy@6
z3<Ks-!5HB<!!0eWAa}<2(hsq-wzv9eVSi-9USj(W1ot;)WE~sk!RLUj#7<v_w|4-}
zzAROm*k7AK(x1ESFTud}P+2|SGZ&{M5o5b!KUxhVO^;FvfP-74fd@l+$BQR?lt<$%
zOt7m;e-GI&UPUhwpW=^0*9^*Pyk4Ft)<8q1!9METH(tGNEe~>J7L;z3=MjKgH~;Sn
zibdDI7fPE><kZea5mQtr<c=P00pw$XV}TlPH^doLxG5YvhssP3q$%Wu5m^=Za!cY(
zJADPT)n$ri8jjrkqrZrhCX~cpb(w7rzG{{t%%UGPg~demo!UZ`j6-Zu4ZN&t)+aAM
z4uBnUJ0$Z>P&}-+`(Om)j)}~lkL`HU82olnjv7A6UT#JYm&56pr_pACY35Zaw;t9;
z(+9wxXC&4yghbbez?C|e9Ea~$Vzsq-7WbVo>8}ix#aswT*{oM9k1pnyWB7U9p7Xu+
zsv=*Dg&-=Nq8MyDWS=dRMsZ-r^TY5e$`^5$r!QP6flyZm-inc^29%y_`A8SoXhB04
zypft-`@E!S;ORW`?yT}F09;6psq4=Q9l=r4d4fystrTe)nScpsR`65f5;RN>c;V_$
z-`7Iswlv}O)+O^?=>+uH=@?ci)q{$nC{2N6JOg%ZeUd$n{g_iEE4M)vk5Z{DVjZG9
zg0a~k^8wUypG=MvI{LMKI&`fzXBjf?YYPiQH<mm%5qILrgpo^8<y3ep>1E@KkX0mQ
zk6CWDrn{IU0-ydR!!kTFuNu`6{rAgT3qajFphpFBjQe#ebsXb_`Nx)na(dG&yeT0h
zV<it6JXl(`IgH{7?6TWMABVi%zxU9U>o(RtPD@hUb%DvM%Gx4bBXRDhtn!i0NQpsu
z&ZH2>i4=z9j37D-7c}3vf3rU^kgC79j;yFI+tXjFsPE#~J(>a*gP#HN`NX8ZtS>Fk
z2E%%9x3Z3nEd}lFhgc;QTd_!LEThY$-(ItIT{C|opM2b?8a+A8EcxP|RYkO`D2WV*
zh@f<v#c{e6Bs%I<RYFp1y6<P%nI(W5Z!P9P8)EjIxtQZU@XM2ELCwT9om<GU5xnn}
z*=))zVqn&R)iK2(cd7vI5f{-j$wM@dfHzuTYH;Q`Vx)!YWM$nm{-&K=Rj}s1|5InV
zY9WGDv=p8Z3ej<+WV-F;#^KPR<>5Pcg3_>l%X^+`D;Bo!e%lJvjHvx!^X@DXMBAqQ
zc(zXNcb8bb9!^V?fV#(d_%Q*F95eQyB&)4Em-4D!P|b0Z9EnqRY^LuJGFilR`C1NE
zF70l$7WO<YY`RO{0Eazc=#pX}Ew|zvu~O6-r*qHV8)NCdQK@mq7$fxS`(P+iBlhm+
zi-BCoTAJGZvVD!3q!aFI_oxE2RR-1Mb9$_*ix$V}Ii;@|gza<Kt2E<2GkXXWHkva@
z!M3l57o{&d4c?H!?h~=jm&5`|(rz@_q-1&@xG5^r>hrfnaB&u(TI?N)YLgPfKpy-#
zKJEk^Iw9wK)~gM5WijsPTrVh>bx8F>ia_7Cv0XGPlSG5|MOg{`yelid&deEQ%{8O*
z=mt*qn1;`tH3^tD(urX+@1l9RT?fqt*3)vRrD`MNmYrD}Q|}N2%-Z9ASABl^(8-yI
zK(%DCDdRqudZPjL9q~H8DF17&{BCrvEJo6T3yR-xB37yXP?Gy*c(qnPv5HEG-({Jp
z>ug(6LL`R!N2_iSDKRx`NBqE&;kG=?Y<OvZ2`IjkG}%EJK>f2;d+LGmrM4OZdC|78
zjFxoc0oVIo9!L&fl474c=DM>_brRc(tPW2&x<pizHCDc1NnheHyZG(_bH#XO-2!*M
z*Ij`(lDR`Qal>@8#p?xT<I>21NmO8~Qc6vej{g;7a=?VW)D_kOV|Wdtn^U(j*nsDa
zJrx7dN2-JR-u?YW3+#dS1e+OTXJY8HnW1F$p*Az~)#A1XLHF2X_2~<%n(D&l`WZgQ
zScU~*Msh@y6eqMf{z^ESv8EMmgIC6bB3);u7jtlUytB2$t*&*V-s<B0tW*k66l*&n
z!wk}hxIv^nk52}2oi-=$YcDQ4Np<R?+{Z@vd@$u*_=`A$TKl~D?_)pqPf$0#ri$N&
zcqDU2nq8<y0#H?x{+ga4vaoq|kqUj+Z4)kgTo;+;1A$PKz6fr9fG^zZsQe{K&z>;8
zI*0YWc!{Gdn>e22TIh#pCw!TMrnJNhG0AUT)I_S5`!$bGICaEVU`_Q4&2g1KelWhV
zdJ)AMZH-S%``-vdY2MuroAv3aNKK-M8-$f451gos#<x#Q`4nqp@_eY8O%8U~UxAot
zHduMafwO+^e-5xV?#TDi_#u!{XuUET%RQ`m)*(`dQIeSm`^QX$m!FksjDM0q&KlN!
zJr8v01}WL;>|tj|cHnA=O4B6RPs{}h$#S5j8Mvan`T(jpFiA{xw_NbNvDtz!atF&q
zp!(-D2ISz(qB~|uUpF;b^L2!#>{v$>?UNe0>&N+jvl3(5h$=axHF*xtM{6YiW+5y6
z9`IAOPj*(P<`G3jJlA4<olJUp4u=+dbLIE}3=2|0+0zd}b1zswR)ns{#p$1$Q9lZG
zcRlOql8gv&sx?(+_IxoZu#r_kA{d9&Su0sO*izi!^#xnYX5lt8Vu|YT@UuIr8~<q8
z;XATTOZGEGHT8GAX01B_>Np{7Hpl9+l?Y#s&RsX5+7@VeQKMXScjMcazambf?3cdI
ziR812B%c%CMpD{qeXBwP!Z_5oZX&}MRJC|j`(rC~(wBc@Yw5}<Ulo?3UB{mlH8#_Q
zkZNa2;3GE@Gy7RNWkjRoXRNX(62}WK@3Fr}c(TK6#i+`me-I~{MXj{CCL)Cp)M(G)
z$MO_uBL_U=7K#5^zZTY`YNgWE6ezfM)cKhf33e6}5>;g;C963Unf=%a6b6m?>nT0U
zR=6`F1v$P8LYY;{8D_r~O$ok8TJa#71n;*(T9M$5w{2a!CMv7$u2LwL2WQi_VMxXP
zy?}{k1KquP(51#Q4{;Gf>VlJ|Xw~Y?P&Umasto8k;5D8NQp$2L$%$!-QVt8FGh@ne
zIO|zsc!wwG8sN43sO`OomwPgOaT7=xeg&VoH!&fSaHtuS|CC5qDc{)LLaBPPQqB|h
zKAWs8edlyZ13Djnm`l(iCpUo@)SaRLL@&M9xvwNOjTL{cp`xPeyFC)$FzQTDhHq@C
zHw{GFm0he{{z8=(CAAX241${u9pyC}?Hw;4Y%sFpI0K7=G9EZJsv!xMRsVzd3NM7}
zT+Hb!hP$E{>E^dX(shf?mk|N~tlu~jse+=>$6_(3fJj=*nVq6{;Y{H^FrMUh8*ce+
z@n&Yo!zyHWn7_l4-sgQ2Bi~9J@Ig~KpM_k?Urq|T!)tUOEYr=a_tuP@Q<FUvOO0JT
z&J;_Nhc&k6q)oyI)6C8h-D&|X9)6W%+nd$W{r8s8<{BWlA`D2GI+nfgW*G$<B`;pn
zn(TWg|C$MuMmF2O#ztKRRg{wVQQxwAqB$K3%B+(Jo<7DU1p;(A9lWWgTIjy!Wof#`
zH(G7Q<|R=YC{lu~hPNPKj|fe5RiLFwJ#_f9Q}&#aAQ}MT3`G2@5VT<~mSO{@R+5vx
zDwhEi;9E??x|pz|DrODt;u{7E>c-;T6e*p26SA|PQ|*NjNmm|0{2cK+rdxqwgKCXS
zcnip24%;M%#bPT|{-Pyvq$?yhK^Q*WH?)$ai?mDcrX};rny%lb>dq$T_~V!JCc!5)
zPfJ)eZ@>5{&8jw*;d`y8H1hp%Clm}2vP2&*a)cWoogE~I`{b^V);v=SV0g{Q#kHA5
zQ!*e|7opalBv5T|NxMIbrsD^9!6HjlkGtH(<}Cw;Ngxn_M@<-a-mrc0VVH7dKCz*<
zz=$sJXq2-`Q8JMqz76>~GR1Xfa^eVuG0;kIn|M_pnR%}hIQg<GT9su1vMfMC?T9|2
zF{gSiGMc#HD`NfS@L2C;OIJT@V6sZ&jrnU`5sM_@q#C+>HE9^MFhErb)U9TjiyRf?
z1eurOyfYFI1to&!28=9f-b_#@I(k>_Gfbz2?y>Xi?UO`wx3ln)$}>r_9il)6{mpF5
z$@{PVXl-FAvtynqL_X_m35UjtXA#qGg*20+Sv_8_wcDYZxD$Y;46Jh(f>~V=rGQy`
z*VWWq+`0M&StmM6U&1)=yOlk09rH5bm3JE+M0cT1T~#HfFL$z{vt<Q<v>4=g#p&l(
zO=8&dJy0Ps%M12rwYRvZ<%k!z96B5hir1v<#UwswYEEa>2N7KoiYej1(Qi5wuPSGt
z67zR`jyK~G6(I5?RKB5);@PFwlUmvTfv1}IG&ph{<8n(__6L-&-?3|JVM#9WP}4#z
zZ5+#`i&6e_M5_65R*Vu@8QcC!>eg5a`PKT&BS(8W*`gRTm@rLcZ{<3qTv>w3X{7a=
zI8Sz77otkKFEa0uTAc2Sl&Iz?(EAMsiF}&^NpY*+Go^@M!HS6jSFv*EMZdE~*Q3LP
zHflrg$k!RL<YkT%&km)FUKSIhbbBjj1R)HEa`<zEwcuIe{LP8Yae&+z0Q$2dtv;hh
z?UF~nU1Om1c@0SQMZu#Pj*^FgcR_PEmztGdk`_@h$273{4yR5k>m2Fm+KiHl%@e;d
zJMKI0MZS8!_%5V4NENZF3HHfSXV4l+11BKh5_7AAf19{zXy}k<$l@5S61uCs(e3pO
z;>2F-G5%MK@H%8Q9tgB&$fc2_3?(UIsNHTC1EQgdvs<*^i0!>tE2Et>e`|x&sAn@V
zvRyN`Pux)xJEvmfcq(?MZmF%#U=0$JDS3(=l>mMA0mtvZ8gkN{nK%=2jH3DMaipFh
z;tp-!TF*866_O>}xh}N$r>yBU5MOV&uc(odCIt5<=JHZ<MKr<U)+h#O3d%lS+pj6&
z`WjUW?w4w@&iL@@%e%{;#{*1VgVM)%6p#^*1QVV`jK0ULedUggT7QY){fcH=1{vnC
zy~5%zWD@Ffzlxmx1a?WdCo3xBeBNc1p6Unly_A^8B@c`~d3}%;F;M8kGSKYQQ+I<L
z@@J9N+KiL@W$Q(9+bQo2RKIsKA^|L~BDc}9s8&wzLIrGu0|G-^Iwel@@?iYU35Fe1
z?4YqH0AzZBDYv6LnC<kaQPZe*au_0As#VWe$=?@Bi)j9s;Bwxl<Zk~Up19%k@Nthk
zP%PiIU6lGWLv>6_l}qN;ToWsyWV4FeYAA-5{DGq^!eVcWZt=FqNlI(w<?)J<*W^wC
zzje|p*Yc|a5-W!UPrJj0jfw!LDh1y{%t0fyqtjd=#`?^FD9zQF-5Bhz%vek^?Tb*5
zAui)0IAiy6v1Dj5ie!n8nm^ia)Wg-J&6~ZQNL)9*{=AmW`u)M**z<NKT2)-f2~HA}
zk~8ObS}N3MSoQrGxC$JyCi+e%pJIcED{an1X*nVXvH?#B2fn-oDMP8w#bj(_Hgu|c
zG19*W6M}`$ebGkwzZc)}%J^GeGc`s9R<hMm!i^;!un1PUaY*P=LWc;c(bWv0x7*XB
zyfR2UW;Hw%1|Q@QAiVm8DFRjo|EiKdVun2|r!U85D7ROG)vg^>cn7+&W8+2b8!-#u
z)Ghv2tm7hKHO+4;ZV{T&=?&sM0FeXPtmra1HBz}ovaJ^Nz|IO_DnMr<J0dLRMe`)|
zzE!qhtNC4r|4d%LIXXvTcnCF2oinmeRkR*>yOOGir*U=>?p8ZOj76CCGfuBsb#GJ0
z*T?$&X6Ph=e$;micYO6;SMnU9d*PZeV!fB^q$Au$PxuO&g`exqO06+AVj1~vO1v&^
zZ6U6ulTT}Tw4Y%9`URZ_pBiapU-ivs17C)(p%wqOHd)S>dy-kv6!q?O1+z9NVPIWV
z$<_TKs$V}IpP*{pc<@9oy?ZBrX$em@3HD>;&fEP4uC;bz`5(Z;e+-iU_GAC=z(W~T
zRS9*~{{RnvJU{;fcu2#@@h|d_{vSKi{}u9(?S~Nj{~-_g=>+Ih>D1`d>GbFf=nQPE
ztn}y%>5P7eM0+|1I!8L^|Ak2W2SEH^h{S)nB>z7`BgP-5^4~-v>kpv#@3sF*B(gF5
zXny}=`9B~Moqj1ItFKo%LW&Ww6bQm?YR$m_Ap%49!!r%ckWfVW`o<Ab;AaBO0m;iF
z#u4K9(?iOCmmGT@^KExpY_=O$rgmntJ-uH%yFJ_1oM7EjaN=L!n}f5*$;99h|B_u|
zNC5Hu-S>eX15W@J!T@~=`5J&|pCZ8BsSDn+@LfmcA<!enTm&SNx9JFP>s!=J^;;Gl
zpPZD0oc0$GVBl~3(QX`sEO`Kw8n_9-oPM|&p&kP5K<qJa7atk)1&A=-!)p=%)9GLE
z2?@x@pa1BL0$lqpdTo7S(N96_1hY-yoPVJcT<F0Ue0R$O7-htWxljNC>gecr*QBHI
z^&wFX4?^7p5o7`c!_$Qp!wmr5gwy^;y8wNaipY)u*1Z6^e*?xMz>e+Gl>rBUY3aKl
zu%&bKW!nJUgZP~dLq9hIdeSPm^B+E=8=$W?Oke!&9iO>Rlus%I=r1mGOPgq02eAH6
zJzMe~gd<46lTx#LqR*HP0Q!yHWTKTtD8DGMcVE3KU9N`y>%Lw97GYoj^vP>FXYHpf
zdY1yUZnTL<G(kTdvzg=yNEca=mR9~9F}gmT$I>2df~OOWXSA11Wi<9aG~5@HOYi_L
z_OHC1ol9C>pb$4#L1x9TyWfI=-?~3~CwxdCzX6gU0C+fnf$6P3J1X`DJ}x6R`8#yz
zT0XWpTzxn@p+x`?!5jiJe1U%2x_ICKr>8IwupisOKG)#CegVSLdl2`)0tNL#e2+#2
z6GZtuolJT3eE=lkH{5^#=ICU9S5(Zb+5hg*`uw*0-qZwyVet}#;>p?${5Fu67kB{#
zdJQB2^c2X$_r(`eg~pH42KnY1_j&pLne<);7yPM&b&?%{X)6ly`ws5c!{(<{|1q5u
zz&9ouZBMt%jBt(<G$6ot?5AK1`3UYO$;&s**EYd7+vNAy-FM8V&vO3J<=NXh<cHB0
zUxhAPO8K{rbHm@x*psjs{+wf=uk9-17(T%YU^`#8_RnS|U<eVJU_$J(w`_?(x6<AZ
zeAqYog3ft7z|T!!M|Tx;?7Zk3|4(;g08fAX8K2dedgE(<Z}E<q%r`6l9MRKl(Xzfv
z1lVq4X)#4;fTstLcceV5=&djypkK57rvSI_l@`7LeAs?MApkQE{(w>7GJQIq$VedI
zzqvbRo1=n#hzRk0eYxIZecJ`FW509!eR6%;UZK8JaGtiZOo{HArDue{I=?^Rf8%?@
zd-T0VgL|Bc9k-1<)nf{~>vTmjtWre5)SGB}`rT*YZ1MfMnQJX`=u_eDrYeGajG?J2
z2a<z?no#lcsDyEi-Y&ps&;rp~D?pdFY(V(2rg*byHx#RGPmA^Rm{inYI36MxVjlS~
z{+%ryz3uDQ@E7_f8BDdwZqxDdc`c4TiN*p=U({C@N<NJD3?qer>lZKPfV{9bF;%mR
z^^ADgI1u$Nm@m0jIC$M>n@FSJ4(xpo>l^e#Ef@H6%mgTrI3%F0<#^$U+7O{ieisWd
z^}FyAS}JX|r*3c1#lgFhad6_b*^LS9b>yWvsIFWu`1a;#OFcXGwb@@sy8xK*dbT_N
zB~JOhEOl-uUMae)ZIUz#NR8?ONN>aYyrf~_YqMc}mLpz|-@fh(l%8lRPT7NtZpp>*
z)K3wu)|THpw&;3!HZLH-1XF!s$^tFQ(Kwk|1=HpERm(FWM0CP3Nyq|8A~$=2S~k^q
z`;k@<wNkY~^%K+s>`0%CyYrc)I2`F<Q3P$^X^O?cj9cGkR1XD*N)1i=rw#xAkoHdD
zqQmi;-m-1mwr%cZ+qP}n*vq!Hmu=g&ZFJ2!?exskPCHL~m4A|}BsWRk@Ath)h@O89
z)9y)A`c7GG0bJ->vIHt8#>v_a9%i+^R;s2)cn!*<nnsuOrSC!6DrBTzrjlW?6|spr
zgAUSAptz6S!5@-$G(t7$JNY&-jh^8&vWC#Y6J`S#sG;vbO1vKnNli{{SK+C;)uUba
z#%*d8-v043h|pB=V7{<SlN1I80;&zUy?&aL%kE0ry^CmDn&fk&z9<pr|5eIuDXy>c
z*^f_`^*ekqpaoxk!H%Ut`*)yl|Jfl63_KJ@OkvbIoF=7K^Y=y0Nf)LvQ(a86EM%pt
zftBOwq(LVqPlG3jOW<^og(-?x_I2ALbaQs(BR>zEXigIzPH*QA++_}Yb=6NoYKkwn
zqmp;nSG&Q%Yer7sw5Uh^=fI_bHbEDg3C;6~nxw`nAkNz=vs<$>EB%7?2UR3l5PxPw
zbLXX(U}bo2nVcM1Nk>xr6c)Md#&UQ1F>j%?y1DbKz#cZcbw%9Ey4-;hTx$-1l^D7L
zGohk<<`%2B{bA^VD?dT`?m-B*Rshn>#O_*%xDC3Q^2_$pata2PMh`_v&OE-YH=J)(
z=z4h{a5wB&b)n7cpMJ6V^(QJO$B2e|B{So<EF^oOpa5jK{F6W5$M2`;$Ghs?&1Q-L
z*x!+@t6G~y({%$zH(l^_8C1pgExv7D3ol}}TNjqliHs0edeFTFdpg$INbcu8i<7-!
zglmVmS(-4C7K^tdm~Oe2_l9ONj;n?^Sxc-4uMDIblmqc{Oco!_A1yI9hfeHgpoll*
z`d*sW{4*;w+0w7;QiJ0<S8|;il6X7$ONwi<^W?(DGEEz~;G=CA9j;{K3rAHN_1ZMN
zxnCqJo9&&xyuHaBD=3gL-kKb!M>NzU1nSuD$^)|Z<WW~4pk@J*eYjM_4>&;vAcxb#
z`nY}8Cv1!oT_SMyDt~F|n`itwH6T{!T-??4Qv{bhOcSXzbrk5l)Ja$)cn4l0eJ!~B
zBQ&B}NYl`;+a;zg>U53r4b~`(Qf;Ys2Dd+u5QX-J??rp?jjV43MA`O@X%a{lPCOm_
zT^^v%o%CLST&%7nG}0kbu3K6|M3cPf%3Ja~`ubX*g-RPM7~Wr|=drz>OH~ne4G+vw
zw!~2TK*=(;kaSSmU~|PyinLEGw>2}J0Iy+Lb!fGycm@)m#!qVKki68<-yPA33%KF{
zUk2|Ck37UaqHJ69Rj>xax-<De4nnVYtYX>y3Fq_x=@dmk86(JwI$ZsaGuvkrCkm~~
zK{H&hD=Qv&z?1X1YZ+0laPhQ_4poh<lsMMSvn^S1ai(=hE$)rl$jHF(pI;m4+EiTX
zSL<k#-`8Zn?a`N-JCA>B$;Q3MyU9(+?d59$82oBpbuY--MDvW+KBY#P?<y#d@j*^r
ztsFVEw`%>JFo*}6lEJ<}>UEY4qpQ!Q4rH~*n_@X{w2eCQXdCdM+-ym;mtI0t(Rv7R
z?9B@0eGr?|79Yttf%^c1bV}VYq#1T!UT+=k!6K*XE$hy`CNkQP<WhSZgL;my4*l@d
z>FGCz{yuFF?YIt8sz1&UciGwC=A?azd?Q*F1RL7ev4|=5Z<thDIg<Yk#cDhgjhmXw
z5zSkx)KNzho6t${#;G;_d(`?5wJHUuL)f+R0y%2&sO@3{P{YFu`>&nsfLC5fO^lgy
zE{V0K!{S6%_Q+TAQZ)4k)Rg)Ls1JrCC-Z`g1xjEFNls=;YPUCYuy+9QSvY)%?*6yB
z?#M$XsrtO3vyluL)N`W<Y~8IEg>V|m!wkO)Q(Ru%9}^Ov;f&vC3*4W?gHD+{h-%0L
z__#xEe1R&;QsJcXjCbW8*Rdf!n|_xdOqn^ji6e`h<RfEd9Xy0#xa?#Da6q>@rjSF`
zGmSRnf&SB*t(b$=Sn63=;u69)ifMn&uX&y8=_@<a9F*)pcU<AtaA)A=lVW$vL(kes
zIrlnGab_lYT17I+ft|ay=d5nniDWuL^kX50sBF*(*!zmt;Go=6bS8Q%WJN5G2aP#H
zC;WsBuzR*pAlbisO*UQnx|Dl5w-%?DF~+8Q8Q<mxDvnS*`aS@DFc*7evF@6deD(#@
zmHRtX)|IjcG1%nZZY?gaj`^^tttvMB<fK@9#xM{cJWivKmxNe=nGevjc{E(ILHh?D
zgQ(>FL89Y#nRtl0RhLajwac%qt%}~6D10Y}nOf-CMoY{NGf-HLmGrY!!f8EbcDKrJ
zNkP#?PaFX%#7j&2$ekvcCJ`CCV*^{*my!6QxOk$p+h7iFNstdYK-237BUg~#k*pK7
zN2o+24Lrm0tY#&+U%j{t=V)3X!9NveI+zI`+GNpPSo}()nc7&PNgrac^zwr9rAB~l
zJTHynLQ%A5v=0C@b@)P3#QTEu?)BC={Dm{M(9)pUa<_LEB)um-icKDOPGkHHu%^**
zzc1h$3g7AZbaT8bl;W~6{?y!brp+yUNrs`>MzzUV7!*|otXreGNgt;{c-!z=wqZ(P
zC^&)gZ-g#HFKpy#?TcFNIFNRz3z6D=B-B*+9E4O{4cD<zr*cc6GFlM6>3;TYe6Aqj
zK)e;$_tluEOR~we2*)EhIV~66Kkd2TNosBjp~m!54B?&RbmNsZY@f*CJMQKl`m#7;
z#XAn~w47uECKC_s4B%{?8N4YTvdq*mDvWlO*0Ow1*v<m~oVSh-79Qm4(5CYzR$yDj
z%GlhJbUT>{8g*}x#UaDoMztVCseH|6Qu`ad^bQqBd2`*4u)eBW7tH+ESdJYw(+(>`
z8=5zMv3#MPXf{P@Nu6HZ-z3^gT#V|_@)<)hfX-+-q3a5H6g5bZItw;>veU<pquWQP
z8pdR94E}w335Ri?v_nM{`!x5l*4mU4&^>i7!U&R_8=bk6Yn$Aoz<!q)O-@<8E$y);
zCQ75rhqUA_<MH)s>lrBMEjuRJZgr}1$A@ehl{f$emna47%oBv0&6DKdVX^(LWbRya
zoB&4H3>C9y%h8^R=*wDs8pMLQYe{~lwC7x?Fru=V6X~5r-6jLB5yk!%&8kSfzd9Jo
zPp=!!k#iPZ2;OFe0xtZs%k<V!G;23Sp|fDWn!wfCx#(zK<LMgN$T&ooi-XZHhEE6}
zTxUjo=wK-90U+;}dg5-JU3ZY48H#05o18S=+GRbXLq>B7p+&#V)ULEg0Ze4GKx3H#
z8Uy$QeNuiWOwAmCwc9CgIOl`Z#!GIcv`yPG&dZjQR%ErIjJSRn->+xZ;yLy_%el!i
z(^2pgc_iTu3Vt9hZg+Fy7X=wvPhP>s_iWx_nP4O}9X=D72o6-~3WdRI=dsnNNZLSk
zJh}T$s+L7cduiG^QN=U3{1*MCxUQ9Nh&;e*PbluwH|v;`TdNiw8C~8fq=>xuX5r=F
z+JmraX5cPQ7YK^F+9|t_#(Sv8T?_0Qi8?;y;P7PRz4brPQa(Qix+_<vvGPv;a*axC
z+QYx<0{*>@Dy_Ille|uQG|c<zA=iB9=9>20Ad+qE_Gg<Z@Cz<CPjOmm&WQrvDcpnr
zq5sp*35-Aj!i3{I{t7w{jFiVrdRQwZ{=-eS(pP$sLo2Jk?9D~T<6tD+dbxbDC9KU~
z{2F<m<h(2uI2O%)n}o{eh^q3)l+dH^A#HkKFPEra@+S+;`@^8@74~mcvgM^(#0X8T
zmE9p2kLHcIyO+vT=r(fdH7199Vj@?TSzCD&NPq4qVq!yT5<(AoXQjC3!*HrLBQu`E
z$c*i2<@wdZ*l%7t&vagK!UES3LXMZ$u@}<XZUmfrZQ$01ArZ%}VH{|@k=1SYvOY!?
zFMA6K{|iMnpXp$5Vj|TEow(4X+R@zgC*ZQwt_ceA*#dG>MZrkKg6JO4QEy-4nSHSF
zh7vm#c|}sRgP9j3$Gzh3vZa2Hoih?%3`I2=s!VG{dMPaju{X~GC#naRIl_g>$%0sT
zQC!BU&5cpo1Ap??!3Rzgs#^K{Sf{&Q`TqM9gwjKuzrajdag06AY4FB~leI@7A6Byy
zuP4)zZQHBz&wclplwy|Tdd<P-{KT583er5huUhR^<c8;t7`@B}Puwu23MCWB4dY}^
zb?;gGNSm4Q3<D#-+DBDUErd?-HN16gfs|=NM|7bULg$qG=W`0U;Mn%Gfh53Oz1ike
zfJMfLM9;CHB6mgHR#Hv6MOF!Z6d=tP7%4a82%ro3q9cv=%omLlR9cz{=SoKnCVm5D
zyuWn5TpiuonCQrA_ASwHF+WoWFVmgZ5b9&6-$32qR)YVAwhhM@AE;;=`j}2Pgpld=
zZFTEcL#N!Ds6Eg#n}jyem3AzK_n{F>j0&&-HN176Sk=U^basVZ>4F$;S~?wePKFs0
zBZdP0y3}#J3Ed*Phr#~un?(<2W7?UY9vgWr6C#_BrHaotuT_wKVG`Gcn1z5&PWzw0
z<^a|v7*5J^Pg9WzRtdhf+Q%U|C_vqf7{|@w+E}%{$)^0Ye_-2a;=dh{rsg|d1B@ob
z?sFE=&8nni5l1&QXe;;Ca<(a#r+eePCj3<hHd|~pW8bwUe>uh`<P@ItG9Cq_tI%0N
zHA?H1oFo0i&c146C4|90yc=u8-98ln+pGF55Gg@<^dD-ms;WRz>uY7U-y_RjCi$iT
zVyml<mS$8I3Pc!ijVHP43}CO9Ipzw|5Xj@8k@&H?RrU7A6V63%&*sW;YEFb6VMX7B
zFqt_%u-#xFiwQ~N23*l=?cSpTW=e`}>9G=p*X2;iYfAsYO$V}czn-9kv6;<L&mwet
zI~I;6q=N=>3*X|ikC8xD&T1v3Ce4maFj?ZtrfGpVQTDN|e)_E%Svg++tMc&Me1hr<
zozB>!*-~jXW-~6j8zM@}Ii@Ojv#2udMq)#ogS|f{Etre#W1iN=`?D_h-nTljPjwv2
z3diGRST;t9#I4cJ_{<>y`YH@$80y)ORI^?HKHAG`4!XXzlESk}OSIC)>Y7P$$XJw=
zHG)+rdG#ISTb$F0%a*uV$a_Klj~s%;F&5^raapZbe9AXF$GZ-Mb>Ebu?T6qXOb0%g
z`FaWWavzx-8oR3@hDZsxrBg@ttXr!6o)E@>3BI1Q8r%RZwst!XK^yKOK4on2+uQY@
zaK+C4ZT^f!k_>ZZJ~0m_zy?9_9FDd;gSh!TKOHg9tj*-Xu^h)Uoe0HyoY&v})nPeT
z3=&%rj!KoHOx#Bf#`Z;H7!aFH{Eo+!o+Jg&&sZlF4?@wA)cy8AdZ4Cyg=`t{lonoT
zXDgDxXdXz-G^Kq&(u;V8L0o<rnO?+ZC5L8hHY-A_35V^3h0R+&Ffweq)N0?+OTW!Z
zCx>)mT!RADhduq`yCv<v>AVf_?(?jZiz;zeyDi9*N5>+wVsmxEcO}5fB&Yw{g8}7+
zjE~0|M?bKzyv%Cy8!LS;uX1X87kal^k_wV1mNY9cU=7Y35=c(h%hBzw!lq)>*Eg?E
zwsPTcU^>IuH*^d!UJ9+F-HARA7!|Fg3Sy6dPEO;}RU#>ygX`blFn}noDaCm?!}nzC
zjSSpH9e3umwH$~J$B7Luh+$86k$a3(6A^Gs;&x+d1L-1Ez2NFaTfO1eBb+P2BIpia
z?PQ2p<hDMp$#JOJS%^D<Bj7N`qH3N%gUb1ldd)dw>^hu#j5!_a{hQ)C!v^*RPU8NM
z6!hBS<&!woXjIeO6$w?simy<@d=($B9crNL+333WWw2I6EUr^6ogav8YD2Xn)fZ@w
z-|*d;F1!~^W05zC7;~2lsk;EhOM0m0qOks}YFco#=M_e7W8KAEdK+KX0;9pgJuGHf
z1S=`$WEGz|U_+ugryILE2u3r_NskvrpOT2%qb4<WO)Oi(t(;OWEtSX$o!1}0KV&zx
zWGFGDwgj$1mZ#k0-CIk5_|A?F<Bx$`>E78&ANj+!a=ZOf>a+W#nG+apA;J(>U-@t-
z+@PGm^(RI6DHU97t(>ldtO@6YTzlg}IxjKo&5PQs{ZVYh%BdK1rmLteNMezFRcn0@
zd5+7i5M(pb_UOGG9ZxZMPdzd5_urZ}^+0(qz>#Lvh~44W(>8|B;m)B3t7&7`;-M|X
z30>v<15S1d5z=9$l^S?beFblw)d;fZa&74_F|fMXqMU0f4#P214=703-)(b5rY))(
zn?{Lj3Jl3k`S1u0&r0$Xt(T$3WiAUPsZx>o%B)u|D!+bV!bC07r_wiO?1ov&3@t2I
z$MF$_iGd>35cpzMoV{q$pt#euron>@r&2dRTX-z4(!(|gO4A7&dnOU}6<V7GOfZ>I
zuI-4ev0bhpE^4~stp_jb(xMvzr7m4--i$%+A)$4xUFOC;Hu0jdM8%2UN+D`}<uK0G
zAj(Q+BFs<!x%;I2+jTinLcA@AFy7@EzShM-2xW!xRJ}Jz=;0C?XO{t$Q_K~wmh^1%
zawMpr^s%_6mO~NpgE!FtO)LKLl0)~~0%CWO^-nXD@v>A0$0R<ADICpA=GG>DQAA~?
z`!(HdNr^b0Oh=x~enstZ^hYQY^NIsXvE5$Z5zagD5IfXE+wZ?C5#R!FzFOZmJGR6f
z^AI)`ap1y6_bol_Bm<!ASpY@1{t<Er1Di|Y*0)Zr^vM&Rtm!Kcb4}g6-JaW<?Z9Rv
zbgiG42adTr>1co4q*b?X?&8Z3v8b?mh`m1@FE?7(W-~4q(hxrl#5CG?f>@xkif|n$
z;XlZ#+8wVZRiV^%&*{)RW|RWF;04QL$F6F|q;Fd&g;Y{R_QBjbZA|3K4>FO5xv>{M
zz>HTLLiB8lt(AQ7##pV2Mha3PjHMiu*fOkAZP^5L7iv#5RfjaHl9P5EeAAW?jAKm*
z`gz*QX@pGxF>|?#1ijZ@%kRS@vdOudX`&PnTLr5dzlaSmE3R#TCah`gQ~ce38_w%~
zGy_}JkEeJWdmZc9DHMm($<=7Tz}IZ|xCP+OkHtkyK5+A8fKVgIm`G`>tnn$Vhg|nR
z0jF??sF8C}*WsjtG%a4wqCXqde}8I>G)j7Sr<IfMXMc=@_8ZSfdO9F^JH!EzX@qo#
zR4cSuwrmn(<Zqk&HHMI#v4r7}qN&ETVy8W~Ha2I`8Yy6i^cck(z^hTZCf=X$*s%}(
zQt;x?>Us+Vl{;%!k~B_HO#O)2cP}rFCqwO0TwYeB8ESqpy04W_yf<!_CyJs;EN=Be
zL$CUWZX~{=B3D4GSWefviL-+0%FldI=x(fxWS$IRj7cq0xbYbo>1Kk8#M?6y87uCf
z>68{h1kt0*6<feo>7EK)X*?0digX_TX7ePDwbJfyfNoG<ifCP}x*XE|R7-Q~O;#(b
z@bpfeg(sie@0+^{QpF6LtzWpnuyg))Qi2!DPCghF&4RC6q_bzx5$gA&YW&$`PHK<w
z<>q*|maXZtsE$>l<4uIyRSl!ML+LKpyLA;Rqtrd6%D->o)t2s>iT%cNPG?{a>O+0o
ztl+zOsy01CxQBY>Je#=^F0g-&!D^f$;v~AUWiNB|nzMPEbS3${eUwL)^~OADr?t3s
zHOs8D(lq9)Q*1H``2|h2fSd68Ou1fyY^p*>8yz*#!HAFA5(gI2v2-Jn9R=q01p|UD
zOm6XsSHpjZJj3kEN-pkkajcPZm024!nbuW;ZX^HpWF=WYeBLZ&trOYT8BcgKD$MFZ
zLpsojbFw&C=4Ip=_5&<9Gtl{e15^KZx7vRY#s4>$Dk&zfs44dgQx*RwES34cv(#Tj
z@&6B&`rE1UpB*m$4<yyZ!NtIu-rm5`#Maux)cHSGjuvL-&i?~K{SWi;e=T+Sua46H
zgr>ixF0AbT1);JtF#UGS{O7s<icmQieuY~9s|eK@R2lj5gN;%`LUIKGLAkvHRIptM
zbHl%HRUaF7ex8zcONS`jIoz2toB}oxX`b-s?Bc`g=jP^P`mMXssfBk%XU1h`<;%X|
z4C|IE5RnZ*1q5e`dX${tm!C2*B!NIcKs-P~Kp;9eVhPPLjN+$<FJJ_U2qM~-{~YB-
z2LsGu$bg0qzgiIP0>G+a{C9v#N&tX>gb@F^ff$esR0gn>r|*x3F8~Y}mKV;Ef;gQc
zQI^e%rF4AL17JJL>z`Lt#4&SY?_Yon0tpJZ2S7`(j<+9N4gu5;00x1868QY724#!s
z#j>sunY**Kl?{Iyye~{}b$ERTu$gb}<<AH5d)0!y{(8ZH>jLDXdXul=9Dt$E@{4+H
zfc<D!a3Vqg7yw|Pg1Zzl!PGb~f<O#IfMDmD0JvrlpY&!^Jvi<FexASxhsd9D?fi2+
zNP>GkK>-8^{bQIAFTwp+04?$uAbEuqV`0w%4*>r5xAfu!Fd@Bzz+3+E7_(ppw;#s>
z{uKpy0O5qMVR%r%!CZw3-V_v<=%U|x77RMR5a86rSy=@3ERm-xU&?tB5D*Kla^F2<
z7ZBoY16@Bj*7^2zSM*5wYG%H~9E(G!1vU30pumV<L2H7u01AMTjEo9^0E3_acK~Y-
zKT>w5XE1LzD4(E47_Xk(#94qX7)S_uWwam<!iO<H?ScU2Mbv{UAAZ>1K14_;ApZFT
zEWKcc;33GrJ{VwO>mM$o(70ev02&a6^<OOb`Tlv5iz=q84}x?27WZ-Uc5lU_s<f!!
zbBliP--Iv-cmQ^~gpvTYMP(oY^70}u1ax$8w_k3VKP<a;_dN<a1dlUEAm3wUaIK;M
zBtQH97TY^Ko8O~>A2Z{dz@Hs~Y(Rx35dI(dXIfC<Q2q>hfj>LYx7>$6B_Dbk-+J>u
zH_+wn{rWvqn>|-QVVI{NAs*ijy%KAvF&facAf}wVKUbDOZ&oSI1o~x_3w~Nla{`l|
z6#Z8WNGGT$d&mfH&|wA2`FIF*bSSV5KhhF@aX?DIU?IZJh!m&4P8eiTf?GYd$>jhX
z##$(-TQgOJNyV>@Yhexu!0%=sp#nny0wl;s5~SX683|>SUD|LBC5FL+)^5O0Z+j3d
zWT0OAN6=NGc#)oADk6y85fQ@8KDN4^;}FK576|B{`cG^$6wuoZeNU)2@czvhe4wDu
z^?5%A2bg0((R@Y%6z26F2T4Q#ei(xntIZy~@E!vhFmj4b)F(NfVR*Ruk1w=BeSzdJ
zel$ja9%`I->2SaM?@B@fH4-GHhgMt0t@n@551YW>E*FA=3`!6QuGM_HwxcGogt=@t
zm)GG>LoN3#4ZC!T_iN|a)-E!^_VwVXMAo)MTL#e=C5zM7WcY)xn^I!D)NFd-<3xOu
z!g{=CI_j&t<LBJ3)25(0e?%D9!hOoU36zdI&q?EDG<P)Z2r{KK!hN0oor-0snsxb|
zNzzt;KmG+qjxEMw&P|4@8)$!uFtJC7JbNb-c|wsa63#8lY*{=*kRf9@6)YnP_#d=e
z!X>d^-=DrF+`1_H!9C(SDu<|q%TMjREb2^P$sXsFMtT;_MGUr7ka$(;WFtF-^-fVd
z-QZR<y{`?KZnidF`3zRTxNVLA3~_t%S8AT>!eJQs^n!)paM`VhZC8wW)7GOJj9cS#
zfX~GWt2tD*&o6wBLI9=xC=W^3qyi<Wcu&3w#4}A@A9-^=&2fL^bbP({#GzZ<kw?~~
zpB_GY7o^<E(K-r;8byU{61v)hm$M2Y&&+rg<I=H-2U(-GcgaYYrCGSVslM;N0$V?x
z(-^px(rJrRhTX5frj)_x?IbUXm`G^~xY?WTJgh(@Eeyr0qmRMG$n?Da@a6Z`#9p2k
z=jG&DEaK=WFi>Ih)Obx)Fc(Sq-s*^~QnHSn^sTh|upwmy!e!*p81l`ehhhiSSy{qS
zEgnl#UXK+f?wd0YLc#USxI){u19`yWC1j<jOv1O^Jf87*Ep1qG`<=Ewky%i%L+B!>
z$W)zaqwm)PEX*1znAh6g|6zG~Hw{ejYgNu1-IC^)z94xgeumFW&PDezmTG0yGz4p<
z8l>a;yth`FYHa=Thm0!eqSYrQ|9Rq6=H7TKUm2UrCV9T}1a670U)(~vK&tAnNa(zW
zxdvWz1;+b`dWg&Lb$@LGgSlijA)T{{sb&`YlSVRg)420z0M}0jear_m8K0u7!n)Yo
z%11g!bSR<G;K9}<OL#GDgYnBTHq54-kA<6c0eOa&k2UMkIhsknz2ErRswpnq$S%#N
zyow2Wh`GuItVeSn^>^-;qy;286#cx)K%<VQ;nAmnt-g5oVrtAzR>Gr@2zc1IIk69M
ze7KTVcq2rY)$uvM`6;2Q`A|?$igxiK1rkNoW>k>;Po-p5;z&2XqkXpJ+s+wm=rP<F
z3uWyF2K`IA-u(;}n;Z$BvKODg`Fnh+uu)!@pg)=9A7r3}j;<Fd9B1l;sPM2&lNlB7
z=d+CT%5W#c{#UNlYmPp_m!t%u%At;hUX1P~?WbtkZ1p4dUQ8~;n0}G1b)IE%)Ts`J
zR)u=_quL`@^FWj+4L^!xF*YpidP_(;<K)0k6g9z!q*BkdfBFKjrDBV^P^2m5hFe7(
z$V`XW9}?5sSzkrU$X3WY5e(+ubS=YeuW03>s6#9x+?CY}XY}koH;~w?>l|K|Ix{qX
zJL5V@d>Q+)Ysri|=at>?|FoGYi{+vwl`*d3imp6oR2UvYQGc;1hZH*-4rt$0aNmxR
zeN^S_{R>aT^zn5OFfLIbZW_d@RcMNhK{{cT6ADXR;eNR@F35n|_)Ge|m7CMdX7#3=
zM{LMnO?Ol|@vXjhXTWF#`!KQ;C$|NeZ`Dv_vfH9+xvyPkw|F$SX*xnnhGv+XlUHGw
z^fY-sk=)Rwi?X|yFJ%*j)NHv<{yZU8w%i{%Ii^GP?!MQgYe1T~biH`yuVo*a3z~fF
zpf2T;Big`Uc^qqNF5XJF>h8h|X4UvLIm?vjYx}wsd1lSSJ(iF&A`{*i0O#)H2n*u3
z9lg7{g=5;4fZoE@c;2A;Hx*gK{juNi<`7m(3DCb!Z&|ChKIOQ%0jNr#bBjcgsA`tu
z+BbO`Zk*D}!Jv3NitQugWDI(zA5zFdj#VNoxUeEO3;UCR>!oW$t=`=X{S3?rfAIk?
zwsdl=S#p1iM$J`@wB^(nMr-P$T^Mryh40jkrN@ZjVM8EMyfTT75fA0PBV$SjEd1Il
zRx1@}lK$1&jZiU|7MDv^9Y!=r5AXi2@(}(sEt&|um3KpPM;v~Ca%Kk;3o@OX+>&7)
zr;^d=)Mj20(rkjZX;cN*-m&LtQQZ0u4@H@jt=B1m{K3Y%S5G9a(gFdoAt~wdF1x5r
zI~ltie$O%mqa-w<&!BG^orT(l8~K1n!J$%e+DZj~%Deg49{ds+cGqaR`3ENP)Hk}5
zU|M-;aYZ6RuH9p<3v-6a?)2<_*jE>2uc%<6RYkJvpnma@@S|C=H4_nO$TV9ED_!E`
zaagjRWJTo={NIK9oxdKI{taA_159_o53DWMWBo9S6E@S4D6mLi<w`er{<qF1Q#E*k
zG1NA48{*|?Y{tO2Sudor9l9j4n>VT8`>R5el-2enAs>8Y;?h(s@fSHvu4LzF7OO5i
z4uihYTxG=VjV7nye>o-O_`Sc6He&-Sb%%)wf&zuXx#`Qg6b>F*X(GIK#TO>~KQRYQ
z3b5wKbQa;qG8A6Q|2F3o$c%;VQ1~wF`VdJCTu3V`*fQah1h=4N1UeUAw{H-j&7>@h
zQi;8)kb@@(zWF|gJ9H@-yatAmj9<2@T@Q-6zrg3ev@Bg&L&PIWwmM3QQ)kiX3ch32
z<My|`^Ncoz6PM4}A4-YQ+^9HCZcG?%leP6$7L%HgG*Dep5n(28>Rcq;H07i+xQiU*
z#~!3sjvBW-wM)I3Hq-Mf1ElQmS8Lpm2rU;+Hz<;U)}NY78mSc{u&ojffACSwyMKdd
z5aBKC-v~9ji@zZEDt(_wh&LK@YUllxP%fx3@!ZpY9i{vk`q1>DA}&-rjcA1E@GUn5
z<}LZiFN$lzB^`|56dhgI;g+Z#g+#$f%r4Ht!;z1EEnye`q#)pZqJKDq6GcYXjBbVT
zx=-C(?+{05kKOO+$ufC)A4Lwuqijj$-s7Rdzsh5pmSofncif~=nDUox2EUwfMCY|}
zOgNiIe|}Q5kdOB~e=j)J`g8<&zznl`*fXx);p42-1G{0J=xTqNX%Q9=&2<l-<9xnG
z&fp%XN?w8dN>uELi})Ai?2*YpmPOD0np9Jjw`bQlkCfleZ{?J&AG#(GP#*|n9lkZe
zAvT2y;S=1oK{`G$N=+_#^QIpJK1(>P_q+(GW7zpwK}>FAt05AE5HZ8)ue6j2g$Joq
zs-Q-sSW{zB)ms44dV}F>);ajF`*SW=^5jvgcjQmnpCNbHWClUr5o|oUI9je$xW%^R
z{wA)~%k1w6K4y9*>%FdOR$o{b7dozGLP!E0=L319{}m;-fI*8>i)?(3nX03@oWl>N
zqifboT55WT!2e*{JVgV<-_C4yPH;k<iO8(;5R@g2sGQsBg_pze7cNMHoeiaqA6kIG
zBRGyN7#7&$38PAnwrfixnl6`{mCc=RuT~Htz8XV%{H$}}kC?<Fr_=Ky3->MI07eHl
z?^bF!OJs(xu_7qDDlJPLzxNvR-j@JFHL6hhElkYUk&ET%JM$cA$)siqw@>{GbU1%@
zM%~}0ak2_{rcOIq^E?;bQ3t%gP4wfDey?3^o-vW(@gg}GkY}Igfync7fMzn+G5XEh
zT`4-rS2?)~*K7z4!sOGlU2Y<BGY>~j<)ZDr-M0$sLMXZb*sH}C#d|~ZQb{$k6$cd?
zT@$-JhSrb%{i9<4e#Vgx4weCx$huJpsx#M3LuBBPKH^u&<?3lq%a5dL2}P<cT|M22
zZ6CEVG>f_UE~Emog|S^y9>9i#JA7lcpW2l~=2SygC>-$tkIf};&!_!z)JznEv#tI>
zm#~$ZO0(L|-gOwXD9DMjPH4Kju4#(C7bViDXjW#7@tw!MC1l=Yf{(dF6*}cZxwMOA
z26MsXI537CoJ>ht8$uOaj~CwIwOderLad{y+&8!+ib|tkh^3j0d-AnX@E^!WHF3~w
z26eM;h;^Cw(D!UC9~u?p>o-g$GbgF(ri<606?TfN3dAI>8V!yY4KLH5h|x3(?%6#2
zvWpAfDZAFkwufmBoYB}1);C_bN2?rARCO!xk2leVM(B>S>{T#BowH~a*^wRo_9_fn
zyt_*x7EkIh(>+96vB@)*L0FM|f)G)izHgE|)W7Ydls$N91x-$Pw15#${<rGunZ7_j
zK5vpSZfhNOLFs;hv5K~OuI!wOG!QriJcq;Rn;#+8MH^KX$bM4Fvi~}eG>h)gypaFe
z5$h_eAx-XiDvBSX%<0+p9+cRNnP~L$=vVIyoNaGYy-Jn!a2v>P7>TocA%sZ@U=)u}
zDne9DF<FhT(lkv;?%IAdeug*oV?i2M0&yD`q6%Cfx_En)NUQx_fV$!5B%w%J;Ifrj
z&IEmLIHF69i;3x5z7VI=MIUXOkBHpzf)Q7QeU#Xd;QFxVtNN}#gI>aDEF80;PRV6P
zF^W^2i8J)Ow?f!f|0^>l4ib`Igh;a0$y>y<UAbg?z!9LOF+JVp1A2f+TVuG-3j6%&
zc_#_%Mfh;vwgpw!UeQGF-lR#2ym3Y6Fm4c%+}gVgW@_wYQc}UB7T5JE1=?%$@NaF}
zv}BAtI_t7u-0VSSscj{899vzagaL7$VH&u+GPZ>;U!^0&q^TivTBK#D`SKKbHmMKb
zXUGXC4Ze|x3(ke55E|myOn0Pr#dJ8tj$-cmLbUbIo}7i9_cDmc@!qoqfD>oa!9n#^
z3M6Pl*8M;A3Mk3hu_0e@sqh8e$HE1{^#&A4Y2~E!GeShFS|)1zzqcJQFJfYbLTx*t
zQ-AO6<H|@ci==abq@XCDO_-`?7+9~al-?ejqK6sBVC`-}4<6fR_df#Zr~jd63vU|U
z*ZSHXNM@>r#m?8;(#HoE5T!zs$Q-j656_8;TUk-dYg?Ei|J<!UGM&}ytZ;Deia7T#
zXm`uSG7@uyx`NW9cmdUgl%xDHD|AaV>sv^ZW5zj215d`1IOtCck2SrUK}o-K7<hy!
z!XK^gJRu@4^JJ&77oJeLTx()SwtpwXQ~H?-6jG~5puX%l65o*PEXFC?m$`4$TXU0?
zw5yiWt)cZRll$9BNtP!jznn9~pp5C?qMIi^=m&*=Jx;$tJT~m$XBhCP@ltbFZq8Qj
z)^#CAjCN*zjrS46QW68I(rk%&r-o0ex6H>;^f&}<kuZYjN1B^TJh0pO7?HXc!r^6a
zPyEEX?s1o1+2AW`o$uUEY^I(NG3xQ|GUpJK&UF!&Ht1u?xR}J{)+t)uc}O39zi(Yt
zTWia=|6A{g#ca<#>9X*`L_*B=AzJ=t>SdH8@((5JUJCeoqXa3kur;;X$i$t!R=y4u
z7B?KQq8;?d3<~}Z$8YumTuS#)xR4J$Id=k=n#>m3{F1OIoD?^(Yiq~SnF>}EeY6>@
z?y53_C6RSTI;Hwwrky=5l381@>oI|yP8V(=i($^;>p5p?r7A%QL3sm?TcO}&NaqhO
zY4=EcrB~&IH2ZAJg0dt=>%LpySj<ABn&bIl?bHs*;SM^#Gz{3eCJ9p3PbZ`W>^T%`
zB-^e1PBw6n!ooDBk221Q%jT(RiWVOq1(C|i0j;hdrvsSK6(zY;P2WA}fiA5BnXV&w
zGl+Ssyd^(lj;(^PQ5*gJwJ!W8NPDXhzSvWCog5t9*-bfKPjRsCAJPb7Q|kife^-`R
z!?)`$Gfu1$A|euV>1{gG@`3xqvUg+|BTD}?g!Gt0iR%}aY0-scPbmz+QXGf*A$e16
zIRupVH{)=~r@ET&+a$p_oNQILdRWg*>co@?QRXyWAqdS@Vs;_qE1X77d<ZJ+4~%dI
z^Mn@L)vw!lQbw<n=m&inL^sk+a-_?srLy!CS(VKoxtXJrUPhWu&ZO<o4*oK~#ZeJj
z-8rA)b<h{0w;O1UYZTLZG=;fYM9&5hc7Y_t1U|Ku(<<A*D7vq?A_EiOd#gF`j8x;G
zT|=&o*;%s@yOo~2_mh5x8{U|*xk5U|`9%+SNpC)2w8iuY@*Jk-(S6KTQucj{sNPTa
zrEXjy_mGph)L`!s^O|k|4sIyOAO9H!fh-hYtYBQOpNe(+$N09y{s)v(<)Yiu1@FFV
zHeZR5x3uTW)b4X>prPiU;5@FV@4)#Jg&Vd!Z!9!w0|*(d$Jhhx2!yku2sUv7v3K$F
z<TF(}jneuAXG>NNbBgy{^^mM$$%_0nytJ^&(=NLpPISzTE+>+AWkkEjV-*DmPS)dN
zx>iyG8cP(v3$FHYi?433K_G>9kZ6>dUlJ*fL}`T8`KA%$$6fTJ{7q3T73>KGvG`7D
zC*6$Qt~lZbrA)bSZ6Jh{G%aIKlIxv<l1VpZHzpAThfiH)))w1!p_jn%<QjFJoZ9-&
zI~7m3iWigCEFJ*YyKmfCh{Oaa?^jurp(btLmc+iymfd7#^?mJ&Tn7G5fTNC<x*r0}
z8k}?tgr{Lb-OB631N8bUC?<EC?o<H#>>`k)X7|8T;btTL5iWmb`nGDRl+7)y1F|Ik
z9_I^a!R>4srMA&)g}o))wN3L>j8i*zp6HBt|L$X>YlBHjW;scNtf`~XOfnuH4Zo>4
z8SZ=3qHf>rA^EwlUD(}`^*^Zol&2$J`8cC8giHo_Y-_k!yZSAZ@1s`;L`w(e@&mig
z)`DB9T)qla2yp~QxUexN=v&{;Y@&+jkt;%e%1*U^wh_)}^o4VXORG@~>mtwr?);lR
z6XK?oA%3*jxfi~DxY@M})RSfNjl_@D;Z5pv;ocJp1mz`S8T-abhx=V3;=L=7cfG-L
zX!cKAhPu*c_aT<Is(Ur%&ac3tjRkdQY(j3#kGFKzTR2n!Hk6LSaXsp)RX#&^4_o^O
zGs=%o)B<ITZ3(*i$8P&$G<PLD!(~!gLk7F5q{5@mryvC=@w&Cr)jRXJoB`qXQQ;LV
zO_x;G=1wdTki&eM)*G(RJ4_WUlNry{q`2EJ@G-0F2_?5aI0;RCG`Cmfz>!d@`s8RI
zbzxAYuMg#ays&gUJx7uN1B4zhua;q+o(sbo9>4hajgcQC!fUE#OF_u3>vHTUr^kI)
z)KsEps5sw0kiC1!O*6z?Ls+`ewVl~<$C50Ndnb{@OsqQp)o^=-ZFeaK%d-i^;^uyR
zOW$k#g(L=ve{I7`OUg!D7J^$Joe|WG4TyQmwTNk3c9g!q(Q7!U0WnrMrj+*+oDiuN
z!|ef35u@bn`q)zsBl_v|vugQS_}iP+{7!ntml@?=j@YuDwz?U+&{iRJ2vxKkdqM_(
zY$lp@EAq#5EB{7JWS856hzJc8JNME{PwPoOZVcyo-(%6{jdFK#X=H%?<x{CP`!$^k
ztax2|upGq2wilC{I)@=T8f_mpdH>BAs5=+o=*GBZ7_s%XSgK}E01*ZHZ`#A1FiZ4c
zoma%usg=(4>aiX3h3R8pV=#xJf20I(D5zmcN?;d#@*Kb%ge%o*KLY#SIntS@xJo9y
zjg<6=d#<nyl5eIMsDa*GoU+GVrp6CiXdX=%%x$LfJFrN=u%~;qw+^*hmSgqAXjcHN
z(Kej_DzH5%bAWhV=u$R*iNX8Fx4|T|c-f6z(DL;0HbD-4v~u&2_0yxZEbfQj3qZ~4
zwP&(YQby3Hao(5rukw%`p$j>7#K^(Q`rlUlCLs{s+gbfa2DY0q%TG77NvF66#E>l9
z+v2lhV}_Tv9Bod$Zo)1$wa%?_|Ion$2A}MvS`=8H+BfD*fW{>sxV7)ZzmoM{ACss&
z>`iub$)Sp=a(?Ia@OKRQ1-Y$~cLEuUb6&>Swh!mbzS9OFt@T;E)DN%@6;q&^%j(pp
z5+c3wj=1+=$JRyZMiz+2aTFy{=uXRVObcNgzrlVu4u!%OCR~}ob~=vc^@+*k#F9fh
zY?y3Jjn)f;kfhzK*g+CoS;vaqoE?_iKQ7bICRbK+7`)eOUky!5ZLave&eSJ;o~M&A
zaB0`WfcQmRs@k)M$a06cYWMLsB1ZkW;Xq+{^<{JLe@xEhPxhJKok_d6EAcV+xi;JO
z)fV{Xqz35+|D@p!wz97^XPJ&6o2n<Vly`#&ZnEM_#i6OSAooj)%tVJ`X0mT4)s{n=
zdYx4;^AF=bEKp9zD+fV&j#SFT&4Z`M&{=To3$LD6nYzJa>)L?##YzR}ycRe#99G1$
zy0B^NAS(p1&!UWAUcK<I8I2B6pcmeKTI@xSN4Jt$U3xe%tA|VRRQO-R&)VNGGb^Je
ztcVkWzQi)z8e+Cmeu>&S-CNi{c~cmTJcPtX$dpfd6;|mXdL&EHs@1Fwd?4m!GL4bI
zS`Q>=rmgM{WG9$yJv-~rubR5J@-LTOM<-PV!$r8-zKBT8O@b~wk~Y+j(ZGm3!Cu9o
z7rFGTfp+4;Ch*OYh06l%w@Sy1Q?TQ-&53$-5)<rRDD*fXo|M8Og=^PEDQWGxe}A!T
z^S8-{s`b4>)rnIM2M%aQn{ir?cuZ?Nb~+vSEN__@XXh+aaLV>fJ|&@z#2v4Y>@{)Y
zR5o2l<1E#fJ^^v`&w!*g5|ONQa#b+HjX2s`yiUU?zPIUs*LWWD&>ulA$n+>1NC{My
zO=SnK4XoNKfW*2`DS&%^w9Pc(MS)7f)C(7icS<d%DbnzF*AYTNlvjzDP6$z2j>=C=
zplw<naB3@=`#aX{oG^Yc@FWQc4aYT#5aqXJQ!?o)im$;fCUIsBHXTiv<U^r}{j08g
zl%D)T+PIP{Cml3|2N~^IJH<Y>4#~HS;(9vz{c^Le89$_Wmuy&fGuYn?9a2$keujMi
zm;K?gbAQ~ftO{$0gs~qNWfzEU^T8LqP4h!7oU5xcScp}Ggl1ADxO5?!gK6u~`WU%!
zuH|VVQM2dtWW|hFK*vCjxW+5G2Tt;AO0HN0svmV1k(qk8Is7$+T9_{C^p)JkVw1_9
zgE<#}vUt%r^<I8F<mnQkI9LC|-$oV2`YZ`QRp7#XqrE$s1;Va)r^f61)9V+&7&uh9
z@%NP6Nj`U)f|0UFog^NPp8~k_;)n#<NN2SlHpjf9rAVK@#xwG}tFQllput_?+?8Ck
zr7H+GiPS;ihBnEp+;l1scKN_PkkCv@PAz;Qx~Dt)2#zlEyatlYcoavkHttI~fg&3X
zeK?oGO<dSzPH9@jH0QZv#T%Ex;A3iGpTYU13!AW2RUh9R4gRDPl=a5WscR+AFs%7e
zbdYR+_=n_~vx*ChTlZX@N6KujaHgV6*R^gR^YDj8OU81jof4M^mpaMg;JjKA@q6UM
zb|e(;U=y|$^XRW}o1roe_&VYz;ymJa*>$@|={iy+h>$&YHBIlup%FQyQg_fC^+#(k
z{5l*rCR@d;<m6*Yn*D*{yw{P#MDFgf5|3L!)(M)FQ?1CFQo65<0#oTy0za{X=Ab8T
zvm`&~kbRHo*={T&`q2>=A$OnDQ&+Uyg>(hI_5tn>_zzmU&Hpv*@avcPU!NS8k`@<~
z6Z;K2C~5pp(hmP^a-5TugMg8d<u~oX&i;QoYks2-|KFT7EWg2n|H<UIfup0Ho3Www
ze?%PU|6}hzmxeCZ)+WyMCe|i4Cbqv@cMB)y--X3*I>Oq{%)-dP+Q8PB-p0b##fje5
z#LU3i!p_#o+Q7-2-o@6!)x^=s!1{kkO#HWi#D5(+XJz~^ckRC?CfFF6{*R0V6Tz?U
zhV%b+>YVZSIQ#!%WTM*5L^*3CmG=5tkh(9(%ihfm0*wL+TA47U!^$4w8f}x50|c6`
zkJnw$9yVZvv$ex6?&JOI%*}5RV@H>1Mcb;TYlPx`1#8_pF%<zi9tQ-*<iPL*1*mL|
zOTDeVOsJR2T9d#^tv4zGJ}5_b9n%=DImF*&GM|9ZpKlb202m0U?H{0aU|=A|BY;JC
zVQFJ^Gb~DPQDyPWWPks=+=Lz>0QAhyW2bTZs%8)%3_ZRrfme7TFa(TGz^fj)Wsm?s
z87zdpi4{DMM5Pr5RmB)^`r(o@;5`Au=-MV;-kzm_9W+SUDv+Q)Is$Vq)ILnz&j=tu
zus^NMkL6Uz7pU|+s6L#%0|=mv-n;;wK>UFoovJ_a=vv?M(9sdL{smB-D;v15o+&^G
zfOVgMm)b-RMCWQXfgiG?b7-dsN9U_<FAD*kJbGSZH8IMqqKdHCH9k*1+wp9VWyflF
z8z4eunuIjO>{D&(_j6Zor+fZ!i#|F4$|2xaWhy9yzQx79x!v`f;s@yD+}g7pRt;T?
z{)HctJ}5^})l@d^l^`7*Jp=u!pX^Dl574*P%W-V%bB>>x@OSJxJzR@CdVCiuHyHYh
zv@F46aZ58TM$kd6r~-(VAb@t(Pn}jf*LUd*?BVB&fBN@2<}o_baVkPx7kMv|aY$c2
zSU`6&2*cNnvgyxD#HU^S>kiRvkLdOfzr&A8;g4&?kKfHhkI=-w^^M95?oOIsemsoc
z320!zGJtPSqsyu6pW5GndM&S+AHqF7;3vT!g14Vuh2YE{7-1yqFCqwX?i2p#7COfk
zJOXK0Es9w%eG}Usrt+Svc75si#x7cn$AZ(H0gyTe2gmOyxshSCSH#bi)3@(Epa9yR
zl+P#$Kc$n|w0YI|Uv=FI`_m0Y4Ej|*S57Sb;CCUaO8Ai<?stEDVxT)f=bEl90XBOa
zfd5bNE;k+B&QJdO4ukd&Pi3ZXwhb?U7(K0%<JZ=!-{-dn(;GU51_OfO+e(eO@Kj$a
z{l$}BXwRm=uP+8&<){0O9`@(t?M4(lfJZ<ey4V9ko@0=XmKj%5I+L4&%xH0CAcO<s
zTzx%HNf|*N_Uu_MY89pG^;R8ue4B&taq;-=VDxS#c79`P4-d&}_*!|k)>}$X^LQKR
zlQq;8Fm;OnZb9+VIo&t<<t%F)Y~IWFPuEs8qb%)0qBu%Lge#s|(}LD9fM#nT08u-(
zI1c~r$vekBT&EaE;CeqXhVXpf73@K4LVjPswbS7?E>vn3hqI@FlVVSD;mVl&4E(ej
zY%lpCI6L4At-+Ljr<91Rx}#O}4MXzrqP;-F7`CJ%1Cc~t-db!lpO5AO{|WYElq((N
zi-dzOz*MI;@`H#T@yQ!U@8u&_7h-l!oJV7EU&g5M08j=iboG#CvY!jP>SUqy2yx~M
zd7EUr8DFFycY5aYUy+~d-zNkmkZ-h7n|tZ>>6N-?HM>cB$OJSSMb~35t*c$ZQG1(y
zGw|ZSonpV095c4UYV+#+Tc<PQpiDWkqfpaOrrlT&RvzT-{h9>?63s{pNU)E4(g*6O
ziaZEN<l9!xdiL0q9A{BJgL_5$-8Hprx~SN9Co(?y>C5aa&S{!iXxO>7V5~?pG3ScC
zQRLC&Pj|v{_Xe)HJUFUjsw2iy))l!C`o1RL<tOfYpBL%^r8r{*n_4V!@8!80@#%ir
zk;FN6ttVNTh+jmJ_UA?HANrV4c}w?LpUj6;sEeC1pHp`D@yh_0h;LAnm+b*uL0m7j
zh$yP;w757V8;b8gSG&1g7Fv&buZ2M!E$ZhfPmCjc&bsI}wwnpXgj?TejgORfLq&$Q
zc=jt+<^2b7CF)4*3KQb@N_3xx4G_!N@g%*cl692`3#m+w>-QzP3Z!hNMM6Esk|;SO
zWnV37r~u#Nh_?upX3{-n$9_)&4gp2oKResF_vE~oYfX$sdZiou5O*?rGc0=XwTHLq
z!)&Pm8dcp1q{5isc&K#9TURL!4bz<$Aszo@_KS*MF6@JxD(*vIK2@Dcn^@@Q;L@<h
zU*}9ZwLj`*#2V|OZ4>%k2)^76Tet#9sbw(AUcH6HYarM98MjikuiV`Bp_td%;R$=T
z>(9TRv>N2w$1Ai`jOsG$x1*c^?6fN4?30)OPEKf@L<)&##^skEWJ&k=E%KzK?MDvS
zO21eU2SM=xmA5~_i{Bq`KBBI!jpoyNo+yU4^f(m2q(v<$sz_pC2@43oNk@sK+VX7K
z=mTG6Oe^jA@2i3dHnK)2$nVeHj%-p@0L<5N%AJDMbZzP(_jQ`MeHn9pz%e338#l}*
z{^Qntr<S(RomW$J!PoE<?w*FQTpR(Rc%M5Nzk{<`9eKCDRSq8yRCWmk{bNbHqhsMT
z5vq-+9lsI-)by06dNZ8%z4|GlRY@c%Ixb1GB|)T3y1FPaNWc<ylDji62Zy{@5*_G!
zp|H&kcZ-}#xEJ+GvPbi{@l-Y91huW8BmRnqMaKDo#XUjCd`AdpI_78aJNk1Z<vC;b
zjcfvYZWWgKb8#@oUM~6N)kP$Vpe%$fclb5T#R*0<bUkgsL7@#Y8lp~5!ze8_9tOkf
z=Vl~~05h^og4xkBg1azwZP^{<0ubxHKUZsevi;4e7e^2k&*Uws0(9~<cHSzt@{DM_
zjrXq*X0GH^T!@JyULimpuu^F=n{4;c_^WXEnd^9As%q7yi<wSS?4d01m2k=&GOIjn
z2;>tRB}!p*v>;%uM!k;v>f2$^ka_biL7{ss<1Kr_k!V+=h{W0Yqu1KONKDkkp`7u?
zW#-dC$=R^QRLcu6|FH&y+)!_lwbVQ3#$I8Qg*pu3<GLVKm=4!cdb_DXOG(D|6JiS_
z%k3y__NEVU*yaw_mt%E8)e#kPOjZOWohW?AB=3}8eZCMcPQ$kR$$F4K?w)`ii~PcA
zVBHfz)6oV7(e!zN`b|p&&L_~XU~=|Pn=t<NP6tg0+)#cG*QVAz!tO_z%m9y?*8wsr
z+1Iii6X+BIKVo1z$osaDwW*9btk?_XUKFJ0=_$`h08`E@0@ae4oD2%|`d!Rj7U>ju
z5&49!JyMhRvcYdDbf)U(HKV{oHa!jovK?_aAHQ9qw5#e-^eJjYO_<R*GG3sovIN(N
zqtfNxfST=P>g>Jip9&`ru2`od)L5!4;{d;_YrvFQ_E$dKy65@J|BbPCin1*Vuq?y2
zZS#d4@xr!k+qP}nwr$(CZL42qRcB@Qs2bg$=i}b*ea@VFO%al!o?r=Lasl03MDkZ>
z`))h<j{H}Td0rM~7p8Uwi^!n^cb9l)mJ`FOYB6)Uy>DfiQ9}_ef8|;q*+b=Vc2XAQ
zXVy9@xk3*{S0~+6^R4o6a`uRiKOp9b*|f}*9d}Wc@7Wm1;35Qx$qG0<UMGj>Y^_~%
zl|Rar4swmH!Vk;aVezWd?(WD}hMoMW+f{phk4l?oq0lO>?Bo&EN2r#;<j+kRl<9W9
zHolzZ-6vT}h!LMFkZrLsNt8{}*3J#r#6)c)A5P0e95f8V-|>RT^2;!>;i}9dot|6<
zpPUi+EQ{q8)vF`JdeotMZ3r}>W)`O}dmW)?;{FxG$jGiNqNyaF5Gf3wvi1w>1=9+x
zd#hFPreazQ<+r9YE`;O!)hw6?vM%^R;td)tR$`-p2Dn%ZgArXAo^CDOlcT}dv<_`Z
z%FAVV8;b)Pgp5IN6VJ5XBx^4*3YN3nx=t&5p{<lUyV@E%Do$8w_vw6COW1l~wFAU)
zYHKQM<vG3IGE@BB_<L2fc#v#lLMEHVeeZaMap)a7<xK~^iv=9m5C@z(jlDLR>9)|!
zsXJA7e#nFQ-g?ebKvHOF%4v#xSy7~SutUS`Q|}U$KGYjmpGPcw0SfUK9_LS(+WK1@
zMBbBpw|Jn0i!=LQA4`N&-m{$I+t7^$X;2x9!Q1mh9p<WJpC?Z9mRWIv2L(W6wrpj`
z{pd)mkm>3IzgLJ)q`v^CuSC_xvBiQ@E)m_L)MZp^h`nsPj-F%RiK~=w4%0#U8D5$S
zwpB+<Z{;AlZ?mrMx;`Z1^*f3R&$EA=xA0ELco4_F0pm@%kGU)&d6wggsisDGzh8Q9
z=8CH9%G8YU+coaid`pMatY6JxGgF8mihsU|OcgJQ(%Z&!m9vCPfE0jAzfouX&aal>
z87+wnf#`^Oyu4HR4JwdFqVAHvM&9XaKLav9lT;t`qw?z+{2FURTsL^@%`*_mTTB?j
z|KOQc2;l3JlI^I9*q1$ts9#TxS6FmBvGpNOB(FYf<M(;g#`6VHrk0rQE15qzXswqF
zDSjs@!x6iGfMj7##<tSG--T)i<*RN<J#CMK1xrY<w7z6y=>cyJnF5E91zL1ww!V}I
zWdt>4G(-|SZT4?UL7kJ#0QoM{I~bG=*Ie6mZ<EG%>ZlU$wUH1+_cN#39WhJcr-VAK
zWaZl8Bs1c9*siSm*BJqmBLmiaX$&r|+C=stn=F@_&iY>HWfk^{j}*T)OOl6+5y<!_
zowUcbF!JlP=TVS?>Zfm>Nd9rLF<DPNX^(~MD=n$8Z9iw*NtuF@Ee~TnPG+|0W6{CA
zS`zyyXVQ7`jv?kPfOi=PGuCdqL9>Nx99@;5wWYG+7J0~-8p=V<76<h^x$W9fagYtj
zd5ct$mp%z7YsATgFoGhC{wB3ig3>M;HP&!td2vcGxKQ9)Cl^e%&it@Y3cg_wQKs9m
zJx@6&vDXlN%4A^WONQW`V)F3KcvaaJyJt-C2tG)ERn8At)q2d&3T+Iwlu9dfnx$P=
zqK_9X>_)nD3Ao$J+?~Pi`w}8QOR?_W;m|@w{`Z}E61I;G#cH*P2&-$xH-QTxI*<RY
zIo6d(6q1>hIo%hg0aNG4qk-=IGls3uPTdn^YbK6bD`e4qD(E@`HM=iTwkX%Mf*?&O
zfkN9H0-k;$a=}Q(*MYgmjBMB;+Xm?u)1<~9ai%|cR@rP^gyn+zZ|Psn!f@t{n&bBK
zAMOoDr?mPG?_6|IrKvot{T&v<WbKm7^C=3P&K*%{fkISGdEvdDZ8}Q)%fYm2yS;y_
z3l<6q=tj<45!7X?I68752qz<fy(FwgtdwDNkq|5AX@(rE4zv)Nmi)`9ZW^PT-Coqm
zw5`00R5G4|%d@;4qj^bQsDB(mR0#r};=A}0s<GITQG6ek5#49%Xyz4v`p0t&$c#_K
zsN3jWPh8iQSoU+62tm0pg(qwB&-An#b$@hVYWW>2j7{aCyz))o?h;^qV@E!N{nkR2
z9>f_FcXDlg?hBqWcNWHpZj!GjhseLpC1vOC>>W@y1t$u#-+~PM@o%8gV|SshgX%w*
zr|N3(dTP|&So2IHFWi8zS>wsFZP1<>$t!0GN-WEWsraIoC(TSVB|1>+bgMjWMXOnA
ztowQuRJDrm#O;s>LV-Kf_2FR)d|<&|b|!njl0WNwF*si|rCZ}Ul+o&sl^Z!OU}69@
zPC<tq8|9qn&|BA?JrO%nMO`f+-KaUoq?JhIUKVyZ4_L>=GWqnE5oHH4RMR5R{D)?^
zyeqp^y$+*;%BLe361i4@7VjO8v?4Dhz;j%ovdv5`ppx+aRSl$@wPq#gNnZKU($~q~
zEW6oT-|2TC=v%*Jb7iM?5oUsnY=w6?br^&6tfng=m4b2Jb7DOSDX^!Y+=V=l*TZ_f
zJAn{VUtPv2`5xP3ozO+iG78VR!visoyb&m-4~jRP<<^BLt)2#D$+RTrJyV=`YoQ%H
ziVm+@VJ$+}`FtLnH4tJoDZ})qN8lswkRtwqO;ReenRWF7%6>MBrfi=!jyLn7`9cXi
z&jr2q3GG?!wul*AX$;#yc%N0LM0<;nC-nQU$XyOVI%>iSAo?V<I`?trQ;KZDZ{3|f
ze{E%ZQ|2FFg!V@2{0<rw=%2H4)G2=cE&S9_-HWgwNS<`Om7VzWxT@+zC-CCGoCe-I
zZtZ$8NqP6CM0`Ts$eHLh|9*nf4n-^`2R;Z2(3bS?N-<juP1I9KtW#62H6}DBd155X
zRw%oD{A_Uts{;^wxdu-H&ebS5&7l+1jdICLOAwZ13rNUu&|593#@9v%)vi|+WbY*X
zG;Q5Er8(!eDu`NG{Z7(tNEk_}WjS7VEE}U}!^o<?@xauLlS_Aa_6Fz5enmTOwD0c8
z>Ph<FAo<RN=-U|V=b*Oz)bbpHfG-9TbiOOrU>cHQAg&Cdh#@|#DbxqtQ%J$Lwm)!~
zD>y<oox?{=&#iIfL?*xo^(0ls^FXs3q(@^k1OQsu_qoBQwdtZ8GJ#v-Mgbzy;dTtC
z(Jo;zKG%HcUte+Lu*tn4)KZE$bzX3FW^8YYTY2fhz|f-Po}Xx_S3XJH3~vm5Gz2^J
z3FMrd9}}0$r${OwqGTLi67%t;U)>JNXJzU9Lx$_ln;{?<fzg)Fi;GgYQBNk!nZxVh
zDLpo8oG<IIT@SJOGmyBG=__NV&1l8-v3b^f(|`txxWU5YjVi!s&G4(F*Y*o-ANdq$
zUi`1yZn>B?xwluYDWh&Pnq|<TAp_!6E)R^?7Hc_-J<+_itXk<ijthjQM{jwdNA!tk
zC~|KTqj9SOXOY2kW(7}$8Y01V#?U)hwP+pEB8|9vAnyfv$xZut(E^$|f6nXQ5b!uR
zh3q-uG$g%(G3+&KUxX<o=Kl_i#)UHHJL*y~@yf`(9O*B;Y`8M*GEU)pGfmOOItE^s
z(H4<@F1xa5QX+p%Hwy%14SvtWOk6e(32KqQ_QDO?U!n=TkKHt>HCQT5tVR^ury?7m
zdE8rpo)Ip2p&seD!fA(q@5Ut6m-N-ionI<rDnSO60UoJl)%vXJV`>-39?KZu;QhQ9
zwS5JE8=tH_0UHI=o(U;F^HPZ9TFx%?jcJLvJY?xr4~|aIB&88k+$e>y1@);XNWPN7
zQA6FF*H*J}$Vt$tkhl}BZDR5#iAL=%FowH8o8)}HClvAB!@W5U6NQ5t?qy31!bPC1
zZ7|m!AAvRZ@*0)`0I_FV)!2@WPceFR5V>1vR<d3i@OfuQO05dV2K)DBXAwGVm;PXU
zYB=b-GYpH75vDL%ZHS45c|EtAKtEo5QjYYyvz)ZaQmDG&Kx8Tk)uvG0wIe3El?i))
zvdTUQ9M%ojFMceh8HNd`ttjqCGzlMdst)KTxGUFMbrey6x5c<%jht(VaF<fvclH2u
zzQ#o{_|&EyFMslU>;x05^?WBo#vZ~tY23i8MwowP?~^bgT1^MS@gZ12Uk)LlpR(6y
zpF8rMl<m>lMO@Z8h(mDIF1(ig25u_8CwYm%v*w$H&u6n*Ck6p^Qe0ZmUp-(D1@!_N
zdc&fpF~}XY#l%jK#Nz*1;#uT%j#ov0zf3wxBQpoVaz5&ShQIzJ+sr{r2Od}lJ#Hq3
z&);h}?pg_VyP(+-;$%FOX?^dp$@>ED_SN9`N?(bPl!33-(%HI|LdE&(XwA|O_EGE{
zRTnib_ri&4d5wUT!{e5BZuzWMhd4KG??SRo<5I<9nIVsnjp5}NJG2tIth0X(UPuk8
za?XR4YZ0VTu<!ga#y?fmiRDU3tOTq{u`QiE-dx=1VJ(U*_;7eiSFo$xt54Y?Fl00J
z6~Bn)u9Usy$HId1!BIz(R7G`T$O_f`ty9rHh%I;i*O6fRbfHF%9rNg+wY{<j>?KYz
zGeSAs6IxtS+a=?JqsvF~L3i`(=y~@9grQdjQcjQJ49cBhnzX-!zenkvD(7sdvNLP~
zLsH)MqR(3~q&sEYwsS_tZk!i!4RTWbFGR{M%vbutPP4h}(`4)NVCA!mnl)MD6PQ6^
z<7};__0*R@<TdyN0AwP%?N>b=4-(1vS=`|STvTQoV7K~d7)tAO-`-c{F~qk(z&NP?
z(GX86Hyce*o-@iHXPKJs*r=z=FJ-_YN&Ut9-Kjh>7euS&u<(alj;z^lh_;F`l$gz;
zm~RFPj>GGs0tJcWv$kpZ)k2LJ5pV&9OOjgl!kfhDgEaf}h7gKGlAFe|M?2T2vHewA
zY-ka$-MX^hv)_e^tbPJjy~G0)LZRTPoea$}{ph-P8ZD;Xpf5$vbDS3+XxIS7ho(nO
zW)$xi^{Y&^Ud;m^d(bbO!nMYm%uG{vFqtm{p@*$(Vy^U@s@2kv5EZ8F7`TtXzrsDR
zZ_|DjCuqJ_!f>ykNC+*bbA-~cSvw|Jk%93EayQHcrN7m{ry}5$zBTQmA){BB#1;+t
z+5R@OPebc#GU3krFkrh=MC1BsE~53Fr-mwEI4TBppXgD<3WYpWSg&5<0_L@!<Wiw?
zfLBuz4`;R?Hyrz&!ab}&(~~{TwU<?27^o@Q*v=JCCsn@Tc88TSjd3r-9<|$2-IHO+
zscJU(8j@NGTAy;Z@}?Ie`<!ZyUpNLavNm<UOHE|0dWdux_#hK$jiGVuyk}zlCC=Rp
zT*7o|k_{%*wFmIL)MqDsMI@8FyuFA4iOrC1iq|?m=GdR#_C#89Z>bRfKAAbMhXQmn
z0G|4&{LI?AP-~QA)zT=TVlj*D^SOFBl+RJpwtL=1gsusUKWT{PP_&Ph#?7EIC`p?x
zL(b*E!&>PH&DQw4P-5xouVKTMh@AmmW0{X*Vnr5<f_0!F7*2+@>y4T~+WPCmGujl_
zpKY^-dPBsogeeWnaAfjWfHOVe(OZZiY<z$Tyuauddv^S(C*&A%TP>Z5({Q3=3vm|j
zDotG}?`FHt7m&xy61!;m(2kqhgiM@VbN@(DTcY0zDPeDZ5qs9cv78>G)4&~;)7tX&
zn+(uU(DiGtEPX-doDpl=vc97SN#-AsmXd)Vo()+1acExW5+~tq%vH~!Y0X^V=3EK{
z{C<|eB#+35VppC&pq+(}lxR+*g2uF1`5ew@f!+1oZKP%$$r`_wRI~6x!KW-WaOE;J
zk&}RDLp-PDPW&>{w5!^zmp}a5&ry&jnB2}i8Pj?N59m9<f<Zh}po}A7nkd!^iCINd
z^(CKTG-IcsQn()NQ1pG>sq1sQB*Lt%iIiPNwMt+B8Wu{T?Hroow`*`BVsQSri38}0
zrG7;NT5^@|$X0elo~SKCUQIvsaJ7CTTBuzRl~lmQE7i)Wu_PlhD!+dL&4(l*7MmYN
zw<hTOVVh=nlrAEIJ2KmgykOS5>16P?#AH;Z1?7M~fp3tYOi4_(C<7+MlGKyDr*gjT
zzJiJjbdMUf<l8CO)`1@Tnq4u)v3c1lA<L&w`8Gp@ucWUR%r@vOFhuNPLnEv$A2(<@
zqp!2DmY)9mTm)N?BoX8@TAh;V4g>$R;@SOWj}{ht{g~r!<(5&f)qODY7vSi8zug3>
zA_xT8*S9;?Cs9^RB<OW>%Y*CqTTY|X4}nCyYi~^EMGQS2*jYHZ$JApoiM)8FAR4^n
zQx6HRIH3Um`Bj%8*{XCX&XW_o)vzc{W^qg=JOhFTL_!`m%2~|4ZnQkJz?eQ+qn|9i
zca!Gq<&fYBLCuJDKhoDFajI@V)wGEF1NU#IOu&<<gV-qr4fBv!%+p)GLZHFJ^2c3u
z&3U+;cTNT;l9-nP;67mQ&cWO1R>X?&UyYnUKmAmf%)lk7dnehstFfa@10lqy{lWCP
zVJi~V*WGL_?($$#Cin(?bSAAumYc*%=$W7LKKtvwF(`*S3+B<M4(M&}ul<q7jarb^
zV)6=Tm&aco>n`Sf!wJA1Jyjd(DBh0UOR}L4kIn{GU}wcCMV!^)i1F~uK+wf|z-nc#
ziHX{@QeLv`rjmlz*iAH(C)VqNGcjBxa@znOM7%G}bMrPysu$bi3T0AJFtg=hi{NSX
zI4alK$op_YOFVd>U?kMCYfs#)5Lst0mk2e<jgPympTMJ&So2(yE87fQ^!%L({2Ei9
z@jT<i;`bKZew*iiuM*e&M@W`5-rtQh0v1W+jb);Sk)~u55Yt4>S;LDS?jnAEM&)DI
z;?aMom6CV?iS9jBz|xzqD272F5TUd%LdfwE@4oGd8X#>}uSBb<16b7T4K2$k>y;@%
zGg@m4e1xOXzDIagmE=~yJ${N_-4om3oIR=dKLpXC7N2^J&ZW(Y(sPkQ-%+6V8o*+Z
zt;;;_HEX%YIOaR~oU+~8TYZyDJefkCmVWVK(5!84`&6$+t~#BvJWUkT&{s8jb>51O
zZh%MT9%Y7_t!q^G)st`!361)QueO&G32^^#KX?9I&k_&MyjsCO<E5lVWoU+xS}z}Y
z(k+|etP!iar2(A}jH|)4JyXOgD5Km$=q(}VFu+cTsZCj97g_KU@!?cT45%Msz+z-5
z@yFmsCxp^cd0q}V3^N=LN=WxBEG3Jb-;cNWm_HW2@%$n62`~TzRfE_d2hR}rC8o2v
z{GcoR8_V;KJ?6Q?Som4g&L0z3*Y5G1bWs`@3DLYRS3nQl2zs$Z*f=^Y$wYRg7I#G+
z9n)=#VbwdK>su@CAuKbssUANu*Bn1>@b9o%BtUnpww&T6nkUIe$+6fG(fV*Xhc)NL
z@3mm!!Z)v|<wtR*wkbe3QAiM7&U&WnkY($lsDzAODs9RB+sXFNsa_7s%+Xa|_Zy5G
zX-1&eBUNQ~p<DH_pQ%U|)bb?SCl;IE{}GQ;AjPj>wxx?E=7Ak~>7y&GJ$l~sXw67?
zG^xfIx$rm={x0ddk`iM*XnItLp|}vFh3e^dm~~Enu)Hlt>mG`U6iEd23RW{73W?z2
zaiMbiJdFXp9;;g6>czK)!{>#f=(gWkEJ~Aj1f!n!`tDa+rl93MAY}^qao(qN=#gsg
zqN&f66cI9jmfp-`Y{!_<+>Y)yW7p!U50`a+S)`KBX_If&!oKVXLzDQ!$HclMPi#Ho
z7yMQ(QX6eI;S$=Xq4ASJn5q*w*dT7fe2kPrB6I30gu=rV^>5+%WN7Y|VyUf2$Di3n
zOZ;2-PeG&(?GyoQ*}}to<%;rmkwSGy$R)g@5rhZ{y!e2&a(#2CfdtA-A7bxK5l0<_
zcf^PT^KTu$G%yY?o=09mqS8dD1dOUw+6#7zr(_9pyo$3AdH|&QQ(B|Cd~hJ}B<+it
zsf0(v>fcccMfn4tM9LW?d>&kxSJP`QZe&Q;3{QzOspBRg7jFc7quE*v+6U1Z^kUM>
zOn9585z3(vasMMBS@?$&I|?}r=1sPk!_cmcY8(1YgzRY8PX-JlqDxK~i4fR-=X)W{
z2rHZHN$vcSJ~oVlc35247#4n$c8MH@Y=JU|geUHMm|kwrEM!h3U8<GaCH<|2G#Ye~
z@32q5V0jkHI5E6~W%G+``5iQX7kL*xyi-Jo+Ht~DCr59bZji2mQpgEF31od04GZOu
z`;1tzY@f?Y(EGXSL)18_J=GmQNo=k$x<jhC;LkPH&piNYiHYE(#w>Lyn$tq<@Nr4E
zFzv(|CxhspGExX{pk683nek_fR%G$RhpsBwb-Xx(mkc-80F7a3ZJbq$5LTyJ>Mf4P
z;0A^z%$bXrOt9gKt9UVF3%<6wdgrnzEdp#b2-0t%>o#kmZZ%HK8R!F(`ySoyMImpS
zM?0*C{Bo`pZAfmuKUD(^l_?oyb5GUmyaLgMY6IFfe8lPqS!x93*fWF+h3=A8r^&uk
zh;z&v=>~nV&}u^Xg<S~k>EApX0!^f)_c5H#;yduTPh35IKQ2`9Hv6qjzH!H-H!E?<
zfDBqdn0)q5@V`ZG?Zso5Dp?pwIjutO^~FBQDqgIzR|3{3%6BOrrj*`5iSuKwc!+d8
z^6|E!)&?FefxSfigZa?|89LTcfmUqqm77B6Kqk)~T_PT^-!YiY7T65|j#JB|?C5QZ
z`B9Gc%7bGDHH{&`99zb>TGlpk>U{qOzf49E^;J`GCJV|4*O6uA^S4%!eoqWQgt|AM
zNcE*_w#uu%RG>HbUGioN9E;QulH;=<(yCs=Po2%kC{J*LdY|`hRiM?kA*;RP8tg~^
zhEFEBv(ThoeMfILwy?Zyq!3il58iPTS#$OUDfZ9ghWgVUmkQyzlBMW<c}n}CdnSo^
zIaJj(cTFrR*gAeOUAwTmQ5-je(qc|vt!tZa6rMP}{B=j3eAy5A)-+*k&Z({Ut4W#|
z?#GES?i5zpPEZ?>a15>?%K9#I&4^&3#fdFz8&NU%GO<pUs$((SJh{#6gzrWb$*h;`
z3IzT@DX)#?74}$p^U~RF&WZNLkAr(S5`4@)v9Jy?tsP10NK?^mn{Wg-S5I0TC0?v&
zPV}WbNzd3r+qyP>8T?byqKzHA&lln^{73u_qznM@5-1%HQPAG{%T<L_TmlI2kaA%2
zweq^z<0!ERAPN70F7Qew97Jn5w7|r%@|eLpbLf5qb7r@TUMc!A3calb_@c}ZX&{Gh
z>`MsvWI)g(G$9h-O0LO)<9oUvu9%KRXo+a}G*(iVJP;hP)2k?<0*|NP>NRGJ#|+$l
zw{`-SLIh)pccY_8BiBc@ZE9Sg?iC5eTF^yhbPdUP^;ACZdoTz&pSV-LKLRI5Gn6BJ
zD(9wvzTd-L;9{NTS0h_P8#JiWgAq^dWB}5D-fm`%tW#k|RF2M|Ai`M|okWB5{%<b=
zC)E>s-hKJGXcxSN;LTI>KmQ>-77$F=ox=?(;K4MkNRUnoI8&xENp?I|hQ66}khJjH
z^VR|)yc(mlIbIHt>BEd}ewW%2ezc%?9ZDu_V3eIZ_w^ZWz)(Be7ORC#nt(*RLPG5s
zaSiLkacHEgBL%3G{jncS{d}cyecunz3_j7zLT7OL;+7a_ba79r46q~Ufv|R92jl`f
zf;|cuH)o*8S6YN}hL-XVZ{q;Q-`Y4_92~7QwST$Vjj)4e&%<4}_`&>6zReMA?Td3+
zB1mZ*4!jfMIGT(ZKanEFhcMr_pS7QRl1l61j9{uJQk9L+a3soBc?QT5vpkh;=vF&=
z`M1TCAGn1VCs>0yW~k{|rIXC*Kysuf_|F#3>yz8)*UCMwlL*<dP1=Yal62*i2WI?3
zu4PF6x~Ww92Z6%`{ESC5a<8YBL6Heq1&=VVAe1}i2d>=^KD1F#EV{X~Cy~&^;3Ssh
z@&x%jko=VxKkd|&lMDNG#H0Oi`hrwc<183oi$f|vax(S3<gLHc>(+!|GPS;R<C69L
z>h40b))+4rehQ?)oRMl<5Udg^VSjIpcP#A6bxdVBUd}cC;D{)*YgSi)vsl9l7Ey9r
zhM@?z$d`HxwPZn1&0r0DtuVydyCqS1iA?ki62>8D_9TE%Md(8d+q;dN7m^9Xr$Xug
z#+BiV*fn_Ymw%ZhQz-^-m?8(8sAPW&fk(>~IN9eMRq`;jJW>{;@j;?(&1d$jWkmoI
zVtteWhF~1sT7uE#?qM4lFab8Ql+vNC=y9CBnN}A)oq<Tyqowu2$#h9MP-a7&)8X@e
zRT#P^cjgLnR8jMHlrVqH>z3^YweSyJx|E9?C1dt6u_ld6>poSeszv@b%*KR1rBc1p
zdx3RvwyuylGj&990IaImC*E}|4VHKhn*gfU>O#UPhScuhWh5~6q!N<mH!>vqKu6eH
zUR%ubEK^oz@j-8}X2d_|tPjv(xtk#>8{(bhVcn1(<ZA}>D&Z_{s4}_4`X>!I*b@$f
z!FG2>Yo(J4IOGNtI>|l=CFQYVCXm+fCC3q3!$fE^qCKM^d1tLw7slA&gHatb&p>6r
zGiNO`WGBl)r^H95l26#zu;dBV6F0e9ZB2pq2V_AINo*^EKfqc~V39|=x21?ar@RWl
z?-!YS_2Mr!eG)CAuIcednkG016^kf>L5aQ<*W*?Fu$XO9kzoKN7|tLPc62v@e316t
z#}<8(4s|VK=XGQ^Gw}(^;Dvr;OLB&3VYJ}aP5D(*N35VCbFB~4m<Sh9GVz}`-c&0)
zvu)<|HACE0yAhCgxe*K$XQ5}Nq~a(sAt6WB27n98L|Mhcn&8yftL+2d%vD5A{3260
zriaztC9AORF3+i7;12$kQ|Rb!cYMAe^fhR`?AvECoH?Gjcr|PR#G=js+X8%n2t0@6
z4%`I)t@c;j9oUEJHw)m^9uamT=JP_HOq=6;y`{qU&TTVuzvv-^Is1sF0_5DP?b_z+
zd}{PQHSh!9!N!F3oass|K-K5mPovVAGLkQmJs&DC5^^oGl=b!-H;i34*_ss^jRrb?
zdJ=y%sL1bzuaY>LS<W3w`x|}x5oYm1f%dSqln%ahC^EpU{?1-;A*1yxCrET&5DWrO
z*7R?D4Lxgv8B0l+av~ymF3ViBl(!d1%wG2ZhW}aJ9`z*H(BcSu@?xaAeyA$R(&G-y
z8{{Vogr`Gu?wVjurr+Jm8y=mC*9w*2yeVqBV2Q#U0$en?iH@ngr&ANC#A+Y0nzBYK
zQF9Xa^>3=CWydS7a&JkSq!>-DyvupQVdbOo6dZJenbtoXZs{n`8s)0niKDgFfz00j
zKJ8wO0&3RZQY3;3z(+~k@AUgQ=%zSUdsx3nO*k8JQ!uwAzuIly4A_=?keBS)e({Wn
zrHv}r0516R3kbs8$o9WciW&c#9Q*&ZpQb9HC?+6CEn{wN;Or=EYa>OgU~KCAzt2)J
zF#gL@F|iS_{*#v385sVTTg=MH^55NJ78W)rdLd&+!+**z0WAabzbA1geJgWAej8IO
zV}k!$Qe*z-=l+*j{2#$6K{I^^MPnxd3VK0$F?#9$*`u<uwfWB;mGOTJsr{=`nbMol
zo6}p+ThUw7+tAz6+tJ$@JDA%V(cAxLu<Cz!#7^|i^e*)7|J@?~Pigr7VG;jZQv0uJ
z*Z;DJ|FHiri<p&z@qa53v#~L<{Quout5$XXSNm;AK`839Jd4R!>`**6!2rX+Fww)1
z5WwOuicheC<X6BVAt@puAtgZpG>_{zbDiaQeZP6X+<6?mb@%bCZr**ad9LZsHEm?V
z#(1Fq7q24x7q5!IrywAKoeS((_jJb!*yH??fJg)0o1qAqoT-Tl@{^MT(E<$$5CfJX
zgabf@z#yQ30gw<E-){g;LcH-2D@$a8>NEaYOUg`5z12<GB?R#7^>w>(@es(~1BmIw
zw}pV&zX9_vydn6R#fBwB0GPl8vI`m@05J9jc9iCE21xD5Vfc#+6iUGV$Im~N2L=l4
z>~B9p8+j1+Uf5qCJzrV?J&-NHk4|P;e=ZtfSpbN=b2vc3+ZKMWeuURuI$l36kaMu-
zr>;-%zdV34VhA|StH3Bg0KtL!I&i&^TkE)pz7Xxih^~k>u033TfP=^<kfVY+3ISZz
zVU?DC4#FM4@_kNUf_B;gAx1mJz(Lk7UB!L9T>rT0pg=&qg5(kOl<l@(5dwghm2$xx
zxu$-?P2oa*3l2^qL%DvS1M>nP9e@aM_7UXd{QJ#XZ|7qzC*W_PM_eb@)a|UzP;Qy8
zgI@tR;U7^zt-L#JnLihFt;i@b)Nh`0%=<AA0CH#aoq?&Jd|o>UN4a43-#M5!Tu21q
z|Hje4?flpepe_jI{zbgBe%X>ie;kQ^!AX8%A-?eAUw_GOc3D2~L*ITqbAI8fPe23D
z{kLww_G+QQ>|6)kfSdq&Z_|EJp&bGTzJ8>ic7de{eHp%72{I_=w6Rh4Wn2{?AR)eu
zgFGtuy$RvK<WSZy_aFkcpU+~qF>V0(2lDL3vQvCFAojo`!oR0Yk6=JM2YlJIwJu_z
zfn49X9=Y6q?$DOx8J8IT9DjdWe~?e?$v7v)=YHbW|JDei@88W1+rp5N2GRHB;!_X;
z?V%$kv~gJp5CKrim-qQ5-ohi?=~`+dKtVo(s_mfCf_y1{`1<~8sQ<!>pu&l;f8`(x
zqCni(v1$A=f4Ky9$Bl6b|7N{(Cj8d_FdZR;(St;Bu>}H526Yyh8s}M*IedyL(Rg<F
zVSFRr6g!IugZ3|n&6J+csuWRO)$9mCEX7Lfc0FeP-1vMeN17fAqLW57K9U;I=kmrS
zcXs+2g%>IZxDqSPl_U`ujxw+K`bwNamjt)PjgMT66^^o!s;a>hRuheZf0}OfSM7lI
zA6b>&1o7`Rwcevx4?Vw%Swi*R+L74iW;?vV!9Be?<89skNQ`D8#}3i~7eGmT&twHW
zGz#La`qz5DRTeiU67w<!dh+T)YIW%kUK$K;$rUN;+3hsSq$0l~0o!E3XDI9xe3y`N
zPsmwbCyT9M?C_4M@<FJzT0Ai*6_jJpB6ZU=qFX^H>&<XW#@D(6wF|E_E{5xuzfSb9
zD@M53spAdWK|y%>4|Qjw7|)7BI-H}<An0%R3>3bO*fX+Ls*D!4Timx!?DDyG&QHHn
zhSag*rj8zxD~yBj@7%w;<gc%CvJag!uI!{dH+d7XIAXm2#W!<_i?T3yQ+w}GUCOJD
z($U(s(~|&=B=<(?Q_PwBb<@aqffQx2q$1hbv`p}EP-d}RfW)WJSqNQ2{XMqBpHoKj
z(q}ID#y!rI=3QeB`ivI0MZv8-S;TN2sN2oTP>ogo8;&e(K$V{J$=lzVBqa<&SMmS|
z%kh|B_opMGdbmDhbVsTpvuO*f`i%1fW&3JJAF-p!uxQWc34y)gs?xU}mdK+Y=NI^X
zTGQ8b1*6ZfmR6C{wCoC2F-m(7`<;L6;Cn@4(uK{R3D?^}YGrF9^l`sr*!G$wq$+|p
zySIum)j!2h<AAPVbuxSVGXz~?h!kbc*MnLu=@jX(1$nbTk%^Eu)|yUt{yRTd$T3Do
zTrOIL(o`wm93fExW7?eVRaIg@c-Yf`Oyx0V@kcO%m#LB>p0MgcpN~VXtRt1{O{M<U
zq8Z?{6I4BE_UjY{Q`Tbjh9F9^3Qa7lc<lQbWH<5H=^7j7yklJsN}wNNnV+j;+&~W#
zHtWEgn?(Zv><-hK{6z{L_U@t}{YQTEdwiny1$CBjCBXqw05jF%aG@|H@SsSQ^F&y5
zB-wz(Gg+ZbWRvx!*>y(d*(J0f?=UTK;;WMeN_qgR$)>oXKGDv3Z?+C;y9*V_6XkNY
zWRTo0krAR**e<ga8Vn=o%c4gC31c}*p8se1arFGURpjOlm+>u5Sf@;w?`F!hR`gL?
zWm1AGJ)B>|?2jZ6e##Z)d8*vKt-s7XV4SySKotf<X|Z#5-HqIuXxn_iaa1^KPhM2J
z^35X#fr{~+z)%^n9AfMro3%oR{eF}u)dIM~A<b~y+sx@uF8)+X*?mzM;=EYh9a9Gn
zp%fVi02MTOH2rfj#@;O5q$ejECj<{QZd8bw&NP~F|27%WY6{#|cc2$vFZ<$C4-FJV
z#**EkjuEUyJ+dxlfX#jet)#aq&VAklULBNAJki>vo(cX%(yqjathuA?1y9|s^C{>m
z^XM<@blm2))q7h#VIC|@dP9Ej2_sQ~3CObnsGmj-tP9i2gO}nZ@^X4MO*V3f*hCi6
zK&S;kkjnFX*x*-6HLysCU|9H40cLd5TKFSad~2VvkEwX0ZIcDP-oFZT*_?C>ZyK-L
zk8EBpXD#IRyIfA<{pGeB8}-IvAwdzB_8>@m6fKCKs~mYmMd~|xj_w0cQ0(uH3L|b?
z4aS#B+*}IBwD|b6r|@<>lD{$0hAu-~cYvO?eg(XakRA`3RK1qE>>o~yoqj;9yQG<C
z*DNcKy8KbgHZoaV8JFyRsI1<ImK*G<#xfzTBL_l~5g?PiB-o#9G3<iNA{8-7#cP0D
z#D-LY+cxw5+I&c~q)WrB%H#AZ+qbZk3d>1rtfFXIMYN|_H(r{^0ws`Jy(=?EQrdfn
zn}*cnw3#iUl9B{~kZScNUQLHA#YQnpJ!^I+^u<;6c3})q)rYnaVv)euLDe$E?;?cy
zj?Qhc&qju4mFYYj9tohcs^zPZgzr4DQ_~B6D^B4zsyHK#%}N@!;Xs9Mtbf4bEXTjK
z?LkZKCwySx;X8bj*d}fAczIiEMXDZTX)3x6f3_YJ0}dvRxYqcx4GKNCjtPiVlW|lN
zOih>shb+;ia<5#2;80Ba&ZM{(hj0j7gon6zSbNmNOdcdp`&--v%$*D~jdXAAd=llK
zjeNMnV{bk$+d0Ei8O~JQhs3Xr%;d!dS(BXOw(Ib4lM~i*l6wTPU)s@wbBYOjL2iZ{
zt3K-!pOswU&pttCz{oBZQV&HG^{VA?1{M4OC@X)$n_Ezw_?(5aBuY!}x#byn*_vF_
zM4XQXLsf9e6~~}~1QOrloFQeFj4pU025*Ur$2DgSI9}r5y<<m!GTo)7KsjpJ;Y%8<
zV>LTfuKoM@am@dnp`?o-xGKi*H`pfwS_F8v{;pRLa46H-TY`bc3?Q^t+9>wCBiT5g
zmTZED@$z2j4p$#Qm000!@odLXvk@v)!?+Pf-_rOXEs+Ir^E>a1l{|qhcjKAOtb4Y)
zFs$sp7}tn3VE?XnKR6QiJb_XuS|ik#^<A4t0W)YkxijzmeAf_!wkm?H7v11<*~~w*
z?a&}^0H>*rq=@exNgb5Y@%XnZjPvTOKT`r{UmUH}hQB+-6kQ`6r7qs;kDVg!p)o?1
zcO8DpW4Z8VJxo--tOl!xsFtA|HQ!`9my?>jH4=T$bi4O_6_K8dDhySM7bEwWyq#AL
z@n7r9;RbWS$%)H#5*I`37?$!lJm582?;l5<#xR=Gi&G{R0@8h37^6Jx%$^2;>(hMI
z@_t;ZIgE|8$E2Q)hR^d%cq(b-&8>yc+`GG9!lL*rh(Acx6H7CrX}W*Op=5{dy;KN(
z7?X@*U_tR+ld20v=a*o<)A#MA?8Ks|qAq0c9+!<x!v@2%;d?EWNaaKN_uCZ7aP;EI
zSe4(Xmu3t$3uDB9R^r-IaAS;@)guf-H^$%^08Y8%4M2g6vbHRDW(Mo3^-wPKER)I_
zKbl^#eV5qqj!vO}7qrJ)y}T1;>U%~zd7|zzQI*&O{U|*Jv;f*~uu>f#9b7D!(#5Y8
zNMXnj$6!<qp&+{76DobQHYF!kip7Eq;wTUkF}Gh5$@DWMFyFk~m-xR$25r;$4uzGw
zbf(uc`%f=Wm~x8_GS63@UIRNXB2&eyW48+}7?@q~kgjduIHZO}i?JeaM@*#Iwl>>Z
z@X_~J4^bewO3nVo91k;aq7Z;A^+B6W&oVKGhS4Otuj<kKxS5c_2QAtgvE*CA6<10^
zeaX6|>^fOYp5FRtN+Q(=n6x{&TA$Gqp%U05n(9@_=^CyN`YK5LoocGfwgLJ&Ye$@<
zx*njmILhj}yw*7K99=Ffv)FJ4N*SZOs-DW*c?w4J#V4ztGMAmjn@HC?*PsT?ayk6t
zZRJ3Rq_$0#LweIin8VE%`#zmCP=QZX9A|w|VJZJ)R84)CSJ!(uE_`$+r}gdbKLAV<
zsRp}pl2U=Miwy1Dc}_nphd*7;fNHwm#^m87tlb=_%9{`mEK`_WssZ0So|e$VetJ_}
zxTY5E(Azb{1)h1PlCD_V8s6k~#?-z~0)KZ3;!`Nx?l>fN(_(0lkTB53B>eBLb&Z+A
zfy_#x!u)A)_T(UhL*v8*cBvL}KO1cF5Ww+LS>{${4s_@fD#Da_=^Ls1H#8T3=RVb;
zu%wXvs?AvnX^Zr-bIz3eAuS%DYV=9G76aZq`gemMlzKg>TclFP13B=?<sxIWW~_vC
zeYF+j^+t6AZI(0ni<gU+<JHMRNP4S7@m%o8N1Q$NSs;c$hFA3}y)rMO5W;W{>=XQR
zFax(5NYl{-Es3DQdgCJ{s0*I`d;fBXeJnP~0x(Dk{wk=50S%ow*FipY2oux?{$X#6
z4n67u0HJiRz3UH(a(Jc5f$loQ4(=TzL#jEqvd7vkX>Bk9jJdz1p&T~{npWO+9fK~n
zrmqj7G@&DX()5DTDPCF=UYl-Hu0{x48-K%aZRr+L&qcYy*5=<2vj&w4uRU@mMk_Y^
zh^UtZa`s7&E;546@^vFd(lk~2dj5Bdm}aJLF`KJ?_ctq0m3|WC#+Q#6D82P@EKQyJ
zds5@`7K$Wd!r6BJ_mhl0N0^w=NEO{`Z|-Y)R!Gv4hjwQzd0p;78I(BC?m+TL4=iSy
z%J}eHupoBzTy<t~b-X9k`!c*VX2!pp%J`kxBO##mcX>^JbCkA0AImwgpYcn8gpn$x
zYmbRN(F%Ot`ZW6AZfjj}NUKy)L%t5Oq9Mt27P88tOcv~}15splfUB~XA`9PR9#0pf
zczNQVWmy(D3Z#9p_jXz41Mt+Q(IQSt4oX(p3v!smXWxEE^lMWvz5>fFR`a`n4ofm+
zW(>0%w}dKMqJv9f)zWP5QXJn3hZY87hf!|qg+6*3_`9juuo1OOVoAb#C0N=tMMb?2
zEZ0Mf!SHT%r%Wq(@SH&?6`(~TfFWTv9JAIppgQUc77ka&mcUH$C@;L-NbuTj?X?(~
zi#u#tiiu$mDgK(&$m3hW+t=skXsf}ANmzlnIGfGsRdJ{k=Em@7e75_mgi&NvWtACA
z4KF~_F+7G&UK>Gm)pn;U8UGYL?7x8O2B9uYQ@meky3`8)yUH9=dKCRy1&IGTdm**F
z{1RZnpKV2PcjANQ5`cHBXaxRf3dhrl_%dpU<5@pz*{Ooq0IK_OTEJqTdVO4ad=#SL
zuJOX~QpZP=*D|!Y6S|_);;VyFODe898NZGT<f1SpUNpR*`_gJ@omNq<iUX%8fHCNG
zKAIb$*<)Ek<$T5dKz6N#i2-}|fCcG)P0&=XDGKE!wTU2)DJy0e5y}Qv$80NHIKn|5
zsdOVQ3rPZoP%_qmDl3wsQ*h7HmBA1BuIDzL$MsJ+arL2KR7(SFJyW{-moxLL@QB<t
zu^OzP{;cz1S!JrdC>=M0_jE$pBl*~C$|9R(&s8qKr)7K0i835Kj!ef^IBSwS<cR7H
z1^9Tl{8Aja8zBGj5`&3$JfGiOFuOUd525pNY=NK8Vva$~0j=u*#O$&E@R*rZ0Gzs>
zkng*9hxazF%x%#z?`L$fsNro&N)?!pCY9V3e+~<$?7Gyo{w`pJV;rmRv2EFw9Q+qy
z2q76BA9<DbxK~csCX>qAeLA?)3uu%?LmICjo%?_b<4QWriKuDwsGRK>2GSZdn`Je+
zn+>PZ+7VmZ{d*J5w6>;<Y#=+#(;{?;e(IsE_?*~>AZ2PlFNCeDS|HW|V8r%}DcL~@
z+qeD&iX2YUT-&$OOcm!AeOFrkUS1%3V**JN3agwfth;;37yrA2b#tq?tHDI&h|?E8
z8%dfYN%X-V+wWuerif;kc^^3Sxp@ZqzGk8GuEZq?yuP#YMLu&1oa!NpG61!I<fBL_
zV&!Aa{OZ#V0_~Vn&s;z0KOsw{W$DrU-1{gxziD&_#n-o$y^59V^#F$!%fht^RXleK
z1?)BC&A8nt4bF$|#s*Ubv%4(4=P^NYUf+}zP=T>{DRhcda-r)`T6TMVw(=9vpAF<Q
z`|D<7tJlsA{~bJb!s0Ah>TpNBfa2M(--xNBKkqtYn_5xY9Rs78gF<N?E8NHw|GGY<
ze&NBDY&wL6vWA41E)mrI7IN*=6N4R;Q@J0SdfupnD^TSU;wZrv>+T{Xz`9xf$xhuc
zic^)_RFkpeBlCGC=PZ+81MNw1KbhRuGCbJA4paEU%kFH?z6_Pd!Do;k(i61EDe5_+
zl=9=O*qKX`RH=MC@mgGgU@93P_W-A<g0Ffo$u6oW5k+o5UZ%5$8ser^;>ya2Z_BiI
z3SXSM{8(ucDj97oC!bIl#^f137G@IZ6r;c5G|`4jN``p-N5fFqrl)y3QutKauY0d`
zBa~-cV7ONIMf1(8`s6br%JUCIB&4UHr6LY`KO^}^dxjjo@r*)q?6vo2A56y#z_JmW
z#-9s>X+%HXX)T?3@!Eu5!UkwaX;CjKb{ow-;aNNmSo42xF`_TNO%8oX%ne%#H^WAb
zsLmOcOCEOLRnLC+W%XS<9%M|cR$QjK`l%}c*XEEmPW?TTT$L6j8d!$89fU-V^3%>6
z2A>{X{74uaEYVRzAE~elx<ao&VuJVVYc;%<ix9`MEE}y1`0hbV(e%T~Ws#eB)YDVb
z#zxoyNf~p%10uZkpPGfQ+>PIEq;ls?rP{YuZfb7<Nj*ik$W`*H>=X*mYQ%i!+7zh}
zHo<~oENs&U?nEW67J8$?xQCOC?{#lLl$kfmAbsnPL{<e^VC3yGwxoXHGF6Slb$*B0
zJ#&h!n;hEwb^xMvMrJ7zE@Pg%!z`V-yYLv7!rr^G>nvK*g}46#I-49`Y7>%+ha$U!
zm}v;*M?gX_%S<Wbowy#!aBXFeOEx+p428}0K|`v^z=rm`ZDXuEGG4gx;c=?S5uCE>
zyTWy`=ts`08RGetmRu2)Otcf{&9@J4ij1b2%mo;XStQH`{;Ml@DHyTDVNaGYDuh7u
zU~(Gt;~y6@-y;XDsJfF_P0GNtAxVjX<g5x9xbywMB;JuLofPMJlp_#7I+KLVtFuNq
zSu#5?AOcO=Ys4YQOlredt?1J@Ia?FTH2)?^IHvL~PUtL{O4`&Lb8(pWFhXy|-*d_y
z{qKAU33*a=_Ji_fFLHi<Z?<Wl-Y~P{c}nj7b#~B`7=BPNk&tkM!bAvyO*YsrZS1e1
zvNWwg3G|Kht8hc;*89w#T#+)g9aSI(PzS6%Ys=1>X!W~#IwRiJD@!0IqGl{>?E4kR
zAqXHxb8>1p7FsY?Ea-YUV1=q1mpNOokN`xIbEg%Ya@j?f+Lt1|KM{yDAKiWjD7cgz
zh_TEYa=Y|_i{9m*EG6eAL0Vqz_oX{XTSE{+Kp;OKz9FS{7>M}csEo88^(u}FXzmpm
zdLoWnB7yp~tOHnTw$1PTY9QqyvwJ2HLyo(uJxVi?>(5Y|zMD-1mHv*a0r~&IepN*9
z*_Zb*n*)9b6ffZc4oU9@d>R9};SaI?<^GgaoqY-##MD-8FM9wbppEmF{}jDeV_R-=
zhFWazD3|6qg(@QsO#DmIq(29<0nDfDRV>({94C;1k+8Q$xX?bbV`kd5UxKRpTG&I}
z<DNh$EEB}$&PgJ#QBlqB6UIE&Dn$cIuv?Trk^i!P97t_*4pPqhr6qqdU6}7$s57~+
zjS~*HG1`m{9dRI3t(cLK!!jk@3ia4slRE>v;WC@~!b{HMwdT@Sj5wup&P;kDnp|mJ
zPkWJg=NBY5bRVjr<o@tB;h2?D40Gv;=zSE2{>?*(u011drhK3iFFfE(*<Gw$dfX;l
zp&n@X(^X76GynCvKXx`a#Q$TxsO7)2zOksFw)Hjp2{#f|yflXOV~d$?kCVp6fup~$
zm@8QZ)0{~IInF|w9UerqYHQng->BFTV$x(|>bJM0prdr&HAQFx+x+byRT3eBT}&)z
zOsO<ewboKBkkb9SuNVMHbEZS}c=w|$CMu@$w0d9T<(F!1y{iG5n~JfQ9IvVHz{qhh
zAttu$d}b|{9;3Pb(#$~@^=v)k{qv443sd@VM02?IrZvmHJaY0<TV0&e6%MtrC5y_L
zkzUFCoVs)zN<7Lwb@7}OdXLw;LsR_*u*hnca`fmT2kFb5)0<BmopS>d*B+hnXY@db
z3^2!yly*+tmyIg+ulNANGiOx~=^dW8DG#VyY*hV4(fUE|*485Xw?N;=0gs}mdVSv!
zRA;Wr$B1lMD{bBWabaE{HOpc8x6etIXxnynhC0klSk#rl<tz|dVZ`nI#r&!BG3B95
zZj}xaUkqjGm`0c^vhTRoi&;b6T6)>dp;nL*tPM+~;3c*sLn<L=$%GJ;NIeUt-gI*X
zZ=Yynt!B1&xZR%D*xbBKM6ociA&2<cq^ttEW7e@arAb5mUsCoOlSlHZ?3v}^b2J(7
zL7??OSyj{Bag=N4R9Nw7`mPm(U;|Vt%ogC*!`PUs0G^}t5*?#mqutk9^OE>7_~Zy^
zL$5p5twIJ<Rc@6ZT8kzoHs?G#zN1i5fhA>=gXB?OQ)zFCr9OTe15jI*SEgo$bkJ_Z
zIMQ|oc930nBHA9`MUGpEozI(TMBOe;4mN@~KYWJOVzkAP5%D=?rV{EHM44xiZ*a&A
zkWB$^g8~@ZmxIq7NADIP!U08uch{BN5G5ThrGQctdu}ZOE*zlf8JaF;ig#3v6Pe3$
zqkY%>Ow)sGZD}x}$EyTt*q0RW5h%$ldY=*b4?Bm8o}H$0V9D(2;jLKSo;rIiw}@q{
z)QdtM#2bsFZ<MwRpf)xuoN;gVf2*!z#layc&^fR&?QUWZz`GeP%j<y?(3=kpC+9B-
zepvF?!oK-m9ih|1FY5TxmI;uFgbco4sjCdtyo+j!4F_ED$lT)IYY0jOjqCZwmp)He
zGSQN^$HY<dF`;2K-n?FA<7lZO1M;y74NsBUoEKkHQl5qd;7hXTOuB3N?YlAZs+|vJ
z7y`<-;a<&YPt;t6*+!(WGBSSQVQd^Z!Itk$UttTFO<)m2BO+oF;MwsmO-4L4<F=~^
z5E@xzfsCzWA(hk0Cpz#=AY?Y$nmQ7pL@6edf1fa>cjCIml}LJ`*z1rrM=aj6`1kqe
zC$O<EjGZDu@%RMd?!oqiGbAsf$EmTCbVH3gw`uPcHOE)sRa_qRY+ZU`c*Y>k-F^-Y
z&gRoBGS5#o8aMK{B?I6LXc_ny>Y|qzua+N7GSg(-H)4&Xl%gauS$Iw&c{*Q@$Xga;
z6s!Y+YgMrBG9fOYw5PY5$s+kyG{o%z2Azbq`|L}q@<ZdF&y%~8CMDzBTf`+lsuxRY
zID>bMQY4!x8(P@Jpy_HEl$0Tcr_1EumH62+8)vN(lRHsi@E>p*YM%IoQB;~?R!Dt<
zOf#jS!^lX;!|ydQ7bN9P3M21Fr6*yg9r-pPdJqvM$}S+?NGIi4JuarY)Am|eWjqcQ
z8i!e9RXSgDlD4WXXJ!8k(umQQj$e_g{O$9yG51fMs3zUHT3#<QTD19zTUi3#!5sCV
ztS=NU4)>b5x(Mw`B$#J{T9=B4*1?CwCN}0WU1g_C(bLImkq6KoEC5qZr*|?NiGq-)
zFAEg^Jh$?$wpa`)b2~<LCL237g2J*HGyoix2s_)truSm6Q>E#zu+Efj3i;LH?0Dz}
zVCIkG{@=iS=Ksd1|G!|qlz^g?oa+CC`HK4gV7`E@mC^qJ=Cd&o&@%mD`;Vb4CISv-
zj{k-8*%<%rXbI}uiTx*WC-~3D|HAo<4F4yb&+y-QJ`2--{KtRe`9lAAz9PL6z4HHy
z>i-X#|9`W5TN~s5;Q3bncEKFz9qIos#@;DNv!IREEZeqi+cvw5F57l>RhMnswr$(C
zZC8EM|IC~-|A{y;GnW~WH#;x(-ubL|t@ZzC`Twhu{~zK0e^K(;|Lc_gr;^Xi@m~#U
zY|QNcQ`i6R1~s<-kp@Qe@0=`cTuhya7$s~BT};JHjqOcL|JAg?IJ-ER8rs5mY`Chr
z^DSQkFv!PY)(=%z@*QkOrzpJ5oE;pvCLI;9$0HitB}~}jlH;q4CDnhqHIR0a{maPY
z-#zv8Q=EN${rI|XzrFO@y>;APopv7|`=vPyehs!LR_HKbL}I|*2NdHn;GHR=>@`5a
z#K|WFR{YO)?PKPE2lB$0AysB*sDy_XtrB_=)|JjnFc)eB?8rm}kpen7AsvpqY7j06
zI<Lvy2L&rx@C`(Yg%Bd%rz|Fee;p+`pv0xh2l4mMpst+3js@Qe_6a>?8w&5IyP6Pu
z^!@O__Ld{i*w#_VUNWr)Kw^jp32N`?lM=LSuxsCr>Q8Q48?<O1vmh<9sztvN6J5P!
zYHqzmjS@U2*Uf1g&=`K`;8=Ksk#0T{3B|!RO<>@@7<hQJRi5tB+*mGj7q!1t3Bu?=
zR=DVU#7|8oC5$iZF@SLmJ;v#sJpq=0)G8*>d*6`f0sv1TlH_k}$Am`&jsYp!cK|d6
z`{$jjGxCSd@+30gn`GE;Kq*P~k03-eux>t-y(Z8Wy2O|AhqtKx01zGqBJ3TYcSz7Z
z$;jvr>=rg8SN~Sn>YckA37qq{aV_Go;l98hcug=k4A4Ho-d=ULAy`-8LZlx5P+XyS
zCZS)u8$&~DUlX^D0QBOD2#OLkjKp}bpkdSEFa=_>ASvmuoO?$4pQU|FE3jZdtK!`*
zwX0H%1<=DNml!?(@0<eeQvQho=)=@lcrW)IevYe+6%Odz7GI|hE$s~FK=I07`-1Qb
zz_xPB&UOzq#Hc3ZKL(8Sd<XILCpUs9Z_PhgG~OZT7Ql7qy$8QWcmwc%INQsEYHNg<
zfWJ?bbFi0hL!26hig9)W3^MpvTs>Uk4@AxF+~qQ2BVi<>d`7c6hw^$C80_o}b-s!B
zD>3vYF9~rM>g`c+_Mu6-kfU8bVBRIVjTqO9dHU%g-CyN;YjD*IV@*Mx$Z>N-xux`8
zDm%6sz6Qg5((ljOlW!DF|9i--ge2xLRcDf-Y6!ZV;H!joK@-)6rD(6MWEtDBr*Vbg
z(MIc`v8{)oG8D0y1=gVXL@UX<>WE)7SYyh*#X#^rpsn@fVvR*+jOFic7WTR{8!ZQ_
zDwl<v@RGmbj<%ZhzYa{LW@gl$+K#gJQw@co7X8LL@;MG->hazUGzxjvNRRX{-Y?~s
zZ(qP_baHF;w+*R?=Xep|TPsy$!4X2Nl@Dloc<Ob~C&t)c*u!r-QC(`;bF6wk*jOYD
z?mI1R-w)3j@`Y)fQi{N46o0YN(S7%;cuBo8o5Q?B<#)La@G4;@UzOFtOgIjgU#%RE
zN%sy&a`Vx7bT?`*HWIp9dkuR_Kowf7-rBj%yYph>T5Y_t(1pZL<?d`g({25-wq43j
zza*z_Jtkp3ff7q458nDErop(o!t83{nZ;0zu0eSYtn67(r+hpHglIz-Ju6eRr|&n^
zzGmNH*lRiKe^Q}5@74)`+T1b>X9KH#Eiyz&@-C=mH~NE9L$mT%GK#Yj#`#jx@qL9P
z%ZqS-7(@P*1F8X}AAQrXI;qSS7eU`g2N>{?LI2VoD8HH`-LL1DN}C$`!9_v+3%y+d
zr_Ye02^)$b0G9!oS#eC@#KM{$ep=$1KrBsR#~<4wMeu1H9%>@IM^Pe~(m?2;h%Q{*
z>Avk(IlB^$vI}WC<Bi|v`y7$mFnfMjnZofyRAh&s-9m4iLs!qS#$Hm1#hkT}8L?81
z2itO3?Updj_Mq;!*s>i?R7VQqQH#9tyi>~JcRQO%x__p4?Pz|)3;%oR52WFF6m;`c
zjIdn<TRbW4lf9U%rG?S#hxR7qV)C}C;p13%84VU!$M#oX#KU^IcrtKA*g8~kwfMaN
zx=&+8a#lsA+<G1K;Bv<#ZRXTqlu_-1w^fp9`HVK@4obN(u&k+GRTX_M+2eC%$1$Xq
z;uF)3&{B_zZWM~A%dP3f!8YS41S(?@j*lXw|J~fkg!1gFK2Q1Y&Vv=gQB4-TvrgEy
zIKjoN&XTwZ;L$QJUqFwZ(6gO>orh#u5@!uW<Gr0*j6ltMNU&}YAER(RJAud2TXVj9
zA4Tsx%~OrqyXR+xz63$&+P$AFYj1J_^PqJO-dK|TNN{-md}Jxaq}Z|WQ@z^}$`?N8
zlev1U7{gWPB`g^4ldzOb>5dsXnJ?4J#k&z%s-;*l2DeSKr&YL9YC`eenL!%aOP9Td
zmF;%OV%z@u&#mqxnbuTIrblMSVp?J0tLHo4V0V9>Q+UYsq%&`6_0h<NOj1|o!Eb$i
zbEmP^!>(;T<Q(w_<d+oN{Bai&1Zu&`>-kq|>skio>-M#=Adzu$<I%gX_2QxaC^18n
zfEbdihSh6=2T9Q1zkPfd#z&FUb)Ry&dY-D<);1bT{T@;ImS?$jxJUCG8-c&zNLQ|A
zm5f{>TB<QR*v+>r%q1GvxGQJy+xP{}j+DjV4$v-O2(`qaQ$Gs+;ublJ>qBnW=05|H
z9^a{+c2tiP-dych7-yto7;`P+G$iO3AiJGI!Ac%grhF}>BIZk|WX`vjd&`T`j{<er
zQ+D$bc#IHW5{O9Yor<@qPY%o#Ug<q-f03Kmp{i9ika<T768)hMo~9FCGoRL>_7k-X
zDAlSL=Y-(8Hs#=ZGCFuF1)8J_CtD=kmM0G2F}uI_+~a|TZ%C9W)w7+1th$nY!@hq|
zuRtWGt*;CuMoA!oxpCI{3JU4D<QfL|?43)p?cq6Rh8X-Cc7z*Cg-gX2Kj^7UJ<Cv(
zQ09*>us-QY*>6<Z!#T8`c)!-7aP&|u7XqDaq9cj=ZZ?+8da7E3{BWwJMnKquR7_Ob
zzJab>I;3R1&S$EZa`%^KuyIUOok&!#j)Zz=LUTeL&_P@k4xi~ni?ikFrb_-@VozD}
zT;(0p_;+KtD|qo;y<a$6eI3;gMzCV?4YRSQqfQyu5v@4czXcy3o{RtE1uph7ATnZp
z&-DnSa2n5icOoVy|8Ip4M|(8yHVT)kh+50x-B|c&s@$2?&gr0!sLEg`^Tc@qg=x20
zY>`oI7a0?cVskZpSG<;6)KRkuJSSdVmR7mm%#9f*Gvds`LwfO&ukndNW;F$?>wZC$
zdbIc7T6xlR1o;J7>8OB`IQ@&GP@6@E@n`#AK6<q$N32C+DSL<%5(y$L#>CR(r-=`l
z=;wbn4s8f=&Z~^O9JCL~Tn@NX*_ucHh~GTxpd-4JQ>OAnX&(*QtK!Cn5_3sV*yF#i
zgRQhTR1fvvQ8J2{#RflRSW`yZl3hrwLoAoPzCezFeK@xc=pPeW(nDj=4qwOKY0E7T
zet6pG0tpKy!Tq{KK~nR@ycutazy2Nbh|;BJ)-1aHuGZo`9|g!S8{dE8dl$X26P235
zh1=lGZ&7~NKjK%=)CR^@#2+L+9QCP?mHzvkNr(ZGa_Bt2Ij(-#@<?o?KK_}52wrx<
zUOoy{A}eAJeGP_P-dUbe@P0i(S8An*=>;aTK)u;r*B5P_UJ&{~)~$sC!=YZaJj-Mj
znNFDgZoV|8AYlz(cBRAgm@h{HX6f;##Dm@`z-;&NPB_6w`L}e2j4ROR6e2-&OuL`*
z0Be9*tWjbub28qk$qSu0IgQyu!mmU@Sm=9ZYDK-3UHi%2dNh0M6sw!&%x+41(uKVO
zF;wBtiRf?%LIHk-*`toN^>&8<Uwh>)X;^z#<v{oLe)IcvW7`mXX4qX40eZ*BRXFyZ
zxTVq7Zk57{g{UBj+>Tyh#@U4sd5>&T_zFClLK{<eCo<;!1!@xBC_lE`5;KW%W_x4b
zLsxf!v4Ue*1_kYfnf;e($PNT_<}*&0=!%qkUe#ZJ;EKGc>-tas1wHeedylM$fQNi&
zZ{y?g5=q(@NCumAZbS>WZVM2d`DuK^IqkK>WJmBrUoIt+Jl28t+8h>dL`M=YZnoGe
zf+2UGdNk0BvCeAi+B7PZyRqg56pCCAzC``yOMidrF6`}suiRl3ZyVYxH_D`(OD-af
z86QQf8K`!V)!S6Gz=lb{A5_c_HD5szp=BQJFEZ@XXw0PO(rQxt7~wjnEoo;HP3SQV
z;g;v%Tb9h!T98D3_-JK(Goe!=Up$tqaXJAHm@(Wu;!r4FDrZ-q<WN+3EwLtw<3=}~
z2*wzVK$68Z&S~9y9CtS3N~DW**HAqXJ2s~U!g$fJs?u40B1!r)I6CG-eFL#EdV28A
zv`8G^E_zt_-5SDam&;z$;5ANn?u(yG5sTe{e0wDZdmL}3><kwC(Z~$<w|84GwnLGA
zQ<$lEMVy?8>g?_uZnr&gnbe5B;D9Pinu1@ST07ycBh`4x72B!_SM%+y&-DZ4$LZ@;
zMGyS%eEW-QWEaBKuva;+9=ixodR9*d;-`+~aCKk|s=+JV!_3Sex6=%G>mDA<tWb}A
zS87YPrizD`@jyNz>Mtj>gngLLRfQ<2F1hVQ>xF0>0*=%93x`<-hDS3qMk#(Z$mTB5
zMrOfcZ;zsD<y$cPHPDuhr(_{Mk#yIztMc>Gyo<QRgG6=#{!1MHB&zQgr+MZwUmkvs
zstk<n_&$vn;LPClG@*KURu;IJ;I~DBNe))au~GCI=jv`_+`wL#RoIFuTVBzRd%ucq
z<&z7({x=u$ahgZ#%fZ))>|ODUSiQ_!wVa2Q%V7U+BCc{GTW*Fw_ohMaH0#feq|I4Z
z{fcdD30-L2Ed;&$jddLk`Kxgy$<9K4U~DWm&apbjOz8|Rf4H?F`ib|Z^smFDyAT{(
zJaNah`@kh%9;F!}m)Mx9qC4D=yBgS;CK`VbuBy>w&UGC|U4}<{jMEC5*1bjxzn)p^
zf{x_qrjEK{`B$FoA0k?(_Sw0dOSHpD8T&7^^#8@I$0U5`AAhfs8tar1UdkIzzQprs
zn;c)#wSU<=uf!xmBf!uj`MEbww#CTO$7_kU4;CyP_ISuFjzG@Ue>^3v=fL+L#6_fG
zXKU)`cFCFaXviN+O*Y9EBTIW0t<Wm09j3LlI1bINK1i47y_4Cd+mOxb^(-&UmC|WY
zpw4U+r`+UuN~3;xH1fJ%$9#0u0X(6D)p=-gai$PxWe%S1H~ogsD#pT(Y{$7o+R6fd
zSwB4d^dOWla8<*Ph*~h$&LImRtUgaf73@0vW%i?7%fW8SrE3>FD}M`+6eT*5>s&xh
z+NS8GRb!)QcyUcN=70TIt%)*HcCKl|+l?)8+FqJ4LR|R@$rKqh=1;0IC?&_H@h9?J
zF8t8HN@HrDC<}D@y@{4&cS5LMo~M<u4U+U(yHwk`c)h86N(*24!6F*$tm_qP@iT&O
zJsJ0xGh(i)QLg5Fsgst)@yc|UO=+8=HDG$J$)Kmw0A2#NC7=xUnWwh--=q}Y2rDKd
z-Sk6$=j3a;re068giDpBXD4O?KAYOBbwmk4V4%!^*8}8NjgFYBF?5G*0t|r{e{j$N
z>>%Zmx`IFl9VqZdCrwU-VH}Jx_@K9(8VKqKn@#4LrDVz8T{|y%3@LMNZ~tDVpam(G
ziC%k>UHi^vi;^z@11XpBVBy^=x%gL6fP~N_`=q)vU(~ud86E!~w{Tul(V~tSIVAO|
zK=|pW&5)ILbTgI}bQ7d{T0hnKjN)6U+-52EHxRHQd(`)A?)uH0<lSA67Jsw!y<P>=
zTn0{wiKWr;$;Q=Hw@ZWrkQKIvG9cpk?-UZKNpCX=pY!OKM5#JL_{*Ho18dn0GPUp<
za){0YD&fmgir3#$Q{;Yo%9ukR#FdqV4Mm>J6Kc_Q*990-c_;70EA?mU<NQ$prOQR&
zVUpDhR)|i!3Kg%jwJ_m}Q7Sr+(-wQDFea($nVI2zW?{q&c^du?YXO!({57hp5!>bn
zG!=|w`dO0^M}-VRtP9p0KExJWeR=`24QG>ras(*q-w)`;JH9Ar)VlU8Gc2@Sji&mK
zXKp_k_aY~SdNDt9_Y;>_O@jmc|0qg9EGRjo^hu3O2-&N{fD@QTwoR=QxT`z#5Fy;l
z`n=dE-t<1(>*Q@0i)+f=HSXMi9mcGAE{d6*Y(Zz)*Uebew9f=rzmtvzB`1&DO%K$y
zxgk@Cya{Fh2d^Y^=RxwTg2u53=5x)QLK-e%bs0qsoYn3=liC-ZItl4>1%Nb)RF$oY
zbyiW&HkDYfs-#lz734dq=CE<|h99x>F&&{nh|YF^QhkgidW543;cPp}1;7HU7liLV
zPzkTXOZz)nzTMPua*CIkx_N7VzVw^hd&wGJRLc~^MBggXyvlCPw_Guio-vu8eb0SE
zp^M*&xK~yLa&NxsC;7I1$sN%gl@T47|7D>QH#Z>JZYAmHeB+47CQ0bDD|{+@1in}I
zb`4#n(S?lqSrj`Q;;?cqJ~%Q8!N3k8%;)hk0$uJ>A!6<5h3IgnpFYXw`asS`NW@yg
z*7yjcVRx^%YPF=41aP*uaq-!KHfilv%v`c2T`F#0X*b|}+_VF-PoI)OxRFZEvQmtm
zs~v1{;6+<uC3jeJK1ZQ?30}F(J=6IESuhnz_`e~V9RJ1Y{=bN(ytaypvf6(W&HopB
z5+~a~e-an_e~2bC5jQ*Qe-X|9Gz0t>(frTyzli3)hJ*jDL5b_1t?7Rll-ODR?fQR!
zrU;`LqavfyKbUF4X!?H|lC1x4JJNr+r7NQ+qu2l9J^Bxz{9lMA=YO5T|0I?i|8YV6
zU#ou&25ju?|6B7BGdn96$N%33gAQYtBI_mwoKE9LBOUzB79Ng@gqXw_-WFRIn}7dL
zl=y{*Tl&_y&M(-XIiIIn|FVzYcE-(T%zGXyaSExVlb5l?r>^9u$ghQGqN?QRx`4#3
z^THz&EBKY>b0l+=`?scW?lfk?g`}xZEbOjqY!Oj7-8fFcEz&cAho<F$ZES$l2?z+l
zWd5Xe{|zl{E>33sBO$65nUa&UFGvnZ1CrzWDLttzO>8EI5_*2^U*4M80k%MJ`oTQ_
zY$#7};qBR&BGlEjutJ7WQ(ulz$pBjvp|Jz0oDexn8uR{Xhz!qerWV@SSi(CpQGl(h
za|c`d9tAeALS$+DDP^N9>8%&b0vZ9LgmhND?6o_&DLFv^lwkoOoWuxOQ<nD50$Ef3
zDK2Cld$&i-x&~e$Qsu>L^auJ%)>#9<j`h#~)PmpD-q<sldQ+NHs!Cczn)mHiO&lZu
z0v6XN*4}fs6juC~fxIJoQ_NmU7ywC6|2C)fYMUEd$D#JEZ*9Nl>QbBlv076?@*2nX
zwgVuX9h!bHLn0H|#~uWcnSk)7>7((ducorIenQ@HKXY%s%(MRhs=bUMA$eo{yRQMw
zAHT7xva_eI>C%ui*MCmfTz@h*7jT05zGkb&{?J_kSJ458Ih`Hfa(OhINBwcd9%rZK
ze!vZF%n%zMfzr}-h?r<McmeXzdGEc(>F2$%M*xTjfDY7;ef}$eupN+G2)IT80J>)Z
z>`g_H+1Ulmceg-aqcOl=dMqPEeY^aiagbk)7P@}`jF`rG&Do=X)J6a16&3(uQ^AXy
z89<Hl(B`X^oP=nyx2cY){ws8DLwaFjdrNM8V|@w6z|iKk^*3OGUC8Vt#%+b@vA64I
zQw4~W7IxBqzFbEub0hGF_|K!@uM?t101SXp4G?Iq9;cp!oLT}9q+9iePX-_aG<Jjz
z{<Z-WqJeui0$krHqsq#<dG{bmX;(FXNO>VIcROD(kq|K>Ujf9&y#bnl$0~!XD~oG{
zxlbKV*vsB!K<uo4&J#cu3p%d6dtK1D@Wcj=<&)PEAbS_Pu{1n?&)5&p|LIi&%s%$A
z+S}dO*+tZKnAlHXS|nz~pXmNgWMw0+SzR53;YK@B(yi4`yVWq=z0Snx7*w@;QpX=!
zVjBLOzo_>(x$`5Eb>~|6Yb&{(ZR3|Nc_y#0nHk$6y*wlDkJV?R^hJKHOZzao9QehN
z#DE!jvVRj4QPE$^iB(YU<|f%zDcIz9RP*kah8Bx3CQw4{%B+cB25)f24sL$>3!2iO
zpd3;nG!&xKKF=Ew>a5XtkNQ2z(I;U>3N@QQ3h(w(UNG;sZaaP-n}i;oi>bzN+QAgg
z<^nn$4d=NJYue{IZF9OCW@RP8?H?HF4B(IWg1*t;2Q&=Jl+Mj6yZITA5E$Wo7siXy
zviZN+jJ$uu*m*>QqX_s(rW_g_SXPB58#I=h=7O|d41%%)nG=MP$NtUD#(2ThIa0`D
zeynD^IneY#XA}`iq`B|B<^(=QKs@RSofmo6=zhlLrS(;zTc+L*ZpVp9vo$ex?kT8z
zh7_4SPMkhec`oSMN2kG+ikuV-LhU{d4==`8Now4r-5o@s@h6~n*&g4qs845At@n8o
z?a67?(i@iG+mT!E>Zmi>`N1IhFaU;(ar_}Db*VCvOM8jl<HV3z8O>ptd<;C3k%(v-
z0R;z4|5C!+XQ1akVM22Z?(}M~%|c4+F-!eXd2xMKGb#-J<%YkKkUuAR1e9aSR>aJ_
zs|ARTdqMM4zk2BL_YLlf6BQ;pC{b^v=e>PSZK?lFAjMNQd%GpoDM1j}$6#dmZ8-56
z0z)f^8KvOgb~DBF3`-$$y-p2%#pSint+r3NvTy}~c?XeM|DWq=<HrKQG$^~^yOHe)
zA^G&s{d+;$1iL9*bkDT!s+89sPtU9G_L(Pk!WC|g$@8jh5a=GnC4S<z4j>-SZ9lL@
zz+7}sto74GRP|2FUW&*Q?k=@C1|uF?#UxjEcwGT3%U9hQfuWmJITmOMprh7b$+By`
z%f$HCAb@p6!W1xJsC_QZL@3o^24<`hdm(W<Qkc9M%KCTtBnBn5dx6jdPu5y2$wztM
zUmCM05s{e2;hQ;pu1H(4&M({O_a*Ah{I%A|C*i2k!MJZ^IrtfSNCEIIf~IurJW@T3
zqS2q4R~5+iq`RN?-Ox?jKizs3C-|clE}X-)wdn&O@99Rzbi8Ul7O|Q%YoMJ6?$-$0
z=#CLTNGe7RGG#tWn``>l4D8@5IOTn^c9!d6vBPuLYP&eF;BIj6ZDKQS51Yo9n@1W-
zPHjy1<}AZ{&zao_fT3scM%M(@YX60BK_TaNO|26WSpUcO1Z-s*s}*%ztwJV<)fzq^
z$*NS1C{J*L<$%_Z=w~dxn|jK;Q^UlO{>0>R#o`BkjXy2Gi}w1PA0?;pM2!0-Ks)Ip
zH@X?W!LJkP+N#_;(8>ON>-Xl$zxVAHFezmOd9lmwYjC9*CIfA)Cci5Wp9@uUv$vP<
zF1A0X-II<+)51q7bnKdoe3elL`pzV5fz^|gyD80%_Ki+&9)@hnRXM9~=atB7a-dQ&
zM_tI9w6_{PO=KW^HRZ{jPx7L@$johwa|bg6V@Yykr<x<EmCq>S$Th9Q>j42brn@C&
z%r!K|_}YNO{+c95YPq`d(0rVh9jk+z2ZD<D-UHTK?FX^StAt4rfQ;jK6Hp9FPWv6u
z$DssmJ;oTUY!X-8?;qJl`{-O+s?JdPzv+9>>l3&0&annB{9Cy@s+nM~SSy%}E4m()
z+BdS2DGKoldghx#F4zmr_#^=dy_3Y;g~1*I=y<Qug^~Pn<equs?`IF;rPfF-$PZte
z=5g;z@$072(Sc;a+4pmX2}SNtK1XqIWa5uv7FyF}5Pannc<U3YD`^A_VyyC0-pn{O
z^GR_8GYLcDkR+VDjjI`@Fj=L+(>0K&Q<^32u7_BlcE`1FZwZ5$2R;*a72OqEyvr-f
z#}Ko&&L(`p`1dxMG>E2T^C6Xg!S*njlDr7${Mk(pJHpw(<7qQ<2s3tue^XJG8(Jn4
zqQXeGGhuH(WQAKMj9?QG7BlS9s`YRkSpEPLX$+I;lBtE8c}B}6!RABDN0A33^zvjt
zr;Gv(&YE#@iGbce6hSIh_rQ@DTXn%KDd2Fik<{o`up_@NmN^*6fe}_lTWVf%!JRhq
zKYTbpLVNAL?Vo)mT=!!fBVWV3rAsCeHSQ*VtuLL^{R%Jdo|S^zOvk^7FIl%)P@Jt=
zj@e?(@8`%&+!ua9w{h6IU>0TJ{LwS8fk+K3t}&Qyrx*Ne75zapw{Fj9b}%;$=lvCj
z2KEYpiPsM`SNe5nOx2Q6d}vN<%2(-&-#SEYL5VbL*G&V#J8!oc=#^&xMJoI0LVY>l
zn3DnQw3tF({kcU+UDr9|X%G{|sZXkeI#gWqTR~}&6PR3fe33~WL}pn4Bc-S?ItxMn
zS{1{DD!=lK=W<niyggz7#3dGb-;QBAFdye8s6LegE+)}topcnPvj;B=$(Y&vFfXxM
z#equug4ezj*B=ox-qqGpkbj~Z@7DAjulB(0$dkf)`_aB5hR(i0N+CwK{|FoWz(JQu
z9{EAc&O5*L-&hK-CssB}ila1TOOr7b>@9%AwnfQ|{fwP1TE&pX1EN{^a^e^Lx>#kF
zfE?3PegCU_j=-)Nt<Wqfl~c-1k=o#Ch8Tot>Ag3I9*>>C^go4@nzlF;sVURD`RVt`
zEJ$i9v-^fRb#KmUJDR>7xRD795GbV930x*?@NrXOe`VmXyp+P-=cpN7q3I<<CEQ^t
z0g!#kFqb9M-yFDn(vP##cq+FaSy>imj0l*XY#VUl_P@0^sblth7SOiBsn9U3hGJ6E
zPOF}+<}ZydPOWhk-?G`TVwppvyT6lExtjLQjMHIG{X&&)UM?eL)pAl;U|<(BaIG&i
z>|b)`;7J%~12wnmR-J9NX!^~Hf{%&ii(TV8Ifih3f1h)6yYfC<?gfbXPeG8+*DPIs
zQcetkuy>0{5VdwBS7}qH`(Z{qPNu^%kAGXXJPg0&2J7w+^ntt@EvSz-+rp9&N)D=+
z_7DC<lgd!o#tmo$+vy;E=?^;89Oyf&V*ape`Wl*1`G8Wm1%0b;k5;E`<cP1IgdMUZ
zG?3Evc<=%ngZffxgiURNvZeQsb33?*{=Jb5&PZ&{&k=)KtO;{mPQAfpKdX`{BcUPS
zs*hCfBJYp_peBNl&hMLX$3}t5C(MonTPNYVx5x)zvM#z-!Pw3wZqrsFLAS)W#3~gx
zNTmPu+zk)B;QfnS-W=7*f&i~W&&O|yD~3n)2hko+p@sgMC!H}?H?o9B!P!T>Dmr4S
z@N@AEsRGgB!a~0_;nXZ;&Nen2o^~O`iSbbc?8o^aM4Cr8EDB)AV5TWoV>H2C_dL#0
zj8)pufM%=7I^x-1nxs!k$~!9Kq3YyQKCMuq^d*Z{`t2680}5q74nLB?p*-gBkXP!(
z1=_ZlR(1ix8j?g{wSxPIFG9SZY^KumHEI=q5Ff9Rb8-yj>RZT<MJ};GI7vu6_Yne&
zCq#kk$v!mc%_u((p(dJbq5IB16I|joB_I%k#Kpz}rIB!RruGKatQKX*4r_f5n|Hpv
zdUBNY=j#|H8Icz^`~!#<K|(@1HRww@xb;c&sq2i;8|sZ@HOH1$*ce$Z+c*l$pT%|+
zB37zxo#%c}ez%`d$CMdk2iCa~xU#e=&4-^<tV4m<B&qwUXSte||EM3u*J>22(=@xW
z5aox=qGmSy8$=?i!ATt($r~0)cn_(!0?EslQmI<a_isOpjPW!iUYn8)bl(OBJRJ`t
z)yS!B0gf4F#jRw%7i$)~tjWZLw5FKy*-4ud_N|1+^3vSDkqeNTYvADes=3X$UxB`V
zg+zxDjO~=_hKA)p(b^x*TN!ZscgpQn2sB27a3*;$-3v586kme$7N}k{Su(Vit&I(J
zH&gbni=E_P95^wbe4m^tO+S_=*!OvzoL&3&?t{2JeUu<^<9d18HbIw(xsn`Qlk_qZ
z_I_2qSU+AUXlr!!GY0K!ZBrNMqd%r2FUG=7p`Wl*7iUPd9ZAS03f?Yydmc;QRn#2X
zDnqv?^Mc59qcS#+`?3tly7x}38zBsu!6A*3ZA?a~cxCh!SEc?Ot+qFrO}(@SV3E)q
zS`?PP=}uD!zAyG=Y7gI6gC%H;4cGBQ$u6}7*lvL}tBqMWX)*u^;GGT;uu9?vDe}nB
zDqrL!`hQpnNuQd}7I0Q?ofbKwDdZt-B;n0QrzTvkCN!tPy_DWE;WsVEKci#G69~AI
zE_@VAT=u~RnL28mtL!vTV5i0E@trKtY}jw%3%&nXoWCD&a9C}dJvS);l4{mwd3y~*
zWq38_IT{Y|3|<x=Ffa#!FlA8<tEuD<a``MMu)+m-#^b)jox_5-I9D83=P|W0zbB<?
zJU^~~-vsI&Cxx9Jh94QJwoEj_q+3>MCJ?kzX1(u4iY|pvz{x)6fQLr)2F_q|Bey4t
zFfUAimfJLBn;~6>Y79KivcBuP71_(4@f|t!${{w5ZrNxhx<ku6qY_^fRGEPQ&fu12
z)&nXEcz4>;^RP%;9PG{}rr34@dczb|WuRT5<GKk;blSs%2+A_KlpB?MSHWVtB(``r
z5*flRJuvrVdvF*2=-ifwI$STkn!2{Ds12t#2mS6}0yVU$L+BhkYmK14|5w8#jF{U@
zSG(Y-rsjy3ZkE$ZbcHS%9VyJ<?Y*mwWj^EKAhBhZjy<UG6>-1|PUo21lCrHLzNU(z
zxbZ%_<&X%Af>8`apxc9{Mw592h0w!*Oz2I>Ej9+e6bUOUKhxm)CEaYBRc<pJ6=$;H
z;g$r8aQa(96ndqpUQ5G-5Z@!TxEJ+;JHNG<q>!<?RCbwF8|qusQr9|LAffu!rPA7D
zF+!FbYp(};27WixAybqT2_n(kRR_(***U0%SW(FjgDpUh$^i}kXcuw8Va%M@PH$R&
zG;-Slo!JLI=3LvlZ%bq@_1M{+_@>HHqXaz}YlG09DheMwui@2C6c~=%rin+QvBhuH
zI|}SN!rB)Vc%M}$6|904T2d?#tTw{-U6o_=mhQyW??i$xOirw(u##NZvlsqoahJ@A
z8H_dWMG>|E19jlN9dUj_^;bL6tMy{BC68p5Yz9bd!sW&QYQk>{vWimTiGz2c0F^eK
z*nUhTj|T>w5eEA=Pv9OgT*aV4$e!El0o0RU{wC(uB2|7Jby^d6li2hPV`f7!8X92J
zDiI}d8Or)3Z6w(417SZ<_{ae{RMN6ueQi&v-I)o)D-wv<s`%t`563l{Pf!WD<UAnE
zwp+7Ul0Z(F%G+2jG8M&<UNDP;7#B*kyaQpVs&eBs6T^JP)~S*Z8U$)2CRc0fzjtT6
za<~T|-FG1#cMs9-W+vYt#N}{ttNL3PB*hJSO^uHa^Qa}KDyyJhV#goE&~zfQw&Vg0
ziEmGR4Dn?LgF|jle96Cm@@dQTUN2$_k5~FeoGB<b((C2l4A14l;S7!3%w(q&k@S|u
zU*RW^VEK%<n5&?0Hxh~h>N62KDAz8k@elahLOAj|jnRc?&)5MkDORbnVQw7H%;(|0
z8T-C;->mB}>LC9T(gb_Uqg5Vh7U+ncvtgry{&2J9+NV2Z7r~icfk@OG!{1Uj4on9h
z+)Hz~K6Qpq%$lD+(t)Eh9gN}^HR_Ng&k9n$DHKo!z`RRP4*`ja@b2mN%%vC#40=X&
zHZlyQ9I=@^bU$Wo+;}s48FZj2;Ko?O9}n(h&JXTFlhiRLKykWtunT%JFVu@{aK)gZ
zMTzQ^pmVu0VH%xag7e-9t8%F3!@1_aQdzWQ+&?vwoO7p?UJUZFQCzb)CaD;C#krTY
zox>1%#ViffF@dy54@jp``tQh_y{71uJ~RvC^txOiKE*|J33%da<O+r8QMz_xLkB|^
zYzeF+Rb+;qLv7Aq6|WFc7H5HPW<^*ywz2<pYV;GQlr*M!+aZM<^I=KO0e%{($!%sn
ze*AUes(M)OVR*YG0G%pk%UwAk?zjeSiMecZol(_Ez!1KX;~<%;ykwyH4vM>X=qD02
z2TD_sGuCV9rO7dLK?T=Hb#kv&D~x}#!wC2IWf+W2-0ezI!Za>RIoXeKN$6(1L;yh;
zLe!Fwwc2lz4xMU}WgN!A8N)rBs{5eM$WTjb#Vg5QI?Atd4k5j6xq0He7xz?xpsr*W
zB^a|{`@zNgG|?(X-}1OZ5O#t`iyzj0_}0_X62O<cLJdJE944r_Hl)9Uk2<7ql$+l+
zMmcX70lX!qUl18d`d4tAa=`yx`a%8=@`}zP4)x%6?rzNmW7ft@yGtm;t$?o+?2Jbv
zA(P-MAkXbNdVN&lq#38GlUue?kisX6AH5os6?Z%h2VKhopb2eNN8SLkt7z=&%O|$2
z*`9L>a5$tI+&HlEWh}MMn49UZQnQOq$f)k?$t`%|hT;+oU`auyw8CR)sBR~PybXKO
zvX*a%m86;R8*sEGHSWT8k|k;+2oZS^E>|Gi5LArlunHJ@5oti@Y|ES5Wun-}X7n7U
zA^8k+yl5OfhShDILlikU>paRhDFpzH_Si1gN?<>8yF2gSEA8fxUXava3jXj*FXAlT
zNI^;A$SSF<iA0okE+7X=mKLC|?J45U)qJY%r(&F<k<nMV-xI5#qbbClj8<pzM<D2X
zv&<SQ^~$yTFFKi8jnh1Q8j@t>w7`7wR>1JF{K~NRn`n908%m9*FT-JGeR+uOusVv(
zclp?Oy1rz7g-EEaM)>^q{uOg9r$>~?*^jXAeK4X|$@ZKaH*m$Y@OYCJ?Ztd|ww}88
zKgy1z9}_9b-M$$BIvV|Y>mQ6JqLi{AmfHKhx;f4Qb+Xz!cxb1Nc2MU`Ue=su8!KNr
z9d^-FK!Le#Ck2zo=*;aa*m-_-5z-ZI@|M0sBsf^%^nh1UlsZEf6c1%N_{@IwjtUGT
zxC}nP<_`woy0nxFz5#s_yV7upgv-3*0b)kvcs;NLA^4P&KOkmDGH)KWjz2nhw*t|*
z(wL3H30(H~kfF@w)2CPp4u@?AtEOtyrJydczx9w%-IU;}lMHz_o!SYgE6s;2IeIjB
z)KDUkp3j6o%fA$|{gryy9Fo&7mQzJOpQsyCgX7T@4>E-B+0;Wb8EJdq%3rNI_-)sj
zX7weMC(Ra6g7W$n`u?l52-|`7rkq1(MHS`ka)XEIEw*>WMynY<hjJc1KO5eo8NVmO
zo+%xYLVm?$Td2sO{T$cQ5!rw1Yd8i(9ZQo%Wc;<RLQlU{@aK9;_?eD1NH0G>2xVl*
zC(ixTXl7?k%lw%;peI)4cM=F%pgSs^G*Or)yTUj$B>W_Vkjn#chYKX}p7^9bf`+Mg
zsLztru6c~+FGIrAv%n!TQ!_MPr8xtFRlbUb9NjZ{^-ncA9`M4l3?wo106}$ql0szc
z@R7DG!s1JcN1b>aQJtvWFVJJYD!&`U+kJ+Bs9k1;fsknQoMj~L%gOyh`-w^1*(4*a
z+=+}K!)-tl0tG2K&wD^@D^<dSz$#Gqld3twsYqszH0A8-Jl@djA=XkV-M0`DsjD3z
z1=ff+*YrpRO1H{Cq+-WW-}W&Fb|ap~6o`TP%CAuMR!Zzu37CjswA3B}+H~C;(_uzH
zXCFDVhj4N?gxm-$y*Lf)gca5REvpa*=J2RAyA$rWp-=2ysITyWA0G!<jR|(;6nY_0
z4_y7uuSLOLele<>4C0_i@~~2VH*+hg2PvlcM=6vcLw&E2Y@}I%1S+0+rS;5rP>%xo
zSJ4(vFTr0L5ncRISks%ZbMAQi0lwPmDnFp#$6i-i7MxH-n7>#xwU&2kYgt`KLb*G2
zg%tauSIzoRnVH42j3FS&#~KTb1&XenEs|c(3wNGtCKZN%ysY;)f>G#ulEw@$^L>=1
z6bJ&Fb2tehD`RuM%c`KNZCZsp+?))I4K<Hn+?e$oKENexHy^oqCXNs&5Ei$5Tj3E5
zT+)r0!~|qL-z{`VbK=ILsO95GD-9MmJ|lsdY2b(>FeR07Dn{`imG4F`I8@)gi~PZV
z?YSy`r)Z%>pvYH_-%`6}Qe+`K2fgakBW_~CGl9eh>BEzUYYN*KbjdMB>L1AdsTbjH
zM-s7%IodH!y@4{19k%)sHrN(-nY%wZP8X^sr+ojCH}Fdf%iXWIYW+<Ko64EPn6?>@
zo0#EOD_d(XdMPl_Tx4w}d9Y}H>>=A{R<+s27&Ag%ef1Z%H5+T(Sue!WkAZR@>M#KM
zrL24ztxFq{H8Ysi1-g^?vx!LJR%R~#vxZ>8BTa|*SSu`00xZI0bY4M4kol3eTYu9=
z3?+>h*b`wRmYsi>$nv|E@VAs|<gxy5{p0?O-EH6S-<PqaW4Z^bT(=|{%GtQr_%yj;
z1;T@T&bG5v#o@ILd%~Z>8zsbkvg=8QaAD8vg(#Yq<-w*AQ#O!M3-?b=4#rg>(w^j=
z4mE7LlT+*HnR@|babI{2>)nV>xW0{km|Ph*yscInnz{HAJK_i;6+=!trnd5L&Q4}C
zD^xivR&=I^Lb__{j;X1#<|0!F?l+v?G%$kEOO*shx~Nkm#2fwmn^vRCZo3<GZ=zVI
zjMV%N)t}3PhyBgY%ii+kG#i%%1KbT^8nJw*xH^d%IqwzUHK!L>`H=68ka#CrQuTg5
z*?+H{M_Wst1{RqXTCQ`0hk(_zflul&ququlZ*mM3G>l}&4jBlTcr-bAD>O4KZ2!$7
zVY|?uPJAT`dOxL(C-~<(d+^EBocJn&(B}KC$$<Bu-cp)f&wF;E*hZL>vkB0KTJ%}e
zk79UM^WWI;W99bZWD%}EAe?Ik>G_2^aC?B#i*<+jy_d^FVt;RWt_8x_XP>jQHd-9d
zrRj&vKJ(Pw!FHx{qpx?<Yu3*^&l|o@saQuqKLVcAOCw8*g_CGmBOQuhzFl<hXzoL*
zY-TAyD1B(3%9cDDvsdchDRkio)W8Y-SVe2rJ6{{fY)wbF<<(V?nVV#zqp&M^xslbr
z#G^}b8Q8D+OykC*%{Om>%(u@o^f)oVP^p*r*x!xqUT}F}Q%*qR;0C;RVYE&QrzJfp
zY7_cQXrg1L)P8ln<fw)A#fY^zJ3oxmI*O3utf5AaUc*?(Z?1FnV-cirV?7Y?$Y~Q#
zb9sd+mS0dGdBwQuQgA1=IfR=lVkJA*R%%(OvRc940mIL}blO{i2gi#81;AOR*48_^
zKy7Jdhw~H881Qf1$*~rT5J!<3Y>C4+E!;C`leP3uj@zUpIyyY464Z-W5PpZ?YJ7M{
zo&Aj_B>d_P_vZF4<oP;}pq45T;paz5rttJe<%4%_UbXcek%+R<>(G{I+nAx|k4+t<
zLaq!aH4cPic~gqx7Mu;M+Knk!vK_R?`s_4H{*^>ITg0GUNlfPbt8<(N&v1`R4Jr^i
znPcOrEFz;`*}qGYdu|+tB!8T+>`+^Xk<5C|wYn8GVT<Y9mkz_0YfNH}gU3hiHwu4d
z3JI{w(*hgOlT;A`IP!ct0`=%=i5xX=6NF9uUi6Z`j-uF3Nacn!+)eFvmzJKgj9+_r
z<yDpjU+JYg%>?Z7TQrnB-;+>|<p9CqBFcw$1P)JA;OQRXdJf&`rK>{zmKk-o90!18
z{cIocbWnXgwI>sg*+PJGxocPDZ>!*hIB((hXO}6<IvBB@b7RLxdTSpF9v-RTwoDEA
z@Ch`la9yR8`FY>53G&TB8)ZCcY$vFEu0VtQyaPQR?sh!5ZMt}5pQSTN$pL|kX<l;`
zu&v$~CI1XoQS3`$;wbhI(TI?{Hwf7XciWz?_Qi$$0jJd9p}2DK2wpPC2k)M_Z(SF3
z{<L-QwFm6YogdleQvwYQn$H3962$1&!g+xXw4|kM4o5B~8j{w0?~f*PW+IN}n3h>W
z_$WCH2dMxC{NKbEvcgdy_}=;h{IiNG8LxRFFBo=qolkd^ZW<f*9B3gVVtwD(qXa=<
zlq&B7=Dc*sY8+Y#GkZIh=}HW1*Ay4ehPq0&;si~;A?$aFLf(+f>ym_^5&<Qe{;O<-
zecTP&5_QKh6aMJDUFd>>?K!66Px;$@3=Th$wCyj2Vc*Yi7Kq;WPH|2pJn9c}y<|Aq
zQTu8<@X8#{isrSal4yPp$>MJJH}(UaRG?}GOij~|R&L+17%apCj_J(J0bXW`m|f|p
zsHDm86Xbe|NZ<$C@*}nTU7q!NOPN<*d9&wxT>93%JN`!5kxMgk{Le%BUj!GqbPTC~
zeHQl<4QDx*H~dH*vqs%cN{kZ0EJ_eD-hRu(jrzPt*=Uy_pbI6!QisI`nI9mF`k$L%
zj9c8fx@kF8Q_+{5)EF&@njBe4B$3(vsW+U{BSZy&@6A-PoSjaDw#~E73GYx^EE5}=
zkMJ%3CDrldglOx$Pxtwi5PYK5=yf&z>YP^oHWhGKQ}erGW)$e=)1OhX4_Y_1s~}Cu
zFY$Y%R6Ko*N<!Zype5f$Le0@bL9KS?$Mt2~0?71Gj;ERKg`VM?*U<$lhr>N|t(!qJ
z{_kh4GEM?#_BbdUysK{1#QCFQn}ou?`W+dI-ChDLHgQ{_2Xr?y_cJyuvu1HqgwP%^
z4W}1|Dq0rO@YDQadLlc&p<!v6*<-%)mLFBL2<67#vVCqiyyB3*W2oiAPa=M6L9;aS
z-}(aNksgLK8p%Newf}0j956KMmL?t+x-Cm@<RExj=VX%4e{Yu(_N_@syKeTc3@*v=
zLx<@<@m|A#c8v+X^3cqtqc(=nOiwQ`e10+757m_@JM}~^P$Xmkc(~~T1(s<LZ~tiP
zhMt{Y*nCsXy3?r*A+CX1P40B-G$=;#%B$NHY$hTnsgpD{lPQLhl#WD>o9fpsUT5gW
zSa4Ta80T0}*g`Z7_>E4Z^K0<CLl#1`3stH86e-<b^{JM7zgZ|PoX=zF20oH=A7#q;
znFmc-7n-=x$6xsxJBW)^LOhzjU*kJVRVF4g{18l-OuH~xuToEQqz!EImB)FcyhGE~
zLh=psNeNH!&z=bWj)r8LJsZP+K}f*r7T5dK&3XG3cT_|v6B((y(mRj|?eLY7LLUTM
zTu(AJC_zHH*civ>69+7q6P>7IMTH*rLq#v<oTX<tP!;gB_12+l73b}V2NymSH5<i`
zL+YZYJc!KqvAC$FtI^QE-g$XsLEAhydF5;Yphbi$e@%z(G&}}Ry)MwXX!cTtBK;lq
z%U7sGFOA^qnD|F+Q29l3!6Z(4I30$6JP$a8lbglfToxP$TTNMy2rh_O`4m?&Yh2=Q
zM)rAlk(=~Q-_59oJ+|bJ*D>CPsKvlDC9F*l#~HB71cNgNN?*6QtlE&?avIwtwpbH_
zL)<*aDGWlh$e}G{%GBx?j{#Cx$H>FYw!fl3ZX9s9v88)lcG7NGGe%Y}Q~8(PG<o6x
z=vSA?nr@Y8KJGe(H02)t;~tv#j>~LT^nJKojvR`6mbNBp;RZyE%SLaMy;_(7;!=wb
zUc<ZdH_7=phv}=!v8)?T%mxAJWpUZV2o7s0PA+`xUd$odjDQBGBkZh%>bK#xUqAc_
z83wTL0RJpH6^3EgqX8b*>kqWOqh3IpR?3G3?(k~EXACSTTAr8Xdkbw(6txV<6Xl|2
zw9&_UD^q%<r890SThR-OOmbB5A??{hnQ_zoL>qK&2R8Bd3zC)P#33P4a6kYflS^X0
zl6Vt7{?}k1#|mZ*&W--(<wb#I3()X9P(OoWqa#+s9Qz0p*``<}6A3UHBj0uX=AQVR
zOd<<tp_C9bBUg97%C5veDPQ-A5xUK)63tTI>;;K)!aYYT`VKSs_ig5Gcv~P3>~oZ#
zwCr~Na!}lhHKM^(DS6|@-6caBpYqNWBJ$y>;(XF8P0!DdV|@MHC678%xNGYWcNJ)6
zDhUOC9uI<`W+qLeHmMQ0-NsMj+?x&wKxv0$Fw)wJ#;_`_UPx)7$gVD`LTV*j>CEeq
z_uXYP6`|g%>b4|GityPafzu7jgWQe}>pi(&$a-U1ED#ud4#)3?rX&^B)i*@60ngs!
zFOns_QT$_fQw74^rpb17j>vb(NK{F(dQ)YhZ{!TNct_yG%=*8&1x>yl-WytL11aVY
zv02lWlyAnuix&q_Laa&;DI<uXjRbv<krbPrvCgBxO5!;JOneg=a?~2kbqNLGg`Yr3
z2$`oANH&Jmcyy~AoeymvjA*7`-`dtjbvo=SuPh6?c?lG6$<L_y*pQW3@zaC~ZK{yq
zN>K|N(C%o}m7_kB$_EnLWHV);5av7mLgJY^BGuL?GI8#;(d<AY&@z5`6K`bqv{B6l
z<mic2mpa5V=*w1-Ibt;PF>RTbAxgwEF<9V$Nomv_ZHn8nKVi$_%+F7$tpx%(T&`}8
zYfEiwtN6;Z_!dpHmGGnPJM6czV68X>9D?>v(e&hAEVk&n2qsM8Hcf-GLVd)*kXA=>
z+evo5Y}}knW}3oO`6&HVedj==rbSg>-<!i87^rs<CF)#;J6j&27{a5xNk{H%@aBbc
zbOnowSx2dGjs@?}*)M^`i4s$SSU-iMgLSBC@ROSY^I%U;o77D8toJZ#wz|+atVJ~M
ztw{C=$n>`8_SA9+`&T4_;dOGk<RI@L>2#3Xn=M-lQY8L`wHix3sMxT88$n}x)1zKB
z7UWA0rfoj&DCRjXi<+(Kiq<2`D`W+X?D1I_1{vbto{}xj=c1Xp(Sb%udcRo#Yd|=P
zFvhw~KkCFJi^M{?R8heT)9YS$C;cs%I`6(R?@}<E9Yf*IJ#Sc3J>$<pZT|v7fw$fl
z)>Ss`9|Ld9m0_iU@4-f<ef0cW#TAHeR-T_o+MNauo=h-z8zB_e#PK-%$hKF~((aZ|
z4V3U-^?EW{JlUD4Z^{Uwk@3H0rDVxy#<e06#&CpD=Pn&1KFLF^%Xy-EgR6BbHzT^6
zn>$|mFxFEM6&cE9Nd%UVB|kVCWYMv3mD*N<D#dtq!3Lu-ed)DAIGy<y8(QA=fza7V
zKpy;0eSGbbe}reIv>*9{N@g}F!M|*s+|FK$@@^1Q(^97_z)l;shtKL&iRz^pld*)A
zaHrLG3BA9x)?reJ#(HXo4W^Y-QF*{=Iqd=^!Tif_DT6X7{l4D@g<NaK&s!`R6AYt_
zd2qyW@h>G{&}dtpY(s}D5VJ#={U5Fv#rz*~3PWHWfnWX6=HWJIKCHIwFJ4-hAu^7X
zLAcCQiKa2yPSP(RX`))8Ksp}VJK0_0(+eVRenatiD%(4>nNFHW)n^H*jzJ@KJ`Z6`
z4o|<D69lVoUl{)zk~Uh@s2>bx2MO=c$Fhz0B%L4ba&38X+Fsn<Bj+c{$7uf&k%Ihc
zGTwx<BVbV)H;LFmomhIIn1U}lY*AYkJ`umNkUnW{gj2LEu>7FdOY4j<ufg4i8O_#+
z*CR>a)p5@^hPnHKH;rMK(vgwaS!4Zm0LMIlBV*x$J;d4e(N>l|9KA-<w;vWfBMM1A
zVM(_h8l&j3%C5may>-Km=xHY-N8<s$de!hfa3WXeWW=j7RKvljP2Q=G(DwyKx2^t3
zwj+L)wT{i#+YM{|!ni38V58m54WG*qZDQJljt=h}e8Qnr`7^p(t9NR3fWKpSj$r-{
zt)R-Zf|~BY<>nPL#rX6c3!4F9OhT-@oatwVzkX@Mz&|}vYiNb6V^^CLiFGK0gGeX=
z6I4(u8<1({vo`3W!Occ%cEy&oon{<=Y~=`i42NFLw-&D#<F3=}&a;=r*a+T0Ou2}f
zjy{Q>aKi;lQT2F*Or!l$XpRZ4hgmx<U`g)*23d6Ha{wICoqje$s|)|CXq@v`@2{*L
z+Dz{UBagEHojcTPpxWk#6I%Hq0r^YoSo~yVrQ%>-G@~!|jAVh}rfZ)QNv7Sf&WU@E
zj`42ZzT3>{GP=L{K{^~lYI!`A)eB=DiSJm+WI2ZyhIDSzdC3Ob33v-sKF7jjd)mii
zBknRbFYPKvyorLny_uZ2JjXY}dUr#~44lm{HVezoN`bR(dG+c4!Pq-R=MIMtm$hx%
zws~sXw%b$NI&I&!r#iK5+qP}nc02v!!>svc&D<qfE4fH+k|)2tcVRBzv&KLzR87#a
zLIK@@$7U|br4V+`n<dukQgLuR@aj!gKLVbv1t>T?GH-O&Gja6Vfk+^>$ojL^q{tnR
zo(rL5cn2V*+?MTE0D}n+*T5J-L0gbqP6(ej{77g5I%M><L>cI21ay9h&ov5~#aLQ4
zaf)ud>QG;ZeEcJ?fjhhE02Td{`uJ2Dq^2Aq)GsV?{kP|KG(7Qz3)250%*EYjEr$$g
zRT-lfB6mdj&`>DOoBndH&L=p}w*bQgCza?^<TyP?hNesig18l13ZpyZIhj>Xw%wi*
zw^P>@L|Na-AzVb=mVE;T;bnS(qb6?F&z#R%iW+TJ<N68s^ZAfn)S2$I8eUCqa)K`2
z&qPQ-wVui>K)>jBEt6UWI+R#=Z?-HkZ}9-Lv_0IFV~QYpJ?w7t;e4o4fIT)q&#l$q
zN_kos4jJ&oZQiFLXEbITA>r-SEK3ScuufbUOhcnQKF04wp9ZN@!zjj>@-cn;w*~Fc
z-n1?$6+Abgfl%2-ZJy;1T|7zTYjh@;3R0bc?_sL_iHOZ<^W#;KQR@<!CIxj}>Xc^B
z0I^PoD!0m1bY20$mc2$grA#%Z%i1zrG9X`j|2BN*n((CG<Oru7_9hTAgAoV6J1q*B
zeF2JWKIK!E^NrJKv=fo_7ug{{+HZY{!%$2E0tV`=h!D<c%m{6+{a9o1y%lB9yK7ne
zM0-Jj?R3dVWJC-gXjL(NHMPWs$Gj^i#ow>^zb&?#wW6JZTu!=Sg7*|t;c!F)J443{
zWtF{_K7uTA^f1v;-BdZ&7`!U2W{+e0suOVt{_N1KS3ywk$lsdDGs-B}7E0+0YEjie
z0yl2V^)E$77{W>-3WH!*ukElfB`-=Jd<Ok##dy-h$2Y(UeS^^02xM^g@_e!jM$!cA
z`iZFYb^jy6qAH!4?Z7b7>ZfWgl3jS(9G#GM{;LProrw)Qf#z*nD#Bq+X&V~-bO0d)
zH5cr1?Q6^SGLf`kI0I)#x$9}Wt|1-ijzTLaNBO0+9+2i&PLD+;oyS`F8p-v*eGWyA
z)!Z5+CgV<5vILoBBv7?}RzA%dX;=q018u08(w*u~c|iD@aNPVP3~&=#MkZXK$<>yT
zD_E%H=aPs?D|squ8@G91?iaKF(U!9h{RX|I3v7Y(=P)Vzr{)Si9TS53$I8DvV~2x2
z^x#hu_t)$*TIputkc7;chA@kf6nJ&;svOEOMOSHRM7>c@hNzQ<s$}XcB5O*IC2r!g
zYBvoslL!-XNy8_?YdyPSRm5i(E+-#wl>wHYSaBRd>Q+L>Rljk~asXRaL_-B7u$kL+
z@Sjj(?pzn_Yg*mGu3S=E5ZDIvDih0av`GJrGl5|IfgU1I;HvBMYaa)yg)^hEzjbbN
z1Ts0z3!@`ytPV?7&5$DFxuVUQ^4Is*`i3E(HNU2l7)NJ;9m5|W6n|e+HGwfcldjJ;
zo-nhE8Ck8qdSh?mIR|v&i{aBgzviLMW;xeCyhs)}p;|#v9Enk|lUGDZSk%D5Y-#C%
z&Ks{u0dh)QJcyZ)y<%|1-)HGO8sR%mdvk9E++-InDvq9KmwN&{jW;{r4J7PG5>H*W
z{z?0QvBhRKOZX0Pm=KkaJn37DQQShevLU19iwY(x$)Cw@v}okv+lwU&4wHxxH`<u~
zMK+MOxmTXP)#jNHA3(kw<PsBYO}0anU|DzpS>>eDurW{ypOKnhCX%%{wJwKrw!Al6
z*k%mY_aDT1ls2WTtUhOZN$Ea!Tz#UNiD;{Pi<9@<BSl{A=o&KR?c-SJI*0$>k>xXA
zpltuw7==9yq<2!^HzpK!Q~|9*<(E@_h{k(OU%4L}S$oao{#DEMv48TQ?65SK?4|Oz
z#8U*2#kmf~knA6yr;v-*U-(^k<II18r${<{i1sTRL%LO_q6pKpca2Cwtzks7%)?{1
zuJ8I<cPi=p3r5ORks5&NI!*!{sYi~Mo@lCJ;*<mh-|9Cl4L$$i=k=;g{<!1kogO|)
za@SsP8a`{SaWB?Ah3ppHu4<E868T~Qw^3z94G;bzF`G`}&qcf09AwgW%o?}b{{$9}
z#K;74gGxwx7!iY$cZd_Jdql1FOMmuW^vedMU=((h*h7kW$=<GBE1c^mkXpnOslU(3
z<sw7FNogM!;u7&Xvp@~(tXNLX!jNx`MY~Q+Y4j+45q#I8i%wjYZ|E%SD)I=E-FB2U
z6l}RIGa%byFEb!hHYQS3`uW7^nz{hPSVNdsdR>lb(S!-0InG=@b9aH1#;KcZB^Z~p
z04YhjXsy<`tAEu{qzqB?X40?A!0OU_rc`Af{hL7u7R}qt5iAMDC`(LY2Ux$cdJ5sG
zzr%i)a*sYsOd?Ipq6XV^mnZ^Z)UtODU#(^o<%`W}<6~JWi4kDVol#(fL4iF9@q^qz
zyt;9m?(aI>U9P9-C4U_m)jwR?{QUss2t(?p7Z>Fgf|F-6-;=Q}&-5h4O1I>00U7Za
z6Lw3)H!vCzlOPJ4%`S1u#JAtQ{dQeQ3U#((8cC|I;(`<4dfV+QR-Q(LTDvlOnKMC>
zTM$nWcHnv-lO6kXrr?os0XIK=br!VnfN@vR9V8iBToi-lw@j?0NUIQ=%p0M7DRnvv
z<JBe!9l?@oDp@4`h}Ad)bcN>++VJn~YF#w7JF?73F!xR>9WlT&QPpvRr{K(+&xJ8k
zz!!_49`)EQt5Wznq;K_V0zPj3$c)F(3GoHGN2|W@AN>x5etRC)V)>d+OI5@(Q%(Ar
zy|{?RHO{?GPc`^B^E3vs5pnLHSlPoaQ+S%3u3s}LWBaIBsTDHQ-SWvSq?_=k0((=g
z!(?fn*h*?VCHkO7z6^=qz5T6jqmp^q>Cb36R~Er~IC`ciZ+*uUGVV_{yx~ZDA^W_p
z=7M*#$v<-uP*hi@ib?m@h8IQ{@b}PQ3h#GnzbQ(Bke1ru&_w_SA?iWvp$1K2o+&B7
zjb^(F8}M1}>1TR&0&3xR$PVyNzu{#;w?ghqZtwRY6yXzVLvJ)x?dCHn;mOQ*(!1ct
z`^M;BvmVBO|7csi4HwsQ%)$Q%*KCj~UK2CT>ZrDNf17DuFaA{<m2nqX<ST<1{8U>a
zO!1O#Me&|Ex5@7~m%PDu@k=Q_LVxN?OmbMKmN+Q@7t7|KM!M8cdhqV+I3a$9j&WF#
zP1*w8q9II~bei_L;WSNEmcPFzD~v#H0dsH?1+ivoP^6``Y10KuD$<?XU<MNH!z#<6
zRE*VB?8HAxQ*Vd3)O9~Q>jZRCy=*$bj+ftslb5{FRT(>#ek_8Sj`&}7Ej?Rg{PpP2
z?tP633408qse7o69ME8?EaHCF7{;jBF8NDJFbMs1xR0)WLrV3|OCy@miIy}tt>vA`
z)dLePWXIH=IhgbjuW(YTm4f5!q!LOcK@civP*Jbehl_cCKh--n#-^?fmk1v<JU4`g
zMPeC}NP9y`7TY%bGq-0T3NFSFis!_>=^{3iFb_gd*pkt%ux{U%hl4n!32QREn`J(p
z<#8|RTNdEVw<o_d0%=Qv)nLCe8GBzl+_r(=Z%ZTXnn;?>-}E;VoefFPdLYhm8YNi%
z&4|7nv*5%X*r{BV%9L^OK}#%GwC4xJIK3p7SS5z&p`w!q(m~H0fZP!<hLhC}2p{R1
zgJI8Z?aSG)Xq)crxU5?^VN~mbTEvHc!v8GN)J#KEsJYUqrX!m>U!KCOa0h}tG+dH8
zj9zXC>D3b9$)Tg{qt^d$3d^J}5jOf<dkDrU;)TH_t7~AbBYU<tt1I09Im{{&oUped
zXvVJvJz#?@&imU+o3fq$!4HMO+uc;ghKUV+(;kjstY|4y*HQ;gH7pcG3x&NWXOrlU
zJ0T>S-Yw|+5ABksa=w}wX%+RrysX{;jTD&~t@YBG?p(Xr@kVm438i3B8p#Yj4SEgk
z{rAV>NQPR%aR@2aSAyQLfTdS_&oaq)?;U>w8GbLQ?2*zjT;f~RPI{OA$r-l+n=c=m
zSkteU=rLD?JSq8@{Vjm6E!t{{Bk0*;bNYtyw{TmVHI}li>^d;&wIgo^TT}u(5^d#=
zla(|`p;+y?Nu6XVp|J=IQG6#{8s9I^Ng%1b7SU^<{vM;H-)%Tn<8RrOG05I*mJJ^;
z1hJyOf64ofraTT*yV1{(VESjoDE7w!NrC9Et)_5_{KPIzBiEN@Y=gu<O39FK?6!4p
z%s=XZj!*h8*s?5)Rd8PMa>i4pO!SD;D~P>I`NFN_J{KtI#4f70KoY~}yI=7=M6@6~
zKHA_0{^QO<(N~BPDI#E|N$6(Qzdft9#i{{^cPJc3f<r4Xy_+9YrY~_l3<^S`aqFcR
zmumrUp+02yXdKsnhYrVs{+#-CYxH>qVwq4v=?+ZtjR95lWab#+H8CYwe9oldXS<E|
zGvL94r?M<{7Mzfp<n)ekenQq6YAm4y(=;a~e@%E$fTQG2SL=dqowSGQ1|Gzk|Dt`q
z7e2OdUJG|}AO+>llawu975g~mYm-QsrIGg9j3dmXfo~m0n_qsfFYJZW|ILMFt!n!q
zo6gl000!C+3{AN0A_QK6yhUc4Ibhw2UrsMU#B21TH`rzR@aY^XC#TyZgim?0!o|m7
z4p~G{+Xppl>|6X29THEloC~DC5U8)s`l2S|<HZNs`YwP-W5jfoydCi1pgb0&w|Cr>
zLz1&^!Bc=b(KS{Pl1{=bGt*S@&Ytcjc9fr4R>8x`MJrOmEdY)_SqrGB9=79ZR9I3W
z<BW!lK-Vzer=UCNFd$r;ORGd9;oTbN0FFXQio@bgU@{}XzZGhOEZz;n86D;Aq!afQ
z!IC1e;;UZX)8Ructdkf~^`&VT;B>Yl`0VEcHkiu}rwSc>RjXMnAN8snmmK^J>be`D
z_Bz0Zm1k5kG+mThHN}}wl2D?Ty`fgtoy8M0uAC`K!ECeQHDJzG4Qo@tRhwV4Tu>%q
zF$|;I718HkiF&;dB=345XH>%#g!3lJ=`QmrwSt>UvbJnvnsv9soAuP{HaJ!(8l`<8
z$_C;e0OhEpJ))?#9a@$ijZPOT=by{lS=<XVP+E*!MzHmUG3R`ucg%#KaZiK~<1Ozf
zL|~__WOD1<?H)+;j_CL5k;nbBpxcT^I#75QgQS7YHjJBSoV^7#d#P01E-3&+^?5c+
zgba`NyxTvscDZv8<@~Q&f0X#Qk~>a(CaS4`I<p?EfcPF>5D!m*ixs)@+98E2QnY0V
zL#Hsv=TbV8!p9v}br<tO#OF8AczTG{|AEWq`rnA;|4%MkQeH|_^1r!kWd}QX2X0w<
zIWtqM{}<UL2iK2ml8yO4&}=3mZVsmZg=TYb|MVdL7n=Q_yZ;N#X5#*TL9?0Jeop%z
zY&ILm4=4S<*lc0OUq1m!(VwqiaYl)skfao&?2mj>{y%wbB}V1{)=+Byu-nFr#!f~i
zHfAoiX67#cW83LJJCi1iCJz5mo-}c=v->Z|+swnn*2wNBKxuBpXzt+Z^q(P0OV8hy
zX7)clN}K=Lqx^4&rIC}F{eNEe_kV2t*G2z3RQaEN%m1!bT6z3W%cYB@lbIQ#i@U>r
zwkzEkJ^mjQ`F}v;|2K-9`+s|8|HX~}++z;bpL_FPdp{I8CpY*1QGChF#l_0~|C1uG
zXfkmz*K4N0<1Jm0B1iw>#(CYz-GBJ;$w)g5Tb-W+-CkSG3fTn5=U?-_eizJ7X)P30
ztw&p?1CcZ?zlNFw1NVLmtS+(-fDO^Rqb0#i{3N@|L%UYf)5O4{DN+AJ+ux?9BnUzQ
z39XgUR6Womas|L_6e!?0$jq#$%#MzZy>ZA9D{HO1Dd}n4$Vz3@Hj1+|Ghf9Ags6Gh
zSKqm>=cktT)*_-`&x7EWW;Pb^4UTWHxBizUAYdrmslXAk6O{p?BruWM%6BNDi70p0
zq9{VRIiNj}lC!VHNv+6n6|KlKL&%b1rpD(&rjOU4adDN=wXcGO+;iW9C{AP`NZf0{
z(G%Zoz?*;ox9<|mh>HM(rK6Y_|Luqg{0LcmAP#wd?;TSaQ+pHBL)#Ap5dTAprf=zy
zsotmR&_{z!112#Y2}%i4NM~Nkyly3QvBB@m;sorT)9jU)BmYIwCJKN0XuIf)Z|YNn
zwr(c>MtLA-TnQ4&ob-9YT0f8oz$E@<1<;kh$v1etGt;*Q&Q#11N6~jGFnt{84BC#N
zEx3!z2kbrOe<9?e-!hLtyu7r}{+{b!<7fUyhF1qr4J^6gCdOa5^CPDYwkpoJTw(s^
zVq-%C|NcbWZabM+w13aE0^xrx5{>zrhn+c~0Ga6E(z=tF<Ur#EcT~=A{}oOAcBh;F
zevbRt7P|F^?fs^I`09>(H{gCVV7UE0_x-A#*_%>VzXLk&2EDn)7kO|W1+x9~b%jl$
zmFJHUjo!2SeGFQ|(d_gs==rH(1HaQf|0x(C#SQ$`BsMbiz{n1G0DNPl@kXY%14pAz
zW&$Su$O5VRdp|L@rbRQ)^p0&nyd<ytHzxgwiHN)HK2e>Vh^DjqA`ZOVrpbxE^{?Dv
z)cYRG7S`6+)KZE*@~=1iHY<5?N6Jv$y!<+P5-f|WXaC9$_csg)wcGr|cbc-o9dVMv
zo%*%a-3{%?T<`Vm@aqfq&#B<F(|-s9I7u?QU0GQ^%iq3lKaQoYyL<kuVy)tQv+~f$
z1L5v>&p!!*f0smO;NyM8fBbj?n$NzuzHP1og*bDNH_qZKkrn=mX`8pH(5qj~gp|k|
zAfmn~*62wETkkS<Td&)1H`Lfw!Sp|;8NLlsUrlp75301s`dXa@#}UZVMqZ)qm<e=o
zLaSXfCc@t#AfyEYL42YNJg`PnO_zhO(nHy~i9ZHsLX(?)?zvM1l_Fq3rj%3C2%;n#
z_?;BQx=9L%mp;~Fb;scfE84)yPmiF+W)o0D{1-q@<o$eW>11p)>H(xFFj_nyC4Uu$
z@C+}W{kNI{FD5BUiymi@D#E&oz{5diYFmoXxM?<Jj!_dzt~*5N84EnwZ)mJVKP;?g
zm<f~OX5NnwHB~)nsrtQ>%(bcS>$oE;n|G4MIh1w?@2iH{Ns1)8;IG|1s#vD7qLU%9
z3NP7~rgCN+Dz~1L41c^sT5uzRMu04UkXpHB$)SPIN}`5JySslh9Vx6Dwm_P_vYX*u
zHqQRfG+qWn+UX4Y-d0w!lA_``Nyr=B8S<N2D}Y_xFc}k*&MY5UrNw71&&l2r9Yvd{
zlDY`Ba7gXQDHd>uPKhSw)Zcc?>z=5}u$sB7SLY|wEN`KahNT0v*AcM$pk$CQdy4?@
z?*IGGbQxT-6pqdx;FE=DQ}?tAIoCIx);lDwojGE%c?r`|;kKJNaRv3XNk$MPn>S3W
zKB4D?3EcRR$UK153?)<Wn$oMSda5)72@0ViUXFTdEw|!Dl7(<7X^WrmcKiXwY*Vw6
zP0QO=cb#xPL*ig~)@3M#UUlwi=N5Nh>gHXe&%lrx<>=X}hDGL`84^V(JjE}UHJYQT
zT`$(=27l^yKF^@2Wkc;~9x6yL0VsoJQzjCcRi%98O-d`c9ouly+fb$FBs8l}9I^|n
zGsRKjW6@{ZR6`jeLr)9tihmTVTg_9mT^d>XA})mJwRep<8;NDG4|F?`MeIh?3K2q!
zNNc@fj}z<Ogw{i|=F|8T3I-T5L$a$6aX^i&s-c8{uudg>?}N^2JKv_{2qkMglC=4c
zTKDf+8t$9NjJBbYANb+6n~!bV2!oFMSE)h?nSZQlolIiZ?^Xv5fZ``Dk8{VtFLn0Y
z@FVfVb#Bs+>p{=z|8>Ym5l)*vk(y6lIxHBbE3Q91-mT+jHYd?re%K7jG+^d$T}wQJ
z-9Y*@EKQ>3%j~#u;7ap98&zNC5U(`#iM_psA!Ps^R$mwaOMe498S?l9`kCts{GPK>
zHwpTKX4jQ0NrXN>V3*)e>rZw6Td^{_c<3o5udHE(X5y~NEWJXq!dTs8&+z!wwR7u>
z_yy<vjK=Zbswfk*bm;Q_NKkJ>li!&hV>&Pb2abK90&j3|JIW}F%D8yHc~Z(zJ<JYK
zTG47bD*+9iVR-lOwAd=SN>!s^l1|<oDPh3J&Ur5daH4iEcF*c~pyOY~X$L@JD|6Af
zp9#;SkGRlPgWI}TRydn)LZ$qN=D89^)2<xGt~dwCgmN3B1YF~-@q5;9DF`H(DID?X
z&|TBg1x<lr?3{&T+GrUil_Jy;wGW<#>%+wh;>eWg1QqEW{&?a&TKLR9#h8@|!Zc$+
zw-)f_4M=3WVhtHGzxm|Pn@pRe#fhO`$~+CrI?Rc-Qd}R#-UNG)*bcWA7QB*gG_0_(
zQqM%L*Fq(>k=EUBIok-ZZbqmmxs%4!<}Hbim^plJDhvGM64%@Q5}%Lvyg0W&6h|nd
z%>E8&f&CRX^C%t+K%|n{FVP5jFMq;c#&D1vHM~=Twwf{TmR3$!L4^CL;f?O+Qw3dN
z2nm9xOeLHwm;k(#1~RTA9=>OzjIPp~*BQ2r@3E31ZL7KoIDfs2B;=v`$S|YD=}!J6
zzqsiF=DIh{Twc`QFD7k1K;pNV>@<i}%?hLJvFHeF7@pgR3TtY975SC<n^A=j`KWDe
zEc;pw7^)f2G~MXqL>Thf@vvp5^DYu7!_-mD+1XM!miZo=|BZ(+2aFPNcPDDvuAWB2
zn;-FN*z?=amHWlHGMq+<uH!Z)p7v=$Uf}7FN{mBLvE*Dyt4s@AH7O92f+mRkTO@(G
zkUa$p>t9k~&m?{)1!AV(G__q4Iw{4w%EQbT&riW7{?~}Mz~7(0JRc?u7xvG+5Z#!<
zIAXQrYzO!n@20Nm&uvBogi2mC<XNpi6dLRvA*f~%?M9_z>tJ2A!yimq8tAQVs#Ace
zoKk--xv*1^*@FpO9?X+oJ&WoVA3xcsCyHXnx%IQLS8>e7C5ji(&5$N~HmYXh?^a&4
zM&<UIqiS2!nIGnsriFY!R+0!(4=v?JX;15>XM2%$WXEW9$1yrL!N($`(!M3>E-t>&
zMqPZ)YY`@sM%R;RUX7*&XG#~myts?LNA|%ol@PkcQLUopDKtpGrYgqXN9(Ww!%A6Z
zJZU#l@Al#ypxPi&?Fc#CvF+h5#7=d0hmBR+l=)28Up|p8;7eZBwD;EY5b!$b%H|d2
z38^lPLe2F}3i}Ql;4)m!Cq)ODD(-tAF1W>yiB^>jC+MFDQ{6G(miaijuGpl;mjhI8
z--`8u2k7H%USDdAbfO^o;Baf5(T{r!e<F^12fYx91{io0D%V-=l%cvJ8wQO4uD2wU
zFF$YkQoqGcuYsSyoNLtbH^vvpbOj#Z0*o4^$&!T0$voG5IfYSy6=i*?H?_d<8&l|m
zz}&FG1ZSQ#<a{9p`>2B)a}U!%E^FqzsX3y7`*@5ju045F2=QCucU9A+$bv$DyRty`
z_w<pp)Y=R~L|;e0hX4<5U_0RtjP^x&!q|K2V%OW&p5IxnLHeis8L2>_8hO~3l2WD*
zX2`h5il+FB(4ov**qy{}n%!z_v9bQ8gtYzDpzCQUAsvg)QPM-;A65hqr8|UC=3Qv3
zF6mw0?ge#^J^btXDo?4nD90|^=YX@$dRDyyJ-<69CT?6sLqxJ^o!rb`q3FG#V%;tX
z&&_yQo9as=OH;#U5+!ZkV7*f4@0T`UND)eNhx1h`Wv8t(9@H&=6X7Hm0G$4~w4xA$
zcB6NZ&zX+eGgr$<Ud*3om)J1=%Ci#&zTB6LCz&vl+$1JwYmsoy6Hl3+!TvJ4JH~T-
zn<g=LG<fAIW^|ad|I#9ZzeJr9^!e|sv0gjC!>Wj;@D;3e-D=R%gH4|am0~ZY1?<*b
zA?nCRYxcyGHIRzYGQs2hUXI1MHd(ofW>$WXyqN7pzsO18N~A0z&+0FS>*rG8*IH{Q
ziJFG<HEqCw_hV@CoF7SFeTht)VmmkD{O~=n`JtTt9Lt^}BQLNf(^uD1`p;)R&R6qc
z3A1qdjig^l#XlLIaf5(%91?$Hxz;fCMrhbM{C{M5he+y5pk%gYgqzzHM5mEeOPG=9
z$QtETz$|@%zI3GWFj4BCBpgJg!u08G)zH3#L5c$>#%IX6)|gvI(RFS~6fo4l8jsC0
zg?^m`q|ievT}2BK7eoiP%uz%OVdF(?cgbf85cghKuNefX*kHZmH&nV4x>co6wjs3-
zeXy*yaTzy@w`(gKwVVB7O%(H}%wXC^M7p}sN`*R_cz_&Q)#6X1$a;M)9h{)Vf|ydr
zrLFMYQ+7g7#SN69e$T-L4npOAHRh}A6!pLlE?6&0TA#+Dm_}UP)xgu)iQmAFVb+jK
zbG7it6_ERNeL3vgXJZ3dvR(A*$P7uGMm%mp;Y9|F+>kcGtoATd;Ho29eWP)Vb<dBO
zyHmOT9%$;4jr@k&<sF{=84dE2CCrrHFV4o?CQnT(c)=qFDj}!jRvWsL({Dh(kNY@Z
z<+92UE^b@*A6MVK%EPg=Cl>VX#y`cPS7Lu%W2mPvK)lt52D?vKbu9T@+%yA6;?{(b
ze-!Gc1+>`Cp~TJ{=$Uxb{wt6Onj>}5x0A#qLGL3xq{x}(dYnCN;=Ns)komQ!5>-MK
zl9P|~s*ka`tXi~j=*7OeTwDWzgV?dMjvID8FkXoH=Zkt>E$HZ86wX1iSuTq;Zt#7*
zGH_wI7WZ1PtJ^5!;;&Pbzh*~%4q<xoR>_l3m2S8qgi2Kw?6h8}0C3r0I2AjyVlgau
zVX1wUr$QB@bL{A>avab(qGX7SLe%+j54-fi?}jZZ@x5at<w;YUm({hPC@ACXfQy%i
zrLlPGPs)VaJ5%ZbR|RaR%X!E*f?Uc^olE46*mjAsVzhywl28i!Kr%->IP1+5O#fLc
zOU=`F<~4?B`<rNP47~SXii4-x?E9p$3%{Y26owD=0VtBTtQYOSd(vdD{nXT)A&3iu
z`*LL&H+0=k0(H&q<d^?igzs0be0w1Fx?r9RID9-xrk#o8T4R>aCX*7+^8)J}b=0qj
z9bpHkr<cLF+M+(<*HG2VjeL5msnq9?oo&hY3y#L~7&hGDT9<aYa8KxxoB?0voWfvG
zSkhMTst$WT$d=uMTQ#n;l^!Exupj6vH<d#e!2SfbLEP1Z(ChmS6PEq#S#+zTw?^aD
z&Zny%T{di>jDD7c`3P&Kf!fO`)bw>ya>pLG+rqPTnPI4pBLR#@;kxjpPycW{(1RG?
z`()cG?Je|$PBN{HeJd}7l!en|6=#J&7e>z|ZPB$Au(ZG$w;$`BJcN*vMN7>u_e2e0
z4D;PTby@v=u~H|r0-kP+Q2o2%uo{FGDiQFMYc;iO`Voj9f~~)z|8&lN;!J4TD0PXU
z(g;r@!<RFGs7w9Q@2vf{e3Yr?{HNZ~vS#a0&1<BO-fn2|-9j#$8{R1%>@wujGnYv#
z_$Vi<n-ni$7(4d`kQhxrfLNUSvY9%HrSZJr2f1AgZB5~I2AZA5+d-BoxY2<Aw}r2-
zxd+q)^Y66<@LNyR53piF$DJA^gYO7>pQtKy+qCMf0uzL7bN(P%YI@)SZ^8AJUo*6i
zn!h+4S_Iab4W9~C>C~=XN9{mshsDC@bAzLy&mw<{gV~5VU9RQgXz(n2ndjNCt=+dp
zu=vnp54vVllOU^>9{MF3)Fnsl6cc|*;-8*{(P?5_fEQxFH#FzDwC?iaJ^GoSch3DY
zF!9T4vYwOaA&9<^G!0V<McmR`5KyAnMI-J~U3nXB+^>IUPV%#NHB^<*VLh8CkhmqJ
zTi(X%%!0rnX{bIB8=g-1d5ET?Zju{(Nx#GE;*E%p#gC-)1=NNn=MYG}_|ig6bv(46
z%<xiwLiY>2dS>TF{Py@Mc9p#O)2&AN$H^7_86wRc&+c<tn8H%3=Fxwga=`>7RHu&r
zJaQ0%53Ujq%spX&FbY5*@F}Hy{zZik9d68+m@roqNEspMD#{`>HT(53Rl;`j2(x7k
z=I7`0m_qadZ!2beB(^GEYdm^V?uf*`k5>B#rYm6jbo2New6Dl0rHGzniOz2>!C;%X
zO9=%94EuP{P?V3Q3#0fFn}B*)yTYS3??X?cdeGoHZZieXKh+BV+e1<|L@qiLb>y@$
z-ibkHZ#i>AJMEWZY#hYj0=2;$`GTMvt_8NBmy6G+T+NeZx=WNZGk>-k0I$=>A|t)Q
ze2d~FN}p=cl)iOQng!8p4%KL!pB{BjzXr!BP5?sjGrAtO-ekN>=L%~njVJD3Zywkb
z!0F2g{bS@tg!v)aLmyPb<5PcYM&@w|cFog-)vc4LSQ$g0Jh0!^MHDyg#0gJdWwXM}
z7Y67b3P%6{F;!n=ZXIKjBg@uo#$(}Rfm=;>+&x&SZVNVSiTGAi2=*-k(5-AFH{jhq
z#5O-Ei4Y<+2v)A$3#XU%O+ltLNXE(KqvLvmBlhNWwMd%AhsxEByssesge13>B;WMv
zW&~!9$8Qwvl0MJ_jQ<G4p@@<CYi5Kt?6K*nnUZv=&#(TSCT!+rgUl&!wXr{-N56W0
z-U!oO!xa9J<3^M}tXIh6;5df_34x_I+HQ+{v_z}K1fe{5j5bq3a*^57dq+y2O~iWA
z1(u%x)@V^>@ae1eX<=n!*(~Pun5D$l_uHDw=hH%s7Cu9}*ehe}&|xZbZMR6@*p%o3
zuJRJSFsTmRl7$AYb%jXxt?{TxPq^A{;fu4lm>FkMtGg){ySle#*fgD_>i8A=$e_ZV
zIhpP}*50TJd?d)t7yMJ$kZVL5^;uL1<G^)hO>#4BFDklR0s$#zm-(;+q7LRgjxKbh
zb7BW&M9gMW?)GRql4et*qD~qL0-%%H(5Quva@eGa`)ir~FbqZnTQVns4!iF?7ujJD
zkpDRf$_)F<F&3#f1d*5h7m1*-*zsLep>CI0PrX+qs?e56?u*a~@-*6s{1e1RcICS&
zcwxZe*wIv5+X{S1miPnIoaY3DEl#92k`IK3Pof=#IDPS%YKvblhiWpz^!|}H!PcL1
ze|7eOeQ$j;JiC`M*u+L9ovqTqND8eHPz2t{AuCh3F5fy=_JyyT9x-?-2<9?!Z!RG;
zfy`=-gLDq_N_pRh4I!T%c^g-(k<%S_;$7)4>^waJbpSX-gU!V-@t?nl6De)g?b)Nq
zkOrI=z_Kp^w6{m&A%Pkln`?(ev{$TqqQ2p46iZEOlNMp=ipw0oSX9`478h!439%kW
zuX#yC7Ku#W9JWiQgeuGS{gXu%oY|{&u#S|9`RFetbh3z*A(-hgCkm{Au`}(I>-+j)
zZ#qOC_7TGnGrp9un{D3$E6Zn}va6Z1_&34`qj|jU$^SX6n68Sua8cq^4*In&x!%in
zBU=wmQ}an{j<TRS@5-N;nLTSFLXI-27T;p@PpWQiE>B>8%q2z^<N9UrLUm;Lzp3Uk
zGEEv)A$WO-7gXz<4Bl#<^USAW;7U>?i6T@J{!XRgmV~kUeHQWaM-i(xUKR(X2=7y~
zf89d<9;ibE2^nD1S*JX&%Wa||nXGn8@E-n`9*gAM)h|;zF+6ndAEHhNl9>VPXk|>3
zluL*}L={NkSwsAX09B_>awzBPhu!q=2l%sE%C#9WR<UiAFoaj8T(%tcVohK8V^HBB
z!ZY0CPy64|k#a0jvy8`xL<8C}I-jGD*Ghkfdt=%cr{U*;&#`Ol;X8bV(L$w1J`S2g
zx+XxvfSoKAsK;EnlC4Fvd^)kEpM&4XQx(%BbhJG9<`T<zlxx6Jkg1<z4mSjoe+5%}
z`iW;^HC3f8rw3A*ZY{}8kN7KSI%tU1AlU)U(-!g(Li#2mi5h%czGhV~@aKb`oZGYy
z-i@LEyxzQbkiV{NAj<+#G{3P@U3`AHIe?_PC0>9|a2)!rsr#<jMREYQIi4=Z`u?iO
zo^QmsjSjy@R7r30hRr1RGG!>w4GMohxTMip-qwBN9O!43j4Ng9>1-Fut11@0&G${|
zrpGDM$oX3@`pUhYJ&3ClV>?o!U8k>3I{re`h);@<qDXiC!eP|_LLEMNHQ}a`#g3ux
z7*eiI%+qFC+HVt|gjD5{w|kFvk1??w_b9Gi=0gSA<F)HApvlDzRc!&C{96Vmc2gLy
zOwbyhT+FEd_a^`0>!!F`a%Zse0m~ro#cS<eGGg)QMwI%QM#sR)vqWjNfF9TIpvY|c
z-lfG{DPkOjB<OlCvgAE+f_fgNbwaSJn3J-WcC^%Fp)LE{jGO~Bult!GRX<F0YDP*W
z!~O+IlAducVd^G6Pc(9F{SiWDgL(FJ%Yvz5tQpk!9<r6_6hyzPBFtW=cc%ha#vGkk
z8A^OO!00fjkd}a5h;t3Zd8~9u@tVKXUxbf?AiY}%wjUA7iI>8?QGXg8^OY0vChDw0
zq&zZLtPN7hrZs@8#vpL4#A_K|itAoSujC?i$e!cG7dMt^$6{#cgs`e1`4D&1O-6AW
z+8n%V^o5Pl%dUvh8pHUM1vH7;E)!tB#Qof&4<G)hDX3NlR?I$>Ksn}k$XQ|MV76rF
zHPQ~PuaN6>E60m=b{y+n;^rr8)B<rpDF2l1S#9lECoj9oJ<=z;*0BsxKIZq1PP&~Q
z2iZCwYa#A!YWLVkq)q6Til}`{@R(+u8|T(6^b+$p469L^9OR2Uh=V4bq+<q>pk@w^
zDY0wI4MsoPy2uDcfN9<-0iCcnNV79XrwN@dAEHvFs^uos)BD^$_V*$!4$MU(B8G)#
zt@fnvQGC3@!C+&6J;Y8|DKPmdPa(`n+Dk>&7T^cFbucN4OaQ+KHAvYMHJ9e#aJn>z
z&)+MXCsV<vg(bRt;QAEHZp`$goG~&`C4Kp+Y)U}+x;Hy3sdG$GR8s$MuGJV-?<F_d
zi`uLM#5(h`S=s`1o$dDiGXnu@OA;6B^&?E@6Y-bF;RjOPwX(QLVQ(D56&%EoCAQ#4
zypt0oTvNh~4oUfwZivBc37o&x5#No!n)IQc8EQpp<U%5KAz%Lbu}ZGlZ1DBx7uIB>
zy#}-7r)$J14?hLcjh^`Dh2IXCp!1>^^F2`E!E>b&v9<Hw12Q=d6yiImwp1iBMd{*|
zP9@zr$%^ql8SuOUzUJp#mnlWJtYGg*ley1Xn9~ZQ7lWCT57P)vRxcqLD8kpJ{*<7{
zV`2(#bHmDd!zm7KZzncv-qGWfpQa!#q+5J3UK2N}k6d`R;r0r<-g@3=uh|E7ZX>`5
zax|K*(K3dWacWX{y0t1izsKH!A`fTBVh%b4W&INRz)IYafx0s1lb-__-u}fkYdIBJ
zHC^N*-34}kg^VTjQes|)^WC1TM^x7)$8E|#S2o!e?=D}ZH??ch&Ribn<8d|wFyC_2
z66Y&gmLN2;SmhLd)H6i7ZlkZAtaYm!M$DyMpVXL?HqaudIs}buwzMY-vJRIP_>1Lv
zdS*V515Wm_P5*%#24a3q7Z1YQB*^TicM6lwaZ0<&5eSl4HJtI&a;#?(@+xKvuK%5A
zXUb5MxD(K?r*XnOM082clnj#X5oEI6{F`AJ)!w~`$1NWj=dws^0zWb|f+xQDyCYfC
zb?btXWJ3d_(zt1u*?Vt&<+kz^rgwUP@qsmlTD?ajhXfL5ee4Ff_RN}r<m5+YH}`?M
zfaQ2Pi5)ilu`p-z&07fzA`SnCkv2}NWOh}%uv5n+dJ%qMX`GXpOd)Rxc($!Dp^MJT
zFuN&V2E0O9t3rxPk{FW!9(7jim4>r{s7~{XOOmrW_FzH8lgX1p6aS-ttzRkjUc9(8
z;2lhuP(K0L%kS1@JtwXQb1Visq)y$7QueQq#)QfN6NY9YhL*m?@rxoNBUqW-#mGu_
zm|a?C-E_qr5-F86P;M1kZOXfGa-d>tOasJ-G2TJ3iq!0~h`62dO~IL_?5p*?7kUg%
zk(}FXV=^4UMJ8-+BA_5t-SbJuStN%iy<|KyGQ(mH2=5by$PsWUOIHS?0d&ZqFeB0V
z;NoqT4}Jwrt`YF%Y@9}%u%KfNAqEd;6*4U1gC|A_(Y|SJe49Jt=|W?>r1S4EX;Os2
zWI<nbI&P=1aS31b+M5?**(&C5BpH3xBwc?#YdrYyRz>c@Tv}*15C)<MIlWi<>=*Uh
z2vy^U1EEfep1%3fCj0@L#iWBq{W;;k#|q+l=BL{cbuUP)Zd@nnMpH9aqhOO9TJ9KM
z`FllQ(Vek~Bzt1Nrs%9+31N2XVe66{(cECbk}C1hDb`;??IBYroIXI^l`UJgx#4eQ
z6a=S{%J>>IAvSVXXp|SMwV~XJ$EpCP8{>$oFY{XK^!OrB^HylHsz$QJW;O<PM|3lU
z0AQ}jbtawQyVS^4<_Jj#;XL3~dY;SP#Ft+a#+RrNr?Pa@xoqsb)VJq4H!AU%O|0w5
z*nS%`aiT~8<q2;uLJ5YJx{R1{m})Aw9g$@t^j{%_#+ThisC~(K)v~!=PWr!!S3u+n
zs+%C4zl08CI;cNyW~wd^HC6?HVROk+Xn!<#<X)U@$>hE)7^@XX&7>-cFb~H%UF=z@
zWWK<!tN}IQ;YxWlp2VZ&4FMN(_o-btO(AWomz%ioi^wO7p_l|ic*El`M>TG&A<e`o
zH=A;UV!BNDwP>T19ac^Y7)8SNt@T@W7DUGafz90Q<<5cq|J(*Loe$E*Y!_g0Z1xXE
z%rJsXq1BiMn?7;q!0zdmXt$Y#hwCYAP16*vHC%a3hEVLRpoXE`HXA%m7lN9%++Wsl
zrk=g0c|*fgw0l|RJcC!GkZ*ncnrK%bS!HM{ks5>oS5GMUYL2Q)OzwYIPVZLVy6>G{
z)5`Qigrt#XI+{Ul&Lhb@YclhbpxgY-XMyx<Ls`cUjfmGNeJ2^;)>yr*SC7ERh;W<w
zh_s;@0N1mG6p{4Wgb=r>MlWI}8g&X#nP2&*8U#a_T69+4kfqpB;_B%#?5vF>Z!RW-
z>Z4|^D_5GqF*R5bx2S2Wav=Va-Jh641V3f=m9th&aBTQ9D@K*oKprSpU`$x8qCc3S
zA#NQtve^1Ec3x;Mtb_-+EjCgv&ru~8Rgs7X?&vQZ#o8jTK$3#7wpu<|7vRcZrkI2<
z(e3=P13K&<4D-HaOT6B?b54oR=!L_R0O9>G6mv@ws`eecwA5Wg(z5Zhyr#|8_<iIR
z*ol{huU5*DI5rt{7UwySf1X!7;lL)FB2<w2iwKEd-H@z{0CWjBtcVQz4OjUPwgSz2
z>YD2K=|jH;*V{a0763fZG>9^oQjz|bJrzPcxG>Y{MEI}j>e(o6q{3z4RIAb>$*CL?
z!QmbgS9R{P8*b2V5EMP1!?>^En{8~%OHp)~bOv>p_<Rj;y>*$7KX-fZmH2CV>#&k=
z0J@TyUm9>^?OjIUQGR)O$~Fw(1DLI;9R8Tae(U_-Z&8%-npAI(7H0ZOXPd0CKJ!8C
z(KVm1fj)Vo)b5rGVR!<|+<Q`<LlU?dk$>^{#K|TjC9$+?B0D53sRDLB^Zi~mQrRXk
zI@4G;lwC{UJpG%{D#@_!m3x@;!kj*)59IQwBZ&2rcuT6|JA)YN@Ntw`*nb(^3|iog
zW4tX%lsF+HftFEO15PAY(`zzO!(+pffGG&?6LL$$zQr=-H=}dw7WR#tTe5ee;4PI~
zW{yx;m_U%ar)Av`sd0#5SJ--ev^zkF7MnG2NF@+1iqz#Z5~9GpJx8jQtBctgv`AtM
z$P3EIrb;ufOp$aTJ`1$=ytG#v+OCa5{k*C=m<i`zGGoHXUA8IO2_q{B+wp|t!KB0P
z9dLcHVxmyK%50L@_zy03vl-8Pi&fx(pCO3FN(ybrewI0P3mqoDZl=F%k?56mnxP{m
zaFNxbf<Pp2)hdUoR638ILYwO;3XH^Wd<AfD>JThCC+@T~&$bA{>0toU3hoGE-Ol*a
zuGO69V-m6+aTG=|7HC`J)G<I+M$-a@3CI<XdL$<#&P=-$2js#;0M|>J-cY+i7csud
ze$3r*Skm?THmk82q(Xm}70_Sc`(;(=TRu#<g&%R;i{-R^RJv~Qwej^d8vWD6FvgHJ
z&6FLVX)PP=7cbU`MbZOmkemA(D)FQ2{B`7#tz1TGTZ5e&#A%^(e{EhT!=nKQ8}X%w
z?2pY^XRz;uT{5J7uinMA2lqf=^0`KKgifvJJXbs``Ecp>>pqGrxx!3n0aqaMBs`uj
zO2w($Q^T!~WX(65HvoK}3bhwhYgKu3l$&NOvbL(utBbTC?J^KWBQ&tv(-<ak!0!%1
zFXE6o)A~p2Oqd65CGtos25iJffUgSqnSRDELR6d{6z*MqlTdVIc6nYNjD!jr)A6t`
z>?}lnF-9V@vIRM-lQAr1!$sN~B_U9E_`jwJNI9e_I;J2e`F}i(M4M18U!WzYO}D{a
zPbr=9!Nlji^a~*Uj|{F+xS_Uqe}WXh&M_1C`C!HV{ptR|u@WjVZ)eY8@i-Z8{u_2{
zs*@n1Y0o5gxVJ<!^!lv#b^M2L;+nINO{sEXM0A3W^tO<#(xyn0bWoPms<#zYsl3&?
zZJQPAIL7Y~qw0tj7=_Z`|I>4Rg?^eX_%&=pbS`pT88SQZ;1Ur&8wl!|x;i~F4mQ`S
zGU_ii&4Zlx@=D`UR_hy9QOvQrV+d*EAX%pEuitynYvtpHz>N1b)IL8@Fa0hLC{vhK
zYQcLWO{gj&3!bW>D`CReExAS<OieWP5R!RoeX<&rQBznQ@Qv*~Zk~f>9@dh?(?TZB
z+DY_z<e>U0FIAD<b}SnlV}H#9`K(fvGf@QN${5)v(=w<T_(+${xO4T9BpxKYPmAE`
zH1gowa3}7N&LYsA>n00mV);l$uaR`MR=zo7&S+WU#J;wxi^)^V=0J!5vcZg<Aqc%E
zA#KNTPsT*?5kTOq$Rm3sxj?h+g&(yq)|a;`EsSA8_eQDYSeSS*w4#-B8?}Tc)s9Qs
z83bU9lr=<RjO<@|(;0Y4nb4#?<6xC%o|Fm2ye7tVDk$0a1g0^E-Q{%S7LD_h*-%f$
zsXCOhyqoeqf$@JK1<s@tw_G9p9fsl<psR{CVsjKWl#aP}WpH^h9qiIOJG;L|kdb<6
zC;6P7@`lf7{Bku*V~m)^Q#XlqzfU`|t%s`KH+>8Ymag@Y)-Ufwl;<WcNUUHOZ*DZ#
z<|i|vY6Me+HK0imVxRmticm}X9Kz1YGv;9Mhcmsw{y90FR=#SjfGg0{%)T56Z~MyJ
z90I(Pf~D_Tp}jY`AgYiCRuO-%B!2n!p6{Rb$4w(A4&zA_{Z?MzK|0E%==IeLmrt^N
z6d1IX<HA3spxtOpmEl&4^E3x1dJ^V~B{y#&-K?6xs&f3&bzQ>0^&N29?CXQlF2k?_
z9Vl2t)2((PNRxTN`zRY9&4g|~V9=L5_YQ1iSbL8{eZtxFjGT{ajLge0<)H_P+r|k(
zPK$WVJ#QCAEror${JT*T7AxeVgDXGA!<x{#ooJ!+JuFGCl}#&;;h2{yunaB*%t|Gh
zeXK<ct(hfr&dNUSe{|e4Itrc>sXGwNewOqOYOWo*6o@8PO6XXA9wA-+^s5F<qfcDT
z#&GCmQke-A;FM-p$)xx{C|FA@raG%{H{^$+ekb0R$0I}N#g3Mz*QIVhmU^r)A^)=9
z=g{(ci?CR&LpQe3Nbod31YsKu(8N=Uf!|OzBXYj=+ev#~(la7k+?>%iE|Yd)n9IGi
zWZY(LzzeytYX4|JNi-U*pF5A*7}hWLt#?G6bnC+$KKo73&t{B~T`VxjJUKAz0<^dr
zyGsC&=-=lDi=I}j=(O)RW#G(x;9})Bo)d8)Lx+8|^Aw!$LeIO9<L{wGi6`f$MQ-5;
z>wVE=KvrQeMzZd1<4Vi1l3kIvhdqReI&tvJ=sM?81aoK;fv>iA_{fFu*lD(sB($s@
z1#JMY4apz8Uqd3;!R>{hq=8Cjk)>U-yV<}C4CVKxGo;GpghxysiMd*e7}I><iZ^S}
zjFB@1(IL@x@aoyQZqK(TBaPr%o!mm^0tRA)29nc@oGk}BM;kt|)3YqnbRKI{LyE@D
zzN7e^VksA2K<{c8(M{B`p8VLT=?f3RoyLidDqFsRaAWS;ArxvoC>xarB?!Z>Z3Pta
zse7D;^`I!ZN4phUGR<-LF6FF)S<i7&)L&OnGnpDJ0x4j~-k^K+Xo|)T%PJzE?oiUU
zWxQbCi-f<2_y;Rfvtb$3Dm*AJ?nl^#txMqQ{sD>ezBjX`pUh?1K}yV^m&u+vA&$8B
zz&r!W;*898TzRT|@U;Mn0J5rT9D(#F_By?QIQu<ca;vBv`_kOBgK5<wk_rfrRHHlz
zK<kVbpOCP1chet4={AzkSjM(V4@|K26&Bw6doycWFpRw5en1P1$EWrHE%`4d3)uP5
zo?OR#z)N}Br3re77l;;{X6_G643SXu2LPJyHgIY$TQieeNz^z7KSX_b?b>HBs9pLQ
zN+X=2R_ik_1$`0GHqehVTML&gDCE)3XngxUBSkN0|7gPv4T0c6>QZp0^7UJdGQ9K(
z?uq3bz|2LhN+_h4a0@C2hHEH`uE-tAH=2yO#Fq@8x)ppLBji!5nAB8Of<AvBfNolU
znj_o^2j;s}+v`4&kKphaDFRpOSWs|-#}sG9oTDtXaEnWDO#_OM$D%8kO;ar4EH2a7
z^d_ZSPwjnlY%8yJeCJq@iFo(qfPV+9T$>*l421|KCPJi>bkp=_7nJN{>({_Owy_&K
zDPRC_6P=7E+4F#@`~(A_^-CDL@5s;}hq!HmGsT5d_;uyQi43;f$wui|1FfD{6=d-*
zYJ1mI=|PWFy}UDr3_0d$l525s>0pLWAI!E5ivMGf&=`Y6`XS!SW4VulD;pvx+QE9O
z4^g&=t-WebKDmx=sd4wbpvBL_Ks8ZvcACZ6l>>w)Zk#TQ?_JPIq|HBucbTw3^$Ck+
z!b_R;k7>@m3z1@*7BLU4sAHmE&!bwI*r;co77{K#hFl+)uuL-etq`n_cjhY%G1}%H
z*0)j!G}nMaLYZ))E396E7k8sqhSo8&YwMkZ<M_Y+ckRL04DaPRluVg2RV1Rax)@p%
zD4KQEb5>Ti=b@Blj#mBXZkVRl3w;hN<wf?8yX9!V_d|J$vhdoQC;T(q!{YsIc0M4I
zMgN{L6y29f?BfB@3q_*%*<!GL{=xC-gvL5DV0Ld*Ga%WoFs7sP2pb~8m4t?iV}@i(
zUm<=BTjD`b{`|jP6_nOW*dt@YuW$%Z&ag>|ZiFEruu7nvd7Z?DGTYRdAq+RfZxLq<
zhoB&ZlDoxO_f2UCPS>)}ROmY%g2(?PFhotatEey<`kCKY<011(rr^^2^7{JK*N@<i
zCR(YGf3?*d@Ki-6=u6%q0zW-h`r&+KhKKCuYxs<vmYc)8*d0ntCPL|)!tPt6In6Gq
zhF;kVqqultX@U%gxP%qh?C8DuN|T4w980k<0es(@xFSC^!39CgN5|dY+2cZO7AEqQ
zn`rHym|8@Nx;AI0R!w3kHG~aUms-6rcS8z=_$0F<M6|uX{<!f~aE!xz%0YY+?6MOL
z9%E}mLy{nl!bd<r-<UXFM^P^dA;2}(_#G5JFRHCNt?{`eF5M(@Pqhke?Vs4+E2@C#
zf7@rlxqWsVzCYo084(^zvxOL3?phv?L{83n!&~V`Rw`<P%T%@WkuF8ss;s&?V8*Nw
zaT1d^pN1B^ymp+`CufhTvDEb#&i8TRxB;5ZG{+`{nq*(R`4(qMJ|;I|Z!peg1>c;v
zM;Q%9tys*ui^{pie*U0^bv%&#Dy}E>xWw68ZHv7kEzimzPTxi(`oQduvlPEWMV3~r
zS=5iyT=j|$`T{#<WcMItL86fm?8~>7;l^wSDcwFoh!H}kN(RS{vYV)X9;~L3OXe7T
z$;a|q!VDs-&pCK<k>B>Zt}F=d(?BNDI7bOnY%=UiuAhDB$PhLCzZkp6AWfn+Owffc
z+qU_ZZQJOw*=5_dZQHi(>auOy+q0uDc4l`c|77I9jLdT~PMjz2>v;}sjGU?!6d0=U
zvQV2Uy~fQpl$#iwP85tv(#P}!4Ol)gSx(-uR~^iV`~}lQTZL#%WpM2tpQs7C7%Myc
zYf?pmBQ6pl^uynzSQeAT2;W1HI;vnqGic&^Lg2%h262G`z#b4+)TJ(X*ui?-1zJAP
z;}lf4O4IM?uhYW>FYEwQ@-0j)&L01-qXZicLj1{rZKIgWK0($7_T9wY1bUd7^E)^d
z`7W+HzkFlH1yd0d=7kD&7~*>mIYY|YNlV89!LBsl<<mSiP1m8yq~(V~%#b&>Mf~#M
zfh|cx?&dM~hc*l^&NapFDu(gw7L>(XC1{2%SA)HxHzsmRX@?Rj#wXy|DVcCOO?7ZN
z24+<i=1iXI>vD-u$r`l>0<j3e^Nr6scf40%59<axZph&*TC}3|gVUFgxcNi#h-7|r
z46h&v{m##)vyt31clT#oYi%*_p&VOL7ITUoV2E*%3-USvuQwG;rthX+x{X?8XD+7%
zcfCB|s8S@TArDKrBwF-B%d+U00+b9Shz^Ek#+jjG8zB`*MKXL|l3CHZa0X9coCesn
z1rJuMj~<AY2-J7FBA@-$+qV`-?J*bWK?{nkqUfn-d$JuY{@gaPoWQeVg6zMJfTSD@
z>u6VZa)h9Iz8JwccPyJ(j9jhK=0AU=luy>HAr<gSVD`VVuAG%%qE#x7;30x2P<B&R
z$p|qp&yQ>=T&-NsYIOme;?lSeAy55@&!M{*?Lv>(IRkT)X~>W=`!}78fKS!l9@5z|
zh3g*%9cu9HmCY9J{gTL8XHxeq+s8>9>iouLarR06zIGPJ^}b?*ywgJySKs}Vdm}!9
z-&jo2g4<MWyFREew<(#QeAnVb_#;)TJyX+%FlqhmAE4=e3m+nWV%MvzHvDdUAP9v1
zQV2a?<+&?=X<LlDnqy@_U8}K2J!P>=tp_ruMXeh>L?=HKoViYNK0u0U8(tWKjew6F
zWQGc7I62Z|_1Apl3?Dn(*B6dJ=`5#Q$AuX-%fpfDu1BJ7HAl@;)zoGhMtUf!p0T8~
zvq0lV*R7Zq&~KX-T}`V~6z*F}QazxKQ5V>;^gC(Vyz4Vbop3$HQr=3CmVAE3-;bFB
z`?1^1oBdA9#(B??Oo@y-Y0HSl`eSyf1(UVq<7{)g&XbHq#@fN?xk*R{)w==`_2Dyv
zgi$!glc=O***@)DafJq@f;cyBdWE|HSfTp{Pu-i3UV*#<ti+h5SbL}P-a@ms6H}{t
z4rIY6zl4+~;y|cz%;>=A8yXl0waK~i(vPQ><48sV<^1HI4cRqs3C_+um)M+z`?3<^
zRVP)DwT^b(?y`BGA;LTJ)si}@I&9_!QPhb_D@{hSpnkAjK5G8J!_CL@r#)N{fTYw9
zPT%}%R|t0S6+KEMAw_a2P<U1w5Wo~w&=<z{Oyi@zHq?;Kazcw2yfBPSe}m}Dq?hV<
zOda44TgkV8<pt9wKmZIcVyechC+YpB@VW<lcri8ET6|$$Er=W@dmKu{Gh@qgO+#5<
z9V%@?cvXOCO0-{3CD-=X3?op-NYYwg$zW%p42(6hEc>OkJIQDp$rP8M(rPbkaPn@(
z_wN0ZbC)G_Cg+%~TPaWB;5sErq^4vSl^z{T$d&z#W;{vtZoauJ*V&{!@)al~wc3N6
z>B><iZPd-K`%kmOIRFadL5su$VdRKDrG;UALq`IU(G{soH*qx32!(OQ9@W4K7eJ58
z0kw#zv84<5O5jI8O{17=z=@C1$&;b|;180so&es`le3fn#pdgZ3@(i4^&);15Q5Ie
zeKo-jrJbBY$1$Y)=k20WSi7t+&M?4iEa{c{gst$FCfkb1xhZ!{2eE(X`7+{U=_nts
z*5}>M=3;L3b{SsgBs**Y7QuuMeV*m5zQH>e2+aKzEzYo0O+#Ai-D)AC17%LapMr2J
zQ*JjiiOtBxKQ+jnJ$}8Z4MTc}37%V&G^&)ARz3S7pl)cxIFdEhXIWaPXod*5S!cCH
zvvAGYh5caricb^%=qVQ}sS|>;;)O_=mB<8@0qcV5BV9CRV|oYdbGj;iPi#lhOKluS
z#c^v%_JoeV2Z7w%e9iuQcajS^;%fk<n3{>NthzEzrs4kfPj+VRlSZqh;Czy2nXQXD
zvC{IDLvaaj@ANYd9N8T*WW$G{5M^RGp=`>PLo^=#i3bh-#1W0jjD*@^1nYbk4ZHC@
zRJPF4x<V-$Em_-%eUsVRp`x_HXK>V*iNOl0QMvk`&_!IGOGOMy?8##-JHpGkX-#~4
z{6CzN$8d-;B3c+yEl#Oh089L{c=k*@5S^Y*tZS-B-z+?34PH3KJo_P_<?<V&O`Hz@
zf?ke?zAaWXa?DtyR<AB>2v+Htj7Yq3Y4sE1<h@%%x5Rx0J{4+mvk>yPgqS6UIo<*X
z!ob}@I<(^*rR?Wldc=J6e|!RYc-z7N%rh~7cm2vQ7P0O)&N$c8FR0#fKDP2SWOI+=
zT9|~q=$Ju~y&MB+VXe9(9tV)ESk#MJ?c^xU2Qe@#Tk!VUwv$2A7jC9G5K)(DRcD0S
zx=l@{&BXX51h|eeY!+8m{^xrBoE$EeB8#ym*BH~<eeNW=rZiz`70U^qlsIwm%me)M
z<dTCnlGs{VQ_garJ&3+9a@UUpo1kF)7_+C1RZ&Tx-`1A*5t3jvk#W;z{ny8$@>1Qe
z0f(mK**lkidsf$OnX&TWWW<qj<l;-0xh7vx44x?hgM1kgQk`e#Wcp3H4HMXLUFq3N
z*y3eJE&+W-Q~{{*=vu~7&IB!;CR==FztL^S$lI!ybHDTDI!3?`1!o8geqlCIBP#9s
zog43a0OExgPB1&9^d$ajIty4$WIa8AU@+cIGAv1UxvJ)GwA&OEK7D|l1m1)|iIV*-
z=8fVTc7jXs3R7t2keUeK<>BpsI#rNw)d1)7l9P6SCpW8yAj#Qakij1?AoNX=7JNRB
z*8UyPXsqXwoYf$k0Mm+YIL*n&0!Y**hEz@g)NEEl*FbLDd*0~`Bv5IBc@_?o|D_!r
zj&^#^>J~-~HhGZ^eQTG?clt64fbxoD@)oyjIsk8x#E@1A*%wnxlrJwZl&JRTv?Cq<
zqKY&q&23NO#ur#BYy}hT=<icjK!E^#=lP4}6>W$#H8Htqib7vaNT>X$V8AR9@VOFu
zQn<lBi5;1BS0$Lgc*fJsKeqhl*-pUAD@0eotqqIQ65a(D&yrb<(WEyntRytI((-gx
z)>XJx4(lU+-a4tDS!?9bh7Jzprb}`FYg?3K{pBx@7*>&}Pj{Olai^(ZHRB(p1MZ`v
zYbbaN6}HU!upM?#l0CP^5Tf(?m@8+U=tuWOO#N&GS8={GJWQ`61;UJ8*xf+exSc>I
z%49*S)bXiqmY9k1P7_)h)cfiF#gnAwja;KaR1c%;iMWX0yLND%#cDz)zWahcrr^j>
z{R94GuATcHFzNztXX5TS3^KpT{Rz8w{x6I8w*Mnn^6LPuMsBe>6{(p1q~`Vn<E7Cl
zW|8+!m`)NQlUCgkb*j6j@@`f~U9pMS#^&WI#F!dnBvu@CV&f$cPtQd=qnXn5f&*=W
ztR(}Bqj1eq3!F6Eu5Dkm>VPa-(JLbbvhkPS=g1W~Z(wdYzx8TkjKTRN2h^`<lb?Jz
z9kts$3B2fN5oO3TVJW2?X^m>weVV3uTFMX`r-3@W^=Ej5(;9)N#20wo9c^6XvW-);
zRx)M$D&#grA%E$WjRi9(A-c4k`b#-it6gE2DcLnbd$%X{*+Yr#Al&lz6tkp;d*IUa
zbI$e5dS;=D&`54dKi-jcomKlMnklwXvup`j9$Bcx2<J>LDjD03aE6#7+^9BWKYy=v
z58jQ~#oHLeZQcTKz$j4^MzUZgSDl%F5=9!3tA{@aV^<?TNAJ;cPmM?sr^XlqSR#UN
zM$a)XQMF5(2(%2Wbwx12&R**ci7U`Bqjd;!syvSjf1&9=WE&rwi;#D@+~2=u*6x|p
z4|kKjnOUCcq_2f3m8?dJ2Q&zU;S;SQxZ$(mo1tYLb3J;_;J{xp7KZ^dp(%Wbw`~T$
zxuxmARLPZYRe~xQW-*`J>UgD+kn%4Js1Q49i}QC&fw|weAO0)`uSG%n{AuLUdfYGg
zK^-EAFPCFVPD-1*hW-;HG!`rO+M_DqKj_-3kyb-`JkY{q1Z|H?4}$6=2uPiuW;ca5
za_ieutg}R|w#9e%qbXESTP@Cs65<-ckgUs?xQ$g(??RbE0ky*4<E|5qmm4*Yi>=Yl
zp@r#WGPhncMx)Fj!6N(65x1NMnD9n5{b~HxSjbnkgtcX2?K|h=K33it&XvLgQ>&gD
z+j+ZOcmXjWji1X7!h|?BXwcm$y41^Tmsf(|YBlYPlfbrQWVo&-HuFh#{QuewTlIQB
z_=i(fSgd+Me`a9cw-!&q2V?%uUpx*nN-E&O`b>yxXm90X_Y8`9q9%tsN?35NlNZ8}
z;Zf}benHf3qBD7$lg5<FSSH1mBt{T9h;UMk_W)JLgF0I@c9^DyYQC%)wccV6WyeaY
z<Oancx|oWgV36R-Sh;ER#8p3qh{@edHP-hm4Cjt_>#O=bF4cw!w@zQ5{bWG1oeO6d
z((GyA>M!1d%<<b{2tRYkHSgYN?$LawCCm3~O^@@y=6F7QUpsY7wL8ir#-=g<1DA8Q
zuLBF^FHxUNlmpC-p<0~HmyJL^Zaaa4o6!*oO+jmA5$oW9Ynv_h4SAY)geUK9zJ>PL
zWv2U0cFmqDnqJQdPagO3EeU(5orIn1mI`uvHuSlI<}Dgqwt$KElYC(gLF9~)Zt72K
z8+}Umj*u0KK9TSZN!pd@86MZ%p)%~4`(b=-8rS}gt#|3t6Q~`m3sz^2z9@c}{c4^=
zutW1)o$yyS-I)eT6M^WeBy&e@&L54VsgGCh)%oGg>iN0$dxa$|8rV0ieuD_Biag>>
z>BUqTmKX%`(=F|cCuep_W72g`#4*qDM^C%z18|6IAbx#9N;i^@Iu<zmLg`+RE7+)B
zQm+Z2vfU&8$?oo22GgX5CK)0fZm>|9a+k8T!%xc>FAQ^l>M?vU<;7p0{I=@>6O8%8
z#=Y2Z#kq2jX;v-zF$%6A{YubJx8XpU$Q)AoAh!b2P>#aL#4+!AH&&F++8tR;>qa%v
z1S3yI*Zl~V(qAa|Hj8>12J!8kNrNnjPH(7aTYfR}OyUe?WiegSGAR#FnVcblVKRhx
zZQ25XH&XNK;3I}?iUu`W{&_}F_eiN%5;c$`(IeOR<$2yU5IgmHLW}21r6&N<1omrW
z3?1`A1Y}Za)klCg=^!_wjKT)^6#RL3Sh>}W0@s89b!?bcE2Z^(wHX@HA-R+=?sBnd
zxnP_NZ<3_YVU_l^4>H?Ic&6!UpdBY{xQM>7HXciEgKV9LD^cs|amsEW#K#Nzji$~G
zeT;H_!{A@KKuVU~al`2fxrer+R}9XWTezY<H|q;SuDJ41@YaX(g4m5#2E+;~0B#FY
zvcCBzXS2Dt>OpzIaF_qHe$w4)%y*5_6RrzDcr<ZB#PMIVCFoMrJ~v=<2*k|2S_10U
zM7>pvn1T0$qy{HMOVaTk78R~7bm@IGvI2E4Q?!fzs^(x=dL0mcYGUyUvNpZVr&SCi
zkFuC!5AU&&fu2*xg)iLLIHSwn)D!!m!e!33q5cSn){{93SIfqm7ZVHEf8HH17mmyz
z&rdH<ETr8_ez`uXYvR?ZA2Vi`dN?DCJDgm#ydQ-UupsCJyacQN`4p2Kx1`xLDR5hL
zqoJZGBox~b<O0F(q|3Tyi~}|q7S!F7h_n$N)uM~$r!XhI(Zoms@}5=$;b^y)oU7oG
zgM^?nu|Z6z{641f(Qf-N%{k8bBczju#FZ=SAIZ^YrGl2FJSRO?<ch3N&3zV!YU3=X
zIfV4)U(Rx$Yc0L97uGjzH!sldJ&Aj<%8}YtqCxLdIyJg9&W#Qf`wm!;K>g5l&N}jz
z+}tN`3Ehu2+yc~y;74>jd;|S!)HiJ5W5)}>`DhH;Y++YPFN9%lJUDZ>EDzVP)+`t|
z_T*zo9#Eb`4x10eXqQ$6$}Q0fF|?4->X8n_Tn(i0eKs1klh5qYE)VJ!*>#2&YC9E~
zsMI}WwC9LB%1t_#w<8VnMh<GjcQK-M6gZzK{^l!9r$!r}@3$s6);?|Uui0ci;S!lo
z3<)AhoycR|HxQ=IS-@!clvtVrTpQ5VzotFb7e#%OcYyl!zFCYDa;wx9HvkBpS$wKt
z_RhCUC}2i4loP23Am-?N80Ond<+*(B{_aMs(_4HiB)-!zhzlE=jpkE1gc+VDSIkA(
z{ffkw!l!s#htHfra)Q)oqi%F=w2qRAIJW|r%8#lz?+i>uu4ppP=Vbvsq&dV)s%Qq)
zSiXec;;?y%q=$7rxLWnbg=~EjK1j)uV-~W;nUFy9_uO?HnUK$qOTv$(D5xftB@X+c
zm<2$!&#VSf?>4#RDSu%GI~Zm#wLV)6Wmmuas_W!tKkLG@b?X$kD7}97q(e=9E_A}=
zMN2AWI%-nku@PoAGlkqnDtvvV^cq579dmeIDKsVcSyEqai>z#g8R)$Gk53M3(uaM<
z7`nhu6y1_n?JJYK%yc={Nc(*TAn^bofYM9vQOtlF8~UDy`mn04?IGR3Vm)b`O(@^2
z?zXQW;Ee;MGO3Gc9+^uv=fw>^6#<;WNr%%HuXl^gF)rI89{ta*d)zsHNO(xrnJ^}b
zCqip-Q;CCDnsyQ(c3cyiaQe{+hYB{~@FpLrL^y{+X9HKSyGBa7<UlqkA8AH|<=v{r
zhhnCF*PjPKny-7ffIlf(yN*f5s>Ly-xTxClI#ib-5Ve+d+MbVN0haQ$J50g`n6|9c
zR$Qx#x_2ZS(qMJ0d)fhEg;5=v(QLf&cLSz4OQ8AZ3|PePyCwWZ#oC!$`wxZs`1G=U
z-h%E+r_D(H65&NcB-2J^dJ#U0N~tv%?9D<{H8U3XZRU5+p!>oBgaXM#xFc~D8NrCm
z;I-hd^NXw;elkVcOZzQZ<5{s#n_WO3tg2*PDiO;djh#AGR?k(oHoDR!G>Hv3h#FWH
z?<v~4N4xH5(rmc&8CBzSOG3tyqLDS$UOqzZ^UMsXY)K(UmC7Qg6e%2e8T2O5j$nHE
z4R_FwrIndq)~;c=O~OH$h)EyM1jUc6j04YD{#{UMiM~``Z3i#qR@SMlT>2XJlm08V
zr+TM4BpXVGLxe2y?xCE?D7^$#JZpKs9;%%b>!Gne`}AHODI+l@^L77@{`r7t#Ox7F
zS(0TkedHxT%Wra3Nae#&G}tof5tBk5PbuS4#2z8drOt5i{g=IOu+1JEXC8Yb6T$~C
zORSAmmS0-cx|e7SRe6TE>>SnKYD$;POG|DQVuFE+38G+F5Iapn<P|jKmthKXyyrsA
zXyX^FQHF@lEHy%blGse}=lBg_t@YG)1sWZ%W6B`(GgH$4B#`Ab!+|nYne$`08y{`b
z)Pm+A@@PXq@T&atSZUaOnij|AaA|ytXs6Z-6`dlfh3qX{iv~p0$N4S=lu^B--2W?|
zUQ0>$nHc#N9QE7)h-&G5MxgrzX*(wgA8~dNPrVO{8w?Ss4}=g*0_`JvFM7pTwGa;u
zYpD{s{gULZOtk8u3s`I%ym?_LwkLf!&F}#LpZJ^3gv|E4U-bTvc{a_xejXb-+*7ni
zPPE=wH-s@xzh!duOASL&Dx{+mut;@D>i~}B3^L6ti9DN8s62%^O>X!#f)l!@<yitv
zaTrRd?w_+Yr`Yz^F|abBM|WY$CCCAnl(YZC&{j=Q=*7ZS4K`+m1I2Y)mOmaXS+Ztt
zqNM%r`8?Iscm)29B{;t%uVw=NHUIWnX=`5u@3-34yOd-46Kt7zteLC-D~F>Fdxo6{
zB*}`jPz?_i#$xNp)2FIaaLANRU8pW{L%}QU#Q{e%Aw2W~rsHw5&@v8VCXp%k^&GFj
z%dss~nD%vDCAzwb)=rR}o29-eNWZB<(XC73As)K&9&M??0L*6yJNf5fY1(`-ZC&Cg
ztd2uE%@c({=r5b<MvBvkFDy`8T2afcng`r^un0HW*BwkCj?$v*<}pZLWe0%m_R+D)
zjw_({Okmfya^H@r0KlXyKG|_BYo1W(;B0j*@<7=Dzt#0*I1x?Ilrayk-&v$9lD!|z
zr`qXYfR?X*39rIH>s$~^Y7<|KN{kKy<0#%t70^P)FoPi$2$Thyx}d3f%bl0CQ-aZb
zOn3~MTR&MCtZlZ$M68mKs?fM<{a5<I-Bluma>C7Nj)mJfbk_`jv~)w%hIMblf-{0V
zRS&_iH&p+^Ep~rEvnZfxs%uzQL?~0)9?o4XmFZXB4~D7mg?Z_QrtmI7HFI9A78bv{
z+`FYKN+(pIK_^#bdMVskkiXK|{LT$!bWIB`OL5fDi@i-a9W8O};D^7QRXTmv9rj_0
z&Yutm)LgHvn;px)0+4M+TLfGlAk;=n>oN*1-nd&{OBn3qo-Km@FQN(b*s|bHcHxAE
zSqrl(X>d>elu~iJL}U-GNaM+TRFIAMyPS@Que$bkYUFvVI|D$vtu1Q<3&y+OkPtZ8
z$%Kg*)31w?kE2>B5KdM$3=lY}|106e#_%5;)c+shB_$`Mq@eo$AiR`J%$)x}2rnj%
z|4w)@vHS<&#r_YN`VYd3^`FM|KM5~Jw*MExi-Yw)1TWVAqJWtjI4GMq5mEyFSHVjP
zApO5pywm{dfZqTOz<;;AO#X-DW%6Iit^Z@-%h=Y+%D@3&0x<c%{Vx-1V*^KXfQik2
zJ=r@OSp7Hp%fiLvf8&2y{tp4n#=^z~U<>#^X29&7O&pyp{!wH0&bChf?XDdFjsQm!
zYm5JCkU5&T{4>TJ|6iyuXB%S^2S+1Y2NQq`;J>M101p!fTdIF=($>aF%)-iqkoCVv
zVgE^ou`&L~SoxoH7z_J<&|%DsEX@D?l9}*-pkjoK%$%I;|A%x~wX2DW&Q<~)I**$j
zXItmL<Abx0sO^s(MO&w^9i&_U1l094eE$}~j_b$smHo~I|JVEIwoz?HrKxJQM&%4g
zQW5oeRDpmeb6iq)HVg?33Jie&l+~Z(^D0x@O5@qezJCckr(|cwX5cQPtgxh{eK|s9
zjJodZpmLZnggiJ95K@6-AT~B28UO%5OeV0o-M<KBWpM<OH?Oi-Qe0~GntD`A2gE$<
zOMH_vqc6=3wDb{*Gd8l_k8XT&FL%f9q5|O$M6X8Z2eu0S3sGHdK3O#Zd`^PK0;EXL
zg|PI6SVeo<s_z&Gtd4VR21^8{uFe%?_0tHLp|uq>;D>rT{VZGhFP1*EoeNNU;Ler+
z{xM-_FCn-e=-4>=<>lu$91u4sZMMvn_V#SwFg{QVbE`ercXD6n*1-2o5N_7xj_YcV
z(Ty?n^9=pWv79~xMxUn&8dSOO;hCYy`MtW8*)2D0U8~y;R1>@FS7lLey=#W+-(gg%
z6IeT7_qI>8N!VXN0oiy~GQ2xRy@{M0{y%bqOITKBZ?&+PKyrlA$`pBUV{32O$JrmX
zi*M@Lem_dx<$;0GCp+8EzBli)xPA09gg7wdB5Ex!X~*<8^>qC%VN<?OkyY8jyne|?
z1TJ}%gZzx_af>?;A`j}bb3GIW&`qt4cfWuH(Zi;sp6PFhfLVT+lheOnM85UnUVTM(
zf6&~2eulnWqrWG~zJI!Bf8^+nER70{EkCw_e$trzUIdLSA>49Vfx!Co21iEzLfx+P
z0cZZ`)s(d8<IMidyzRLD3H*+K^0oWs{)|N|a7np=W^8a^vi}~0bx8s7^z)<E$8e<a
z3of7j*!!|xX#x$%vg&imbB+Ju+i|5pPw^dOsp>n<z4}%Pd>}v^gMYnY?Yek&1)Exz
z(p=DVc>I}e`tod?@KkRzcjNK{`azP^n#X_5jqEKO8oJ~K+K#Hy?gA2Hvq^cGeD%R|
zU*qulAu#y)w?J6Yoc}uvbqPFYW?*Pw0M^y}^Y;12<kglX!R7e5ulHSIYxpnx>$b;_
z#VZV(tFwcL`sa<st?nEDimx6B;uxrLOdE%p?F@lcc1rrSQe@%=KXLxf;xP0U!M?(~
zPGMPJ?|RQ7fX*whb>Og_JgD3t>ZW<g@p){|L_EgEwGL(@q=OmEDMS8LT5dzfuSaTW
zMz$Ac%u3~*@#{DD`iGU60iIZFr05@4M-kQOvO}yC^Q!DEsPD^|<=oBcK7z>oW#FSo
zcT4ZfQUY^0M9k)3@llm<2-nuX-ol_?y<7l3ryIn%lObY-`^<eWNj_p(hdUPgj&Gaq
z_r3Y(4YYq*a(2`ANE&xPJdKQQx9pX_pqc!#o@c6aY5u<}9$rK%!O?3QzyHwK3pxm3
z8jLxDx61pe(78vspB{0p%OU*0QNtMAV|Qnnj>xm){bb(2P!V_+rCF>pe~)=+XB=B(
zp4<IqeUPS`FQY>-AuivEXs=+yd)+f4J2ac^jCwqgck&@CFHgPs*0rLL#PhvP0@7k=
zin;P3RNgP-$YX?_jj=(I3ExA@{cw|T`52Xysn*;I&^Rr#Y4<BG8t`CzU$|)Bj?g-u
zOv6@#Fy%W=s#VOjA}gBh1AEY6{-f;dAGD@=((}45ziG=Ut&KvYs;y8O&I#f~EI(ec
z(izII&ZswADb0p7X9^5{x1G?8vI2c{CPX$X!y&#;CuEAYV{g|JI}0Ie5i~%PgaUGg
zs(iO!MXbW_!-!=ioM4gdPn_8jG6cZ>=O#W6F58ZL4b{h#UGPdhB63sQ5f6nb2q;8u
zSbPt|imIJ){1(vi9Y$J!{lolGNXVjOEa$Ajv1V~Dw6P&?$|}~AL!)tyYPcz5Yz0hT
z=%N^QE6n>v6~_C%HUj#u4!-p_E*`sB(WnI!*?VhA=eB1B{y|15=sO1kVi+?g;+nwy
zF5lEV$2XPcB^oL_+K8nBz;kgfLZ%Qv4c)<e(KtF1L4|e_>|UUG)Pt(Cns=z^%R51l
zztdc8S%!A=NNDjHR4akBqror;GmGk-YIaMKmU@H3j3fld_zD6GRJ}q0Kh^q2$&b6@
zu%4$9QrmUO615JiJ>M&JVJcc;2FGKgAw?9y6B(X}%u4hgN#B<Q2Go(a8hg9seMwN_
z$%--~)-9Y7db1`q-`&If^k9V>RQ;SE+c7ZqoDIQPFc|$eng8BQczS$V-4Q)g0o2$Q
zBaN>I|8U7>nH%}uUVdm|Sc#}cur63KzCS|7Sb`6Qcif4XLbwTjb0q|Yad@KscM)y7
z9Y164r!%GAI6@xo@5chkW2y_Q5#urfV>e|v#50U|Tv}`xgx7b+-g8seiE6o9$!p!5
zQ)#3iXg+=%3Y|K-SxT(_Fw@#h3h_S=7xi;oAx%$JN!88ePGeNgCSGTyxU_+`#<Ew|
z4<|Ckl~dE<wzB-OO#3B)9qe2|q6rO5+4wCVm+yw^0}4pztpoU66u(pHH`apz^ufxh
zCJRv`JCyMxUrf8EW0-$5_Kg1`U@@Fmk0&4y9Rol6hvT33?L!>$-=@Di^(DJ~B21&m
zFY@#GfBMXq=!4sV)t<gzAzMLjSX7?4TS^qEs4#Ah^<0T{cVPiYX$Z%`8h#>BtN;j~
zXcYXxfdX90{J2(T$R~`Fl)Sc_g;>`vc`GrfN%tM|lgAG(QW~_b<W^&#dCF8MIrz92
zm<!#p&wp6kPTq6kwJ06}N9cRY>^&QKV^*m>5(#SAl1y5O##fz)J>7gVfde|Eb}eDo
zEOqR%TJ^x{GWuSe9qUt*ivzAVpxmxAC$(`b^gw!D_u;nc^BwIIhHMF*evQSz?dnA8
z_5-;|TCk?x^s^d~dMa%P*qKA;hd-Uim(=uzM=vOX)S6IgFPH`u1Q$uQPSoFyRWu{x
z8V9a;wN*Og6p&0Kxpu{gQRfk0ymsr4okvl3vQW??9&U6iWU!vAj$@Du%8&Ej3UUue
zf4L`_?mSTH>h}FYwz7nHW1CVn$Ea1(T3zpH59B0G=g7F2?!A4J&g>=T6yqVzy?<n5
zV0-5S!zSLr8DCAzouC534WO;12^QE1EZlR9Yi9?0$*OFtot^s_bI3vWM8o)uh)I;`
zz+z>X@yS?B=wW6S;{p4o!gjht(=y*y>v!0<_8J?3oD?KxXr%{~i8-TQpEK4!D-P-L
zS<Nbg-FJ}|<k?4#n=7zH-=Kc*1u9cGirha&`9}c6!FrERE`S6gobp1niuPfZ@YrIF
zPl$>#WxFt~k7|gWCRJy#7c2F*qR!|imN&y33FUOpkGFHEWag&BuQa|=g{Ez#sG!yg
zN^+;+r1P_gsv+R^-y8c=rxc}Iz@(E8@Y@znM6RkC%<B)TJK;4oJr+$OTIpMaDtyxf
z31vQXAb*P`babYDn-~y9kFW|Zu2iJ}-j?r#C*83zSCpCBi8U@$(W?C$K1oW{$#_1i
zjQQT8`{iB2hkK-JZ%;LHqvU>BPt2Ri&Oro?hXsl`K;e3c@G{~#X%f%ed5rtec8HW#
zwM}2o;o9QCNYU=euo;kV@6{{`A)vvV*f)|tU|<r5+#_m;?R19Me;BI0naIzoi^<w#
zSv!U8C#f>u#BRGXJ;9Air;qUc1vfBTw>v1GA{gvQPH(~4VW+V^1An9xb#zX7<=jm?
z=483(J|0E&*||ha9}%~@pnW{3_vXnJv?u69LZc8ffa*_wS0KRe?^qHN_TA4?zzKUa
z-cXXp+`sH2D+BKz4-7P<!vI5~ZlGi?L^M89Zy6bE!@I=7m6Lr(!WJ}^1iY;K%<yu~
z>H9S86w<h?cYdJ#o0F8M%NJ1PUw)Jk64oSbvEm%dk=1QQ$TaczXk1ilO5e^k04Vou
z|B2fZ`f%Mq9`&Oy!`2G|#~>lRFZsDFW4_!SA0=J&Iis9u<wBEiy%i%!49cR3B(==S
zP3pk2bI^sPXUYdE;Kg^Od)Ab%f#y+{6^$U&a&yxZe2PQMLNLPXnIzPnQOh^HS%lza
z&r)$5u7-JoJB=hI%k+c3lM$rjB{rUvR$^MN$W^Gw*jn3o*QiKO#TW|vcGJk0&v$j%
zPSop&{j=2tdVv`0!H`FXdJ;!$O@sZv#VmvRI`vo_vp}A7tj?dgU{fwRAXTFTWovKT
z!94?Ryrh$_Sg>aH+GA`i@Q-rvR_wIE>X5NV(Tk`23lU8_jN!j|VZ5`sPUQJyBH72Q
zH@Ogk&NfaQWbon`V~r53GRx16lPR5&rL(Se5424#6W1OGkSlq6KEVOQdsea$Nc27Q
z+?25~58y{64R>`Zm=3AcIPuTg%?OD<f|x>!2%3Z<sqpC}&fmw-SkL2kiBWtQ<7DNM
zx%J<ao0GTsZxF{5fc0Rq9_~2Q1WDZ$Y3EQ+o7g#rDKWz&$0Izts)p38=o)Er9wbgC
zwM{Ai^8|iw5|0zC8DC9q<a=xa6=^kBZ|wz2-Ow}qSc)U2WHc9EG1a$fNt$^IqQK))
ztIurQ0nH}{&tmUa=p@Urh9(a5l*RVu&Vk<Ml;gF;n^f2n0_O{>ad|}{QsT_h3UgM$
z$y5k>V!rH!%7wJvmcGBqbEnwQ641x(%JT^`Y473GWbmd&j5p`5J^~vy)6G`%wP9_d
z_vcO{y@`)3p>xR*Dle!YK5SUkdY@f<lt?X60o9i$_W_Y)3^_d1&WL0^A=eqG{cC*F
z^KbpEaaV)!Mc>!s!p{-mity#=sjn$FL=Om@_f`%!yb}?|Xxk|a_K6<{(n<VX-F(ly
zx7Rtd#WF?4oIMiOjvImpoO+5QhVNdQCy>!_$Db)Ou_X})Das`7m4JNv=bx(Ua}RYn
zAr1d^c`TKb;uI8zFZ~o^Zx>Cgy2%Aprb&#FR`gAH9TQE2BwgvLfV8)AB5P-?p=kEy
z&cCZAPFE&2UD!?o^&4Tq5>NV%L2eil$<QKFv+J@jSjo|gJr!n|R=NPaw}Y1Rp|hy|
zp8AY$f!&?M&5JUbnz_=XoVWQpL}BDkBjTc^M*iwE+bWAi`uR+ph#F$S*3gJ6RbCZ;
zV1uR&16;mev1G0E>1JyB8zIg~t87#pSQJmfa;5<g2kK^BHe=TWJ6@Dy1jU8<&u~Pc
zlj}TxQ9O9hwHC!`@EAz94vAWa)YBF|te>gR3%lb4R^Q>F@nU))^_H-+)aa-o9OWvC
z<tL`T@J4%A(wDJ<mP$;D*_BWg4T)_Ge(^1MG!Q?qh=4M%#gH0P<$%jXv|=H9k66}`
z)~!|OOIeOsi4Q-<1D6<-u9`O`640Adj&OGrN|(v|<q<x`7>zuVI=xKjDp~G|!Z6o+
z_}13{iz9Eor_rddn!E@223|u9ERDWq3SnP{g23%~A_-pyYRRb1-%GS4c+&SrIg%Ii
z6af!2tU>%d>;>M7j<PiLgW+8jk(M$=TN3}=@0<CE8+20rK?TI!pzp>KcCWC}{HQNZ
z?Jfl?;>Q-;)Q#WH{7Ed673}budq#3taO>*cNQ}NN6qUY((UQ`8w%=GkYASZVJcrZg
zg=6H>?daHQ%nn|Xw2^fW3kg^@cX~d^jagSNx^F&bm?vt1%YlR#I&-3{tpz6j6=l4^
zkJO%Y6r$^|BbbZyt|QWYEusk}pUN7u=WdKRA~-cfF5?3f86YKmIXg$TG~q0}gIz)%
z*&~I{2$HH2=UidvlGQ`vt}YrJ^(Y`XfQM4*uf;>2j@oN&%6%6ylL|~8l&kq!p7Mkc
zm$BKIXOp4ZwI=?1rJ77;u)E!(XyH|Wx7QM4!pDdS0lBifI^v!4akA%r8nLQd_G|1?
ztLOj~Q+aJOr?k>}*kZLtBGTJ(l4oN`e?wt<&ht+(XWgLvJxTJZD#7CsTrN*3yNjoZ
zbWMh)!n_`S{w9g<kn~mNYlo=aRS%z9;m=i-Rp}-&+~gtc;YObtppm2x`6CEh`iit;
z_{!0aS)BeN^S(*_y$G!OmEh29iMG)m1HBd`v?=R&XS2YyutW2fNbc9IY7LUGVi3PM
z-1=pc-G*WYb~~S*g@BRwURzgHLW3PahNy-xt1corr9@d$VvI_xQIx?VB<E#0C?KEX
zig=52(Y|o?(e81}$0rPW%IPVYMGxS4Mpd7P+Ys*k(T}~xVfG4+m5ePO5m)BV8X0ib
zA(UX2*2)hV@J7c~J&a3qt;~gP&KY*O)EqZPn|T}P%PJRMnB?{Qxap!Y{w*qK9<pOh
z28ilsc<&j_Mp&x2Gn_*X@#`ve)A^&aOFu+JmGT;$hmzkBq!8L%w^}3zYdY9s`Uw3W
zHONKL?^a6dqbcW+fXN6!@fY;NTI|hT%Ki%$8oOXa6#pb#$hk?J8@V5+pMRz6C?`dN
zqDN2%8M~4PAUJ@j!}Gb?B7yh&+T#<k;+}J3y=sfj`#ZStgsQ53$!qFT3R5FhibF4)
z0W>~CVDz@ju^n=n^{(javO=!NUHhrj(wZykT%^O9`w9opD%?ZnAlEwGg>vNasZo6o
z&reX_P>Y*{Ib;5ZIM;|a!kWHZyuu(qC$TF?P_;U{A?Ia1SUej~_*Eyyos#wo*!E?R
zWq(6+_l7mbsv|)u?Vmp|Z|i<+B@tHfpdn-8Pw8#KYZBYMjfge79e1tcd<%kig3>;b
zVM+Omy51td2DFXk!K0CgvBtiMEZvwXH$<wa@^xmSs5+YVi=qd03?;@to|mw@V&Jq6
z(-pGmth2jZs#xJEFW@O^!s_UQ9*KDQL`P=LR3{bxlnAYXI}j&g=>_2s`B-<YZ5qx=
z3AYV`(9qWVss!Ym#?o0wSwbyx;TY@pn_T!#T^4N_N7{)y#}EtS-FKVi$8(CU?}tou
z`+0Q)do=hFRJ*^fXIow!ts=vWF?X)P;+`hdvQcy{md{)!=4#QwEqb6AZXgn$C{!x)
zdvlS>ynELY!&3ghZt?WKtewdlBQ#Zk9$@B4v=zj=Oy~+{F!1_DXtt7I&Pzc`>mX@P
zNAIndfzHf<Ru>PGep?3V^a)M))<^?ec_%IM0#SuW(U8+LlwNte5{FzyZNy^b#R59b
zd@4f`wL)r}fH;^U!Q_((i}_9M;RA+!8&|LWxc)b|oR3zw57RQ$Gno3TS7HkK0&GA=
zKe}m0ZSNpxcz^9<1Ind68MI_tF4Cdrx62|}$53T&;QY`FTh0d>(x3uvy%k6QmYd=S
zMw`Wsd}xhPxOCCkqKQ65n#BSLgGkgDpqGZbV!+943X0iBIb8f>f)&zs-zhxER3cc#
zs5~{>#%h7n=;_V!k6%|_S}s#k``@kisDoCWJ=V#fA`Bl%1K4#qsJWO+LuJp{xj%O}
zL{dO@&af}emqziR&goP)IW#5XOWSfYB+H79OnMg}E4YrR+zQ(UzUS8n>r0WNu}&uZ
z{V8GRouOR5QS(85Dg~`w4M$IVqbgA;DpVyg@Iw92M1lzbwlv|M<Z7{PoRy3}TnN;=
zBjg(wdPq18cU5u>CPeU&K;z*#oZ)EUlFe&i!T0KBnH~7(+>~4=yAv$sEA~ZVg@RyZ
zHanzsFYI22H>1lZtk7tdo}LdWr`Cu~<nXJTV_>%uWs5m8cppg4>+@)TO|OW5g;l9f
zO4qn)b{s(vRLg(21%$bE-*TAwU;q>{ldn{TGMxzSV_44+xWcYN!LM#4;`5s8f>cf4
z+<3_2_tRe=Y{?R!@x*ZUqji?9%L{x}OLiAzN7dtRRfPtK7dy4JQJIJ=9B91<b!M`K
zpoFFhngd|(Jl?XB89(~jCFeb4RyfV3XIdt|n@-^9kQH#tIUx9M2b+-zB{Z9YESdW;
zdrAb^`$1%xp6dJ4MzCtZmh&RYzTtnusgcUCHG+!R$*4G>y8NR0QR``vWE^C4^A{@x
zSZ##^F`plKah5X7+)1q*&KkL8+!8+(mlCu*Fr2~5ARaO(>&{4BYnO}=kYD**h5`}8
zY|v6gpjW(?{MpxY@B2Zz-P%1XV|T<kUhRd{<PW!=V4OaW#F#XPjX;np!<!bL41?7b
z^z%RfdC!+e@baIt#vj-R4z4Ddi`YsYWomT~B#o{CF`wGgS!=-owIb8qkSP}F733_T
zJku@MC7{F1^jS3&LC0E7drv)~iGs{gA9kWfwm>1vBX|%Y6a$D_^irq==Ll3}F%oaX
zWp@>nxSjiCm*JKx$C#)@QH;N=R&>7xafDozB*=|tG2F(?Z$mm$2{J82j~p*<V2`o;
z5@B&138vjH<{};(;Wc*41MiF?q{e88;yl5AihkV?xl&wccDgD{V)4*oY{y;^t5YyB
zRY^P9VJJeKm_$~RgwJ{U<>v?!*YU(0^B9;pv_8!%0P^10>oOSH=e0qMU3pdMhJLl%
z&Z*El+-f#VK6>RBQ-eIWi4__KJ652(rh>v(v9fm+o@<&~ea)us&IQM<hy9VIajJTK
zt;qUg^>s{r2Vo>+18Q6*>GD*y0>P`fg7T&QjCrRiVbyqYg*19?RrsYD#=~JLoG<)!
z4#EP;*A8Sb3)1nVe9%O$r&&P9PIP@gc6uN>@;wCMHXAxm!^lxEXy+}gRj_K0Ds%IW
z#N={jAH!`+8b7P>^=Ivln_K&$z^=i(eTg?+xwbgmuEG<ge<6m?w_Wt>=+1zANlHc?
zjSj!l?=?)4Q@JEdBS$*W>pWFIa2hy6o%*atN^|;HysRQGCsT;Owb&R&Jw#_iFRbE7
z7?=Ewk~TxGA?Dbzqkc6u07S7%yM85?%hF{Et6|w}o_aWQ!BM>RYnS?Ta~!85(8|o|
z5~CzXWcBV>4q1+@S8jo<Y1YJPvky1tc5f0qyU<`(bhs&N3FdsWo9jnSfi>$CH&F!m
zZn_Dj9$xQ2ST6s*s?#_tpz^B62kRr}6$p-*Cyw~KF!?vABjAp#RAffXxMm-fu^DOd
zKnpkOv7`rs{`&H6Q)qiT1l-JKwP%fTk#iJib}gX)9-L3dxlG42e61oJ?O$W<)XN7}
zeE(o7pMreWb6{X9a<8(6dtDyrH`V;2s$D7*AM2i;^@n;86mbo-2C(GXoR9W<c3Lhk
z>jioS@>~NO$H#!3f+h?hcr`V#{%`syX^E5L-(6|SYjl7b`c!i1KBHx*zq;f%X}W7$
z-!6pabV3t-dHN%L)DE<z+>4DT9eSqJ_!5c=O@hUJ1FZo)a=D+QbstJGSq5O~sH9Z!
zN{)QbUGeAEOFrb&r*e<);j}en(iom3VQ?J$V6%g}O86Pb4mevz)e=~0zvP8==ki(F
z;zhw+YEVSr{(>$sYs?!bm8}o!zQe}BR{r`6$#l&>wSg%fK+mw+&0<CGJ!jB3HkeDF
z^^6-C>L*an=w7ZESRqTMr01bFpw`h+;FJ117-{q?c=vNjJmA9p%P9di$K@|SuBE0d
z$0`V>gLn+XTaT(Y?c;U58e`&PWifeRaljoYt6Ji;L^y{u<Xs%w3yW%^>P6VFQOqc=
zODA>IpqevSte1DIx#;p`^2aQN2`!^2abb#i301WP%KUiRp&;lBCbo8AC-IJJ37?jp
zPAnp%7ZWqDXzdeHkqu??5+KV{iF>9!sCI)fUO+<;2+mc<C+$8RFRm{1kEvbCX~hL5
zRQU(%jAsVA_xtm&Sykuh5iB9zUvex*eL`4Kc@Es1-%uvMQHE}z{75F^4R-H@S3=AP
zz=!Rr)~(Zm!sYSB!V|@8Dzf(H947g=r8y_^lti@U_4H>C%pn?Uif`PtH;!a3Ct5Uy
zmFPWe!4tr93%h$yC-Q#>cPt!a@YZ*MOlfq}!YW#ABC;`_+h3eUM<isxFO<yhK@H_E
z_(%z3TA5p5H%Es;)oa)%VW!?gI8Cnlgd|s-ag4pyjHrpzt@f#==`Z$E*L%xtS3Dj#
z!)Y)pD{!t~3QK!w9<n7nWed02<<FsO3SynDh#`N(fAIEY>0``dSdk9t>N`%@m+ap4
zAI~;hd>Jv;d{9HkW_~5(l6BEYmG+H8-7w@4ckWOGaLZl5uI*%}J<+Y!i&Q8&CR6Hh
zawMsRi+=t#+tnZbG<>hp-}ONz;}Lqb!^!yhoYutL%axE`2^dZqiw3t?ujE$naFO!T
z!;4*%fT;L<|JpTPj<edjkw;DZy&J1Fsu?mT7{3d`R*pei1W!Y%>Rk*!bw!Gl{M%9X
znzH<SDyK*?uhy@;Xk~SD!94<tEt2|sjjtAZ^x1fs#i6(Cwqc3Yf$ZY$5<jqH*6lDL
zerTn!e=Yg}NEH4g^QIBac5K=Bwf1h-xmu3D)ah3z6W?RlV4$fGghpbKGS-0xm*<}U
zqlgo1_7y=nNk3<738_CxQRC=F{_h=X(f&WA&4~DqLKX)#%~0j3;uNrl*fK<}Yq{YA
zs6ng7a8~ltrMqjVtB<pF7x+<+TjFjDy6VGBP>@10p7kbA5t_@zx_EACv|Dl(R-B*&
z`Sgc${3?qQqY`1w+mtL{lo(Dh1pW+Xn_6l4lPP^^BSUU);fB4zEktKa0sU&nP6Zi=
zzm^WHh4jp%GS!k2tP4fchfmEEerE@$^!^=#eq|7IaIbCHlkhAswS)Y(p&ud}fndJ~
z1pu2*ksqO!5SqTqXX?izd)!Ar)E@Ojj&S`+z?WEa2h9fSVwz*{N#7av>ARVHU&_CF
zL6vkvCMi?ih8J*T$jA?r4?3*r{VMj`*=xq6`$@r1AH3$Z_yeL0SUi82&83jDjHehR
zlg274lwbbsTSm{%4%VaOP4N4f(->8!QNv5gs4ZVLDO`z$;v$yAdB#8PGsrqXIl=r2
zOB~YHY_52Ou&*aCJ&HAKNDm_=j@WbftU1zGrKaMsYpJnKTEgG*M1)<mMC*JjGx=L(
zG5yal($peC6IZWaFpHSnv-66-sF_vw%eU%lN1Pl&meJ2Wj>XDroBNfl3tuIIGkErs
zcCB9%=8oT9<BQd!h(~=zpI4J!?sLdo?9t6*kB`)~Apj(GZf~~CV$?*8X9l>e>d+k#
z$0cq&^s6RP_p2k>xw)G;w~$}FQhn>Sfj~@a%i}rqN5=Rw9zQq$CT_L<um&;<b{Dkl
z;oskCc4KV+O1dM+nhNXY)M-DTtSk3gGkZi}1m~Sn<-D&j(cdK1A^|fjDmuZ|<^Jmw
zla-9=-bh?Jv!-laGs6Sn*xL@Y;{<TCNh}&L<Z)FRcuTkLm@Z=OSC_<mnySadB9UZ3
z5$dI&($#hvuwx4gTXvFdB1Pdg9@G3q)sd)$?&Vvxbk{9D-(w64@Nj4OQ7Nl`u*h~O
zw*tYizi`?ai;-{G`8&co{8x|B_|s&g4@cLM(z>G9^Yg@~TBF6aF8D)p5}`MgM(MT_
z5F9E?A(OB~B?Jc7YAhEwW@g7S&)1w{A$IoWVQ6WDY#N!C#P@G}Df0)XVR%IrDt)s~
zlRa#(Q~LHJ*!n7rJK+y<M%Md@Rr~<#%i-GVq67i6hbPkZR{E0(@PdAh>t=A846nie
zs!=<u)r+=EN36!R`Hxc=D?Wu|(XVB-jwJ7)D|H(&n8kq>jMZb9n8K8&&l=!?`q0N2
zQPLIB=)z(O?X2sgx>!&9Ql{qb`-)18*3!K5oVbfaU?Okmx-*9zS2!6SA6|ci8#VNS
zBlfO)wOhh4Qh#J?i_(jk1#yisiOtY*wHg@yekx5eR7beK7&iCdb!H?KCI}<_Do0uh
zM`CFt*X9N>+$R}W9SovcKkf81cr?iv6wFa_NNPd%U>TiF7La&a0JwW>dRZrb2Yb!=
zds0cO!JKRQE?_BwbtKMg>hRj@0cYF%IU^Y)2g6mLA7QvmV&S=GPB+aZFaARV%1UN8
zpmbzhv{+Tmq2?g9J@?ux!*%LNz-&=C&YGohe(H_CZ8)`)pBf$*=(vhy(;O=F?;{r@
z_Cga1!@`elg>mUE^K-0?ZpM`!{Uf#V5U<j_UEObwY|-Lr&?Z<V*yg*&&qIhmFf+oY
z7al8cpXb5Bpn*)isg+TUkjbghOy9^OVljQeR3Pr-65tG}76MJ@h+oVoV_aNIC+iPZ
zP0M0%oN$(&dEnumrr0H1Q3S}iK*A>-S@Gc1eVM;n+11+6ncZ_0Va9JYCK(@jx3-7B
ztW0&ln)u`VFM4%niF(l*DVriU`8|dlGkIz6q6pH3&zQRL{i_@D1?}Z#V(u}1GBX2b
zT0w(?euw@=s4(K<1p4<POsA*T)=BT@qs`rQAD~#*JeIlj-3Y7oagYTyw(C2>5l$>s
zSI7pK%5dT15VmpsDK(OqaAY?a_}AMWkUw_Bs#-W=fI~n|;LFwOYzoeedr0}RX^5WR
z{v-k`&M{sGLfq&9=WrHfS9W0Ymz{C;#0Nrd*>u2Y{4OPUr?kH32zKamvKkNkD|knH
zG_wrNp5Kaxr4c<mP|5(czm0xbR%8k#no{hTGnT?R^R~%;6LQN5wSl2HQi-D^w!PFB
z4O@}IqhAm2V@YaDvxSov2G<VB@#!y_&3LEM-^W2^673<O%5g^6!zbrW4nMl$(-;Z)
zresfv)sR}yY2B}spUd_)I}`vd05Z|n<+R|(-`ZQQz&|yXCy#pYJp}=ztN#Y`=PQGK
zyRmbCiS&p7zHO#Tck~+)mgE<*=no^F7IMKU-7vefRS@5mmlMFu7++Ou#}Ecs*1zVp
z6u7(E=e~$lm`$3QS!7!aT6(~-NWYmI-yoVhx`R&FiM@%om(ozyvt#PZ@G-eK&^Kl5
zDTmz+bS3ZMLzeT26q;K_9E+>)?V&hpzr#EVPtVNeMCz|*r1YZTk+{p2kvN^hMtC9S
za^)IO(R;wFlud(59^J32@c?x@^231{^@W@OL=|>2*80_Tzr_Cb^^W3e{+z&(#j(!v
z$S*FcnLDW>1|Wyzts>psWFb+IByV9-?}YB(N;sirdYq%O4^d!z?(J$uHt5O9|5s;M
z9uD>TzDvkj$&%fWEQ#4SME2~m6Lp3ej4+m=Bsvu*MD{JRXWv3ZIx0KaLkSU;M1}0p
z?=xBs<9yG#&Tp={F7tW3%l$sj{XFkGf86f`wpQxb)H=E$GrjgZA=H+H3a`vP<UjlV
z!KvdXf@njDAL>K*FkL$&Eij?pm7f-LO26z&TjeP|kNGS*1EEDpPn%9@KP`L(F&F-O
zV{um4Z|qL`T@SD9W}7xuYn~`j=$~q=4oX%ZdtkHf=kr30^}HL?{wvj~pF#^t6c#(s
z9|~Ts*Wdh2aNWn~?a}f%HLL6RZw5x5ZW`@L8Q_wA2V2T!y9|8u{Cmstt`D3=)QA+7
zvVI<p4nAFrDv-L)*A*Hy;7qD9m3hbf2F~YCy8q7B?9dR`d<@&GR&U*$ENxm9gRC1I
z)#iAbCC+T^aXv*+T<@MZm`HZ!ok)StZH+ZhSyBvl-&fi7LkexRu7k`L_wTs%B2%=F
z93EVc<+Jz<GmgE!YKNJp@i|oIr+-h8zWf1a;7P3nc9T0d4ZPM>#Td>W$WO8vRlNHo
zB*-BrO-}j6^6_$udCRVD8Y8{-n`1GIH;)=x>8oWfw0C&&$9D-b;pC&E>PF$8@^z!0
zy9__2uOEJnC@h`cEtK?{g>ANd<jmMeOPqGYNNerHUN$UCU4qh75@N|tGXrc~mIh_x
zmNRo@vu>T^TUO5XW7?>{JK$&<Y*^0KfXU+Dr`;$YLigdZnJFyWiT3pLgPOxr_P0ah
zRwp&urcLckQ>qm&HG||k-a`pvO0)`Lo%2nDj3JPMIZxtag6M2w!TvTnska=NPe{ku
zkYBiiz5J`5l)7Dz_uF%o;Z0AsSM;(9*6u!kgCp$11)Wy;&xHGpCX=409Hg?sd~RXK
z9asL$M<))u6P^lGPPsG$^4{HF%zr1DQy0DTjzkLmaN6#Y?2EP3A)m5nw>7U)-j%**
z;N7-n@h^FWTnuF|cXgf#UJJsDUAwfGQ9Ah9`*^LHx;(n7%ER+Z;;K1)7sa}7yQe)o
za5Cz3mLe|`VFT-t#)-V1-rvB75@(>z9>|qj3hz$Q<NxhtTGhjh@c9p;ewTZZ1;QJ=
zMe!nth`7ctO47El3ZLPl9R|%ES>6ftyW?JtIJVwcH!hFxOV%)NwK}k`qUMVYEu)?0
z{5->~lJTxXbsED970I6cL^hd@V<H1hLk{yDcY>-t#|1w&sBzc~SZdy^(CzB48*RU^
z=w7?F-_nNMQZsnf^r=V&P*4x%=61p|vo~mGSwhDI4`Sm^5iM@*Cp-gvLvXI>aEC=q
zsm~Sf;js7=7BI3bx!}mL(h%9B7Zs#9+XOeT*E#j=Sv0(2#f_wDW@3Hma5VF^LrrPj
zb77xeNLa2dUkOdNmI}{M8YsFtwR~+iKWp6kiODF_lpMHPXd?09_|$F3E-R5CaC^Zk
zm9qyNFZqZR+KtBJ)i4L-`wmLjhT0awYQ+~2W=}4c+52>NGHV>Zug~U4qQ^!B)zC{q
z`n`A$T?P?3N({S=MPE$?<YF5FZaKx=o^-d=Q>aWG*t1J3SVi*ko#nN2su_RO)6ZsD
znLhIk6kKogOcre{sQJbP@=?bHpY>&sk!QYvAG&i#H|3sirbN|w^@SmAx61e=R<9cS
zr+cguP4E`E-yZ3UT)P&o+nH#9cj@K6n@eVBRoy${Y4Ur2k<<A2;f857IdSH*lNFC=
zrTf_>mCTp3dU69Zjv$2U6koF!hCV5LTRHTqDAJ?uiCBGpU(~4+MnVuCqv`ZBb2Xvw
zT_z*_X`N(B?VtJ*2Nl2%SYadHMF%)`T`W8!B*xt!m!+W}C_E9sWs}j!ENnCW4YqD+
zrv9S+6Yp^!mTO-bkzUh}q@L$@gr}N-9TkHn^|EOA4F_K}H6z^)!RjYmiE77|H4Nl*
z_ZSe#F)~i&EhnJ<_I{G|3m(Gq&4#ap<kq>+4_ZQrdy81)t?`|EW9la?nq@Ktl3Dk`
zE{KJn$5jjNA9{1wsz{;3Mn!qN=bWgjiSVTCTP>yL6jo+yLHDn4MGlFCIDLWD6AUYA
zEZz`F+blC~>(PT+LJcApd-#2iA3ue!PdQ(w>$`f_Txo@-d82R8@i!li({o3zF}?S$
z)yB_dfAy?!in*spDrK`CPEYxCCM6?=_l3ghp5yL}qOTdlRVMpdTr{fo!cF-HOSy5+
zP(x!M3WHF3UfwvO*M$?y>sI%!2fy$xF5@bkQId+5RgU=mF^w1$;m*;0)G((t{EE|U
zQaf-(en|16vb~~QWO_|ysbRFm3KX-uWT|R#NJAEK+haVCXYGB<AAJ_C2Dr=^5uKqb
zyHWAHhXXmwX*~>Dq_IqyR7M7&#pfj(Z5kX4`7r^w8xiWKUB8f+TMa*DH3a?PtZZFW
zF!(3gQq?#Ie_QbeQ8A>)*pWA!Nv}DxnH6p?zn)nmGV`=-^oqs2O}dN9+?#pv*sjB`
zHv;kQcg9gG$I*wXhvS>@UTtAwS4Wda9QPh~YmdG77;&(>^7)Gjx{1P<i6Qh&Zn9?;
zrdgPK;S79UBL2NYT4=2QIq={Y>l0>k4og8sn40HnLS+JWHVBfnxL6qPYKa^_gZBDl
z9)#VI;MDF~yWim!n-5mgamkRB0SQO(1|=j4x^Z|kwczruU3cE^k)e4q^byvzHfUFS
zZkLBmF-ybwxyb&`&rO}?$DZv;ipgOYiV@N}@!WCGb8NFv>eaW6ZB|n~R(@5iCext|
z;tfHsjU?i=FM7RKm*Awk>zAzw>6IhANSk`jdD|tKFiF-_p36))d-E_3&R1`DT4~H!
zb6N^Cwi@W?0vcF6!rZ4a0NFjGl0PVXsdKWr@|LQYkvW~z>+>7;H|DhY#}xmJk6V2g
zesfQ>mp7dcv6#CyC*!=_$_1L|GPwnv28o%V%b8V!FXGbUlsb9Zq68F+4J}Hf^VKUa
z=p|ixnmv~`UC|J-Hu(_}mcYlZyi(=n_H92?(1}xbe)r_cO#2pG9UC4=BiH)pSkAtM
z;?7P}xn#P1a)S~WDYHO{U7%xG`riIe=wk3B8M=}4)&5beY4ZLzG(UQN5yKM_-Yw^S
zHC^pDugIH<_bk${6r8&3vXo;7ji_!Nj9_-w2{!ZUpcgTHn&%L*(jtzx&<}pp>T$XH
z^-KMXh}mI1(V6xSO=3xxhkFvd5{@OzFK5<7N{tPx3+#PbUvqV({B#GVt>1Tw=dCk#
zyaB<nnlUzL@@LK9<9DWILFjw?knUoFY?JE6UD|eC&^Vszuu9)q?W^bdIAUzxRoxKE
z(m&vI?y-HFAtci@K(BRl_{O!j?~xCk#ycjRpJ!;<I*o8U>gUf&IqEZ}+_f@#f7*_@
z;ElcL?!j-d)vnIA!^iGF2`X93u|fJeoM9Kc?*8T)m%l}Em$N^lYdr#9z~0dl5!aR+
zzXUbp6!&GU^NtoEujw2yT;R-?VE=4!CieDmbj)*{{4@h^R;urCP{3jdM~RyM>7&Ps
zd6%FriZ2yUOfDu$ygMx2>eucftfE*j^Fqe71A_26wQFBuLCnlhHtfda!|r!iOclu@
zd04IJ_b_+y#Mg)DDh{`>wie!q7RtlAT6h+OXBS0!E<0<yl(miX7V#92$5i6ZTW&Cl
zWr#)>dkgvdVTz9(_(P;GyPfVUEGptb%+V00qY)#8>~n-=(GqvRg+$|GQfbdQRLw^7
z=tT|zWP0$cM(+s-F~8(d#D?R7LtubpBb`CGR#k2I*f&uYy91x5O)Skpmi)eT<@L_u
zJv|wMzb9Xa<WeDocpMjZYRGydD={RWNO*BRGHNxcIyf}!1fIr5d0)lQK7qxBzM*>z
z$!Yl#+R4v;J6eRb{cZG?<RIUvGO5r{{c>GWRv%yIj%k;lg!*-7J7sxCI@9L_j()kf
z<RR<gde6q&r&B9k^Q&;XLDtNP<RsegmHLfVWQW*X_}IStG|HsjXFLbJ-?~H6C-jnq
zJc`~)MtgJGqII5%urJCm7KN;ysjnb4x5&|!UQA3$&`}bsUByHN_?Y~;V*NI-Hm`67
ze;_+Exm_W!&Ze)HY&=wX3mI^`|6~wUEBS80;!9)_hgKfXxvJXw8>ELU_8t3!_hs&?
z*7Rju9ApQ#zN-^{(^Ra@t}P>pT;wjBH932UzJzNg^fLL6K}S>Ho0W{c)kz;eSsa7#
z^pMvbUX68RDNEGz^Yu&YeVrp9-7zc0{-nRW(Z~q$tgzykX^SZ-r*{$WXUVVTnT*~~
z7X#%qMwPy9UVx!mcgI+yv3HlVOXoA`nzngNx|%44vBlGb4EHgbXfsGJkgqS(r+QgV
zzgO`#Z#}5d`tqKjT;cUtw<MEzRookx`Fg*xPedk$wJ9<dzQ^6BS@)X74fCZGIfQ0M
zq<vbPi)a*II>9aK=HY>Czwup@=`_exmPAf>`^@xxNGuBjh(EDQJ}BKRzeKH8Osh1=
zbRr32pnd0-i;gSkQG#r*%$No=)EdO;-@%%H6&W8;@wMg*qgmz)5KVbxYNn&EGYsC|
z7(x@>bRD(4&uR!WGcGB@SI1Vn?kIo6<B*#EW0FkqDdky6;yL<V2hL=#yDayv3FJ4u
z4Ty5fx4#lP;)NlJ)=gmN;!-Z@m*e<E%{3a<Q=6}wLsIjYgdL+L46(8FW|*?0y0gC7
ziR`(m&c-F564)bH9tzj&O1Up^E5QD`dirz7m31;_IN>^bPuGZ=jSBBUM|GLnc!I<l
zqsx&T70DY{S<dKn8i@G#j(t=Lv1G5f2WHn3bm&k}bs?>ZjV#72FHfB0lYikKy#!&C
zKbIXEKmH}1^UK-FGlF3}T*D~dKKth(BM8LVq;#H-qv$!FgxAX{b8}=1_0OjS6Ep%>
z6)Q)|0!+ot##av{n`Q>fRjao5LM%*?1^ausq^eaC+^*j1j^M2Fk+dLkwnrU@-m5rv
zi=zXYGd0+Yj{-3gxjxF-DtOch@;XVWX}za^$0V1Za`B*b^)cEfH(VDh^q!0oovryL
z5T6n!c>kpH;xY8Q>SHVU_V-r#<e451_QBaHyDt~&?9`q;uo@sO-tO-r9$X=Z7|Z&2
zWadbi^zZ|}LVZ{wJ#&TKGBV)ZiM?SnK|b(_qIqsdS9;;dDRHvNiss#plZ7{Nbctt*
zcw%GLnXa^4q!Esvv6cPGEwsmS-DX2Om84HAXNS1bn~`_WB_;ZbVVrCO{o*mdGjxn;
z{58HU=aL*huMVi9R5h)@8)vz64K3x^Ok)Bol+?<6vOgyk@^q-){35M0Pou+Qb2M4P
zl}VtO>wMI4^d7mom65vLYVHMl$ti1k@^#AfPs=(MT5v69y=vXUp~<oru5_)b==+x%
zUGx>Ya_MS=UkZr!+{FS(s~3z%6&W&#{_(0zH4^TmS0THfDbV|+u(mR>j$1x)_)=CT
zuN(O?Wqyt3al_u2r&gL;E6X~u5`)a;Fdqj*13va#=hIM^!YbV(5H^F$W!%$+D-T_{
z%UTBtkET7zKEiUkT~Hu5)J|C-aAt75^u4#&2R7GlHIMbWa*o=w4zC$VKbm#D791;@
z>mf?($ZVi593hm)j{bbWXUfu<zfkn7Z2&8wUn1!e{Gfo?&8Sfi{vqSxgHyKpntdl#
z%FkMpjMuc(qjcKVTONt!8a{7ZYl2LrwvBnpo4mrFPUT^1*-gkm9d%ZWWgHf+k!gCE
zh?v7Imyd+RHci#!`F%}JRWYdLhc?ypIb8#;80M<VD_sfWRqWT!9P?_78*;sQp)B#-
zqQ!WVLz_NpSRHwujcL4F1w-3SqE+!&5gkc4RL%Rg_k>LC<lhJ?VOvCU|0bw3(=*jD
z)%qJjr6w8Y^uI)vSdcUf4FN$RPzVUSO;m~6E~=zF{t{I}v4Ad*GAz+n$;BR!_enzm
zF{Kfi;A{$_h%wDiZi*N|2m~O-+$yV70jq-5!0KQPu;vyyr4iT|kWo@3l(xVR0XRG3
z!1!M}NIS3{5qJZdM|-dX*umS?0gxgR!GFmee<~f_z!cFU8B9J;0(<_05^+;_xK)V=
zN9}O3nu{$7Pjs;dmQ1v>Be)Y>YzZEq(=Y%C2o47mF4#KZoI!9D_`7Hm1jlX_PrBlO
z4x2jA%}<*;P!IwRc6IXf__4kp>u?3+mLxpb!-*pGq(~+=RhyI*kR99!KV+Vpi{BJq
zZptvf%R@Iso<G%@KXjTP6ckLL2t`3CIDqH7suP4l{y*fbmf$VARS*{b^YQyyut@M<
zqE8SO{UdagpxJGPX?uKJ!9QcOH7=A1Hr28qC=9td{&(#u2#SRKlD%$<V6B-H6hMFw
zmSp3|1Vir#7DZzUkk8YG?CnYbfhlPMuud80L7@Bx1lCqkJ*lZIrJ}2=2}pq{HVTj3
ziLPXlJHSw2JVU@tboU@rm<pr<4A7k7em+4FOkgu2p6uWOM1HgF7BD-R^KW4E&CRtf
z%{RedcY>jew+##uXtV_jkXk>ne8;^73+6vNMpNCu&{7}3V)!>uD8p@of}rScf4T()
zc=#t0N{!l@PtgDF6)kNIC4F@OiIK%lC`gK`d>fRlNU&StgQP}6aT359ki0z8CNDsn
z;r}PHm?;~bR95*>M0H6nI?_KR>Dy@o{9XnXCIrB(U+#gzw)ls_SOEUdngWy!DwzKr
zrH-<Zj)B<^ltwrJr83D0zk^T69pv8BQ~wO&R+NYz3;N$EDbD?GzSOleG(7cF;lGLU
z?|r$0^{DN>g#F?gf+8CKM_>MT?&+S?(^Nf4wQcGW@Wh?&+>sLivMn*+g7XJu|F<{)
zdl~zu`x3U3bMqPoz)OGCv~4&k*CYJQ-S4XWf8geSuPXm`457lhBayaYh5hAI_z&;@
zZ=X^Yvz?&^ID3KzZ~`HD0viEPD71-q$~I0R5wPoQ{()`g2nfCzv8_7|ic;;j52u0y
zjyxpbRIoWNXvdWXTNBy9orL$aCAfnmT=90s1aoPq3<4qpMF5u~sJIhwl)Xm+F#mi6
z?q5*FkqICPRaqDW*Z~og6Bz=6L`g%?;t+^9&`y_x|F<T_?l@Oh0v;%HI42JRfYVsb
zTt?l~$;k%i;zGe<>_GGY0q^gaj)6>pn;U?sL2v*W6p4kQq+v41pHMdef^>kh7YM)v
z2abO>M4XEx=$tDK*bWIekk^miC>f{>RC3EMeZiez#{>b69!!v5FW?CYM}q7?KWqpz
z7VsD41#<aiLt%k9Y_~xGcWk#o5eVR@N^L_zsQW?@NEi|*2wTSkY>2<<3oLy{J2Z-F
z4j>{(2vC8xjt7Ck(Ufz+HX9TI$Lv@K0t?xJ1%XBag<xA>7#xM(fdzqr0%Y6P4hlnK
zsQW@;SR{}o+uOlm@Ez-bBPg2?RXYrF=h{#^ZCE6P3LgZ9g=48=1o#Dmrm_KXgHtN_
z)_DON3}67Y4FO#Avdsp8L(r6r-P#whp&(Rq09a7ea{%oy5NaR5Ay~@xxP3ezz&qxJ
zA}D9ht?htYNzmvW?I<a-y&VK_J;3;FeE}N=LLEyu9FEz61&*QA@vZYh0Pj(A2(Td#
z)a?L<qp0UVz)(A4goI%zb#L1oNWfXtYePZc@SQd!HBTWZ40;D<Aftirm)qyS0GUMP
zQ%Zz(#0Z0dA*lI`!2k(NH69j@L{qoJ0xqSR7Yf0`5mdYfY-kMCcu*JyP0b-7wP3)V
zGuzey@Bjg&iW^X0Fx2=cwypJr?2ZGj#Bpbmmj{83h!+WzItex;k;uUJHp-p^e6@D5
zBY`O8XY)Z7bXr~&tAa!$)s@f)lsZxsih@9uFer6kV5kyO8Lfs=0R4LtYmkBhlLr~+
VPTs7~P@t+HF-%8}sOhUS{U80O3>N?Z

literal 0
HcmV?d00001

diff --git a/correctness-model/writeup/paper.tex b/correctness-model/writeup/paper.tex
new file mode 100644
index 0000000..d65f512
--- /dev/null
+++ b/correctness-model/writeup/paper.tex
@@ -0,0 +1,182 @@
+%-----------------------------------------------------------------------------
+%
+%               Template for sigplanconf LaTeX Class
+%
+% Name:         sigplanconf-template.tex
+%
+% Purpose:      A template for sigplanconf.cls, which is a LaTeX 2e class
+%               file for SIGPLAN conference proceedings.
+%
+% Guide:        Refer to "Author's Guide to the ACM SIGPLAN Class,"
+%               sigplanconf-guide.pdf
+%
+% Author:       Paul C. Anagnostopoulos
+%               Windfall Software
+%               978 371-2316
+%               paul@windfall.com
+%
+% Created:      15 February 2005
+%
+%-----------------------------------------------------------------------------
+
+
+\documentclass[nocopyrightspace]{sig-alternate}
+
+% The following \documentclass options may be useful:
+%
+% 10pt          To set in 10-point type instead of 9-point.
+% 11pt          To set in 11-point type instead of 9-point.
+% authoryear    To obtain author/year citation style instead of numeric.
+\usepackage{times}
+\usepackage[scaled]{helvet} % see www.ctan.org/get/macros/latex/required/psnfss/psnfss2e.pdf
+\usepackage{url}                  % format URLs
+\usepackage{listings}          % format code
+\usepackage{enumitem}      % adjust spacing in enums
+\sloppy
+\usepackage[colorlinks=true,allcolors=blue,breaklinks,draft]{hyperref}
+\newcommand{\doi}[1]{doi:~\href{http://dx.doi.org/#1}{\Hurl{#1}}}   % print a hyperlinked DOI
+
+\usepackage{rotating}
+\usepackage{algorithm}% http://ctan.org/pkg/algorithms
+\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
+%\usepackage{syntax}
+%\usepackage{times}
+
+\usepackage{amsmath}
+\usepackage{graphicx}
+\usepackage{xspace}
+\usepackage{amssymb}
+
+\usepackage{listings}
+\usepackage{color}
+\usepackage{textcomp}
+\definecolor{listinggray}{gray}{0.9}
+\definecolor{lbcolor}{rgb}{0.9,0.9,0.9}
+\lstset{
+	% backgroundcolor=\color{lbcolor},
+	% rulecolor=,
+	% aboveskip={1.5\baselineskip},
+	% extendedchars=true,
+	tabsize=3,
+	language=C++,
+	basicstyle=\ttfamily\scriptsize,
+	upquote=true,
+	columns=fixed,
+	showstringspaces=false,
+	breaklines=true,
+	prebreak = \raisebox{0ex}[0ex][0ex]{\ensuremath{\hookleftarrow}},
+	% frame=single,
+	showtabs=false,
+	showspaces=false,
+	showstringspaces=false,
+	identifierstyle=\ttfamily,
+	keywordstyle=\color[rgb]{0,0,1},
+	commentstyle=\color[rgb]{0.133,0.545,0.133},
+	stringstyle=\color[rgb]{0.627,0.126,0.941},
+	numbers=left,
+	numberstyle=\tiny,
+	numbersep=8pt,
+	escapeinside={/*@}{@*/}
+}
+
+\usepackage{algpseudocode}
+
+%% Not used yet
+% \usepackage{times}
+% \usepackage{latexsym}
+% \usepackage{amsfonts}
+% \usepackage{amsthm}
+% \usepackage{txfonts}
+% \usepackage{url}
+% \usepackage{subfigure}
+
+% \usepackage{bbm}
+% \usepackage{stfloats}
+
+\newcommand{\squishlist}{
+  \begin{list}{$\bullet$}
+    { 
+      \setlength{\itemsep}{1pt}      
+      \setlength{\parsep}{1pt}
+      \setlength{\topsep}{1pt}       
+      \setlength{\partopsep}{1pt}
+      \setlength{\leftmargin}{1em} 
+      \setlength{\labelwidth}{0.5em}
+      \setlength{\labelsep}{0.5em} 
+    }
+}
+
+\newcommand{\squishend}{
+  \end{list}
+}
+
+\newcommand{\squishcount}{
+%  \begin{enumerate}
+%}
+   \begin{list}{\bf \arabic{enumi}.}
+    { \usecounter{enumi}
+      \setlength{\itemsep}{1pt}      \setlength{\parsep}{0pt}
+      \setlength{\topsep}{0pt}       \setlength{\partopsep}{0pt}
+      \setlength{\leftmargin}{1em} \setlength{\labelwidth}{0.5em}
+      \setlength{\labelsep}{0.5em} } }
+
+\newcommand{\countend}{
+%  \end{enumerate}
+%}
+\end{list}}
+
+
+\newcommand{\code}[1]{\text{\tt #1}}
+\newcommand{\mypara}[1]{\noindent {#1}}
+\newcommand{\etal}{\textit{et al}.\xspace}
+\newcommand{\cdschecker}[0]{\textsc{CDSChecker}\xspace}
+\newcommand{\TOOL}[0]{\textsc{CDSSpec}\xspace}
+
+\newcommand{\TODO}[0]{\textbf{TODO}\xspace}
+\newcommand{\todo}[1]{{\bf [[#1]]}}
+%\newcommand{\todo}[1]{}
+\newcommand{\comment}[1]{}
+\newcommand{\tuple}[1]{\ensuremath \langle #1 \rangle}
+\newcommand{\rf}{\reltext{rf}}
+\newcommand{\relation}[1]{\xrightarrow{\textit{#1}}}
+\newcommand{\reltext}[1]{\textit{#1}}
+
+%\newcommand{\mysection}[1]{\vspace{-.15cm}\section{#1}\vspace{-.15cm}}
+\newcommand{\mysection}[1]{\section{#1}}
+%\newcommand{\mysubsection}[1]{\vspace{-.15cm}\subsection{#1}\vspace{-.1cm}}
+\newcommand{\mysubsection}[1]{\subsection{#1}}
+%\newcommand{\mysubsubsection}[1]{\vspace{-.15cm}\subsubsection{#1}\vspace{-.1cm}}
+\newcommand{\mysubsubsection}[1]{\subsubsection{#1}}
+\begin{document}
+
+
+\sloppy
+
+\title{CDSSpec: Testing Concurrent Data Structures Under the C/C++11 Memory Model}
+
+\author{Peizhao Ou and Brian Demsky}
+
+
+
+\maketitle
+
+\begin{abstract}
+\input{abstract}
+\end{abstract}
+
+\input{introduction}
+%\input{memorymodel}
+%\input{example}
+\input{formalization}
+%\input{specification}
+%\input{implementation}
+%\input{evaluation}
+%\input{related}
+%\input{conclusion}
+
+
+% We recommend abbrvnat bibliography style.
+\bibliographystyle{abbrv}
+\bibliography{confstrs-long,paper}
+
+\end{document}
diff --git a/correctness-model/writeup/related.tex b/correctness-model/writeup/related.tex
new file mode 100644
index 0000000..b8f025d
--- /dev/null
+++ b/correctness-model/writeup/related.tex
@@ -0,0 +1,133 @@
+\mysection{\label{sec:related}Related Work}
+
+% Related work should be related to bug finding on concurrent data structures:
+% 1. Specification:
+% CONCURRIT: A Domain Specific Language for Reproducing Concurrency Bugs (DSL
+% for reproducing bugs, allowing specifying a set of thread schedules to explore
+% in order to exhibit the bug) (PLDI'13)
+
+% <NDSeq: Runtime Checking for Nondeterministic Sequential Specifications of
+% Parallel Correctness> (specify the correctness of concurrent programs using
+% nondeterministic sequential specifications, which allows the functional
+% correctness to be understood and verified on a sequential version of the
+% program) (PLDI'11)
+
+% <NDetermin: Inferring Nondeterministic Sequential Specifications for
+% Parallelism Correctness> (this is the extended work of NDSeq, which is
+% inferring the specification) (ppopp'12)
+
+% <VYRD: VerifYing Concurrent Programs by Runtime Refinement-Violation
+% Detection> (specification, not exhaustive approach, dynamic checking)
+% (PLDI'05)
+
+
+% 2. Linearizability:
+% <Verifying Commit-Atomicity using Model-Checking> (a more complete technique
+% for verifying atomicity using SPIN model checker)(SPIN Workshop'04)
+
+% <The existence of Refinement mapping> (theoretical paper about proving a lower
+% level spscification correctly implements a higher level one) (Theoretical
+% Computer Science'91)
+
+% <Comparison Under Abstraction for Verifying Linearizability> (static analysis
+% for verifying linearizability of concurrent unbounded linked data
+% structures) (CAV'07)
+
+% <Formal Verification of a Lazy Concurrent List-Based Set Algorithm> (a formal
+% verification of LazyList, concurrent list-based set algorithm, shows it's
+% linearizable) (CAV'06)
+
+% <Line-Up: A Complete and Automatic Linearizability Checker> (no specification,
+% run a sequential version in parallel and checks if the concurrent execution
+% violates linearizability, rely on CHESS, which assumes SC) (PLDI'10)
+
+% <Thread Quantification for Concurrent Shape Analysis> (using abstract
+% interpretation, shape analysis for concurrent data structures, can prove
+% linearizability in a limited way) (CAV'08)
+
+% <Experience with Model Checking Linearizability> (SC-based checking
+% linearizability) (SPIN Workshop'09)
+
+% <Shape-Value Abstraction for Verifying Linearizability> (heap-allocated data
+% structures, shape analysis, assuming SC) (VMCAI'09)
+
+% 3. General concurrency testing
+% <GAMBIT: Effective Unit Testing for Concurrency Libraries> (a prioritized
+% search technique that combines the speed benefit of heuristic-guided fuzzing
+% with the soundness, progress, and reproducibility of stateless model checking)
+% (ppopp'10)
+
+% <Testing and Verifying Concurrent Objects> (one of the early paper) (Journal of Parallel and
+% Distributed Computing)
+
+% 4. For relaxed M.M.
+% <CheckFence: Checking Consistency of Concurrent Data Types on Relaxed Memory
+% Models> () (PLDI'07) (TODO: Should read this in more detail)
+
+% <Testing Concurrent Programs on Relaxed Memory Models> (a tool that test
+% concurrent programs under relaxed M.M., but no specification, and not
+% an exhaustive approach) (issta'11)
+
+Researchers have proposed and designed specifications and approaches
+to find bugs in concurrent data structures based on linearization.
+Early work by Wing and
+Gong~\cite{test-verify-concurrent-objects} proposed using
+linearizability to test and verify concurrent objects.
+Line-up~\cite{lineup} builds on the Chess~\cite{chess} model checker
+to automatically check deterministic linearizability. It
+automatically generates the sequential specification by systematically
+enumerating all sequential behaviors.
+Paraglider~\cite{VechevMCLinear} supports checking with and without
+linearization points based on SPIN~\cite{spinmodel}. All of these
+approaches assume that there exist a sequential history that is consistent with program order.  Furthermore, they also assume
+the SC memory model and a trace that provides an
+ordering for method invocation and response events.  Our work extends the notion of equivalence to sequential executions to the relaxed memory models used
+by real systems.
+
+Amit \etal~\cite{abstraction-linearizability} present a static
+analysis based on TVLA for verifying linearizability of concurrent
+linked data structures. Valeiadis~\cite{shape-value-abstraction}
+demonstrates a shape-value abstraction which can automatically prove
+linearizability.  Thread quantification can also verify
+data structure linearizability~\cite{thread-quantification}.
+Colvin \etal formally verified a list-based set~\cite{formal-verification-set}.  While these approaches
+provide stronger guarantees than \TOOL, they were typically used to
+check simpler data structures and require experts to use.
+Moreover, they target the SC memory model.
+
+Researchers have proposed specification languages for concurrent
+data structures.  Refinement mapping~\cite{refinement-mapping}
+provides the theoretical basis for designing and using specifications.
+Commit atomicity~\cite{spin-commit-atomicity} can verify atomicity
+properties.  Concurrit~\cite{concurrit} is a domain-specific language
+that allows programmers to write scripts to specify thread schedules
+to reproduce bugs, and is useful when programmers already have some
+knowledge about a bug.  NDetermin~\cite{ndetermin} infers
+nondeterministic sequential specifications to model the behaviors of
+parallel code.  
+
+VYRD~\cite{vyrd} is conceptually similar to \TOOL --- developers
+specify commit points for concurrent code.  The parallel code is then
+executed and the commit points are used to identify a sequential
+execution that should have the same behaviors.  VYRD was designed for
+the SC memory model --- it
+is unable to construct a sequential refinement for a relaxed memory
+model or check synchronization properties.
+
+{\sc Gambit}~\cite{gambit} uses a prioritized search technique that
+combines stateless model checking and heuristic-guided fuzzing to unit
+test code under the SC memory model.  {\sc Relaxed}~\cite{memtest}
+explores SC executions to identify executions with races and then
+re-executes the program under the PSO or TSO memory model to test
+whether the relaxations expose bugs.  CheckFence~\cite{checkfence} is
+a tool for verifying data structures against relaxed memory models and
+takes a SAT-based approach instead of the stateless model checking
+approach used by \cdschecker.
+
+Researchers have developed verification techniques for code that
+admits only SC executions under the TSO and PSO memory
+models~\cite{koushiksc,burckhardtverif}.  The basic idea is to develop
+an execution monitor that can detect whether non-SC executions exist
+by examining only SC executions.
+
+
diff --git a/correctness-model/writeup/sig-alternate.cls b/correctness-model/writeup/sig-alternate.cls
new file mode 100644
index 0000000..694a897
--- /dev/null
+++ b/correctness-model/writeup/sig-alternate.cls
@@ -0,0 +1,1649 @@
+% SIG-ALTERNATE.CLS - VERSION 2.5
+% "COMPATIBLE" WITH THE "ACM_PROC_ARTICLE-SP.CLS" V3.2SP
+% Gerald Murray - May 23rd 2012
+%
+% ---- Start of 'updates'  ----
+% Changed $10 fee to $15 -- May 2012  --  Gerry
+% Changed $5 fee to $10 --  April 2009 -- Gerry
+% April 22nd. 2009 - Fixed 'Natbib' incompatibility problem - Gerry
+% April 22nd. 2009 - Fixed 'Babel' incompatibility problem - Gerry
+% April 22nd. 2009 - Inserted various bug-fixes and improvements - Gerry
+%
+% To produce Type 1 fonts in the document plus allow for 'normal LaTeX accenting' in the critical areas;
+% title, author block, section-heads, confname, etc. etc. 
+% i.e. the whole purpose of this version update is to NOT resort to 'inelegant accent patches'.
+% After much research, three extra .sty packages were added to the the tail (ae, aecompl, aeguill) to solve,
+% in particular, the accenting problem(s). We _could_ ask authors (via instructions/sample file) to 'include' these in
+% the source .tex file - in the preamble - but if everything is already provided ('behind the scenes' - embedded IN the .cls)
+% then this is less work for authors and also makes everything appear 'vanilla'.
+% NOTE: all 'patchwork accenting" has been commented out (here) and is no longer 'used' in the sample .tex file (either).
+% Gerry June 2007
+%
+% Patch for accenting in conference name/location. Gerry May 3rd. 2007
+% Rule widths changed to .5, author count (>6) fixed, roll-back for Type 3 problem. Gerry March 20th. 2007
+% Changes made to 'modernize' the fontnames but esp. for MikTeX users V2.4/2.5 - Nov. 30th. 2006
+% Updated the \email definition to allow for its use inside of 'shared affiliations' - Nov. 30th. 2006
+% Fixed the 'section number depth value' - Nov. 30th. 2006
+%
+% Footnotes inside table cells using \minipage (Oct. 2002)
+% Georgia fixed bug in sub-sub-section numbering in paragraphs (July 29th. 2002)
+% JS/GM fix to vertical spacing before Proofs (July 30th. 2002)
+%
+% Made the Permission Statement / Conference Info / Copyright Info
+% 'user definable' in the source .tex file OR automatic if
+% not specified.
+%
+% Allowance made to switch default fonts between those systems using
+% normal/modern font names and those using 'Type 1' or 'Truetype' fonts.
+% See LINE NUMBER 255 for details.
+% Also provided for enumerated/annotated Corollaries 'surrounded' by
+% enumerated Theorems (line 848).
+% Gerry November 11th. 1999
+%
+% ---- End of 'updates' ----
+%
+\def\fileversion{v2.5}          % for ACM's tracking purposes
+\def\filedate{May 23, 2012}    % Gerry Murray's tracking data
+\def\docdate {Wednesday 23rd. May 2012} % Gerry Murray (with deltas to doc}
+\usepackage{epsfig}
+\usepackage{amssymb}
+\usepackage{amsmath}
+\usepackage{amsfonts}
+% Need this for accents in Arial/Helvetica
+%\usepackage[T1]{fontenc}  % Gerry March 12, 2007 - causes Type 3 problems (body text)
+%\usepackage{textcomp}
+%
+% SIG-ALTERNATE DOCUMENT STYLE
+% G.K.M. Tobin August-October 1999
+%    adapted from ARTICLE document style by Ken Traub, Olin Shivers
+%    also using elements of esub2acm.cls
+% HEAVILY MODIFIED, SUBSEQUENTLY, BY GERRY MURRAY 2000
+% ARTICLE DOCUMENT STYLE -- Released 16 March 1988
+%    for LaTeX version 2.09
+% Copyright (C) 1988 by Leslie Lamport
+%
+%
+%%% sig-alternate.cls is an 'ALTERNATE' document style for producing
+%%% two-column camera-ready pages for ACM conferences.
+%%% THIS FILE DOES NOT STRICTLY ADHERE TO THE SIGS (BOARD-ENDORSED)
+%%% PROCEEDINGS STYLE. It has been designed to produce a 'tighter'
+%%% paper in response to concerns over page budgets.
+%%% The main features of this style are:
+%%%
+%%% 1)  Two columns.
+%%% 2)  Side and top margins of 4.5pc, bottom margin of 6pc, column gutter of
+%%%     2pc, hence columns are 20pc wide and 55.5pc tall.  (6pc =3D 1in, approx)
+%%% 3)  First page has title information, and an extra 6pc of space at the
+%%%     bottom of the first column for the ACM copyright notice.
+%%% 4)  Text is 9pt on 10pt baselines; titles (except main) are 9pt bold.
+%%%
+%%%
+%%% There are a few restrictions you must observe:
+%%%
+%%% 1)  You cannot change the font size; ACM wants you to use 9pt.
+%%% 3)  You must start your paper with the \maketitle command.  Prior to the
+%%%     \maketitle you must have \title and \author commands.  If you have a
+%%%     \date command it will be ignored; no date appears on the paper, since
+%%%     the proceedings will have a date on the front cover.
+%%% 4)  Marginal paragraphs, tables of contents, lists of figures and tables,
+%%%     and page headings are all forbidden.
+%%% 5)  The `figure' environment will produce a figure one column wide; if you
+%%%     want one that is two columns wide, use `figure*'.
+%%%
+%
+%%% Copyright Space:
+%%% This style automatically reserves 1" blank space at the bottom of page 1/
+%%% column 1.  This space can optionally be filled with some text using the
+%%% \toappear{...} command.  If used, this command must be BEFORE the \maketitle
+%%% command.  If this command is defined AND [preprint] is on, then the
+%%% space is filled with the {...} text (at the bottom); otherwise, it is
+%%% blank.  If you use \toappearbox{...} instead of \toappear{...} then a
+%%% box will be drawn around the text (if [preprint] is on).
+%%%
+%%% A typical usage looks like this:
+%%%     \toappear{To appear in the Ninth AES Conference on Medievil Lithuanian
+%%%               Embalming Technique, June 1991, Alfaretta, Georgia.}
+%%% This will be included in the preprint, and left out of the conference
+%%% version.
+%%%
+%%% WARNING:
+%%% Some dvi-ps converters heuristically allow chars to drift from their
+%%% true positions a few pixels. This may be noticeable with the 9pt sans-serif
+%%% bold font used for section headers.
+%%% You may turn this hackery off via the -e option:
+%%%     dvips -e 0 foo.dvi >foo.ps
+%%%
+\typeout{Document Class 'sig-alternate' <23rd. May '12>.  Modified by G.K.M. Tobin/Gerry Murray}
+\typeout{Based in part upon document Style `acmconf' <22 May 89>. Hacked 4/91 by}
+\typeout{shivers@cs.cmu.edu, 4/93 by theobald@cs.mcgill.ca}
+\typeout{Excerpts were taken from (Journal Style) 'esub2acm.cls'.}
+\typeout{****** Bugs/comments/suggestions/technicalities to Gerry Murray -- murray@hq.acm.org ******}
+\typeout{Questions on the style, SIGS policies, etc. to Adrienne Griscti griscti@acm.org}
+\oddsidemargin 4.5pc
+\evensidemargin 4.5pc
+\advance\oddsidemargin by -1in  % Correct for LaTeX gratuitousness
+\advance\evensidemargin by -1in % Correct for LaTeX gratuitousness
+\marginparwidth 0pt             % Margin pars are not allowed.
+\marginparsep 11pt              % Horizontal space between outer margin and
+                                % marginal note
+
+                                % Top of page:
+\topmargin 4.5pc                % Nominal distance from top of page to top of
+                                % box containing running head.
+\advance\topmargin by -1in      % Correct for LaTeX gratuitousness
+\headheight 0pt                 % Height of box containing running head.
+\headsep 0pt                    % Space between running head and text.
+                                % Bottom of page:
+\footskip 30pt                  % Distance from baseline of box containing foot
+                                % to baseline of last line of text.
+\@ifundefined{footheight}{\newdimen\footheight}{}% this is for LaTeX2e
+\footheight 12pt                % Height of box containing running foot.
+
+%% Must redefine the top margin so there's room for headers and
+%% page numbers if you are using the preprint option. Footers
+%% are OK as is. Olin.
+\advance\topmargin by -37pt     % Leave 37pt above text for headers
+\headheight 12pt                % Height of box containing running head.
+\headsep 25pt                   % Space between running head and text.
+
+\textheight 666pt       % 9 1/4 column height
+\textwidth 42pc         % Width of text line.
+                        % For two-column mode:
+\columnsep 2pc          %    Space between columns
+\columnseprule 0pt      %    Width of rule between columns.
+\hfuzz 1pt              % Allow some variation in column width, otherwise it's
+                        % too hard to typeset in narrow columns.
+
+\footnotesep 5.6pt      % Height of strut placed at the beginning of every
+                        % footnote =3D height of normal \footnotesize strut,
+                        % so no extra space between footnotes.
+
+\skip\footins 8.1pt plus 4pt minus 2pt  % Space between last line of text and
+                                        % top of first footnote.
+\floatsep 11pt plus 2pt minus 2pt       % Space between adjacent floats moved
+                                        % to top or bottom of text page.
+\textfloatsep 18pt plus 2pt minus 4pt   % Space between main text and floats
+                                        % at top or bottom of page.
+\intextsep 11pt plus 2pt minus 2pt      % Space between in-text figures and
+                                        % text.
+\@ifundefined{@maxsep}{\newdimen\@maxsep}{}% this is for LaTeX2e
+\@maxsep 18pt                           % The maximum of \floatsep,
+                                        % \textfloatsep and \intextsep (minus
+                                        % the stretch and shrink).
+\dblfloatsep 11pt plus 2pt minus 2pt    % Same as \floatsep for double-column
+                                        % figures in two-column mode.
+\dbltextfloatsep 18pt plus 2pt minus 4pt% \textfloatsep for double-column
+                                        % floats.
+\@ifundefined{@dblmaxsep}{\newdimen\@dblmaxsep}{}% this is for LaTeX2e
+\@dblmaxsep 18pt                        % The maximum of \dblfloatsep and
+                                        % \dbltexfloatsep.
+\@fptop 0pt plus 1fil    % Stretch at top of float page/column. (Must be
+                         % 0pt plus ...)
+\@fpsep 8pt plus 2fil    % Space between floats on float page/column.
+\@fpbot 0pt plus 1fil    % Stretch at bottom of float page/column. (Must be
+                         % 0pt plus ... )
+\@dblfptop 0pt plus 1fil % Stretch at top of float page. (Must be 0pt plus ...)
+\@dblfpsep 8pt plus 2fil % Space between floats on float page.
+\@dblfpbot 0pt plus 1fil % Stretch at bottom of float page. (Must be
+                         % 0pt plus ... )
+\marginparpush 5pt       % Minimum vertical separation between two marginal
+                         % notes.
+
+\parskip 0pt plus 1pt            % Extra vertical space between paragraphs.
+\parindent 9pt  % GM July 2000 / was 0pt - width of paragraph indentation.
+\partopsep 2pt plus 1pt minus 1pt% Extra vertical space, in addition to
+                                 % \parskip and \topsep, added when user
+                                 % leaves blank line before environment.
+
+\@lowpenalty   51       % Produced by \nopagebreak[1] or \nolinebreak[1]
+\@medpenalty  151       % Produced by \nopagebreak[2] or \nolinebreak[2]
+\@highpenalty 301       % Produced by \nopagebreak[3] or \nolinebreak[3]
+
+\@beginparpenalty -\@lowpenalty % Before a list or paragraph environment.
+\@endparpenalty   -\@lowpenalty % After a list or paragraph environment.
+\@itempenalty     -\@lowpenalty % Between list items.
+
+%\@namedef{ds@10pt}{\@latexerr{The `10pt' option is not allowed in the `acmconf'
+\@namedef{ds@10pt}{\ClassError{The `10pt' option is not allowed in the `acmconf'	% January 2008
+  document style.}\@eha}
+%\@namedef{ds@11pt}{\@latexerr{The `11pt' option is not allowed in the `acmconf'
+\@namedef{ds@11pt}{\ClassError{The `11pt' option is not allowed in the `acmconf'	% January 2008
+  document style.}\@eha}
+%\@namedef{ds@12pt}{\@latexerr{The `12pt' option is not allowed in the `acmconf'
+\@namedef{ds@12pt}{\ClassError{The `12pt' option is not allowed in the `acmconf'	% January 2008
+  document style.}\@eha}
+
+\@options
+
+\lineskip 2pt           % \lineskip is 1pt for all font sizes.
+\normallineskip 2pt
+\def\baselinestretch{1}
+
+\abovedisplayskip 9pt plus2pt minus4.5pt%
+\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip  \z@ plus3pt%
+\belowdisplayshortskip  5.4pt plus3pt minus3pt%
+\let\@listi\@listI     % Setting of \@listi added 9 Jun 87
+
+\def\small{\@setsize\small{9pt}\viiipt\@viiipt
+\abovedisplayskip 7.6pt plus 3pt minus 4pt%
+\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@ plus2pt%
+\belowdisplayshortskip 3.6pt plus2pt minus 2pt
+\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
+\topsep 4pt plus 2pt minus 2pt\parsep 2pt plus 1pt minus 1pt
+\itemsep \parsep}}
+
+\def\footnotesize{\@setsize\footnotesize{9pt}\ixpt\@ixpt
+\abovedisplayskip 6.4pt plus 2pt minus 4pt%
+\belowdisplayskip \abovedisplayskip
+\abovedisplayshortskip \z@ plus 1pt%
+\belowdisplayshortskip 2.7pt plus 1pt minus 2pt
+\def\@listi{\leftmargin\leftmargini %% Added 22 Dec 87
+\topsep 3pt plus 1pt minus 1pt\parsep 2pt plus 1pt minus 1pt
+\itemsep \parsep}}
+
+\newcount\aucount
+\newcount\originalaucount
+\newdimen\auwidth
+\auwidth=\textwidth
+\newdimen\auskip
+\newcount\auskipcount
+\newdimen\auskip
+\global\auskip=1pc
+\newdimen\allauboxes
+\allauboxes=\auwidth
+\newtoks\addauthors
+\newcount\addauflag
+\global\addauflag=0 %Haven't shown additional authors yet
+
+\newtoks\subtitletext
+\gdef\subtitle#1{\subtitletext={#1}}
+
+\gdef\additionalauthors#1{\addauthors={#1}}
+
+\gdef\numberofauthors#1{\global\aucount=#1
+\ifnum\aucount>3\global\originalaucount=\aucount \global\aucount=3\fi %g}  % 3 OK - Gerry March 2007
+\global\auskipcount=\aucount\global\advance\auskipcount by 1
+\global\multiply\auskipcount by 2
+\global\multiply\auskip by \auskipcount
+\global\advance\auwidth by -\auskip
+\global\divide\auwidth by \aucount}
+
+% \and was modified to count the number of authors.  GKMT 12 Aug 1999
+\def\alignauthor{%                  % \begin{tabular}
+\end{tabular}%
+  \begin{tabular}[t]{p{\auwidth}}\centering}%
+
+%  *** NOTE *** NOTE *** NOTE *** NOTE ***
+%  If you have 'font problems' then you may need
+%  to change these, e.g. 'arialb' instead of "arialbd".
+%  Gerry Murray 11/11/1999
+%  *** OR ** comment out block A and activate block B or vice versa.
+% **********************************************
+%
+%  -- Start of block A -- (Type 1 or Truetype fonts)
+%\newfont{\secfnt}{timesbd at 12pt} % was timenrb originally - now is timesbd
+%\newfont{\secit}{timesbi at 12pt}   %13 Jan 00 gkmt
+%\newfont{\subsecfnt}{timesi at 11pt} % was timenrri originally - now is timesi
+%\newfont{\subsecit}{timesbi at 11pt} % 13 Jan 00 gkmt -- was times changed to timesbi gm 2/4/2000
+%                         % because "normal" is italic, "italic" is Roman
+%\newfont{\ttlfnt}{arialbd at 18pt} % was arialb originally - now is arialbd
+%\newfont{\ttlit}{arialbi at 18pt}    % 13 Jan 00 gkmt
+%\newfont{\subttlfnt}{arial at 14pt} % was arialr originally - now is arial
+%\newfont{\subttlit}{ariali at 14pt} % 13 Jan 00 gkmt
+%\newfont{\subttlbf}{arialbd at 14pt}  % 13 Jan 00 gkmt
+%\newfont{\aufnt}{arial at 12pt} % was arialr originally - now is arial
+%\newfont{\auit}{ariali at 12pt} % 13 Jan 00 gkmt
+%\newfont{\affaddr}{arial at 10pt} % was arialr originally - now is arial
+%\newfont{\affaddrit}{ariali at 10pt} %13 Jan 00 gkmt
+%\newfont{\eaddfnt}{arial at 12pt} % was arialr originally - now is arial
+%\newfont{\ixpt}{times at 9pt} % was timenrr originally - now is times
+%\newfont{\confname}{timesi at 8pt} % was timenrri - now is timesi
+%\newfont{\crnotice}{times at 8pt} % was timenrr originally - now is times
+%\newfont{\ninept}{times at 9pt} % was timenrr originally - now is times
+
+% *********************************************
+%  -- End of block A --
+%
+%
+% -- Start of block B -- UPDATED FONT NAMES
+% *********************************************
+% Gerry Murray 11/30/2006
+% *********************************************
+\newfont{\secfnt}{ptmb8t at 12pt}
+\newfont{\secit}{ptmbi8t at 12pt}    %13 Jan 00 gkmt
+\newfont{\subsecfnt}{ptmri8t at 11pt}
+\newfont{\subsecit}{ptmbi8t at 11pt}  % 
+\newfont{\ttlfnt}{phvb8t at 18pt}
+\newfont{\ttlit}{phvbo8t at 18pt}    % GM 2/4/2000
+\newfont{\subttlfnt}{phvr8t at 14pt}
+\newfont{\subttlit}{phvro8t at 14pt} % GM 2/4/2000
+\newfont{\subttlbf}{phvb8t at 14pt}  % 13 Jan 00 gkmt
+\newfont{\aufnt}{phvr8t at 12pt}
+\newfont{\auit}{phvro8t at 12pt}     % GM 2/4/2000
+\newfont{\affaddr}{phvr8t at 10pt}
+\newfont{\affaddrit}{phvro8t at 10pt} % GM 2/4/2000
+\newfont{\eaddfnt}{phvr8t at 12pt}
+\newfont{\ixpt}{ptmr8t at 9pt}
+\newfont{\confname}{ptmri8t at 8pt}
+\newfont{\crnotice}{ptmr8t at 8pt}
+\newfont{\ninept}{ptmr8t at 9pt}
+% +++++++++++++++++++++++++++++++++++++++++++++
+% -- End of block B --
+
+%\def\email#1{{{\eaddfnt{\vskip 4pt#1}}}}
+% If we have an email, inside a "shared affiliation" then we need the following instead
+\def\email#1{{{\eaddfnt{\par #1}}}}       % revised  - GM - 11/30/2006
+
+\def\addauthorsection{\ifnum\originalaucount>6  % was 3 - Gerry March 2007
+    \section{Additional Authors}\the\addauthors
+  \fi}
+
+\newcount\savesection
+\newcount\sectioncntr
+\global\sectioncntr=1
+
+\setcounter{secnumdepth}{3}
+
+\def\appendix{\par
+\section*{APPENDIX}
+\setcounter{section}{0}
+ \setcounter{subsection}{0}
+ \def\thesection{\Alph{section}} }
+
+\leftmargini 22.5pt
+\leftmarginii 19.8pt    % > \labelsep + width of '(m)'
+\leftmarginiii 16.8pt   % > \labelsep + width of 'vii.'
+\leftmarginiv 15.3pt    % > \labelsep + width of 'M.'
+\leftmarginv 9pt
+\leftmarginvi 9pt
+
+\leftmargin\leftmargini
+\labelsep 4.5pt
+\labelwidth\leftmargini\advance\labelwidth-\labelsep
+
+\def\@listI{\leftmargin\leftmargini \parsep 3.6pt plus 2pt minus 1pt%
+\topsep 7.2pt plus 2pt minus 4pt%
+\itemsep 3.6pt plus 2pt minus 1pt}
+
+\let\@listi\@listI
+\@listi
+
+\def\@listii{\leftmargin\leftmarginii
+   \labelwidth\leftmarginii\advance\labelwidth-\labelsep
+   \topsep 3.6pt plus 2pt minus 1pt
+   \parsep 1.8pt plus 0.9pt minus 0.9pt
+   \itemsep \parsep}
+
+\def\@listiii{\leftmargin\leftmarginiii
+    \labelwidth\leftmarginiii\advance\labelwidth-\labelsep
+    \topsep 1.8pt plus 0.9pt minus 0.9pt
+    \parsep \z@ \partopsep 1pt plus 0pt minus 1pt
+    \itemsep \topsep}
+
+\def\@listiv{\leftmargin\leftmarginiv
+     \labelwidth\leftmarginiv\advance\labelwidth-\labelsep}
+
+\def\@listv{\leftmargin\leftmarginv
+     \labelwidth\leftmarginv\advance\labelwidth-\labelsep}
+
+\def\@listvi{\leftmargin\leftmarginvi
+     \labelwidth\leftmarginvi\advance\labelwidth-\labelsep}
+
+\def\labelenumi{\theenumi.}
+\def\theenumi{\arabic{enumi}}
+
+\def\labelenumii{(\theenumii)}
+\def\theenumii{\alph{enumii}}
+\def\p@enumii{\theenumi}
+
+\def\labelenumiii{\theenumiii.}
+\def\theenumiii{\roman{enumiii}}
+\def\p@enumiii{\theenumi(\theenumii)}
+
+\def\labelenumiv{\theenumiv.}
+\def\theenumiv{\Alph{enumiv}}
+\def\p@enumiv{\p@enumiii\theenumiii}
+
+\def\labelitemi{$\bullet$}
+\def\labelitemii{\bf --}
+\def\labelitemiii{$\ast$}
+\def\labelitemiv{$\cdot$}
+
+\def\verse{\let\\=\@centercr
+  \list{}{\itemsep\z@ \itemindent -1.5em\listparindent \itemindent
+          \rightmargin\leftmargin\advance\leftmargin 1.5em}\item[]}
+\let\endverse\endlist
+
+\def\quotation{\list{}{\listparindent 1.5em
+    \itemindent\listparindent
+    \rightmargin\leftmargin \parsep 0pt plus 1pt}\item[]}
+\let\endquotation=\endlist
+
+\def\quote{\list{}{\rightmargin\leftmargin}\item[]}
+\let\endquote=\endlist
+
+\def\descriptionlabel#1{\hspace\labelsep \bf #1}
+\def\description{\list{}{\labelwidth\z@ \itemindent-\leftmargin
+       \let\makelabel\descriptionlabel}}
+
+\let\enddescription\endlist
+
+\def\theequation{\arabic{equation}}
+
+\arraycolsep 4.5pt   % Half the space between columns in an array environment.
+\tabcolsep 5.4pt    % Half the space between columns in a tabular environment.
+\arrayrulewidth .5pt % Width of rules in array and tabular environment. % (was .4) updated Gerry March 20 2007
+\doublerulesep 1.8pt % Space between adjacent rules in array or tabular env.
+
+\tabbingsep \labelsep   % Space used by the \' command.  (See LaTeX manual.)
+
+\skip\@mpfootins =\skip\footins
+
+\fboxsep =2.7pt      % Space left between box and text by \fbox and \framebox.
+\fboxrule =.5pt      % Width of rules in box made by \fbox and \framebox. % (was .4) updated Gerry March 20 2007
+
+\def\thepart{\Roman{part}} % Roman numeral part numbers.
+\def\thesection       {\arabic{section}}
+\def\thesubsection    {\thesection.\arabic{subsection}}
+%\def\thesubsubsection {\thesubsection.\arabic{subsubsection}} % GM 7/30/2002
+%\def\theparagraph     {\thesubsubsection.\arabic{paragraph}}  % GM 7/30/2002
+\def\thesubparagraph  {\theparagraph.\arabic{subparagraph}}
+
+\def\@pnumwidth{1.55em}
+\def\@tocrmarg {2.55em}
+\def\@dotsep{4.5}
+\setcounter{tocdepth}{3}
+
+%\def\tableofcontents{\@latexerr{\tableofcontents: Tables of contents are not
+%  allowed in the `acmconf' document style.}\@eha}
+
+\def\tableofcontents{\ClassError{%
+    \string\tableofcontents\space is not allowed in the `acmconf' document	% January 2008
+    style}\@eha}
+
+\def\l@part#1#2{\addpenalty{\@secpenalty}
+   \addvspace{2.25em plus 1pt}  % space above part line
+   \begingroup
+   \@tempdima 3em       % width of box holding part number, used by
+     \parindent \z@ \rightskip \@pnumwidth      %% \numberline
+     \parfillskip -\@pnumwidth
+     {\large \bf        % set line in \large boldface
+     \leavevmode        % TeX command to enter horizontal mode.
+     #1\hfil \hbox to\@pnumwidth{\hss #2}}\par
+     \nobreak           % Never break after part entry
+   \endgroup}
+
+\def\l@section#1#2{\addpenalty{\@secpenalty} % good place for page break
+   \addvspace{1.0em plus 1pt}   % space above toc entry
+   \@tempdima 1.5em             % width of box holding section number
+   \begingroup
+    \parindent  \z@ \rightskip \@pnumwidth
+     \parfillskip -\@pnumwidth
+     \bf                        % Boldface.
+     \leavevmode                % TeX command to enter horizontal mode.
+      \advance\leftskip\@tempdima %% added 5 Feb 88 to conform to
+      \hskip -\leftskip           %% 25 Jan 88 change to \numberline
+     #1\nobreak\hfil \nobreak\hbox to\@pnumwidth{\hss #2}\par
+   \endgroup}
+
+
+\def\l@subsection{\@dottedtocline{2}{1.5em}{2.3em}}
+\def\l@subsubsection{\@dottedtocline{3}{3.8em}{3.2em}}
+\def\l@paragraph{\@dottedtocline{4}{7.0em}{4.1em}}
+\def\l@subparagraph{\@dottedtocline{5}{10em}{5em}}
+
+%\def\listoffigures{\@latexerr{\listoffigures: Lists of figures are not
+%  allowed in the `acmconf' document style.}\@eha}
+
+\def\listoffigures{\ClassError{%
+    \string\listoffigures\space is not allowed in the `acmconf' document	% January 2008
+    style}\@eha}
+
+\def\l@figure{\@dottedtocline{1}{1.5em}{2.3em}}
+
+%\def\listoftables{\@latexerr{\listoftables: Lists of tables are not
+%  allowed in the `acmconf' document style.}\@eha}
+%\let\l@table\l@figure
+
+\def\listoftables{\ClassError{%
+    \string\listoftables\space is not allowed in the `acmconf' document		% January 2008
+    style}\@eha}
+ \let\l@table\l@figure
+
+\def\footnoterule{\kern-3\p@
+  \hrule width .5\columnwidth   % (was .4) updated Gerry March 20 2007
+  \kern 2.6\p@}                 % The \hrule has default height of .4pt % (was .4) updated Gerry March 20 2007
+% ------
+\long\def\@makefntext#1{\noindent 
+%\hbox to .5em{\hss$^{\@thefnmark}$}#1}   % original
+\hbox to .5em{\hss\textsuperscript{\@thefnmark}}#1}  % C. Clifton / GM Oct. 2nd. 2002
+% -------
+
+\long\def\@maketntext#1{\noindent
+#1}
+
+\long\def\@maketitlenotetext#1#2{\noindent
+            \hbox to 1.8em{\hss$^{#1}$}#2}
+
+\setcounter{topnumber}{2}
+\def\topfraction{.7}
+\setcounter{bottomnumber}{1}
+\def\bottomfraction{.3}
+\setcounter{totalnumber}{3}
+\def\textfraction{.2}
+\def\floatpagefraction{.5}
+\setcounter{dbltopnumber}{2}
+\def\dbltopfraction{.7}
+\def\dblfloatpagefraction{.5}
+
+%
+\long\def\@makecaption#1#2{
+   \vskip \baselineskip
+   \setbox\@tempboxa\hbox{\textbf{#1: #2}}
+   \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
+       \textbf{#1: #2}\par               %   THEN set as ordinary paragraph.
+     \else                      %   ELSE  center.
+       \hbox to\hsize{\hfil\box\@tempboxa\hfil}\par
+   \fi}
+
+%
+
+\long\def\@makecaption#1#2{
+   \vskip 10pt
+   \setbox\@tempboxa\hbox{\textbf{#1: #2}}
+   \ifdim \wd\@tempboxa >\hsize % IF longer than one line:
+       \textbf{#1: #2}\par                %   THEN set as ordinary paragraph.
+     \else                      %   ELSE  center.
+       \hbox to\hsize{\hfil\box\@tempboxa\hfil}
+   \fi}
+
+\@ifundefined{figure}{\newcounter {figure}} % this is for LaTeX2e
+
+\def\fps@figure{tbp}
+\def\ftype@figure{1}
+\def\ext@figure{lof}
+\def\fnum@figure{Figure \thefigure}
+\def\figure{\@float{figure}}
+%\let\endfigure\end@float
+\def\endfigure{\end@float} 		% Gerry January 2008
+\@namedef{figure*}{\@dblfloat{figure}}
+\@namedef{endfigure*}{\end@dblfloat}
+
+\@ifundefined{table}{\newcounter {table}} % this is for LaTeX2e
+
+\def\fps@table{tbp}
+\def\ftype@table{2}
+\def\ext@table{lot}
+\def\fnum@table{Table \thetable}
+\def\table{\@float{table}}
+%\let\endtable\end@float
+\def\endtable{\end@float}		% Gerry January 2008
+\@namedef{table*}{\@dblfloat{table}}
+\@namedef{endtable*}{\end@dblfloat}
+
+\newtoks\titleboxnotes
+\newcount\titleboxnoteflag
+
+\def\maketitle{\par
+ \begingroup
+   \def\thefootnote{\fnsymbol{footnote}}
+   \def\@makefnmark{\hbox
+       to 0pt{$^{\@thefnmark}$\hss}}
+     \twocolumn[\@maketitle]
+\@thanks
+ \endgroup
+ \setcounter{footnote}{0}
+ \let\maketitle\relax
+ \let\@maketitle\relax
+ \gdef\@thanks{}\gdef\@author{}\gdef\@title{}\gdef\@subtitle{}\let\thanks\relax
+ \@copyrightspace}
+
+%% CHANGES ON NEXT LINES
+\newif\if@ll % to record which version of LaTeX is in use
+
+\expandafter\ifx\csname LaTeXe\endcsname\relax % LaTeX2.09 is used
+\else% LaTeX2e is used, so set ll to true
+\global\@lltrue
+\fi
+
+\if@ll
+  \NeedsTeXFormat{LaTeX2e}
+  \ProvidesClass{sig-alternate} [2012/05/23 - V2.5 - based on acmproc.cls V1.3 <Nov. 30 '99>]
+  \RequirePackage{latexsym}% QUERY: are these two really needed?
+  \let\dooptions\ProcessOptions
+\else
+  \let\dooptions\@options
+\fi
+%% END CHANGES
+
+\def\@height{height}
+\def\@width{width}
+\def\@minus{minus}
+\def\@plus{plus}
+\def\hb@xt@{\hbox to}
+\newif\if@faircopy
+\@faircopyfalse
+\def\ds@faircopy{\@faircopytrue}
+
+\def\ds@preprint{\@faircopyfalse}
+
+\@twosidetrue
+\@mparswitchtrue
+\def\ds@draft{\overfullrule 5\p@}
+%% CHANGE ON NEXT LINE
+\dooptions
+
+\lineskip \p@
+\normallineskip \p@
+\def\baselinestretch{1}
+\def\@ptsize{0} %needed for amssymbols.sty
+
+%% CHANGES ON NEXT LINES
+\if@ll% allow use of old-style font change commands in LaTeX2e
+\@maxdepth\maxdepth
+%
+\DeclareOldFontCommand{\rm}{\ninept\rmfamily}{\mathrm}
+\DeclareOldFontCommand{\sf}{\normalfont\sffamily}{\mathsf}
+\DeclareOldFontCommand{\tt}{\normalfont\ttfamily}{\mathtt}
+\DeclareOldFontCommand{\bf}{\normalfont\bfseries}{\mathbf}
+\DeclareOldFontCommand{\it}{\normalfont\itshape}{\mathit}
+\DeclareOldFontCommand{\sl}{\normalfont\slshape}{\@nomath\sl}
+\DeclareOldFontCommand{\sc}{\normalfont\scshape}{\@nomath\sc}
+\DeclareRobustCommand*{\cal}{\@fontswitch{\relax}{\mathcal}}
+\DeclareRobustCommand*{\mit}{\@fontswitch{\relax}{\mathnormal}}
+\fi
+%
+\if@ll
+ \renewcommand{\rmdefault}{cmr}  % was 'ttm'
+% Note! I have also found 'mvr' to work ESPECIALLY well.
+% Gerry - October 1999
+% You may need to change your LV1times.fd file so that sc is
+% mapped to cmcsc - -for smallcaps -- that is if you decide
+% to change {cmr} to {times} above. (Not recommended)
+  \renewcommand{\@ptsize}{}
+  \renewcommand{\normalsize}{%
+    \@setfontsize\normalsize\@ixpt{10.5\p@}%\ninept%
+    \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
+    \belowdisplayskip \abovedisplayskip
+    \abovedisplayshortskip 6\p@ \@minus 3\p@
+    \belowdisplayshortskip 6\p@ \@minus 3\p@
+    \let\@listi\@listI
+  }
+\else
+  \def\@normalsize{%changed next to 9 from 10
+    \@setsize\normalsize{9\p@}\ixpt\@ixpt
+   \abovedisplayskip 6\p@ \@plus2\p@ \@minus\p@
+    \belowdisplayskip \abovedisplayskip
+    \abovedisplayshortskip 6\p@ \@minus 3\p@
+    \belowdisplayshortskip 6\p@ \@minus 3\p@
+    \let\@listi\@listI
+  }%
+\fi
+\if@ll
+  \newcommand\scriptsize{\@setfontsize\scriptsize\@viipt{8\p@}}
+  \newcommand\tiny{\@setfontsize\tiny\@vpt{6\p@}}
+  \newcommand\large{\@setfontsize\large\@xiipt{14\p@}}
+  \newcommand\Large{\@setfontsize\Large\@xivpt{18\p@}}
+  \newcommand\LARGE{\@setfontsize\LARGE\@xviipt{20\p@}}
+  \newcommand\huge{\@setfontsize\huge\@xxpt{25\p@}}
+  \newcommand\Huge{\@setfontsize\Huge\@xxvpt{30\p@}}
+\else
+  \def\scriptsize{\@setsize\scriptsize{8\p@}\viipt\@viipt}
+  \def\tiny{\@setsize\tiny{6\p@}\vpt\@vpt}
+  \def\large{\@setsize\large{14\p@}\xiipt\@xiipt}
+  \def\Large{\@setsize\Large{18\p@}\xivpt\@xivpt}
+  \def\LARGE{\@setsize\LARGE{20\p@}\xviipt\@xviipt}
+  \def\huge{\@setsize\huge{25\p@}\xxpt\@xxpt}
+  \def\Huge{\@setsize\Huge{30\p@}\xxvpt\@xxvpt}
+\fi
+\normalsize
+
+% make aubox hsize/number of authors up to 3, less gutter
+% then showbox gutter showbox gutter showbox -- GKMT Aug 99
+\newbox\@acmtitlebox
+\def\@maketitle{\newpage
+ \null
+ \setbox\@acmtitlebox\vbox{%
+\baselineskip 20pt
+\vskip 2em                   % Vertical space above title.
+   \begin{center}
+    {\ttlfnt \@title\par}       % Title set in 18pt Helvetica (Arial) bold size.
+    \vskip 1.5em                % Vertical space after title.
+%This should be the subtitle.
+{\subttlfnt \the\subtitletext\par}\vskip 1.25em%\fi
+    {\baselineskip 16pt\aufnt   % each author set in \12 pt Arial, in a
+     \lineskip .5em             % tabular environment
+     \begin{tabular}[t]{c}\@author
+     \end{tabular}\par}
+    \vskip 1.5em               % Vertical space after author.
+   \end{center}}
+ \dimen0=\ht\@acmtitlebox
+ \advance\dimen0 by -12.75pc\relax % Increased space for title box -- KBT
+ \unvbox\@acmtitlebox
+ \ifdim\dimen0<0.0pt\relax\vskip-\dimen0\fi}
+
+
+\newcount\titlenotecount
+\global\titlenotecount=0
+\newtoks\tntoks
+\newtoks\tntokstwo
+\newtoks\tntoksthree
+\newtoks\tntoksfour
+\newtoks\tntoksfive
+
+\def\abstract{
+\ifnum\titlenotecount>0 % was =1
+    \insert\footins{%
+    \reset@font\footnotesize
+        \interlinepenalty\interfootnotelinepenalty
+        \splittopskip\footnotesep
+        \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+        \hsize\columnwidth \@parboxrestore
+        \protected@edef\@currentlabel{%
+        }%
+        \color@begingroup
+\ifnum\titlenotecount=1
+      \@maketntext{%
+         \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\@finalstrut\strutbox}%
+\fi
+\ifnum\titlenotecount=2
+      \@maketntext{%
+      \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\@finalstrut\strutbox}%
+\fi
+\ifnum\titlenotecount=3
+      \@maketntext{%
+         \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\@finalstrut\strutbox}%
+\fi
+\ifnum\titlenotecount=4
+      \@maketntext{%
+         \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\@finalstrut\strutbox}%
+\fi
+\ifnum\titlenotecount=5
+      \@maketntext{%
+         \raisebox{4pt}{$\ast$}\rule\z@\footnotesep\ignorespaces\the\tntoks\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\dagger$}\rule\z@\footnotesep\ignorespaces\the\tntokstwo\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\ddagger$}\rule\z@\footnotesep\ignorespaces\the\tntoksthree\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\S$}\rule\z@\footnotesep\ignorespaces\the\tntoksfour\par\@finalstrut\strutbox}%
+\@maketntext{%
+         \raisebox{4pt}{$\P$}\rule\z@\footnotesep\ignorespaces\the\tntoksfive\@finalstrut\strutbox}%
+\fi
+   \color@endgroup} %g}
+\fi
+\setcounter{footnote}{0}
+\section*{ABSTRACT}\normalsize%\ninept
+}
+
+\def\endabstract{\if@twocolumn\else\endquotation\fi}
+
+\def\keywords{\if@twocolumn
+\section*{Keywords}
+\else \small
+\quotation
+\fi}
+
+\def\terms{\if@twocolumn
+\section*{General Terms}
+\else \small
+\quotation
+\fi}
+
+% -- Classification needs to be a bit smart due to optionals - Gerry/Georgia November 2nd. 1999
+\newcount\catcount
+\global\catcount=1
+
+\def\category#1#2#3{%
+\ifnum\catcount=1
+\section*{Categories and Subject Descriptors}
+\advance\catcount by 1\else{\unskip; }\fi
+    \@ifnextchar [{\@category{#1}{#2}{#3}}{\@category{#1}{#2}{#3}[]}%
+}
+
+\def\@category#1#2#3[#4]{%
+    \begingroup
+        \let\and\relax
+            #1 [\textbf{#2}]%
+            \if!#4!%
+                \if!#3!\else : #3\fi
+            \else
+                :\space
+                \if!#3!\else #3\kern\z@---\hskip\z@\fi
+                \textit{#4}%
+            \fi
+    \endgroup
+}
+%
+
+%%% This section (written by KBT) handles the 1" box in the lower left
+%%% corner of the left column of the first page by creating a picture,
+%%% and inserting the predefined string at the bottom (with a negative
+%%% displacement to offset the space allocated for a non-existent
+%%% caption).
+%%%
+\newtoks\copyrightnotice
+\def\ftype@copyrightbox{8}
+\def\@copyrightspace{
+\@float{copyrightbox}[b]
+\begin{center}
+\setlength{\unitlength}{1pc}
+\begin{picture}(20,6) %Space for copyright notice
+\put(0,-0.95){\crnotice{\@toappear}}
+\end{picture}
+\end{center}
+\end@float}
+
+\def\@toappear{} % Default setting blank - commands below change this.
+\long\def\toappear#1{\def\@toappear{\parbox[b]{20pc}{\baselineskip 9pt#1}}}
+\def\toappearbox#1{\def\@toappear{\raisebox{5pt}{\framebox[20pc]{\parbox[b]{19pc}{#1}}}}}
+
+\newtoks\conf
+\newtoks\confinfo
+\def\conferenceinfo#1#2{\global\conf={#1}\global\confinfo{#2}}
+
+
+%\def\marginpar{\@latexerr{The \marginpar command is not allowed in the
+%  `acmconf' document style.}\@eha}
+
+\def\marginpar{\ClassError{%
+    \string\marginpar\space is not allowed in the `acmconf' document		% January 2008
+    style}\@eha}
+
+\mark{{}{}}     % Initializes TeX's marks
+
+\def\today{\ifcase\month\or
+  January\or February\or March\or April\or May\or June\or
+  July\or August\or September\or October\or November\or December\fi
+  \space\number\day, \number\year}
+
+\def\@begintheorem#1#2{%
+    \parskip 0pt % GM July 2000 (for tighter spacing)
+    \trivlist
+    \item[%
+        \hskip 10\p@
+        \hskip \labelsep
+        {{\sc #1}\hskip 5\p@\relax#2.}%
+    ]
+    \it
+}
+\def\@opargbegintheorem#1#2#3{%
+    \parskip 0pt % GM July 2000 (for tighter spacing)
+    \trivlist
+    \item[%
+        \hskip 10\p@
+        \hskip \labelsep
+        {\sc #1\ #2\             % This mod by Gerry to enumerate corollaries
+   \setbox\@tempboxa\hbox{(#3)}  % and bracket the 'corollary title'
+        \ifdim \wd\@tempboxa>\z@ % and retain the correct numbering of e.g. theorems
+            \hskip 5\p@\relax    % if they occur 'around' said corollaries.
+            \box\@tempboxa       % Gerry - Nov. 1999.
+        \fi.}%
+    ]
+    \it
+}
+\newif\if@qeded
+\global\@qededfalse
+
+% -- original
+%\def\proof{%
+%  \vspace{-\parskip} % GM July 2000 (for tighter spacing)
+%    \global\@qededfalse
+%    \@ifnextchar[{\@xproof}{\@proof}%
+%}
+% -- end of original
+
+% (JSS) Fix for vertical spacing bug - Gerry Murray July 30th. 2002
+\def\proof{%
+\vspace{-\lastskip}\vspace{-\parsep}\penalty-51%
+\global\@qededfalse
+\@ifnextchar[{\@xproof}{\@proof}%
+}
+
+\def\endproof{%
+    \if@qeded\else\qed\fi
+    \endtrivlist
+}
+\def\@proof{%
+    \trivlist
+    \item[%
+        \hskip 10\p@
+        \hskip \labelsep
+        {\sc Proof.}%
+    ]
+    \ignorespaces
+}
+\def\@xproof[#1]{%
+    \trivlist
+    \item[\hskip 10\p@\hskip \labelsep{\sc Proof #1.}]%
+    \ignorespaces
+}
+\def\qed{%
+    \unskip
+    \kern 10\p@
+    \begingroup
+        \unitlength\p@
+        \linethickness{.4\p@}%
+        \framebox(6,6){}%
+    \endgroup
+    \global\@qededtrue
+}
+
+\def\newdef#1#2{%
+    \expandafter\@ifdefinable\csname #1\endcsname
+        {\@definecounter{#1}%
+         \expandafter\xdef\csname the#1\endcsname{\@thmcounter{#1}}%
+         \global\@namedef{#1}{\@defthm{#1}{#2}}%
+         \global\@namedef{end#1}{\@endtheorem}%
+    }%
+}
+\def\@defthm#1#2{%
+    \refstepcounter{#1}%
+    \@ifnextchar[{\@ydefthm{#1}{#2}}{\@xdefthm{#1}{#2}}%
+}
+\def\@xdefthm#1#2{%
+    \@begindef{#2}{\csname the#1\endcsname}%
+    \ignorespaces
+}
+\def\@ydefthm#1#2[#3]{%
+    \trivlist
+    \item[%
+        \hskip 10\p@
+        \hskip \labelsep
+        {\it #2%
+%         \savebox\@tempboxa{#3}%
+         \saveb@x\@tempboxa{#3}%		% January 2008
+         \ifdim \wd\@tempboxa>\z@
+            \ \box\@tempboxa
+         \fi.%
+        }]%
+    \ignorespaces
+}
+\def\@begindef#1#2{%
+    \trivlist
+    \item[%
+        \hskip 10\p@
+        \hskip \labelsep
+        {\it #1\ \rm #2.}%
+    ]%
+}
+\def\theequation{\arabic{equation}}
+
+\newcounter{part}
+\newcounter{section}
+\newcounter{subsection}[section]
+\newcounter{subsubsection}[subsection]
+\newcounter{paragraph}[subsubsection]
+\def\thepart{\Roman{part}}
+\def\thesection{\arabic{section}}
+\def\thesubsection{\thesection.\arabic{subsection}}
+\def\thesubsubsection{\thesubsection.\arabic{subsubsection}} %removed \subsecfnt 29 July 2002 gkmt
+\def\theparagraph{\thesubsubsection.\arabic{paragraph}} %removed \subsecfnt 29 July 2002 gkmt
+\newif\if@uchead
+\@ucheadfalse
+
+%% CHANGES: NEW NOTE
+%% NOTE: OK to use old-style font commands below, since they were
+%% suitably redefined for LaTeX2e
+%% END CHANGES
+\setcounter{secnumdepth}{3}
+\def\part{%
+    \@startsection{part}{9}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}
+        {4\p@}{\normalsize\@ucheadtrue}%
+}
+\def\section{%
+    \@startsection{section}{1}{\z@}{-10\p@ \@plus -4\p@ \@minus -2\p@}% GM
+    {4\p@}{\baselineskip 14pt\secfnt\@ucheadtrue}%
+}
+
+\def\subsection{%
+    \@startsection{subsection}{2}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@}
+    {4\p@}{\secfnt}%
+}
+\def\subsubsection{%
+    \@startsection{subsubsection}{3}{\z@}{-8\p@ \@plus -2\p@ \@minus -\p@}%
+    {4\p@}{\subsecfnt}%
+}
+%\def\paragraph{%
+%    \vskip 12pt\@startsection{paragraph}{3}{\z@}{6\p@ \@plus \p@}% original
+%    {-5\p@}{\subsecfnt}%
+%}
+%  If one wants sections, subsections and subsubsections numbered,
+%  but not paragraphs, one usually sets secnumepth to 3.
+%  For that, the "depth" of paragraphs must be given correctly
+%  in the definition (``4'' instead of ``3'' as second argument
+%  of @startsection):
+\def\paragraph{%
+    \vskip 12pt\@startsection{paragraph}{4}{\z@}{6\p@ \@plus \p@}%    % GM and Wolfgang May - 11/30/06
+    {-5\p@}{\subsecfnt}%
+}
+\let\@period=.
+\def\@startsection#1#2#3#4#5#6{%
+        \if@noskipsec  %gkmt, 11 aug 99
+        \global\let\@period\@empty
+        \leavevmode
+        \global\let\@period.%
+    \fi
+      \par %
+    \@tempskipa #4\relax
+    \@afterindenttrue
+    \ifdim \@tempskipa <\z@
+        \@tempskipa -\@tempskipa
+        \@afterindentfalse
+    \fi
+    \if@nobreak
+    \everypar{}%
+    \else
+        \addpenalty\@secpenalty
+        \addvspace\@tempskipa
+    \fi
+\parskip=0pt % GM July 2000 (non numbered) section heads
+    \@ifstar
+        {\@ssect{#3}{#4}{#5}{#6}}
+        {\@dblarg{\@sect{#1}{#2}{#3}{#4}{#5}{#6}}}%
+}
+\def\@sect#1#2#3#4#5#6[#7]#8{%
+    \ifnum #2>\c@secnumdepth
+        \let\@svsec\@empty
+    \else
+        \refstepcounter{#1}%
+        \edef\@svsec{%
+            \begingroup
+                %\ifnum#2>2 \noexpand\rm \fi % changed to next 29 July 2002 gkmt
+            \ifnum#2>2 \noexpand#6 \fi
+                \csname the#1\endcsname
+            \endgroup
+            \ifnum #2=1\relax .\fi
+            \hskip 1em
+        }%
+    \fi
+    \@tempskipa #5\relax
+    \ifdim \@tempskipa>\z@
+        \begingroup
+            #6\relax
+            \@hangfrom{\hskip #3\relax\@svsec}%
+            \begingroup
+                \interlinepenalty \@M
+                \if@uchead
+                    \uppercase{#8}%
+                \else
+                    #8%
+                \fi
+                \par
+            \endgroup
+        \endgroup
+        \csname #1mark\endcsname{#7}%
+        \vskip -12pt  %gkmt, 11 aug 99 and GM July 2000 (was -14) - numbered section head spacing
+\addcontentsline{toc}{#1}{%
+            \ifnum #2>\c@secnumdepth \else
+                \protect\numberline{\csname the#1\endcsname}%
+            \fi
+            #7%
+        }%
+    \else
+        \def\@svsechd{%
+            #6%
+            \hskip #3\relax
+            \@svsec
+            \if@uchead
+                \uppercase{#8}%
+            \else
+                #8%
+            \fi
+            \csname #1mark\endcsname{#7}%
+            \addcontentsline{toc}{#1}{%
+                \ifnum #2>\c@secnumdepth \else
+                    \protect\numberline{\csname the#1\endcsname}%
+                \fi
+                #7%
+            }%
+        }%
+    \fi
+    \@xsect{#5}\hskip 1pt
+    \par
+}
+\def\@xsect#1{%
+    \@tempskipa #1\relax
+    \ifdim \@tempskipa>\z@
+        \par
+        \nobreak
+        \vskip \@tempskipa
+        \@afterheading
+    \else
+        \global\@nobreakfalse
+        \global\@noskipsectrue
+        \everypar{%
+            \if@noskipsec
+                \global\@noskipsecfalse
+                \clubpenalty\@M
+                \hskip -\parindent
+                \begingroup
+                    \@svsechd
+                    \@period
+                \endgroup
+                \unskip
+                \@tempskipa #1\relax
+                \hskip -\@tempskipa
+            \else
+                \clubpenalty \@clubpenalty
+                \everypar{}%
+            \fi
+        }%
+    \fi
+    \ignorespaces
+}
+\def\@trivlist{%
+    \@topsepadd\topsep
+    \if@noskipsec
+        \global\let\@period\@empty
+        \leavevmode
+        \global\let\@period.%
+    \fi
+    \ifvmode
+        \advance\@topsepadd\partopsep
+    \else
+        \unskip
+        \par
+    \fi
+    \if@inlabel
+        \@noparitemtrue
+        \@noparlisttrue
+    \else
+        \@noparlistfalse
+        \@topsep\@topsepadd
+    \fi
+    \advance\@topsep \parskip
+    \leftskip\z@skip
+    \rightskip\@rightskip
+    \parfillskip\@flushglue
+    \@setpar{\if@newlist\else{\@@par}\fi}
+    \global\@newlisttrue
+    \@outerparskip\parskip
+}
+
+%%% Actually, 'abbrev' works just fine as the default
+%%% Bibliography style.
+
+\typeout{Using 'Abbrev' bibliography style}
+\newcommand\bibyear[2]{%
+    \unskip\quad\ignorespaces#1\unskip
+    \if#2..\quad \else \quad#2 \fi
+}
+\newcommand{\bibemph}[1]{{\em#1}}
+\newcommand{\bibemphic}[1]{{\em#1\/}}
+\newcommand{\bibsc}[1]{{\sc#1}}
+\def\@normalcite{%
+    \def\@cite##1##2{[##1\if@tempswa , ##2\fi]}%
+}
+\def\@citeNB{%
+    \def\@cite##1##2{##1\if@tempswa , ##2\fi}%
+}
+\def\@citeRB{%
+    \def\@cite##1##2{##1\if@tempswa , ##2\fi]}%
+}
+\def\start@cite#1#2{%
+    \edef\citeauthoryear##1##2##3{%
+        ###1%
+        \ifnum#2=\z@ \else\ ###2\fi
+    }%
+    \ifnum#1=\thr@@
+        \let\@@cite\@citeyear
+    \else
+        \let\@@cite\@citenormal
+    \fi
+    \@ifstar{\@citeNB\@@cite}{\@normalcite\@@cite}%
+}
+%\def\cite{\start@cite23}
+\DeclareRobustCommand\cite{\start@cite23}		% January 2008
+\def\citeNP{\cite*}					% No Parentheses e.g. 5
+%\def\citeA{\start@cite10}
+\DeclareRobustCommand\citeA{\start@cite10}		% January 2008
+\def\citeANP{\citeA*}
+%\def\shortcite{\start@cite23}				
+\DeclareRobustCommand\shortcite{\start@cite23}		% January 2008
+\def\shortciteNP{\shortcite*}
+%\def\shortciteA{\start@cite20}
+\DeclareRobustCommand\shortciteA{\start@cite20}		% January 2008
+\def\shortciteANP{\shortciteA*}
+%\def\citeyear{\start@cite30}
+\DeclareRobustCommand\citeyear{\start@cite30}		% January 2008
+\def\citeyearNP{\citeyear*}
+%\def\citeN{%
+\DeclareRobustCommand\citeN{%				% January 2008
+    \@citeRB
+    \def\citeauthoryear##1##2##3{##1\ [##3%
+        \def\reserved@a{##1}%
+        \def\citeauthoryear####1####2####3{%
+            \def\reserved@b{####1}%
+            \ifx\reserved@a\reserved@b
+                ####3%
+            \else
+                \errmessage{Package acmart Error: author mismatch
+                         in \string\citeN^^J^^J%
+                    See the acmart package documentation for explanation}%
+            \fi
+        }%
+    }%
+    \@ifstar\@citeyear\@citeyear
+}
+%\def\shortciteN{%
+\DeclareRobustCommand\shortciteN{%			% January 2008
+    \@citeRB
+    \def\citeauthoryear##1##2##3{##2\ [##3%
+        \def\reserved@a{##2}%
+        \def\citeauthoryear####1####2####3{%
+            \def\reserved@b{####2}%
+            \ifx\reserved@a\reserved@b
+                ####3%
+            \else
+                \errmessage{Package acmart Error: author mismatch
+                         in \string\shortciteN^^J^^J%
+                    See the acmart package documentation for explanation}%
+            \fi
+        }%
+    }%
+    \@ifstar\@citeyear\@citeyear  % GM July 2000
+}
+
+\def\@citenormal{%
+    \@ifnextchar [{\@tempswatrue\@citex;}%
+% original                 {\@tempswafalse\@citex,[]}% was ; Gerry 2/24/00
+{\@tempswafalse\@citex[]}%  	% GERRY FIX FOR BABEL 3/20/2009
+}
+
+\def\@citeyear{%
+    \@ifnextchar [{\@tempswatrue\@citex,}%
+% original                  {\@tempswafalse\@citex,[]}%
+{\@tempswafalse\@citex[]}%	%  GERRY FIX FOR BABEL 3/20/2009
+}
+
+\def\@citex#1[#2]#3{%
+    \let\@citea\@empty
+    \@cite{%
+        \@for\@citeb:=#3\do{%
+            \@citea
+% original            \def\@citea{#1 }%
+            \def\@citea{#1, }% 	% GERRY FIX FOR BABEL 3/20/2009 -- SO THAT YOU GET [1, 2] IN THE BODY TEXT
+            \edef\@citeb{\expandafter\@iden\@citeb}%
+            \if@filesw
+                \immediate\write\@auxout{\string\citation{\@citeb}}%
+            \fi
+            \@ifundefined{b@\@citeb}{%
+                {\bf ?}%
+                \@warning{%
+                    Citation `\@citeb' on page \thepage\space undefined%
+                }%
+            }%
+            {\csname b@\@citeb\endcsname}%
+        }%
+    }{#2}%
+}
+%\let\@biblabel\@gobble   % Dec. 2008 - Gerry
+% ----
+\def\@biblabelnum#1{[#1]} % Gerry's solution #1 - for Natbib -- April 2009
+\let\@biblabel=\@biblabelnum  % Gerry's solution #1 - for Natbib -- April 2009
+\def\newblock{\relax} % Gerry Dec. 2008
+% ---
+\newdimen\bibindent
+\setcounter{enumi}{1}
+\bibindent=0em
+\def\thebibliography#1{% 
+\ifnum\addauflag=0\addauthorsection\global\addauflag=1\fi
+     \section[References]{%    <=== OPTIONAL ARGUMENT ADDED HERE
+        {References} % was uppercased but this affects pdf bookmarks (SP/GM October 2004)
+          {\vskip -9pt plus 1pt} % GM Nov. 2006 / GM July 2000 (for somewhat tighter spacing) 
+         \@mkboth{{\refname}}{{\refname}}%
+     }%
+     \list{[\arabic{enumi}]}{%
+         \settowidth\labelwidth{[#1]}%
+         \leftmargin\labelwidth
+         \advance\leftmargin\labelsep
+         \advance\leftmargin\bibindent
+         \parsep=0pt\itemsep=1pt % GM July 2000
+         \itemindent -\bibindent
+         \listparindent \itemindent
+         \usecounter{enumi}
+     }%
+     \let\newblock\@empty
+     \raggedright % GM July 2000
+     \sloppy
+     \sfcode`\.=1000\relax
+}
+
+
+\gdef\balancecolumns
+{\vfill\eject
+\global\@colht=\textheight
+\global\ht\@cclv=\textheight
+}
+
+\newcount\colcntr
+\global\colcntr=0
+%\newbox\savebox
+\newbox\saveb@x				% January 2008
+
+\gdef \@makecol {%
+\global\advance\colcntr by 1
+\ifnum\colcntr>2 \global\colcntr=1\fi
+   \ifvoid\footins
+     \setbox\@outputbox \box\@cclv
+   \else
+     \setbox\@outputbox \vbox{%
+\boxmaxdepth \@maxdepth
+       \@tempdima\dp\@cclv
+       \unvbox \@cclv
+       \vskip-\@tempdima
+       \vskip \skip\footins
+       \color@begingroup
+         \normalcolor
+         \footnoterule
+         \unvbox \footins
+       \color@endgroup
+       }%
+   \fi
+   \xdef\@freelist{\@freelist\@midlist}%
+   \global \let \@midlist \@empty
+   \@combinefloats
+   \ifvbox\@kludgeins
+     \@makespecialcolbox
+   \else
+     \setbox\@outputbox \vbox to\@colht {%
+\@texttop
+       \dimen@ \dp\@outputbox
+       \unvbox \@outputbox
+   \vskip -\dimen@
+       \@textbottom
+       }%
+   \fi
+   \global \maxdepth \@maxdepth
+}
+\def\titlenote{\@ifnextchar[\@xtitlenote{\stepcounter\@mpfn
+\global\advance\titlenotecount by 1
+\ifnum\titlenotecount=1
+    \raisebox{9pt}{$\ast$}
+\fi
+\ifnum\titlenotecount=2
+    \raisebox{9pt}{$\dagger$}
+\fi
+\ifnum\titlenotecount=3
+    \raisebox{9pt}{$\ddagger$}
+\fi
+\ifnum\titlenotecount=4
+\raisebox{9pt}{$\S$}
+\fi
+\ifnum\titlenotecount=5
+\raisebox{9pt}{$\P$}
+\fi
+         \@titlenotetext
+}}
+
+\long\def\@titlenotetext#1{\insert\footins{%
+\ifnum\titlenotecount=1\global\tntoks={#1}\fi
+\ifnum\titlenotecount=2\global\tntokstwo={#1}\fi
+\ifnum\titlenotecount=3\global\tntoksthree={#1}\fi
+\ifnum\titlenotecount=4\global\tntoksfour={#1}\fi
+\ifnum\titlenotecount=5\global\tntoksfive={#1}\fi
+    \reset@font\footnotesize
+    \interlinepenalty\interfootnotelinepenalty
+    \splittopskip\footnotesep
+    \splitmaxdepth \dp\strutbox \floatingpenalty \@MM
+    \hsize\columnwidth \@parboxrestore
+    \protected@edef\@currentlabel{%
+    }%
+    \color@begingroup
+   \color@endgroup}}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%
+\ps@plain
+\baselineskip=11pt
+\let\thepage\relax % For NO page numbers - GM Nov. 30th. 1999 and July 2000
+\def\setpagenumber#1{\global\setcounter{page}{#1}}
+%\pagenumbering{arabic}  % Arabic page numbers GM July 2000
+\twocolumn             % Double column.
+\flushbottom           % Even bottom -- alas, does not balance columns at end of document
+\pagestyle{plain}
+
+% Need Copyright Year and Copyright Data to be user definable (in .tex file).
+% Gerry Nov. 30th. 1999
+\newtoks\copyrtyr
+\newtoks\acmcopyr
+\newtoks\boilerplate
+\global\acmcopyr={X-XXXXX-XX-X/XX/XX}  % Default - 5/11/2001 *** Gerry
+\global\copyrtyr={20XX}                % Default - 3/3/2003 *** Gerry
+\def\CopyrightYear#1{\global\copyrtyr{#1}}
+\def\crdata#1{\global\acmcopyr{#1}}
+\def\permission#1{\global\boilerplate{#1}}
+%
+\global\boilerplate={Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page.  To copy otherwise, to republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee.}
+\newtoks\copyrightetc
+\global\copyrightetc{Copyright \the\copyrtyr\ ACM \the\acmcopyr\ ...\$15.00} % Gerry changed to 15 May 2012
+\toappear{\the\boilerplate\par
+{\confname{\the\conf}} \the\confinfo\par \the\copyrightetc.}
+%\DeclareFixedFont{\altcrnotice}{OT1}{tmr}{m}{n}{8}  % << patch needed for accenting e.g. Montreal - Gerry, May 2007
+%\DeclareFixedFont{\altconfname}{OT1}{tmr}{m}{it}{8}  % << patch needed for accenting in italicized confname - Gerry, May 2007
+%
+%{\altconfname{{\the\conf}}} {\altcrnotice\the\confinfo\par} \the\copyrightetc.}  % << Gerry, May 2007
+%
+% The following section (i.e. 3 .sty inclusions) was added in May 2007 so as to fix the problems that many
+% authors were having with accents. Sometimes accents would occur, but the letter-character would be of a different
+% font. Conversely the letter-character font would be correct but, e.g. a 'bar' would appear superimposed on the
+% character instead of, say, an unlaut/diaresis. Sometimes the letter-character would NOT appear at all.
+% Using [T1]{fontenc} outright was not an option as this caused 99% of the authors to 'produce' a Type-3 (bitmapped)
+% PDF file - useless for production. 
+%
+% For proper (font) accenting we NEED these packages to be part of the .cls file i.e. 'ae', 'aecompl' and 'aeguil' 
+% ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+%% This is file `ae.sty' 
+\def\fileversion{1.3}
+\def\filedate{2001/02/12}
+\NeedsTeXFormat{LaTeX2e}
+%\ProvidesPackage{ae}[\filedate\space\fileversion\space  % GM
+% Almost European Computer Modern]                       % GM - keeping the log file clean(er)
+\newif\if@ae@slides \@ae@slidesfalse
+\DeclareOption{slides}{\@ae@slidestrue}
+\ProcessOptions
+\fontfamily{aer}
+\RequirePackage[T1]{fontenc}
+\if@ae@slides
+    \renewcommand{\sfdefault}{laess}
+    \renewcommand{\rmdefault}{laess} % no roman
+    \renewcommand{\ttdefault}{laett}
+\else
+    \renewcommand{\sfdefault}{aess}
+    \renewcommand{\rmdefault}{aer}
+    \renewcommand{\ttdefault}{aett}
+\fi
+\endinput
+%% 
+%% End of file `ae.sty'.
+%
+%
+\def\fileversion{0.9}
+\def\filedate{1998/07/23}
+\NeedsTeXFormat{LaTeX2e}
+%\ProvidesPackage{aecompl}[\filedate\space\fileversion\space   % GM
+%T1 Complements for AE fonts (D. Roegel)]                      % GM -- keeping the log file clean(er)
+ 
+\def\@ae@compl#1{{\fontencoding{T1}\fontfamily{cmr}\selectfont\symbol{#1}}}
+\def\guillemotleft{\@ae@compl{19}}
+\def\guillemotright{\@ae@compl{20}}
+\def\guilsinglleft{\@ae@compl{14}}
+\def\guilsinglright{\@ae@compl{15}}
+\def\TH{\@ae@compl{222}}
+\def\NG{\@ae@compl{141}}
+\def\ng{\@ae@compl{173}}
+\def\th{\@ae@compl{254}}
+\def\DJ{\@ae@compl{208}}
+\def\dj{\@ae@compl{158}}
+\def\DH{\@ae@compl{208}}
+\def\dh{\@ae@compl{240}}
+\def\@perthousandzero{\@ae@compl{24}}
+\def\textperthousand{\%\@perthousandzero}
+\def\textpertenthousand{\%\@perthousandzero\@perthousandzero}
+\endinput
+%
+%
+%% This is file `aeguill.sty' 
+% This file gives french guillemets (and not guillemots!)
+% built with the Polish CMR fonts (default), WNCYR fonts, the LASY fonts 
+% or with the EC fonts. 
+% This is useful in conjunction with the ae package
+% (this package loads the ae package in case it has not been loaded)
+%  and with or without the french(le) package.
+%
+% In order to get the guillemets, it is necessary to either type
+% \guillemotleft and \guillemotright, or to use an 8 bit encoding
+% (such as ISO-Latin1) which selects these two commands, 
+% or, if you use the french package (but not the frenchle package), 
+% to type << or >>.
+%
+% By default, you get the Polish CMR guillemets; if this package is loaded
+% with the `cm' option, you get the LASY guillemets; with `ec,' you
+% get the EC guillemets, and with `cyr,' you get the cyrillic guillemets.
+%
+% In verbatim mode, you always get the EC/TT guillemets.
+%
+% The default option is interesting in conjunction with PDF,
+% because there is a Type 1 version of the Polish CMR fonts
+% and these guillemets are very close in shape to the EC guillemets.
+% There are no free Type 1 versions of the EC fonts.
+%
+% Support for Polish CMR guillemets was kindly provided by 
+% Rolf Niepraschk <niepraschk@ptb.de> in version 0.99 (2000/05/22).
+% Bernd Raichle provided extensive simplifications to the code
+% for version 1.00.
+%
+% This package is released under the LPPL.
+%
+% Changes:
+%   Date        version
+%   2001/04/12  1.01    the frenchle and french package are now distinguished.
+%
+\def\fileversion{1.01}
+\def\filedate{2001/04/12}
+\NeedsTeXFormat{LaTeX2e}
+%\ProvidesPackage{aeguill}[2001/04/12 1.01 %    % GM
+%AE fonts with french guillemets (D. Roegel)]   % GM - keeping the log file clean(er)
+%\RequirePackage{ae}  % GM May 2007 - already embedded here
+
+\newcommand{\@ae@switch}[4]{#4}
+\DeclareOption{ec}{\renewcommand\@ae@switch[4]{#1}}
+\DeclareOption{cm}{\renewcommand\@ae@switch[4]{#2}}
+\DeclareOption{cyr}{\renewcommand\@ae@switch[4]{#3}}
+\DeclareOption{pl}{\renewcommand\@ae@switch[4]{#4}}
+\ExecuteOptions{pl}
+\ProcessOptions
+
+%
+% Load necessary packages
+%
+\@ae@switch{% ec
+  % do nothing
+}{% cm
+  \RequirePackage{latexsym}%  GM - May 2007 - already 'mentioned as required' up above
+}{% cyr
+  \RequirePackage[OT2,T1]{fontenc}%
+}{% pl
+  \RequirePackage[OT4,T1]{fontenc}%
+}
+
+% The following command will be compared to \frenchname,
+% as defined in french.sty and frenchle.sty.
+\def\aeguillfrenchdefault{french}%
+
+\let\guill@verbatim@font\verbatim@font
+\def\verbatim@font{\guill@verbatim@font\ecguills{cmtt}%
+                   \let\guillemotleft\@oguills\let\guillemotright\@fguills}
+
+\begingroup \catcode`\<=13 \catcode`\>=13
+\def\x{\endgroup
+ \def\ae@lfguill{<<}%
+ \def\ae@rfguill{>>}%
+}\x
+
+\newcommand{\ecguills}[1]{%
+  \def\selectguillfont{\fontencoding{T1}\fontfamily{#1}\selectfont}%
+  \def\@oguills{{\selectguillfont\symbol{19}}}%
+  \def\@fguills{{\selectguillfont\symbol{20}}}%
+  } 
+
+\newcommand{\aeguills}{%
+  \ae@guills
+  % We redefine \guillemotleft and \guillemotright
+  % in order to catch them when they are used 
+  % with \DeclareInputText (in latin1.def for instance)
+  % We use \auxWARNINGi as a safe indicator that french.sty is used.
+  \gdef\guillemotleft{\ifx\auxWARNINGi\undefined
+                         \@oguills % neither french.sty nor frenchle.sty
+                      \else
+                         \ifx\aeguillfrenchdefault\frenchname
+                           \ae@lfguill  % french.sty
+                         \else
+                           \@oguills    % frenchle.sty
+                         \fi
+                      \fi}%
+  \gdef\guillemotright{\ifx\auxWARNINGi\undefined
+                         \@fguills % neither french.sty nor frenchle.sty
+                       \else
+                         \ifx\aeguillfrenchdefault\frenchname
+                           \ae@rfguill  % french.sty
+                         \else
+                           \@fguills    % frenchle.sty
+                         \fi
+                       \fi}%
+  }
+
+%
+% Depending on the class option
+% define the internal command \ae@guills
+\@ae@switch{% ec
+  \newcommand{\ae@guills}{%
+    \ecguills{cmr}}%
+}{% cm
+  \newcommand{\ae@guills}{%
+    \def\selectguillfont{\fontencoding{U}\fontfamily{lasy}%
+            \fontseries{m}\fontshape{n}\selectfont}%
+    \def\@oguills{\leavevmode\nobreak
+                \hbox{\selectguillfont (\kern-.20em(\kern.20em}\nobreak}%
+    \def\@fguills{\leavevmode\nobreak
+                \hbox{\selectguillfont \kern.20em)\kern-.2em)}%
+                \ifdim\fontdimen\@ne\font>\z@\/\fi}}%
+}{% cyr
+  \newcommand{\ae@guills}{%
+    \def\selectguillfont{\fontencoding{OT2}\fontfamily{wncyr}\selectfont}%
+    \def\@oguills{{\selectguillfont\symbol{60}}}%
+    \def\@fguills{{\selectguillfont\symbol{62}}}}
+}{% pl
+  \newcommand{\ae@guills}{%
+    \def\selectguillfont{\fontencoding{OT4}\fontfamily{cmr}\selectfont}%
+    \def\@oguills{{\selectguillfont\symbol{174}}}%
+    \def\@fguills{{\selectguillfont\symbol{175}}}}
+}
+
+
+\AtBeginDocument{%
+  \ifx\GOfrench\undefined
+    \aeguills
+  \else
+    \let\aeguill@GOfrench\GOfrench
+    \gdef\GOfrench{\aeguill@GOfrench \aeguills}%
+  \fi
+  }
+
+\endinput
+%
+
diff --git a/correctness-model/writeup/speccfg.tex b/correctness-model/writeup/speccfg.tex
new file mode 100644
index 0000000..661c778
--- /dev/null
+++ b/correctness-model/writeup/speccfg.tex
@@ -0,0 +1,17 @@
+\begin{figure}
+
+
+%\paragraph{Default settings}
+%\begin{grammar}
+
+%<statement> ::= <ident> `=' <expr> 
+%\alt `for' <ident> `=' <expr> `to' <expr> `do' <statement> 
+%\alt `{' <stat-list> `}' 
+%\alt <empty> 
+
+%<stat-list> ::= <statement> `;' <stat-list> | <statement> 
+
+%\end{grammar}
+
+\caption{\label{fig:algorithm}\TOOL algorithm}
+\end{figure}
diff --git a/correctness-model/writeup/specification.tex b/correctness-model/writeup/specification.tex
new file mode 100644
index 0000000..6fe0447
--- /dev/null
+++ b/correctness-model/writeup/specification.tex
@@ -0,0 +1,416 @@
+\mysection{Specification Language Design}\label{sec:specification}
+
+We begin by overviewing \TOOL's basic approach.  The \TOOL
+specification language specifies the correctness properties for
+concurrent data structures by establishing a correspondence with an
+equivalent sequential data structure, which requires: (1) defining the
+equivalent sequential data structure; (2) establishing an equivalent
+sequential history; (3) relating the behavior of the concurrent
+execution to the sequential history; and (4) specifying the
+synchronization properties between method invocations. The 
+specification language has the following key components:
+
+\mypara{\bf 1. Equivalent Sequential Data Structure:} This component defines a 
+sequential data structure against which the concurrent data structure
+will be checked.
+
+\mypara{\bf 2. Defining the Equivalent Sequential History:}
+For real-world data structures, generally there exist two types of API methods,
+\textit{primitive} API methods and \textit{aggregate} API methods. Take
+concurrent hashtables as an example, it provides primitive API methods
+such as \code{put} and \code{get} that implement the core functionality of the
+data structure, and it also has aggregate API methods such
+as \code{putAll} that calls primitive API methods internally. From our
+experience working with our benchmark set, it is generally possible to
+generate a sequential history of primitive API method invocations for
+real-world data structures as they generally serialize on a single memory
+location --- while it is possible to observe partially completed aggregate
+API method invocations.  Therefore, our specifications will focus on the
+correctness of primitive API methods.
+
+Borrowing from VYRD~\cite{vyrd} the concept of commit points, we allow
+developers to specify \textit{ordering points} --- the specific atomic
+operations between method invocation and response events that are used for
+ordering method calls.  Ordering points are a generalization of the commit
+points as they also use memory operations that do not commit the data structure
+operation to order method calls. Developers then specify ordering points to
+generate the equivalent sequential history.
+
+\mypara{\bf 3. Specifying Correct Behaviors:} Developers use
+the \TOOL specification to provide a set of \textit{side effects}
+and \textit{assertions} to describe the desired behavior of each API
+method.  Side effects capture how a method updates the equivalent
+sequential data structure.  Assertions include both preconditions and
+postconditions which specify what conditions each method must satisfy
+before and after the method call, respectively. The specification of
+the side effects and assertions may make use of the states of the
+equivalent sequential data structure, meaning that these components
+can access the internal variables and methods of the equivalent sequential data
+structure. Additionally, they can reference the values available at
+the method invocation and response, i.e., the parameter values and the
+return value.
+
+\mypara{\bf 4. Synchronization:} The synchronization  specification
+describes the desired happens before relations between API method
+invocations.  \TOOL specifications allow developers to specify the
+properties at the abstraction of methods.  This makes specifications
+cleaner, more understandable, and less error-prone because the
+properties do not rely on low-level implementation
+details. Moreover, \TOOL specifications allow developers to attach
+conditions to methods when specifying synchronization properties so
+that a method call might synchronize with another only under a
+specific condition.  For example, consider a spin lock with
+a \code{try\_lock()} method, we need to specify that only a
+successful \code{try\_lock()} method invocation must synchronize with the
+previous \code{unlock()} method invocation.
+
+Figure~\ref{fig:speccfg} presents the grammar for the \TOOL specification
+language.  The grammar defines three types of specification annotations: 
+\textit{structure annotations}, \textit{method annotations}, and
+\textit{ordering point annotations}.
+In the grammar, \textit{code} means legal C/C++ source code; and
+\textit{label} means a legal C/C++ variable name.
+Annotations are embedded in C/C++ comments.
+This format does not affect the semantics of the original
+program and allows for the same source to be used by both a standard C/C++
+compiler to generate production code and for the \TOOL specification compiler to
+extract the \TOOL specification from the comments.  We discuss these constructs in more detail throughout the remainder of this section.
+
+\begin{figure}[!tb]
+\vspace{-.2cm}
+{\scriptsize
+	\begin{eqnarray*}
+	\textit{\textbf{structureSpec}} & \rightarrow & \code{"@Structure\_Define"}\\ 
+ && \textit{structureDefine} \ \ \ (\textit{happensBefore})?\\
+	\textit{structureDefine} & \rightarrow & 
+(\code{"@DeclareStruct:"} \ 
+	\textit{code})\text{*}\\
+	&& \code{"@DeclareVar:"} \ \textit{code}\\
+	&& \code{"@InitVar:"} \ \textit{code}\\
+	&& (\code{"@DefineFunc:"} \ \textit{code})\text{*}\\
+	\textit{happensBefore} & \rightarrow & \code{"@Happens\_Before:"} \
+	(\textit{invocation} \ \code{"->"} \
+	\textit{invocation})\textsuperscript{+}\\
+	\textit{invocation} & \rightarrow & \textit{label} \ (\ \  \code{"("} \
+	\textit{label} \code{")"} \ \ )?\\
+	\textit{\textbf{methodSpec}} & \rightarrow & \code{"@Method:"} \ \textit{label}\\
+	&& \code{"@Ordering\_Point\_Set:"} \ \textit{label} \ (\code{"|"} \
+	\textit{label})\text{*}\\
+	&& (\code{"@HB\_Condition:"} \ \textit{label} \ \code{"::"} \ \textit{code})\text{*}\\
+	&& (\code{"@ID:"} \ \textit{code})?\\
+	&& (\code{"@PreCondition:"} \ \textit{code})?\\
+	&& (\code{"@SideEffect:"} \ \textit{code})?\\
+	&& (\code{"@PostCondition:"} \ \textit{code})?\\
+	\textit{\textbf{potentialOP}} & \rightarrow & \code{"@Potential\_Ordering\_Point:"} \ \textit{code}\\
+	&& \code{"@Label:"} \ \ \textit{label}\\
+	\textit{\textbf{opCheck}} & \rightarrow & \code{"@Ordering\_Point\_Check:"} \ \textit{code}\\
+	&& \code{"@Potential\_Ordering\_Point\_Label:"} \ \textit{label}\\
+	&& \code{"@Label:"} \ \ \textit{label}\\
+	\textit{\textbf{opLabelCheck}} & \rightarrow & \code{"@Ordering\_Point\_Label\_Check:"} \ \textit{code}\\
+	&& \code{"@Label:"} \ \ \textit{label}\\
+	\textit{\textbf{opClear}} & \rightarrow & \code{"@Ordering\_Point\_Clear:"} \ \textit{code}\\
+	&& \code{"@Label:"} \ \ \textit{label}\\
+	\textit{code} & \rightarrow & \code{<Legal C/C++ code>}
+	\end{eqnarray*}}
+\vspace{-.7cm}
+\caption{\label{fig:speccfg}Grammar for \TOOL specification language}
+\vspace{-.3cm}
+\end{figure}
+
+
+\mysubsection{Example}
+
+To make the \TOOL specification language more concrete,
+Figure~\ref{fig:rcuSpecExample} presents the annotated RCU example. We
+use ordering points to order the method invocations to construct
+the equivalent sequential history for the concurrent execution.  We
+first specify the ordering points for the \code{read}
+and \code{update} methods to define the equivalent sequential
+history. For the
+\code{read} method, the load access of the \code{node} field in
+Line~\ref{line:rcuSpecReadLoad} is the only operation that can be an ordering
+point.  For the \code{update} method, there exists more than one atomic
+operation. However, they only serve as an ordering point when it successfully uses the CAS operation
+to update the \code{node} field. Thus, we specify in
+Line~\ref{line:rcuSpecUpdateOPBegin} that the CAS operation should be the
+ordering point for the update operation when \code{succ} is \code{true}. We
+associate the methods with the two ordering points in 
+Lines~\ref{line:rcuSpecReadInterfaceOPSet} and
+\ref{line:rcuSpecUpdateInterfaceOPSet}.
+
+Next, we specify the equivalent sequential data structure for this RCU implementation.
+Line~\ref{line:declVar} declares two integer fields \code{\_data} and
+\code{\_version} as the internal states of the equivalent sequential RCU, and
+Line~\ref{line:initVar} initializes both variables to \code{0}.
+
+We then specify the correct behaviors of the equivalent sequential
+history by defining the side effects and assertions for
+the \code{read} and \code{update} methods.  Side effects specify how
+to perform the corresponding operation on the equivalent sequential
+data structure.  For example,
+Line~\ref{line:rcuSpecUpdateInterfaceSideEffect} specifies the side
+effects of the \code{update} to the sequential states.
+Assertions specify properties that should be true of the concurrent data structure execution.
+For example, Line~\ref{line:rcuSpecReadInterfacePostCondition}
+specifies that the \code{read} method should satisfy the postcondition that the
+returned \code{data} and \code{version} fields should have consistent values
+as the internal states of the equivalent sequential data structure.
+
+Our implementation of the RCU data structure is designed to establish
+synchronization between the \code{update} method invocation and the later
+\code{read} or \code{update} method invocation.  This is important, for
+example, if a client thread were to update an array index and use the RCU data
+structure to communicate the updated index to a second client thread.  Without
+synchronization, the second client thread may not see the update to the array
+index. Besides, the synchronization between two \code{update} calls ensures that
+a later \code{read} will see the most updated values.
+In order to specify the synchronization, we associate \code{read} and \code{update} methods with method call identifiers
+(Lines~\ref{line:rcuSpecReadInterfaceID} and~\ref{line:rcuSpecUpdateInterfaceID}), which for this example is the value of the
+\code{this} pointer.
+Together these annotations ensure that every
+API method call on the same RCU object will have the same method call ID. 
+Line~\ref{line:rcuSpecHB} then specifies
+the synchronization properties for the RCU --- any \code{update} method invocation
+should synchronize with all later \code{read} and \code{update} method invocations that have the
+same method call identifier as that \code{update} method. This guarantees that
+\code{update} calls should synchronize with the \code{read} and \code{update}
+calls of the same RCU object.
+
+
+\begin{figure}[h!]
+\vspace{-.2cm}
+\begin{lstlisting}[xleftmargin=6.0ex]
+class RCU {
+	/** @Structure_Define:
+		@DeclareVar:/*@ \label{line:declVar} @*/ int _data, _version;
+		@InitVar:/*@ \label{line:initVar} @*/ _data = 0; _version = 0;
+	@Happens_Before: Update->Read  Update->Update*//*@ \label{line:rcuSpecHB} @*/
+	atomic<Node*> node;
+	public:
+	RCU() {
+		Node *n = new Node;
+		n->data = 0;
+		n->version = 0;
+		atomic_init(&node, n);	
+	}
+	/** @Interface: Read/*@ \label{line:rcuSpecReadInterfaceLabel} @*/
+	@Ordering_Point_Set: Read_Point/*@ \label{line:rcuSpecReadInterfaceOPSet} @*/
+	@ID: this/*@ \label{line:rcuSpecReadInterfaceID} @*/
+	@PostCondition:/*@ \label{line:rcuSpecReadInterfacePostCondition} @*/
+		_data == *data && _version == *version *//*@ \label{line:rcuSpecReadInterfaceEnd} @*/
+	void read(int *data, int *version) {
+		Node *res = node.load(mo_acquire);/*@ \label{line:rcuSpecReadLoad} @*/
+		/** @Ordering_Point_Label_Check: true/*@ \label{line:rcuSpecReadOPBegin} @*/
+		@Label: Read_Point */
+		*data = res->data;
+		*version = res->version;
+	}
+	/** @Interface: Update 
+	@Ordering_Point_Set: Update_Point/*@ \label{line:rcuSpecUpdateInterfaceOPSet} @*/
+	@ID: this/*@ \label{line:rcuSpecUpdateInterfaceID} @*/
+	@SideEffect: _data = data; _version++; *//*@ \label{line:rcuSpecUpdateInterfaceSideEffect} @*/
+	void update(int data) {
+		bool succ = false;
+		Node *newNode = new Node;/*@ \label{line:rcuSpecUpdateAlloc} @*/
+		Node *prev = node.load(mo_acquire);/*@ \label{line:rcuSpecUpdateLoad} @*/
+		do {
+			newNode->data = data;
+			newNode->version = prev->version + 1;
+			succ = node.compare_exchange_strong(prev,/*@\label{line:rcuSpecUpdateCAS} @*/
+				newNode, mo_acq_rel, mo_acquire);
+			/** @Ordering_Point_Label_Check: succ/*@ \label{line:rcuSpecUpdateOPBegin} @*/
+			@Label: Update_Point */
+		} while (!succ);
+	}
+};
+
+\end{lstlisting}
+\vspace{-.2cm}
+\caption{\label{fig:rcuSpecExample}Annotated RCU specification example}
+\vspace{-.3cm}
+\end{figure}
+
+\subsection{Defining the Equivalent Sequential History}
+
+While defining the equivalent sequential history for concurrent executions is well studied in the context of the
+SC memory model, optimizations that developers typically use in the
+context of weaker memory models create the following new challenges when
+we generate the equivalent sequential history using ordering points.
+
+\squishlist
+\item {\bf Absence of a Meaningful Trace or Total Order:}
+For the SC memory model, an execution can be represented by a simple
+interleaving of all the memory operations, where each load operation reads from
+the last store operation to the same location in the trace.  However, under a
+relaxed memory model like C/C++11, the interleaving does not uniquely define an
+execution because a given load operation can potentially read from many
+different store operations in the interleaving. Therefore, we have to rely on
+the intrinsic relations between ordering points such as \textit{reads from} and
+\textit{modification order} to order method calls.
+
+\item {\bf Lack of Program Order Preserving Sequential History:}
+Moreover, as discussed in Section~\ref{sec:exampleMotivation}, in
+general it is not possible to arrange an execution in any totally
+ordered sequential history that preserves program order.
+
+A key insight is that many concurrent data structures' API methods
+have a commit point, which is a single memory operation that makes the
+update visible to other threads and that also serves as an ordering
+point.  When two data structure operations have a dependence, it is
+often the case that their respective commit points are both
+conflicting accesses to the same memory location.  In this case, the
+modification order provided by C/C++ is sufficient to order these
+operations since modification order is guaranteed to be consistent
+with the happens before relation (and therefore also the sequenced
+before relation).
+
+For cases where the method calls are independent, such as
+a \code{put(X, 1)} followed by a
+\code{get(Y)} in a hashtable where \code{X} and \code{Y} are different keys,
+the lack of an ordering is not a problem since those methods commute.
+\squishend
+
+\mypara{\bf Ordering Points Annotations:} In many cases, it is not
+possible to determine whether a given atomic operation is an ordering 
+point until later in the execution. For example, 
+some internal methods may be called by multiple API methods. In this
+case, the same atomic operation can be identified as a potential
+ordering point for multiple API methods, and each API method later has
+a checking annotation to verify whether it was a real ordering
+point.  Therefore, the \TOOL specification separates the definition of ordering
+points as follows:
+\squishcount
+\item {\code{Potential\_Ordering\_Point} annotation:} The labeling of ordering
+points that identifies the location of a potential ordering point.
+\item {\code{Ordering\_Point\_Check} annotation:} The checking of ordering
+points that checks at a later point whether a potential ordering point was
+really an ordering point.
+\countend
+
+These two constructs together identify ordering points.  For
+example, assume that $A$ is an atomic operation that is potentially an
+ordering point under some specific 
+condition.  The developer would then write a
+\code{Potential\_Ordering\_Point} annotation with a condition
+\code{ConditionA} and a label
+\code{LabelA}, and then use the label \code{LabelA} in an
+\code{Ordering\_Point\_Check} annotation at a later point.
+
+The \code{Ordering\_Point\_Label\_Check} annotation combines
+the \code{Potential\_Ordering\_Point} and the
+\code{Ordering\_Point\_Check} annotations, and makes
+specifications simpler for the use case where the ordering point is known immediately.
+For example, in Line~\ref{line:rcuSpecReadOPBegin} of
+Figure~\ref{fig:rcuSpecExample}, we use the \code{Ordering\_Point\_Label\_Check} annotation to
+identify the ordering point for \code{read} because we know the load operation
+in Line~\ref{line:rcuSpecReadLoad} is an ordering point at the time it is
+executed.
+
+Some data structure operations may require multiple ordering points.
+For example, consider a transaction implementation that first attempts
+to lock all of the involved objects (dropping the locks and retrying
+if it fails to acquire a lock), performs the updates, and then releases
+the locks.  To order such transactions in a relaxed memory model, we must consider all of the
+locks it acquires rather than just the last lock.  Thus, we allow a
+method invocation to have more than one ordering point, and the
+additional ordering points serve to order the operation with respect to
+multiple different memory locations.  For the transaction example, it
+may be necessary to retry the acquisition of locks.  To support this
+scenario, the \code{Ordering\_Point\_Clear} annotation removes all
+previous ordering points when it satisfies a specific condition.
+
+Moreover, when an API method calls another API method, they can share ordering points.  In
+that case, \TOOL requires that at that ordering point, the concurrent data
+structure should satisfy the precondition and postcondition of both API methods.
+
+\subsection{Checking the IO Behavior of Methods}
+
+With the specified ordering points, \TOOL is able to generate the equivalent
+sequential history. Developers then need to define the equivalent sequential
+data structure. For example, in Line~\ref{line:declVar} and~\ref{line:initVar} of the annotated RCU example, we use the
+\code{Structure\_define} annotation to define the equivalent sequential RCU
+by specifying the internal states as two integers, \code{\_version} and \code{\_data}. In the
+\code{Structure\_define} annotation, developers can also specify definitions for customized
+structs and methods for convenience. We design these annotations in such a way
+that developers can  
+write specifications in C/C++ code such that they do not have to learn a new
+specification language.
+
+After defining the internal states and methods of the
+equivalent data structure, developers use the \code{SideEffect} annotation to
+define the corresponding sequential API methods, which should contain the action
+to be performed on the equivalent sequential data structure. For example, in
+Line~\ref{line:rcuSpecUpdateInterfaceSideEffect} of the annotated RCU example,
+we use \code{SideEffect} to specify that when we execute the \code{update}
+method on the equivalent sequential RCU, we should update the
+internal states of \code{\_version} and \code{\_data} accordingly. When
+the \code{SideEffect} annotation is omitted for a specific API method, it means
+that no side effects will happen on the sequential data structure when that
+method is called. Take the annotated RCU as an example, the \code{read} has no
+side effects on the equivalent sequential RCU.
+
+With the well-defined equivalent sequential data structure, developers then relate
+the generated equivalent sequential history to the equivalent sequential data
+structure. In \TOOL, we allow developers to accomplish this by using the
+\code{PreCondition} and \code{PostCondition} annotations to specify the
+conditions to be checked before and after the API method appears to happen.
+For example, Line~\ref{line:rcuSpecReadInterfaceEnd} in the
+annotated RCU example means that when \code{read} appears to happen, it should
+return the same value as the current internal variables of the equivalent
+sequential RCU.
+Note that these two annotations contain legitimate C/C++
+expressions that only access the method call parameters, return value and the
+internal states of the equivalent sequential data structure.
+
+\subsection{Checking Synchronization}
+
+Under a relaxed memory model, compilers and processors can reorder
+memory operations and thus the execution can exhibit counter-intuitive
+behaviors. The C/C++11 memory model provides developers with memory ordering that establish synchronization, e.g., \code{acquire}, \code{release}, \code{seq\_cst}.  Synchronization 
+serves to control which reorderings are allowed --- however,
+restricting reorderings comes at a runtime cost so developers must
+balance complexity against runtime overhead.  Checking that data
+structures establish proper synchronization is important to ensure
+that the data structures can be effectively composed with client code.
+
+We generalize the notion of happens before to methods as follows.
+Method call $c_1$ happens-before method call $c_2$ if the invocation
+event of $c_1$ happens before the response event of $c_2$.  Note that
+by this definition two method calls can both happen before each other
+--- an example of this is the \code{barrier} synchronization
+construct.  With this notion, for example, for a correctly synchronized queue, we want
+an enqueue to happen before the corresponding dequeue, which avoids
+the synchronization problems discussed earlier in
+Section~\ref{sec:introNewChallenges}.
+
+In order to flexibly express the synchronization between methods, we associate
+API methods with method call identifiers (or IDs) and happens-before conditional guard
+expressions. The method
+call ID is a C/C++ expression that computes a unique ID for the call, and if it
+is omitted, a default value is used. For example, in our RCU example in
+Figure~\ref{fig:rcuSpecExample}, both the \code{update} and \code{read} methods
+have the \code{this} pointer of the corresponding RCU object.
+The \code{HB\_Condition} component
+associates one happens-before conditional guard expression with a unique label.
+For one method, multiple conditional guard expressions are allowed to be
+defined, and the conditional guard expression can only access the method
+instance's argument values and return value. 
+
+After specifying the
+method call IDs and the \code{HB\_Condition} labels, developers
+can specify the synchronization as ``\code{\small{method1(HB\_condition1)}}
+\code{\small{->}}
+\code{\small{method2(HB\_condition2)}}''. When the \code{HB\_condition} is omitted, it
+defaults to \code{true}. The semantics of this expression is that all
+instances of calls to \code{method1} that satisfy the conditional guard
+expression \code{HB\_condition1} should happen-before all later instances (as determined by ordering points) of
+calls to \code{method2} that satisfy the conditional guard expression
+\code{HB\_condition2} such that both instances shared the same ID.
+The ID and happens-before conditional guard expression are important because they
+allow developers to impose synchronization only between specific method
+invocations under specific conditions. For example, in
+Figure~\ref{fig:rcuSpecExample}, Line~\ref{line:rcuSpecHB} specifies two
+synchronization rules, which together mean that the
+\code{update} should only establish synchronization with later \code{read} and
+\code{update} from
+the same RCU object under all circumstances.
diff --git a/correctness-model/writeup/spell.lst b/correctness-model/writeup/spell.lst
new file mode 100644
index 0000000..cc7a0be
--- /dev/null
+++ b/correctness-model/writeup/spell.lst
@@ -0,0 +1,99 @@
+personal_ws-1.1 en 98 
+runtime
+API
+dequeuing
+opCheck
+overviewing
+atomics
+PSO
+thrd
+IRIW
+optimizations
+atomicity
+potentialOP
+interleavings
+updaters
+Paraglider
+hb
+structureSpec
+lookups
+Lev
+enqueue
+resizing
+linearizability
+lrrr
+Amit
+cnt
+MCS
+InitVar
+bool
+multi
+spinlock
+trylock
+Mellor
+decrement
+Valeadis
+cst
+happensBefore
+SideEffect
+putAll
+dequeues
+DeclareStruct
+MPMC
+deque
+DefineFunc
+methodSpec
+STL
+lockfree
+opLabelCheck
+rf
+structureDefine
+SPSC
+sb
+sc
+hashtables
+Cppmem
+prev
+dequeue
+reorderings
+VYRD
+RW
+init
+TSO
+ConditionA
+Crummey
+sw
+opClear
+ccccc
+Valeiadis
+Relacy
+Concurrit
+postconditions
+iteratively
+NDetermin
+LabelA
+resize
+succ
+TVLA
+acq
+nondeterministic
+intra
+linearizable
+PreCondition
+DeclareVar
+hashtable
+boolean
+postcondition
+PostCondition
+CheckFence
+enqueues
+structs
+scalability
+struct
+opo
+newNode
+linearization
+CAS
+RCU
+Colvin
+dependences
diff --git a/correctness-model/writeup/technical.tex b/correctness-model/writeup/technical.tex
new file mode 100644
index 0000000..674e37c
--- /dev/null
+++ b/correctness-model/writeup/technical.tex
@@ -0,0 +1 @@
+\section{Technical}\label{sec:technical}
-- 
2.34.1