From 82812ca4bc9ea4a920774bae78a83b166efcd9d3 Mon Sep 17 00:00:00 2001 From: nite Date: Thu, 5 Feb 2026 03:51:19 +0800 Subject: [PATCH] README --- README.md | 63 ++++++++++++++++++++++++++++++++++++++++++----- screenshot/1.png | Bin 0 -> 21831 bytes screenshot/2.png | Bin 0 -> 20513 bytes 3 files changed, 57 insertions(+), 6 deletions(-) create mode 100644 screenshot/1.png create mode 100644 screenshot/2.png diff --git a/README.md b/README.md index 7df55e9..3d4ce0a 100644 --- a/README.md +++ b/README.md @@ -1,17 +1,68 @@ -TODO +# Mesh Drop + +简易、快速的局域网文件传输工具,基于 Wails 和 Vue 构建。 + +## 功能特性 + +- **文件传输**:支持多文件发送,轻松共享。 +- **文件夹传输**:支持发送整个文件夹结构。 +- **文本传输**:快速同步设备间的文本内容。 +- **加密传输**:确保数据在传输过程中的安全性。 + +## 截图 + +| ![Mesh Drop](./screenshot/1.png) | ![Mesh Drop](./screenshot/2.png) | +| -------------------------------- | -------------------------------- | + +## 待办事项 - [x] 剪辑板传输 - [x] 文件夹传输 -- [x] 多样化图标 - [x] 取消传输 - [x] 多文件发送 -- [ ] 加密传输 +- [x] 加密传输 - [x] 设置页面 - [x] 默认保存路径 - [x] 设置主机名 - [x] 保存历史 - [x] 自动接收 - - [ ] 传输加密 - [x] 单例模式 -- [ ] icon -- [x] 通知 \ No newline at end of file +- [x] 系统通知 +- [ ] 应用图标 +- [ ] 系统托盘(最小化到托盘) + +## 技术栈 + +本项目使用现代化的技术栈构建: + +- **后端**: [Go](https://go.dev/) + [Wails v3](https://v3.wails.io/) +- **前端**: [Vue 3](https://vuejs.org/) + [TypeScript](https://www.typescriptlang.org/) +- **UI 框架**: [Vuetify](https://vuetifyjs.com/) + +## 开发 + +### 前置条件 + +在开始之前,请确保您的开发环境已安装以下工具: + +1. **Go** (版本 >= 1.25) +2. **Node.js** +3. **Wails CLI** + +### 安装依赖 + +```bash +# 进入项目目录 +cd mesh-drop + +# 安装前端依赖 (通常 Wails 会自动处理,但手动安装可确保环境清晰) +cd frontend +npm install +cd .. +``` + +### 运行开发环境 + +```bash +wails dev +``` diff --git a/screenshot/1.png b/screenshot/1.png new file mode 100644 index 0000000000000000000000000000000000000000..2f32cbf6044d18c5e28081f48d5d78141432e556 GIT binary patch literal 21831 zcmdSBbyQn#w=S9rw1on{7AP&jDmauDmr|fD?yd>NHAr!SwG?P^r?|UYa48gr;t&V~ zcLGI%2hO73{_Y)nk2B6VXPkZixPLGLFKfLr*OX^IbFO?>QjjDfpd;pG%e zjLH8m`vht6Y@ZcLR_}WZGX5lf{n#bU4NImw?ZD2DX z9yX=XJAZ#`yFMsrZm9AG@X<=~mFW7<=DX_I_7dIZj=S!ZPI|&vYg&~)|CHs9DicjL z*%p?OfFMHbLgX{Q%uBs%0r}LoX9UgT)8tzOw)FOX*AAM&wvJteVgeYvE8jCBV3QcI1DH|s|QDnxA_naJb1Y!TS` zLz@D)mYfK|73uD=Z#Lulu~snG}7@ZUYc5QZO3BF0ib zlVW$Kf_7Bt3iID^Wc2gCC+oJ(Ybw-_4$h4Y$=<{Hs-Mf>00qc*5mR%U_CI#oMK|em zJsI-$5mHcaz93`Eidf-KO&I>OAcdOOcc1 zUtl{^w=0*$31_$5le_ZA;|H14T9UV>%7mXFG@s`lJl5ogR^e19w-%mkWG&shHibMP z8{Ce|;h-d~vWCV!r7@}#(X_II%ZOX_y;fyJzZ?5He<%2?!Y zu!Bva8;{z~WuSM!PHGZMCB4?elEW7vy*5Nx35(3w+Qxpl{|hVN!_Of}vbra3gH zs9OmK!}mS89TIF>FcV*|ZKU5{Q#^V^R zdfMD51zpqNyVIrm*)?+>@R%ikq zazFGB`JpM;9$nnSWcpqLw?k3S!{aTSf zcylUVtkwK3PTx6yr~ZI(2bYRF>=N8q-lgVUq10zP1AJR44c^K&bDwYBvAn3=JKL^w zJNwg4GM*_(BE0|Sz2!vJy{k_*^02MSD6vc}7=CDi(#9KQU1z`XI`s>0od{1|S;U&7 z0OWJ9JIl-)$%SND^4SAFN*b5CqhdGIz&jIiSfc(z?*5c-h;35?5l~)ezH079B420M z&AHPkAxEsb=0*tL+!%@Xp=u50%Ikm?Vt08;DQFy?qma5`bD>$JmHvG#N&i!D7meo! zQpS}0RNSJ?%Br(6Kh=aj?L}fNyT0;*z?|nX#B&L?=a2$F`Y`LVyUV?q6?M2!^<-tb z+8iyXsb^mo%dVSK`MXK9{0C%Sy@b(p`8#8*l~wRCTs0?J&!qtYa~xOKw7k5)6THd@ zlAXqFl}kGP#9Q0iFuN?o3wqQ5YjDPlFdNCjZJYP5O2#pBSIs3YJCwMcW|4i4#~}S% z0ZrvK3vK9i-GJxjRFC<$d5{PmPa=)Ip?o1Ps;k{D`pM#zu=zPsukiM~e$^-kHho;drxV zv)z^A-Yd4Ix97GYFzJbnf!j3NT5D<9z5BVJ;)<^7~kcs6Uj+jOox5azC z{rzKy8>4;IZdbk}Co^(F9n=D-!4&cs1^-)Ta-F898{Pabd=$-cZy zXx3{$jHKCroG*i6-tug;Qik*fb{39TzIIx$Nq)N3pcTWoON)p+r6xXq6cyIna* zJ?6Yt0y+D*>6q-X$*;+3-x+VVZcB2hZrg$jZN??5$XL>VQM! zw!?%z+9MY^Y6Is=rP}d{W*jb?N79=?^Dgscqk}rnC6iT_#M;kBao)-W*7LPTXJEA` z7FK)?FUUAeXm5LGhOkakx@aA2(Qi>46&L+A#QZ0(`2M79`8#r(6lRV`vG=xZYmAz! z8q${e3;DXZou0Jkfzl9UkH{^?3)D+ojC$|TT5cgQcdE;qz`TwZmKeYzO*y0d9vcKv@!snfw^D|Q)s;SGVW#qJJ*&YMw>mX8$%J(3CP9r9>^fNs z?ExEMEmz5ef<_9|nM+~2$&PbQ`o)u~iZ~Q`rpVP?ZngQ|vzj0CLr>oywq;2tw0u;S z))l(FT|B8j-bL$OG*PT;HI^4uWw-E5cyGC-&|?5(mlyggT-kc1K)wDfVe6s)T`<4( zP#H`$!tO>e3B}HE3wk!gyx#$D!4E9*356L$bPyhC`z4yztuwp7 z>nfDugT@fYB1t*m<~@1XR7J;tpwj{#MeT;o8i!UIM#y<{t>q*;QF>)DsAUzcTlXp3 z<`fMJ@MsqDIwWPU##xK$dY=p7cF^ZzRTiW!>@ZZ-xIV3G zS=P5kD6L>I?&ll>GdhqVa`yeLUzSv@BtOgPQLo9M}Ho^~cJ_9H* zpa7EC zj=Fx;+4<_$bW}}^M3~j&l=*OD9X?5+>m~#w>R#aZSp7Bl5sjx+Kx{GVShZ1Np6&@b z-j-|!Jsjck9O2Z2Xm*Ke6IU*tCYvy#-5wpwj-epE2?~`f)F>60i3327tU)Gntm8DH z&N@|LJEoX4Y*1rR;VF;hWBoE)IP^nb3xUnTsZ{2wg;-*@Y?Les{o^_-(RZ6G+g$mS&t0C0f;;pD!*fZ?nYWkgJW!pZ*v3gO7E)&ZnK(ddKHMFz z3JREJmQv)LpS$sDQMFRJLhMjZSVu`QWVQDFz+!)ztiN0sjb4a!3MNzqrJAvn3h?@Q(-T50FOvbCP=cTI*0ESeB5Pk=)-Qc@!zRQvyIj<9{tQ0ZDqYoZzq|X( zR(1`ioiqB63#rZV>yYX0LjleDGi|qG_ZS3^*v3egiN8L_XhtESz}^we*;7wC0TE@#SGN+uy|jgzRsQY=g4HXfMV>Wb!q0at`ugj!>t_`w&U}# z6Mx5_w^ZUDaAFfXyi@&)7n|N`Ug$z6m1C0lnII>8lbMDUl(hzs9EkqL#rX=grV!6- z-~@S;Z4&B8AZyrbGpAtdMVr&Y>*4#)#7E*BSY~Fo__Zj#e1l)_6F5unUPz!1=3@Dd zE!@hrE;<{xhq82Jm!iEmxUdY8@qnHv?t8)aGNs|ow|2S3SJ0WbinsbMP8O# zr=R%9>OF;5v;ELJ6RHl?pZhGgmcEZD3g=sT>PCxG4HRE?qI#D6hdo|Y6v{?<)ihTt zd-ev+W%&Lp!-Wb|BhxobvqifR`pe5S$|m%98;L;#ERE5sUAf!@fkZ=$9;>S(eGCXQ zB|Rtc@HJ~*ZSC$SILBIykMaOct2@Y#741F0vLk`2hGP^gR?hbfGz)WktdJ6$UV(Cb zJNwgz5mU9ImO~kibH%BB$aIM#{Hx-I8cM5-nt!YI`m+4 z^f9tgmL_V0zuS*s@MynZz*T~+$xXAzY_&Ln<=_hH^uBNARWZ#{7JVtr{w}~Z_#{Xo z^KMeSaxRWSl!WUXh3h!RX|`mK;l?6)(fckem{**|VeBxM-edZ6Ca+S9+!23RXpA*d z>mXw5M%f%X5xTTe?L`kIsj$c=WQxHjvf5+K?s|z_$(gUlGAJDV6uzUrKz#yNA2VOM zb7w%!r1$=V(YCn0mYQw${H3%L64*J7$L|avm6Vx=E4%6Uhi|wTc=#533mjftQz5jk zf(r;5aV}Hn5x&{V^VsIC?~&9rYHz+4^vhq0oyWyLn)DB<2>WC`TnjVu?a+1U3eY3p z9ku$>zpiWCeA)O$w{keksDn|+P6w@(by!U#KMwresM%i8F`J)s)jD_8`p#9i6}s&s zNRn&5`!hXfyRH(P>$q{Px59_kRDpOLy_MB>j{FGI`wPmZc-yWkI4P^ChMSa%-qr{%UHpGpwwM^2i29rF@xbjiSh;``k>VeWm2b~T4`^iE)}4F~APmV8hF zuTxpFXRm*dKg{?@k$xLVlVN!7OjA`@Zm`%|El-Jf>DeR_4ul~(&!I~DyTQ0eUO2P8 z$yvpi{7LT1&d5p9-C8$o4_dHF@BOBV#+2NiE$?#H+LzF{wgEYwc@>L(>bu4B1g8(8@I=Bn$vd5~V8%1nZ(NDp}Ql!e%$NrXY?H(VbIC1r8c{hfT z0P$FFcaG7>*PjPxyZ=eD(~4&r8}-toY-X>qt*N9bRjy@Z!?O>vRZ){Yxmz?{-h3g2 zE|Q$l0hhR#&6})*S_QR+K<<})d8%9@>ap}Jp0kOCK6NS@ZW8Hnbgd_zUqjv-x1H{5 z42HXhI*Gu8pwh(w3pkN(T@n3FZ)p#FdK8zT6@~TdlOjoz2~QPwV%@8~Wt07Fg2h=0 z>5%D8+W`#0A|e@L5AUKJ$LDC|K%*+`%d7s-$E(xQjM(=d-dTZZG1(50M<%~SmJ}OU zanI}?9G}SPlS6$N<(sw9wL(j&e#z;5M+EZT-^hOfk{OBa85k(8N_oP+ZIh}$5@fVP zYhPQs`fcbxV-=;pxaa?&82^n`@D`TegZIg$@o6gTPt~UGuThSWMg>h3WQJzVdmWLBAU18?mb`O4!NQR z;u@8-K|ArnD}fMP10{&L+&kcYJ}@dNhb&V?)f?Jr^nylw?7hQmdM&Oo8o88{yRK@f z01u_8puIkb+w7el2o#P`IoBEceN5Z`2WJRUi@-HhsV)JNjP;ZmvqFm2PIy|RfinDEX>+`aBh7hotWJ)E|Q5=zJ9M9b<#!@x5bQvsGumy2&vEb7d@ znHStsz){Mi*cr6<^aem`Kj3XtLa-B+j@)R1E@g{p){lqw!NSBzFa$TUTBXvhnUe-{ z@j#$WsX++|=iWP?RP9m@A@N3vL03sN+NM)N`xD*_$)~7a=bVdFd2i2;Wv;Qj(^G38 zt9q}UPirwYz}ch_MG@5FaTeS^lbfxD#0I(EV^}+s@OXY1vOOlEdAfKbx?p6E6;KTW z%#>XdWj;~*zI$lg29Fq&o2BUrzHxB8SO_Mm)#|0DC%vn|AKYs-BPMvs7B4D=_Q&H) zZON_L58;!6*8ihkCX4nz9ogh{yJvBbuI+d3g!gp2b_R zI^Evg!cQIZzNO!;UR|BKel#DFsh__QpFY`LwXLz|^#p4Sgz(ijUA7$BkjK-Q{)TqH%7zd50)j@Hk9`?)}-eKusxtiC2F_#b`Xk+n?}c;o8-< z*cs(i-HC!WvwO`ldgf-u$A2pA7i!UftXkSA9cQ1p06s*C@ZET`#Rm7Y%f<@`A0}t= z%8Fj>J%^{F=^%q!dnw0cW_roAYIcJN>;z%SLk7Hs#_dBKJwHjGu z?Uz=nQjd&1Xkvahy|s3oF2@}KsyvZ0{q6Bg_I9b4(W9=*XUh;|+*!gXyH z2pZtt0FX3C{5Wt<xyGG`#3|EZIx3_VfYV5XDH%THP~4caNFNUsq9+ zwMG{wsW?q&z~#u3JBQ6x+b?-68Eub5Adi1Opd0Xib`#{2shcefW*9f%IRZOdt<|46 zWb*FeCOycm+zyL58KCAnA$in&~6-TXeg_-tF5%1avCs}43d+{@@dGty0mltx%#cFj)cZp$H& z8-*|%woXasEVgPJ=JviMcDt-nK4_`q1al@0;OJi&`|k2~1|K-Q6ir7LPu!mSaWZ;J zLKByac{^*Eb(nCw&NU>V_nEI|uRYI~v4U1r16#dftq&@u7pq6DyyzRM^N%J!{R&iz z`+-aECj0fiOU#muPn}dRVJg1IUSbSy@k-twOuRQ=Q0e`2;tWXQN$|t zNMw^=8em{P?Pb6HDP%FaD(CFprouf6Mh!+G(KXtZ6XKhkY+j?nOAp)_XZ|6f_24_kw26;SqKpK6%#!oIe9p^r-NSyel(t z@l?Iw<%~rhoD-4KO6i#0n3TiWHy7)6@hqOPnW1u#x~AB;UVr)WxIW*ioIBJ{k?0``kfWsCe%IMSMzVl`2jUXHr zjHodhirI_Lb1sQ_Bo}JCTi)`guJ-qH$ZalT!TaI(P?o_Gp^;k8Mok7iI{9;1zlK`M zAkyXy0;i_BtMA8Bjx;YhyaW2t#VXuvgI=c2)z}P=Cn!?K?TyG};msxQ4w4GH3hqUG zi;KZUE4U*K!)TUoBgv(fI}JRELnJm-=siQ>=SCCT80fG4niXt=6y>>*8}B+2@7_6d zzAZ>wc;GmUC}8-;sN8kTGeb)4fmJFOh24Bh!!0JH(XD;PtCx~!a7#Gf!rDta^TXq; z;X73BT{`i6-cQ8|R*34~G~1#dS#$`=u>Qp1p%9NzkCagsMw*IoZ!hEI(3ej?lDlDY zN4gV@foy-Uq^BI?u+cPEm$uO85Z3>luXjs8Atm|Dxr<^XQN*Ph92+kpof0g!Te&g? zO>NR$md9B&<~0_r>~=efh@&TBIE9+ormWk}mz&%J`n$ov`ZCa0OfbD?T$s}ANuTGW z*I0@!a26w*V=WqF<-=`^}ty#Oo+6hLo{w4Ipc zM&!pNx@X!(Z1DWVBObujY%NG3z5c|gT*)qq8TBM`(#8@$xM|1q#;t*`H(KG2($i~F zjsIfH8VRNl@+_uajS3{$4V%1;)QS z=T@sVH$n~fHgZVs05x}?0U6Ibz$yRs0#vO}F=-z>&6SQJUe~BY>)%c(OJ)yFIf#~< zYBL1|^rLD<2TWt{{}qeyBdpL@3l+$0$3F9ZeJW*YUB0-@2FsGOJh71aP8?VE%5Fs( zm6GrMQOa8YrXk~<;V$um8&^0+O8eEo-$j8BfAg&M2ty*!euL$))^O!3EZ4l znqtm7sOkIA?%@vrJ_Y{eta%&PeT3A^38?uX!@%vL2>^1L8D^Q=e8upZ?!F>geUl_8 zacdmjx!i-Gqw9aNTLUiQ^f++eqyj7xkIi2J6%05$ZGV~9^TiVY&w0e)*oLPpNcK{@ z(&z|wzY61b+P6vQOi~)9BFLD-+s=xe-m&M{7#4jURK! z?)LsjgU5RE&PXgUt+?$s=E<>breF-?|Dt}WTHr>>Xi5^WNgcm|ZQ3(GuN3?|hrmqd zsc!iTK(iz%SBn9N37Y@!V_^Sty3+jbH0*y$JO6vtua=8+aZvYsg*SU2Ow7z^M=pU< zY634TA;oPqKB1Nh*da(#W>CWEi@(V+wZJE1dA;k78lUI+W|{ovGftC`=>`|un4@C- zmS$9`puzQ#S|3pI22Q1w1LdBCH_HYNSGZ%V#b4iJnnmD8){sv<^n!Z+MBto;-Dcfn zA(x5iYAYV+ZDhMM;Hg1Ay9P^AhV37?DV<7ntIQYt0|!z?^b0jholzPkdTv^!yRo`9 z$~88#+$OzbKwHOl8T2~0RC>@RL7(Ej$$VU9Q@_DL!E4=Gi$S1RP~roLe3J+mN(~Gg zs$jOkW$SFKRAkv`Y!wT{`1$qrv6}Hezep9$I|9kimT0f?I)W&+^smn1P;cE2&E*rg zr3oLg4ehV=@i=X&&DymStsGT0JrFtVQRH^n(VJXtI!3edk!|YEoy8`m_cim`qTdK# zT^wwpYD#|#?Y=42sg@CTKU7-k44K_BOZA+NU@$5WbnWvaxK#Lc5Kb2ZJIlg0z5bfJBjbC8BimrX%ivAhA0QyY;Y^lMW8Y?eZ?m zv%?Md1wV@Dn3xrJ$xjXrvPXU0-9sC>sXI2?u)MNr3cfjyN_eS!B5(a(Cl~@oH5j6h zY4+!snub?@)-%KEH@>i+pREA(`O>S4H4&>;pBpb{1GRDEV0*p`5|InL9$ql-bd9Y(=lwo^pUU5YvY8Sg zEcvHpDIWVhk+|&;?_7ms8FwaYr842?Ef*^svk2`|PfwSL3xZj!Pi( zZj?41>C~md*gFK)k}?T78kGhTcpTDOdwY7ACwG87v$!>x4bn_z8cd}S3uX2E<_9_u zXf1$?NFDdz%ELA_3U)SFwY{Svb)Oou0+m;!^T>?z4Qe zQsIf*R4<(kFN8!pKBX?djahAAhvCb#<&~9<%E7mVBTfKL0aZ^_zVeo8F{cV(%9?swb*UxqB zo!>`yFHRFbDlMT-a%|oeH<-Cnozfn!BN14g7`;(_Oi|p^1IQy zZ!9KDl2dc9Wo4H|l4*%T6o2~kiRC^WFaQem;2EhLF4Y%-xXe0DH+wd$4yKk0!;j4S zf4t`Gq#8q5O_rSPxU>`k-b9Hp$?i+2!0O{-NP~v=Njt6OBGAA2muNBqB1wT}X$stN zedwtHDmeH)7I?bCf!OUSRmNn;$Q*^_0!I~~`b_b~|NfH+;8op}*1Pw}lyELzJ)SSi!f1yV4NR;B+cstbZWT9Cg`cd;Z z;{c^(`H?T$uoN@A>tT|7C~tBoESq8wDFd>YsI=ejVbtW;D?kD^H~XBGRThJ)(KIzR z&E}z@(6jptbzQ*ACIquh6lpKrlq~nYJV>=UiNg%!_h?ts02X`@>+61hSN?ZfQeSTWR{Cga=21pK#6mNju+ZP;9xxmSX39N$PEP zSyi;O@|xhsEXl}!Ow2|t(T#3B2&>X2jV5<23kCO1%axbs*+#BTvqzojU6ACt5gTZ6!LzA_fEC#*& z7HvY-_CLr+1FdnTo0uRI;JFbasy+yKq0fg7Q0otn*$;rO*Pb)IQ=i8Mf6l?o^ z9Fxf|=#5Pw8qY)JNt{qnmMlq5&!_xVSc3Dq`t#^@YRZ3 zaP>ue(l4%e_z5ntxxJFCV_8aruL-JHi|20J85cy{w1>A_Z}Dyqz{)s!rc4k7re6-4(|=b)W;v8sXU-GQ#>6f&Ajs-fL2yPcYUoO zx3&mSDL%x~2ISAZ`|0dS#w}5Px^ftX#K>Yh<7(X1}0YvuR?!dLJvB7){_& z)*Ro9Lzs!3f$%wAX3(zJS}siI{A1E#P+0T%BtA&$y*5$w@PQhhj-yc4?5$$=GaBA6 zvkGMZL7!S`z-mH#k&v-P!BSxuNX9Cna#M6xhE?DU0bs9oykF zx^j@%Cbt^#(K|<904wOnQX#=7jt1V0LLJ4J4yHoa6HPC#=E4?a6TId+t}0b522eLU zeuT)#Cjv3J!M|cF0qG>xOKeiP<%{GI+8$yChg+BS*E?-7{d33Xd2n(C@0e8*XDGFP zahft`bV0`rgVtPVi0^MmOFSpOe$mH(8_mhIqSQbS@%wKqhPV7M9qYrHk}|4u)5lxr$Ifwe z)19N^Qvi5krU3|1hXH`{F19ii*H1JkXopHKt5gf25>Sa^RCI37w%+v`j=kHJL5tcG(P9zg2$Su_EcLZ2|?HnknX5Wo@ zrrjx508o>91=$8@PCWsrr<7hG$q7)-9;F1wV#ZIFqZIXae=_GLW!TKt*BM#~2^T}w z2P;&kre7HnF2i;|Lx^TCJpc`jrRu_efI7DauxlKdgJxB6f!7~j+FG6aa0OjQ+goz> z?9zJzG;YfeTvB8?n#SZ4ttc2S#!J1_F@yLZyOa2{ff#}HMM@${jWjn3eba22u|j(# z6frJl_}H3R$!qzxPkqPo>Z%63F$_YOQ9&7^hBUN9seUxeem9PEkE=*cOn!?zf&wJb z=RhQl1d8xZnhh6`E^FqM8|M=N_31&v-KZLP=FI`pD{rAUS1Spa*}J!61TMBXr?LSG z`WeEisV%jcu7jn-;I}jwJc~F7*1S!EPu?x==h9A@HQfc-=CWk_r3xfQZ2c z(qL^oq|Sd;YOLGYT3R=i%CaO*pmwtG{<2>tW>o7*)1XqC@bX`KG`ddzMdb<2_Mo=-qN(~%LG!Ix_}RNO!h#jyG)8RUFJ zY_|j9k@Cu#Y*1!JGQIW)qcWUiMz-nx@=s^8~d7{Zw{ z3UgTB?9xvLMFxIMT>9~dBG1SJu(_Sa0|gNh5>TshyTTo?`IulfqI@=y?9w_idYz$} zNxvKdet2YaJE6lYd*5MQ#rm9rGFP&vpGr6d9^g8(mWB(ZB$5$}$6Rx>~Bm zusYzkRV=}%a*c($K?Y*VbMcxNG|x;px0MRsr@}Z*;57y2zeo4?U0&FN@3JhNa1}PW zKJ}TtZf2vK-Qso+mACLD0CNXghe-sE{_5mqk9b%VV}hr1$`@Ubl;J_{dDhtI*<&Rn zui-g4dW#PC0D#g`M(H%UwTWBC)}=lWaQln=cBVe$R9eQuSJ<{YRX{~+D&)=!$C=wT zZEn2;2aBIG`-`+=?jhc4d^Sxk^nidYDFBMYhufrG^p#%<9*5pMK`}YI45l?68$G;B zWpY$)>q56M{K~Pp0{-u4@FhjZ=lJFgc)ys&i+`_MyMYXSLD+9*v~!G-tPc3 z@~;WWH{S}L{$UE3AlF?_MNgGy7qDs>DDcNIu?Aal6UZr z2~pF#9Iu1uqhse{P2d0o+xES^+RXuws8jd5i`P5UZ(55 zGfhG8TeBYHRW*!GLYG;#ObkS1sWse~vPx++EyyGxcS81|Zi`a+KwlJs(3xsIu=7S1 z<25sB!Gv^^8sUX5(1>d^rcUp_tPXUhlYen?bu{GW_RpLl_ zo9tYSW);WYX~kyOtvfzdAFdzSzz+s$GIJ!0MZ=$pKUH36&#Vh50W|nu@f_%4`#)-bDqgLZhd<}D!<@Dgb;e0eQ+}ma$S!f zkt&ntI3DmGfrcb+J*4fvO)hBT(c3YKM#H2jP6!b@@qcjZy&D7^UR)N*;yv`HJlCg* zLV4qV7+D1Rz}ECVQy#G(-LBQWoqBM3PCVR9j}Pic5#w^TM{n z**5P;iA88T-+W>z5T+Zouh#ha#nVp6lI8&^->VxnC3k!d-(AZTVmzVRTC$mJj9-wY zIt#2=_Wmkb;mN5-!82KOq@i*LqNwOdso+G6P>tKR!Z1-Y%aJIZ>=7;q;KjuWND&6& z_H?-G3{Hylb8L?ljbUPBsqlkd>ZhdrQu#a2&sLHmQ!|hJ-)<-sjG1P0?vp`J0y7e0 z8Eg}0rP7IU5BUPc$!GW77MGA;942N!BLsh~^UVvL@y7 zpI=8Vz+4z%6xNeM8$(6Nl3&6c*H%_?PZV=aafaguv)@1=tW2#vHbg)vo#&&EG5Q7+rM$4pchSP~z_{p)tZi`^KhN40XeG1K{*NdfQ`}6nvs1mHQ zw&?4gFKrX!HUub3B43u?xM$+u!y>df_FjX=DF1zXotVPIhcmA~QPO+Np<>>Bb_-}0 zRC}t+og&4y=&wqz>+t*u&>duds|`P#_wUJljd@7&XFf7Azd9y(cpQr4VTr_+y?`*j zkZ$_G=51E(9~E<-S=KQ)I4P?O^dHjleIX_`Y_~Ye6-h$9A9)!118D!3^YHPJ%lu{K zm&YV+E|Xm=)T6}a2SCY@zuM#YF;b2e9HegR%_?2&`%b&yWz_QH6pH*Kfk^rEMC%)3 zpz45YC#fSv^{DZML7VIfzR=X4j2G=uDhqy5_w6~;EmPZXKO_-&ZVlS-y}nZL8ySNK z>NeNIUHw|V4d%#kPGn4TVMkDpEGJKKPf6;@ep=iioEhCQX=QZJs zI=rjZW11+V05=(i|xDgD(mCG+MGV0b_GJbK*QGoZAFJ11MJ`!Kt zvif0c38|SDG`J=8_qERv(fvj1=c8GWwnxM4tlJR}0n-)cb^GjOkkUpgQVckSd%5w| zL0jT)Qw#oF#6hH_U9o`6rtVxJ$3)ebskZTcezE0Ri+2@ChPss}Jf7+ekZo%EuBl)d zlWm##n7h0iY26d*F|?Vl6w8Hmfq+sl!oUz+{4wA%&`W@E5BnjAO#2M+Oy48xW5e4W zhB;&2@HO#SrCj9i>Oh!Q(x=zXdFSg{FhijhnQ4ZpHeV=ok>=Td#LR?0M>evLdF4h! zrNbVe%9sq0Wq>tyz{OOa*r=810!S>zcwp!27tA>$X1vU>Cvem^o`BmtzU+IAkp19Y zpXrWQKm*pu2R7-?)eXZ6|46X$9Wqb7%23MTgr}zKM2w66w0R!MTgmgR9AgDYrfM^# zivJA)?is`Jz{mTqeSAm8-hQ9OW<+KU_lWfUKsH;&woxaS$xDExWYqVohR0bQeUX3)1wXgDq4SX*krME>f&;CXz>jkH0Kmvo8 z;G|HW;OaQQ$ehf9tk2~;I;Q`iV zm~Qe(EhhnDH*tA6B?BBqLVHW8;jdgC*mmi-oj)wiptg=+9k-1r3)wRy;P4O+B+GVQ zREkYZ;dMa95L96>U*7j}ZZRWaSrrNw-UKVeiaNg_2&Oj`%L7>$>!DZLM3E%vEHhF2 z^tbY;f9A+1qSa;BZieGi@>pg8L=x3bA1GW(BJ`%bklJPQYl1PW0%Rxscabi;&y8(w z@N}IWf^O!tDKuH3?g$-eww6pJmwO)-nrl^9StC2}xVGxV&$jcad z)L*kqx18)c%A7xzzypcaGxus*FD+&byz5Ge9+6WS=5Zj?7RbbZ*`HFFz@<4w6LQMY zgW5CMuN=26Q6g}9F~DPW2Y^yNjn4<`2hI|Msw#p|#{p~cSj7m#ac#mz z_wDeK47VrUt9l|e`)D@zQ% z<`l@6=drRq!pM6&j;ioMisl;aK0izK&iiA=k<~a4O>^SF6S^G2ihlup}`zBR-7z%*2xLzD|z4 zke_>q6PFFWfbTO_l@n_am4=)rA(hFGvqyQljg9OC+%_CQS}9{8uxKsbO4(+;Hd+Vk`kf1M(rg`HrA~@1*slu zT59FOiDalch4SJ;)smh(Hgn`q)S>%<3sc2K(|bV@pJ@|-RKn4g-J^q1$?XDf$&$+)w+6BK`V666_Odx5d1&RCf4^N5F} zN=z=b04>BanwC8xo~BM>LfrK3^D0CY&4_UG%V5nta|d!YnrkOi|AJEEWK?<|@a%4J zqM5wCRG;GC33p|^6)qu>YuD&~e8OWw<((tvoEd$54b?NmOHbWlpbN19AoFpO&uT5c zog(nZs>D@@o?%`COoG_i$O#GYI4#%BZsh$T0VCVySNf?TT=1s41mf|kaXrM6BK;Qs zn;#(r{JpQhe{3-Rb zv+zIt3yo&lS*LT6p*%olkcm9v zQ5i=RlJJ8GAGZQ5Rzak^jt1U*};FUHHPp zLf#}>wKymWC+Oz}JYsA(#hu&X(CgM64Cd z?BbIHs(I(;cnMXS)7M!>nO4N0NOXpHz_}&p#0P+6tq;0UmC^upP>*-`uI{-pU_Ls2 z!Sa1%+QOj8ok4} zi@wHPc4TFRcBsFE@{uQ*c?4?|B>CMwncM3QXRj51*(toUV2XpQB+v-{wO(a@t8poO z)|V^Qm)p&4jmc@?k)N*n$M8!!CF@BjMvp?j#%PPBhUOcwt~Y^C`}gY&E9*@@n5tyH z)RFis0n-z!)8%_!DCRL6+>fvF>V4;r6H1z+sh}Q0iu!*R{0L_Rsd#_6y6KXknxt7~ z9BRFJKo)fyIi@qH-Uuj9x6`-{#xLvgBAd&^nnVv zBTytLkPM>%s_e=D)qMTtIq-hIx|^GujApTJ%>+;$$^y##bymeh=}J-*5XT6hVIk9w zzX&M#OZxfwRe!PpIbD-2c51!9e>?MS^BM!~0*uoYCP6v~>wKUd4ZK9JaMn(HnP$#i z;HajimIbtMOj^=W^4TQe-+!FOteR6h7?^g0jvQbET9qw;GP&hMQT*j$u875Ky%RkO zHrNT&_txHZZBJFkgaSpVbog#ljmF?qfjTP%C)68<)e+|KsSg2EfuDuPe5e(xXFXF} zK66Ab8@tZeaw=a3^(`u5OLq7zAh=Vz6dfO*4?`g~aL02l!p}@>I|l`~*qpYJ!_{+* zZk1bjC%`+~Gv}X0MO)5ice&m6jVB#Ofc}^#Mpcd*D#FJz4lGPec9`G7$9gU)*Q7U4 z%(NWN@VkC{eG&?nKUf>&a47;fZ|^gpJU26xQ&`%pL-O_{jX~~58ZotCEt*8Ae=~#+ z&2)TDMDs=~H^sexQ0Mx6eW2rEz66dt!@2|2I+C*_e-hdfV61F;4Jh~xdYT?hRdfMg z)bIlk-1b|p^LV6#d&(M`qZz@N>M?>1MGkIoc%KGMltAD^bv8{{jpMqh<86D)TCK$> zL(_gQ>lsin>#L^bG7T281*&4#eHa7rTwR`MlPQNVYN3f_2jH7YUP?7z?Dx?(aegl; z)+~kYR93y8coy+3mP5Y;=zWQ$p-v0@0<@wu6&48H$U_;8VQQjUhkv6*fs_4@cFz1O zsjZL0^yaHscD-4dE=^4>O%V+WFbl10FjMQTtFltF0=cWqAu}ZvEX`|I#Sq1Tt5}wF z8`PYK5KD6esmy^Ks2sS2iX(_9yxafcUF&U~AI~{!?ejTjfA`+&dG@*BUwZz(;!zV!P*o%D^^PHke8cqy$ zH&#D-vg9k%j0PUabW$x@tt!c93z$HEGTL+d`va@`KpdYSxO{fakOD@9?GAddZU@jQ zhCSHq%a>}yz8zuG*e7CWA!M>L2D38L3|knO0*_j)G}edu78)XgYV)#bo(DUID+h0Q z&sL33Ow?arV=u}#QzCNV7K;NQKHTayDgO2eqYWl=rY z!0>q?(V&cS7^5zpJX~uky4hu0ve`!1`{N~vxBE_{x*koacKZnL;WTBL(d&Or)UWp* z`ok6#@>mN;519x@jO#E>S76TkrLZhaQDlI9ZD#*`EZ7YxQigeZdnW<>e`j>(#O()*T(bNo#+mq}JB!X$mKW}~nHS-ejVQfg!5(`f5eU@>`L z#jKy(YUP=lFrt{k7cvED?M>116TIfWR~MzkV8hR%t+Loo(>k6PMuA)VC=3v~8SB&w zaw1GS(T|XK*UfhbY(qi=6#63)?j8=b7_E^Y%_T+0Xm_eh2nt^GFvo2GR~<-FyeZDb z=QvA&V33wBJ%KI?pb&J1;6TGC&{z?vv{{(`c;5NMj_4>>mm#* zts2YE1jBY!>p#d_yEE(SsTrOWRT>o_6kG9asq`*;6%&XqYqRUxxC)gouEoWK|I**)9nvVKHqwc<{s1xE%WCL>}petSW%gd684shq5bH7?1 zjIY{i1c5$%Iqapw)k@dCJ4wsw6ImhQA9$=WUD~)4_ydfgR*~S?L+PVrZr&l=;=-KA zSEt?RS{_FKRB$dg>Ov8Y3Sve)@xy4>OYVLpd{_!#megpE_I-^@xO86S-=t~M+bV0N z&m2vZfe+FCu;xX@dNF$~sNb+S!|f3Fy$lK>nyZ&v7ksL~6aDApxoBW3wWbY5C|Z;} zl+ajB?kV;dWr+p$`|h`bkxwP6W)@HSw4235sJd`N`%75U8{uBHcJFvd$(^;5E9~hTCilHkV1tMBF;+DB(g3u49L>9C4as}<;lY&9&5dsCD|85jZ-Q25`OHF?< z#T+7CVTM*xn!6JueNSsArCFS$q?Seoa9Yl2%0QX- zXA4*Sk*NeTWk2|KSd~HHc8-N7v#c!Pv z_psW=_Zfx}9P*AtVI29dU-Sg-mnb5JuFG&Zv;4cE6dL=M_|uOq&lO`%!UQUZAB7u} zmipDf3w#%$x&N{`IXBUx6vrU-%)HF``;_P54C<;4kvGRSO%YDbqRVw`D$JF#DI>xG zcoW|(a6Y=@X4O#WJ(!$@9cX~y2W@}(P9JQhD>_#B6u$IyBOiJ!%h_9Zac!sNiOR`YzDA(FW zE}&%md+F~7YbUTHnY>;FhB|qq9bV|#Ca55^72R1!x<)_uHsf{bM#vI5e8CP#vbz9O zh~M}cc-t3}0X!)@3MSZ)?Nk)`e3s__QpI#cj761tYs^QOEekSlU zfu9NdFC@TcFAaq{)#yMV&?=E?Mr7CAB|&YrZSL$LL4g5k-_%L=PVy;Gug<(!Bx4Pc zYH@n=CUtc9lJb%oxgrs&jY$UJFeb%*N#6p27?4c*HcOHgZ8;{S`ISx0#U7qEwosXHSOULpe^4^?0D&leUwsoL@K7)U8}E3^8+bao+S*%LI2nM1MFdsT z@}>T#?S>$M=K?xA>;fGp z?CTP%Fr=cV3_caVI&YTeZBl_>&K2+k$ZD1FM5RJ$n#u{09KZ8A)VH%*YO-MSM@9Wc zn9qi?x;k1Aebtoo1}Q_;i%%>KKkI!((1nM2kQrHdQyDpB{j<<{>alYM$Um>h(a|3{ zSN)u(+pbnv?v;Uf?uU36DW^v4FEkii_i@i8J{8(3=1%C{=%l*eKCgXs;(RH)LkE3T z7{*XV#+X>w&cAl4SZJ>=_@SDN6Y-z;lAOc%ve@c+@Nd1+f?DPhh~?A`@|UHpPaj?# zd>s1<;!vWpt_Ew&D6_)QirE<~o=kL29Yl}Sm+ha>q#i|oj%*-xw-=AksGbSCL&n^R zq>b11PnS!`s5KoFGZA?xv)au7(r{q%c|+H-yQTeVvB4_hNK)U-rxBLPoxl?UcLh~e z6q{9KAh*@{Qbea1D_U~eIMS1`uZ~mxk0zNWeik!~N1jA$i(GDEd7e;c+%*cYZT)V^ zGro7i@7!#8-=Vuv=g$qD`&>ZZ4y(;|`!WL{zS3mvdI-&_xdI~kUq zh;0pbT;Oy#SsNb^gE$$;9#|>D)?J$go!+Gh8P?+uC?rm?xcxhf@P5-8h||2~jVK5D z=rQloqZ1jYAY*VW%(%+lY(m1TaEV*^kdI+9$fAs%Cgu28eyIl&uwTZ^|GkM-b{H5t z=?yo0ojztF$xKJK-E4{p^$NZNnKEWR4;Zh|SC?DxH;F5FwlhJ z@ggw)a+S(V#@Z;ssh4McR$pJ{!zzxp;jLD z76|uCP)%H3>RED0oZ3sZ3gmfgK+3DPX8y-jYLXi_n1`!F7JTu#1IZ%tXy`%R%|mR` z_QxX($|&>BrF6~D%fc5@k)uc#r0$CsG06SCKYuo2!dQk^Zd>6o@P({T_!{TTyQ~#- znSKh|98ptwx2+%tQB&Ccq2*p4{xNTK?ar*!ZHU}Q>^QFEy|DL;+~N(UX&J zu!Z7-K?!{`D87#1hC*IcU%vi`RAYHwxy*YaOeJQ*k+Ceg+%OM^t&SQdP#VR{U01GQcBU1`<1?)*zyspE?c7tudh(QFt48Kc%s%hokl=^Ig;+%2G&Yoc6Eo*AG}8a0M(A{WOmNcg zpe_lr-xGYaGkj@3nbsIE(;3AG@yzVkOYP%t)DT5`#_=QmU6Z)@M|DAY)4V>ET)e2> z+=AoG#`SY#nnlNP+a$Rk>$}?K@v?eF0s`K}9$&8Q0h>?Uducs?&EA$QEQ&M#p8(%OZ0S)93~D&`zq`@Ldh8jZGMD2gnC7; z2XrkbQ&7s|42#6!7=#^Hz}PS4COX-&#H^t?k2>-StR)8>PIsdPS-i#fZ~f`&a-3^$ zo0&W#gpGtpMNPygdJY)a$o;ex_L{o^GaG(HOY|@@F>1=xX9Vq~*!|o#Eg&TTzg_Py zr!ZJ)fteMt=rxRsG5ho}#z?5Me<6>E`SHMr-gJ7CebG{}HNiULmrY8%hFno<(&_rD z1Jgh37`#FYyq^;J-J)|9T6G7cabtu3l3k4YReD;@=VCJy7!}yoal(_z&4~EBR@XL#8CMu-D zGZ%TYA(e#Q1Uw$T{bSyb$lN=OoY8X96XWLj?@nDh9;IP zPbCw3re6z`c*-SasFKLLSH^(GKL4XQr4Sw!6H7?@8U8iK z&{Es^bhg$x0CA_llU1a53cJ{>>ilD`$!upz#oKogrISDEK?*u9RAhm^14cDc(jS)m ztVvDntsV;QEbO?(D{;~ualU_`Ugx=?1&cN1N2JZd?Q>WAl5o44271F1wu4NNjZs7O z*TB{dG7}__8 zIOE8S7DLy7X0ZLnARUYYFV^#{e$g>EZtq840u>&gc;?DuZI!29;Vk(6U3e#dp73?h zaV=IcdLlo`qd+|%w89DgE5iCI)+(T!r5z$1hT(bDQt2TlrYAIE>H zrq(*m2#_EkS9MmjTG1sdMyg4j}U4#&Uo@!^96y)%7{(5cMLd&Z@8UigYk?*w)FMA^2 zcTlR!1|1+RqlYAD#g5g!w+=VOSu}U{4NjV&e?;3A$j&Of zb;SulvWi#W33T^W(0_@@DA!^ zk3sL$YZ}MXuBd=z&|TV~n}M>og96!Z#>-s5i9SdDcTVzOU(*92KRV-FIhu>@fi1Fi ze{SgB&>W_-lc!-{oGV*-t@;Sb{n6+9@eS`|aZ(1R`#u-Fd!&*u9SV-t;T1B z{D+XPg#}??bmKKV)42=t1_=C|X1as2@)T_{UFUxFkn~D=u%gRil zT{N*@bl~M5;HYEyT083RMs-TXuvq2R;# zS7~e$_FRATW8viq0Y5mS{Pfz^q-rV{^-VW@i)vxdiokMQ?0U0J3Sf~()r3UdGuYrG z4(0S`S{ikq<|Zdb4=qU9k$S@wJoPqTgYJ3TnoT+c3jH-DcDqeVv4ugZRG#9x9Tm|z zSsgPmU1sx7C*H-+rWIz%LK-<Z34Q?cj;dKIL z;wx{6t5zRJ!!i@GMh$G2{ON~g#Hz2(sXn0C3&CbGsZ{v~p*<7M35_mydD73Cg81op z3g_oY(z?&dscV^e(+|pxSDSob-$Q;7PB;r^biyO_HOgXwa?6u20jhfxZ5Pk-i(IWG z>+#(x7%LjjS7=z56B>!J9_<-Y8ffA!)Dhf=7LP~O-b}~CjSpDP{6Ca>_Ie(oYt9n_di7@uPf`Yp7}wA&bJ3AB@eyUXQ?t$2x#5TvQ^u`kfiq~KvEt^( zfCb#_>SOy6&c>dKK5ITwsjWL^wWho^p|$}9zA^YdF1y*cE=P|W_lEjZeRY-96CCF> zUoDXmzj)!kVIPCVPt1=F#n9d(ySoXiFqWN|!|E5=U`~-Pc9f!N;-N$#X02WhkgV*`MCUdaV z{t(;u__r0^Cg;|9PakGi8<)|J7W;4)n|HXn+ZT~qF6V^{uXu?ZzhBk6<%bUh+PzFmpdrHQDe7CPp*e-?+7iSu`3_U(#i>9+c^bIigu9FtBY~$_`vU>zu9vIX;ur8Lt70siF03=E7P1s_9*FosR6M7T0;8&8q6$;xC%K*cLz zWCBo6UH5W%4eQw?79_EWflPciK0$a=@Kwe&sW)k#xDT3W<(sZ8r(4_s+J8y{ zv`;-faY8f37HxE_rBS7@65?aFDDu6qxJPH4IENFJQGtF%Xk@7Yo!g3^Qpjzv{6* zxoHqqR5iG*E%*uJSMH{P9M^~=6JX`PD;cDq*^g_d^E9Gkr{ZPIv^9~{3$Sb~ay@-y zkJo@pxOUUtFWoglOBJ`uhSHy;8C%vXIV*H{jdBgy_(>(zPE;VpiMIv9b_d`UWD3e= z3z`il=aAUB-*k9m283<_9$np1LE}#%GGfLupXLAJG}D9ny}fGBOB=LA&fjO>B!H1R zejTK6?*=ilQN_2)Z=jZ!v! z%mMKCa@SCE^m=iN$RU-OdoBBOL>%Nug>o!&jFknOo1x=y!}mCd{zMONPzPV< z)E$&KnKORWG2Jub*2P@VL5UXQAOqyal7Fv=v&I_^M^$v2y|(?$)RmNmxeC&9SYiEJ zp$3yW#X4_K&@iNk>q4nG_Lqk%R_&`>C%tWk#@mm?U-7hcT4?(uZkjzPabx36an>{ z|F|6WYVkAGg(Dd)?=Z?0Sq7aa7oE%Mdxo5w!X)=5@L;!1u7QSgKHcArffK$hw107! zYp6nIO8CJSV3$y{IE$O)40)fflN9@%?92jkK<^<@s+h;m$ugq?W^pgO$pp?-am;v8 zE|vOgO;%|9P#SM@qmi~}rWYN~)Ni>tLC7!~0x&iK@JFXN0wC!g=@%~pwc5_-P(Aro zdSr~f$LZb+BLI;oOEL>Ebe^rWTQe7Q7Bk94lb}_E<4pB=21z%B{I4p86aDA7ZpyJuE*DCog}=uD8b%n1k53cuSyiCcwWCXX;P z(xBsusxFp;q3u)u;~Coks5r~tzwZfh5G-HdMQA&M0pogLW^u0f%#?n;dv(L=i2pZiw2VK~bGsd9hOBL1DLW^ICLKK6ts_K#ObvPb+ zG7oS{aT^rEx-aq7TC&x}tK;+(VaK1Tu82k@9Q5xel5>|gdwY9-e4mlgz|ndiVM7up zr~LL_5ux8J5a-3xZNu=YN|VmSGltTY4_w>*V4xIWv9IulV@K#qf~b`QS%#jI zX&G4f(v*f<7JOhs&C&GEx4AHNc(K6$pDS>agT*qJ%UApWSn%d0vgEp02f z3%K(?oc%DzRvgE+>5#+lCPuT0$w9i{HkvpLHp+LTmY( zw***Coh*L`ee<*?>NRNjOx)fUOoGz``MG?`=5%Ml_+eZ0nO}JhZ%&lpF~{lKXY=0Z zZKIY_NV|*3lWOAEj*BlQNiF!O*S2bgj)^+1t*-hb}3l**KpkY7RZ`8SB;3XYODB=n9lgSvrbWaC72we@ZO}9w6|$sdO%IV z@9^JZM|gUJ;_B)D?FzbyZuH2+{$A8iG5bJ%i$S?*vj3@ zX@xv)-V)uaNop&T2;L_&M=e`^D7Tsqp1I@p$u19A$ij%zpCgX$L z_cK-1%XV$ndrN;15y=C8O?AYgkID^1IhqYMs$0#8hQR)j_{;ZY5|frR&e_!?$Wq57 zpQW!H7q@KDz(fR>8jFvo#sfEn(9GzlS@l8jgbUQo2+S~Ftpx*(M1SN|m+b0QXeMXf zBfmMx$3C0TsrKO@u8vc}(V{y2GjLyLd}iRzMxD#0D1)-M7BfmZh9@O2vBH3=0!xrO zhel2)zA>EQ#Yo0$A12S7)FlQ26W?j8m1rua{aTlE{k&dYqZ)9pOvDa{<&H8hFS@2s zZ)}?e&)4m`euKGkx@-nggy|~`2O{Qka=KaxX0A-w)#Dv*=Focpuo z5m@eix@)@uUCyuev-jqRKrn1#1v%axOmv}6UU}N&L6cb-ZYUmi1ergn0Tdp25 zli6N9NsB>Pcg>ORb$w&TTpE`#>W=^NIk=ECxZCsUUS3_$w4~94YTD$|#ZH8_+N2gS zs5^>*9P~6cJu5Wd6^$S^t+(h1rRO8pd*Wo0?mlU~rF^K|lFqB>D898axyiJ(G8LYE zlBk+0V*NP_c-F_Kat+#Q>n>J2Cv^4CRwu7n5dZB|sN_}>%?_rNoc5NhzE|J`Evc#E z|DgAV8Gq5fqi$iC#BTLyq&;RkTJ>Xc0x`nwUyZp%Zn)ua)kDvor%9*Ks!BU_hXH3* zBBf)D53s-|Bq#q1cAC`V0!g!9&2>F$lG|^_)jT75!<)8OCeN4X;%O)qoBIqLLrrei zm*7N5wPh~Qm-tMimWxyTV@83a^5&g=jvpPe$FF4PyBv7H4jwq~TTbb7AIgdTTLKY54os6Vu;E-{*?;@2o$1dMRDju20t zaNXKz)COhMKDGmK#%#SGa+zeP0z3v;SJ$>yFlA}slnb$SM>RN!3*&Cpkqwrv%vlP$ z8D&Qnn*Pp6rWQh0O{K}`)}!Dwn_8m>+wb8(5Pp+30ZY%s8J+3JM@G(J5a(ChwPP1n zsXlY%b4D^yPbDM9mY%irQ=TbPzp`h=^~-kiv0E>}RZStZjEzNEIBgw06^l=;3w@y_ zb;Bw8^&E_QePHcUPV{kG`)B;64e{2LiML6o@8m>Zc*pk8I9SX{0@VqhPhGqRQm(#& zSEFxfrGMDwQqIsE=T!5|jnFroJYlq%B>hU(5o$Xi7S9`KQuC08FM}j-DMuc7e{Ji? zCz%Vf^hymD!wiW5@<9o_)kWqe`cAU&e@gN`Ra2!OrbvI}*3klD74}P+X0Ae8r~eI& z&6yhxBZl!2#r|jevy4s@Apo30dv901U2&oy!JN1*wv!^9^_+RO>h67W(h>%R*b4Ij z;_+Qt2cbZyl6~0-sM1y=m+0X;U?YHL|2N{5SG_;>fo1L?EGD>9cPt~n)99X|BjxV$pJ&AT(1!nN@kh&xtH{9W69nB%mOU&+~Wv* ze4F~WylhjieuBy@_fywL9{_3z6|{TV%#OLPVBI7~lzp4}iB94YPw!LLgjo0~E#=h? zY<31y(c!{)iNN`XUo^jK$aCwCaM4K#h^;HZSppDW$ z$Qb~;3XqQ>^q^y7j6yyb0Rd2VmJp{7_`@oS9#^kLmHb@oBPVf>}QtQ3B`InubO7(DD zU&+q^z-@mTa|va4-gAz&HW|v0n5eQ+1oUln8tyj==-Dc(FugKxK479?4u+(j%`%dV zzu)p=vI0$WYzx@EOg%~s_$%E*^Sk@0j^_8;x7L81E$lfWPqzVJkAC=T2?-N`rX1B@ z!TEG?@5xGw4*!2w99Ybbx=OgikjT7GQfq8btL#mYzc3fSX`4!Lcw-4@|Nax5Se1pG ztUKSf#sL0e0-4Y)Hfe^7I8A2(oaMZ=%Kyy$^5VN3#YhE`P<(p&QP^%+I?34m>jLz| zL^bWDn=AGe2(YI89fi`!4-C3Be;StrjQ*(L`RCIT^qY-Z$2sdE!ZI68B5iRa#=@{K z>tIlPC@k`+O5(pyBrLmSjDuoO{Lz%}CH^EKK0faiWb+>Zhn+gy7}Kq?lu!5FEOMBx zTwGXy0JO{Jj4n8d$Eiq08|k`V1;@hiPa!IZrB3qa`2)|tkZq8o*d zdCaLacUm|PLip(v!JgZ*154Qa7wYQ{T@c|^Whfy(OTntKp77Hg)zrP8*pf%F{+6a# zg=bwUmqo7EyX;TKp}2&e&$Dvmbh`qH^i7`7X6k7#Zy0FGtp$%MDUZ&!i;cvXum#-4kzkm16 z+^G_)FM(%zcDs>UF0Bxf^Z%}Ea%=MAxR&Q~sQ_)n z8D&aB4+liipW*5|fe5XxgFGL$yx-+N`Y6R@WGuZm#!wf;v`5WyuP%5uy6Oc*;YjQ^ zzc(p_jPa*}Sq&)zd2AK20UwRqdS~3{%M*O@a_1NDE!Kc>@>t@8{NkcWyi)NN15tNi9 z^WeAFKh6T4@amNFkYCgz9g?tKz{E7&VC=Gaw`lB4tIK1B_A;w=mEwtCgvu-fS9SVn zanQ6uqeE2QPm}!6uwJNpTo5@@UT^NO;C&nEG-~UzL*TwpseC(_Bj9Y6PU8GuZorI* z_xx&b=Ww>1uvKSdBqY;!lgq3G&;Yzo*MZeHyUA;NGonMT4ifdAj(U?dp3m-IYrv>F zmfN6tS_%?pmegb%%V+lz*SuZQoIgQUO-#=0S$f!agIJ|YA;akJOPq6&yM%pTZ~sw1 z`r{~q)W(-Swi;(f98Sp|P~&NR2xFHkDJS0nd4CP|1BxyY*7;to+B>49#i@wS14Pgn z+Qv*p6||(r;mHlqRYt-cA8o4s8*Venxu%4_Cz`}b9g?`SsGgmxdb$PG3*&}f*KjhfAKouI~z9|dPifI(jrP@<#qDTIqPWr@cBW4>9JZYkGMgI+PZQ|;3eTo`O?j8ue>F%z=*1*!5? z@y(|8Bwqr1OX=U}{;Eq8R2wOUq)fRbxjl-(zB7z;Er8a?c~_gXl&qt9-MSoIT_0pB z+85<7-4;9IuDi+e&n?P$eo_lu9YiCz(kYSZ7Q1pXqsAn1S=3q{s1~4`ax}ssnR3g7 zo|IwaxrIqqj+U0zMazWU^mn*sRaF&2o~_vTsQdOIzywc}lqi>$@|k}eBpdX7Lbk?g zh}EQO1@K0m-lnUmOe8@aS4^V|dQjEa=obBaaN~(b-=-2>i5a_!{adZDgM7)$c*z#S zklTzqCCw|}8jX|})Ve_+>KAs@p0rc5Ut@4)9Ev;Jc@qXQ4Iy{Le=PXa&9RWEbSXBe z%mCro;K~yAW6JgmNiljEx(AQ-FP&10$@6SXsQWL$ zDW_WR@zzwUv+0lJ70DeuV&`V_N59}6qlPY(cgE@RL<*E>g=iz=Yl3tz4sdsuyj_Ha zxc$a-_gm=_g4TrZsG{im8~2h@^0IIf?njipOfjA14gtO%c`7%0KVQ3aQTa5GDvGmk zF5{d7v%{THKLJ`|P5s4nmimktJP=Cr73E>nbuDb5&VqO)jsyD(RNd@sTyBo+$U74! z`959IGWRo~k+k}t*5ZdwMIE(sRV~$JG5Lz#vx`2}VBv_>6z?H;{|xbGAF)kAr$&>D zN@PtAT?j9eyqxNzpwP>?`#LHlAkLX~F~O=hy||1NH_OzBz8C$@wO(w{b*Yc}Zz=`v z5*s!tzqhhz1=|vie;Q|^^6?bf;iX#b*1irc$~j$resqXc2Lw(bH} z?Uw#}+(9XI+H+R=)T;aYBVT}N;s0q(hV+smw`s|lGX3|zvcN9(B1Z}XF7~=4;F**7 zF=nq&x$@u3f)4M#_rgfiN_8*Nm?~*7ue}0D{w?1tC!b7CP020UhB6g z+-$b9g1Dvgf9KXa!DVqns4p%|-lKwVo@o+EU_xgw?2YW{{!_|kws4oCpi<&>5NIpL zN66T>t^C{U1T^&w73yMqsglR@9WRF}^;r4rcM;*PXv}b%e%UP2X{=UdCE#EX_Sea% z#wu6&`c#(llP6`S$+i&+&zB_{X~v*a&mCnnP8=VX-C;G+kE9&X)Ii$B2j#kkkDCi& z*NilPxrwc!G5tCf%oDnHK0=b}1!u{Aw~sVRV9r&HzRIyo0BRyyceCYW;UMl1kbQLk zTf?TM-WEiM+gYx`uGaaxZaHykpE<2jrPf(M>>Zv{ODMmZTk7PtGfk4$Gv#5V!-F8!ee9e4xX?L z5r0vMwW?6{7Zb3sNQ$7T6@NPF>~JIt3(>Q}HmzCn; zSnn_D?_IP6pVjz}KT@YW>3YcQn%~v+K9n*4hd#}F6%AT6kq3+m!H3}SyFL4|C9I2ul-)0W=Lk~BrnFF zHelv6-P7h(yxr)vX@&B8Zkmfzkv(##CvE6;WSs%h=$p2>kfYZ;UV

