Skip to content

Instantly share code, notes, and snippets.

@koaning
Last active July 6, 2020 19:53
Show Gist options
  • Save koaning/bc628caf8f7d905891e8886e7c574fcf to your computer and use it in GitHub Desktop.
Save koaning/bc628caf8f7d905891e8886e7c574fcf to your computer and use it in GitHub Desktop.
benchmark two
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"# %pip install scikit-lego"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.datasets import load_boston\n",
"X, y = load_boston(return_X_y=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The next cell is hidden, it contains the implementation of both mitigation techniques."
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"jupyter": {
"source_hidden": true
}
},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"from sklearn.base import BaseEstimator, TransformerMixin\n",
"from sklearn.utils import check_array\n",
"from sklearn.utils.validation import check_is_fitted\n",
"\n",
"\n",
"class CorrelationRemover(BaseEstimator, TransformerMixin):\n",
" r\"\"\"\n",
" A component that filters out sensitive correlations in a dataset.\n",
"\n",
" CorrelationRemover applies a linear transformation to the non-sensitive feature columns in order\n",
" to remove their correlation with the sensitive feature columns while retaining as much information\n",
" as possible (as measured by the least-squares error).\n",
"\n",
" Parameters\n",
" ----------\n",
" sensitive_feature_ids : list of columns to filter out this can be a sequence of either int\n",
" ,in the case of numpy, or string, in the case of pandas.\n",
" alpha : parameter to control how much to filter, for alpha=1.0 we filter out\n",
" all information while for alpha=0.0 we don't apply any.\n",
" center : setting to tell if this preprocessing step should center the data for\n",
" numerical stability\n",
"\n",
" Notes\n",
" -----\n",
"\n",
" This method will change the original dataset by removing all correlation with sensitive values.\n",
" To describe that mathematically, let's assume in the original dataset :math:`X` we've got a set of\n",
" sensitive atttributes :math:`S` and a set of non-sensitive attributes :math:`Z`. Mathmatically this method\n",
" will be solving the following problem.\n",
"\n",
" .. math::\n",
"\n",
" \\min _{\\mathbf{z}_{1}, \\ldots, \\mathbf{z}_{n}} \\sum_{i=1}^{n}\\left\\|\\mathbf{z}_{i}-\\mathbf{x}_{i}\\right\\|^{2} \\\\\n",
" \\text{subject to} \\\\\n",
" \\frac{1}{n} \\sum_{i=1}^{n} \\mathbf{z}_{i}\\left(\\mathbf{s}_{i}-\\overline{\\mathbf{s}}\\right)^{T}=\\mathbf{0}\n",
"\n",
"\n",
" The solution to this problem is found by centering sensitive features, fitting a\n",
" linear regression model to the non-sensitive features and reporting the residual.\n",
"\n",
" The columns in :math:`S` will be dropped but the hyper parameter :math:`\\alpha` does allow you to tweak\n",
" the amount of filtering that gets applied.\n",
"\n",
" .. math::\n",
"\n",
" X_{\\text{tfm}} = \\alpha X_{\\text{filtered}} + (1-\\alpha) X_{\\text{orig}}\n",
" \"\"\"\n",
"\n",
" def __init__(self, sensitive_feature_ids=None, alpha=1.0, center=True):\n",
" self.columns = sensitive_feature_ids\n",
" self.alpha = alpha\n",
" self.center = center\n",
"\n",
" def _split_X(self, X):\n",
" \"\"\"Split up X into a sensitive and non-sensitive group.\"\"\"\n",
" if isinstance(X, pd.DataFrame):\n",
" sens_df = X[self.columns]\n",
" non_sens_df = X[[c for c in X.columns if c not in self.columns]]\n",
" return sens_df.values, non_sens_df.values\n",
" non_sensitive = [i for i in range(X.shape[1]) if i not in self.columns]\n",
" return X[:, non_sensitive], X[:, self.columns]\n",
"\n",
" def fit(self, X, y=None):\n",
" \"\"\"Learn the projection required to make the dataset orthogonal to sensitive columns.\"\"\"\n",
" X = check_array(X, estimator=self, force_all_finite=True)\n",
" if (not self.columns) or (len(self.columns) == 0):\n",
" raise ValueError(f\"No sensitive feature ids were passed to this object, got {self.columns}\")\n",
" X_use, X_sensitive = self._split_X(X)\n",
" self.sensitive_mean_ = X_sensitive.mean()\n",
" X_s_center = X_sensitive - self.sensitive_mean_\n",
" self.beta_, _, _, _ = np.linalg.lstsq(X_s_center, X_use, rcond=None)\n",
" self.X_shape_ = X.shape\n",
" return self\n",
"\n",
" def transform(self, X):\n",
" \"\"\"Transform X by applying the information filter.\"\"\"\n",
" X = check_array(X, estimator=self, dtype=None, force_all_finite=True)\n",
" check_is_fitted(self, [\"beta_\", \"X_shape_\", \"sensitive_mean_\"])\n",
" if self.X_shape_[1] != X.shape[1]:\n",
" raise ValueError(f\"The trained data has {self.X_shape_[1]} while this dataset has {X.shape[1]}.\")\n",
" X_use, X_sensitive = self._split_X(X)\n",
" X_s_center = X_sensitive - self.sensitive_mean_\n",
" X_filtered = X_use - X_s_center.dot(self.beta_)\n",
" X_use = np.atleast_2d(X_use)\n",
" X_filtered = np.atleast_2d(X_filtered)\n",
" return self.alpha * X_filtered + (1 - self.alpha) * X_use\n",
"\n",
"import numpy as np\n",
"import pandas as pd\n",
"from sklearn.base import BaseEstimator, TransformerMixin\n",
"from sklearn.utils import check_array\n",
"from sklearn.utils.validation import check_is_fitted\n",
"\n",
"from sklego.common import as_list\n",
"\n",
"\n",
"def scalar_projection(vec, unto):\n",
" return vec.dot(unto) / unto.dot(unto)\n",
"\n",
"\n",
"def vector_projection(vec, unto):\n",
" return scalar_projection(vec, unto) * unto\n",
"\n",
"\n",
"class InformationFilter(BaseEstimator, TransformerMixin):\n",
" \"\"\"\n",
" The `InformationFilter` uses a variant of the gram smidt process\n",
" to filter information out of the dataset. This can be useful if you\n",
" want to filter information out of a dataset because of fairness.\n",
" To explain how it works: given a training matrix :math:`X` that contains\n",
" columns :math:`x_1, ..., x_k`. If we assume columns :math:`x_1` and :math:`x_2`\n",
" to be the sensitive columns then the information-filter will\n",
" remove information by applying these transformations;\n",
" \"\"\"\n",
"\n",
" def __init__(self, columns, alpha=1):\n",
" self.columns = columns\n",
" self.alpha = alpha\n",
"\n",
" def _check_coltype(self, X):\n",
" for col in as_list(self.columns):\n",
" if isinstance(col, str):\n",
" if isinstance(X, np.ndarray):\n",
" raise ValueError(\n",
" f\"column {col} is a string but datatype receive is numpy.\"\n",
" )\n",
" if isinstance(X, pd.DataFrame):\n",
" if col not in X.columns:\n",
" raise ValueError(f\"column {col} is not in {X.columns}\")\n",
" if isinstance(col, int):\n",
" if col not in range(np.atleast_2d(np.array(X)).shape[1]):\n",
" raise ValueError(\n",
" f\"column {col} is out of bounds for input shape {X.shape}\"\n",
" )\n",
"\n",
" def _col_idx(self, X, name):\n",
" if isinstance(name, str):\n",
" if isinstance(X, np.ndarray):\n",
" raise ValueError(\n",
" \"You cannot have a column of type string on a numpy input matrix.\"\n",
" )\n",
" return {name: i for i, name in enumerate(X.columns)}[name]\n",
" return name\n",
"\n",
" def _make_v_vectors(self, X, col_ids):\n",
" vs = np.zeros((X.shape[0], len(col_ids)))\n",
" for i, c in enumerate(col_ids):\n",
" vs[:, i] = X[:, col_ids[i]]\n",
" for j in range(0, i):\n",
" vs[:, i] = vs[:, i] - vector_projection(vs[:, i], vs[:, j])\n",
" return vs\n",
"\n",
" def fit(self, X, y=None):\n",
" \"\"\"Learn the projection required to make the dataset orthogonal to sensitive columns.\"\"\"\n",
" self._check_coltype(X)\n",
" self.col_ids_ = [\n",
" v if isinstance(v, int) else self._col_idx(X, v)\n",
" for v in as_list(self.columns)\n",
" ]\n",
" X = check_array(X, estimator=self)\n",
" X_fair = X.copy()\n",
" v_vectors = self._make_v_vectors(X, self.col_ids_)\n",
" # gram smidt process but only on sensitive attributes\n",
" for i, col in enumerate(X_fair.T):\n",
" for v in v_vectors.T:\n",
" X_fair[:, i] = X_fair[:, i] - vector_projection(X_fair[:, i], v)\n",
" # we want to learn matrix P: X P = X_fair\n",
" # this means we first need to create X_fair in order to learn P\n",
" self.projection_, resid, rank, s = np.linalg.lstsq(X, X_fair, rcond=None)\n",
" return self\n",
"\n",
" def transform(self, X):\n",
" \"\"\"Transforms X by applying the information filter.\"\"\"\n",
" check_is_fitted(self, [\"projection_\", \"col_ids_\"])\n",
" self._check_coltype(X)\n",
" X = check_array(X, estimator=self)\n",
" # apply the projection and remove the column we won't need\n",
" X_fair = X @ self.projection_\n",
" X_removed = np.delete(X_fair, self.col_ids_, axis=1)\n",
" X_orig = np.delete(X, self.col_ids_, axis=1)\n",
" return self.alpha * np.atleast_2d(X_removed) + (1 - self.alpha) * np.atleast_2d(\n",
" X_orig\n",
" )"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Next we import a lot of dependencies that we'll use for benchmarking."
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [],
"source": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pylab as plt\n",
"from sklearn.linear_model import LinearRegression\n",
"from sklearn.neighbors import KNeighborsRegressor\n",
"from sklearn.neural_network import MLPRegressor\n",
"from sklearn.ensemble import RandomForestRegressor\n",
"from sklearn.pipeline import Pipeline\n",
"from sklearn.model_selection import GridSearchCV\n",
"from sklearn.svm import SVR"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def bias_measurements(pred):\n",
" col_11_mean = X[:, 11].mean()\n",
" col_12_mean = X[:, 12].mean()\n",
" c11_upper, c11_lower = pred[X[:, 11] > col_11_mean], pred[X[:, 11] <= col_11_mean]\n",
" c12_upper, c12_lower = pred[X[:, 12] > col_12_mean], pred[X[:, 12] <= col_12_mean]\n",
" return c11_upper.mean() - c11_lower.mean(), c12_upper.mean() - c12_lower.mean()\n",
"\n",
"def run_stat(alg, filt, alpha):\n",
" pipe = Pipeline([\n",
" ('filter', filt([11, 12], alpha=alpha)),\n",
" ('mod', alg)\n",
" ])\n",
"\n",
" pred = pipe.fit(X, y).predict(X)\n",
" col_11_diff, col_12_diff = bias_measurements(pred)\n",
" return alg.__class__.__name__, filt.__name__, alpha, col_11_diff, col_12_diff"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [],
"source": [
"def run_all_stats():\n",
" mitigation = [InformationFilter, CorrelationRemover]\n",
" algorithm = [LinearRegression(), \n",
" MLPRegressor(), \n",
" SVR(),\n",
" KNeighborsRegressor(10)]\n",
" for mit in mitigation:\n",
" for alg in algorithm:\n",
" for alpha in np.linspace(-1, 2, 20):\n",
" yield run_stat(alg, mit, alpha)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": true,
"jupyter": {
"outputs_hidden": true
}
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n",
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/neural_network/_multilayer_perceptron.py:585: ConvergenceWarning: Stochastic Optimizer: Maximum iterations (200) reached and the optimization hasn't converged yet.\n",
" % self.max_iter, ConvergenceWarning)\n"
]
}
],
"source": [
"df = pd.DataFrame([_ for _ in run_all_stats()])\n",
"df.columns = ('model', 'method', 'alpha', 'diff_c11', 'diff_c12')"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>model</th>\n",
" <th>method</th>\n",
" <th>alpha</th>\n",
" <th>variable</th>\n",
" <th>value</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LinearRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-1.000000</td>\n",
" <td>diff_c11</td>\n",
" <td>7.749205</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>LinearRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-0.842105</td>\n",
" <td>diff_c11</td>\n",
" <td>7.659456</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LinearRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-0.684211</td>\n",
" <td>diff_c11</td>\n",
" <td>7.536461</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LinearRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-0.526316</td>\n",
" <td>diff_c11</td>\n",
" <td>7.368640</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>LinearRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-0.368421</td>\n",
" <td>diff_c11</td>\n",
" <td>7.143185</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" model method alpha variable value\n",
"0 LinearRegression InformationFilter -1.000000 diff_c11 7.749205\n",
"1 LinearRegression InformationFilter -0.842105 diff_c11 7.659456\n",
"2 LinearRegression InformationFilter -0.684211 diff_c11 7.536461\n",
"3 LinearRegression InformationFilter -0.526316 diff_c11 7.368640\n",
"4 LinearRegression InformationFilter -0.368421 diff_c11 7.143185"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot_df = df.melt(id_vars=('model', 'method', 'alpha'))\n",
"plot_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"# %pip install plotnine"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [],
"source": [
"import plotnine as p9"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAz8AAAK4CAYAAABal0OXAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAPYQAAD2EBqD+naQAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeXwU9f348dcce+UkdwRyyBEFBLwAwQNF8URRQVGwLd5WebQeVVGLtgUrtrTVqrVo/WG1ivIVrAdSQfA+wAuhAkUUggRzkUCuPWfm98dsliwJSIBkd5P38/FYdmb2eu97N8O+5/OZz0exLMtCCCGEEEIIIbo4NdYBCCGEEEIIIURnkOJHCCGEEEII0S1I8SOEEEIIIYToFqT4EUIIIYQQQnQLUvwIIYQQQgghugUpfoQQQgghhBDdghQ/QgghhBBCiG5Bih8hhBBCCCFEt6DHOoBY27hxY6xDEEKIg1JSUrLX22QfJ4ToCva1nxOiPaTlRwghhBBCCNEtSPEjhBBCCCGE6Bak+BFCCCGEEEJ0C1L8iG5n9uzZPPHEEwf8+KlTp/L5558fwoiEEOLHPf3004wfP55zzjkHwzBiHU4ry5Yt49Zbb+3Q1/jzn//MvHnzAFi9ejUXX3xxh76eEKLr6fYDHojYeOedd1iwYAGbN2/G7XZTVFTEpZdeyqhRo2IdWpSbb76ZMWPGcMEFF0S2Pf3004fkucvLy7n88stxu90ApKamMmbMGK677jpUVY5LCNEdtLWPaUtlZSXPP/88zz//PNnZ2Z0U3d6tXr2a3/3udyxatCiybezYsYwdO/aQPP/s2bNZvnw5ur77Z8o111yzz+Lqsssu49Zbb2X48OGHJAYhRNckxY/odC+99BLPPvssN998MyNGjMDlcrF69WqWL1/eruLHNE0URUFRlMg2wzDQNK0jwu4wr7zyCk6nk61bt3LrrbdSUFDAeeedF+uwDlgifgZCxLuKigpSUlIOuPBJxL/LSy65hOuuu67TXi8RcySEaD8pfkSnamxs5KmnnuL222/ntNNOi2w/7rjjOO6447AsixdeeIHXXnuNxsZGBg8ezM033xz5D/+yyy5j/PjxvP3222zZsoX58+czceJEfvnLX7Jo0SKqqqpYsmQJGzZs4PHHH+e7774jMzOTq6++mlNOOaXNeO6//37Wr19PKBRi0KBB3HLLLeTl5TF37lzWrl3LunXrePzxxzn55JO5++67o44uBoNBnnrqKZYvX45hGAwfPpxp06aRkpICwGmnncatt97K//3f/1FTU8PIkSO54447cDgcrWIpLCzkqKOO4ptvvolsW7VqFU899RRlZWX07NmTadOmMWTIEMA+YnzUUUexdu1aNm7cyBFHHMF9993H/Pnz+c9//kNKSgp33HEHRx99NAA1NTU89NBDfPXVVyQlJXHeeecxefJkVFVl6tSpTJ06lVNPPTXy2lOnTuVnP/sZp512Gtu2beORRx5hw4YNpKSkcMkll3DhhRcCdkvYd999R3JyMu+//z6XX345U6ZMOchvihDdS3NLyhVXXMFzzz2HaZpMmjSJyy67jFWrVjFjxgyCwSDnnHMOxx9/PDNnzmTlypU88cQTVFRUUFBQwLRp0xg0aBBgt5w4nU5qa2v57LPP+NWvfsVrr73Wrn3Gm2++yfz586msrKRHjx5ccsklXHTRRTQ0NHDnnXdG4gH4+9//zvr163n11Vf529/+BsD69et59NFHKS0tJTc3l2uvvZaRI0cCu/cbaWlpvPPOO6Snp3Prrbdy3HHH7TNPs2fPJjMzs1VRNHPmTCorK5kxYwaqqjJhwgSuueYa2XcJIVqRvjWiU3399dcEAoE2CxGw/7N95ZVXmD17NgsWLCArK4vf/va3UfdZunQpv/nNb3jjjTfo0aMHYHeje/jhh/n3v//Njh07uPPOO7nkkkv497//zZ133smcOXMoLS1t9XqWZXHWWWcxf/58FixYQFJSEg899BAA119/PYMHD2batGksWbKEu+++u9Xjn3vuOb744gsef/xxnnnmGerr6yOPb/bee+/xyCOP8Oyzz7Ju3TqWLVvW5nvfsmULa9asoVevXgBs2rSJ+++/n2nTpvHqq69y5ZVXMmPGDHbt2hV5zFtvvcVtt93Gyy+/jGma3HTTTRQXF/Pyyy8zfvx4/vSnP0XuO3PmTJKTk3nxxReZM2cOS5Ys4Y033gDgjDPO4K233orc95tvvqG6upoTTzwRn8/HbbfdxqhRo1i4cCEPPPAA8+fP57PPPovc/6OPPmLYsGG8+uqrTJw4sc33J4TYt127dlFZWckLL7zA73//+8iBj+HDh/Pggw/So0cPlixZwsyZM9m2bRv33Xcf11xzDa+88goXXnghd955Z9T+YdmyZVx88cW88cYbnHTSSUD79hnp6encf//9LF68mOnTpzN37txIEdEyniVLllBUVBT1Xurr67nzzjs555xzeOWVV/j5z3/O7373u6j98CeffMKIESMi8f/hD3844NzNmDGD3NxcZs6cyZIlS7jmmmtk3yWEaJMUP6JT7dq1i/T09Kh+3C0tW7aMiRMnUlhYiMvl4oYbbmD9+vWUlZVF7nPRRRfRs2dPdF2PdFGYPHkyGRkZuFwuli5dyrHHHstJJ52EpmkMHDiQk046iXfeeafV66WkpDB69Gjcbjcej4fJkyfz1Vdf7ff7WbZsGT/96U/Jzs4mJSWF66+/nrfffptgMBi5z5QpU0hPTycjI4MRI0ZEtewAXHzxxZx99tlceeWVHH/88ZGjkq+99hrnnnsugwcPRlVVRo4cSd++ffnkk08ijz377LMpLCzE7XZz0kknoes65557Lpqmcfrpp7Nt2za8Xi9VVVV89dVX3Hjjjbjdbnr16sWkSZNYunQpYBc/q1ator6+HrB/IJ188sk4nU4+/vhjMjMzGT9+PLquU1hYyHnnncfy5csjcZSUlDBmzBhUVcXlcu13/oQQu6mqytVXX43D4WDAgAEUFhayadOmNu/79ttvM2zYMEaOHImmaZx11lkUFhbywQcfRO4zcuRIjjnmGBRFifxd7u8+A+CEE06gV69eKIrCkCFDGDZsGGvWrNmv9/LJJ5+Ql5fHuHHj0DQtEmvL/cbAgQM5+eSTI/FXVlZGFW8vvfQS48aNi1zq6uralU/Zdwkh2iLd3kSnSk9PZ9euXYRCoTYLoOrqavLz8yPrHo+HtLQ0qqurIy0ieXl5rR7Xclt5eTkffvgh48aNi2wzDIMzzzyz1eN8Ph+PPfYYn376aeSHv9frJRAI4HQ6f/T97Blvfn4+pmlSU1MTiSkzMzNyu9vtpqamJuo5Fi1ahK7rLF26lGeffRafz4fD4aCiooLVq1fz2muvRb2P448/PrK+53Pvud78fqqqqkhOTiY1NTUq1urq6sjygAEDeOeddzjvvPNYsWIFd911VySfmzZtisqnaZqR7nfQ9mcihGif1NTUqC6xLpcrUojsac99D0T/TUPbf5f7u8/weDysXLmSf/7zn2zbtg3TNPH7/RQWFu7Xe9lbfFVVVXuNpfm109PTAZg4ceJBnfMj+y4hRFuk+BGdatCgQTidTt5///2oc36aZWdnU15eHln3er3U1dVFneTbcoCDtrbl5eUxZswYpk+f/qPxLFiwgNLSUh577DGysrLYtGkT11577T5fq614+/XrB9j/2aqqGvWf+v5QVZWzzz6blStX8swzz3DTTTeRm5vLZZddxtSpU9v1XG3JycmhsbGRhoaGyPlI5eXlUXlt7vrWs2dPFEWJ9PvPy8tj0KBBrbrztfRjeRJCHFrZ2dls3Lgxalt5eXnUOTMH83cZCAS47777uOOOOzjllFPQdZ0ZM2ZgWdZ+x9dyX94cX+/evQ84ph+z5/uVfZcQoi3S7U10quTkZK6++mr++te/8u677+L1ejEMg9WrVzNnzhzOOOMMFi5cyPfff08gEGDu3LkceeSRkVaf/TF27FhWrVrFRx99hGEYBINB1q1b1+Y5P01NTbhcLlJSUqivr+fZZ5+Nuj0jI4Pt27fv9bXOOOMMnn32WXbs2EFjYyNPPPEEp556apsDGuyPKVOm8Nprr7Fjxw7GjRvH66+/ztq1ayNHXb/88suoI6f7Kycnh8GDB/P444/j9/spKytjwYIFUcPSnnrqqWzYsIH58+dHuoGA3XWmvLycxYsXEwgEMAyD7777jg0bNhzQexRCHLxTTz2VTz/9lJUrV2IYBsuWLWPr1q2Rc3sOVigUIhgMkp6ejqZpfPrpp1HnymRmZtLQ0BBpMd/TiBEjKC8v54033sAwDD7//HM+/vhjTj/99EMSX1syMjKiukjLvksI0RZp+RGdbuLEiWRlZfHiiy8ye/Zs3G43xcXFXHrppYwYMYKamhruuOOOyGhv9913X7uePycnhwceeIC5c+fy4IMPAtC3b19uvPHGNmOZNWsWF154IdnZ2VxyySW89957kdsnTJjAgw8+yOLFixk1alSkK1izKVOm4PV6ueGGGwiFQgwbNoxf/OIXB5AVW79+/RgyZAjz589n2rRpTJ8+nb///e9s3boVXdc58sgjufnmmw/ouWfMmMHDDz/MpZdeisfj4dxzz40aUjs1NZURI0bw/vvv8/Of/zyy3ePxMGfOHB5//HH+8Y9/EAqFKCws5Kqrrjrg9ymEODgFBQXcd999PPHEE8ycOZPevXvzwAMPRLqMHaykpCSmTZvG/fffTyAQYNSoUZGR2sAenfKMM87giiuuwDAMHnvssajHp6WlMXv2bB599FH+9re/kZOTwz333NNqYIRDafLkyTz66KM89dRTXHzxxVx11VWy7xJCtKJY+9uG3UXt2W1ACCESTUlJyV5vk32cEKIr2Nd+Toj2kG5vQgghhBBCiG5Bih8hhBBCCCFEtyDFjxBCCCGEEKJbkOJHCCGEEEII0S1I8SOEEEIIIYToFrr9UNftnYwS7EnRPB4PXq93vyd8ixdOp5NAIBDrMNpNct65EjnfIDlv6UD2cZqmkZGRQW1tLYZhHLJYOktycjKNjY2xDqNdEjnniZhvkJzHwsHk/FCPXCmjx3VfCVX8vP7666xYsYItW7YwcuRIbr/99shtpaWlPPLII2zZsoW8vDyuu+46hg4d2iFxqKpKUlISfr8/4XaYLpcr4X4UguS8syVyvkFy3t01T9ArOofku/NJzoU4cAn115OZmcmll17KmWeeGbU9FAoxc+ZMhg8fzvz587nssst44IEH2LlzZ4wiFUIIIYQQQsSbhCp+Ro0axQknnEBaWlrU9rVr1+L3+5k4cSIOh4OTTz6ZwsJCPvzwwxhFKoQQQgghhIg3CVX87M3WrVspLi6Oagbu06cPpaWlMYxKCCGEEEIIEU8S6pyfvfF6vSQnJ0dtS05OprKystV9q6urqa6ujqyrqkpOTk67Xk/TtKjrRKIoSkLGLTnvXImcb5Cct/W88RBLZ5HPv3MlYr5Bch4LiZxz0XV0ieLH4/G0GvWksbERj8fT6r4LFy7kySefjKxPnTqVadOmHdDr7tn9LlE4nc5Yh3DAJOedK1HzDZLzZhkZGQf8WPn8O1+i5jxR8w2S81g4kJxXVVV1QCSiO+oSxU9hYSELFy7ENM1I17fNmzdzyimntLrvhAkTGD16dGRdVVVqa2vb9XqappGWlkZdXV3CjcqUyMNjSs47TyLnG7pfzvdV4LR3/3awscSD7vb5x1oi5hsk57GQyDkXXUdCFT+GYWAYBqZpYpomgUAAVVUZPHgwTqeTRYsWMX78eFauXElpaSknnnhiq+fIzs4mOzs7sl5dXX3Af4DN8SQSy7ISLuaWJOedKxHzDZLzPZ8vXmLpLPL5d65EzjdIzmMhEXMuuo6EKn5efPFFXnjhhcj6hx9+yJgxY7j55pv59a9/zaOPPsoLL7xAbm4ud911Fz169IhhtEIIIYQQQoh4klDFz+TJk5k8eXKbtxUXFzNnzpxOjkgIIYQQQsTarbfeimVZ+7zPX/7yl06KRsSzhCp+hBBCCCGE2NNpp50WWfb7/Tz99NMcffTRjBgxIoZRiXgkxY8QQgghhEho559/PgCBQIB77rmHvLw8Vq9ezUUXXcRxxx0X4+hEPOkSk5wKIYQQQojuze/3M336dLxeL48++ih33303v/nNb/jvf/8b69BEHJHiRwghhBBCJDSfz8ddd91FKBTij3/8Ix6Ph1GjRnHLLbdwzz33sGnTpliHKOKEdHsTQgghhBAJ7e6778YwDP7whz/gdrsj28eMGYPP5+OOO+5g0aJFMYxQxAspfoQQQgghREKzLIsHH3wwqvBpdu6559LU1BSDqEQ8kuJHCCGEEEIktOZub/syceLETopGxDMpfoQQQgghREI799xz29xeU1PDyy+/TENDQydHJOKVFD9CCCGEECKhNQ913ayhoYEFCxawaNEiRowYwVVXXRWjyES8keJHCCGEEEJ0CYFAgEWLFjF//nwGDBjAQw89RL9+/WIdlogjUvwIIYQQQoiEZhgGS5Ys4ZlnniEvL49Zs2YxePDgWIcl4pBiWZYV6yBiqa6uDpfL1a7HKIqC0+kkEAiQaOnTdZ1QKBTrMNpNct65Ejnf0P1yvq99mNfrRVXbN6WbfP6dL5Fznoj5Bsl5LBxMzktLS/d5+09+8hPq6+uZPHkyJ5xwQpv3KSwsjCyXlJS06/VF19HtW34CgQCBQKBdj9E0DafTSWNjI4ZhdFBkHSM1NZX6+vpYh9FukvPOlcj5hu6X830VP42NjZ0aSzzobp9/rCVivkFyHgsdmfPt27cDMHfuXObOndvqdsuyWLFixSF9TZGYun3xI4QQQgghEtvy5ctjHYJIEO3rCyGEEEIIIUScsiyLnTt3xjoMEcek5UcIIYQQQiS0UCjEE088wWuvvYbf78flcnH++edz3XXXoevyc1fsJi0/QgghWmla918C/1tPqHQLRkU55s5aLJ8XyzRjHZoQQrTy3HPPUV5eztNPP01KSgpz585l69atzJs3L9ahiTgjpbAQQohWahYtwFe6GYLB1je6XCguN4rbHXWN243icqEkJaMmJ6Mkp6Akp6CmpISXk1F0R+e/GSFEl7ds2TL++te/kpmZCdgju9111138/Oc/59prr41xdCKeSPEjhBCild6//h21tbWEAgEsvw/L54PwteXzYfn94e1e8PvD23xY9fWYlRUEGxuwGhuxGhrAaDEkr8sdVRgpKSm715OSQFHBMsECLGv3BfvaXmxxe3g7qhopwrwZmYRME8XthubizO1B0bSY5FII0fF27twZKXyaeTwevF5vjCIS8UqKHyGEEHulaBpKUjIkJR/Q4y3LAr8fs7EBq7EBq8G+NpuLo8YGjOoqrC2bsZqawi8KKErURaF5GbtAarkMYJqRIs0bLszYcx4R3REuhHa3WOF2o+Xmo/fph354HxS350BTJYSIoYyMDGpra8nIyMCyLCorK5k3bx7HH398rEMTcUaKHyGEEB1GURS7wHC7ISu7U14zNTWVul27oEWrld0y5Y20WtHcUtXUhPF9Kf4P3oFQCK1nb/S+/dD69EM/vC9qckqnxCyEODinnXYa69at48QTTyQUCnHFFVcwevRofvnLX8Y6NBFnpPgRQgjR5Siqap+D5HZD+o/f3wqFMLZtJfTdJkLfbsK/8mPw+1DzD7Nbhfr0R+/TFzVtP56s+Tn9fsydtZg7azB37sSsrbEHjqitxTJCqD0yUDMzUXtkomfnECg+HEvTQbrnCdFuV111VWT5X//6F5mZmfbBFyH2IMWPEEKIbk/RdfTiPujFfWDMmViGgbF9m10Mffct3oUvYHmbULNz0Pv2R+/TD613IZa3yS5wapuLHLu4MXfW7O7Gp+t2oZORaV/36Yui65g7azHKygj+dy3e2h3UhweXUJJTUDOz7Ps3XzKbl7Psgk4IEaW8vDxqvaKiIrKcn58PQGVlJbm5uZ0al4g/Xab4eeihh3jvvfeixnJ/7LHHyMnJiWFUQgghEpGiaegFRegFRTD6dCzTxKz4IdIy5H39Zaz6evu+qWmR4kbLykHtV4LSIxM1IwM1PQMlJeVHj0Crqkq6rlOz+VuC1dWYtTswa2swKisIblyPWVMDfp99Z7cHNb0Hano6ao8MlLR01B49UNMzUNPTUdJ7oCQly1Fv0a1MmTIFy7Jafe8ty2LFihUAXHnllSxevDgW4Yk40mWKH4Dx48fzs5/9LNZhCCGE6GIUVUU7rBfaYb1wnTgay7Kw6utQkpIOyfDdiqKgpaWhFxaj9CpodbtlWVheL2btDqydOzF37cTcVYu5axdm6WaCa3Zi7qyFQMB+gO6IFEJq+KKkpaPoOqiqPTpe+Hr3ugaqAqrW6j5KUjJqdo69LkQc+s9//vOj93nllVc6IRIR77pU8SOEEEJ0BkVRUNpx/s8heb2kJNSkJGijOILwyHo+X7gwsi9W+Nqo+AHrm/9hmQYYJpiGPUKeaUKLi71ugGlF7hPhcqH17I3WuwC9dyFarwLU3LxOyoAQ++Zw2AchKisrqa6uJisri7y86O9ny95BovvqUt+CN998kzfffJPs7GzOP/98xo4d2+o+1dXVVFdXR9ZVVW131zgtfDKqloAnpSqKEtdxW5aF8UOZfZQxvUek+Vpy3rkSOd8gOW/reeMhls7SrT//lBT70qv3IYjKZpkmVn0doe+3EtpmX7xrvsTatQucLnwFhSg9e6MXFKL1LkDLzU+IOZUS+XueiN9xOPQ5X7lyJRkZGZSUlFBRUcGsWbNYt24dKSkpNDQ0MHDgQGbMmCHn+YgoimXtORFCYvr222/JyckhOTmZr7/+mgcffJCbbrqJUaNGRd1v7ty5PPnkk5H1qVOnMm3atM4OV+whtLOW+g/fo+79dwiW/wCAmpyCq6AQZ0ERrsIinAWFOHv2RnU6YxytEEKI0M6d+Ld8h790M/4t3+HbshmjtgbF6cRVWISrqA+u4sNJGjQYPTMr1uGKBLdx48ZW2y677DL+9Kc/0atXL2655Rb69u3L1VdfHZnc9B//+AebN2/mz3/+c6vHlpSUdEbYIg51meJnT88//zxlZWXcfvvtUdsPVctPWloadXV1GIYBhI+Meb1YPq997W3C8nkxm5e94e1+H1YoBKEQVigIhhG9HgrZ65HtwcjtitMVGRZVzchAy8iyT6htHg0oLf1Hj7YlJyfT2NjYrvfbUSzDILhuLb6VHxFc/zVqZhbuEaNwHj8CgkFCZdswfigjtH0bxvYyzJodoKpoObn2XBw9e9ldMHr2tvu2x+nJvfGU8/3V1nc8kXS3nGdkZOz1ttra2k6NJR50t88/1lrm26yvs1uHwq1ExtZSzF070Q/vi/OY43ENPaZdw4V3pK6S80RyMDmvqqpqte2cc85hyZIlAIwbN46XX3450v0NIBQKceGFF/L666+3eqwUP91Xl+r21pKiKLRV12VnZ5OdvXuiverq6nb/AQa/+R91by0hWF+P2dSE5fPtHoWnmaqiuD0onvAlvIzLjeJwgCcJVbfnc1B0HXTdvtail1veZvl99nCq4bkiQtvLMGtrsOp22TOZq6o96k9zMdRyaNWsbNTMLKykpJjv5I3KcgIrPybw+Sosvx/H0GNIuf4XaH36RhUwemYW+uChuAjvMF0udqz/muC2rRg/bMe/9iuMpUsgGEBJSkI7rDdaQSGOIcegFRTGTTFkWVbMc36gDMNIyNgl59HPFy+xdBb5/DtXVL6TktFKBqCVDMDVfFvZ9wS//BzviqU0vbwAvW9/HEcfi2Pw0XExiWzC5zwBHaqcZ2ZmsnbtWgYPHkyfPn3YunUrffv2jdy+ZcuWqHUhoAsVPx988AHHHnssbrebDRs2sHjxYq677roOeS0lLY3kIcfiw8JyuXcXOS2ucTo77ce3ZRj23BI7a8PzTdTYQ6SWfU/wv19h1tZAMAiKQkNmFkpmll0MZeWgZuegZWWjZmWjuFwdF6PPR+CrLwh8+gnGlu/QCotxnz0O59HH2vnaD1pSEo4+/VCLDt/9vKaJuaMa44cyjO1lhL7bhP/d5ahZ2TiOOR7nMcejyQm5QggRE4qioPcuRO9diPu88RhbtxBY/QW+pW/gXbQAvf+RdiF01BBUT1KswxUJ5qKLLuLuu+/mrLPOYtCgQUyfPp3TTz+dnJwcqqqqeOuttzj77LNjHaaIM12m29v06dMpLS3FNM3IgAf784Vv2QVuf2maRkZGBrW1tQlx5MUekrUec0cVzoZ6Gsu2YVZXYe6oxqyuxPJ6AbuoU7PCxVB2jl0gZWTaRZHTheJ0ojicdmG3H8OdWpaFseU7Aqs+JvDVFygOJ87jhuMcPhIt/7B2vYf25NzcWUtg9RcEv/wUo2wbWu8CuxA6+jjU9B7tet1DITU1lfrwfCCJItG+43vqbjlv2Zq9p+6wj9tTd/v8Y+1A8m2ZJsbmbwms/pzgmtVYPh/6kQNwDj0Wx6AhHXowrll3y3k8OJic19TUtLl91apVvPfee1RVVREMTxTckmVZ/OUvf2m1Xbq9dV9dpvg5UN3th0FbO0yzqRGzuhpzh10QGdVVkeLIqq9r+4l0B4ozXAiFLzhdKA5nZLuxtRSzuhL9yIE4h4/EMeAouxvfATjQnBsV5QS+/Izgl59h1uywu1scc7zd3SKpc44yJuJ/Uon8HYful3MpfqJ1t88/1g4235ZhEPp2I8HVXxBcuxorGMIx8Cgcg4ei5ubZI38m//hEse3VnXMeKx1R/BwoKX66ry7T7U0cODUpGbUwGQqLWt1mGQZWwA+BAFb4QsCPFWxe3vt25/HDcR4/IiatLc20vHw8Z4/DfdZ5GFtLCXz5Gb4lr+FdtADHgIF2ITTwKLtFSwghRKdTNA1HyQAcJQOwLp5EaOMGAl99gXfRAixvk30nXbeLoPQe9nmszZO39shA6dFjd4Ekk7AKIX6EFD9inxRNQ/EkQYL3xVYUBb2oGL2oGOv8i+yjjF98RtOC5wFwDB6KXtzHPm/L7bYvLrd9DpfLDS6X/KcqhBAdTNF1u9Vn4FEA9qipu3Zh7qrF3Nli0tYfyghu+Bpr587dBZKmoab1sH2s5LgAACAASURBVIuhrGz0giK0wiK0w3odcK8DkThOP/30Nge6atY8ENaKFSs6MSoRj2RvILqdlkcZPRMmEVz3NcEvP8P/7gosv9cevS8QaP1Al8suiJoLo+Yiye2xz5dKt49GKj3CRyOTkuNmxDkhhEhEituD5vag5eXv9T6W349ZtzO6OKoox//Bu5hVFaDraL16oxUUoxcWoRUUoWa3b4oLEf+efvrpqPXa2lr+9a9/ccoppzB06NDYBCXikhQ/oltTHE6cQ4/BOfSYqO2WYWD5/eDzRQoiy+ez52lqsYzPh+Vtwtj2PcH/rsXctRN89gASzd00vFnZmCmp4S4aPVDTpZuGEEIcKorLhZaTh5bTemRPs6kJY1spxtZSQt+X4v3qc6z6ehRPEnpRMWbJkYRy81F6FaCmpsYgenGoFBQUtFq/9957uemmmxg3blyMohLxSIofIdqgaBpKUhIcwKAIls+HuWtnpJuGw+fFV1HedjcNRQnP4+QAh46iha91BzTP8eRw2ANMRK3raD174zzmeHtdCCFEK2pSEmq4pR/Co5/urCW0tRRz21a8/1uP7z+vQyCAmpGFVlhkD4wzYBBqRmaMoxcHyzCMQz5Qgkh8UvwIcYgpbjeaOz/STSM1NRV1j1F5LL8fc9dOrPp6rFAQQkGsUAhCIaxg0L4OBfe+3tiI74tP8S1+BefIk3CNOjluZk0XQoh4pSgKSkYmzoxMtGOPJyMjg5rqaoI/lBHaWoqxdQu+FUvxLnoRNf8wHEcOwjFgEFpxHxRNi3X4Yh+efPLJqHWfz8cnn3zCyJEjYxSRiFdS/AgRA4rLZU++ehATsFqBAIEvVuF/7x38by/DcfRxuE4+Db13wY8/WAghBGC39GuH9UI7rBeMGIVlWZgV5QTXf01ow9f431sBTieOkgHoRw7EceRAOdgUh/Zs4fF4PPzkJz9h7NixMYpIxCspfoRIUIrTieuEk3COOJHQxg3433+bhoceROvTD9fJp+EYNFjOJxJCiHZSFAUt/zB7Mu7TzsDyegl+s4HQhnX2VAkLnkPrVYA+INwqVFAk+9o4cOedd8Y6BJEgpPgRIsEpioLjiAE4jhiAUVmO//13aXr+n6gpqThPHo1r2EgUjyfWYQohREJSPB6cQ47BOeQYLNPE+KGM0PqvCW5Yh3/5m/bgCUcOxHHEALTehajZOdJFLgZWr169X/c7+uijOzgSEe+k+BGiC9Fy80maMAn3OeMIrPwI/7sr8L25GOewkbhOGo0mw7sKIcQBU1QVvVcBeq8C3GecjdnYQOh/6wluWIf39Zex6uvtAWnyDkM7rCfqYT0jXepkNLmONWvWLHbu3IllWaSkpNDQ0ICiKKSnp0emnbAsi4ULF8Y4UhFrUvwI0QWpScm4TxuL65QxBNeuxv/+29Q/+C76wKNwnTjaHozB4dg9kpzMRySEEO2mJqfgPHYYzmOHAWDW12H8sB3jhzKMH7YT/OJTfOWvgRFCSU0NF0I90fJ7ovbshZabLyN2HiKXXnop5eXlXHvttXg8HrxeL08++SR5eXlMmjQp1uGJOKJY+5oOtxuoq6vD5XK16zGKouB0OgkEAvucTTge6bpOKBSKdRjtJjk/eP7vNtGwYilNn38Kphl1m+JwhIshJ4rDgep0orpcoOn2dqcTxeFETU7GWXQ4rsP7oucfFrf93OMl5+1xMN/xfe3DvF4vajs/p0T+e4Pu9/nHWiLmGzov55YRIlRRQbDsewLbvidY9j3Bsm0YNTtAVdHz8tFzclFdbhSXC8XlQnW6wsvu3etuF0p4uyMpGVPX7ds8SXG7L97TweS8tLR0n7dffPHFvPjiizhaFJPBYJBJkyaxaNGiVvcvKSlp1+uLrqPbt/wEAgECgUC7HqNpGk6nk8bGRgzD6KDIOkZqair1ewy7nAgk54dATh7OST9Bv2ACVlMTBIP28NnBIFYwAMHwMNrBAIph4HE4aKrbheH3YwWDmKEgodpamtasxqqtAbcbvbAYrbDYvi4qRk1OifW7BOIo5+1wMN/xfRU/jY2NnRpLPOhun3+sJWK+oZNznpoGRw5CO3IQGuDGnoDVLLdbicyaHYQCASyvF3btxPL7sQIBCASwAv7wJQB+P+xZNDgcqJnZqNnZaFk5qFn2spqVg5qR2eHnH1mWheVtwmqox6qvx6yvx2qoC1/XY9bXYTU0YNXXo2ZmUjxjZofkXNd1tmzZQv/+/SPbNm/eHFUMCQFS/AjR7aieJPDse/JWTdPokZGBVVvb5n9QZt0uQlu3YJRuwdj8rT0UbCCAmp0TVQxph/WyJ2cVQggRRU1KQu3TD71Pv/1+jGVZEAqR7HTSsGMHVsBvT6hdXYW5oxpjRxXB/63D3LEDQkFQVdSMTLsgalEYaVk5qD0ysEwD/HsUWAF/G8WXfR1Z93rtQqfBLnBo/n9CVVGSU1BSU1FTUlFS09ByclEO74eamoregeedTpo0iV/96lecddZZ5ObmUlFRwdKlS/npT3/aYa8pEpP8KhFCtJualo7zqKFw1FAALMPArPiBUOkWjNLN+D96H/Pf/2ef+Nu7EL2wGL1vf/SSI1AczhhHH5/MpkaslPhoORNCxCdFUcDhQEtJQQ23AGn5h8ER0fezTBOrvg6z2i6IzB12cRRcvQVzR7XdwtQWVUVxucDpsrs7O53hZVd42YniTrJblFLSUFNTUVJSUVPTUFJTUX6kC57Wga1QEyZMoG/fvrz11lt89tlnZGdn89vf/lZGdxOtSPEjhDhoiqah9eyN1rM3jDwJANPbhLG1FKN0C6HSzfg//gCw0EsG4Bg0GMeAo2T0I8BsbMD/3goCH7yH44qpkYJSCCEOlKKqKOk9UNN7oPdt3bJkNjVi7awFXUdxtih2Eryl/uijj5ZiR/yoxP6WCyHilupJQg3PPwRgBQOEvtlI8Os19kSB//c8WtHhdiE0aAhabl6MI+5cZl0d/neX4//4fdT0DJInXEbqqJPZWVcX69CEEF2cmpQMScmxDuOQCgaDPPfcc7z11ltUV1eTnZ3NGWecwRVXXIGe4EWdOLTk2yCE6BSKw4lj4FE4Bh5lTxT4/VaCX68h8NkqfItfQc3JxTFoCI5Bg9GKDk+Y0Yvay9y1E9/bbxH45EPU7GySLp2CY8gx6A6HTIwohBAH6KmnnuKrr77ixhtvJD8/n4qKCp5++ml8Ph833HBDrMMTcUSKHyFEp1NUFb2oGL2oGM+5F2BUVxFct5bgf9fgf3c5SlIyjoFHoQ8ajKP/kXYf9ARn1tTge3spgVWfoOXnkzRlKo5Bg7tskSeEEJ1p+fLlzJ07l8zMTAD69OnDEUccwQ033CDFj4gixY8QIua07By0U8bgPmWMPWP6hnUEv15L0/xnwDRxHnM8rlPG2Cf2Jhijugr/iqUEPluJ1ruQ5J9dgz5gkEwsK4QQh5BhGK2G/Xe73Qk3dLzoeFL8CCHiipqcgvO44TiPG44VDBLauB7/B+9SP+d+9CMG4DplDHrJkXFfPBgV5fiWv0nwy8/QivuQfM3P0fvHf9xCCJGIRowYwezZs7n22mvJz8+nvLycuXPnMnz48FiHJuKMFD9CiLilOBzh84CGYGzfhu+9t2n8f39Hzc7FdcppOI8dhhJHE9hZloWxfRv+FcsIrvkSvV8JKTf8Ar1v/x9/sBBCiAM2bdo0Hn74Ya666ipM00RVVU477TSmTZsW69BEnOlSxU9DQwOPPfYYX3zxBR6Ph4suuojx48fHOiwhxCGg9exN8mU/wTz3Avwfvodv8Sv43ngV56iTcY06JWbDZps1NQQ3/Y/Qpo2ENm3EqtuFfuRAUm66Bb24T0xiEkKI7iY5OZm7776bO++8k5qaGjIzMzt0XiGRuLpU8TN37lyCwSDz5s2jsrKSGTNm0Lt3b4477rhYhyaEOETUtHQ855yP+/SzCHy+Cv97b+N/exnOY4d1ynlBZl0doW83Roodc0c1Slo6ev8jcJ9zPo5+JagZmR0agxBCiLZpmkZOTk6swxBxrMsUPz6fjw8//JC//OUvJCUlUVxczJlnnsmyZcuk+BGiC1KcTlwjT8I5YhShDevwv7fCPi+o5Ej0s8dhFRQdkvNrzKZGQt9uIhRu3TErylGSktH7leAafTp6/xLU7Fw5l0cIIWLo9NNPx7KsNm9bsWJFJ0cj4lmXKX7KysqwLIuioqLItsMPP5yPP/44hlEJITqaoqqR+YOazwuqfuwvqNk5OI8fYc9eDtCyOGlejmxSWt3HrKoktOl/GGXbwOlC79MP54hRdstOfk8ZoloIIeLI008/HVm2LIvKykqef/55Ro8eHbugRFzqMsWPz+cjKSkpaltycjJerzdqW3V1NdXV1ZF1VVXb3Tza3Ic0EfuSKoqSkHFLzjtXouZbKyjCOWUq7kunULNsCYHVn4NlgQXhf+z1Fqu7tzdfWWBZaBmZuIYeiz7xcvTehR0+AWlH5fxAni9RP/9m8jfXuRIx3yA5j4WOzHlBQUHUemFhIf379+cXv/iFnP8tonSZ4sftdrcqdJqamvB4PFHbFi5cyJNPPhlZnzp16gGPBJKWlnZAj4s1p9MZ6xAOmOS8cyVqvgF6TflZrEM4IIc65xkZGQf82ET+/OVvrnMlar5Bch4LB5Lzqqqqdj/G4/FQXV2NYRgJWSyKjtFlip9evXoBsHXrVgoLCwHYvHlzZLnZhAkToppAVVWltra2Xa+laRppaWnU1dUl3ORZycnJNDY2xjqMdpOcd65Ezjd0v5zvq8Bp7/7tYGOJB93t84+1RMw3SM5joSNz/t133+FwOCItQNu3b8cwDBYvXnxIX0ckvi5T/Ljdbk488USeffZZbrnlFqqqqli6dCm//OUvo+6XnZ1NdnZ2ZL35iMCBMAwj4XaYlmUlXMwtSc47VyLmGyTnez5fvMTSWeTz71yJnG+QnMdCR+R8zpw5XH311RQUFPDuu+8ye/ZswO7hM2nSpEP6WiKxdakzdq+//no0TWPq1Knce++9TJgwQUZ6E0IIIYTo4rZu3crgwYMBePnll7n77rv5xz/+waJFi2IcmYg3XablByAlJYXp06fHOgwhhBBCCNGJVFVF0zQCgQCbNm1ixIgROJ1OGhoaYh2aiDNdqvgRQgghhBDdT//+/Zk3bx5er5chQ4bgdDqpqamhR48esQ5NxJku1e1NCCGEEEJ0PzfffDPr1q1j06ZN3HDDDQA0NDRwzTXXxDgyEW+k5UcIIYQQQiS0goIC/vznP0dtKywsbDXqrxBS/AghhBBCiIS2evXqH73P0Ucf3QmRiHgnxY8QQgghhEhos2bNilqvra2NmgOttraW5cuXd3ZYIg5J8SOEEEIIIRLaSy+9FLV+wQUXRG0777zzOjskEadkwAMhhBBCCNFlGIaB3++P2qYoSoyiEfFGih8hhBBCCNFlzJ8/n1AoxNq1awFYv3496enpMY5KxAvp9iaEEEIIIRLehx9+yPPPPw/AZZddxh133EFxcTFbtmzhyiuvjHF0Il5I8SOEEEIIIRLalVdeSX19PZMnT2b8+PFomsbAgQMpKyujX79+HHvssbEOUcQJKX6EEEIIIURCGzduHOeffz5OpzOy7cQTT4xhRCJeKZZlWbEOIpbq6upwuVzteoyiKDidTgKBAImWPl3XCYVCsQ6j3STnnSuR8w3dL+f72od5vV5UtX2nd8rn3/kSOeeJmG+QnMfCweS8tLT0R+/z4Ycf8uqrr1JRUUF+fj4XXHABo0aNavO+JSUl7Xp90XV0+5afQCBAIBBo12M0TcPpdNLY2IhhGB0UWcdITU2lvr4+1mG0m+S8cyVyvqH75XxfxU9jY2OnxhIPutvnH2uJmG+QnMdCR+Z8xYoV/POf/2Ty5Mn89a9/5eKLL+bRRx+lsbGRsWPHHtLXEolNRnsTQgghhBAJbf78+dx7772cddZZaJrGBRdcwO9//3vmz58f69BEnJHiRwghhBBCJLTy8nL69u0bta2oqIiqqqoYRSTilRQ/QgghhBAiobndbrxeL0DkfKLFixfTp0+fWIYl4lC3P+dHCCGEEEIktsGDB7N69WpGjhxJKBRiypQpANx///0xjkzEGyl+hBBCCCFEQrv99tujlnNychg4cCCapsUwKhGPpPgRQgghhBAJzePxYBgGa9asAUi44ctF55HiRwghhBBCJJwlS5bQq1cvhgwZwrfffsuvf/1rAoEAWVlZ7NixA5fLxcyZM1sNhCC6NxnwQAghhBBCJJynnnqKnj17AvDHP/6Riy66iIULF/LEE0+wcOFCxo8fz5w5c2IcpYg3UvwIIYQQQoiE09TURGZmJgDff/89EyZMiLp94sSJfP/997EITcQxKX6EEEIIIUTCyc3N5eOPPwZg6NChrF27Nur2NWvWMHTo0FiEJuJYlzjnZ/ny5TzyyCM4nc7IthtvvJFTTz01dkEJIYQQQogO89Of/pTf/e53DBs2jMzMTO6++26GDx9OTk4OVVVVrFq1irFjx8Y6TBFnukTxA9CvXz/p1ymEEEII0U2MGTOGvn378v7771NVVcXo0aMBaGhowOPxMHr0aAKBQIyjFPGmyxQ/QgghhBCieykqKqKoqCjWYYgE0mWKny1btnDFFVeQlJTEqFGjuPzyy3G5XK3uV11dTXV1dWRdVVVycnLa9VrNE2Yl4sRZiqIkZNyS886VyPkGyXlbzxsPsXQW+fw7VyLmGyTnsdCROS8vL9/rbfn5+Yf89UTiUqwuMAtU8xc+NzeX7du389BDD9G/f3+uv/76VvedO3cuTz75ZGR96tSpTJs2rdNiFUIIIYQQ7bNx48Z93n766adjWRaKogDRk5yuWLGi1f1LSkoObYAiYcR98TN79mw++uijvd7+6quvttq2Zs0a5syZwzPPPNPqtkPV8pOWlkZdXR2GYbTrsbGWnJxMY2NjrMNoN8l550rkfEP3y3lGRsZeb6utre3UWOJBd/v8Yy0R8w2S81g4mJxXVVXt8/ZgMBhZtiyLyspK5s2bx7Bhwzj77LNb3V+Kn+4r7ru9TZ8+vd2PUVWVvdV02dnZZGdnR9arq6sPeKdnGEbC7TAty0q4mFuSnHeuRMw3SM73fL54iaWzyOffuRI53yA5j4WOyLnD4Yha7927N7/61a+4+uqr2yx+RPfVJeb5+fzzz6mpqQHsLnD//Oc/GTlyZIyjEkIIIYQQsaJpGi6XK6ELRXHoxX3Lz/5Ys2YNDz/8MF6vl7S0NEaNGsWUKVNiHZYQQgghhOgk33zzDa+//joVFRXk5+czbtw45s2bF+uwRJzpEsXPlVdeyZVXXhnrMIQQQgghRAx8/vnnzJ49m3HjxrF06VL69u3Lbbfdxj333MPw4cNjHZ6II12i25sQQgghhOi+5s2bx7333svPfvYzHA4H1157Lb///e/5f//v/8U6NBFnukTLjxBCCCFEovGZFjWGic+ycCkKLgX7WlVwQGTY5gNlWRbB8Ov4rPDFtPBZELQsMjWVPF0lSU38Y+Fbt27lqKOOito2aNAgysrKYhSRiFdS/AghRAuGZVFpmJgWZGoqHvXgfnwIIbovb7i42WGY1IQvLZcb9zHbiAK4FHAqSrgw2l0cpTT40QwDpwKGBd6owsYubpqX9zzVXwU8ioKmQJ1pv36KqpCnqeTqGrmaSp6ukaurZGsq+kEWYJ1F13UCgQAulysy4u8nn3xCz549YxyZiDdS/Aghuq16w6QsZFAWMtgeNCgLmZSHDEIt7uNW7CKo+ZKhtljWVNJUBTVBfhwIIQ49r2mxLWSwLWiwwzDChY3FDsPEG/4R7lEUMjWFrPC+o6/TEVnO1FQ8ikLAAr9ltbi0WDej1y1No94wqDMtdCBJUcjUVNyKgltR8KhKeBnckWV7u87uFqWAZVEZMqk0DCpDJhUhg9X+IBWNPnyWXShlaSq5ukqeZhdEueEiKd72fQMGDGD9+vUcffTRGIbBbbfdxqZNm5g1a1asQxNxRoofIUSXF7QsykN2cWMXOQbbQwb14R8O+bpGT11lmMdBT91NL11DV6DGsI/a1jYfqTVNtgaD1Bhm5IipDvRoUQxlaSoFusbhTo2ULtCVRAixmz9c6GwNGmwNhtgaNKg0TBTgMF0lW9PI0jRKnGqLgybKfnUrcyvgZv+KidTUVOrr6w/y3ditSr0dGr0dWtR2y7KoN+1W8IpQuDAyDP7rD1JtmJiAA7swytJVcjSVLE0jW7Nbi7J0FWcnF0Y333xzpKj7yU9+QnZ2NiNGjCAtLa1T4xDxT4ofIUSXYlkWZf4gXzb6+S4Yoiz8H7cJZKgKPR0aRQ6NkR4nvRx2Fw9tL/9JJ6m0+lHQLGhZ7GzRfcUujiw2+oO81egjYEGupnK4U+dwh0Yfh06+rsbVkVIhxN4FLIuyYLjQCdnFTnnIBOxCp9ChMzrZRaGu0cuh4ehCf9uKopCmKaRpKv2c0T8VDctu1dphmFSHr6tCJpsCAaoNA1+4J1+aquwuhjSVbF2jp1Mno4Ni1jQtUvxcfvnl+Hy+Dnolkeik+BFCJDTLsqg2TDYGQpFLvbmLnPB/2id7XPRy2C07h/KkXoeikKNr5OitiyPDsvghZPBd0GBzIMSyRj87DC8eBYodeqQgKnbock6REDFmWBZVIYOq8I/4beFC54eQiQXkaSqFDo0TPS4KHRq9dA1XN/671RTFPjeojX2fZVk0houj6pBdHFUbJt8GDVZ6A6RpGsfkdUxcM2fOZMKECZx00kl88cUX3HPPPYRCIW6//XbOPPPMjnlRkZCk+BFCJJxaw+SbQIj/BUJs9AepNS0yVIUSl4OLUj0ck5GOw+eNWXyaotDbodPboXNKkguAOsNkczDEdwGDDf4gSxt8GEBPXaXYodPP7WRkamjfTyyEOCABy4r8GK8yDHvZtNhRuYvqYCjSjStbV+mpawz3OCly6PTWNdzduNBpL0VRSFEUUlSVIkcbt3dgV+Bvv/2W4447DoAXX3yRm266ieLiYmbPni3Fj4gixY8QIu7Vtyx2AiGqDJNUVaHEqXNOipv+Tp1sTY10eUh16NTHWY+HNE1lqOZkqNteD1oW3wcNNgdDbA4YvLyrkby0VA6PbZhCxDXLsghhn/gfsAgPBLB7gIBAeLnBtKgyTKrDLTq7zOaBByBb08jRVYocOqPTU0ny+8hUiLsT+LuijsyvZVm43W4Mw+Drr7/mvvvuIykpidra2g57TZGYpPg5AH7TYkcwhNc0US3rkIzF35LZYice2GOnHgyPzR8Mj90fvc2+DtDiPhaELAs9PExmcmMANRTCpSg4FXCp0UNothxS09k834Ci4FA6dqclhGHZgwtUhbtJ2Edp7fN1yg2TJEWhv1Pn1CQXJS6d/BbFTiJyKAp9nDp9nDokg6qq9EhJYtfOQKxDEyImzPAw81uDBqXBENtDJl6z5f+DdsFjtvFYDaL+H0sOn29yhMvBiZp9Qn62rpKsKJH9hqZpZGSkUVtrYBh7DggtEk1hYSGvvvoqXq+X/v37k5SURENDA6mpqbEOTcQZKX4OwH99Af7xw5aobQ7sHzOO8I7XoYTXaV63t2lAgPDRKdPeke9Z4Oyt44ve1muw+7Wcza8Z3vE7UHEqoCsKofDzm4pCo2WxyzSjjpK1PIIW3MvrOyBSFDlVBSe7CyinooQLp90FlA5oCmjY8wmo2N2BNEAN50JD2b0cvk2LKsLs12z7lHORaPymFe4DboSPyu7uE17TcgSh8PwSOZrGEU4HfZx2P/uuXIArihx1FvGj3jSpCA/9XhGyJ+HMDJ+4nhU+iT1NVQ74AETzuXp2oWOfY/N9yMBvQbqqUOjQ6OfQSFLVyP8Dzf/HtHXQLlHmohEd56abbmLWrFkYhsF9990HQHl5ORMnToxxZCLeKFbzTFDdVF1dHS6Xq12PCVgWXlWj0R/Ab5p2a0v46FTQsnZvC1+C5u5lwwrvxFUlvANXIztyt7p72dnytvC2Q/HDSNd1QqF9n1dgRuYUsPCZ5u45BkwLv2WGi7bmbS1uD7/35uWQZWGE37NB+Do84dretu81bgU7P+GZr92KinuPHLpVhWRVJc/p4DCHTr5TxxUHQw3vT87jjaIoOJ1OAoEA7dlFBE2LHaEQ1UGD6lCI6mDI7nYSDFEVDLHLsI/ZJqsquQ6NXIe+++K0r3toB1/kdKecA/vch3m9XtR2/h0cTCzxoLt9/gfKtCxqQgbbA0G2B0JsDwT5IbzcYNrDN+c6dHo6dTyqGvm7rg0ZWNgH27J1jVyng2xdIzv8N52j62Q7dJI1+3tnhV9nsz/AZl+Azf4AW3xBGk2TVE2l2OWkj9tJscvJ4W4nGW2cSN8REvl7nojfcTi4nJeWlh7SWEpKSg7p84nE0e1bfgKBAIFA+7qZaJpGbkYGtY0NbTeVR35nKOHLj7Hsi2XSVgUQCl8OhfbMDaAByeFLlOa3pUKLN3vQLMvCxE5BYM/WKFXFkZTMjvp6vIaxu7XKsvAbIbwhi50WNJomlS3mYOmhKuTpGnm6Sq5mX+fpGj0Oom+3FZ4922tZNJkmTaaF1twi1qLLYPPRyEM1H0Nn0jQNp9NJY2Nj1Hc8aFnUtpihfM9Zy3e1mPum5QR+A3WVTJebnPB8EK1HXbMgFIRQkMZDEH9Xyvn+2Ffx09jY/oweTCzxoCt+/qZl8U0gxCfegD0/VbjlXw+37jsU0MPrjnDLu0PZfXvzf/bVht2aUx6e2DJg2a2tzfvJ/rrGSW43+eHzYtoavjkY7qLaPNxxvabzg9fHN412K25Ti4k9szSVXaZJvWnhUaDQoVPo0DghzU2RQyejZeuRFQJviM765BL5e56I33Ho2Jy/9NJL9OrVi5EjR+Lz+XjhhRcIBoNMmjRJ5voRUbp98SPih9Lc7Q12T44WPgCoaRoZacnUGoH92mF6TcuemC08QVtFyOSbgJ+qogHKnwAAIABJREFUkEkI+z/73HAhlBeerdqlKHYxY1k0mdbu6zaWW/Y5V2m7D3rzbe7KXZHuj649iiS3AqmaSrqqkKaqpIe7kqSHWwEPlVCL99RoWvjCrXW+cLdHX7iQ9Da34AHGziYaAoHINl+44ITWxc1RLkdUl5gUOXFYiEOi3jT5pCnAR94AOwyToS4HxQ7NPijW4rzOhvB1KNx1OXIbFqHwbSaQrdn7vWEeB/m6m7zw33B7/l4dSvNBJXsHvecPca/ZPA+MQY1hkqraQ0Vnt/N1hGiPl19+mQcffBCAZ555hrVr15KWlsYf/vAHZs2aFePoRDyR4kd0SR5VodipU7zHdjN8xLLCMKkMF0XfBg0+8gYIWpCkKiQpin2tKiQrCpkONbJsb1d33ydczFhAcI9zqJqXNbeHnU1Nu1uzIl0iwReeD2aDYVEXPjra3BHApUCaGi6GWhRFaeFlFaKKssY9CrTGcKtUU/h8r5aa+9C7m4sw1e477wlvy9BUeiR5sHQFp2XhVu3tzUdypbgRouNY4VaeD7wBvvIF6aGpnOhxcoLHSZoW+668P8ajKvRWtb1OECxER6itraVXr14AvP/++/z2t7+ld+/ecs6PaEWKH9GtqOE+6tm6xiBXG5MQHCCFcEGBwp7jyqSmeKi39q/jomlZ1Jt2IVRnWuwKd+HbZZrUGhZbgkHqwtssdhdryeruYixDU+nVoohL3qOgS9qP88fsUZAyqK2tTbjuIEIkqrqQwVv1Xt5v9FFtmAx2ObghI5kjnLocbBDiRyQnJ7Nr1y68Xi8+n48+ffok3LlconNI8SNEHFEVhXTNbunZl+YdeiIP9SyEsP+Wvw0afOht4svtO0hTVUZ5nIz0OH90PyCE2G3MmDHccsstGIbB2LFjAdi0aRMFBQUxjkzEGyl+hEhAUvQIkdgaTZNV3gAfNgWoNMz/z96dx0dVn4sf/5xl9sm+EAiEPSCKIpuCFUQFF0S0KBXFqrjeXnvVX69K24ttr1r1Xlu1xbZc3BXZXXAHRa2iuCtWRVBZBIUkJCHJ7HPO+f0xSSCELZDMmck879drXmfOMuc8eU4ymWe+3/M9DHY7+FVZV8piESxzX1cRCiH25ZprrqFv374YhsGECRMA6NGjB3fccYfNkYlUI8WPEEIIkQTNrTzBCJ+GY/hVhdFeF6M8TgqcDvKyfNTURPc77L8QYu8URWHChAlUVlaybt06CgsLKSoqwu122x2aSDFS/AghhBAdqN40eS8U5d1glErD5CiXzuW5Pga55FoeIdpLdXU1t956K2vWrMHv99PQ0MDRRx/NrFmzyM/Ptzs8kUKk+BFCCCHamWlZfB2N804oyprGEdtGe5wc53GSK9fyCNHu7r33XkpLS7ntttvw+XwEAgH+9re/cd999/GHP/zB7vBECpHiRwghhGgntYbJ6lCUd0NRag2TY9wO/i3PR7mM2CZEh/rss89YvHgxTqcTSIz+dt111zF16lSbIxOpJi2KnzVr1rBw4UK+/fZbnE4njz32WIv1DQ0N3H///Xz88cd4PB7OPfdcJk+ebFO0QgghkslqvIGnij2DgRiWxZeROO+EInwRiVOkqYzxOhnpcZKlSiuPEMng9XqprKxsvtcPQGVlJT6fz8aoRCpKi+LH7XZz6qmnMnbsWJ544olW6+fMmUMsFuPhhx+moqKCWbNm0b17d4YNG2ZDtEIIIdqTaVnsNBM3KN79UWOYVJuJ59HG23nogL59JyqgK6ABmqKgA5oCuqKgsWuqKeBQFJxK4ka/zsYb/zr38nz3bZyKQsyyeD8UZXUoSsC0ONbt4D/y/fR1aDIioxBJNnHiRGbOnMn5559PSUkJ27ZtY9GiRZx55pl2hyZSTFoUP+Xl5ZSXl/P555+3WhcOh1m1ahX33HMPXq+XXr16MWHCBFasWCHFjxBCpIGIaVFjNhYzuxc2jY9aM9GyowA5auJGvvmaSqlD4yjNQb6q4lUVTBKtMA6Ph4ZgCAOLuJVYFgcMC+JYmBaN84nlUcsiZkGDaRG1EoVUxLKIWlar53sq1VXG+9yM8DjwSiuPELaZPn06eXl5LF++nKqqKgoLC5k2bRoTJ060OzSRYtKi+NmfrVu3YlkWPXv2bF7Wu3dv3n33XRujEkIIARCzLGobi5ka00pMDZPaxmKnxrAINd601wHkaWpzcTPA5Ug8VxXyNZVcTUU/iBaVLJ+HejPe7j+L2VgkRbGImhYWUKCp0sojRIqYOHGiFDvigNK++AmHw3i93hbLfD4foVBor9tXVVVRVVXVPK+qKkVFRW06pqZpLabpRFGUtIxbcp5c6ZxvkJzvbb9tfc0XDUGqInFihtHcSmIAccvCsNj1vHFd3KK5paXB3NV602AmChsVyG0sbPI0lVKHzlFulTxNa17mV5V2KSQ66vxrJAo074E2PJR9p/HfXDr+vYHk3A4dmfNPP/10n+uGDBnS7scT6cv24ufOO+/knXfe2ef6ZcuW7ff1bre7VaETDAbxeDx73X7p0qXMnTu3ef7SSy/l2muvbUPEu2RnZx/S6+zWNBJKOpKcJ1e65hsk503y8vIO6XVPfvs9FdFY4toYRUFvfrDHfOKhqbuel2oqRzscFDj05keuriV1tDM5/8mVrvkGybkdDiXnlZWV+11/2223NT+3LIudO3cCkJOTw9KlS9t8PNF52V78zJw587Be3zSqx+bNmykrKwNgw4YNzc/3NGXKFMaOHds8r6oqNTU1bTqmpmlkZ2dTV1eHYaTXvbibxr5PN5Lz5ErnfEPm5Xx/BU5b39+aYrm9b4/DPP8WmDGIxCACOw9xL4ci086/3dIx3yA5t0NH5nzJkiUt5qPRKHPnzqVLly7tehyR/mwvfg6GaZrE43Hi8UQf7mg0iqIoOBwO3G43J5xwAo8//jg33HADlZWVLF++nOuuu26v+yosLKSwsLB5vqqq6pD/AA3DSLs3TMuy0i7m3UnOkysd8w2S8z33lyqxJIuc/+RK53yD5NwOyci50+nkqquu4sILL+S8887r0GOJ9JIWxc8XX3zBb3/72+b58847j+LiYh544AEArr76ambPns2ll16Kx+NhypQpMtKbEEIIIUQGsyyLvn37YhhGWl4jJTpGWhQ/gwcP3u+1P36//7C7zwkhhBBCiM7D6XRy55132h2GSDFyUwIhhBBCCCFERpDiRwghhBBCCJERpPgRQgghhBBCZAQpfoQQQgghhBAZQYofIYQQQgghREaQ4kcIIYQQQgiREaT4EUIIIYQQQmQEKX6EEEIIIYQQGUGxLMuyOwghhBBCCCGE6GjS8iOEEEIIIYTICFL8CCGEEEIIITKCFD9CCCGEEEKIjCDFjxBCCCGEECIjSPEjhBBCCCGEyAhS/AghhBBCCCEygm53AHarqqpq82s0TSMvL4+amhoMw+iAqDqOz+cjEAjYHUabSc6TK53zDZmX88LCwn2uy7T3OMi882+3dMw3SM7tcDg5r66ubtdYysvL23V/In2kVfHz/PPPs3LlSjZu3MioUaO48cYbm9dt2rSJv/71r2zcuJEuXbpw1VVXccwxx9gYbWpSVWnsSzbJefJJzjObnP/kknwnn+RciEOXVn89+fn5TJ06lQkTJrRYHo/HufXWWxk5ciTz58/nggsu4I477qC2ttamSIUQQgghhBCpJq2Kn9GjR3P88ceTnZ3dYvnnn39OJBLhvPPOw+FwcOKJJ1JWVsaqVatsilQIIYQQQgiRatKq29u+bN68mV69erVoBu7Tpw+bNm1qtW1VVVWLPvC6rlNQUNCm42ma1mKaThRFScu4JefJlc75Bsn53vabCrEki5z/5ErHfIPk3A7pnHPReXSK4icUCuHz+Vos8/l8VFRUtNp26dKlzJ07t3n+yiuv5Oqrrz6k4+7ZApUunE6n3SEcMsl5cqVrvkFy3iQvL++QXyvnP/nSNefpmm+QnNvhUHJeWVnZAZGITNQpih+Px9Nq1JNAIIDH42m17ZQpUxg7dmzzvK7r1NTUtOl4mqaRnZ1NXV2djBCTJJLz5ErnfEPm5Xx/BU5b398ON5ZUkGnn327pmG+QnNshnXMuOo9OUfyUlZWxdOlSTNNs7vq2YcMGxowZ02rbwsLCFsPCVlVVHfIfoGEYaffHa1lW2sW8O8l5cqVjvkFyvuf+UiWWZJHzn1zpnG+QnNshHXMuOo+0GvDAMAyi0SimaWKaJtFolHg8zuDBg3E6nTz11FPEYjHefvttNm3axAknnGB3yEIIIYQQQogUkVYtPwsXLmTBggXN86tWreLkk0/m+uuv57/+67+YPXs2CxYsoLi4mF//+tfk5ubaGK0QQgghhBAilaRV8XPhhRdy4YUX7nVdr169uPvuu5MckRBCCCGEECJdpFW3NyGEEEIIIYQ4VFL8CCGEEEIIITKCFD9CCCGEEEKIjCDFjxBCCCGEECIjSPEjhBBCCCGEyAhS/AghhBBCCCEyQloNdZ0qzLqdBH/YQiwWw9IdKG43issNLheKKvWkEEIIIYQQqUiKn0MQ27iB2iceworFWq90OFHcLhTXbgWRy71rmduD4vUmHh5f43MfauMUpxNFUZL/QwkhhBBCCNHJSfFzCFxHD6Fk7uNUV1URDwYgHMGKhLAiEaxIGCucmBIJJ5aFw4nlkQjmzp1YoSBWMIgVCmAFg2AYu3auaXsURrsVRz4/SlY2alZ24zQLxZ+Fomn2JUMI0SntfHMloZpqLF1HcTgTX8w4Eg9cuz13OhJTh0NavoUQQqQ8KX4Og6JpqF4feH2HvA/LsiAaxQoGMINBrGCgRWFkNS4zq6sxv9+MVV+HWV8PkfCuOHx+lKyslkVRc5HUuDw3D9XjbY8fWwiRAUJrvySy5fvEFzixaOJ9KhaFWAwsa+8vcjQWQi5Xc3dgxe1u+dzlgT2X7f7c60NxOpP7wwohhMgYUvzYTFGUxq5xLtS8/IN+nRWJYDbUNxZDdVh1dc3zRlUl1nffJpbX14MRT7zI7SZQUIiVnYual9/qoWRlSZc7IQQAJVdfS01NDcbuLdM0fmETj2NFIxCLYTUVRY1TKxqF3Vu8w+Hm52ZVFYTDiZby3dazZxdi3YHi86H4fKheX6Ig8u2a7m2Z4vZIy5MQQogDUixrX1/hZYZQKITaxn+YiqLgdDqJRqOkevosy8IKBolX78CorsKsrSFWWUF8R2I+vmMHZn1dYmPdgZ6fj1ZQiJ5fkJgWFKJ3KcFR0tXWlqN0yvmedF0nHo/bHUabpHO+IfNy7nK59rkuHd7jLCOOGQ5jBYOYgQBGoAEz0IDZsMc00ICx23MrvKsFHFVDy8lBy8lFz8tHyc5Gy8lNPHJz0XLy0HJyUf3+lCyS0vlvLh3/3kBybofDyfmmTZvaNZby8vJ23Z9IHxnf8hMIBNr8Gk3TcDqdBAKBVt+KpqzcPMjNIysri/r6ena/SsiKRTFrazBrqjFrEtNoTTXmv9ZgVu/Aqq0BSHShK+qCVlScmBYnpmp+QYdfd5SWOW/UlPN0ks75hszL+f6Kn7R6j3N7Eo+CwuZFKvu+J4MVj+/qGtxQj1W3E7NuJ2ooRGRHVaKrcOMyotHGHaqJbsHZOag5OShZOah5eaj5Bah5BYn3M78/6a3g6fw3l45/byA5t0NH5vyGG2444Db33HNPux5TpKeML34EKA4nWlEXtKIue11vRSIYVZWYldsxKyowKrcR++RDwpXbEx8oNA21oBCtuEuiGCoqTjzvUiLXGQkhOoyi6yjZ2ZCdjUbX5uV7fjC0LAsiYcy6Osy6nc0FUdM09sOWxBc9Ta3gDidqfn6iIGoqigoKds3L+5oQKWfNmjVce+216Lp8tBX7J78h4oAUlwu9tDuUdm+x3LIsrLqdGBXbMSsrMCq3Y/ywldinH2PWVoNloeTlo3XrjtatFK20O1q37onri+TaIiFEkiiKAm4PmtuDVrz3L3mgsRW8phpzxw7M6h2J59U7iG3agFldjRVsbEVze9CaCqHiYrTiEtTixBdIiseTpJ9KCLGniRMn4pQBU8QBSPEjDpmiKCg5uag5udB/QIt1ViyKsX07xg9bMH7YSvzb9UTeeh3C4cQHh26lLYuiLiUousOmn0QIIRpbwYtL0IpL9rreCocSI29W78Cs2YGxYwfGlu+Jfvzhru7B2dloRY3FUHEX1C5d0IpLUHJy5UsfIYRIAVL8iA6hOJzo3Xugd+/RvMyyLMzqHRg/bG0uimJfrMGqqQZVRe1S0lwQ6WW90Lr3SAybK4QQKUBp/uKmtNW6RPfgCsyK7YnW8IrtRN5/F7NyO8Tj4Ex0L24qirSupWh9+iZulyCEECJppPgRSaMoClpBIVpBIQw+pnm5GQxi/LAF88etGFu3EP3wfcLPPwOKkiiGevbC2bsvsaOPwdKlGBJCpJ5E9+AeUNqjxXLLNBPd5yq2Y1Rsw6zYTmzdWsJvvArRKGrXbuh9+uPsPwBj2HCbohci/R155JHSuioOihQ/wnaq14varxz67Rp20opEMLZsJr5pA/FNGwk8s4SGJx5G8fvRynqh9+yN1rM3eo+eKPsZ6UoIIeykqGrzlz6OI45sXm4ZBsbWLcS/XU/82/UEPlhNw8NzEi1Cffuh9+2P3qcfqs9vY/RCpI8vvviC0047rcUyRVGwLIuVK1cCcOaZZ/Liiy/aEZ5IIVL8iJSkuFyJf/59+wOgqipZRpwdaz4luuE7Yv9aQ/iVF8CyEt+clvVKFEM9e6MWFcu3P0KIlKZoGnpZT/SynjDuVFTAW7+T6k8+Irp+HcEP34NwGLWkK3qf/ruKoawsu0MXIiU98sgjB9xm7ty5HR+ISHlS/Ii0oCgKjqJiXENHoB8zFGgcVGHrFuIbN2Bs3kj45eexdtaiZGWj9+2X+MDQrz9qURcphoQQKU3RNNy9++LJzcc55mQs08T4YVfLUHDxkxAOoXYpwTF4CM4Rxye6EAshAOjRo8cBtyktbX29nsg8UvyItKU4nOi9+qD36tO8zKyuJv7deuLffUPkzdcIPbUQJStr1zenffujFksxJIRIbYqqoncvQ+9eBmNPSRRDP24lvv5roh99QOTVl9H7D8B53GgcRx0to2WKjHfXXXftc93NN9+cxEhEqus0xc+9997LP//5zxY3t7r//vspKiqyMSqRbGp+Ps7843AOPw4As6aa+HffJIbabiqG/FnoffrtKoa6lEgxJIRIaYqqopf2QC/tgWvsKRhbNhN97x2Ci+ejPLUQ57DjcI4chda1m92hCmGL/Pz8FvPV1dWsWrWKk08+2aaIRKrqNMUPwOTJk7nkkkvsDkOkEDUvH+ewkTiHjQTArK1p7kYSeet1Qk8vQvH5E4VQv3L08oFohVIwCyFSl6Io6D16ovfoiWfST4mu+YTo++8Seet1tLJeOI8bjfOYoShut92hCpE0V155ZatlX3zxBQsXLrQhGpHKOlXxI8SBqLl5rYuhppah118l9NRC1PwC9PKBiUe/Aaher81RCyHE3ikuF64Rx+MacTxGxTai771L+MVlhJ5dgnPIMJzHjUYr6yWt2yIjDRo0iI8++sjuMESK6VTFzyuvvMIrr7xCYWEhkyZNYvz48XaHJFKcmpuHc+gInENHJG7CuqOK+Lq1xNetJbhoHkQiaN3L0AccgaP/QLSevVD0TvVnI4ToJLTiEjyTzsV9xiRiX35O9L13aZj9Z9TikkRr0LARMnS26LQ2b97cYj4SibB8+XK6du1qU0QiVXWaT3GTJk1ixowZ+Hw+vvjiC+666y58Ph+jR49usV1VVRVVVVXN87quU1BQ0KZjaZrWYppOFEVJy7iTlvMuJTi7lMCJJ2EZBvHvNxFb+yWxdWuJrFwOugNHv3IcAwbiHDDooAZPSMecp/PvOEjO97bfVIglWTL+/Gsa+rHD8Rw7HKOmmsh77xB563XCLz6L+ydj8ZxyOqq//YqgdMw3pPfvueS8tcsuuwzLspr/J7vdbvr168evf/3rdj+WSG+KZVmW3UF0hCeffJKtW7dy4403tlg+Z86cFuO8X3nllVx99dXJDk+kISMYJLT2S0JfrCH4rzXEtm9Dz8/Hc+TReAcfg3fQYLR2/EAhhBDtxTJNAh9/yI6nFhKvribvjLPIPW0iqlwXJNLEunXr2nV/5eXlB95IdEqdtviZP38+33//PTfddFOL5e3V8pOdnU1dXR2GYbRLvMni8/kIBAJ2h9FmqZhzo3oHsXVfEVv7FbF1X2GFw+g9e+M44kicAwehdS9DUdW0zHkq5rstMi3neXl5+1xXU1OT1FhSQaad/7awTJPIh+8Reuk5rHgMz/gzcI8+8bCGyk7HfEN6/55nYs4rKysPuI1pmqxdu5aKigq6dOnCwIED99k7Q4qfzNVpur29/fbbDB06FLfbzdq1a3nhhRe46qqrWm1XWFhIYeGuG8NVVVUd8pueYRhp94ZpWVbaxby7lMp5Ti6OEaNwjBiFZRgYjV3kop9/Ruil5xKjyJUPxBoylHhZ77S8M3tK5bsN0vn3vL1zfjj7kvOffMnIuWPYSPSjjyXy7tuElr9E6I3X8Jw2EcfQESiq2ub9pXO+IT1/zyXnrdXU1PCb3/yGnTt3UlFRQV5eHoWFhdx+++2thsEWma3TFD/PP/88999/P6ZpUlhYyPTp0xkzZozdYYkMoWjarhuunn4WZn098fVria39ktol8zHr69G690AfeCSOAUckRl9Kw/7aQojOQXE4cI8Zh2vk8YTfXEnw6UWor7+K54xJ6EcOltHhRNr5xz/+wejRo7n44os5++yzWbx4MQ899BCzZ8/mlltusTs8kUI6TfFz55132h2CEM3UrKzmUeT8Ph+1a78k/vVXxNZ+SeS1V8DlxlE+EH3gIBwDjkDNybU7ZCFEBlLcHjynTcR1whgiry0n8PhDaN274zlzMnrf/naHJ8RB+/jjj7nhhhtaLPv5z3/O1KlTbYpIpKpOU/wIkaoUVW2+IaH71NMxg0Hi678m/vWXhF9+ntCieaglXXEMGIQ+cBB67z6H1f9eCCHaSvVn4Zk8BdeJ4wgvf4GGf/wFvfwI3GdOQi/tYXd4QhxQOBzG5XIBiW6BAHV1dTidTjvDEilIih8hkkz1enEecyzOY45N3Fto24/Evk60DEXefhNUFb1f/+ZiSCsssjtkIUSGUPPz8V5wMa6TTiX88nM03Ps/OI4Zivv0s+S9SKS0rl278sMPP1BaWoplWaxYsYLFixdzxhln2B2aSDFS/AhhI0VR0Lp2Q+vaDU46FSsSIf7tOmJff0Xk7TcIPbMYtaAwcZPVAYPQ+5WjNH6zJYQQHUUr6Yrv0quIb9pA+MVl1N/9R9xnTsL1k5MOaVAEITratGnTqKqqorS0lC5duvDSSy8xefJkJk6caHdoIsVI8SNEClFcLhyDBuMYNBgAo6qS+NdfElv7FYF5D4NhoPfqiz7wCPTyI9C6dpMPIkKIDqP37I3vmv8g9uF7BJ9dSuzzz/D+bLq0AomUM27cuObnDz74oI2RiFQnxY8QKUwrLEIrHIvrhLFY8RjxDd8R//oroh9/QPiFZxPDafcrR+8/AL3/ALSCwgPvVAgh2kBRFJwjjkfvP4Dg4iep/9MdeCZOxjn6RPnyRaSMjRs38uijj+L1erniiivIy8vjxx9/RFEUSkpK7A5PpBApfoRIE4ruwNF/AI7+A/CcdQ5mXR3xb74mvv5rwq++jLVkPmp+QXMhpPcrR/Wn372FhBCpSc3Nw3fFL4i+/y6hZU8R+/wzPD+7CNLwHmai87njjjvo27cvoVCI2bNnM2vWLH744QeefPJJ/vSnP9kdnkghUvwIkabU7Ozm4bQty8KsqkyMIrf+a0JLF2KFgqjdSnH0ayyG+vST64WEEIdFURRcx43G0X8gwUVPUP+nP6KfNw1ryDC5N5Cw1ZYtW/jb3/5GKBTisssuA2DIkCH893//t82RiVQjxY8QnYCiKGhFxWhFxbhGn4hlmhg/bGkuhiLvvAWmgdazN47+A9D69EPv0VOKISHEIVHz8/FddS3Rd9+mdvGTaB+sxjv1ItTcPLtDExmqtLSUmpoaCgsLCYVCAAQCAVTpmin2IMWPEJ2Qoqro3cvQu5fBuPFYsRjxTRuIr/+a2NdfEn71ZQC00h7ovfqg9eqD3rsPanaOzZELIdKFoqq4ThhD7rARVDw0h7q7b8dz9hScI46XViCRdOPHj+fWW29l6tSpmKbJqlWrWLp0KUOHDrU7NJFipPgRIgMoDgeOfuU4+pUDk7CiUYzvNxHf+B3xDd8R/XA1ViiEWlCI1qsPzj79iAw5FsvttTt0IUSK04uK8V/zH0RXvUno6UXEPv8U73nTUHNy7Q5NZJCFCxcCcM899+Dz+XjooYc45phjmDFjhs2RiVQjxY8QGUhxOtH79kfv2x8AyzQxt29LFEMbvyP02it8v/hJFK8XrWdv9F590Hv1RSsrQ3HI3bKFEC0pqorrxHHoAwcRXPAE9Xffjuec83EMHSGtQCIplixZYncIIk0olmVZdgdhp1Ao1Ob+oIqi4HQ6iUajpFv6dF0nHo/bHUabSc6TS1EU1GCAhq++ILx+HZFv1xP7fhMAjpJuOHqU4ejeA2ePnji690DLyrY54pbSNeeH+jvu2s+1W5n2HgeZd/7ttme+LdOk/tWX2fnsU3iOHEze9MvQslPrPQI6V87TxeHkfNOmTe0aS3l5ebvuT6SPjC9+qqqq2vwaTdPIy8ujpqYGwzA6IKqOk5WVRX19vd1htJnkPLn2lm8rEsHY8j3Gj1swftiKsXULxrYfwYijZOegdeuOVlqamHYrRS0osu0eIJ0l5wersHDf93fKtPc4yLzzb7d95dvY9iPBBY9j1u3Ed/EM9N59bYhu3zpjzlPd4eS8urp6v+svvPDCfRZU8+fPb7VMip/MJd3ehBAHRXG50PsFcawwAAAgAElEQVT2Q+/br3mZZRiYFdsxftiSeGzeRPTdVVjBADidaF1L0bo1FkRdSlDzC1Cyc+TGiEJkAK2kK/5rbyC07Gka/n4f7rPOwXXiOOkGJzrEDTfc0PzcsiwqKip4+umnGT9+vI1RiVQkxY8Q4pApmobWtRta124wbCSQ+Kdj1e1MtAz9kGglirz5GuaOKrAs0HTU/ILEo6BpWoiaX4iWX4Di8dj8Uwkh2ouiO/D+dCp6r94EF8/H2LgB79QLUdzyd56JzEAA8jpmOPQRI0a0WjZ8+HB+97vfccEFF3TIMUV6kuJHCNGuFEVByclFzcnFMeio5uWWYWDWVGNWV2FW78DcsQNzRxWxzZswq6uwgsHE673exuKosLEoKkDxZ6F6vSheL4rXl3g4HHb9iG1imSZWMIAVCGA1NGAGG7ACDbvmm54HA7inXwrFJXaHLES7cw4dgdatO4FHH6D+vv/F9/MrEl+aiE7PDDQQ+/jDxKii0Sj5/3Nf0o5dVFTEpk2bsCxLWhxFMyl+hBBJoWgaWmERWmHRXtdboRBG9Y5EcbQjMTV+3ErsizXNxQG79+d2OJoLoT0LIysvj6imo7jdoGqJbnaqCqoCqgaKgqIlpqgaqCpK07qmqWlgRWMQi2LFohCNYcWiWLEYRBPLrGgUYonlxGJY0ShWNIIVDCZiDjRghYK74laURIw+P4rPh9o07d4dzZ+NnpefhDMhhD20kq5kXXcjwcVPUv+Xu/GePw3n0Nbf1ov0ZxkG8bVfEv1wNbEv/4WSlY1z+HF4Ro5KehHy5JNPSuEjWpDiRwiREhSPB720O5R23+t6yzSxIuFEYREMND6Cu02DmMEA5rYfCG3aQLy+HiscAtME08RqnGKaYDVOD5bDkWhpcjhRnM7EcN8OB4qzcepwojgciVarnNxEIebzo/j9zQWO4vOjeLz7vN5J0zQceXlQU3Mo6RMiLShuN97plxF9+02CCx4nvuE7PJN/iqKnR0uu2D/jxx+Ifria6McfYIXCOI4egu+KX6D37Y+iqmia1mHHvuuuuw64zc0339xhxxfpQ4ofIURaUFQVxeMFjxcK9j26GRzcSEiWZSVaZHYriqymosgwQVMTRY6uywANQrQjRVFwnXgSWo8yAo8/hLFlM76LL0fNl5bPdGQGGoh98hHRD1djbPkerVcf3KedhfOYoUm9hjN/j9+fJUuWcN555zXPL168WIofAUjxI4TIUIqiNHZ721XYSMcIIZJH79WHrOtvJvjkI9TfeyfeCy/FMXCQ3WGJg2AZBvGvvyL64XvEvvgcxe/HOXwk3osuRSvqYktMV155ZYv55557rsWyZ555JtkhiRQlxY8QQgghbKFmZeG78t8JL3+RwIN/x3Xq6bjHnyGtrSnK3FlL5J23iL7/LlYoiGPwMfhmXI3ef0BKnbOamhoCgQDRaBSn04lhGB3a5U6kFyl+hBBCCGEbRVXxnH4WelkvgvMfw9i0Ae9Fl6L6/HaHJkh0ETY2bSDy9hvE1nyKWtQF9/gzcBw7DNXjtTu8VjZu3Mjdd99NTk4ODz30EKeffjorVqygd+/edocmUoQUP0IIIYSwnWPQUfhvuJngYw9Qf89d+C6+HL1nL7vDylhWPEbss0+IvPUGxtbv0QcNxnflv6P3K0/J0dO+/PJLFixYwIcffsgVV1xBv379+N3vfsfixYspLCzk97//vd0hihTRqYqfhoYG7r//fj7++GM8Hg/nnnsukydPtjssIYQQQhwELb8A/7//P0LPLqHhb/fgPuNsXGPGpVSXqs7OrKsj8u5bRFe/jRWL4xo5Cu/FM9AOMNCM3X71q19x1lln8cQTTzQPfrB06VLq6+vJycmxOTqRSjpV8TNnzhxisRgPP/wwFRUVzJo1i+7duzNs2DC7QxNCCCHEQVAcDrznTUPv25/gkgXE13+N94LpqFnZdofWqcU3b0p0bfvsY9SCQtzjz8Q5bCSKy2V3aAdl3rx55OfnU11dzdq1aykpKSE3N1cKH9FKpyl+wuEwq1at4p577sHr9dKrVy8mTJjAihUrpPgRQggh0ozz2OFoPXoSnPcI9X++A++0n+MoP8LusDoVyzCIrfmEyNtvYGzaiH7EkfhmXJNyAxgcDI/Hwy233MLq1asxDANVVRk1ahQzZ87E6029a5OEfdLrN3s/tm7dimVZ9OzZs3lZ79692bx5s41RCSGEEOJQaYVF+P/9BpzDjycw92+Enn8GyzDsDivtmYEGwq++TN3ttxBcsgCtRy+ybr4F/+X/hmPAEWlX+AA88MAD5OXl8dJLL+Hz+Vi2bBl+v59//OMfdocmUkynavnZs7L3+XyEQqEWy6qqqqiqqmqe13WdgoKCNh2rabjEdBw2UVGUtIxbcp5c6ZxvkJzvbb+pEEuyyPlPrg7Pt6bhP/unOAccQcO8RzC++wb/xTPQCosOc7eZl3OjqpLQm68Ree8d1JxcPKdMwDVyFKo7OTcj7cicr1q1igceeKB53x6Ph1/+8pdccskl7X4skd46TfHjdrtbFTrBYBDPHncXXrp0KXPnzm2ev/LKK7n66qsP6ZjZ2enZ/9jpdNodwiGTnCdXuuYbJOdN8vLyDvm1cv6TL11znpR8Hz+agkFHUjH3b+z80x0UX3I5WaN+cti7zYSch7/7hpoXnyPw0fu4+vSj5Opf4hs63LYWnkPJeWVl5X7XNzQ04Pe3HB7dNE1M02zzsUTn1mmKn9LSUgA2b95MWVkZABs2bGh+3mTKlCmMHTu2eV7XdWpqatp0LE3TyM7Opq6uDiPNmt99Ph+BQMDuMNpMcp5c6ZxvyLyc76/Aaev72+HGkgoy7fzbLdn5dl96FfxzJdsf+Du1n3yE76dTUVzuNu+nLTmPmhYNpknD3qZGYhq1LHo6dQa6HPR26ugdOBz0weTcMk1iX/6L0BuvEv92PY6jjib72v+H3rsvMUWhdufODotvXzry97yoqIiKigqKi4sxTZM1a9Ywb948xowZ067HEemv0xQ/brebE044gccff5wbbriByspKli9fznXXXddiu8LCQgoLdw3XWFVVdch/gIZhpN0/Kcuy0i7m3UnOkysd8w2S8z33lyqxJIuc/+SyI9/OE8eh9u5L8ImHqf3THXinX4Ze2uOQ9tWU8wbTZFUwyo9xgwbTIrBbgRPbbXsH4FcV/KqKT1Xwqwo5qoKGylfhKC/Xh9AV6OvQGeDSGeDUKdU11HYshvaXcyseI/rRB0TeXIlZXYVz2EiyplyAVtwFICVaQjri9/zss89m48aNFBcXA3DXXXdxyimncPHFF7frcUT66zTFD8DVV1/N7NmzufTSS/F4PEyZMkVGehNCCCE6Ib17GVnX30zw6UU0/OVPuCdOxnXiSW2+AWd13GBFfZB3QlFyVJVyp06BQ8WvqvhVpbnAaZp3HmD/IdPim2icddE474eiPFMfxqso9HfuKoaKNbXdbxRqBoNE332LyNtvghHHOXoMrhPGZMwQ4eeee27z8+eff97GSESq61TFj9/vZ+bMmXaHIYQQQogkUNxufNN+TrR8IMGnFhJftzZxTyB/1gFf+2MszoIt23mrtp5SXePiHC/HuByH3ULjURUGux0MdjsAD/WGybponK+jcVYGIiyqC5GrKpQ7dQa4HAxw6uRqh37tjVldTfitlUTfewfVl4X7lAk4R4xKm/vztKcPPviA119/nR07dlBQUMDJJ5/M8OHD7Q5LpJhOVfwIIYQQIvM4h41E69mb4BMPJ+4JdP5F6AMH7bV1ZWM0zopAhDWRGIN8Hq4tyKK/3v4tMU2yNJVhHifDPIkBCnbEDb5uLIaeqQ9Rb1p01zXG+VwMczsO6lohy7KIfbOO6Oq3ia35FK1bd7xTp+MYfAxKGo5ed6h+85vfcMYZZ3DiiSeyaNEiFixYwIQJE+jXrx8VFRX88Y9/ZNq0aZx//vl2hypSiBQ/QgghhEh7WmER/mv/H+GXnyfw8By0HmW4Tzkd/YgjAVjbWPSsj8Y52uXgpqJsju1STE1NTVKvWSrQNUbrGqO9LizL4se4yfvhKEvqgjxbrzDW6+InXie+vYzEZgYDRD98j4b33iVeuR3HkYPxXXUtet/+HVa8pbI1a9bwhz/8AYDFixdz991306dPn+b1EyZM4Oabb5biR7QgxY8QQgghOgVF1/GcdQ7OUT8h8voK6h97kLXDR/HP48byg8PFCI+T3xZmUaJrKXF/H0VR6ObQOMfh4XSfm9WhKK8HI7wSCHOcx8k4r4siTcXY+B2R1auIffYxij+LrDHj4JihqDm5dv8ItlJVlVgshsPhwDAMevRoOehFjx49UmKAB5FapPgRQgghRKdi5hfw6Zk/ZcWJp1MbNxm+5gMu/G4tJaNOwHHMULvD2yu3qnCSz8UYr5M1kRiv1Ye4NRBh4JYNjF61kn7Zfnw/vwJ94CCyc3Kor6+3O2TbHXHEEfzlL3/h2muvZdq0afzjH/9gxowZ+Hw+gsEgDzzwABdccIHdYYoUI8WPEEIIITqND0JRnqkPEbNgrNfNWJ8Lb/ZoImaE4NIFqMtfxHXyBDwjjrc71FYsy8L8fjPlq9+m1ycf8X3P3qweezoPXXA53XWdk30uhmZg97Z9uf7667n99ts5++yzyc7OJhAI8MwzzzTfB0lVVbKzs6Xbm2hBih8hhBBCpL2IabGwLsjH4Rhn+N2c5HXhUhsLhaxsPBMn4xp3KpG33iD83FNEVryEdtY5WIOHwF6ur0kmKxwm+umHRN99G2PrFvQBR+C98BKOGnQUgzWNHXGDN4JRFjZeF3SaAcNUC6/Ncduta9euzJ49m6qqKioqKojFYgd+kch4UvwIIYQQIq19H4vzcG0QC/hVgZ8ejr1/vFG9PjynTcQ95mRiq99mxzOLsZ5diuukU3Add0LShoe2olGMLZuJb9qIsXkDsXVrUXQHzuNG4f35FWgFhS22L9A1pmR7ONPv5p1QhBW1DTxtGIz2ODnZ5yb/MIbK7gz2vIG9EPsjxY8QQggh0pJlWbwZTHRzO9bt4GfZXtzqgbuFKR4PnlNPp+Tsc9n24vOEXl9O5LXluMaMw3HEUSi5eSgeT7uMoGZZFmZVJcbmjcQ3bcDYtBHjx60AaF27oZX1xjv1IhxHHo2i7/9jmUdVOMXnZlKXQt6qrOa1QIR/Bus43uNkgs9FoW7/IA52efTRR/e57pJLLkliJCLVSfEjhBBCiLTTYJrM2xnk62icaTlejmu8j05bqC43npNOwXH8CUQ/WE3k9VcJv/RcYqXTiZqbl3jk5KI0Pc/NRc1JPFfc7lb7NENBjM2bGoudRMuOFQyiZGej9+yNY8gwPJOnoHUvQ3G2PWYATVEY5nEy1O3gq2iclxvC/HdVPSPcDk7zuynOwCJo8+bNLea3b9/OunXrOP741Lu2S9hLih8hhBBCpJVvonEeqQ3gV1VuLsiiy2F+2FccDlyjT8Q56idY4RBWbQ1mbS1mbQ3mzsbphm+JNS4n3nhtiduTKIYaW4qMrVsxK7aBrqN1L0Mv64VzxHHoPXuj5OS2+714FEVhkMvBEU6dddE4LzWEubWqnuGNRVBJBhVBs2bNarXsjTfe4P3337chGpHKpPgRQgghRFowLYtXAhFeaghzotfJOVkeHO1YUCiKguLxgseL1rV0r9tYloUVDGDW1jQWSYmCyAoGcI3+CVpZb7RupQfswtaeFEVhgMvBAJeD9Y0tQbdX1XOs28HpPjfdHJlTBO3upJNO4s9//jM33XST3aGIFKJYlmXZHYSdQqEQahtHS1EUBafTSTQaJd3Sp+s68Xjc7jDaTHKeXOmcb8i8nLv2c5F2pr3HQeadf7slK9/V8ThztlXzfSTGFV3yGer3HNb+OnvO14UiLKuu41/BMMP8HibnZ1PmOrRudu3lcHK+adOmg9rOsix27txJbm4u0WiUpUuXMnXq1FY3tS0vL2/T8UXnkfEtP4FAoM2v0TQNp9NJIBDAMIwOiKrjZGVlpeWN0STnyZXO+YbMy/n+ip9Me4+DzDv/dktGvv8VjvH4ziAlusrMAj95Vvywj9nZc94VuDrbzUa3zkuBMLM2b+dol87pfjdl+xgNr6N1ZM7j8Tj/93//x3PPPUckEsHlcjFp0iSuuuqqVoWPyGyZPTaiEEIIIVJWzLJYWhdiTm2AMV4n/5HvJy/Dh3Vuq15OnX/L83NTgR+A/9nRwN9rGtgYTa/W0QOZN28e27Zt45FHHsHv9zNnzhw2b97Mww8/bHdoIsXIO4gQQgghUk5l3ODPOxr4OBzll3k+JmZ50Np5wIBMUubQuSrPz8yCLJwo/Km6gfuqG/giEku7bn97s2LFCq6//nq6dOkCQFlZGb/+9a95/fXXbY5MpJqM7/YmhBBCiNTySTjKvJ1B+jp1fpGfRVYbr1sT+9bdoXF5no9tcYPXAhHm1gQo0lVO9bkZ5nagp2mBWVtbS35+fotlHo+HUChkU0QiVUnxI4QQQoiUYFoWzzWEeS0QYZLfzSk+F2qafhhPdSW6xkU5Xs7yu3kjGGFJXZDn6hXG+VyM9rjwHMTNYlNJXl4eNTU15OXlYVkWFRUVPPzwwwwfPtzu0ESKka9ShBBCCGG7BtPk/poA7wSj/CLPx3i/WwqfJMjRVCZnebi1KIdxPhevByLMqtzJs/Uhag3T7vAO2rhx4/jyyy+BxOAH06dPxzAMrrvuOpsjE6lGWn6EEEIIYavNsThzaxpvWlqYRb4MapB0blXhFJ+bk7wuPgrHeDUQZmUgwkiPk1N8rpS/YeqMGTOanz/xxBPk5+e3+01lRecgxY8QQgghbLM6GGFBXYhhHic/y/bglA+sttIUhZEeJyPcDr6Kxnk1EOG2qnqOcumc6nPT16GlZFGxcuVK8vPzGTJkCLm5ubzyyivEYjFOO+00nE57728kUosUP0IIIYRIunjjMNbvhKKcl+3hJx5nSn6ozlSKojDI5WCQy8HmWKIIuq+6gZ4OjZN9Lo52pdbgCI8++ii33HILAAsWLOCVV17B6/XyxRdfMHPmTJujE6lEih8hhBBCJFWtYfJgbYBqw+S6fD99nPJxJJWVOXRm5OpUxQ1WBiPM2xlksaJwvMfJaI+TohToEldVVUXv3r2BRCvQzJkz6dWrF9OmTbM5MpFqOsW7zWuvvcZf//rXFs2av/jFLzjppJPsC0oIIYQQrXwTjfNgbYAumsrNBVlky/U9aaNQ15ia7eVsv4ePwlFWBaOsCEQod+qc4HFytNuBw6bWIJfLRTgcJhwOU11dzRFHHIGiKJhm+gzaIJKjUxQ/AP369ePuu++2OwwhhBBC7IVlWbwZjPJUfYixXhfnZLnlpqVpyq0qnOB1cYLXxfexOO8Eo8yvC7K4TuE4j5PRXiddktwaNHLkSGbNmkUsFuPEE09EURQ2b95MSUlJUuMQqa/TFD9CCCGESE1Ry2L+ziCfhmNcnONlhEcuQO8sejh0fpajc06Wh4/DUVaForxWFaGfQ+MEr4shSWoNuuGGG1iwYAGmaXLBBRcAkJWVxaxZszr82CK9dJriZ+PGjUyfPh2v18vo0aOZNm0aLpfL7rCEEEKIjFYVN5hbGyBiwX8WZFHqsP/6ENH+XKrCKK+LUV4XW2MGq0IRFu3RGtRd67hzr2kaF110Ebq+66NtXl4eeXl5HXZMkZ46RfFz5JFHMnv2bIqLi/nhhx+49957eeSRR7j66qtbbVtVVUVVVVXzvK7rFBQUtOl4WuMfr9aBf8QdRVGUtIxbcp5c6ZxvkJzvbb+pEEuyyPlPrv3l+1/hKA9XN9DbqXNZvh+fmjrX93TWnKeCMk2jzO1kSo7FR6EIq4IRXq+qZ5Dbyazc3A6J/b/+67845ZRTGD9+PN98801zF7ibbrqJkSNHtvvxRPpSLMuy7A5if+68807eeeedfa5ftmxZq2Vr1qzh7rvv5rHHHmu1bs6cOcydO7d5/sorr9xrkSSEEEKIQxMxTZ7ctoPl1Ts5tyiP84rzUeX6noz2fTjC5nCUE3KzDun169at2+/6yZMnM2/ePPx+P7fccgt9+/altLSU+fPn8+CDD7bavry8/JDiEOkv5Vt+DmVsdlVV2VdNN2XKFMaOHds8r+s6NTU1bdq/pmlkZ2dTV1eHYRhtjs9OPp+PQCBgdxhtJjlPrnTON2RezvfXraOt72+HG0sqyLTzb7c9870pGufhmnriFtxQmE1/p8rO2lobI9y7zpTzdOAHBje2+HREzg3DwO/3Y1kWn376Kb/61a/IycnhnnvuadfjiPSX8sXPwfjoo4/o3bs3+fn5bNu2jUcffZRRo0btddvCwkIKCwub56uqqg75D9AwjLR7w7QsK+1i3p3kPLnSMd8gOd9zf6kSS7LI+U+upnwblsXyQISXGsKM9DiZkuXBoyop//Okc87TVUfkvEuXLqxevZpAIEBpaSk5OTmEw2E8Hk+7Hkekv05R/KxZs4b77ruPUChEdnY2o0eP5qKLLrI7LCGEECIjbI8bPL4zSFXc5PJcL8e4ZTQ3kVxXXnklf/jDHzBNk9///vdAYjCs8ePH2xuYSDmdovi57LLLuOyyy+wOQwghhMgolmXxWm0DC3bUU+7UuapQbloq7HH88cezbNkyTNNsHu134MCBDBw40ObIRKrpFMWPEEIIIZJrp2Eyb2eQb2MGU7I8jPY4UWRQA2GTbdu27XNd041OKyoqKC4uTlZIIkVJ8SOEEEKINvkkHGX+zhBddJVby0rwRkJ2hyQy3EUXXYRlWa0KcMuyWLlyJZDoKfTCCy/YEZ5IIVL8CCGEEOKghEyLxXVBPgzHmOh3c6rPRa5Tpz5id2Qi07388ssH3ObZZ59NQiQi1UnxI4QQQogDWheJ8fjOIC5V4cYCPz0c8hFCpA6HwwFAZWUlVVVVFBYWUlRU1GIbXZffWSHFjxBCCCH2I2ZZPFcf5vVghJO8LiZluXHKtT0ixVRXV3PrrbeyZs0a/H4/DQ0NHH300cyaNYv8/Hy7wxMpRIZkEUIIIUQrpmXxfijKf1fW8XE4yrV5PqZke6TwESnp3nvvpbS0lGXLlvHss8+ybNkyunXrxn333Wd3aCLFSMuPEEIIIVpYG4nxTH2YCsPgVJ+bU7wuXKoUPSJ1ffbZZyxevBinM3GPKZ/Px3XXXcfUqVNtjkykGil+hBBCCAHAlpjBs/Uhvo7GGe1x8os8n9y3R6QFr9dLZWUlpaWlzcsqKyvx+Xw2RiVSkRQ/QgghRIarNkyerw/xQTjGYJeD3xRmUaJrdoclxEGbOHEiM2fO5Pzzz6ekpIRt27axaNEizjzzTLtDEylGih8hhBAiQwVNk+WBCG8EInR3aFyf76evUz4aiPQzffp08vLyWL58efNob9OmTWPixIl2hyZSjLzDCSGEEBkmZlm8FYzwckMEn6pwSa6XIS5HqxtECpFOJk6cKMWOOKCML358Ph+q2rb+zE3/HHw+H5ZldURYHUbXdbKysuwOo80k58mVzvkGyfnuMu09DuT8749pWbxXH2TJjp1ELIsphTmclONHP4yiJx3zDen9e56JOa+urt7v+k8//XSf64YMGdKmY6WjXr16cdZZZzF79uyDfs0bb7zBuHHj+OCDDxg+fPg+t/v973/P3XffTUNDQ3uEaruML34CgUCbX6NpGk6nk0AggGEYHRBVx8nKyqK+vt7uMNpMcp5c6ZxvyLycu1yufa7LtPc4yLzzfzAsy2JdNM4z9WG2GwYne12c4nPjUSF0mB9o0jHfkN6/55Lz1m677bYW83V1dZimSU5ODkuXLm3XY6Wip59+mry8PLvDSAsZX/wIIYQQnVXEtPggHOXtYJStcYNRHidX5/nIlRHcRCezZMmSFvOGYfDQQw9RWFhoU0TJEQqF8Hg8HHvssXaHkjbk3U8IIYToZLbGDBbuDPLbyp083xDmCJfO7wqzuDDHK4WPyAiapjFjxgzmzZtndyg88sgj6LrO9u3bWyyvrq7G6XQyZ84c3n33Xc4++2y6deuGz+djyJAhPP744y22f+ONN1AUhRdeeIHzzjuP7Oxszj//fCDR7e3aa69t3vZg9tekoqKCn/70p/h8Prp27cof//jHA/5MtbW1/OIXv6Br1664XC6GDRvG8uXL25oaW0jLjxAirViWhQVYgNk4taym51ZiGjeoN0wsEt/wKEpiqqKgKqDQNI9c4C06jZhl8Uk4xtvBCN/FDPo5NC7I9jLE7Tisa3qESFfr16/HNE27w+Dcc8/lmmuuYfHixS0KlKbueOeffz7Lly/nhBNO4JprrsHtdrNq1Souv/xyTNPkkksuabG/q666iunTp/P000+jaXsfkn7Tpk1t2t+0adN46qmnePXVV/ntb39Lfn4+11xzzV73HY1GGT9+PNu3b+f222+ntLSUJ554gokTJ/Lxxx8zePDgw0lXh5PiRwhxSCzLIg5ELIuIaRGxGp83P3abNy1iJD6cxa3GKRC3LGIt5nc9b9o2joVp7VboHFR0dQf9cyjsVgztViRpCjgAh6KgK43TxnmHArqiJJ7vsY0DcCoKLlXBpYBLUXZ7gLtxnQMpvET7qIwbrApFeTcYxcTiOI+TaTleusp9ekQGufbaa1sMohAOh/n++++5/PLLbYwqIScnhzPPPJP58+e3KH7mz5/PhAkTyM/P54ILLmheblkWY8aMYcuWLcyZM6dVsXL22Wdz11137feYbdnfySefzP/+7/8CcNppp7F9+3Zuu+02rrrqqr0OmDNv3jw+/fRTPvvsMwYNGtT8uvXr13PrrbeyaNGig8yMPaT4ESIDxSyLkGkRsizCjc93n4ZRsMJxakNhgoaZWGdZhM2Whc3evk/TofmDfqIASDwcuxUHuqLgVsCBuquwUMCB0mJeb5zXaCxQFKVFsdLUopNYpjQvy/L5CDZe6N9UNJl7tA7tXlCZjT9L0xH1MZMAACAASURBVLxhgcGuQi3WWITF9jIfsSwaTIvYbuujexR/0b1UbArgUhoLJUXBrSrMcLopab/TLDoxw7L4VyTGW8Eoa6NxynSNyVluhrmduFQpqkXmmTRpUot5j8dDv3796Natm00RtTRt2jR+9rOfsXnzZsrKyvjxxx958803eeyxxwCoqanhd7/7Hc8++yxbt25tHhCioKCg1b4OZjjvtuzv3HPPbTF/3nnn8fjjj7NlyxbKyspabb98+XIGDx5MeXk58Xi8efn48eN54oknDhib3aT4ESLNWFaiFaWpeAk2Tg92PmQmWlZ2pwNuVcGjKLgVBa+mkK2o6ECupuBWVDxqYt3urRi7FzdNrRxaCrRmZDkd1EdS51tvs7EA2mvLWGNBGVUU8h06RO2OVqSyGsPk3VCUd4IRAqbFcI+TGwv89HTIv3OR2U477TS7Q9ivs846C5/Px4IFC7jppptYtGgRbrebc845B4BLL72Ud955h1tuuYUjjzyS7Oxs/v73v7Nw4cJW++rSpcsBj9eW/RUXF+91/z/++ONei5+qqio++eQTHA5Hq3X76oaXSuTdUogksho/BIcbW1zCja0pwcZpiyLFovWyxumeLS5uBTyKgqexgGma+lWFYk1ttbypkGl67tijYNE0jby8PGpqatJuCNhUpDa2dLnZd2GoaRp5Tgc1bR+ZWnRilmWxJW7wr0icNeEY38cNSjSVU31uRnoceNt4DychhD08Hg/nnHNOc/GzYMECJk2ahM/nIxwO8/zzz/PnP/+ZX/7yl82v2df1SgfqMt3W/VVUVLSYbxqYoWvXrnvdPj8/n6OPPpoHH3xwv3GkKil+hNiHphaW6G7f2kcbv6mPWjR2bdpVzER2K2YiuxU4seoGgnGjcZvW16zo0FyMePcoSgo0dbdChVbFS9P2qdDaIoRoHzHLYn00zueRGP8Kx6gxLXroGke7HVzo8tBd1+R6MSHS0LRp05g4cSKvvPIKq1evZubMmQBEIhFM08TpdDZvW19fz7Jlyw7pOG3d39NPP92i69uSJUvo1q0b3bt33+v2p556Ki+++CLdunVLmW6FbSHFj0hZVmMLR9wCSzFRYnF2xA2ihkG88ZqMmAUGiQvn47tdhxFvLEpaXadhWURputB+t3XsKnKaiprYXgoVaHmthnO37l7uxus2XIpCvtr4Tb+qkOPxQCTSvN7dtH1j4bJnq4sQIvM0GCZraupYvaOeLyNRDAsGuHRO87s5yuWQ4amF6ATGjx9PQUEBM2bMIDc3lzPOOANIDIgwYsQI7rzzToqKitB1nTvvvJOcnJxWrTIHo637W7lyJTfeeCPjx49nxYoVPP7449x///17HewA4Oc//zlz5szhpJNO4j//8z8pLy+ntraWTz75hGg0yh133NHmmJNJip8MYFoWBv+fvTuPj6K+Hz/+mmuPbBKSkIRwBRJuMSDKIaAiIqBVDsUL8UAtYr2+SutP2tpq8ahnvW1BW1tpFa1404oXUhS8D1BEkPsKSUhCks2eM/P7Y5NICCC59kjez8djH7tz7Mw779nd7HtnPp9PpBG3YppUmBZhIg1mI4VDpJAw9yskzAPmmTU9cJk2WOz3vJptWLXPg3rPqX8fWcc61D6h3n7DHFB87C476N+nEmkQr9c1mq/tkSsy7Tigly6j5oyJgfpjI/ya+9piprYRuuMgj3Ua10tXSkoylZVH1keZEKJ9sG2bPabFGn+IbwIhNoVMUjSNo506l3RIor/DkI4LhGhjDMPgnHPOYf78+VxxxRX1zsw8++yzzJ49m0svvZSOHTty/fXXU1VVxf3339+kfTVme/Pnz2fBggU88cQTpKSkcPvtt3P11VcfcttOp5P33nuP2267jTvvvJPdu3eTmZnJkCFDDvu8eKHY+/cLeIRKSkq4//77+fTTT9m+fTsvv/wyAwcO5OGHH2bEiBEcf/zxLRrk6tWref7559m4cSMOh6OuZ4xaVVVVPP7443zxxRe43W7OOusspkyZcsR/S2Mdqj1Ebde/4Zov+SF+7Mo3XNNzVPiALn5rH4cPsU54v3XMmnXM/efVW7b/vB97q2pMD/e1hYRW09OWqtROR770a8qP3QDrNfM1Il0E6zXza9dXoaanrobra/vNry1c9p+v13QlXLtPp6aR0aED3ooKFMuqt1yN8zMnKSkpVFZWxjqMRkn0Nj/tLeeHG8G8JT/jEkU8Hn/btikyLTaHTLYEw3wfDFNsWnTWVQqcBoPdToZ0ymJfeXnC5Twe830kEvl13h5zXlpa2qKx9O3bt0W3JxJHo8/8fPHFF4wbN44OHTowZswY3n//fQKBAAA7d+7kwQcfPGhPEs3hcrk49dRTGTNmzEG70Js/fz6hUIinn36aoqIifve739GtWzeOO+64Fo2j1jf+IIvXbyVgmnWXT9UWKT9Fh3pd+NZ+ga89a1H/cU03v7VdBaugK2qDYmH/9fQD51Ezv6ao6JDswe/11q17YNESr4WEpmmkOx2U6RoJ9j9KCNEO+SybraFwpNgJhdkcNKm2bTqoCnmGzklJTgqcOpk1Y/Fomha3n79CCNGWNLr4ufHGGxk5ciSvvvoqiqKwcOHCumUjRoxo8cIHItV53759WbNmTYNlfr+fDz/8kAcffJCkpCR69uzJhAkTePvtt1ut+MnRNaZkpROsrka1rUOOTbL/oIh6nBQX8dYFsBBCJDqr9qxOMFLsbA6FKQxbaEA3QyPP0BnRwUGeoZMubXeEECKmGl38fPrpp7z00ksYhtHglGVWVlaTGmY1x86dO7Ftmx49etTNy8vLY9WqVa22z0xdo096KmWYCXeqXAghRNMFbZvisMWesMnusMmWUOTms23SVYU8h84ot4Oehk43Q5MOTYQQIs40uvjxeDxUVFQcdNm2bdsOOnJsa/L7/SQlJdWb5/F48Pl8B12/pKSk3jXwuq43OubaAZwSYSCnAymKkpBxS86jK5HzDZLzg203HmKJluYef9u2qbRsCsMme8Ime0ImheHIrdS0sIFkVaGzrtHDoXNCsot8R/N6ZEvknCfi+w0k57GQyDlvjtZqn5WSktIq223rGl38TJw4kTvuuINx48aRlpYGRN6EPp+Phx9+mJ/97GeN2t7dd9/NypUrD7n8p/o4d7lcDQqd6upq3G73QddfvHgxTz75ZN30rFmzmD17diMi/lFqamqTnhdr+/cukmgk59GVqPkGyXmt9PT0Jj+3rR//atNibyhEYTDErkCIXYFgzS2E17JQgRyHQWeng/wUFyc6HXRxGnRxOEjWW+fLW6LmPFHfbyA5j4Wm5Ly4uLgVIhHtUaOLn3vuuYfRo0fTp08fxo4di6Io3HLLLaxduxZFUbjjjjsatb3aAZ6aqmvXrkDkrFNubi4Amzdvrnt8oGnTpjFmzJi6aV3XKSs7eBfKh6JpGqmpqVRUVCTcZW8ejwevN/GGkJecR1ci5xvaX84PV+A09vOtubHEA4/Hw97KKspMkzLTanArr7n313R26lYUcnSNHENjoKFxittBjq6Rqavo9S5bMyFgEgr4aXxWDy+Rc56I7zeQnMdCIudctB2NLn66du3KV199xYMPPsjbb79Nr1692Lt3LzNmzGDOnDlkZGS0eJCWZREOhwmHI/2pBYNBFEXBMAxcLhejR49m4cKF3HjjjRQXF/PWW2/xf//3fwfdVmZmZr1uYUtKSpr8BjTNxGvzY9t2wsW8P8l5dCVivkFyfuD24iWW5grZNlWWTZVl1dxHbl7LosKyI4WNZVFuleKzIoWNAaRpKumaSpqq0F1XGeTUSVNr5mkKHkU5+NhdlkW0//p4y/mRSOT3G0jOYyERcy7ajiYNcpqWlsYf/vAH/vCHP7R0PAf17bff8tvf/rZu+pxzziE7O5unnnoKgNmzZ/PYY48xc+ZM3G4306ZNa7We3oQQQjRP2LbxWTY+O3Lz1z7er6Cpsiyq7PrTgf1GpTOItLvxqCrJqkKqqtDd0BikGXTxeHAG/aRp6qELGyGEEO1Sk4qfaCsoKDhs25/k5ORmXz4nhBDi4EzbJmhDwLYJ1twC9aZ/fBywqStm/PsVOL795oUO2L5G5NIzt6rgURWSVYUUVaWzFilsklWVFDVyhqZ2mUPhkEVNSrKbysojGXlNCCFEe9Po4icvL+8nf0XbtGlTkwMSQggRe/M272RrtZ+AbR9yAGcDcCoKDgWcqoKjZkBmlwIuRSFVU+ikqLhVBbei4Kq5ry10aucZHLqQEUII0XRz586lsLCQefPmcdRRR7F3716cTid+v58LLriA999/n+HDh/PWW2+xYMECbr31ViorK1m9ejX5+fmxDr9VNLr4mTJlSoN/UmVlZSxfvhzbtjn77LNbLDghhBCxMSkzjX2VVei2VVfUOJRIseNUFAwl9oM2CyGEODK5ublUVVXVTS9evJitW7dSVFSEw+EgFApxww03sHz5coYNG9bk/Vx55ZUsX76cDRs28MQTT3DVVVfVLdu9ezezZ8/ms88+Y/fu3Xz33Xf079+/WX9XUzS6+HnooYcOOj8YDDJ16lTy8vKaHZQQQojYGpLioSwclEbJQgjRBm3evJl+/frVdZm+Z88efD4fBQUFzdru4MGDOf/88+u11a+lqiqnnXYat9xyCyNGjGjWfpqj6SOyHcDhcHDttddy3333tdQmhRBCCCGEEEdo9erVDBs2jJSUFM4444y64Q62bNmCoij4/X5++9vfMm/ePBYvXkxycjJ33nkn/fr1AyK9Iv9Up2G7du3iggsuoFOnTqSnpzN16tS6Zddccw3jxo3D5XI1eF6nTp24+uqrGT58eAv+xY3Xoh0elJSUtNootkIIIYQQQiSaPdfNapXtpvx9Ub3pUCjElClTmDVrFjfddBPLli1j6tSpnHfeefXWu/POOzEMg3Xr1rFoUWQbM2bMIC8vj5KSkoMWLrVM02TSpEmMGDGCDRs24Ha7WblyZcv/ca2o0cXPSy+91GBeMBjku+++47HHHuOUU05pkcCEEEIIIYQQR2bVqlV4vV7mzp2LqqpMmDCBiRMntug+Pv30UzZv3syqVavqLpkbM2ZMi+6jtTW6+DnnnHMOOt8wDM4++2weffTRZgclhBBCCCGEOHK7du2ia9euqOqPrVp69OhBeXl5i+1j27Zt5Obm1hU+iajRxc/mzZsbzHO5XGRnZ0tXpUIIIYQQQuyn06NPRmU/Xbp0YefOnViWVVcAbdu2jdTU1BbbR25uLtu2bSMUCmEYRottN5oaXfz06NGjNeKImczMzCY/Nz09vQUjiR6n0xnrEJpMch5diZpvkJzXao+fcSDHP9oSNd8gOY+FpuS8OZ9l7cXIkSNxu93ce++9/PKXv2T58uW8+eabDdr8NMewYcPo0aMHc+bM4a677sLlcrFy5cq6S9+CwSCWZWFZFuFwGL/fj2EYaJoGgN/vr9tWMBjE7/fjdDqjegLliIqfL774olEbPfbYY5sUjBBCCCGEEKLxDMPg1Vdf5ec//zl33HEHY8aM4eKLLyYQCLTYPjRN4/XXX+eGG24gPz8f0zQZO3ZsXfEzYcIEli9fDsCKFSu47rrrePrpp5k5cyYAbre7bluDBw8GIleV9ezZs8Vi/CmKbdv2T62kquoRVWS2baMoiowLIYQQQgghBLRaT8gpKSmtst227ojO/Cxbtqy14xBCCCGEEEKIVnVEZ36EEEIIIYQQjZdoZ35WrFjB6aefftBla9euJTc3t1X2Gy1S/AghhBBCCNFKEq34aevUn16loYULF3LCCSeQnZ1Nampqg5sQQgghhBBCxJtGd3X9z3/+k1mzZjFz5kxWrlzJ5ZdfjmmavP7666SlpXHJJZe0RpytpqSkpNHP0TSN9PR0ysrKEq5zB4/Hg9frjXUYjSY5j65Ezje0v5wfrgvY9vYZB+3v+MdaIuYbJOex0Jycl5aWtmgsffv2bdHticTR6OLngQce4He/+x1z585lwYIFXH311Rx77LFUVlYyYcIEkpOTWyNOAN544w3ee+89tmzZwsiRI7npppvqlm3dupVHH32ULVu20KlTJ6688sq6LvTEj/Yf9VdEh+Q8+iTn7Zsc/+iSfEef5DyxyOVp8aXR754NGzYwevRoNE1D0zQqKiqAyIG9+eabeeSRR1o8yFoZGRmcd955TJgwod78cDjM7bffzvDhw3nuuee44IIL+OMf/0h5eXmrxSKEEEIIIYRILI0ufjp06FA3WFLXrl1Zu3Zt3TLTNNm7d2/LRXeAUaNGcfzxxzdoV7RmzRoCgQDnnHMOhmFw4oknkpuby4cffthqsQghhBBCCCESS6Mvexs6dCirV69m4sSJTJ48mT/84Q9YloVhGNx9990cf/zxrRHnYW3bto2ePXvWOw2cn5/P1q1bG6xbUlJS7xp4Xdfp2LFjo/anaVq9+0SiKEpCxi05j65EzjdIzg+23XiIJVrk+EdXIuYbJOexkMg5bw7p7S2+NLr4+fWvf11XVMybN4+tW7dyww03YFkWw4YNY/78+S0e5E/x+Xx4PJ568zweD0VFRQ3WXbx4MU8++WTd9KxZs5g9e3aT9puoPds5HI5Yh9BkkvPoStR8g+S8Vnp6epOe59+4AZcnGSMrGyUBv6jI8Y+uRM03SM5joSk5Ly4uboVIRHvU6OJnzZo1nHvuuQCkpaXx6quvEggECAQCMfsAcbvdDXo98Xq9uN3uButOmzaNMWPG1E3ruk5ZWVmj9qdpGqmpqVRUVEgPMVEiOY+uRM43tL+cH67AaeznW20s5U8vILhjO2gaWscs1OxOaLW3rMi92ood3DRHezv+sZaI+QbJeSwkcs5F29Ho4ufaa6/luuuuY8KECVx44YVMmTIFt9uN0+lsjfiOSG5uLosXL8ayrLpL3zZv3sxJJ53UYN3MzMx63cKWlJQ0+Q1ommbCvXlt2064mPcnOY+uRMw3SM4P3F5TdL/9Xkq3biFYuBuraA9WcRHhXTsIfvU5Vlkp2DZKUhJqbSGU1Qk1OxstqxNKcjKKwwG6gaIoLfa3HCk5/tGVyPkGyXksJGLORdvR6OKnsLCQF198kUWLFnHRRRfhdruZNGkSF154Iaeddhq63uhNHrHaN4tlWViWRTAYRFVVCgoKcDgcvPTSS0yZMoWPP/6YrVu3Mnr06FaLRQgh2jJFUVA7pGEkp0Dv+uNh2KEQVkkxZnGkKDKL9hD65mvMoj3g99XfkOGIFEKGgeJwoBgOcDjqPzaMyL3ThdoxEy0rGzW7E2pS/cuZhRBCiOZqdKWSnp7OrFmzmDVrFoWFhTz//PM8//zzTJ48mfT0dM4555xWa/fz/PPPs2jRorrpDz/8kFNOOYUbbriBW265hccee4xFixaRnZ3Nr3/9a9LS0lolDiGEaM8Uw0Dr3AWtc5d6823bxq6qwq72YoeCEAxih4LYwRCEgtjBYN19vcehEFRXY/l9BD//BLu8LHJmyZMcudwuK/vHM0zZ2agZmQnZDkmItsK27Zic1RWiJSi2bdstsaG33nqLyy+/nN27dyfUqcz2Nvp5SkpKq/U60pok59GVyPmG9pfz/S/lPVAifsbZoSBWcc2ZpaI9mMVFdfcE/KCqqJlZkYKo5iyRlt0JrVNnFLe73R3/WEvEfIPkvDGsslLCGzfU3ayKfahp6ajpGXX3Su10egZqWhqKbjTYTnNyXlpa2lJ/DgB9+/b96ZVaSCx7e5s7dy6FhYXMmzePo446ir179+J0OvH7/VxwwQW8//77DB8+nLfeeosFCxZw6623UllZyerVq8nPz2+VuGOtWdeo7dixg0WLFrFo0SK+/PJLMjIyuPLKK1sqNiGEEO2QYjjQunRF69K13nzbtrErKzCL9tS1QzILdxFa/eWP7ZA6pOHv1h07Mwu1U2e0nC5onXJQYtguVYhE06DYKd2LkpKK3rsPzlPGo6Z3xCovi9zKSglv/AGrvBSrvAxqiholJfXHAik9HTUtAz2nM4yUJgmxkJubS1VVVd304sWL2bp1K0VFRTgcDkKhEDfccAPLly9n2LBhTd7PlVdeyfLly9mwYQNPPPEEV111Vd2yJUuWcPfdd7NmzRocDgfjxo3joYceolOnTs362xqr0cVPcXEx//73v3nuuedYtWoVSUlJTJ06ldtvv53x48e3apsfIYQQ7ZeiKCipHVBTOzRshxQMRoqiwl1opXvxbd9KcPVX2GWRX4vV9I6oOZ3Ram5qTme07E6RdkdCtHNWeVn9YmdvSaTY6dUH59jx6L37oGZm/+SlbrZlYVdW1BVFVlkZVnkpZnERoQ3fE05OleInTmzevJl+/frVdZm+Z88efD4fBQUFzdru4MGDOf/88/ntb3/bYNm+ffuYO3cuJ598MrZtc9VVVzFz5kz++9//NmufjdXoSqVLly7ous7PfvYzFi1axJlnnonL5WqN2IQQQogjojgc6N26Q7fupKSkoNVcZmL7/ZhFhZiFu7EKd2Pu3E7wi0+x95WDoqB2zETv1Qdj0BD03n2lLZFoF6yyUsKbfjig2ElB79UX58mnovfqg5r108XOgRRVRemQhtohDXrkNVje3gY3jYXVq1dzxRVXsG7dOk466SS6desGwJYtW8jLy8Pn83H77bdz3333Yds2ycnJ/PrXv+auu+4CIpdR9+vXj88///yQ+9i1axdz5sxh2bJlBINBxowZwyuvvALANddcA8Dtt9/e4HkXXnhhvenrr7+ecePGtcjf3RiNLn6eeuopzjrrrIQdFEwIIUT7obhc6Lk90XN71ptv+aojxdDuXYTWfYv3b/NRHA6MgQWRQqhvv4O2WRAi0di2jVVSRHjTxkjBs+kH7LLSmmKnD84x4yJndrI6SScGrWTW1j2tst1FR9dv8xMKhZgyZQqzZs3ipptuYtmyZUydOpXzzjuv3np33nknhmGwbt26uo7EZsyYQV5eHiUlJYc9qWGaJpMmTWLEiBFs2LABt9vNypUrmxT/8uXLOfroo5v03OZodPFz6aWXtkYcQgghRNSo7iTUvF7oeb1wjjoR2+8jtPYbQmu+wrvwr6BpGEcVYBQcg9F/gFweJxKGbVlYhbvrCp3w5h+wKytR0jPQ83vjOvU09PxeR3QZm0gsq1atwuv1MnfuXFRVZcKECUycOLFF9/Hpp5+yefNmVq1aVXfJ3JgxYxq9nU8++YQ77riD//znPy0a35GQBjpCCCHaPcXlxnHsMBzHDsMOBAitW0tozZdUL3oGbBuj/0CMQUMwBgyUzhNEXLFNE3Pn9rpix9y8EdvnQ83qhJ7fC/eZZ6Hn9UbNyIh1qKKV7dq1i65du6Kqat28Hj16UF5e3mL72LZtG7m5uXWFT1OsXr2aSZMm8dRTT8VkTE4pfoQQQoj9KE4njsFDcAwegh0KEv5+HcE1X1H94nMQDmP0H1BTCB2N4nbHOlzRTpmFu/EvfYPQ999BKITauQt6fm8cx42InNlJkeYJ8eLJHtHpzaxLly7s3LkTy7LqCqBt27a1aFOV3Nxctm3bRigUwjAaf2nwmjVrmDBhAn/6058499xzWyyuxpDiRwghhDgExXBgHD0I4+hB2OEw4Q3fE1rzFb5X/k31C8/iOmU8zrHjUZrwJUCIprAqKyh9bTHeFe+j9zsKz4zL0PJ6oSYlxTo0EWMjR47E7XZz77338stf/pLly5fz5ptvNmjz0xzDhg2jR48ezJkzh7vuuguXy8XKlSvrLn0LBoNYloVlWYTDYfx+P4ZhoGka3377LePHj+ePf/wjM2bMaLGYGkv96VWEEKJmjJUEGwhQiJak6DrGgIEknTeD1Fv/SNJ5FxL46AMq77+T0PdrYx2eaOPsYBD/O29ScfcfCG7aiGfWNST//BcYAwuk8BEAGIbBq6++yosvvkh6ejoPPvggF198cYvuQ9M0Xn/9dXbv3k1+fj6dOnXikUceqVs+YcIE3G43K1as4LrrrsPtdrNw4UIA7r//foqKirjuuutITk6uu0WbYtu2HfW9xpFEHP28OWQk7uhLpJzbloVdsQ9K9+Ks9lK5bStm8R7MkhKsvcWgqLgnnYVjxKi4biibSDmv1ZzXeGZm5iGXtbfPOIju8bf9PvxL/0Pgw+UYRw/GPfls1LT0Rm8nkXOeiO83SJyc25ZF6PNP8L35BgDu084k4+RxVHm9MY6s8ZqT89LS0haNpW/fvj+9UgtprfdHSkrKT68kGmj3xY/P56vXMOxIKIqCw+EgGAySaOnTdZ1wOHzQZXY4jFm2l3BJCeHSvZh7S7DDYZKGjsCR2yPKkdbXVnMeC7ZpYpbuJVy8h1BREeGiPYSL9xAuLiJcXAzhUKSnq6xstMxs9Oxs9KxO6FnZhIv3sO/lf+Ps3Y/0iy9Dz+gY6z/noOIt50eiOa9x52Ea4Le3zziIzfEPbt9K2bPPENq5ndQzp5IybgKKduRXlidyzhPx/QaJkXP/urWUv/gc4aIiUk87g+RTJ6I6nO0y51u3bm3RWKT4ab/affHTnn4VtYNB3MEAlTu2Y5XuxSovjYzAXBq5tysrwLZB01DT0lEzOkYKos0b0bp1xzFiNI4hx6G4ot/AN1FzDvHzq6gdDhFYsRz/u0vB7wPdQM3MRO2YhVZzr2ZGbkbHTDI6djxovs2SYqpf+Bfmrh24J0/DMez4uDsLFC85bww589NyYnX8bcsi+NnH+N94BSUllaRp56Pn9z6i5yZyzhPx/QbxnXOzcDe+Ja8QXrcWx4hRuCacgbpfo/X2mHM589NQaxU/K1as4PTTTz/osrVr15Kbm9sq+40W6fCgDbNtm/B33xJY/i5m4W5sbxX7AAwHanpG5JaREbleuHY6PQMlJRVlv1+KzeIigp+uwv/WEnyvvYTjmGNxjBiF1iMv7r70ioZs2ya0+kv8S17FDgVxnzkl0kvVAcd5f4eaD6BlZpF81fUEP/wfvpdfILT6A5JXDAAAIABJREFUK5LOnR4Z0VuIdkxRVZzDR2IMLMD/n9eo+vPDGMcOw33mWajyC604AlZlBf6lSwh+sgq93wBSfvkbtJzOsQ5LtDMnnngiVVVVsQ6j1Ujx0wbZtk14/Xf431yCuWsHjuGjcIw+CTU9g9TuuXhtGlW0aFnZuH82BdfEMwl99w3Bj1ZS9fiDqNk5OEaMwnHcMFRP9BusiZ8W3roF3+svYe7YjnPMKbjGjkc5zMjNR0pRVZwnnoze/yiqn/8nFffdSdLUczCOGy4FsWj3VE8ySedeiGP4SHyLn6fy3nm4Tp+M4/jRh/1hQbRfdjBI4H/v4V/2NlrHLDyzrsHo0y/WYQnRJknx0wShH9ZT+OkqlKMHo/btj6LHRxentm0T/mE9/qVLMLdtwTF8JJ5LrkBN/3FgMy0lBaWJp18VTcNx9GAcRw/GKi8j+MlHkQ/rJa9iFAzGMWIUeq8+8s89Dlilpfj++yqhr77AGDIUz4yZ9V4HLUXLyib56hsIfPA+1S8uQl/9JUnnTEdN7dDi+xIi0eg98kj+v5sIrlqB7z+vEvxkFe5p56N3j20bShE/bJ+P4Oef4F/2NgBJU8+N/Igk/0eFaDVS/DSB4nKDqlH5z6dB1XAMOgbjmOPQe/eN2QdWeOMP+Ja+gbllE46hI0iafglax0O3A2guNS0d14TTcZ46kfCGdQQ/Won3ycdR0zNwDB+JY9jx8gU4Bmy/D/97bxP433to3XuQfN2v0Fu5swpFVXGddApG/4FUP/9PKu+7E/dZ52IMGSpngUS7p2gazhNOxhg0BN/rL1P1yP04jj8B1+mTpHvidszctZPAyv8R/OJTFJcb5+iTcJ44FsXhiHVoohVIxwTxRYqfJtC7dSfrqusoLSzEv+Yrgl9+hvevf0ZJ8mAccyyOY4ai5faIyhe/8JZN+JcuIfzDeoxjh5F03gy0zKxW328tRVUx+h2F0e8orMpKgp99TPCTlfiXLkHv3Re97wCMfv1Rc7rIF+FWZJsmwU9W4V+6BMXpJOnCSzEKjolqzrXsTiRfcyOB/71H9Qv/wlj9Je5pF8go40IAamoHPDNmEho+Et/LL1B5zzxcE8+IdBuvabEOT0SBHQ4TWvMVgZUrMDdvRO/dl6QLLsYYOEheA0JEkRQ/zaA4nTiGDMUxZChWtZfQmq8JffEZVR88gJrREeOY43AMGdoqjRXD27ZEip716zCOOZaUm25By+7U4vtpDDUlBdfYU3GePA5z00ZC335N8NOP8L/xMkpqKnqf/hj9BqD36S+Nf1tQ6Pu1+F57GWtfOa7xp+EcfVLMLsVUVBXXyadiDDia6kULfzwLdMxxUvwKARh9+qHP+TWBD5fj+89rBFb+D/eUc9D6HxXr0EQrscpKCXz0AcGPV2GHQ5GrM86ZjtYpJ9ahCdEuSfHTQtQkD84Ro3COGIW1r5zg118Q+vJzAu8uRe3cFceQ4zCOOQ6tmeOihHdsjxQ9677FKDgmLnuCURQFvVdv9F69cQPWvnJC69cRXv8dvlcXY3ur0Lp2Q+87AL1vf/S8/LhpN5VIzN278L3xMuEN3+MYdSKu8afHTccTWqcckq+dQ2D5e1Qv+ifG6q9wn32+FL1CAIqu4xozDsdxw/EvXYJ3wWMEBxbguegycDa/QxIRe7ZlEd7wPYGVKwivXYOa0wXXaWfgGDIM5TDjcgkhWp+M89PKY2CYJcWEvvyM4JefYRXtQe3cFcXlQjEM0PXIl35dj0xrOoqh7zffQNF1MHTQdMLfrib07RqMgYNwTfgZWpeujY491mMD2JaFuWsH4e+/I7x+HeEtm0DV0Hv1wejXH73vANTsTg3OEsTzeAw/pSVzbpbujeTt+7WEvlmNPmAg7jOnomW37C+ILZlvs3A31YuewfZW45l9bVQuy4z167wpZJyflpNox9/cvRP/ay8R2vQDrhPH4hg3AdWdOO2BDpVvy1uF/+03MQYWxGXPZa3xOreqvQQ//Yjgqg+wykoxBg3BOepEtJ75LXr2O9Fe47Xa6zg/Ir5I8ROlLwa2bWPu2kl44wYIBbHDYQiFIvfhH+8Jh7FD4ch9OPTjslAItXNXXONPR+/WvdEx14q3D0w7ECC8cUPkzND332EV70HpkBYZb8jlRnFHblqSh6SMjvgB2+mMzHcl1S1XXO5IoRiHmpNz2+cjtHF9pOBZvw6rpBglLR2jb3+MY4dh9G6dD++W/lJgh4J4F/4Nc/tWkmdd26TCvTHi7XV+JKT4aTmJePxVVcW5dTN7nv0HdnU1rtPOjLQHSoBevw6W7+DXX+J7+YXIwNmWRcqNc1EzWr7HyeZoqde5HQ4R/mEDoa+/IPjl5yjJyThHnoBj+MhWa/OYiK9xkOJHxIf4/LbYBimKgt61G3rXbrEOJa4oTifGUUdjHHU0EOmiObRxPXZlBbbPh+33YVdXEy7dS9XmjYQrK7F81dg+X6RY3J/hQHG7IoWQa7+iyOXab9pVbxm1y91uFKcr5o1ObdPE3L6V0PffEd7wPea2LWAY6L364DxhTOTMWFZ2wrWfUQwHnktnUf3Cv6h84iGSr7gKPa9XrMMSIm4oioJnyHGkdcul+n/v4VvyaqQ90ORpcXnW5FCsigp8Lz9PaO03uMadhnPsqXj/9he8C/9K8jU3xu2PVI1leasIr4ucgQ+t/w5MC71vPzwXX4Y+4OiEKFqFaK/axqcQ8NBDD/G///0Pfb8P1scff5ysrOj1fCaaT83IwJlxfIP5B/u1yA6FIsWRr+bmr/6xYPL5a6b92H4fVmUFtj/ymJp5tt8X+VWyXgAqOBwohiPS5ahh7Pd4v3k160TWNVAcTnA6I/Mdzsg13Q4HitNJOBzCCoZQnM4GxZVt21glxZEzOxvWEfphPQQCaN17oPftj/tnk9F65MW8KGsJiqaRdP5F+F5/iaoFj+G55OcYAwbGOiwh4srB2gPpRxVELm/Nyo51eIdk2zahzz7G99pLqJlZpNxwM1rnLgAkXTiTygf/iG/JKyRNOSfGkTadWVJMqObyc3PzxkgPr0cdTdL0SzD69Je2PDE2Z84cDncxk23bPPTQQ1GMSMSrNlP8AEyZMoVLL7001mGIKFEMI9JWqomXFdi2DYFATSHkxw4EsENBCAYj96EQ9sEeB4ORdSsrIwVYMBCZFwxE1gkEIBgAywKg3oUJmh4poJxOFIcz8pzyMtSMjuh9+5N03gz03v3a7PgfiqrinjwNNcmD9+n5JE2/BMeQobEOS4i4oyankDTtApyjTsT32ktU3n8nzhNOxnXqaShud6zDqydcuhfv358kvOkHXBPPxHnS2HpnPtSUFDwXXU7VXx5B79kLx+AhMYz2yNmWhbltC6G1awh9swarqBA1qxPGwALcp0+K/DAlZ3jixtixYw86v7y8nHfeeYft27dHOSIRr9pU8SNEYyiKAi4Xiqvle1eybTvSbisYwGMYVJWWRgqdmsLIDkQKJVQVPb93VMdmijVFUXCNPx0lKYnq557Brq7GOfqkWIclRFzSOnfFc+W1hNd+g+/1lwh+9jHGkOPQu/dA656Lmpkdsy/gtmURXPUB+/7zGmrXbpHeRw/xWabn98Z1+iSqX/gXWtducfuZZweDkbPw364htPabSO+kPfNxDDseY2BBzIeUEIc2adKkusfhcJiPPvqIN998k2+//ZYTTzyR//f//l8MoxPxpE0VP0uXLmXp0qVkZmYyadIkxo8fH+uQRDulKErNJXMGekoKmkMuhziQc/QYlCRPpADyVeMcNzHh2jIJEQ2KomAMLEDvN4Dgxx8SWr8O3+ovsSsqwOVC75qL1r321iPSYUwrv5fM4j1Uv/As5q6dpJ9zAdbgY3+yCHOOGUd400aqn/krydfNiVw6HCfscIjAyhUE3lmKHQph9BuA64wpGAMGoiZLF/2JYt++fTzzzDMsW7aMPn36MHHiRH7/+9/jcMTPa03EXpspfiZNmsTll1+Ox+Ph22+/5Z577sHj8TBq1Kh665WUlNTr/UjXdTp2bNzYO1pN+wstAdthKIqSkHFLzqMrWvl2Dx2BluSh8u8LoLqapCnTWuRXbMl5w+3GQyzR0maPv6ahn3QKnHQKAGZ5Oeb2LYS3byW8bSvBT1ZiV1ejeJLRc3ugd6+55fZATe3QInHapol/+btUv/kGRu9+pNz8O1K6dcfr9f70kzWNlBkz2ffAXfhffYnk82e0SExNpWkatmVFBidf8gp2IIB74hm4jh8duTw5jiXiaxxa/7Nl8+bNvPLKK5x77rlMnz6dDh1a5nUv2pY229X1s88+y86dO7npppvqzZ8/fz5PPvlk3fSsWbOYPXt2tMMTQuzHt34dux+8F8+xQ8m+fHab6OBBiGizbZtw8R78mzcR2Lwxcr9lE3YggJ6RgbNHPnpmJnpaOlpaOnp6BnrNvXoE7YgC27dR9Le/ECoqImvGpSSPPKFJZ5j8m35gx523kn35bFJjeMlr9TdfU/LCc4QKd5N22hmkn35mQo2v1N6sX7/+iNb77rvvePPNN1mxYgUDBw5k4sSJjBw5skHBJV1dt19ttvh57rnn2L59e4NrPFvqzE9qaioVFRUJNwaGx+M5sl/o4ozkPLpike/wzu1UzH8MvUdPUi75eaQziyZqbzlPT08/5LKysrKoxhIP2tvxPxzbsjD3FBLevhVz5w6sfeU/3ir2Qe2+nE7UDmmoqR0i9/UedyD0/Xf43nkTx9GD8Uw7v974NU3Jt+9/y6he8godbrgZvaZXuGgJb99K9RuvEPphPaljTsEYNxE8yVGNobkS8TUOzXudFxcXN2r9UCjEihUrWLp0KRs3buTkk0/m2muvrVsuxU/71WYue/vggw849thjcblcrFu3jiVLlnDllVc2WC8zM7PegIAlJSVN/kdjmmbCfTGwbTvhYt6f5Dy6oplvJacLydfciHf+Y+z7yyMkXz47MhZTE0jO628vXmKJFjn+9SnZnTCyO2EcN7zefNuysKu92BX7sPbtw6rYh11TFIV378T+fi3Wvn3YVZUoKakkXXQ5joLB2NR/XTUl38aoEzE2bqDy70+S8n83RaWbaHNvCf43Xyf01RcYRw8m7ebfk9mvf0IO5pvIr3Fondf5obq6VhSFpKQkXnrppXrFj2i/2kzx88Ybb/D4449jWRaZmZlcdNFFnHSS9CAlRCLRMrNIvvZGqhY8RtWfH8Ez62ppbCxEK1FUFSU5BZJT0LocegBuOxwGRWnRy1EVRSHpvAupfOheqhcvImn6Ja3WSYNVVYn/naUEV61A65FH8rVz0HvkJWSbGXFoh+rqWogDtZni5+677451CEKIFqB2SCP56hvw/vUvVD3+EMlXXoOanhHrsIRotxS9db4qKC43nkuuoPKR+wnm98J5/Aktun07ECCwYhn+Ze+gpqXjufTn6AOOll4l26hhw4bFOgSRINpM8SOEaDtUTzLJs6/D+/cFVD72J5wjT0DrlovWrbucCRKiDdG6dMN91nn4Xn4BrXsP9K7dm71N2zQJfroK/1v/AUXFPWUajqEjZEDSNm7GjBnYtn3I4ta2bd57770oRyXikRQ/Qoi4pDideK64Cv/b/yW0bi3+d5dCKISSnoFeUwhp3XPRuuWiJnliHa4Qookcw0cS3vQD1c/8lZQbbkY5gp7nDsYsKSb4yUqCn34M4RDOUybgPGFMXI0nJFrX66+/LmP6iJ8kxY8QIm4puoH79MlA5Ndcq6iQ8PZtmDu2EfpmNf63/gtmGLVjZs2ZochAj1b/ATGOXAhxpBRFIens86l85D6qX/gnSZf8/IgvTbNDQUJrvib48UrCGzegdcvFNf50HEOGNrmIEonLMAyMZvQUKtoHKX6EEAlB0TS0zl3ROneF4SOBSENsc89uzNqC6KvP8f/3NbyWhZqVHbmMJq8Xel4v1E45cXutv+3zESragyldr4p2SnE68VzycyofvpfgB+/jPPHwjdfDO3cQ/HgloS8/BcA4dhjJk6ehdz10xw2ibWujI7eIViDFjxAiYSm6jt61e007gdEA2KEQzopyKr9fR3jbFgLvv4Nv8aLIqPd5vdDye6Hn90br3DXqg6na4RBWURFm4S7M3TW3wl3Y5WWgKHiu/yX07BXVmISIF1qnHJLOmU718/9Ey+2J3iOv3nLb5yP45WcEP1mJuWM7eq8+uM86D6NgsFzaJuL2xy0Rf6T4EUK0KYph4OyZT7BjFs5RJwJglZcR3ryR8KYfCH68Cv9rL4HThd4zDz2/d6QY6p6LorfM5RK2ZWGVlWLVFDe1xY5VXASWhZKaipbTBS2nC8bgIWidu+Do3BVPp04EmzAoqRBthePYYYQ3/YB34d9IufFmlCQP5pZNBD5eSejrL1BcbhzDRpA04zK0rOxYhyviyC9/+Uv0VuqZULQt8ioRQrR5alo6jiFDcQwZCoDlrSK8eSPmpo2E1nyN/803QNMivzbn945cJtchDTsYwA4GIRD48XEwgB2IPLaDAai5twM1j/0+zOIiCAbB6ULL6YzWuQvOkSei1jxWDzKafLTPQgkRr9xTzsHc/gDep/6M7fdjlRShDxiI56LL0PsPlPeKOKguXbqwevXqw65zzDHHRCkaEc+k+BFCtDuqJxnH0YPh6MEA2H4/4a2bCW/6gfDGDQTefwfC4ZqVVXA4UZxOFIcDxeEEh6NmuuZxUjJqWkZklHqnE1dmFlpOV5T0dLkUQ4hGUgyDpIuvoPqFf+E4ehCOoSNQO6TFOiwR5+64445602VlZaSnp9ebfvfdd6MdlohDUvwIIdo9xeXC6DcAo1+klzg7FMIOBVEcDtB0KWCEiDItM4uUq2+IdRgigbz44ov1pidPnlxv3hlnnBHtkESckuJHCCEOoBgGinSXKoQQCevAH63kRyxRS4Y7FkIIIYQQbUrHjh35+uuvAVizZg0dOnSIcUQiXrT7Mz8ejwdVbVwNWPvrgcfjSbh+5XVdJyUlJdZhNJrkPLoSOd8gOd9fe/uMAzn+0ZaI+QbJeSw0J+elpaWNWn/q1KnMnTuXnj17smXLFmbOnNmo54u2q90XP16vt9HP0TQNh8OB1+vFNM1WiKr1pKSkUFlZGeswGk1yHl2JnG9ofzl3Op2HXNbePuOg/R3/WEvEfIPkPBaimfPJkyeTm5vL+vXryc/PZ+jQoa26P5E42n3xI4QQQggh2p5jjjlGurcWDUjxI4QQQgghEtqFF1542EvpbNtm0aJFUYxIxCspfoQQQgghREK78cYb6x4risKtt97KbbfdVjd9yy23xCgyEW+k+BFCCCGEEAlt2LBh9aYVRak3T9O0aIck4pR0dS2EEEIIIdqM9evXU11dTXl5OQBVVVWH7RhGtC9y5kcIIYQQQiS8UCjEf//7X/71r3/Rr18/5s2bx0knncQHH3zAoEGDYh2eiBNS/AghhBBCiIT23HPPsXjxYjIyMrjtttvIzMzk0Ucf5bXXXqN379784he/iHWIIk5I8SOEEEIIIRLasmXLuPHGGxk9enTdvHnz5sUwIhGvpPgRQgghhBAJbcGCBfh8Pt577z2KiorIyclh5MiR0tZHNCDFjxBCCCGESGg7d+7kpptuIicnh2+++YY+ffrwl7/8hQceeICuXbvGOjwRR9pUb29VVVXcc889nH/++cycOZNXX3011iEJIYQQQohW9uc//5mLLrqIP/3pT7hcLh5//HFmzJjBo48+GuvQRJxpU8XP/PnzCYVCPP3009x22228+OKLfP7557EOSwghhBBCtKK1a9cyfvz4evPOOOMM1q1bF6OIRLxqM8WP3+/nww8/5OKLLyYpKYmePXsyYcIE3n777ViHJoQQQgghWpFpmqhq5GutbdsA7Nq1i+Tk5FiGJeJQm2nzs3PnTmzbpkePHnXz8vLyWLVqVb31SkpKKCkpqZvWdZ2OHTs2al+1owQn4mjBiqIkZNyS8+hK5HyD5Pxg242HWKJFjn90JWK+QXIeC62Z8+7du7Nt2zby8vKwbZuFCxeyZMkSpk+f3uL7EomtzRQ/fr+fpKSkevM8Hg8+n6/evMWLF/Pkk0/WTc+aNYvZs2c3aZ+pqalNel6sORyOWIfQZJLz6ErUfIPkvFZ6enqTnyvHP/oSNeeJmm+QnMdCU3JeXFx82OVXXHEFwWAQgEGDBlFYWMhNN93Ecccd16QYRdvVZoofl8vVoNCprq7G7XbXmzdt2jTGjBlTN63rOmVlZY3al6ZppKamUlFRgWmaTQ86BjweD16vN9ZhNJrkPLoSOd/Q/nJ+uAKnsZ9vzY0lHrS34x9riZhvkJzHQmvmfMiQIXWP77rrrhbdtmhb2kzxU9uN4bZt28jNzQVg8+bNdY9rZWZmkpmZWTddUlLS5DegaZoJ94Fp23bCxbw/yXl0JWK+QXJ+4PbiJZZokeMfXYmcb5Ccx0JL5by4uBhN08jIyCAYDPKPf/yD999/n5KSEjIzMxk7diyXXHJJQp8lEy2vzXR44HK5GD16NAsXLqS6upqtW7fy1ltvNej5QwghhBBCJL65c+eyY8cOAB566CHWrFnDddddx5///Geuv/56vvrqKx5++OEYRyniTZs58wMwe/ZsHnvsMWbOnInb7WbatGlyracQQgghRBtUWFhIQUEBAB988AELFy6kQ4cOAOTn5zNgwAAuvvhibrrppliGKeJMmyp+kpOTmTt3bqzDEEIIIYQQrcztdrNnzx5ycnJIS0trsNy27bpiSIhabar4EUIIIYQQ7cPo0aP5/e9/zyWXXMKUKVO47bbbOO+888jOzqaoqIhFixZx9tlnxzpMEWek+BFCCCGEEAnnF7/4BQsXLmT+/PkUFRURDodZvXp1vXXWrFnD1KlTYxShiEdS/AghhBBCiITjcrmYNWsWs2bNinUoIoG0md7ehBBCCCGEEOJw5MyPEEIIIYRIaHPmzMG27YMue/DBB6McjYhnUvwIIYQQQoiENnbs2LrHtm2zZ88e3nrrLSZOnBjDqEQ8kuJHCCGEEEIktEmTJjWYN27cOB599NEYRCPimbT5EUIIIYQQbU5+fj7r1q2LdRgizsiZHyGEEEIIkfAsy2LdunUUFRWRk5NDr169eOCBB7AsC1WV3/tFhBQ/QgghhBAioZWVlfGb3/yGffv2UVRURHp6OpmZmdx5551S+Ih65NUghBBCCCES2l/+8hdGjRrFs88+S1JSEv/+978ZNmwYjz32WKxDE3Gm3Z/58Xg8jf5FQFGUuuceqlvFeKXrOikpKbEOo9Ek59GVyPkGyfn+2ttnHMjxj7ZEzDdIzmOhOTkvLS097PIvvviCG2+8sd68Sy65hPPOO69xQYo2r90XP16vt9HP0TQNh8OB1+vFNM1WiKr1pKSkUFlZGeswGk1yHl2JnG9ofzl3Op2HXNbePuOg/R3/WEvEfIPkPBZaM+d+v7/us7C2sKqoqMDhcLTofkTia/fFjxBCCCGESGydO3dm165ddO3aFdu2efvtt/n3v//N6aefHuvQRJyRNj9CCCGEECKhTZ8+nZKSEgA6derEm2++yZQpU7j00ktjHJmIN3LmRwghhBBCJLSxY8fWPf7rX/8aw0hEvJMzP0IIIYQQIqEtWLCA999/H4B9+/Zx9913c/vtt7N79+7YBibijhQ/QgghhBAiob3zzjsMHDgQgL/97W94vV6Sk5O57777YhyZiDdy2ZsQQgghhEhoVVVVZGVlAfDRRx/xpz/9ic6dOzN58uQYRybijRQ/QgghhBAioaWmplJYWIjX60XXdbp27YppmmiaFuvQRJyR4kcIIYQQQiS0KVOmcPXVV2OaJhdccAEAa9euJS8vL8aRiXgjxY8QQgghhEho06dP56ijjsKyLIYMGQJAQUEBDz30UIwjE/GmTRQ/7777Lo8++mi9UXyvvvpqTj755NgF1QL8lk25ZVFmWpSbFt0Mje5GmzhkQgghhBAtZtOmTWRkZNC9e3cAdu3ahWmaddNC1Goz36R79+7N/fffH+swjpjvgMKm3LIpN2umrcg8nx1ZVwdSVYV9ls15qW5GJzljGrsQQgghRDy5//77ueKKK+jevTvLly/n7rvvBmDmzJmcf/75MY5OxJM2U/zEu+KwyUpfkG8CIcpMC39NYWMAaZpKuqaSpip0NzQGaQZpqkq6ppCmqXgUBUVRWFkd4IUKHzvCJtNS3OiKEtO/SQghhBAiHmzbto2CggIAXn75ZX7zm9+Qn5/PnDlzpPgR9bSZ4mfLli1cdNFFJCUlMWrUKKZPn47TGdszJCHbZo0/xIe+IN8Hw3TXNUa6HWRpWoPC5kiMSnKSo2s8Ve5ld8jkijQPKZoM1SSEEEKI9k1VVTRNIxgM8sMPPzBixAgcDgdVVVWxDk3EmTZR/AwcOJDHHnuM7Oxsdu3axUMPPcTf//53Zs+e3WDdkpISSkpK6qZ1Xadjx46N2l9tt4mH6j5xT8jkg2o/H1UHCNswzO3grA4eejian+4+bo1fO3Tm763i3tIqrspIIbcR21UUJSG7ffypnMezRMx5IucbJOcH2248xBItcvyjKxHzDZLzWGjNnPfp04enn34an8/HoEGDcDgclJaWkpaW1uL7EolNsW3bjnUQh3P33XezcuXKQy5/7bXXGsxbvXo1999/P88880yDZfPnz+fJJ5+sm541a9ZBi6TGCloWn1R4ebd0H99V++ntdjIuowMjU5NxtcLZmaBl8dSuYj7aV8XsrtmMTktp8X0IIYQQQsSD9evXH3b59u3befDBBzFNk1/96ld0796dbdu2sXHjRsaOHdtg/b59+7ZWqCLOxX3x0xTffPMN99xzDwsXLmywrKXO/KSmplJRUcEOf4APvAE+rg5gASOSnIz2OOkWhV7ZbNtmmdfP4n3VnJrsYkpqEupPXELn8Xjwer2tHltL2z/npmnGOpxGScScJ3K+of3lPD09/ZDLysrKohqebyWSAAAgAElEQVRLPGhvxz/WEjHfIDmPhebkvLi4uEVjkeKn/WoTl719/vnn5OXlkZGRQWFhIf/4xz8YOXLkQdfNzMwkMzOzbrqkpKTRb8CgZfNVWQVLi0vZGAyTb2icnepmiMvAUVN8ROuDdIzbQY6q8NfyanYEw8xMSyJJPfSZJtu2E+5Dfn+maSZc/Imc80TMN0jOD9xevMQSLXL8oyuR8w2S81hojZzbts3SpUt55513KCkpITMzk1NPPZXTTjutRfcjEl+bKH5Wr17Nww8/jM/nIzU1lVGjRjFjxoxW299nvgAvV5Yz3OXgglQ3nfXYXnfbz2nw/zom82S5l/v2VnFluifmMQkhhBBCRMuiRYt44403mDZtGjk5ORQWFvLMM89QVlbG9OnTYx2eiCNtovi57LLLuOyyy6K2v2FJTsZ36YR33764+eUlU9eYk5HCP/dV88DeSi7p4GGQy4h1WEIIIYQQre7111/n3nvvpVu3bnXzhg8fzs033yzFj6hH+kluAkNRcBzm0rJYcaoKl6clcarHxVPlXv5b5cdqe026hBBCCCHq8Xq9ZGdn15uXnZ2dkG2jROuKv2/wolkUReG0ZBez0jy86/Xzt/JqAlZ8FUCmbVNtWZSbFkVhkx2hMBuDYb4LhPjaH+QzX5CicHycUWtNlZbFjlCYNtjniBBCCBFVBQUFPPHEE/h8PgB8Ph+PP/44gwYNinFkIt60icveREMFLoNf6SksKPNyf2klBc5IZwypYbCDARyKglNRcCjUPXbu99hQqOs5zrZtgjb4bBu/beO37HqP/baN3wZf3eMf5wdtCNo2QdsmUPP4UGWNQWT/qgKVlk2WpjLQqXOU06C/O/Hr9IBlszEUZl0gzPpgmB01BV4XXeXkJCdD3Y66DjOEEEIIceRuuOEG5s2bx+TJk+t6lBswYAC33nprrEMTcUaKnzYsR9f4VcdkXq/ysyNkErRtwiETX9isV4yED/F8A9AUCNhw4LkJA3CpCi4lcnOrCi4FXIpCsqqQqak1BVX9Aqv2seMwxRZAUdhkbSDMt4EQH1R7Ucu9FFT66aspDDA0Mlph7KSWZto2W0MmW/buY3Wll80hExXId+gc5zK40OkmWVX5oDrAa5V+Xqn0MyrJwYluBx2lwwohxH4qTYvP/CG+8gcZ4DSY6HGiyI8lQtTJzMzkkUceobCwkOLiYjIzM+ncuXOswxJxSIqfNi5JVTk/NaluOiUlhcrKynrrmDVnaAI1Z2jqFUY29Qqb2oJHb+V/utm6RraucbLHGTljErb4AZWl+yp5zrTorKsMdBoc5dDp5dDR4uBLgG3bFIYtvg+GWRcM8UMwTMCGnk4HfRw6pye7yHfoGAfEOjnFzenJLj73BVleHeRdb4ACp8GYJAd9Hbp8wRGinQraNqv9IT71B/kuECZdUylw6rzj9bM7bDKjQ5KcLRbiADk5OeTk5MQ6DBHHpPgRaIqCWwE38flP1KkqFLgdnJSezlSXxq5giG8DIb4NhHnPG8ChQH+HwUBnpBAyFAWVSIM2RaHmceRyOgX2W9bw77VrLssL2RCuOSsWsu3INJFi8MBpv22zKRjm+2CYCssmW1Pp59S5uEMSfRw6nTp0aFBwHshQFI5PcjLC7WBzyOT96gCPl3nppKuMSXIyzOXAqcbn8RFCtBzLtlkfCPFJzVkeBRjicnB9RjL5hoaqKIxyO5lf7uXh0iquTPPQIQHOhAvR2i688MJDtqF97rnnohyNiGdS/IiEoigKObpGjq4xzhNpZ7Q+GCmE3qjys68RnTvUL4TAtiFMw0v8DqQDhgK6oqATuXQv19CYnOyin9MgvRlfRBRFId+hk+/QKTctPqgOsKTKz6uVfka6HZyU5CBTLokTIqbKTIsNwTDbQyapqkKWrpKlaZHLfZv4I8XuUJg3C/eyomwf5abFUU6dCzskUeA0Gpwt7mJo/Cqjdmy3Sq5K99DNkH/non278cYb6x7btk1RUREvv/wy48ePj2FUIh7Jp6VIaG5VYbDLwWCXA9u2KbdsTNvGBqzamw02dt1jC35cbtt10wqRMzCGAjoKuhKZ1mvm60rkDROty9DSNJUzU9xMTHbxpT/E8uoAy0oCDHTqjEly0l8uiRMiKipMi/XBSEclG4Jhik2LFDXyo8emkE2x16K65hfnVFUhS1PJ1DWyNDVy01UyNZWkA4ZIqG3H84kvyPawSS+3k/HJLo5x6qT8xHAKKZrKdRnJPLevmj+VVjFTxnYT7dywYcMazBs6dCi33norF1xwQQwiEvFKih/RZiiKQrrW9ooBQ1EY7nYw3O1gSzDM/2fvzqPkuOq74X/vvVXVe8/WM9pHo8Vja7PBG7YFCLBxCMT4MTJr4GF5XyPCm2CcE06cAO95DjkBc17CEmSII97HiSFgHqKQOA4x9oPfhCADxjbYlhfkRfs6rdl7rap73z+qpjUjjWTN1j01/f2c06e6qrc7v16mvrXc+x/FCv5moIC1joX/ozV5xgoVEc3MiA727LwQ9sx43NdICoELHAtvSMbQ61hYbMkJGx8KWiPva/R5Y1Mfz1Zc5H2N4XCPdFoI5KwgEBWNqZ3Hc0XcxkfaM1jXlcPAwMB5D55tC4EPtCSxuFDBtwYLuCEdx3XsCIGoprOzE/v374cxht8LqmH4IYqQHsfChxwLb/c17hoYxZdPjuJjbSkeCkc0A8WxsBPu3TniaSQEsNax8NqkgwscG0stOaFHytOlpERKSqycZOdLRRv0+Rp9vo+8p9Hna7QLMeE8HqWm9x0WQuD6dByLLIm/HyrimK/xnmzijEPliJqREALf/e53GXxoAoYfoghqVxK3tWfwPwcL+Kv+UWxrTaHH4deZ6Hyd9Hz8uuLi12UXB1wfThh2rkwEvSwut9Q5w85UxKTAcqmw3J67jRSXxB3cpiTuGihge7+P/7Mt9YqHzhEtdFJKtLe3N7oZNM8I0+TDy5dKJcgp/oMQQsBxHFSr1bP2LDJfWZYFzzvbyD7zF2s+Od8YfLtvAD8bLuJji9txeTr5yg86D1GuNxDNz/lMah6Lxc56W7P9xgFnf/9Puh4eHS3i0ZESXq5Usdi2cGUmiUuScfTEnTnvwv9cZqvmA56Prx3pw6iv8cmlnVgem/vzgKL4fQNm93PuaoPDVRcpJdGiFJw57p1zLmvuGYNh38eIrzHiaYz4Pob98VMN1xjEZDBOX1zKSa/HZDg/7npCSXQkEtOq+f79+2f17+zt7Z3V56PoaPpNxYVCYcqPUUrBcRwUCoXzPjZ7vphsnJ8oYM3P7h1xC606hjuPnsSNmQLelJz5Mf9RrjfQuM951RiMagM97p/62Dsx2XsyfolSEsvb26dV83OFn2b7jQMmvv8DvsYT5Sp+XXaxz/XRqSQujdt4dzqDpWPn7XhVlEarDW3zbNXcAvBHrUl8Z6iIvzh4DB9pTWH9HAegZv2/Mujr2rALv626qIxbl08JgVYl0CIlWpREqxRoURItUqJVCbRKiZQUk+5d1OHvyIg2GNH6tGlwvQiBQdfDSHg+2VgHPTbGOu4RZyyzwoHFLQHY4fAPRW0wGj73aHi9NO7vsACkpUBGSqRlMIh5i5SwRRD4KsZg0JhwnMBgvMCKMajqU+MFuuP+thW2wv9z4arI/rbQwtD04Yco6oQQuDYVR4eS+PvBIvo8jXdmE/Ni4Neo08agaMIVDn/iysdIuKIwrMdWVPSElZ/p+BMngTWz0/Sm1u96+FmhjCfKLva6PnJh4HlPNoFlllrwx/87QuDDLUn8aLSMvxko4B2ZBLYknQX/d881bQz2un4YeFwc9jRapcCGmI0PtqSw1lGoGGDI1xjSGoO+waDWGPI1XnY1BssuhrRGOfydUAh6B2xVErYQtd+Vgja1IRcsABkpkJYSGSmQURJLLIXORAK2W0VGBuPauQZwYWpj1FXDsejc8WPThUGkqA1cY+DDICUEckqhxxa11xkLORkpERMz7+F0/EDqgodi0jzA8EO0QLwq7qC1XeKuwQL6BzQ+3JpCggOjTkmf52N3xcXuiocjno+CDrpCB4LxoIIVgmClICODlYZV4UpDRsnaCsPp/94ny0SnL5NSYkU6geJQY/dARNWgr/Hrsotfl6t42R1ETkm8Om7jXdkEljdB4DmdEAJvyySwyFL4zlARxzyfG0WmYVRrPFfxsLvi4rmKh5IxWG0rXBp38N9j9qm9h6Ek8IpjvZW1CcORxpA2GPI1qsYgq2ykpUA2DCBZKRE/S/iI0t628QOpT7djD6LZxPBDtID0OBb+pD2Nbw4U8NX+EXysLT2jQVcXOm0M9rk+nq64eLri4pin0akkNsVsbE44yCgZbg0VSIrJD1GZLUopxKREcc5eIfqqxuBk2J30+J7T8r7GSV+jPQw8/31xDh3VctMFnslcnnCQU8FGkWP9Pq5KOFhpW1j0Cr3XNStjDA55Pp6peHimEhwqmRQC62MW3pVNYF3MQmqGey/iUiAuFRaxl06ihmD4IVpgOiyFP+5I41uDRXwpHP19BUd/r6log+eqLp6ueHim7KIQbsm9KuFgU8zmCkmDlbVB3veDrqHHxswJx80ZDM9viAugUyl0WhLdtsJlcRvLbVXbw5OJOxhxKw3+S+aPHsfCpzoy+OeREu4fLWNQG8QEsMJS6HEsdNsKPbaFNimaMjD6xuD5iosnKy6eLrsY1AYrLIUNMQvvyCSw0p69nv+IqPG4RkS0ACWlxMfbUvjecAlf6R/Fh1tS2NTEo78P+BpPV1zsLrvYU/VgCWBdzMY7sgmsj1lI8zj0M/x0YBiyXEW3EnM2kK4xBsc8jT1VDy9WPbzkepMOCHqBY+HqhINOJdFpSaREc66kz0S7kvhIawpAcE7KftfHAdfDPtfHI8UqisYgLQVW2gorbSucqoZ9Nw67Ph4slNGlJFY7Fnpsa1YP460ag9+Wqni2cByPD42iYgwudCy8JR3HxpiNVu4xJ1qwGH6IFihLCLw/m0CnktgxWMDWTAJbUmfvFWwhqWqNPZUg6OyueDjk+ehQEhtjFt6USmGtYzW0W+MoeHS4gCdHCvAALLYkVtsWVjsWVtsKOSWnFT6MMTjmnxpQ9IWqh1Ft0BUGnP+WSWCJJZFTiuerzaEWJXGxkrg43CBijEE+DET7XR/PV1w8NFqGC6BDSay0FTbGbFwRt+sSOn9RquL7Q0WscSzs8T08VKjAB7DMUljtKKy2LaxxrCkf0lvUGrsrHp4su3i24kIK4NWZNN7TmsI6m585ombB8EO0gAkh8JZ0HDkl8Z2hIvK+xk2Z+II7hGNUa7xc9fFSuPfg4LFBGAArbYVXx218IJY848RkOrc/WbkEff392F+u4mXXw96qj38ZKWFYG2SkwCrbqq2IrrAV7Elqa4zB8dPCzog2tb05WzMJXOBY3MreYEIIdFoKnZbC5YlgmW8Mjnoa+10P+10f9w4X8VjJwvtaknP2frnG4AfDJfyyVMU7Mgm8PuyhzjUGB10fL7seXq56+EGphIIxaJMiDORBGFo6yXlMg77GUxUXT5ZdvFD1kBQCm+I2PtKawoZkDF3t7RgYGGC3y0RNhOGHqAlcnnDQFo7+nvd9fLAlhXhEt3IaY9Dva7zkhmGn6uGYrxETwCrbwoaYjfd0taPLq8Jh2JkRSwj0OBZ6HAtInar9y+GK6GMlF/8yUoYC0G2r8PAkhRFtJg0778gksHYaW+yp/pQQwXlUtsJmAG9OxfDtoSL+Mj+Cd2UTuHyW9wL1eT7+38EiClrjtvZ08JkL2SIMOeM+hyd8jZerHl5yffxnsYIfjJQQD38DVjsWLABPhh0WtEmBS+I23pJOY7Wtaj3esec7oubE8EPUJNY4Fv6kI427Bgr4fH4Y729JorcOo7/PlDYGRzxd26vzctXDYLj3Ya1t4bXJGNY4CkutUys1mWQcIyPuKzwzTZUQAh2WQoelcEXCAQCUtMF+1wsCUdXDz4oVpGUQdm4K9+ww7ERfp6XwyfY0Hi5W8A9DRTxZtvHulgQys3BO0JPlKr4zVMQq28Iftmde8TwjIQQWWUFvaVeHy0Z8He4ZCsbhcY3BppiNdzdpV+dEdHYMP0RNpMtS+NNcBveNlPD1gQJen3Tw9nQCsXm4F+iI6+ORUgW/KgU9snUpiTWOhd9Lx7HGsaZ93gnNroQUuChm46IIBGmaGSkErkvFsd6xcc9QEZ/Pj+C92SQ2Z6b3fL4xuG+kjP+vWMFb03Fcn4pN+5DcjJK4RDm4JD69thBR84hE+Hnqqafw/e9/Hy+99BIcx8E999wz4fbR0VHceeedeOKJJ5BIJHDTTTfhxhtvbFBrieY3RwjcnE3i4piNfxgu4dnKCD7QkgwOKWmwsjZ4olzFI6Uq9rk+1tgKN2Xi2BCzkeHeA6J5Yamt8KmONB4YLeNbgwU86xvcmLCn1GHAoK9x92ABJ3yN/6sthQsZnomoThq/tnMe4vE4rrvuOmzZsgXf+c53zrj9rrvuguu6uPvuu3HixAl89rOfxfLly3HZZZc1oLVE0dAbs/FnHRZ+OBJ0h31tKoa3peOTnrg+l4wx2Ov6+HmpisfLVcSEwGsSDj7QkuSYO0TzlBICb8sksDFu4zvDZXy+UML7W5LnFWJ+W3Hxd0NFdCmJP+3IsMMLIqqrSISf3t5e9Pb24umnnz7jtnK5jF27duErX/kKkskkenp6cP311+Ohhx5i+CF6BXEp8N6WJC6J2/juUBG7K26wF0jNfegY0RqPlqr4eamK457G+piFD7YksTFm80RkoohYaVv4XPcifO9oHtsHCnhd0sGNZzmUVhuDBwsV/Gi0jDelYrghHed3nYjqLhLh51wOHz4MYwxWrlxZW7Zq1Sr8/Oc/n/T++Xwe+Xy+Nm9ZFjo6Oqb0mipcMVR1WEGcbUKISLabNZ9bm5IKn407+MFQEX91chS/m9V4b0vrrLdbhyOp7ypW8GSpihYlsTkZw1XJGNpncS9PFGp+urn6jE/n+aL8fQP4/tdbTCm8sy2NS5Ix3DMwiucqI/hgWxprxu0FGvU1/m6wgJerHm5pz+BVYYcZjRTlmkfxMw5Eu+a0cEQ+/JTLZSSTyQnLUqkUSqXSpPffuXMnduzYUZu/5ZZbsG3btmm9djabndbjGs1xGv9PZ7pY87nTBuCTHR14bLiAHUdO4JmXD+IPli/CyvjMBkb1jcGRShW/HC7gPwaGMeh5uCKbxp8uymFjKjFnYw5FoeaTme3PeFtb27QfG9XvG8D3v94cx8FrAFzcmcN3juXxV/lh3JBrxTu7OrCvXMHXDh5DWkl8YW03Fs+z83uiXPOomk7N+/r65qAl1IwaHn7uuOMOPPLII2e9/b777jvn4+Px+BlBp1gsIpFITHr/rVu3YsuWLbV5y7IwMDAwhRYHWyyy2SyGh4cjNzBaKpVCoVBodDOmjDWvnzUA/u9FbfjH0TL+/MWDeFs2gevTifM6PKVqDI64Hg66Pg5Wg+lh14MLYIml8IZUDK9JZJBWEnArGBqszMnfELWaAzP7jJ8r4Ez1922mbZkPmu39b7TT631z0sZFMoPv9A/hFwPDOOlrXJ2M4Z2tKTjFUQwUG9jYcRZSzaMiyjWnhaPh4ef222+f0eOXLVsGADhw4AC6u7sBAHv37q1dP10ul0Mul6vN5/P5aX8Bfd+P3JfXGBO5No/HmtdHUincumIx/rc8hu8NFvBkqYoPtCSxeNyhaUWtccj1cdDzccj1ccjzcdzT0AA6lcRyW2FTzMJb0zEstxSytZOa574eUaz5mNn+jM/kuaL4fQP4/tfbZPVeZyv8eS6D+0fLWGVbuDLhAFpjPv5lC6XmURLFmtPC0fDwcz601vA8D57nAQCq1SqEELBtG/F4HJs3b8a3v/1t3Hbbbejr68ODDz6IW2+9tcGtJoq+y5IxrLYkvjdcxBfzI7g66WDINzjk+TjpaygEe3SW2wqbEzGssBWWWQrxeThuEBHVV0pKvDubfOU7EhHVUSTCzzPPPINPf/rTtfmbb74ZXV1d+Na3vgUA2LZtG7Zv344PfehDSCQS2Lp1K3t6I5olWSXx0dYUHi27eLRUxSJLYmMshuW2whJLwWJvTURERBQRkQg/mzZtOue5P+l0esaHzxHR2Ylw7J3XzIMemoiIiIimiyOLERERERFRU2D4ISIiIiKipsDwQ0RERERETYHhh4iIiIiImgLDDxERERERNQWGHyIiIiIiagoMP0RERERE1BSEMcY0uhFERERERERzjXt+iIiIiIioKTD8EBERERFRU2D4ISIiIiKipsDwQ0RERERETYHhh4iIiIiImgLDDxERERERNQWr0Q1otHw+P+XHKKXQ1taGgYEB+L4/B62aO6lUCoVCodHNmDLWvL6iXG+g+Wqey+XOeluz/cYBzff+N1oU6w2w5o0wk5r39/fPalt6e3tn9fkoOiIVfu6//348/PDD2LdvH66++mp86lOfqt22f/9+fP3rX8e+ffuwaNEifPSjH8Ull1zSwNbOT1JyZ1+9seb1x5o3N77/9cV61x9rTjR9kfr2tLe3413veheuv/76Ccs9z8Nf/MVf4Morr8T3vvc9vOc978EXvvAFDA4ONqilREREREQ030Qq/FxzzTW46qqrkM1mJyx/+umnUalUcPPNN8O2bbzuda9Dd3c3du3a1aCWEhERERHRfBOp8HM2Bw4cQE9Pz4TdwKtXr8b+/fsb2CoiIiIiIppPInXOz9mUSiWkUqkJy1KpFE6cOHHGffP5/IQTgC3LQkdHx5ReTyk1YRolQohItps1r68o1xtgzSd73vnQlnrh+19fUaw3wJo3QpRrTgvHggg/iUTijF5PCoUCEonEGffduXMnduzYUZu/5ZZbsG3btmm97umH30WF4ziNbsK0seb1FdV6A6z5mLa2tmk/lu9//UW15lGtN8CaN8J0at7X1zcHLaFmtCDCT3d3N3bu3Amtde3Qt7179+L1r3/9GffdunUrtmzZUpu3LAsDAwNTej2lFLLZLIaHh9k9Zp2w5vUV5XoDzVfzcwWcqf6+zbQt80Gzvf+NFsV6A6x5I0S55rRwRCr8+L4P3/ehtYbWGtVqFVJKbNq0CY7j4J/+6Z9w44034pe//CX279+PzZs3n/EcuVxuwpgY+Xx+2l/AsfZEiTEmcm0ejzWvryjWG2DNT3+++dKWeuH7X19RrjfAmjdCFGtOC0ekws/3v/993HvvvbX5Xbt24U1vehM++clP4jOf+Qy2b9+Oe++9F11dXfizP/sztLa2NrC1REREREQ0n0Qq/Lzvfe/D+973vklv6+npwZe+9KU6t4iIiIiIiKJiQXR1TURERERE9EoYfoiIiIiIqCkw/BARERERUVNg+CEiIiIioqbA8ENERERERE2B4YeIiIiIiJoCww8RERERETUFhh8iIiIiImoKDD9ERERERNQUGH6IiIiIiKgpMPwQEREREVFTsBrdgEZLpVKQcmoZUAhRe6wxZi6aNWcsy0Imk2l0M6aMNa+vKNcbYM3Ha7bfOIDvf71Fsd4Aa94IM6l5f3//XDSJmlDTh59CoTDlxyil4DgOCoUCfN+fg1bNnUwmg5GRkUY3Y8pY8/qKcr2B5qt5LBY7623N9hsHNN/732hRrDfAmjdClGtOCwcPeyMiIiIioqbA8ENERERERE2B4YeIiIiIiJoCww8RERERETUFhh8iIiIiImoKDD9ERERERNQUGH6IiIiIiKgpMPwQEREREVFTYPghIiIiIqKmwPBDRERERERNwWp0A2bLV7/6Vfz0pz+FZZ36k+688050dnY2sFVERERERDRfLJjwAwA33ngjPvjBDza6GURERERENA8tqPAzXxjPg6lWgEoFplKBqQZTVCswrgtAAAKnpkIAQkBMWB5eMHY7ACEBKSGEBKQApDy1TIradYy7LmQ4jcUBx2lQRYiIiIiIGm9BhZ8f//jH+PGPf4xcLocbbrgBb37zm+fkddyXX8KRnz6MamEUplwOwk21GoSdagXw/TMfpCwIxwFsO5g3BoABzNh1AEYH8zDhzWP3GXfR+tT1qZISI8kUEI9DxBMQiQREIjlxevryeALCiQExJ2i/ZUOMhTIionGM1oDnwXgu4Lownndq6rnBxp/Jbnfd4HbPO+0Jx//OnfabN9lPYLjRSMdiqI5taJLjNyaNux5uUBIi3JBkWRBKAeFFKOvUdcs6y3IbIpUKHkdERJGwYMLPDTfcgI985CNIpVJ45pln8MUvfhGpVArXXHPNhPvl83nk8/navGVZ6OjomNJryWQSctlyCCFgbBsiFoNwwkssuCA2bt6JBf88Z5GpBSEN6OC6MTpYpoNltXnfDwJaqQRH+ygNDMCUSjClYm2q8ydOLSuGyyvlM19YCMBxwr/XGfe3O8DYsrFpIgGRTEGm08E0lYJIpSFTqeC+UwhRKly5UBFcyRBCRK7dUa43wJpP9rxTfczJf7wXxWNHYarVCWHljCDjusHtnjf5hp8JT2xB2FawEcW2g8Bh2xCWDdh2ECzkOX4XzvjNGD9/aiNRVSr4nhv8TgITNxwBgNHBbQanfjN9H8b3wqkP+B6MF0zP+XcJEfyuZbOQ2RbITBYinMpsy8Tl8fjZSxPh71wUv28Aa94IUa45LRzCmOnsQpj/vvvd7+Lw4cP41Kc+NWH5XXfdhR07dtTmb7nlFmzbtq3ezYsE4/vQ5RJMpQJdLkOHh+/pSjmcBstNNbhuKuVgGt5XF4vwR0fgj45Cj46Eh/yFLAsqnQkvach0GiqdhUqnoTIZqGwLVGsbrLY2WC1tkIlE4wpB1IRO7vw+/NGRWjgRtg1pO8H8pBendl/pnH4/B8KygsNwI8gYUwtHxvOCcOR50NUq/JFh+IMD8IYG4Q8OBtOhQXiDwdQfHqqFLhGLwWpphWpthdXaBqs9ByuXg93RCasjB6sjB81oB68AACAASURBVJVKNfivJZqf9uzZM6vP19vbO6vPR9GxYPb8nE4Igcly3datW7Fly5bavGVZGBgYmNJzK6WQzWYxPDwM/5W2dM4zqVQKhUJhag8SEkgkg8tZjK3SnGtbjqlWoQujMMUC9GgwNYUCdLEAvzAKd2QY5tgR6EIBZmQYengo2CKLcKWhtQ3IZCHGtqRmW4Otqi3hNNt6zi2rjTKtmjdYlD/jQPPVvK2t7ay3TfX3bawtHVvfPWlbwoNxz48BUHWDSx3V5f0XEojFg0uuC0DwO3j6mZVGa5jREejhYeiRoWA6PAR3aBCVA/ugn3wCur+/tqddxOOQbR2QbW2Qbe1QY9fbO6Da2iEy2XkXIqP4fQOi/TvHmhNN34IJPz/72c9w6aWXIh6P4/nnn8e//du/4aMf/egZ98vlcsjlcrX5fD4/7S+g7/uR+/IaYxrXZqWAbAtEtuWcIWmM0ToIR8NDEIURJFwXI8eOBltX+/pgXnoRengIZmS4FpJgOxDJZHCYXTIZnLsUzo8dhidqy4PrMpEMzoOao3OZGlrzGYriZxxgzU9/vvnSlnqZd+9/Kg2RSkMtWXrW3z5RrSDteRjcvw/eyTz0QD/04AC8gwegB/qD3zkAUAoy1wm1eCnU4iWQY9OOXMNC0byr9xRF8XPOmhNN34IJP/fffz/uvPNOaK2Ry+Xw/ve/H69//esb3SyaASElRCYDmckEW4va2uAPDJy5JXpcSDIjw+F5S4Xw3KUidLEIfeJYcB7T2PJiMTiWf4yUQRhKp4Nj89NpyHQwFZlscN5SOhMsy6QhbPacR0SzRyaSiLW1wclkoSZZKTSeCz04CN1/ErrvOPxjR+HueR7+fz4MlEuAZUMtWgy5eEktGKklSyFaWtlJDRHROAsm/Nxxxx2NbgI1yPiQdL6MMcEJ3MVCEJAKheD6yEhwftLoCPRgP/TB/cH10RGgPK4DiFg8CESZLGQ6A9mRg+xaBNW1CLJrEWQqPQd/KRE1K2HZULlOqFwn0HtRbbkxBmZ4CP6xI/CPHoU+dgTuk0+g/OBRwHWBeBxq0ZIgDC1eCrlkKdTSZZBJnltERM1pwYQfoqkQtV7rHKC17fwOw3PdWhCaEJJGhuGfOAZ395PQ/ScBY4LD7sIwZJavgNfSGoSi9hy7xSWiWSOEgGhphWxphX3h+tpyo3Wwl+jY0SAYHTuKyi92QfcdB7SGaGmFWrIMaumy4HC8JcsgO7v4+0RECx7DD9F5ErYN0dYO2dZ+1vsYz4XO5+GfOAbddwL+ieMoPfErVI8dDfYcSRkcr9+1CLJzEdSSpbB6L4JMn/9eKyKiVyKkrO0psjdeXFtuPBf+8ePQRw/DP3oY/qEDqD76c5jRkaAXzkXB4XJy6bJaOOKebCJaSBh+iGaRsOzw8JIltWWZTAbDw8MwI8PwTxyHPnEcft9x+EcOBSsdxQLUylWw122AvX4T5OIlPEafiOaEsGxYy5YDy5ZPWK5HhoMwdOQI/KOHUX3sl9DHjwG+D5HNwupZA+fq18Ja28vfJyKKNIYfojoQQgQDH2ZbgLWnxhYwWsM/uB/us7tR/c0TKP/7v0K2dcBavwH2+o2w1lwQDABJRDSHZCYLmcnC7l1XW2Z8P9hYc/Qw3GefRmHHnZAdnYhd81rYl78m6CmTiChiGH6IGkhICWvlKlgrVyHxuzdAD/TDfXY33Od2o3D33wJSwu5dB2v9RtjrNkBmso1uMhE1CaFUeD7QUjiXXgE9PIzqo4+g/B8/QelH/wrn0svhXPM64KL1r/xkRETzBMMP0Twi29oR2/x6xDa/HqZSgffCb+E++zTK/34fSj/4LtSKlbDXb4S9fiPkkmU8/ISI6kZms4hf9xbE3vhmuM/tRvWR/8LoV76I6qo1sK7aDPviV0PY3FNNRPMbww/RPCViMdgbL4a98eLg8LhDB+E++zTcp3+D8gP3Q7S2hbdfAmvVGvbSRER1IZSCs/ESOBsvgd93HOaxR1H45x+g9C874Vx5NZyrXwvVkXvlJyIiagCGH6IIEFLC6l4Jq3sl8Jbfgx4cCA6P2/0kCn+7HSIeh7VuI+yNl8DuvQgiFmt0k4moCajORci8631Q1/4Oqr9+DNVHforKf/4E1oXrEbvmdbAuWg8hZaObSURUw/BDFEGytQ2xa16H2DWvgy4V4T33DNzdT6F47z2Ar2FdeFEQhNZvZDe1RDTnhOMg9ppr4Fx5NfwD+1F55Kco3PMtyEwLrI2bYHX3QHX3QLZ38HBdImoohh+iiJOJJJxLr4Bz6RUwrgvvxT1wdz+J8r/9C0r/6x+gVq0JgtCGTTwUhYjmlBAC1soeWCt7oN/+DlQf+yW8F19A6YnHYAqjEKk0VHdwu+rugbViJUQi0ehmE1ETYfghWkCEbQfjBa3bALNVwz+wD+7TT6K66z9Rvm8n5NJlsDdcDHv9RqhlK3g4ChHNGZlKI77lWmDLtTDGQPefhH9gH7wD++A+txvlhx4AtA/ZuQhW90qolaugunugFi/hOYxENGeEMcY0uhGNVCqVIKe4AiiEgOM4qFariFr5LMuC53mNbsaUseYzY4yBd/QwSr95AsXfPAF3/17ITBbxjRcjsekSxNdtgEymavePcr2B+VHzqZpJzWPnOMer2X7jgOZ7/xttuvU2rovqoQOo7n0Z1b0vobr3JXh9JyAcB87KVXBWr0Xi0svhrFw1J4fKNWPNG20mNd+/f/+stqW3t/eV70QLUtOHn3w+P+XHKKXQ1taGgYEB+L4/B62aO5lMBiMjI41uxpSx5rNLjwzDe/5ZuM8/C/e3zwHVClTPatgXbYC9bj3sZSvQ3t4eyXoD87Pmr2Qmn/Fc7uyHMzbbbxzQfO9/o81mvfXoCPwD++Ed2AfvpRfg73sZsiMH+9WXw3n15VBdi2bldQDWvBFmUvP+/v5ZbQvDT/PiYW9ETUhmsnCuuArOFVfB+D78/XvhPv8Mqr9+DOUf/Qtkaxu8V10Ks/oCyDUXsPc4IqoLmc5AhmOZAYAeHED1N0/A/fWvUHno36GWrwiC0Ksug2xpbXBriSiKGH6ImpxQCtbqtbBWr0XirTdCDw7A3/M8/Bf3oPCduwHfh7V6Dax1G2BftAGys4u9NRFRXcjWNsTfcC3ib7gW/vFjYXfa/4Xy/f8Ma/UFsC+9HPamV0Emk41uKhFFBMMPEU0gW9tgX/1atL31BvT3nUDlxRfgPfcMqr/YhfJ9/wSZ64S9biOsdRtgrV4LYfFnhIjmnlq0GIm3/B7iv/M2+Af3B3uqH/hXlP7pfwWH6776ctjrN0LYTqObSkTzGNdaiOishGXDvuBC2BdciMTb3wE/3xeMKfTcblQe+S/AsmD3XhgMsLpuA2Qm2+gmE9ECJ4SA1d0Dq7sH5vdugvfSC3B//RiKP/guYAB748WwN10Cq7sHMtvS6OYS0TzD8ENE503lOqFe9wbEXvcGmHIZ7gu/hffcbpT//V+DMYVWrAz2Cq3fALV0ObvSJqI5JZSC3XsR7N6LkHjHu+E+/wzcJ36F4vfuASoViJZWqOXdsFZ0Q61YCbWie0LPlkTUfBh+iGhaRDwOZ9MlcDZdAqM1/COH4D27G+6zT6P84L9BZLO1w+PsCy5ipwlENKeEbcPZ9Co4m14FozV03wn4B/fDO7g/GFfofz8AeB5kRw5qRTfs7lWIb9gIk20FbLvRzSeiOmH4IaIZE1LCWt4Na3k34te/FXp4CO7zz8J7dnewBdYLO01Y2wtr7YVQy1dwEEMimjNCSqhFi6EWLYZz+WsAIOjZ8tgR+Af3wz94AJXHf4nD9/8QMAayaxHUipWwlndDLVsOtXgpRCLR4L+CiOYCww8RzTqZbUHsyqsRu/JqGM+F9/KL8Pb8Fu5Tv0H5gfuBWCzoYW7thbDX9kIuXsJD5IhoTgmlYC1bAWvZCuCqYMyZllQK+WeehrtvL7yD+1HZ9VPo/AnAGIjWNqglS4PL4qVQS5ZBdi3ihpt5Kp/Po1gsoru7u7asWCzi4MGDWLFiBZLsEZBCDD9ENKeEZcPuXQe7dx0AQBcL8F56Ed4Lvw17kNsJkUqHe4V6YV1wIWRHjt1pE9Gck44Du2c15IqVGDsw17hV+MePwT96BProEfgHD6D6q1/AjIwASgV7iRaPD0VLIVrb+JvVYN/4xjdw4YUX1sLP4cOH8Yd/+IeoVqtQSuHzn/88Nm7c2OBW0nywoMLP6Ogo7rzzTjzxxBNIJBK46aabcOONNza6WUQ0jkymaucKAYAeGoT30gvwXtyD8sMPwuy8F6K1DdbaXtgXXAhrzQUQLa1csSCiuhC2UzuMdzw9OhIEomNH4B89AvfpJ1F+6AHArQLxBNTiJVCLFgfhqGsx5KLFkK1t3KtdJ7t378bHPvax2vz3vvc9XHbZZfjMZz6Dhx56CDt27MDXvva1BraQ5osFFX7uuusuuK6Lu+++GydOnMBnP/tZLF++HJdddlmjm0ZEZyFbWuFcegWcS6+AMQa6/yS8F/fAe+G3KP3rD2FGR4IVi44c5GSXiK9cGK2BSgW+50IneY4B0Xwl0xnICy4ELriwtsxoDd1/Ev6xcC/RiWNwn/gVyieOA64L2A5UV9epQNQVnIckc50cI22WjY6Ooqurqzb/+OOP4xOf+AQA4Nprr8Vf//VfN6ppNM8smG9euVzGrl278JWvfAXJZBI9PT24/vrr8dBDDzH8EEWEEAKqIwfVkUPsNdcEYajveNBr08k8dD4P/8hhuLufhO4/Cfh+cBhKW/uEQGQt74afTAaHotgOoNSs7jkyvg9TqQCVMkylAlMph5cKTLl8ank5XF4O5jE2Xzm1HNVq7XkTt/4J0LNm1tpJRHNLSBkMAZDrBDZeUltutIYeHIA+fgz+iWPQJ47D3fM89H/9B0yxAEgJ2d4BuWhxEIraOyASCYh44tQ0HodIJAHb5p7v85BKpTAwMIC2tjacOHECfX19WL9+PQBAa80aUs2CCT+HDx+GMQYrV66sLVu1ahV+/vOfN7BVRDQTQgiormDl4PSOaI3WMIOD8Pvz0Cfz0Cf7oPN5uAf24eRPfgxTLE58gGUDlgVhW4BlB1tda1Nr4rxtA9qHKQfBBmMBZyzEeO6ZjbVsiFgMIh4HYjGIWDy4xOMQsRhkJgMRiwPx+KnbwvuLWBwqlUJiRTeqhcKc1ZOI6kNICdXeAdXeAXvdhgm36dER6BPHg1B0/Dj8I4fgPvM0TLkEUyoFh9GNJyVEIhn8VoThqJLOwLesYHk6DZltgWhpDactwf2abGX/1a9+Nb785S/jrW99K374wx/i4osvRktLMMjtc889h2XLljW4hTRfLJjwUy6Xz+jJI5VKoVQqTViWz+eRz+dr85ZloaOjY0qvpcKeXlQEe3wRQkSy3ax5fUWi3koBnZ2wOzvPuCmVSmHkxAnooUHAc2FcF8bzAM+D8dxg6rq1+VPXvdr9ISVEe64WXk4FmfjEZWPzM6yVUgrScaDK5Rk9z2TPO93HzOv3/xz4nauvKNYbaFzNVUsr0NI64fC58Yzv14KQKZVgyiXocBosK8LyPejhYZjBAfiHDkAPDUIPDwGeFzyJbUOGYUi2tEK2tEBmx6YttdvqPf7aXNb8Yx/7GL74xS/iL//yL9HT04M///M/n3D71q1bZ/01KZoWTPiJx+NnBJ1isYjEaf3079y5Ezt27KjN33LLLdi2bdu0XjObzU7rcY3mOE6jmzBtrHl9RbXeANCxfDmwfHmjmzFls13ztra2aT82yu8/v3P1FdV6A9Gt+emMMdCFUXgDA/AGB+APDoTX++EPDMDbvw+VwQH4Q4OA1gCCgWFlKg2VzkCl05DpcddTwVSlM6ctT8/4PMvp1Lyvr++ct7e3t+OLX/zihGWu62LXrl144IEH8Nhjj+G6666b8uvSwrNgws/Y7swDBw7Uujncu3fvhP7egSD5b9mypTZvWRYGBgam9FpKKWSzWQwPD8P3/Rm2vL5SqRQKETyshjWvryjXG2i+mp8r4Ez1922mbZkPmu39b7Qo1htYwDVPZ4LL8m4IAHZ4GWO0hhkdgR4agi4WYAqjMMUCdKEAv1CAOzICc+xoeFt4KY/buCwEhBMDLAuwFISygvMqLTuchvNq7JBiBSgrGGepcxGWvPt9c17zPXv24IEHHsBPfvITOI6D6667Dn/wB38wZ69H0bJgwk88HsfmzZvx7W9/G7fddhv6+vrw4IMP4tZbb51wv1wuh1wuV5vP5/PT/gL6vh+5H0xjTOTaPB5rXl9RrDfAmp/+fPOlLfXC97++olxvoElrnkpDpNI434PPjO/DFIswxUJwKZVgtA94PuCHhwz7Y9cnX2Z8D1oHbZ6Lmg8NDeGhhx7CAw88gEOHDmHz5s349Kc/jSuuuKLpzn+ic1sw4QcAtm3bhu3bt+NDH/oQEokEtm7dyp7eiIiIiGZAKAWRyQCZzIyeZy7Pr3rnO9+Jjo4OvPe978W1116LVCo1Z69F0bagwk86ncbtt9/e6GYQERERUR1dddVV+MUvfoEHHngAWmtce+21yMwwrNHCtKDCDxERERE1n8997nO1Q9/uv/9+fPOb38TVV1+N3/md38GVV14ZyR4JaW4w/BARERFR5LW0tODmm2/GzTffjBdffBE/+tGPcMcdd8C2bVx77bXs9IAAADPrq5CIiIiIaJ5Zu3YtPvGJT2Dnzp34oz/6I+zfv7/RTaJ5gnt+iIiIiGhBsiwLW7ZsmTDMCTU3hh8iIiIiirQ//uM/hjHmrLcbY/DVr361ji2i+Yrhh4iIiIgi7Y1vfOOE+W984xv4+Mc/Xpvfvn17vZtE8xTDDxEREdEc0sbANUAVwdQ146cGlhDIKYmMFByQc5puuOGGCfN/+7d/O2HZ3/zN39S7STRPMfwQERERvYKqMRjxNYa1wYg2GNbB9eFw2ajWqIaBpmoMPIxdB/Q5nlcCMOHFBpCzJDqURE5J5JQKppZEu5JwGIzOy5EjR1AoFFAsFpFMJlGtVmHbdqObRfMEww8RERE1NW0Mjvsah1wfA76eEGzGgk5p3OkkSSGQlQLZcG9Nh5LosRUcIWALwB6b4tS8IwBLiOA+GLsOKCHgGoN+X+Okr5H3NfJeMH2hWkHe16iEr90igz1EiwtVtBiNnApCUasUaFESNsMRHn30UWzfvh3Lli3Dl7/8ZVx33XV4+OGHcdFFFzW6aTRPMPwQERFR03CNwRHPx5Gyi+OlE3hxpIjDrgcXQDYMF1kpkVECSyw7CDlSIquCaVqKWQ8ZthBYZCksss4ciNMYg1FjcDIMRHlfY1gIvFDx8HPPx6A2GMtlGSnQKiXalESbGn89CEitSkIt0ID08MMP495778XAwABuvfVWLFu2DF/4whfwuc99DhdccAE+9alPNbqJNE8w/BAREdGCVNIGhz0fB10PB10fhzwfxzwNDSCnJNakErg4YeN30zGssBSyav4NfyiEQEYIZByJnnBZJpPByMgIAMA3BsPaYMDXGPQ1BrTGoB/M73fdcE9WEJAEgoDUpiTaZHA4XacKL5ZCixSQEQ1H3/zmN/Hud78bb3/72+E4DoDgvB+i0wlzrn4Bm0CpVIKUU/uxE0LAcRxUq9Vzdqs4H1mWBc/zGt2MKWPN6yvK9Qaar+axWOystzXbbxzQfO9/o82Hehtj0O/5OFhxcaDq4kCliv0VFydcDxLAUsfGypiNlTEHK2M2umMOUpZqmpp7xmDI83HS8zHg+Tjpeeh3fZxwPRx3PfS5HnwAtgA6bQuLbRtdtoVFtoVFjoUu20KHpWYcjGbyOX+lQUqr1Wot9JyP3t7eKb0+LRxNv+enUChM+TFKBT+YhUIBvu/PQavmzvitRVHCmtdXlOsNNF/NzxV+mu03Dmi+97/R6l3vqjE46vk47Po4XJtqlIyBI4BllsIyS+FNCRsrsnEssdTEjgJ8F37RRaHJau4AWBJeYAnAsoBEsBrom2BPUd/YxdM4VCrhNyPBYXYeAAXUOl/oDDtj6LRk7byj8zkUcC4/51MJPtTcmj78EBER0fxjjMGANqdCjufjiOvjhK9hEKyIL7MULnAsvDGlsNRS6FAysodtNZISAjlLIWcprDvtNm0MBrVBn+fXglGfr7En7IyhaoLD6VqlQKcV9k53WkhKSL4nNH8w/BAREVHdaGNQMAbDftCLWq3baH9c99E6OH+lbIBYuDdnqaXwhlSsdj3OFeq6kEKgXQm0K4kLT7vNmKDb77GOGPo8H3lf4+mKi3wxeG8BICUEcpbEGsfGR9va6v9HEI3D8DMNJa1RrbqQxoA/vURERKeM6lN7B/rC3sjGh5sRbWrj3lgAWsLuorNSIisFuhxV62FtaTi+DffmzE9CiKAXPCWxepLby7VgFIQia4rnHxLNBYafadhddvE/j+6HQNDnfnvYjWT76RcpEeOWKaJ5z4QDEZaNQdkYVMLR1z1j4APwDeDBhNNgy7WH4Dh5zyC8z9iysQELTW3gQgPAmFPXMWF52E2tELgpnkBrnf92ouko6iDcnPA0hqpDOFws4UR4SFQxPJG9LTwMqk0KLLUULnIEMmHAyapgmhACgsFmwYpLgeVSYbkddOGt1JldeRPVG8PPNFyWcHB5Vw9ePtmPPtdDv6/R72scdn08VXbR72u44X3TQpwWjARapERL+MPfwhGbiWaFNgaj2mBIa1QLJRwtVjCqgzBT1kGgCYINTpsPlk3W75ACoARgQUCJYN4SIpwC6vTl4TKJ4Bj4sa+2mOQCEd5PCAgEh5ZI7kumecANv0sj4V6aEV9jUBucGHfOx2gYcFqkwJKYg3Yh8KqYja6URKdSyFn830ZE8xPDzzRIIdBmWxAxGz3WmbtwxwYkGwtFY5e87+OFarByNjpuULKEALJhIGoJA1FWngpJLeHuf+5FomZkjEHJGAz5BoNaY8jXGApDzvhlw+MOpUnIArJCICMF4lIgLgRiIvgexaVATKC2LJgXiAuEU4GYDEZgr+cWaaUU2hIxDJSLdXtNah6+MTgZfk/Gh5oRHZyzMRqeazOqNUrjtgTEBJCRwf+hTkth47iA06mC/0tR7F2PiJoXw88cqA1IJiVW2pPfxw9PEhxbgRset1J31PPxWz+4bWRcSIoLTAhEwVSiZWxvUrhstkeeJqqHgg4OoTnha5zw/Nq0L+xNCAh+sFrHff7blcQqR034/LdKiVxLlitj1LQq4cCehzwfh9xTvaS5CPY6pmWwYSAjJdLhodvdtqoty4zdziMTiGgBYvhpECUEWpVAq5LAWQISEISk0XEhaei0kPS8752xJykpxKlAFK4opqRAUgh0CAVR9ZAUAslwmSPqu4WbmlfVGPR5Gid8vxZ0+rzg+ui48wS6LIUuS2J1IoYuKxiJvEUFn1d+VokCxhgMazMh5Bxygw0GANClJJbbCq+K2XhbOo6lVtCRADsPIKJmxvAzz6mxIHMeIWlYmzAYhYcFhSHpoOujaAyK2qA0WkFB6wnnNyigFoQS4TQpg0tKCKSlRFad2iKYlRJxBiaahDYGQzo4vKbf1xOmY70+GQTdnnZZEl1KYkPMxhtTEl3hgHnc0kw0uRFf4wXXwwH3VNgZ0cHAnkstheWWwptSMSy3FJZYiodKExFNguFngVBCoE0FnSucSyaTwdDwMCom6K1nLBQVjUEpnBZ1cBnVBse1xoh2w2PCT+1dsoAgCCk54VCJsa5KM0oiNS5Mce/SwnCucDN2bpvGqQHvOsJD09bYClfG7doenTS7OyV6RUWt8WLVx56qiz1VD0c8jaQQ6LEVVtgKVyccLLeDc2+4N4eI6PwsiPDzk5/8BF//+tfhOE5t2cc//nG84Q1vaFyj5jEpBBICSEiFjik8Ttd6ADo1VsNIOHbDiNY44E4MSnrcYyWCE8wTYdemE6c4Y5ktBCwEoc4C4CiDQrmKoudDaF3rbWus5y3Ff/znRYc9nJW0QckApdr1idMyAG+kjOFKFUVfB8vDYHy2cHNF3K7NtynJ94Roiipa47lyFc+Vq9hTDfbw2AJYa1u4MuHgQsfCMksx6BARzcCCCD8AsHbtWnzpS19qdDMWNFkbzAxYhnP31T9xJTtc0Z5kJbtkDAZ9g6NGT1juIRg/xRv/pH1DZ309geDDbAnACXvxCqZBD16xcO9TTIpxt592mzh1W2zc89gCdV3ZMOHYMl44towXjjfjjS0Lr1fDLpzLYTAJrqNW9/K49+DU+DVn1u3MMCqQVBIdtoWc0YjD1G5LiiDwtDLcEM2YZwz2uT72VD28UPXw8pGTEAZY7VjYFLOxNZPASlvxu0ZENIsWTPih+UWKsXOHZvY8xgR7GrRUyLS0ID84iKrvB4NPjgsHPoKxKTwDVIxBNRy0shKO41INV/xHtUHVaFRMEB4q+tQ4L9UwVExmYjjCGSHJAEE7DaARtNk3wTIxVILrefDH3e4jGPQyCDlmYtA5z9o4YXfNCXGqO+exvWutSiAuJBLh8snukwjbP9nhiEoptLW1YWBgAL7vT/VtI6JJGGNwxNN4ruri+YqHl10PngG6bYWLYg7etbQLXdUylNav/GRERDQtCyb87Nu3D+9///uRTCZxzTXX4L3vfS9isVijm0UzJMLD2hwpkLYUXCXhTzoc5ezwx4Wmai04jQ9R427Tp0KTCAe6lBCQIjjMTyI4HC8Ri8GtVCDDATAFgoEzJYKQaAGwxfjBM0W4F0sEh/ZNuC7CwTV5DhVRFIz4Gs9XPTxXcfF81cOwNlhiSVzk2HhDMoY1joWEFMEGh3QSAwMVcHMDEdHcWRDhZ8OGDdi+fTu6urpw5MgRfPWrX8Xf/d3fYdu2bWfcN5/PI5/P1+Yty0JHx1TOfAm2io+fRokQIpLtrlfNFQAHQHoWnzOVSqFQKMziM869KH/GgWh+zueq5tN5Pr7/0+cZg5erHp4tV/FsxcVB10daClwUMDuqhwAADwdJREFUs/Hfskmsi9tonaRtUa55FL9vAGveCFGuOS0cwhgzd5vRZ8Edd9yBRx555Ky333fffWcse+qpp/ClL30J99xzzxm33XXXXdixY0dt/pZbbpk0JBEREb0SYwyOVl08NVrEU6NFPFMowdMGvck4Lk4ncUkmiZ54jJ0UEM3Qnj17ZvX5ent7Z/X5KDrm/Z6f22+/fcqPkVLibJlu69at2LJlS23esiwMDAxM6fmVUshmsxgeHo7c+RBR3AsBsOb1FuV6A81X87a2trPeNtXft5m2ZT6Yy/ffN8EA0weqHvZWPTxbcdHva3QpiXVxGx9pTaM3ZiM+NsZOuYShcukVnzfKNY/i9w1gzRshyjWnhWPeh5/z8fjjj2PVqlVob2/HsWPH8Pd///e4+uqrJ71vLpdDLperzefz+Wl/AX3fj9yX1xgTuTaPx5rXVxTrDbDmpz/ffGlLvczW+6+NQZ+vsd/1cSAcXPSg68MF0KEkum2F61MxXORYyFnjDuMxGtN9+SjWPMrfN4A1b4Qo1pwWjgURfp566il87WtfQ6lUQjabxTXXXIPf//3fb3SziIgoIowJBu894Po44PnY7/o46HooGyArBVbaCutiNt6SjmOFrZDhQL1ERJG0IMLPhz/8YXz4wx9udDOIiCgCfGNwwtc47Po44gV7cw64PgrGICUEum2FNbbCG5MxdNsKrYpBh4hooVgQ4YeIiOh0xhgMaYMjXhByjrg+Dns+jnsaHoCMFFhqKaywFa5OOui2FDqUZDfyREQLGMMPERFFXkUHHREc8Xz0lTzsK5Vx2PVRNAY2gCWWwlJb4aqEg6WWwlJLIcM9OkRETYfhh4iIIsEYgxFtcMzzcdzXOOFpHA+v9/saAJBTEt3xGNbaCq9PBkGnU0l2NU1ERAAYfoiIaJ7xjEHeD4PNuIBz3PNRMoAE0KkkFlkKy2yFSxMOFiuJJZZCTApkMhmMjIw0+s8gIqJ5iOGHiIjqqqINBrXGoK8xqE041RgI9+bkfQ0NICEEFltByLkkZmNRKo5FlkROSSjuySEiomlg+CEiolmhjUGhFmyC6dBpAWfI1yiFY1ArAK1KokUKtCqJLqWwMWZjsaWwSEmkpWDnA0RENKsYfoiI6Jy88FybIV9jWBsMaY1hX2NIGwxrjSHfYEQHt+nwMXERBJtWKdGiJHpshRZlo1VKtCqBVimRkoLn4hARUV0x/BAR0Rm+ceg4XhwtYsjXKBhTW54UAlklkJXBHptFSuECR6BFSmSlQIuSaJEScclQQ0RE8w/DDxERneGCZBxLjEZGmFrQySoJm3tqiIgowhh+iIjoDG9ub8GA0PB9v9FNISIimjUc4Y2IiIiIiJpC0+/5SaVSkHJqGXCs96FUKgUz7lj4KLAsC5lMptHNmDLWvL6iXG+ANR+v2X7jAL7/9RbFegOseSPMpOb9/f1z0SRqQk0ffgqFwpQfo5SC4zgoFAqROyQkqoP/seb1FeV6A81X81gsdtbbmu03Dmi+97/RolhvgDVvhCjXnBYOHvZGRERERERNgeGHiIiIiIiaAsMPERERERE1BYYfIiIiIiJqCgw/RERERETUFBh+iIiIiIioKTD8EBERERFRU2D4ISIiIiKipsDwQ0RERERETcFqdAPOx1NPPYXvf//7eOmll+A4Du65554Jt4+OjuLOO+/EE088gUQigZtuugk33nhjg1pLRERERETzUST2/MTjcVx33XX4yEc+Muntd911F1zXxd13343/8T/+B/7xH/8Rjz/+eJ1bSURERERE81kkwk9vby/e+MY3YsmSJWfcVi6XsWvXLnzgAx9AMplET08Prr/+ejz00EMNaCkREREREc1XkQg/53L48GEYY7By5craslWrVuHAgQMNbBUREREREc03kTjn51zK5TKSyeSEZalUCqVSadL75/N55PP52rxlWejo6JjSayqlJkyjRAgRyXaz5vUV5XoDrPlkzzsf2lIvfP/rK4r1BljzRohyzWnhaHj4ueOOO/DII4+c9fb77rvvnI+Px+NnBJ1isYhEIjHp/Xfu3IkdO3bU5m+55RZs27ZtCi0+JZvNTutxjeY4TqObMG2seX1Ftd4Aaz6mra1t2o/l+19/Ua15VOsNsOaNMJ2a9/X1zUFLqBk1PPzcfvvtM3r8smXLAAAHDhxAd3c3AGDv3r2166fbunUrtmzZUpu3LAsDAwNTek2lFLLZLIaHh+H7/jRb3hipVAqFQqHRzZgy1ry+olxvoPlqfq6AM9Xft5m2ZT5otve/0aJYb4A1b4Qo15wWjoaHn/OhtYbnefA8DwBQrVYhhIBt24jH49i8eTO+/e1v47bbbkNfXx8efPBB3HrrrZM+Vy6XQy6Xq83n8/lpfwF934/cl9cYE7k2j8ea11cU6w2w5qc/33xpS73w/a+vKNcbYM0bIYo1p4UjEuHnmWeewac//ena/M0334yuri5861vfAgBs27YN27dvx4c+9CEkEgls3boVl112WaOaS0RERERE81Akws+mTZvOee5POp2e8eFzRERERES0sEW+q2v6/9u7t5Co1j+M489gyqioYR6yIjMotIvooFB5IXaQbjpY4kUlSglJoXShKUSQ1YVURJCFlhRlmEFRmFcG4Y0GGVEJSSdMKQKThBQbNWftiz8I/t21N1tmrWm938+Vs5zl+/Ay/JiHtcYBAAAA8G9QfgAAAAAYgfIDAAAAwAiUHwAAAABGoPwAAAAAMALlBwAAAIARKD8AAAAAjED5AQAAAGAEj2VZltMh/jSDg4O6d++edu/erbi4OKfjGIE9txf7bb9g2vNgymIK9tx+7Ln92HMEA678/AeDg4O6evWqBgcHnY5iDPbcXuy3/YJpz4MpiynYc/ux5/ZjzxEMKD8AAAAAjED5AQAAAGCEkBMnTpxwOsSfKDw8XOnp6YqIiHA6ijHYc3ux3/YLpj0PpiymYM/tx57bjz2H0/iHBwAAAACMwG1vAAAAAIxA+QEAAABgBMoPAAAAACPMcTrAn+zVq1e6c+eOPnz4oLCwMN28edPpSK4zMjKiS5cu6fnz5woPD1dubq527NjhdCxXa21t1ePHj/Xx40etX79eFRUVTkdytYmJCdXV1enly5caHh5WXFyc8vPzlZWV5XQ0ZpxNmHP2YsbZL5jnHMxD+ZkFr9erzZs3KysrS7du3XI6jivV19drYmJC169f18DAgI4fP65FixZp7dq1TkdzrdjYWOXn5+vFixcaHh52Oo7rTU5OKjY2VqdPn1ZiYqJ6enp08uRJJSYmKjU11dFszDh7MOfsxYyzXzDPOZiH295mYfny5crOzlZSUpLTUVzJ5/Opo6NDBQUFioiI0JIlS5STk6NHjx45Hc3VNmzYoHXr1ik6OtrpKEbwer3au3ev5s+fL4/HoxUrVigtLU09PT1OR2PG2YA5Zz9mnP2Cec7BPJQfBK3Pnz/LsiwlJydPHUtJSVF/f7+DqYDA8vl8ev/+/bTXPdyLOQcTMefgJMoPgpbP55vxJWiRkZH68eOHQ4mAwPL7/bpw4YKWLVum1atXOx0HNmDOwTTMOTiNz/z8Qk1NjTo7O3/5+5aWFhvTmMnr9c54AzA6Oqrw8HCHEgGBY1mWLl++rG/fvqm6uloejyeg6zHjggNzDiaxe84Bf4fy8wtVVVVORzDewoULJUn9/f1avHixJKm3t3fqZ8AtLMtSXV2dent7derUKVve+DLjggNzDqZwYs4Bf4fb3mbB7/drfHxcP3/+lCSNj49rYmLC4VTu4fV6lZmZqcbGRo2Ojqqvr09tbW3asmWL09FcbXJyUuPj4/L7/TNe4wiM+vp6vXnzRtXV1TNugXISMy7wmHP2Y8Y5I1jnHMzjsSzLcjrEn6q7u1vHjh2bdiwhIUENDQ0OJXKfkZER1dbWTn3/xa5du/j+iwBrampSc3PztGMbN27UkSNHHErkbgMDAyouLlZoaKhCQkKmjufl5Sk/P9/BZMw4uzDn7MWMs18wzzmYh/IDAAAAwAjc9gYAAADACJQfAAAAAEag/AAAAAAwAuUHAAAAgBEoPwAAAACMQPkBAAAAYATKDwAAAAAjUH4AAAAAGIHyAwAOaW9vl8fj0bNnz2w5DwAA01F+AAAAABiB8gMAAADACJQfAAiQJ0+eaPv27VqwYIEiIyO1atUqNTY2/vYcj8ejmpoaHT16VPHx8YqKilJRUZGGh4dnPHdoaEh79uxRVFSUkpOTdebMmVmvDwCAm81xOgAAuFVfX58yMzNVUlIir9erjo4OHThwQH6/X4WFhb887+LFi1qzZo1u3Lih3t5eVVVVyefzqbm5edrzSkpKVFBQoPv37+vBgweqrKzUypUrtXXr1lmtDwCAW3ksy7KcDgEAbmdZliYnJ3X48GF1d3ers7NT7e3tys7OVldXl9LT0yX978pPSkqK3r17p5CQEEnStWvXVFxcrNevXys1NXXqvIqKiqmrPZZlaenSpdq0aZMaGhr+1foAAJiG294AIECGhoZUVlam5ORkhYaGKjQ0VFeuXNHbt29/e962bdumio8k5eXlybIsPX36dNrzcnJypn72eDxKS0vTp0+fZr0+AABuRfkBgAApKirS7du3VV5erra2NnV1dWn//v3y+Xy/PS8hIWHa4+joaHm9Xn358mXa8blz5057HBYWNu1v/9f1AQBwKz7zAwAB4PP51NraqvPnz6u0tHTquN/v/8dzBwYGpj3+/v27fD6fkpKSbFkfAAC34soPAATA2NiY/H6/wsLCpo4NDw+rpaXlH899+PChJicnpx7fvXtXHo9HGRkZtqwPAIBbceUHAAIgJiZGGRkZqqmpUXx8vObMmaOamhrFxMTMuLLz/8bGxrRz504dOnRIvb29qqysVF5entLS0mxZHwAAt6L8AECANDU16eDBgyosLNS8efNUVlamkZERnTt37rfnlZaW6uvXr9q3b5/Gx8eVm5ur2tpa29YHAMCt+FfXABBEPB6Pzp49q/LycqejAADgOnzmBwAAAIARKD8AAAAAjMBnfgAgiHAnMgAAgcOVHwAAAABGoPwAAAAAMALlBwAAAIARKD8AAAAAjED5AQAAAGAEyg8AAAAAI1B+AAAAABiB8gMAAADACH8BGLXutcbataMAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 800x800 with 8 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<ggplot: (316645529)>"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p9.options.figure_size = (8, 8)\n",
"\n",
"(p9.ggplot() + \n",
" p9.geom_line(data=plot_df, mapping=p9.aes('alpha', 'value', color='variable')) + \n",
" p9.facet_grid('model ~ method'))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Adult Dataset"
]
},
{
"cell_type": "code",
"execution_count": 77,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.datasets import fetch_openml\n",
"\n",
"X, y = fetch_openml(\n",
" data_id=1590,\n",
" return_X_y=True,\n",
" as_frame=True\n",
")"
]
},
{
"cell_type": "code",
"execution_count": 81,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>age</th>\n",
" <th>workclass</th>\n",
" <th>fnlwgt</th>\n",
" <th>education</th>\n",
" <th>education_num</th>\n",
" <th>marital_status</th>\n",
" <th>occupation</th>\n",
" <th>relationship</th>\n",
" <th>race</th>\n",
" <th>sex</th>\n",
" <th>capital_gain</th>\n",
" <th>capital_loss</th>\n",
" <th>hours_per_week</th>\n",
" <th>native_country</th>\n",
" <th>label</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>25.0</td>\n",
" <td>Private</td>\n",
" <td>226802.0</td>\n",
" <td>11th</td>\n",
" <td>7.0</td>\n",
" <td>Never-married</td>\n",
" <td>Machine-op-inspct</td>\n",
" <td>Own-child</td>\n",
" <td>Black</td>\n",
" <td>Male</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>40.0</td>\n",
" <td>United-States</td>\n",
" <td>&lt;=50K</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>38.0</td>\n",
" <td>Private</td>\n",
" <td>89814.0</td>\n",
" <td>HS-grad</td>\n",
" <td>9.0</td>\n",
" <td>Married-civ-spouse</td>\n",
" <td>Farming-fishing</td>\n",
" <td>Husband</td>\n",
" <td>White</td>\n",
" <td>Male</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>50.0</td>\n",
" <td>United-States</td>\n",
" <td>&lt;=50K</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" age workclass fnlwgt education education_num marital_status \\\n",
"0 25.0 Private 226802.0 11th 7.0 Never-married \n",
"1 38.0 Private 89814.0 HS-grad 9.0 Married-civ-spouse \n",
"\n",
" occupation relationship race sex capital_gain capital_loss \\\n",
"0 Machine-op-inspct Own-child Black Male 0.0 0.0 \n",
"1 Farming-fishing Husband White Male 0.0 0.0 \n",
"\n",
" hours_per_week native_country label \n",
"0 40.0 United-States <=50K \n",
"1 50.0 United-States <=50K "
]
},
"execution_count": 81,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"X['label'] = y\n",
"X.columns = [n.replace('-', '_') for n in X.columns]\n",
"X = (X\n",
" .dropna()\n",
" .loc[lambda d: d['native_country'] == 'United-States']\n",
" .loc[lambda d: d['race'].isin(['Black', 'White'])]\n",
" .assign(race=lambda d: d['race'].astype(str))\n",
" .assign(sex=lambda d: d['sex'].astype(str)))\n",
"X.head(2)"
]
},
{
"cell_type": "code",
"execution_count": 83,
"metadata": {},
"outputs": [],
"source": [
"import patsy"
]
},
{
"cell_type": "code",
"execution_count": 88,
"metadata": {},
"outputs": [],
"source": [
"y_clean, X_clean = patsy.dmatrices(\"label ~ sex + race + age + workclass + education + education_num + occupation + hours_per_week\", X)"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [],
"source": [
"def bias_measurements(pred):\n",
" c11_upper, c11_lower = pred[X_clean[:, 1] == 1.0], pred[X_clean[:, 1] != 1.0]\n",
" c12_upper, c12_lower = pred[X_clean[:, 2] == 1.0], pred[X_clean[:, 2] != 1.0]\n",
" return c11_upper.mean() - c11_lower.mean(), c12_upper.mean() - c12_lower.mean()\n",
"\n",
"def run_stat(alg, filt, alpha):\n",
" pipe = Pipeline([\n",
" ('filter', filt([0, 1], alpha=alpha)),\n",
" ('mod', alg)\n",
" ])\n",
"\n",
" pred = pipe.fit(X_clean, y_clean[:, 0]).predict_proba(X_clean)[:, 1]\n",
" col_11_diff, col_12_diff = bias_measurements(pred)\n",
" return alg.__class__.__name__, filt.__name__, alpha, col_11_diff, col_12_diff"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [],
"source": [
"from sklearn.linear_model import LogisticRegression\n",
"from sklearn.neighbors import KNeighborsClassifier\n",
"from sklearn.ensemble import RandomForestClassifier"
]
},
{
"cell_type": "code",
"execution_count": 110,
"metadata": {},
"outputs": [],
"source": [
"def run_all_stats():\n",
" mitigation = [InformationFilter, CorrelationRemover]\n",
" algorithm = [LogisticRegression(), \n",
" KNeighborsClassifier(50)]\n",
" i = 0\n",
" for mit in mitigation:\n",
" for alg in algorithm:\n",
" for alpha in np.linspace(-1, 2, 15):\n",
" i += 1\n",
" print(i)\n",
" yield run_stat(alg, mit, alpha)"
]
},
{
"cell_type": "code",
"execution_count": 111,
"metadata": {
"collapsed": true,
"jupyter": {
"outputs_hidden": true
}
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"1\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"2\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"3\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"4\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"5\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"6\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"7\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"8\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"9\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"10\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"11\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"12\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"13\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"14\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"15\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"16\n",
"17\n",
"18\n",
"19\n",
"20\n",
"21\n",
"22\n",
"23\n",
"24\n",
"25\n",
"26\n",
"27\n",
"28\n",
"29\n",
"30\n",
"31\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"32\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"33\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"34\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"35\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"36\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"37\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"38\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"39\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"40\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"41\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"42\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"43\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"44\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"45\n"
]
},
{
"name": "stderr",
"output_type": "stream",
"text": [
"/Users/vincent/Development/fairlearn/venv/lib/python3.7/site-packages/scikit_learn-0.23.1-py3.7-macosx-10.9-x86_64.egg/sklearn/linear_model/_logistic.py:764: ConvergenceWarning: lbfgs failed to converge (status=1):\n",
"STOP: TOTAL NO. of ITERATIONS REACHED LIMIT.\n",
"\n",
"Increase the number of iterations (max_iter) or scale the data as shown in:\n",
" https://scikit-learn.org/stable/modules/preprocessing.html\n",
"Please also refer to the documentation for alternative solver options:\n",
" https://scikit-learn.org/stable/modules/linear_model.html#logistic-regression\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"46\n",
"47\n",
"48\n",
"49\n",
"50\n",
"51\n",
"52\n",
"53\n",
"54\n",
"55\n",
"56\n",
"57\n",
"58\n",
"59\n",
"60\n",
"CPU times: user 4min 25s, sys: 18.5 s, total: 4min 43s\n",
"Wall time: 2min 43s\n"
]
}
],
"source": [
"%%time\n",
"\n",
"df = pd.DataFrame([_ for _ in run_all_stats()])\n",
"df.columns = ('model', 'method', 'alpha', 'diff_c0', 'diff_c1')"
]
},
{
"cell_type": "code",
"execution_count": 112,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>model</th>\n",
" <th>method</th>\n",
" <th>alpha</th>\n",
" <th>variable</th>\n",
" <th>value</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>LogisticRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-1.000000</td>\n",
" <td>diff_c0</td>\n",
" <td>0.158249</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>LogisticRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-0.785714</td>\n",
" <td>diff_c0</td>\n",
" <td>0.152946</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>LogisticRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-0.571429</td>\n",
" <td>diff_c0</td>\n",
" <td>0.142010</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>LogisticRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-0.357143</td>\n",
" <td>diff_c0</td>\n",
" <td>0.125010</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>LogisticRegression</td>\n",
" <td>InformationFilter</td>\n",
" <td>-0.142857</td>\n",
" <td>diff_c0</td>\n",
" <td>0.107281</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" model method alpha variable value\n",
"0 LogisticRegression InformationFilter -1.000000 diff_c0 0.158249\n",
"1 LogisticRegression InformationFilter -0.785714 diff_c0 0.152946\n",
"2 LogisticRegression InformationFilter -0.571429 diff_c0 0.142010\n",
"3 LogisticRegression InformationFilter -0.357143 diff_c0 0.125010\n",
"4 LogisticRegression InformationFilter -0.142857 diff_c0 0.107281"
]
},
"execution_count": 112,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"plot_df = df.melt(id_vars=('model', 'method', 'alpha'))\n",
"plot_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 113,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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78iRI2eNpbrvhIQEAMCYMWOadE0O5y2iCxeTHLJEVlYWbDYbVqxYUeuanGpJSUkoKSmp+d7tdqO8vLzWBbenLjRQ123JyckYOXIkpk6det545syZg927d+OVV15By5YtUVhYiPvuu++cfdUVb3p6OoDAG6soirXewOtDFEVcffXVWLNmDd577z089NBDaN26NW6//XZMnDixQW3VpVWrVnC5XKisrKy5XqikpKTWuFaXrLVr1w6CINTU5icnJyMrK+uMMrxTnW+ciCh4kpKSkJ+fX+u2kpKSWte0NOU16fP58PTTT+Pxxx/HpZdeClmWMW3aNBiGUe/4Tp3Hq+Pr0KFDo2M6n9OfL+ctogsXy9XIErGxsbjnnnvwr3/9Cz/88APcbjd0XUdubi5eeOEFXH755fjss8+wd+9e+Hw+zJgxA926das5i1MfV1xxBX7++WesWrUKuq5DVVVs27atzmtyqqqqYLfbERcXh4qKCsyaNavWzxMTE3HgwIGz9nX55Zdj1qxZOHr0KFwuF9544w0MHz68zoUF6mP8+PGYN28ejh49iuuuuw5ff/01Nm/eXHMkdcOGDbWOhtZXq1atkJ2djddeew1erxf79+/HnDlzai35Onz4cOTl5WH27Nk1JRxAoOylpKQE8+fPh8/ng67rKC4uRl5eXqOeIxE1zfDhw7F27VqsWbMGuq5j8eLF2LNnT821N02laRpUVUVCQgIkScLatWtrXcvSokULVFZW1pz9Pt3AgQNRUlKCBQsWQNd1rFu3Dj/99BMuu+yyoMRXl8TExFplzZy3iC5cPJNDlhkzZgxatmyJjz/+GNOnT4fD4UDnzp0xduxYDBw4EGVlZXj88cdrVld7+umnG9R+q1at8Je//AUzZszA888/DwBIS0vDb37zmzpjefbZZ3HjjTciKSkJt956K5YvX17z81tuuQXPP/885s+fj8GDB9eUcFUbP3483G43HnzwQWiahv79++N//ud/GjEqAenp6ejVqxdmz56NyZMnY+rUqXj99dexZ88eyLKMbt264ZFHHmlU29OmTcM///lPjB07Fk6nE6NGjaq1VHV8fDwGDhyIFStWYNKkSTW3O51OvPDCC3jttdfw1ltvQdM0pKSk4O6772708ySixuvYsSOefvppvPHGG3jmmWfQoUMH/OUvf6kp9WqqmJgYTJ48Gc899xx8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usi5+eab2bZtGwB33XUX27Zt4/rrryeRSNC7d28ef/zxpAcphBBCCCGEEEeq1kXO+vXrueCCCwAoKChg2bJlhMNhwuGwTB8thBBCCCGEMF2t78m59tpradKkCcOHD2fRokUEg0FsNpsUOEIIIYQQQoi0UOsiZ/v27cyaNQu/38/FF19Mo0aNuOiii1ixYgWxWKw+YhRCCCGEEEKII1brIqewsJBJkybxr3/9ix9++IHp06ezdetWhg8fTuPGjZk8eXJ9xCmEEEIIIYQQR6ROq0g1adKE6667jtWrV7Ny5UocDgdPPvlksmITQgghhBBC1NFNN93ExIkTKSkpwe121ywHEwqFGDlyJAUFBQwePBiAJ554gqZNm+J2u9myZYuZYddJnYqcH374gfvuu48TTzyRoUOHEg6HufLKK5MVmxBCCCGEECJJWrVqhc/nw2azAbB06VK2bdvGzp07efPNN4lGo1x//fUsX74cn89Hu3btjuo4V155JZ07d0ZVVR577LFk/gpHrNazq+3atYvFixezcOFCPvroI5xOJyNHjuTuu+9m0KBB6HqtdymEEEIIIYRIse+++47OnTtjtVoB2LFjB8FgkK5du9Zpv927d+c3v/kNt9xySzLCPCq17slp1qwZv//972nUqBGLFi1i586dzJ8/n6FDh0qBI4QQQgghhMm++OILevfujcfj4dxzz6WiogKArVu3oigKoVCIW265hbvuuoulS5fidrv5y1/+QufOnQEoLi6mV69ehzzGTz/9xIUXXkjjxo0pLCxk5MiRNY9dc801DBw4ELvdXn+/5GHUuip58sknGTVqlEwZLYQQQgghxBGYtG1Hvex30fGe/X4WjUYZMWIEkyZN4o9//CPvvPMOI0eOZOzYsfts95e//AWLxcLXX3/NokWLABg/fjxt27altLT0kAVKPB5n2LBh9O3bl02bNuFwOFi9enVyf7k6qnWRc+mll9ZHHEIIIYQQQog6+uijj/D7/dx0002oqsrgwYM5++yzk3qMTz75hO+++46PPvqoZqjbgAEDknqMuqrTxANCCCGEEEKI9PHTTz/RvHlzVPX/X+a3bt06qccoKSmhVatWNQVOOpKbaIQQQgghhKhHc1o3TtmxmjVrxo8//kgikagpdEpKSpJ6q0mrVq0oKSkhGo1isViStt9kkp4cIYQQQgghskS/fv1w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6+86dwS7/3oHsTUfYz+p/36Py3kutWqb73xN48JCC2e447zuDTCrwk8Hq855eU46mXCuy4WcH42KigoWL17M22+/Te/evbnpppvo27cvn3zyCX379q2344r0YnqRY7fb9ytCAoEADofjqPb166FpB9rX0qVLmTNnTs33kyZNYvLkybU+Xh6AI3PHdv56sax0UHDeCEr+82+M99+hcNyEA26Tl5eX4qiSIx3zfaRqk/NC4E9FRTyzvZQHyyq5slkjBhSa85rlSs6PRGFh4VE/V95zSVRYiDp8FLtff4XGp5+J6jhwq7LkPLVqm+9C4JhG8FM4wsu7KvhHaRXHOO2MaVTEca7UDmHPlZwD7Nq167DbzJw5kzfeeIM+ffrw0EMP4fF4mDt3LiUlJfTv35/x48cfTbgiA5le5DRv3hyAkpISWrVqBcB3331X8//aaN26Nd999x2nn346AD/99BPRaJQWLVrss93o0aMZMGBAzfe6rlNRUVGrY2maRl5eHlVVVRnZk+NyuertXqW6sp83it1PPQYn9EZr1Ljm55mc83TO96HUJefD7TqF+S4e/3En/6usYkSeEzWFH/y5mPNDFTK1PcfVNRazpfPrb/Tph7HqLX5avAjXsFH7PCY5T6265tsBjHNZGWgr4HVvkL9s/Yl2Vp1z85x0tur1XuzkYs4Pp6KigocffpgOHTrU/Oyaa65J+nFE+jO9yLHb7fTv358FCxYwbdo0du3axZtvvsl11113wO2j0SiGYWAYBvF4nEgkgq7rqKrKmWeeyX333cdpp51Gs2bNePbZZ+nXrx8u177DnoqLi/eZna20tPSo32jxeDzjPoiAmvylI7XzsegdOuFbvhT3b/fvYcvEnKdzvo/E0eb8ZLuFBoUuntwdYHs0zqX5TmxqagqdXM35ofaXLrGkQlq//oqK/bxRBJ55GkuffmjFDffbRHKeWnXNdwMFLs5zcLbTykp/mFmlVbS1aJzjttOpHoudXM75wdx1113s2rV8bRR0AAAgAElEQVSLhQsXsmPHDpo0acKgQYNqfVuCyHxpccf85MmT0TSNiRMncttttzF69Oia9W/Gjh3Lhg0bara9+uqrGTNmDLt27WL69OmMGTOm5vGePXsybtw47r77bi699FKi0ShTpkwx5XcSR09RFBzDzie28Uuim74xOxxRR51tFv7QwM3PsTgz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kucZhgHjwvmSkZng0XwEj/0Iw+EAzGYoF6eQaLnNiwuarHIsaIhICCWrPJTbukO/rTtCZ8/C93Ue/Lvz4F3/CaQyZaE2alK8OEu1m0r6KcMwEDpTcHGU5nDxKM3xi6M0lSpDyakOre9AKFWrQ07P4OIoRFHEIoeISkVSNWgNm0Br2ARGwI/A9/vh3/0V3MsWw7VwLky160CpUAnBn44heDQfhrMI0HWYKleBkl0FWrOWxQVNZhYLGiKKSXJ6OvT2naG374xQ4QX49+yC/+tdKNr0OSSbDWq9hgg5ixA8cvjSUZomzWDpO6h45EcL75ReIiodFjlEdN0kkwq1XgOo9RrACAYROLgf/t15CB7Nh1IpG1qLVsUFTUYmCxoiiktyahmY27aHuW37ksVZAt99C7lsGrQmzThKQxSjWOQQUVhIigK1dj2oteuJjkJEFBG/XJyFiGIbL60SEREREVFCYZFDREREREQJhUUOERERERElFBY5RERERESUUFjkEBERERFRQmGRQ0RERERECYVFDhERERERJRQWOURERERElFBY5BARERERUUJhkUNERERERAmFRQ4RERERESUUFjlERERERJRQJMMwDNEh4lFBQQGWLl2KQYMGITMzU3ScpMA2jz62efTFUpvHUpZkwTaPLrZ39LHNKVo4knOdCgoK8Oabb6KgoEB0lKTBNo8+tnn0xVKbx1KWZME2jy62d/SxzSlaWOQQEREREVFCYZFDREREREQJRfnf//3f/xUdIl5ZLBa0aNECVqtVdJSkwTaPPrZ59MVSm8dSlmTBNo8utnf0sc0pGrjwABERERERJRROVyMiIiIiooTCIoeIiIiIiBIKixwiIiIiIkooJtEB4t3u3buxcOFCHDx4EJqmYdasWaIjJaSioiK88sor2LlzJywWCwYMGIB+/fqJjpWwVqxYgbVr1+Lw4cNo06YNpkyZIjpSwvP7/Zg2bRp27doFh8OBzMxMDB06FB06dBAdjf1cFLCPiz72c9EVy30cJSYWOTdI13V06dIFHTp0wJw5c0THSVivv/46/H4/3n77bZw6dQpPPPEEsrOz0bx5c9HRElJ6ejqGDh2KvLw8OBwO0XGSQjAYRHp6Op5++mmUL18ee/fuxVNPPYXy5cujbt26QrOxn4s89nHRx34uumK5j6PExOlqN6h27dro1KkTKlasKDpKwvJ4PNi0aRNGjRoFq9WKatWqoVu3blizZo3oaAnrlltuQevWrZGamio6StLQdR0jRoxAhQoVIEkS6tevj3r16mHv3r2io7GfizD2cWKwn4uuWO7jKDGxyKGYd+zYMRiGgapVq5Y8Vr16deTn5wtMRRRZHo8HBw4cuOR1T4mJfRwlI/ZxFGkscijmeTyeyzYMs9lscLvdghIRRVYoFMI///lP1KpVC02bNhUdhyKMfRwlG/ZxFA28J+cqnnvuOWzevPlX/3z58uVRTJO8dF2/7M3e5XLBYrEISkQUOYZh4NVXX8XZs2fx5JNPQpKkiJ6P/Zx47OMomUS7j6PkxSLnKh5//HHREQhA5cqVAQD5+fnIyckBABw6dKjka6JEYRgGpk2bhkOHDuGvf/1rVD7ksp8Tj30cJQsRfRwlL05Xu0GhUAg+nw+BQAAA4PP54Pf7BadKLLquo23btpg9ezZcLheOHDmC1atXo2vXrqKjJaxgMAifz4dQKHTZa5wi5/XXX8e+ffvw5JNPXjZ9SST2c5HFPk4M9nPRF6t9HCUmyTAMQ3SIeLZnzx786U9/uuSxcuXKYfr06YISJaaioiJMnTq1ZA+JgQMHcg+JCJo3bx4WLFhwyWOdO3fG7373O0GJEt+pU6dw9913Q1VVKIpS8vjgwYMxdOhQgcnYz0UD+7joYz8XXbHcx1FiYpFDREREREQJhdPViIiIiIgoobDIISIiIiKihMIih4iIiIiIEgqLHCIiIiIiSigscoiIiIiIKKGwyCEiIiIiooTCIoeIiIiIiBIKixwiIiIiIkooLHKIiARbv349JEnC9u3bo/I8IiKiRMcih4iIiIiIEgqLHCIiIiIiSigscoiIImzLli3o27cvKlWqBJvNhtzcXMyePfuqz5EkCc899xweffRRZGVlwW63Y+zYsXA4HJcde+7cOQwfPhx2ux1Vq1bF888/f8PnJyIiimcm0QGIiBLdkSNH0LZtW9x3333QdR2bNm3C+PHjEQqFMGbMmF993ssvv4xmzZph5syZOHToEB5//HF4PB4sWLDgkuPuu+8+jBo1Cu+99x6WLVuGxx57DI0bN0aPHj1u6PxERETxSjIMwxAdgogoWRiGgWAwiAceeAB79uzB5s2bsX79enTq1Anbtm1DixYtABSP5FSvXh3ff/89FEUBALz11lu4++678e2336Ju3bolz5syZUrJ6I1hGLjppptw2223Yfr06dd0fiIiokTD6WpERBF27tw5PPTQQ6hatSpUVYWqqnjjjTewf//+qz7v9ttvLylwAGDw4MEwDANbt2695Lhu3bqVfC1JEurVq4ejR4/e8PmJiIjiFYscIqIIGzt2LObPn4/Jkydj9erV2LZtG8aNGwePx3PV55UrV+6S71NTU6HrOo4fP37J42XLlr3ke03TLvnZ13t+IiKieMV7coiIIsjj8WDFihV46aWXMHHixJLHQ6HQbz731KlTl3xfWFgIj8eDihUrRuX8RERE8YojOUREEeT1ehEKhaBpWsljDocDy5cv/83nfvDBBwgGgyXfL1myBJIkoWXLllE5PxERUbziSA4RUQSVKVMGLVu2xHPPPYesrCyYTCY899xzKFOmzGUjNf/N6/Wif//+uP/++3Ho0CE89thjGDx4MOrVqxeV8xMREcUrFjlERBE2b9483HvvvRgzZgwyMjLw0EMPoaioCC+++OJVnzdx4kScPn0aI0eOhM/nw4ABAzB16tSonZ+IiChecQlpIqIYJEkSXnjhBUyePFl0FCIiorjDe3KIiIiIiCihsMghIiIiIqKEwntyiIhiEGcSExERXT+O5BARERERUUJhkUNERERERAmFRQ4RERERESUUFjlERERERJRQWOQQEREREVFCYZFDREREREQJhUUOERERERElFBY5RERERESUUP4/KDnZjJKrz4UAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 800x800 with 4 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"text/plain": [
"<ggplot: (317672709)>"
]
},
"execution_count": 113,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"p9.options.figure_size = (8, 8)\n",
"\n",
"(p9.ggplot() + \n",
" p9.geom_line(data=plot_df, mapping=p9.aes('alpha', 'value', color='variable')) + \n",
" p9.facet_grid('model ~ method'))"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.7"
}
},
"nbformat": 4,
"nbformat_minor": 4
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment