From e62b730dfbb7e3516d9fe500547cd6fbbf877c3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 17:19:15 +0800 Subject: [PATCH 01/13] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20submission?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-3/submission/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assignment-3/submission/.keep diff --git a/assignment-3/submission/.keep b/assignment-3/submission/.keep new file mode 100644 index 0000000..e69de29 -- Gitee From 94c91092a2d2d267b4738302dfaffcd2313cf1ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 17:19:37 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E6=96=B0=E5=BB=BA=2017307110367?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-3/submission/17307110367/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assignment-3/submission/17307110367/.keep diff --git a/assignment-3/submission/17307110367/.keep b/assignment-3/submission/17307110367/.keep new file mode 100644 index 0000000..e69de29 -- Gitee From dfc4db35306bfaaaca902ff96eec449928037e50 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:04:07 +0800 Subject: [PATCH 03/13] [submission] assignment-3 of 17307110367 --- assignment-3/submission/17307110367/README.md | 151 ++++++++++++++++++ 1 file changed, 151 insertions(+) create mode 100644 assignment-3/submission/17307110367/README.md diff --git a/assignment-3/submission/17307110367/README.md b/assignment-3/submission/17307110367/README.md new file mode 100644 index 0000000..f12ddf4 --- /dev/null +++ b/assignment-3/submission/17307110367/README.md @@ -0,0 +1,151 @@ +# PRML-2021 Assignment3 + +姓名:张艳琳 + +学号:17307110367 + +## 问题概述 + +本次实验中需要通过`NumPy`实现`K-Means`和`GMM`两个用于聚类分析的模型,并在此基础上使用`elbow method`的方法实现自动判断数据集中聚簇的数量并进行聚类的算法。 +## 模型实现 + +### `K-Means` + +`K-Means`模型在构建时随机选取聚类中心,在随后的每次迭代中包含以下步骤: + +- 计算每个样本点至聚类中心点的距离,将每个分配至距离最短的中心点对应的类中; +- 计算每个类中样本点的均值,将其作为新的聚类中心。 + +在`K-Means`的初始聚类中心的选择上,通过随机选取样本点来作为初始的`K-Means`模型的聚类中心: + +```python + def init_centers(self, train_data): + init_row = np.random.choice(range(train_data.shape[0]), self.num_clusters, replace=False) + self.centers = train_data[init_row] +``` + +### `GMM` + +高斯混合模型`GMM`通过`Expectation-Maximum`算法进行参数估计。 + +设$ x$为样本点,$z$表示样本所属的高斯分布,$\pi,\mu,\sigma$分别表示每个高斯分布的分配概率、均值和协方差,在每次迭代中: + +- `Expectation`步:固定参数$\mu,\sigma$,计算后验分布$\gamma_{nk}=p(z^{(n)}=k|x^{(n)})$; + +- `Maximum`步:固定$\gamma_{nk}$,更新参数$\pi,\mu,\sigma$: + $$ + N_k=\sum_{n=1}^N\gamma_{nk}\\\\ + \pi_k=\frac{N_k}{N}\\\\ + \sigma_k=\frac1{N_k}\sum_{n=1}^N\gamma_{nk}(x^{(n)}-\mu_k)(x^{(n)}-\mu_k)^T\\\\ + \mu_k=\frac1{N_k}\sum_{n=1}^N\gamma_{nk}x^{(n)} + $$ + +## 基础实验 + +### 对给定的data_1进行可视化 +#### 数据集参数 + +$$ +\mu_x=\begin{bmatrix}1&2\end{bmatrix},\mu_y=\begin{bmatrix}16&-5\end{bmatrix},\mu_z=\begin{bmatrix}10&22\end{bmatrix}\\\\ +\Sigma_x=\begin{bmatrix}73&0\\\\0&22\end{bmatrix},\Sigma_y=\begin{bmatrix}21.2&0\\\\0&32.1\end{bmatrix},\Sigma_z=\begin{bmatrix}10&5\\\\5&10\end{bmatrix}\\\\ + +x样本点数量为800,y的样本点数量为200,z的样本点数量为100. +$$ + +生成的数据如图所示 +![](./img/data1_1_Kmeans.png) + +使用`K-Means`和`GMM`进行聚类,画出各自的聚簇: + +#### `K-Means` + +![](./img/res1_1_Kmeans.png) + + + +#### `GMM` + +![](./img/res1_1_GMM.png) + + +可以看到GMM生成的结果要比K-Means生成的结果好一些。 + + +### 自己生成的二维高斯分布 + +#### 数据集参数 + +$$ +\mu_x=\begin{bmatrix}1&2\end{bmatrix},\mu_y=\begin{bmatrix}10&22\end{bmatrix},\mu_z=\begin{bmatrix}-10&22\end{bmatrix},\mu_x=\begin{bmatrix}10&-22\end{bmatrix},\mu_x=\begin{bmatrix}-10&-22\end{bmatrix}\\\\ +\Sigma_x=\begin{bmatrix}73&0\\\\0&22\end{bmatrix},\Sigma_y=\Sigma_z=\Sigma_w=\Sigma_t=\begin{bmatrix}10&5\\\\5&10\end{bmatrix}\\\\ +x样本点数量为8000, +y,z,w,t的样本点数量为1000 +$$ + +生成的数据如图所示 +![](./img/data6.png) + +使用`K-Means`和`GMM`进行聚类,画出各自的聚簇: + +#### `K-Means` + +![](./img/res_6_K.png) + + + +#### `GMM` + +![](./img/res6_G.png) + +发现GMM由于初始分布是随机的而导致了分类结果十分奇怪。再次进行实验后的结果就正常许多 + +![](./img/res6_G_2.png) + +--- + + +## 自动选择聚簇数量的实验 + +### `Elbow Method` +我们知道k-means是以最小化样本与聚类中心的平方误差作为目标函数,将每个聚类中心与类内样本点的平方距离误差和称为畸变程度(distortions)。那么,对于一个类,它的畸变程度越低,代表类内成员越紧密,畸变程度越高,代表类内结构越松散。 + +畸变程度会随着类别的增加而降低,但对于有一定区分度的数据,在达到某个临界点时畸变程度会得到极大改善,之后缓慢下降,这个临界点就可以考虑为聚类性能较好的点。其图像像一个胳膊肘,故名为elbow method。 + +在实际的代码中可以对`Elbow Method`的结果进行图像绘制。在我的实验中设置的类的范围是2~10。(即代码中的upper为10) + +将`Elbow Method`配合`K-Means`的代码如下: +```python + def fit(self, train_data, upper): + sum = np.zeros(upper-2) + for i in range(2, upper): + kmeans = KMeans(i) + kmeans.fit(train_data) + m = kmeans.labels + c = kmeans.centers + for j in range(len(train_data)): + c1 = c[int(m[j])] + x1 = train_data[j] + sum[i-2] += np.sum(np.square(c1-x1)) + c = plt.plot(np.arange(2, upper), sum) + plt.savefig(f'./img/elbow.png') + plt.show() + n = len(sum) + mx = 0 + for i in range(1, n - 1): + del1 = (sum[0] - sum[i]) / i + del2 = (sum[i] - sum[n - 1]) / (n - 1 - i) + delta = del1 - del2 + if delta > 0.3 * max(del1, del2) and delta > mx: + mx = delta + self.cluster_num = i + 2 + self.model = KMeans(self.cluster_num) + self.model.fit(train_data) +``` +`Elbow Method`生成的图像结果如下 + +![](./img/elbow_final.png) + +很容易看到,在K=5处有个明显的拐点。因此根据`Elbow Method`的方法,K=5应当被自动选择的聚簇数量,事实也是如此。 + + + -- Gitee From e81395fd184b0451b911b0b49adc7b25522f5804 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:05:16 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E6=96=B0=E5=BB=BA=20img?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-3/submission/17307110367/img/.keep | 0 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 assignment-3/submission/17307110367/img/.keep diff --git a/assignment-3/submission/17307110367/img/.keep b/assignment-3/submission/17307110367/img/.keep new file mode 100644 index 0000000..e69de29 -- Gitee From bf4ca0587a103c681aa172fa274c0cffc64bfac5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:06:30 +0800 Subject: [PATCH 05/13] !1 [submission] assignment-3 of 17307110367 --- .../17307110367/img/data1_1_Kmeans.png | Bin 0 -> 41644 bytes .../submission/17307110367/img/data6.png | Bin 0 -> 39332 bytes .../submission/17307110367/img/elbow_final.png | Bin 0 -> 20879 bytes .../submission/17307110367/img/res1_1_GMM.png | Bin 0 -> 36819 bytes .../17307110367/img/res1_1_Kmeans.png | Bin 0 -> 37693 bytes .../submission/17307110367/img/res6_G.png | Bin 0 -> 40866 bytes .../submission/17307110367/img/res6_G_2.png | Bin 0 -> 39699 bytes .../submission/17307110367/img/res_6_K.png | Bin 0 -> 39823 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 assignment-3/submission/17307110367/img/data1_1_Kmeans.png create mode 100644 assignment-3/submission/17307110367/img/data6.png create mode 100644 assignment-3/submission/17307110367/img/elbow_final.png create mode 100644 assignment-3/submission/17307110367/img/res1_1_GMM.png create mode 100644 assignment-3/submission/17307110367/img/res1_1_Kmeans.png create mode 100644 assignment-3/submission/17307110367/img/res6_G.png create mode 100644 assignment-3/submission/17307110367/img/res6_G_2.png create mode 100644 assignment-3/submission/17307110367/img/res_6_K.png diff --git a/assignment-3/submission/17307110367/img/data1_1_Kmeans.png b/assignment-3/submission/17307110367/img/data1_1_Kmeans.png new file mode 100644 index 0000000000000000000000000000000000000000..7d8ad67746f11258851b67e16a6db33680668be3 GIT binary patch literal 41644 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

=V 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 b%{8A9HMJnCr^eu75b&d+qK$m7WR3n0)8fZx literal 0 HcmV?d00001 diff --git a/assignment-3/submission/17307110367/img/data6.png b/assignment-3/submission/17307110367/img/data6.png new file mode 100644 index 0000000000000000000000000000000000000000..505b8174dd315c12147bcdb81beecddd112db355 GIT binary patch literal 39332 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