T5|{YJR$^?dPb z|4`LQmD>>|!vijY@$<(X9JJr!9leXk*S#7IS-C5FZlW@nZu5^+ookA$K2UBd{kT=t z17o4Vv@6}fPNE3SUT93i<*&sn6ZlEp7dyWt{-OF6qXyX5j)gG)|4zu+a`MTE9S z-A3a@z2_^=B4BUl%eBne0gG_$av3IctX z|DK$joU4oqwJptRZ4#pibevFc(-iH_&*ysJmU)Qz-F>&jnWS&#E?h+WV=a3}r(33& zu?)C6t&ZZbg-rkh9|(06W(I}#JDXi5u`vrfj4OGp5AvPczDyd4)v(cts*N=l%~dGX zsl12E$(6s>x??|5xg$f9qkFB{hNx|5W4IV;j17aX3GrNK8pNPhf8LCWv$EHG_LhBVDPZx=dt%fYx>MTpq}4{c`ys zCAZwD8HAh9+CMElp#XC!DZhp)vByGdJwec$f&OP`$F);S&dB(@?tebhEnN>ll|wx+ zJFeze;MS}~Ma8ql%N3`fmprHCGjBHCHCGZzY~_cw!#KOazwc!Ivm4+PNUD8HBx7~L zx;&4&2MW}p5z-<yT45p3|qSi+S1-9X9y_N!;!QT_V^-!U?UkKaSO<| zF2CWA3{FOPj1G^!aI>?QRRQ*G_L9JRkJ5&p2F3;iIU#|Pguqd1A%D%6951AMTn4gk zF#(aGCR%bb#vY@5A%#0c%4xML-B_wCspTg5GQ2FB`k085-Z*6r4)ODQ28apabVB|X z4N^rGX#wU~4|k&}fmlH1;l#^y+}Pl9N72U+Ph;R^`rk8}>Q4YMEbGgG-O3}S8CoBW zY=&UkYkp}57MWs#R}v2ygK4jbSSnAhB_9{(hu~X*OCRik2o&k4*2{0efjXR8TDu(L zMtUk~hoI(k6_uFf6Ce`R>mQ*o$x~{i-}gs9yq`r4bF@!>h;VANue0P?(`l3sL=4&E_K1L4Tg2`GOrX{(&UjR>$k>MqAgadKvafSK=SWK7 z&ENU11;=GOUjN1dOkh*N3OeTVMNU609ak&Y|A*u@iSFCEu9jUH?XEVM&!wb(a3XTg z=07C2HLiQ+{GI%xC=@V;UoA%p*4BIO%ozffM`ntMb1^yqrwTnkoN>fm z`&-d?T%aQC5`#PQvtJ7%72#j6Bm(um{`qf!LkU>y&bsOxr;g`4YzEVc@>P<~tt053 zO)hxOL#B#=F#9>+fC5qUpq8d*AX4@(6`agM8s&gULNi9wfBxniV)-v@Xa+_hr2^!C zbczz=YjwdQnr(SWc`N;Two_O&;;)J;3jy;LqzlbL2WK;`Dm0GDW)~_~sf8qcw0hgd zvp&4gyS5em8ooXQ4nFzWCOz;gy_Ef*LA5Kx$Y-FemB)4~763LR*pxSIaawU*I)@ZF;zC|52jM-EL-|kU763E~RMW z&olX|JgaK~{0S=G9k9>p=y`=->ztqZ_Oz3L%rjee;qr%_jIMSgIr6@Mrv_v{ja$yv zQUlI36`AuXr7kpTYz9W#L&$_}`X8A1ZsgCvYxKUr2nSd9D8Bdx*9*t3#Y$u?EZ3VXiv5Kv*8zRT2aq5zL(U&;%F#2&K~;`R z(+2wy77a_nIbt0%U9nbjcZ^iJj;74a(mJj^EKucH*|+2Bo-N~kX_w_W8{yt1`8T2~ zg8wRJP9|{aTVJl)hT-6uuCBIoJ;SNHr|Ky=t0$IB77nM993T^oY7EMKqI1F`_b2k= z2s}r4{qoAiP1Yyr`=!QV9^n@RP~h$er1(Lp_^0$Ob1a@yC>}cLQM+O%Tj^ z*V^fF^vR;lN_R}t#eN@NfXAjj$ICIjk~ZSvc&f?bN;|wf8-n@k7XtzG;e66thR-+e z!LYr$@ulCgeXYbWqdH}ubQ&|RHEWqQCI%%pEP0oJU(bfodhge`OGU>fe$%epJMs78 z-ObDdER4K|)_%uFPRO4Wn!^~{Mi>3_$yiw)hV<@ql=?4189kFYym zaFuN`34lX>RPX2-0-~@(63U>y9EhU~PbCUDPQEM1@GX88P|vR)l1@h~yu0rrwi&7(ad{yU{03deUWr2sid^s)cH2pc|Deat-zEalW!Q zf#CFwsJrO_=Nky(WguQNQ8#6ZNooNyS0TR9KwM>W+A4YinBTHUSpA2eF-rK>QZk%X zx#*4DzFX!PU-jL6P;C7@raU2T!pa!1WWY5xQG?>x*U0|x-(}x&&5!|-4WL^x1qU?a zjxBw<7aEm-c++2FF&`P;`sb-q0_OCQbs0|Eyo|z;wx`Uj_-`TO%CWc(_?4tb@SzZ( z<5HjE%jAC#oV}50)?T3)gq3H%o^UQ}-FzKB?97d<%%)YmCjc@xyTuUw`u;{R)6vDj z5UwexbgS3DHZ+U(9GDoODt{KkSa%$Sfow=Yxk)qarUZkiOKHvEtG@c@(|oh|-X`JI zuJA$U&qcY>lCvb_j(;kL>Q2r#3NrWS2OR`>nG9nZqTVNDWb8Of0Hh#iW2}JA0ZBwX z0zZneu(PGmuWU(<%b2t)Hs6hN_mGO~e4XC-%m1hw>i%suA}4wOXZ*B@!$?hQ>Pt+g zZgWUlR8anh)5;glh4HmwdEPfb@hP-X{3cB+qzoYv8~o1f?~=0sXIZr%-797A^})L` zZHGl&zhJ29SY|*}W z_5)&eiylY`5d((P8HI}J-I4NFVl%g^Asbcq;&LA40xLFQ)5kPi@Qf)isOsKG>0e}F znn$rIbbVqkr+8Ka$Kbt0g}~@Mn9n8b*W52wGU3-8&a+yn8n}tDY!V_66Qd^aNBw^p zVfxPxbNbh9k!9w~q#I+YH5F5rF2t(MTkbX=q#peRQueWKqtUKh=GBP#p{4>FAT`5y zaVrGqTCjq}J)yw)=&UO5286d#Y5-+{A9W=Ufa|P_F!8D^`Uw9sOC$*>Ubn3qcYMqb z_^RhNH(8|u{Hub3oE>ZIt^gdTc=$YoRC+^ZiYqHJ7egIbJr2~r0bgSOQ`z?afQ!>L z#;+8a{?-!%B_hLsS)O0u{+lSk2y{#Y?Bf@>Z)t0i&8Sn-q=Cj`_9kn>2|mJmuf1 z93#1K&P390@7LFR1GO|9N~*D2Hy@^&lTcUfvRQn*QJo1?V3ruzCSfEE9aQSR-3DWAQ&A`i%Y-ZIsvc>_$!m z|0u9F3q|oxMFama;KSAb1@KsV=e+RCu*L6W&_kdCKwuak$2jqCBo_jNw(PC|+f~r$ zO0H{YzG^dzmpBSIeGyRgMt}n_ecOE=P=JfBUI$tTkoLREgE9!(L@LKBCvcyE#sNzl zsLPcX_u3i;5=MvJY|(bT@m$#flV$ZlHR_O*89*;4fLt5%rr%X(^UEX_6AnB0F| zfkInK=S!fkfm*1Xks8~f*Ud`uWrj7KXaKtbkd+OnwOltEa|6U$43Iw3cx#cp1f)gx zEZ8;y6nbQWD5c@(AF0WJ5qw}*UFr?Dtg~~PYj`oVIw%&!Dz)H!+xKup@dyjMG#Zk` zl_DK7lYp{j=lLexr(cOV8HGy#+n>IV|JSZ;ox=pTQTIonr6XV!vIi{bl-EAhtdmn| z06s>nwln#x#1Qs$^-U5SXWB?uOBr2%jYuKz$0)p`>#w~~T3&;!|3up`S4Ul7j#h_5 z{Q-Af*zed0Sq^Eg&JwX5OpBbVXjmczxZ0$vlvU@QmP-Q80Vpwck#q;TFa0986S&O6 zuT&h|e0+Q;cb;8%$)(}U?L8ovwIZjar}ySRqN^np2yRUnigPRo;$RYWz{je4K zxck=_^Lp<$6#`-fMD!Q{81LF5hAFM_yz(=BzX1a`Q*i=39;aP;s2Go#Oc>#Zt3)3F zi?2-J)5_smdu>WF`%whpvKG^l(RWiQE?S}LJoa@BzJ)`=xzYG zhj+)w6|0uzzgZt=T{2clg(?JC-CARL`g7E6KS1&nOfHz20rT-gLSYfq!*8{Vqj_ zYpVLffH`a;JQ;Y#^#Fgn=VO^l62D|AliyYq!AFQ1NbObKYblk6O_mxqohvn|6gnhi;WI`YKMn90F%mVVKSK8uvmlR>KnOlCHxGJ^I?!5#p5YEot z>iBYxO@IYe**5ar`*bl3S7}qmZfF!!3i<6|k(2F0xH#LKYpkIZo!qxDX$HV#i^lO) zdERuHOh@@3P^l`8s{Z}^_v@)TSqDaL5gx|b$@2cBJf3YmQ47%$=VVD}6L!{G6vOQW ztnrv+t8aUJbe#^5B?+g?0RPr#uuxJ}9q{m}EtIrPs!JOpp)2e9ch zrb(0D_L#a(UNc0RB@jCT#b3~pV?^TV$fzcL-CBuAsO>%)`LzJk3OARj&ngWN>GnbV zx81%d9$&K%xa2byxaQ(2aEt4s{r)9AZVThsmkJ2v~SK6tUX zKMYt7)g*4^bOP4(YU?*IOvttC znQ5H<>*Bw81`aeu}B2+2>uQzMGv2wE4Ds3g*saYrs z{8}5pJAW5ESq$3$!$6Jw%S5gDBtHTEzduh_n33Ut1IOz6tELA(I6rDqRtJvgHp~I# znIb2kH%@Q@YYYW6K>^@S@B?=4xTLY_85Kke#L)m54G^5!tOYn5wBh_kyt!~R0gd