From 1ddf771eb2a7613108e1b733e2ecdc78efa9906e Mon Sep 17 00:00:00 2001 From: matthewgillett Date: Wed, 29 Nov 2023 11:50:31 -0500 Subject: [PATCH 01/14] Added bias-variance submodule. --- docs/bias_variance.bias_variance.rst | 8 + docs/bias_variance.bias_variance_parallel.rst | 8 + docs/bias_variance.estimators.rst | 8 + docs/bias_variance.rst | 11 + docs/bias_variance_user_guide.rst | 235 ++++++++ .../bias_variance_label_distribution.png | Bin 0 -> 10919 bytes docs/images/high_bias_high_variance.png | Bin 0 -> 16895 bytes docs/images/high_bias_low_variance.png | Bin 0 -> 15553 bytes docs/images/low_bias_high_variance.png | Bin 0 -> 15052 bytes docs/images/low_bias_low_variance.png | Bin 0 -> 15220 bytes .../BiasVarianceClassification.ipynb | 380 +++++++++++++ .../BiasVarianceRegression.ipynb | 376 +++++++++++++ .../BiasVarianceVisualization.ipynb | 515 ++++++++++++++++++ docs/refs.bib | 13 + mvtk/bias_variance/__init__.py | 2 + mvtk/bias_variance/bias_variance.py | 198 +++++++ mvtk/bias_variance/bias_variance_parallel.py | 118 ++++ mvtk/bias_variance/estimators/__init__.py | 4 + .../estimators/estimator_wrapper.py | 21 + .../estimators/pytorch_estimator_wrapper.py | 97 ++++ .../estimators/sklearn_estimator_wrapper.py | 40 ++ .../tensorflow_estimator_wrapper.py | 60 ++ mvtk/version.py | 2 +- setup.py | 11 +- .../test_pytorch_estimator_wrapper.py | 200 +++++++ .../test_sklearn_estimator_wrapper.py | 73 +++ .../test_tensorflow_estimator_wrapper.py | 95 ++++ tests/bias_variance/test_bias_variance.py | 264 +++++++++ .../test_bias_variance_parallel.py | 76 +++ 29 files changed, 2812 insertions(+), 3 deletions(-) create mode 100644 docs/bias_variance.bias_variance.rst create mode 100644 docs/bias_variance.bias_variance_parallel.rst create mode 100644 docs/bias_variance.estimators.rst create mode 100644 docs/bias_variance.rst create mode 100644 docs/bias_variance_user_guide.rst create mode 100644 docs/images/bias_variance_label_distribution.png create mode 100644 docs/images/high_bias_high_variance.png create mode 100644 docs/images/high_bias_low_variance.png create mode 100644 docs/images/low_bias_high_variance.png create mode 100644 docs/images/low_bias_low_variance.png create mode 100644 docs/notebooks/bias_variance/BiasVarianceClassification.ipynb create mode 100644 docs/notebooks/bias_variance/BiasVarianceRegression.ipynb create mode 100644 docs/notebooks/bias_variance/BiasVarianceVisualization.ipynb create mode 100644 mvtk/bias_variance/__init__.py create mode 100644 mvtk/bias_variance/bias_variance.py create mode 100644 mvtk/bias_variance/bias_variance_parallel.py create mode 100644 mvtk/bias_variance/estimators/__init__.py create mode 100644 mvtk/bias_variance/estimators/estimator_wrapper.py create mode 100644 mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py create mode 100644 mvtk/bias_variance/estimators/sklearn_estimator_wrapper.py create mode 100644 mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py create mode 100644 tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py create mode 100644 tests/bias_variance/estimators/test_sklearn_estimator_wrapper.py create mode 100644 tests/bias_variance/estimators/test_tensorflow_estimator_wrapper.py create mode 100644 tests/bias_variance/test_bias_variance.py create mode 100644 tests/bias_variance/test_bias_variance_parallel.py diff --git a/docs/bias_variance.bias_variance.rst b/docs/bias_variance.bias_variance.rst new file mode 100644 index 0000000..8688e34 --- /dev/null +++ b/docs/bias_variance.bias_variance.rst @@ -0,0 +1,8 @@ +bias_variance +============= + +.. automodule:: mvtk.bias_variance.bias_variance + :members: + :imported-members: + :undoc-members: + :show-inheritance: diff --git a/docs/bias_variance.bias_variance_parallel.rst b/docs/bias_variance.bias_variance_parallel.rst new file mode 100644 index 0000000..844fc84 --- /dev/null +++ b/docs/bias_variance.bias_variance_parallel.rst @@ -0,0 +1,8 @@ +bias_variance_parallel +====================== + +.. automodule:: mvtk.bias_variance.bias_variance_parallel + :members: + :imported-members: + :undoc-members: + :show-inheritance: diff --git a/docs/bias_variance.estimators.rst b/docs/bias_variance.estimators.rst new file mode 100644 index 0000000..cc18c6f --- /dev/null +++ b/docs/bias_variance.estimators.rst @@ -0,0 +1,8 @@ +estimators +========== + +.. automodule:: mvtk.bias_variance.estimators + :members: + :imported-members: + :undoc-members: + :special-members: __init__, __call__ diff --git a/docs/bias_variance.rst b/docs/bias_variance.rst new file mode 100644 index 0000000..3cd9e35 --- /dev/null +++ b/docs/bias_variance.rst @@ -0,0 +1,11 @@ +bias_variance +============= + +Subpackages +----------- + +.. toctree:: + + bias_variance.estimators + bias_variance.bias_variance + bias_variance.bias_variance_parallel diff --git a/docs/bias_variance_user_guide.rst b/docs/bias_variance_user_guide.rst new file mode 100644 index 0000000..e39adcb --- /dev/null +++ b/docs/bias_variance_user_guide.rst @@ -0,0 +1,235 @@ +######################## +Bias-Variance User Guide +######################## + +********** +Motivation +********** + +Statistical Bias vs. "Fairness" +=============================== + +For this user guide and associated submodule, we are referring to +`statistical bias `_ rather +than the "fairness" type of bias. + +Why should we care about bias and variance? +=========================================== + +Bias and variance are two indicators of model performance and together represent +two-thirds of model error (the remaining one-third is irreducible "noise" error that +comes from the data set itself). We can define bias and variance as follows +by training a model with multiple `bootstrap sampled +`_ training sets, resulting in +multiple instances of the model. + +.. topic:: Bias and variance defined over multiple training sets: + + * Bias represents the average difference between the prediction a model makes and the correct prediction. + * Variance represents the average variability of the prediction a model makes. + +Typically, a model with high bias is "underfit" and a model with high variance is +"overfit," but keep in mind this is not always the case and there can be many reasons +why a model has high bias or high variance. An "underfit" model is oversimplified and +performs poorly on the training data, whereas an "overfit" model sticks too closely to +the training data and performs poorly on unseen examples. See Scikit-Learn's +`Underfitting vs. Overfitting +`_ +for a clear example of an "underfit" model vs. an "overfit" model. + +There is a concept +known as the `"bias-variance tradeoff" +`_ that describes +the relationship between high bias and high variance in a model. Our ultimate goal +here is to find the ideal balance where both bias and variance is at a minimum. +It is also important from a business problem standpoint on whether the model +error that we are unable to reduce should favor bias or variance. + +***************************************** +Visualize Bias and Variance With Examples +***************************************** + +In order to easily understand the concepts of bias and variance, we will show +four different examples of models for each of the high and low bias and variance +combinations. These are extreme and engineered cases for the purpose of clearly +seeing the bias/variance. + +Before we begin, let's take a look at the distribution of the labels. Notice +that the majority of label values are around 1 and 2, and much less around 5. + +.. figure:: images/bias_variance_label_distribution.png + :width: 800px + :align: center + :height: 400px + :alt: alternate text + :figclass: align-center + +First we have a model with high bias and low variance. We artificially +introduce bias to the model by adding 10 to every training label, but leaving +the test labels as is. Given that values of greater than 5 in the entire label +set are considered outliers, we are fitting the model against outliers. + +.. figure:: images/high_bias_low_variance.png + :width: 800px + :align: center + :height: 400px + :alt: alternate text + :figclass: align-center + + Five sets of mean squared error results from the test set from the five + bootstrap sample trainings of the model. Notice the model error is very + consistent among the trials and is not centered around 0. + +Next we have a model with low bias and high variance. We simulate this by +introducing 8 random "noise" features to the data set. We also reduce the size +of the training set and train a neural network over a low number of epochs. + +.. figure:: images/low_bias_high_variance.png + :width: 800px + :align: center + :height: 400px + :alt: alternate text + :figclass: align-center + + Five sets of mean squared error results from the test set from the five + bootstrap sample trainings of the model. Notice the model error has + different distributions among the trials and centers mainly around 0. + +Next we have a model with high bias and high variance. We simulate through +a combination of the techniques from the high bias low variance example and +the low bias high variance example and train another neural network. + +.. figure:: images/high_bias_high_variance.png + :width: 800px + :align: center + :height: 400px + :alt: alternate text + :figclass: align-center + + Five sets of mean squared error results from the test set from the five + bootstrap sample trainings of the model. Notice the model error has + different distributions among the trials and is not centered around 0. + +Finally we have a model with low bias and low variance. This is a simple +linear regression model with no modifications to the training or test labels. + +.. figure:: images/low_bias_low_variance.png + :width: 800px + :align: center + :height: 400px + :alt: alternate text + :figclass: align-center + + Five sets of mean squared error results from the test set from the five + bootstrap sample trainings of the model. Notice the model error is very + consistent among the trials and centers mainly around 0. + +*************************** +Bias-Variance Decomposition +*************************** + +.. currentmodule:: mvtk.bias_variance + +There are formulas for breaking down total model error into three parts: bias, +variance, and noise. This can be applied to both regression problem loss +functions (mean squared error) and classification problem loss functions +(0-1 loss). In a paper by Pedro Domingos, a method of unified +decomposition was proposed for both types of problems:cite:`domingos2000decomp`. + +First lets define :math:`y` as a single prediction, :math:`D` as the set of +training sets used to train the models, :math:`Y` as the set of predictions +from the models trained on :math:`D`, and a loss function :math:`L` that +calculates the error between our prediction :math:`y` and the correct +prediction. +The main prediction :math:`y_m` is the smallest average loss for a prediction +when compared to the set of predictions :math:`Y`. The main prediction is +the mean of :math:`Y` for mean squared error and the mode of :math:`Y` for +0-1 loss:cite:`domingos2000decomp`. + +Bias can now be defined for a single example :math:`x` over the set of models +trained on :math:`D` as the loss calculated between the main prediction +:math:`y_m` and the correct prediction :math:`y_*`:cite:`domingos2000decomp`. + +.. math:: + B(x) = L(y_*,y_m) + +Variance can now be defined for a single example :math:`x` over the set of +models trained on :math:`D` as the average loss calculated between all predictions +and the main prediction :math:`y_m`:cite:`domingos2000decomp`. + +.. math:: + V(x) = E_D[L(y_m, y)] + +We will need to take the average of the bias over all examples as +:math:`E_x[B(x)]` and the average of the variance over all examples as +:math:`E_x[V(x)]`:cite:`domingos2000decomp`. + +With :math:`N(x)` representing the irreducible error from observation noise, we +can decompose the average expected loss as:cite:`domingos2000decomp` + +.. math:: + E_x[N(x)] + E_x[B(x)] + E_x[cV(x)] + +In other words, the average loss over all examples is equal to the noise plus the +average bias plus the net variance (the :math:`c` factor included with the variance +when calculating average variance gives us the net variance). + +.. note:: + We are generalizing the actual value of :math:`N(x)`, as the Model Validation + Toolkit's implementation of bias-variance decomposition does not include noise + in the average expected loss. This noise represents error in the actual data + and not error related to the model itself. If you would like to dive deeper + into the noise representation, please consult the `Pedro Domingos paper + `_. + +For mean squared loss functions, :math:`c = 1`, meaning that average variance +is equal to net variance. + +For zero-one loss functions, :math:`c = 1` when :math:`y_m = y_*` otherwise +:math:`c = -P_D(y = y_* | y != y_m)`.:cite:`domingos2000decomp` In other words, +:math:`c` is 1 when the main prediction is the correct prediction. If the main +prediction is not the correct prediction, then :math:`c` is equal to the +probability of a single prediction being the correct prediction given that the +single prediction is not the main prediction. + +Usage +===== + +:meth:`bias_variance_compute` will return the average loss, average bias, average +variance, and net variance for an estimator trained and tested over a specified number +of training sets. This was inspired and modeled after Sebastian Raschka's +`bias_variance_decomp +`_ +function:cite:`mlxtenddecomp`. +We use the `bootstrapping `_ +method to produce our sets of training data from the original training set. By default +it will use mean squared error as the loss function, but it will accept the following +functions for calculating loss. + +* :meth:`bias_variance_mse` for mean squared error +* :meth:`bias_variance_0_1_loss` for 0-1 loss + +Since :meth:`bias_variance_compute` trains an estimator over multiple iterations, it also +expects the estimator to be wrapped in a class that extends the +:class:`estimators.EstimatorWrapper` class, which provides fit and predict methods +that not all estimator implementations conform to. The following estimator wrappers are +provided. + +* :class:`estimators.PyTorchEstimatorWrapper` for `PyTorch `_ +* :class:`estimators.SciKitLearnEstimatorWrapper` for `Scikit-Learn `_ +* :class:`estimators.TensorFlowEstimatorWrapper` for `TensorFlow `_ + +:meth:`bias_variance_compute` works well for smaller data sets and less complex models, but what +happens when you have a very large set of data, a very complex model, or both? +:meth:`bias_variance_compute_parallel` does the same calculation, but leverages `Ray +`_ for parallelization of bootstrapping, training, and predicting. +This allows for faster calculations using computations over a distributed architecture. + +.. topic:: Tutorials: + + * :doc:`Bias-Variance Visualization ` + * :doc:`Bias-Variance Regression ` + * :doc:`Bias-Variance Classification ` + +.. bibliography:: refs.bib + :cited: diff --git a/docs/images/bias_variance_label_distribution.png b/docs/images/bias_variance_label_distribution.png new file mode 100644 index 0000000000000000000000000000000000000000..eb1f456822c2270402703cde186788c71270f032 GIT binary patch literal 10919 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 R;d3b2;|j;(kDj~sKLA>phq?d& literal 0 HcmV?d00001 diff --git a/docs/images/high_bias_low_variance.png b/docs/images/high_bias_low_variance.png new file mode 100644 index 0000000000000000000000000000000000000000..a0a41f944ebf35701f1434f2db9a80ce71c2ba61 GIT binary patch literal 15553 zcmeHu2UOJOzU|m!#YC~7NQ_t!&`_mXK|n;QQU+q94ZU};5*sKAsPv*p8;#cs zMmk9EAPl{{{gIP%bM8IK$$9s!yViT_WvvV{GyKc<{mTCBz5h2(os?a?*F`S$Pq-q6Oz!di@<-}LWa;4`-};4h6^BY}e~wK%S6O`))zCI8QRCLLu&p-Aw_ z9X+J#5ZGJis>5zOGdtTpuhqlqiI2|1o9m38UVhVcj#XlMy6ngJcpau%Wcaji@s=+g zj?#T;HMM2}{iB%%y4H+=PG|kX7n*(-m*ToU3=G=L!%suKg$MED?P>~sTXBT4kV4tF zV%};B<<-9b|G|G}Nlq+LT5qw{S}bVdYd$~w+O^yP1#O*HSXa&GdliI)gl^uv>ErGF z$olNUSL?>`m5L+-B_)5HvG8@+5l@@J_v@V*E4;s_q#itV>TYEJ%%WwhR*hH)Q7DZj zsu~)x21UVi>0HI56q8H+=97z;ELnpMOn>!oYRvDENH)1}ncwfF#DZ@q2gMWjDnu!T z_`Pi!u-UDf&tz(FirMU&*qFmb_B}MHoXL#M%+%Sb6g-U26I7y3-n@PLK}bkQl)?f2 zZ*hFXB`2d)maN)*Hz6S*JUqOmy*+n@+9uo&i^USNYWaE9X3@}x4>z38>3O-EL{If0 zSJ$k-lTl71J<%tF#2gu$6V|O>9qPp?-j!4&rGgKqrl%#TrH-D*SK#u_3CFk&91yvq zwB)z&D~?G_OkBHuJu_~==inQ}UZP zZ`OYIUHH9ivN7rD>6*5;H;J6|miYR!S?1se_3Xm}WNi=L`V=6dw0u3Es+`=7#cW$# zWZV@M@A%xmuXgHGD5tpHt{ppMnsdE1@aB@3Ywvh}q6}zByU=?=XA^2C7PC5AQ>U#) zjF=Mv5mvPm`fa*piz{9SNDLPr!3EevOfz+wXZnk8vh%Fv;D|A;N$s5IPB8EOT1?TO zJ2y8sw_uf?re<_`x$66O?{;x>AASA$wV36Xs~@9piRdq#Qe*A(Z0F>+uQaHt{O+KuPC{@^$53I zXJ;qJj~9Oa@y8#l!!INlB<;=rYV+;-n6574Ygey!j14xEWU@IxX}q51QN$m0GN|;@ zf+giqN?hZUlg@}zW_f!-NW&+}dIxcQ+TIx&d_O4*( zz61UrIedeH;#u8HT0^$$vTwdA{`uQ&$%Z9A;GG1uqVvnhwHT^8I=-Yy^7AWg+_-TM zFRyLNqQ#3DmAv^rZ<|j2^i!y|GwpM#X@GuVV06e-%T6)ZiDb9Qng-)f5BE=WM0l6u zWa^UsOaJ@9Y*L*pC!qhSm|a6B?DOX{@tR387cX9{&T_Wr(R;CxELiBVwt|4DYs=Ti zL`ELHvV=`4BIoH-nY_HbJ-c=lqZq7RvnFD&IXCv{)3(4O$Eh*`!=R| zkj(gf7+c?|8Tn6PJTi_N)As361W!Vy@`5F+Ohz0Ws#g4T@}yUIL_}+Ue?rq+Pa2a> zz0)UdT)wNyBvrt#o1Q`EiHZJ-T1%Kn7&o8h8Y6!%l&+gL` zteAuZds8lC$cq;*7_ENV)k!843ZH}Y$agYUR*7C)Bx5e-`$gOL*C*EW%AYu4Gig0$ z^5n^r&I%2^iW>8r_*?whV>$}L!OTw-KF!3V(b3WJa&jde^AqP z*NI`H2;+iA_Ib~PAf$|XR4Lo(RVY&Lwy|< zCWXc%`zLPSS6&{i!oGTSaoqV&SRDS$fy=s1o!b{JS`-}~ewdw|eWESEy!x4Oe;bY; z6C=OM^GH)ulUXlbVxB!4D;dP*mM-CP2^H^4kI0+u>grOZQhQU8UQgq3)?6>nvf{8K zLZ;P%1&@VdU*{%0PIMW!;*@sNiIBOYeBnYQEiXTx77>#bz?4|<`8!e(LJwULH2M5| z$7p_GVdWJzsm~|X=232!+}3Lwh}>Q~vpDh{s z6e6vc>&<1)>$!^4_;ejgLNL~{xTr{JaB%QrQIUPhfuNJE?d?4K_rJ({;XY9of|ebn zH#@{Q1;OP2-i7mAU20qLehe zw@5w+3hEU$tB6s1ENJAzu!4-Gz+Ob2BhP~Vbekd;uNPfL^*5Gd<4Xy7(N z&tS9%I~P7lmf_XQ*2(whXTH9&WV@V(j^#C!XhE~ubahGZ-E*blG}<(sm6<7V@xp~? z$;ssv>o#oY&`R5@fGE0j>5^G*eAAa({FQI6El09$%TFAh8Y-fFd3VF9KWo(HJ-bG7 z*UJ;H&>Shn&wl>-8|HW4efI-^S9N`wdC29mdJ9cp{CmPd@lK@VX}Cx{@!yO zYBOqjb8XM=-6f5$uM~A8L`R=SdM{hHEctxyDs)lO{9>Y`4@3^%7_E-p^9y_1;` zGSX8O5hQNkMbGF{#^p(&`ujaF+xu7gxqeVCV%lHVDVlpXRt;!IE7jytuyWzv^yb(J~rl1)oX{TCD3wt zI{p$ds($9oL#(5qRm*Yq_3K44{19Y@UFFeQFRh+1Y&uJCY8Y+#&v{{Fp-=yVPXAQ1 z{m}vIrwB^1?c2AfsCRz&Ybjytg)$tSo_+?w$Q#4naQ0v4K~J2Qdq?rsf?!E)^wn^T z9NG~Vn)j2?(u%ZhFH{`axpQYXssIUYr_nxMROol_j#e<4Ar*sY((!LS*=QZbVRT{7 zw_#}wZrV!H)5+*sE#2KU;k11#$s~~+-CL8^{m3A=1mJSJt4M@~nwo88v-`|Y2n`U~ z%yjqe-CYeiIej^^Zf_b6d=CKWAxz)~y6T>-TMt!KR51FpC)ciCZBf~L}gi^hX# zsf9t}vD#^72FcAme+qvkseUCUeit=^`NC6LT3QSTzr07MJ!N7NH#6WVZTR{5**kr+ zET&%fr6pU6kt{3#4FW&37&g(gn-jU{PCP*TXlWW278W$>VoLJO4#$L-m24BUALGqW zh3J~q@Ee5K#pfK@lN)cYPoLZrC@S(h*sOcOaEYR8{nU8xu{4jNuU{Vo2h(e7byjjo z>7b!ie136WO-rk~vEj$A?rtHcVME*gdMa6)iU?UYR1siEik#J=897Gu!^?qjmDX$E=7p)F19MU+Y= zlLj1S*07?lxj7;-k{hL6ShUSoL-+K#bKwLH4-8nW+$?&^TXN*#=2fy0?a{HZDyR`P z!1@+pgEuK>)YP_Pqw%%05xl6WstSs>p?CYwOtnkrH(7M_yU%8<+j}N-XNZe3rnut~ z?RkZT>c}EmXH}9xtS+Y4gU$nwwOvrhr>0zE= zq-dzC@A=_}@YnnA-MiQI`9(yHzpSp?cq`d$GEGlS6>d16R)dL5JIw)r%C3z)&0~6M zYAqL6!qk+DMgYpPn_KpGYu0SqY~AXsVLUrCZ6y{&PxY3bIfFy4ye^G}G;d;`cgm-< ztSrTS`^f_G`crCW;VsvcZ-~o#={95JWk0of^z_>P=w|e?ISR z1S}rR0F&fl*M#$LH~QL=N9Y0cdezgX!_w15O{u7^}P81)aB9!W&NO=&MoGb{GEc7`IB|xAWH<5Ba*GrfV5-;h(#fxOd zs!lQ}()4~&W%ApkuW#GbkhurhX0i3-_-wrib4aK?-trIXD~<36TU-VXrKP$}PZ*&d z#yf3MA;tb+#K-)6YB!KSfm%jJ(XqUs2U5&5{Wh=i1ZPlJt({NiACY>8w<&dD3--6^ zI2I^;k1J;#J9;$T57?s0M3^~}?K-)3?b=ADo;wvt5$GHf(5YYNM4jAS{}hYRpI~}6 zV_m&=E#-^v<7;H*)Vffg>8O=%5hgD$FX%APC@?`YHhusMdHM4E-p?u z*fv;6YW(Qw)2F*?(h{DY3?h6=C1YXpK6|X1R!f-Y76N}Z_2#s3j2f)ch&vNjTzm@j zfFdq&S~KYU*g%t3lKvgiV84E~k{oNi!oZHRUN7O=wQJY2W2}Im=PrnQ>(;QmnU5dk zr~B-4$}lR~jt!gz=n0Z=Ow<%`z|L65vu%+$gG#D_a>xST)eR^u-CnJDjDkSnEyXyx zWAgs}`?kX!r+KwgPoTg1)tPA^XHhbW#skB`!Wcb?`N{6HGuBeq^Bm^NJ}J7i$~aAO zxAgQc%h0ocK2ka!?mQV-92Mdg^UE*4sK=D<{S~PI%q83PYWY5RVAx(5^jOR`X8!#7 zk8N+`)W$WbreY2Qq4kdKoOKS(cYyyZ9_&^jL(CkFW@-%hEoRsA@cJsw7^AYMMmT9# zeU@{Q*Wh@22<_v8-CaOhW?3wCgr=gnT~G0`_0)11HD{4uxvIxQ`J00U&wp4^@Noaz z6iG~>ntrw)+%z>c&2m=#c;T1Tn3`VpS`QV7WSENB1afJmnNf$9%S1c`)AcX-SP#1v z8!<`hMnVEdjsr5V3S?PTm6Iia=UH2%H^`0SU%otBI274W0yjM#>U5^H4=0Qmw>pB${*B1 zS?ekeTObgpNLpI47k~to=^2K4C&t*y#GAP`-Y zE;C9+q~Zc1k!Gi~pAk<}YB|&bZ2xpk(OphdqDN(6GF|o0A>u{#! zcM$F|F?-N~u6cT9qeZ#)XrR8%5J ziEsVryKMP#@or1NG$!atYCd$C>gVz}ergkY&Z5o#1(toeJuN*wtimbbaB9tt6BdL7 zl2Zmnq^hMAqrmsF<+dew2fK_c-&jCILp|O73p(1{qcCfMD$1w^hxv7A2u!-ehneZg zQ6}0;ib2s9rq$b(A{_?OlaDaSzm2D2Q7SUeEuO@0rj_$OmSAYL3Mqhpi3(&(}t)IeJAm6;r?nl0r~{9sgE8#+QY}EjtT997iTPBkx05b7;4t51#HirKR*R7 zLz*<82M^W~DkO;K*MM0=@!zW%4vFSTWTfFMk9i*p3e+%#p>1?69_11;egHv9hKhNB z(c+^(Q29z=F2sDV&H>CMlVAU+So@TmFYiRoc9yVI)4z9D9YgC@- zcy-lp-@Z*TZ^)L(C0wke)9@*zoQtdLoX#`cQF5nG4=g8xA;z>ryUM>suGxU}DkxZY z2@3_rV3)MC9>f`fMrH1BR5Z?@RXGj3UQ&~G96_ZH#(3Y}y(fSwV&dX#XbEv~sz;9= zjc7*N+khI9_rZFqDl3Qg^z_IqXv7fW8ywtMO{de6q9rt9n7J}T?iNtbQ3*$!q~R6^ca<4a~eeX z{mBJ@dSuo9rp$mj143Zmv?&%!VHe=x%DxAYbQ{E(OayKUj;H}{IqD1Z9cI&~tdtqRdBWJvofKo9DH2B;3R>~a0H<_r4zQ0ZbN z6-ceoz@KjizEdH}&HJhj87ES=Zf6mmC9y{mX{^$=d-eER%pfZb@xq0Hqe{DqS;so@8iPfnA ze;RKGk=0}53&OE?JF4~8ty}3&V3P^v!vGLk1^rV`rI)ETrVo#mgTl)=gZ?P=<)-zOBW!`Uc_BmHx!uc8p#8~f(XJBhpPVAHOD-LyEi@j$IS@>W*X9G^Fsgu&+{MRtGC_)Lx?`5eB=7F$BI|suY@k#^7VhE;(cd03Gdlzw{BRjZO02 zeB<953Oi+9;H=x&U3V3>F@-+1@gWasO7fNjho#6Fih=i^S{?o|%>JFgoD)CVLkQPw z$~8ReOLHY$vn%16Yuv0=y=bmjbkkFul+Y)CfeL|V&1K~Zi%VZ(wJ4PKn{!&tzak&r zf-*6E7M);xuQrGNg!~+1tfL(4p3@ax?IXE=`;~vxf?4oDEi+4wsH7QfAC=yauDG0% zzS?s6hToh@l(!BQyp4f@n|XCJ&yW!nL<85%z!GS>aV68U!%@;kuP-km9223T;N`f( zC7n$i2o6`QU9<1z9&g;OE3n`ptVjsQi~9O73Y~#_fJ59aZWWhQZR1RT=8)IZ6OY2- z51>Np42F*>QttkaPN?06e``ViU>CT@-P+dHmBQ3519c%}UY{v2q6dA0o;9LX2d|7z zq$ii#8SPY)k}@Uf_}bc9yLe6m&z!RhD8*u#Km10cKbCgS{+%zt#Nx!+vtb~H>#7NC zy|YO~*eMu*583xJ)tgJ2PYxu7*&&vwb|K@wSxtp-eoEiiho(yVH-r7X=3TV9T%m!Y zZqMAACQEIno~On$MdxP+(s?EARD@>RU%2-S8Rnl)Ycr?|{M&25n5M|+=cm&m*1{pI zSDy;#EVe0g`|e4j{#$jaA?{xr+{f$eSoh6b?fEzzKfF+6O}Cq9R(khzzTe9~@P57C z8J{@F1iA6ka2O?BU%9EW@gevQE&i-wA8l>eLqN`t$`svy^vFo=98`b&H+Z=f-UD8? zt?PFsJe+63kJ-;YK*$CzKJeV-@!BG&kZkIe61d~8s-&n@oMMp>^OgL|o}OT+-{@xP z@1VxMV>u-aHEHqYE5oaWCN5z$Gj!>n@-HjBZv6bSVdad^g}LTiR}JyED86IpAgC1P ztaqF9uSXNOPgncml=UboL5Q3C-T8JYE{FHpuiV_+peSg7&W|nVwAlk-edETBm0oi2 zlho+>q?%NfcFZ7m>)-I`qb*|QfZ;~|`0?WBXWu5P~_f#bbLEe)b zZ@JItV{|8D;Ln0ms|8hhCqF4f1%FhClmT40VPZNVB{ds7uzCNvtHcp9M+Td_Pihk_ z92_u*s6}WLUs&DeUOPm1u%&p-rbjmM-!Z!j{=RtKrM`^{OhsY?1 zNDy?Lu$iM*dD0iT^@Ny$`6pnK$b68=z~-0YpOPwZm%j11E(*4pp7~YYw&(Ndgq#@$ z=?`RQx=Nqiic+Ahf&RINpWhx_xye25I;(u%E%Z3ky;{k~iM@j4w2#ksy!aK$PC8Km z9T>^NmbskvhH&i>C4Qu@E_VO<54(2nmIDgDhC{x<$n*Zghdn!YM!lZN<#N}_nVs(U zh2seBff(qdq!z(wR8i=g>cy2&k8e|LE7Y`-4Nr?}R0=<4)MJDpWo!Amy{9ZKUsNXO zk$JMt;_b>U&yrhlzr7dzsZT-6YdMeh5nBp&Nl5?G2F?RkkwH8{4`khMZ0K#9ne0!a zGrIOD`8Vx{nv)9NYS$==)Ll@-wH#qj3BqX!4_z6Xklj@& z1!EwQIR{RunI7>;Is0}oGqtQU8A5j)fJa7k_RItg{!H!J$(-5lOUtyG?z;VKoT3)5 zd@f{-);srVsc0K_Ipw6$n0yL8tSW<$6s6OqEhcmpbX`C0?mHs&h9TiAa#w_I)pcxT z2j1=Q(>6N|#Zd?>e!R}h(z1&ww=f7~4ZK;-=uNGeW8O~&Y(Pq28f6XUaw+)KyU)5p zTQ{stx5TEgf}~uv;BJ|jnKA1{977Vq#rHP9y0n1Edc>K<3vrf6Cn&y4c#dcvaGOdu z5w2M@oiSt(k)5r}qaJq(^5ePl=Ow9L-y(L#m^m{~TJ!yR;28}NF|Q=roo14LC$x%D z8zWOQAHei91hk=Bqyus0n)yXOv-K-~pnLAS`ST9Xf>Rxf~f2M7HtjZ7#gaHI5eT2;Tp-o(6mbr8U_ zJ31=3)Q?wt?Yebsor$*(QUtG-b(W*(vWRjBDw;7=DDM0CaSW7SCI8Ac^?0o(mdzh_ z@7eRQ>`C$?e?2!%qT-YK0v|#*Zixx7)08sLy|+3A250aRck9fU5NVw;@V)PC-*Rbr z6;%6JZSyQOzl%oWUt5Fuq6(&Z45Z6~C7p*0#rr#|X$ckaY4tH!V`s+RZ3FHKM~=$K z7=vLkGsOvC!nYxzdU|rKC#h%{15<~Wcpn_prd?<&)&=udaR?qKwiLuqET$Y>^bQiV zL`5Sy6j;M#MAO^=2-*WHssifWC-S#>OoNNhrNJ`?=8O}_<-zJIX*p6Z__BtTrvV!v zJjIrW9a#cv+{dzu8!u4|emYir57 zZ}7epK)C=No!LiU6_{BZRCHX6gpu>cN?NZ}O6A$4bNsD;>qSKd0+ySSzCXt4(J?WqFDl#KlTdzR)-{ zagXXSQrd!AJ_FkFt4-C1=bC>0GpcB}6pnWS9{BOssolVx`kx+JzMctR;<0@B-x(>x zV|XecnD4dX5tiuYRR@9!^|`ura_5Q8LQqe?%^@U@(C{X%T|O#fmxP24j|N@!SLY*< z$QAgrR7u;bNoSK9JBWg%0{L-+ATyumGn)Vm}z&Pku?~~4+K3+Bz5>{Lvb== zToH6KTb8V>YKrZ&=L^VM3g2JB^L1+>Mns$hw5RBz z@)LZ5RO$US8!6vVdP)#|TjSHlmGi^5l(c=495D@%=(R02wfvD4dq z>IhUL4MYhUahSJj?<+|~3(+bKVJ##+bK)7oFea#3M2rEnge>)(vG@GL$RHKahQx;f zgLI9XlEmOuG*T8RO&HjGBC#&UCE>>=nz?45u}M#zg4D~ry-{EoWMCI@6`?2Z%`XKy zVD+XoFuW>?MJc+k=6lRGz?U130R5Ok+}5$cPn9s|>X^dc>c<`X{CRQW-h4u)#RG(; zbGD;R;B7FzuZK1tuzKfnp|>uBiLVeB;`Tgp_KxaywBTfJP4J2OVC+aG zfox`-5>L&jBqj!UmZ+xS@6~~FNe#iB54db1dZG^nt51t7E(@h=X>g;6oGcogQsql28GFV3tCtmb0pBn?`FA zy!de~p`h@j%1tjXzeoYIoihWqsMKcd<4S3@R=2Xp+cuFez(7w7LA2E8FtEd;dJ5VA z4YhibM^G@iDnu4l9aN`n$+7jjLA(G?iAMAty0SR0sHiAq8c2qG7uHBC*By8ur6O7- zYPd5hqziiv1WxP+)bq&q(5qLk?w~mW@u%n)aHJJE;i&*n#AE|$IoG|KVYe6=cbnZf z{roy^FIq3h4Yn#Ho6VH|V)9goXbvo{C8jm{NiS1SY;cd+l6d@P$BBob$8N0)vW)9L zQj7jso?&ken5m2&hl69HYTU@bOVBoWwj7i;9%1T2i7y7cvVp`vgAcGe)wD*F8s%MN z?>?L2Hc(r~X6`Cq3KzK`v{^Dw0NSZSpIOJR8wZ@v=w$*Yr1cW12994KtuGtfvpT|W z6~<&=4@3*j880xe4Yr-q#bY@f@v=VHL!A&K>%eYNO1sGX?>*LS6tj5-ESa+lHI!2< za6IP$%%d^M$*QRD!PQz}%l*ikgPGFcQX3Rp4oLxESDnf$KFKJ81;81N%fyy~~gyWTdpQOcd%8ptfPS zq&kRkP}iYp5#~-ZWReUc^=Z0IB&P(!9uc8Ft7*t!6> z(Ts+dLEC`i;SQw>o7cw?ryiNGPM%zm8aq)^P}fTX4_M>rvOSPK#>d7Cfu6`d zE?%|ynR9=Z#;x`IW`mAL;BJShkm}g#%OT(ZQr|E;Gb*rU0j1H^#Lsq}p2Q-G?)Qjw>$XoNSO5v?GK$06e*jS0 ouLzp@8=*+tR{x$OYL-ph{Fk#y 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 VY)}->t5PU3C(oWpId=ZW{{W9u&;9@a literal 0 HcmV?d00001 diff --git a/docs/images/low_bias_low_variance.png b/docs/images/low_bias_low_variance.png new file mode 100644 index 0000000000000000000000000000000000000000..70d64ed66f1a049e4ae52c4c3ea6e3dffacfdd90 GIT binary patch literal 15220 zcmeHu2UJv9y6yo}n?OZHkA)}RHBkI5{nEb5R06l zD1v}M6+v<=c>l(kxifR^>ACm4wO&}S*Xpvns;slm-hcT1@B7YUB?Z}?+nBat7`9XH z@&y$PqxHrxn%-YF!#lzaT?6ok81CYAoT{}k&grI|5hi~VXJcWFvoO2$tD}*fy_vO@ zAfG6oz=>Z?aX1@$aejWwzkPwv+RlW(F_l3Qeq^i7Wi5LQqrZv%rAd@YFvBqMKDi5L z)ttk}NM5=vv(&YgvUJY{xWWUv1kq@>aO!W-!4l%`T1mRHgQvZwu{>dETBD z?I%7s#awP0z2)$twJ}eK2A!MDP!LafJp51(~KrF%+`vt>p9H9Lb!@O_);tg*- zJdDv|*nx-t|AYUTEgAVbMq6vb7jo5yjzz`PG|@sN3{QZa=e?m7OeT|?@zw^5i?75O zFJTt<&il}Db8=P?jo^aWHs5>C&QA375RIHS(Y)Px?)-TUk6C)9>(^g~q@cgAtfQ0i z^5uc~o_@|FSl+ufyvK+4@6o}9n_TmBCsZHmfiv8E^zY9wl4c|Jnn5c#t|>v0FoJU} z+8Z@EF_FQiS9pN>w8sgZcfA}loev$GbZVWMEIt&!DBHeffrr1shfM*$fXi#B`QZ;=W`x5 zKtMoX8y(%8qnI@Bv16C@iX2-i*}P8pe0Wn{e#SZkS9^HR2CV+^%V%U}_u88NCb-9w zJ7{)cSWZe;mo5i8d(Q2rHO5Va4ixcN*6_zB@XOz`+Bfk#kr(MsEGhfWQ_~sM?dR6Y=eez{YNlm@xL(kUQnQJa=*_q=g$M!b>6pQ| zZy&dWgwDQw`^NKr|9#hdp^=uIc*M4?TPIDe>1StWpZNK;@q12g*Yl#zj=5Se*ls_7 zVM5&E;+-Y;eS8SU*#-Fd(T|u!*8)jansRbg2l3u`>z?$-3|z-gol@!R z>ti}?74A6N-jFPwUhs`c>U;Ty!tp{%=i;^+w6~aL){S?xyxKXJ2L}h41a5siNOf>< zxFRpFE+_Xm&!QtbKVMWnQc?@v)KA>M2k%W&ZsM_AkhS5C%=GXfX;bgYxoMXK62qPDjJs0^IWtAaTe9j7i{xM128FJCy?iw@bp^yLYu6o~kA&m`!w-jE_;5=go&|BghRgKAU$OsIR^(^bno; z86WM;TMrb%Mc*jLTr#V8dN5SNDcyB`oRn->JY6fnBxValDb@qk!o;rC>QCAH@RCae)Z+g@mllT$s~07&Ye5me3e7O z^Dfi#rv)KMu!{d)E%bH_3JXiQfB(M5v&;?)ZM>D9PxC!Nhe<~W?gRX%iv#MMvOX1c zTI3lo+y8Uq9yeFf*N@b9pS(EMku7`n>{%uW$5dAL?`LXiQmpxFMLCbuLo_ zn)pn&nPJ=3%9D^ou)MIp594d!+x7D-UL84dB*(0YQ_pQIH%&T=A~76RQj>;ht)V%OvSKK6B&3mW4$XOfq~5y zUJeeqjZIDaU?JbX+dO#iV5B)o74AYZW!mVs-%KIGw6l$Cw4V9U*I@ghUhwc-g)cD) z8b6(yo)$K1WLH;HOLUs(HW^)mVEWQ$laKdfk%(Vda3(qTKa0>3!LXr{3D>Phf0j9J zD^gu5uU@@cs+3uMgYR~|3ehh^^nW%aDCm7P_=K{nYhhz!qY!RbY2W_+$3;c2^Ju19 z;MQ2BT%9G`mpaWexJ5-@LaRO_K`eI3{#F~20-H%`yviR0g-BjrKIQpMt>9CFg1L@k z+9i_}hnR#+mA0sxZ;txK8_Khhk0XZxL>QrWo5F`VQN6`8Jmp0$I^@~Kg9g{1zwq8#9N=9>|>I4 z&%flyN*eWaad9b}?{C-p`FTx<2w69Hfz$|N(J?T{5H@c$og3}w zafy7eosm3H6)-;7`|h4)@*%)dhun`~n>TJeCLo~v>C>likq|=M*RQvrDxQ{@hp1M52DhO zJD{#$+RuLu`+i>07Mpd-;a2<}%19Nf*5P>^G=1lDJ1lDEh6V45xTmaaKd*Kyv_pV12~nQf&^20$CQ4JT@|Wc3)fv%R z(QLrHIWNk}7KK1EcUXwb&qYeP?PX$0)->=?fBg7y7I6$Jk68cy?{i~BVcV}4E?&BX z8bg1@v!>@P658sOf!wM>E>pk3S&l$Hx3aB%-vSFUB?R-1xqmYL70{Bmh}PR1chEwn zrtF>_5cv9ZwXje;EETxns^-qXs-Q`f+eX?9Zzx$gFu^ow}mYy z4reH^0YHCetPb9)W-cK|u3vvW!>EUQ!Ojhl zO~hNbLCc^0$eV90~)~9U|qPFK^ED|386d#$DH+g`!b{-ND zTAtb(YMgz7Fy**=CkkSKq(d#`r77C z#7!`M6;2%v!I2mFI#j#AdRU6+WK+e&#J<$j%$kPDc$I#ueq}Ebm-{*TqHm5(-#L

dZ3og(yXt1#jk(B@Z4vxYXe185Zj6a`tJ@XuwLU?_ma*U8+#g3W? z3C$9>`8h|eOW9h%MlMB<=2VoFUZbHWIr+-uS2fxmPi z`Z=3SI#l7~GBQ0<7pZ!;&CL;}1GIkp#EH}rz71IC#nHPVB+3?AuWt>f-Rm*Gv7u>& zqPCs`2E7d-%EODBxoT?}4cy-#q+b8}Z1Ly%t)a`si_1hGD;hLW{R|-qEqNUT!~rc{ z4N(5<`|bRR24$X0&=vOW-rcbHX#H#QSdK_hP7wM_|Q;7VBp@M;9wE)Z`NMRVg3OD zK>&sUhd_zA=C#t#Hi#1slT?IrgxiIDEVh)W#zap+DTDonvV1Hw^`yz@k>jt^E&SYO=_FpKiE!M z?r|hqihHi)kLUN(c`Wq#pmUl9466)j-CYRX+*_fK0q@OWwlp&$?mCkQ%^qM%-2M9- z(+tYGskbg08O5!vlvWi1J<$2~<~`5pupU&N$ZZ)>=r>6YZF+zG9YI(TK-i#HuR2V7 zDxMvxGrg*y&Zw=tM-Rk3v$H_W=39C!|V>!DdodN(ms&ipLRbE>1iW()~f|GbLZ|Z zA3*K(<70+>2M;CzYY){=>FcNO zK6)v%AQ=zCYQ761IVC`fWzkx+rTA8lX5x(aH7%#s~_UVB)0)`c)z2$dYR~Ltb z-R4HK(@APSZs}hV3*ob3M~@uAO@3lDhr(gvu_Is|stzlKowjc6DzF!Zj-ux}5(mHz z!H*^ZMQBaX9+DuY$JFAq)`!sZfac6*$t@_FThnwL2)y`X$BrecSH6S>D`MFhyI~96 zFjSRR2sFE5h&bPXCa5RV4c{f{un!a#r`Zo1~Q`S;#;g(LA{&Dkc3mK|9aOI&Bk ze}yo;Mrn&ibk=A}Hm(UB>}HkmEIvUHH!K5s%giuo|M#A~PXtz(y1|GpvlJy`p+B* ztBFt7D@rzROYi2}wAoO9@1L&z4{z&Ve6XN~{cO6|Ow;CoJj>j;d9&lKT-dShK0%td zFiZd!@ujK?frhVq+6?a&oF{ z6BHsE%kOO1$G{K+D1=O%@0oaNhla2(T(mdj<)4Ks3>_47R#sMq>U|qmji5R-xe}-& zuHRmn4A>P2IgVcUn5yEEk4$*;=4@_mF6(yK&BY2X+TM=KQ2nZ32?qWC`)iouMm{kb zsAcGv%mBa>6656OR|NPo&cVqUk2ns@lwg~`b(P%c|D3?@7UVzaVTJUx4^IY+{DFfuZNJ_IBh^zvmQ zzQQpdLc0-}HZkIURwWlH4&2Qfxz=;E= zKiI&!Z(ke)#-&P_GE9Lj(k^v(@vRF82|-lfJV2wS|A=*SXkmy~hVK*rD61t3k_ zWh&N9%=!C`EgD+^R0+6$#e4r}P!^TBR_d{g>n*2|e|72;>6={vyBxG`WngCciod@X ztN>PhBW-9BZtNkRTEKyjBeLTn2+W3+%b@z#V%l zPCq_)1`*sUw{IuI+#uvSV>&oAlu}x%4+YCV_LZPXGJtB}>Qrysc>Qqap>G1xM~q&Mia3 zeFqLCB1}Wfvy>lS2CfK*CArj-R2O0PR2O=KwuNqU~+QMYN1K{Nm|Eqir z4;b|mCC2m51JkYqx(=5n9Yk#bFqGoVbU+IM%M0Q8x9P}p$eEC(rmLI!3akT2>LDhk=KA{H z?)0=YOSee~kBDm2sF0EXk?cTj<_3112gX81U7I@`Uhu0q#uVLZR9)-_YrIJTSEnv{$K79Brr7gp$?0|}v z7Pm~9HK!znLUC9g!&3qjrInSGet)>*V6;i3%O%ic=l{4*m2aRQzO#jO`2U4I_3xPs ze%gWpmiY`ybv1Qu9~3%GqyzoO!@&{PL4{a#e*n1=9eo6p3~nwiS(uuX+}(>gY5`>iZWyWR&Hh2Nv9C4%k;Kx-O6<8w?~og zQ*s5md=Sk}c7rI+30$HL-<1?EmuHoaoKGj5NbJ`IEP$&V*~h{{8g2Jsb-nDn zpSO{cQHG{Rp`r|uRS3z-+P(yCrh5PskRKT|<9w%|!YB^3Nf`5df(%t|zQ?N!a92ib zY;5hZeNfXV?zc9t69xYU(xaDNcnt)=Y?pluKS!zsZduK+P z9AGptGBH8i73{WlnPk4bAO#5Q@2vko-2ErD5^2!BjQp*NUQ4O~gA~$HQ*`^IrsSH52t9j6 zG)k}nk^1*o4iPg%7f=`e)^6~Ih&kLJ^^#`v#NVY%Hy^;Y*DVmF|I}Bk+88B~@Q|8% zV&2ixlK1c~tWz22P6(QftJQ{X3$JO$XMyf?n<)_}EjN^iu{kH9xn+S4F0kX5UzBd$ ziUx{>WC_L=pcJksC|KdA+s7P%sdPC3VK#IKz84q^KMraTf&(DYX?S{;k|`7*BRSgsC%=0rN@%ii#bh-d^GIh<2ROWhx}%^R!r=<)nq zR);4{hbx5O-#F}1GVJkOwnS7^sFYh?x5vC5(3)rpYl03aQD6rrQakt$K7pT5<{^A~$>8SDMn)U< zk=5miHuH>6lhymm#r6nHiQCTrplQd+u6i`)tL< zW4XOY+DgZdq+7G*Hfqg=Pph;_|F$MI=j6f4;xan7lB#3>&Qx-Xm9e-lJ14Jp3AOf zT}I85U5;?-HbW=TAOJ*1E)p00^6uWHO#!+?K9Y-ztJ41?&=&B|*9`>F5Q(hkYE`8L zHneM@`xh`DwkyD`EZEMDcBle><{Ol&U}>3#-~;&cP_`F^(-}49UeV3q7aY;%NN)>? z*xq*gZ{EI)@HO4upJLh=LogNS9seDp>l1QbD<<1uB{h*OVJP;IQmS+-#(D50!T&WQBHcxADlbl<}xDLrBemoNVghCrArO7s+b z7AO6@QfW49K6dh?68J+JKqAILQM3+e8K+|weGLQwQm8<0ZbXw2kQHLgbk-rQH&?&= z$e50{XM#0RI-~4$3HPQ=o1Q#-rVev6PyjK|B3+7N=_Xrstj)dzawAM;0lI8ioo6Y5 zKxi@w(TfMq9|+MpkdCS_=Hm(ElV~8g^z=aAD(x_6=*SS*%}2Pt@yum^&t+l{(`10C zroKyDq}QqoIEIEZyr?Ol%O)TT3ehOH2wL0cLA#O1T#@z56J;5)tS%QI&I*^ui%Rsg zeQZUU3&FnQK(xfW6a_kJs;QwS16yheJ}l%?jFk((4Se1W_cjjAW*<#4Uom~1XE3DfqCE->LMy6G@*?Q3JDqdlq?>}Za&tT3tw(x7PI^4{~MSy ztB7&9P^fJ>iqea*c*4m&g5D3o7={cE8X5X&;7PR(X-Y!!CD4T$hLz9NK?FomAOS25 z=$w6Hr|Pf#)Yhb*x?^k%bP@mGK9(gYB&b4|D|>iI$-E%hyd+xL#v^TItGU3c z6zeG@6j0KOn$vVnqx6SS6Xb=EVm%cfVv$n@s_-ONN*Zw7X=>{pr;%0lm<-4UkPE+D zRew_g142#MX~hr&&jQ7@BQ3y*@7=TK2skSY)|T3|iyYG)(y@@ovYuYRX3m0|1JP{m z2!ZN{ei?C4Ks$Bw707G5mKYR)vvC%L8Z!8Y5k&IXs3u*XF&}61K29mzQ`z0gw+Bl7k}wm)*vc0UwTW8-)y z-}7PDgX6^PznMbJcIMm0*!C$dk)sBu2g}MzA7Z9&p#(Ww_}ssL*&hhMbI8Dbh{GW< zO$UD)oRdr7ipzkwHt#9*C>)A(L$?vhnC+D|Ig$`{du3sgNz~>wtLyM#;JKSgj4Ui; zpT3AIfI^Bw9VQ@6#aeKrV@G+otRs#;hUY3crP#3*9KkAOJ_u_h4|&z4>7? zDgqg$_nz8+0Y{9-lKG8Q5czaa9czh^r6*Y7bzpvIg<58gh>b}{v$64{gvcy*;lhRF z=H}*08S^lC&%oPX8)VsX!OweR)5eY0QAq$>^Vczd@sDBFr5(djh7bk#tL9GfREec# zRYjMg9J)zggO&GaXZG#dbpy0J!crf-mnjvjbTf`x6+gzh58+<)XwG{rk0hwS!m@w) z?849^$o0jQiEdia(|;4yyd6OsE7rT~Q$e;BkAQhbQ48T}q0V@z7&_+VOM}ya(=B2=S@IH^P&QjVa zkW-~#TtyNgGOl*wt)q(8KqG?T%N4{;hru9C=SR zk=?my4FsFeQ$|m~GL6zgYI!spbuE}MD#e_}yGB^2J4~Xgz+eP+HviIXlG!G8t*_7C z+q-vfEMOe-k;XVy2X_zR9KF}Vy`{Oa6nOKhKS(}_VOE9f)Fqg%;}s&3fx*wOgs=lz zr9dX2XLSyLyNcgFI52Sd2~WBb&{u$jkQECeuV~rO(9i*x_ucI>!~(VgeTZG8!gf`r zg5Cto9(o_B8bV#2Vw;{5>0q{8*)nND2p$qZ;}$qrGObD%jU#}$YY>OhTt)^-sDVLI z@{OPL(q&3(TGRKw4e;Z++X1|45lL1838~RDb1G$t#&bBGgC4(bz6(Rk5^wLU> zj(G_BNUg0*vo6DhQ^13XdhRNKlwn|knxRP}E20;bV$cb8U7$d4vn`rMCIhUV3pdf8 zfxA}?EdMC)L0}WnsY9{?e1*a#v-lXLUJ59h$T(14J<~n`10R|>&}2ZeuaokRMf-xt z7DQ8(tgSASNkw=No#O!f%X$F@QPb8wPRK$YED!K&j2jAz(0S9p#d_CHTXl)9N2uE} zFfkfni%LBxXq-=kM?x&*vS13}C1j-nEa@pEC#Oh0w+9e>)n8p%xnbA^NYC4HSzvPl zqrDM4AJXIho7Cb!z_!9j!aK0pBCZN>QD|lBH}57PEZhRAmj%Ormt~4(MjjY7ETGjo=>R9Y zZ|~mUEZg6{%Q`_IHzoMZ0%cW2S{n>8&<2kZ9wNGPpunUq(vnKnESoZ2hE8t;vZU4; z>?pc37}2x=$W6BotrssX38!%!9@$!8nbY5D#`C}z#B=P}XJlOnW8PAJ8hmHvA0F*K z+C@Q6!+I^E-*jXEr#I$*&x z{A=?g7RK!7N17`8CD$kwhpd~u)|L(QY~F3UqNvyg&#REKAHd@vl0bCyvG2@_R^MI&dLWS$2=O}=Ccktqra-FG1PA%|5i~#&W4qJe? z{j5!KR~aFUgmnmR6D0}iDH<;Bt-$g4gO?uaJZV|jG2Gi5^Q)Vu)D07bX8;A=+d{7a z{7OJSw(t-Mj^zb$AoQ~mVK|DZG0v9rhdu{Vw~*17y;2Lk_e_{6lwGIce~_aNnFOKr z4T7v~(f(FYU&(Y_a*cm@|>Xs)f9dr%6B ztb3LMW0C(F6h$ti~gC4^B z7sfd@L;p8Zda&l9x*LD(RWwB8&cDcXzaKu2TbeNgggBB#;0r)c0t^FVZ0|=Ef5al~ zejUn0AiE#qId(IMBJ?1KRTfZ=5%2JixTi_F3u z_5uov@NKp1N-E$qB!GCB?Ccpt`VLHD$cO)oMM9(TH24sG=q#rvX~K#5n|8dG2b7Iw zR>T-|mUqI-$3RO0$V)16(uAiwa=~YetY6l}lMjL8>vZpi(>DWYw6nwwzY5KD z_?1Z{5-7k8oCsx)0*0m5G<8^WNxAd`GszecNHvwlZIUm znKY5D8rivEt%cM%q7?0ILwHh(uLS-Zs$Mh9eY4Ot0Fdj8_jCLn{0IzB@VrJ)WMsO( z{~qutxh;WTFC7M4GjelMnl!8T^mdwEXToO2h??LS3I;c}x~5(nq>FiXu?v_>ky!?0 zCPb>kIhw&EBuh2co-trXz%LdlH|>7U0}) z5XBVDvZa=T)^F2w3sk_JuL0qRU@wBCF>4TpEwgO~8E}5)psR~Jj=rq4xS*n zPe~v;&5jZA!fX*lRYj>d0JR8W06Q6Mq~!|0qSko_<~@7Y2V%kgTa4eTOqKI%mru8zqQ@LCxr+)H($C$v`#%7;8S4iC literal 0 HcmV?d00001 diff --git a/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb b/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb new file mode 100644 index 0000000..9788319 --- /dev/null +++ b/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb @@ -0,0 +1,380 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "0213c537-ffda-464a-a696-16bb8c11212c", + "metadata": {}, + "source": [ + "# Bias-Variance Decomposition for Classification Problems\n", + "\n", + "In this example, we will see how to calculate the bias-variance decomposition for classification problems." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84f10ff2", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "from sklearn.datasets import load_iris\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "from mvtk.bias_variance import bias_variance_compute, bias_variance_0_1_loss\n", + "from mvtk.bias_variance.estimators import EstimatorWrapper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9184a4c1-f608-4983-b6c0-31a817f20a19", + "metadata": {}, + "outputs": [], + "source": [ + "random_state=123" + ] + }, + { + "cell_type": "markdown", + "id": "1b1f56c8", + "metadata": {}, + "source": [ + "## Load the example dataset" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b6763e6", + "metadata": {}, + "outputs": [], + "source": [ + "iris = load_iris()\n", + "X = pd.DataFrame(iris.data, columns=iris.feature_names)\n", + "y = iris.target\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=random_state)" + ] + }, + { + "cell_type": "markdown", + "id": "73a13343", + "metadata": {}, + "source": [ + "## Scikit-Learn Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a838e1d8", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.tree import DecisionTreeClassifier\n", + "\n", + "from mvtk.bias_variance.estimators import SciKitLearnEstimatorWrapper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5b8c734c", + "metadata": {}, + "outputs": [], + "source": [ + "model_scikit = DecisionTreeClassifier(random_state=random_state)" + ] + }, + { + "cell_type": "markdown", + "id": "8b5f6354", + "metadata": {}, + "source": [ + "## Need to instantiate a wrapper class for usage by the bias variance calculation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "642bc9e3", + "metadata": {}, + "outputs": [], + "source": [ + "model_scikit_wrapped = SciKitLearnEstimatorWrapper(model_scikit)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f5ed38bf", + "metadata": {}, + "outputs": [], + "source": [ + "# Use wrapped estimator\n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=200, \n", + " random_state=random_state, decomp_fn=bias_variance_0_1_loss)\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "markdown", + "id": "87fb7085", + "metadata": {}, + "source": [ + "## PyTorch Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8d7471f", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "\n", + "from mvtk.bias_variance.estimators import PyTorchEstimatorWrapper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d28a52e5", + "metadata": {}, + "outputs": [], + "source": [ + "X_train_torch = torch.FloatTensor(X_train.values)\n", + "X_test_torch = torch.FloatTensor(X_test.values)\n", + "y_train_torch = torch.LongTensor(y_train)\n", + "y_test_torch = torch.LongTensor(y_test)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a99e7197", + "metadata": {}, + "outputs": [], + "source": [ + "class ModelPyTorch(nn.Module):\n", + " def __init__(self):\n", + " super().__init__()\n", + " self.linear1 = nn.Linear(4, 25)\n", + " self.linear2 = nn.Linear(25, 3)\n", + "\n", + " def forward(self, x):\n", + " x = self.linear1(x)\n", + " x = self.linear2(x)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b3c2219", + "metadata": {}, + "outputs": [], + "source": [ + "model_pytorch = ModelPyTorch()\n", + "optimizer = torch.optim.Adam(model_pytorch.parameters(), lr=0.01)\n", + "loss_fn = nn.CrossEntropyLoss()" + ] + }, + { + "cell_type": "markdown", + "id": "e84d8252", + "metadata": {}, + "source": [ + "## Need to instantiate a wrapper class for usage by the bias variance calculation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de3dbd51", + "metadata": {}, + "outputs": [], + "source": [ + "def optimizer_generator(x):\n", + " return torch.optim.Adam(x.parameters(), lr=0.01)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b344f7f5", + "metadata": {}, + "outputs": [], + "source": [ + "model_pytorch_wrapped = PyTorchEstimatorWrapper(model_pytorch, optimizer_generator, loss_fn)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b1920755", + "metadata": {}, + "outputs": [], + "source": [ + "# Use wrapped estimator\n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_pytorch_wrapped, X_train_torch, y_train_torch, X_test_torch, y_test, \n", + " iterations=200, random_state=random_state, decomp_fn=bias_variance_0_1_loss, \n", + " fit_kwargs={'epochs': 50})\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "markdown", + "id": "bc7d036a", + "metadata": {}, + "source": [ + "## Same idea with TensorFlow models" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3f210cef", + "metadata": {}, + "outputs": [], + "source": [ + "import tensorflow as tf\n", + "from keras import initializers\n", + "\n", + "from mvtk.bias_variance.estimators import TensorFlowEstimatorWrapper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8352fe98", + "metadata": {}, + "outputs": [], + "source": [ + "model_tensorflow = tf.keras.Sequential([\n", + " tf.keras.layers.Dense(10, activation='relu', kernel_initializer=initializers.glorot_uniform(seed=0)),\n", + " tf.keras.layers.Dense(10, activation='relu', kernel_initializer=initializers.glorot_uniform(seed=0)),\n", + " tf.keras.layers.Dense(3, activation='softmax', kernel_initializer=initializers.glorot_uniform(seed=0))\n", + "])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d6b94ef3", + "metadata": {}, + "outputs": [], + "source": [ + "model_tensorflow.compile(optimizer='rmsprop',\n", + " loss='sparse_categorical_crossentropy',\n", + " metrics=['accuracy'])" + ] + }, + { + "cell_type": "markdown", + "id": "bdef99bd", + "metadata": {}, + "source": [ + "## Need to instantiate a wrapper class for usage by the bias variance calculation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "867bf004", + "metadata": {}, + "outputs": [], + "source": [ + "model_tensorflow_wrapped = TensorFlowEstimatorWrapper(model_tensorflow)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b2a01764", + "metadata": {}, + "outputs": [], + "source": [ + "# Use wrapped estimator\n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, iterations=20, \n", + " random_state=random_state, decomp_fn=bias_variance_0_1_loss, \n", + " fit_kwargs={'epochs': 100, 'batch_size': 50, 'verbose': False}, \n", + " predict_kwargs={'verbose': False})\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "markdown", + "id": "a32e8cee", + "metadata": {}, + "source": [ + "## We can run the same bias variance calculation in parallel for faster execution (in general for larger datasets and more intensive computations)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5900e939", + "metadata": {}, + "outputs": [], + "source": [ + "from mvtk.bias_variance import bias_variance_compute_parallel\n", + "\n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, \n", + " iterations=20, random_state=random_state, \n", + " decomp_fn=bias_variance_0_1_loss, \n", + " fit_kwargs={'epochs': 100, 'batch_size': 50, 'verbose': False}, \n", + " predict_kwargs={'verbose': False})\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d0a2b4d4", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb b/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb new file mode 100644 index 0000000..b4ae5de --- /dev/null +++ b/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb @@ -0,0 +1,376 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "e930091e-e136-4cb6-ab65-c93a7ca6165a", + "metadata": {}, + "source": [ + "# Bias-Variance Decomposition for Regression Problems\n", + "\n", + "In this example, we will see how to calculate the bias-variance decomposition for regression problems." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84f10ff2", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "\n", + "from sklearn.datasets import fetch_california_housing\n", + "from sklearn.model_selection import train_test_split\n", + "\n", + "from mvtk.bias_variance import bias_variance_compute, bias_variance_mse\n", + "from mvtk.bias_variance.estimators import EstimatorWrapper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "54ad5c92-5610-49a7-9b00-ec6340122b8d", + "metadata": {}, + "outputs": [], + "source": [ + "random_state=123" + ] + }, + { + "cell_type": "markdown", + "id": "056ddfd2", + "metadata": {}, + "source": [ + "## Load the example dataset" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b6763e6", + "metadata": {}, + "outputs": [], + "source": [ + "housing = fetch_california_housing()\n", + "X = pd.DataFrame(housing.data, columns=housing.feature_names)\n", + "y = housing.target\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=random_state)" + ] + }, + { + "cell_type": "markdown", + "id": "73a13343", + "metadata": {}, + "source": [ + "## Scikit-Learn Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "93bac7b2", + "metadata": {}, + "outputs": [], + "source": [ + "from sklearn.linear_model import LinearRegression\n", + "\n", + "from mvtk.bias_variance.estimators import SciKitLearnEstimatorWrapper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5b8c734c", + "metadata": {}, + "outputs": [], + "source": [ + "model_scikit = LinearRegression()" + ] + }, + { + "cell_type": "markdown", + "id": "8b5f6354", + "metadata": {}, + "source": [ + "## Need to instantiate a wrapper class for usage by the bias variance calculation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "642bc9e3", + "metadata": {}, + "outputs": [], + "source": [ + "model_scikit_wrapped = SciKitLearnEstimatorWrapper(model_scikit)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f5ed38bf", + "metadata": {}, + "outputs": [], + "source": [ + "# Use wrapped estimator\n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=200, \n", + " random_state=random_state, decomp_fn=bias_variance_mse)\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "markdown", + "id": "87fb7085", + "metadata": {}, + "source": [ + "## PyTorch Example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "c8d7471f", + "metadata": {}, + "outputs": [], + "source": [ + "import torch\n", + "import torch.nn as nn\n", + "\n", + "from mvtk.bias_variance.estimators import PyTorchEstimatorWrapper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d28a52e5", + "metadata": {}, + "outputs": [], + "source": [ + "X_train_torch = torch.FloatTensor(X_train.values)\n", + "X_test_torch = torch.FloatTensor(X_test.values)\n", + "y_train_torch = torch.FloatTensor(y_train).reshape(-1, 1)\n", + "y_test_torch = torch.FloatTensor(y_test).reshape(-1, 1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "60092549", + "metadata": {}, + "outputs": [], + "source": [ + "class ModelPyTorch(nn.Module):\n", + " def __init__(self):\n", + " super().__init__()\n", + " self.linear1 = nn.Linear(8, 24)\n", + " self.linear2 = nn.Linear(24, 12)\n", + " self.linear3 = nn.Linear(12, 6)\n", + " self.linear4 = nn.Linear(6, 1)\n", + " \n", + " def forward(self, x):\n", + " x = self.linear1(x)\n", + " x = self.linear2(x)\n", + " x = self.linear3(x)\n", + " x = self.linear4(x)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b3c2219", + "metadata": {}, + "outputs": [], + "source": [ + "model_pytorch = ModelPyTorch()\n", + "optimizer = torch.optim.Adam(model_pytorch.parameters(), lr=0.001)\n", + "loss_fn = nn.MSELoss()" + ] + }, + { + "cell_type": "markdown", + "id": "e84d8252", + "metadata": {}, + "source": [ + "## Need to instantiate a wrapper class for usage by the bias variance calculation" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "de3dbd51", + "metadata": {}, + "outputs": [], + "source": [ + "def optimizer_generator(x):\n", + " return torch.optim.Adam(x.parameters(), lr=0.001)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b344f7f5", + "metadata": {}, + "outputs": [], + "source": [ + "model_pytorch_wrapped = PyTorchEstimatorWrapper(model_pytorch, optimizer_generator, loss_fn)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b1920755", + "metadata": {}, + "outputs": [], + "source": [ + "# Use wrapped estimator\n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_pytorch_wrapped, X_train_torch, y_train_torch, X_test_torch, y_test, \n", + " iterations=100, random_state=random_state, decomp_fn=bias_variance_mse, \n", + " fit_kwargs={'epochs': 100, 'batch_size': 300})\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "markdown", + "id": "b0363203", + "metadata": {}, + "source": [ + "## TensorFlow example" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "00c36e62", + "metadata": {}, + "outputs": [], + "source": [ + "import tensorflow as tf\n", + "from keras import initializers\n", + "\n", + "from mvtk.bias_variance.estimators import TensorFlowEstimatorWrapper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9780f64b", + "metadata": {}, + "outputs": [], + "source": [ + "model_tensorflow = tf.keras.Sequential([\n", + " tf.keras.layers.Dense(64, activation='relu', kernel_initializer=initializers.glorot_uniform(seed=0)),\n", + " tf.keras.layers.Dense(64, activation='relu', kernel_initializer=initializers.glorot_uniform(seed=0)),\n", + " tf.keras.layers.Dense(1, kernel_initializer=initializers.glorot_uniform(seed=0))\n", + "])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b1fa3121", + "metadata": {}, + "outputs": [], + "source": [ + "model_tensorflow.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),\n", + " loss='mean_absolute_error',\n", + " metrics=['mean_squared_error'])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ba3c0852", + "metadata": {}, + "outputs": [], + "source": [ + "model_tensorflow_wrapped = TensorFlowEstimatorWrapper(model_tensorflow)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "19e95731", + "metadata": {}, + "outputs": [], + "source": [ + "# Use wrapped estimator\n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, iterations=10, \n", + " random_state=random_state, decomp_fn=bias_variance_mse, \n", + " fit_kwargs={'epochs': 100, 'verbose': False}, \n", + " predict_kwargs={'verbose': False})\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "markdown", + "id": "ebc8b115", + "metadata": {}, + "source": [ + "## We can run the same bias variance calculation in parallel for faster execution (in general for larger datasets and more intensive computations)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84a38e59", + "metadata": {}, + "outputs": [], + "source": [ + "from mvtk.bias_variance import bias_variance_compute_parallel\n", + "\n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, \n", + " iterations=10, random_state=random_state, \n", + " decomp_fn=bias_variance_mse, \n", + " fit_kwargs={'epochs': 100, 'verbose': False}, \n", + " predict_kwargs={'verbose': False})\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "d7755b28", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/notebooks/bias_variance/BiasVarianceVisualization.ipynb b/docs/notebooks/bias_variance/BiasVarianceVisualization.ipynb new file mode 100644 index 0000000..c5db749 --- /dev/null +++ b/docs/notebooks/bias_variance/BiasVarianceVisualization.ipynb @@ -0,0 +1,515 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "440be274-51e1-447f-aa70-ef832e5f9449", + "metadata": {}, + "source": [ + "# Bias-Variance Visualizations\n", + "\n", + "In this example, we will look at four different models with the different possible combinations of bias and variance (high and low). Histograms will be constructed for error over five iterations of training and testing. Then we will calculate the average loss, average bias, average variance, and net variance over 100 iterations of training and testing." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "84f10ff2", + "metadata": {}, + "outputs": [], + "source": [ + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "\n", + "import torch\n", + "import torch.nn as nn\n", + "\n", + "from sklearn.datasets import fetch_california_housing\n", + "from sklearn.linear_model import LinearRegression\n", + "from sklearn.model_selection import train_test_split\n", + "from sklearn.utils import resample\n", + "\n", + "from mvtk.bias_variance import bias_variance_compute, bias_variance_mse, bootstrap_train_and_predict\n", + "from mvtk.bias_variance.estimators import EstimatorWrapper, PyTorchEstimatorWrapper, SciKitLearnEstimatorWrapper" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "bbebb612-f174-43f4-ba3e-248162bdf145", + "metadata": {}, + "outputs": [], + "source": [ + "random_state=123\n", + "trials_graph=5\n", + "trials_full=100\n", + "bins=20" + ] + }, + { + "cell_type": "markdown", + "id": "056ddfd2", + "metadata": {}, + "source": [ + "## Load the example dataset and create helper functions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1b6763e6", + "metadata": {}, + "outputs": [], + "source": [ + "housing = fetch_california_housing()\n", + "X = pd.DataFrame(housing.data, columns=housing.feature_names)\n", + "y = housing.target\n", + "X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.3, random_state=random_state)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "ddf47d23-ec6d-4870-b77d-4269347bb86e", + "metadata": {}, + "outputs": [], + "source": [ + "def predict_trials(estimator, X_train, y_train, X_test, iterations, random_state, fit_kwargs=None, predict_kwargs=None):\n", + " predictions = np.zeros((iterations, y_test.shape[0]), dtype=np.float64)\n", + "\n", + " for i in range(iterations):\n", + " predictions[i] = bootstrap_train_and_predict(estimator, X_train, y_train, X_test, random_state=random_state, \n", + " fit_kwargs=fit_kwargs, predict_kwargs=predict_kwargs)\n", + "\n", + " return predictions" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5f1b9ca5-1ea6-4b89-af8c-f8386f2a8220", + "metadata": {}, + "outputs": [], + "source": [ + "def graph_trials(predictions, y_test, bins):\n", + " error_graph = np.swapaxes(predictions - y_test, 0, 1)\n", + "\n", + " plt.hist(error_graph, bins, density=True, label=[f'Trial {x}' for x in range(1, predictions.shape[0] + 1)])\n", + " plt.xlabel('mean squared error')\n", + " plt.legend()" + ] + }, + { + "cell_type": "markdown", + "id": "f2e1d891-fde6-4635-997b-346b385d4560", + "metadata": {}, + "source": [ + "## Label Distribution\n", + "\n", + "First, let's take a look at the distribution of the labels. Notice that the majority of label values are around 1 and 2, and much less around 5." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0197d6ae-7ec3-400e-8540-efbd7da1d08f", + "metadata": {}, + "outputs": [], + "source": [ + "plt.hist(y, density=True)\n", + "plt.savefig('bias_variance_label_distribution.png')" + ] + }, + { + "cell_type": "markdown", + "id": "73a13343", + "metadata": {}, + "source": [ + "## High Bias Low Variance Example\n", + "\n", + "We will introduce an artificial bias to a Scikit-Learn Linear Regression model by adding 10 to every label of the training label set. Given that values of greater than 5 in the entire label set are considered outliers, we are fitting the model against outliers." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "5ac18d40-42f4-45a3-854f-31311e39eab0", + "metadata": {}, + "outputs": [], + "source": [ + "model_bias = LinearRegression()\n", + "model_bias_wrapped = SciKitLearnEstimatorWrapper(model_bias)\n", + "\n", + "# add artificial bias to training labels\n", + "y_train_bias = y_train + 10" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8b5a704a-fb61-4adf-9790-28730205a2d0", + "metadata": {}, + "outputs": [], + "source": [ + "pred_bias = predict_trials(model_bias_wrapped, X_train, y_train_bias, X_test, trials_graph, random_state)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1a6d9156-a75e-419d-8f18-8dd7606e9ecf", + "metadata": {}, + "outputs": [], + "source": [ + "graph_trials(pred_bias, y_test, bins)\n", + "plt.savefig('high_bias_low_variance.png')" + ] + }, + { + "cell_type": "markdown", + "id": "f4b6fc0e-30a3-4add-b32c-adb7f5f4eefd", + "metadata": {}, + "source": [ + "Notice in the figure above that the model error is very consistent among the trials and is not centered around 0.\n", + "\n", + "Next we calculate the values over 100 trials." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "f304dcb0-6d5d-4331-b01a-cd42c4ef72d3", + "metadata": {}, + "outputs": [], + "source": [ + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_bias_wrapped, X_train, y_train_bias, X_test, y_test, \n", + " iterations=trials_full, random_state=random_state, \n", + " decomp_fn=bias_variance_mse)\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "markdown", + "id": "436f0166-7c55-4687-a747-cafa9ac0e591", + "metadata": {}, + "source": [ + "## Low Bias High Variance Example\n", + "\n", + "To simulate a higher variance, we will introduce 8 random \"noise\" features to the data set. We will also reduce the size of the training set and train a PyTorch neural network over a low number of epochs." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "e0dc50a3-3b03-4c28-85f1-f9d603e5d6f3", + "metadata": {}, + "outputs": [], + "source": [ + "class ModelPyTorch(nn.Module):\n", + " def __init__(self):\n", + " super().__init__()\n", + " self.linear1 = nn.Linear(16, 64)\n", + " self.linear2 = nn.Linear(64, 32)\n", + " self.linear3 = nn.Linear(32, 16)\n", + " self.linear4 = nn.Linear(16, 8)\n", + " self.linear5 = nn.Linear(8, 1)\n", + " \n", + " def forward(self, x):\n", + " x = self.linear1(x)\n", + " x = self.linear2(x)\n", + " x = self.linear3(x)\n", + " x = self.linear4(x)\n", + " x = self.linear5(x)\n", + " return x" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3ecc2c3e-cddc-4a40-ae0c-c3870d180abc", + "metadata": {}, + "outputs": [], + "source": [ + "model_variance = ModelPyTorch()\n", + "optimizer = torch.optim.Adam(model_variance.parameters(), lr=0.001)\n", + "loss_fn = nn.MSELoss()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "fd0a853d-e74a-43e4-8d50-ba286323f13c", + "metadata": {}, + "outputs": [], + "source": [ + "def optimizer_generator(x):\n", + " return torch.optim.Adam(x.parameters(), lr=0.001)\n", + "\n", + "model_variance_wrapped = PyTorchEstimatorWrapper(model_variance, optimizer_generator, loss_fn)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "88c4a23c-f44f-4c93-9664-7b828d2a3200", + "metadata": {}, + "outputs": [], + "source": [ + "X_train_torch = torch.FloatTensor(np.append(X_train.values[:100], 1000 * np.random.random_sample((100, 8)), axis=1))\n", + "X_test_torch = torch.FloatTensor(np.append(X_test.values, 1000 * np.random.random_sample((6192, 8)), axis=1))\n", + "y_train_torch = torch.FloatTensor(y_train[:100]).reshape(-1, 1)\n", + "y_test_torch = torch.FloatTensor(y_test).reshape(-1, 1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "036c2e2d-245c-4ab6-92fd-da72ba3dc5c2", + "metadata": {}, + "outputs": [], + "source": [ + "pred_variance = predict_trials(model_variance_wrapped, X_train_torch, y_train_torch, X_test_torch, trials_graph, random_state,\n", + " fit_kwargs={'epochs': 20})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "3cb83233-f8aa-4053-84a9-417325cc89ba", + "metadata": {}, + "outputs": [], + "source": [ + "graph_trials(pred_variance, y_test, bins)\n", + "plt.savefig('low_bias_high_variance.png')" + ] + }, + { + "cell_type": "markdown", + "id": "8eff5c60-1cd6-45a3-bac1-cd9fe55d9486", + "metadata": {}, + "source": [ + "Notice in the figure above that the model error has different distributions among the trials and centers mainly around 0.\n", + "\n", + "Next we calculate the values over 100 trials." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "a4b27030-2e59-4209-8ec1-bf9635abea73", + "metadata": {}, + "outputs": [], + "source": [ + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_variance_wrapped, X_train_torch, y_train_torch, \n", + " X_test_torch, y_test, iterations=trials_full, \n", + " random_state=random_state, decomp_fn=bias_variance_mse, \n", + " fit_kwargs={'epochs': 20})\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "markdown", + "id": "35824e2b-59f0-476e-a9df-7f2ecd168771", + "metadata": {}, + "source": [ + "## High Bias High Variance Example\n", + "\n", + "We will perform a combination of the techniques from the high bias low variance example and the low bias high variance example and train another PyTorch neural network." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "91897cf7-c5ca-4a1f-8d72-7e50e96d96a6", + "metadata": {}, + "outputs": [], + "source": [ + "model_bias_variance = ModelPyTorch()\n", + "optimizer = torch.optim.Adam(model_bias_variance.parameters(), lr=0.001)\n", + "loss_fn = nn.MSELoss()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "633a2bfa-58b5-4f9b-8a67-93ff1cfd8c9b", + "metadata": {}, + "outputs": [], + "source": [ + "# Add artificial bias to the training labels\n", + "y_train_torch_bias_variance = torch.FloatTensor(y_train[:100] + 10).reshape(-1, 1)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "65aab378-ce2f-45e4-b209-3d45fd7c998e", + "metadata": {}, + "outputs": [], + "source": [ + "def optimizer_generator(x):\n", + " return torch.optim.Adam(x.parameters(), lr=0.001)\n", + "\n", + "model_bias_variance_wrapped = PyTorchEstimatorWrapper(model_bias_variance, optimizer_generator, loss_fn)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "209816f1-8a37-4261-84d5-5c4e4678e696", + "metadata": {}, + "outputs": [], + "source": [ + "pred_bias_variance = predict_trials(model_bias_variance_wrapped, X_train_torch, y_train_torch_bias_variance, \n", + " X_test_torch, trials_graph, random_state,\n", + " fit_kwargs={'epochs': 20})" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "0606bb52-1847-4a67-9056-94ca07edb175", + "metadata": {}, + "outputs": [], + "source": [ + "graph_trials(pred_bias_variance, y_test, bins)\n", + "plt.savefig('high_bias_high_variance.png')" + ] + }, + { + "cell_type": "markdown", + "id": "0ca02163-0d18-48ca-892d-8bea81e10669", + "metadata": {}, + "source": [ + "Notice in the figure above that the model error has different distributions among the trials and is not centered around 0.\n", + "\n", + "Next we calculate the values over 100 trials." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8c63ab2a-8f56-4f5d-afb0-f9bfa31dec4d", + "metadata": {}, + "outputs": [], + "source": [ + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_bias_variance_wrapped, X_train_torch, y_train_torch_bias_variance, \n", + " X_test_torch, y_test, iterations=trials_full, \n", + " random_state=random_state, decomp_fn=bias_variance_mse, \n", + " fit_kwargs={'epochs': 20})\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "markdown", + "id": "d044dbcd-8325-4c24-a4a3-83b73c61ef01", + "metadata": {}, + "source": [ + "## Low Bias Low Variance Example\n", + "\n", + "Now we will train a Scikit Learn Linear Regression with no artificial bias." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "78403d2e-2655-40c0-9357-837a2ed1e252", + "metadata": {}, + "outputs": [], + "source": [ + "# Low bias low variance\n", + "model = LinearRegression()\n", + "\n", + "model_wrapped = SciKitLearnEstimatorWrapper(model)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "2cae33f2-6961-415a-aa0c-5406f7be8e92", + "metadata": {}, + "outputs": [], + "source": [ + "pred = predict_trials(model_wrapped, X_train, y_train, X_test, trials_graph, random_state)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "21673f12-c5e5-4d59-8497-f76c6ab74d84", + "metadata": {}, + "outputs": [], + "source": [ + "graph_trials(pred, y_test, bins)\n", + "plt.savefig('low_bias_low_variance.png')" + ] + }, + { + "cell_type": "markdown", + "id": "e71ab6f6-fb30-4f77-b9b7-ecb3dcf294b8", + "metadata": {}, + "source": [ + "Notice in the figure above that the model error is very consistent among the trials and centers mainly around 0.\n", + "\n", + "Next we calculate the values over 100 trials." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "590ad983-c81a-426f-b709-5d6c7642d0f6", + "metadata": {}, + "outputs": [], + "source": [ + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, iterations=trials_full, \n", + " random_state=random_state, decomp_fn=bias_variance_mse)\n", + "\n", + "print(f'average loss: {avg_loss:10.8f}')\n", + "print(f'average bias: {avg_bias:10.8f}')\n", + "print(f'average variance: {avg_var:10.8f}')\n", + "print(f'net variance: {net_var:10.8f}')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "b5091f45-727c-4ae2-bcc7-a2af108dadc1", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "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.10.7" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/refs.bib b/docs/refs.bib index df2c90f..0652997 100644 --- a/docs/refs.bib +++ b/docs/refs.bib @@ -149,3 +149,16 @@ @article{lin1991divergence year={1991}, publisher={IEEE} } +@article{domingos2000decomp, + author={Domingos, Pedro}, + title={A Unified Bias-Variance Decomposition and its Applications}, + month={January}, + year={2000}, + url={https://homes.cs.washington.edu/~pedrod/papers/mlc00a.pdf} +} +@misc{mlxtenddecomp, + author={Sebastian Raschka}, + title={bias_variance_decomp: Bias-variance decomposition for classification and regression losses}, + year={2014-2023} + url={https://rasbt.github.io/mlxtend/user_guide/evaluate/bias_variance_decomp/} +} \ No newline at end of file diff --git a/mvtk/bias_variance/__init__.py b/mvtk/bias_variance/__init__.py new file mode 100644 index 0000000..b9cdfae --- /dev/null +++ b/mvtk/bias_variance/__init__.py @@ -0,0 +1,2 @@ +from .bias_variance import * +from .bias_variance_parallel import * diff --git a/mvtk/bias_variance/bias_variance.py b/mvtk/bias_variance/bias_variance.py new file mode 100644 index 0000000..315853a --- /dev/null +++ b/mvtk/bias_variance/bias_variance.py @@ -0,0 +1,198 @@ +import numpy as np +import pandas as pd +import public + +from scipy import stats +from sklearn.utils import resample + + +@public.add +def get_values(x): + r"""If argument is a Pandas dataframe, return 'values' numpy array from it. + + Args: + x (Any): pandas dataframe or anything else + + Returns: + if pandas dataframe - return 'values' numpy array + otherwise - return itself + + """ + if isinstance(x, pd.DataFrame): + return x.values + else: + return x + + +@public.add +def train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared, + prepare_X=lambda x: x, prepare_y_train=lambda x: x, + fit_kwargs=None, predict_kwargs=None): + r"""Train an estimator and get predictions from it + + Args: + estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + X_train_values: numpy array of features for training + y_train_values: numpy array of ground truth labels for training + X_test_prepared: feature set for testing which has been processed by prepare_X function + prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods + prepare_y_train (function, optional): function to transform train ground truth labels before calling fit method + fit_kwargs (dict, optional): kwargs to pass to the fit method + predict_kwargs (dict, optional): kwargs to pass to the predict method + + Returns: + predictions""" + if predict_kwargs is None: + predict_kwargs = {} + if fit_kwargs is None: + fit_kwargs = {} + + X_sample_prepared = prepare_X(X_train_values) + y_sample_prepared = prepare_y_train(y_train_values) + + estimator = estimator.fit(X_sample_prepared, y_sample_prepared, **fit_kwargs) + predictions = estimator.predict(X_test_prepared, **predict_kwargs) + + return predictions + + +@public.add +def bootstrap_train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared, + prepare_X=lambda x: x, prepare_y_train=lambda x: x, + random_state=None, fit_kwargs=None, predict_kwargs=None): + r"""Train an estimator using a bootstrap sample of the training data and get predictions from it + + Args: + estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + X_train_values: numpy array of features for training + y_train_values: numpy array of ground truth labels for training + X_test_prepared: feature set for testing which has been processed by prepare_X function + prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods + prepare_y_train (function, optional): function to transform train ground truth labels before calling fit method + random_state (int, optional): random state for bootstrap sampling + fit_kwargs (dict, optional): kwargs to pass to the fit method + predict_kwargs (dict, optional): kwargs to pass to the predict method + + Returns: + predictions""" + X_sample, y_sample = resample(X_train_values, y_train_values, random_state=random_state) + + return train_and_predict(estimator, X_sample, y_sample, X_test_prepared, prepare_X, prepare_y_train, + fit_kwargs, predict_kwargs) + + +@public.add +def bias_variance_mse(predictions, y_test): + r"""Compute the bias-variance decomposition the mean squared error loss function + + Args: + predictions: numpy array of predictions over the set of iterations + y_test: numpy array of ground truth labels + + Returns: + (average loss, average bias, average variance, net variance)""" + pred_by_x = np.swapaxes(predictions, 0, 1) + + main_predictions = np.mean(predictions, axis=0) + + avg_bias = np.mean((main_predictions - y_test) ** 2) + + arr_loss = np.zeros(pred_by_x.shape[0], dtype=np.float64) + arr_var = np.zeros(pred_by_x.shape[0], dtype=np.float64) + for i in range(pred_by_x.shape[0]): + arr_loss[i] = np.mean((pred_by_x[i] - y_test[i]) ** 2) + arr_var[i] = np.mean((pred_by_x[i] - main_predictions[i]) ** 2) + avg_loss = np.mean(arr_loss) + avg_var = np.mean(arr_var) + + return avg_loss, avg_bias, avg_var, avg_var + + +@public.add +def bias_variance_0_1_loss(predictions, y_test): + r"""Compute the bias-variance decomposition using the 0-1 loss function + + Args: + predictions: numpy array of predictions over the set of iterations + y_test: numpy array of ground truth labels + + Returns: + (average loss, average bias, average variance, net variance)""" + pred_by_x = np.swapaxes(predictions, 0, 1) + + main_predictions = stats.mode(predictions, axis=0, keepdims=True).mode[0] + + avg_bias = np.mean(main_predictions != y_test) + + arr_loss = np.zeros(pred_by_x.shape[0], dtype=np.float64) + arr_var = np.zeros(pred_by_x.shape[0], dtype=np.float64) + var_b = 0.0 # biased example contribution to avg_var + var_u = 0.0 # unbiased example contribution to avg_var + for i in range(pred_by_x.shape[0]): + pred_true = np.sum(pred_by_x[i] == y_test[i]) + pred_not_main = np.sum(pred_by_x[i] != main_predictions[i]) + + arr_loss[i] = (predictions.shape[0] - pred_true) / predictions.shape[0] + arr_var[i] = pred_not_main / predictions.shape[0] + + if main_predictions[i] != y_test[i]: + prb_true_given_not_main = pred_true / pred_not_main if pred_not_main != 0 else 0 + var_b += (pred_not_main / predictions.shape[0]) * prb_true_given_not_main + else: + var_u += pred_not_main / predictions.shape[0] + + var_b /= pred_by_x.shape[0] + var_u /= pred_by_x.shape[0] + + avg_loss = np.mean(arr_loss) + avg_var = np.mean(arr_var) + net_var = var_u - var_b + + return avg_loss, avg_bias, avg_var, net_var + + +@public.add +def bias_variance_compute(estimator, X_train, y_train, X_test, y_test, prepare_X=lambda x: x, prepare_y_train=lambda x: x, + iterations=200, random_state=None, decomp_fn=bias_variance_mse, fit_kwargs=None, + predict_kwargs=None): + r"""Compute the bias-variance decomposition in serial + + Args: + estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + X_train: features for training + y_train: ground truth labels for training + X_test: features for testing + y_test: ground truth labels for testing + prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods + prepare_y_train (function, optional): function to transform training ground truth labels before calling fit method + iterations (int, optional): number of iterations for the training/testing + random_state (int, optional): random state for bootstrap sampling + decomp_fn (function, optional): bias-variance decomposition function + fit_kwargs (dict, optional): kwargs to pass to the fit method + predict_kwargs (dict, optional): kwargs to pass to the predict method + + Returns: + (average loss, average bias, average variance, net variance)""" + if fit_kwargs is None: + fit_kwargs = {} + if predict_kwargs is None: + predict_kwargs = {} + + if isinstance(random_state, int): + random_state = np.random.RandomState(seed=random_state) + + predictions = np.zeros((iterations, y_test.shape[0])) + + X_train_values = get_values(X_train) + y_train_values = get_values(y_train) + X_test_values = get_values(X_test) + X_test_prepared = prepare_X(X_test_values) + + for i in range(iterations): + predictions[i] = bootstrap_train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared, + prepare_X, prepare_y_train, random_state, + fit_kwargs, predict_kwargs) + + y_test_values = get_values(y_test) + + return decomp_fn(predictions, y_test_values) diff --git a/mvtk/bias_variance/bias_variance_parallel.py b/mvtk/bias_variance/bias_variance_parallel.py new file mode 100644 index 0000000..a1d3d1b --- /dev/null +++ b/mvtk/bias_variance/bias_variance_parallel.py @@ -0,0 +1,118 @@ +import ray +import numpy as np +import public + +from sklearn.utils import resample + +from . import bias_variance_mse, get_values, train_and_predict + + +def _prepare_X_and_y(X_train_values, y_train_values, prepare_X, prepare_y_train): + return prepare_X(X_train_values), prepare_y_train(y_train_values) + + +@public.add +def bias_variance_compute_parallel(estimator, X_train, y_train, X_test, y_test, + prepare_X=lambda x: x, prepare_y_train=lambda x: x, + iterations=200, random_state=None, decomp_fn=bias_variance_mse, fit_kwargs=None, + predict_kwargs=None): + r"""Compute the bias-variance decomposition in parallel + + Args: + estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + X_train: features for training + y_train: ground truth labels for training + X_test: features for testing + y_test: ground truth labels for testing + prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods + prepare_y_train (function, optional): function to transform training ground truth labels before calling fit method + iterations (int, optional): number of iterations for the training/testing + random_state (int, optional): random state for bootstrap sampling + decomp_fn (function, optional): bias-variance decomposition function + fit_kwargs (dict, optional): kwargs to pass to the fit method + predict_kwargs (dict, optional): kwargs to pass to the predict method + + Returns: + (average loss, average bias, average variance, net variance)""" + if predict_kwargs is None: + predict_kwargs = {} + if fit_kwargs is None: + fit_kwargs = {} + + if isinstance(random_state, int): + random_state = np.random.RandomState(seed=random_state) + + X_train_values = get_values(X_train) + y_train_values = get_values(y_train) + X_test_values = get_values(X_test) + X_test_prepared = prepare_X(X_test_values) + + if random_state is None: + result = [bootstrap_train_and_predict_ray.remote(estimator, + X_train_values, y_train_values, + X_test_prepared, + prepare_X, prepare_y_train, + fit_kwargs, predict_kwargs) + for _ in range(iterations)] + else: + result = [train_and_predict_ray.remote(estimator, + *_prepare_X_and_y(*resample(X_train_values, y_train_values, + random_state=random_state), + prepare_X, prepare_y_train), + X_test_prepared, + fit_kwargs, predict_kwargs) + for _ in range(iterations)] + + predictions = np.array(ray.get(result)) + + y_test_values = get_values(y_test) + + return decomp_fn(predictions, y_test_values) + + +@ray.remote +def train_and_predict_ray(estimator, X_train_values, y_train_values, X_test_prepared, + fit_kwargs=None, predict_kwargs=None): + r"""Train an estimator and get predictions from it + + Args: + estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + X_train_values: numpy array of features for training + y_train_values: numpy array of ground truth labels for training + X_test_prepared: features for testing which has been processed by prepare_X function + fit_kwargs (dict, optional): kwargs to pass to the fit method + predict_kwargs (dict, optional): kwargs to pass to the predict method + + Returns: + predictions""" + return train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared, + fit_kwargs=fit_kwargs, predict_kwargs=predict_kwargs) + + +@ray.remote +def bootstrap_train_and_predict_ray(estimator, X_train_values, y_train_values, X_test_prepared, + prepare_X=lambda x: x, prepare_y_train=lambda x: x, + fit_kwargs=None, predict_kwargs=None): + r"""Train an estimator using a bootstrap sample of the training data and get predictions from it + + Args: + estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + X_train_values: numpy array of features for training + y_train_values: numpy array of ground truth labels for training + X_test_prepared: features for testing which has been processed by prepare_X function + prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods + prepare_y_train (function, optional): function to transform train ground truth labels before calling fit method + fit_kwargs (dict, optional): kwargs to pass to the fit method + predict_kwargs (dict, optional): kwargs to pass to the predict method + + Returns: + predictions""" + if predict_kwargs is None: + predict_kwargs = {} + if fit_kwargs is None: + fit_kwargs = {} + + X_sample, y_sample = resample(X_train_values, y_train_values) + + return train_and_predict(estimator, X_sample, y_sample, X_test_prepared, prepare_X, prepare_y_train, + fit_kwargs, predict_kwargs) diff --git a/mvtk/bias_variance/estimators/__init__.py b/mvtk/bias_variance/estimators/__init__.py new file mode 100644 index 0000000..f81011a --- /dev/null +++ b/mvtk/bias_variance/estimators/__init__.py @@ -0,0 +1,4 @@ +from .estimator_wrapper import EstimatorWrapper +from .pytorch_estimator_wrapper import PyTorchEstimatorWrapper +from .sklearn_estimator_wrapper import SciKitLearnEstimatorWrapper +from .tensorflow_estimator_wrapper import TensorFlowEstimatorWrapper diff --git a/mvtk/bias_variance/estimators/estimator_wrapper.py b/mvtk/bias_variance/estimators/estimator_wrapper.py new file mode 100644 index 0000000..38acfa3 --- /dev/null +++ b/mvtk/bias_variance/estimators/estimator_wrapper.py @@ -0,0 +1,21 @@ +class EstimatorWrapper: + r"""This is a wrapper class that can be inherited to conform any estimator to the fit/predict interface""" + + def fit(self, X, y, **kwargs): + r"""Train the estimator + + Args: + X: features + y: ground truth labels + kwargs (optional): kwargs for use in training + """ + pass + + def predict(self, X, **kwargs): + r"""Get predictions from the estimator + + Args: + X: features + kwargs (optional): kwargs for use in predicting + """ + pass diff --git a/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py b/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py new file mode 100644 index 0000000..55d80a1 --- /dev/null +++ b/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py @@ -0,0 +1,97 @@ +from . import EstimatorWrapper + + +class PyTorchEstimatorWrapper(EstimatorWrapper): + def __init__(self, estimator, optimizer_generator, loss_fn, fit_fn=None, predict_fn=None): + r"""Create a wrapper for a PyTorch estimator + + Args: + estimator: PyTorch estimator instance + optimizer_generator: generator function for the optimizer + loss_fn: loss function + fit_fn (optional): custom fit function to be called instead of default one + predict_fn (optional): custom predict function to be called instead of default one + + Returns: + self + """ + self.estimator = estimator + self.optimizer_generator = optimizer_generator + self.optimizer = optimizer_generator(estimator) + self.loss_fn = loss_fn + self.fit_fn = fit_fn + self.predict_fn = predict_fn + + def fit(self, X, y, **kwargs): + r"""Train the estimator + + Args: + X: features + y: ground truth labels + kwargs (optional): kwargs for use in training + + Returns: + self + """ + self.estimator.apply(PyTorchEstimatorWrapper._reset_parameters) + + if self.fit_fn is not None: + self.fit_fn(self, X, y, **kwargs) + return self + + if kwargs.get('epochs') is None: + epochs = 100 + else: + epochs = kwargs.get('epochs') + + for i in range(epochs): + loss = 0 + if kwargs.get('batch_size') is None: + batch_size = len(y) + else: + batch_size = kwargs.get('batch_size') + for j in range(0, len(y), batch_size): + batch_start = j + batch_end = j + batch_size + X_batch = X[batch_start:batch_end] + y_batch = y[batch_start:batch_end] + prediction = self.estimator(X_batch) + loss = self.loss_fn(prediction, y_batch) + + self.optimizer.zero_grad() + loss.backward() + self.optimizer.step() + if kwargs.get('verbose'): + print(f'epoch: {i:2} training loss: {loss.item():10.8f}') + + return self + + def predict(self, X, **kwargs): + r"""Get predictions from the estimator + + Args: + X: features + kwargs (optional): kwargs for use in predicting + + Returns: + self + """ + if self.predict_fn is not None: + return self.predict_fn(self, X, **kwargs) + + import torch + + prediction_list = [] + with torch.no_grad(): + for value in X: + prediction = self.estimator(value) + if len(prediction) > 1: + prediction_list.append(prediction.argmax().item()) + else: + prediction_list.append(prediction.item()) + return prediction_list + + def _reset_parameters(self): + r"""Reset parameters of the estimator""" + if hasattr(self, "reset_parameters"): + self.reset_parameters() diff --git a/mvtk/bias_variance/estimators/sklearn_estimator_wrapper.py b/mvtk/bias_variance/estimators/sklearn_estimator_wrapper.py new file mode 100644 index 0000000..f0e5550 --- /dev/null +++ b/mvtk/bias_variance/estimators/sklearn_estimator_wrapper.py @@ -0,0 +1,40 @@ +from . import EstimatorWrapper + + +class SciKitLearnEstimatorWrapper(EstimatorWrapper): + def __init__(self, estimator): + r"""Create a wrapper for a Scikit-Learn estimator + + Args: + estimator: Scikit-Learn estimator instance + + Returns: + self + """ + self.estimator = estimator + + def fit(self, X, y, **kwargs): + r"""Train the estimator + + Args: + X: features + y: ground truth labels + kwargs (optional): kwargs for use in training + + Returns: + self + """ + self.estimator.fit(X, y, **kwargs) + return self + + def predict(self, X, **kwargs): + r"""Get predictions from the estimator + + Args: + X: features + kwargs (optional): kwargs for use in predicting + + Returns: + self + """ + return self.estimator.predict(X, **kwargs) diff --git a/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py b/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py new file mode 100644 index 0000000..ab8821f --- /dev/null +++ b/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py @@ -0,0 +1,60 @@ +from . import EstimatorWrapper + + +class TensorFlowEstimatorWrapper(EstimatorWrapper): + def __init__(self, estimator): + r"""Create a wrapper for a TensorFlow estimator + + Args: + estimator: TensorFlow estimator instance + + Returns: + self + """ + self.estimator = estimator + + def fit(self, X, y, **kwargs): + r"""Train the estimator + + Args: + X: features + y: ground truth labels + kwargs (optional): kwargs for use in training + + Returns: + self + """ + self._reset_weights() + self.estimator.fit(X, y, **kwargs) + return self + + def predict(self, X, **kwargs): + r"""Get predictions from the estimator + + Args: + X: features + kwargs (optional): kwargs for use in predicting + + Returns: + self + """ + predictions = self.estimator.predict(X, **kwargs) + prediction_list = [] + for prediction in predictions: + if len(prediction) > 1: + prediction_list.append(prediction.argmax().item()) + else: + prediction_list.append(prediction.item()) + return prediction_list + + def _reset_weights(self): + r"""Reset weights of the estimator""" + import tensorflow as tf + + for layer in self.estimator.layers: + if hasattr(layer, 'kernel_initializer') and hasattr(layer, 'kernel'): + layer.kernel.assign(layer.kernel_initializer(tf.shape(layer.kernel))) + if hasattr(layer, 'bias_initializer') and hasattr(layer, 'bias'): + layer.bias.assign(layer.bias_initializer(tf.shape(layer.bias))) + if hasattr(layer, 'recurrent_initializer') and hasattr(layer, 'recurrent_kernal'): + layer.recurrent_kernal.assign(layer.recurrent_initializer(tf.shape(layer.recurrent_kernal))) diff --git a/mvtk/version.py b/mvtk/version.py index ae73625..d3ec452 100644 --- a/mvtk/version.py +++ b/mvtk/version.py @@ -1 +1 @@ -__version__ = "0.1.3" +__version__ = "0.2.0" diff --git a/setup.py b/setup.py index 6bdc260..1542179 100644 --- a/setup.py +++ b/setup.py @@ -13,6 +13,12 @@ "sphinxcontrib-bibtex", "imageio", "myst-parser", + ], + "pytorch": [ + "torch" + ], + "tensorflow": [ + "tensorflow" ] } with open("README.md", "r", encoding="utf-8") as fh: @@ -35,10 +41,10 @@ "Operating System :: POSIX :: Linux", ], install_requires=[ - "jax>=0.2.8", + "jax>=0.2.8,<=0.4.16", "public>=2020.12.3", "fastcore>=1.3.25", - "jaxlib>=0.1.23", + "jaxlib>=0.1.23,<=0.4.16", "scikit-learn", "numpy", "matplotlib", @@ -46,6 +52,7 @@ "seaborn", "pandas>=0.23.4", "tqdm", + "ray" ], extras_require=extras_require, url="https://finraos.github.io/model-validation-toolkit/", diff --git a/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py b/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py new file mode 100644 index 0000000..1dbafdc --- /dev/null +++ b/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py @@ -0,0 +1,200 @@ +import numpy as np +import torch +from torch import nn + +from mvtk.bias_variance.estimators import PyTorchEstimatorWrapper + + +class ModelPyTorch(nn.Module): + def __init__(self): + super().__init__() + self.linear1 = nn.Linear(2, 8) + self.linear2 = nn.Linear(8, 1) + + def forward(self, x): + x = self.linear1(x) + x = self.linear2(x) + return x + + +def create_data(): + X_train = np.arange(12).reshape(6, 2) + y_train = np.concatenate((np.arange(3), np.arange(3)), axis=None) + X_test = np.arange(6).reshape(3, 2) + y_test = np.array([0, 1, 1]) + + return X_train, y_train, X_test, y_test + + +def create_model(): + model_pytorch = ModelPyTorch() + optimizer = torch.optim.Adam(model_pytorch.parameters(), lr=0.001) + loss_fn = nn.MSELoss() + + return model_pytorch, optimizer, loss_fn + + +def optimizer_gen(x): + return torch.optim.Adam(x.parameters(), lr=0.001) + + +def reset_parameters(x): + if hasattr(x, "reset_parameters"): + x.reset_parameters() + + +def fit(estimator, optimizer, loss_fn, X, y, epochs=10, batch_size=None): + for i in range(epochs): + if batch_size is None: + batch_size = len(y) + for j in range(0, len(y), batch_size): + batch_start = j + batch_end = j + batch_size + X_batch = X[batch_start:batch_end] + y_batch = y[batch_start:batch_end] + prediction = estimator(X_batch) + loss = loss_fn(prediction, y_batch) + + optimizer.zero_grad() + loss.backward() + optimizer.step() + + +def custom_fit(self, X, y, epochs=10, batch_size=None): + for i in range(epochs): + if batch_size is None: + batch_size = len(y) + for j in range(0, len(y), batch_size): + batch_start = j + batch_end = j + batch_size + X_batch = X[batch_start:batch_end] + y_batch = y[batch_start:batch_end] + prediction = self.estimator(X_batch) + loss = self.loss_fn(prediction, y_batch) + + self.optimizer.zero_grad() + loss.backward() + self.optimizer.step() + + +def predict(estimator, X, custom_test=False): + if custom_test: + return [1, 0, 1] + + prediction_list = [] + with torch.no_grad(): + for value in X: + prediction = estimator(value) + if len(prediction) > 1: + prediction_list.append(prediction.argmax().item()) + else: + prediction_list.append(prediction.item()) + return prediction_list + + +def custom_predict(estimator, X): + return [1, 0, 1] + + +def test_pytorch_estimator_wrapper(): + torch.use_deterministic_algorithms(True) + + X_train, y_train, X_test, y_test = create_data() + + X_train_torch = torch.FloatTensor(X_train) + X_test_torch = torch.FloatTensor(X_test) + y_train_torch = torch.FloatTensor(y_train).reshape(-1, 1) + + torch.manual_seed(123) + model, optimizer, loss_fn = create_model() + + model.apply(reset_parameters) + fit(model, optimizer, loss_fn, X_train_torch, y_train_torch, epochs=100) + pred = predict(model, X_test_torch) + + torch.manual_seed(123) + model_test, optimizer_test, loss_fn_test = create_model() + model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test) + + model_wrapped.fit(X_train_torch, y_train_torch) + pred_wrapped = model_wrapped.predict(X_test_torch) + + assert np.array_equal(pred, pred_wrapped) + + +def test_pytorch_estimator_wrapper_kwargs_fit(): + torch.use_deterministic_algorithms(True) + + X_train, y_train, X_test, y_test = create_data() + + X_train_torch = torch.FloatTensor(X_train) + X_test_torch = torch.FloatTensor(X_test) + y_train_torch = torch.FloatTensor(y_train).reshape(-1, 1) + + torch.manual_seed(123) + model, optimizer, loss_fn = create_model() + + model.apply(reset_parameters) + fit(model, optimizer, loss_fn, X_train_torch, y_train_torch, epochs=5) + pred = predict(model, X_test_torch) + + torch.manual_seed(123) + model_test, optimizer_test, loss_fn_test = create_model() + model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test) + + model_wrapped.fit(X_train_torch, y_train_torch, epochs=5) + pred_wrapped = model_wrapped.predict(X_test_torch) + + assert np.array_equal(pred, pred_wrapped) + + +def test_pytorch_estimator_wrapper_custom_fit(): + torch.use_deterministic_algorithms(True) + + X_train, y_train, X_test, y_test = create_data() + + X_train_torch = torch.FloatTensor(X_train) + X_test_torch = torch.FloatTensor(X_test) + y_train_torch = torch.FloatTensor(y_train).reshape(-1, 1) + + torch.manual_seed(123) + model, optimizer, loss_fn = create_model() + + model.apply(reset_parameters) + fit(model, optimizer, loss_fn, X_train_torch, y_train_torch, epochs=10) + pred = predict(model, X_test_torch) + + torch.manual_seed(123) + model_test, optimizer_test, loss_fn_test = create_model() + model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test, fit_fn=custom_fit) + + model_wrapped.fit(X_train_torch, y_train_torch) + pred_wrapped = model_wrapped.predict(X_test_torch) + + assert np.array_equal(pred, pred_wrapped) + + +def test_pytorch_estimator_wrapper_custom_predict(): + torch.use_deterministic_algorithms(True) + + X_train, y_train, X_test, y_test = create_data() + + X_train_torch = torch.FloatTensor(X_train) + X_test_torch = torch.FloatTensor(X_test) + y_train_torch = torch.FloatTensor(y_train).reshape(-1, 1) + + torch.manual_seed(123) + model, optimizer, loss_fn = create_model() + + model.apply(reset_parameters) + fit(model, optimizer, loss_fn, X_train_torch, y_train_torch, epochs=100) + pred = predict(model, X_test_torch, custom_test=True) + + torch.manual_seed(123) + model_test, optimizer_test, loss_fn_test = create_model() + model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test, predict_fn=custom_predict) + + model_wrapped.fit(X_train_torch, y_train_torch) + pred_wrapped = model_wrapped.predict(X_test_torch) + + assert np.array_equal(pred, pred_wrapped) diff --git a/tests/bias_variance/estimators/test_sklearn_estimator_wrapper.py b/tests/bias_variance/estimators/test_sklearn_estimator_wrapper.py new file mode 100644 index 0000000..5d548f0 --- /dev/null +++ b/tests/bias_variance/estimators/test_sklearn_estimator_wrapper.py @@ -0,0 +1,73 @@ +import numpy as np +from sklearn.linear_model import LinearRegression +from sklearn.tree import DecisionTreeClassifier + +from mvtk.bias_variance.estimators import SciKitLearnEstimatorWrapper + + +def create_data(): + X_train = np.arange(12).reshape(6, 2) + y_train = np.concatenate((np.arange(3), np.arange(3)), axis=None) + X_test = np.arange(6).reshape(3, 2) + y_test = np.array([0, 1, 1]) + + return X_train, y_train, X_test, y_test + + +def test_sklearn_estimator_wrapper(): + X_train, y_train, X_test, y_test = create_data() + + model = LinearRegression() + + model.fit(X_train, y_train) + pred = model.predict(X_test) + + model_test = LinearRegression() + model_wrapped = SciKitLearnEstimatorWrapper(model_test) + + model_wrapped.fit(X_train, y_train) + pred_wrapped = model_wrapped.predict(X_test) + + assert np.array_equal(pred, pred_wrapped) + + +def test_sklearn_estimator_wrapper_kwargs_fit(): + X_train, y_train, X_test, y_test = create_data() + + model = DecisionTreeClassifier(random_state=123) + + model.fit(X_train, y_train, sample_weight=[0, 0, 1, 0, 1, 0]) + pred = model.predict(X_test) + + model_test = DecisionTreeClassifier(random_state=123) + model_wrapped = SciKitLearnEstimatorWrapper(model_test) + + model_wrapped.fit(X_train, y_train, sample_weight=[0, 0, 1, 0, 1, 0]) + pred_wrapped = model_wrapped.predict(X_test) + + assert np.array_equal(pred, pred_wrapped) + + +def test_sklearn_estimator_wrapper_kwargs_predict(): + X_train, y_train, X_test, y_test = create_data() + + model = DecisionTreeClassifier(random_state=123) + + model.fit(X_train, y_train) + try: + model.predict(X_test, check_input=False) + except ValueError as e: + assert e.args[0] == 'X.dtype should be np.float32, got int64' + return + + model_test = DecisionTreeClassifier(random_state=123) + model_wrapped = SciKitLearnEstimatorWrapper(model_test) + + model_wrapped.fit(X_train, y_train) + try: + model_wrapped.predict(X_test, check_input=False) + except ValueError as e: + assert e.args[0] == 'X.dtype should be np.float32, got int64' + return + + assert False diff --git a/tests/bias_variance/estimators/test_tensorflow_estimator_wrapper.py b/tests/bias_variance/estimators/test_tensorflow_estimator_wrapper.py new file mode 100644 index 0000000..d7bb449 --- /dev/null +++ b/tests/bias_variance/estimators/test_tensorflow_estimator_wrapper.py @@ -0,0 +1,95 @@ +import numpy as np +import tensorflow as tf + +from mvtk.bias_variance.estimators import TensorFlowEstimatorWrapper + + +def create_data(): + X_train = np.arange(12).reshape(6, 2) + y_train = np.concatenate((np.arange(3), np.arange(3)), axis=None) + X_test = np.arange(6).reshape(3, 2) + y_test = np.array([0, 1, 1]) + + return X_train, y_train, X_test, y_test + + +def create_model(): + model = tf.keras.Sequential([ + tf.keras.layers.Dense(64, activation='relu'), + tf.keras.layers.Dense(64, activation='relu'), + tf.keras.layers.Dense(1) + ]) + + model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001), + loss='mean_absolute_error', + metrics=['mean_squared_error']) + + return model + + +def predict(estimator, X, **kwargs): + predictions = estimator.predict(X, **kwargs) + prediction_list = [] + for prediction in predictions: + if len(prediction) > 1: + prediction_list.append(prediction.argmax().item()) + else: + prediction_list.append(prediction.item()) + return prediction_list + + +def test_tensorflow_estimator_wrapper(): + X_train, y_train, X_test, y_test = create_data() + + tf.keras.utils.set_random_seed(123) + model = create_model() + + model.fit(X_train, y_train) + pred = predict(model, X_test) + + tf.keras.utils.set_random_seed(123) + model_test = create_model() + model_wrapped = TensorFlowEstimatorWrapper(model_test) + + model_wrapped.fit(X_train, y_train) + pred_wrapped = model_wrapped.predict(X_test) + + assert np.array_equal(pred, pred_wrapped) + + +def test_tensorflow_estimator_wrapper_kwargs_fit(): + X_train, y_train, X_test, y_test = create_data() + + tf.keras.utils.set_random_seed(123) + model = create_model() + + model.fit(X_train, y_train, epochs=10) + pred = predict(model, X_test) + + tf.keras.utils.set_random_seed(123) + model_test = create_model() + model_wrapped = TensorFlowEstimatorWrapper(model_test) + + model_wrapped.fit(X_train, y_train, epochs=10) + pred_wrapped = model_wrapped.predict(X_test) + + assert np.array_equal(pred, pred_wrapped) + + +def test_tensorflow_estimator_wrapper_kwargs_predict(): + X_train, y_train, X_test, y_test = create_data() + + tf.keras.utils.set_random_seed(123) + model = create_model() + + model.fit(X_train, y_train) + pred = predict(model, X_test, steps=10) + + tf.keras.utils.set_random_seed(123) + model_test = create_model() + model_wrapped = TensorFlowEstimatorWrapper(model_test) + + model_wrapped.fit(X_train, y_train) + pred_wrapped = model_wrapped.predict(X_test, steps=10) + + assert np.array_equal(pred, pred_wrapped) diff --git a/tests/bias_variance/test_bias_variance.py b/tests/bias_variance/test_bias_variance.py new file mode 100644 index 0000000..a5566e2 --- /dev/null +++ b/tests/bias_variance/test_bias_variance.py @@ -0,0 +1,264 @@ +import numpy as np +import pandas as pd + +from sklearn.tree import DecisionTreeClassifier +from sklearn.linear_model import LinearRegression + +from mvtk.bias_variance import bias_variance_compute, bias_variance_mse, bias_variance_0_1_loss, get_values, \ + train_and_predict, bootstrap_train_and_predict +from mvtk.bias_variance.estimators import SciKitLearnEstimatorWrapper + + +def create_data(): + X_train = np.arange(12).reshape(6, 2) + y_train = np.concatenate((np.arange(3), np.arange(3)), axis=None) + X_test = np.arange(6).reshape(3, 2) + y_test = np.array([0, 1, 1]) + + return X_train, y_train, X_test, y_test + + +def test_get_values(): + a = [1, 2] + b = [3, 4] + c = [1, 3] + d = [2, 4] + df = pd.DataFrame(data={'col_a': a, 'col_b': b}) + + df_values = get_values(df) + np_array = np.asarray([c, d]) + + assert isinstance(df_values, np.ndarray) + assert np.array_equal(df_values, np_array) + + +def test_train_and_predict_default(): + X_train, y_train, X_test, y_test = create_data() + + model = LinearRegression() + model_wrapped = SciKitLearnEstimatorWrapper(model) + + predictions = train_and_predict(model_wrapped, X_train, y_train, X_test) + + expected = np.array([0.4285714285714284, 0.657142857142857, 0.8857142857142857]) + + assert np.array_equal(predictions, expected) + + +def test_train_and_predict_prepare(): + X_train, y_train, X_test, y_test = create_data() + + model = LinearRegression() + model_wrapped = SciKitLearnEstimatorWrapper(model) + + predictions = train_and_predict(model_wrapped, X_train, y_train, X_test, + prepare_X=lambda x: x + 1, prepare_y_train=lambda x: x + 1) + + expected = np.array([1.314285714285714, 1.5428571428571427, 1.7714285714285714]) + + assert np.array_equal(predictions, expected) + + +def test_train_and_predict_kwargs_fit(): + X_train, y_train, X_test, y_test = create_data() + + model = DecisionTreeClassifier(random_state=123) + model_wrapped = SciKitLearnEstimatorWrapper(model) + + predictions = train_and_predict(model_wrapped, X_train, y_train, X_test, + fit_kwargs={'sample_weight': [0, 0, 1, 0, 1, 0]}) + + expected = np.array([2, 2, 2]) + + assert np.array_equal(predictions, expected) + + +def test_train_and_predict_kwargs_predict(): + X_train, y_train, X_test, y_test = create_data() + + model = DecisionTreeClassifier(random_state=123) + model_wrapped = SciKitLearnEstimatorWrapper(model) + + train_and_predict(model_wrapped, X_train, y_train, X_test) + + try: + train_and_predict(model_wrapped, X_train, y_train, X_test, + predict_kwargs={'check_input': False}) + except ValueError as e: + assert e.args[0] == 'X.dtype should be np.float32, got int64' + return + + assert False + + +def test_bootstrap_train_and_predict_default(): + X_train, y_train, X_test, y_test = create_data() + + model = LinearRegression() + model_wrapped = SciKitLearnEstimatorWrapper(model) + + predictions = bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, random_state=321) + + expected = np.array([0.7142857142857142, 0.8571428571428571, 1.0]) + + assert np.array_equal(predictions, expected) + + +def test_bootstrap_train_and_predict_kwargs_fit(): + X_train, y_train, X_test, y_test = create_data() + + model = DecisionTreeClassifier(random_state=123) + model_wrapped = SciKitLearnEstimatorWrapper(model) + + predictions = bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, random_state=321, + fit_kwargs={'sample_weight': [0, 0, 1, 0, 1, 0]}) + + expected = np.array([0, 0, 0]) + + assert np.array_equal(predictions, expected) + + +def test_bootstrap_train_and_predict_kwargs_predict(): + X_train, y_train, X_test, y_test = create_data() + + model = DecisionTreeClassifier(random_state=123) + model_wrapped = SciKitLearnEstimatorWrapper(model) + + bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, random_state=321) + + try: + bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, random_state=321, + predict_kwargs={'check_input': False}) + except ValueError as e: + assert e.args[0] == 'X.dtype should be np.float32, got int64' + return + + assert False + + +def test_bias_variance_compute_mse(): + X_train, y_train, X_test, y_test = create_data() + + model = LinearRegression() + model_wrapped = SciKitLearnEstimatorWrapper(model) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, + iterations=10, + random_state=123, decomp_fn=bias_variance_mse) + + assert avg_loss == np.float64(1.1661215949979167) + assert avg_bias == np.float64(0.11952943334828559) + assert avg_var == np.float64(1.0465921616496312) + assert net_var == np.float64(1.0465921616496312) + + assert avg_loss == avg_bias + net_var + assert avg_var == net_var + + +def test_bias_variance_compute_0_1(): + X_train, y_train, X_test, y_test = create_data() + + model = DecisionTreeClassifier(random_state=123) + model_wrapped = SciKitLearnEstimatorWrapper(model) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, + iterations=10, + random_state=123, decomp_fn=bias_variance_0_1_loss) + + assert avg_loss == np.float64(0.4666666666666666) + assert avg_bias == np.float64(0.3333333333333333) + assert avg_var == np.float64(0.3666666666666667) + assert net_var == np.float64(0.1333333333333333) + + assert avg_loss == avg_bias + net_var + + +def test_bias_variance_mse_no_loss(): + predictions = np.zeros((3, 5)) + y_test = np.zeros(5) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_mse(predictions, y_test) + + assert avg_loss == np.float64(0.0) + assert avg_bias == np.float64(0.0) + assert avg_var == np.float64(0.0) + assert net_var == np.float64(0.0) + + assert avg_loss == avg_bias + net_var + assert avg_var == net_var + + +def test_bias_variance_mse(): + predictions = np.zeros((3, 5)) + predictions[0] += 0.5 + y_test = np.zeros(5) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_mse(predictions, y_test) + + assert avg_loss == np.float64(0.08333333333333333) + assert avg_bias == np.float64(0.02777777777777778) + assert avg_var == np.float64(0.05555555555555556) + assert net_var == np.float64(0.05555555555555556) + + assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) + assert avg_var == net_var + + +def test_bias_variance_0_1_loss_no_loss(): + predictions = np.zeros((3, 5)) + y_test = np.zeros(5) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_0_1_loss(predictions, y_test) + + assert avg_loss == np.float64(0.0) + assert avg_bias == np.float64(0.0) + assert avg_var == np.float64(0.0) + assert net_var == np.float64(0.0) + + assert avg_loss == avg_bias + net_var + + +def test_bias_variance_0_1_loss_no_bias(): + predictions = np.zeros((3, 5)) + predictions[0] += 1 + y_test = np.zeros(5) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_0_1_loss(predictions, y_test) + + assert avg_loss == np.float64(0.3333333333333333) + assert avg_bias == np.float64(0.0) + assert avg_var == np.float64(0.3333333333333333) + assert net_var == np.float64(0.3333333333333333) + + assert avg_loss == avg_bias + net_var + + +def test_bias_variance_0_1_loss_var_diff(): + predictions = np.zeros((3, 5)) + predictions[0] += 1 + predictions[1][0] += 1 + y_test = np.zeros(5) + y_test[1] += 1 + + avg_loss, avg_bias, avg_var, net_var = bias_variance_0_1_loss(predictions, y_test) + + assert avg_loss == np.float64(0.4666666666666666) + assert avg_bias == np.float64(0.4) + assert avg_var == np.float64(0.3333333333333333) + assert net_var == np.float64(0.06666666666666668) + + assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) + + +def test_bias_variance_0_1_loss_div_by_0(): + predictions = np.ones((3, 5)) + y_test = np.zeros(5) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_0_1_loss(predictions, y_test) + + assert avg_loss == np.float64(1.0) + assert avg_bias == np.float64(1.0) + assert avg_var == np.float64(0.0) + assert net_var == np.float64(0.0) + + assert avg_loss == avg_bias + net_var diff --git a/tests/bias_variance/test_bias_variance_parallel.py b/tests/bias_variance/test_bias_variance_parallel.py new file mode 100644 index 0000000..ad9f847 --- /dev/null +++ b/tests/bias_variance/test_bias_variance_parallel.py @@ -0,0 +1,76 @@ +import numpy as np + +from sklearn.tree import DecisionTreeClassifier +from sklearn.linear_model import LinearRegression + +from mvtk.bias_variance import bias_variance_compute_parallel, bias_variance_mse, bias_variance_0_1_loss +from mvtk.bias_variance.estimators import SciKitLearnEstimatorWrapper + + +def create_data(): + X_train = np.arange(12).reshape(6, 2) + y_train = np.concatenate((np.arange(3), np.arange(3)), axis=None) + X_test = np.arange(6).reshape(3, 2) + y_test = np.array([0, 1, 1]) + + return X_train, y_train, X_test, y_test + + +def test_bias_variance_compute_parallel_mse(): + X_train, y_train, X_test, y_test = create_data() + + model = LinearRegression() + model_wrapped = SciKitLearnEstimatorWrapper(model) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, + random_state=123, decomp_fn=bias_variance_mse) + + assert avg_loss == np.float64(0.4065913365224816) + assert avg_bias == np.float64(0.13137593111071386) + assert avg_var == np.float64(0.27521540541176753) + assert net_var == np.float64(0.27521540541176753) + + assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) + assert avg_var == net_var + + +def test_bias_variance_calc_parallel_0_1(): + X_train, y_train, X_test, y_test = create_data() + + model = DecisionTreeClassifier(random_state=123) + model_wrapped = SciKitLearnEstimatorWrapper(model) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, + random_state=123, decomp_fn=bias_variance_0_1_loss) + + assert avg_loss == np.float64(0.4566666666666666) + assert avg_bias == np.float64(0.3333333333333333) + assert avg_var == np.float64(0.33499999999999996) + assert net_var == np.float64(0.12333333333333332) + + assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) + + +def test_bias_variance_calc_parallel_mse_no_random_state(): + X_train, y_train, X_test, y_test = create_data() + + model = LinearRegression() + model_wrapped = SciKitLearnEstimatorWrapper(model) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, + iterations=10, decomp_fn=bias_variance_mse) + + assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) + assert avg_var == net_var + + +def test_bias_variance_calc_parallel_0_1_no_random_state(): + X_train, y_train, X_test, y_test = create_data() + + model = DecisionTreeClassifier(random_state=123) + model_wrapped = SciKitLearnEstimatorWrapper(model) + + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, + iterations=10, decomp_fn=bias_variance_0_1_loss) + + assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) From 994d7934713e1d7caa4148231170c9be7a0ca41f Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Wed, 29 Nov 2023 20:31:44 -0500 Subject: [PATCH 02/14] Fix documentation issues. --- docs/bias_variance_user_guide.rst | 30 +++++++------------ docs/conf.py | 6 ++-- docs/index.rst | 10 +++++++ .../BiasVarianceClassification.ipynb | 10 +++---- .../BiasVarianceRegression.ipynb | 6 ++-- docs/refs.bib | 6 ++-- setup.py | 3 ++ 7 files changed, 38 insertions(+), 33 deletions(-) diff --git a/docs/bias_variance_user_guide.rst b/docs/bias_variance_user_guide.rst index e39adcb..5a61484 100644 --- a/docs/bias_variance_user_guide.rst +++ b/docs/bias_variance_user_guide.rst @@ -58,9 +58,7 @@ Before we begin, let's take a look at the distribution of the labels. Notice that the majority of label values are around 1 and 2, and much less around 5. .. figure:: images/bias_variance_label_distribution.png - :width: 800px :align: center - :height: 400px :alt: alternate text :figclass: align-center @@ -70,9 +68,7 @@ the test labels as is. Given that values of greater than 5 in the entire label set are considered outliers, we are fitting the model against outliers. .. figure:: images/high_bias_low_variance.png - :width: 800px :align: center - :height: 400px :alt: alternate text :figclass: align-center @@ -85,9 +81,7 @@ introducing 8 random "noise" features to the data set. We also reduce the size of the training set and train a neural network over a low number of epochs. .. figure:: images/low_bias_high_variance.png - :width: 800px :align: center - :height: 400px :alt: alternate text :figclass: align-center @@ -100,9 +94,7 @@ a combination of the techniques from the high bias low variance example and the low bias high variance example and train another neural network. .. figure:: images/high_bias_high_variance.png - :width: 800px :align: center - :height: 400px :alt: alternate text :figclass: align-center @@ -114,9 +106,7 @@ Finally we have a model with low bias and low variance. This is a simple linear regression model with no modifications to the training or test labels. .. figure:: images/low_bias_low_variance.png - :width: 800px :align: center - :height: 400px :alt: alternate text :figclass: align-center @@ -134,7 +124,7 @@ There are formulas for breaking down total model error into three parts: bias, variance, and noise. This can be applied to both regression problem loss functions (mean squared error) and classification problem loss functions (0-1 loss). In a paper by Pedro Domingos, a method of unified -decomposition was proposed for both types of problems:cite:`domingos2000decomp`. +decomposition was proposed for both types of problems :cite:`domingos2000decomp`. First lets define :math:`y` as a single prediction, :math:`D` as the set of training sets used to train the models, :math:`Y` as the set of predictions @@ -144,28 +134,28 @@ prediction. The main prediction :math:`y_m` is the smallest average loss for a prediction when compared to the set of predictions :math:`Y`. The main prediction is the mean of :math:`Y` for mean squared error and the mode of :math:`Y` for -0-1 loss:cite:`domingos2000decomp`. +0-1 loss :cite:`domingos2000decomp`. Bias can now be defined for a single example :math:`x` over the set of models trained on :math:`D` as the loss calculated between the main prediction -:math:`y_m` and the correct prediction :math:`y_*`:cite:`domingos2000decomp`. +:math:`y_m` and the correct prediction :math:`y_*` :cite:`domingos2000decomp`. .. math:: B(x) = L(y_*,y_m) Variance can now be defined for a single example :math:`x` over the set of models trained on :math:`D` as the average loss calculated between all predictions -and the main prediction :math:`y_m`:cite:`domingos2000decomp`. +and the main prediction :math:`y_m` :cite:`domingos2000decomp`. .. math:: V(x) = E_D[L(y_m, y)] We will need to take the average of the bias over all examples as :math:`E_x[B(x)]` and the average of the variance over all examples as -:math:`E_x[V(x)]`:cite:`domingos2000decomp`. +:math:`E_x[V(x)]` :cite:`domingos2000decomp`. With :math:`N(x)` representing the irreducible error from observation noise, we -can decompose the average expected loss as:cite:`domingos2000decomp` +can decompose the average expected loss as :cite:`domingos2000decomp` .. math:: E_x[N(x)] + E_x[B(x)] + E_x[cV(x)] @@ -186,7 +176,7 @@ For mean squared loss functions, :math:`c = 1`, meaning that average variance is equal to net variance. For zero-one loss functions, :math:`c = 1` when :math:`y_m = y_*` otherwise -:math:`c = -P_D(y = y_* | y != y_m)`.:cite:`domingos2000decomp` In other words, +:math:`c = -P_D(y = y_* | y != y_m)`. :cite:`domingos2000decomp` In other words, :math:`c` is 1 when the main prediction is the correct prediction. If the main prediction is not the correct prediction, then :math:`c` is equal to the probability of a single prediction being the correct prediction given that the @@ -200,7 +190,7 @@ variance, and net variance for an estimator trained and tested over a specified of training sets. This was inspired and modeled after Sebastian Raschka's `bias_variance_decomp `_ -function:cite:`mlxtenddecomp`. +function :cite:`mlxtenddecomp`. We use the `bootstrapping `_ method to produce our sets of training data from the original training set. By default it will use mean squared error as the loss function, but it will accept the following @@ -228,8 +218,8 @@ This allows for faster calculations using computations over a distributed archit .. topic:: Tutorials: * :doc:`Bias-Variance Visualization ` - * :doc:`Bias-Variance Regression ` - * :doc:`Bias-Variance Classification ` + * :doc:`Bias-Variance Regression ` + * :doc:`Bias-Variance Classification ` .. bibliography:: refs.bib :cited: diff --git a/docs/conf.py b/docs/conf.py index 8578037..64642a7 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -23,7 +23,7 @@ author = "Model Validation Toolkit Team" # The full version, including alpha/beta/rc tags -release = "0.0.1" +release = "0.2.0" # -- General configuration --------------------------------------------------- @@ -73,8 +73,8 @@ # A fix for Sphinx error contents.rst not found master_doc = "index" -# increase the timeout for long running notebooks -nbsphinx_timeout = 180 +# increase the timeout for long-running notebooks +nbsphinx_timeout = 360 # Don't show full paths add_module_names = False diff --git a/docs/index.rst b/docs/index.rst index 07bb579..9656ab8 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -25,6 +25,7 @@ The Model Validation Toolkit is a library for model validation, metaanalysis, an thresholding_user_guide interprenet_user_guide sobol_user_guide + bias_variance_user_guide .. toctree:: :maxdepth: 1 @@ -60,6 +61,14 @@ The Model Validation Toolkit is a library for model validation, metaanalysis, an notebooks/metrics/CounteringSampleBias +.. toctree:: + :maxdepth: 1 + :caption: Bias-Variance Decomposition Tutorials + + notebooks/bias_variance/BiasVarianceClassification + notebooks/bias_variance/BiasVarianceRegression + notebooks/bias_variance/BiasVarianceVisualization + .. toctree:: :maxdepth: 1 :caption: Python API @@ -70,6 +79,7 @@ The Model Validation Toolkit is a library for model validation, metaanalysis, an interprenet sobol metrics + bias_variance Indices and tables ================== diff --git a/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb b/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb index 9788319..b97f492 100644 --- a/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb +++ b/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb @@ -113,7 +113,7 @@ "outputs": [], "source": [ "# Use wrapped estimator\n", - "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=200, \n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=10, \n", " random_state=random_state, decomp_fn=bias_variance_0_1_loss)\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -225,7 +225,7 @@ "source": [ "# Use wrapped estimator\n", "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_pytorch_wrapped, X_train_torch, y_train_torch, X_test_torch, y_test, \n", - " iterations=200, random_state=random_state, decomp_fn=bias_variance_0_1_loss, \n", + " iterations=10, random_state=random_state, decomp_fn=bias_variance_0_1_loss, \n", " fit_kwargs={'epochs': 50})\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -307,7 +307,7 @@ "outputs": [], "source": [ "# Use wrapped estimator\n", - "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, iterations=20, \n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, iterations=10, \n", " random_state=random_state, decomp_fn=bias_variance_0_1_loss, \n", " fit_kwargs={'epochs': 100, 'batch_size': 50, 'verbose': False}, \n", " predict_kwargs={'verbose': False})\n", @@ -336,7 +336,7 @@ "from mvtk.bias_variance import bias_variance_compute_parallel\n", "\n", "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, \n", - " iterations=20, random_state=random_state, \n", + " iterations=10, random_state=random_state, \n", " decomp_fn=bias_variance_0_1_loss, \n", " fit_kwargs={'epochs': 100, 'batch_size': 50, 'verbose': False}, \n", " predict_kwargs={'verbose': False})\n", @@ -372,7 +372,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.7" + "version": "3.10.11" } }, "nbformat": 4, diff --git a/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb b/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb index b4ae5de..1737856 100644 --- a/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb +++ b/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb @@ -113,7 +113,7 @@ "outputs": [], "source": [ "# Use wrapped estimator\n", - "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=200, \n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=10, \n", " random_state=random_state, decomp_fn=bias_variance_mse)\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -229,7 +229,7 @@ "source": [ "# Use wrapped estimator\n", "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_pytorch_wrapped, X_train_torch, y_train_torch, X_test_torch, y_test, \n", - " iterations=100, random_state=random_state, decomp_fn=bias_variance_mse, \n", + " iterations=10, random_state=random_state, decomp_fn=bias_variance_mse, \n", " fit_kwargs={'epochs': 100, 'batch_size': 300})\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -368,7 +368,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.7" + "version": "3.10.11" } }, "nbformat": 4, diff --git a/docs/refs.bib b/docs/refs.bib index 0652997..9239433 100644 --- a/docs/refs.bib +++ b/docs/refs.bib @@ -149,9 +149,11 @@ @article{lin1991divergence year={1991}, publisher={IEEE} } -@article{domingos2000decomp, +@techreport{domingos2000decomp, author={Domingos, Pedro}, title={A Unified Bias-Variance Decomposition and its Applications}, + institution={University of Washington}, + address={Seattle, WA}, month={January}, year={2000}, url={https://homes.cs.washington.edu/~pedrod/papers/mlc00a.pdf} @@ -159,6 +161,6 @@ @article{domingos2000decomp @misc{mlxtenddecomp, author={Sebastian Raschka}, title={bias_variance_decomp: Bias-variance decomposition for classification and regression losses}, - year={2014-2023} + year={2014-2023}, url={https://rasbt.github.io/mlxtend/user_guide/evaluate/bias_variance_decomp/} } \ No newline at end of file diff --git a/setup.py b/setup.py index 1542179..c31a302 100644 --- a/setup.py +++ b/setup.py @@ -13,6 +13,9 @@ "sphinxcontrib-bibtex", "imageio", "myst-parser", + "ipykernel", + "torch", + "tensorflow" ], "pytorch": [ "torch" From 496c893e2b3a1028e4bb59defd136021ea4e1576 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Wed, 29 Nov 2023 20:54:13 -0500 Subject: [PATCH 03/14] Updated README. --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 20a96ad..59da69e 100644 --- a/README.md +++ b/README.md @@ -32,6 +32,7 @@ You can import: - `mvtk.sobol` for Sobol sensitivity analysis - `mvtk.supervisor` for divergence analysis - `mvtk.metrics` for specialised metrics +- `mvtk.bias_variance` for bias-variance decomposition # Documentation You can run `make -C docs html` on a Mac or `make.bat -C docs html` on a PC to just rebuild the docs. In this case, point your browser to ```docs/_build/html/index.html``` to view the homepage. If your browser was already pointing to documentation that you changed, you can refresh the page to see the changes. From 745ef0d02ee27b78d9cda369272623746fcc52d7 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Wed, 29 Nov 2023 21:01:15 -0500 Subject: [PATCH 04/14] Fix pre-commit repo. --- .pre-commit-config.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index e241b01..480b53f 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -16,7 +16,7 @@ repos: language_version: python3.8 args: [--line-length=88, tests, mvtk] -- repo: https://gitlab.com/pycqa/flake8 +- repo: https://github.com/pycqa/flake8 rev: 4.0.1 hooks: - id: flake8 From f0ae634f6d41993e063fcb76c132844fa51002b6 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Wed, 29 Nov 2023 21:31:10 -0500 Subject: [PATCH 05/14] Fix formatting issues. --- mvtk/bias_variance/bias_variance.py | 70 ++++++++++++------- mvtk/bias_variance/bias_variance_parallel.py | 59 ++++++++++------ .../estimators/estimator_wrapper.py | 3 +- .../estimators/pytorch_estimator_wrapper.py | 6 +- .../tensorflow_estimator_wrapper.py | 6 +- mvtk/supervisor/divergence/metrics.py | 3 +- .../test_pytorch_estimator_wrapper.py | 6 +- tests/bias_variance/test_bias_variance.py | 37 ++++++---- .../test_bias_variance_parallel.py | 24 ++++--- 9 files changed, 136 insertions(+), 78 deletions(-) diff --git a/mvtk/bias_variance/bias_variance.py b/mvtk/bias_variance/bias_variance.py index 315853a..1530f4d 100644 --- a/mvtk/bias_variance/bias_variance.py +++ b/mvtk/bias_variance/bias_variance.py @@ -31,12 +31,16 @@ def train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared r"""Train an estimator and get predictions from it Args: - estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + estimator (EstimatorWrapper): estimator wrapped with a class extending + EstimatorWrapper X_train_values: numpy array of features for training y_train_values: numpy array of ground truth labels for training - X_test_prepared: feature set for testing which has been processed by prepare_X function - prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods - prepare_y_train (function, optional): function to transform train ground truth labels before calling fit method + X_test_prepared: feature set for testing which has been processed by + prepare_X function + prepare_X (function, optional): function to transform feature datasets + before calling fit and predict methods + prepare_y_train (function, optional): function to transform train ground + truth labels before calling fit method fit_kwargs (dict, optional): kwargs to pass to the fit method predict_kwargs (dict, optional): kwargs to pass to the predict method @@ -57,28 +61,36 @@ def train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared @public.add -def bootstrap_train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared, - prepare_X=lambda x: x, prepare_y_train=lambda x: x, - random_state=None, fit_kwargs=None, predict_kwargs=None): - r"""Train an estimator using a bootstrap sample of the training data and get predictions from it +def bootstrap_train_and_predict(estimator, X_train_values, y_train_values, + X_test_prepared, prepare_X=lambda x: x, + prepare_y_train=lambda x: x, + random_state=None, fit_kwargs=None, + predict_kwargs=None): + r"""Train an estimator using a bootstrap sample of the training data and get + predictions from it Args: - estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + estimator (EstimatorWrapper): estimator wrapped with a class extending + EstimatorWrapper X_train_values: numpy array of features for training y_train_values: numpy array of ground truth labels for training - X_test_prepared: feature set for testing which has been processed by prepare_X function - prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods - prepare_y_train (function, optional): function to transform train ground truth labels before calling fit method + X_test_prepared: feature set for testing which has been processed by prepare_X + function + prepare_X (function, optional): function to transform feature datasets before + calling fit and predict methods + prepare_y_train (function, optional): function to transform train ground + truth labels before calling fit method random_state (int, optional): random state for bootstrap sampling fit_kwargs (dict, optional): kwargs to pass to the fit method predict_kwargs (dict, optional): kwargs to pass to the predict method Returns: predictions""" - X_sample, y_sample = resample(X_train_values, y_train_values, random_state=random_state) + X_sample, y_sample = resample(X_train_values, y_train_values, + random_state=random_state) - return train_and_predict(estimator, X_sample, y_sample, X_test_prepared, prepare_X, prepare_y_train, - fit_kwargs, predict_kwargs) + return train_and_predict(estimator, X_sample, y_sample, X_test_prepared, prepare_X, + prepare_y_train, fit_kwargs, predict_kwargs) @public.add @@ -136,7 +148,8 @@ def bias_variance_0_1_loss(predictions, y_test): arr_var[i] = pred_not_main / predictions.shape[0] if main_predictions[i] != y_test[i]: - prb_true_given_not_main = pred_true / pred_not_main if pred_not_main != 0 else 0 + prb_true_given_not_main = pred_true / pred_not_main if pred_not_main != 0 \ + else 0 var_b += (pred_not_main / predictions.shape[0]) * prb_true_given_not_main else: var_u += pred_not_main / predictions.shape[0] @@ -152,19 +165,25 @@ def bias_variance_0_1_loss(predictions, y_test): @public.add -def bias_variance_compute(estimator, X_train, y_train, X_test, y_test, prepare_X=lambda x: x, prepare_y_train=lambda x: x, - iterations=200, random_state=None, decomp_fn=bias_variance_mse, fit_kwargs=None, - predict_kwargs=None): +def bias_variance_compute(estimator, X_train, y_train, X_test, y_test, + prepare_X=lambda x: x, + prepare_y_train=lambda x: x, + iterations=200, random_state=None, + decomp_fn=bias_variance_mse, + fit_kwargs=None, predict_kwargs=None): r"""Compute the bias-variance decomposition in serial Args: - estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + estimator (EstimatorWrapper): estimator wrapped with a class extending + EstimatorWrapper X_train: features for training y_train: ground truth labels for training X_test: features for testing y_test: ground truth labels for testing - prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods - prepare_y_train (function, optional): function to transform training ground truth labels before calling fit method + prepare_X (function, optional): function to transform feature datasets before + calling fit and predict methods + prepare_y_train (function, optional): function to transform training ground + truth labels before calling fit method iterations (int, optional): number of iterations for the training/testing random_state (int, optional): random state for bootstrap sampling decomp_fn (function, optional): bias-variance decomposition function @@ -189,8 +208,11 @@ def bias_variance_compute(estimator, X_train, y_train, X_test, y_test, prepare_X X_test_prepared = prepare_X(X_test_values) for i in range(iterations): - predictions[i] = bootstrap_train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared, - prepare_X, prepare_y_train, random_state, + predictions[i] = bootstrap_train_and_predict(estimator, X_train_values, + y_train_values, + X_test_prepared, + prepare_X, prepare_y_train, + random_state, fit_kwargs, predict_kwargs) y_test_values = get_values(y_test) diff --git a/mvtk/bias_variance/bias_variance_parallel.py b/mvtk/bias_variance/bias_variance_parallel.py index a1d3d1b..2d77ff7 100644 --- a/mvtk/bias_variance/bias_variance_parallel.py +++ b/mvtk/bias_variance/bias_variance_parallel.py @@ -13,19 +13,23 @@ def _prepare_X_and_y(X_train_values, y_train_values, prepare_X, prepare_y_train) @public.add def bias_variance_compute_parallel(estimator, X_train, y_train, X_test, y_test, - prepare_X=lambda x: x, prepare_y_train=lambda x: x, - iterations=200, random_state=None, decomp_fn=bias_variance_mse, fit_kwargs=None, - predict_kwargs=None): + prepare_X=lambda x: x, prepare_y_train=lambda x: x, + iterations=200, random_state=None, + decomp_fn=bias_variance_mse, fit_kwargs=None, + predict_kwargs=None): r"""Compute the bias-variance decomposition in parallel Args: - estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + estimator (EstimatorWrapper): estimator wrapped with a class extending + EstimatorWrapper X_train: features for training y_train: ground truth labels for training X_test: features for testing y_test: ground truth labels for testing - prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods - prepare_y_train (function, optional): function to transform training ground truth labels before calling fit method + prepare_X (function, optional): function to transform feature datasets before + calling fit and predict methods + prepare_y_train (function, optional): function to transform training ground + truth labels before calling fit method iterations (int, optional): number of iterations for the training/testing random_state (int, optional): random state for bootstrap sampling decomp_fn (function, optional): bias-variance decomposition function @@ -55,12 +59,12 @@ def bias_variance_compute_parallel(estimator, X_train, y_train, X_test, y_test, fit_kwargs, predict_kwargs) for _ in range(iterations)] else: - result = [train_and_predict_ray.remote(estimator, - *_prepare_X_and_y(*resample(X_train_values, y_train_values, - random_state=random_state), - prepare_X, prepare_y_train), - X_test_prepared, - fit_kwargs, predict_kwargs) + result = [train_and_predict_ray.remote( + estimator, + *_prepare_X_and_y(*resample(X_train_values, y_train_values, + random_state=random_state), + prepare_X, prepare_y_train), + X_test_prepared, fit_kwargs, predict_kwargs) for _ in range(iterations)] predictions = np.array(ray.get(result)) @@ -76,10 +80,12 @@ def train_and_predict_ray(estimator, X_train_values, y_train_values, X_test_prep r"""Train an estimator and get predictions from it Args: - estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + estimator (EstimatorWrapper): estimator wrapped with a class extending + EstimatorWrapper X_train_values: numpy array of features for training y_train_values: numpy array of ground truth labels for training - X_test_prepared: features for testing which has been processed by prepare_X function + X_test_prepared: features for testing which has been processed by prepare_X + function fit_kwargs (dict, optional): kwargs to pass to the fit method predict_kwargs (dict, optional): kwargs to pass to the predict method @@ -90,18 +96,24 @@ def train_and_predict_ray(estimator, X_train_values, y_train_values, X_test_prep @ray.remote -def bootstrap_train_and_predict_ray(estimator, X_train_values, y_train_values, X_test_prepared, - prepare_X=lambda x: x, prepare_y_train=lambda x: x, - fit_kwargs=None, predict_kwargs=None): - r"""Train an estimator using a bootstrap sample of the training data and get predictions from it +def bootstrap_train_and_predict_ray(estimator, X_train_values, y_train_values, + X_test_prepared, + prepare_X=lambda x: x, prepare_y_train=lambda x: x, + fit_kwargs=None, predict_kwargs=None): + r"""Train an estimator using a bootstrap sample of the training data and get + predictions from it Args: - estimator (EstimatorWrapper): estimator wrapped with a class extending EstimatorWrapper + estimator (EstimatorWrapper): estimator wrapped with a class extending + EstimatorWrapper X_train_values: numpy array of features for training y_train_values: numpy array of ground truth labels for training - X_test_prepared: features for testing which has been processed by prepare_X function - prepare_X (function, optional): function to transform feature datasets before calling fit and predict methods - prepare_y_train (function, optional): function to transform train ground truth labels before calling fit method + X_test_prepared: features for testing which has been processed by prepare_X + function + prepare_X (function, optional): function to transform feature datasets before + calling fit and predict methods + prepare_y_train (function, optional): function to transform train ground truth + labels before calling fit method fit_kwargs (dict, optional): kwargs to pass to the fit method predict_kwargs (dict, optional): kwargs to pass to the predict method @@ -114,5 +126,6 @@ def bootstrap_train_and_predict_ray(estimator, X_train_values, y_train_values, X X_sample, y_sample = resample(X_train_values, y_train_values) - return train_and_predict(estimator, X_sample, y_sample, X_test_prepared, prepare_X, prepare_y_train, + return train_and_predict(estimator, X_sample, y_sample, X_test_prepared, + prepare_X, prepare_y_train, fit_kwargs, predict_kwargs) diff --git a/mvtk/bias_variance/estimators/estimator_wrapper.py b/mvtk/bias_variance/estimators/estimator_wrapper.py index 38acfa3..896e962 100644 --- a/mvtk/bias_variance/estimators/estimator_wrapper.py +++ b/mvtk/bias_variance/estimators/estimator_wrapper.py @@ -1,5 +1,6 @@ class EstimatorWrapper: - r"""This is a wrapper class that can be inherited to conform any estimator to the fit/predict interface""" + r"""This is a wrapper class that can be inherited to conform any estimator + to the fit/predict interface""" def fit(self, X, y, **kwargs): r"""Train the estimator diff --git a/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py b/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py index 55d80a1..68c261b 100644 --- a/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py +++ b/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py @@ -2,7 +2,8 @@ class PyTorchEstimatorWrapper(EstimatorWrapper): - def __init__(self, estimator, optimizer_generator, loss_fn, fit_fn=None, predict_fn=None): + def __init__(self, estimator, optimizer_generator, loss_fn, fit_fn=None, + predict_fn=None): r"""Create a wrapper for a PyTorch estimator Args: @@ -10,7 +11,8 @@ def __init__(self, estimator, optimizer_generator, loss_fn, fit_fn=None, predict optimizer_generator: generator function for the optimizer loss_fn: loss function fit_fn (optional): custom fit function to be called instead of default one - predict_fn (optional): custom predict function to be called instead of default one + predict_fn (optional): custom predict function to be called instead + of default one Returns: self diff --git a/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py b/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py index ab8821f..f57361b 100644 --- a/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py +++ b/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py @@ -56,5 +56,7 @@ def _reset_weights(self): layer.kernel.assign(layer.kernel_initializer(tf.shape(layer.kernel))) if hasattr(layer, 'bias_initializer') and hasattr(layer, 'bias'): layer.bias.assign(layer.bias_initializer(tf.shape(layer.bias))) - if hasattr(layer, 'recurrent_initializer') and hasattr(layer, 'recurrent_kernal'): - layer.recurrent_kernal.assign(layer.recurrent_initializer(tf.shape(layer.recurrent_kernal))) + if (hasattr(layer, 'recurrent_initializer') and + hasattr(layer, 'recurrent_kernal')): + layer.recurrent_kernal.assign(layer.recurrent_initializer( + tf.shape(layer.recurrent_kernal))) diff --git a/mvtk/supervisor/divergence/metrics.py b/mvtk/supervisor/divergence/metrics.py index bff6da3..cae112c 100644 --- a/mvtk/supervisor/divergence/metrics.py +++ b/mvtk/supervisor/divergence/metrics.py @@ -474,7 +474,8 @@ def calc_kl_density(density_p, density_q): @public.add def calc_kl_mle(sample_distribution_p, sample_distribution_q): - r"""Kullback–Leibler (KL) divergence calculated via histogram based density estimators. + r"""Kullback–Leibler (KL) divergence calculated via histogram based density + estimators. For two distributions, :math:`p` and :math:`q` defined over the same probability space, `\mathcal{X}`, the KL divergence is defined as diff --git a/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py b/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py index 1dbafdc..4453065 100644 --- a/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py +++ b/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py @@ -166,7 +166,8 @@ def test_pytorch_estimator_wrapper_custom_fit(): torch.manual_seed(123) model_test, optimizer_test, loss_fn_test = create_model() - model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test, fit_fn=custom_fit) + model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test, + fit_fn=custom_fit) model_wrapped.fit(X_train_torch, y_train_torch) pred_wrapped = model_wrapped.predict(X_test_torch) @@ -192,7 +193,8 @@ def test_pytorch_estimator_wrapper_custom_predict(): torch.manual_seed(123) model_test, optimizer_test, loss_fn_test = create_model() - model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test, predict_fn=custom_predict) + model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test, + predict_fn=custom_predict) model_wrapped.fit(X_train_torch, y_train_torch) pred_wrapped = model_wrapped.predict(X_test_torch) diff --git a/tests/bias_variance/test_bias_variance.py b/tests/bias_variance/test_bias_variance.py index a5566e2..4dc33db 100644 --- a/tests/bias_variance/test_bias_variance.py +++ b/tests/bias_variance/test_bias_variance.py @@ -4,8 +4,9 @@ from sklearn.tree import DecisionTreeClassifier from sklearn.linear_model import LinearRegression -from mvtk.bias_variance import bias_variance_compute, bias_variance_mse, bias_variance_0_1_loss, get_values, \ - train_and_predict, bootstrap_train_and_predict +from mvtk.bias_variance import (bias_variance_compute, bias_variance_mse, + bias_variance_0_1_loss, get_values, + train_and_predict, bootstrap_train_and_predict) from mvtk.bias_variance.estimators import SciKitLearnEstimatorWrapper @@ -52,7 +53,8 @@ def test_train_and_predict_prepare(): model_wrapped = SciKitLearnEstimatorWrapper(model) predictions = train_and_predict(model_wrapped, X_train, y_train, X_test, - prepare_X=lambda x: x + 1, prepare_y_train=lambda x: x + 1) + prepare_X=lambda x: x + 1, + prepare_y_train=lambda x: x + 1) expected = np.array([1.314285714285714, 1.5428571428571427, 1.7714285714285714]) @@ -97,7 +99,8 @@ def test_bootstrap_train_and_predict_default(): model = LinearRegression() model_wrapped = SciKitLearnEstimatorWrapper(model) - predictions = bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, random_state=321) + predictions = bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, + random_state=321) expected = np.array([0.7142857142857142, 0.8571428571428571, 1.0]) @@ -110,8 +113,10 @@ def test_bootstrap_train_and_predict_kwargs_fit(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - predictions = bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, random_state=321, - fit_kwargs={'sample_weight': [0, 0, 1, 0, 1, 0]}) + predictions = bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, + random_state=321, + fit_kwargs={'sample_weight': + [0, 0, 1, 0, 1, 0]}) expected = np.array([0, 0, 0]) @@ -124,10 +129,12 @@ def test_bootstrap_train_and_predict_kwargs_predict(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, random_state=321) + bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, + random_state=321) try: - bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, random_state=321, + bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, + random_state=321, predict_kwargs={'check_input': False}) except ValueError as e: assert e.args[0] == 'X.dtype should be np.float32, got int64' @@ -142,9 +149,10 @@ def test_bias_variance_compute_mse(): model = LinearRegression() model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, - iterations=10, - random_state=123, decomp_fn=bias_variance_mse) + avg_loss, avg_bias, avg_var, net_var = ( + bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, + iterations=10, random_state=123, + decomp_fn=bias_variance_mse)) assert avg_loss == np.float64(1.1661215949979167) assert avg_bias == np.float64(0.11952943334828559) @@ -161,9 +169,10 @@ def test_bias_variance_compute_0_1(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, - iterations=10, - random_state=123, decomp_fn=bias_variance_0_1_loss) + avg_loss, avg_bias, avg_var, net_var = ( + bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, + iterations=10, random_state=123, + decomp_fn=bias_variance_0_1_loss)) assert avg_loss == np.float64(0.4666666666666666) assert avg_bias == np.float64(0.3333333333333333) diff --git a/tests/bias_variance/test_bias_variance_parallel.py b/tests/bias_variance/test_bias_variance_parallel.py index ad9f847..d35002f 100644 --- a/tests/bias_variance/test_bias_variance_parallel.py +++ b/tests/bias_variance/test_bias_variance_parallel.py @@ -3,7 +3,8 @@ from sklearn.tree import DecisionTreeClassifier from sklearn.linear_model import LinearRegression -from mvtk.bias_variance import bias_variance_compute_parallel, bias_variance_mse, bias_variance_0_1_loss +from mvtk.bias_variance import (bias_variance_compute_parallel, bias_variance_mse, + bias_variance_0_1_loss) from mvtk.bias_variance.estimators import SciKitLearnEstimatorWrapper @@ -22,8 +23,9 @@ def test_bias_variance_compute_parallel_mse(): model = LinearRegression() model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, - random_state=123, decomp_fn=bias_variance_mse) + avg_loss, avg_bias, avg_var, net_var = ( + bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, + random_state=123, decomp_fn=bias_variance_mse)) assert avg_loss == np.float64(0.4065913365224816) assert avg_bias == np.float64(0.13137593111071386) @@ -40,8 +42,10 @@ def test_bias_variance_calc_parallel_0_1(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, - random_state=123, decomp_fn=bias_variance_0_1_loss) + avg_loss, avg_bias, avg_var, net_var = ( + bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, + random_state=123, + decomp_fn=bias_variance_0_1_loss)) assert avg_loss == np.float64(0.4566666666666666) assert avg_bias == np.float64(0.3333333333333333) @@ -57,8 +61,9 @@ def test_bias_variance_calc_parallel_mse_no_random_state(): model = LinearRegression() model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, - iterations=10, decomp_fn=bias_variance_mse) + avg_loss, avg_bias, avg_var, net_var = ( + bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, + iterations=10, decomp_fn=bias_variance_mse)) assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) assert avg_var == net_var @@ -70,7 +75,8 @@ def test_bias_variance_calc_parallel_0_1_no_random_state(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, - iterations=10, decomp_fn=bias_variance_0_1_loss) + avg_loss, avg_bias, avg_var, net_var = ( + bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, + iterations=10, decomp_fn=bias_variance_0_1_loss)) assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) From 7cb58aeea67bfc52769d2fab018aa374bb604818 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Wed, 29 Nov 2023 21:59:22 -0500 Subject: [PATCH 06/14] Update pre-commit versions and updated file formatting. --- .pre-commit-config.yaml | 8 +- mvtk/bias_variance/bias_variance.py | 94 ++++++++++----- mvtk/bias_variance/bias_variance_parallel.py | 108 +++++++++++++----- .../estimators/pytorch_estimator_wrapper.py | 17 +-- .../tensorflow_estimator_wrapper.py | 14 ++- setup.py | 12 +- .../test_pytorch_estimator_wrapper.py | 10 +- .../test_sklearn_estimator_wrapper.py | 4 +- .../test_tensorflow_estimator_wrapper.py | 22 ++-- tests/bias_variance/test_bias_variance.py | 107 +++++++++++------ .../test_bias_variance_parallel.py | 56 ++++++--- 11 files changed, 306 insertions(+), 146 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 480b53f..fc4aa16 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -9,20 +9,20 @@ repos: -- repo: https://github.com/ambv/black - rev: 22.3.0 +- repo: https://github.com/psf/black + rev: 23.11.0 hooks: - id: black language_version: python3.8 args: [--line-length=88, tests, mvtk] - repo: https://github.com/pycqa/flake8 - rev: 4.0.1 + rev: 6.1.0 hooks: - id: flake8 args: [--max-line-length=88, '--per-file-ignores=__init__.py:F401,F403', tests, mvtk] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.942 + rev: v1.7.1 hooks: - id: mypy files: mvtk/ diff --git a/mvtk/bias_variance/bias_variance.py b/mvtk/bias_variance/bias_variance.py index 1530f4d..04750c7 100644 --- a/mvtk/bias_variance/bias_variance.py +++ b/mvtk/bias_variance/bias_variance.py @@ -25,9 +25,16 @@ def get_values(x): @public.add -def train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared, - prepare_X=lambda x: x, prepare_y_train=lambda x: x, - fit_kwargs=None, predict_kwargs=None): +def train_and_predict( + estimator, + X_train_values, + y_train_values, + X_test_prepared, + prepare_X=lambda x: x, + prepare_y_train=lambda x: x, + fit_kwargs=None, + predict_kwargs=None, +): r"""Train an estimator and get predictions from it Args: @@ -61,11 +68,17 @@ def train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared @public.add -def bootstrap_train_and_predict(estimator, X_train_values, y_train_values, - X_test_prepared, prepare_X=lambda x: x, - prepare_y_train=lambda x: x, - random_state=None, fit_kwargs=None, - predict_kwargs=None): +def bootstrap_train_and_predict( + estimator, + X_train_values, + y_train_values, + X_test_prepared, + prepare_X=lambda x: x, + prepare_y_train=lambda x: x, + random_state=None, + fit_kwargs=None, + predict_kwargs=None, +): r"""Train an estimator using a bootstrap sample of the training data and get predictions from it @@ -86,11 +99,20 @@ def bootstrap_train_and_predict(estimator, X_train_values, y_train_values, Returns: predictions""" - X_sample, y_sample = resample(X_train_values, y_train_values, - random_state=random_state) - - return train_and_predict(estimator, X_sample, y_sample, X_test_prepared, prepare_X, - prepare_y_train, fit_kwargs, predict_kwargs) + X_sample, y_sample = resample( + X_train_values, y_train_values, random_state=random_state + ) + + return train_and_predict( + estimator, + X_sample, + y_sample, + X_test_prepared, + prepare_X, + prepare_y_train, + fit_kwargs, + predict_kwargs, + ) @public.add @@ -138,8 +160,8 @@ def bias_variance_0_1_loss(predictions, y_test): arr_loss = np.zeros(pred_by_x.shape[0], dtype=np.float64) arr_var = np.zeros(pred_by_x.shape[0], dtype=np.float64) - var_b = 0.0 # biased example contribution to avg_var - var_u = 0.0 # unbiased example contribution to avg_var + var_b = 0.0 # biased example contribution to avg_var + var_u = 0.0 # unbiased example contribution to avg_var for i in range(pred_by_x.shape[0]): pred_true = np.sum(pred_by_x[i] == y_test[i]) pred_not_main = np.sum(pred_by_x[i] != main_predictions[i]) @@ -148,8 +170,9 @@ def bias_variance_0_1_loss(predictions, y_test): arr_var[i] = pred_not_main / predictions.shape[0] if main_predictions[i] != y_test[i]: - prb_true_given_not_main = pred_true / pred_not_main if pred_not_main != 0 \ - else 0 + prb_true_given_not_main = ( + pred_true / pred_not_main if pred_not_main != 0 else 0 + ) var_b += (pred_not_main / predictions.shape[0]) * prb_true_given_not_main else: var_u += pred_not_main / predictions.shape[0] @@ -165,12 +188,20 @@ def bias_variance_0_1_loss(predictions, y_test): @public.add -def bias_variance_compute(estimator, X_train, y_train, X_test, y_test, - prepare_X=lambda x: x, - prepare_y_train=lambda x: x, - iterations=200, random_state=None, - decomp_fn=bias_variance_mse, - fit_kwargs=None, predict_kwargs=None): +def bias_variance_compute( + estimator, + X_train, + y_train, + X_test, + y_test, + prepare_X=lambda x: x, + prepare_y_train=lambda x: x, + iterations=200, + random_state=None, + decomp_fn=bias_variance_mse, + fit_kwargs=None, + predict_kwargs=None, +): r"""Compute the bias-variance decomposition in serial Args: @@ -208,12 +239,17 @@ def bias_variance_compute(estimator, X_train, y_train, X_test, y_test, X_test_prepared = prepare_X(X_test_values) for i in range(iterations): - predictions[i] = bootstrap_train_and_predict(estimator, X_train_values, - y_train_values, - X_test_prepared, - prepare_X, prepare_y_train, - random_state, - fit_kwargs, predict_kwargs) + predictions[i] = bootstrap_train_and_predict( + estimator, + X_train_values, + y_train_values, + X_test_prepared, + prepare_X, + prepare_y_train, + random_state, + fit_kwargs, + predict_kwargs, + ) y_test_values = get_values(y_test) diff --git a/mvtk/bias_variance/bias_variance_parallel.py b/mvtk/bias_variance/bias_variance_parallel.py index 2d77ff7..c8d7e63 100644 --- a/mvtk/bias_variance/bias_variance_parallel.py +++ b/mvtk/bias_variance/bias_variance_parallel.py @@ -12,11 +12,20 @@ def _prepare_X_and_y(X_train_values, y_train_values, prepare_X, prepare_y_train) @public.add -def bias_variance_compute_parallel(estimator, X_train, y_train, X_test, y_test, - prepare_X=lambda x: x, prepare_y_train=lambda x: x, - iterations=200, random_state=None, - decomp_fn=bias_variance_mse, fit_kwargs=None, - predict_kwargs=None): +def bias_variance_compute_parallel( + estimator, + X_train, + y_train, + X_test, + y_test, + prepare_X=lambda x: x, + prepare_y_train=lambda x: x, + iterations=200, + random_state=None, + decomp_fn=bias_variance_mse, + fit_kwargs=None, + predict_kwargs=None, +): r"""Compute the bias-variance decomposition in parallel Args: @@ -52,20 +61,36 @@ def bias_variance_compute_parallel(estimator, X_train, y_train, X_test, y_test, X_test_prepared = prepare_X(X_test_values) if random_state is None: - result = [bootstrap_train_and_predict_ray.remote(estimator, - X_train_values, y_train_values, - X_test_prepared, - prepare_X, prepare_y_train, - fit_kwargs, predict_kwargs) - for _ in range(iterations)] + result = [ + bootstrap_train_and_predict_ray.remote( + estimator, + X_train_values, + y_train_values, + X_test_prepared, + prepare_X, + prepare_y_train, + fit_kwargs, + predict_kwargs, + ) + for _ in range(iterations) + ] else: - result = [train_and_predict_ray.remote( - estimator, - *_prepare_X_and_y(*resample(X_train_values, y_train_values, - random_state=random_state), - prepare_X, prepare_y_train), - X_test_prepared, fit_kwargs, predict_kwargs) - for _ in range(iterations)] + result = [ + train_and_predict_ray.remote( + estimator, + *_prepare_X_and_y( + *resample( + X_train_values, y_train_values, random_state=random_state + ), + prepare_X, + prepare_y_train + ), + X_test_prepared, + fit_kwargs, + predict_kwargs + ) + for _ in range(iterations) + ] predictions = np.array(ray.get(result)) @@ -75,8 +100,14 @@ def bias_variance_compute_parallel(estimator, X_train, y_train, X_test, y_test, @ray.remote -def train_and_predict_ray(estimator, X_train_values, y_train_values, X_test_prepared, - fit_kwargs=None, predict_kwargs=None): +def train_and_predict_ray( + estimator, + X_train_values, + y_train_values, + X_test_prepared, + fit_kwargs=None, + predict_kwargs=None, +): r"""Train an estimator and get predictions from it Args: @@ -91,15 +122,27 @@ def train_and_predict_ray(estimator, X_train_values, y_train_values, X_test_prep Returns: predictions""" - return train_and_predict(estimator, X_train_values, y_train_values, X_test_prepared, - fit_kwargs=fit_kwargs, predict_kwargs=predict_kwargs) + return train_and_predict( + estimator, + X_train_values, + y_train_values, + X_test_prepared, + fit_kwargs=fit_kwargs, + predict_kwargs=predict_kwargs, + ) @ray.remote -def bootstrap_train_and_predict_ray(estimator, X_train_values, y_train_values, - X_test_prepared, - prepare_X=lambda x: x, prepare_y_train=lambda x: x, - fit_kwargs=None, predict_kwargs=None): +def bootstrap_train_and_predict_ray( + estimator, + X_train_values, + y_train_values, + X_test_prepared, + prepare_X=lambda x: x, + prepare_y_train=lambda x: x, + fit_kwargs=None, + predict_kwargs=None, +): r"""Train an estimator using a bootstrap sample of the training data and get predictions from it @@ -126,6 +169,13 @@ def bootstrap_train_and_predict_ray(estimator, X_train_values, y_train_values, X_sample, y_sample = resample(X_train_values, y_train_values) - return train_and_predict(estimator, X_sample, y_sample, X_test_prepared, - prepare_X, prepare_y_train, - fit_kwargs, predict_kwargs) + return train_and_predict( + estimator, + X_sample, + y_sample, + X_test_prepared, + prepare_X, + prepare_y_train, + fit_kwargs, + predict_kwargs, + ) diff --git a/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py b/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py index 68c261b..3032711 100644 --- a/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py +++ b/mvtk/bias_variance/estimators/pytorch_estimator_wrapper.py @@ -2,8 +2,9 @@ class PyTorchEstimatorWrapper(EstimatorWrapper): - def __init__(self, estimator, optimizer_generator, loss_fn, fit_fn=None, - predict_fn=None): + def __init__( + self, estimator, optimizer_generator, loss_fn, fit_fn=None, predict_fn=None + ): r"""Create a wrapper for a PyTorch estimator Args: @@ -41,17 +42,17 @@ def fit(self, X, y, **kwargs): self.fit_fn(self, X, y, **kwargs) return self - if kwargs.get('epochs') is None: + if kwargs.get("epochs") is None: epochs = 100 else: - epochs = kwargs.get('epochs') + epochs = kwargs.get("epochs") for i in range(epochs): loss = 0 - if kwargs.get('batch_size') is None: + if kwargs.get("batch_size") is None: batch_size = len(y) else: - batch_size = kwargs.get('batch_size') + batch_size = kwargs.get("batch_size") for j in range(0, len(y), batch_size): batch_start = j batch_end = j + batch_size @@ -63,8 +64,8 @@ def fit(self, X, y, **kwargs): self.optimizer.zero_grad() loss.backward() self.optimizer.step() - if kwargs.get('verbose'): - print(f'epoch: {i:2} training loss: {loss.item():10.8f}') + if kwargs.get("verbose"): + print(f"epoch: {i:2} training loss: {loss.item():10.8f}") return self diff --git a/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py b/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py index f57361b..ed1c89c 100644 --- a/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py +++ b/mvtk/bias_variance/estimators/tensorflow_estimator_wrapper.py @@ -52,11 +52,13 @@ def _reset_weights(self): import tensorflow as tf for layer in self.estimator.layers: - if hasattr(layer, 'kernel_initializer') and hasattr(layer, 'kernel'): + if hasattr(layer, "kernel_initializer") and hasattr(layer, "kernel"): layer.kernel.assign(layer.kernel_initializer(tf.shape(layer.kernel))) - if hasattr(layer, 'bias_initializer') and hasattr(layer, 'bias'): + if hasattr(layer, "bias_initializer") and hasattr(layer, "bias"): layer.bias.assign(layer.bias_initializer(tf.shape(layer.bias))) - if (hasattr(layer, 'recurrent_initializer') and - hasattr(layer, 'recurrent_kernal')): - layer.recurrent_kernal.assign(layer.recurrent_initializer( - tf.shape(layer.recurrent_kernal))) + if hasattr(layer, "recurrent_initializer") and hasattr( + layer, "recurrent_kernal" + ): + layer.recurrent_kernal.assign( + layer.recurrent_initializer(tf.shape(layer.recurrent_kernal)) + ) diff --git a/setup.py b/setup.py index c31a302..2615ee2 100644 --- a/setup.py +++ b/setup.py @@ -15,14 +15,10 @@ "myst-parser", "ipykernel", "torch", - "tensorflow" + "tensorflow", ], - "pytorch": [ - "torch" - ], - "tensorflow": [ - "tensorflow" - ] + "pytorch": ["torch"], + "tensorflow": ["tensorflow"], } with open("README.md", "r", encoding="utf-8") as fh: long_description = fh.read() @@ -55,7 +51,7 @@ "seaborn", "pandas>=0.23.4", "tqdm", - "ray" + "ray", ], extras_require=extras_require, url="https://finraos.github.io/model-validation-toolkit/", diff --git a/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py b/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py index 4453065..0271872 100644 --- a/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py +++ b/tests/bias_variance/estimators/test_pytorch_estimator_wrapper.py @@ -166,8 +166,9 @@ def test_pytorch_estimator_wrapper_custom_fit(): torch.manual_seed(123) model_test, optimizer_test, loss_fn_test = create_model() - model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test, - fit_fn=custom_fit) + model_wrapped = PyTorchEstimatorWrapper( + model_test, optimizer_gen, loss_fn_test, fit_fn=custom_fit + ) model_wrapped.fit(X_train_torch, y_train_torch) pred_wrapped = model_wrapped.predict(X_test_torch) @@ -193,8 +194,9 @@ def test_pytorch_estimator_wrapper_custom_predict(): torch.manual_seed(123) model_test, optimizer_test, loss_fn_test = create_model() - model_wrapped = PyTorchEstimatorWrapper(model_test, optimizer_gen, loss_fn_test, - predict_fn=custom_predict) + model_wrapped = PyTorchEstimatorWrapper( + model_test, optimizer_gen, loss_fn_test, predict_fn=custom_predict + ) model_wrapped.fit(X_train_torch, y_train_torch) pred_wrapped = model_wrapped.predict(X_test_torch) diff --git a/tests/bias_variance/estimators/test_sklearn_estimator_wrapper.py b/tests/bias_variance/estimators/test_sklearn_estimator_wrapper.py index 5d548f0..d49ca9d 100644 --- a/tests/bias_variance/estimators/test_sklearn_estimator_wrapper.py +++ b/tests/bias_variance/estimators/test_sklearn_estimator_wrapper.py @@ -57,7 +57,7 @@ def test_sklearn_estimator_wrapper_kwargs_predict(): try: model.predict(X_test, check_input=False) except ValueError as e: - assert e.args[0] == 'X.dtype should be np.float32, got int64' + assert e.args[0] == "X.dtype should be np.float32, got int64" return model_test = DecisionTreeClassifier(random_state=123) @@ -67,7 +67,7 @@ def test_sklearn_estimator_wrapper_kwargs_predict(): try: model_wrapped.predict(X_test, check_input=False) except ValueError as e: - assert e.args[0] == 'X.dtype should be np.float32, got int64' + assert e.args[0] == "X.dtype should be np.float32, got int64" return assert False diff --git a/tests/bias_variance/estimators/test_tensorflow_estimator_wrapper.py b/tests/bias_variance/estimators/test_tensorflow_estimator_wrapper.py index d7bb449..38b08ae 100644 --- a/tests/bias_variance/estimators/test_tensorflow_estimator_wrapper.py +++ b/tests/bias_variance/estimators/test_tensorflow_estimator_wrapper.py @@ -14,15 +14,19 @@ def create_data(): def create_model(): - model = tf.keras.Sequential([ - tf.keras.layers.Dense(64, activation='relu'), - tf.keras.layers.Dense(64, activation='relu'), - tf.keras.layers.Dense(1) - ]) - - model.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001), - loss='mean_absolute_error', - metrics=['mean_squared_error']) + model = tf.keras.Sequential( + [ + tf.keras.layers.Dense(64, activation="relu"), + tf.keras.layers.Dense(64, activation="relu"), + tf.keras.layers.Dense(1), + ] + ) + + model.compile( + optimizer=tf.keras.optimizers.Adam(learning_rate=0.001), + loss="mean_absolute_error", + metrics=["mean_squared_error"], + ) return model diff --git a/tests/bias_variance/test_bias_variance.py b/tests/bias_variance/test_bias_variance.py index 4dc33db..b3b693e 100644 --- a/tests/bias_variance/test_bias_variance.py +++ b/tests/bias_variance/test_bias_variance.py @@ -4,9 +4,14 @@ from sklearn.tree import DecisionTreeClassifier from sklearn.linear_model import LinearRegression -from mvtk.bias_variance import (bias_variance_compute, bias_variance_mse, - bias_variance_0_1_loss, get_values, - train_and_predict, bootstrap_train_and_predict) +from mvtk.bias_variance import ( + bias_variance_compute, + bias_variance_mse, + bias_variance_0_1_loss, + get_values, + train_and_predict, + bootstrap_train_and_predict, +) from mvtk.bias_variance.estimators import SciKitLearnEstimatorWrapper @@ -24,7 +29,7 @@ def test_get_values(): b = [3, 4] c = [1, 3] d = [2, 4] - df = pd.DataFrame(data={'col_a': a, 'col_b': b}) + df = pd.DataFrame(data={"col_a": a, "col_b": b}) df_values = get_values(df) np_array = np.asarray([c, d]) @@ -52,9 +57,14 @@ def test_train_and_predict_prepare(): model = LinearRegression() model_wrapped = SciKitLearnEstimatorWrapper(model) - predictions = train_and_predict(model_wrapped, X_train, y_train, X_test, - prepare_X=lambda x: x + 1, - prepare_y_train=lambda x: x + 1) + predictions = train_and_predict( + model_wrapped, + X_train, + y_train, + X_test, + prepare_X=lambda x: x + 1, + prepare_y_train=lambda x: x + 1, + ) expected = np.array([1.314285714285714, 1.5428571428571427, 1.7714285714285714]) @@ -67,8 +77,13 @@ def test_train_and_predict_kwargs_fit(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - predictions = train_and_predict(model_wrapped, X_train, y_train, X_test, - fit_kwargs={'sample_weight': [0, 0, 1, 0, 1, 0]}) + predictions = train_and_predict( + model_wrapped, + X_train, + y_train, + X_test, + fit_kwargs={"sample_weight": [0, 0, 1, 0, 1, 0]}, + ) expected = np.array([2, 2, 2]) @@ -84,10 +99,15 @@ def test_train_and_predict_kwargs_predict(): train_and_predict(model_wrapped, X_train, y_train, X_test) try: - train_and_predict(model_wrapped, X_train, y_train, X_test, - predict_kwargs={'check_input': False}) + train_and_predict( + model_wrapped, + X_train, + y_train, + X_test, + predict_kwargs={"check_input": False}, + ) except ValueError as e: - assert e.args[0] == 'X.dtype should be np.float32, got int64' + assert e.args[0] == "X.dtype should be np.float32, got int64" return assert False @@ -99,8 +119,9 @@ def test_bootstrap_train_and_predict_default(): model = LinearRegression() model_wrapped = SciKitLearnEstimatorWrapper(model) - predictions = bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, - random_state=321) + predictions = bootstrap_train_and_predict( + model_wrapped, X_train, y_train, X_test, random_state=321 + ) expected = np.array([0.7142857142857142, 0.8571428571428571, 1.0]) @@ -113,10 +134,14 @@ def test_bootstrap_train_and_predict_kwargs_fit(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - predictions = bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, - random_state=321, - fit_kwargs={'sample_weight': - [0, 0, 1, 0, 1, 0]}) + predictions = bootstrap_train_and_predict( + model_wrapped, + X_train, + y_train, + X_test, + random_state=321, + fit_kwargs={"sample_weight": [0, 0, 1, 0, 1, 0]}, + ) expected = np.array([0, 0, 0]) @@ -129,15 +154,21 @@ def test_bootstrap_train_and_predict_kwargs_predict(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, - random_state=321) + bootstrap_train_and_predict( + model_wrapped, X_train, y_train, X_test, random_state=321 + ) try: - bootstrap_train_and_predict(model_wrapped, X_train, y_train, X_test, - random_state=321, - predict_kwargs={'check_input': False}) + bootstrap_train_and_predict( + model_wrapped, + X_train, + y_train, + X_test, + random_state=321, + predict_kwargs={"check_input": False}, + ) except ValueError as e: - assert e.args[0] == 'X.dtype should be np.float32, got int64' + assert e.args[0] == "X.dtype should be np.float32, got int64" return assert False @@ -149,10 +180,16 @@ def test_bias_variance_compute_mse(): model = LinearRegression() model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = ( - bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, - iterations=10, random_state=123, - decomp_fn=bias_variance_mse)) + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute( + model_wrapped, + X_train, + y_train, + X_test, + y_test, + iterations=10, + random_state=123, + decomp_fn=bias_variance_mse, + ) assert avg_loss == np.float64(1.1661215949979167) assert avg_bias == np.float64(0.11952943334828559) @@ -169,10 +206,16 @@ def test_bias_variance_compute_0_1(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = ( - bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, - iterations=10, random_state=123, - decomp_fn=bias_variance_0_1_loss)) + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute( + model_wrapped, + X_train, + y_train, + X_test, + y_test, + iterations=10, + random_state=123, + decomp_fn=bias_variance_0_1_loss, + ) assert avg_loss == np.float64(0.4666666666666666) assert avg_bias == np.float64(0.3333333333333333) diff --git a/tests/bias_variance/test_bias_variance_parallel.py b/tests/bias_variance/test_bias_variance_parallel.py index d35002f..554c407 100644 --- a/tests/bias_variance/test_bias_variance_parallel.py +++ b/tests/bias_variance/test_bias_variance_parallel.py @@ -3,8 +3,11 @@ from sklearn.tree import DecisionTreeClassifier from sklearn.linear_model import LinearRegression -from mvtk.bias_variance import (bias_variance_compute_parallel, bias_variance_mse, - bias_variance_0_1_loss) +from mvtk.bias_variance import ( + bias_variance_compute_parallel, + bias_variance_mse, + bias_variance_0_1_loss, +) from mvtk.bias_variance.estimators import SciKitLearnEstimatorWrapper @@ -23,9 +26,15 @@ def test_bias_variance_compute_parallel_mse(): model = LinearRegression() model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = ( - bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, - random_state=123, decomp_fn=bias_variance_mse)) + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel( + model_wrapped, + X_train, + y_train, + X_test, + y_test, + random_state=123, + decomp_fn=bias_variance_mse, + ) assert avg_loss == np.float64(0.4065913365224816) assert avg_bias == np.float64(0.13137593111071386) @@ -42,10 +51,15 @@ def test_bias_variance_calc_parallel_0_1(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = ( - bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, - random_state=123, - decomp_fn=bias_variance_0_1_loss)) + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel( + model_wrapped, + X_train, + y_train, + X_test, + y_test, + random_state=123, + decomp_fn=bias_variance_0_1_loss, + ) assert avg_loss == np.float64(0.4566666666666666) assert avg_bias == np.float64(0.3333333333333333) @@ -61,9 +75,15 @@ def test_bias_variance_calc_parallel_mse_no_random_state(): model = LinearRegression() model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = ( - bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, - iterations=10, decomp_fn=bias_variance_mse)) + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel( + model_wrapped, + X_train, + y_train, + X_test, + y_test, + iterations=10, + decomp_fn=bias_variance_mse, + ) assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) assert avg_var == net_var @@ -75,8 +95,14 @@ def test_bias_variance_calc_parallel_0_1_no_random_state(): model = DecisionTreeClassifier(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) - avg_loss, avg_bias, avg_var, net_var = ( - bias_variance_compute_parallel(model_wrapped, X_train, y_train, X_test, y_test, - iterations=10, decomp_fn=bias_variance_0_1_loss)) + avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel( + model_wrapped, + X_train, + y_train, + X_test, + y_test, + iterations=10, + decomp_fn=bias_variance_0_1_loss, + ) assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) From 240393b85829a1d03bba1894f01bbb086ee2acd2 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Wed, 29 Nov 2023 22:41:17 -0500 Subject: [PATCH 07/14] Fix type issue. --- mvtk/supervisor/utils.py | 15 +++++++-------- 1 file changed, 7 insertions(+), 8 deletions(-) diff --git a/mvtk/supervisor/utils.py b/mvtk/supervisor/utils.py index af16851..9f1754b 100644 --- a/mvtk/supervisor/utils.py +++ b/mvtk/supervisor/utils.py @@ -12,7 +12,6 @@ from itertools import combinations from fastcore.imports import in_notebook - if in_notebook(): from tqdm import tqdm_notebook as tqdm else: @@ -21,7 +20,7 @@ @public.add def parallel( - func, arr: Collection, max_workers: int = None, show_progress: bool = False + func, arr: Collection, max_workers=None, show_progress: bool = False ): """ NOTE: This code was adapted from the ``parallel`` function @@ -73,7 +72,7 @@ def format_date(date_str, dateformat="%b%d"): @public.add def compute_divergence_crosstabs( - data, datecol=None, format=None, show_progress=True, divergence=None + data, datecol=None, format=None, show_progress=True, divergence=None ): """Compute the divergence crosstabs. @@ -98,7 +97,7 @@ def compute_divergence_crosstabs( @public.add def compute_divergence_crosstabs_split( - subsets, dates, format=None, show_progress=True, divergence=None + subsets, dates, format=None, show_progress=True, divergence=None ): """Compute the divergence crosstabs. @@ -121,10 +120,10 @@ def compute_divergence(args): return divergence(*args) for (i, j), v in zip( - combinations(range(len(dates)), 2), - parallel( - compute_divergence, combinations(subsets, 2), show_progress=show_progress - ), + combinations(range(len(dates)), 2), + parallel( + compute_divergence, combinations(subsets, 2), show_progress=show_progress + ), ): divergences[i, j] = divergences[j, i] = v if format is None: From 5277baa9cf8b8679bd8a84bb7d70c5930abd89c8 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Wed, 29 Nov 2023 22:47:31 -0500 Subject: [PATCH 08/14] Fix file formatting. --- mvtk/supervisor/utils.py | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/mvtk/supervisor/utils.py b/mvtk/supervisor/utils.py index 9f1754b..52dc290 100644 --- a/mvtk/supervisor/utils.py +++ b/mvtk/supervisor/utils.py @@ -19,9 +19,7 @@ @public.add -def parallel( - func, arr: Collection, max_workers=None, show_progress: bool = False -): +def parallel(func, arr: Collection, max_workers=None, show_progress: bool = False): """ NOTE: This code was adapted from the ``parallel`` function within Fastai's Fastcore library. Key differences include @@ -72,7 +70,7 @@ def format_date(date_str, dateformat="%b%d"): @public.add def compute_divergence_crosstabs( - data, datecol=None, format=None, show_progress=True, divergence=None + data, datecol=None, format=None, show_progress=True, divergence=None ): """Compute the divergence crosstabs. @@ -97,7 +95,7 @@ def compute_divergence_crosstabs( @public.add def compute_divergence_crosstabs_split( - subsets, dates, format=None, show_progress=True, divergence=None + subsets, dates, format=None, show_progress=True, divergence=None ): """Compute the divergence crosstabs. @@ -120,10 +118,10 @@ def compute_divergence(args): return divergence(*args) for (i, j), v in zip( - combinations(range(len(dates)), 2), - parallel( - compute_divergence, combinations(subsets, 2), show_progress=show_progress - ), + combinations(range(len(dates)), 2), + parallel( + compute_divergence, combinations(subsets, 2), show_progress=show_progress + ), ): divergences[i, j] = divergences[j, i] = v if format is None: From 3176cd6dffa8eac51406b73d7a91f8af32dbdd28 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Thu, 30 Nov 2023 11:00:06 -0500 Subject: [PATCH 09/14] Fix random_state issue in bias_variance tests. --- tests/bias_variance/test_bias_variance.py | 26 +++++++++---------- .../test_bias_variance_parallel.py | 14 +++++----- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/tests/bias_variance/test_bias_variance.py b/tests/bias_variance/test_bias_variance.py index b3b693e..6537177 100644 --- a/tests/bias_variance/test_bias_variance.py +++ b/tests/bias_variance/test_bias_variance.py @@ -2,7 +2,7 @@ import pandas as pd from sklearn.tree import DecisionTreeClassifier -from sklearn.linear_model import LinearRegression +from sklearn.linear_model import Ridge from mvtk.bias_variance import ( bias_variance_compute, @@ -41,12 +41,12 @@ def test_get_values(): def test_train_and_predict_default(): X_train, y_train, X_test, y_test = create_data() - model = LinearRegression() + model = Ridge(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) predictions = train_and_predict(model_wrapped, X_train, y_train, X_test) - expected = np.array([0.4285714285714284, 0.657142857142857, 0.8857142857142857]) + expected = np.array([0.4326241134751774, 0.6595744680851064, 0.8865248226950355]) assert np.array_equal(predictions, expected) @@ -54,7 +54,7 @@ def test_train_and_predict_default(): def test_train_and_predict_prepare(): X_train, y_train, X_test, y_test = create_data() - model = LinearRegression() + model = Ridge(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) predictions = train_and_predict( @@ -66,7 +66,7 @@ def test_train_and_predict_prepare(): prepare_y_train=lambda x: x + 1, ) - expected = np.array([1.314285714285714, 1.5428571428571427, 1.7714285714285714]) + expected = np.array([1.3191489361702131, 1.546099290780142, 1.773049645390071]) assert np.array_equal(predictions, expected) @@ -116,14 +116,14 @@ def test_train_and_predict_kwargs_predict(): def test_bootstrap_train_and_predict_default(): X_train, y_train, X_test, y_test = create_data() - model = LinearRegression() + model = Ridge(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) predictions = bootstrap_train_and_predict( model_wrapped, X_train, y_train, X_test, random_state=321 ) - expected = np.array([0.7142857142857142, 0.8571428571428571, 1.0]) + expected = np.array([0.7168141592920354, 0.8584070796460177, 1.0]) assert np.array_equal(predictions, expected) @@ -177,7 +177,7 @@ def test_bootstrap_train_and_predict_kwargs_predict(): def test_bias_variance_compute_mse(): X_train, y_train, X_test, y_test = create_data() - model = LinearRegression() + model = Ridge(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) avg_loss, avg_bias, avg_var, net_var = bias_variance_compute( @@ -191,12 +191,12 @@ def test_bias_variance_compute_mse(): decomp_fn=bias_variance_mse, ) - assert avg_loss == np.float64(1.1661215949979167) - assert avg_bias == np.float64(0.11952943334828559) - assert avg_var == np.float64(1.0465921616496312) - assert net_var == np.float64(1.0465921616496312) + assert avg_loss == np.float64(1.1158203908105646) + assert avg_bias == np.float64(0.1191924176014536) + assert avg_var == np.float64(0.9966279732091108) + assert net_var == np.float64(0.9966279732091108) - assert avg_loss == avg_bias + net_var + assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) assert avg_var == net_var diff --git a/tests/bias_variance/test_bias_variance_parallel.py b/tests/bias_variance/test_bias_variance_parallel.py index 554c407..a37bf5c 100644 --- a/tests/bias_variance/test_bias_variance_parallel.py +++ b/tests/bias_variance/test_bias_variance_parallel.py @@ -1,7 +1,7 @@ import numpy as np from sklearn.tree import DecisionTreeClassifier -from sklearn.linear_model import LinearRegression +from sklearn.linear_model import Ridge from mvtk.bias_variance import ( bias_variance_compute_parallel, @@ -23,7 +23,7 @@ def create_data(): def test_bias_variance_compute_parallel_mse(): X_train, y_train, X_test, y_test = create_data() - model = LinearRegression() + model = Ridge(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel( @@ -36,10 +36,10 @@ def test_bias_variance_compute_parallel_mse(): decomp_fn=bias_variance_mse, ) - assert avg_loss == np.float64(0.4065913365224816) - assert avg_bias == np.float64(0.13137593111071386) - assert avg_var == np.float64(0.27521540541176753) - assert net_var == np.float64(0.27521540541176753) + assert avg_loss == np.float64(0.3967829075484304) + assert avg_bias == np.float64(0.13298143583764407) + assert avg_var == np.float64(0.26380147171078644) + assert net_var == np.float64(0.26380147171078644) assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) assert avg_var == net_var @@ -72,7 +72,7 @@ def test_bias_variance_calc_parallel_0_1(): def test_bias_variance_calc_parallel_mse_no_random_state(): X_train, y_train, X_test, y_test = create_data() - model = LinearRegression() + model = Ridge(random_state=123) model_wrapped = SciKitLearnEstimatorWrapper(model) avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel( From 088e3fdbacbfa8ff3b4850b703a950d3f1eca96b Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Thu, 30 Nov 2023 11:37:36 -0500 Subject: [PATCH 10/14] Add rounding to bias_variance tests. --- tests/bias_variance/test_bias_variance.py | 18 ++++++++++++------ .../test_bias_variance_parallel.py | 12 ++++++++---- 2 files changed, 20 insertions(+), 10 deletions(-) diff --git a/tests/bias_variance/test_bias_variance.py b/tests/bias_variance/test_bias_variance.py index 6537177..67922de 100644 --- a/tests/bias_variance/test_bias_variance.py +++ b/tests/bias_variance/test_bias_variance.py @@ -48,7 +48,8 @@ def test_train_and_predict_default(): expected = np.array([0.4326241134751774, 0.6595744680851064, 0.8865248226950355]) - assert np.array_equal(predictions, expected) + assert np.array_equal(np.round(predictions, decimals=12), + np.round(expected, decimals=12)) def test_train_and_predict_prepare(): @@ -68,7 +69,8 @@ def test_train_and_predict_prepare(): expected = np.array([1.3191489361702131, 1.546099290780142, 1.773049645390071]) - assert np.array_equal(predictions, expected) + assert np.array_equal(np.round(predictions, decimals=12), + np.round(expected, decimals=12)) def test_train_and_predict_kwargs_fit(): @@ -191,10 +193,14 @@ def test_bias_variance_compute_mse(): decomp_fn=bias_variance_mse, ) - assert avg_loss == np.float64(1.1158203908105646) - assert avg_bias == np.float64(0.1191924176014536) - assert avg_var == np.float64(0.9966279732091108) - assert net_var == np.float64(0.9966279732091108) + assert (np.round(avg_loss, decimals=12) == + np.round(np.float64(1.1158203908105646), decimals=12)) + assert (np.round(avg_bias, decimals=12) == + np.round(np.float64(0.1191924176014536), decimals=12)) + assert (np.round(avg_var, decimals=12) == + np.round(np.float64(0.9966279732091108), decimals=12)) + assert (np.round(net_var, decimals=12) == + np.round(np.float64(0.9966279732091108), decimals=12)) assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) assert avg_var == net_var diff --git a/tests/bias_variance/test_bias_variance_parallel.py b/tests/bias_variance/test_bias_variance_parallel.py index a37bf5c..da24524 100644 --- a/tests/bias_variance/test_bias_variance_parallel.py +++ b/tests/bias_variance/test_bias_variance_parallel.py @@ -36,10 +36,14 @@ def test_bias_variance_compute_parallel_mse(): decomp_fn=bias_variance_mse, ) - assert avg_loss == np.float64(0.3967829075484304) - assert avg_bias == np.float64(0.13298143583764407) - assert avg_var == np.float64(0.26380147171078644) - assert net_var == np.float64(0.26380147171078644) + assert (np.round(avg_loss, decimals=12) == + np.round(np.float64(0.3967829075484304), decimals=12)) + assert (np.round(avg_bias, decimals=12) == + np.round(np.float64(0.13298143583764407), decimals=12)) + assert (np.round(avg_var, decimals=12) == + np.round(np.float64(0.26380147171078644), decimals=12)) + assert (np.round(net_var, decimals=12) == + np.round(np.float64(0.26380147171078644), decimals=12)) assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) assert avg_var == net_var From 3d7a24b963ea7e12e17e7ce01689f9a6552685c5 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Thu, 30 Nov 2023 11:45:20 -0500 Subject: [PATCH 11/14] Fix file formatting. --- tests/bias_variance/test_bias_variance.py | 30 +++++++++++-------- .../test_bias_variance_parallel.py | 20 ++++++++----- 2 files changed, 30 insertions(+), 20 deletions(-) diff --git a/tests/bias_variance/test_bias_variance.py b/tests/bias_variance/test_bias_variance.py index 67922de..9bf13e0 100644 --- a/tests/bias_variance/test_bias_variance.py +++ b/tests/bias_variance/test_bias_variance.py @@ -48,8 +48,9 @@ def test_train_and_predict_default(): expected = np.array([0.4326241134751774, 0.6595744680851064, 0.8865248226950355]) - assert np.array_equal(np.round(predictions, decimals=12), - np.round(expected, decimals=12)) + assert np.array_equal( + np.round(predictions, decimals=12), np.round(expected, decimals=12) + ) def test_train_and_predict_prepare(): @@ -69,8 +70,9 @@ def test_train_and_predict_prepare(): expected = np.array([1.3191489361702131, 1.546099290780142, 1.773049645390071]) - assert np.array_equal(np.round(predictions, decimals=12), - np.round(expected, decimals=12)) + assert np.array_equal( + np.round(predictions, decimals=12), np.round(expected, decimals=12) + ) def test_train_and_predict_kwargs_fit(): @@ -193,14 +195,18 @@ def test_bias_variance_compute_mse(): decomp_fn=bias_variance_mse, ) - assert (np.round(avg_loss, decimals=12) == - np.round(np.float64(1.1158203908105646), decimals=12)) - assert (np.round(avg_bias, decimals=12) == - np.round(np.float64(0.1191924176014536), decimals=12)) - assert (np.round(avg_var, decimals=12) == - np.round(np.float64(0.9966279732091108), decimals=12)) - assert (np.round(net_var, decimals=12) == - np.round(np.float64(0.9966279732091108), decimals=12)) + assert np.round(avg_loss, decimals=12) == np.round( + np.float64(1.1158203908105646), decimals=12 + ) + assert np.round(avg_bias, decimals=12) == np.round( + np.float64(0.1191924176014536), decimals=12 + ) + assert np.round(avg_var, decimals=12) == np.round( + np.float64(0.9966279732091108), decimals=12 + ) + assert np.round(net_var, decimals=12) == np.round( + np.float64(0.9966279732091108), decimals=12 + ) assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) assert avg_var == net_var diff --git a/tests/bias_variance/test_bias_variance_parallel.py b/tests/bias_variance/test_bias_variance_parallel.py index da24524..a74d1a9 100644 --- a/tests/bias_variance/test_bias_variance_parallel.py +++ b/tests/bias_variance/test_bias_variance_parallel.py @@ -36,14 +36,18 @@ def test_bias_variance_compute_parallel_mse(): decomp_fn=bias_variance_mse, ) - assert (np.round(avg_loss, decimals=12) == - np.round(np.float64(0.3967829075484304), decimals=12)) - assert (np.round(avg_bias, decimals=12) == - np.round(np.float64(0.13298143583764407), decimals=12)) - assert (np.round(avg_var, decimals=12) == - np.round(np.float64(0.26380147171078644), decimals=12)) - assert (np.round(net_var, decimals=12) == - np.round(np.float64(0.26380147171078644), decimals=12)) + assert np.round(avg_loss, decimals=12) == np.round( + np.float64(0.3967829075484304), decimals=12 + ) + assert np.round(avg_bias, decimals=12) == np.round( + np.float64(0.13298143583764407), decimals=12 + ) + assert np.round(avg_var, decimals=12) == np.round( + np.float64(0.26380147171078644), decimals=12 + ) + assert np.round(net_var, decimals=12) == np.round( + np.float64(0.26380147171078644), decimals=12 + ) assert np.round(avg_loss, decimals=12) == np.round(avg_bias + net_var, decimals=12) assert avg_var == net_var From 33fbb95d792b970a07e253a8ac48ee5cf2edf77b Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Thu, 30 Nov 2023 12:06:35 -0500 Subject: [PATCH 12/14] Increase notebook timeout for doc build. --- docs/conf.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/conf.py b/docs/conf.py index 64642a7..8e074de 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -74,7 +74,7 @@ master_doc = "index" # increase the timeout for long-running notebooks -nbsphinx_timeout = 360 +nbsphinx_timeout = 900 # Don't show full paths add_module_names = False From c7a79764ac523f897d57d7b48368ef37bf30e5b6 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Fri, 1 Dec 2023 09:56:24 -0500 Subject: [PATCH 13/14] Update interprenet deprecated jax functions and replace deprecated data set in tutorial notebook. --- docs/notebooks/interprenet/Interprenet.ipynb | 427 ++++++++----------- mvtk/interprenet.py | 11 +- 2 files changed, 183 insertions(+), 255 deletions(-) diff --git a/docs/notebooks/interprenet/Interprenet.ipynb b/docs/notebooks/interprenet/Interprenet.ipynb index 82f04cf..31a3b54 100644 --- a/docs/notebooks/interprenet/Interprenet.ipynb +++ b/docs/notebooks/interprenet/Interprenet.ipynb @@ -6,7 +6,7 @@ "source": [ "# Introduction to Interprenet\n", "\n", - "Interprenet builds constrained neural networks. We currently support monotonic and lipschitz constraints. In this tutorial, we will show how to apply intperpretable constraints to a model trained on the Boston house price dataset." + "Interprenet builds constrained neural networks. We currently support monotonic and lipschitz constraints. In this tutorial, we will show how to apply intperpretable constraints to a model trained on the California house price dataset." ] }, { @@ -35,101 +35,71 @@ " \n", " \n", " \n", - " CRIM\n", - " ZN\n", - " INDUS\n", - " CHAS\n", - " NOX\n", - " RM\n", - " AGE\n", - " DIS\n", - " RAD\n", - " TAX\n", - " PTRATIO\n", - " B\n", - " LSTAT\n", + " MedInc\n", + " HouseAge\n", + " AveRooms\n", + " AveBedrms\n", + " Population\n", + " AveOccup\n", + " Latitude\n", + " Longitude\n", " \n", " \n", " \n", " \n", " 0\n", - " 0.00632\n", - " 18.0\n", - " 2.31\n", - " 0.0\n", - " 0.538\n", - " 6.575\n", - " 65.2\n", - " 4.0900\n", - " 1.0\n", - " 296.0\n", - " 15.3\n", - " 396.90\n", - " 4.98\n", + " 8.3252\n", + " 41.0\n", + " 6.984127\n", + " 1.023810\n", + " 322.0\n", + " 2.555556\n", + " 37.88\n", + " -122.23\n", " \n", " \n", " 1\n", - " 0.02731\n", - " 0.0\n", - " 7.07\n", - " 0.0\n", - " 0.469\n", - " 6.421\n", - " 78.9\n", - " 4.9671\n", - " 2.0\n", - " 242.0\n", - " 17.8\n", - " 396.90\n", - " 9.14\n", + " 8.3014\n", + " 21.0\n", + " 6.238137\n", + " 0.971880\n", + " 2401.0\n", + " 2.109842\n", + " 37.86\n", + " -122.22\n", " \n", " \n", " 2\n", - " 0.02729\n", - " 0.0\n", - " 7.07\n", - " 0.0\n", - " 0.469\n", - " 7.185\n", - " 61.1\n", - " 4.9671\n", - " 2.0\n", - " 242.0\n", - " 17.8\n", - " 392.83\n", - " 4.03\n", + " 7.2574\n", + " 52.0\n", + " 8.288136\n", + " 1.073446\n", + " 496.0\n", + " 2.802260\n", + " 37.85\n", + " -122.24\n", " \n", " \n", " 3\n", - " 0.03237\n", - " 0.0\n", - " 2.18\n", - " 0.0\n", - " 0.458\n", - " 6.998\n", - " 45.8\n", - " 6.0622\n", - " 3.0\n", - " 222.0\n", - " 18.7\n", - " 394.63\n", - " 2.94\n", + " 5.6431\n", + " 52.0\n", + " 5.817352\n", + " 1.073059\n", + " 558.0\n", + " 2.547945\n", + " 37.85\n", + " -122.25\n", " \n", " \n", " 4\n", - " 0.06905\n", - " 0.0\n", - " 2.18\n", - " 0.0\n", - " 0.458\n", - " 7.147\n", - " 54.2\n", - " 6.0622\n", - " 3.0\n", - " 222.0\n", - " 18.7\n", - " 396.90\n", - " 5.33\n", + " 3.8462\n", + " 52.0\n", + " 6.281853\n", + " 1.081081\n", + " 565.0\n", + " 2.181467\n", + " 37.85\n", + " -122.25\n", " \n", " \n", " ...\n", @@ -141,125 +111,95 @@ " ...\n", " ...\n", " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", - " ...\n", " \n", " \n", - " 501\n", - " 0.06263\n", - " 0.0\n", - " 11.93\n", - " 0.0\n", - " 0.573\n", - " 6.593\n", - " 69.1\n", - " 2.4786\n", - " 1.0\n", - " 273.0\n", - " 21.0\n", - " 391.99\n", - " 9.67\n", + " 20635\n", + " 1.5603\n", + " 25.0\n", + " 5.045455\n", + " 1.133333\n", + " 845.0\n", + " 2.560606\n", + " 39.48\n", + " -121.09\n", " \n", " \n", - " 502\n", - " 0.04527\n", - " 0.0\n", - " 11.93\n", - " 0.0\n", - " 0.573\n", - " 6.120\n", - " 76.7\n", - " 2.2875\n", - " 1.0\n", - " 273.0\n", - " 21.0\n", - " 396.90\n", - " 9.08\n", + " 20636\n", + " 2.5568\n", + " 18.0\n", + " 6.114035\n", + " 1.315789\n", + " 356.0\n", + " 3.122807\n", + " 39.49\n", + " -121.21\n", " \n", " \n", - " 503\n", - " 0.06076\n", - " 0.0\n", - " 11.93\n", - " 0.0\n", - " 0.573\n", - " 6.976\n", - " 91.0\n", - " 2.1675\n", - " 1.0\n", - " 273.0\n", - " 21.0\n", - " 396.90\n", - " 5.64\n", + " 20637\n", + " 1.7000\n", + " 17.0\n", + " 5.205543\n", + " 1.120092\n", + " 1007.0\n", + " 2.325635\n", + " 39.43\n", + " -121.22\n", " \n", " \n", - " 504\n", - " 0.10959\n", - " 0.0\n", - " 11.93\n", - " 0.0\n", - " 0.573\n", - " 6.794\n", - " 89.3\n", - " 2.3889\n", - " 1.0\n", - " 273.0\n", - " 21.0\n", - " 393.45\n", - " 6.48\n", + " 20638\n", + " 1.8672\n", + " 18.0\n", + " 5.329513\n", + " 1.171920\n", + " 741.0\n", + " 2.123209\n", + " 39.43\n", + " -121.32\n", " \n", " \n", - " 505\n", - " 0.04741\n", - " 0.0\n", - " 11.93\n", - " 0.0\n", - " 0.573\n", - " 6.030\n", - " 80.8\n", - " 2.5050\n", - " 1.0\n", - " 273.0\n", - " 21.0\n", - " 396.90\n", - " 7.88\n", + " 20639\n", + " 2.3886\n", + " 16.0\n", + " 5.254717\n", + " 1.162264\n", + " 1387.0\n", + " 2.616981\n", + " 39.37\n", + " -121.24\n", " \n", " \n", "\n", - "

506 rows × 13 columns

\n", + "

20640 rows × 8 columns

\n", "" ], "text/plain": [ - " CRIM ZN INDUS CHAS NOX RM AGE DIS RAD TAX \\\n", - "0 0.00632 18.0 2.31 0.0 0.538 6.575 65.2 4.0900 1.0 296.0 \n", - "1 0.02731 0.0 7.07 0.0 0.469 6.421 78.9 4.9671 2.0 242.0 \n", - "2 0.02729 0.0 7.07 0.0 0.469 7.185 61.1 4.9671 2.0 242.0 \n", - "3 0.03237 0.0 2.18 0.0 0.458 6.998 45.8 6.0622 3.0 222.0 \n", - "4 0.06905 0.0 2.18 0.0 0.458 7.147 54.2 6.0622 3.0 222.0 \n", - ".. ... ... ... ... ... ... ... ... ... ... \n", - "501 0.06263 0.0 11.93 0.0 0.573 6.593 69.1 2.4786 1.0 273.0 \n", - "502 0.04527 0.0 11.93 0.0 0.573 6.120 76.7 2.2875 1.0 273.0 \n", - "503 0.06076 0.0 11.93 0.0 0.573 6.976 91.0 2.1675 1.0 273.0 \n", - "504 0.10959 0.0 11.93 0.0 0.573 6.794 89.3 2.3889 1.0 273.0 \n", - "505 0.04741 0.0 11.93 0.0 0.573 6.030 80.8 2.5050 1.0 273.0 \n", + " MedInc HouseAge AveRooms AveBedrms Population AveOccup Latitude \\\n", + "0 8.3252 41.0 6.984127 1.023810 322.0 2.555556 37.88 \n", + "1 8.3014 21.0 6.238137 0.971880 2401.0 2.109842 37.86 \n", + "2 7.2574 52.0 8.288136 1.073446 496.0 2.802260 37.85 \n", + "3 5.6431 52.0 5.817352 1.073059 558.0 2.547945 37.85 \n", + "4 3.8462 52.0 6.281853 1.081081 565.0 2.181467 37.85 \n", + "... ... ... ... ... ... ... ... \n", + "20635 1.5603 25.0 5.045455 1.133333 845.0 2.560606 39.48 \n", + "20636 2.5568 18.0 6.114035 1.315789 356.0 3.122807 39.49 \n", + "20637 1.7000 17.0 5.205543 1.120092 1007.0 2.325635 39.43 \n", + "20638 1.8672 18.0 5.329513 1.171920 741.0 2.123209 39.43 \n", + "20639 2.3886 16.0 5.254717 1.162264 1387.0 2.616981 39.37 \n", "\n", - " PTRATIO B LSTAT \n", - "0 15.3 396.90 4.98 \n", - "1 17.8 396.90 9.14 \n", - "2 17.8 392.83 4.03 \n", - "3 18.7 394.63 2.94 \n", - "4 18.7 396.90 5.33 \n", - ".. ... ... ... \n", - "501 21.0 391.99 9.67 \n", - "502 21.0 396.90 9.08 \n", - "503 21.0 396.90 5.64 \n", - "504 21.0 393.45 6.48 \n", - "505 21.0 396.90 7.88 \n", + " Longitude \n", + "0 -122.23 \n", + "1 -122.22 \n", + "2 -122.24 \n", + "3 -122.25 \n", + "4 -122.25 \n", + "... ... \n", + "20635 -121.09 \n", + "20636 -121.21 \n", + "20637 -121.22 \n", + "20638 -121.32 \n", + "20639 -121.24 \n", "\n", - "[506 rows x 13 columns]" + "[20640 rows x 8 columns]" ] }, "execution_count": 1, @@ -269,11 +209,11 @@ ], "source": [ "import pandas\n", - "from sklearn.datasets import load_boston\n", + "from sklearn.datasets import fetch_california_housing\n", "\n", - "bunch = load_boston()\n", + "bunch = fetch_california_housing()\n", "X = pandas.DataFrame(bunch['data'], columns=bunch['feature_names'])\n", - "y = bunch['target']\n", + "y = bunch['target'] * 10 # express target variable in units of $10,000 vs $100,000 to avoid values < 1\n", "X" ] }, @@ -292,19 +232,14 @@ { "data": { "text/plain": [ - "{'LSTAT': -0.7376627261740148,\n", - " 'RM': 0.695359947071539,\n", - " 'PTRATIO': -0.5077866855375615,\n", - " 'INDUS': -0.4837251600283728,\n", - " 'TAX': -0.46853593356776696,\n", - " 'NOX': -0.4273207723732824,\n", - " 'CRIM': -0.3883046085868114,\n", - " 'RAD': -0.38162623063977746,\n", - " 'AGE': -0.37695456500459606,\n", - " 'ZN': 0.3604453424505433,\n", - " 'B': 0.33346081965706637,\n", - " 'DIS': 0.24992873408590388,\n", - " 'CHAS': 0.17526017719029818}" + "{'MedInc': 0.6880752079585482,\n", + " 'AveRooms': 0.15194828974145785,\n", + " 'Latitude': -0.14416027687465913,\n", + " 'HouseAge': 0.10562341249320988,\n", + " 'AveBedrms': -0.046700512969486935,\n", + " 'Longitude': -0.045966615117978504,\n", + " 'Population': -0.024649678888894896,\n", + " 'AveOccup': -0.02373741295613434}" ] }, "execution_count": 2, @@ -325,16 +260,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "See https://scikit-learn.org/stable/datasets/toy_dataset.html#boston-dataset for details on the meaning of each column.\n", + "See https://scikit-learn.org/stable/datasets/real_world.html#california-housing-dataset for details on the meaning of each column.\n", "\n", "Comparing correlation to common sense, it seems the following variables do and should exhibit monotonic relations with the target:\n", "\n", - "* LSTAT % lower status of the population\n", - "* RM average number of rooms per dwelling\n", - "* CRIM per capita crime rate by town\n", - "* CHAS Charles River dummy variable (= 1 if tract bounds river; 0 otherwise)\n", + "* MedInc median income in block group\n", + "* AveRooms average number of rooms per household\n", "\n", - "Futhermore, let's assume it would be unreasonable to expect the rate of change of price with respect to any of the above variables except CHAS and RM (which are not continuous) to be no greater than twice the correlation." + "Futhermore, let's assume it would be unreasonable to expect the rate of change of price with respect to MedInc (as AveRooms is not continuous) to be no greater than twice the correlation." ] }, { @@ -348,7 +281,8 @@ "name": "stderr", "output_type": "stream", "text": [ - "WARNING:absl:No GPU/TPU found, falling back to CPU. (Set TF_CPP_MIN_LOG_LEVEL=0 and rerun for more info.)\n" + "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n", + "I0000 00:00:1701442376.697070 1 tfrt_cpu_pjrt_client.cc:349] TfrtCpuClient created.\n" ] } ], @@ -358,19 +292,14 @@ "from mvtk import interprenet\n", "\n", "constraints = {\n", - " 'CRIM': frozenset([interprenet.monotonic_constraint, interprenet.lipschitz_constraint]),\n", - " 'ZN': frozenset(),\n", - " 'INDUS': frozenset(),\n", - " 'CHAS': frozenset([interprenet.monotonic_constraint]),\n", - " 'NOX': frozenset([interprenet.monotonic_constraint, interprenet.lipschitz_constraint]),\n", - " 'RM':frozenset([interprenet.monotonic_constraint]),\n", - " 'AGE': frozenset(),\n", - " 'DIS': frozenset(),\n", - " 'RAD': frozenset(),\n", - " 'TAX': frozenset(),\n", - " 'PTRATIO': frozenset(),\n", - " 'B': frozenset(),\n", - " 'LSTAT': frozenset([interprenet.monotonic_constraint, interprenet.lipschitz_constraint])}\n", + " 'MedInc': frozenset([interprenet.monotonic_constraint, interprenet.lipschitz_constraint]),\n", + " 'AveRooms': frozenset([interprenet.monotonic_constraint]),\n", + " 'Latitude': frozenset([interprenet.monotonic_constraint]),\n", + " 'HouseAge': frozenset([interprenet.lipschitz_constraint]),\n", + " 'AveBedrms': frozenset([interprenet.monotonic_constraint]),\n", + " 'Longitude':frozenset(),\n", + " 'Population': frozenset([interprenet.lipschitz_constraint]),\n", + " 'AveOccup': frozenset([interprenet.lipschitz_constraint])}\n", "\n", "def get_scale(column):\n", " scale = 1\n", @@ -378,7 +307,7 @@ " # monotonic decreasing features need their sign flipped\n", " # before entering the neural network\n", " scale *= numpy.sign(correlations[column])\n", - " if interprenet.lipschitz_constraint in constraints[column]:\n", + " # if interprenet.lipschitz_constraint in constraints[column]:\n", " # rescale before applying lipschitz constraint\n", " # to match assumptions mentioned in the previous block\n", " scale *= 2 * abs(correlations[column])\n", @@ -420,7 +349,8 @@ " (init_params, model),\n", " metric=lambda y, y_pred: -mean_absolute_percentage_error(y, y_pred),\n", " loss_fn=mean_absolute_percentage_error,\n", - " num_epochs=32)" + " num_epochs=32,\n", + " step_size=0.001)" ] }, { @@ -431,7 +361,7 @@ { "data": { "text/plain": [ - "DeviceArray(0.306767, dtype=float32)" + "Array(0.45206466, dtype=float32)" ] }, "execution_count": 6, @@ -448,7 +378,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "No matter what the values of the other features are (blue lines) increasing CRIM always decreases price, but at a maximum rate." + "No matter what the values of the other features are (blue lines) increasing MedInc always increases price, but at a maximum rate." ] }, { @@ -458,21 +388,19 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pylab as plt\n", "\n", - "interprenet.plot(trained_model, X, 'CRIM')\n", + "interprenet.plot(trained_model, X, 'MedInc')\n", "plt.show()" ] }, @@ -480,7 +408,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "No matter what the values of the other features are (blue lines) increasing LSTAT always decreases price, but at a maximum rate." + "No matter what the values of the other features are (blue lines) increasing Latitude always decreases price." ] }, { @@ -490,21 +418,19 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHHCAYAAABKudlQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOy9eZRlWVXnv2POmHOuicpkkLHQkqEFscEucQnVtDSC/hCnwgJdCg2tuBDRXko1SKGI03IpogylLJVlA9oqAguhGIQWGQpkpoqqzJqghsyMOSIzIt7vj5vfuJ/7fee+9+JFREZE5tlrxYrpvXfPPcPe3/397nNuT6PRaES2bNmyZcuWLdsutd7tbkC2bNmyZcuWLdtGLIOZbNmyZcuWLduutgxmsmXLli1btmy72jKYyZYtW7Zs2bLtastgJlu2bNmyZcu2qy2DmWzZsmXLli3brrYMZrJly5YtW7Zsu9oymMmWLVu2bNmy7WrLYCZbtmzZsmXLtqstg5ls2bLteHvVq14VPT095+x6PT098apXveqcXS9btmwbswxmsmXLtiF729veFj09PfGpT31qQ58zPz8fr3rVq+LGG2/s6PWvfe1r4+/+7u82dM1s2bKdH5bBTLZs2XaEzc/Px3XXXZcEM//rf/2vWFhYqPwtg5ls2bLJ+re7AdmyZcvWzvr7+6O/P7urbNmypS0zM9myZdtSO336dPz6r/96PO5xj4vJyckYHR2NJz/5yfGhD31o7TW33XZbHDp0KCIirrvuuujp6anUrXjNTE9PT8zNzcUNN9yw9trnP//5ERHx/Oc/Px74wAc2tSNVd7O0tBS/+Iu/GIcOHYrx8fF45jOfGXfccUfyPu6888649tpr46KLLoqhoaG44oor4i1vecsGeiZbtmybZTnVyZYt25ba9PR0/Pmf/3k873nPi5/5mZ+JmZmZePOb3xxPe9rT4pOf/GR853d+Zxw6dCj+5E/+JH7+538+fuiHfiie/exnR0TEd3zHdyQ/8y//8i/jhS98YXzXd31X/OzP/mxERDzkIQ9Zd9te+MIXxtvf/vb4sR/7sXjSk54UH/zgB+MZz3hG0+u+9a1vxROf+MTo6emJ//E//kccOnQo/vmf/zle8IIXxPT0dPzCL/zCuq+dLVu2TbRGtmzZsm3A3vrWtzYiovHv//7vyf8vLy83lpaWKn87efJk46KLLmpce+21a3+79957GxHR+I3f+I2mz/iN3/iNhrur0dHRxjXXXNP02muuuaZx9OjRtp9x0003NSKi8aIXvajyuh/7sR9rascLXvCCxiWXXNK47777Kq/90R/90cbk5GRjfn6+6XrZsmU7d5ZlpmzZsm2p9fX1xeDgYERErK6uxokTJ2J5eTke//jHx2c+85lta9d73vOeiIh46UtfWvm7syyNRiPe+c53xg/+4A9Go9GI++67b+3raU97WkxNTW3rfWTLli3LTNmyZTsHdsMNN8Qb3vCG+MpXvhJnzpxZ+/uDHvSgbWvTsWPHore3t0meevjDH175/d57741Tp07Fm970pnjTm96U/Kx77rlny9qZLVu29pbBTLZs2bbU3v72t8fzn//8eNaznhUvf/nL4/Dhw9HX1xfXX3993HLLLZt+vbrD9VZWVrr6vNXV1YiI+Imf+Im45pprkq+pq+3Jli3bubEMZrJly7al9n/+z/+JBz/4wfGud72rAjR+4zd+o/K69Z7wW/f6ffv2xalTp5r+fuzYscrvR48ejdXV1bjlllsqbMxXv/rVyuu002llZSW+//u/f11tzJYt27mxXDOTLVu2LbW+vr6IKGpPZP/2b/8Wn/jEJyqvGxkZiYhIApGUjY6OJl/7kIc8JKampuLzn//82t/uvvvuePe731153dVXXx0REX/4h39Y+fvv//7vN7X/Oc95Trzzne+ML3zhC03Xu/feeztqb7Zs2bbOMjOTLVu2TbG3vOUt8d73vrfp7//lv/yXeNe73hU/9EM/FM94xjPi1ltvjTe+8Y3xqEc9KmZnZ9deNzw8HI961KPiHe94RzzsYQ+L/fv3x6Mf/eh49KMfnbze4x73uPjABz4Qv/u7vxuXXnppPOhBD4onPOEJ8aM/+qPxile8In7oh34oXvrSl8b8/Hz8yZ/8STzsYQ+rFOp+53d+Zzzvec+LP/7jP46pqal40pOeFP/yL/8SN998c9O1Xve618WHPvSheMITnhA/8zM/E4961KPixIkT8ZnPfCY+8IEPxIkTJzahB7Nly9a1bfNuqmzZsu1y09bsuq/jx483Xvva1zaOHj3aGBoaajzmMY9p/OM//mNyC/XHP/7xxuMe97jG4OBgZXt0amv2V77ylcZTnvKUxvDwcCMiKtu03//+9zce/ehHNwYHBxsPf/jDG29/+9uTn7GwsNB46Utf2jhw4EBjdHS08YM/+ION22+/PblF/Fvf+lbjxS9+cePyyy9vDAwMNC6++OLGU5/61Mab3vSmzerKbNmydWk9jQa432zZsmXLli1btl1muWYmW7Zs2bJly7arLYOZbNmyZcuWLduutgxmsmXLli1btmy72jKYyZYtW7Zs2bLtastgJlu2bNmyZcu2qy2DmWzZsmXLli3brrbz/tC81dXVuOuuu2J8fHzdx6Vny5YtW7Zs2bbHGo1GzMzMxKWXXhq9va25l/MezNx1111x+eWXb3czsmXLli1btmxd2O233x4PeMADWr7mvAcz4+PjEVF0xsTExDa3Jlu2bNmyZcvWiU1PT8fll1++Fsdb2XkPZiQtTUxMZDCTLVu2bNmy7TLrpEQkFwBny5YtW7Zs2Xa1ZTCTLVu2bNmyZdvVlsFMtmzZsmXLlm1XWwYz2bJly5YtW7ZdbRnMZMuWLVu2bNl2tWUwky1btmzZsmXb1ZbBTLZs2bJly5ZtV1sGM9myZcuWLVu2XW0ZzGTLli1btmzZdrVlMJMtW7Zs2bJl29WWwUy2bNmyZcuWbVdbBjPZsmXLli1btl1tGcx0aSsrEcvLEY3GdrckW7Zs2bJlu7DtvH9q9lbZ3FzEiRPFz319Ef395Xd98e/ZsmXLli1btq2xDGa6tEYjoqen+L6yUnzVWU9Pa7DT31+8Jlu2bNmyZcu2fstgpkubnCy+BGSWl4sv/qzfG42IM2eKrzrr7a0HOpndyZYtW7Zs2eotg5kNWl9f8TU4mP6/mJtWYGd1tfg6fbr4SllPTxXgpMBOb66AypYtW7ZsF6BlMLPFJompv0VPr66mwQ5/bjTKn+tM7E6r2p0sZ2XLli1btvPNMpjZAdbbWzA77didFKujn8nutLJ2tTuZ3cmWLVu2bLvNthXMfOQjH4nXv/718elPfzruvvvuePe73x3Petaz1v7fU0Mj/PZv/3a8/OUvP0et3H4juzM0lH7N6mpntTv6fWmp/bXqgE9md7Jly5Yt206ybQUzc3NzceWVV8a1114bz372s5v+f/fdd1d+/+d//ud4wQteEM95znPOVRN3jfX2Fl8DA/WvaQd2Oi1Wble7k4uVs2XLli3bubRtBTNXX311XH311bX/v/jiiyu///3f/31cddVV8eAHP3irm3ZemoBGHbsj5qaVnEXJqx27k7eiZ8uWLVu2c2G7pmbmW9/6VvzTP/1T3HDDDS1ft7S0FEuIstPT01vdtPPGenoKZqcdu9MK7KyH3WkFdjK7ky1btmzZOrVdA2ZuuOGGGB8fT8pRtOuvvz6uu+66c9SqC882uhXd2Z28FT1btmzZsm3Udg2Yectb3hI//uM/Hnv27Gn5ule+8pXxspe9bO336enpuPzyy7e6ednO2ka2ovP39WxFT7E6uVg5W7Zs2S4c2xVg5qMf/Wh89atfjXe84x1tXzs0NBRDdUUh2XaEbfZW9Fbb0fNW9GzZsmU7/21XgJk3v/nN8bjHPS6uvPLK7W5KtnNg3WxFr6vdabcVvbe3fe1OZneyZcuWbWfbtoKZ2dnZuPnmm9d+v/XWW+Omm26K/fv3x5EjRyKikIn+9m//Nt7whjdsVzOz7UDbrK3oYnhaFSun2B3+LbM72bJly7a9tq1g5lOf+lRcddVVa7+r1uWaa66Jt73tbRER8Td/8zfRaDTiec973nY0Mdsutk63otcVKq+H3WkHeLJly5Yt29ZZT6PRaGx3I7bSpqenY3JyMqampmJiYmK7m5Ntl1m7nVmrq+0/I+/MypYtW7b123rid84Zs2VrYe3YnfXW7tQZd2bVAZ5s2bJly5a2DGayZduAdVK70+5U5U52Zjm7k09VzpYtW7bSMpjJlm2LrZOdWa3qdjo9d4fn66QAT2Z3smXLdr5aBjPZsm2z6dydOlvvqcp1xi3vdSxPZneyZcu2Gy2DmWzZdrit91TlOllrvU9ET4GeXKicLVu2nWgZzGTLdh5Yp6cq18lY630iej5kMFu2bDvJMpjJlu0CsE7YndQjJAh4OmV38iGD2bJlO9eWwUy2bNkiorMnoudDBrNly7YTLbuNbNmydWQ9PcUW9G4fIeHb0FtdJx8ymC1btvVYBjPZsmXbNMuHDGbLlm07LIOZbNmynTPLhwxmy5ZtKyyDmWzZsu0oy4cMZsuWbb2WwUy2bNl2leVDBrNly+aWwUy2bNnOK8uHDGbLduFZBjPZsmW74CwfMpgt2/llGcxky5Ytm1k+ZDBbtt1lGcxky5YtWxeWDxnMlm3nWF4G2bJly7YFlg8ZzJbt3FkGM9myZcu2TZYPGcyWbXMsg5ls2bJl26GWDxnMlq0zy2CmS5udjZiaap3p5MWfLVu2rbZ8yGC2bBnMdG3aodBul0Jd4V7OdLJly3YuLB8ymO1CsAxmurSJiYjh4eZFvxEdO2c62bJlO9eWDxnMdj5YBjNdmgr36qzdgVud6tj5wK1s2bJtt+VDBrPtdMtgZousk10Km5HpZCkrW7Zs2235kMFs220ZzGyTdZLp1OnX65GyBKrq5KwsZWXLlu1cWD5kMNtWWh7WHWrrPXArlenojIqVlSxlZcuWbWdbPmQw20Ysg5ldbOdayqrLdjLYyZYt27mwfMhgtjrLYOY8tk6lrE5p3TprJWVlDTtbtmznyvIhgxeuZTBzAdt2Slm+BT0v/GzZsp0Ly4cMnp+WwUy2lrZeKauO1s1SVrZs2XaD5UMGd6dlMJNtQ3YupaxWW9CzlJUtW7ZzYfmQwZ1pGcxk21LrRMpqtwWdUlar67SSsvJ2zGzZsp0ry4cMnnvLLj7btlunGvZGpKxUwZ7/fqEs+mzZsm2v5UMGN98ymMm24209UlYrSjdLWdmyZdstlg8ZXJ/tkmZmy1ZvG5WyOi3Y6+1tfZrybln02bJl2/12rg4ZjGh/5s5OSPSy+812QVg3UpZTulr4WcrKli3bbrBzecjgxETE3r1bchsdWQYz2bLFxqWs9Z49UUfr7oQMJ1u2bBeGbeYhg9ttGcxky9aBdSpltZKzOtmd0ErKygdtZcuW7Vxbp6z2didiGcxky7ZJtt6zJzZLysrHqGfLlm27rN0hg+fKMpjJlu0c2XqlrBTLk6WsbNmyZWu2DGayZdsh1k7K4kFbG5WyWm1Bz1JWtmzZdptlMJMt2y6xjRy0JQAkKavVVswsZWXLlm23WQYz2bKdR7aeg7Y2S8rKz4zJli3bdlsGM9myXUC2Himr1Rb0LGVly5ZtJ1kGM12aDhO6kB7kle38t41KWZ2eKlonZREA5XWVLVu2Ti2DmS5tbi7ixIni50y5Z7uQrBspy1meLGVly5ZtMy2DmS6t0Sgyx24e055y0jkLzXa+2LmWslo9JC9btmwXhmUw06VNThZfdVtl1/uY9pyFZrtQrFMpq9UWdEpZdXJWKykrJxHZsp1flsHMBk2Ue52JTq97RHunWaizOw54smPOdj5Zu3WVekBeal2tV8rydZWTiGzZdodlMLPFtp7HtG82u5Mdc7bz1do9IM+lrLot6FnKypbt/LAMZnaAdcrutAI83T7EMLM72c5HO5dSVrst6HlNZcu29ZbBzC6wjbA7fvJrq4cYRtQXKGd2J9v5ZpslZXXDmHJd5TWVLdvGLYOZ88Q2wu5QytLv62F36JhzJprtfLHtkLLqkols2bK1tgxmLhBbD7tTJ2dldidbttLWI2XVJRFZysqWbXMsg5lsayZ2Z2go/X8/DC0FeDpld1oBnuycs50v1m5NtZKyNlr8n6WsbBeSZTCTrWPbKLvT6VH3Ea13j2TnnO18sW6krNRpylnKynahWwYz2TbVtpvd0d8yu5PtfLBzLWW1WlN5PWXbyZbBTLZzautld1IOej3sTis5K7M72c4H60TKarUFfaNSltZUXk/ZttMymMm246ybOgPPTjs5/bXVgWj6PVu23W69vfUPBY2ol7K6Oceq3Snl2bJtlWV3nW3XWbs6g4j1sTutGJ521HvORrPtdluvlNXtespSVrattG0FMx/5yEfi9a9/fXz605+Ou+++O9797nfHs571rMprvvzlL8crXvGK+PCHPxzLy8vxqEc9Kt75znfGkSNHtqfR2XaF7QR2J2ej2c4XO1dSVrst6Dl5yFZn2wpm5ubm4sorr4xrr702nv3sZzf9/5Zbbon//J//c7zgBS+I6667LiYmJuKLX/xi7NmzZxtam+18sm7YHXfW3Ty5OSVnZQedbbfbZklZnRb+tzq0M9uFaT2NRqOx3Y2IiOjp6WliZn70R380BgYG4i//8i+7/tzp6emYnJyMqampmJiY2ISWZstWWN0ZIfxbJ5a3zWbL1lny0M4oZdWtpSxl7R5bT/zesTUzq6ur8U//9E/xy7/8y/G0pz0tPvvZz8aDHvSgeOUrX9kkRdGWlpZiCbB+enr6HLQ224VonbA7ddvPM7uTLVvVOpWy6uSszZCy+vsz2NmttmPBzD333BOzs7Pxute9Ll7zmtfEb/3Wb8V73/veePaznx0f+tCH4nu/93uT77v++uvjuuuuO8etzZYtbXKQ66018EPR1lO7k9mdbOejScqqk7NaSVndnGGVpazdZTtWZrrrrrvisssui+c973nxV3/1V2uve+Yznxmjo6Px13/918nPSTEzl19+eZaZsu1K45bYOgq+U/q91fOyckaa7UKwrZCyUlvQ81raHDsvZKaDBw9Gf39/POpRj6r8/ZGPfGR87GMfq33f0NBQDNWlwdmy7TKj48zsTrZsG7NzKWW1krMy2Nl827FgZnBwMP7Tf/pP8dWvfrXy96997Wtx9OjRbWpVtmw7z9azk6QO8HRTu5PZnWznm3UiZXWyBX29iYOvqZw4rN+2FczMzs7GzTffvPb7rbfeGjfddFPs378/jhw5Ei9/+cvjuc99bjzlKU+Jq666Kt773vfGP/zDP8SNN964fY3Olm2XWSeHorXKSFNbZ+tMjjifApvtfLRuHsfSbeKQpaz12bbWzNx4441x1VVXNf39mmuuibe97W0REfGWt7wlrr/++rjjjjvi4Q9/eFx33XXx3//7f+/4GnlrdrZsG7dW7I7+1m3tjjvq7KSznc/GxKEueejELgQpaz3xe8cUAG+VbRWYOX26qIbnRMrbY7NdyNYJu9OJZXYn24VsnUpZ7Sy1jnablHVeFADvdFtYiDh5svq33t7254GcD2g5W7aUrXfrbMpZc/dWOwq+FeDJ6yzbbrXNkrI6XUettqDvpnWUwUyXlpok/f3FJGpV5V4HdvIZBtnOd9to7c56dpNwPeWzQrKdb7aeXVmp9bTeXVl1ctZOAjsZzHRpS0sR09PlpOrrK8CN2Bkf5Eaj+J8yz7oDm3LWme1Cts1md+qsbp3xb3mdZdut1umurHZJw3oK/kdHi6/tsgxmNmD9/cVAnz7dXABJkMNM8PTp8vj5RqN0mNJA+/tLxFxnroXm80CyXSi2Xnanrn4nszvZLmTbiJTFgn9KWQMDGczsSjtwIGJsrDrgZ84UjIsGW/8T2HGE646xt7d4TU9P+dyfiBLoCPj097fXQtvJWblYOdv5at0ce++/r4fdaQV4MruTbbfaeqWs7T6rNoOZLq2vL2LPnvRD/upocAGQpaVqoZaAkDtPHaxElqe3typn1bVNn1tn/OzzofgrW7ZObSewO7tpR0m2bClrlzSca8tgpkubm4s4caL4mac5utMaGmoGBnVb71ZWmtkdftffuS2PTlGMy5kzJTvT09MsZ8mZtzsXpN1pr5ndyXa+2k5gd3JSkS1b55bBTJc2PR1x993V7djOdjDrqnNYg4MRIyNpdqeO4RHg0WsIdlzO8kJHyVeUs7xup6enfF8nxcqZZs92oVk37E63O0ra1cdldidbtgxmurbR0YhLLqkWQQloLC5WMzJnTlLBvpXsMzKSZndayVlLS6V0RTlL9TvMFgm+9NXTUxYr87pkeiRnrZdmzwegZbsQrBt2x9cy2Z1Okoo6H5KTimznu2Uw06VNThaAphXVLHO5aHGxmpmxYLduF1REvaMaHEzLPq2epuzsDv+u9pGpcSDW11fKWWR3aGR36qzdwwtTNUnZsp0P1gm74wztVrA7WTLOdj5YBjNd2mY9qViv9deR3RFgqAM8ZHfqgMHwcDpDSzlHyllkclrJWc4suZylL91vRAlk+vo6K1ZuRbPnzDPb+Wia3+t9inNmd7JdaJbBzBbZZj2pWEZgJAZFv+t6KUDh7E4d2BkYKACPZ2g8OKlOznKAlgJsEc31RL29ZWbJYmXdjw4a7OtrvRVdn91KzsqZZ7bz0To9L6SVnNUNu5M3BGTbaZbBzDbaZp12qtfWgR0BCmd3CHiUdbXK0OrYnVYMlLM73KKu33UPagtBGHdnyVk66OnpSZ/j433dTs7KmWe289G2i93JayzbubQMZnawbdZ5GDJnTxYWyt9Vu5PakeU7Jlrp79qKTks5S/58+nSa3WEBs4xtEvDp6SnlLPWb9yPrfOos7xrJdiHaek6DrQM8md3Jtt2Wwcwut806D0OvdTCxsNCe3fG6lVZbtoeGisJpBxztQFmK3fHdWrw2wY5kKslZule9Xn9X7U5d9pifm5XtQrV2YL7Vs37IwLZjdzKDmq1by2CmS1tcLA7O2+mLbbPOw5B5MbDAju/M8h1ZnnWltmzr9zp2p52cxVOUWdOj+xOASdUUyRmrz/SdoCdVg+TG+667v2zZzjfbCLtDeXx1tfPjHuoAT2Z3LkzLYKZLW1qKmJlJ/2+3yRWbdR4GX+vn7pA98S3erdiduq3oIyP17E6r3VkpOcufnZXait7bW31EROqp6ARxdQ611XOzeK1s2c43y+xOtq20DGa6tD17Ivbu7W6x7baTc7s9D8M1dZmDjlbn7qR2aMmcBeHrdNBgqp2t5CwBHrYxJWfVtUv3UPeQUAKeujHOz83KdiHaep/knFrLnbI77eTinFDsPstgpksbGko/JXSzC+VaBbSdZN3umHAgqNfWsTuNRgkWOmF36vqvjt1plx06u6N2nj7dLGelipUpZ8koZymrbJfFprLNXEiZ7Xw3rYu6JzS3Wr/0v/q9FbuTE4rdZRnMbLJ1SqV2ug2yznZbMepmaeoyMicrK1V2h0W9BBQpdocH8nn/DQ62ZndayVleu5NiqVJb0RuNalZJoCPrVM5qRbPvtPmRLdtm2EbZHbGvq6utz7WKSPvfOhY529ZbBjPn2DpZbJ1st+6U3WmnHe8k24imzn7Ra1msTHaH5tlWO3aHPw8MFHJj6qDBdnIWHaf+z9odyVmpImovuHbzIuw60LLb2L9s2TbD1sPutPK/md3ZWZbBTJd2yy3F1+hoxPh48TU6WnzpWUndTtTNOkyPEkjK2j0Xaadl75uVdckEJLgV3V9Td6pyHbvj/bdnT7rWqN3pzyl2J7U7iwwdvzgP2H8RzcXKdaBlt82PbNk2w9brZ1JreD3sTivAk9mdzi2DmS7tW9+K+PrXy9/l+AVE9uwpajLGx4vvk5MRY2MF2BkaqpcwOrHNelQCs4s6ayXD7MTsfbOyLr2W7A7Pukk9X8prZGh1/SfA04rd6cRx8u98xIT6xOUsFkkKFDnw4b20K1Zu5ZCzZTvfrJ2fWV1tX6y8Hv9bJ2dldqe07Gq6tEsuiZifL6SL+fki0J0+XQSHubmI2dnm93DLoApQyejoSdx79hSLZGDg3LA7dcGS2UWn7E4qoO2k7GKzsi6ZnBaLlb2+x2t2UvUurSjpoaH6reit2sqfCXgWF6usVAqQUc5qtwW2nVPN2We2C830oN3tZHd2ov/dSstgpkvbv79K22viKYNfWipAzcJC8aWajaWl4v8LCxFTUxF3311+JoPK4GB5Wq6krImJIqiNjBTPSTpX7E67YuX1sDupgLbTsov1Zl0pEEGWg6Axtespda5NivVqBQiGhtJOq112SAnL5SyyUL57TMXKKTkr1Zet5Kx8Lki2C9E2y89s1P+eL+zpeXIb5976+goGRRNJE1NFoRERhw6Vr1emTqZjYaFgdRYWiuChr+XlAgjNzETcd1/1unL8AwPFItizp1q3I1lreLj4/0YyX7E7rawd2OmE3YnYXdl7J1lXJ/0ic3ZH4+/sTgrwMMi3AgU6VXm9W9GdqfOaHspZLrO5nCUWiNcmu9NKzmrH/u00uTNbto1aN+xON/53t7HrdZbBTJc2NlZ8RbSWbAh2IkogMjoasW9f+Xlid/RZS0sFk7OwUJWyFhdL5md+vrldWgBid/bsKYDN+HjZZtXu7NlTtGUjyFwT/lxkF7spe++kX9oBHhrnl5+7E5EuBE6xO636sBW7024MndlxFmp1tRm4qG3+egc8zu7U7eCqmxf6eSfNj2zZNsM2yu5sBrue8jPbYRnMbIJ1+/wjDwaaEAosExPNn6FD486cKQGNpKylpVLSUu1O6pELLFQeGCiYHAGcsbGyjoe1OxthdzZLO17vM1v8952UXbRjvTqtaeLrXSaqY3cc8DDItzqfZnCwAMYpdqeTMXTQ4/O/7mwgOls+UFTXjuiMxeM91wGfbNnOJ9ssFrkTdmdiopqgn2vLYOYcWScFua3owuXlqpPu7y8Cy9691c8Qw6OAJoCjLzE7Ynnm5yNOnWpuqxaArrNnTwlyVKgsKatOwujU2mUXne5Aalew2ipQ7zR2Z7N2rNEIgvzcHd/m7ZIWrRUlPTycBgWdtNW3yvtW9JWV+q3odLhigXRfzu7UsTTnC92eLdt6rBt23dcxH+GyXZbBTJc2NRVx4kTJbmw002u3y6YTKUufoyCUmpwsVhaDo9qd+flS3tLOrNQDNXUNSVkDA0UQI7szMVGCIMlZ3U72jZwezL+v5zESu6E2Y7POI+LrCSbE7glEOHNCwFPH7ngfaq7UsTvtMsRO5Kw6qY1g1wuWG43mmp+6Pm8lZ+0kQJwt22ZYO3ZHa3e7530GM13a3XcXh+YpYCtYp+oQCHa61fE3S8rijilNzsnJ8jPk5FdWis8TuzM3V+7GWlwsAc/CQvG/kyerbdEC0AGCAjWpQmXJWZvB7tTZeh8jcT48JLSbOZPqHxpZFH/auMyDe2psHBTxa8+eenanXe1Oit3h87R0Pw52+Nys5eUC2Ps4+hb2OnDeam7sNLkzW7aNmvzMdtsOaMLutLvuivjkJ0uWQnILv7StmlKM0/c6QC9VULVedmczpCw5cE3OwcECeBw8WP2ciDIrJrvD2h39b3ExYnq62hZnd1SsrJ1Zqt0h2Bkc3Hp2p5Ni5fPpIaHrZXdSc6Ydu8NaF10zBXg6ZXcEeFKgsd1WdAIesjsuZ6W2ovf0NMtZXrvTirFK3dtOlzuzZdstlsFMlzY8HHHZZeV5HHTep05Vt6OKohOoUXBW8B4eLr5S9L0ctzvzbpiAzZCy+DwgZv1kd/RZPHdH9TkqWhbLI7AzN9dM/ZPd0Zb3PXvKHVk6d4e1OxthRhS0NhrYyQCkbDc9JmCr2B1KRCwA1jWdOUkxGq1AYx27sx6GLgV4CIhcltL1xFQtLpbX1H1RzmoFbHcTIM6WbSdYT6NRd9zV+WHT09MxOTkZU1NTMeHbgzZoy8uFw5qaKk78nZ4u6ktmZ4uAPTdXnhvDg9LkDEWBk6FQUNbOkdQheZ4xOvOzlXUedVIWnf96PktMx+nT5SGDkrG0M0sBj9l9RDMoYO0Ov0ZGSvA4MLC1gWC9gb3OzqeDrrphd+q2e8tSdTF17E4r4FjH7nTC0Lmc5YmAb0XX72qb7pO/R6Tf55a6t50KiLNl69bWE793kUvcWbawUICW/v6CIdi/v9mJNBpFIJ6dLdia2dkC7MzMFIGbDAXZndOnSwdfx+4oOA8Pl9uond3hdwbyFODp1PFthpTFz4oo28e5Smev96l2hzU8lLLqancEFMVysXZnbKxkxvbsKVmg7XhIKOtRzqeDBjthdzoBEDR/2ninpyqn2J26/tNjJNzaFVZrLafkLD5KYmUlnZxo7qsAP5VudiJntXqu2m4DxNmytbM8nbu0hYUClKQChjuRgYHiWU4pinh5ufis6emS2RHYmZ0ta1AEauQQ5+aa2R3W7ojZGRwsA7YCeapmQaxQXXDslM3YLCmLNQhin0ZHC9Co60RUi0JVu0OGZ2GhBEJ6hIS3V/erdlPK0pfX7nTL7mzGYyTIDBAcuu2mgwY7kfg6kYf4egIknVgsNpA1W+3YnVZ9WFfHVbcVnT9HNLM6Xt8jWcprePTeRqOY17pntTkl1bnx3nY6IM6WrZ1lMNOlLSxEfPObzQ7Bz8FIBa1UAeDkZMSBA81BptEoAvHsbClnkeHR+TGsPRC7c+pUld3p66sGbDERIyNlofLwcLn7yrNW7szqtmhxI7uyPJj754lx0d9l6hcxOGLEyO4IVM7Opmt3CHbEiondUaG3wM5mPSS0lbWTbbo5aHAjIHarbbO259N8xxPP3ZE5a5IK8K0YEMm/bp1uRU/JWazdWV5ubp+Amq6h9e9PR293X7y3unmykwBxtgvbMpjp0uRgIkqqO6J6WJd+pkNgttyKIvbAMjQUcemlaccjRmJmpgAwOvlXtTt8qneK3ZHzZNBmobKzO2JwPGP0nVl+D51meZshZRGQ8JyEkZGS3VF7XLIQQBTDI2ZM//PaHX7+wED6IaHj4yV45Fb0bo2MVbs+qguYG9mK3q7uZDusHfjqtE/4epeIxO4IFHA9u1Qka3cY3/BwPbvTTs5Sob3LWUxuVlaamVj1k5IdL1b2dq/HV/m97hRAnO38tgxmurRDhwonxCdhe2aoTFDZUURJAetnMSYM+J0UAKaywb17iy3UTivLuYndIdiZnS3rULTlWO2fmiod5pkz1ZNUCXZUWzAyUgVA7kCd3ek2y9ssKYughKBR7A6BqbM7krFmZ6vszvx88TcHPOo3gR0xYiMj1XN3BHZU49QtUOiWyUgVunayFb1dQNsJtp4+qQMPdeyOn6pMZtVlm3bsjvelmNT1bEV3FpPARrKb31NKzhIAlJyVYi07kbNasX87CRBn273WNZi5+eab45ZbbomnPOUpMTw8HI1GI3ouoBnp2XXdjg0eMOdPGqZurp89o4soAY6zO504EDoPPXAyBRzEOgjwSMaany++67A81u6IDVLAY0Gjgga3TY+NVeUtl6xU8+Pn7jjYa2ebJWX52Shkd3QdtUcBTSyHmC8WefMxEh4U/ZBBgRqBHdXuEOxsFrtTZ+vdin4+PJV3PYxXK7aERtCgpKeOAWklT7fqvzp2p9NaI3+2F5kofaVkKRbqi/nl8Q3q01ZAjv2+0wFxtp1r696aff/998dzn/vc+OAHPxg9PT3x9a9/PR784AfHtddeG/v27Ys3vOENW9XWrmyrtmZPTxePM6jb/pnKOlIauYKcTtp1sJMaHQVRHtrltL87x07o4VbAgdLU9HS1dkdylu4llREKPPC6PCxP9ToM2Cl2RxJYK6e3GZh6PbuyWpna4wWhOm9HW/jJ7rBYVcbHVAgIciv6xERZt0Ows5HHSHRi630+VJ2lajN87HdLrtRJPRMt9RBOgYKIarEy13Qdu7PePnS/lGq/2sn/u7zFs3fkP3hN+QMW+Kvd7fzVbgLE2TbPtnRr9i/+4i9Gf39/HD9+PB75yEeu/f25z31uvOxlL9txYGarTA5pIyfC7tlTFP6S3XGHIqDDYOd6udrDNriUxW3ZzvTU0bwp56gHTaaypdOnSyZHgIc7s8juyPlJqqFjFLMjpoZgh7uyuLOIfdzuERKdsjubIWWRgWFhrx4Squw2olkG0KnKfJSEGL75+dbsjkCf5CyxO5ICXQ7c6q3o7QpdtRW9laWAK8d4pwSzduxOJ49l8CSGc00MSIo5dPDi1grsaKejW6fHCaTkLK/dSW2Z56Mk5Bv8/p0VSt1bu7OZdhMgzrZ+WzeYef/73x/ve9/74gEPeEDl7w996EPj2LFjm9awnW5iEESz1j1ZtNMTYVOLUFuEuQhT1xBIUN2LyyURacBFwMNaHdVqeJaVaneK3Tl4MOLii5uD5PJyCV7E8BDsiN3RPajNfg5PRAl4KMnwhGAFan3ReapAdyMswFZIWRHVQDg2VvaxPo9yhcAjAY/6TqAyxe4IpKl+hwcN6kRq1kNt9DES6qdOg3uddMP53u5adcBnJwQzSpZ1llrnDgBplIm4ZvxU5XZJTLvt/END6T5sd5yA1m1KziLgUQ2hgx35WY2/y1mpYuXUnG0F5nYSIM62fls3mJmbm4uRxElSJ06ciKE6b3Ue2vx8ITPJmBWI/if12Uq7Xg+7w8Wn6+zbV92Zk5Ky9CUdnDSxZ3kLC2WhsqQs33LeSRZY124eMkjnoUMGBW6mp8ufBXp0H3zmj2p9eD8cCx42qFOVefigmAxmf3WHDLYCd26btSuLUg0D9shIwe54dssgoa3oLFTWzqz5+aqcoTbr8wkGye6MjlblwY0+RmK9wb1Voev58tysbtidFHigsa9cyvSzaVr1RzuwMzycbnPd2DlAc3aH3zXOvhYFeOQDVKzcTqprB+ZS97oTAHG2Zls3mHnyk58cf/EXfxGvfvWrIyKip6cnVldX47d/+7fjqquu2vQG7lTTKbQRzRRvypzp4Gm9ftptqyLL9WalKvptdR0FvRRQIIVMGYBZkQKpO8FO6nZSmaC2NV96aTPzwYPxeN4Ot6E7u8Mt1WR3BHQEXsTYcGcWt1rTedaxO+z7draZUhaZP/W3ttTT2adkALE4c3Ml2DlzpmTPnN0Re+fsDgGPP4NsI+wO76ldYW67QtdOWNJWwXq3sDt18p5LQ/4e/p/sDmvzHPCk6lta9Z8Y7VSbW0lvGsNO5KzUJgmyO+0KsVv58zqws9MA8YVm6y4A/sIXvhBPfepT47GPfWx88IMfjGc+85nxxS9+MU6cOBH/+q//Gg95yEO2qq1d2VYVAE9NlUfnM+jTUdIJcIHUOcM6J0qWpG6hd2KtAi/ZhpQ8ol1Z3IbuUlbKeK8OXHwbaCdSVuoeeA3V4YiNUKB2dkdBm3KPnKUyezJgZHe87kQ1Ov7sLP29rt83g9LejGdlUYJgxq8MntIg2R0BxRS7oz4TOB0YqEpZZMd4dtFWAoVOC13bWbvajE6A7E6wOmmIf3NzVnezAQH9QcrqwL3P95Sc5exOSs7ya6Xq0trJWXWbQvj7TgDEu8HWE7+7etDk1NRU/NEf/VF87nOfi9nZ2XjsYx8bL37xi+OSSy7putFbZVsFZk6dirj//vJ3AZfUIvQsyf8XUc0i6oJcisXQItH1W2Wl7azV59exSGI/KGXp4ZqtnKKMUpaDm06covddqu18n8CK2B3uzuIjJFSTovvTPRO4RlTZCT8wT4+TYP0O28W/1fX7Rm0zd2VpnjFAiC1U383NlSCH2X2K3dG9C8iQ3fETlfXzVtY0dFro2om1Azu7oTajHTOYqvlKnVi8spI+ebhVgtft2TQphi7FdEc0Ax1vc0TzmCmxZJ2kPo8xoBM5qxV7ldmdwrYMzJw5cyae/vSnxxvf+MZ46EMfuuGGngs7F8yMTBPcC9Oo3dbJLR4gZHxtq8Wh19ZlPHp9KpNvR73TWgVeOml3gixSJlAgfVxnfmaFZI4U5V33/laMlPen6nDE7vCQQQEgHjLI+gNnd3QNgh4WK+scHu4+YttS5/FsJrvTTcBq1cek8p3Z4wGNqf6rY3cIFEdGqk9DF1hUf2511tvpc7PaWbtC291Sm9Fqa34d25ViS2QEBJ7YuPE1dclXuzbXAR+1pY7Z0bqgnEXf7ICJtTudsFetfPluAsQbtS3bmj0wMBCf//znN9S488nowLVA2iHqVqCh1cJlgNDR494Wp0BbXUMLQwHAT7tNOaVOdpTUnXUxMVEUKgtweMCTnKFA54cMKqD69esO6Eo5i1aBLuU0xsaKAlt/n+qHtItIrAS/BN6cvZqbq2avLsmIqdizp2QnKHF5sXKK8VlPhtftriwPAARwHAvJbaOjERddVNZXeZDQuTuSBillzc42syLceac+00m5rN1xsLORh4Tquvm5WaV1ujW/FeBx8Mf5Ib/Asa+rz6tjd+rAzvBwPbvTTs7ikRgOdjxBTMlZZHZSh2i670olLufT2UybYeuWmX7xF38xhoaG4nWve91WtWlTbauYmVtvjfjGN0pnqswxxQBoQnUi92ghCcHrbzSeTULjQkpl055F1LE7ddkiJaaUU1ovBd+ObXApS/Uafl5NXQbIvmOxshzFerIdp4XbZYECnZSuuDuLz8siO8FM7syZasEtmRo/d8fPlmGtDtmdVJ9v1OHVFd862GlnlBwUyOTwvXbHGb5UQaf6jWtT/cZCZQc7dQWqm2Wp86T89076q06K2W21Ga2Ykrq1nTrAL3U2Tbu1nZKovS9btbmVLFknZzm74211OcvZnUYjXeCc8umt7m03sDtbemje8vJyvOUtb4kPfOAD8bjHPS5GR0cr///d3/3d9X7krrS774740pfKzJpBw7/7zx64tSNBk7ZVlqzXyVKTt+7UVy1APlhOJoajVSbAa+getD2cC6MVFU9HXmcpPZnXkYPx61DKYu0OqePU4Wy6dzoJ9kMn1HVdYNHT0FNSlrahk+FRkTIPylOhMuUaBXmdy8GdWWLcJGP5Fmp/dlYKiHfi0Hnv63nmUSu2gmPD+gPtzLr44vQ2dPWRmDHVPal+Z3a2BEecZ+w7yn2jowWbyEJvPih0I6zIevqrXbA8H56btV52JzV/1svu6LqdsDut+q/umVkRnc15b6uPu0CaJ6I8e0esL/shxdSnxrvb2qSdaOsGM1/4whfisY99bEREfO1rX6v870J6NpMGmkHUb58AgYCGtLgCDB9AqInH4CQpa2WlvQPS4oioIny2u9VJnysr5S4Vl1c8wKfMd3sIhJDdqVvkDGqdPutH1+HpxHWFytyVJaDALCkFttgPPFyQ/UDpp9Pdav39pSTiY6J26Ayd+fnyWVhiJ8ju6P40H7WlWkGPW6k1txzs8FwZfdWBnfUyAJScUtbJzpqUlOUyGWVBvl9Bjf1JdkenKqcCAhMR1u7o4aApsLNRdqedjNRpgOd6Tlm73YKtkppzZZ1IoSm22MGfG+ec1205k9vKb7Yr5t3ok+3V1jo5S6DIwRnrNXU8hVh/xqZ2cpYndDsREEd0uZtpN9lWyUy33x5xxx2l9MEsULQ3z2vx2o6IKsBIMTgEOPw5NaE0ATuVe1JtEmCK6FzK4mc4u1MX5FJgxCnWVo6pE0vJQqkFSIrb63Y0tsyaUiaHkTqLw8FOq8C/3h0OClJicgRwtA1dT/fmXPTTVvVdAIffXYLhNnR9133587L8Hjbq8LrJzuv6mHULdezOzEzRd5oXXrTuY+brUyc4j41VpUDfir6V1qo4l2xlOzsfajM6PYfI3+OMia/1VLFyO3ZnPYCxE4bOX+u7sgjSXM5S+3ivZIxSUpbfo+5vfLxIJjfTtlRmot1xxx0REU2PNrgQTBOBmSCDugLNwkJ15wZBD+UDBVCyAETQKSmLjjMFhJxiZKFyKwkpoqpBk9khRV4nZWlRLC2lP6MTdscXv5w/M466DL5bdqe/v5AWUiySgl2nUpYXd2pc6SDqwE7d2NQVNKpQ2Z2MmAyeAMwt1GR3CHZ4OrDmi8bd5ak6doegR1Jqq0dItGN3us3OnZ3x0679s3t6ikJ1zctUJiyGjAc0qpZrdrYaEFjz5GtUtTsq9PZi5Y0+JLRT+aZVgE/Jfylrlbm3mtPnyrqV9nzs3XhUQ6qQN6J5vbdjd1JrpBW70ynI9/FOgbSUnKX3iq139lKvHRjYfDCzHls3mFldXY3XvOY18YY3vCFmZ2cjImJ8fDx+6Zd+KX7t134terd71p4ju+22iM98pjrwBBp6RtDYWDHAXtSlySHAw+yPDA//riDDbdYR5YRSoKmr3WGgSTEXOjQtBXZSrJJLWTItiNRzXLigdAYJgY6CvYMwNy9UVh2D3qfdAq0ki3ZMT4pepSzkAU9goE7KotMgiNVYEsQyGybQ0fd2baYjHByMOHw47Ug1Dqo1kZyl+p2FheYnemtOzsyU46lx0xwky6OiWz7J28/f6e2tP2SwU3aH6zBlreRN/V43Lyj7jI9HXHJJ0WaCJJ46rf7TjjatX9XuOLvDfmMxt+abtvBza/9G2R2uofzcrM6kvU5lIb6HoGFxsVqjF9Fcq1jHdLUCO5oXKVsPQ+dylsvwrMVhW1PKw7m2dS+FX/u1X4s3v/nN8brXvS6+53u+JyIiPvaxj8WrXvWqWFxcjN/8zd/c9EbuRBsZKbJ4HhDHJxkLYHDg6bBUZDg+XjynSIuIE0JO0A9xS4GelZXCgTL7V+CMKLNjBzxyiH7om9pJgKD70fVSC9+LXF2DVlvUnlaFylr8fL8+zxd/ynzxaxu6S0ypbJ5OqM5SxXPKuOmg6QT90RGq22AmrLYpG9ZzZuRM5FDUf3RorQCg+j7lEFmo7GMhdkdMjn7mqcCpR0jMzVWlLM0hSqUCM2J4CHJS87HukMFOAmIn2XndfCDrVzcv9NkjI9W+VL9oHqg/Z2aqO/O0puvYHfaJAMiePWXtDsHOZj1Ggmu1zlpJIAQ8u/25WestdE8Bhzp2R/8Tu+PSPXdhtmN36vpvM7ai8x5dzkodGXIubd01M5deemm88Y1vjGc+85mVv//93/99vOhFL4o777xzUxu4UdvKE4BPnCjlB9HMpPXn58vMjBQ3t+OxoNRBhRzV8HB94OdWZd/qy591im1Ec2GvTGyKO0y1i//zglAuMtdp64xgi6yE7zhJvY+LiItf/2+nY+uznZ1ydqeVY+rE2mnlctCUssTsaGz9aeh1pn7w7Cl1/VZSVkp+q5OD5Ai5bVoHDlLKIkNBeZWnK6u/vFBZQDRVt8OfGfDb9Xe31s024pRxnqWkLDFfPKCx1WMkWKjsuyhHRwuGmP13Lh8j0U29Ssra7SzaCexOO+uUHXTzOcLPi2hmd+oYu1Zgp5VfcIYuBVz37t1lNTMnTpyIRzziEU1/f8QjHhEn+Bjp89yUOcsppIwT0I/7l/MX66KAMDfXHJRcckidiOoH0mlRkw2gXEWQwwAzP1/9DH4Wax+YKbvzVJ/UFbRSZ64DGTLKT3ytPjOidaGyWI/U6xy8uHmNSmp7eKtMzCW1lKXod0mU+p21TqLynd2RZKd7TVH/ztRpPMlwCQi4zEKrA0j79xdyVkrK8kMG/YRlSllkH8Xu6ItzivVhGhvuJuKXZEjfmZVy7K0CYjfbiFNSRCpLZ+Y/MhJx8GDRHgYSfrbvzPLdbGR3nBXjNn0VK+tp6A52NvoYiU4ZjfXIWXXWrvakLsifK1svu5Pqi9QGD2d36s4ZI+CpY3dagZ1WW9G3eyvRuof2yiuvjD/6oz+KP/zDP6z8/Y/+6I/iyiuv3LSG7XTTOTMRVQfnh5oNDpbPnIloHnB33qyNkfNXoFLW7vols3CXkhQYR0cL5CyA4oVdZHcIcgh0yBpENFOhESW7w629vgOGLA9BGiUSLWIyNimj/KLXqT0KOKn3ElDNzzezRI1GdeHXBTlf+NyGzhqkumxmPfQ7nYu2oJNF0mengDPlUDJ0BFn6DK/ZSUmly8utpawUu6P6MQ8ocsR8XpZ+VsBWIb1vQ9ezoDQPNG6aW852cl36enUZJxUQW2WvmjsE2ilrFbQ1J+uKbjUOe/ZU+zJVF6EandnZ5nU9M9PM7pAVS7E7KlRO7cwaGNgYK9JJvVM7OauTwv+I9mBnu8s+1RcbrWNyYx3MwkL1f6mdqHUsZl2/ad1sl61bZvrwhz8cz3jGM+LIkSPx3d/93RER8YlPfCJuv/32eM973hNPfvKTt6Sh3dpWyUyf/3zEV79a/KwFoC3FqclEFoPZIg8zSxkzFtZY6Ph3OXyelqpFTb2V9GOK3RkdLdtBrV7AgrUeDnJYv8N7923bEaXDcjnLgwprJcggaPHUFdyljK/x9vBv/h72vevYERvTsfn6jdLv7bIpATHdD8Frqnan1dZ+/o9AzxmsdpR/K6nA38vdgZRwye74NnSeqqx5yQPINJ9Yx6bdWZRifE4yyHfL7rSzFKXv86ITS60XSrNa0yr09mMlfD5wG7r7ELE7el4Wz9whU7uV1uqwzlZB3q3T9bSTrRt2x+XAduyOr9OJiYKd3Uzb8qdm33nnnfHHf/zH8ZWvfCUiIh75yEfGi170orj00ku7a/EW2laBmc9+NuKmm6p/00In6yG0qwUip+oUMyUcBzzcpuk1Jl5cSrChXSpzc2UWJkeWqt3hgvXanZGRMqPlNr6I0okQ7LCOSNkAnWOqol/mwM9reOgk6WDpvDsp4KWl2pH6G42BoQ54tMt02tUBEITUOehOrFUmSnbHpSyOKeu/WvUj55UDHoKdVsHN3+Pt9r7UHBSTQylLLE9qG7q+c136dmpmndyO7ixjHbuT6vuNBPZWLEW3IDiiWcpiIbd2YfmZOyxu1ril6u3EUOsREimws1F2pxPrJsinrNNauJ1q7Wpg6gCzg2LOs0OHil1+m2lbDmY2yz7ykY/E61//+vj0pz8dd999d7z73e+OZz3rWWv/f/7znx833HBD5T1Pe9rT4r3vfW/H19gqMPPRj0Z86lPFz6K2uefed5WI5SCipeTDBUCGhVbH7sjBDgyktwZyFwUBz+JiKWdJc+epsXJSkrKoR9NhSeMfGytBl+obVO+hXTFzc1VZzbehS1LTdVPOhQ6ybgs6H8zoQVtOs45Fq7P1Ap6NZjqyVoGdIKTOOXUa2FoBHrI7ZAkFduqkrJQJDHHep9iSVgHBa43aZc/qIz9kkIBHXy6tEvAIrFEaJVvD+h2CG87HVAH9Zmf/qWMJugXBao/PZfULJcG6DQgpdsfX7dBQseHB2TGCn62WMbrZfp2y1E7HVKKyk61VH6T82eRkUbu5mbalBcBvfetbY2xsLH7kR36k8ve//du/jfn5+bjmmms6/qy5ubm48sor49prr41nP/vZydc8/elPj7e+9a1rvw/VCYnn2FTDwoDih4xRx4+oShIEPilQIyAg03vkYFXgR2Ptjhfj6syKkZF0ME7VW/DhfpKyVMyq7cJy8GR3mM3SUfFwN5d5VDvCbb6+S4zAR8EodS8plsszRTpJl0k0Bg4q68670bVT/1dwq/u/HIR07NTuLpdyUm3wwKht6HVZt2ejnR6Mxn7yQmWBT0oYqsMiw0NHSIaQZ+74llSOi8bQDyZs11597dtXFNemCpX9kQcCO/pZ96T5qPWo7dScL5RkuCZU80KAkwLhlLLq2LQ666RQuRWz067gVp+/Z08hLWiepT6TT0T3g0P1N4EEZ8VSSRMfIUH2Wr9vBCSsp0C3VQ1Pp7Vw7eSs7TS1o9NHkNTNtXNl6wYz119/ffzpn/5p098PHz4cP/uzP7suMHP11VfH1Vdf3fI1Q0NDcfHFF6+3mVtu3/xmxNe/ni6U1CIUFa1Jmaq/qJN7+DOdll9PDkBOQEWdeg6Ho2dNTtak+O4Fyj8yZmLO7sjhM6OVxCVH6LU7npnJKanQkPfGGhzdm7M6fg6P/qe2kwlT8PeTk5lhq1DU6yMYVFOFyjT+zXeG6XfS/Cmjw/BCZX2OSznrKVQmcGuVkXa7k0QnZOtvlEgEDAhg+TR0mV+XhcpkQV3K0j110l62UWdI1UlZlF4kXylgE+yQmVhaKmpTWLvjNUaag6wrE+Nax/Kk2Dpn01LWza6aVGZeV3Crzx8cLE/V9l15AqMEkNzVJj8zM9PM7hAk+vrVcRZ1O7M2yu60k5FSO9r8d8rgdUmES9Ap4LOdxcoCtDvF1j2sx48fjwc96EFNfz969GgcP358UxpFu/HGG+Pw4cOxb9+++L7v+754zWteEwcOHKh9/dLSUixhi8b09PSmtymizBIYbOhkZcw0ODlZbMisVpmtgrk+U5OWgYssD7/o3Mn6iO0hu0PmSO31Al2CH8lJ+lwCDTknr9sRsJGj0g4qbSFUwElJWXRYqlVgoHGws7KSrt3hz/yuz3D2hZkn28I2UUpQf3NXFnczOTPTrh5H/1M7UgCT9yynSHZH5lsyU47YgQi3oXvWXVdr0G4nSco58+GgDHiaR3WFyuy3FKtEqdJZHWb+rRipOqmgv784FO/w4XShcuqQQcq5BDwat+XlEuwI8Oj6BNT8OSVdcc5KmklJlPpbJ3VL7TLzduxOHUPR21v6FB4yyPerfwQg5+fLuUF2R33o7I4nKP395YYHBzus4dkou8N1s96+o5zVaQLRTh6+EGzdYObw4cPx+c9/Ph74wAdW/v65z32uJcjoxp7+9KfHs5/97HjQgx4Ut9xyS/zqr/5qXH311fGJT3wi+mqg8fXXXx/XXXfdprYjZQ99aHk+hpyvGAlmm1qQyixSNS2dsDsMZisr5cIXoKDEwroQAp+IKkPC/9MJRLRmdwgwUhkjzyLg/cqxcUeWfpez5+Fws7PNxdIEcb67RABzeLhwVqkCYwabuvN29LNYJxk/T21Q5sw+4W4sHkyWopW5RdzN+86NALYVHeyUP69FedNZJ7+Wt31kpBoU2x0ot152R2M8MpJmdxwY+CMk1Ges2ZLpb6ntqJxf7aSsulqm8fFCzkpJWQLcXrujLx6TIIZC7xHg8XnoYIfsTgrwMHB3Gwy7PXOHf2tVqK+xIQPFui0WxvPsLiYy8i8CPGR3fCelfJjYHV/DlLQ2yu502nftalY6lYdbMTzbvRV9s2zdBcCveMUr4h3veEe89a1vjac85SkRUWzXvvbaa+OHf/iH43d+53e6a0hPT1MBsNs3vvGNeMhDHhIf+MAH4qlPfWryNSlm5vLLL9/0AuCvfKXYmt3XVy0MJOBYWanWmpAlUKBk0W1EGRB8gpHdIc1KdoesghwBae0Uc0MpS2wQ/0Z2R4XOrHnh58tYs1IHehyM6RrqJ9+GrsxMgUvX5C4UXTvF7ug7j83v70+Dy9XVar2HS1lqn5wxmSGCOF1fgMedp7JSgiGyOwIW7QAAzUGkB6LUaucuN2bUfK9ngCkH2MphCri1Cm6d7CRpt/uLAY8Ax3dlMbClTHMrorxfXo8JR6vM18FZqu1+Xc01nrvDM6f8fsS08jvHkGvBAY8YOM5JMrMbZXfaWatarm7mBMGu/AQlKx5lwVo8Hi0hkCtAmJKyhoerzxtL1e9sNSPS7Xkzqf6rm6OtpOtzYVtaAPzqV786brvttnjqU58a/Wfh6erqavzUT/1UvPa1r+2uxR3agx/84Dh48GDcfPPNtWBmaGjonBQJf/WrER/9aJk5+lODNdHHxorFrmDB3T1aZDoIT5PQt8Tq7344GCcYJ50Hc7E7/f3F56hGQgvfP5OZOqUsgSQtdC0Cl7gETDqp3SHooTPVwzkJFlyC8K3oqt0ReFxdLdkdZuKpQmW2Q2dl6KBDXZuZ/vJyld1JsTy6fz4clPeioEiwQ3aHtTsCgGp3ihHxehpej+aOSf1R93pmiQIIzho52EkRp3WFypy7qWx0vdS7M2B6OrUHPN0LC5S57lJSFrNgzTGOCdeOxrITKSsFFvS8LB8vjoNLWdyR5QyFalMoZzE5EmhxsONnP/nfWH+1XnanXf1JJ1uI280J+Ro9Db23t/o5nkD5idQ8j4f1XNzJ5pK4xwXuOuVBgxsxsvB11qpIuRMpUMaxrBvj7bZ1g5nBwcF4xzveEa95zWvipptuiuHh4fj2b//2OHr06Fa0r2J33HFH3H///XHJZm9m78LkSGZnI+67rxqsNbia4JzUmtgCGKLQnW7lrhBueWWgZOEka09StTvM9N2Bse5DgEGTvb+/ykIQtCgrpZQlAEKQo0BHarynp1xA2gnCAEm9no5UwV9FmqngzX6jlCU5S/JfXbE025ySssSoTE6mi3wFDiUZpOp2BFqXlyOmpqrvp5Hd4Q4XBhU9ZDDlYLSTSo5LfeTmdVNerKz5UpfpeaGyg1fPnusCnN8Dd2UJhLeq0SDLtB4AoUJlB1aUsgh6BBTkxFNSSUrK8tqdoaEymNRZXQDRGnBmhIlS6hESfi/O6iwslKwI2R2Cfwdefu6Oy61au3UMQB270y5gU8qqY3daSVm6hu/M05gQxHuC4jV4Yo3Vd0yaWLOj72R36oqVNyoBtat7om/oRgqU9fQUc3Gzt2avx9YNZmQPfehD46EPfWgsLy/HYpePy5ydnY2bb7557fdbb701brrppti/f3/s378/rrvuunjOc54TF198cdxyyy3xy7/8y/Ft3/Zt8bSnPa3bZm+aPfKRxUDPzDQ7CDkDneNy6lTp3LWLwetifBJrcQ0NFVsfuROA21oZqLXodG05Yv1NDo51NgwozKLI7qg9XOh9fcV9DgwU11EA1yLm+13KiqhmZPqfAiV/1z04u6PgSCnLmQ0+JbaudofMjsZPZ+EoMGpXFuU0r1Wg82Zx8NhYlY2hJKVMOQV0WFMk55kyBn1d39vjhcoul5A5dNmszlLsTrtCZTlJniXEz/Ni3ZQjd9lG2S4lproMfiOZqAId26f157uyUlJWij2ok7IcjA4Olv2Wsroi0IGBslDZx0K+gg8F9cMFU+yOGEnWrKi/yFBQLk1JWPIrlGfIOHbK7qy32LaOpWg3J1gQ7wBWn0Uf4g9XFXPMgm/2W0rKGhgoHyFRB3Y2upuop6ezXW2dyFnbXXvTcc3MP/zDP8T9998fz3/+89f+9pu/+Zvx6le/OpaXl+P7vu/74h3veEfsWwc0u/HGG+Oqq65q+vs111wTf/InfxLPetaz4rOf/WycOnUqLr300viBH/iBePWrXx0XXXRRx9fYqkPz7ruv2J6tOhbutlB2OjtbgB0dF67/8+GSCpD67pQ9pQZSlmJ3VHMh6pS1JFygWkiagHJSPMbcna2zOwwyzLSZjREMsTiV9S36vzIuSll8vxaHfiaQ8qAp4OHsTgpoUFLidQjw2EcEPKx10iKnjKX+4/05/SxHrmxWr2cbdE91W331M4GegyaNnQcOd5hiulJn7ijIKhh3UsPANnh7Wnkbz7AdbGsucX2krpvK/Hkv7XbhrLfOoK6eJKI5sUjVu7QyzTEFemd3NJatAkmqzsjbnZKytAb4nDjuyiLgoZSlL64NrQVPAPj3lITlxfTdsDvtrI6dWG/tiddVCewSDHAOCBSmanfI7qjP6mp3vEBZa52M2FYalYDNvtaWnAB81VVXxQ//8A/Hi1/84oiI+PjHPx5PfvKT43//7/8dj3zkI+PXfu3X4uqrr47f/d3f3fgdbKJtFZj54hcjvvzl5oyEuwNY50DKmjt4pqdLdodgx4+Ol1PwAl3uTOBD4AR0WGBKSpYBmLUD+j8zTjksUq9qkwcbOZeI6uKmTKL/OfBRkEmBHZey9MWATXZHAEr9JbDDYKzP8HoAAiDX9MlauJTFDGxhoQqwKIOk2B1nVLz4kn3Mdji7Q5ZHzlNsHMeLfaM5nKrd0XdliHTWzKQjyrmzXmsHcmRkJuuAVSdSVquAqHtpl8l3Yu2uI0YsJWVxbrUyZ3c4LvriuuukrXUgkEYZXLuI/JBBFst7obJ21WkcU9Ku2sE1yqRAfo/ssdZv6l5a1e60s3Z1O50WKrNN/FyyOy6J19Xk1dXuuB+hlLVdj5Ho1rYEzBw+fDje9773xWMe85iIiHjZy14WX/rSl9YeLfCe97wn/uf//J/x9a9/fYPN31zbygdNfvnLzU5YQVkLxzMoffX2lsFTjAPrOxSkBHZEA2uSix1QoFSwkvkilj4rBE+ww5MzqY9qkWoBCWBRLvAsk1m12uQgQ33Tit3RPRC4EIBxx1ZKyqorTibb0wm7o/Y6VU6wKmfg0p2zOxxfsjtkrUjd+/xJSWr6m+4xVUPEolDWXTHQONDi+1lfxWPlKRlwfjGokkXh3OjEyOy4RJdyvj53nVlMFSqnPqdOtiFIalWk3A27Uxd8I0rA4FKW5lQnu7IajWaQ40Ch3a6sduxO6rrO7hD0MFCrLo9zlOzOyko5p8hU8J7I7jizwwLcVvfQLbvTrparU5Dv48/3e6EyWX71H5OqFLvjhcpelOxf3C27HbYlu5lmZmYq58h87GMfqzzS4Iorroi77rqri+buTpucLB6sxaybC08LUQvUnTGDLtkdBYiRkWIHxmWXleCHE5nnJ0xPl05CAEMBTM5kbq4aqMl6cFK7nDU2VvxNjyGIaAY6un+vz2HgVvB0sKOA48Wm7dgdyU1kc1i8HNHstAV2yAgRWPE13O2lQuHFxWr9k9rn40dHK8Cxd2+VFVGBqdcmaGwVuATeVlaqZ4wwK3Mn5XPJ64fcVAfB+ghmgppHCkYOKpzdqSuaHh9vLgTl+GhuEczJUgXK/hoWo3dy5k5dqV+qXbSUbMMC7P7+9tvQ11u7I/DIs33UPt+CzuJejSPvP1WovLJS3rfLJbp2uzN36gCCCpV9/rFQWScAy29xC3UduzM3V25+0Jr0GhSOo0vMzshSil0vuyM/WmcEd3XsDsF4HSM3NFSwpGR3CHT0XhYr8/Eb6ks9fLiudseBYTuw0w4MnwvrGMxcdtll8eUvfzmOHDkSs7Oz8bnPfS5+7/d+b+3/999/f4xwL+t5bsPDBZiJSFfUR1SDPoEOJzDrMzzjbFWbogl20UXlIhO7Q7mB7I6chTIlTXLtPvG6C2bYmtwCO3yStuotRGXTUTuF6tvQ6YA9K1NbVlbKoOJgJ6LMzuiY1G+qJdLvzu6QWaGURWaN16bspO8EddwKzveIiWPdjLIlbR12ZyCgLADLn/k3zSsFBDJM3IlSVyg9MFCA1lQb1A5/CCO/GEi1bTsFeDxgqA1kd7QtnkGELEoqGNNSfci/qx0E0Kk+V91bqtaHILkuY+VrCMYJGNpl8p0EN2dMxseb+67RqDI7HDP5C81xr/1Sn1DKcjZUvimiNQOR6hO9l/7Ux4IJGet2WtWTCawy0dQ80DXJ8vjOI6/doQzbDvDUAeAUg0XzQlufE4ohdbv01MeaA2oL30+w45tEyI7NzkacPFmCRdY2uQ/R3H7AAyISDwc4Z9YxmPmRH/mR+IVf+IX41V/91XjPe94TF198cTzxiU9c+/+nPvWpePjDH74ljdyJds89Rd0MaToW5MrxRpTZvcs3BDn8myafdkPoZx5Vn2J3CHZUCT85GXH0aBkMvGhPWZAKlUkBk+lhgbI0bjpMOQAHOzo6XFm5AoOzOnREkj2orytLY12P2rOwUA1OlJsimmlWBU+99syZquSgcSKwSbE7EdWARumM7I+zO2SP1IaUnERnr+JHr5kRgGVg8p1aBNGSJXSPKSm07rtyFQcIAq5kA5zhUQH67Gy5FV0mlo2AnQGD2r+AM50rpRMvVHbAwnlSx/aQbUkBHsqsKWCl+cbCdjeXmPr66rehp0APg1snjIn6V8DZ2adUgTK/eA9qA03gmT7B2d/BwdKXpayV7DY21nwUgq5LH8Ezd3TIoB+NQDlL85KbMLQWuCbkTzgfU8XKDoDWw+5oDtcxPAR3dXOCr6mz4eHqNnSNqbOWDnpcnuZjJDR+uwLM/Pqv/3rceeed8dKXvjQuvvjiePvb3x58pMBf//Vfxw/+4A9uSSN3on3ucxEf+lC16FZfcrpeeMWD9Pr7qxlPRNVJpdgdB0QCAJSgZmaq7dQQeRGdAsbwcMTFF5ePINAOGtbuzM2VUpYyI1XjM3hxZ5auTYpXi51b0fVgSe6miSgdubM7ZCSYtckpMbtQ3/K8D99lFVEN6Hw8Aet1CJAURPReOT2yMPre09PMBPT0lLSs/qaMS0yZX4OOjhmRflaQYlG0grMDWN+lRSeoa7PWIiItZZGG7usrQWvKxA74Q0IpZTEg8YwTAndd17eiK4ho3aWCooKI5lMK6HibHRSlitPdCEIkZbnE6BJoyjwICtCRqVpPcGu3tVvX47OydC0C5NSuLBqZEN2/S1leu6P7EzCusxQ4EEjTAaWtxsIfHyEfJp/hUpaKm9WXZDsdsLAfuUY0P5lo6ve6+6ljd/S5ddaO7WMMqQOVPgeUmDM++VxYWoq49NL6dp0LW/fjDHabbVUB8B/9UcT73lc6t4jmGhjWK7g2qyDOanw/Ipt0fUSVtVGw0+In28FMvJVjYJCIaKb+uVDJZnCbsrIbyVhidwR4FKTEpBBYuJQlKUZ9wCJl9ZXaoT5QGwgGFLTZB55dcHFHVIOb75Zi8STlGQcuBEdyfvoMgReXsiLKPmY9k1gGvZbgRnOhjt1xKYuZpj6P7IoceWoruvqUjIcDa10/JWUReNVlpQoQmkuSHT0TpKzmYEf9yNodl7P6+6sPGSTQZv+R+WtlXJ919T2poMS+1HfvEzKCdVIWg2cqIPb1ta/T6HQXjjMLfp1Go1qozIx+Pbuy5BOc3dK8rmO66vokxYqkruvsjiR5nrlDCcslcd88QLZT848Sue86YmIgH8di+07ZnXZGcFcHgDsxtkfjr+R0M21LH2eQrbCDBwuN0Kl8ySOLiwWd7rUezPTF2Dizo4AutoLUOwO8JhEzBjI3mpjUS1m7I3QudkeBJLV9OaLKDJBOHRkpULmKLr0I7cyZwjnoS+fuMDMSZT8zUwYqLVguHC9UFiMxOloUGTq7k8q2WP2v8eKWWMpc6kPW8Mi56zv/RqmEbM3ycnX8CU48S/e6HQVcXYdOkYXPCihi03gNfi6dJtusJ6Lrc3W/AsmUrnw3lICqAIlqdwQKBOiY0XrtTm9v9ansMoIWgh22g1vUxRo64OH9O7vDtoyNNUs+ZBQi6kGIxkjGNng9nNjS1GcwwDqL5Luy6gJbqlDZi4jbFaZ2Kl0QRGgDgzMNLGx3oKNNErq/VG0UEwQP7tzI0KquhFKW9418SErKkq/kIyTkv7gzi7uwOC9ZS6f5QCmLgJqJAdnXuvN3mKi0Y3fI0KcsNR98XtSxfT09mw9m1mOZmenSjh+PuO22kracnq7qtXp6KyvJmYl5UZrXePT0VB2uO17WpXCXj7ZaK9g72HGpSv/TZGXxHxenG4OdnKkWKBeaFpkYKr2PwUj9ND1d7UfSwQIi1LZ1bQIdsTvqF9HP/F1BXEGahYK+VZRfLpHQwbOWSGOoL1LTdFRDQ9UMlLq8xkSfVQd2NGfk0NQWAi2CO/YdC5UjqpmwMyosyqWEps8iI5bancWg6PVi+h+BTqpY2fsqZZLpGFwor/kOMWdWHJAyO9Z8lixKxotjQ0akndUxI2xXnZTlkrQbA1xdFt+KcdE91WXwG2F3UtcT0+pSFn1FK2NhP+eyS1laJ3WW6gd+jo+H5jXnmMtZ3I3lyZXmKdlAgTZfg1p3mo/OFjPxVR0W/bDfTzfsjoNd/Sy1YTNtS86Z2a22VWDm/vsjvvWtai0FHbRTlnqOE5+Ey4muzJ9bDeWsuPgoZWmCE/AQxSt4S+bi3xXcWQvA3UOUtPS3VrU7yh6ZCXu9Q0TR7lSRHGswdD1KQypInpoqC5a5hVPOjmBHAVIgi4tZYG90tAA7krH0dzktAi4tWrISXMwq0iYIVJ+5ZKi+0Fiqn9RGFsAS5BDAkJqnXOLASNcik0OgxfmrsWUxtMtfBGQM5l7wqDaKieLZKM6sEExTPvWdWV6L4KCHzl7gnXNca9PlA4Ewnt/kO984Rr6evChUBe8peUBAulMpK1XM7FJWSrpzsJOaf+3qdjgnU4Fdc7cd4OnEvIbG+66np7prjnOJh0O26kvNbV6L3zWG65GyUm12U3+ozf68LP3d2R2xxPru69PZHfWTsztk1PldTDeTlXbszrm0DGZgW3lo3uc/XwUHOp6eDkKTi5Sua7SUYPiMFAIeggmCCjkKD4gR5ST3Z3lwQqvtjuoFgihvEKDQWUVU6UmCOi5K/wwZC3Mpg3jth9qvwMLt5wIXYne4M4vPziIjxv7SdekYJOmxSJk71vr6yiyLmRdlNlLOKih0doeAQY5KX17jQkfDoO4SJoNMRNUBp6QsyUBkXDRvV1fLOcVaLYEDL1Qmu0P2ydkdMkmay3TqvhNFryPooXzaaDQzO/7dJbqUiYXT+ToEszz/h4AnogQ9mhtcbx5EhoeLOZVidgjoO6lhIMNLRqcTdoc1eFyPHE+OVcpaMTt6H6XvusLUdtaO3enrq7IjfpJy3e4z70v5Ba+l0t/091btrOuPOqaMGx6YCKeSXvoNZ3ucbWXyoTVJ+V61f54U8DRlPuV7s9idTi2DGdhWgZl//deIz3ymDOIR5QQhRU/mZHy8OiG4SLRQ6WCWl8uArMPxKMFQu9VkdsnIC24V5Kgds1jSD5Di7iMWVDqL4eCEoI1FtmwjC5ZVd6T3R6TZHd2DBwcCHgUDD47amcBnZqkvCTLIpFA+06IX/UsQOzZWHjCovwsIMHMkraw2kQmjNOm1OwIP7CMFC2cO6qQsggkGY/UvnR0Bj67FnRQcE/1OsCFLyYIEOOxbjaXLaJo/ZHU4tpo//sXx1DqoAzxy7Gon5zXnZERZl+PMjsaPY6rraj5xjLxmTm0R2OH4Mbiyr9t5cPoAvxeXJGnuS/w6vJdW4NCZjBQIYWFqqmaj08LUVqyJ7rHdAYOt+pNA3tcU2Z1W/RHRXnJLSVlMglm7w7odzkdPpFjbqc9kzPJNApS5nI3k2tE8npys383YrW06mPnDP/zDji/+0pe+tOPXngvbKjDzhS9EfOUrZUFiqweHMziyUE3OU87Lt5V6VqTFSCCga0vGmp5ulre4o8gLgZm96/MJegjIvG6H9TsK4gIaqlvRVlI5PmrCWlhkd5x9YlE1a3eYeTrYYZFbqnZHDEREdYuhgpHYnenpEujMzlYBBh0CgzNZk4GBktHRic7qE0l/vb3NZ8TwiwCLNSCkpMnueMFpqnZHc0rOS/o6MzYyQsvL1cBFBodSlsCQ17TotRozB9kupbgEwPFzKYtgSsCRO5/86AB+eTG8xpQgK8USaswJ7Gg9PWXhJ0EsJRH5CwUp3b8XuPrJq2QoWbuTkk3oK1qZJ2T+PzKnbmRcUsDP673q+qsVu0NWcLPZHb+e+ix11o6SjFbXSUlZkq04h7VO6ixV75PqE5r6gaCaSa8X7zvYoSzOBJjjQ8ATUWVcH/SgiEc/uv0YrMc2Hcw8qMOTcHp6euIb3/hGZ608R7aVNTP33ls6Y8ke0uPlsDSJJBWlzDMn1zkpFY2NlSCITozBnM5Z7I4mtJ7zpL/xWSleqKmfvW5Ci5Consdbq+0Caf391bNlSF/yxNcU9UpgQznCgxEr650l8rZ7kSsBju5Dfek7nXRYlA5/089+bDhrPzhGdGSUsnTkO6UsBS857fn5KoBhkKRTd8bCpYTl5SoY0XiS3aHzIjvgwE1zg4CSmSkZHn4G2Rw6TbFPzmikqHN9cT0QmHGNaCxYu+Nn7whU87vPM0luKWZH11c/1gUdzVH5BT4GRG2SxMV55EyK7p0MKv2GJFKXGJzd6aSmRa9J1e0Q0LuRaea6JPDhONVZK8lGQMlZ7W5rd+qABPuMiaTvymp3Ha3D1JoiYG8l4aQkN29zyp8KvAjscNOKP+eJvoOMMsG31md/f8R3fEfE935vZ33cqWWZCbbVu5mYsZGBiGiuDRFNzmcnUQ9txe7QGbgzlROl7OFZGunziOo5LFqIlF90dgxlGDl+ZrNkWHTPvH+yAArQlEBYu8MiZmWflGwY8CKq4EbXTwUfOTIFDFL+DJjM9F1Hdm1ZgWF1tfnhf4uLRd95/Q6lLAI0BnwWsiowqWZHW9C5M0tbLOlQ5Yiop4s+Z72OF+CqbwiuKTPJkXtRKPtD40SGRuPgQJKAyuUdMkO6Ntk9sosyL1R2UOaZsYIgGUmBHZex9J1rkW3gXNP984vzaGCgeD3ZMAcJvb1VYONnnehvZHaYEEWUc5bMjp9nktqGzjFQYrMeKavutWI+aOxHlz9kBGDtpKxWTIbXLKbATifsju4lBXbInvuuLLKp7dgd1shR5k6BuDprxUCl3kspS2DN6zeZAJA1Xl6OeMQjIvBQgE2xcwJmTp8+Hbfeems85CEPif7ULN0htlVg5qabIv7jP6pZJ52116BwAomqpmmRphgdZW8LC/WLgEWIEWWG6mBHO3jk6Oi8SCdTylpZqaL3qanqwVJid8QckN0hs0P5I6JasOp1OnS43P3ErYb6vyQusgyst2GtjtfvOOBxmlVG0EHw4TuzJA2wT0Vbs1BZzI4OG5SzILvjAJZjRfZOQYnsjkCgmAKBLm5zJ6ghuCVD4GDH60/YJ5rHpKYVTFV8S5Cj9lPyJNjROtEcISPB4Mbgx6DlrCLXHNei1wb4eqUkoDXBviF9T1DNmhaXY1xu5ncemMlEhEBBP4sJ9gAjP+IJR4oRYULhzGq7begCv+1qWjgWKSlLY9JKykrV7USUbaljh/x+6wI876UO7HRSo8Q2pa6n6xDkUMpqVyPE9ecyXordWU8bPQFOsTsEOyxzOHQo4pJL2vfNemxLwcz8/Hy85CUviRtuuCEiIr72ta/Fgx/84HjJS14Sl112WfzKr/xK9y3fAtsqMPMf/1E8m4n1DXS8KecbUdVR/RCkFA0vU4DwancFKAaquhElXS2gQ8aBYIcB2cGOsm1mOadPlyyOAjTP3CGyJ2BIFSrrfsmSqI2SqzzT9Z0jqV1bWuD6fAY5d1Res6NFzNoLHx9JEA7S2Eb+TX3r4EFbN9WPp06V/Umww0zSWQ86NdUvaRu6tg3zjKKIquxBUEOGp9GoznkPoixUJnglMEmxO+oTgQdKmBFVEEAgRBDDhMIBD5khjTlBrszZHQJI9qmvV0oQAhkuZakvKZ2l2B0FMm4iSElaXptByVvrR7U7/pBQjTUlUc5rAq7e3mrtDh/5sWdPMZ+UTBAgsU/agQAHnlpT/D9ZNH8vExN/r8azUymrLsDrvQ5uHPh0WqxcB3ZYq5bahs7NHnVGX8p5TNa3To6itQJ/7d67GbalJwC/8pWvjM997nNx4403xtOf/vS1v3//939/vOpVr9pxYGarbHg4Yv/+ZkfCOgXS1XL0HqBJidMRi02p27EzMhJx4EDRFp9QclR60JrLWloEXlSrv8tJ0pmKcRATIi1ebdWD4CKqVCszUu7M4tk7Ajz6v9fr6DMWForAHlEGJfad+kqAhxkmCyhTu0e03Zryh/eJF9l68SgLlSUpOu2eCrhqH1m0gwer4IuZEHdmnTpVSlosRp+ba66HINPgMtHQUMHqSM4S08NDBil7+Fk6crRyws76OCXd01O0U31NsENAwTa6w6eD1hg56yGmRtdQkNdnDQ5WWSa9X5KTAn+KSaWUpWt6MJ+YqK5zzSmCV/oJHQxHdlS+ZHq6yjA6WKav0H01GsXfRkeb53RfXymr+cnKnG+rqyWTSAkkorq7j+wOEwz5CwJtT/rkc1qZ2upSs77XJYIErupfN7VHczNlmkMe4FmErTnUCuyQsZafaHU91h7qOpoD3I3F8XPpnXU+6hNnfVMSltpbZ3zvVhyatx5bN5j5u7/7u3jHO94RT3ziE6MHo37FFVfELbfcsqmN28k2MxNx993V4MRgSAdMSlYLkg5e2ZMmObNPBj4PhL5VjkFqYqL6lFlmayxUdhlLgUptlePVxGcgZ9ZIp6qtymR3BBic3WE2owWp2h0CHQEfFksym1R/6kGbdHjqO0pXdLipugayP/39ZaGy3qNrOLvj2S3vT+0U2JFjnpurzi0HOwS2ktr27q06H/Wfxo873KamygeFclcDHyrJflKQ9EAlZyXQo63DAoeNRnUO+Xk6rBdI7djynWIKPJz36ncZASFZHt6HAKGcMhMGZ3cIUtj/DrIiyjHl+SUueXnS4uBMa0VtpdThNTsMVLqG2iBp2mt3uD6dJdTc7OkpAKz8hVgs9TXrJzhWqUMtXQpivYdqvHhuieaPb2xg4Fab1Kd1pnnVCoxIdk29V3OUr3dZTteosxSDoeRT80jj1grsaF16wulGIKGHQxI0i93xmj5eg+DL+4RSssuuLCg/fbr4fVeBmXvvvTcOHz7c9Pe5ubkKuDnf7eTJiDvuKJ1YKkvigqQz0++SdAYGyswiohoAvABRzkeo3fXiFLvD7ckCScqWIqoLVk5bkoaKfyln8UwYOQCCJjljArxUoTKf36Isdu/esj8JEHTvCpbahq7iNG5BVK2AsykCSgR2ul+XZehwmfUyGPh5C5S43OmqDQKs+nJ2R/2prItFlS5lMVi67DYyEnHRRVXnpqCkICkZ8NSp6lPRNcazs9UMT3OHrJ2D1bGxEuxIghC709tbAi6XXnTfYkEE9nwNUP6LKNkvMh8MQg7OKMGRWdF7KdvxHvW5ZBMIdsQOeQ2P7oNrQuaf4WwTkwOXoPW5qV1ZZC9YvybQxSRAn+lzmYXKq6tl/Ywzjfpd7A6BLLehr6wUiQbro/R+glAyq0wsJJOSNXD5Z3m5vmZGa1BrzJkdWWrt6nWUWv29moMCgnVsi0s89NMpINJK0iK7U2fqXyUjuq6MtTte9E4Zm9dZWCjfS+AeEbFvX31bttrWDWYe//jHxz/90z/FS17ykoiINQDz53/+5/Hd3/3dm9u6HWyi5ZWRKtDIaczNVXVcOSrKCZRwyN5woo+PV5Exi8e4U4Usj4MdBzled8BATec8PFyCC5ne68XJAhHK/IXy5ejcCcihsZBVP8t5cWeWHLwcqsAOgQCLXPW8LEpZAjysO6FWr8UsOl1ygzMl/rwsgrUU2NF9cbs12R06hTp2R3OLgIdSloxAjQGSwFaB6cCBaiB1doc73FSsrJ1uzPDkWL1GjLKC+kSHC05Olhm5tqIr8+U2UWdwUo7dz87gjjsHNalaNM4vZZuUQwhWtL6cfeVnEVzxs1O5ntqp8WS7IppBjgNYJSYTE9Uxp+RJwMMzd8gSNBrl+iVgZEKSYjD1/p6eqtTsfSyGwA8a1HrV/8VSslhYbaBE7I9o0RyibyXYWa+UlboH+QT54dR75VNShc7yyUpUUkZfzy/fVBDRvHEhxfJ0yu4o1uzbV8aIiCoQ9todSlCd7gLbSls3mHnta18bV199dXzpS1+K5eXl+IM/+IP40pe+FB//+Mfjwx/+8Fa0cUfa9HRxzowAgIIznbiCGTM7IV491ZiZL5kBBgGCEpeehLj5t56e9NZcsjueXTrTo/95oTIdqTJx3ZuMQYkgh9XvZHfIuHBXlhxuyplyxw5ZsMnJAoAR8Oie5WzkQBWcHewQkDGTVF/OzTWzWczyyUCxdodykYonvdaB35khyjkSuMm8WJnOjM6V5vKHxpRjPTZWZXfUB3w6tfpMdTt6dhZre9Q+7yuOGxmxiYnqAYP79lWlLGb8nNsENxp3/c0PJfT6p/WwO2TxnN3RZ2r+afyVYHgfEBQps69jdzjuCjYOdBhsOZck8ZIZVr+kdmadOVOtHYoo/+/F+xq/VP1OX1+V3dHDZsmM6L5Txcoc55WVMtFwoKqxSNXuKPGoe16W+pBya521k5kkq9VJWayZ8ffpXvr729epOLMjwEMpi0xUHdih32gHsIaHiz4kGxZRvnc7JaaI6G5r9i233BKve93r4nOf+1zMzs7GYx/72HjFK14R3/7t374VbdyQbdVupne8I+IDHygnButYPHvRQqPuywxQMpOydDlhUu3ULgkw5Eg4wfg6z9L1newOzz8givdMm87Xs1PW7jA4prJhOcnUeTv6G+sQIqqLX8FZmRYdmdpDdsd3ZpFxiagudPWLdovxnBiyPKzdUVsiqoXLrH9iIKHT9Z1ZHhhI/wsM8T2pDFD3QTkr5bgIflgTonY7E0B2h31OdkfzSeyOJEFnd/yQMTlvB9X8fN27ZKyJiTJDV/1OX18JuLh7zkEPAwuZH26xVtD2ugmtRf+7pCkmIgSMWo+aG2SAGIQ4X3wcNDaa+wJPHFuyimyb+wAmS5yber18ke+kUV+yYFtt0Hogw8ixTO3MUts9udLc1b147Q6lLB1KSumWO5s86PvOLJ3b5M/LYl85iEoZ713X9v/zHv1/HMPU/zl+deb1WQ58eG2yO3X1O51Yb2+1TGCzLB+aB9sqMPPBD0b8279VnTCzCd/tsbraLKn4Nkc6IhbzMggrM+WkI6CSQ1UG4tkkM0TSlvwu2jxVu6O/MVB7psnFWsfu9PaWgdr1a33Oykq1SJm7dXhCKo0sBPvTg4zADh+o6cyUAA+LKp3dYe2OP8mbO3xYp+DF1N5vHEOCB8pwzujwNcxINZYMvLoXOtzUPbqEp9fq8+gcKacQ1Gq8la2KMdGZRGLtBBq1DV1jTcbFpSwyYZQhtAVdXxxrJQ5eA0bAwzWrazvg0Ws0zwiQ1UfO7vg8ZFLjgEXGNawARnbHEw6yQ2xDaiyV/Pj7CcAohet6arMABoGOnzyt+ybYIdMpEOMMLOc11yDXic/rutodHjyo62rc2BeU/uWbNWcku4vd4dzX+7S2WtWwRFTvm/cgaydltQNUalcrS4EcfrFtzvg68FEf7t27C8DM9PR0xxffTMCwGbZVYObmmyNuuaV0jFo0cnysO5CzkwN0sKO/03lwQetnOQXPruTwWPRHwKNMkyCGWT9pbmZ0dGjMFHUt7uTw80YUfJzVocQQUd4DKXEuKjlSOq2IcrGyZkdsCpkBzyyYzdLpM2iQFVEQFIWr/pApY+MCV/9LhiG7w/N3BMjEhBHs8GfvO8oI/PIdPZw7ZH7IBHE3D80LJVOFyrpXFgcKcDCLJBhPsTsE7lonlJIkCXIr+sxMM5NC8Mp5xvnEYlJtQRerI8lSa4inc3Nec+urnLnXp7Buh4FLbWPNiszZ3RTQ0di7xKL7JJBKrTsmRZS0yGYQODjQ5ldEc7LkMnijUb8r6/Tp8rXOMAn0Evxz7jqAV5sd6HFORpRzi+NKwKNry38xWSKTrjnMk7jJBhNgs+/pe+qsFWDRvdQBlhQzVCcxt6of4tqtY3dkrK9qB6LWa5t+zszevXuj051KK+1g6XliCwvFjiZSoSpw9CybbA3pbi5yARXq2DptV8HRJRVl4Qxk6n69Vq+h5OPOVwFVDkyBko6Dk1nmAEe7LrToWWfCe19cLAI8A7U+h1mafidFLdDDwKiD4LxuR5mjszs8NZX6tZzI/HzxOwtxGRgJdviAUI6NCpV1Dx74uU1SwVlPRfenoWts1KbFxaLNOktGY+EBr7+/ujOE4+hb0vnd5SwPDPrOIm/1HwM4a1Z4vgXnD8dabWewGB0tixL1pXUyN1f2o5ixqalSzmKhMmsVnN0hcFBdB7ehq8BWkqWCr7OELMpn1kqAS7aAUowCsRhe9Y/WK+e0xoTglWDRwT/nrTNHAuaUnXQdgQ2ON3dEafzo71yWYTsV7DmWZHdSUhZ9klgCAV0HixpLr09jobIYcvkqrSm9X8W5fmI3tzcrWXWmlQwHZSwCn7pt6EyS2oECSqSyVLJXB1gYT3w9cl60K1T2tkvO3y7rCMx86EMfWvv5tttui1/5lV+J5z//+Wu7lz7xiU/EDTfcENdff/3WtHIH2uxsUQDMgOu0O52RFovOlKAzVfZS98A57gQSGyIQdPJk+frV1eIzKTERBKjGQp/lO3HUHgVfXV9ZMAOnOwuyKMzM6exE08ohy3mwdkf3ojMrItIylrM7Xqckpyon4sVppL/luAQgWLfDHWICgSoCdmfGoEEZUYXKPCp+z54qA+bsjvrh9OlqobK2T4vdYRsjyoy20SjlG8/iCSApuRHsOGhuJXexCJ7Ok4wNKfgUbe27eVIBgmuMRw6MjkYcPlyVSAWgtK70kFV/Zpb6T1k55xyBOrNTZeMC0ToBV4XKBPKUy1iET7Cj8fJdWV67I6aMjJmbs7VkvZRkMGhFlP/T+NJcyiKDy7kvv8JjEVLJCqVcsjtqG08S1jqXjyDQISBk8BdgVcJCWUt+i76C81f93WiUjwZx/6315QBHvpKHDM7MVOuIOJ+YZHL9+bEVTNwYL5zVoxH0pcBKu9obzsm6eSbAzGJo7VDcLlt3zcxTn/rUeOELXxjPe97zKn//q7/6q3jTm94UN95442a2b8O2VTLThz8c8ZnPVIvgmMWQVmYQ1sIlvarvrGNxSlcMg7I+UrbKDFkP4ad56j10dn6WA9kdtY/Bz7N0sSxeY6GFz+3JdK4K4rpnd1661sBAeT+pIk0WITqN7myPy3cEOyknHlEGRoErgh0CzVTtTkS1IFH37EW+Ynd0LovXN0WUjoMgQM5K469Azaei8+GWcmz6cpnN6xHE7qiNHEvN41QdEuUtvUYgzusbNIf0N7IUZHc0zgKVDKC+rvSVkiwJjNR/WlMCs5Kx9ER0JhmUPbxWxVkvAXfV7Uiq1PZhyrSs3XEpi7tO9LsfoOfzTGuAfU1wGFHWfZDdIQsqEKH14+yOjP6N607XoVyiOczx9fdwHZOp0PX5Pwcxzu4IOOq+e3urBfpsi/qIc9uBD+em2kxfRv8vdke1YWR7OKbOzPn8dYZHQFqMq0u06rN2dTVkKlPWTspy+TSiOBH/4MH6a3ZjW1oAPDIyEp/73OfioQ99aOXvX/va1+I7v/M7Y14c/Q6xrQIzd/zJP8S3bpmNmX1H4sT40Tg1fEksnulr0jvl+PhFsOMaLx0H6VUGNtdhNeFST9fVItJhZBHVhU/HqYOeFPidMhXoIWBhoCBQU92BAoGCh7/Xa3f0nX2nNpHxomNljRDvRXIMr1fndAlseO/U6T2LUVt0n6mdWczEOZYEFa7LkwERGFC2RiCmtuv+yHq4rKF6E+3IUqEyH5Eg50awQ8Ajh+3AQe11doegzWscBIyVner1vm68+NjZHS9U5trjmvE2c+6l2J+IUnLUGlK2LWaHj5BQP7vswDVCBkRyw8hI+TR0BSqeueMMLZkbFiqrn/z8Ke4KdEmSfaQArb95AkKfo77k+vT1S1baEwxdn/U6GnMGSrI79C0M3Lx+KhGUr1BdH8GOFyrr9VoHBJEOCL2ukYXKareDAfp/jZF8BXfgCbz72HJOOfsreVS/121DZ3taVYT4JgGaJ94ag8nJzT80b0ufzXT55ZfHn/3Zn8Vv//ZvV/7+53/+53H55Zev9+N2rR1662/HA/79Y2u/N/r6YunQA2Lx8JFYOHw0Fg4eibkDR2Jm35E4NXk0Tk0cidkYWwMMXMARVbCj+gIZAQIBDDMwmRgRnT3DBc4tjAp2vs0xovy/gvHsbCFnsVBZTou7bpjRaPHTITLYydHRWWuBqz8EMHwbutgdyhoEd4ODxWLWa+UYWLejAK9snxktnS+ZJAIb7vBQG72aX5+l++SZO6znUHs0H1ZXS8fmWTeDI+umWKisvw8PV8FcRFXKotwxP9/82ANKb9zFps/hTi213bNsl/v8EESvVyHgSQGgfngszTEBRdZVuJzF4w70PmbUDNg+rv39haPev7/se8oflCb9vB3ubNNBmgwQLmVxXWlXlr5L+lB9ltYqGabUeTq8bwJ+vd6LXrk2tRbZZ2QZ+/qqgNDBLgEAx5Ushnwb1yBrdxxciw1WoGf9RkrS0lrUa/y8FL3Ga5p4dADbxv7iuTsuUXpdmkCVvvr7C3+xf3+znEN2hz6a4Flzj4CHfaF5pHUnPypmR9vQXcrSuHH83DiXNC4jI+nXnitbNzPznve8J57znOfEt33bt8UTnvCEiIj45Cc/GV//+tfjne98Z/zX//pft6Sh3dpWMTOnLz0ag3cfX9d7zozvi6WLjsbC4SOxeOhIzB44ErP7jxaAZ+JInBy6OBZP91YydtLqlKMiqpm+AIIWJhG5Gxc+F7S0Zn9qMk9+VLasTIf0OHVa1RbIifnD59R+tUfUOzOwiBJUUWpSFikHw8PpGBwjmvVyZmx8rTMZpPNJtzvD047dIW09NFR1WmoT6yt4xg0dl+6bq5XMCSlfZ0SUrQnwcCeRSwYuaQgE8FRlFSr7s73URkpXmsPKAin7Ud6gPOO1HrwfBztkDjkWCsg+B9hfqWJl/Z2vJxPo7A5ZxRTdL6CotTI3Vy1SFkvGOjiue7+e2qC+EsjxXVmqPRGY0bW1blmj5pKL+sLb5JKpxtL7W+NMBkzg0GUkyvF8rZIIyj98HZMO1q7RPzlL4uNHFo5+0ZNF/ex9wiSQkifnvrM8Lo06O6336vWcU1z7vb1lG3juFQuXOa7sI2dUWZzMOj8mhOwb+T5nlXfF1my3O+64I/74j/84vvKVr0RExCMf+cj4uZ/7uR3JzGwVmPncb7wr7v33W2Pv1PGYnDoWE6eOx8Sp4zE8d3/Xn7naPxBLhy+PxbNgZ/7Q0ZjdfyRm958FO+NHYq4xUpmkMgKeVNEWJ6EmtAdjOg5f1Hq9wI0kIxZacneQwIFvQ9f7GOT1RVZBjAYXvmd9cqC+K4t1GARTzu5EpLNkatdkmrwwl7sq2KekrCmb6XcGZHcqDj6ZDXJnFk9UVnZNRo8g2GlyjbuDHW5FZ+Bh/9RJWZJkTp4spSyxEl4TQiaHDpGeyIMPWbp27A77kmya/s6+YTv89xS7wwDl49SK3fE1RXaSJ2MvLBRg8dSpAvBoOz9ZF5fSCKAIBiRZScriI0LUh1yrmlMK2qy10/yPqI65+wKyN2RFtNbYb+wz9ZFADBMuX8spdoeMEX0bX0N2J1W7UwdYfS2SgWJSQ1/k3yllybexDQQbuh8mQbxnr90hsOO80JiQPZSf1gYL1gxp/NhO+mb6Cc4tjdXBgxGHDsWmWj40D7ZVYOajH434938vfqbOP7A0G+Onbo+R+47HxNTxmDx1LCZPHY/JqeMxfup4jJ+6PfpWl+s/uI2dmTwYixcdiYVDhZw1f1bKmt5XSFlTQ4fj9Jmepp02XPApo1MkiODi9YWWyl7onOX4ye4oi+FC8wP55DTF7sjJsCCOgdY1dbZNi9XZHWrQcqae9bsTptZP+YS1O37WjrIk9amzYXTguhffJeTylhcd6j65e8brdhiAyO4xcNMTMGvUONQVH7Itqjkg48FMXzKMtk7rSeh+EKIXKGsc9DvZPI472R2vF3AwmwI8BK/qn4iSWWItiG+3d7DjTAWDJYFNXSGnwAa3oQvs8ERl1j+xjibF7jDL5q6s0dHyZx4kyXlNycPXqwdnHv1AiZI+SeuBc1HfObe1PtV/rNcgu0IAwHXFZENrnutQ7+UaSAENgkWOE9mpFPOj6+kaqa3omjNM1Lxmh8BL98GdpEyGvOaIPpxxwIuT1S6CVIIerj+tOQGuK66IePKTm2PLRmzLwcypU6fizW9+c3z5y1+OiIgrrrgirr322phMPWVsm22rwMy//mvEZz+bpqcjqqhdgWx1NaJndSVGpr8ZYyeOx9iJgtXZO3X8LLNTMDx7Fk513a7VwaFYOnR5LFx0tGB3DhbMzsz+ozE1eSROjl0ecyvF/jmn1GWeuepvXJR0NmQiqJHXsTs8Y0fZjBaUb+1MBWNKP5SuuDNraKhsN50iAQSdhm+bVd9oDFm7Q+pV/ShzwEKHE5Gu3dE9q9/YrwRnuh8yWikpi8GYUhbZHW7tJqBMMX7MZPWZlOkUGJmxSVYk6PQCSAFa7sqZnS13EvHREXS0nB9es8NASClLY60+4iGIHCOBCy8C1zxLsQIaV8019hnbyvt0ij6i2p+cB2R3UuuJBe+qzXEpi2DHj1nQvNMaIcvFM3cEePRdz1li/YTmFHddpuqVUnIu+4rt0rqihET2xwGpAIYzLAQkuk9P0nSt1DqknOvSnHwF5w39QMpnpl7HOkLfuSZGmyyMM0ycU1yjZCcFUNmXXCMEPPSNrPPTzwRbj3lMxNVXx6baloKZT33qU/G0pz0thoeH47u+67siIuLf//3fY2FhId7//vfHYx/72O5bvgW2VWDmppsivvCFanCnTqrFrcngVCLrBajPR0QMLEzH2MnbY/zEsRg/eTz2ThfMjsDO2NSd0bu60rJ9rez0vsOxKLBz6EjMHSjqdlS7Mz14MM4s96wtlojmBe8MDyle/s9pUH0WCwg9+LuDI4OTAhypXVzKTPv6que7OLtDelpOnEGY0gqdNAs5yZ74GT9ewEgZi8FKr+W2awUCBaHU+wV2mCEqIDMwsW6JTFBE6VB1X87sMBunzMHPUPv4d/YDa2JUv8M6F88YKe/IaYphU5DW2TEEZfPz6ToBzTvW8RCocJ46u0PAyP5kVsx71bymkdmRuZSlcXdfIXbBQRcDNbehc+6qb8+cqbI7Kvbmdn6ereSBkZ9JFomPj2ANDx8CG1ECGz95lzuvuE4c9LNdBOoE+ayxcelXYJSATXOUUrvukQdGEjCTFXHQI3/p7I58RaNRnTdMstxncmwJNvS53H7OviSIkz8hsHbwT2ZQYEfAz4EaZXif24uLEQ98YMQjHhGbalsKZp785CfHt33bt8Wf/dmfRf/ZdHN5eTle+MIXxje+8Y34yEc+0n3Lt8C2Csy8730RH/tYc/Cig0yBFU0m1pF4sRalHGUfcsAREY0zyzE+c1eMnTwe4ycKoDM5VchZE6eOx8TJYzG4NNP1va0MDcfS4SNrhcpzB1G7M3k0psYfEPPLg5UMlEFMjteDW0R1QZD5YDAhlemOW+9lPQ61av2dEgAPtmIdADM1BiLP3GVeE+EORkCAxbNyGMwemeHz/U6vk03QteXomfUKbCjLSmWW2joaUX4mMzU5e9YvyNQWBlwWKXO3E2UOGWUZyh+6rve9tHgyEu7sKW34OtLzshikWZfiGaXmrDM9BKkMEv39pdRGOYPyBoteHQDpO2scFDxcdiHQ0Tz3ol0mGC6FkHnSWPscVtBjH+nMHbI7BI11dUMEfmqLxlNAh8yODlnTvRI8+9ERWmPqL7I7Ltd4HQ37SGtIc4l9ojlHCYn9Raa2HbvjSYvWkK7N8WWy4+wOfaau4YCHvlFzm4y2fJ9LWZx7TBDVV/J7zu6QnZLfOXIk4uEPj021LQUzw8PD8dnPfjYeYRDsS1/6Ujz+8Y+/YM6Z+b//t5CaCFSUfXnG7MGLUoWjXE1qSioMvnRgmuhujUbE0MKpGL3/LKNz8lhMTh8vwM7Z38em74qe9SuMxef39MTp/RcXhcqHj8a8tqHvPxrTewt2Z6Z/X6w2etbarHbJyETR0ZDd8eCue2YtgDsa/U3OWSyNHGXqwDECIMkYpHV7e6ushgpkFTSYITJrpZPRmPpOMfYH64JY2yEHRaBLsEswrUAvEMctuHJm7gwZiJ3d0Rx2qU0BXm3X/eveyOp4obLABOdrRNk+zgnq8up7MScKhmT91HaCPl1TjpeHDFKC0RcLlZlpk9mROZunv7GgnfOANVkEHikAxDoH+RdKWWqTgx22nRJoRJVJcnbH/04pZHW1et7NwkIBdk6ebN7d5juguLbJ7uizWa8j4MMn3mtsnTnkjiIy4OoXZ3e09sjOab4448yxZ30Iv/Q+lzL5WiYGqbFwWVr3qfYRYKhehr6BYMdrYlLyuvpSoJibGfzMHb0+xTBxbNWehz2sqJvZTNvSc2YmJibi+PHjTWDm9ttvj/Hx8fV+3K41BUyifjp4yk0LC1VHyGyAFDHZHS2EsbGqQ9DnaPFqITs9vdS7N2Yv2hv3X/YdaxO4ksUtn4nRU3cWMtZUAXYmTmJn1sljMXA6DUx7Go0Yuv/uGLr/7pj88r8lX7M8PLbG7iwcOlIUKu8vGJ6pySNxavSyON0YWHPUzPR4voW+M/ATBOr9ztzof2QaJifL17FgVv0mp0dZheyOgt30dDm2ugZrdyTpMDi4I1cQpiOSg/EdInRMvM7ycvH76mpZcM2sikBsfDy9M0uBh9dMsTvMFPX5dXU7AwPlgxw5DmRUFBj5RYaFjrPRKGtBTpyogglnAlTUyu8CP6l6ALJ6mhNnzpRARwfj+WMuKH15rYcyb12HoIXBjgygWIBUrY5LWc4C6/NWVqoSF5Osim9Yqj7biMDIgRXnAHe2jI9HXHxxdQ5TRtIzx8TuTE9Xz1jiGUr33lu2VeNJOUvnZumcHbF3el6W6uNY3+HPwqOU1ap2R6BXvpJJFXdK0mcx+FN6JCB0RowMzNBQFfyRudTryAxynlIOYi0Ri8p5zYofPzs3+Ygd1ibpGkoAObfJUhFsb6etG8w897nPjRe84AXxO7/zO/GkJz0pIiL+9V//NV7+8pc3PeLgfLZjxyJuvbWcZHSqZGIiqlnm0FAVkCgQyVLsDik+Zd+sQdA1SHW6lKWJWaL8gTg9+cCY2vfAuPus89MCajSKXwbnTsb4iQLcqG5n8mzdzvip4zE2fXdt//QvzEb/sS/F6LEvJf/f6O2NpQOXVrehHzgSM3uPxPTeIzG192jMD0xWdF4FMQIfZ8WYbfX2NtfPUD7R37TofVGTwtY1SYEzC2ZNz/x8xP33l9fWZ6bAjs6ecafHLY8KgqSPp6dLELvW5/3N19HX8nIRnL12R9cj+BLoEIgQ2NGzbpwtoyNn/xJIao3oOoODxWmhOpfCHbWAJh8O6rve6Dw1v/UsKgIXBwUEOpKz9BweGWU1r2FqNMrnXmkbOs8FokTCNc52MbOtY3fERJEJcGaDwMPZHcpNYldWVpofCOiAjEyG186obSl2h3/fuzfiwIEq2CGQYqHyyZPVp8qr/5QEOovLvlIfeJGymJ4DB6pJJmVSfxae/KMSCPkVP1dG8zOiWgfIcY6osqkEMASizo4RJND3i20k8PQEibU7LkkyOSA4ZT8yMec6UF0UgS0TAY3X4GBsq61bZjp9+nS8/OUvjze+8Y2xfHZEBwYG4ud//ufjda97XQwJJu8Q2yqZ6R//MeL//b/SecnhEjHLNDEZ1Jh5aIJFlABIxmIt/c6JrM+gDMKsjg6SjjSi2UmzwI4o39+/JvMsL8XoyTti4uzW871Tx9a2oIvd6T+zGN3a8uhEKWWJ3dlX7syaGbsklqO/kp24lEU2Sn8j88BMjYuaRkqXYEfZGp+gy22XnA8uc/HvBMSsqVEBpa4tAOJt0e89PdVt0HS8+j8DoM9DZniaj2QR62p35OSVbZOqJo2ua5FxY9DV2vAj4tUOXpeB0Q8YZGDyQOxr02UBrSVuQxcA89oLrSGyXJoTy8tl3Y6CtIAu54fmnxcqa50SLFLaILujM2M0dwl06BPcP/DRGKl6IRmTL/U/dx+RySBTyXF15sIlEM0LgsHFxQLo6HlZBI08GK7JL/VV51tfX3VX1thYyfboMRKUgjSHyNAS8HCsnMEgy0fwoTHzOin1nYMalxq5zlP9KSDBz+b6JRDhWlc7WYOmtjog1lx0xKA+vvTSiKNHY1PtnJwzMz8/H7fccktERDzkIQ+Jke0+y7jGtgrM3H13xG23VR3T3Fz1QX98yJ8kCjo9TjhfgHQ8XptAp+q6NPVgBa9Utu66qxYZixBZd8GCU11Di1CTX7bGEq02Ys/sfTF24njsmylYnb3T2IZ+8niMzN7T9Rg0evti6dBlsXC4eRu6aneWBseT7I76Sk5Qf5NpTCLKxe51Juorr49xdseLvFOOUmDHDxmUk6GTkwMTxa5AS6eVyvyUHbuUxVoaOU1nGAUkvHZHfUV2wWt3BKp0TbI7LrmqzTJnd8hs6Vp8reatrisA4X2rdcn1o/XkzF9Ec7844OGWYF8HXDssWNbznvTMJz/YzE/oZTvpP7jOyUKQ3SGIcGnOGZ2UvMXgrXnvgIfAxgElQQf7so7daTSq/k+v02fz8RHahu61O5SF3Jhcao7xJGWBWO3Skp8kmPPkxKVp+mPutuS4sgTA+9QBh8aPPoD+O7XmfVxdVkz5DS+VcCVB64Gf29cX8aAHRdgjGzds+dA82FaBmbvuKqQm1hCQCm40qhq7MniBHQEe1ivwKcwshoxopiKpt3otwMBAGSw844tolhrkNFh8mmJ3PHOMqDIBAj2kNLVYnMLU+3uXFmL01B2x99SxAvBMnT1s8OSxguE5eTz6VqClrNPOjO+DlHUk5g9Wt6HPjF0SjZ7eSoYsx8JslbU4EeW4O1tAucgZtxTg8donsjtyyCxi9YdXynl6TQ2DruaK2suM2L9HlG1iAfWZMyWI09wgiyRQ4cWKcsKsHZGDVV8zOLAwm3U/pNPVDo2D0+Vsl3amkHkj7a7+VACklMC+57zlbi2CHQdbg4PN5+4QOHtNCwtnNScEduQvWJMiwBNRXXMySq+UFjTO+l3zRHPU56tLlt7XnDsELky8nD3V/TFIei0UxzUVoJ2x0FrklmWdSs2t6JQunanj+iboEyiknOUPgKXEw91hZAu9Hkx9RmaHSQ7nGMdSc5GAI9VmsjtKOsj2eC2WlyrIPEniWtA8e8hDIq68srkvN2JbAmauvfbaji7+lre8paPXnSvbKjBz/HjBzqS2KMooZZBWFfo+c6aknZmp+bkPpF3F7pw+XaWind1xqlKmjIfOh//Td36uszte9EmHElE6LOrkLmUR5VNC0WLSe3saq7Fn+p61up2902dPVZacdfJ4DM/d1/U4rvYPFA8I1YnKZ9md6b3FqcpTE5fHmcHRtfuSg6FRkpNRztJ9qYhOQU0BvdFoLujUWNZl9gp+qmPR3wWAvKZndbU6L3x3EGtzmN25JMDiQB9XUukEyAxKdMCaa7quB06yLLoG75e1CHw/g2tElS0i2CHzxGBAgEF2xwtLKbdQ5tB7ac56CehwZ5ZviaeUpfnDk7WXl8vESBIMZSzuUmGG78mNjACF4I/gzOcngyElD0+InOWkz1pbi2D9WKtGCYRt5Vxx2dUZHbKHTAz88RGSBcmSpQpb+dm6T9bqCOyweNkBf11y4sy95pRLWc7uqF38Xf3m0q/Gy5MsZ3dcKZDPUrvI1DzsYbsEzPT29sbRo0fjMY95TLR6y7vf/e71tXaLbavAzKlTRRV+RDnZuBVUXeSZnZsWHalh/a3RKM/zkFOany/lLDkv0uZy9nRgvBYDVIrdiahO+ojq5GWWxdeSIuZOHc/eHPEzS6M2TcdGZodtXKspWJyL8VO3x8Sps3IWz9w5dSzGTm7wERITB4ozd86CnfmDpZQ1NXkk5kYPR6OntyK/UaYgOOR9sCaJWY7Xm+i1Hkz03SVAzUWe2cGMlRKGAoZLZgIhcshyZhFVOcMBD4G62kDGLgVc/PNT0kQdu8O15+wOHS3vjTVGmksegOtqd1zK0twlC8sC4FQmrjnvxtodAQgHO0watDY0dxwAaE6Q3eFWebJvnmDo81kLw3VOANnfX50nDh6YWHlgVJIkQKm6L60d+iHKnC5lkd3RuiLQcrlV59u4LKM5xV1RYndOnWqWslgkzXWteefggWCHDwYdHS3nHu+PwFQJhOY71wfBDne4OrvjCRbBt+anxotrVPOe7B6Zu76+iEc9KuLxj+/YrXZkWwJmXvziF8df//Vfx9GjR+Onf/qn4yd+4idi//79m9LgrbStlJm++c00ba+AzcnG7EILMKL8Xzt2Rz8zcESU8pQycj2nRQ6MmbrX7ijIyTzb4ITWIuCEVxsoKXFRE3jIAfrDJF07p3nNAQEPGQeXshxINJZXYmTmWwXYmS7krImzj5CQnLVn/mTXc2F1YCgWD19esDuHqmBHclZjaM9aPzFoqN80V9RuBloHCN7/uk/WQAgIESjJEbruz0MGNYd85xB1ewIKBX3KKAokdORyhAIzBCAcV7J0miMEFr291cBFWpxgQHOsp6dcewrezGrVf2oXA22K3WEAZh+I0WFtB2uGlGj4s40chLq/oFFWYeLghcouiUaU7ZEvYP8rQfKzYtRuMgdskwMfsk+UmDQnxU643Mrsn+wOQQjZHcqYKVbX5UsmmGRWeU0HNGS0mZjJv7PuaWGhlLL0KA7f3UY/64kMryfZilKW5Cxt43d21OUpziln2wmQmHy7hM7fOZfJ1nO8BgYiHvvYiP/6X2NTbctqZpaWluJd73pXvOUtb4mPf/zj8YxnPCNe8IIXxA/8wA9Ej6+eHWJbBWY+9amIT3+6cCJ6Iq3TnVy4Dnq4sDg5BWzoOFK0tUzOgtkAJYOVldJJafIT7MzNVU+K5GFUrMpnwJQDIWofHKzWETDLIcBIafrM4rRAePS4Z1ek38XQMBtmLYln5yl9vNGI6F+YWduVtW/meExOH4+93IZ+6o6NP0JCYOfQ0eKQwX3lNvTFsYMRPT0VOYDMFH92472xmJfOXkXEZHc4V5nlisXxOh1q+6TH+T4GXAZ7bjFeXa0WzHp27GwDgymZK80PMigKQKyLIUhk21jUqevxvrju2NYU+GbAdbAn9kmv0/sIILX2PNkg+GDQqZM8PUFQMOR2dIE8ZzkJvLiOlpbKxIjyt0tZ9F/O4mreal4KQKjNZHcot3L9e30HQQiZPSUMBFiUueQDXPqmz9VcdlmdIExj6n5fwJYJJKWsqamScaeUxbnK8VRfaB4R7Agg6me9Vv3uPt0LlZl8kml0ZpGJLMGOxnh5OeIJT4j4iZ9onpMbsXNSAHzs2LF429veFn/xF38Ry8vL8cUvfjHGxsa6avBW2laBmT//84gPfrBafEYaUVXwIyPF94mJ8jRLTQY/2IgLhlS2Jg6RNB0taxBSxsXMRae/cXsrnRdrd5zdqcvWXHIg2PFArPuV8yPgSRWgkRWQlOXOm0yGFmFEs+zBxSxnq7aoT5U9ra5GxMpKjE7dFXunC7Czd/oYTlQ+HuMnj8XQ4vS65hBtZXBPWah8+GgsnK3dmdpbbEOf2/eAaAwOVcCOA1wvSmXfqR9078wMyWgxYDAQsChV12cQdkfp7A6lFkqPGkt9d3bHgwglNgc7ZDxd6iCwYJAlQ6rrEuwoQLJOxQGPrscvBVqOhSc3YpwYMCmtUE7Q9bhLksyDg3cWhsq8ponFyvJVak+K3aF05Wwpi5VTT2v3J3r7nKX5mFNe9E0K+p+DHPoEfZ7XCjLR4ToQEFKSRMnei79TspmzSQRl+ln9qT6anS1lLLI7fJo8QaLLWfSNGksBHD4ihI8H0fxKrV+yOzL5HLJ17Jvv+Z6I/+//ax7PjdiWngAs6+3tjZ6enmg0GrHSqijkPDchWEobEaXTID2pySaw4wc8jY42BxHfqcGzIbwojg7XddAUbS1TBqLaGc+SVWjIo8yXlsoj4VOZmpzX/Hyz5MRsg/eojMb7UL8TkJw8WZW1KEsoOCigkNnZu7fq0OTgWa/jW6ZXVyN6+/pi4eDlsXjo8rhr9XsioupYGo2IgfmptSLlfdN4hMSp4oGho1N3RW8jPQh9pxdj9I6vxegdX4sDdXNt/8WxePjompQ1d+BITO8/GjNna3dOj+1fY3ciqmCXsoycqfqVjMqZM8VYC+D5GJCRGx6uggsGVs25lZUSLOvv2qnFIw0oBXBe8IsPf2w0qoBWa8jZO8ppOrmZc4uBndKU3pOSBAcGyrXK2h0GP2c2WffjwW9tDhgT6fc/OlqcYp2SsphR+4NBfeeQy47uC3xdamu3fNXwcDmHZFoHLFL1Og4+rZ2PjuAYkRGTX6XfIiAjA81xpNxGSURsChMssmwCIKwlYSKmecc20d8RIHPM6wqVmTTs3x9x6FD5d/Wn+lJ1kidOND8clGfzzM0VvtHHVP5W/cNnZKl2Z3S0OGSQ6gHrMVPyKBmww4drHNc5sq5lpo997GPx3/7bf4uf/umfjqc//enRm+K/d4Bt5bOZbryxitjrfo6o7vbwLJCIfXCwnGgCOGJ3dNgTs1QHO/weUaXaSSV6ltGO3eFn+oKUlEWtfWGhlLF0YBidvF7DBaEiQwdUpO09M2Gd0vJy9X8O3rxOR0yZywNqg5wWpSzPXkjVstaFxZP6vXH6TIzP3BV7p47Fvtnja1vRVbczfuJYDJ6e63pOLu8ZLR4hcXYb+sKho6WUNXkk5vc/IGJgYM1JEWRqDjgol1E2ZDZGMMNgz3mt17AoUf0j0MhiSjlQzieuKcpFot7FKLC2JlUDw7Xj7I4XDjOo63pKJjSmzJjVdwxUag/ZNAZugjiySax9IqXPuarPd/BOkERg4LsiKT2oLSmfwDnCvuO6TNV2EKjJxDK5lKU+ccBDCYvFyl6DQsAZkWb0BBQFzljbo3F2IOmMi4ANkwOyR1oHTCgo66g/OeapGiG1W0cLkOEhYCcTKnZHu7J8G3pdbabX7qgGTrFHtTs8U0m+QOt1cTHiwQ/eJbuZXvSiF8Xf/M3fxOWXXx7XXntt/PiP/3gcPHhwUxq8lbZVYObDH474zGdKJM6Fzyyfhb/62b/LqUdUHQAdMgO70LSkK/2uB7UJ7VPbpRxG9E8Q47U7lDQ0cVuxO/rMFLsjRyWHxG2RZH18K7rTnfx80vJyPtTmV1err6HTU4BgTRAdHp0ZmTXq/a6vs+aAQcKv4c5QnxGNRgzOnyrAzkwBdvZNl+ftjJ86HqPTd2/oAaF6hMTCofIBodN7i4LlmX1H4szIZFPtDqU3z5I5/nKwDNKchzJnK/l/OWcyipwvWmN+mi4DMYOEF8uqLsPHm7VgDB4sJGXw131EVAMSpayI6k4bAkXKE5Q/dG8E/wya8gncfcU8kskM63Y4n7lWKWURVLBuh1ILAzJr+1JzQcGRtTuSQPR3B81sBwEWGQo+5kKMCP0GC+W5zvVdfah2SkpUv6jGy+enfufuO98xxbnMMef/mFgqOXAwSfmT0pnXl6XkNo5vo1H6UT1rTA8HVaJJcJsSWTS/dG0lDwQ7w8PFQyYf97jm92/Etmxr9pEjR+Ixj3lMtCr2fde73rW+1m6xbRWY+Y//KMBMRPMOEda5sJCRNRpcsJr0dBh8LUGPFqHMJ7Em28hIUZjM2h39zBNV5RgpyRD0OIjR/dAJaga1K1TmNUl9St7w5/DoYXVadKQ6ucWY2RrpfDIDDBzeLncyBB+6Z1m7QmWCRWVpZJNYQ8BaB4IdtoOs2upqRO+ZpZiYuTP2zxZFyvumcKryyWMxdvJ4DJxZ6HpeL4+Ml2BHpyrvK2p3ZvYdiYV9l65FcZ+XXAtkH2UECHLeZCR0nxyvVB2JAC4D6vJyMUfUn5wfqe3HXDdkNhR0NU+0PlwWYsZPdoEJjK5BBravr2QuXAJmv7EPdH3WKq2slOCurlaI7BjZHQYlfSfo4fxVYHV2R9fmPaeKgFM+geNJ0OU7s1Lsju5fwZfSltrGnUTa+EAZjrv69JnOpKbkLAEL1hn5/KSfUX+6T2ABNoEqkz/+T/OdUiHnMRl6B1Ua34hm5l7rU58vKWtqqnyEBKWsOnZHbXjiEyNe8IL1+Zt2tiU1Mz/1Uz/VEsRcaCYmgQF6aKjQtCOq+ilrFjQpI4r3aXIQIOh93EKqz5Ez5+9yIKwHYCDhItFkl2w1Pl4FO5K0CAScBlV2ovtWG0ix8n5Iw/s2RVpfX8kwOfW5ulrNyJit67ktcnAEOQpkrN1R/9DB8L7o0FZXq4GLmfrcWUXIZQJm+yxqpXyge3QpisGYGdsayzQwFPOjD475eHAcR7a5Bn5WGjG2dH/snT4e+2eqpypPnDxbuzPzrdp53T8/E2O3fTHGbvti8v+rvX2xdPCyAvCcPXNn9sDRmN5XPCR0dv+RWB6ZWLs3sjmUZdQfnKcEcwK3Sgw0XmvthBwwMlK876KLyvFRksB1x0MGNYZid/TQQ85XMi6aG9o94ruTtD64JT01Z5aWiutQyuL841bviDJw817UXwMDJcsxOFhlIcRQaK0QoHNdkZHiOuQcJrPDhw4KkBHskN0h0OHuGPoFyUf0CRpvBn8x0pKyyJ4wLKk9THIUrB3gMnliYau+a03JZ3EeE9QS5Kq9fKBqqg6S84WAh+ApopTOPXHSODMR1vx2NpBMnkuRmgdMgi+7rMp8U4admyuAjuQsgZ35+UIp2E7LjzPo0j7/+YjPfa7KXpB2jagibjIRTkHzZy0+TUKCG/6PLBBZHy1KUpV6jzMALn04Ra3tfwI8Ahpid5h5arG5lKXrENEThHmW0Y7dYVbBNvf2lsGJR74vLpaBilsU6XBZsEiw49kSQZzGN6LK7Ig9UOblq4ttdmfmmjmzY7WLgJi7eCj/aE6yrwUuGo2IvjOLMTl9e+yfPR57Z47HvunioMGJU8dj/GTx1b+81PXaODO2twQ7h4/G/AHtzDoSM/uOxtK+i9c60QvVGTQkCdDoYDl/nF1jHxOw9vY273zSZ3DOKIgpI/UaF7WNQN/lFLXHx5ZAR/fHoEupjVk/2T/Ve3GMKWsI/HrGrs8kQ8i1qOvVMVKcwwRxrFuiNMs1reu4JERpyH0amWGCFmdOKKkpIWOBuIxsh1+XfaJx5648rzuiFMR+9zYSmEVUwbG+PMHiln4vGHcZ1P2QvrN2h8DSwY7Wi0uR9EWDg2XbOa81JsvLRQHzxRe3cQ7rtPxsJthWgZn3vz/iYx+rDjwDFLddK5C4hBRRnYD8mZmtGBeCFRbratEzsOk6pH75eSkQpIyYjiKinOweaLkNXbqpfueuKwIBSjFktdQeBaNUrRFp+VbsDh0Hx8fZHWZoYne45ZCZnFPTDEYMlqR1dS9ql17rbAWBBsEgAyQDhLNs+hyXXbyGgNKP1xIwcPQ0VmN0/t6iZmf2eOyfPitlTRVAZ+LksRieva+7hRMRq339sXToAbFwqKzdmT1wJKb3Hi0eFLrvSKwOj1ZqCzj+BGcaCxllWDpv/c3ZnZTzJsug966sVIENWQjW7lAWluTJ2goxSZJRWLdBAEA/4OyOAIGzVu6DtDOHgMJrd8g8id2RH/A6IQVGXc/npEuKeo3X7RC8M9lxdid1GByLaQnimKipjc5CyWfxVGXKMlpH6mvWYhHsOMjVF+t9OB/IvPJLbaTvd0Aj9snZHYIdjqH7Va5xzXlei+ueNVpeu+Nzy4HV4GDEJZcUD5vcTMtgBrZVYOav/zriX/6lqr2nirMiqnUWLCLzYkFSr9RxfeIQlctJeQbkNQXURjlRmaUKIOnvjuL1P7IX7sDIygwMlIXKPNnSn0RLOplUqt8rAZx+573IcZAdc3OGjJR6o1FmY9SJdVjY9HQzm+PFmhwz9Q+DhJw5nS77T46N7BRZCw9cfqYGnTOdIAMY5wHvhZ6AIInjr7k5tDIfe2duL05Unj0ee6eKGp7Js1LW2Knbo2/lTPuFVGOnx/fH4kXFeTvzh4pC5dn9hZw1u+9ILE5eFL39vWugxsecwJPBJKKZ3VECwGxTAN4DtsZV/XfmTBmQWTyroMBdOgIglMA0FzmOklF44qvWhzJkBj6ZWDvNS5edyWIoILI+g1/sK71eAVP/c7BDwOPMmDMkrPVw2YWHIFJuoW/TvCXTk2J2yGQ72NH98T61BV1yFkGC5hCDP8eUtTu+c4zsL8GQfDPnp/y59xUBrsaDj5EgEKZkyToeAk8CGiYEBDxqDxlhB5Nq+6MetUsKgHerbRWY+dCHigJgOg7fySInwUzb0bcKDVNbLlkEp0nHWpyIKjVMsEPJgw7KAY/XM/iWY/2NhX1kfZhVeUFbSs5iwOY2dNXs+FNp+Z4U2NF3tksmp8Z6IgK8OqPzbTSqdRDLy9UCQzklFc9xO3GqUFl9WCdlqV8UNNR/EdW+iCgDsEs0qSydhZ0uZ+kzKfF4Ruxnkqj9HgjX5sDKakwsfGutbkeHDU6ePXNn/OTx2DN/ouv1tzowGIuHLi/YnYNHYu7Q0Zg7+4DQ2f1FLc/q0HBlLvjcoDTggVZMHuvWmEmrD1Lsjtad1g4lY4FjSVnqWz6SxMGZxsylLNVlRFRlAs1bAiHdJ9czmQMHycz22U9kQcgkcp7p7+4b6YvISHF9EWww66fkIqZS7SOgdXaHjIr+zjHl+9TfBBJakwQCAjs8c0evI8tKPyAZU+uJW+O5m4gMlOqdXLJ2aYmSJ9vBeif1GcEQ5UEHOz4erL9hnZWYzNXViCNHIh760C4XdI1lMAPbKjDzyU9GfPzj5eAyK+SiV3bGic1MJqIa0MjyUMrwQKSJ6EVwzlRQE+VnMYDR0VPaoRPnvTBLopTF+gen6gmmtPi4WBjgmRmo4HB8vCpl6Wev3mehHPuUDo8ZkDM8sk7YHQJTXUcBUIBH4IbPzHLpiro8C6RTIDWiHHs3tsWBDmVL1h5x54XeqyBBcOXZIyUPBg1dS3OOtLpLAnvOzMS+2dtj38zxon5nunxA6PjJ4zF66o4NPSD09N5DZ6WsIzF/8GjMHSyKlGf2F9LW4vih6O0rbsyDNIEdM3qXDclwMUjLCAw0RwQuCCzUbyl2R1KoP1eK7A6D/sBAGXB5LhVfQ5DjTC8Dv4Kp+yLej+6XTLGzfGQHNC96eqrznpIy+45BNiUpOtChlEX2iT6KjI4zlQQgbJMnQOw/xQGBLIIdZ0Q0t3ht9bvGncmExp7Jptq5sFAFNzLNDa5BBzv0l0qcXcZmQTrrofg58i0PfGDBzmymZTAD2yow8zd/UxyaJ2cv5MszXcS6cPGyt7m1kIuImbBABrNpnaeia+hzNek4SVm7E1HNokVx6hqcpETmdPRkhVxLTzE5WrSkfgmgtGuATkxOQxQw2R1neAToRkYKOYtnH4yNNYPDVrU73g7+TmaKwChlBAvqQ44ZM3E9EV1ShJ6GzvnAAlRl0wJ/ml8EqATFNDo0AR7OS4K3lJTl7I6zZpzfpN55H7yGZ7KcZysrEb2Nldi7cHdMTh2vMDyTU8XjI8ZPHo+hhanaNdrOVgb3nGV3ilOV5w4eKdidfUXtzsKBB0RjaE/5eqwBBhBmzc4seAIgkKf1qLnCnUUaI64RmQKu78IRANKWaS9UJguioM9nIZERZAbvDKvWhNb04mJ1zvj8o++JqPoesgte66PX0p/oms5AEiQxQVL/0i/X1e9ofMnukNFh7ZnXEbG/U1IWkxKtId+Z5WBN/eQbFLxo2tnfVN0OEyTOVfa/pCb3/ewnPuqCiY7+fsUVu+Sp2bvVtgrM3HBDUQTsaDuimUnp6anSwl7sp4nBkaDTTNGmzAaZnfFzGcSZxTBbVEEcg5ECuAcZD5oMiqnXc4cQP5PtZ5bCLIhSGLM9XktOUt8Z4OUgVfTnMpa2oacyEj9vg9Kd2iinxeyNtU4RVYftxs+m7KjPZDYucDM/Xz6zxdk+nvLJGhA6Ul7PaWm2k4WZzvCon8kCMQv2IMZgrfboc1mzwnuJKF9LsMPaBwHxPUtTsW/29jgwi9od7MwaPXVn7SMkOrGl/RevSVnzB4/E3MGibmduf1HHc3r8wBq7Q/mS81SghkGWTCSDNSVZjh9lH4Ih+QWCRAUxyla+04/zWACLdVeqd+OjAbwejiAlxTo4AOGc6empSsYexF32IVPg85N9QPYlogqS6LdofX3NBwt6MuhSFtkdykP6m4AH6030Ps4D9h19loCmfBSTWe9nrnvGB7E5+plFyhob7t6j79JYpKRufqm9Q0PFgyaf/ex1LrA2dk6ezXShm+hALg45H014/b+npyge1YLwiasFRy2YW+D0P6e7Gdx9Ip8+XcgadCR0hJ4FugRFvZXbHHVt3aPOiOB9KcDp2T0M+my3gwACGN+ZxYI+OjwGb68pkvPUeTAao4jq/fJJtHoCOgGP1+dwF4HePzpaperpHOj8OB5yfClT1jM8HHHwYOnM5VjOnKmehir2RrU71ORFX8vxasw4LyKaa7p0z2RvCI4imutCOBc8+DEYk4lQhsr6JwJfMjxi8tbOAxqdjOn9kzHVeHSlr/UZvavLMTlbHDKoreh7TxXPzRo/efYREkuztet86MQ3Y+jEN2PvVz+Z/P/KnpFSyjpUbkOf2VcAn4X9l0VjYLCp9kBj2GiU/b5nTxX0EMyJjdG9ae7qNQQ7DMBcT/pc7sJKFSrr+/33V9k7snRaA2IWtHOKO6MktZBR5b1T6qH0nJLV5UfUTq+Bkp9U0a5er2tp3jvY4XUcKPKzHegIbExMVKUsX+u8P4IOfjFpk1SreKHxV6JD0Cm/rPXDvmJbPC54Yqx28mwetVNJFdcUk1P1cW9vMV+20zKY6dI0uRWM6ewZKEh7apIp6LFmJqKKiikjaZFpAenaDHBiHjjhZKSGOZH9CGstGOqiTn8yS9PCJrvDgK4Jr4XF+yKgYgDzRUP2ifU3WpwsmKQTSYEgr+mRg15YKM6hofNwXVkOQ7U7+plPouU98fRPgVEBAzpT/u41AxFl8E5Zf3/RBj08k+zO8nJVyqIMMT9fgB46NEoXBJjUxiknOSXt7I7qhzRuyv64Pji/NOfUZwxk1O3dWTPLTO3iieiPMxNH4+7Vo3FXo+qIV1YiGquNGF85VRwyOFs8PmLfTPVp6K0eIdG3OB9jt38lxm7/SvL/jZ6eWNp/ydrT0OcPFIzOzP6ja4XKZ0b3Rm9fT1LSVZ+JJfBmENyqYDSiZC61bsnGaoehWFUFPIIDHlug9cVdWXoOkNZaikGSbxDA8GCscR0fL9vrrAOf30a2juuN82J1tWij2kxwqMSDQJrziIW5XINkq8iO+Fqk5MJNHPv2paUsZ3eYBDMR0b0IzC8sFG0/dao6D7gexe6wWJkSM2OQF0lzLRFs+UGeLnmm6vjOpWWZqUv7x38szpnRgDNoKxB4ACUzQ4aF0oi+8/VkfzxgUIdNVfpLf/Y6CX2WrhGRPtfBmRfWA7Fegm1XACJ9y4P2IqqyFBmViGYpS8HU6WfKWSkK2AuTOR4u4Tn4omTozJtTrnJ0ApQ6ZFBn7ugANTJxXlBHIEJHzPv0NpLxShnBAp2c5peYHBaXCugIACmIuTbPQMH6D8oPZHdozu74fEyxOwyAuobXPVFa9SzZa3eYbLAvI5pZtP7V07F/4c6zz8s6trYNfe9UuTNr4PR8ehA6sOXhsVjA09DnDxyJmQNHY3Zf8fvigcsi+vsrfUPZTab5ov4kw0NJj/PFJQ4GegFXAR31R0RV3mRioZ19BMWUK3gNJQn6YjLFhErt05zmvVPe4ZgS3Gv+qC+cMSWrTKmNsi/7z2V4B9+t2B0HO3yUBH2cszvycamt4GRg9D76LBmZd/UJ2R1KeHp/itkh2KKUdsUVEd/zPV0vg6TtmpqZj3zkI/H6178+Pv3pT8fdd98d7373u+NZz3pW8rU/93M/F3/6p38av/d7vxe/8Au/0PE1tgrMfPrTEV/4QnNmI2fv1DilB2aGWiQRVUaH2WtEldWJqDoqLmKn/rgwRemz4p90Nd/vtRLO7njRsl5HDZyfz4y6Tp+nDOFyDSUq12198RGQOKj0n5kRERRxrJid8LPpBB30CIRq7Li7QSBH4GdsrCr7UYfmAVWUYVy2o2NW3YmCG4MQzeUkgp2IMlj5g/20M8t3YRHsMGgyIBHcOJukeSbQqADEcVefk01kwGINj+aXxkb3pgySmSkzYsoyZFY15s769UQjxk6fiP0zxwp252yh8t6ps09DP3k8Rqe/2ZljSVijtzcWD1y2JmfNHSwYnpn9BfCZO3h07RESaiulWwdrbr29VZZL80drVeuWSRNBJKUczkfWcul3nt2kAKn+5HxQYFUSJFZa4yE2lLVYmtNqu9YCkxX9n/I654mPNeuK6MvkP/21qnuiryBAqytUjqhK+wQ8An2+9um33JcReIjd1jrVPPAYwuRMP/vT0D0p0vVPn4649NKIhzyk62metF1TMzM3NxdXXnllXHvttfHsFpVD7373u+P//b//F5deeuk5bF1rE9ugrGfP2U0PchqkKTX5WInu2aKzBpRTFFT12cy8GDSZwUSUE39pqUrROutAJsW3NzL4aHHp/fysiKrzoHTBAkXPmJhhU46j01QGo7oKZd5yWBXZIJGduYZOwENKm+Cy0aiekZGSsiLS/+f/dD/LywU1zzFQsJCz084syQBjY8VY6OnodKRyOqTNJcUwm9RccfCse48o52TK+vrKWiIHPmJtJF0R7PD31M4sP7fG2RwyN174yLmr9afAqfHXPbO9KbDD4uSRkTJQ6jPYZ2QgTp+m0++JRuNAnDx4IE40HlsJ5muga3kxDizcUTlVeXLq7Db0s4Cn/wy2BsF6Vldj+N7bY/je2yPiX5OvOTM6GYsAO3Nn5azZA2e3oe+/JHr29FX6hkyU1kpEdW5ElP2ue5eMo//pO/2IjlQ4eLD4v/qQYy4ArOdliXng/JmZqfpTT9B0VpW+a56QwXNpSOBMa5ZSD/0HmWf5K61f+nEyiXqfdlKqT+VjKN+QJU+xO/TlWgfcXUSwMz5erZNywKM6I8r1jEcEY3ptX1/pszgXnPGS32Is2A7bVjBz9dVXx9VXX93yNXfeeWe85CUvife9733xjGc84xy1rL2dOhVxxx1lACFqTWXpjUax2GTM7PWznL5vA+TvzAw5WQV2vA6HmjEXc0RJR/b0lMHM2Z2UNs3aHS7y3t7iHpmRkNnRNZkJ05npPdR2vfhWxoUvACanxt0HzNAIeJwl4LNuWLPg0gOBixfyMZNz9o2Alv2rMZBDVeGfjx01+D17yiei89lZXlyrPtIcZaGyrk1wzDnFOjC1O2UCYvv3l0CKDJIK0VWzwwc7cqeWgx39rloJghexK6yzUAGq5pqcLqXfpaU0uyNQQkDv7KGuKclQc4ysBAGPwI5kiEZjTyw0vi3mVr8tbsecXAOcjUbsPXNv7J0+HgfmjhXPy5oudmdpG/rI7L117igG5qZiYO4/Yvy2/0j+f7WvP5YOXBYLhwtwM3/wbO3OgfL3lT1jFZaDfkb34TI154HuSfKks8YRVflboH1goCrj6LPlI7jjhmzPwkKxXk6cKNsqH8xt18PDJdhhnZ7GWeuqjt1hwplKBMlmaN75utdc0+vpPxkDCMr9elzXZHeY3PKYEG4mmZxMn7nj7A7/RjmJgF7rlLK7WJzNPjRvPbajC4BXV1fjJ3/yJ+PlL395XHHFFR29Z2lpKZbgeaenp7ekbSdORHzzLHNMCcgXCQ9NkrMUZUvkvbJSfaYPJQT9P1XoyKxCLA6DkgIKJQennp3dIWPAwrMUu6PXObuj+3YpS4uLTlF9qM/1Z98wk9frKMswkyHg8YAuqUdOxOt2PFvSfTHQRVRlJspZrNHhWKXqcpyFc0dC1kgB+PTpIlPVWHF+yEFyZxaBDnddkJ0g2BEo1FixvZo73lcyjVPK+vrKQmXPlJXpi9HhGTzK0Fmnw1046lvOH9Y+MKngHOT4sr5mbq7sa/1f/e/1Ocz8KR3widJa6xo7B8ADA+Xn9/b2xOrq4Thx8HDc33h8ZV5ofg2tLsSB+eIREjpRee80HhB66vboWz6dHIPeleUYvudYDN9zLPanh6l4hMSh4vERkq/E8MwfPBKLey+O3v4qXUBmIqJM7FzWcnZHOy09weLcFLujgM+Aq/lP6YqsMOXQ6ekqS0k2WHOe5+6QgSSbNzpaBWhafxxX+lZnMVhL09NTZUHkTwiSyO7Qr7OGiXVSai+Lrekr9LfUNvTh4QLwcAOBJzcuC3oNzd69NRPrHNmOBjO/9Vu/Ff39/fHSl7604/dcf/31cd11121hqwrbvz/i8OHS0ZIBEKiQycEK8GgCETkrqDDTJHigNOK6Ln8WsmcQ5aRjsOREXdP/Qa/LSKHynghqGo2yyp4BI6JcIKT3tYC08FirMTJSDeZOc3omzC2F1H4pJTCLom6uYMQt6MyYKNNQCmTg1GuZ3RHscG4wEyJg4ziQfSMVzvepz5nxCQhOTZXZIeeLHLcAj5gdnr/DzJFjxcPV9J0Sn9fuaG7JWrE7vb2lvOaOX857fr78IssjKcsLfAWC1D6Nl5g43Zt2/+h/GnMFFsoECwvNYEhzwWvT9LN/McERc6Ox9pqd5eWyLqMA38Mxv/9hMdd4WByzQLO6GtHTWI29S98qtqHPlU9D3ztVSlnDc/enByEiBmdOxODMiZj4xk3J/6/2D8TiwcvXCpXnDp59SOj+4nESCwcuj5WhkbX1RylHP6sOir5Lc5kAena2yhoSrNKPaHv0wECVYZBRgmTtjgNnSmBqv2/Flo9gcTClcJUdMDkk+Ce7zntiwqS1yvXMpEfvIyghm0afr75XO1iP5ODKkyI/b2dgoAArSk5Tsvv+OpR8jmzHgplPf/rT8Qd/8Afxmc98JnoYzdrYK1/5ynjZy1629vv09HRcfvnlm96+iy6KePjDi59Zh+GZgRwv5Qf9T++NKDNEOUZmDQQ7XuFPqi+i+PyxsapEQDBEeUeTnmCHwIzyDIOo0/QKZH19xeuoT/f0FPfb21t8J3Oi95JZ4S4of0ia7kkORO9P0cN+mBUdlhwIMzDWVjD7YgbOczUEPAkwvSZF40o2ifev+UB2h3Q72TeCN742xQqREqeTUiY7Oxtx8mRzQGG/+6MjxPLIeXI+SnqU81NfEtw4M6g5RbCntZGy/v4iczxwoMrI6d4VnHhOigCNPy9Lr/fzSriuIsp7JWvAwKE5p0DaaFTbTzlG7VUwYLAku6MxYI0P+4vgl8xZMa96Y3X1krivcUncs/qEynxS+4ZXZotDBueKU5X1NPTJqeMxceJYy0dI9C6fiZFvfiNGvvmNOJAepjg9ebBy5s4as3P26ehLk4ejp7enkgxxDMTIEBiQKaOsNzvbnOyobyn/s3aHLCgTOs0J9Zdq/VS3c/JkOQ5kXFi3QmaUc9THnnNH85/rnWuSTI0+i0mu7zQTe63XSxb112vt8b0E4ZTjUmymy1la+9tpOxbMfPSjH4177rknjhw5sva3lZWV+KVf+qX4/d///bjtttuS7xsaGoqhc7Dh/Z57Im67rflofC2kiYkqI6MJq8nDzJIggtm6ywiUgMjuMLiq9oN0u4KtHIMKHV3OIrXNA6aYMXIroNeEKCMScmf7l5ertDuDhABGo1H0iS+giCorQLaA59uwrkIsCx2DZzC+BZ21IhFVKYvOiQ6JWrayM567E1FlzwQyHESk2B2yHRwfAlKyNTzZlfVBZEo0B+XM1BYBMzEQUmc5hhHVfierw3N3OE6UsByUa04yK1Yb9DcCMt1jysTukJoX4BVI4ppT3Q4PHNT85jlMAjxy9py3us7p083JhfqOLIXml4ysH4NVaq4rGGpuEwBpDZHdY5Gp1lexLsdibv8jYy4eGbetVt/TaETxCInFbxbszgxOVT5V7szas3AqPQgRMTh1XwxO3ReTN38m+f+VgaG1QmXV7cwfKuSshUNHYv7A5bE6uKfSz5Lp5MdUL6XzacgOsy/I7shvakx4+J/6U2uAj92Q3yYD7GzP4mJxLa9xYf2a1oz8ktfuKG6MjlaBg/uO+fnqWiGwovyuL2fvOBcol9KnETCrf3UtzkkmhbKLLqqdGltuOxbM/ORP/mR8//d/f+VvT3va0+Inf/In46d/+qe3qVWl3XdfAWa0uEgX0pH7IU0a/L17iyxTC0zOzjMFsTh+ZoocM42LlQHEpSwF2YjyZ9Lrq6sFGCOd6OwOM105G9L8XAQKnLoHZe36IsvDBRxRBggFMTmlFFmnzMd3ZpFB0Gcqa9F7HDSS4WBhKilsz74UhFh/pHbp/zpEzJ+ZReDioIrOybM7jpnXtDDboxNOSVkaQ2auDkh7e8sgOT9fFMGT/tZruJ1zeLh6qrKzOzxrh8/P0c4UMlBkd/S3M2fKOSNmhOBLpuvt318dL72Xxeh8SCjZVZ/jYn0oPRJQi9nzcfRMNwV2yA4yGGteUzolYNR80u4z+R2uW9Z4UAYq+rsvVlcvi/visrhn9bub5M9GI2JkebpgdrQNfabYhq7anbGpO6N3daV5ECKi78xSjN719Ri96+vJ/0dELO27qDxz52zdjoDPwuGjcXr8QPT09qz1aUQ5r9lvBCScy+prAj7O34hq7Y4kWdaTiCHV72JzmGDIZywuFuzOiRNVdoeMjZIEf8SKy67caUcfQMaKDLqYbM07znvNM653fWluUSVg3zEWaQ5dckntkJ4T21YwMzs7GzfffPPa77feemvcdNNNsX///jhy5EgcOFAlMwcGBuLiiy+Oh0vf2UaTY1hZKTI8ZuxOTXuwoyMX4HF2Z8+eglanZk8mROiZO0VIHZLtkbF91E9ZE6FCWTIoTnQtL5cZONkdLghmud5mR/1cHMzSmZG7c2JA6O8vHUhvb5ElUYZihszdAMrKxGox81bfiKrWWGihE5zp3lTUSOkpJWNx501EFYQpkLNQmTp8SsoiFc2AKaOTcmqdtSYsquWYai4QEDmAIiOhcZ+ZKa/JjJUF2XxWloCPHoOhMfCdGc7ucN5QuiC7IxMLlzIVXaoQkjS7ghVPVOazs3jGjstZlG75mcykBdxcMtHcpaTJsecYM9Onz6HEIaAvFou1eQQ8LGhlAC5eNxGzjUfHTOPRcSvmxdo9ri7HvoW74sDc8fKgwbUHhB6PiZPHYnBxJj0IETF08lsxdPJbsfdr/578/8rQ8NrzsuYkZ50FPguHzj4gdGCw0n8EwKznkY9gfQ79ktgdvY4Sj7M7OombiQElVDLA6jPND52q/M1vVtcKpSyyvwQ8TKoIaDnvI8o+ILvD+cWESfOQtTsaYwfuYpS2+wTgbQUzn/rUp+Kqq65a+121Ltdcc0287W1v26ZWdWaawBHVwKWFI0AhxykgwazN6T5OKCJ26ZNkdjSBDh0qFyflBC0e0uo84E4LiuwOs0SheGrPzvTo3gUcvLhPR6ZTEycDRbDjRb10BgygvpuBAZULjbR0f3/pyLQriwyKPot1Cil2TQ5jebkKjOToVc3PAMgsmFIW2+ZZEMEI5UL9f2Sk3GbK2h3vX2ajuobGybV7BiPKjaTXOUYuU3lmqPdTJooox6LRKOalanc4dprfctoCO5S0WGvi7A5/JytBYEMpS+wOQVuK3ZHj5nlHGn+9TyCHZ6UQ7NRJWZwTBKQMVBortcXZHd2XfI4ACoE/A6Rn/AyG8m+6tvyV5gRBT/NjFvpjdfVIfGv1SNydkLIaq40YW5mKfTPHK7U7xbk7x2Li5PEYnb6r/hESSwsxdsdXY+yOr8ahxP8bPT2xtO/iYhu6WJ2DR2LhbN3OwqEjcXp0X/T29aytjYgqS6NLU7ri3NGcOn26rN3heqIP17ykf2cCl1pvlPvJArLeR+PCeS8mWuwo44l8DM9EY7vpa8l4RpTXcsCkucUkdLssP86gS/ubv4n44Aer2TONcg8XDLMCTV5NGA+y7tAY7LhQVGVP5+QgyWsu5Iy0SLRo1B6yLLw3fVZEVc/nQXv6ImDjZyhw6TMiqoua7BKdZx274/UCXpfgurrT/GU9QbU2glqwMjqyKyzSZnG2jz3lNI6rAADrHLh7QW0j1Uytmp+ptgjgiN3hnGHfUzZgEHXgoz5KsTs8U0UyjO5FgMDf48fcO3NDqU7t8cxZ/S+wI3DHYmUFD7KPzHAZzDX/CAA5rzh/NBfqHDfHSmOi/uNOKwEc7sjiGmRg49OvOd5aj/I/Pmb8WSwQ14X/vLrazCTyXridX8GNO3tkLm167RMlazK5lLz6G2di3/ydcWi+ADp7z56qPHnq2Bq7s+FHSIjdOcvqCOjoERKN/oEKm51ijbm+fT6TAaUEJiDiDDB9NxM3+kQeU0C5k5s6KHvq86gC+BdBFsGz2qr7ZB8wQZV953dGPOUpXQ9J0nbNCcC72VQkScemSer6P2k8ot3e3mrBFzMyZo3KtLgIKJ1QQuFuCVKUmswEOqL1NXnJ7DBTINhhxT2DVkQVGDCgO8gRAOCCIUUeUVyfmYUHRV3fd2VRPlHtDpkoOgk6FzrblZWSYZPpdzES7HeNjVgqUr4sVvaMhtKT6mlI7zrbprFgdsaxFvXNuebXIvgVw8HgxMBLOcPZRDKT+j9pdTIzCsgcG2bqZNbI1BGsEtxpjPQMqfvuK98v1oySqT9CQl8aJx5gprHSXCW747KVS6SaTwo6KevtLYulCRo4R1MnKuuLc9t3TgrE+9zkPWiukpmjb1Hfam1xjWguiNkTUJOfIaDW/CeLpusICBP8cq0V1xmI1cYD466VB8YdkG3WQG2jEaNLJ+LA3PG1+p3Js09DX6vdmb47PQgR0b8wG+PHvxTjx7+U/H+jtzcW919aqd1ZAztnGZ7l0ckKgNQYaq7qu+YG5w6Tt6WlQpJ1WoFARH5ctVBMSvhzahckQbKkcNX+OagSwOG5O/RRmk9id3TfjUb1b9thmZnp0t7//ohPfrI8wEuBUxNFC5bZHTNtAQ/+7LKHgpDXh0Q016ZwFOukLGYBeo3X7shBpTK0iCqQYVauLJNMCjMvmpw3aUstEGbOfiqns19yEvo8ylIpdodSiP+dAM7HjP2tn+nkNW4ChGwvx4uvI2smYEAgonEkO6FrCTR5vYizO2RcPNPWvOKc4RwR48GaLr4+VSTsMiUdPQEpaxJYZK35Q9bHkwXKXP5/sjtkXcg8kKJn0aXOuVGRMh05kxMmBwSuBJ4uezJ4cO76utC8IRuidlICY50Ot6EzaCmgKQFhTR3ZUjK/ZOT0P/oVzmf1qzOuTGIcrGuuy+eQ2fHrqr36IlDVtSj3kJ3VnBxYXYr983cUtTtnn4a+dw3sFAXLdY+Q6MTOjEzE4qGybmf+4JG1E5YXDh2Jpf2XRKOvP8nueNRlosZ74+5Dr5UiEKEMzQSQvoGAmewOpWT+XX5O85E1OzwnTLHrO75je5mZDGa6tFtvjfja18qAokxJDkVPJOb2awZK1omQ4iZDwYWfonOplbuEEVFd4M6g0JlRe9U1dS3faaLCs4hmGlrZiF9XWbRYBS0YD4a8L36RyVHWQB2aTjmiyrConZRKmBVp7AjAKJ/w7+xHORfKU5RL2Nd0Cn6vzHg0/hoLOikGUI6x7o3XdpmMzsl3oen1HE+Xsvz/khVHR6uHDJIRUr868NPPZCE57g5KNZfEPhCMpuaQAgDXFoODgzsHqwya3FklcCewo7+JdXD2UV+8jst7BHUEWjLKpTQHCWReNMbyPX6istft6HcWKvM6Ph/pb1yCpj9JmfpAc4mB1xlNMgIu5av/vFDZkw99V/9yLUdENFYbMb50X+yfPR4HZouHhK5JWaeOx8TJ4zEye0/6Zjqw1d6+WDz4gMrT0OcPlU9HXzx8JJaHxyugm8mY+kxrQn2ueaF7cdCnz6LMRL/OBJn+kFIf2T+CYm5Pl3Sm9fSkJ0X8zM903V1JyzLTOTDSdP395TOJ3CkpU2URqKhkgh1mIpRM5ufLMww0ebwWgM7UC7N6e0tHvLJSzcjJJCnjU7s9U6LDofzDoMuDlOQAVcvDbehyLsyyvW6AgYqHDEZUKXGvH2JwFeiR89N9yCHr7+Pj1VomLnBmL3IWcoqkyh2kVijxaJZBSD1rXNU+BSQCFn1Gimkhk8XC17X6g/6SvVLhNkEs2QONiZ6FI4BFJo8Osa+v+ho5Tko8YneY5XH8PSiqz8hWTk5Wx0hriiCT84fj0I7dYU2C5j5B2exsISkTZLncJtnOJS2yb5QLKD3q5GUCOM6PFOOj/uO6kPX0VB8FoHYqiJPR4XevnUttQ2egdZmbYyv/4+yOXidw0Y7dSYEd9aPmByU7Xov3wP4r51FPrK4eilMrh+LE6uOaGOVGI2JgeSH2z90eB+e1M+vsIyROFqcqT5w6Xv8IidWVGLnnWIzcc6z+kMGxfRUpSz8vHCpYnqV9xSMk2I9aM95nEdX442UDc3Pl+KV8CTcUEGA5G09fwY0B23nGTERmZrq248cjvvGNKvJnpktZiDUNzMwiysXF4MjTJ+fmStDDgmGn4xn8mUF7rYoySToNsiBkByLq2R3dZ0Q1A6B05tmjgi0fykmqlMHVFw7PbPCdWZ7R8r70XUGFmrAcou5Fr6WD1ZiqnQyOZKE0dgSIpHQdHDETotNnsHB5iZIb79ezVvatMwfKeDl+nA/ed3odATYLPNV2B7wsKpQJDBHwcGcWa3d4TbIvus+UlMU5zKAklkhzyHdmyenrcxVoKR2z1oFAhlKgXqPPpESlGgSBHH3nTjkvVBbooSzI4EQpy30QA1/KXEZmrdrqapXNSW1BJ6uj39W3ZBVSSQelSAey/j7/O/vZ55nug/OdAMg/02u4NA+YABE4su/Vhp7GaozO3VPW7nAb+qmiULnVIyTa2Wr/QCweeMBanQ6BTlHAfHms7BmtgA+CdxmTAEq9KRadc8hlT/YpfdbqasTDHhbxPd/T9a0mLctMsK0CM1/8YiEzeaarQMHgR4RM4KD3Meh7BsbXitnhrojZ2fJMD9LwBAIORhhU/BwPBTsid7I1DHgRpTOldOGAh6CCsgmdkUtZrN1R4NDPuiYBg77PzZUOV6/xNvHe1EYxWM5y6Gh51rIQTKg/SPV7gHFJUYCGANZrdVgzwmvREelvahP73LMvslHO7JBdYwDlZ2tOMPjocxRkSXlzPghg6T26FgGkPpPjzUJlavO+Q4hgxI3jzPnIGgKtFa0fHlJZx7IREBE4aby8ZkR9rz4UyFCg5c4ssjt8nAkBD+enS02pWiKNBUFbRLp+g+PEREPsjtYapSvW7YjBIatDCZ7zl+wL/QMt1T4GUwJwZ4UIBAmknc3mcRNaI5ofAmnqP/pFl6xT82XwzFzsmy3Ynf0zRe0Ot6GPnbq99hESndjpiQOFfKUt6AePxMJFxe8Lh4pHSPT291ZAt88D9R1BMP1RislkXOjtjbjyyojv/d6ubyNpGczAtgrMfOxjEf/2b9XArC8uIgVDZq4EMK6b+2jotXxP6rWiblmzoy/tvBK7Q8Cjnz0wyHlRQvIdWmofvxPkcPEwC2JQILhT/3BniRyQAgMBj/qYmZkcFwOrQAMr+hl0GYSY/TMAywmqDakdL5TwZPpMShd0fgQ7YhDqJC46E313tszBDuloGRkoOn2CMQ9kmgcKrgRIdO5+v+xHAjkyWQpArLngLkAHO3yNCncZ8FlQyj7zMdEcdXaH69IlOLKmBEJ17E6KQeS9sK0cM80B1ii5nKUDBp159WcF1W1DF6BicuCgMJXlyzg3mMg1GmVf8cGglLT84aBanzpzhyw3wY58qidUXAP0J26c95qn7rPpy3nWjiQY9ZeSVYE29anWD8ecc5/+vqcnomd1JcbmvhWHF46tSVmT08djr2p3Th2PPfMn04PQga0MDMXiwcvXmB3V7SweLpmextCeyjzkulz7HMxvziGN96MeVdTNbKZlMAPbKjDzwQ8Wu5kYPGWeEbOY1wvf9HcuVrIVyiIZ+MgMUPfUl8sVel1fX+k0eMaFvmZnS12VQYBSlhweZQzWA/AsD2egKIUwoDI4p5A/JRbKEXwuE8EOJS1mmOwjgh0GHtUGkEanDs1xZkAn46Cgn9qer77gd89wmD3RafDL6WEWxXrBo7MKzCh5fQeX/Jva5/OJUpYAqI8/g4uuy77jGlJ7ecAgJSauGwZQAisCMe5W4lhobnh/UqriNZ35IhvFtSHALMaCYIeST6NRLTwnGCK4o79gECZAk19J1e6oSNtlLO6gc5ZU9+QAjX1Fa8fuECDo8zXG3H7ObeisIfRCZYFgjg/lSU+2NFb0mz6meq1LmRFVf+2Ah7v91K/OELFoVvfOxIYJLX0v1+XQ6ZmiUFmPkZg+tiZlTZ46HmNTd9Q+QqITW9p7eO1E5YWDZYGy5KzTEwejt69nrW80N9iHD31oxBVXdN2EpGUwA9sqMPOe90T8y78UP1NiomNg5ueaJR0zCwSVcdIpc5FQ8tB1vH7DF2VEc+2OU/O6Htkd18tnZws5S05GlLEDH0oLKQlDYIMOiAAnotp+Bjk5BZc86sAjwaL6mUeDM7NUH+hnOhYWcJ85U9YPqE0psBNRZWvIcimY9PaWj4ZIAR5n3zyQqhCdjA4ZNjlIBgfPEsUc6Foumeh6zIZTgEeOXkGbtVucB5SMnN3R9VPsGAN5Sspyhs8ZM36m/kbGo27LNSUG9pHunfehtgq4KWtlAOf6ImAjI+H3yTXOecGdh2TWuGYYaLkNfWioOKWbQI/jk2IgmSypzQTIzNY1rnXsDtcbgTETHEpX9EWsfeI2dNXukHUi40eG1RlKvd7HNCXl+msFqplAsVaQQJJzQ5/jp4NzzlPG9BrJtdeuLsfk/N1F7c7ssbVDBifO1u1MnjwWg0szzYPQoa0M7jlbnHy2dufQkVg8fHSN3Vk8+IB44MOH4tGP7voSSctgBrZVYOYd7yikJoKOiCp175mAMzTusJl5ebaeKmrzwiwGdHfkpK5TmZSzFxFVKpRtUVDnDiQVKZPd8cObnGb1+gjWBShrVN+pf8iEEDx4bQqdekT1HlLsDjNI9bEKN539IiBkTZLv/GBxIdvEvqcESfnEi5RZQ0RZh6wgx84zeAZNgk8yVH5yq7M7+tyIKuPjYMcZHmcR9Rrds8aC4++MJbNwgiz/TM0FP5xPwUDBsqenWg9FMOXSJYM/546+c0cbx9ZZKAZDrksGJ42DJBqXssju8D6ZzZNZctlNfUn2JaJ6mKXYHX6RZWSAFhCi1K754CwrazB8PqUkdvWT1x+R3SHD7FvRKfNxbfKkc84rARLWdJGNdKmSc1Pmc17+k/KoM5rsR/Wv+kxtJFvpMYa+3XdX8rVDi1NrYGf/bHGq8sSp4zF58lhMTB2P0am7oreR0KU7sEZPTyxfciQG7ri1GfVtwPLW7HNg+/cX20WVeWnicWJFVBE+d0gwKMu0oBjYucjn5wtmJKK6gORAqI8z8+3trT4tmwuKsosWwOJic8bCANTfX2R0o6NV+pYslJyMP6tmdrYsWmbdBDMqZijM6lPneCg4yeGRYnaHoPE5c6YAXM6kELS4fMagkKojEvjhNtGIah2MHA2fhM5CU3337bZkJ8jiMWsWq0cHTMZEjjpVO6GA46c7M4D67iwHSayFYjDT7wxmLj9pDhDYUcpM9T0lRvlOZ3kkr5Dlo/MX67GwUGV3yJKRqWNgY7DTTiVKiwJBAwPVehQyeAzqBPH0GwQelBS5jZpFyF6TxvfQT7E/5D8ajXKt3ndfNSCS1dS2bzFafF6W1gHZHQIf9zdeu8N5R+CsZMCtt7eU1DhHyGyJzfGCZbI7/K7XExyqn3RNJVryP2p/HWNHUEKjf9VcZmLJuaQD6+TjNS/0+QQyWj8CfsX1J2Nh+dvjlqVvj6+cqTKBERH9jTMxMXPn2s6sfXwa+lmGZ/D0XPMgRERPoxGN3r5NBTLrtQxmujSd/KvJqYlHFC6pgotUAZZHhVMTFwKX0eloopPhiSglHQVJOmaCDDERCvrO7tBBM2PWIpbD1Hk0BFS6D9Ha2p3B7FT9pGyWRYHahs7aHTkiAhzJXNRsCTyoZSu4EGRJWuCac7Ajx+Yn6coombAYmfKgHD+D7shIVSIku+Ngwbe7yvGoSJJGYExp0tkdZ+s0r9Q3Ou+Een4n7I4APQt7yegIrHjNCJ0p2R2XFxmEmUGvrlbvSf3O/l9eLu+H60Hj5FvzXTLReOhv3m8uWaSkLAXy1NOONWdSO0XIKClZ0ZOJCa7kT7TWuHVaforjxgCme+SOOo27+oM+YHm5lJvJtHDee+2OF2mT5SHYESuUAttqszNtmgfySynr7y8eAnvgQLO8tLycfhI6+479w9o6zWuOuftpzgNKtxpDAn0BEJYK0MdybdJ3qx81v7gbUXNWn7+4WJ45prEt/z8QKwcfGN88/cA4btJqb29EY7URw4snY//s8bWDBieni5qdiVPHo++Bl8d2HjWTZaYu7bOfLb6o13LnjGcTROmalBHN9CuDKh09s/2I6iKi05GzJ3DRwtAE90nK9vlWbbI7lDt4HQdjlCV4Dwo6DOZem0HmgA/kI7szM1M9WZnbsJWNsR0EZayX8QJdBjNKORHVjJpZPceL2ryzOwRaZOD8YW8sxGSfcvt5CvAQFGleORCm7MBi7dTDF10WIV1OMKRAI9DOmiav9WBdA3d/UGIhCCdzwWDmbKZLWQ5cWMNAel8MgtYkP8M/X8afyZYwwJJJo4TJdebSg7Zl8zEKClRKEiiNEHQxu/e262++a1GgmKcCk5Ej20AG0SVH9wX0axx39ocCryQs/cxt6CnA46dgs70EAHXb9elTae7LCBTlT+SL5HMkrSvZEAPLRIi1dJqTdf6TyS99pq9BtVf/J+Ch7OqlCOo7MTxqB4Ei/aczqD6e8jlMKp/4xIj//t+b+3cjlmWmc2CXXVY6QNKZCrie3dcVYGryMsCntFrPqphBNRrFRJXzVkCbna0upIjS4TgwiSidHh0XgVIqG5BDphQUUWUI6MwV6CSleKbCTFvUvTsEfa7odslWqttJyVlkPxYXI06erN6jS1kCPtoN49n98HAVIGqxq+9JWZOu1n0SXBFA0sGxDcq2RkcLic/pdH3RobJ2h2BHzllGp0UWL3WmCcGB+oLvFftE1sCDDuez2q254e3nWqHj1NzxOhGyP7wvFjkz6FNm4X1TrmVNHD9X81xzPqI5mLNwnMGUgMalLH62xoOHPXIHkn7v6SnnOgMcAw7BxNhYM7vj80Tzx9lBBlzdp8vGBDCNRpXBWlkpEpLp6eYCbsptfITE0FB5orFvOyfYEVDS2qCURd/poE1zsu5EZbXJQZvaLr9D+YoHDZK55A4tjZf7Z/pU+l2XzTmXeX8Ccupv3gvXMJl5Z9EoUelLa3F0tMrg9fRE7NvX3Hfn0jKY6dK0qLho9+wp6mj0uyaZFpIXqRE40IkzE+ciJEXqeiwDmv5GDVeLQ4v39Onq/TjgYZGyByfVGRBkuObLmg61XU6BTlqOWMCKzpEggexSX19xn319pdNzBki0uACmsihKWbOzzVTyykq18JLZtjMavEfJB3I4eoIss6cUuzM3V7SD9SW8B99lQsDDOgYBSz2RmXUfCqrMIDXnvHZHTEOjUbSNpkDLtklWIABQ0KRc5YGb68PrPXR9sm38ncyUszrOTLHuQ6brqA1iewh2tIY59gS9BL8uM3HMBfBoXLfMdLlmUywfx0BripIwHx/Bs5oUmBxMqg1kwDTPfMwFlig1p4rdnWWmz+BDDHVtzXkP2PKV991XBTy8J7I7Ajtah5qXTAhY26Q5yPZyfXqhckTZ9hS709dX+P59+6p+U8mG+on1OqwnTNWkLS4WvsETPs0FBzuDg2WbOb7yAQR3fX3FNTWXuD7oz8nWqg/V35SoVle3/6nZGcx0aVNTEXfeWTo4LRg5Ek6ciOL72FgRaCKqmSG1blbnKzN1KYsZrRd81bE7nhlHVCUSsTtagHL4BDmezer1WlRy3gJu09NVh8asX8yLszty3MwcWNzK/lIb6XBcyurvL/p8dLT6GgUgaeZ8VhZ3Zs3OVoGmgv7UVHNWqQXPmibWA+g+5DQV5ORUGcw0Bn6QmMbA+0eZOkEFwY4zTgQcLp3RqfLEabKJzu6oTRFV0MIiaf1MoEV5R+PrbAizQo07M27Oaa0TPl/ImVDOSZez9BkKBgoElDGUEet/BM/qU+7uUZ0L56/WkeY9D4JjgFHbCCQI7ildar1TCtRa0JiI5eCDW8kupXavsW6FEinXm/rSQbEAuwI2mSKXyzjH9Df6H60pymanTjXXFmmu+UGDKlym7ELWkezO2FgVjDgoZrJDdkf+xK2npyxUvuiiKmDQ/GLCpTUvf0RWx5kz9iWTDfpCnuzOeMG151Ku/KPmASUvzTMCngMHmu/7XFoGM12aJkhEmcXOzFSDDgOKHJaoYbELpOB7e4sJL7pODiuimsFRytLiZ8bqzA6dhxY6HR3ZEGZuBDu6ZwUpgS+2kxmtQBW32/b3l30jQEBZIKIKRBgIKUHpf2R3uHBJ8ZMilXGhk8LX7jSyCD09ZZ/PzFS3oc/MlD87u6PXU39m21PsjjJJ2Z49VfDr46KxF9NE2lz3QCaJTpx96TuzBgfLXVkKJroemUQ/ql7zTW3q6SnaJUtJWQwkBFp0yFwHPT3V05+d/UzV6yiIuiTiDzX1HUda2/xcmdYc2Z2enupuRQf/DuZZR8V1RcCjOT083BxM1C9qNx8VoLbyej09EfffX84xrhlJz5JpCMopc+o6BH/0YQKjYkqcRaZf4m4yPkLCfRCBEqUw+Uz1N2VtsUfz81UgInZH85zbz8nc6DUjI1VfxNdpfTBJZI0X/6ax0trhXKLvm5wsdspqjLRm5FMIdpj8UgoU0GEyNDdXzi2NuwMf9h3ZHb3Oky2Cn9XVZib3XFsGM13aoUPFhNYkonNP0ZCnTxeTjnoy6Wvfbqstf8xAFYwmJqoZS0S5cOgc+EwRonmyO76LgvIAtWE5k1R2S6cjB6jPU1CTMaCxMJdUeh27o/dT5/UCWgIcBkz+HlFlI7gwBco8s1GhIu9F2an6XZKRMtG5ufIxEgSf3KItwCWH52wKg70yR7VTdTuS3yjHkN0RuGBGJvpZfcUvHibITJcMz8hINUjLUafqAnxtuENn1sfgx7FTIqA26DX6IovY21tu1XUwpmDPQmXKVARtAjysdeN4qe0Ez2qLpBTNZ2W7agv7n4yCBxceC6D+9j5jcGJ2zkSIc51sJteTgxv+jwwSwQ7ng96TAoVkZDSu3IaudUkWjUmaArj+RtlWX1xb+nLfw12gy8vF+jx5stpevY7yFOUsAhzdO8GP1iqZTwfbmkMEQLx/Zz3VT3pIKRl4AqrZ2erjIxR3WMfJdap4QT9OwMP5KPDtsjkTwO20DGa6NE3ulAk0CBXru5w7HZ1sZaUsihO4cLlEi0fyhZykXruyUvx/bKz4TDo3OjTuDuKWTkoLTuHLgZAV4QRm1stdKcwUBRQELJyVcZqdYEfOQuBK2bC2otOY2fuOJWd+GDTo1BnkCA7Utr6+oq+oWU9MFF8y1jQog9JT0AV2ZmZKAEQ5UQ6NhZeso9B98Unk/FJ/cxs6gzoZBzm02dnmmhOfe5SruJXfd0UJfGg8JaVRsnI5iCCIhcoudTKjJPjTNV2m5BzVmmCwYdZMJk+Ai+wO61wUKFiorOSBgVzrW/1OwKM5pNfoPlPsjoNs1i2pHzQ/KItpTstnyHgtSt0uu7HOicCD7SH4JODx3UmaB+xrD+4R6W3oHCeyUfSxPKgzxSSoz51N4n1qPMg43HNPVX4UM0+2RpKWasiUKPCxEdxCLclLY89+SYFCMuV17A7BFply9Zs/I0s+nzuzPClRn2pDifwfx6W/v9mfn2vLYKZLUzBisGXQHRgoQYWbJiOpQlbAqwCSJpZDcgIzeWbQrN0RQ0IaVJmEV5573QR3MrAYjsGHtTu6RkTpNBl86Ux0DV2XNP3qapWZIvInOHPZSf2uxaXP0sM1KVNEVBkc9RedMoMFv7POg33GAJDKbKSZDw9HHDxYtkFZYqNR9K3qdFikLLDD7Iq7pbhll3OCZ8wwwOheCXTJGrA2Q3PV2R0ZQSOZE4IZAVgyP6ofYH+rL70YMnV0PWssNN4cWwZ/yrwEXGQfGeQFAMbHy/87u6O2kt0hw0mQmKp1IxvnwZxBm/NW64RrNiVnkfH1IwH8fvQ+1lZoLmmeK7ASgHG+8f3O5rjExnoWr/VScCdgJGNKQKhx1aYLgiwyMwrgAp7yZ1qzLqWzkJmv0bxSn+rezpwpmB2uGyYCBDAqUHYfLfaH0pfYIGd36Gc1Hs4U0ie79fUV625ysuwvsi08fZr+RkkYa9A0r7VOU2zSubR8zkyXdupU8ZUyBljq4fy5nVHTJ9AR+ElNVDlDZt/MUD3DVvU5FwlZDsoA+nw5ZJ5TQafuGbezOxFloPGfdQ0CKC1kfcmJKPOR4/f+13fKWGRjGMgFBtQeH0ee7ErHzVogygEKAhFlu+mEdB2vo+D/mC3ScbI4WUwPAY/mSqoQ06/tdTLKGLm1VXNIsogHFc1V1lt5EGYQI6Dh7qe+vuo5IxonL25lTYDPtdSOQEoHmsusFyBopZRGVo3jQ+Cg+3J2h/U5rGMRmHdJjg+lFOhx1kJtJ+PA9UrJgWuCYIcyMmtpyGgRnHDta83wGqzBoN9xRsTBPWUxymueYKQAD4Ev+1prjevM15SuqdcxIdO6UbGt11nxnhTEG41qUpaSZtT3ZPU0ZmQ0CXi4kYRgR/OSkhelH0pZig/sJxn9uRsBMRk4+VQlNXwwqPzSt397cdbMZlp+NhNsq8DM7GwhCUWUC9bBQJ15BpUCPQyqKSPFSpDDOgU3TnjWT7hT9+za2R3OGDpbOjSBL27bjKiyUq5vc9GpTXIScqaSsshGsB3KbOUIFIgZcPT5EdW6Gmby+h8pbWeJ5KQFDMV4MDMVC8Bt1QwWrNNghsi28fNkan+qLmRmpjxYUFIW63lYu+NjoPmp+cC5oHvkSa2UENUfGkeNha5FMExHSsDpWSuLv712hu8j20DmiuwVa8YcONAYhJxtZZDx4EwmQ+yBBwauPwVDr+XRWnJ2R+AtJdNQhtA4cm4RhLhvcXbHEy+uEfdPqe9ac/rZ62YIEBjYHeSwXykdK4DXbUPXOGieuX9S//O+2Qb6RzKEZHcEhtjPGgvNPV1PwEf3xGRXfcZ2MXEjc6y6PbI7zryS3ZG8JSaJPlzrT/OD8lZEdT65cd3JB/T1FXWkl1zS/PqNWD407xzYwkJBL7JYjxOU2aB+pxOTI60zdygp0NOqbkeOMcXqqJAuhczbFSqTOtVCiWjOygl46Ez0xUDDQliyOy5n6f/qAzpnD+i8RwV+to1sSm9vMZ5yvMxAU7ITs/GIcosoFz+DBml1ZsYET2QuyESQPUpJPJ4JRhTZ3fh4Ncumg/et5wI5PHtHoFPZqrbAcl6nwA4ZHm2Hl5Pkd4JDykuUUr0vWS/G+rHU3KRTp9ylecDzPHx9yLlr3s3Pp9m/lJRF1skZEAZqzTE+ryjF7njdFv9HVkHznTKk3s9+p3zFz1A/a70rUDt4JzPJoEYZltIqJRG9zn0j57na7PKPS1kaT/2ugK02aH74gzC5C0njzITIwYTmk85uYhKihFLrk/UoBAgEKvKDeh8Za/YFE5+VleIztRmCa4cJAJlVnqfjyYiKr/U6bUN3EEe/rfvRuKWkLO283C7LYKZLu/feiK98pZkaJU3uCJaZJp0j0TA1eE36lNGZ1ElZmtB1RkeY2pWVAlurqyUrpclMsON9oQza2R2aF7iRgqejZsbJdjLbkBMaHq4yOi4tEdhpPOgoIqrgQsFAAZGARwCWY07KXjTs9HRVMqBTpuP14EdGgOPr84aZr4zjwnYODRW1OwJ2lPpOny7GeGqq+iR0fVexMgt3VZvEuiEFGWaXdeyO+legy+lyMimcewyMLmFR1nIWTcCHYEJ9QHCVqtshwNZcUqEy12dEMxAmAKS8woxdpgCu2h19PjN4riklBF7Hw/XN9rPGQ/PSWQb1u0tMah/vVX8jyCbj6UwP38f7JYvqkhbv2dtOZsf71X2x1hK3WWtMeESCs4ysiVpdLeeWdvfpepQV+cVjNTRmzlTpfaqdJMPEe5JviihZcAeEGgPNe525QwaU9UcEf3zUBHdu0pfzb2K0t8symOnSFMQUWD170/81wRmQSJdzkTnjkBIAnYpsxe60k7L6+wtU3q5Q2YuV6dy9jY1Gea4BmQTP4lisPDiYzgoYrJmtMXOmvMZdVHLiLL6k89b13RHrvvnZlFHoQEl59/RUs1l9Hh20970Wv+5J7IfLYQI0qWJlSjBkKyhtUOtPsTtkNtQHLNDll8ZicbEAFdp6LlZHkpa0dDnl2dlyC6zX03AeCOzwsDOveSEoZeDW9TT3mHVrDnrdDscwotnJM3NVHzHYnDlT1njxVG/KQQpiBDvyC2R3FJwExrhm9VqOq+6JvoTrhYBEwTOiyqK2AjwuibHf/fMdxLqcxd81l8he+drgnCM744DP1y2BAX2G5gHBEuUrrTFn2TUnXWIcHS1eS1DJhIhSluay7l2Anf7Okzc+b83lMYJMzXGBIgEYB28rK2US6kyRF2UT8LAmkCdMO7tDJna7LNfMdGlTUxEnTlT36ntQdRSb0ua5cBmsyAqkWJc6c3ahlXnGlAI97YyZq+/IEmvixhoRfWdxLQM3QUcn7I5nqg546NiUyaiux9+vPiIbI2ehz6U2rmBPmprtZ7Yp0z2zVsG3iYvdcXbKgwPnDhkBAR5KXQyQzHh9B0cKjLHtHnj0Ptbu6MsZHu6G4P15bZLv0hOzo4zRgxtZPqf5ufXU2R1KRmQWWSvS29t8sJqDDt0/63Sc9eT8pIzqzAf7gPODW+RT0g8/Q0GZY8ekiHITpRGuNz6UkvfmQdxlRPpA1tHUAZ06KUsgw1nL/v7quvR56IkhmRyfI2QpHfAQ7FBWU5D3gl36DU8gnEHzhEr3RhmKzCQfgUDA40kfYxHHhHNda0d9RnUgJbdRxvJC5Uc8IuJJT4pNtVwzcw6MWZucPAGE6/CUbuQQGMx5eBGzUK9XcQmnFbsj8wBKpC8wljIG2DrQI6dap5cqi3dWhw7erdEoC1dJ8fp91m1D96zcs0m+hlKJgozep+Cn9lL6kGOVnOUOs9GoFkFrDBhoI6rgjU6NwZxaPV+vnyPKQKQ55jQ9a0o0d8geMgslGFKb1F5ljATmfC3n3tBQka1demlVAuC8mJoq2RyBHklZfrLyzExxgq36kHPU6wLI7uheCTbZz2QgFDB0wrODK809ski++8nnpZ6XRcBDYKW1T4aEhecMYlzLBAVk+whsCTgJfDgWYnfExLnk6kwA/YfWhK9vFivztepzZ5g1fzXfOG/1O41zjkcycKzJYhEsEcRzzdatYa/d8fVI4EPfqHb51mvK0WKemOwSeESU75MRsAmIKqnyuMMxI+ChLyPgETOse1SZgBKq06fLk9sJYAWKNhvMrMcymOnSpqcj7rqrmgG7Hiy9mw8fY+bq2Rq31WoR0dEuLRUONqLq0JjZk9VhzQrbWQd49LlE53IydZb6XAdYo6P1FCSDPutjuCCd0YoonTvpUs/mmDVISiOIJDUup5Bi1Lw+hMGNY6jgo8+ldOD3rLZwSyjbQgdKtqWnp3gPP4vUu9do6HdJI3rMAp0zqWlndxgERS2TrXD2Tn3AOeMBlf2xd29Ru+NgR3NPjM70dPkza3e4W07n9JBxoBTH52QJ7OgsDwVBXdulRcm5DBBTU2nZjnIW1yNZE9H4GicdYU9ZgGC7rn6HmbsKt9Xnak9KypLUy3nC12nsmVApcZM5G8AidfWZxsEZXO4soxTERIIJCVm7np4y6HL+0p+xVsYTQvZz6n3eb5oDnowIlJLhU3850FT/+q5JMm0sbGc9V0SzbEYg2NNTyli8d72PtV0Ez9zN6LGGyS7nOMdEagJ3f26nZTDTpcmxa6BZj6B6Cgc5/FkOVtmrO3k6gBTaThW+ptidiObMmfKNHGqqncxmXLZyGrkVu9OK2WEA1RPH3VxPTgE/t9XV8omzWqQOduq2oXNxczwIcpzdoaNgcNPc0NjQaS8vl7s7yO4wg9WYa1w5HnI4ZMjEELqkRZaFAUwOlVKD2Be1QdfU/GCWyQCtIK3/c66rHczYOacIuDn3BgcjDh8utnw6eFpdLR95oWLlqakS6ExPV8GOssoTJ6pSmsu8AjheMNnbW9bw6PrqI80ZykZ66nGqdseZMH2+/IBqF1ijMTFRLRpmrYXmoAAra3bI2ulgM4Idfed8ECCjJKnXuOSoNa7CWWeB6SuYpKnf5L80z+n3eE6PPkfgnO/leiSjw3vl2iBwc7lf9+zrhgCF7A77Uca1pwRI90GwQ1kplRhylxxrd3x9aS7KZ5Hp0fiwQJfvIzPGxICgWXPbmTaCaSZZ22EZzHRpExPFBGMRHRE6/66Fqi17KytVh+AgggtLGdHeveUE1EJRoGShK08cpeMg6JqZadas2Y5UsbJnN6pxqTNmbOvZhp4CPcoi69gd9W9K1mOtjLePD2CTE/TxIFMxNFS8l/0pmlXt4IKnRNCqLoRgjbT26moZ1Og4mcmSOZqZqdb3MGBzHDVPRHFrDjBAMbBRGhEDoPFk7Y4CmZgPyh6au9ou7dvUaXXb0CmJMXjw4Xz8LPXP3FwBYlSwrLqdmZny8C+yb2KuOEYu03ndgO5pdLTsE34n4CG7w51ZajPBtu+SpKyi2h0FOoGwOnZHgJv1bQRh6ivet+aC5p/axGSMyU8KIOjvAwOF3+QYkdFYXS2BNP0o6506ZXcolbFIlmysLCVF6e/O7pBd4f/FYqmfXM7S2GrN8PUOEPTeOsBDWZO1VJwPGhu1jwmUjEyX1rl2v3rND2VG1iJSgr/88thWy2CmS1Ogd+MC4hf/xtcwKDKbajQ6Z3e084ROnpM3ddaMb9FkG7Qzy3VmLVrf9soMjoCIGTb7R39zdqfVNvQUq8PrccdAyugIXdarK1ReWSmr/zUmziAw2IyMVIOIsztyyhx3r3URAGIgj6iCVH22HPjwcOkEGTzlHOV4/LhxAk7X8zXuXqPh2TmzRzo9bhMl86T3Msv0wMCdFM7UqM0pdodBlAGzvz/ioosKdodnBPGzZmaK3WR1xcpkPvRwQoJF3RvPt+HjI/RzX1/5NGlnvzgfuFNKtWPO7gjkU55QH4jx5P/4tHH1KQMTWUY/1FLZuRIAzQeCPfY9mT+yHXodQQLfq63Bzu4o2WAtEUEKa0fI3nJnFteUQDzXKqUx3Z/GVt/F2KysVDct6F45NgQhBCZi1QhYeD3NCa493aPmAftR19T1yKxxPPxYgv7+0mexX9RPqSRPRvZLcUaPadkuy2Bmk40ot848kG0Gu+OOvB27E1F15qz9oIRDx8EaEpedvHbH6wW0sBzwsN9k/GxKaK2snZTVSaGy78pyhset0Wj9vCw6EQU0FuxSIhQI8b6mjMezKZhVRVSLRJnN6t7EpBBIKhjr3peWylOtBcoEinp6ysBM6t2zWQYpZ9d6e8v5JHmItQgR5esEkLmrTw5U0qyCOR2t2ssie7WPrI7LIVofLp/IoUvCmpkpgIwKhHXSMueMaqA0BuwbAhAHO/pdT6D24MU50Yrd0fh5EGPCoe+SBQUkdDic+klrL7UzS4CVfktz1FkKsh3qAzF1ZP8cFDnQHRgo20hT0qD2CvSoD53dESPnkr3LvC6TsYbwzJnqOiCo4/0z8aF86skBx47rytkeLyOgXCQ/pdeQVeP1fPu55iZLD3gMhNao5qH6SWtM82c7LYOZbTBO7pR1w+7QyXXD7uicAHfyEc0FuaTk5VSpW6s+JHXfntF7zUoKjBDcMPBFVCn8FLsi43VT15FjrztRWfUrXrtD5+5sSkTxPzFdHBM6bII+7SjhmOoelc0zO9UXmTaCIAJXAjQ5PzolBs6ULr60VGblzBx132JcBHj0N69NITBRINVY8H60K4Zjzb7j1mkHUQzSAjxqd0R1XXFuUcpiJtrbWx7XPjRUfg7Bk9gdgR6dv+OARwCE7A6zbdbuCITwacxDQ4VcwzoS9TPrdlg07KcqR1SBfmrbvqQsHqSmPlXw07xi7U6q5kLzX75hdrbsc2b5lLHJBDvgIavjiZt2ZnFcNc6UvT2hIItJdod1ZJTENCe9ZoebFlJSHRlP3kfqZzI7XFMpoKjPU7s4rzTnCbBdDuO1WKvDeMFdevofjxDZTstgZgfaZrE7vsgoI3XD7kjvppOXU2eA9x0+LI5moCJFL6OD8vNmRJM7EHGAQ6Pc0m4beispi5p03XEHrEeoK9xOta9VobKzXAKcztzJ9DnOqDGbJ9vHMaDMQLqdgIY1MgwEKytl8NKx6zR9FsdS16VzJ9ihXKH5oH4Wu6Mgrb509oU1BOxTnlPjUpbujfVPHnxS79HTiCnVsXZD7M7UVAFk9OgIgR1uRRc40nvVVwRyPLRMfcraHTJL6lMPugrsKXZH9SHsRxZ9a3z4jCSxJkweWC/G++O68CLUxcVmVk334OuUO4ScIeZcYJuUNOhz1S8c+5Qv9fo8MnICbRxzrSu+X5+te+P3FOupea97JcvI+c73MXY4Y6fPJbAVGNY9SJJmH7F96lvWUw4NRTzykbFtlsHMLrVO2B0HOFvF7mhyi6Z2J19Xu8PdSKKnGRhZ4+EZDqUI7s7yA+M8w/Y+koNnxtaqz+vYIzrJVicqp5gdfqVAWV2hsmdMAj16LpODGYEG1kGozxVEWHzL96n/HeyQ3XH5iwCN7JGPbURVomN9B3V5zQM5akopzNwpTU5PVxkJOmeBAu4m0lxmUa0yT809SnOU89g+BlBZb29RV3DxxdW6EAU87X6ani4YnlOnqqcr67A0sTunTpU7s7yQW8FF7A4LlQVAyO6ofRHlvPAdUiqM5v2SXfQTY9nHOkVZfapArEDNOj7WC2ld/P/tnXtwnGXZxq9N0rRN0hQaCm1pa6WhZTgjwwf0E0FADiJyGsDxUEAcQAEpCAgzMuAoX1GOg4IoYikHpwJKRVSwwBRhpkIpMFJGTooDI8V+/Sg5NDRNk/3+WK/utXee97CbZDe7uX8zmTbJZvd5n/d53+d6r/t+7ofXKI/drhq0QlhDWRqKVAEA5MeOiiQKQ76G51zdDopBHd9soz7I0IniQ506I7xWNBRmHxx4zfH8qIPHdqmDpX0acnmIDaXqw4QNtennqsi37dl5Z1QUFzM1il7QUYTcHStshtvdmTQpl5vAi5EwudAmIOqTnDoK/f25G7wNQdnYsAoeTYCzokzdHSvE9IbD44/q86RQVtx+WRRUQ0lU1rCDfYJiX9Bhs+eWNzSeV2vFq8umYlihSNLwgj6dajjLxt11MuvoKFz1oY6QrQzNvueNHcjfyDOZwqdHHjc/lwJCj8P2nc034ZeGfqxTE+WcAYNdIh1vXILd3j44L6Kvr3BlFt0d3SCUgoeTLY9NQw4UjZqrw1CSXSHFkKNOdnqv4MSt7o5OhnqdMUyljht/x4RpOsA2fKR5MLwu+Plsgwp1CmbNL7HujjodNlTJn2Uy+QdGK9DYTr63FTt8OLIOpm23ih0bWlYRpderfXBQh9OGpDjmrKNIEad5O/rQyPfgPZ6fx3Oizq5+ZqVwMVMifGIKPaVX+qSmZaTcHV6spbg7rKqsF5Y6CnalgnV49MbBRD99j1AiXMjdsba0hg2ITly8sJPcnaRQVlKisoaCQlY3b+r2PDKcwf6xMXpN/uPTu3V3dAWI5mboude6FPqlfcZ26vjg+/Lmr+FBzcniOeeGfepI8BxoeJI37JCdrzd8FTx8L7o7FFb6WVYscdzY8CCdERX2Omb0aV3HpwoedXfq63Pujq7M0v6ji9fVBWzYULh3lubucOJkyMvmDvHaoABhwrWWtJ84MRdWoxhl27XvNCmdYUHr7lDYaEg5lLvDcdnUlL9HsJ3sS12dpdeEjjcdR/Z6VufOCi6eCxVZ+uBmw6JMVNfxp6Esul96/ei40Gtbz5kNielDhf6e/9exb0N2HFs61vQBT+8RKlg0x4afG3ffKwcuZkqEiZ0hNAwQJXb0BjVaSevuxAmekXB3WltzdUX0yRXIW7x2jyj9Yvs02U8dGb3w+dl2KTpvuLad/LtQqEif2Cj2QlgBFQpl8Uk2BK14uypLQ3vWTQHytj4dC22LhrJU9HDi0nPLNnDC0NwD3vC02KQKQe07DTtoUrINj2mfqnPGY+Ykq6ECChAeS0NDXvTS3VHRq2KHIo/vpQm2NrdGhYnN3eG4ssu2+XnsQ607pOMqNPY4/pqactfInDn5dlCg9fXlhe3GjblQFYsLckm63WetuxtYv36wQ0MBwsKC6ujopoXbbZc/1/pQoPkxPNd0d4D856mg0O029BrUHKKGhpzIsvcO6/Tq59uaOxRh6jJRAOgkbx/OdMyoEOBKJhU7mvAfGqNso455XrsahrPuDq8ZtlvDWSEnlA4oj5HjSMcOx5wKTBvaCy36KCcuZkqE6/Oj3Ar+Pwo7WdsJzNrPoxUbi7WkdXfsE4V1d/SzisndsahNbZ/eNEGWX3ZvJWBwOMsmKmvtHXuji+snnSDjEpWjxozmSsRVVGbfRq3KCn22Jipbd0cnFPYDw3katlIBosJEn045gU+YUDipaZiJP9PzxTZyvKjDozkIFFecxFhAkhOJTta6ckNzFPSp1openm8KD7aF7o4KZ50UbAkD3h80FKTjXF0zXQ5N9LU8D/q7KVNyuTvWuRoYyO+L1dmZy8np6Bi8I7ruIcWQlxXJKtjUWVHHik6sXgO8Tnh8Kq7oMqkQ1jwlDadS9Ki709xcmKisv1c3iWJB87xsKIsiQu8N6ijrNak5LRreUXdJ7xUUauru8P0158Y+MLBf1CVljSpdXUZBY8NYoVAWxQ4XJ2ioiV9Abt+0SuJipkSiiuYByZO32rBxxImdpMlxtDCc7o7Nu1AnoRR3p6GhsJ1A2N3RJa7W3eFNg0uW9f306UxFjt5wrRjTdth2WXcnCr0pxomepIrK6nBYAaihI8Kl2+ruWOGpxfI4oegNVO1ydT5UDPGG3NhYGGJRdyeTyb9OJ3o9Z/qeuspLczO0Fo617HlO6Qbok6k+saroVWHE49TwkHU/VCxpCFQnPU2q5fvzWHkuOW40x0KfslX419XlHwh22SV/nbAPKSpU7NDdYYXlkLuj4SXtF4Y2dek5V2lReITcHb6fLRehFZz1b+x1qAJCw4JsBzeR1X6yNbjswxE/j+OLtXhC44LnwObtqMgJ5fNobR6uXFMXRUWtbSv7TJ2Z0DJ0vW40jKX5ZjYs7M5MDaJPyCE0ESwkdlRdJ4Uk4sROrbs7+jM7IfL3NnRSirtj4+r2aZFPcVHuDp+O+Pc8JrWr9UnMVlZWMRa6Yen7aaJy0jL0uPyduIrKmr8UtSorJLb6+3MTn06s1o7XVVkMvegx6RO55j6ouOSNm7kUbLMVYJx0+LfA4HwPzf9RwaP1VLgFQJS7w0lZ82XUptfXaj6O9vXAQGHujg15MHRm3R1boE9FPc8Jxy+Pn+hEb+8lDQ2F7o7+XvuFK664Z5aGsnp68ueOr+O4se4GXRxdmaWiR90d9ok6DZs25cfmRx/lhaP2p4oFraOiYoNOiSYAaziRY4Pjw4a26O7oONIQp16fKmQ1/My8MOuO2DIG6ozR3WEIU53DkEOqScwattaQnObnbd3qFYDHJDr4okgSO1TXvMlGkRSScHcn3t3Rm7l1dyZPzt90VFxo3opNQgwtRefNX4+XRLk7NiyhgoBt0Pey7StmGXpo3PB8pKmoHBI7UYnKWjtGk0ptKItP0Zxo9NzqzZiiziZa8kvduVAukQ2HUhRpuEodI/v+vb15ERI6LzYsx99R8FjRooKEr1XhrpO0Jmxq2IqTNftTBY+6FUCh+6GTIN9TQ1l6L6mry73nrFk5d0fHJpAXO93duUTlrq78ZqEMZ2mhQTsueOy8Hil0uJSeQodjpbV1cE4c3Ta6V1rnhxuVqjNhw3+8BnhtMlzY3Jzvz+bmwblNej+w7o7WoFHRYJPoVURRuACFgkdFqD4w8bzzOmab9eFNQ2eaa2ddUg3JTZ8++PopJy5mRikciFHujk18DE3g+kSbdjlxaBKrJXcnrr9C7g5dlaG4OyHByMknlLOj4Sx1IOyutDwvakfrU6WWJrfujk6qoYTlpHETcgWtCIyrqKwirpiKyqHzYUVmqO6QdXd4DlR0qPOi7hrDyZqjof2ny2Q1H4j9x8lI3zeUu8N+sfktFDu2kjHHGr+y2cK9rlTIsj26hN+KJXXGNIyh4TQu16aI11CW5l6os6JjRcdufX0ufDRtWn6yZb/yPLPuzsaNhbk7XV15QaTL+bkyi/kd7EO9HtTdoeDhfmANDYVCUO8FKq7oLIXcHRULtiwA7wt0dxii1JAiH7JCdXdsuIihLA1D2xCl9r8KnJCzY0OYutozdP+oq8u38WMfC1/r5SKTzYZuZbVDZ2cnJk+ejI6ODrRGlW6tUdK4FWmwoSs7ecWJiGoiqr+sG2bdHf09J4mQyFFBYX8fEhgazw45O+oKcDIlOpHpk7MKHg3paBv174l1FNKQFMqKcwU5AVtHR/uDdWxCf6e5ARrO48RmlwGru0NnR8OENndHx4U+NdtVR5oTxPenI8BJS3eKVrFj3R/rSvBfXWGm4Sx+vg1H6aTL97Eijv2mE6MKZs350v7k5MxzriEV5hxpf+nYpEAiOm50omU/001h7k5XV+7//Jc1d1ho0PajTvwUHlrNWN0qu00H+57hLJ5LJttyfNrkWva79p26O/wdHwQoIng9UbTaFVm2/o7ek2zeGNuuY0HvS3TANRwZmgO0IvT48cDcucDee0df06VQzPztzkwNk9atiAtpFevuRIUn3N0pdAWsmLGihzdY6+7oDUlDOTZ3RwvXaQ4N3R17PvRzdaLXPAydeELiJpRbFMqdIZoHEBfKKraisob40iQqc/xqv/O4WSmXx6yToZ7jqPChClz2kbo7LGCoY4fHxnHFyTgkdDi+envz7o59Quc55YRs3Rj7JK/F4erq8iKEn8/wi+bu6Hva8gUaGqRA4HjTiZ5OhxX2el6smGhoANragBkzBo9Puind3XnXhmJHV2Yxd6e3N79flg1zsl9szg6/Z5iLS8K1PzR3p7u7UHRQINtcJRsKYl/yXspQFlctWndHnV+9H2goi2NO708U33wf9rOKfhWeOsairtNy4WJmDJM2FyUpf6eYHIwosVMN7s5QcndC7o6KHhU7xbo7vIGyjZwIeF70pmbj9eo2MGHYhrOAwasr7BJYG86K83vpFlGMFLMM3Y6htBWVo1ZlhcZsf39+RQwFvQoePony83U1ScjdsYXcQs6ehmB0Ystmc5O1TogUERxX6gbYEJbmDenycL4H+1mXUDMRmb+zYSsVtnbCZnuYFK3vwXGkoUD9v3VDbCiLx2NDo/YBwLo7TU25cNbcuYVOKAUUa+wwlNXZmRdA/H1U7g77UY+LCd/q9HCcam6KOh/sOyYoM6Rk86DYh5rwG7WFBJP4W1oKxbq99vS+wHFKV4lj1SYqq9tHEdXZGb4Oy4WLGScWteZDqI0c5VroE20UOllETVxj0d3hz4fD3dEJSpc0h7aO0Kc4zSXhjc0uRQcKBZYtMqiWNK15tsX2j75fkrsTJZL5s6SKynS3opKVeVO3bezpKXRo9Mau7hZXkmi1XhWtmmDLL/5Mx4WGyoDca3hNTJqU+z8FlIYcKQB0mwN1dHhu+dm6tQPPDY9Jc0xU3Ohkns0WCgaOCYoQfl5XV/686qTO71Us27IGFAYaqtRrRJ1DG2blv/pZDQ25lVnTpxeOJ54jJiV3dORWXWk4q6sr37cUIB9+OFh4AnmRQfFGoaPHxGTlKVPyx6crhtgeukkqvNX103CWujz6xYRpjlHNp+Hn8RqwoSxbq4bjrJK4mCkRqvnQDbQaXIbhQkNMUVDhx03iad2dOLFTDf1ejLsT1VdJ7o4mQKZxd2ifa//pUuOQwLFPcyq6QsnKPHb9fJ2geHPlueTTo/4t26XJh2lFclwYNE2ishU6SRWVafOHEsf16ZnHz40Y+Zmaj0PhoeGCUL4Wj5eJtFzCm8nkK2brw4cmK+vSW36e5uvwey2Op2EmnlsWw9N6N5pkytdqFWn+XN0OOiA855rfo+4YryV+piYq6+RMccFrhO9J9NrQCR3InaumplwfamiUYpuhqq6uXO4Ohc6HH+ZXZVHs0HnhKi6bPGzHhTo96vLw/+xfng/N3dEFBkwS1gchhgR5TBrKYjv4WS0t+ddq36jTO3Nm9HVYDlzMlAiTz0LYG2ho0q0Gl2G44JNBWncnNIGrW1FMWML2e1zS6WhBb9Yh4tydUH+F3B3NFdF8hCh3p6mp0N1hO4B8MqYW3bKJypo/wic+dXc40ca5OwyFaCjLLiPVBFM6A8UuQ7fjhpNK1LnQ3CUVOfoUG0pUZt0VfYIPJWvbnaatu6PnVz/Til7ta105xAKGOvGrs8Brrqcn12YVO5q/Q9FH10XPKfuZy4DpFFh3h4KO/a55GRxrPB7m7vCY+MXvNSmaY0fzXnQZut5brMNg80Si3B3umWXDrew7ujsMZfFLl6Hz2qEY0rAz7296PWgOD92dceNy7s722+fFLFFntacnf/5UlKsTqPdNzd3hQ5DW3Yl7QCsHLmZKpKkp/2RYissQZY1X06Q7XBTr7kSFZ3SSjyIp6XSsujt0c9K4O9ay588mTy7MwwDyYkNzRkLL0HWlCSdH1jbR99OEw6iVWRqWtCETtomouxO3DD0ulMX/R1VU5iRpk5X5PYWHhZMgxYXWDtEHBIYsmEwMFOY7MFSmbbCFHXnOFXXSJk7MTY7qmKkjxIc7ugIqeBgO4WfS3eGkyVAKP4uhD4azeA7sF4s6agKy5jkx34TnXMNZPDa6gbp1hQoDnmN94FLXkYIt9GCgr+H42H77wvHDMcrQ0Ycf5gsM8v8ayqJoZmSAYlOPT/PY1K3SCsuNjTnxxT7mOVB3R5eiU6iqu6Pim335X/8VvgbKgYuZEuEAVTsTiF4hFDXpJt1AqzmkMpwU4+7E5aIUm3QaEjvVIDRHq7vT0lIoLNRp0Ik2FM7i6iR+dl9f2B2lwNIxE8rdaWgoXKJrE0vV8YkaLyROIDc0FO4ybdEJRFenqejRPBjC+4dO4HrsPP9J7o6ed3WUQvlbFvYPnTt+trZJw6Dc2sAuPdf8HW6LwPHFc0rRYsMvodydgYH8ee7vz/+O4prHFnJ39P9W4NBRYiiL7o72qYay9D5tc3dsonJDQ87ZmTkz73you9PdnU9MVnenoyOfdE2x3NeX70OeQ7ZFxwXFDgWkJi+3tORCa9aJUieShQbjHtzLhYuZEunpyT1hkFACKwcNk6s0WS0uhyTtpJvk7oylUFYx7k5c/xfr7oTETjX0/Wh1d7bbLjop2Do51uXRcNaWLbn36e0d7Mpongafyq27w0mKeRHsMxU4bFd9ffGOoB07cRWVVewVk6gM5PMzbKKyng8ed0tLYa6LFbIhsaPnOa4P6utz59Y++Kmw4OSojoDmC3ESzWZzE/X//V/+PXSippOkS9F5DlRg8/xriMquzKK7Y8+95glpOEudHi5B1zpG7C/msPC9dIzovZ3wZy0tudVtev7o7vBcU+yw4CDdHW7poDk13d2F+VM2p01dHk1Y5hfFTmNjrtpzJXExUyIcxMWElqLsal3WqlZpkrsz1FyAanAYhhM+qceRJHbSCE0gXuxUS98X4+5E9dtI5e7oxMK28L2ZuxOVtMzQSyYzOGwAFCaa8uncbiGh16yGsmytHV3NUurDCX9WbEVlFR5Rq014/FrjxiZq6+obza0JudBWYOo44P+jxhLfXydyXTXT3593H/hvlLujuTtac0fzTih4OPb0NZpPw3CWnksVJqxKbB1HfmlRQzofLIynSe/anxynHIc8Br0m7EMT32fGjJywsC4+axHxiyKHDk93d36VFGsbUezwvsdj0nGh+U///d/h81sOXMyUSEtL4eZmUU+xoRBHHKEQx/jxeYvYxm+jJhK1d0vJBRiLoSygUGCGsMtmQ+c7rbsTJXSqMsbt2wAAIlVJREFUxVkbqruj14X+Xq16dXdCgifK3bHtVBdAy8KHBI+6O3RmbN0UID+xaXKprkLRPXMonix8z4aG4h5OQtcsPzdUKJXHrrk66vJomXz7d5s2FTpxdlINJSpHuTvquNglvppbFGp/XV0u54QCm/c4TVamu8M8Ex6XnlseZ0cH8L//W7g6jv2sexZxjKugUBdYRRDPsY5r9jOPQ0OaKgz0S/fL4mfRgeE8wnsN25R2Gfp22wFTpw5+sN26tTBRmftTqdNDEcn8HS7n37oVWL8+euyWAxczw0DaEEeSbZ9GgMSFs/h/TUyOcnf0oog7riR3Z7RPuMONJtlFkTY8w6fpKOLEzlh3d1jEqxR3h5v/2XZwsrBFBUPhLbpAdF+irld1d2xFZd3vhtc/sQnUfLBIc2+IGzNJ45bOll2VlSZR2SaHhkJZdF54r7Tnn6JDv3QcJC39Z2E65p1ogizfn1WBOTFrCIsuD4XRpk2F1yjviTZ3R7c64L8ML6nIUUFMd72/P+zu8HV8aNBqwyp26Izo8WqRu9AS+pC7o67VzjsXjiGKJa60opvDXdA7OoB9940eW+XA92YaRYQEiP1/GkKOi/0/EB3CSnIVlKSnxWqYcMtNXPKthhGTsJNXSPzUgthM4+5Q7Og1pN8X6+7Q9rehLF2KbcvEh9wdfq6iE5vmboSWoXOiYk5DHJqXF0VSKCvu7+k06KqsNInKmhfD+wrdDG0D3R2t/svzH9q+QR013hvj7lsqDNR9VRdl69Z8Mi2/bI0fdZNU/NhEZC3yx3PK49Zl6FpKQMdGJpN/b62vZI+J55X9x8/T71XI6nVh6zbpA6w+IBD+ztakaWjIuWahBPehUMz87WKmikgbzkpDnNDRp8WoCaTUCdd+Tq1MuMNNVN/rz9MQJzY1GbOaKdXdsX1cjLtjXUnNl+H7cQNJu0JLi+1t3Vq4ZNgKKCB/jkJ5OyF3xwowwrbHEZfcrg9CUechKlGZoidq7NpwPNuioSx1tbQtPP9btuSXZNtVcOp8R923NB+E4mDcuMK6OxSymzbl3RQVcip66GSoA6v5O1rwz7o7Kq4pZCl+2X4tewAMvvfbccS8JxU7mtjL5G99EOC1wzbxfe11AuRWYs2dGz0+SsHFjFBLYiYNceGsYp/6kyZCIN7dSTvhxrkLYzGUlYaoEgD6fbFiMyqsVQv9n5RjFsrdCX1fjLvDJ12LTr7q7IQcB7YrTvTrJGyXoWvujoaBokhyZ0KhZ/t93HhhX9pKylrPJDR27VLvUEKsuhF27FJk8XxbgaV9HfdAqIJWizjaMBhzTyh6bO6O3baCoifqfDY1FYo4dfQoaqyQpVukuVBxQo61e0L7S+lu6NYJ5We3twO77x7dd6Xgu2aPYYrJ6YgTPcUsUdabme4BkiZ3p9il0FHuzlgjbfJt3CTO/k+beBo1iVVD/yfl7qTJaStmZZZOsvq92vcTJxYW2tN8Cr43J2C6O6HKynR3onLgODky9MEQiw1r8XN5LdqEZ+buaLgorq+jrtekiso2lGW3kwg50NlsXkCo2Ilyd5qbC4WbXgcqduyWHfo65qTYvuYxtrbm+xbIjx0eG/N2uIpIk9JVYLFAHv9eRbI6dHbfLIqepqZCkabODs85xzdr2dhj4ms1dKViZ8KEyqcUuJgZgySFFzScFXWDL3Z1Fv/lUwa/B+LdnWJq7sQ5DLXgLhQLz7NvEppMsYndadwdfqVdmaWhLJ34gcHLvjWko0mxNnlZl2TX1w8WIXxfTkTW3Qnl7rCGT1QOR0NDvm0h4txAfo0bF11RWd2VULIyhYeFSbF2GboVWtwOwN47+JlM+LZJ4dy2gg8GTJa18LO4uSX71t7ruN0FHR79HB6rrlLbsKHwuPjAw/Op4SVN/uXKMC0gqWEtXS3G4+7oCJ+X3XYLn7Ny4GLGGcRQV2dpOCvNRGjDWdZOTaq7U2rNHRsmGGukPc9J+Shp+z9O7NSiuxO6LpLcHV4roRCWzTOrr889FbP2jA0zaAhD3YaQu9PXl7/W+vryT+dWhGpVZbsUndV4ee2H8nfY7qGu5KM7EFVRWUNZNqSlCbz273SLALZZx66GfSh41N2hq6LL3VVkUrCwTVG7z7MOzeTJ+b7VBHQuj6a709mZrw1jzysFdWdnfozpcnIrdnQbBwqi8eMHh+Gsk8h6PJWiomLmz3/+M66//nqsWbMG69atw8MPP4wTTzxx2++vueYaLFu2DO+++y4aGxux//7749prr8WBBx5YuUY7ANI/yaYJcxQbzmLBK50Ek3JHNHkv7jPi3J2xiE5eIeKS0kMTeNzT+lByMUYD5XB3+GVDV1b46Gohigy79FtDOhr+sEvR1emor8+7IVF9wAeS0FYSdCCYIGvbw/eguxN3vcaFsii0oioqs7/V2dE8Gg23KQwPaRE5toXn3u6Erg8LGkZSB03DWUD+ZyH0IaStLbeMWmsasd9YJI+JyroUXQUu3TZdGablAPjedm8nJgzzuCt9fVZUzGzatAn77LMPvvrVr+Lkk08e9Pt58+bhxz/+MXbZZRd89NFHuPnmm3HUUUfhrbfewtSpUyvQYqcYiglzjEQ4S3MUohJmiwllJbk7lb6YK0Gx7k7UZF5K7lQ1Cs5S3J04x1PdF25KaXN3Qu6OLsONqipMJ4D5GzbEYcMeFFl0XbgNAN8LGBz+sNWV2S8M2dj22Fopce5OXCiLOTRRboImKtuNQdXdsW3k33R0FDrSnPBV6GnNHU1U5sacKnLU6bF5O52dg9vP45s0KRfO0vAS73VaYJBih1sehFbd9fTkjotjUZeZNzbmPqeSjJrVTJlMZpAzY2Fm8xNPPIEjjjgi1fuOtdVMtUY5VmfxBmlDKvoZaUhyFsZiKCsNUaJWv09TciDNCrxqPwdJThivB47lqBVazN2xDwH6M2BwJdlQ6IifG1VVWSd/niNNKrVwkozbRkJX0oQEkyb+RjEUcazF6eyqLHVfbIjdClFtC8endT9sW6I2YdVVUkn3RF0arhWcx48vdLGZoMyvrq7BuVkUPAcdBHz1q/GfWyw1uZppy5Yt+NnPfobJkydjn332iXxdb28vesWf6wzJVqdqKCWcFSV40jz56w1NQ1m8+YZCZ8WEspLcnbFIMe5OUjixGHcnNHmN9mTxNH0VNUZVMIbcHToC/F7dnJDwUZeE1WhDoSN9SIirqswQR0NDfnVSaFd0JqZqcqsW3KMTTMeKf2PrAtXXFx/6tOMmKlFZRWdoY1ANZVnhQcdF81PUjdLcnSlTCkOLPG6KKV3yrv2ueTtRx87ja20FdtwxXxOHD35sJze0nDcv/F7lYtTfPh999FF84QtfQE9PD6ZPn44VK1Zghx12iHz94sWL8d3vfreMLXQqzXCGs9ImJqpNzQlQw1l2EmHuSNz710LeyEjBJ9Y4ksROmnAiEC92qsFhS3M9xOXtUOxEbSOhbqUK9FBIi69RkWHbAhS2IVR3R/M82P9pziPdDevyaE6Ora7L65jHEyeO7bHb8cJE5RCaR2YrKuvxhhKVNW9Hc42Yx8Jj1lCWumu61D+UGG5r5oRQF2nGjPCeYOVk1IeZNm3ahHXr1mHDhg2488478dRTT+G5557DjjvuGHyfkDMza9YsDzM5segNPi6vI4moUEd9ff7vo1a9pHn/0Kog6yw4YdKsNkpzDkL1ley5rnbRmZS3wwnWPiSo29PfP1js2P+zn+w1YkNHNolcwyp2IqYQsaJT31PdHRU7Gt7RGiwWu8oprqBhUigr6m81X8muyOKxRzmR9jzZIoO6Io2F/9SBtkLHhg9DfTJvHhATNCmJmgozNTc3o729He3t7TjooIOw66674q677sKVV14ZfP348eMxPiq7znEiKKUI3XCEs2jd2rDBUFYFxdnitTDRlkqxq41C54DnISkhPdTv1ZQ/lSZROS5vh5OddXc0nMVrJG5VFvvJlv+30H2lo2DFjq27wwRoug+arMx2c/LXmju6FJ1hqs2bC8NBbI8+2MQ9ZKQJZUUlabOvrdjRAoMhd4dLxnUZOpDvc577xsbc8nA7bnkeVfRU2isY9WLGMjAwUOC8OE65SBvOShPqKCacxdwdm3gZ5e4k1XyJssVrJUl2KCRN4mkdPJ24Q1R7ocdil+xH5TgBg90d3cNpYKAwmTeUsEz4PSv8sh3sR01+tk5DqPgdr4PQUnTr7oSWobM2DMdByPXT44q67qKcQP4srqIyj1nr3dil6KFFDlpRWd0dW1GZNXcmTw4vgy8nFRUz3d3deOutt7Z9//bbb+Pll1/GlClT0NbWhmuvvRaf//znMX36dGzYsAG33XYb/vWvf+HUU0+tYKsdJ4xOUMVOhvYmH2Vv62fpzY370YRu3lbsJE20oe0jrMswVknr4MWJnbSiM2ll1mg+D2kTlePcHZ1E7WuYQMtrJBTCsiEgTZSdMCE3+VqBQQHF68OGtHSJOq83m1ui2wWwbTZvR5dK9/cPXoqueTB6PFGrv+LGCkVHUqKyVlTm8aq7k5SonM0CMemsI05FxcwLL7yAT3/609u+v+SSSwAAZ5xxBu644w689tprWLp0KTZs2IC2tjYccMABeOaZZ7DHHntUqsmOMyTSTIZxVXdLDWdpojJQmItgJ5C020fEuTuj2VUYaZKERlTNoyhBm8bdicrfGc3nIU0oK8ndITZnh0vBKXY0XyQU0tI28foM1aBhm1jt1xa90+XKzKvhyiF7PTHJ2ro7GtLifYICjseiuUV0deLCl0kPKHEVldm3PL6ozUGjQmHlYtQkAI8UXmfGqTVC4Sx7009TlwUYnFBcVze4dkcoFyLN+8bdPMdyKCsNSeHKYs9DXLJytRJXn8i6CSog7QotXit2KXooUVnr5Gg79HpRB9SKHPs9hQhzeOxszLapu8N/6e7Y/ZMs+vAR5+7EhbLihDE/mw9Pw0lNJQA7jlPISISz0tTaYCjL3nTtE3Sx20dE3UDHMmnzs6LETjHhyjixM5rdnVL2FosThboCaOvWXAhFHwx0iwgrdqy7Qwc2VHtH3R0N54RWEAH5BwwNS1JA0Ulle0IFBunuMG8mVGgwyqlS4kJZo+EBxcWM49QgxYaz0iSzxn2W2tX681AdkaFsH1ENk2w5KGUiLzVh3Lp31ZRDlSZROS5vR5fr87XsV66M0tfEFRokPHdAuOgew08Uo1pV2Lo7W7fmxU5/f06AffRR/nP4c72ebN4OqwwPDOT3AFNhomIpzt1pba3slgYuZhxnjJJ2RUrccvRiJ8QJEwY/wYUETxoRNdqfFCuNbxKaTDEJ3VHCUEM71t2h4FB3JrQiywoEfk/xwbYC+ZVU/FxdlaUOjz4sMFl569bBhfB4DevGpLbYIM8hk361/3hslc6ZcTHjOE6QYsJZaZNZ00yI3OXZok5DsQmyUfkio3WSLQe+SWg60iQqx+XtaCjLujuhPZw0mTcq/KO5O/X1YSHB99Tk3VCRQTo3DFsxwVcdKV01RpHD+wLzeCr98OBixnGckhlKOKtYJ4aTL/eHUezqrGJq7sS5O2NZ7ADFuTtRYqeUsGJI7FR6sowiaauNtPlNxCYps8igOkAhZ8eKUiYVc9NObQ8JuTu25o7m7gBhgcbaPWN2abbjOLVP0oQIxAudUsJZ/KxQsqOKnWIdhVpaDTQc+CahyRRTcycqpGXFQ0jsaO6OujlRK5IoILPZXKLyxInh5H62j8UMdSk6Q1rM3akkLmYcx6k4pYSzSlm9w8+yoSxbsKwYRyEpfDIaJ9hy4puEJpO2NlGcu6OogGTSMK8RCvyQu2PbYLeTYFts/k42G65RU05czDiOM+oZjnBWWjeGN/px4wqLk4VCAcVW8g1NtqN1gi0nSWI27Sahad2duLo7o1F8phn/SXk7Gqay7k5f3+AHgdCKLFuagbk2/KokLmYcx6kJ0oSzklbvqEBJ+izurAyES9HzvYpJVI7KG6n0RFFpKrlJaLWIzzSCMM7ZsY6mdXcYZgLC7k5ou4Ry4mLGcZwxQ9LKlKRwFidEfsVhcyTUnuf3ad2duNVAozlfpJykPbdxIa20e5cl1d0Zjecibc2duKXoVrTb0g2VxMWM4zjOfxjucFbSZ8UlhfKziskXiXJ2knIyxgLDtUloMbvexyUrjzZKqbmj37sz4ziOU0UMJZxVrOChIxOFVotNchQ8nJVM2kTctHWVam2T0CT3q5K4mHEcxxlmKhnOsgmauhdQMeGskOAZrSGUcpHWvUiTrJw2cTwuWdnJ42LGcRynzBQTzooTPMWEs2yysn7v4azhw9Y6svgmoSODixnHcZxRSJr6LGlXZyUJHpapt0nKRJOV04az4gTPaF0RVA58k9CRwcWM4zhOlVJKOCsuxyOKpGTlTKa42jsezorHNwktHhczjuM4NUopOR5xLkAcodo79v9bt6YPZ1XjiqBy4ZuEDsbFjOM4zhim2ByP0P+LSVZuaIgOZ2myctoVQR7OClPuTUInTarslgYuZhzHcZxIhmszSSD9UnQKHbuNBFBaOKvati8oB8O9Sag9T+XGxYzjOI4zJIpNVg5NkGndHbpIdgk6ULgzuroKSe+XlL8zVilmk9BK95OLGcdxHGfEKWa7gahwVjHJymnyhNKGs5JWBI3lcFaSu1O2dlS6AY7jOI4zXNsNpElW5lL0UDiL/7e1fNIkyca5PGM1nFUuXMw4juM4VUGa7QaGqyAdXaSocBZFjoezRgcuZhzHcZyaoBJLlqNCTKysXMx+TUnL0cdyOCsJFzOO4zjOmKHUJcv6/7RuTENDPlkZCO+b5eGs4cHFjOM4juP8h7TuTprNJJPEiSYrU+hYMRKq+RLHWN2g0sWM4ziO4xRBXV2+4nEUaffNSrO/EsVO3L5ZxeYDxeXvVGM4y8WM4ziO4wwz5d43i8nKoYRlu9orTTgraTn6aAtnuZhxHMdxnDJTyr5ZUeGstJWQtdhgaN8sW7wwyTFSkTNxYu6rUriYcRzHcZxRyFD2zdLds5NybRh6amwsDDGpy6N5QiHHKJNxMeM4juM4TpEM9/5KaVZSTZgQDmdFhdPKhYsZx3Ecx6lRitlfKWnfrDh3p64OaGoa3rYXg4sZx3EcxxnD0N0Zyr5Zld6fycWM4ziO4ziRpElWZsipUlThanLHcRzHcUYTlV6q7WLGcRzHcZyqxsWM4ziO4zhVjYsZx3Ecx3GqGhczjuM4juNUNS5mHMdxHMepalzMOI7jOI5T1biYcRzHcRynqnEx4ziO4zhOVeNixnEcx3GcqsbFjOM4juM4VY2LGcdxHMdxqhoXM47jOI7jVDUuZhzHcRzHqWoaKt2AkSb7n33JOzs7K9wSx3Ecx3HSwnmb83gcNS9murq6AACzZs2qcEscx3EcxymWrq4uTJ48OfY1mWwayVPFDAwM4L333sOkSZOQyWQq3ZwxQWdnJ2bNmoV3330Xra2tlW7OmML7vrJ4/1cW7//KMtz9n81m0dXVhRkzZqCuLj4rpuadmbq6OsycObPSzRiTtLa2+g2lQnjfVxbv/8ri/V9ZhrP/kxwZ4gnAjuM4juNUNS5mHMdxHMepalzMOMPO+PHjcfXVV2P8+PGVbsqYw/u+snj/Vxbv/8pSyf6v+QRgx3Ecx3FqG3dmHMdxHMepalzMOI7jOI5T1biYcRzHcRynqnEx4ziO4zhOVeNiximJn/zkJ9h77723FUc6+OCD8cc//nHQ67LZLI499lhkMhksX768/A2tUdL0/6pVq3D44YejubkZra2t+NSnPoWPPvqoQi2uHZL6/v3338dXvvIVTJs2Dc3NzfjEJz6BX//61xVscW1z3XXXIZPJYNGiRdt+tnnzZpx//vloa2tDS0sLTjnlFPz73/+uXCNrGNv/H3zwAS688ELMnz8fEydOxOzZs/HNb34THR0dI9oOFzNOScycORPXXXcd1qxZgxdeeAGHH344TjjhBLz66qsFr7vlllt8G4kRIKn/V61ahWOOOQZHHXUUnn/+eaxevRoXXHBBYklwJ5mkvl+4cCFef/11PPLII3jllVdw8skn47TTTsNLL71U4ZbXHqtXr8ZPf/pT7L333gU/v/jii/G73/0ODz74IJ5++mm89957OPnkkyvUytol1P/vvfce3nvvPdxwww1Yu3Yt7r77bjz22GM4++yzR7YxWccZJrbffvvsz3/+823fv/TSS9mdd945u27duiyA7MMPP1y5xo0BtP8PPPDA7He+850Kt2jsoH3f3Nycveeeewp+P2XKlOydd95ZiabVLF1dXdldd901u2LFiuyhhx6aveiii7LZbDb74YcfZseNG5d98MEHt732b3/7WxZAdtWqVRVqbe0R1f8hHnjggWxjY2O2r69vxNrjj2nOkOnv78eyZcuwadMmHHzwwQCAnp4efPGLX8Rtt92GadOmVbiFtY3t//Xr1+O5557DjjvuiAULFmCnnXbCoYceimeffbbSTa05QmN/wYIF+NWvfoUPPvgAAwMDWLZsGTZv3ozDDjusso2tMc4//3wcd9xxOPLIIwt+vmbNGvT19RX8fLfddsPs2bOxatWqcjezZonq/xAdHR1obW1FQ8PIbQdZ8xtNOiPHK6+8goMPPhibN29GS0sLHn74Yey+++4AcjbvggULcMIJJ1S4lbVLVP//5S9/AQBcc801uOGGG7DvvvvinnvuwRFHHIG1a9di1113rXDLq5+4sf/AAw/g9NNPR1tbGxoaGtDU1ISHH34Y7e3tFW517bBs2TK8+OKLWL169aDfvf/++2hsbMR2221X8POddtoJ77//fplaWNvE9b9lw4YN+N73vodzzjlnRNvkYsYpmfnz5+Pll19GR0cHHnroIZxxxhl4+umn8dZbb+Gpp57yHIERJqr/BwYGAADnnnsuzjrrLADAfvvthyeffBK/+MUvsHjx4ko2uyaI6vvdd98dV111FT788EM88cQT2GGHHbB8+XKcdtppeOaZZ7DXXntVuulVz7vvvouLLroIK1aswIQJEyrdnDFHMf3f2dmJ4447DrvvvjuuueaaEW2Xb2fgDBtHHnkk5s6di4kTJ+LWW28tSDbt7+9HXV0dDjnkEKxcubJyjaxh2P9XXHEFdtllF9x777348pe/vO33p59+OhoaGnD//fdXsJW1Cfv+8ssvR3t7O9auXYs99tij4Pft7e244447KtjK2mD58uU46aSTUF9fv+1n/f39yGQyqKurw+OPP44jjzwSGzduLHBnPvaxj2HRokW4+OKLK9Dq2iGp/3t7e1FfX4+uri4cffTRaGpqwqOPPjriwtOdGWfYGBgYQG9vL7773e/ia1/7WsHv9tprL9x88804/vjjK9S62of9P2fOHMyYMQOvv/56we/feOMNHHvssRVqXW3Dvu/p6QGAQavG6uvrtzlmztA44ogj8MorrxT87KyzzsJuu+2Gb3/725g1axbGjRuHJ598EqeccgoA4PXXX8c777yzLa/JKZ2k/q+vr0dnZyeOPvpojB8/Ho888khZHDQXM05JXHnllTj22GMxe/ZsdHV14Ze//CVWrlyJxx9/HNOmTQsm/c6ePRsf//jHK9Da2iOu/zOZDC677DJcffXV2GeffbDvvvti6dKleO211/DQQw9VuulVT1zf77bbbmhv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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pylab as plt\n", "\n", - "interprenet.plot(trained_model, X, 'LSTAT')\n", + "interprenet.plot(trained_model, X, 'Latitude')\n", "plt.show()" ] }, @@ -512,7 +438,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "AGE can increase or decrease the price of the house at unbounded rates." + "HouseAge can increase or decrease the price of the house at unbounded rates." ] }, { @@ -522,21 +448,19 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHHCAYAAABKudlQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOy9e5RleVXnueP9fmVmZWVlVRZQgApIs0CaRkfBUnsAbZEFOuDqoUGgXS5t1Mb2yeoeSrRBHAVt20G020fL2L3UYRyXiI9BZFCmFQQcHkpVgVCV9c5HvN9x549Tnzyfs+PcGzciIzIiss5e666IuHEfv/N77P39ffd3/05Pq9VqRWONNdZYY4011tgxtd7DbkBjjTXWWGONNdbY1VgDZhprrLHGGmussWNtDZhprLHGGmusscaOtTVgprHGGmusscYaO9bWgJnGGmusscYaa+xYWwNmGmusscYaa6yxY20NmGmsscYaa6yxxo61NWCmscYaa6yxxho71taAmcYaa6yxxhpr7FhbA2Yaa6yxxhprrLFjbQ2Yaayxxjrar/3ar0VPT0985CMfqf3/137t18aXf/mXX+NWXb29973vjZ6enjh79mxsbW0ddnMaa6yxq7AGzDTWWGOPSXv3u98dj3/84+P++++P97///YfdnMYaa+wqrAEzjTXW2GPOFhcX4/d+7/fiDW94Qzzzmc+Md7/73YfdpMYaa+wqrAEzjTXW2L7axsZGvPnNb44nPvGJMTQ0FI9//OPjx37sx2J1dbXyup6ennjTm9607f2Pf/zj49WvfvWVv9fX1+OOO+6IJz/5yTE8PBwnT56Mr/7qr44/+ZM/qbzv7/7u7+Jbv/Vb48SJEzE8PBzPfvaz4//6v/6v2ja+5z3vieXl5fi2b/u2eMUrXhH/x//xf8TKysq21y0vL8f3fu/3xqlTp2JiYiJe/OIXx/nz52vbfv78+XjNa14TN954YwwNDcXTnva0+M//+T9312mNNdbYVVkDZhprrLGubHZ2Nh555JFtj/X19crrXve618W/+3f/Lp71rGfF29/+9nj+858fb3nLW+IVr3jFnr73TW96U9xxxx1x++23xy/8wi/EG9/4xrj11lvjb/7mb6685lOf+lQ897nPjc985jPxIz/yI/EzP/MzMTY2Fi95yUviPe95z7bPfPe73x233357nDlzJl7xilfE/Px8/P7v//6217361a+O//Af/kN84zd+Y/zUT/1UjIyMxDd90zdte92DDz4Yz33uc+NP//RP41/9q38VP/dzPxdPetKT4rWvfW284x3v2NN1N9ZYY7uwVmONNdZYB/vVX/3VVkR0fDztaU9rtVqt1sc//vFWRLRe97rXVT7j3/ybf9OKiNb73//+K89FROt/+V/+l23f97jHPa71qle96srfz3jGM1rf9E3f1LGNX//1X996+tOf3lpZWbny3NbWVuurvuqrWk9+8pMrr33wwQdb/f39rV/+5V++8txXfdVXtb7lW76l8rqPfvSjrYhoff/3f3/l+Ve/+tXb2v7a1762ddNNN7UeeeSRymtf8YpXtKamplpLS0sd299YY41dnTXMTGONNdaV/cf/+B/jT/7kT7Y9/tE/+kdXXvPe9743IiLe8IY3VN77Az/wAxER8Qd/8Ae7/t7p6en41Kc+FXfeeWft/y9evBjvf//743/6n/6nmJ+fv8IYXbhwIV7wghfEnXfeGefPn7/y+v/6X/9r9Pb2xste9rIrz337t397/OEf/mFcunTpynPve9/7IiLiu7/7uyvf9/rXv77yd6vVit/93d+Nb/7mb45Wq1VhrV7wghfE7OxshUVqrLHG9t/6D7sBjTXW2PGw5zznOfHsZz972/MzMzPxyCOPRETEF77whejt7Y0nPelJldecOXMmpqen4wtf+MKuv/fHf/zH41u+5VviS77kS+LLv/zL44UvfGG88pWvvAKi7rrrrmi1WvFv/+2/jX/7b/9t7Wc89NBDcfPNN0dExG/+5m/Gc57znLhw4UJcuHAhIiKe+cxnxtraWvz2b/92fOd3fmflWp7whCdUPitf28MPPxyXL1+Od73rXfGud72r7fc31lhjB2cNmGmsscb23Xp6evb83s3Nzcrfz3ve8+Luu++O3/u934s//uM/jl/5lV+Jt7/97fHOd74zXve61105I+bf/Jt/Ey94wQtqPxMAcuedd8Zf//VfR0TEk5/85G2ve/e7330FzHRrfP///D//z/GqV72q9jVmrxprrLH9twbMNNZYY/tmj3vc42JrayvuvPPOeMpTnnLl+QcffDAuX74cj3vc4648NzMzE5cvX668f21tLe6///5tn3vixIn4ju/4jviO7/iOWFhYiOc973nxpje9KV73utfFbbfdFhERAwMD8Q3f8A0d2/fud787BgYG4r/8l/8SfX19lf996EMfip//+Z+PL37xi3HrrbdeuZbPf/7zFeBz1113Vd53ww03xMTERGxubu74/Y011tjBWKOZaayxxvbNvvEbvzEiYlsFz8/+7M9GRFQqgZ74xCfGBz/4wcrr3vWud21jZkgFYePj4/GkJz3pSqn36dOn42u/9mvjl37pl2qB0MMPP3zl93e/+93xNV/zNfHyl788vvVbv7Xy+MEf/MGIiPit3/qtiIgrLM8v/uIvVj7vP/yH/1D5u6+vL172spfF7/7u78YnP/nJjt/fWGONHYw1zExjjTW2b/aMZzwjXvWqV8W73vWuuHz5cjz/+c+Pv/qrv4pf//Vfj5e85CVx++23X3nt6173uviu7/queNnLXhb/9J/+0/jEJz4Rf/RHfxSnTp2qfOZTn/rU+Nqv/dr4iq/4ijhx4kR85CMfid/5nd+Jf/Wv/tWV1/zH//gf46u/+qvj6U9/evzLf/kv47bbbosHH3wwPvzhD8e9994bn/jEJ+K///f/HnfddVflfbabb745nvWsZ8W73/3u+OEf/uH4iq/4injZy14W73jHO+LChQvx3Oc+N/78z/88PvvZz0ZENZX21re+Nf7sz/4s/sk/+SfxL//lv4ynPvWpcfHixfibv/mb+NM//dO4ePHifnZzY401lu2Qq6kaa6yxI26UZv/1X/917f+f//znXynNbrVarfX19dYdd9zResITntAaGBhonTt3rvWjP/qjlbLpVqvV2tzcbP3wD/9w69SpU63R0dHWC17wgtZdd921rTT7J37iJ1rPec5zWtPT062RkZHWl33Zl7V+8id/srW2tlb5vLvvvrv1L/7Fv2idOXOmNTAw0Lr55ptb/+yf/bPW7/zO77RarVbr9a9/fSsiWnfffXfba33Tm97UiojWJz7xiVar1WotLi62vud7vqd14sSJ1vj4eOslL3lJ6+///u9bEdF661vfWnnvgw8+2Pqe7/me1rlz51oDAwOtM2fOtL7+67++9a53vWvnTm6sscauynparVbrcOFUY4011tjxsY9//OPxzGc+M37zN38z/vk//+eH3ZzGGmssGs1MY4011lhbW15e3vbcO97xjujt7Y3nPe95h9CixhprrM4azUxjjTXWWBt729veFh/96Efj9ttvj/7+/vjDP/zD+MM//MP4zu/8zjh37txhN6+xxhp71Jo0U2ONNdZYG/uTP/mTuOOOO+LTn/50LCwsxK233hqvfOUr441vfGP09zd7wcYaOyrWgJnGGmusscYaa+xYW6OZaayxxhprrLHGjrU1YKaxxhprrLHGGjvWdt0nfbe2tuK+++6LiYmJq7pfTGONNdZYY401du2s1WrF/Px8nD17Nnp7O3Mv1z2Yue+++5qqg8Yaa6yxxho7pnbPPffELbfc0vE11z2YmZiYiIiiMyYnJw+5NY011lhjjTXWWDc2NzcX586duxLHO9l1D2ZILU1OTjZgprHGGmusscaOmXUjEWkEwI011lhjjTXW2LG2Bsw01lhjjTXWWGPH2how01hjjTXWWGONHWtrwExjjTXWWGONNXasrQEzjTXWWGONNdbYsbYGzDTWWGONNdZYY8faGjDTWGONNdZYY40da2vATGONNdZYY401dqytATONNdZYY4011tixtgbMNNZYY4011lhjx9oaMNNYY4011lhjjR1ra8BMY4011lhjjTV2rK0BM4011lhba7UiNjcPuxWNNdZYY53tur9rdmONNdbeNjcjNjbKn/mxtVW8rrc3YnAwYmCg+rO32Q411lhjR8AaMNNYY9extQMpPFqt7j5naytiZaV42Pr66kFOT8/+X0tjjTXWWDtrwExjjR1j2w+w0tcX0d9fffi5np6I9fWItbXqTxid5eXiYevv3w5yBgYakNNYY40djDVgprHGjrDtB1jJQCWDlm4AxuBg8bBtbdWDHLfZ1tNTD3IATI011lhje7UGzDTW2CHaQTErfhwUUOjtjRgaKh75mupADuBnfb36+p6ekrkxizMwcDDtbqyxxq4/a8BMY40doB0Es5LBy1FjNfr6isfwcPX5jY0quOH3Vqv4ubYWsbhYvh6QY4AzOFhcc2ONNdaYrXELjTV2FXZQaaC+viJ4d5sGOg7GtY2MVJ/f2NgOcNbXqyDH1tOzHeCQrmqsscYem9Ys/8Ya62AHxawQfI8rWNnaKq6dn+hh9nIt9Es2wE1mc1qtiNXV4mHr7d0OcAYHiz5urLHGrm9rwExjj2nbb7BioHKcwMrmZvXMmfy7gQtnz2Sz9iWnh/Zide9ttbanq9bWyjNxOoGcLDxuQE5jjV0/1oCZxq5r20+wkoHKcQArnOBbB1IyWNmL9fYW1w/QaZcWqmNM9pIW8meNjlav0+kqMzmdQE5zEGBjjV0f1oCZxo617RdYqQMqxwGs5NN78++7uRUBwl2u27/39JTApbe3/D23pa6KqVuB79VoXwxybK1WfaoKkNPuIMC6djUgp7HGjq41YKaxI2nstDuxCd0yCu2AylEHK1tb9SDFf3djPT1VYJJ/8rjafuhG4Ju1L3VMTp325WpADmfkjI2VzwNy2h0EuLnZ3WnHDchprLGjYQ2YaeyaWyd9Bj/b6TLqbD8OhbvWBljrxKx0m/qpK9nOYOUwrU7gW6d96SYttF/aF4Mcm8/Ccbt2Ou24rl1Hcd411tj1ag2YaWzfLOszOolJuzEqZHLKY78Zhf22un7Iv3cL1nzt7UDLcbSD1r7sFeS0Owgwn3bM7x7TDHLa6YSO2nxtrLHrwRow01hXtlO1y24CdERnfQY/jyp9vxNQ6Van0ttbz6b498da4DtI7cvVCHw7gZwMvNbWqgzP0lL99V2tGLqxxhorrVlCj3Fr2JSqbW2116fwezd9YZ1KO6ByVMHaUbRutS8u1e5G+3K1At/e3uKk43za8eZmPcjpJIZuDgJsrLG9W7NUrmOzULadPmW/2JTjEKAtKs5AZbf9sRNQOa7pn+Nm7bQvgIbM5nSjfdkPgW9fXyGE3o0YutuDABuQ01hj261ZEsfQ9vvskHZsSv79qLIpETvrVHZTptzbuzNQOcp9sVtz1VTdY2urczXUUeyTnp7O2pfMmHTSvuynwLdbMfROBwG2uznnYzE12VhjEQ2YOXJ2UGxKu5TPUWdTsDoWJT/XjQHc2gGV6zEYdANWdrKdwOBx0YJ0K/Dl504gp054vNv5060Y2o9O6SozTH4ch3XeWGN7tSPmaq5fy+emtAMru2FTdhLQHrXdcjurY5au9jyVx5JOZT/ASq6Y8qO3t3Nqjnm7kxbkKN8vaS8CX/ojWx1j0gnkcG+rbJ3E0DA5dTfn5Lls7UDOURuLxhrbizVg5iqNe9V0qvLZ7bkpdWxKBivHJSi3O/htLwCuE5tyFM5TOSg7aLDSDRuFaLad1aVJdtKCHIdbCXQS+NZdb10VE2Pk05P57IgSzHjdU+nmh++i3u6eVxnk8OjEMFmXkx+NNXZcrAEze7S5uYjZ2d0dF389aFNsufKn7vdugUo7bcpxP0+lGzsKYOVqre7033ZakJ3KqY/DKbus1cHB6pxfXS1AzOpqARpWV8sqpnaG1sW6l3ZAwuXmdf1TNw4RVZCVBdHd6HLy47j4qMYeO9aAmaswA5mdqnyO8rkpdVZ3Qm0GK3s9+O2oi0f3264HsLIX66QFqRPh7lRptB/6lN2YReXtAHu7sWuXHuKGnPzOBoeNAcBiebnK0vT0lNdaV26+U/+0S6N5LDrpcrJlUfRRBZ2NPXasATN7tLGxgno+jumN7KTrwEq3QIXKn05g5SgG2v0y+rKuD693sLJXa3dmTDeVRtnqqoy6TY+0G7PdisrbgXX/3s6ywNfpuWyAi97e6v+ZG7l/uhFltytt5/PaHVLYLmUFc+THUdRINXb9WQNm9mhHGcTsl5P2CbXtwMr1vBNjt9xOoLybcu/HEljZq7VjD9CndDpl12b9ie/23dNTXQvdHn54kNVvdaXaEfUpofX1etDBAX20l+vq6ysB0F5E2e1SVh6PfGuHdgcVttPlNHO/sf2yBswcM6s7+G0vOhXrd9oxKtczUOnmnJ5u2am6u1I/VsCKq80GBw/mOgEmiHBhw0jH8ECD047ZgKmwPmVkpGQrjpKofKcqJoM65l82Xputv79eI2M9TqeTkfN4YFmX083NQ11K3m31V2ON1VkDZo6Y1ekr9nLfnxxUj4qTPmjLYK8dWOnWXFXSTu9zvfblXirRnFrYbdoH85i1Yxiz8X2Tk2UQp33oU5wS5YFmBAYnVxIdJevmPBqDnDrjtXxetnZ6nLoxze/vpMvJ6TTrcuruYeXvzamy63mT1djerQEz19DaaVX82C313Q6sXI+7mk4syl5L4OuE2n7uenWc+12JFlFNP+SbK+bKG+s89sos7gTYPXY73Y27040qj3r5uEFOnQbJ1wyTk43+IU3Fz97e9vqYbvVKuykld7XbbnQ5MG6NPXatGf59NJ83045d6cba5eZ5HDVnerW2E5vCo9vgWsem1KXQjhvgy2CY0uDMIBxWJdrmZgFiVlaKn5Qmw5Lk7806CipyOqXt/PxubDd34+7mRpXdpGMO2zppkAA2BnV16wGfloFhX197vdJuDkncjS7H99aqGxfGOKerruc0b2OlNWBmj7a8XDjs3VYA1e0o91NQeNTsWrEp14MouRvhdl31FMElYrtou5PtthLNu+X19WIN5PbaOGzOgQihKG3O4Hxzswi+OSAd1Em13d6NO9+osh3IOS5n5OSbYNZdL6mquvZvblbLxX2KcTeHJO4EADvpcupSVjB6daXkdbd4uJr7azV2NK0BM3u0tbWI+fntz/smhe12lteD5dsztPt9Lze7bAdWjnP6rJu0jqun/Fz+SZ90YvsI0gAKgtfwcLlTzrttt2llZe9szk7VP5QW58BpBqfurBnW1rU4xK1dyXJd+bhBTqe7cRvgHJRYeq/W7nphSDKTk/2YQY3/5rl2qTzYuAxy2hmgqO4u6e1SVs0tHh4b1oCZPdrwcMTU1HagctR2YXuxuoqpzBrs5fYMncDKce63TlqoDFQMTOqAS51IdWhoO6DzaziIbWur+rCtrhblueyoSbPxed5ld7J2aafdgvVu7mpdVxHT6RC3usC03zqKbm9UWXdGTqeDAI8qW9COIaljcdDcZPNzWZNTx+gZWBnkdPIRB3GLhzp2sNHlHF1rhmaPVufQjoPt54F57W7PcL2wKdhOQMWgpB2jAoiAmaCPYEksOK7Ti3Sqnsqsj9NA7IYtrGxng4NVBmd0tGzftUqB7lQR005DYUbJdq2O5O/mRpUGAO1ScxHbwc1RLFWuAw4GdGZxPOdgbpyWyr+3u5/Xblkcv2+3upx2TFKeT7ThepMHHEdrwMx1ZAYq7YSf3ZYl1x0WVieiPe7WTflxJ0bFqZ4M7IaGtldG1fVjJ2Grx9Q6lW5ZMgdYdpU+Vp/0ESAK29go7j8G4PJjt6XW+2Gddt7t2JxOOoqI7emfg2BGur1RZd1BgLkirI7JOUpBtB2gQ+NSdxNSrN25QH5+JxanGy2OrR3rlG/xYL1Up/nUDjRfD37yOFgDZo6R7cSo7BaodBJ+Xg8LcKd769QBkzoQE1FlTwiCIyPV59uBPgOaHHj8Paur9e3rxqzVajeunYKeA47TBnU6kKsJIAdh3bA5mdXpNv1zUPeBahdIqTSqK1VuVz1UxxQcBuBsZ8zFfDZOTlMB5vyaTsb/61gcszc8dpMC7VaX4xRoo8s5XGvAzBExB7U6sNKtmLZdWWunNMVxtZ2qf5w2a8eycJZG1oL4vluddCKdwII1AQTU3L6DOFNlL1YXcOrSBtwBulMawI/D1BjsxOZkpoBg2m365yCYkbpKo4hqEM1n5LSr4GnX3qNg7TRT7crGd2JuenpKINTTU77Pt3GAZaRabrf90Wk+ZRDarS6nDoQelTE6btbTanVbb3I8bW5uLqampmJ2djYmJycPpQ1158/kQNztKOw2TXFcrVP1Tx2zUsey4Nza6Xqy2LYTWKkLWO3GdLcpvU7jeRTHtA7gtLtWV5+YxTkqqZFsOf2zk9Yop3+utYYCkNMphZPbW5daO8oBtF3ZeLs5RwoVsMPvdevIaVRAzn72RU6BOmXVzvZD5+UjHDo9mNc+/ZqH/z6sCrzdxO8jPIWPhznotgMruzmgbLdpiuNo3Rzqls/0qBPWRtSflVIHUDr1ax2rwfesrxciwLr2dgNALeht187jNqY4Vp/L0q6Et52Q8mrSAAdp3aR/MjOyU/onC3n309qJW0kb5va203wcZZag27Jxfq9bzwAifsf6+8tUKkbacj90Yp1SoO2q9jrpcgw2/MjgZTfVphGlv+tkzGn6ZmjoaG1MjsBUPZ42O1s8up00V6tpOC7WTbWUKwbaCWsjtldLsWuqAyrtwEo7x2adSh2YupozVa437VE3VgcCvKPOuohOaYCcpjoK62Kn9E/WuTgg5TtW1505s9+ggXloq7tRpUFZu8Pu6picoww82wmOMyBhjGBvADntAE5mcK4GmBqgZSBCFeLqavkTP9XOGKc6fY59pismLTlgU+6jHfgbIF+X0vR1jI5uXx/X0hows0dzjrbT7rtTmuK4WT59tg6s1DEqORUUUdK+PAYGtutUcllwHXOFE8qnyG5sVBmV3NZurFP66Simf46atdtRO6DmA/PqxMZ1LM5RAYndMCM5/dNO41J35sx+gpxublRZJzzu5kTfoyRqbSc4rkvH1encMsje2iqubW2tOh45hQpT4c9qV1jQDXPf21tcA9eR30M6jddmsAJjw/8z0NmtsflbWyt/en709jZg5lja2FhZzXJUHOvV2k7pMvLUOeWTK38itu8G2H16UXWrE2EnD0BZXS3v++M2scA5AI5xyacy43Q7gc/rBYAeRasDAA7yWWxcF/yPmtg4Wx0zElGvnwDkdGJGMjuyn6BhN/etMpPT6eac+TyYw15LnU50zgAHf4XRD6urEQsLJUjxndYjSp9oVrZbrUve3GX/aaCSP2ungybr5tVedDnMaaeXvSk5TCAT0YCZPdtxqwqqO08li2qZ/O2EtaD8LKDNVKYZlW5TauS/fdAbNKurTHZzJ2dXAZFb9t2AcbxNueThW7vqljrhp+esz2I5DmLjdqChTshLcDys9M9+3rfKgOwogc98DhDtZ8O0vFxcHz6JMcll/2zk7Oc4rqC/v/wOUjHDwzvr9nZzDfupy6HtWetV18Y6/dxhWVPNdB1YBh6dAEs7VqVOUJsfOzEqO6XUcMoAFjuJThUjtAtnPThY3mNoZKRcaAYsEdVj/nO55E7fk8/uOAqOt7HCnLt3mqqdJzOwOUpi450sp3/MjrQzA3Rf87Vgj+vuW7VTpZvH5CDbmgs12lVAdoqGGcDwetiYvr7q/dVgifOmic1VXYrqWgHvTtqpdla3+TtokfixqWb64Ac/GD/90z8dH/3oR+P++++P97znPfGSl7yk8prPfOYz8cM//MPx53/+57GxsRFPfepT43d/93fj1ltvPZxGX2PbCaSwaNoBFWtE8nkqdYLancBKO0fDLmB+vmRUsohtJ9jM9wwPF4ubnwCW/djFRFw7Wraxg7G6U3Wz2Ji0QLtzWPr6tlesHDXAupv0jw85rGNG6tI/7Xbbe7V2DEGuBNtJj4NvMtBpt0mquzlr3d+72bJ3Svf4b6xu7hnE2b8sLpapLHya9VGuFjrIFF07rRcMeU6Huk/z3AKUjo9HTEzsf1u7tUNdvouLi/GMZzwjXvOa18RLX/rSbf+/++6746u/+qvjta99bdxxxx0xOTkZn/rUp2I4y9ePoeVbD7QDKxGdQQpgBkbF+pAsqN1Jp9LJsUG9+mGlfT69s53h7HhAubIzuRY75v2mZduBnOtFS3UcrJPYOLM4rJ2lpeOXporY3/QPTGdOK+zn3K2rBDPrZBDglHcuNa47/2Q3Y1PHOtex0Lsd725Kxw12MuM2P1/6lQxsKIzIlVQHNSfbVYh1swE8bM3MkUkz9fT0bGNmXvGKV8TAwED8l//yX/b8uYeRZsp3na77CWrPFUJ1AKcu5dPukcuVDVjqjElqUIJaneedE+5kPoeABzvokZGjVYWyW8vVHt3QsnVlkse5D64X202a6qhXU3VjdekfgEM7q9NN7EcQ3anCZ22t1Km4ze3MGxM2RiMj2xnlvYCUg7J2peO5yg//YlaNceFaD3tOOvW21yqpTnZs0kydbGtrK/7gD/4gfuiHfihe8IIXxMc+9rF4whOeED/6oz+6LRVlW11djVXxlnNzcwfSPgf6DEQc4DqlgAA0ZlQob/MuIqK+LNh/59Jk6FeozQxWvIB2I6plUdUBlqGh4+Xkd2PtqlNMy9oBW6uUjzGv0zU04uNrZ92kqXwmTrtqqpwOOKrj1+mO3nneklJoN3dzCsgBrO68qDpdyk7m9IqPYLBfo3Ixp5+4jjrd0FGpUNypdNwgh02lq6mIL3mjhLjY8/Kg/XGnWzxcazuyYOahhx6KhYWFeOtb3xo/8RM/ET/1Uz8V73vf++KlL31p/Nmf/Vk8//nPr33fW97ylrjjjjsOvH2LixGXLtUvXEALJcK5RNk3KIyo3qG63XkmdcdTr66WGhUmuxmDDKzamc+4sBjNJz3irI+CMzhKthMtm9mcTpR/PrvjqJS1PhZst2kqHjsd+ncUnHw76wRyPG8R7DN/s04FX9etMNQ+sVPaZ6dAnNeYzyui7fnO43W6oaOgldrNKcccS8Hz8/PV+1L5ukZHCy0L43zcWMXd2JFNM913331x8803x7d/+7fH//6//+9XXvfiF784xsbG4rd+67dqP6eOmTl37ty+p5nuuy/i/PntZcr+ibVLARGkenq2A5WcbzVAycLeOqsDURmkHIaK/rFujGHeDbej/O3kPG6NHZ6RDsksZ53V3WH8qADUbpkUIgT/r9OTYfZ/6D1I/VCafNDgoQ4AoFWps1zmfi2qdK7WcqpqebkAbn7O8cGs+vBwAXDGxo4+q3hdpJlOnToV/f398dSnPrXy/FOe8pT40Ic+1PZ9Q0NDMZS3Ggdg4+MRN9yw/Y7GOCnEaZwU7N14J9W9/86LzwCFCVh3zLaR+XE7D+d6N4+XLVeoQDG74mN+vngtZ7I43XeUHe/1Zu0Ere0O/aur2KmrWtmvHbP9TSc/s9sKH3xOZlP8nd6A8fmtVim2vnhxd9VKe7F2bGkuc9/pLJ/MNtmvHjYY7SZVtbJSMIfLy+XzKysRc3MRDz1UvIdrGxkpWZzR0aMNcNrZkXWBg4OD8Y//8T+Ov//7v688/9nPfjYe97jHHVKrSvPRzSxipw2yA6nTzkRUAQq7GiaSS6i9kHY6gK6x42ftKlQ4QtzHiLda209fdakxAOd6pZOPou106J8fToPYdjrV2IUFu9kEdbKDqvDJ1UpmIOsKCuqE1vutI6vTveUKxqwlPE4VjN2kqgA4CwvltQI0L1woXm9WDXAzPl5Wxx5VO1Qws7CwEHfdddeVvz//+c/Hxz/+8Thx4kTceuut8YM/+IPx8pe/PJ73vOfF7bffHu973/vi93//9+MDH/jA4TX6UVtbq2pm6kqlASj8ZDLk817a6WX240yVxo63MRfyEeJZ0F1Xalyne2qA77W1uhNSSVMZoPKYm9sudM3HK3STFs4+ph1YOaj5YFbD155vH2AGq915QJnF2c+0eDsA4CqdugrGOjAaUV/BeNjifjNVztRwDSsrBbhZWirPwWE+zs5WP2d4uBjPsbES6BwVXdihamY+8IEPxO23377t+Ve96lXxa7/2axER8Z//83+Ot7zlLXHvvffGl37pl8Ydd9wR3/It39L1dxxUafaDDxYPsyr8ZKHZcdQBlqOMchs7PkYgcFCs0+DguA1wjoojuh6N02G70aW0E4zXGSAVPcrYWPGToHkU0iC7tbozZzrpkJz6uda6D8BoBjmdNIz5ZPGjJD622ZcY4Cwvt9f1DQ0Vc/DUqYjTp/e3PbuJ30dGAHxQdlBgZmGhQK2dKpCOm0Np7Pox6wB41FW2uaIFgNOA7J1tp1RPt2XIWF2FT29vWYKcU9Z1VleOfJzBqtkaMzmd7jJt9uZai63zwXJOWbWzo6zLsQHgFhbKNBWCY+yWWyIe//j9/d7rQgB81G18vHg01thRNDRdFqlaf+NTm7mhHsYZKgY4R8mxHqTttsJnJ8tVhe3SPrtJJ7crF9+pHNlB/jgA1nY6pHy4nA+Yq7uTdx2LcxCMyH6eLM5xHXVA5zDWokXvN9xQPr++XgKcqalr3y5bA2Yaa+wxYll/g5M1wGEnmc9QsbD4OJaHH1SFz06alIMADXWVLJ3KkeuCZR2LcdgC1m6t7r5Cne6P1A7kZbHxQZ3BctC6nMMcu4GBiJmZ4nHY1oCZxhp7jJqdLDeIQ6BpgONzVSgPJxga4BxG/v8gKny6ZVKOElvVrhw5pzx2YjEOumz6oKxTJU9OU8GIXO1NLvejze1Oz20Hcro9WdxA5ziwcPthDZhprLHGrljdUf+kNbL+pl15+H6cNlp3z7J2lYPt3ufXmHVptbbfUiKnIKyBO87mo+6xTizGTmXT7q/jECTbnQl01MrGs9WxTxFVpmk3J4vXgZzjPrezXWeX01hjje231aU1fLAf+ptO5eE+3C8fh18HVjJIcamyQYpvHRJRf/I1Z6l02l0TFJxaizg+d9Leje3lLs+dUlVZk3PUU1X7XTaeU3UHOTfaMXDd3NV6p0MB/TiO87sBM4011tiuDSeOCJ5TXpeXy1JO7/YNRnI5bT4l26/F8rlNgJS6s5g63fvHRynUsTd1oKouHVMHcI4DU9HJdjo5d7epKvfNcaiqqmMlI9qXjW9ubhfP15WNX4sS7E7i43z7lJ3ExxG7OxQQNpR1d1jWgJnGGmuso9UF+bq/sVarZGAcCDirotUqHtzuo+4ePnUpKh8E10nT0i0zsFOA2cudtI9jEN/Jdjo6333kVJUZOt//yI/jwADUXX/dTS7z3DDLd1iC6510OXUgxyxPXvus2d7eUjfGupyeLh6HZQ2Yaayxx6jBRuwkoEVr0i7V498BKQYaU1OlaJbXOwiYYYESjyi1DmNjxc9rnb7Y6520r5cg3sna9Y2Duce4Xaqj7hDH49A37ZiQ3ZaNH5bgmvOLWKtet2w8VlbKOc01tDMYmQbMNNZYY/tmO1X48LvvhtwOpMCuRJS7MVf0WJPiCp+681XapXtyeTjf5xsU+vRigt9hsR7tduoZ4HTSK9QBnOOepoqoT9Vkwa1ZnMxwHfdTqndbNt6t4LrbVFUnPdpujiAwm+NTpS2mBxAhqD/s8uwGzDTW2DGx3VT4+LWdxLMR29M37Dr9vO8G3w1I2U1gzjvcdqcXZ1Dg3THB77AAQbsgnlMRXEud4NiCUqckjru1E9y6Ss59s9M4H7ebqO5GcA0AziDPqVmv097e7Wu9W+vmCIJu1hPz/LDHpAEzjTV2yFZXTtyuwqebVA8/fSw+zAm3K8ggpVuAci0c1n6dXnzYN9fc6eyTzOLUCUqv1zRVRD3DBUtnkFM3zrlK7rikp2xem17rKyvFta6ulr/XiXSxXHrNfbt8a506wLLfN+s8bGvATGONHaB1w6S0q6rJwAUmpQ5g5Duyk/LpFqQc9UCw19OLYQVy4DtMqzv7xILSLDZ+LKWpsljVFTceZx4LC8XrfOsDHofdH92I5i2cz0ZfTEyUqTrSO2ZgvWnh58ZGKc5l7VwvgvR21oCZxhrbg3XDpOTUTydGJaIKTmBSKPn1/7hvy36meo6btTu92Lv6bk8vPgqBr05Q2klr8lhJUxmkMM6M6U6HOB4US7db4Xw319gp5WOwUteWdlVVO92r67gdgLiTNWCmscZk3TgqGIBuUj0RVXCCg8KB7EaDci1TPfthOX1mwfBB2E7pKesyOgU+gM5hs1XttCa7SVPlexBdD2mqOmYrs3SuMDNLl0GsRbW7Fc5329ZOAOVqNx3tqqpyxWC39+rKQOe4+JqIBsw09hixbk6dxQF2SvXYmeWD3Ciz7CSqO86pHgyQQh92SpnVWT6P5SCPVt+vm2sehfQUtps0Vbt7EF1vaSpAH4c4+h5jKysFO7G6Wvz0Go8o11+ng+Gyec13WuuHtabr5kjE3u7VVVdZdRR9VQNmGjvWlgNrBis+GKqbVE/EdtoXVsXsCov8ekz1UOnkPsx/d2vuy/xZ+TwWl+QeVIpkP2+ueRTSU9hjNU3ViUHxg3nI3+1Ovo0oQQBnHKFHM2A5isG8G9vpXl3+6bWab2pZB3AOe640YKaxI2k5RZEdlA8r6ybVE7G9rJFdmIEHi/J6SfVkM/hrB1a6Ke+kL+sqJjr1U915LOT4887wWqVIrubmmkcxPYUdRJrqWlUOAah3EtB2az09xfiOjVU1KFnjluf+0lIx3gawh31s/37bTgcgZqBjPY5tYiLi5Mlr1+5sDZhp7Jpbp91Udq47pXowMyiAFAdZdhDXS6qnnZlVaQdWujHvRA1Y/PterN15LHUAp12KpA7g7De4zGXD10N6CqtLQexmDOruIt3tGOzXoW75ejqVIO+GId3crD/jqF1puNnE4+47srW7V1X20/w87HnegJnG9s0ytetgur5e7HAAKTulerDMpPicFGsvrrdUT51lVqUOrHQTBFwN1Q6sXEvH7IoVW9aAEFjqUgQHrcO52vSUA99RSk9hdWOQ01Q+96XuUDffp8frrhsdVZ3lNbzXQ912Y319BYDdCcRmZmIncfH1Yhze5zvRewN5mHYddndj+23tKnx8wFWnCp86B2anx40G7aR8ouv1luppZ5nyzmBlN6xKJ7By1AJpO+t0aqwf7XQ4BBjfxXg/72DcLj2Vy8OP+uF+7QzQS+AaGirmIAe5kXJbXt6ecvBneAzYkOT5WAdYjkJ/dDoCYKcTqvv6tp99cxSuqZ21E/bnn+3ssMFbA2Yew9aO8vVOJIOUTqmeiGqFTy4/NiV7Pad66sxln+3Aym5YlU5g5XrsP2w390Vql6bKJ6buJ8g5TtVTnTRp3RzqRpCfnCx1FJxS7RsZ5kPdIrafbHwUdvbdWt0RAHWl4Zub5b3FIg73AMfsf+p+drtZsl7OPzOzeq2tATPXodVV+FjQCH3fTjxbZ96lGYy4dM87rus11dPOsnPIYGW3rEo7ncr13o97sU43N3ROn0e7U3UNcswmXA3IOYz01H4f6hbRmUFpd6hbvsHi9XyqcS4NN5DuZoyv5r5Tebzrfnab3msHVI4Ds9uAmWNkdRU+dTntdifP1pkrfHCW3jXhTNuBlOOym7oaIzC2S/3shVVpB1auZ1alk9GPzsVfjbmSJ5ehulzfwH43IOdqAu1e01PMMc+f3t7twWw/DnXLf+/F2lXJ1AEcGOHjVC7uWwsYNLDB4x5JmA9w7Pa+UzBWncDKboDKTiDlqAKVbqwBM0fAWBQGITnV4wqfnVI9WA6U7AIMVNqVIT+WgupOotpunUUnVoXA81i0DL7rHHKex76nTO7Lq0lJGOTY2oGcbpicrAnZLZNjkMLmYnCw1KMsLXW+2WBmNHzkwFE81O1qy8Vhh/M179e15PR7p0c315pvHTA6WrSV81sWF8ufADvWRkT9EQUZdOTxrvt5vfufBswcsGXBLE4SZN4OpHQyOycmKwtmeLj8/bGW6qkz71rbMSvd7GTtLBpWpTSD8HZgpVumoK+vBPbtqpawXL10tYd2dQI5TlEZ7HTD5LCJ6OkpHnXpnk7rva+vSE9NTFR1KXxOriDie/LZN0d97ff17e7mm3VnEnUqF6+7M327x26YrboKLlduLi/Xf0dO0ZOiqgN19IXPeBkaKg/1Gx0t/P5j0f/YGjCzR8tBkonHJK6r8Nlph89uFCdIBUFO+TwWUz11ZgfVDqx0y6q0AyiPZVYlay2uFqjU7RbrqlfqAFLd37l6KYtK90NY2i5VAmPgih6Ozqf9dXMP5ib/dEDslO7J1+LUBZukVut4Vk9la3eqsQEO17mxUdxBuy61Th96k9fNd3fS/jHvsz5xZaX4CcPGna2tW4wox82bpOHhAphMT5cnDw8M1AvII4rPnp8vHoddGr6y0n3fHpQ1YGaPdu+9Effd1x2SZ8LagWUmpQ6kHHVnc9C2X8fqO2VRx648Fvt6J5Cymx1qDrp1peC76V/SCO2sXfVSJ2FpBjntHH3WQLQT0Oa+ceoE4TE/Car5Nhm9vSUTlVNV3d4naK/VU4dZWbOTtbtFSbs0D2Pp98F2Z8MPAxyGhwuGIwtv85gj4O3W50SUKaW8NmAezcIY+DJuOb00OVm0vU5cfBil4QDIhYXi95mZiKmp/fv83VoDZvZofX3FZPQ5DD4VMjvOx3Kqp84ys3U1otp2bEq7Kovr2TJb1e5nt1aX0uwGqNCGLEjn0C2CeP49p4/qTpbtVL3UTli6thYxN1fu2Le2qqCCebSbFEM+ZbqOUeGzXV2VH+2Oh48o/Up+tPMj+1E9dRDpqSyW7fTYzcF6EWWavW4z6LUAi8bfc3MRFy9W50MGle2sGyHtboBDFoC3q/rKAGdmpmhnnbh4c7NaGh5x9eX/W1vF5y0sVNN8APPDtAbM7NFuvLG4D8VjPdVTZ3VnquTfdyOq3Umr8lix/TwrImLvDpmgZE3AXoBonbU73TdvEjzu7pd8OimpCNK/7UBD/i7A0ujo9qMI9hKs2mlyIkpgkUGO+zXf6G834uNO1VM7VdbslJ7aT7Fs7i9vFNulfPC7eR24//z9g4PltfI884E+sX8ZGSnnAZqeg0jfZIbN7dktwJmYKD5rtwC2U2n48nKVhaHvsk7zMK2n1TpsPHWwNjc3F1NTUzE7OxuTk5OH3Zxjb+1uVLgXnYodVbud/2Ml/XNUzopoB5j20o52LA6iSX7333W3MAD88t0wS9Y1dHP7AvqFcmbT/dZXZGdOauKgqmfamRkbg51OzJpBUz4rp1N7nZ5aWSlvsJgPyzSjZc1Pt9YOlLQDKfu9LtpV+WRdC/elqvsMz4NrdeNNrB3AqWtnvn8U4N4A1tof1hZjAHCikg6WlfWGlokxuummiMc9bn+vdzfxu2FmGrtidYLaOgfSjbU7qdaO5LHCZu2U9tkNU3U1Z0UwvlRb1IGVbse3ExDtRieT5xq0eO4bUjTdBPPBwVIDYU1Etyyed6650nBzs331jIHOfjKFdQLYiPYVVjBitN3ntRg05keu9GEuDgxU2YB2AR4Gw49uqimz0Jtr8Pjvdl10WhO7GZvdHPiXgQOPgwA4u2FwDMoAfaxbxh4R/cJC8d6lpWLeAGYBOf39ZVXd+HgJdtDlMFcP0xow8xiyTrvt3Wgp2gXUvNt5LNhOu0ZSH91YBgh1P9v1q3eWGahcayCag1QGbrtpS29vAUqgzs2smLGx2JYgNDtbZSqy5iQDkL6++rtJtwtqdSkxf641c/sZ2MwOZFAIs8KDwNtpbZOyYpx9D6WRkSoYqDtA0ra5WQTGOu1Qng/XYl3s1bo58K/TjTcjts+DOv3X1RprgDXLzwxMqPjKLBsAx2k3PmN0tASq/M58Zm5QHj4y0lm0fy2sATPXidXt/vcSVDulKHba+V9PdpBC2nY/2wU8Myqdxrcbqxvf/Hsnh1vH5FzNbrpdv+TUVL5u5rJFxFlk245JiNh+yvXYWPEw0wKbURfUstjYOpesO9npDJR2/dzNo11fAwI5/dhjZtE1r3V6h5+bm2UbXeTg4IduCqEpJep1Y1138NtO6+KoMbh1B/4xF3x2mFm+/H6nqNrNg3a3pPFPV/E5BevNBAbD5/SqQS+pVEDK9HShCR0fr55CzDVim5uFkHp+vqi2mpnZ1+7elTVg5hjYfh9M1o6OfawIag9aSNtOK9LOcIadtCrd2NUA0XaAKTvS3eymd+oT2pJL8HNfdAMaOShubKyqzTG4MeCAweGcjkce2c7ijI4WzryupJs+zTe8zCwOwYYzqLwz9oFrGUTsxnLJd6dHnodZl+Nzczz+fjC+Pg+LQDg2Vl6vAyvXZo1KX1+RBjxOZ9/UWd1ccOC33gRdUu5Pb2j6+ravv3bjELH9TBzmLn8D0Pl8dDBsBIgfZucwgLlTaWNjxd+ukjPwPSxrwMwhm2nbdmBlr5U/dYHsODqL3dhREdJidcF5r6m9vbbFZ1q0Aym7CaDdsCk+eTUDlaWlepZlt9e/G0Yp9wdAY3W1oOI5Sh6mYXEx4vLl4vVOvbiyxYfyZd0J/RRRpn6yDqed+QwqdsrtNCjdMhd5p98pDUn1E88DcNEvsX58WjN3Kd/aKt5rlouzUUiDcfbN5mbZ94zxUT37plurA/+AOFeLUWHHGTFm2gAGAwPlGThU2OXKOgB2J2arp6esRlpaKoFLT0/x+ePjxU9igzU4gJW6VBrjNTraaGaue9vPypC6g9+yU7/egYqDRTtnfC2EtG6PD9OqS8F0y2R00qe0AyoOoOz668BKt23IgKGTc8zfD7uUgcpRLMF3qfLERMSpU9vPqVlcLOjzpaVSf+DKKoIUO2E+jwCcq3z4P+/xGSjuR1dc0c98L8yF+4hx2C+msVPqz34GFi8/SGHl2w3Q76RZRkbKfiRQOjXj0mGnZA6zBLgbMOh5n1M+HoeengIEwGQZzDC36lJx6FQA1J0qqdbXC0DOycjY4GABYGAxszG32omM2wEcgOxhWQNm9middjq7dSD5vj91YOWxAlSuVvMTUS8YzH260262HVDZS3s6AdB2gdrOD4BQRz13a50OeGsH3vx97ovdskrt5nc3eqH9tG7uz0O6ZXOzaNf0dBXk5DNrAHBzc9vTJiMjBVjyGSU7aWXqStNhdjKYb7VKcNPNqcH7wTRipC+ytQM5BPa6E5ojSpYBpsesTwZG+w1wutXHeQPaCag4nWawy3OMV7sxINWY05X4G/rw0qXteqz+/qJNVCO5z8bHy7Tpbq0TwCFtddgsWgNm9miXLxfVEjtZZgDqfj/sXONBW7vbEuwFGOy0a+wmMDqnvx/t6QRCvcPmux04fSKpneJu2ZROACX3SQbivhneblmlTicwdwscr9a6ASe5zJrrsyAyXy9rF4p/crIs+3YAhMnJB9+RQiGgEXQBN17/dSJndup9fWUbrQHCAAd8HoEeNog2X4s0AHMu79B3OgG5HTCGrbLQm5RNHcCxuBbmqhuQ0g6oZDFtTvHVnTzcCahkdrOdAYDcf52q6ubny8ol2jkwUIpyp6f3BjYygO60qdrtyc37bQ2Y2aMRIPYrj39cbSfNz27SHN3sGndyAix6f/9+tafblAtMhlMuppG7tTpgUve3LYvFM1jaTepnpz7Y7/SPrZv787hypN2jbqzpN1P5FuDCElgfgqF3cCXUxERxYJhp9+XlMk21vFwEm+XlMngjgCUdxX18zLA4rURwzgCROWVti82sBmme/LgWzNhOJyDXnZuzuVnOL2uwYCkcWCOK13rsAYIeW99aog6omD2B6TDTUpcG3S1Q2Wv/5aq6zc1iU33pUpn24ftJYfX1laCa+c6Y0yfeYF3Npuqwj99twMwebXy8vPfJ9Wp1qbS63HA35kC8V6AS0Rmk7Cb10q49dU4p08ntmIxuzdUH7diU3B8ZLNUxOrvVx7RLwbVrw9Vat/fnITDv9Lq6PuUn6Ryuyae1mg31jp/fc8qAeZ6DJ2ke3gNAMWiYmiqCCgHalUIO3pQ3c/Cf01S+Ge1OJx27OqmOAalL8zAX8q0RrtXJtnVsDof/0V/+CYC12J+UXGYW66rqYK0sfu0mFXxQQGU31mpVxbwRRfuYZ2NjxTVbZGy9l8Eb5jQlc8CblHYbqU6bqsOwBszs0Q57Uu+H7QRUug3Q+6WJqCtB30v6J4sk27XHwkm+Iy/63e5Ouln4ma1zO+pST7sZi4jOh4wdROqnG4Di3XI3r8HcZ6bwzaz4IDzG1jvFHPQ6gU+zV530EQYjPjGXeUZ7qEgZGYk4caKapgJ4UFFFMHal1eXL5edwrUNDJYuTT5ztdGowbSbI5Rsv0veAAMrd880JeW6vYKfbisNOTJvLnZ1+ctrHKUSz6IBFdCyMXT7B9yix6qurhaxhbq6qQervL4XAnORr6+kpAM7oaFW/xDqIKEFaLtNm3nq8j7I1YOY6tU5n0+wWGOwEVHZbGtquPd2yPJ3aQjDLwacOJOwl5bPb3Ukd25Cd99UcMrdXhmsn60YsmwNMHRDIjEvEdhalDuwBCPK15TY6MPpI/26up67f3SYOGUOj4evhtQRRzH0CuLBGa36++D9ggWPlR0cLfQNtjSjZCIIQqauIMu3gVBEMg+eJ25RBcV9fEehYg/SfK5PqxLpcOwGPYDk+XvZZJ7Bi/U+diJbX1m0OSMfNzJS+h/95TmQg47JjC7fpy6Wl6pzLwtpOB9xdreXx4YEWZm5uuz6IPgdgeFwz69rOX1CVVncLj4jt2qy6gw87Cc6vtTVg5hjafgKDnYBKt/RhnePaC7OwU/oH2t8OwLvt3bIY7dItO9HLDo75Xke7ZZIi6gN7XVsiqgeR7Zbe3Q2L4tez+23HXJBiMUiBJcjApa6yqo6t8jwCiNZZBipZN+I+Zi5RJl1n7Vitdlopqjl4LC2VQdNHyQMWMlAzq5IP7ZuaKr6H+YTYeGWlvJ+OT2U1I0nAgYFwKiGnVPO1wRpxFgqpMD9gpfA3GxvlOHs3j97HIId157nAXMnzqJ1f6ha8s0YJ1D7MkP/zHGMXsV1XRB/mSqp2a7BOi1IH3OwjmE+Li9vvlD4yUgDesbHO47cbcNHXV38LjwxwOE27Lk3JXCPNdVjWgJkjaJ3YlN2mf3YCKrvRqbRrS7vgka3TPX+8U8hAxaeR7kZk1s3upG7h591+O2fUrXUDUqzh8Hexo/dz7gOLE3mYEdjJceYyYFJtPi3X4KROQAoj4MDVaY75GtkhtwPfdWJNAwnocb6L9tTN672WJns+5hL1OrZjYqL839paSfFvbhbfYfYAoJaBgfuKueKD+2BiRkerlS5mPnxvJtIq9BmAxgHZp0B7rjHu/f0F+8JcWVwstRs81terjJPBK7dXGB8vBapjY/XVP/vJMtJ/ucLKIMaVaIyDGRz6NotnI7anPlmD3W4ofaDg2lrJCpEOm54uQMy1uvcR6cWcqqyrpvJayLd5uNbWgJlrbPuZ/ukm3bKT7QRUdgMg2rWl3SFrVPwQrLq1vZyZkq83sym+3t2mfTqlfOyQM/1OQMgUvNvKc/l362zapVWg2LPI1ePsgJMFs7kPMzjM9P3GRgE882f2t/EydWCL1I01L4C14eH241rHsNWNRV0/ue11a3Iv6zGX5APUs5iV/hkeLpmbjY2S0aGP6Ac0DABHyq8nJwuQYHC+tVU9aXZ5udDgELANgGGI6oKymRenfjjp1+wa15iP8vf71tcLEETZOqAMgEPq4qB1ie1YCc71QTjLcf5srLg2xoqxyTcwZWw4NRrmib5CF7WyUq306uurpu2OitXdl8qg77Db2oCZfbRMjdf9vhtdSDuQUkfL11kdo+D27BWoGKTY4fh7rE/p1jqBg53YJPd9p/sLdWu5CqIuMDo45lNYqXjKY99Ou+HfCeb+HtPwBBgcrW/wh6NdX68GKwOLnG7AadbR54wzu9icW3f/Or9ulsE7Wq4hH8/fSY9QB9zzz3bv9Xxstwa6sczcZKDi+bey0nldkX7r7y/bsLZW/A3IHxgodCH4C6fbFheL/6+sFJoKmBM+28wI//MBey4h9+0FIqoaEVf9cFqybzPQaUzyeDBPzeTgIxYWtgtXAQOcycMczZU2u7G9nJRMmfPoaOlbMoPjn5lxgzVbWSmF20NDJVDFADBjY4d7iu5urR3rdRjWgJk9Gsg9O8dubD/SPwcJVLLD9o4ex9vtjhWrAwIZqLQLSD5Ho64serfMzk4pn8xq5RL1ugP3fAPDDFKycLTu+wxUHGwIbh5brtUMyMRE9agA2gbgJMiZJue97NIp3eU7OwUN/kd6AjPI4Vp8A0G0HcvLJUAbGan+vlNgzPPCwDmPSzdGP2Zw7qoovqudIBbLjJlZJh5cE6mEurWeS6zRykRUWU1AJOuCvvLGIKIEsACUoaECIDDXYQpY1w7Ma2vl/OFBf5mJaMfARZQMyMmT1WvkPlgAnMXFajoDwXNECYIBBTzM5GTmux3r2cnqhPadGNd8Pk7dIYqIjfl8xn5ystBFTU7uHaQ1VlgDZvZoq6vVhYaZ7m4HWHZiVTrtHHarHWkHknLpqlMv3YKyiPpzHOpASic2pW7nvJdr3cvZKXWpLzM8vileJ7CS+7sdk5bZu7qzMdAp5H7js3ytZlS8W+Y7ndoi8NvpIuzDeC3P1R2wZjalkwMGtOfqEoM6rwVYJX+PA2gGLN0EJ7/fz/l3l6R2Ms8Vrx/+x+dRMt5unTPG+bn8ObAgXPfkZDFunPYKy7G5WWpnIkp2j/Hu69sOqCPK8TELknfYGVAtLJQnn+cD/nwzRMS/ne6ETVVO1lnghwA5XC/lyZkJMePoe2R5LTBPO/mrnVLU7cyCbY8nmikDHMbLmpTZ2eKRjxqoO/OlsfbW02od9rl9B2tzc3MxNTUVs7OzMUnt4z4YzExeMDtNvP0EKg6Y2WH7+/zYy5kpnYBKO0fVidL1791aHaPTDbOTAyCOxTn9OoBS17YMinIf8P3+LmtU6JedzEHGgk+PN9oS92mn/szpLZvZJVcntQvGDly+51AndiubK3386MS0GVAZuEVUQTpmrVI3Vtd/Bh6u2Gpn1ifV9Z/PcOE7vSZyWbtTRnn+8fmbm2WaEZaGeZ5ZFs9FB0sAjdOPZlwQn/J5TjW6hBf2xEGZ+eEHjF6dT8g/6Vc2F54vfi195ethnlqDcpCnH/u4gLoHGxjmAbo2GLw6q+vTo3YOzkHZbuJ3A2b20Txh9wuomN5t9327oVD57G7YlG6us50juhZnp+TUTwYp1nTUsSi5T7huM2g852ojgEoOvN0ANAMSawBwrHxXPkOl07wxULHmJv90qWsnB85rvPvN5eD5/Tn4EfBz2mendWBGzKxVnbNnXTgwuey4XV85fWqgspPolH42UMli5TxXMtj0w2PiucdPB/vMBHH9nq917UVgimYFMTBjYWE4aSpXpPlO4J1Yg5wW43tZH52E5gYXdZb7yf3FfCdlZS2O1z9WN1cAcXWl2NhujzTYq+X512ndA9ry2FxPIGc38btJM+3RyO9eDVCJqN9JZo1Kt5bPZaj7vVMgw1nXnduyFy1OXXvq2lVnOCMqCurOPejWgfB9dtIs+rzTdtDFKbsv2l27Rap20jnF6L72+La7DgMVB14HN5x9N46snQagTgtQZ3XnjRAczerQrnyw28BANdVUlwKi/6any+fzgW78Xtd3Frv6e+l/AxJfczvQxGe6Miufs+P1ambGgXdoqPoZeX3zPq7HLEO7McmpVfenf5ql4owa7hcFy0xaxMB4bq54nj7M4NssEfMwomw71+kzXDLAyamqOtBEm9BcZfN9sty/bHAoG3e6lWvzWBk4WW/mtb3TZi9iO4ObGbWssclpRo8vmwmnqHmP06iMMboi2CkYqYOuDjtsa8DMHm19vRTk2Ziw2SlmoJK1Cp0sV7a0AyqdFhgBpN09fXa7q+gGpNS1h2tHc5SrY6xR6TYlA22N86trQ52IOVP77a4/gyEcu51cLinGAfHd+TRNns8plcym8P2dAlpEVfDZ6edO1o5d9O/+TnQW3EcHNoBr5Tm3PWsr2jEpDvx5107g95zxuSqcYOuUn5klAxx+940FzWbV6WoyiBgcLIXMPT3V+eRAlYHKwEDncc3pxfx7N2PazliL1nRwZH7W5Cwu1qc03X9mBnIq0OJjrwvGhtSLr4/3O/1lYGzDh3Bd7uO+vkKXw3cxTzweuQKStFW+BrM4FlNbq9PNmAA0+H7SZ77NBG3MRrvyvPFBgNn6+6tn/Djldr1YA2b2aHa0EdUg1m73UGfdgJSdFofTHu1yz7sFTp1SPnW791arephWTvcQYBwMu+kbsxz5HIzMdPD9ru6oYwxsXJNPqs3XTr/4u7JoNgMhp7XqUj68HyeZ30ew5LsNznLayKkpP/w51th4d+rqnDoAmVNYvibaRnt87khPTzXt4HLWVqt03P5Mg4LR0fLO1RmIep47INMWf3+uvmGnS/CmTVlIikDTTBvPOVVCH9F/Gxvl/3faDXuOtQMq+7WbdsqyHeO6tVUwG5Qhez3PzRXgxqf/OqXkOWRwk+/lRJ/29lYBrVOrFooz//jstbXtzBDgET2K7ztU1+f4ksnJiFOnynRVrj6kPV5PeVPCXFpZKeeWdU5ZyL8Tu93fXwCN8fFq6s5tq/N9PT3l2gPQUJ2Itmhurlq0wrxGhD0+Xo7JcUxVNWBmj5Z3qdnaVdbshtJnAbW78eBObchWF6g7AScHERYFYCEzKpl16GSkH3K+NwsdcSJO+dSBtjow4V0ZAdIAgF15Ha2b+z47EgdNA4n8OXyP+zMzQT6TxCkKAq/v/mygWWd5jlh7AlNhDVZdAMk6DICed8edwDXt9C6bNIEBFLtPn1zr/sm7a4IiZ57kdAoaE49hPsQrAz5T95gPQyMIOIVnCj9Xn/DIGo927Mp+AZVOmxgDFawdQPXrnLI4cSLi9OmqNoy00cJC/U0r82uZu6zFkZGij/AtCIy9Pvv7q5siPgufV5fW9Tk4fBbXC2D2psWpPKe5+vrKuZnv2A27w8nABlB1Y43BqHB9nktuS/6ZNV5ZG0gRA/1iX8Q1kV7c3Cx1RZlppH2MEQAHAbdL4OseV8sUXq01YGaPxg3PdpNisZlNaSek3a2ot1PKx87TYjZ2qHUgxUFmN/1ikOIUkHcU+TyITn2R22Dg5eDqYM8Cy4s17+LsyOkP+r5OdJnz6/5stwHHwK4vBxQ+K6KqVTCYIXiy47Ngk+czG2NdCTs7CzF9PXamrv7IgBbQUVcF0t9fZXt8Bo+FwwYquS/MwBA8DJB7esqULv2Pw3VFFTvTduymgxqfm/vNQIrg4NQDpdERVdbBp8jSrly9s1sz6OgEVLLWJgMUfjdIpn+y6LjOb3ljYADP7/4+AM6lS+Upv/iX1dWi7y5erKYlI6obDH+HtTSMMycde9x88rQrlvr7q39HlGwKmzPa7vlJXxlY9feXa8p+y74alipXtcHUGTCtrpaHBRr4+2eneUObRka2M6DIGPL9nSKKdcKZVLTfB3Ayv/P3mDV1n6I3m5kpmK7DsgbM7NE4sMnGbs/sQX7sVtRrhqcdSHGJpr/HN4lrd2prN4aj8+7HzsLBPdPZAAQfMJiBjIOLnWam6XFyBg++5q2tMnWAozE4IVgRxJyyidhOi+fdRq7YyGwC18Dv9G8GOG5/1pOY6cH5Z3CQA5f1OeT1cZpTU9UgQbvoBzOEfKYZDD6bXWgGJJubVVqdcTLdzRyxBqi/v3gvIIPPMvPC3DEjZ5BGuwhSpLpId/nofzNFZtcYC9gn2pvF1O57fuYAcvnydp2F9RasH55jrliYan2S0wte1/m5PAZm8fJzGHMXMAJLUvf+iJLly9/vuWCWjfa3WiXDwnjil3xN7lfWgZkca1V8ZAFl12NjVTZ1bq6cN1wf425mBEaPvmmXCjdQ8qnIpM08RzLIYa7ZL3IX7Dq2Fd/tDQ3+136YsfFGyj/ZXLBuc/rNPshxxMwbNzXl3J9HHqn6OmLD8HDEk57UgJljaZxYmZ3KbqxuF1mn18jfweFVmU3xDmMnNsUgyZRnzmt7oeadIYGmjknJgtFM6+KUcn9gduzZSfiRd9vtjGCGo/bOkv+js4AhMFgD3BCEuC4o3rr0F9ftIO4dGMDGzpxrYadkwIJDzukgHKuZQjNkOH2e5zOoakETASOSd6hcq4N5nT6AvuGacbg+ndaMmdNRpuYzE5DHmBQQVD/tNoODEQzM4Pj2DXUsTkR92tTsHn3jPuF9+W7W7JINojwfMvCIqLIDnqv0j9eRTxE2s9GOSfG8z8A0V/DxHNfg+Zh/z/3k9k1OVoO6WVA2OzAErHXWEbodADZsi1lwnjP4GR8v54/9kVlZi3iHhkoQ7DnBOvf1+TrzbUAs1uc6Xb2UhbqZnfYayQJ51u3KStWPGOh1ygrYb8PE1FWHsl4nJsqxg+Vlvdm/c22HaQ2Y2aPhtOqsHc2dHXTeYfGZnvzelXcDmKx3yEHNp8QalZspwXmwc6hjlfIuMTuVvNPIolTvmHDaXD+LGofvQJGDoIOh2SIcgAEDn4VjNyDzbmltrWBDfMsGHLaZG9gPvmNiogpcoLJ9ryTfHdmAB0ecnSqONIsJI6qgk+9bXy932Bsb1XLbzKgYhDjIepx8/WYTvMPNjrOnp9x9X7pU3fUBLLjfDqktrxOD8LqgX/d/ghUAImtxHNAZj76+EuRBnWf2IlsdI2JWjDnEPMonLdexorAPPstlbGx7hQwak04srfuoDmyYxaMfMsuS16TTLTBYmRF2n9XNCwNWgyl/r/VdnJTLPZss5ndAZU57bjGerM2xsbJ6Z2Ji+80bDTK2tkoNkFM9eT0y1rzHlVRYTuHmm4CaOfbPPL99zfQvfUyf5FSS12hm5fL8Y03n6j+/hnmHn3PFaE9POW5nzrRfO9fCmkPz9mg4TQMULDs8JitBvI4+7gRSnA7IzEZ+1C2GOsag7v8ZsGxtbQcptMcO0wvBCJ++yM7U328aNqde8nWSLiGIO73A+9wO97V3e04RYXn3m3dzDpx8pwEOn+Hx9/Xy+U4T8X+fvkpQI6/NLhPQYocPq8JZPHVMVgYwvgaDDNgngKAreUip4LgJyhmoePy98x8YKO+5VJdSI6A7hUA7sE5pVq8NvpPrXl4uwOn8fNlfiLqdAjKzYXABi8W1ZyCfWUGCjdeM2T/GHnbHAIM+5bp8YB19mHUleZ46MOdNULsNUfYv2Xw9XrsGLk4ttvveuu80qM5BmL43sOF3M145pVwXhLkbt8EJIAcwyziY+XXKyawqmklXYkV0lhHU+WzHjYiq5sXXxOc7pmRAys922ienQK1F4m70Xk/Mz9y37a6rr6+swtpPOzaH5n3wgx+Mn/7pn46PfvSjcf/998d73vOeeMlLXnLl/69+9avj13/91yvvecELXhDve9/7rnFLt9vGRvVmYpmm64ZJYQKxo3Dw9mTrT6OU2RTakoVbndiU3AYvSJwJAjJTivn9/i5bHUiJqIKxrCOoO0fCfciOkt2IU2t2QhmeZy0O4IDFbTGt0yfs+uhvjt+nuoEFbsdMEHIu34JQ61lwOhzq5XTPI49E3Hff9oBp0GWdi8GWnyM4m32pG/OsA+FGkGaN6Dcc5fJyeV+Zubmq8+daR0fLawTYeIxx5t4QMJatVpXFMbhgXucj7TNI5fP6+wu6fHi41CJRbgwTZw1NTp95XNndM5ZexwaE7VhZxgKA5GoZ0teIQy9cKM948RxwKs+H8Tklkb8vb7rqtDRZW8Tr2wGU7Av8nQRNt6HTuuz08Hu3tkqQevlyOf9gcfBXXqcPP1yua48njNfAQDE/ADjj44XerLd3e2obRv7ixbIfmdMGoAbXTpE7FWq/5/ExyIf9MOOIL8596RR4noM+cdzfRUqd9tpn2DY3t1dS+bpy9eC1tkMFM4uLi/GMZzwjXvOa18RLX/rS2te88IUvjF/91V+98vfQYffYo/bIIxH33LP9eQcbn12SS/Hy5I2oT/lwynB20HlH5p24RXQR1V0gP6HCfWPFumvh/fm78/VyPTmP2+6MmMxeWKyWbzpJcPO1Yd4dWiRnZsE5aD94zpqQHBgz1c6OjADC+0hhWeDJ2HrnT67ah/Z5B+T0lNMVBoUOsr7vTZ5TgBOLLw06s24KoMC4EFgXFsrdofsNsDcwUDh+AoSrRniPv49ADvM3PFxlMhiHlZXyxoKe22YC+B4LS6H86S8Cs3UrEcX7GUuPvdkN5o53s3nTMjZWBkJeY1Dpvvemoh2Lkm1wsNq+un71zpo7YiNohnUzQDGrk78/p0yy3sbHBdQxAN0ClE7ajk7W21uejUJqA53b0lIxZy5dKm9QSTUVfQ5wpLIqopz/Pk+ov78EN9PTBVN64kR580/mHOPo6iTaaSaEvomo6nYyKOR9uewfzZf70MweD+a5DV8QUa4/a5DYKNo8562/c+Ue/bC2tv0mpdfaDhXMvOhFL4oXvehFHV8zNDQUZw47GVdjY2PFBM/3LTH93UmXQh64HXOTA53TE3kn7nSP9RkEQRZKDoZ2KN4RZE2Ed1kGKwAUBxfTk6aA2bk7OPsa69ieiKoAty4FQLChLzB2Z3bMdt51KTc7kfHxKhXsnbe1KwAArgs6HIbFuyjrERx8+A7nwwmQdn4+T8IAjNQT44gTRnhpUErAR/yHriYHRjMRGOzfxkaVXZmcLIWC0PewUThcSprn5sqUz6VL21MtnqsOsrBFTiF53DKbaQC5sVGCpqGhshKRNAHVTl5fADXmr4Ed/cdrMuhvtar6KqfyPAdsDvC9vWXgwpjrWRhr7Qjrye1z6sY3XSQweROSWT+b1/hOAKWT7uigjOsbGipKhB//+CqYh8W5fLkEMwsLpZ/wfasWF8u+w8/4/BqqBCcnS5AzMFBNiZHOZM3mtjqVat/q1G1E1UcxJ7whrutr1kvW49S91pu5Oj1i1uS47QY6nquHZYcKZrqxD3zgA3H69OmYmZmJr/u6r4uf+ImfiJMnTx52s2JmppjE3mnhYLLOIpvp2qyhsaN2OSpOCueaaUaDiryDyuyFd3IZoGSnmtmjzFpAged0G9df57jdZtqZdwDO0ecUCn1W168GUTgRX491KXm3Wpdm87hw3Dt/5xReZpsiqv2IgzRwAdj29VXTKQRYAqC1OfQb/Q2gMb0+P1+2nz62DiOfNWFxqh2WQecNN0Q84QklYEA0i9MmKMzPl30Bq+G5CBMSUU1TuULPYm3rp3JKEiDjHbXncT5Dx3S6mSk/CIJoazwHOC6AdgJyGAcDUtpRt7MFwJKqyiL1vJ6zf9jaKvrfYM9rw1VB9DXrdXGxClhJq3D6r0FOXZrnuFhPT9n3ExMRZ8+WYwurMjtbApzFxerduH1X9wsXyk1YxPa0HscBjI8X7M3MTMTJk+U6NWtoEAxowOe7SCOnYjc2Sv2Xry9rcQy+bJ4f9tedAFFE1X+zPjJ719dX9LHvp3at7UiDmRe+8IXx0pe+NJ7whCfE3XffHT/2Yz8WL3rRi+LDH/5w9DnCylZXV2NVfNmcz2/eR5ubKxZCNi+WDFT8P8CImQKX+a6vbwcVXkCjo9VA7BSPf2aRZyd6mMlOQMxnFLj82AG7zvgedBb5bBqoTS9mp1siqrRn3jWz2847RkSSTjNxbYwBQb7VKk/FdArLaTczY75u72AyOORvgzDv4DP4A4BxiBevM93N+83quW8Yc6flnG7hM5lXABpYFXbr/f3FZz/ySKEzmJ0td2arq8VnQedfuFAVnhPcM71fJ8zM5aw33VRNX1lkTD8yrj6QLs8vwDp9DrBld25AYPCaGc+6deex5R5DrAmzo8xh7q1D2rC/vzyvIwNpgzPPZ9rnuZ7Xfbu1F1FlbHxTUF/r1lZ51D2An0MIzWK1cbnHygAArNXR0QKko1daXi5ZQ5+x4nQSQAh2J6KcI1SeUZVGgD91KuLcuQLocE8mxPtmSM2y2lyhaS1S3esB+34YtOd0kFOrjlt1MQJ9X97Q9fRE3Hrr4YKZI1PN1NPTs00AnO1zn/tcPPGJT4w//dM/ja//+q+vfc2b3vSmuOOOO7Y9v9/VTPfdF3HvvVVQgtNyRYkDtINxZkvq0jgsuAwEzJ4QNB2wbIAA53fzYXo+r4ZdgwFSVsdn5qeO6QDt4zQNCurMrIqFeqaunUJgh5y1CezqM1MSUbapLmXnVJ6BSh2NTpD0yskBlL89DlkIbcGxRaAEQac+chqMMbBY1YJmj0fWOFhD5d0iqSeYIhwV8xDARcrHokgspwJpH68D0Dgfz3sQTPNAS2NAMjdXpgTqxjYDU/5nQbdTWIy7gQJrz2PG/IO1cHoQkOl2kv5hbflGgh5PxrROQAp9b1Yni47rHjuxKE5JE0idFmkXEWDjADmI2/eqfTkIyxujdj+7MVdCOhWVj1yw1g8Qjx/KPpwU9uRkwd6cPl0wOFNTxbjBEDEmS0vtx6PVqsobHDPq0oR1LI5fl/uo7uaXbJCyj11djXjc4yL+0T/a/Zh1smNTzbRbu+222+LUqVNx1113tQUzP/qjPxpveMMbrvw9NzcX586d2/e23HdfxKc/XQUudqIZnHjny47b97zBCTkNZHo5m3eC1kH4vjc+3yKLBttZBi0RVcaDnywEA5W68xYiqjQqlmn0LBh2ztZsFUE/My0OOlnYmIMerycoQBMzBu4jtztrcxgfxsP553z9TguaZclsDwDE7J0BC8HYJac+1t9zA4c0O1utUjJbQkoKUbLPpHHKC8BhQBdR/h+mLINx2Bd2qehUAPgEBs/nixcLZmhzswoezXjldBAVQB4v2uwKFsaDv7Mg3/S6GTG+j0Bl5sj6GB7T09sBlpkc1gvMzdpalbljPmVGcGOjBDV1Au5uzDt0xwfaR1AG6ABcYQEuXaquCUqbATjozfY7NZV1du1+dmvWN9b9rAOG3rQaDNJPzENSj/grtHQG82YmmTMnT5aPs2eLPkXHw4PviKhPudfJCJw6Nwhx2tu+ty59zsbb2QQ/Dpu5O1Zg5t57740LFy7ETTfd1PY1Q0ND16TiCcfO+Rk+5hqHnalk76QJcDn14bQUiJeFwiLyeTV12pE6s0PP6Rjv/pjIdl5UAFAp4M80Y2StS05v+cROgoZ1Rq668W7IouW+vno2xWwPgcr5Y2sheE3EdjBUxxoh7uV/Zo9ygHLwMSNlsGUdTwa1+RRR+pLfAQCmvDc2ipy/hdVmxnwUufUdPmHYrM7wcLFLpD3ud/ctc550J5V7sBwOwvT9pUvlkf+mvgFhBApYjbrxzWk9RJHsbJ3yMWhjvgGcDco4/t7pML6TMWXcDZqdHvLO2IEKTcr0dFk5xdowoON3axpIPXiH7pSX2Tc2GrkgoZ1ItM6stZiaqv6P9jigLi2VotelperrSYUb5LChqzP7w3Y/uwUqFrF3+rkXc5of81zLpfbocLzJdAk+lYKsQ4MbYsmpU+Xj9OmC0YmonqEEY+kDBr0GzRo7fWlGP6eB84ac93iTS3/29FSB8WHYoYKZhYWFuOuuu678/fnPfz4+/vGPx4kTJ+LEiRNxxx13xMte9rI4c+ZM3H333fFDP/RD8aQnPSle8IIXHGKrC3viE4tca9af2PnxyADFjAqT2rs9izH5zHa7LhyV6UwHSAR9XsBuo9tkVqW3t6RDaa/bRfrBgcXpjohqUMcxZ6bJjAPBPy9CvzZXUgHSzDoZaHC9qPn9P5gLP+cdsVX+1llksGLLOh6zGU692GF4F2WmIKIYk/n5KuDz7pkHDtRiT+YNc6G3twwq9CcAhbSOwSn/43qcfjEI5bu9y/M4AE7oS64f8MvfPsdlcLB4vYO914PXRZ2WpKenTAs4qPgcl6zj8Q6W9ebvsE6HvrLo12vRmxOYL9pIsHK6hrVpMGPA6vJfmBKMAJW1aVk34ef6d+n5eV/WRNSlRRhvdDheW8wjn7vk/t7JzEZ57Xijdq0Zgr6+7ffqw586lY+fR1TsjYXBzfJyAfwfeqgcW3wJwGJ6ugCc09OFj+ZhFodqLd9+IPczGw/mf0S1AMAbQp83xcbdGsjDrmg6VM3MBz7wgbj99tu3Pf+qV70q/rf/7X+Ll7zkJfGxj30sLl++HGfPno3/8X/8H+PNb35z3HjjjV1/x0GdAHzhQnnTLQdgHBGTlYXtKh/yqd5Fe8dnY/G6WsPH3pNi4LVOMTh3jGW9TUR152unTuCxkwAYeKdmStXflUWUfhD4aDdOrq7KiIBhIGSgY20JY0F7DEIMVnIKwL+bGapLSVlAyGLOWoe8s3GKanOzLN+em6vetRwRLcHWc8KAz+lMArDFzgZlzC/mDNUdMzOFMxwfr2o9LBQ18HOqDB1MZrnMUvE6P7gGM2+muA3G2Zm6AiiiFBnTd9D31q5Be2etUx7vvOM3Y2bwwnh7PJgLHlvGh/UDoMm6NuYFv/PgXBOCPW3O+gwLNQE51rzldLcBTf7bP3cLBLK/wb/BGCAGzwDMRhtJe1FZ5YMaDVaPq+GXzN7Mz29nTwE0nFtjkGiW2CAHLQ76m6mpMq1LKtNpsKxftK/OPp814KpA39bC+q79PmtmN/H7yAiAD8oOCsz87d9GfPKTVcYi0+I53x5RBS38386aCeO7spq2z+I2T2wzAgAGC0kNmuxcTRVaxJxp+uz0DUZw4hYU006QvlMUWfzo3XpEVYuSr9uptjotUE4XZd2B35PTBKbwvVCduvKJq/Sd8/ntdEvWdlgQ6xSDGQOPj3eftME3TMygyTtBfy47KGssvPOywJhdJPS170juPvT5N97lGRgbAPp76UPe7/nDPOW6DXw8Fj09VUbTjIs1ai6ftc6I4M8jp3uYZ9ZT0c/8j7ayrpxOqWNW8045X6eBM+32uTh8hkGO55WZnJzqZP2SIjSg4Tv5nXVaB1rsf3Yy+s5pUp+RkxluxtnnAo2NVdt2VM2sd7ufBtT4BLSP/O3CDPtU63R8GKCZazYDY2PFpuWGG4pKKs7FAXRYtM46zsx0RFUe4XQn67enp/iODgqQPdl1KwA+SsZR4zkgGN26tBbn6QdB0Tl9B10LA/3ZeTfI++2s7FRxSN7V2Qmahcj6noiqEzczghPKVLZBjvU3BiIrK2XbLZAl7WPBJw4+syoOqP4fD2s5zJTQxpz+wXnyPM6c/sGpoK9wwHA+PFc64IScxrOGyYGftqDFcvDPu24L9SKq5xAZXPX3V+9azM7ZbePz3DbmDW1kl2zqfHOzeg2el5jTiJRH+3VZe0SQd2rKcxPNAuejnDoVceONxTVOTZXMBqwGc64u8ALiWFMAI67RoNppYB51GhCnls0gGqxHVO92bQbGZkAYUQXWBHgYjf7+7SxOncaO5y9e3K7x8nrLOiBvRvImZCd9SjtGxbpAmN4sOPbpGnw3IIex3iuztFvLm8m6n3VMsX28NVhmDYkLk5NVf+gTw2kD8YHKR15HaslVq3NzEfffXx5mya0abrih0OBMTxc/mY9+PylSg60sN8DffOmX7j+Y2Y01YGaPNjlZTgBTbLnax5M3oko/Ly1VNScOpBZx+b2m5/2+rLK31sDAoy6N5M+2A7bjAKwY5FjAHFEGSoSBZlS8KL0YTJezwPksfrLonYpg11GXzmknxrRj9S7DoCOnfOwUXDFmFqAutZJ3LlQeOYVh4ItxrQan/lwHV5wY485re3tLR3/yZKntYGzcrx5z94OZAtgBjuw/fboMIpubpQbA6UdXKPnu3ZklNDBFl8JOfGSkmpri2ui7iBJsXr5cjh9ne0xPl4JmnLT7iwCRBazMsaxlMYDF6DfmgJkrv8asHf9bXCw3HHyP2SuDT+YA393fX1yz30OqxmmA8fGiL5m3y8vlZzLPvBPn/9ZT9fVV7+QNG9bTs/12GqyznC5vZ3V6E9oHyEEDQt8z37h+QGJmcuo2WJ2sDqhksMI8NFtdB1S4try+3V5vOLyJpE9ymtQAOTPNXsMAGnRLs7Mlu0qlYETVV/ogTQ6EpT/zmt3cLHU4zkhwZ+/DsibNtEe7eLEUaOUe5O+c+sEc6HOVBO/3boZJanbDgMC7Vt6TRZjeeVnMyEQ2ADNLRHtIQZk9wnkT7KGNrQmqo7hpH+122x3gIspAZpGsmQwclw9Ssx7G7Il31RlgWSvCCaC8zwxQZnmcRjETx/88B2iz5wt9mYELgdOpOgd12mZdxuZmOabW1xgomEWhv51CdN9ZdJzF4VyP+9+VM4AXnN7qagm8TU3z+oGBkmlx2tLpR/ragljEz2bnzHix2wXcnDhROGrGweyFdUp5rlrLMzi4XeDpdJPXLGuBsbSexoDZDGXE9lQsGwmn9gwQnbpgDjlVmo/C94bGgdA+hefwB5mpZaNAX+fUbNbkXG1qyIwZOhLf8DWPnbVI+Dn3K2skX3MGJxmweCPp9IvNcgO/3ixWBjtOJ2dRs9dMXZ+wRs0Ok86DseF/aPW4Cznz3n6aseVgzamp8mRjgK3Z2FarYEcPM83UgJk9mstMbaYXvVv3/z0BIuqFfTg/FktO+/BZTtVYsJWrGpzSyqJHnKMdl9Mqvvusr8tArk4L5MWaHV5O+XgHxaK3AzTtbF2PwYl3KKZ4ndrynWcdAB2IvEt2Wy0Cpl3WGPB/dsUZxLGryamHOqEqu2YAI7dS8J2BGXezZ3yPmRenzAxi+J6IkrYm+AKU+A6nuAx+trbK7/fR+D5ZmJLkPNe5Bq7VjNjWVhlwmSeY01n0s8GF9T30hwPD4GDhkKemCueMEJo0TZ5ndekpa5d4ZIBDkLV5x0//cr0G2D6KwWPN+AFI8vlIzH98BuuIsYa98V3dYThhvPI1mFE1i5rZSIBxBjb0vRneXC2zV9vaKvuLe4dZQGsgzjh6/pvFjShZSOaKWSqPIX1soFIHWDxn68BJ1p20M4MuM0X+2/4QfR7j53VnNtkgLVfXuq+8MYD5PHGiLBWnmsoM237YNQEzd911V9x9993xvOc9L0ZGRqLVakVPt9ziNbSDZGYeeWQ7M2PH19NTFXH5YUFhpmUdjAgaLIbsCJz+8U6CRWh6m4mf6VqYCFOGphXN6Hhnn3U8ZiOc2ycYZYBjR2HwkcWGEeVi9u6DapbZ2WpVlcGWd+t1uX871KwPsEPG4fLZ1ikZ2NF+Pts7Ymsk7JyyYzKIMLtBGwyuAKh2Zt6pEyBNCwNM7HwNhA2oLNwlWJlBo88YS4NXgwbOriGF6vHOQlau3X2Bc6UdfJdTMmYyuU5AsHeh9KHHuLe3cNIGOJOTJQtjR2/hKn0AS+g0z8BAmdoj0OaUicGbAQgAj4fTYmZ4uG4XDlDaTl85nVHHIkRU/YpF0qwTsyKuyLGOyMCszqx5MkvoUneDHdbbTmLavIE0W8G4LSxUmc687gz2raPy+U+uHrXOqp1myL+3C41uex1AsS6lTn/j5wws7aO9YcmbEzOz/smGxj6W9FX+Hvrly7884uu+rv4692oHKgC+cOFCvPzlL4/3v//90dPTE3feeWfcdttt8drXvjZmZmbiZ37mZ/bc8ONkOKksBHUAZqJnetbBPKJ8DurOlRoEC7MNvAe9wvx86UxcOQMFn3ObZgW8s4CONlBxSsUpFLM+OcXlQGSAksXGNpwj1LGdEDssFnhEFeQ5FTE4uH0HBnthJ5oBmFMIOFICtJ1ATovhGOqo7t7e6onFOBACcN2ODGAQUeoXnIIzeMjB0GyV+53rYE7ZDJJ9yBmVUvlGiMx9AJsBo7U7TmNw+injQ+ntzEw5XjkI1QV8p2UNgrKGhgDplKs/gzQFY3PhwnaQRp/5vKapqVKYjUbA696pBX6ajfB4Z8BiMMyc85wFWKCdaLXKdWIgODdXsMYGm7Sfz+D7DRJ5/+JiecIvPoF0A4/x8VKHVVdUYGBjv8R1wgJ488U42WearTWjWMdE5PS0A3NfXymqzeJV67hox+ZmtcKIdTM4WDwHmIGJzFo4p2rx0d0AlvzI6X7WlTeWZrMBTt6U1aWu3I9OUbnyzevOPoY1gxaHM7DYTB6m7RrM/Ot//a+jv78/vvjFL8ZTnvKUK8+//OUvjze84Q2PGTBz4ULEF79YrwUxvehA6mDpXLN34mgCWPCzs9t3Rc6PstsgLeDvxQHw3WgFMkPBwvTu3GyKP9MTe2urFPvmHHHWXvigKP8EeDnn7/abvmYn4EVL4PJP6wsMssxgWNyH04ooP98iXe/6ATB21HU7XrMMXA9BLaJk0vi9r6+q3cHRIdTECbVLU3mcrYvwWPIZBhp8t8FB3u22WtXPRFzp9I7Lqa03WloqHB9MwvBwwWri9Pv7ywBJegrRYZ7z7K4dNPmbgGRWiLUEUDEgMhtEasWaKXQ4OSVsIOxblPBa9603C+xeYX9OnSorr7hexJsEBq4xogT0EeW1TUwUVL/Tx8wf3r+2VgQcAApjDsCZmKjqH2gH4w4L6pO/mceuKJucLDcB9CUs1tJS8T/rk5w2NhCEhbCPyayHU+g8n9kgz3UzQvnvDNQNqq0lMiu2uFhWWNkvOAVo/Zz1a3WAxT7AG0sDF57rBFLs67qxvr6SOfb11wEc/ud147W0shJx223df/dB2K7BzB//8R/HH/3RH8Utt9xSef7JT35yfOELX9i3hh11MyLOYlqCKbsw6wuYxN5R+TwSVyMxkdpRt/7+8fFy15+1Ms4BZ3W/NRA4ERx6ZlDsoD2RASZ194Zyvp/PyFYXiEw5ww7knQhAx8HGwArHjPX2lkGF78RJsQtyH5gFIwhA3QP0LHDEeTmY8/2Aprm56omc9Dtg1EETqt9g2BUr9InL/k3fu59spqHdXzxwiA5KFy+WjIAdN/2Qq1gIJDhLQJ+ZRDMHzFGnpyYmSvEhgIH0KGwPdzf2SbQE0JyipQqHPu7rq64vB8qxsXLMHHABrjzP2HCdFts6YBI0AbNUmDitMz5eCCgJzswLn/RsbRvghvnCHARY0F/0hyv1eO6hh6osEpoISr0ZU7MaCwvFZz/0UDXlxfrKVU8EcsCtNUFOcxBImYeA/ew/zBrT36wVStUZA7MqOfVTF/hzapb55JQ8mxSnHTPDxLzDP9A2xpmNpddpHTjptI4PwnYLcJin6+vF9R2m7RrMLC4uxmiNyufixYtxLe6JdFTs9OnSGRoQQMWxy84VIQYtOFKMgB5RBSbkwJ0mMWAxUDGbAehgMnLLeosEMafCjMAt/s1nDXgBZ91IxPbcfs6JE8icN/euls9xKgNqO7ebPjNLQcC1fsg7ImtH/D3WltAW75TMXGxslIwJAdS6FTNnBHSnzWgDY4pwdmqqyrLYQXMybmbOMO9CMxNnhsd0vXUEufzcIlzrlrjOfHAfDxw4fb+6Wsxl9x8B7sEHSwBtJ+5Ay/zxGU2MO3PITB7rEDFwHk+CLmCQTQjG+LgfAQgWBzuV7PQv4+N+ZP0ZYM3PV6/F6YuJiaJKhHlM/wPofLfrhYXidQsL5Tygz06eLHxWRDVVACgk3ZZF2PgVzznGh7luoFOXFvFtVawfcxqF7+TEWlevRVTTd/w/6/BgO9fWqv1pnwkwsyTAPztpUpwC6+srDzJ0mtCbIQP/iBKIwzIyvhMT5Xj37zoiH7y1Azj5mIOJicNrY8QewMzXfM3XxG/8xm/Em9/85oiI6Onpia2trXjb295We2uC69UeeijizjvLhQFa906uThviVAlnYORg4BNm7UStAWCRm+a7fLl8nb/Xf7MwTfn6wc6IBY3lnHLWY2Sg4lSNxYh8lh88B7WfLYMUUhyYQY/Zo7r/8bwZrCySs64HQELwsFjau0iD2hys+MlYWyhLsODu14A4p5FoL9fN/DLA8dkazAuDFYAWf9f1s/ubz6zbnZtxY+5lnYt1Pt51Gphad+bcvMtKuQ7WjQMYbfTNXamqsLbGWiy+w/cPWlgoQRLMhHfRrEenvsyqAV7MTjIH5uaqYNC6tM3N8kaDZuRgD13BxXMWoBL8BgZKvQJCZ1cgZdbA7ejvL+bl2FjJwnE/pXyKNdfNmAJSGAPmNn3F+oEx85ogNcXtC8bHq/PEmxfWln2n16DBJXOd1Ca+yiyd9Yg8aKu/x+koNl0zM9v/lzez3izCwpuR8qZmbq66KeGcHOuTXDhwVKyvb/v5QIdtuwYzb3vb2+Lrv/7r4yMf+Uisra3FD/3QD8WnPvWpuHjxYvzFX/zFQbTxSNp990V86lNVhsOOgnJUH0Hu9FOdHiULhVkIOb8aUWUcTNUCQkwn53NpcvB12sjBBkMIOTpaUuXW2Pg6DHDMjEApc62Y+8OgwsCE1zmlRLsNiPx/79jsCOgfAqWdPg7PqSH6xFqVnp5S/2DHxs/cNzABprdx4Bwr7io36HULRmGMaB/BmLspO1jRBgvI6yzrCDze9Kl3275+ADbBzawZAT0Hfl6bU7TMFe+g2bmb1VpbKw/g89zhQYCnb2GGTp4s+4J2mmEyc0k7OZfjkUfKOU86FycOc+TUg1OI+cyi5eXiOmdny363GJx5QCoyC6rxH8wHp3MsXKdPmX8OpNZ60RcGGaRsZmZKwAW7hWbJzN2lS0UKks/IqRRYZa9fp07W1opN2MJCCW4GBkpAyTp0+htNE9fj+WV9oUEOa4c1Sjv4aeE7jAlgsV0KqJNZa+NHZiRJU1lUb4aTNmdxPizZUQM5h2l7Ks2enZ2NX/iFX4hPfOITsbCwEM961rPie77ne+KmwzzLuI0dVGn2pz5VPFy+yORjkeB06nrYKvbMchjYmMHgtV4kTl9ElIvbjAHfl5mQiNLpOXXlAOeUBPnqiGqg5vcMKghQfo2/k+/lObfND3+2AZyBT06PuXIlgzdTxwAtp8fsUBxsfDYHuzsHpZz/zmPoPvGcsch0Y6MMHBxuxdkZeaftNJnbS78QoKDDcYRmgHKaKdPrFtqaJWFcmHfWz3gcGAMHF9I+fIdBHkDMc4i573ntVO3GRtnfrgQkMHEmxokT1Xsc8Z1eT2hTfLy+NwOe33lOELidYuZIeAS5rqKyNs39ZwDPvKcvmbPWjDDvGHunpG1eI2ZiLeakvw1uEAqfOFGCOAA18/TSpfIa+VyuxffE8tlDXsNOA3t+w8BZO8e8Yx4wN83mZN+UNz4R1e/wZsQpKjNPPpNnryCiDuB4E4X2y4DRqVsDGJ+Enu/ddS1BDuPllP1+2YGdM7O+vh4vfOEL453vfGc8+clPvuqGXgs7KDDzhS8U1UwZHGTgYSAQsV0574Bn+pFJ751kncbBgdpaEztE7ya8a4uovt9aEwfZzL5ksGMnwC6MBdWuf/w/nidQRWxne7hmgqtpfgMfnH3uJ4NE2uggYP0RztxaFl5vCpq+QH9h0SGfbUeKroaHUxPeMbczzyWDZH5a4+GgyE+zK3ms6qo6nJr0Z9C/OQ3J99YJ4WEtrCdzxQ1zPqdb0I9Y12Ig6UBAcCV1BXvH+LHjh1WbmakyZNYrOBULwPE5MVlzYU2OU3OsM4tJc8WR3+s0pUuzWU/8z3PbGw0LcPnb6SAYY5ez0++wLrBJBjpOJzMWZjIGBkogA7h55JESyAHucirHRQqkqjLAt59xCtR6E6dE8YE5XRyxPchnX5GZqzozk+P7Y7XTsLUzvjsLo2GeuH5X2DHvIqqbGKfhyQzkAxFpnzMA/Gz3nFkvxzNLEVhnnM+0n3Zg58wMDAzE3/7t315V464Xo+SRgTXyr5vQ1htkVsYLyLskdAV1TI3TFxbL8ROnR8DJaY+IKmgxm5BzwjlNlpkS6zss1HPu3OkT/m+Hk/slCwotFLSTJQgQNHwiK+XorubKOg6cuvsxs0l2Gjk3zlisrxcCSp/Om51pJ6CSUy0EDIMs0/UwOBwYOD9fBsr5+apjthiRa7ceA8MRuvTW2h5/Bvodj6NFzQY6ZkwQtJ8+XVaV8Xray/U5ReX1xeeROnI6jrlFSooyWh/+xRwnKNHXPrWYe9NYn8Xnk/69dKn4XLMcBhfe+TMHARKkMSzoZfz4DjOugCRXriHIZO4QfNC7wKBkfZMBDswd1+rUmYEn84t+vXy5CngBsHzeyZOFcNlsw+xs8b5Ll6ol3+zqDYRzyse6HKd5YDEyQzY5WT1riD7NrMj6ern2s2U/ZK0Ycwqj7bBQaOCsIdzYqOruAFg2xhbf70ohNrcRVaG+T+yN2J4KY66zZpyiMmg0QGEeZ7P/cwxrtSKe8IT9BzO7sV2nmf71v/7XMTQ0FG9961sPqk37agfFzPzd30X8/d9XtQIOvkbdZhO8i8vBHTRsNsQgg4nnoEQgh1GwVsW70hycDVBcGRBRghKzJ1nfk9mAnP7IQc5OwUwT4IQ+9E6Q78IIYqbj3V91aS6ujXTDzEwheHS/OCga9NhxeDftnz5Pw7obm9MnACwYgcxiEARzKtFpC+/OMjNGwHIwymJKgm5m3+zQvXu2WJJAaO2BaW1AbAb3fL5Tc4gIHVzRtQAQnOohKDLHGGv6Nt/0kP9zPQTQhYVC53HhQhGQzOTwuYy90zZO5Tj1ZWDtAoC8u6cftraqom/OeqGtBD3GmlSUNWF8rtOICHr5vysmGfcM0H2gXhYWe3PjdjHnGRvWtvuQtcc1co8fnyPEfIbF8Q0RnaZyMB4ZKT4D0EKVlFk1jPllkJOF1TBSddqWOrN+LT8M4N0G5gkpNzYpXJPTSF4btM++0EUmbFS88UVUDyNmcOL2s27YuLHGmae2HAu8wfEG+eabC0Czn3agtzN4/etfH7/xG78RT37yk+MrvuIrYiwVl//sz/7s7lt8gHZQYOYv/zLiv//3qrDWoMX0mwGBmY+sIXFQcpDiM0xd16V5vOi908oCT4OejM75f05tcZYCC8MskpmIDFKsWfH7/X0GHgZuOdhGlH2AUyA45uvgGrzoeESUzo1d6dZWucvzPZyc0qozA05rgCK273SyE8RpmgY3G4c5QOfg6F0VLICBB87UoMs3ZjTwdt6bz3b1FWMCawMo4yyYnGLjwXdl5+/UoOlsALrH1BoJdqJOg/GT4GRGg8/1GUgOwDAjgBqXzpu69y6bPsgHuHlMCByZSQSUOHiQvkGAOzlZnlXTapV3PJ6drZ68yvqhfxkrQAmf0dNTbUdOH1kH1Ntbnmqb9Spcq9MqThP63j4G0WZC0TNxBIHbub5eXNvFi0WRxUMPFb+TPrQexqlz+os1bV2UjddbqAw491zxhsDp0bqNIN9hQLGwUAqb7TsQkbsyzdV4ZmLbpcTMVANSsyjaRQyAHvwbPtl+hP7MzLbH3Sl1M6LMGd6zn3agtzP45Cc/Gc961rMiIuKzn/1s5X9H8d5MB2UPPFBoZiK2MyrWVxhoGJwYhGCUgPI53jEDVPLJknnSOwA47WTHz2KwNgdwUpfa8XOZtjYDw+cbLBlQZIefGSQvCF9nXZolokpL2wkA3Nj94RypvGDHYtEgQkM7GcaSHDTtM1vG+913gAYzKzicrA8xIOWaGGfGjyBEH+AAHegt8MZ5cWrr1lbZTxyGZvEk7fF8YocfUU2RuA9oN3R3LilFh2PhLN8BU+KybOZUtkxnc32+7QU70SwGNdijvz0/EckODBR94/Qhc4g1AwDw+qI/zCA4CLiizDtrQBl9B2BZWop4+OHtcxLgdPZsBOeVrqyU83purhzPiOJzLlwo+966IdI1AwPVNe4+m5srgxdzByZkYqJ4PaDr1KlqGqi3t1wHFrPDNq2vl+mmiLLfmNeIjW+5pfQL6+slwHn44YLJAeQsLhafl1knn48D+8kasx8EbBlkoYMhLTMxUW5OmLMAB+ZRT081Vco6MAACdJImXlws16h9v1PO9pVZl5PTPbx+YKCcsxHl9VkLYx/A6wBmzh4wLjDj9vPu77pU3bW05q7Ze7Q//uOID32ompaIqE5GBr+OkQHgmG50CsWshD8TZ+zPscO1cJHfnQIhiDJRzRIYuBigOO2DASgyYMO8IA3GcPD5nAenA9yPdr7sBgESOBT0EC51dNrP9CiOzDvlzc3yfyxInKsPrsNBm+b1Z5ndsC7DuxqcDe0nwNk5uG89DnnseV+uamEc/JlmkPg9l3oyJ5yiYkyc4uAasyP13+xGYTCyUBKHyutwqBmkZKasbt46rZOFyYDpzFoZFGfWif4zk5dBt5mmjY0yeDrdw7oxm8DnMjcAZ/kUbfenWV6zG4B9roddOtVvpOdgQvl++idreQj6nofMa6eceMCoML6wpb6Pk1N+ZgjQMvkGoNYIeRNH28xWoUGZnY24556I++8vQM6FC8VzHF3AOqLtFpDjU9i4mHlyWsvaHd7P58Ikzc5W9XI9PWVaDebHrDFjRZ9kmYJTQ5mBt99k3vn0b/sQ+2vG0Jouvqu3txo/zJ7mzTLzyfGsp6fQwd16a+yrHSgzY7v33nsjIrbd2uCxYGNj5SnAObdrStWTL9PvZnCs+XDQYWfrHTS5dKNqsyQZdXuBmF6ue3jSYwAynGFmS1hkdhI5/WMGKqeRvOMgWHGjzMuXS6ACs+EdFY4qVyjxGBur9iff79QHIAhQtLxcvM6LfWOjpN1dYYPDI6AYLGQWyn1hsaXTdj6jBQfvwIITZxz4bpws/UqQyZUWDrA8EDRmlmpgoASHBCBufknfR1SBex5HGAPn9g1UXVVjJsVaIZd15/QFu2DaAUBw2i0HA+YAu9V8aKXTtKR3eQ9rjWoTA+SNjSKYQuObqXEQjCjH2wxRf3/BSESUoM6H/dE/nCDLHIA5hCk5ebIEJhElK5jv+WQmhj5cWyuZN9bS0FB5ffQtYBO/wXj6jBYHWVI/nGFz+nQ5pymJn58vGRsAgvVo/i78EoBqZqZgiPr7S4CBJspHG5hhZn4BxvLmESC4sFBen1lxa2F4kJ6jL2HH6G/mmP0Bxnyx7/FG0pq3vBFeXy/7mzltsXgn1sS6IVdTmVFmQ+HUpjc4EfufYtqt7RrMbG1txU/8xE/Ez/zMz8TCoytqYmIifuAHfiDe+MY3Rq9H5zq2G2+MePzjqw7ZEyynlUxt4wCNzq3XYBF5N+qgmnenBiuZJveu3tR4RHXh0nZ2n1mMlncADtgZKDhd4XJnp7UsIHQ5aJ2IztoOzDsp2m6GiFQKn2mxYgaCWUPkUy2d/uE7vLPPFDz9lKlcp6H43akMg8je3pLaZgdlXQ27IjNcZr6c1tzaKqvurEUx8GXOtatGiig+j2vktQQKH8zItWUQF1EFbU5t5nmD883sA/K8nNLM85u/vRvO5pRnXarWQMnr0KkA+pnrMu1ux768XN4w1vPGwYsgQT/R/omJApyw2fFp3ZmxW14unnOVGMDihhtKhnNrq3j/5ctluTnrwxsFPn9xscoqMsdZX55Ply+XAZx5isgYQGeWyXok/sdcGx4uAYf1XvaPi4vlhgKmZWqquMeV79PU31/M14ceKlJUFy6Uaar19WJ8fPNIWKsM0Ellej25TJwy9exvffsGDmdkjHJlHv7DTIw3k34vfoENL3/j57xZzpsq5jztso8F0DpdZwY6s4b012HarsHMG9/4xvhP/+k/xVvf+tb4H/6H/yEiIj70oQ/Fm970plhZWYmf/Mmf3PdGHkWbmYn40i8tfs/aBwcJl8xaeGhxqScHaYd2QsmIqrMzDZgXkHd8GXywSO2cnMbJzBGfb00Fr0FcyQKCSrYDsmDTtH9dCiS3hfYjgEXQygFklIqars2CXa4X4IHzY7fMbs8sVUTpeK0tcMUDdyRmF+WdOE7U42Hnhlmbw/vt4M1qRZS6C1e7WEzsdBDfZ8DmcTCjSBDkGi0qJIAYmGUWhdTG4mIVtPFdZu/M5Fj8zPf5tab46ypZcrURn2Uxqg8hM5hyJRNz3IwazzGmZgay5sppGPeTA4THxjong3HPBT6X/vN5O05T+QamMBysGeaU+8ipFxidzc0S3DCmZuD4HY0P5tQJ690pI6ev6at8Kw7als+QueWWEiA4Fe0NUb5dBRuknDIaHy8qGk+dKtfj4mJxX7AHH6yyQsvLxe/egDBO9D1jAah64IESnFnYC1vD83kz6P7jga/K8gNvHDE2TGZS7A+9/uiTzAhl/5PHhXnNJs0FHqwpWMXDsl1rZs6ePRvvfOc748UvfnHl+d/7vd+L7/7u747z58/vawOv1g5KM3PvvRH/8A/bRZ04xpz3jti+MwXZRpRO0UEnogRK/p1FABCx8/XO3Lt154b9foMVOzg+08Hbh4gRBHJumuvxbsDaBC9QAyJAIN9B8CFwZ8Guje8xcPNuJjNmtNGOx6CBHbAPuOPeRmbIfK4IQCbv8sm5U7nBce3sVF3m7ABq52azNsf9hAjW1WN+L3PIqR6DDRwUfzOGBEsAQS4XNngyWCLg0E7a5PmV+4YSZdJvTmswdxyg7HR9lhDvwZgvsCs+fReQ5jlmUOz1Z1rdO3eDDmuwsj7BO3rmqwGr14x3xU5d1s0P5h4sksXF1mIQkNGgkCbNQAxWiu9A3+JjAdhQce2eZx4H2kvf53Qb1t9f6mI478dABFDgn6Rc7TPYXCA8hnEykLJ/HBwsv4v1t7ZWAJMHHigrkiz2zWyJ009188G6HzRF09MlWAC0ux8NGNi4eF7RDmvY7Hf4DNaCN83MaeuCSE95jhkMZ52OvwsfQd/upx2oZubixYvxZV/2Zdue/7Iv+7K4ePHibj/u2No//EPExz9enSw4LJ+3kPOKFtfZUQJKIrZT2abD/TCj4nvxmAXgO63HsXYCZO0gZd1GTjeYaufh4OI2OE+Lg4RRuXixutPPAQgzWwMA8I7Oi9C7HNOwmelit26gZrGdA4lpcueW6Rs7bwcy6w0INFQYOY0FA+G5QwByKsY6EbMBzAUOFsN555OGAZ45BYnTzKygdTEGpGYhCCZOwThAu6LHqSYfd8/8ARRbUIrgM6KcO6RsaFtmIAks3hkzBohbOZSM62Hue6ef07iwHmtr5bXAINE/BEaLYfnOunmd9VIADQOX/BqnfwB8ZtsIboyHgzTX6ptJ8nBQBWBbswGgRIPGd5t5Ij1adwo2n8trYVdXV0sgRZ9y802zUaSM8JGsUc8xwMHp09X1vrZWzBnfZRwtFwbrRr+OjkacORNx7lw5nuhnFhaqt6hwyoX5Yu0VaxTm+pFHihPknUrld0Ba3gjSF5nZZ+w87wGouYQa/+gNizVEy8vbgQwb82yOQTCRk5P7D2Z2Y7sGM894xjPiF37hF+Lnf/7nK8//wi/8QjzjGc/Yt4YddVtaKvKvmAGL6XtPSqeGsqMxBeiHhVxMTgeWrEdwztSL2ceou5InmxdQRNlOUiYAFDtIvm9lpchFe8EZVGQjGFuwxs6L3532Mh2b9TV2+K7iMnviQGDwhCN1cGdhwyQRnGZmqiwAIMRMDdcGgKFNfKb7zHoZi3gZexyk76PDdZq+x/nzWVwPLBPj78oR+qRujAwKvRM08+VqEKcNAJ6mqF3RAqCk6sS3Cbh0aXte3zvasbHy0EOYPN8agSDOuFkzkE9V9lxm/mVhKiyHWRWPgava2NUDGugfn2fC3PG6RNvAeDLWnAZsxsZMGL4kbwrMBvHeVqv4Dp8ka9DPdSwsVHU/3EWcqhyDJs85xsrVMARBrpn0FOuOlC+bBPoUMIkfmpvbzhiSHgP88fBc9EGK586V4NDfc/lyMQ8vXSrZRvuXqamyzRMTRWm809OA68uXSxYH7RHz3L62jr31mPX0VIEw88fX5EM/mTeeB2Zf7NO94cAAcWjX3Cbmojc0jPXGRnXT1GoVfXPbbXFotmsw87a3vS2+6Zu+Kf70T/80vvIrvzIiIj784Q/HPffcE+9973v3vYFH1XCOdrzZ8RNUjGIJAnauBHPv6COquywDBi98O0RX+3i3hFlEZs1CduxcB99Luacdt3ds7foH1O7DwPwTMOcFaS1RROkUsxMySOC9tNvpMl+Pc/8EMAdm73DpfztvgIFz2ghTGR8oeQMIAy9fn7UbTh/Rf87Rm+XBGdIXPuk3U8ueAwRBtBYEH78up+UYIzMdFjpnXRX9xfgwn81isJs8caIEDoA963Q4l2R+vvrZpsgBIYwfaaTZ2bKvI6p95wcBg9SFtVoDA+WJtQTF3t5yTlqnAeixmHZurtpm5qSBez6Hxq/t7a2ydRZXOzXE+83qMM8zg2XgbEAOgOcMpqxlI4XJe9AvoXmCvWKdEDRhEy5eLIMjPpExiSjBCn7RKU4f8sjr19fLO5rTRlePWiPk82typdX0dNlXfH9ENVXHY2Gh0NbgV7xWOF0cYMbZP6S7mCe+FsabeUz7GRMDfOaLWWl+t1Devpt5OTdXAltiEOOPX8jVTgbLts3NsqQeZsvSgsO0PZ0zc/78+fjFX/zF+Lu/+7uIiHjKU54S3/3d3x1nz57d9wZerR2UZua///eIj31su/N3JUaepAYTzncSUFhArixxOXYWt2YGxY7NgSjnQb2jJ+harNiOteH9OCoCAYI9gAoHReE82e1wTfl7LJjOlUYR9XoiHErEdobBuV7vcLyQzaRZ/GknHlHurgheubwTcBdRtolr9aFhiCrNqNB+OwO+33oI/ucdFu3les1a+Xt8PTA/mW2iZLZdubgdr2lvAIXZM9gSt9ssJX1E/1oX5fQOn+GyYoNYpzudGvSu1kE7YjvbZL2Agb13wYg3rcUxc0oFDu0k/bC0VJ4C67J2rwGAhlkuxM75ZFprerxZoULKqTXW4fBwOc+dQswpNKcueb3ZTd/7h3UdUZ1PzDXSkAAR+zLSLwYkfC5rlrEjGDNOvAfzHGHs7eOyzgMtEP0H2zw0VFSL3XBDAa491j7zaH6+ePhMK2vBzFzid3KaFWDhk6bNHDsFxNxlbeXUIilJUnD5dwCbN9XeLFofl7Uw2Z/Cwph1wgyojt3tDI6bHRSYueee4gRgAmNeSAYr5IcBJD5HxL/XpUOyCIsdDd9jGtlByKAgl9LVjThBgUlNkGMHgFCTQ6tMcTvFYrbEjJKv2+LKiHqHgHkXAyizJiOnOmgbgYLPpy/rwEqrVdUJ2eG77wBcVC/4/AVfMxS5naoFexaMm2LG+fOd1kgQMEkRcD04PM8NB2MzKGZPPG+zKNCMGoGFwOaATBuyKJGdIn1PpZPTNTjSvKszI5jHjjEDLOY1wxypEwijv3GqxxsJxoGdPCxMBnJZn+U5klk8Mxb5vJy6teA1mNNqp04Vj5Mni/8RYDhDhd0/fWcdhRlEUkWAXW8uuF6Xf8P4eW5aQwQozxU+BEan1VlvLq+mX2EGaL9ZLNLOgPyI7Zoc2pgBAb6Q85EyO1VXBk2f4e+seyHF4hS++8qFHdYTWhPjYgOOOJibqx4Wyby0TzErNjBQ+kaunX7xJtO3o8i+gL52+zOby3XmNUD6ixjU21uUw9900/bYcjV2oGDmV3/1V2N8fDy+7du+rfL8b//2b8fS0lK86lWv2n2LD9AOCsw89FBBOXon6dI4Tt/06bt1jEcGKt5RGFF7p2pGwJ/dbiRxvmYqcGyUuNphZOEhDwtf8w6v7pwSMyoWjUZUA4X/58XowGymq53QFwdiR+HdlVNTmYkyGGHMGD+n7pzbzmk72sHix3k6iLlf6EeXr+fg4vSAmRAcKyDAomUcJv+v07yY1WNeWfvgVIudIsDMThhxJWcF5R0/IMn0PN9L4CWI51SSd4wWMrIuuCYHYVcYOpB6flnDYmqf4OdSdOYVAIhgy7XxuU5F0ZeZ/UGvwDxxJQ59aRbKQMfM0fh4AXJmZqonOAO4+QzPV/qATQppLphUi87tU5xuNngH3DKfeQ1g3hsOV5xlH2jNDkDEOivYAsbJbSftx/sAMz5o0/7I1ZSwUHyu0yo8Bwj0vdymp0u9DvMzopw7ZuYswHc7rReE3SBNtLlZZYEMmBgXp/tJmTPGjhGkepn3FglbX5QLFeyPSHdzDzaqDm09PcX/9/uu2QcKZr7kS74kfumXfiluv/32yvN//ud/Ht/5nd8Zf//3f7/7Fh+gHRSY+Yu/KNJMOEzrKyKqQcQ7cxwSTj0zGfxtkWf+bMwaGyviTTPz06V/DuB5h5FpSBao2+kqp6xViaimelhAPmfBgl8ciwW/1lE41WHASPDMjIrBXdZx4Ei9O8wAwwyBNU/e1TmtY9BjZoq2mrXyrjNi+5yw0NopKAs+eR4wSODAERHMvMMyjexcv8eBQBNRTfvk1JrTI94Zs2NlTBgz6y+4bsAYQcIHm9H3Edt3xPS5NTrMO8Ydh88YExQ4HI2+od8YY/oiH21AfzvIMfeZy9Yx0S91WoZM33MN7luneGgvKQ0Cm/UPBv4WzptBZSxdqu35Z9DKWOA3PCdYix7Lzc1qlZC/w2PF37ka0TfTJDCzdvhMAxzE094YApyoHPPmi/dZtOtNgn2zx9xr33PAjAv9VXe7DrMv6JFIN+aqOfcrY+a5w2uoooLFYZ2aAXeq0KytfT7aI9qOb6ZvzOxMTxcABkbPcQkDzJ86VWqQ9ssOtDT7i1/8YjyhJjH2uMc9Lr7InRcfI8ZulgBsBiSiuoiZSN691rEpOT1BVQiBDqEik9C7AwJcTu1culSlEjOrQtDJ+Vs73swU2AkauOBUcjWWdwKu1DEVTzUAYkOfTJtFkNaOmIr1zroO2BBwrKkw9ezUgXP9/m6Pp8fPAMKsiEskGVsDOZwozhYnxDUyj5zawsGj2TC1TVDjcwCCEeVYsoPk2sw6OXDTZ6bvfX0OCIODhe6A72cHWHdopDVVgJGtrfJgM+7CzTpzKs9ge2WlBCr8z0ybd6cbG2V76IPslFlrWTTK/HUK2cxovuWADXBPH7nKxkJeHwLotItTVdZhwYhxuJsFwfgOfk5MFLtmdtStVpXB4XMZX8aHNQvw5DMZ883NYsy4Rj4bETZnvhjoc0QB/WfmgHXCnGNtbG5Wb21grY2ZHQNhrjmDJt5nwSzz336FzY91aVzf1lYJ4h58sGR4zMTlIyQ4T4m1RIm476XFKeUGuLSVuXPuXNkOgJJBpBlx/uYzfIAf8eihh8qqJZhdzvuZm6sHbhMTVb+3sFBc636Dmd3YrsHM6dOn42//9m/j8Y9/fOX5T3ziE3Hy5Mn9ateRt97e0tl6ctaJ9Hi9d7Oc12DH4woHMy0saOc4cfCUt/ocDGst7NxN/XvCE8idp/ZOxQvJO8EssOMzCHIc5DY7W00B4JTMVph6tqg2ovoaL3SckDVGZlhwyKbQOWvFzJPbwXjivDID5RSTgwdOzDseA7xcJkyQMjNGiWOdtmdgoHAgN9xQnlPj3aud2dpaAQzNkHgO2mFb68H3GfwBqgxGne7i8wwE+J3nT50qnSPCxOXl6p2PFxZK4P3ggyXjtbVVFfKa5ciVexHl/yOK72cs3KeY2UnrgejXublqoLJmy0yjNRFOF/NdZiitt4ko+8opvI2NEmj6NdD8BG+DbMCpAcriYtFeKmJI9zAnR0eLsQHQMx+sBWO9Xrq0PRVsbU8W9tJ+1sTISFkRhAh2aalev5JTqoxlq1UyUPhbACnv8frr6yvH8/Llcn7Yf5nR5HtY76w9jI3C4GDxesYrp+Lm50vQZl9kfZ8r8QDwrEvPQ6f2mev4MNYkwmX3P2DSRzHwGRYh0zZE51SSrawUdyjf2NienuK7mDekofY7xbRb2zWY+fZv//b43u/93piYmIjnPe95EVGkmL7v+74vXvGKV+x7A4+qzc8Xd2k1CGDCsgtg4VjxjfNzRQk7DyavaUiXBrqyxKLUTFMbCJgxykyAKzJMjxpI8Zxp9Iiqhgbn5zy1GQScrcEWC71OY5Pz5RHV/DC7MZ7PaTPAipkm2AfrOdxf7resUfFu2mk7g5qI0rlFVPU8gKgMUKyFcPrRqTyDzrm5Iqg4946Td4DPTAb9ZMfv3R6OnznstJMFllkD48ooQMzgYJV5pD0XLpR9wTVZG+Y1QAA1WDFAMWsJQPLOGxDDMfiwAhxT7+o0g0qzBzxvoG1QwxpGU0EfWptgQE1KOVfAGPTwHXw21wAgcP8zb3g/zIXXIqDMZe4PP1zOccTOrvaDMYJFIMD6PKBLl8rNE2vNuhOnTL1RIr0xOVmso4jqJmd+vvwss7wuX8f3oJ1hU2jNnwEqG5aIMtj70EDWhzc+ZkXtS+l35hh6Lx/MyFhbq8X6gwFj7nN9PtWY6iqYEKeqfD87YoPZSfyZ0z74JCrrOKzUjLG1RxwnAAB1RR3/p9QbVhaQ09Oz/3fN3o3tWjOztrYWr3zlK+O3f/u3o//R2bG1tRX/4l/8i3jnO98Zg3DlR8QOSjPz//1/xQnArqRhEQNo2IlBQ3un46BvNoWFYiTN86QKTGVbb2HwweKy+p3fXabs3QWGI/dZKWhUAFkWozHRaas1Ir4OPpufXJM/x3Qv1+rX81wWIlug6/c5jRBRDSAAlbxzjiiBG84Bp4xjjKim2pj2vlbGx+CRNnknaBaNMXaqL2uH6CeuwdeUARhj6z7i2rK+JqJaCcW1ebdr5sDl5/n2BmbNuF5/Tw70Fi9T3u+KIr6Hc0oAZ3n9MMb0aabdrY/I6TPv7glcFrWaycsMqIGONwD4BUTZrEPr2AwkzYbmOeyNB2sdAEi7mBO8n7XriidrxgCNrF8zq55XbifXanbMDAJBHFDi6hdOSOb5Op2VRfH4nHxtVBv5Bq/ePFiEz0bH2j8DfeZMRHWd0AeMoQG1wajHjzYiFmas7EcAVWZ1mKcuCIHtxU87ZcV7vfllLOkvQOziYgkknXYcHi5e75v9wvp4bZgBBIjZTzJHn/OciH/6T2Nf7ZqUZt95553x8Y9/PEZGRuLpT396PO5xj9tTYw/aDgrMXLpUHgSFuMvI2SXXTNSIqpDRgiwvLjtVp3XYoXkHYL1C1mbkSWdwZEbFbbYA2MyPA6qZDl6T2SCnLpzewglgFq75e9mxmUHxw2bGw3ojq/VhVbLGyPoPpyw8RgRuH4CHwzcVndN1BAA7hMy28F1+3p/la8uMih2uKXanLOzAcIxcF9fEd3JzPQSGPoQxotp++p2fBDkHM4NBB2AHcY8bbTaYt9gQnQtnuVigjIbCfeq22YGzLrIgnUDpNIs1V2h7DODy+S+018HNQM1sLf1hRoB2MK5oYQws6FfPXz6rp6cMaC6jZ247RW1xdx1gNlNKG/FHjKmFvE51MGaACK8zp3rQJVFRhRbl4sXy4U2VqwIdWJ3mdGqXtvjavL4N9LMfc58b8AIsOL2YVKiBsv9mrADqMCFmVQ0YabM3AAY5Bsu0hUerVbIwly9vL4OHQWGe2nfwHTB7AODLl0t/D3jxe2Bzn/GMiOc+N/bVruk5MxsbG7GyshLj8IZHzA4KzHzwgxEf/Wg5SezAre8wYMnBKJ8A7EUQUdUKODBlQOMdsIWRrvSxgNUpCJ/7gZPAwXl3Y7PuIrMqLF6chIN0ndg4OxUH+rrAxKLP/cdu3poAnCN9ye9OXbkyy84l79IjSlBlQSYLPzNCznG7zwhajDOOzP+zDok5YQeWnaZfZxrcD66L1IPTKpxX4rOQGAeL1j0mBh9OsRKgXM7tsYUN8mc69WiWwZZZRpcoM+aMkcfUOgODcQMsB1o/GAcAAuyTQSsPH8fgqqM6Iad1IdYgZX2VA421HVmMznwzs5tZFYP1nKLkd69Lp7Myo+D5mJlgM9PWvZidRtPhoxy4BjMULpunrYBswJqZYuaX121uo9eefXUdg0vqxf3sMc96M9pM2o/XmQm3P+npqW6yzJDbBzl9DXPidUEKEl9vYDw9XaStfNsIfJYZMG9S/TfjT3sANRYb8/+nPjXiG74h9tUOpJrp93//9+PChQvx6le/+spzP/mTPxlvfvObY2NjI77u674u/tt/+28xc9gqoGtk6+ulIp+BdsrCYinvmjz5HYisZfECNkhhV+iJZ/oUh52rlnxmhitBHPRwXgYSXuy02YwF1+KgRFv9PE4qoroQI6oMh/vKR+dzpLwBStY6eKfDGQ+ZMue9BiqkfjA7VgI9fcF7GXN2xP391f522oF2eeflFJdL1y2CNKVO4DV4sIaFfrBjB8Baf2Uhoa8DhwUTOD5edbj9vVsx1L8ZI4ObMTq0Gf09m7G5vhU9W5uxvrIZm2ubsbWxVbIWFyMurlQB69ZWRKunNzZ7+mOzpz/WW/2xEf2xGX3R6is8PH0Gk0R7DNzNqJhdoy+g+J1yAITUjS3zmj5ABAk4wlm7zDWX3a6uFs9ZY7K1VdWqUHFlFoSgQjDwmjAg8S6fdkZUATHryxshMzf2M1NT1cokvtMAje9jTL0hchvZpADWzBjZb3hj5lTo+npZwehqt62tqpbHeqSZmSJA49Osg7JwlnQo/WGdk1k5qtUYc8CpWUk+o6enBOPoexg75oI3uAMDRRtIyzl1NTpazgHGOaLUFQ0NVdmZjY3q5qanp/i+ixfLQwFhq6haWl6OuPfe4v1OGXOncObJ0lIpyMefraxUARW/m1lH8Ly0VK1wOgzrmpm5/fbb41u/9Vvje77neyIi4i//8i/ja77ma+LHf/zH4ylPeUq88Y1vjBe96EXxsz/7swfa4N3aQTEzH/tYxN/9XYnEI6pBzk7PAIW/I6rUrsEFgMCHVLnqxecvsJM1SHG6Csfk3ZZzoqY5ASnOg/LTOx8LIw1s8q7CjtR9YcGbHYl3gLSZRy65BTxlRiqimrowMHRaKOe9MV+zgQl94qBCALCjNrvCGPuzmCvepdEvV9q3tRUD60vRu7wYrcXFiIXF2JpfjNbCYvQsL0XP0mL0Li9G79pK8VhfiYGNlehbX4m+jZUY2Cwf/VtrMdBai/7Wegy01qP/0d/7tx792VqPvtZG9Lc2ou/R33u3NqJns/jZu7kePVdH3nZlW9ETW739sdk3GJu9A7HZNxgbvYOx2TsY672P/q7n1nqHY713KNZ6hmK9dyg2+oZirW84tvqHYmtwOFrDI7E1PBobQ6OxNTQafROjsTU8GptDBUKe3xyN2c3xWIjxuLwxHitbg7G+0bNN98P8IKVikODds1MsBFGnbA0s0apY75PTCg4YBsWsI+uZnLqzDoz5yXtgOrguArpTPWh7zJ4BCgEIFqD6CATYLMyAJ5tT1GYVsyDVa573Od0C8LX/MIjFR9Lv3mxFVFkb9ynML6mq3t7S9zoVd2X+bpV+GiAdUU3VYwaoXJfnGECEDQ6+h7Hh2rxZGBwsABD3niI1ZtE/fWeWj/gSUc0SUDkXUTKOZvx9lhCfe9ttEU95SnfrvVs7kDTT6dOn44/+6I/imc98ZkREvOENb4hPf/rT8b73vS8iIt773vfG933f98Wdd955lc3fXzsoMPO5z0V8/vPV3TaTJGJ72Sg/WUw+Xda6GyZOFquZ+o8ov8eWR9JO2c+5TWZT6sAKbc6f6eu2A/DpoizKTJXbkeHsTZO7DQZKeWfglFxmKtz+fDIxxu857+6fpocze1QRXPesxcjabIxuzMXIxnwMrszFwMp8DK7OR//SXPQtzUfv4ny05uaiNTsfW7Pz0VpYiP6l+eh/9HWDawsxtDYfwxuL3U3CxvbNNnv7Y31wPFYHx2O1fzxWBsZjpX8iFvqnYmlgKpYHpmJ5aCpWBqdisX8qlganYnlwOtZGp2N5aDoWBmZiZXgqWn0DFZ0L648NB+va6VwYBjOnrIOI6gbJbCAgiqBLZUxefw7WsFLo+djY5DSitVY+bde6FYKhU9cGDawvC17xZxGlX2JdOW3MtTklB3NnTQ/9E1EvsPbGzIUMPtYgs9WuMnWqsaenmkJjjKyn83VZj+P+pf8yi9sO4OTDGa0t415eVI4xlsxBH0hJytf3WbIuCjbcAAqfnjU7ACr6bmWluDfTfktnDyTNND8/XzlH5kMf+lDllgZPe9rT4r777ttDc4+nGbwQJC1GxFlYFAzdnw8Ayyjf5t18RJVJceokoroLMutjrYpFwNkZQKnn3WYuI+Q4a+f8+/u3MymAtIiUbmhVF7gdvyl/HDf9DZPC4uN6LS622M8VVm6b001Q6f3ryzGxdSlmWhdjunUpZuJSTG5diqnNSzG+filG1y7FyOrlGFqZi8GV2QKsLM/F4NJs9C/NRe/66v5OsAO0zZ6+RxmOgdjoGSiYkEfTP8VjIDZ7+2Mz+mOztz9aPUUqqNXbF9HfF739fdHb3xs9A4UH7unvi56+3tjc6okWgHIzoqV53YqIntZW9ML4bG1Eb8sM0Eb0bq1H39ZG9G2uPcocFT/7tgomqW9zLfpamx2vba/Wt7URfSuXY3jl8lV9zlLfeMz3z8RC/3TM98/EYv90LAyeiMXBmVgYPBFLwydidWwm1sZOxPLIiVgan4nFoROxMjxd9Kn8CdVabGYIUDk1yHqyKJ9DKJ3S9DlBBGb8AswDfok1cuFCuXbNrAKgJieruqeJier6I9DBVNl3jYwU74cxclWSNy8O5hbVck7K1lbxP693DhU0gzo0VJzJwvthLsw0GawtLFQ1d1zz/HwJcDDSVTAeADz70pyqtoaJeGHGY2urGEOnhgEoHAho4bv7x1WqxCUO5yPNxedMTlZvh0HsYO1SYWlDCsD4nDhRPA7TugYzN998c3zmM5+JW2+9NRYWFuITn/hEvP3tb7/y/wsXLsQop3k9BuyBByI++cny7AV2JK4O6ARScBgsXAuEnZKKqCJ9C4sXF6sAxYwHr8fsAF3NAVCBVrXex7uSiHLx29lyboIftMGpmaxf8efy0zl22oxzMkVMH2Smqr8/orenFWNb83F67eGYXn84Jlcfjsm1R2J89UKMr12IseULMbpyMUZXLsTo8oUYWboYw0sXYmBj5eomxFXYZm9/rAxMxOrgRKwNTsTa0HisD47H+tBYrA+OxfrAWKwNjsXG4Fis9Y/Gav9YrPSNxWrfSKy0hmNxaziWt4ZjYWM4lraGY7k1HKs9j6ZhYjDW4tHUTe9AbPUVXs5zzLsu7/z4aYaMuQXIZqxc2RBRDRhZn2OWy7vpiO2VNT5ArNWK6IvNGNhajYGt1RhsrUb/5mqRUttajb6N4vmh1koMt5ZjcHMpBteXon9tKfpWl2Jwo/h9YH0pBtYWYmB1MQbXF2JwbTGGNhZieH0hhjYWYmi9ePS2trYP1g42urkQo5sLcePqPbt631ZPb6yMnozl8VOxMnYqFkdviJXxU7EyfioWRm+IudFTcXnwdDywdToe2LwhHty6IeZXB69ousyqMB5+UMmWNSu5wixvSpwitTYr6wQpReZeUa3W9oqw5eVqeo51zN9oS2iL099mPthw5dOSafvqalU067a79Jj5OzlZBGJSW/nQQGsP0Ula+zI8XKaZsi7SZfIGCvbvQ0NF3/FeAJbTO/aN6+slMLnnnvKz0LtNThZnzKBhsajblWhoch56qHidiyqmpqravFzttrFRfD9rfGurOGPmy798lwtmH61rMPNt3/Zt8f3f//3xYz/2Y/He9743zpw5E89VHdZHPvKR+NIv/dIDaeRRtE9+MuIv/7L6nAO4aVACOfSd1fY4eV7vsx/MnJh9sJmpyeJJdgROj7h8m12QBbogchZyFoz6tXxvO2Ox8rlmUljcFm+aQak4hM3lOLHxUNyw+mBMrz0UU2sPxfTqQzG5/GBMrj4UE8sPx/jKwzG29HCMLj4c/Zs1W4l9ts2evljom4ql/slHH1OxPDAZy4OTsTo0eQWYbIxOxvrwRGyMTMTm2GT0Tk1Ea3wiYmIiNkeL53uHB6Ont6fSlzhenClgmb/NQLkvDQw9f/r6IkaUTkOfYIDrHb7FstZX8XntwLdz/dDf/h6CAtcBXe30X0R1F8rur7jevthqjcbC+mjBIrSKR/RGtJSCiKgKYBFgEph8bALX5DLwnmjFWM9STLZmY6a3eEzFbEy2ZmN8s3iMrM3GyNrlGF29FGOPMncjK5diZPlSDK9cioHN7tm63tZWjC4W87dbWx6ejvmR0zE7dDouDZyOS303xMN9N8bDPTfGxf7TcaH/xrg4cGNcGjgdD/ZMRU9vTwXA+gwTNjXctoCj6ZkrHpecriVYc/DdPfeUzAt6nBMnykPtmGf5xGWqAmFcWq1SyJ8rvDickTGEbYJBAeAwH3itxdsGGIBl5gvMR0TJdMEuOb2yvl6wJ2h/aNvwcPFea/zoP4AaYAGWiRQkc3dyslpqbs1K1gOxxjkUz6k3QM5NN0WcPVuMKxsKAA6vX10tjmYg7WnxtjcemQnHvx+mdQ1m/t2/+3dx/vz5+N7v/d44c+ZM/OZv/mb0KVr91m/9VnzzN3/zgTTyKBoI2ZUCHOttVT/Bn8kKe2NRlsEMu5SI7U7ZC5pJ5fMx6nKqFgPjhBAWW6fiNvB6hjeDC77HNKQBienKOuFubG3F9NbFmF57KE6sPxgz6w/F9PpDcWL9oZhZexSwrD4UEysPxcTSgzG0tnAgY7jeNxSLwydjcehELAydjMWBmVgYmImFwZlYHJiJxcGZImXw6PPz/TOxPDQVy/2Tsd4/En39xUChCSA1xqLPx39HlP3RakX0rETESlU/gYPETLkz7gMD1WDinLt353Vj7vy+55rBsA99zAJ3V0DwXNZAQfGfP1+2j34y8wcT4PliPQRz18LOiDLguZQ4V/BZN+W+8trhPBe+A0BXrKGeGBoai6GhsdgcOBtzgxHrIxFLo+V5IYgtR0YiHpHw9MpR8asr0TN7KVoXLkXrwsXom7sUgwsXY2D+YgwtX3qUIbwUYysXHn08EhMrD3etmRpZuRwjK5fjdHx2x9eu9gzF5cHTcXHgxrg4cCYuDN4UFwbOxOXh4jE3eiYWJ2+KhZM3xuLY6JXx9/3gAAn4twxOYW2ZF7Cpq6tFuspgibtQT01VUyUWlwKOfECmNSae9w64Zou9JqemqpobA1uzgwZA1tVNT1dZpSwsBgCgzclrlsos+1pXi5k951qcUsPXnzhRXXdURM3OllVhLjgYGiqef+ih4rBXs2kzM2V1m1N4rBX6iYpA/AbpRhdzHHZi5qrPmTnqdlAC4N/+7YgPfKCa63S+M6Kadsm7G/9uvQgTKgu+cOgWijkdY8rWgcA7Av52VY937xbXOp1lnU0W515ZNLEVU+uPxMn1B+Lk+gNxYu2BApisPhhTqw/F9OqDMbnyYEwuPxjjyw/vu/Zhs7c/lsZuiMWRU7EwfEPMDd8Q80M3xNyjj9mBU4VmYeRkzA+ejIXBE7ExOBrR03MlqOI8zFbQ9xYwAxIzUF1YqO74fXaKGQN/JrtO34DT7AnzAAfq1CSfx47NwRsG0HPNoJj0Ebs8gLUrq5gLTjnxIHDng+PsZA1MzOTQB95lu6LMIMzVQK5EySA8g3GzR2YvfT4KfYsODCYJLYkFu1cAaE/ZPpw9a8en8+Zzo9i58nClovUaa2sRvavLMbL4SAzNPxIjiwXAmVp7OCZWHo7JlYdicuVRoP/o3yNrc/u6lhb6JuPS4Jm4OHRTXBq+KebGboqF8TMxN35TLE/dFCszN8XqybOxPjYdff09V8Yxl64bqOY0NPMShghQiA7DZ1xlwTFrzRVCnpcGMQRz7qPH/DLIsHaI9gKMnQ7yvGJuYRYRu8Qc/5BjA33gs2+sC4qoFn7ktefUP+uip6cK+Ji7rPFcNu4CDuYujNSpU8VP35qH97Srxn3Sk4qD8/bTrumheUfdDgrM/PzPR/zxH1d1H86XetfL/6xVMS3KYvGuF0eZA0REuZgcbCx0I+BZq8D7+OnqqBw4HBQHN5fjxOr9cXLt0cf6/XFq7f6YWnkgTqw+EFMrD8TU8gMxsfzQvgOUpZETsThyQ8yN3hhzwzfG7NDpuDx0OmYHT8f8yOmYGy5+Lo6djpWhgkZ3wIioLj4WpPUBPOdg7sBtUJJvAGc2IIuPs4guA0+cCEHQwY/nzJZkEGvnYraBoOKxd2qB11nUubVV3hR0bq6gzbkZHQ7QgTwDErMc3vlmKtppns3N8t5IFodb/E277eB9zQb/5PvZ9QMoaA/zgbF0/h9g5zZ4V8s1O7A6wGT9mYGZA6ZBqdcz5gpGgqt1eFwDersr2qbNlRhffjjGFh68AnSmVx6M8cUHY3TxoRidf/DRx0MxsvjwnrRAdbbaOxyXRs7G5ZGzMTd+Npamz8byibOxdvJsLM+cjeUTN8fKyZujd2LsSh9HVAWwWU8F6GSnb9Gy5xP9YGaO+ZpZGTOHPOczbMzOMZdYJ65GsmYwbxRoj8GuGXBO0833q4Pt9PzJxwAATHx2VD47ifb7bvW83/onyxhoH/PN77EGZ2qqBDgnTlRTdRZgP/GJ5R2998sOpJqpsao5CAJUHIysJ8gqfDtPT0gcpReXA5cDCQvWiN/B1CkfO0ccwsDaYpxYvT9Ord0XJ1bui1Mbxe8nV+6LmZX7Y3rl/phevj9G12b3rc82+wZiZfJ0LI3fGAtjN8bC6OmYfRSkFECl/H1p7IZo9Q9cabMDZGabTMt6d8wZEQQexofnXGlhYNLuHi5OwZlJ429XXvDdAAcCuXP0jAWHfsG85JJMHIsPEhwbK3Lqvo8SbI6dtw8S43YFvheOd7e0F2dKO9kNu1+sbXBfGBh6/lnfkFNAddspMzcRpbCROwznY/R9horBE5U6rVZxHQBYdDoEisye+ayToaEy2DK/zHTCUHHzQvoRP+Cbdrp/XTbtNISZMc8ZDuEj/XLlfm+t4ZjrOxeb4+eid7I6V5mvzKnBvs2C5Vl8IMYXHnj05/1X/h6dvT9GZh+Isbn7d0zvDm2txJnFz8WZxc9FPNL+dcuDkzE3fnPMT90cC5M3x8LUzbE4Xfycm7ollmZuibWpG6J/sPfKfEJD482JBapUFnF/IVgFAEhEVWsWUe3Xzc0iLeM5zFgABuzH+a7JyXKTY7YQgGt9GJWYy8slMLMupqenujmi4ojCDksHzNr09BTr35vavJk1e+Qzc9h02Edw403mlu/Hd+lScfdsfzZn0Jw6FXHDDQXAGRgo+nO/wcxurGFm9mj/9b9G/N//9/bUTMR2uts7uDrRZER1V2txWQ7m3vGbubmigVhfi+nl++Pk6n1xavV83LB+X5xaK34/sXJfzKzcFzNL98XI+v5Q01u9fbEydWMsTZ6JxYkzsTBW5N9nh28s8vGDBUi5OHBjLAzMRP9ASUtDz2OmYAkeBoi8L4uRTfnznHO87j8CqhX+jF1mBCLK8apzKg5QngdcA5Qwn+Mxd46dNhkEXOnfre3fbfE4jtaH9nkn536JqAIJ/uZ7vNN0UAas02bn5304nE9MxcHSN2aecKgwSq5Kob8z+2jWBnoeB+1drfVFvhanuQg0BD5rF7gVgc99YWwyY+bNicGk54DZWp9NRHBjPjtQOa3hz3S/mAHkxOuFheotIcx+0A/29gbNBqO0vW95IUZmH4iRy/fH6Oz9MTZX/JxcvD+mlu+P6aX74sTyfTGxcSmu1jZ6B2Jh4mzMT90Sc5M3x8LULbF08pZYmr45FmbOxeKJc7E8fVO0evsqLB0sC+ej0I8+wM5jk9edGSH8KWyFU1HMNVcdwY7Rl7zX7CagmblMO/BhtMlryCxmTlGx3tnQnDhRHnjoNBuAhHXs9WCfxlrw/1utYk7Nzpbr3DehzGxzT0/RP7ffHvFd33XVU6FiDTNzDcwOyNS3n7NQdmurKhQj2OBII6oiWZDzFcCysRXjyw/HDWvnC6Cyfl/csHq+AlSml++LyZXuqyE62frQWCxP3RRL0zfF4sRNMT9e5M4vj9wUl4fPxKXhm+LS0JmYGzgZG1vFrHYaLafd+jYjxjbKBWxdip0GfRZROgH6BtaEAOo8Orlhp32sKzGbY8bMKn2frsr/3Kb+tFoyS+RglHdKDoQEcHaBPT2lIyQozc5W75+yuFiIKHFugKUcRL3DhCbmd7+Hfh0crOpDYGzMVmRxLuCGszUitgu+I8pAw9jCKlk8m88WMRjFwfsgSXQlly9X2ZLe3vJeTbnsmLXK+LEj5nfGaWamYH1My8PcZWBMfzsdwu7dep66db+4GPHww+UcJUCZqcmA32NtJqenp+jL06erWg8ORvNNMXNlzcpKEaicYnP6sb9/PHp7nxQD40+KwRPVW25EaJ0tLcfghftjfPZ8jF6+LyYW7oup+fMxs3JfnFo5H6dWz8eptfMxtNX++IP+rfWYnv1CTM9+oe1rNnv6YmHibMxNn4v5qXMxN3UuFmduifmZW2Nu6lw8NH0uFkdviJ6+3koVEOsDn5v1U4wpoMHsItU9sJP0oZlDgL7vEcWadvUPaUo2E/gF/2Q95Q2CU3S8//LlwidEbGdxSLcCtognPsyVuW+/wGuJZ7AwtJ9UNECNGHbpUlHFdpjWgJk92qlTxYmHZlIsxCQgmAGwdgUnt7HeipG12Ti1dl+cWSuYlNMb9xWgZe2+OLl6X5xYPh9Tyw9E39ZG50Z1YetDY7E0fTYWp87G0tRNsTBxNi6Pno25sZsezX/fFI8Mno3l/omKuNFlh1dAwlbE+FZVeMziMLizyBMH7T4jeM3OVoMYfVtXzVAn+CTAWDTtQBBRZV/8P4McwChAknSNA5/Bjh08jtA7bYxxZ9fDPHHfuSy1r68U9jm4QXMDdBxkaQOvNaDyyaa8jn41+Mvaq7wDBRyhUeGMkampMvWFc5+fLx9OebnihPGCvTHABDCxnpymM8ABiF24sH3ecVSBxb+AVN8GwKkf64s8F0jxXL5cvekhQJMg5WoUwAmgZWCg/CzAB7teBy5rqixAZw54zua7cJOKIUjzHeg2OHHcbSDQ51QZDwMEC9X7J0aid+a2WIrbYrEVcf9Gdd0sLUUsLbaiZ/ZyTC+ej5ml83Fy9XycXH4U6KzeGzes3hun18/H9Hr7fFVfazOm5u6Jqbn2UXOjbzDmJ2+JuelzMTt16xXQc3niXKzNnIs4fS5ak9PR6um5crCgb9uQBbj5thROswKsmZesExgc0qFmJ83Obsl3shlzFVREdUOFDzGbSB/zfqfFmbtOlfF5TgN7w2g9V2ab8RkRxbVNT5fza36+8AOHaV2BmZ//+Z/v+gO/93u/d8+NOU722c9GfOIT1RJXKF2e69tYjZnl++LG1WKHcnKlACsnV8/HqUfTQDMr98Xw5tJVt2eztz+Wpm6KxembY3HqbCxM3hxz42djdvzmAqSMFT+X+icrVLx3BiyY0a2IAekpAGMsZoMB3xGW1/o2DeSsCUAZqLCQ63QxZlYitostfUKxgQnAIqIMQk5NmfniNQQSwIODHd/jQG/WifE20DPV77Jrdkeu/nG7siCS72KcCIRra1XgBQgyq+GduJ0a405g8pHomWWwCNOlotal0I+rqwXjQDut9TlxomQ5OHHVFT2cMUJbHUD5HAOPoaFqpcjW1vbzPwjas7NVcaXZFJw2oIi+dloKMOO52NdXCo1JUUHHw754I0OfeBz7+6sgrS4Nag0Uc9xCYwtRc+qOtUkQgxUjIM7NlRoN5ovTap6XjPfKSlXT5/XnVCHzFpA1Pd0TrbMzsbExE5c3vzzOL5Zg12nzvrXlmFm+L06t3Bs3rJ2PG9fuiRs37o0za/fE6bV74vTKPTG93p597t9ci5lLn4uZS59r+5qV/rG4NHYuLowWj0vj5ePC6Ll4ZPiWmI+JK2vQTNjUVHWT400W1+4zbtbXq6kqUkIR5eYFMM78sqaGec34M9Z5/eFP7Gddiec0FfPZqUWnziOqPpT30yan4Pn75MnicZjWlWbmCU94Qncf1tMTn/tc+0l0GHZQmplfevND8fE/YGdRgJQiBXQ+Tq7cFydWzsfE6oV9+a6FsdMxP3E25iZujvnxszE/cTYujd0cl4bPxsXhs/HI0M2xMHwqWj292xgGdgHWHjAxc0CPKB2tK34wAoRzuewMLAo1EDE48S7AuXwvKO/+TL1bvGutA4vZATvPaAdIAy/rb7JDoF1mO6z1wCH4ZGLvbJzXh92g/83UMR4+ij5rZhxILfbjWj0WPrODnwbaTocZyJLygmGhcuHEiTJo83luZ871O/hxrRHb04hmDAxwLMR2X9FGyneh0rlRKZ/PHAREk2rxbUUMFMyymdnwXLGWhNc6lZjnG6AA1mZ+vpq6Y720WtV1Zi0PnwtAtXDaa4lUnsXvdTt7AqlTbXyXq2ksSEeE65RVFktbk2KQw3rx5/tanDaxb2GcuA0K6xPAurkZ0b+xEqfX7o0z6/cUP9e+GKdX7ykea/fEjWv3xMTG5bgaWxqcissT52JusmB2ZifPxcWxc/HI6K0xO3VrrJy6JQbGh2JiolgrHDDYapUMCxom62Dwl6xlUsEcD0D6OaJ8PSw+GjUE5/gMbzC8UbSvr9Na8Rx+0DoeM0i+dY3nvQsI+vsjvvIrI17xiqvq9m3WlGbLDgrMLM2cjdHL91/VZ6wOTxbK/smzhdJ/qmBTLo+cjQvDZ+PSyM0xN3JjrPcMVgKkgxLP4Vg8SXEYEWUwdUDGYdr5WnBGkOX/Edv1AJlNsTlYZEbFD17j3aCrZcwkGQDxHfztNBPfaU2Tg4//j/OweM4O3ZoJXudF77ZYoJ37h3EASGDOX2eWyBoH0768nuDq800IHHy2xyxXYfA3O3p2lga1VBJxVL2Ft26v8/k4V4Mom+cC2hlecyU1sVRNgXg+QusDcmi3bzDInIH9IRgTnPkeAE4dK+R0k+eumS763H3iORpRMkSzs2W6x7od63BIeTn9xU7Z4JTxM3jkcwB+BCCXpDMHp6aKByDHPsE6LkCmBd8IQgEeBjnWg9hHmVUCPLKeGGeM73YF18pKFaTD7Jo14DER83F28564aeOeKz/PbBSA54ble+Lk8j0xtLF3RrzV0xNLE2di4cStMX/i1lg6eWusnL411m+6NeLcuRh80q0xcu5U9A/0xPp6eWjd+fNVUML6sN4OhpQUrtPKZnJZF66I4nV8llP6+BP8ocfZGxPPXzZjjif2PZwL1N8f8VVfFfHP//meu7TWrgmYWVtbi89//vPxxCc+MfqzMvII2UGBmdkveXZM3fnR2v9t9A7E/MTZWJg4GwuTZ2NhqihLnJ+4OWbHitTPwuTZWB8a3xaUzazkHXgWY1rrEbFdKY+zs5A03+kUtO7dv7/LIIWfnsx2/JwQiqgTZ8xnEIS8SyHI+zoNUHK7HHQNVuw4HTzpE1cIWKtCX0aUjIE/g0BBGoL0SGagCCJ1QCqPoQGOg65BHX3ilA394XQD/c6hY6RRYDCgsrlLLsEHcSKOkioll21nJ2bNBw6X00O5s7JFl6SmzE4BPni9mQKnLPr6qizB5cvFUe2XL1cPm8uMGGMOoCGNhtOlLRaT85OgST8tLZXXbQ2WAzXpGxgigwiAjc+J4bMAKKRiSbVljQZzxKJugsjISBU0escOK0XqC2Er76V9XiekpmC+rAHhehkTgAwnzhpcGay5EsdrlHYbyPN9mf0DuEaU7zH4sc/gNTmtytxgPvb3teJEz6U4u1kAnFMrxc+TS/fE1Ow9MTl3T0zO3XtVt0bZGBguNDvT52LhRAF2Nm86F+tnzsXGTediYeZczLUm4uLF8lwnV9Bx/aTr8mnMPT3Vg/C8cXGayakm9xExwCAFkMNrMvudN528r7e3ADP7rTI5UDCztLQUr3/96+PXf/3XIyLis5/9bNx2223x+te/Pm6++eb4kR/5kb23/ADsoMDM51/z5pj91D2FNmWiACjz42djcfrmWB0/GdHbW6uBcKAzOraGJKJzyoTFjDMHpOQj3b0jJ6BHVHdxdiZ8rwMlDo6dAk4Y5xJROit2Ck4RRNR/fgZmEWVwhd7M/cX1O3DlSgz+9gImkOTUlJkJgzovejtEnK3TeAZlOahyvRbxudLLdK6fs/iVs1UIKPmwr7q5AwXsaohWq1oGDWPhihczcn5//hznzPlMH1E/PV2Kgl02HVFqjxhzgpZBIJZTMMw1gCXCYqqdAGLZcQOC+QyXddP/AFbWkIGrD0lcebQgJwMas49mIAhAU1Nl2m5ysgTOvj7WqsHUpUvFg2CHgJc5y/V5bZnVNGAwe8mcdXrNh8UxD8fHywficdoO8Pdx+gsLZfUP/ejD3vBZFqnmdB59yvdbOBtR3Xxw/QA5PpvrzingHIjNiGGsveHBrTgVj8Tjegtm58TCF2N6/p6YnvtiTF7+Yoxf/GKMzt0fPVeR3FgbnozlG87F2ulbYvWGczE3dUtcHD0XDw/dEvf1nYv7+s7FQoxvSy/iO1h71khFlJstYogZTdY0fpJ5yLxg7fMdZtC9nvz5fX0FmPln/2zPXVFrBwpmvu/7vi/+4i/+It7xjnfEC1/4wvjbv/3buO222+L3fu/34k1velN87GMfu6rG77cdFJh5//sj/uqvqjRhZgrMNDjlw4LiOSYZzyPixIlaRGtNh5kB72Zw5jkF4xyonS07NWhfL25Tmq4sgso2i4Qj9a4ra05M38Pc2EnRZ8xKB1aDD9POXDPfmVNtBjRO2xhM+rrNRLgfzLLY8QK6rLHJojkHFFfOmNXwwX+5mobXe2dEu9idUWnjs1KYi+y4CRqZKfHOm6ANS+D55QoqByX63eyZy7GZX2bVrKXIwJrPINDzHp+pk5kCUkiwEaQorOnyWFvHA7tCW0dHy/SM5xvMh5kQjtbPJfP0O59NhQt9MjlZ3pCQcaTPLaI3KwhoA4Bah0PayiySDxbMKZ++vnKNePwyA0UaKKJayeabiHrNOg0GQ+A5w/rgc12lxrizHjJLDdMGALWPsk90n9g34F/NTJgptu/yODKWPhNpaChiMNbizOb5OLHwxZia/WJMXPxCTM/fE1NzBfCZmf9ijKzPx9XY2th0weJMnouL47fGw8MSL4/dEhdHbo61vpErrx8YKHU4+BeKE1gDbCoYM7NB9KNZMAN9+sVzan094lnPiviWb7mqS91mB3rOzP/5f/6f8d/+23+L5z73udGjqPe0pz0t7r777t239piaaXwmhdGtdQkOPN7h8bAoK2L7ztWI3KxKRBVIECShsR0gM+DACPTsqCKqTIrbk1MkS0vVXZSPkvfOFcdTdy0WEXv3BkVq5+M2cP1mW7JDxXGjK4koaWwDTFPt0PB2/GZbzMA4TeTdJc7PaQEzUgaWtIUABGAgaEI959Qc788pLTNbU1Nlyo+2Mz8dbAEa3hUDdhlnUhZzc9Xrt6Pzri+ibD/0NPMRHQdjU6er8lzh/U7DeUdo8EfJaC55NThwOXtEOc6+R9XmZvE5p06V7ADMhNNSly4VWgjYCPqJFC5l3O4zzy3WKmCTIMQ1WnNkES/sm30IQMcsI4BzebkKZNy3OeXLXKEP7V9cOciGhtOop6cLXRV3yAa8Mj97espxWFqKK+kVFxYwVqQTnZ4bHCxes7CwncUxc7C5WQZyGFnS7YuL1X7hWtbXqwHefUOfPvJIOYZl9c9g9PY+4dFHxMBYRN9kxNBt5ZyZ7pmNE4tfjJOLBaszPX9PzCzcE9ML98bM4j1xcvnejmfwDC5ejhOLl+NE/H/x+DavWR47+ahY+ZaYn7wl5qeKx+zELbEwfUvMnrol+qfGrlRTMc+cZvZm2XEqs+gAbuYbm8qV9pdwTWzXYObhhx+O06dPb3t+cXGxAm6ud7t8uXBkeSee8/k4+AwEIkrHacFoxPZcJGyGb0ZoZsMpCqemnJLCzII4J8v38b6IamC00IsdnUEEnwUYATyZ6vW5IDkllQGT00G0xTt2AADAI2tSGBP3hYO92ZLMCHGmjHdkFi668sSVX7QpV7wQGMwgGbTl4ApYMVAEEFpzRMUHY2cmBLbHrKGvFSd/8WIJpM18+J44/D09XXwH6QOugZ+0zUwJztFz49KlksHI89mAlHZz/QQbxhsQtrFRnmJrzYfv0QRAog8NOpy+YT6urhYg5cEHq6Cc+cZ89roCEI6MlBokC2NdyWQWyyAONmVysgAFJ0+WN/0bHS03HgQQHtYZcT2wVBxwhnYmVxMZXDHv8DlmyJym8hwhZbe+XpTmz84W7fex99yVme/0Jo80FQdDWiBrYD83Vx71777zejYzaH/oDSNrO6IcG9pGeiWz3a4ko032N4yB9UzMu7mRqXh45OkxdOPTY+y27YUPW5utGJy/ECOP3BNjl+6N8cv3xPTcPTG9UGh4Ti7eEzNL90b/lhTSyUYWL8TI4oW48f6Pt33Nysh0LEzfEgtTJdhZPnlLrJ2+JdZvvCVaN98SgzdMXWHeVleLn66cWl+vroX+/mJsLc4+LNs1mHn2s58df/AHfxCvf/3rIyKuAJhf+ZVfia/8yq/c39YdYfvCFyI+9anqWRIOnph39xHlAvHu3PfNqCsJNUZ0QObz/D8WmNvE+70TJfBZwMvvmBezQQEBwdQ3dL4rorzQMadInHM1e0GAM+tggGKBH3/juLiGVqv4HAMEp4mcwuA7ceLW63jXz/sscuXzcYoEMadhABB2vrAK6Ey8I8R4LUDK2iHAiCtInA70vW1yysOVRFNTVVaLdvtgP/qUfqJdjBfpEqemmGeMEQAnMyKe44yZRcyDg+X40hZAjNeNU2Z+zsyHNQUAbEpoFxcLYHfhQhE0qTzyXcEBcQaE1pXAOBGoTp4s+9Ol9/SBhboG77AXs7MRX/xi1Wc4NUllWR07h1bn1Kmq8B4GlOvy+mRO2vcw1wAJnsswLbAdzIvh4aIPWYc8NzFRHqx4+nQJDEdGiufX1yNuvbX4TkDb7GzBiMDiWCtIio/nDUSYL4Br1lNei1ynGSin8gHNPJ81esxj+2Onavv6ijYyX/kd8XzBxvXE+JlTMfi0U9Hb+8zY6Iu42Btxn0De4vxW9Dz80JXU1YnFe2Jm8d4rj+nFe2Ni7nz0bkoslmx4+XIML1+OU/d/su1rVgYnYm6yYHcWpm+JpRMl4Fk5eXPMTdwci5MnY3WtJzY2ynOWBgaK6zlM2zWY+ff//t/Hi170ovj0pz8dGxsb8XM/93Px6U9/Ov7yL/8y/vzP//wg2ngkDWfvAMOErqP9AQwWHdYBGyhkU8I4ToMU764iqloDO1QHIi84B82IctGbcszCR4CLGROzMgYv2bG4DQYGdpzOjfu99CnvMciij+gD2AwDEXLv3mG6SoP3ZXbINP6lS6Xzd8ouU/AO9GZtvLPNFU98Hiwe3wPTxxks3k3nE3gJavSXNVeMJ895rrGzMogeG9teBcF8uHy5ZPpos8Epnzk+Xr4PcMLBYLCFPh+Hz2Pnt7VVtBewTwoGRqDVKpke2t7XV+zqPafz2oyosk95A8D1w/JQQeVNCywWc5dd+upq+bmIMplzZilJR8GW9PdX081ofwwAWSPMa3/PxETB3HA7Bs4rsXCf9zC3mVtob2Zny3sKeUOS00+MM/4n+6lWqwCErP+Iqj6PvoBxoyqO9AfglbXAeujtLcdlc7NknDh0zylpNEUwOPgTM49m/+yXWMsG4tb1eG1zXWbDfUsDb/w2NsqUo9sBOCWFiOCfQyzLA/Z6I+JMLC+fibm5fxz3zRafh16r1YroaW3F5PKDxYGDq/fGjWv3xKm183Fq+d6YWrg3xi/fG8OP3Bu96+0rtIbX5mP4kc/E6Uc+0/Y1G/1DsTB5cyzO3BJLM8Wd0eenb4mT/TdHvPBl1d33NbQ9lWbffffd8da3vjU+8YlPxMLCQjzrWc+KH/7hH46nP/3pB9HGq7KDEgC/610Rf/In1YVgYaIDZN6BGnTAhNRpQjJYMRAgIEVUQZDz3Dhpq9hNt+Z0QD5Mybn3iO3sgZ2ENRBmIMz05BQY7/HzBhf+aQDgvs67bwMUU+i+HpeQWi9A8HZ7MIKSr8XpAv7vuzgDOOijra2StTFzY2BKwDKlazbLaQCsDhD7LBSCD1UyrjDhWswAcj35OfovouqsPXZZi+Mqp4GBEhQBkHHGjIdLVA2YzXA6lWBQmEXXvN5j5t/pR8bLzBXXledsT0+p+QBwGPjVfZ83M3xnrt4y8PQRCnyvzRsEVyMZSKJhOXGi+Gn9FoGUtQGrkXUQBEtuNpgPRrTlM1D8f1Jsman05sI6MK9xmDqYEdauNzqkMC3GZi7YN0VUx5Wx8abKbCtzKfsebz7MCjv92ddXprRYe8xnNo1OtcPy0SewN4Ac0sacPwTTDIhmjADJtB2DARsdacVNA4/EuZ5748xmccLyNEDnwr0x8OC9MfDAPdG3uhy7tbXxmRicv7jr93WyY3No3gc/+MH46Z/+6fjoRz8a999/f7znPe+Jl7zkJbWv/a7v+q74pV/6pXj7298e3//939/1dxwUmPn934/4wAfKRcGkNmhxPpfXeNfvHC9OzukSPiNiu5NgYbjaB+rcVCxOxAJSnIGdtJ2w2x9RvRYHEAv7uEaCrHclpuVZhL6WLP7MDAq7XBay+4z2+TwLB0H+bwdmw6my0yUNQT9k3Qx9ZR2Sy4LRSfB/09gRVSDm63VVj6+D3S+OjX4B7Lgig3nBewwquVYHBIsimSdud10qDrDmKhkzVd7RZlaSfqRkG6fMHYbZaV+6VO6uKfdlp21wzXcSoHzN+fgAt82bCzOWXD9MiPVC+dA6MwGsM4MCBzpveFxJmPVNBEGnwvhOM3aMvU/oZX2bkfRGgKCIBof7BpGuAnzD3ljYDfBcXCzH6tKlgrXiDCuX7tNe1r5PPDYLZr0c1+kDIK1Tg73hkD9YHIvPWQPeeFiUDZD3xsYMFGNnlgaWu66yDt/Ae/OG1D6IzYXF/O30VLQjbwo9H1lHAByn5Zk7PvSTPjIj5dQzlXZTUxEnZlpx49DluGHlnpiavzdGL90bvfedj7j33uh94HwMPHBvDD1yPgaXLld86cJtT4/xu/92u5O9Ctv3aqY5yly6sN0AhsXFxXjGM54Rr3nNa+KlL31p29e95z3vif/3//1/4+zZs11/9kEbSJeAGlEuECYnwdOpBDu2vHthB80O3k4BBI7D9IFIFllmajWiurONqAIsFoB3BQ6ADgCYgYFp/PxaFqDbwXsym2AnZ0YqolyUEdUdHYvcwdrXSIDAGWZxKwGZ97tqyg4HoELFCkHKgI4cOJ+1slIE4suXS7DAZ7sNXAtjZNDoMlDmhh1vHlfvSHHSACRAZC7Ln5wswR47QsbCzAvXSODNgcZAkEA7O1uelzI3VxW/ei34DuJjY4WeAvGqD/vLzAU7ULNVTuv4OeZHDrQEOOshDHBXV4u2Ww9icacF+Mxdr+OIkhV1oINp4BqtzZqYKBiVG28sUkcTE9XUm4OzU3dOZcCkkBohqD/4YLkGAaV839RUOaY+5Zl+Yw7QD1NTJeAEjHK397o0uH2AU88eM4vxLZhnLSJmfvjhcv7yOHOmPDHXwBQWmLF3Su2RR0rNjTcqHieDUm/W8A1OI2fGhPGx+Jg50tdX6uVGRrYXRXi9w9QZSJmNc8oOvzE0VKYgI8r+8F3UGTOur5gTPTE8PBOjozMxMfGPCqDzFREn/mlZrTY2FtFaWIyFvz8fy3cVQOf0LYMxHodnXYGZ6enp6LZSaTNHog72ohe9KF70ohd1fM358+fj9a9/ffzRH/1RfNM3fVPXn33QxpkeeZfHYvSZLRb9ZXbEgMQLMJ/rQnDJbENOx+B8vCv2zoIFacDCInZage/w4uEz8/dmtqQO4Ph7Isq+MoDgeb7XAMfUOpQsO0mqP6amSs3A+HjZLqeULJKdmyvz+zgQrpd+wtkODRW72pzPd7rIwIddos+mgBkhnfLwwyUoob98I0SPGdefwZ4BtFNR9FFE+TmZGYD1IlcPY5JTWJubhQPk8LbLl6sVNYyv54PTGj09JauExsE7ar/XOoKJieLO9JSQAmIIzAAdRKCwBgB91kt2XV6rnp8GaNYz9feXYwIjAFtoliqnOlnfnJQLyAComT2dny9ePzxc3vrgvvvK8ee7GKvp6Ygbbije43sBwW6cPFmun8XFkvWizJixpT/oK/rA58nkijPmEuADtuSWW8rxhNlhPXCYof0KY+B1SbrJ7drcLFggAIdTywTrEyciHnigLKe/4YaIs2eL53t7q+1AozI+XgDGtbVibru6EICLX0NwTP/Rt2bS7MuYY5zSzFp1Kruvr/wdHQ9rAFAFoGE+e6OCVAC/ZUDMnGVeoqMaGSmumVQq3+PKu/X18rBGYhlAyVViAwNjMT7+JTF1+kti9PERY18eh2pdgZk/+7M/u/L7P/zDP8SP/MiPxKtf/eor1Usf/vCH49d//dfjLW95y742bmtrK175ylfGD/7gD8bTnva0ff3sqzVyzjgsFl0GLAYoeXI6MLFAzGwwaQApPIdTMXXvHb3NjiszKqYvKeNlYZiWt3bAAYB25nQV38lnRZTBwcGDQBBRXotz+QYWLNKI7fRwRHka7PnzVWAEcIM5cF6ez2bBZ6Ej/W2w6euEZfBu2W3yuSE4KPp7ZKTccQFY+fvChWLHyHdx/QRKH6yXzxMi6Bjc1ukGPLc2Noodez7Xw04Yoz0wOAYVfr93jGbExseLQONzQWBbnApdXy/64MEHq6kIpyhdPcd8mpwsnbJF0Mx/gqGDMlVdVGU5neeUA0YbPMe4Nu+MzToAdrnW+fnyPk20jyojwA7MC+tgdLQARE5FA3C4M/mZM8X3woy5om1srJzHrBe0JgAJ+x6DYqfEEKhacEwbsqg6p+KYL3y/TzNmDXgzlzcGAC58FSzLF75QZSZcNs5p1Mw5H6mAxujkyapPhgUCJNM/3liRNgJEMi+s82HjY+YVgJPTbvQ51wtbaTbawnmno53OYx7RtsHB4hq88fNY4iPwrTx8Y9GlpWLztbJSnddOk29tRRymbLYrMPP85z//yu8//uM/Hj/7sz8b3/7t337luRe/+MXx9Kc/Pd71rnfFq171qn1r3E/91E9Ff39/fO8ubviwuroaqzoAYjcpst3Y/fcXO6c8uSxQs2AyYjtQyXn7HLgdtPgflnc1gA3n+7MQNi9EPoedcm4XzgwQwfeYSo2oApWssbDY0WwKDsXnmcA82Kmxw/Odlb1rYjFbSOf0gncS3vWTw46oMkYGKRZE2wyqcLo9PYVDJ+hw/sn8fAFOFhaqO1NoYR8Tz/+4FoI7n58ZqaGh0lFTrstn0JcuYUWHgm4gM3+Mt9ke7+SZL/kxMFDshh3EGDc0PdYUubTdKVGfX4MWxKxZTt9kkHT6dBWoMOdJe3l37TRd1kTQF5QM53NqzJICTB54oKqL8WaDOcOGgVTak59cFYvOzlZvX0CKgnNjEHkCqrlWAB+B2IJVgpTTRZubJbNklo/+B5Bn0AsYAyg98kgZHGFGYUepsHMKKWtKrPkC5Fy8WDwAOpytk9NApM+4noiinx58sOqbWDPWPo2NlWm8U6dKBmN4uDpHuLabbirbjG4Iho30pzd5m5vbS/idzge4mm1mjjle2JcyduPjVQYU80F2mT0GRNo/Mh+davQ9zGgT662npwRoLu/3nHviE+NQrSswY/vwhz8c73znO7c9/+xnPzte97rX7UujIiI++tGPxs/93M/F3/zN33Sd4oqIeMtb3hJ33HHHvrWjnX3+8xGf/Wz5N5ON33H0OCsHdVcV2PE6vYLjNlviRWGGxeknvt/5ehxdDlbeGZh9oe3oEXgvQQg2wBQ0wZXr4+HzWMxYsdgWFgqnmHPs7kvaPTZW7AYBIXyWU3YAM2hTnE1O0dGnBln5enjQz/39xfugo9GZOD00OFiKJWEG+vvLvLUrjSKq+hVXoRAMCHQWyVoUS6rKwl9AnFkaHgT33EaALj+zxqaO8fE8MIDC0QFKCFSwAIh5mXcG3awH3wUcnYbZEsYsi0XZddpZO53rVB1tu3SpmIMwTPQ3lD+fxc7fzA19SeBw2tis6shIeTrxzEyp+3CKlrlx9mwRQBcXy7XB+mG9k6qcn6+yT041ePdM2mF8vAjgAEAADWvIGzNSollEanHphQvlvLZuA1Bz8mR5zdyTKgtVKa/HRkerB49a5F6nGQSUw9BZb+K5bH3W+fOFD+d4A1LT09NlefTMTHmKMIAc/+JjLLiHlg8opH3WBK6vF3PMAMtzFCDjdJM1OvgLbybxmWwKJybK1wLMmB8GOOvrhR8xqMoSBKdOvXHBDwL6AYknTtTHymtluwYz586di1/+5V+Ot73tbZXnf+VXfiXOnTu3bw37f/6f/yceeuihuJVTlKLQ4/zAD/xAvOMd74h/+Id/qH3fj/7oj8Yb3vCGK3/Pzc3ta7swnJrZB58pkitBsm4ka0yse8GpA0gcfL278UKNKCc4wZ9AkdNLrpSi7Q7iWQNjhsai1Zw/9zUgmLWwkut3e+gfQIM/g/9HVClrAzT6wI7Noj8WOa/HUWNOpcBO4XgI1qSaTMeTMmLB0x/oHsbHy/9Dx09NlSkHizkBJ4uLxamz589XGQinmGB+6KuI8l5MzvfjpBhzpyQNEmZmqqJf+tAOzv+jz2EkHHBcumt20iA263o8zmYjYZxgR5zOOHmyeL0r9wiujzxS3mYDsDo1Vbzn5MkygNNmgy3G4PLl8oRvUjGwFF7bFnL7b8ScWR9G2szz0z4CsGmA7oDFPCVAAV6s0eG99DnBjwfpE4PUvEGZnCzHzewdQRCwin6JNpMeY33Zf7AWAOzobEjV8Hr8zPh4ERyZS4AZ0h/WHQGIDM5hTQ0MALDWmbC+2KyZ5fTNdQE4rPcTJ8r2rK0VqVPOG3IbzeJgzH02c4yN02B9fVUhtTVN+BlvApgbEeW4ESOojGL+5pQrfeWTfnO8IEVFShbBeF9f6cecOTgM2zWYefvb3x4ve9nL4g//8A/jn/yTfxIREX/1V38Vd955Z/zu7/7uvjXsla98ZXzDN3xD5bkXvOAF8cpXvjK+4zu+o+37hoaGYgj17QHaE58Y8dSnVlkQgwoDk4hqkDaLwmLzpGX373QQDi1/rsGKUz15V8lEtI4h/02eP1cI4QTZnVCd4rwt14K5PNRtwqzB8WLNYC0LXm18BsEAZ0z7+X7n7/OJuU6BAASyHggQ4N0P+ojMsuXdONQxGhBXLDhlwXgRKEgLOdVFHxmUDA6WFDE7MAIATt07b9KQgGVeS3Dj2mG30AxY4+BSWAuYvXvjwSm01pPAYOG0rRtj50hQiii+8/z56twH4AHEmKfMJYOphx8uQASvc58BkGZmqqk3a1dIf1hnwo6c3am1ST7gjzlK2gyGw4JOG/OYuYTWhWseGChvbQBwQszJ2nTVWD6awak/xsvl0P7dLIs3GFy/D9Lke31ftZx658A4p0hcVXfqVBEkR0dLTRSvHRsr/ez0dLmWAaF8L8AeYwNTV/2ZQQDz3b6DjQn3n+J+Zz7kDiaVdvM9PrMHsDc7W7BZnDDNRsnMOICQtW5GEuDmjYU3nIynN9Fojcz8sGbtJ5w2t4TBxwKQErz//vJ7YUgffrjeT18r2zWY+cZv/Ma488474xd/8Rfj7/7u7yIi4pu/+Zvju77ru3bNgCwsLMRdd9115e/Pf/7z8fGPfzxOnDgRt956a5w8ebLy+oGBgThz5kx86Zd+6W6bve8GPRlRLoqIMiXD7xFV55pTQu00NezmmKwGBt5N2QmZWrfAzVVMdiQsIJcC5gBoLQnGLgtU7x05i4zqjAy0nO/NAMdBMaKqvanT4LjaJ4PELMbm82E1COQEQfqExcri9a4Np+ZgzQ4L2pn3mDbPgvCsx/EukWA4NlYGHxy1tR4457yTJcgBci2EJRgTnL/whSolbpaPPmI3R38DRgxcrFNxhZmZS3a5nDbM6/geQKWBDAEaYJf1HAQMV/zMzJQ6COhxn+3BzpMgiMaC93LQ3OMfX3yGmZ8LF4rXP/hg9Zh9PssHw2XmlV2/q0IygLdPMMO6tVUEUfqPhwG0U4v2P/QdQNfaMwKX2SC0XRbNW28CC0Rwt9bD96VjzuZ0EGPs//X2lnqge+8tdS2UjMNqwrDyXlJ3mLWFPiOH9I/1jdZ9WPSKHgk/tblZ3gyT+cL3chjk1FS1yg3W6cYby3EC3MGMkR6cny/m0MMPF/Pr0qVifJzmZ054o2WG3Fod4gn+kI0sfov5ZF2ez7ux8VnW4HhT64rBvr5CQ3qYtmswExFxyy23xL//9//+qr/8Ix/5SNx+++1X/iY99KpXvSp+7dd+7ao//yDNgRLQEVEGJVe+4NiYYGZpSGOwYwSMGKTk5xxACPQ5nUVbDKQMUkxFcj05wGbRpVM8OS2GOafKd1hM6PeYTclVCKbesbxjIMdvhobgy2K3doA+czotolicFy8WjoS+9u0DWPz3319NzeVdpnd61iE54PBedks4IY9PRDm2vIfXsvvGESM0pHSaXTef47HDIRJQ8vz1HIZVsXP2jpTnJieLn0NDZZvQDfiU3MuXC2ftuWLWrl2fMh4RJbhzcLbuhrV06VIRHAFgExNF8GGXbYofxmR+vggoDnDMZ4I56w7B46lTxfX7+H+ClRkA60zW1soxpYqGlCRzhzE1YGRsuHbPVQLm0FB17dLHsAasHQfwtbXqjSjX16tAmHQW1+BUGqDZc5WAznFjlKab9cIHWb8HAILhYT7fe2/ZB2wUSFUxN6enq0cZ0B5vDq2rAWhx6F9mneljl87PzlbB6cMPlz7Z+hIAqw+yM5hnDdE/09NFBVr+Xt8f7OLFUmcGW8X4LCyUa8WbVubT+nqx7h54oPQF+FzGj1Su2SHGvK+vWjVoDZMrEFdXq4Lkw7A9nQB8+fLl+E//6T/FZz7zmYiIeNrTnhavec1rYuqw7zRVYwd1AvBv/EZxArCNwOUetZ7GwlJ2Okx8drvZodcFdbMcESW1aaDC7xYnOmhldE5Qc2DOmgYvZq7RIMo58gzEsgjYzElug/uNBztCApSrvPwwSLFj9/eyGH1vEwwdQn9/uZM0ALA4koBjMSpOy8Jvp+FyOtBmJ2JBLlUDOFZXd6H5yPfyMYA2cCRtAF3ugMQDQGiNloEZ1xmxXaNk0bRZK9gAl3Cb+bJjtXaG+ceumaDY01MGD4Ah38M4oXXh4D6nGH3NfAcUPgHFmw9vOABzLk1mXbIWGSfawd2gzTAR2B2AJieLHf1NNxWfz7pxHxqsmv10msHpIuvamBcZ7DLOvb1lMDVo9HrKjBJMAQ+zwwAf2sa6Yjz5fFfVGeCwRnNJsO9jRHm6z5oCNPCdvn7WI5opVyahczGzxMGXTkl7M+C1w7XDXlkUnf1/PuMJoTtznPXNmMMwXbpUPRgx6+PQ1jBmpGt5zgwOzw8NlUJtyrUN7Dc3i+9dWqpqbYgZvb0Rz39+xD4WM0fEAd/O4CMf+Ui84AUviJGRkXjOc54TERF//dd/HcvLy/HHf/zH8axnPWvvLT8AOygw8zu/E/Fnf1Y63jqwgqPNVUsEfCYXZvDCT++qmYQsKN/DxiJNq/5hRCJKR2adidNQFokBnkxj+jrrxMAOnhYP5moifma2B8Yn94NFwnV9mYFRpu1hPSgrxXm5b02r+3vNqtBvEdXrM2Nkp2LRLeAGszOkbU6x+IA4M2aY05G0D8fpsXDfucrHO2gew8PltSGA5YA8gADBOZeeAkacMgNAIZz0uRmm+vnJXPAchSrnd4MyHD6pQYSd/iwCj/u4ToPkVCIpHeYX68qlrX4MD5d9ePJkWbnjebm2Vh6cd+FC+YAdMHtpf8A4zcwUn80pvb29VZ1X3rAY3DAPWDs+u4TgaW0NvoT5H1HdGNVp3FjPPEcbfLqzfSPrAYDhSjOnQwFLtJv2uioHXwpwMqCGhSANxDpxyp/vxx/gJ5xOoT3eJFp47zQzc9egnHEcHa2KxT33eA4dl9lQxtFapY2NEuAAclizzHvmAevS10xmgHZubZUMED4jonwdekRfn1nA5zwnosNB/nuyAwUzX/M1XxNPetKT4pd/+Zej/9Gt5cbGRrzuda+Lz33uc/HBD35w7y0/ADsoMPPpT0d86lPbKXIHX2tUMrOBk8CBsPOCbrTjrQucLBo7ZetRHPT9sFjMQkrT6Sw2p0UADWY3cmCI2P7TgMB9YjCCOZ+L42SH5GvGHCzyT2tleM5VFt5lZ6DhQJDTg/l6aUemXwEmpmadSrKD8ef7+90GBwSfDYEY2ZUWUMgAs4hyt81puQhZM1AyaCTPDuvBDhmH57ZyfWbLOM8npz7RGrCrHhgoPpfj5blTte87ZNABsDHr5rQF848gbnaPPvEYwhA4EBuIAvoQLjPmrirKRjqEPrA+CFaCtci8mZ0t0hccsQ+o9ZpibY+OlvqemZky0MDa8fChdIyv15+1dl7/jKlTCRhzyvN+ba0EoWZes24Nn8A8NgCnfxx0CeY9PVXWzPoWa3IMyqwbtMaNucQ6gTlx8HafOw3M5sJpKZeLmwU0A8lazn0NePYm0UAIFpTXoR8CbAPErLsBNPvcIld4wWqOjpbj7EomrpN0qoEP880pUtrwzGcWgGY/7UDBzMjISHzsYx+LL/uyL6s8/+lPfzqe/exnx9LS0u5bfIB2UGDmvvsKMVjewfM7ux3O1zBdSJBmAZjqxUk7ZWQnZsds4S8pi6wL4cEi8TkU0PgO/lljYbaBtmE5R0qwcYDO9KcdHJ/lYIcOBqfkU1NzHzqgmhUyeMIAL2YjYCK8e7HGKI+BU1Q4LO8Q+dsiULNP/G3QgnMjwKPvAKS4JDRXsLj/6WscFn3kyiO3BYfFUfvsQM0OAKJgLFxF09tbrbxyZQ8Bk12uAbedJQ8OtON1jFtdGtVzEKeftSOer6wdxpcADjvg1K5ZTZ+H435hrVnQy9yj3z136f+I4r2Tk8WBeTfeWASG8fHif54/BEXK9h98sCjZJ/3hIEk/uKz6hhvKVCJMBcDGZ+kAQL1e7MPwE9agWHdlQBZRBYisIfyA2RtvWlzZBeggeE9Olm3Lej4+yxse65Twh95AkF5k7AFS3lhlPYn1dWZu3BY0IwZbAAQ0Q65k4z0AbSofDVxY87SNfjWTYz+Av+jtrTLFnkvMG27j8vDDJbuUtY2wLq1W9fwt1iZjwDEK4+MRz3pWxItfHPtq+36jSdvk5GR88Ytf3AZm7rnnnpggefwYsFardOLOrzKZcYRG9gYNPHAGph5zVRITOlcp8T+AicEKxgLMQIJ7S/E/rsk/bQYK/pyIKgVqh2ZHh/OsqybI2p1MkdvBEvRpp2lofmbWxGCQdj70UPF/M0XkgRlPtxNwgOP151tXwnU7MHg8fS6Jd2I4DMAKpcMEpP7+0lEbSNXppNw3Hl/GEYN+v+WWsiLF1+/gsLVVBlOL0bkvTm9vWSX18MPFz9nZ7VougxKX9pu54/OtO8BRO53quYdzJTC4kop14DQsAIkxdFDxfHAaYW6u7HtuO0Fa1qJzs1tDQ+X3sBYeeqh4OG3GeFMhhKh6crI4RI++g626dKn4fsaENBa39CDgcV4KO+pTp4pKLeYTKQpSVmbdMsNMX8JqTE6Wwc1BPqI8jM/glHlk3QmfBxvW21v2LzfFtH+0P6RNBj2Mp4E0G0tejy+iL/kO5h3n8Bjk+ViByclqyiX7AM9RNrQGFQAbzjHif56HXC/p2boCkMw+IzQ2W3vmTHGMCALwublyjV6+XAisH3qoygTCsqH/A8S0WmWM8xpaXi4+47DvA71rMPPyl788Xvva18b/+r/+r/FVX/VVERHxF3/xF/GDP/iDlVscXO/2yU9G/NVflcifyWuGJadxfOfmnNLxDsACV/5vMSRm5iOiuoAchHht1pLwnrwIc96d9xtY4EycRjGgc0mmc+wZpLDjc9UKAcI5Z5xLPlGZ6/Iu7/9v792j7KrL+//nzDW3yUwmCUko4SLKxVu+gsBK1X4VgtplK0gVqLBE0dVvFVustlVbFbTLBQuqXbVaLxVLbV3ipcaqlaUoN6VIMRi8VFkEY6ASxJhkZnKbmczs3x/795r93s/sfc6ZyTlz5kye91pnzeXc9v5c35/3834+Hw3B8TvyL+E89aNoOI/P1tCgKk1m2eDc2ZkNcpp2y+qKQUCNsepH4nMhJgxybJynqpiayCkDVXp8fdGO9DqKjL7cj963WRb6JCaP12PnzozE0560TjUDi71vfP3QFvBuqHkaM69eC+0Ufwqv7+7OJi4NuQKIs5fwVcFiMOZBWfIeFJgVKzISwHtGRjKPAiEyNWOSEcZGfYTsUBQoiwMH8nuwMEGzhwmpv2b5sA4kmzoiXZxJEtVrYsLs5z/P6hjjNLsBr1qVhgxYJKlipgoy/hT12KhqoGMDPxmHtIxVsdEQvR83aVOAdsT4QJ1yDdo/aSPqLdNwIuOEV9MZQ1loMk4zwVMHu3dn162qCmMSZApiqtdH2ULa8PERHoJcsgmkhsnUKK8Zm5DwsbFsH5ve3pSsMB5AjrTOnvIUs6c+NVtE0j/84a1c7+RkfnEBWeN6W4kZk5m//du/tUqlYq95zWvs8P9Pw7u7u+2Nb3yjXX/99Q2/wPkKYrisfnzsWfeTIFbKg06ocVz/2WqOU3lewz9KnpSo6GrBkwkv5Rd5egg9qQrgN8XiO7wRVSVqyAegHJTQ6SSNJG6Wl3RVuRkZme6PUbWnKI3QS94qlWrYh0EOAxzXrynKTDBcq96ThtgYkCGh3AuSs687XUnyO0SAODdABVi+PDObMmEyGSqp0fCfWT6corF/rk3j6+p9YKDnngkrMTnz2SqBDw5mA7wSL+6fdqEToJJFJTVaT/hV1NelEwkTPiEKypAVuKpk1I/6niAI9Bs+X31pExPp+1etStsG/YR6pO44DNErT6hOeHgOH84mDLwOO3ZkbUkVOw52hDz396er8BNPzOr1wIH0u/FPUGZMPL/5jdljj2UTMvW2cmVab2wmWKnklRvNmkMZUBWD8UY9N7RbHx7XMJCOH2ZZv8Cgr4sf2pPukaILPzX5ap3pHkzd3fnwnoaONHSIsqZhSl1oQrB5jw9ZMRbyHXhWaNOqcFC2amyn/RDShTBD7gmZkWU3MJCRN3bmVeWOkDsqzrHHmq1fn4Y+2dUXAsr3s90BmXm//nW2d8/EROZtaiVmlZptZnbgwAF75JFHzMzs5JNPtiXkas4zNMsz88gj6cOrKD40pPDEwSwvSepExmDsw0R0cJ2ovRlYwxs8zPKeEMJjmjWjCoVO9HRSHcwVOploxgAypcaACS/o9evfOoFCVFRBUaKiMmuR8qNlogSFzgwRZVIgJVHrRkN3Stx4P3XNRMT1KuHU+9LVj9Y/ZU05Um8MjLzGGwo1tKZ+GgZXPDG6jwUThIZAPXx9q8JE2yJ7qchnpSs2yktJGCZG9WIwmKuiyLUwwWndMjFoWJK+BUmgjNXkWLR40HJkItC2SF/RdqsqFCQXHwwkj1W3TgaqIPry1usg5MeEodepYSTUG46mYPLSNH7Kls3pyH7R/qRloWHtRYsydYgFGteoyQAa0uHzKE/GBkJV9F3tX7QDrX/KRetfxzkdi1RB1UWbLmK4Xl//fD5tnntTP6P/TF5LWfA796NEhj6m47IuHBlreJ2SW0gFmYWognoQq6pjGuZU1Vb7G/XpdwemvqlrQlZdXVloDAWZEBn1ecYZZhdcMH0sORI01QDcbmgWmSH2qKsJfZjlfQsaimGg0Rg+nYzXegMunVsnOr6Ljqc+FE3X1GwglXJ1ANUQhVk+LKHxWt1PwmcI0PnUb6GExcfIdcDgOiECStK8lK0DmkrLupLX/Xv8RlasZCBd3jfjwy3s5aK75UL8+N0sqw+f/aVkhcFOs8R0daekScM4SmLJTCIrSc+o0XIzy8fdqTMlfHrNOuGoJ8G3a4UqWx0dmapBmjSkSdusWd6EzqDLddB3ICFMlJSzljXtFuKrA7u+j/9Rfhqq4XqYnDTsyfXRVwk3aDlrqrOWHStnQgKszlnt/vrX6YP9QnQCVxWHdqGTrFfMdHxQUyYTKtfs0/4hO7ppnT8JmmuhLfgsG+5bFyX6fggmSp4SJq1r7o12S1kqoVCDOqhU8uMBY4YSIMrGq3gafoeA8pnaPxiDILZ+cal9hbrShZYudH3yBUqnKvL0LdRZrlGVKhaGSph1vxzaNuM8OxcPDua9OF4NpQzUsmCWjfsodoOD6d+0p9NOM3vWs6aPEUeCppCZK6+8sq4v/9SnPlXX6+YKzSIzDIS6AvK/a3q1ruj0YZY1dh0M1RNBo9JdOpUEKUHRVbRfufgVtqYIaoqibkVP4+Z7fPZOEQFRYsI162ZmGvbRa9b7p0P7AYXrZvWgG6fppl1cOxOUTsoKJZQ+rKW+H/Xf6ERCHRYpF1wPWUpMipSRStuswlVqZlLQLClW6b7X+gGPwVnJGYqNmk01FKplot/hy89/Ju0bAgN0AzEmSVUgUT4gG3weA72uwGkznviy3432JfqNhjx0kjDLq0tqnGYCQnViwlc/C/uF6MqXOtUzpQhreOKMakSYifAjOyWrKbdINVHjvxIFTTSgHtQQTUaaKixc/759+bO31AeBmgNh9gqIEinNqlK/lrZLVYApb+pb218ROUdl1vYJWVbVhLqiHdAGlGhSF/Rfs+kLSa6Nh3oX/TXThnThqAsFHdNRFXXM43cNbQH1yUCeaZ+MJbrvkJJvrlHVYyVROu4zFrAo4L4nJ7PxgzGUeyNk+oxnmL3gBdZQNIXMdHR02AknnGDPec5zrNpbNm/ePLOrbTKaRWZ+9jOzbdvyjd93BC99qw/GeyN0AqUjmOVJSpGKUiQ9Q1I0lVdj4mqa046nJk3N6FHJ3U/8msmlhIYOoKs7jakzOXlFBbKiaclqoNSJjp9aJiopm+U9M5SnWT4EpCszLUsd/FRR4XrV96NKAnXI92g6rR/IdVXMe6l7Dx38zPLtwa86IQA6qPmQHG0KQuj3rNHJEigRo959eAfzand3NkkyOCpp091sleAU7W3Ce5VU6kCr8jxlrwRO61LVPNqIElRNvWcCSJKMhKh/A7KGF8OrepA83fOFyZ3Jkf1odAsFDW0RUoBg6GKA69Hr0K308fZoX1SPDCttxgzaFqFoDU2Ojmam1N/8Jn89Oj7pxKx+OM3C1DKinBiH8DcpydbxRMOLfozU/q99Xb09PKfjCOWioXlVYhgXleBoG/ShfCUu3KeGiykjoP1CVSFdFFGXjCOq4HANfKaGQGnjtCf1QHJfumcS14aqy5hAXVBW2teSxOy3f7u1OwDXbQB+4xvfaJ/97Gdt+/bt9rrXvc4uv/xyGxwcPOKLbVcMD5s9+mheomO1oMTGr0RpeLpSUBWFxsj/vGmOVDndIltXwCpv0ok1rs0Kq4ik8Lt6P1SdUAlfzb86ibLa09W8rthQgjTlzywbWJh0dSJjItCBBgKh5mBPtBjEdbLVQYtyQ4nSPXg0xMBEBSADaqbUc4j4nw9NqWqhA5CSIz28VAdsJQsMdFp2DJw66DOJ81pVOPyKmnLG4Keb8unmWtQ79b10abYyRoXYty/tGz67ARVHVYNKJR8K5fPJbPPeBd6nIToltZQJkwptgSwaLTdVAKhLNXuapfe0enW+/JS0o0bt2jVdTYRI+rCEhuUw6WrYsbs7C4/295sdf3ym+GmKL8ZePavr4ME0/M3nQ8L1mAiz7HBMJbX0S8JHepju/v1pSGxoKP0cdiOGGGh4ScPj9AutVxQGPbh1YGC6v089g/xUMqLqjdYbbZU2AQnVcLh6rigrrd+DB7N+2deXtgElmUroNcFC+66SFdqoJ9UsYlA+dIsN2jZGYJQfDU8xPvG5LAQ1dO7tA5QTGzXiqYNMMfZSFhyAqWFhJau6OGolZuSZGR0dtS996Uv2qU99yv7rv/7LXvayl9nrX/96e/GLX2wVH8icJ2iWMnPrrWbf+970mLVZuRdFCYpOmnRwlftUYaHhq4SscWTPuv2A630eup+AennUn0NH9jKoWX7FTkhHr1k9NbpfA4OMeh9UTWEwYZBgRatGZx66MmYShXR48sJkrfWg/hDv46C8WS1BSiAmWn7UiYY3+C7926y4jahhkMFB089VyoZM+pW2enD0M7XtMbEqEaI+VJkYH8/KTb8HyRw1QQ/O6+5OywSTq6pQlUrWRszyhFLrR4cPrkPTeXkt18LArgof71UDuU56Zlk9Ubc8p59vNl3d8gQZsqThDq0n6qqjI6tPSDP9SutI/VHeP1Gp5Hd2hgDwehQ+CM6ePVmb1RC0tj36pfafIs+JEgU1cZNNRTn4hRqkSxUp7SP6ehYSkBt2lWXMoa3QTrVOlEBQrxoyVPIOYeZzyf5Dlfaqn44HQMc66mFiYvrREjr+6qKDh4bbWXDo8QVJkj/4sqMja4OAz9dQO2TDq8zMI7RxrterSx0deTWQRZm3DWi5833Pe57Zn/6pNRRzYgDesWOH3XzzzfbpT3/aDh8+bD/5yU9sGZshzCM0i8x861tm//Vf2aSgEqV6UWicGuZR0xWTlaooSlJ0BaAeC135wO5ZYTKZ6Ht0Zat+AWXwNGaNyet5J6gYvE+JinogGLRUBvYEzE+UOinQAdVgbDZ9klLTKq/VVGrdoVVXcezrQdoqnVa9TkW+HoiCD214iVrldAYY6pryUDWMevZyt66WtQ0BJhFtOzoxqyrD9SgZ0jCPkkUlxUzgas5lMlJFwywfelPPhMKrURDJSiXziEAafV/gddSNkgmtLw0pUk+oeKqi6T3z2eoFUomeyU5X4KzUVY1Vzw3lobsmm+XN0BqipGyVhGmb4Nq814EwLH2ZvoL3hrAQm/7xHZSR+lEIj+h3Uy59fWn67urVWf3qvVEOGsbgc+h3qgIcOpTdM+2MetYQuSo4lC1tW9uIlp0uJpT8Qv409Arx1M0aITgaBqUe1EhvlhExFqJm2T4taqimT+nY5xMSxsezLCW+j3pS0zDjH2ONqpCMtSx0OC4CAq9jlhJrXSzq2OaVS+pYVfvDh1My8//+nzUUTd0BGHR0dFilUrEkSWyiLMi/gHHyydkKxzNiNeX5CZwVpzd06gSvjQViQqPxW2ZrR/bmzK6u7CRWGqy66XVPHH6ncyBH0/lUmvUdR1daGobiXoD3n/gVhH9OH6picZ8+7VTTT3VnZp20NHatBI/rVbWK1aGGPVTKVWXCLB/q0ZWLTkCsbnXVx/OUKQ9IBBMFk4NmaZFaqe2LFRSrKgYwDyY+9fKwYtP2CNQLwOCsoR1Wq5QJEyUKAERQFUIGb28eNsvKSc2qXJem7GtmIGXg1RitV9QA9RppHaHKaLiUe1u2LLsOvDWY2+mn1LmGyJjU/QJCQzyUEaoL71Gzv2bOQTwnJlKS4PdEWrs2Hx7lmvfuTUNReg4W94J5lPa7aFEaAlq5Mv3JNdLvCDXqY2AgK1NNFFBzNNeDAqB74PDc6Gj6/O7deRUJJUL3elLVW317nrBSHyw0eI+qFdr+IY3adkdHsz2IIHwQHOqUOWHVqvRv2qu2dfo8e/5wIrWO6d7LxG7OnOdE22ZO0XY/Pp7fQJFyIJwNCdZQpM8upB0sXZrVKW2A9kfI8vTTi8eZucKsw0zf/e537fd+7/fsda97nb30pS+1jlYHzErQLGXmN79JBwMdrFRJYYWhjVP9HRqqKMtcoQNqp9EBkEndG/58+EU3qdLwl1kxUVHFRAcDHRyY6HXC1/i0Xqv6PTTVVH9y/Rq79jFxNVJq1o9mtnipVyc07pcOrRlQKE6awmyWX3mow98sT76YxCEYOmkpVDHROvQPJjHvxYFAqpqlpI+BRtsb2Sm66SFmP7Ps+9RIqmEJ2qKuLvV+NPXYq2weGjKgPHXQVMVCVZmiUKO2Sw2ReKWKNqCGSpQF9f8wuSjRVVLDZytJ5r3UA6RL+xLXoFlqqKWqnGloSRVeNaSqqqfKmaqA2rbJWhsYyI4f0IUSRyM8/nhGbNhYjXrQhYmqS5Bq3Y2Wa/cER30iPvtTSezERBaqVCJEGepYSd/TPsxYArTu8Mio8uRVa5RNwkea3ABR1c/lM9RfqAqftxEoAcMcPzycH7sYY6hj2oculjU8yfeQYQdJpM/zOUpUfBhMfUx6yr16nFQVUvJLmZ1+utnGjcX9frZoSpjpTW96k91yyy22fv16u/LKK+2yyy6zVatWNeSCm4lmkZmHH063CGfS8MqLxvxVhaER+fi0l5NZlerkTyfTgYswioYSdFWoAxGTkqoUZvmVgA8DaahFr5Hv046qu5Lq5KoqD+WgZlKzbKD3JEUla/V2AI3Dc71qovNGWZXOva9FV+a6SlEPg3o91E+gzyFFqw/KnwzsyZpOvDq4Kggr4Y9AwvZSOxK07g3EAAhQMmgT3qCsE4D6anhOB1h/jZAADQOg+hDSU7JMeekKtChUVuQDoL1DVFAD9N7ob6oa8f2+7+GtYOLTkBzn6nizriqGkHbaO4RD2zt9U1PMVY1TX522YyZu9WtQTkz8GhIrCnlynRoW00mLk5APH87Um1//Oj0nSTdqU0Klixo9yoPvY5zQQxSZHDU0pQs7+grlyF48Wp6qYPMc7UDP56IfU8caWtOkBq6FNqChTfqV1puq0UoMlJzynCqsRSEiHbe5N66LdqE7A2swhM9h/KBdLl2aqjhr1qT12tmZH2d1mwddBKKeFW3ZQX2wIKRsenvTfWae/ezp49aRoGmp2ccff7w95znPsWpm3y996Uszu9omo5memXvvzQYOBhHtKGZZg/aDMGxa955QAqPqAO+B7avvQVetuprUCd7HQnmf2XRlRVfpqvLo9emgqH4YVTBo5N5foR1GDbWUlaoW6nkAkA01vfI7nRroSlYnWC/l6spdVSuVtvUn18gEoOEaBgkfXqSc1VeiAzYgTOQNp0p4mHz9xMj3ejDBKsHUtqmrUkg4m/Hp50GQ1J/B9Wl9KiFj1aqp4XwWJF3VRj+Ja7aZrr49sVE/jPoS9D06EXF9vs4pKzKvWD1DGvlc+qKujJkwuT9+596YqNTboV4M6lIndp24KBvqXz1lLGw0xKkkQUmOGrjZRE2zk4pAGGZkJCU3kBwNE/F9tFGAQuT9d/hMWAipJwSfiao36lNRzwZl5j2GOq4QclcvFOXI/XmDsY5tSmaUzOqC1Id4VB32yiLXh1UBdaSvL9shG1O2Lj75PK7lwIHs7CTuo6MjCyPRJjVUumJFWt9LlqTPsYDUg1R50Kf27cuHaFFxBgezI0tOOSXda6aRaIpn5jWveU1VEnO0gROCUS7UiKoDMZO//l9fx6CkE7iXkXGXAx2sdDWt5IGVZdFgrSs2JQ96jQyKuiqZnEwb9969+clTQ2vK+r08CznScJKqPxom04mI+DirOV0xQ1LUu6HxcyVpfKdf7TNI+hCbqjessIaG8koOhEQnHCUpxLT5qQOcKgJKIvXaAQOoki+dOFUG1oGUiUANl2Z5DxUDnmZuoXBpGxgbSwc8T4wZQL0xkwGRUGhnZ7afDZMXcrbWCXWr98937d2brWxRx5gUqN+enuzMqi43whWpld5crydR0zdQFNhSoMjfpMRVDaWUsapzXKtvFxoapU+rn4T+hSKibaVSmW4EVqLNtfF+/qZeIY59ffnNJ/kcQkZr12bXxu6z7Gi8a1fm1cJUz6TItSRJnmRCcDiaQcNjfD+hUsqK8iWEBWlmDNIQle7XQ3iVetUFCmoKYxTtkbbPAlDVZcZiXRCqcqUZZZTH+HhGRJkfVDEcHk7vVcsBgtPbmycZKLVmWVswy/vl6KudnWk9Pf54NgZASgYGUn/Pccel3zE2ls5vHFqpG7bSzoeG0ucZ38fHG09mZoI4zmCWuOces/vvzxMVGocydx2kzbLVoSopKoWbZRMIg6JOUqwcdPLWAU3lTJ0czbIOqrFXrknDUAx0OiiooqIrxiIPiSdRKqN68qROfrNs1QJh8ORDfUBMFp6wUBc6YTMw63UwUKmCogqIhgl5AF6rkjerdCVGyL785PpU8VAFyqsoKldTxkpOq0FJmIbr1KxKqErNvKwWNcau8GoCBFmJCCtBJhx2HaZ9+bJUEkC9KZlk4tBJgs+g/DTzSycL7Sc+ZAUwYnJeEXWKXM+2/bQdDSP6bBJNR/bhCl3IaAjWl69f2XvFVdumnmlFn1bfnfotNKNSCQ3KBw9NvdfQUG9v9bY3OZll8pAq7gmO7gatiybNAlXPj/dwYMTVcCsqjC4OvaLh1VifhKGhPOpF2yCkXsdwPz7QPjVkrYoY7VEPIub6aG+MAdSletbMMnINEVmxIiNCqk5BilEYKS/dhkP7rtZrZ2dKcHS38GXL0u/gjKZduzJ/06FDZmeeafbKV5a3jdkgzmYSNIvMbNuWPphsfEdRhUQZvE52OpD4kIdZfiJXUqKdSxuhrpb5WydrL1nqJG6WrXi8cqCrPP99+p3aMSB0DFBKzsyywUMnFq8a6QqT69EBV6VT9ab09uY9Gd6PoqvzWoDM8V7db4HfKRuzvCfKq0bqP/L/4zMgCABipiqK+q3M8t6WIl+SH8iVxGgYo7MzbwAkTq6b56lRm+8n/MDGXrQjJj8lcxomhExqSIoBXNsqbY0JxBNFDduVma613WgKrhJ1JdqshDs68sZ8b1hVQNCVoEDOUQX4HMoOgqPZhFoGvI77V5+DJzispAkJUP+aqaJl4UOFqnby0MkdYtPfn7UJvd4yTExk4TrdC4dQJsqO7hTNPRaFt2mjui8L/UbrE3VaCQ59mr6MosNPPddOFWVIoO+/2g80TKhnI+m41t+fGbGpf/0sbTMsQHTnaF0QabuhniCg+FuUrGnb5fMhnqgvPO+9R5Sxhph0wWWWZviecEL1tjBTBJkRNIvMPPig2f/8T8aadaWn8VUfElLvhoYp6CRm+YFOV+2q1PA67ynRyUzlUb7b+yogJ76T6gpB0/d8iEZDRepFYKJRj4iuSNX3oAONJyt8r65iWB0wCOnqVQdB/V4fbkBeZ/D0pEdXWEokNY6OYqBpvxpf9+2BOlWyp6shDZ8pKWVSok6pK8JO+toiKBmmfFRi7+/PJgXCmrxPiYGWJyEGdncFSOasjLVuKAudNM3yvqdKJavT8fFMmof80maRxiGvhAqVvKu8rqQZMkcIjPaGB2Dp0urqg3pR/Cq4CJqNRBmMjWWrZN8nVeVVYzTtDaAeslcSZa2kMUnyk7sSFe5R+xplrOSYdqfhRN3jhoMHOeuLMGO1hQR1gB8JxQaTK4/h4XxITUP1Wk59fdlJ7LRrwqu6AZz6CjXMa5aVh7ZXHSf8+K1jlSo42lcoM+qcxAZdQKj/j+9nTNK/afu6CFIFW8dd9TrSR3SzxbGxLJMKcq0EWOsedVHtAL29GeHnxPanPS19NBJzss/M0Q7CMGYZq1flRBm7WX6goAHSwZWgAP0soIY3NRLSOPkciIiGc7yaoiSEVY2qR9ppRkezgVEla52YkSVVSeI6lITpikLPHDHLrxJVstfVO9AQAh1MB5zh4bwSwXd4FUgJh06y+rsqKlynxtyJ22vb0BCUN/8hT0P+GLR0pQ150UkSgqQDsapThAZYMTOYMWGq10bTydXLoAqUSuiTk/mDCFnxU4f9/fk9WKgr6ol+wmpZB3PaHxO1kqD+/qytqv9MPQ1KivW+UbHwUezZk078tCm+SycepHNVwvg+Ddd2dWVb/fM5GrbQBQVtwPfv/v58udMm1PwL6Hfq2SE7zCwjYJ7Y6YRnlr0HgqNjkSoJ+Gdob4xxEA4mQQi/KkyEPlBwfP/gflasSH0atIHJ+uXh5AAAUJlJREFUyfT6fDiKfV2GhzNFZ8+ecs8K17J4caaEMOnS9lRto1/RdsjGVBVas/0Yf+nXlIkfD7u7swxP76dBFeGEefbG4p50QQZJ1P2WuCZIp18gaJvThaXOSfQXxg0WlSwidA8v2qQSGp7/9a+z+ms0mZkJQpmZJb73PbMHHkh/p6H6kI6GgXw4QWVGnfx0woNIKMlQEsH7fbgH0qGvpxPQYHUV4a9JQ2MaW2USxTNAPJt4KgOtbpCGZKr7a/hNtFh1e58D96myup6+7Vd7SvyoD76Xz9NVlIatmJh1kmQA8ERTZWWtbx/K8ysd3edFwwVm+XCfkkHN/uA6VclA6VL1iDLj87u7s99ZtRIKUcWI7+a+ua4DB9IQxtBQPlSC5KwhHk3l1EwvhapdXCcT5P79GcHmM/v6UqJMmAuFTiekoiwuPp860FW07m3kyUcRfFvRtloNfL8nOmXfw0QGOVKzrhqAzTKFZGAgIw/4SbQ86M86+StpJtSDCqZtmPphUURoiuvzqdEantbQx+Cg2THHpGnC/f3pdWv/1Z/qjUJZ0Wv0Bl+Mrtqn9Ho1TLR8eUqgVq5MrwnjPJ+jx6dondPuaJMQOwggkz19hz5IOasCzQKkszNTSCA1ujs1fZFxgTlEsyt13DLLkyxVxCCJGuIkbKT7RFHnqpxzvdqf9KgZPGbnnGP2spdV7w8zRYSZBM00AH//+5nyoDKoyv9meWIAUVFvhVle0ld/CZ/DQKsTgU56+lPJE5+rgxj/0981DqvKCZM5n+lDOj7OrsqMEgL1SLAyUlKiXhQGcK7PbHo5axhBSaASCvWbqJzMIOM3E2TFQR2qwqb3Sjmo2lLmO9Ay53q8H0jrU69F24CqAqooadYYBFG9AmbZLq4rVmSrzqLr9mFRiJeSCyT9JUvyhAIDsaolkBvNSFMDaZJkpkQmaNqXyu5FI5SGKxl4IQv796fka9++vLJFKGnFimxC8On8tE1PQMpGSe/jKlJyiuC9TWXfMzGRqRJqKk6SbKt/vf7e3qx+aGP0K/VQMfmqEVvbFKtu1CElytyzToTd3Rn5wH/BwsOrBpVK5sViMz/8Sbow4fp1YdbRkW/repQL7Zg2Rbticqdd+kmaMNmqVVkGlaonKOJ6krqGXFFDNVvNLAuZqTGY8Ypr15AgC0P8LrpFAkRLSZ/OH4yxStpQJVXdJpOKxRDZaHw2YzafQwabD4cxLmr22Gmntcmmee2KZpGZBx4w27o1a5wac9SQD/CTk1ne74E6ocyejqercCUeSlA8MdHXq/KgndBn93iPjldvzLJ7UKMdHVONnAw4kApdoQANuzF46AqvKF2V8tAsKN1UkLLRlS/kQ1cslL92cp20NfzkJWw6svf8qClZvUK6B4kOBtSZTu6ajcDgqaFBJVHAhx1Ru7zZlgkWUuJj6R0dGRnQPTqQy5cvzwZs/+C9mg5b5CPh3qkLHfwxFnrPCuWhKoCH1jGhI0gvZaChVIWGGLwJF/iwofqtisBkTN/TPlcN9BsNqWiIyh9EqCt6DKs+JArpUXWBMtXFFO2Hv+lrZhk5GR7OHzmgCxxUA5Q69WZoSIVxQEO/nZ1pG2PPm9WrUxVHwx+60NAxC+INgdEUbvoL1z40lCcoqmKrH4RrGRhI/6+TNm1bx07NEqPOdZGSJOn3s8MyBMwsG89or4wl+pmMObprMKZyVakZjw8cyLdBUuqPOSYjMShLjBmTk9keVKillJ+Of7rI1Lo444z0fKZGIsiMoFlk5tvfNrvvvjxJ0XCDroK0ATCZ6eTnjbWepOjKnvfzPg0b6OrQT8oKT7T8xK8rpFrKg/5fyY1uauV3QVYFhHticNOVNiEBOhPXp+WrRIMO5rOJvKqiq2+VtlGOdIBXXwhpuPo/zaDinnhvWYiK61FviQd1TrjKh6iYXFBiIF2EePDN6AqK76OcaTtMSEmSlT8TIKv8aipDGXz2F0ZVnZzxTrDzbK3UX8qQcuDsHs7KAXg3OE+IB+9VA28t5QeCU9SXPMnhUa1e1Y+jxvjR0bSMhofzPivtI/QpiJtCs9Toc4R79IGXBMNsT09eFdWwj27TT9s1y5QRDc3Qh/yCSo816OzMyIW2YcKhuigjjDY4mJKbVavStkKafFk7YYGpBMf7v5QADQ2lDwizhmcOH876fF9feh1r16bXZJb3tinRhdgRxlTy09GRZWSxCEBBok15BVj9iupxIfTOHj+QNTw8jLGE+9l9m7GNvX1WrcqPBdxLkY9LDcxmWX2ffbbZ5ZcX18lsEQbgOcDwcLrFt1m2elWigddB2buGkXQCVvUEJs2EoqESn3FglvfkKPzfPixUFF7Q33WlpgZcfurKp2gFbpZXLOiQGgf2nhzkat6nxjyuTZULBhw1jOKPUfVDQzRcFwenMdhrOaEYaP1BdHi9hky4HiUwGiZRqArjQ2ZFdaJ1TkiB9y1enJHlnp7seeqO8uZ6IGF4ifbuNXvyybTMaHcM3nwHRKoekuGhpuyJiSz0wSRLOzfLJh01kuqGZgomK1KQIVyYhAkTMICjMpllJKWnJ9ufw4fLIH4QA23PXBufUVbPOiEooTt8ONt4kPaqGxWqRwPzrKo5lJeqs+qX43MpM8IIrOb37MkvkhiHdJdlVVWYvFShZDEE2UXVU58PE7P638bGsnFy7drMY9fTk+1ki+KAunL4cPr3jh1Zm8Fwzq7FZFKp3446wmStoWzd0E8JLdlVnDA+PJxXRg8cMPvf/zX75S/TMmLRoJ5Bs7yypupQT0+24zKvo1/qlhKMcbpQUZvCvn3ZfkiEARctyja9w7iN6Z3jKEi91s8fHk430VNljUUaZIeFjfozta9wf4sWzWh4aDhCmZkl7r039czoqkkfaj7TjfR0wmYwVB8M8OTHrJig6AquFlkxywaWotewwlQzclHrYBDUn15hUe8EZM8sW+3p2UtMJMi4PLwapZ/FPVA2SkJ82I2wAxORmgPVE+TrgE7PtXkPkpfzCedQRpOT07Nu1GjrwzS+DPkspG1SiXkdnoPFi9PX+XCMVwcOH85W0uwMquVKaIZBVidWVQEhGp5k+O9h3xkA4WKFDimpFZriGnxIkHImRZhy0PqrR4VRgqLGTG2bRQZjTzZpS9qnfEiQ/sV+K76MmDiYRJYsySuAqv7pd6iSoH1MvTH0L8iCKhbcA+PSkiV5ogCZVV+atm1V/TScR2YMK3xVhVWhNctPooQiUU7wdUCO+RzaqR4eSr/gSABdICkI5e7enZJ60sAhs2y+aJYPU2HQhbCpn5Brod4giCh7mhzAWKahaFXdNcsOJQwVaWgoX/e6cOHeaHe6INMFIWZj+h3XRdtSI7VmhlG2fX1ZPU9MpHvMnHba9H5yJIgwk6BZZObnPzfbvj3fUfjdT74eEACFmmz9wOQzC/R3fX9X13Szqq4QlUUDrX1dqakSoQRFV/oqB/vvpcNwLwxCEBAd0FhVqs/GP+hcukkek49ZNlgomaFD+1CgDoZ6TyqPq79Jwzs8KEtfz57EashPwzv+FF1PbiYns9i31nOZr6QIapTcsycdtH2IR7MhKBPq3m8U5z0gTLYMxEzSeCpo62S9UVf1XDNljjqi+9mgCuCvYDOzWvDkqYyk+HBuZ2cmuevDh3mAho/4SRtUUzVtza/MuTZPiFBcisiTeu/0feoD80SDfqAp0BAe6k7DPezlMjiY/iTRQcMzgDFAy0gzlWgnamJlXKQ/aNiTeyVEpdlXmoFlll8s4vMizMXfEF36MO2DNt7ZmQ+hqReSez5wIFVxdu1Kian6YLRv0f4hpNoe1MeHqly0+GHcoZzUp+RDd4S5qGtUJEgW5F/Dp4SgIG2UrT/CgNA+/YKjFgYG0qMM2uKgyXZFs8jM0FA6QShqmX7VHOvDOkpaFKoG6ESMxKedoWzlqQSF69TBVDuQD32Z5a8N2VTjxKr8+O/kszyB0fvSMBsrYx0MuUez7G8lc6yGNDQHiVGfgydMSu40W8yTRrP85MFn+hAc9+R9P0r8fBq1loPK/wxUfDcxdkJi+tqyB9kUSi4mJrLJltWvtjW9L1W9mISV2GkbIsTDpmV9fansrX4bbSPVwqJI+qzGlURqCFeBeqMEsuyzdaHApKTZOzrBUi4+JburK7+K50H70LatfURVXCY7bXNK/jVjh4m3KAxZpJyVLT5ox9ou6efaFzCr6hlA3sune8qsWJGFjcyKs7M8weFeeT11TfnzPZqRCKlGRWTsRG1ExWRPFCVKjGH0Q1ST/v7Mj4OBV8OVSoA5lgF1RBVQxgqIBd4VXcihHmt7VVIKwVEljTLnfUuWZCSC+oTQUR7Ujz/uReciLV8In5ItypJ9fYaG8qFAjQp0dJiddZbZpZdaQxGemTnA4cP5Q8R0gPFqQhloiNoI1UBIZ1dWDvwkaJYZwvhsZfjK9HlOJ2xVG5SsAPV46GfqVuJKmrTzqfLAtXvCwKSCb0K/h1UFnUzNaGYZyRoZSVdJatpj4KZOtMwZ0HWyZxDUAVXPp1GSwkQONCyl8WTumWtnhamTYVHbwMCqXpOiTB7fLr2SYZaFDoinK3FWczaTCdfMT71ef4+8B98TIR/IDfXnSYYHmVQHDkw38y5dmk44vE5DakwCDKzaB7St1rNsY6WqiwQ1jfN5OgFADs2ycMrQUEoG9u7NK6y0S77HK3sa/qXPQFQYW3RxoQSJfkWIlmssCwlqyEPR1ZWdhqw+GAgOpysPDWW+Qcqb72SyhRSogkSb0v8xIdIn1VM0Npb3+iiB08XjsmVZn0XZJMyFyqKLEwjN8HDqK0FpVC8PYS/KT83A3d2ZIkXZU1ZkALIfDT4diJeGH2kXGmpSlYp7hsgTbmTDRLOsTZFirieg03f92K5+K8ZfPHhcz5Ilqfq5bl1eEYLw7t6dtfP162v3r2YilJlZYscOs8ceK35OV0Q0FO20/K5GVl1BFIWhzLIOX0RSVHmhMys5YdJUNq3foZ9Bx9FYa5kfiElCZV5dYWqYy0veqgwpdBJWwkMZKUnieSVj+j4mOUiMntLMderKz4cYMLVpeIlBxocRNHuJ8tBsAJ14lcByT7piZlDT1zLA8Dwr6snJbMDGSAogE93d+c/SVWtRO/NGayWYGoqijvmdCURj9pQN4RQNO3V2ZuSLsjVLX8/EwkTh+xD1p8TKhzYUtBtVMHyquSoY3DP3pQ8f9qU/+XtXaZ7PUj+YhnB95hwqAdekfZJ+o2Ep2ifQ+tU+Q9vxSq1vF9X+x2QGaSNlW3ct9pMwvhbNDPNKNGWmCzpVtihPvwhQj1eS5Pe5UUWJdqjqry5e6J+Mc/yPxZlZpo7QjvksJdjqQ1ElnHtWU7iqcIzxfM/SpdlePD092UJOy2Hx4pTEDAzk+4v6Mj0pU1Ks2XGaiacqIW1I959B9UFNWrEizfZqJCLMJGgWmXnyyZTMKBmBtfr9UqqtRs3ysc0yAy3PKxHSxqaTCvA+ECRFGqUaYL0ETaugs+vK1zd8vtMbgH04RSc37kl/FoVbuFdVAHxITFcsmmWk/iB8D5gfGXSRe9mOX0mKqi7Uq5InVTI0VKYEx9c9bcMPmpqxQpkpyStSbwiZMVnyvfgb6kmp9pOU/x8/tR79dervGiIhBq+p+UB9FsjhqupAVIvuuwxKKFUppd36Nsl79P+exKhnRb0phDVQKDjqgVV2R0e2Vwk73mpIQfsSE6b2Gw31avaUVyOK6tObl6uRO009r6WcVQMTNIbaPXuy+tfUbsYxiJvvs6psq5dFw81eQWRC1l1uqUtdwFA2Psyv16eqo+7zRF9V9Ua3xejpyf5XZPhVGwDfjWcIhV8zmBjf6OPql2Exxa7PuocS45OmcC9Zkl8sM05oMgpl78vb+6F4jvarBuH161MFp5GIMNMc4PHHUxNwLcBcNVauGTQ6mWtnVRXF+2l04teVj1cWlCzwXhos4QgdPLSRaqxdFQj/HWbTZXy9J32egbKMPqvKpMqPkgS8Cqr8aHkAzVAZH08nnPHxfEYNnVmJjv8+PpOBXwd79d9oqA4zoBoR1WtBaAJCyYBK1gnlwwACCaVc2bNFV8EYbQn5ES5TYlWEIpJyJNDQHitGjMzDw2ZPPJFK+mTx0DcwSiJts6uqHjFRpJ7o717hM8urR/hiICLqj/FqDytk7aeaqq8rdjJ+6DcQEDUQ02403dUrFDqRMukyqezbl9WTz75S0o1XQs3WZQQHUqbp55pJMxOCw0S/eHEaljDLZ83oydiEM0ZHs/syy6cFs+rXcqMfMH7y/j17sjCUEiNVDSArqpQwhqA8UuZa13480HZCnTG2qjo+MZFv15Qj5GXv3uw7NYTF+/GqsIs147KG0ThrjPZpltV9R0cacmde4Z580oHOSZAwtQZAeszyYSo9YXtiIq3bZcsaT2ZmglBmZomf/tTshz/MT6RMGspyWSX6kIsSFFaQOpn7ND0+H5JBR9XVHR0UJq1SLd+lsXZQFKryHhtWVJqtVRS3LoKufvWhHYf7LXpdrc9XaRejpGbCqAKydGm28Za+V1eOqgQxeKhio6EQnZBQATDj6SqSeldyo/FxBiE1Y3JPuurlfigr/Dy9vfmB1Ze/Tk76PTOBTvZMAkV/a9tSyZ/9Xmin3Dv3qioa9Y4/gbRbwhRcjxJb/1ONvHp9+rtuCsdnUmZeITXL+hR1xuTLKpnMKg3/lKXKm00nJlovqvJW+wyUDv2cImLn61LDIl45U8yW4BSBeyIsqrsKMy6qGqBGab6T8Izfgl/DoKrCQDJ5Hf3cq8Eo3ygOy5blvXpcD/cB8Tl8OL+ZHOOrjmH0dcI0SthZeKrRloUNdUJ/92Ob2gdol9yjLiaZO7R9Q2KKyDfP+4WYLjK5Furz1FPNnvWs2bWLMkSYSdAsMvOTn5ht25Y3VilJUcnPe000vssApoSBwZDJQ01X+l1KTpQQoagwCGvoQ1eJRX4VOrqqQvwsAh2UBymIOnEWkZRag+1sQBYBu2CqHK3eEcBKj7LRcJpOruoh0bRV7eiAOlUCxnVQrkpwmNT9iogBCAOjyr5m2WBIXWro0H9v0QTI9asvw6ycoNCW6wUy+uhovj0uXZrtV6FElclH9/MgdKPfr+WFZ2Hx4ulhIA3jaOinjDDrClXVksnJfGaV1iurbtQjbQ/el0J9KLkpIg8dHXlPj29L3oBdlsGo2YH1LjpmQ3A0zFKL4FQjw/v25bf7xwhOOTGB60GkfC+KDsqelh99Uyd3fvdhXNpnX1/6u/Z5nxChYVUWsIyZuqjUs6GoFxZVZA8x9hOq6uzMPC8kL6gfTOtI/49nSVU92r763KgL5gcWxfytYXNd1PI+DeGpSn/yyWl6diMRZEbQ7FOz1WeiJEXNs37y9uZJ9b+oB8arKd70q6oGg5WuMnh4P4S+rgw6yPuBSpUI9a7oZ+qgrspLo8Fkoz4Ys/Q6UC0WLcoTiGqTPPeHGkbZ6cTI9ypZosyVNHIdXtFR9YfP0UlKz0RRxaq/PzX5kbVhVj6hoWooSWFC4PO9ksJ7lPz6OlNPlCcGHR3Fe7CwymWH4jIlRX9S5mTR8CAjRclVpZJ9Plk0S5dOD+nqwKu/62oTHD48feM/yokJXEPBZfBhWg37qXlZ90spqseysFK9HhmtWyb7evpjPQSHBYCWsU6UqrT4hyrH/norlSwNmoM26YeEtTS7UBdPqjxoJp+a5vX6PbkBGmpEZfTbEwD6PAsashBVpUNR2bs3O5BT+xTK8THHZArykiVZKNxnSirhUvLEYozn1Zejhl7un2s8fDjfLpTc+3CUtqPeXrMTT0zVmUYiyIygWWRm27b0oRXtPSo6OHvHuPfBKEHRQdYPtl7ZUKLiWXQR9DN0gPUP/c5qKoqSA81+Kftu/z3V/BzVvpNJE28IwERKCnI1aBhIQ0FlUELnPUxmWT1rBpCuINWfwr3rREE2kq7EzPIZOLoKVtO4ZjcwoPkJQhUg2qvetyoTfK6GUoi3+xW4ntGj4R0mzu7u6URFy1FVFO8PMMtfV5Lk918h3dUTePYPWbEiNeGiBFVDkmQqTJEfqWzjP62vspW8hy56lDjqhFW2IzL3V6a66OTpDZz+c/gMUuf1c9Qkq+QXD483eGtd8vC+uyKl1o9JHR15o7yOjagwqDkQc4gCk7ZZPnOJsZd2ohvIadjSLBvDixZ8ukjF80LbLyJ6Pkymi1X6PNcFcQSUHdfL5nTs6UOIC18S7UU3QOTaqCP63/h4/nBgypn+zYKba9XIAnUJ8GyedprZ//k/5W1+NggyI2gWmXnooZTM6ACmhEXjtHQADfNoTNXL2zrpsWKoFZqhk+rg6D0p3pfSLOgKQIlCUUtDufDX6YmDpsX6gRnZlpX/kcA7+TWLquz1TKZqLoQwKIFVdYxy0XJgIKfN9PZm8XgGHzUKqyFSwxpMSl5a92QFQyBpm6gFTKi+zny4EROtGgGpCzKpisJWWpYagvKTnPaDIiWF38fG8icz6/4b+j1sNoYHhxAOkwqH8AE2/5vtQZtedeNnmSJIWXh/FuSEei96nyo33qhulvc36DlRnoDoZ2q4jcVXWci5yEStY5yGUPGN8EB5oB68wkrfLjr7R83z3jytYwYEm+tQAspYrUdIMFlrRlXRwo6woC7K9PRu3bgSolOpZGcprVmTHQqLh4twG21S96VRkghJYmdj1Ej6MItm6t8v3iA3EDPaKyob94chW717LCKUaD7rWWYveMH0OjoSBJkRNIvMPPig2Y9/PH1gNcszfH2Y5c2onsSUoWiy15WOkpTZDLpzAe8XqRXqYbKlAykYDBgMZ2Nmnc31K2nl9yKSw6DAgK6koqsrG3yZnCYm8sRXSS11q+qPfrb3iiADkwqsGVvch2Z18D+V/dVM6eVs3ZVXB1f2nqA9ary96KHtlH5QLQQ0E0xMZAcrQnL8ilmN84QEUPQ0JNYMqIKnP6uRHDWMqydPyaSGQ30Y0Cy/ySGeJnxNRTsfm+VNqxrW0eQE78fjeSXHuqhRMNn77D/ChfUorAr6qZIbJnRUS76PCV4XHrrw4logObRn1AmM+L6uenqy8Q6VhFC49lH1VU5O5lUyvo+y0513Mf76sYfPhaxzEj2kBwKnoXI8eag3nDul7Ql1j3lMFTIWmgcOpMrMb/92/XVVDyI1ew5AIzfL5G/MVv5AuDJ4koKSouEEbyJsV2jMXqEDiDfG6s68dEgm6bkmbbr6VTChsOeIxq1VlVCjnoYtaCua/cSkotkWusJFGqfdqRKmZIs9P7wKCJlQn5amqCogk4R1dBXHpOMnMt7DhKYZHKzOlaw0ui47O1M5fmAg/TtJ0msfGkr3h/r1r9OVr5IHJuu+vix1n999m23E9RE6UHgPhE6shPKUdPJQv5XWpffbFWXSsapHLUYBUPLt2yDmc59eXg8mJ9MJk71ovNKK0jg2ltbRwYP5RVut7yrqp5oZODqa3q9ej56BxgTd0ZGNR7t3Z2qFX0wyuVNGKKkQxsnJ9Pnly1MVpqcnfQ1JCpqV5UGYFy/YunWZ7weipGqkeuFIV9ewECSHkJeapznJmzAuahJEh0NcIbuotyzOOberlQhlZpZ49NH0UYRqXhRv2A1Mhw7QlUqxT6PZ0FVuWYaPGoLL7kGVDQZtH1rUyc2bM9WA6UMMEBn9TK4NgkWISidKBk71mSChK8FBAVDfQmdnfkt1BkW9FzVf+npTsl5vls2RAo8HZMAsHy5RlaIILFyU5NQzsdYDb4jVeuKhHgjCKLUM7GpcVROxEhr1jUCQVTWj7anKUfSd1CmqQpFSOjmZhU1UacWnAWFUUlYElKKZEJyia6l2Xywq6MOQ/ImJzCdEv8I3o0kcXKcS4iLFVVUYNRfzk/CX9iHeh3rIAqG7OwvTsSvzyEj2WZ4wqhVB98HhOr0hGuMyCo4e5QODeMpTzM48c2Z1UQuhzMwBVqxIfyo5USd9YPZgRVJktmwEiiaQot/rhZIC7/vQv3082/soGNA4kkBXyQxoqsKUDfqancHghP8GMuOzhnifGsM1S48wEioS11vW1lFvzPKvLTJZa/9pFNFHAdi3Lz95dnZmE4GfdEntHx7OyI+Sh717s9eikCnJUUN7ERHWz9JwTy0/ipaTGjSVaJrls7Y8SdWwGu/h/0zQus0CpASCDdS75VOD2QCP9ka4BYKiWXO0pzI/EuqeGuRVRVRflFe3axEcfC7+vpistZzMMmUP0kP4G4Kmh1ySuUf5ocIwFmiWEwuAiYn0M1evznuedOM8/DeUx8hIdi/cO2rv6tVmxx2XGY71sEgUl9HRtJ2raufN6KqgdnamxGzFikx9xd+zZ0+qXqHetAqhzAQWDNR8WEZQfDZNLXhCUkRWZroyRFFRQ6yGcnQjt6Jr5T6Z0BgQzbJ79KEBs8zjAOFmUOJRRMJUtlfCzn3MxCzNpM096UDqJ7QiJbOeciaDg/1IAKSDTe3qBRMnE4p6FspMzToxFK1yPdTg7/0oauTXCUbJikK9adW8XWoG9XugQGI1m61sMz41J3uDsdYBxvDBwdTLMZuFShnBKYInOBpG8/WmhFK/y6e8kymk5y5BJjgUtrs7Kwv6M/VP31M1A9O3bloHidTjEcgIxGNEO2Sc0GvXe1+8OAuVqsmfeuJzdGfssbE8weGhQM3UMNu6da1NzQ5lJjDv4Sf/IoJSZF6shjL1pMg4OVOwClYFxP9dBuRe0k819KCmRV2Fm2WTjJp9WX2X3aPfVwb4bCY9oZzP9UrK0qXZ82qW1p+Uu4IBWlfCGB8xHYKi0G1nZ/oZkA1Vfbq7MxWmVl0qEfamVSYz/E5knpDV4T0SgHqECCxZkq5uVZXAA1FEImeDMm+ahm71J22R5/FLjI3lza781KMYIFmY8PGMaPrzxETmmerpST93584sq6ksLbwIhKRUAaAeeOhOvPowy/tHyvyI2l/wEun+MP39Wfug3UPM6Nt6L6TbQxbw5mgYkP6tgOBr2dOW+/pS9YUQF9dHWAn1bP/+7JgH7TOaPAE/UPLGQ7PBIPCaAYXyg/G4lUcZmAWZCbQQmkVTRlD8BFEL1Sbvsmya2VxzNbJSjVRpKqxPnTbLh4eqrV411OPDPkVeFZXMzfLpl0Up4r296aBJyEQndyTmIoKjJIcjI/QaikhOEcEZG8s8LNyXKgeQLPblURWD9Ove3nzWj5IUzezRUF896h1hEkiSXr+WFX/judDXMsEx+WnKMCv4RqIsdKtl4jOrIDfUBSoI3oqurvy9QUp6e7MN3zSlVz0/SkIoU94LwVGTepmaogsD6qWnJ99euU/qAkWHa8acTnIB+9ygxKHAcD94VTDLcl/0PYAShOGf1Gn1wfF+VfBQ18yy6+/qSkM6gNCvHia5cmV27ZCRkZGsTlFiqENvkYDoLF2ajSujoykhUkWSkBplwnjTLFtAvYgwU6ApqEVQZuNLqUVQGuFX0ussIivVrlnJWVmvKiMbZa8pS1kuu0+f0eT3uFF4skioSdUdrkcNpAy4KvkXfb4SHH2/h/qA9JqLZH88LQysaqYmnVWJIdfBxFgN3hDtU491B15td0V1qeWjG7qpwsZE5VUuyLaSHN2nZS7gSQ7kS/0X+/ZNzwhjo0IIJWcP+bLRjRZ1Qzftfzrh0naK2r3uQ1QWFjbLE9micCgES+uFUA1ng1UjmdXSwoHuE6Pw12aWN3LTH+iz9FMP9XJB0Hp68qEl+o6OE2xySVuj/eID4npR2bRPQXpXrky9Oo1E7DMjCDLTWNST4TNb82w1f0ojMkeKVBVPVupVVbh2fb1m8VQjVX7g9WSl0ROWpn17ouPB6yBkmILVs8G9esOumj3LCI5/nyc4WkcjI9m276wO9awbNTprZpcvT+pEs0dYKSvZ0ntsVJtTMKEoyfEp9dyXD6eBohRrTz6bAfYj4RBErlfTc31oByVEw1OE3Xz/oN35IxMg9tQhn4M6ciT3Tn3s3Zu1LyU4tBM8K7PJwsOAq/VedB26F5nZ9DCnpobjdeN96tkquyY8S4QIaefqQ+Jk+717s/5L3XGQqtaFWV4ZXrEiJa+NRJAZQZCZ+uA9A2X+lNn4UqoZaBs5CDdaVSkiK/WqKtXIynzJdlMDr1+FK/R5Jini+EoAvJeGCY5JilCFZlUxWEMcNGZfFl5Ug6pZFmLj/2b5MlZlCX8Hk6DffHIuUsUVEAKd7CCfRSn9ZWZovRf9eSSEzGeEQebN8p4ZrlP3JeFn0eTNrrLLl2cqDrsAax9hoj3StPAijI1lPiv9XDXJY8wvGzdmQ3D8PRXdV5GyWESEeY7rgNjjw1F1rQyogPRHHZP1LCsdF7zvCCJGfTYSQWYERzuZKTLPFv09U19KPRk+jZwUfCbCTFWVovtUsqIKUT2qShlZmaswQDPhM2KKspT0edQSX/5I6oCVoBKaInWI1+Jp0BRo9kNhIlUVRfdo0WsuU6Y0lKTkrChVfK42rqw22VEv3BNtlQmtrByLwlW+jWs/4gTrkZH8eMGeJLUywjTsQ+hGzaRcl34GHi02dsNfoihKC/dQbxAeHj5nYiIjZzrBd3aWp+vzvqLMpiLMhuDUc1+aEYfvhhRr3eeG5zVERgo69XjoUKZGacq8WV659OM7/UMTEpTgrF2bPhqJIDOChUpmvHm2jLDMxjxby0DbjJWrN/h5slJLVVFTLVCyopvUlaGdVJW5AMRDzYrsSaITFIM7gxu/k+mgZanZFJgXSfmtVDKDJbH+IyWHunmh399FyY8aXzVFVvfZ8ZPUXBFXn2XiJzvGAg2NsZrXvuHHBK4fkgkx9Wm+OrnpQqZoQVOrjyVJFs4YGclChx6dnflN5zB0a//DiK5l42czQiC0S90LDII8mx3FUUq0b5SNUUVG22rfV899meU9ROxYzKaEan42yxN++llXVzZmUmeq+hTdM6+lnnt6sr2CVq5Mz5tqJILMCNqRzNQiKLMxz9YT8mnW6lNl8zKyEqrK3KGIpGh8Xv0b9bQzJlPi58jO6gOgrojDKzEoUkNmuk3+bMqgKLNKiY9PX6bNoOSgVOiJ5o3OQioCEylhHT0lvSgD0GfJ8NzERP4gRlQcPBKDg6lPgomvWQuZ8fHsLC1CP96ca5aVN+oNIUNtY6gcbOY2PJwfW3p6ss3fUC0aFVpUgqNZW0UoUv/KrkHvC3JTVD6oJ/S7JEnL9Te/yQ6u1O0POCahv3/6UQd6QCZZZ2T8KRgnxsfNTjzR7OlPn23pFSPIjGA+kRldHZWRlZn4Urx5toysNFsiD1VlfqCIpGgKMpPzTBQ7TXXXs8P8ni9FWVbI83xvEWkiFOT3ANEMIu/DaSaKsnj8MQKUoZaRhqj82UX1+jhA2ZYF/qcSRL8njq9f3SdGlTP6JinhkDPvOSry4zSLuJHtxOGK7H5bdE8oeSgstDPqh/LSlH4/vhalhTdqYdMsgqPZSd5wj9cHtQgSiq+MsbbIT0M/Rw3r68vKY2IiIzmcC7V7d2YKP/10s2c+szHlBoLMCOaCzKifo5qBthGbunk1pdlohqqiCFWlNhh4PBnQ/VKqpWAXgXJXwlD0aPSKvGhnVSU2ShZQQYo2y1OSMxckVcNoXCuTbFl2mJIcfD9kUGn2z5FkAxaNE0zaGkrjMMIDB/JtZNmyVIEZHMxSeL1aVW2bAU9wmkVyyKbSk6MhBuw3dPhwdh3Llpkdc0ymLkEo60mfNssmdTUWN6qdFamiRdcAifT9s8jvdPBgSiqGhqarKGSBLVmSqYiUB0cykCZfpL7QflFyOjvT1+mxK4cPpzsgh2emiWgWmUEWPVLzbBlJmSsVwWf7eLIy16qKJysLWVXRFXXRpK6Te72gLIsIgJKAZqSAzxZFBktN/VWfiz9DRu+rFRlJ6snRU4xHRrKVs3pW8Bx0dma7sOqmbXrOUhFJ8f+rdp+YednRV1UbzNVeNULt0PJU87QqVmUzR9FZP40mOfv3p+GTXbvy5AY/CJvfqRFWD2bUYznqSZ9mSwE93qGRKqFPTa+H4JhlZNpD0691z6Nq90V56JlQuhWCHjCJAgmB4UTwRiPIjKBZZGZ4OJXYgN/UrcxAO5eTsrLmMrJSS1VBri0iK7NRVYqUlbnKFJkr6C6wRWpKtX1eqkEnhjKScqTpuPMFRfJ8EdmbnJw+cfrQVLUN1+qBhn18qKdMedW0d83kYTLAx0IYmD6BtN/fnx1gORPSOTmZkSrdoblSyQ4iJLulKC3cA0Lgz2cqyxCrptT6cBW/10tyxsczcqZhPpQDlCXIpB7MCDo7s3YBwdF2ghm6Vvo036vkZqbhxFrwBKfadgWauVRGtFQV1YMzy+6ruzt9zchIShox/4+NZVmGes/HHpuenN1IBJkRNIvMQAiabZ6thkaoKgysRWRlNqpKkbKyUFQVPCk6SHrSUrRPSy0UkZN65OWjDWUERz05GFyLCI4nOex0WsubMpuwT7VMH8IC6j04cKB8otJDBzW0Rnvg5+HD08NIukFgI/ZAMUvLTcmN3/RQw3H1hEBJp/btn2sqOv2cIwIgI0Wgr3L4KGd36UJC/TKQNlVvIAZHmhbeKCjBSZK8CjUbKKFF5SFr0R810d+fZiwtW5adBUX4cmzM7IQTzNavb9y9mgWZyWE+GYBngkapKmW7sJqFqqLQiVF9ED7sMRPoChRJv0hJOdpJypGgyH9AfbH9fjU1pMjYWoRqYZ9GbFuQJPkTv/lZ1uaKvE0Az8jSpUce2qmVFm5WfLq2LwfGs6INGovSqTWTTBUcDRfNtKyVrBFKUVKM2uPbBX4T7bdmeYWjLH3aG4vnItttNtD9hQjZQWY1NR94tW5iovp+R7NFkBnBfCUzZWZaHtV8OKGq1I8iw6xPQa5mcixCWUaPX10GmoNaaorP8vCTp06i3uipZ9owiBN+aAUwGqNMeLVEvWm9venqefny5qW2o47V2gPFT3Zlk7ia2/ftS9Oph4byahiEoq+vWDWZLfS7UXCYyH3Wmh4jgaFW1bLu7syMXCt9mmsvI35zhSTJiLM/NBbVq6envrRwQqT9/Y29xiAzglaQmUaqKkVkxSxUFU0/1MFHz42ZDUnx29vzN4NWkJTmotr2BUcS9jHLzPo+PKsp5GbT1RoNG8zlfjJl0Mw2n5ar0PDakfqGyoCKouSmbBL3xmLOFdIQEJ+poUKz2veodXMk96gnWqPS6kZ0uu8Q98V1ohpBgLu68plTRfegYS7Kp9nEGeK4f3+eGJPmXiskqWMvIXez7PymRqJtyMzdd99tN954o23ZssV27txpmzdvtgsvvHDq+WuvvdZuueUWe+yxx6ynp8fOPPNMe//732/nnHNO3d/RLDKjhrfZqiplqEdVUdPgQlJVNCZcLcNnJq2WFF8mKB/yQf5tZ3LXDqjHm1JvZqBumV8t66fWoKyEgEnHpyabTSc4fmJuJcGpl1D4/VSqKSZHAp3siiZxQmqoY1p+ZbvyzuQeizZlPJKx0O/jg4LDad+e4Jhl47ASHEiC3kO1tHDdjPFIUUQa+S726ZltWzh8OE2GYdO9RmIm83dLI3j79++3DRs22JVXXmkXXXTRtOdPOeUU+/CHP2xPecpT7ODBg/Z3f/d39uIXv9i2bdtmq1evbsEVZ9i/P91V0aPW3isMwrXkxWqbv7XjxKvmzaJwT7UVZhnYsbRsF1ke7VZW7Qbd06SamlJv3SpRLyMpjVi90peWLMn+V0ZwaKfa74sUHE9wGu0hKIKm1wJNd9fwFL8DNa026pgGynXp0vRvUoOHhrJN1pSIkOa7fLlNHZI4Pp6fxOu5R9KZfQYTJE7raCb1UvTdfL9mrKlRmbZz6FAaOtOy0bPGli1Ly1vHQBbF+/en7/F1VG94jaMjSLHW+/GZbTMFGxvy2ezs3WgyMxPMmzBTpVKZpsx4wNK+9a1v2XnnnVfX5zZLmWGPAx8CwodSS1WpRlbaSVXRI+SL0pA1hbZe6GZu/qdOFEFSmg8f9ikiKTMN+1RTU+bjnkIoDboy95vlsdotSp8vyqJqxT3WG55CydTrnm1fw1jqjyhg8uvqykI7HrOZxOtNZ4ag+HppBCA5TPYQimqp1fizOKKB/WHKxk4fmlJVRX1W+t7e3sx3dCTZT3y29nuynSCwjULbKDMzwdjYmH3iE5+w/v5+27BhQ+nrRkdHbVSWHsPDw025HqTAsuc8UfHpmfMdfqfWssdMJjLdxKro0QhTX6B+1FJTau3urPBhnzI1Zb4RlXrglQazPMHx2T5jY+kEhoLjs6XKTOPNLhv1oJhN37SR60cZIDWXMqiX4JBOvX//dGOphpH8e4rSwvWkbbPpCljRpn9ebfPbJ2BahpTq9XmCM5vQC2190aLURwImJtIy9Sn5uiGdAsWKetP2Qb2NjOTLUEk1fbLaieD1oCw9vrMzbxRuNeY9mfna175ml156qR04cMDWrVtnt912m62qcjTnddddZ+9973ubfl2w3HZTVWjw3pPCQKYDWr3QWHxZuKeVGSFHG3zYp2yjt3rhd60uIixHGwGth+BomjgEBzXEE5wyktPMctXwSV9f+r+iRUw1guP37OFQQr/XTa106o6OLIMMKMliJ2U/iWt2UNmhkZSv1pUfA1FAPKnQUPaRjmOdndmmiAoMuZhydcdmr1gRBqTfjY1lu/Tq3MNhoRDH2Vwz6eu+PiGkixfPr7lu3oeZ9u/fbzt37rRdu3bZP/3TP9ntt99u9913nx1zzDGFn1OkzKxfv37epWY3GkVb4xc9ZkNSGKyUrGjIZ77unbAQoScjlxGWmYb0qqkp8zHs007w+xX5bQF0o78iglO0OJjrRUHReVqMI0ymZMYw+S9Zkp351Mjwjc+iaVR2kD//jJ9FaGQYrgx4ZvShpnRI1+RkNv729KREaenS/BES9OFqmx3q9xaFBdm7CI/PXKFtspkU9XhmzMye9rSn2ZVXXmnvfOc76/rc+brPTL0oO2SwaA+NmaBonxQf7gmSMreoR02ZSdinHjUliMrco4jg6HYCmiFTRHA0O4/+Opd9lSMDdu/O76o7OZk/LRyogtNIxUkznDBql2UH+eyzmX6+qmxFaNY9gsnJNGy5Z0/6OHgwVUzYVLCrK09O/JYe+hp+h/B1d+cJK6hnl2WMwCMjqWfmqM1mmg0mJydzyks7A9lUt8fXQU5TQ+tFUVzeryLmIsMikMGfql5GWOqFN5AXqSlHW9innVAW9vDqDVk9/H9kJP2fqqU8UEQ8wWkUWSWEtH9/lr3S0ZFOYHrGkVc3dMsKsnMogyMNqWmYjHmOIww0hKRqg1n9xw4UZTHpPjRKRKvdo469M60PNREnSVrPq1dnZd7VlZU5PhxtO5AvJSpJku3lw2sYN5YsSY8sWLkyDVOVkWRMxvv3Z2MXPqFWoaVkZt++fbZt27apv7dv325bt261wcFBW7lypb3//e+3l7/85bZu3TrbtWuXfeQjH7Ff/vKX9qpXvaqFV10bmh7ojYG1MgnKUJQG6gev2Bp/7qFhnzI1ZSZhn1pqynz3ZAVmh3oJDmMLz3HkQdGxDBom1sdM2k/ZBmu9vdn+KUoE/ISm2Y5KcJhEq03+syE4um+Kfr+qN9WMxUXZQYqOjuw8JL1HnyJe7R59Vqavj7IDNXt6ig8f7elJ/zc4mL1fCSVeLTYVHRlJ0+MxQkOSOLV9165U/fH75Cxbll7PyEh+ka0m41aipWGmO++80170ohdN+/8VV1xhH/vYx+zVr3613XfffbZr1y5buXKlnXXWWfaud73LzjrrrLq/o1lhJs6x8CrKTH0ppCEj95WlIccENrfQLfOrqSmzCfuUqSlhkA7UQhnBKTrYkXCUP3dKMyzVV0EbRGHwG6w1IjPGrHg7h7IxsxEER0HYvp5jB4p2LK4XugcOP4vUV7ws3d0ZAeKYGrP0Xinz2WYMTU6m5IWjImhDhKhQjCB4mg7O2ETmF6Rn2bKUPK1dm6pizVL729Iz0yw0i8zs2GH22GPlz+tZHqqceJISE9jcg71Tqqkps9kyv5qaEmGfQLNQlnqsxIaVeRnBAR0deQWGDdbwwjQLXs2eS4JTa8dis3zICZIz0+8sOvVdU7UVy5ebDQykoZ7Zqu5lqhqnsEOg1LPlzzgjO40dj1FrFi/O5i7qYs2alNw0EgvaMzNfsHRp2tCKPClk+ISaMvfwhKSIsMx0y/xaakrUc6CVqJZ6rATBp+zjx6ANsw8USjHp1HNBxFnxK2Hy6kY94RsNp9V73WU7FvvQFOrE0FD2nbWyg/w9clCmWeZVgRhw8Cl/T06mm7Oa5bO0qnkfj/TYAk+CITiEsnTTPN3teGys8ecyzRRBZmaJVavSR2BuUO2k5NmEfdgyv1ZqciDQjvAb5JnV3gEYozr/GxvLJtFWJA3MhuAoZnsIZaWS+WKYoH1oSif7eva8wUA9MpLfqK+nJ9sPBqNx0X5FRUdRqCdKQ436/EyPLdDPLMKiRfl9cjBc79s3ff+cuUaQmUDL0ayTkquZaSPsEzjaMBOCU7Q7rlcGWrF1Qz0EB39KIwkOZceErXve8GCHX0JGpEczjqkvrtoJ1UUbMhaFEkdHUx/M/v0ZAa1U0s8dGEg9LXgxmwVvuG4lgswEmop61JRGhH2UuETYJxCoD/USHA2zAL/9f6t2+T5SglO0hUWtMYSQEccm6J40+/ene/CQSq/v6e9PScbSpTNL1aaeFi3KPDBjY1l4kVAQZzslSRaiajYRZa+ZVm+gGmQmMCs0+6TkCPsEAq1B0RlOnuCwa3HR9v9e+ZhPBMeTtKJTts2mk5t6CA5nLI2OZmRlbCxTWlCDlRRCCNV747+n6IRqrnFgIDtagHryYbgyInokBIejLQ4eTD83SdJwWSt9M0FmAtNQdlJyo8I+RYQlwj6BwPxEkY+i7PgUH2oxm5vt/+uBV1PMahMcNtozKyY4aoj1+/CsWpU3UON7Ue+NJ4Rq9K1UsuvSz9ZjC7QctZ4I+8yU4JQdtIkpmp2Hvbo1HxJegswcZahHTZlp2KcaSYmwTyCw8FB0SGXZ9v+1Dqmci0M1y1BEcPRAyyKCMzSUqRJ6aOiiRWkIqa+v2KfiD9P0e94cOpR+5tBQtis8WLQoS9Xm8+s1M5cRnHqVtu7u/N4zfG5vb3ovnOzdagSZWSAoOym5UWGfIsISYZ9AIAAauf3/bDaqaxQICynBGR9PScbu3dlmqUzuuukg2Uo+hbroPtQDqJvkoWTx/OLFKZmpVNLPHxnJb7bnj7aohVpKmxIcVeE1dMduwfMJQWbaAM08KbmMsISaEggEjhRl2/8X7QBctH/MbLwrjQSp15xB1NOTho/0kEbd/b3IgwPx0NANKoz36pAxtXhxdmyBfr6Gnfhby4vvUoJTjzG3iIhCcDguo+ywyfmCIDMtRi01pZEnJUfYJxAItBo+3GJWnn3kvSueGDTjTLrJyew4B93XpbMz27elbB8WQlR6H0o8ikAWEqeN+3sp2hRRd+7VHXxVYVF4ksPPaiSniODMZwSZaRJqnZTM7/Wi6KRkT1jmm+wXCAQC9aCe7KMyYqBhk3p34y2CP6Gaz+YsosWLa5OmohCVJziaRq3HAswEfI9H0REWtUiOV3FqkZz5ija85PkBZNEywjLbsE8ZYQk1JRAIHE0oM+dW2x2X3XhRFSA4nZ35g2P1fLYiP2HZCdWzQRHBaRaKfDMsrD3BgeT4nYXNsrMFfchqPpOceXxp8xv79pnt3Vv9NUUnJRepKUFUAoFAoDbq3R23aBfjWmjECdXzEWoWVkJVRHJQjoqOTzDLH6CsZGc+JIMEmZklcJxXU1Mi7BMIBALNRa2DNglPMTbruWz699GmgNciOari8Hs1ksNJ361CkJlZYr6cRxEIBAKBPOpNUw5Mh5IchT9RW8nO5GTriWCQmUAgEAgEAlVRdqI2JKfVkYggM4FAIBAIBGYFSE6rEa6OQCAQCAQCbY0gM4FAIBAIBNoaQWYCgUAgEAi0NYLMBAKBQCAQaGuEATgQCAQCgcCMkSTZDsrs1dMqBJkJBAKBQCCQgx71UHRsDw8wMBCb5gUCgUAgEJgDlB2C7H/Xs6o8/BlXZvlDQluBIDOBQCAQCLQ5kiQlF7WISrVDkCE6kBQ9PVx/7+hIHz092WZ5rd5rJshMIBAIBALzGJCLWkSlGnjd5GRKTIqICiSlszMlJ9WOKNDzrbq60tPJW4kgM4FAIBAItABqoK1GVKqFfCA6PJScKDj8uLu7+tEDlcr0Q5OLfm/1WUweQWYCgUAgEGgwZmqg9VCiU83DgpLS3W22aFH1a6pGTvi91WcszRZBZgKBQCAQqBNqoK1GUmZqoPWKSqWSkYtaIR8ITS2ispARZCYQCAQCRz1abaAtAoSmFlGZbyGfViDITCAQCAQWNBptoFVC0ygDbdHvC11NaSSCzAQCgUCgLdFsA63+DrlYqAbadkeQmUAgEAjMOzTDQFtEVMJAuzAQZCYQCAQCc4Zm7UDriYpZRjTCQLvwEWQmEAgEAkeMMNAGWokgM4FAIBCoimokZb7sQBsG2qMbQWYCgUDgKEUtAy0/G2GgXeg70AZaiyAzgUAgsAARBtrA0YQgM4FAINBG8EpIGGgDgSAzgUAgMC/glZAykhIG2kBgOoLMBAKBQJPhd6AtIyrVEAbaQKAcQWYCgUBglpjLHWjDQBsIlCPITCAQCBSgVhpyGGgDgfmDIDOBQOCogioh1bJ8wkAbCLQPgswEAoEFAb8DbRhoA4GjB0FmAoHAvIc30Jb9Xg1hoA0EFi6CzAQCgZahGQZaRRhoA4GjA0FmAoFAU1CPLyUMtIFAoBEIMhMIBGYEfCVl5/iEgTYQCMw1gswEAgEzm66ElKkqYaANBALzDUFmAoGjAJrlEzvQBgKBhYYgM4FAGwM1pRZRiR1oA4HAQkaQmUBgnqKeLJ9aIZ8w0AYCgaMBQWYCgTlGGGgDgUCgsQgyEwg0CF4JKTvTJwy0gUAg0FgEmQkE6sCRGmh1q/0w0AYCgUBjEWQmcFSjaAfaMNAGAoFAeyHITGDBIgy0gUAgcHQgyEyg7aBKSLWt8mupKepNMQsDbSAQCLQrWkpm7r77brvxxhtty5YttnPnTtu8ebNdeOGFZmY2Pj5u73rXu+zrX/+6/fznP7f+/n7btGmTXX/99Xbssce28rIDTUI1A63+PhM1pej5MNAGAoHAwkJLycz+/fttw4YNduWVV9pFF12Ue+7AgQP2wAMP2Lvf/W7bsGGD7dmzx66++mp7+ctfbt///vdbdMWB2QIFpFZKcjVopk8RoVGiEgbaQCAQOHpQSZJqYvzcoVKp5JSZItx///129tln244dO+z444+v63OHh4etv7/fhoaGbPny5Q262gAo2oG2iLTUamUa9tFwj36PZvrMVE0pIiuhpgQCgcD8xUzm77byzAwNDVmlUrGBgYHS14yOjtro6OjU38PDw3NwZQsTR2qg1c85fDj9vRpRQU2pBs30qUZUAoFAIHD0oG3IzKFDh+ztb3+7/eEf/mFVhnbdddfZe9/73jm8svZDIwy0ZpkqA6EpIyr1hHzMUkJTjaCQ2hwIBAKBgKItyMz4+LhdfPHFliSJffSjH6362ne+85321re+derv4eFhW79+fbMvcV6gEQZaoFk+ZuVEpasrfdRCLSUlTLSBQCAQmC3mPZmByOzYscNuv/32mnGz3t5e6+3tnaOrmzsc6Q60/rOU0HiigpG2HoKBP6UaUQl/SiAQCASaiXlNZiAyDz/8sN1xxx22cuXKVl9Sw1FkoJ3pDrQKtsoHSlR0y/x61BS/d0oZUQkEAoFAoJVoKZnZt2+fbdu2berv7du329atW21wcNDWrVtnr3zlK+2BBx6wr33tazYxMWFPPPGEmZkNDg5aTy2n6DxAowy0ZvmzfABERf9fL7moJ9sn/CmBQCAQaAe0NDX7zjvvtBe96EXT/n/FFVfYtddeayeddFLh++644w574QtfWNd3NCs1e2LCbHz8yAy0oOh1lcr0UFC9oZpa3pQI+wQCgUBgvqNtUrNf+MIXWjUuNU+2wCnEyIjZ3r2zf78PBRXBKyNFaclFRCUQCAQCgaMJ89ozM59RpG74gwirwb9X05KLCEqkJQcCgUAgUIwgM7NE2a62Rf+rpaREWnIgEAgEArNHkJlZAgJSi6iEPyUQCAQCgeYiyMwssWyZWV9fq68iEAgEAoFAuDBmiVBbAoFAIBCYHwgyEwgEAoFAoK0RZCYQCAQCgUBbI8hMIBAIBAKBtkaQmUAgEAgEAm2NIDOBQCAQCATaGkFmAoFAIBAItDWCzAQCgUAgEGhrBJkJBAKBQCDQ1ggyEwgEAoFAoK0RZCYQCAQCgUBbI8hMIBAIBAKBtkaQmUAgEAgEAm2NIDOBQCAQCATaGl2tvoBmI0kSMzMbHh5u8ZUEAoFAIBCoF8zbzOPVsODJzMjIiJmZrV+/vsVXEggEAoFAYKYYGRmx/v7+qq+pJPVQnjbG5OSkPf7449bX12eVSqXu9w0PD9v69evtscces+XLlzfxCo9ORPk2H1HGzUWUb3MR5dt8zPcyTpLERkZG7Nhjj7WOjuqumAWvzHR0dNhxxx036/cvX758XlbyQkGUb/MRZdxcRPk2F1G+zcd8LuNaigwIA3AgEAgEAoG2RpCZQCAQCAQCbY0gMyXo7e21a665xnp7e1t9KQsSUb7NR5RxcxHl21xE+TYfC6mMF7wBOBAIBAKBwMJGKDOBQCAQCATaGkFmAoFAIBAItDWCzAQCgUAgEGhrBJkJBAKBQCDQ1ggyU4CPfOQjduKJJ9qiRYvsnHPOsf/+7/9u9SW1Le6++277/d//fTv22GOtUqnYl7/85dzzSZLYe97zHlu3bp0tXrzYNm3aZA8//HBrLrYNcd1119lZZ51lfX19dswxx9iFF15oDz30UO41hw4dsquuuspWrlxpy5Ytsz/4gz+wX/3qVy264vbCRz/6UXv2s589tanYxo0b7dZbb516Psq2sbj++uutUqnYW97ylqn/RRkfGa699lqrVCq5x2mnnTb1/EIp3yAzDp/73OfsrW99q11zzTX2wAMP2IYNG+wlL3mJPfnkk62+tLbE/v37bcOGDfaRj3yk8PkbbrjBPvShD9nHPvYxu++++2zp0qX2kpe8xA4dOjTHV9qeuOuuu+yqq66y733ve3bbbbfZ+Pi4vfjFL7b9+/dPvebP/uzP7Ktf/ap94QtfsLvuussef/xxu+iii1p41e2D4447zq6//nrbsmWLff/737dzzz3XLrjgAvvJT35iZlG2jcT9999vH//4x+3Zz3527v9RxkeOZzzjGbZz586px3e/+92p5xZM+SaBHM4+++zkqquumvp7YmIiOfbYY5PrrruuhVe1MGBmyebNm6f+npycTNauXZvceOONU//bu3dv0tvbm3z2s59twRW2P5588snEzJK77rorSZK0PLu7u5MvfOELU6/56U9/mphZcu+997bqMtsaK1asSD75yU9G2TYQIyMjydOe9rTktttuS/7v//2/ydVXX50kSbTfRuCaa65JNmzYUPjcQirfUGYEY2NjtmXLFtu0adPU/zo6OmzTpk127733tvDKFia2b99uTzzxRK68+/v77ZxzzonyniWGhobMzGxwcNDMzLZs2WLj4+O5Mj7ttNPs+OOPjzKeISYmJuyWW26x/fv328aNG6NsG4irrrrKXvayl+XK0izab6Pw8MMP27HHHmtPecpT7LLLLrNHH33UzBZW+S74gyZngl27dtnExIStWbMm9/81a9bYz372sxZd1cLFE088YWZWWN48F6gfk5OT9pa3vMWe97zn2TOf+UwzS8u4p6fHBgYGcq+NMq4fP/rRj2zjxo126NAhW7ZsmW3evNme/vSn29atW6NsG4BbbrnFHnjgAbv//vunPRft98hxzjnn2M0332ynnnqq7dy509773vfaC17wAvvxj3+8oMo3yEwgsEBw1VVX2Y9//ONcPDxw5Dj11FNt69atNjQ0ZF/84hftiiuusLvuuqvVl7Ug8Nhjj9nVV19tt912my1atKjVl7Mg8bu/+7tTvz/72c+2c845x0444QT7/Oc/b4sXL27hlTUWEWYSrFq1yjo7O6c5uX/1q1/Z2rVrW3RVCxeUaZT3kePNb36zfe1rX7M77rjDjjvuuKn/r1271sbGxmzv3r2510cZ14+enh576lOfameeeaZdd911tmHDBvv7v//7KNsGYMuWLfbkk0/aGWecYV1dXdbV1WV33XWXfehDH7Kuri5bs2ZNlHGDMTAwYKeccopt27ZtQbXhIDOCnp4eO/PMM+3b3/721P8mJyft29/+tm3cuLGFV7YwcdJJJ9natWtz5T08PGz33XdflHedSJLE3vzmN9vmzZvt9ttvt5NOOin3/Jlnnmnd3d25Mn7ooYfs0UcfjTKeJSYnJ210dDTKtgE477zz7Ec/+pFt3bp16vHc5z7XLrvssqnfo4wbi3379tkjjzxi69atW1htuNUO5PmGW265Jent7U1uvvnm5H/+53+SP/qjP0oGBgaSJ554otWX1pYYGRlJfvCDHyQ/+MEPEjNLPvjBDyY/+MEPkh07diRJkiTXX399MjAwkPzHf/xH8sMf/jC54IILkpNOOik5ePBgi6+8PfDGN74x6e/vT+68885k586dU48DBw5MveaP//iPk+OPPz65/fbbk+9///vJxo0bk40bN7bwqtsH73jHO5K77ror2b59e/LDH/4wecc73pFUKpXkm9/8ZpIkUbbNgGYzJUmU8ZHibW97W3LnnXcm27dvT+65555k06ZNyapVq5Inn3wySZKFU75BZgrwD//wD8nxxx+f9PT0JGeffXbyve99r9WX1La44447EjOb9rjiiiuSJEnTs9/97ncna9asSXp7e5Pzzjsveeihh1p70W2EorI1s+Sf//mfp15z8ODB5E1velOyYsWKZMmSJckrXvGKZOfOna276DbClVdemZxwwglJT09Psnr16uS8886bIjJJEmXbDHgyE2V8ZLjkkkuSdevWJT09Pclv/dZvJZdcckmybdu2qecXSvlWkiRJWqMJBQKBQCAQCBw5wjMTCAQCgUCgrRFkJhAIBAKBQFsjyEwgEAgEAoG2RpCZQCAQCAQCbY0gM4FAIBAIBNoaQWYCgUAgEAi0NYLMBAKBQCAQaGsEmQkEAoFAINDWCDITCARmhde+9rV24YUXTvv/nXfeaZVKZdrhda3GwYMHbXBw0FatWmWjo6OtvpxAINBABJkJBAJHBf793//dnvGMZ9hpp51mX/7yl1t9OYFAoIEIMhMIBJoKSERvb6+deOKJ9oEPfCD3fKVSmUYuBgYG7OabbzYzs7GxMXvzm99s69ats0WLFtkJJ5xg11133dRr9+7da294wxts9erVtnz5cjv33HPtwQcfnHYdN910k11++eV2+eWX20033TTt+Z/97Gf2/Oc/3xYtWmRPf/rT7Vvf+ta0a3vsscfs4osvtoGBARscHLQLLrjAfvGLX8y6bAKBQGMQZCYQCDQNW7ZssYsvvtguvfRS+9GPfmTXXnutvfvd754iKvXgQx/6kH3lK1+xz3/+8/bQQw/ZZz7zGTvxxBOnnn/Vq15lTz75pN166622ZcsWO+OMM+y8886z3bt3T73mkUcesXvvvdcuvvhiu/jii+073/mO7dixY+r5iYkJu/DCC23JkiV233332Sc+8Qn767/+69x1jI+P20te8hLr6+uz73znO3bPPffYsmXL7KUvfamNjY3NuowCgUAD0OqTLgOBQHviiiuuSDo7O5OlS5fmHosWLUrMLNmzZ0/y6le/Ojn//PNz7/uLv/iL5OlPf/rU32aWbN68Ofea/v7+qZO//+RP/iQ599xzk8nJyWnX8J3vfCdZvnx5cujQodz/Tz755OTjH//41N9/9Vd/lVx44YVTf19wwQXJNddcM/X3rbfemnR1deVOC77tttty1/av//qvyamnnpq7jtHR0WTx4sXJN77xjeqFFQgEmopQZgKBwKzxohe9yLZu3Zp7fPKTn5x6/qc//ak973nPy73nec97nj388MM2MTFR13e89rWvta1bt9qpp55qf/qnf2rf/OY3p5578MEHbd++fbZy5UpbtmzZ1GP79u32yCOPmFmquvzLv/yLXX755VPvu/zyy+3mm2+2yclJMzN76KGHbP369bZ27dqp15x99tm563jwwQdt27Zt1tfXN/U9g4ODdujQoanvCgQCrUFXqy8gEAi0L5YuXWpPfepTc//73//93xl9RqVSsSRJcv8bHx+f+v2MM86w7du326233mrf+ta37OKLL7ZNmzbZF7/4Rdu3b5+tW7fO7rzzzmmfOzAwYGZm3/jGN+yXv/ylXXLJJbnnJyYm7Nvf/radf/75dV3nvn377Mwzz7TPfOYz055bvXp1XZ8RCASagyAzgUCgaTj99NPtnnvuyf3vnnvusVNOOcU6OzvNLCUCO3funHr+4YcftgMHDuTes3z5crvkkkvskksusVe+8pX20pe+1Hbv3m1nnHGGPfHEE9bV1ZXz0Shuuukmu/TSS6d5YN7//vfbTTfdZOeff76deuqp9thjj9mvfvUrW7NmjZmZ3X///bnXn3HGGfa5z33OjjnmGFu+fPmsyiMQCDQHQWYCgUDT8La3vc3OOuss+5u/+Ru75JJL7N5777UPf/jD9o//+I9Trzn33HPtwx/+sG3cuNEmJibs7W9/u3V3d089/8EPftDWrVtnz3nOc6yjo8O+8IUv2Nq1a21gYMA2bdpkGzdutAsvvNBuuOEGO+WUU+zxxx+3//zP/7RXvOIVdsIJJ9hXv/pV+8pXvmLPfOYzc9f2mte8xl7xilfY7t277fzzz7eTTz7ZrrjiCrvhhhtsZGTE3vWud5lZqhyZmV122WV244032gUXXGDve9/77LjjjrMdO3bYl770JfvLv/xLO+644+agRAOBQBHCMxMIBJqGM844wz7/+c/bLbfcYs985jPtPe95j73vfe+z1772tVOv+cAHPmDr16+3F7zgBfbqV7/a/vzP/9yWLFky9XxfX5/dcMMN9tznPtfOOuss+8UvfmFf//rXraOjwyqVin3961+33/md37HXve51dsopp9ill15qO3bssDVr1tinP/1pW7p0qZ133nnTru28886zxYsX27/9279ZZ2enffnLX7Z9+/bZWWedZW94wxumlJxFixaZmdmSJUvs7rvvtuOPP94uuugiO/300+31r3+9HTp0KJSaQKDFqCQ+WB0IBAIBu+eee+z5z3++bdu2zU4++eRWX04gEKiCIDOBQCBgZps3b7Zly5bZ0572NNu2bZtdffXVtmLFCvvud7/b6ksLBAI1EJ6ZQCAQMLORkRF7+9vfbo8++qitWrXKNm3aNG234kAgMD8RykwgEAgEAoG2RhiAA4FAIBAItDWCzAQCgUAgEGhrBJkJBAKBQCDQ1ggyEwgEAoFAoK0RZCYQCAQCgUBbI8hMIBAIBAKBtkaQmUAgEAgEAm2NIDOBQCAQCATaGkFmAoFAIBAItDX+P6/lfOSSnvO6AAAAAElFTkSuQmCC", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pylab as plt\n", "\n", - "interprenet.plot(trained_model, X, 'AGE')\n", + "interprenet.plot(trained_model, X, 'HouseAge')\n", "plt.show()" ] }, @@ -544,7 +468,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "RM can only increase the price of the house." + "AveRooms can only increase the price of the house." ] }, { @@ -554,28 +478,33 @@ "outputs": [ { "data": { - "image/png": "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\n", + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHHCAYAAABKudlQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8g+/7EAAAACXBIWXMAAA9hAAAPYQGoP6dpAAEAAElEQVR4nOy9d5ysVZXu/1TnnPNJwAEBERlFRQw4IAKHPIgiIKDgdWbEiKMz6J3fyOgMjjp674zj1QkGjgTlSpSsJFEcxStmJB04oXPOqbp+f2y+vVe9XdXd1af7VPVhP59Pf/qc6qp633e/YT97rWc9K5ZIJBIKCAgICAgICFinyMv2DgQEBAQEBAQE7A0CmQkICAgICAhY1whkJiAgICAgIGBdI5CZgICAgICAgHWNQGYCAgICAgIC1jUCmQkICAgICAhY1whkJiAgICAgIGBdI5CZgICAgICAgHWNQGYCAgICAgIC1jUCmQkICAgICAhY1whkJiAgYEl85StfUSwW0zHHHLPm2zrggAMUi8Xmf8rLy/Wa17xG11xzzZpvOyAgYH0iFnozBQQELIXXv/71am9v13PPPaennnpKBx988Jpt64ADDlBtba0++tGPSpI6Ojr0n//5n3ryySf17//+7/of/+N/rNm2AwIC1icCmQkICFgUO3bs0EEHHaSbbrpJf/7nf67LL79cf/d3f7dm2zvggAP0spe9TN///vfnX+vp6dFBBx2kTZs26fe///2abTsgIGB9IqSZAgICFsW1116r2tpanXbaaTr33HN17bXXSpJmZmZUV1end7/73Qs+Mzw8rJKSEv3VX/3V/GtTU1P6u7/7Ox188MEqLi7Wpk2b9PGPf1xTU1NL7kNjY6MOO+wwPfPMM0mvj42N6aMf/ag2bdqk4uJiHXroofrCF76g6BptdnZWn/70p7V161YVFxfrgAMO0Cc+8YkF2z7ggAN0+umn68EHH9SrXvUqlZaW6sgjj9SDDz4oSbrpppt05JFHqqSkREcffbR++ctfJn2+s7NT7373u7Vx40YVFxertbVVZ511lp577rkljzEgIGAvkAgICAhYBIcddljisssuSyQSicTDDz+ckJT42c9+lkgkEolLL700UVNTk5iamkr6zLe+9a2EpMTPf/7zRCKRSMTj8cRJJ52UKCsrS3z4wx9OfO1rX0u8//3vTxQUFCTOOuuspM9u2bIlcdpppyW9NjMzk2hpaUk0NzfPvzY3N5c44YQTErFYLPGe97wn8eUvfzlxxhlnJCQlPvzhDyd9/pJLLklISpx77rmJf/u3f0tcfPHFCUmJs88+e8G2Dz300ERra2viU5/6VOJLX/pSYsOGDYmKiorEt7/97cTmzZsTn/3sZxOf/exnE9XV1YmDDz44EY/H5z//ute9LlFdXZ34n//zfyb+8z//M/GP//iPieOPPz7x0EMPrWDkAwIClotAZgICAtLiscceS0hK3HfffYlEwhGIjRs3Jj70oQ8lEolE4p577klIStx+++1Jnzv11FMTBx100Pz/t2/fnsjLy0v86Ec/SnrfV7/61YSkxI9//OP517Zs2ZI46aSTEj09PYmenp7Eb37zm8RFF12UkJS4/PLL5993yy23JCQlPvOZzyR957nnnpuIxWKJp59+OpFIJBKPP/54QlLiPe95T9L7/uqv/iohKXH//fcnbVtS4ic/+cn8axxjaWlp4vnnn59//Wtf+1pCUuKBBx5IJBKJxMDAQEJS4vOf//zigxoQELDqCGmmgICAtLj22mvV3Nys448/XpIUi8V03nnn6YYbblA8HtcJJ5yghoYGfec735n/zMDAgO677z6dd95586/deOONOvzww3XYYYept7d3/ueEE06QJD3wwANJ27333nvV2NioxsZGHXnkkdq+fbve/e536/Of//z8e+68807l5+frgx/8YNJnP/rRjyqRSOiuu+6af58kXXHFFQveJ0l33HFH0usvfelLdeyxx87/nwquE044QZs3b17w+rPPPitJKi0tVVFRkR588EENDAwsMqoBAQGrjUBmAgICUiIej+uGG27Q8ccfrx07dujpp5/W008/rWOOOUZdXV364Q9/qIKCAr31rW/VrbfeOq8/uemmmzQzM5NEZp566in97ne/myco/LzkJS+RJHV3dydt+5hjjtF9992nu+++W1/4whdUU1OjgYEBFRUVzb/n+eefV1tbmyorK5M+e/jhh8//nd95eXkLKrBaWlpUU1Mz/z5gCYskVVdXS5I2bdqU8nWIS3Fxsf7pn/5Jd911l5qbm3Xcccfpc5/7nDo7Oxcd54CAgL1HQbZ3ICAgIDdx//33q6OjQzfccINuuOGGBX+/9tprddJJJ+kd73iHvva1r+muu+7S2Wefre9+97s6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MPJ8GGPMBRdcYP7u7/4ueweVRQQCAfPf//3fM/66IHg+jMncdTEjKzP9/f3Yvn07VqxYMfyznJwcrFixAlu3bs3ikWUH77zzDurr67FgwQI0NDTg4MGD2T6k4wL79+9Hc3Nz0nVSVlaG8847b0ZeJwCwadMmVFdXY8mSJbjhhhvQ0dGR7UPKCMLhMAAgGAwCALZv346BgYGka+OUU07B3LlzZ8S1MfJ8EI2NjaisrMQZZ5yB733ve4jFYtk4vIwhkUjgd7/7HXp6erBs2bIZf12MPB9EJq6LEz5ociy0t7cjkUigpqYm6ec1NTV46623snRU2cF5552He+65B0uWLMHRo0dx22234WMf+xhef/11lJSUZPvwsorm5mYAGPM64XMzCRdffDHWrFmD+fPnY+/evfj+97+PSy65BFu3bkVubm62Dy9tGBoawte//nWcf/75OOOMMwDYa8Pr9aK8vDzptTPh2hjrfADAtddei3nz5qG+vh6vvfYavvOd72D37t148MEHs3i06cFf/vIXLFu2DL29vSguLsa6detw2mmnYefOnTPyuhjvfACZuy5mJJlRCC655JLhv5911lk477zzMG/ePPz+97/Hddddl8UjUxxv+PznPz/89zPPPBNnnXUWFi5ciE2bNmH58uVZPLL04sYbb8Trr78+o7RkE2G88/HlL395+O9nnnkm6urqsHz5cuzduxcLFy7M9GGmFUuWLMHOnTsRDofxwAMPYO3atdi8eXO2DytrGO98nHbaaRm7LmZkm6myshK5ubmjFOYtLS2ora3N0lEdHygvL8fJJ5+MPXv2ZPtQsg5eC3qdjI0FCxagsrLyhL5Wvva1r+GRRx7Bxo0bMXv27OGf19bWor+/H6FQKOn1J/q1Md75GAvnnXceAJyQ14fX68WiRYtw9tln4/bbb8fSpUvxs5/9bMZeF+Odj7GQrutiRpIZr9eLs88+G0899dTwz4aGhvDUU08l9flmIrq7u7F3717U1dVl+1Cyjvnz56O2tjbpOolEIti2bduMv04AoKmpCR0dHSfktWKMwde+9jWsW7cOTz/9NObPn5/0/Nlnn438/Pyka2P37t04ePDgCXltHOt8jIWdO3cCwAl5fYzE0NAQ+vr6Ztx1MR54PsZC2q6LtEuMj1P87ne/Mz6fz9xzzz1m165d5stf/rIpLy83zc3N2T60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", "text/plain": [ - "
" + "
" ] }, - "metadata": { - "needs_background": "light" - }, + "metadata": {}, "output_type": "display_data" } ], "source": [ "import matplotlib.pylab as plt\n", "\n", - "interprenet.plot(trained_model, X, 'RM')\n", + "interprenet.plot(trained_model, X, 'AveRooms')\n", "plt.show()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3", + "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, @@ -589,7 +518,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.8.8" + "version": "3.10.13" } }, "nbformat": 4, diff --git a/mvtk/interprenet.py b/mvtk/interprenet.py index 2041331..387b56e 100644 --- a/mvtk/interprenet.py +++ b/mvtk/interprenet.py @@ -138,7 +138,7 @@ def constrained_model( ): """Create a neural network with groups of constraints assigned to each feature. Separate constrained neural networks are generated for each group - of contraints. Each feature is fed into exactly one of these neural + of constraints. Each feature is fed into exactly one of these neural networks (the one that matches its assigned group of constraints). The output of these constrained neural networks are concatenated and fed into one final neural network that obeys the union of all constraints applied. @@ -228,8 +228,8 @@ def batch_generator(X, y, balance=False): if balance: weights = jax.numpy.empty(len(y)) p = jax.numpy.mean(y) - weights = jax.ops.index_update(weights, y == 1, 1 / p) - weights = jax.ops.index_update(weights, y == 0, 1 / (1 - p)) + weights = weights[y == 1].set(1 / p) + weights = weights[y == 0].set(1 / (1 - p)) weights /= weights.sum() weights = jax.numpy.clip(weights, 0, 1) else: @@ -367,10 +367,9 @@ def plot( [i for i, column in enumerate(data.columns) if column != feature], dtype="int32" ) all_scores = [] + data_values = jax.numpy.asarray(data.values[feature_idx]) for replacement in all_values[:, rest]: - fixed_values = jax.ops.index_update( - data.values[feature_idx], jax.ops.index[:, rest], replacement - ) + fixed_values = data_values.at[jax.numpy.index_exp[:, rest]].set(replacement) scores = model(fixed_values) all_scores.append(scores) plt.plot(feature_values, scores, "b", alpha=0.125) From bb74639f3090a2c4b344f7563dab048afa359280 Mon Sep 17 00:00:00 2001 From: Matthew Gillett Date: Fri, 1 Dec 2023 12:18:12 -0500 Subject: [PATCH 14/14] Executed the bias_variance notebooks for faster documentation build. --- .../BiasVarianceClassification.ipynb | 119 ++++++++--- .../BiasVarianceRegression.ipynb | 130 ++++++++--- .../BiasVarianceVisualization.ipynb | 202 ++++++++++++++---- 3 files changed, 339 insertions(+), 112 deletions(-) diff --git a/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb b/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb index b97f492..cd93b01 100644 --- a/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb +++ b/docs/notebooks/bias_variance/BiasVarianceClassification.ipynb @@ -12,10 +12,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "84f10ff2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n", + "I0000 00:00:1701450732.304993 1 tfrt_cpu_pjrt_client.cc:349] TfrtCpuClient created.\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -28,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "9184a4c1-f608-4983-b6c0-31a817f20a19", "metadata": {}, "outputs": [], @@ -46,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "1b6763e6", "metadata": {}, "outputs": [], @@ -67,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "a838e1d8", "metadata": {}, "outputs": [], @@ -79,7 +88,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "5b8c734c", "metadata": {}, "outputs": [], @@ -97,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "642bc9e3", "metadata": {}, "outputs": [], @@ -107,13 +116,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "f5ed38bf", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 0.06066667\n", + "average bias: 0.04444444\n", + "average variance: 0.03311111\n", + "net variance: 0.01622222\n" + ] + } + ], "source": [ "# Use wrapped estimator\n", - "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=10, \n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=200, \n", " random_state=random_state, decomp_fn=bias_variance_0_1_loss)\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -132,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "c8d7471f", "metadata": {}, "outputs": [], @@ -145,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "d28a52e5", "metadata": {}, "outputs": [], @@ -158,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "a99e7197", "metadata": {}, "outputs": [], @@ -177,7 +197,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "1b3c2219", "metadata": {}, "outputs": [], @@ -197,7 +217,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "de3dbd51", "metadata": {}, "outputs": [], @@ -208,7 +228,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "b344f7f5", "metadata": {}, "outputs": [], @@ -218,15 +238,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "b1920755", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 0.19355556\n", + "average bias: 0.02222222\n", + "average variance: 0.19177778\n", + "net variance: 0.17133333\n" + ] + } + ], "source": [ "# Use wrapped estimator\n", "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_pytorch_wrapped, X_train_torch, y_train_torch, X_test_torch, y_test, \n", - " iterations=10, random_state=random_state, decomp_fn=bias_variance_0_1_loss, \n", - " fit_kwargs={'epochs': 50})\n", + " iterations=200, random_state=random_state, decomp_fn=bias_variance_0_1_loss, \n", + " fit_kwargs={'epochs': 25})\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", "print(f'average bias: {avg_bias:10.8f}')\n", @@ -244,7 +275,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "3f210cef", "metadata": {}, "outputs": [], @@ -257,7 +288,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "8352fe98", "metadata": {}, "outputs": [], @@ -271,7 +302,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "d6b94ef3", "metadata": {}, "outputs": [], @@ -291,7 +322,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "867bf004", "metadata": {}, "outputs": [], @@ -301,15 +332,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "b2a01764", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 0.18800000\n", + "average bias: 0.17777778\n", + "average variance: 0.08988889\n", + "net variance: 0.01022222\n" + ] + } + ], "source": [ "# Use wrapped estimator\n", - "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, iterations=10, \n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, iterations=200, \n", " random_state=random_state, decomp_fn=bias_variance_0_1_loss, \n", - " fit_kwargs={'epochs': 100, 'batch_size': 50, 'verbose': False}, \n", + " fit_kwargs={'epochs': 25, 'batch_size': 50, 'verbose': False}, \n", " predict_kwargs={'verbose': False})\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -328,17 +370,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "5900e939", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 0.18133333\n", + "average bias: 0.11111111\n", + "average variance: 0.13000000\n", + "net variance: 0.07022222\n" + ] + } + ], "source": [ "from mvtk.bias_variance import bias_variance_compute_parallel\n", "\n", "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, \n", - " iterations=10, random_state=random_state, \n", + " iterations=200, random_state=random_state, \n", " decomp_fn=bias_variance_0_1_loss, \n", - " fit_kwargs={'epochs': 100, 'batch_size': 50, 'verbose': False}, \n", + " fit_kwargs={'epochs': 25, 'batch_size': 50, 'verbose': False}, \n", " predict_kwargs={'verbose': False})\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -372,7 +425,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.11" + "version": "3.10.13" } }, "nbformat": 4, diff --git a/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb b/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb index 1737856..bd1b0b9 100644 --- a/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb +++ b/docs/notebooks/bias_variance/BiasVarianceRegression.ipynb @@ -12,10 +12,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "84f10ff2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n", + "I0000 00:00:1701450845.494601 1 tfrt_cpu_pjrt_client.cc:349] TfrtCpuClient created.\n" + ] + } + ], "source": [ "import pandas as pd\n", "\n", @@ -28,7 +37,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "54ad5c92-5610-49a7-9b00-ec6340122b8d", "metadata": {}, "outputs": [], @@ -46,7 +55,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "1b6763e6", "metadata": {}, "outputs": [], @@ -67,7 +76,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "93bac7b2", "metadata": {}, "outputs": [], @@ -79,7 +88,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "5b8c734c", "metadata": {}, "outputs": [], @@ -97,7 +106,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "642bc9e3", "metadata": {}, "outputs": [], @@ -107,13 +116,24 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "f5ed38bf", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 0.59902430\n", + "average bias: 0.52119134\n", + "average variance: 0.07783295\n", + "net variance: 0.07783295\n" + ] + } + ], "source": [ "# Use wrapped estimator\n", - "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=10, \n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_scikit_wrapped, X_train, y_train, X_test, y_test, iterations=200, \n", " random_state=random_state, decomp_fn=bias_variance_mse)\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -132,7 +152,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "c8d7471f", "metadata": {}, "outputs": [], @@ -145,7 +165,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "d28a52e5", "metadata": {}, "outputs": [], @@ -158,7 +178,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "60092549", "metadata": {}, "outputs": [], @@ -181,7 +201,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "1b3c2219", "metadata": {}, "outputs": [], @@ -201,7 +221,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "de3dbd51", "metadata": {}, "outputs": [], @@ -212,7 +232,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "b344f7f5", "metadata": {}, "outputs": [], @@ -222,15 +242,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "b1920755", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 153.52321480\n", + "average bias: 5.05105724\n", + "average variance: 148.47215756\n", + "net variance: 148.47215756\n" + ] + } + ], "source": [ "# Use wrapped estimator\n", "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_pytorch_wrapped, X_train_torch, y_train_torch, X_test_torch, y_test, \n", - " iterations=10, random_state=random_state, decomp_fn=bias_variance_mse, \n", - " fit_kwargs={'epochs': 100, 'batch_size': 300})\n", + " iterations=200, random_state=random_state, decomp_fn=bias_variance_mse, \n", + " fit_kwargs={'epochs': 25})\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", "print(f'average bias: {avg_bias:10.8f}')\n", @@ -248,7 +279,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "00c36e62", "metadata": {}, "outputs": [], @@ -261,7 +292,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "9780f64b", "metadata": {}, "outputs": [], @@ -275,19 +306,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "b1fa3121", "metadata": {}, "outputs": [], "source": [ - "model_tensorflow.compile(optimizer=tf.keras.optimizers.Adam(learning_rate=0.001),\n", + "model_tensorflow.compile(optimizer=tf.keras.optimizers.legacy.Adam(learning_rate=0.001),\n", " loss='mean_absolute_error',\n", " metrics=['mean_squared_error'])" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "ba3c0852", "metadata": {}, "outputs": [], @@ -297,15 +328,26 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "19e95731", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 12.15213883\n", + "average bias: 3.08502204\n", + "average variance: 9.06711679\n", + "net variance: 9.06711679\n" + ] + } + ], "source": [ "# Use wrapped estimator\n", - "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, iterations=10, \n", + "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, iterations=200, \n", " random_state=random_state, decomp_fn=bias_variance_mse, \n", - " fit_kwargs={'epochs': 100, 'verbose': False}, \n", + " fit_kwargs={'epochs': 25, 'batch_size': 5000, 'verbose': False}, \n", " predict_kwargs={'verbose': False})\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -324,17 +366,37 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "84a38e59", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "2023-12-01 12:15:52,912\tINFO worker.py:1673 -- Started a local Ray instance.\n", + "\u001b[36m(pid=73435)\u001b[0m WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n", + "\u001b[36m(pid=73435)\u001b[0m I0000 00:00:1701450956.584361 1 tfrt_cpu_pjrt_client.cc:349] TfrtCpuClient created.\n" + ] + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 7.90420163\n", + "average bias: 4.06288774\n", + "average variance: 3.84131389\n", + "net variance: 3.84131389\n" + ] + } + ], "source": [ "from mvtk.bias_variance import bias_variance_compute_parallel\n", "\n", "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute_parallel(model_tensorflow_wrapped, X_train, y_train, X_test, y_test, \n", - " iterations=10, random_state=random_state, \n", + " iterations=200, random_state=random_state, \n", " decomp_fn=bias_variance_mse, \n", - " fit_kwargs={'epochs': 100, 'verbose': False}, \n", + " fit_kwargs={'epochs': 25, 'batch_size': 5000, 'verbose': False}, \n", " predict_kwargs={'verbose': False})\n", "\n", "print(f'average loss: {avg_loss:10.8f}')\n", @@ -368,7 +430,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.11" + "version": "3.10.13" } }, "nbformat": 4, diff --git a/docs/notebooks/bias_variance/BiasVarianceVisualization.ipynb b/docs/notebooks/bias_variance/BiasVarianceVisualization.ipynb index c5db749..d7b3524 100644 --- a/docs/notebooks/bias_variance/BiasVarianceVisualization.ipynb +++ b/docs/notebooks/bias_variance/BiasVarianceVisualization.ipynb @@ -12,10 +12,19 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "84f10ff2", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "WARNING: All log messages before absl::InitializeLog() is called are written to STDERR\n", + "I0000 00:00:1701450524.267373 1 tfrt_cpu_pjrt_client.cc:349] TfrtCpuClient created.\n" + ] + } + ], "source": [ "import pandas as pd\n", "import numpy as np\n", @@ -35,7 +44,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "bbebb612-f174-43f4-ba3e-248162bdf145", "metadata": {}, "outputs": [], @@ -56,7 +65,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 3, "id": "1b6763e6", "metadata": {}, "outputs": [], @@ -69,24 +78,28 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 4, "id": "ddf47d23-ec6d-4870-b77d-4269347bb86e", "metadata": {}, "outputs": [], "source": [ - "def predict_trials(estimator, X_train, y_train, X_test, iterations, random_state, fit_kwargs=None, predict_kwargs=None):\n", - " predictions = np.zeros((iterations, y_test.shape[0]), dtype=np.float64)\n", - "\n", - " for i in range(iterations):\n", - " predictions[i] = bootstrap_train_and_predict(estimator, X_train, y_train, X_test, random_state=random_state, \n", - " fit_kwargs=fit_kwargs, predict_kwargs=predict_kwargs)\n", + "import warnings\n", "\n", - " return predictions" + "def predict_trials(estimator, X_train, y_train, X_test, iterations, random_state, fit_kwargs=None, predict_kwargs=None):\n", + " with warnings.catch_warnings():\n", + " warnings.simplefilter('ignore')\n", + " predictions = np.zeros((iterations, y_test.shape[0]), dtype=np.float64)\n", + " \n", + " for i in range(iterations):\n", + " predictions[i] = bootstrap_train_and_predict(estimator, X_train, y_train, X_test, random_state=random_state, \n", + " fit_kwargs=fit_kwargs, predict_kwargs=predict_kwargs)\n", + " \n", + " return predictions" ] }, { "cell_type": "code", - "execution_count": null, + "execution_count": 5, "id": "5f1b9ca5-1ea6-4b89-af8c-f8386f2a8220", "metadata": {}, "outputs": [], @@ -111,10 +124,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 6, "id": "0197d6ae-7ec3-400e-8540-efbd7da1d08f", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "plt.hist(y, density=True)\n", "plt.savefig('bias_variance_label_distribution.png')" @@ -132,7 +156,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 7, "id": "5ac18d40-42f4-45a3-854f-31311e39eab0", "metadata": {}, "outputs": [], @@ -146,7 +170,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "8b5a704a-fb61-4adf-9790-28730205a2d0", "metadata": {}, "outputs": [], @@ -156,10 +180,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "1a6d9156-a75e-419d-8f18-8dd7606e9ecf", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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I5WXl+dyLZWVlZo6dapWrlypLl26tOBVNowwAgBAGzB//nwtWrRIBQUF9c5YHDt2TLGxscrOztb777+v8PBwjR8/XseOHXPpPAkJCbrhhhsUExPTUqWfFbdpAABoAxYuXKjRo0c32H/dddc5ba9YsUL+/v7aunWrbrzxxiadY926dcrLy1Nubu451eoqZkYAAGgDoqKiGu0vLS1VfHy8wsPD5efnJ19fX1VWVqqoqKhJ4xcXF2vOnDl66aWX5Onp2RIlNxkzIwAAtAGdO3dutD82NlZff/21li1bpl69eslutys6Olo1NTVNGn/Xrl0qKyvT0KFDHW21tbV677339Mwzz6i6ulru7u7ndA0NIYwAANAObNu2Tc8++6zGjx8v6fuZjiNHjjT5+F/96lfavXu3U1tcXJz69eun+++/v9WCiEQYAQCgXQgPD9fatWsVFRWliooK3XffffLy8mry8T4+PhowYIBTW+fOndWtW7cz2lsaYQQAcEFw5UfI2qJVq1Zp1qxZGjp0qEJDQ/Xoo49q3rx5pstqkmY9wJqenq6wsDB5enpq+PDh2rlzZ6P7Hz16VAkJCQoODpbdbtdll12mN998s1kFAwDQns2YMUNHjx51bI8aNUqWZcnf399pv9TUVOXn5zu2hwwZotzcXH333Xfau3evbr31Vh08eFBz58517GNZliZNmtTkWrZs2dLqv74qNWNmJDMzU0lJScrIyNDw4cO1dOlSjR07VoWFherevfsZ+9fU1Gj06NHq3r27/v73v6tHjx76/PPPz/hQAQDAhcnlMLJkyRLFx8crLi5OkpSRkaE33nhDq1ev1vz588/Yf/Xq1frmm2+0fft2dezYUZIUFhZ2blUDAIB2w6XbNDU1Ndq1a5fTr7K5ubkpJiZGOTk59R7z2muvKTo6WgkJCQoMDNSAAQP06KOPqra2tsHzVFdXq6KiwmkBAADtk0szI0eOHFFtba0CAwOd2gMDA7Vnz556j/nvf/+rd955R1OnTtWbb76p/fv36+6779bJkyeVkpJS7zFpaWn685//7EppANCosPlvONYPev7WqW9g755O26+knXKsvzMq3akvIcP5Vy4BnLtW/wXWuro6de/eXStWrFBkZKQmT56sBx54QBkZGQ0es2DBApWXlzuW4uLi1i4TAAAY4tLMSEBAgNzd3VVaWurUXlpaqqCgoHqPCQ4OVseOHZ1+LOXyyy9XSUmJampq5OHhccYxdrtddrvdldIAAEAb5dLMiIeHhyIjI5WVleVoq6urU1ZWlqKjo+s95qqrrtL+/ftVV1fnaNu7d6+Cg4PrDSIAAODC4vJtmqSkJK1cuVIvvPCCCgoKdNddd6mqqsrx7Zrp06drwYIFjv3vuusuffPNN5ozZ4727t2rN954Q48++qgSEhJa7ioAAECb5fJXeydPnqzDhw8rOTlZJSUlioiI0MaNGx0PtRYVFcnN7YeMExoaqk2bNunee+/VoEGD1KNHD82ZM0f3339/y10FAABos5r1c/CJiYlKTEyst2/Lli1ntEVHR+v9999vzqkAAEA9UlNTtWHDBqdfYT0bm82m9evXu/QrrOcD76YBAFwQ0v/fO+f1fK58DdxmszXan5KSotTUVKe2efPm6Z577mlOaQ1KTU0946c1+vbt2+DPd7QUwggAAIYdOnTIsZ6Zmank5GQVFhY62ry9vR3rlmWptrZW3t7eTu0t5YorrtDbb7/t2O7QofWjQqv/zggAAGhcUFCQY/Hz85PNZnNs79mzRz4+PnrrrbcUGRkpu92u7OxspaamKiIiwjFGbm6uRo8erYCAAPn5+WnkyJHKy8tzuZYOHTo41RMQENCCV1o/wggAAG3A/PnztWjRIhUUFGjQoEFn9B87dkyxsbHKzs7W+++/r/DwcI0fP17Hjh1z6Tz79u1TSEiI+vTpo6lTp6qoqKilLqFB3KYBAKANWLhwoUaPHt1g/3XXOT+jsmLFCvn7+2vr1q268cYbm3SO4cOHa82aNerbt68OHTqkP//5z7rmmmv08ccfy8fH55zqbwxhBACANiAqKqrR/tLSUv3pT3/Sli1bVFZWptraWh0/ftylmY1x48Y51gcNGqThw4erV69eeuWVVzRz5sxm1342hBEAANqAzp07N9ofGxurr7/+WsuWLVOvXr1kt9sVHR2tmpqaZp/T399fl112mfbv39/sMZqCZ0YAAGgHtm3bptmzZ2v8+PG64oorZLfbdeTIkXMas7KyUp999pmCg4NbqMr6EUYAAGgHwsPDtXbtWhUUFGjHjh2aOnWqvLy8XBpj3rx52rp1qw4ePKjt27fr5ptvlru7u6ZMmdJKVX+P2zQAgAuCKz9C1hatWrVKs2bN0tChQxUaGqpHH31U8+bNc2mML774QlOmTNHXX3+tiy66SFdffbXef/99XXTRRa1U9fcIIwAA/IzMmDFDM2bMcGyPGjVKlmWdsV9qaqrTr7IOGTJEubm5TvvceuutTtv1jfNj69atc73gFsBtGgAAYBRhBAAAGEUYAQAARhFGAACAUYQRAEC7dLaHNdEyWuJzJowAANqVjh07SpKOHz9uuJILw+nP+fTn3hx8tRcA0K64u7vL399fZWVlkqROnTrJZrMZrqr9sSxLx48fV1lZmfz9/eXu7t7ssQgjAIB2JygoSJIcgQStx9/f3/F5NxdhBADQ7thsNgUHB6t79+46efKk6XLarY4dO57TjMhphBEAQLvl7u7eIn9ZonXxACsAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKOaFUbS09MVFhYmT09PDR8+XDt37mxw3zVr1shmszktnp6ezS4YAAC0Ly6HkczMTCUlJSklJUV5eXkaPHiwxo4dq7KysgaP8fX11aFDhxzL559/fk5FAwCA9sPlMLJkyRLFx8crLi5O/fv3V0ZGhjp16qTVq1c3eIzNZlNQUJBjCQwMbPQc1dXVqqiocFoAAED75FIYqamp0a5duxQTE/PDAG5uiomJUU5OToPHVVZWqlevXgoNDdXEiRP1ySefNHqetLQ0+fn5OZbQ0FBXygQAAG2IS2HkyJEjqq2tPWNmIzAwUCUlJfUe07dvX61evVr//Oc/9eKLL6qurk4jRozQF1980eB5FixYoPLycsdSXFzsSpkAAKAN6dDaJ4iOjlZ0dLRje8SIEbr88sv13HPP6aGHHqr3GLvdLrvd3tqlAQCAnwGXZkYCAgLk7u6u0tJSp/bS0lIFBQU1aYyOHTtqyJAh2r9/vyunBgAA7ZRLYcTDw0ORkZHKyspytNXV1SkrK8tp9qMxtbW12r17t4KDg12rFAAAtEsu36ZJSkpSbGysoqKiNGzYMC1dulRVVVWKi4uTJE2fPl09evRQWlqaJGnhwoW68sordemll+ro0aN6/PHH9fnnn+vOO+9s2SsBAABtksthZPLkyTp8+LCSk5NVUlKiiIgIbdy40fFQa1FRkdzcfphw+fbbbxUfH6+SkhJ16dJFkZGR2r59u/r3799yVwEAANqsZj3AmpiYqMTExHr7tmzZ4rT91FNP6amnnmrOaQAAwAWAd9MAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKM6mC4AAFC/sPlvOG0f9Pyt0/bA3j0d66+knXLqe2dUutN2QsZ1LVwd0HKYGQEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARjUrjKSnpyssLEyenp4aPny4du7c2aTj1q1bJ5vNpkmTJjXntAAAoB1yOYxkZmYqKSlJKSkpysvL0+DBgzV27FiVlZU1etzBgwc1b948XXPNNc0uFgAAtD8uh5ElS5YoPj5ecXFx6t+/vzIyMtSpUyetXr26wWNqa2s1depU/fnPf1afPn3OqWAAANC+uBRGampqtGvXLsXExPwwgJubYmJilJOT0+BxCxcuVPfu3TVz5swmnae6uloVFRVOCwAAaJ9cCiNHjhxRbW2tAgMDndoDAwNVUlJS7zHZ2dlatWqVVq5c2eTzpKWlyc/Pz7GEhoa6UiYAAGhDWvXbNMeOHdO0adO0cuVKBQQENPm4BQsWqLy83LEUFxe3YpUAAMAkl95NExAQIHd3d5WWljq1l5aWKigo6Iz9P/vsMx08eFATJkxwtNXV1X1/4g4dVFhYqEsuueSM4+x2u+x2uyulAQCANsqlmREPDw9FRkYqKyvL0VZXV6esrCxFR0efsX+/fv20e/du5efnO5abbrpJ1157rfLz87n9AgAAXH9rb1JSkmJjYxUVFaVhw4Zp6dKlqqqqUlxcnCRp+vTp6tGjh9LS0uTp6akBAwY4He/v7y9JZ7QDAIALk8thZPLkyTp8+LCSk5NVUlKiiIgIbdy40fFQa1FRkdzc+GFXAADQNC6HEUlKTExUYmJivX1btmxp9Ng1a9Y055QAAKCdYgoDAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYFQH0wUAwGlh899w2j7o+VvH+sDePZ36Xkk75bT9zqh0x3pCxnWtUB2A1sLMCAAAMIowAgAAjCKMAAAAo5oVRtLT0xUWFiZPT08NHz5cO3fubHDfV199VVFRUfL391fnzp0VERGhtWvXNrtgAADQvrgcRjIzM5WUlKSUlBTl5eVp8ODBGjt2rMrKyurdv2vXrnrggQeUk5Oj//znP4qLi1NcXJw2bdp0zsUDAIC2z+UwsmTJEsXHxysuLk79+/dXRkaGOnXqpNWrV9e7/6hRo3TzzTfr8ssv1yWXXKI5c+Zo0KBBys7ObvAc1dXVqqiocFoAAED75FIYqamp0a5duxQTE/PDAG5uiomJUU5OzlmPtyxLWVlZKiws1C9/+csG90tLS5Ofn59jCQ0NdaVMAADQhrgURo4cOaLa2loFBgY6tQcGBqqkpKTB48rLy+Xt7S0PDw/dcMMNevrppzV69OgG91+wYIHKy8sdS3FxsStlAgCANuS8/OiZj4+P8vPzVVlZqaysLCUlJalPnz4aNWpUvfvb7XbZ7fbzURoAADDMpTASEBAgd3d3lZaWOrWXlpYqKCiowePc3Nx06aWXSpIiIiJUUFCgtLS0BsMIAAC4cLh0m8bDw0ORkZHKyspytNXV1SkrK0vR0dFNHqeurk7V1dWunBoAALRTLt+mSUpKUmxsrKKiojRs2DAtXbpUVVVViouLkyRNnz5dPXr0UFpamqTvH0aNiorSJZdcourqar355ptau3atli9f3rJXAgAA2iSXw8jkyZN1+PBhJScnq6SkRBEREdq4caPjodaioiK5uf0w4VJVVaW7775bX3zxhby8vNSvXz+9+OKLmjx5cstdBQAAaLOa9QBrYmKiEhMT6+3bsmWL0/bDDz+shx9+uDmnAQAAFwDeTQMAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMCoZoWR9PR0hYWFydPTU8OHD9fOnTsb3HflypW65ppr1KVLF3Xp0kUxMTGN7g8AAC4sLoeRzMxMJSUlKSUlRXl5eRo8eLDGjh2rsrKyevffsmWLpkyZonfffVc5OTkKDQ3VmDFj9OWXX55z8QAAoO1zOYwsWbJE8fHxiouLU//+/ZWRkaFOnTpp9erV9e7/0ksv6e6771ZERIT69eunv/71r6qrq1NWVtY5Fw8AANo+l8JITU2Ndu3apZiYmB8GcHNTTEyMcnJymjTG8ePHdfLkSXXt2rXBfaqrq1VRUeG0AACA9smlMHLkyBHV1tYqMDDQqT0wMFAlJSVNGuP+++9XSEiIU6D5qbS0NPn5+TmW0NBQV8oEAABtyHn9Ns2iRYu0bt06rV+/Xp6eng3ut2DBApWXlzuW4uLi81glAAA4nzq4snNAQIDc3d1VWlrq1F5aWqqgoKBGj33iiSe0aNEivf322xo0aFCj+9rtdtntdldKAwAAbZRLMyMeHh6KjIx0evj09MOo0dHRDR732GOP6aGHHtLGjRsVFRXV/GoBAEC749LMiCQlJSUpNjZWUVFRGjZsmJYuXaqqqirFxcVJkqZPn64ePXooLS1NkrR48WIlJyfr5ZdfVlhYmOPZEm9vb3l7e7fgpQAAgLbI5TAyefJkHT58WMnJySopKVFERIQ2btzoeKi1qKhIbm4/TLgsX75cNTU1uvXWW53GSUlJUWpq6rlVDwAA2jyXw4gkJSYmKjExsd6+LVu2OG0fPHiwOacAAAAXCN5NAwAAjCKMAAAAo5p1mwbAhSts/htO2wc9f+u0PbB3T8f6K2mnnPreGZXuWE/IuK4VqgPQFjEzAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIxqVhhJT09XWFiYPD09NXz4cO3cubPBfT/55BP9+te/VlhYmGw2m5YuXdrcWgEAQDvkchjJzMxUUlKSUlJSlJeXp8GDB2vs2LEqKyurd//jx4+rT58+WrRokYKCgs65YAAA0L64HEaWLFmi+Ph4xcXFqX///srIyFCnTp20evXqevf/xS9+occff1y/+c1vZLfbm3SO6upqVVRUOC0AAKB9cimM1NTUaNeuXYqJiflhADc3xcTEKCcnp8WKSktLk5+fn2MJDQ1tsbEBAMDPSwdXdj5y5Ihqa2sVGBjo1B4YGKg9e/a0WFELFixQUlKSY7uiooJAAgAtKGz+G07bBz1/61gf2LunU98raaectt8Zle5YT8i4rhWqw4XGpTByvtjt9ibf0gEAAG2bS7dpAgIC5O7urtLSUqf20tJSHk4FAADN4lIY8fDwUGRkpLKyshxtdXV1ysrKUnR0dIsXBwAA2j+Xb9MkJSUpNjZWUVFRGjZsmJYuXaqqqirFxcVJkqZPn64ePXooLS1N0vcPvX766aeO9S+//FL5+fny9vbWpZde2oKXAgAA2iKXw8jkyZN1+PBhJScnq6SkRBEREdq4caPjodaioiK5uf0w4fLVV19pyJAhju0nnnhCTzzxhEaOHKktW7ac+xUAOENjDydKzg8oNvZwosQDigBaX7MeYE1MTFRiYmK9fT8NGGFhYbIsqzmnAQAAFwDeTQMAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwKgOpgsALmRh899wrB/0/K1T38DePZ22X0k75Vh/Z1S6U19CxnWtUB0AnB/MjAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKL7aC5zFj79+Kzl/BZev3wLAuWNmBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYxbdp0C409xsvkvO3XvjGCwCcf8yMAAAAo5gZAQC0KH6bB64ijOC8aewPKMn5D6nGbqVI/CEFAO0Jt2kAAIBRhBEAAGAUYQQAABjVrGdG0tPT9fjjj6ukpESDBw/W008/rWHDhjW4/9/+9jc9+OCDOnjwoMLDw7V48WKNHz++2UUDAC5MP372rLHnziQejm1LXJ4ZyczMVFJSklJSUpSXl6fBgwdr7NixKisrq3f/7du3a8qUKZo5c6Y+/PBDTZo0SZMmTdLHH398zsUDAIC2z+WZkSVLlig+Pl5xcXGSpIyMDL3xxhtavXq15s+ff8b+y5Yt0/XXX6/77rtPkvTQQw9p8+bNeuaZZ5SRkXGO5aM18H8eAIDzyaUwUlNTo127dmnBggWONjc3N8XExCgnJ6feY3JycpSUlOTUNnbsWG3YsKHB81RXV6u6utqxXV5eLkmqqKhwpVzjBqRsctr+2HOmY/3KXhc79b3wpPNXWbde86RjfdbSka1QXcPqqo871itsllNf7Xe1TtuVtT9sf1dT5dT3039ePx73bGP/eNxzHbuxmn86dn3/jjV37LPV/NOx28Nn7crYLflZuzp2S37Wroxt6rN2dewL8b+Zxv68lpz/zG7sz2vp/P+Z/XN2+nO2LKvxHS0XfPnll5Yka/v27U7t9913nzVs2LB6j+nYsaP18ssvO7Wlp6db3bt3b/A8KSkpliQWFhYWFhaWdrAUFxc3mi9+lj96tmDBAqfZlLq6On3zzTfq1q2bbDabwcpcU1FRodDQUBUXF8vX19d0Oa3qQrpWiettzy6ka5W43vbs53CtlmXp2LFjCgkJaXQ/l8JIQECA3N3dVVpa6tReWlqqoKCgeo8JCgpyaX9JstvtstvtTm3+/v6ulPqz4uvr2+7/pT/tQrpWiettzy6ka5W43vbM9LX6+fmddR+Xvk3j4eGhyMhIZWVlOdrq6uqUlZWl6Ojoeo+Jjo522l+SNm/e3OD+AADgwuLybZqkpCTFxsYqKipKw4YN09KlS1VVVeX4ds306dPVo0cPpaWlSZLmzJmjkSNH6sknn9QNN9ygdevW6YMPPtCKFSta9koAAECb5HIYmTx5sg4fPqzk5GSVlJQoIiJCGzduVGBgoCSpqKhIbm4/TLiMGDFCL7/8sv70pz/pj3/8o8LDw7VhwwYNGDCg5a7iZ8putyslJeWMW07t0YV0rRLX255dSNcqcb3tWVu6Vptlne37NgAAAK2Hd9MAAACjCCMAAMAowggAADCKMAIAAIwijLSCL7/8Ur/73e/UrVs3eXl5aeDAgfrggw9Ml9UqwsLCZLPZzlgSEhJMl9biamtr9eCDD6p3797y8vLSJZdcooceeujs71xow44dO6a5c+eqV69e8vLy0ogRI5Sbm2u6rBbx3nvvacKECQoJCZHNZjvjfVmWZSk5OVnBwcHy8vJSTEyM9u3bZ6bYFnC263311Vc1ZswYxy9d5+fnG6mzJTR2rSdPntT999+vgQMHqnPnzgoJCdH06dP11VdfmSv4HJ3tn21qaqr69eunzp07q0uXLoqJidGOHTvMFNsAwkgL+/bbb3XVVVepY8eOeuutt/Tpp5/qySefVJcuXUyX1ipyc3N16NAhx7J582ZJ0m233Wa4spa3ePFiLV++XM8884wKCgq0ePFiPfbYY3r66adNl9Zq7rzzTm3evFlr167V7t27NWbMGMXExOjLL780Xdo5q6qq0uDBg5Wenl5v/2OPPaa//OUvysjI0I4dO9S5c2eNHTtWJ06cOM+VtoyzXW9VVZWuvvpqLV68+DxX1vIau9bjx48rLy9PDz74oPLy8vTqq6+qsLBQN910k4FKW8bZ/tledtlleuaZZ7R7925lZ2crLCxMY8aM0eHDh89zpY04++vx4Ir777/fuvrqq02XYcycOXOsSy65xKqrqzNdSou74YYbrDvuuMOp7ZZbbrGmTp1qqKLWdfz4ccvd3d16/fXXndqHDh1qPfDAA4aqah2SrPXr1zu26+rqrKCgIOvxxx93tB09etSy2+3W//7v/xqosGX99Hp/7MCBA5Yk68MPPzyvNbWWxq71tJ07d1qSrM8///z8FNWKmnK95eXlliTr7bffPj9FNQEzIy3stddeU1RUlG677TZ1795dQ4YM0cqVK02XdV7U1NToxRdf1B133NGmXmjYVCNGjFBWVpb27t0rSfroo4+UnZ2tcePGGa6sdZw6dUq1tbXy9PR0avfy8lJ2drahqs6PAwcOqKSkRDExMY42Pz8/DR8+XDk5OQYrQ2soLy+XzWZr0+9Aa6qamhqtWLFCfn5+Gjx4sOlyHAgjLey///2vli9frvDwcG3atEl33XWXZs+erRdeeMF0aa1uw4YNOnr0qGbMmGG6lFYxf/58/eY3v1G/fv3UsWNHDRkyRHPnztXUqVNNl9YqfHx8FB0drYceekhfffWVamtr9eKLLyonJ0eHDh0yXV6rKikpkSTHL0ufFhgY6OhD+3DixAndf//9mjJlSrt+cd7rr78ub29veXp66qmnntLmzZsVEBBguiwHwkgLq6ur09ChQ/Xoo49qyJAhmjVrluLj45WRkWG6tFa3atUqjRs37qyvim6rXnnlFb300kt6+eWXlZeXpxdeeEFPPPFEuw6aa9eulWVZ6tGjh+x2u/7yl79oypQpTq98ANqqkydP6vbbb5dlWVq+fLnpclrVtddeq/z8fG3fvl3XX3+9br/9dpWVlZkuy4E/UVpYcHCw+vfv79R2+eWXq6ioyFBF58fnn3+ut99+W3feeafpUlrNfffd55gdGThwoKZNm6Z7773X8VLI9uiSSy7R1q1bVVlZqeLiYu3cuVMnT55Unz59TJfWqoKCgiRJpaWlTu2lpaWOPrRtp4PI559/rs2bN7frWRFJ6ty5sy699FJdeeWVWrVqlTp06KBVq1aZLsuBMNLCrrrqKhUWFjq17d27V7169TJU0fnx/PPPq3v37rrhhhtMl9Jqjh8/fsaMgLu7u+rq6gxVdP507txZwcHB+vbbb7Vp0yZNnDjRdEmtqnfv3goKClJWVpajraKiQjt27FB0dLTBytASTgeRffv26e2331a3bt1Ml3Te1dXVqbq62nQZDi6/tReNu/feezVixAg9+uijuv3227Vz506tWLFCK1asMF1aq6mrq9Pzzz+v2NhYdejQfv+VmjBhgh555BH17NlTV1xxhT788EMtWbJEd9xxh+nSWs2mTZtkWZb69u2r/fv367777lO/fv0UFxdnurRzVllZqf379zu2Dxw4oPz8fHXt2lU9e/bU3Llz9fDDDys8PFy9e/fWgw8+qJCQEE2aNMlc0efgbNf7zTffqKioyPF7G6f/pyooKKjNzQY1dq3BwcG69dZblZeXp9dff121tbWO54C6du0qDw8PU2U3W2PX261bNz3yyCO66aabFBwcrCNHjig9PV1ffvnlz+snGAx/m6dd+te//mUNGDDAstvtVr9+/awVK1aYLqlVbdq0yZJkFRYWmi6lVVVUVFhz5syxevbsaXl6elp9+vSxHnjgAau6utp0aa0mMzPT6tOnj+Xh4WEFBQVZCQkJ1tGjR02X1SLeffddS9IZS2xsrGVZ33+998EHH7QCAwMtu91u/epXv2rT/46f7Xqff/75evtTUlKM1t0cjV3r6a8u17e8++67pktvlsau97vvvrNuvvlmKyQkxPLw8LCCg4Otm266ydq5c6fpsp3YLKsd/3wkAAD42eOZEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAF5wZM2a02Z91B9ojwggAADCKMAKgTaqpqTFdgpP66qmtrW3WW52bexzQVhFGAANGjRqle+65R3PnzlWXLl0UGBiolStXqqqqSnFxcfLx8dGll16qt956y+m4jz/+WOPGjZO3t7cCAwM1bdo0HTlyxNG/ceNGXX311fL391e3bt1044036rPPPnP0Hzx4UDabTa+++qquvfZaderUSYMHD1ZOTk6DtVqWpdTUVPXs2VN2u10hISGaPXu2o7+srEwTJkyQl5eXevfurZdeeklhYWFaunSp0znz8/Mdxxw9elQ2m01btmyR9P1fvjNnzlTv3r3l5eWlvn37atmyZU51nL618sgjjygkJER9+/aVJBUXF+v222+Xv7+/unbtqokTJ+rgwYOO42pra5WUlOT4TP7whz+oKa/kys7O1jXXXCMvLy+FhoZq9uzZqqqqcvSHhYXpoYce0vTp0+Xr66tZs2ZpzZo18vf312uvvab+/fvLbrerqKhI3377raZPn64uXbqoU6dOGjdunPbt2+cYq6HjgAsFYQQw5IUXXlBAQIB27type+65R3fddZduu+02jRgxQnl5eRozZoymTZum48ePS/r+L/DrrrtOQ4YM0QcffKCNGzeqtLRUt99+u2PMqqoqJSUl6YMPPlBWVpbc3Nx08803n/F/2Q888IDmzZun/Px8XXbZZZoyZYpOnTpVb53/+Mc/9NRTT+m5557Tvn37tGHDBg0cONDRP2PGDBUXF+vdd9/V3//+dz377LMqKytz6bOoq6vTxRdfrL/97W/69NNPlZycrD/+8Y965ZVXnPbLyspSYWGhNm/erNdff10nT57U2LFj5ePjo3//+9/atm2bvL29df311ztmKp588kmtWbNGq1evVnZ2tr755hutX7++0Xo+++wzXX/99fr1r3+t//znP8rMzFR2drYSExOd9nviiSc0ePBgffjhh3rwwQclScePH9fixYv117/+VZ988om6d++uGTNm6IMPPtBrr72mnJwcWZal8ePH6+TJk46x6jsOuGAYfWcwcIEaOXKkdfXVVzu2T506ZXXu3NmaNm2ao+3QoUOWJCsnJ8eyLMt66KGHrDFjxjiNU1xcbElq8NX2hw8ftiRZu3fvtizLcrw+/a9//atjn08++cSSZBUUFNQ7xpNPPmlddtllVk1NzRl9hYWFliSn15EXFBRYkqynnnrK6ZwffvihY59vv/32rK9sT0hIsH796187tmNjY63AwECrurra0bZ27Vqrb9++Vl1dnaOturra8vLysjZt2mRZlmUFBwdbjz32mKP/5MmT1sUXX2xNnDixwXPPnDnTmjVrllPbv//9b8vNzc367rvvLMuyrF69elmTJk1y2uf555+3JFn5+fmOtr1791qSrG3btjnajhw5Ynl5eVmvvPJKg8cBFxJmRgBDBg0a5Fh3d3dXt27dnGYcAgMDJckxy/DRRx/p3Xfflbe3t2Pp16+fJDluxezbt09TpkxRnz595Ovrq7CwMEk6Y8r/x+cODg52Os9P3Xbbbfruu+/Up08fxcfHa/369Y5ZlIKCAnXo0EGRkZGO/fv16yd/f3+XP4/09HRFRkbqoosukre3t1asWHFG3QMHDpSHh4dj+6OPPtL+/fvl4+Pj+Ey6du2qEydO6LPPPlN5ebkOHTqk4cOHO47p0KGDoqKiGq3lo48+0po1a5w+67Fjx6qurk4HDhxw7FffOB4eHk6f7+nP6Mc1dOvWTX379lVBQUGDxwEXkg6mCwAuVB07dnTattlsTm02m02SHLdYKisrNWHCBC1evPiMsU4HigkTJqhXr15auXKlQkJCVFdXpwEDBpzxcGVj5/mp0NBQFRYW6u2339bmzZt199136/HHH9fWrVubdJ1ubt//P4/1o+c0fnx7QpLWrVunefPm6cknn1R0dLR8fHz0+OOPa8eOHU77de7c2Wm7srJSkZGReumll84470UXXdSk+upTWVmp3//+907PxpzWs2fPBuuRJC8vL8dn6ormHge0B4QRoI0YOnSo/vGPfygsLEwdOpz5n+7XX3+twsJCrVy5Utdcc42k7x/CbAleXl6aMGGCJkyYoISEBPXr10+7d+9Wv379dOrUKe3atUu/+MUvJEmFhYU6evSo49jToeDQoUMaMmSIJDk9zCpJ27Zt04gRI3T33Xc72n784G1Dhg4dqszMTHXv3l2+vr717hMcHKwdO3bol7/8pSQ56h06dGij43766ae69NJLz1rD2Vx++eU6deqUduzYoREjRkj64Z9V//79z3l8oD3gNg3QRiQkJOibb77RlClTlJubq88++0ybNm1SXFycamtr1aVLF3Xr1k0rVqzQ/v379c477ygpKemcz7tmzRqtWrVKH3/8sf773//qxRdflJeXl3r16qW+ffvq+uuv1+9//3vt2LFDu3bt0p133ikvLy/H8V5eXrryyiu1aNEiFRQUaOvWrfrTn/7kdI7w8HB98MEH2rRpk/bu3asHH3xQubm5Z61t6tSpCggI0MSJE/Xvf/9bBw4c0JYtWzR79mx98cUXkqQ5c+Zo0aJF2rBhg/bs2aO7777bKSzV5/7779f27duVmJio/Px87du3T//85z/PeIC1KcLDwzVx4kTFx8crOztbH330kX73u9+pR48emjhxosvjAe0RYQRoI0JCQrRt2zbV1tZqzJgxGjhwoObOnSt/f3+5ubnJzc1N69at065duzRgwADde++9evzxx8/5vP7+/lq5cqWuuuoqDRo0SG+//bb+9a9/qVu3bpKk559/XiEhIRo5cqRuueUWzZo164xvgqxevVqnTp1SZGSk5s6dq4cfftip//e//71uueUWTZ48WcOHD9fXX3/tNEvSkE6dOum9995Tz549dcstt+jyyy/XzJkzdeLECcdMyf/8z/9o2rRpio2NddwCuvnmmxsdd9CgQdq6dav27t2ra665RkOGDFFycrJCQkJc+egcnn/+eUVGRurGG29UdHS0LMvSm2++ecatOuBCZbOsJnzhHgBcEBYWprlz52ru3LmmSwHQBjAzAgAAjCKMAAAAo7hNAwAAjGJmBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGDU/weUwiCS+XAR6wAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "graph_trials(pred_bias, y_test, bins)\n", "plt.savefig('high_bias_low_variance.png')" @@ -177,10 +212,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "f304dcb0-6d5d-4331-b01a-cd42c4ef72d3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 100.73667218\n", + "average bias: 100.64990963\n", + "average variance: 0.08676256\n", + "net variance: 0.08676256\n" + ] + } + ], "source": [ "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_bias_wrapped, X_train, y_train_bias, X_test, y_test, \n", " iterations=trials_full, random_state=random_state, \n", @@ -204,7 +250,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "e0dc50a3-3b03-4c28-85f1-f9d603e5d6f3", "metadata": {}, "outputs": [], @@ -229,7 +275,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "3ecc2c3e-cddc-4a40-ae0c-c3870d180abc", "metadata": {}, "outputs": [], @@ -241,7 +287,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 13, "id": "fd0a853d-e74a-43e4-8d50-ba286323f13c", "metadata": {}, "outputs": [], @@ -254,7 +300,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 14, "id": "88c4a23c-f44f-4c93-9664-7b828d2a3200", "metadata": {}, "outputs": [], @@ -267,7 +313,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 15, "id": "036c2e2d-245c-4ab6-92fd-da72ba3dc5c2", "metadata": {}, "outputs": [], @@ -278,10 +324,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 16, "id": "3cb83233-f8aa-4053-84a9-417325cc89ba", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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pvLycgUGBrq0BwYGqqCgoNJ1CgoK3Op/9uxZPfTQQxozZoz8/Pwq7ZOamiqn02lNISEh7uwGAACoZ2z1LaHz58/rnnvukTFGL7744iX7zZ07VydPnrSmI0eO1GKVAACgtjV1p3NAQICaNGmiwsJCl/bCwkIFBQVVuk5QUNAV9f8urHz++ed69913L3l2RZK8vLzk5eXlTukAAKAec+sMi6enp6Kjo5WRkWG1VVRUKCMjQ3FxcZWuExcX59JfkjZu3OjS/7uwcuDAAb3zzjtq1aqVO2UBAIAGzq0zLJKUlJSkxMRExcTEqFevXlq4cKFOnTqlCRMmSJLGjx+vdu3aKTU1VZI0Y8YM9e3bVwsWLNCQIUO0cuVK7d69W0uXLpX0bVj5r//6L+Xk5Ojtt99WeXm5dX/L9ddfL09Pz5raVwAAUE+5HVhGjx6tr776SsnJySooKFBkZKTWr19v3Vibn58vD4/vT9z07t1bK1as0MMPP6x58+YpPDxc6enp6tatmyTpiy++0FtvvSVJioyMdNnWpk2bdMcdd1Rz1wAAQEPhdmCRpKlTp2rq1KmVLtu8efNFbaNGjdKoUaMq7R8WFiZjTHXKAAAAjYStviUEAABQGQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwPQILAACwvaZ1XQCAxqX7691d5j9K/KiOKgFQn3CGBQAA2B6BBQAA2B6BBQAA2B6BBQAA2B6BBQAA2B7fEgKAyqQ4XWa7d+xgveabTUDt4wwLAACwPQILAACwPQILAACwPQILAACwPW66BQAbW3z/uy7zU5b0q6NKgLrFGRYAAGB7BBYAAGB7BBYAAGB7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16BBg3TgwAFrrEutBzQmBBbApl5//XUFBARo586dmjZtmn75y19q1KhR6t27t3JycjRgwACNGzdOp0+flvTth3y/fv108803a/fu3Vq/fr0KCwt1zz33WGOeOnVKSUlJ2r17tzIyMuTh4aGRI0de9K/13/zmN5o1a5b27t2rm266SWPGjNGFCxcqrfOvf/2rnnvuOb300ks6cOCA0tPT1b17d2v5vffeqyNHjmjTpk36y1/+ohdeeEFFRUVuHYuKigq1b99eq1ev1ieffKLk5GTNmzdPb775pku/jIwM5eXlaePGjXr77bd1/vx5JSQkqGXLlnr//fe1detW+fr6auDAgdYZjwULFmjZsmV69dVXlZmZqa+//lpr1qypsp6DBw9q4MCBuvvuu/Xhhx9q1apVyszM1NSpU136/e53v1PPnj21Z88ePfLII5Kk06dP66mnntIf//hHffzxx2rTpo3uvfde7d69W2+99ZaysrJkjNHgwYN1/vx5a6zK1gMalTr9rWgAlerbt6/p06ePNX/hwgXTokULM27cOKvt6NGjRpLJysoyxhjz+OOPmwEDBriMc+TIESPpop+O/85XX31lJJmPPvrIGGPMoUOHjCTzxz/+0erz8ccfG0kmNze30jEWLFhgbrrpJlNWVnbRsry8PCPJ7Ny502rLzc01ksxzzz3nss09e/ZYfb755hsjyWzatKnSbRpjzJQpU8zdd99tzScmJprAwEBz7tw5q2358uUmIiLCVFRUWG3nzp0zPj4+ZsOGDcYYY9q2bWuefvppa/n58+dN+/btzfDhwy+57YkTJ5rJkye7tL3//vvGw8PDnDlzxhhjTGhoqBkxYoRLn9dee81IMnv37rXaPv30UyPJbN261Wo7duyY8fHxMW+++eYl1wMaG86wADbVo0cP63WTJk3UqlUrlzMXgYGBkmSdrfjggw+0adMm+fr6WlOnTp0kybrsc+DAAY0ZM0Y33HCD/Pz8FBYWJkkXXV744bbbtm3rsp0fGzVqlM6cOaMbbrhBkyZN0po1a6yzMbm5uWratKmio6Ot/p06dZK/v7/bx2Px4sWKjo5W69at5evrq6VLl15Ud/fu3eXp6WnNf/DBB/rss8/UsmVL65hcf/31Onv2rA4ePKiTJ0/q6NGjio2NtdZp2rSpYmJiqqzlgw8+0LJly1yOdUJCgioqKnTo0CGrX2XjeHp6uhzf747RD2to1aqVIiIilJube8n1gMamaV0XAKByzZo1c5l3OBwubQ6HQ5KsyzmlpaUaNmyYnnrqqYvG+i50DBs2TKGhoXr55ZcVHBysiooKdevW7aIbQqvazo+FhIQoLy9P77zzjjZu3KgHHnhAzzzzjLZs2XJF++nh8e2/m8wP7hv54aUQSVq5cqVmzZqlBQsWKC4uTi1bttQzzzyjHTt2uPRr0aKFy3xpaamio6P1xhtvXLTd1q1bX1F9lSktLdV9993ncq/Odzp06HDJeiTJx8fHOqbuqO56QENBYAEaiKioKP31r39VWFiYmja9+K/28ePHlZeXp5dfflm33XabpG9vHK0JPj4+GjZsmIYNG6YpU6aoU6dO+uijj9SpUydduHBB2dnZuuWWWyRJeXl5OnHihLXud8Hh6NGjuvnmmyXJ5QZcSdq6dat69+6tBx54wGr74c3ClxIVFaVVq1apTZs28vPzq7RP27ZttWPHDt1+++2SZNUbFRVV5biffPKJbrzxxsvWcDmdO3fWhQsXtGPHDvXu3VvS9+9Vly5drnp8oKHgkhDQQEyZMkVff/21xowZo127dungwYPasGGDJkyYoPLycl133XVq1aqVli5dqs8++0zvvvuukpKSrnq7y5Yt0yuvvKJ9+/bpX//6l/785z/Lx8dHoaGhioiI0MCBA3Xfffdpx44dys7O1i9+8Qv5+PhY6/v4+OjWW29VWlqacnNztWXLFj388MMu2wgPD9fu3bu1YcMGffrpp3rkkUe0a9euy9Y2duxYBQQEaPjw4Xr//fd16NAhbd68WdOnT9e///1vSdKMGTOUlpam9PR07d+/Xw888IBLoKrMQw89pG3btmnq1Knau3evDhw4oL///e8X3XR7JcLDwzV8+HBNmjRJmZmZ+uCDD/Tf//3fateunYYPH+72eEBDRWABGojg4GBt3bpV5eXlGjBggLp3766ZM2fK399fHh4e8vDw0MqVK5Wdna1u3brpV7/6lZ555pmr3q6/v79efvll/eQnP1GPHj30zjvv6B//+IdatWolSXrttdcUHBysvn376q677tLkyZMv+obLq6++qgsXLig6OlozZ87Ub3/7W5fl9913n+666y6NHj1asbGxOn78uMvZlktp3ry53nvvPXXo0EF33XWXOnfurIkTJ+rs2bPWGZcHH3xQ48aNU2JionW5aeTIkVWO26NHD23ZskWffvqpbrvtNt18881KTk5WcHCwO4fO8tprryk6OlpDhw5VXFycjDFau3btRZcFgcbMYcwVPHAAAGpQWFiYZs6cqZkzZ9Z1KQDqCc6wAAAA2yOwAAAA2+OSEAAAsD3OsAAAANsjsAAAANsjsAAAANsjsAAAANsjsAAAANsjsAAAANsjsAAAANsjsAAAANv7/xbIOZV7vx3oAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "graph_trials(pred_variance, y_test, bins)\n", "plt.savefig('low_bias_high_variance.png')" @@ -299,10 +356,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 17, "id": "a4b27030-2e59-4209-8ec1-bf9635abea73", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 95.16939162\n", + "average bias: 2.09532483\n", + "average variance: 93.07406679\n", + "net variance: 93.07406679\n" + ] + } + ], "source": [ "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_variance_wrapped, X_train_torch, y_train_torch, \n", " X_test_torch, y_test, iterations=trials_full, \n", @@ -327,7 +395,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 18, "id": "91897cf7-c5ca-4a1f-8d72-7e50e96d96a6", "metadata": {}, "outputs": [], @@ -339,7 +407,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 19, "id": "633a2bfa-58b5-4f9b-8a67-93ff1cfd8c9b", "metadata": {}, "outputs": [], @@ -350,7 +418,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 20, "id": "65aab378-ce2f-45e4-b209-3d45fd7c998e", "metadata": {}, "outputs": [], @@ -363,7 +431,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 21, "id": "209816f1-8a37-4261-84d5-5c4e4678e696", "metadata": {}, "outputs": [], @@ -375,10 +443,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 22, "id": "0606bb52-1847-4a67-9056-94ca07edb175", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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hp/Sq1cvXb16VXv27NHAgQMlff//Ve/eva95fKA543IS0ExMnTpVX331lcaNG6d9+/bp+PHjevvtt5WYmKjKykq1b99eHTt21OrVq3Xs2DG9++67SkpKuubtrlu3TmvWrNHhw4f1f//3f/rzn/8sDw8Pde/eXcHBwYqLi9MjjzyiPXv2KCcnR//xH/8hDw8P+/oeHh668847tWjRIuXl5WnHjh2aP3++wzaCgoK0f/9+vf322/r000/15JNPat++fT9Z28MPPywfHx+NGjVKH3zwgU6cOKHMzEzNmDFDn3/+uSRp5syZWrRokbZs2aIjR47osccecwhZNXniiSe0a9cuTZs2TQcPHtTRo0f1t7/9rdqNvfURFBSkUaNGafLkycrKytKHH36of/u3f1PXrl01atQop8cDWhJCDNBM+Pv7a+fOnaqsrNSQIUMUGhqqWbNmydvbWy4uLnJxcdHGjRuVk5Ojvn376je/+Y2effbZa96ut7e3XnrpJf385z9Xv3799M477+jvf/+7OnbsKEl6+eWX5e/vr0GDBmn06NGaMmVKtW/WrF27VlevXlVERIRmzZql3/3udw7LH3nkEY0ePVpjx45VVFSUzp4963BWpjZt2rTR+++/r27dumn06NHq1auXJk2apEuXLtnPzDz++OMaP368EhIS7JeqHnjggTrH7devn3bs2KFPP/1Ud999t26//XalpKTI39/fmUNn9/LLLysiIkIjRoxQdHS0DMPQ1q1bq11SBODIYhj1eCACADSiwMBAzZo1S7NmzWrqUgCYGGdiAACAKRFiAACAKXE5CQAAmBJnYgAAgCkRYgAAgCkRYgAAgCkRYgAAgCkRYgAAgCkRYgAAgCkRYgAAgCkRYgAAgCn9fxf736fYf1lcAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "graph_trials(pred_bias_variance, y_test, bins)\n", "plt.savefig('high_bias_high_variance.png')" @@ -396,10 +475,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 23, "id": "8c63ab2a-8f56-4f5d-afb0-f9bfa31dec4d", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 172.72894068\n", + "average bias: 79.38170440\n", + "average variance: 93.34723628\n", + "net variance: 93.34723628\n" + ] + } + ], "source": [ "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_bias_variance_wrapped, X_train_torch, y_train_torch_bias_variance, \n", " X_test_torch, y_test, iterations=trials_full, \n", @@ -424,7 +514,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 24, "id": "78403d2e-2655-40c0-9357-837a2ed1e252", "metadata": {}, "outputs": [], @@ -437,7 +527,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 25, "id": "2cae33f2-6961-415a-aa0c-5406f7be8e92", "metadata": {}, "outputs": [], @@ -447,10 +537,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 26, "id": "21673f12-c5e5-4d59-8497-f76c6ab74d84", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "image/png": "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AgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwqovpAgDga+GLXnNZPuz9c+f88IH9Xda9nHHWZfnt8ZnO+aSsCW1QHYC2wsgIAAAwijACAACMIowAAACjWhRGMjMzFR4eLm9vb8XExGjnzp2NbvvKK68oOjpaQUFB6tatmyIjI7Vu3boWFwwAADoWt8NIdna2UlJSlJaWpsLCQo0cOVKTJk1SeXl5g9v36NFDv/vd75Sfn6///Oc/SkhIUEJCgjZv3nzBxQMAgPbP7TCybNkyJSYmKiEhQUOHDlVWVpZ8fX21Zs2aBrcfP368brnlFl1xxRW69NJLNX/+fI0YMUJ5eXmNHqO2tlZVVVUuEwAA6JjcCiN1dXUqKChQXFzcNx14eCguLk75+fnn3d+yLOXk5Ki4uFg//OEPG90uIyNDgYGBziksLMydMgEAQDviVhipqKiQw+FQSEiIS3tISIhKS0sb3a+yslJ+fn7y8vLSTTfdpCeffFITJ05sdPvFixersrLSOR05csSdMgEAQDtyUV565u/vr6KiIp06dUo5OTlKSUnRoEGDNH78+Aa3t9vtstvtF6M0AABgmFthJDg4WJ6eniorK3NpLysrU2hoaKP7eXh46LLLLpMkRUZGat++fcrIyGg0jAAAgM7Drcs0Xl5eioqKUk5OjrOtvr5eOTk5io2NbXY/9fX1qq2tdefQAACgg3L7Mk1KSori4+MVHR2tMWPGaPny5aqpqVFCQoIkadasWerbt68yMjIkfXUzanR0tC699FLV1tbq9ddf17p16/T000+37pkAAIB2ye0wMn36dB0/flypqakqLS1VZGSkNm3a5LyptaSkRB4e3wy41NTU6J577tEnn3wiHx8fDRkyRC+88IKmT5/eemcBAADarRbdwJqcnKzk5OQG1+Xm5rosP/TQQ3rooYdachgAANAJ8N00AADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjGpRGMnMzFR4eLi8vb0VExOjnTt3NrrtqlWrdO2116p79+7q3r274uLimtweAAB0Lm6HkezsbKWkpCgtLU2FhYUaOXKkJk2apPLy8ga3z83N1R133KF33nlH+fn5CgsL0/XXX69PP/30gosHAADtn9thZNmyZUpMTFRCQoKGDh2qrKws+fr6as2aNQ1u/+KLL+qee+5RZGSkhgwZomeffVb19fXKycm54OIBAED751YYqaurU0FBgeLi4r7pwMNDcXFxys/Pb1Yfp0+f1pkzZ9SjR49Gt6mtrVVVVZXLBAAAOia3wkhFRYUcDodCQkJc2kNCQlRaWtqsPu677z716dPHJdB8V0ZGhgIDA51TWFiYO2UCAIB25KI+TbN06VKtX79eGzZskLe3d6PbLV68WJWVlc7pyJEjF7FKAABwMXVxZ+Pg4GB5enqqrKzMpb2srEyhoaFN7vvYY49p6dKleuuttzRixIgmt7Xb7bLb7e6UBgAA2im3Rka8vLwUFRXlcvPp1zejxsbGNrrfn/70Jz344IPatGmToqOjW14tAADocNwaGZGklJQUxcfHKzo6WmPGjNHy5ctVU1OjhIQESdKsWbPUt29fZWRkSJIeeeQRpaam6qWXXlJ4eLjz3hI/Pz/5+fm14qkAAID2yO0wMn36dB0/flypqakqLS1VZGSkNm3a5LyptaSkRB4e3wy4PP3006qrq9Ntt93m0k9aWprS09MvrHoAANDuuR1GJCk5OVnJyckNrsvNzXVZPnz4cEsOAQAAOgm+mwYAABhFGAEAAEa16DINgM4rfNFrLsuHvX/usjx8YH/n/MsZZ13WvT0+0zmflDWhDaoD0B4xMgIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMIowAAACjCCMAAMAowggAADCKMAIAAIwijAAAAKMIIwAAwCjCCAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwijACAACMalEYyczMVHh4uLy9vRUTE6OdO3c2uu3evXv1k5/8ROHh4bLZbFq+fHlLawUAAB2Q22EkOztbKSkpSktLU2FhoUaOHKlJkyapvLy8we1Pnz6tQYMGaenSpQoNDb3gggEAQMfidhhZtmyZEhMTlZCQoKFDhyorK0u+vr5as2ZNg9tfddVVevTRR/Wzn/1Mdru9Wceora1VVVWVywQAADomt8JIXV2dCgoKFBcX900HHh6Ki4tTfn5+qxWVkZGhwMBA5xQWFtZqfQMAgO+XLu5sXFFRIYfDoZCQEJf2kJAQ7d+/v9WKWrx4sVJSUpzLVVVVBBIAaEXhi15zWT7s/XPn/PCB/V3WvZxx1mX57fGZzvmkrAltUB06G7fCyMVit9ubfUkHAAC0b25dpgkODpanp6fKyspc2svKyrg5FQAAtIhbYcTLy0tRUVHKyclxttXX1ysnJ0exsbGtXhwAAOj43L5Mk5KSovj4eEVHR2vMmDFavny5ampqlJCQIEmaNWuW+vbtq4yMDElf3fT64YcfOuc//fRTFRUVyc/PT5dddlkrngoAAGiP3A4j06dP1/Hjx5WamqrS0lJFRkZq06ZNzptaS0pK5OHxzYDL0aNHNWrUKOfyY489pscee0zjxo1Tbm7uhZ8BgHM0dXOi5HqDYlM3J0rcoAig7bXoBtbk5GQlJyc3uO67ASM8PFyWZbXkMAAAoBPgu2kAAIBRhBEAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAAGAUYQQAABjVxXQBQGcWvug15/xh75+7rBs+sL/L8ssZZ53zb4/PdFmXlDWhDaoDgIuDkREAAGAUYQQAABhFGAEAAEYRRgAAgFGEEQAAYBRhBAAAGMWjvcB5fPvxW8n1EVwevwWAC8fICAAAMIowAgAAjCKMAAAAowgjAADAKMIIAAAwiqdp0CG09IkXyfWpF554AYCLj5ERAABgFCMjAIBWxbt54C7CCC6apn5ASa4/pJq6lCLxQwoAOhIu0wAAAKMIIwAAwCjCCAAAMKpF94xkZmbq0UcfVWlpqUaOHKknn3xSY8aMaXT7v/zlL3rggQd0+PBhRURE6JFHHtHkyZNbXDQAoHP69r1nTd13JnFzbHvi9shIdna2UlJSlJaWpsLCQo0cOVKTJk1SeXl5g9tv27ZNd9xxh+bMmaP3339f06ZN07Rp07Rnz54LLh4AALR/bo+MLFu2TImJiUpISJAkZWVl6bXXXtOaNWu0aNGic7ZfsWKFbrjhBt17772SpAcffFBvvvmm/vznPysrK+sCy0db4H8eAICLya0wUldXp4KCAi1evNjZ5uHhobi4OOXn5ze4T35+vlJSUlzaJk2apI0bNzZ6nNraWtXW1jqXKysrJUlVVVXulGvcsLTNLst7vOc4538woJ/Luucfd32Udcu1jzvn71w+rg2qa1x97WnnfJXNclnn+MLhsnzK8c3yF3U1Luu+++f17X7P1/e3+73Qvpuq+bt9N/R3rKV9n6/m7/bdET5rd/puzc/a3b5b87N2p29Tn7W7fXfGfzNN/byWXH9mN/XzWrr4P7O/z77+nC3LanpDyw2ffvqpJcnatm2bS/u9995rjRkzpsF9unbtar300ksubZmZmVavXr0aPU5aWpoliYmJiYmJiakDTEeOHGkyX3wvX3q2ePFil9GU+vp6ffbZZ+rZs6dsNpvBytxTVVWlsLAwHTlyRAEBAabLaVOd6Vwlzrcj60znKnG+Hdn34Vwty1J1dbX69OnT5HZuhZHg4GB5enqqrKzMpb2srEyhoaEN7hMaGurW9pJkt9tlt9td2oKCgtwp9XslICCgw/+l/1pnOleJ8+3IOtO5SpxvR2b6XAMDA8+7jVtP03h5eSkqKko5OTnOtvr6euXk5Cg2NrbBfWJjY122l6Q333yz0e0BAEDn4vZlmpSUFMXHxys6OlpjxozR8uXLVVNT43y6ZtasWerbt68yMjIkSfPnz9e4ceP0+OOP66abbtL69ev13nvvaeXKla17JgAAoF1yO4xMnz5dx48fV2pqqkpLSxUZGalNmzYpJCREklRSUiIPj28GXMaOHauXXnpJv//973X//fcrIiJCGzdu1LBhw1rvLL6n7Ha70tLSzrnk1BF1pnOVON+OrDOdq8T5dmTt6VxtlnW+520AAADaDt9NAwAAjCKMAAAAowgjAADAKMIIAAAwijBykdXW1ioyMlI2m01FRUWmy2kTP/7xj9W/f395e3urd+/emjlzpo4ePWq6rDZx+PBhzZkzRwMHDpSPj48uvfRSpaWlqa6uznRpbeaPf/yjxo4dK19f33b9MsLGZGZmKjw8XN7e3oqJidHOnTtNl9Qm3n33XU2ZMkV9+vSRzWZr8vvC2ruMjAxdddVV8vf3V69evTRt2jQVFxebLqvNPP300xoxYoTzZWexsbF64403TJfVJMLIRfbb3/72vK/Fbe+uu+46vfzyyyouLtbf/vY3HTx4ULfddpvpstrE/v37VV9fr2eeeUZ79+7VE088oaysLN1///2mS2szdXV1uv3223X33XebLqXVZWdnKyUlRWlpaSosLNTIkSM1adIklZeXmy6t1dXU1GjkyJHKzMw8/8bt3JYtW5SUlKTt27frzTff1JkzZ3T99derpqbm/Du3Q/369dPSpUtVUFCg9957TxMmTNDUqVO1d+9e06U1rjlfkIfW8frrr1tDhgyx9u7da0my3n//fdMlXRSvvvqqZbPZrLq6OtOlXBR/+tOfrIEDB5ouo80999xzVmBgoOkyWtWYMWOspKQk57LD4bD69OljZWRkGKyq7UmyNmzYYLqMi6a8vNySZG3ZssV0KRdN9+7drWeffdZ0GY1iZOQiKSsrU2JiotatWydfX1/T5Vw0n332mV588UWNHTtWXbt2NV3ORVFZWakePXqYLgNuqqurU0FBgeLi4pxtHh4eiouLU35+vsHK0NoqKyslqVP8O3U4HFq/fr1qamq+11/DQhi5CCzL0uzZs/XrX/9a0dHRpsu5KO677z5169ZNPXv2VElJiV599VXTJV0UBw4c0JNPPqm77rrLdClwU0VFhRwOh/Nt0l8LCQlRaWmpoarQ2urr67VgwQJdffXVHfpN4Lt375afn5/sdrt+/etfa8OGDRo6dKjpshpFGLkAixYtks1ma3Lav3+/nnzySVVXV2vx4sWmS26x5p7r1+699169//77+te//iVPT0/NmjVLVjt62a+75ytJn376qW644QbdfvvtSkxMNFR5y7TkfIH2KCkpSXv27NH69etNl9KmBg8erKKiIu3YsUN333234uPj9eGHH5ouq1G8Dv4CHD9+XCdOnGhym0GDBumnP/2p/vGPf8hmsznbHQ6HPD09NWPGDD3//PNtXeoFa+65enl5ndP+ySefKCwsTNu2bfteDxN+m7vne/ToUY0fP14/+MEPtHbtWpfvZ2oPWvLnu3btWi1YsEAnT55s4+oujrq6Ovn6+uqvf/2rpk2b5myPj4/XyZMnO/Tons1m04YNG1zOuyNKTk7Wq6++qnfffVcDBw40Xc5FFRcXp0svvVTPPPOM6VIa5PYX5eEbl1xyiS655JLzbvd///d/euihh5zLR48e1aRJk5Sdna2YmJi2LLHVNPdcG1JfXy/pq8ea2wt3zvfTTz/Vddddp6ioKD333HPtLohIF/bn21F4eXkpKipKOTk5zl/K9fX1ysnJUXJystnicEEsy9LcuXO1YcMG5ebmdrogIn31d/n7/DOYMHIR9O/f32XZz89PknTppZeqX79+JkpqMzt27NCuXbt0zTXXqHv37jp48KAeeOABXXrppe1mVMQdn376qcaPH68BAwboscce0/Hjx53rQkNDDVbWdkpKSvTZZ5+ppKREDofD+b6cyy67zPl3u71KSUlRfHy8oqOjNWbMGC1fvlw1NTVKSEgwXVqrO3XqlA4cOOBcPnTokIqKitSjR49zfma1d0lJSXrppZf06quvyt/f33kPUGBgoHx8fAxX1/oWL16sG2+8Uf3791d1dbVeeukl5ebmavPmzaZLa5zRZ3k6qUOHDnXYR3v/85//WNddd53Vo0cPy263W+Hh4davf/1r65NPPjFdWpt47rnnLEkNTh1VfHx8g+f7zjvvmC6tVTz55JNW//79LS8vL2vMmDHW9u3bTZfUJt55550G/xzj4+NNl9bqGvs3+txzz5kurU388pe/tAYMGGB5eXlZl1xyifWjH/3I+te//mW6rCZxzwgAADCq/V3cBgAAHQphBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABGEUYAAIBRhBEAnc7s2bM7/JfCAe0JYQQAABhFGAHQLtXV1ZkuwUVD9TgcDue3VrujpfsB7RVhBDBg/Pjxmjt3rhYsWKDu3bsrJCREq1atcn5DrL+/vy677DK98cYbLvvt2bNHN954o/z8/BQSEqKZM2eqoqLCuX7Tpk265pprFBQUpJ49e+rmm2/WwYMHnesPHz4sm82mV155Rdddd518fX01cuRI5efnN1qrZVlKT09X//79Zbfb1adPH82bN8+5vry8XFOmTJGPj48GDhyoF198UeHh4Vq+fLnLMb/+dl9JOnnypGw2m3JzcyV99ct3zpw5GjhwoHx8fDR48GCtWLHCpY6vL6388Y9/VJ8+fTR48GBJ0pEjR/TTn/5UQUFB6tGjh6ZOnarDhw8793M4HEpJSXF+Jr/97W/VnK/kysvL07XXXisfHx+FhYVp3rx5qqmpca4PDw/Xgw8+qFmzZikgIEB33nmn1q5dq6CgIP3973/X0KFDZbfbVVJSos8//1yzZs1S9+7d5evrqxtvvFEff/yxs6/G9gM6C8IIYMjzzz+v4OBg7dy5U3PnztXdd9+t22+/XWPHjlVhYaGuv/56zZw5U6dPn5b01S/wCRMmaNSoUXrvvfe0adMmlZWV6ac//amzz5qaGqWkpOi9995TTk6OPDw8dMstt5zzv+zf/e53WrhwoYqKinT55Zfrjjvu0NmzZxus829/+5ueeOIJPfPMM/r444+1ceNGDR8+3Ll+9uzZOnLkiN555x399a9/1VNPPaXy8nK3Pov6+nr169dPf/nLX/Thhx8qNTVV999/v15++WWX7XJyclRcXKw333xT//znP3XmzBlNmjRJ/v7++ve//62tW7fKz89PN9xwg3Ok4vHHH9fatWu1Zs0a5eXl6bPPPtOGDRuarOfgwYO64YYb9JOf/ET/+c9/lJ2drby8PCUnJ7ts99hjj2nkyJF6//339cADD0iSTp8+rUceeUTPPvus9u7dq169emn27Nl677339Pe//135+fmyLEuTJ0/WmTNnnH01tB/QaRj9zmCgkxo3bpx1zTXXOJfPnj1rdevWzZo5c6az7dixY5YkKz8/37Isy3rwwQet66+/3qWfI0eOWJKs4uLiBo9z/PhxS5K1e/duy7Is69ChQ5Yk69lnn3Vus3fvXkuStW/fvgb7ePzxx63LL7/cqqurO2ddcXGxJcnauXOns23fvn2WJOuJJ55wOeb777/v3Obzzz+3JFnvvPNOg8e0LMtKSkqyfvKTnziX4+PjrZCQEKu2ttbZtm7dOmvw4MFWfX29s622ttby8fGxNm/ebFmWZfXu3dv605/+5Fx/5swZq1+/ftbUqVMbPfacOXOsO++806Xt3//+t+Xh4WF98cUXlmVZ1oABA6xp06a5bPPcc89ZkqyioiJn20cffWRJsrZu3epsq6iosHx8fKyXX3650f2AzoSREcCQESNGOOc9PT3Vs2dPlxGHkJAQSXKOMnzwwQd655135Ofn55yGDBkiSc5LMR9//LHuuOMODRo0SAEBAQoPD5ekc4b8v33s3r17uxznu26//XZ98cUXGjRokBITE7VhwwbnKMq+ffvUpUsXRUVFObcfMmSIgoKC3P48MjMzFRUVpUsuuUR+fn5auXLlOXUPHz5cXl5ezuUPPvhABw4ckL+/v/Mz6dGjh7788ksdPHhQlZWVOnbsmGJiYpz7dOnSRdHR0U3W8sEHH2jt2rUun/WkSZNUX1+vQ4cOObdrqB8vLy+Xz/frz+jbNfTs2VODBw/Wvn37Gt0P6Ey6mC4A6Ky6du3qsmyz2VzabDabJDkvsZw6dUpTpkzRI488ck5fXweKKVOmaMCAAVq1apX69Omj+vp6DRs27JybK5s6zneFhYWpuLhYb731lt58803dc889evTRR7Vly5ZmnaeHx1f/57G+dZ/Gty9PSNL69eu1cOFCPf7444qNjZW/v78effRR7dixw2W7bt26uSyfOnVKUVFRevHFF8857iWXXNKs+hpy6tQp3XXXXS73xnytf//+jdYjST4+Ps7P1B0t3Q/oCAgjQDsxevRo/e1vf1N4eLi6dDn3n+6JEydUXFysVatW6dprr5X01U2YrcHHx0dTpkzRlClTlJSUpCFDhmj37t0aMmSIzp49q4KCAl111VWSpOLiYp08edK579eh4NixYxo1apQkudzMKklbt27V2LFjdc899zjbvn3jbWNGjx6t7Oxs9erVSwEBAQ1u07t3b+3YsUM//OEPJclZ7+jRo5vs98MPP9Rll1123hrO54orrtDZs2e1Y8cOjR07VtI3f1ZDhw694P6BjoDLNEA7kZSUpM8++0x33HGHdu3apYMHD2rz5s1KSEiQw+FQ9+7d1bNnT61cuVIHDhzQ22+/rZSUlAs+7tq1a7V69Wrt2bNH//3vf/XCCy/Ix8dHAwYM0ODBg3XDDTforrvu0o4dO1RQUKBf/epX8vHxce7v4+OjH/zgB1q6dKn27dunLVu26Pe//73LMSIiIvTee+9p8+bN+uijj/TAAw9o165d561txowZCg4O1tSpU/Xvf/9bhw4dUm5urubNm6dPPvlEkjR//nwtXbpUGzdu1P79+3XPPfe4hKWG3Hfffdq2bZuSk5NVVFSkjz/+WK+++uo5N7A2R0REhKZOnarExETl5eXpgw8+0C9+8Qv17dtXU6dOdbs/oCMijADtRJ8+fbR161Y5HA5df/31Gj58uBYsWKCgoCB5eHjIw8ND69evV0FBgYYNG6bf/OY3evTRRy/4uEFBQVq1apWuvvpqjRgxQm+99Zb+8Y9/qGfPnpKk5557Tn369NG4ceN066236s477zznSZA1a9bo7NmzioqK0oIFC/TQQw+5rL/rrrt06623avr06YqJidGJEydcRkka4+vrq3fffVf9+/fXrbfeqiuuuEJz5szRl19+6Rwp+X//7/9p5syZio+Pd14CuuWWW5rsd8SIEdqyZYs++ugjXXvttRo1apRSU1PVp08fdz46p+eee05RUVG6+eabFRsbK8uy9Prrr59zqQ7orGyW1YwH7gHADeHh4VqwYIEWLFhguhQA7QAjIwAAwCjCCAAAMIrLNAAAwChGRgAAgFGEEQAAYBRhBAAAGEUYAQAARhFGAACAUYQRAABgFGEEAAAYRRgBAABG/X9vAfgWlUEbEgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], "source": [ "graph_trials(pred, y_test, bins)\n", "plt.savefig('low_bias_low_variance.png')" @@ -468,10 +569,21 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 27, "id": "590ad983-c81a-426f-b709-5d6c7642d0f6", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "average loss: 0.60725048\n", + "average bias: 0.52048793\n", + "average variance: 0.08676256\n", + "net variance: 0.08676256\n" + ] + } + ], "source": [ "avg_loss, avg_bias, avg_var, net_var = bias_variance_compute(model_wrapped, X_train, y_train, X_test, y_test, iterations=trials_full, \n", " random_state=random_state, decomp_fn=bias_variance_mse)\n", @@ -507,7 +619,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.10.7" + "version": "3.10.13" } }, "nbformat": 4,