From aac96974c63be9fab3ab697bf120312f75da9fb2 Mon Sep 17 00:00:00 2001 From: Julien VAUBOURG Date: Fri, 14 Nov 2014 00:12:43 +0100 Subject: [PATCH] * Add input checks * Add connections without certificate * Fix bug with credentials update --- TODO | 6 +- conf/init_ynh-vpnclient | 35 +++++++++++- conf/ipv6_compressed | 3 + conf/ipv6_expanded | 3 + conf/openvpn_client.conf.tpl | 4 +- manifest.json | 21 +++---- screenshot.png | Bin 64966 -> 64891 bytes scripts/install | 71 +++++++++++++++++++++-- scripts/remove | 7 --- sources/controller.php | 98 ++++++++++++++++++++++++++++---- sources/public/css/style.css | 25 ++++++++ sources/public/js/custom.js | 32 ++++++++++- sources/views/settings.html.php | 48 ++++++++++++---- 13 files changed, 296 insertions(+), 57 deletions(-) create mode 100644 conf/ipv6_compressed create mode 100644 conf/ipv6_expanded diff --git a/TODO b/TODO index effba98..8a00267 100644 --- a/TODO +++ b/TODO @@ -1,5 +1,3 @@ -* Check input parameters -** in bash install script (empty parameters, are certificates exist, are certificate contain BEGIN CERTIFICATE/PRIVATE) -** in PHP controller (empty parameters, parameters format, compressed IPv6, are certificate contain BEGIN CERTIFICATE/PRIVATE) * Translate PHP interface in French -* Support VPN without certificates (only login) +* Support VPN without certificates (only login) -- added need just tests +** Add require for slapd for the service start -- added need just tests diff --git a/conf/init_ynh-vpnclient b/conf/init_ynh-vpnclient index c61f962..f289bf1 100644 --- a/conf/init_ynh-vpnclient +++ b/conf/init_ynh-vpnclient @@ -1,7 +1,7 @@ #!/bin/bash ### BEGIN INIT INFO # Provides: ynh-vpnclient -# Required-Start: $network $remote_fs $syslog +# Required-Start: $network $remote_fs $syslog slapd # Required-Stop: $network $remote_fs $syslog # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 @@ -80,6 +80,12 @@ start_openvpn() { sed "s||${ynh_server_port}|g" -i /etc/openvpn/client.conf sed "s||${proto}|g" -i /etc/openvpn/client.conf + if [ -e /etc/openvpn/keys/user.key ]; then + sed 's|^||' -i /etc/openvpn/client.conf + else + sed 's|^|;|' -i /etc/openvpn/client.conf + fi + if [[ "${proto}" =~ udp ]]; then sed 's|^||' -i /etc/openvpn/client.conf else @@ -140,6 +146,21 @@ moulinette_set() { fi } +# Check configuration consistency + +if [[ ! "${1}" =~ stop ]]; then + if [ ! -e /etc/openvpn/keys/ca-server.crt ]; then + echo "DISABLED SERVICE: You need a CA server (you can add it through the web admin)" >&2 + exit 1 + fi + + find /etc/openvpn/keys/ -empty -name credentials &> /dev/null + if [ $? -eq 0 -a ! -e /etc/openvpn/keys/user.key ]; then + echo "DISABLED SERVICE: You need either a client certificate, either a username, or both (you can add one through the web admin)" >&2 + exit 1 + fi +fi + # Variables echo -n "Retrieving Yunohost settings... " @@ -217,6 +238,9 @@ case "${1}" in moulinette_set ip6_gw "${new_ip6_gw}" moulinette_set wired_device "${new_wired_device}" ;; + litestop) + litestop=1 + ;& stop) echo "Stopping..." @@ -234,6 +258,13 @@ case "${1}" in echo "Stop openvpn" stop_openvpn fi + + if [ -z "${litestop}" ]; then + yunohost app list -f hotspot --json | grep -q '"installed": true' + if [ $? -eq 0 ]; then + service ynh-hotspot start + fi + fi ;; status) exitcode=0 @@ -272,7 +303,7 @@ case "${1}" in exit ${exitcode} ;; *) - echo "Usage: $0 {start|stop|status}" + echo "Usage: $0 {start|stop|litestop|status}" exit 1 ;; esac diff --git a/conf/ipv6_compressed b/conf/ipv6_compressed new file mode 100644 index 0000000..28c03d6 --- /dev/null +++ b/conf/ipv6_compressed @@ -0,0 +1,3 @@ +#!/bin/bash + +sipcalc "${1}" | grep Compressed | awk '{ print $NF; }' diff --git a/conf/ipv6_expanded b/conf/ipv6_expanded new file mode 100644 index 0000000..8be7777 --- /dev/null +++ b/conf/ipv6_expanded @@ -0,0 +1,3 @@ +#!/bin/bash + +sipcalc "${1}" | grep Expanded | awk '{ print $NF; }' diff --git a/conf/openvpn_client.conf.tpl b/conf/openvpn_client.conf.tpl index 35d3fdd..b3033b2 100644 --- a/conf/openvpn_client.conf.tpl +++ b/conf/openvpn_client.conf.tpl @@ -20,8 +20,8 @@ port # TLS tls-client remote-cert-tls server -cert /etc/openvpn/keys/user.crt -key /etc/openvpn/keys/user.key +cert /etc/openvpn/keys/user.crt +key /etc/openvpn/keys/user.key ca /etc/openvpn/keys/ca-server.crt # Logs diff --git a/manifest.json b/manifest.json index 590a536..bb42e0b 100644 --- a/manifest.json +++ b/manifest.json @@ -43,29 +43,26 @@ { "name": "crt_client", "ask": { - "en": "Select the local path of your client certificate (will be moved)", - "fr": "Sélectionnez le chemin local de votre certificat client (le fichier sera déplacé)" + "en": "Select the local path of your client certificate (will be moved ; leave empty if not necessary or if you want to upload it later through the web admin)", + "fr": "Sélectionnez le chemin local de votre certificat client (le fichier sera déplacé ; laisser vide si non-nécessaire ou que vous souhaitez le téléverser plus tard via l'admin web)" }, - "example": "/tmp/user.crt", - "default": "/tmp/user.crt" + "example": "/tmp/user.crt" }, { "name": "crt_client_key", "ask": { - "en": "Select the local path of your client certificate key (will be moved)", - "fr": "Sélectionnez le chemin local de la clé de votre certificat client (le fichier sera déplacé)" + "en": "Select the local path of your client certificate key (will be moved ; leave empty if not necessary or if you want to upload it later through the web admin)", + "fr": "Sélectionnez le chemin local de la clé de votre certificat client (le fichier sera déplacé ; laisser vide si non-nécessaire ou que vous souhaitez le téléverser plus tard via l'admin web)" }, - "example": "/tmp/user.key", - "default": "/tmp/user.key" + "example": "/tmp/user.key" }, { "name": "crt_server_ca", "ask": { - "en": "Select the local path of the server CA (will be moved)", - "fr": "Sélectionnez le chemin local du CA du serveur (le fichier sera déplacé)" + "en": "Select the local path of the server CA (will be moved ; leave empty for uploading it later through the web admin)", + "fr": "Sélectionnez le chemin local du CA du serveur (le fichier sera déplacé ; laisser vide pour le téléverser plus tard via l'admin web)" }, - "example": "/tmp/ca-server.crt", - "default": "/tmp/ca-server.crt" + "example": "/tmp/ca-server.crt" }, { "name": "credentials_user", diff --git a/screenshot.png b/screenshot.png index 235292c93887ce98df2d892f98c2eabda844900b..495f4fd0d92a77707c8781e45796b5a46d76bb7a 100644 GIT binary patch literal 64891 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 jMoaiL-*>MD=KvN z_Z?|NGA+Xhg>X zb{6X!fT#@3xHHovokJcC`o5p$<7+s-H8)4Z^Lp8S#}437?W#j+v<`tO+H5oH`xY1s zj*gD!`rvd&=38i}nyf6uR-j>ZkR5Q++xF)PH0s`Px_{QtLH3t85DOOhf$PVCWYEOq zBs4tS4M2XSs$c1}0z^+!i(_FmXg)tRm0AW;(nV2jYhe+Wh4^Ww_f^9hGCnmvikhJ| z9u2(L@kTmG&z>wW!{l{|voKY?XV1+Ept)pQv%W9rKYaiU>aOoCn!w`v&jCx{Ong%8 zCLhvO#ztiU z&-)HsGY1OY{r>2s-X$2D1zzE&HAex^w|{P@*X86~E*aj&D08F5?`Qc~?v`YAX_83p zJLk22>PiMZ1=r$$Rzxt}Gx5dtdw1?o^9$Bkb`8Sg_&;`>g;Rd+QKdnfTO>d}6%*oH}QqW31g!59o7I> zRpqWwm<9w_EG~kvf9B*c7XM#OT?shU>-Tr7TPe}KQL-kxJ)76k_nZCEKC|3Bb6n5{W@1uMk!K1F zS0eh=LHntlJJp44E3c=b1Qhc~BsC>p#^2jdYEDak)FK*8bR%E0%gIBX8#_#aew9>I zG<^85I6OQmh9)z)e57|^0Ce4b%WRSRDw|6beTm=skS+kd@*C=_z2@B+s9> z>ALJ!yZWv=)9}Lw#e)gpb~x!$L@ZV_Mb49oVUGGYhh7{R837jF?`vQLjo#0*ddL0< zm)12Jm6{zRSZP-_1P!t*7Kqv{DK9N8v1; zM>Yy$od;@RHoT#r=e?U-Ap(Ku9Ud;cb?#O@YtO0O0#fMhT>@U_=I0+`ZgW~hOG!zo zUG{WwshagY!WoD6>8y@O04YQRrHTF1W^_2F$ahq$Fm{LWVcT z22A6r3}`n1PNp|Np-66W{FwqoSIuZaxTaL6Om<$XzQ)s@I_l|<#O#Qb5%72_9nEiIY>a0xbk#N0(*_;!Qd0W3 zLdNUll$0ZGXO157S^vQ@xw!4FKh(=D3REzN%;&X0cg80Q_l?yxPNEcfI1bS!R!2`V zLjmKr1(agwQsb<7uj$3^CsTP3bZ|`^o%Gs~rP%AdL}}PbicJl>;b<^uA_a{^RsrGm zS#P@fVdRgPoVBQX&_4N=nVNOG;{YbPxVTglP8p-%Mbt=O*rJ|xDbP5gNtxNaklu0i-ZD62KG%VWLy!qb7 z<7#U^>3@~I{L=^L-UUyE0s8!v#8ySOBHPEK_wDU+v|?iZJQbgwkR?2ntwy>7u>&1=W5rc1Lq#^WpMY8BXN|`J)jaE)tr5v!s)FVi-r*4@6^)d*d{!e+aS;(Ho!!{-woj?D510XL6B_-`pk>3y81{k*hEROp~g_@;j=TmorDIPqB zBbW5GwO@nGyPjVA`-0>D4$|aM0s$snWmJgPn_BIJr$pP(C$*B1H;i$T2M?CAK%KaF ziwiG;xtsS}tVBb7eanI`*8u3i5Xl#xoi9cW3S@E} z-TDmZ<*X%S`*t`nDTz34Cd(}-D5llY+-!uz1aGU>B*;PWl3&Vw04*UrDk`Sl#!yoe zi$Iuz-Fi77^=ydo6~30VAwQNgasAxe)^rLm0($>)zoK}i4Y&iY zJzsu;s*8l7g#>Hfxy3nPwNnZTTzwep?7;l}eIw&)w)d5Q>eUmGF)Zdn6JS<@d;adz z;!-SeQBDICsB9cXzsdQ1c^a@Er0lwQIscoDn40%YN6+N*$7nxhK2THfSPfU|w7U{! z)2Alp>~~!7qS)%k=F`_?Wv^q)|H{^wlKAz!coewy$;ru3k6~Ux6_oDQS|Sd>L#w10 zNBiG3exIG~RbC<{=o%Y#8}hwL%T@NQG4l;mI~|b;Dn#lV>oGZeKOc>U_6oAPFte_5 z&iaN1r_bvT0Y@kNl@H`v523f0TU|rLY0%X(fBs`v8}N@RGD>Vo^<{{lU0Ii zym&ZTXo?5kc--5!@7iAZ*xTjd$v$9vD0j=hxoc}18xtFQM@XEPW7c5fkBx0r5OL~h zdLzose`=?grg`pU7tn(=I$h3g@lA-Z@%}`f&V$V!v+sle_Y8<)Was=>vEG?wu8NG! z&BIz%u@H{aEl3GfRa3CFoWM+y0WdK%tQxV?@m&=1`4s|+Tc@TX4MA`1W5=;i3NtOh zN&(JAfnG|Py=bbWl9*mY0Tb>+M~MfRRqthNVmUW93#oEIfn1dbN_ zJ5N6aWtKT?27Dkr%2p9G=bpiU_MDsNhx)cj z)Heo|{~XLZFUtDEeUOB7cXvlr`ey4IOTE2*`?StpM=C%G+WI;>291D!4j3M>Mz_4bVd-bbITZF7>^ zrVuEd*nf}~VcTcU>a@#nm~lirpF1(lSnK-3(0{{PtLFuy?KTrVXF_Rd;cT{{IDOhy z6sh}g+|i3=t^foB;}Jj9tA}sAm}mx2#(BO}kZzpclPAbL);vPw?@S; zUgVHC#c>#hgh47tRGsAeN=tnS0iJ158To*0PMduG^4Fuo36!CQg9((fGS{uOG$5%x z?I3ocq$IV1Uf)rAJo#3aY7!8DXwni15Ra1y8&R?OmkBg)@J&~qW&qrot>+(roaE-^ zaY#%sw`e2O?52E)LAT5yU%>gf10q#Gr4``uIv|)Y(u!0_7&ZgYuhMr(g-VwuPc%YS zM(3C;H`GNzR*exdy!gV}KbjTVU?bkw*N?uJrj!d5ZG`HNu}x4T$s;I8c=hU4w7mc? zh(%dS6Wn704wiiWZp{71)gN0UK$qB1ngp+|U-%P7gDMRfwc8W}WaNV{TXw`mzIf3! zP@Ih>Wf?{4=>ZCt)L^mB@##+XvuvjQsirU(Y{@&n{|ssmgh|qFCe?d^1TdHdI3h2a zQ|Lzi1C<=rRTx!J3)n-mLja3<#*84Gt>KUhP;K zR~pzp#m=5?&D+Y_GEX57lJfwW41}9=CMPGW?aOxu-Q<9=YQ3(PcEjID6i~j%I)F)a zl*uebva|mLHkP0Ks_|4&eZ;h+$S3b^k9SFDos|p?6=yeJt(fQ~$6e8XoC??z!sJ$0 zj9P3*g9EThAl7CATC)QbMtL}4nv2B(Zz^v+H$ykEA>ho zPD@=>LI40E;^-ZpvtF+7LDa%!Y1Y71$Gqtp(9?jl$TIX^JD}DK1kU7AA|EUswl5hx z+%^tM+CF;@mv<-MEV}=aojv@8*9krp5@(pLA?1`zuPoD5SEn8+jE;&j_3>E|%Mjrb zR;4qmt21u{PMr*xjHWXPM;)`A9PE*KRjpbGgHnPMBD@sCzLxOZ1ca+^sI(IkN2h8# zfo!X_PHJtmbhK;_Fy~)J8>5V}Jvlh`*_EKQ(C^@$-pS;j%r>!Vr=i`P=jfpeT7Wf3 zM^^aV`T+1aR1V5jxuwC<>|XUp?ZL323BU=G47!tk{=5a8jI^~a@qJ<-6*iJLSmM~? zAh(;J$m~^qIXr=Yq+<09fnO??aaPBdVYHDcda%!Z&@`*qRuk#dhNxjF zem|$Z>foKV56;VSA4WVPJNY3g1i#NO0Dh#=2BC~a{(snu`?g(8r@lEBDAQmEp7wIP z2h*#Yy}i9TQBn8e83Vb%$0O0*Pzr)l$%>d;a9Uj41+CBv#_f9T^pEzHbNqZz|DHpU zLMl>rZ~MEuaU;2b6z64M|0cG_xC?z%h(5{}I zEI&9A2KOriX@lGcGUxoOSkHfVZ*B2LMfm38#Jb~Ra!RC%+wDK&Lb;{?;#s-v+n;50 zMhG$Y9Ig1xn46hvBYj`mgsdVUaUk+VeaMu5p~>d`GX}SDQ@Eoq?i_vg_7G|GmIul^ zG0A`T=!FLd5?$F}{(6$;&E@4d&D`33;;rD=F|+H?FtIv2{M(EGPe*Q!&<-lBqCyFv zVk8f+L}^yZ3n8RV{ zTY+obPL3YwzSE1QG6UP@raIc%FvBr;80W&|YJkao@{+m#DC^nW8s4`$^mGG>9D;cn zo=nyaTsu7*-rCSK<-)hqOAA?Whil z(<%7i$JK`vQ#sYo8v?H%1`{+X8L7Eg~hh9@-Vn4-mH9A^D z6ez-$r=z}&o;7^C<^c)=dCq*q)vyIH6)kQ3?eAELVcLv&*Y20q&j z{k_MGhiBJz(KFdFJ|P}6;S#}IfSdV;0N(AL%=cN{P0r}j{d?O^4BX$7?#a#?6lbbq zOWW+oWYR+%P7+l)5`On{yO6n|Aud{e7r58Ya+>?`i_ zeTz@VDEm!G-V7?*TxnLA3k22ZYYRp&(UkI2&8F;ByKkz;h%ZK2ENRcKy?gO0nGY+u-?LED3qfss{YBkn*>zaOYM? z`npc0h9y%Lxf4q~mM}Hn4!7z}%V2c7>IfTU)vcR$zI-^FXeX-i$UbC8>c>`GH&jF; zVs+ues|2&mM_H=}*q(ZpsRSNdSsQX)t-F1&7ptH5(K4D-K;hBs6o->L>lvQ&_<2~- zq1-@!+rI1?F|7!jmzJIHtiu`BfE+eV)O}l|IJDGdyQ7@16huhhs=J0shF@qMx@R^M z*$rYU1w^6myTVquZE`b$@?$R4_l(|0gy-9A$|l7*{BTXr@y<5d7QmN?1?Zy{g%NZk zTKl0~P;hPW7D{3=2yWYWlQ5K?n%9|FgCkg-E>O$3U9nRfwkkaGI3_39e|}{}IN^H) zGFN+k3lmv&$iS|&q=J-P3FeE%P$}Vk5D2?IvCMe<2BHi_ z&P4GQZFyAR71Ct<{9=9ulu2AhmYLCuW%bjP&_+d;-+u+D9P90sIGJyaqO-BKY1epL zzLjBX0+k=8_ntTwm`$ZsYZwEwezk$#`Eg0nZrkKY44*iiR-&FcJ8Qq#jkGo+I>rn+y{{~0=#NPZ~dc(L# zWjXfZ>X*4znYk-(EVtXulXn?DBlF9UnQqP16_w-U&G= zs8V}c$->)-o5PkJjGFH;>}5_rK48WR2E!TsD)J-PB05)3r})<^*{DjC<#yVl#80Q@ zI#HV_@zH?a*lPVE?2`~RW445^Kd#1hH?Zm~pO)8Ger`!yKN#8h7cJc080x&NUh(Kl z2;X(5*PE-0S@T6TmZleSYM%v3+73wUtfYsbwPJLx380Gnk;lE6Eu}{!cN!j&Om{4g zdvncxVyw~ko>P(Y8cLWv+WmnsJ2KgA!3yt^FmNxImUr8r? z4!mNN*!8pVlxGzXUIpks%5j_%Jqa(D8%w8pT>XW$iOSMNw#NnTl_;TJqN3VV@ z6IQvk_E``y&oviHo`~LGU^Xw8|E($iWSm=SuI8DAUT;8=(W5#PkRDX3j+9zCrpIPF zUL47{3OqCW=6LvO#E@ftEmckJa0WJlSfMq@Q$w9o+ZlBDtIR5$DCv0#;1^}-D>zzi zO@#pv3rM$En5_Eoj3A=c*O$)hdUGe>?g~$=!hD&@rgg=ds>|)}yfM1!ga+Sihl#a3 z$n@Nvt{i_^eW7C4qxW?(7u1fKo7Sm1sVVp)%G@XMlzS6sJV0En!)wA*dQSec>$~K4u`Xx z(U(1DUMi-S&qw|Qu3~NTr*M{uD|=Lz^o1DfLw!mMaPG7FT@IPK>*x~?LEx|KEiG-r zBaN9Vss_#eOHHI-6R2E0wRx(iEaUCyprlc_5Ov$Bg&|e_g>oUG8H-k&x*0 zUk;er_@2PzP(L&LOx~_h?u2HuA?zI#G8!AIk|T6kZMuI>Z`YDJv4*zxop8@-C%kR_ zh$%4I-F%v-w?(*Uan<0{XZ@95)4xI&8Uq@J-z?M@d{}#7+jIHxeGKN*>Iyk&bC9AY z7DTjsVxJg*R5BhJ4rTC8oE38XM@sIq{JZhfOUEGKKFnvT@~rgFVrz+dhz+ACQ=-2< zO;T-TC>6G8Sat}_znim|CS&1hh0J$6vu(B!^$GFun`#=BaCga_nD5zGNF^j-uB$nVi!6~;%4ucJV}mA9gqEdWU7c5l%K4e8>@7&f?MJWEYkmr z{i`t}?MiO{5f4Q>NeehWm_{Kb*Bnyvu!2GF<)WRj^j}6W;kml_UPHmhMrQu@J5Cnt zE{Vw(%3395`3&99U9uvW#8Lm^#C1~>6IM;pt>fmY%Z^hsOV;PWls6aZvVdOj;t z?dUZ9g|%83`To#97-1i6N#m_dts(^!b?5sqO?Kq0ZqYCZ1n(I^(Pz2g`|3vE|Za&sTL+NALvMNvig6+Vl`?CtLOTkLrS|U z_LZ{*D7JS_1_k=M4bDxZOJ_qx>SW%6qh+23onrYT3f3S6G_x$p%kfL2gK8qf8`n9r z?*}Nbv)*3IF3X{Ytn{UgRt1XDZUzO%dt;BZlDLnBfT#;7fBWPQrm1kYzh92)C6HqA zrc!qR3xS&qA_e%03PhgswX4|QuvA=J95;G#*i1D;ADm6#1z_2?udGMNHg02L;e<#!V_x6@rBf|nz|;%Fth%Z3aW92Q)Cay@k0H6SVZY(AL=^#5ChNoi zHu3LD5j+5Tv94NNV`thwzutoUcNhcWzjJ)Lj0Tx_gUGI2UN`L<% o{C7-^)9?Gs1z!FCLw?#jSQ;gAscW0`p7sA)>i6yv?>u<^eF9e{85z*CUBBCqq|BwJ@+KXFvfHx8gWrdf(J8&GyqJn_8>#m9h9z;a9ThIS4#k1dj z1f0C)2~w52Hhc5N-N$5$S_h}VDJoC7SDvyiPEOX&o^&dih+(XL5bU&p#4J-?4KTFgMk3W$IxlXCBkbcguI&KWjVz^?jnbuOx<% z$yZ#YS<<-uK9%8VhvM&NPkVhsCwRoC8fFd&#|x&h>+hTnbI0~}RtFo7{buH{by8!H zxhcW{!8Ebi897A^j0rd%>r=5_`uj2Z_#a@t7ss>5U#|T9lp6f{_TNvgm*0y1{q+6% z|4$pbc8$(De!>jr$3#A3?0)TuMouBw2WH}y64mWyG{RdJm_YQ7(*=5so3QLJmGnhj z+RFR^4X8Y%zjB-w0)xP{@~7z@O3eu*8jV+fVonc_VVps`f7Xi(rr#h<71FC*eEpjtk8kGassF2QcinFI{L+VcAeM&B4P(deOvs%jml^^3&U%qARYC%H4EZ*$!HU;cSSBqHCZkbT= zAEjPs#HhlRWZOT<9*^Yh0uRNYaEr}Q0XN%2@Q*KKRe0o{Frw|HiKfahMVi=diXPXg zF=CQzaC}UxD0*#_M1=Vz#~?#VI|ybh$!>pmKjFQWdf{028 z;db~*F_>Y56=+EOkypOcT{5W&AN33U+P##xzFGG3dtMIYJ`+eGH-KAkDb zx>rgd!8udxgYn?5eaND@z%=C9{Mu5(u=)CP&`^S;-x4IHW8S&M!FZgq;G6NMP|1D0 zv39ogrT#qq+Zli7u~_9uwk)CSsd;5EY^okxjDjMzFMJt{C~D=YGIO+;VETs)qq3a;Pxlo;yvN^s7hOaF;~O z^#=iyz%8>suR>1{waME*EA8JYM9ON{n)|7m@jaI_q20J<+f-cnz#&0@#dPs{iD`pj zk$&muE>rC0Y^6vdHW`aLj8bJ^ci&qrotSeOO*fgs5q{=?7cG~yBMz^gE6U@H&X{lq zVz0GC{GU>TIqN$A@xFqJToucb?H~LT6-FBwT(Nj`M$pTg+PLP$f*9@N&euGhHmF>( zV|Bd>$(1nL(Pg zTAViaZR1sWm`SId$qL7Bqi0pBAJo(JtyC()5^ia%`O#}kshN!Y{#KE6VCL`x+-tX3 z`UUMLuvO%Ou-?kJ(L|o}w(YV`t|Ku5dz5K7QomDY*VHg6Pe9I!WLALE3}M;#aJdc} zi<7>Y@K1?n!$014BlcG2JeMurS#Zi9;UDO>VGtwxpCZB9!aNEX4|g|pNa}V6X+No* zmO5;aV!NWc7{dmdoGC?^PEv9SZ;{}S@~RZxm`GI^cr+Pgr5#7IoM;u_AZINM6Qs^J zSuus~zsbZO9d!sS4p<-QeaVjqrvn9~^}3rPu%ci?0$~aN`%{&J6|y~FFO3db zbn1OTBTlDrVpUEYb3qXwdoV|F@rUm!BQLz&uckJpJh9F3CRiiYQcd5~XWb{z8owif z#7a}~0`3=2V+hMcy7+}1k!Z(!WhL!Ktc7g6Bu1Wp)Z2(KTR!H+hxeWkfE#G&ytX}{S&qPaJp zbX3`P-{^H5SN7;Q?B5m(fO!UDDWRJY26f>0u*8yVKc$DBV*6EGY0^0XC?Pvtq+7CR zm3?EO!*(4ABMpwpjCB&0puhVd^CSI>s=W`^hT}C+HbK)0v%Y0gu&Rx{c_<;gM5)@0 z{x)4{TdDeXRwAcRkSd7(}L$HE92Px#K|H177&Xt^Fvu(5>u|1uuOe``N| z__R`=3IVN;+2l0RTPo5~bCO1Fss>b@c!OX?c}<31c14BO%0H)i;mVY<2!{ow4KeB` z%8q672PwJCMWK0(LgIbTZ0Uh$m5Atjka8rk2Nxa1zJ;iZs>I!#ckB)b-d$CM;({~G zC{J`##GWTvu-Lq7$~2?*Ug^zmwh-42Hq{hd8a(&27pvBW^+^8@mO@yByxnUAZF1mt z#nS`z(GC++yQ}Y54su z_?ipp@ChxY=h6TY>bu0Bd{D|77If_KTOb~cdz0HRv>Uq8&^?0A@4r^GqfHNj>2XSy zsBw$FeV8?2l5W#AvjJsUoS%Q99^1SIK^R%??-qqyS58@b?hF?3KPa+{z@j;gs$)!P zCiN{dw&1$Wnsqe}neDXToUuZ@jah*4^y1o6-x{-^lsaFZPBg#6H)E~oEsV5%9%I)G zGSY@KDgWntcvJO)2LU%-w}ZjY-jg$Mtaa~8GpsU^Iz*ty_GaUnrh2`j3E*Alj+GC7 zRH_CD#ph@Ep4H)o#N}I#MQeU76n>jVY4rzTmuFNb+@+S@TV90Je_Xl-&G~xG3gYoT zv%h175mOv10((`K)J5JCl-fkrTUq} z;~O^=zR;xC8)x5eEjKraQaPmAgud~}F4>7#8KO}TcZd1F$FX`-L2X3Pzu%4!&j%~R zgri;lvD3mXESHYi1~RH=Ww}3+dX<)k@o=2&C_wWb_nmBqYHYet7?O>BtP8C5nx(oW z-yj^|ll(2!@qtqqC}F};Z|wnt^Nl4M+M2?R@5fp}5@}z0c(0x7;i8c!bq_^=oey{b zvW%J#MkuUjWc#Erh~)F`4?3Rgx@au5(+YYotrQwR#+pY=h%2H)hhrF-+Rh3ReJK(eDJ41amZsX*4`zF6S1O91^gAB zn<$YN|M&@+b#vrl@M9;kkse*ExrZ5?8O@^F$}MaZFvhmjq&$%n$^K#6wq%Wtx&WgB zg|FUq-Ga2IR`4`$I=OVMma5CbAiiY8(u&C>!XYuC-iTpF>bLBD_*rxWuI|xa-|;xe zt*fgqf=g~6jLU>NxYXRss&+7VSuaM83gpbm$fI%Pu-zRh`)Xl;skG~j#OQEu+?A5g zGLVux(W$j@n$aIRuC6|6w3XJKYU@Q{jEno=K}I+0#`KWK{+l%q(l5~!M9FgM<mUPl?IlG8&K zwdh|qBRLeqUSVK~Lyx?aT*Geey2{WkwQ-2Zet`J0#%_RDyDLaLu$VaT|R1P_I0s)yp^bJ*u6Zc-?{4r+uC};;x3njCAi}U;G|Q7qjE~y&QL6 zBo6~+wic@@vRxiK-EBO>3#Ha32xBZ89>Ad56kBnFCTqNPHJ*IsreB>t!EybUGHs?v01%)Fcxx2wDG!dvRzN_t!Y zbn|^OcqP~E=-_H!L0y8I@Yn92LX$GqC~3H3uvwFe%K^#6BCyk! zd&%g2|ICiivzNu%d1H+lnY~>4{eHOho07v7=Fyw%+Qw(~g&Z3TaVEumRV%lamu>LskU$TQ4jnaXpJ zmc=4TTE7+b5`8!A7?z)UW+Xe>C|xv&e#gyGd9j(E&sgY*#ru0s1|qfmEVBONlj5_> zA@sdEz$`)rE~1khq}Y!$YbLe1iQC7XwJ=D^x2})(`AE953r)E`P9qz zXGcl!?5j_s>W$g^A9NhPX@nvRniyH}`}auAAecxz3fX;pLnUd{58URETs3c%TUu@^ zo^v=mmyY*H8N*n2H^yW2j9?5s`0czsDz4+1XfE(f9b&SIzPSG3{L)Jkc1isaP5LRp zhNh>4Qx4u^!Ob!TD=r^(@1x~!(Y4Bi->~d=-9=Rbj6yR@fl2j@A*S#=3*HWkAro+S zjgxnM!!tDzyf>~mH}^DsjSIO|q%Epd`tK+&(HJjpuhA4~%>)ANG*h2$s>2v#rzEMh zzG3a7o?&X_9vvh$7pfZ?qtKmZfT4lFO=#{1QqwY1k*KO+s`txC>g{Dfc>Ij54hLzGAuA8NZ3`|Q#2n8J-R}_h)$H}{{q0SQH ze21Mn2AyWK+u_8OSQ2pCJi9Q?vhv;9LSPF;ihD_`!kn*|dKzlPl#bEkr>b)9evm>3 zx<+WeHm!1hw0%GC8?^~R=lh}v=1Gy%@R~qwJ)Nx5`2aFcI0aMczmh%4w!~i zH{akL7cIei_``{zjJXzB!L1S>+^OsPVy_~hzB9!X${;v34vRhIV_Mu`HMvEq+nE$Q z>An4>*h``8m*&2CZ|Wfbu~*NpLNc5BY`q!gP7BdeO~NF&Ela(~eB@ZCFgwbE`-8*T z0ezJ-asg_z*$5G|*TB&f>_~HGOS|n*OYUiWz12Ph-KO_$?AfTJR+&u}fXC7W*}riF z=?fejJwxQQEfi|zR45&dlb@{I-7s!aYi9LEa+cWjd%i|ifVl@gyfz!{jjHnt(94r_iIiMyQw*iy%o~~Np;!XqN?SXW)BYZsK#Y5OB=L|!9V38y6uvF+ z=BlO}RPlBP3MPAtwMHJlD5>wxm}Mny=xd!&m6-CG6`c)k>g89=rb(*Oxk#5-!+IK* zQ}90SKkP~Zp&xIXsp_1(zk+uhe)DKjlHlO*qn-?r=?k8bCb00Cq6^@yr6A`1QPLB|fDItQ_pExeF z#_Xc!_!~^k(sFYcbC-hHG8=RgKQdoQB(J zUhA_({N{-iDOMWae#q$-K%FEfb7LomNqbsW;F=q=UviRF^&Dnlg7~FhZYGf+t(f1Z zg;VPw+&Wq=M^eQwIhq5syWLc~X_N7|*958Lup9sv6enY2Tr9S5+GNwK|4iq*?uPS+ zH-yzuQ=s7?D&?SE?yZ2SsYybMi|*m4rQ`;?2DNwZR{ecG*N2gh1dLz`j}~Z$H)C$V zvUleCMpIeMu!kPyYzB3oB~E#jHr4v`PJ;gBjNhMU+*z-LR3*J+b5ph3&yD9_*;DuH%`~owe8=zY2>6XiVd%mN&Ka#G%xQ^a zvO8ecrtS6{8`YMRV7YKdM76Do*Mm{oJ9RFFVR-;J-FRdo=-j77D@_T%s$2m#7Rd^b zKKpuzm&_?W{T#)~#1V`#*y&-mn@fsI^DA-t@ z=h{i$IJpOtmRIG68xOYQVrq-ddm<7cZT>r8qF+~gO#i3WCX6d8D?2+C+0IKyfUl1t z=Q95CROHj&#lJX56pi}w^Y3LMkxTzMr>hqmk%%bx{++)nLqwz|!*hXBr+e-Y$kG;s zNKKCCn$;e+FOb6j`0*bK7L8!DU7(>19RVfD#iiC3MiJZm`q!2hky=YHeK5@*ri|$5 z@7&%%lgCkf4{s?cD*l2F5T!-}dOESXb=N~ECE{Nl930L8BS;I-*d$Q8dMWE(K3KMdy|b^7{D6F; z3SPCQ>Sb@TAo}Z)t;jzYgIMIrt+*_@sFquiurY36D5iI8y9o=Jyf2IhLae?0yqrm` zG1yU_9;YigS)Ep|8d*Pc&rj}}*J<%YmYJ68590=OVVot3abiO#;ArxtWVO#biO-=a z$O&g#Hm-{sh<<*3yEA0^hOjRCoH}CukK=m-!=iUb_+O(AF<69fduFEKwV&Od3tz{$ z0*`exncKDKySB7- zBw#`uL-J|UKM}Ydvf^2dG7xw630%W#)Yi;oQU3I`om9}8 zzDxV5@@LNXE5Z^kJaw2hw<}8)QRsKVE8X(7e+@AN(2rdf{ivUqc{7c@zP`bvRxh>% z8yFK9RSgtbK9O8mJdJW_AvkrV8tn3k?H**;u+Wazs$LgLNhS+i%e9tNsv21J>c&m( zG66yQC=_K+BzLi~A5-4#xg^Rcp8Hm4<2ZP^5ov_>HW^lkP{yp+xiEoLp>sj9XF<}F zW&XYx50Wf{HsyHTl}5t8f7U%=r>GfceFUYHP6Ry)yz&kSIhmi>RW}JODE_Mi0&hhh zld(S#&>&XzBbRWA9j-y?l}fPdN8P||n(_25HNC1l4NZ}@YG2h-bcqbqqy4}!a7^z! zT%4Hyx5!)j9@sU$N2C}-V*)##W%I{V+FNIGSU6+nR!pNiuhpE`jhQ*w7EJs=+f1y$ zR;O;*g$bA8GH<1cmaTALvnx4;Sku>=GR!^V27zZv{Oba23C@MWTx07IF^0Q6;fA6% z6LYk@@f7DH4yI}UDEc^RueLPfq?frZ^<#`fGd0+3nqg|p+?~B>uvFmb=ZiJH5Snjl z^Xj)Zh;R_>a z{MA*vcs5-n=2(zCgQXsk$h8cq3z7ZbOz(FSgEurkINUC-MBkPFU)f~s^Cmia{|B1f zqoh>0d(n?f9bimD``*a^2N!_m-ouBA=huQIFpFKW~`; zG_as9S)?zWoVB2t;9p6(Gp|fRPM-bs>tjf=rwDqf-{sL);2%M!CVXVVg)y2Y0K|*M zkNFD=xV79SE99A^R$pegt-2kyVhyvS6O@J=-)###;f1(i7NT`Cy4t_BaVpj0W5vAI z^Ie|a8*+@2;M1cO_tNnh+Q=|j@#Yv-4uIy*ZEx|L2pvq@V#dp}X6GQh3I|BDL^Y_# z2-R%~VEEC*fJ=0Lsk7|{g4Mo;^cqy?HLXu%MJU@ArPZdxy9$d>evKEIz$``*z>8#rejuZ)3XCh~jeun3aV^vEgi|E$I1i?u{Ea zv`U%soQwLCD1Q%4Uqf-4(w{Akt4UXCCVU~_pE53oT61WAz@7eD!P$j`LYHfwPePfO za|8K|m>Zma+DS96?VfJoz@=*7gU%N4Xk8jfRC-SA^)3VFj+upSQLI(%3JABM$B(vF z-OSNNfOU!SUs%um{VyvZq>)i$Ig#N6oy86szqoYTX2th#$q1e+f6LcYS^Z`A*y}hZ zo6>Y&n=&rL;$1cawa}X#h`>!nLf}y5$o+J+jqYS0wV4m9+Ex{+oFqD!DJ69J(7^;SB$Pr>t#d?)t=16OG^zVIdtvrW3vxKyzGC~-6StYo)Af5RJBv|JgIs`*zE~w|A=yKEecI(#ecjyiy<9uGP9-dfSeoyS*?s@$$&S3 zWKx`2QBBmyjhw#T&Hk$1WLLFt+rB|=g|`&!F1juQTHKy~FNjr1Ktns6%7V5d57J1Z zV${2Kp%opEB@bT5s7&$Q^RPkY2JWQ2RX5QZbf*}pn#a8s;RS!FJ50*tDm@%Da}Ziv zEx)Juv%2FTWNx6=5^~zr8d!8b#@rw*4%Gztf){ioYD#C8oqV7fEhfhi?fO~ z`euW7TsC%^JPj$-Whs3zR?W^hm~8JCXn|}84}UBWbF5WR_rm1l83_#>%{T~xG4wD- z2aA09TSqcy;cU5HGth#zkoQ%;_YU`+Ty;X7yiju5rh(civc|)i0qT;+K9Xs(Rf;Y0 z;&1|`_ojG*q(_oO;jlh(MZ6%a-?#UX@QW3W(OXk|7M~{azPb44TJA87z#VKyIGjeN zCpw%Box2t}!2{(@@=a$IKNSey3bq2{oin&U`{*$@}!@t~pBa!_o4u}#a| zqk^~0A(xYz@`XwCmqP9UE7N%u2#puN*bwB4%oCqaqK@@x#oS*uZ4pen8`GKeGnAly zeYZ>|DV~7D8Z17()tmk^xuqu0&hmX{+={C}cxp`9{<=n!mT5AS*$}P%vS6lg29|vz zfTnrk%@k(Ort5lh^1godE&0k&Nes7o6ufXn(gc;sy&4;mC|D@3nPx!E0b<)zp^xWW zWn-0TKoNr%q@C}@#9N;p^gB)Bu}ilOEgcK+?z|_N4lyaiB^%5~3GiY(E(OzNiz=u} z0qrDJtvu@*Q!B9Qodn}fhy)MZKJU6uRD+b&LKO>h_fl+GT7MVr(AURRxb%`Yo)K>t z`>WuvmsRT_90U8LCu$Y!|4Slba6HjD>S~O&osix zwKWp7rUX-MzcqQeXKn1T^=&DI?eR5yrI+l~unzo4pgVQt*L>pb|T z5L{A~=YX-y3hyU%;v~@@88(;3A}18APZ(54LNvJr4-**;Tq^s6Zkk9-EkT_hKzy?| zNu5y79Ah3xWHoJFHRqw$nz{u)qyCs0Z#^`g+jG!T>GO;;LsM}tp=5A0t!YiE^KQv? z(M-r($>_Q&yAEgNLD2BiQV&iIU2fdo2zQg?;M>?dPt4+VTGFV*3GSs=1W(Q7w<9k9 z&|FhF{^3?^nwI1|Wmfs%r!x`@Sd;0hKIz{u9sX6;quL1cBkq0O9L$Jr&d(6=aBkKn z>#xG>Ta$e5``fy;M*`~CmuLzl3}4{&dGs--*l!7g{sezf#6F~o?X3Z6uN-`$TAUTeZyuuAU6FUvPvqbt>2IjUFaI4c|WNUOzTw&mZQ|d zoU2dCMr#_R&YVtrvev5Qh=X!t$0o7q2TR#=44yV!G-+Ex@=Tu-_i_5qoL>pCcV{zI z5=8#Y^8|RE6e>xcRttS*g-ai-4|llKmuBsl8@fuV%_Iayn;+NgzTfSwjU)Gv*&-#p z{AMGqTdJo!@<_5^C~?KkK?yYiPP}D*Cf1$b+cv`(QV=ZPc!*bZnr+;47aSXCrJ{Gh zMol5kewha}xhCpyoa$Y97Eq`VW<9(dv)TB?s^+KxCa;FI;mJP2-y?-$aNqx6SM;f~ z_V|kQ^|FztJ>c`0=hx_k(5$B-v~UJ#p1&{|)YCbL&s^{dCV;PTOP*3vI5)8{u81Ln zv;_iQlYxl5GJx;Qi#@paq?9kJVD52c@!C5(X5YzI!UlX}*x(SS|J zxW`p8oXmcmk9r2-vnL<#jylymk}qPOq=Tp~1c~L@M@8r@xv8&q#;bzIT=S-HJz#p} zB)kt%e~Nkch1LfMwR86zK zOjt@A>^HDOw%11H_X$o%&R2axaym z&*S2%mXv7&*afM+s3F--R+ ztJ{>&dnSn9r?{9{1%OAiWatxDZ$=hhUkRQ0l!@bmQvpH^HUbhIM2kHi!fWGfijA`q zQPmpnD^A^o$940+G!>3GmGEY8>u)8?E$P+7=y5#EV-{p%6=QrwxnMk!A7IvNCZJ>^ z+fERsGt`Dz@q7`;E(pTxc@M43MXH<`!WOkpnP#v{td$d~__>=KKNVrO)s5J)!b@#9 zQ;L@n?A_gtI_0~90;Y^;;2tg7kTz@&rIF(EqGMj|Ft(Y&%E5Zl>n z?FLEf7z{Lp->F|+LYXpV#!Hob3?TB&h$DR3{U#s!swRxjAsptcz+>Ig|BHm5oLfGM|J{Y-8KKWvVbK`m>n!paX*Hu@+oen4(MpyKy(eextqDP-x4t zSL9w&5e|>suNLG?8c~4(1}-y-0G~UM+kSqYN3r_x8acHQcd3)^-xyN&_3OvPmrkwc z8UqUTN|KFDT;{3053B;Dx3o)U-4w@+Zxs9vAsuckPi#y>YQp19hm9Jxv|o&0>ODDm zL~uJPHokFOq?wYA*|nnp{VeNEzEenyZX8aRj$&=rQ6w97$!VN1?C!RTwi>I>;m6IW zACtQYYBshh7tG(E*}Eq+SiST-L{JgmUbMod_tSG3!+jWWml zJT=`bHIuiEk5sUN#j@k1*cx-AEHA6N)6Wjf8|mWD_W~!m$M`}7A)d5qP$HQ~kdo3+ zbI3K^fGpX}C{{gPq5uGIT~>Tuc2+$%h*kjVc*Wgjn&|SW8|MkLAprXPa{iuokr4*$ z0+8qd&H~4OGu7$7l^8jgzqn|11As!CuiV`$RG9C-CyH)rV$i%yB;&jT)R3&K0OGEA z8_+qj*BQyq$EP(rJ4=4$KS1cEOPA_A*I++>{IDv2#R4pIjWvKv&CSiv&tATKndP5g z|K9iah=|<7Q79CfZejMofCjCo`%Ar|_{{U&XTg`WxUo?ZM#28Gw>RP~QRmn>5x(}P zqYyg}PxOoPS^ep^{8u*ce}Agy{rsOx|JG=ni>Klh#|=_aT~E)dVm*TvkB7>iF6 zeuQD;cr~6&b3-c@s@!0FU+W4_^>W*bp6HiPf^n+^HgYC=mz+Abx;-6?<3FExcrn7aRi%whS< zUCdNv5y`Cp6aL0y-L;6kY4Jk{WK-;;#d&V5(+!aCCbedB2NMVgngngT3<(vsQ9@j4 zImxCr2AO2w;epm_Kzh1c5>B6_lzvm_*D{XLWZ)YPh%buul35^3KstW&dGG zJ9Wrd{%jJ^y)oKa3EdjuoqVMI(h0S%)m>+eu${OX@#@ctYPbA}klDi6{kMQ_5p~k4 zSQERB{lA3U`D#wm!Y5R1Dh+HZGm@qCO&5YBN*5hEtdVVNCAa&*d+&XyBIwwDbJ9wd zDQ8`)La*672xeECC1Z!$DGK_}>MTC}+<*Ah=Kb{UNI79G;v1f?=dKO)EjV(RuFkox zk8yIptFxJH$p$v85`QlWOMqy{5BL^Je2x_T@hRqbzpoX?_8UB;JF9lC-|m+HtTioI zuXH%l5n!mKFI=eG!i^ zmNfP>KUSE$>jc{9wu#V0k1^XH73xw??x@yMlZHti=5R4hkb7(@%RQS~TpN>nPTY$e zv3=IGU%F?5VCn`V*myU?syRehL41BAgE?mrqsupU_$c#piBp6f2)P^hDt)H&vcci( z^dtPAl{%r*-J+kh;-|FBz*g9YvX=ULJEjDR$e9Hm<;>daViKkn`dXFb$z~R8lmg(c zOfCkoPxl=@FZ>xV(HC4Q>9;C8O(hxITj)J!`#;v_vAF%+B*&m>5Ik-jeXx0|`yrBM zaLcc0tfJJmYa|ago6awr=q0BJQ!9O#`ISPr@c)Rn7ZAYW0#4S*b0JEb`qwPrSwb=Odbi~I%F|3H5D*8&Dif!nl~$R zW3_(hb;hBZu1zq_^eIwKtj_uu#*2YW}!S%e3Jz?^-(Q*`f#x!j1t{SB52( z6!nR1Cri(xV@*8a9{d9mJQ>SJ45g3d$xxg4JKH(%))eO6J~n9Tm10|-e*=`7~#)fcHV ziz=@kFY*FM+z+jnZ|hY^(kA{CEN@n>#j%}W796EaCi${z)l#aj{ole|yPs7x;YVXl$i5<$Z zn0kMah(J*^u4tF2sc5``^%odkQdm8B9WjOFm%K9StiN?HU0Bkr!rIqI z4O>}o_yNa>F>FyYJ7W5?)(hrOZR=cfpHDqp2Tc`PzHSY@1GF@0H7e)xq#oxP+E+ItyWj1=q0N zvk8O{Ua(o~g0zQetC{gP-q;}Y{nCcK57;?&kfG#Su|!yvPVhuFwMj;z_X~H-uDMau zVDf?x&i7lme>Zfe{bDYbHAh#1Q7cz^jg|QIxQ4n-jPhR?1l2xTXVd918^KhMe(6sv z^6t%aXP;JNfACp5mO7rC_Fi$g8yq~`Sh~zj%~bhh;q(z%39ywPs!$INOXH5j*Y@-t zs+dwE{mb!4`>#WdTy^AIg<)i)XmNghuxr|9msdQFcGu!L77HqyHiiluM$d+Q=QXp- z$)Sdo@~T5&^g`gll`VU7yHrCm$TTm~u|Xa@T5Ny`B8%UT1L`$EVY5J<*L(IApjJfg zpZ^xcqa_`MQi}D8`qCwfzJHgwarvaXG2mFI#89xdu5K2HF1e`T!un}r$T_b1oP$4m zP4?|oa$-Js;Gq_jI?fP+M&r73Cpre#WCeC@iym;N{=9UB=rNh{e+f}%=O~`31I&6Y zz9bbsYO2c1-$lZ&csVKtV;tikea51p*bP%BhX8&!6Lf(o`E!bm>LyK~+X3 zn9HOtyR3}IfaAdpV6mN(+AK6*z4~%~HaM8*yo}-T?J805^zY40xKcbDtAK!xLL^NL zP=8?oqU($Li=SVSMO&D=hey`GqdK6ra^u#m?DK3L(dpj*GztO`auG$Rz)euO;gsB% zv-KHoA9CHf_8mVj;S_nctN+Bz5^M6jefm*=;_6Fs;6-s)M`nGTo`QmW`#DGc>z22k zH?`t1%GzQ3YO7a=rmB6<6#u#UB8+jOb>+C0OVP_~xhH8(tperUH{m9hc2>9mPy<-d z1f*ffdGSFi$oQ`TN|!w}LGKXw|M05izx`d9n!#>H@d~c!io< zUGuPJ`YJB`anDEMEcx~3XFxM(r2~z*62mpmag+=%1Mt929MGXP!qDTY#|nw3^|v$I zQ>xG>Q5~@jCuTc8zT3o3ZS+Z96z|*q;8Os6qcoH>=)Us7!@BKA`&GZmsmrd5I33X2 zR{?;qLll?qAzSN_SCw8QKmu7&Gmzwu5JVoIab5)0!M_#GC8QZ@zW7j3KOwhb*{k^j zKY_XP+%Rdpx|lnJ`JFhw78mlaM^5dQt$cSHJfIX?Nh6b@fHkfLk)T><_AN7u4@-*11qmCWT^6K6$sC3CV)rR|KPlF4)aA-BO`LcDQtIj4Kc`x!;<9Ma_n6r_O; zm7%Jq^1|=_U z2m_y&4$>zt?Mq6vuxeRL_XlJuXV>%1OV#zJx|-}>`(!rytk4qbpq00o6cHF9js6cA zBTj?5jG#HSho#zFQH=Jd3iow3W6Z(y7gC%?f3$HPPMBBnLcLYSGDk!c1CQTF%(DpfXw=@3G&~ni!`S2qQ5zXdDROaO4?-bZW@i)-Zv} z9r7^UOC2LFtFF3L28TbIXDMN%`9(&~joKsKQxuiBv;8G;^|jJ0OM%l< z8yI8wx0_M6BgO%uc()vR|I#P=3fouCAB&EA0jQ^IxmmQA*~Es|#0JI4&a4=9<@QJ8 zH58L|q>Q^Q&8VchicV^Gme3}7MExEYr&Kaqc$?W$NY2J1y)|6(3?k^aI`wFM<^#2i z+}7gP&b`I?)fab{TjbfO92NJ=$Wy)!P*RG~f^6_N&ds3>V0b>V?)FuIEJ1J|6ei z{|_#J^JqoCu>JR%>i4rQ<{`DqX{fGbL9nZOdnw-i$PKYIWCFRu2UPg_JR7{mP+>Ri z^IUS9G8I!6cfM4-q8}h#z}vMB+g9QGGKMACQxS-nqtU;n*l(KPy6(p*5tEBO zWk?0s=~t|l^FK&6q$ zxHa2(Ltw4mnl^pwnSB9c7dUFzLz0i1yxjgL9Z0JUOW&Jr3Uz9FKD5{o?*&dsUFP5I zT4ET9?3;?;@=^$#;Rb~{&S{$qg=cFt?5wSXfxHWh^D`pV`kErnoajV32VuF`?MC2n z*Hp%?nBBzXUgaL+mUwtT5a+<%4@M24NEV6)wef1Mz0{)L4E;w2NjcSZUM0_>&`)ef z(;^ok$^6gcV2fV4_WhF?o~`qvCQ)V`WcWQ`i^!mXo_qVuK zku)`>GlhWqxYvCWc@g{@?*zb)?Lz{^zhvi<%6b%UDNTKAJZ#Jdr^&CSU4pnv(nWP} zDi{`O@ui;doCk8kx!65QsvX8c=K+6dJI^H-iLMP$~c`d!Y0 zjh<^olo^RflaJ~eh^BO%ac`-KXTNdgQLc_2U?~`a$1|`YsD^-@zX?GF6IGP~CE-G8@RgD6$;KWQGg$HA;2BDw*%gx)j zPdgyx#P8VaQ&scS(>v*o5(zJzb~J0gnm}#T{g>pZ^q2+!ug=Oe+c10jfcC zQNWiH3ho-#zIO*2_bu$OFfhp4+uIjvW`%M*xcQ9Zd=5PqcVGs1aGIK$Vu2?$scNt&w(m?Unlwjr| z!Ih{?MMYKks@x(;>UIkcP{CMSSYSx$1$dL^Qn`B08+W}9=(wYhQPQbOHNWPhSa|y`I)-fs5no;@{93_{a3$j5nYEJC3i>7RJ`&LzxDn2kLp!&-WHz4m6g2gY{szj>BhYPfk3;5 zhl%D7$*% zYXFQfMq`W50(ru38I*CD+n=(BZRTuk@UASc#HkjhzIVe;o82WEMfDo*4vg9_9=rCay@M0#K-|GCak!c!-T zQC9!V+u@sY663jMeNsHR_tgol!4GJ_R^Hjp^peD%(K79Zz(JdT&4Gyzj}qYp4hISm zV87y%M*ejd*#j<ztt4sIe2tB{jQ`M!(N;bI zw_#gx{8Re^_x1_^>G{vMu1CPCEQ`?Jhs|GZ$9v$oYt-C3w?Z-uejM41CfnAu`BbPY zrp&4{n=6lPt<3Z1oSrAZSelBLtZGciD%no_p_D!zPAfPXRRx)pl1oFCo(LNZEz-we z&0ZA5t0gvhl(>?My%-gLGb|^(U20vr5_l^iU<%z{CO*D>Onu!|6yH*qG_7s~Y(4e$ z;Y^itX&*iMqcQ!%13HhT`soV)3H2a)+ZBOo$)H%TLYiF$p5HShB5r>#19;NXYvbdd z_a^|`Mk==z8_IP8x7^Nlyj-V>6%t_TaXkN(p}L>E0M}oX>HXSIA@^As63%Okx?Y!| zudnrZZ7(exhU5kVL{5KaNyt*Z#)K(K|}K9JIMz3((L4foLAZ4}l)k*1LE* zbQ&Gr2nRRQqY?%ce;8lr&{{QS^$R9FeoT~15=)e86+0sjwGsV%7z*#X7=A2rN< zR;JZvN@18%n|w0rLBGuYhF>t=0Yp*G8B~^1X?q2;`O!nHmBzXLZuo@Uhk0&!*oAyI z+LXEQ9D8JDugVIcG&kGiPixt`Cu~-JR%DmLkwclrBy)%@m@Omjm6sxIZ2B-i+dpn0 ze|}PrhSK=&c#*vaJa|X3_NnK|slSoR`JtM#H5@+PXyh&vDY`GDw<`Wtr-m(h1~(co zk|;wNSn_2J)XGSNo~8krZ^Te6Y9$0E)=3k}BL#Ze)sBU($4ZixfH*6+JPDhMH-K3#_Gqh)H6`8=X} z{g_6%^oQRTma2QMLJ&+bVS zCEVa%cp|*|?P-fzR!@66yJjcEtG-;m+;+YkL~vPGbYPI?tL z;~igRpoM2~Th3}8sipKw-fZ50dOL{Dmc?KO{Cvz`9%HukG@zf3`!9pq`XC2 z(V~?J!&F>aG66Kr><>o(3fO{*x?K&o+XxVO1aznIo0osWH_#4S-1KgL1y;~U&p9#i z@z^r|em!jYvnT(nf{5+<9~Hp%ijVh?u@p{pJMW+L|GBbn5P;(aJ}m#YWyI#&-~Hid zyMx-_D1(3ANBAELlRF@zK$+ISNu^sQDm{9}^*3%H+RyEO!Mp$aoA}@7{(rIC|341= z6mknRMz$^uWxNfDj*n-ofy=!Hx-dhtL>)+K!o+S6gLi0CdYEmch0 za6SG4biVH!PB|6es$7qON^<2A?P^9WU#?pfQPKF>vuCP#^5g*U1E^oOs-@ybK=(5) zXQZW-@I2Ycc!Ac#b1NrCPC&r})TFP#`o2iX{rD{qK>~dB0$2xJx2yxj-|V>$SAph2 z8PNV?TgUpVtlkcV|IW6)Xt4ORk72yg6O8S4q3}l)LNf!_7+;^4LPA2F&D-#~%qH~v zmOK2--6}u%$iA}>kdv3JvChPPT=4t>QwL&66P=h5lr;{fn}(9o(nWe1a6Bh50+J*4L0TWT;QMk8S0Z z0=xSx#D`9@y0J><-l<*M7CK+OY9ymzUnqm!3^=iX;&SCLl&!(L8ZcH>Wa4~2>b|o^ zHdHOr6o$uR`x{fc+_ETnm2GsK9A&jwqG4*6ws2*Uosyh`qDU#-YfjV7ziziB&v^~C z8A7QvN4ab>VtboJ(L;_J-`I9YhFT;wr5=Y&*etNb8GKEw+A7BM1goZxcYzJ8^F*@B zgOraEW2cXFDQ^c`4j$kL*RAlhcsT?Nn5vby1dr9G*vRbWW^Y|m<>bihvDPAF3(e_v zEU8YRN?4PJ!|$-3{dgi<_GYABf#>nsGP;Y(Hs2O%h+7-Bb^a*Vfx>`Wy7l5zxqf1@ z03lbiwY1)8t)uSKl)|B(r<-7MvF5|`I%t_2tI9ySg|Ly!*;l9v_F8lgqS{RPuBVc% zpffMu^K^G>+@~rQa+V2LTwjFd9Kxg&bkZ8-XSywcD47Wt{^QZ|7=w*cdE4XR;b;-m zA>!-7#i}!mw%|?c{XnjqWft+_B4|?~SR76#lX&U{z7^_f2rlEWE%W(M)lNjnUa6Q; z?f^Rg2yiMi6)v2Rz*YxPV?{?ULgkJyeYZ{Px=M=FO{hrDw6(&74}Hm{8!a$%o2`%S{BO759SSQQJ*J z@$M)ry?^U(uA(p~5LdH9P*l)MvwXbWH*wM2_83xjSUcamo9}T#R=A8)^O@SZM*yaC zl-p1k;z^!}+9fBdT79RTbb68dp8b?0{k&7zOw&eozDzy9NG6k=F+7dpYFYq{zNth?S6MByGX(YK4vOgao}~=P{1X zg?w~^V`hCSuo91O+5&gv7ZQ;z3)bM~_qHKw7e>+z+70`;9{fz~n}m`(#Muf>sV}R2 zUK1a@KWs3Fj1>{qO(TCFK}+mEhyiiCOce`6+GRoMMPJIu3hf8X-#Gib?gpv(B_hXn z{i7fKm_C9NC0_Shk;{f}@mLiEP#}ul85E5u++<=uB!+qSJ(x>z5pg-O9g8P0kij*G z+P~B_N=ONA>BAvon7z>_cF`O8-c#?t*n1McZB~P=LVe+^B6W zA*pH3TkyVo{m3UROZ%FST<;_{mO+SZN~9TS!rzo}D>(K^RTU!E(Tauje5bDlp?smN zX*A8>WUWTrlL4-4iJ-XL zHJ*xo z{+woDH}G8Bqa`jV6$A`szCb}&0dZJfU zO21#0_@A(Am(Vy^3b`BBdy6MiHy>)O!^CB{<_;1$4n?(~Fpal5>MvCxj@EmZ@Y_YK z;mcDew7}T}j#rU<#X?LnGve0qnHHye3Df!TFK2% z-qlrxm$6>kOMpu#tg4h=#>#d5ouv)fjJ8xUxHSt)Yg-c$;ZZ8R#I4?nHe1-^HO0=+%m1}7NMq9 z7ZMvG55c#ctIctZVSC6k;Tg7&xg6!q`k#8&5a-p?qm9YpLGhrE1XQQ~eVeHa2?`OkY5&jZMP+tTGkJM;RxC&B>JZKE~rZTb$0Ymts_~igRAr>IDn3KU&NE zM5y^HwXUz&NRU*BL=1!6*`}`R)FQ7%+lC5b?>&`3@^0mV@T}QIpJNXBL@-knujl3h zR;g2?{`2$jVt-ohN_{D|Njdu@jN0b#A9mm4?A~=2E3&C%;l$(|eXdKg!m#k6oJkML zUcKOVDAAi5CwsZ)ln&HHDmwBK~R5P1DV~JrI83z4Aq_DytIMK%VLZ) zNH%$a{CKg~lIjpk(psZ;4vt!mUx2goL0%v+r@YdHfZWwyD4Fd}{BaU(!LP+Iq|A*_ z;Q19D#3`c56RUQii-I>Ngu%sd#*}>X)Sp?$7&#v2iKR+uv867j4UxdD&d-#qoR6kG z_n%EKbS)Zj)DmxQ!XJxhhi-kr&NHpnh=n_R=#>)B6o(J0SHAE}5bk{D+CSL~^~q52 z<{d{3$BpHvW$g?xm6@+?)MVj=Sy}j1Z89j+$y8t3oX;C*s_VtO64#km5#@RlQU;y) z-1wd3z>lX#aSL@PUh@>WyhBe*$`Z`;*f=>9q+AwXw~6eGDFoj?9V~Cqfa+Uaj!85+ z%SognZ`C4255Ux^HC2Jtj7A^D^6v7>YuvwJG&$q&>+_LCc|Xq-=GS9O8^fD%+0Xu5 zxKR8$Y$oT3&1Qx%4QXquKfZdW#>)CP^W1Q5h!=Li$ZRT^?N|PXQP*NQwtEXjY@=_T ze}7!#QA=QRj}|m9iJZ%XY>sHKi?JV7^E+F6qZ-d$^u%C6KT`FxclnFET$o-^P*kK@VUd9I+Tk@h8BO)>*NE&g)N@85A%QZX?&=k>y%i*h-oW70} z2gSk0!#c0h&5VPv*^I;W5Y@-lW3nTBSB@`a!p3o9Xc6bD-@NX!X?#ITA_FFO>E7`&DD1x2l*SV8=fjd)wzuy{kj5TbV6bR@!xo=au2`$|c4bBa zk>EbIb(WSvm^wTcJKD`YFEsBgUoI@*xSjtdLNv~qu^Gww!ya-xCs1vzt?-HOErFG^ z^~S!x;LOLfDWCB?Tbh_7PP2#k#nST^64-@O0Qp=IQpJ7b5v%aHStTOlPM}teENWy9 zV`eXV^G2<6EsmuNq$H7&OTv}yM@>VcR%bk)HRbgMIvLJ3$uwo9zk6K!ogR;VZcn^EhhNxR&tkxfy-)-Yad6XGe_|n#G*tN=0`BrYKF#WQ3(8US zcChLC(;DlAT=Vr=qf}$L)a!AOdQEYVM{<2L36KL0f;ySLDGhxbZgil5Izf!{w6HH+ zBroWLYHkO&TYynwt_-nn=F-1xUJ~_&(9if^vacTTc%D0)-{Vu>qv)rVfr}&ZyeVxb z&G_X;c9i;M5!$w1D9JC= z4=IFqbE){qK8M~*=)Lf1it0Iu%Xki$rauj)t4l@mgX=<{{b9dhy%!aPjU|{%=$ynZcbC$ zY9_@b%q8r|_f}$Pj_v<}FWefHk?g*2|H%cotw;MWxUr(6f)HVlE*p^_P#4z+xHYV* zl^>v)p+uhnfI)Qh;-Voy;qT^=yR|c~IROq55m6rSW8j_i4}Vxh@%j0T?HwIJ7`Ta} z02w|2D&Qvq_ItTWCq5}@5m1SBH~mB9ZM22V!O@Y*m;2bx8$(pKb1*efP0}Cp`_`9% zgQI?Rfds+<-oHkRwgg(}`^>Bcu2!VZignwpMIVY=C()nsUmEb|xBnT0JYB%M>~WDU z1?Fwvpvh9jby5WxG=0Fgg%3z%^}x;1Yqj$h`DVnh z^R0YS%l&CK0gATB$|sA4FB;TN4G_Ja-v=OdV7rn{ez^9W4l}*#76w}CzMkFtgG>01 zoO+}Hici5=O4~ouQ=p}<{2PY!-vKCq`vB#CR8Bvo9{T<^N;D6J-rlNVkRzDP;Lgva z+ZpIe|IJA#B`_#R<*zfx?{?h$)0qP#o&bU~A|Gs^xy2cAC1Wxw19;A+^X=%x!o^+x zeoJU$G=okmq=}XE#IW>sb_PstqcsEq0{_k6KFZ^AxFUmb|NbHE?Oqi?G0=M;5?%{Zxlaq7cJ_HOJV2TI+@k4|KFt`J!r{fDB zCC>54UFYNcw7$gxIq%*A#=eugXo^pODe$NG5&;Q?80jyOe_qjmw&Dlq{{N`>55L+^ zRrU0E;J7~(|II@HaFcP>_44{lQ$oF>&Iy@v;9a$95A5pZD>0-EJYOQxMS7OxYJK{~ z>gtmK^864J34Q+a%Ps7Q_Uh^FAnMLhFhg$SIfPkW4hpXrl>3(kg7P@hco5UI+EMzH zg=X-DArx*+?TWYj)|{G?DF0TTr2?ZUC>3_>rSU0dZ!#H*l8u~bxCm9>0~g((<8Ji4 zN}@mAEG%G9M$Y1j7eV6fBF466|9I`u_M1NgvdF<<^-x*%na@Zh$F#asX~h4?Nh_1v znZZPJu?Z(;->7G+979z&`q|Ack6r6|5~vn|Lfie9iU1-chX0uvyD&)-RnpDs*5r{Z zV87336y50Y=ew7sU;=DPKmzX#K=gw29#jE#+foKq)*q+D|zFlh~2PSTGT zec;tJf}WHJ*WZ{f^`4Q;yp%c6g<5*g^IQY5VIuLH3_X+rGfzdS(7Z$1?&cV6QMc)w zb1$M$c+pIfjkw4RGm>ozL8H<<-d2xd-0A=$&yVDe--PK@3w1|8ZpaM=)Po-4Zf;gH zRM{`J^tp=S^rvyjJ89SqeNtglD{;!X5WCC=mQ@I}3j#|K z_5l=iD040B%};D8&K#{VjbYNwD5aX1)7~RZTBh@#louPzc2yvhSdR8*)p{9gY%(#$ zI82m1H6Ya&1`ZAmh1%7H0R7=5p_n(hFL)o0$>_)RjBpcbn#Zi~xqy+8Ona`eQ()k8 zrDo7Xn9^v|AJB?ytF@HHDT0E)u4*Zc(#X{*hT~ZcxT8(Ibx)CY3Vx1!&0ImMLg<*w zFW2*E>%usF51HZD0Q`=0-x8d|-(sM=fq87^#5s>*sAz~@T-2d>PEd4MB@1sv>#O6C zLpPRV`<+!(EJI1xEe{~qqgLZq!}5*0JDDCaWETfPU>?UcZ<&$s^?~iTWuglv4mpUC zed+701y^@xmwNcvLE?qbekYlzxXoRL+o_9|-e<_nqKK8#d6h=X)Zl&|RBBSKUD*uI zwi#lntl6r-Vc%G`m@#FAC>n^3=&0n0BzRojcl5uZYi+ciwo=2H`T6)wDzuN^g% zwU{OvxS;HMq^=n)wcHJ>^gsnEVwsowpP$m_q#dp)`pU%mG z_CB#Yzi7=-U)G;gap9Jx|G|FxnI1Hk^@SLuc2w>7hXsHp3$QBE<8^ypI)sg~%5ZtT z#IR!6-LqRgjt{h190OLh%D4c%r!NNw&=WnG)o>+Df8afFiEDubKbql{1<2kZFq?YAW3u)^CK4V|91roVGJ(_Q)XJT^>(-rQ zyyzT({&uN&Ze4YN;Jo;Ol7r=L##jlg@HQIUtN!EuNY4fqt(|noFwdiamK+OSriw(U~#vwZv6U%y(-_eFmOd$tCjj zUwfanup{TIBxgvSblFA~&zX76x@z5$Fa!vjds29pHU&aZ#{TrpHR@4x7}DdDC1C6^ zU!6qzyMJ_uo_jzC;U5;+Cs9M1Mur!f;+*z-4+Ysf9qDfh*w?R%9o2S6Ib^QYF6m@& zy}6|una|c|%ujg6sV_}s7J9r#)He=&hed|=V z-@;W%YFKjPi?)V{(~T=R%L|(c9<>TnWM|)WjZ$+w{G7wNxh=2!ru-vm8S(c9arl zWLcbYj7G(xNGHU9OED`$n-9Eoa&2IJG~t#o-s5oh&xY`4PPj$8`m#HAarx2u; zutGn{m`ZKhTg)G&!@1}(g7!Jkxb-@5m=+&L zZ&*j5y*H|kujG)V2S0Kfyu*suKR6)vkEK138Ejl8d>=c&;#TW2NxKwcvd~k@dG3n#!m4cbLU1n1T2#;xtg-7kSi%^q8LQ~Q~(X-aX&AM{RBFT8@UFOrF+9e2q zhhtW*{Izb-MUR({RdP=SB7JyBQhThu1(0eU+IxIh6nK_T~(EfYeqCb!S{~udvit!FwdUmlvb1L<%%3xfsiT~tDI^b4f ze(}QhGaBRQt;$SS_{I+l@H4&vVpVVf;|VZ{Zdr!GPPKC&IyySb^??+tsj>_p6dK4% z_Sfl{3AjpZ_)@)rkkzo>)yxNVWq^GIBsQZZ7qEW?ejT{@qsz9qoT5Xch_xwR1V+3E-mq|K?}>+h6}KWWW(`u;RcdB%}@a5HEH# ztxk+bQ=+#ITZAf{%QCaF#!EYA@7j%4j#uCMt&&wNKF-*-43_y9QOV+VNn#YUltdry-_?!pG7_L zZhH%Mcs(TRqzPF|SnRG`DSgW3bj9nY`QE>?fYQ8gpuEc%sb;TaE7kDhrcn+vtb>`im1*JUiMF9WTO0!b=#9#?)9+&)VbBtc%Q+RhWvjEd_bp_}^Us zcFy!0Ah6ID<6J9-46Lg&$vXOdjL!<5|9hI>{QOwlDTR?2q)3JO!9t^j>53Q)Y-ie< z$f>sC17%`qt!rL<*PC(RQ9~x`GTjtY_WSM!rP&d|eK6`*Bg5n(Pi#a|)H=~;lDw;} z&b1zmFMJ-uMC%DmpFz01uiWojaG_d_sWK_04|7*pUAPLfx=4YrY&g(ux_yRH_rjS- z(4skjnN76n(7p}uB_eYz+tj;vEn;X~lX62Svd{MGNX9b)KPXiAFC2tVv{`hOO~t@$ zt2;p5g4m-GwQsKcn=%CAq`j#K%oM(l!_Ez?H@tmVlZD)><{js*=NK3ykYM zd3NU^7slYvHagD$SA}2@tJA&U_Qdlz6X}r|kyC3}lnVd@5qB726I=I`J?9e5RhOg8 zW7yV*eg}_rA>9UWJFsR9q!AE|!Y{(hWxMXinZI=@EPoa6tP;V+9W8K63O$fLX(iU} z&bITYydQ0XV?r(LN8d;FwUAqC^-~HV6Kq;VrtdMT5o5AT>%k!F*)o6cYxg?!;y|T1 z(n5pF?}9_6XDKXI_2wGm581j%X;pk!^`Oq41ao5remz=)_jKcmdJK-Ljkg`ii{N@O zh>5$$;@j&jd7rn&i{ebQqV19iZA5Y*#BAdwYSIx}y?7#=x56H`npBEsy;105?7F_$ zEU)9nv9>5wAxQk8I_oc9b+k8HNI;&^_2#(7{tDf9gq4F?n_MUvam}o97jWQlX1MS-p|8jsuNKrKJ=@X3uy-->hFvy|FizLu3&lNf$ zODAQ=?Y)Ggcz>vDzEt@8(T zS2D>D=dq76BmZ*BUZ*t*hZPmdUy5JDP951%%+%k~U;LJ04or+e#af%2j7F<)^G1#4 z#+q>>ZIhVZlUAA)chJLgSL5pPLi`ioYnQ%A4E$CB`$YYsWtFX2oQ?Y1i(DGcrnE53 zFwE20O0R+SWY0apJ=D1uNPMkCzZbSg$Vod@Ia47$!QPQ&$t{GP*6y#?tMy~WauVC| z!V7J!bWZcU1i{TRab)_H-P5AEN2w@9y{73`V$RXoNqxJ7C(OZZj-{BrYJ$<=S1CT) zEc%6pzpjOg$D)?`KytUiZeY`f_k>UV{p-U43$L3ilH3pnzn7lk3wqnvm$QcxH6l2k zPtkLm20ph3X`Q#O1%V9MN{h3|MWiC^*FR^nt!i8UIX!=1&|O9JMt;L)YNG0458r_mZWGYZwDZRtd}3r5f_h_V?P-Q z*tlO_B_!Ag{~q|M1m-A{W{JExdg^m!Ncy}l`0;5jhfB&fH`Ja6V-;s-g3J{^4!umM z=s9$MIGR$ggC*@{YnCk-ghH}bA%$Dw>=f4D)sg2_Cf5zhnY;}pg#=tB4u5&prCk$F zG_P6kg_e4fwmKd!B8bbgdO2ghl#o`>2Z`Un=U>r+ZK_3X+W#ISeYIA6q^I-oSEq%u zkLpcL^^WIVPoZ4(-CS!Wx*dCaUO~w_A13ia54CF&styFu0tn@)jf{}%Yk5Q?_3!Oj zH$QDwoFI+iau38wD@|6~%x+>g)a{WFh*NAn z|7mM95lsAQo0&>SYdEYg>C_~|4310rw#{hrAh2MBcSJi}&RpNJ+Pyc0D&E=}-;iUp z(SRtnc&cY6MVfeou4;fQE>+;SN6Pu6jh=<`BWim3{Fy3P59PXTshj0mM64^{11ICk zSo@E5cdkodcvf`{hP!XzrHsZetMjYv422Z}d6# zBCqwyuy5~78~{9szPL!NWE7#Yxo!7Ldjs&lj^ST(yu9nXtYaRbWWN3@jv_NEjC3f; zwc~@n{>h!r-B1QsO@Rq;O_Y{-r^%lAV|u$;GP+_pmKE5K^BtD*VFy#vz|qNNXQ4X8 zgp!0uLb;1=;9w7W@=Ney>WLU!Ud#QrALd8B14-k_e6Lh5+dJ?e%%O4Vy=rPlTO|$# zM^>(Qd+z6Df+_gI1HAkWGeImjryO@X{2 zq$V|mDU4i(p|GEn zaE`=@d_82EKXBf5RI47K-%5v2SA?qcX${-Lni_q!n0;2a(_aRV3p*Az+ddcFAi;B; z?mT(}uQ@~Mo-}Da0!J8t@?=IGxwyFOh0r-8U%QSN{YKTmiVsstfB;{%#PNjJ5~az7 zCVfWs%5J9Y3v6xyYMg_^@bRMPebBnUeHUs;fZoYXl5u^c%Hr`rPJ#_v6;~BP(GZu# zQ68^(jj?HIc|-pU1FmkS^t<|@@6+<@d(-|;ZQPSA!xZRpO{8ajAYMVKvK}09IT^x@ zlI0n==|xqu8c?!51byGTc%^?OcU5;88o%-tW>JW(*y=wIPUZQGRvCim&8>e!k%bAl zEAn&vEZ{IQE&j-a?ex@UV8D;P{_f)&F$tiR} zX)^V6c#21v)*jrsODi-MK;!ANSb*ESrdSX%Pm`-yr&3)Dw$u7aK)d{yS>lGZ!YLf@9OJ58^`(JfbJBa!Sd9wEMlNU{T2ect`Bs-LqCqVR7 z3J9YR&!`tK!iuR`GUP-GDShA%oAjIRG;how2R&-|cs|I5ayIWPb290hF3FS8N_jVO zfshE>b#W)6h~w~w=j_0TX*J%@Ue3Y0p&lRPX_a<9epe73JcspYc&iOaK8;{mzvNsq z^O4ogEb>-97u3W`6FK4; zXl`u#)*ZEPaBvTEU9=18>iSdHG59K>^T1Xx`XTP*&V)IK2N&d|HTY(klvlWVSa2ETDf7Ef*d)ZhF4E=#|!)TbnqQqYOT7o-838~H(wdqtQ~aT-2WLFl4J?8 z6#11r%@AL9M5?N{Y3UOD%e?dZsCqNH-NTI!;W~tv{JBFO_8MM=m$km5N>Z|i-!JxR ze}#PYK6rUGNI0>3oDWG7bGVm;8{Wv2P`f0$U;OM9K{lO=y1LZ6_i4RC_vwT9Bl<(n6=EvAIfcV?cumKRm~mSpRh-@1Gf`ZwE* zSns{D5}C}F<~W%v*b%a&8GySKxp^IVKfcdB$I_ugJ|-5f1z)$H)gP#>MN5=yS8M{I z?;*IJIGY%tajp6MJQT5`h_@Gp_anyOz4z!WU^Mqtew<}_t%TOM! zwY(KM?yD4fMeW#sy9|d|xh|U$Hcx(4N_u{U zKOk*!I|Rk);deO1GJ1AGIq1-{wm3I-mm(P3uxG`9^PpeS)ON1xm$LBg5=854kGMf# z84`JtYkXuQyHI}0ZP^1Ei)F%aZHPL5|J%)EP1kj2`n^gV2hIDo297zN6nT!aK=*^M2z?w0vw&(z=8z`bJ z394r_Wgf$K4}00ks7~8Joz~4I-r+;+WBnu->>xE#s{9{Bj8o-80O$J2~e&ALifB z1Fs*5ojN!{X1J?*3U%s{?-E`1B5-<-fnusAt=ka;;UW1altpCM*mxsm4-d20e z>bc2=LnSp&-R7~?#;=6yuZ+X)NiFDlYD^r(6%01zyfly~U2;bCThb`JsxI;pe|-bL;z;obGrinToeJ_^ ziC|dc+Gw97o;=p=_1-Q(_c~b8*b$2V-YWdnbq>?%l(n%;)!E%;1}pxoE6w2%No#Q& z=>B391ARq#TZ^?_qxLXtx;qytZhr2MfB2~P!2{3$@{65`^WIe8DYCWiX5YzmMtVQ5`T>Hd5>Qe9DTfB>gie1y z0)Mez{Yw7!kMa&(kpsBb-!g)R-}n8WH9Tm*#s8F%jVXj{u+-d0;Jf8qFz3@h#nL%2 zFmNA8k}3J^T~_YxGu;*vY#^rM_3Jx%@+rWnZwRQVLlTn;Ur9)m=Jxe{Q2YGtTNm9s zAhQCUsu2$fkYY2}7XHJ{!=vzxM7EO3?Sp8@)qv(yAO5{D!B~vi-|I?9WZz+o$NPKh zr%x@>u-5)rAwlB%S@53~5%<&o`6&OFP5~9(efqRc8<=gmvQM5qjp#K78hUsLH0Uln zJGWD(m*y%<}9q+s1&8A1qB6Fb_*0>Fjy_{ z8;|zibAYUywRM}zfVfwTfe3WwrMp1VQXu0dnyIPj697P#eHtP49xO#o?dT%zHaq)A znq6i`NF*H#%X?rjgd_rF?7tmHLJkbC)+NRNB)Ycnaa}X06naf4`9Q;esWs!trSNWuikTJM1!`IjvQ15c0is z)3j|2*Ujn!u!*zuD-AT92NlY3CC(l^dYr4b4wAT6hyHhUL=fppD#m3zwpm`+*3-J< z2}V#I*;CM&t=4*?Mre!a9LSCLInz+`HiL(fJLLhKuBr-TC)8`~XSnpIYr$mh=!97r zj!hLUAuqKe-VQ36d_U$GpE{Y5JQ7sj&G)k5h~Ga!(p1rmiW4IiNu@bGuUf=!u z^{XiR-!NDDwqDh&57ORe{>W*%$0SZHpFrcyy}eq^!E&8Fb>|a0`U}YQN?JhMQv)8n=;`%d2n?G=8uxAQJWD)^e)!;PpzJnwwswk6T)A^ zgR6H~8S_y4Iv-cnt|C9)z@Rc><~g1F!xA2wjxrJ?M0t&0#YN9H-1pAKzDiaZO(DP$ zLp>TXwA6=>GFarE)|t{ti!Tm53@SgH``OwU=mt5^9&oG4zJW4uBTqmvM_LL9^BHa* zi`EnLdp~yDO3;I>inlk`+CQK=^RmhMS~iI#;JaTEj>q0so$?)>>p-LIocyp^<{^*L z0_Zt8ex^hwQzq~s(ro4$iQX!*JiCAGf8%LLyQ}s&xaX0IG_iu{nNXdX>)jdL)pMq1 zIzAEKj^;q`^n_3_y~p&vRP#)9BkVNCwPkGY{%E!H=7tXh&F zXHrL^(Y*QZdBcj^*JG<~1A}!(oVIIP9|&8qmW__kB6q)R(I;hNhJ-2KBC> zRS5r)sv`wC#dUI+&!iN?Ax15~<=c8feKbvx2EYVO>bF*3g7o&^Q@f`^e;V6X{V2b@ z*rIG(b4K2x(rPsfUs&Yh)9KIe3>10>ld0EVVX<(Bau@}@$~PF{3|iAtI%$SnKPar1?sq77eUIY9q`0QilwU7*X>U$&>x!}yPx)D60Fg0j zm%Cc?GZ;DC#oVx+>8^Fa6SS&cCMEP+vL{*a+P~YqsUF+cP$H!j>GZk*=#}-^PCZZ52}B()L=NUv1XNF!c*7sz7pNfT zb8G=}c|LF6picN~*A84;&)#PXYYhw6tN*OiT*(wXbo#3%fv;)14p#rpeYc)Fv29x1 zVSj;TaT3?JGTCRB1#L0RL}!b()Q|4P=cy?t*0LR{oa}5ni&Ghv#w3qgF#*<$whpO@ zlP$yEEmnNeFPq{!^q&i>Kta|Efo8oEl}09nG^jD}$FmKr_}QQrtXBA(-pJC}D=&Zcpu*h&QPVB(RI>e$xVpGFmb5Nr9xMQSTjXh2x&-agU-Aqw!B z!7Lec*=7?>=(7y?vT??tAsVw9uB|L@e~F#^VMb!B6i{MHSbuNqBJ6LBCcx;sq&go1==gcycHgpHEs~ zH%+n_dD52T?N$YLyZhySN_|&(2VsTbmBq_`q5iZ)#OkeXb~69V3)Rj1VK|KAsvIYp zDEH_*z@U8F@V;BXNNMK_Z{b2B^B(uDC7I_!qAl<7X1@~1QR%>x2Az5b^5*oWQhH2r3cLXBfinaYO<^?LnN|q_lK-bPIqyuT33uYO zz)go<<3(79b^x$u?;%R-(V2HE{XC>^+{G4AMU1vWFV?^InM>p@iqj6MJprltM)fOo zJXW;Ao0CE=Y1s1YC10`jKn0ybJ!o-s9i0P==;*O?O4BM&WuWnz7DlOsY9p#(NbHH1 zDV;S7tn@RZA+6i`Mv#nZsdFsX9JED>p=PdV;i6IWK`y7Y4*(laViEg(Gyxse#t#a!t+;?fqi% zPIfyCd7_>WNUfuRdu;CF)M6n$&o-y4A`KBeF%G6O3#KZE(aq zujjWP+ggD&J&bqpVWhr!8>m1=Wj4x(CKQm2dZ~Rje18T>+`)?8YCm;&hT`U)c5O@f zl(lPU7^Y5pvrcn;@r#cmo|t%7&S*<$(n5bp3af{Fszh*ykqy((MV(WBDT_%Q7OWwr z;?2UO3$F%Iu{V?}W6DUB%2;tS zP>Ux`7m?#4U8^NFFN*ROt2v_yKrec?URdihqp@~gMW~CJzeq-PNLL;r=VE%LL)~Jg zCyrg(TdaWN--cf-F2&4L4wq4t%x|wOo z+C|R|J#H`|RrcI4`LB4lKESpPjfh>t8cfC^#gHBmMA#3}ixoRkNV`*5T3UQzVc@fV z7;r+kxKJpZ5&H;JTTJO7J`!*GROL>|@1#ZN=*VaTe{fK0EeW5%J0ZS+lJ@S^P*59~JNZg&QBveI(S z)rLXgH|bmuA6A*(u*qj8igEaGlq4>wnMLy%2{jK1GG@P1WBoc6ifq; zZ}MWGS9UYR-0tqvm}K?BsZ&NvnhSIC<_Y9sjY*vG4GvDxWqc*!+cRsG&^D>g2wO&Z zgRs%fl^;6NPdCjvCaRglSa9ttWud(*f2bV^1+CFzH#B2N}MX|g#qbH=|m+n=^ z%~XfRbKwJ)U~?a#(~W_Ce%G~1T*3)*u|+F?ycs)u$eY3%k-+0ZcdGS;a`dv4iqE{+ zF=BEbVtnb42JDA}q6`nerTmO)UJA6CG_)@|yjkU~**t2~y=Dh7(0KC)p$Da{ZiaF; z@bLYZUnNGp!W46NeZ;f}S{9e)=6oJ3!qp&|CCsX@D^Gin7ZnqR8C-{LvbDt`R3g)E zspJwY_*hZhEgB-+Y~i!7IHUUYLv@JOM4NGorPGx`HG}--0c7W$kdp0u*~Uctwt#qF zlhQFLX<(*tp;FumKLRNbvy+psGZo=}veVky8TMoDVx(ZY?x_zZcYRgMW-Iup`A;r}tFZ99d zMja_O;4*G)+k?gRAb3mGb6ds!Imw{W zX|Q(4H=pT9Pp_o z8`$>R_{QrrG+cXLtjvZLhPBK1-Ye0hN~fjXQp46}+^2+i1LaELUdh4i>yg6ObZrJ{YcD2Ncaz0v^vs|bAx1WhLRWyC@dn7+9#e4o^`sQGOV;SPTB;%P zJ4HlMHS}ecWP5TmEuxhZm4`74qveRn*=f!)edLhWPyE@m8*GM?ruOw8+-?DLZyUhN z^;1a8X}_e;1J#+wyu_TkOO_U+Ye${&Uo?B1h$>J4JTs5CH!c>7P5LS-6vd|?kzd+Z zoln3R?%uZdxk`W6@X1?1&CYX8kTZMXwM|uBnzB7J{a;V&+}unKWENwMlw1Z(PB#1E zjn+HjD|Hm2Dug1kk?`*nb43%Y)W2KbX+ys0`KfzFg&8~I=E=2(QU5RY-a0CdZ|fE% zMhGF0KyV8IlHd-(li(iQA-KDDV@a@}!5xA&&`8k68VCdk?sU+`9U5ueUXkB9=R4=V z@7(*o@vgi-UX30MdQ{b}+R|&UJ=fZEQYbhFemre}#Tr(#{z2)zerVVdH$FQhHR<)@ z-fnFP82^Ard%o%LyWE_hPZHe$mF3hy9-c|M1#gG#h1TK@gmN0DyC{h-HUHlLedx^p zY(W1QUq>e_r2$31Q6 z&?euXR>RQ2@rlOelH4EpBHn?X@Nf9hO$t7I%~+uNY^&R1Ky=4wN%M*Vx`r7t5_CtC zywRM9_P*SFtVKr0DJ+qM!wdh4DPwM~@&4&pKW>s-WVz_U>n4_9&iVNi{Q(?FrThWk zq&+|H&pD#rKT!793yqx9ZQ)maPDGT&l?DO^rVU3ROqW&E!0#6s#QOP*`el1-HOjp@ z9sztW<-g5T_!(9SVZ4YUp^7}RFrVb0c(W=xGyG~mrc#OBNMu!^ad>1yT6X)j)8vMS zKg+H32hKeUa~)50@ODC#;`jOi2T>(PY1FUtkv$zc%wpZI=DRzj(=X3nfym)`Di|o8 z75C+6LYCLv_C=d+I+JsnElBZ++uGdZOYj51$i#)2g%?4`0*H-%ouu9c!a~~tVTDX0 zk!!e18{03p2Fv|y&1+U>{W?G;3&Pc?xhZFWm>?f0;>*=so+fw#XtF52#I>P$tg=}5 zLikfTO3@5qMea0Ps@uK@gpk>j)(wW9d%Zt@V{Vt(<^<+nT)1sXL@0Jz|ELkx^JXx@ z=hm;J>svhsjb0yGx6!1SN5hNqzGza7QsLI6o#@vDF0Y5UW2ml5Z4xeW@w{B-X{bOe z+LX@#tFZ>vc~Y1^5fQ6>F)KGcO&dA*%z=6KZPm_T`WLp#Fh7MIZ94;xW^yk_Q??6v z$xpOXPOGY@13hYlrm@*P*R8zLapMOZlA(wKu^x)iXXu)%nVdeBeH?yk<|IBUbihOa(T{AdpvTF);5= zAPk@|)tT0iRZb<$rxf4(nH0iKGE-OR@RHerQ)}-~w#Ht`*uk2yA;#nD$sy;yurOPp zka?yC+KT#Ta!%eg{NXJ=+PQB(m8Ar%9CK`P`SLnr89d%VNDz35aTK$P$!#*w&7!Dn z%e{y;r0J5lGw9Oc>1F}q?E6V|zC&<+TK{Z+LT@%xjlq-Xj$%3wa+~pDr^^z>B`BUn zMfsrY*7sY)X`;1Lo;q6cH?TjzYFHc>i&r}4;0KWKMhN{m$?^T%30d|+U1Rwv`wGNq-*!4D9KgsYqLridl& zZ%D}(?q3MsA=XS4wMLsTQ(kISTlsQaCUHQJ^xLsgjxRI3PY(s`HyliXoe9+nFoG8p{LZo{TuX|%GPLze&!T_^*<8$@Z4E}6QGTS6un*Qc6?0% zfa?_%6(Nz4SD7;d3u)TuhGkWu+nC>JoPuyK*hZmIBH{}xB}<7Dq$fkPatT}}Ws zkNEXV8bEmQ0gO{Gyw9ALi|fGetbX4)4+0q}(S>EgZN;F~Y zJzBEU9%jP5k)R2{Z)2pa0rz<0f!hne zl@|XML;(K&R|6jZhiD3 zUfI)JiE;0qe1#kKZ=wthZ+>Yx+ZrsF*DoH<2tXwMyn(OL%|LW6c^!YmSVq4C;t(dVxt@TcY_UHa`3?`2ByxLsl*pX zEMGPse~vnxR{mY-{RF&a6izut5DX7FeR%b`3(ij~HS6E*xnr3?Xm8pTN&$)_lgkZW z|1<^5?6T18rmBcqQMSJ4AS(LYSYTMBNPF3-OzD)5Rr`&i_Mw+N5#H^T00Klc7mY#w z!+uqD$73V3!?LQ~HEYdfB&~hk=S1BIvyBD^3qp&s#Z(0;jyjm>)*2PYA*+K=R9VO` zw)DTks_4dJXX@7Hlk8hZ4bqm&P+9yZr-3&PZDQWi+Wl#MBMzcwa?e`LCuM8~J*21v z^!1@>{_Jdtv&d%Qj68S+W&7LLzhykV*6o9Ggd62dW0KYNNnG4#?bpJeEvJ0gV>3V@ zN3-T4ew%LlcDNWCjpsxncnZcJ`~~UxMLF#zMJMXPY(d{N=x{C`T_3kdPe%liZHmUH zVEVU19-{hvq9c`Q(gfmuW}G3o9t{WCpPw9xg;Jy*ikOTzau#_K)Y_vJzICH zsJjnTedTODG58sf`zNXn(UoVY#w6|#i~75oy@svmu{w+Zt#Asa$^K@}uv$?S;srM+ zhv6W1mPWnRFTsGD;!)|<$Jpplm;8)R^RB70gN$B-KUoh5v!PXRYTZ_&X z-N);jGN;L^OBB*ZW*tv3ahktiz$R%`z}l=fs*xPEE|s9fhQ`;iKjU>@FRmz=n%Z~^ z%RkK&>Q>T4I2GrzT?z)JHE=XYpXwg~-OgIOU#|b2`17pYA_jLi8n$Y z4-+}0eLk#pQbYBtPye$X%I!+w)g&ySuB=HuHrbE9dvUttTbstuA=RA#p7MfWAXLl= zObO1~|3&m)AHJDa?RaPLWz$cY)H`_BkC`C{zv~x}@x zuj4yt-fh$A+AkEA++lQ-K!#| zYrgg4UcvX$Uw?#DTgt)5t=M|zVXEdX!z&+t-J#Sv?N_3>uwYwq!CQ45SbMcYdxhEN#CMLc zXdj*Ns~=l-S_G<}#l%wDz?7}6`o9_p?{TC*sudXY?!@N3sLG(V>v(L< zF_v?|D(S)wut|^Q2R3Ayn(aTqO_;DGpcK<;N2^9MA5pT>RJh@Mv?q3m)y~|$p7yCs z{7-@bTln2zt7U>Gr)CGZN*@Nlt+^m{%LAFUu1V!86%QchV6UYwb>VOicBF3wwkn!d z-mm!1a^Sl6)t^+0TeDeJn;ap?$c?~c=M0c1evo3+?r^}-T-DwZZPa^HER!SM0b`69 z18@xgefh?{D61t~z3x>e-k4Owa6{>*pF1xzd?|11qY!ygTIju1TV!Ux6@-lve6-qM z{&|;|)OApNDJ921;kk4Bh41+7Cgk@o9@H*w)VhLpm>6|mlq&1K;Y79g_UghD+>k8B z(%&tr&7z78!=*;dUCBhk9zhc-ZM#NFQ`gX^7`^%p<@>2K78=E?U08-k{l4)z8iFPE zKA(ByR`<3&!oD22F7DQAY8h&|^u9*^I#0gpOwIa0-*$#xh2aTxg!3UyG-G!zoECB} ze5DUSWg|vx#x0`=?eCr(u@2V{&2v63q#buLdAyH15DDbHZ$RS_GiP$Dz1c{c3%Y!| zC3~wy_?w^ED-R9G{R}feo9JS>)P;B!YB+=O=KQ|>%bg$P7!)(ypWik3?q)Z2%Z9%8 zensxT(zF6%F=6>11O2C;Ozvk4XvD}$eu)^Q+Ef3;lxU7{dnwYyrP#TQ=$z1{H(VTR zaIGEn5v=y$!^}wzC}0=3U+W^^a$jIsLR{}3z`bT&zt;Z?+}=aq&y;YHP$XqPr^jSTX=oq_?j=$gQFTxVtb%P9x--H;3P{UJy|I@r?B}q>^*Yp7k7z)~NHc&rf&Gf}C@9pTHTm&;k0>X$*Le#=2lMRR zH(S)50}H$Lko5(lj$}0hqzC@zq1L#!eS7n(wC4)uCTore`&y-X#%4s~32UF;%m zS{L}yb`Mq7}s7ICXmuAqq$Bg*$lUT3y7hpr)p@PE;jZNvNZ?|5BFml zDcX+X<8HIGG^=~OV{@VCcxZ=&sQU%E;WhR8xO{c}P7*bD*IPldS3jlPM*&mtVRs0g zYcr4vZ3uXq5$*pcQToKve?jTt2p~^Z0?2+E#mD`pe0G_CDD3TvH(m6x(AP2xKnSO_vvMnb@}_)t`kb z+NdZ4TgZ~yFw6p_CSV8Pqx*Py3KF%dQzWJe%rDY-5!dSAg*Yl?XJjtH*vg|Y`-qA6 zU=PYlho|tV{7QG!@m3U>gej#kIE_%hadYY%Qo66%RMYMJyPOtsru%8=b18>WqK^<; zl}}jnfEg;a+L8El**%4uuNBi5KJhTW8DB${V*#{_hd#vC_>PQpLV9fw$Rt0d!oL)-T$~z{pDcpNU-=D8? z@7Y8ykc&j_1R8#~QzxP~C}n#g_4ACtlw9)rvR%HgNPJQxrPWl;9e7aq^WL7`k9NU; zHd}8J`hCRy4ikeW;CUh_ZX63EOoBVNr?tH*;?y1bEzr47?k3sU8uC(N1eOR4viBk>%}Yq8pzs818@NBtaVGLxKVr>{v3`{_L{uo`eKgywC}uW zxPR3J_UQb2I8*7ZAve_D5s<$4`5BC)?CZRI`Xr@)JgT{;DaJYbosBy&x98SMs)GtU zm~x>b)!f;~7R&5q)OQOHdkGTdcdJyy+7=UmJ)>J^44$NXPFtM_Efsf6)OYZj+ED#U z_A)cHGte#Uf$QOE%yzqkytg+I7ga;-+I#BAt;>%Pk&6_uJYG;#((M*0)J}<;Fhm9U z4DQN2M3pb;!gyA-)vEAzRY&nGC7h&mx2p2N!Kq2_Tju4uhZC1#WOhMru0D?A9GKeL z1=L$2T|X9_1&w{rnenN6riG0?ov zojQK`raMCopV+&XFD$`v;NbwlhJEXY{e`_wYfP7>k7rqwPwI|tmYF&V|Bvu?g@2E? zzb*SDaIdx0`{-hkO44_EpgffI<7>Ouj@3VG%sHIDKNay>u}bp;e|Zx7a=v-t0d7C| ztKs&Rf87$vIak!;l=CYBs?v$WlCh-bVY7ZpI>IfZh4eO#`ediydVKAeIpoKUu56S! zpz%6IFbhpemvBt5$whKB=&^szaa5^y>7qopRhbmK#eb54KZX?UT|=gEd4*|#7H}kU z?q`C=52o8}>pUEFwE@+=+vJ}s(E1&cFEMW0cKLe|BI<yC%r=?$Qz7g+_hE<4!(Q=gmefEK`on^iAmhb4^Gn1?P%mW82A0NO*EJ%LKMRA=DS!mTAVZ}B` zEy(xIi;qZy)Ns_lW};~vScQIy4G2N+0NdDZ%!UfooKMkw4@{XPyvh|bjO(1;n;w!- zLh6LL+kv;O@&|&iD~tMkZ_{Ira3YdsF>|h5q_n&om{EIAHxvv!cNBP0LIHj~o|3q( zCiAWG-c0rGe=vBLlLt++wbVJ9ukhfU5f0aT6cAh7Sp}B4AHOm3<*x_{kb2^Ohv8>$ zVE7+lT(d8&92j{A^3jxF(b)Xy;N{ytJ`Umk5DXJp>^Z*bsz7-}r@P?DjjV{*?6guI zUw)z4`|)OGQ%F_H=P-3To)oXN^#ePH)tdtsH-eJ`gtq#JPQm16x=23rezVRDxapF% z6%}dMA>Vb-1CK`?w*Ki3ez*PodTFbU4vT6os5`1mXQT?ZGKBGhl!hMo-dcuK06F?= zI%}?u_0JN;^4wb&O!{XAwW4AYG!8l?9=} zF&+hg6Us6>yyL}P1t)ryv6;!e9q*VBGaMMdiaGooVS804=zCW@m->>ALW5i7n+!4} zq>s^VCba_9x9^^zd-{Z?nVABLf5 zj%wX-#3v^XQCgyOJwkRsMl4*cEtPO2>WX#CNju#=vz zd*>E8g2y7FpTRa>vpH6`*_tn%s;!PSk|!*2jk=-K$~>&~7IO>M2T~Ef;dwdKP~JYa zd}^*0bVI+*CFpH$uz_t;o}MZ~$piMy;5PxE5>?8%c;`oClM;{S@>7m@ao&b&)HgLR%Pw3TU< z&v8-A(zsGM^LZd+-t$L!ti59HKsh}m32Fa;0n114SAPeR^mjiXh)aLyU$>wnwY8e& z1y#o5o;;pTd$I^&7Z^Vj5tuJi;<#=b(1tH@$wpjNZMu+q=x^QsE-rp0MGDBcs*XK# zHhWEhyX7tjz@y?)QicTQdTCr?zA*1lsTK@gy8c0#XKs@||p)Nji)(!0Rx4%4=dv@~ygQm(U z%YK${rSU@DGct8W?EtDh@|UMPO0niI70LPBw?=<-ba+;BkbjKOdS^?+Jvck8zj`Y6 zj84v&v=+b7@Oo_{4W*5wodKhVJTTtA`6DC-aH8D(hsf3AyLVk$s!!T0w3d#~3vW1U zK0Mw(zpT(YaUprLyQg?p&n(F3*Sc#_U0rhb4VwyP*2;=`ogOP`&|5PMEXGg#bBq8( zBtRqy=vqWXL|9u|ep{vhu49)zx%B1X<}N5N2ZX?sX9iFhkC}t4QeKQ<=urZMh1?3K zm%hMs$uv!FaK*D<%r{i1 zi9ncT+3_{qlfhe9tZljcc#i5o+ms=o-QBWvGxj2DKwJC2J!&-2)V$Fm1H?fx5V!6U z0!Z^@i~bbKM1OV*_1STm%?62evUj1$9yT+w9UHXJ`9^1%V6L zr2)m8qa*i@&zO&0!#VEjNv!Jh-n)HEWa-aSwx+ontWqviDc=kZ8spY>V=V#qU}VhP znp61){o~s=ni_Lt^UV%7r!eN;S#ta(HS;ec)z$1?>67}3KQvwb53|~Dh8b`?zFP&f z#uJ@CGRYYKa^mj{ly4pn#uL^`ir8t6TkOE~8+_W(JKct=$$##j_6MFey(F-K99w7) za~sHEQziX#LQe`P*xotlNp?~aNuUIO;SD`021Y3@FzCtZbSf(h97Xe`Hm^=x;Pvw+ z=>@jxXCcZu=t0Ecn;+i~ByN`ggjUys;Hl$+N$Qd=udr%q)FyJgY7@xmj~4b$+1P9@ z8~j3RnvyT?7nU#!DwFivgVg6))fs5R#SVQT9rD@*FRyl-9(nB7-25~!TE>7@`hW%A zo-!OiHuO}IoV+{Zfx@p7#M`Vx36)wPS+*HJoEogS~ih95Axv6Lch!Crt_bd0`==|mu*}Qs_Qq!W9ZRy``ijDI7&errf$c}Hf%SX zwO=!QrAs!vkn=%h1y`+WUKd5``a&XUo5w3YKkB|bD?@L=bLeC;!5@Nle3k^U^-Qld z5aO3x>jORZ(qw#+QP=Z?m-$PSGRN;v|9S=>s@KBf>{efqa%Tr(y{IEIobJc5?oCRo z7BwAT8o@?2v~h-;$2P?vbJoq0JY)85n#)zQSe1#ap?`1M`CzNO--kNdH_DdN%^qQ& zDv`h5V6E@^r+I28hT;iHvUQZIWnv`jL93faIj!_Eor2!hBD0J#-Df{*9ckH&(q3D< zdlmnuCtG;L+3({hXB7eh80ENzWy>WNZM9E>)r}bR%@lpJ<*gu@*f#=0z>jLJ8(WVy zv!(~)6@5w9o56H>^mX=X#9-zi!b;!l&NgWIP_;rp#Z^u|L||tix<+He!$$6~Z7NtU zrZEDH2H7>3x*cuQGpb(t`W3F;aP4AXu;TroU=KO<;Q{T`t)4OCMKnl6%^qv}IBk%F zuKN6jRTW@XD%Q1;TPJU($OO2LQ<2IA?O&Nzb?bRt0G*6e!QmP(;CGLG%T7eE)XMy7b^T_C^GA!Bg|7w- z5qBy%>1Bf2vtIh`rQu&4yws`Q_Swdh8w&?t8AK&sC1x8!^Yo~C$Qz`HWezEY-nYw)4kjgN->Q$j-U(Xq`hJ48Ob?fZP__e`eAcHwuZHy;Fc6x`1Es}) z=ka-^v9WJiz_UP2!51<-%o&%wv0@I4mAU-!>1lbu{J)h77{r3zDFg*U;!x}*JH)`8AkN+FnW@TrW2M9v}M~go|31>sc#1tlb z^A)quq%%_a0mi4u(&C%%04MD~-}|3W+5hV<{9SMxqvddE&r?l9BR@a?1u#W30v(`7 z1RW~^v_JtlX@F~3g$5(&hLNqs4N#s{)6-*yO_hX)<4o9k@ z4Aot;)1Kd4hrCh90$#%AhX0#f)}l>E_;}hy$E#}n)3W!r6nffaz)CkZSoUT}J$}kt zgnu5vNrXL7)gDqj4S*+qzH{WKYu-It7uP6tcdBz-#zgW=UH>tqU}I*_R~)c3j{ z_cS|bv%l;Lik*_MF2zpsrSBl5R$NL%Y<2%bjmgYGbBiCkD zo1wy;LZAcD9n@@8^Fh_sLZM;NEb;rMG6`TnaE6bZokb~-5{a3&j3#LMWj9mu$Tc^L zs%GRXfY4to)KL$Ak;XrhvWdV(Ugu=Io*ynsywb@pQwHvh=|*qSbQzOib5jgnUo3tG z&ElYcuPPlLs}gMlbM>&T3kBac>~y-k3RLgbjVT+UCWO`xK~JhUQuufbba{!2Dr#g( zf4lb8xn-%OX^@U%rHlCJl)Kc6EO^_+pE+Lg#;cEYJ4)D~b8jmQDDKSqSzL0!E8R2u zM|qjJdDTaV+1{Ji>dz+3fUcI`^?}fG-4C`WHJ8sc(MMm{eNG>G?DyRGGjpmrOiUQ) z!S@&U$2{*~e=*3-yjt-pnLWvHmWony?UamnKU2Txp)TxR)Lem!j@8HaR9RnQo7LGC z{XP-%`JE$Y+JY<&RJw*FlxbxJFNzJY@}TjWeYI2h%0`Ywx#VNiE+CgNx!ri0zeqC+ zrlMgQrW{0QWvqpcbWnVDVRE9rr<8UEuy=*HPjr~SRO*r;>YFe%xfsR9tK5A96nxvJGbIiYAJMfTJuW(}`Ao*T z{iEE*-*W-VcFw3n#**{SArT35%dGNov#%LOkUaC^9h9QOY$nL@3cT5IV$oxlbXKPA zN#&NQa|J=y;+06nuXK3{4(e{JCFdiXGo zf}GK+G23=(NiGArRdrH&h6A(laf#3EHJIWia(E9PC^|=JKZEr>XVC4-V_W;x&y`YD z0F~bwo#HVuE~aCsUoV&y@(eZnGp`|l^@)G#XQTK&_9ZTb>btjR!W8`Ej%^?k*b1In zJ${rW*IsUU;|`1fv&gLyX5nuh24K}@-OKt5VA_^BKn+jd)hrV;4VY{&)U{RiQTp-y z&~pZy2IJE8EjZ8cR3`$*y#Q3cbS)G{dj^_kQEuKb>OP&}4WkDXvaMnRh|IpP%tJJ* zn=R~gBU_aUK2EX4H0u^(b*u+er*bm-v7*u{dKxFE=S0TwON+<%fZl3xdkajReD~Xm z0xdqL@rZ&II+?813{?x={LY&79fF7;E0Tih=+6-Jwjo=r#hEI|53qvQl@{@o)`>{f zLeT`6^@1skj)8mLUHB3`0y|NgqHMELV$sw= zFsChVER@7O?CLBP_q2>%$z`=e`rO)WmpE#@Uo*!wKO4$aB%fJIhh6{MYnC~?vUTaY zRxP5*KfAvsh3Nt*y5?_IA>yIAM!(%g@EVCABoC^od6?SZN|QgFNfcJ@cfciF@l0yoT{U5l&Sx>W zS=Aj>ginxjm>Lt*GmESi7|7~K7u1~((sXF5etV7=Z;9%!o&*R3qwmqO)|ZS$Go~6@ zUI&#hia3i?J9tS+lok}BoHC?^5s|+9ed@LVRb{XP(y`Zx! za&fOO#P!#Rt1LO+j@oH5Nc&w54`@MNfjV^Q0>tFCPKm`W}GbjEs!KqlKzvmgj(9#UL!K59nADJ+#xnxO*R1 z-Vy>{B(XdFjT7+34_NC@V|gC`Sv~w$m-&vDBCgCtr`{rrfc*xR7@0~M(D+ac_Nr^i zY`_^r$N{?M8=ISeeserferb|bN>N#vrl~1i{H+htH;lJ>d;oJoQDGr4OXUH2-Go3f ztf`%gH(#x-t>aQsWCJlsh5=*)V-5ra2)q0HHMF&paVcIuYep*N0lsvPG2rEpk`{89 zblmtp*tghofy!Z&G6lC~6&Ew#ycb4`Le&2!yvqM@us-D6v`#EgQJ^*{DJeIw(_>%? z&<4o*0jLb9HzQ<3=BDa5NDLwZxX{U|9FQ;o7|cv7_c#Ef$r?4VstOFF%N zZEy21NGeXkurM5F;^O1Gw%vPxk9lPmI}RgYu=I#V0IhBTGm@b0?rz|`#Ld-z3Rf^O z$&rktUmjJ*F6r?Ko{; z$E?+*rLh*rZjnLg*`w5gkj>uB!?lw=0s-HPfR%yF z9Qv>o{lvxLzsY8Nc>GGlHR-+mW3A>ZF+yqqZ~aI>U*%63>{zywjS;dW+{eb}Zv40a z4aBt2ZK`DjwzcYC-(SbYWfbxs`$$}`x;!-HvhS5+L+d1X00E?x5W~?4HD@mv55G zOiq}F3(XY{XBz4iMurTftg<4C7Fp_#9~!DO!aYoO2~bVN>JVYjT38fA)nYidhj*@t zS-kaubo3BMcXx6T!-Q2LGGH3L{`2ackD9kiLfO=J1c0z>*dSB2C zgx)KAH9G9K&~R~jtrEdEcnRmB)7#tIBTMDe&B51;$&Eb2L$_8C)UQ5_Vj6O~B(J~k zt#Ib4o296(4lT{npWo43t@Gb8AO@;iibEibLzSMMj#z#TKu?aUXWjeilNDxR zyro`JelR+Tn5qLrb1a?uwpP~5>;1PZX)}olUU`7fZO9 zTMun#4iO;1ik*`_iQh%ONv-y)85m^vs?R=`0bTx(=MDp&V42nK^$sMjODp^Vxc^#KeLa&Q~Wa_@O^8!Y`>$i9_yh_c5mhlj$ z=Bwo|Y}R{Qb)dO&2kXnO6&i3^wq(ENkMEA@rzez@wy%%B8CxF!SM-qJuUcyQT z@9W~d67mYjC+rGDQ>R+QZ_M2Ffo0gy>yU?;GgVUL~HDf5`LCSnqD#)NWd+Fu%(N)11#9(1XB}|Y&*Ljk z6e+<@$u*^Vkoio*q9ZYA)wz5_1+i!`H$-9ht{J~ak?S#))%58^?4(Ui;RN;I?@z9F zzMF*A!KNEm!9}o~EziVhMHM7A`$= z7kj{m*`)K&DmIOP&^G=l~@-2W8p^WoyRuE{JlvUg|I|; z2@jLVs7a=7i{A}k=+E@ClG{HuMszL~iPE&NNgu!5OQP#~5?%IhRx&Acg;^(fMSGY} z@!`^NUFlM$Oy)5w4v)|E!(PejAC=05-?igtK6!8+LU=Iq~B64OLVW! z1-oiwTZ^1!jH^|3JxPFymTKpCXgZ8WHOH}x;H*`ngpiw{+gIi+-e;oK-tE|Z3?L1l z^OwVu%gk)}EEmuCs<``ka#4v!5u?L`5Qae~6(-)T;qJbdgvmUbE|t$4dgRmbnGC0B z;?b6HPmpdQbB(2fTl|`1nCALJY*3(aOdPLIhIwBK1J?&-1No3iCS2JVZ@b{p4L-u% zv2{-=gvjxj>#LvXFXg_e-%_pc&YrTBR*N+6P0H$}>OA>ilRVrhuQq!!Z_PXdXm< zs;fv9i=Jxs6EBy;2V4H`&NDP~VtDj9jAk@YYV_9Z{o|bbg45=kzyvSX`v_A$Vj}WF>2Y&T$EtTFY zDn@d?vy;u(N+?@QvTnRp9Zwx?^dNfdE3QUO532BeU1wP>Lsx}B3=gY-xEpwOl*z&O z+swJFYkre@#p}4#RA{tQ|ITGpp%``np6V%*BDEYg_V`i+A{ zol)wEYy=;r%DWx>8BThI7*nlx)oVvG*3jv~n`VWX-p~HaeXfliFs1NcY(!k3DV!NkZf0zaAPsda629~Us z4)qRBP1B0d4Ou+P<;;u`1eN!D3A@>_QdphjCRaJ@>15PKJn?bQ_kguc7)vxAeD8+? zz089V>R7sDbIpBo^l^zj-=@LziOvI+_4WxyK(YVa~;#bf!1N7Yax zhY|ssW7(J&FN0+{)f|yNDI!L>;VUDI(-j5|%wU=8gMDW^Bm&%6@3go2xnwZ+K}_z5 zg#hbO?1V*Ehr)e2nRH4xq7Fab+E*i2_E??Ke&3Fa)E-qW^5WFnMn*0QyMWm)Uf4A} z8(g&`M+$Dbmwk~>XEGr>4JF9y&M^i@zb=*nV%QE-&C8KUCH>;PW_$<%|LV(8Y7p*_o? za5)B(puP>|H@{Z{a&L*Rb`WE-jrg` zO7CcZV?)}5y_npbM?MxB*q#Gx?Zk$ofOJuXz%X~OmFnRv=C<9M+Gy?Fh+kN$QriY& zgk#++WQBCW5-cwf8)M5T>m~F((C&fZXbzsQWY`MZxUdJS+IHzN`bSpBLxV7<=zv{4 zD6hxGDUokstiu?KNzRy7g-&n^9NrB}yF6Vhuvx2QJICnUJ&uJO;<&U`KBvFu`YrFc z{32bSz}9ti3()w61nvjjSRp+c00>_Dkxou4BXAPd>AE@t+q`N9!)yZARo|%WFW?Xo z60UDk`xYT9ja%eL1%B$Tm2Su8K8C;#@8-ZuII^zs>iqE7d4a3 zj#)GKc8gjWyekl5q28RQmvcpw92{O>9N!`hlE}Q=F?{6t$O`7IwAe~vU8Y+y(3=kN za@iT~E~=sNF>GX!I$TMJ#gb$e5;iZ0&m9c7EiuI`(767!X3YH+ zs8vlyMS7H*p1)Y236!cM8ZAAxh0F(nu6dC=MaK^cv#dqRWi5n!A1UFfswu`?WMG%@ zk7e)nmU7&tNKy_RD+<~4r5AWv8s`J@Qc1*Y6o8;7>li&a|IOS z9lNJAvh%49m9@QnHKx8-@rTxESAo^Dbm|EP{dt+e3VyzRspE~B&r_MiPB|23Z$x+; zC5&h6XWV;?0|Nr4tK4oDNW$TlshR81_xQ14sTBb)*2zUL(kn((S67#;ED0#~P0~l)62o$35vVSVjS{J@WW~kpC!Sj*0+N#85v~s;bMK>iQdkpe zw|_VHB5kd*$4&<%)s#lriSEwSuso=FM@Z;X%(96bN)==x zkxk7ifnZ!qq}0^m%DL2XXl8EO;KBCqi}bw7X20em6tXPpA#D8;m>R!#=QtfW#E%R& zn57#<3=W^RjZJ)4+Kl93niJ0P;H6OS{hgPR(V!N)kT!WROIB_8?szyLdBl`!>aZh} zhf&~t@r*7K5wt%})rpNrhbbk(eVYxuyy`@zEA+vkp{7xIs%>4*)jcm{Q~4_qp6)=$ zVquC^TJ()ldQ4~EJ6N?G{q>|mt5|HIw=*eLl1Keiz2G) z)$7s4J6k=3*Wa)oQg2mGlV(DwFE#=VdYaIASzc3-4j|P|U3iM?s$J+h2i0W3sYlVt zDAVNWIJnyry|Yt3jGwYk_{SfNje3%%{HhSLt}a^s7|Cc!|~nLqytX^P%n# z>pkHSZlV6dqatZ~I@}R-@q4?eX5B|r(3r}6%h|>*ca8fUcV#3&DJ#7hS-ZRJZmzBc_4OK0qUR^!4bsDNlz6|btF3fq zP3h@=G6=kowcFkXQpHy3?GodXzO5y_QrARm0Bb$5vn$e-x}o-4-qs)Ayzy-|1Xxv7 zG&G0^Z+o|v>Nfyx4HLi>YKHU9ju5pG#iXS}7ag{lyPp`*@7N>yMZ^&c5WfmkC)&y^`;!fJHQP+uSJdpNZ^HaqS?Le=*D6%CCdgUlCM85s@lcWJF{ZDT-S z5e~*HSlU&tuGYVt2WMQu{OVT@--O)&JQFx_Nh?S&*pJ{BFmuca$jT^gR5G)&YMh>W zG3s8ed=o~68(G2MIl%-a+lEKfybE$Q>i~3Uc~wc>Tr$Ym#N;Uf0SmMmY9a5e^2yj_ zrn{FS-vg z8Pxs9LAefd3Xe-l>p&z#DDLmj6^`;UVf>xa9%-d*4=)v!?EU?Gw3RZSy=_fLB&EyH zGiEl2YRIsYVXOs6v`VlJdyfdsL~Y#F(ZGA5jL*Y%VNJ%L+^>xM@kI zEEvxKIb#C83#Mg0Xhcds&fR*$;NW1J{oDtMdU!xy+tC;MQn6b=`~U-i66-XM9$3wJ z4miA!m4nl>aGrb9;nvohn0kq6aRnK7?o1W)_N5D|=14_-6?~zi3Q-&#rhmxI;nDc+ z-MhGynBur4I)&skXnWYo(Ud+9&;!xY`Xw{j+0S{vt? z{74gdn@0O{$O36l20K5jEx#ExK3#`{)6>}%75l(I`3s}`w>a|0R0A8EDgVl7Nnkp! zkh0{Z;gjNDtZ2|hOxW^9kR|7>kL14+p;2@PYj(=EvB&WUsg6LDwkrn$0z9=#ge_FJ zQwR?!g4<>-Qs{kZvxx0dOaTsG@+c>Z+5uwdPN37UBc`sAF|^x@)5n-JONlQjA;CaTFJlH##47|#0S-=WDZoVl zFlZFqq*=}}GO(46o}`sumdeQ~M6(XpqJNbyI@hK7B#;Nuzy$L(*%M=8rXhOLA!7O_ z6OV*UBaBE=k~1L-3;6t)SYuODf^;$fPJF0sk&-VmU8O*1VUZOPf`uA$9x&$McJl83 z`f%m%c`57xl&`h2H#Sn3CTq&eWx!#$t{z;Mxfv{~Vq#)|px+2Y9zilpOf4nA&#$cd zViouIWOWH#0XJBz@G`)!#LfOmd6_U`Z;4ZyhRtb zHWhMXLql1Q$YE>pZV_8|T;EoslX7WTcqH5#a*&s4Yz{b{LSgOMq^DjfUt?!bXEimr z?LWnjr$7TE>(PkKSUL$QDI4@!v`_cXpW;lv(LZrPWbiKp;v>Uh1sLnA*G%1;pySaN%IEBFdo26$G%Wn z^U$}jfB^k^F3(CMV`O9`D<7WNXO7sKI0cmcHdH&qOo8 zBqSwO7f5HxW>9_6#ruZob>;vBkIweA5miBktu>Y zZ28)uEQW)WLc>GWJnD={LPNIv^nsp~BO1_jbBlPfthmP4cyNAcZD&QPavbpih#dgO z9Hz3ecHtvx`*^OOh11h%zCBwE0^cYF-48cDZR~;0S*9jI?)jt9+JG|nHcWnCZ##`9 zl1aoPv4;WLE--ht#gW7PoT(B?s!Ly3Q`&Uy9gO|AbV-cqH)I>+RXP7xVc#9q)b@mn zdKDXRk*WxY6s3wnq=TYJ4M+(c!9op1dJRPcQKWYekdgp_&}(Qag7lgYX$Dj}0Rck~ zz8&uG-uM1{S*%0J%I2KC_so1V^Udt%+rbv5+sq`Gnb{gmaZynNu~JkNQ)%iXbiH#8 z@@-NEWsk00ddt`4P-9Uoyd3s2EF3U@eLs-HAD?IMR@dvw;l0)OAr@-{n2|@fT>o*0 za)Q`Z(-5k3)r>v*~mr(~&IM_mIcW_x- z@ID@K&a%u>#h>AP!~T7$-36~;4lP5Q2dzKK)#Hit%T+7AY3YGxU;DC>%Eqc}=)Ybl zt<2R3xkLEOSgIqluIyN1Mn@MlUgJN&549Q^8G3pRYqmfp#vJ4%j4?z?;8A% zjwO})Gx6s!!pXhG)v?i0RCsuYVh6UKo6z|sPh|_-z<}b6c36DtDIQh@; z4~Pk?bH%7;+;#z>M-I2`*Z(aN6Xe4RO7G8ic*iCVVq`Axd6{m(xcKGgV}sHU>I0oU$`xoQ==zE7d_i=CNNla%no(AR>B;>|yea*}!f-&D^<>YFtm+7bc2RPZB z?1q6Zv1r`(2y&?~ZEVa9)LYMKi`Vk>@Of zO}ECFqgPls_Ls){bYoOX3w6*BTJ&kM-n}ki0;rg3Y*B&bkx~%N`@-du$Zvn@F+8n zJr9+#%132J*Zki8866udBFTBfNqbOqVc`fgKR*`T6)dZK@c%XTrT!cFxq))(VM; zln^$S(oHR{A1nc#2mZA+J8RTHS90H|oa}}lLWs)!sACfv%;V9xGHot~4-S2T#f3pm)m9I#!N8iLm>ihT<9<&70UlwUuTxFu>#xwV=>WoDI zogbXT3Up#i$wvulxXQe7-m^^{n@zC4`HI8j>C>t$(hbAI-$l*IMg*L>$HdZ-1BO_x zo|FXZ?o`vi@3S+8xLs7eQvD{9p*SZeXTS@11gg=O^?@1Dpyy8NSv0_>Ni5wsy|S`m zpx(vEDdT3YZ5wg?Fj!V0D`Qm=B(Vv>?N8$D)4`pf?ElGvhTa(vkG?}MrKmqq%Od1% zjJ?1#FpzAj`^Z<_%*cpPn3JQc8qH;7SEw0}8y-ht(`9`TY*~&uEiI48WO9nfI{-#% zYil#M#Hhnhx3$c}smWX#t6vIbOuaKU&rw)Y_^1=^#jbnOyTteX+B$2lGh&~X$>`i% zw?T8At<)hm*?R^iFidy1kVT>9>chL@w7)`*&S9^=%PFELl1(Uc{n63sTn8i_q4r2M zAmAOVSSqh-goURkovh!_dN1bHWWqA%@b;_!GzrVEeb2(55$Iz0Pml2PW6SIr3Z_Lx zUGe!l_0mYbYv_?5x?nZKe^Yq=Rkt~5=*G`CiKR6_?2!3HpbL8gqTtVwlX+FLsmlj_qICg|1#T59isX z9K+*Ai-0@iL~POI(y`5U!Wb6ECtTPQiHV6xnjjfkThGQ~*#0%f8Hs&1My3vLWEC>e zCGzec4dK}xiLaR?tE{l`7xqs%#>Fves6`~;#j9u9L=ghIZ=<92?Ck8aN$1-JBN)@p zGBCh^G3<~18_4Qzz#||TMY)w4P$)FC@o<;%h!;guzsnx3a`NN|#1D7cSK(2nSlPp| zMK@phN5CE)pgBSDwuSp#FCd?;1Y3V<`y~0aLy}V=P_IBciENsZntFv!yyAOeSHp%+ z6VMfIU!4HqbYm9*OwU6Lr)GNQ6gy(e3B;$CkKpiGun&Oo6-Z1@&ZW9TjErLH-Mv~y zo={A{qwHk7RAEcD>mnd0P~QRgWpwm5)LZ@mSm2OcuEpP ztAl3ZH{p2M{+^zGqEGF)m2b`aw6hBTmXp+n@CoqQZTvjr;N(OViRf(UqOGkh#o3Pe zwX)A1P*)HzQ`6MMm%Ipw zVvj2-*Lh2x+uny+65j)_b@A)akMW@Q##EHpU2oohEM{bU9JQ@vES!e=#QO;%!fW9@ zS$p5>)jih89MIFT{l01t`jTs79xZ7KBo>b5zW(lg6%~icuQw~fInn3N!HkUy0eP5( zb#8b=>YJf|%wR9$clPH>^BvD30fNX4bB8!QOMV;J;adfeePkre+`MEMOm=!QAO=%p zy$+sj-@oALNd|jxZCg4d*z%QTbocV6gW=tla0YHvVP{0KAvaJ;a$YNj`udyin=Dxa zpZ&wNa6bR~_4?T}XBKOE#m`6eabYUPnj2sGHMbnw*4Nh;E`o#htjY~KZ(hG12Aj*Y z`gy6%KsN}-7)gzNn({yOF5n|5UXt^t65^9mq;}EaZora{SNk^BI!^Jl5~Z%Mu~FSk z>dX1>I7UW_wv_{WIMp+s0;cW;oQjONQT9taul0Z}fM(uWj8|@O2bAY^W zbtY;_2D(FmNEDx-x3YFN0(g6UnP%_P(@opku}Wm}et;r~%b-_08ltnW8;SYd?LxZ>xnU2oFa+w2L=2`xK zS2i^yB(!kwVTy=hoYLc)x!XhN5C=!X!-QBbybMzzJP7#2~avE=f_KAw7Tf~-i z>d0i7o0v4zu6;%3Fn>l|_;0E{d54_gJP2$(9&%@U8}N`2-G3cF21_*Ra;{_e8dcNK zpi)e59DJRC1RFO!Rqm0qH?h*Iv3Z~}IhhsYb<8+PB-2WtkgHce?YGir>i`p#VxJD; zP^;d05v6DNdwCG8ssAJIOrM%jnt;|QadL7_eKa>VP6ZOMpSZpou(YsZVC+-xSbI3( z&Z!ir$Nws(`^S1AD4L_AqoXA6|1@@+2lx-sWJ??yb*9L<<{H390}E@G6%9yZ7oR8z zO5z|t|JimQ_!n1JaEl`aV8J{-(kf0$|Hr!WgLQ-e5%`GziW4ak7VpWBRTncN4tPhl zUj;MwknkZvEz!te$y^f>*^d78>(H#3{Em#Db+ZTlnk>u|h28T5r2;Igd&ZmdeM?d_ zC57^N8yg#?^ABU{h?K^sxp?-2ELJut zG4Z;boEiPAP*53Qr504XF9{@FPd@=7>f+XF4UQ7Zy~=BS>eRQG0=erFi3tf)E>ec- z4$jW2feIqL&~tNr!$p;D&EzfGrInS3R8;w8VXWQr{q8johPx-9e5Cc*9;c%KcxC41 zE_?a%<*If4IuIc$?2?3L%6e+Fy<*@l*95_|(_8bk78MmY!Fq9(zn$RBQ#m&;bbA!> z(fPf7QJ1WV>Fwz~Tp}MdHI~;~t6D&-^I~}q9O~5E-);l83JAODgL9G`mY1r1H@&E~ z+M#Bv(aF#6jRS%qgJ+W>HEF@mQsg*OeLX?&|NC#6(0qynp|*N;Xf-WtmY50_ud(8cC#j!lwzp?e&@K zKU5(fvri$6dxVQmiOjo&pC`?W1il3`(9VVS3p}ZG4w&RWE^GaHdDk}~(MtG5e$M!E z0moxZTM_1eLpoIqx9?h;*Y``8{%{+V6I$(w_z{uE%PZ?HFMgW-D!ub`b98jCr}-T^ z|5(njzfSO+Gm+!bEJ#_x2EF`C{N~hp?8)80{-P6$=xsz0nf0CieAfhwv#pb{4c}@x zd}giAj3B0=wUFbS4 zc1e7k($62()F`S*F@D-T5t6WXX(JXy#{OpPsr;%vgE=GurN1C;Dx3(Q$R+73D(&s< zdjWW(@%lyh$M&Q^1fg!8w)d1+dzlUyqjzr&knbhQO;lSNX*FNlW-> zsnOk!JczUwZGhBe;lHnYlE!6L6rOg>Va78W%7$9V91@bxIzQNCn{b>zMODM3Z#DDv ziiFaMLQnvSr02NW*t{CX=)YytW%fg%sEmiICL>N$uXn!0yZ?G`7!+6P{^cFhZSl?h z6B|DA=+aVMF#6uyMDv@Qo0;`;c(AiR$0nC`WyR6EjFR=#0vT^%Y3hYE+%%klOhL%$>B@%l#rQ3q@*MaP#RJuq4uY0Y)B8<+d2PCVmCIIs;do(4H3wurT`FJ>siLYOwv?e(X$lQ=Sw>7TZzB_{yjdsmwcob z8IQb-g>r8PFrJ>edRln4qQMEhcn;2?N%sZ7wk6LR!DrVK;kZtT#Mr@mNMshb{5Q!^ zAtABDA^aTMWj$B*BG7XnK(Y13#}9)3v(y0goo99aM{y3$bo*0DaTQR(t^$akjX7|S zKs5CDv7iJeO<>@iDFPr9SnQ(b03`Y-Sx+Pm-vR0iu+W$JZsozyp8u(ERE zlK7R~`T@|H80!&j`H)5OX#S9!pIm&-;HO@rVpoPmH_GX z8m$X7O3^a2^iyt!B_ztL@#=EhGMHYLgt1e`)a=F8ji;Z|JU0XL3J&9n)s6mW7#-vm zG_{ZIEszMFgbs?I?IQ1+ii_9C@7PrX6C7WjDN_!Nag%rE-+oI!^3)>8E6>yL`UBG& zG&Ir;)cvBPXo9SI5Q7UoCJ2JT=tAj$pR?x|)Q+a|zUif(sfXqYtuRC>1PPu=$gmpA1zT zuuYex$V_eZYLWc5c}Y9BjVx&2j*@ib(SKHElleHm)tL@ZtkYV$g!H~ok3h&5T&5-q zT?g@l#HS-QPgeci@)e8g=CY<7`$liNJDDUOWKH?`_6v{iKv5+-e3>%7Sg!g-Wf`ZL zfdVA?I8AW&Fv3jDe`{5Ldvyw5W*KiTR)9tqgNg6^=^;+tPw!!=cVk}gXzG@}M>p5d zWphlG4K{Df;`&GrJ48HiY&!#8B?Y-@HBJ}B3@#TJX+#*Fs3dmm2k61MAn z`dd9_YU-|&dXI^sWtgS&_niao&^EpuEwh!sp66J{+Io0xN_PPluX-(9Av<{#n7%+$ zppO>eqk@P&S%JJ0|H!BP;#pzU-XJ?ax2EJ9jb>6V3Oa0Bmx}>Y9sbq+40bLZ&U|*q z0JdHe|3zo?#+ttYn^&b~I5awG4gPrUn8~Oe|CBg1XZx@uERDrax+anyQDK}sgG2mi zEPB@Ch!G>(4>b4;b!7A{4l_jDibv0Tt`Mm zEi&|S4{l16`0)FSR)^UFONXul579X01aY+#3W0=m8c%cU$jUQe*dDR{v#sRk>w>x^ zvF%_Kh%|4eGfC!GT^aDyo(yn8I2Dx4e_8xty^pgVoLYLC;Dwy;tW?H2b-#RY&!z15 za+CBI*X%Hk9@!0*;hzQt0U_`C1pl^9FsKV6+>V)?D%E4NjA}~e!#nI$2M*W93s}ZJ zBoc#NGYw$+yy`;q`kOMDC3{_lGqxuyRT*%0yR#U~ep63kTqW!3kWh>f;o9vWMNtfu zUhWh_#lrXVk$1Ic_U6euxy^p|i)L8YIme{gmC@wPSCY@~S3auWJw^Feb0;PAt^v|%=F%k(h#L2D9Yc;vflI9=U2yWhN_@TR!Y3j!99l7I)vCOpT$)4u(A|{ zl{Mk)R#HDNJRtA&5G0jGHs`4k}c(LAFG$VGQ#KB4 z+73B|-8pLPzow_w{ep1Y^J>0kBkK+}>SWOGbBxaiVPWBYMdxJY+Ol*am+7hiOq%}u zl-e^QLQS(REj3GOxg(ByDQe!fQ0Rvq-5ODU%POj6>c9nI!HJ~Jx{Uma$QEKAFE|;Q zVsH1t%;cglInXug-8x5&AEhB(8ue=BW{R+=bJl260!EQ(Uc<&>fyH}V3#w*}Oj$j| zyg}(CW8_tZQ-Z{zg6<<$!h6^79CG>IRZpX!3VV=YlwmJ&GO+IZ;cl!=|3O}9vqxf6 z0|$9-G(Mc7^!shY)BSTs?tM3%E__i$e_UPuJ=r@3jtTg|r-S+yAgoCdOUFE-zh{`b znKt;z4?No7)<4E*c$md7$12J>b2}Ow;3WyOwzg~Mh^%=sJCAk0bIj!)XncPcLR|F(N>{S_}-Q76(9&j`^FPFBpDx#{cYK64dm zo9_4ITP6tY!3+}I2kTpZL8P>5l?|I%OLvO*gheSQaKVZm>Cg|F+O zmbtCx8?Ww%YR7^w=q8@_jt2fek9~!fxzKYF%cagYy0ddX z?Xon>YfFNhg&-zIR*Yxyx&ZT+q{m-{ab0ZtR+NFoBEQF1Vyh}ti`@gR$*kz!3O$B5 z*qx2`ESl6u4Q{U%o;UNzJN$%q{5q+j6=CG59*5S_4DWOOY23(sYdIRT!DZ6L7PxAv z=OPX23sTsSo*4_VY;JycqpkNo4L?G1dNy~$TH_iQ*#96TZ)uo#qQ9P;3S2|)iMg)FP z=^McjM0SYfl#gC^{s&7; z|ND{l2;72S?#TTc;iVb>uf5VB{n7k_w}ZX@D*~%NL49QE>pkbcL>n5?e@%w${(nOr Za&2 + exit 1 +fi + +if [ \( -z "${crt_client_path}" -a ! -z "${crt_client_key_path}" \)\ + -o \( ! -z "${crt_client_path}" -a -z "${crt_client_key_path}" \) ]; then + + echo "ERROR: A client certificate is needed when you suggest a key (or vice versa)" >&2 + exit 1 +fi + +if [ ! -z "${crt_client_key_path}" -a -z "${crt_server_ca_path}" ]; then + echo "ERROR: If you can suggest a local path for the client certificates, you probably can suggest one other for the (mandatory) CA server" >&2 + exit 1 +fi + +if [ \( -z "${login_user}" -a ! -z "${login_passphrase}" \)\ + -o \( ! -z "${login_user}" -a -z "${login_passphrase}" \) ]; then + + echo "ERROR: A login password is needed when you suggest a login user (or vice versa)" >&2 + exit 1 +fi + +if [ ! -z "${crt_client_path}" -a ! -f "${crt_client_path}" ]; then + echo "ERROR: The local path <${crt_client_path}> does not exist" >&2 + exit 1 +fi + +if [ ! -z "${crt_client_key_path}" -a ! -f "${crt_client_key_path}" ]; then + echo "ERROR: The local path <${crt_client_key_path}> does not exist" >&2 + exit 1 +fi + +if [ ! -z "${crt_server_ca_path}" -a ! -f "${crt_server_ca_path}" ]; then + echo "ERROR: The local path <${crt_server_ca_path}> does not exist" >&2 + exit 1 +fi # Check domain/path availability sudo yunohost app checkurl ${domain}${url_path} -a vpnclient @@ -31,6 +68,10 @@ sudo yunohost app setting vpnclient ip6_net -v none sudo yunohost app setting vpnclient login_user -v "${login_user}" sudo yunohost app setting vpnclient login_passphrase -v "${login_passphrase}" +# Install IPv6 scripts +sudo install -b -o root -g root -m 0755 ../conf/ipv6_expanded /usr/local/bin/ +sudo install -b -o root -g root -m 0755 ../conf/ipv6_compressed /usr/local/bin/ + # Copy confs sudo install -b -o root -g root -m 0644 ../conf/openvpn_client.conf.tpl /etc/openvpn/client.conf.tpl sudo install -b -o root -g root -m 0644 ../conf/nginx_vpnadmin.conf "/etc/nginx/conf.d/${domain}.d/vpnadmin.conf" @@ -48,9 +89,14 @@ sudo find /var/www/vpnadmin/ -type d -exec chmod +x {} \; sudo mkdir -pm 0770 /etc/openvpn/keys/ sudo chown root:admins /etc/openvpn/keys/ -sudo install -b -o root -g admins -m 0660 "${crt_client_path}" /etc/openvpn/keys/user.crt -sudo install -b -o root -g admins -m 0660 "${crt_client_key_path}" /etc/openvpn/keys/user.key -sudo install -b -o root -g admins -m 0660 "${crt_server_ca_path}" /etc/openvpn/keys/ca-server.crt +[ ! -z "${crt_client_path}" ] &&\ + sudo install -b -o root -g admins -m 0660 "${crt_client_path}" /etc/openvpn/keys/user.crt + +[ ! -z "${crt_client_key_path}" ] &&\ + sudo install -b -o root -g admins -m 0660 "${crt_client_key_path}" /etc/openvpn/keys/user.key + +[ ! -z "${crt_server_ca_path}" ] &&\ + sudo install -b -o root -g admins -m 0660 "${crt_server_ca_path}" /etc/openvpn/keys/ca-server.crt sudo rm -f "${crt_client_path}" "${crt_client_key_path}" "${crt_server_ca_path}" @@ -98,7 +144,10 @@ sudo yunohost service start php5-fpm sudo yunohost service add ynh-vpnclient sudo yunohost service enable ynh-vpnclient -sudo service ynh-vpnclient start + +if [ ! -z "${crt_server_ca_path}" ]; then + sudo service ynh-vpnclient start +fi sudo service nginx reload @@ -108,8 +157,18 @@ sudo yunohost app ssowatconf # Restart hotspot service if installed to change NAT configuration (now on tun0) # A new start will fix the interface without unsetting all stuff sudo yunohost app list -f hotspot --json | grep -q '"installed": true' -if [ $? -eq 0 ]; then +if [ $? -eq 0 -a ! -z "${crt_server_ca_path}" ]; then sudo service ynh-hotspot start fi +# Check configuration consistency + +if [ -z "${crt_server_ca_path}" ]; then + echo "WARNING: VPN Client is not started because you need to define a server CA through the web admin" >&2 +fi + +if [ -z "${crt_client_key_path}" -a -z "${login_user}" ]; then + echo "WARNING: VPN Client is not started because you need either a client certificate, either a username (or both)" >&2 +fi + exit 0 diff --git a/scripts/remove b/scripts/remove index c2f9b5c..7648c57 100644 --- a/scripts/remove +++ b/scripts/remove @@ -27,13 +27,6 @@ sudo rm -rf /var/www/vpnadmin/ # Remove user sudo userdel -f vpnadmin -# Restart hotspot service if installed to change NAT configuration -# A new start will fix the interface without unsetting all stuff -sudo yunohost app list -f hotspot --json | grep -q '"installed": true' -if [ "$?" -eq 0 ]; then - sudo service ynh-hotspot start -fi - # Remove packets # The yunohost policy is currently to not uninstall packets (dependency problems) ## sudo apt-get --assume-yes --force-yes remove openvpn php5-fpm diff --git a/sources/controller.php b/sources/controller.php index 3251768..fb74079 100644 --- a/sources/controller.php +++ b/sources/controller.php @@ -1,15 +1,15 @@ = 0) { + if($(choosertxtid).hasClass('btn-danger') != $('#crt_client_choosertxt').hasClass('btn-danger')) { + $('#crt_client_deletebtn').click(); + } + } else { + if($(choosertxtid).hasClass('btn-danger') != $('#crt_client_key_choosertxt').hasClass('btn-danger')) { + $('#crt_client_key_deletebtn').click(); + } + } }); $('input[type="file"]').change(function() { var choosertxtid = '#' + $(this).attr('id') + '_choosertxt'; + $(choosertxtid).val($(this).val()); }); }); diff --git a/sources/views/settings.html.php b/sources/views/settings.html.php index aa19202..bf1e7ec 100644 --- a/sources/views/settings.html.php +++ b/sources/views/settings.html.php @@ -42,9 +42,9 @@ -
+
-

+

@@ -57,6 +57,13 @@
+ + + +

@@ -64,29 +71,48 @@
- +
- + + + + - + +
- +
- + + + + - + +
- + + + + +
- + + + + - + +