diff --git a/doc/pub/week47/html/._week47-bs000.html b/doc/pub/week47/html/._week47-bs000.html index 1ea0bfbb9..fd20117c5 100644 --- a/doc/pub/week47/html/._week47-bs000.html +++ b/doc/pub/week47/html/._week47-bs000.html @@ -157,7 +157,7 @@ MathJax.Hub.Config({
-
diff --git a/doc/pub/week47/html/._week47-bs009.html b/doc/pub/week47/html/._week47-bs009.html index 3b145db69..45f5293a8 100644 --- a/doc/pub/week47/html/._week47-bs009.html +++ b/doc/pub/week47/html/._week47-bs009.html @@ -148,7 +148,7 @@ that could be chosen. Our objective is to find a plane that has the maximum margin, i.e the maximum distance between data points of both classes. Maximizing the margin distance provides some reinforcement so that future data points can be classified with -more confidence. +more confidence. Figure 12.1 of Hastie et al is a good illustration.
What a linear classifier attempts to accomplish is to split the diff --git a/doc/pub/week47/html/._week47-bs010.html b/doc/pub/week47/html/._week47-bs010.html index c07b84731..4c6dd3b40 100644 --- a/doc/pub/week47/html/._week47-bs010.html +++ b/doc/pub/week47/html/._week47-bs010.html @@ -143,13 +143,13 @@ MathJax.Hub.Config({
Let us define the function $$ -f(x) = \boldsymbol{w}^T\boldsymbol{x}+b = 0, +f(x) = \boldsymbol{x}^T\boldsymbol{w}+b = 0, $$ -as the function that determines the line \( L \) that separates two classes (our two features), see the figure here. +as the function that determines the line \( L \) that separates two classes (our two features), see Figure 12.1 of Hastie et al.
-Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{w}^T(\boldsymbol{x}_1-\boldsymbol{x}_2)=0 \). +Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{x}^T(\boldsymbol{w}_1-\boldsymbol{x}_2)=0 \).
The signed distance \( \delta \) from any point defined by a vector \( \boldsymbol{x} \) and a point \( \boldsymbol{x}_0 \) on the line \( L \) is then diff --git a/doc/pub/week47/html/._week47-bs011.html b/doc/pub/week47/html/._week47-bs011.html index a4e45d1da..b164b9bc4 100644 --- a/doc/pub/week47/html/._week47-bs011.html +++ b/doc/pub/week47/html/._week47-bs011.html @@ -146,7 +146,7 @@ do is to define a cost function which now contains the set of all misclassified points \( M \) and attempt to minimize this function $$ -C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b). +C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b). $$
diff --git a/doc/pub/week47/html/._week47-bs014.html b/doc/pub/week47/html/._week47-bs014.html index ef8537a2c..74c6989a3 100644 --- a/doc/pub/week47/html/._week47-bs014.html +++ b/doc/pub/week47/html/._week47-bs014.html @@ -149,7 +149,7 @@ Thus, we wish to find a margin \( M \) with \( \boldsymbol{w} \) normalized to \( \vert\vert \boldsymbol{w}\vert\vert =1 \) subject to the condition $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. +y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. $$ All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line. @@ -157,12 +157,12 @@ All points are thus at a signed distance from the decision boundary defined by t
We seek thus the largest value \( M \) defined by $$ -\frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, +\frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, $$ or just $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i. +y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i. $$ If we scale the equation so that \( \vert \vert \boldsymbol{w}\vert\vert = 1/M \), we have to find the minimum of @@ -172,10 +172,10 @@ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. $$
-We have thus defined our margin as the invers of the norm of +We have thus defined our margin as the inverse of the norm of \( \boldsymbol{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves -about Lagrangian multipliers. +about Lagrangian multipliers and optimzation problems.
diff --git a/doc/pub/week47/html/._week47-bs017.html b/doc/pub/week47/html/._week47-bs017.html index e728d9ff1..363424446 100644 --- a/doc/pub/week47/html/._week47-bs017.html +++ b/doc/pub/week47/html/._week47-bs017.html @@ -165,17 +165,20 @@ $$ subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition $$ -\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -1\right] \hspace{0.1cm}\forall i. +\lambda_i\left[y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) -1\right] \hspace{0.1cm}\forall i. $$
+The support vectors (the points that define the margin \( M \)) are the quantities we keep in order to make predictions. +
diff --git a/doc/pub/week47/html/._week47-bs019.html b/doc/pub/week47/html/._week47-bs019.html index a8facbd9e..9fec2b059 100644 --- a/doc/pub/week47/html/._week47-bs019.html +++ b/doc/pub/week47/html/._week47-bs019.html @@ -149,12 +149,12 @@ $$ With our vector \( \boldsymbol{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, +y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b)=1, $$ resulting in $$ -b = \frac{1}{y_i}-\boldsymbol{w}^T\boldsymbol{x}_i, +b = \frac{1}{y_i}-\boldsymbol{x}_1^T\boldsymbol{w}, $$ or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have @@ -164,7 +164,7 @@ $$ With our hyperplane coefficients we can use our classifier to assign any observation by simply using $$ -y_i = \mathrm{sign}(\boldsymbol{w}^T\boldsymbol{x}_i+b). +y_i = \mathrm{sign}(\boldsymbol{x}_i^T\boldsymbol{w}+b). $$ Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier. diff --git a/doc/pub/week47/html/._week47-bs020.html b/doc/pub/week47/html/._week47-bs020.html index 60acf41e1..38363deea 100644 --- a/doc/pub/week47/html/._week47-bs020.html +++ b/doc/pub/week47/html/._week47-bs020.html @@ -144,8 +144,11 @@ MathJax.Hub.Config({ Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined.
-Suppose now that classes overlap in feature space, as shown in the -figure here. One way to deal with this problem before we define the +Suppose now that the two classes overlap in feature space, as shown in Figure 12.1 of +Hastie et al. + +
+One way to deal with this problem before we define the so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin. @@ -153,17 +156,17 @@ that we allow some points to be on the wrong side of the margin. We introduce thus the so-called slack variables \( \boldsymbol{\xi} =[\xi_1,x_2,\dots,x_n] \) and modify our previous equation $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, +y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b)=1, $$ to $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i, +y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b)=1-\xi_i, $$ with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction -\( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), +\( y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), we bound the total amount by which predictions fall on the wrong side of their margins.
diff --git a/doc/pub/week47/html/._week47-bs021.html b/doc/pub/week47/html/._week47-bs021.html index d8a08a674..f10afa327 100644 --- a/doc/pub/week47/html/._week47-bs021.html +++ b/doc/pub/week47/html/._week47-bs021.html @@ -148,7 +148,7 @@ $$ subject to $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, +y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b)=1-\xi_i \hspace{0.1cm}\forall i, $$ with the requirement \( \xi_i\geq 0 \). @@ -177,7 +177,7 @@ $$ but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads $$ -\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, +\lambda_i\left[y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, $$ $$ @@ -186,7 +186,7 @@ $$ and $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. +y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. $$ diff --git a/doc/pub/week47/html/week47-bs.html b/doc/pub/week47/html/week47-bs.html index 1ea0bfbb9..fd20117c5 100644 --- a/doc/pub/week47/html/week47-bs.html +++ b/doc/pub/week47/html/week47-bs.html @@ -157,7 +157,7 @@ MathJax.Hub.Config({
-
diff --git a/doc/pub/week47/html/week47-reveal.html b/doc/pub/week47/html/week47-reveal.html index bf6759e92..3268afb24 100644 --- a/doc/pub/week47/html/week47-reveal.html +++ b/doc/pub/week47/html/week47-reveal.html @@ -148,7 +148,7 @@ MathJax.Hub.Config({
-
@@ -428,7 +428,7 @@ that could be chosen. Our objective is to find a plane that has the maximum margin, i.e the maximum distance between data points of both classes. Maximizing the margin distance provides some reinforcement so that future data points can be classified with -more confidence. +more confidence. Figure 12.1 of Hastie et al is a good illustration.
What a linear classifier attempts to accomplish is to split the @@ -451,14 +451,14 @@ for our data sample. Let us define the function
$$
-f(x) = \boldsymbol{w}^T\boldsymbol{x}+b = 0,
+f(x) = \boldsymbol{x}^T\boldsymbol{w}+b = 0,
$$
-as the function that determines the line \( L \) that separates two classes (our two features), see the figure here.
+as the function that determines the line \( L \) that separates two classes (our two features), see Figure 12.1 of Hastie et al.
-Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{w}^T(\boldsymbol{x}_1-\boldsymbol{x}_2)=0 \). +Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{x}^T(\boldsymbol{w}_1-\boldsymbol{x}_2)=0 \).
The signed distance \( \delta \) from any point defined by a vector \( \boldsymbol{x} \) and a point \( \boldsymbol{x}_0 \) on the line \( L \) is then @@ -480,7 +480,7 @@ misclassified points \( M \) and attempt to minimize this function
$$
-C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b).
+C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b).
$$
@@ -560,7 +560,7 @@ Thus, we wish to find a margin \( M \) with \( \boldsymbol{w} \) normalized to
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p.
+y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p.
$$
@@ -570,14 +570,14 @@ All points are thus at a signed distance from the decision boundary defined by t
We seek thus the largest value \( M \) defined by
$$
-\frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n,
+\frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n,
$$
or just
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i.
+y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i.
$$
@@ -590,10 +590,10 @@ $$
-We have thus defined our margin as the invers of the norm of +We have thus defined our margin as the inverse of the norm of \( \boldsymbol{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves -about Lagrangian multipliers. +about Lagrangian multipliers and optimzation problems. @@ -751,18 +751,21 @@ subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \). We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition
$$
-\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -1\right] \hspace{0.1cm}\forall i.
+\lambda_i\left[y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) -1\right] \hspace{0.1cm}\forall i.
$$
When \( \lambda_i > 0 \), the vectors \( \boldsymbol{x}_i \) are called support vectors. They are the vectors closest to the line (or hyperplane) and define the margin \( M \). + +
+The support vectors (the points that define the margin \( M \)) are the quantities we keep in order to make predictions. @@ -809,14 +812,14 @@ $$ With our vector \( \boldsymbol{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1,
+y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b)=1,
$$
resulting in
$$
-b = \frac{1}{y_i}-\boldsymbol{w}^T\boldsymbol{x}_i,
+b = \frac{1}{y_i}-\boldsymbol{x}_1^T\boldsymbol{w},
$$
@@ -830,7 +833,7 @@ $$
With our hyperplane coefficients we can use our classifier to assign any observation by simply using
$$
-y_i = \mathrm{sign}(\boldsymbol{w}^T\boldsymbol{x}_i+b).
+y_i = \mathrm{sign}(\boldsymbol{x}_i^T\boldsymbol{w}+b).
$$
@@ -845,8 +848,11 @@ Below we discuss how to find the optimal values of \( \lambda_i \). Before we pr
Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined.
-Suppose now that classes overlap in feature space, as shown in the -figure here. One way to deal with this problem before we define the +Suppose now that the two classes overlap in feature space, as shown in Figure 12.1 of +Hastie et al. + +
+One way to deal with this problem before we define the so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin. @@ -855,20 +861,20 @@ We introduce thus the so-called slack variables \( \boldsymbol{\xi} =[\xi modify our previous equation
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1,
+y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b)=1,
$$
to
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i,
+y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b)=1-\xi_i,
$$
with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \).
The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction
-\( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \),
+\( y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \),
we bound the total amount by which predictions fall on the wrong side of their margins.
@@ -891,7 +897,7 @@ $$ subject to
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i,
+y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b)=1-\xi_i \hspace{0.1cm}\forall i,
$$
@@ -930,7 +936,7 @@ but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=
We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads
$$
-\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i,
+\lambda_i\left[y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i,
$$
@@ -943,7 +949,7 @@ $$
and
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i.
+y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i.
$$
diff --git a/doc/pub/week47/html/week47-solarized.html b/doc/pub/week47/html/week47-solarized.html
index 8c41b4296..c2c0ee733 100644
--- a/doc/pub/week47/html/week47-solarized.html
+++ b/doc/pub/week47/html/week47-solarized.html
@@ -100,7 +100,7 @@ MathJax.Hub.Config({
-
@@ -357,7 +357,7 @@ that could be chosen. Our objective is to find a
plane that has the maximum margin, i.e the maximum distance between
data points of both classes. Maximizing the margin distance provides
some reinforcement so that future data points can be classified with
-more confidence.
+more confidence. Figure 12.1 of Hastie et al is a good illustration.
What a linear classifier attempts to accomplish is to split the @@ -379,13 +379,13 @@ for our data sample.
Let us define the function $$ -f(x) = \boldsymbol{w}^T\boldsymbol{x}+b = 0, +f(x) = \boldsymbol{x}^T\boldsymbol{w}+b = 0, $$ -as the function that determines the line \( L \) that separates two classes (our two features), see the figure here. +as the function that determines the line \( L \) that separates two classes (our two features), see Figure 12.1 of Hastie et al.
-Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{w}^T(\boldsymbol{x}_1-\boldsymbol{x}_2)=0 \). +Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{x}^T(\boldsymbol{w}_1-\boldsymbol{x}_2)=0 \).
The signed distance \( \delta \) from any point defined by a vector \( \boldsymbol{x} \) and a point \( \boldsymbol{x}_0 \) on the line \( L \) is then @@ -404,7 +404,7 @@ do is to define a cost function which now contains the set of all misclassified points \( M \) and attempt to minimize this function $$ -C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b). +C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b). $$
@@ -474,7 +474,7 @@ Thus, we wish to find a margin \( M \) with \( \boldsymbol{w} \) normalized to \( \vert\vert \boldsymbol{w}\vert\vert =1 \) subject to the condition $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. +y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. $$ All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line. @@ -482,12 +482,12 @@ All points are thus at a signed distance from the decision boundary defined by t
We seek thus the largest value \( M \) defined by $$ -\frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, +\frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, $$ or just $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i. +y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i. $$ If we scale the equation so that \( \vert \vert \boldsymbol{w}\vert\vert = 1/M \), we have to find the minimum of @@ -497,10 +497,10 @@ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. $$
-We have thus defined our margin as the invers of the norm of +We have thus defined our margin as the inverse of the norm of \( \boldsymbol{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves -about Lagrangian multipliers. +about Lagrangian multipliers and optimzation problems.
@@ -625,17 +625,20 @@ $$
subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \).
We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition
$$
-\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -1\right] \hspace{0.1cm}\forall i.
+\lambda_i\left[y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) -1\right] \hspace{0.1cm}\forall i.
$$
+The support vectors (the points that define the margin \( M \)) are the quantities we keep in order to make predictions. +
@@ -674,12 +677,12 @@ $$
With our vector \( \boldsymbol{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1,
+y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b)=1,
$$
resulting in
$$
-b = \frac{1}{y_i}-\boldsymbol{w}^T\boldsymbol{x}_i,
+b = \frac{1}{y_i}-\boldsymbol{x}_1^T\boldsymbol{w},
$$
or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have
@@ -689,7 +692,7 @@ $$
With our hyperplane coefficients we can use our classifier to assign any observation by simply using
$$
-y_i = \mathrm{sign}(\boldsymbol{w}^T\boldsymbol{x}_i+b).
+y_i = \mathrm{sign}(\boldsymbol{x}_i^T\boldsymbol{w}+b).
$$
Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier.
@@ -703,8 +706,11 @@ Below we discuss how to find the optimal values of \( \lambda_i \). Before we pr
Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined.
-Suppose now that classes overlap in feature space, as shown in the -figure here. One way to deal with this problem before we define the +Suppose now that the two classes overlap in feature space, as shown in Figure 12.1 of +Hastie et al. + +
+One way to deal with this problem before we define the so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin. @@ -712,17 +718,17 @@ that we allow some points to be on the wrong side of the margin. We introduce thus the so-called slack variables \( \boldsymbol{\xi} =[\xi_1,x_2,\dots,x_n] \) and modify our previous equation $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, +y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b)=1, $$ to $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i, +y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b)=1-\xi_i, $$ with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction -\( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), +\( y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), we bound the total amount by which predictions fall on the wrong side of their margins.
@@ -742,7 +748,7 @@ $$ subject to $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i, +y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b)=1-\xi_i \hspace{0.1cm}\forall i, $$ with the requirement \( \xi_i\geq 0 \). @@ -771,7 +777,7 @@ $$ but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \). We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads $$ -\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, +\lambda_i\left[y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i, $$ $$ @@ -780,7 +786,7 @@ $$ and $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. +y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i. $$ diff --git a/doc/pub/week47/html/week47.html b/doc/pub/week47/html/week47.html index 74e8442d2..660134bba 100644 --- a/doc/pub/week47/html/week47.html +++ b/doc/pub/week47/html/week47.html @@ -105,7 +105,7 @@ MathJax.Hub.Config({
-
@@ -362,7 +362,7 @@ that could be chosen. Our objective is to find a
plane that has the maximum margin, i.e the maximum distance between
data points of both classes. Maximizing the margin distance provides
some reinforcement so that future data points can be classified with
-more confidence.
+more confidence. Figure 12.1 of Hastie et al is a good illustration.
What a linear classifier attempts to accomplish is to split the @@ -384,13 +384,13 @@ for our data sample.
Let us define the function $$ -f(x) = \boldsymbol{w}^T\boldsymbol{x}+b = 0, +f(x) = \boldsymbol{x}^T\boldsymbol{w}+b = 0, $$ -as the function that determines the line \( L \) that separates two classes (our two features), see the figure here. +as the function that determines the line \( L \) that separates two classes (our two features), see Figure 12.1 of Hastie et al.
-Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{w}^T(\boldsymbol{x}_1-\boldsymbol{x}_2)=0 \). +Any point defined by \( \boldsymbol{x}_i \) and \( \boldsymbol{x}_2 \) on the line \( L \) will satisfy \( \boldsymbol{x}^T(\boldsymbol{w}_1-\boldsymbol{x}_2)=0 \).
The signed distance \( \delta \) from any point defined by a vector \( \boldsymbol{x} \) and a point \( \boldsymbol{x}_0 \) on the line \( L \) is then @@ -409,7 +409,7 @@ do is to define a cost function which now contains the set of all misclassified points \( M \) and attempt to minimize this function $$ -C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b). +C(\boldsymbol{w},b) = -\sum_{i\in M} y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b). $$
@@ -479,7 +479,7 @@ Thus, we wish to find a margin \( M \) with \( \boldsymbol{w} \) normalized to \( \vert\vert \boldsymbol{w}\vert\vert =1 \) subject to the condition $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. +y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, p. $$ All points are thus at a signed distance from the decision boundary defined by the line \( L \). The parameters \( b \) and \( w_1 \) and \( w_2 \) define this line. @@ -487,12 +487,12 @@ All points are thus at a signed distance from the decision boundary defined by t
We seek thus the largest value \( M \) defined by $$ -\frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, +\frac{1}{\vert \vert \boldsymbol{w}\vert\vert}y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M \hspace{0.1cm}\forall i=1,2,\dots, n, $$ or just $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i. +y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) \geq M\vert \vert \boldsymbol{w}\vert\vert \hspace{0.1cm}\forall i. $$ If we scale the equation so that \( \vert \vert \boldsymbol{w}\vert\vert = 1/M \), we have to find the minimum of @@ -502,10 +502,10 @@ y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) \geq 1 \hspace{0.1cm}\forall i. $$
-We have thus defined our margin as the invers of the norm of +We have thus defined our margin as the inverse of the norm of \( \boldsymbol{w} \). We want to minimize the norm in order to have a as large as possible margin \( M \). Before we proceed, we need to remind ourselves -about Lagrangian multipliers. +about Lagrangian multipliers and optimzation problems.
@@ -630,17 +630,20 @@ $$
subject to the constraints \( \lambda_i\geq 0 \) and \( \sum_i\lambda_iy_i=0 \).
We must in addition satisfy the Karush-Kuhn-Tucker (KKT) condition
$$
-\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -1\right] \hspace{0.1cm}\forall i.
+\lambda_i\left[y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b) -1\right] \hspace{0.1cm}\forall i.
$$
+The support vectors (the points that define the margin \( M \)) are the quantities we keep in order to make predictions. +
@@ -679,12 +682,12 @@ $$
With our vector \( \boldsymbol{w} \) we can in turn find the value of the intercept \( b \) (here in two dimensions) via
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1,
+y_i(\boldsymbol{x}^T\boldsymbol{w}_i+b)=1,
$$
resulting in
$$
-b = \frac{1}{y_i}-\boldsymbol{w}^T\boldsymbol{x}_i,
+b = \frac{1}{y_i}-\boldsymbol{x}_1^T\boldsymbol{w},
$$
or if we write it out in terms of the support vectors only, with \( N_s \) being their number, we have
@@ -694,7 +697,7 @@ $$
With our hyperplane coefficients we can use our classifier to assign any observation by simply using
$$
-y_i = \mathrm{sign}(\boldsymbol{w}^T\boldsymbol{x}_i+b).
+y_i = \mathrm{sign}(\boldsymbol{x}_i^T\boldsymbol{w}+b).
$$
Below we discuss how to find the optimal values of \( \lambda_i \). Before we proceed however, we discuss now the so-called soft classifier.
@@ -708,8 +711,11 @@ Below we discuss how to find the optimal values of \( \lambda_i \). Before we pr
Till now, the margin is strictly defined by the support vectors. This defines what is called a hard classifier, that is the margins are well defined.
-Suppose now that classes overlap in feature space, as shown in the -figure here. One way to deal with this problem before we define the +Suppose now that the two classes overlap in feature space, as shown in Figure 12.1 of +Hastie et al. + +
+One way to deal with this problem before we define the so-called kernel approach, is to allow a kind of slack in the sense that we allow some points to be on the wrong side of the margin. @@ -717,17 +723,17 @@ that we allow some points to be on the wrong side of the margin. We introduce thus the so-called slack variables \( \boldsymbol{\xi} =[\xi_1,x_2,\dots,x_n] \) and modify our previous equation $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1, +y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b)=1, $$ to $$ -y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i, +y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b)=1-\xi_i, $$ with the requirement \( \xi_i\geq 0 \). The total violation is now \( \sum_i\xi \). The value \( \xi_i \) in the constraint the last constraint corresponds to the amount by which the prediction -\( y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), +\( y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b)=1 \) is on the wrong side of its margin. Hence by bounding the sum \( \sum_i \xi_i \), we bound the total amount by which predictions fall on the wrong side of their margins.
@@ -747,7 +753,7 @@ $$
subject to
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b)=1-\xi_i \hspace{0.1cm}\forall i,
+y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b)=1-\xi_i \hspace{0.1cm}\forall i,
$$
with the requirement \( \xi_i\geq 0 \).
@@ -776,7 +782,7 @@ $$
but now subject to the constraints \( \lambda_i\geq 0 \), \( \sum_i\lambda_iy_i=0 \) and \( 0\leq\lambda_i \leq C \).
We must in addition satisfy the Karush-Kuhn-Tucker condition which now reads
$$
-\lambda_i\left[y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i,
+\lambda_i\left[y_i(\boldsymbol{x}_1^T\boldsymbol{w}+b) -(1-\xi_)\right]=0 \hspace{0.1cm}\forall i,
$$
$$
@@ -785,7 +791,7 @@ $$
and
$$
-y_i(\boldsymbol{w}^T\boldsymbol{x}_i+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i.
+y_i(\boldsymbol{x}_i^T\boldsymbol{w}+b) -(1-\xi_) \geq 0 \hspace{0.1cm}\forall i.
$$
diff --git a/doc/pub/week47/ipynb/ipynb-week47-src.tar.gz b/doc/pub/week47/ipynb/ipynb-week47-src.tar.gz
index 0f6352a3b..caaf2e5c8 100644
Binary files a/doc/pub/week47/ipynb/ipynb-week47-src.tar.gz and b/doc/pub/week47/ipynb/ipynb-week47-src.tar.gz differ
diff --git a/doc/pub/week47/ipynb/week47.ipynb b/doc/pub/week47/ipynb/week47.ipynb
index 4dd1d4c0b..8a476bec3 100644
--- a/doc/pub/week47/ipynb/week47.ipynb
+++ b/doc/pub/week47/ipynb/week47.ipynb
@@ -10,7 +10,7 @@
" \n",
"**Morten Hjorth-Jensen**, Department of Physics, University of Oslo and Department of Physics and Astronomy and National Superconducting Cyclotron Laboratory, Michigan State University\n",
"\n",
- "Date: **Nov 22, 2020**\n",
+ "Date: **Nov 26, 2020**\n",
"\n",
"Copyright 1999-2020, Morten Hjorth-Jensen. Released under CC Attribution-NonCommercial 4.0 license\n",
"\n",
@@ -98,30 +98,10 @@
{
"cell_type": "code",
"execution_count": 1,
- "metadata": {},
- "outputs": [
- {
- "name": "stdout",
- "output_type": "stream",
- "text": [
- "LinearSVC: [0.28475098] [[1.05364854 1.09903804]]\n",
- "SVC: [0.31896852] [[1.1203284 1.02625193]]\n",
- "SGDClassifier(alpha=0.00200): [0.117] [[0.77714169 0.72981762]]\n"
- ]
- },
- {
- "data": {
- "image/png": "iVBORw0KGgoAAAANSUhEUgAAAqcAAAESCAYAAADACnxfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdd1xX1f/A8deRJUMDU0HFESKSWzFXpjhzVJZoGu6RpumvobYsNbVs2viaM3Cn5sys/Grf3KmJZm5xoLhw7wEI5/fHgQ8jQD4sGe/n43EfcT/33nPPRdI3557zfiutNUIIIYQQQuQGhR52B4QQQgghhIgnwakQQgghhMg1JDgVQgghhBC5hgSnQgghhBAi15DgVAghhBBC5BoSnAohhBBCiFxDglMhhBBCCJFr5FhwqpRyUEoFKaVOKqVuKqX+Vkq1TeP8N5RSEUqp60qpYKWUQ6JjxZRSy5VSt+PaC8yZpxBCCCGEENkpJ0dObYFTQFPgEeAD4EelVIXkJyqlngbeAVoAFQAv4MNEp3wHRAHuQDdgilKqavZ1XQghhBBC5AT1MCtEKaX2AB9qrZcm+/wH4ITW+r24/RbAfK21h1LKGbgKVNNah8Ydnwuc0Vq/k7NPIIQQQgghspLtw7qxUsod8AH2p3C4KvBTov1/AHel1KNAOSAmPjBNdLxpKvcZAAwAcHZ29vP19c2C3gshhBBCiMzYuXPnJa11ieSfP5TgVCllB8wHZmutD6VwigtwPdF+/NdFUjgWf7xISvfSWk8HpgPUrVtXh4SEZKLnQgghhBAiKyilTqb0eY6v1ldKFQLmYuaMDknltFtA0UT78V/fTOFY/PGbWdhNIYQQQgjxEORocKqUUkAQZiFTgNY6OpVT9wM1E+3XBM5rrS8DoYCtUqpSsuMpTQ8QQgghhBB5SE6PnE4BHgee1VrfTeO8OUA/pVQVpZQb8D4wC0BrfRtYBoxVSjkrpZ4EOmBGY4UQQgghRB6Wk3lOywMDgVpAhFLqVtzWTSlVLu7rcgBa69XAZ8A64GTcNjpRc4MBR+ACsAAYpLWWkVMhhBBCiDwuxxZEaa1PAiqNU1ySnT8RmJhKW1eA57Oud0IIIYQQIjd4aKmkhBAiNTdu3ODChQtER6c2LV2IlDk7O+Pp6UmhQlKdW4i8SoJTIUSucuPGDc6fP0+ZMmVwdHTErKMU4sFiY2M5c+YMly5domTJkg+7O0KIDJJfLYUQucqFCxcoU6YMTk5OEpgKqxQqVAh3d3euX0+eClsIkZdIcCqEyFWio6NxdHR82N0QeZSdnR33799/2N0QQmSCBKdCiFxHRkxFRsnPjhB5X8EKTs+cgbCwh90LIYQQQgiRioIVnEZEQMWK0KYNrFgB8upHCCGEECJXKVjBafXqMHo07NsHL7wA5cub/VOnHnbPhBD5WIUKFfjiiy8edjeEECJPKFjBqb29CUZPnICffoKaNWHcOKhQAZ57Dn79FWJiHnYvhRB5UO/evXnmmWdSPLZjxw4GDx6cwz1K3YYNG2jRogXFixfHycmJihUr0q1bN27cuMHOnTtRSrF58+YUr33xxRd58sknLfs3b97kgw8+oEqVKjg6OuLu7o6/vz8LFiwgNjY2px5JCJGPFKzgNJ6tbUIwevw4vPMO/PUXtG8PXl7w0Udw7tzD7qUQIp8oUaIETk5OD7sbREVFceDAAdq0aUONGjVYt24d+/btY8qUKTzyyCNERkbi5+dH7dq1CQoK+tf1ly9fZuXKlfTr1w+Aa9eu0bBhQ4KDgxkxYgQhISFs3ryZXr16MW7cOMLDw3P6EYUQ+UDBDE4Tq1DBBKOnTsHixeDjA++/D+XKQadOsHYtyG//QohMSP5aXynF9OnT6dy5M87Oznh5eTFv3rwk15w5c4auXbvi5uaGm5sb7du358iRI5bjx44do0OHDnh4eODs7EydOnVYtWrVv+47ZswY+vbti6urK926dWPNmjU8+uijfPXVV1SvXh0vLy9at27N5MmTKVGiBAD9+vVj8eLF3Lp1K0l78+bNw87Oji5dugDw3nvvERYWxvbt2+nTpw9Vq1alUqVK9OnTh127duHh4ZGl30chRMFQoILTffvg22/h2rUUDtrZJQSjoaHwxhuwfj20bm0C1s8+g4sXc7rLQog4/v7+zJo1CzC5UP39/S0B3Z07d/D392fRokUAXL9+HX9/f5YtWwbApUuX8Pf35+effwYgIiICf39/Vq9eDcCpU6fw9/fn999/B+D48ePZ/jxjx46lQ4cO/PPPP3Tp0oW+ffty8uRJy/M0a9aMwoULs2HDBrZu3UqpUqVo2bIld+7cAeDWrVu0bduWtWvX8s8//xAQEEDHjh05dOhQkvtMnDgRX19fQkJC+Pjjj/Hw8ODixYusW7cu1b5169aNmJgYy/czXnBwMF27dsXZ2ZnY2FgWLlxIt27d8PT0/FcbhQsXpnDhwpn9NgkhCqACFZxGRsJrr0GZMjBgAOzencqJlSqZYPTMGZg/31zw9tvg6QkvvQQbNoDWOdp3IUT+0qNHD7p37463tzfjxo3D1taWTZs2AbBw4UK01sycOZMaNWrg6+vLtGnTuHXrlmV0tGbNmrzyyitUr14db29vRo4cSZ06dViyZEmS+zRt2pS33noLb29vKlWqROfOnQkMDKR58+a4u7vz7LPPMnHiRC4m+uXb1dWVgICAJK/2d+zYwZ49e+jfvz9gAv6rV6/y+OOPZ/e3SohcycMDlPr3Ji8MMs/2YXcgJ1WsaN7i/+9/MGOG2Tp0MFmlUuTgAIGBZjtwAKZNgzlzYOFC8PWFgQOhZ08oViwnH0OIAmn9+vWWr+3s7JLsOzk5Jdl/5JFHkuwXL148yb6Hh0eS/bJlyybZ9/LyyrqOp6JGjRqWr21tbSlRogQXLlwAYOfOnYSFhVGkSJEk19y5c4djx44BcPv2bT788ENWrVrFuXPniI6O5t69e0naBahbt26SfRsbG2bOnMn48eP5448/2LZtG59//jkfffQRGzdupGrVqoB5td+8eXMOHTqEr68vwcHBVKtWjfr16wOg5Rd0UcCdP2/d5yL9CtTIqasr/P47HDxoRlAfeQTi/h4G4MYNs5A/RVWqwDffmNHUmTNNY2+8YUZVe/WCrVtlNFUIkW52dnZJ9pVSltXtsbGx1KpVi927dyfZQkNDGThwIADDhw9n8eLFjBs3jg0bNrB7927q1atHVFRUknadnZ1TvH+ZMmXo0aMH3333HQcOHKBQoUJ8/vnnluP+/v54e3sTHBzM3bt3WbBggWUhFJhFXm5ubhw8eDBLvh9CCBGvQAWn8Xx94euvTZw5YkTC57NmmcX6zz4Lv/2WyjooJyfo3dsEo7t3Q58+sHw5NGpkUlNNngzXr+fQkwgh8qM6depw9OhRihcvjre3d5KtWNybms2bN9OzZ08CAgKoUaMGnp6ellFVa7m5uVGqVKkkC6CUUvTt25c5c+awYMEC7t69S48ePSzHCxUqRJcuXZg/fz6nT5/+V5v37t3j3r17GeqPEKJgK5DBaTxnZzMAGu/CBbMuatUqaNfOTD39/HO4fDmVBuKD0bNnYfp0c/Grr0Lp0vDyyxASkiPPIYTIHW7cuPGv0c4Tqb6OSV23bt1wd3enQ4cObNiwgbCwMDZu3MiwYcMsK/Z9fHxYvnw5u3btYu/evXTv3j1dweC0adMYNGgQa9as4dixY+zfv5+3336bvXv38vzzzyc5t3fv3ly6dInhw4fz/PPP8+ijjyY5/vHHH1OuXDnq16/PzJkz2b9/P0ePHmXu3Ln4+fkRERFh9bMLIUSOBqdKqSFKqRClVKRSalYa501VSt1KtEUqpW4mOr5eKXUv0fHDWdG/8ePh9Gn45BNTPOr4cXjrLfPm/rPP0rjQxcUEozt3wo4dZtHUDz/AE09A3bpmcmuylCxCiPxn06ZN1K5dO8k2fPhwq9txcnJi48aNeHl50blzZ3x9fenVqxdXr17Fzc0NMKvwS5YsyVNPPUXbtm1p0KABTz311APbrlevHnfu3GHQoEFUq1aNJk2asGHDBubMmUP37t2TnFuqVCnatWvH1atXLQuhEnNzc2Pbtm307t2bTz/9FD8/Pxo1akRQUBAffPAB5cqVs/rZhRBC5eSkdqVURyAWeBpw1Fr3Tud1s4BYrXXfuP31wDyt9ffW3L9u3bo6JJ2jmTEx5tX+5MmwejUsWABxqf24cMHEo2nm1L5+HebNg6lTTQ6rIkWge3d45RVItmBBCJHg4MGDsgJcZIr8DImc4OGR8uInd3eQlwbpo5TaqbWum/zzHB051Vov01qvAFJ7Uf4vSilnIACYnW0dS4GNDTzzjCkideQIvPBCwrF33jFZpYYNM8dS9Mgj5hX/nj2wZQs8/zwEB5upAI0awezZcPdujjyLEEIIIbJWRIRZB518k8A08/LCnNMA4CKwMdnnE5RSl5RSW5RS/tnZgYoVwd7efK01hIXB1aswcaLJz//00/DTT3D/fgoXK2WC0TlzzNzUiRPhyhWzqKp0aXj9dZM+QAghhBBC5IngtBcwRyedf/A24AWUAaYDPyulKqZ0sVJqQNw815CLWVDhSSlYt86sderbFwoXhjVrzMCol5f5OlXFipn0UwcPmkbatDHzBqpUgaZNzdyByMhM91EIIYQQIq/K1cGpUqos0BSYk/hzrfV2rfVNrXWk1no2sAVol1IbWuvpWuu6Wuu68XWjs4KfHwQFmXRUEyeCtzecOgWJ5/9fupRK6lOlwN/fBKOnT8Onn5r/Bgaa+QJvvQVHj2ZZX4UQQggh8opcHZwCPYE/tdYPKnStAZUD/fmX+MHQw4dh+3aTQxVMUPr002aK6dSpcPNmKg2ULGmC0SNHzLBrkyYm2q1UCVq1giVLIDo6x55HCCGEEA+PlEXN+VRStkqpwoANYKOUKqyUSquEak9gVrI2XJVST8dfq5TqBjQB/vug+4eFhVlyBGa1QoWgXr2E/YgIMxi6dy8MGmTSUQ0ZAvv3p9FAq1awdCmEh8O4cRAaCp07m+HYkSPTKF8lhBBCiPxAyqLm/Mjp+8Bd4B2ge9zX7yulysXlK7W8FFdKNQQ8gcXJ2rADxmMWSV0ChgLPa60fmOv0+vXrKGUGWI8dO8aePXsy/0SpKFXKvOZfsACeesqMnH73HVSrZt7oh4WlcXHp0vD++ybR6qpVJl/qJ5+YSa3t2sHKlamsvhJCCCGEyNtyNM/pw+bn56d37twJwCuvvMLcuXO5cOECzs7OxMTEYGNjk2333rsXpkyBuXPB1tbMVY3Pk3r7tqlWlabwcPj+e7OdO2fmpvbvb7YyZbKt30LkNMlRKTJLfoZEXqbSmKSY30K2XJHn9GFTif7Ex40bx/Lly3GOiwqfeeYZXn755Wy7d/XqZmH+mTPw889JA9Py5SEgAP73vzR+8MqVg7Fj4eRJWLYMqlaFMWPMxc8/byoFxMZmW/+FEEIIIXJCgQpOEytRogStW7cGQGtNvXr1qFmzpmV/2LBhpLealDWKFoXGjRP2t241xaSWLYOWLeHxx+Gbb+DatVQasLMzFQFWr4Zjx2DECPjzT2jb1iRknTChYE1MEUIIIUS+UmCD08SUUnz44YcMGTIEgBMnThAUFMS+ffsAuH37tuXrrNaypXljP3aseTt/+LDJy1+mDAwY8IC0p15eJhg9fRoWLYLHHoP33jOv/F98Ef74I/+9AxAiF7t48SKDBw+mQoUKODg44O7uTosWLVi7di01atRIsT49wK+//opSitDQUMtny5Yto3nz5ri6uuLs7Ez16tUZOXIkFy5cyKnHEUI8BO7u1n2eH0lwmoLHHnuMiIgIunbtCph/JKpXr86OHTsAM7KalUqVgg8+MIvxly6FFi3gzh3YvRscHBLOSzWjlL19QjB66BD83/+ZOQItWkDlyvDllybpqhAiWwUEBPDXX38RFBREaGgoq1atom3btly+fJl+/fqxaNEibt++/a/rgoODeeqpp/Dx8QFg5MiRdO7cmVq1arFq1SoOHDjAN998w4kTJ5gyZUpOP5YQIgdJWVRMoFVQNj8/P50RFy5c0NOnT9cxMTFaa63Hjx+v27Vrp6OiojLUXnocPKj11q0J+/v2aV2ihNbvvKN1WFg6Grh7V+u5c7Vu3Nj8XNvba92tm9YbN2odG5td3RYi0w4cOPCwu5AhV69e1YBeu3ZtiscvX76sHRwcdHBwcJLPL1y4oO3s7PTs2bO11lpv375dA/rLL79M9T4ibXn1Z0iIggYI0SnEazJymg4lSpTg5ZdfplAh8+0qWrQojz76KHZ2dgAEBQWxadOmLL2nry80aJCwv3w5XLyYkFHq2Wfht9/SWANVuDB07w6bNplUAQMGmLRUTZqYfFbffpvGxFYhcp+UklLHb9OnJ5w3fXra5ybm55e+89LDxcUFFxcXVq5cyb179/51vFixYjz//PMEBwcn+Xzu3Lk4OjrSqVMnAObPn4+zszNDhw5N8T6urq7Wd04IIfIQCU4zYOjQocyZYyqqxsTEMGrUKMs+mGT/WW3kSNiyBbp1M2uiVq0yKU8rVYJJkx5wcbVq8J//mFQBQUHg4gKvvWbyqfbta0pbydxUITLF1taWWbNmMW/ePFxdXWnYsCHDhw9n+/btlnP69+/P5s2bk8wtDQ4OJjAwEKe4FB5HjhyhYsWKll9+hRCioJHgNJNsbGw4evQoH330EQDHjx/Hy8uLGTNmZOl9lIJGjWDePJPcf8IEk0Xq+HFIXEsgfm5KipydE4LRXbugZ09YvNgM0dap84A6q0I8XCnNwYrfBgxIOG/AgLTPTWznzvSdl14BAQGcPXuWn3/+mbZt2/Lnn3/SoEEDPv74YwBatGjBY489Zhk93b59O/v370+yUErLL4pCpCm7ynvmxbKhebHP6SHBaRZwdHSkZMmSALi5ufH111/Tpk0bANavX0/79u05depUlt2vZEl45x2TSernn+HNNxOOLVxoCkoFB5tFVamqXdsEo2fPmv+CqbNaujQMHAh//51l/RWiIClcuDCtWrVi1KhR/Pnnn/Tr148xY8YQFRWFUoo+ffowZ84cYmJiCAoKombNmvj5+Vmu9/Hx4dixY0RFRT3EpxAi98qu8p55sWxoXuxzekhwmsXc3Nx47bXXKFu2LACXL18mPDyc4sWLA7BhwwbWrVuXJaMjNjbwzDNmfmq8+fPNaFC/fiaj1LBhcORIGo0UKWKC0V27zIhq586mjFWdOlCvnolyU1hdLIRInypVqnD//n3LPNQ+ffpw/vx5Fi9ezMKFC/+VXiowMJDbt28zKZX5OtdkrrgQIp8rUOVL69atq7Mjsb412rRpw4kTJzh48CBKKa5evYqbm1uWtX/3rnlTP3myiTXjtW5tRlubNUtHI9eumQB16lQ4cMBUDujZ0wSx1aplWV+FSEleLT15+fJlOnfuTN++falRowZFihQhJCSEoUOHUr16ddauXWs5t127dmzbto27d+9y9uzZf/0d8Pbbb/PFF1/w2muvERAQgKenJ2FhYQQFBeHt7c3o0aNz+vHylLz6MyTSJ7vKe+bFsqF5sc+JSfnSXGLZsmUsW7YMpRSxsbHUrFmT119/Pcvad3Q0ceS2bRASYqaYFi4Ma9bA/v3pbMTVFYYOhX37zGr/Z581S6CrVzflrebOhRRWIwtRkLm4uNCgQQO++eYbmjZtStWqVXnvvfcIDAxk0aJFSc7t378/V69epWPHjin+cvrpp5+ycOFCdu3aRbt27ahSpQpDhgyhXLlyDB48OKceSQghHgoZOX2IIiMjmTJlClWqVKF169Zcv36dXr168cEHHySZg5ZZV6/CrFnmVX/RouazUaPM6/7Bg028+cDUOZcuwezZMG2aubBYMejd26w+qVw5y/oqhIx6icySn6H8TUZOE+TFPicmI6e5kIODA6+//jqtW7cGIDQ0lJCQEGJiYgAIDw9nw4YNxKaazDR93NzgjTcSAtOYGDMQunChSXtas2Y6FuoXL24msB4+nFB96ttvzYTX5s1N+VRZwCGEECKbZVd5z7xYNjQv9jk9JDjNRZ544glOnjzJE088AcD06dNp0aKFpZZ2ZGRkltzHxgZ27DC5U0uWNDn6Bw2CMmVgyBCTnipVSplg9McfTU6rjz+GsDDo2hXKljUTW9NsQAghhMi47CrvmRfLhubFPqeHBKe5jI2NDSpunP7dd99lzZo1eMQlLOvVqxdt27bNkvuULQvjx5v4csEC82r/5k347juTqz9dPDzg3XdNTqvffjOJWL/4AipWhKefNmWtoqOzpL9CCCGEKBgkOM3FnJ2dad68uWW/SZMmtGzZ0rI/bNgwfv/990zdw97eDHpu2gT//ANjxphANV6fPjB69AMC1kKFoE0bE4yePAkffmhW+XfsaCoFjBoF4eGZ6qcQQgghCgYJTvOQwYMHM2zYMACuXr3KokWL2BNXHur+/fts2rQpU/NTa9QwgWj8BOuwMLOQauxYE2N26gR//PGASdZlyphgNCwMVq40yf7Hj4fHHjOr/letMpNehRBCCCFSkKPBqVJqiFIqRCkVqZSalcZ5vZVSMUqpW4k2/0THiymlliulbiulTiqlAnOi/7mJm5sbJ0+etKSVWbNmDU2aNOG3334DsqYEYoUKsG6dycuvFCxdatZBPf64WQt161YaF9vammD0l1/MHNR33zW5rZ59Fry8TMB69mym+yiEECLn5IZymSndP37LTH+z89lsbFJu28Ym823nRzk9cnoWGA8Ep+PcrVprl0Tb+kTHvgOiAHegGzBFKVU1y3uby9nY2FC4cGEAmjZtyvz582nVqhUAkyZNon79+ty4cSPD7SsF/v5m7VP82/rSpc2C/REjTML/dKlQwQSj4eGwZAn4+MAHH0C5chAQYJKwZjIjgRBCiOyX18plWtPf7Hy21P6Jk3/6UpajwanWepnWegVwOaNtKKWcgQDgA631La31ZmAl0COLupknOTs7ExgYiL29PQAlSpTAy8uLonH5o2bNmsVPP/2U4fZLlzZv60+cMCOo48ZBiRLm2P37ZnrpvHmQZkIBOzsTjK5da3KlvvkmbNxoFk9VqgSffgpxmQmEEEIIUTDl5jmntZVSl5RSoUqpD5RStnGf+wAxWuvQROf+A6Q4cqqUGhA3lSDk4sWL2d3nXKNr164sWLDAsv/tt98ye/Zsy/6BAwcy9Orfzs4Eom+9lfDZqlVmLVSPHuDpad7gnzjxgIa8veGzz+D0afjhh4Q0VJ6eZoXW+vV5I4OwEEIIIbJUbg1ONwLVgJKYUdKXgBFxx1yA68nOvw4USakhrfV0rXVdrXXdEvFDfQXQjh07mD59OgCXLl2iZs2ajBs3LkvabtXKJPWvWdMUkvrkEzOt9NlnTYapNF9bODjASy+ZYPTAAXj1Vfjvf6FZMzO59auv4MqVLOmnEAXZrFmzcHFxybH7KaVYsmSJZf/QoUM0bNiQwoULU6FChRTPEUIIyKXBqdb6uNY6TGsdq7XeC4wFOsUdvgUUTXZJUSCt+kYFno2NDcWLFwfMFIDg4GC6du0KwO7du2nQoAH79u3LUNvOzvDyy/D33/Dnn9C9uxlhXbXKxJrpFh+Mnj1rSqUWK2Ze/ZcuDT17wpYtMpoqcrWLFy8yePBgKlSogIODA+7u7rRo0YK1a9dazjl+/Dj9+/enfPnyODg4ULp0aZo1a8bs2bOJSlRlTSll2ZycnPDy8iIwMJDNmzeneO9ly5bRvHlzXF1dcXZ2pnr16owcOdJSxCOnnTt3jmeffday//777+Pk5MShQ4fYsWNHiucIIQTk0uA0BRqIX4cXCtgqpSolOl4T2J/jvcqjHB0d6dGjBz4+PgBcu3aN+/fvU6pUKQD+/PNPli5dyv37961qVylo2BDmzjXJ/SdMgPffN2lQwcScvXvD9u0PiDEdHU0w+uefJvlqv36wYoVJwFqjBkyaBNeTD54L8fAFBATw119/ERQURGhoKKtWraJt27Zcvmym2YeEhFC7dm327dvHf/7zH/bu3cuvv/7KgAEDmD17tiVoizdjxgzOnTvHwYMHCQoKwt7eniZNmvD5558nOW/kyJF07tyZWrVqsWrVKg4cOMA333zDiRMnmDJlSo49f2IeHh44ODhY9o8ePUrjxo2pUKEC8W+xkp9jrfv372dJZhKRfnmtXKY1/c3OZyuUSrSV2ucFntY6xzbAFigMTADmxn1tm8J5bQH3uK99gX3A6ETHFwILAGfgScxr/aoPur+fn58WD9arVy/t4eGho6OjtdZanzt3TsfGxma63TFjEoqr+flpHRSk9e3b6bz45k2tZ8wwF4LWTk5a9+un9V9/aZ0FfRO5x4EDBx52FzLk6tWrGtBr165N8XhsbKyuUqWK9vPz0zExMameEw/Qixcv/tc57777rraxsdFHjhzRWmu9fft2Degvv/wy1X5prfXMmTO1s7Oz5fOjR4/q5557Tru7u2snJyddu3Zt/fPPPye5dunSpbp69eq6cOHC2s3NTTdp0kRHRERorbUODw/Xzz33nHZzc9OOjo66cuXKesGCBSn2HzPAYNlGjx6d4jOePn1ad+nSRbu6umpXV1fdrl07HRoaajk+evRoXbVqVT1z5kzt5eWlCxUqpG/evPmvZ86rP0NCFDRAiE4hXotfZJRT3gdGJ9rvDnyolAoGDgBVtNbhQAtgllLKBTgPzAM+TnTdYEw6qguYlf+DtNYycppFgoKCOH78OLa25sejdevWVK5cmcWLF2eq3R494PZtCAqCnTvNgOiwYaYK1aBBZsF+qlxcoH9/s4WEwLRpZiFVUBDUqQMDB0JgoDlP5D+vvw67d+fsPWvVgq+/TvfpLi4uuLi4sHLlSho3bmxJ8xZv9+7dHDhwgAULFlAoleESlVKixmSGDRvGJ598wooVKxg+fDjz58/H2dmZoUOHpni+q6trip/funWLtm3bMn78eBwdHVm0aBEdO3Zkz549+Pr6EhERQdeuXZkwYQIBAQHcunWLbdu2Wa4fPHgw9+7dY926dRQtWpTDhw+n2udz587h7+/PM888w/Dhw1Oc+3rnzh2aNWtGo0aN2OZJP54AACAASURBVLBhA/b29nzxxRe0bNmSgwcP4uTkBEBYWBg//PADixcvxt7e/l/fZyFE3pfTqaTGaK1Vsm2M1jpcm1ym4XHnDddau2utnbXWXlrrUVrr6ETtXNFaPx93vJzW+oecfI78zsbGhkpxkWJsbCzDhw+nZ8+eAERGRtK2bdsMlU318kpYoD97NtSrB9eumWmmI0Y8+HqLunVhxgwzT+C77yA62gSnpUubKPeff6zumxCZZWtry6xZs5g3bx6urq40bNiQ4cOHs337dgBCQ02CkcqVK1uuuX79uiWodXFx4eOPP06x7cQeffRRSpYsyfHjxwE4cuQIFStWxM7Ozqr+1qxZk1deeYXq1avj7e3NyJEjqVOnjmWB0tmzZ4mOjqZTp05UqFCBatWq0b9/f9zj3nGePHmSxo0bU7NmTR577DHatGlDmzZtUryXh4cHtra2uLi44OHhkWJwunDhQrTWzJw5kxo1auDr68u0adO4desWq1atspwXFRXF3LlzqVOnDtWqVbP8Ei2EyD/k/2qRpkKFClkCU4BTp05x6tQpy3zU8+fPs2XLFtq3b5/uuWPxU0p79jSDoFOmQLduCcc3bzbpT/v1e8Bcn0cegcGDTUC6bZsZTZ01C6ZOhfr14ZVX4MUXIW7EReRhVoxgPkwBAQG0b9+eTZs2sXXrVlavXs2XX37JRx99RMWKFf91fpEiRdgdNyLcrl27JAui0qK1toyy6gzOubx9+zYffvghq1at4ty5c0RHR3Pv3j1q1KgBmOC1ZcuWVKtWjdatW9OyZUs6depkmS/62muv8corr7B69WpatGjBCy+8gJ+fX4b6ArBz507CwsIoUiRp4pU7d+5w7Ngxy76np6clQBZC5E8yFVdYxdvbm7179/L0008DsGjRIgICAjh58iRg/sGz5h/LunXNm/nmzRM+mzgRRo40qU8DA02wmmaT8SuxZs2CM2dMIHP9upkvUKYMvPaaSVMlRA4oXLgwrVq1YtSoUfz555/069ePMWPGWNInHTp0yHJuoUKF8Pb2xtvb21JA40EuXbrExYsX8fLyAsDHx4djx46lO7CNN3z4cBYvXsy4cePYsGEDu3fvpl69epZ2bGxsWLNmDWvWrKFGjRoEBQVRqVIl/ol7M9GvXz/CwsLo06cPoaGhNGrUiDFjxljVh8RiY2OpVasWu3fvTrKFhoYycOBAy3nOzs4ZvkdelhvKhman7Crvac33zdo+5Pc/k4dJglNhtfj0NmDmnW3atMmy8n/EiBHUrFmT2EzUZBs0CDp0gJgYWLAAnnrK5FCdOhVuPihhWLFiCcHohg3Qtq25sGpVaNLEzFNNs4yVEFmrSpUq3L9/H19fXx5//HE+++wzYmJiMtzel19+SaFChejQoQMAgYGB3L59m0mTJqV4/rVr11L8fPPmzfTs2ZOAgABq1KiBp6dnkhFKMP+vN2zYkNGjR7Njxw5Kly7NokWLLMc9PT0ZMGAAP/74I2PHjrXkUs6IOnXqcPToUYoXL24J2OO3YsWKZbjd/CKvlQ21VnaV97Tm+2ZtH/L7n8nDJMGpyBRbW1saN25s2W/WrBmBgYGWBR9vvfVWkn/M0qNVK5M5KizMjKCWLAl795qg9auv0tmIUgnB6OnTZrLr2bNm/kCZMmaS65EjVvVLiLRcvnyZ5s2bM2/ePPbs2UNYWBiLFy/ms88+o0WLFjzyyCPMmjWLY8eO0bBhQ3766SdCQ0M5ePAg33//PadPn8Ym2RDNtWvXiIiIIDw8nHXr1tG7d28+/fRTPvnkE7y9vQGoX78+b731FiNGjODNN99ky5YtnDx5kvXr19OjRw+++eabFPvr4+PD8uXL2bVrF3v37qV79+7cu3fPcnzbtm2MHz+eHTt2EB4ezsqVKzl16hRVqlQBzGv91atXc/z4cXbv3s3q1astxzKiW7duuLu706FDBzZs2EBYWBgbN25k2LBhHJH/V4UoWFJawp9fN0kllbMiIyN1jRo19MiRI7XWJk3Or7/+qiMjI61sR+sFC7Ru2lTr06cTPl+8WOsff9Q6KiqdDcXEaL12rdYBAVrb2pqUVC1amIbS3YjIbnk1DdC9e/f0u+++q+vWratdXV21o6Oj9vb21m+88Ya+fPmy5bwjR47ovn376rJly2o7OztdtGhR3bhxYz1p0iR97949y3kkSr3k4OCgK1SooLt27ao3bNiQ4v1//PFH3bRpU120aFHt5OSkq1atqt977z194cIFrfW/U0mdOHFCt2jRQjs5OekyZcrozz//XLdv31736tVLa23+HNq0aaNLliyp7e3tdcWKFfWnn35quX7IkCHa29tbOzg46OLFi+suXbro04n+ByVZmqiqVataUkildk5ERITu3bu3LlGihLa3t9cVKlTQffr00RcvXtRaJ6SSepC8+jOUlvg0fClt+UF2PZ817Vrbh/z+Z5ITSCWVlNIZnEyfF9WtW1eHhIQ87G4UKFproqOjsbe3Z/v27TRo0ICZM2fSu3dvYmJiKFSoULrS5yQXGws+PnDsGJQqZSpUDRhgBkXT5dw5CA42q/5PnjQrr/r1Mw3FzQ0UD8fBgwd5/PHHH3Y3RB6WH3+G0vprMj/8M55dz2dNu9b2Ib//meQEpdROrXXd5J/La32RrZRSloUefn5+/PLLL3Ts2BEwi6kqV67MqVOnrG43JgbeeAOqVDFx5tixUL48dOoEf/yRjr8YSpUycwaOHYNffjGr+z/5xOS7atcOfvoJrKyQJYQQQojMk+BU5BhbW1vatWtH0aJFAShRogR16tShTNxw5/z58/n+++/Ttdrfzg5efRX27YN166BzZ/Nb7NKl0KIF/PprOjtlY5MQjJ44AaNGmTypzz9vRlDHjDFzVoUQ4iHKa2VDrZVd5T2t+b5Z24f8/mfyMMlrfZFrPPfcc9y4cYP169cDpqJOlSpV0p1i5+xZ+P57MxC6ZQvE5+YODjZFpGrVSmdH7t+HVatM3tT//tdEvc88Y/Kmtm6d+dwmIk358ZWsyFnyMyRE3pDaa30JTkWuobXm+vXruLq6cufOHdzd3enRoweTJ0+2HLd2fuqlS2YealSUSYU6eLB59Z/uiodhYWZealAQXLhg5g4MGAB9+0oyu2wigYXILPkZEiJvkDmnItdTSlnqgNvb27Nw4UIGDRoEwIkTJ3j88cfZvHmzVW3GxJgUVI88Alu3Qo8eJrn/u++at/gP9Nhj8PHHcOoU/PgjVKyYUCGgc2f43/8yn4hP/EtB+qVZZC352REi70tXcKqUKqyUelsptUYptVsptSfxlt2dFAWPra0t7du3p3r16oDJ9+jh4YGnpycAu3btYsaMGdy9ezfNdtzdTcGoM2dg+nSTzP/SJbP2ydvbLKZKF3v7hGD08GGT6P+PP6BlS6hcGb74wjQsMs3Ozu6Bf65CpCY6Ohpb26ytzJ3XKgGl1Nf4LTlrqyJZc74151rzPc6uc0Xuka7X+kqpYOAFYDFwFpN7z0Jr/WG29C6LyWv9/OPdd9/lu+++IyIiAicnJ06fPo27uzt2dnZpXqc1bNsGkyebCqcrVyZ8HhQEL7wAjz6azk7cu2dWYE2damqs2tubOQMDB5qyVhlIkSXgxo0bnD9/njJlyuDo6JihVGOiYIqNjeXMmTM4ODhQsmTJLGs3r6UMyi3pk/LauSLnZWrOqVLqCvCi1vr37OhcTpHgNP/QWhMeHk758uUB8Pf3Jzo6mi1btljRRsJfXFu2QOPG4OAAXbuaualPPGFFfLl/v1lANWeOiXoff9wEqT17gpublU8nbty4wYULF4iOjn7YXRF5jLOzM56enpYqdVkhrwU4Epxm7FyR8zIbnJ4GWmitD2dH53KKBKf51y+//EJkZCQdO3YkNjaWNm3a0L9/f1588cV0XR8SYrJIrV6d8BeWn58JUrt2BSendHbkzh1YtMgEqtu3m5VXXbqYlf7168toqhB5UF4LcCQ4zdi5IudldkHUZ8CbSilZQCVypfbt21uS+1+6dInIyEhiYmIAMwoXFBTEjRs3Ur2+bl2TG/XIERgxAooVg507TdGoWrWs+EvMyQn69DFzB/7+G3r3Nq/+GzY0DU2ZAmn0QwghhCjoUh05VUqtTPZRE+A6cABI8q5Na/1ctvQui8nIacG0cOFCXnrpJbZu3UqDBg24efMmhQsXTnN+6t27sHixmZvatCl8+qn5/MYNk/S/ffuEPKoPdPMmLFhg5qb+/Tc4O0NgoHnt7+eX+QcUQmSrvDb6JiOnGTtX5LyMjJxeTrYtB/4AIlI4lt5ODFFKhSilIpVSs9I4r5dSaqdS6oZS6rRS6jOllG2i4+uVUveUUrfitjw93UBkry5duhASEkL9+vUB+OyzzyhXrhx37txJ9RpHRzNddNs2GD8+4fN580zxKC8v+OgjOH8+HR0oUsTkRt2507zq79LFNFS3rpnYGhQEt29n8imFENklP1cCsrYqkjWfW3OuNd/j7DpX5B45moRfKdURiAWeBhy11r1TOW8QsA/YDpQAVgKLtdafxB1fD8zTWn9vzf1l5FQA/PHHH2zdupWRI0cC8N5771G6dGmGDBnywGt/+AFGj4ajR82+nZ1ZoD94MDz5pBVTSq9dMwHq1KlmMVXRoiYJ68CBEJc+SwghhMjPMjXnVCn1h1LKNYXPiyql/khvJ7TWy7TWK3jAaKvWeorWepPWOkprfQaYDzyZ3vsIkZbmzZtbAlOtNbt27eLAgQOW4ytWrEh1fmpgoElz+t//QocOJsn/ggUmc1SfPlZ0wtUVhgyBvXtNGqrnnjO1V2vUMFHunDlmboEQQghRwKR3gZM/kFKB88LAU1nWm9Q1AfYn+2yCUuqSUmqLUso/tQuVUgPiphKEXLx4MVs7KfIepRSrV6/mP//5DwDHjh3jhRdeYNq0aQDExMT8K51RoULQujWsWGGqm44cCSVLQqtWCeecOAGJ4t20OmCC0blzTaWAL780yfx79TJ1V994Aw4dyqKnFUIIIXK/NINTpVQdpVSduN0a8ftx2xPAAOBMdnZQKdUHqAt8kejjtwEvoAwwHfhZKVUxpeu11tO11nW11nVLlCiRnV0VeZhNXMkSLy8vtm7dSq9evQBYu3Ytnp6e7N27N8XrypUzc1JPnYLEWasmTICqVaFZM7OwKl3pOh99FN580wSjf/xhIuDvvjM5U/39YeFCiIzM5JMKIYQQuduDRk5DgB2YilBr4vbjt+3Au8DY7OqcUup54BOgrdbaUhtSa71da31Tax2ptZ4NbAHaZVc/RMGhlKJBgwaW6jLFixendevW+Pj4ALBkyRI++eQT7t+/n+Q6e3sz/zRe0aLg4gLr15ugtXx5M1f19Ol0dcJEtQsXmgs++QTCw+Gll8DTE95+G44dy6InFkLkBbmlZGd2tZ0byozmhj4II80FUUqp8oACjgP1gMTvxaOAC1rrGKtvqtR4wDO1BVFx57QB5gLttdZ/PaC934DftNbfpnWeLIgSmTV48GC2bNnCP//8A0BISAg+Pj4ULVr0X+feuGHe1k+enPCK38bG7A8YYOWNY2Nh7VqT3H/lSjPZtVUrk9z/2WeTRsZCiHwnt6RPyq62c0PKp9zQh4ImUxWisrATtoAtMBrwBF4G7mut7yc7rzmwGHhBa70x2TFXoD6wAbgPdMG82q/zoApWEpyKrHD79m2cnZ25f/8+ZcuW5cknn2TJkiWAWWCVvBa81rBxo3lDv3y5SXVarZo5dvAglCpl1kel29mzJv3UjBlmPoGHB/Tvb7a4cq5CiPxFgtPslxv6UNBYHZwqpXqmt3Gt9Zx0dmIMJjBN7EMgGJPcv4rWOlwptQ6z0OpeovM2aa3bKqVKAL8CvkAMcAj4QGu99kH3l+BUZCWtNdu2bcPBwYE6depw5coVateuzbfffkuHDh1SvObSJShePGG/QQOzYL9bN5OOqlYtKzoQEwO//WbSUf36q/msXTuTjqpdOzNMK4TIFyQ4zX65oQ8FTUaC05vJPrIH7DB5SsHMV40GIrXW/36nmQtJcCqy0/Hjxxk+fDijRo2iVq1aHDx4kJUrVzJw4EBcUxgavXXLJPT/3/8SPmvY0ASpnTpB4cJW3PzkSZOKKigIzp2DsmXh5ZdN/dXSpTP/cEKIh0qC0+yXG/pQ0Fid51RrXSR+A7oCezCjmYVJSCG1GwjMni4Lkbd4eXmxbNkyasUNf/7+++988MEHlsVT4eHh3LyZ8Dufiwv8/rt5tf9//2cWUW3danLxly0Lf6U50zqZ8uVh3DgTpC5dalb4jxpl0gl07GgSs8bGPrgdIYQQ4iFLb57TL4D/01pv0Vrfj9u2AK8DX2Zf94TIu4YOHcqpU6coHvce//XXX6dWrVokf1vh6wvffGOmkk6fbl7tR0VBlSoJ5xw+nM7Y0s4uIRg9ehSGDzdJ/tu0gUqVzMr/dNVcFULkJrmlZGd2tZ0byozmhj4II10LopRSd4H6Wus9yT6vCWzTWjtmU/+ylLzWFw/T1q1bOX36NJ07dwagXbt2tG/fnldffTXJeVqbzFHxa5vu3DEZpNzcYNAgU4nq0UetuHFkpKkYMHWqyW1lZwcvvGBW+vv7W1FzVQghhMg6mSpfislp+q1SqkyiBssAXwHbsqaLQuRvDRs2tASmd+7cwcHBAVtbWwCioqKYOHEiERERKJV00f2xY+aV//HjMGKEKRzVu7d57Z+ueVAODtClC6xbZ+YQDBli0lI1b26GbSdOhMtpVhQWQgghckx6R04rAiswK+TjK0KVAQ4Dz2utj2ZbD7OQjJyK3GrdunU0b96cX375hXbt2nHr1i0AXFxcgISF+ZMnw+rVCUGpnx+sWQPFill5w7t3YckSM5r6558mgO3c2YymNmoko6lCCCGyXaZGTrXWx4AaQHtgImbEtB1QPa8EpkLkZs2aNSM0NJRWrVoBMGPGDNzd3YmIiABMVqhnnjEZo44cMSOoxYqZeahubgntnElvMWFHR7PyassW2LPH5EhduRIaN4bq1WHSJLh2LYufUgghhHiwHE3C/7DJyKnIK3bt2sWvv/7K+++/D8DYsWOJjo5m3LhxlnPu3jXVTStVMvuHD5tF+q1amXRU7dtD3KyB9Ll925RMnToVQkJMAPvSSyZv6hNPyGhqAePhkfLaOXd3iPudSWSSNd9j+fMQ+VFG8py+CUzWWt+L+zpVWuuJWdPN7CXBqcir+vXrR1RUFHPnzgVgyZIlNGrUiNKJcpguXGgWS92LK11RtqyJK/v3z8Bq0507TanUH34wQWvt2qaxwEAoUiSLnkrkZpLzMfvlltylQjwsGQlOw4C6WuvLcV+nRmutvbKon9lKglORl8WXRr1y5QolS5ZkxIgRTJgwAa01d+7cwdnZmStXYPZsMzf1aNyEGzs76N7d5Oe3evDzxg2YP9+Mpu7ZY5Kzdutm5qZaVc5K5DUSDGU/CU5FQZeRJPyPaa0vJ/o6tS1PBKZC5HUq7l+nYsWKceDAAYYOHQrAjh07cHd3Z/369RQrBm+8YV7x//e/0KGDWUyldcI/btHRcDN5/bfUFC1q8lft3m0qBHTqZKLf2rWhfn2YOdPkuhJCCCGySLoWRCmlpEi3ELmIj4+P5ZW+q6sr3bp1s1Sm+uWXX3jnnbd48snbrFgBYWEwenTCtStWmHRUQ4fCgQPpvKFS0KCBCUbPnoWvvzYRbt++pjzq//0f7N+fxU8phBCiIEpvntPrSqn/KqXeVUo1lGBViNzDx8eHadOm4erqCsDff//NkiVLcHQ0tTEiIv7CweGc5fwtW0xcOWkSVK0KzZrB4sVmRDVd3NzgtddMMLphg1l5NW0aVKsGTz1lpgHET3wVQgghrJTePKetgKaAP/AEEAX8CawH1mutt2ZfF7OOzDkVBUVUVBT29vZoralSpQolS5Zkw4YNAMTExLB/vw1TpsDcuWa9E0CpUjBqlJlOarVLl2DWLBOkHj1qSlj17g0DBoCPT1Y9lshBsjo8+8lqfVHQZTbP6Vqt9fta68aAK/ACcBYYC2zO0p4KITLN3t4eMPNUly9fzhdffAHA3bt3KV++PH/99T1Tppg39JMmmRRU584lHfC8d8+KhRbFi8Pw4Way6++/m+HYb76BypWhRQv48UeIisripxTZKSLC/Pkn3yQQyjrWfI/lz0MUJOnOgqiUcseMnPoDzYFywBZgXXZ0TAiRNXx9fS1f37x5kzZt2uATN5p5/fopwsMnsXbtaxw5UjrJAvzx400RqUGDoFcviJs1kLZChUww2qKF+VczOBimTzflU0uWNHNUBwyAxx7L4qcUQgiRX6T3tf5+oALwF+ZV/gZgq9Y6Mjs7l9Xktb4QSf344490796dQ4cO4eXlRXh4OPb29ri7e/DEEybdKYCTk8kgNXhwBjJIxcSYGqvTpsHPP5vhntatzfyBZ56xslKAEEKI/CJTr/WBR4AY4A5wG7iJmXcqhMjDXnzxRS5cuICXl8kIN27cOHx9fYmOjmLbNli61AyC3rkDM2aYDFKNGsHGjVbcxMYG2rY1aQJOnjQTW/ftgxdegPLlTSqBU6ey5wGFEELkOemdc+oJ1AGWA7WAFcAVpdRKpdQb6b2ZUmqIUipEKRWplJr1gHPfUEpFKKWuK6WClVIOiY4VU0otV0rdVkqdVEoFprcPQoikXBO9rx82bBgzZszA3t4eW1uYN68jjRqN4uBBs0D/kUdMutOYmITrE3/9QJ6eMGYMnDhhgtWaNWHcOKhQAZ57Dn791coGRX5mY2OymCXfbDKZLya72gWzcCmltj08Mt92dvQhN/RXiOTS9Vo/yQUmjVQ9YADQHSiktU7X/9JKqY5ALPA04Ki17p3KeU8DczBzW89iguJtWut34o4vwATW/TDB8i9AI611mokW5bW+EOkXGxvLwIED8fX1ZdiwYWit+fDDLyhSpAdvvulhSer//PMmnhw8GJ5+2kw7tcqJE2ZYNijILEcuV87MS+3b16QQEAVWdlVFys5qS7mhkpNUnhJ5hdXlS5Nd/ATQLG57EnAA/sbMP12ntf6vlZ0ZD3imEZz+AJzQWr8Xt98CmK+19lBKOQNXgWpa69C443OBM/HBa2okOBUi4/bv30/NmjWZOXMmPXr04M6dO4SH36J27ZKWVf5eXmYqad++JpuUVaKiYOVKUyr1f/8zc1E7dICBA83cAqujXpHXSXCa/X3IDf0VBVdm55xuwaSP+gd4ESimtW6gtX7H2sA0narG3SveP4C7UupRwAeIiQ9MEx2vmlJDSqkBcVMJQi5evJgNXRWiYKhatSpnzpyhU6dOACxevJhq1UqzZs1hJkww00ePH4e33jIVqHr3hvBwK25gb2/Ko/7+O4SGwuuvw/r1ZvGUjw989hnI/8NCCJHvpTc4ddNaN4wLRldrrW9na6/ABbieaD/+6yIpHIs/XiSlhrTW07XWdbXWdUuUKJHlHRWiIHF3d7dUnnryyScZN24cjRv78M47MGjQF7Ru/R/atNFERcEPP5h4M55VozCVKsHnn8Pp06biVJky8PbbZs7qSy+ZylQyrCOEEPlSehdEZXcwmtwtoGii/fivb6ZwLP74zRzolxAijre3N++++y4q7r3grVvXcXFZz2+/KY4cgYEDt3Ht2iHAzEn184Nhw+DIEStuUrgwBAaaYHT/fjNnYPVq8PeHKlXg66/hypWsfzghhBAPTW6dxLUfqJlovyZwXmt9GQgFbJVSlZIdT3MxlBAie40bN46lS5cC4OkZyZw5T/PVV18BsGkT/P03TJxo3tA//TT89JOVC/OrVDFVp86cgZkzTVWAN94wo6q9epk0AjKamq+kNs04s9OPs6tdMOVErfk8O1jTh9zQXyGSs3q1fqZuppQtpirVaMATeBm4r7W+n+y8NsAszGr9c8BS4K9Eq/UXAhroj1mt/yuyWl+IXOX8+fNERUVRtmxZjh49iq9vd5o0WcDWrY9ZFlCVK2fWO73xBsTNFrDOP/+Y5P7z5sHNm1C9uhld7dbN5L0SQgiRa2V2QVRWeR+4C7yDSUN1F3hfKVVOKXVLKVUOQGu9GvgMUxr1ZNw2OlE7gwFH4AKwABj0oMBUCJGz3N3dKVu2LABOTk4MH+7PnDl2nDkDgwcfo2jR84SHm9gy8dxUq9SsCZMnw9mzpkyqnR28+iqULg0vv5xQ4koIIUSekaMjpw+bjJwKkTvMmDGDsWPHM2XKEaKi7PH0/IuiRYvi5uZL+/bQv78Z/CyS4jLHBwgJMemoFiwwpa38/Mxoateu4OKS5c8ihBAiY6zOc6qUejO9jWutJ2aibzlGglMhco+YmBhs4kryNGnShMuXL9Or1z7eftsssCpSBHr2hEGDoGqKieIe4Pp187p/6lRTLrVIEejRw8wjqFEjC59ECCFERmQkOA1LZ9taa+2Vmc7lFAlOhcidzp07x+nTp6lZ8wmWLImlb98QIiPrWY77+8OQIRAQkIHGtTaLpaZOhR9/hMhIaNjQBKkvvpjBya5CCCEyK1MVovILCU6FyP1u3brF2LFjqVDhWfbufYq5czW3byv8/W+xbl0mX8tfuQKzZ5uJrocPg5ubWek/cCD4+mbNAwghhEgXCU6R4FSIvGjVqo0EBKxg0qSBvPxyZc6cOcP69bEsW1aWV1+FZs3SLsGYIq1N7tSpU2HZMoiOhqZNTZDasSM4OGTLswghhEiQ6eBUKVUMaAOUA5KsrdVaj82KTmY3CU6FyJtu376Nk5MTSinefvttPv/cD61fBKByZc3gwYqePU3qU6tduGDypk6fbuqvFi8OffrAgAHg7Z21DyKEEMIiU8GpUqoB8AsQCZQAzgCl4vZPaK3zxOoCCU6FyPvOnj3LL7/8zblz7Zk2zWSRAnByMiv8hwzJ4Hqn2Fj4/Xfzyj++QkDLlmal/3PPmTRVQgghskxmg9NNwN/Aa8ANTEWml6b8VQAAIABJREFU25gco0Fa6/lZ293sIcGpEPlLdDQEBi5g1676HD9u1mU2abKZr75yok6dOhlv+OxZCA42o6mnToGHB/TrZ3Knli+fRb0XQoiCLbNJ+GsAk7SJZGMAB631eeBtYEyW9VIIIaxgZweLF7/EsWNeHDwI/frd5q+/+rFp0yYAvv/+PgMHXuHECSsbLl0a3n8fwsJg1SqoWxcmTIDHHoP27WHlSrh//8HtCCGEsFp6R04vAk9qrUOVUoeB17TWq5VSjwMhWmvn7O5oVpCRUyHyv1u3bgHg7OxC2bK3OHPGBaU07dsrXn0VWrfOYA318HD4/nuznTsHnp6mWkD//lCmTNY+hBBCFACZHTndBTwR9/V6YLxSqhfwLbAnS3oohBBZwMXFBZe4SlBTp0bi53cQOzszANq2LRQpEsGECdFcvmxlw+XKwdixcPKkWeFfpQqMGWNe87/wAqxebeatCiGEyJT0jpzWBYpordcppUoAc4AngVCgr9Y6TwSoMnIqRMF04YKZQvr55ze4cqUoAIsWAfxIuXLlaNCgQcYaPnYMZswwjV+8aF77v/wy9O0L7u5Z1n8hhMiPJM8pEpwKUdDFxMBvv8EPP8DMmRpfXy/q1q1LnTqLcXcHf/8IvLw8rG84KgqWLzcr/detA1tbM5r6yisZTMQqhBD5X2ZX6/8BdNRaX0v2eVFghda6eZb1NBtJcCqESOzmzZucOHGDevXKcO8ewFWaNTvJtGm1qFQpg40ePmxW+c+aZSpSVapkkvv36mVyqAohhAAyP+fUn2SJ9+MUBp7KRL+EEOKhKVKkCD4+ZZg2Dfz87gNurFtXCx8faNjwBg0aTODIkTDrGq1cGb78Es6cgblzoWRJGD7cLJrq3h02bTIVqoQQQqQozZFTpVR8osAQoDVwJdFhG+BpoL/WukJ2dTArycipECItO3fC5Mnmtb8ZSYVt265Tv/4j7Ny5k8jISBo2bIiy9jX9vn3mlf+cOXDjhllMNXAgGS9rJYQQeV+GXusrpWKB+BNS+tv4LjBUax2cJb3MZhKcCvH/7d13eFVV1sfx70oCAUIRVKIIBIKAUgQEcbAACo4goiA6KqCCIAqWGXtBHbujMkVfqQqKGmVg7CCigHEQEUEBHVCQXkJvUgMk+/1j35AQUm7KTW6S3+d57kPuvufss0+iZLHP3mtJMHbsgPHj4X//c4wd6//qu+qqXnz5ZUcmTx5C+/aR7N+/j5iYPGbR27fP78QaNQrmzYOKFeG663yg2rat1qaKSJmS3+A0Dh+UrgTaAlszfHwI2OKcSynksYaMglMRya+ZM/fRqZMPRps3d2zf/jSXXbaL1177R/46/PFHP5uakOCD1pYtfZDapw9UqVKIIxcRCU/5WnPqnFvjnFvtnItwzs0PvE97bcxrYGpmNczsQzPbZ2ZrzKx3NseNMrO9GV7JZrYnw+eJZnYww+dL8zIOEZG8OvPMGIYO9UtIf/7ZSEp6nISEF7jjDvjxx2T69u1Lnv7xe/bZPjhNSoKRI/061MGDfXWqW2+FBQtCdzMiImEs6DopZtbVzCab2RIzqxNoG2hmnfJwveH4GddYoA8w0syaZj7IOXebc65y2gt4D5iU6bA7MhzTOA9jEBHJs1NPhWee8YWi3n0XLrgADhwox/DhcNFFkXzxxdfs2OGX5W/ZsoXvvvuOoFL1Va3qU04tWADffQfXXOM3Up19tn/UP26cn1kVESkjggpOzawPMBH4DagPlAt8FAk8EGQfMUAv4DHn3F7n3DfAJ8ANQZ43PpjriIiEUnQ0XH+933S/aJGPK++6K4qkpFV06tSJvXuhb99ltGvXi1Wr/E7/lJQgHjKZwbnn+mA0KQleecUHpQMG+NnUO+/0G6tEREq5YPOcLgKed85NCDxeb+GcW2lmLYAvnHO5lkIxs1bAt865ihna7gM6OOe653DejcATQAMXGKyZJQJN8ethlwJDnXOJ2Zw/CBgEULdu3dZr1qzJ9X5FRPJrzBj/VD4iIpWePSMYMgQmThzM6tWrmDp1at52+jsHs2f7DVSTJvlk/+ef7y9wzTVQoULobkREJMQKmue0ITAni/a9QNUg+6gM7M7UthvIbeX/TcBb7tgo+kEgHjgNGAN8amYNsjrZOTfGOdfGOdfm5JNPDnKoIiL506qVjxsjIiJ4/33o1Ak++uhZnLuD3bt9YPr0008zY8aM3Dsz8+sH3nnH500dNszXYr3xRp839d57fdJ/EZFSJNjgNAlolEV7e2BFkH1kFchWBfZkcSwAgbWtHYC3MrY75+Y65/Y455Kdc+OB2cBlQY5DRCRkzjkHJk6ENWvgySf9E/nNm2vwxReX06MH7Nu3jxEjRvD1118D4Jzjhx9+yH196kknpQejM2b4qPeVV+CMM+Dii32KqkOHiuAORURCK9jgdAzwipmdH3hfx8xuAl4ERgbZxzIgyswyFgVsASzO4Zwb8UsBVubStyPrPKwiIsWiVi14/HFYvRr+8x8fP/bvDzExMaxdu5aePR8kIQG+/vo72rRpw6RJmfd8ZsPMdzZxIqxbB889B6tW+XypderAQw/Bytz+yhQRCV9BBafOuReBD4AvgRjgK2AUMMo5NzzIPvYF+njKzGICge6VwNs5nHYj8GbGBjM7wcwuNbMKZhYV2KzVHpgWzDhERIpSuXLQq5ef7LzxxrS2cowdG0PfvnDNNefStetCmjTxD38SEhJo3749W7duzaHXgFNOgYcfhhUrYOpUOO88/+i/QQO49FL48EM4ciSEdyciUviCTiXlnBsKnIRPxv8H4GTn3GN5vN4QoCKwBZ8earBzbrGZ1Q3kK62bdqCZtQNqc3wKqXLAM/iCANuAO4EezjktvBKRsJZxL9Qf/gAtWsC2bRFMndqCs86qTPfu8PPPtalQoRInnngiAO+//z5TpkzJueOICOjSxQejaesJliyBq66CuDg/hbt2bQjvTESk8ORWIaoS8BLQAx8UTgfucs5tK5rhFS5ViBKRcOIczJkDI0akb8YHeOABeOEF/3W7du2oWLEiM2fOBGD16tXExcXlvuv/yBE/mzpqlP/TDC67zOe+6tIFIiNDeGciIrnL7279J4F+wBRgAnAJwa8xFRGRHJj5J/HvvOOXjz7/vJ/ovP769GNefHEW99wzAfCbqZo1a8bQoUNz7zwqCrp3hylT/BrUhx+GefPg8sshPt5XFNi4MUR3JiKSf7nNnK7A5xCdEHjfFr8zvkJeS5eGA82ciki4S031T+nTXHCBT3Xapg0MHHiII0cSOO+8lrRq1YqVK1dy88038/LLL9OiRYvcOz98GD75xM+mTp/uZ0+vvNLPpnbqdOyFRURCLLuZ06hczqsDzEp745z73syOALWAdYU7RBERyRgfHjkC7drBL7/A/Pkwf355qlfvT//+ULkybNq0gc2bN1O9enUAfvrpJ9auXUuXLl2Iisrir/e03Vm9esHy5b5iwBtvwAcf+NnUW2+Ffv2gZs2iuVkRkSzk9s/kSCBz4rwj5B7UiohIAUVFwUsvwfr18Oab0LYt7NwJ//gHNGoE27dfyJIlS6hb1+8lHTlyJH369OHw4cMA7Nq1K/v8qaefDi++6Dt/912oXRsefND/ef31kJjoF8WKiBSx3B7rp+LTRyVnaO4KfA3sT2twzl0RqgEWJj3WF5GSbv58GDkSJk+G336DqoHSJjNnQsOGh9i+fQktW7YEoH379lSvXp2PP/44uM5/+QVGj4bx42HXLmjc2M+m3nQT1KgRojsSkbIqvxuixuOrQ23P8HoH/0g/Y5uIiBSBNm1g7Fi/gSotMD14EP70J2jQoDwvvtiSb76B1FTHDTfcwLXXXgtAamoq1157LV9++WX2nZ95JvzrX5CU5Kdqa9SAe+7xFQVuvBG+/VazqSIScjk+nnfO9S+qgYiISPDKl0//escOv3Hq00/hvff8q3lzY8iQW7gi8Fxr/fr1LFiwgO3b/XzC7t27mT17Nn/84x+PX59asaKfLb3pJvjpJz+b+vbb/tWsmd9A1bcvVKtWRHcrImVJjo/1Sxs91peSbPPmBFauHEpy8lqio+sSH/8ssbF9intYEkbWrvV7nF57DbZs8W1VqsCiRVC/PjjnSE1NJTIyknHjxjFgwADmzp1L27ZtOXToEOXKlcs+f+revTBhgt/p/8MPUKmSX5t6221+OldEJI+ye6yv4FSkBNi8OYGlSweRmnp0qTcREZVo3HiMAlQ5TnKy34A/YgTs3u2D07SY8+uvfW5V5w4xc+ZMLr30UsyMhx9+mM8++4x58+ZRPuO0bFbmz/ezqe++C/v3w9ln+yD1+ut9GgERkSDkd82piISBlSuHHhOYAqSm7mflyiCSsUuZEx3t48RZs+Cbb9ID0xUroGNHn+j/2WfL07x5l6MzpS1btqRLly5HA9PnnnuOSZMyV48OaNPGT88mJcHw4T5/6qBBfm3qkCE+GhYRyScFpyIlQHJy1nXRs2sXSZO2aQpg0ya/52njRnjqKR+kXn213+n/pz9dywuBmqkpKSlMmDCBr7/++ui5s2bN4siRI8d2Xq1aejD67bfQs6fPm9qypU/Q+uabfmZVRCQPFJyKlADR0XXz1C6SlfPPh8WL4auv4Jpr/Izq++/74lCtWvmk/wCRkZEsWrSIF198EYBff/2V9u3bM3Kkr17tnDs2f6qZD0bHj4cNG+Cf//SpqPr3h9NOgz//GZYsKerbFZESSsGpSAkQH/8sERGVjmmLiKhEfPyzxTQiKanM/KP9iRNhzRp48kn/NL55c5/0H3yQ+tNPRqVK/r+5+vXr88EHHxxNSzV16lSaN2/OihUrjr9AjRrwl7/4YDQxEbp29YlZmzaF9u39OtXk5OPPExEJUHAqUgLExvahceMxREfHAUZ0dJw2Q0mB1aoFjz8Oq1f79KZpPv3UP5k//3xISACIpmfPntQMlDUtX748derUoU6dOgB88sknjB8/ntTU1PROzKBDBx+Mbtjgq1ElJUGfPn429f77fRUBEZFMtFtfRESOMWqUr2T6++/+/cknw4ABfkN+XNzxx1999dUsX76chQsXArBs2TLi4+OPz5+amuoXuI4aBR99BCkpfk3BbbfBlVdCuXIhvjMRCSdKJYWCUxGRYO3b5yc9hw9P33xv5vc/vfrqscc659iyZQuxsbEcOXKE2rVr07VrV954443sL7BxI4wb5xOzrl0LsbE+Ar7lFqhXL2T3JSLhQ6mkREQkaDExPk5csABmz/ZP48uVOzZu3LkTtm8HMyM2NvZo+4gRIxg0aBAA27Zto3Xr1iQmJh57gVNPhaFDYeVKmDIF2raFv/0N4uPhssvg44/Td2iJSJlSpMGpmdUwsw/NbJ+ZrTGz3tkc18/MUsxsb4ZXx7z2I1KWbd6cwJw59UhMjGDOnHps3pxQ3EOSEsjMJ+1/5x1Yt86nM03z8st++Wi/fvD9974tKiqKq666inbt2gGwadMmypcvT40aNQBYunQpb731FgcOHPAnREb6YPSTT/zi18ce81O1PXr4SPiJJ2D9+qK6XREJA0U9czocOATEAn2AkWbWNJtj5zjnKmd4JeazH5EyJ62iVHLyGsCRnLyGpUsHKUCVAqlZ89i8qWvXwqFDPoPUuefCOef4NKcZU5s2a9aMOXPmcNZZZwEwYcIEBg4cyP7AQVu3biUlJcUfXKeOTx+wZg18+KFPIZCWkPXKK2HqVL9OVURKtSJbc2pmMcBOoJlzblmg7W1gg3PuoUzH9gMGOucuKEg/mWnNqZQVc+bUCwSmx4qOjqNdu9VFPyAptVas8Pubxo2DHTt8W/XqPtXpTTcdf7xzjl9//ZUzzzwTgB49erB+/Xqy/bt51SpfjWrsWNiyxQeqgwbBzTfDKaeE6K5EpCiEw5rTRkBKWkAZsAjIbsazlZltM7NlZvaYmaVt+8xTP2Y2yMzmm9n8rVu3FvQeREoEVZSSotKgAbz0kn/y/uabfunozp0+TVWabdvSJzzN7GhgCtCvXz/uvPPOo++vu+46JkyYkH5y/frw3HN+TcHEif6CQ4f6WdZrroEZM3wWABEpNYoyOK0M7M7UthuoksWx/wWaATWBXsD1wP356Afn3BjnXBvnXJuTTz45n0MXKVlUUUqKWsWKfqZ07lz48UefISrNoEF+n9Nzz8Hmzcee16NHD24KTLHu3r2b1atXsyMwBZucnExCQgL79u2D8uXTg9GlS33VqZkzoXNnaNwYhg3zUbCIlHhFGZzuBapmaqsK7Ml8oHNupXNulXMu1Tn3M/AUcHVe+xEpq1RRSopTq1YQEfjtkpwMv/zi16emTXj27g3ffAOZV5VVq1aN7777jsGDBwPwxRdf0LdvX2bNmgXAwYMH/frURo18MLphg9+pdcopPqn/aaf5tAL//e/xnYtIiVGUwekyIMrMGmZoawEsDuJcB1gh9CNSJqiilISL6GhYvBimTfN7mlJS4L334MILoUULmDfv+HPM/F/33bp1Y9asWXTu3BmAV199lbi4OHbt2uUPrFDBB6OzZsH//ge33urTUnXo4MulvvKKX2MgIiVKkSbhN7MJ+EBzINAS+Aw4zzm3ONNxXYEfnXObzewM4D/AJOfck3npJzNtiBIRKV5r1/q8+6+95nOkrlnjJzzBV6Sqmvm5WAbTp0/n888/Z9iwYQAMGzaMmJiYozOtgE8V8O9/w+jRfo1BhQpw3XU+cD33XJ8bS0TCQjhsiAIYAlQEtgDvAYOdc4vNrG4gl2nagrhOwE9mtg8feH4APJdbP0V1EyIikj9168Izz/j9TV99lR6YpqbC2WfDRRfBpElw+PDx53bu3PloYAowY8aMo4/8097vcw7694fvvvOLX2+6Cf7zH2jXzq83GDkyvS6riIQllS8VEZFit2SJ3+m/b59/f+qpfiPVLbekB7BZSU5OJjo6mo0bN1K7dm2GDh3KU089hXOO1NRUIiMjYc8eX4t11ChYuNCXv+rdG267zUfEIlIswmXmVERE5DhNmkBSErz6Kpx5Jmzc6PPxx8XB1VdDdpkAo6OjAYiNjWXmzJkMHDgQgLlz5xIXF+fzp1ap4h/r//ijf9R/7bV+I1Xr1r5ywNix6VGxiBQ7BaciQQhVKdCFCzuTmGhHXwsXdi60MYRqzCqLKqFStSrcfrvfQPXVVz5zlJl/Ql+9evpxycnHnxsREUGHDh2oW9evDouKiuKcc86hUaNGAEybNo1//utfJLdo4YPRpCS/YerAARg40CdmveMO+PnnorhVEcmBHuuL5CKtFGhqanpNxoiISgXe/b5wYWd27ZpxXPsJJ3SiZcvpBRpDqMYcqn5FspOUBMuXQ/v2/v3WrT6t6dVXw5Ah0LJlcP38+c9/5uOPP2blypVERESwZMkS6tWrR6WKFWH2bL+BatIkH/med55/5H/11T6Bq4iERHaP9RWciuQiVKVAExOz3zXcseOx/1/mdQyhGrPKokpxe/ddnz0qTbt2frb16qt92qqc7Ny5k+rVq+Oco3HjxjRo0ICpU6emH7B9O4wf7wPVZcv8dG2/fn7x6xlnhOR+RMoyrTkVyadwKAWa1zGEaszh8L2Qsq13b5/U/667/DKAOXOgb1+oXRseeSTn3PvVM6wNGDNmDI888ggA+/fvp2nTpryfmAj33AO//uqrT11ySfoi2IsuggkTsl5TICKFSsGpSC7CoRRoXscQqjGHw/dC5Iwz4OWX/SP/MWN8Mv9t2/x+p7Q0ps759FRZMTM6duzIhRdeCMC2bduoV68eJ510EgBr163jX4sWsXPUKJ/z6vnnfULW66/3Ja4efBBWrCiKWxUpkxSciuQiVKVATzihU9DteR1DqMassqgSTmJifKqpBQvg2299/tQ0334LDRv6Kqfbt+fcT926dZkyZQodOnQA4PPPP+fuu+9m9+7dEBvLlptv5sDPP8Pnn8MFF8Df/w6nnw5//CN88EHWSVlFJN+05lQkCJs3J7By5VCSk9cSHV2X+PhnC2UDUOZNUVlthsrvGEI15lD1K1KY7rzTP5EHvxb1uuv8BqpzzgmuSNSqVauoX78+AAMGDGDatGmsWbPG503dsMHv+H/tNVi/3idlHTDAR8p19RRBJFjaEIWCUxGRsiIlBaZOhREj/IRn2q+61q3h/vt9qtNgzZo1i99++42bb74ZgBtuuIG2bdty5+DB/iKjR8Nnn/mot2tXv9O/a1eIjAzBnYmUHtoQJSIiZUZkJFx+uY8Zf/vNB6Q1asAPP/i1qWmCmZ+58MILjwamhw8fZufOnezduxeiokjt1o0xV1zB9vnz/Y6sH36A7t2hfn14+mm/MFZE8kQzpyIiUiYcOOBTmbZvD/Xq+baRI+Gjj/wj/8svD36y0zmHmfH9999z7rnnkpCQQO/evTm4Zw82eTLRb7wBX37pO7ziCl+h6pJLIEJzQiJp9FgfBaciInKsc86BtF8Ldev6GHLAAIiNDb6PxYsXU79+fSpVqsS4ceO4++67WbRoEfWOHPHrUt94w1cPiI/361L798/bBURKKT3WFymAZcuGkJgYFSgzGsWyZUOyPTaUJUnzQmVGRXI3bVr65vu1a2HoUJ8tqndvnwUgGE2bNqVSJZ/F4qyzzuKWW24hLi4OTj+d/6tdm6cHDcK9+66Pfh9+2F/g2mt9jdYyNEEkEizNnIrkYtmyISQljTyuvVatwTRqNOKYtlCWJM0LlRkVyZvUVJg+3W+g+vRT/z4hwQepBXHLLbewceNGJk+eDMA3r7/O2fPnU2niRNi5Exo18tO1N90EJ55YCHciUnJo5lQkn5KSxgTdnlVgml37ypVDjwkeAVJT97Ny5dB8jLLo+hYpjSIifNrSjz6CVavgiSegV6/0z++/36enWrIkb/2+9tprfPzxxwDs3buXP951F/dFRPh0VOPHk3riiXDvvXDaaXDDDTB7tmZTpcxTcCqSq5Q8tgcnlKVAVWZUJP/q1oW//tXnRwXYu9dvnHr1VWja1FcynTQp+Nz7kYFdVpUrV2bu3Lncd999ULEiy/7wB2osWcLskSNh4ED45BOf5L95c3+xXbtCdIci4U3BqUiustu+W7AchqEsBaoyoyKFp3JlmDPHpy+NiYHERPjTnyAuzgexW7YE31fz5s2Jj48HfBnVK664gvpXXAGvvsrsSZP4sFs3UsqX99O0tWr53Vnff6/ZVClTijQ4NbMaZvahme0zszVmluVqHjO7ycx+MLPfzWy9mb1oZlEZPk80s4NmtjfwWlp0dyFlTa1ag4JuD2VJ0rxQmVGRwtW8uZ89TUryk5pNmsDGjfDUU3kLTjNq2LAhb731FrVq1QLgmwULGDR3LkfmzIH589lx2WW4CRPg3HN99YDRo2HPnkK8K5HwVNQzp8OBQ0As0AcYaWZNsziuEvAX4CTgXKATcF+mY+5wzlUOvBqHcMxSxjVqNIJatQaTPlMameVmKICWLacfF4hmV5I0NrYPjRuPITo6DjCio+MKbcNSKPsWKcuqVoXbb4f//c/PoD7+ODRrlv75DTfAK6/k74n8gw8+yOrVq4mOjobWrem2YQMdGjb0u7RSUvzUba1a/s+FCwvtnkTCTZHt1jezGGAn0Mw5tyzQ9jawwTn3UC7n3gNc5JzrHnifCLzjnHs9L2PQbn0REQmVH3/0E5wAlSpBnz4+uX/Llvnr76effmLHjh107NiRI4cP07dRI5449VTOWLAADh6Etm19oHrttf6CIiVMOOzWbwSkpAWmAYuArGZOM2sPLM7U9ryZbTOz2WbWsZDGKCIiki/Nm8P770OnTrB/v8+/36oVnHcevPMOHDqUt/7OOussOnbsCMDve/ZQ7oIL+O3hhyEpiX3PPceWlSvh5pv9bOpdd8HizL8mRUqmogxOKwO7M7XtBqrkdJKZ9QfaAMMyND8IxAOnAWOAT82sQTbnDzKz+WY2f+vWrfkdu4iISI7KlYOrrvL5Un/5xceLVav6zVS335734DSjGjVq8Pbbb9O9e3eoXp3pTZpwyrZtLHvtNejWDTd6tF9fcOGFPkHrwYOFd2MiRawoH+u3AmY75yplaLsX6Jj2uD6Lc3oAo4HOzrmfc+j7c2CKc+7/chqDHuuLiEhR2rcP3n3X72O65x7ftn+/n/C86Sa49FKfYzU/Nm7cyCmnnIKZ8dfbb+fw66/zTJ06RKxY4RP69+sHgwb5RP8iYSi7x/rFsea0qXPut0DbW0BSVmtOzawL8DbQzTn3fS59TwWmOudeyek4Baclz+bNCaxcOZTk5LVER9clPv7ZQtvU4ys/jcHnK42kVq1BWW5yApg7tykHDqRn365YsQnnnpv1I7TExPJAxgSI5ejYMespk8TESsCBDC0V6dhxf5bHzp59GocPJ6X3Wq4W55+/IctjIXTfu1D+TETKgnHjfIYogPh4GDwY+vcvWIGon3/+me+//54B/fvDV18xf+BAWq1dS2RqKlx8sV+beuWVUL584dyESCEo9uA0MIgJgAMGAi2Bz4DznHOLMx13MTAJ6Omc+2+mz07A7+D/GjgCXIt/tH+2cy7HlFIKTkuWUJbgzEtJ0syBaZqsAtTjA9M0xweoxwemR3s+LkDNHJge7TWbADVU3zuVRRUpuC1bfIA6ahSsWePboqPhuuv84/9zzilY/845Bg4cyOmVK/NwbCyMGQNr1pBy4olEDhoEt9wC9esX/EZECigcNkQBDAEqAluA94DBzrnFZlY3kK80LUP4Y0A14LMMuUynBj4rBzwDbAW2AXcCPXILTKXkCWUJzryUJM0qMM2+PbuSMVm1ZxWYZt2eVWCaU3uovncqiypScDVrwkMPwYoV8Omn0KULJCfD+PFw660Fz7dvZowdO5aHX34ZHnmEVdOncxmw5tRT4YUXcA0acKhzZ1+r9ciRQrknkcIUlfshhcc5twPokUX7WvyGqbT3F+VTIpJgAAAQC0lEQVTQx1aggP+ulJIgtCU4Q1OSNFyE6nunsqgihScyEi6/3L9WrPAzqa1bg5n/fOlSP+l5223QsGH+r1P/9NMZs24dVapUgd9/Z+n991P53/+m9owZcNppfo3BwIFQp07h3JhIAal8qYSt0JbgDE1J0nARqu+dyqKKhEaDBvDSS/7RfpqRI+Ef//D7mbp0gU8+8bn486N27dpUq1YN6tQh8umnGfnAA6S8/z40b457+mlS4+JI7d4dPvss/xcRKSQKTiVshbIEZ15Kklas2CTLY7NuL5fNFbNqr5jNsce3lytXK+tes2kP1fdOZVFFis6NN/qNUhUqwLRpfj9TfDw89xxs3pz/fhs2bMizL7xA5FVXwdSp/PP223m3dm0i5s2Dbt3YX6sW2++919dnFSkGRbohqrhpQ1TJo9366bRbX6Rs2rED3nzTz6QuX+7bbr4Zxo4tvGs457DDh0n58ENm33AD7Q8fhqgouPJKDvbrR4XLLst/ziuRbITFbv3ipuBURERKqtRUn+B/xAh49FFoE/iV/uWXfs1q375QuXLOfQRj3bp1pPz6K/W++ILUceOI2LGDPTVrUuW++3zu1JNPLvhFRFBwCig4FRGR0ueiiyAxEapU8Yn9Bw+GJlmvRsqzjatW8eXgwVy9bRuVfviB1HLl+KFePeL/9jdO7NkzffeWSD6ESyopERERKSTO+fRTF1zgq1C9+io0beoD1v/8Bw5nl90uSKfWr8+Nn39OpfnzYfFifu3QgYbLl3Nir17QpAkbH3yQNQsWFM7NiAQoOBURESmhzPwO/1mzYNEin3YqJsbPpF5zjU9FVWiaNKHJl19Scft2eOMNqFaNU198kdjWrXH9+sGcOaQob6oUAj3Wl1IlHDbr5GWjVV6OFREJxu7d8PbbfhPVl19C9eq+fcIEv1z04osL72n8xqlTSR01itNmzoS9e1lWoQK/XXwx3d57D6pWLZyLSKmlNacoOC3twqG0Zl7KoublWBGRgkhOhrp1fenUxo1hyBCfquqEEwrpAnv2cPitt9j05JPU2boVYmI4cs01vJycTPcnnqBRo0aFdCEpTRScouC0tJszpx7JyWuOa4+OjqNdu9VFMobExCiyrjIVSceOR/J9rIhIQezd6xP6jx4NSYGMdJUqQZ8+cPvt0KJFIV3IOZg/H0aPJiUhgciDB/m9USOq3n8/2zp3Zi9Qr169QrqYlHTaECWlXniU1sxLWdTSXUJVRMJH5crw+OOwerXfKHXxxbB/P7z2GrRsCfPmFdKFzOCcc+D114nctIkDL71ElfLl4ZZbqHLGGXxWvz5bpk8vpItJaaXgVEqN8CitmZeyqKW7hKqIhJ9y5aBXL5gxA5Ysgbvugnbt0nOmgl+ruub4h1B5V60aFe+7D/vpJ5g9myPdujEoKoqal1wC553HO5dcwq033lgIF5LSRsGplBrhUFozL2VR83KsiEhhO/NMePllmD07fYPU6tW++lT9+nDFFfD55z75f4GYwXnnEfP++0Rt2uTXF2zfTt/p0/nHxIlw993w66+88sorLFq0qKC3JaWAglMpNWJj+9C48Riio+MAIzo6rkg3QwE0ajSCWrUGkz77GZntBqe8HCsiEioZd+6npEDv3n6G9dNPoWtXaNgQhg2D7dsL4WInnng0GOWrr4jp0QOGD4czz6Tl3Xez/OmnITmZ1NRU1q4tyiVZEk60IUpERESOsWULjBsHo0alP+KvUsVvpiqMEqnHXeyNN0gZNYrI1avhpJNYd8klXPTee7w6dSpdunQp5AtKuNBufRScioiI5EVKCkydCiNG+HypCQnp7RMmQM+eftd/oUhNhenTYfRo3McfYykpHLnoIqJuv51/HzjAh5MnM2bMGKoqf2qpoeAUBaciIiL5lZICkYFVSJMnQ/fuPmDt399XpmrYsBAvlpTkp27HjIF169hXtSoTK1em3+zZWL16TJ06lZo1a9K6detCvKgUNaWSEhERkXyLzJBIpEIFaNsWdu70+5saNYIuXeCTT3wQW2C1asGjj8KqVTB5MjHt29Nv0yYsPh66dWPyoEE88sADRw/ftWtXIVxUwkWRBqdmVsPMPjSzfWa2xsx653Ds3Wa2ycx2m9k4M4vOTz8iIiJSuDp3hrlzfX7U/v19sDptGlx5JVx0USFeKDISunWDTz/FVq3yAeuCBQxfv57JS5bAk0+yb9ky6tSpw9///vdCvLAUp6KeOR0OHAJigT7ASDNrmvkgM7sUeAjoBNQD4oEn89qPiIiIhE6bNv7p+4YN8Pe/w+mn+x3+abZsgW++8YWjCqxuXXjqKb9D64MPKHfWWfDEE1Rq0oR5tWvTvVw5SE1l+fLlXH/99SxfvrwQLirFocjWnJpZDLATaOacWxZoexvY4Jx7KNOx7wKrnXOPBN53AhKcc6fkpZ/MtOZUREQkdFJT4fBhiA4863zmGXjsMWjeHIYM8eVSq1QpxAuuWOHLXI0bB1u3Qv36/HrhhfSaMoVpCxdSu3ZtfvnlFw4cOECrVq2wjHmzpNgV+4YoM2sFfOucq5ih7T6gg3Oue6ZjFwHPOef+HXh/ErAVOAmoG2w/gc8GAWlZzZsB/yvUG5OichKwrbgHIfmmn1/Jpp9fyaWfXclW2n9+cc65kzM3RhXhACoDuzO17Qay+jdU5mPTvq6Sx35wzo0BxgCY2fysInQJf/rZlWz6+ZVs+vmVXPrZlWxl9edXlGtO9wKZk5NVBfYEcWza13vy2I+IiIiIlCBFGZwuA6LMLGMmtBbA4iyOXRz4LONxm51z2/PYj4iIiIiUIEUWnDrn9gEfAE+ZWYyZnQ9cCbydxeFvAQPMrImZVQceBd7MRz+ZjSn4nUgx0c+uZNPPr2TTz6/k0s+uZCuTP78irRBlZjWAccAlwHbgIefcu2ZWF1gCNHHOrQ0cew/wIFAReB+4zTmXnFM/RXYjIiIiIhISZap8qYiIiIiEN5UvFREREZGwoeBURERERMJGmQhOzayGmX1oZvvMbI2Z9S7uMUlwzOwOM5tvZslm9mZxj0eCZ2bRZjY28P/cHjNbYGZdcz9TwoWZvWNmG83sdzNbZmYDi3tMkjdm1tDMDprZO8U9FgmemSUGfm57A6+lxT2molQmglNgOHAIiAX6ACPNrGnxDkmClAQ8g98AJyVLFLAO6ABUAx4DJppZvWIck+TN80A951xV4ArgGTNrXcxjkrwZDswr7kFIvtzhnKsceDUu7sEUpVIfnJpZDNALeMw5t9c59w3wCXBD8Y5MguGc+8A59xE+K4OUIM65fc65J5xzq51zqc65ycAqQMFNCeGcW5yWJQVwgVeDYhyS5IGZXQfsAmYU91hE8qLUB6dAIyDFObcsQ9siQDOnIkXIzGLx/z+qYEYJYmYjzGw/8CuwEfismIckQTCzqsBTwL3FPRbJt+fNbJuZzTazjsU9mKJUFoLTysDuTG27gSrFMBaRMsnMygEJwHjn3K/FPR4JnnNuCP7vywvxBVCScz5DwsTTwFjn3LriHojky4NAPHAaPhH/p2ZWZp5alIXgdC9QNVNbVWBPMYxFpMwxswh8BbdDwB3FPBzJB+dcSmBJVG1gcHGPR3JmZi2BzsA/i3sskj/OubnOuT3OuWTn3HhgNnBZcY+rqEQV9wCKwDIgyswaOud+C7S1QI8WRULOzAwYi9+MeJlz7nAxD0kKJgqtOS0JOgL1gLX+f0EqA5Fm1sQ5d3YxjkvyzwFW3IMoKqV+5tQ5tw//KOopM4sxs/OBK/EzORLmzCzKzCoAkfi/XCuYWVn4R1VpMRI4E+junDtQ3IOR4JlZTTO7zswqm1mkmV0KXA/MLO6xSa7G4P8R0TLwGgVMAS4tzkFJcMzsBDO7NO33nZn1AdoD04p7bEWl1AenAUOAisAW4D1gsHNOM6clw6PAAeAhoG/g60eLdUQSFDOLA27F/3LclCFfX59iHpoEx+Ef4a8HdgLDgL845z4u1lFJrpxz+51zm9Je+OVtB51zW4t7bBKUcvgUiluBbcCdQA/nXJnJdWrOueIeg4iIiIgIUHZmTkVERESkBFBwKiIiIiJhQ8GpiIiIiIQNBaciIiIiEjYUnIqIiIhI2FBwKiIiIiJhQ8GpiEiYMLPVZnZfDp/3M7O9RTmmnJjZm2Y2ubjHISKli4JTEZEMAgGXC7wOm9lKMxtmZjFBnl8vcG6bUI+1qJTGexKR8KUykCIix5sO3ICv1HIh8DoQg6+YJCIiIaSZUxGR4yUHSj+uc869CyQAPQDMe8DMVpjZATP72cz6Zjh3VeDPeYHZxsTAeeeY2Rdmts3Mfjezb8ysXUEHambdzewHMztoZqvM7FkzK5/h89Vm9qiZjQ5cd72Z3Z+pj0Zm9nWgj6Vmdlmg1Gy/nO4pw/l/NrMNZrbTzN4ws0oFvS8RKbsUnIqI5O4AfhYVfM3rAcDtQBPgeWC0mXULfN428GcX4FTgqsD7KsDb+JnYtsBC4DMzOym/gzKzS/GB86tAU+Bm4GrguUyH3g38DJwNvAC8mBYYm1kE8CFwBPgD0A/4KxCd4fzs7onA/TQDOgPXAj2BP+f3nkRE9FhfRCQHZtYW6A3MCKw7vQf4o3NuVuCQVYFjbgemAFsD7dudc5vS+nHOzczU751AL3zA904+hzcUeMk590bg/QozexB4x8zud865QPsXzrlXA1//n5ndBXQC5gCXAI0D97QhMLa7gdkZrpPlPQX8Dgx2zh0BfjGzSYG+n8/nPYlIGafgVETkeF0Cu+Kj8DOmHwN34mdKKwCfm5nLcHw5YHVOHZpZTeBp4CIgFogEKgJ1CzDO1kDbQECaJiLQ7ynAxkDbT5nOSwJqBr4+A0hKC0wD5gGpQY5hSSAwzdj3uUGeKyJyHAWnIiLH+y8wCDiMD9wOA5hZ/cDn3YG1mc45nEuf4/FB6d34QDYZmAGUz+Gc3EQATwKTsvhsa4avM4/Nkb6sywLv8yunvkVE8kzBqYjI8fY755Zn0b4EH1TGZX5Mn8GhwJ+RmdovAO5yzk0BMLNY/PrNgvgROCObsQbrF+A0M6vlnEsKtLXh2AAzu3sSESl0Ck5FRILknNtjZsOAYWZm+BnWyviNRKnOuTHAFvwGqkvNbDVw0Dm3G1gG9DWzufi0VC+SHvTl11PAZDNbA0zEb2pqBrR1zj0QZB9fAkuB8YECABWBfwT6SptRze6eREQKnR69iIjkzWPAE8B9wGJ8cNeLQLqlwPrLu4CB+PWXHwfOuxkfyP4ATADGkcs61dw456YB3fDrWL8PvB7i+CUHOfWRit9hHx04fzzwLD4wPZjLPYmIFDpL38wpIiICZtYCn+qqjXPuh+Iej4iULQpORUTKODPrCewDfgPq4R/rG9DK6ZeEiBQxrTkVEZEq+OT8dYCdQCJwtwJTESkOmjkVERERkbChDVEiIiIiEjYUnIqIiIhI2FBwKiIiIiJhQ8GpiIiIiIQNBaciIiIiEjb+H5ZwzWvT7w/PAAAAAElFTkSuQmCC\n",
- "text/plain": [
- "