NhTGvDp&@i(V53nFdM@dDBF_1S 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 SckMY8d<^x>bc?keqy7W)#-SJh literal 0 HcmV?d00001 diff --git a/assignment-3/submission/17307110367/img/elbow_final.png b/assignment-3/submission/17307110367/img/elbow_final.png new file mode 100644 index 0000000000000000000000000000000000000000..85d5774ddf148c67f3e467c2bbb86a154575a876 GIT binary patch literal 20879 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 literal 0 HcmV?d00001 diff --git a/assignment-3/submission/17307110367/img/res1_1_GMM.png b/assignment-3/submission/17307110367/img/res1_1_GMM.png new file mode 100644 index 0000000000000000000000000000000000000000..2fe9166bde8705c270cf2b8df27e3f5c12a26953 GIT binary patch literal 36819 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 z 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 R6f+F`kiahkTJcFg{09>-7Zv~j literal 0 HcmV?d00001 diff --git a/assignment-3/submission/17307110367/img/res1_1_Kmeans.png b/assignment-3/submission/17307110367/img/res1_1_Kmeans.png new file mode 100644 index 0000000000000000000000000000000000000000..c3d685f0541e41fad338bc2b13eb6572cfce11b7 GIT binary patch literal 37693 zcmeGEWl-Hg(>;oAJOp=l5AMO;AwUT3uEE_l5L|-(1q>uO?K_C#4jI{Vy5D3x_1cF%q01LdsIkCJAJU}~% z%6$6({CIyb2?bum+e>RYfj}sR@4pa*LIsw@}E8qO+qX3lPgj;5gRhR*gjcFs1I zMx?H$j!u?#wxsM#EKKYSq!!N3_Por@|KA2oc8=!E83-kLAP^}?MqK2Zd;0N;hxfOc z1-SFI46+m!GCXurgwW7+YzhlZ=o(0THLTjjMXkbFS#9Mt@*2oTEr%io)oHa(S?v=9 zESzN}3b}8n;*|KB#xvyFR0!~7v862RXCz5{DLbnvPG`%SY*$aW-63XW&3|W z{(p>FoWpKFyzEIsL1H1uWE2!oag;rtpMgE3>^O1VdOB;DI$Lcutfbu2!G-EzA>?)b z;PZ4Fb;AN|XTRSMIF!ujSFYV!Tjtn> z$v+Sa;$W4XnHlx_k;wf*olLDIm82`0E8bl^1=9<1N{DUu0>AbtNh z&hY=w$3fY^Awy4|+UcEbl~TI$p?74PWT^pjl_qX8`pL8Xrx$pun{rwHdsmoG1X=b|dV&UnlxD`mfv3hd<%76Uk(&_znJn~{ zbK}MO5|(|5x1z^!XFdJ8a}klqfZzM{lmix;?xZ`0v$(na27}dXR=g-Zf8;iFy&rhm z&S~!oqGvpwXmphSb`&2UYj)_6;QpV5QYGiSRL7o4|4^&Mfp_FOAAen#AjIxL`|rGa ztzzG&3PMGN{-iHt?*efILCyN#k1V_m1rz0&L^HeHQn<%rgQ?;pG~ieUDp5J!=Yy}G z9K#CZaSSaA@tmWmCk#DRHJsOwQ)0ECJ7Kd;Nr}Zq~P69vL?IAigQ$N z@X@zLM{PDFH)QAWI;i9l4aT!Y`iFNR%tQdh^d>@ugjzfesxIW@&< zIZ63^*Zvl@5gHb{Id!P}>wP8fE4n|CTRIm%m=o+IA?0euvYH*=Kb`~jZ{JoC&6|rz z@Kv$wpxSTabi)`habh46NRej;b2v+gB+KU(Pw?rOUB~xfr(rkM`mfiWEvV!AVCtfm zz;69dl3rK7LYn>YJgbh&jH*3v1}iZSn)36w*61~kmF0|3=r_53CA0P#Q3Ci&`MkH| zxu)<>gx>|rw=@SbU(bc|X@Zg~Lt+@0Y4IuRmxxjnP#tLb_z1v{Q(5-iNZi@#6?z(V zHh8uz7m}ck9I=q`dOQ7ugam`-1_#kOYa5%u?hRovF(@{6b_yP6^4vnFrsek)cfn(a zW2uBZFqB#SvVhpm9_1@kj)qxxYC*?*gcFwR!#!-0^rLZjz-K*hnyX?TCWasPZZ=J0&)5J|*0>m(2O7G({M(2+E5YrTT9GNh=e zC_ylAI)7yzYuT+rP;q?yjo(Sd;HQ~$NNY0S(vS+wS`ld*{w;nu! zYj@gyNoZ2wc6?M~ZPnL(rUuP0S6(vy%B`I++s03kGP>L?l_4Q&4w2!EJpu6j2tc4 zaLwD)g~p_X(h>)LlGz+XTBi|vGNP2?Te(_c|qYro2rFkR+WzSr-o;G^k;|;KE6*E zeQs{Xr^VwCh5L>ycjwA2vh$$xRj;$2-Y9}fyEVb%*4g}9SF=VppqH5Fh%dbbN7@24SFa4@;gqDo*)RWw#<9Co62qb8(_N4T)WUA-K4= z&H}MgWh>5puXD_f2?7I+DoBZO0dw#!i}r7s#K?63ZG`QBHdD)||5kd;H~&;Y6~B1&VQ#;N77MPnG9)q>+&QJk+{vx=0>39Ghh+W=bQCzM$=eNHRRpEu=qx9`M3P{Ixy@KSVrzI{t zJ7vObIPx23&F1aSjz(+AWMBzeN(2Bblp)a=@8XUVZI>fP)}|#n*tH(;`0wioZP0r# z-Yt}o05~Wbufy}%y0i0vOy03fp+qnEksVmQr>+*gUM&sm;7zP}VZfjL=I7?}m5gKpQR!W1kZTD}EQJ>+8xa>Gz2eq>eP$C$Kek!Ozvk zLZZEk3G||R&pTCt8>&#v)OX+It%!QCCd%}`=;-Gr`uiqG#9Dy%!0B-;mkKwmIafmW zcZMs*akU$s$62$t-x zP0sro|IEjOmY;UNbbo&i-Gm41DJv_9z!oB>XjXxK5BNP&?s&X{%3WA~h{nY`zxDs4 z)kn585j&ujGyiK|rv|GFZf{na^`Uz|e{4D@HQW2v$jZu!n3ereg^#7XF?5!!tSdsg zQ8>}4ZeE*f<0$uhTIOg3xaf$7nmVEE6!MSmPCUfXp z%y73$;_2i>5LYqpU@#z;)dD(xvsvbkXX9-hYB~m*hL^!9%@o?XN<;okv+M?5b>Slf zNd>h0BVeFkYL6mO=70A(G77&*tI@1X^&%e+##JuF54a8WLn2jt=|Fyful9lzmH2HI z6-FKe+$s>}d#SA(a5Nf(shh~= z0IiqD3_~YzV+AjKj3s{&{Eq0UKdKrmhGJ=>7>pkA zDYTG>eO~m|aRcj@36A}z4Y17EumG%NuHxcKtecTOg(m!ijbL~1n!*2c^4?$|0dmR% z*)>oa`WI5!d{qI{c4nK>e?JfO0;WQ406;P(AwHb$-Cvv180KfZ&6aPEgh*vH{Q4y) z2N((gY8kQ>}nc4!R#@ zpt@FYzx=yC@tmyM9mOsXHUd`E{|ile`!V0W`~5oV4VP}@4}YlqA$4rJptA1VI6i;K z@v^we-YN@;>II|H5)VM1H(j>E%1Sik5GW)hB!Ff_-q?rI%F7~gzkxA-J){DRjYFs- zgQ?!iPNU5FtMf9CC+XKxbN~)f8{Gj1T0>a-bJ-nK51g;B6F`GL2=C+DqHn+G0ap)F zuwQHhpD9Hr&}(geAn+&ck*#9qn~no)u%H%x?2+70^V{j$>q>Q&9==mx-2oT)w&WQk zy*RtZL+M5)1qG5u`@cmX&kr(r38RG3zMmfCjYb2uM*GL^T7s{||E90F7c$L+&F`se zcn?Ko2yD&8BFf9(~arAR$AY7gIgoQK#?vBls$-EeCcpZi7+^nR4eNhp{N2Rz$a z7?4Q57RPs@rF_K$2CMPJ95rq^H7^@ja&lrk#dlYsge3b+t<05c!W0 zAKeMf?#b{^V{aq?f&HVx#K!Su(yrfflk<)e)ZSJK7Dj02m%`7?&9=I*RcO5S$}`O@Ru*h<*m0`-ZwMqf_*i$wHxKlr=nw-0xR7+cJm5f&51*no!Ci}N~gZo z+B04JYXU?kd4`UB%_QTVX+!rzn!WeOd5$ATrkk%_GV>t&?qH;bt!Tc#rbF1J+V#jZ zU(!3~D~%_nr?+{`9p_X(T6l;*S`ee=VDL5gAhOSzJnV8!(zCtF#OZ|8_^xRG~TmJ`L=E zN1LsUP2_oDSU*E7ZGU=vY%s8M>$7rSx`hN+X`G|?9ZZH_)H8o*GaZnySabh3%4(#i z?Eenbg}mK$ZDuv@Mbz;;_(RK(FvRjrRh5jB6H8N5Q?PG$cQ?1VSoVZ1`TwMGg0AEr z_5V6DO42?JB|vrnmqxycEr^17Dj)xuuAxS5nv4#zgYT>bgU|K2BOHrfl=#TCnM~&J zjdnPN9S$&DrVtzoF^5;7xQX9gTN|KRbRJwH-H86Oo)9Yo{hho@GO|AX?Swat1}}S0 zwcdQ%gixYZ)+I&a6R7fqr{~IDPmg$UX-QdM|BM|$Lq+8W8iiz`-jG>!ry0i3BSr51 zhnZj`ROU+taz)cM01|8fo9lc6LwV)=U$DQWCrD0&?g~2&C~%{EXa9~W+M`hf??Eq5 zcXto3K{$G$2??0M2^+oA07!}J$>JY8AewulS$4zrd);)o?CtxD$OS|)5BF`RF@b2Z zbIpYn`A*Z^x$0K6hu34I3j#+VGr7Lw>v>;DwA{>Ue?BU$=8xecM0P$|!~)qroz!n- zxUF^qOvdl{*yj1vtzAr4mq_sK*-4{p_U9dde3g$s>)PrxtwW9c(S^UXSphBu6o^Up z90CA~E@x2JZPERgMg!5Z@?Np*{uBRf^d=*+*5LV}8cYVzIXE~BrVEw($HwlSJsx(F z1p4?d{$VuSE?Qq~k-Xt1={Uk4yYj92K7G$wj|nxBQzYOr4Z{`|9ubt;dh-IGw5~BH zg#FldwOcqS675sDe>V3HqpblnmKEFj!z^vv#vUhmEiL@l%cS<~@^a*nkr8)bMJWq% z(=wr_M=H?-fO~oOzf0Z%B^Ry0vv1~!0aTgq=28qkUyHN2I33;00*Q+sq6@+YhN8#s zw+WtYiOvLIlwr`sxp%etP3#D4@p%i!XrP49p1y;yFEVtkxwRFF3(W=7hbpwS>(kIr znWEM)SyhNd!??&otu&dh_A&cYWbw%<7YYge0IN(6MNjK*6BO{e6Hhq)9LT3$NaNn1 z_}X|DrE4Ly(e)QXV0@%^tul|1hJw*VSDIXQonhVLKb8+;=u34WncxL49MHL6H(jke z`r~yfo5cDFt+_+I-mfO1frXUzddKWw{R}qz;<*x+AGNN=8Air=*1|Rh6Kh z9UHh>G0>esmjx2b3O+yY5(6j*MDBIhW%&D7Iza~!b7I;o_%oVwwM%DZ9fqJjpDt4k zp_{~Yn{B_y`VTvG19=hRr5-eYAap28OJX44K0olzxY29NRZj)5=(@XEHO>#Cmlyw7J0)7R$wQC@vC<{IOm1Dh?wG`qy#HCuxj@&Z$;juJ{~GA;)Be*8{LQkYC;i;;WIV zjR+HV`NOAuR?S;XzzHg?%;%RdQ7Ts%5eetw(y!=;;~kmbzbnI2IzND?+0J0gNXbMU zwX@=XCqqL}aRSj?BVcfLNp$lKGL;(}gUImmOFR>$WowEBMH}L3NiQ zp%2?e7gR8WcalSe1;{vno@p>CNjT{Co2)raVSj$gGvE5w%M2cuTwe#0Iy~nx_0lgz z$j-Jwc}6GbGSv}rfB?NGmI{Z$R4-099P2Z2(3%`^LlY>v9JmR)Cch2u{fN5+GQ#5U zpn%EqE;H1j>0N(j3r@*-l;FL82MW(5nIRWJ4*-vCdK8pu0v1ZXj?SWtcvE%9cJrCd zO#iz|X~;O;A6M2l3h_9<1NC(Ou{XC!^8qewpR6!+qW6A34bq903*db1=u4Fk2;}!7 z2DT`dziNBKxv|pd$Uju)X>^iS_Nk%Vmf*>TNMI9w4xXA)60))p`K8R*E&{L|0w)NHsIp)bBI zSUHKGgG{U?ce#ad)z}`>PYHm#@XAf!9t{pFG{<8e!I-^8r%H=y@>z&T7K*1g@y)0f z`836m#;_lr@5m&xDZuPq$+ma9NHNsiTDNXE=sh#IHYkJBwHQ+j>-~+~_>pPw^&4|E-iZjFy`z_V#FMaQchkOC%|6~{VD^IO|YcTGoPWC8) z8Y=4GDc-JgPS=^2G6SZW)V^^Sx7&KMru?97dS`cCU#(9P&!oGd)N$@jl2^f|5c#bd z#P+^_vrT}z%VtA2-%@}b5?z<=rlubGxs@i^l0iVziV8tP~?FC@ZMN)cOQ_; z-S2g8Qh3U;#p(a@SHy@p-G0inLi$93XufL;OaVwp_yg`2QZK>)xWmT4*=@MG^q1cy z4JQNcO@e(ut*et5vLCT`Gb9s^eP4vXNbcq<{g^V+t2m?_IM)j)j|`yqS%^GXiV42o z_n*Bhd^}~%P802p?EBgW9cm&l)S&D%Y5m^LFi6W%<=RfW)) zQ{-*0?OvtFR9m%)-yGa(_@Zi8vATKKam<4UvK(RbHM zMHstIO)mf=l`5Jfc!5kU0VP+vWz-0#WW8_;fQE0??yX5S%shDor%w)G66NQu_q)ua z`z1m3SI+hlI`GhW;MnUa4KD(33p#nRh|y6A^_EJN#4&sLT&Bq`uy>zD@cls~QNPi| zTJZm#o+*A33EPAK2%ph!XE5EaT}I5|uGN@vl(*ntV1i_bZibi(In?!`FU1 z7K&;!tD%g+#&%6&4LcU}$tLOhCq^;WcR&z2DWa0i8K%^(!r8OLa0FOIJ-I|vbBP1q!GYUf|WT<^p1vqwBB*<5DC%v^;T z^Exd&7Glj_2wKlb@Q5~m8fQ&T!^1zq39Zuh?FSx|0zZXvYJ4(Cp4Ckd!wLsHcV zYtVXdf#9=jBqd{D{633=k{!QwEQ_0JkRl()nWi{kWkB*RN$Dp)1Tu+0LQRqLTq$kf zx_3v8)pHPvl_z);21-~~wsINl*6{GRs888^mtfI@xgUDTu5j;A%Rgi`?oYkaih?xu z7Z1{04MS`eDk9Ujj5h`y1t%o4(qx8m+yAWv$nu|j`GeL9X7*xMiHU$VqmfEP_g3Ys zd*IhwnGgPNo>LaIsM!R>!}ruxTNZd7tu!y}|LA@Lk@P)Og*|BR!BOgi&iU&MjvymX z`FM?nIwg1{`fK-c^BW~y2nUHf08@l63t_UGOBvS=6OV~64bTnMX=yfr&H*_+=obDF zjyNZg;id22&d|DegjLBeIP!3;QP9_~@U?Hqe&%nwfNN6&4i|y2)NF<5gC`IRSm6_f z(}@^?DC|%X)m>(7+fy14u%S*Wg2Re9drgJ9Vm~MN8Boz5&60Ogmg)z#`j^#Lou;qlN!Jal=>*QqtM=n+eb7 z*`ebLd5(L}+-riduYc7X4DiX5xo7w41$)~uMKlfNwYX(jue+k2V!(X^ZoGO@(rTE zAol2YK{dRn`}{qkxBGgq=IcAa9v2z07nNE|O?$9{e*exjS%*b%H2URFU=56)h9zCh z%C0OSPRX8f*5XZi$@bk)pJthKn6LZ(scy^t@WpO?nd$bivYbeH4^S54qT~FJgfNoL z$09UgZCh9<_;}(>ZLg1+5!HX2JJDnyz%SypkPm1D};Yo0oo|zRjbrw5b-cvLeN1a9OM1&f((_h5ZrwRtZ->Zq2HT=!o90wgO zqPe&tg6J%JRDj`Fw`!Fk2mbIS8F}BMlO6E5F-T&%%S5B7`u_`BM~x>ea_@U6QOUzY z?a{dcU}8Q-Y(I@9Q4T;%R52$7Wt0&N$eY>aYL58PXXE@`h^+gCkjS6Qe+yudV={S6 za{yn&TDDm4elJ=kcaC0UvnpIi`)Lk&hUbWqpU&QMRaAT z0Pn3SW}fnuiFVNoNn-yyJxwZqSMCJsrX%DNH&kD-zip#%JDM=zvzJI^ALu7-c-MDB z>|n1X?AS~S3dPiQH@S}xq#BK zzgSBz8HFFT((Kk}QDc%QU30=F*ANtxw*sj!z35{NB#!)U0qY33hZ}Te)!UnmC&Ycm zP|OM?^AMBI_#QQ@*Dd`uPO8TDD+4|e1y+fly6-8$Gla15pJ(@;;`zvkP021;KLrH^ zTz+?!Oy5V#nKNdc2Gj^_#;z$vp{S}Vw(XrALm(G<|N3;6$N!a0j&jL0>;txU@KP7U zBICF?fCc!gcFm-|m0Fbi_A{Cd^I!dC5=U^& ziu_67PT*UmZ zPRIQXkuD%(!?)dz6d@AZ>Xij1XU4KWgYNR!<6iBCtsxK41zHu_ zE>4`MdSGtgEW_j}5=F%w$^LD1J|H#OV2R~4m@N{=J$8WdV;^BVY2}i-pHOZV z+G}0qxBpUQqbXQzPww&xjD|SWrn8$elIs2_{*L`F8s?exH0v0i4ev=npe;Ru0_$LT z`l3Hgjri=`&?v%Duai0TFM6fm3;4QW+D;_l0GAQM_4JZt7c1)6(pB5W!@WlgfoSxv zU8fM3IhfI^4J)U9eJvyZhddT}jmlSMaVitObDV5(e&E{Ny?9JgF#tK(Ao{Ro_;!R5 z7&`r+;!e{T`ieNEGO6tOqvcM;ZZk6WH#T^1%;%!62hHoPuO&D;(^N8O2>y8G!?6zC zTiI<>C?UpoE#vT84SF>QMQq5omXGcyNtbJi*s#>j*92tdPq1<$1IH93QZn>(=Af&~ zOHe<%|HA{(5C$hFCq#9?stp%`4VU)6zPSYnFU7CF&HBU-Pr_g+rL8DZ)>tSW=$(^K9K zytDAw@?;pbGM63*f#39;J8437X{NqfS*WrMdsc^|Uwd zGqyndam1NT7eUJQWQX4QbDHYCu{}{KR~?Sc-YJ8!!u9!2SilNqq&Mc zb$y?p$VkK-FQA67Yr{S}CkG-WB_-CIHzQzb2XWqdM`55}$LGarV*zer;h$1aDA?hY znPn>%uj}qx+QioY~k5SGM&SG{2t1(SQ8kAaNh<~OusArYL7W{td?Y>x?jGUQg zUT@2yt+ra&&jt`*%ZidK^}+k!!U z@o&dMtmo#mZO+kcPFPF@gx@&TLPsxo7MQIuqjgxO&XK69#8J0D%bv z0vtQkyUkwD;XG9C1@4xA9847$FVKQB3sW6Y{>mg|L@`T7c9)Gk{ zD&3!qver?~Um9V&Rss$HW;5X^)u!0DW>jCzA#f$a>pEhfD%9Uu08WEYhq4G zP(;x8Rs9Wa@044NuvA3TjGqUxouD5am4!n1%yF&PIqPWw2d0U+SW_(Q-GN?hmfF(d zJz5J|-YS%^FZB$Jp8;-w$c6`ZKe%t89S743z8TIQkcK~SHPXqT?~Z0f0AW_rP6>W= z*aT4kFPdD=M|DJ%R!{S|y2U(}!M;&9v%=}5v0)>Uz}Xy=pll1<#udX)$s@-72%&Uu zFaM^gNZD-cQ2U6}JmuxhOT7*@lrrrbr}{<@xIL6X8yj$-XqvEUgtmgE4^C5Q6Xh+z zPTXS>VqQPm{H4*0o1H}-p6-nLdDICI5ED#$?@l4wDvsUxDM*s-9hsL$e?3-|P<Dt5h%C50Inj9*5<7$FD?a@!cQ6gKD8m>xVTJ zJED4}nB*Dw!Fy3%646>nj|xtTa;zMq41Hw4y)gcE7#M&D*w6A8gb;o+Cg$sVknpP7Y^N z&ewiYgE%6=YL1q+$3ATs@m`fxvn$+jHM@yJ1|qurgt=J}xZ#fi+y z9J7ICd$^1d<$%Hz0<-sd0sIf}a36?{UanO2>b-(jf6zz@n~T}&LKCb^;L(qP%R}vKQ9-jm0S$hng87^!4jQQS_PBeV2bGt9U!t=@Afrc4?M!; zU~r2jQld?BYV&nmP|AEjhaW|Z;e(`76Hi)dY?0#y1UPx)|4vYL-O_@+<;zALHq`Y@ z#}xf17(dlQMsv8lo2!{r8Qmu1qVd|9#C_(`c3itt)`l^Kj(@Khtd|L~^G?nvfVJgx&*nnLlH`wJ6v)J(O1bp_(rIPs7Oa30b6 z{z3%}emV@}AM{89+`Gbu&g81)axH3e!D>$#ZdgB)V*97mPogj`t0aM)kYo0RxzO||wW}Z8{?V@Je`?{VIQNZmnxbfCK5X)z zGt@XUq%HXrVF4<5jn$ec#d|W^EQIE|Nibl&X5!H)n zs>*N3x8TJ`;OXRgIKdKD*T=8x2lmz1FCHytV9@>$VZz!n#-w$!cnu9F8R2%M8F0Ni#C;JJ zCVKa^ydvq&x|9Y_yyCR(G}C}{l6}IeT^!Gc*~P8#T=)bHle@kj#pHe_e2U?Zkso@x zB@FYMuezQjve{(T4>+FOrxVGQ65<3H`d{b_`-eVce=m1Cj*76%xgz3b#0O5BKvHr z6lw-aRAnFMv;B6Jx#7ny{_o>rf?SoERAj{_m=-=m@QvRg%g8E)Rg;Z!?78_q|JLi zq+e;iMqLhdoP|8=u`hW#uT2QbEdUf4o9R1+mBFm=$RF>Lp6~&f_={n#PAW$k(bk#p z6H6{c%kNO6Fic_i3hSZlMtpqP5NuNGW+hhsd!1+L23n5vpK9YGxK{N))R-{o`K0w(T{hT^Vg z{I*^X?1)?)GrY%1@NKZ4CRuG(&T19o>otSOBTn#aQ_^B-iQcMz(S$fW_j1GQ@R37L zk@|YLO2yBLsc%t$tYWfIb)J>?ru-sdY4jE*V*T@wlal-X$@H zR>L>(+3FXN`sj)oeMb8-@|km8&e?Vm4vu%ediQIWN53*RmlYF*@U9!xxYg5|rfsU{NoCMw+ZZRF?K-V0H*;Ge{%*7r z1Xe7S+@l$sGamX!;oTe^3;2l$!8Vx<_$O+<=>=+)&%{%bu}v-96P+JaAL8{hjLK&a zLJ41faO3Jn1ZFw=u>qhSy_?@7fW$_w-=49Vvb7z#42G77D?q4TZBcxm!ND7Ximg3~ z6bfbXiVZT{0Ptb;@;xbcU9P+38k@6vV@x<@p22$Nu|dYP1W2jygdvy)T#3&qb-LHQ zg_YfiJzu5qN>P>dC2-%d%pxvue|S07%U>}Q*&CT*l#u6GpAd@yT7ft={RW+E@kt$} zwbcjf-B#FN+D+K?-FCDjGYbItp{a_ux^RV@sLCLAbzwH&JTJDY5{7BlpLiN~v(zCfUcSCQ4T!GIWy*Kr315azmnMZu zGYUn(>M*}PNh~|xDhSr@4}Y>cVN54o8lDs2V_b@FvF}ddHUKDy=$O<0Xb{1kJ53vs zS7ByOnZl^6Lv^c+8{*bjz3isXC_a~{T8cHfZDo4i4=X2& zR)JO-G1#9##w0M4UiYJ;pv#aNGe6fV+L|Gl(u_QzEiQC;oEOP{xtS3cqdq8qFG$Vw z1)UAbou9UdpaC((3)5-|s|QVvbuEoL)VJjq#jG99>ToSD1e$*ABKD+JDxw3rgU`#3 zpDn^tp14-_;u9un<2Wr+JEm4-_#*ieo5MQ0*I15; z>K`)`#F~ISP>l45XISX;Wpz1&>MsUO_WxPPf%~L$F1&83E`N2t6(@8|9TC!JMLPQU z%(&oY!2R^5t=8kYCCusrAS4zqUbAxIzZ0{{u<3oBcVhy*1`c(txZ-LF zPbVD#?OA7bj}5beL2V_XVEFZqi%hqI`C1_Or0&{M5;K)NSPGzq~|Vdz%DFV*TX6Nv+s@q5=9IPXiXN*<`@;7`t=F6 z?%vy5_bvw&#sZii;qs|4O_v*AcChb%N4>R?pEBh6Fio)>h)^buOhRpXH}9sc z+H#ymWTU3WoWxU$_kB+)7*Mqv&_{=pXCu=yQHMH$eC)faVTBB>VbaSDXIG;P%Li^hksoF78Me7NlN5aLy!0>oIpAI?L+%sur~ zi*WW&+}Zygj&J>j8`+O$d2MQ2-XrRk+Y#$jn4A&UnFDo0w-Z~!?k1cp6 zHk}kBOgcwkxR3Ohkg2{o`oCSNeH3-8b(M%vv9Id`!J}g*GEV#GxoNvip;IT2E&&$H zB)c;J`pDPeR=#$$!lb!7yD2g28@ePpBQ<$5^LW!0PfyR#_F`r^RW^8v*qz0{F8Jk8 zf*o4K_BpMvZg@bi0aF6_vqyN5-`&A@&wNH4Sr*72T7YU?z4;eNpdbix|HGFN!jKPV z0pqc4F=(B<`TMGKT5tfn1=6I!0Tbd>05{}wfRuP0YM0%MG;|BqA8u9&vPg-8PzT*+ zj?Y*^`I)<(&ZJQQ8vP+&z19jZ2h2et`6rWDi++*(u(uT@N1*r!o>Lha9BXD8w$mU}1lG%)*aokc z6`fZB8IKvWnVBalKX)pENH6hKJDTg&^N*t9M>o2j-1e^uN+?#Feyud)cSdV{0kB47 zfhz6H>51Oru=eoDyuXxS;(yGb)ktH{e4&WVK32H0n==FS5)a14orNowoHyu}*O8-Q zD&2(jy|#$6?yjn!;G~8M-j`1dZ;p*tNx$5S{uD?n%Jc!@0~#JZco#)NO#6q@r5sz* zKjrwexG>F?F{z7K6p;IOi1Ugf*YM0}A(|hk_1dM@Vk#LeSg*c=06~B_PIDVn5M@|5G`ic5Z^=3r)BdN=LY^uwU z56k-Iv>hMw6jILhy5r+&r8!cfgR;9jMB^s%RHZdj$Pi}T=CbY>jAF_K?AP+20!B+y zRu<*x(DD+PCh*f15euY=ggL>Cuk_J%L=r%9fKo772=g7JKbz}R@3T|hKnK`ygWk+Zi`IADwxMBXB4-4NbOl~Le!W_Uj0llp@k`Nl zw7BKjMTz7*?;qg z`D*PyF`fE26r8vkof(A;orsoHbMkT{;(^Fn+zT~eT6}QEa|>MaWD7o)`I+y@uGi}0 zgTF|c-awB*t06daGR>fCz z0`cwWjcF|K%i03kbCD^sm${-Bd)1u%ob@my^^`pdsYFJ#s;Pi)2Vvo(4$Up zQoAo6905wMotgeS)|NhrJA8P}RgPdeoAM~MEMoO0vGY8F>NVoIj!0$Bb!E1jIHonK zdj}3cY1zd%4T{7~+o^%B5N2O-)Y;QeKO9pFjC~y(cJS?<<01WG`XUmp1I~Gt%VY0$ z*$wUATfwcpi2i;!YK!4r7{-mX0boXx-)8G|we@&SF6xtfCp3i7V^)F@ zhcD=z`zkvO*BT5NP-IQM)4qA&-J*4T(mfrXZ0$FTzOCELj$biQdwK-!(W_qGVCmHu zi!*qRIWpU!UY$Dz`^Wx{zMBMlX#Hh@-d_nBzLnVcHD3G>x z*pw4gOk|&g@;I7(K^;;E{v+U7x6WZfM+A;HP(h;_({#)2Yll-LG+i38(1I@IVrN$L zW3mFikov^lk&jM0+U2Wo>kUr|j65~)4+fMe(EokoRzK1*;>1^iAgYc<`rdh$!db(; zetP4U2NZqIe_u)P3ChJA3fF+eq_mao#MEG%4ZX`(%UikWj#z^6u2x$Ms&9|X7FpO8 zf@)s9_K~kqa^~+pW;{E<$ieasgEd|4(=2s#`~a#XJvX_-rubtP`t98$`Aq}QcnoK} z9-g?GUv&YzvD$j7yCM(*=G<4uUB}JVnw9v*0QqsUpt+1MA360S2zS}Z{u_JYpLop< ze_bJYQnn*qHVoPZEo3V|>^)n-c=b6E@PF>?$h_-rPYj_v+iE`5^x#q)(1QJ9_7+TQ zQ-9h3#;L0mS@0S8EU+;bVK}#rJ5<;{bW&M9h?d8j66F=B zRBzX26|J|F_W^qey40V$b;3wDQ)YGl1EYi&?|) zxH6_VX^1YFk|u<9tz-#9BfPiW3n3OBsN0zaw4lJ~A?bmR%B{X{P()PzMvLo~!H_~h z6I3(ZBO$D(H4e$HuN(|Ztqc}I+VJRvTp>CZi`JUjWnMD0093+o?=^m^Ghy9Hr_*Q# zmyI!_tbAYDaBY59sg1bGrH}z7_V1rHi~CEW^|cbzdU!%Bk?B)ze>d~YWiR(QFdW*% zx|}r^b2Yb;yTD)9XjdQMKMB#BRcm25@ziXg5Tp_cwoUVb{~yNQGAgbn+7@j*1Shz= zJApv(1eaie;O-tQxI=JvcL?q-O>lR2cbA4>ck`Wd@B90HF-FtfyK48Ys#F^3+1?LZ5n;WPb-%GRZ(&I+s1sOBcvZ}K+V2u*pn=+b{oC8p%grt{80ZWD zU(I>;>guCt$uAk%`vd1_VSn0eCNN1*7hO#`>)S6b7zD5r0-!YtT5`J@qVlZHR^&)6YGrkK;!nbYI-i7YfA+3YS-GbE$U`awo^<)VYp;_z5pzgn) zqS-CF!c%J9HzRvry9LHGe;<#x>CBTJ?G2K0i#8&G~^#2tp#8$Rhx;ZM@$A z(|(2#L&S4#6>q5Ac<^bnMN^Q!zd%Kg(}%AzP&xRY%Sw@9Q3A{P>s3&ICow0qRDJcm zH}T+~Y)v=pFvryoP{nl(If%jwxSj!Kp< zm47Yq@zjgBiA>ZW5T7L(+Ug~&L#KN!)e_1*>Y^_j=LsqrhWyjT*eW>W4t-S+_6VsZ z{fcR8Ea7VX^J_#nU6OL_k_HE3PT7)=ML3Xb0|LQ#21MMozj22z&CEP5vyNOk?3|9NXGUUU6hF=Bnt z9YSG!T>Fks%4i}2oJhT?Dvo(;)>_(H%Aty3?5}1UIj40SZwaX)q6pN z4nbog0JMV9++lKoJDz*VZH>X$i#4PEVKL+{d!u#XY&fJk!Br zETj#f%x6FUvC4R>KBt(wU)V6WsnA7VlXOl&!3q~4LId;;LxF(eDoLD?ReoH6XchJ{ zO8wBz)+vFrW#L=CUf?T|kTT+8E2Wx!-rFIv*xMQ7-`OC(F|oh7-kny1T!QsW@ErcZ z_SIO|xcOH<;}xcTmG0;D7weNG)z%Q~J6yrYT%e&@if#$N$<1W4&7ZWK3S-jqryFGa zPeQ=Y{LhZsUu7}{&;VjXFSyLtMeiEM%nEIlebeq*pGW%}0D8y@n%aY7U73zS7E>ay`oCJQYbvu~sPMA;kgwb%Gx(nbr2`u0nx+k{-Nkey*-2VG zxM)1cTl+R`a5$TEEbbA_GC@L7^9-eM_ua*$A-H%zh2|ao~$;NpD=vQa(q0v4WE|Jp}jlnF5uYr00IRZ#$v#t0_fEea3K&@n*?% z<=+Ek3HPDd@1IoiDhg1?PhD8dYz;WgvA>{VKNb9vin5-F_d)IdO2`AkyD{W#I%FrS zfn1)?S_afGH9yMTI@_5n-_t%sEs+S8%PuJhda9n`mti$VIui?0ckL!*QC7J$3i~1T z5&`4HWcaz2=wK@{xQ02pF+oR}Qr6|y)+K;IIh=@H^;;olW`=Qy{)!)m>4JFmSDpFe z(+rjouHIas`rle7>1Ez}l3I!7NP~x@Va0gOfEkuQg0=ac9RJ=qaU;$X`vc`gTU7!L z0@DlA4jq#uUv>h$3@*hNz9|{6%<8~N_I%9>qL1x-(`AYwm#k5kALFMtG*IDkA39iK}2&S|borCg1n~WUo5?h#MT^_|vae##x+O^yaUf@x(-boUwK2@v84hqewmTlry5EFLNS`(klG*g3 zQHglak8^+mu82NojfEJe`mEn4TZ#}WfQFxi$#zP+^p-rpjpFIN?Aqt-$D|NESX=`C zljZZ)m?+rSlVW+B+1@{{`~D_xy)HDI4btrw-#|*-T(P=VKc7HNT!Y>pj350k)XY9l z2GGMP+dXb9b3v^47OyYD9K11hW5fmqb5oMDM! z`VaVis3(T2J0A^t`i6}`&8-lw6*#wrN7w!yD$CPAH&e~%Qb1(EN{V$ubeYT*`%j@| z*`^f*bg>gBZ!nt5rB-8v2sDf0ZcnB#ru+S+2*K~7ODP+=%1_jCuP_nPixG_ls2Xn} zF;KCEBSQ!W>M;rv!o4Vs7lNGt$`WZC>E#cACxMZ;w{f*zen|E#7v_AlUyeHwxEK|v6lHcm{iu8NLD5yzD4wg~bO^a<{L8e2mzyz^GcxIf4XTvTR zY8*Nd1kjUd#=>FVp5usY?`OW*@WuYU&%XXEAS&0n%M(UEzgm|{PDzZUIw(CrSm&)d zawJn=dH)jN9vWQljj|J{>?A8H@T8N~H0iS2@Ir8&YPYfkhjTEgw48^Gn;uru{AtpI zNA%_zXARv?oq^V_+~#$~Fdzc!yAz+?P7nwL&Sla3gGyLLpbl~H@DB_z;GCf7PdH=k z1vt9+B$~O=WP`qT`^EVmrVP32@o>;mI^WkX*7-@x z@}~OYBAa%81Hf8x(T54x7PB=PheQMOuB?8)lZiNFjL4Jo z(e1_i@I{Gfjb^Uc3#hV*Kuj1aVFo$dXPIYzF8){yro4=OD4j@^`=CyMbqa+HGL1~| z7dS7F4#RG`cYfZkQ}bmc#qIn>!J|5gW3v-e2bKLL){`u)c|GDum$YBu_Sfl|RI7eaZPqx`#uZ%-dKJU$gkfJ2MAgltD~Ip9NUbg zbqrI}?)t=7vj$igb2#WQ@3(Ch9F$S0e#f{_H z#FAn0h#q`vBxZi-S&s6P*TA`cy&BNEhzFGPQH!zf--7s~%aA710Rgo}TVmC7-E!9v z0B3c-V>&|7n$`JKZ~y77Xg&czWI+A*>ppEBw<+Nqv6`vI0H_{Jp!Tor=e=~P8mKEsBU_1XvaEHLZ?cir*=1)1Is@V)4Q+?jc`Ka zYaj50(0FPfM!v^vL*qSGgAY4vgN2_rR@Xx_YOZkBjh)WWWO<|rL4}2dTYr&Qds>{1 z?N*)UT}gBsZHOzH#h*X9rj5dPn|YwZD`w+z4%Uh8embHT9x56EoTCq~?T8Lh6$T)RLBpqitu1XiKSsLHh%-lV(6IM!`YBdDO462rp< zzIQ8~yf-|lmcHR0%@a;zyuKkH@Y{Vql+*fCNBndgg|~6h$@G1?-XL4$q}bdUG26Vg zSD-JCTtOUxw8BbO;R`}uqcYJTfQAL4HE zf+Y^Yy#qQs>pYMLIK2u!#k=(>U0GkuH*uzUR=2@XeCKv+s{!3B%UM4ey)eXoBQPXQ ze63KU9v}N-{wJyPlU1rK1Wl!J;xzX7)bpR!22-LLeeyZuZi=iapWSJ#J=>bra?HZj z`7e1ImEstm(ky8B@Yv3olT3`D3IQKd0W^J)o z4ERlzz{v@a+{yW^pspVB_wN@#iY{BX)2o_9W5f)Yv;uUE9w+Nd2H#T%QoU!N&JUrPwxBiR9iSiStyU^>+yN(J0~GaIhKnSl{Thm4{BVEXd1Z*wKjPl9kjlgc zXpXg0>zV6PX|9+t3+$$%>0Ys&XrBaC=zl--ReB@v;yxeeHX*&-IDQXF>*$190bd>a z%ol~u7Fzz{TSTE+a&mpD(R%G{cSnmVX}d#s$v~u{68`dqjNHe^g~1@6@*Q3Ym6{}a z^ip1fggm{@I2t-L#XzqhfqN(!S+QE33X&OXu}hwx4^cBoG(1#@XdS~R#7zV85LnFQ z#ZIBSlR>S!-BtIymCh_dS1THKle?4fu_3qh`ozr{%qXy@yYFa1sp^o3ogTMR?9MVw z8XLm5@%ve6y@hk8PKM4eIQ2u8ld`76a|ZolCfK z=pP+X!x_{*I?jTGQN~l9&_HS=|Gggg$Z#Yh?z}x~T!%sQob6cvWC`w;W$zjciYs(O zfPde%29QD3&DHOBu{%Xu>zuv%_l$S+y)Hel@@`!9w2pz>V);fFAYz&^&yk-3UAPASA}qoF`pJo0rMWgpue zda$0eXQ_mU1CLFQ3-9z-(xn%F%)>}ZhOh6d{0R@EwKv@!)h&r|Xqh&x^JY);hg6|? zON4E{Z(~ru|EO}QhH8p(Ms~NLbQ8CqT?l3lpH8jz7u_HrBY!W)`B^7#8`a++XhL6$ z?b1H0Ftoeh{~eVC!)kbl4u`iVu_@=QBj+H6PmBv>rITI`<)k<3fwF zNKR+A7Mj`Tc&^O~51@7a_30%l=^F;qZn;4Nm2%j*(F@&{v4I3m2RXPlEixn!>?_~FXo_2xve%Tsd zxLU;tcli}iz&ju=K=s3;{_l+;O&Yt?ZH~$->LW4RbM(siw?*7NSt#j3C?W6FxZ4o; zH2=;ib+C6EvQgc<5Q~5Ws$YW1jBl4}H^iVT3tt+1=zRD|P4x~T^bC=|S+`8F7E{Z_ z`KnW(7Tj4McJLDm@-~C&JmPRg?(tpc#i>4V#GM<4kSx5L0Fyq&^34Vv`QB~Q(H|Gz z2-#55I+vL|gqYpbMR&Q|U&1ufQEB&3GK&b4(@;F(X3^{5^{O{(yAh3?=CTHtE%R6E z9?Es0_H$R%K4ZBC+P5a)l-Frag6zHjvc6PI6ZATyb(^o4^hFmT)?(Vhn?N}1cVirX ztW9|=zo>v|{nRf7p>95zG;`|u=&f&n5gnhRjrh{L-Bm3w!dqGr2F57 z-Cy@^Z)_EF>z{C0!kE%IAMyk1rSI`k92BdB*uvwXz;;@mjpTU8u3N z(#7#Y`wJIHtopp-xToJZ_w@&)buVfSV2lbn8Osm0KlgcoWJ}^Ji_9qZAhZDsRq9n+ z3ne89;MzcNjUsp%GW6=vz}7TQ-V4V9)t{}VF@%iJDlwLVI44?^zQEqO5Nw7%UuaAi zkH!FbTn!UEPiE}fn1qVTJv8_bRDs73Z(cWjXSiJbyxYTRX2d*-{Ce$b^H>%uy zOgd(2ln9ozrILWb?4#!x*Ie+WPRFqK>wVtkv#s{~HV0j!8Ve1oPZx9AKHFSr|7Kk8 z&ZKOzJK+1&dB-nd`r*zKKA=dlE`8i%C4#D&oBC)9+s|wQG7MjpNvR&PQmM$agSB+V zDgz#ftba(i$(ro*=f7D0wMpy#9slNubGb48!`hIUWbK}9j#MMc31L3aX;J-q8G`pW zo{O+J3Ce3D4fVVVnB9?75{XbEDlyLc>w1$Gk2Td)2KR@P)mHP0SL;-&>>K*qFCmhj zzTuQ3AWK3(`nyT_Q zKTGk~9AY$mUDF~>J82RRttJkOw(v;yoT(9)aK^*^BFVBbaCea&XP!wtLCMGT?f&Az z+SR~Bcc%saXgFsT9`R!$&L$h`08}%>!q~2QH}we{tAMf^8z`JSX5m+2@L!Cwz*;>q z@+nINjC%y1#p@3!+%T{A(PTMCx++)OpP#a58E2nhe{)9sTrm*!Nn!WWAhO#yV?6KM z(dn$)43||HR`R^`UGQ9G$C-GwTX7Q^u3G0hUsa}ir08!$L(Y7EGo^NfoQ_duS2$3v zBa8TS?zjJ#8NvDP( zV9Vv}4NB$};_NB}=q{i3LfP+?7qhAkanru{pHSyHo1b0?XCcT&TuxJn{GBDPNURmN zmV;&e@$!3RhIjQO_*2BCjt%a`qHZrqu3-G%KsK{D+AME3Znhh#X12UnPXoy6XI+~` zOtV*pjps{yXX{Q?;euKsw_WC|b4k%b*;Db6f>%R|s(N!*RY$}$PQUHYud(?&R(Dv0 zM@L7|2?>FKtiF*+&`Xjxuw2j7-J>>t0<6V2JNB;}ij0|q;{*M20yck-U`m;BXBTF* zmPTBUUH=6Yu>p51oJB`eU%T+4-HrO2ZOkDj4GLF9&u^pFg_8DTOGtzH+(De*E6(#nu}_Rbo2gSd%5hc56n? zjbe-&TdoceGgBCh|H}nn-=XiJb7yc7w-v7l@eDjud$&xKIC;{xPiK@tTjM`aMt3!Ym!H z`X3eCEJ1GqWo|jdmdv5d&oQ!@s@vwRm+&smHZ=Mj>KAUiuHjId_ z!c`|SXkgDSm*mw#ikyb$c-%LwzGw3BF%xz+pM9b`)p<`==a((KX1U^Cmp;nIiT}T}S{TMC_vKnCWdl zIf(4;;h3FI`D7eBx}t%NcyZY{Rg6oTb03KD0(MhV2Z;)Kl?syn180=~`sXByS+jWKUr6vKa(N$oZ+GgKW17yK#l_qE21UZcL%H3@vxNcLoD;em&zr+F@96g5O>Za0w-F zZli)o*G;9#+wy+5mX>mBAR0)sF2MY=t8OfByx~rD5%uoB10+0wwtHt$l>*>e&M0Wc&fjrIufCwnF6-_P%_7?v3(+T-4(nZe*R((-KYZ~laHwrsI@-~S66?>Fx4Q@y$W*lxxBIe50!9yTKoe<#WKjFh zu2C7XylANoO=5)yr1vYqyKybICeL5 z_iy_=#4^u2wCaynS;~pWK4xOPN1nY?fB#2|T;7z;{#&#m* z|E#b7anCc`RO%X%J5NT95^O{|Fan+J*pQwv(>6wal6MWC=yP<%l=cx}lSCLeDpcPF z2s0_5?j+~*_Yo=r@75km-MPU*DO8oMgqn|;uLLCz#>spduJiHoT;XRMbhHmt2K-aG@rnGbiqZ2cLyaz15Q8tW426 z;A3o{b$%hMvCnOgjn`ZU75T`>j2O=~@yp<_!Qer^z+o)M3;0mD*D#rCLkDOKTAS|u za0Ql=Hw1g__YXnu-l^-ruX=q*1 zn-}nHFTKa9{Q}BQ$TgbA+rVgvDulwZb<5u|PakX6#l$c+(z9#+p-<&f-i_0TE;}Vh z?sfX$vss(g`K#5(H3{y#GE5=`&R)-&#^u^m$j((27vT9o<-_i^(hdhFxOQ25Iovga zAe#ZwjveV^3l=B@cul0XJT`bw^j%M7$ENz-F(@VFwkInR$&(Z?%Ae$VQ)srO7y4h% ze?INCtdmtbkqosYZN8MAHIiJEVq52%enowe{caKTooHj))JCbGO~~rnLvLG|oWBs! zeH~WXd;Tf)u2MQ22>!e)O-xVzjoC%2AS)S)TRqQb4wy(QMjXt9Dx_Iy63gI5;!gls zItO!sx6Z*b>QaLhqoY;{r-%PoJoWc-lf@MCl%|4x<_7*B-M#QRfNJxY4u2TFrs+mz zJtX_&l*5Xrrptwrz|zpk=)jh$@Gx6c~|Hks(i8--qEFC6)Wyiie)Ban!X zQk0rCuL+kSnLjYHpyD1C_;ps=wez4x(SB}m?5C3v0jCdEqiB-MZ)d{LhCkLn*FSGd zfpYHbYo~@MBR%~sMmiGBVG47+y}XCZWr^&vwKe#11Ok{dm?w8^IBxHAX`UWoJH!9f z6kYAMvu@wA>PToS6I&1hDAuR*u0uOq-E!Em%#UL= zbcRD~97}m7*+&A|CY2%7dTDn^49~!BH*6NvZO%`+_)Xf5xMC!8$$ez#s&?SISVfp| z`$(-A^XCXiNlU}qOkik@rCY%AysM6Rx(y$@Tz0YEb$&^ZRV^X`|L}`E*%c& zqfG0N&vH4t65^iqM8#T8X+%7D&zp9;%=Wrqh3{l?lO>{^Qk7vc)}2JVN$KkY}06JoF-?G6II|( zP}ByI-a`31=$OSd z>bG=g^+6*Q6ZPZhJ}KMjjPRlGlL2G>_@d52ykt#x)^f$dwAd(mTb*>K8CuGxWi2Bl z%vr8gc1DOLfL7nPr7>GLRO1#`idb8b1t%4IQF;CP{6WlK>?ol zs38m~lICky_QqP|u57!fX9wY>=C27v*uP>M&HvUB93R=MzWgcqL}$Tn6>Q}XAEqn< zYBp$w9PCm5Q0x$?$lxAFIEp$XB3o>HA`1E6d&g*!C<9aKs%?X-N~%`=c<&q;^x7H54cW!R`|TI!mTL^ju>MnnJPxgJezo34f5tCyn zty6xLU2mDfHMDO5ZHJ!5P$*h+tQZ@a4kd<@?_oW25&!<-SlD};B;)RyN#z%@nU{K} zQQ>nShDm9`sS7K^qWY+}Ez#z%V=Rpch`u7AMvI`L-Pt*K5Bb3EJGp#^Gsj9SVWmp@ z9;E5p?+=FVQN2LWI+u~c2Sm1b_Jim*gQxyL_OUmrmH9sr)n#TH1)IWMIr_MHf`8;8 z@z1LjDVaym^;BAICHd%M0#)ZAHmVdf5kXfw^KeRL=myvH?u&=;!Q=Z;26t&xvZbBD z;fV7U+bbykO8r&YjT`~+<|()_%?BpU$7a41x9MQCRG_N2;)lr@7jhO1(W1WKh0XeO zlWpc=hnqO65}42A`%THLx#beJ_qwy!td)HC zjE^j^jP8LDvnxvum3GW*{6b_ud&Fz3TeQ)fzds=MVW_^A$ir2qyG_Qo&n;_te{kRF z`npS&y`xaVx6>vDv#{;h3oNi-LeAm z89$!<5B`Wxoo>??)y@qTfu`TmzcegI#L?3qY}n_VKZxhwn;gt=s0(?c+&@-+&9c#V zB~7B`bGUZ65*j@rzCn5MnW#dNYGo(88G?(AykfpRUVtF~Ay$BEw;v_~cs%&@MZ zb;zkNk=|st@!K?1W*)c(7(S@8^2uNT;x=26v%6CYe*G>6&Y4w3X`^%+h%U3x z#(7}no?;n^oNOm3ct-*s%j=3;ckPZ!P3y?Y7}wL<>OD!WC+`pN35o6EZVZlJjhsk- z=s6e8OY+7wZn0#AXNTSp>0MyGE<&{TbTO*|=DOi^(-7$sPdW&rT zgid@Zw_+VQA$oeOmEjLBl>wBE=vmaYSt9myS|zJE^P&z~xCeL<*#y;uw6m+4)%<44Kqas*n)PXBh%@4dg*zfl>@LRqvBWpO} z306PpSHhCFkUnJ^dbg;NR2LeVf_M*z6szR3oOMoy9ox&=jV11 zEbtH>D3)a^hR(!C3qPM(2;wd$-jc8Xm}>1DBgI*Xk{|&FYx6ePIUT-MIFqe-=nyav zS?(m;ntTt_w6|<zPss+#r^1c^b_%6o zNnYY_!wGF)TTyzSwjPpOTuTlw&3vO+TjsBB9;Q=8jIEXbLnUw$nXpiyztXQwF1?!1 zV_}FP{Mh&&=!2}Ct)OAYqvW&vLiPG;iu5dWK#cl|9J_?jxpy*Waf+NdsUudK(iE=6 zOK2{x?Q}uXWOkc0?Y8D%>StTacR%g!1zz&vuf^`inqEMNrW-T6J()&Y5p^RnX&mAv ze)=QOA*tK_=efwhrdO-GKcm(#@?W|ZwyOKh;puCgWoYo%*l6!dihuu@U*9t|;@`6SpAmA%I2Sy@&U?9+1Y5KgnDPMJZI|saP<7r)a=c ztg6hcA(b~Wah#QYKnpR>^JzR!czv+S@x1n<-vV@~dSetgmE4B&otbhNqVzwa@wTco zDCjvot^6F#R$1h0`nNp0hDhw@TLgo;;<>vzFnlo{YBp+i=P8h52ZrJyN_HOG)CI+= zXKVlYqi|>GN-|hyJubqxU}Bqd5zmv=^SDnBBik`~C}SfvvUqdE}x9 zW0E5JuO?+3F8hTiMv$k621?ItYJ~F2o1!WaA{S*rqpXF*>(}-EiDk>?f11xR9vw4& zZ0!bEc@$Z?kmve~7kS3{oTYNnZ%G zVun(xaw<^>po*3FjtX|n>Bw;Us%%tih~ani(plPSm*VfFEWVoWrP8VQyZY~w1NY6% z$GrYoY{RQOT+4ONc7Rzdn z_1gv*{_^?{pNaQw^`=7!?0oJ#mq0(+!Y%BOf6;*M=1P)ja{Wg$V^Ma%*hG=2IyMIL z^rzVjt>VL4BuS{Wo^kx>4RJSoGNGoaL`+o5q^-U!HP(XAXhkB0g@}}-z%kL4YsL?H zN6^h9!qLw{P!i6tuKW5&T#$InYZe7t6L(uhCio0E&gKHaeMK`-P*0_;-Rkk=srBKi z1zhTH9vVMI^C!9vFJ9+0Y@;;E+S}cMz|KH_@XM&DrwKIa`WFlVU&95_G}%|DSKYuc ziEuORxVIBlW?a**fA`nMTiIoHTvefI5i66zYrUm{eu3=;Yjy zWn>k2Lj%(C57wDk$v5)HKnhs+aPjJ#I9OIO$ZU>7BVo=cSz?8gmGf4m2yf0<7~TnP|V8LQmM2GI<+P59cFJnen1I1oR1#?grpleuID} z3<D&z0+OgK6LYytK}>R1B>Nl;iLZ8Cpj8et2$A z-E?+cdWUbsT(4sp4%pbhfTJ%^L??4qVPmplNH5K4RB57MIXDsX0b~JE)-G}IGr?!U z%9-P01sY}(MS{EdOys+#V7d5^Z$#)WE5=KL&;)H)CUvWFLlveEw)4w(-(Gn;v#Lf{x#DCf zje{a~{N2M{@Mk$x!~#i+7VxPv14z=~6bfH6i}-5xTd zT;e>b2AVK`c8y_6a3YrJ`?C|LA{$L21fqfQfq82m;(^HQ+mT*)*|X%ZTl_pRm_``88gr%x73eC|H}Zb%t^DKH(@&3cBr?3>w^nzAUT}D|7&}TqOfBcI!ls0J<(AzZ)5n96Kz#FUf?`{nM*zvcZkq$zj@@1X zs?e;A9*>A6qpxryT*dGwh#Cou_l}QNc)y*vVS%71$(hr>mqgx{z8YfoNtSe*Sp-O?qc1bR=x%U;sna9_&8siWs z(oKr%f)IY-M8p6&JpTKO;i6tJ-?k)8U4yxDWS%sKdaAU1NJ7a=RBS#8-KtR#B2cZJ zb|+T*9rbsYpkRjhWXH^1Abq3Lf$`Z2Cz4MrzE7!CMUYc#52OZL;N6Lr-1cuMcY;-x zhfBsEAfWgTtC4!4&p8B(laXT+d&GHVT__5Ddq#ctPHfPA=4o6TUJxQo831&*6?u8=Y_LCQ3ttpz4vhvS8*$cDW?%!zJz6d1Xep2u7n;XX!*ZquSA#Xt?WoxrxVJy?K zljB;>i!0-Tt~zb&p8$~hmJYj*{6-M$$%d|$yCb&IhJV^k67Gf&NGw#DuR~xoKZ2~{ zXiX2jUQ)$Lg$e()IuX;cDj&%q|I7ywyTRD5!^}E=WIVe{@yJoN+XC5mvAA^R;mkg? zKriit;C9ZC#<}Apjv%))%hL6JR$W+ZOZPRBm018){rQ8~xbDRl8X9_WR9XrDys~Sr zzcUbXFp&e(V6z%}-uX&m*dG~4C8btprie9`OxF@$AYV>1EFHHE_VjdyP|h566=CHD zpKOI2b{`oT&>E7NGvyYH<`*GdX8dM*Hl&Z|;~!EaYcA<|m+^*nk|a<0V9OwZGj3&)vR&lE zn9gV$aq@y8ze&CDerP)-9F5PHYyK`NVR!-*;`+Gewfq5J%B>XB%&s>|Y)ebayDVnK zo8G@2f}DYLn-ncrFVBESLgkMl!kDW$Z2*y)s{OiLS2-IuW(CHtc(KV92{CcTx-e{0mX_nb1DE%T)= zfthMMU6W z7GB1(hJWnHR&ZfX;R~}{ePhD0e;EL|(TJIu88X)KSD|lTH<#vVDV9(Qp{`{%-!g;fG5_k)E2s1_zHro(r0jDQ!)SY>-crlW)UyF2Hx-eLdSX1@cE-)n9xmDH^>C|SUryQZe5 zO;@|sx&BEb*dV2*(zd67azd!nThvd8%$YzoP2+u~Mo9erWA^J~9J@hx?ZNAdQ9l2= zL}m~9mzySGlTd-WMCb1I??uaIiw@Qjf`)C5%X3CCvdaFi5a1{~?L<)03=;~9(H{0` z$k1bG#TycAcT8ybnqxzLVLY$oKm}n^lH6hdrStrx=(yiPTCD`QWI6pq<;7cV){875T%StQoLV>pE@CLH$~c^plox-ZXQ)OjWC z4f~p%#N|3zX=|93J6c}8`A3|H>x(8A9jiC!iI?w}VAC;7>XC0@?O)bzg;mAu_0_#I zLt`l|*Qh_IlmZae>!_mMw;On>o*&&ii)jaFquM*bwaydLF);isQ?GsVcy&CY`lb2C ziUc_A6P3C`vyb@&1?0?fReu;UQVNaMX>8Mx5s18GswU0Y%3HBmFop5!g=5faxP?@W zTvaODWqA^hW)kD-KhDB1LTh%K)v5CST55VfdkQV+@%@DVbgHAs;~S|UL!;NEQT1#T zpb$i8g2w2mxst4AfqLsHh4JABzAz^$sbIK(``yOHX186l*4r+4ce3bD>U9qVQqa%{ z1teA9%q|z&-9NoRykBtvE6gsyUNZ`Cd8W$}P`nCtCJ$v@EwGyua0z0H^!q^XHt`5< zaR2j-k+6i3O?cwHBP>Vk?*@EWefcrw!e z8xM*1(@!SNhLOi-U^jpPEmY~l0B&y4v9W$CrKbu6tf>d=7_~uRo;v1<%qle$Vl*bcyfS*KlB(&K?Cgi z1u{tnhf@VD{aW^e)b|_yXcP`#M2$jMQ3|bT350KnC~!a;s~?PSVV1`VKF3%UYuEW@ z1fSAh4;lcGrEyO1E+}r#9u}S^Ek!VxZ z+G=!tYZS>W(Mqc~+kI`XAzHG`4=F3^Em)Gg1tBNdaRDEGGa{?`^3lg4hM?6w_hjK3 zPL%G^1pS0Z*(Ysp=`r3K$>&gFrYK5n&@B})K7qF-6?{G1f5f zIkgf_t#7CadR5czA1|)weLIEn1-!;b9M*2?h``JB`wAZwa8k~Rkj{xiEm5Un|2A8G z%9)*=C1+$r0$AW>L^RSS(hYrdK9~Y5B=jm^P#J=6<{jnX;tQ0PiK#{!^%yQpwGp5toO^7=zf&EX)40>8st`Rw z?H>dMXRQNb=c1y{Q3K33J#QA*m{CXej=owk z)~1^QixdRy+3^mJ^nPz~l;TMhrDc(dq~fm;m%=LS+=#dcKc%tBf_Da_fQNY~iVEW{ zMezTJNO-i;tyViia|U*cS*q4x#;ca^5NU_f0aD$fSe~g+N?aFvczWB@1|n(t{w86{ zykGQb=;}*(KgB=+W+)hnj)(A)B!pSe&dgkE-MC?aSSEf`B%kaeS>7ZQfXlH=R$DmD z_PO61R7d}nR$yqUj2?KiQ2{=gGTL`|x~cr0-tTUL9@*sm@2^bo1@Slk&A~C{y$AB$ zMXv$5*#CPmFb7i@1j4kC5*7Kb=!g$5$#7E>RIMtB5hg-UE%0U=mwTWDO?9ru1tqTD zt;U!?kxCG&PA13@IUt@6M+7~F2|TQdv(g*g62AWoKO?xNlFOHbkB6%_^-ss316B-g zcfR_|;F5JFYojM(ENHl(?5qH<3y|m@1H$5y&(%n@gx_+%iX+^dF5uE%{?nJl8c2bT zmxcMP6Qea;FoLWU@E?G2j8@*C?mg0V8MKFT0dNMB1@%4$ITI4}a#Gf)mz{1R(dOZI zIU80dyj##2|4P^33^9+=i|Cs&$xC{!X}`1H{h;5{dlKVgJ2iZB|`rlX4^Yi4Idc zVQXXYDwP;yZhDqCvltj+j?W8jM2hI;?Pk*Gh7g@Pm+_AlXRFt{4=J`XgzG*n^&6d) z&Li(4jjE)60?r|dL?t6!^T~*OxJu#=Bn7<^SpIj&s6Et}!3{c6DC1oQPc9;eH7`&Ez%uf&`=aSV) zkX0zKDDZSx1!AA-PhGb|Xnj28DpB^C`Fuvk?qJifaNlsbket;Z1Cc>!$B~1BU+y~M zB${9aGm3hCyu*@tyO16Za}(e8;j^JOV^Eif9<;0)`842-f+Yd`yrBTQ!VdG@BBRo< ze~3~rdWi8<77M&v;=*HcyTq`FF^8NQx!l|BlMUqzEY}&(8M@M2WiK|}w^|BIqzil( zG(QaAacXoDFZ)4N5*HAh502H&Pek}ofGz@YTck>#2Ls8UT4jse3$1@={(qZ5Y7)X* zRp+b~cl0DbOgQ9waJExBhrRDH4aoClcnhX~k}JEZ57=rcVh@?omL^-o2GiRg7zaeM z&#%mha3~J6D~GVbrrzuiK0jSh=xlhYq~1@%2le#pPl?83eM}>9hsLR$Eh*_T+V5cy z<*9;G;~rY^+x-v#6LcarKe{(B5jBulRrHJ1C}eM|K7i1s+Fx8*;DQ!&RZ zP5vbpQ~Ru;byg-{%q@UyF$h2dMDv*yH5x_zCH3X_W#aqRq(brE-k(TUu9-_6lhpd5 zp!!$rn+K@q62&al=NRfE`%ksqKO^2el=CAvjcx;%2-!2)`H1F|frU@unND8HvRJB{ zLL6y%0?-ZaFeq~KF-_ao{tlh31z!%i6N6@@_wm|M0Tcv;huPs992^_H49BlotP6@+ z#83W?-w9Qdq9=q(=ze{j_I44`Jv`M;ijGp+*jbJC3*?vH))`lDCOdaEg{{KsxYsRl2NB(!am$X&5P!*67ib zYxhk-%2zdJZEVvEDO>;h=5%`SY$rM&cV;SCZMB0EpzHwbMARgyjJkqfPMTaS{6_l5 zqykldVPWxY6*SvZaEpBFnHNpPDb9pDl9RYU}efq|jQY?5LmONbN+hbed~1+dQk<5DK9BEDn% zAODxkgjNqv8W>qgtO@2oo9p$(Rv7EnvTY|EsO^3$EScR9K9W=@vaaqU2%OIA@b+aM zfE&6U5A^Fl#J+D^qN3cq|2<{*P1U45Iu5&{L@`Ohm4gUEopEMpde+v=_V)H|>$dA1 z#K64P0D1$E=&%7ki$we`=mKsx!F}d{XLXTFg|JF08EvenhujV=d6Ex|=k@3(Ad|!Z zOxX9^%L@zPU0q)iWQQPt_IgRwG>|9(&}Jtq1w{=Mqe2J;Lj^SW>dGF-C|4^p_sye{q+Zj*dJp51n@cg0&ieuA z@B;EQIMAEnCy*~5thKiu85R~4Je=YKi-{1JLWw76KN!LLa!Lj;r~q;)x)R_X0QbCU zCsyWS$+D81y5OO*QSI@Tlf`XImJG_URQblHD7KpFK;0PWR} zjN-k&Ld~x=CW8%$v_K{bY9=qQesy?-8KBMT;&xtl8!(F$Ph!!2@+$0U1w1nE5Avce zz%XbVz?H!D|>lCr;^Q7>3hCHd1IQX9duDc$43Vkjbq z?CbbpDLy?#)-nLQ9);ZH3NZe^|AiC=daNQ8`fnb&bnI10WHD@SAx=DAI=y`}xjsDZw~{`azEypCT=#*^(hlO7Tt1t}tM>;gN6+W92#=5NsCQ~w)-&Fc7xN&!3w zV7m~N3Ic#M3=GBC|5mSPywQJ)9)lYH?F;|^|9g|J30*Q47F1kX8g`X}4s1DeyAGNU zMDpT51gW5_iv|MhJ1pbJ1A>EtM@lLyB~(>a>*OgJh?F>fcaj56RmBw*;>!)zn|3_8 zo}bxEfz=CSxxGO47@d-We>xo^(-w5M;Z%oEnJ3^ve5$|uSvof0-#<4jEUf?2-I;|o zb!~Axt+iMNsc1#eNR=V64AvGDgFsa%hR9f@GKE2rsYy|$K*&KsD#{>GNI+2p5(Wi< zih`OjDIlLH5DLLE3DiIs3`4>Yrmo|6?{mNJKHfYe59eg>efHk#zxG+@to^GKoqW?D z)Qb77P854Xm#i)2#Tg$`kPkY|RaO|1JKtE-&6@8lUSFE4|N)c9ULK}~7ffpb?{-SpgP|SD# zDMs<5faYnzWA6sxyZYGbg#kM3y|2tJEX?<9yF(kkhHD2pZMYj?M6V|#poH8vw@pT> zYF8V})t)YSY04{nbi0K{z5>qCQy-KDOYkSMBbDzR@5)$v3#vq3Y# z9OIBxnb#|(euo(+^Kr!7`M#*R*LXbs((|D@5Z2L!U}Bm*nVcLG^C{W{Hv6;X`Kbi{ z+opoI4}J5a*Vp`dAL|psCgXwPxzPhz;tU>0N=iZ@7^$~zB|xobC1V|nKpn{oX{r!4 zs(QTW`q^WOGVgZk)D>m(mG<$b!ew6x>kFPY)CgimfAq%>?$K5_|& zDxYaEBwGx~+;~3UG24{hO>borf1id6_FkHO-}5w77g-#VOH?r_ucLKG(;40 zI9TWjKB?zPFpkQd`Ef;3Xf9o=uMhOQY_aVq)S3|~85>$fV2~W0oR}eND-mJ}ToF@V zUS6xJ7n}4`qBDu9mkLpw7^(*^^3mTR1WvxyjmTe@!OQ7zI2hw<;L zzJOFo$Gb>3%@~pCZ}2sklmW(qyLf?G29u0ot+U$hMJ&Yg=(z z7(OJyX%W-dplv7gT_2}2_j`OW6~fF(>lCGTmpE@N?MzgFxEEiyjN1_Cw*}sabAYN} zwzSM3wT$JkZK|r8`ueZwuFlSC_wL`nF#WC`pY65swuWIMub|*yZ~u;0T2i72GiFiJ zX_rqsUy%>N(Hum!&zeM9rS8|)Z+uMY%?ojwnX0?Ip{Tfc=2?Nizdzo?B2nu~m?K9?rn?&hDWx1BHU2x^UcvFbd ziRmprVN_`Jy%iUgq($z!#55I|x=ZdndBjLwsjRpf#==`Xz*~gTJx|jsJ6jHc)?M`Z z$$DH)RLsms^V!LsilTe>_($#t>@}_mQ~kH%Y+ppLjYf~}?&Q(K#p`7c9yEb7vrRLN#H?3=Q0>Q`!aXiG6);Y&N^7 zMnFp{ffMAu_AMubj{nWOEjZO5t85mZq5CtMIzPteBrME>Lo_rp8j^@Q5w#L%f@k~P zqaDUwnHe{4UPt-Xn4qagf;_OKHq(V&$V`IAw7N^3;@4SBPzo|HQiMDT=#s|-NyZ$| zv{G2-pc@Tj+pbr+IXG+qDA1(fk8}M`LqVOs+Av&i~N=j00om z7|>aeR0%rd4@(|L27?E-7BVwzSzKOjFKe+w_5v$}WU+(l;wT}ukifB)N|hZ ziT&#ABRE0y+fHf<*a;gZOEH(5t?wC?h&6GNs#AN)>*=lVB!Lay+FB$MIojGL8(tW; zsO=_bEw75B_XAtU#@favLpDD(L1{cX4%qa&vVol@VI^9`i@KS(JG5h{oS}u+$I6kw zCOb?;JMyK2b=o8*?Z)Bo57}sW`*1ibYdbp@K)|%IW>LnGIBe{PC!@Q?wa>7GkQ8M0 z_Z(WRIT1voVGnWFlOJIDl7134pZ*tb{r`2ibzROX=PE_R*H{|^AEKqL#e-v>G5-K3 C4{tO8 literal 0 HcmV?d00001 diff --git a/assignment-3/submission/17307110367/img/res6_G.png b/assignment-3/submission/17307110367/img/res6_G.png new file mode 100644 index 0000000000000000000000000000000000000000..aa1a477faa279600da157b786a420cb4d940e159 GIT binary patch literal 40866 zcmeFYWmH^Ivn|?f_+%*JucL~AW-8Hy-aF^f~Admz|O6R@JPUvuZ~u%1fal;Uj@SAk@#&;>sWpOaKT3UVDQ8e8Mrlv<3VJ z=PdeJ^$qaj^TsqBc>ngRw3agngl6>m5By80*b4ZN$3;TZMa99~#ofrs3}k2I^3~SC z#n#H0)XmJv*~-D5l#P*@k?j+yrHji~UM8mh=NA|qoGh5KkxL3dAX3n0aS>IItfOU5 z57q5Eq34@)Q`UK!w_1U30^!)d`6}UPsMj#sz1N|y@hde*U5KmqDN)q=m|xONmZ$}ZV#0{_iT1IYW>T{4-t=zCn&kEEv$H5<%sPn$dK3?(rq zIp;ojo;+ZPD`AU>13xTcA5OsN7#J8zmMkDja&q!W78FoKczC!m3al{jHXpYW6c4z$m8bCGU&nvqiPF@!>??+6LLuhI<<+y@`G*Ta zSfBc>Li_0x$_?}DDS~L^v)adgh;<4?mm7j`zg1VWgKD`Hy}Z2Aq{IMsa7vS<#>T-} zfNWNTgALIOtyZtDTo3|)Z(wCVF|9@pM>zb)DSG~2b&4hAwD559NXv>mlU>HE9Ko2| zEJ8|!bQCg1#-&d3$d9icNo$-oQzrIw@qVwYq)G@UH#e^N=a+av2Yp;ANo+lCcv*3A zjE-u1BI^^aBkV`8u!FAv@DgRR(bWhaPwC1CBrRU4RZ3o~mfi8-ZCze=fbvP5Wl1cb zmQ4H8FN0PXbb;pLd*Tw{Rem?-MgoQejXW4D;gijvO@-~X$W*P{JPAEB^+rO8OhsNP zX*5NF=cb@Ze73|@NZZear&XBe06 z?zuE|^a+X*l&bdxe6^=H!~3`Z!)_&Ye>9#y2tH$rv3b+cgPTPr{qL z+8X4=l1ygbEzwuE+lTmT*E6%5Q!O`ShyL~=lS2A1a2s40`|k z0>nSAV>2ryBfCAVRP?xML6S04aL;f*6C_l-smOna>=$t0R$eHCj}AKDyZPu7hw|4% z`hp@m-u7^7%b zKUHm;AT>Q?BZirFxrE(lYi!f@vFGx!@}oUR&vEr(gf(Ck91V%hRlopV_6>BEHg zJ^QzM?piOh30zp=d|I5LdjWs&H`DVhB~3+jbfpl4iuTn7L5^8_ufelB?MV&iQDYYw zn|pq_2d|Eg2Ki&*3!t;R-Q3>GQK2}K-dHfGCmJt!^%+`M|9CM72ANmkq4A%AR(vky zT-@A@p-1x`Ck?yIE_-9lu^F^qb6}Vo4lnRWGmI)C<-wUtAY%_VC-L|AT`*R5xi*?q zWyjvnMV~8Qj-QBjIXZ8~f`1vDe;eiSm1AltrM;cRi$O2L0S>;{CxV?iJU>Wb7gXtW zZQa$~{iD7f7j!m24_S-zf243bU5Q~a=~)}$JMB7{E;+v#WHK4c6RCfBei)yc`li?9 zMkc>QLY&kOS1=wvGoxNuTx@f?Z}WuF&ki~GmZCn z+YNb)yNiI@PrpZiQ{^u zZMe9EJkn?V2^{bQ>ptpz=aDDFvI?9%rF{ny=pPvPNAhwjrR%=z+SlLTVFPIiC9tmt zgT5Y2(E)H{JeW;TG2e7wuP%HCki_@l-P9+26dM~GMacX3 z)>@|0N2;>3dm;)u!%sNKD_(~T)pd0y_gDLKH8vjr{9_(nM;l!02v$;84=vNF^Ad=g zw+-z#b-Is}mXld@>zn_%8QfCi0qyzR$911`;JiFdAy2agzybIQ5e0MqkVJv6*WnBi z58*v0+CkMV^;b8Y@YMGCpGfB!NT78Px@y*x3=eECvgF-lBHNlD7aHo1S>+{{09 z_e)i$!Wce4ze!FDYxS4<}XrcC6`&nwq~3(&#unGIoY##=Z3* z@E-PyKME(<E}a5 zGD~d5;^UXUR;%+rVdG+%l^wcFnb)p0jQ%<6fu4du3`C3_6YmRHCUgpRm=6Se@dIvt zVwj0dR6H97FJ4*`AsOSsVKzh^fSAe1I`rXK%?7ZK<|<$n1g^2|>(>!n+}#Tr8s_Pc z=f=hY@Yu{f1adnJ13E}gVPv*q>NvbxgM_4%$1Ex$Z!e?^N_VBTC>rJqt`QH<`w$Vc zg5Y``SFU^Pm%N(sQnNF|9v=vaP_8yfYyWdgV7Q3ggc zNtwoe4C}9sQ??)-zN9_O8J-h0?) z{BnBmqSlM!ODi!3&FeX+=jIzccys#8rlVP}sP%Q0peYzXssL*58FfX}KOZP64{6fO zS+5UHYD)}j8yh2bd=~p9?oz!b9OvB;cu=Ws1Lpbpxn}*>A1xSHgG_Conh;47 z2v>q|e-=hBJN)HG`?9(S+4CVuo!#8L@B)0$@%k3Vr<{wm(jtd(V8X>A`!{l&uLmjR z!(3<-zRIE_ZwIkB4OJIBKLZK~u~KTyB_Cs6ugs6FOPh^~a&r{xZ|_WpNg!#k5b4=J zynIU>6<^SFkD%z*z-ItTeW@wcNFr@%z9Jt-nIa1bG>agOxFvJvIHo>UrrC zf!sA8hNfzF56xe>zA&kIxyb2>#;4%&@p{DPHdAC8fSycvy&@a;b>G50$v5Cgwg z`j)h0J>`l>P<~;wDMTUcBVNC%SDh|( zsYtA|{fIFSa4;lH9a%UgiqCN~@}sCf;pdQuh+8lCw+ND&p(2EDp1|MjH)j^+qxke+ zBrhHN$!a3-rl#?yrV_54`KYf-eGS@}q4;$$=q8oKlTs-Edbb0QmH!d2laB%wG&ZGw zlg*oQvtpc4MiI$G!DKN4X8Uv=!T|3>jQzvjHiOVp1^h@W2`!H!icy>O!d`OE1%-tk z)He#5-wie4iJneb9b2Mc&ZRoSUQE_QGkjm;M+h4v1T zcHou{X<$mEL`aL)@gP2{tw9weN|`uIqmlh#tWg3HMz?X0aP*+T?vaSZELuj^rk z;oc3N0w5z;SGyprZgD5qdRbwa$Vf|ixreoUuH#aFbE|OP?cq7}US6#Sh^%_E=Y`<` z_cTX#MdXlh(GW1H68a}~3Qe`a%Znq*QD1ivuw%lhBz;bY9v{JGOi<0zLy2}Zj=PE*n^kgYY>-UI(KdWdayZY= zJ4<`6&GnnX;FUpk{08$I&~DiLbx{F<)6<9HjOx{5bbflp0 ze=%Uv1jOgs1At*1UI(oJ>F!h~mP}B--JtE4`Oc__j3}X>za8F1%xCbi?;#|doN&?) z`V^(ZcMg<#K7SRW-Ev^W%AW2cFXOW_0*avara$rHbBX6#2gEBvfomiC>$nPdZ;C&j zbc*?ncCL-;dDp?;^%Mro?)Gar;0;&_G1R?Kcsfm@)|>x}|B4oD*>3cnIRVyyk5M{K z0H`kxWS^OCQJ(o1l|6ZXeO!h&gZBVx-99c}h07fREU^U`$wno^vk&^E7gR_nK%BhW zQcZUfF!-8tSB-S)r-C(w&%gsup}hh1Pxuj_)+!D*L5S}IXZD1KvS+u}Hgm2yOT$yl z%Hjs?Qy_-83~SWanNwsA4%%{o6Bcd~XcGY;!>N70a18g2T&C}OjHu~tZ;Hu(QrHd_ zL2zR_X`}=Sh_2}WW`opdgW`UTWJ{fqZ)4>$5%GU=A$^jbR?qH_<_j94#p=fY3ocCC z{vE_dp%r(cKO6H``ipB3qiqQoLJFkYU?BH@5LQ+wK6Z!AouSKrKqA!fn+mUh^nU*`5eelCQvlLuG`l_719 z8S8(MLTmlQ8=OuxzfO##)U}Dt+zr?JdxhbBjK>wM`d3M$Sz(zN7>u$$t0!aG8Q8U9 z@p@an1>6%dbksLPAZ67mO$q+0-!M#eJfSJ_`tcMYHdq!?#;Z4}WrDaYlb#bfqi8Kn ztGh8`>M}4_7|bhkJ*z?qguwEwJr_$-|BdF&{wV2v(Eid3lOXJlsuY#DEC>{iV$9?h z61_`;37@iHihfbbO|#ra5zflt2SrmZUj2fsjVjeImVK>@3)~&eRX6I+2wo>fQ0g)P zNh^glv5V&nnF_4j6-l16KUVa-i;>(SS(SpFMK(}18E);<5tG6Gj0;kpT4zK}DDK77 zw8^e>^Z8IKIqpM(YTM@7<|E9BM}zbpApqO;pMah8$-+=dK+cDe|N7oyp$XA6$uVEi z2;+?ek^L@?o+w`U>k(^k{aCmC05CBzXk#HN!nybg3#jlHTNy1fe2=*Nszih${FTff zUn|44VbTP5VE+eQ`*6Aftso{JC8Cobis*2lJITeFui84VjQ$l?XMeOmZcHSkv5*s> z2Oy|?;MBT`<~=j>||pO6u%ZY zm#f?-kro6io1Spnp-=riK(+O_p491ARSh%cd5SK<_PRyQ7M`#FyPT+-*!rS&x1${YHUt(X7Q9-a?+0FEwQJ=tv4 zDVjX)&6<=7vYHSiF`G|3pu^ysvo7Mo95sYWLB$)*`vs%F3%G%NmV7${TUeMk?pEgj z>ie|oE$UJR4Txr#jZndtRu+uWRra^Y14!6r*9~yrq=^Bee1A<1c>O~#lB`w?Iocwm zOpoL1#gk#{!;6gVJBUnGADm?A2Sn9nf=YLt-@ZxU2aa>&|BCbI(kFpU7nq#e4$ZH0 z9$Sge?}2#uHIP%*d?pn(IEeHrniPx1a%Tsu8mR2tG#ouiQIbRn)8?1WyCb2s8N?Pr zpRcu_7x<+agoj$xKjp9?IoQ9vbEP&9BToo_e)0=ufJtx*_-%8XSo1EPTtTvO#RlZw zT@SP5SJ`J1><)dVP^PwK3!qmoZ3mROgp`!fr6pZm@8cS7pWE_D7C=^Ld)#J9$j**Q zPR7>ty`JXwyf96Zl>Mt-$`jtSGI#uX9047!2Z{rjj1Oxd>PLH`|0&Zo8`j@|Fo0;p z+!*i0A?vgGi$7WC$O{J2nKgmJm_@y+8y*>FO-kq_Hf!pA}1&JN~AY7HXd66+8i`)DQ;s!KQTF3^PFHjkl|ZXe~7xO<7`HKSaG@D zpy^*8>s|lutHX+0;72<{(8)f*@5F0fmn+Q{KLbz}Yh5er)3cj9*+tlY1O&ZoL0|la zhKAe6%TdR1i4Q+&YTonk@OT{8%zo`en~H%-@>-9F$GDNxo_zgO)s6!exK63&v+|#R+TP6%S`R0%^l5} zc$LQb3At{FFcv$w^5^a=F&v`d{IkFc$nTUOYzYj2Mw6HiXM|L;>QHIv=@DUKV#cSZ z@4MLQ>k}Uw9PsD#+H!W9vhqAh9jH_iM|T+9zAcxVUG~*_o6}~MXt#@i2w>cjUjoA$ z=VX$6R~=mfT)!4|457P++1H$C$#(P6&o8^b)OwJVJTl?qTGMGO!2|TT6WG)fF?}RC z925P5MyY0?*YfSqw zt7~f)Uich0z7?6osSO`r)cPuaoL*}y4@(|@+g`;b?=rB#Bj3ggb-sjp{CZUac3*Ck z=TSrGD!FS>$n)1E>_D`U#*!qbz`v{BQ-TMTMtAeZl9|#VX+v=VvZAZvuen- z@vghU!N#r+bP*wzHlZ4=7yl+rq(lG`e0jVC1$<#_=-NL|)%SWU^e{gP0?}*y75DMs z$6?eB9~qG!$`K#{qOG!&IG_-oM$` zQ+`Vorvi0`Xm9Lkl5l*Ha&kQMq}c)|JU)!lbquun2EYnP(YnR_nCm#?ngu2Hz%<;- z;4dbdy#Q4Jjy!QtOxVHr7>=fdO{vqT)&zV`DOf9>KpR4h*@ckThJ}sd`EHDqDDmUI zIK4f0GdQYMZx<@S@$d91$Bn=F>3h69B0IRut1ap7$@~dN*S7R=l`c0NO?B>@%^@lUp_euJY5g zo&S*psP5E%b-$)2xiGE@(QXB5lEMmYg|R<@5iJxn2YtqRW^8pj+4~u3c(RPo4Hm8> zdv|OeHG7IyEu-JC#s1#G`m_U{p40g5X7DJz{dih#PpQE-zSwH{)uu%L3`mRk6?=;c zs=fjaE+8j99p<8QTIepe&9j&C7$;CBKpt3j39uYJwFI9lw$oNGD-yU8yl_E@)Q@^T zM5lW#a$GW6!F=~0Rp^*sPVdjlwFARencNo;7#2Rv4x-`!#dLO2@bo*@|JG$TpdOM6 zd?_c7#nkhH{(!P32Gx#j8wJ=?noh=PZI27k-YEse$23Pw0WDc}vK#V)(|X|B+d;Xc zvoU`tVzY`w>A;?jKNY;k<=_%i^LW}_5-loDVRUtdNT_`EMy&5Cc+6azOA$|xTGz*k zD+5cJ^bHK_kX;5xtlN{Xm$u0PgMwGRT41NZ=u!1RC0M><~4 zDQ4@RuM*1n2JjLnq~LeGSgd)NZLv@+-aa4H<|9@xxx;#;)C8?ik3Q5yJ@{yg$(t$tq>f(jwnSq>>6n^vXOu z9_Tf-#=gC{KY8eKS>UO;f-MR|FyvpXtlxiJuQxP(86jLj;)BsLIIxQ`WN(#< zc;)U^<|0~PoKd`x?*y?P0+RA9;Y54tmH#sfQ24h-Wg9~>7a&UN+@%lB*s=;efs%vP zO0#;rK4qDF03w&YrDJw`FgVEL5$edzrX_zKvO?kYLN6x#7_vBwQ_2A8<-iK%hBviF zw5zC94W!it4znoKf@Y9+WEI}~RfTxii^ms>l)?M#wZ!Vo4b;?Kn;~3dp?$F5)u;1` z7aJ%G*XGZK+IPq{!6066y|FDANa(Mv#sa20frFD4jihtSe%Jd2jR$H3J8@VvSmBB2 z?vMHBrOk9Y1|Mu4I*{j=eD|f7_}r^!qoeQz@DTC+)qVz^EsXqZBKqRq92)$&%u>&V z4@ZvVT?=Xcf11AhuT9@V2F-vfo7q3?iDQ=X(vIG;pL=q`$q9h#e=FXXRCrWFx<}IQ zGdFjP9c`D3$%%%IY5Sx6^OT0?ShvUL9E|X?rtD((r|W#1eoRMW_9bI~KcEAY)>#*- zmYM(t>QPeX2X~RP=Nw}(^ZdX#we~_@2c7nYL=`&RJ>zG~gpD6CD&)c|oc7k&ri7M0 zYTsA*ERyq`KOgHhhlo#Xy0-b@a=duQsQ_)B{C;fc8f0x;3R{4tb7|+=+qO@Z{fq@x z`j2vAMG|m9JCO)wp$u)yRWh=%6-y_knFKE-v?8Z@oj@2+bHh{p(I2OVW8Ko@9}H0G zrbnl&r(2V@-uI98coVzBur9n)f)}) z&(_x%Zds8gq};U+ikiM*89rXFH`e_M-1UGFSzCiqr}Sb~2@u>~lOJBf*vLZvHuwzsMv#yZL#YRh#}Gi~(fn>i7oB1c4GnkOh~$_$J#ZFT6i!Y;i0g!yBiw+CF=76EK!h zpGpbPHQ&ARFi}SE6FN4pD_c9sRtW-V1diirlC)w?6Bxp{9C@RD(sSQN(&bI>zB&C< zN2#WXY)OpbA_5OML7d4LX_sdxX_auwApxxQEdx*EQBUp3M=N`p(aDPi4KjqD; zs4QghKwp^tGtThO*%d+y6BKa2O&`zc&H1hVIY0l(^AdPnTc$U>KY3du7iOT*&3F9V zQJU+Z)2r_peSb(=T~1gqra662Y@A---Q_x381_<-l|jH5Mftr*@Q883IsAh zH=7u6;D^3$fao#l^X+!9^Ft3On8@3l;y6Tzr>r4ra3JXCZ@RS#kg%>KLTUb+ikj(N zM_^<@I)`=s*|m2>&t9!pUL2#v)pc*K0hw-B!TCM~{ey-7kuu1jr%yf5x?Eer=MI9D z+iUym4jZyoX>JpaL?-vDl0tiLE(hA(Zv6yNp7B#|9yRCNMXR z4i3J%HrJ^$I2Cv3@OqKgO66*MBM%-E?0*E1Z@ERix%L=0mdlmfOw$*G0mtQdDMZL( zR^(-b544nuyJzSvl&xO@)5BBs;Qxa4H@JT90Xn4RBmXXuT3&d%`E~3fb=g88@jNM) z)OUs7TXFU_^~2ch)#M2xv}`wN=J~UiLT<`6uTyN)7Qr`Z6`k=QD9)YfXzKJJ+^c%*XX`3Pg^~5Xrl20F4eiGXP@_;NEaU4*!{Xx_-Mb# zMRI@m==qJxm4LyHBc(#q5RRx*90d{wuvk2Xs<$~XvL$L=3eV3qtGkiq@Mdq%c^_PA zbb)Tt+3n4sp{z{&d(bP=&KlAJE%lW2&I+gCQ!7f+i-q-HYCj12DxU`j>|iw%gcm^vEcC0(VHCKt8-rL`ec{jKfM?s_$2{W?M`LUcDAYR#ZN+PVT-|7 z-maz5LKA?bYpcUb05II6ZpPM&bYRo~U^*3}&MN@LW=*`-Z)0+=iwn?V5WY@re|EQh zv8lQBjm&u87S!A7sUEbEo=L#=z}*>T4fp223)^FME?rK$`#UH_PZty#?@b zc-@?EUMVc2bGRHqEkvOFeX=PjRp-rW%#^Io7u)0eo39$UL~2f{1B z{M7LF%>Z`fR9t)7>Ov`VF>&y!;^keF1 zg*)I*b5P?N8%7S?WDqsrJ~=#8xY@ZMn>-}Sj6ak`n)~qHg3nHK|CQPHsM>h@te5Bq z3)5Lnc0^h=IwVBlu#>_rmhJvKVE#=?Q=ddoJ^E?H5s5mE%eBudXVcLsit0$UFXyeJ zW8Yo3USI2`n|HtmE?VRO&|o^7<%<{JC;cL~OJXl{$8;^r)ml0A?+&`=IKaW4;Y%X~ zAItL-@UVP9wr6rij#gnqO{-z%gf+qE1|Zc9W{4SHCI*LHCQ4)KquX1nIKh%`=;?+l zrUqz65H8F6XRo0E06Ukii|66b?@@5>b$(=FvQ?Dsn)?`Mn+uKP3I{`twEF!ni$CQRYv&>Ht_*ViyeK3mgjo zSVT33cqkpNwdrIs4&;~G5oRS0VQ(ET;q=56gJWxopb17iv(Z*WNbIgtu#wJKa?5&OLd z>TF@!zA%9~cDHqgv*v~W#mBGpXf5Sf{&8~uTiVmS)tWI#`T&`=6Z_M2r4?CL>$~5z z_w8|2+UPgy0=51U3fBna<+?9iwl6DomHw-NaL4DoVD~I8+)U_HfgZXe>k88N_BH@z zePtwuJ=e28&i5^r5XWzT>v^;9T|2FOjHy9+c1cf{&fpe-YI+?W+QkXg44jS*y3vS_ zM}SFxGxeb);RlTrg?QZa7Ajvpl58H=A20=um_w#VgFvP~P>~bq!6@GaD5*r6RHNf3 zjC<6iL7+4^dQPhAJn{~tY*3wGKu)D$?9|7UH$@ZNxHCKEs>7M5>Y5u?pUB~=aifgn zng3NEpvpE}v3BjZ7$D7^e52(BI#t*3Nk)-yMj5T|(v8?`J4%1!=(9}uSEIadJHaaT*5iDSN>P~EX zzha0{W^2kg6H{UG)#YUOJZm~=iA(qp7>C2kDQ?=Pu4R`FxTBXu2jLFLg}e9R-w*e_ zh0$K|(}CiON5LN(I7l6ak^Fc%JVs|2X|w45-eZ06fOnV*39zh~>z#-fAl6~>Kxv}+ z)YJcOULKeNaB zFcX*=-9F;EJ=w{0JP1TQTOQ^raDoy7qoh?NlfIAjFC^k$-U%rHX&S$>x4>t}j+wy6 zY}Yn-a`@%%*}|L_u&jk!ZjMRxDh9)F1YUV?(tRPyWSc*dN6GP3iV;#>Ag3?Ukc;d7 zbgd{MRS09J1^Ba;utn01Nn)jK@9$6X#&8XIJpR4?bVZ1 z%S4?x01rR&_Ph~J3l(-Zs9cja3DCuI6p?Mye_;LQF;KuHeF zb4%X?i-y3@{!tQXmY}5-|5jFaC%27X-aZY-Gm?@4)RZ)0M_=tt8E|88uO=m=aXAT> zd*jxJN+2RGb3AY$7fFgroaL>C$ax81*9WmVAzBVs-lY`&BAl;FKm(SLEzByrUQ{hi zo;Ce%{ZB1p3%=%UMp&+Q`0Cn<^?TS6Qh4R)cz!e1jf)Gz-#6J6cAgJ*kPuR*qJ*bx zgG6pC^2XNrV?U&%w=tvqQKc^p@NzF6{U)SVc6K2~Thgm7C`7e?OYS7^yu{TnFuP-a z>A~K1e=u14Q}Xv8Fn~w)24=nOs{Vg3-iP353JL`pxd^VYF{Jt?i%%k~}X%+oEnBP@ey|ajgNR z`1#7fvgXT8u!qC8eRHEr$?OKKMj$rD8vx&RJz7?sAG8sFnHz-_ub~Anq+v<0w_H_@ zelmW-QXs$ifoNyoVcRv==9)cWC~r>%nf{o+^OY_3=$9Cfj3I{z5ww+n06n*|5_`Vc zyNSnSpxr6sQR(5xHm&WJLI0C4-8wtu?2`Z!*Z>Rq`6_+GcZEL)t z|3O-xx=>edep=XKx{VMBEQ}I`fbno?1x8?TrG?D6#_J`gdKWStPNq;M>XUQX=KnfV z%gyeV!dm3i|9cCSJ=|hU8ru_23B|E@f*BnS{PJ|_?+A2BV9L#25YULDyQ4mAb|Bih zPXcWwKz8@I=%;afIIbJyh5Vl_8x8`YkO)YP@3g_fAG@c9JF(#my-w>2wTJtRzw!fc zR}m*FQ%QaZDEN4ZR-Qm*SMsIqKD$xx>K3IK)HMsts{Gyp#+NsnG993NBhLDs-F75; zuhk{sqNjBFBEq`%jBs<2qSZxg_)2GUr>~@B^~ty8TFxao!>YYBgvyWJ^C^2!2gJy6 z;`Vr>(9gW~kKnP5IzipzDR!JAV0wD`S4l}Hf7ss_gkbOo10R-J`{e@;5PRk@bLPWK zc)Be0aIcKfR*5h<=AV!!b)BeM>t*@W-E?_yF2m`I_9jPE;1Sg!lcl0^^qM=GVVJ9P z>?23KTXNeLSz1YK{`r2fSqvR6FfKc_R5eGpxEqtq;`*dV{qsP{$&XkvdN85p-J}7U zWc!R{k)==UWJ5E2jPgz@gK79b8fw_~##Z=cPev75z`)!m1^8dPBj0P*+NKwo6oAQ< zGxWSmYUSxcUQIrAHVNFd(T)rYbo?aT=QSJT#JwnbDt1k!BocpwQ8_Kq8F1=`G=Z|I z)^Mcedt_%LPkYLLfWtAkQt{^2$y2T6^XFf_F6l+yPcnr>0*#ogUoY-raDmyX9eL!$ z3C#G6bsnrgk`F1uLAS!elH^D+X(%A7ph0qLCG2Hl=W3wkvgE$%3x&v0V<90Ua}bb7 zlpC>aU3Vf&RM{v@&*Z=NP_vhWK+J{?yaVF=;j_w)UsCd_vcHg1=()GU!R$g zKt`S4R8sO07>amGAEkg0x$*WaPFa^9>%i=H;7X54i~qn%0vr1I34(N}%k%R5fB1`u z1?#AfCA^MbwsXFve0zDJWnhDS(^hb1n!jtP?m{PXHfg9mlELQSR>l*nch;5^db+>C zy_S{xFW&pT%*Rzp`%QiCsvRJ9{`I-$=H10`jr(rEVImS ztD@izXEKooMnjCZ-EfBg!y7|p?)NTPp8Hhc=FZ}X{^W3~*f%wm2^9s1dCyaSmWZRX z?F9Ug{d6mCNR>Q*4$s`oOz6OX%)=}Y5_44+XqAMhmHK=N;Sx7bgDNh8ZWGz)0z0-d?{SlNv1tVE(J=BySp-qjSV|0IrX zt!(O6aXRmh8mMe@@}LgDNN;Vgk=-CfaoRQTwBxrPoN-P2{khmL zmedXD-A_|#z3m@mNKD3|t207;kj+UMotD|vIHvoqHSLi?b9_>5i6c$lshdM2n4t(Q z%YNE-2iKx<*e=X5+$7m`f|2GXZyPaTkmG~WwXd(zFQ$VXpY2Q(E5ufkArw3rlbsP=f^1+{TNyTSPBm(J^`{p`&$kh;E$hq| zNxqD8Z2SXS8l#f;M(9?0 zQ=3-_5D9M7z2>*Of~RC*&Gj{c3RQi_e2F7qIu6~j6~HQ2$c1|0i38&Mx+`xjt9J5g zo3O=Dw&mks_f}cuss1DTwCIC^vxpt)%wNr1PP&N(MhsNb`>^(9vWyk>i_TY_MK*+E z25(re7GcVwz47Ul0@_8x8Uy;pvvHi>b*0WzvK}j3H(_A((EA z*aYaooq3o3coWbm!RA}eaEn}7QE7rh$s)0;VYp5Q8UvRbSMB>Nn$DfD+3bE+n}ye0 zyr8e^6+ldR>acs5CzgN|sERrf;ymV7?C~$g6jsBPJ{|g*(d-SDUUwB+GB>WV^Pf`! z6s`PpXMFi9z78iPSa8+tg3T~cwrt=|w(LQNCx8XrMO64uFp6d;zoY;$w|TGiv=Q6X z>tD}!4vUIR2cV3?D(4CGBv)6(({D>DfI}DGbA5qIcp8PgvzsA2vTOp2VL|7M9R%bL zi%h{p7NGF*NM0YS#+p;YzaQQafiQCGR$`6b@?k&@Lpbc-Sob`Fi$9Kp{N9&U6eK^t_Ao@6jR7hNYQ(p&c_pQ`pzpO+I5W}Q-{P7cuejn6ndrI>y zK%NB_lD6`%Ve^XHMHtapf{C=iAh)0^*~6t~Ft<@ocHCrOTLKC}^U*KZyFMaB5@FT( zxa1D=wxBAL^9Q35x1jH_j>O~wn?E<^=l!?98JXnbxG%kh16jZ0@*YO=L?T4#KgV_Y zTRUA}g_Dxk`iJ8eM}aM&T_+%vqyEqGi?c&EuhJ7urb#XEzU_pve*5sp)-p(iPcMIrK~*xayULcBP4K| z_WojltD@k8RGXFRvsm9++IRj+u{(MCzs4<&>~(V#HR5&zxRLhC)T60|ssanzjZ4~{ zx7HTxUb{!fbHFD(!^DwYrUIqvO6v6ZJiUGCp-EC-?+kW(xf})quKjN)wvldX{HMp#UnOS3)ES!q%E=RB1-ihRW0 zE~{3AcYlb1%rsYbP6@T+e=8=#Px{XafAspgxokGwwZ)k}no~{Zj|ZCkLdNi~GTx{l zWG2yp-T^mz#r%>MA>4!@tJzgCQDef!rlr}N&w+z|5h6#{F8i*xy zeSZv<#21zta4)7lP6@Q~=b2A1;C1h*&n;=ORu}psH!B#t;FzbY92zux;%3_|;GA$* zUPYppk-PAU)R?bZbH>gz28fni+9>r&RsftIRdWRfNrAsCW_%xR-X_9@7pzBAn>YHs z7`c4&5Pa6C-|M>jtqZ%Q^!(S4Wz&@R(ujvuvuKOO1-h`O0IJw}?C14@6qWUe*QQKY zuWUbWH=z@{$?g9Y#Gkt>oOE-^Gbt{E5b3q!QuT9=Jx%(?Nftz(gofYtP@>ttmLrQ{a`w3;z+P@2}9mP~xMJuf*`|)H1!F#!C~@qoDH!Ui`;Y;%fNAkA<(%Z z4sHYT&74<<$((=@i#*PV8xoL9ZTp1p(iX=6r2&uOyR?id@!ZLx2j;0z4b9q3a-#q0 zZw=I&MtQd@_>T^bv`NLs_}}B5DQ@-;S2wnPP`ByGAb33kwEvBD(}03Le?a2zR#<8K z3MnTbGsUY^et=-wG3Zss@|8Crw6qLFBK@n#p(gv>q9@M3&-AXm%qS{uc0Dmu(&j>Y z2dbaNyL6-uM`1=*Ln-=D%k*090<~Tms$eCfFJ6D-#vzNxcJ9~nVG|CL)B+%PGq#Qk z;6mMwk_V&CCb!wX0$HBrW=2`p`&8Upq?d{-yZGGFHwjDJlYCclWN9VpCU*gA4D~lY zJib#<-#|8Mntx`qC?~lCFvU;y(+oLSKAlfR^~h3qdjugmS0y}MC|M&NKlYk^IU5Ja z;t9z`QqI|4la_yHo{oWs-@B8XS)7a+i}X1N`P4~No?K_1%a*KKOo2Qq9tG`4Z`Ej8 zB{Ix}meIDZKttO87>We&uweCGbxWVr7%$vJmb*{B?Ot329@yz7--BywK_p_6&Y9`& z={;2B=lSrxDab*eC|vjf{BdEOCVs3HuSb_VloL2nFfblW_I~dju@faA zYfwj!ms>o&1;xLI8?Yihjv%Abcl%yMqjxNj0YR=lK2dxpV$n2awnc4o!TYxjv765u zu5Zj&J?T>B@F{~;vZJ&--+hqpJM<;jR!92_KKk`@T6A&@IJvd_cphR=3pW8LsV zX7j){h)Uw_7-*C1w~`aR#XjynJ_E<<^Q^i3#o7=dUQ{NA&(r~Cc%p{WZQx{ad(LgA zYn{6I(>I!IyQha5YrC0$n1$xJiVaQR?Oga;_mh4HyGd&kbJQLn!vzy3k@1Y+^ubGO z7vqenHmbU?Sd(4g-*8{Upd{yC`ypK;G%Q94{Z0Q=ga5t>>SkMZdUdyg$K_26kaH1{ z&j{A^+U!~{dp1uwiO)YUskjPPMwr~a^!DApiw6QyGuh8;k~-n%`kM>}U<&TD7FL5+ zU~@h@A(KPm4J;fPM`r+80h{B;aE3fLza^3}{KQRghjW2V1GRx5q0VX<((N5)NjH+O zF`<_ado;9&hKvY6_&(dW&F=clhfn06oBB~o)UN8EnOM}~ly-OLgW0HZMP_R(wZxQ{ z1cO79J)+yH(UTy!_Cj?t)7LA&W6UBp!wKd-7qd>eB9^3Fg)(mV7tlw;AZcMK(AlE|nG0Iq8P z68LGp4uHI{hO!S2f@-aqVme99GyKn2F7T;D$S%96!pqlw>*_7V7(l}8GHIXOE^ql! zY=@)=i)(-a6;GYkgmXRvIa;X?co|N2%%Bl2TBlp>w&KaR zwESGisf@fDNdyyy$m~I=#? z!C5Hr73e2Oh`ldpo!$3r3h&caWNhE%t#zoIHo8ZPWU)Fa&x5JcLbf}Mt)3&>7~9bv zdfxX0!v{#YeJhp=FA;WMiJy6pKyI+p;kQ%StEUtlNsKsXDHf>3avCcA5Hp%kLuq=T zMxm%Pp3e<}d$ho#;92bXXfOdZgpqg@KEye&9jMOJOmc{^G=CzXX|t2ujNpvhJ^S$Z znO{%bw2bGf>PU8h+HT;z#I5<0W4D%YZ?&xUR#20d|-^8)%qA_gFf6PyH+{4Evm0Cq5+qalK{eBPnBnF;Oxx=b-0&T z;@JAhl^ykC*NjJ?$jqR;qkt`;vW(IAh675~aOomEifq38znJ>Us5rV{+rgcLpus&r zaCZqB+}+&<2p${~AV6?;7zpm}65QQAxVzhHzI*Rl?-$mb?&(vfWLMQLLw3yP?nxj+ zeU#X!+c8%aoIH1p;Ol>bPoEJpL{A)z3nUlFFpIodXLhVG8f?ZonnDw@v|DYT$CR}C z_Axh^?QRq)sSj5?nyhBp-wq2|4lB#ygYnE55wd^DD<)YMP$ty_npHoC zKfT-PXaQ5AK4BlJ0MP`}oPn|hHv_6+_2TOpd6{Sf+4nTp&RS`79D2Abx30zQt&2TE z#Bk~I!pcQYr8ndOG=JZBJhWRDJrMN+&M3|6k*Q+lZJjxrtB-E@4};l<paiV@;%hRLhNp{U0suej58+TXz>JuFX;d(09zJe;I~Tkn4n?ql zbME!Z7pqNcsrUKC^SGp>3h@OgZZ2?wws}F13kkOx|u{^-dCvHjrMDYpkVd$)I5SIG46$_SwejULd zLJCtY4=2@oU!_ob-Xp-y9p4frifu(Q!>iphN?PYZnI)q3WT1Uw_arh1hlD_g-fF>s zA`0MuLyRSVm_M2p4SXvqIB%{d`!0tZA)XluW8#Cp(Gf=cqa)}DiH79TslLzisxTXG z)eob5&gkXeTS$29lK-yJ(-^@RuoB&UhwQH{!NyuhN|b=^PC1(?G8=oqO!8gAqx?f% z(4>%;!1>w?os;*iblh*eUaItez^dwUC@iw|y^4Eo!6)f4m6o&{m&w&hv~*I#>1nTW zxw+uqqhf%iK==A4U7L{#=wz($Aqo3>IF8^{Kymf$$`gV3eafA847HjMfjXoo&iGHE z5&<+p);#uCEXlIW_~Djdu($`Wj)YW+ItEbobKq9G2I;eay_TH4j&!xq;o@x9+rMgh z5Yrof?3ezB)|7Q~_-8z|!2%lyh~J#lwTLE+R;1wz+BZ+HyXWx9?oqw5n5=*}Er+qc z=iFP4IIJ*t?xI#DI3I-WSJE!ZR{ptjr{4S33(Nce3YPhcd6s_z^+q?I%LP`A+-|*w zku!Dvj;-%C#W6@q7IOw0t=4G;?%wT{v_8kT0{2qp=b77m>5NdT0b-8v8g9y{P(5F{ z+~;HLQM!%2o;|sq! znU;np#cguh^)e1pIcJ)g*}pGpJAZC;E)mYW@A@#@4o3Z;a+UI1T)wvXvsL4-Lkn7t zDZl&raFHJLdm$2~8o*IePM=g~0Nmvf568eF%kHQTkuvtYxPFfwxx$3cJ2gwZ18ERv zThDyxZ3FjJzIehb4uANLpiz;i>f=-sZ1DLO|L>$Eo3X!cHLfN@e1rJkhP)XX2~pGu z^MA!3$#&CijBj`hj~jvTe$>490W}g0wNX)`#TmNUH294U8#JD0bb7X~_IK!gw+O5J z-`~7OmzcL`rPsb4Kg#nwC`}Y|uUEv(h*i}6Djf~tJuj7sM z6`daKum|F-bEI!Ruj&Jh18OD~f4*wa!LMzLD?(y_zgl7er}J7i@^{C*oL; zaa!y6zD9+Yx09{1o~_b3c<);uow>4+knx)2ZrXfDKIZ)8Pnq95 zCO-xfWypUL9;aRFTUt*og=ap~(i%9hmA~M58L$_=}v8yj-xx7m0WX>4QmP7MX$fud8xg1-2nc6Rv`5}?KbQ^fLSk@5!1i4y{# zBps`zBGg*jihlBJOa&Dn_%+DqLeR_VV2be}>BJv15Ao!zwm3Se=ml;K5?QGMLAJVbAD zbUR)fOrHgLrZ%2kEy&1DP*`Z<%M;pOJo1+LPC<{5-w(-n(TJ$tLIp`@Uya(ChR*b!T$J0ALu=U@j0j{J?#9er8$0^4EE06gEk1^@P zAx865X3wfyS*QL7|K9rE1e7kjFn})EpAU|!=Vn$ZfcB{6*F3mb@e5Td+3c?Cqz#N@ zUs}$Un5(8AOAeK$Q=tyn#~qT>CS(5u&cZ>}0$OBN+ekm>hxA7(38E4^?g zaZCiG>HF_VErxhy`utG!Pu~*gR2Zav-28EhrBtLQ;be=$9(uSUf&f9w$7DVT;Fr^< zNTIBsS(m+W2MsUwQ^`5;!u$HQj5(0zjzy%6Wwd9k1c02Iyl#@j@f)^Uc7b#4&5{ar zbaK*Lrq_HnF8Yo~K+t}b-*%;mLpEpfBr-|)=@buH5+?ntGTAffovIxn3rs9;K*$%z=5qvd_iyMbPsFUonjQY#?m= zz4Nn{cw_aubnroq54lUB%L?heF(=5@*7j$Qv50<#lPeVy(>oUz7vfA4&Qv4L+jbT? z>e#-`fNV25F95KeuiwudBNZ-X_pAU;ap}lqU7pmyX_=!&YZXa<=OXUlgvqQc(cFZ0 z{;`TO9MwlDPU^d3EgHl&rnFi8;uKNT_BN8)d0qe65~nWyq<)KI?DLVuO^_cJllS9M z-wn2f?CXnEeJYaz_Nj+xTFKbYn1#T~L^P56d=A02sR$bn7hb69GN#T?Ob`0AmD}mk zfMOrARfhcs=dT0_u#T~>GqO_Kn%7QlM*TO#MV9ccKQ>B}*r)6K_p7zoed;Hj^l zb1Hp^?b4wt@7577k6F`W){-y%Aq3*Sa1j6!m4Bm&Tnb7pI|EUk>)Fo}Irdp3wLplU zkrhfLt%G+7>MY};@bU-0d%0k}!K)gHc0E7^uSu5-!rSxMKAtK$yIj4=5CD~!>lyr0 zt^It<79C?3^}HZ6CLPm?olf~xf~qnf*|=1*6w()JdBHe-2v3V!{juZd$QGb(YBYPq z$H!l;3W)jtnQ+*VplhWAHID5%cIpK*ZpEcj^ad9B6=udAeck-Aihn9==)7C?wT^r~ zj6;R#9s3vxxT#HgwwNkccrGFtbW`0Jay6voCpO(WP0`aczp_6G1*5AIl6Y7(NapbX zP;9RrD;A$1Z{ERo0kxjTgB&ivp=F<|GkFZ22{rgks}@<8z}U{W4yqd~UdEA%(CU%0 z{`40-LNnQ83rdQL@&mf(-biNdUT)j%eZ7G18g^1__yzk6nL7*-N1%;sRW@Ge^eyyp zKl;YSm5f}fqcQBd<=^0_Y1`Pdn4H4zf)wn3b^YWCOmZ~C00MIe7wAX^CZ6aH!I9v$ z!MmA@k!6|!xlzWB@c4R%0WTtxjEBqMB~Qb9-}bOGC=q>t*LBCGM@l*#7vx&w+GUN6 zZFW=32)j{d&i=mJ7K8|TYm&ra(EbS|5e)%8r@KRg*H9qWi0-!hO|l^vUbuA@*72pn z{(C+&1$B^bD$yUeoz;lM%jUP*JitvgJ`KVgRgr^!5BS~XU2#^FIEq(E4D;s`EU5S? zp#aQ{kv@SMR927qC)hv|$RXFChP+o~+lm=~M<c*DaAE;oAzUCQkN=K~c$nhu7n**%^?W&r!*4RF`&1*(~eK%^Et98ioH)$x0!!psPQGr{QSl(y;Q^-C3h|RR$Me z-Rkuio}vXst>wcGFkSH6_5pL(zqZn))I3m9KolOQRlMrSdvq)YKe?t83T7b!L3g|* zXaNGWPFqfsxiYQi$tFDC+-4u1fX3KFr$irzAzCbj(XOb8WB}JzIS=Ge z%?%rPU0ZDpmQ>5IfoZpJOiGhtB{K~Y_5+0~V!;KV^?ZT-0Bf^S>RMd-rP7B0P6v%H z*eAY=Q4-@yrC1%VM7vO}&`yTR6r}*0Oc)jxPMjx*k}w99l9G(=@X;h`fN(aYc6K=B z@_8vy!_9nlxJ8T2RN%7Z^s+^HNn4ys1Oy8O)9!)hA%$CBLuFxo6SMMYbF1s$G;Q6r zaWLinTF6wfzx`aHudLoNb(>;`=i=$xQyv?WvG>H4yIr&QN1fotPH@9*2(M3b+9!`F zxz@q%6i3e2p0=&$8q1;OSDXurbb(eXZa>%e+U6j!hZK>%p6<$*${j-(&Xx)$O6;Ld zWd|=zS#p~f-Nut=f`W$}Tz1bg2dM$6fIrWs4=ceB9%)~SUMdFj3e2!}mwRhB~WA#^3qZN(%vR58N z)@?Sw7uT7xbKrj5w*UUz=BaQqf7EMlWC@Ns@uxtP+OrHITe)>xnf^`Lqg5y6vVBcG zO=K5yjJrQjDH^O_-WB!XxEa4-`@Uy%;(goxZ?9|S@q2qt-D9!1qb97cz{mDsfx$zF zGc6|vrxMNCpGmtxD|M~e??0CfiJlfaogWY@i%@9 zl;rw?VD>!e{NACb-nTDNs9}s4HuUO@keL~-)vjf5clR~)FsD6Se$A%oo}+XxWuKU{ z^4*P>Ga;BEdki|yoYLruY2_C7cILglbOW2s+9?l%=L`AqDMQaEc)xGt`1K1&JMhQ; zM-9qu4Fl!tr;(BXK3ifo{9xRm$ut#W9aJq3~itr+S*`*ol#!_OnI3 z^`pC6Z{}9+E__fkrxDs8OjulB4-wl6_#NOm0hJ6TY6aq_rKPkPZ2$) zuC`J*oV>J_pBCq!e53oB@y~LW9!!P|-aQPvN8WFP>em(IMBOzuMoVb5be0#rzSj8C zDiwS~GfdmyP~G545Gd!d_;Yq^wAsRGa2cXwRIo4K?b znBmubbBR~;ijB9pT&)~b2ame?8e?jMTZ>=)n8VORlVNp4i0Q$?^^Ev$uvsMKe7U?P zFd!2Cr3Hdfjib#-zbd0dHZKh#56tftHyzG9D4tOXX&=W`%dt304Q+`kt8r~!jlSdg zp1x~o>*f*Eh_`vyz`>SCuI`M{ze{+guMLz?GaD-#ptct(PN4pr1X-OW5%2jn2Jn1n z8?J&*f*`>Nhk8bo>}?!)s6LNjls^*5nTPpIe#$~!Y6t3Eyvv6!7n`|xI9S%N{glNk ztaHsNvtNJldsXKMWD3fDBLSER zs!!tQO?u*ih#!IO9ADh#(q<<_Q;(`^2xpI^HiB}5I%}u?BVjlZE{zWWEkP?fRfupN zW{WT3REF75$|6wZQ~fI*lfQqy3y9TGwYXOfLKQj8=$M7#G{2Sfl-@G+3m{vuj2de0~p)~)k(+m&%4yv@z>Ebeg~HCNx0A!6;3 z;8p*Ym7zW$OqDmpv`E!(%08)z_WYf}%jB_4_@VZkuux=#8Rp#YNB#YqbC$m7H3usly(Vt8SKM7A7o%`n#S_VLbsQCG_kZ9As>4H%wxc{h9hEFN4hZ z4!4kK2(G_kgeY6$t8+o=o*a8>G?ypNK>~eXZ5d-0S=vzB2Ls*5X1|Osl7T`b%XYk! zboJgfzWxQlezK&@M5I>^JP^CL&)m8)SaHifXw)3@EU_{3o~U2qiy8~uyYe-F(uZ&g zvN)mk1wuTFzJHWePW#zlAwooGP;w~H)vIwk*W6?#08nchUXOK6u8h1yte@n>M!L3B zRLg!IE*<`SZNm3R_kO5p%*M`aebgJ*A7Zm9*>WnLy7%=E@;)S3ZndPOews71{r*g< zo%+m#=;&a&%e(kERt=L(;ZAZ zf$2DTt@{*C-tQG;Pf+XIzaYCIk>kflf-}duR|^Y!g1*ED35-*DwjYH}>Y6g#v;pNb zzBxEboWhyvr$<7JGI;XYI1pW0u--pSU$QbreTlf~LRaz-5%otj7^P+|Lv;d2sRXFK z`8KphB#_I_RhQEjFM*nwTQZl7S7<9qS%T@D8!zwHjIKebU*0rX-&dqIzJI+}P&(tF zm^}vNVea^&(K|(RR@2JRX=FZwyXCNEZq`jYG?}nGI;o&9$p9Vk;o_&E=~4|%nQ@nS zsM#{oPvd|Q>h-Noc*3Hh>%~@4SyDcayGdIsltH`C+DC*Cq;zyJEsy2!N%;Xwh&kJ& zB-X~0@c}|7L^ByY4&@ zHh{093*JBCTig0)9WwZKEC-^&Q!$$|Dx~DuUovSllb~`7KF#fP#?IQj>RNs8Jkx#B z=gv*tC~Q0FkYWUiGvguWf|X3S4$;A^5^D){pj6fCG{$V+WDI5!;7CN;o!TgQhRnS zf<5U&+te6!);6Fvw1?LmL|epDL?*yw8Br?^oX1w;9P{H$GQE2@N(Lr8;1}nB*lv&% z7gg@Z!`$^1SwESbSb)}t4|G)~RbuBZg0olt-8exOey4fnlTRG!m!?>lTklJ$MowmUAP<&wQlliA*Fm^l6CNC@hwS$97V8X(I5yV|xFMzO zNqL}jEhO1ecX;{qJN+SVqMYHmTguyq$N+guyHyICkamFb(ZeZE^*2j9e%5-u z;-@Gk1!Xo++s$K}tC#=St|_qBF2MPkKG>@;8ahPqCZ?#XlN!Mt^rM6LE; zUx>cD9!;wu&AvrmuA3I%vG_c9(|9!(qo?ZgkUo0eDflg^=Blm*)Dd1hwHziJY?#!7j_qNQt7nv`S$JQ0%LgKnueXu-gp&`TK-RTazz)n=_L zVS;v@=3zU_y-S}Oyk*{~mI&`C$c4b9P=2-xaP{OtbxnTBQ2O3uW0j z&gj|cpsU-q&4GoY6yBy;nO3F|yP z3o+Ye%ry}Da&bQy^iCAAQ1T6%IqeaYsb3|=i3k^04h6QeMezjMw{h{8D!|W1Gm){y zCD--s8Rfg&s((&e(I}Vlw!Br9^-6lalZHwF>6)TDm5zzY=?GD^TD#7aMQ@4cMyY-? z^qxHDczK1>=RMee`7C9DOHcz3_O@Yu3@%oLIx@=0W+Zq>CJ`> z)_yloq*>gEa5bl|c(%A>^^Y9-9NtGYg8{U9eO$K2_E@O>O0~toLY~Cci6qhN@P31) zSup=s3xK6It>5CpyS`@cR;J-J(gf$!<;tNYJx3oniDIeagm8e)H2_~F+Kas&CfA28 zkPno-y`Xu_tJZ3LJ)+i6GAt|*Uin8g2rbk~T;WniHf3QdT(Lk}Q$vIQBgQ3YVtR?8 z%Tm}nk+Pkne9KKuNBlHw^624L>LVRGGt9~*cgm_gL=nioD2X4FIE@`8TFf%w5!4lr zC^wnYHW@^h7HOTvi<>V9tJ`LKT1$MmKxR|AZS4UQnFUSwWqUJ7Eko=)>&0S`th$1~ zub34UbPTKsA@*i!E7@PB>L+Bn8 zhtVD@wN+yz7|lful_CgG(7a;?5vGujUk_{G0D;WUc*?cnE;cmqkqZtvvECN7{|c@7Mwkgif{Pv zq;mPvSj!oCiHl2B*g^e+3eNym)TVAe&hDIuPjP}z!8Y3s7^S_)EJhcDX0FyLfMf% zX&c-%*gmCAWZ~UrLXaYFDu*DZEw9ZIKKxuYd#go&Ixl0{7I)|NP3oN1F=fGo~ z-Viye&&Om1R}DUM+u28Lo&I*j5GW#v-1d-{!lm)93KESxpHSi;rfeZ!XzqvPOPa!< zUZ6Z$-}{yIH@vt?y|mEl%L^Zpvy2$WGj9*Rz~hoO^?PNsL*$h+j`B~2sG zE|S)2Nmm*&Mp>~}Lc+wVKjt+$iLtpDv&zW$=V$&c{C;WXc6wIQhFzjQ&7cq2b4k;! z`;BR{2{8p{&VOsGVk!Li)kjULIg-FGJc;c$JSyP=5vNE;W9$eJRDWE^@0aGM^67)S zJt|aHNAolI_~}pPt3zqFO7-q}q>qpIe6^i+c|IjF=Nq-0E>lq7yNs?fG)Xl9!6cg> zaqIbX5$oTq0N?Au!yQa>dB`SV_TN%3;tq^hsUd{x`^M0w?aYQps5W7eR& zOc)jfP@lv)YtHsKC)z7T;_&Wwa;+0i!V!CqP8WthARuNvCJaN1q!zo$t{~z8187iJIqd8%~L^;n}v*PfC;%lVXB?m1Ls6I4iO37Y%v{ zraLgLl1*z~>)z{KT7G}>F6)N94F9qkjx!YXmAUkk&60b2mCeUSK``D9qp?7z@??Dd z0OGb_W~Vh9g*fMB9z?6^N9{)15lhD5O`QDPjvzP8N}hs-GyOOZ1H+8U*)ZD}5xZ<7rmoStWjwA!sI&|s) zJXERYdhL1ncHHxg!BbB;Df9d@GYt0rrW4|ghcv_x@D-Irt;53)Z>*J3_d}A-Qak%^ zO;|igzwmJUamoH^SPQY+XI&xDs3UTJm9wTfm0yg8V2bZ#1kt`zU>6!iigQE z&diuBxnH53q|{-et;cG0g6=3SLUzmv?c);;zJM9_AC6C~;k)t=Ih` zaY*CCE#BG<{vLPBMUAc6j2+PMbw3} zneF>NH*{fRh(4zc+m6Of(6Ui$!7Z_s0f8kC+_{V22emFN$B7F4=zf3TbOlNom|$9h z^34cBgxTzi@OeHj`^d?(jrp#!)UPGCCdAMn=MvV>_Y4<0vSwtzM0)Eg z^6@L4_ij9}qIZ$%*IDW#+-s5gd7ai@H&D7j)d*gUVf7&H&ifv}Bs35%0BifcTxP!E z#8GK!zk7Qn%1t7O_=5JQ@;7rL1;1EZ)15ROGL~poLJtfK7~!!Dglute`olX!PfL6O z3+LAqY03a9tAYD^j{A1ddg4)KO*>F0(*t?LI~2?8_%HD~Ez2H`XE84Pr_P*j)nJGe zPBoOFrzf9X`?D(+F79T$hW>fensu%5WbW6!*-`?*=PQ*o0Z*LRPYOY#i0%@{)HhhH z(M`S7;~>VEyoMQA=M1?lQSl0Gqx)U>%)T`JD%j`Ode(JF>@P^Jb)qx-aXC(FI|KrafKJ$PSl%9SSk{cb*&E&!s~{NiMu~?LRwexf`JH6l z&LBCP$Iph!YAi|6Zdf^Jl%?lbrXa6@$mYlkTL}bY?ff3^?`1~HK8aPCrh>axZI{f^ zwhMj*(3!&s^DNbYyMPAM=*-O1meP_ER4^DkUmJ#trYsru-%1~)%<<5w7z}H+G)*jC zMZ8*&fT;ESN(Jir66NP?bB1D?%9L#?jYRhmRz=$4qIMELXA>8GxRkuSM5$`*LLFyK zt&98wi;7fPjb;uWt;(|UvFVkTR)6EJ-IjbR&TOGtsha>20S=)UJm*p#Hn$g|aMrek@rR%gF<;;JJm3d5+^v=#r+If=~z zeQ;AR)w}@el|liPl!KE-W~+dk^M(w0%$X8(12#$EQo=Pu;p-^51pi|6P4& zXNR1NOCxrdj*+n!A|CcOw8QyymB_D^x!aK0aGv?R#Q&`=@BI@ep_q2Hs_Og?sz_Tc zNxk&v8`6?pm00kVB=ao+I^9A5OnU1&pbc+GBZ2iz-qz<8d7mm2;?oyF)Ya&;d-n2p zx*75*qvKPi7c^*ZtzC$fmDR9T`>luduPN)s+n<2Tn1L}3Z-k4XOC6f@H~`&Zc3~k> za`GTo_9tX29Z$YCA_4f>Aoz0_MukM{1=gNS+nn|QB1`L&M+H9(`vf7o3xtjy_;cB8 z3K}Du58x2^C4qTcK6rrQvkPiHj#lLikVub}w(mgj_K^+VPe96R-5;R^Ag~{~IEN97 z9#vNISGnBjqQ-t|+`B#~PLaKpHX|TXsop3djzD}|gd1 zJuGV#GIjjzZ6Hc2w7SXhVy$MgYw4JY$Mr!Vz>Z1E4nvO2G9WA)fWx4Y_J|nPnnw!a zB|5-i5&^6b1)mJAtTYNzio$1mxxYK(i$=h!!~C{{5Ji)4kJ?RXIl&r;mV)hoMJQav zs%w$yDywnlQ^A3RaStdtCDa(SZry$76!3m8{0K5PGCIf|!JiQhL9gkvr(hj58MzQZ zD<3Li4MSh5o!2eVv3@FX!w-=NHK-h87ya9y%;8Y(+Ykyu+x(e`(W&f zMykZGf^SH*wbjAzn_({gk!2!_M-_g>*#4Sa%^|Cf<15W#Pla#*jd`~%wgXK?=r8hk z!`gpKm7BRREFg~@3=P{AXm7`=yz*muK`1c-_C9ay3TB z%2S%!BA&6p|I@4~qjyrI7BqVmYHIoR@*%bm8mbeo9T9QoB{O?=+x|Wjke?_Q#X@fJ zaRT0gY!q@G;IK}Z9nDw38b>!pIt(iyWs! zPr%VL;%7I3;0qWgPl39&Kg8QQgO!fM((wLb7(am>i;Eq)u)_E?V0PJkg3y6#NJ9gL z$ysk$xo%#ma?5~CN3RVDnNK$sR&+KRF2;7ZLF3sVbCsCsZBE;Qoc@H z?K|G%^ZNy0^%bhHt#fGD>AGoSw`V)7qFD9 z#*R=sJ%#PPjWaeaCvIp@{3I~yP&P8)W;~LnKeRR^(<29q28zK`9|wu^**jFj0zZiz zRAR6z#VJ=Er<7JsFx35o<`P+dXF+i;Sd&TCjuSSMgDa$@{sdM zP<*T$xMj|TCDq_6ZP#?T3d>=vR#MY9I^ajq?Fs1-gD{!|W?*gv7606VUeTq~yZNDo z&ZZujakC>$(231;3EHk=y>oI^>6R_$O!@IVN)jCTVv(#u*JJ>3fzAF?wVgDZk*f!O zT!KF39_E{b#M#pZqx05tct=Dz%q|3tLPx#1&B~~aj?lj)SH(qjegN}3vVPEx{LKC? zs`jeiCZ$GSeFkt`1230!%Gg8NHeD}ZV(&GJ5y99(-yJI4*H`DhtrI`wu+{H}@Q|>j z?&&v89`ip^e7J1p*aD&7z7**Q{TOSDE~*U`>>vW}2R^ZISVvbA9(ra`_alB>N`9m43NSaq7RdX=rJppZ}3#yEn1^ zNoKa`rXOMZR)swzh^)|H9`y^5(D8mVvzIvccd|^+Qx>u23tu7~rViEQV3t7hO=eC^ zhT*EjrQLtQC{)$AQnc2GT2%#Vw%~VC`=LCU>*hggvEG9rg;ry4crmqp;wpt#M zdHGK+OXA`guA;I4BCt{Gz~jGgLcTDKxD^VA+fN?Iqpeli6QZ#5bJ3+lseaqMe)l+L zxm9Y?RrY1ms_UU}UnPEEaNV|kq-vE0q@lnTe$?pvrU!4$v&A%MWX(41U#MB)Ch+_P zKrR77dgk(NdI45;l~M`rP$_HURGX*MSY&Z;!g95$r@U|ID|@nG3LgR={GQUYH}3M& z#P@|h%}KvR>b=UG3M97*k~DJVg`&Pt;;xILZD7cV@b?Z%Y)XzAj`iAd{Vp4WR(O>Z zq(80kwHH>FHc`WZ@G;>|s`PX9(_tA1V}CKrK2kdN0lR|eWu^m9j2m_MS>LfR4$ZVw z_i(kz4Xh&FY>3;kdZfygtc(iMI<~5ciyJV3EEZhe@!V1W|;61t9a<_ z`Czb6l&oVx=R?ea-5{Osa;SZ9wy04~OWd`eFf}S`pyxz{zliT}@$|Lj{F*?&k8Y&* zzD)Cmksrx)gj9(h0Cuoo+o~8O0;{Wt@)am9^N^(2Q;%Dprc3TIVKv9nReV~~hE&>C za2bUq&fl%Tz_p^=$XqAgm!WYsAoz36=X)D86|&vI1WdhSOz1Z&p7yBOQxcylVLJBy zI#I(o{?U~7;~2{jOI)i;-d^L3>1OWdgjN)VCp|VPtYSb6th!woROF@6FO)AG9{yRK z7S^DejqUcon63Hnjq+dqp6ycmL&1e2>Elf?YjGmh>CbyLc5>?4xxykG`NC!n?cK0zsgCQ~9yp&%%WcP+Y|E@6}9@ zUz9O-zARn+P5N`fvlj3yLvPO_Y|EgMKsJ;-;?Sz;qn6c`%qTqi{hU?>N;qcW_YM)C z!@v6Wz|un6yLP{K_L0*Yr(9{lS-vFPmhE!3`M-!@t_qsI1pD{F;W5p_tdt`=zrW(G z@3UNa$B1JUAIR&w&#y0VRy22f&2a7RKGc;YXv*thcJpO!x-98+!AnkmO2tXCdM&cl zMjZ$C(;lXxDWjtg(vrJrjs|IgE3jK7K(`bYX<@B)0w)THl#K^d?l@f}jgbt>rVm9h zU$ztnWmGVq(dGla!OcGEKf>H9p#c40nAV0;t22HFZ`nb(!mDFUE+HJL==$ItP z9vg**BILiNr;xr-vSWtHeeB-fX0mxK~vcX?M|8yIX5X~%0dA7@;uW1`^`ZUI@uL& zwVQ?+vtlJv#=k+QoQAWXs?+KZZ3CPJYgmYqUW7QETi?H|zpGFX7rL(=z4m-z#sBTz za`#PNSIrTY!_PO6q*9`Ms*Bp0lgQ2V7O;(`?LU(zW$(^*NqAu-faWv6h9f6Q#Z97g z@0g@w3uKzeCGJjV9LDWu<#2An7ur_~tu~3^I-DWQKX&jedNeT3o~A5f2avAo9`eXB z{jGHT#zafg2{R|?H}|gPr0ypvKt1UzY|)&AQ06V{;)&arA_8#-#%1=unHu_qHrQ+2 z!}R*?KRZUF*G|h-nt+o);&tl}*)1t6?`_cEd^2QKsKC3wY|Hu#eus%DNj#ttqy%!P zLpeL?@A%O^x{Fn@UJa)i(*O&I5Twttl1QV(_EPOzF0}8{Q>0+Mdzf1Ubn#rfhu*}w z?dg{-`R4XBF_tXA{t>TUROkTc_ciXZT5P=J=k)sHvbEAX=+={UUaaR@#A4UdzdbUz z;*m;=#MJMJJl4MyT|Gw-4lSO0w9h?%wX(I3Lw)fZ{T*@0qu#}0c94vQeDz%vygeG9 z)aXL}LkJEQ5n_IYu-Op;g%fL_q6+nh!h?-OX*HmY&1fwe&Wz-J9B?dL7D3e(E}0L;}~!j&%z zq>yHuudEoE8*NI5;*g{ME?t*M5sC{8FlBsPy=aAO24Fw&G@KN$JVp5tpd&iJIf+)VPK>x4<)$KBPO%Y1 zIx6fpuEcx|Rn*EoDPP4Lagu1_0HA64e7FsDfGFS( zUqX+7-Rw@T3# z*0dU2S}j9}1E6=liPJwCv*YDdZ3k%@HW-N|!DEW)sWd~1>ZI!`FB?`jD*!KcLeQ^s zaYsgO%E};q5X&n%4vzZ2u{U;7W(E*oT+Ao7`eEnd(VLn1?|>U)*BlP(^yz)AT>ds) z{8zr{G~jBiiCUUp{R+cvVoYPR{Ep%2L`zFKJCH0mU+Yx)IS#fv6zZJLUuq`m zMl(rj{W3#N&0}%q%DPJOSWG~=w4vij=E%Vo3a2cA*ikOOr&s-Z&4;1lgka~ibMup5 zjiVqYRp2vO0teGLV!nx9{iP?tq3%j?$ywWaAIj=*Ku^KgEAw1x{1bO|hZrRTb-rID zAy0tkX)A7EV4#$ooOrv>Gc!;GTvOj%uQgw9Pa+XX96mj*dbKwJgM!QWlk_aonY|b= zH&t$f%r2X%!w;r7d3I@`z>f|`Pn8bu!UISN{aaJ=rU0P}6EYZHXAT5K@kM?vytPXhGXPOfxF`bzpD6X3(3}2qJ z#H@($<;p&iXkM0Ns4M5YGb8@XVYWB2tMvM}Nr?)Xf_8lXNz|@4u$TH{)c_9?y=Dbz zfeF>C!@;K(Sj2u#Q=1E2s}L*qrY$QV@Ts`J+lk_Ib)}lwwKv`nv%T~Av1j7UO9U$d z%-njhQS6ggwQIiMRDbwT`2K%D9W$5;U{_E{1efof#HBd*hS zT(JD4a8QtukyW43u?W*1klMvFnJx|%b|VuaaC94-p^zSazTJJ> zMqoeX*@lwD0@GH62={As%{Pf4sqg}1ki~G4Ki^41*Dgz$R%=QMeq3B!7BD9E4LMwi zU`qu!7fM~4OWWFrg)OMZV>=BUQd#r*$?6%y0#5tyDN^_&El64w>#q!_&iakm@xINe zxotEGj13S!0zRZsffY@v046PfRvFsaF*-UqVH0^?Y<&gpVK`r5q*-l_cI9!q9nsU% z^TutqxU>|VmWB!{C@2v2@oAfzW)^RQ^@cW&ObWkX*uFqe5ks+v6!JU#N+AyTdz{Z+ zm>;f?+#gfxvAr8nG@KkDmRPakq#PU^Z_O3JJE;IG$eQa+&X+i;n5RmlF zL<66Y>%%z{fa<6O6k)vS5!n?-B8zm(EY+L)_iJbb%3PDY-2#peAV|R^FHi#^13(L~ zG;7rnoD?9D@P63X*mpNe_U99lB-s{Y8GEa(&6h&KKy{DpVhz&Ulj7gIBxL>T_blUxu~lnr`@q{F~p>+vMg4oE-;g4-eIy9J!dqOG;Fa7wH*Oc)`j2*M&vB%C`8PL#-5a)mT6Ku$SK2!_p zk2PT+eZRW1E>;=vQ8<(v$iG3umUEJ!N1#IG`%`qaL|=NrJ8m4Df0D4exf?A$=^lF2 zN58N%4kPxM&ngpwOh0bi{d-^bwg3Qgh!Zy2{#H$W--n~eRzHf`!#ogdE6VxiqD7*( zL<-SLSNDB=pe(ntiK#1a$H*x1LC)8iVHi8R_7R)JMfgv5lSfS2{+|EVi;z$5zF{;(-5+H;m0rr7Bf`VYPaePSxfoRyu{LPF4ipTcO z4yMSuczkstqPo;VlwUjMgPb@|+rum1Te`0=A{bij>Q{Ge-QB*t9ifBXLK@F}*_!#V zUp1YyhN0YLOHE&Eks1rnsAYA9Ccvdx`uP?K)L-z>B!KlloEXuN&%K^bKqM!O4iV1_ z{zdNI%l1nLfk4D#U&TaJ-Bh1~bLi4&fccqH7y}xqQM5uy0UVEW?%1Ksz%({AFj`WB zk8!t!!`8zq&%>mP+%f*Y=;%!WEdU+L{}B@42W+0E@r;kCV{q2i>BY<+ET4&}P9^Pc zFV_p@(aCX0LsarG!7-{mLKtunz`z2Dkvg#SclF2T!UqN2Fl;KXYun#g(kN=`N7@)$ z(NRpDG&IP)Yo8&Oe}TCa*{(~Rz6P83t+rhla^zG$C|oKd^S;Ep=UqQyg|=&mMFT6s z$y#HyCaCyD)M{g;|6TadJJ-{eo7HXcDui5acyvnecHM-ZI4RcqM(`2{jPvdDN^v~7 zN&_p{(No%9uuaR+S1S}%`{b0M=)Wt06~*?+9{`iAVbLz=`_dqxqGEKgwYN}U1}{nb z2lp{1;KM|y6Ec%iiq@rVS_+st#F!}GkCs##hHZ|z`K6?m$DAk6!xrmf&G33b_Kxvs z0e5*(>EGc}HZ4mmY93miBvo!C09Oc5j>G8ZjQwv;B3yT7p+Kz-xP1SG$UB1zw8$I?vDa?-#ZC|ETk`pGF};TVr01P(Se(mtVN4=}V&{j8>)ljcfZl@>dn zoV9ti9SSzy2c-siuHcq%GDz1Yqt3;^K@_Ku0y-yjdXAYP0xpo* zY25jcB;t2?S7l$A+*LN;U)~u3_uGNwKj7Xp4u``Plqg?j)!s z^NzYQeen{8rLqi=^9=Zi>`6Ry&U@PaNd=DWgC`Sg3^kM$|6SVqC1i@9zTv}xDmiSh!Gs6Ov*wI-QyTLd`tFNexI=5^X}n2(dN#py;+ew+ADl_`X!7y;Un$yzkzTT z1YF%c-jaQH)*mcLl9&;PF8tI2vtbjyf!OPHJoVYt0Dw(St(6QiMK8tzWpEAI@uyWhEI>N*=j ziHA9a#Zkvm5JR5nQbk zBi={*0t7f1eNKxFHr5(XFH>tU#~Z|2TYSbm|6FwRs;kID^^*^Z%tU)I-n-v`rw*@T zmL>*{**B$2KBd{b3Rigo+u|&@e{j<%B`ek4r9-TKbr+*gg=dXVw>UOYO%<8)heB+N zA40t&ST{HH%?=1cbUHH*ey9 z+ynmgz$I&(lt-Ix5rRC``KZIm!hf>x6?LkSL@@`4ZU73Rv@(Nc*EP5jdnkk!*57Fg7KWEanzu)u{b(ia*=8P#zf*D zm7`IHppFbrvGZRl9a!)GOj-KN);FGfrsr7M)wE!*o72oxQAF{r83$KB07#K3-Ljm# zZxhsymkB?SMBh3*Ki}~2jg@GR9ve89@$4EmtNBzdNtun{G~qlVJt2+rz37d|bqyHb zz>z+#N8RSWB0b1_HzzZc;m5`cpqZ@(592dCAmwUItOkuvRI?{K;lTbb*DeHoR)Axt zPg8)?Zz*&t%_=vJsaiF|z<7c(R9P9Ki&QrrxS=X&*CaW~{`u2F2S>OmKq#q4Pi&+6 zkPD{6?+nJY-2nh$shjZ(ih`4Nod(SCYx@6RcUK+{<@)v~*$H#V9@#=fD%plPc5Swk z<&ZTY+4rT4EK>)OiewvEqC`0=vMH6UlB3yUf08&4iO_2oCo`5R53h3BE(EHwSi5Om zwvV<+%!?~r#tdO6L)Tm9BO0zfSRq&8OxJH5P`4L%xRi`HR>_VdmRE>`dR~OS(Xy<` zV52M>2h*>P1#F>V^ZZnU~RM^k|M@jKMb=*{;UQ^>TZZcMRFY+9ftf52S!RZ8Etc&q zRv7*9$Ao_yIK5|s*PU}-y~@&!7XZF@A#T1sNz%M9 z-?CC`4Z@CefiHyX1Uq-)U2AO)7R<)y6Op#S8U!J>&F?rNm#uWrC_&k@DatfT*mu@?|nsR>3r~@ zAx8k(C=jYex0f5z`JQbp4)K*Z5t|B2hoi4Nml2YbWbmk5p#|d1V*dpTZf06$0Sxy8 zmJ{{=BuW7lBTKqWsHNui_+0oBk<;LEz|HLmGVTkwFh?0>l=UAR+J7e-b5_^WeCP5O zQ=Q{~(Py~O#P$~rl?8Q<1)Y4xkyEZ}X-e8=n=bU#Mz7A@GuqO1Mwv z(sew6)Qr6}Htmh3(&ij*P4{{hXTRyq_Z|aut@`tmp_f0W!bgf3tLo|AKG3 zC$Hn)uYNgheLs3elaf}xAfB3+fuzruFCy^?1UGL@WIR=u}j zT^ds*=u(nsymZIg{@j7$&v+zdAsqiR=ae%O=?RrEV|xB+sux(Cny+#?@z8&9a29g_ z9<{cgpZw|5ryoQ4aLD54=E9Z+pA?c8p=W&wN}nGmCQeb_WoDkFuemkJFzxT5xrRSI zJV!cj{^9!dQNRayx~@9(U{>h?W*+O&92b$BrLn$J9!Z@%-SL?c(HwGj$7y1+bw=4O zrQAlNV~TvSJ^iSa236CBz=KEFkr~sTmB|_LDt{Ft3oUk+1k;n58|3rqgs{J&y64X1 z!dAiU&RaCoha~z#@|gcn&~JQe;P@XOjTwAnlNuRYB3lt}3FDu5>8`zfh96XC7KO7~ zI8EGaJJOUQ&O3E%V_rcJN$=97mGXV)Xe=QiQR_swhaVreAA}|gkTXs=S;R zmSrO}+0IiuYHn!Awsvc>&VBQSS5CcK0E^u8g%ZoJ46Xh$&m#&246spc#w%IqE7~*w z`|y&Yztqxte`f`I(x;yKM&G7V+~F?i4USbD0Nnj)*i$L(XWP?7lms3)OXl}2579z^ zF=^iGtGoGhiKn)d1x{^1<%itjf|s-N9YYLlZq){A)-|``X*OZKVzd?XbZ(XG7^EsA za;tps!jFgJyH-Do8b`R<6(cw_O+0-L0CXVPY6ONkk1wBb^)f9I;ouxzi zOq6ZOOaD5JKHhn*pt;XJ`IhC(Tw4nfQxUk`jS$6fA|=s4xGOo^+2V)E`#krLzuksa z9;zkZ??dO;y_Utso2*UlKmGh3on@R3t)+W zd6iD*5ibqUvm%w?@z?`J=-d4OehKPVIWsUE+k&n{6l?X)G@rC}B{y=8RG4byc({#P zC4Ynu-9$X$uxnvl%HJ!|jVw$Lic=f(r(R8HBxxuqnz09SWAXU!{yn|pgHi?i2Pb~J zc1rt2wKErT)A!V-&iQ04@_ULmZSlN2U1n^&;m+=geyIEE_$LXC{cCJ5pv38-F82DX1 zDMdOcpXv5PiE6lX;Kp||1VL!*JJ>9U;}1t`ml|3xCpySH`{aXG(T{QLyi8hegg*29 z>)J8IyzbCvapd(aruY=;&)JXhFEGN4cxWbnDI~$S?ztP;`}5T0AIo;u0W?40Ha^^* z*&K~6Ygun)Fd?ev-uzR^Q7p;TX8e2-%YL|{o+FjbD+er zPw=h__~4@i80GmWt|IkJ-LJrUVs^n3ScN-FB1_7o)>%j|oy) zq$&W~qCexFOS86Cj_LJ{BRR`HHnXYiiQ4z5I(*{P1WMSDkeCoQlK}M+t?v`xfiWwO;LQp{#2f)B)c)j z{P4=+2X(ENwZO>)pjE2wcY^odriu&g@1morF0{_S{8bF~<9uXM=~sv2l9eBRyb$eC zv3a&B+4x4TAj^@CTR8d*T=B+gqH3FztXU%5bobwA-+a<%oqx(Lgrl+G;>$3Y7C1a6 zx12Wi?JPHf=WHol_!$3i{3rwuRqR8Kl$6@6KeBO%aIEm3(f|?RXulgr^}HGZ z%=WY3*IT)+mo?-Rx z;$cRgHK<53-IHM`0Q5WBVuFes`_%u4x8)$(4r02qB{&;G5`6u!RbBx#|FT zaa;NKUmIt+s$#@_8|HCjxN0xPWcw$OYlk`onZr>dj#>ytYH^U^Ds6~7#ODz-vRWto zRY-eiv{B^*$JxdYQ0w8#qta`A{O<0B-zxkjg0aHF(IGIG)3d8ur>W3K7Pu*ctq>GIvWbb86(yvA_PO`@{`<} z{V)P@DCXLoHS!S@4GoQ*00SD0e(iTa2?A7QR0y}-OZIUk%CX1oj+&6hDEFPEO4p~W zJt)k|%tSTE3+e(qAX%6DMPS_I3ja>inn*lZPk@+EX|AdZ8FB!(0%O7hYe7Q6Sn?6( zFza`^#0*vKrLS#mv9EE`b+taC@#GeT48b6b?kWt?IIa{;Y9nag#aC&;pI0o@Gs85d zT}sB{4k(_i!o8xRqPA_xa(Y)MnJYLlMBsbXE0mTAr6*Czr{rI0#R)DV*|{rAn_J0Sw7a|eaeDfh z;I`tM&C5>-6zbX8*_QV9Mi1PcDbOFqdsuLZ zEY2y1>M^`@iD5W+?hHRBkZq}QjfF)}Eq1`YqCKeQ-}yxVOUFYd3rV1vL*pIOq8mI- zMh`kjHn?M{?Rel`LGNuXL7{EIay^r*?c(6)j+^8A{2xn!7<<5@d4Fp}Hn`@yOJmNZ zr=5d?u|P%60VEF%Dod3S(1{8km@~FkTC;zQRdt;$^l)z^8w@6eLC>S^<+G>wRREBt z$rLj^?a0h?jv5@Ew=?@+pUXCb->@=YLd<&eh7o9NCYs{|7HdooMX-tU8h<^b}(=|hlge8!%tFX4RF5!(?%p@MagpT zIMAzWYc#3toJDr{@2gW^qo6SnnTXN#ztj5`4d+$5kG!{w$Ry20fdi-P5wg~q zC)+4+XX<%Ss6EH|Fm><6L8Z!-CO$-9pFDYjLLspDnXYWRv)pOTiHV6Xfrvvlj-TP1 zUPA%Es+E+KItW2=ci}8PghB`elI(Wt)-C5dcN(A_R=wiioz5N}&G4_Gg~d<*klVK< z)%NB~&OSQreeZC83rRhy*g(z>T&=jdweLO9qP(L zG62iR+1*{o%S(=E5NnUhF9zR8NLBTORfT^evZjC-N@=N}urR9C!CPf`#Rp_wubGDd z5n2E<(tdk&&1bmDXEL>KNA4FcKQ3m?XS$8YywJ3ZsE45(xF~fn5Y5EZ*$l0%>KLqC^pVV1P?MT@-*zY- zh+{eIb<#vGaLrkI(WK%N4wK6^L$WhwS7}@Gt zG65I2w^Snt^3!zxD4l40eCZndow8yAz|$Q^<5U)xgRX+Jn0AQ!cZSw$D$&e-wDvyY zmmuGTRS#11&g06)#s;dg=A|zCM{+(qW{53F0H&XCNO3BiuwUVSt%|LN6J1BDhZa8J z@w7L}eI;Fp@x0&+=;`UP?ZUA9tsMn%y>s9c$aOd=1>jMV(at$ z--0UoU3H*>;x72+>%uJF^W@~mFJaU)hc zhI6dv^&cHf!P?q1@D%aK_+GW%(fWIG(gC_GF{fU1tH)8Aaf%)zA8xaU?tUZSy&Mu= zgHi@vf_&&lvZAZ4j`N0<1guSeChKx3!&X*DC-?S!5dmxodKC-A`=N*)aq=?%F2;-5p+z@ zzUjFC((swz?F`_osp|ZpQ-iwU6bkf;)jPGL2 zVW^Ol)Rn%!Z^aCZq$eeDlI38g*n>CcC6QaG2w38DuUyfwYk4fBp{uLQtt+4m>lBTM z&=?3h*XH7o6!@HGopT!++S*Yk=`q;ihetAXkmCS6pa-QCUT4b&)h;4eQ!ieFjV_Yp z1sg|%?OAT>l78tn0v7B3BlYc{B|4~+yM%&3HC>PzPE~BGf``9=&-#p!9n>>H_0*fk zPoIjw=Gsu`rjH4P-j0#ORUu3usr8*NHPaU`<6YD3soL1{$hWEMh8Z1)D}%!OT{)R) zBbFxw56uDjV-rYs!rmAc(EIk!3C#3(V@y4)%E+`dej#~zld_%ZRHS)Ult-t~MZcfd z$u+Othsqh?h#xI3ympN}#y6Zz+)|ni3>`Ge^awk=G@hUh`(^*&|6~6^;U2u_Z~_n- f@-fflKUz5{K%$$;*(z)yW*Q8eFBciFd>1$!@|Nakf4O#FM#d?#Q`6w zdzk+3>Hkxv#K9H6;SlzP6=C$U;$sqPA)EN|R zA$0t~xrqWHeooa@<5rFRD3$lgUoCF8n-S-?p`xcSbZitg2NM)9()88nS`0O`n)=+< zSt9TAcR^6G{n?*2T6Y6iRox#kQPgfg$mBxgnR%%{_2yOw!VD2^0XIN;tr63CmucB1 z(Ij=Kj%^u`BLfj<5y1Xe`v|6cle8KPjwCkZ7m7%hx1K;6etx(F6v7iMKk3uCDgY z5@zQ)o;Oa%v8iJWmg_Z{D|BQ34WRjJ)zeQY`t-)IK=cQfHy8~Wa3!n}@}(BhRBt@4 zXFA+x2;UXWcG2mbs=bJ9yu5j@uMC*DXWa@%D7k8{nnzd|F^1a~h)Lm)Kq`zdRoah9 z;u)HNs`q$XI~gY`bw-_oN0Ls{91oGp!P1%Ibl>KsbtmN=3n{!kd(8^vohh6r`lG%< z4-YJBG>qv38RF1lQL+&PZXlXCW(Ojb3a>jT0FJtCoeQ>l#R6&g$I{V1F})UM_-v;&OIUT9#5N&Ttem@(z^f zf9q3HC|Rd(M7^R?26M3KLMfi4KGE2*2GFXNcmD~;j891k2LfKl=c3=^Zq5DaZEe?S zE7SX|r`oV@(}kzTkn!ho=A>^3kzcp1D7v85txQLl`be>jtVk3oG$QqxmmcFmSxPz&4sL}sA%3xwVqrVK}1TC`c%zI zdtdX}lQnYAp4tYjnvufwF@IskPsUrDGE;AJi0V~vMj2SIn$}X3I%3_>D!~pIL7x%~ zeSa@RGyYaPg-J{s*@kYAl8Kb(lJ;C{h+)AQDLFSgVmp4PWuB9qAj<8RLJf>2(e6lG z#@nZ-D*qSja*Y~D?M9oPp?HdmQPzpgU|hZK=Z7l@5UqNpn4%*3e5GzAZDlh#MyT9{ z1Z(xNHoEl$TUAn)1?kPj8zgV$4Ckti$5v=mH+MihgZWQ`SsYjB%7i(qjzUVNfZ3mv zSM(RT5=SUbcf&;0LJycnD_=~Wwj^?PJnW3=LrfQg)h=uQGjC&{$D`BJep$wjAB~M1 z?<=<0>C4;N)>h-N)%$9TfQYE5rx)`z?H4N&!*4`-dV0S%^e-6WR;ppARkswUHW?NH z^{<96ePcZg&*#`&a7+oiHW*RsNa$LV1)nhq+lc(etG&9k+(_{>a{wzU|r&pz+_S}Cfjg*-lb<>%* z%`Pm^p4mTK?hXwPAH7u-7gNtN1{$SUFnvx{d$?~Jc7`w5TK)OtLb8_)rTEbf$Ctl^ zTLA@|PG~Qz$J8?4iNlLTvK2q2sBqSco@xwMNMBxW>SUqXrS1G^6-d;{w`J@e-s&0K z3x|?dvWkuytFNPl@pS3)t3v;?fFLHjRW21ZwcL`D4^ zhV@6`h&@1e>)!Tn8`@f0c+d$fQ#Ps>Hk)-_WwVz*x7t{6@Y*34t2@h0PGQ06A{(kB zxmD%^y4{koL(ifc?$%QjLFz)XyEb~SW*ctAHG};r4p^uhse#H?9gT&pev>rIK8dRJ zxuU}xFHde7bU0&=-^dgv4c>*M}jS9 z3VY1z498O0U*6Qz)k8~5X-3okl6__gw~F5jC|3h2*B(DlR(Br7eGq3@+Ew;qW8mqk z)=_|ZC(N&n#XG2$g&B7~8FolqffL^htFl<%ktLs9eDK@vvu|OW6H!i|-s?LtPw<+)3A?5rwUHd(y4>#IG`t{N*ynC) z!FA|bDJqBjEoMe!pv_a=!5{{fuO@}fM38>xJ#db@iR!t<#qj16ng5Bto8txJo1-~k zzI%z>R|84j?g#OBT&P2k@V{q0|D#G~G8B0$H6Yjhg~0!t9>UHC#baMD`{la(HYNB~ zlir=N+SwEybrLe&pWoq7{!#7i2+s}{wsEZmqxnR@VE-ye9nHO|>>2|099+=-x1&3z z>j5r2uq?JhdbuoPCrqbBwuK3|)o?*jw}BpSXLd8 zl7U!SKJseU^F%UV{uOHHy+&+OP`DXVLUI1*@nf{RMRnn=-LvHySrl-=aD=SenH8qpD9Ldkxzyfp{)gaL1 z(o%TV>vfUGML+J;)KsA7)!tS(RpumnQS28J$n5nVD7cgQ{&xbOY3ZwqZK zoU>-HAUy81ZU^UpC`g0l)9y(Ou(iV-B%_YCgSoGvJP%s;{wpJPV=T?yqHMn~Kf*Gw%mfG%A=(;pYwOjBb++HR_tk zieI3$c1ON7!83m+{VS z#q$Tgj_#`k2z|R>Pm)CPC(1)!&vTz=_h%GOc*dc%`R-?ySyKV1JloX#96>u`3VKsg zjI8>~h#-9qC+2?+2l`61Hsn|c-H^bE)n6GtIsl3rqGm;;Aeft*zk?%c!Cu;&fX_-` z?yu{>=Ua0|g!*Jqgj!Kct<)$*LrmD*THo0sdf$?7JI53F>~|_`%=js0meYOnv4p~O zWIfE}WDz6A2m;`edAXDtHRh0wY}u+UVV+VQkMsr?Bq~Suhj9TJ0%EwPpET)fHQUI> zv9|VkX67kpKYW^cx!mxMPfhqCz6%q=;$rhbvW7HgxEn2nM(aDadZhg4NjjcAN>?^W z#tnpK?*ML8P|4CjCS%?tFO_21nl7OdP2~1Ut6YhSoU!)r^Q+lRtG>6py|Xyvi-E|2 zMh4wocgPw_!hT3I&==+}iMCT$$+?JQ__u7L3z|RO4-9TX$@kMFcHX`ai=s)IU4ZxcC_q}nJ>~f9O$NLx-_Wg^sVxZDqLFxWb z=esy>bM2O*fw#(q9lyfhC4r??D@dV+ppD+C=ZlhZV_fagSF>V?VQVB?f^?zs0O5^_ zAQ!y;9eq}0+awf?YLgLs_H4wY3);(Vbr^Klfuup zFSwxck6Gak^jb+Nd6;^xp&ml;GZc1~MAchyBwVvQwcS~(cJWq-MYZ`kxEY%Z10@t8 zNG_a4mt`QT6{gVEqfvqj8?fgE7T&CJvNs?xAEkyNr>D7pU1h#MDEe(2HiPpVhz{Bu zWK{pCha`eE#sw{RLAChk1Lo&C-=9t2j19%oxJFJaL!KFAVwDN>0O>Fdw>^3RAgN2B z9V;D^o?*4a2~N97an%quZaX&R=7HxQ4wb_BV@OZsW7m2=n~147R>+}oy4qhfMf=mz z!Fv6Qo*4owIc|o_gaPz-^seXrT|O+oxfc|-Enh#oPhpx8ye_Br;JQAy0QwOmRAQ== z9w!r$jIPDj;BLIu`SbHhxX(kQ9Yq8#66nioRB8!DnV6yZ1hk(5H&c{$;~xSfvm-pc z$Rq|jEZn^q5{7yrz&t*HuU-tM<|n8gJ+<{oH6gGBm%$X@cf3suCxK+k0%(bGRwM~c zJquWvu<&uQ_p{4MWi7ND?eaX{?fR*t_N5Lj`2mWQk{+PHdRgUoe6bU$&^q@-(I*w} zTyyMl-~;POcbuQL6~RRjDr$*c-@GkWEFMV72hqlO(rsG1ojX~z7ppx+;=$90d}&2I z_K&Kf1q!VM=ldW4;oAPG0{>_u^isKAIYfwxT*wwHPw!1&PH6xFE^2$GgOlx6&@mzc z);9!ESXrZFY=>5R+x87-agaNP#UG;tNzT`qO0Y)pPfEg%x7K>-jV#`f6u}7DQNRSp zJ1<^OhcM2F592#^pCS6|0zYtiy^)0WkT5C0hUCg>t1}X7dxNY?k12eq#mIU9Yb0-I z?Aw?&z7b;u^L5Xzko%%3n*J}g$!%$~g=4D$O5Mf=+zoX)UC`{+sP8d!r?II@5#X5T zp;ceQuMOi+J7BVb+Ghh$OitQZL+3F|*chxiF1R=&lKtoYLax(Of+*HgoqVilF*U2I z%F@2trqUOgM=TTWcLuB@B%&A&K`PGZ4(=uos5cDg-+pmkk?!Uu9HKrSr{HZ5Pw7hj z2Vrn=drRc+DmQU)?CO1Pd5X`Lekx`c(xjKZ9t;IkgO6Go7@t2{R?O<@s)n|ypW(S6 zYHh5B1MfCzj3Q(J7vfQ^x-`3~hin@a$v$a4C&Ua6khkC1UWymM6CE9TZm%mt5%jjj z)zan9;gS1(M?BrcX5m*zWUk9^;e0b}k7|#P*8n-GM1|XO5!$Iu2*?c|0U+O!nw*OO zOpm~{k3c-xTGCE;5|xObl!<~2&*WTbhwiVtTh-z7lz4!;e`C*lZsu@-lYikO-W({Q zVDdgWf8E$gJ@Nu#EA(!|w-K2RRB??zdGv3aH}-rxA&1P{R?LeTlz-6s;B%2@LhLYg z7tpnl-C>J$cbhnJZVJ@2ij=&I>3IraQ@`~k*YqC!(;AT|5daR(=^%`i|GTelXSJ2W74^aozuX9fRB~sL&@D zoQVN)Qh_$%nCB0%_-;^Kt}GTROai*^@4xRz`)nhPyKa);SvoLddUXOmF>)$(h4Se4 z+j=CcE!3`VeokM-_l8~S+F6+gY0Y(#F~)vlYgC%G?du7OPZ6I1XK9T}Jw!%&W|72d zz&l{S1qWucY#q5JKl#*I?q6B`oWAIqKRPAr^soO_scOptd^JJ; zOqVbG?Ng(aD;WNnaVcy}hm*Y2vFL=#kQoIwVT~%2EI9d*^b=XvL%i20M&Hb;s;O``LT#yAJ<~`~X#Q6;w7D{dRX#viR7K&)0N_$mWWKbPD_J z@;5CW-5}(<;56Wdf+?9-a3$k7(LVh;x}JLpIS$Ti29)|<`TTi;V~By6J7U6nX9){!2KDiTNPL= z&yTGi?x#i)dow;!`w+ivk`CaS+?(EUb;WK25s1JzrDb0ZhnF@!4{=Na%kcc|{HgW2 zNa(`U5Dc9=zj5cyc=qmBy_q)s@_H|$j6(HVf1J{kB5MfE5rVp?cLUuB1amb80c$1Y zD>&z&qHMGH@c#roE%%LilAh3S&bInXWssb`E!eR&xuY&iR2VpHx&bj7d8X%AnU|sk z-0gwZ6e*O%s2_7UQ$#^Q0oBsd(tOr>T0-L6H5E)-{_&+0b)aM92 zl>~M@F&rho#XVY`Ga=r=WIdctp3_f2f!wQBA%vb^Q0UI(uwu74KuEKzt4JU`mOoFy z>;J#1631WI06O-Drh+8sx#CaU1|zVC=g2&=$&TKTm3S7W-KI4=J@pRK^% z%ykZZgt2#WeJ+e1?uocz_i!_=u(FlR^+-g6*u3j{^F3K^K*YwzPF?YOmwhhXeNp+& zL1!Iz>#to+_4V1s#Y6Qwa_~Dg2)S$D_8%S|4vvmQjE(d3ajJ82AXv?Z^{Y?Zcu(BChhn)uKe*jW5$qA^Tk;+X z{-aU{rRM4%p=}O61yW>r_;(dq2b@ko&Q+E1QP-Av2JNOXKaL%BEPCd1Plt*@?)~09 z_CrGCQ_hW80Zr~)Y`&|v$5mZ1fJ~9s+`I_hDEgWPn>H50Zau$Qm}UnFnw^`=DJ@0l zdKj}OcO0sbrL7*JgZ>X+K_^s+6pkc;OHgj_Yo03$xEaZL@QxC?L#d92|7FdtRNdI!};&`O?U!V@QF4 zrf|}F!JTa~-o3$&=m~YewS)X@#CH$XE}lcM($>J4U)*y>B(@EN!}U-F7wHk~ z72W@NhosLz%u(tSX*P91<3NM`g~aBt?v%)S?ut0KTVUAN=MMDn@Re_*Sg?*xIr4H! z=Tr*?P?wRMVu+rRcDTEXFytH;cM_j~W|?P;cL%?Rd)LuRmv%OhUb@Z!=Dg<7iKtKksM_e+b7_Y z9>dLKHXpk4IrDz)ng{Gl6he`h(^^KSgmN6d`h28~Lu(3&sn|8%us_UD$p`tW?SaBN zvKe>#b7j9sXknmp$Gdt~aFax=+YJsA73*NNYQ8or+U(jbVc3T#$nP-?aGzeFPY%?b zuo1lajHtMQNvC_Z(KYFXYqhkr;t~^s_x8+8fL7w8!?p7rWNc!Y$@wD=6x~_{F`h~X zM7taBrX#KWPaf#|Lo%@Q>lt76i;6<%HyOJ1d24nBpI)t&U&>Z>F@LZ z>~c!$g~hRFHZ0*AV((h0B$9&l45%9nD$H2`=;JD>yst(&}s3c}_02N53;>`vjB2O$-F zr-OTMkj47jBGk@Q;eojSXD@(FZ|u``q{Q=KpXmKx+APDbuD9;#0f-m5v@6K;S0m)r{X#qgb*XR{$ zRuHZl<+88lyE7ABYxMeP3poxUXA)0ytat-^UOMd~jQL9!Ri%r# z^(AzA$`+pH9%{Q3OO^>>0;_LTYo#mizcm#0PKllX3I*#=cH1#B*gdy1u$MXmtk54u z3vCs>0042`*WV%?Y4bQ1&IQldGVs;BI`_YLcHi2INic)tT&8{amUseUlLggnKym==9O({+K z?y8NYmA5-!-TZ2rM;Qr{O&acDob1(zF_$@4y3h{+B-0MjcV8wds9x@sI4olrg!4SC z{qxKPxq63tb4PM?tqVVaP{`QQI(5ySdB=Xce;5X3VB;GIv*8fAd;5P_P$Ua|R? z?gO<$zmu^%^F`qg-TN&!ZwDKH3KW})!J3z7hdXgX+zeiox=x*MsmSl|Jm4LLH3dM~ z6=j^wK{3iWAbW7>An-Kra2si)8j=4SJxCu|f9xhXalfQDFm+c|45@548h#&l02c9~ zXS~37_$v^Rc{>r08(&fTW}#b9&01{R@UOfm7`rAoSGcsv`E8M_aFml0u9(Kcz>ogp zHoRsVIuQw9T0H)Rd?+dV&s1_JV8=*!{8Hsx4+? zTUWYds}7BrE%-6QWntk`BmnUt20H#wME$8jAB-$MRM*RR_C%k_S?aHKLF2zxEG-2f zzwsU5p2JvKI~m^mRMl`%=f?T^r8~<$B_dQ!HLuf@bOfszQuU)%yZ0_i!FQ?q{%sZ; z!POxpX2|@gOf>`gxeLscKHO%J_UYhg_?MR`=3TF(f_pWL zEjnSxgQ0q}xDcE@lsvrN-Y@O2T350D+_XXEUPAeE2FmL;087S7%N$37#@yZQk zXY~}@`VTZO*~_++Lz-ui1R;{ZuKRcA8)J{o9{&AhhLdYHYF}e$%CVg4cKf#I4$r37 z3`i>X`@*`hmbNZAX9k!OQ6uQ%#Fj9T;d*wTsK!Dh5|<;K@cHArQ^R^=BZa8j-?^cX zy*EMfg}za2%XLw=_=f7eDOGe{KvME!`#B;Ut-0hXDPOPo!`UA^`9YiV12h|rE9*P;|D9B5pwMzy%}pV#!`IR5O%>F1e+BJ#nM=`7)s zL)V@8EHmO?_h_Qi{*@qyC?q1d(GJzz)o`5cGSDT7To*LDx{{na& z>q@0Hp2z&xg4WtBK=uNv0{zq9_)<mnO%n&5$pqsJ$WiWO24A{#Y{DU##?um%>-!JIN zUwS0U0EAbbI}0_jCZhed_s>E>Oxa}9&Be-G^^IqAl2ps9B7%0~MjsGb%2 z-rezkyA2+iqE0{t(P!{4`ZZ7Gn^Wal^dgapXU@Ee12pFA=P*ikoJb48jtdb?5v$8;c9Fr;hXEdd|8*~KXsZ&aV!xnrd|PY8?Ak_hr6U`J+>#R`#;l*YRp3-pUL< zNRUI{FLV#H9o*E|sVlGW_l-#T2iY9;WxsWVJR85+1P-ltp6D2Wc)W1pc>b)6iAo=# zbsJ4l6Xc;=ASAFDS-D^wcAgA!{LHSy_;qV;J8^_@P%&Idivcs6J}x0Nq1xSE7mMTAv&c)0FH6 zT0bq|%~_C8GE+F#SpvH+6Xu`e-y zG`wPn>g*z_cmg`h)npYAwP&pmv8>v>0RE zku}jgG!RL?;Fw*v^4}j1Xz3Dhj-E^li`9fekW#{SAc{Ti9nZIP!#%#!)lvx<6# z6WI#}1cVbJLMc0e957g^tT8+NzgVnj(OYA9QgxNHNl=RQl23wI6zkaI#SDap3tK54#LV1+YZ!2%xj)Xs~Ty)sf|9~@q3q)K6$ua(9# z<=9A2g8xNo!Yt%`@l~Sz;wd9_C2?KndrZ2?*hhCQ{)mDN)2fxcGP`vEmfb(jXtTv$ z0nPt^>M`QrD?DGhVwf}{Dy6<-&d`7_Q}+yLOKmbWn9{lno)*ri%4>;6Ii~&Jh}UCC z&n_Zswt6PrF5*U{q_0izcP_~3TEBa}n(kY4s>KucPlJ^z?J}32Xj>mS9C#^i9&#%R zv(zLK!@dK>3L{pCww0r4ksPXDWQ3-`_UM)~q&_lKO+w}fyFAe}Y9X?E&Z?)pDrvi; zC`ezJNKO)`;jYPJ+999g*1$&{W0{Va@T=Psz0?J^eVI$5Kv!;-c7*MP#|(Z20GYOx zH1W3UBe1(v>FdiCmOo?Z^1+69>lS-x@>5VMj<5_|i8q^>L(%BP`^R2aX5+jNHNave z&wKfwj+-drsnj+w;vazna zdX+2(?AA#`h-rSD`o18NZvt@aEAnD&%G*E*ddXlsUuvarXh0=wibr(My=g9lxbXS! zbLlYo>=!fXPoyTsF3qHCyu@6>%vt1^vbK3xz_4lkW6_B3gojI$z8nj2OFtE{3PC*?;}hGJNdx5{gC{#F^b~jC+ANr zlmPBH-$HzPh7=6{uLYm0JUS1f%m9G62jly0LDiqsAL8OcP$LG2^l5YbeW$mZeTh#< zL_zrvVuRUP;+N!vCunh69J6NfB2BV63(h1RffYkOBKp{jB!9#g65(wLh9D!Y4)(B2{HH|MnsvhNoLf6KS$!F+EESr)Ew(~K@4ssaz$>S5#E5>p4KjJN?wpJh248L~q z)}1Eb%rS>B^akQ5v?tJ|7hB?Z*^)y9YkiiM7s?f9prsi+IQO;+`D(GaNKKLD-qF)E zbT__m@nQsFz;@fbw^~0Lxi@OhS10iZ64~8}6&%>^k5tsqfRF6|&bjW<2j1W(MkV$- zAj87JA!ldDcHSH9$>jGYcd0i~Dc|6h>DgU8e86L7ki73zbFY?mTUV`KPSx=MAM#UY zRQd^Db-=f+5&JxXCoUGUY`O`$Hp1B_RCb~_z<-qQ%I}_@u2Ahn#>Qd$7xK7cD=P?A z)+^YbJrw5%V*5_js$xmxx(`RM&0<8P!3a+Abgf|T+`FfIm0pRMUqtR^Px>c7z6lAU z2j<22iNMjonm^{$e)jq0QQ#ZcTl7&nMV~!>=y{;6c?{Ip&|o;7FWvldyK<3OLt-4zt+hFUZ2eLhkU#L@almJA@~jzrF%OeN{6i zLVY&0*xHTb-I+{6bD_MEN=)U%^d~A^B^`Sb`-31&SvOGQk+hf~_LsX(`%ltjnLUNk zX%+~Xy^>3>eb%E*rf&SQB$AFsveUS4$dk9U$G;-RT8ut_{tj$ftZKiM(ed0(tbNc`dpqwBtgJuX^6Dt4Tnqk!ltw6c64V%3Vg z;p0)bExvewb`VN?*K;N%kt08#e0>At3lqjhvo4Z~kGL-ekl((beRKSTzaILrBg?&F zf#$+@EVnF+GUIfucaVbF_(;6Euc=0$7fp6F8TaesA6rmyVPhlC&CQKQvxDK=1fVD~ zw4JcnEZ2ua7$8Z{@=A8#8c-~2=|tde8H5Pw+VXo`UC4CN$q8G!`Ck~v?;x1mJ}F*Y z3V$lnz-HtzgHG4YFp5;VMtE*7tIz|u3#kqlA3Fui;4SAZSaRaXykpmO)L;OzMvTZX z?3V(4D~0C=e9-*D0u<=-^77d)^Y`!2zED(Jf$?3Zp52el-SzeLKlVVDXbq7XZN(|f`wUEotcRE6K97yhgn|`2EKe^7HpgmXXu%Yq1=+K!N{;6bLiaCDT(%ld zHtfr3aB58Nq12uY|HQG7SEtI~hs!1RF(!e=3~A%@5xnT9V5=!2_0{qf?FPZ znZkls4L%P}z~(r**-&u^vAy#@!x?!8!SW`&1>FlsTDa`2q3s;cS0E*&pYhy$*c@%x zYYa`>jaGxIe3o2hI?7QK0(=-Qo`m5_A=HEr&BQ20whFkIV{Xot+eL5VjXe;0+CLE! ztz!&&SJ4+c&XV^8@+ah)WlEEoebS04kbdD|uz*G*Y@CRB3sP5JFpdu`1)2mXTGI0gHV{o=~xumLGvYww|56K3&o9ycUQy=uJCuKn(sSfd>0!p%9iZ0M!! z6N=Nh@>XW-dd8>)l7`k>05gl3cUqT}H5ON!9h7-col~Z4pDNwk^_hm{;Bs zE6eN_n}+>jnE)wtLJ;*b>5e1DnWrN+V?mXseA^Hl|HdtJ=yG? z+m=T$p&bGuvVpZVEea9O?AzV)vKFvk(`YD;jB7vLxf*D<@I9aRQPb0lTUvf0_PaOC zFDTd|*tnN~j^*LHm@lQ)lVJ*jtQw{hklP4j|LjLKU8@A(Xb>@{!38LI z$BD_P+g^sR9uVXBns-qX0>9^Uij(p0CR|>JOTubsl2dJdv=K zgp5X(`$@28Y4Bh3HI*ZJ1iS4!&0`<)+jHCcSio#-K>G$ZE;~Hz{=R$D{n*-Z+PLzr zG;f&;KH>B5@SLxK{cxkBqnpor5iee!z=Jl(-5xfoSd5f-Vo*z^Hu4Ud%)Vjc0HX1{>F^hDxK_RNyZE9@^Ku_8HvLCN~8n^6?Z_xXf;udI35d#P<@x zcReY(#aoOPzMv+4q4ZstO~_h+l0%)|!GFu=rLvK@+^-gawerhAeVN1)a&!ZSYwmWU zXezD9&EowLnMx&pt_KC?(Wd|W*Y&yD&RuyPtv1t7RkYM<7v|M#h z6)o+rm9UnYN2rPTXp1Q!XtNLZwq!gp zolU>PSlV2h(@KyxJfV}vKZmZw=-P*hNFAtjHGttW!2RQxBp{uCLrd41cu#F`U2@EJ=;XTp+Gr$A#1} zHn)0Aeic16r!w78Zm_{4ee<;zF!Z5xs)oe1fJX6`DI0fk97FCM?PbgtxP8nwgHl@9dF#1I_qx=rffzvbp5B;L!;B=U6QqO zC95=j5iMtNWaYpF)4xa3Nme$BTT)x=8VIbjDqyqy`czpc)f?cPc2g;&YN#k^8C7pJ zqBFrF+)5a>6ewc3cpwSpcud*$(Vxl`O5e$rLwm)cG#gHb8NP_w$7(ySCtM2<@lJ;A z0F{4Fj6h(+k>+33SA@}PBysh2AGD@dug^GZsxheQXP6ADC*Fpf%aI<-s(DO1sm?*; zY$Xo|Bu`UBxoY-a1?If4rhUK0>7DYRz3hqS?3!2YP*Lnus|XGV=-^;~N=&%teEbqV zfDT8lhy=>}br4ResD*8rXb={X<4_TxTc4z{>Gl=*bn)uKu?sN|@EGaexQ4(`5ZV4K zdzeIv%8ovh>FgDTBL>pGLE?2@(_qMe%1WZ?VE$wz-GsSPPfRqM0Y0nmf+^t6_3ZwG zu{?ar$b5s#2;LE9Gp)+Whi_WHwwtohqJCLKb4d-#VF4UMf~;eWaj}&8Qgka9S9MCu zsPpIiE{_aQ?avQa8WwBzm=Y4oOGRCBP+kK9NpnnO7(R~^lxSgon_iv`AFJ|bcqWW- z(SDmOUD;ty&na8?Ae^cExb~J2hq!9YZG0wc7gN4&i6McDFU|g8rdH{3Lp^V!>+Ven zX45AsC8@}>^Gf#@xuul_t{3stM%xf_7?>GToB}pLabQTnEO)k5X{1`*iJDKv8FkGL zRlvtE>xhG&fzykW1CBu@rTdzYmk*d@n~G4@nV2cekPk2cH;}=Bz7ON9Gc$u6arU1z zzBpvv%qfj!QxT@9vMYU+0I^h&!I;*)6d_5ilqhNmTf4-^+aD5`HxilFA*wX0?OkMd z&FNm`Z&epjmaSjkccK)e6$^Pu$cV9|bPf_S?i)lf0;?A_l{4yLt%`+r;#%*P1LU6w z{6+`VVA(;cxlUzcm$R)~_fDpQ#FS4eJu*#Yxb^}9lOvq;v@mYwwMUbc{g5iYHtoK; z)nHleNLh9VfAArVT&f^OR)s2x39jFhPd!I#uhxeAw@r8bRM<^|YpEXfPes!8>@C$d z6^v|x1XeV90`P63{P$3>dXjq5IP-75U6Y+RQNIrUnhaRsR~k4N%Gnrz@Jzqs4@do0 z6L-?Y=MDrcL=KK5&JsJzEp_|u(#Fr#*@ezKPpGzRx~Su@OZ^Xv$8;Y@Cin*w;{Z9O zCV2`sRKRQ$me2XB-khy~wl|h%9_!@njja_rqCfj1=yWxM_wET3?u z+V5(pc|b9JVIbmPq^>{RZ~JC+qpT{@UumwRTuv)nWd4avZNve;KbW~D2*Ti3_#Xu` zwzUd;&83H}Vc%-r1Vui}=1Bz)rmBU5;hFBaG8rlgKJ4o%1vpco+>jnn_!k!sqit%~hy zQEp#q%dqbJvsF6NdPiZJ3_2y#LysO@c~(meEnUl;lFJr9zoKA47EVZ{Qv0Es>#mo- z-V!_I@@<|%OV%--5Aey)tD-4WE=^`^Gn-b&J!!G(wV~}8Xn&I-T9lb=g{Xmn1uN*gjo=wcZDvP1^l~-CkbgxxFI_4nW?=y1!eizboE_(!zEif}1adeo zK#dq&Msqn&YSM)xLzHy#QK7o2v0_v^B*636C|?h_OHx&H#SfcrI`#7UIs)^Bjuu}B zit(3KDekzP0dH;vBi-7UNd7Lv9hXa+>}>2}Wr}4^PHZzfxW>0*TNbITC_x0;D-O>F zKT8l@Vo0n|yhygFA1ex1<|1>%@moVAI6J-I6Rl$nZpR9I*{{Y2z2(7*t9p+NDN7G# zfLa`3`&JLh$Uj(4InQbl&(JUa$P9{7%F&y%{%7|UOjJ9+cJjxQ;$=@Ig}th#VJdh+ z;2xtghFF7dos1%$Tfehvq1-0JeiHMPs?($m+Zd2jZ#f6HOl)QSHGjv<+m(C!F}CXV zU~_V?8nDQ;27I(7gY!7XJ=3`=_$!HnZ_GH_7byQNxv?vzPM6DHEvItcy;FET+0wIG zgT8jn5YnDB-}&FgOSHzzZ<@8M5APuIL~tMnP?PxHHb2kVLP1q^6Kv6*(Mk5x_N-M8 zdco48w<`4mdkPilewBIMtXG7qbjW{gy2(PjlBs2bDh5P?{z}xCTe$fCpCJS^T(sst z!A!Glp@wx-ANbF%hJONteXu?pTzMOqm^$UReeBp$V=v2p>#IaE>tMq6b8iHO)g3(4 z$tn!jH$_f4w<;^dl;yb5Pv_K=4tD?Bgx1*)(4lAUX`T=Vd0c$Z~13t)1tfgAad2e_!DTSk4glC6s(aEf65-40eg7xk7(QmUcdjz9mi7hs9_MPE45^W#{W*01IVKD;apDVF7JzmgCu_C(-hX~<8cboYp%kzz9zMa z78c-Ix`*3|szWhb4IByDwvgm(BcA-_R#o1(N(Rvpo|F8{x4`UXKkh%;*Ffr@@Kk(6<4)(GYb_&;Jfp#F#lIXI{gRzk zh%EO)TkNr`;Lkyy9H9IwemUL=vhH`_Hf7M~F?|wVei8uMi}_Bb76bp6*b`pPF|U0i zfS1cJ02RxNB_2|DHN#}4Wv37rogVw@2+F8168-09&f-?VDPT^o0Kb~|q7^0*vt1QjYK0*Ez~d(x>?*_jvA+e2c|Zhv&Hh|lGDU!F545y2*J zHNf5vFwg>xE8N{>D=aS}dj1z${h2xQHn?P$ZOpmChe3f0l~2W9~=&nfLe4@uY(jkHGc)s;+#lHwWqdZv4xWttkh^1Muj^~=ooR(-H^ z+#a2u*{$Af1lCL`&T4>0$+Fg!iT0!F#a^;ez^@976!V3p`HE!UpTqe-j6O^P$cW=Vnk47pDs7?>RlE^iC`g_2L^!3BB*w?xZSw3at=(4B#2`?f`~?3WvfetZtLBRy{m?B+Bi$e^-Q5iW(g;X*cXx*Zk`e++NryC2 z(%s$NU3YlDzZ=hU{{-}$Idjg;tiATyYbT|Tcpv>;EkN+!RwRs-Yf+7C3{o(+am;Bc zKvE|m;kx7@x4Gfj<-Yw4bk9MkiGSKr2;sPY*DOtJSI?G8%hVt(;`O2Zd{<{le`%$O zKOh%lQL%M zQhm;6M8w`(;-a(3t#W7dncJK#5xG^nemdXha7aON=C-L{HN#zL$W|A(c8?FFa11hY z%^a~!AxPTV%-hRbk0c6#4*T#Uo%2VC=@L))6IY-l?zuh{-KuW)Jzfv|WXqgo{O&{ClLhsuTf)ubiI^MlBz@ zZn>N8v4UFhsM0K$X$Pk!?{)sxy1k-*n!o7Edtrnhx3L=1Ip4Gh^j^XScn%ww!V8an zuWG;waU5RA_!jOXR1^X&VM?AAamVD#O6y?0^! zFp@MXr%;zu^Ai)$tMEi65;_go6kN|(dU%jTx(oRdoMs9pUc2y|zD`djH#0QKQhNHGwCkkIP zo4&d^D_UR5%FPeqt6?BV%_tIumVDJt^KIb{s4SAF&~6s|B8K3(y)BK4DS(-_slVNz z=BVQK8_D2^FNWyY_ve0UL~cy+;C$U32zohi74b61-b4?(Wx_(nv+B+sDSF=~M_yQm znHCJ0OTEr(*RD>{`Ly3S1Cm`GOyJ6rOp;?Va=~M+s>*ofm@UQ;lgRaOo{NdK*H5aO znpLX*jBfQ$2;%BO9_wHEIzl&Wn*cOst66Sez%(=W-7~1>BW)dqRq1|j6sW}!FA9AX z4Qn_?RE)1BQ>EF&Q>6y^$lb(Xe(^V_moP0-k0ec}lI9a!NoHc@$6TL3Vn6a~2#CxE zb)47aDAfv`pD=d4%D6tV{aKJ@XQa&O1+0pc(P0!(WDZO-R4UfQx36E>i$67)Tn!qp zIv6V>p(MJU^;e~G*8zK!aEbRfNnmeIz0*U<|N4{uTVfQ5C~_CJ!W&W z($JiCKjoBXY1;7BTt`|o0bm5hzk9gz2mjr{PT5RSW2|J#;pZ;r7yZ<*@gAKDn(inu zzKlNUN~#d5sM)CrxF`fNG*nvN{OinRdAso$DS9;;w;>m98`1wRJhdZU%>;)234(`k z(?v}B)}Ic}#Zjy8e;KCkfYM7*E!iK!s)rw$8Y-}2t4$7;?6IV-*mLu0bgIs!9V4*? z^hSkdZH5@vL1f77TFMs~Q%;P0dtOuL8p6)(+OJ;c~C z#9?sfVuA!`RzL)Rf#KcS=nKzH=EH;>LzxcOycp0mk01>dH-FgPUYbKMLXq+l#f*kR z=64?Es-V};yCXC3A^9rSSv#HB!CEPNT-_~d{4AcrFM z_6tu&UoU-M;QXP8hz#d}g^Ybo70xH_Z==}abT=rd?xI?Ol5}b`cNqaFq7#7}32k(# zJmaf7^903UaQH8C7z#WK{)H3I`HDJyw3tSas@M<869q%TD*>7@KzyqEy>aMvdly*D zQ5}WAJMVe2F#HZ8=gjayntf>()%av-+)IAh%@Bo~w0fK4hkWLTAm#H@1EQdph4{OG z#{NC88SjLT7Y`a8rxt||B;o2WrqcKNdc0R*FyjRZouOz1x<9omklkj;aoHMt$b8G+$|XIH8z<>%o3_^= zJB*gm%fpp%UMGQ*=={g?6dc%(ez-&}o9y{BUq_%;UUHKQ4n0ISS9Psu5ch+Mo|7f7 z<4;|Y*dJTGJ%ZyD<=HtmIK7y{u`YaC_9{t!knM^rhP5;oVYVM0f(J2;vw_DaV-QS z8J+I6@T8ZyK9@A?oG=!Wb(IC9LH;y0{`R?dUGRH;^c6CwwgsSkJOF+f?(Y}#@o7FVekttv+@Bn> ze&QSz8oFSLZb1u|zQvaOPcF^XijI=ke9u?!O*Vhz{*ilFo1WSb z1+cxBerV#+JAvK9_su(ntYwL{M!rRW(U9D#5eoqhjX%(2@1(Ab??{>IKo||d&q2)? z=oO93nC=iji}*`v4R1g5`;)Y+?AtGgR_5k-U$DQ-9JVBcpNDckJ=JPy^_r)JimzdCLgZy++N&+b zf13`z)%AP4d=xSO1yW_rS96HOS_ki62IIk;S-R-{JZm{{8|M&8ti2U%V2U0GOnESj1tfjztQ%!Pi@1=PfxLbx;n834+%K(P2}H36<`e5b3$r>>416PA zTxk*nt5Z$3`u>*uH>AgNhvq5cN8Je7w85;FXE+A&kZPc>ndzFB*NH%kx&Fn#}NoyjVta!`5DV(CDtlhWF5O(dN zG;)d@n6`Ag7W_h`?C$4>;pZ2RjLpqW_w7tK7R!kuX%cPuN^Qo}OZ7`8NG?s1A&yb6 zR;y#S#Se=>fxd5#bGb2Wd~oM2>Y;#rG8Y^r!(u4$a}biu>Ol!(F7>Tn9UGmCc{!XL zo997d?o&6%_LblB*A_9!t!HfpVOs}kMQV%hhie7CQ%7V5n1YO?cw6-VUI0|2)wZ?^O6{!o$3vG}?y8ZtO!VI(#KQg|czB3+*(_4@>^N?)LM}oZ2 z-SP(Bwj=npu~STw>5G6B1EETeP`P;~jl{5B&buX&Qujy26I9Y~Qu~z7eKB{(l-RgN zA0erD^4|51Bw&`YuJkfQeK5cwXejHEY>x8uC33HzVBU!L1_pw@V4pufGW%8+hd~9< zTOG430>zF!io?gxe|9D!6V}6ao)qan&&V?2#pX@M1Vz%q2zSvVe5xSN=Sne6URpb` zSpzlrBA7f#Hr|({Lz%g)KN5}~QUQ{^7(#i^lWJdcxiZ*8pOBc08U^Q@^e1T7kX&k` zxss>k_iPf!zLP|He+${N3K=mkr2bF9(9sR*6Ev<#aK{YFd2s8!ByLj3FXBvXhx;@e z8f+4?>YHX_>rTmb=^IdN%g?s|+*hH^2-MkDe85dUO*3aI(+4~C-MvI(~^~=*H zr})8Asp;|c?z`4w+$H^34S_bp-)IDIK|s%}&8;YEIsu0os--X+vK+L881oJOv>Nbb zKnjKPN06J>U3y^Slh=DwfUjO&W^C0WV7>w<2Km_OxhBau7DHcQhBn#6Qo7&SqKdZ& zNop2M9aw`YJ)3pObBYK27|F$2in8g-OlV9XDA*6giA{<(U%}$e_&jxzj8Ai#MOYX++aZ76es;R2-6&+ua@0;kiQ&^YfZfkfAX9IhB zW)$)kWy@(z(2e}>E-j!S1sL-;(JEb}HMs5k261uz;FffU-_x-*h~EF>Zja;G=3}#t z^gFrOz|QsY`P!#43VUMf*Y2)&j)b#fMlb(tTZqn_Q#|_W0?^;#_ZrSAze7@oXL{Qh zp?t7L_%g+wB9TKV?+8=Yr_p)zq>dFCfqXKQnC7eZ8$Beir4s0k6w}TGfbvQJVf6x) z`db8<@`uIF3I>D_`ua3-j)#E|DJZL$2KV7MF};|&^siF?+4BKkmD=x<*!N=DDy2LQ zQkX8)q)#Si$?kM*rJ%qeQMvP z_}Y{lSgHKVnFJq)nbqZ2?^yt$i2bQpv2qR_AhjxX!jqfR@ z?>STeuuXNH+<9t^^7Xs8DxAs#l)K)3EGZ-XXJsVHD5{gKL1?Q=Y^NvVj3d;XDQ9GX zZ&$U{DfR}3(u}EyQt+`hGrhoS(j-keJ2)Elnx5(epYU)*KGpbdaCKo*&OfmlAc3tHFvv0>(-d|2#?aFyNH z6bfQDYP|bL74Upp*HU+}M9a(JAclC~?A_n3iGKM!`^`pb_d<6z?Q2VCgJhs;4QcVM zcvwpi4%QJI=IT*?JFjm(E{yPd^&%xv&p>%P`sw-g?r5vXio&&ex^I}v*zJ}a9U4Mf zA-U&au$Q`pvDHSaM4xYNegydzzsa1X+u3y`K!%h+%@XQ~RKn4Idr!D+zzYrZ40pIF zfQ1&7wZv%T6=h2qSr_TOB0_o*2pxCxwtmv`(tZz8yb*u{&}g;*Cjy?w(raDc{+oE$ ze->7b7B~zq#JcU{<-pVN#;A|k??b)AhGJO}jlrSN_yy@5{7~!$vc%#^x<$m#n?K&e zNU;V$k#-R#kg74!rzC$3+>Mf=;NwF3U!MC^gy!Vj6vuGCwN-hsjy+giIjxjO>jBVD zS14odW!3V0w$FzQt>32)PYoxH=LUB+tLt7dv6RlZP{kt@%{pL6U307f;ySOYdH&1S zTyi6q&((=-JRU&mW9_q#a-i*om9qR^zbI@U%$!)7$K)Dc1|NX-KoVkDA>eHrh1*k9$LwH4coI=tqgJmlJMn%O%`P@*hwWQD8!douP%QAA?7ns%z?l zsiO$+bH93(wSB*CoAT_ux3W9x00C_fllDu%Y1zR7?hcz>c1PGO@K4i0(<`p*APMl3 z!8{b~K~@|uE1vm};1P=4pE=K9K52l(LU)V4yZ~@eq9OuF{K=(yj30&!GhMijTE5Ml zzgzO)0p?F`mbq9Y3Dc!Z2K5j1xpiEoD@eM-{5kgO(zX>RO0JA#uxmP;1(H{^$%Y*b>0@PbVF6vB=r=MBV)To{&UMBouiA?7c_Cg{ z>#OJ1W-oNRUqg3rPm411)fN`o43t>NAKvMQzWKqZYNxEDEs@#(rhA^WHyi;Do4y=w zs|i`KTp3FQzI;8pcZV?3ttkfKjV!jkw}f`tnqFC#s80NtC<>#()otEEyw{bYYhvcc zy$5lY)L5p88&{>~^l{zPm`KWZ6tFOO27A7Gzsf)Ox<2+<$|_}?88(310jirdlCMH4G+tqVR*J==f?y8F|Gvj#h%mB*wy^ zSGi3VcKa7|M$(@AR>HrAj}ONZp}3#N1QloL=~63Z#Se;3Nt$k}w6+Ar4W9k7cs;t0 zpG2n1i&ZR&ohSWiH9!SLYOY2xf>OUp-%ljG_1`=O8kZ%}E6l7~arqmtT3#vqjA|Z@ zbov~E=yVn`=63sk+sort|1f(W9Dc#}oX~f!<|Lh6STbkda9UYwu zsVVmkIs4i9VV`5y@_2~i<{?wSwm%UU>#8fxWzcu|yt0C)eh=qZpFnkS?>in)5Fp1ypOL5Mag(L-nft)#`Svrd5Zq=nDxj!@b{=x z;bsHa&O{G<@5+AmxR=ruAY%$^Mm z^Y9*#+=9%>OIH{SBY7OnjAijTsAkdZ*d%^Hn3$JQAv4W2NSrFp={b9{wn5rd{T~vK zYzbUHOyB$1Km@#C)f1B~lo`ztH<~xAl}2}Av6j9>(J2`O6?bpLJ+`R2_D(k~u2R7S z`eqCF4(c8*`oh)}Up2r11!TU`7q>t5kF)pp-^6)g0Db39yM2ox0S!#Ok{%RLkqUN8 z>If1Ft#ipHub+(^2`1h(%N)%vMWgvW>tDU!j(-p&P9gY;$5|kB#&nD_O1);#zrpoW zqnJ@%dV z#fv)W%8$6qax+tGXM%E@*RO&UUz;3{M>)eYjqt3CkH&&k$6(O^tDQab(wX9{R!9li z8nqj?@F0F{PojaV)i`WkrOq-tclUJ!yuiN#)XtU%3gUYRHTAyzR`qkb-_oYf=yQks ztims}pGdS%j}nlTIz*91eaJ%K!A7-sbc+uyY~~8**S{6RIb8Ry!~r#YCy)LX-{8Zc zfo51S6ZJWC(=-aL?}@u1MKi(yYgI0QiN>SxP2XZR%?>OoW3~H3W1YSoM$Mc{ zy{w{w@Kb%e;&GCbik+7swTfdCirOgT+tb*v7XJuje%(6~3(>Igb6pBIKIfoa<|U~09?D!04?INe*J zm1l8jyiJ$;zW1|=be5_d$l>fiA0B7$< zstYHLulm(a$l&DAmg~f;w{y81{a95K;WVPg45(*d(~RDL56a4tfe)@RLT^Zc7K`g@ z)J-2x`2?Z2|6?N)!XJ3%fFb>u4-`wqw)lZ^a`6B3-=!d1Og-JwXZt|4K0dHe3wrz* z--l29JZ5B1US~P2hQkf!RZIZuxkzT0!x%iRgf*;!gA%f8D312XbH{+cEw^L35+Cw) zjE-%RiQNXgEob_1dq)6!4g3bj0UDffsK_ZZEU(B3{sYufdL%ve(2DpSsvak2&$ff( zFV|)cBOxCE10HT@np&Oto;a_a4rZ4KFFgLJIu5=(5jLB@_&b#}1=Q^rotR`CS!gbU zZzaM}rlRUdhf1VEh4zYd%Gx9O;$Y!Q%g8z3^P@L3F%JYOKwS?e{XrNuAjlS`YcREj zR;U2J=LwNttc^7HyY<}94ZY8gI|U7-EG?kg1j`iZY68;?BTYAss$e{?W_-?tTFRqH zF9yC{QjZ)caTn^qV&WBkerrE@!|#1Hycl`izO{MXb(?}v>m#~L%wI$Au&GLbPv@{Wg-;C~G7^Kh{t8bcG za*(0PSriEg%i!y%@Z))b@3O6h==~jjafY z`b4#n@bH+L6q&dDhO$jd(jd@b(e5A)%*hXTD^%9uc$3iOnF!_ybh}0 z%?Nlndhy?3_D(_XrbIm9ny&rQVG6%-?6#CJ-UbU(t z*~uv)S8Txah3jYe)By{epjLrTdGY*osRq4m)2Zae?l?lW&lSG!)2*3&8aq-htr0Nd ze#31{ZsvIX*<;@6$K=6G*5TmHN%wW--HnH~BC2Zxn+ELttvzL3QMW1P=;+>Kib<(8 zBPsc_5ho-=$WIWmQZuc8esj6EX9--Wxwzd=NGq$Vpdc^4RMbjY(KMjOba!`ml~Y!<153s{d`0^zf{1`W^Rd1go zP$i9JX*swwiOhpfF9o1|kzS3`)oFk{SA=QKjd$-X=l97{IPrY>57+?%>0Ic6q&E*$ zpZjrU%V`jgo(&^%cTOE3scdGiv~_e2{az7Y2#ROXejICIFvztS{yHZAS7gyY$WSUPOx>bu`mixPIx)k34XDcCv|Bp3_y`(syf}I%9CX4&YkIU6924@*Fo+6pu9(YDTwxC#l*o!#UB=q|2v$#KG!lkV82`_;>U2< z+Y(OtS`NF;gjk9l|qgSEpr-QBN!p#2+}j zgCd-qk`mMuT}LEp#fzD@9Hn`nhBfBgHAWc2)16^*o#$t<^yqpKez2Qg`bl+PH{s*v>7Ba-NA#P<7_MbKHPScsP=Se+qfBs)xbuX?TR5T8oM($)} zEThh-&jupK-9OgztFx6jM48=?LHfmghlP01jNZM2gRG^xg)B0 zYizmZ?e}h|$551!lpHSP3~%S&Aio|Z~py(!ftA6!|VN7>QsoR zl)V#k+<(kbkBmoaw`>&QNS-cOuaH(}UrS^cS;8t{G3HuCr<>R0TC|JSt(0#^3B++Q zencF#MBDSpC#{9bWL&TlAICH@d`TDHySDa4qO^~5q9<@9% zG5m<<3q@Msy|ii`O?KTB(|TBJ5B@ys75g+%bNqiQn?}rI=5fBtss_~zjfV1t2_tO+5K*=a27hW7lsK6 z_^3`?%%mvC?5Z|Sq>V@|Eftl)+`|YK+QWWZ#js*ao1})bExSKY<4aQkR{|G&XbJtW zvikOc?((8WDbM=1C!D-^#mgZWE^XYX8x&G4A9V0eWz#>!l-2?8{wRpt*J{Bx<4#?r)k@v{zRD8C4tZrv3oF zBi<_*EGmd_~4%7g4sIw6bVYPBSabEIjJ4zE8USXHtlsSu}d|=%{FX`>{59!Yo|2smp8AF zur54Pw}*Cl+(hi3T7t6-XZYP>w@`!$Eo!7bQTCxNJP^6*|MP%qe*Sr+cC&8ghuY6? zI7D1v-a}+)LLG1)<9y5zKeTIrR=&zjQ4w}0ehPtWC;`#iIZPY`IWRulC# zLZAAxTy$&|S<*)heh3DwQo~(~p)l_FeKOTW@biDr_qw#X)Nj>r`VQ~+a1aM>x4+y% zJh3F!Ffp?&jb%XyhYK5jw!5KP`#zOw7FuTNj!dS-FVXJop!eMoPjb z1Ix?#l;ME*MDqRmD~0qATF`|%>)fU5(dtXSW7}?m$2iir$ZM4NGDC+h1CneP$BlDG3EpoakN7qs-!^+UM@^32tWyP}`7! z($iBTB88^7j}Z@OXj@M#C^QOJ{za&TgdtbVYu3_797(*~M{H3AjP0nB>PKBjg@ z*HPqPHL=)@^H;lO(cj#jmkCjDkYOw7UIwe#3D}MEiqg?jq396QtzFs~Na<*%muySl zpM{#CN$DA93b+rjn{;GYx>_x-6?fEe7vh=b;SUlG61UpzHgkKWR>w+^imXtN-B8zk zG+z1l)fQivCxk*O%dg$ePOwW?=XY>g|2->PkqsEa$w_FK53$oV^O2;42wY?1ALTn& zI&EH<`KVuCAW+mnNSve8d?!g+2#_Q{R{Y}Y(yP>;&eqFoj74Ad&H7TQApVhP*pLbs$=n7>sDv2e{xR;%F?=t^^i(~Wy# zglQc8#~z4ubd@O<93rpdo1Kv`Qt>CS8nBxnEW3#^H-^IqpHQ9xNBJ7Kd<8b9-4FMt zy-nZ2A%5idWX<~JC94r~d>6F8SQ(6y2lthN9{)iCYN-_;0v|#`diHj}Bi^v$`|*J+ zyC&mVgPU^7w+IwY+qR#Fd?ugqr~*e3EAqsyPTPCy&lPvPE)y4pMq(5ZW`=BT%uHF% z_TKKZd_MdlogJ$A6X~bN)LBZf5A`eV9! zo4AM!Gria`om)R|?Vq1WVWxryb$3%!V}Xl#J>Q#aad?wtt{Q^rZ(uxIjwf<++YH*a zbPs>#=di;KS6J4SRlL$jS3g%T4uJI&Rx+fo6PB=*RBP1m%p?v;7LDffBSdBlL4BhA z^&2sm77-k;wdk7t{2zTQ7w5(Tv$L-k5#bn~o#*Z2QM0(y2eBP|dj1E3Dtd6_31KrW;ct7nezP2BE{<6bRg-oC}t%5(_g!+cYr<3pbK2{%l|iNjC1s z!wEA-KVH^_F2Ex%Y^a>eC~)mXJ76b%fbw^L;C}VAN_@ZULXGLU%<)ERykItnZQ76z zOw@O-&!om{#|{rMt@QVTdRMrKe8q!%E=bcPZ^(mMSun|REArmVr`6>EjI=vW<_Mh5 zi~{R?y{{5X%+l$@M1}8H5)(mPW_*Sc?TogLgY&Hu_thQ2&h=k!h&?Ft=(YBoGmstv za2930Nl!IyYJOk&0cfXHl)#)-8|G}UP>3H&=vEmt%gP>jZOsWi6AHCHR377o=dKJV z9Nst_%QZp4`iWY;yL;YMk|uD0WApQ6i4Rw_#uw8DLe|`@WetW`hY}OCOefV7CH(`z zo2NabJI>r!Tj?ULQcbVt=N;Uq7(Q+d8($5h!()s}%)#u;y$_Y92Q2tR(mdzi(|X}3 zi6%yld2MZb^R3Q*iW!g#_U2cY?|oQ0SdZj}yrOsbp#QheK^?;6pCtV9r=hSkfJD#nsrhPNul$fRGO}4*Mhw`nUXyae z1(f*}_P!?=EF#qE!(qv{u!g~eO-`^1`rm^ndOuY3pk{ptnOl~^c}MN_WD%Y03GuXQ z$Tf}QqO#G;Z^QK0X)|Zlw(p0lTe;0VILDO*yAapL(n=M&VF4NDv)RP6$gJVv=c--8 zrB)u~*xY!4Cw-h4wKaXhuLf%%D?XIp#Jt`>TB0O|eD$h5iP!%kVdqRQ=EuC#G+@-s z@4=a5LblvU8LMSdAX0F5@9g{?!TB(){v6`P+>EOhrXV5V3ui0%Z0bD6+sXT$aY??_ zns;iU5*`~4`=eLCwmga8;<`f*U!3t&w^k94GUgT=rD~{L8 z0vnRD(8Iq-62mTsg?M`&Ls>g6p4p6=kZWQ)*?YJ$p?cy{y^LW3G~IOG`~ALN>Jcn7 zqxUfNe$T!StLT2hwzf>Fs;Vp|y|4M7Zq|1k@mp)GrkSFN1>Vxp(d{g^3T3&kA^oP0 z<)k~j?1@}N9y9g>t(?yO7)g1x|&?iR(k^cd4R9F~_*;YpFF zpd>T!pP#1Dzd5=W_-92`G-=w^q;M|kahH#w1l4+h61YC?L!^{1!TJsA0W>)>teQPJ z>u085W=1#gxx_9|%#6Ica%IqO!V^|P|6XC-lM58JE-o%Nt6?N89%m-`1qEvfQp6D_ zZo*~Yy-5H5*mQjd^S!^<-@HnsTAQOPCHlkbT#q5gFR$K7I4D*O4`kKp`vPcFG^4y) zVPL3dOr*{C?J)|=PHVBRHT7U>eOO1$Y!??+Nug;LHZ50Vfj!XoZnyAsEsELbc&QoU zk89xl2H5_HsHtJ1!oxtm183(K^K2!dN7(k7>tqi5X& zziZB@3FN9LXy5MiZG3H2JE|g|FkxB!Hah&hP1g{ekVOBP#d2?!hDlW(K1mH?%c^}K zl0Nq1!9E(9^78bFC=Xv)2@oKo^Eq9A3l!2>JTJ_>K>HaWe0!lru8x=E78VwyGpKJt zEDO(|7ubEP)HXM^cFAp}hUx2@h55!PVJi8`;Pwo=wfRAtPsc&&Qb1Zs7WgqPBc%^^ zuP_I~B1%tD8K2H{al787>Wmaj?_$^3s(A7zX#ACc)SC?xGZ?fG0`@8Tu>x>AsKop; zyWCZ?*3W5$kl$5Rn3=BxR_5mBM4dVuZQ$;fy(O<1JD z?paz|jK+NA%^GYb?il`h)cF?@z$5EJB-ywy%qHPD}m4k$;hPpT-$q$E6{GJ!I zvBUy<=c(;M2oyX#V7^Z@foltBGzk6D&Ca>eNn+S-(FGU0g;T)(^*_x3w|G{gzlaBm ze>7d;S!ifz%C27*bvv)QUoHgM~5;2Q+%1Y>vnJL$`gt3PuZc+mGwH7C3z0S50gep^WigURR5 zeY~~6%)G0st9N*~ClZ@J1N1}%o;Do|4NjwzlOg%}ln`N{&<0H5Vsa=Id{Dc^FzL_E z<1gs`?FL_Dm>EMX7SOWH*yIEroq5^$Z{nAy9X(?u?K{LSyw=mXuwo|HqYWZCRInlc zTy{ptqVd__VGv&Z1r}Hie?P6)cNsxJUKH4=fS-KfARC;v*Lq0&{szLKy!bQq{enh>WhuZNOem#c z?T(XTOBi|U)XSiKhhjmDW-Cu_{fBD!W&M#)QmS3WIibMYU+$QdLUnz-E;FJ6odV&G8_c~sk#g@85(Qfednho$;> zu-)NRC@2ajIGzvRdN7nI78PBxMWx&j%1E3A20n1G` zt^uZi>PJyFJ3#t_qL2A9GkU6ftn^?07qUxq%$hD>!HB>d{C1jhK0rQXy;A zbbpU-HwEc?7!0o_thD6c|CUF=U+xp8sH*Z9D5FIENz)AM}m`f(_!LriXcoFlZfH$HoAE_^`VrG{nF#*L>I#O4rTT=43?jYr-|8O z?ZR$J*Hj#lC!2Jn^gF{u^9y=PLuj^)-4c ziA4mkk$(4c0GT-e}fvY6kGp?_Bc6sVuc1mYFoC|>nWwb-eLI2F-|1jSy=Ta&$px6+c z7GCds;|N7WvjtgjHu!9Alt9com&!UL;E7s-94H(~tZjEnUij}i&xhpG=}wpXuOqrT z)SN=pxbkUAn=vHb1>Oq{h_I?C2DSeC(cOJjk+@d*6C&Kj_U~~)fHfsNe3ncw%WI zvmQM-fGFOxdA4dh-L*mEZV#5|=&5V5h_>kDeql`H$H(`kNOy1Vc?E1a)0#O!Clb>E zNFup!p*Q0HVQVq!HdpkisK6=*+Y9IFc8Wgox>nL$C2?v_!#e||z|u3ctB=TWsABNM z%$|hPSFKYve%a*%*~Q@Ev_o{sUy-OIT~Q%@5v@Kx;IbKq+tU@F=~c_|b}y(z%BA+O zDLyguO6}htU$gscCE8EO{QelvVWXX|B!=VX^#}6Z&Cw2Z`0dfTO9^MO0PW0jtq`o4 zY&**i>Xij!+5P>O#P{vu6+px?+c!H+IMWDHEsyuadZ7sQgfWTNG zCYFUkwhoKyRRObti}|u{)SXPyLkq}e(l5UE&srMiSfM;T`>=t@2#vG`n7QuF*iI{h z*6zqp+GLp! zQicUm1Eb9+B2*2iq+B1Lu`@=^*0HABsR)uGTJsM%Awe zY*%0$;%QyvuM-6Z+fTWBYMGYag?>Fr56O@Jm*I@7SfVvwRqdz2etdf#e5kXA9^^}Y z45-8ZVd00PeW%PjQpRO?IS`e%Sg4JZiv{ev=phXN<2h~NatTN64rS|4BT5@YDgH8- zK0dM_xnb-kLq{Mc6-hcH)yQ+yBj0RfG6Cb#-~( zqxJ{4rgw#_w;e1;l>+Zz4)HF4!VDUyiPdoDLh0=^Dmxa6aDh zZB}|gYe(aF-^`;|obM=>fIOGFmu5v8w>*ws6(WG12rCQ2xcp{PSb3kAG?1j!zXH0}2alB>XD|gM6WW7?Q|_d|N7*X{(_9$1F$b`&=#bO3EIQ# z{OnaUYS?BXD;`NSP_IWSJlOoR_8l(l{9qI_PVNZxB;l=l;_iJ8qxp`(*`pi-z$6!Zl!9=^pZj}uUcIJ z9oT&iFDffj7x%YgCf3W1#Nfc01{G+m6Q3#N_D=iXSLhy{u%*ba2IVH07T=DVFZ5Aa z(H!RUXtZSV{IPx;5=hs9)L?_9$^x7p0t~jn-JQu9l=h?($QG~_A0ecjYA57_mX<=a0 z&|b~c6}{V8*w5?wp;ZOX?TH&4Fqwg@27~pFm&akI3!9i|H6+-#_y%0#@qkk-v8)-~~afE)MRL+l) z_33;n>4yHcQoYidsU|c)M1Qo=C|RnT+pmCzrKF);|He9OxZWP)e%<3Xy0l0V65)!Vb8tp&R(I>w14^Egq!-#2`DnbBZ4Nq$aQMcjH;5r$hQCt=22Xr2 zQOrOj<4~VEmCEu&25G%f5H4I)zTfcC4GN&wB={dFXtPu~B+o`m z{(+iRXcVWMpawp#GeGK-{h0jLYUIVIt?#Ed>ZF^ZLX^@3(u`2fyltlEcMmUF^x3cG z?)9QIOJT7JwLumGM0Q}K*@{iuccXK^>Yc6BNrm_;j;#J{Ec_s}YzUrLSUxnKA7^}XmSUc?S!VXt_Is{a3URQTKe4-$XuVF^5|@OkL< zCARYaeD5DXT_nhSv}S)vt9vrBje+?QL)Qc)W2A@z5_r=FaUkz05jcBr@mWtYw7Fgk zsfT*Loqa1-3T&wr&I78ciSo7v{VXOgnPNqJDg#D&O3u+9Gg4%Wnp{qdS*hHQm{s^~ zYimXWnS8j9cb8&fVlbwIX(6ZUJ?rPgLI@DhweHiwOa(0ylcb&=k?+kaf_xS~KIqQn zzL6kB?tN83vC$q%+IH5{AWi>HR9oc@IE5pP%Uc7se*GG0%Im8L7z|+&Aq^plELmd^*^NC*jcjAdl4uk|WGl(OWMs)w zLzoym_w;$*Ja7L0&-3>2%6!-JJyW(K&g1>88KPyB%GEA}d*wOn5B7MI= zP3|BT_fUe5pPvnpqT={|>QnX{441gXL|SL&B}hz7Y3iAtokf|MrF0!yXq$Ys=TwKD z4*I7TDND~rV%5m#@OmZXar>9DTXuLy>Zk7=ec_7#Ua~KL61t_m--+yf|Ivl}lFC<- z+Wwh;b4~vEVwHI+c!~H%E`o(!=iAp`?N9ahxLPSQ@*!UMH65MIZRYw+^2pDbsx1#; zF~dfQ92}MJiVA&CoRha|T9)jf*4=o4kCZ4hW1pO~nw9fly+ z3EvH7RJyCo!fDwCs|%|UH0Rmwve>=qw+c%4$rW#tb?olG?X~ICaduwBdwca0F4Dw@ zVIj$tG>g!QJhZ>fc8di4OSM1S@4v2^seAN_xpEE=ods9&+~;xAyVmo!N%4KfnK;S4 zqN62QO@pOL5R~JWPbW;ex8Ut)S2YbdQ5W3uj1#&#sN>zxQrboY6QFQ|_z$1p`!075-nc&q#`-N1a=E&5B4VITiR8O`tx zO9vL2hUxx%)-|5UC8@5sDu^U{Z4?@o`Wm!US91;{0S>nFmX?+(xJ~_I?oFqDXl{N79SFyF7g*~6YFQ%fQXHX?4dsU{>;35z68yK6Wp^p5wX8Qa!Nr^(%GLc5Q~lW}yf z!P>;(@U@T;a*KyjC^Dz*cyh?`Rg0Ux=6C%H;tP)RZj}d;*s*83g5sv)PI{oxXyO@n zx$5fbsJJhR^SRa4LVbOGcdykWJvTI)w+`wyKEKlwO{v4opUk6J8blPN#z=N(h3jO+ zC)m~}?3Sh~W@o(f^ zl@$7IF%+Op2RXX7<$YE#Jq}%NCr;a#jg*rEF53wD>eU@`HNP%uC!O31c{S=ABZTL! zRY}I~nE6^*4}tg~=#Z?847s_v=b>yt9U7}wx+@FwHQe&GjKaUr7nq|;KLjg3S&h<&{Mj%Tixjf?Gu~| zvrp8)6y7XNC@n%EQ*))+KMCCxdtAW2TY2Q8^|xSoX@Q$412w4Y2vV4#FO@%2a%qS8 z4T?zqa?!PelVS}}9=p;|nNQKPd z)+-P1NV$&Dp4KOXKFM*mH9zLOalIbp^+G!w>QQ3s&xR}{vI+9oKs>&;<@&RlCBY}k z^aUSItzCWR3x6Nwl8`mG%Q{b8TsPy3HL62;UN6uxGAI{r8~eV-6=W=F*l?-5Kxy|= zLKX&E1T$449sf$wz}5fk&2kxD`-8B!AwVet{I-NsH53z%#xZqr5q=OHv@Cx)lJ$ZA z<>gF#%Dzwpn?SaN!`Ypo1arXl{H}<1dTxx}i^aHX5sE&bC21HGDBy+U<2?n4G8>rX zODy2;oy~)L0euI0WUn4&zN(sR#|GNUmTLjC2pDqpKWg*A%I>R>ImU|?00pe0nIit0 zM?#EO2IF^2ce|0#6(ZaA=rc;VwfC54>gI5#{*#%Ss@cuOe$1G@(FP2vFt$Ng(vz=Y zwuGZhSU~G*6B5q4Uw>AfB`CJ@+&tTnEMn#o9LS`y4#)#t8i`TMe1EP`fc04C9Yn&> z_F{cyUWfvUg(=D;9~Og4P%Z?tB8nd2g$N~#A;WD6W3cEK%TjC163k*Wz)Qv82O#eR z0^F?tcZ$KiKo*1FV_b0Me{tFwX}$-gzlG(5pc&fmfGcv-Z)Jy?XuKSCqN!>w?1-q? zSpIK{hvA{mbyL;YVw)izPS}3o$>cB9D=I16A-fM=B;#sDw_nWBlez_14qP7?xQ*xE zQ5k*@o$e-lo(2xHL{H9>kHSlbiNRz1XJ;Lz+~}``BL(XKoj(oMUGy`FR|UAq%x%|f zYF_-HDH|Okzg&geNxzdD@e_J{88_v5d3p5@fb)(*p^$dJ7bn_M_D#o%&UMW!?N_wr z;^V8rpO^iQd*Rgw!q3BJLB%Bc{XZ4doWH)dLgVpeaNKisjgE;4ID9F1l-_jcG8UWI zzM`Xp2Kz7K z{p&*IjP7I&q?iY-VD!CvCl?kM=|6op&wM5!jWpJOV^~*zXm1Y|-R`luzLNGU`fJ=IwKuyG%Uv4P}e*b$$VgAOXfxJQ3% zyw{g{Osd_E;XJ1$z)$UYq-|y<+!%Q<97+K?v^Rm6Zc^iMB0u1g4Zjp!M(Fz&%ZVb?7^-of?8++=@6t8d^ ziNqJZ=2RVY<^bNZxX&H^?AqFcAV$#yV!V^|8NIVhNO()YWV+XGz-x<5WI$A;z(?ft zsevjN@fUg-k@9aD>|n4jxx1@^kI*?heD|E~L~D`0y5z~dN8WM9Wko1h-U!_im#N$H+it!-`Po9mDF;r8fA z#(J#&wqLW}wNDONR#t{iX%h&=JP|r>T);XvK+DIH1@50t>+S5c^qp-}9YJz)2KM&% z3$=eHoi3B0viQm2GeHKUB)6br{Xonm^5TJDF>pxXebY7XrSQ#0`ua|U@^ui@$ zuX=-Ww3thnKI!#q(=DQR2dngvXnplZ%qk+0c=YYkSF>enAt51DnyyrlX_=$}NiZI$ z@>B}*yL`4t!_nTLAQY7@6;(r;0lVe{zCMQu|dL z_5;E<_cT5+F&jFJS>@e`(Ik64EOuYT-J!73(vzg7k1Z{~{!C_Eo+_~V_||8wv$uE3 zErOeq10LIkm%#vs8_~NtHwdJE78Tx22WsbpL$3l3lT=`QeAshF_ElwNc5W`AM+pJ> zI4jP2En7m*A*whg|Al{9On+JqMO8&5c!_ECn1oMGN(u$^5r^4#`Kid`?mJ5i!SQl~ z5VwO5BRIsv!~nQ+Uh2kLLuws_XOX>u0UvyOTI6@-C8wSui!0Zz!Kc?p$x4JnRJh5`k{>6LcLa?7cBebA5oTy5GEw*+ z;Uv6Nn3cH&Mnc_(^I_o^D*gabP|h)rnBXv*EXM&>X&g7a>05ztpuyU) zG2*=#(L;NvQ%mctQB$&RW(t%n`z>3qoE%a<*+H`n!+#?91?8*a3z%?QJ^T*3f_=;XUE8 z-q7GRFLs7z5!%~zab4$81Dd|_(TRYOc+cdV*ovidrb5{7_DP-SzDePWBysBzIvtf_kY0Osr*v9gsh`sLqkJj z#W(94Vq*AQ1}Yq_baW!rEb9<1jZXx5HC!DbYf)tb6pRJj=QCiS6BO;*kr)hy3iHI} z)h}6%q5M*_8J7@aF%s7r<_0Rmx9vW#2d$6H&&xx_HXnJrHveX<$l^@{t9-LP<+#Z%=T14mOBIv5omI=CjV5}3;VxydSa8~!%$qk?gx!P1pHk^ L>!OM-S_b?JxsV^C literal 0 HcmV?d00001 diff --git a/assignment-3/submission/17307110367/img/res_6_K.png b/assignment-3/submission/17307110367/img/res_6_K.png new file mode 100644 index 0000000000000000000000000000000000000000..8e9c60961d7b42defc1a851ccd68c31af404d343 GIT binary patch literal 39823 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 Date: Mon, 14 Jun 2021 18:20:23 +0800 Subject: [PATCH 06/13] update assignment-3/submission/17307110367/README.md. --- assignment-3/submission/17307110367/README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/assignment-3/submission/17307110367/README.md b/assignment-3/submission/17307110367/README.md index f12ddf4..234bc16 100644 --- a/assignment-3/submission/17307110367/README.md +++ b/assignment-3/submission/17307110367/README.md @@ -48,7 +48,6 @@ $$ \mu_x=\begin{bmatrix}1&2\end{bmatrix},\mu_y=\begin{bmatrix}16&-5\end{bmatrix},\mu_z=\begin{bmatrix}10&22\end{bmatrix}\\\\ \Sigma_x=\begin{bmatrix}73&0\\\\0&22\end{bmatrix},\Sigma_y=\begin{bmatrix}21.2&0\\\\0&32.1\end{bmatrix},\Sigma_z=\begin{bmatrix}10&5\\\\5&10\end{bmatrix}\\\\ - x样本点数量为800,y的样本点数量为200,z的样本点数量为100. $$ -- Gitee From 8fa3e4a817cf5da6a72e86197409d0b76c8b45c7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:21:45 +0800 Subject: [PATCH 07/13] update assignment-3/submission/17307110367/README.md. --- assignment-3/submission/17307110367/README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/assignment-3/submission/17307110367/README.md b/assignment-3/submission/17307110367/README.md index 234bc16..fda7030 100644 --- a/assignment-3/submission/17307110367/README.md +++ b/assignment-3/submission/17307110367/README.md @@ -48,7 +48,8 @@ $$ \mu_x=\begin{bmatrix}1&2\end{bmatrix},\mu_y=\begin{bmatrix}16&-5\end{bmatrix},\mu_z=\begin{bmatrix}10&22\end{bmatrix}\\\\ \Sigma_x=\begin{bmatrix}73&0\\\\0&22\end{bmatrix},\Sigma_y=\begin{bmatrix}21.2&0\\\\0&32.1\end{bmatrix},\Sigma_z=\begin{bmatrix}10&5\\\\5&10\end{bmatrix}\\\\ -x样本点数量为800,y的样本点数量为200,z的样本点数量为100. +x样本点数量为800, +y的样本点数量为200,z的样本点数量为100. $$ 生成的数据如图所示 @@ -76,6 +77,7 @@ $$ $$ \mu_x=\begin{bmatrix}1&2\end{bmatrix},\mu_y=\begin{bmatrix}10&22\end{bmatrix},\mu_z=\begin{bmatrix}-10&22\end{bmatrix},\mu_x=\begin{bmatrix}10&-22\end{bmatrix},\mu_x=\begin{bmatrix}-10&-22\end{bmatrix}\\\\ + \Sigma_x=\begin{bmatrix}73&0\\\\0&22\end{bmatrix},\Sigma_y=\Sigma_z=\Sigma_w=\Sigma_t=\begin{bmatrix}10&5\\\\5&10\end{bmatrix}\\\\ x样本点数量为8000, y,z,w,t的样本点数量为1000 -- Gitee From 34eb0321546f43ff2fb6381ea2b3d8e96ec9a896 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:22:34 +0800 Subject: [PATCH 08/13] update assignment-3/submission/17307110367/README.md. --- assignment-3/submission/17307110367/README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/assignment-3/submission/17307110367/README.md b/assignment-3/submission/17307110367/README.md index fda7030..1a98061 100644 --- a/assignment-3/submission/17307110367/README.md +++ b/assignment-3/submission/17307110367/README.md @@ -53,6 +53,7 @@ y的样本点数量为200,z的样本点数量为100. $$ 生成的数据如图所示 + ![](./img/data1_1_Kmeans.png) 使用`K-Means`和`GMM`进行聚类,画出各自的聚簇: @@ -77,7 +78,6 @@ $$ $$ \mu_x=\begin{bmatrix}1&2\end{bmatrix},\mu_y=\begin{bmatrix}10&22\end{bmatrix},\mu_z=\begin{bmatrix}-10&22\end{bmatrix},\mu_x=\begin{bmatrix}10&-22\end{bmatrix},\mu_x=\begin{bmatrix}-10&-22\end{bmatrix}\\\\ - \Sigma_x=\begin{bmatrix}73&0\\\\0&22\end{bmatrix},\Sigma_y=\Sigma_z=\Sigma_w=\Sigma_t=\begin{bmatrix}10&5\\\\5&10\end{bmatrix}\\\\ x样本点数量为8000, y,z,w,t的样本点数量为1000 -- Gitee From 866533ca949a9ea8bac401a46d534a72efd7f91c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:23:00 +0800 Subject: [PATCH 09/13] update assignment-3/submission/17307110367/README.md. --- assignment-3/submission/17307110367/README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/assignment-3/submission/17307110367/README.md b/assignment-3/submission/17307110367/README.md index 1a98061..1fb9905 100644 --- a/assignment-3/submission/17307110367/README.md +++ b/assignment-3/submission/17307110367/README.md @@ -84,6 +84,7 @@ y,z,w,t的样本点数量为1000 $$ 生成的数据如图所示 + ![](./img/data6.png) 使用`K-Means`和`GMM`进行聚类,画出各自的聚簇: -- Gitee From 788a023e201ced5e4dd4aca924feb522b69cba3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:27:38 +0800 Subject: [PATCH 10/13] !1 [submission] assignment-3 of 17307110367 --- assignment-3/submission/source.py | 194 ++++++++++++++++++++++++ assignment-3/submission/tester_demo.py | 197 +++++++++++++++++++++++++ 2 files changed, 391 insertions(+) create mode 100644 assignment-3/submission/source.py create mode 100644 assignment-3/submission/tester_demo.py diff --git a/assignment-3/submission/source.py b/assignment-3/submission/source.py new file mode 100644 index 0000000..48cc09b --- /dev/null +++ b/assignment-3/submission/source.py @@ -0,0 +1,194 @@ +import numpy as np +import matplotlib.pyplot as plt +class KMeans: + + def __init__(self, n_clusters): + self.num_clusters = n_clusters + self.centers = None + self.dists = None + self.labels = None + self.max_iter = 1000 + self.stop_var = 1e-3 + self.variance = 1e-2 + + # 无监督分类的实现 + def fit(self, train_data): + self.init_centers(train_data) + for _iter in range(self.max_iter): + self.update_dists(train_data) + self.update_centers(train_data) + if self.variance < self.stop_var: + print('Current_iter:', iter) + break + + # 预测样本所属类别 + def predict(self, test_data): + res = [] + for i, sample in enumerate(test_data): + dist = self.l2_distance(sample) + res.append(np.argmin(dist)) + return np.array(res) + + #初始化中心点 + def init_centers(self, train_data): + init_row = np.random.choice(range(train_data.shape[0]), self.num_clusters, replace=False) + self.centers = train_data[init_row] + + #更新距离 + def update_dists(self, train_data): + labels = np.empty(train_data.shape[0]) + dists = np.empty([0, self.num_clusters]) + for i, sample in enumerate(train_data): + dist = self.l2_distance(sample) + labels[i] = np.argmin(dist) + dists = np.vstack([dists, dist]) + if self.dists is not None: + self.variance = np.sum(np.abs(self.dists - dists)) + self.dists = dists + self.labels = labels + + #更新中心点 + def update_centers(self, samples): + centers = np.empty([0, samples.shape[1]]) + for i in range(self.num_clusters): + idx = (self.labels == i) + center_samples = samples[idx] + if len(center_samples) > 0: + center = np.mean(center_samples, axis=0) + else: + center = self.centers[i] + centers = np.vstack((centers, center[np.newaxis, :])) + self.centers = centers + + #l2距离的计算 + def l2_distance(self, sample): + return np.sum(np.square(self.centers - sample), axis=1) + +class GaussianMixture: + + def __init__(self, n_clusters): + self.num_clusters = n_clusters + self.max_iter = 100 + self.num = None + self.dim = None + self.X = None + self.Q = None + self.weight = None + self.covar = None + self.mu = None + self.labels = None + + def fit(self, train_data): + self._initialize_params(train_data) + while self.max_iter > 0: + # 初始化变量 + # e-step + self.e_step() + # m-step + self.m_step() + self.max_iter -= 1 + self.labels = np.argmax(self.Q, axis=1) + + def predict(self, test_data): + out = [] + for i in range(self.num): + mxp = 0 + res = -1 + for k in range(self.num_clusters): + temp = self.weight[k]*self.multi_norm(test_data[i, :], self.mu[k, :], self.covar[k, :, :]) + if temp > mxp: + mxp = temp + res = k + out.append(res) + out = np.array(out) + return out + + def _initialize_params(self, X): + self.X = X # 分类的数据集 + self.num = X.shape[0] # 样本数目 + self.dim = X.shape[1] # 特征维度 + self.Q = np.zeros((self.num, self.num_clusters)) # 初始化各高斯分布对观测数据的响应度矩阵 + self.weight = [1 / self.num_clusters] * self.num_clusters # 初始化各高斯分布的权重为聚类数目分之一 + self.mu = np.random.uniform(0, 1, (self.num_clusters, self.dim)) * np.max(X, axis=0) # 随机产生均值向量 + self.covar = np.array([np.identity(self.dim) for _ in range(self.num_clusters)]) # 随机产生协方差矩阵 + + #更新分模型对数据的响应度矩阵Q。e步 + def e_step(self): + for i in range(self.num): + q_i = [] + for k in range(self.num_clusters): + postProb = self.multi_norm(self.X[i, :], self.mu[k, :], self.covar[k, :, :]) + q_i.append(self.weight[k] * postProb + 1e-32) + self.Q[i, :] = np.array(q_i) / np.sum(q_i) + + #返回多维高斯分布的结果 + def multi_norm(self, x, mu, sigma): + det = np.linalg.det(sigma) + inv = np.matrix(np.linalg.inv(sigma)) + x_mu = np.matrix(x - mu).T + const = 1 / (((2 * np.pi) ** (len(x) / 2)) * (det ** (1 / 2))) + exp = -0.5 * x_mu.T * inv * x_mu + return float(const * np.exp(exp)) + + # m步,更新参数 + def m_step(self): + # update weight 更新权值矩阵 + self.weight = np.mean(self.Q, axis=0) + + # update mu 更新均值向量 + temp = [] + for k in range(self.num_clusters): + up = np.zeros(self.dim) + for j in range(self.num): + up += self.Q[j, k] * np.array(self.X[j, :]) + down = np.sum(self.Q[:, k]) + temp.append(up / down) + self.mu = np.array(temp) + + # update covar 更新协方差矩阵 + for k in range(self.num_clusters): + up = np.zeros((self.dim, self.dim)) + for j in range(self.num): + x_mu = np.matrix(self.X[j, :] - self.mu[k, :]) + # print(x_mu.T*x_mu) + up += self.Q[j, k] * (x_mu.T * x_mu) + # print(up) + down = np.sum(self.Q[:, k]) + var = np.array(up / down) + self.covar[k, :, :] = var + +class ClusteringAlgorithm: + + def __init__(self): + self.cluster_num = 2 + self.model = None + + def fit(self, train_data, upper): + sum = np.zeros(upper-2) + for i in range(2, upper): + kmeans = KMeans(i) + kmeans.fit(train_data) + m = kmeans.labels + c = kmeans.centers + for j in range(len(train_data)): + c1 = c[int(m[j])] + x1 = train_data[j] + sum[i-2] += np.sum(np.square(c1-x1)) + c = plt.plot(np.arange(2, upper), sum) + plt.savefig(f'./img/elbow.png') + plt.show() + n = len(sum) + mx = 0 + for i in range(1, n - 1): + del1 = (sum[0] - sum[i]) / i + del2 = (sum[i] - sum[n - 1]) / (n - 1 - i) + delta = del1 - del2 + # 找到符合要求,并且插值最大的 K + if delta > 0.3 * max(del1, del2) and delta > mx: + mx = delta + self.cluster_num = i + 2 + self.model = KMeans(self.cluster_num) + self.model.fit(train_data) + + def predict(self, test_data): + return self.model.predict(test_data) diff --git a/assignment-3/submission/tester_demo.py b/assignment-3/submission/tester_demo.py new file mode 100644 index 0000000..243bf59 --- /dev/null +++ b/assignment-3/submission/tester_demo.py @@ -0,0 +1,197 @@ +import numpy as np +import sys +import matplotlib.pyplot as plt +from source import KMeans, GaussianMixture,ClusteringAlgorithm + + +def shuffle(*datas): + data = np.concatenate(datas) + label = np.concatenate([ + np.ones((d.shape[0],), dtype=int)*i + for (i, d) in enumerate(datas) + ]) + N = data.shape[0] + idx = np.arange(N) + np.random.shuffle(idx) + data = data[idx] + label = label[idx] + return data, label + + +def data_1(): + mean = (1, 2) + cov = np.array([[73, 0], [0, 22]]) + x = np.random.multivariate_normal(mean, cov, (800,)) + + mean = (16, -5) + cov = np.array([[21.2, 0], [0, 32.1]]) + y = np.random.multivariate_normal(mean, cov, (200,)) + + mean = (10, 22) + cov = np.array([[10, 5], [5, 10]]) + z = np.random.multivariate_normal(mean, cov, (100,)) + + data, _ = shuffle(x, y, z) + #displayer([x, y, z], "data") + return (data, data), 3 + + +def data_2(): + train_data = np.array([ + [23, 12, 173, 2134], + [99, -12, -126, -31], + [55, -145, -123, -342], + ]) + return (train_data, train_data), 2 + + +def data_3(): + train_data = np.array([ + [23], + [-2999], + [-2955], + ]) + return (train_data, train_data), 2 + +def displayer(data,name): + datas = [[], [], [], [], []] + for kind in range(5): + for i in range(len(data[kind])): + datas[kind].append(data[kind][i]) + + for each in datas: + each = np.array(each) + if each.size > 0: + plt.scatter(each[:, 0], each[:, 1]) + plt.savefig(f'img/{name}') + plt.show() + +def display(data, label, name): + datas = [[], [], [], [], []] + for i in range(len(data)): + datas[label[i]].append(data[i]) + + for each in datas: + each = np.array(each) + if each.size > 0: + #plt.scatter(each[:, 0], np.zeros(each.size)) + plt.scatter(each[:, 0], each[:, 1]) + plt.savefig(f'img/{name}') + plt.show() + +#自己制作的二维数据集 +def data_6(): + mean = (1, 2) + cov = np.array([[73, 0], [0, 22]]) + x = np.random.multivariate_normal(mean, cov, (80,)) + + mean = (10, 22) + cov = np.array([[10, 5], [5, 10]]) + y = np.random.multivariate_normal(mean, cov, (100,)) + + mean = (-10, 22) + cov = np.array([[10, 5], [5, 10]]) + z = np.random.multivariate_normal(mean, cov, (100,)) + + mean = (10, -22) + cov = np.array([[10, 5], [5, 10]]) + u = np.random.multivariate_normal(mean, cov, (100,)) + + mean = (-10, -22) + cov = np.array([[10, 5], [5, 10]]) + v = np.random.multivariate_normal(mean, cov, (100,)) + + + data, _ = shuffle(x, y, z, u, v) + #displayer([x, y, z, u, v], "data") + return (data, data), 5 + +def test_without_n_clusters(data_fuction, algorithm_class): + (train_data, test_data), n_clusters = data_fuction() + model = algorithm_class() + model.fit(train_data, 10) + res = model.predict(test_data) + return model.cluster_num + + +def test_with_n_clusters(data_fuction, algorithm_class): + (train_data, test_data), n_clusters = data_fuction() + model = algorithm_class(n_clusters) + model.fit(train_data) + res = model.predict(test_data) + #display(test_data, res, "res") + assert len( + res.shape) == 1 and res.shape[0] == test_data.shape[0], "shape of result is wrong" + return res + + +def testcase_1_1(): + test_with_n_clusters(data_1, KMeans) + return True + + +def testcase_1_2(): + res = test_with_n_clusters(data_2, KMeans) + return res[0] != res[1] and res[1] == res[2] + + +def testcase_2_1(): + test_with_n_clusters(data_1, GaussianMixture) + return True + + +def testcase_2_2(): + res = test_with_n_clusters(data_3, GaussianMixture) + return res[0] != res[1] and res[1] == res[2] + +def testcase_1_6(): + test_with_n_clusters(data_6, KMeans) + return True + +def testcase_2_6(): + test_with_n_clusters(data_6, GaussianMixture) + return True + +def testcase_3_1(): + res = test_without_n_clusters(data_6, ClusteringAlgorithm) + print(res) + return res == 5 + +def test_all(err_report=False): + testcases = [ + ["KMeans-1", testcase_1_1, 4], + ["KMeans-2", testcase_1_2, 4], + + # ["KMeans-3", testcase_1_3, 4], + # ["KMeans-4", testcase_1_4, 4], + # ["KMeans-5", testcase_1_5, 4], + #["KMeans-6", testcase_1_6, 4], + + ["GMM-1", testcase_2_1, 4], + ["GMM-2", testcase_2_2, 4], + + # ["GMM-3", testcase_2_3, 4], + # ["GMM-4", testcase_2_4, 4], + # ["GMM-5", testcase_2_5, 4], + #["GMM-6", testcase_2_6, 4], + #["ClusteringAlgorithm", testcase_3_1, 4] + ] + sum_score = sum([case[2] for case in testcases]) + score = 0 + for case in testcases: + try: + res = case[2] if case[1]() else 0 + except Exception as e: + if err_report: + print("Error [{}] occurs in {}".format(str(e), case[0])) + res = 0 + score += res + print("+ {:14} {}/{}".format(case[0], res, case[2])) + print("{:16} {}/{}".format("FINAL SCORE", score, sum_score)) + + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "--report": + test_all(True) + else: + test_all() -- Gitee From 256642d8e070b17a28ef591d47f04282b6ead3b7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:27:54 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20as?= =?UTF-8?q?signment-3/submission/tester=5Fdemo.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-3/submission/tester_demo.py | 197 ------------------------- 1 file changed, 197 deletions(-) delete mode 100644 assignment-3/submission/tester_demo.py diff --git a/assignment-3/submission/tester_demo.py b/assignment-3/submission/tester_demo.py deleted file mode 100644 index 243bf59..0000000 --- a/assignment-3/submission/tester_demo.py +++ /dev/null @@ -1,197 +0,0 @@ -import numpy as np -import sys -import matplotlib.pyplot as plt -from source import KMeans, GaussianMixture,ClusteringAlgorithm - - -def shuffle(*datas): - data = np.concatenate(datas) - label = np.concatenate([ - np.ones((d.shape[0],), dtype=int)*i - for (i, d) in enumerate(datas) - ]) - N = data.shape[0] - idx = np.arange(N) - np.random.shuffle(idx) - data = data[idx] - label = label[idx] - return data, label - - -def data_1(): - mean = (1, 2) - cov = np.array([[73, 0], [0, 22]]) - x = np.random.multivariate_normal(mean, cov, (800,)) - - mean = (16, -5) - cov = np.array([[21.2, 0], [0, 32.1]]) - y = np.random.multivariate_normal(mean, cov, (200,)) - - mean = (10, 22) - cov = np.array([[10, 5], [5, 10]]) - z = np.random.multivariate_normal(mean, cov, (100,)) - - data, _ = shuffle(x, y, z) - #displayer([x, y, z], "data") - return (data, data), 3 - - -def data_2(): - train_data = np.array([ - [23, 12, 173, 2134], - [99, -12, -126, -31], - [55, -145, -123, -342], - ]) - return (train_data, train_data), 2 - - -def data_3(): - train_data = np.array([ - [23], - [-2999], - [-2955], - ]) - return (train_data, train_data), 2 - -def displayer(data,name): - datas = [[], [], [], [], []] - for kind in range(5): - for i in range(len(data[kind])): - datas[kind].append(data[kind][i]) - - for each in datas: - each = np.array(each) - if each.size > 0: - plt.scatter(each[:, 0], each[:, 1]) - plt.savefig(f'img/{name}') - plt.show() - -def display(data, label, name): - datas = [[], [], [], [], []] - for i in range(len(data)): - datas[label[i]].append(data[i]) - - for each in datas: - each = np.array(each) - if each.size > 0: - #plt.scatter(each[:, 0], np.zeros(each.size)) - plt.scatter(each[:, 0], each[:, 1]) - plt.savefig(f'img/{name}') - plt.show() - -#自己制作的二维数据集 -def data_6(): - mean = (1, 2) - cov = np.array([[73, 0], [0, 22]]) - x = np.random.multivariate_normal(mean, cov, (80,)) - - mean = (10, 22) - cov = np.array([[10, 5], [5, 10]]) - y = np.random.multivariate_normal(mean, cov, (100,)) - - mean = (-10, 22) - cov = np.array([[10, 5], [5, 10]]) - z = np.random.multivariate_normal(mean, cov, (100,)) - - mean = (10, -22) - cov = np.array([[10, 5], [5, 10]]) - u = np.random.multivariate_normal(mean, cov, (100,)) - - mean = (-10, -22) - cov = np.array([[10, 5], [5, 10]]) - v = np.random.multivariate_normal(mean, cov, (100,)) - - - data, _ = shuffle(x, y, z, u, v) - #displayer([x, y, z, u, v], "data") - return (data, data), 5 - -def test_without_n_clusters(data_fuction, algorithm_class): - (train_data, test_data), n_clusters = data_fuction() - model = algorithm_class() - model.fit(train_data, 10) - res = model.predict(test_data) - return model.cluster_num - - -def test_with_n_clusters(data_fuction, algorithm_class): - (train_data, test_data), n_clusters = data_fuction() - model = algorithm_class(n_clusters) - model.fit(train_data) - res = model.predict(test_data) - #display(test_data, res, "res") - assert len( - res.shape) == 1 and res.shape[0] == test_data.shape[0], "shape of result is wrong" - return res - - -def testcase_1_1(): - test_with_n_clusters(data_1, KMeans) - return True - - -def testcase_1_2(): - res = test_with_n_clusters(data_2, KMeans) - return res[0] != res[1] and res[1] == res[2] - - -def testcase_2_1(): - test_with_n_clusters(data_1, GaussianMixture) - return True - - -def testcase_2_2(): - res = test_with_n_clusters(data_3, GaussianMixture) - return res[0] != res[1] and res[1] == res[2] - -def testcase_1_6(): - test_with_n_clusters(data_6, KMeans) - return True - -def testcase_2_6(): - test_with_n_clusters(data_6, GaussianMixture) - return True - -def testcase_3_1(): - res = test_without_n_clusters(data_6, ClusteringAlgorithm) - print(res) - return res == 5 - -def test_all(err_report=False): - testcases = [ - ["KMeans-1", testcase_1_1, 4], - ["KMeans-2", testcase_1_2, 4], - - # ["KMeans-3", testcase_1_3, 4], - # ["KMeans-4", testcase_1_4, 4], - # ["KMeans-5", testcase_1_5, 4], - #["KMeans-6", testcase_1_6, 4], - - ["GMM-1", testcase_2_1, 4], - ["GMM-2", testcase_2_2, 4], - - # ["GMM-3", testcase_2_3, 4], - # ["GMM-4", testcase_2_4, 4], - # ["GMM-5", testcase_2_5, 4], - #["GMM-6", testcase_2_6, 4], - #["ClusteringAlgorithm", testcase_3_1, 4] - ] - sum_score = sum([case[2] for case in testcases]) - score = 0 - for case in testcases: - try: - res = case[2] if case[1]() else 0 - except Exception as e: - if err_report: - print("Error [{}] occurs in {}".format(str(e), case[0])) - res = 0 - score += res - print("+ {:14} {}/{}".format(case[0], res, case[2])) - print("{:16} {}/{}".format("FINAL SCORE", score, sum_score)) - - -if __name__ == "__main__": - if len(sys.argv) > 1 and sys.argv[1] == "--report": - test_all(True) - else: - test_all() -- Gitee From 1b4fea2a47e2843768bb7d36b2cf687196795c69 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:28:00 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E5=88=A0=E9=99=A4=E6=96=87=E4=BB=B6=20as?= =?UTF-8?q?signment-3/submission/source.py?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- assignment-3/submission/source.py | 194 ------------------------------ 1 file changed, 194 deletions(-) delete mode 100644 assignment-3/submission/source.py diff --git a/assignment-3/submission/source.py b/assignment-3/submission/source.py deleted file mode 100644 index 48cc09b..0000000 --- a/assignment-3/submission/source.py +++ /dev/null @@ -1,194 +0,0 @@ -import numpy as np -import matplotlib.pyplot as plt -class KMeans: - - def __init__(self, n_clusters): - self.num_clusters = n_clusters - self.centers = None - self.dists = None - self.labels = None - self.max_iter = 1000 - self.stop_var = 1e-3 - self.variance = 1e-2 - - # 无监督分类的实现 - def fit(self, train_data): - self.init_centers(train_data) - for _iter in range(self.max_iter): - self.update_dists(train_data) - self.update_centers(train_data) - if self.variance < self.stop_var: - print('Current_iter:', iter) - break - - # 预测样本所属类别 - def predict(self, test_data): - res = [] - for i, sample in enumerate(test_data): - dist = self.l2_distance(sample) - res.append(np.argmin(dist)) - return np.array(res) - - #初始化中心点 - def init_centers(self, train_data): - init_row = np.random.choice(range(train_data.shape[0]), self.num_clusters, replace=False) - self.centers = train_data[init_row] - - #更新距离 - def update_dists(self, train_data): - labels = np.empty(train_data.shape[0]) - dists = np.empty([0, self.num_clusters]) - for i, sample in enumerate(train_data): - dist = self.l2_distance(sample) - labels[i] = np.argmin(dist) - dists = np.vstack([dists, dist]) - if self.dists is not None: - self.variance = np.sum(np.abs(self.dists - dists)) - self.dists = dists - self.labels = labels - - #更新中心点 - def update_centers(self, samples): - centers = np.empty([0, samples.shape[1]]) - for i in range(self.num_clusters): - idx = (self.labels == i) - center_samples = samples[idx] - if len(center_samples) > 0: - center = np.mean(center_samples, axis=0) - else: - center = self.centers[i] - centers = np.vstack((centers, center[np.newaxis, :])) - self.centers = centers - - #l2距离的计算 - def l2_distance(self, sample): - return np.sum(np.square(self.centers - sample), axis=1) - -class GaussianMixture: - - def __init__(self, n_clusters): - self.num_clusters = n_clusters - self.max_iter = 100 - self.num = None - self.dim = None - self.X = None - self.Q = None - self.weight = None - self.covar = None - self.mu = None - self.labels = None - - def fit(self, train_data): - self._initialize_params(train_data) - while self.max_iter > 0: - # 初始化变量 - # e-step - self.e_step() - # m-step - self.m_step() - self.max_iter -= 1 - self.labels = np.argmax(self.Q, axis=1) - - def predict(self, test_data): - out = [] - for i in range(self.num): - mxp = 0 - res = -1 - for k in range(self.num_clusters): - temp = self.weight[k]*self.multi_norm(test_data[i, :], self.mu[k, :], self.covar[k, :, :]) - if temp > mxp: - mxp = temp - res = k - out.append(res) - out = np.array(out) - return out - - def _initialize_params(self, X): - self.X = X # 分类的数据集 - self.num = X.shape[0] # 样本数目 - self.dim = X.shape[1] # 特征维度 - self.Q = np.zeros((self.num, self.num_clusters)) # 初始化各高斯分布对观测数据的响应度矩阵 - self.weight = [1 / self.num_clusters] * self.num_clusters # 初始化各高斯分布的权重为聚类数目分之一 - self.mu = np.random.uniform(0, 1, (self.num_clusters, self.dim)) * np.max(X, axis=0) # 随机产生均值向量 - self.covar = np.array([np.identity(self.dim) for _ in range(self.num_clusters)]) # 随机产生协方差矩阵 - - #更新分模型对数据的响应度矩阵Q。e步 - def e_step(self): - for i in range(self.num): - q_i = [] - for k in range(self.num_clusters): - postProb = self.multi_norm(self.X[i, :], self.mu[k, :], self.covar[k, :, :]) - q_i.append(self.weight[k] * postProb + 1e-32) - self.Q[i, :] = np.array(q_i) / np.sum(q_i) - - #返回多维高斯分布的结果 - def multi_norm(self, x, mu, sigma): - det = np.linalg.det(sigma) - inv = np.matrix(np.linalg.inv(sigma)) - x_mu = np.matrix(x - mu).T - const = 1 / (((2 * np.pi) ** (len(x) / 2)) * (det ** (1 / 2))) - exp = -0.5 * x_mu.T * inv * x_mu - return float(const * np.exp(exp)) - - # m步,更新参数 - def m_step(self): - # update weight 更新权值矩阵 - self.weight = np.mean(self.Q, axis=0) - - # update mu 更新均值向量 - temp = [] - for k in range(self.num_clusters): - up = np.zeros(self.dim) - for j in range(self.num): - up += self.Q[j, k] * np.array(self.X[j, :]) - down = np.sum(self.Q[:, k]) - temp.append(up / down) - self.mu = np.array(temp) - - # update covar 更新协方差矩阵 - for k in range(self.num_clusters): - up = np.zeros((self.dim, self.dim)) - for j in range(self.num): - x_mu = np.matrix(self.X[j, :] - self.mu[k, :]) - # print(x_mu.T*x_mu) - up += self.Q[j, k] * (x_mu.T * x_mu) - # print(up) - down = np.sum(self.Q[:, k]) - var = np.array(up / down) - self.covar[k, :, :] = var - -class ClusteringAlgorithm: - - def __init__(self): - self.cluster_num = 2 - self.model = None - - def fit(self, train_data, upper): - sum = np.zeros(upper-2) - for i in range(2, upper): - kmeans = KMeans(i) - kmeans.fit(train_data) - m = kmeans.labels - c = kmeans.centers - for j in range(len(train_data)): - c1 = c[int(m[j])] - x1 = train_data[j] - sum[i-2] += np.sum(np.square(c1-x1)) - c = plt.plot(np.arange(2, upper), sum) - plt.savefig(f'./img/elbow.png') - plt.show() - n = len(sum) - mx = 0 - for i in range(1, n - 1): - del1 = (sum[0] - sum[i]) / i - del2 = (sum[i] - sum[n - 1]) / (n - 1 - i) - delta = del1 - del2 - # 找到符合要求,并且插值最大的 K - if delta > 0.3 * max(del1, del2) and delta > mx: - mx = delta - self.cluster_num = i + 2 - self.model = KMeans(self.cluster_num) - self.model.fit(train_data) - - def predict(self, test_data): - return self.model.predict(test_data) -- Gitee From 116e502d667856239f14879d69584bbb0621f6db Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=BC=A0=E8=89=B3=E7=90=B3?= <17307110367@fudan.edu.cn> Date: Mon, 14 Jun 2021 18:28:23 +0800 Subject: [PATCH 13/13] !1 [submission] assignment-3 of 17307110367 --- assignment-3/submission/17307110367/source.py | 194 +++++++++++++++++ .../submission/17307110367/tester_demo.py | 197 ++++++++++++++++++ 2 files changed, 391 insertions(+) create mode 100644 assignment-3/submission/17307110367/source.py create mode 100644 assignment-3/submission/17307110367/tester_demo.py diff --git a/assignment-3/submission/17307110367/source.py b/assignment-3/submission/17307110367/source.py new file mode 100644 index 0000000..48cc09b --- /dev/null +++ b/assignment-3/submission/17307110367/source.py @@ -0,0 +1,194 @@ +import numpy as np +import matplotlib.pyplot as plt +class KMeans: + + def __init__(self, n_clusters): + self.num_clusters = n_clusters + self.centers = None + self.dists = None + self.labels = None + self.max_iter = 1000 + self.stop_var = 1e-3 + self.variance = 1e-2 + + # 无监督分类的实现 + def fit(self, train_data): + self.init_centers(train_data) + for _iter in range(self.max_iter): + self.update_dists(train_data) + self.update_centers(train_data) + if self.variance < self.stop_var: + print('Current_iter:', iter) + break + + # 预测样本所属类别 + def predict(self, test_data): + res = [] + for i, sample in enumerate(test_data): + dist = self.l2_distance(sample) + res.append(np.argmin(dist)) + return np.array(res) + + #初始化中心点 + def init_centers(self, train_data): + init_row = np.random.choice(range(train_data.shape[0]), self.num_clusters, replace=False) + self.centers = train_data[init_row] + + #更新距离 + def update_dists(self, train_data): + labels = np.empty(train_data.shape[0]) + dists = np.empty([0, self.num_clusters]) + for i, sample in enumerate(train_data): + dist = self.l2_distance(sample) + labels[i] = np.argmin(dist) + dists = np.vstack([dists, dist]) + if self.dists is not None: + self.variance = np.sum(np.abs(self.dists - dists)) + self.dists = dists + self.labels = labels + + #更新中心点 + def update_centers(self, samples): + centers = np.empty([0, samples.shape[1]]) + for i in range(self.num_clusters): + idx = (self.labels == i) + center_samples = samples[idx] + if len(center_samples) > 0: + center = np.mean(center_samples, axis=0) + else: + center = self.centers[i] + centers = np.vstack((centers, center[np.newaxis, :])) + self.centers = centers + + #l2距离的计算 + def l2_distance(self, sample): + return np.sum(np.square(self.centers - sample), axis=1) + +class GaussianMixture: + + def __init__(self, n_clusters): + self.num_clusters = n_clusters + self.max_iter = 100 + self.num = None + self.dim = None + self.X = None + self.Q = None + self.weight = None + self.covar = None + self.mu = None + self.labels = None + + def fit(self, train_data): + self._initialize_params(train_data) + while self.max_iter > 0: + # 初始化变量 + # e-step + self.e_step() + # m-step + self.m_step() + self.max_iter -= 1 + self.labels = np.argmax(self.Q, axis=1) + + def predict(self, test_data): + out = [] + for i in range(self.num): + mxp = 0 + res = -1 + for k in range(self.num_clusters): + temp = self.weight[k]*self.multi_norm(test_data[i, :], self.mu[k, :], self.covar[k, :, :]) + if temp > mxp: + mxp = temp + res = k + out.append(res) + out = np.array(out) + return out + + def _initialize_params(self, X): + self.X = X # 分类的数据集 + self.num = X.shape[0] # 样本数目 + self.dim = X.shape[1] # 特征维度 + self.Q = np.zeros((self.num, self.num_clusters)) # 初始化各高斯分布对观测数据的响应度矩阵 + self.weight = [1 / self.num_clusters] * self.num_clusters # 初始化各高斯分布的权重为聚类数目分之一 + self.mu = np.random.uniform(0, 1, (self.num_clusters, self.dim)) * np.max(X, axis=0) # 随机产生均值向量 + self.covar = np.array([np.identity(self.dim) for _ in range(self.num_clusters)]) # 随机产生协方差矩阵 + + #更新分模型对数据的响应度矩阵Q。e步 + def e_step(self): + for i in range(self.num): + q_i = [] + for k in range(self.num_clusters): + postProb = self.multi_norm(self.X[i, :], self.mu[k, :], self.covar[k, :, :]) + q_i.append(self.weight[k] * postProb + 1e-32) + self.Q[i, :] = np.array(q_i) / np.sum(q_i) + + #返回多维高斯分布的结果 + def multi_norm(self, x, mu, sigma): + det = np.linalg.det(sigma) + inv = np.matrix(np.linalg.inv(sigma)) + x_mu = np.matrix(x - mu).T + const = 1 / (((2 * np.pi) ** (len(x) / 2)) * (det ** (1 / 2))) + exp = -0.5 * x_mu.T * inv * x_mu + return float(const * np.exp(exp)) + + # m步,更新参数 + def m_step(self): + # update weight 更新权值矩阵 + self.weight = np.mean(self.Q, axis=0) + + # update mu 更新均值向量 + temp = [] + for k in range(self.num_clusters): + up = np.zeros(self.dim) + for j in range(self.num): + up += self.Q[j, k] * np.array(self.X[j, :]) + down = np.sum(self.Q[:, k]) + temp.append(up / down) + self.mu = np.array(temp) + + # update covar 更新协方差矩阵 + for k in range(self.num_clusters): + up = np.zeros((self.dim, self.dim)) + for j in range(self.num): + x_mu = np.matrix(self.X[j, :] - self.mu[k, :]) + # print(x_mu.T*x_mu) + up += self.Q[j, k] * (x_mu.T * x_mu) + # print(up) + down = np.sum(self.Q[:, k]) + var = np.array(up / down) + self.covar[k, :, :] = var + +class ClusteringAlgorithm: + + def __init__(self): + self.cluster_num = 2 + self.model = None + + def fit(self, train_data, upper): + sum = np.zeros(upper-2) + for i in range(2, upper): + kmeans = KMeans(i) + kmeans.fit(train_data) + m = kmeans.labels + c = kmeans.centers + for j in range(len(train_data)): + c1 = c[int(m[j])] + x1 = train_data[j] + sum[i-2] += np.sum(np.square(c1-x1)) + c = plt.plot(np.arange(2, upper), sum) + plt.savefig(f'./img/elbow.png') + plt.show() + n = len(sum) + mx = 0 + for i in range(1, n - 1): + del1 = (sum[0] - sum[i]) / i + del2 = (sum[i] - sum[n - 1]) / (n - 1 - i) + delta = del1 - del2 + # 找到符合要求,并且插值最大的 K + if delta > 0.3 * max(del1, del2) and delta > mx: + mx = delta + self.cluster_num = i + 2 + self.model = KMeans(self.cluster_num) + self.model.fit(train_data) + + def predict(self, test_data): + return self.model.predict(test_data) diff --git a/assignment-3/submission/17307110367/tester_demo.py b/assignment-3/submission/17307110367/tester_demo.py new file mode 100644 index 0000000..243bf59 --- /dev/null +++ b/assignment-3/submission/17307110367/tester_demo.py @@ -0,0 +1,197 @@ +import numpy as np +import sys +import matplotlib.pyplot as plt +from source import KMeans, GaussianMixture,ClusteringAlgorithm + + +def shuffle(*datas): + data = np.concatenate(datas) + label = np.concatenate([ + np.ones((d.shape[0],), dtype=int)*i + for (i, d) in enumerate(datas) + ]) + N = data.shape[0] + idx = np.arange(N) + np.random.shuffle(idx) + data = data[idx] + label = label[idx] + return data, label + + +def data_1(): + mean = (1, 2) + cov = np.array([[73, 0], [0, 22]]) + x = np.random.multivariate_normal(mean, cov, (800,)) + + mean = (16, -5) + cov = np.array([[21.2, 0], [0, 32.1]]) + y = np.random.multivariate_normal(mean, cov, (200,)) + + mean = (10, 22) + cov = np.array([[10, 5], [5, 10]]) + z = np.random.multivariate_normal(mean, cov, (100,)) + + data, _ = shuffle(x, y, z) + #displayer([x, y, z], "data") + return (data, data), 3 + + +def data_2(): + train_data = np.array([ + [23, 12, 173, 2134], + [99, -12, -126, -31], + [55, -145, -123, -342], + ]) + return (train_data, train_data), 2 + + +def data_3(): + train_data = np.array([ + [23], + [-2999], + [-2955], + ]) + return (train_data, train_data), 2 + +def displayer(data,name): + datas = [[], [], [], [], []] + for kind in range(5): + for i in range(len(data[kind])): + datas[kind].append(data[kind][i]) + + for each in datas: + each = np.array(each) + if each.size > 0: + plt.scatter(each[:, 0], each[:, 1]) + plt.savefig(f'img/{name}') + plt.show() + +def display(data, label, name): + datas = [[], [], [], [], []] + for i in range(len(data)): + datas[label[i]].append(data[i]) + + for each in datas: + each = np.array(each) + if each.size > 0: + #plt.scatter(each[:, 0], np.zeros(each.size)) + plt.scatter(each[:, 0], each[:, 1]) + plt.savefig(f'img/{name}') + plt.show() + +#自己制作的二维数据集 +def data_6(): + mean = (1, 2) + cov = np.array([[73, 0], [0, 22]]) + x = np.random.multivariate_normal(mean, cov, (80,)) + + mean = (10, 22) + cov = np.array([[10, 5], [5, 10]]) + y = np.random.multivariate_normal(mean, cov, (100,)) + + mean = (-10, 22) + cov = np.array([[10, 5], [5, 10]]) + z = np.random.multivariate_normal(mean, cov, (100,)) + + mean = (10, -22) + cov = np.array([[10, 5], [5, 10]]) + u = np.random.multivariate_normal(mean, cov, (100,)) + + mean = (-10, -22) + cov = np.array([[10, 5], [5, 10]]) + v = np.random.multivariate_normal(mean, cov, (100,)) + + + data, _ = shuffle(x, y, z, u, v) + #displayer([x, y, z, u, v], "data") + return (data, data), 5 + +def test_without_n_clusters(data_fuction, algorithm_class): + (train_data, test_data), n_clusters = data_fuction() + model = algorithm_class() + model.fit(train_data, 10) + res = model.predict(test_data) + return model.cluster_num + + +def test_with_n_clusters(data_fuction, algorithm_class): + (train_data, test_data), n_clusters = data_fuction() + model = algorithm_class(n_clusters) + model.fit(train_data) + res = model.predict(test_data) + #display(test_data, res, "res") + assert len( + res.shape) == 1 and res.shape[0] == test_data.shape[0], "shape of result is wrong" + return res + + +def testcase_1_1(): + test_with_n_clusters(data_1, KMeans) + return True + + +def testcase_1_2(): + res = test_with_n_clusters(data_2, KMeans) + return res[0] != res[1] and res[1] == res[2] + + +def testcase_2_1(): + test_with_n_clusters(data_1, GaussianMixture) + return True + + +def testcase_2_2(): + res = test_with_n_clusters(data_3, GaussianMixture) + return res[0] != res[1] and res[1] == res[2] + +def testcase_1_6(): + test_with_n_clusters(data_6, KMeans) + return True + +def testcase_2_6(): + test_with_n_clusters(data_6, GaussianMixture) + return True + +def testcase_3_1(): + res = test_without_n_clusters(data_6, ClusteringAlgorithm) + print(res) + return res == 5 + +def test_all(err_report=False): + testcases = [ + ["KMeans-1", testcase_1_1, 4], + ["KMeans-2", testcase_1_2, 4], + + # ["KMeans-3", testcase_1_3, 4], + # ["KMeans-4", testcase_1_4, 4], + # ["KMeans-5", testcase_1_5, 4], + #["KMeans-6", testcase_1_6, 4], + + ["GMM-1", testcase_2_1, 4], + ["GMM-2", testcase_2_2, 4], + + # ["GMM-3", testcase_2_3, 4], + # ["GMM-4", testcase_2_4, 4], + # ["GMM-5", testcase_2_5, 4], + #["GMM-6", testcase_2_6, 4], + #["ClusteringAlgorithm", testcase_3_1, 4] + ] + sum_score = sum([case[2] for case in testcases]) + score = 0 + for case in testcases: + try: + res = case[2] if case[1]() else 0 + except Exception as e: + if err_report: + print("Error [{}] occurs in {}".format(str(e), case[0])) + res = 0 + score += res + print("+ {:14} {}/{}".format(case[0], res, case[2])) + print("{:16} {}/{}".format("FINAL SCORE", score, sum_score)) + + +if __name__ == "__main__": + if len(sys.argv) > 1 and sys.argv[1] == "--report": + test_all(True) + else: + test_all() -- Gitee