diff --git a/04_TrainModels.py b/04_TrainModels.py index bd9b5a07e91e6d84ddc987955eb1400e5842df7b..4d1e133ec86ac9eb54db91a86ad1ff3c5b7337e4 100644 --- a/04_TrainModels.py +++ b/04_TrainModels.py @@ -1,4 +1,5 @@ import numpy as np +import matplotlib.pyplot as plt # from models.RegressionModels import RegressionModels from models.LinearRegression import LinearRegressionModel @@ -25,41 +26,58 @@ for model_name in models: # Search for the best number of POD modes concerning the rmse (root mean square error) # R = np.linspace(1, 25, 25, dtype=int) # R = np.linspace(1, 21, 21, dtype=int) - R = np.linspace(1, 21, 3, dtype=int) + R = np.linspace(1, 21, 21, dtype=int) - mae_velocity_best, mae_pressure_best = model.mae_test(model_velocity, model_pressure) - mape_velocity_best, mape_pressure_best = model.mape_test(model_velocity, model_pressure) - rmse_velocity_best, rmse_pressure_best = model.rmse_test(model_velocity, model_pressure) - max_error_velocity_best, max_error_pressure_best = model.max_error_test(model_velocity, model_pressure) + # mae_velocity_best, mae_pressure_best = model.mae_test(model_velocity, model_pressure) + # mape_velocity_best, mape_pressure_best = model.mape_test(model_velocity, model_pressure) + # rmse_velocity_best, rmse_pressure_best = model.rmse_test(model_velocity, model_pressure) + # max_error_velocity_best, max_error_pressure_best = model.max_error_test(model_velocity, model_pressure) best_model_velocity, best_model_pressure = model_velocity, model_pressure R_best = model.elbow_point(scaled=True) + L2_velocity_best, L2_pressure_best = model.relative_L2(model_velocity, model_pressure) print(f'Finding the optimal number of nodes for model {model_name}') + print(f'Searching for best R in {R}') + L2_velocity_vec, L2_pressure_vec = [], [] for R_ in R: + print(f'Current R: {R_}') X_r_velocity, X_r_pressure = model.POD(R_velocity=R_, R_pressure=R_) model_velocity, model_pressure = model.train(X_r_velocity, X_r_pressure) - mae_velocity_, mae_pressure_ = model.mae_test(model_velocity, model_pressure) - mape_velocity_, mape_pressure_ = model.mape_test(model_velocity, model_pressure) - rmse_velocity_, rmse_pressure_ = model.rmse_test(model_velocity, model_pressure) - max_error_velocity_, max_error_pressure_ = model.max_error_test(model_velocity, model_pressure) + L2_velocity_, L2_pressure_ = model.relative_L2(model_velocity, model_pressure) + L2_velocity_vec.append(L2_velocity_) + L2_pressure_vec.append(L2_pressure_) + # mae_velocity_, mae_pressure_ = model.mae_test(model_velocity, model_pressure) + # mape_velocity_, mape_pressure_ = model.mape_test(model_velocity, model_pressure) + # rmse_velocity_, rmse_pressure_ = model.rmse_test(model_velocity, model_pressure) + # max_error_velocity_, max_error_pressure_ = model.max_error_test(model_velocity, model_pressure) - if rmse_velocity_ < rmse_velocity_best: + if L2_velocity_ < L2_velocity_best: best_model_velocity = model_velocity - mae_velocity_best = mae_velocity_ - mape_velocity_best = mape_velocity_ - rmse_velocity_best = rmse_velocity_ - max_error_velocity_best = max_error_velocity_ + L2_velocity_best = L2_velocity_ + L2_pressure_best = L2_pressure_ R_best = (R_, R_best[1]) - - if rmse_pressure_ < rmse_pressure_best: + if L2_pressure_ < L2_pressure_best: best_model_pressure = model_pressure - mae_pressure_best = mae_pressure_ - mape_pressure_best = mape_pressure_ - rmse_pressure_best = rmse_pressure_ - max_error_pressure_best = max_error_pressure_ + L2_velocity_best = L2_velocity_ + L2_pressure_best = L2_pressure_ R_best = (R_best[0], R_) + # if rmse_velocity_ < rmse_velocity_best: + # best_model_velocity = model_velocity + # mae_velocity_best = mae_velocity_ + # mape_velocity_best = mape_velocity_ + # rmse_velocity_best = rmse_velocity_ + # max_error_velocity_best = max_error_velocity_ + # R_best = (R_, R_best[1]) + + # if rmse_pressure_ < rmse_pressure_best: + # best_model_pressure = model_pressure + # mae_pressure_best = mae_pressure_ + # mape_pressure_best = mape_pressure_ + # rmse_pressure_best = rmse_pressure_ + # max_error_pressure_best = max_error_pressure_ + # R_best = (R_best[0], R_) model.save_model(best_model_velocity, best_model_pressure, model_velocity_file=f'{model_name}/velocity_{R_best[0]}.pkl', model_pressure_file=f'{model_name}/pressure_{R_best[1]}.pkl') model.save_model(best_model_velocity, best_model_pressure, model_velocity_file=f'{model_name}/velocity.pkl', model_pressure_file=f'{model_name}/pressure.pkl') @@ -68,13 +86,41 @@ for model_name in models: print('---------------------------------') print(f'Model: {model_name}') print(f'\t \t\t Velocity \t Pressure') - print(f'MAE: \t\t\t {mae_velocity_best} \t {mae_pressure_best}') - print(f'MAPE: \t\t\t {mape_velocity_best} \t {mape_pressure_best}') - print(f'RMSE: \t\t\t {rmse_velocity_best} \t {rmse_pressure_best}') - print(f'max error: \t\t {max_error_velocity_best} \t {max_error_pressure_best}') + # print(f'MAE: \t\t\t {mae_velocity_best} \t {mae_pressure_best}') + # print(f'MAPE: \t\t\t {mape_velocity_best} \t {mape_pressure_best}') + # print(f'RMSE: \t\t\t {rmse_velocity_best} \t {rmse_pressure_best}') + # print(f'max error: \t\t {max_error_velocity_best} \t {max_error_pressure_best}') + print(f'$L_2$: \t\t\t {L2_velocity_best} \t {L2_pressure_best}') print(f'Number of POD modes: \t {R_best[0]} \t {R_best[1]}') print(f'Elbow point: \t\t {model.elbow_point(scaled=True)[0]} \t {model.elbow_point(scaled=True)[1]}') print('---------------------------------') print('\n \n') - np.savez(f'Results/{model_name}/OptimalSetup.npz', Elbow_points=np.array([model.elbow_point(scaled=True)[0], model.elbow_point(scaled=True)[1]]), R_best=R_best, mae_velocity_best=mae_velocity_best, mae_pressure_best=mae_pressure_best, mape_velocity_best=mape_velocity_best, mape_pressure_best=mape_pressure_best, rmse_velocity_best=rmse_velocity_best, rmse_pressure_best=rmse_pressure_best, max_error_velocity_best=max_error_velocity_best, max_error_pressure_best=max_error_pressure_best) \ No newline at end of file + np.savez(f'Results/{model_name}/OptimalSetup.npz', Elbow_points=np.array([model.elbow_point(scaled=True)[0], model.elbow_point(scaled=True)[1]]), R_best=R_best, L2_velocity_vec=L2_velocity_vec, L2_pressure_vec=L2_pressure_vec, R=R)#mae_velocity_best=mae_velocity_best, mae_pressure_best=mae_pressure_best, mape_velocity_best=mape_velocity_best, mape_pressure_best=mape_pressure_best, rmse_velocity_best=rmse_velocity_best, rmse_pressure_best=rmse_pressure_best, max_error_velocity_best=max_error_velocity_best, max_error_pressure_best=max_error_pressure_best) + + fig, axs = plt.subplots(nrows=1, ncols=2) + fig.suptitle(f'{model_name} - Error over number of POD modes') + + axs[0].plot(R, L2_velocity_vec) + axs[0].set_title('u') + axs[0].set_xlabel('R') + axs[1].plot(R, L2_pressure_vec) + axs[1].set_title('p') + axs[1].set_xlabel('R') + + fig.tight_layout() + fig.savefig(f'Results/{model_name}/Error_POD_Nodes.jpg') + + + fig, axs = plt.subplots(nrows=1, ncols=2) + fig.suptitle(f'{model_name} - Error over number of POD modes') + + axs[0].semilogy(R, L2_velocity_vec) + axs[0].set_title('u') + axs[0].set_xlabel('R') + axs[1].semilogy(R, L2_pressure_vec) + axs[1].set_title('p') + axs[1].set_xlabel('R') + + fig.tight_layout() + fig.savefig(f'Results/{model_name}/Error_POD_Nodes_semilogy.jpg') diff --git a/99_VisError_over_R.ipynb b/99_VisError_over_R.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..5967f5c3a67bd63fd41aeeddbaf970993027aa4a --- /dev/null +++ b/99_VisError_over_R.ipynb @@ -0,0 +1,159 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 39, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np \n", + "import matplotlib as mpl\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "code", + "execution_count": 40, + "metadata": {}, + "outputs": [], + "source": [ + "from models.LinearRegression import LinearRegressionModel\n", + "from models.GaussianProcessRegressor import GaussianProcessRegressionModel\n", + "from models.RBFInterpolator import RadialBasisRegressionModel" + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [], + "source": [ + "mpl.rcParams['axes.grid'] = True\n", + "mpl.rcParams['axes.labelsize'] = 12\n", + "# mpl.rcParams['axes.linewidth'] = 2\n", + "mpl.rcParams['figure.labelsize'] = 'large'\n", + "mpl.rcParams['font.size'] = 12.0\n", + "mpl.rcParams['legend.fontsize'] = 'medium'\n", + "mpl.rcParams['legend.markerscale'] = 1.0\n", + "mpl.rcParams['lines.linewidth'] = 2#1.5\n", + "mpl.rcParams['lines.markersize'] = 6.0\n", + "# mpl.rcParams['savefig.directory'] = '../Figures'\n", + "savefig_directory = '../Figures/'\n", + "mpl.rcParams['savefig.format'] = 'pdf'\n", + "mpl.rcParams['xtick.labelsize'] = 12#'medium'\n", + "mpl.rcParams['ytick.labelsize'] = 12#'medium'" + ] + }, + { + "cell_type": "code", + "execution_count": 42, + "metadata": {}, + "outputs": [], + "source": [ + "models = {\n", + " 'linregMod': LinearRegressionModel(),\n", + " 'gaussianProcessMod': GaussianProcessRegressionModel(),\n", + " 'radialBasisMod': RadialBasisRegressionModel(),\n", + "}" + ] + }, + { + "cell_type": "code", + "execution_count": 43, + "metadata": {}, + "outputs": [], + "source": [ + "R = np.linspace(1,21,21)\n", + "L2_velocity_vec = np.zeros((len(R), len(models)))\n", + "L2_pressure_vec = np.zeros((len(R), len(models)))\n", + "for i, model in enumerate(models):\n", + " data = np.load('Results/{}/OptimalSetup.npz'.format(model))\n", + " L2_velocity_vec[:, i] = data['L2_velocity_vec']\n", + " L2_pressure_vec[:, i] = data['L2_pressure_vec']\n", + "# data = np.load('Results/linregMod/OptimalSetup.npz')\n", + "# L2 = data['L2_velocity_vec']\n", + "# data.keys()" + ] + }, + { + "cell_type": "code", + "execution_count": 46, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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MHjwYIwZMwa33XYbXFxc8OOPP+Lq1asYO3ZspfW577778MMPP+DBBx/Evffei8TERKxYsQK33XYb8vLybPvNq6Fp06bhs88+w6RJk/DXX3+hZcuWiI2NxZ49e/DBBx9IdxYGDhyIxx57DB999BHOnz8v3Wr9448/MHDgQGkGjEWLFmHu3LlISkrCyJEj4enpicTERPz444+YNm0aZs+ejd9++w3PPfccRo8ejbZt26KkpARff/01lEolHn74YQCmfsG///477r33XoSFhSE9PR3Lly9HSEhIuSfJlda/f38psa5MQEAA5s6di4ULFyIqKgojRozA2bNnsXz5ctx5552YMGECAFPf00WLFmH69OkYNGgQHnnkESQmJmL16tUO1ye1sfLy8kK/fv3w7rvvQq/Xo3nz5ti2bZs0/29pCxcuxJYtW3D33XfjmWeekf7Y6tixY7Wzr9x333144403MHnyZPTu3RvHjx/HN998Y9XnHBsbCw8PD4iiiJSUFKxatQo3btzAihUrpN9TNb0GTJ06FZmZmRg0aBBCQkJw8eJFfPzxx4iMjCw3u4lZTc6rioSFhVU4f3RZMTExGD58OHr16oUpU6ZIU1B5e3tbbF+Xz8FuxEausLBQPHXqlFhYWCh3KPVi9erVIgAxMTFRFEVR7N+/v9i/f39peXx8vAhA/P777y22S0xMFAGIq1evlsr69+8vduzYscLjFBcXi++8847YsWNHUaPRiL6+vmK3bt3EhQsXitnZ2dJ6+fn54rPPPiv6+fmJHh4e4siRI8WzZ8+KAMS33367XNx//vlnlfULCwsT7733Xouy3NxccebMmWJwcLCoUqnENm3aiDExMaLRaLRYr7CwUHzhhRfEJk2aiO7u7uL9998vJicniwDE+fPnV3lcst6OHTvErl27imq1WmzVqpX4xRdfiLNmzRK1Wq20zsaNG8UuXbqIWq1WbNmypfjOO++IX375pcXPsCiKosFgEF955RXR399fdHNzE++55x7xn3/+EcPCwsTHH39cWm/RokVijx49RB8fH9HV1VVs3769+Oabb4rFxcWiKIpiRkaG+Oyzz4rt27cX3d3dRW9vb7Fnz57ihg0bLGIve94YjUbxrbfeEsPCwkSNRiN27dpV3LRpk/j444+LYWFh0nrm8ygmJqbc96Psz9n8+fNFAOK1a9eq/D5WdR5evXpVnDx5sujv7y+q1Wqxc+fOFuewWUlJiRgTEyO2b99eVKvVYkBAgDh8+HDxr7/+sljvv//9r9i3b1/R3d1ddHd3F9u3by8+++yz4tmzZ0VRFMWEhATxiSeeEFu1aiVqtVrRz89PHDhwoLh9+3ZpHzt27BAfeOABMTg4WFSr1WJwcLA4btw48dy5czX6PpX2+OOPi+7u7uXKly1bJrZv315UqVRi06ZNxaefflq8ceNGufWWL18uhoeHixqNRuzevbv4+++/l/tsqe4q+1m+fPmy+OCDD4o+Pj6it7e3OHr0aDElJaXCa+6uXbvEbt26iWq1WoyIiBBXrFgh7be0sud8UVGROGvWLDEoKEh0dXUV+/TpI+7bt6/c51zR7zjz/kt/ubu7i7169Sp3TajpNSA2NlYcNmyYGBgYKKrVarFFixbi9OnTxdTUVGkd8+/h+Ph4URRrdl6Z6172919Zlf0u3b59u9inTx/R1dVV9PLyEu+//37x1KlT5bav6edQEXvkV4IoVtCzvxEpKipCYmIiwsPD+VxomRw9ehRdu3a1mN+RnMPIkSOrnCKKiIgaJnvkV+yTSjZVWFhYruyDDz6AQqFAv379ZIiI7KXsZ3/+/Hls3rzZ4nGjRERENcU+qWRT7777Lv766y8MHDgQLi4u0pQcjvbUF7K9iIgI6bndFy9exKeffgq1Wo05c+bIHRoRETVATFLJpnr37o24uDj8+9//Rl5eHlq0aIEFCxZIjzClxisqKgrffvst0tLSoNFo0KtXL7z11luVThhPRERUFfZJJSIiIiKrsE8qERERETklp0lSG3mDMREREZHd2COvavRJqkqlAmB68gwRERER1V1+fj4EQZDyrPrQ6AdOKZVK+Pj4ID09HQDg5uZW7ZOPiIiIiMiSKIooKSlBTk4OcnJy4OPjIz1Ctj40+oFTgOmbmpaWxmc4ExEREdWRUqlEYGAgvL2967XhzymSVDODwQC9Xi93GEREREQNkouLC5RKpV3uSjtVkkpEREREDUOjHzhFRERERA0Pk1QiIiIicjhMUomIiIjI4TBJJSIiIiKHwySViIiIiBwOk1QiIiIicjhMUomIiIjI4TBJJSIiIiKHwySViIiIiBwOk1RqlHbu3AlBELBgwYIKl7ds2RItW7a0a0xERI1FUlISBEHApEmTcObMGYwcORJ+fn5wd3dH3759sW3bNrlDpEaASSoRERHVSmJiInr16oXMzExMnz4do0ePxl9//YXhw4fjP//5j9zhUQPHJJWIiIhq5ffff8fUqVPx+++/Y/HixVizZg3++OMPKBQKPPXUU8jJyZE7RGrAmKQSERFRrXh7e+P111+3KOvevTvGjx+PrKws/PjjjzJFRo0Bk1QiIiKqlTvuuAOenp7lygcMGAAAOHLkiJ0josaESSoRERHVStOmTSssb9asGQAgOzvbnuFQI8MklRolhcL0o11SUlLh8qysLDtGQ0TUOF29erXC8rS0NACm7gBEtcUklRolX19fAEBycnK5Zf/88w//uicisoHDhw8jNze3XPnOnTsBAF27drVzRNSYMEmlRql9+/bw8vLCzz//jPT0dKm8sLAQL7zwgoyRERE1HtnZ2XjjjTcsyg4dOoRvvvkG3t7eePDBB2WKjBoDF7kDIKoPKpUKL774Iv7973+ja9euePDBB1FSUoK4uDgEBwcjODhY7hCJiBq8fv364YsvvsCBAwfQp08fpKam4j//+Q+MRiM+++wzeHl5yR0iNWBsSaVGa+HChVi8eDG0Wi1WrlyJzZs34+GHH8bWrVuhUqnkDo+IqMELDw/H3r174evrixUrVmDDhg244447sHnzZjzyyCNyh0cNnCCKoih3EERERNRwJCUlITw8HI8//jjWrFkjdzjUSLEllYiIiIgcDpNUIiIiInI4TFKJiIiIyOGwTyoRERERORy2pBIRERGRw2mQ86QajUakpKTA09MTgiDIHQ4RNTKiKCI3NxfBwcHSI3adCa+xRFRfrLm+NsgkNSUlBaGhoXKHQUSNXHJyMkJCQuQOw+54jSWi+laT62uDTFI9PT0BAImJifDz85M5GvvT6/XYtm0bhg0b5pST0jtz/Z257oD96p+Tk4PQ0FDpWuNseI3leeas9XfmugP2qb8119cGmaSabz95eno65SPX9Ho93Nzc4OXl5bQnkbPW35nrDti//s56q5vXWJ5nzlp/Z647YN/61+T66nydrYiIiIjI4TFJJSIiIiKHwySViIiIiBwOk1QiIiIicjhMUomIiIjI4TBJJSIiIiKH4zRJqqGkBKdO7pU7DCKiRkkURaRmF8JoFOUOhYgaiQY5T6q1Xv08CkeEi7jiosSWJhsR3CxC7pCIiBqNBRtP4j9/JqNQb8De/xuEYB9XuUMiokbAKVpS84QSXFa5QBQE7Dy8Qe5wiIgaFReFgEK9AQCQmJEvczRE1Fg4RZLa2q+r9PpM6j4ZIyEianzCA9yl1wnX8mSMhIgaE6dIUnt1vE96fVmfLGMkRESNT4S/h/Q6gS2pRGQjTpGkdmt7N9wNps78iaoiFOuKZI6IiKjxiCjVksrb/URkK06RpCoEBVoa3AAAGS5KHD66VeaIiIgaj0BPDdzVSgBAwjUmqURkG06RpAJAmOutEf2H//lVxkiIiBoXQRCkfqmXbxRAV2KQOSIiagycJknt0uJu6fXFnJMyRkJEzkin0+GVV15BcHAwXF1d0bNnT8TFxVW73Q8//IBHHnkEERERcHNzQ7t27TBr1ixkZWWVW7dly5YQBKHc11NPPVUPNbIUfrNfqlEELl0vqPfjEVHj5xTzpALAoMiReDtxBQAgRbguczRE5GwmTZqE2NhYzJgxA23atMGaNWsQHR2N+Ph49O3bt9Ltpk2bhuDgYEyYMAEtWrTA8ePHsWzZMmzevBmHDx+Gq6vlnKSRkZGYNWuWRVnbtm3rpU6lRfiXGuGfkY82TT3r/ZhE1Lg5TZIa5NUcfgYFMpVGnNcIuHLpLJq3aCd3WETkBA4ePIjvvvsOMTExmD17NgBg4sSJ6NSpE+bMmYO9eyt/Gl5sbCwGDBhgUdatWzc8/vjj+OabbzB16lSLZc2bN8eECRNsXofqcPAUEdma09zuB4AwoQkAIF+hwF9HfpI3GCJyGrGxsVAqlZg2bZpUptVqMWXKFOzbtw/JyZVPjVc2QQWABx98EABw+vTpCrcpLi5Gfr59E8Vwf86VSkS25TQtqQDQzq8LjmTtAACcT6u85YKIyJaOHDmCtm3bwsvLy6K8R48eAICjR48iNDS0xvtLS0sDAPj7+5db9ttvv8HNzQ0GgwFhYWGYOXMmXnzxxSr3p9PpoNPppPc5OTkAAL1eD71eX6OYQrw10uuEa3k13s4RmWNvyHWoC2euvzPXHbBP/a3Zt1Mlqb1vuw/f7TUlqaklSfIGQ0ROIzU1FUFBQeXKzWUpKSlW7e+dd96BUqnEqFGjLMq7dOmCvn37ol27drh+/TrWrFmDGTNmICUlBe+8806l+1u8eDEWLlxYrjw+Ph5ubm7VBySK8Cq8hMnqJKwuHowzKTewefNmq+rkiGoysK0xc+b6O3Pdgfqtf0FBzQdWOlWS2qNlLwh7AFEALqmKUJCXDTcPb7nDIqJGrrCwEBqNply5VquVltfU+vXrsWrVKsyZMwdt2rSxWLZx40aL95MnT8bw4cOxdOlSPP/88wgJCalwn3PnzsVLL70kvc/JyUFoaCgGDhyIJk2aVBuT8ruxUFzYjoEKYBPuwDW9L/oOHAovV1WN6+VI9Ho94uLiMHToUKhUDbMOdeHM9XfmugP2qb/5Tk1NOFWS6q5yR5BRixRlEc6rVTh7JB5d7x4pd1hE1Mi5urpa3E43KyoqkpbXxB9//IEpU6bgnnvuwZtvvlnt+oIgYObMmdi6dSt27txZ6YAqjUZTYRKtUqlq9ouq+R3Ahe0AgCHKw/jWMBjJ2cWI9KpBK6wDq3H9Gylnrr8z1x2o3/pbs1+nGjgFABHaFgCAEkHAqQtbZI6GiJxBUFAQUlNTy5Wby4KDg6vdx7FjxzBixAh06tQJsbGxcHGpWRuDua9rZmamFRFbqd1w6eUQxWEAQGIGB08RUd04XZJ6e+it+Qgv5/4tYyRE5CwiIyNx7ty5cre5Dhw4IC2vyoULFxAVFYXAwEBs3rwZHh4eNT52QkICACAgIMC6oK0RFAl4mvrX9lWcgCuK+HhUIqozp0tS+3UYJr1OU2TAaODj+4iofo0aNQoGgwErV66UynQ6HVavXo2ePXtKrZ2XLl3CmTNnLLZNS0vDsGHDoFAosHXr1kqTzczMTBjKXM/0ej3efvttqNVqDBw40Ma1KkWhkFpTNYIedyuOI4FzpRJRHTlVn1QAaOPXFioR0AvAWY0CyeePIaz9HXKHRUSNWM+ePTF69GjMnTsX6enpaN26NdauXYukpCSsWrVKWm/ixInYtWsXRFGUyqKiopCQkIA5c+Zg9+7d2L17t7SsadOmGDp0KADToKlFixZh1KhRCA8PR2ZmJtavX48TJ07grbfeQrNmzeq3ku2igUNfAgCGKv7Cl9cG1+/xiKjRc7okVaVQoYXghwvIRLJKhQsntjJJJaJ699VXX2HevHn4+uuvcePGDXTp0gWbNm1Cv379qtzu2LFjAIB333233LL+/ftLSWrnzp1x2223Yd26dbh27RrUajUiIyOxYcMGjB492vYVKqvl3YDKHdDnY5DyCBZk5MJoFKFQCPV/bCJqlJwuSQWA9r4dceHGHwCAxLQ9MkdDRM5Aq9UiJiYGMTExla6zc+fOcmWlW1Wr0q1bt3JTUNmVSgu0HgSc/h+aCLloX3IGV3MHIsi7ZjMXEBGV5XR9UgGgV9sh0utrhkQZIyEiakTa3Su9HKo8zMFTRFQnTpmk3tH8Tun1JbUON66VnxqGiIis1GYYjDd/rQxVHOLgKSKqE6dMUkM8QuAhmno6nNCokXQ0XuaIiIgaAfcmyA3sBgBopUhFTvIpmQMioobMKZNUQRAQoTFN+XJDqcTlxN9kjoiIqHFQtI+WXje5wmsrEdWeUyapANA15C7p9dU8TupPRGQLHl1GSK875OyuYk0ioqo5bZLaI/zWk6euKa+huILnahMRkXUE/9ZIVoQAADoZTkOXky5zRETUUDltktrJv5P0+ozWBUkn98kYDRFR43HG524AgFIQkXV0k8zREFFD5bRJqp/WDwGC6fnXp9RqXD21S+aIiIgah+vNSz1t6uyv8gVCRA2a0yapANDepwMAoEihwLVre2WOhoiocXCN6IkM0QsA4Jf2B6AvkjkiImqInDpJ7RF+63GEWcYEiEajjNEQETUO4QFe+M3QFQCgMhQCib/LHBERNUROnaTe3vR26fVFTQlSL52XMRoiosYh3N8d24133Co4u1m+YIiowXLqJLW9X3soRAEAcFyjRsoJ9kslIqorT60Kp926o0hUmQrObQF4p4qIrOTUSaqriytCNU0BABdUKuQl7ZE5IiKixiEooAl2G2/OopKbCqQelTUeImp4nDpJBYCuwXcCAIyCgKyCYzJHQ0TUOLQKcMd2Y7dbBbzlT0RWcvok9Y6bSSoAXHe5jrzcLPmCISJqJML93bHj5uApAJyKiois5vRJaulJ/U9q1Ug6xlGoRER1Fe7vgWvwxRFja1PB1RPAjYvyBkVEDYrTJ6kR3hHQwAUAcEKjRu459kslIqqriAB3AECcodQo/3NbZIqGiBoip09SlQol2nm3BQCkurigOOOgzBERETV8ob5uUCoEy36pZ36RLyAianCcPkkFgG4hPaTX+WICjAaDjNEQETV8ahcFQn1dcU4MQbIYaCq8uAcozJI1LiJqOJikAugc0EV6/Y9WRNLZwzJGQ0TUOEQEeAAQsM1wszXVWAL8s13WmIio4WCSCqCzf2fp9QmNGtdOcvAUEVFdhfub+qVaPn2Ko/yJqGaYpAJo6tYUPi6eAIATag3EywdkjoiIqOEzD57609gOupvXWJyPAwx6GaMiooaCSSoAQRDQJTASAJCrVEAsOC5vQEREjYC5JbUELjjn1ctUqMs29U0lIqoGk9Sbbm8aKb3OUGch4+oV+YIhImoEIvw9pNd/KG4NUOUtfyKqCSapN1n2S9Xg0rF4GaMhImr4mnpp4KZWAgA2FXQAFCrTgrObAVGUMTIiagisTlJ1Oh1eeeUVBAcHw9XVFT179kRcXFy12/3444+45557EBwcDI1Gg5CQEIwaNQonTpyoVeC21tG/o/T6uEYNXeI+GaMhImr4BEGQbvmfuSHAGNbXtCDrEnD1pIyREVFDYHWSOmnSJCxduhTjx4/Hhx9+CKVSiejoaOzevbvK7Y4fPw5fX1+8+OKLWL58OZ5++mkcOXIEPXr0wLFjx2pdAVvxUnsh1D0EAHBGo4ZbBqehIiKqK3OSahSB6yGDby3gLX8iqoaLNSsfPHgQ3333HWJiYjB79mwAwMSJE9GpUyfMmTMHe/furXTb119/vVzZ1KlTERISgk8//RQrVqywMnTbi2zaFckJl6EXBBiEJOiKCqDRuskdFhFRg2WaK9XktFcfBJjfnN0M9H9ZlpiIqGGwqiU1NjYWSqUS06ZNk8q0Wi2mTJmCffv2ITk52aqDBwYGws3NDVlZWVZtV186+XeSXp/VKJB4nLf8iYjqIuJmSyoAnC7wBprd7P+fchjISZUpKiJqCKxqST1y5Ajatm0LLy8vi/IePUyjNo8ePYrQ0NAq95GVlQW9Xo+0tDR88MEHyMnJweDBg6vcRqfTQafTSe9zcnIAAHq9Hnq97ebb6+DTQXp9QqNGi9O/Qx/Zz2b7txVznW1Z94bEmevvzHUH7Fd/Z/3+1gfzXKkAkJiRD7SLBtJuTvN37leg+xMyRUZEjs6qJDU1NRVBQUHlys1lKSkp1e7jrrvuwtmzZwEAHh4e+Ne//oUpU6ZUuc3ixYuxcOHCcuXx8fFwc7Pd7fgSsQRKUQGDYMRxjQbRF/dg8+bNNtu/rdVkwFpj5sz1d+a6A/Vf/4KCgnrdvzNpWaolNeFaPtBrOLDrHVPBWSapRFQ5q5LUwsJCaDSacuVarVZaXp3Vq1cjJycHCQkJWL16NQoLC2EwGKBQVN7zYO7cuXjppZek9zk5OQgNDcXAgQPRpEkTa6pQre+3fI+TmSeRqFahuXged0ZFQagiNjno9XrExcVh6NChUKlUcodjd85cf2euO2C/+pvv1lDdeWlV8PfQICNPh4SMfCDoLsAzGMhNARJ2Abo8QONR/Y6IyOlYlaS6urpa3HY3KyoqkpZXp1evXtLrsWPHokMH0y32JUuWVLqNRqOpMDlWqVQ2/0XVJbALTmaapkZJVRdCdSUBzSM6VLOVPOqj/g2JM9ffmesO1H/9nfl7Wx8iAtyRkadDRp4OOboSeLUbDhxaBRh0QEI80OF+uUMkIgdkVRNhUFAQUlPLd3Q3lwUHB1t1cF9fXwwaNAjffPONVdvVp7KT+qec2CVjNEREDV/pwVOJ1272SzU78Blw8kcg+SCQfRkwlMgQIRE5IqtaUiMjIxEfH4+cnByLwVMHDhyQllursLAQ2dnZVm9XX0qP8D+uUaPzxX0AnpIvICKiBi7c33Lw1O2d7wbUHkBxHpD0h+nLTFAA7oGAV/DNr+aAV9DNf2+WeQYDKq0MNSEie7IqSR01ahSWLFmClStXSvOk6nQ6rF69Gj179pRG9l+6dAkFBQVo3769tG16ejoCAwMt9peUlIQdO3age/fuda2HzYR5hcFT5YFcfR6OazTwv3JU7pCIiBq00nOlJlzLA1yaA10nAAcqmB9bNAJ5aaavlCoequLqa0pcPYNKJa9BpZLaYEDrAwiC7StERHZhVZLas2dPjB49GnPnzkV6ejpat26NtWvXIikpCatWrZLWmzhxInbt2gWx1LOZO3fujMGDByMyMhK+vr44f/48Vq1aBb1ej7ffftt2NaojhaBAJ//O2Je6DxkuSrjhMgrz8+Dqzo79RES1UbolNSEj3/Qi6m2g0yjgRiKQcwXISbH8yrsKQKx4hwBQeMP0dbWKR2u7uJoSVldfADVPVpWiiLuzsqC8+qEDJrlVfE9sRCmK6JeVBeXVDxyw/vXLmesO1LH+o9cCPlVPQ2otq5JUAPjqq68wb948fP3117hx4wa6dOmCTZs2oV+/qucTffrpp/HLL79gy5YtyM3NRWBgIIYNG4ZXX30VnTt3rnJbe+vk3wn7Uk0T+Z/UqtDy/BG0ibxb5qiIiBqmFn5uUCoEGIyiaa5UwPQLMPRO01dFDHogNw3ITS2TxF4xPQQgN8X0r7GKOW1LCoHMBKvjVQDwAwAnnYlMAcAXcMr6O3PdgTrW31Bs22BQiyRVq9UiJiYGMTExla6zc+fOcmULFizAggULrD2cLEoPnjqu0cA78SjAJJWIqFbULgqE+roi6XoBEjPyIYoihOpaaZQqU6tMVS0zRiNQcP1mwlrqKzfV8rXO2acUs65FrHRbrbO1JTpz3QHHq7/VSaozKD146oRGjV5pJ2WMhoio4Qv3d0fS9QIUFBtwNUeHZt42GPikUAAeAaavoNvrvr+b9Ho9Nm/ejOjoaKecjqzEievvzHUHHK/+jjVLvYMIcAtAoDYAAHBSo4Zb1hmZIyKihk6n0+GVV15BcHAwXF1d0bNnzxo9OeuHH37AI488goiICLi5uaFdu3aYNWsWsrKyKlx/48aNuOOOO6DVatGiRQvMnz8fJSXyT+tUbvAUEVE1mKRWooO/aQL/AoUCLiVJ8gZDRA3epEmTsHTpUowfPx4ffvghlEoloqOjsXv37iq3mzZtGk6fPo0JEybgo48+QlRUFJYtW4ZevXqVe8rfr7/+ipEjR8LHxwcff/wxRo4ciUWLFuH555+vz6rVSIWDp4iIqsDb/ZWI8G6FXZd/BwBkqQtxPf0KmgQ2lzkqImqIDh48iO+++w4xMTHS9H0TJ05Ep06dMGfOHOzdu7fSbWNjYzFgwACLsm7duuHxxx/HN998g6lTp0rls2fPRpcuXbBt2za4uJgu715eXnjrrbfw4osvWkwLaG8RAZZzpRIRVYctqZUI9w6XXieqVEg995eM0RBRQxYbGwulUolp06ZJZVqtFlOmTMG+ffuQnJxc6bZlE1QAePDBBwEAp0+flspOnTqFU6dOYdq0aVKCCgDPPPMMRFFEbGysDWpSexH+vN1PRNZhS2olInwipNcJKhe0vvQ3gBHyBUREDdaRI0fQtm1biyf1AUCPHj0AAEePHpUehlITaWlpAAB/f3+LYwAo93CU4OBghISESMsrotPpoNPppPc5OabR8Hq9Hnp9FVM8WcHPVQE3tRIFxQYkXMu32X7rgzk2R46xPjlz/Z257oB96m/NvpmkVqJ0S2qCSgUh/ZSM0RBRQ5aamoqgoKBy5eaylJQUq/b3zjvvQKlUYtSoURbHKL3Pssep6hiLFy/GwoULy5XHx8fDzc3Nqtiq4qdSoqBYQHJmPjZu2gwXB7+XV5OBbY2ZM9ffmesO1G/9CwpqPgkrk9RKeKm90ETbBNeLriNRrYJPxnm5QyKiBqqwsBAajaZcuVarlZbX1Pr167Fq1SrMmTMHbdq0sTgGgEqPY24drcjcuXPx0ksvSe9zcnIQGhqKgQMHokmTJjWOrTrbcv/G5RNpMEJAx5790apUP1VHotfrERcXh6FDhzrENDz25sz1d+a6A/apf1XXorKYpFahlU8rXE+7jkylEl6GSzAYDFAqlXKHRUQNjKurq8XtdLOioiJpeU388ccfmDJlCu655x68+eab5Y4BoNLjVHUMjUZTYXKrUqls+ouqVeCtfqnJWTq0D/ax2b7rg63r39A4c/2due5A/dbfmv06+M0WeZW+5Z+mNiIl8XQVaxMRVSwoKEi6HV+auSw4OLjafRw7dgwjRoxAp06dEBsbazE4ynyM0vsse5yaHKO+lZ4rNTGDg6eIqGpMUqsQ4V168JQK1/45LGM0RNRQRUZG4ty5c+Vucx04cEBaXpULFy4gKioKgYGB2Lx5Mzw8PMqtY97HoUOHLMpTUlJw+fLlao9hDxZzpV7jNFREVDUmqVWwGDylVqHoynEZoyGihmrUqFEwGAxYuXKlVKbT6bB69Wr07NlTGtl/6dIlnDlj+YS7tLQ0DBs2DAqFAlu3bkVAQECFx+jYsSPat2+PlStXwmAwSOWffvopBEGwGGQll/AATuhPRDXHPqlVKNuSOiiTj0clIuv17NkTo0ePxty5c5Geno7WrVtj7dq1SEpKwqpVq6T1Jk6ciF27dkEURaksKioKCQkJmDNnDnbv3m3xhKqmTZti6NCh0vuYmBiMGDECw4YNw9ixY3HixAksW7YMU6dORYcOHexT2Sp4aVXw99AgI0/HllQiqhaT1CoEugXC3cUd+SX5SFSpEFDwj9whEVED9dVXX2HevHn4+uuvcePGDXTp0gWbNm1Cv379qtzu2LFjAIB333233LL+/ftbJKn33XcffvjhByxcuBDPP/88AgIC8Oqrr+L111+3bWXqIMLfHRl5OmTk6ZBTpIeX1nkHpxBR1ZikVkEQBET4ROB4xnGkuCjRRLyCwvw8uLqX7w9GRFQVrVaLmJgYxMTEVLrOzp07y5WVblWtiZEjR2LkyJFWRmc/EQHuOJiUCQBIyshHlxAfeQMiIofFPqnVMPdLFQUByWolks9V/tQWIiKqGgdPEVFNMUmtRtknT2UlHpUvGCKiBs4iSeXgKSKqAm/3V6Ps4Cm/tBMyRkNE5Hh+PP8j/rjyB64XXse7/d5FU/emla5rOVcqk1QiqhyT1GqUTlITVS7on31WxmiIiBzPqeunEHfR9KzvtIK0KpPUFn5uUCoEGIwiEq5xQn8iqhxv91cjxDMELgpTLp+gViFIlyhzREREjiXA7dbcrRkFGVWuq3ZRINTX9IjWxIx8qweGEZHzYJJaDReFC8I8wwAAF1Uq+CALGVevyBwVEZHjCHAtlaQWVp2kArf6pRYUG3A1R1dvcRFRw8YktQYifEy3/PWCgCsuLkg995fMEREROQ5/V3/p9bXCa9WuH+5/q19qQgZv+RNRxZik1kDZx6PmXTomYzRERI7F4nZ/DVpSI0o9HpWDp4ioMkxSa6Ds4CnltVMyRkNE5FisbUmN4FypRFQDTFJroOw0VD65fDwqEZGZr8YXCsH06+RaQQ1u97MllYhqgElqDYR5hUmvE1UqhJRchKGkRMaIiIgch1KhRBNtEwA1u93fzEsLV5USAHAg4TpmbTiGL3cn4mBiJvJ0vLYSkQnnSa0BN5Ubgt2DkZKfggS1Cq6CDsmJp9CiTRe5QyMicgj+rv64VngN14uuw2A0QKlQVrquIAho28wTx5KzkF9swH8PX8Z/D99aHu7vjtuCvdAp2Bsdg73QMdgLTTw0dqgFETkSJqk1FO4TjpT8FOQpFLimVCLjwhEmqURENwW4BeB05mkYRSNu6G5Y9FOtyNzh7fHvTadwJi0XBqPlXKmJGflIzMjHL3+nSmVB3lp0vJm0dgnxRucQbwR6auulLkTkGJik1lCEdwT2XNkDwDR4yniFj0clIjIrO1dqdUnqXRFN8MsLd6NIb8DZtFycSMnGyZQcnEzJwZnUHOhKjBbrp2YXITW7CNtPX5XKmnlp0TnEG12am5LWzs292eJK1IgwSa0hi2moVCq0zTwtYzRERI7FYoR/wTW092tfo+20KiVuD/XB7aE+UlmJwYgL1/Jx4oo5cc3GqZQc5Jbpr5qWU4S0U0WIO3UrcW3u4yq1tHZp7oPOzb3h7aaqW+WISBZMUmvIYoS/WoU+mRdkjIaIyLFY+9SpqrgoFWjXzBPtmnni4W6mMqNRRPKNAhy/km36umz6Kpu4XskqxJWsQvx6Ik0q83NXQyEIEARAIQAKQYBCEAAACsWt9wIAQQAEAHl5Siy7sAfCzfVqwrSH+mdFSKjNU2dFUURurhKfXNhrVf3tob7DEUUROblKLE9wvLrbQ13q/8Xj3RHi62bTeJik1pDlXKkqhBhTUZCfAzd3LxmjIiJyDP5u1s2Vai2FQkBYE3eENXHHfV2CAZgS16Tr+Th+JRt/30xaT6Rko6DYYLFtZn5xLY4oIK3QmafHEpBa6KxPAxOQWuCsdQdqW3+9oRZ/EVWDSWoN+Wp94avxxQ3dDSSqXKAQRFw+exRt7+gnd2hERLIre7vfHhQKAREBHogI8MADkc0BAAajiIRreaak9Uo2/r6chWt5OoiiqVXRKIrSv6bxWqZ/jaIIo1GECFPyW1JSAheXmv+KtP2v50qOU4sD1aZB0Or62+sbUO9EGAwGKJVKwE4t446l9vWvj+8Wk1QrhHuH40b6DaS7uCBXEJCVdARgkkpEZNPb/XWhVAho09QTbZp64uFuIbXah16vx+bNmxEdfQ9UKufrz+rM9XfmugOOV39O5m+F0oOnEtUqGNJOyhgNEZHjsPbRqERE1WGSaoWyj0f1zD4rYzRERI5DrVTDW+MNQN6WVCJqPJikWiHCxzJJDdIlyhgNEZFjMd/yzyjMgNh4OikSkUyYpFrBcoS/C5ogGxlXL8sYERGR4zDf8tcZdMjV58ocDRE1dExSrdDMvRlcXVwBmPqkAkDqub/kDImIyGFYDJ4q4C1/IqobJqlWUAgKtPRqCQBIdnFBMYC8S3/LGhMRkaOo77lSici5MEm1knmEv1EQcFGlgvLaKZkjIiJyDP5aJqlEZDtMUq1kOcLfBb6552WMhojIcQS48XY/EdkOk1QrlR7hn6hWIaTkIgwlJVVsQUTkHDhXKhHZEpNUK4V73ZrQP0GlgqtQjCuJvOVPROQoT50iosaBSaqVwrzCoBSUAIDEm48My7hwWM6QiIgcgsXtfiapRFRHTFKtpFKqEOoZCgBIUrnACEB35YS8QREROQB3lbs0TR9v9xNRXTFJrQXzCP8ihQIpLkpoMs/IHBERkWOQnjrFgVNEVEdMUmvB8slTKgQUXJAxGiIix2EePJWrz0VRSZHM0RBRQ8YktRbMLamAafBUc2MqCvJzZIyIiMgxcIQ/EdkKk9RasGhJVaugEEQknz0iY0RERI6Bg6eIyFasTlJ1Oh1eeeUVBAcHw9XVFT179kRcXFy12/3www945JFHEBERATc3N7Rr1w6zZs1CVlZWbeKWlWVLqgsAIDvpqEzREBE5DouW1AK2pBJR7VmdpE6aNAlLly7F+PHj8eGHH0KpVCI6Ohq7d++ucrtp06bh9OnTmDBhAj766CNERUVh2bJl6NWrFwoLC2tdATl4qD0Q6BYIwHS7XwRgSDspb1BERA6Ac6USka24WLPywYMH8d133yEmJgazZ88GAEycOBGdOnXCnDlzsHfv3kq3jY2NxYABAyzKunXrhscffxzffPMNpk6dan30MorwjkB6QTqylUrcUCjgkXVW7pCIiGTHJJWIbMWqltTY2FgolUpMmzZNKtNqtZgyZQr27duH5OTkSrctm6ACwIMPPggAOH36tDVhOASLW/5qFZoXJ0AURRkjIiKSn78bB04RkW1Y1ZJ65MgRtG3bFl5eXhblPXr0AAAcPXoUoaGhNd5fWloaAMDf37/K9XQ6HXQ6nfQ+J8c0kl6v10Ov19f4eLYU5hEmvU5QqdC9KAdpV5LQpGlIvR/bXGe56i43Z66/M9cdsF/9nfX7awulW1KZpBJRXViVpKampiIoKKhcubksJSXFqoO/8847UCqVGDVqVJXrLV68GAsXLixXHh8fDzc3N6uOaSvp+nTpdeLNwVM7N30L16COdouhJgPWGjNnrr8z1x2o//oXFBTYfJ86nQ6vv/46vv76a9y4cQNdunTBokWLMHTo0Cq3O3v2LFasWIEDBw7g8OHD0Ol0SExMRMuWLcut27JlS1y8eLFc+fTp07FixQpbVaVK3hpvuAguKBFLOKE/EdWJVUlqYWEhNBpNuXKtVistr6n169dj1apVmDNnDtq0aVPlunPnzsVLL70kvc/JyUFoaCgGDhyIJk2a1PiYtpRRmIEvf/wSgGlCfwBo4V6MO6Oj6/3Yer0ecXFxGDp0KFQ3j+1MnLn+zlx3wH71N9+tsaVJkyYhNjYWM2bMQJs2bbBmzRpER0cjPj4effv2rXS7ffv24aOPPsJtt92GDh064OjRo1UeJzIyErNmzbIoa9u2rS2qUCMKQYEmrk1wteAqW1KJqE6sSlJdXV0tbrubFRUVSctr4o8//sCUKVNwzz334M0336x2fY1GU2FyrFKpZPtF3cylGTxVnsjV5yJBbYrB5fpZu8YjZ/0dgTPX35nrDtR//W2977oMOh0xYgSysrLg6emJJUuWVJukNm/eHBMmTLBl+FYLcA3A1YKruFF0AyXGErgorPpVQ0QEwMqBU0FBQUhNTS1Xbi4LDg6udh/Hjh3DiBEj0KlTJ8TGxsLFpWFevARBQLiPafBUqosLCgQBvrnnZI6KiBxRXQad+vn5wdPT06rjFRcXIz8/v9bx1pV58JQIEZlFmbLFQUQNm1UZYmRkJOLj45GTk2MxeOrAgQPS8qpcuHABUVFRCAwMxObNm+Hh4WF9xA4kwjsCf1/7G4CpX2or3UWU6PVwceIWLiIqz9aDTqvy22+/wc3NDQaDAWFhYZg5cyZefPHFKrex9eDUJppb3bBSc1Phq/K1eh9y4gBF562/M9cdsE/9rdm3VUnqqFGjsGTJEqxcuVK6ZaXT6bB69Wr07NlTusheunQJBQUFaN++vbRtWloahg0bBoVCga1btyIgIKDCYzQkpR+PmqBSoWNxAS4mnkJY29tljIqIHI2tB51WpkuXLujbty/atWuH69evY82aNZgxYwZSUlLwzjvvVLqdrQen3ii6Ib3e8scWJKmSrN6HI+AAReetvzPXHajf+lszMNWqJLVnz54YPXo05s6di/T0dLRu3Rpr165FUlISVq1aJa03ceJE7Nq1y2Le0KioKCQkJGDOnDnYvXu3xROqmjZtWu0IV0dUOklNVKuAfCDjwhEmqURkwZaDTquyceNGi/eTJ0/G8OHDsXTpUjz//PMICal4ijxbD04t/KcQvx38DQDQsmNLRLeu/wGltsQBis5bf2euO2Cf+lszMNXqDqFfffUV5s2bZzGNyqZNm9CvX78qtzt27BgA4N133y23rH///g0ySS09ob95hH/xleNyhUNEDspWg06tJQgCZs6cia1bt2Lnzp2VDqiy9eDUZh7NpNeZxZkN9pc9Byg6b/2due5A/dbfmv1anaRqtVrExMQgJiam0nV27txZrqwxPo2puUdzqBVqFBuLkXDzm67JPCNzVETkaIKCgnDlypVy5dYMOq0tczeszEz7DWDyd731gBbOlUpEtWXV6H6ypFQoEeZtevLURZUL9AACCy/IGxQROZzIyEicO3eu3G2umg46rYuEhAQAsOs4gNJJKudKJaLaYpJaR+Z+qQZBQLLKBcHGNOTnZsscFRE5klGjRsFgMGDlypVSWWWDTs+cqd3dmMzMTBgMBosyvV6Pt99+G2q1GgMHDqx9BazUxLUJBAgATA8+ISKqjYY5SakDKdsvNUJfgsvnjqBdtwHyBUVEDqUug06zs7Px8ccfAwD27NkDAFi2bBl8fHzg4+OD5557DoBp0NSiRYswatQohIeHIzMzE+vXr8eJEyfw1ltvoVmzZrAXlUIFX60vMosymaQSUa0xSa0jixH+KhWAQmQnHQWYpBJRKbUddHrjxg3MmzfPouy9994DAISFhUlJaufOnXHbbbdh3bp1uHbtGtRqNSIjI7FhwwaMHj26fipVBX9XfylJFUURgiDYPQYiatiYpNZR2blSAcCYdlKucIjIQdV20GnLli1rNPC0W7du5aagklOAawDO3TgHvVGPbF02fLQ+codERA0M+6TWUZhXmNT3KkFtyvlDMn6HXl8sZ1hERLLi4CkiqismqXWkddGiuUdzAMAFlQYigBAxDYc3rax6QyKiRizA7dZsAkxSiag2mKTagHnwVJECuKpUAgCC/16G4mK2phKRc7KYK5WDp4ioFpik2kDpfqk73dsDAELFVBz+5XO5QiIikpXF7f4CtqQSkfWYpNpAhM+tJDW1w625CIP//pitqUTklAJcb93uZ0sqEdUGk1QbKN2SmuejxWnN7QCAFmIqDm1iayoROR8mqURUV0xSbcBiQv+cRLgM+j/pfchx9k0lIufj78bR/URUN0xSbcBb4w0/rR8AICErAW16RuOMpgsAoIWYgj/ZmkpETsbVxRUeKg8AbEklotphkmoj5lv+14uuI1uXDZfBr0rLTK2perlCIyKShXnwFAdOEVFtMEm1EYvHo2YnonWP4VJrapiYgoNsTSUiJ2OeK7WgpAAF+gKZoyGihoZJqo2UHuGfkJ0AAHAZNFcqCz2+DDr2TSUiJ+KvZb9UIqo9Jqk2Eu5VavBUdiIAoHWP4TgrtaZewcFNX8gSGxGRHCwGT/GWPxFZiUmqjZRuST2dedr0QhCgKtU3tQVbU4nIiVhMQ1XEwVNEZB0mqTbS1K0pgt2DAQB/pf2FbF02ACDiziic03QGcLM19X9sTSUi52DxaNQCJqlEZB0mqTYiCAIGhw0GAJSIJdh1eZd5gUVraujxZSjSsTWViBo/88ApgH1Sich6TFJtaGjYUOl13MU46XX4ncNxTmtqTW2JKzi4aZXdYyMisjc+dYqI6oJJqg3dHnC7dHtr75W9t6ZcEQSoBpVuTf2YralE1OiVvt3PgVNEZC0mqTakEBQY3MJ0y7/YWIzfr/wuLQu/czjOazuZXuMKDrA1lYgaOS+1F9QKNQDe7ici6zFJtbEhYUOk1zsu7ri1gH1TicjJCIIgtabydj8RWYtJqo11a9oN3hpvAMDvl3+HzqCTlrXsHi21pkbgMvZv+lKWGImI7MU8V2qWLgt6Ax8PTUQ1xyTVxlQKFQaGDgRgehTg3it7by0UBKgHlZ43lX1TiahxKz146nrRdRkjIaKGhklqPSg9yn/7pe0Wy8LujMY/pVpT9/2PralE1Hhx8BQR1RaT1HpwV9BdcFe5AwB2Ju+E3ljqFleZvqlhJz5GUTFvgRFR41S6JZWDp4jIGkxS64FaqUa/kH4AgJziHPyZ+qfF8rDu0big7QjA1Jq6ZyNH+hNR41R6Qn8OniIiazBJrSdV3fIv25ra8sTH+GX7DsQfPoUjFzORnFmAIr3BXqESEdUbi9v9bEklIiu4yB1AY9UnuA+0Si2KDEXYcWkHXuv5GpQKpbS8Rfd7cWFHR7QqOolWuIxWux8CABSLSmTAG2dFH2QKvshT+aFI448S10CIHk2h9GoGlVcgzmbo0exSFgK93dDEQw1PjQsEQZCrukREFbK43c8+qURkBSap9cRN5YY+zftgx6UdyCzKxJH0I+jerPutFQQB2mHzgI1jLbZTCwYEIxPBQqapoOTmVz6AMnfKcr9yRYbohbPwRiZ8kOfiiyJNE+i1/hDdA6DwbAaVd1O4+gbB29sbaqUSCgFQKAQoFQIUgulfpSBAEGB6XUm5QhCgUMC0TCjzXnFzPUGAIAgQRRHizRhFETC/E0VY/gux1GtAvPlGNK9TyXrFej3y9MD1/GKoXIzSsUoTyxSKEHHzfykmUbx13NKxlT6eIJjqCJi+bwJM7wXBtEyAAIVgmg9SYeO/EUxHs6Qv0aOgBMgu1EPliF2Z6/nvpBK9qf45hXq4lFi3rYfGBUpbf0hUrdItqbzdT0TWYJJaj4aEDcGOS6YJ/Xdc2mGZpAJofsdwZCq/RdbpnRBzr0JZkA5N0TW4FV+HpyELChir3L+nUAhPoRDhuGoqMAIovPl1w3LdAlGDYrjACAEGKGCE4ta/ogJGCFKZHgropOWCxbpGUQHDzTJjBeuIMOUpws3U0fK1eDOHKfve/PrWNmXLUGY/YQD+OfaOxfqlCWVSVwGAIIhlYhGl+Eq/Rqm4zEuMZf4VIcAoli+zpcr2FwTgxNH3bHqsio/vmJoB+LsW9W815Uu0aNna9gFRlfy0flAIChhFI2/3E5FVmKTWo34h/eCicEGJsQTbL23HnDvnlLsl73d7NPxujy6/saEEKLgO5F1FcVYK8jNTUHQjFSXZqRBzUlGcmQwfRQHc9JlwM+ZXG4uboIMbdBUvZOMSOYHkkkK5Q3BKSoUSflo/ZBRmsCWViKzCJLUeeam9cFfQXdh9ZTfS8tNwIuMEOgd0rtnGShfAsyng2RTqoC5Ql1qk1+uxefNmREdHQ6VSAfoiIP8akJ8OY246Cm+koigrDcXZaRBz06EouAaV7joEYwkE0dTuKYhGCKIBCtFoUaaA4ea/puUCxJvto87DeLNN1cT56t9YaV2U1a9E9SLANQAZhRnILMyEUTRCIXDMLhFVj0lqPRsaNhS7r+wGYBrlX+Mk1RoqLeATCviEQgHA/eaXzYgiIBoBowEQDWVei5blohHAzQ6b5kSvotfCrZv6KN26XLq8km31JXps3RqHe+4ZZkrSS69fWrmBZEKZ45f519z3tKrvgflfiLfqK5Z6Xc/0JSWI27YNQ4cOhUrlfKevXl+CuLi4WtU/QONVT1FRdcz9UkvEEtwouoEmrk1kjoiIGgLn+y1nZwNCB0j9sbZf3I4Zd8xoeKPwBQEQlIDCQVqiFHoYlBpA7Q5ISWo9M38P5KbXQ+/iDrj62K/ujsTFyevfQJWdK5VJKhHVBO+51DM/rR+6NzUNmLqUewnnbpyTOSIiIvviXKlEVBtMUu1gSNgQ6bV5tD8RkbPgXKlEVBtMUu1gUOgg6XXcxTgZIyEisj/OlUpEtcEk1Q6aujfF7QG3AwD+yfoHSdlJ8gZERGRHvN1PRLXBJNVOhrS4dct/+6XtMkZCRGRfZQdOERHVBJNUOyndL3X7RSapROQ8eLufiGqDSaqdhHiGoINfBwDAyesnkZKXInNERET2oVFq4KU2zVPLgVNEVFNMUu1ocIvB0muO8iciZ2Ie4Z9RmAFR5FPciKh6TFLtaGjYUOk1b/kTkTPxdzPd8i8yFCFPnydzNETUEDBJtaMInwhEeEcAAI6kH2HfLCInotPp8MorryA4OBiurq7o2bMn4uKqn5Lu7NmzmDlzJnr37g2tVgtBEJCUlFTp+hs3bsQdd9wBrVaLFi1aYP78+SgpKbFhTWrHYq5UjvAnohpgkmpn5lv+IkT8duk3maMhInuZNGkSli5divHjx+PDDz+EUqlEdHQ0du/eXeV2+/btw0cffYTc3Fx06NChynV//fVXjBw5Ej4+Pvj4448xcuRILFq0CM8//7wtq1IrFoOnCvgHOhFVj0mqnZW+5c+J/Ymcw8GDB/Hdd99h8eLFiImJwbRp0/Dbb78hLCwMc+bMqXLbESNGICsrC8ePH8f48eOrXHf27Nno0qULtm3bhieffBIfffQR5s6di88++wxnzpyxZZWsxhH+RGQtJql21t6vPZp7NAcA/Jn2J7KKsuQNiIjqXWxsLJRKJaZNmyaVabVaTJkyBfv27UNycnKl2/r5+cHT07PaY5w6dQqnTp3CtGnT4OLiIpU/88wzEEURsbGxdatEHfF2PxFZy6X6VSzpdDq8/vrr+Prrr3Hjxg106dIFixYtwtChQ6vc7uzZs1ixYgUOHDiAw4cPQ6fTITExES1btqxt7A2SIAgY0mII1p5aC4NowM7LOzGy9Ui5wyKienTkyBG0bdsWXl5eFuU9evQAABw9ehShoaF1PgYAdO/e3aI8ODgYISEh0vKK6HQ66HQ66X1OTg4AQK/XQ6/X1ykuM1+1r/T6av5Vm+23Pphjc+QY65Mz19+Z6w7Yp/7W7NvqJHXSpEmIjY3FjBkz0KZNG6xZswbR0dGIj49H3759K93O3K/qtttuQ4cOHXD06FFrD91oDAkzJamAaZQ/k1Sixi01NRVBQUHlys1lKSl1nzc5NTXVYp9lj1PVMRYvXoyFCxeWK4+Pj4ebm1udYwOAa4Zbrad///M3Nqdutsl+61NNBrY1Zs5cf2euO1C/9S8oKKjxulYlqeZ+VTExMZg9ezYAYOLEiejUqRPmzJmDvXv3VrqtuV+Vp6cnlixZ4tRJapeALgh0DUR6YTr2puxFvj4f7ip3ucMionpSWFgIjUZTrlyr1UrLbXEMAJUex9w6WpG5c+fipZdekt7n5OQgNDQUAwcORJMmTeocGwDk6fPw4fcfAgDUfmpED462yX7rg16vR1xcHIYOHQqVSiV3OHbnzPV35roD9ql/VdeisqxKUqvqV/Xqq68iOTm50ltWfn5+1hyqUVMICgxqMQjfnf0OeqMev1/+HcPDh8sdFhHVE1dXV4vb6WZFRUXSclscA0Clx6nqGBqNpsLkVqVS2ewXlY+LD1xdXFFYUojrRdcbRAJgy/o3RM5cf2euO1C/9bdmv1YlqfboV1URe/SXsreBIQPx3dnvAADbErdhSMiQGm/LPjPOW39nrjtgv/rbev9BQUG4cuVKuXLzLfrg4GCbHMO8z7LX4dTUVOk6LRdBENBE2wSX8y5z4BQR1YhVSao9+lVVxB79pezNIBrgJrihQCzAruRd+PmXn6ESrPurhX1mnLf+zlx3oP7rb02fqZqIjIxEfHw8cnJyLP7IP3DggLTcFscAgEOHDlkkpCkpKbh8+bLFHTC5BLgF4HLeZeQW56KopAhaF63cIRGRA7MqSbVHv6qK2KO/lByOHDiCny78BD300LfV44E2D9RoO/aZcd76O3PdAfvV35o+UzUxatQoLFmyBCtXrpT68+t0OqxevRo9e/aUWj4vXbqEgoICtG/f3upjdOzYEe3bt8fKlSsxffp0KJVKAMCnn34KQRAwatQo21WolkrPlXq96Lo0HR8RUUWsSlLt0a+qIvboLyWH6Iho/HThJwDAu4feRZBnEAaEDqjx9g29/nXlzPV35roD9V9/W++7Z8+eGD16NObOnYv09HS0bt0aa9euRVJSElatWiWtN3HiROzatQuiKEpl2dnZ+PjjjwEAe/bsAQAsW7YMPj4+8PHxwXPPPSetGxMTgxEjRmDYsGEYO3YsTpw4gWXLlmHq1KnVPq3KHizmSi24xiSViKpkVZJqj35VzuSuoLvwcJuH8d/z/0WJWIJZO2fhkyGf4K6gu+QOjYhs7KuvvsK8efMs5pjetGkT+vXrV+V2N27cwLx58yzK3nvvPQBAWFiYRZJ633334YcffsDChQvx/PPPIyAgAK+++ipef/1121eoFgLcbiWpfOoUEVXHqiTVHv2qnIkgCJh31zwUlBTg18RfUWwsxgu/vYCVQ1ciMjBS7vCIyIa0Wi1iYmIQExNT6To7d+4sV9ayZUuLltXqjBw5EiNHjqxFhPWv9O1+Dp4ioupY9VjUUaNGwWAwYOXKlVJZZf2q5H5OdEOhVCjxZt83pdv8hSWFeGb7MziTye8fETUuZW/3ExFVxaqWVHv1q3I2KoUKS/ovwbM7nsWB1API1edietx0rI5ajQjvCLnDIyKyidItqbzdT0TVsfqxqPboV+WMNEoNPhr4EabHTcfRa0eRWZSJJ7c9ibVRaxHiGSJ3eEREdcbb/URkDatu9wO3+lWlpqaiqKgIBw8exD333GOxzs6dO8v1oTL3q6roKykpqU6VaCzcVG74ZMgn6OBnGoWbXpCOJ7c9ifSCdJkjIyKqO1+tL1wEU9sIW1KJqDpWJ6lUv7zUXlgxdIV0m/9y3mU8ue1J3Ci6IXNkRER1oxAU8HM1PSKbSSoRVYdJqgPy0/ph5dCV0hyCCdkJmB43HbnFuTJHRkRUN+bBU5lFmTAYDTJHQ0SOjEmqg2rq3hRfDPsCga6BAIDTmafx7I5nUaC37eMaiYjsyZykGkUjMosyZY6GiBwZk1QHFuIZgs+HfQ5fjS8A4Ej6EbwY/yJ0hvJP/SIiagj83Th4iohqhkmqg4vwicBnQz+Dp8oTALA/dT/m7pkLg8jbZETU8JSeK5X9UomoKkxSG4AOTTpg+ZDlcHVxBQDsvLwTPxT8AKNolDkyIiLrWExDxQn9iagKTFIbiMjASHw06COoFWoAwDH9MXx9+muZoyIisg7nSiWimmKS2oDcFXQXYvrfeu73smPLcPjqYRkjIiKyDm/3E1FNMUltYAa1GIQpHacAAAyiAS/vepkjZImowQhwY5JKRDXDJLUBeqrzUwh3CQcApBemY+4fcznfIBE1CE20TaTXvN1PRFVhktoAKRVKjHEbI13s96bsxefHP5c5KiKi6qmUKmlavYwCtqQSUeWYpDZQngpPvNXnLSgE00e4/Ohy7E/dL3NURETVM8+Veq3wGkRRlDkaInJUTFIbsDub3olnI58FAIgQ8crvr3BKFyJyeObBU3qjHjnFOTJHQ0SOykXuAKhupnaeisNXD2NPyh5kFmVizu9z8Pmwz+Gi4EdrlpqXipPXTwIAFIICSkF5619FmfeCQvpyUbhArVBDrTR9qRQq02uFGkqFUuZaETVcZedK9dZ4yxgNETkqZjINnEJQYPHdizHqf6OQXpCOQ1cPYfnR5XjhjhfkDk1WoijiQNoBrD+9Hrsu77L5gw9cBBeolLeSVnMSqxSUEAQBgiBAAYXpNcq8v1mmEBQQIEj7FATTa3OZeb3SZaIoIiMvA5t+2wSF4ub2AiyPBcHiuOZ/RVGECPHWvxCBm3dapZKby8wUggIKKCyOYe5iYrHsZl1KJ/ml31u8vvm9kF7XYLn52EajEWeKziDrTBZcXG5dvsx1lF6Xem/+Xka1jIKn2tOmPwdUO2XnSm3t21rGaIjIUTFJbQR8tb54r/97mLxlMkrEEnx+/HN0DeyKu0Puljs0uyvQF2BTwiZ8e+Zb/JP1T70dp0QsQUlJCQpLCuvtGFVJSEuQ5biOYvPhzVZv06NZDyapDoJzpRJRTTBJbSQiAyMxo9sMLDm0BAAwd/dcxN4fi2buzWSOzD6Sc5Px3Znv8OM/PyK3ONdiWaBrIO5vdT881Z4wikbpyyAaKv7XaIAIESXGEhQbiqEz6FBsLIbeoEexsRjFBtOX3qg3vb5ZpjfoYRANFi2SRtFY7j3Jo3SrNcnLPHAKYJJKRJVjktqITLxtIv66+hfik+ORrcvGrF2zsOaeNVApVXKHVi9EUcTelL349vS32HV5l8VtagDoGtgVj7Z/FIPDBkOlcJzvQenb7kbcTFrL3HY3r2cuM78vKSnBlq1bMGzYMChdlNJ+AJRLiMv+W/b2P1D9bXJzjObk2igay8VvFI2ACOm1KJqScSPKvzaIhltlN7+kZP7m/kon9KXLjaIR+hI9jhw5gsjISCiUilvfs1IjxEu/L/3aT+tn2w+Saq10SyrnSiWiyjBJbUQEQcC/+/wbj2x6BFfyruDva3/jg8Mf4OU7X5Y7tEqZWzDNg5ZqokBfgAO6A1j1yyok5iRaLFMr1IiOiMaj7R9FhyYd6iPkOpP6mgqAEtYNwNJDD42ggbvKHSqV4yTe9qLX62E4aUBUyyinrH9jYXG7n3OlElElmKQ2Mt4ab7zX/z089utj0Bv1+OrUV7gj8A4MDhssd2jl/H75d/zf7/+HXP2t2/PmwTOlR9wLgmDxPrc4F0WGIqBUd9Cmbk0xtv1YPNTmIbaYETm4sgOniIgqwiS1Eero3xFz7pyDNw+8CQCYt2ce2vq1RahnqMyR3XLs2jHM2jnLlGyWYr7FW4KSGu2nW9NueLT9oxjUYhCn3SJqINxUbnBXuSNfn88+qURUKf5Wb6QeafcI/rr6F7YkbUGuPhezds7C19FfQ6PUyB0aErMT8dyO56QENdw7HF5qL+nWv7nvYunBTKUHOymgQJA+CC8PfhkdAzvKXBsiqo0A1wDk6/ORlJOEJ7c9iamdp6JHsx4WfaKJyLkxSW2kBEHAgt4LcCbzDJJyknA68zTe2PcGFvZeKGuLY0ZhBp7e/jSydFkAgJ7NemL5kOVQK9U13oder8fmzZvR1rdtPUVJRPWtR7MeSMpJAgDsT92P/an70dm/M6Z0noKBoQNr3EediBovXgUaMXeVO5b0XyK1nm68sBHP7Xiu3BRN9pKvz8cz25/BlbwrAIC2vm3x/sD3rUpQiahx+L+e/4d5d81DiEeIVHY84zhmxM/AQz8/hI0XNkJv1MsYIRHJjUlqI9fOrx3e7Pum1Hq6J2UPJmyegOScZLvGoTfo8dLOl3A68zQAIMg9CJ8O+ZSTqxM5KZVChTHtxuB/D/4P7/Z71+LOyIXsC3ht92u494d78c3pb2R7aAYRyYtJqhO4p+U9+GLYF/DR+AAAErIT8OjmR3Eo7ZBdji+KIubvnY+9KXsBAF5qL6wYsgKBboF2OT4ROS4XhQuGhw9H7P2x+GTwJ7gj8A5pWWp+Kt4++Dai/huFlX+vRE5xjoyREpG9MUl1Et2adsP6e9cjwjsCAJCly8KTcU/ix/M/1vuxPzz8If6X8D8AgEapwbLByxDhE1HvxyWihkMQBPQL6Ye1w9dibdRa9AvpJy3LLMrEx0c+xrDYYVh6aCmu5l+VMVIishcmqU4k1DMU66LXoXdwbwBAibEEr+99HUsPLYXBaKiXY64/vR6rTqwCYJoD9Z2730HXwK71ciwiahzuaHoHPhn8CWLvj8Xw8OHSIKp8fT5Wn1yNqB+i8Nru13A286zMkRJRfWKS6mQ81Z74ZPAnGNd+nFS2+uRqzNg5AwX6Apsea/vF7Xj74NvS+1d7vOqQDxUgIsfUzq8d3u33LjaN3ITRbUdLjzcuMZZg44WNGPW/UXhy25PYfWW3xaNxiahxYJLqhFwULni156t4redrUAqmx3LuTN6Jib9ORGpeqk2O8dfVv/DK769Iz51/svOTeKT9IzbZNxE5l1CvULze63VsfXgrnuz8JLzUXtKy/an78fT2p/HQxofw4/kfUWwoljFSIrIlJqlObGz7sVg+ZDk8VaYR9mdvnMW4X8bh72t/12m/F7Iu4Pnfnkex0fTLYkSrEXi+6/N1jpeInFuAWwBeuOMFxI2Kw6s9X7V4it4/Wf/g9b2vY1jsMHx27DNkFWXJFygR2QSTVCfXO7g31t27TrrYXy+6jslbJuPXxF9rtb+r+Vfx1PanpLlY+wT3wYLeC/gUGSKyGTeVG8a1H4f/jfwfPhjwgUU/9+tF17Hs6DIMjR2KRfsX4WLORRkjJaK64BOnCBHeEVgfvR4zd87EoauHUGwsxpzf5+CfrH8wNGwotEottC5auLq4QuuihVqhrjDpzC3OxdM7nkZafhoA4LYmt2HpgKVSPzIiIltSKpQYHDYYg8MG4+9rf2PtybXYfmk7jKIRRYYi/Ofsf7Dh7AZ0DewKL40XtEotNEoNtC6mf0u/dnVxNZW5aOAiuuC8/jz+uvoXXDWuUClUUCvUUClv/atSqKBWqqFSqGR9ih9RY8YziwAAPlofrBy6EosOLMIP538AAKz8eyVW/r2y3LoKQWGZuN58naXLkp4m1dyjOT4Z/AncVG52rQcROacuAV3w3oD3cDn3MtadXocfzv+AwpJCiBBxOP1wrfa5dsfaGq2nEBRQKVQWj3IVIEh/zAs3/7v5ptwy83bm8gr/LbONdJxSDQbWlJvLSu/XvFwUReTl5GHt5rW3Yqvi2KX3VeG60j/V76PSfVeynq0ZRSOu513HT9t/gqCwzbHqO+Zqj2HF4UWjiIy8DGzcsdHq+i/qswjN3JtZtU11mKSSRKVUYUGvBYjwjsB7h96TBj2VZRSNKCgpQEFJxbMB+Gp88dnQz+Dv6l+f4RIRlRPiGYL/6/F/ePr2pxF7LhbfnvkWVwvqd15Vo2iEzqCr12PIIS0rTe4QZJOYnih3CLJKuJpg9Tb1cQ4wSSULgiDg8Y6P4/aA27H94nYUlBSgqKQIRYYiFJYUml6XfX/ztVE0wk/rh2WDliHMK0zuqhCRE/PWeGNK5yl4otMTyNfno8hQBJ1BB12JTnpdVHLzX0MRdCU6qaxAX4CTZ06iZauWKBFLoDfqoTfqUWwoRrGh2PTaWAy94Va53qiHUTRKxzdPiSXe/K9smfm9CLH8v+bXZd+XaTgoPe1W6WUWr0sfU7Rcbt5vRdsYDAYolIpK61LRviqqI1FdMEmlCkUGRiIyMLLG64uiiBJjCZQKpcUtLyIy0el0eP311/H111/jxo0b6NKlCxYtWoShQ4dWu+2VK1cwc+ZMbNu2DUajEQMHDsT777+PiAjLJ7dVNkBx8eLF+L//+z+b1KOhEQQBHmoPeMCjxtvo9XpsvrgZ0ZHRUKmcr0+9Xq/H5s2bER1tu/pXlgyXLqtpAlyf9Ho9tm7diqioKJvUvbKYRYg26wZQ1R8E1n7PSkpKsGXrFkTdEwUXF+tSRK2L1qr1a4JJKtmEIAhQKZ3vYk5UU5MmTUJsbCxmzJiBNm3aYM2aNYiOjkZ8fDz69u1b6XZ5eXkYOHAgsrOz8eqrr0KlUuH9999H//79cfToUTRp0sRi/aFDh2LixIkWZV278ilvJK8K+5Q64KQvSlEJlaCCRqlxyt9peuihEUwDCR3hDzQmqURE9ezgwYP47rvvEBMTg9mzZwMAJk6ciE6dOmHOnDnYu3dvpdsuX74c58+fx8GDB3HnnXcCAIYPH45OnTrhvffew1tvvWWxftu2bTFhwoT6qwwRkZ3wviwRUT2LjY2FUqnEtGnTpDKtVospU6Zg3759SE5OrnLbO++8U0pQAaB9+/YYPHgwNmzYUOE2hYWFKCoqsl0FiIhkwJZUIqJ6duTIEbRt2xZeXl4W5T169AAAHD16FKGhoeW2MxqN+Pvvv/HEE0+UW9ajRw9s27YNubm58PT0lMrXrFmD5cuXQxRFdOjQAf/617/w6KOPVhmfTqeDTndrZG5OTg4AU/88vV5f84o2EuY6O2PdAeeuvzPXHbBP/a3ZN5NUIqJ6lpqaiqCgoHLl5rKUlJQKt8vMzIROp6t223bt2gEAevfujTFjxiA8PBwpKSn45JNPMH78eGRnZ+Ppp5+uNL7Fixdj4cKF5crj4+Ph5ua8cx3HxcXJHYKsnLn+zlx3oH7rX1BQ8fSVFWGSSkRUzwoLC6HRaMqVa7VaaXll2wGo8bZ79uyxWOeJJ55At27d8Oqrr2LSpElwdXWt8Dhz587FSy+9JL3PyclBaGgoBg4cWG5gljPQ6/WIi4vD0KFDHWLwiL05c/2due6AfepvvlNTE0xSiYjqmaurq8XtdDNzv9HKkkdzeW22BQC1Wo3nnnsOTz31FP76669KZxHQaDQVJsIqlcopf1Gbsf7OW39nrjtQv/W3Zr8cOEVEVM+CgoKQmppartxcFhwcXOF2fn5+0Gg0tdrWzNzXNTMz06qYiYjk1iBbUs2T0+bm5jrlXzp6vR4FBQXIyclh/Z2s/s5cd8B+9TffjrLV5OGRkZGIj49HTk6OxeCpAwcOSMsrolAo0LlzZxw6dKjcsgMHDiAiIsJi0FRFEhJMjzcMCAiocby8xvI8c9b6O3PdAfvU36rrq9gAXbhwQYTpmRT84he/+FVvX8nJyTa5Zu3fv18EIMbExEhlRUVFYuvWrcWePXtKZRcvXhRPnz5tse3bb78tAhD//PNPqezMmTOiUqkUX3nlFaksPT293HFzcnLEVq1aif7+/qJOp6txvLzG8otf/Krvr5pcXwVRtMNzxmwsKysLvr6+uHTpEry9veUOx+7MgxqSk5PLTWnjDJy5/s5cd8B+9RdFEbm5uQgODoZCYZteUWPGjMGPP/6ImTNnonXr1li7di0OHjyIHTt2oF+/fgCAAQMGYNeuXRYtDLm5uejatStyc3Mxe/ZsqFQqLF26FAaDAUePHpVaSBcsWICffvoJ999/P1q0aIHU1FR8+eWXuHTpEr7++muMHz++xrHyGsvzzFnr78x1B+xTf2uurw3ydr+5Ut7e3k75Q2Tm5eXF+jtp/Z257oB96m/r5Oyrr77CvHnz8PXXX+PGjRvo0qULNm3aJCWolfH09MTOnTsxc+ZMLFq0CEajEQMGDMD7779vcQu/T58+2Lt3L7744gtcv34d7u7u6NGjB7788ksMGjTIqlh5jTXheea89XfmugP1X/+aXl8bZJJKRNTQaLVaxMTEICYmptJ1du7cWWF5SEgIvv/++yr3P3ToUAwdOrQuIRIRORSO7iciIiIih9Mgk1SNRoP58+dXOK+fM2D9nbf+zlx3gPW3F2f/PrP+zlt/Z6474Hj1b5ADp4iIiIiocWuQLalERERE1LgxSSUiIiIih8MklYiIiIgcDpNUIiIiInI4DSpJ1el0eOWVVxAcHAxXV1f07NkTcXFxcodlFzt37oQgCBV+7d+/X+7wbCovLw/z589HVFQU/Pz8IAgC1qxZU+G6p0+fRlRUFDw8PODn54fHHnsM165ds2/ANlbT+k+aNKnCn4f27dvbP2gb+fPPP/Hcc8+hY8eOcHd3R4sWLTBmzBicO3eu3LqN8bOXG6+xvMaW1RjPM15jG841tkFN5j9p0iTExsZixowZaNOmDdasWYPo6GjEx8ejb9++codnFy+88ALuvPNOi7LWrVvLFE39yMjIwBtvvIEWLVrg9ttvr3SC88uXL6Nfv37w9vbGW2+9hby8PCxZsgTHjx/HwYMHoVar7Ru4jdS0/oBpupAvvvjCoqwhP8bynXfewZ49ezB69Gh06dIFaWlpWLZsGe644w7s378fnTp1AtB4P3u58RrLa2xpjfU84zW2AV1jxQbiwIEDIgAxJiZGKissLBRbtWol9urVS8bI7CM+Pl4EIH7//fdyh1LvioqKxNTUVFEURfHPP/8UAYirV68ut97TTz8turq6ihcvXpTK4uLiRADiZ599Zq9wba6m9X/88cdFd3d3O0dXv/bs2SPqdDqLsnPnzokajUYcP368VNZYP3s58RrLa2xZjfU84zW24VxjG8zt/tjYWCiVSkybNk0q02q1mDJlCvbt24fk5GQZo7Ov3NxclJSUyB1GvdFoNGjWrFm16/33v//FfffdhxYtWkhlQ4YMQdu2bbFhw4b6DLFe1bT+ZgaDATk5OfUYkf307t273F/obdq0QceOHXH69GmprLF+9nLiNfYWXmNNGut5xmtsw7nGNpgk9ciRI2jbti28vLwsynv06AEAOHr0qAxR2d/kyZPh5eUFrVaLgQMH4tChQ3KHJIsrV64gPT0d3bt3L7esR48eOHLkiAxR2V9BQQG8vLzg7e0NPz8/PPvss8jLy5M7LJsSRRFXr16Fv78/AH729YXXWBNeY014npnwGmvJ3p99g+mTmpqaiqCgoHLl5rKUlBR7h2RXarUaDz/8MKKjo+Hv749Tp05hyZIluPvuu7F371507dpV7hDtKjU1FQAq/ZnIzMyETqdzmEe71YegoCDMmTMHd9xxB4xGI7Zs2YLly5fj2LFj2LlzJ1xcGszpXaVvvvkGV65cwRtvvAGAn3194TWW19jSeJ7xGusIn32D+Q4XFhZW+A3RarXS8sasd+/e6N27t/R+xIgRGDVqFLp06YK5c+diy5YtMkZnf+bPu7qficZ8AV28eLHF+7Fjx6Jt27Z47bXXEBsbi7Fjx8oUme2cOXMGzz77LHr16oXHH38cAD/7+sJrLK+xpfE84zXWET77BnO739XVFTqdrlx5UVGRtNzZtG7dGg888ADi4+NhMBjkDseuzJ83fyYszZw5EwqFAtu3b5c7lDpLS0vDvffeC29vb6m/JMDPvr7wGlser7E8z8riNda+n32DSVKDgoKkJujSzGXBwcH2DskhhIaGori4GPn5+XKHYlfm2xCV/Uz4+fk16r/wK+Pq6oomTZogMzNT7lDqJDs7G8OHD0dWVha2bNlicX7zs68fvMZWjNdYnmel8Rpr38++wSSpkZGROHfuXLkRdgcOHJCWO6OEhARotVp4eHjIHYpdNW/eHAEBARUOajh48KDT/jzk5uYiIyMDAQEBcodSa0VFRbj//vtx7tw5bNq0CbfddpvFcn729YPX2IrxGsvzrDReY+372TeYJHXUqFEwGAxYuXKlVKbT6bB69Wr07NkToaGhMkZX/yp6ysOxY8ewceNGDBs2DApFg/kobebhhx/Gpk2bLKbG2bFjB86dO4fRo0fLGFn9KyoqQm5ubrnyf//73xBFEVFRUTJEVXcGgwGPPPII9u3bh++//x69evWqcD1n/uzrC6+xvMaW5cznGa+xjvHZC6IoinY7Wh2NGTMGP/74I2bOnInWrVtj7dq1OHjwIHbs2IF+/frJHV69GjRoEFxdXdG7d28EBgbi1KlTWLlyJVQqFfbt24cOHTrIHaJNLVu2DFlZWUhJScGnn36Khx56SBpd+/zzz8Pb2xvJycno2rUrfHx88OKLLyIvLw8xMTEICQnBn3/+2aBvRVVX/xs3bqBr164YN26c9Ii+rVu3YvPmzYiKisIvv/zSIH+pzpgxAx9++CHuv/9+jBkzptzyCRMmAECj/uzlxGssr7EAr7G8xjrQNdZujw2wgcLCQnH27Nlis2bNRI1GI955553ili1b5A7LLj788EOxR48eop+fn+ji4iIGBQWJEyZMEM+fPy93aPUiLCxMBFDhV2JiorTeiRMnxGHDholubm6ij4+POH78eDEtLU2+wG2kuvrfuHFDnDBhgti6dWvRzc1N1Gg0YseOHcW33npLLC4uljv8Wuvfv3+l9S57uWqsn72ceI3lNZbXWF5jzRzhs29QLalERERE5BwaXls1ERERETV6TFKJiIiIyOEwSSUiIiIih8MklYiIiIgcDpNUIiIiInI4TFKJiIiIyOEwSSUiIiIih8MklYiIiIgcDpNUIiIiInI4TFKJiIiIyOEwSaVGac2aNRAEQfpycXFB8+bNMWnSJFy5ckXu8IiIGjReY8keXOQOgKg+vfHGGwgPD0dRURH279+PNWvWYPfu3Thx4gS0Wq3c4RERNWi8xlJ9YpJKjdrw4cPRvXt3AMDUqVPh7++Pd955Bxs3bsSYMWNkjo6IqGHjNZbqE2/3k1O5++67AQAXLlyQORIiosaH11iyJSap5FSSkpIAAL6+vvIGQkTUCPEaS7bE2/3UqGVnZyMjIwNFRUU4cOAAFi5cCI1Gg/vuu0/u0IiIGjxeY6k+MUmlRm3IkCEW71u2bIl169YhJCREpoiIiBoPXmOpPjFJpUbtk08+Qdu2bZGdnY0vv/wSv//+OzQajdxhERE1CrzGUn1ikkqNWo8ePaSRpyNHjkTfvn3x6KOP4uzZs/Dw8JA5OiKiho3XWKpPHDhFTkOpVGLx4sVISUnBsmXL5A6HiKhR4TWWbI1JKjmVAQMGoEePHvjggw9QVFQkdzhERI0Kr7FkS0xSyem8/PLLuHr1KtasWSN3KEREjQ6vsWQrTFLJ6Tz00ENo1aoVlixZAoPBIHc4RESNCq+xZCuCKIqi3EEQEREREZXGllQiIiIicjhMUomIiIjI4TBJJSIiIiKHwySViIiIiBwOk1QiIiIicjhMUomIiIjI4TBJJSIiIiKHwySViIiIiBwOk1QiIiIicjhMUomIiIjI4TBJJSIiIiKHwySViIiIiBzO/wNr78K7ShPt2gAAAABJRU5ErkJggg==", + "text/plain": [ + "<Figure size 708x354 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArQAAAF3CAYAAABUqthdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABuI0lEQVR4nO3dd3wU1doH8N9sT9sUSEgiIZRQDC30KggoVRBpSlHBAmoU8dperoUiyvWCBZVqAa7YALEhCgFC702UXpIQICGE9LbZMu8fyw7ZFEggu5Pd/X11Pzt7ZnbmmSwz++yZM+cIoiiKICIiIiJyUQq5AyAiIiIiuhNMaImIiIjIpTGhJSIiIiKXxoSWiIiIiFwaE1oiIiIicmlMaImIiIjIpTGhJSIiIiKXppI7gJpIFEWYzWaYTCa5QyEiIiJySWq1Gkql0inbYkJbgiiKyMrKwtWrV2E2m+UOh4iIiMilBQQEIDQ0FIIgOHQ7TGhLSE1NRVZWFvR6PfR6PVQqlcM/ACIiIiJ3I4oiCgoKkJaWBgAICwtz6PaY0F5nNpuRnZ2N4OBg1K5dW+5wiIiIiFyal5cXACAtLQ0hISEObX7Am8KuMxqNEEURPj4+codCRERE5Ba8vb0BWPMsR2JCWwqbGBARERFVD2flVUxoiYiIiMilMaElIiIiIpfGhJaIiIiIXBoTWg+xbNkyCIKAxMREAMC9996Le++9V9aYajpBEDB9+nS5w6AahseO++Jn6xqmT59epl1m/fr1MX78+CqvKzExEYIgYNmyZdUT3B3YsmULBEHAli1b5A6lUsr7HOTEhJZqNFsiLggCduzYUWa+KIqIiIiAIAh44IEHZIiQqPrZvihsD29vb0RHR+PNN99ETk6O3OE5lC3BEAQBs2bNKneZsWPHQhAE+Pr6Ojk68gSljz+FQoGwsDA88MAD2LNnj9zhlVG/fn0IgoD77ruv3Pmff/65tC8HDhxwcnTOw35oPdSGDRvkDqFKdDodvv32W3Tv3t2ufOvWrbh48SK0Wq1MkZGnceaxs3DhQvj6+iIvLw8bNmzAu+++i82bN2Pnzp01qmbEEXQ6Hb777ju8+eabduX5+fn45ZdfoNPpZIqMaqJTp05BoajeOjrb8WexWJCcnIzPP/8cPXr0wL59+xATE1Ot2wKAHj16oLCwEBqNpsrv1el0iI+PR2pqKkJDQ+3mffPNN9DpdCgqKqquUGsk1tB6KI1Gc1sHTUUKCgqqbV3lGThwIFatWgWTyWRX/u2336Jdu3ZlDmAiR6nuY+dmRowYgXHjxuGZZ57BmjVrMGzYMOzevfumtUSOPhadZeDAgTh+/Dj++usvu/JffvkFxcXFuP/++2WKjO5Efn6+Q9ar1WqhVqurdZ224++xxx7DG2+8gd9//x1GoxGrVq2q1u3YKBQK6HS620rMu3XrBl9fX/zwww925RcvXsT27dsxaNCg6gqzxmJC66FKtxWztd1ZuXIl3n33XdStWxc6nQ59+vTB2bNny7y3RYsWOHjwIHr06AFvb2/8+9//BgAYDAZMmzYNUVFR0Gq1iIiIwGuvvQaDwWC3jsLCQkyePBm1a9eGn58fhgwZgkuXLlXYbnX06NG4du0a4uLipLLi4mKsXr0aY8aMKXcf8/Pz8fLLLyMiIgJarRZNmzbF3LlzIYqi3XIGgwEvvfQSgoODpVguXrxYlT8nVdGWLVvQvn176HQ6NGrUCIsXLy7THmvp0qXo3bs3QkJCoNVqER0djYULF5ZZV0X/Zkq3qTMajZgxYwYaN24MnU6HWrVqoXv37nb/plJTUzFhwgTUrVsXWq0WYWFhePDBB6W250DZY6e4uBhvv/022rVrB39/f/j4+OCee+5BfHy8XTy2S+lz587FkiVL0KhRI2i1WnTo0AH79++v1N+td+/eAICEhAQploqOxbS0NDz55JOoU6cOdDodWrdujeXLl5dZp8Viwbx589CyZUvodDoEBwejf//+ZS5NrlixAu3atYOXlxeCgoLwyCOPIDk52W6ZM2fOYPjw4QgNDYVOp0PdunXxyCOPIDs7W1omLi4O3bt3R0BAAHx9fdG0aVMp5pK6dOmCBg0a4Ntvv7Ur/+abb9C/f38EBQWV+zdasGABmjdvDq1Wi/DwcMTGxiIrK6vMcrbPwMvLCx07dsT27dvLXR/dPtsxffz4cYwZMwaBgYHo3r07jh49ivHjx6Nhw4bQ6XQIDQ3FE088gWvXrpVZx44dO9ChQwe7c0V5Sh/vGRkZeOWVV9CyZUv4+vpCr9djwIABZX4gVYWt4kSlunFxu7LHPwB8//33aNeuHfz8/KDX69GyZUvMmzdPml9eG9rKHFOAtYZ22LBhZY6X7777DoGBgejXr1+5+7R582bcc8898PHxQUBAAB588EGcOHGizHKV/RzkxCYHZOc///kPFAoFXnnlFWRnZ+O///0vxo4di71799otd+3aNQwYMACPPPIIxo0bhzp16sBisWDIkCHYsWMHJk6ciLvvvht///03PvroI5w+fRo///yz9P7x48dj5cqVePTRR9G5c2ds3br1pr8g69evjy5duuC7777DgAEDAAB//PEHsrOz8cgjj+CTTz6xW14URQwZMgTx8fF48sknERMTg/Xr1+PVV1/FpUuX8NFHH0nLPvXUU1ixYgXGjBmDrl27YvPmzR7xa1Yuhw8fRv/+/REWFoYZM2bAbDZj5syZCA4Otltu4cKFaN68OYYMGQKVSoXffvsNzz33HCwWC2JjY6u83enTp2P27Nl46qmn0LFjR+Tk5ODAgQM4dOiQVNs3fPhwHDt2DC+88ALq16+PtLQ0xMXF4cKFC6hfv365683JycEXX3yB0aNH4+mnn0Zubi6+/PJL9OvXr9xLk99++y1yc3MxadIkCIKA//73vxg2bBjOnz9/yxqmc+fOAQBq1aollZV3LBYWFuLee+/F2bNn8fzzz6NBgwZYtWoVxo8fj6ysLLz44ovS+5988kksW7YMAwYMwFNPPQWTyYTt27djz549aN++PQDg3XffxVtvvYVRo0bhqaeewtWrV/Hpp5+iR48eOHz4MAICAlBcXIx+/frBYDDghRdeQGhoKC5duoS1a9ciKysL/v7+OHbsGB544AG0atUKM2fOhFarxdmzZ7Fz585y93f06NFYsWIF/vOf/0AQBKSnp2PDhg34+uuv8eeff5b7Gc+YMQP33Xcfnn32WZw6dQoLFy7E/v37sXPnTunv++WXX2LSpEno2rUrpkyZgvPnz2PIkCEICgpCRETETT8DqrqRI0eicePGeO+99yCKIuLi4nD+/HlMmDABoaGhOHbsGJYsWYJjx45hz5490g/bv//+G3379kVwcDCmT58Ok8mEadOmoU6dOrfc5vnz5/Hzzz9j5MiRaNCgAa5cuYLFixejZ8+eOH78OMLDw2+5joyMDADWH32XLl3CO++8A51Oh1GjRknLVPb4j4uLw+jRo9GnTx+8//77AIATJ05g586ddsdjSZU5pkoaM2YM+vbti3PnzqFRo0YArOebESNGlHtu2bhxIwYMGICGDRti+vTpKCwsxKeffopu3brh0KFD0jnvTj4HZ2JCWwmDP92Bq7mGWy/oBMF+Wvz2QvdbL3ibioqKcOTIEemSamBgIF588UX8888/aNGihbRcamoqFi1ahEmTJkllK1aswMaNG7F161a7tq4tWrTAM888g127dqFr1644dOgQVq5ciSlTpkiJ5XPPPYcJEybc9NfzmDFjMHXqVBQWFsLLywvffPMNevbsWe6J6ddff8XmzZsxa9YsvPHGGwCA2NhYjBw5EvPmzcPzzz+PRo0a4a+//sKKFSvw3HPPYf78+dJyY8eOxdGjR+/gL+kAi3sCeWlyR2HlGwJM2npbb502bRqUSiV27twpfXajRo3C3Xffbbfc1q1bpXHAAeD5559H//798eGHH95WQvv7779j4MCBWLJkSbnzs7KysGvXLsyZMwevvPKKVD516tSbrjcwMBCJiYl2zRCefvppNGvWDJ9++im+/PJLu+UvXLiAM2fOIDAwEADQtGlTPPjgg1i/fn2ZGxttX6i2NrQLFixAnTp1cM8990jLlHcszps3DydOnMCKFSswduxYAMAzzzyDnj174s0338QTTzwBPz8/xMfHY9myZZg8ebJdTdHLL78sXclISkrCtGnTMGvWLLua1GHDhqFNmzZYsGAB/v3vf+P48eNISEjAqlWrMGLECGm5t99+W5qOi4tDcXEx/vjjD9SuXfumf1fAesy/99572LlzJ7p3746VK1dCp9NhyJAhZRLaq1evYvbs2ejbty/++OMP6bJts2bN8Pzzz2PFihWYMGECjEYj/v3vfyMmJgbx8fHS5xYdHY2JEyfWmIT24bUPI70wXe4wJLW9auOHB3649YLlaN26tV3NYWFhIV5++WW7ZTp37ozRo0djx44d0r/vt99+G6IoYvv27ahXrx4A64/Oli1b3nKbLVu2xOnTp+0u3z/66KNo1qwZvvzyS7z11lu3XEfTpk3tXgcEBODnn39G8+bNpbLKHv+///479Ho91q9fD6VSecttA6jUMVVS7969ERoaKrU9P3HiBI4cOYJ58+bh/PnzZZZ/9dVXERQUhN27d0tXPIYOHYo2bdpg2rRp0hWdO/kcnIlNDirhaq4BqTlFNeLh6MR6woQJdgem7cRS+mDQarWYMGGCXdmqVatw9913o1mzZkhPT5cetsuktkswti+i5557zu79L7zwwk1jGzVqFAoLC7F27Vrk5uZi7dq1FTY3WLduHZRK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x+KVK1fECRMmiLVr1xY1Go3YsmVLu+PYxmQyiXPmzBGbNWsmajQaMTg4WBwwYIB48OBBu+V+/PFHsXv37qKPj4/o4+MjNmvWTIyNjRVPnToliqIonj9/XnziiSfERo0aiTqdTgwKChJ79eolbty4UVrHpk2bxAcffFAMDw8XNRqNGB4eLo4ePVo8ffp0pf5OJT3++OOij49PmfLPPvtMbNasmahWq8U6deqIzz77rJiZmVlmuQULFogNGjQQtVqt2L59e3Hbtm1lPlu6MxX9O7548aL40EMPiQEBAaK/v784cuRI8fLly+Wec7du3Sq2a9dO1Gg0YsOGDcVFixZJ6y2p9PFeVFQkvvzyy2JYWJjo5eUlduvWTdy9e3eZz7i87zjb+ks+fHx8xC5dupQ5H1T2+F+9erXYt29fMSQkRNRoNGK9evXESZMmiSkpKdIytu/h+Ph4URQrd0zZ9r30919pFX2Xbty4UezWrZvo5eUl6vV6cfDgweLx48fLvL+yn0N5nJVfCaJYzp0IHqioqAgJCQlo0KABxwiXyZEjR9CmTRu7vjPJcwwdOvSm3WoREZHrcVZ+xTa0JIvCwsIyZR9//DEUCgV69OghQ0TkTKU//zNnzmDdunV2Q8oSERFVFtvQkiz++9//4uDBg+jVqxdUKpXUjUlNGqmHHKdhw4bSWO5JSUlYuHAhNBoNXnvtNblDIyIiF8SElmTRtWtXxMXF4Z133kFeXh7q1auH6dOnS8PUknvr378/vvvuO6SmpkKr1aJLly547733Kuy8n4iI6GbYhvY6tqElIiIiql5sQ0tEREREVAlMaEthhTURERFR9XBWXsWE9jq1Wg1BEKTRrIiIiIjozhQUFACw5lmOxJvCrlMqlfD398fVq1dhMBig1+uhUqluOWoVEREREdkTRREFBQVIS0tDQECANEywo/CmsBJEUUR2djbS0tLKjANPRERERFUTEBCA0NBQh1cQMqEthyiKMJvNMJlMcodCRERE5JLUarXDa2ZtmNASERERkUvjTWFERERE5NKY0BIRERGRS2NCS0REREQujQktEREREbk0JrRERERE5NKY0BIRERGRS2NCS0REREQujQktEREREbk0JrRERERE5NKY0JJH2LJlCwRBwPTp08udX79+fdSvX9+pMREREZCYmAhBEDB+/HicPHkSQ4cORVBQEHx8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yMjIkDuUKsnOzsaAAQOQlZWFP//80+745GfrXnhutvKUczPAYxhw3XMz4BrnZ7dOaGNiYnD69Okydxju3btXmu8Jzp8/D51OB19fX7lDcai77roLwcHB5d5osW/fPo/5vHNzc5Geno7g4GC5Q6m0oqIiDB48GKdPn8batWsRHR1tN5+frXvhudnKU87NAI9hwDXPzYDrnJ/dOqEdMWIEzGYzlixZIpUZDAYsXboUnTp1QkREhIzRVb/yRuT466+/8Ouvv6Jv375QKNz64wYADB8+HGvXrrXr9mfTpk04ffo0Ro4cKWNk1a+oqAi5ubllyt955x2Iooj+/fvLEFXVmc1mPPzww9i9ezdWrVqFLl26lLucJ3227o7nZs87NwOecwy7y7kZcK3zsyCKouiULclk1KhR+Omnn/DSSy8hKioKy5cvx759+7Bp0yb06NFD7vCqVe/eveHl5YWuXbsiJCQEx48fx5IlS6BWq7F7927cfffdcod4Rz777DNkZWXh8uXLWLhwIYYNGybdHfzCCy/A398fycnJaNOmDQICAvDiiy8iLy8Pc+bMQd26dbF//36XuqR1q/3NzMxEmzZtMHr0aGk4xfXr12PdunXo378/fv/9d5f4opwyZQrmzZuHwYMHY9SoUWXmjxs3DgDc6rMlnpvd6dwMeNb52VPOzYCLnZ+dMnyDjAoLC8VXXnlFDA0NFbVardihQwfxzz//lDssh5g3b57YsWNHMSgoSFSpVGJYWJg4btw48cyZM3KHVi0iIyNFAOU+EhISpOX++ecfsW/fvqK3t7cYEBAgjh07VkxNTZUv8Nt0q/3NzMwUx40bJ0ZFRYne3t6iVqsVmzdvLr733nticXGx3OFXWs+ePSvcz9KnKHf5bInnZnc6N4uiZ52fPeXcLIqudX52+xpaIiIiInJvrlHnTURERERUASa0REREROTSmNASERERkUtjQktERERELo0JLRERERG5NCa0REREROTSmNASERERkUtjQktERERELo0JLRERERG5NCa0REREROTSmNCSx1i2bBkEQZAeKpUKd911F8aPH49Lly7JHR4RkUfiuZmqg0ruAIicbebMmWjQoAGKioqwZ88eLFu2DDt27MA///wDnU4nd3hERB6J52a6E0xoyeMMGDAA7du3BwA89dRTqF27Nt5//338+uuvGDVqlMzRERF5Jp6b6U6wyQF5vHvuuQcAcO7cOZkjISIiG56bqSqY0JLHS0xMBAAEBgbKGwgREUl4bqaqYJMD8jjZ2dlIT09HUVER9u7dixkzZkCr1eKBBx6QOzQiIo/FczPdCSa05HHuu+8+u9f169fHihUrULduXZkiIiIinpvpTjChJY8zf/58NGnSBNnZ2fjqq6+wbds2aLVaucMiIvJoPDfTnWBCSx6nY8eO0p20Q4cORffu3TFmzBicOnUKvr6+MkdHROSZeG6mO8GbwsijKZVKzJ49G5cvX8Znn30mdzhERASem6nqmNCSx7v33nvRsWNHfPzxxygqKpI7HCIiAs/NVDVMaIkAvPrqq7hy5QqWLVsmdyhERHQdz81UWUxoiQAMGzYMjRo1wty5c2E2m+UOh4iIwHMzVZ4giqIodxBERERERLeLNbRERERE5NKY0BIRERGRS2NCS0REREQujQktEREREbk0JrRERERE5NKY0BIRERGRS2NCS0REREQujQktEREREbk0JrRERERE5NKY0BIRERGRS2NCS0REREQujQktEREREbm0/weRvVWafIwXxgAAAABJRU5ErkJggg==", + "text/plain": [ + "<Figure size 708x354 with 2 Axes>" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(3.54*2, 3.54))\n", + "for i, model in enumerate(models):\n", + " axs[0].plot(R, L2_velocity_vec[:, i], label=model)\n", + " axs[1].plot(R, L2_pressure_vec[:, i])\n", + "axs[0].set_title('u')\n", + "axs[0].set_xlabel('R')\n", + "axs[1].set_title('p')\n", + "axs[1].set_xlabel('R')\n", + "fig.legend(loc='upper center', ncol=3, bbox_to_anchor=(0.53, 1.08))\n", + "fig.tight_layout()\n", + "fig.savefig(f'Results/Error_over_POD/AllModels_linear_scaling.jpg')\n", + "\n", + "fig, axs = plt.subplots(nrows=1, ncols=2, figsize=(3.54*2, 3.54))\n", + "for i, model in enumerate(models):\n", + " axs[0].semilogy(R, L2_velocity_vec[:, i], label=model)\n", + " axs[1].semilogy(R, L2_pressure_vec[:, i])\n", + "axs[0].set_title('u')\n", + "axs[0].set_xlabel('R')\n", + "axs[1].set_title('p')\n", + "axs[1].set_xlabel('R')\n", + "fig.legend(loc='upper center', ncol=3, bbox_to_anchor=(0.53, 1.08))\n", + "fig.tight_layout()\n", + "fig.savefig(f'Results/Error_over_POD/AllModels_semilogy_scaling.jpg')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "POD", + "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.11.10" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/Results/Error_over_POD/AllModels_linear_scaling.jpg b/Results/Error_over_POD/AllModels_linear_scaling.jpg new file mode 100644 index 0000000000000000000000000000000000000000..81332fa7c6c28b4e526f10d58e21f579f79b3da9 Binary files /dev/null and b/Results/Error_over_POD/AllModels_linear_scaling.jpg differ diff --git a/Results/Error_over_POD/AllModels_semilogy_scaling.jpg b/Results/Error_over_POD/AllModels_semilogy_scaling.jpg new file mode 100644 index 0000000000000000000000000000000000000000..19b42d51edfcfba2a8155d65aef114faab5d7361 Binary files /dev/null and b/Results/Error_over_POD/AllModels_semilogy_scaling.jpg differ diff --git a/Results/gaussianProcessMod/Error_POD_Nodes.jpg b/Results/gaussianProcessMod/Error_POD_Nodes.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bb28ccdf47c731427aa3ea418bee3fb199649476 Binary files /dev/null and b/Results/gaussianProcessMod/Error_POD_Nodes.jpg differ diff --git a/Results/gaussianProcessMod/Error_POD_Nodes_semilogy.jpg b/Results/gaussianProcessMod/Error_POD_Nodes_semilogy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ca07cdeca78e0249b49538c53f40a4c9aeb6ae3a Binary files /dev/null and b/Results/gaussianProcessMod/Error_POD_Nodes_semilogy.jpg differ diff --git a/Results/gaussianProcessMod/OptimalSetup.npz b/Results/gaussianProcessMod/OptimalSetup.npz index 6f7c7182a62004c5a70949d0d2536802c892fa2b..34583b503f5658bcfb66eba200c1eb853998976b 100644 Binary files a/Results/gaussianProcessMod/OptimalSetup.npz and b/Results/gaussianProcessMod/OptimalSetup.npz differ diff --git a/Results/linregMod/Error_POD_Nodes.jpg b/Results/linregMod/Error_POD_Nodes.jpg new file mode 100644 index 0000000000000000000000000000000000000000..84c2d9b82c2d35e8468901714075cf2eeac58a51 Binary files /dev/null and b/Results/linregMod/Error_POD_Nodes.jpg differ diff --git a/Results/linregMod/Error_POD_Nodes_semilogy.jpg b/Results/linregMod/Error_POD_Nodes_semilogy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..f8b3c4ad32e72cd6d6a631adceabc0e113aebcb5 Binary files /dev/null and b/Results/linregMod/Error_POD_Nodes_semilogy.jpg differ diff --git a/Results/linregMod/OptimalSetup.npz b/Results/linregMod/OptimalSetup.npz index f43f445078fd09e3c09d896dc97457171c05e0cd..9324ff86cab5a411365c2e30e13db5f80f79812c 100644 Binary files a/Results/linregMod/OptimalSetup.npz and b/Results/linregMod/OptimalSetup.npz differ diff --git a/Results/radialBasisMod/Error_POD_Nodes.jpg b/Results/radialBasisMod/Error_POD_Nodes.jpg new file mode 100644 index 0000000000000000000000000000000000000000..9673bcd36f29e8767ef2da68c7a964bf3c947a53 Binary files /dev/null and b/Results/radialBasisMod/Error_POD_Nodes.jpg differ diff --git a/Results/radialBasisMod/Error_POD_Nodes_semilogy.jpg b/Results/radialBasisMod/Error_POD_Nodes_semilogy.jpg new file mode 100644 index 0000000000000000000000000000000000000000..0d4437f561da1329155f3b156297a88401ba0057 Binary files /dev/null and b/Results/radialBasisMod/Error_POD_Nodes_semilogy.jpg differ diff --git a/Results/radialBasisMod/OptimalSetup.npz b/Results/radialBasisMod/OptimalSetup.npz index 9f90599b8173c736ee1c5a74d1ca7625c3cc0b23..0609f30ddb643e732bbf8e3130c8fdc32e0fcb95 100644 Binary files a/Results/radialBasisMod/OptimalSetup.npz and b/Results/radialBasisMod/OptimalSetup.npz differ diff --git a/models/RegressionModels.py b/models/RegressionModels.py index e12ef4131cc8af7555c03ce295660032ce8b900b..9189afebfb20f54692418734b3fa6d9911817043 100644 --- a/models/RegressionModels.py +++ b/models/RegressionModels.py @@ -148,4 +148,20 @@ class RegressionModels: return self.calculate_error_samples(max_error, predict_velocity, predict_pressure) # def max_percentage_error_test(self, model_velocity, model_pressure, axis='full'): - # return \ No newline at end of file + # return + + def relative_L2(self, model_velocity, model_pressure): + predict_velocity, predict_pressure = self.predict_test(model_velocity, model_pressure, rescale=True) + # ord = None -> 2-norm (default) + n_samples = predict_velocity.shape[1] + L2_velocity, L2_pressure = 0, 0 + for i in range(n_samples): + # Add relative error per sample + L2_velocity += np.linalg.norm(self.velocity_matrix_test[:,i] - predict_velocity[:,i]) / np.linalg.norm(self.velocity_matrix_test[:,i]) + L2_pressure += np.linalg.norm(self.pressure_matrix_test[:,i] - predict_pressure[:,i]) / np.linalg.norm(self.pressure_matrix_test[:,i]) + # Take the mean of the errors + L2_velocity /= n_samples + L2_pressure /= n_samples + return L2_velocity, L2_pressure + + # return np.linalg.norm(self.velocity_matrix_test - predict_velocity) / np.linalg.norm(self.velocity_matrix_test), np.linalg.norm(self.pressure_matrix_test - predict_pressure) / np.linalg.norm(self.pressure_matrix_test) \ No newline at end of file diff --git a/models/__pycache__/GaussianProcessRegressor.cpython-311.pyc b/models/__pycache__/GaussianProcessRegressor.cpython-311.pyc index 213b4b3fe0fe57417a27b9fbecfe25890a4e5b3d..1916f8a8b912752b2dbb511d20509a650ddfe8a3 100644 Binary files a/models/__pycache__/GaussianProcessRegressor.cpython-311.pyc and b/models/__pycache__/GaussianProcessRegressor.cpython-311.pyc differ diff --git a/models/__pycache__/LinearRegression.cpython-311.pyc b/models/__pycache__/LinearRegression.cpython-311.pyc index 7c2dcaa5c1e6b8bc6c900143346e167f337d1e93..e1717eed841d6e81d404f0583c8eb9e70b360351 100644 Binary files a/models/__pycache__/LinearRegression.cpython-311.pyc and b/models/__pycache__/LinearRegression.cpython-311.pyc differ diff --git a/models/__pycache__/LinearRegression.cpython-312.pyc b/models/__pycache__/LinearRegression.cpython-312.pyc index 8b29e331387085f6c5e92bec25131959eeff5fa3..3bc2e5924370421090df12384458972e16c69781 100644 Binary files a/models/__pycache__/LinearRegression.cpython-312.pyc and b/models/__pycache__/LinearRegression.cpython-312.pyc differ diff --git a/models/__pycache__/LinearRegression.cpython-38.pyc b/models/__pycache__/LinearRegression.cpython-38.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ab9cbb96a6dd8876f612a274c1987955bc8048b9 Binary files /dev/null and b/models/__pycache__/LinearRegression.cpython-38.pyc differ diff --git a/models/__pycache__/RBFInterpolator.cpython-311.pyc b/models/__pycache__/RBFInterpolator.cpython-311.pyc index d0c5afba49d54316aedbda7854184d71f4f8b90c..7f8e4b129651671b7dff8d7ee73f243c0c2b1b86 100644 Binary files a/models/__pycache__/RBFInterpolator.cpython-311.pyc and b/models/__pycache__/RBFInterpolator.cpython-311.pyc differ diff --git a/models/__pycache__/RegressionModels.cpython-311.pyc b/models/__pycache__/RegressionModels.cpython-311.pyc index 015e7fc6654ec1107b57932ef44670dd2392a7df..81fd7815dced724dd33b33f53c29c466cc5cd80e 100644 Binary files a/models/__pycache__/RegressionModels.cpython-311.pyc and b/models/__pycache__/RegressionModels.cpython-311.pyc differ diff --git a/models/trained_models/gaussianProcessMod/pressure.pkl b/models/trained_models/gaussianProcessMod/pressure.pkl index 09d2473146b41f38849b556f734c9ef768278d4b..ad80fb679f2f013778b8a6fbe207ce54d72a8fb2 100644 Binary files a/models/trained_models/gaussianProcessMod/pressure.pkl and b/models/trained_models/gaussianProcessMod/pressure.pkl differ diff --git a/models/trained_models/gaussianProcessMod/pressure_5.pkl b/models/trained_models/gaussianProcessMod/pressure_5.pkl new file mode 100644 index 0000000000000000000000000000000000000000..ad80fb679f2f013778b8a6fbe207ce54d72a8fb2 Binary files /dev/null and b/models/trained_models/gaussianProcessMod/pressure_5.pkl differ diff --git a/models/trained_models/gaussianProcessMod/velocity.pkl b/models/trained_models/gaussianProcessMod/velocity.pkl index ec90580fd8d54985104b4b7d7461433932faac80..7793a6ac2a3d20fba63233dd670fd762b15af0bd 100644 Binary files a/models/trained_models/gaussianProcessMod/velocity.pkl and b/models/trained_models/gaussianProcessMod/velocity.pkl differ diff --git a/models/trained_models/gaussianProcessMod/velocity_8.pkl b/models/trained_models/gaussianProcessMod/velocity_8.pkl new file mode 100644 index 0000000000000000000000000000000000000000..7793a6ac2a3d20fba63233dd670fd762b15af0bd Binary files /dev/null and b/models/trained_models/gaussianProcessMod/velocity_8.pkl differ diff --git a/models/trained_models/linregMod/pressure_4.pkl b/models/trained_models/linregMod/pressure_4.pkl new file mode 100644 index 0000000000000000000000000000000000000000..a09005c4123a47ef2c6716ba919efd6f7198f152 Binary files /dev/null and b/models/trained_models/linregMod/pressure_4.pkl differ diff --git a/models/trained_models/linregMod/pressure_5.pkl b/models/trained_models/linregMod/pressure_5.pkl new file mode 100644 index 0000000000000000000000000000000000000000..f8137f3038a37fbfa7a365d8f73c02274bd73e45 Binary files /dev/null and b/models/trained_models/linregMod/pressure_5.pkl differ diff --git a/models/trained_models/linregMod/velocity.pkl b/models/trained_models/linregMod/velocity.pkl index 5d4a0a98a946bbc5e7f01512f4173fe7a04621e0..344bd6e054ac8ee3af656333cde30d682136a2de 100644 Binary files a/models/trained_models/linregMod/velocity.pkl and b/models/trained_models/linregMod/velocity.pkl differ diff --git a/models/trained_models/linregMod/velocity_20.pkl b/models/trained_models/linregMod/velocity_20.pkl new file mode 100644 index 0000000000000000000000000000000000000000..344bd6e054ac8ee3af656333cde30d682136a2de Binary files /dev/null and b/models/trained_models/linregMod/velocity_20.pkl differ diff --git a/models/trained_models/linregMod/velocity_7.pkl b/models/trained_models/linregMod/velocity_7.pkl new file mode 100644 index 0000000000000000000000000000000000000000..8781e04795b263614db758d4bb98f37144e7e9c4 Binary files /dev/null and b/models/trained_models/linregMod/velocity_7.pkl differ diff --git a/models/trained_models/radialBasisMod/pressure.pkl b/models/trained_models/radialBasisMod/pressure.pkl index cd05971969aabd97b77097c80acecd0406cf9f9c..adc409e138db1d74942a2bc3448f4ff8ce556497 100644 Binary files a/models/trained_models/radialBasisMod/pressure.pkl and b/models/trained_models/radialBasisMod/pressure.pkl differ diff --git a/models/trained_models/radialBasisMod/pressure_17.pkl b/models/trained_models/radialBasisMod/pressure_17.pkl new file mode 100644 index 0000000000000000000000000000000000000000..adc409e138db1d74942a2bc3448f4ff8ce556497 Binary files /dev/null and b/models/trained_models/radialBasisMod/pressure_17.pkl differ diff --git a/models/trained_models/radialBasisMod/velocity.pkl b/models/trained_models/radialBasisMod/velocity.pkl index 15ce4e695f34c79a4c65b0f97dc5242b86c70c0e..33262a4a83d5e8a7130d778e87c60a4bd24f7fb7 100644 Binary files a/models/trained_models/radialBasisMod/velocity.pkl and b/models/trained_models/radialBasisMod/velocity.pkl differ diff --git a/models/trained_models/radialBasisMod/velocity_21.pkl b/models/trained_models/radialBasisMod/velocity_21.pkl new file mode 100644 index 0000000000000000000000000000000000000000..33262a4a83d5e8a7130d778e87c60a4bd24f7fb7 Binary files /dev/null and b/models/trained_models/radialBasisMod/velocity_21.pkl differ