rpms/openssh/devel openssh-5.4p1-0.beta1.fc14.src.rpm, NONE, 1.1 openssh-5.4p1-1.fc14.src.rpm, NONE, 1.1 openssh-5.4p1-23.fc14.src.rpm, NONE, 1.1 openssh-5.4p1-fips.patch, NONE, 1.1 openssh-5.4p1-gsskex.patch, NONE, 1.1 openssh-5.4p1-mls.patch, NONE, 1.1 openssh-5.4p1-noacss.tar.bz2, NONE, 1.1 openssh-5.4p1-nss-keys.patch, NONE, 1.1 openssh-5.4p1-pam_selinux.patch, NONE, 1.1 openssh-5.4p1-pka.patch, NONE, 1.1 openssh-5.4p1-redhat.patch, NONE, 1.1 openssh-5.4p1-selinux.patch, NONE, 1.1 openssh.spec, 1.193, 1.194 openssh-3.9p1-askpass-keep-above.patch, 1.1, NONE openssh-5.0p1-pam_selinux.patch, 1.1, NONE openssh-5.2p1-engine.patch, 1.1, NONE openssh-5.2p1-redhat.patch, 1.3, NONE openssh-5.2p1-selinux.patch, 1.4, NONE openssh-5.2p1-sesftp.patch, 1.7, NONE openssh-5.3p1-fips.patch, 1.1, NONE openssh-5.3p1-gsskex.patch, 1.1, NONE openssh-5.3p1-mls.patch, 1.1, NONE openssh-5.3p1-nss-keys.patch, 1.5, NONE openssh-5.3p1-pka.patch, 1.2, NONE
Jan F. Chadima
jfch2222 at fedoraproject.org
Wed Mar 3 09:01:20 UTC 2010
- Previous message: rpms/gnome-commander/F-12 gnome-commander-1.2.8.5-makefile-relpath.patch, NONE, 1.1 .cvsignore, 1.41, 1.42 gnome-commander.spec, 1.68, 1.69 sources, 1.42, 1.43
- Next message: rpms/wsmancli/devel .cvsignore, 1.2, 1.3 sources, 1.3, 1.4 wsmancli.spec, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Author: jfch2222
Update of /cvs/pkgs/rpms/openssh/devel
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv27470
Modified Files:
openssh.spec
Added Files:
openssh-5.4p1-0.beta1.fc14.src.rpm
openssh-5.4p1-1.fc14.src.rpm openssh-5.4p1-23.fc14.src.rpm
openssh-5.4p1-fips.patch openssh-5.4p1-gsskex.patch
openssh-5.4p1-mls.patch openssh-5.4p1-noacss.tar.bz2
openssh-5.4p1-nss-keys.patch openssh-5.4p1-pam_selinux.patch
openssh-5.4p1-pka.patch openssh-5.4p1-redhat.patch
openssh-5.4p1-selinux.patch
Removed Files:
openssh-3.9p1-askpass-keep-above.patch
openssh-5.0p1-pam_selinux.patch openssh-5.2p1-engine.patch
openssh-5.2p1-redhat.patch openssh-5.2p1-selinux.patch
openssh-5.2p1-sesftp.patch openssh-5.3p1-fips.patch
openssh-5.3p1-gsskex.patch openssh-5.3p1-mls.patch
openssh-5.3p1-nss-keys.patch openssh-5.3p1-pka.patch
Log Message:
Prepare update to 5.4p1
--- NEW FILE openssh-5.4p1-0.beta1.fc14.src.rpm ---
í«îÛ openssh-5.4p1-0.beta1.fc14 è T > D
è , ì 0 ï @ be7f18b346bfc59f914be1ec9d3d743c4a5268bd ¾ð6
6pÌ j > ÿÿÿ° è - °( ? ° d è é
ê ì í \ î Ô ï Ø ñ ð ö ô ø ø ú û ü | ý ¡ þ § ¬ , l
¬ , L
l ì L Ì $ 8 ( m 8 t 9 ä : Fm F ªÉ G ªì H «l I «ì \ ¬ ] ¬ ^ ° d ° e °
f ° ° C openssh 5.4p1 0.beta1.fc14 An open source implementation of SSH protocol versions 1 and 2 SSH (Secure SHell) is a program for logging into and executing
commands on a remote machine. SSH is intended to replace rlogin and
rsh, and to provide secure encrypted communications between two
untrusted hosts over an insecure network. X11 connections and
arbitrary TCP/IP ports can also be forwarded over the secure channel.
OpenSSH is OpenBSD's version of the last free version of SSH, bringing
it up to date in terms of security and features.
This package includes the core files necessary for both the OpenSSH
client and server. To make this package useful, you should also
install openssh-clients, openssh-server, or both. Kûlocalhost.localdomain X|BSD Applications/Internet pam_ssh_agent-rmheaders pam_ssh_agent_auth-0.9.2.tar.bz2 sshd.init sshd.pam openssh-nukeacss.sh openssh-5.4p1-noacss.tar.bz2 openssh-5.3p1-dso.patch openssh-5.3p1-randclean.patch openssh-5.4p1-gsskex.patch openssh-5.4p1-pka.patch openssh-5.2p1-edns.patch openssh-5.3p1-selabel.patch openssh-5.4p1-fips.patch openssh-5.1p1-scp-manpage.patch openssh-5.4p1-nss-keys.patch openssh-4.3p2-gssapi-canohost.patch openssh-5.2p1-allow-ip-opts.patch openssh-4.3p2-no-v6only.patch openssh-4.3p2-askpass-grab-info.patch openssh-5.1p1-askpass-progress.patch openssh-4.0p1-exit-deadlock.patch openssh-5.1p1-log-in-chroot.patch openssh-4.3p1-fromto-remote.patch openssh-5.4p1-pam_selinux.patch openssh-5.3p1-audit.patch openssh-5.4p1-mls.patch openssh-5.4p1-selinux.patch pam_ssh_agent_auth-0.9-build.patch openssh-5.2p1-vendor.patch openssh-5.3p1-skip-initial.patch openssh-5.4p1-redhat.patch htt
p://www.openssh.com/portable.html linux i386 Ø ° ³ ß ¾
f ê Ø Õ - á N ]
hÖ 2(
Ô £x õ /ó 1Á ã_ ® ¼ d ø ?´´´´´´´´´´´´´´´´´´´´´´´´´ý´´´´ý´ Bçs,D?\¢D»Jî«DØ|iHk\IÖ
Hk\Jm=JqYÌI¶mwK/TKy;óKXºJÅýSJÅýSKò?Kü KÎKËKÛKÏKõÏKÌAKÍÌCô%K âJÜJÜK]¬K&J°îc318ccf12ed6fbcab9d4654a2c409c27e55db8b862171edc1a249da08d378482 34e73f7e387bae067f8a51cc3a50c5cb2b898c810b32a8fe80721b7b7fc69298 f5a57feca79c97ffdbf98d7f1f97e40c0f48fc19b8ca55e6a900d6ce509fd3e7 29d27cecaac4c1a60e34aee3170a6ad45d1ad02435e08d4581dffba943ac7f4c 33c496b386c22e100b9d45d3ffdcb4a7d88e1b4bb143d20e083f3c53aef5e895 c0e8cce3a5d7955d4be905efb8680593d60f961c1a5acb0a45d2cea7b15c99b2 74ae918188166d81bd347bdf24145b0b2c77578b6cb7895d562bf93b651beda2 3ee3434d53169bf594fd69e8907ea229d73dcbaadc026bd720b32352b4189f28 5ce41a8264987beabb21f4fc24127ef9efb430f115aceaa2441daa502db68c2d ac4ce494759385a692a2b040d02578da7fddcd7ade60cf75268ba69bac5a992d 4d2ffc5a4ec9dc0ef8df198624fdd82872c1fa820f9eee0433a74b6d0e7f79ac 442e685bdc1a5b7e322432209c2f430b73d09d59f98e8941df1cca125fc33a5f 62a1e924fcfb0ef3e9750cb9d8452184b12ffb01b491451fc55fc37d22440581 dcdc08fff0c0d37b423ef90bc68d19f572e086e3161a2
bf880da3fdaeea43367 46c07b0472968cb90cbb46e248ef143ed971beae2eeb28b0b73a3435154f52f9 462d90610cb1b497b7a1b2925a653a1f4e36f95b440e12dc5ebe67ce6c693477 8904c83b8668910cf7360285615e5e7576e91f53b03c21fd53c2490f1a9b47a5 04cfa6d2f1edd29f1ff79b55d8f9932dd8fe31c45ce9f7ef4da1438c99f11210 f107f9cc9edbeaa9454e6dc533512c0187de779b2f66bb06e344666d5cc35307 65cc8bd09faedc1047a4efcf33b79c151943ce49cf2a83e06ba9edb30420552c 4877db8b1f7600221896bd7e9760b5aed47a1b7d8f13c20decdf9013f9cd119e 7c62602d03fb5eec839dd6b11d19ae47a70b89d9577b8cb95744c388e8b0b1fa 0a5d9ef1e034cc7d9d772a65db7e344636606a1584a134eedbf8ef43356e801c cda10494caef7ca563bc717034a1f78a04a38bcf5830a070c3f85efe3d074046 6f537b00248891e216050e0908e2b527c999fb3a98ad21859f65c371a9d09d5f 1501e4835035cff795d0ea5e6265884259f616a6e5a228bfa324fda6aa10d4d0 aa7a2e49f1bd2cebfcb03f96acaded08e45f91ce55332365d9f9d36e9e22832f db27d60a24fe8c394658a22b6a7e5728440ca2d6d34250f9c1ab0b3fe78ba4d4 44bc68ac4beee7eb476552ff7668e538db4e51aa3c1da49e29704ae4af4
97888 76c80b6482ea5d03e1f33514f30ac77cd56e2fc8cb233a470562686df7426f4b c9039b4ae1a8d9f3ad306d45f62fc9f5cb35c6cd071d7ca991956340f4fbdff8 64468969e6f63ef3665c2a7d3f6df240737106dc15afd80b115aadb5369bc0f0 jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch games games games games games games games games games games games games games games games games games games games games games games games games games games games games games games games games ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
gtk2-devel libX11-devel autoconf automake perl zlib-devel audit-libs-devel util-linux groff man pam-devel tcp_wrappers-devel fipscheck-devel openssl-devel krb5-devel libedit-devel ncurses-devel libselinux-devel audit-libs xauth rpmlib(FileDigests) rpmlib(CompressedFileNames) 0.9.8j 1.27.7 1.0.8 4.6.0-1 3.0.4-1 4.8.0 Ky7 at KbÍÀK]ÀK]ÀKXAÀKVð@KUÀKG@KC)ÀK/c at KùÀK¿@KÊÀKÀKÀJîÉÀJéÀJæàÀJÜTÀJØ`@JÅë@JÁöÀJ»_ at J°Ó@Jª;ÀJ¤õÀJÀJÀJ»@JÆÀJ#ÀJ@Jq@JjóÀJi¢@J`gÀJMòÀJIþ@JH¬ÀJF ÀJ@ÃÀJ2C at J
Y at IùÀIìcÀIÕú@IºJÀIµÀI¦@I@IëÀIo%@IA ÀHø~@H©@H@H4ÀH1kÀGúÀGÏÜÀGÇóÀG±@G|Î@GUA at GUA@GBÌ@Fîl at FßëÀF»ÀFyÀEÿÌÀEþ{@Eä@EÝ
ÀE¬¾@Ew at EnÇÀEl$ÀETiÀEIÝÀE ÿ@DìC at DØ|ÀD¿p at D»{ÀD´ä@D?ÀDÞ@Cþõ@Cû ÀCðtÀCì@Cç:@Cà¢ÀC§ò@CqÀC@C}Â@C|pÀCqäÀCbÀCTãÀCNL at CFc@CÀCÕ@Bçw at BÂ@B¨/@B¤:ÀB@BQ, at BB«ÀB8ÀB#ÀBÍ@B û@B©ÀBcÀAÙ3ÀA«@Aa;@ANÆ@AFÝ@AEÀA7@A7@A7@A4h at A+-ÀAÛ@@ÎäÀ@ÎäÀ@ÆûÀ@ÄXÀ@¿À@¼oÀ@¼oÀ@Vì@@EÈÀ@C%À@=ßÀ@=ßÀ@9ë@@,¼@@@@@@/@?ÍÐ@?º À?¯}À?ª7À?@?À?À?jïÀ?jïÀ?jïÀ?hLÀ?hLÀ?hLÀ?hLÀ?fû@?fû@?fû@?fû@?fû@?XzÀ?XzÀ?KKÀ?8ÖÀ?8ÖÀ?%@?'@>í±@>í±@>ß0À>Ýß@>~ó@>LÚ@>G@>.À>Á@=Ðí@=¬@=À=À=nÀ=ZF@=þ@=[@= À=@= @<÷eÀ<óq@<äðÀ<äðÀ<©@<Ë@<V@<V@<V@<³@<sÀ<jU@<N¥À<-°@<ºÀ;ôÿÀ;ñ@;êsÀ;é"@;³À; À;e@;ûÀ;{µÀ;r{@;q)À;nÀ;^´À;L?À;7'À;-í@;lÀ;I@;÷À:ñH@:ïöÀ:ÝÀ:ÐRÀ:ÈiÀ:»:À:¹é@:·F@: ÜÀ:@:E@:ÿ@:\@:
À:@:!À:8À:mr@:h,@:fÚÀ:@@:,ØÀ:$ïÀ:#@:"LÀ: û@:cÀ:@:À:îÀ9ýbÀ9ãÀ9Üm at 9ØxÀ9¶1À9£¼À9rõ@9l]À9dtÀ9c#@9_.À9]Ý@9[:@9X@9@Ü@98ó@8Ï{@8f@8/õÀ8-RÀ8(À8&»@8ÝÀ8@8:À8é@Jan F. Chadima <jchadima at redhat.com> - 5.3p1-22 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-21 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-20 Tomas Mraz <tmraz at redhat.com> - 5.3p1-19 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-18 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-17 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-16 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-15 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-14 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-13 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-12 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-11 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-10 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-9 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-8 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-7 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-6 Jan F. Chadima <
jchadima at redhat.com> - 5.3p1-5 Tomas Mraz <tmraz at redhat.com> - 5.3p1-4 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-3 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-2 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-29 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-28 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-26 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-25 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-24 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-23 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-22 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-21 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-20 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-19 Tomas Mraz <tmraz at redhat.com> - 5.2p1-18 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-17 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.2p1-16 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-15 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-14 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-13 Jan F. Chadima <jchadima at redhat.com> -
5.2p1-12 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-11 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-10 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-9 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-8 Tomas Mraz <tmraz at redhat.com> - 5.2p1-6 Tomas Mraz <tmraz at redhat.com> - 5.2p1-5 Tomas Mraz <tmraz at redhat.com> - 5.2p1-4 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-3 Tomas Mraz <tmraz at redhat.com> - 5.2p1-2 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-1 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.1p1-8 Tomas Mraz <tmraz at redhat.com> - 5.1p1-7 Tomas Mraz <tmraz at redhat.com> - 5.1p1-6 Tomas Mraz <tmraz at redhat.com> - 5.1p1-5 Tomas Mraz <tmraz at redhat.com> - 5.1p1-4 Tomas Mraz <tmraz at redhat.com> - 5.1p1-3 Tomas Mraz <tmraz at redhat.com> - 5.1p1-2 Tomas Mraz <tmraz at redhat.com> - 5.1p1-1 Tomas Mraz <tmraz at redhat.com> - 5.0p1-3 Tomas Mraz <tmraz at redhat.com> - 5.0p1-2 Tomas Mraz <tmraz at redhat.com> - 5.0p1-1 Tomas Mraz <tmraz at redhat.com> - 4.7p1-10 Tomas Mraz <tmraz at redhat
.com> - 4.7p1-9 Dennis Gilmore <dennis at ausil.us> - 4.7p1-8 Tomas Mraz <tmraz at redhat.com> - 4.7p1-7 Tomas Mraz <tmraz at redhat.com> - 4.7p1-6 Release Engineering <rel-eng at fedoraproject dot org> - 4.7p1-5 Tomas Mraz <tmraz at redhat.com> - 4.7p1-4 Tomas Mraz <tmraz at redhat.com> - 4.7p1-2 Tomas Mraz <tmraz at redhat.com> - 4.7p1-1 Tomas Mraz <tmraz at redhat.com> - 4.5p1-8 Tomas Mraz <tmraz at redhat.com> - 4.5p1-7 Tomas Mraz <tmraz at redhat.com> - 4.5p1-6 Tomas Mraz <tmraz at redhat.com> - 4.5p1-5 Tomas Mraz <tmraz at redhat.com> - 4.5p1-4 Tomas Mraz <tmraz at redhat.com> - 4.5p1-3 Tomas Mraz <tmraz at redhat.com> - 4.5p1-2 Tomas Mraz <tmraz at redhat.com> - 4.5p1-1 Tomas Mraz <tmraz at redhat.com> - 4.3p2-14 Tomas Mraz <tmraz at redhat.com> - 4.3p2-13 Tomas Mraz <tmraz at redhat.com> - 4.3p2-12 Tomas Mraz <tmraz at redhat.com> - 4.3p2-11 Tomas Mraz <tmraz at redhat.com> - 4.3p2-10 Tomas Mraz <tmraz at redhat.com> - 4.3p2-9 Tomas Mraz <tmraz at redhat.com> - 4.3p2-8 Tomas Mraz <tmraz at redhat.com> - 4.3p2-7 Tomas Mraz <tmraz at re
dhat.com> - 4.3p2-6 Jesse Keating <jkeating at redhat.com> - 4.3p2-5.1 Tomas Mraz <tmraz at redhat.com> - 4.3p2-5 Tomas Mraz <tmraz at redhat.com> - 4.3p2-4 Tomas Mraz <tmraz at redhat.com> - 4.3p2-3 Tomas Mraz <tmraz at redhat.com> - 4.3p2-2 Tomas Mraz <tmraz at redhat.com> - 4.3p2-1 Jesse Keating <jkeating at redhat.com> - 4.3p1-2.1 Tomas Mraz <tmraz at redhat.com> - 4.3p1-2 Tomas Mraz <tmraz at redhat.com> - 4.3p1-1 Tomas Mraz <tmraz at redhat.com> - 4.2p1-10 Jesse Keating <jkeating at redhat.com> Tomas Mraz <tmraz at redhat.com> - 4.2p1-9 Nalin Dahyabhai <nalin at redhat.com> - 4.2p1-8 Warren Togami <wtogami at redhat.com> - 4.2p1-7 Jeremy Katz <katzj at redhat.com> - 4.2p1-6 Tomas Mraz <tmraz at redhat.com> 4.2p1-5 Dan Walsh <dwalsh at redhat.com> 4.2p1-4 Tomas Mraz <tmraz at redhat.com> 4.2p1-3 Tomas Mraz <tmraz at redhat.com> 4.2p1-2 Tomas Mraz <tmraz at redhat.com> 4.2p1-1 Tomas Mraz <tmraz at redhat.com> 4.1p1-5 Tomas Mraz <tmraz at redhat.com> 4.1p1-4 Tomas Mraz <tmraz at redhat.com> 4.1p1-3 Tomas Mraz <tmraz at redhat.com> 4.1p1-2 Tom
as Mraz <tmraz at redhat.com> 4.1p1-1 Tomas Mraz <tmraz at redhat.com> 4.0p1-3 Tomas Mraz <tmraz at redhat.com> 4.0p1-2 Tomas Mraz <tmraz at redhat.com> 4.0p1-1 Elliot Lee <sopwith at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.9p1-12 Tomas Mraz <tmraz at redhat.com> 3.9p1-11 Tomas Mraz <tmraz at redhat.com> Tomas Mraz <tmraz at redhat.com> 3.9p1-10 Tomas Mraz <tmraz at redhat.com> Bill Nottingham <notting at redhat.com> 3.9p1-9 Thomas Woerner <twoerner at redhat.com> 3.9p1-8.1 Nalin Dahyabhai <nalin at redhat.com> 3.9p1-8 Bill Nottingham <notting at redhat.com> 3.9p1-7 Nalin Dahyabhai <nalin at redhat.com> 3.9p1-6 Nalin Dahyabhai <nalin at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.9p1-5 Daniel Walsh <dwalsh at redhat.com> 3.9p1-4 Daniel Walsh <dwalsh at redhat.com> 3.9p1-3 Daniel Walsh <dwalsh at redhat.com> 3.9p1-2 Daniel Walsh <dwalsh at redhat.com> 3.9p1-1 Alan Cox <alan at redhat.com> 3.8.1p1-5 Daniel Walsh <dwalsh at redhat.com> 3.8.1p1-4 Elliot Lee <sopwith at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.8.1p1-2 Nalin Da
hyabhai <nalin at redhat.com> 3.8.1p1-1 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-36 Nalin Dahyabhai <nalin at redhat.com> 3.8.1p1-0 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-35 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-34 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-33 Thomas Woerner <twoerner at redhat.com> 3.6.1p2-32 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-31 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-30 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-29 Elliot Lee <sopwith at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-27 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-26 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-25 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-24 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> David Woodhouse <dwmw2 at redhat.com> 3.6.1p2-23 Nalin Dahyabhai <nalin at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-22 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-21.sel Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-21 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-20.sel Nalin Da
hyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-19 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-18 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-17 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-16.sel Bill Nottingham <notting at redhat.com> 3.6.1p2-15 Bill Nottingham <notting at redhat.com> 3.6.1p2-14 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-13.sel Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-12 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-11 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-10 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-9.sel Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-8 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-7 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-6 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-5 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-4 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-3 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-2 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-1 Elliot Lee <sopwith at redhat.com> Florian La Roche <Florian.LaRoche at redhat.de> Nalin Dahyabhai <n
alin at redhat.com> 3.5p1-6 Nalin Dahyabhai <nalin at redhat.com> 3.5p1-5 Tim Powers <timp at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.5p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.5p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.5p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.4p1-3 Than Ngo <than at redhat.com> 3.4p1-2.1 Curtis Zinzilieta <curtisz at redhat.com> 3.4p1-2gss Nalin Dahyabhai <nalin at redhat.com> 3.4p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.4p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.3p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.3p1-1 Tim Powers <timp at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.2.3p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.2.3p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.2.3p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.2.2p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-4 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-2gss Nalin Dahyabhai <nalin at redhat.com> 3.1p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-1 Nalin Dahyabhai <nalin at redhat.com>
3.1p1-0 Nalin Dahyabhai <nalin at redhat.com> SNAP-20020305 Nalin Dahyabhai <nalin at redhat.com> SNAP-20020220 Nalin Dahyabhai <nalin at redhat.com> 3.0.2p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.0.2p1-2 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.0.2p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.0.1p1-1 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.0p1-1 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 2.9p2-9 Bernhard Rosenkraenzer <bero at redhat.com> 2.9p2-8 Nalin Dahyabhai <nalin at redhat.com> 2.9p2-7 Nalin Dahyabhai <nalin at redhat.com> 2.9p2-6 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at red
hat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Preston Brown <pbrown at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Trond Eivind Glomsrxd <teg at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.co
m> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Damien Miller <djm at ibs.com.au> Damien Miller <djm at mindrot.org> Damien Miller <djm at mindrot.org> Damien Miller <djm at mindrot.org> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> - ImplicitDSOLinking (#564824) - Allow to u
se hardware crypto if awailable (#559555) - optimized FD_CLOEXEC on accept socket (#541809) - updated pam_ssh_agent_auth to new version from upstream (just
a licence change) - optimized RAND_cleanup patch (#557166) - add RAND_cleanup at the exit of each program using RAND (#557166) - set FD_CLOEXEC on accepted socket (#541809) - replaced define by global in macros - Update the pka patch - Update the audit patch - Add possibility to autocreate only RSA key into initscript (#533339) - Prepare NSS key patch for future SEC_ERROR_LOCKED_PASSWORD (#537411) - Update NSS key patch (#537411, #356451) - Add gssapi key exchange patch (#455351) - Add public key agent patch (#455350) - Repair canohost patch to allow gssapi to work when host is acessed via pipe proxy (#531849) - Modify the init script to prevent it to hang during generating the keys (#515145) - Add README.nss - Add pam_ssh_agent_auth module to a subpackage. - Reenable audit. - Upgrade to new wersion 5.3p1 - Resolve locking in ssh-add (#491312) - Repair initscript to be acord to guidelines (#521860)
- Add bugzilla# to application of edns and xmodifiers patch - Changed pam stack to password-auth - Dropped homechroot patch - Add check for nosuid, nodev in homechroot - add correct patch for ip-opts - replace ip-opts patch by an upstream candidate version - rearange selinux patch to be acceptable for upstream
- replace seftp patch by an upstream version - merged xmodifiers to redhat patch
- merged gssapi-role to selinux patch
- merged cve-2007_3102 to audit patch
- sesftp patch only with WITH_SELINUX flag
- rearange sesftp patch according to upstream request - minor change in sesftp patch - rebuilt with new openssl - Added dnssec support. (#205842) - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - only INTERNAL_SFTP can be home-chrooted
- save _u and _r parts of context changing to sftpd_t - changed internal-sftp context to sftpd_t - changed home length path patch to upstream version - create '~/.ssh/known_hosts' within proper context - length of home path in ssh now limited by PATH_MAX
- correct timezone with daylight processing - final version chroot %h (sftp only) - repair broken ls in chroot %h - add XMODIFIERS to exported environment (#495690) - allow only protocol 2 in the FIPS mode - do integrity verification only on binaries which are part
of the OpenSSH FIPS modules - log if FIPS mode is initialized
- make aes-ctr cipher modes work in the FIPS mode - fix logging after chroot
- enable non root users to use chroot %h in internal-sftp - add AES-CTR ciphers to the FIPS mode proposal - upgrade to new upstream release - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - drop obsolete triggers
- add testing FIPS mode support
- LSBize the initscript (#247014) - enable use of ssl engines (#481100) - remove obsolete --with-rsh (#478298)
- add pam_sepermit to allow blocking confined users in permissive mode
(#471746)
- move system-auth after pam_selinux in the session stack - set FD_CLOEXEC on channel sockets (#475866)
- adjust summary
- adjust nss-keys patch so it is applicable without selinux patches (#470859) - fix compatibility with some servers (#466818) - fixed zero length banner problem (#457326) - upgrade to new upstream release
- fixed a problem with public key authentication and explicitely
specified SELinux role - pass the connection socket to ssh-keysign (#447680) - add LANGUAGE to accepted/sent environment variables (#443231)
- use pam_selinux to obtain the user context instead of doing it itself
- unbreak server keep alive settings (patch from upstream)
- small addition to scp manpage - upgrade to new upstream (#441066)
- prevent initscript from killing itself on halt with upstart (#438449)
- initscript status should show that the daemon is running
only when the main daemon is still alive (#430882) - fix race on control master and cleanup stale control socket (#436311)
patches by David Woodhouse - set FD_CLOEXEC on client socket
- apply real fix for window size problem (#286181) from upstream
- apply fix for the spurious failed bind from upstream
- apply open handle leak in sftp fix from upstream - we build for sparcv9 now and it needs -fPIE - fix gssapi auth with explicit selinux role requested (#427303) - patch
by Nalin Dahyabhai - explicitly source krb5-devel profile script - Rebuild for openssl bump - do not copy /etc/localtime into the chroot as it is not
necessary anymore (#193184)
- call setkeycreatecon when selinux context is established
- test for NULL privk when freeing key (#391871) - patch by
Pierre Ossman - revert default window size adjustments (#286181) - upgrade to latest upstream
- use libedit in sftp (#203009)
- fixed audit log injection problem (CVE-2007-3102) - fix sftp client problems on write error (#247802)
- allow disabling autocreation of server keys (#235466) - experimental NSS keys support
- correctly setup context when empty level requested (#234951) - mls level check must be done with default role same as requested - make profile.d/gnome-ssh-askpass.* regular files (#226218) - reject connection if requested mls range is not obtained (#229278) - improve Buildroot
- remove duplicate /etc/ssh from files - support mls on labeled networks (#220487)
- support mls level selection on unlabeled networks
- allow / in usernames in scp (only beginning /, ./, and ../ is special) - update to 4.5p1 (#212606) - fix gssapi with DNS loadbalanced clusters (#216857) - improved pam_session patch so it doesn't regress, the patch is necessary
for the pam_session_close to be called correctly as uid 0 - CVE-2006-5794 - properly detect failed key verify in monitor (#214641) - merge sshd initscript patches
- kill all ssh sessions when stop is called in halt or reboot runlevel
- remove -TERM option from killproc so we don't race on sshd restart - improve gssapi-no-spnego patch (#208102)
- CVE-2006-4924 - prevent DoS on deattack detector (#207957)
- CVE-2006-5051 - don't call cleanups from signal handler (#208459) - don't report duplicate syslog messages, use correct local time (#189158)
- don't allow spnego as gssapi mechanism (from upstream)
- fixed memleaks found by Coverity (from upstream)
- allow ip options except source routing (#202856) (patch by HP) - drop the pam-session patch from the previous build (#201341)
- don't set IPV6_V6ONLY sock opt when listening on wildcard addr (#201594) - dropped old ssh obsoletes
- call the pam_session_open/close from the monitor when privsep is
enabled so it is always called as root (patch by Darren Tucker) - improve selinux patch (by Jan Kiszka)
- upstream patch for buffer append space error (#191940)
- fixed typo in configure.ac (#198986)
- added pam_keyinit to pam configuration (#198628)
- improved error message when askpass dialog cannot grab
keyboard input (#198332)
- buildrequires xauth instead of xorg-x11-xauth
- fixed a few rpmlint warnings - rebuild - don't request pseudoterminal allocation if stdin is not tty (#188983) - allow access if audit is not compiled in kernel (#183243) - enable the subprocess in chroot to send messages to system log
- sshd should prevent login if audit call fails - print error from scp if not remote (patch by Bjorn Augustsson #178923) - new version - bump again for double-long bug on ppc(64) - fixed another place where syslog was called in signal handler
- pass locale environment variables to server, accept them there (#179851) - new version, dropped obsolete patches - hopefully make the askpass dialog less confusing (#174765) - rebuilt - drop x11-ssh-askpass from the package
- drop old build_6x ifs from spec file
- improve gnome-ssh-askpass so it doesn't reveal number of passphrase
characters to person looking at the display
- less hackish fix for the __USE_GNU problem - work around missing gccmakedep by wrapping makedepend in a local script
- remove now-obsolete build dependency on "xauth" - xorg-x11-devel -> libXt-devel
- rebuild for new xauth location so X forwarding works
- buildreq audit-libs-devel
- buildreq automake for aclocal
- buildreq imake for xmkmf
- -D_GNU_SOURCE in flags in order to get it to build
Ugly hack to workaround openssh defining __USE_GNU which is
not allowed and causes problems according to Ulrich Drepper
fix this the correct way after FC5test1 - rebuild against new openssl - put back the possibility to skip SELinux patch
- add patch for user login auditing by Steve Grubb - Change selinux patch to use get_default_context_with_rolelevel in libselinux. - Update selinux patch to use getseuserbyname - use include instead of pam_stack in pam config
- use fork+exec instead of system in scp - CVE-2006-0225 (#168167)
- upstream patch for displaying authentication errors - upgrade to a new upstream version - use x11-ssh-askpass if openssh-askpass-gnome is not installed (#165207)
- install ssh-copy-id from contrib (#88707) - don't deadlock on exit with multiple X forwarded channels (#152432)
- don't use X11 port which can't be bound on all IP families (#163732) - fix small regression caused by the nologin patch (#161956)
- fix race in getpeername error checking (mindrot #1054) - use only pam_nologin for nologin testing - upgrade to a new upstream version
- call pam_loginuid as a pam session module - link libselinux only to sshd (#157678) - fixed Local/RemoteForward in ssh_config.5 manpage
- fix fatal when Local/RemoteForward is used and scp run (#153258)
- don't leak user validity when using krb5 authentication - upgrade to 4.0p1
- remove obsolete groups patch - rebuilt - rebuild so that configure can detect that krb5_init_ets is gone now - don't call syslog in signal handler
- allow password authentication when copying from remote
to remote machine (#103364) - add spaces to messages in initscript (#138508) - enable trusted forwarding by default if X11 forwarding is
required by user (#137685 and duplicates)
- disable protocol 1 support by default in sshd server config (#88329)
- keep the gnome-askpass dialog above others (#69131) - change permissions on pam.d/sshd to 0644 (#64697)
- patch initscript so it doesn't kill opened sessions if
the sshd daemon isn't running anymore (#67624) - don't use initlog - fixed PIE build for all architectures - add a --enable-vendor-patchlevel option which allows a ShowPatchLevel option
to enable display of a vendor patch level during version exchange (#120285)
- configure with --disable-strip to build useful debuginfo subpackages - when using gtk2 for askpass, don't buildprereq gnome-libs-devel - build - disable ACSS support - Change selinux patch to use get_default_context_with_role in libselinux. - Fix patch
* Bad debug statement.
* Handle root/sysadm_r:kerberos - Modify Colin Walter's patch to allow specifying rule during connection - Fix TTY handling for SELinux - Update to upstream - Apply buildreq fixup patch (#125296) - Clean up patch for upstream submission. - rebuilt - Remove use of pam_selinux and patch selinux in directly. - request gssapi-with-mic by default but not delegation (flag day for anyone
who used previous gssapi patches)
- no longer request x11 forwarding by default - Change pam file to use open and close with pam_selinux - update to 3.8.1p1
- add workaround from CVS to reintroduce passwordauth using pam - Remove CLOSEXEC on STDERR * Wed Mar 03 2004 Phil Knirsch <pknirsch at redhat.com> 3.6.1p2-33.30.1
- Built RHLE3 U2 update package. - Close file descriptors on exec - fixed pie build - Add restorecon to startup scripts - Add multiple qualified to openssh - Eliminate selinux code and use pam_selinux - rebuilt - turn off pie on ppc - fix is_selinux_enabled - Rebuild to grab shared libselinux - turn on selinux - un#ifdef out code for reporting password expiration in non-privsep
mode (#83585) - add machinery to build with/without -fpie/-pie, default to doing so - Don't whinge about getsockopt failing (#109161) - add missing buildprereq on zlib-devel (#104558) - turn selinux off - turn selinux on - turn selinux off - turn selinux on - additional fix for apparently-never-happens double-free in buffer_free()
- extend fix for #103998 to cover SSH1 - rebuild - additional buffer manipulation cleanups from Solar Designer - turn selinux off - turn selinux on - rebuild - additional buffer manipulation fixes (CAN-2003-0695) - turn selinux on - rebuild - apply patch to store the correct buffer size in allocated buffers
(CAN-2003-0693)
- skip the initial PAM authentication attempt with an empty password if
empty passwords are not permitted in our configuration (#103998) - turn selinux off - turn selinux on - Add BuildPreReq gtk2-devel if gtk2 - rebuild - modify patch which clears the supplemental group list at startup to only
complain if setgroups() fails if sshd has euid == 0
- handle krb5 installed in %{_prefix} or elsewhere by using krb5-config - Add SELinux patch - rebuild - rebuild - rebuild - update to 3.6.1p2 6 rebuilt - add patch for getsockopt() call to work on bigendian 64bit archs - move scp to the -clients subpackage, because it directly depends on ssh
which is also in -clients (#84329) - rebuild - rebuilt - rebuild - patch PAM configuration to use relative path names for the modules, allowing
us to not worry about which arch the modules are built for on multilib systems - update to 3.5p1, merging in filelist/perm changes from the upstream spec - merge - fix to build on multilib systems - added gssapi patches and uncommented patch here - pull patch from CVS to fix too-early free in ssh-keysign (#70009) - 3.4p1
- drop anon mmap patch - rework the close-on-exit docs
- include configuration file man pages
- make use of nologin as the privsep shell optional - update to 3.3p1
- merge in spec file changes from upstream (remove setuid from ssh, ssh-keysign)
- disable gtk2 askpass
- require pam-devel by filename rather than by package for erratum
- include patch from Solar Designer to work around anonymous mmap failures - automated rebuild - don't require autoconf any more - build gnome-ssh-askpass with gtk2 - update to 3.2.3p1
- merge in spec file changes from upstream - update to 3.2.2p1 - drop buildreq on db1-devel
- require pam-devel by package name
- require autoconf instead of autoconf253 again - pull patch from CVS to avoid printing error messages when some of the
default keys aren't available when running ssh-add
- refresh to current revisions of Simon's patches - reintroduce Simon's gssapi patches
- add buildprereq for autoconf253, which is needed to regenerate configure
after applying the gssapi patches
- refresh to the latest version of Markus's patch to build properly with
older versions of OpenSSL - bump and grind (through the build system) - require sharutils for building (mindrot #137)
- require db1-devel only when building for 6.x (#55105), which probably won't
work anyway (3.1 requires OpenSSL 0.9.6 to build), but what the heck
- require pam-devel by file (not by package name) again
- add Markus's patch to compile with OpenSSL 0.9.5a (from
http://bugzilla.mindrot.org/show_bug.cgi?id=141) and apply it if we're
building for 6.x - update to 3.1p1 - update to SNAP-20020305
- drop debug patch, fixed upstream - update to SNAP-20020220 for testing purposes (you've been warned, if there's
anything to be warned about, gss patches won't apply, I don't mind) - add patches from Simon Wilkinson and Nicolas Williams for GSSAPI key
exchange, authentication, and named key support - remove dependency on db1-devel, which has just been swallowed up whole
by gnome-libs-devel - adjust build dependencies so that build6x actually works right (fix
from Hugo van der Kooij) - update to 3.0.2p1 - update to 3.0.1p1 - update to current CVS (not for use in distribution) - merge some of Damien Miller <djm at mindrot.org> changes from the upstream
3.0p1 spec file and init script - update to 3.0p1
- update to x11-ssh-askpass 1.2.4.1
- change build dependency on a file from pam-devel to the pam-devel package
- replace primes with moduli - incorporate fix from Markus Friedl's advisory for IP-based authorization bugs - Merge changes to rescue build from current sysadmin survival cd - fix scp's server's reporting of file sizes, and build with the proper
preprocessor define to get large-file capable open(), stat(), etc.
(sftp has been doing this correctly all along) (#51827)
- configure without --with-ipv4-default on RHL 7.x and newer (#45987,#52247)
- pull cvs patch to fix support for /etc/nologin for non-PAM logins (#47298)
- mark profile.d scriptlets as config files (#42337)
- refer to Jason Stone's mail for zsh workaround for exit-hanging quasi-bug
- change a couple of log() statements to debug() statements (#50751)
- pull cvs patch to add -t flag to sshd (#28611)
- clear fd_sets correctly (one bit per FD, not one byte per FD) (#43221) - add db1-devel as a BuildPrerequisite (noted by Hans Ecke) - pull cvs patch to fix remote port forwarding with protocol 2 - pull cvs patch to add session initialization to no-pty sessions
- pull cvs patch to not cut off challengeresponse auth needlessly
- refuse to do X11 forwarding if xauth isn't there, handy if you enable
it by default on a system that doesn't have X installed (#49263) - don't apply patches to code we don't intend to build (spotted by Matt Galgoci) - pass OPTIONS correctly to initlog (#50151) - switch to x11-ssh-askpass 1.2.2 - rebuild in new environment - disable the gssapi patch - update to 2.9p2
- refresh to a new version of the gssapi patch - change Copyright: BSD to License: BSD
- add Markus Friedl's unverified patch for the cookie file deletion problem
so that we can verify it
- drop patch to check if xauth is present (was folded into cookie patch)
- don't apply gssapi patches for the errata candidate
- clear supplemental groups list at startup - fix an error parsing the new default sshd_config
- add a fix from Markus Friedl (via openssh-unix-dev) for ssh-keygen not
dealing with comments right - add in Simon Wilkinson's GSSAPI patch to give it some testing in-house,
to be removed before the next beta cycle because it's a big departure
from the upstream version - finish marking strings in the init script for translation
- modify init script to source /etc/sysconfig/sshd and pass $OPTIONS to sshd
at startup (change merged from openssh.com init script, originally by
Pekka Savola)
- refuse to do X11 forwarding if xauth isn't there, handy if you enable
it by default on a system that doesn't have X installed - update to 2.9
- drop various patches that came from or went upstream or to or from CVS - only require initscripts 5.00 on 6.2 (reported by Peter Bieringer) - remove explicit openssl requirement, fixes builddistro issue
- make initscript stop() function wait until sshd really dead to avoid
races in condrestart - mention that challengereponse supports PAM, so disabling password doesn't
limit users to pubkey and rsa auth (#34378)
- bypass the daemon() function in the init script and call initlog directly,
because daemon() won't start a daemon it detects is already running (like
open connections)
- require the version of openssl we had when we were built - make do_pam_setcred() smart enough to know when to establish creds and
when to reinitialize them
- add in a couple of other fixes from Damien for inclusion in the errata - update to 2.5.2p2
- call setcred() again after initgroups, because the "creds" could actually
[...4574 lines suppressed...]
øð-â¾#ÇTVµF¼**Ø[ð^za@¾ÛôÙ:x§JL $2Ô_×ÉÝ7cë¿ÉOG' £¸dmí ¶
4ç@¢;ì«Dú@Èññ>¼q3qyûL´¯¨tx2ÃÀ3H@Eh÷vüü±§L^ÞÍ¡Aømdww
ßô§Â9fØ<¶ÿªd£|,
´Â!ÏÜÐ<Û¨)TÎ@ÞÔfu @â Éû$T¥±=mm4 EÕÏÁ¾kóïÙÝQ»Ã°ò?«Óçú5Ìb5!`f.üOÄÓ_ÙõLRLü6O©ÐÍIüWi¡:HY×t$AôÖ£ãCk÷^kW¸ÉRCK÷wYJ6ÒÍYµcj
¶[úÌÌ$QE«ÚöqÒÇÕðñhÈS>KH¯=RJ³¯ÃÆ:«×o¿ª/ÙÕåæã# "ȶºÈÖÞWH»],EHBHºBJ9ï0bàa[«{³¡;ºR/ŪF|êµ,X~ÑcéòÊèýÌ|ox!< -uÕN8ÁÆõ¸àgɦʤ È\5K¶näpKDÜ õ x¿ÿe²
kdy'¶6V3¾'7iÐR2SÍõÁh.bf`fC2$A$$ØFÔÓüÚ¬¶Í{|ó±,Ê3BlÕÔÊE1-¦ÞxdȲ1ÅÃv½MB;Nü½æÁvê@5.O«òÖé#r«=K7Wzw{º·j&Ñù.,Ú 9îð±\mÌÉ\eUñ·²ç((/rL¡;¼zÖÛÐ@ê8úÃßWÅ<5öÓǼ\ù¶êßF¬·ñD
3óÇ7ÑêÝÃ\<tóU88ßËyêI$Ú~bE~Múpëï9vhãÙ@ôï¨WUA#²¢Î«hJ%
,UPògÇt£àºöiñ£¦º eàFÇnmp¯[£`õí¼µhiq»Ù¤k8pr¥òé_ýsðìÌÚý$ «§Í¢Ý½XÍö{ñÜT2äªù óúXÙýÊkëiþ¨Ý[¹®ú¾Wßzv?¾`?
¤Á{
Bè`{îYæä<ÿ=ÛO[nnnw¤ß
¶G§ÒÄÏÅ;Rí" ¿ Hdç½wó¹õ®bkþH2f`ùl¬ß=1bl{}1çÛá9~êIR´I~3ý ö*¿TB$qm+!pè ÐNڬ¤ïÒÍ}¦ê=ð/ZN)+%4`@{í|ÜC.þ8úKÓ7Oc;®J"xèN¬ÝT¦ªv&ÁÍÖüiÊS`yKÑaîc+ή§)m[ÝbÁYIH¥È3øNùd`Â&$Ml» $:¯eÓïPæ )1(2@$0>s÷ûxõeÔëG-Y F¢f ô°KÉ<ÞºsÿlYrkÓØWlði ´Ã06iö'dí3¥S^¬q`¿eÚËácg2ñÍæ`(7x1)C\G.k}#Ôªoü:C~»ß9ô¬ Å~lï-<ãÕGǬ¾ÃÐ6ou}_Ä4MY¤Ðs«ßâSÂùéÕ*!×Ú"H¨! ýÐ (ÈY[·Ûýâ ó¬¥ÂuÀÛÚ$F$LõBÄ_Óðèøò¹ißv| þ¬ê@,xÒ&=tëú<i7
t>¾Ü.«ñp?®(GpoI:¡bØÛWm©¢pd2 ~ÐD5xLú92Zöòõ%¹§Gõ¶,¾óæyù7Dm
On1¨ý±Ø·Ë¯~Ém QÝ+BJ?Ó®'§]~½.£¿êå »/]¼>ÓS³c$`Äñ>®Ý§Kéð8B¢³K¤~*ñKó0W¥ïêù9ìÏ®»£$*:-PU) @IÛ¨t È{ w=Q餰± úþ®Ó[ð@ÎÞìx[v@+%çª:¼| È®gËàòÕËZÇHì(ªþ²mÕKj ÒÅä¨úá¦nìUù??Å¡6/ßvÑ{ÿ»åç¯[Ï1$¼A+®¾®z¦&¦¥!Rªk¨ÂMJ÷z.y¿A îI$ÍÍYº¶«CãY¡÷AFi^)Å"v%rgI
gÆ4vþóó¼` ri\¡n¶Î¤d þ)Ïrí
Ôò}åòÂÐ2ëü«r¿w=ñK¥¡BÆDë'ôÜãFµE°£¹,¨/NPQ7CyÂ*iÁ¤¼:sCࣴ S+óöVÓB{ÿ&3 9ß~ÖÀîáÃ+ZZJdoó(O}*µÄD£Éd(
=ìÓ+£!Ø_0ßÏλJÃ
Ýân²¬
º,~.«ÌÕÓ=¹«Ã·åë%ié¬k2k
²àîW08ÄuZ±<D²C ]oÔv¡K²Æ4¬Wd0EÙg-Ô¬ Ýp;ºï FDI;
f>
D~º©l¨¢qXé4ýéö|'cÀÇk3< !@Ç(ZLÞ×TáE{é³Í¿-ÜRøt D!"§·R8ç«]y'bdgôéïaëäbP"Éi]߯÷ÿ*IøåÒ¥ ãï7nKgW6li_0k8s$Dy×M±FéÇMÇãG34÷ósR+tCÂ+y$Xï Ûºx[*}S×jÖ"dH¯*£±gw¯ÍÛØìCÏ/»êQï;¨Ý¬qÿ¯³ï³ÎÊl¤´ª;¬¾ì×ÿ¿8ÊÒ!Ú~ O¥}×cç²bÊ
éXµÏO<ë²FKºµyA
æ¬æWgìðMAinB;òÎG²aÄ%Sß㪴ätX¢nÇgm}X»äR¥,YpV®/ÊX>²ÀKA!h.^æô´ÆÁÛy·V¬$ïYÕ³/Ö$>wÔf@wxé·1n®:xkp@©C¤$|3é[amÕÙ\ÑQzûqrl`r®°²PM«5bèe
OYd¢ `Hp¦¥ý\Rè&1©¨%ON,Â,`iøÃP{HÆC$¯½{^Ñ!{©ÖMü²( hW·:Y Ý¥wz#QÛ=ßÆÐsÝVTã§YýÁäßDHG8 ¨ ']ü"¼ F¿4IBì¨,2(â'HAaC )H[ Oâ±!l&¡ÐôåiB Dad?_ó¡H¢â, P¥}JÕ$ã´Û_l
ÌWîØHNå¥Ð¨f+"ùá@È*U%ÐõÙ÷Å.$moþE^/\Õ\ÛnÊÆÐ( ÎëH8!îÓõâO¯ªÐ-Ø¡"
,!ï=Xöa¦öËðÏGç-õØP {«º$åÆzh; O¢®À{¡P='}DÁÁ*Nì` È!±AZdÆHUä%¢WßLzå)})x¿åÀÞ¼Jùb(Îú)f&Âí1* ÉW»ÊFDÄP53¢ ¤ H\&µì"Ðw°jycaD%£Ï"h£÷-kÝoaµ
¢°3q þÄr6p¡E¬ª«b·ZUU¾¼2·ùªÚçªÌj]kWdåªåjBZ
BØÀü×:
$¥¤# VFÉ-&°ÑFêФ!
±ªPD¡%JMI Ý{Sù\KÕ
kiõØl Զ£Zµ(W*o¦Í¶Ýj5fm°ñ×ÍãmbÉ!5JPJ
´Iöëm«òy Ígb¡ùDæñµp x¹ãé]2$ý5éJ#²ï´ßÿ7.¿¬ïAjäH³º°( ¦zÌ%?O«¿+Ü¡kÁbÈ'FtM5
Ïð¶ók]Düÿøoñwß;ÚÒÖ*ªªªªªªªªªªª©m«3ýp° Þ*
ð¡S6i¡#¹$!Rk#Lmpåw;r&vl&ÛD êãCÄï-`Í4dVëÕǼºo\n9]9 ²% ¦M¶áGnÑåçdu ( lÅlK~3g,cZ"FêKpÈèÂìhðd«k£ô^Ëú¯þGM[¨èÀ¤±p )h7G#ª'£ÌVLåõ]Ý¿áÈTP ® îT7)ÞïÛ_6µZ-ÓîÝ@½; -MP·§{O{x{1[É_/mß.I&<»ÐU2°h*»å¾RðsËLd¦¾r !_¥¡Ø)ù@AõÀxá(d¦IDP ¤
BÔúäýÐ ÎZ
v E ¢2/»¥§ÔEÿoúÏÒ7ëWý1þ¹ÿ®õqì²×öòÛä
d#F/Î7YØ>|°4j5 "¿äíãsòä¡Wí#?ÎÜb9Kl/ÅmÐ~3öêW¿ópôá
O»=ËØ©'"TÑ~P/¢îgó(úd×z¦6ïÓÃ{'¬kw ýª"E:]ó>Ï¡Ög£çø±«c6wÈd«ÁÆ©¨ß/{nîtÛ@¶SÏ:¯·ùwxB¯ç¨ëõð»ª_ÏB{z5~®¦¡a'¦xÙÙ±Í Hf É JÃ@R
:*©
vçev%Ó9¯ªÌ%Óþé%Ó¸K$v_KvIÉç¯ü½A|Îࢷצê&ÐN`%
e©»qÌÛF$2)
C A-o,1^d~}OüQ
)YïUÐvP
ã°ØmãFÎ?©ÜÀAxf2ð GaÎ>Y:¿4<:GAÁ ê[%Ï
æÞeÄhLõ+öÂ^IV·´{¥I§éuUCû¸[¦s¨Fp.o¯g')^«FÈñ±/!Ñ(Uõ¿íÌíaD$ÒÞ~ø¡"È·~Ø-G
Ø öÎlÕlvýtç}:cÿ¦Uå±ÓÑçŹÐ~Ó`¾
f©qs$cÕÎñiн?NîrRn8ó¾Mæ|x9Æw½HÊÀ¼I-¦9Ò"¡LÁ¹òì#øF¼£6#]<º\>ÃçèðHV²¹ XÀ*ÜZÃD î@¯n|¸óP¹·¨Óg¼w0®.bö~¿¹Èá}çÆÒÞx:;ÐÛáØð3ÖñC%Hüõ¼Ï2Ã#o×ÆÝäÓD©#ݼ7.÷«y7¿© C¡Ûgë%[µÎ¢wK,â±|p"Û<g=G>Õõ,!}¯úUä´ìÿIk
¢«ì^Ui@Úö¶@ô
ö D¤²:Au#ÃôAìtÜU©
@SzpL`NùÝ`Íõè:þ';=Ca§Tó_m¯*鮲"ÀC )"7ð=ÚóY¼û+-ÔI$eÌ!HÑ<¾Þ/gí.=7긧OϦxÿ£·åú¿Ç¡LÔúa¢
¥wÏæû|Ûµ2úNc,&[õ¯Q4¿Q¡åIÕF
ïà|ã;B!@¿í ÉIÄ7ɸh$5á2ËõÀ¯§ï²uE$S¿¦5ÙWóËÊ÷Aô@6Â
xÀá
r}¤¼ú!b;PÓDE¡¿"#Ë¿½õ¢¤È¡QüXÍý°º.ûDy>&D²Z|d6DZ|+:,+ï%)x%8ª>ÊÕéXd$j«&ºãùèþCðbíHãçâÂ*Ç1#¹S>Y}é½zöëÉ "KàïRðaÙyãÍS`»ÑE.oã2Ãí;sïÑõ"·9qW¯Y¦üSù ¥eò´Ôs&¦¸º[ØÁ¤ç¥¿vþÆë@ü îÜY T %}ܹ.ÞŶØ'l¦ÚúKn Ã0Wöù¯(O¡,l! MÝ®!zÈo;
(:·{<´!¿AÑ1n-¦eÃvÉÈ%ZÞS¼u,¿å\U(Þ5)u ®FÉ"Û7Ýòy;g.óA
õòü/>övSUõTÛV0L
5@§?1k£yóõ#æù8ª$´ò£Ú
ì;éaaøX{0Ϥ8KÅÕk~þ~ð®^üw«³NØcõ}ÐFrWõSØBûN9üÓGùÿ\~oUÿáêúr/ñ8tOÖò ì L'ÂÍz¯Q%û*ÒÒÚx4Å+$ m(ìáöÄ
²õeÓúwÕ«N³î6
ëOÙ0;32fa¿¬ÙÎþLk[bùïh_Ýò¾\Yί¶;}~7oýðͧ#Ãå¿ÙÏ-ñÔþX-ê*ccK`knf¯Ý½#ínxí´tçs§gÖ½_=yoÚíÎýÜ|·^:¶ àmãÛ^£¹âÎÞ_ݶ9Æ{énË\ÿI5ðßNõOØó¼ðìENä3ýúí2ÑÇ¡ÑøI:kÒyÈìvý(ÛÇÖÝiGöög!Ç xûz b$i}>ÿ·pz OvÎ~óð¾8PåÈuZB¸Äü§Åó~ÿ¨LRXÛÏbOçÖäíÑyÎÑ?F]Sï\Ïî
håGyCúñh9-3 ©ß·¾|2è{¿îï4ÛK¾kzC|£1÷Í[¾¤qic¢ÄGïd]#Èí_z©ÔCVËýíþÎF» 6«*Ô&ÔCEvMÓ÷|9þü½þÉÝ4»®[¨¾£JR-lHÐH°wlIDGÓ«ÀÇÂOÇÚ\ZXPAëb¥æ¼ÄÜRJªÆ(.ídnh1 É öýÚ'è»Ü §aíP¯PBÿÝIqU '`N;¸Z
Õ RK)_i S $~¼<à¥(`H´-2K (lÕê 4hã:}Yî@·tî¿KVÈÏX¥VÒdÔ¹ÚÙÆ+.µ_mI¿_&êýUöüÀÓª¬×cEB¡H+.E5lÆí¿7ÍømɵͫlÛÁ¤zqáÎXrP×®ÿº£Ùl©ÐßI|»<Çø0Dĸ/Fþ¾®~νØÔÃûÓ·Ùåá±cÝcª{Í}û¸+SÕ(c"sA æ )@ )?Ïá%{VëD@ÉShh{¼ ñzF
/8
´n£ô@@N¶(ºÄ%>õB¯Òoñ
tóLðÌÃAÈÅìrÝ÷ÆMõ÷·ü=r>ÈhF5þXäòÖí30¼æT¡ª§´I`%±QÏ÷zÑai ¨ëÍLÞ4ø8EYi®ü7þøÊñà<§6çM,³©oå)J6írfÍ¥¯fóA^ݱþ H£éþ´§f.z´R
ÄY|XÂM?$í¸2L õ_$iæ"ͯä,3 dÞÛrÇu7ÛÈSzB;Ðz·ÇÊ.Å6IÆ5ÕZBs"ÿÈùj÷|È_J¾GÎYXH:fn:É¿ Ð'J at jèÓP YTIÀÔådñMÖ: NtÞ{~áÕG®ÑßÜdªf Æqö;}=ñ¹à[BB7H¶%@5¡mV¢ÁE'52ÚeÑÓ2ðxÝÃåÁ%ºòÿc®à³ºLoF~|¸Þd¨¬!æ¢CóñK²ÓmÒܹOÙPq³Ñ l6¹0unåtPWa«CNÍÏyé$FBª(,¸rãs®ïì`»
ÜIP¯cÔþ.ú; @Û¾g\}i@ÌÕrZMº' Î`±ÓnzðD2VC(Ë!¶5~l5%4âoÏb9ô¬
F2À,_ë$4/IU¹«Ü¤¿åC4þñ¯Ë0MÔù/ß4X`f 2±
òÐê*[J)À ;pjW54Q&$!$CݵKCWHN¢5;\¦ÌMè!$9TÒöߢ7ÁáhjI"²I
ç~£®>Z¦ª©ÉÓáËM¡ÿ`áòe^S£
[6ÍHIãz at xªûrųòk]KzêHÄâð»·&ÈÃ[fìµPԥǩ£©äð©È/Ù#sÑ¢R
Ã3Ö5µ±÷7wÄݺ<±Éù<tqñÞ¬l¼¡ úkÒ@±8:;¦òÒ¬Là$2µômùÚúiÒpÔk"$ºÆ¾h;|Ò $LÙÏäîÜ=µ)" 0Á^ã#>6Á½?r׬§´Ô7t7sìÁdaÃbtt?8Èuâé
a :ÿg¾°ÔÐà#@sçÝ /ϺiqÁáããÛXi¾úhf¾V=³|Sn[¦¶8e A<´¬r-[Î笠:\ÖBɾ¶ÛY´líTïsõA¡ßC\ë'HüJçI_¾g,Õìu_eÞ²L-æJµÉùhuõ@ÞZÆIí3Ù~>þÖÚ÷ÿ[¸¯vÕÀ 5Pz_dÚ÷E¶6·
kêîú§Kåym¯oWEÈEò+©>´¤èð}ÇÕ?Á]úvË
> HxI+ór9h°"P ØaÐÅ)Jô¬HÜ#I|Æ8mÜN@G,bD}\¡:-8F©óѯ&@iåö[H¦>Z×{|®ºÑ
+íÃàóµè~@Dü)º^ºX±¨±ÁH3Ðå 9(ÂþRWóãç_
Õtfk^Wdô¿<ÆEb (ݾfÄ2ú(ôÑûëD}Ë¢ìÅ3Ú¼`!ó AȬȴjË©$!;ÑÂ5×e0 APÍKµq@÷í£í\ÆõéÜfG¯¶ Í
Èó±ÖG®ð-¯9/²è;à`\*iÓ
¼ï"%dì¬5¶[8e³á îy*j©ï¹°Ù ½½å¢È"$Kòlrå¼{&96À¢!D''«Ó~C¢¨laL«»«Ð ]+6Ó=Éd É]~óQ¦FýkM¦D»· ¤Íª|µ)VÁ$ ̱*«ø®êUK.Oñno!Û¦7_Ë4ÆØ¿ç(¹Ï(¿Rñù'V%C\W£7Ë?P¯°J z¾è
uQ#"ÓX44òj³PÍbZ¥EÔÑ=5çEðâö~QeíEF4N[¸ÜèBr¾ÑZc¢uG¡L·QÑ÷ßý÷vZÜqBåo?g©kyªÑ¡¬ h¼3ÕV:\oÆ0à"¾3Â}rEC1-ÒË).+®íàØ6ý8É Õ<cÌ<º7¤/ÅYZyìH ¾H"H¨ uïõNÎ\úkiâÂþÍýzÚÂÎv áq(&uA
¶+ÓäzñiX¢Á/þ#1Hc,²ùÃ0
1&ûõfÚÜÍA\Ʋ0¼.=ücà515`F:À´#ËHѦùé*çõL¯^ÙÏ#>A½]`ö¼¥]¦'¬³®ºÊ2t«°" y¥üSNsØ á¬6ÀǶw¨E«!® íWð!ÊÚ¦+}8é¤ sàÜbÿ8@Áª÷¼µþóÖpÑêFëd÷ÕƦõDëm»Ì7
ÂÖ:MÖoL×p
P ,GBZ @¢¤"§bÅT,X¯%Ú ¡ YÈE
· °(d DD
P£ün ü̹@4A µ"ë¢ÂjÉþËûÔ}å±Ã+%EL.UÑöå^ÔñÌöæÜÔ
ɳú±QðsÑÒÐå=Ìûñt`D25¸û¯¯°/î¼G3'd°ÃYId
µYg
m%h®ULÌ,ÔñÔCÏß²,iÌdí±Ñ#Sva8Óëñ¤ñ?Æ|_içz"
-ö%d59×zoÜRB°"`¢¶¾¿)(¨@.ÂZ`T±·Ò=»N^GJó÷Ê<ã¹ 0 l;ÏSÎ¥ô7ÚÍDZrAÏÂ3òò?i;±yyÑ·õ1Ý[Ã*ù¶zØÅa3&jÎTmC mÔè
çMÓf>½6°ìzLÕéÍo3K]Çn×èÖ_j.ÁxØ9ä@od
³F
pJíÐñ5WÒÜs¡^YNØZ
ËwØéz 6¢HTßÅb2×î,9ùA ÏXÕ*pCY>µ2]´a
4`v1ß.`ÛÆCåºv2"I|x{>Ü>½PHâ!dëÐ"ídÕ
¯.X×CS$ÚcY£PÁB ;#a,¤k}`!µfzLã@EOCWÏa
É·æ,4d.Ú±UßÑË;D?Ì|¼¤ ùÂrK.¬7x4#!|
Jth GUHì`$ñffØfÈWðòzý-UEMÒîî®îî»|sx|Dè%CW
PP]Ãvw¾X§y¿±ßìÄQÂÆÓ.¶è=¹qo¿Ý/%$¶ny¸6Ñð#»>$7Cvî>p(
À«ôðµkËÑÆ=dlßÆæ*(¦¾Hb&ª·/b¼î!kJp¶ÐïBQ0x`´ÀM8ò)9`9Uµâ¥RøP4yB/&(PÝkÜï2¨ pïîÓ¼¾}Õg¸k^ó±µÉ"Ø/p)Ì;/êâG{Z1Ev&Jóa ¨Æ%21à$±9!A>âÒiÉFÍá.þèzZÎÀÕx×MMíPåÄ1¡YéøÛ{óiÜD
_ÂBW±Apðlò¸ÈÃqQ/VË)VX/¼NfÂâ-6â3D#C!:
JN¹Õ,±¥9pû§ ð9J~©ËÙîôݱÙßéQâW°;ÃÆåÕ Ìñ
ªêKOÀfDiï>GºªPs þ}hFþ³ ì6D[âÿØ$=¿Ì 0éTØñålê«c<Á>íCÅ_Ëq¸I)¿æ9>Z®.²úQX£OÊîH(tT!Mü
³oM¤*YZÁ±#' 9FO'+Ý}ÿȬ´#6e[¼x£LeU¸Ó0;X H°·ÆnOçú~J4!îîíDÿt¯ñöu
ù°I7{æÐ9¾j4Óôð+,(jÆÄÑ9Q_ÏuSÀý>_¯@÷oÛB8c褥A}ÌHdf1çýq2íÝ¿Wä+ì8.ÇÊ(4 R¹©i¨øF£$"Æu¸Ã¨d
¡¿ú÷½?»q§±sºc ÔCFY¤q¶5hP¯³ÙÜI?ñø¸îÍÞÀFûÆ$ù"¢Ö=xÛÔô®]±Ï~l§-±¯ÖL6¾[¯|Èybå°kå3ÎAºèùg&Wò9º÷Ú»¡C8
RaD ÷çFI])-¬DDDDO¦¹ëzÅóOfR
æÏz uMïúÿé ³-<©k(É{!í7Öíå¦ #¾ôª(ñ1×òøn:½7ÛMÇ&9ÕÕéÇq1ÇqÄÇL_qÇ÷Ef]@ÓqÍê.êìÉÚQ_ø@õÑÐDv=]û=r::®P㡾v<¬¸Ä"{w5vmÂÅRMIÉ1Uµ©ÜªìÿCó_P ÜoÕÉcKiµfMûwgìÙÏþé¦aYæÇ
Ö[skÝ¢yÔ-³àDôrRú$_ô>éC·T^`2´|åm²3½Û²Ä®4ØÕ8â¤
ð ç³;S{«kÙá~
ßxÔ"´s]$Oùãðõ¾UD[]·Æ|eTUþ^ípMeçH í©ØVþG3Öå zªJ d¶£j1 at SÉÍ:«·^zBc1äU¨ßXf6.ÎKã¼_A>P¦OD¤ÉÊìü6®©4=,½É´)LI®ÛIÏ릻ey¤Ó"Z8tgÏ~J8òãóÃ_®!j*÷P5A$´ÝÎhç½CsÆëï±ßòùbr¼h@hdÊCqQlbBÓ>Sx×åÆ«ëpf¨±ÀCÄkû<'MfÂÎIÄfâÍQ<GW³)ÏÌ ]V{ùB6ÃÃàâ¬dPl²Àã¬E.d¢YW §f¨sÞ<pÒÏGÜZ%~[ ±ã½kmqÓÑâyò3ì)ô fq0Ç, at 1Îpƨ,¨ã¹'Ù'SáúÎ9
ß%ô@ãK+v¹¸iT-á®k(tªýAÕ{AÛl}*3JFf|3ûë£S`{ß'Ív% a»÷àÝaAùäõEιìSµYàC×)ó"AcîÌ+oxèOÈ6O0tI^>¾£FdÔWHê´ÆV$TçÂ[ÓQ:©Ön¢ãUÉß]Fç´ÜñÏHÏ6}rÜmËjWhrÕGR¹_Áfff½YK{ã\Ê
lu
ÖÐ"÷Ó2/R ÍEfºUJ[¥$x4'ôÛêG>?æÜl+ɲ8»üÞ+3Ó>fK«ÊËwì¾ODMÚÑaäÞ§XE v'IQ<Ç$ ú,ÈÏ·ÆÆ©RÚdä®¸Ý¹Ç 'ÍAC·-g+Úm¡5·)´$À|6Ó³D²ØHXæïÃ@Qn5ùÙ fùwé¾ò²3}njÆÀèe<x}/×(¡$ÈoäèyÑ|âW«þ¸ynaîi0T%å 4.éd5Xq `%á]qC$
BÊÑÈæËl:úk¨6ëÏ
yäç׬ËyÌà@¢ó/jG7ïp"Ì&"J¦¯GåÒ7´¶2*Ã%PÔÌJèÂÈjèÓ#Þ$3; +@ìTn{ó±%_a4G[ÏFyѬ 9 Ævsèúß¿kXÝuÄ都±$à Zô[¡ãe0K¹BP4X5Ö~'ÕÃÙß/²Â¢%¬Ù8·e;ÎÅYË+ãѺnÞ¶vÕ
ÔG ñIÁ ~M¬ÔW¶Gaý»èH"A°'fÏâÏ:ejÒGF²ßu`ÖÃÏ®ã
0iChQå'9w:¬ÆÒQË£=½3¸ÏSÝìáLµ ÷
5a²U´]^m> ¿Vm8Ʋ`¨%ãërG×´>fÏö;Ýzf![<¥½o2NÍ;³Zw3åz3L5ðÌ<zydq<·-ô<`HX)( Il¹Tµk¼¦5Dà³t
Q´a4Õ8GWáárDCÒûb<!µ!®,HÇW~°ÀÙ8fh°Ò64[»>7©RhõPÍÍK4¶_U)rQôÒqÝ`2Öð/çÌCëØò @"Ä<±B`)¸\ÁE¹, Y YDYð6G 8YÂÒ!#H
äݺZ~-DáqO"@è¶ñUm[fÕ
Z©¼¯RM)
6ut¼Ër½H«ÑÛÚJÆ(×`B¶Ræhs;K!è-§HðÂf¾JlEt=î_[ÒûhÓ7³zjä5@IWpðϬ¤ºH+ɽtÏ9¬j tÐj¼Lì"Êð$½D)ÓsÍßNW¹õÖõ?{¯"Ç) 1®Q¥= MN7 #ÛmÒmI¬<1Ï
±%ÀÈvÕdyk@»å³GrüUã
¶@§a#+¼u4ÞÞø}Ó =© òáßd6Íu¬Ï7èýOHúó|½UPLÔ®¹ñoî²q î®îîîî.{pwÜÝ]îî>ß?çLM¹gUõ»ºª×e÷z/VU/HaÆñq±òü8±gÚ
]RÔé3ª~Ò-ìYz3JSܯ/;±J&´Z¢ÂY=®â «úËY±éûOì&1C)cÃ˳/ü/,·0Ñ&AAváovÅ»vì?ævøHvKszÜ{ÿ,vç÷äLð+m:×ÒkÕÚÙòN&µc6ù&²ó¾¨V-²ÏheË=ýñ]ÊÚ«XögÆ(äµ9ÂðÒzÙcæÈ2`*?ËnÜñã$vC PE%à7Hüãn¼WQ3îÏ6å¶þÚ¦X.!èãûÆÉ'Mò
äú»âå×GOË&±Y¸~°®ÞxòLÞö¡o~IrQïIpAWz\þ'C*,xz§,õS°Ì× ¢ù¢!Ú!u²Q`m4ñµeÛ(íÒ¤X½Cî7qoöÃ
ïØHùð«»Ê:´¢ÎnÒØg-H÷ãz̾µÈñ6{DÈïÜäå Å7ýÉiÂÝegUÍÙôÙ$ÙþCaÝ{üW*Äç@Th÷Ö`@
_gSÊ&¿Ê&[¸þ|ûæxÞÀ@ã)Ãå±Án aÓ ^68¾ø¬ëUÓ^)è(09o©Ã©ýá±ëu$ûÞ±,ì-à
òºAO©T¢@"l iô÷82ý£)W }ôO³ýKî()êÉ*´Pä5<ñÞ[¨Ì8´
µÝPjÖº kN~®à_0qs½ñEõò¾ó,Ë73ìïL ·½ôð/×
rèe"ùPç_e`;©Àa¸©¼aÒ¦½;H䣦õëι;¡?ïɤe45ù
¢SòÖÄ-ÉíaϾ&`IÐüÈó£CÄUÆ¢P;úeañ4úSQÕÖsÃC¾$ðr_û)°*ÆðG<GÉAÃÏ ÓÚ"ÃLPýv ú
Eé'à.ñ"ð¥Ê!k䬺¹2ÔúÈó*©|GÒas o³Vú×è~Ê,sZÕî,½z/õ
ói?¶~ËñÂ^¯.#x/Zôm¦wëÞ׬2ÙaETG0¿<W#Ȩ_.cVÜëýj»ö;(H¡²hBÂü¢LrÂÇMÀ!?c(< F
iûöCÞ*+µ[¨ÛëÇFÚÉéîÓ[Rµ½ªBþ4ÊJ 1·<u%ß%¶ºiÍÕãaÑÁ±!)P¯.Aäè_i®rËDJ7#1ßo?$MþnÏí8jÒø¥¢ñKsbýéÆ ÏtGjO?
ß_3wºX¼»¸ièÆÆì^©Ú0ß^ò¿·¤=¾4ðÀ¡Ç xSåÅ/ôÄaÒßð6/Á<ùsnt¦è¬®¡¦§©RÁp½>ÚÄCd4«m¬Nä4À0ë´í6¨ãÎ`ÐË oÔeÐ|8J|õî|ÓqTdc¼ä¸[6á (B/k¤Ë<§þÅß<{º åT "tYÈD ë½:oPúu¥Á^\·ñݤeHÞ£eR®qÙhº"Ò.â@¦¨ü¼ðxt®ø<1=õ§©_r+°â#|ä?K®þ«T£©,]1Q-ø¢ÒPÇ,ßùÛn9\»êÞËgkjM;îbQaô#¯lýU¬}*-Ý56-mù¥õôêøà`ñw¤4÷ýÍÉQâÊë¿ß>7CIWBí¡æ.¢¦mõßµósÖÁîí-+j¸úuÍ,?Ì+ ÷ágR/.®RdQØj4·õ}¥=ºrOO]]-èy:ºÖd;±ÔóüÃtu©&ûq¥~Ö
y\°î i=Ñ:ñóãS¿ðWæÔT÷GEì6$&céR¤¯++~¦_>g+HñÓÆø$L÷Cp]Ái§?®;ãì®Ê²w·Ã¹uéDáµ7¢÷¶Ã_ÎþKçð¤¢TÐ'äá°Ï7ÉôL³ÛxâÕ-ª:pûm;PzKéÐ@YÏê¨õ*º£©oT´J²Ë_¢
K
EI:BåÏÓ+d$)ÅÙ¤Ï Ñ´
Ñ´ÿIrÂÜyiÃq2ÿÉE8!
ɹò«¼,2íASIhX]Iab!Fôâ<à¢X9ÚA·úèÜÜÄï'('Þ¨Ìûwov{£â0~£ºzL¬ÙYbÄ}IN'9ÚtÜ[rWϵKÏAÏbv$$D}%XÝBFÆëVUµ.Èé:e7ÑÝãU·÷&d:íPË2V¥Æu«Ü]%¨·<eó`ã)$¿@ê!ÿZSí¼Õ¦O·Ì·ýWèѵÍÓ´´ô76ÒËͱì,õÕ;b§ñ;[¿2ÒÃIs\¤ÖK§è
WkV=¬¤ÀêáúmúThÈ%# ?+%á!Ôqe(
¶£ Þvu2)öʼ¤hRe6âÑ;Vþ±lÐoë ßôAìÇúG<u¹ÓýAØɳÛú
_ÐYnºs§;êR¯à»0è¾ÐÔYaaÙ|yîj)^9±Ðn@®yÚñyÜÀª*azºã^-Ãõ=ðPÄ£-¿f¹¬Ñ?Üç¿w1ø(BWW³Æp¢`¡ÚSTÖ}F
WJbG3Ìoðæg\X«KªÈ·øÝldÞ+NLÆÖü¯eacîx£ÝÃòø®'ÞÚ>¥¿âÙÞ8¦Ô¹uïìÚÞèÚñ$ÙEKúÃ#û·å÷æÓîÌ
8£ bbËò¸ÉÆøØ Ü&çÐ;ªD§ùÔwãá|X²e±"¦S¬*ÄÌY
mkH·¤V?̯ü½:Åyéaøt¨¡9Á¥4~R£|_Yù¶ÞÇ@ÝÕT#SÒE
dûpÿªgo7û¦à®¯/BÌÖüFìWá]Z÷Kµ6ãgÆù§ ¸¨ØhÿI£¦'TZwôÙðü,!Ç$§"_âg[«#³ÔcgÏëéÁc7ü?KkZ,»F¥½|M9|qOoGõð²0aTVÓ~"eSô±ÿÞ11z)pT:U
Lz³I²À
ïäMAxÑ»É|Õ4Ç'Rè=õÖu¡Ça`^ÑÓ^fêj3ËÏÔÔØѹ.7Ï¡n
}ͳ tÁXÌïº
̯IçÂñÇKm=âÕlR´<½°oþ³ÆI-#XÓ·]gøè\L?\Þµ]´Õ7ÞvKÝz÷ªn®³×ýJ¹GºvÖôÝX3#æ®sõü°(c`W¿ï
§¯ùÀµÎV0Û£÷Ðpìo³$s
t|æËùhë5_Ä3çî´¢w_¢D<÷ã·fèyUñɯûfQI\ªÊ$ñaþæ¼:ÿ@H=s_Ô¦<9EÏeæî/ê(êáIuÞ{u|ÞC} 8W®íä{zTz\¾Þi?ïqhbò~%qdv-»JAûx
H?<|ø6h}ý§(Á!£{äå;½}¥!ôpÿÎwÙ¿|
Û6Ï«$7CDÓãSñÉ fã(da`læªxÐ¥üWd¦¸/B¤Sè§ü-Wé´c1 "®ñªz£ C
8©éo-~xpÌuúI«
¯Rº`¿wñ¯góÌ68á¨u¬?Q
Àé;ñÒq~æaµ\ú<Æý¨kAFÃZç·ôNò>_»>2HÇ l±ëÉ«,1]n¦á$ðõïQÅS¾ºñWDÇ:SZÒØUWìëÝñÖ¯ïvä7å9ÓAKû]btj½ÄÔÙCA^ÊëQpMP OXÌ5ïÇvU×ÔØÏU¶F¡DÊìæéµp*ÞÍA\a³AX:Ï\Í+L¿ë~¨XµäÔÄÚ¥q÷äz7qZÿÏÖñ9]PÒþóiDèÒ~I2ð3ª2TdÌâZlÛ¤½µÓ¿n´ñ û¹ßñ3%9© `¬²{nUU¿ÃMU
V-kËTÚæÁ jiO±D9<rxF#LFd:Hfõ¿¾Ï:[3'÷¾a~æSôjÍ6¦VKÉ«{=5«'¬1ÌRÄ-µOkMí÷ÜÎxöuûKa#ÿO~| 4²IIe¼ÉÙ¯Y{pÔ»äýê~Ffrß«çÜè&%~×æ:ªÅGçI
À'_fW²áZ·ØÖÅ¡Û8YC&1þ4DLà,KXÛ{_m?¡¸ÜUÎÏWMý`6)¤¯ÕÑQ'ÐTS/)jÃVÿ¿Áøßú¿ù?wêêj ªpùÒñÿudjåÿ£u,YT«ð|©m{FoØ´túÿFÏÏoè¤Øõd6GüÒQW/ÑÜq¬õ·uOÆáq¬/ýÃô3M 3'ùf©+
Æ ÉJò©+û(¤Bø±w´Xð)Æ
Y@d H4:*ì96©¦
eÕc ÐkÀD§ÕTmÖУ¾^ÌÃÛ«õ¾ÒAçF¼4
ù7æaÖ"EñgÊÐ6HÅ°ü+
ÙSGK3 ï
gF at o£4ÁÒ®ãeH0Pa2~æu'k^ÓB%±¾¯vöo4·
§J< Ìa7tAP² ¬Q@7·1i}õOtè9ó®Ìâî
D±7#LÜE01fèkùæÔQit: °8ãÿ,êè(פ41¢+»þ«-ÐÚjº?\©8º¾É^HX^p at k¥Y¾*ÅkfUÓIõ^û©^.H©ªÄ
û
ýÕÈÚ']Inä0\Ô.«&ÒTùRó×¥±AX`;:J:AYòëºh[Û/óAe
Ò×ïF¡
å?d-¥,×£4òÕfý:ZsÙV¨V/híºÞ?,5hùö¹¸mmSè` ÉÌ¡8Á!ÂPS4]n7³ÃjÑ$EYlÙt¼2篱T´v]!¨s´tN
êħTÛRtD,5¬èÃÀ5 "?ÂD,êJX°%£ke~#¼ñ¹&ÄiÃüüTà8³ùé}KfÝ#*ú\ä-å
¸}Û]ý²Dù¼¡#?'Cø À:ò<«ÒAoĸ"U¼½÷_pþ#ß®ô35{˦gáY»¾´NÝÃû·ù¡=/¹yw"V}ÒÇÂÇo|wªgªü¯=ÛÏ/nÛÌ«Ò~óã¼üS[©¥±ë±DábrobÒ|rÓ.L2}ÜQÛï
)RÀ?1Nq=Ëë'ìG¤ôýq8£Úèª(¬h§Z;~ÚÀ«ÿ¼V9>ï¨Ê0ö&T7ð[ná#®§»ýÛ P/ØDᱧå|T¸TÓ飼3féo B@$îýÛu>¾2)}ùg¼Ö8úAedH9ÄbÅ×0rÁ?} B37×S,µ¾gÔ!ßó^¡Æ,E»?w¦]È'ºß¾1!+Q:¨§(ã%Ä ¡W³rK¾ªò1qu\S«APÜó"½^Ö9ëä>Z ÆoO ´Ï;9ìq»Oíy?ªô+dÅ@{xiN£'Â!¸¸Ü,fÆAÛÕ÷î{B?ñÝÒ·Ì&m8Ãç ¿nά
ßñ°DáJjÈåK~4GìAïà¯Ç½TÈ4I³$)½pd9¨4T®E mÃÛ£¹"©´{
mÆ4%cxXH6Å£sÛX~k^zùaл¥r/yÇÅôÝ&8"4§ÀTÆY µyúØØ¡ JLrKÔáû籯T¼7ªO·¯ñè¶0¢¼Å\¢±Û®âÚ?¼î¤(8¤¬=Väñúb¼±0ñýÊ®R@DsR*#_#ìïAJ´ü¬2íÔªb@0mE ¼N:+¤C¼Ì)ªåA»å}á_Z*Õ7-\_O
§=3ª^0¿9ËYÔ¤ýj'kòfZúúh-kÔä}ë¨>þúøDb<×U*¼ïsúXf8ís0nùD:F3EüØï£+éày<¨:Ââ³mÞék»
M
XÏY¥`25Wàß}S ÇÎ#+!Q£S@B`w"éýüÉÎd¿ó[C]ü
A;g+
ûþÑ[EnÏ£âVrUÁ%ÜK7åÆIØå7ÇÓ²£à¨û£c.À Ô@ åûE]¦9Û÷k`lY2Eå³¼Ö,ù¤êlDì«m8(h̦+ºduk¹½ÆíÒØðÍ+ݶZÃæ82YNASêåíÜÒXîZ¦8ïóS£¥ÿ×?QûÆJ?Îd'I-º
6Íû|gï
8¿È ÉGGçw
îÞÐìÄß¹k ؾ¡dÛTö(&vÏ0k©¦¼Ø®Fß¿K¡s1&mNÃ,0ì
Õ¤Ly¥Ï¡[ã¬/SRR´üYI aFzgèÙvge'
Û1q_mÔy¯~´\xfÈ@¬°tË{åb§0ú_ÏRÙ^7x`ºipãoUÚÍø{y7þÂ:ê$å½ÙQÁu1ów~ì+LÂr0"´Hq¨þð×jT]Þ¼[®/-µô;>S<ltIåÛ×^N!·¤4íî¯jWº©TÿÀïé=**¿ëb"ª^LÜ+h0Aò^Üã~tHÐè+^L»A«ÙÐAÒrdð ý ^DµQ$ÒÅ2B½ËÙ¾«Zh
à³ÇøÏ7¾ÃKæcèR4j]¸Ò*
yhF H2ouEÆË{DN$§éF¢ëC»k¾r6Â÷æHërÐ4lDâúÖ?üC{Öã_üèK¢638¾zÔs 6 N¾3/fz&CO·A"\ªÏI,÷À
VT¤J<þðÀd4gl
Z1%:GáónǤ'?J_Ý£¢aMÍ4µ\¬þ¸×ûþ¼ºTF.Ôß SÐ̼lvå»ok¡êìYUGëò'c'ôOµw|®Ý@ÙNbÅ+E¾¿¯YO¦5àòÞ7«K@æ(äÆð}>Òv ·-ØK
Z¤íÑ@Õ*|WE"AîQ%·ó¯©ñãÙä×Ð%§øW¢
,ëÄî`´6ì»iR¥ R©á~|P$$¯~@§ÔÐú°eµ&ø§çôäxå3{ð4c.Ôä'ÁJñ,(_×vþÆ\tq³zçÇöx»{ß×/
ÃoxGXrT:Ý£¿`çj%UDzÑÛl^3Æð®vG¾n¸ |µe`L7t¾yëi|-·ãôô(lÞº}vr6~ª¦yüà·ÿ@àFmÊ
¨ôj@zgÕG] hZu ×ÕwýævQ··«©@½STÎÚVß{¦ÃJ T%¢Ã¾I5TæC®s?Þó~z¯gm=R0ÄuH»Gg6¤i¨gÝÕ±ßôºêe>Íë·Úkp,¤Æñ Í¢ÚUbùÍiã
ïwmßƾn(à3ï0e Ðp|úûy^$ùsÛmÛ3¦¥Ü£¢yËñ°ÿínAãAËÓoõ©½ x|ÀúûUkI|îp¦r Ûõê¡ì2JØÒS`µæõÑ«½¾!\±có"rnå£ñ<Å%,Ã.8YßØo=ÜúÈÖÚìQñi»àlë µH/ÌË©Vé&ÑfßW*½Hn
QàÔ¿òõn[!#y.¨ÕÓµ[7Ú¡ÑÁJ:E¼zÙMÚË×Nä_Rw\¹;³á·9U¤â- ¦v3ëûÀá7ÔDÿÔmàAãìÈÔ~͸ÏêÆd¹±øù@óä9KRñ\òã$>ß63_$¯6?ã»àÁÞÆâ±°pϳ»æ@9ß¼ÆëófÔѪþ¶è÷¸Ówáñ^h¤Qzïh8áãà÷Ä
VemÔ;N=Î:Beõ÷ËæòÞDÃhò]Éñ¾/Ò(uëÙªïtLÒéÒ+ s§TØ<xµ7ÎÒR´øI*sý6</Ñæn¾`Û;y¹pÈɪñi+§©Èéì×È3H9-J:8å"¸¤©¯"3ôg).|É_D(Ö¬3LJL'·=A
¬¦è$u¿êÈIz¨é|'®nâlÚ 9"4'fµ2Y}HÌR+³þ ·;õ/³âá¤â:ÂMEÃ~ËïWÁ®ÍV¤z6Ã%Y¬}µW+÷«§këͤË#Dæ³ ¸ET'91 Nï"»ZÃ7e_¿Àî
, H¶~ÒÊ÷ÈdáýSꯨK;2T_É=\µ}Ð\ù¨¿ÂY#£òq Nñ"="à8lÉß5ÐóºÇ½;tÀ!ѵJjf÷ÔEÎÑúvŹU_¸L-5?#s´Óáï<D7:ÿ°ÑÖ´0XÐ3Ú £J2W71pútñ©ïĤÛ6FImaÖ.¡{ÝGBjÚ/Òÿ7+?Ò=~4¦&wà!í¾>Jõ
UsWÍb'ÓÙ¯?2ÉLPU©p¥Hº°!Ó±8ötº¿ßlW/¥iaë%@;ª.>¾Ò;¢ø¢º5Ì"}6,ã@¢C»iÇBQq|/§.®ßVý÷Ngùë¦`R`U[Ücþ)ú·µÜCKoú¼Íg¬LS¿>°?é³CXUXU2²ó©±or¹ðÞ³KûªA EüÐÛcD_¿"êB=í\©£m">mMöµ`¥nHÕØت
{×ÿ¥÷¥÷`o½O$!xA»51½6ùãKßi% ®$Pni+{ Qtvî,?ï×:-zò>ÊÆuE$8s0ùòÝV
KøBrP¹gãm$olÑaPj×wK3}âNÎzÐC{:¸ª.nºhƶ.âùUÛÙëz®¶¼ÑL(¯ãB¸>¹ûc4 MOäË_ñ-¹e×÷»âKÚï4¶î¿Ð
C~WßöËaÛîÞUdhevtFF^¨
ëàæð·Ña-hYW®N¥÷3¦ÝÙåseÅ;äÐvÔUÛÑ-C$Þ gK°ýtF 0å$°L.¬-øq%l.¢®2*6ågzGÚÓr%d³u=Y N¢(q
÷~çöóéºU[ò#wl¨ËúÍd_£Lu^ScCµãcF`£aêé!ÂÀ£ûëéÝÝâ^½·ÐúúÉlÐEâE|â$
Ó¡©¾%°¥? åjýzÔ^Õ-úÿ%î¿õb÷Â:$¶}Æ&0òxÓ7jÛyF÷ìler?í°ªoqQÔ¹ßZÅÝ¢¸ äñ»§
iAyûu$llÓÒO(\´îR¶ÌYaó_ÈÅ!ÊýÑ-9ãl³nÁÃð³³gÞNµÎÏÛD9Éé5E®ÝRª5Á$g*¡§ÚGr=ýÈ õp¼Oú
ùå§#w/è ÌYÙÓÓYaiÝÞìx¸0Ûù¨D¶*Ùß³vð È<Ò¢Ý<u¨Ñ`sJôøöHhKðÎQIsG¾ÍóFº;;&.TlÀÃðÏâì׸dÂÎ~«_×
3Ø
ÝÃë[(`l1Â¥<ågî~·³c,,Éo¸÷®ü=-uù_p¨6ZCÐéEÂ+È@d 0Ëg¹Ø 5q)Ä
H¾,
q¨/U3Úë!¹hßÇ4²-tómØð#ÜzI8ÄBõeÏ¿þ¢wÕÕp7ôz¦Oêä°Í²Ñ<
Ö^8¢Íý Í1t¤¶¾:4° IÞ$ìE§æRÁ7ÚUkÈû¯|K/âû·
î¬=ë2 :MJ·c ÿ.ÎEB¡äõKnÔ,ï÷m ¢w(lÚÏô»@á^BEñ!{COdÔY½[ì&¢´QéÊxªNÇá¡þ¯N¯áØÙÙ9ÇðnÝA Âþdô_·Y{íÝhÁ_§p¡¨5?î°qcpXknd¾¦GÚÀTi¶V¦Ê£_mÈCLËG¤"_þ0f80¸Ú£âXa
újcÔ/ÛE)±ÙÄRÇþâOBØ7wç[$¥sïhyã>:ÏÒ¯÷;:%ßt-q÷ Uì³Kî²(á_,8̸ðÜ»ÁèUò=ZátÂFÐ!4µaôòUáØ6»[++¡öòIÑó7ç0Pçqû±;èß×}.7g9éËñͤ.ú1Yb´#,rqKd¼y
ÿ108úb?¥\
¹¨¾íB½Û|¼ÒêØ@Ö+¹âð_¿¸+ñG¥ J»¨_ÒñIFv¯ÇYÃHgúÏb_aA±*¿ Åä0Ã0ÊóE´1¥/
¬ç²Lß%ô#Ñ+^.yóܺ÷òtÜóÊ$Öuov§Cë0ó}©|¤6³ÁadnÏ'tNßÀ¡_5ÔÓÔU^H¬Ê>mß}Ãl(äw
äßkd%ÒGå\î20èÎR¨úÝc/`*77V¡ð²ó+æÉjwhÔű¼NÑêÖ×r]vÔ©s¤°¹bò18
{ÈpA,!GF¬÷ðrbAµt}"åýÝ?wýðVgÌ#ÜݯÞ739fÀ"@)B£Þßáð%ëWañºà Æ -q«X¦#
§ÀJ"q{äìW«7]éâ·XpÙ¨RÕÕV¡.©èÈp#nÆd{;[üü]Y¶¥t»Gegäg_[u©-ïVAz§M_%á ºå8òîNJ"/YCÞJé¸/ß"FC^Ð?ïüöÖ³F5·¼òiãk]3Êdmk¡4êͧ>¬!à8c,IÊN 8ÞuIã¨Ü½~YÁÀ21 ¤§ÿÍûÎS,¹=ò'±çG7i@ ü¼ÐK¸9!¼Ú¼"ÊAÏéåïT_BÂiéÚö*
"¾LJ¡ç/ª/$Y:TÄ^ÿ¥èõÙ,N«aÈ?xÔb¾I,4Àxòa÷'fÖÙ´øW»ãOò@wCIEn=01Y%%Ú·«bÜ/Rm¥¿9T½üçQ©Å¢
+×p,íï£0¢ }©|¬ø®ï?)HØåçÈLbfå
+ÉsVwf²Éq<æpBÑ®ßFòFV.ÃiÒ4©5(ßÍCjjHu>=;ÿ
òÌã=øY\²hhãÅùÚA¬Öèã|@é¿Ïê^%rÒͽ~/F½T±N#<²4Ä\ºûØ+&8¢38ë5Ó Lv"¤ÈºiÍ+K¾tá%"dI" p $N ìuãU¶5xÑ"ǵ±Á
±ÐÛ£h zÑEJ¢Ú}¾ºþ~wd °ýOHxá4È:ß~ñ74&ÈêÑ^Ws¼s©¹2K kÊ Bݧ6©Å35Iðÿ-luÈ?`Sl?t/!'j`ê
ä´´_³¢ÀÕP¨ì æFKkCÔ#¨¯~¾=Á
aHzô~öñ¹ÍäÉÇÖÐ??=nZ.·Æ&üäoÀ;Û»)|&j!Ãv(Z¶U³Ræaý#,'èá×ÇùË·í%!R¬ ¯äª)n{¯Ç)óxáqþ4ÙÎ$²Ý¬7¢=£ëe;Ñ4Õ®¬CætAÑ;,à|®É¢>åPvù!ÅÊ/Æx0³ÙmKv5ë®wõ7Ä-zh®`D6Ìr±?g¿º_/à%%èÌ$PÑNK uZ$7s°¾±}ø-
½¼÷r]C[Ì+VVSð¦ò¾¶½5]Þ¯¬dÉÌ5Òå¼ýÍtCò
H{
}<CcâìfE84µµc8ÍÉ×HG;Ì"çÕxpcúe" ³¶+{ð;u$ÙvAÔÝäÕ$9Ìnç}Üh4
Ák.Ò{{u£Ø6@¡ÝAG(¬È¥ÕGq¬x7ôg+c]ªM+»ìtvÇlcH Ê]Tý ëìNP lÄU+®EÐÊñá1£=Ûº"P,$?{ò4 at Re#¡dÓ¿0¬÷mIðenu:®¸CÁ)?FÍOôxP/ýîa6R¶¿zߣé¹ÂuóÕÐ#ÏÝÓÔ=ñ«Àu|ÒÍC¸µÎ¬Ü¦q5|JR¡
¨,¹+¡#ßíD9"àßÄÜ4ë·ëÇ}g|j
xû5;kE2H¨
1ZZÖXóQù¨¿YéÙÕ¹ì*ªáB©óñù-Ѹì1ÈZ×m×mkNüè5R#¹KÆâX~ÎåúÛ¯¨CÝaS¡"DPűÂ.òM~WÉ.°>9,xn¢ô·àPO´¬î:ïKAå
×wGÝ9¨D3qUPBZÙlIÕáUKÞZ×*M^í¥î¯:tï{%êÅ´âùGõWµ¤ÊúTyÜ©,pÜ7âßd`¥r*nIp´$p$'JþhÚó/O¸ð³£å¥HµðCYÃq?ó[_õYòûº§eûüS-·²b]<Vx2IZ0kÒàðãöNZPû¤c.YÞ'.Ê¢íBcDé%Ù°¤UOuá}9`À³¹
=âAª<IÎìës4¦Æ´·S¥sôL¨}ï½ÅÞõgþFµ7ïa,M×y*+âi0ñ¨1 R4~æ6P@¥¯RøI÷B3
¸$@Áb"<¼J×ý¹_¿]Ï>âûÚ{Ïë|iR Yùü¤Fgþ£ÒÈú¢óp¹öÙ¢O¸ÄG>È+¬¾=G/¦ì(U*
O
Y/øÅ\s} W6§ÒYê²Õ
J;«" #|ß¿xù$êßv®ÛGsÚ?tÚï°á«ØøÛêÄ6wj¬»5Á°À°Aý$ö}
y»}Ë*)N~¿øK"¢Øy[òøÑcüuC[ìéQ¨8²ñ~ÞRvú_pòͯ_ÁêòqiµË^óã¥1@mºQf²Õ2ÅY'S[ÓaÌ#6w±¨hçq¾^MϦþð¼Î(¯H¯ÖJöoLHQèúWÉ9±´49a5ãåa;áaßjèßvI¦°Ð;^ââë:xY|ó®Ö§¼0·FÔÆøxw(®º=FJY¦R>7ë°NB
êÕ|\y9&llAbÃ=ö9l°1itÅ-8Gò®[úü&SÏ0|\Rò¤s÷ë»".*K;ñFyØëëq=*ÆLNjª=Îr¹YJá¡(%òO´oV.³X±3CQ®kE
ôÚõa rXÒ·¾ßÈS$1KøïLoÙ]×®ZÅìXY3'Ò@?<þ9ý¹4×¼@~±L¢ Úb©pbßÁÚ8ù¼çå®B³?ö£«ÿÍK«³©µT¶ß9vri{"¬ÛQ3ß`¸%Ñ0³iV 5<=åÐßÎÛæz96¹ÓoÞÂÛWøF¯ä>ÿÜ%
zË-Z¿"4zÚòIKxhó¡»üq^aW³?Ù²gÅi_)§¤b*ÌÅ1jQÉ
D Èÿvd®OÑmé·ß¬Îem>½Â¹2)^ÇÂ3,4¢ï(1G¢á®ýÖß
j/ë>K]sÔÕÕ«×ýL&;Çþ&òÍ%4;M~=z¸ö÷Ö6h,ê
GÝX#V¢ú?ÿ~ZQ]Á¨e21¼éÜÏÞWâ&ndÝ}ºüéöÚßR íbÛº>Þ£?æOñâÚ;¶04nÌ÷벧ó¸'5w6ÖШ~Ïv·n
¨ÂÂß$ëQêÎ
þ«i}èÏËZã×>>¡²°÷¹KOØÛÛë®RÈÈ x°ÖÕÅ8kçßÜ©Ù{v[|wIÊ}+.>ñgw8vì;ÄOjÖÉImdzþû¸P/N²{OOÏS¬¾'IAêùïýÓ>é¨*IÖ
+8#HÒ lªÌgU¦ EDÒâ%=~"å³ÒbhÃFfí0ýôù5/EÃÂf¢É;ÇDTûS
Å a9ºWÞ]ô¾&Atzb3W±×®$<È®Ð,=Âc¯:,£bhïF¸R¿}
*Pºw@¡·|½¤äaEMt7Я?È è¸çyѱÆÅïËÈ2³cZå+GI2"0ëê~¾[Ä«=e~ÙÏgC,´YøøÀR«ãÖâ×i4¨èûLÂøóùþ±z½Û¤ /8,[T4btà°fPéÃnrlÅr¼% o!C?5߸äÆèÖIp¹Ë§Å0rDôoG®Jh$DS2okÝ4dD¤Qóå£ý̧;ZÆ!ÙÎj£l(d£OE\h±(ÁP3ÕêqwK >ø-îy£óäq0Ë¿rm·Aç ´Rd½ ÅÁoî¶qÉdþQðÁÙдƨü°ÕÈofñM´jnx ´ IbÁ½"#¾|üîzÌ+xOÍAÊr ¨i袳ǤÌl¨vutÁç?5ÄÇC¡¦°K¤ßë×ǽ"qÊ5xRVhØ
Ð
k<GQ¥sJ,8Üly¯ÕsXd0Ñ_¨¾Wmì"c<ãߤ3ׯ¾/½î¿ãøÌi4tkÁ§öWèÛ®gè¤!@Y³0âù`{X²
,̵ÁB Ê|!V}6ûNN>
Ñ¿þb"ǽW¤ìï2ëZ^ó]¡Æ %ΡãjB6qÿ{ÿCïõe
³Pf¨¬ªÀ 9m¸V)TgI1cm+VA`~Ðh³G
>þ6s¯ ñÒÁ`ä¥íò~1þ«!¾mY`
£Wót1ÏÑ&ZØL»=Z£Â¢¢IùãÕÝIThü¦=â@UOîÞb2º
òÁn¸ý+ߣÛMìi·Ù¯ ãâªoCúÜSPÃìÒ20ØSÞI9ÒêµrÇS8 ûÆ3m&'ÏÄ_ZÈ Pѧtéݶ$5µ2áçäÊqÙ°IC¦1òe£ÿs÷öø¬ÌpÑR(Ò\.¼ô¢¦¶`~Æ`5¡`w1£ßæÌÞ-ñ¼öÅüö(DªÊèñößàpc8ÔÄ_
½O¯öU×]N¢!dsWo¹+¿ÂÌÖ f¯'â
ï°0Ç4S0¯TNM?sj6gx{÷×9%±°Á£ÜI?T%íâM8l½»~wÛ8«×Ï6íýtÉÏÖ#PÐÀÒÅç¯Å
lîùñæõV@î£ÛKÒ|6Ax2T~
âízGÝÕ´@PÕÜ·ùÈ¿®Ú³£¤9¦§¨qÖÔÙPc±ÿ[kÁçõ{tÕÐöP¼,vAKÔ§0{hãqFá·ÿ]²"âìyòíOøjØù'Ó4ò%3´TÆL e{ÃJK=Cd¶IES|¾:äl
pRÛ§Á×ïòúM¥«ïîún5·BËx0áÚFnòæ¿Q0¸U,%Õ»èØè¢òüe+EÓ7ubxQÙ¸ó4«2³D ÀdeF«°Bkõ·Umç.ÎÌpc+ëܧµ¦j\µ|a*~£î¶2ÈbFZ¤A-PxðNÄô¢gâgY÷ÐÒÌiè>&öVN¼5
Ñ1¸1@%|÷ã70CÜÙ/ùÇG/BH4ûJP]wí@¯Çª`Ç©namîìrt{ñröI7s§þô¤^¼Ì½¯v_ò@Â[ tÇ!n¤Òî©eÒ¬+[èöüYh=ÛE6¦*{ÚJ13³Âêâ8xZbL.*¥&ÆÕÝ
âÕGóPt2Ñýö½z løM¬ëX~ÂrQvÌJ%âÏU·Âj·h#tãßBåı{xÑÏÊ2~@Ê&7"¦Z~¬¼#cþ÷&à´ÎwñEUìÓ9DÈ_4á<\Ù
ñ3ÃO6X45Ápy³'ËPñÆ«.ö¬{yMeOBEBB¯ãeCrü©ªX±ÿ4CÂo 6ÍøýjõV!^Òw·Pwèp7·Ñ°¨é#dÃÏwýø=,éÀÌp¡âo.Û%´\}V:(è,z¬á ´Àz2Ë-ßQ£ø)âý
4£MhL$z¸{y.¥eJO¢ò=ÌÑê£ãkü
YÙE»oËhùP$+D_¯
òµOCÿ_Òw$ÖÔc^JéI -@Ì~R'z|Q¦ï8%MJ>fÀ£Wµ¿>Kɪ V°÷þnH^8ÙÁR¼IÔ~åp'KgˤUµÿ®× d?.ô1¹c¼CçwüÍÙÄ)2{p·*Ìʸ~kJî±òÖi¯â£+²XéX%F¾ÔÕcb82ÜYôYË´ÙË·ëÑÂ7K²A\@ù<ÿ¹ Ès¢U6¬UðU7ÚȤ©½JêOR|ÂVµ«b-¸º¯$&a2 ´c=ñ%4á¬^IJÈUh®¬,Kaq8¾Þ mú.Ý<a5i{²ø÷7»}
<Ä´è øÊ;²¾
)`ÎgéráoÙ?$¢¤¡ý]çeäݾ^øǵ_ÑÁrè`òK|.
DúÉDØ8
Ø9I
&Ñݤa½B¸p1¼²$Ú,ÞÙK Íñ®Õkd[£ºo¾B"rÀ¿n`T2ï¬8«E Ô¤ÎNZl)¬!WãyçLÛTBÇÙ½ÃzÕL(3K(ätCóC)ñy`>ãCEæmkwÙR̹ÏÞËzt"Ô¦¦ÒqÏ_(®Ñ@]Æd¥5²ço at N¹ÿí£¯<Ù÷lîй_èÒ 0æÊr}f_h+¨,⾫1¶üRbgLPðu^kÍ6\6]â²fo4D1C"2ytBCÝþEóîݻΧH¨`بPÜ!ÑÊÊ
×òI6Ê*X~e±N dNèùmySW¯¶ôuÊ#úþ×x '¤JôÜöhºÑØCTÄ&ëÒ~
4øpÈ%Ü÷01Äθ<ysAO
â7ÊÒÎ,Þ©ø{=nÃäA1æÝãdÁ!~¨gB¢?³ÚÒ½_)EÚ¡b¸vúY3ú"¨ZfúÐÀÐÐÆ"ý§äÖj)1?HP¥`i½n 3öÃÉ*!°}%õñk¤0×ÌÁÌSÄúZôA Æs¾>4t6~ÆÎÁAÈ4D
£Z¥hÔÄHd¿£¯SC|[ÆÅe&aÍdÐËí°¯IøýðµoF\¤û>DkTg4£÷Ø<%Ø.#_3LÜ©L|9'ôNë;çªÌ%tÒIÔ»ðxcÙ±ÉþM2øl|vrÁK0¨ÈY)Æ9F8Êè7I¬4ÖP¬Ê,;
ð½õ'XÝ
í©ÇJà]ê~ÎI]¾Õ¾
º.õ¯
Î6L|0Ü´ì©Þ!!²>88|Qêzô5wL&DøøMçîöÅy¡Hà 'VîDí6.S,RÓ-³dÔ÷bXuè_¢Á@L9Úó Ñb>ËbÀm®Z7»µI¨%ÖåºI^7M²ÖNÃ8DJA9N'¼mÁ.ÔêÅcB2É£IÙçä/É 8«ÈcÅ¡úo8`4a¨¦;F¹²¨üQ.½J5ßkºX¶ðVÔ¶µíMöR®P{.$Òpv'ï= 6z~%uã
¨$~·e?ÿ UBÀFz¨çÏZPN.<a»sÉn)$ÆC$vpÛ"wõ5k÷òO¿b¿öYFÿÃ9ÂPj6Ѿó«¥ÊâI³ÛÑn²þÿMºåýür7CW;-ÒÜ! %ßdåd9ÔAz
êuw4ÓТCKòa]¿üR¨BLÇX£üÐ<æCÁo¿
ü¸FXØpøY "Ó ãP:r3:ZÞ\Ñ¿$z`pBDÓIØͲIó¬'2FTä¨)%¾ý! È
£NZe*Õ
8ºÂLÒn¤ÁükxÔÕÞa5-¨,CdW:I!¨hh~ÔM?å4î ¯n5ßõIP&[r
Vt§¦û¼©ö÷hüÀÎ×Ϭpqå=CúSÈqIK7±ì#´ø.Õ}H¦ªÆ!E~µ¶wÐtµ)gc±"iZs¡ÐÏ4H+$%Éî¼(à1ëbðëRJU§ç
±(Ñ>3%ÁÕûï
xâê3»MÊW>þ»E¥´
kh[²ìj7hÜNwO_î}êê<SÿÆå½n±«÷Dè^zLÃJSRÏ(C_*lVS%üUá
ÉGÉ}ÕíhdÃõ)çER¡7d¬nûiFÆwjËÉ3UfÒõòH»:1\â®HpB´/³GÈ¡¨LÀþ¡CÒ[§ýã£R¸Á${
q
v¨0ä3daWûC4ËÎr]Zs/¬Ã[7 û¥©ÉVo.A1Ó}~5Âä:ë´×©¸¹C)v2>x6À^¹Fh_ÃGý¼xMvHjïÙ=ÞpònËýÌý¤
7JéåNF7 /,ê¶Bü襻péé8þ¿fçktº ¿"®*=Eúñ'#/KÎw4 Ø$ÈÍõ[5sm¬w ÷ aijì(Yh×yÃßµe GgVضNV8ôô;Cæ¢_É@¯&=°®.æK½Hp_+JdÃØ_XºÃ/@x]
dpM¡Û-h»JC§t}à@\èøÕèænuÚ`- EôÍÓ¥ÿÁ_ö_ÁVÞÖ¦ßÎr3µu¸[T§O+V{ÏN¼n.
q8N32FAjJIî´ÎÐTÚbça¥³wÅe2¨ZÂù|ì5ZßU;öÝ4siH<¹õÓkÝ>àÅ c
W±Vh!ïYÛ!½|í"Ü?s˽O¢Äøv#$IeúJpµîQ{Û%KÈ4ÈltÒ¹ÓÉ@ж¹-¨q¤ÇáV$»ÐÔë×à÷¸Â®[!ÌD$©ÿv%`ÍÈ)èK5ƨàPbY0{ï,:²9;ôÐ6×Èa
¿nJ&ïíûÂ9rSð
}Ùç6â©UôsPÞL]d¾v¬øïËԫ¸ædÛYâ]"°Ø
ÃÁÀÔ'QNÜ ¬ÂøûµDÖ^ +ai^Áùw»IÛòéNÒË6EÎ2E^âu
ϼ?t¾3DÏ`Îé&æ,y-P063²¶¿q ñ½qrãïØ=·D.`KI»eÛhj{§}]Tóqiø-|G¯Æ4>B¿t\yøAýZÅz©¶ûuÈRDdÙ£µ|[ÿJé«*,Âì=ÃÜÿ-æù>àÙÿU$K,ä!öþçCs+.ppóêòÃùSkïÓü¦çÁ,ûÁ
4,ÙïÌÅ_¨Kò¢ PÏ«I¦©Ìг
ÿŸhxs-}(üñõAM8Qûh*z$Þ« ÅB/ÞB/Q ¡º4
¡#]E ô.HQDPQDÿ¿÷Þ÷˽3÷ÝÙçì9ÏÙÙs¾ãíe^¯ûç=~Gãòå¹÷÷¹të(ñ÷ä?:GI^äã/kßßbª½ðÌ=½WTäýùÑfÙ½»ìM÷8ÿÊývó^0%PÏ~{ѪgÀÊ#WÄ"
~î¾bO@<¸¸¬ÜScw3øvÒÛõ}çþ àà)ãÅkÿÜfÞ\féÝ H.6ÁÔÿÜ>¶Ôüæ°@²¡J¥öW:¦bÕ u´÷»þ4$ÅIÚP+Ìù<Ý1Ñó~)
gÉóªE4*|ªr5Ó{OSsHEùy ðË0>aé+FZ$ѽùôØ.M"¸ûÂñK1Ðâ ðwòö§ ó¿¿O OþY°£bó8LõPøÒWmÈW|¹ÈlbGÕý¥¥ï&F8§ÍOáÃ_
c."uKã/:ò?2¨~Âx_ ÐD`Icb½5¹ò楿޷wábøn
(ä_Kc¡NÖ»àÑèÉwb®}{éõù¨![Õûndåþû¥ëÌH?¤eøÙ·«ÊûÿæÌÅ·^Ô
w=þç±j:8SVL¾uZÌvñ%zÌgf)¼á;þµH¬?ÿpÑÂx{î~aÔcÆÌý8ÅêÃÏs Õt»Måðmºóúoê ±i$LJ@¥)µ¤±ª>øT¸pLµµÇÒ0
S-8PNDa´^}¡.£ gø¹TIcG8qþA.$ôjFµýhä;®o.½ây{spÀ¦[bì
ªuðÍÖsQ3s;sVÌ}
òÖT:Zô®wÝZílÀ"&øìEg·kÛý
Ð\~`"B©9ýÛ ¦x!ÎãP§MéØ
ø)õºHqÚXÒ ~ÈI8ÌU2aVM~Ï{¤p1¼odkâ¥ØBá¼J¼Ë><%wæy".®Ô¼¥4Zå7$úGuóüªý¼[%|x8}h¦e$ý&ÎSJÄüÂÃU ^温rp%¶8<·Céúú[.H%ì
Ôx¾×w³mVÍbA~%+ïé1:ÚTöúä½Û6¤¤ãU@&ZYÆ[úìÆá×y?NjsàrJJèñá:}î¬ib«³²ÂkãÌÁçc÷µ¯¨<é«
O]¦?·R4_0¼2wç214z¯[{[»t~G0kúyZõÁ·Àq>nm5.õ¼:¡Eÿà~+Ð^ ÃGAîã5Oþ
ûâ³×¥LªQh\µâ'çÆxX³8D¦è
¯:1%G q¬FuÒ0ªäµF[¸:RÉþÓX®ãϸYRn7Y9¬VùÅTLû¿òJn pp¸ÉüW~1м
þ#b5FÛý
îßá5çv¨1ÐcWúé3Å®ÿ`ïÅp³Öõ8>iÕr:^^ZýÆË_Ù7d®ÛÖ¡Ï^µl¼Ãü
¢mÛËÌtÌ"ÉæÝÉw<Þfôû,æ"|³G?ËÛUæhþ°½èãuò>Ë#yaø3±Â©
ݧPC"ÝÂ5Ò.óä:z-ÿ¸²BP_ üËí
ð -7Åa\ñ[áü_Cë1±úq o¹³ÞË=?ãÒtQ6®·× ]ò\ëÇÖ³E;W£¡ê£ ¹'nÊhÓ3P8aÑyíütÈÙÞãV=RvevAå IH{ùÍðT@÷RBó4#8ëOy¿p·0Ì£ø¿ÖK-!ç§QÎ÷Êc¹OØ%ûot
^|n¿ucmûJvI®¹
2ý
ÿ¿þ%ò´»¾* mKಿd Q!-|Õéà÷P$ð31ñ}1 at 7H¦UE-3¾ÂÇá4ØÿüyMקüi!ÿø,¿KR°´:ßA5þU3°¬D]%}4gZÌûu«?jh«Ká8Ü,¾I4#jÎ`Q4¡Äᵪ=prI^ÌfÀib÷ðx¢P×ôç°Ç L&Ñ õî¼íÜ´ {cßóòwèÕúxqÄ
Ò+<Æs¶£TõB ?0h½^dÖ`Î^&ØÀ
0 l =.Pɼ>ës½ümÖhxü&Û{|ñºóû|+ mk·"an?Rþ´Ó>ex
±××`1Öõ&°UCâN;½VUòø&½°SY^½æzÿ±IÑ
F6<gðr£«'
^¢¦ÕGçkÃmìa´HÔ,ÚÆã¸EXÿvH¼Aüª}ÊF×fi¾N+Ñ1îÞ _Cë©á¥ùòuoä|ësþoïµ·?;úÙ(ï[¼¬j-yà¹z~öÚDk¼ Ki$Kgçï{÷V¥ï|ú¼Ñµv'8F"ç¾bN&HÎñÞZC³ÝJJX*Ï£l=ͨÈÌ,Wwê\óÚc¨è{ùàÕý_à²:Ï3òjäøø\á«!Þ/¢¤XHuPþÆÄøñ±ùiÀÄqÕÛÉÜ0à¹Îù¯Ð£oÑÇO
Mã ;ÿÑÈÌ ¦>p¾Q*½5ß dO¤ °ª`ø5§ÖдCÃ[ºñ16¶,<c'ZA9ã>3$è¾zOï#á«ú«Oó58+Yß_BXfQ`þzÙÃc4 &fLWcÙ,¢È/n:I˺ïa~|{¨W7 GþÃàDQcYID&içðæ;¯Ü٧ǯ˨·ÊÝYáÆmDZ,®ÚN«Fñûé)V>ïj'¤ßTxÃ@ºf<½ÛñÛM×»"I¼YÓ¯=êPu ©ìq«÷#Fí
@ô)¾Gø=wkY{ýÁ¾ÚVõF*MS«Õ1M)Lå
ª~ ¤÷À:ó×ép×SÜ~<6¤ vöNé·úÎ «É5²à`E±äa8j"«º¡Ms°Fæµ^»Òº/w²ÄiÀ¦FG@'W
p!9«MhJ#¿ÚñÝÇ¿M/÷,iWú~ö5ÖPõPb'uX$qüÁýr=¦êÈ~
¶·Â|8ÅÌÃJ«\gM
ÿ¡¡\<uíA·&,ýémRobZ°ÆÝmËE2=dFl·U<¡¯Jø»æ{ÁUPpkô˪§ Ì@H÷
"i7 zé µ]¼¦>¾Ï`DÈH.O ñøXÔ<Çüþûï~دÕ'#kA7¾KºTÐ4¥Ã½Wè>3aèXX%EaýÆÂ5Akúv2qeïsô
ñö¹ÿuS©××Aõ?Nã çùpWÛþÆ1S_2ÿõ²{ùà(NwñÐIpÏ°!\sn(èÑ{C¶óãçüò©¶& F"»A((ÁóNR|¦}Ç'õ§æ
£\Ú÷h¿ÜëðaFe$BøçNVÉÛ-í(z¬^_evþËRƸA¤)ÊëÊ ÂÑ+!!<m_WÆçmÇ íCr7¹QáË6ì¶MÊÿMÞþ¹Ì<ù¾xGW©OÀ8n½n^/âylÜûu-7O%3RÙªP zÐkÕ;ÛDóNÙ¯d,f>Ô:á|IÉ
{cÖÇÏÙÖuÉ{ñSÓ3VXxÚÛÕUÿÝCUÂ(<ÈÅ¢÷ ¦õJ1/<ïÜöÓÊÕýó!Tl1ì½Ë&Ç0*DuûôóñÚÚèÜÞ ùXtm]®Z]@¶V[ÎÅ[ 0½;/5öOt~q/üñéå©ì§Rå{ÎÎúÄÊQµÊ'/%½I.á.;\âáþõ<&ï¿8ré5@]àÛÙ¯¯Õ71ã;QÌ·ÚÛ§æâ9æÄ槺Ì]y5ª÷TÞÈ-Ë^d§)ÈxdXÞW+ RSÌT[
j_óïª^3ïüÏöÿÞzéHðTpüçþÃÿcábüOµØä)öJÀyydï^îË%½,ù_VÅÂÿmPûØj£%4¶'k4åO&ùKÕ¢:×2;V×\ÊþÓþ¿fu±ëÈÊ?Oº¯ÿÎËðjWãi
fD¯úex(FQ8"iä¯þz·rzyièíÁ}D+G^Em?©3ùC T¼-Lï~B÷ØÃÁï\æäH£f!÷Þé¦fHò´ Êa]< q[¦ Õ{5JÛý uÚz´7p¾2ñzÒá#VqP´n¹ÙHi.~$ÐT5Ñ+ú QÌ÷¨-6ÓÍe5{ßf×bêoÂ>FJV«Ê²¤yÃê.YKòT'GQb¶¯²YP©¼ÌÙY{~=µ}ÓE7PXëdIºt× ZLð!üjËýDô /Rì<tZÝÈ¿»X¯j£h$Ú%PÙÄÂð0ãí1å§8$%;&öØmÊ!ÉxýX;
Zofôe¡óEFo¦í5²åa/¥ß
=ÖfK*Î;WÔʨÌyÙ³m¸â~ö9ÉCVå}û©KqwrªbÝpÑΨÑdÿÓ
Ù¸5p~MåøY_¢ªÂò×s)
"" DO:Cå,oÁ¼59fÑ16cVPc14µáÛÂqñÜ2¦³(&8üÛ¼3ªýAÇÄù4²¶tÓÏ2Kææ ¡ãÍR:^¥)U.76eÏæj¢Î[7©=#}»
©:>)öÜÓ7Á¡vú¬.:Ã,KMóô½0¬6q$ =+ÇôÂÛðè$ª 0òù4Ä]ãWeò0¨ÛH~ó¢×à««`ãz¶h}¾´M9彪aw3´}&YüNéÛ/Ê4í¿DkaXÙuý«°G`äè ppèåÐê(·³5H¢è»Æ«¥.¼ïË¢ª:O¿à!)T,Æú+©·4%únÞ½÷»þnèjajº=WªC%ûn&»jßAKÒC4¡ÄgÁý³'ÝEMa3^pd¬å%ñ ÂDébù1üMI¿{[X>)ûÒÓ8ÙA at FúoYÚñßM ýÕÃѽì»+´ºÉ)ªdÍå^h1|~uàÎðày2ë®cÒ0b§¥¥Þ;fþxû6E5Õ±~˧dÉ+?É6c%'Ä[Z¦/±4"¦ÛË/4^þx¾ý%R<T÷ÎÿÈýõêÕÒë¯Öå¤ÂDF¢ú³Àro?©»
ÉÈágÏzñAVêÌäOÒñì2
/|Øq ý$² &¬
Ödn§ Þå+dƪÌÁ<cnøvÛÍi*ý_¦Úö!ÂuêpçÈä®È</Ò5Ù¶êÅ·KéRÓ ?Ì=}cVÂã++YPõw0ÊU ÛÙ-~¹5»Î®Ý³¨Vß/¡ ,P1:#ÒM¿Ú
'õGÌ·ël¾*6[ì²v
i£¯ìf¤cã°µºÙP*îØ°ãX|x
%
\T¢Q&ånÑUIâùØr,OüøÕè;§_ÆUbÜ®ÑóîM¡îHcIüJ6Ý(îÇ@$oÈÚxqÓÈR©AàR@Rxxý¼¤X³ÓuMùsVú:¿x
[Ù'BÀ08H½${Xaë»ßó*é)½÷³Â²úuùy
E`É>©ErQ¶/Ü£íµTæA¢*æÚ6!LMà@.40ÌAÐYìb³Rh)z 4ÞzÉGÐÄVûõPÀ¡%Óè|1Ë]G
7TöoKÈJ1sæè£ÆnyoD3ß]òbB1À=9q(F
z¡wõÕS%
´·· 8/öïND©©Þ'ìµ½¬ò¾´>@mߨÍçÆßÍsw¶7[Y:YyÔ{ya¬§õ0¾ÙݺïŪ]ÞîÂî«X#þ*ý¼çúuÞï û§Ã¯ðÏÛ§À)<6öMhꣴѧ ì*»â$¼
Ç[û!û4^¢BøÓè_Wìé»á«Ñb| Ó4>Ó_Ñc²ø»ú´±pÅw§3S°"àMgHÁ£ë¬oê×äçþ°{5ÇöâmÑ$c§Õêç|[k1AzÑ["P0É®PóÕëªõ\g#U,½h\ój«ªÿP^ô#¦V«¡ÚÇì¨"Ì6h¤È¾þbRé¢ßÎÀȦ£K¿-NâÛQãO}ÊÑi½¬õìµ¼ D㶹yô_ÞÒÞçãG?|ªzFy^+Ä®k½ låÌàD>'²ÝWaµHÁ¥ÇÄSët± 'Òžlz6Éü#gsÌbfÍmßFIZÝÅ*èéAíg¢»q_Q=ï\¼eH*`D¼Ä¿þUu1ÑÿÛ{{àfH[iî.2,xDà ögMÌp7s`Â8÷^rƾ*´êAÀkzáLL`å_}KS@¤ù?7¦Ð7_6ùû¦CJ+ǪéfḵÇê¬RTÊfÙNÒÕQ¹·RBß><äÜduäl¾´û+ðõp8FÌc(¬~ÌÎÉmD
áà8«E.ÈeÇü<ÞË+ÂâPÅú;Ï¢êZÁÈ
@LÍul^-É0@dddµ!) ZôEÇÚQiP³p<}Õ" 3já©@Hµ¬<êt ¬D2F_ä áb×eGÀ¸Hå¿Ëæ¡
N;5dñy.!UlË&(¿¢ü#ÞB!?5I㫪ڰl|ØקùøyàRPæ%¢qdéMáNX˪WGátáVóÓwjlcP¿¼?N²µ>q½5«hãÜÛÔÛd¨¤68ÏUmm¯3VGË>¼¬Ðøº{õ½ñ¯àm¡& Uªþ¶P(mÛ<Û»$¿¶±!q3/#ìÃ
º-ÔNíWT¤oVûãÝ9×KÕßé>ô^û̾d{`³$ª$t¯yevª-OµA~G-é¦1:U,*ÈöÅ´ón/,n½Æ$Ú²ï¶Â9üõ®Ð#£ p1dÚø(-H\Ý×¼ï|óØvyªl[9&&Ô>\óoqP3AòpÂyr_sö2²£wáíOyu}o0³åeNyt9l¸
Jøw!Ï êÝO9°£¸y®zÖøÆÞÌ@½ø>}жÉÀØzyÒ%ÈcöY©%Ù·iâºÒ>lôCj¥¹ÐçF¨ÖöúÙôM~¼Ó8é>«Ã59(bÒ»GïùÎo߯©Åñ,Û¨=¹®êÿó? äÿÆÿ"=A£ÿO!0 PüBâþÇôàæM·WàÀxÏðýú«-Yð1éÇ Rª§HÅ»^ӧ㷯0
=ü5Ýü"´Ü¹"å¡~ÁVÿ±²}%¨èmÑ Îa¦ Ýa
¯ÜqàÁdIç1¹Häd·½CãǸ½5^Ìw}ý ;ŲöeLÔM»ñ[²ÇcðD> Jmê+ÑWøx.à#¥Æ¶í@b
£ÒxÉÚ «B`x¼¾à(z6>¯¿Úã²'{j{#zÉÅ5 1¦ÅÆtºC7?Ï£YDUuQuAÐ#´ï8ÑÏÚÍ+~üpLíót7·åÙÝç±{@ÅdN%úÈtC
@ÒâñlR0Z':0öáJ rày <cÄõ+viÕnô}]Ù Æî$ôÕ6Øýmõ«BË Ñþ¯·@NÙèDZíú,°h^mó#þ*ÏrSåæÌa+Dæ;f<Ê >uîVzXÄeDïÒBãN½ä}v±|bõ&ºh¿áT±~+þùûòêÀ(
}Í ìîE#Z¾ãyOÇÍo eªæ¶é<ã×ê
.Erª$*«Í0`Z5
TQ at p3ê=1,y²
¤R6÷l¸ÄÇ*`¸úHûédtâþünåb¾"M\hŽÃ[^:)µ±¹ö±Û90´TøR¯ZÓn¡pÁï)È*¦ ;C
XFõ3å_¤Ë~Ìp-|FC)HñÜ9|{veO£kaÓ:õdÔ
É1½Ý _Låcmòó;éA×úÂÄ~¾Dx¤¾òÐä$Ü <¨H±gÒfÇãªÐõ¨Ñ³Åµ·¬N¦º°/>w!Lv«Ç·2ÿ$âvM
CЦãÕã<qáä*Àãéï«D8ÞÓÅÍ¢Å$3
:úÐi:Àñ¾ôÉw×,jݤûȹéÞOoаSSxÃâ9séãÝãM¶¤öã¼Æ
Ïý×Rc§Ñ n©f²Ú¼Ý*_~¤¹4Î9Ë<>7¥àD#¦8©ñÙYÌDGPªÉa¾æhdN¨~yI»VÌAÛIqíÀ vwnØä¸|Æ&GýÙ)ÔYz8>{à
eßÄ39ǵu¾Ó-i¦ A\Í2Ë)Ò}~+X}z+±ÍñðT¢Usù@V^ò<6}8Cîsoá}ßÇ_TV)îæòäÙ''Y4Y¾bðI14åFKT4qóµµr"¹ä̾0b7ÌT¤ßÉÝM úóDX8©:· O
Ö#ro¥¯kÍgÈUgk$¼±Â®üúj*NrC Ī¹ÿñ8ßq}U§2ÛèÕX.êäÔ.rÙmí§Lrm§;$y£
`¯±©¤!ÁNt2Æ?ÔצQÄÙ~ÓjÍH?Lè5l»íÓg£EÒAáBûõ0ïÐyì^^hoRÒ,©4ÚQç7+"=/)ï&ÛÛðIn)hm½IoiO³*°}Èq°¡ÆÇñ¹Á:~:¸þ±já=Ù`(zãx
M_úhVûå©|VRÄɽ^u{Q© ±
bUAۣ6մ⻺
}ð¥·àl/ɲt
s´ÒÒ\J,Âçú¨ðIjòdõ@&üJëÚsÃ=ù½è'{<ÄÛ>>>7øvMNN¾¾
_}içÍ4Ö!LvIz7Êu.âÃìÎݲhGKÃ5ÝjÚ4+ 5u¯K8ø¾PJ1¡¤ÄjÁ}üV=ÅI¶fb¸à·Ú÷µ7xê?û϶Ï&åÛ¨Õ¬ÆMí~ÿ¾x´²vïx÷]áJ̣ݣf×X«ÂÿÍ×p©"=Ð÷¢I9·
¯5Ô¢c%¢ n
Ïn³am-7¶ûbH±2ḺRd
º{wñ¤ÃÜ~÷yý
!)8úçWé3{
Y}hioóC·Êy³SÄÃÆo½ýV' Dw
ÂüÙ»¨Sö1Çö-þ2 at W²¼p°£É4)çlç1*ËÙ!xü\P#DZr|<ôì+
ú Æ*¹f`?zd/ûÇݱ^Wõ\ÐoÕ2F~Öwý¥µñ«
H¶'lq%Ç·i^©¥ÄT¸¶éÁ.&¢o=5¹QTÜ]iyuñÆ5ݤ"å/ æù`I( çV0rêo¿uͺasóóÝèiókûú[íÞ^¹ÌíVj¥É¿oWs¶2ëëéÀz^pvÓA [Õ½O.¿ë @4
£$·Àt¡íå3e×ãí¹U[¬RøÔ9
3¤b´*qûÞ,ïAK¤Uª / Xèèï@xQ\;Äf,ïAQT53u(¼ñ½ðFÞIɸLC~ÏʦÛÛ÷ÔUkØ»©S>ZúîÍ%û{w
~^nBA§Ï»hÌo¾HãîD¯° ²ª
¡`LÊïñÇS
Òm¬`ÇcCÓ%¿yÕ¿>pNoμjäi*ú2ó{9³j?øg`Ðé}±ùa1âÆööUÇÄZÕ}ëOSn>zQÏõ.5%Þ̹1.#¿3O±}6ëUlººþDö×ôÒ]@4S öH±÷¶ºwÓX'æÀ)Í'qMpqñaÕÌoîÓ«[7ß\Vÿ²S|¸r_=ȤíXÑ7"(rÙëiPsÅ÷ßÅÔÙ MnhÛñª¸mNÏ^ltUÒóZGöÐcy½ÇÆLòxüa4ða-\3%ûqóîIJ[KVÞ}ëâ'QûãËR7`³BÜqùRØoöÅKúª]3óyÛT#4'cØCÖq[zÇ[SÅëÁlíÚª*2 M6Ãà}£Ã¤®ïZ9ç¥á
aÁ¹Mm/Ô'¾v"©ëa¡ÑÞ¥è$Bü'Îgª1·"÷eåæªIlÓÈK±°ý{MG[ FMûº²©ègƲFö´ïz_R}îðÇ N>ù*suð6̵Ð}»ç
vòqÜÏbô²æ*!ÂoNym~ºñ×HCÛäü^Ï÷?ß¾ÿPY+ͱê]Ìñ1ÍHzv^I¬=hz8|Óf=é³.æ£`
OLÌÙSå
ã1Å@5ó2pRLÛE'Ú7C¢ÂëÚCÜ×seìËÕ<ÊV*'hc|U3´º·íô*¥öæQÄK¤¨@19×Î[á¡©îO&v¢¾_JírpWx¬±éµUÙwþçF¤ÃÝLpèȧ´áY×{Õ×[ÛW(õ¹QK®½õ¡)÷#wæ%¶S4%~7Õ0©0¶=p½Xg>wæö¿-ö-H¾×az¢Óßus¡};ó¡)DYà×ɲê8ß3Ê*;Íw»â¶Æ·q{QèúHþ ps0Ããe³{Ë%*Û¥lâaº6aÂt2 "OÞÌÆ3¨p*ñûÛÐÏVnæºI=ãú-»± mNn·uÉ_0½«åÜòÓMw'¼û´Nágt¢ÙÇá<Pòk«¯÷®÷J3UþRAÈê£ñdHª°ÊOJÊF¬ô_¹Î©|øÀGÓ^\÷.ûÈ wÁÁÕ²'8 H,éWZJ%"/Ëö&älh}éDhçtÌ8FCm±°:¼îÓ4ÓVÒ¼
1h0^¦Øõ̺Óéð(ðñe¤#êQº.ã¶Ð6¢3(¬:U#êν´£½Ã*±ëoRpU0èæ$OªÌÍÄ Ò§½òï\Ë9}ØÂöý¹j½TUIö
cs)Q¦£Hi\ÑaøæE¨gb·Ý·C|DÆä÷O@;n¾øп§ßÖZRUý&zG÷죬Ùàf2³ôÇ¢å~::èÝ3÷QýïtÇ_¶íÖGçiqÐö ¸Sd(-W¸W楪¤ìqs¨\ô°+àÝC2ÇËÙ"ói»<¤4<º®TC²qô39ð//Y`ËA]i£¦þ{ЦRУñøüLi«rny«K1³TýËãËYÅ
ÍôØÀ±iëZ]ûø7(Y¯Èe%ÇH¦7éï°Z\#¨1ê¶ÐBÕjé1ý¢5=ÿmå"í,SèøÏüWå[¿bHÈ-Â&]ÃíÆt¡7ûõ?æstùiÄÕ`±.£tÙqc¤;¨jâ|k[e( ÒïÙ-/6zêwØ«-D5VW\=ÙÈ[¨~û-%~Ïk/[`|#cøZ$gWC§^hòÚ°¹*_¿LÞÈpo6û¨ êÙþ]ö¼vÔeÅ9æßGjÒd=SKƪ¢¶Oø³ÕÐ:ýy³é[JÞ1Ü<Ðò¼)~sEI?÷+vlÌøß#!=¿¯¸õÝy¤Àæbéð/yËzðÑ*á¶fEÎÑðhªÊBòóOW?íjAqZìV× ,ïefê³
sÃÓDD òì¯p2skN.ÜTKèÝ£%ïm㪴â d[OX]ô·D-¦¨môÖ'Oñ¡á>æFżÜpQÙú .<éð²C:Ó{: §¸ÍGåj
ZgbÚ§ÀãZ}²9*òô=&ü,O1Ⱦï¬Xq¦Q µ´NN·)Ã*»¿Ô»Gc÷¹åïÝ
câ_¶ÏÒûf7°Ø°;pÛx0ßkwDÞe`P°«ÿ4c±|'"ìÛmKÐË˸VOÈÈ`ÆæÏ#ëBò
Âm!·õ?ë1Éù8W,¿7S"HÀËn
¼õvªr üýAôó¤l
ùåÍ>°Kéä|özl^hÁ zÞ/0P*]Jì¥á#×8
6iOÇ0 9ÆÜ=ÓNÉAñ54}ðÕõsµ`l]ÎÝàçjùr [ír !tÑ
uÃõÚ
þzg+-âúÿ`ª'êç ¬s¤>]<aBôÇ÷VãX&Isz'ëw.:vt½½Pîì^a
`5Àú͵Q=×´>lå#a,
Ú-ÏøsoÒ^IußqÁ´2Ã㼤À¾ýÅÑ÷î]<xêüédB5§ÑNº5¾8c±èNkbm¯ß$óN^¢°¨9gù 1^¬[ÙiM¸öÆôE×þJqì¥uVáàæD
æºÜQ³EHX·µðTÈn(±vz?(®.)¡òÚ|¯~ ¤¦ÒÓY´ ¶}ÆÁäï{}íÅÒÖ¦7;é¦5|ï[@·uöÎ~óÌ~4¹âF:2®
»r`½.eQÊÛ¸è¤Éa'P¿î8ÒÔ7ò!EËý°¸ßÁ #Î0ªn=£²^ý¡¿ö¢l|Ò<áE1A7)wKýZ÷×è5Û ÉoúÞ:^l¤ ~×&ãGI4ÿýðç/Pñ ¬ñÖq!è9"jç¹2aöëõÑâ[»ÞQ$V0ùláÃüu#K}å$]%å2@µ;¡;ñ\¢iE"æm¾µ¥8ÑISû~oöÝìì°ÎzW;¯¦RGßÄUÓ@FêP#ð¨-yÅ«X»àRAÈaSBcô6{xÁ¶ººH¥]ö× =\ë^XX7jMÑUd"§µj·þ |kÜ(xÀOúZw¼fm/é|ÒëïêvË:í_Eü¸c>P3/Ù¢óF8(t48l¦ò¥³3À² Q`K8ú«tx-2.aSRsW+PCÓhM'ÆäKe9»
a¢GÉo¿ÄZ!Þ8Ì"ÇYNdJDÃ0ìÛp¡<PËeº<ТO%ùÑ;9È6nTyDZg®Ä¨jÚ U2 ÂÓªYIjsHøq°q
$!ôÖG%°X=`_&=zx±©ß[ó<
Ùܨ;ð¸¡QEEù¾ùaèøBpÜ:9X!×t5hIF¦Fèaá¤ò]}7»ûú@µW3é2?ÿ.Óõ_×FE^÷ÔHÅg;yñZÖæ¢nl={ÂøoÈÅL¨´¥ç¤ïáËÑl2yÆÌu-sÓÖ
=VÛ I° ¡Û?Éz¼Å.=¿5¿bCa®Yg<³ão vïµd
Õ÷s×ßaçhÅA·i2kg¬êüÕÚGeÑ èYøi$³î1p:óFük-Mëa¦-ot lc2R³Â/p¾¾~é"]:¸0ts»w2¨ÃKc¾üÔa ¸á¶9îôâå8"LÂ6à
(Åc_¼¹1&¥oì7(!aÀÆAÐÞ$gkçÜß!êq37z~Cú©®Gtº¹ôZf°º¦ÀéÀ+©¬Ùg®bµ ®ÅþØ©"±/M JÌ`°Æ
O4 hä?DûOÿKbýI¸1äǦ×3
϶ìü²f»¨V¢hqÓcÍ >G6ð0ó0®qdþïç]Ï»:ö¿ÔÙÚ£çÉú·í6Ë
JîÎ.õÞüïs\µ]B¾b_µ !øïÒRhµÊVÅú
î»ìªyÈú8¹ÊߥYIÜâe3üþ³vÕ`tNT¬¨aß%èïÂÕ£».åwæªr%Õ+jæbD3$}üèüüÙÑ#qw2_Änq}9Ñ̼<rÕûðs}üí¡BÚÖ-^må=´¡UÄ0f ·ø5èVb ˼([Û¹`øÍeG²Ë¸´
^ûÀM(^< õ'0Ú`1º~ ®(ÑÒ/®¶UíàòmaÆ\©
V¹
ç¾#kM|²/Ìsé6þMaÂÒ
iúÈŹÞ|
´jå].ÓÇѪâ0WáÁßî7î¶} ^¶@MÌæ¨/aÒ/hoðýÍïn H}è9Ô$'÷ÕZ
©2:¬EÖËÌ¢0¤´à³ñ %j#O«íiEF3`¼HélPN¦! ÚâH¤K íxê£ Ñ¦þÍk¯+S`4HÒÔv¾,OjX0çº|j-MðRÑ7üJ|h[±}×-L©ß¶2zt~B½³PQñÒ5Äu°Eo¬óÃf
X*zÄÀ³0ôÞ1÷ÕܾÌ~¾ÃÅz&ÈÔQê>üé
L >§Æ9ðc^HDzîòùЫZÒñ%êë-778ÿþÍÁÛ¼§É¯x¤oU©¤ýBÛ?G¬·ÜB¶Þ¡-í,bÃÕ.2aÄ|c]´i@n.§ËÂÚU-°XÆ÷A*¦bVß{z{÷~ÿþöºb)ÑÄ2æf ¡àÃíâS#5¯L
Åß#Ú!ÝG_$µzoªÜ÷ÐU,Ä Ä|£
¦Y,*ô_a;Ç@ú{cæǹçÚItÙo at nÂs_¿ÐÒK\± Q?O±ØÕ¿Ó?K·~é[½º+÷ôLãV¦ ½®DuU¼4°ì·¶áe-eÐä{ú¨õt÷â³ÜÛ×@Å'jÛt¢é®É_
jÝ©ßèë=1ª0ª(ªÏfå7%ã(72Ôù6Fs} ²≠N¯qP¹^¼±¸¬L\jP¡ä®ý#Áô<ÐÍèÌ-ÝýQ/¢;Þ
ÜÀAjÂçË5É¿]?rä ïAè1OallØx8"PÌ£DÓhTòí
½2Tþñ¤þý$ÀxHÖßÌY;Ébµ¯¼v¨k
³p¸f[_ð\¤BÈ|¦ÒrùÉYJM^Ð*áÄÝϪ.jlÎwrºqÝ\6ÓiÄ»ÛI¬Ú9Ú8ß¹S?Óö8lÍÅÌJ¨©à>eåIròHò%ͯ¾5il
º±¦¶`$Ûµò©ÍѸ½ÚÙF¡éX!<&Ò,ïEKÚwx_Þ¼1½ÄxÅ<)ï¬ft
æà¬Ã]º ½«·4)K9õs¾ w9î0бÿÂöS³21råFflƹ"åÝ<F
E¶®gërð£Æ((%°øç4]æ~uËMf
Ë»Æ|!Ô)Õ}¦¶ÿÂûÄnZïóþ)ÆUÏòç-&}vÏþôå«ædoÆJÔÞ°®¬¾§ä ¶Ixô$ ?IDß²)ÍUü±=÷Ïà¶}Ù9\®jðÊêTMÏðÈËå»HâûVÏøÐ-ôÅC÷{õ=3!E¯<45 at f/ößù¤åÉ[ruG gLÓôàð8I"µm
Æ@pHm?KÀóñ8+Feîîר¯f¼ÊVH$ѳîÛ
ÓÔvfÔó0#Öl4O÷c-I×÷IòNQÖê¬ö]Úíd÷!Òkã ¬ëÁ9zðÈ¡ iöLs-o'êªØ/I2¡ccû8ØãG
®m¸M÷?£çðBz
L?jê=Ã'ßµ&Òon«g¼Ý|á+Å;|¡]a*yÅ^cg̱;[2ÀÝR]I·
IÉ
©qï¡÷¯ì\ô.uD rØöGñV/yYº¥j#ÑNÌ©(IÔÂ'¢@9Ô9á߸ÊY0§¸]ì9$Ô*A³'Ö?ºY¿Ôì¼Öý¡ÊcU&»ïbÉUÞÙ`6p²ª@?!Aoêj}4Ì 0qÃ+Ùh»YáÄÓõ
%`Sos8ç¾u±j^0<:fì-J}9ñ{|¨¡°V-(Ï®Àm´¹{ÒA½ëi"ø[Ð@2ní:
a{cR·Ëä1 §ÉlaÈÆZébëã.Î|®ëtvV]Wë¬råLç0ÛHdØ):Tr¶5j<èâ9ÍÿàYn$ÀA4àVÊKUÚ Ã:øþ½¯¬*ú:c0XÃf8I1;+Ô Dä5h`é~¼æh]Q$åzÁ{ôѳ*q
@/nÖ ³·ðs
âo¸û׬ýä¯/2LñÝY£®®[²öÅÂ;©tÌÜJ%ý{
ù¥Þ°Ü¡¯æ,¹îݬ§òÍß óJ, ɪøXl¹¶ÍÆýu*ö"}©¶¯y<êGÔhKóKݯçöm²ÆNÉ!¿,â÷Ë:â=AvÍQ^7RÓ'zýLɽÿétäòþñiôL'eVÞæÆ1ðð¥ñÍqþî3Ù^íh};z6c^sWFMå?Ú÷}_VÐ
QZoÕÃ+DßÓè¹&K.GEÛÎÀñ'5¥3ì´úÖñNaKò?áv%yXzÿ¯%v4`¢&ãBÁ6r.Hv=Ƥ×)vÝ? eêiÞÏÏ1æÞÒîUÇ%¶AÞ(ØÇqj!Ly·ÒõüVîð »#Ï-bu^¶g~raZ°jÜÊÏù Í}¿,êOSnÐÆààë6JüÎ@i(°M<þ$þ51¡P
a¼ÞÔ%õ¯Úy¡¦>øç£××ïþ:»ñ=åÞnZs¹uÆûüÜÕ,çÊãp3Ý@% dTåEvqYÉéjívÕ
×æ´ü?]çø?î:3ø"îKDÿÅóÎüàälä7±ÐfUt§Q£,¸F½éXJ #IÀÍâÌfR+eÕhP BLɳqÆDµÏÔäËAB6bT¢£Â¸R&£Jl5OѯÍoº*Ûhd¤Ne5Ò½ÿXv>¥Ni@òôpjûÌOß<¾]ø!â{½ 7æÀ1= u_²íÐ%²)ð*èÙÜ:"¦ø»'YÛ«©ù((º`Â6ß±ÊßßÕúýoõgâ¿àÓã
¿Ç9«4?ûeù2Ð`;¿¶ÄÜ4áÐ|÷
x,8÷ì~¯®Òb
·p(ÇóØ$ÛéZû©£ê¼º ¡éu«%ÐåÖ§!¨kùà ?$±qw/¯ïÈ\ÌJ¡g̳¸ØòB1¡V{Rزq="ù£fßåàáí¡"³mñ jðóF0uì¹-GÂD¢Hרçϯî"8DJ¢Íc£
À<¶ÏS¥$¦÷ÖkGÎl
Ö*Nàh
ªÇf âÆ°X¾}Úfi²læ¼oÄÃ^6®hÿOÝsU9V÷jYwc°~ôÄ:E E·wzQïR̺| ÖñB=ÎD£*Ø· 5vìIÑkQ'x3©Ós<@
ÝÜ6ÖõÖ&H*£m1¬±ÅT²¡8ÁÑ7é
ã+Þ/õõÑ$÷&ûUô®7²Î\.梢m]ɨt¥ÀÌ&ejÛÇ(±cWx
«SíVfôqLò`]BIä¬úþL³Òlmw¬¦¥ª© Á¡½¥¼ÎÏÐZÄÚK
U_Ò$?zÒMud-u-k7Ý{Ç{ÛõеOêQòãìuGwâÖS3gn¨ÆÑ`·[W¦°Ü$ÖÄW(ÆÈߢ°SmãeòzãÕoÒáÉb`I©ÁjÀ¿*¾6 y¬9éa<¡8ª»Êû0YÒô ;
àn4% Ç|X Êú`~=ÜoÝÿ@à fú±ÎÎËËý®Ü¬¥îºÝBEº©F1æø^ CÈ ·u]&~ÌËÏ?¤ £j]ó5¥ã¿lvtaÚg&DTA6R|EÈãÇE´ø âãåÌ&,ß <Bñ{Ì°÷é?òÊÙím`kt¢X6ÝƶùïÌh¥ÉÕw)Z/fçæy@3»î±8ÃÛÉÂÿÕKDOaì#m>üs=6¾:·;ÕmöMÓ¥hûþ^³qy¹§«Ô
Çã[AåþÞ?C)z°ø£¹¶\gSíàE´"ö,vÄèÁ*$øt?:HD
:º©ÂPÌpÄ%±JÁ8kO+ aq³ÎíÅXÛ©ÈeSÿäÞàJ«\tD¶
8O
¥7ð~ûöñ¥°çÌ]ælp$°V5;9i}\³²q«4^Swcäc«;`Ì
Å0ñæÁ¼gâ®BÝÆ6l³*ÀZÓOÈ7³½»Y*þØNÇ^WñúÇÔ$ÁÉSâ3ÌñåË¢
©Á*ÄéâWÀcí÷Üò¥óÇ:<³B¯(Ä;?ªÐ"39×2ïÿ\Z,«0Èøöø%õÀcúö4ÊøUl`À0s8^Ç<cwöyHëqF
n#lËÏ,É¿(¢Ä<] ü¢ª;ûà·/kÈãk5(<{Eèkã:q¸wÐ>0ÆB× ÕP®Û,äÔ·é«+*°rôc·3F#H2ƧUòå+W®
nÄß*ÄÃĵè°ÁåVs-G¬;Åp+à÷Çî
û¤@£X¢@f0 xßOÝþÚ7øûööÊ3jý÷[å+1KyâÆìóÅkn4]uèÅ @Þ¿YÈYÎ^ü¶$qæ ¡Ó~¡rÞ¹æEÎ1FJÐ~úmóýgÂæiàíÉU:p¿¶(Òª NåqtÜ@?sÊ6ã5îÓ'H'Â7Ë=¼aw>Ðéæ3RV&-(_Òè;HþQ,ý,qÁ(ÒÅÍ¢Y¹ö«ô)¢Ý¬®9lÒ/§5 ià£ö'ç¾
ô¾ÜÍé+ )ñhÄ¥ä
_ÎÔ×RMÿ84<ÿlãÏ°ÍKGºõ¡ä¾!aa/MzÄÁe©uø*Cè굸¢ßáVûÒg²à1áNaB2¨Vu´4Ä#.Q~±hô-¼~M´çËà]ÐÏm=Å @TÆØò7ñ%nKnþPø|êK×7\õ@:>èzÄJ- Òýv ý=!übðÌ *&Â*ö¨uÍiãöí¿ôNnµ{´w5ðN><hÎvU_7gzÓÞbý^ Ô×(®^Ï-®ð±g-olr·$ûÏì/3¢që{ý~ì
<öbÛ'{yyдdæ\Õ+Õ¸Äö(Ãg éø(ð+´]%vN jxø +þl@¦ÞRJcG°Áæܸg7¸\ÚbqL¤rKª@ª_Ò;êéÆkA,ÐÖE´yĪ
^\*×O+È`°Ç¥Ý Í©Åéåü´L`Wn]BÜH )á2t<JäÛQH¼hÖèÃkó׶
ëÎð^BÖïpw\H¤
>ªl1ú¢ëONÄ«wÍó5ûÃcVr¶EôÅU¢¨eߧ$âÒËuÄ2µ*cáþíüw/£¬â¹0éã¸ÆßQédtíCÐÅXz¨,èÿ´våñPîmffÆ6K¨îCȾGjÁ ]Ù±Ã0d«ÁX4Eö%IY*BQ*BYRJÚ÷H:Õyg¨sê<ç<ïó¼w|f¹×~}¯ßïºîûééÒÓrK
óγÊh38Ýü'íëö¤ø¾lÎ×Õ-Mðë`5Åç& /7¶j»~f·ß$TÅöq»ÍÉ
f6zÐÕÙzÀ;¬ÔÁLÌ\i
´(Á6ò8,I5ÀdÇõHt9à±þÝÊ»ù¦&¡ynú´3Áü)Q¡)m
Éæ0¿x¾³WÐ4 ®s.ä
ÈÉÙ OõÏö{0À0Óèþm÷Û$zÆH¦_}§AÀ|çÙ3ÑO6g»|6Ú{°öó<Ùqþu;=G¤ëÓ)¬8u$Ë] vª_3yE÷dÖ2ív¤=ütêrnìýXÌzïU¨öÖvÎGÄ#g¯h~=zÊ
01ö
Æ=é{è ¦¡æõĦ{TWt1d2· bzgíyéúGø<v²ÒiÐUìÒß czÌt+¯
²7áX×Ó(K Û <H×EkGwúg¾²º-X þ ãlnÇmÒ]oHØ¥ÊéàêÆ÷o¯tK?:¥
ä¡ÞmW½eoª7z¥!Ú11nÒNb³Þ§ã)Yv:í%½¾÷<56okG~ ([(ÊQ¶ÃÜt× fé=ÛM`fºûÜemfödy'|ªxÞ>7*ü¥3®Êõ[ÐawAñÂ'Ì2Ç2áë@Ö¦*\zË(O(BLJl+lÎ^yQûYd×Ik;:Í]_Ö²]g_UMªÔXç(.îªÚR
ñebÏ»#ì§%ÅÝ¿vdî(ømSøùä^Àã¾×¹¸MW$»jH¬Yx¾£F/lì¦ZÂñ jQAéf"Óê,wbõñMQS5rû}W»¢Í{Qûp =WFK6Æd6¬=ïp4Íóù[gªb÷xÇÎ<×ßØVû||ùÕ>ô ÐÛ¶¾ ©tlI8¼å¨ßܺÔø·ì`rG|!Mª×jjÜаû!T
k^x¼oÅñûð)NÊý¶JÎ,fn,uºyrª¸QÕEú±Ô2OXp·È6¿)l6Þ^C*;¿V4u¾ÙÞà°ÝKÁ÷9£zDQ*·$ïÝî¼h; ²Ñ;wÜV¹|»¤©Xf¬®A¯Õ%ä@Õií¶ú¢«¡äÖ)1Ûãbæ(L³¨w÷ãáru¹)a%|·^ÏdÉ
(,Bc5}>ZÆÁ7PÝpgøâå©f$bV³¸muóèÈÀòS¶?*JÊw" úàzbEêôø65 BÊȼ%SÌLB¨[£Î9^áÔ
%àHãmfö#_TgÆí:ÿ-ÿ}ßÔnSúOU|Ùr 7ü{Pý°q]Ï3ÚûÙ|ii/q#P¨ô}ÛÍ*ÕµBÁETÎ'ÚíØçX2ØôXlÔ»ÎÆ]$îT% 62y¨*tä9ÖF¾Ô|SÁżèо¢]CÏ»Üëj».#à6ó1ì>¯'Xbçæ ç5Ì¢±X¯®`í!LU%xª.ÛT¿#äLc¨Ì Ïõ¦V×8¾6]ñU¥GÄû¦¸Ã7^ZUÏP0gÉÃþ¸Ë àh
Å|þ)v¤»+$d¯4Ü
¶ZÊIZíÜÀsì³áCõHyådÚ9ɼèwdg»QD» US]G´¶IH`ïà áñú-<âÏfv#
ýV]Q=y»±ë¥JqìÞN¶¶³WeKwt¯>vnö¡LëNÁyN)½Ï4í±Ñ´C~Bbåáì÷w?@Íò
[,Ò Öñ)ëðGñ ½*è(7«=¦=;×*Û@,^oboå[CÞ#'ÏS¬Vb0iæù[ûJaÉõk¯eE ÷r$µw¢:JÛB=[³ñ
ÖÝÓ2ÅÏo£\µå[Þö be1Çû1Ȭz
»@8o{jÔj³¼`ÆêÈÌ[:ÑeíóHà¶
©C;-þHýxã$²ñX7¯¾²2ÒQ¡ßÍ«jÝn¸ñAëÓV`Mô¨ Ç,É]
üoÖH¦À?nßÿbA£úR75Þ\YX!m\ÓÚ$À+]µÄ¶9(Û ^N´±Û×>¬y[ ²cáh¹ü ÏáWbx7ç9
`R- #(é[H Rîe!<dù¦Ýö¬ÉúÀÀ}¶;,ô§
ïW1eÄ}í&²Eàás
ã&dó6ñÔÖ)"±Øû;f¢ùÙÓ9¥ÙaÐÇ2UFø'þãÅr`Ç|xy¥êNÍ%¹a1¶±¯Jó
)__ÕqûOFhÈh±ÅX¹©ý(ñ#2Y.¬#β]¾8à¥ÿÉëéæYÕ<fþGs4àDb<Dóa^}»ê
çþ¨íàV©ä¹çäê;ño^¿Ú úéZlþ±Zy°ÉaQ¿;,½P´È^E2mìÞ¥ãÞ¿yX
¹6-¥Éèç¡îÀëR)(2Î
¬-³®Íǯ5TÏs°Áµ H§æiä}YL-j[ѳ)߶N ÚÆ@ÓÞ.'¤x_¯tåÈ,®_ËtÙ¬ºpwéRüMóü,g±ÇDß1£uòÁaeª9&ÂQoß9*LÀ+ ÙdåJ|F©ù-¼
ðg{
tÝÔÛOO7*¨-ôÙ})áGUEl2%æÅÞ¢õ(¹âñ»i:X¾ôOe`Alúf8 âÿ.®¹#«EEîÁT¡fÁþûºYÉ2·º×«ªú+Ä-#³¶ÒÙ®òdxMQêò¬TBSÔ¢l½l±ÏÇMº~椳©bâoH7bª;éX©¡|$ü9nè9chÙÄÂ7y4
[¸èµ¶4v=ìvc:ùâÆW_4z¨î¨t³ ka³*r|>OJG at wbbÄÖ¾ßfë>ºoon´xÛWAR<µ®õÒþzáòÏH
ÅeÜL(Ó#6
l?³x
ìR ø½ß-iIÞß×m4¹+Òx-9
©£:8½XÿÍ×äw)~×Tóúkél:ÄÙÚô´
G^1¤'ú¹³ûa#Î
IÌ/´7ÁX°üÂQé¡RjËl*#¨-EëéeFÎþsµÞÕMà^×ZÔ»ÛiwC+³fÚn´o³°gH½5î§Oè¿,ª&`¥OɽÞ1ÅMäúcÃÑö
Að½:á^'Ú¯i½ÑÈ8¬ÎRùÐÛaÜ'~Sé«]PK׶ùSç3#øïÀø(=V+Ý0uÚN²ãwÛvˬØ)»Ì¨8éwÙqH_:66(nG§`ùùûƼ¹!
/.Oѧ×älÿbð$ãLªÑíTÓ©êc¡0Ü4±x×5/>hp?¶«*sYÖÀçDÑÞv=C*ÇÌ<ËSÎóßËðAõ
î8ðD=å÷Ùx)õ<8:û2ynXÎ|ÜÉoW£ÞåÅÖúÔ0Ü¿¨n°¾M¹ÝüÍÙùßÝfDã¼ãm²/»ÍVRõ<¤H11ÓëØçýQèÁËãE²}y|ÿnÐyô]}\{½ÊFÿõ·0ýoJòoaå EHWC¾¿x}yS§»v$Á; .êÚ(5wª4(Òq_\55Ë7¹ÕûF«G·¹eây³k»jç
ö®É/¸îÛ|p¢Gìu:÷²G ?|Y¤¥Ù>>yåͲQîõÞUÍqÆ+>ðé÷áðË\ýoÌèn¼oMä38ÏT4C¼î)HØóÎ8ërxOÛ»ÎlBUJíÁ1éÒ¿`2>îxb¨8d½õÂW»Ng.¨Ú»b·]®°ha5÷ NC%S|bªæÛ{0ÿ95q9ÏùÝfÝècFã^}¾Ù±>7>Û±p EGèÏk+ÚܸÿboËãgV($Tʲ8 Ò¬úÀ&3Ö/¡]z¥)aÛmNÄæ#¿HÞÏÄùïÜå{?ýM£sÁn¶F%'g-kz¹awA&ÁA¦2Ó]eû{¢Í#iº#gÅÉ J=é¯|÷¿ÓoÍh~.xSÛOòðT®=|A|÷=oÐiÑóuØüi+%$Oà }4ÍÑrX(ÖW¢·äR`MäE=PV¶©n¹0N.kÒT#¹Ðbu½áÊðAÒ°lú¯Þhd_E²4^^OS*OÖäW5S¿|y¡º]xpb_Y)4êR»Gí¿x&òCá±Ð vPÈV§þ6Ñ©c{É»GõOvï4ÔC7÷Ò<àv ½ÎëÚï°
öÉ"X°ù
ât`¯ÑÁã諨ù¬iÖmOGáÇùþêUôaf'4UmÄ<TPkÒÑ|/5r Õ5Ý
§ClÃ1Qª{é(#1MÈeÔíë/{²Á!vy
ÏSõw*ùKBÕØV"¤XÚÏÚuÑ÷ª5¿ôQïaï°¨bMë
É×Ï2×_]WxÝ
WîwPZg{¢Ç
êý0C×!OI0»|ýdÿ ÿ5¦Üls,-É4ÇJ;»÷«Bû¹=3f+¤¼z 1cU>ôÊ·> ìå°¡é
K
äÞ]¿t=]1ÙesÄ&¨^vå¶X+LÛ¾y¨&RÓ´EiG6Ïk@¹]Ç9«X©é1å æQ*ÔáHêåí Ôm:ÍA½ôeðÒ%>o3¢êu¤XLWá`wzYÁyY_>¦®ëEÕ-ì#ÐP.s·%à×f
'è<*tì-vâs
sQHLMºLEÆADó!¥Ëè|ò|Ûö*é6?3|LÈ
NØ~LzÕñ£øà¼i]ü§õ3ùoëÚÚIÓöha$åSïþÐpe]0µã°a²³s+Ú>i8·®ÍÅÖ)~
äiZrkÞçÄ_óMÅÌ p>m(·ݩþ1/å¦:à2dùµÆbÖȧ6wDV¯v¬íߤ.TRµ¨è@Ö両áPF}ùä×så÷Åí°nù|Òdø»Ì¹3%, revZ íød.%
_Hrë!¼~QQs¨ØdQâkZ´Õòxzø±[ð̾ t/8fwÕþ\³Þû96h O<À©j:;{º¿±Ëzo"ZÒmÁ¶¦6$áudã
ýcÊêKð¬}uïØóèÍ&o/sÝÓ1(I©]As|à ¼Ð.g>±þ¤Ï[£ð`HìàºCºÚJå¡%¬ YÂèûût¢ù>£¥NwÛâÊ9·|Í8&ìdóûc'£hlxð®3<sx7>vÅ"X>ùzr&q j²*6eÿfVSÎÆÞº$q±W at K[Æý÷Âê*ðGú%³³ç±×úü6õ®£YVæ¨m¢¤»9`x§2Úlóâ'ÈÁv»ôë_Ló/L@GõzÎgÕÃÑKKE¦e0 £P×ô·]?ºcܶñªd[¥)H=
ÓwfØnyD·÷L}ÓòñÂis×å©Q-ûöuºÌx5Ø:TYkÞ!5wö¨êÝÍþ &½c*ñTûL@ôÞ =
¿ø¼gpV9ÿ~¹´°¯R&ÉûÎøI.5ý°só¶¡kþËv¶IS&"dTp\¶fè¥âêвh¨â+¹3³¹³5¬äÌ\Ì;ɺ;O´£ó3ýr9«A«²ò}ns^o=Íw°ï[9 at f%Àå¨,m0BTq÷ñ)3Dw«Eɨïä¥ÂÇÆXî^¯©dµcõó
ÇN¥y>F²È-=¶+,¶
vÈaO*ú"ÕFóÇÍð_\ܲ_-Êħ®£m½&~ÕzX#rq}o¶]â&/9?®7Wô
í67Hk©f)bF°®ÂègbÂYU¹ºÉezµ_ÃAv½P¨Èz9ÿ s:|rä6ÉõRåçµ~#
ÅMf^ü{dP÷ul{©|§vû±§#Ok7Lò~KYS¬³U$vàß+&áâñç&ÅÃÀÛ©Ã_¯¼Sõ5 ¾yÏ>§¾<LÓgOèÉ0±8Ö·¯]¯ìÊaÔϳ_bs=rÍ
}¼Ýú«øê®ná3AO×[çm°Þ¦XrÈZÔ¸5
~}/ç2¦ÌÒïÍu.y¦ÉæW¼:2§:¬95~Ùg2¯Ð&{{ñþP\íÖ}F×´«y]{²l_jÞþÄ·fT}í»¼Ââå/äìO?yY¬íîæÇRö[E=V8ÂÏê «ë¥#(HAZL¸qëéç± iYÿ¨³2^KÍ/FZù½døM
Bä{RïêÔeÝs`æR²xÄSÓGn|óQÔ:6ìZÌH:YY¥PÚ,/ªÕ5týð0Uéµìøä·ö4ªmEe 2_C½@ÓàT$z=qÐÁ2(8mL5cÇ/£EÈ·jÞê³CÙÙ!G%
ÏÕGY©¨ /Yg&äåë¾}ä³[ïnér
µ²-#¤ûêXͨÇg£§ÚJßjVmÚô¥ÑXÜz!Ø])·&}ÏOí¹%újO²Sþó\_ƺå¬èûn{£çL·0âJ2®m(ضEEáh¹rOöÉgÒb+åfÉj
(êbzi¿¾Ö.ß
ÒâåÑLyÂf¿`%ÚiJ8ß_r
è¥ÛWD«
¶ö¿¹ëøiÛp5'¼Â{ÝE²6L3ëefîëxzîÄô¿´eOa§À!ÅÓ>gí'¼µÖ>´9zr«´Éé8I!w7 O°ér~Vk|®éÎ[åèXä³Àáæ@OÜ«æû®Oø6^&÷{ËÇczü?§ó¢¯g1μÚÍ÷ØôrɵØvzÏRxóË:Âø¥ü¥ßläYü0ÿH/d>µIªR6±©-à0êKDËó ÊÒ²±µ8 4(åÊIaÞEÀ¦qÏBø̳«è**³UÒí§«Y¬\|ðsy ê_ËCdH1Ôy΢ò:}ÝÕH
ݼ|éZKo69ØéUU+ UD±&Ç Ù§ÑÄÄoÄ'·m0_Û5p¬¬Áñ·ÁZæ&ü°}cw1kº·Í¥ôh"{â{t4}³ÑÅ2¾ÜÙX9¾ Ö¬©L^xEgéø)9E2ÍLP²
La½éÞ("à4ÓTXQ^Âw¡,_/5:ïÏ/Û
v¬=¥¥»|%láÔx þÀ»V^Ý·.íª"Ùj"ÑXká¯ÉßÜ!²[9ùî~<o2b'yÂTÇ/¹³AWjÁzrbÝùfÇm3®½,¹Ôl¿¹Ò渨¢ßÑ°á=à^s5jAvýÍHß[aÏ»È-Zx\
ºgÝÃ:ik_MvCD¦hc$¿áaevÄÎaÁKq»-¯¼V¿õ%M}Ó³Oë³iÕ3¯ÞV©ÍfÄëäÅîW7ÍdAal(Ië¨Í´NÜ'[;©;ï&y]Ûë=2]úÙÅM-"OºæâpWA~`áÃû÷å/}'¦h
f7oܽLªyîÌSÌ'^¿8ªA'%Ù½3ø>ÄõBÀ@ìù¡ÔbØg4gæ½Yî*Ó*|oùÛ¢Ã4Í®x«:¾éMÞµatÇí¯ãm_5·#$ñïªUP°ú÷ÖjclåÍ7UBëhçÈïëzv"z/ÿK[Ôèî»~~þûõ³Ý>Óçb§îWSJÔMJO:+n;ïµ`üîõWÉ;g.¬;¯WA¿W¹¼?"~ûy;_^/òqÖ<Þ*v_ÛÊýOê¤$×ÀiÌÌ«×ms cwQe°`mûRÕÁynwmí%»N»ÝîL¾ï³{äùº%Úã§_ßY¤?zºü r&bz
¶!\µÔúë/>¢S÷&®:
'%äLv9í¬8]ÚÇÊÔ0NU|ÆÌÔ
©ÝMãÉúÄã»pÂRY
B³ÙÒ'ý·ç×Hû*Ô
Ä×5ÆÛ{é2¶ÓØ"¨ÒÕ0Wµ6;/P#ý%XJ¼/í ÉIÆ\ݲ`¥È³XyAÄ C¢¯\
³5/½0WÇ4²ôuT
#èyïxsÔ.Ív4àß7Ü3S=Uÿ¨¢ûïbÁYMqWaÞh¬z·¨Ô¤Dà? ·ûZ?ßTºäúäpLò£Í¹Ô¢pÁÅs/wùJM®}X¦9N0\SÓ3ÔìCo{òàíà ÃÞØÔ?I4Më«Ú'tÚÒ½DÀlWhþµà%Ûwçª"Dücw¨|ZéºÑÌ<"êpýàâEËHìûyQ+iöùnWÍ;?Î~KÏÒn8l:æâÍ~!yFë@gðÖ£SÛñp# ºÞ±æ ±uòy±¡uKË7Ð|P¾ Þ²¼Z£é0
[BÂÔ<hQÜECÉùÈ3²K÷«
>ðüzl`ò¦øöåßn¶= LAɸÏ^Í
ú¢Q.U{z«÷÷ÒçfYÎ}SëÛuø¼üXpÖ\aÚ
ºåËÛLøÆNþØuγL˲íÏóË:áNû×É!e¤²
LÔÓ]n·Lowv$¸Ì<')SÎ ÚwoJ[ú²øÝ®g$3×ÜmÌTºúf²zpºeÁòCÍ#/Fùz¾ßÛÑÛ
îéhÆFUà=¤Ù>Ò Pë)¶/µ¤É[Ââ1|þ
bÑÝùÇvõæ/nz}Ts²¿ø¼Ý&¡±©C6~,7×IÛ5¿ÍpTGXT0\\?áì}4Ñíõù¤Û-v£GOgù«¶d?iÝUϸ[sÈrPÊȧ\µlXjo;r.¶áªf2p¤³bd*ØÊ«sÊà ìÎpöJ+º þɨ{íxnÌà
ó뫼OkÚm?h¸¦0×Åñúrx>þõQÌçî<m`ÓÆæ#¢7×ðßNòO,}9A½ñÎ{céºñù íñɨ¶$¿VØöóô¶9*EôJÙ
àFD¯UߣiÛ}ëIÑ'e"upð6ÛÔË®u]Àq9ñ¶¿ºY19 oyo®èØðý/åñÙïè|÷ªC¯Fvf|
fC·¯/Ôz*ì2ÑÝÖì ?ÑÊõ¦þP2\ð:í6^&,ËQÛ4OKB£#·<
(Íî0~w£.ÐÝÌÆë¡Nü·Xçëê }Ô4éØ5©7Ð-fø³³6ÊÐÚL%vÙVúBé¡
bË
Ã1ª²ÊȾWØvß6ß-KOBÌÒo¦°ë¡pÍLçaÆo¡9ªH80¤MÍ2·¹Õ»ñú±~^y¡!çGjÖßmÏ!F§|[è>8g8]C²~ #G;³HxÖÒ+ßÆnq¯ å³jes-YoüûÞü½ Ë3À^̳Z=±=J¢k×Êâ%¥_iÚ8ÉÌzßSR_>=~Xsñó{Cg¤Å¦Ôöò¢îþf÷ÉÍ·Ê·6FbªZØßwï ©×ôJAJ ¦8ú|Î|îZ9½rù&yaà¡ìò½Ãµ¬½1*'Öä°/ë$¦X_.ñöx«ºWO§"_Ð]/ð7Ê::o!
øA Å0ÜÝ¥Æèås×d÷\²}¤¦[_wRÛ >ôøy¹@±Í¶ÛaEaeÌæíåAêV÷²MuDÙBn_¹7ù¼4åË£OMá±àÇ0ªVwJBVLSSÐP{e[JZ2HXì¹ ¦7WÔÜæ?kÎÌcYeèÐ.FRPETG¸,ǾSÃ6¤r¢á<®(Ýgè ö£á(ÜÚDE3ípwjÐLP´§Ú}Y¤²p]©#ïßµ_½wòê¤ðºtÙqÕ©.2´É,¤çl3$ïhö`yÞ M^{S,ÆÜacö°õp×õ½z+Õ6
P<"Ó!Gum8WÓß,¦^%¹:ÿÚûx÷%1+R~LÄ^ç1æþ8í^Uôcâ£õ¹í62FìTËg¯UåÎ?Ú*-PéðwËéà¹6ÓÞAÏ#QTæ§ÚF¯
Ez*Ã˶¼7ÓàæÖ¥©ôM/$é7cSz+GîU¢çDwi:#RÞd!Æìêx¥úèTb[j¿GëdIÅÆ wç5ìÇÆ_©QÃ.¹:.ÓßäòØíá{i%4F éRép,Ä:®ßl&´¡UPÂ7KMÖAxáãÃXñÓ,°ÿ¤ºr
ÔÀ«m0UJÅ-Ö@mêP
#w\5^EÉìzäºyj¬« ; (³óû( 6÷YövEA³Ûá6\!cQØb3"Ê/,´âËokg*F*½¯n&#}+vø6Wì%KFK9º¾º½Q§§.×%\ÕL_,žS
7 êûã8ÎØ}Áyú äzìÛt¢\Wfqt
²½èÁÓ[Çp»cùF>V0©¥¨ì¬ÝÇájÈBiD[Qéæ ÇK½EV4ÛV:C0[9²óædUe`r¢NL9q¹þÞâ#üN=W¿f3×;
tÚpâG;büªø΢R©Â)×4Т2QæNæërb6+µmnð¥I=\ZÔûÜèÈKLFö[*ôáBêeÐ8!¼ß¦1iÖ° bQÂð@ËÆj13¶öG3fùoÂ-sØ9T/!ÔIOácN¾xQà÷b#åkà:ͤwor*J1ÊUs@~\¬9ɪ½zyK]w¥iYýa_aÇ|=Ý«t`æÙüâýÏׯz'¦ûÀÖõº¿P_Ià,Íís°Ø§{+H"ÍïP
ο©©UÒG ¾ÿ\÷1¡?.¨S=
tLÓåx¬9M¸Gs¶$ÑÉsÆËáY'RÉñoîj«ÁQ·q 6Eô$ußB¡; üiJ,:xgìÃTø«ä¦Oåér!P%m©Ú¼sÛüwæÛHÍÐ¥±B"ëhº]ÀM.fecFdþÑ7éCëÍ_[ÎÚfQ`ÅÖW¾}¡¼;9Sãcb SÏÅýæÂfå;
ÍͶp®J³B½þà*(æÇ}©iÕöò#²KümNtá±JZYÉÙqÚgîÌð+Õsø\³ó]ß_ÓÒ<oK=¹_E<åÊÕ¹»6 þOù0Mè¢oEçìK`¹eWO£·E)ytó!ÖNþÊèi~zT=ò=Ñ0Jµóë¢c öI ER¡ >ü¤aäWÙÍ
YáX§;èá[n¶¤={e "yåg&ÖIv¶¾UxŪªz_äjq}*¡>>z¾µìýÝ3 ;Ò.ßvsLS?'¿Z#ªæ»óa]ɼeÁ5¬Ù·¾4º©Î¼Ou£´TCPOf|]æ{ù?Sg^<EM
l/pdåXÙ5³J5 #Õvßä¢ü>EöªãõµÕÚn.öùñ¿gÄ7jlÛÍâUá¯»Ï ¡
?èê¹{ï²ùï¹QMwX¾ùEûZ&s-õJ"s\M>zƽÒF&?Êgå2hÔyFb
Ý%5n³hSóìZ}LG¾s²Ò¡¬LÄÆ&/éÄux¾@
'2^óã;nM>L$n[ÓgîA9ënD
J`õ¡Ä,Kÿ£½çfâÁÂbÇyã×Ñ`³wÞ]í7!KˬéòÓÍ/vÇjïÚ} ÍM=P1É3ù^ãkí©Æ}/®è´IõüºËY7繸tðàODV¤Ö׶/Ôé^°7a$
¾9Z£$zÌ2Ý·"ËîQ¶ÈoZ¬ÆT}Cµª.2Ù`òÃ_$¹Ý¾j7_@Xðêun1Ú²Ð
ÒBÁ¡&'©ûÊsR?Ò}
f?
³.«*¦ê*[×\]#^Z*}PJôÄãíß3k »"û^Jô^{ñ*ÿp4££s`=½`ÓÌÃhÃðòÑ×Rò°O÷79~yyl^ãÐÕT¸]Ïý;à®æçñCªMü±J{Ú·¢S×<ØÓ·Ûmzæ\0+ãËsªR¸6¸#Wôþ{Ù½ÒÇKùò
ÝAµL±-®cp ¾ÚÐÑxµ)зê ýÍ·á-Ùª·ºÉÅ>ÚÝjVÇÎf!æüÛ?°Ã׳Ī@oS= ßx#í
{*í}{¦d|ñùÂ0Ïë× Ðä;r¯öø9k*YwöÔÇT|=v¢«@]Eù÷°îlÀ%éÞ°*Ã}Öæ1
¦OèuYËËíÙï h-wFüâ?Vþ%Ôd²
÷µeC U9ëß&*8×Ö½ËsuãCüõí¹Jk
i6Û×êô§ÝÅYä+½[TçܳõÒ#5ù\`RµíW\R at 04(]é]&ä9ìÒýS¿·ÛÄ:Ñi
£ö&jRÚM§¥<47ß2kj)fÔEmÊ{êSyùØ¡t¯[±
'Î_ì³,NNfZR
*My}:HYð¥>ÑÁ ÝYs·}
U~DÇ¡)u¹Öhö®ë3HÛ»IÕS¶Ö^=ûö¬Êá.11¨
-VÀÎÉû)RKù}mµÀ¦PÆWÂäSy3ù~3øº¥OmÔ(ÑØÖìAsl$l3NWÈòññëjl=FÓmÏQêÖ±è6{>Ù^Òt at _U|.PÑf`üA8òw·È|{^©ìàíãçãÚÇ×el1
ßc'¾/Þ£²WnW\}ãé´xk»ªvJy%VäV©ÄÌ!!(X
ª×< e³s]Ç»=§êDûë§#Ý ºW|²©úsGcÇÞT&Rø3lmK
:£K¨AËÅyâÇãôg\ÏÛe·ÔCYiHI¨¦í·þRxçÝÏÎv
Ï%ðe¥Ïº¼÷²Jj³AaÐu5¾z ɦÖßÒ]eôyd´§Æàõ±ñ¥cï¿ÙÔTN
íª<¨ÿìLõ&,le:Ú¦\NôõÃOp{p]pYÀÏN³¥5?¨ 3Uko;äx ¹pXÑÉ;ÒïSt« t}`2×=}ïd_=¥2*ÝR}ôÎis×6+$Låʧ_âz`:Q¡Ï]Svñ¢Ï!ÚiëïL»Ã© wKÚ¬L/[7¶=MO3mÓºdÝ/¦qj«mº+ïuåúû||J,Ëø«C¾p°ýäB^M{J_ j¨4u·5Ea³,DÉéõ2
áVÎÃ?5Mí)9¹4þbIbÏ´¢é%?yóÓäJJ^çK²k*
±yæØ÷;ï\¾\·nXç.5Ô wÛùh{ýõ¶Ûô½Kaãtý¦Î2:Nz6<®0.ò:÷züDK½½wøѸðsøO¶lw,ÌJ!¢ÊnPRßv)U°ü6,ßV?ÀË|ì1c3sÇlnt¨Üëâ1åÚùd!vñ·Ý>Ã:ñìÔfsÈãß_«¾¨$Áð^óà´Á¼`Þ!ßÛ{úXc9»ü¹±i×Q7Ëo¯
¤Ü/2#5yÓmKGÈùæâuÇÊmcåfúm×ÕÜY½ ¶OC< ë´u¹õþe½ß]ïÿò»Ï|~wæP4J®ç÷OùÊX)uͺ?-MMM=@η¦¡V Yóï_ZºþZ4µõW.´
ÿJþ9¿?¢£Éê!!1 y´H¿_t0B!p)p¸S=`D1ÁÀ>áäD¢)ôX
ûQÂi+ÌÁa´À #@[GWÐÓ´õ8ëdJt =$2&apEC¢? N¡Ð¨@ ÎQÀ S :GW¦P©_@ %:Zðä¨øååÌQÀ5ÀáåúýoS_ñc«/Â/b´×ãïîjPb48kÜ·O0-:Æ'ÿ¿ÑÕ#þÿÄC÷ ÓÂ}¢)2CöY]åzB¡r¼Òõ£kÐ+tuÎ2!//àÍ-ì +;+gÎ
=GD§ÅpÒúG (FBV[ÊÀRi~TÀh A£Ñà lt|4ô+3-òÞ?XiêÚþu}Eð_U(~jÌAm@Ðô~!p%5-@U=FðK}üµü"±úú¯ë
!ÿ_˹á'H¸[
Æ s2"¸~Ôº=¡¾
;=@¬ÁÝc¯<Ñ\¹HǧÃÕàX Fx jßæq¥4 /@QPÿ;áhîìjºÍDÁID »Ap ãÖÉJq¯4¢þQ
,ë-üOï£îFYI?
JÂi+ô#ûùS)óíæv&húÊÁ±£ÆÙA'cUBôw
áèdªåÃ1ùûÆ!ÿí·ÂAøGòwÁÇÂj¹Éßl#ÎK¡`8ÙÔÔ ¬Ò5ecëG0`àÅÊc eLãÚÖòY
JIHDÀC
¨q¶Ê /cn"pø¼ZÅXR"(t?.ܺÔ8Ì ×W£ÌÀpxéá\lÿÐÂYáè¡pXп¸@cWs
¨Ej1 ש_YÔÌ
5;îçE
2%V#STø§N{øÅàe]Ý?WÎ48|5PµÀ*t_ð9eöS´+ç_èÿ¢)0ûÍXÙtÔpéÜ4 AßsDàæc%yÜR£)+b~!TîÎý_à!1bÕçüºÜö¿îpûGØ~aø/Aû{Ìþß û_ûoûïñ"ÿ3^ÿ/Â?áEø¼ÿù;^ÿ^¿Åðÿ
áßãEø/ñ"ü_ðâúÃé>Ñ~ïL SRFpÃrNðï»õ;ØÕr3üç¾t2ƪ ·c.ÎñÓÙ9!:AüpoÕWV¯¤tÕ/ ) Xñ^oe=ðoç¯ØôpyÀÓá8£ÂI×nV¹}|5ÌNl¢©³½£¹©³¹¹£«¹#
§d6vÚÙÿØ/þªàl {»m?<ü×fô}
ü³êïè ~Ú+£wk¬ôøí°¬=ÉÙÊÞÎ[õ?êï0üÜO¨Q¢¸ qebhà¹qe¨@|NaÐ#~¬C\Ååg¯h¿zµº" ï÷QÈÖWqôÅpþÈwC
P©ß+Kù³~5YIÍÏaÉs±£|/* ØÃ-4:ÅFãÕß'SçÍYàªæ¤jeps¾áÈÙÄð9
²:8qUPiÑ2çâAý©t~(Æ 55Ú¿,êÿ%غ_$÷Èq6w´ý3|®K+Ú[þ8~XåæÆü·ø}?ÿ/:gÐó#ÿ1ÇÕÿ?È 5¢éïqû©îOO¿ozn³à÷³À¥qÿ ÏX¸ß¹W}8¿cÑ?D¹¿µH ûc~h©;Î~¿ÝøYÈ'ê»ÂÀùç`¡¨Åå𦠬SZßÝRæv¢?pAX9r49ë«®ÁáÆÆ«(¯hà'?OÁîû ùýømßÃ^1NùÙÌjnþêÔsÐ`
Ëñ}%¡j
ýàï,@þn#)¯ö³é¿1¡ùã0ü9fõÄûóGçükYÿ)ù#pÎõ¥
º_ eB¥P"ï\«ùø£#þ(3ý?êÊÇ*,\ÿ ÿ¹,ÿÕ'@Íï£û.ªý³å£
ãíDáÜak«9åÆô#Á«Oú¤ iÕÛdâ'£h¿ Ä
?Îê_7ù>oò×ýÇçM~þÈÊʶNàø¼iÓ/Ï"ýÂA y©º&ÂÌ=èßNÀ9thJ$
ιg¦0|¿× 2ÈÕH¿èè8¬Æe at pnîià'Mß¹Â}"hTZPHIJ?Ùþ²WÿKXuÁØÉQ¾zúÑ+J8÷Î+]"0Î9¿·N;áìÜçê_µý[æ¨!dn`ÿâ÷0ûáÓ¸Ò¨zÿø?:÷C¢ì¤0b8$NWäúͦйí-²3æ?õxÅ$%"Ö'Òîý³må
çfûg~Yy(Â[)gâXZØ/ñþÔþ¨Ûÿäõòýõåÿã³£)§?8¢Ñhî¶ú!ôàj
--- NEW FILE openssh-5.4p1-1.fc14.src.rpm ---
í«îÛ openssh-5.4p1-1.fc14 è T > D
è , ì 0 ï @ 066c7d9cc1a8616e9707671bc255b067ffc4f03f ¾|iËÆÐÕCP´øÐY jH > ÿÿÿ° è - °$ ? ° d è é
ê ì í V î Ð ï Ô ñ ì ö ð ø ô ú
û ü x ý þ £ ¨ ( h
¨ ( H
h è H È 4 ( i 8 p 9 à : Fi F ªÅ G ªè H «h I «è \ ¬ ] ¬ ^ ° d ° e ° f ° ° C openssh 5.4p1 1.fc14 An open source implementation of SSH protocol versions 1 and 2 SSH (Secure SHell) is a program for logging into and executing
commands on a remote machine. SSH is intended to replace rlogin and
rsh, and to provide secure encrypted communications between two
untrusted hosts over an insecure network. X11 connections and
arbitrary TCP/IP ports can also be forwarded over the secure channel.
OpenSSH is OpenBSD's version of the last free version of SSH, bringing
it up to date in terms of security and features.
This package includes the core files necessary for both the OpenSSH
client and server. To make this package useful, you should also
install openssh-clients, openssh-server, or both. KÅlocalhost.localdomain X=BSD Applications/Internet pam_ssh_agent-rmheaders pam_ssh_agent_auth-0.9.2.tar.bz2 sshd.init sshd.pam openssh-nukeacss.sh openssh-5.4p1-noacss.tar.bz2 openssh-5.3p1-dso.patch openssh-5.3p1-randclean.patch openssh-5.4p1-gsskex.patch openssh-5.4p1-pka.patch openssh-5.2p1-edns.patch openssh-5.3p1-selabel.patch openssh-5.4p1-fips.patch openssh-5.1p1-scp-manpage.patch openssh-5.4p1-nss-keys.patch openssh-4.3p2-gssapi-canohost.patch openssh-5.2p1-allow-ip-opts.patch openssh-4.3p2-no-v6only.patch openssh-4.3p2-askpass-grab-info.patch openssh-5.1p1-askpass-progress.patch openssh-4.0p1-exit-deadlock.patch openssh-5.1p1-log-in-chroot.patch openssh-4.3p1-fromto-remote.patch openssh-5.4p1-pam_selinux.patch openssh-5.3p1-audit.patch openssh-5.4p1-mls.patch openssh-5.4p1-selinux.patch pam_ssh_agent_auth-0.9-build.patch openssh-5.2p1-vendor.patch openssh-5.3p1-skip-initial.patch openssh-5.4p1-redhat.patch h
ttp://www.openssh.com/portable.html linux i686 Ø ° ³ ß ¾
f ê Ø Õ - á N ]
hÖ 2(
Ô £x õ /ó 1Á ã ® ¼ d ø ?´´´´´´´´´´´´´´´´´´´´´´´´´ý´´´´ý´ Bçs,D?\¢D»Jî«DØ|iHk\IÖ
Hk\Jm=JqYÌI¶mwK/TKy;óKXºJÅýSJÅýSKò?Kü KÎKËKÛKÏKõÏKÌAKÍÌCô%KÿjJÜJÜK]¬K&J°îc318ccf12ed6fbcab9d4654a2c409c27e55db8b862171edc1a249da08d378482 34e73f7e387bae067f8a51cc3a50c5cb2b898c810b32a8fe80721b7b7fc69298 f5a57feca79c97ffdbf98d7f1f97e40c0f48fc19b8ca55e6a900d6ce509fd3e7 29d27cecaac4c1a60e34aee3170a6ad45d1ad02435e08d4581dffba943ac7f4c 33c496b386c22e100b9d45d3ffdcb4a7d88e1b4bb143d20e083f3c53aef5e895 c0e8cce3a5d7955d4be905efb8680593d60f961c1a5acb0a45d2cea7b15c99b2 74ae918188166d81bd347bdf24145b0b2c77578b6cb7895d562bf93b651beda2 3ee3434d53169bf594fd69e8907ea229d73dcbaadc026bd720b32352b4189f28 5ce41a8264987beabb21f4fc24127ef9efb430f115aceaa2441daa502db68c2d ac4ce494759385a692a2b040d02578da7fddcd7ade60cf75268ba69bac5a992d 4d2ffc5a4ec9dc0ef8df198624fdd82872c1fa820f9eee0433a74b6d0e7f79ac 442e685bdc1a5b7e322432209c2f430b73d09d59f98e8941df1cca125fc33a5f 62a1e924fcfb0ef3e9750cb9d8452184b12ffb01b491451fc55fc37d22440581 dcdc08fff0c0d37b423ef90bc68d19f572e086e3161a2
bf880da3fdaeea43367 46c07b0472968cb90cbb46e248ef143ed971beae2eeb28b0b73a3435154f52f9 462d90610cb1b497b7a1b2925a653a1f4e36f95b440e12dc5ebe67ce6c693477 8904c83b8668910cf7360285615e5e7576e91f53b03c21fd53c2490f1a9b47a5 04cfa6d2f1edd29f1ff79b55d8f9932dd8fe31c45ce9f7ef4da1438c99f11210 f107f9cc9edbeaa9454e6dc533512c0187de779b2f66bb06e344666d5cc35307 65cc8bd09faedc1047a4efcf33b79c151943ce49cf2a83e06ba9edb30420552c 4877db8b1f7600221896bd7e9760b5aed47a1b7d8f13c20decdf9013f9cd119e 7c62602d03fb5eec839dd6b11d19ae47a70b89d9577b8cb95744c388e8b0b1fa 0a5d9ef1e034cc7d9d772a65db7e344636606a1584a134eedbf8ef43356e801c cda10494caef7ca563bc717034a1f78a04a38bcf5830a070c3f85efe3d074046 6f537b00248891e216050e0908e2b527c999fb3a98ad21859f65c371a9d09d5f 1501e4835035cff795d0ea5e6265884259f616a6e5a228bfa324fda6aa10d4d0 352a8dfd8e1b18aad213302d8345220085cf15d9c17a5b70b86f20dbe6b0f9ac db27d60a24fe8c394658a22b6a7e5728440ca2d6d34250f9c1ab0b3fe78ba4d4 44bc68ac4beee7eb476552ff7668e538db4e51aa3c1da49e29704ae4af4
97888 76c80b6482ea5d03e1f33514f30ac77cd56e2fc8cb233a470562686df7426f4b c9039b4ae1a8d9f3ad306d45f62fc9f5cb35c6cd071d7ca991956340f4fbdff8 64468969e6f63ef3665c2a7d3f6df240737106dc15afd80b115aadb5369bc0f0 jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch games games games games games games games games games games games games games games games games games games games games games games games games games games games games games games games games ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
gtk2-devel libX11-devel autoconf automake perl zlib-devel audit-libs-devel util-linux groff man pam-devel tcp_wrappers-devel fipscheck-devel openssl-devel krb5-devel libedit-devel ncurses-devel libselinux-devel audit-libs xauth rpmlib(FileDigests) rpmlib(CompressedFileNames) 0.9.8j 1.27.7 1.0.8 4.6.0-1 3.0.4-1 4.8.0 Ky7 at KbÍÀK]ÀK]ÀKXAÀKVð@KUÀKG@KC)ÀK/c at KùÀK¿@KÊÀKÀKÀJîÉÀJéÀJæàÀJÜTÀJØ`@JÅë@JÁöÀJ»_ at J°Ó@Jª;ÀJ¤õÀJÀJÀJ»@JÆÀJ#ÀJ@Jq@JjóÀJi¢@J`gÀJMòÀJIþ@JH¬ÀJF ÀJ@ÃÀJ2C at J
Y at IùÀIìcÀIÕú@IºJÀIµÀI¦@I@IëÀIo%@IA ÀHø~@H©@H@H4ÀH1kÀGúÀGÏÜÀGÇóÀG±@G|Î@GUA at GUA@GBÌ@Fîl at FßëÀF»ÀFyÀEÿÌÀEþ{@Eä@EÝ
ÀE¬¾@Ew at EnÇÀEl$ÀETiÀEIÝÀE ÿ@DìC at DØ|ÀD¿p at D»{ÀD´ä@D?ÀDÞ@Cþõ@Cû ÀCðtÀCì@Cç:@Cà¢ÀC§ò@CqÀC@C}Â@C|pÀCqäÀCbÀCTãÀCNL at CFc@CÀCÕ@Bçw at BÂ@B¨/@B¤:ÀB@BQ, at BB«ÀB8ÀB#ÀBÍ@B û@B©ÀBcÀAÙ3ÀA«@Aa;@ANÆ@AFÝ@AEÀA7@A7@A7@A4h at A+-ÀAÛ@@ÎäÀ@ÎäÀ@ÆûÀ@ÄXÀ@¿À@¼oÀ@¼oÀ@Vì@@EÈÀ@C%À@=ßÀ@=ßÀ@9ë@@,¼@@@@@@/@?ÍÐ@?º À?¯}À?ª7À?@?À?À?jïÀ?jïÀ?jïÀ?hLÀ?hLÀ?hLÀ?hLÀ?fû@?fû@?fû@?fû@?fû@?XzÀ?XzÀ?KKÀ?8ÖÀ?8ÖÀ?%@?'@>í±@>í±@>ß0À>Ýß@>~ó@>LÚ@>G@>.À>Á@=Ðí@=¬@=À=À=nÀ=ZF@=þ@=[@= À=@= @<÷eÀ<óq@<äðÀ<äðÀ<©@<Ë@<V@<V@<V@<³@<sÀ<jU@<N¥À<-°@<ºÀ;ôÿÀ;ñ@;êsÀ;é"@;³À; À;e@;ûÀ;{µÀ;r{@;q)À;nÀ;^´À;L?À;7'À;-í@;lÀ;I@;÷À:ñH@:ïöÀ:ÝÀ:ÐRÀ:ÈiÀ:»:À:¹é@:·F@: ÜÀ:@:E@:ÿ@:\@:
À:@:!À:8À:mr@:h,@:fÚÀ:@@:,ØÀ:$ïÀ:#@:"LÀ: û@:cÀ:@:À:îÀ9ýbÀ9ãÀ9Üm at 9ØxÀ9¶1À9£¼À9rõ@9l]À9dtÀ9c#@9_.À9]Ý@9[:@9X@9@Ü@98ó@8Ï{@8f@8/õÀ8-RÀ8(À8&»@8ÝÀ8@8:À8é@Jan F. Chadima <jchadima at redhat.com> - 5.3p1-22 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-21 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-20 Tomas Mraz <tmraz at redhat.com> - 5.3p1-19 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-18 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-17 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-16 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-15 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-14 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-13 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-12 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-11 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-10 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-9 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-8 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-7 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-6 Jan F. Chadima <
jchadima at redhat.com> - 5.3p1-5 Tomas Mraz <tmraz at redhat.com> - 5.3p1-4 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-3 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-2 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-29 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-28 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-26 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-25 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-24 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-23 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-22 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-21 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-20 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-19 Tomas Mraz <tmraz at redhat.com> - 5.2p1-18 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-17 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.2p1-16 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-15 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-14 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-13 Jan F. Chadima <jchadima at redhat.com> -
5.2p1-12 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-11 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-10 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-9 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-8 Tomas Mraz <tmraz at redhat.com> - 5.2p1-6 Tomas Mraz <tmraz at redhat.com> - 5.2p1-5 Tomas Mraz <tmraz at redhat.com> - 5.2p1-4 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-3 Tomas Mraz <tmraz at redhat.com> - 5.2p1-2 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-1 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.1p1-8 Tomas Mraz <tmraz at redhat.com> - 5.1p1-7 Tomas Mraz <tmraz at redhat.com> - 5.1p1-6 Tomas Mraz <tmraz at redhat.com> - 5.1p1-5 Tomas Mraz <tmraz at redhat.com> - 5.1p1-4 Tomas Mraz <tmraz at redhat.com> - 5.1p1-3 Tomas Mraz <tmraz at redhat.com> - 5.1p1-2 Tomas Mraz <tmraz at redhat.com> - 5.1p1-1 Tomas Mraz <tmraz at redhat.com> - 5.0p1-3 Tomas Mraz <tmraz at redhat.com> - 5.0p1-2 Tomas Mraz <tmraz at redhat.com> - 5.0p1-1 Tomas Mraz <tmraz at redhat.com> - 4.7p1-10 Tomas Mraz <tmraz at redhat
.com> - 4.7p1-9 Dennis Gilmore <dennis at ausil.us> - 4.7p1-8 Tomas Mraz <tmraz at redhat.com> - 4.7p1-7 Tomas Mraz <tmraz at redhat.com> - 4.7p1-6 Release Engineering <rel-eng at fedoraproject dot org> - 4.7p1-5 Tomas Mraz <tmraz at redhat.com> - 4.7p1-4 Tomas Mraz <tmraz at redhat.com> - 4.7p1-2 Tomas Mraz <tmraz at redhat.com> - 4.7p1-1 Tomas Mraz <tmraz at redhat.com> - 4.5p1-8 Tomas Mraz <tmraz at redhat.com> - 4.5p1-7 Tomas Mraz <tmraz at redhat.com> - 4.5p1-6 Tomas Mraz <tmraz at redhat.com> - 4.5p1-5 Tomas Mraz <tmraz at redhat.com> - 4.5p1-4 Tomas Mraz <tmraz at redhat.com> - 4.5p1-3 Tomas Mraz <tmraz at redhat.com> - 4.5p1-2 Tomas Mraz <tmraz at redhat.com> - 4.5p1-1 Tomas Mraz <tmraz at redhat.com> - 4.3p2-14 Tomas Mraz <tmraz at redhat.com> - 4.3p2-13 Tomas Mraz <tmraz at redhat.com> - 4.3p2-12 Tomas Mraz <tmraz at redhat.com> - 4.3p2-11 Tomas Mraz <tmraz at redhat.com> - 4.3p2-10 Tomas Mraz <tmraz at redhat.com> - 4.3p2-9 Tomas Mraz <tmraz at redhat.com> - 4.3p2-8 Tomas Mraz <tmraz at redhat.com> - 4.3p2-7 Tomas Mraz <tmraz at re
dhat.com> - 4.3p2-6 Jesse Keating <jkeating at redhat.com> - 4.3p2-5.1 Tomas Mraz <tmraz at redhat.com> - 4.3p2-5 Tomas Mraz <tmraz at redhat.com> - 4.3p2-4 Tomas Mraz <tmraz at redhat.com> - 4.3p2-3 Tomas Mraz <tmraz at redhat.com> - 4.3p2-2 Tomas Mraz <tmraz at redhat.com> - 4.3p2-1 Jesse Keating <jkeating at redhat.com> - 4.3p1-2.1 Tomas Mraz <tmraz at redhat.com> - 4.3p1-2 Tomas Mraz <tmraz at redhat.com> - 4.3p1-1 Tomas Mraz <tmraz at redhat.com> - 4.2p1-10 Jesse Keating <jkeating at redhat.com> Tomas Mraz <tmraz at redhat.com> - 4.2p1-9 Nalin Dahyabhai <nalin at redhat.com> - 4.2p1-8 Warren Togami <wtogami at redhat.com> - 4.2p1-7 Jeremy Katz <katzj at redhat.com> - 4.2p1-6 Tomas Mraz <tmraz at redhat.com> 4.2p1-5 Dan Walsh <dwalsh at redhat.com> 4.2p1-4 Tomas Mraz <tmraz at redhat.com> 4.2p1-3 Tomas Mraz <tmraz at redhat.com> 4.2p1-2 Tomas Mraz <tmraz at redhat.com> 4.2p1-1 Tomas Mraz <tmraz at redhat.com> 4.1p1-5 Tomas Mraz <tmraz at redhat.com> 4.1p1-4 Tomas Mraz <tmraz at redhat.com> 4.1p1-3 Tomas Mraz <tmraz at redhat.com> 4.1p1-2 Tom
as Mraz <tmraz at redhat.com> 4.1p1-1 Tomas Mraz <tmraz at redhat.com> 4.0p1-3 Tomas Mraz <tmraz at redhat.com> 4.0p1-2 Tomas Mraz <tmraz at redhat.com> 4.0p1-1 Elliot Lee <sopwith at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.9p1-12 Tomas Mraz <tmraz at redhat.com> 3.9p1-11 Tomas Mraz <tmraz at redhat.com> Tomas Mraz <tmraz at redhat.com> 3.9p1-10 Tomas Mraz <tmraz at redhat.com> Bill Nottingham <notting at redhat.com> 3.9p1-9 Thomas Woerner <twoerner at redhat.com> 3.9p1-8.1 Nalin Dahyabhai <nalin at redhat.com> 3.9p1-8 Bill Nottingham <notting at redhat.com> 3.9p1-7 Nalin Dahyabhai <nalin at redhat.com> 3.9p1-6 Nalin Dahyabhai <nalin at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.9p1-5 Daniel Walsh <dwalsh at redhat.com> 3.9p1-4 Daniel Walsh <dwalsh at redhat.com> 3.9p1-3 Daniel Walsh <dwalsh at redhat.com> 3.9p1-2 Daniel Walsh <dwalsh at redhat.com> 3.9p1-1 Alan Cox <alan at redhat.com> 3.8.1p1-5 Daniel Walsh <dwalsh at redhat.com> 3.8.1p1-4 Elliot Lee <sopwith at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.8.1p1-2 Nalin Da
hyabhai <nalin at redhat.com> 3.8.1p1-1 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-36 Nalin Dahyabhai <nalin at redhat.com> 3.8.1p1-0 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-35 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-34 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-33 Thomas Woerner <twoerner at redhat.com> 3.6.1p2-32 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-31 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-30 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-29 Elliot Lee <sopwith at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-27 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-26 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-25 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-24 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> David Woodhouse <dwmw2 at redhat.com> 3.6.1p2-23 Nalin Dahyabhai <nalin at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-22 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-21.sel Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-21 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-20.sel Nalin Da
hyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-19 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-18 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-17 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-16.sel Bill Nottingham <notting at redhat.com> 3.6.1p2-15 Bill Nottingham <notting at redhat.com> 3.6.1p2-14 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-13.sel Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-12 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-11 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-10 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-9.sel Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-8 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-7 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-6 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-5 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-4 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-3 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-2 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-1 Elliot Lee <sopwith at redhat.com> Florian La Roche <Florian.LaRoche at redhat.de> Nalin Dahyabhai <n
alin at redhat.com> 3.5p1-6 Nalin Dahyabhai <nalin at redhat.com> 3.5p1-5 Tim Powers <timp at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.5p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.5p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.5p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.4p1-3 Than Ngo <than at redhat.com> 3.4p1-2.1 Curtis Zinzilieta <curtisz at redhat.com> 3.4p1-2gss Nalin Dahyabhai <nalin at redhat.com> 3.4p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.4p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.3p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.3p1-1 Tim Powers <timp at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.2.3p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.2.3p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.2.3p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.2.2p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-4 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-2gss Nalin Dahyabhai <nalin at redhat.com> 3.1p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-1 Nalin Dahyabhai <nalin at redhat.com>
3.1p1-0 Nalin Dahyabhai <nalin at redhat.com> SNAP-20020305 Nalin Dahyabhai <nalin at redhat.com> SNAP-20020220 Nalin Dahyabhai <nalin at redhat.com> 3.0.2p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.0.2p1-2 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.0.2p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.0.1p1-1 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.0p1-1 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 2.9p2-9 Bernhard Rosenkraenzer <bero at redhat.com> 2.9p2-8 Nalin Dahyabhai <nalin at redhat.com> 2.9p2-7 Nalin Dahyabhai <nalin at redhat.com> 2.9p2-6 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at red
hat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Preston Brown <pbrown at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Trond Eivind Glomsrxd <teg at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.co
m> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Damien Miller <djm at ibs.com.au> Damien Miller <djm at mindrot.org> Damien Miller <djm at mindrot.org> Damien Miller <djm at mindrot.org> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> - ImplicitDSOLinking (#564824) - Allow to u
se hardware crypto if awailable (#559555) - optimized FD_CLOEXEC on accept socket (#541809) - updated pam_ssh_agent_auth to new version from upstream (just
a licence change) - optimized RAND_cleanup patch (#557166) - add RAND_cleanup at the exit of each program using RAND (#557166) - set FD_CLOEXEC on accepted socket (#541809) - replaced define by global in macros - Update the pka patch - Update the audit patch - Add possibility to autocreate only RSA key into initscript (#533339) - Prepare NSS key patch for future SEC_ERROR_LOCKED_PASSWORD (#537411) - Update NSS key patch (#537411, #356451) - Add gssapi key exchange patch (#455351) - Add public key agent patch (#455350) - Repair canohost patch to allow gssapi to work when host is acessed via pipe proxy (#531849) - Modify the init script to prevent it to hang during generating the keys (#515145) - Add README.nss - Add pam_ssh_agent_auth module to a subpackage. - Reenable audit. - Upgrade to new wersion 5.3p1 - Resolve locking in ssh-add (#491312) - Repair initscript to be acord to guidelines (#521860)
- Add bugzilla# to application of edns and xmodifiers patch - Changed pam stack to password-auth - Dropped homechroot patch - Add check for nosuid, nodev in homechroot - add correct patch for ip-opts - replace ip-opts patch by an upstream candidate version - rearange selinux patch to be acceptable for upstream
- replace seftp patch by an upstream version - merged xmodifiers to redhat patch
- merged gssapi-role to selinux patch
- merged cve-2007_3102 to audit patch
- sesftp patch only with WITH_SELINUX flag
- rearange sesftp patch according to upstream request - minor change in sesftp patch - rebuilt with new openssl - Added dnssec support. (#205842) - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - only INTERNAL_SFTP can be home-chrooted
- save _u and _r parts of context changing to sftpd_t - changed internal-sftp context to sftpd_t - changed home length path patch to upstream version - create '~/.ssh/known_hosts' within proper context - length of home path in ssh now limited by PATH_MAX
- correct timezone with daylight processing - final version chroot %h (sftp only) - repair broken ls in chroot %h - add XMODIFIERS to exported environment (#495690) - allow only protocol 2 in the FIPS mode - do integrity verification only on binaries which are part
of the OpenSSH FIPS modules - log if FIPS mode is initialized
- make aes-ctr cipher modes work in the FIPS mode - fix logging after chroot
- enable non root users to use chroot %h in internal-sftp - add AES-CTR ciphers to the FIPS mode proposal - upgrade to new upstream release - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - drop obsolete triggers
- add testing FIPS mode support
- LSBize the initscript (#247014) - enable use of ssl engines (#481100) - remove obsolete --with-rsh (#478298)
- add pam_sepermit to allow blocking confined users in permissive mode
(#471746)
- move system-auth after pam_selinux in the session stack - set FD_CLOEXEC on channel sockets (#475866)
- adjust summary
- adjust nss-keys patch so it is applicable without selinux patches (#470859) - fix compatibility with some servers (#466818) - fixed zero length banner problem (#457326) - upgrade to new upstream release
- fixed a problem with public key authentication and explicitely
specified SELinux role - pass the connection socket to ssh-keysign (#447680) - add LANGUAGE to accepted/sent environment variables (#443231)
- use pam_selinux to obtain the user context instead of doing it itself
- unbreak server keep alive settings (patch from upstream)
- small addition to scp manpage - upgrade to new upstream (#441066)
- prevent initscript from killing itself on halt with upstart (#438449)
- initscript status should show that the daemon is running
only when the main daemon is still alive (#430882) - fix race on control master and cleanup stale control socket (#436311)
patches by David Woodhouse - set FD_CLOEXEC on client socket
- apply real fix for window size problem (#286181) from upstream
- apply fix for the spurious failed bind from upstream
- apply open handle leak in sftp fix from upstream - we build for sparcv9 now and it needs -fPIE - fix gssapi auth with explicit selinux role requested (#427303) - patch
by Nalin Dahyabhai - explicitly source krb5-devel profile script - Rebuild for openssl bump - do not copy /etc/localtime into the chroot as it is not
necessary anymore (#193184)
- call setkeycreatecon when selinux context is established
- test for NULL privk when freeing key (#391871) - patch by
Pierre Ossman - revert default window size adjustments (#286181) - upgrade to latest upstream
- use libedit in sftp (#203009)
- fixed audit log injection problem (CVE-2007-3102) - fix sftp client problems on write error (#247802)
- allow disabling autocreation of server keys (#235466) - experimental NSS keys support
- correctly setup context when empty level requested (#234951) - mls level check must be done with default role same as requested - make profile.d/gnome-ssh-askpass.* regular files (#226218) - reject connection if requested mls range is not obtained (#229278) - improve Buildroot
- remove duplicate /etc/ssh from files - support mls on labeled networks (#220487)
- support mls level selection on unlabeled networks
- allow / in usernames in scp (only beginning /, ./, and ../ is special) - update to 4.5p1 (#212606) - fix gssapi with DNS loadbalanced clusters (#216857) - improved pam_session patch so it doesn't regress, the patch is necessary
for the pam_session_close to be called correctly as uid 0 - CVE-2006-5794 - properly detect failed key verify in monitor (#214641) - merge sshd initscript patches
- kill all ssh sessions when stop is called in halt or reboot runlevel
- remove -TERM option from killproc so we don't race on sshd restart - improve gssapi-no-spnego patch (#208102)
- CVE-2006-4924 - prevent DoS on deattack detector (#207957)
- CVE-2006-5051 - don't call cleanups from signal handler (#208459) - don't report duplicate syslog messages, use correct local time (#189158)
- don't allow spnego as gssapi mechanism (from upstream)
- fixed memleaks found by Coverity (from upstream)
- allow ip options except source routing (#202856) (patch by HP) - drop the pam-session patch from the previous build (#201341)
- don't set IPV6_V6ONLY sock opt when listening on wildcard addr (#201594) - dropped old ssh obsoletes
- call the pam_session_open/close from the monitor when privsep is
enabled so it is always called as root (patch by Darren Tucker) - improve selinux patch (by Jan Kiszka)
- upstream patch for buffer append space error (#191940)
- fixed typo in configure.ac (#198986)
- added pam_keyinit to pam configuration (#198628)
- improved error message when askpass dialog cannot grab
keyboard input (#198332)
- buildrequires xauth instead of xorg-x11-xauth
- fixed a few rpmlint warnings - rebuild - don't request pseudoterminal allocation if stdin is not tty (#188983) - allow access if audit is not compiled in kernel (#183243) - enable the subprocess in chroot to send messages to system log
- sshd should prevent login if audit call fails - print error from scp if not remote (patch by Bjorn Augustsson #178923) - new version - bump again for double-long bug on ppc(64) - fixed another place where syslog was called in signal handler
- pass locale environment variables to server, accept them there (#179851) - new version, dropped obsolete patches - hopefully make the askpass dialog less confusing (#174765) - rebuilt - drop x11-ssh-askpass from the package
- drop old build_6x ifs from spec file
- improve gnome-ssh-askpass so it doesn't reveal number of passphrase
characters to person looking at the display
- less hackish fix for the __USE_GNU problem - work around missing gccmakedep by wrapping makedepend in a local script
- remove now-obsolete build dependency on "xauth" - xorg-x11-devel -> libXt-devel
- rebuild for new xauth location so X forwarding works
- buildreq audit-libs-devel
- buildreq automake for aclocal
- buildreq imake for xmkmf
- -D_GNU_SOURCE in flags in order to get it to build
Ugly hack to workaround openssh defining __USE_GNU which is
not allowed and causes problems according to Ulrich Drepper
fix this the correct way after FC5test1 - rebuild against new openssl - put back the possibility to skip SELinux patch
- add patch for user login auditing by Steve Grubb - Change selinux patch to use get_default_context_with_rolelevel in libselinux. - Update selinux patch to use getseuserbyname - use include instead of pam_stack in pam config
- use fork+exec instead of system in scp - CVE-2006-0225 (#168167)
- upstream patch for displaying authentication errors - upgrade to a new upstream version - use x11-ssh-askpass if openssh-askpass-gnome is not installed (#165207)
- install ssh-copy-id from contrib (#88707) - don't deadlock on exit with multiple X forwarded channels (#152432)
- don't use X11 port which can't be bound on all IP families (#163732) - fix small regression caused by the nologin patch (#161956)
- fix race in getpeername error checking (mindrot #1054) - use only pam_nologin for nologin testing - upgrade to a new upstream version
- call pam_loginuid as a pam session module - link libselinux only to sshd (#157678) - fixed Local/RemoteForward in ssh_config.5 manpage
- fix fatal when Local/RemoteForward is used and scp run (#153258)
- don't leak user validity when using krb5 authentication - upgrade to 4.0p1
- remove obsolete groups patch - rebuilt - rebuild so that configure can detect that krb5_init_ets is gone now - don't call syslog in signal handler
- allow password authentication when copying from remote
to remote machine (#103364) - add spaces to messages in initscript (#138508) - enable trusted forwarding by default if X11 forwarding is
required by user (#137685 and duplicates)
- disable protocol 1 support by default in sshd server config (#88329)
- keep the gnome-askpass dialog above others (#69131) - change permissions on pam.d/sshd to 0644 (#64697)
- patch initscript so it doesn't kill opened sessions if
the sshd daemon isn't running anymore (#67624) - don't use initlog - fixed PIE build for all architectures - add a --enable-vendor-patchlevel option which allows a ShowPatchLevel option
to enable display of a vendor patch level during version exchange (#120285)
- configure with --disable-strip to build useful debuginfo subpackages - when using gtk2 for askpass, don't buildprereq gnome-libs-devel - build - disable ACSS support - Change selinux patch to use get_default_context_with_role in libselinux. - Fix patch
* Bad debug statement.
* Handle root/sysadm_r:kerberos - Modify Colin Walter's patch to allow specifying rule during connection - Fix TTY handling for SELinux - Update to upstream - Apply buildreq fixup patch (#125296) - Clean up patch for upstream submission. - rebuilt - Remove use of pam_selinux and patch selinux in directly. - request gssapi-with-mic by default but not delegation (flag day for anyone
who used previous gssapi patches)
- no longer request x11 forwarding by default - Change pam file to use open and close with pam_selinux - update to 3.8.1p1
- add workaround from CVS to reintroduce passwordauth using pam - Remove CLOSEXEC on STDERR * Wed Mar 03 2004 Phil Knirsch <pknirsch at redhat.com> 3.6.1p2-33.30.1
- Built RHLE3 U2 update package. - Close file descriptors on exec - fixed pie build - Add restorecon to startup scripts - Add multiple qualified to openssh - Eliminate selinux code and use pam_selinux - rebuilt - turn off pie on ppc - fix is_selinux_enabled - Rebuild to grab shared libselinux - turn on selinux - un#ifdef out code for reporting password expiration in non-privsep
mode (#83585) - add machinery to build with/without -fpie/-pie, default to doing so - Don't whinge about getsockopt failing (#109161) - add missing buildprereq on zlib-devel (#104558) - turn selinux off - turn selinux on - turn selinux off - turn selinux on - additional fix for apparently-never-happens double-free in buffer_free()
- extend fix for #103998 to cover SSH1 - rebuild - additional buffer manipulation cleanups from Solar Designer - turn selinux off - turn selinux on - rebuild - additional buffer manipulation fixes (CAN-2003-0695) - turn selinux on - rebuild - apply patch to store the correct buffer size in allocated buffers
(CAN-2003-0693)
- skip the initial PAM authentication attempt with an empty password if
empty passwords are not permitted in our configuration (#103998) - turn selinux off - turn selinux on - Add BuildPreReq gtk2-devel if gtk2 - rebuild - modify patch which clears the supplemental group list at startup to only
complain if setgroups() fails if sshd has euid == 0
- handle krb5 installed in %{_prefix} or elsewhere by using krb5-config - Add SELinux patch - rebuild - rebuild - rebuild - update to 3.6.1p2 6 rebuilt - add patch for getsockopt() call to work on bigendian 64bit archs - move scp to the -clients subpackage, because it directly depends on ssh
which is also in -clients (#84329) - rebuild - rebuilt - rebuild - patch PAM configuration to use relative path names for the modules, allowing
us to not worry about which arch the modules are built for on multilib systems - update to 3.5p1, merging in filelist/perm changes from the upstream spec - merge - fix to build on multilib systems - added gssapi patches and uncommented patch here - pull patch from CVS to fix too-early free in ssh-keysign (#70009) - 3.4p1
- drop anon mmap patch - rework the close-on-exit docs
- include configuration file man pages
- make use of nologin as the privsep shell optional - update to 3.3p1
- merge in spec file changes from upstream (remove setuid from ssh, ssh-keysign)
- disable gtk2 askpass
- require pam-devel by filename rather than by package for erratum
- include patch from Solar Designer to work around anonymous mmap failures - automated rebuild - don't require autoconf any more - build gnome-ssh-askpass with gtk2 - update to 3.2.3p1
- merge in spec file changes from upstream - update to 3.2.2p1 - drop buildreq on db1-devel
- require pam-devel by package name
- require autoconf instead of autoconf253 again - pull patch from CVS to avoid printing error messages when some of the
default keys aren't available when running ssh-add
- refresh to current revisions of Simon's patches - reintroduce Simon's gssapi patches
- add buildprereq for autoconf253, which is needed to regenerate configure
after applying the gssapi patches
- refresh to the latest version of Markus's patch to build properly with
older versions of OpenSSL - bump and grind (through the build system) - require sharutils for building (mindrot #137)
- require db1-devel only when building for 6.x (#55105), which probably won't
work anyway (3.1 requires OpenSSL 0.9.6 to build), but what the heck
- require pam-devel by file (not by package name) again
- add Markus's patch to compile with OpenSSL 0.9.5a (from
http://bugzilla.mindrot.org/show_bug.cgi?id=141) and apply it if we're
building for 6.x - update to 3.1p1 - update to SNAP-20020305
- drop debug patch, fixed upstream - update to SNAP-20020220 for testing purposes (you've been warned, if there's
anything to be warned about, gss patches won't apply, I don't mind) - add patches from Simon Wilkinson and Nicolas Williams for GSSAPI key
exchange, authentication, and named key support - remove dependency on db1-devel, which has just been swallowed up whole
by gnome-libs-devel - adjust build dependencies so that build6x actually works right (fix
from Hugo van der Kooij) - update to 3.0.2p1 - update to 3.0.1p1 - update to current CVS (not for use in distribution) - merge some of Damien Miller <djm at mindrot.org> changes from the upstream
3.0p1 spec file and init script - update to 3.0p1
- update to x11-ssh-askpass 1.2.4.1
- change build dependency on a file from pam-devel to the pam-devel package
- replace primes with moduli - incorporate fix from Markus Friedl's advisory for IP-based authorization bugs - Merge changes to rescue build from current sysadmin survival cd - fix scp's server's reporting of file sizes, and build with the proper
preprocessor define to get large-file capable open(), stat(), etc.
(sftp has been doing this correctly all along) (#51827)
- configure without --with-ipv4-default on RHL 7.x and newer (#45987,#52247)
- pull cvs patch to fix support for /etc/nologin for non-PAM logins (#47298)
- mark profile.d scriptlets as config files (#42337)
- refer to Jason Stone's mail for zsh workaround for exit-hanging quasi-bug
- change a couple of log() statements to debug() statements (#50751)
- pull cvs patch to add -t flag to sshd (#28611)
- clear fd_sets correctly (one bit per FD, not one byte per FD) (#43221) - add db1-devel as a BuildPrerequisite (noted by Hans Ecke) - pull cvs patch to fix remote port forwarding with protocol 2 - pull cvs patch to add session initialization to no-pty sessions
- pull cvs patch to not cut off challengeresponse auth needlessly
- refuse to do X11 forwarding if xauth isn't there, handy if you enable
it by default on a system that doesn't have X installed (#49263) - don't apply patches to code we don't intend to build (spotted by Matt Galgoci) - pass OPTIONS correctly to initlog (#50151) - switch to x11-ssh-askpass 1.2.2 - rebuild in new environment - disable the gssapi patch - update to 2.9p2
- refresh to a new version of the gssapi patch - change Copyright: BSD to License: BSD
- add Markus Friedl's unverified patch for the cookie file deletion problem
so that we can verify it
- drop patch to check if xauth is present (was folded into cookie patch)
- don't apply gssapi patches for the errata candidate
- clear supplemental groups list at startup - fix an error parsing the new default sshd_config
- add a fix from Markus Friedl (via openssh-unix-dev) for ssh-keygen not
dealing with comments right - add in Simon Wilkinson's GSSAPI patch to give it some testing in-house,
to be removed before the next beta cycle because it's a big departure
from the upstream version - finish marking strings in the init script for translation
- modify init script to source /etc/sysconfig/sshd and pass $OPTIONS to sshd
at startup (change merged from openssh.com init script, originally by
Pekka Savola)
- refuse to do X11 forwarding if xauth isn't there, handy if you enable
it by default on a system that doesn't have X installed - update to 2.9
- drop various patches that came from or went upstream or to or from CVS - only require initscripts 5.00 on 6.2 (reported by Peter Bieringer) - remove explicit openssl requirement, fixes builddistro issue
- make initscript stop() function wait until sshd really dead to avoid
races in condrestart - mention that challengereponse supports PAM, so disabling password doesn't
limit users to pubkey and rsa auth (#34378)
- bypass the daemon() function in the init script and call initlog directly,
because daemon() won't start a daemon it detects is already running (like
open connections)
- require the version of openssl we had when we were built - make do_pam_setcred() smart enough to know when to establish creds and
when to reinitialize them
- add in a couple of other fixes from Damien for inclusion in the errata - update to 2.5.2p2
- call setcred() again after initgroups, because the "creds" could actually
[...4554 lines suppressed...]
±ªPD¡%JMI Ý{Sù\KÕ
kiõØl Զ£Zµ(W*o¦Í¶Ýj5fm°ñ×ÍãmbÉ!5JPJ
´Iöëm«òy Ígb¡ùDæñµp x¹ãé]2$ý5éJ#²ï´ßÿ7.¿¬ïAjäH³º°( ¦zÌ%?O«¿+Ü¡kÁbÈ'FtM5
Ïð¶ók]Düÿøoñwß;ÚÒÖ*ªªªªªªªªªªª©m«3ýp° Þ*
ð¡S6i¡#¹$!Rk#Lmpåw;r&vl&ÛD êãCÄï-`Í4dVëÕǼºo\n9]9 ²% ¦M¶áGnÑåçdu ( lÅlK~3g,cZ"FêKpÈèÂìhðd«k£ô^Ëú¯þGM[¨èÀ¤±p )h7G#ª'£ÌVLåõ]Ý¿áÈTP ® îT7)ÞïÛ_6µZ-ÓîÝ@½; -MP·§{O{x{1[É_/mß.I&<»ÐU2°h*»å¾RðsËLd¦¾r !_¥¡Ø)ù@AõÀxá(d¦IDP ¤
BÔúäýÐ ÎZ
v E ¢2/»¥§ÔEÿoúÏÒ7ëWý1þ¹ÿ®õqì²×öòÛä
d#F/Î7YØ>|°4j5 "¿äíãsòä¡Wí#?ÎÜb9Kl/ÅmÐ~3öêW¿ópôá
O»=ËØ©'"TÑ~P/¢îgó(úd×z¦6ïÓÃ{'¬kw ýª"E:]ó>Ï¡Ög£çø±«c6wÈd«ÁÆ©¨ß/{nîtÛ@¶SÏ:¯·ùwxB¯ç¨ëõð»ª_ÏB{z5~®¦¡a'¦xÙÙ±Í Hf É JÃ@R
:*©
vçev%Ó9¯ªÌ%Óþé%Ó¸K$v_KvIÉç¯ü½A|Îࢷצê&ÐN`%
e©»qÌÛF$2)
C A-o,1^d~}OüQ
)YïUÐvP
ã°ØmãFÎ?©ÜÀAxf2ð GaÎ>Y:¿4<:GAÁ ê[%Ï
æÞeÄhLõ+öÂ^IV·´{¥I§éuUCû¸[¦s¨Fp.o¯g')^«FÈñ±/!Ñ(Uõ¿íÌíaD$ÒÞ~ø¡"È·~Ø-G
Ø öÎlÕlvýtç}:cÿ¦Uå±ÓÑçŹÐ~Ó`¾
f©qs$cÕÎñiн?NîrRn8ó¾Mæ|x9Æw½HÊÀ¼I-¦9Ò"¡LÁ¹òì#øF¼£6#]<º\>ÃçèðHV²¹ XÀ*ÜZÃD î@¯n|¸óP¹·¨Óg¼w0®.bö~¿¹Èá}çÆÒÞx:;ÐÛáØð3ÖñC%Hüõ¼Ï2Ã#o×ÆÝäÓD©#ݼ7.÷«y7¿© C¡Ûgë%[µÎ¢wK,â±|p"Û<g=G>Õõ,!}¯úUä´ìÿIk
¢«ì^Ui@Úö¶@ô
ö D¤²:Au#ÃôAìtÜU©
@SzpL`NùÝ`Íõè:þ';=Ca§Tó_m¯*鮲"ÀC )"7ð=ÚóY¼û+-ÔI$eÌ!HÑ<¾Þ/gí.=7긧OϦxÿ£·åú¿Ç¡LÔúa¢
¥wÏæû|Ûµ2úNc,&[õ¯Q4¿Q¡åIÕF
ïà|ã;B!@¿í ÉIÄ7ɸh$5á2ËõÀ¯§ï²uE$S¿¦5ÙWóËÊ÷Aô@6Â
xÀá
r}¤¼ú!b;PÓDE¡¿"#Ë¿½õ¢¤È¡QüXÍý°º.ûDy>&D²Z|d6DZ|+:,+ï%)x%8ª>ÊÕéXd$j«&ºãùèþCðbíHãçâÂ*Ç1#¹S>Y}é½zöëÉ "KàïRðaÙyãÍS`»ÑE.oã2Ãí;sïÑõ"·9qW¯Y¦üSù ¥eò´Ôs&¦¸º[ØÁ¤ç¥¿vþÆë@ü îÜY T %}ܹ.ÞŶØ'l¦ÚúKn Ã0Wöù¯(O¡,l! MÝ®!zÈo;
(:·{<´!¿AÑ1n-¦eÃvÉÈ%ZÞS¼u,¿å\U(Þ5)u ®FÉ"Û7Ýòy;g.óA
õòü/>övSUõTÛV0L
5@§?1k£yóõ#æù8ª$´ò£Ú
ì;éaaøX{0Ϥ8KÅÕk~þ~ð®^üw«³NØcõ}ÐFrWõSØBûN9üÓGùÿ\~oUÿáêúr/ñ8tOÖò ì L'ÂÍz¯Q%û*ÒÒÚx4Å+$ m(ìáöÄ
²õeÓúwÕ«N³î6
ëOÙ0;32fa¿¬ÙÎþLk[bùïh_Ýò¾\Yί¶;}~7oýðͧ#Ãå¿ÙÏ-ñÔþX-ê*ccK`knf¯Ý½#ínxí´tçs§gÖ½_=yoÚíÎýÜ|·^:¶ àmãÛ^£¹âÎÞ_ݶ9Æ{énË\ÿI5ðßNõOØó¼ðìENä3ýúí2ÑÇ¡ÑøI:kÒyÈìvý(ÛÇÖÝiGöög!Ç xûz b$i}>ÿ·pz OvÎ~óð¾8PåÈuZB¸Äü§Åó~ÿ¨LRXÛÏbOçÖäíÑyÎÑ?F]Sï\Ïî
håGyCúñh9-3 ©ß·¾|2è{¿îï4ÛK¾kzC|£1÷Í[¾¤qic¢ÄGïd]#Èí_z©ÔCVËýíþÎF» 6«*Ô&ÔCEvMÓ÷|9þü½þÉÝ4»®[¨¾£JR-lHÐH°wlIDGÓ«ÀÇÂOÇÚ\ZXPAëb¥æ¼ÄÜRJªÆ(.ídnh1 É öýÚ'è»Ü §aíP¯PBÿÝIqU '`N;¸Z
Õ RK)_i S $~¼<à¥(`H´-2K (lÕê 4hã:}Yî@·tî¿KVÈÏX¥VÒdÔ¹ÚÙÆ+.µ_mI¿_&êýUöüÀÓª¬×cEB¡H+.E5lÆí¿7ÍømɵͫlÛÁ¤zqáÎXrP×®ÿº£Ùl©ÐßI|»<Çø0Dĸ/Fþ¾®~νØÔÃûÓ·Ùåá±cÝcª{Í}û¸+SÕ(c"sA æ )@ )?Ïá%{VëD@ÉShh{¼ ñzF
/8
´n£ô@@N¶(ºÄ%>õB¯Òoñ
tóLðÌÃAÈÅìrÝ÷ÆMõ÷·ü=r>ÈhF5þXäòÖí30¼æT¡ª§´I`%±QÏ÷zÑai ¨ëÍLÞ4ø8EYi®ü7þøÊñà<§6çM,³©oå)J6írfÍ¥¯fóA^ݱþ H£éþ´§f.z´R
ÄY|XÂM?$í¸2L õ_$iæ"ͯä,3 dÞÛrÇu7ÛÈSzB;Ðz·ÇÊ.Å6IÆ5ÕZBs"ÿÈùj÷|È_J¾GÎYXH:fn:É¿ Ð'J at jèÓP YTIÀÔådñMÖ: NtÞ{~áÕG®ÑßÜdªf Æqö;}=ñ¹à[BB7H¶%@5¡mV¢ÁE'52ÚeÑÓ2ðxÝÃåÁ%ºòÿc®à³ºLoF~|¸Þd¨¬!æ¢CóñK²ÓmÒܹOÙPq³Ñ l6¹0unåtPWa«CNÍÏyé$FBª(,¸rãs®ïì`»
ÜIP¯cÔþ.ú; @Û¾g\}i@ÌÕrZMº' Î`±ÓnzðD2VC(Ë!¶5~l5%4âoÏb9ô¬
F2À,_ë$4/IU¹«Ü¤¿åC4þñ¯Ë0MÔù/ß4X`f 2±
òÐê*[J)À ;pjW54Q&$!$CݵKCWHN¢5;\¦ÌMè!$9TÒöߢ7ÁáhjI"²I
ç~£®>Z¦ª©ÉÓáËM¡ÿ`áòe^S£
[6ÍHIãz at xªûrųòk]KzêHÄâð»·&ÈÃ[fìµPԥǩ£©äð©È/Ù#sÑ¢R
Ã3Ö5µ±÷7wÄݺ<±Éù<tqñÞ¬l¼¡ úkÒ@±8:;¦òÒ¬Là$2µômùÚúiÒpÔk"$ºÆ¾h;|Ò $LÙÏäîÜ=µ)" 0Á^ã#>6Á½?r׬§´Ô7t7sìÁdaÃbtt?8Èuâé
a :ÿg¾°ÔÐà#@sçÝ /ϺiqÁáããÛXi¾úhf¾V=³|Sn[¦¶8e A<´¬r-[Î笠:\ÖBɾ¶ÛY´líTïsõA¡ßC\ë'HüJçI_¾g,Õìu_eÞ²L-æJµÉùhuõ@ÞZÆIí3Ù~>þÖÚ÷ÿ[¸¯vÕÀ 5Pz_dÚ÷E¶6·
kêîú§Kåym¯oWEÈEò+©>´¤èð}ÇÕ?Á]úvË
> HxI+ór9h°"P ØaÐÅ)Jô¬HÜ#I|Æ8mÜN@G,bD}\¡:-8F©óѯ&@iåö[H¦>Z×{|®ºÑ
+íÃàóµè~@Dü)º^ºX±¨±ÁH3Ðå 9(ÂþRWóãç_
Õtfk^Wdô¿<ÆEb (ݾfÄ2ú(ôÑûëD}Ë¢ìÅ3Ú¼`!ó AȬȴjË©$!;ÑÂ5×e0 APÍKµq@÷í£í\ÆõéÜfG¯¶ Í
Èó±ÖG®ð-¯9/²è;à`\*iÓ
¼ï"%dì¬5¶[8e³á îy*j©ï¹°Ù ½½å¢È"$Kòlrå¼{&96À¢!D''«Ó~C¢¨laL«»«Ð ]+6Ó=Éd É]~óQ¦FýkM¦D»· ¤Íª|µ)VÁ$ ̱*«ø®êUK.Oñno!Û¦7_Ë4ÆØ¿ç(¹Ï(¿Rñù'V%C\W£7Ë?P¯°J z¾è
uQ#"ÓX44òj³PÍbZ¥EÔÑ=5çEðâö~QeíEF4N[¸ÜèBr¾ÑZc¢uG¡L·QÑ÷ßý÷vZÜqBåo?g©kyªÑ¡¬ h¼3ÕV:\oÆ0à"¾3Â}rEC1-ÒË).+®íàØ6ý8É Õ<cÌ<º7¤/ÅYZyìH ¾H"H¨ uïõNÎ\úkiâÂþÍýzÚÂÎv áq(&uA
¶+ÓäzñiX¢Á/þ#1Hc,²ùÃ0
1&ûõfÚÜÍA\Ʋ0¼.=ücà515`F:À´#ËHѦùé*çõL¯^ÙÏ#>A½]`ö¼¥]¦'¬³®ºÊ2t«°" y¥üSNsØ á¬6ÀǶw¨E«!® íWð!ÊÚ¦+}8é¤ sàÜbÿ8@Áª÷¼µþóÖpÑêFëd÷ÕƦõDëm»Ì7
ÂÖ:MÖoL×p
P ,GBZ @¢¤"§bÅT,X¯%Ú ¡ YÈE
· °(d DD
P£ün ü̹@4A µ"ë¢ÂjÉþËûÔ}å±Ã+%EL.UÑöå^ÔñÌöæÜÔ
ɳú±QðsÑÒÐå=Ìûñt`D25¸û¯¯°/î¼G3'd°ÃYId
µYg
m%h®ULÌ,ÔñÔCÏß²,iÌdí±Ñ#Sva8Óëñ¤ñ?Æ|_içz"
-ö%d59×zoÜRB°"`¢¶¾¿)(¨@.ÂZ`T±·Ò=»N^GJó÷Ê<ã¹ 0 l;ÏSÎ¥ô7ÚÍDZrAÏÂ3òò?i;±yyÑ·õ1Ý[Ã*ù¶zØÅa3&jÎTmC mÔè
çMÓf>½6°ìzLÕéÍo3K]Çn×èÖ_j.ÁxØ9ä@od
³F
pJíÐñ5WÒÜs¡^YNØZ
ËwØéz 6¢HTßÅb2×î,9ùA ÏXÕ*pCY>µ2]´a
4`v1ß.`ÛÆCåºv2"I|x{>Ü>½PHâ!dëÐ"ídÕ
¯.X×CS$ÚcY£PÁB ;#a,¤k}`!µfzLã@EOCWÏa
É·æ,4d.Ú±UßÑË;D?Ì|¼¤ ùÂrK.¬7x4#!|
Jth GUHì`$ñffØfÈWðòzý-UEMÒîî®îî»|sx|Dè%CW
PP]Ãvw¾X§y¿±ßìÄQÂÆÓ.¶è=¹qo¿Ý/%$¶ny¸6Ñð#»>$7Cvî>p(
À«ôðµkËÑÆ=dlßÆæ*(¦¾Hb&ª·/b¼î!kJp¶ÐïBQ0x`´ÀM8ò)9`9Uµâ¥RøP4yB/&(PÝkÜï2¨ pïîÓ¼¾}Õg¸k^ó±µÉ"Ø/p)Ì;/êâG{Z1Ev&Jóa ¨Æ%21à$±9!A>âÒiÉFÍá.þèzZÎÀÕx×MMíPåÄ1¡YéøÛ{óiÜD
_ÂBW±Apðlò¸ÈÃqQ/VË)VX/¼NfÂâ-6â3D#C!:
JN¹Õ,±¥9pû§ ð9J~©ËÙîôݱÙßéQâW°;ÃÆåÕ Ìñ
ªêKOÀfDiï>GºªPs þ}hFþ³ ì6D[âÿØ$=¿Ì 0éTØñålê«c<Á>íCÅ_Ëq¸I)¿æ9>Z®.²úQX£OÊîH(tT!Mü
³oM¤*YZÁ±#' 9FO'+Ý}ÿȬ´#6e[¼x£LeU¸Ó0;X H°·ÆnOçú~J4!îîíDÿt¯ñöu
ù°I7{æÐ9¾j4Óôð+,(jÆÄÑ9Q_ÏuSÀý>_¯@÷oÛB8c褥A}ÌHdf1çýq2íÝ¿Wä+ì8.ÇÊ(4 R¹©i¨øF£$"Æu¸Ã¨d
¡¿ú÷½?»q§±sºc ÔCFY¤q¶5hP¯³ÙÜI?ñø¸îÍÞÀFûÆ$ù"¢Ö=xÛÔô®]±Ï~l§-±¯ÖL6¾[¯|Èybå°kå3ÎAºèùg&Wò9º÷Ú»¡C8
RaD ÷çFI])-¬DDDDO¦¹ëzÅóOfR
æÏz uMïúÿé ³-<©k(É{!í7Öíå¦ #¾ôª(ñ1×òøn:½7ÛMÇ&9ÕÕéÇq1ÇqÄÇL_qÇ÷Ef]@ÓqÍê.êìÉÚQ_ø@õÑÐDv=]û=r::®P㡾v<¬¸Ä"{w5vmÂÅRMIÉ1Uµ©ÜªìÿCó_P ÜoÕÉcKiµfMûwgìÙÏþé¦aYæÇ
Ö[skÝ¢yÔ-³àDôrRú$_ô>éC·T^`2´|åm²3½Û²Ä®4ØÕ8â¤
ð ç³;S{«kÙá~
ßxÔ"´s]$Oùãðõ¾UD[]·Æ|eTUþ^ípMeçH í©ØVþG3Öå zªJ d¶£j1 at SÉÍ:«·^zBc1äU¨ßXf6.ÎKã¼_A>P¦OD¤ÉÊìü6®©4=,½É´)LI®ÛIÏ릻ey¤Ó"Z8tgÏ~J8òãóÃ_®!j*÷P5A$´ÝÎhç½CsÆëï±ßòùbr¼h@hdÊCqQlbBÓ>Sx×åÆ«ëpf¨±ÀCÄkû<'MfÂÎIÄfâÍQ<GW³)ÏÌ ]V{ùB6ÃÃàâ¬dPl²Àã¬E.d¢YW §f¨sÞ<pÒÏGÜZ%~[ ±ã½kmqÓÑâyò3ì)ô fq0Ç, at 1Îpƨ,¨ã¹'Ù'SáúÎ9
ß%ô@ãK+v¹¸iT-á®k(tªýAÕ{AÛl}*3JFf|3ûë£S`{ß'Ív% a»÷àÝaAùäõEιìSµYàC×)ó"AcîÌ+oxèOÈ6O0tI^>¾£FdÔWHê´ÆV$TçÂ[ÓQ:©Ön¢ãUÉß]Fç´ÜñÏHÏ6}rÜmËjWhrÕGR¹_Áfff½YK{ã\Ê
lu
ÖÐ"÷Ó2/R ÍEfºUJ[¥$x4'ôÛêG>?æÜl+ɲ8»üÞ+3Ó>fK«ÊËwì¾ODMÚÑaäÞ§XE v'IQ<Ç$ ú,ÈÏ·ÆÆ©RÚdä®¸Ý¹Ç 'ÍAC·-g+Úm¡5·)´$À|6Ó³D²ØHXæïÃ@Qn5ùÙ fùwé¾ò²3}njÆÀèe<x}/×(¡$ÈoäèyÑ|âW«þ¸ynaîi0T%å 4.éd5Xq `%á]qC$
BÊÑÈæËl:úk¨6ëÏ
yäç׬ËyÌà@¢ó/jG7ïp"Ì&"J¦¯GåÒ7´¶2*Ã%PÔÌJèÂÈjèÓ#Þ$3; +@ìTn{ó±%_a4G[ÏFyѬ 9 Ævsèúß¿kXÝuÄ都±$à Zô[¡ãe0K¹BP4X5Ö~'ÕÃÙß/²Â¢%¬Ù8·e;ÎÅYË+ãѺnÞ¶vÕ
ÔG ñIÁ ~M¬ÔW¶Gaý»èH"A°'fÏâÏ:ejÒGF²ßu`ÖÃÏ®ã
0iChQå'9w:¬ÆÒQË£=½3¸ÏSÝìáLµ ÷
5a²U´]^m> ¿Vm8Ʋ`¨%ãërG×´>fÏö;Ýzf![<¥½o2NÍ;³Zw3åz3L5ðÌ<zydq<·-ô<`HX)( Il¹Tµk¼¦5Dà³t
Q´a4Õ8GWáárDCÒûb<!µ!®,HÇW~°ÀÙ8fh°Ò64[»>7©RhõPÍÍK4¶_U)rQôÒqÝ`2Öð/çÌCëØò @"Ä<±B`)¸\ÁE¹, Y YDYð6G 8YÂÒ!#H
äݺZ~-DáqO"@è¶ñUm[fÕ
Z©¼¯RM)
6ut¼Ër½H«ÑÛÚJÆ(×`B¶Ræhs;K!è-§HðÂf¾JlEt=î_[ÒûhÓ7³zjä5@IWpðϬ¤ºH+ɽtÏ9¬j tÐj¼Lì"Êð$½D)ÓsÍßNW¹õÖõ?{¯"Ç) 1®Q¥= MN7 #ÛmÒmI¬<1Ï
±%ÀÈvÕdyk@»å³GrüUã
¶@§a#+¼u4ÞÞø}Ó =© òáßd6Íu¬Ï7èýOHúóÖ@F^:618ëÉI|½UPLÔ®¹ñoî²qBpwÝ@pwwww'¸w· ÁÝÝ%@àîîóýsÎÔÔyVU¿««z]v¯÷bUµà&TÈv±`õNaÏÒaâìÂ~uXÙeú0¡åZ Îêq»8YÕ¿XM¢7ÞX}aa¹6õüµ
«·+üÛå°eû1·ÃK´[RÓãØûg¹´´;¿'gOqÓ©^ë¬ÖÀÖ[d21°´Éï3açE´j}F+Sîáàï\Ö^ż?3F!§ÅÖkÅ3GXùYvã'¾B@$â$"¸Aâw{äµq¶)»õ×&$Åb ¹@ß'ÎT.i[pP8×Ïí/¿Ö¤<zZ&-ÌÌùeÅäÆc{ò¶}ûôK³¢\OZ¸ýºâãò?iR!)ÄÄsÔ;
Éê TÿõdÞÕ¸ÍuÉu²?K£¡¬°û¨µë¦pxùL Åêz¸P¿ñ[³7VhÇZÒOÍY@Æ <uvßÖ,kyD¼÷Ð}öE§Ù=\nçþ$/OÈ_0¾iìONî.JæȦ÷Èî$©ôvzeïEà_© ¯=5zR¡í[>5|u)/Ü*«,náúómì'ý x'ªÈ
38¸8fM'xDÚ`ÿâ½NH´®[M{%¯-ÿÕiK
Nõûm¿IÌ\DDzß4¿Èó=:¸R°%,¦ÑÏýÈölÖÑ?ö/¹£¤¨'«Ð3V`òÄ{/Á2£zfvBÉY«¬9¹¹AÄ
LõFÕËûN³ÌßíM±#,¾&ÜöÒÿ\7\Ê¢ çCí8&¦â¦*ðJôJ\î P`Ô¯;åî¸ü¼'C<ÖÐà-NÉ[{´ ·5U88IÀ6¦ù[/çK+E¡zõË4Â<cnô£¥ªg|IàáºögQá,!*;;@§µA$* úíøÒßMü
ÿK[}ÖÈYus!eÕÇUR3ø¤Ã"æÞzô¯áýiæ´íY*;[õ^êÇÓ~lýÃ
o]FÐ^´ÈÛLïÖ½i7e²ý¶a~y®z a¿]ƬçûÕv=l(P¡²hBÜì¢LrÂËEÀ.7c 4 F
nûþ]Þ*+µ[°ÛóÇzÚÉÉîÓ[Rµ½|9þ4ÊJý@Q×p<uEíß%6:iÍÕã¡ÑA±Á)PB¯Îäè_h®rËK7#1ß
n?ÄÿnÏí8hÐø¦ ñIq`ýéÆ ÍtGjM?
Ý_3u:¿;»ªëÄÄì\©X3Ý^ò½·¤=¾4páÇñ{QåÅ/ôÄaÒßð4/Á<ùqnt¦h¯®¡¦§©PÂø³¾>ÚÄ¥5ªm¬Läê7À0i·í6¨ãÎ`ÐÊoԥмÙK|ôî|Òqdb<d¹Z6à¡(B.k¤Ê<¦þÅß<{º
æT "tKë½ÚoPzu¥A·ñݤeH^£îe.qÙh:ÂRÎbÀ¯Qùyañèñy¢ºjO5¿dW`ÅFxÉ&$]ýW%©<FSYºb¬R ¬ÒPÇ$×ùÛn9\µ»êÞÓ{kjM+îbQ~ô#¯lýU´}*5Ý%6-mù¥õôêøà`ñw¤×ýÍÉQâÊë¿ßÞ7CIWB¡æ.¢¦mõZù9MëÇ`·öÊU\½ºfæfûð3)úLW)2(¬µ[Äz>Rö]9N§§.ÎLæôÜ]k2Xjy~¡::Tý¸?ëBÝ/XLöõÍÆ4ÎhyÏùð©_xË+sjªûÁ#F¶â±t©MR×C?Ó/Ç3Ää%ùÊ
Íèc|¦û!¸.à´Ó×ñÀ6%»Ûáܺt¢°ÚË{á/gL¤sxQÊèrpXçdº&ÙmÜñjæU@¸ý¶ðÅ(Ý¥tLh GuÔzÝËÑÔw*ZÅåoþÑ¥"$ÁBrçËiÅÒ
bŬRgÅèÊÊJÚÂhÚÿ$9aî¼4á8oä"ÀÂÚäTùMÎ]Iö ©$$´®¤0±#zqI_pÄ AQN¬í [~ôlnJà÷oTæýº7;ø¼Pñ??LÄÐ]<Å&Ö쬰Gb¾$'Lm:ì-¹©åÚ¦ç g19CÃ˾UN,o¡ÃGãu@«*üät2ènJñÊÏÛ{ÒFͶ¨e
«cÃÚÏUn.þÔ[î2y°ñV_ õÉÄ©¶^ªÓ§[_ͶýWèѵÌÒ45õ66ÒËÌ°ül-ôÔ:b§ñ;[¿1ÒÃI±_¤ÖK¥ék
WiT=¬¤ÀêâønzW«Ë&# ?+&á!Ôq¥)
¶£ ^¶52I¶Ê¼¤hR%VoâÑ;¾±lÐ Oë ïôAìûú{<u¹ãý~èÉëú
o½àYnº©S§¸,êR¯À»È¾àÔYaaÙ|Yîj)^¯±à®¬YÚÑYÜÀª
azºÃ^-Ãõ=àPؽ-¿f©¬Ñ/Üû¿w1è(\GW£Æ`¢`®ÒSTÖ}F
S
JbG3Èoðâc\X«KªÈ7ÿÝlhÖ+NLÆÚô¯eacîx£ÝÝòø®'ÞÊ.¥¿âÙÎ(¦Ô©eïdÚÞèÚñ$ÑEKòÃ=û·¡Å×æÓîÌ28£ bbËâ;¸ÉÚèØ Ü:çÐ+ªD»ùÔgýá|X¢e±"¦S¬*ØÔImkHµ§
¤Z?̧Qâ´t0M|:ÔÐàRÖI?E©^¾/Ȭt[ïíE Äæb¢ÇA)a¢L²y¸Õµ³}÷ÎMA×SË&fm~L#öð*ûÇ)ÇRÎ~Á=MãôSP\Tè°û$ÄQÕ¬ËO;úlx~Àý*«,WâkS«-³ÔckÇëáÎc7ü?KKZ,z¥\M9|qOo{õð²80aTFÃ~"e]ô±ÿÞ11zÉT:U
L|³N2Ç
ïäMFxһɼU5Æ'Rè=tÖu Ça`^ÑÓ^fêj2ËÏTUÙÑ9/7Ï¡øo
¼Í² tAXLï:
ÌoIçBñÇKm=bÕ¬ö´Ü½°áo~³FI-#XþÓ·]'óøè\L_\µ]´Õ7^¶Kݺö÷*®.³×ý¹G:¶VôÝX3#f.sõ|°(c`ßSqç|ÀZxLg+õÑëFpJ(ö·iÁBº=>?Aóå|´ÕâSwÚÈ»/QGÂîNûñ[3ô
<*øä×}³¨$ÎUIeø0s^í ¤¹-jQ Ì¢ç2quuõpJ§:í½:<ï¡>Ð+Õvò=Ü+=G._ï´Âöص0
y¾Á80¹]¥ }<
¥E?|4¿ýSàѽóòß"@i½\¿ó÷/B·Íò*ÄLá´ àxåc¼3¨ÇØYbÃ9+4¡ai+%"ÿ#*ìÂiø*}ÏUûzÚ± ×xÖ½Q¡ÁBUõ¶
?ÜÙgÚý¤ÕW©M]°]|ëÙܳ
8ªÆëbOTÁpezÄ<ty0¦-úÞqø«æZÑ°Öù,¼¥§G§¼Î×®ôÓ1(Û!c¬àzò*Lçi8 $üC½{T±o®|ѱà4{6Æ»:7¼õáëß»ùb߸ϴàÒþfZ-ò$uvàPòzädÒ È'æsÍû±]F556Ãó@å-ÃQ(á2ÛyzMwS%§Dèl vå3góÁÊ×ßu?-[ÆôókbmÓÖ¸zr½E9¬þçCëø.(©¿ù4"t)ß$éLøÌi*²&1MÖÏmÒÞ¿ZéÈß×V
7Z¸õý\ïøTÐH 0VÙ=òªïaÆΦùB«¦EK}Cª~móÉൾh¢,J
9<£!r$Úßgí{P_3÷)zÕæ
ësË¥äÕ½ýÊÕ}&ÉKâÚ'ýµ¦Ìö{.'¼»ºý¥ÃP¿ÿ'?>A¡ Ù¤¤ÒAälËWÃÌF=8j]r¾uO?Ã3¹ÊïÕrõoôFB#´8jñÑy
üñÉØD¥¡¬9×m£À`yÖuÑDè6àI?
á8ËâVvîãWÛO(Îw
óóUS?髤e´µÕt$TÕJJÚ°Õþo0þ·þoþϪ¸8È*L®tü¿FZùÿ¡ãhKÕ2¬$_2XËÑË96-þ¿ÑóóÚ©%¶=ÍfÑCÆ¿´ÕÔJ4vj½áͧFÝq¸êKdþpÇ}MÈÌH¾gªÃ1(A2¼jJÞ ÉP.ì]KMf|1ÇBfÐ(
¡N
{Íë¡iCdXt ôê0Ñi5U54à¨o£" ³ÐÅöjÝotdPÅ9"á/FaäÂ~yu
HQÜäÙ&Ò´1ÌÿJaöÔPEÓDõÁ{aáÐÛ(M°´ë8GÆT¹ãÝÉZÆ×t"PI,¯ä«ýÍma©â $3ØM ] kPÆÅeDZ_ýÆrFδ+½¸{!^ìæ wDE+òZ¾9uT®F+L( ,Ìø=88ÆÆ5)NÌ+#Âʬÿj°Ò§¥îS,®o²ÂÓÐFi ïJDðYTÕcRd¼Ö~k¨K+C+±Å
Eaór£öIU¥ÚµË¨
·C¾Ôüunlâße@#NPø¶.ÒdïçúâÃêtPô-Á0¤°üïg!
¤9òzz¾á£ê¬oGKP.ë* Õãõ¢]Çë
FÂWeÞ}N.k§ :!h23h NPð 0ÄdËÕô°Z$IAyev¯Ìé[,mW0ê-ca±Ãi8Õ¶$3¥CM%ú0p
È°¸$lIëâF¢ßm<A® qâ°&ÿ=û;Ìl~zÝYõ¢<W&ybyÁÁgnßvW¿ì Q>'¯CèÈÏÉ~G0¡<Ϊ´Ñ$°`®HnkïýþÁ@Ç·+þLÍÞréûÊð¬U_Z'ÀæîõÛìÐܬ;«>écáIÔý·v¾Õ3Õþ·ÇÏíç×m¦U)ßËùñp¾©ÔÒØõØ¢0QÙ·KQ)^ÙiJBg¯Ò}\QÛï
ü)À?1q=Ëë'lGî¤ôýq8£Zè*(,h§;¾ZÀ«ÿ¼V9>÷¨Ê ö&T'à{nÁ®ÝÛ `ØX ᱧå|To¸TÃñ£¼#fé¯?B$îýÛu>¾')}ùg¼¾æ8úAedp9øb
×Pr?} 37×S̵ü>gÔÁy¯Ðc"Ý»SBÎäþÝoß¿"+RÚ«§(áÅÅùå!W³²K>*
r1
quS«æP\ó½V9ëäÞæ F
oöO ´Ï;á9ìqÛOy_ªcô+d}
;x)Ã'Â!¸¸Ü,áfÆAÕ÷®{B_±ÝÒ·Ì&-8ç ßnç¬
xXÂÀ0ÅUäÊò%_£¶Àwð·cõ^*ä¤VY~þ^8²ÇT*KÄ¢NÁíÑ\dÚ=ÃÊÂc¢<,$âÑ©m¬?¿5/½ü0ðÝB©¼ãbúnSH`"í$
Ú<}JlìÏЦ&¹&LjóÈþsß× G*^Õ£ÛWôM[FNQÚb
*QØn×rn^wóGRRÖ+p{~±;ÞXð¸ò¦¥«äWÑãHiéÕHB û{EÒ -t;µ("LJá/Îéë&sjyÐj¹å[_øW"¬JõÝz×GÙC~àiϪÌgÆ|5'a·ÚIä< º>ZËÕ'9aÛ:ªÏA¿>>Ñ
Æ
Äu
í;ƾL{[ü&ÑHd;öýèJ:x,¤7ÿÂÌdwgòÚÂfn]!ÚsV)LÍðwßÞùè¾óÈBHÇ(ÿÕ¿K! Ý+ô~þdgD¢_é!Ã6~
£mÿè"·gÀAa+¹ªà
î¥rã$ôò»ÃÆiYÇÎQPÔýÑ1'` jÀqQ°iÆzÀ5ÆÛGcLQ¹Æ$/§9K>iʪ2ûj.F
³î.DÝZ at n/qý.46|óJ7Ú°¹Ã/LS«_÷µGåòvni,w-SLÈçù©ÑBoÉó±]c¥/Dz³£J&οMyëæýVÞ³÷
B_EdÄä£#ó»B7/h6bBÄ®ZÖï(ÙÖ=
Ý3_Å4U
R^lV£Áï_%й֧¡æC
vúªü&<Rç
Ðq¡V)))~,$¿0#½3ô¬»³2À~yÈíê¼g¿zZ.<;d¿DSFHªå½òMP¡×ÃVý¯G©LO¯+<0Ý$¨qÀ§*ífü½¼NoauòÞô@ź¨YIö&Ba9Z8¸ TûOøÊkÕ+ÈÎ.oÞ-ÖZú N)¶ô»$óíê.§[Rv÷WµªÏJ]UGJ
*Æà÷ôßu}%ª^LÜ+o0FôZÜãz´OÐh+^L»A«ÙÐR²dð ý ^DÕQ$ÒÅ2Bö½ËÙ¾«Zhå
à³ûøÏWÞÃK¦cèR4já]¸Ò*u9hFqH2OuE8;ÆË{xN$ÉF¢Ë¿7K¾R6BDs$»U¹5h6Ã"~}ëö¡5ëþ¯IXnô%Q A_=Mê1 ëÀþ§_À3=!§ÛÅ aBNçÏ$æ{vvà*R%;_X@²=6s¨¢9ÐyM·CRÅ/¥ÎÄQÑFIÊZ®>VÜë}^ÝLª{£ö'j¿ è æÞ6;XÚâݧµPeö,ª£õKùÊzNú§ê;>çn l
@'M±â"×ß׬+@Óêÿ÷ÐLéÏå% @sIFrcð>Li³Ûä©
-Üö¨¯b¶«, ûÏ°Ëé×ÔøñìFòkGH¢cüAQUbwZöÝ4)F°b`©äpÁF¿9>(W? Slèù Ø2ZH|ÁSÆsAzr¸r
ÇÆ=øE2jð cH¦xƯkÃ@;}g*º¸Y½óËc»¿ÍÝ=Äïë
â7ó¿#,Ù+ïÑ_°s5*"=é7CK¯cxBV»#_7\ù¿Ù00¦É8ݼõ4¾[
rNz¸4mݾ9:=?ÕIQÏ<~ðÙ} p¡6eùWz6 ?½³è¡.4-ºëè¹ü
u½
¯ÛÛÕ§Þ)*gi«ï=Õf¡ªÑáGIݤ¨ÇÌó!×¹ïy?½V̲¶)Abڤݣ3R4Ô3FnjØoº]õFÒ fõ[í58æãø¦QGíEÊ1Í|f4
FñÃúNwË»6ocßF7õåñvHü¿f а|«üûyV$ñsÛuÛ#¦¥Ü½¢yËá°ÿínAýAÓÃwõ©½ x|ÀúûUsIlî;p¦r Ûåê¡ì2Jȵæõѳ½¾!L±có"rnå£ñ<Å9,Ý6(YÏÈw=\úÈÆÚôQñýëvÁÙçAkn¨§c5¬ÒM¢õ¾dz Ü"ÿ©_åë)ݶ|Fò\`«'K·N´}£½uyõ²«§ðߤî,Ùpr7&gÂïs4*ÌIÅ[@
f÷þÃï¨~©ÛÀÆÙ©!½31ï?Õ;Ȳ%cñ13ófÉs¤b¸äÇI¼>m¦>Hm¾FwA½Åc¡agw'ÍÊ0Ì;²>y×çͨ£U5|m Ñïq 8&ïBã½ìÐH£ô^ÑpBÇA3ï)JZü©wºuJjï#Íå½Ñä»ã}_¤6P(ëÄ׳9T0Þé¾J¥K¹¯@znÏSaóàUß8npHKÄHÒâ'v*Ïõë[s¿G¹Rtø*,¸mîädGÀÁ'c¨F§&§³ß"Ï 5f´(éà(æ Fz¤¾ÌQ&¸ð%
¡@;2N0)1\âô)¼°"Ôý¦¨#'é!&ó¸:³iäÐ̦ÁÔJdôÁ1'LzÌ^nÔ¿Lë7½:
ú.#®\-,IuK/³Xú&j¯VîWO×$ÖÍIGÌÄgÙíAq¨r b@Þ3Xvµwʾ~ÍXNlõ¤+ïÉÌó§ÔOAvd¨¾k¸jû ¹òQo
3²FZùã6-íIrDÀÏ~Ø¿«¯ëy{wh9C¢c#4ÔÌæ¡£ùýc)0ª:¿pZr*~Fúh§ÃÏi2ntþa£i)a(° k*¹AGd¦fl -îøéì]ßI·m>Ú Ã<¬UB÷ºÔ´_¤%öoV
¤{ühLUöÆß]Êm}êƪùN8¦od©(ªbáJTaC¦c;#p8íét¿3È ¯^8JÃÃÆvTMl|¥w( D'ðAumçEúlXÆ.EtÓ£âx ^ÜO]¾¯úí4Îò~eªIUiùêjûóÏLЯå®Z*¢éó6±2Míú|Âî¤ÏaUa`UM.ÊÐֻƮÉùÂkÏ6í:%qôEoUA8F~û¨S]ö´se¨¶ø´A4å0Ø×In°!õM}c«F(î]/ÿJïKï3À<ßjH\àvkbzm:óÇ&§ã,³?\IÝÒVö ¢ÈìÝY~Þ¯5Zôä)=åëHpæ`ò#$ÂFKèBrP©gãm$olÑ~Pr×gK#}âNÎzÐC{2¸ª.nºâoƶ*bùUÛÙër®º¼ÑL(§íL¸>¹ûcÔ?MOøË_gg±-¹e÷»âÚ·_èG
Á¿Ö
«oûå°mwïÊÒ4Ò;Ú##¯IÔupó
øÛèðæ´,+W§RûÓnl¿ò9³âGíshB:êªmé!âoOγ%Ø~:C rÐ&Òü¸2MQS rÃ3 ¹#íi¹´Þº, 'QûƸÀ{½sùzwݪ®Où;4LÔeýþjW£Du^ScMµãmF`nâé!ÂÀ£ûëéÕÝìV½·ÐúòɬßEâItâ(Ó¡¡¶Å¿¥7 åbõzÔ^Å5úÿ%î¯õb÷Â*8¶}Æ:0òxÓ' jÛiFçìl
er/í°ªoqQÄ©ßJÙͼ¸ ø1Âô Ô¬ý:66Íqé'.ZW)kæÉϬÐù/äb{¥þèqÖÙ × axÙÙ3/ÇÚC§çm"ýäF÷ô"NnI àSíÇ¿Ë#Ù~äú
8'½üòÓ»t æ¬LÉé¬NKov<\(¿M\T"k¶ÌïY[øÐEdiÑîÁGÔhq%ÉzMüH{$49xç ðUcG®ÍãFº«&.T¬ÿÃðÏâì׸dÂÎ~Ë_×ò3Ø
ÝÃë[(â`lQÂ¥<¥go®~׳c,,nÉï¸
÷.|=-uù_p¨6[Ñé
Ã*È@d ûPgÙØý U1IÄ
HÞ,¹QU3ÚË!¹¦HßÇ4²
§TÓmèð#¶ìzIÄ\åeϯþÏW¯ªË¡n©õLKîNÔÉaëeaÃy¬¼0Dë5»cèH-_=5h(`q$ØNÕ¹w´;ªÖç_7ù§n.EÄ·
î¬=«2 :MJC1ß.ÎEB¾ÄõKNÔOÄ6PXÁ+
6íkÉIÁc0¤WVxHÅÞP-æÃõ#EVë½ /mT¼2j§Ó¶¿#ÆE¨ÿ«Ýk0vvvDÆ>ü¥[yw(??ý×uÖÎ|{7\Zàש:\jÍ;lÜfoi&à60U¥Òè7kò` òÉÈW )®Ö¨V¨¼»êõËvÑ_Ê&,6ÑÔ±¿8Ķ£âÝù ©Ü;Z¸Î3ùô«ç½äFñ 7mÜ=yHÛì½JØsvSN|E·îf0z\&EØ'Ðæº!t0Mm(½\Uö
õ®ÃÁÊJ¹\RôüÍ9ÔyÜÀ~ìÂ8úaĺ÷åæ,}yh2VéÐdàE¿&2sV¸y.Î`´Ðß"ì§KÓPg·]¨×rëWZmkÈz%gü#>£Òë·0E¾¨´Q)3gµK:^È.âõ8+éBÿYì+,1Vù´¨,f(Fyþ¢°æ"¦Ô¥¿Õ\cvÉ»¸^$zÅ«å%O~ k÷ÞQÞ¶[^<øºÎÍîtHf¾·¤ãf68ÌõùÁÑü;8äÛ£ºZò©ýeyÓ§Íû°O¨5¥£ÜQÜ{
tDSú¨¬ó]ÝY
5¿[lòLå&ñÆ*^v~żYíZç)ZÝ:òZC®sQÓu$6gL>&P.9âÀõVN, μO¤´¿ûç®ÞràiÒ«ûÕëf&ÓÔ\XD1Eh|stÃó;>±dÀý*4^ü@À´!seÃtDáX'nýjõ¢+]ü~ .ueW¥ºÚ*Ô!näÆÍÃhÃckg¿+˶jw¯ì,øìk«.µ´¡ãÙ*Hï´nðD0D·GÞÀÝIIä¡3mÈû1SIã>}wQãéSÄhlÀúçßÞzößp±æG.m|M¢kFiàì¡m-RùÔÀ%g%AÙ)dz.sµbÿ»×/#Pæ,
ôô¿yÝyH%Âà1·GPþ$öü¨â"õ/| 3£#WµQDÙËðÚ"2~}ù;ÕpZºv}§Báp¢'RèqäêI
Qc&±ÆÿD)z}6ÓlgòÚµ-Fc&0üÛåýõ$E6©þÕêø<ÐÝPR[ÌD£FVNö骡"÷T]éoQ+ÿyTj>¨ÂÂ9Kûû(È_O²ã#ë ¾+â'¥" Üq̬\¡P%y®üêðÎL69NûN°ÚÑÛHÞÈ
ÃeMµ:å»Yp-@©Î»'Qaò?AðQA9`´?K
m´8_;ܺ}(ýóYÝ«HNº9±×ïiÍ(L²*ÚiGKw{õèÄrôu&;RdÕ´fÇ%Wºð¿a²$a ¸N'A J¶:ñ*¼háãÚØ XèíQ
´Ýè"E >?ßÎ;2 Xÿ§
$´pho¿ødùh§£1Þ¹T\%JMÐǹËÃå ¦îSÔäƤHø¶:ø°)¶º5 õrZÚ¯ÑIQàb XvJu¥¥µ¦ìLÔS;BßàÄ0 =zE?ûøÜþêÁËÚÐ??=nZ.»Æ*ôägëÀ3Û»)t&b.Íz(Z¶U³Rænõ#4'ðáÇÛéËwÿí%AR,Ïä*)®{¯Ç)óxaq~4ÙN$2æÝ,7"=£ëe;Ñ4Õ.,CftÑ;Ìà|ÎÉ¢>¥pPvÙ!ÅÊ/Æx0é-6UË®¡WõwÄ-zh~æ® DVLÿrÑ?g¿º^/àÅ ÅéLÅQÑNK u~'7³³¼±~ø.
½¼÷°^CÏ+TVSð¤ò¼¶½5^Þ¯¬dIÏ5Òå¼ýÍtEòHy~<Ccâìf
Û7µµc8MÈ×åIG;L#çT¹qcú¥Ã¡ ³¶+{åñ;µ%YwAÔÝäÕ$9L®ç}\h4
AkÎR{{u£ØúÖ@ÁÝA(¬È¥Õ1¬xWëôgK#]íàðªMKÛìt¶Ç¬cH Ê]þT½ «ìN`0 lÈY+¦IÐÂþá1£5ÛºÂ_,(7{ò4 at Re-®hÓ¿0¬û}ï«ÀËÜËt\q¼c~(ª¯,èñ ^"ûÝÝt¤l#~õ4¿GÃc
ó$æ{[â7þëø¤0+í9XÙM£jø¤BQr2ÞrDÀ¿Ùiï#×ûN4øÜ?T;äñökÂwÖ¤Pb454°æ£òQ7²4Ó³©qÚ}hª¡ÎkÀà³@ã´ÃXl^Z #jE\·9\·©9Yð¥34\TOäT(õcþ9ël¿¢q3lM
BeÇ
9Ë5ù6^%[8Ã:xç0ãñ»ÐßC<вºë¼¶.p6\ÜHtæ M1ÆU@ ª ¦³YÆUW-uºk]¨4=ºE6:¿ZêÌÓ½&jì¨ÓçÕ&:\Ô×*ëSåp§
°P¸Á%²ß'!íË©S¸p$ÀÑÀa¬ù[h¢IÏ¿<¡ÂÏ"2Â%!vÄýÌï}VgÉnëíóO)6\Jª
uñ$¡àýÉ$)a@¬qýÛ;I*j¹d9ï¸(ó¶õÅdV]
÷eÿQæ*ôÉz(ò$YÓoÏÑêÓ^NÑ3!vE>÷æ{×ùÕ^<^°P6]æ©,§ÁÄ£FHøl7JØH@2R¾rá'ÝÍ6à sðð U÷ç~ýv=ûP÷Spï=¯ó¥QPfåó7*)ø<DB<J=ëöÂåÚg&â/ù Úö½¨dI$>5<d½àwrÍõ\qZÚ2vJ_d©óV;4(å¤ðÁ/tÿâ¹fèd wÛ¹2nÍab÷Ði·Ã¯lí7~l£ÛÜ©¾îÚd
ÃÃ
õØçæíö-«¤8ùýâ/E°Bçq0lÉãGÑÖQm±{mnÀÈÆûyKÙéS~ÁÉwß~i3¨ËÇ¥%>Ô.;öÆd µÉFñfTËGtmM·èXÜÅ¢ûùz5=«zØÃó:£¼j+Ù¿1AÁë_%çhÄÐRäÕ+¾í8}«!3ÚI&¿Üñ_××ÁKÏâ{uµ>å
º6¢6ÆÇ»AqöÐ
ë:7RÊ-åuµ
Îè$*¡^}À·XË&cÂÆ$6ÜÙaÃYQFWÜR¸(ﺥ)¡oÁoÒõÃÇ%%Oª9w¿"páPÃÙ7ÊóÀϧëLT0¦²SíitûÈÍÊE©(¡}²rDÒp] (R !×.Cþõ½¬hEüFî"ñYÂÇ`zîºv*&Ê9ªüáñÏéÏíð¤É¼æjµµ yù»ÆÉ¿ä=(_påý°]ün^ZL¬$³}Ïé°KÛa]
xÃ,-¶L²ü©áé)þsÜ6×˲R¼Ì|÷*Ú¾Â7|%§ðþç&¡ß[nÞJü
¡Ñö¤§HJÜ]Ð|Üåó
¸ýÉí4ük¹,FüJ9%YSa&Q²H.(Eþ·#£tEhnK¯ýfu.kcðémÕÎå«Èu,<ÃBsé ú"S$J >@1ðúÙý]¿ö²îó°Ô%GMIMzÉ×x²sìo"ï|hB³ãä'Ù£»KomCú®PÔÉâQ@%ªßó¿é§LÿÚ¯Æ7ûÙû*@ÜdÀ¢w¯ÝÞBû[*¡]Ó¡l[×Ç{ãÇü)^üÀR{ÇúÙ~]Öðtפ¡ãÎÆÕïÙîÖM~eXøÄr]êOùRq5ýyYË¢<óZçÓg#TævÞ×Sccé {{{ÝUòüÙñá3Ã::çsí|;5{Ï®ïÎIQ¹oÅÅ'~löçBÝcøIÍÚ9©_ÿ>.ÂßìÞÓSå³Å«mÀ¦aaRzü{ÿ´K:ªD±Ä
&ÇH t*óY(h$ ´¸GIHùÌ£´Z°Y;Á_ÿ@CxÿÀÆ¢ aa3D ÑdÄBcÂ*ý©ËâÐ+¯.úKã öÍ@:] ÿÁÑ«OØëOndèG桱ÄWmfÿQQ´wC\IÆß>(Ý; [ÞÏÞRòТ&ºè×ÅdtÜÉs¼èØ£â÷eä éÙ±ÇÍò£$i
au5_ÆCbÕ²Cßìç³!fÚ¬O~|| ©eÏqkñë4Tô}&aüù|ÿX½îmÒ'
*1:pØT#°ôá
79¶b9Þ§¡w\bcôMó$¨\ÔùÏÓb(9¢³4ú÷#E4¢)é·µn2¢ Ò¨yórDÌÑ~@æS-;-÷ãÄ`l'ÕQVJJJ²Ñ§¢LN´X ¨jµ¸»%Pü×¼»áÈyòÏ¿8ÄËåß8·ÛL¡sPZ)²^Ðâà7w[C9ä@2?(xÿ lhZ#T>Øjä7Óø&ZsUW¼Zö$Q ^á@!o>~w=æ¼Æ e9C Ô4tÑÙ¿ãGR&sVTÛºDºË óêbã!PSØ%Rïõëã^á8¥<IK4ìè5Ò9Eæ .Ö¼×ê9,2DÏè/TUú{ ÈøwK©LD¥õ«¥·Ãý!ï"õnuQøt0Ðî
}[Üå£4(cJ<dK¶¡
¹6XT/äĪ/ÑbÛÉɧ17ü×\Läp°÷!½©é9ßbPäïº8®V/dó»÷;ø\_¦[»«3ê3Ùúz¥Êª
ôcYÇÈkÒ@5ÖàC8¶beè=Á6«qÔ ã_`S0×
/F^Ú®(ïã{¸âmÐQ¦0{6Osmr£
λ١õ8ÈÓÉÿ *;^ÝýD
Ƨoò^Ð#ÔWñàòï-&£8® _èÛ¹ð>ºÞYÇVyý
4*®úñv1¤Ç55ÉÞ(-=ä"-_+w1
ü³o<Òfròý¤õ}.ØmKS+.p.ì
4dê#_6*ù>w¯aÿiërÂJ-
ÍåÂJ-Jjh ëeV
t§1únÎìÝÏk]ÌorO¤ª¾kÿ
¾3CMüÕÞûôjwYuÝeà(L6wõ»ò+¬Èt
bJøzÒ*.ÖøsL3ùFõçÔä³8§fsv§wÃH<ÊÄðCEÂv)îÙÝÆ«Ë°xpàwç±µZýlÓÞOçül]yu,
|¾ZÜ&¡ooäÞ긽¤(Ígd'Cåwù Ñ@îСwôÑ]
s¥QÝzëüëªÑ9[JÓÊiúqÚ'
íý Uf»o¹µV¼®P¿GG¡YlnI±ðþõAË"h´D}ò³Ö~g¾ûðRágÏ·hÂVCÏ?¿A#_2A«KFaÌP±eد´Ô3DfW4Åçc¡CΦ WÁµ}ê¼ýÎa!ß»úî®ïVs+4].(!½häÆh~[Å"Y½ÎÊèÈ_9S$8|RG(E:O³*c1ûAäð ÌA&´Z ´f[ÐfîâÌ7F °ò±ÎuZk¢ÊYË»ùª<8á;êf#,jø IØ
ïèàNL r!v9xuÏ-ÉLîûÊÖÊзÆL!27¨åõ`ü.jÀß`;[ñ%ÿ8@áèEð³f`_J¿ë®¢(üíXåì0Õ-DB²ÀõMn/^Ö.ÉáfîÔÔ©÷Õ6üKHhî0Ä
TÞ=µLueÁ?k³èݦÜTeG[©>fjZX]\Ó CË\ÉI¥ØÄXÂà'½º;²P¼úhN&²ß¾WÍ»qËO¸`G.³7ÌY©Pü¹ê_íi.úÊøà×·P9qìVô³²A§L¹²É
©+çnêÀÑÖ[^Å>CLð»*ANÃU]?0Ü8ðDaDR7{²n|9ëbϺ×÷ÄÅÅu;^6$ƪúO1Ä}xhsÐÞ¯6Q/@)(ù`eâ%=7s5û73kuó~0B6ü,¨y×ÏÃÞ¾ Ì,þî¹]BKÁÙW`©nάË@¬'³Øò5o"Þ ¡@3ÜFÈd H¢»ggcáRZÂQ¦ôô((ÝÃ>:¼ÆÁßµú¶PÙ`E2Iôõ(?QûÔùiøþù+F ±¤óPJMi<ù;`öÛ;Ñã2Å5yÆ)iRòÑ4 î½*Í´|Eð¡$¶Pð´½÷wû@@ò¹ð. âM¼ö»YêDk&]n[$ þ¸ÐÛøñ ZÏá7GðìÁMܪoÀú ¸gÆÒKOt¤µ®À¢o©m úRWCìÀHrgÞwd%Übh'SÜ®Kß<0.Á
qåssüç ÏÙ°êTAWÝh#Ú¤ÎvÊQ*?õ
Kñ [×®5áê¾?J¤ÑuÅвJ{gf&) +â¼hDT!¹ª¢¬¬22Ì
Å¡àH*úzG´é»xTt³hNÕ¤íÉâßßm[ôäóìÓf¢á?*ïÈRú¦9·Â¥Ë
¿ez|fföwõwû.xà×~EÉ¢gÉ/Íó9)é'a[à(Ôcç$Ô¿\ì¦
ïÂ
â]Ü$IÓfy÷Î_kw¬^#Û¦Ð}÷^þuU £1{eÅY.$'µwTeJaÕ 9Ï;gÚ¦òÝÏîí׫fBXC( _
rH¿|ÌóÚ(2o[»Ëb¾Ì=Ð|ö^Ö£¡®|m*mÓüü
â
ÔaLV\Q%{.øäàýÏÑ>úÈEds
ÌýBJag0SUÈè3åøB[Ae¡Ê X
ÚôM1FÁ×~e¬5ÝpÞt˽
TÁÏäÖ qýÍk²wï2"®=`÷¡
@yàwD+)ñË_˱'Y+)cùÅ:^&yL:N¢ç·åM]½ÚÐ×a*øëùi\sà%èø*þÑuÛ-¢éDcQ¯KùÊÓ$â#ºÃ!rÝÃTÄ;árçÍ>5Ý(I}:1{10d¦âïõ¸Æuû¢ üÌZöoK#öz¥nEâÜGêg±Êè'
§jéCG CC/ò ÷[©V¦Äü AD¥õ¼ÎÚ#GªÀò÷ÔǯÂ\3e2MëiÒvüÏÝ!ÎzzÐúRÙø;Q `Vjå¢Qc"áý.r¾Nu±miwfLF5ãa@/;¶ý¾aÄ[ák5=Þp÷}°æ¨öhFï±Y s]F¾F¨cørNðÖwÎESð¤9"° ?wá/ñÆ"²C3ÝDÐ/Ø@¹ìäç ^qá#²Rs0-ïXi,!XY¶ + ¢õ'XÍõäk%ÿ
ºä
7ü\/ª]7
u\ê_{ysí!-ø ¸iSÝCB"d=p4qù¢äõèkî<t,ÐñöÝ-íÓB/ÿw¬ìGñÚmܯá°PY_o$¢"aÕ0¢XP1q.diÏ'Dy-·¹ªQ_AX<ÙMD%$(YèÐø,Mò²¸iu´vÆ!T
:Ìq:¡ms6ÁVW(n*qM¢ô>8'IúLPØ)XY&³,Õ/lÛØÛ¸ C%Ý!Ê
YeäTéUÒ¨ÙlÓŲ¹Mçlb§òp
ês!©¤º³$<yï±áó+©3Ô@M$ñ»U¸Cèø ø¨J6Ô%D=ÖrtæÎÝK¦tuO!1r"±
ãß¾«¯Y»¸|úûÏ"<èÎb3´±Öo-UwíVcùôÿoÚàØÝ,Ç(àë»áì´Ú¹ÜhÁæH(ù.#[\$îªÿÒýWˬ»£ y¬Zûíúå*Ol2~Äåëæ>~[ø-èË9ÂÌÃ×ȬÐÒi?Ðj{wôæü%éÐÄNBoëf=8MÈÔ£"GM(ñíHìpRÊËP©ÎÄѶd¶Ë$
fߪ$¯öýhAe»R9_åÖáG]õRNãðêVó]~f²&WhF×qh¸ÍhEDsÇ(ëçï v¾}f
11,ïy°×BK»e1 ÅvY-ï3½Q=u1)Êôªµ¼úô§«M¾r4+& 5þL)I´BRlÏü?³.v¿-¥Tuz¬HsÓí3QQ½ÿ^'®>³Ýä§|hxåå»[YHy»´%Ë|A¡v÷v
v7Ïítóð>ùåáÆÞ§¦Æ=µño\Îóö»jùwO¸Î¥ût9¬ä:%õô¥üf5UÂ_e|ÄÜWFhh Q\ùr¤!ezÆ궦d¼§6ÜSeÆ]OÁO´«õ@®GD»2;*ìÚ$½
qZ?>*!
LI²¹×°¨WhòCÞ@f6Õ?D³lèÌ×¥9÷bÀ:¼u#éÐ_°!¬õfâdSMPàç7CüIγN;í;bG£þ7`ìeËa¸ÖU1|TÙÏ+Y'yèdD¡æñ¾©Ý0Ñã
϶ìÏ<?Hèp£ndtó)ðÂ(ÉR©®+ÄÊ(¹~ãÿkv¾F»»°ð+ü*°bÙPøk?^ÐdäÅqÉù«8¹Y²®½@«F®µÕÀÿ Ä-ESn¢3
é:oø»¶tïÌ
ÝÖ.À
rchÒXô-èÕ vÑÕÅ|©êkEl aù Iuøú«ô¯¡)0tºÅ2lVièo°ì=¿yÝÜNë¯ù£(ñ~§yºtõ;øËö+ÈÒËÊäû|n¦6×rÊôiÅjïÙçÍ¥GÃBÃiF&À0PU1ÉÖ JCKôÜ=´tö®¸Ì]uBS(WM¡F3B¥ßU#(&Äãk?½æÝYá^0&° É`k
ùµØËÛ.Ìõ3g¸Üë$:Pw7\Tºÿ¡WóN µ·]¨LýÌZ;+m;ÑçIzfI²M½þw
~3ôºÂDHúoWÖ¬¾äQ}
%³÷ΰ#«£C^msÖà»Ø`Èæ¡DòÞ¾¬¡ïPô>!wϽÒfê"ÓµKeíÄ·ðX® ^ElÆ%7Àh$ÛÖïÙvxt~¦>pâNeîÀϯ¬%²ö]Lã
ί۹ PÊWg^¦)röëYä1 ^GèÌËñC;!ª|s¾´hMçü01gÉs±¹¥=,è÷è|GØö¹%2d[RÜ-ÓFSÛ;íã¬KÃgî3z5¦þ!ò¥ãÊÝoê×ÖKµ5Ø·Cî",3ȵ¨éÓúWRWX9¸P©`fìêöo1Ï{ðÏî§Yb!»`±×?g;X1A?PNêÈX{çúà?0=¦9\Τ¡É¾d&ØÌ~½Xü¬MzeH2MezÈU`دø4(Æ k©#D¡«Ý¹?øò¦ñ¯íRcßÿ/¾Þ3¨ 'jM
ÐCïÐ{¤BèÅÐ@èE"J TC¦!t¤K¢tAé]¢¢¢(þï½ï{gî=»³ÏÙ3s=³³;ç|;òÜ\:uø{ò£$/òqÇεïo3Õ^ø OåÞ+*òþôh«ìÞÝLö¦ûåþ»y/¨ÁçM¿³dÕ3à
eÍ+b<w_µ'JJ \\Vn©±»|;éÍÆ¿¾sÇGpDð´ñÒµÖns on³ôn$`
ên[Gj~óX @ÙP¥Rû+_:¦cÕ u´÷»þ4$ÅIÚP+Ìù<Ý1Ñ~)
g©óªE4*|ªr53ûOSsHEùy ðçË0>aù3+FY$ѽþøØ.M"¸ûÂñ£K1Ðâ0ðwò @ûSùßÄß'§ ÿ,ØQ±y¦z@E(|ù«6äÃK¾\d6M±£êþòòw#ÆÓÖÇpá¯1º¥ñù@T?á¼/ h"°
¤1±ÞÊ\}ýÂ_ïÛÛð@C1|·ò¯¥±P'ëmðXôÔÍ»N1W¾|{áõéKC¶0«÷ÝÈ0Ë?÷K7~HËñ³oWþÍï4½*:¬î4züÏ
cÕtx¦¬|'ë´6íâs5%õ'ÎÌR xÓwâkXþá¢ÅmðÎüý¨ÇÛq$Õûç6ªév!Ê5àÛtçÿô_×A at b3H$J#S,j!HcU}ð©5qñj+k¥#`¦Zp4 Âh½üL;RFÎðs7©Æp(ãü\HíÔjûÑÈw\ß\zÅó<öæÐM·ÄØUëà«2ç
¢fæ¬tæ¬ûä«t´è4$,^ﺵÖÙEL=ðÙÎn׶û ¹òÀD4
Rsú·AMñBÇ¡NÒ±ñ1Rêuâ´±þ¨;óq«d¬ü;ÿHá"bäÀÈÖÄK±
ÂyxW|xJî,ðD\\©yCi´ËoHôêæùUûi9¶Jøè2pæÈLËHúu&§þó «¼ÌqKåðJlqxnÒ{õ7\4JÙ©ñ|¿ï*fǬÅ&ý2KVÞÓct$´©ìÕÉ{·mHIÇË>L´²"·üÉï-ó~ÔÖÀåÐã£
>úÜ9ÓÄVge
WÆ-ÏÇïk_Q3,yÒWºBn¥i0¼4wç214z§[{[»t~W0gúyZ
õÁ·Áq>nm5.õ¼G:¡Eÿà~«Ð^ ÃAîãuOþMûâs×¥L©Qh\µâ§æÇyX³8D¦è
¯91%G q¬CFuÝÒ0ªäµF[¸:RÉþãx®ãϸYRn/Y9¬Vyp:¦ý_y%7 8<Úbþ+¿hÞÿ1£m@#~÷ïðs»Ôè±+ýôÍf×°?8Ò¬õ@=OZµÖãའñáÊWöM@&`¢ëõdèóæW-ïðàhÛâ²³ÝsH²y7Aò-·ý¹ßìÑϲÏv9?l?úx|ÀòH^~'âL¬pºB÷ý)Ô£¥HwµpàF4 âÄ<µA&^É?®¬Ôÿ|{<iBËMqPüVø ÿ×ðFL¬~hÒ[î¬÷rÏϸ4]ëÑÑíõ£h<×FıõÜCÑεh¨úDABî
2âôNXbt^??v¶wƸU][c9¤ÆÅÅHÒ^|3<нÐ<ÃÈA#ÎúSÞÁ/Ü-óh4þ/¤õRKÈùióä½òXîæ#v Ã¥þç]C!§;oÜXÛÁ¾] kn¡LáÄï§<í®¯
Hâ¸ì/#@aH_3f:ü=ÉüDL<G_Ð
°iUQ+/@¢°â 8
ö?^Óõ±$FÈð/þËïT+¬Î7APÿ@Õ,,+CWIÍV&ó~Õê: Ú*ÄR8¶ïGͳXM(!qd½ê_\s¥pÄ=²Þå$¤¨&Ô5ý9ê1¦CÓgH4@½;oz!7-ÀÞØw|üzµ>^qCô
D$ñ¼í Õc#Ç¥PÀOYoT"Ù£5D³W6p!(@Tr /¥Ïù\/Ó5¸Éö_¼aëü.ß
@ÛÃídHÛÏ?í´O^A,Ãõ5Xu½ ,eãÕ¸c«ÓD¯5<>)/¬À4aW¯¹Þ|JtqѤ'ϼÒß(ÃêÀèghu&Ð9ÆÚ0G{-%5¶ñønÖ¿!oP¦c¿l6F¢Ñàõ9¯3Jt{wÂ×ÑÄzjxi¾|Ýk¹g"#àúÿ#B;ûííϾ|ÄìIwà ^Vµ<pÀ|=?{í@¢5^¥4¥³ó÷½{kÒw>þÞìZ?'s_2'$çyo£Ùn%
'O.gS¶fTdf«;u®{í3KÔNöȽxðjþ/pYNçy5r|_ø\ák!ÞQR,¤:(cbüÄøÂ4`âêídnð\çüWèîoÑÇOMã »ÿÑȨ̀ßs¾V*½µÐ dO¤ °ª`ø5g
ÖÑ´Ã#Ûºñ16¶,<ã'Z!9ã>3$è¾vOï#á«ú£«Oó58+Yß_BXaQ`þzÙÃc4
&fÌTcÙ,¢È7¤eÝ÷1?¾=KÔ«Ð#
Áap¢¨±¬$G"´sxóWBîì3+×eÔÊ[ånÇ/À,p6"-WmgT£øýô
+ö´ÁÒ
¯+<Îa H]3ÞkFÂøí¦]BÎ$Þ¬Wu¨:TöÕ»Q£öB zßGMßÆ#ü»µ¬½Éþà@m»z3&«ÕꦦrÉBÐDU?P
EÒ{`ùëL¸ë)îG?LRJ»I{§ô¿ÛC}gUä¿]t°¢CÀXò0µ I5ÝЦ?Á9X#ó?+Z/F\iLÝW:Yâ4`S£/@'W
p!9«MhJ#¿ÚñÝÇ¿M/oô(iWú~ö5ÖPõHb7uD$qâÁýr=¦êÈ~
¶7Â}¾p-
=V¹Î<þ5CC¹xúÚnMXúÓÛ¤ÞÅ2µ`»;5</.e~qôµÝQñ¾,áï
XèDVU@ÁÑ/ª0%"Ý7$\¤!\"Ü è¥$ Övñú`ú>Q"#¹<I$ÄãobQ_ðdóûï¿úa¿Ö®Ýø.éPAÓ÷^¥ûÄ`¡ba8=õG×$é©ÄÕý;ÎÑ
ÄÛçþ×M¥:\_Õÿ8/räÃ]mûÆ!L}ÉüWÔËîå£8]ÜÅ;@'ÁQV>#pÍùá Gî
Û.0Lt\÷˧Ø$ìU¡ Ï;IñöÕ7*epißO ý|¯ÃC==á?Y#ï´T¶3¢è±zEj|Ùùw,Kã¦tV(¯+CG¯ð´]c&7E
C´ÊÝäǬذ?Ú1)ÿ75tûç
óæ»Bà8ºJ}rfÔqûUóFÏcãدë¹y*rØÈV
Ð^«nö½&·ªDÈA%d)ó¡Ö çLJnØk³>ö|¦Ì¶®KÞK±ÂÂcÔÞ¬ùïù®Æà©è@.½5Wòyáyà¶W¯¢¼è£bsé`î]69Qi$ªÛÇ××oEçö-,¢kërÕê²%°Úr.Ƥܮä 轩ñ¢Kûá%L/g øLe?*Úsv>Ô'V©U> ´(0|!éýLrwÙáÄ(ð¯ç¹4yÿeÀÑK¯ êßÍ~õxݸØ]b¾Õ®Ü>=7$È1/6>ÝÜT´l¶äÈ«Q½¯òZ®hX4¦h ãay_$HmLL1Sm-¨}Ý¿s>¨zݼó?Ûÿ{ë¥k 1ÊSÁñOúÿ
ÿ1ü
_ñ?Õb§Ø+çå½w¹/ô¢äIZ3ÿ´AíãÿqfªxÒجÒ(n?â/Uê\ÊìX]Yw)ûOûÿÕÅþ£û*ü<é2¼þ;/Ã3¨]§½æá¡HCáH¤Ñ¿úóêÝÊé奡ïw|Pyµ5þ ¦Îäÿ
%Pñ¶0½#ø ÝcS,¾s
[#*
Ü{«!ÉÓ*uuð$ÄmHpVïÕ(m÷/ Ôi/êÑÞÀùÒÄbêiHZÅAeкå
d#Q¦ ºpúÑ@PÕDDD¯èD1ßs¢¶ØL7Õì]]©¿ û8U(Y2 (Ër&:î
«»d.ÉGPyEÙr¾Ê~>"þeA¥ò2ggíùõÔö-%Þ0B`
¯"a&éÒa\ëVjA2Áð«-÷Ðc8j¼$J±óÈMhmW"ÿîR½ª¢h@aÃÃ\wÞÇ:Fà NìØc·}($ãõcíjmv¼Ñ'ÅÎÁÞLÛkd3ÊÃ^J¾{¬Í&Uw®¨+Qó¢gÇpÕýìS&¬ÊûöSâîäTźé¢U£Éþ=¯³qkà>ýÊñ³¾DU
å¯çr:ED tÊYÞyërÌ¢ãlÆ&¬ ÆRh26k+·
ãâ
¸e\'gIMpø·ugLû½óidmé-eÌÍACÇ £t¼L#Rª\nlÉ:'Í×D·nQ!zFZv Ru|R칧¯Cíô!X]t %Xæ1é{a2.:Umâ4µ I at zVë
¶áÑI U1`äóq»Æ'®ÊäaP)·+üæE¯Á VVÁÆõlÓú|nÿvÊ{Y/ÂîfhûL²øÒ·_ÛÖ,>ð²çúWaGÀÈÑAáàÐË¡ÕQngk|!¢ìo¬¶ºð¾5L.ªê<ý|¢P±ë¯¤ZÞÒPêo¸iz÷^PÞïú»¡ï©
©éb<ô\©ì{ìªy~-IÑü
Ã÷k4Ît5
Íz1ÂA°.`Æ
¥c6þbË àÿdJúÝ»ÔRÄòàH9:ÁñÈ2Я|+ÒïünJè¯îe8Ø]¡µ-6LQ%Kl.÷bàÓËCwÏY÷Ö
8--õÞqóÇ;·)ªA 4¬õ[<-K\ýI(°Áp«ñ8!Þ*Ð
}¥1
Ø^~©üñJôóÏâñ º·îøøGî¯Ön^7|¹!'&0Õ{ûH=ØSàHæ @>yÖ±R`^$¿gixQàÃÌ&=èàÐ4a-´&s<Mð._ù#Û0VeäYsÃ7;nNÓI4ìÿ2ÕnµÆ©ÓϤ»_Lîz<ÈB)½QSmk^ühÙK¹$X.uèQ0ðÃÜÓØG0f%<¾²U£\eY
²Ûæ÷[÷·ëèÚ;jõý
£3"éÐôk]øRô×È|»Îæ«bsÅ.ë§6úÊnH:6[«
¥"èmùá[i8È×YX¨ÀUH%eRî]$?(ÇòÄO|Y¾súyB%Æí=ïÐêÔ:įfÓâ~Dò£÷·l)õúAZBÀÃëå%Å®kDÜÈ·Ò×ùÅ+äØÊ>b´ÁAê%Ù#[ç@äüýIOyìe¸?=ÐϨËÏÈ»l-,KöIe,²ut
¶;ÖR{ªk;05C¹ÐxÂAg©[NHHÍJ¡¥èÒDC\ê%A7ZíWÃG¶LcÅ,wiqÞP9¸-!+ÅÌ1£WL|Vºíe¼}Ît|wÙO Å ÷äÄ¡ê
ÞÖWOoÒÜÞf&à¼Ø¿;%¥¦{°×ö²ÊûÒú M´}£¶7Ï]TÞÝ.ÞBlgédåQïQe²
6Â úfwuß '+T»¼ÙÝW±FüUúyÏ?2õëßaöO_áv: NS y|ü)Ðôi£÷O9AØ5vÅ'Hx9·ö%
Böi¼@
ñ§Ñ¿¯ØÓwÃW¢ Åø@¦}¦¿"cÇdñ·õiã á:oOg§aE ÁÎG×Y_ׯËÏÿ5a÷jíÅÛ¢IÆNkÕÏù¶×cô0¢·Dþ `]¡çk»&ÖU¹ÎFª6XzѸæÕVUþá,½èGL».WCµÙQEÐ
I}üÙ¤Ò-D¿=MG~GZ?Í%·«Æú£ÓzYëÙ+y=AÆmsó迼¥½Ï/¶'~ø4Uõó¼V9]×z5&@ØÎ-2Å /7}Jd»¯Â +k7;J§ÖébAN¤Ù8ô\ùÎæÅÌ+Ú¾>µºÿUÐÓ6ÛÎDvã¾¢zÞºþxÃ<UÀxý%ªêb>ØÿÛ{gàfX[iþ.2"xDà ög]Ìp7s`Â8ÿ^rÁ¾,²êAÀkzáLL`å_}ËÓ@¤ù?7¦Ð×·øûfCJ+Ǫéfë̱Æë¬RTÊæØNÒÕQ¹·RBß<<âÜbuäl¾´÷+ðÕH8FÌc8¬~
ÌÎÉmD
áà8«%.ÈeÇü<ÞÉ+ÂâPÅú;Ï¢êZÁÈ
@LÍul^-É0@dddµ!) ZôEÇÛQiP³p<}Õ 3já©@Hµ¬<êt ¬D2F_ä áb×eGÀ¸Hå¿Ë
N»5dñy.!UlË&(¿¢ü#ÞB!?5I㫪ڴl|ØקùøyàrPæ%¢qdé(MáNX˪WGátñVókÓ·klcP¿¼?L±µ>q½5§hãÜÛÔÛd¨¤6¸ÀSmm¯7V@Ë>¼¬Ðøª{
õ½ñ¯àm¡& Uªþ¶X(mÛ<×»,¿¾¹)q3/#ìý*º-ÔNíWT¤oVûãÕ½y×KÕßéÞ÷^û̾l{h³$ª$t¯{evªL·A~G-ëf0:U,*ÈöÅ´nLK·^cmÙw[áþzWè£ p1dÆøKZ¸»¯yßùÖ)°íò(UÙ6¾zLL:©}8µîß(ã fäáóä¾âìedG=ïÂÛò êú^cæÊË:òèrÙpðïBAÕ{s`&Fq"6\õ¬ñ³¼6*zñ}$û m±õ"ó ;KÇܳRJ²oÓÅuµ}ÄèÔJs±ÏþH7ìÕ³ýx;§ Ò}VkrP>Ť·Þ
ó_5¿[RãY4·Q{r]Õÿ1æ?ÈÿÿEz<FþBa ¡:4ø?ÄýéÿZÁ=Í[n/-ÁñáõW[²àãÒ)¤UO ·½¦O'n_a~ùk¦y0´Ü¹*å¡~ÁVÿ¡²}5¨èMÑ< Îa¦ Ýa
¯ÜqàÁdIç1¹CHä¬d·½CãY¸½5^Ìw}õ ;Ųöe\ÔM»ñ[²ÇãðD> JmêKÑøx.à#¥Æ¶í@b
£ÒxÉÚE «B`d¢¾à(D×_íqÙ=µ½½ìbDÐÓbc:ÝáÑ,¢*FÈǺ¨º hÚÊwWMhEÊgíæ?~8®öi&ÏÛòìîóØ¿Ö= b2§C}Æäº!C iq#x6)-Ìøp% 9ð< @ ±Eâú¢»´ê7úξ.Â\ cwújìþúÕI¡@ÐXÿ×[ §lt"¿v}VX4¯È¶ù
ÃgK¹©Ïrsö¨"s3cP>w+=*â2¢wé ¡q§ÞHòÉ>»X9±z]´ßtªØO?ÊÁü}Vym`Ã>fPv÷¢-_ñ¼§ãfÈ72]sÛtñku¢D9UUfK0©( ¸õÈ<ÙBR) Ë{¶ÎK\âã0Ü }$ËÉýt*:ñ`áD·r1ß
¦FnD´âÞá-/K¿(µ±¹ö±Û90´Tør¯ZÓn¡pÁï)Ê*¦ ;C
XÆô3åGÓeßÏKf¸>£¡¤Èxî½9;²À§Ñµ°iz2êÂäÞnÒ¯Cfr1Æ6ùùô k}abLI? #<R_zhrHîV¤ØÁ3i³ãqUèzÌ@TèOÄÙÒúV'S@ÝjKØgH»&E»Uã[q»¦Ï!hËqêñF8pràqÉô
÷U"ïiâæÐbÉ}è´J`MÍD_úÔÛkµGî Ò}äÜtï§7KhØ©)¼añ9Îôñîñ&
ÛRq^çþë©1C3è7GËT³AÙ@mÞ^/
?CRÃ\àcVLp¢SÒxÄì¬Vf¢#(Uä0_ó42'T¿¸¤]+æ í¤Ê¸~hPI»·D·MHlr< >cã~Îîê,½C½»VBp
²M
ïLáãZÄ:ßêÃ4Ó ®Îfåé>?U¬>½Ø`s<<
¨DÕ\~)Õ
<MÉûÔ[xß÷qÄÒgÕ'U{yb
¼"yöÉ `@M¯<dJÌM¹ÑâMBÜ|kmH.9sFlò¦Ãô»¹{)A'UçÖÁa´àéÐÚ`Dîô
y`á,¹ê3k7VØ__KÅéO-p(X5×ð?þç["®/ëTæ½ËEÚE.»ÿðÉaC®ïvÄ sTì564$ØNÆÒÄûúúÐ48ÛoZYé ½r·súl´È@:¨#\è æºÝÏíoRPZ# FÛ#êüfE¤ç%å½d{ÛC>IÃ-í×"é-#á)rvP¶÷96tÒáø0>7XÇï1÷Ò?V-¼_b6^;^CÓ> Õ¾`y*qò~¿Wä^TjB,fXUÐvç¨MwúÅ®m£e|î-8ÛO²,Fcá044ðù>*|âå¼eY; ¿RãºþÜp_þp?'úÉ>&ñ¶Ï
þfSSS¯náâ×^ØDÄy3wS
]ÞqKøð&»s·,ÙßQÇÒpÍ´6Í hMßëþ£/Ò@L(é%±Zp£UOqR§md£i+øö}ý5úÅþí³)ù6êc5kã S»ß¿/®ß;Þ{[¸ó¨dïK³k¬ÎÕÆáæk¸TÀ>è{ÑìÛÎÂ×Ìj@ѱQP7Í¿g·Ù°¶;}1¤XL&æX)2ݽ»tÒan¿÷¼þÂÈ@ûÍÈó«ô½Â¾N´´·ù¡[åÃÙ)âaãÉ·Þþ
+Ì-¢;ÀaþÎî_Ô)ûcû~ +YÝÆ!ìCÀhA2MJã¹Ûy̤ÊÊåFv?ÔÈ!Ü ?{é
c>±J®ØÏ¡ÙËþqw¬×U}ô[³
õ]aí`ürí ;`\ÍñmZPj)ñ®oy°è[OOmÕ&wWZ^]d¼±nM·©A@ù>XR%"
hä¹]&~ëÛoF]·¤nÇÜüt7zÆüÚþv»÷¢W.s»ZikòïÛÕÌúz:°AÎn:t»º÷ÉåWa]±2ò¦pÔbä6.1ô£½|¶Làºr¼ý
·jU* :o²©110H*F«'±ïÌòıDúW¥
ò2
½ÿÞ
45É%±ÓJlÅòEU3XÃß oæÝÒË4ä÷¬mº½CpO]°½1壵¨ïÞ
x_r°×À¸áç¥ùè&ôèÌyùÒÍÁ4îNô @Ø«Z
fÉ$©ü<Ý ÝÖÊ
vx<><SòWýëÓ
çÌÖìËÆ@^¦¢/3¿§Ã«ö6yMÞÁ÷7vv®:&Öªh]ï|vóÑz®w©)IôfÎ t±1ÌèøyíY¯ÊTÓåÐ'²¿fïò¤ú µ_Ä{o[ {·ubÒ|Ry×&VÍ®ûæ>}Q°¶}óõeõÏ«ñ0Å«÷Õ£LÚ}£"½þ 5W|ñ,¤VÎMjr[@Û×Ämszöó`ckn×:²Ëë
86`'Á£ká)ÙÄϺÛv·Ên-[y'
ômDL¬HÝÍY
Ar#ÆAäKa¿ÚN,é«öÌÌ|lSÐaY'léoM3l³µk/ªªÈ4q~ÚÛ÷º¾kå+7cæ·´yn¾pRüÚ¤¬GHzFû¢x
ñ9©ZXÄÜÜwª&±Í w-ÅÂZî4}Ù1jÒØ×MG?ãx0Q5*°¯}×sâòüHêsÇ|8uòÉ'¼P«·yd®
î}W°ãAc Ï°e0W xsÚkëã¿Ì@Þù(ç÷já¸ÿûáÂÎýÊZ©h5ïdylF at ZÔðóJRdìaÓÃþ³It¹0kxbbÎ*'l+ú¬CXWSBdÚp\(:Ѿ^Ԯ澦¬+{ø4à@®äQ¶Z9I»ã«ñ¤e̽l·W)µ7' "^&E5 ²É¹vÞ
u4Lto|2¹õýÚpªl³»Âäc-¯íò¤Ì¾ó?7"
îFdCG?ö }Ϻީ¾ÚÞ¹B©¯ÌZvíM¹¡<@¼Ë° ±C¦)ñ¼¡¬I
±í£ìÅrà8Ólõ¸ó´ÿM±oÁdò-¸Óþ®kí;M!Ê¿ÞOUÇùQÖØi¾[Øw\4¾MØ
x at 7Fóo¯Ýs\)QÙ)}oÓµ £fyâ(ðV6A
SØ߶|¶z3ïÈMê×oÙÍ-hsr³¼Kþ¢é]Í(ç> hº;a0îã
ÑIæ ó@Éwnv®¯½*p>X¼Þ#(ÍT=ôSH!¤JPÄ!q¨Ân*?)µ*e:°Úå:§^ðÑ{,M{QpaÜ»â# Ü_V;~Èä$ ±¤_i)¼,?Ú³á}ô¥¡ÝÓq+R,â
µÅVÀêðºOÓL[iH&(ÄÂx%F`×3ëþM§Ã£ÀÇ-¨GDéºLLÙBÛH´Î °êT¨;÷:Ð"6övkrľIÁUÁ c<¥2?'HZñ
dÊw¼s-çôaÛ÷çªõRU%ÙÍ¥F"¥ EáëÁPÏÄn»[oùÉïvÝÞõ¡G¿µ¬ªúM(õ2îÙY³Á£Ì>dfÿèE+ýttлgî¢úßé§>ïØmÏÓâ íp!§ÈPZ®*q¯<ÌkKUI?Ùãæ<$P¹èa'WÀÛd«/V²[+DÒö<xHixt];¨dã<ìgrà'^þ_ ²À>ºÒ*GMÿ÷ M5¥* G9âñù*ÒVåÜ$óV7:cg5%¨*ú-Çç³ñ÷b3Öµºö9ño$%Q²^ËjLoÒßaµ´NPcÔ
:j¡
ª;ÕÒcúDkzþÚÊEÚY§Ðuñ-ø¯Ê£·~ÅÛ-ºÛéB¯ê,äè<óÓ«Áþb]Aé²ãÆIwPÕÄ
Ö¶ÊP8;¤ß·[YjôÔï°W[j¬®¸z²·:?Yýæ[J8 ü×._¶È3õZÆ64ñ´HÎ
®:NjòÚ°¹*_½HÞÈpo 6¨ êÙÁ]övÔeÅyæß_Ô¤!Éz4¦U Emñg'ª¡uúgÓ7¼c¸y3 ?äy#RüZçª~ÿöWìø¸ñ¿GBz~_qºIÍÅÒá?yËzðÑ*á¶fEÎÑCðhªÊBòÓO?íjAqZìV× ,ïefê³
sÃÓDD òìS/q2GóëN.ÜTKèÝ/ËÞ;ÆUi³ÄÈ>°"»èoZMQÛØKZâ³B#Û2|Ìy¹á£²!]xÒÑe:?u>¦?öt@<Nq%Ê
ÕZ³ÎþÈt@/ŵúdsTåé{LúYbþ}ß=YµZçL£þjhn3R*FT2.w® v7ÆpËß»
ÁÄ¿h?£÷Ín`±awà¶ñ`¾-Öî¼ËÀ `WÿqÖbåN$E:Ù·Û 9q.Á+ ÍGÖäÛB2në¿×có0p0Ú¨Xyg¦(:M+ÝxãíT-1å øûèHÙ
Û£+9[}`Ò©
ìK;õؼ40ÐAõ¼[d TºØ%KÃF¯-s
mÒc r2%:¸Ïz¦CâëhúÿàfT×Gεñõv9w?R«ånµËQ$ÐEwÖ×|`Ph#P6%úë9®´´êÿ ªª_²Îc
&ú<tñt ÐßOXc
$Íé¬ßºèØÑôöß+B}¸[`°{
Õ ë×?LÖßGõ\Óz¿u±4h·<ãcÎ1¾NJ7z)Õ}GRF< ÆÓÊ }óûöDßo¸wuèð©óÇI-Ô¼F8=èJÔÄrà¬År¢;uµ½b|Ì[y
xÂæ¼åÆx±ne§uáÚ3ûbY^(ÅñÖY
C[)ëRr_-
@¼
§Bvõ3iEquI ×zõ!5ÎÊ´¤EIøí3î( ÷øÛØlíkËOZ_Þì¤ÑðE¼k9ÞÔÙ;û-0ûÑ\æíȸînÊYõúr)RþÜÆE$M;ùúuǦ¾)ZîÅýqQuëqµê÷ýµeSæqÅhÝLÜ-uökÝ_£×m_$$¿ê{ãx=°&LømO@%Ñü÷ý¼$z@Ç°Z|Æ[Ç
ç¨IþoäÊ9¨×WDoïuz[FxXEÂä³QF÷×e¾Xê+'é*$¬$ªÝ mÜ¿àýH+¢1oð-Å8THúÚðûx+´ï¦`guÖÛÚÉø|5:jý®2ZEÇllÉ«&\ÀÚE
B£ ·ÕûÛXTĶÕuÔE*µè²¿JèáÚðzHäÅźPk®"á°8]P¬%T»õçÐ à[+ànÈ@Á#ö|Ð׺;à5«l{©Lç£^W?´'XÖiÿ2âÇóÈ×ÂÙ@¡/#f*8Q8;,¶´9£¿JçÐ"yè¶ä)5Gyµ5ô!ñ7ÖubL±T³Ë à&züöK¬õâ#,råt@¦D4óȾÊå¹\fÊ#° -úôP½léFG¤uæJ¨V©= R% <ºqh ¤6Q ×@RB/iclHÕcöeÒ£gáWëú÷ù½5ÏØÍÚì %YTtï
./×ÉÉ
ÒÉÁ
¹fªA«H*0:0JÃ$÷$ïé»ÙØxÔª½Mùùç´t
®ÿº6*òº§F*>ÛÉÓײ6ÕtcûÙÆÃ.`B¥-='}_fÉ3f®k[¶VèñÚ HÁÝþIÖ-véüù
óÍ:Ñ]°ÓB¯%S¨¾«¸þ.ÃG+º¥HY;kUç¯Ö>&ãEÏÁO#u37â_iiZ0Åhy£K`óh~óÕåðKoéÒÁ
¤;
¼SA^å§Á
oµÌq§/&a~°W@);øúƸ¾±ßkA{s¨ÇÍÜüñù
駺ÑéæÒ?h
Àè§+/¥²æ¹zÕR ºã?¤Ä>7*Ql0¡>Ñ¢E·þ0í?ýÏIô'âƳ^Ïp4<Û²óóºíZ¢ÅMufø`0ÖÀÂ,À¸&ù¿Wt=ïêørð¹ÎÖõ8OÖ¿m¯Y.Tron¹¬÷æãªíRò%s\ü ÁªD«ÄTÖ°&ÖWpßeOÈCÖÇÉUþ.ÍHâ/ñÐ÷µkcó¢bE
»ü.Aÿ¨~é°ëRx«Yi®*WR½ªf.F41sIÒÇIÁ¿?ûòH\DâLëW&±e\O43/^õ>úbßÿl{¤¶}¤W[ymch1B
YÂ-~
¹@ä2/ÊÖw/~sÙì2.mcFÖÿpÎhBý 6X®_+æG´ôàÕ¶ª]\¾-Ì+UÄ*·¸øÜ÷SdͳÉoQö
9b0ÝÆ¿)¬"ÃXZ¡uM¹8ׯ 6P¼Ë
r:â8#ZUæ*<øÛýfÂݶ÷ÀË6P¨Ù<õLzöÿÄðßüîÔû#Hrr Xý¡Ux©*£Ãzd½ÌÂG
IJË>Pâ¡6èð´ÚVd4vØÎÅád -AºàÐ÷©^5
ûaêAáߺñª2F$=HmçËòÄ©% s®Ë§ÖòØô/
sïĶÛwÝÂúí(£Ç&Õ;ï)]C\[´ñ¶P)À:¯8lV¥¢G<Cïs_Í=áóܧ«1\<¡gLM¥î#O^Èj ècqj|³ ?vàUA9 D¤ç._½ª%_¢©¾Ñryóïß¼Í;üGúxÉ ©9JÚÏ´ýóÈzËmdëÚÒÎ"6¬QíFÌ7ÖEAéærº,®_Õr Õi|¤b*fõ½§·wÿ÷ïo¯*ÃM,cnh@
^0Ü>5RóÊÔP\°éøò°ÒÝøå³d£öCïð-ûºÊ°øoÔ@Ñ#eS
¾ó+ì ±YÁw8HÜü8÷\;.;ã5ÈMxþëgZz+$à{â)¢ZâwúgùÖï c«wåiÜêÒ0¡×¨ °ýÖ6¼Ì²zGµqî^|{û:¨øDmN4Ý5ù«P{ õ}½Ç1FFõ å@õÙ¬üá¦deàfB3_ÒÖÀX®DV '°×é5ó*×7ÉqKÃCm
3ܵ¿uäàÁ0¢½¹¥{0FàEtÇ[aRó8HMbPøBq³Òc¹&ù7ë_\+9è;àazEâc6^"D"!óèÑ4|& ¥Bï<©?b¿ 0õ7sÖN²X-ǧ+¯êZ¡AÂä,®ÙVäüF©²)¥´Rk~rRâ4J8q÷3¡ªó.E\7ÍtµÇîuëv5NçwîÖÏv=[w1³j*¸¦OÙ@ùa<|IAAkoLn¬«-Z%d&Év~ls4n¯vö§£Qh:V §4Ç{Ñǧ6Ì^kâ·`LG/1^1OÊû%ëÄ¥¡b9øëp.B¯æê-OÉRNýï À]»t¬æ¿0Ô¬L\E¹1Eî Hy7£$ÏQGDaãG-ëæÙºüèq$J %,þ9CyPærYáò1Eõ}Ju©íÀ¿ð>±Ö¼
gpÅsüyb+IÀF?}yåª9ÙÛ±µ7¬++fî)ùªm½IÂOÑ·¬DJdódU>dlFgÏÿ3¸mß@öB«¦|¤²ºUÓ3<òrù.àø¾Ý31|}ñÐýE}ßbÖbHÑÆk$G
Ùýãw?jyò\ÝÀ$DÇu=8<%NHm[¥1P¤Å#a[Ï0à|<&ÎáQ»û5ªàÅ+¡¯²Iô¬ûözñ4uõ<Ìu7ÍÓ½)æØgKÒõ}¼[u
:§}v'Ù}ئôÚDëFp<r8H=Æ\ˤÃÛº*öËbLèØØ>õøáÄÂëîC%SÅOèÄy¼BÓZ zÏððÉwm¢ôëÛê¯D·}£xGn3´+L@%¯Ókì9öæJ¸[ª+év )Y!U"îýÒ£ÔòþÕ}ÞåÑ@ÛãÞê1ëSw³ôsBmd3Úéq9%ZüHh#g¢:'½âW9âów=
Z%höźà_nä/7;¯÷G¿¯òXÉî»Xv·c6
¬)ÐOJкZa I¸ál´Ý¬ÇpâéƦ°©·9óÀºX5/3þ¥¾ø½?>ÔPØǪçVá6ÚÜD=é°Þõ´üÏ-Mès ·~
°Æ½¶J©[
åHòÐÓd¶0dct±õqg>×GôK:;«®«uV9r¦sÃm$2ì*9ÛƵVMtñæð,O7à pE+å
*maüàÞWV}q
¬a+¤ê¢@ò4°Jt?ÞAs´!¨FIÊr½à=úhṸB 7k Ù[ø¹ Nñ7ÜýkÖAò×ÁSA|·dÖ«¢ë¶¬}±ðng*3·RID`ÿTÆ~C>C©7,wø«9K®{7ë)¦|ë7À| #H²*>[©m³qbk ¥½H_®íkúµ,äÒüB÷«Æ¹}¬±SrÃ/8!Æ£²x at O]sÔã WÔôÉ^?%#Grï~:}qy÷ø´Lz¶V2§NoKsMãxøÂøÆÖ÷Å\¯öO´Î=1¯9Ϩ+£¦òí{NľÈ/*hÎÂ(7êá¢ï&htÄ\%W¢"ÂmgáøOSÀÒYÄ@vZ}ëDB§ÌÉ¥KyFp»<,½ðkI¢¨É¸X°
£KãGÜÅ`1éõb]÷O@z÷ós¹·µ{àq-ã×
öq¤ZSÞt=¿Õ;<èîÈsXíÙ\¬·òs>hógåïEúÇ3´18øãºÍ ##£¿3PÊAÀÁälS%MÌc(do4uIý«v^¬©þùèÕu绿ήF|O¹·Ödn1ɾ0
wg5äù¡ò8ÜL7P S9de\V²`AºZ»]uõ9üO×9þ{ξûÑñ¼³?89ùM¬´YÝiÔ(®Q¯;ÈHp«8³ÔJY3RSrä¬g D1
Eí59çÄrwè¨0®¦É¨[ËSôkó£®Év)¡SYtï?]H©d<=ÞùóÓ7o~ø^ïDâ9pLÏåABÝl;tl¼
úg6·é!þîIÖNƧjªe>
.´Íw¬ò÷÷Dµ~¿á[ýɸ.å/øÚôxñoæqÎͧOþãY¾4Øί-17M84ß¾FNÄ}'»ß©«´XÃ-Êñ<¶ ÉÇvºÖ~ê¨:¯n&Hhz]çEä$dÙt¹õiêZ>8ÀIlÜÛÁë;2³Rè3â,®¶j0&ÔjOI[6¯G$ÿ`Ôì»<²3\Ábv,>B
~Þf²Ý%·åHHéóúõüàùÕ]DHÉ¢@´9b\r¬U`'Âöbª´ÄÐôÞzåÈÍ¡ÐÁZ
Ó <- ±¡1PõØ,AÑ8VËw@Û,íQÍ÷xÔ+1:ÀÆíÿ±`Óp®*Çê^-kàblÖX§t±èöÎ,é=CYÏ Ô:#ÕéL4ªâ}PcÇQ½eq7:-±8Ǥ ÑÍmc]om¤2ÚÉKPL%}Þà8°êýB_OèíI²yßhh²_õ7Iïèz-ë̵èbÞ(*ØÑåÁúAIW
¬ÉlR¦¶}»æx
¸Zù×Õ¾aEaFÆ%§Ðe!ô!ΪïÏt8+ÍöئpÇjZªúzúQÚ+YÈëüaE¬½ÔPõ9MÒñÇÝtGf¹Ør×Ê·vÓ]¹·¼·]\û4¬%?Ì]qpç!n=5s6èh|êbëJÂdÒøªÅù[Cv˳m¼L^m~aõrx²XRêaàc°V$ð¯¯
@ kNyO*²jå®ñ>L4}ÂN!¸Md È1_²¦? _ô[wÇ?8~¨³óòr¿«ã·,ké »a·X °¡!DeªQÌ9~¢È2Hàmݤ÷òó)e¨Z×|Méø/}¹0mÁ3"* )¾¢äã"ÚE|OPññJæïC¡ø}fGØ;Æô©ye#ìÍÖö60Íu:Q,ncÛÂwf¬ÒäêÛ-ÂçG³ó ¼ Y=G÷XáídáÿÊêe¢§°Cö6þ¹ßdÛê6ûÉ&ér´}FA¯Ù¼ÜöÓµFj
ãñ rï¡=Ølüù¶\gSíàE´"ö,vÔèÁ*$øt?:HD
:º©ÂPÌpÄ%±JÁ8kO+ aqsÎíÅXÛéÈS£¿äÞàJ«\tD¶
8O
¥7ð~óæñ¥°çÌ]ælp$°V5;9icB³²y«4^SwsôC«;`Ü
Å0ùæÁ&¼gò®BÝÆ6l³&ÀZÓOÌ7³½»Y*þØNÇ^WñúÇÔ$ÁÉSâ<3ÌñÅ¢Åé¡*ÄéâÀcíwÜò¥Ç:<sB/)Ä;?«Ð"³9×2ïÿ\^*«0Èøöø9õÐcæöÊøUl`À0s8^Ç<gwöyHëqF
î lËO,É¿(¢Ä<] üª;÷à·/kØãk3(:{Ièkã:q¸wØ>0ÎB7ÕP®Û,äÔ7ék«*°÷rô[ã·³F£[H2ÆÇ5ò+W® nÆß*ÄÃĵè°ÁGåVó-_Xwá8WÀï½3ö)F±2E/Í`@ñ"¿%<·óµoè÷íÕ]g,Õúï·ÊbòÄ͹ç7/ÖÝhºêÐK- ¼³³½>ùMIâÌA[%C§=¨rÞ¹îEÎ1FJÐ~ümóýgÂÖiàí©5:p¿¶(Òª NåqtÜ@?sÊ6ã5îã('H'Â7Ë=¼awÞÓéæ3RV§,(Óè;HþQ,ý,qÁ(ÒÅÍ¢Y¹ökô)¢Ý¬®9lÒ/f4 ià/íOÎ}èÿ<}5µ=ÚW RâÑKɹ"©¯¥þax2yáÙæ?a[¾è2Ö¾û
:ôË.R+ëð=T0ÑÕkiU¿?Ã77£ö"¤ÏdÁcÂÂdPê4hiG\¢übÑþà[xýhÏç¡}» }ÛzA"¨ñ;5å¯ãKÜÜú¡ðéÔ®o¤2ë7tz2ÙõZ@¥ûí@
ú{B8ù!ÅàAULU Q3Æí;é2Üj÷/þhïià/|8yÑíª¾aÎô40§½Íú½@9;;©¯Q\½;[\áCÏzÞÙänIö+0=XaDãÖöû?þØxìÅv@öòò* iÉ̹ªWªqíQÏÓñQ45
àWh3º.KìÔð4ðVýÙ3; L½¥(Æ`9͸q?Ïnq¹´ÇâHåT<T¿¬÷¥§¯±@[Ñæ{¨&T(¼T®VÁaK»SÓËùhÀ®Üº#¸*ZÓÂeèxÈ5·?¢xѬ±×>å¯ïÖá#½¬)ßàî¸þH}TÙRôE×
E,Vïþºç+öÇZäl6èàU¢¨e߶§$âÒ!ËuÄ
µ*cñþíü·ËQAVñÜôq\o©t2ºvÁ¡
Ièb,G=TFô+)1«·;ÄÐ5_cüZ»òx(÷¶?33c%T÷!dß#5Æ`Ʋ3caÈV±$i,)ì!J²T¢TdÉRÒ¾GÒ©Î;CSç9çyçý¼ã3Ëý»öë{ý~×ußÿHo58Óô'íãú¤è¾lö×aÕ-Mðë`ÕEç' /7¶n½afï$Te{Íã6wÍ&t䫳;õ Wh¹8ÒhVläq,X6bÉíîtÀ)cüº÷ðM9LE-óÜòn b1ùÓ¢CSÚ7Ä3a~,Öÿ$mW ©?\ç|0ɽAâísga¦Q}Ûî·Jt ýLߺÿùsg£lÎrùl´ïPÍç
¹²cüÉêvzHקSYqêp¦3;_ìt¿fð/õêΨaÚíÉO}øé<Ôåüèû9±èôkPím"»Z4GÌ^/Öü zì´`cì}ÒûÐ.LCÍëM9ö<¨.ïd4Ê(d0nCÅõÏÚ!
sÓôò7ºï*-a¥Å×4¡«Ø9¥½AEwéVÜ&/em6±ò¯;§&RC·Ay®ÖnôÎ|¥µ[°@Ü!ƹöqÒMoHèåÊiàª÷ooôwK?:
䮡ÞiS½moª7rµ!Ú>1nÒFd³Þ§á)Yv9í#½¾û<
5:okG~ (](ÊRµÁÞrÓ ¦í9ÓE`f¸ùäßamfvg}'|ºhÞ>'2oì¥3®Òõ[`¿aW~ÑÂ'ÌRÇRáë@Ö¦(\~Ë(/DLJlËmÎ]}QóYd÷)ë;;Mí_Ö²]g_UNªT[g+.î®ÜRñab/¸! &ÆÞ»ztî:(èmSØ
¤Àý¾ç9¸M×ú%;«I¬YxüþcF/lì¦1*QAéf"ÓºYæÄêå¢ ¦j¤íÈ÷]ì.4÷EÍÃþ´-Ù0IB.Ú\yæ¿öhÞ½#Q4çgoÙonâ3óx^G at GhÍó±åWûaÒBgÇm}@RÉè|qhË1ß9íµ)q»nÛ)Áä ÷H>ø B:<U§ÕØ:¹¡~9æCÖ"¬à:yÿ5÷?áûmYÌê&tÓånUq£ÊKô5bÃî)¥°Xá.Q9m~SØl7¼TzahÊ|½Áqa-»( :ïuFu¢TÛ½ö»ñ mXV
ÈFïlØ9®re¼¸±Hf´¶^¯Å%ø`åÎiíÖºÂk!ä)1Ûbæ(L¯¨W× ã2u¹SÉ¡Å|·_Ïd Éõ+,B£Õ½ÞZÆA7Q]pg
øàä©f$bf9³·ºul¸ù¨)Û)å3áß}p#\±<ezN|
!eMdÜÉb¦E"ÔQç@¯pêÂp¤q·6EB3ëàQÃ/*3bw_øÇÿ>ÙwêdÄé}§Ë¿l¹~=¨zØ°®ûíõl¾¤¤¸ Tò¾õÖÄIªIw¡ BªÊEçìvîw,hüL,2êYLcã.NBw)Éâøv\T¥:bk#_uJ©àbnTHoáÇÎ!\îu¶ÞKØ>ó1ì:¯'Xfçd£ç5Ì¢¬±X® `í%LUÆ»®*ÝT·3ølCÌY ×õVç8¾&Mñ´U
{øûÆØ#7_XÏR0çÈC~¸+ (rÅ<þÉv¤»+$d4ܶZÊIZîÚÀsì³áCôH¹edêyÉܨwdg»»D U]UK´¶Igïä æñü%<ìÇjv3ýZU^=~»±û¥J¾q̾üÖÖsW¥Kwt¯=v®ö¢LkOÁyN+½Ï0í¶Ñ´C~Bfåâì÷p;HÍô
[,R?Öþ)óÈGñÀ=*èÈíV{M»w7U¶X¼ÞÄ&ßÊ>¿¼GGN§HÄ`Ò:Ìûó¶öÀêÖ]ÏÂï[eK4hïBu4!¶
x´dáë»ò˧e§]µåßöbe1'ú0éÈÌ:
»@8o}jÔb³¼`FnÏ
È]:ÙiíýH`ÜÂÔ¡
{¤~¢aÙx^¬W_Yé¨PïâUµn3Üx õj+°&ü»Õ@ÐãäÎþ7k$EaÏ·x± QB}L®kª((6ª®Oià®\bÛ/'ZÁXkV¿ ÙûE²Äð@\Þ¡øçð«Ñ¼s0)aôm$PA)ó4Á²|Ó.{Öd]@À~ÛúS÷+2â>v
Y"ð°¹KMα2˹xjjXìý3JAüìélÍò¬PècJ#ü¿±"9CK°c¼¬¯Ry'æT¿ÓÈØ_©ù¯·rÃý'#$×
d4ÀØb¬ÄÜÔ~C¤øQLIÖÑpgÙNGðÒïTûð4óÌ*3¿cÙp"1W¢ù0·®MANu¯sß¡ö~Ôp·ÔDÒÜsrÕ¸7¯_íöWùt=¦Qÿx
ÃÝ<ÈäȨÏÖ
V Zh¯":zoËÒ ¯ßÜB]ReôrQ÷Áà͵)gÖYG×æãWªç:ØàZ
%RJr5r¿,&A5-èþÙäo['HÄxmc q_§R¼·GºbxBׯaºlV]¸»t9îy^&ͳØm¢ï^:õàͲÈ)ÕláÈ·ï¿GÆãl²r>½Äü6ÞBø3Â\ºvêí§§ÔOyï¹ÿÖÖ¢Å"6IóboQ»\ñø=4,_Ú§R° 6m3ñû
M×ÜÙ¬"÷àMP`ß}ÝÌ$Û
]kËTUJüåbúæá#YCÛGilWy²¼º0eyVIª¡)j
Q¶^¶Øï½]º~ö³©bÂoÈíÄ7ÒñC5ùh1IøsÜàsÆà²
OÒH"
¶vÑki-n81ízdûÍé¤K_}Ñ8äi ºS¢b»Mh3]_íÿyRZ8º+ -¶þÈýV£Ï$ô|ûr²¥Å[¿
2Åà)µ-gÔñ}Fb ¸(.KØÿV|©±©´cÜÙÅ«d
Àï
ø.IãÀ<HÒÞ.£ÉÝÆkÉÉTHÝ(ÕÁéÅúo>&¿K©ð»¦÷/Ð_KcÓ Î֦ħ5|h <üBT!=ÑÏ= v.Hd~¡Íܺ)ÆåIPgSÉZO¯0²¯ñªj÷¸Ö Þ
ÛN¼ZÕÓv#½
<ël¬±p_8BßQ}4+}ZîõÎ)þë"7Ʋ¯ïÓ ó<Ùv]+ðFú
ãµÊßá>ñãJ_í;·Í¾ádÎÆwTáÜñéVÿ©3îtÿöm·Í²úXIòC¾Wõ¥cbc·¹wè Í¿o(øÀ\ðòØò}zMö/OÒϦ§N:\¤ÆiÅ»Îyñû1˲Þ'÷µ©ìT9næQæ|ü^ª/tÇïP"ð)¿OdôÆËñ¬ç!,À¹ÀÙÁsÓræã.~«Üj5¬ônïLþÔÔ§aVü
}üs[ TÿõºÈæoÎÍÿ´}F4Ö+Î&ëÄÒq¶ªÇaEÒ°^û~¯B^(íÌãúööÊ£ïêãÚ:íU6ú¿é{Sw+o)Dä¿:òàÌø¥cè+:ôØ5à Þ~uQסȹӥ Þðûâª)>iÈ^7[Ü»Ì-.]ß]3÷(¤gM^þetïæCÝb¯Ó@¼WLÜüàË"%(Ͷ̴QÄô©«ornô¬lí7öGXñGHßG^æ¸|è{{d¶D/ßÎûö8ÑÔH9óHA3Äk=Îâ3¯%{'²½jÉ6ÉT¥ÄyÐ^.½ñ&ýÃöÇÉÖ &Q[/¾yµûLƪ½+vÛr+fö9p7êT2Ù;º
¹èa¾ã·~óÓWrßm6Ù>n´9öÕç[íësâ²Pt´¿Þ©±ìp¸¶¢ÍÍ»y/ö5?~f
ÂHB¥,S ÍÊl2ùh
ñ2úðå:b¶ÝælòèýL4ÿÎ]¾÷Óß4:ìÖa«U²CqFØÒa©öägd*2Ü$P¶¿'Ø<6¨=zN,á°¡ÄþÚØßçÀ;ýô¦ç·´}%O
ßN!àÙCÅ÷Üóm¾PͱRBòtîÐÇR-b|ô)ÚzK.ÉùÖD^Ôs
iaê ãä2'ÝAÕ2ÍV×Ù®"
ɶªïDðêDÔò§+KãåÅð4¥²4hmq^eõËJ!;&ö H£Nµ{Ô^øgâ(_{MØ `lEqêoÚw¿{T÷`÷NC=dÓ O
ÉSñÛ¢×Y1b\ûü·Á>Y 6½P<°ì1:t}
5ÿ0¿5Í÷p~çw¸NUÙHfvRSµÀFÌ]µ&
Í÷Rs0pW
VÓ-w:üÀ6©Z¾2Iß\FßxÙ¶Ë-x¢¿KÉOª6ȶA EÒ|Ö®>׬¬ù¥y
ñx
¦CcmZnJ¾~±¦èÚºV¨¼Üò4ßCÒ:;ryÝoRï纹JYeëg$ûúù¯3åfcYØ,I¦9TÚÕu@ÚGÌùhì~´`$K!ùÕ«¢à¡gõAaO
/\!÷îú¦iìíÞÌ.#6Bô²*¶ÅXaZ÷òÍC5¦ÍJ;³x^Êm:ÎÝÄ
MG)(Å4T¡EP¯ì@x ¡.Óùëê%/Û
×.óAx¯#Ä¢K=ºÒZÍò/Èúð1u]/Á¬nc2»ÍÙ ¿6+,^çQácO3Xc-#¨BbªÓdÊÓ!û)]Aä?èÓºOIL·éácB(tÂödxÒ³§Å Lkã>aÌ[צЪüD¶G#±(z¯ðú«ë¨%·ø]][ÑöC9µ.¶Nqk OSÂ]s?'Üüg*fNóYlC¼íJñ~)7Õq.Ë·¬5F³vD>µ¹#r¬|c¤}mß&u¡º¸¸Sª
3'ÇåÓëÊ&¿/[x¸÷n§uóçS6$Ãßeη)aÑØX +³ÃmwÔ;c)1ìúDâönÀëåÕL%¾æ¢E[,OÔnR;~ÑûîGï©<cÖ<s?Û
àçÒ8RµSGsw×7viÏ-Ds-Ø6 £ßÔ$¼Îl¼¡oTYq¹¿ö{½±©ÃäíÎ {&%2)µ;po(ÚCàC'Âôz)ñ"QsÞ@ ÉZwX·_[) ,d£âA$Kýð@¯N_üg´ôÓé.[\ç¯ Çl~ód
Ú}g¿]¾Ö Ïb¾Iè
,MYã¿å¦U¦±ñ£¤7#.I flÌUÐÒ1¿}°ÚrüÑ>ɬL¢$àqüµ>¹+åX¦9j(énF6íá2Û¼ø r¨Í.8íÆ@ӼŽî`õ0ôÇiÀè#Ô6}7ì³m¸f+ÙZa
RÄôÞ¶YÕÇÇmâ=[×x¶l¬`ÚܵxyjÄåTóþý.3õ¶Å£Ö÷æIMݪz·g³>IïJüùUÞP'½Ä7'AÂ.=/áUλ_&-ì£gòþ3~FK@
G=ìؼmðä¤ß²]¿mâT-
zjg©¸:4`-ê+ùïÌlîh ->;ýN²öÎÓBí"eæÈüL\öÃ*@Ъ´lÿö¹Ï·æ;Ù÷ ³à2T¦6!ªÅ¸y{"Å;ÌÕÂ$TüÃwrÊERa££,7Ï×Ôr²Zuüñºy
ã'K×ÒLL=!aäæn[
ÛÁ;d3̦D}j#yãBgø/-n9 iâ]I×Ѷ^B¿jL9¢±¸¾'KÄ®Sq§¯Eç«zv륵Ô33ÃY×`ô³Ña¬ÊݤR½¯¿a
!»_(ç=½¿PÏ>@>5<Nr½\ñyïp}QB#Ae£'Ë^ãÃýíÛã_*ß©ÙqüéðS#å
S§½Þ£×élÉ<êûI¸tâyIÑð6{êÈ׫ïÔýc|o`^sfg¦Ïë ¯Ñô¤&:¥2LbµÁýík׫»³uóCìØ÷³#BÇ»1BÁbU_ÝÔÃýpfÑèé:ëÜ
6QÛt R6Y»Fa±ÿå\zèôÁYzØu²¹NáeTÙ¼òWGçTt"¦Æ®xOæØdí(6>«´Öºª±_Ðèv#·so¦óKÍñO|kFÔ×Þ¼Ë+,^öB>ÐþÌgqWÄZïn~ü(y_Uäc
ü¬²ªN:¤E·yõ<g(ã¹ÔôðRï+Iï¤ D¾;E9è®Nmæ=1ÖHv%G<%møæ7oEÁãC®Õ1ÈlÄS
%Mâ ùÂ]C×S^ËBO~kK¥ÚÆ[T#ó4Ôó5
NG ×,RGUÓ@¹üBÙZ´ð<«èí^;ä m¨rD¢à|]¤
ò²EXF|ÞW¾®ñ£·÷ì.SH^+ëÑ<LºïЯÕ||.ªaZ µXAðfå¦M_ÜE-W@Ýux rKâç±¼îÛ¢¯ö";ä?Ïò¥¯[κ¿}_ÔãFlQúõ
1ùÛ¶¨(+³BNðÉ>ùLZl±¶e2[üË`;Ù¢Ú7À·µxyôR£°Ù/X vÎ÷ã\ý;bcèöåQj!-}ní>qÆ6LÍ ¯ðæ^×&ÁøÌ
ÓÌ:f©
ÙÛ:!î;Ñ}/mÙ¥Ø#ÉpHÆcñ´
ϯµ mGÚ*mr¦9VRÈ
cÁõÇâm«;Õo|óÒF::æ#yc-p¸9зÊùÞ>
WÈ}^òqA¿Ïi¼èóůöð=6½R¼`-¶C¦Î£^ëüò0~i"oé7y?Ì°<ÁOmªP Ml*C8øf%eà²\!¨² ôlLD?N%
H¹òb7å`á°ÆiÜó§>ó¬JºÊl¥tÛ*+ß<Â`^úÕðÙÇúMtÞ aàÅÁs§©¼NDw7Ra¥·®\¾ÞÜSM
rzUÙHR¬ÉÑh¶ÇÀôåx1ñqI%Ì×6A
+ªqü°f¹ú _lÄaÿè]Ì®ms©ÅÝZÈî8ånM,t/s6ÖB-5i*^ÑÄY:¾kOe3â¬Â&Ù'eo¹5li,H((/á;FQJ¯ÄÌänÌJÚ×ÔÒ]¾Þ:Àpj¸`Å]/Á-Ëî_zMl5h¨±ðÓäojÙ£twX?7 ±<aªÃãÜU¯+µÓ`ÇF=9¹îÂI³Íζé7_MÇÍ\n²ß\asBTÑ÷ÅHèÐÞp¯©
µ »þVÏÄíÐçÀFAä-<.ݽîªa´ÌFµ&»!"µ1ßð°R»|bÇàåØ=Wû_«ßþª¾éÙ'õËǵê×îA+ÕfÓãtûsc¨æ
² 06¤µ×dØ%ìÔÅwJ½í»ý&ýÁìÒ¦C§ÜÎð?Nv¸« ß¿ðá}ù{A˲>S4³p[7ï^!U?÷ â)â /HG_FÓ íÞüVìz1ÔF ?æü`Jì¬33óÞ*sÃiL¾·üíÅLáæVþW½Tßô$íÞ0²süëâXë×&ÍI|Æ»* ¬î½µÚ¨[yó-Ä£ZÚy2àóºÞÇôòâV$¦>åúÛúß
ÿþäTÝ,a÷ô
ø©ûUbµeSâÛ.x.¿{ýUòÎÙëÎÁëTÐïU®ÛqÁÎWåüf5W¸Ý× ä¶2¿S:É A5pj3ãÚ
Ûlèè]T)¬üãXȾ\yhgîö;ʶö'Í·w$Ý÷Þ3ü|Ýíñ©3¯ï,ÒN9Sv9>=Û¦ZbýÊõäoQ÷©{×EÎÕNÉr¦ý»v)éeehN§(¾MefèÀÕî¦Èñd½â qI8á~©Ìz¡Ù,éS~;òª%|jâjjAcÉ=AtÛÉil!TéZ¨«Z«§¨Íþ$%IÞzPJÇdÁ$£¯ÈnCY°RDäY¬ÜK â!ÑG®áÙK^«eYú8ªÇÀDô¼W9j·fOpËïîÇ©Ï.{TÞÀýw±àÌÆØük0/4V½KTbJR"ðÃAÛ|Eo*ÙFLt}r?.ùÑæ|=j/HQ8ÿÒù»}¤&D×>,Õ#®©îlò¦·>ypöEð
á
mlì$¦öVîÊ:céV,`¶;$ïzÐí;ÍóÇÈ~"þ±T>µdÝÄ°hF.u¤n`KÑ¢e<$æý¼¨4ûB«Éæ]g?ÄĦej×1
uñb¿<£µ£ÓyëЩÖx¸ÈN]¯sÃPØ:ù\ËÚ¥åh>¨?o:YDÞVÁto(
-!ajB´(jÁ¢¡ä<äYÙ¥ÏÔxüN=60yS4~å·qÁÖ'aÉ(·Ùk9P4Ê¢jOoñZòZúÜ1˾oj=^ÏÍgΤޤ[¾gÂ7vðǬseZÆîxWvÄÔy¦È¯V)ë o¢~î2Þ<¶EÜÙYàb at 0gðl¤L9jÞ½%mé+Êâwk¼ lÌX{hMSyðVÈɪ5ÂiùË5¾>rôë
&|O{sNº·½ Yc*vf{I@Øþâ
&{D>ìUL
ÇTðùÕ9FuåßÝ·P²cðõ1Íɾ2bÂó6øÆvÙ¸Ñ'm×¼VÃaQÁ0qýøs/â÷ÓDµË×çâ£Çí FÎòWnÉzÒ(»ª-8y·úå 1G¹f Ø°ÔÖ0wô|L-ÂUÅ4+a:1áHgÅ°Wç´ÁMA,ÙáìZxQüQ&æúèÖWzÑ´ÛqÈpMA1/ýõ°<*ýë£èÏ]¹&Û¦ÍGEoáOôK,y9A½ñÊ}cé¼ùùíáÉÈÖDßæØͶô¶9*
÷HÙãE¯Uߣ]iÝuûIáA'y"uh`mêiײ®WàÊ8î'¥®dVDöï]Þ#::ôAÿKY\Ö;:ßýCêP >ú«_½â ¡ÅøÅüÃbó
ý¦2ºÛº<üõ'zòN»ÞÒLð g¶
˲`ÔV
äSäÐÈðm÷gÁJ³¢;ßݬ
p3³ñ|¨
ÿ-Æù:èád/5U:fMÊMt³þ¡ÀìÇLÿÍ%2´ÖÓ
¶U>PzD£È²ÜÝðeôåÊL¡b&¢7Øâ¶Í§â{ÛÒÃ
³ô)è"ä¸+\7ƹñ[hb)jS3Íío÷l¼q¼WC¨áAÈ Áyuw[å³QÉßÖ$ºÎèNWS#H+ÂÈQ'Ä,â5÷Håõb°[ÜÊAyläZéÂ\sfø#ßAÀ¾'¯èÊ°óåVw`·hÅÚµ²xIé×Ú6N2ó^÷Ô¦ÏÑ\¼îüÞåa±)=%»¬°«¯ÉmróøòCùÈÃLU»õûï=!õáÉH ÀGÏÏY+§µï¡Bߤ /<U¶cø u°'ºCåälöÿdë+Å^~oWñêòÔBäó»Êñ%^aF@§Ãò,¤_¤»¼Ôu©l.ýºL½á^K³tÀtÉó+sBj:À?/(R±Ù6ZZÊl*Ö^ nuká(ÛT-äfø5ûîÉK3X><úÔd~¬áI£*iq§Ddù45í¹GP¶¥¤&ŪazrDAM]©~³æÌ\µYúðÁÞ~íai$UHuäéÍtì==dcI*#Îã òÐÝ8~12tòΩ§M7Ñt¥ÎÄ
{Ûá!í¸Ù
*7Ú³øø^YûÕëD¯.IÊ©MSMê$óÃA¬ÉÒzζ9³bÐÎ&6çÐäõ7EbÌ6fQwßÞg¨°RmUxQn Å#2²Ug`ÐúóÕ}Mbê5Ò¹ë¨ó¯½Nt]Öµ"åµÊoàueÕî±QE?&>ZÓf#cTÁN±°|öZUî£ÂY5ñïx×mg9:ßjÚ3àq4òb¡Ê|ÃTëÈõÁexé¶SW¢qòfzÜܺTÞ òeDý&lrOÅð½
ôènMgDòLĨ]¯T/BlMéso,n·Øø.üýèØ+5jè³×FÃdú]oøGZ H¼nº ¶í3 ©opÁÍRSô!
^øØVü'ì7©î\µ#ð*gaëMRpK$5PZTý0Æ
W
We2»n¹.jë*Â.Ê,Ûü>Jâ}µ]ß$ÄvçAËe,
mSø
V|Ùcò쥥÷UMd¤OùN¦
½riÁh) [×G·'òÌ´À%ãÚøkºi°â¥w*#aFýýD}?<Ç»/#/BßyFëÌ7*DAv¾ xxéîp,»ÝÀÇ
"5³û8TY( o-,Ù\¨âx¹§¢ÐfÛÛNÌR踩¤y5fUШSNØoæd®¿¯è(¿¡@wƵ¯éäõNýöcøÑßJ~³è¦ªpòõD
´¨F¹yкÅJix©dRõ:?2üõ
}8
z
4L°iaÕ/È\0<ؼ±JÌýÑYöÛpËlv6ÕSuÊCø¸ÞbÄ è½ØpYÄÚøG¦Nó éÝ[
ìþòâ&Ìá2Õlãŧ#ªC2+ "¯àä'EÞR×]m\VÎWÐ>_AB÷)y6¿øFÿóë"§ßÉê>°u½!æg&Ô[0c³d{,öëÞTHó;T¢¡óoªkôå§ï?×~oã
ìPO×t9cbN®âÑm%I´ArñrdxæÀÉrÜ»ZAj°GÆÔ8À&>¤ì_(p0C
î~øÕÜô©,M.ª¤-U]{~ÿÎ|k¢© ì¾4Z@$`MwlË¡aÙaÙPâ¦oô¥Dúàzó׳¶XõµCoc^¨%íI
ÃT»e!ÁhÀÔcñ¹°@Ù.á'ds³-$«Ò¬Px
ùq¾EJBê¢C½üH¦ô2«]x´ÖnV|nö¦;3ôJõü¡"Þ×íüBÖ·Âà×µ4/ØáÒfOPO¾zî®
èßS¦aL:¥èSÞä:û!ÁXNéµ3âèmJîƼb¤µòz
Ñ_¼IO0Tíøºèè}A0@T(HÏ ?)ZfùUvsÁbGfÖéÎzà[Í©Ï^Hîcàùu¢-o^±j#+ßz§Ø_ZB¨K¡
§o-{`æE÷Hd¶ɷ
·;¦ª_Õ
ÊHó]Ìþ°®xÞ2¿ßOÖìàöÞTº©Ö¼Wu£´T}*Pb|]æ{ú=Ug^:EM
l¯tdåXYÕ³JÕ #ÕzßäüÑKÞ
öíªcu5UÚn-ôúò¿gÄ5hlÛÃâUá¯½Ï ¾?ðÚù{ùï2ùï½YEsX¾õEûZ*s-õJ"cLM>zÖÂF&/Òkå2`ÔqVb
Ý-5f³hSýìz]t{s#²Â¡¬HÄÄ$/ëĶ{¼@
%0^óãÚÇK'H&¶é5Dw#Ìu7"ÁL%A°Áúb¦¥ß±ó3ð`a±ã¼qOÍkÌè
°Ù;ï.ôË$dÖtJùêæ¹a5Âvï9غ]=@1É3ù^ãkÍéƽ/®ì°IñøºÛY7纸´óùãOF§ÔÕ4/Öê^´7a$¾9V$zÌ2ݶ&ËîU¶ÈkZ¬FU}B´ª.2Y`òÃàn$¹Í¾j7]DXðêun1Ú²ÐÒBÁ¡F')û˲S>Ò½óg?µÎ«,¢ê([W_[#^R *yPJðÀãíß3«!»Ã{_Jô\{ñ*ÿp,½½£=½hÓÌÅhÃðòQ×Sr±O4:yyet^ãðµ¸]÷ý;àΦçð
ªLü°J{Û¶¢SÖ<ØÛ»gûôÌù Vúi&/!úT¥`mP{èý÷²û¥òå »jb[\Gá|5!#Ùð*S w2ÅúO'ÃK²E$mÝ.óhOY-;IóïøÀ[Ï«ô½Mñ $|ã°zì¡´ïIÎÙâ±ÆçC<¯_@[îÈe¼ÚëëT2¤©<hÔÑ][]þõÚ®uåCÞWº±s´¦[ý:¨&÷YÇbR6¡×iQ$${®û¢µÜ5ñßhÙLR£ÉÞ×bõþ$TŬ_«¨à\k×n3ÌQÔÍ/q7vä(m¬T Ê¥UØl«3öe¯öh$lQÛ®¥¡Éçªi»ê¡AiJï2 Ïaïþ½Í&ÆN«w±7QÒn<-,容ù¶Ycs£6btSºÌèSï+çŧ©|Ý-8yáR¯eQRó8ÐìlPaÊëíßNÊ/õîÉü³¸íSò{4$:M®Í±F³wßAÚÞM¬º¸µæÚ¹·oeUtA
lh1vN^OÚXÊïk«6
¸4¼~\/¼ÈÁW4ø!øä×Ý(}jÃFA°&ĶZ¼pÔ/Sh#a~¦ÒDoL§DË`ëq²öH[¶REÙóÉìÐR¤ úâsòVãÂo½ºDÖäÙóJbí»Û6¶.KÀ³iØ^s<ñ}YÐ^<À¼:^~í_JÓâíªÚÉeXÛ%3g
`5¨^S?ÍbFÌu^Fèöî¯%íor`vj_ñÌ¢êÏ5}RHáÏ°µ5.ê~.¡-cæX]Òq]p¼`Õ\'e¥"&¡B.tÀþùKá]w?;Û!=ÀW>ëJðÞËZ(QªÉ
B×Uûèp$Z{aK7týÕ!ÒçQÑÞj×ÄÆ6~¿ÿfS]1º»bàxþ³³Ug±° \¤êX«rÑÇ?EÂíÅuÂe<;Õ"Ôô :ÔTµ¾õ°ãÁ¦JÂE'¯¼NáíFÐþÉ·´y¾ÛýuÈ47JaÖ±g*R:¥Í]'Z0³(ï>¹:ê|D
^7m at LÙÅ>Th£ºW<½½(@å»É\ÖfexªÜ¾¹í±hZªi«Ðeë>1½ôÓ[%PlÓݹO¬+ÖßçãS
bYÆ]ôí'¿ðj²ÜRQúJÐD
ñ¬)
£i!JN«P³rÞö©qjoñ©¥±KB{¦M/éÉo&Ws;^^W©É5Ǿßu'ÿÊ¥¤ÚuÀ:7ÁÌÁzñÜqçcÑìõ7ZÇéûB=Æèú7Mc´,2ð¨\ço\èyþõØÉæV{{¯°c±açñ.nÙáXL.@Þ¤¤¼íTªÈ7ìgùnXW?ÈË|ì>c3sÃlnp¨Øçâ>åÒñd!fñ·=ÞC:qì&sÈãß_«¾¨$Á°ó ÔÜ ÞAñ½½¬üÑìÝ~ØظûØvËo¯
¤Ü.1#4yÓlóJÉyæâuG Ê£efú7ÔÜX= ¶w} ë¸u¹õþe½ßßèûò»÷|^WÆÍ4J®û÷OyÊYɵMº?-MMM= η¦¡V Yóï_Zº~Z4´õW.´ÿJþ9ß?¢¢ÈêÁáÁÑ y´_p¸oTB!p)p¸S´/=`D ÑAÀ>îäD¢(ô
ûRÂhá+ÌþA¡þ´ðà@#@[GWÐÓ´õ8ëdJ?=8":npE£ _ N¦ùÓ¨@ ÎQæÏ S :GW4
¢P©¯¿?%*Jðà¨øååÄQÀ5ìÏáåúõoS_ñc«/Ü7b´×ãïîjP¢ý58kÜ·w-*Ú;÷¿ÑÕ#~ÿÄC÷
'Ó¼£(2Cö^]åzL¦r¼Òñ¥kÐá+tuÎ2!//àÍ-ì +;+gÎ
=GD§ÅsÒúG HF0BV[ÊÀRiþ¾Tï( N¥ÑClT\ø+3-âÞ?XhêÚþu}Eð_U(¾jôAm@Ðô~!p%5-@U=ZðK}üµü"±úú¯ë
!ÿ_˹á'H¸[
Æ s0Âý¹~Ô`?º/=¡¾
;Ý_¬ÁÝc¯<Q\¹Ç§àpÃÕàXB¸jßæq¥4 O at QPÿ;áhîìjºÍDÁID »Ap åÖÉJq¯4¢~Q
,ë-ìOï£hæJYI
JÂh+ô%ûúQ)óæv&(úÊÁ±£ÆÙp'cUBÔw
áèdªåÍ1ùûÆ!ÿå»ÂAøGòwÁÛÂj¹Éßl#ÎC¡`8ÙÔÔ ¬Ò5ecãK0ÿ àÅÊc eLãÚÖò^
JIH@À w
¨q¶Ê OcnÂpø¼Z8ÅXRÂ)t_.ܺÔ8Ì ×W£ÌÀpxéa\lÿÐÂYáè¦pXп¸@cWs
¨EjÑ ×©_YÔÌ
5;îçE
2%F#STø÷
£N{øÅàe]Ý?WÎ48|5Pµ]À*t_ð9eöS´+ç_èÿ¢) ûÅXÙtÔpéÜ4 ßsDçæc%yÜR£(+b¾ÁTîÎý_à]ÁÑbÕçôºÜö¿îpûGØ~aø/Aû{Ìþß û_ûoûïñ"ÿ3^ÿ/Â?áEø¼ÿù;^ÿ^¿Åðÿ
áßãEø/ñ"ü_ðâúÃéÞQ¾çíDñURFpÃrNðï»õ;ØÕr3üç¾t2ƪ ·c.ÎñÓÙ9Áá:AüpoÕWV¯¤tÕO 1Xñ^oe=àoç¯ØôpyÀÓá8£ÂI×ánV¹}|5Ì.l©³½£¹©³¹·¹£«¹#
§$6vÙÙÿØ/þªàl {»m?<ü×fô}
ü³êïè ~Ú+£wk¬ôøí°¬=ÉÙÊÞÎ[õ?êï0üÜO¨Q"¹ qe¢iÿ ¹qe¨@|NfÐìCXÅåg¯h¿zµºÂÏ÷QÀÖWqôÁpþÈwCS©ß+Kù³~5YIÍÏaÉs±¥|/* ÈÍ-4:ÅFãÕß'S/çÍY çªâ¤jeps¾áÈÙÄð9
²:8qUúSiQ2çâNý©t~(Æ 55Ú¿,êÿ%Øhºo÷Èq6w´ý3|®K+Ú[þ8~XåæÆü·ø}?ÿ/:gÐó%ÿ1ÇÕÿ?È 5¢éïqû©îOO¿ozn³à÷³À¥q÷X¸ß¹W¼9¿£Q?D¹¿µ ûc~h©;Î~¿ÝøYÈ;ò»ÂÀùç`¡¨Ååö÷¢ ¬SZßÝRæv¢?pAX9r49ë«®ÁáÆÆ«(¯hà'?OÁîû ùýømßÃ^1NùÙÌjnþêÔsÐ`
Ëñ}%¡j
ýàï,@þn#1§ö³é¿1¡ùã0ü9fõÄûóGçükYÿ)ù#pÎõ¡º¯?eB¥P" ï\«ùø£#þ(3ý?êÊÇ*,\ÿ ÿ¹,ÿÕ'@Í÷£û.ªý³å£
ãåHáÜak «9åÆø#Á«OüÄ qÕÛ$â'£(_Ä
?Îê_7ù®>oòÓýÇçM¾~ÈÊʶNÀø¼iÓ/Ï"|Ã@ y©º&ÂÄ=èßNÀ9tï(J
ƹg¢0|¿×÷§2ÈÕߨ¨X¬Æe at pnîiðhà'M߹¼ÃiTZ`pø²?Ùþ²WÿKXuÎØÅQ¾zúQ+J8÷Î+]" Î9¿·N;áìÜçê_µý[æ¨Ádn`ÿâ÷0ûáӸШz¿¸?:÷C¢ì¢ø3¢9$NWäú͢йí-²+ú?õxÅ$%<Æ;Âîõ³må
çfûg~Yy(Â[)gâZè/ñþÔþ¨Ûÿäõòýõå÷ã³£)§?8¢Ñhî¶úLxQHj
--- NEW FILE openssh-5.4p1-23.fc14.src.rpm ---
í«îÛ openssh-5.4p1-23.fc14 è T > D
è , ì 0 ï @ e9c195aec04bf166229e1df205632e09241c69b8 ¾Í=:ÓDZ¼ -»öK© jX > ÿÿÿ° è - °$ ? ° d è é
ê ì í W î Ð ï Ô ñ ì ö ð ø ô ú
û ü x ý þ £ ¨ ( h
¨ ( H
h è H È 4 ( i 8 p 9 à : Fi F ªÅ G ªè H «h I «è \ ¬ ] ¬ ^ ° d ° e ° f ° ° C openssh 5.4p1 23.fc14 An open source implementation of SSH protocol versions 1 and 2 SSH (Secure SHell) is a program for logging into and executing
commands on a remote machine. SSH is intended to replace rlogin and
rsh, and to provide secure encrypted communications between two
untrusted hosts over an insecure network. X11 connections and
arbitrary TCP/IP ports can also be forwarded over the secure channel.
OpenSSH is OpenBSD's version of the last free version of SSH, bringing
it up to date in terms of security and features.
This package includes the core files necessary for both the OpenSSH
client and server. To make this package useful, you should also
install openssh-clients, openssh-server, or both. KÖOlocalhost.localdomain XLBSD Applications/Internet pam_ssh_agent-rmheaders pam_ssh_agent_auth-0.9.2.tar.bz2 sshd.init sshd.pam openssh-nukeacss.sh openssh-5.4p1-noacss.tar.bz2 openssh-5.3p1-dso.patch openssh-5.3p1-randclean.patch openssh-5.4p1-gsskex.patch openssh-5.4p1-pka.patch openssh-5.2p1-edns.patch openssh-5.3p1-selabel.patch openssh-5.4p1-fips.patch openssh-5.1p1-scp-manpage.patch openssh-5.4p1-nss-keys.patch openssh-4.3p2-gssapi-canohost.patch openssh-5.2p1-allow-ip-opts.patch openssh-4.3p2-no-v6only.patch openssh-4.3p2-askpass-grab-info.patch openssh-5.1p1-askpass-progress.patch openssh-4.0p1-exit-deadlock.patch openssh-5.1p1-log-in-chroot.patch openssh-4.3p1-fromto-remote.patch openssh-5.4p1-pam_selinux.patch openssh-5.3p1-audit.patch openssh-5.4p1-mls.patch openssh-5.4p1-selinux.patch pam_ssh_agent_auth-0.9-build.patch openssh-5.2p1-vendor.patch openssh-5.3p1-skip-initial.patch openssh-5.4p1-redhat.patch ht
tp://www.openssh.com/portable.html linux i386 Ø ° ³ ß ¾
f ê Ø Õ - á N ]
hÖ 2(
Ô £x õ /ó 1Á ã/ ® ¼ d ø ?´´´´´´´´´´´´´´´´´´´´´´´´´ý´´´´ý´ Bçs,D?\¢D»Jî«DØ|iHk\IÖ
Hk\Jm=JqYÌI¶mwK/TKy;óKXºJÅýSJÅýSKò?Kü KÎKËKÛKÏKõÏKÌAKÍÌCô%KÒJÜJÜK]¬K&J°îc318ccf12ed6fbcab9d4654a2c409c27e55db8b862171edc1a249da08d378482 34e73f7e387bae067f8a51cc3a50c5cb2b898c810b32a8fe80721b7b7fc69298 f5a57feca79c97ffdbf98d7f1f97e40c0f48fc19b8ca55e6a900d6ce509fd3e7 29d27cecaac4c1a60e34aee3170a6ad45d1ad02435e08d4581dffba943ac7f4c 33c496b386c22e100b9d45d3ffdcb4a7d88e1b4bb143d20e083f3c53aef5e895 c0e8cce3a5d7955d4be905efb8680593d60f961c1a5acb0a45d2cea7b15c99b2 74ae918188166d81bd347bdf24145b0b2c77578b6cb7895d562bf93b651beda2 3ee3434d53169bf594fd69e8907ea229d73dcbaadc026bd720b32352b4189f28 5ce41a8264987beabb21f4fc24127ef9efb430f115aceaa2441daa502db68c2d ac4ce494759385a692a2b040d02578da7fddcd7ade60cf75268ba69bac5a992d 4d2ffc5a4ec9dc0ef8df198624fdd82872c1fa820f9eee0433a74b6d0e7f79ac 442e685bdc1a5b7e322432209c2f430b73d09d59f98e8941df1cca125fc33a5f 62a1e924fcfb0ef3e9750cb9d8452184b12ffb01b491451fc55fc37d22440581 dcdc08fff0c0d37b423ef90bc68d19f572e086e3161a2
bf880da3fdaeea43367 46c07b0472968cb90cbb46e248ef143ed971beae2eeb28b0b73a3435154f52f9 462d90610cb1b497b7a1b2925a653a1f4e36f95b440e12dc5ebe67ce6c693477 8904c83b8668910cf7360285615e5e7576e91f53b03c21fd53c2490f1a9b47a5 04cfa6d2f1edd29f1ff79b55d8f9932dd8fe31c45ce9f7ef4da1438c99f11210 f107f9cc9edbeaa9454e6dc533512c0187de779b2f66bb06e344666d5cc35307 65cc8bd09faedc1047a4efcf33b79c151943ce49cf2a83e06ba9edb30420552c 4877db8b1f7600221896bd7e9760b5aed47a1b7d8f13c20decdf9013f9cd119e 7c62602d03fb5eec839dd6b11d19ae47a70b89d9577b8cb95744c388e8b0b1fa 0a5d9ef1e034cc7d9d772a65db7e344636606a1584a134eedbf8ef43356e801c cda10494caef7ca563bc717034a1f78a04a38bcf5830a070c3f85efe3d074046 6f537b00248891e216050e0908e2b527c999fb3a98ad21859f65c371a9d09d5f 1501e4835035cff795d0ea5e6265884259f616a6e5a228bfa324fda6aa10d4d0 6704262eabd44485e275b706ee385422b4f3d565d65ff24e13800260323de701 db27d60a24fe8c394658a22b6a7e5728440ca2d6d34250f9c1ab0b3fe78ba4d4 44bc68ac4beee7eb476552ff7668e538db4e51aa3c1da49e29704ae4af4
97888 76c80b6482ea5d03e1f33514f30ac77cd56e2fc8cb233a470562686df7426f4b c9039b4ae1a8d9f3ad306d45f62fc9f5cb35c6cd071d7ca991956340f4fbdff8 64468969e6f63ef3665c2a7d3f6df240737106dc15afd80b115aadb5369bc0f0 jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch jfch games games games games games games games games games games games games games games games games games games games games games games games games games games games games games games games games ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
gtk2-devel libX11-devel autoconf automake perl zlib-devel audit-libs-devel util-linux groff man pam-devel tcp_wrappers-devel fipscheck-devel openssl-devel krb5-devel libedit-devel ncurses-devel libselinux-devel audit-libs xauth rpmlib(FileDigests) rpmlib(CompressedFileNames) 0.9.8j 1.27.7 1.0.8 4.6.0-1 3.0.4-1 4.8.0 Ky7 at KbÍÀK]ÀK]ÀKXAÀKVð@KUÀKG@KC)ÀK/c at KùÀK¿@KÊÀKÀKÀJîÉÀJéÀJæàÀJÜTÀJØ`@JÅë@JÁöÀJ»_ at J°Ó@Jª;ÀJ¤õÀJÀJÀJ»@JÆÀJ#ÀJ@Jq@JjóÀJi¢@J`gÀJMòÀJIþ@JH¬ÀJF ÀJ@ÃÀJ2C at J
Y at IùÀIìcÀIÕú@IºJÀIµÀI¦@I@IëÀIo%@IA ÀHø~@H©@H@H4ÀH1kÀGúÀGÏÜÀGÇóÀG±@G|Î@GUA at GUA@GBÌ@Fîl at FßëÀF»ÀFyÀEÿÌÀEþ{@Eä@EÝ
ÀE¬¾@Ew at EnÇÀEl$ÀETiÀEIÝÀE ÿ@DìC at DØ|ÀD¿p at D»{ÀD´ä@D?ÀDÞ@Cþõ@Cû ÀCðtÀCì@Cç:@Cà¢ÀC§ò@CqÀC@C}Â@C|pÀCqäÀCbÀCTãÀCNL at CFc@CÀCÕ@Bçw at BÂ@B¨/@B¤:ÀB@BQ, at BB«ÀB8ÀB#ÀBÍ@B û@B©ÀBcÀAÙ3ÀA«@Aa;@ANÆ@AFÝ@AEÀA7@A7@A7@A4h at A+-ÀAÛ@@ÎäÀ@ÎäÀ@ÆûÀ@ÄXÀ@¿À@¼oÀ@¼oÀ@Vì@@EÈÀ@C%À@=ßÀ@=ßÀ@9ë@@,¼@@@@@@/@?ÍÐ@?º À?¯}À?ª7À?@?À?À?jïÀ?jïÀ?jïÀ?hLÀ?hLÀ?hLÀ?hLÀ?fû@?fû@?fû@?fû@?fû@?XzÀ?XzÀ?KKÀ?8ÖÀ?8ÖÀ?%@?'@>í±@>í±@>ß0À>Ýß@>~ó@>LÚ@>G@>.À>Á@=Ðí@=¬@=À=À=nÀ=ZF@=þ@=[@= À=@= @<÷eÀ<óq@<äðÀ<äðÀ<©@<Ë@<V@<V@<V@<³@<sÀ<jU@<N¥À<-°@<ºÀ;ôÿÀ;ñ@;êsÀ;é"@;³À; À;e@;ûÀ;{µÀ;r{@;q)À;nÀ;^´À;L?À;7'À;-í@;lÀ;I@;÷À:ñH@:ïöÀ:ÝÀ:ÐRÀ:ÈiÀ:»:À:¹é@:·F@: ÜÀ:@:E@:ÿ@:\@:
À:@:!À:8À:mr@:h,@:fÚÀ:@@:,ØÀ:$ïÀ:#@:"LÀ: û@:cÀ:@:À:îÀ9ýbÀ9ãÀ9Üm at 9ØxÀ9¶1À9£¼À9rõ@9l]À9dtÀ9c#@9_.À9]Ý@9[:@9X@9@Ü@98ó@8Ï{@8f@8/õÀ8-RÀ8(À8&»@8ÝÀ8@8:À8é@Jan F. Chadima <jchadima at redhat.com> - 5.3p1-22 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-21 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-20 Tomas Mraz <tmraz at redhat.com> - 5.3p1-19 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-18 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-17 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-16 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-15 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-14 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-13 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-12 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-11 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-10 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-9 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-8 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-7 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-6 Jan F. Chadima <
jchadima at redhat.com> - 5.3p1-5 Tomas Mraz <tmraz at redhat.com> - 5.3p1-4 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-3 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-2 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-29 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-28 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-26 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-25 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-24 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-23 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-22 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-21 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-20 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-19 Tomas Mraz <tmraz at redhat.com> - 5.2p1-18 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-17 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.2p1-16 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-15 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-14 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-13 Jan F. Chadima <jchadima at redhat.com> -
5.2p1-12 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-11 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-10 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-9 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-8 Tomas Mraz <tmraz at redhat.com> - 5.2p1-6 Tomas Mraz <tmraz at redhat.com> - 5.2p1-5 Tomas Mraz <tmraz at redhat.com> - 5.2p1-4 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-3 Tomas Mraz <tmraz at redhat.com> - 5.2p1-2 Jan F. Chadima <jchadima at redhat.com> - 5.2p1-1 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 5.1p1-8 Tomas Mraz <tmraz at redhat.com> - 5.1p1-7 Tomas Mraz <tmraz at redhat.com> - 5.1p1-6 Tomas Mraz <tmraz at redhat.com> - 5.1p1-5 Tomas Mraz <tmraz at redhat.com> - 5.1p1-4 Tomas Mraz <tmraz at redhat.com> - 5.1p1-3 Tomas Mraz <tmraz at redhat.com> - 5.1p1-2 Tomas Mraz <tmraz at redhat.com> - 5.1p1-1 Tomas Mraz <tmraz at redhat.com> - 5.0p1-3 Tomas Mraz <tmraz at redhat.com> - 5.0p1-2 Tomas Mraz <tmraz at redhat.com> - 5.0p1-1 Tomas Mraz <tmraz at redhat.com> - 4.7p1-10 Tomas Mraz <tmraz at redhat
.com> - 4.7p1-9 Dennis Gilmore <dennis at ausil.us> - 4.7p1-8 Tomas Mraz <tmraz at redhat.com> - 4.7p1-7 Tomas Mraz <tmraz at redhat.com> - 4.7p1-6 Release Engineering <rel-eng at fedoraproject dot org> - 4.7p1-5 Tomas Mraz <tmraz at redhat.com> - 4.7p1-4 Tomas Mraz <tmraz at redhat.com> - 4.7p1-2 Tomas Mraz <tmraz at redhat.com> - 4.7p1-1 Tomas Mraz <tmraz at redhat.com> - 4.5p1-8 Tomas Mraz <tmraz at redhat.com> - 4.5p1-7 Tomas Mraz <tmraz at redhat.com> - 4.5p1-6 Tomas Mraz <tmraz at redhat.com> - 4.5p1-5 Tomas Mraz <tmraz at redhat.com> - 4.5p1-4 Tomas Mraz <tmraz at redhat.com> - 4.5p1-3 Tomas Mraz <tmraz at redhat.com> - 4.5p1-2 Tomas Mraz <tmraz at redhat.com> - 4.5p1-1 Tomas Mraz <tmraz at redhat.com> - 4.3p2-14 Tomas Mraz <tmraz at redhat.com> - 4.3p2-13 Tomas Mraz <tmraz at redhat.com> - 4.3p2-12 Tomas Mraz <tmraz at redhat.com> - 4.3p2-11 Tomas Mraz <tmraz at redhat.com> - 4.3p2-10 Tomas Mraz <tmraz at redhat.com> - 4.3p2-9 Tomas Mraz <tmraz at redhat.com> - 4.3p2-8 Tomas Mraz <tmraz at redhat.com> - 4.3p2-7 Tomas Mraz <tmraz at re
dhat.com> - 4.3p2-6 Jesse Keating <jkeating at redhat.com> - 4.3p2-5.1 Tomas Mraz <tmraz at redhat.com> - 4.3p2-5 Tomas Mraz <tmraz at redhat.com> - 4.3p2-4 Tomas Mraz <tmraz at redhat.com> - 4.3p2-3 Tomas Mraz <tmraz at redhat.com> - 4.3p2-2 Tomas Mraz <tmraz at redhat.com> - 4.3p2-1 Jesse Keating <jkeating at redhat.com> - 4.3p1-2.1 Tomas Mraz <tmraz at redhat.com> - 4.3p1-2 Tomas Mraz <tmraz at redhat.com> - 4.3p1-1 Tomas Mraz <tmraz at redhat.com> - 4.2p1-10 Jesse Keating <jkeating at redhat.com> Tomas Mraz <tmraz at redhat.com> - 4.2p1-9 Nalin Dahyabhai <nalin at redhat.com> - 4.2p1-8 Warren Togami <wtogami at redhat.com> - 4.2p1-7 Jeremy Katz <katzj at redhat.com> - 4.2p1-6 Tomas Mraz <tmraz at redhat.com> 4.2p1-5 Dan Walsh <dwalsh at redhat.com> 4.2p1-4 Tomas Mraz <tmraz at redhat.com> 4.2p1-3 Tomas Mraz <tmraz at redhat.com> 4.2p1-2 Tomas Mraz <tmraz at redhat.com> 4.2p1-1 Tomas Mraz <tmraz at redhat.com> 4.1p1-5 Tomas Mraz <tmraz at redhat.com> 4.1p1-4 Tomas Mraz <tmraz at redhat.com> 4.1p1-3 Tomas Mraz <tmraz at redhat.com> 4.1p1-2 Tom
as Mraz <tmraz at redhat.com> 4.1p1-1 Tomas Mraz <tmraz at redhat.com> 4.0p1-3 Tomas Mraz <tmraz at redhat.com> 4.0p1-2 Tomas Mraz <tmraz at redhat.com> 4.0p1-1 Elliot Lee <sopwith at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.9p1-12 Tomas Mraz <tmraz at redhat.com> 3.9p1-11 Tomas Mraz <tmraz at redhat.com> Tomas Mraz <tmraz at redhat.com> 3.9p1-10 Tomas Mraz <tmraz at redhat.com> Bill Nottingham <notting at redhat.com> 3.9p1-9 Thomas Woerner <twoerner at redhat.com> 3.9p1-8.1 Nalin Dahyabhai <nalin at redhat.com> 3.9p1-8 Bill Nottingham <notting at redhat.com> 3.9p1-7 Nalin Dahyabhai <nalin at redhat.com> 3.9p1-6 Nalin Dahyabhai <nalin at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.9p1-5 Daniel Walsh <dwalsh at redhat.com> 3.9p1-4 Daniel Walsh <dwalsh at redhat.com> 3.9p1-3 Daniel Walsh <dwalsh at redhat.com> 3.9p1-2 Daniel Walsh <dwalsh at redhat.com> 3.9p1-1 Alan Cox <alan at redhat.com> 3.8.1p1-5 Daniel Walsh <dwalsh at redhat.com> 3.8.1p1-4 Elliot Lee <sopwith at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.8.1p1-2 Nalin Da
hyabhai <nalin at redhat.com> 3.8.1p1-1 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-36 Nalin Dahyabhai <nalin at redhat.com> 3.8.1p1-0 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-35 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-34 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-33 Thomas Woerner <twoerner at redhat.com> 3.6.1p2-32 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-31 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-30 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-29 Elliot Lee <sopwith at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-27 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-26 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-25 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-24 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> David Woodhouse <dwmw2 at redhat.com> 3.6.1p2-23 Nalin Dahyabhai <nalin at redhat.com> Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-22 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-21.sel Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-21 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-20.sel Nalin Da
hyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-19 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-18 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-17 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-16.sel Bill Nottingham <notting at redhat.com> 3.6.1p2-15 Bill Nottingham <notting at redhat.com> 3.6.1p2-14 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-13.sel Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-12 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-11 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-10 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-9.sel Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-8 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-7 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-6 Daniel Walsh <dwalsh at redhat.com> 3.6.1p2-5 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-4 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-3 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-2 Nalin Dahyabhai <nalin at redhat.com> 3.6.1p2-1 Elliot Lee <sopwith at redhat.com> Florian La Roche <Florian.LaRoche at redhat.de> Nalin Dahyabhai <n
alin at redhat.com> 3.5p1-6 Nalin Dahyabhai <nalin at redhat.com> 3.5p1-5 Tim Powers <timp at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.5p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.5p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.5p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.4p1-3 Than Ngo <than at redhat.com> 3.4p1-2.1 Curtis Zinzilieta <curtisz at redhat.com> 3.4p1-2gss Nalin Dahyabhai <nalin at redhat.com> 3.4p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.4p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.3p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.3p1-1 Tim Powers <timp at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.2.3p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.2.3p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.2.3p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.2.2p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-4 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-2gss Nalin Dahyabhai <nalin at redhat.com> 3.1p1-2 Nalin Dahyabhai <nalin at redhat.com> 3.1p1-1 Nalin Dahyabhai <nalin at redhat.com>
3.1p1-0 Nalin Dahyabhai <nalin at redhat.com> SNAP-20020305 Nalin Dahyabhai <nalin at redhat.com> SNAP-20020220 Nalin Dahyabhai <nalin at redhat.com> 3.0.2p1-3 Nalin Dahyabhai <nalin at redhat.com> 3.0.2p1-2 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.0.2p1-1 Nalin Dahyabhai <nalin at redhat.com> 3.0.1p1-1 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 3.0p1-1 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> 2.9p2-9 Bernhard Rosenkraenzer <bero at redhat.com> 2.9p2-8 Nalin Dahyabhai <nalin at redhat.com> 2.9p2-7 Nalin Dahyabhai <nalin at redhat.com> 2.9p2-6 Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at red
hat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Preston Brown <pbrown at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Trond Eivind Glomsrxd <teg at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.co
m> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Nalin Dahyabhai <nalin at redhat.com> Damien Miller <djm at ibs.com.au> Damien Miller <djm at mindrot.org> Damien Miller <djm at mindrot.org> Damien Miller <djm at mindrot.org> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> Damien Miller <djm at ibs.com.au> - ImplicitDSOLinking (#564824) - Allow to u
se hardware crypto if awailable (#559555) - optimized FD_CLOEXEC on accept socket (#541809) - updated pam_ssh_agent_auth to new version from upstream (just
a licence change) - optimized RAND_cleanup patch (#557166) - add RAND_cleanup at the exit of each program using RAND (#557166) - set FD_CLOEXEC on accepted socket (#541809) - replaced define by global in macros - Update the pka patch - Update the audit patch - Add possibility to autocreate only RSA key into initscript (#533339) - Prepare NSS key patch for future SEC_ERROR_LOCKED_PASSWORD (#537411) - Update NSS key patch (#537411, #356451) - Add gssapi key exchange patch (#455351) - Add public key agent patch (#455350) - Repair canohost patch to allow gssapi to work when host is acessed via pipe proxy (#531849) - Modify the init script to prevent it to hang during generating the keys (#515145) - Add README.nss - Add pam_ssh_agent_auth module to a subpackage. - Reenable audit. - Upgrade to new wersion 5.3p1 - Resolve locking in ssh-add (#491312) - Repair initscript to be acord to guidelines (#521860)
- Add bugzilla# to application of edns and xmodifiers patch - Changed pam stack to password-auth - Dropped homechroot patch - Add check for nosuid, nodev in homechroot - add correct patch for ip-opts - replace ip-opts patch by an upstream candidate version - rearange selinux patch to be acceptable for upstream
- replace seftp patch by an upstream version - merged xmodifiers to redhat patch
- merged gssapi-role to selinux patch
- merged cve-2007_3102 to audit patch
- sesftp patch only with WITH_SELINUX flag
- rearange sesftp patch according to upstream request - minor change in sesftp patch - rebuilt with new openssl - Added dnssec support. (#205842) - Rebuilt for https://fedoraproject.org/wiki/Fedora_12_Mass_Rebuild - only INTERNAL_SFTP can be home-chrooted
- save _u and _r parts of context changing to sftpd_t - changed internal-sftp context to sftpd_t - changed home length path patch to upstream version - create '~/.ssh/known_hosts' within proper context - length of home path in ssh now limited by PATH_MAX
- correct timezone with daylight processing - final version chroot %h (sftp only) - repair broken ls in chroot %h - add XMODIFIERS to exported environment (#495690) - allow only protocol 2 in the FIPS mode - do integrity verification only on binaries which are part
of the OpenSSH FIPS modules - log if FIPS mode is initialized
- make aes-ctr cipher modes work in the FIPS mode - fix logging after chroot
- enable non root users to use chroot %h in internal-sftp - add AES-CTR ciphers to the FIPS mode proposal - upgrade to new upstream release - Rebuilt for https://fedoraproject.org/wiki/Fedora_11_Mass_Rebuild - drop obsolete triggers
- add testing FIPS mode support
- LSBize the initscript (#247014) - enable use of ssl engines (#481100) - remove obsolete --with-rsh (#478298)
- add pam_sepermit to allow blocking confined users in permissive mode
(#471746)
- move system-auth after pam_selinux in the session stack - set FD_CLOEXEC on channel sockets (#475866)
- adjust summary
- adjust nss-keys patch so it is applicable without selinux patches (#470859) - fix compatibility with some servers (#466818) - fixed zero length banner problem (#457326) - upgrade to new upstream release
- fixed a problem with public key authentication and explicitely
specified SELinux role - pass the connection socket to ssh-keysign (#447680) - add LANGUAGE to accepted/sent environment variables (#443231)
- use pam_selinux to obtain the user context instead of doing it itself
- unbreak server keep alive settings (patch from upstream)
- small addition to scp manpage - upgrade to new upstream (#441066)
- prevent initscript from killing itself on halt with upstart (#438449)
- initscript status should show that the daemon is running
only when the main daemon is still alive (#430882) - fix race on control master and cleanup stale control socket (#436311)
patches by David Woodhouse - set FD_CLOEXEC on client socket
- apply real fix for window size problem (#286181) from upstream
- apply fix for the spurious failed bind from upstream
- apply open handle leak in sftp fix from upstream - we build for sparcv9 now and it needs -fPIE - fix gssapi auth with explicit selinux role requested (#427303) - patch
by Nalin Dahyabhai - explicitly source krb5-devel profile script - Rebuild for openssl bump - do not copy /etc/localtime into the chroot as it is not
necessary anymore (#193184)
- call setkeycreatecon when selinux context is established
- test for NULL privk when freeing key (#391871) - patch by
Pierre Ossman - revert default window size adjustments (#286181) - upgrade to latest upstream
- use libedit in sftp (#203009)
- fixed audit log injection problem (CVE-2007-3102) - fix sftp client problems on write error (#247802)
- allow disabling autocreation of server keys (#235466) - experimental NSS keys support
- correctly setup context when empty level requested (#234951) - mls level check must be done with default role same as requested - make profile.d/gnome-ssh-askpass.* regular files (#226218) - reject connection if requested mls range is not obtained (#229278) - improve Buildroot
- remove duplicate /etc/ssh from files - support mls on labeled networks (#220487)
- support mls level selection on unlabeled networks
- allow / in usernames in scp (only beginning /, ./, and ../ is special) - update to 4.5p1 (#212606) - fix gssapi with DNS loadbalanced clusters (#216857) - improved pam_session patch so it doesn't regress, the patch is necessary
for the pam_session_close to be called correctly as uid 0 - CVE-2006-5794 - properly detect failed key verify in monitor (#214641) - merge sshd initscript patches
- kill all ssh sessions when stop is called in halt or reboot runlevel
- remove -TERM option from killproc so we don't race on sshd restart - improve gssapi-no-spnego patch (#208102)
- CVE-2006-4924 - prevent DoS on deattack detector (#207957)
- CVE-2006-5051 - don't call cleanups from signal handler (#208459) - don't report duplicate syslog messages, use correct local time (#189158)
- don't allow spnego as gssapi mechanism (from upstream)
- fixed memleaks found by Coverity (from upstream)
- allow ip options except source routing (#202856) (patch by HP) - drop the pam-session patch from the previous build (#201341)
- don't set IPV6_V6ONLY sock opt when listening on wildcard addr (#201594) - dropped old ssh obsoletes
- call the pam_session_open/close from the monitor when privsep is
enabled so it is always called as root (patch by Darren Tucker) - improve selinux patch (by Jan Kiszka)
- upstream patch for buffer append space error (#191940)
- fixed typo in configure.ac (#198986)
- added pam_keyinit to pam configuration (#198628)
- improved error message when askpass dialog cannot grab
keyboard input (#198332)
- buildrequires xauth instead of xorg-x11-xauth
- fixed a few rpmlint warnings - rebuild - don't request pseudoterminal allocation if stdin is not tty (#188983) - allow access if audit is not compiled in kernel (#183243) - enable the subprocess in chroot to send messages to system log
- sshd should prevent login if audit call fails - print error from scp if not remote (patch by Bjorn Augustsson #178923) - new version - bump again for double-long bug on ppc(64) - fixed another place where syslog was called in signal handler
- pass locale environment variables to server, accept them there (#179851) - new version, dropped obsolete patches - hopefully make the askpass dialog less confusing (#174765) - rebuilt - drop x11-ssh-askpass from the package
- drop old build_6x ifs from spec file
- improve gnome-ssh-askpass so it doesn't reveal number of passphrase
characters to person looking at the display
- less hackish fix for the __USE_GNU problem - work around missing gccmakedep by wrapping makedepend in a local script
- remove now-obsolete build dependency on "xauth" - xorg-x11-devel -> libXt-devel
- rebuild for new xauth location so X forwarding works
- buildreq audit-libs-devel
- buildreq automake for aclocal
- buildreq imake for xmkmf
- -D_GNU_SOURCE in flags in order to get it to build
Ugly hack to workaround openssh defining __USE_GNU which is
not allowed and causes problems according to Ulrich Drepper
fix this the correct way after FC5test1 - rebuild against new openssl - put back the possibility to skip SELinux patch
- add patch for user login auditing by Steve Grubb - Change selinux patch to use get_default_context_with_rolelevel in libselinux. - Update selinux patch to use getseuserbyname - use include instead of pam_stack in pam config
- use fork+exec instead of system in scp - CVE-2006-0225 (#168167)
- upstream patch for displaying authentication errors - upgrade to a new upstream version - use x11-ssh-askpass if openssh-askpass-gnome is not installed (#165207)
- install ssh-copy-id from contrib (#88707) - don't deadlock on exit with multiple X forwarded channels (#152432)
- don't use X11 port which can't be bound on all IP families (#163732) - fix small regression caused by the nologin patch (#161956)
- fix race in getpeername error checking (mindrot #1054) - use only pam_nologin for nologin testing - upgrade to a new upstream version
- call pam_loginuid as a pam session module - link libselinux only to sshd (#157678) - fixed Local/RemoteForward in ssh_config.5 manpage
- fix fatal when Local/RemoteForward is used and scp run (#153258)
- don't leak user validity when using krb5 authentication - upgrade to 4.0p1
- remove obsolete groups patch - rebuilt - rebuild so that configure can detect that krb5_init_ets is gone now - don't call syslog in signal handler
- allow password authentication when copying from remote
to remote machine (#103364) - add spaces to messages in initscript (#138508) - enable trusted forwarding by default if X11 forwarding is
required by user (#137685 and duplicates)
- disable protocol 1 support by default in sshd server config (#88329)
- keep the gnome-askpass dialog above others (#69131) - change permissions on pam.d/sshd to 0644 (#64697)
- patch initscript so it doesn't kill opened sessions if
the sshd daemon isn't running anymore (#67624) - don't use initlog - fixed PIE build for all architectures - add a --enable-vendor-patchlevel option which allows a ShowPatchLevel option
to enable display of a vendor patch level during version exchange (#120285)
- configure with --disable-strip to build useful debuginfo subpackages - when using gtk2 for askpass, don't buildprereq gnome-libs-devel - build - disable ACSS support - Change selinux patch to use get_default_context_with_role in libselinux. - Fix patch
* Bad debug statement.
* Handle root/sysadm_r:kerberos - Modify Colin Walter's patch to allow specifying rule during connection - Fix TTY handling for SELinux - Update to upstream - Apply buildreq fixup patch (#125296) - Clean up patch for upstream submission. - rebuilt - Remove use of pam_selinux and patch selinux in directly. - request gssapi-with-mic by default but not delegation (flag day for anyone
who used previous gssapi patches)
- no longer request x11 forwarding by default - Change pam file to use open and close with pam_selinux - update to 3.8.1p1
- add workaround from CVS to reintroduce passwordauth using pam - Remove CLOSEXEC on STDERR * Wed Mar 03 2004 Phil Knirsch <pknirsch at redhat.com> 3.6.1p2-33.30.1
- Built RHLE3 U2 update package. - Close file descriptors on exec - fixed pie build - Add restorecon to startup scripts - Add multiple qualified to openssh - Eliminate selinux code and use pam_selinux - rebuilt - turn off pie on ppc - fix is_selinux_enabled - Rebuild to grab shared libselinux - turn on selinux - un#ifdef out code for reporting password expiration in non-privsep
mode (#83585) - add machinery to build with/without -fpie/-pie, default to doing so - Don't whinge about getsockopt failing (#109161) - add missing buildprereq on zlib-devel (#104558) - turn selinux off - turn selinux on - turn selinux off - turn selinux on - additional fix for apparently-never-happens double-free in buffer_free()
- extend fix for #103998 to cover SSH1 - rebuild - additional buffer manipulation cleanups from Solar Designer - turn selinux off - turn selinux on - rebuild - additional buffer manipulation fixes (CAN-2003-0695) - turn selinux on - rebuild - apply patch to store the correct buffer size in allocated buffers
(CAN-2003-0693)
- skip the initial PAM authentication attempt with an empty password if
empty passwords are not permitted in our configuration (#103998) - turn selinux off - turn selinux on - Add BuildPreReq gtk2-devel if gtk2 - rebuild - modify patch which clears the supplemental group list at startup to only
complain if setgroups() fails if sshd has euid == 0
- handle krb5 installed in %{_prefix} or elsewhere by using krb5-config - Add SELinux patch - rebuild - rebuild - rebuild - update to 3.6.1p2 6 rebuilt - add patch for getsockopt() call to work on bigendian 64bit archs - move scp to the -clients subpackage, because it directly depends on ssh
which is also in -clients (#84329) - rebuild - rebuilt - rebuild - patch PAM configuration to use relative path names for the modules, allowing
us to not worry about which arch the modules are built for on multilib systems - update to 3.5p1, merging in filelist/perm changes from the upstream spec - merge - fix to build on multilib systems - added gssapi patches and uncommented patch here - pull patch from CVS to fix too-early free in ssh-keysign (#70009) - 3.4p1
- drop anon mmap patch - rework the close-on-exit docs
- include configuration file man pages
- make use of nologin as the privsep shell optional - update to 3.3p1
- merge in spec file changes from upstream (remove setuid from ssh, ssh-keysign)
- disable gtk2 askpass
- require pam-devel by filename rather than by package for erratum
- include patch from Solar Designer to work around anonymous mmap failures - automated rebuild - don't require autoconf any more - build gnome-ssh-askpass with gtk2 - update to 3.2.3p1
- merge in spec file changes from upstream - update to 3.2.2p1 - drop buildreq on db1-devel
- require pam-devel by package name
- require autoconf instead of autoconf253 again - pull patch from CVS to avoid printing error messages when some of the
default keys aren't available when running ssh-add
- refresh to current revisions of Simon's patches - reintroduce Simon's gssapi patches
- add buildprereq for autoconf253, which is needed to regenerate configure
after applying the gssapi patches
- refresh to the latest version of Markus's patch to build properly with
older versions of OpenSSL - bump and grind (through the build system) - require sharutils for building (mindrot #137)
- require db1-devel only when building for 6.x (#55105), which probably won't
work anyway (3.1 requires OpenSSL 0.9.6 to build), but what the heck
- require pam-devel by file (not by package name) again
- add Markus's patch to compile with OpenSSL 0.9.5a (from
http://bugzilla.mindrot.org/show_bug.cgi?id=141) and apply it if we're
building for 6.x - update to 3.1p1 - update to SNAP-20020305
- drop debug patch, fixed upstream - update to SNAP-20020220 for testing purposes (you've been warned, if there's
anything to be warned about, gss patches won't apply, I don't mind) - add patches from Simon Wilkinson and Nicolas Williams for GSSAPI key
exchange, authentication, and named key support - remove dependency on db1-devel, which has just been swallowed up whole
by gnome-libs-devel - adjust build dependencies so that build6x actually works right (fix
from Hugo van der Kooij) - update to 3.0.2p1 - update to 3.0.1p1 - update to current CVS (not for use in distribution) - merge some of Damien Miller <djm at mindrot.org> changes from the upstream
3.0p1 spec file and init script - update to 3.0p1
- update to x11-ssh-askpass 1.2.4.1
- change build dependency on a file from pam-devel to the pam-devel package
- replace primes with moduli - incorporate fix from Markus Friedl's advisory for IP-based authorization bugs - Merge changes to rescue build from current sysadmin survival cd - fix scp's server's reporting of file sizes, and build with the proper
preprocessor define to get large-file capable open(), stat(), etc.
(sftp has been doing this correctly all along) (#51827)
- configure without --with-ipv4-default on RHL 7.x and newer (#45987,#52247)
- pull cvs patch to fix support for /etc/nologin for non-PAM logins (#47298)
- mark profile.d scriptlets as config files (#42337)
- refer to Jason Stone's mail for zsh workaround for exit-hanging quasi-bug
- change a couple of log() statements to debug() statements (#50751)
- pull cvs patch to add -t flag to sshd (#28611)
- clear fd_sets correctly (one bit per FD, not one byte per FD) (#43221) - add db1-devel as a BuildPrerequisite (noted by Hans Ecke) - pull cvs patch to fix remote port forwarding with protocol 2 - pull cvs patch to add session initialization to no-pty sessions
- pull cvs patch to not cut off challengeresponse auth needlessly
- refuse to do X11 forwarding if xauth isn't there, handy if you enable
it by default on a system that doesn't have X installed (#49263) - don't apply patches to code we don't intend to build (spotted by Matt Galgoci) - pass OPTIONS correctly to initlog (#50151) - switch to x11-ssh-askpass 1.2.2 - rebuild in new environment - disable the gssapi patch - update to 2.9p2
- refresh to a new version of the gssapi patch - change Copyright: BSD to License: BSD
- add Markus Friedl's unverified patch for the cookie file deletion problem
so that we can verify it
- drop patch to check if xauth is present (was folded into cookie patch)
- don't apply gssapi patches for the errata candidate
- clear supplemental groups list at startup - fix an error parsing the new default sshd_config
- add a fix from Markus Friedl (via openssh-unix-dev) for ssh-keygen not
dealing with comments right - add in Simon Wilkinson's GSSAPI patch to give it some testing in-house,
to be removed before the next beta cycle because it's a big departure
from the upstream version - finish marking strings in the init script for translation
- modify init script to source /etc/sysconfig/sshd and pass $OPTIONS to sshd
at startup (change merged from openssh.com init script, originally by
Pekka Savola)
- refuse to do X11 forwarding if xauth isn't there, handy if you enable
it by default on a system that doesn't have X installed - update to 2.9
- drop various patches that came from or went upstream or to or from CVS - only require initscripts 5.00 on 6.2 (reported by Peter Bieringer) - remove explicit openssl requirement, fixes builddistro issue
- make initscript stop() function wait until sshd really dead to avoid
races in condrestart - mention that challengereponse supports PAM, so disabling password doesn't
limit users to pubkey and rsa auth (#34378)
- bypass the daemon() function in the init script and call initlog directly,
because daemon() won't start a daemon it detects is already running (like
open connections)
- require the version of openssl we had when we were built - make do_pam_setcred() smart enough to know when to establish creds and
when to reinitialize them
- add in a couple of other fixes from Damien for inclusion in the errata - update to 2.5.2p2
- call setcred() again after initgroups, because the "creds" could actually
[...4568 lines suppressed...]
øð-â¾#ÇTVµF¼**Ø[ð^za@¾ÛôÙ:x§JL $2Ô_×ÉÝ7cë¿ÉOG' £¸dmí ¶
4ç@¢;ì«Dú@Èññ>¼q3qyûL´¯¨tx2ÃÀ3H@Eh÷vüü±§L^ÞÍ¡Aømdww
ßô§Â9fØ<¶ÿªd£|,
´Â!ÏÜÐ<Û¨)TÎ@ÞÔfu @â Éû$T¥±=mm4 EÕÏÁ¾kóïÙÝQ»Ã°ò?«Óçú5Ìb5!`f.üOÄÓ_ÙõLRLü6O©ÐÍIüWi¡:HY×t$AôÖ£ãCk÷^kW¸ÉRCK÷wYJ6ÒÍYµcj
¶[úÌÌ$QE«ÚöqÒÇÕðñhÈS>KH¯=RJ³¯ÃÆ:«×o¿ª/ÙÕåæã# "ȶºÈÖÞWH»],EHBHºBJ9ï0bàa[«{³¡;ºR/ŪF|êµ,X~ÑcéòÊèýÌ|ox!< -uÕN8ÁÆõ¸àgɦʤ È\5K¶näpKDÜ õ x¿ÿe²
kdy'¶6V3¾'7iÐR2SÍõÁh.bf`fC2$A$$ØFÔÓüÚ¬¶Í{|ó±,Ê3BlÕÔÊE1-¦ÞxdȲ1ÅÃv½MB;Nü½æÁvê@5.O«òÖé#r«=K7Wzw{º·j&Ñù.,Ú 9îð±\mÌÉ\eUñ·²ç((/rL¡;¼zÖÛÐ@ê8úÃßWÅ<5öÓǼ\ù¶êßF¬·ñD
3óÇ7ÑêÝÃ\<tóU88ßËyêI$Ú~bE~Múpëï9vhãÙ@ôï¨WUA#²¢Î«hJ%
,UPògÇt£àºöiñ£¦º eàFÇnmp¯[£`õí¼µhiq»Ù¤k8pr¥òé_ýsðìÌÚý$ «§Í¢Ý½XÍö{ñÜT2äªù óúXÙýÊkëiþ¨Ý[¹®ú¾Wßzv?¾`?
¤Á{
Bè`{îYæä<ÿ=ÛO[nnnw¤ß
¶G§ÒÄÏÅ;Rí" ¿ Hdç½wó¹õ®bkþH2f`ùl¬ß=1bl{}1çÛá9~êIR´I~3ý ö*¿TB$qm+!pè ÐNڬ¤ïÒÍ}¦ê=ð/ZN)+%4`@{í|ÜC.þ8úKÓ7Oc;®J"xèN¬ÝT¦ªv&ÁÍÖüiÊS`yKÑaîc+ή§)m[ÝbÁYIH¥È3øNùd`Â&$Ml» $:¯eÓïPæ )1(2@$0>s÷ûxõeÔëG-Y F¢f ô°KÉ<ÞºsÿlYrkÓØWlði ´Ã06iö'dí3¥S^¬q`¿eÚËácg2ñÍæ`(7x1)C\G.k}#Ôªoü:C~»ß9ô¬ Å~lï-<ãÕGǬ¾ÃÐ6ou}_Ä4MY¤Ðs«ßâSÂùéÕ*!×Ú"H¨! ýÐ (ÈY[·Ûýâ ó¬¥ÂuÀÛÚ$F$LõBÄ_Óðèøò¹ißv| þ¬ê@,xÒ&=tëú<i7
t>¾Ü.«ñp?®(GpoI:¡bØÛWm©¢pd2 ~ÐD5xLú92Zöòõ%¹§Gõ¶,¾óæyù7Dm
On1¨ý±Ø·Ë¯~Ém QÝ+BJ?Ó®'§]~½.£¿êå »/]¼>ÓS³c$`Äñ>®Ý§Kéð8B¢³K¤~*ñKó0W¥ïêù9ìÏ®»£$*:-PU) @IÛ¨t È{ w=Q餰± úþ®Ó[ð@ÎÞìx[v@+%çª:¼| È®gËàòÕËZÇHì(ªþ²mÕKj ÒÅä¨úá¦nìUù??Å¡6/ßvÑ{ÿ»åç¯[Ï1$¼A+®¾®z¦&¦¥!Rªk¨ÂMJ÷z.y¿A îI$ÍÍYº¶«CãY¡÷AFi^)Å"v%rgI
gÆ4vþóó¼` ri\¡n¶Î¤d þ)Ïrí
Ôò}åòÂÐ2ëü«r¿w=ñK¥¡BÆDë'ôÜãFµE°£¹,¨/NPQ7CyÂ*iÁ¤¼:sCࣴ S+óöVÓB{ÿ&3 9ß~ÖÀîáÃ+ZZJdoó(O}*µÄD£Éd(
=ìÓ+£!Ø_0ßÏλJÃ
Ýân²¬
º,~.«ÌÕÓ=¹«Ã·åë%ié¬k2k
²àîW08ÄuZ±<D²C ]oÔv¡K²Æ4¬Wd0EÙg-Ô¬ Ýp;ºï FDI;
f>
D~º©l¨¢qXé4ýéö|'cÀÇk3< !@Ç(ZLÞ×TáE{é³Í¿-ÜRøt D!"§·R8ç«]y'bdgôéïaëäbP"Éi]߯÷ÿ*IøåÒ¥ ãï7nKgW6li_0k8s$Dy×M±FéÇMÇãG34÷ósR+tCÂ+y$Xï Ûºx[*}S×jÖ"dH¯*£±gw¯ÍÛØìCÏ/»êQï;¨Ý¬qÿ¯³ï³ÎÊl¤´ª;¬¾ì×ÿ¿8ÊÒ!Ú~ O¥}×cç²bÊ
éXµÏO<ë²FKºµyA
æ¬æWgìðMAinB;òÎG²aÄ%Sß㪴ätX¢nÇgm}X»äR¥,YpV®/ÊX>²ÀKA!h.^æô´ÆÁÛy·V¬$ïYÕ³/Ö$>wÔf@wxé·1n®:xkp@©C¤$|3é[amÕÙ\ÑQzûqrl`r®°²PM«5bèe
OYd¢ `Hp¦¥ý\Rè&1©¨%ON,Â,`iøÃP{HÆC$¯½{^Ñ!{©ÖMü²( hW·:Y Ý¥wz#QÛ=ßÆÐsÝVTã§YýÁäßDHG8 ¨ ']ü"¼ F¿4IBì¨,2(â'HAaC )H[ Oâ±!l&¡ÐôåiB Dad?_ó¡H¢â, P¥}JÕ$ã´Û_l
ÌWîØHNå¥Ð¨f+"ùá@È*U%ÐõÙ÷Å.$moþE^/\Õ\ÛnÊÆÐ( ÎëH8!îÓõâO¯ªÐ-Ø¡"
,!ï=Xöa¦öËðÏGç-õØP {«º$åÆzh; O¢®À{¡P='}DÁÁ*Nì` È!±AZdÆHUä%¢WßLzå)})x¿åÀÞ¼Jùb(Îú)f&Âí1* ÉW»ÊFDÄP53¢ ¤ H\&µì"Ðw°jycaD%£Ï"h£÷-kÝoaµ
¢°3q þÄr6p¡E¬ª«b·ZUU¾¼2·ùªÚçªÌj]kWdåªåjBZ
BØÀü×:
$¥¤# VFÉ-&°ÑFêФ!
±ªPD¡%JMI Ý{Sù\KÕ
kiõØl Զ£Zµ(W*o¦Í¶Ýj5fm°ñ×ÍãmbÉ!5JPJ
´Iöëm«òy Ígb¡ùDæñµp x¹ãé]2$ý5éJ#²ï´ßÿ7.¿¬ïAjäH³º°( ¦zÌ%?O«¿+Ü¡kÁbÈ'FtM5
Ïð¶ók]Düÿøoñwß;ÚÒÖ*ªªªªªªªªªªª©m«3ýp° Þ*
ð¡S6i¡#¹$!Rk#Lmpåw;r&vl&ÛD êãCÄï-`Í4dVëÕǼºo\n9]9 ²% ¦M¶áGnÑåçdu ( lÅlK~3g,cZ"FêKpÈèÂìhðd«k£ô^Ëú¯þGM[¨èÀ¤±p )h7G#ª'£ÌVLåõ]Ý¿áÈTP ® îT7)ÞïÛ_6µZ-ÓîÝ@½; -MP·§{O{x{1[É_/mß.I&<»ÐU2°h*»å¾RðsËLd¦¾r !_¥¡Ø)ù@AõÀxá(d¦IDP ¤
BÔúäýÐ ÎZ
v E ¢2/»¥§ÔEÿoúÏÒ7ëWý1þ¹ÿ®õqì²×öòÛä
d#F/Î7YØ>|°4j5 "¿äíãsòä¡Wí#?ÎÜb9Kl/ÅmÐ~3öêW¿ópôá
O»=ËØ©'"TÑ~P/¢îgó(úd×z¦6ïÓÃ{'¬kw ýª"E:]ó>Ï¡Ög£çø±«c6wÈd«ÁÆ©¨ß/{nîtÛ@¶SÏ:¯·ùwxB¯ç¨ëõð»ª_ÏB{z5~®¦¡a'¦xÙÙ±Í Hf É JÃ@R
:*©
vçev%Ó9¯ªÌ%Óþé%Ó¸K$v_KvIÉç¯ü½A|Îࢷצê&ÐN`%
e©»qÌÛF$2)
C A-o,1^d~}OüQ
)YïUÐvP
ã°ØmãFÎ?©ÜÀAxf2ð GaÎ>Y:¿4<:GAÁ ê[%Ï
æÞeÄhLõ+öÂ^IV·´{¥I§éuUCû¸[¦s¨Fp.o¯g')^«FÈñ±/!Ñ(Uõ¿íÌíaD$ÒÞ~ø¡"È·~Ø-G
Ø öÎlÕlvýtç}:cÿ¦Uå±ÓÑçŹÐ~Ó`¾
f©qs$cÕÎñiн?NîrRn8ó¾Mæ|x9Æw½HÊÀ¼I-¦9Ò"¡LÁ¹òì#øF¼£6#]<º\>ÃçèðHV²¹ XÀ*ÜZÃD î@¯n|¸óP¹·¨Óg¼w0®.bö~¿¹Èá}çÆÒÞx:;ÐÛáØð3ÖñC%Hüõ¼Ï2Ã#o×ÆÝäÓD©#ݼ7.÷«y7¿© C¡Ûgë%[µÎ¢wK,â±|p"Û<g=G>Õõ,!}¯úUä´ìÿIk
¢«ì^Ui@Úö¶@ô
ö D¤²:Au#ÃôAìtÜU©
@SzpL`NùÝ`Íõè:þ';=Ca§Tó_m¯*鮲"ÀC )"7ð=ÚóY¼û+-ÔI$eÌ!HÑ<¾Þ/gí.=7긧OϦxÿ£·åú¿Ç¡LÔúa¢
¥wÏæû|Ûµ2úNc,&[õ¯Q4¿Q¡åIÕF
ïà|ã;B!@¿í ÉIÄ7ɸh$5á2ËõÀ¯§ï²uE$S¿¦5ÙWóËÊ÷Aô@6Â
xÀá
r}¤¼ú!b;PÓDE¡¿"#Ë¿½õ¢¤È¡QüXÍý°º.ûDy>&D²Z|d6DZ|+:,+ï%)x%8ª>ÊÕéXd$j«&ºãùèþCðbíHãçâÂ*Ç1#¹S>Y}é½zöëÉ "KàïRðaÙyãÍS`»ÑE.oã2Ãí;sïÑõ"·9qW¯Y¦üSù ¥eò´Ôs&¦¸º[ØÁ¤ç¥¿vþÆë@ü îÜY T %}ܹ.ÞŶØ'l¦ÚúKn Ã0Wöù¯(O¡,l! MÝ®!zÈo;
(:·{<´!¿AÑ1n-¦eÃvÉÈ%ZÞS¼u,¿å\U(Þ5)u ®FÉ"Û7Ýòy;g.óA
õòü/>övSUõTÛV0L
5@§?1k£yóõ#æù8ª$´ò£Ú
ì;éaaøX{0Ϥ8KÅÕk~þ~ð®^üw«³NØcõ}ÐFrWõSØBûN9üÓGùÿ\~oUÿáêúr/ñ8tOÖò ì L'ÂÍz¯Q%û*ÒÒÚx4Å+$ m(ìáöÄ
²õeÓúwÕ«N³î6
ëOÙ0;32fa¿¬ÙÎþLk[bùïh_Ýò¾\Yί¶;}~7oýðͧ#Ãå¿ÙÏ-ñÔþX-ê*ccK`knf¯Ý½#ínxí´tçs§gÖ½_=yoÚíÎýÜ|·^:¶ àmãÛ^£¹âÎÞ_ݶ9Æ{énË\ÿI5ðßNõOØó¼ðìENä3ýúí2ÑÇ¡ÑøI:kÒyÈìvý(ÛÇÖÝiGöög!Ç xûz b$i}>ÿ·pz OvÎ~óð¾8PåÈuZB¸Äü§Åó~ÿ¨LRXÛÏbOçÖäíÑyÎÑ?F]Sï\Ïî
håGyCúñh9-3 ©ß·¾|2è{¿îï4ÛK¾kzC|£1÷Í[¾¤qic¢ÄGïd]#Èí_z©ÔCVËýíþÎF» 6«*Ô&ÔCEvMÓ÷|9þü½þÉÝ4»®[¨¾£JR-lHÐH°wlIDGÓ«ÀÇÂOÇÚ\ZXPAëb¥æ¼ÄÜRJªÆ(.ídnh1 É öýÚ'è»Ü §aíP¯PBÿÝIqU '`N;¸Z
Õ RK)_i S $~¼<à¥(`H´-2K (lÕê 4hã:}Yî@·tî¿KVÈÏX¥VÒdÔ¹ÚÙÆ+.µ_mI¿_&êýUöüÀÓª¬×cEB¡H+.E5lÆí¿7ÍømɵͫlÛÁ¤zqáÎXrP×®ÿº£Ùl©ÐßI|»<Çø0Dĸ/Fþ¾®~νØÔÃûÓ·Ùåá±cÝcª{Í}û¸+SÕ(c"sA æ )@ )?Ïá%{VëD@ÉShh{¼ ñzF
/8
´n£ô@@N¶(ºÄ%>õB¯Òoñ
tóLðÌÃAÈÅìrÝ÷ÆMõ÷·ü=r>ÈhF5þXäòÖí30¼æT¡ª§´I`%±QÏ÷zÑai ¨ëÍLÞ4ø8EYi®ü7þøÊñà<§6çM,³©oå)J6írfÍ¥¯fóA^ݱþ H£éþ´§f.z´R
ÄY|XÂM?$í¸2L õ_$iæ"ͯä,3 dÞÛrÇu7ÛÈSzB;Ðz·ÇÊ.Å6IÆ5ÕZBs"ÿÈùj÷|È_J¾GÎYXH:fn:É¿ Ð'J at jèÓP YTIÀÔådñMÖ: NtÞ{~áÕG®ÑßÜdªf Æqö;}=ñ¹à[BB7H¶%@5¡mV¢ÁE'52ÚeÑÓ2ðxÝÃåÁ%ºòÿc®à³ºLoF~|¸Þd¨¬!æ¢CóñK²ÓmÒܹOÙPq³Ñ l6¹0unåtPWa«CNÍÏyé$FBª(,¸rãs®ïì`»
ÜIP¯cÔþ.ú; @Û¾g\}i@ÌÕrZMº' Î`±ÓnzðD2VC(Ë!¶5~l5%4âoÏb9ô¬
F2À,_ë$4/IU¹«Ü¤¿åC4þñ¯Ë0MÔù/ß4X`f 2±
òÐê*[J)À ;pjW54Q&$!$CݵKCWHN¢5;\¦ÌMè!$9TÒöߢ7ÁáhjI"²I
ç~£®>Z¦ª©ÉÓáËM¡ÿ`áòe^S£
[6ÍHIãz at xªûrųòk]KzêHÄâð»·&ÈÃ[fìµPԥǩ£©äð©È/Ù#sÑ¢R
Ã3Ö5µ±÷7wÄݺ<±Éù<tqñÞ¬l¼¡ úkÒ@±8:;¦òÒ¬Là$2µômùÚúiÒpÔk"$ºÆ¾h;|Ò $LÙÏäîÜ=µ)" 0Á^ã#>6Á½?r׬§´Ô7t7sìÁdaÃbtt?8Èuâé
a :ÿg¾°ÔÐà#@sçÝ /ϺiqÁáããÛXi¾úhf¾V=³|Sn[¦¶8e A<´¬r-[Î笠:\ÖBɾ¶ÛY´líTïsõA¡ßC\ë'HüJçI_¾g,Õìu_eÞ²L-æJµÉùhuõ@ÞZÆIí3Ù~>þÖÚ÷ÿ[¸¯vÕÀ 5Pz_dÚ÷E¶6·
kêîú§Kåym¯oWEÈEò+©>´¤èð}ÇÕ?Á]úvË
> HxI+ór9h°"P ØaÐÅ)Jô¬HÜ#I|Æ8mÜN@G,bD}\¡:-8F©óѯ&@iåö[H¦>Z×{|®ºÑ
+íÃàóµè~@Dü)º^ºX±¨±ÁH3Ðå 9(ÂþRWóãç_
Õtfk^Wdô¿<ÆEb (ݾfÄ2ú(ôÑûëD}Ë¢ìÅ3Ú¼`!ó AȬȴjË©$!;ÑÂ5×e0 APÍKµq@÷í£í\ÆõéÜfG¯¶ Í
Èó±ÖG®ð-¯9/²è;à`\*iÓ
¼ï"%dì¬5¶[8e³á îy*j©ï¹°Ù ½½å¢È"$Kòlrå¼{&96À¢!D''«Ó~C¢¨laL«»«Ð ]+6Ó=Éd É]~óQ¦FýkM¦D»· ¤Íª|µ)VÁ$ ̱*«ø®êUK.Oñno!Û¦7_Ë4ÆØ¿ç(¹Ï(¿Rñù'V%C\W£7Ë?P¯°J z¾è
uQ#"ÓX44òj³PÍbZ¥EÔÑ=5çEðâö~QeíEF4N[¸ÜèBr¾ÑZc¢uG¡L·QÑ÷ßý÷vZÜqBåo?g©kyªÑ¡¬ h¼3ÕV:\oÆ0à"¾3Â}rEC1-ÒË).+®íàØ6ý8É Õ<cÌ<º7¤/ÅYZyìH ¾H"H¨ uïõNÎ\úkiâÂþÍýzÚÂÎv áq(&uA
¶+ÓäzñiX¢Á/þ#1Hc,²ùÃ0
1&ûõfÚÜÍA\Ʋ0¼.=ücà515`F:À´#ËHѦùé*çõL¯^ÙÏ#>A½]`ö¼¥]¦'¬³®ºÊ2t«°" y¥üSNsØ á¬6ÀǶw¨E«!® íWð!ÊÚ¦+}8é¤ sàÜbÿ8@Áª÷¼µþóÖpÑêFëd÷ÕƦõDëm»Ì7
ÂÖ:MÖoL×p
P ,GBZ @¢¤"§bÅT,X¯%Ú ¡ YÈE
· °(d DD
P£ün ü̹@4A µ"ë¢ÂjÉþËûÔ}å±Ã+%EL.UÑöå^ÔñÌöæÜÔ
ɳú±QðsÑÒÐå=Ìûñt`D25¸û¯¯°/î¼G3'd°ÃYId
µYg
m%h®ULÌ,ÔñÔCÏß²,iÌdí±Ñ#Sva8Óëñ¤ñ?Æ|_içz"
-ö%d59×zoÜRB°"`¢¶¾¿)(¨@.ÂZ`T±·Ò=»N^GJó÷Ê<ã¹ 0 l;ÏSÎ¥ô7ÚÍDZrAÏÂ3òò?i;±yyÑ·õ1Ý[Ã*ù¶zØÅa3&jÎTmC mÔè
çMÓf>½6°ìzLÕéÍo3K]Çn×èÖ_j.ÁxØ9ä@od
³F
pJíÐñ5WÒÜs¡^YNØZ
ËwØéz 6¢HTßÅb2×î,9ùA ÏXÕ*pCY>µ2]´a
4`v1ß.`ÛÆCåºv2"I|x{>Ü>½PHâ!dëÐ"ídÕ
¯.X×CS$ÚcY£PÁB ;#a,¤k}`!µfzLã@EOCWÏa
É·æ,4d.Ú±UßÑË;D?Ì|¼¤ ùÂrK.¬7x4#!|
Jth GUHì`$ñffØfÈWðòzý-UEMÒîî®îî»|sx|Dè%CW
PP]Ãvw¾X§y¿±ßìÄQÂÆÓ.¶è=¹qo¿Ý/%$¶ny¸6Ñð#»>$7Cvî>p(
À«ôðµkËÑÆ=dlßÆæ*(¦¾Hb&ª·/b¼î!kJp¶ÐïBQ0x`´ÀM8ò)9`9Uµâ¥RøP4yB/&(PÝkÜï2¨ pïîÓ¼¾}Õg¸k^ó±µÉ"Ø/p)Ì;/êâG{Z1Ev&Jóa ¨Æ%21à$±9!A>âÒiÉFÍá.þèzZÎÀÕx×MMíPåÄ1¡YéøÛ{óiÜD
_ÂBW±Apðlò¸ÈÃqQ/VË)VX/¼NfÂâ-6â3D#C!:
JN¹Õ,±¥9pû§ ð9J~©ËÙîôݱÙßéQâW°;ÃÆåÕ Ìñ
ªêKOÀfDiï>GºªPs þ}hFþ³ ì6D[âÿØ$=¿Ì 0éTØñålê«c<Á>íCÅ_Ëq¸I)¿æ9>Z®.²úQX£OÊîH(tT!Mü
³oM¤*YZÁ±#' 9FO'+Ý}ÿȬ´#6e[¼x£LeU¸Ó0;X H°·ÆnOçú~J4!îîíDÿt¯ñöu
ù°I7{æÐ9¾j4Óôð+,(jÆÄÑ9Q_ÏuSÀý>_¯@÷oÛB8c褥A}ÌHdf1çýq2íÝ¿Wä+ì8.ÇÊ(4 R¹©i¨øF£$"Æu¸Ã¨d
¡¿ú÷½?»q§±sºc ÔCFY¤q¶5hP¯³ÙÜI?ñø¸îÍÞÀFûÆ$ù"¢Ö=xÛÔô®]±Ï~l§-±¯ÖL6¾[¯|Èybå°kå3ÎAºèùg&Wò9º÷Ú»¡C8
RaD ÷çFI])-¬DDDDO¦¹ëzÅóOfR
æÏz uMïúÿé ³-<©k(É{!í7Öíå¦ #¾ôª(ñ1×òøn:½7ÛMÇ&9ÕÕéÇq1ÇqÄÇL_qÇ÷Ef]@ÓqÍê.êìÉÚQ_ø@õÑÐDv=]û=r::®P㡾v<¬¸Ä"{w5vmÂÅRMIÉ1Uµ©ÜªìÿCó_P ÜoÕÉcKiµfMûwgìÙÏþé¦aYæÇ
Ö[skÝ¢yÔ-³àDôrRú$_ô>éC·T^`2´|åm²3½Û²Ä®4ØÕ8â¤
ð ç³;S{«kÙá~
ßxÔ"´s]$Oùãðõ¾UD[]·Æ|eTUþ^ípMeçH í©ØVþG3Öå zªJ d¶£j1 at SÉÍ:«·^zBc1äU¨ßXf6.ÎKã¼_A>P¦OD¤ÉÊìü6®©4=,½É´)LI®ÛIÏ릻ey¤Ó"Z8tgÏ~J8òãóÃ_®!j*÷P5A$´ÝÎhç½CsÆëï±ßòùbr¼h@hdÊCqQlbBÓ>Sx×åÆ«ëpf¨±ÀCÄkû<'MfÂÎIÄfâÍQ<GW³)ÏÌ ]V{ùB6ÃÃàâ¬dPl²Àã¬E.d¢YW §f¨sÞ<pÒÏGÜZ%~[ ±ã½kmqÓÑâyò3ì)ô fq0Ç, at 1Îpƨ,¨ã¹'Ù'SáúÎ9
ß%ô@ãK+v¹¸iT-á®k(tªýAÕ{AÛl}*3JFf|3ûë£S`{ß'Ív% a»÷àÝaAùäõEιìSµYàC×)ó"AcîÌ+oxèOÈ6O0tI^>¾£FdÔWHê´ÆV$TçÂ[ÓQ:©Ön¢ãUÉß]Fç´ÜñÏHÏ6}rÜmËjWhrÕGR¹_Áfff½YK{ã\Ê
lu
ÖÐ"÷Ó2/R ÍEfºUJ[¥$x4'ôÛêG>?æÜl+ɲ8»üÞ+3Ó>fK«ÊËwì¾ODMÚÑaäÞ§XE v'IQ<Ç$ ú,ÈÏ·ÆÆ©RÚdä®¸Ý¹Ç 'ÍAC·-g+Úm¡5·)´$À|6Ó³D²ØHXæïÃ@Qn5ùÙ fùwé¾ò²3}njÆÀèe<x}/×(¡$ÈoäèyÑ|âW«þ¸ynaîi0T%å 4.éd5Xq `%á]qC$
BÊÑÈæËl:úk¨6ëÏ
yäç׬ËyÌà@¢ó/jG7ïp"Ì&"J¦¯GåÒ7´¶2*Ã%PÔÌJèÂÈjèÓ#Þ$3; +@ìTn{ó±%_a4G[ÏFyѬ 9 Ævsèúß¿kXÝuÄ都±$à Zô[¡ãe0K¹BP4X5Ö~'ÕÃÙß/²Â¢%¬Ù8·e;ÎÅYË+ãѺnÞ¶vÕ
ÔG ñIÁ ~M¬ÔW¶Gaý»èH"A°'fÏâÏ:ejÒGF²ßu`ÖÃÏ®ã
0iChQå'9w:¬ÆÒQË£=½3¸ÏSÝìáLµ ÷
5a²U´]^m> ¿Vm8Ʋ`¨%ãërG×´>fÏö;Ýzf![<¥½o2NÍ;³Zw3åz3L5ðÌ<zydq<·-ô<`HX)( Il¹Tµk¼¦5Dà³t
Q´a4Õ8GWáárDCÒûb<!µ!®,HÇW~°ÀÙ8fh°Ò64[»>7©RhõPÍÍK4¶_U)rQôÒqÝ`2Öð/çÌCëØò @"Ä<±B`)¸\ÁE¹, Y YDYð6G 8YÂÒ!#H
äݺZ~-DáqO"@è¶ñUm[fÕ
Z©¼¯RM)
6ut¼Ër½H«ÑÛÚJÆ(×`B¶Ræhs;K!è-§HðÂf¾JlEt=î_[ÒûhÓ7³zjä5@IWpðϬ¤ºH+ɽtÏ9¬j tÐj¼Lì"Êð$½D)ÓsÍßNW¹õÖõ?{¯"Ç) 1®Q¥= MN7 #ÛmÒmI¬<1Ï
±%ÀÈvÕdyk@»å³GrüUã
¶@§a#+¼u4ÞÞø}Ó =© òáßd6Íu¬Ï7èýOHúóÖ@F^:6|½UPLÔ®¹ñoî²q î®îîîî.{pwÜÝ]îî>ß?çLM¹gUõ»ºª×e÷z/VU³òü8±gÚ
]RÔé3ª~Ò-ìYz3JSܯ/;±J&´Z¢ÂY=®â «úËY±éûOì&1C)cÃ˳/ü/,·0Ñ&AAváovÅ»vì?ævøHvKszÜ{ÿ,vç÷äLð+m:×ÒkÕÚÙòN&µc6ù&²ó¾¨V-²ÏheË=ýñ]ÊÚ«XögÆ(äµ9ÂðÒzÙcæÈ2`*?ËnÜñã$vC PE%à7Hüãn¼WQ3îÏ6å¶þÚ¦X.!èãûÆÉ'Mò
äú»âå×GOË&±Y¸~°®ÞxòLÞö¡o~IrQïIpAWz\þ'C*,xz§,õS°Ì× ¢ù¢!Ú!u²Q`m4ñµeÛ(íÒ¤X½Cî7qoöÃ
ïØHùð«»Ê:´¢ÎnÒØg-H÷ãz̾µÈñ6{DÈïÜäå Å7ýÉiÂÝegUÍÙôÙ$ÙþCaÝ{üW*Äç@Th÷Ö`@
_gSÊ&¿Ê&[¸þ|ûæxÞÀ@ã)Ãå±Án aÓ ^68¾ø¬ëUÓ^)è(09o©Ã©ýá±ëu$ûÞ±,ì-à
òºAO©T¢@"l iô÷82ý£)W }ôO³ýKî()êÉ*´Pä5<ñÞ[¨Ì8´
µÝPjÖº kN~®à_0qs½ñEõò¾ó,Ë73ìïL ·½ôð/×
rèe"ùPç_e`;©Àa¸©¼aÒ¦½;H䣦õëι;¡?ïɤe45ù
¢SòÖÄ-ÉíaϾ&`IÐüÈó£CÄUÆ¢P;úeañ4úSQÕÖsÃC¾$ðr_û)°*ÆðG<GÉAÃÏ ÓÚ"ÃLPýv ú
Eé'à.ñ"ð¥Ê!k䬺¹2ÔúÈó*©|GÒas o³Vú×è~Ê,sZÕî,½z/õ
ói?¶~ËñÂ^¯.#x/Zôm¦wëÞ׬2ÙaETG0¿<W#Ȩ_.cVÜëýj»ö;(H¡²hBÂü¢LrÂÇMÀ!?c(< F
iûöCÞ*+µ[¨ÛëÇFÚÉéîÓ[Rµ½ªBþ4ÊJ 1·<u%ß%¶ºiÍÕãaÑÁ±!)P¯.Aäè_i®rËDJ7#1ßo?$MþnÏí8jÒø¥¢ñKsbýéÆ ÏtGjO?
ß_3wºX¼»¸ièÆÆì^©Ú0ß^ò¿·¤=¾4ðÀ¡Ç xSåÅ/ôÄaÒßð6/Á<ùsnt¦è¬®¡¦§©RÁp½>ÚÄCd4«m¬Nä4À0ë´í6¨ãÎ`ÐË oÔeÐ|8J|õî|ÓqTdc¼ä¸[6á (B/k¤Ë<§þÅß<{º åT "tYÈD ë½:oPúu¥Á^\·ñݤeHÞ£eR®qÙhº"Ò.â@¦¨ü¼ðxt®ø<1=õ§©_r+°â#|ä?K®þ«T£©,]1Q-ø¢ÒPÇ,ßùÛn9\»êÞËgkjM;îbQaô#¯lýU¬}*-Ý56-mù¥õôêøà`ñw¤4÷ýÍÉQâÊë¿ß>7CIWBí¡æ.¢¦mõßµósÖÁîí-+j¸úuÍ,?Ì+ ÷ágR/.®RdQØj4·õ}¥=ºrOO]]-èy:ºÖd;±ÔóüÃtu©&ûq¥~Ö
y\°î i=Ñ:ñóãS¿ðWæÔT÷GEì6$&céR¤¯++~¦_>g+HñÓÆø$L÷Cp]Ái§?®;ãì®Ê²w·Ã¹uéDáµ7¢÷¶Ã_ÎþKçð¤¢TÐ'äá°Ï7ÉôL³ÛxâÕ-ª:pûm;PzKéÐ@YÏê¨õ*º£©oT´J²Ë_¢
K
EI:BåÏÓ+d$)ÅÙ¤Ï Ñ´
Ñ´ÿIrÂÜyiÃq2ÿÉE8!
ɹò«¼,2íASIhX]Iab!Fôâ<à¢X9ÚA·úèÜÜÄï'('Þ¨Ìûwov{£â0~£ºzL¬ÙYbÄ}IN'9ÚtÜ[rWϵKÏAÏbv$$D}%XÝBFÆëVUµ.Èé:e7ÑÝãU·÷&d:íPË2V¥Æu«Ü]%¨·<eó`ã)$¿@ê!ÿZSí¼Õ¦O·Ì·ýWèѵÍÓ´´ô76ÒËͱì,õÕ;b§ñ;[¿2ÒÃIs\¤ÖK§è
WkV=¬¤ÀêáúmúThÈ%# ?+%á!Ôqe(
¶£ Þvu2)öʼ¤hRe6âÑ;Vþ±lÐoë ßôAìÇúG<u¹ÓýAØɳÛú
_ÐYnºs§;êR¯à»0è¾ÐÔYaaÙ|yîj)^9±Ðn@®yÚñyÜÀª*azºã^-Ãõ=ðPÄ£-¿f¹¬Ñ?Üç¿w1ø(BWW³Æp¢`¡ÚSTÖ}F
WJbG3Ìoðæg\X«KªÈ·øÝldÞ+NLÆÖü¯eacîx£ÝÃòø®'ÞÚ>¥¿âÙÞ8¦Ô¹uïìÚÞèÚñ$ÙEKúÃ#û·å÷æÓîÌ
8£ bbËò¸ÉÆøØ Ü&çÐ;ªD§ùÔwãá|X²e±"¦S¬*ÄÌY
mkH·¤V?̯ü½:Åyéaøt¨¡9Á¥4~R£|_Yù¶ÞÇ@ÝÕT#SÒE
dûpÿªgo7û¦à®¯/BÌÖüFìWá]Z÷Kµ6ãgÆù§ ¸¨ØhÿI£¦'TZwôÙðü,!Ç$§"_âg[«#³ÔcgÏëéÁc7ü?KkZ,»F¥½|M9|qOoGõð²0aTVÓ~"eSô±ÿÞ11z)pT:U
Lz³I²À
ïäMAxÑ»É|Õ4Ç'Rè=õÖu¡Ça`^ÑÓ^fêj3ËÏÔÔØѹ.7Ï¡n
}ͳ tÁXÌïº
̯IçÂñÇKm=âÕlR´<½°oþ³ÆI-#XÓ·]gøè\L?\Þµ]´Õ7ÞvKÝz÷ªn®³×ýJ¹GºvÖôÝX3#æ®sõü°(c`W¿ï
§¯ùÀµÎV0Û£÷Ðpìo³$s
t|æËùhë5_Ä3çî´¢w_¢D<÷ã·fèyUñɯûfQI\ªÊ$ñaþæ¼:ÿ@H=s_Ô¦<9EÏeæî/ê(êáIuÞ{u|ÞC} 8W®íä{zTz\¾Þi?ïqhbò~%qdv-»JAûx
H?<|ø6h}ý§(Á!£{äå;½}¥!ôpÿÎwÙ¿|
Û6Ï«$7CDÓãSñÉ fã(da`læªxÐ¥üWd¦¸/B¤Sè§ü-Wé´c1 "®ñªz£ C
8©éo-~xpÌuúI«
¯Rº`¿wñ¯góÌ68á¨u¬?Q
Àé;ñÒq~æaµ\ú<Æý¨kAFÃZç·ôNò>_»>2HÇ l±ëÉ«,1]n¦á$ðõïQÅS¾ºñWDÇ:SZÒØUWìëÝñÖ¯ïvä7å9ÓAKû]btj½ÄÔÙCA^ÊëQpMP OXÌ5ïÇvU×ÔØÏU¶F¡DÊìæéµp*ÞÍA\a³AX:Ï\Í+L¿ë~¨XµäÔÄÚ¥q÷äz7qZÿÏÖñ9]PÒþóiDèÒ~I2ð3ª2TdÌâZlÛ¤½µÓ¿n´ñ û¹ßñ3%9© `¬²{nUU¿ÃMU
V-kËTÚæÁ jiO±D9<rxF#LFd:Hfõ¿¾Ï:[3'÷¾a~æSôjÍ6¦VKÉ«{=5«'¬1ÌRÄ-µOkMí÷ÜÎxöuûKa#ÿO~| 4²IIe¼ÉÙ¯Y{pÔ»äýê~Ffrß«çÜè&%~×æ:ªÅGçI
À'_fW²áZ·ØÖÅ¡Û8YC&1þ4DLà,KXÛ{_m?¡¸ÜUÎÏWMý`6)¤¯ÕÑQ'ÐTS/)jÃVÿ¿Áøßú¿ù?wêêj ªpùÒñÿudjåÿ£u,YT«ð|©m{FoØ´túÿFÏÏoè¤Øõd6GüÒQW/ÑÜq¬õ·uOÆáq¬/ýÃô3M 3'ùf©+
Æ ÉJò©+û(¤Bø±w´Xð)Æ
Y@d H4:*ì96©¦
eÕc ÐkÀD§ÕTmÖУ¾^ÌÃÛ«õ¾ÒAçF¼4
ù7æaÖ"EñgÊÐ6HÅ°ü+
ÙSGK3 ï
gF at o£4ÁÒ®ãeH0Pa2~æu'k^ÓB%±¾¯vöo4·
§J< Ìa7tAP² ¬Q@7·1i}õOtè9ó®Ìâî
D±7#LÜE01fèkùæÔQit: °8ãÿ,êè(פ41¢+»þ«-ÐÚjº?\©8º¾É^HX^p at k¥Y¾*ÅkfUÓIõ^û©^.H©ªÄ
û
ýÕÈÚ']Inä0\Ô.«&ÒTùRó×¥±AX`;:J:AYòëºh[Û/óAe
Ò×ïF¡
å?d-¥,×£4òÕfý:ZsÙV¨V/híºÞ?,5hùö¹¸mmSè` ÉÌ¡8Á!ÂPS4]n7³ÃjÑ$EYlÙt¼2篱T´v]!¨s´tN
êħTÛRtD,5¬èÃÀ5 "?ÂD,êJX°%£ke~#¼ñ¹&ÄiÃüüTà8³ùé}KfÝ#*ú\ä-å
¸}Û]ý²Dù¼¡#?'Cø À:ò<«ÒAoĸ"U¼½÷_pþ#ß®ô35{˦gáY»¾´NÝÃû·ù¡=/¹yw"V}ÒÇÂÇo|wªgªü¯=ÛÏ/nÛÌ«Ò~óã¼üS[©¥±ë±DábrobÒ|rÓ.L2}ÜQÛï
)RÀ?1Nq=Ëë'ìG¤ôýq8£Úèª(¬h§Z;~ÚÀ«ÿ¼V9>ï¨Ê0ö&T7ð[ná#®§»ýÛ P/ØDᱧå|T¸TÓ飼3féo B@$îýÛu>¾2)}ùg¼Ö8úAedH9ÄbÅ×0rÁ?} B37×S,µ¾gÔ!ßó^¡Æ,E»?w¦]È'ºß¾1!+Q:¨§(ã%Ä ¡W³rK¾ªò1qu\S«APÜó"½^Ö9ëä>Z ÆoO ´Ï;9ìq»Oíy?ªô+dÅ@{xiN£'Â!¸¸Ü,fÆAÛÕ÷î{B?ñÝÒ·Ì&m8Ãç ¿nά
ßñ°DáJjÈåK~4GìAïà¯Ç½TÈ4I³$)½pd9¨4T®E mÃÛ£¹"©´{
mÆ4%cxXH6Å£sÛX~k^zùaл¥r/yÇÅôÝ&8"4§ÀTÆY µyúØØ¡ JLrKÔáû籯T¼7ªO·¯ñè¶0¢¼Å\¢±Û®âÚ?¼î¤(8¤¬=Väñúb¼±0ñýÊ®R@DsR*#_#ìïAJ´ü¬2íÔªb@0mE ¼N:+¤C¼Ì)ªåA»å}á_Z*Õ7-\_O
§=3ª^0¿9ËYÔ¤ýj'kòfZúúh-kÔä}ë¨>þúøDb<×U*¼ïsúXf8ís0nùD:F3EüØï£+éày<¨:Ââ³mÞék»
M
XÏY¥`25Wàß}S ÇÎ#+!Q£S@B`w"éýüÉÎd¿ó[C]ü
A;g+
ûþÑ[EnÏ£âVrUÁ%ÜK7åÆIØå7ÇÓ²£à¨û£c.À Ô@ åûE]¦9Û÷k`lY2Eå³¼Ö,ù¤êlDì«m8(h̦+ºduk¹½ÆíÒØðÍ+ݶZÃæ82YNASêåíÜÒXîZ¦8ïóS£¥ÿ×?QûÆJ?Îd'I-º
6Íû|gï
8¿È ÉGGçw
îÞÐìÄß¹k ؾ¡dÛTö(&vÏ0k©¦¼Ø®Fß¿K¡s1&mNÃ,0ì
Õ¤Ly¥Ï¡[ã¬/SRR´üYI aFzgèÙvge'
Û1q_mÔy¯~´\xfÈ@¬°tË{åb§0ú_ÏRÙ^7x`ºipãoUÚÍø{y7þÂ:ê$å½ÙQÁu1ów~ì+LÂr0"´Hq¨þð×jT]Þ¼[®/-µô;>S<ltIåÛ×^N!·¤4íî¯jWº©TÿÀïé=**¿ëb"ª^LÜ+h0Aò^Üã~tHÐè+^L»A«ÙÐAÒrdð ý ^DµQ$ÒÅ2B½ËÙ¾«Zh
à³ÇøÏ7¾ÃKæcèR4j]¸Ò*
yhF H2ouEÆË{DN$§éF¢ëC»k¾r6Â÷æHërÐ4lDâúÖ?üC{Öã_üèK¢638¾zÔs 6 N¾3/fz&CO·A"\ªÏI,÷À
VT¤J<þðÀd4gl
Z1%:GáónǤ'?J_Ý£¢aMÍ4µ\¬þ¸×ûþ¼ºTF.Ôß SÐ̼lvå»ok¡êìYUGëò'c'ôOµw|®Ý@ÙNbÅ+E¾¿¯YO¦5àòÞ7«K@æ(äÆð}>Òv ·-ØK
Z¤íÑ@Õ*|WE"AîQ%·ó¯©ñãÙä×Ð%§øW¢
,ëÄî`´6ì»iR¥ R©á~|P$$¯~@§ÔÐú°eµ&ø§çôäxå3{ð4c.Ôä'ÁJñ,(_×vþÆ\tq³zçÇöx»{ß×/
ÃoxGXrT:Ý£¿`çj%UDzÑÛl^3Æð®vG¾n¸ |µe`L7t¾yëi|-·ãôô(lÞº}vr6~ª¦yüà·ÿ@àFmÊ
¨ôj@zgÕG] hZu ×ÕwýævQ··«©@½STÎÚVß{¦ÃJ T%¢Ã¾I5TæC®s?Þó~z¯gm=R0ÄuH»Gg6¤i¨gÝÕ±ßôºêe>Íë·Úkp,¤Æñ Í¢ÚUbùÍiã
ïwmßƾn(à3ï0e Ðp|úûy^$ùsÛmÛ3¦¥Ü£¢yËñ°ÿínAãAËÓoõ©½ x|ÀúûUkI|îp¦r Ûõê¡ì2JØÒS`µæõÑ«½¾!\±có"rnå£ñ<Å%,Ã.8YßØo=ÜúÈÖÚìQñi»àlë µH/ÌË©Vé&ÑfßW*½Hn
QàÔ¿òõn[!#y.¨ÕÓµ[7Ú¡ÑÁJ:E¼zÙMÚË×Nä_Rw\¹;³á·9U¤â- ¦v3ëûÀá7ÔDÿÔmàAãìÈÔ~͸ÏêÆd¹±øù@óä9KRñ\òã$>ß63_$¯6?ã»àÁÞÆâ±°pϳ»æ@9ß¼ÆëófÔѪþ¶è÷¸Ówáñ^h¤Qzïh8áãà÷Ä
VemÔ;N=Î:Beõ÷ËæòÞDÃhò]Éñ¾/Ò(uëÙªïtLÒéÒ+ s§TØ<xµ7ÎÒR´øI*sý6</Ñæn¾`Û;y¹pÈɪñi+§©Èéì×È3H9-J:8å"¸¤©¯"3ôg).|É_D(Ö¬3LJL'·=A
¬¦è$u¿êÈIz¨é|'®nâlÚ 9"4'fµ2Y}HÌR+³þ ·;õ/³âá¤â:ÂMEÃ~ËïWÁ®ÍV¤z6Ã%Y¬}µW+÷«§këͤË#Dæ³ ¸ET'91 Nï"»ZÃ7e_¿Àî
, H¶~ÒÊ÷ÈdáýSꯨK;2T_É=\µ}Ð\ù¨¿ÂY#£òq Nñ"="à8lÉß5ÐóºÇ½;tÀ!ѵJjf÷ÔEÎÑúvŹU_¸L-5?#s´Óáï<D7:ÿ°ÑÖ´0XÐ3Ú £J2W71pútñ©ïĤÛ6FImaÖ.¡{ÝGBjÚ/Òÿ7+?Ò=~4¦&wà!í¾>Jõ
UsWÍb'ÓÙ¯?2ÉLPU©p¥Hº°!Ó±8ötº¿ßlW/¥iaë%@;ª.>¾Ò;¢ø¢º5Ì"}6,ã@¢C»iÇBQq|/§.®ßVý÷Ngùë¦`R`U[Ücþ)ú·µÜCKoú¼Íg¬LS¿>°?é³CXUXU2²ó©±or¹ðÞ³KûªA EüÐÛcD_¿"êB=í\©£m">mMöµ`¥nHÕØت
{×ÿ¥÷¥÷`o½O$!xA»51½6ùãKßi% ®$Pni+{ Qtvî,?ï×:-zò>ÊÆuE$8s0ùòÝV
KøBrP¹gãm$olÑaPj×wK3}âNÎzÐC{:¸ª.nºhƶ.âùUÛÙëz®¶¼ÑL(¯ãB¸>¹ûc4 MOäË_ñ-¹e×÷»âKÚï4¶î¿Ð
C~WßöËaÛîÞUdhevtFF^¨
ëàæð·Ña-hYW®N¥÷3¦ÝÙåseÅ;äÐvÔUÛÑ-C$Þ gK°ýtF 0å$°L.¬-øq%l.¢®2*6ågzGÚÓr%d³u=Y N¢(q
÷~çöóéºU[ò#wl¨ËúÍd_£Lu^ScCµãcF`£aêé!ÂÀ£ûëéÝÝâ^½·ÐúúÉlÐEâE|â$
Ó¡©¾%°¥? åjýzÔ^Õ-úÿ%î¿õb÷Â:$¶}Æ&0òxÓ7jÛyF÷ìler?í°ªoqQÔ¹ßZÅÝ¢¸ äñ»§
iAyûu$llÓÒO(\´îR¶ÌYaó_ÈÅ!ÊýÑ-9ãl³nÁÃð³³gÞNµÎÏÛD9Éé5E®ÝRª5Á$g*¡§ÚGr=ýÈ õp¼Oú
ùå§#w/è ÌYÙÓÓYaiÝÞìx¸0Ûù¨D¶*Ùß³vð È<Ò¢Ý<u¨Ñ`sJôøöHhKðÎQIsG¾ÍóFº;;&.TlÀÃðÏâì׸dÂÎ~«_×
3Ø
ÝÃë[(`l1Â¥<ågî~·³c,,Éo¸÷®ü=-uù_p¨6ZCÐéEÂ+È@d 0Ëg¹Ø 5q)Ä
H¾,
q¨/U3Úë!¹hßÇ4²-tómØð#ÜzI8ÄBõeÏ¿þ¢wÕÕp7ôz¦Oêä°Í²Ñ<
Ö^8¢Íý Í1t¤¶¾:4° IÞ$ìE§æRÁ7ÚUkÈû¯|K/âû·
î¬=ë2 :MJ·c ÿ.ÎEB¡äõKnÔ,ï÷m ¢w(lÚÏô»@á^BEñ!{COdÔY½[ì&¢´QéÊxªNÇá¡þ¯N¯áØÙÙ9ÇðnÝA Âþdô_·Y{íÝhÁ_§p¡¨5?î°qcpXknd¾¦GÚÀTi¶V¦Ê£_mÈCLËG¤"_þ0f80¸Ú£âXa
újcÔ/ÛE)±ÙÄRÇþâOBØ7wç[$¥sïhyã>:ÏÒ¯÷;:%ßt-q÷ Uì³Kî²(á_,8̸ðÜ»ÁèUò=ZátÂFÐ!4µaôòUáØ6»[++¡öòIÑó7ç0Pçqû±;èß×}.7g9éËñͤ.ú1Yb´#,rqKd¼y
ÿ108úb?¥\
¹¨¾íB½Û|¼ÒêØ@Ö+¹âð_¿¸+ñG¥ J»¨_ÒñIFv¯ÇYÃHgúÏb_aA±*¿ Åä0Ã0ÊóE´1¥/
¬ç²Lß%ô#Ñ+^.yóܺ÷òtÜóÊ$Öuov§Cë0ó}©|¤6³ÁadnÏ'tNßÀ¡_5ÔÓÔU^H¬Ê>mß}Ãl(äw
äßkd%ÒGå\î20èÎR¨úÝc/`*77V¡ð²ó+æÉjwhÔű¼NÑêÖ×r]vÔ©s¤°¹bò18
{ÈpA,!GF¬÷ðrbAµt}"åýÝ?wýðVgÌ#ÜݯÞ739fÀ"@)B£Þßáð%ëWañºà Æ -q«X¦#
§ÀJ"q{äìW«7]éâ·XpÙ¨RÕÕV¡.©èÈp#nÆd{;[üü]Y¶¥t»Gegäg_[u©-ïVAz§M_%á ºå8òîNJ"/YCÞJé¸/ß"FC^Ð?ïüöÖ³F5·¼òiãk]3Êdmk¡4êͧ>¬!à8c,IÊN 8ÞuIã¨Ü½~YÁÀ21 ¤§ÿÍûÎS,¹=ò'±çG7i@ ü¼ÐK¸9!¼Ú¼"ÊAÏéåïT_BÂiéÚö*
"¾LJ¡ç/ª/$Y:TÄ^ÿ¥èõÙ,N«aÈ?xÔb¾I,4Àxòa÷'fÖÙ´øW»ãOò@wCIEn=01Y%%Ú·«bÜ/Rm¥¿9T½üçQ©Å¢
+×p,íï£0¢ }©|¬ø®ï?)HØåçÈLbfå
+ÉsVwf²Éq<æpBÑ®ßFòFV.ÃiÒ4©5(ßÍCjjHu>=;ÿ
òÌã=øY\²hhãÅùÚA¬Öèã|@é¿Ïê^%rÒͽ~/F½T±N#<²4Ä\ºûØ+&8¢38ë5Ó Lv"¤ÈºiÍ+K¾tá%"dI" p $N ìuãU¶5xÑ"ǵ±Á
±ÐÛ£h zÑEJ¢Ú}¾ºþ~wd °ýOHxá4È:ß~ñ74&ÈêÑ^Ws¼s©¹2K kÊ Bݧ6©Å35Iðÿ-luÈ?`Sl?t/!'j`ê
ä´´_³¢ÀÕP¨ì æFKkCÔ#¨¯~¾=Á
aHzô~öñ¹ÍäÉÇÖÐ??=nZ.·Æ&üäoÀ;Û»)|&j!Ãv(Z¶U³Ræaý#,'èá×ÇùË·í%!R¬ ¯äª)n{¯Ç)óxáqþ4ÙÎ$²Ý¬7¢=£ëe;Ñ4Õ®¬CætAÑ;,à|®É¢>åPvù!ÅÊ/Æx0³ÙmKv5ë®wõ7Ä-zh®`D6Ìr±?g¿º_/à%%èÌ$PÑNK uZ$7s°¾±}ø-
½¼÷r]C[Ì+VVSð¦ò¾¶½5]Þ¯¬dÉÌ5Òå¼ýÍtCò
H{
}<CcâìfE84µµc8ÍÉ×HG;Ì"çÕxpcúe" ³¶+{ð;u$ÙvAÔÝäÕ$9Ìnç}Üh4
Ák.Ò{{u£Ø6@¡ÝAG(¬È¥ÕGq¬x7ôg+c]ªM+»ìtvÇlcH Ê]Tý ëìNP lÄU+®EÐÊñá1£=Ûº"P,$?{ò4 at Re#¡dÓ¿0¬÷mIðenu:®¸CÁ)?FÍOôxP/ýîa6R¶¿zߣé¹ÂuóÕÐ#ÏÝÓÔ=ñ«Àu|ÒÍC¸µÎ¬Ü¦q5|JR¡
¨,¹+¡#ßíD9"àßÄÜ4ë·ëÇ}g|j
xû5;kE2H¨
1ZZÖXóQù¨¿YéÙÕ¹ì*ªáB©óñù-Ѹì1ÈZ×m×mkNüè5R#¹KÆâX~ÎåúÛ¯¨CÝaS¡"DPűÂ.òM~WÉ.°>9,xn¢ô·àPO´¬î:ïKAå
×wGÝ9¨D3qUPBZÙlIÕáUKÞZ×*M^í¥î¯:tï{%êÅ´âùGõWµ¤ÊúTyÜ©,pÜ7âßd`¥r*nIp´$p$'JþhÚó/O¸ð³£å¥HµðCYÃq?ó[_õYòûº§eûüS-·²b]<Vx2IZ0kÒàðãöNZPû¤c.YÞ'.Ê¢íBcDé%Ù°¤UOuá}9`À³¹
=âAª<IÎìës4¦Æ´·S¥sôL¨}ï½ÅÞõgþFµ7ïa,M×y*+âi0ñ¨1 R4~æ6P@¥¯RøI÷B3
¸$@Áb"<¼J×ý¹_¿]Ï>âûÚ{Ïë|iR Yùü¤Fgþ£ÒÈú¢óp¹öÙ¢O¸ÄG>È+¬¾=G/¦ì(U*
O
Y/øÅ\s} W6§ÒYê²Õ
J;«" #|ß¿xù$êßv®ÛGsÚ?tÚï°á«ØøÛêÄ6wj¬»5Á°À°Aý$ö}
y»}Ë*)N~¿øK"¢Øy[òøÑcüuC[ìéQ¨8²ñ~ÞRvú_pòͯ_ÁêòqiµË^óã¥1@mºQf²Õ2ÅY'S[ÓaÌ#6w±¨hçq¾^MϦþð¼Î(¯H¯ÖJöoLHQèúWÉ9±´49a5ãåa;áaßjèßvI¦°Ð;^ââë:xY|ó®Ö§¼0·FÔÆøxw(®º=FJY¦R>7ë°NB
êÕ|\y9&llAbÃ=ö9l°1itÅ-8Gò®[úü&SÏ0|\Rò¤s÷ë»".*K;ñFyØëëq=*ÆLNjª=Îr¹YJá¡(%òO´oV.³X±3CQ®kE
ôÚõa rXÒ·¾ßÈS$1KøïLoÙ]×®ZÅìXY3'Ò@?<þ9ý¹4×¼@~±L¢ Úb©pbßÁÚ8ù¼çå®B³?ö£«ÿÍK«³©µT¶ß9vri{"¬ÛQ3ß`¸%Ñ0³iV 5<=åÐßÎÛæz96¹ÓoÞÂÛWøF¯ä>ÿÜ%
zË-Z¿"4zÚòIKxhó¡»üq^aW³?Ù²gÅi_)§¤b*ÌÅ1jQÉ
D Èÿvd®OÑmé·ß¬Îem>½Â¹2)^ÇÂ3,4¢ï(1G¢á®ýÖß
j/ë>K]sÔÕÕ«×ýL&;Çþ&òÍ%4;M~=z¸ö÷Ö6h,ê
GÝX#V¢ú?ÿ~ZQ]Á¨e21¼éÜÏÞWâ&ndÝ}ºüéöÚßR íbÛº>Þ£?æOñâÚ;¶04nÌ÷벧ó¸'5w6ÖШ~Ïv·n
¨ÂÂß$ëQêÎ
þ«i}èÏËZã×>>¡²°÷¹KOØÛÛë®RÈÈ x°ÖÕÅ8kçßÜ©Ù{v[|wIÊ}+.>ñgw8vì;ÄOjÖÉImdzþû¸P/N²{OOÏS¬¾'IAêùïýÓ>é¨*IÖ
+8#HÒ lªÌgU¦ EDÒâ%=~"å³ÒbhÃFfí0ýôù5/EÃÂf¢É;ÇDTûS
Å a9ºWÞ]ô¾&Atzb3W±×®$<È®Ð,=Âc¯:,£bhïF¸R¿}
*Pºw@¡·|½¤äaEMt7Я?È è¸çyѱÆÅïËÈ2³cZå+GI2"0ëê~¾[Ä«=e~ÙÏgC,´YøøÀR«ãÖâ×i4¨èûLÂøóùþ±z½Û¤ /8,[T4btà°fPéÃnrlÅr¼% o!C?5߸äÆèÖIp¹Ë§Å0rDôoG®Jh$DS2okÝ4dD¤Qóå£ý̧;ZÆ!ÙÎj£l(d£OE\h±(ÁP3ÕêqwK >ø-îy£óäq0Ë¿rm·Aç ´Rd½ ÅÁoî¶qÉdþQðÁÙдƨü°ÕÈofñM´jnx ´ IbÁ½"#¾|üîzÌ+xOÍAÊr ¨i袳ǤÌl¨vutÁç?5ÄÇC¡¦°K¤ßë×ǽ"qÊ5xRVhØ
Ð
k<GQ¥sJ,8Üly¯ÕsXd0Ñ_¨¾Wmì"c<ãߤ3ׯ¾/½î¿ãøÌi4tkÁ§öWèÛ®gè¤!@Y³0âù`{X²
,̵ÁB Ê|!V}6ûNN>
Ñ¿þb"ǽW¤ìï2ëZ^ó]¡Æ %ΡãjB6qÿ{ÿCïõe
³Pf¨¬ªÀ 9m¸V)TgI1cm+VA`~Ðh³G
>þ6s¯ ñÒÁ`ä¥íò~1þ«!¾mY`
£Wót1ÏÑ&ZØL»=Z£Â¢¢IùãÕÝIThü¦=â@UOîÞb2º
òÁn¸ý+ߣÛMìi·Ù¯ ãâªoCúÜSPÃìÒ20ØSÞI9ÒêµrÇS8 ûÆ3m&'ÏÄ_ZÈ Pѧtéݶ$5µ2áçäÊqÙ°IC¦1òe£ÿs÷öø¬ÌpÑR(Ò\.¼ô¢¦¶`~Æ`5¡`w1£ßæÌÞ-ñ¼öÅüö(DªÊèñößàpc8ÔÄ_
½O¯öU×]N¢!dsWo¹+¿ÂÌÖ f¯'â
ï°0Ç4S0¯TNM?sj6gx{÷×9%±°Á£ÜI?T%íâM8l½»~wÛ8«×Ï6íýtÉÏÖ#PÐÀÒÅç¯Å
lîùñæõV@î£ÛKÒ|6Ax2T~
âízGÝÕ´@PÕÜ·ùÈ¿®Ú³£¤9¦§¨qÖÔÙPc±ÿ[kÁçõ{tÕÐöP¼,vAKÔ§0{hãqFá·ÿ]²"âìyòíOøjØù'Ó4ò%3´TÆL e{ÃJK=Cd¶IES|¾:äl
pRÛ§Á×ïòúM¥«ïîún5·BËx0áÚFnòæ¿Q0¸U,%Õ»èØè¢òüe+EÓ7ubxQÙ¸ó4«2³D ÀdeF«°Bkõ·Umç.ÎÌpc+ëܧµ¦j\µ|a*~£î¶2ÈbFZ¤A-PxðNÄô¢gâgY÷ÐÒÌiè>&öVN¼5
Ñ1¸1@%|÷ã70CÜÙ/ùÇG/BH4ûJP]wí@¯Çª`Ç©namîìrt{ñröI7s§þô¤^¼Ì½¯v_ò@Â[ tÇ!n¤Òî©eÒ¬+[èöüYh=ÛE6¦*{ÚJ13³Âêâ8xZbL.*¥&ÆÕÝ
âÕGóPt2Ñýö½z løM¬ëX~ÂrQvÌJ%âÏU·Âj·h#tãßBåı{xÑÏÊ2~@Ê&7"¦Z~¬¼#cþ÷&à´ÎwñEUìÓ9DÈ_4á<\Ù
ñ3ÃO6X45Ápy³'ËPñÆ«.ö¬{yMeOBEBB¯ãeCrü©ªX±ÿ4CÂo 6ÍøýjõV!^Òw·Pwèp7·Ñ°¨é#dÃÏwýø=,éÀÌp¡âo.Û%´\}V:(è,z¬á ´Àz2Ë-ßQ£ø)âý
4£MhL$z¸{y.¥eJO¢ò=ÌÑê£ãkü
YÙE»oËhùP$+D_¯
òµOCÿ_Òw$ÖÔc^JéI -@Ì~R'z|Q¦ï8%MJ>fÀ£Wµ¿>Kɪ V°÷þnH^8ÙÁR¼IÔ~åp'KgˤUµÿ®× d?.ô1¹c¼CçwüÍÙÄ)2{p·*Ìʸ~kJî±òÖi¯â£+²XéX%F¾ÔÕcb82ÜYôYË´ÙË·ëÑÂ7K²A\@ù<ÿ¹ Ès¢U6¬UðU7ÚȤ©½JêOR|ÂVµ«b-¸º¯$&a2 ´c=ñ%4á¬^IJÈUh®¬,Kaq8¾Þ mú.Ý<a5i{²ø÷7»}
<Ä´è øÊ;²¾
)`ÎgéráoÙ?$¢¤¡ý]çeäݾ^øǵ_ÑÁrè`òK|.
DúÉDØ8
Ø9I
&Ñݤa½B¸p1¼²$Ú,ÞÙK Íñ®Õkd[£ºo¾B"rÀ¿n`T2ï¬8«E Ô¤ÎNZl)¬!WãyçLÛTBÇÙ½ÃzÕL(3K(ätCóC)ñy`>ãCEæmkwÙR̹ÏÞËzt"Ô¦¦ÒqÏ_(®Ñ@]Æd¥5²ço at N¹ÿí£¯<Ù÷lîй_èÒ 0æÊr}f_h+¨,⾫1¶üRbgLPðu^kÍ6\6]â²fo4D1C"2ytBCÝþEóîݻΧH¨`بPÜ!ÑÊÊ
×òI6Ê*X~e±N dNèùmySW¯¶ôuÊ#úþ×x '¤JôÜöhºÑØCTÄ&ëÒ~
4øpÈ%Ü÷01Äθ<ysAO
â7ÊÒÎ,Þ©ø{=nÃäA1æÝãdÁ!~¨gB¢?³ÚÒ½_)EÚ¡b¸vúY3ú"¨ZfúÐÀÐÐÆ"ý§äÖj)1?HP¥`i½n 3öÃÉ*!°}%õñk¤0×ÌÁÌSÄúZôA Æs¾>4t6~ÆÎÁAÈ4D
£Z¥hÔÄHd¿£¯SC|[ÆÅe&aÍdÐËí°¯IøýðµoF\¤û>DkTg4£÷Ø<%Ø.#_3LÜ©L|9'ôNë;çªÌ%tÒIÔ»ðxcÙ±ÉþM2øl|vrÁK0¨ÈY)Æ9F8Êè7I¬4ÖP¬Ê,;
ð½õ'XÝ
í©ÇJà]ê~ÎI]¾Õ¾
º.õ¯
Î6L|0Ü´ì©Þ!!²>88|Qêzô5wL&DøøMçîöÅy¡Hà 'VîDí6.S,RÓ-³dÔ÷bXuè_¢Á@L9Úó Ñb>ËbÀm®Z7»µI¨%ÖåºI^7M²ÖNÃ8DJA9N'¼mÁ.ÔêÅcB2É£IÙçä/É 8«ÈcÅ¡úo8`4a¨¦;F¹²¨üQ.½J5ßkºX¶ðVÔ¶µíMöR®P{.$Òpv'ï= 6z~%uã
¨$~·e?ÿ UBÀFz¨çÏZPN.<a»sÉn)$ÆC$vpÛ"wõ5k÷òO¿b¿öYFÿÃ9ÂPj6Ѿó«¥ÊâI³ÛÑn²þÿMºåýür7CW;-ÒÜ! %ßdåd9ÔAz
êuw4ÓТCKòa]¿üR¨BLÇX£üÐ<æCÁo¿
ü¸FXØpøY "Ó ãP:r3:ZÞ\Ñ¿$z`pBDÓIØͲIó¬'2FTä¨)%¾ý! È
£NZe*Õ
8ºÂLÒn¤ÁükxÔÕÞa5-¨,CdW:I!¨hh~ÔM?å4î ¯n5ßõIP&[r
Vt§¦û¼©ö÷hüÀÎ×Ϭpqå=CúSÈqIK7±ì#´ø.Õ}H¦ªÆ!E~µ¶wÐtµ)gc±"iZs¡ÐÏ4H+$%Éî¼(à1ëbðëRJU§ç
±(Ñ>3%ÁÕûï
xâê3»MÊW>þ»E¥´
kh[²ìj7hÜNwO_î}êê<SÿÆå½n±«÷Dè^zLÃJSRÏ(C_*lVS%üUá
ÉGÉ}ÕíhdÃõ)çER¡7d¬nûiFÆwjËÉ3UfÒõòH»:1\â®HpB´/³GÈ¡¨LÀþ¡CÒ[§ýã£R¸Á${
q
v¨0ä3daWûC4ËÎr]Zs/¬Ã[7 û¥©ÉVo.A1Ó}~5Âä:ë´×©¸¹C)v2>x6À^¹Fh_ÃGý¼xMvHjïÙ=ÞpònËýÌý¤
7JéåNF7 /,ê¶Bü襻péé8þ¿fçktº ¿"®*=Eúñ'#/KÎw4 Ø$ÈÍõ[5sm¬w ÷ aijì(Yh×yÃßµe GgVضNV8ôô;Cæ¢_É@¯&=°®.æK½Hp_+JdÃØ_XºÃ/@x]
dpM¡Û-h»JC§t}à@\èøÕèænuÚ`- EôÍÓ¥ÿÁ_ö_ÁVÞÖ¦ßÎr3µu¸[T§O+V{ÏN¼n.
q8N32FAjJIî´ÎÐTÚbça¥³wÅe2¨ZÂù|ì5ZßU;öÝ4siH<¹õÓkÝ>àÅ c
W±Vh!ïYÛ!½|í"Ü?s˽O¢Äøv#$IeúJpµîQ{Û%KÈ4ÈltÒ¹ÓÉ@ж¹-¨q¤ÇáV$»ÐÔë×à÷¸Â®[!ÌD$©ÿv%`ÍÈ)èK5ƨàPbY0{ï,:²9;ôÐ6×Èa
¿nJ&ïíûÂ9rSð
}Ùç6â©UôsPÞL]d¾v¬øïËԫ¸ædÛYâ]"°Ø
ÃÁÀÔ'QNÜ ¬ÂøûµDÖ^ +ai^Áùw»IÛòéNÒË6EÎ2E^âu
ϼ?t¾3DÏ`Îé&æ,y-P063²¶¿q ñ½qrãïØ=·D.`KI»eÛhj{§}]Tóqiø-|G¯Æ4>B¿t\yøAýZÅz©¶ûuÈRDdÙ£µ|[ÿJé«*,Âì=ÃÜÿ-æù>àÙÿU$K,ä!öþçCs+.ppóêòÃùSkïÓü¦çÁ,ûÁ
4,ÙïÌÅ_¨Kò¢ PÏ«I¦©Ìг
ÿŸhxs-}(|µ;÷_Á,þõÿâë=p¢öÑT=ôI½WA!^½ ^)¢)B5tiBGº4)4Aé]¢ ¢(þï½ï{gî=»³ÏÙ3s=³³;ç|;=~Gãòå¹÷÷¹të(ñ÷ä?:GI^äã/kßßbª½ðÌ=½WTäýùÑfÙ½»ìM÷8ÿÊývó^0%PÏ~{ѪgÀÊ#WÄ"
~î¾bO@<¸¸¬ÜScw3øvÒÛõ}çþ àà)ãÅkÿÜfÞ\féÝ H.6ÁÔÿÜ>¶Ôüæ°@²¡J¥öW:¦bÕ u´÷»þ4$ÅIÚP+Ìù<Ý1Ñó~)
gÉóªE4*|ªr5Ó{OSsHEùy ðË0>aé+FZ$ѽùôØ.M"¸ûÂñK1Ðâ ðwòö§ ó¿¿O OþY°£bó8LõPøÒWmÈW|¹ÈlbGÕý¥¥ï&F8§ÍOáÃ_
c."uKã/:ò?2¨~Âx_ ÐD`Icb½5¹ò楿޷wábøn
(ä_Kc¡NÖ»àÑèÉwb®}{éõù¨![Õûndåþû¥ëÌH?¤eøÙ·«ÊûÿæÌÅ·^Ô
w=þç±j:8SVL¾uZÌvñ%zÌgf)¼á;þµH¬?ÿpÑÂx{î~aÔcÆÌý8ÅêÃÏs Õt»Måðmºóúoê ±i$LJ@¥)µ¤±ª>øT¸pLµµÇÒ0
S-8PNDa´^}¡.£ gø¹TIcG8qþA.$ôjFµýhä;®o.½ây{spÀ¦[bì
ªuðÍÖsQ3s;sVÌ}
òÖT:Zô®wÝZílÀ"&øìEg·kÛý
Ð\~`"B©9ýÛ ¦x!ÎãP§MéØ
ø)õºHqÚXÒ ~ÈI8ÌU2aVM~Ï{¤p1¼odkâ¥ØBá¼J¼Ë><%wæy".®Ô¼¥4Zå7$úGuóüªý¼[%|x8}h¦e$ý&ÎSJÄüÂÃU ^温rp%¶8<·Céúú[.H%ì
Ôx¾×w³mVÍbA~%+ïé1:ÚTöúä½Û6¤¤ãU@&ZYÆ[úìÆá×y?NjsàrJJèñá:}î¬ib«³²ÂkãÌÁçc÷µ¯¨<é«
O]¦?·R4_0¼2wç214z¯[{[»t~G0kúyZõÁ·Àq>nm5.õ¼:¡Eÿà~+Ð^ ÃGAîã5Oþ
ûâ³×¥LªQh\µâ'çÆxX³8D¦è
¯:1%G q¬FuÒ0ªäµF[¸:RÉþÓX®ãϸYRn7Y9¬VùÅTLû¿òJn pp¸ÉüW~1м
þ#b5FÛý
îßá5çv¨1ÐcWúé3Å®ÿ`ïÅp³Öõ8>iÕr:^^ZýÆË_Ù7d®ÛÖ¡Ï^µl¼Ãü
¢mÛËÌtÌ"ÉæÝÉw<Þfôû,æ"|³G?ËÛUæhþ°½èãuò>Ë#yaø3±Â©
ݧPC"ÝÂ5Ò.óä:z-ÿ¸²BP_ üËí
ð -7Åa\ñ[áü_Cë1±úq o¹³ÞË=?ãÒtQ6®·× ]ò\ëÇÖ³E;W£¡ê£ ¹'nÊhÓ3P8aÑyíütÈÙÞãV=RvevAå IH{ùÍðT@÷RBó4#8ëOy¿p·0Ì£ø¿ÖK-!ç§QÎ÷Êc¹OØ%ûot
^|n¿ucmûJvI®¹
2ý
ÿ¿þ%ò´»¾* mKಿd Q!-|Õéà÷P$ð31ñ}1 at 7H¦UE-3¾ÂÇá4ØÿüyMקüi!ÿø,¿KR°´:ßA5þU3°¬D]%}4gZÌûu«?jh«Ká8Ü,¾I4#jÎ`Q4¡Äᵪ=prI^ÌfÀib÷ðx¢P×ôç°Ç L&Ñ õî¼íÜ´ {cßóòwèÕúxqÄ
Ò+<Æs¶£TõB ?0h½^dÖ`Î^&ØÀ
0 l =.Pɼ>ës½ümÖhxü&Û{|ñºóû|+ mk·"an?Rþ´Ó>ex
±××`1Öõ&°UCâN;½VUòø&½°SY^½æzÿ±IÑ
F6<gðr£«'
^¢¦ÕGçkÃmìa´HÔ,ÚÆã¸EXÿvH¼Aüª}ÊF×fi¾N+Ñ1îÞ _Cë©á¥ùòuoä|ësþoïµ·?;úÙ(ï[¼¬j-yà¹z~öÚDk¼ Ki$Kgçï{÷V¥ï|ú¼Ñµv'8F"ç¾bN&HÎñÞZC³ÝJJX*Ï£l=ͨÈÌ,Wwê\óÚc¨è{ùàÕý_à²:Ï3òjäøø\á«!Þ/¢¤XHuPþÆÄøñ±ùiÀÄqÕÛÉÜ0à¹Îù¯Ð£oÑÇO
Mã ;ÿÑÈÌ ¦>p¾Q*½5ß dO¤ °ª`ø5§ÖдCÃ[ºñ16¶,<c'ZA9ã>3$è¾zOï#á«ú«Oó58+Yß_BXfQ`þzÙÃc4 &fLWcÙ,¢È/n:I˺ïa~|{¨W7 GþÃàDQcYID&içðæ;¯Ü٧ǯ˨·ÊÝYáÆmDZ,®ÚN«Fñûé)V>ïj'¤ßTxÃ@ºf<½ÛñÛM×»"I¼YÓ¯=êPu ©ìq«÷#Fí
@ô)¾Gø=wkY{ýÁ¾ÚVõF*MS«Õ1M)Lå
ª~ ¤÷À:ó×ép×SÜ~<6¤ vöNé·úÎ «É5²à`E±äa8j"«º¡Ms°Fæµ^»Òº/w²ÄiÀ¦FG@'W
p!9«MhJ#¿ÚñÝÇ¿M/÷,iWú~ö5ÖPõPb'uX$qüÁýr=¦êÈ~
¶·Â|8ÅÌÃJ«\gM
ÿ¡¡\<uíA·&,ýémRobZ°ÆÝmËE2=dFl·U<¡¯Jø»æ{ÁUPpkô˪§ Ì@H÷
"i7 zé µ]¼¦>¾Ï`DÈH.O ñøXÔ<Çüþûï~دÕ'#kA7¾KºTÐ4¥Ã½Wè>3aèXX%EaýÆÂ5Akúv2qeïsô
ñö¹ÿuS©××Aõ?Nã çùpWÛþÆ1S_2ÿõ²{ùà(NwñÐIpÏ°!\sn(èÑ{C¶óãçüò©¶& F"»A((ÁóNR|¦}Ç'õ§æ
£\Ú÷h¿ÜëðaFe$BøçNVÉÛ-í(z¬^_evþËRƸA¤)ÊëÊ ÂÑ+!!<m_WÆçmÇ íCr7¹QáË6ì¶MÊÿMÞþ¹Ì<ù¾xGW©OÀ8n½n^/âylÜûu-7O%3RÙªP zÐkÕ;ÛDóNÙ¯d,f>Ô:á|IÉ
{cÖÇÏÙÖuÉ{ñSÓ3VXxÚÛÕUÿÝCUÂ(<ÈÅ¢÷ ¦õJ1/<ïÜöÓÊÕýó!Tl1ì½Ë&Ç0*DuûôóñÚÚèÜÞ ùXtm]®Z]@¶V[ÎÅ[ 0½;/5öOt~q/üñéå©ì§Rå{ÎÎúÄÊQµÊ'/%½I.á.;\âáþõ<&ï¿8ré5@]àÛÙ¯¯Õ71ã;QÌ·ÚÛ§æâ9æÄ槺Ì]y5ª÷TÞÈ-Ë^d§)ÈxdXÞW+ RSÌT[
j_óïª^3ïüÏöÿÞzéHðTpüçþÃÿcábüOµØä)öJÀyydï^îË%½,ù_VÅÂÿmPûØj£%4¶'k4åO&ùKÕ¢:×2;V×\ÊþÓþ¿fu±ëÈÊ?Oº¯ÿÎËðjWãi
fD¯úex(FQ8"iä¯þz·rzyièíÁ}D+G^Em?©3ùC T¼-Lï~B÷ØÃÁï\æäH£f!÷Þé¦fHò´ Êa]< q[¦ Õ{5JÛý uÚz´7p¾2ñzÒá#VqP´n¹ÙHi.~$ÐT5Ñ+ú QÌ÷¨-6ÓÍe5{ßf×bêoÂ>FJV«Ê²¤yÃê.YKòT'GQb¶¯²YP©¼ÌÙY{~=µ}ÓE7PXëdIºt× ZLð!üjËýDô /Rì<tZÝÈ¿»X¯j£h$Ú%PÙÄÂð0ãí1å§8$%;&öØmÊ!ÉxýX;
Zofôe¡óEFo¦í5²åa/¥ß
=ÖfK*Î;WÔʨÌyÙ³m¸â~ö9ÉCVå}û©KqwrªbÝpÑΨÑdÿÓ
Ù¸5p~MåøY_¢ªÂò×s)
"" DO:Cå,oÁ¼59fÑ16cVPc14µáÛÂqñÜ2¦³(&8üÛ¼3ªýAÇÄù4²¶tÓÏ2Kææ ¡ãÍR:^¥)U.76eÏæj¢Î[7©=#}»
©:>)öÜÓ7Á¡vú¬.:Ã,KMóô½0¬6q$ =+ÇôÂÛðè$ª 0òù4Ä]ãWeò0¨ÛH~ó¢×à««`ãz¶h}¾´M9彪aw3´}&YüNéÛ/Ê4í¿DkaXÙuý«°G`äè ppèåÐê(·³5H¢è»Æ«¥.¼ïË¢ª:O¿à!)T,Æú+©·4%únÞ½÷»þnèjajº=WªC%ûn&»jßAKÒC4¡ÄgÁý³'ÝEMa3^pd¬å%ñ ÂDébù1üMI¿{[X>)ûÒÓ8ÙA at FúoYÚñßM ýÕÃѽì»+´ºÉ)ªdÍå^h1|~uàÎðày2ë®cÒ0b§¥¥Þ;fþxû6E5Õ±~˧dÉ+?É6c%'Ä[Z¦/±4"¦ÛË/4^þx¾ý%R<T÷ÎÿÈýõêÕÒë¯Öå¤ÂDF¢ú³Àro?©»
ÉÈágÏzñAVêÌäOÒñì2
/|Øq ý$² &¬
Ödn§ Þå+dƪÌÁ<cnøvÛÍi*ý_¦Úö!ÂuêpçÈä®È</Ò5Ù¶êÅ·KéRÓ ?Ì=}cVÂã++YPõw0ÊU ÛÙ-~¹5»Î®Ý³¨Vß/¡ ,P1:#ÒM¿Ú
'õGÌ·ël¾*6[ì²v
i£¯ìf¤cã°µºÙP*îØ°ãX|x
%
\T¢Q&ånÑUIâùØr,OüøÕè;§_ÆUbÜ®ÑóîM¡îHcIüJ6Ý(îÇ@$oÈÚxqÓÈR©AàR@Rxxý¼¤X³ÓuMùsVú:¿x
[Ù'BÀ08H½${Xaë»ßó*é)½÷³Â²úuùy
E`É>©ErQ¶/Ü£íµTæA¢*æÚ6!LMà@.40ÌAÐYìb³Rh)z 4ÞzÉGÐÄVûõPÀ¡%Óè|1Ë]G
7TöoKÈJ1sæè£ÆnyoD3ß]òbB1À=9q(F
z¡wõÕS%
´·· 8/öïND©©Þ'ìµ½¬ò¾´>@mߨÍçÆßÍsw¶7[Y:YyÔ{ya¬§õ0¾ÙݺïŪ]ÞîÂî«X#þ*ý¼çúuÞï û§Ã¯ðÏÛ§À)<6öMhꣴѧ ì*»â$¼
Ç[û!û4^¢BøÓè_Wìé»á«Ñb| Ó4>Ó_Ñc²ø»ú´±pÅw§3S°"àMgHÁ£ë¬oê×äçþ°{5ÇöâmÑ$c§Õêç|[k1AzÑ["P0É®PóÕëªõ\g#U,½h\ój«ªÿP^ô#¦V«¡ÚÇì¨"Ì6h¤È¾þbRé¢ßÎÀȦ£K¿-NâÛQãO}ÊÑi½¬õìµ¼ D㶹yô_ÞÒÞçãG?|ªzFy^+Ä®k½ låÌàD>'²ÝWaµHÁ¥ÇÄSët± 'Òžlz6Éü#gsÌbfÍmßFIZÝÅ*èéAíg¢»q_Q=ï\¼eH*`D¼Ä¿þUu1ÑÿÛ{{àfH[iî.2,xDà ögMÌp7s`Â8÷^rƾ*´êAÀkzáLL`å_}KS@¤ù?7¦Ð7_6ùû¦CJ+ǪéfḵÇê¬RTÊfÙNÒÕQ¹·RBß><äÜduäl¾´û+ðõp8FÌc(¬~ÌÎÉmD
áà8«E.ÈeÇü<ÞË+ÂâPÅú;Ï¢êZÁÈ
@LÍul^-É0@dddµ!) ZôEÇÚQiP³p<}Õ" 3já©@Hµ¬<êt ¬D2F_ä áb×eGÀ¸Hå¿Ëæ¡
N;5dñy.!UlË&(¿¢ü#ÞB!?5I㫪ڰl|ØקùøyàRPæ%¢qdéMáNX˪WGátáVóÓwjlcP¿¼?N²µ>q½5«hãÜÛÔÛd¨¤68ÏUmm¯3VGË>¼¬Ðøº{õ½ñ¯àm¡& Uªþ¶P(mÛ<Û»$¿¶±!q3/#ìÃ
º-ÔNíWT¤oVûãÝ9×KÕßé>ô^û̾d{`³$ª$t¯yevª-OµA~G-é¦1:U,*ÈöÅ´ón/,n½Æ$Ú²ï¶Â9üõ®Ð#£ p1dÚø(-H\Ý×¼ï|óØvyªl[9&&Ô>\óoqP3AòpÂyr_sö2²£wáíOyu}o0³åeNyt9l¸
Jøw!Ï êÝO9°£¸y®zÖøÆÞÌ@½ø>}жÉÀØzyÒ%ÈcöY©%Ù·iâºÒ>lôCj¥¹ÐçF¨ÖöúÙôM~¼Ó8é>«Ã59(bÒ»GïùÎo߯©Åñ,Û¨=¹®êÿó? äÿÆÿ"=A£ÿO!0 PüBâþÇôàæM·WàÀxÏðýú«-Yð1éÇ Rª§HÅ»^ӧ㷯0
=ü5Ýü"´Ü¹"å¡~ÁVÿ±²}%¨èmÑ Îa¦ Ýa
¯ÜqàÁdIç1¹Häd·½CãǸ½5^Ìw}ý ;ŲöeLÔM»ñ[²ÇcðD> Jmê+ÑWøx.à#¥Æ¶í@b
£ÒxÉÚ «B`x¼¾à(z6>¯¿Úã²'{j{#zÉÅ5 1¦ÅÆtºC7?Ï£YDUuQuAÐ#´ï8ÑÏÚÍ+~üpLíót7·åÙÝç±{@ÅdN%úÈtC
@ÒâñlR0Z':0öáJ rày <cÄõ+viÕnô}]Ù Æî$ôÕ6Øýmõ«BË Ñþ¯·@NÙèDZíú,°h^mó#þ*ÏrSåæÌa+Dæ;f<Ê >uîVzXÄeDïÒBãN½ä}v±|bõ&ºh¿áT±~+þùûòêÀ(
}Í ìîE#Z¾ãyOÇÍo eªæ¶é<ã×ê
.Erª$*«Í0`Z5
TQ at p3ê=1,y²
¤R6÷l¸ÄÇ*`¸úHûédtâþünåb¾"M\hŽÃ[^:)µ±¹ö±Û90´TøR¯ZÓn¡pÁï)È*¦ ;C
XFõ3å_¤Ë~Ìp-|FC)HñÜ9|{veO£kaÓ:õdÔ
É1½Ý _Låcmòó;éA×úÂÄ~¾Dx¤¾òÐä$Ü <¨H±gÒfÇãªÐõ¨Ñ³Åµ·¬N¦º°/>w!Lv«Ç·2ÿ$âvM
CЦãÕã<qáä*Àãéï«D8ÞÓÅÍ¢Å$3
:úÐi:Àñ¾ôÉw×,jݤûȹéÞOoаSSxÃâ9séãÝãM¶¤öã¼Æ
Ïý×Rc§Ñ n©f²Ú¼Ý*_~¤¹4Î9Ë<>7¥àD#¦8©ñÙYÌDGPªÉa¾æhdN¨~yI»VÌAÛIqíÀ vwnØä¸|Æ&GýÙ)ÔYz8>{à
eßÄ39ǵu¾Ó-i¦ A\Í2Ë)Ò}~+X}z+±ÍñðT¢Usù@V^ò<6}8Cîsoá}ßÇ_TV)îæòäÙ''Y4Y¾bðI14åFKT4qóµµr"¹ä̾0b7ÌT¤ßÉÝM úóDX8©:· O
Ö#ro¥¯kÍgÈUgk$¼±Â®üúj*NrC Ī¹ÿñ8ßq}U§2ÛèÕX.êäÔ.rÙmí§Lrm§;$y£
`¯±©¤!ÁNt2Æ?ÔצQÄÙ~ÓjÍH?Lè5l»íÓg£EÒAáBûõ0ïÐyì^^hoRÒ,©4ÚQç7+"=/)ï&ÛÛðIn)hm½IoiO³*°}Èq°¡ÆÇñ¹Á:~:¸þ±já=Ù`(zãx
M_úhVûå©|VRÄɽ^u{Q© ±
bUAۣ6մ⻺
}ð¥·àl/ɲt
s´ÒÒ\J,Âçú¨ðIjòdõ@&üJëÚsÃ=ù½è'{<ÄÛ>>>7øvMNN¾¾
_}içÍ4Ö!LvIz7Êu.âÃìÎݲhGKÃ5ÝjÚ4+ 5u¯K8ø¾PJ1¡¤ÄjÁ}üV=ÅI¶fb¸à·Ú÷µ7xê?û϶Ï&åÛ¨Õ¬ÆMí~ÿ¾x´²vïx÷]áJ̣ݣf×X«ÂÿÍ×p©"=Ð÷¢I9·
¯5Ô¢c%¢ n
Ïn³am-7¶ûbH±2ḺRd
º{wñ¤ÃÜ~÷yý
!)8úçWé3{
Y}hioóC·Êy³SÄÃÆo½ýV' Dw
ÂüÙ»¨Sö1Çö-þ2 at W²¼p°£É4)çlç1*ËÙ!xü\P#DZr|<ôì+
ú Æ*¹f`?zd/ûÇݱ^Wõ\ÐoÕ2F~Öwý¥µñ«
H¶'lq%Ç·i^©¥ÄT¸¶éÁ.&¢o=5¹QTÜ]iyuñÆ5ݤ"å/ æù`I( çV0rêo¿uͺasóóÝèiókûú[íÞ^¹ÌíVj¥É¿oWs¶2ëëéÀz^pvÓA [Õ½O.¿ë @4
£$·Àt¡íå3e×ãí¹U[¬RøÔ9
3¤b´*qûÞ,ïAK¤Uª / Xèèï@xQ\;Äf,ïAQT53u(¼ñ½ðFÞIɸLC~ÏʦÛÛ÷ÔUkØ»©S>ZúîÍ%û{w
~^nBA§Ï»hÌo¾HãîD¯° ²ª
¡`LÊïñÇS
Òm¬`ÇcCÓ%¿yÕ¿>pNoμjäi*ú2ó{9³j?øg`Ðé}±ùa1âÆööUÇÄZÕ}ëOSn>zQÏõ.5%Þ̹1.#¿3O±}6ëUlººþDö×ôÒ]@4S öH±÷¶ºwÓX'æÀ)Í'qMpqñaÕÌoîÓ«[7ß\Vÿ²S|¸r_=ȤíXÑ7"(rÙëiPsÅ÷ßÅÔÙ MnhÛñª¸mNÏ^ltUÒóZGöÐcy½ÇÆLòxüa4ða-\3%ûqóîIJ[KVÞ}ëâ'QûãËR7`³BÜqùRØoöÅKúª]3óyÛT#4'cØCÖq[zÇ[SÅëÁlíÚª*2 M6Ãà}£Ã¤®ïZ9ç¥á
aÁ¹Mm/Ô'¾v"©ëa¡ÑÞ¥è$Bü'Îgª1·"÷eåæªIlÓÈK±°ý{MG[ FMûº²©ègƲFö´ïz_R}îðÇ N>ù*suð6̵Ð}»ç
vòqÜÏbô²æ*!ÂoNym~ºñ×HCÛäü^Ï÷?ß¾ÿPY+ͱê]Ìñ1ÍHzv^I¬=hz8|Óf=é³.æ£`
OLÌÙSå
ã1Å@5ó2pRLÛE'Ú7C¢ÂëÚCÜ×seìËÕ<ÊV*'hc|U3´º·íô*¥öæQÄK¤¨@19×Î[á¡©îO&v¢¾_JírpWx¬±éµUÙwþçF¤ÃÝLpèȧ´áY×{Õ×[ÛW(õ¹QK®½õ¡)÷#wæ%¶S4%~7Õ0©0¶=p½Xg>wæö¿-ö-H¾×az¢Óßus¡};ó¡)DYà×ɲê8ß3Ê*;Íw»â¶Æ·q{QèúHþ ps0Ããe³{Ë%*Û¥lâaº6aÂt2 "OÞÌÆ3¨p*ñûÛÐÏVnæºI=ãú-»± mNn·uÉ_0½«åÜòÓMw'¼û´Nágt¢ÙÇá<Pòk«¯÷®÷J3UþRAÈê£ñdHª°ÊOJÊF¬ô_¹Î©|øÀGÓ^\÷.ûÈ wÁÁÕ²'8 H,éWZJ%"/Ëö&älh}éDhçtÌ8FCm±°:¼îÓ4ÓVÒ¼
1h0^¦Øõ̺Óéð(ðñe¤#êQº.ã¶Ð6¢3(¬:U#êν´£½Ã*±ëoRpU0èæ$OªÌÍÄ Ò§½òï\Ë9}ØÂöý¹j½TUIö
cs)Q¦£Hi\ÑaøæE¨gb·Ý·C|DÆä÷O@;n¾øп§ßÖZRUý&zG÷죬Ùàf2³ôÇ¢å~::èÝ3÷QýïtÇ_¶íÖGçiqÐö ¸Sd(-W¸W楪¤ìqs¨\ô°+àÝC2ÇËÙ"ói»<¤4<º®TC²qô39ð//Y`ËA]i£¦þ{ЦRУñøüLi«rny«K1³TýËãËYÅ
ÍôØÀ±iëZ]ûø7(Y¯Èe%ÇH¦7éï°Z\#¨1ê¶ÐBÕjé1ý¢5=ÿmå"í,SèøÏüWå[¿bHÈ-Â&]ÃíÆt¡7ûõ?æstùiÄÕ`±.£tÙqc¤;¨jâ|k[e( ÒïÙ-/6zêwØ«-D5VW\=ÙÈ[¨~û-%~Ïk/[`|#cøZ$gWC§^hòÚ°¹*_¿LÞÈpo6û¨ êÙþ]ö¼vÔeÅ9æßGjÒd=SKƪ¢¶Oø³ÕÐ:ýy³é[JÞ1Ü<Ðò¼)~sEI?÷+vlÌøß#!=¿¯¸õÝy¤Àæbéð/yËzðÑ*á¶fEÎÑðhªÊBòóOW?íjAqZìV× ,ïefê³
sÃÓDD òì¯p2skN.ÜTKèÝ£%ïm㪴â d[OX]ô·D-¦¨môÖ'Oñ¡á>æFżÜpQÙú .<éð²C:Ó{: §¸ÍGåj
ZgbÚ§ÀãZ}²9*òô=&ü,O1Ⱦï¬Xq¦Q µ´NN·)Ã*»¿Ô»Gc÷¹åïÝ
câ_¶ÏÒûf7°Ø°;pÛx0ßkwDÞe`P°«ÿ4c±|'"ìÛmKÐË˸VOÈÈ`ÆæÏ#ëBò
Âm!·õ?ë1Éù8W,¿7S"HÀËn
¼õvªr üýAôó¤l
ùåÍ>°Kéä|özl^hÁ zÞ/0P*]Jì¥á#×8
6iOÇ0 9ÆÜ=ÓNÉAñ54}ðÕõsµ`l]ÎÝàçjùr [ír !tÑ
uÃõÚ
þzg+-âúÿ`ª'êç ¬s¤>]<aBôÇ÷VãX&Isz'ëw.:vt½½Pîì^a
`5Àú͵Q=×´>lå#a,
Ú-ÏøsoÒ^IußqÁ´2Ã㼤À¾ýÅÑ÷î]<xêüédB5§ÑNº5¾8c±èNkbm¯ß$óN^¢°¨9gù 1^¬[ÙiM¸öÆôE×þJqì¥uVáàæD
æºÜQ³EHX·µðTÈn(±vz?(®.)¡òÚ|¯~ ¤¦ÒÓY´ ¶}ÆÁäï{}íÅÒÖ¦7;é¦5|ï[@·uöÎ~óÌ~4¹âF:2®
»r`½.eQÊÛ¸è¤Éa'P¿î8ÒÔ7ò!EËý°¸ßÁ #Î0ªn=£²^ý¡¿ö¢l|Ò<áE1A7)wKýZ÷×è5Û ÉoúÞ:^l¤ ~×&ãGI4ÿýðç/Pñ ¬ñÖq!è9"jç¹2aöëõÑâ[»ÞQ$V0ùláÃüu#K}å$]%å2@µ;¡;ñ\¢iE"æm¾µ¥8ÑISû~oöÝìì°ÎzW;¯¦RGßÄUÓ@FêP#ð¨-yÅ«X»àRAÈaSBcô6{xÁ¶ººH¥]ö× =\ë^XX7jMÑUd"§µj·þ |kÜ(xÀOúZw¼fm/é|ÒëïêvË:í_Eü¸c>P3/Ù¢óF8(t48l¦ò¥³3À² Q`K8ú«tx-2.aSRsW+PCÓhM'ÆäKe9»
a¢GÉo¿ÄZ!Þ8Ì"ÇYNdJDÃ0ìÛp¡<PËeº<ТO%ùÑ;9È6nTyDZg®Ä¨jÚ U2 ÂÓªYIjsHøq°q
$!ôÖG%°X=`_&=zx±©ß[ó<
Ùܨ;ð¸¡QEEù¾ùaèøBpÜ:9X!×t5hIF¦Fèaá¤ò]}7»ûú@µW3é2?ÿ.Óõ_×FE^÷ÔHÅg;yñZÖæ¢nl={ÂøoÈÅL¨´¥ç¤ïáËÑl2yÆÌu-sÓÖ
=VÛ I° ¡Û?Éz¼Å.=¿5¿bCa®Yg<³ão vïµd
Õ÷s×ßaçhÅA·i2kg¬êüÕÚGeÑ èYøi$³î1p:óFük-Mëa¦-ot lc2R³Â/p¾¾~é"]:¸0ts»w2¨ÃKc¾üÔa ¸á¶9îôâå8"LÂ6à
(Åc_¼¹1&¥oì7(!aÀÆAÐÞ$gkçÜß!êq37z~Cú©®Gtº¹ôZf°º¦ÀéÀ+©¬Ùg®bµ ®ÅþØ©"±/M JÌ`°Æ
O4 hä?DûOÿKbýI¸1äǦ×3
϶ìü²f»¨V¢hqÓcÍ >G6ð0ó0®qdþïç]Ï»:ö¿ÔÙÚ£çÉú·í6Ë
JîÎ.õÞüïs\µ]B¾b_µ !øïÒRhµÊVÅú
î»ìªyÈú8¹ÊߥYIÜâe3üþ³vÕ`tNT¬¨aß%èïÂÕ£».åwæªr%Õ+jæbD3$}üèüüÙÑ#qw2_Änq}9Ñ̼<rÕûðs}üí¡BÚÖ-^må=´¡UÄ0f ·ø5èVb ˼([Û¹`øÍeG²Ë¸´
^ûÀM(^< õ'0Ú`1º~ ®(ÑÒ/®¶UíàòmaÆ\©
V¹
ç¾#kM|²/Ìsé6þMaÂÒ
iúÈŹÞ|
´jå].ÓÇѪâ0WáÁßî7î¶} ^¶@MÌæ¨/aÒ/hoðýÍïn H}è9Ô$'÷ÕZ
©2:¬EÖËÌ¢0¤´à³ñ %j#O«íiEF3`¼HélPN¦! ÚâH¤K íxê£ Ñ¦þÍk¯+S`4HÒÔv¾,OjX0çº|j-MðRÑ7üJ|h[±}×-L©ß¶2zt~B½³PQñÒ5Äu°Eo¬óÃf
X*zÄÀ³0ôÞ1÷ÕܾÌ~¾ÃÅz&ÈÔQê>üé
L >§Æ9ðc^HDzîòùЫZÒñ%êë-778ÿþÍÁÛ¼§É¯x¤oU©¤ýBÛ?G¬·ÜB¶Þ¡-í,bÃÕ.2aÄ|c]´i@n.§ËÂÚU-°XÆ÷A*¦bVß{z{÷~ÿþöºb)ÑÄ2æf ¡àÃíâS#5¯L
Åß#Ú!ÝG_$µzoªÜ÷ÐU,Ä Ä|£
¦Y,*ô_a;Ç@ú{cæǹçÚItÙo at nÂs_¿ÐÒK\± Q?O±ØÕ¿Ó?K·~é[½º+÷ôLãV¦ ½®DuU¼4°ì·¶áe-eÐä{ú¨õt÷â³ÜÛ×@Å'jÛt¢é®É_
jÝ©ßèë=1ª0ª(ªÏfå7%ã(72Ôù6Fs} ²≠N¯qP¹^¼±¸¬L\jP¡ä®ý#Áô<ÐÍèÌ-ÝýQ/¢;Þ
ÜÀAjÂçË5É¿]?rä ïAè1OallØx8"PÌ£DÓhTòí
½2Tþñ¤þý$ÀxHÖßÌY;Ébµ¯¼v¨k
³p¸f[_ð\¤BÈ|¦ÒrùÉYJM^Ð*áÄÝϪ.jlÎwrºqÝ\6ÓiÄ»ÛI¬Ú9Ú8ß¹S?Óö8lÍÅÌJ¨©à>eåIròHò%ͯ¾5il
º±¦¶`$Ûµò©ÍѸ½ÚÙF¡éX!<&Ò,ïEKÚwx_Þ¼1½ÄxÅ<)ï¬ft
æà¬Ã]º ½«·4)K9õs¾ w9î0бÿÂöS³21råFflƹ"åÝ<F
E¶®gërð£Æ((%°øç4]æ~uËMf
Ë»Æ|!Ô)Õ}¦¶ÿÂûÄnZïóþ)ÆUÏòç-&}vÏþôå«ædoÆJÔÞ°®¬¾§ä ¶Ixô$ ?IDß²)ÍUü±=÷Ïà¶}Ù9\®jðÊêTMÏðÈËå»HâûVÏøÐ-ôÅC÷{õ=3!E¯<45 at f/ößù¤åÉ[ruG gLÓôàð8I"µm
Æ@pHm?KÀóñ8+Feîîר¯f¼ÊVH$ѳîÛ
ÓÔvfÔó0#Öl4O÷c-I×÷IòNQÖê¬ö]Úíd÷!Òkã ¬ëÁ9zðÈ¡ iöLs-o'êªØ/I2¡ccû8ØãG
®m¸M÷?£çðBz
L?jê=Ã'ßµ&Òon«g¼Ý|á+Å;|¡]a*yÅ^cg̱;[2ÀÝR]I·
IÉ
©qï¡÷¯ì\ô.uD rØöGñV/yYº¥j#ÑNÌ©(IÔÂ'¢@9Ô9á߸ÊY0§¸]ì9$Ô*A³'Ö?ºY¿Ôì¼Öý¡ÊcU&»ïbÉUÞÙ`6p²ª@?!Aoêj}4Ì 0qÃ+Ùh»YáÄÓõ
%`Sos8ç¾u±j^0<:fì-J}9ñ{|¨¡°V-(Ï®Àm´¹{ÒA½ëi"ø[Ð@2ní:
a{cR·Ëä1 §ÉlaÈÆZébëã.Î|®ëtvV]Wë¬råLç0ÛHdØ):Tr¶5j<èâ9ÍÿàYn$ÀA4àVÊKUÚ Ã:øþ½¯¬*ú:c0XÃf8I1;+Ô Dä5h`é~¼æh]Q$åzÁ{ôѳ*q
@/nÖ ³·ðs
âo¸û׬ýä¯/2LñÝY£®®[²öÅÂ;©tÌÜJ%ý{
ù¥Þ°Ü¡¯æ,¹îݬ§òÍß óJ, ɪøXl¹¶ÍÆýu*ö"}©¶¯y<êGÔhKóKݯçöm²ÆNÉ!¿,â÷Ë:â=AvÍQ^7RÓ'zýLɽÿétäòþñiôL'eVÞæÆ1ðð¥ñÍqþî3Ù^íh};z6c^sWFMå?Ú÷}_VÐ
QZoÕÃ+DßÓè¹&K.GEÛÎÀñ'5¥3ì´úÖñNaKò?áv%yXzÿ¯%v4`¢&ãBÁ6r.Hv=Ƥ×)vÝ? eêiÞÏÏ1æÞÒîUÇ%¶AÞ(ØÇqj!Ly·ÒõüVîð »#Ï-bu^¶g~raZ°jÜÊÏù Í}¿,êOSnÐÆààë6JüÎ@i(°M<þ$þ51¡P
a¼ÞÔ%õ¯Úy¡¦>øç£××ïþ:»ñ=åÞnZs¹uÆûüÜÕ,çÊãp3Ý@% dTåEvqYÉéjívÕ
×æ´ü?]çø?î:3ø"îKDÿÅóÎüàälä7±ÐfUt§Q£,¸F½éXJ #IÀÍâÌfR+eÕhP BLɳqÆDµÏÔäËAB6bT¢£Â¸R&£Jl5OѯÍoº*Ûhd¤Ne5Ò½ÿXv>¥Ni@òôpjûÌOß<¾]ø!â{½ 7æÀ1= u_²íÐ%²)ð*èÙÜ:"¦ø»'YÛ«©ù((º`Â6ß±ÊßßÕúýoõgâ¿àÓã
¿Ç9«4?ûeù2Ð`;¿¶ÄÜ4áÐ|÷
x,8÷ì~¯®Òb
·p(ÇóØ$ÛéZû©£ê¼º ¡éu«%ÐåÖ§!¨kùà ?$±qw/¯ïÈ\ÌJ¡g̳¸ØòB1¡V{Rزq="ù£fßåàáí¡"³mñ jðóF0uì¹-GÂD¢Hרçϯî"8DJ¢Íc£
À<¶ÏS¥$¦÷ÖkGÎl
Ö*Nàh
ªÇf âÆ°X¾}Úfi²læ¼oÄÃ^6®hÿOÝsU9V÷jYwc°~ôÄ:E E·wzQïR̺| ÖñB=ÎD£*Ø· 5vìIÑkQ'x3©Ós<@
ÝÜ6ÖõÖ&H*£m1¬±ÅT²¡8ÁÑ7é
ã+Þ/õõÑ$÷&ûUô®7²Î\.梢m]ɨt¥ÀÌ&ejÛÇ(±cWx
«SíVfôqLò`]BIä¬úþL³Òlmw¬¦¥ª© Á¡½¥¼ÎÏÐZÄÚK
U_Ò$?zÒMud-u-k7Ý{Ç{ÛõеOêQòãìuGwâÖS3gn¨ÆÑ`·[W¦°Ü$ÖÄW(ÆÈߢ°SmãeòzãÕoÒáÉb`I©ÁjÀ¿*¾6 y¬9éa<¡8ª»Êû0YÒô ;
àn4% Ç|X Êú`~=ÜoÝÿ@à fú±ÎÎËËý®Ü¬¥îºÝBEº©F1æø^ CÈ ·u]&~ÌËÏ?¤ £j]ó5¥ã¿lvtaÚg&DTA6R|EÈãÇE´ø âãåÌ&,ß <Bñ{Ì°÷é?òÊÙím`kt¢X6ÝƶùïÌh¥ÉÕw)Z/fçæy@3»î±8ÃÛÉÂÿÕKDOaì#m>üs=6¾:·;ÕmöMÓ¥hûþ^³qy¹§«Ô
Çã[AåþÞ?C)z°ø£¹¶\gSíàE´"ö,vÄèÁ*$øt?:HD
:º©ÂPÌpÄ%±JÁ8kO+ aq³ÎíÅXÛ©ÈeSÿäÞàJ«\tD¶
8O
¥7ð~ûöñ¥°çÌ]ælp$°V5;9i}\³²q«4^Swcäc«;`Ì
Å0ñæÁ¼gâ®BÝÆ6l³*ÀZÓOÈ7³½»Y*þØNÇ^WñúÇÔ$ÁÉSâ3ÌñåË¢
©Á*ÄéâWÀcí÷Üò¥óÇ:<³B¯(Ä;?ªÐ"39×2ïÿ\Z,«0Èøöø%õÀcúö4ÊøUl`À0s8^Ç<cwöyHëqF
n#lËÏ,É¿(¢Ä<] ü¢ª;ûà·/kÈãk5(<{Eèkã:q¸wÐ>0ÆB× ÕP®Û,äÔ·é«+*°rôc·3F#H2ƧUòå+W®
nÄß*ÄÃĵè°ÁåVs-G¬;Åp+à÷Çî
û¤@£X¢@f0 xßOÝþÚ7øûööÊ3jý÷[å+1KyâÆìóÅkn4]uèÅ @Þ¿YÈYÎ^ü¶$qæ ¡Ó~¡rÞ¹æEÎ1FJÐ~úmóýgÂæiàíÉU:p¿¶(Òª NåqtÜ@?sÊ6ã5îÓ'H'Â7Ë=¼aw>Ðéæ3RV&-(_Òè;HþQ,ý,qÁ(ÒÅÍ¢Y¹ö«ô)¢Ý¬®9lÒ/§5 ià£ö'ç¾
ô¾ÜÍé+ )ñhÄ¥ä
_ÎÔ×RMÿ84<ÿlãÏ°ÍKGºõ¡ä¾!aa/MzÄÁe©uø*Cè굸¢ßáVûÒg²à1áNaB2¨Vu´4Ä#.Q~±hô-¼~M´çËà]ÐÏm=Å @TÆØò7ñ%nKnþPø|êK×7\õ@:>èzÄJ- Òýv ý=!übðÌ *&Â*ö¨uÍiãöí¿ôNnµ{´w5ðN><hÎvU_7gzÓÞbý^ Ô×(®^Ï-®ð±g-olr·$ûÏì/3¢që{ý~ì
<öbÛ'{yyдdæ\Õ+Õ¸Äö(Ãg éø(ð+´]%vN jxø +þl@¦ÞRJcG°Áæܸg7¸\ÚbqL¤rKª@ª_Ò;êéÆkA,ÐÖE´yĪ
^\*×O+È`°Ç¥Ý Í©Åéåü´L`Wn]BÜH )á2t<JäÛQH¼hÖèÃkó׶
ëÎð^BÖïpw\H¤
>ªl1ú¢ëONÄ«wÍó5ûÃcVr¶EôÅU¢¨eߧ$âÒËuÄ2µ*cáþíüw/£¬â¹0éã¸ÆßQédtíCÐÅXz¨,()éWRbV3îÿ´våñPîmffÆ6K¨îCȾGjÁ ]Ù±Ã0d«ÁX4Eö%IY*BQ*BYRJÚ÷H:Õyg¨sê<ç<ïó¼w|f¹×~}¯ßïºîûóγÊh38Ýü'íëö¤ø¾lÎ×Õ-Mðë`5Åç& /7¶j»~f·ß$TÅöq»ÍÉ
f6zÐÕÙzÀ;¬ÔÁLÌ\i
´(Á6ò8,I5ÀdÇõHt9à±þÝÊ»ù¦&¡ynú´3Áü)Q¡)m
Éæ0¿x¾³WÐ4 ®s.ä
ÈÉÙ OõÏö{0À0Óèþm÷Û$zÆH¦_}§AÀ|çÙ3ÑO6g»|6Ú{°öó<Ùqþu;=G¤ëÓ)¬8u$Ë] vª_3yE÷dÖ2ív¤=ütêrnìýXÌzïU¨öÖvÎGÄ#g¯h~=zÊ
01ö
Æ=é{è ¦¡æõĦ{TWt1d2· bzgíyéúGø<v²ÒiÐUìÒß czÌt+¯
²7áX×Ó(K Û <H×EkGwúg¾²º-X þ ãlnÇmÒ]oHØ¥ÊéàêÆ÷o¯tK?:¥
ä¡ÞmW½eoª7z¥!Ú11nÒNb³Þ§ã)Yv:í%½¾÷<56okG~ ([(ÊQ¶ÃÜt× fé=ÛM`fºûÜemfödy'|ªxÞ>7*ü¥3®Êõ[ÐawAñÂ'Ì2Ç2áë@Ö¦*\zË(O(BLJl+lÎ^yQûYd×Ik;:Í]_Ö²]g_UMªÔXç(.îªÚR
ñebÏ»#ì§%ÅÝ¿vdî(ømSøùä^Àã¾×¹¸MW$»jH¬Yx¾£F/lì¦ZÂñ jQAéf"Óê,wbõñMQS5rû}W»¢Í{Qûp =WFK6Æd6¬=ïp4Íóù[gªb÷xÇÎ<×ßØVû||ùÕ>ô ÐÛ¶¾ ©tlI8¼å¨ßܺÔø·ì`rG|!Mª×jjÜаû!T
k^x¼oÅñûð)NÊý¶JÎ,fn,uºyrª¸QÕEú±Ô2OXp·È6¿)l6Þ^C*;¿V4u¾ÙÞà°ÝKÁ÷9£zDQ*·$ïÝî¼h; ²Ñ;wÜV¹|»¤©Xf¬®A¯Õ%ä@Õií¶ú¢«¡äÖ)1Ûãbæ(L³¨w÷ãáru¹)a%|·^ÏdÉ
(,Bc5}>ZÆÁ7PÝpgøâå©f$bV³¸muóèÈÀòS¶?*JÊw" úàzbEêôø65 BÊȼ%SÌLB¨[£Î9^áÔ
%àHãmfö#_TgÆí:ÿ-ÿ}ßÔnSúOU|Ùr 7ü{Pý°q]Ï3ÚûÙ|ii/q#P¨ô}ÛÍ*ÕµBÁETÎ'ÚíØçX2ØôXlÔ»ÎÆ]$îT% 62y¨*tä9ÖF¾Ô|SÁżèо¢]CÏ»Üëj».#à6ó1ì>¯'Xbçæ ç5Ì¢±X¯®`í!LU%xª.ÛT¿#äLc¨Ì Ïõ¦V×8¾6]ñU¥GÄû¦¸Ã7^ZUÏP0gÉÃþ¸Ë àh
Å|þ)v¤»+$d¯4Ü
¶ZÊIZíÜÀsì³áCõHyådÚ9ɼèwdg»QD» US]G´¶IH`ïà áñú-<âÏfv#
ýV]Q=y»±ë¥JqìÞN¶¶³WeKwt¯>vnö¡LëNÁyN)½Ï4í±Ñ´C~Bbåáì÷w?@Íò
[,Ò Öñ)ëðGñ ½*è(7«=¦=;×*Û@,^oboå[CÞ#'ÏS¬Vb0iæù[ûJaÉõk¯eE ÷r$µw¢:JÛB=[³ñ
ÖÝÓ2ÅÏo£\µå[Þö be1Çû1Ȭz
»@8o{jÔj³¼`ÆêÈÌ[:ÑeíóHà¶
©C;-þHýxã$²ñX7¯¾²2ÒQ¡ßÍ«jÝn¸ñAëÓV`Mô¨ Ç,É]
üoÖH¦À?nßÿbA£úR75Þ\YX!m\ÓÚ$À+]µÄ¶9(Û ^N´±Û×>¬y[ ²cáh¹ü ÏáWbx7ç9
`R- #(é[H Rîe!<dù¦Ýö¬ÉúÀÀ}¶;,ô§
ïW1eÄ}í&²Eàás
ã&dó6ñÔÖ)"±Øû;f¢ùÙÓ9¥ÙaÐÇ2UFø'þãÅr`Ç|xy¥êNÍ%¹a1¶±¯Jó
)__ÕqûOFhÈh±ÅX¹©ý(ñ#2Y.¬#β]¾8à¥ÿÉëéæYÕ<fþGs4àDb<Dóa^}»ê
çþ¨íàV©ä¹çäê;ño^¿Ú úéZlþ±Zy°ÉaQ¿;,½P´È^E2mìÞ¥ãÞ¿yX
¹6-¥Éèç¡îÀëR)(2Î
¬-³®Íǯ5TÏs°Áµ H§æiä}YL-j[ѳ)߶N ÚÆ@ÓÞ.'¤x_¯tåÈ,®_ËtÙ¬ºpwéRüMóü,g±ÇDß1£uòÁaeª9&ÂQoß9*LÀ+ ÙdåJ|F©ù-¼
ðg{
tÝÔÛOO7*¨-ôÙ})áGUEl2%æÅÞ¢õ(¹âñ»i:X¾ôOe`Alúf8 âÿ.®¹#«EEîÁT¡fÁþûºYÉ2·º×«ªú+Ä-#³¶ÒÙ®òdxMQêò¬TBSÔ¢l½l±ÏÇMº~椳©bâoH7bª;éX©¡|$ü9nè9chÙÄÂ7y4
[¸èµ¶4v=ìvc:ùâÆW_4z¨î¨t³ ka³*r|>OJG at wbbÄÖ¾ßfë>ºoon´xÛWAR<µ®õÒþzáòÏH
ÅeÜL(Ó#6
l?³x
ìR ø½ß-iIÞß×m4¹+Òx-9
©£:8½XÿÍ×äw)~×Tóúkél:ÄÙÚô´
G^1¤'ú¹³ûa#Î
IÌ/´7ÁX°üÂQé¡RjËl*#¨-EëéeFÎþsµÞÕMà^×ZÔ»ÛiwC+³fÚn´o³°gH½5î§Oè¿,ª&`¥OɽÞ1ÅMäúcÃÑö
Að½:á^'Ú¯i½ÑÈ8¬ÎRùÐÛaÜ'~Sé«]PK׶ùSç3#øïÀø(=V+Ý0uÚN²ãwÛvˬØ)»Ì¨8éwÙqH_:66(nG§`ùùûƼ¹!
/.Oѧ×älÿbð$ãLªÑíTÓ©êc¡0Ü4±x×5/>hp?¶«*sYÖÀçDÑÞv=C*ÇÌ<ËSÎóßËðAõ
î8ðD=å÷Ùx)õ<8:û2ynXÎ|ÜÉoW£ÞåÅÖúÔ0Ü¿¨n°¾M¹ÝüÍÙùßÝfDã¼ãm²/»ÍVRõ<¤H11ÓëØçýQèÁËãE²}y|ÿnÐyô]}\{½ÊFÿõ·0ýoJòoaå EHWC¾¿x}yS§»v$Á; .êÚ(5wª4(Òq_\55Ë7¹ÕûF«G·¹eây³k»jç
ö®É/¸îÛ|p¢Gìu:÷²G ?|Y¤¥Ù>>yåͲQîõÞUÍqÆ+>ðé÷áðË\ýoÌèn¼oMä38ÏT4C¼î)HØóÎ8ërxOÛ»ÎlBUJíÁ1éÒ¿`2>îxb¨8d½õÂW»Ng.¨Ú»b·]®°ha5÷ NC%S|bªæÛ{0ÿ95q9ÏùÝfÝècFã^}¾Ù±>7>Û±p EGèÏk+ÚܸÿboËãgV($Tʲ8 Ò¬úÀ&3Ö/¡]z¥)aÛmNÄæ#¿HÞÏÄùïÜå{?ýM£sÁn¶F%'g-kz¹awA&ÁA¦2Ó]eû{¢Í#iº#gÅÉ J=é¯|÷¿ÓoÍh~.xSÛOòðT®=|A|÷=oÐiÑóuØüi+%$Oà }4ÍÑrX(ÖW¢·äR`MäE=PV¶©n¹0N.kÒT#¹Ðbu½áÊðAÒ°lú¯Þhd_E²4^^OS*OÖäW5S¿|y¡º]xpb_Y)4êR»Gí¿x&òCá±Ð vPÈV§þ6Ñ©c{É»GõOvï4ÔC7÷Ò<àv ½ÎëÚï°
öÉ"X°ù
ât`¯ÑÁã諨ù¬iÖmOGáÇùþêUôaf'4UmÄ<TPkÒÑ|/5r Õ5Ý
§ClÃ1Qª{é(#1MÈeÔíë/{²Á!vy
ÏSõw*ùKBÕØV"¤XÚÏÚuÑ÷ª5¿ôQïaï°¨bMë
É×Ï2×_]WxÝ
WîwPZg{¢Ç
êý0C×!OI0»|ýdÿ ÿ5¦Üls,-É4ÇJ;»÷«Bû¹=3f+¤¼z 1cU>ôÊ·> ìå°¡é
K
äÞ]¿t=]1ÙesÄ&¨^vå¶X+LÛ¾y¨&RÓ´EiG6Ïk@¹]Ç9«X©é1å æQ*ÔáHêåí Ôm:ÍA½ôeðÒ%>o3¢êu¤XLWá`wzYÁyY_>¦®ëEÕ-ì#ÐP.s·%à×f
'è<*tì-vâs
sQHLMºLEÆADó!¥Ëè|ò|Ûö*é6?3|LÈ
NØ~LzÕñ£øà¼i]ü§õ3ùoëÚÚIÓöha$åSïþÐpe]0µã°a²³s+Ú>i8·®ÍÅÖ)~
äiZrkÞçÄ_óMÅÌ p>m(·ݩþ1/å¦:à2dùµÆbÖȧ6wDV¯v¬íߤ.TRµ¨è@Ö両áPF}ùä×så÷Åí°nù|Òdø»Ì¹3%, revZ íød.%
_Hrë!¼~QQs¨ØdQâkZ´Õòxzø±[ð̾ t/8fwÕþ\³Þû96h O<À©j:;{º¿±Ëzo"ZÒmÁ¶¦6$áudã
ýcÊêKð¬}uïØóèÍ&o/sÝÓ1(I©]As|à ¼Ð.g>±þ¤Ï[£ð`HìàºCºÚJå¡%¬ YÂèûût¢ù>£¥NwÛâÊ9·|Í8&ìdóûc'£hlxð®3<sx7>vÅ"X>ùzr&q j²*6eÿfVSÎÆÞº$q±W at K[Æý÷Âê*ðGú%³³ç±×úü6õ®£YVæ¨m¢¤»9`x§2Úlóâ'ÈÁv»ôë_Ló/L@GõzÎgÕÃÑKKE¦e0 £P×ô·]?ºcܶñªd[¥)H=
ÓwfØnyD·÷L}ÓòñÂis×å©Q-ûöuºÌx5Ø:TYkÞ!5wö¨êÝÍþ &½c*ñTûL@ôÞ =
¿ø¼gpV9ÿ~¹´°¯R&ÉûÎøI.5ý°só¶¡kþËv¶IS&"dTp\¶fè¥âêвh¨â+¹3³¹³5¬äÌ\Ì;ɺ;O´£ó3ýr9«A«²ò}ns^o=Íw°ï[9 at f%Àå¨,m0BTq÷ñ)3Dw«Eɨïä¥ÂÇÆXî^¯©dµcõó
ÇN¥y>F²È-=¶+,¶
vÈaO*ú"ÕFóÇÍð_\ܲ_-Êħ®£m½&~ÕzX#rq}o¶]â&/9?®7Wô
í67Hk©f)bF°®ÂègbÂYU¹ºÉezµ_ÃAv½P¨Èz9ÿ s:|rä6ÉõRåçµ~#
ÅMf^ü{dP÷ul{©|§vû±§#Ok7Lò~KYS¬³U$vàß+&áâñç&ÅÃÀÛ©Ã_¯¼Sõ5 ¾yÏ>§¾<LÓgOèÉ0±8Ö·¯]¯ìÊaÔϳ_bs=rÍ
}¼Ýú«øê®ná3AO×[çm°Þ¦XrÈZÔ¸5
~}/ç2¦ÌÒïÍu.y¦ÉæW¼:2§:¬95~Ùg2¯Ð&{{ñþP\íÖ}F×´«y]{²l_jÞþÄ·fT}í»¼Ââå/äìO?yY¬íîæÇRö[E=V8ÂÏê «ë¥#(HAZL¸qëéç± iYÿ¨³2^KÍ/FZù½døM
Bä{RïêÔeÝs`æR²xÄSÓGn|óQÔ:6ìZÌH:YY¥PÚ,/ªÕ5týð0Uéµìøä·ö4ªmEe 2_C½@ÓàT$z=qÐÁ2(8mL5cÇ/£EÈ·jÞê³CÙÙ!G%
ÏÕGY©¨ /Yg&äåë¾}ä³[ïnér
µ²-#¤ûêXͨÇg£§ÚJßjVmÚô¥ÑXÜz!Ø])·&}ÏOí¹%újO²Sþó\_ƺå¬èûn{£çL·0âJ2®m(ضEEáh¹rOöÉgÒb+åfÉj
(êbzi¿¾Ö.ß
ÒâåÑLyÂf¿`%ÚiJ8ß_r
è¥ÛWD«
¶ö¿¹ëøiÛp5'¼Â{ÝE²6L3ëefîëxzîÄô¿´eOa§À!ÅÓ>gí'¼µÖ>´9zr«´Éé8I!w7 O°ér~Vk|®éÎ[åèXä³Àáæ@OÜ«æû®Oø6^&÷{ËÇczü?§ó¢¯g1μÚÍ÷ØôrɵØvzÏRxóË:Âø¥ü¥ßläYü0ÿH/d>µIªR6±©-à0êKDËó ÊÒ²±µ8 4(åÊIaÞEÀ¦qÏBø̳«è**³UÒí§«Y¬\|ðsy ê_ËCdH1Ôy΢ò:}ÝÕH
ݼ|éZKo69ØéUU+ UD±&Ç Ù§ÑÄÄoÄ'·m0_Û5p¬¬Áñ·ÁZæ&ü°}cw1kº·Í¥ôh"{â{t4}³ÑÅ2¾ÜÙX9¾ Ö¬©L^xEgéø)9E2ÍLP²
La½éÞ("à4ÓTXQ^Âw¡,_/5:ïÏ/Û
v¬=¥¥»|%láÔx þÀ»V^Ý·.íª"Ùj"ÑXká¯ÉßÜ!²[9ùî~<o2b'yÂTÇ/¹³AWjÁzrbÝùfÇm3®½,¹Ôl¿¹Ò渨¢ßÑ°á=à^s5jAvýÍHß[aÏ»È-Zx\
ºgÝÃ:ik_MvCD¦hc$¿áaevÄÎaÁKq»-¯¼V¿õ%M}Ó³Oë³iÕ3¯ÞV©ÍfÄëäÅîW7ÍdAal(Ië¨Í´NÜ'[;©;ï&y]Ûë=2]úÙÅM-"OºæâpWA~`áÃû÷å/}'¦h
f7oܽLªyîÌSÌ'^¿8ªA'%Ù½3ø>ÄõBÀ@ìù¡ÔbØg4gæ½Yî*Ó*|oùÛ¢Ã4Í®x«:¾éMÞµatÇí¯ãm_5·#$ñïªUP°ú÷ÖjclåÍ7UBëhçÈïëzv"z/ÿK[Ôèî»~~þûõ³Ý>Óçb§îWSJÔMJO:+n;ïµ`üîõWÉ;g.¬;¯WA¿W¹¼?"~ûy;_^/òqÖ<Þ*v_ÛÊýOê¤$×ÀiÌÌ«×ms cwQe°`mûRÕÁynwmí%»N»ÝîL¾ï³{äùº%Úã§_ßY¤?zºü r&bz
¶!\µÔúë/>¢S÷&®:
'%äLv9í¬8]ÚÇÊÔ0NU|ÆÌÔ
©ÝMãÉúÄã»pÂRY
B³ÙÒ'ý·ç×Hû*Ô
Ä×5ÆÛ{é2¶ÓØ"¨ÒÕ0Wµ6;/P#ý%XJ¼/í ÉIÆ\ݲ`¥È³XyAÄ C¢¯\
³5/½0WÇ4²ôuT
#èyïxsÔ.Ív4àß7Ü3S=Uÿ¨¢ûïbÁYMqWaÞh¬z·¨Ô¤Dà? ·ûZ?ßTºäúäpLò£Í¹Ô¢pÁÅs/wùJM®}X¦9N0\SÓ3ÔìCo{òàíà ÃÞØÔ?I4Më«Ú'tÚÒ½DÀlWhþµà%Ûwçª"Dücw¨|ZéºÑÌ<"êpýàâEËHìûyQ+iöùnWÍ;?Î~KÏÒn8l:æâÍ~!yFë@gðÖ£SÛñp# ºÞ±æ ±uòy±¡uKË7Ð|P¾ Þ²¼Z£é0
[BÂÔ<hQÜECÉùÈ3²K÷«
>ðüzl`ò¦øöåßn¶= LAɸÏ^Í
ú¢Q.U{z«÷÷ÒçfYÎ}SëÛuø¼üXpÖ\aÚ
ºåËÛLøÆNþØuγL˲íÏóË:áNû×É!e¤²
LÔÓ]n·Lowv$¸Ì<')SÎ ÚwoJ[ú²øÝ®g$3×ÜmÌTºúf²zpºeÁòCÍ#/Fùz¾ßÛÑÛ
îéhÆFUà=¤Ù>Ò Pë)¶/µ¤É[Ââ1|þ
bÑÝùÇvõæ/nz}Ts²¿ø¼Ý&¡±©C6~,7×IÛ5¿ÍpTGXT0\\?áì}4Ñíõù¤Û-v£GOgù«¶d?iÝUϸ[sÈrPÊȧ\µlXjo;r.¶áªf2p¤³bd*ØÊ«sÊà ìÎpöJ+º þɨ{íxnÌà
ó뫼OkÚm?h¸¦0×Åñúrx>þõQÌçî<m`ÓÆæ#¢7×ðßNòO,}9A½ñÎ{céºñù íñɨ¶$¿VØöóô¶9*EôJÙ
àFD¯UߣiÛ}ëIÑ'e"upð6ÛÔË®u]Àq9ñ¶¿ºY19 oyo®èØðý/åñÙïè|÷ªC¯Fvf|
fC·¯/Ôz*ì2ÑÝÖì ?ÑÊõ¦þP2\ð:í6^&,ËQÛ4OKB£#·<
(Íî0~w£.ÐÝÌÆë¡Nü·Xçëê }Ô4éØ5©7Ð-fø³³6ÊÐÚL%vÙVúBé¡
bË
Ã1ª²ÊȾWØvß6ß-KOBÌÒo¦°ë¡pÍLçaÆo¡9ªH80¤MÍ2·¹Õ»ñú±~^y¡!çGjÖßmÏ!F§|[è>8g8]C²~ #G;³HxÖÒ+ßÆnq¯ å³jes-YoüûÞü½ Ë3À^̳Z=±=J¢k×Êâ%¥_iÚ8ÉÌzßSR_>=~Xsñó{Cg¤Å¦Ôöò¢îþf÷ÉÍ·Ê·6FbªZØßwï ©×ôJAJ ¦8ú|Î|îZ9½rù&yaà¡ìò½Ãµ¬½1*'Öä°/ë$¦X_.ñöx«ºWO§"_Ð]/ð7Ê::o!
øA Å0ÜÝ¥Æèås×d÷\²}¤¦[_wRÛ >ôøy¹@±Í¶ÛaEaeÌæíåAêV÷²MuDÙBn_¹7ù¼4åË£OMá±àÇ0ªVwJBVLSSÐP{e[JZ2HXì¹ ¦7WÔÜæ?kÎÌcYeèÐ.FRPETG¸,ǾSÃ6¤r¢á<®(Ýgè ö£á(ÜÚDE3ípwjÐLP´§Ú}Y¤²p]©#ïßµ_½wòê¤ðºtÙqÕ©.2´É,¤çl3$ïhö`yÞ M^{S,ÆÜacö°õp×õ½z+Õ6
P<"Ó!Gum8WÓß,¦^%¹:ÿÚûx÷%1+R~LÄ^ç1æþ8í^Uôcâ£õ¹í62FìTËg¯UåÎ?Ú*-PéðwËéà¹6ÓÞAÏ#QTæ§ÚF¯
Ez*Ã˶¼7ÓàæÖ¥©ôM/$é7cSz+GîU¢çDwi:#RÞd!Æìêx¥úèTb[j¿GëdIÅÆ wç5ìÇÆ_©QÃ.¹:.ÓßäòØíá{i%4F éRép,Ä:®ßl&´¡UPÂ7KMÖAxáãÃXñÓ,°ÿ¤ºr
ÔÀ«m0UJÅ-Ö@mêP
#w\5^EÉìzäºyj¬« ; (³óû( 6÷YövEA³Ûá6\!cQØb3"Ê/,´âËokg*F*½¯n&#}+vø6Wì%KFK9º¾º½Q§§.×%\ÕL_,žS
7 êûã8ÎØ}Áyú äzìÛt¢\Wfqt
²½èÁÓ[Çp»cùF>V0©¥¨ì¬ÝÇájÈBiD[Qéæ ÇK½EV4ÛV:C0[9²óædUe`r¢NL9q¹þÞâ#üN=W¿f3×;
tÚpâG;büªø΢R©Â)×4Т2QæNæërb6+µmnð¥I=\ZÔûÜèÈKLFö[*ôáBêeÐ8!¼ß¦1iÖ° bQÂð@ËÆj13¶öG3fùoÂ-sØ9T/!ÔIOácN¾xQà÷b#åkà:ͤwor*J1ÊUs@~\¬9ɪ½zyK]w¥iYýa_aÇ|=Ý«t`æÙüâýÏׯz'¦ûÀÖõº¿P_Ià,Íís°Ø§{+H"ÍïP
ο©©UÒG ¾ÿ\÷1¡?.¨S=
tLÓåx¬9M¸Gs¶$ÑÉsÆËáY'RÉñoîj«ÁQ·q 6Eô$ußB¡; üiJ,:xgìÃTø«ä¦Oåér!P%m©Ú¼sÛüwæÛHÍÐ¥±B"ëhº]ÀM.fecFdþÑ7éCëÍ_[ÎÚfQ`ÅÖW¾}¡¼;9Sãcb SÏÅýæÂfå;
ÍͶp®J³B½þà*(æÇ}©iÕöò#²KümNtá±JZYÉÙqÚgîÌð+Õsø\³ó]ß_ÓÒ<oK=¹_E<åÊÕ¹»6 þOù0Mè¢oEçìK`¹eWO£·E)ytó!ÖNþÊèi~zT=ò=Ñ0Jµóë¢c öI ER¡ >ü¤aäWÙÍ
YáX§;èá[n¶¤={e "yåg&ÖIv¶¾UxŪªz_äjq}*¡>>z¾µìýÝ3 ;Ò.ßvsLS?'¿Z#ªæ»óa]ɼeÁ5¬Ù·¾4º©Î¼Ou£´TCPOf|]æ{ù?Sg^<EM
l/pdåXÙ5³J5 #Õvßä¢ü>EöªãõµÕÚn.öùñ¿gÄ7jlÛÍâUá¯»Ï ¡
?èê¹{ï²ùï¹QMwX¾ùEûZ&s-õJ"s\M>zƽÒF&?Êgå2hÔyFb
Ý%5n³hSóìZ}LG¾s²Ò¡¬LÄÆ&/éÄux¾@
'2^óã;nM>L$n[ÓgîA9ënD
J`õ¡Ä,Kÿ£½çfâÁÂbÇyã×Ñ`³wÞ]í7!KˬéòÓÍ/vÇjïÚ} ÍM=P1É3ù^ãkí©Æ}/®è´IõüºËY7繸tðàODV¤Ö׶/Ôé^°7a$
¾9Z£$zÌ2Ý·"ËîQ¶ÈoZ¬ÆT}Cµª.2Ù`òÃ_$¹Ý¾j7_@Xðêun1Ú²Ð
ÒBÁ¡&'©ûÊsR?Ò}
f?
³.«*¦ê*[×\]#^Z*}PJôÄãíß3k »"û^Jô^{ñ*ÿp4££s`=½`ÓÌÃhÃðòÑ×Rò°O÷79~yyl^ãÐÕT¸]Ïý;à®æçñCªMü±J{Ú·¢S×<ØÓ·Ûmzæ\0+ãËsªR¸6¸#Wôþ{Ù½ÒÇKùò
ÝAµL±-®cp ¾ÚÐÑxµ)зê ýÍ·á-Ùª·ºÉÅ>ÚÝjVÇÎf!æüÛ?°Ã׳Ī@oS= ßx#í
{*í}{¦d|ñùÂ0Ïë× Ðä;r¯öø9k*YwöÔÇT|=v¢«@]Eù÷°îlÀ%éÞ°*Ã}Öæ1
¦OèuYËËíÙï h-wFüâ?Vþ%Ôd²
÷µeC U9ëß&*8×Ö½ËsuãCüõí¹Jk
i6Û×êô§ÝÅYä+½[TçܳõÒ#5ù\`RµíW\R at 04(]é]&ä9ìÒýS¿·ÛÄ:Ñi
£ö&jRÚM§¥<47ß2kj)fÔEmÊ{êSyùØ¡t¯[±
'Î_ì³,NNfZR
*My}:HYð¥>ÑÁ ÝYs·}
U~DÇ¡)u¹Öhö®ë3HÛ»IÕS¶Ö^=ûö¬Êá.11¨
-VÀÎÉû)RKù}mµÀ¦PÆWÂäSy3ù~3øº¥OmÔ(ÑØÖìAsl$l3NWÈòññëjl=FÓmÏQêÖ±è6{>Ù^Òt at _U|.PÑf`üA8òw·È|{^©ìàíãçãÚÇ×el1
ßc'¾/Þ£²WnW\}ãé´xk»ªvJy%VäV©ÄÌ!!(X
ª×< e³s]Ç»=§êDûë§#Ý ºW|²©úsGcÇÞT&Rø3lmK
:£K¨AËÅyâÇãôg\ÏÛe·ÔCYiHI¨¦í·þRxçÝÏÎv
Ï%ðe¥Ïº¼÷²Jj³AaÐu5¾z ɦÖßÒ]eôyd´§Æàõ±ñ¥cï¿ÙÔTN
íª<¨ÿìLõ&,le:Ú¦\NôõÃOp{p]pYÀÏN³¥5?¨ 3Uko;äx ¹pXÑÉ;ÒïSt« t}`2×=}ïd_=¥2*ÝR}ôÎis×6+$Låʧ_âz`:Q¡Ï]Svñ¢Ï!ÚiëïL»Ã© wKÚ¬L/[7¶=MO3mÓºdÝ/¦qj«mº+ïuåúû||J,Ëø«C¾p°ýäB^M{J_ j¨4u·5Ea³,DÉéõ2
áVÎÃ?5Mí)9¹4þbIbÏ´¢é%?yóÓäJJ^çK²k*
±yæØ÷;ï\¾\·nXç.5Ô wÛùh{ýõ¶Ûô½Kaãtý¦Î2:Nz6<®0.ò:÷züDK½½wøѸðsøO¶lw,ÌJ!¢ÊnPRßv)U°ü6,ßV?ÀË|ì1c3sÇlnt¨Üëâ1åÚùd!vñ·Ý>Ã:ñìÔfsÈãß_«¾¨$Áð^óà´Á¼`Þ!ßÛ{úXc9»ü¹±i×Q7Ëo¯
¤Ü/2#5yÓmKGÈùæâuÇÊmcåfúm×ÕÜY½ ¶OC< ë´u¹õþe½ß]ïÿò»Ï|~wæP4J®ç÷OùÊX)uͺ?-MMM=@η¦¡V Yóï_ZºþZ4µõW.´
ÿJþ9¿?¢£Éê!!1 y´H¿_t0B!p)p¸S=`D1ÁÀ>áäD¢)ôX
ûQÂi+ÌÁa´À #@[GWÐÓ´õ8ëdJt =$2&apEC¢? N¡Ð¨@ ÎQÀ S :GW¦P©_@ %:Zðä¨øååÌQÀ5ÀáåúýoS_ñc«/Â/b´×ãïîjPb48kÜ·O0-:Æ'ÿ¿ÑÕ#þÿÄC÷ ÓÂ}¢)2CöY]åzB¡r¼Òõ£kÐ+tuÎ2!//àÍ-ì +;+gÎ
=GD§ÅpÒúG (FBV[ÊÀRi~TÀh A£Ñà lt|4ô+3-òÞ?XiêÚþu}Eð_U(~jÌAm@Ðô~!p%5-@U=FðK}üµü"±úú¯ë
!ÿ_˹á'H¸[
Æ s2"¸~Ôº=¡¾
;=@¬ÁÝc¯<Ñ\¹HǧÃÕàX Fx jßæq¥4 /@QPÿ;áhîìjºÍDÁID »Ap ãÖÉJq¯4¢þQ
,ë-üOï£îFYI?
JÂi+ô#ûùS)óíæv&húÊÁ±£ÆÙA'cUBôw
áèdªåÃ1ùûÆ!ÿí·ÂAøGòwÁÇÂj¹Éßl#ÎK¡`8ÙÔÔ ¬Ò5ecëG0`àÅÊc eLãÚÖòY
JIHDÀC
¨q¶Ê /cn"pø¼ZÅXR"(t?.ܺÔ8Ì ×W£ÌÀpxéá\lÿÐÂYáè¡pXп¸@cWs
¨Ej1 ש_YÔÌ
5;îçE
2%V#STø§N{øÅàe]Ý?WÎ48|5PµÀ*t_ð9eöS´+ç_èÿ¢)0ûÍXÙtÔpéÜ4 AßsDàæc%yÜR£)+b~!TîÎý_à!1bÕçüºÜö¿îpûGØ~aø/Aû{Ìþß û_ûoûïñ"ÿ3^ÿ/Â?áEø¼ÿù;^ÿ^¿Åðÿ
áßãEø/ñ"ü_ðâúÃé>Ñ~ïL SRFpÃrNðï»õ;ØÕr3üç¾t2ƪ ·c.ÎñÓÙ9!:AüpoÕWV¯¤tÕ/ ) Xñ^oe=ðoç¯ØôpyÀÓá8£ÂI×nV¹}|5ÌNl¢©³½£¹©³¹¹£«¹#
§d6vÚÙÿØ/þªàl {»m?<ü×fô}
ü³êïè ~Ú+£wk¬ôøí°¬=ÉÙÊÞÎ[õ?êï0üÜO¨Q¢¸ qebhà¹qe¨@|NaÐ#~¬C\Ååg¯h¿zµº" ï÷QÈÖWqôÅpþÈwC
P©ß+Kù³~5YIÍÏaÉs±£|/* ØÃ-4:ÅFãÕß'SçÍYàªæ¤jeps¾áÈÙÄð9
²:8qUPiÑ2çâAý©t~(Æ 55Ú¿,êÿ%غ_$÷Èq6w´ý3|®K+Ú[þ8~XåæÆü·ø}?ÿ/:gÐó#ÿ1ÇÕÿ?È 5¢éïqû©îOO¿ozn³à÷³À¥qÿ ÏX¸ß¹W}8¿cÑ?D¹¿µH ûc~h©;Î~¿ÝøYÈ'ê»ÂÀùç`¡¨Åå𦠬SZßÝRæv¢?pAX9r49ë«®ÁáÆÆ«(¯hà'?OÁîû ùýømßÃ^1NùÙÌjnþêÔsÐ`
Ëñ}%¡j
ýàï,@þn#)¯ö³é¿1¡ùã0ü9fõÄûóGçükYÿ)ù#pÎõ¥
º_ eB¥P"ï\«ùø£#þ(3ý?êÊÇ*,\ÿ ÿ¹,ÿÕ'@Íï£û.ªý³å£
ãíDáÜak«9åÆô#Á«Oú¤ iÕÛdâ'£h¿ Ä
?Îê_7ù>oò×ýÇçM~þÈÊʶNàø¼iÓ/Ï"ýÂA y©º&ÂÌ=èßNÀ9thJ$
ιg¦0|¿× 2ÈÕH¿èè8¬Æe at pnîià'Mß¹Â}"hTZPHIJ?Ùþ²WÿKXuÁØÉQ¾zúÑ+J8÷Î+]"0Î9¿·N;áìÜçê_µý[æ¨!dn`ÿâ÷0ûáÓ¸Ò¨zÿø?:÷C¢ì¤0b8$NWäúͦйí-²3æ?õxÅ$%"Ö'Òîý³må
çfûg~Yy(Â[)gâXZØ/ñþÔþ¨Ûÿäõòýõåÿã³£)§?8¢Ñhî¶ú"ø·Xj
openssh-5.4p1-fips.patch:
Makefile.in | 14 +++++++-------
auth2-pubkey.c | 3 ++-
authfile.c | 20 ++++++++++++++++----
cipher-ctr.c | 3 ++-
cipher.c | 29 ++++++++++++++++++++++++-----
cipher.h | 2 +-
mac.c | 12 ++++++++++--
myproposal.h | 7 ++++++-
openbsd-compat/bsd-arc4random.c | 27 +++++++++++++++++++++++++++
ssh-add.c | 3 ++-
ssh-agent.c | 7 ++++---
ssh-keygen.c | 12 +++++++-----
ssh.c | 20 +++++++++++++++++++-
sshconnect.c | 27 ++++++++++++++++-----------
sshconnect2.c | 14 ++++++++++++--
sshd.c | 24 ++++++++++++++++++++++--
16 files changed, 177 insertions(+), 47 deletions(-)
--- NEW FILE openssh-5.4p1-fips.patch ---
diff -up openssh-5.4p1/auth2-pubkey.c.fips openssh-5.4p1/auth2-pubkey.c
--- openssh-5.4p1/auth2-pubkey.c.fips 2010-03-01 17:55:26.000000000 +0100
+++ openssh-5.4p1/auth2-pubkey.c 2010-03-01 17:57:56.000000000 +0100
@@ -35,6 +35,7 @@
#include <string.h>
#include <time.h>
#include <unistd.h>
+#include <openssl/fips.h>
#include "xmalloc.h"
#include "ssh.h"
@@ -269,7 +270,7 @@ user_key_allowed2(struct passwd *pw, Key
found_key = 1;
debug("matching key found: file %s, line %lu",
file, linenum);
- fp = key_fingerprint(found, SSH_FP_MD5, SSH_FP_HEX);
+ fp = key_fingerprint(found, FIPS_mode() ? SSH_FP_SHA1 : SSH_FP_MD5, SSH_FP_HEX);
verbose("Found matching %s key: %s",
key_type(found), fp);
xfree(fp);
diff -up openssh-5.4p1/authfile.c.fips openssh-5.4p1/authfile.c
--- openssh-5.4p1/authfile.c.fips 2010-01-12 09:42:29.000000000 +0100
+++ openssh-5.4p1/authfile.c 2010-03-01 17:55:28.000000000 +0100
@@ -146,8 +146,14 @@ key_save_private_rsa1(Key *key, const ch
/* Allocate space for the private part of the key in the buffer. */
cp = buffer_append_space(&encrypted, buffer_len(&buffer));
- cipher_set_key_string(&ciphercontext, cipher, passphrase,
- CIPHER_ENCRYPT);
+ if (cipher_set_key_string(&ciphercontext, cipher, passphrase,
+ CIPHER_ENCRYPT) < 0) {
+ error("cipher_set_key_string failed.");
+ buffer_free(&encrypted);
+ buffer_free(&buffer);
+ return 0;
+ }
+
cipher_crypt(&ciphercontext, cp,
buffer_ptr(&buffer), buffer_len(&buffer));
cipher_cleanup(&ciphercontext);
@@ -421,8 +427,14 @@ key_load_private_rsa1(int fd, const char
cp = buffer_append_space(&decrypted, buffer_len(&buffer));
/* Rest of the buffer is encrypted. Decrypt it using the passphrase. */
- cipher_set_key_string(&ciphercontext, cipher, passphrase,
- CIPHER_DECRYPT);
+ if (cipher_set_key_string(&ciphercontext, cipher, passphrase,
+ CIPHER_DECRYPT) < 0) {
+ error("cipher_set_key_string failed.");
+ buffer_free(&decrypted);
+ buffer_free(&buffer);
+ goto fail;
+ }
+
cipher_crypt(&ciphercontext, cp,
buffer_ptr(&buffer), buffer_len(&buffer));
cipher_cleanup(&ciphercontext);
diff -up openssh-5.4p1/cipher.c.fips openssh-5.4p1/cipher.c
--- openssh-5.4p1/cipher.c.fips 2010-03-01 15:09:22.000000000 +0100
+++ openssh-5.4p1/cipher.c 2010-03-01 17:55:28.000000000 +0100
@@ -40,6 +40,7 @@
#include <sys/types.h>
#include <openssl/md5.h>
+#include <openssl/fips.h>
#include <string.h>
#include <stdarg.h>
@@ -93,6 +94,22 @@ struct Cipher {
{ NULL, SSH_CIPHER_INVALID, 0, 0, 0, 0, NULL }
};
+struct Cipher fips_ciphers[] = {
+ { "none", SSH_CIPHER_NONE, 8, 0, 0, 0, EVP_enc_null },
+ { "3des", SSH_CIPHER_3DES, 8, 16, 0, 1, evp_ssh1_3des },
+
+ { "3des-cbc", SSH_CIPHER_SSH2, 8, 24, 0, 1, EVP_des_ede3_cbc },
+ { "aes128-cbc", SSH_CIPHER_SSH2, 16, 16, 0, 1, EVP_aes_128_cbc },
+ { "aes192-cbc", SSH_CIPHER_SSH2, 16, 24, 0, 1, EVP_aes_192_cbc },
+ { "aes256-cbc", SSH_CIPHER_SSH2, 16, 32, 0, 1, EVP_aes_256_cbc },
+ { "rijndael-cbc at lysator.liu.se",
+ SSH_CIPHER_SSH2, 16, 32, 0, 1, EVP_aes_256_cbc },
+ { "aes128-ctr", SSH_CIPHER_SSH2, 16, 16, 0, 0, evp_aes_128_ctr },
+ { "aes192-ctr", SSH_CIPHER_SSH2, 16, 24, 0, 0, evp_aes_128_ctr },
+ { "aes256-ctr", SSH_CIPHER_SSH2, 16, 32, 0, 0, evp_aes_128_ctr },
+ { NULL, SSH_CIPHER_INVALID, 0, 0, 0, 0, NULL }
+};
+
/*--*/
u_int
@@ -135,7 +152,7 @@ Cipher *
cipher_by_name(const char *name)
{
Cipher *c;
- for (c = ciphers; c->name != NULL; c++)
+ for (c = FIPS_mode() ? fips_ciphers : ciphers; c->name != NULL; c++)
if (strcmp(c->name, name) == 0)
return c;
return NULL;
@@ -145,7 +162,7 @@ Cipher *
cipher_by_number(int id)
{
Cipher *c;
- for (c = ciphers; c->name != NULL; c++)
+ for (c = FIPS_mode() ? fips_ciphers : ciphers; c->name != NULL; c++)
if (c->number == id)
return c;
return NULL;
@@ -189,7 +206,7 @@ cipher_number(const char *name)
Cipher *c;
if (name == NULL)
return -1;
- for (c = ciphers; c->name != NULL; c++)
+ for (c = FIPS_mode() ? fips_ciphers : ciphers; c->name != NULL; c++)
if (strcasecmp(c->name, name) == 0)
return c->number;
return -1;
@@ -296,14 +313,15 @@ cipher_cleanup(CipherContext *cc)
* passphrase and using the resulting 16 bytes as the key.
*/
-void
+int
cipher_set_key_string(CipherContext *cc, Cipher *cipher,
const char *passphrase, int do_encrypt)
{
MD5_CTX md;
u_char digest[16];
- MD5_Init(&md);
+ if (MD5_Init(&md) <= 0)
+ return -1;
MD5_Update(&md, (const u_char *)passphrase, strlen(passphrase));
MD5_Final(digest, &md);
@@ -311,6 +329,7 @@ cipher_set_key_string(CipherContext *cc,
memset(digest, 0, sizeof(digest));
memset(&md, 0, sizeof(md));
+ return 0;
}
/*
diff -up openssh-5.4p1/cipher-ctr.c.fips openssh-5.4p1/cipher-ctr.c
--- openssh-5.4p1/cipher-ctr.c.fips 2007-06-14 15:21:33.000000000 +0200
+++ openssh-5.4p1/cipher-ctr.c 2010-03-01 17:55:28.000000000 +0100
@@ -140,7 +140,8 @@ evp_aes_128_ctr(void)
aes_ctr.do_cipher = ssh_aes_ctr;
#ifndef SSH_OLD_EVP
aes_ctr.flags = EVP_CIPH_CBC_MODE | EVP_CIPH_VARIABLE_LENGTH |
- EVP_CIPH_ALWAYS_CALL_INIT | EVP_CIPH_CUSTOM_IV;
+ EVP_CIPH_ALWAYS_CALL_INIT | EVP_CIPH_CUSTOM_IV |
+ EVP_CIPH_FLAG_FIPS;
#endif
return (&aes_ctr);
}
diff -up openssh-5.4p1/cipher.h.fips openssh-5.4p1/cipher.h
--- openssh-5.4p1/cipher.h.fips 2009-01-28 06:38:41.000000000 +0100
+++ openssh-5.4p1/cipher.h 2010-03-01 17:55:28.000000000 +0100
@@ -78,7 +78,7 @@ void cipher_init(CipherContext *, Ciphe
const u_char *, u_int, int);
void cipher_crypt(CipherContext *, u_char *, const u_char *, u_int);
void cipher_cleanup(CipherContext *);
-void cipher_set_key_string(CipherContext *, Cipher *, const char *, int);
+int cipher_set_key_string(CipherContext *, Cipher *, const char *, int);
u_int cipher_blocksize(const Cipher *);
u_int cipher_keylen(const Cipher *);
u_int cipher_is_cbc(const Cipher *);
diff -up openssh-5.4p1/mac.c.fips openssh-5.4p1/mac.c
--- openssh-5.4p1/mac.c.fips 2008-06-13 02:58:50.000000000 +0200
+++ openssh-5.4p1/mac.c 2010-03-01 17:55:28.000000000 +0100
@@ -28,6 +28,7 @@
#include <sys/types.h>
#include <openssl/hmac.h>
+#include <openssl/fips.h>
#include <stdarg.h>
#include <string.h>
@@ -47,14 +48,14 @@
#define SSH_EVP 1 /* OpenSSL EVP-based MAC */
#define SSH_UMAC 2 /* UMAC (not integrated with OpenSSL) */
-struct {
+struct Macs {
char *name;
int type;
const EVP_MD * (*mdfunc)(void);
int truncatebits; /* truncate digest if != 0 */
int key_len; /* just for UMAC */
int len; /* just for UMAC */
-} macs[] = {
+} all_macs[] = {
{ "hmac-sha1", SSH_EVP, EVP_sha1, 0, -1, -1 },
{ "hmac-sha1-96", SSH_EVP, EVP_sha1, 96, -1, -1 },
{ "hmac-md5", SSH_EVP, EVP_md5, 0, -1, -1 },
@@ -65,9 +66,15 @@ struct {
{ NULL, 0, NULL, 0, -1, -1 }
};
+struct Macs fips_macs[] = {
+ { "hmac-sha1", SSH_EVP, EVP_sha1, 0, -1, -1 },
+ { NULL, 0, NULL, 0, -1, -1 }
+};
+
static void
mac_setup_by_id(Mac *mac, int which)
{
+ struct Macs *macs = FIPS_mode() ? fips_macs : all_macs;
int evp_len;
mac->type = macs[which].type;
if (mac->type == SSH_EVP) {
@@ -88,6 +95,7 @@ int
mac_setup(Mac *mac, char *name)
{
int i;
+ struct Macs *macs = FIPS_mode() ? fips_macs : all_macs;
for (i = 0; macs[i].name; i++) {
if (strcmp(name, macs[i].name) == 0) {
diff -up openssh-5.4p1/Makefile.in.fips openssh-5.4p1/Makefile.in
--- openssh-5.4p1/Makefile.in.fips 2010-02-24 08:18:51.000000000 +0100
+++ openssh-5.4p1/Makefile.in 2010-03-01 17:55:28.000000000 +0100
@@ -139,31 +139,31 @@ libssh.a: $(LIBSSH_OBJS)
$(RANLIB) $@
ssh$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHOBJS)
- $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
+ $(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lfipscheck $(LIBS)
sshd$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHDOBJS)
- $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS)
+ $(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lfipscheck $(SSHDLIBS) $(LIBS)
scp$(EXEEXT): $(LIBCOMPAT) libssh.a scp.o progressmeter.o
$(LD) -o $@ scp.o progressmeter.o bufaux.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
ssh-add$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-add.o
- $(LD) -o $@ ssh-add.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
+ $(LD) -o $@ ssh-add.o $(LDFLAGS) -lssh -lopenbsd-compat -lfipscheck $(LIBS)
ssh-agent$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-agent.o ssh-pkcs11-client.o
- $(LD) -o $@ ssh-agent.o ssh-pkcs11-client.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
+ $(LD) -o $@ ssh-agent.o $(LDFLAGS) -lssh -lopenbsd-compat -lfipscheck $(LIBS)
ssh-keygen$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-keygen.o
- $(LD) -o $@ ssh-keygen.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
+ $(LD) -o $@ ssh-keygen.o $(LDFLAGS) -lssh -lopenbsd-compat -lfipscheck $(LIBS)
ssh-keysign$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-keysign.o roaming_dummy.o readconf.o
- $(LD) -o $@ ssh-keysign.o readconf.o roaming_dummy.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
+ $(LD) -o $@ ssh-keysign.o readconf.o roaming_dummy.o $(LDFLAGS) -lssh -lopenbsd-compat -lfipscheck $(LIBS)
ssh-pkcs11-helper$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-pkcs11-helper.o ssh-pkcs11.o
$(LD) -o $@ ssh-pkcs11-helper.o ssh-pkcs11.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
ssh-keyscan$(EXEEXT): $(LIBCOMPAT) libssh.a ssh-keyscan.o roaming_dummy.o
- $(LD) -o $@ ssh-keyscan.o roaming_dummy.o $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS)
+ $(LD) -o $@ ssh-keyscan.o roaming_dummy.o $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lfipscheck $(LIBS)
sftp-server$(EXEEXT): $(LIBCOMPAT) libssh.a sftp.o sftp-common.o sftp-server.o sftp-server-main.o
$(LD) -o $@ sftp-server.o sftp-common.o sftp-server-main.o $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
diff -up openssh-5.4p1/myproposal.h.fips openssh-5.4p1/myproposal.h
--- openssh-5.4p1/myproposal.h.fips 2010-02-26 21:55:05.000000000 +0100
+++ openssh-5.4p1/myproposal.h 2010-03-01 17:55:28.000000000 +0100
@@ -55,7 +55,12 @@
"hmac-sha1-96,hmac-md5-96"
#define KEX_DEFAULT_COMP "none,zlib at openssh.com,zlib"
#define KEX_DEFAULT_LANG ""
-
+#define KEX_FIPS_ENCRYPT \
+ "aes128-ctr,aes192-ctr,aes256-ctr," \
+ "aes128-cbc,3des-cbc," \
+ "aes192-cbc,aes256-cbc,rijndael-cbc at lysator.liu.se"
+#define KEX_FIPS_MAC \
+ "hmac-sha1"
static char *myproposal[PROPOSAL_MAX] = {
KEX_DEFAULT_KEX,
diff -up openssh-5.4p1/openbsd-compat/bsd-arc4random.c.fips openssh-5.4p1/openbsd-compat/bsd-arc4random.c
--- openssh-5.4p1/openbsd-compat/bsd-arc4random.c.fips 2008-06-04 02:54:00.000000000 +0200
+++ openssh-5.4p1/openbsd-compat/bsd-arc4random.c 2010-03-01 17:55:28.000000000 +0100
@@ -39,6 +39,7 @@
static int rc4_ready = 0;
static RC4_KEY rc4;
+#if 0
unsigned int
arc4random(void)
{
@@ -82,6 +83,32 @@ arc4random_stir(void)
rc4_ready = REKEY_BYTES;
}
+#else
+unsigned int
+arc4random(void)
+{
+ unsigned int r = 0;
+ void *rp = &r;
+
+ if (!rc4_ready) {
+ arc4random_stir();
+ }
+ RAND_bytes(rp, sizeof(r));
+
+ return(r);
+}
+
+void
+arc4random_stir(void)
+{
+ unsigned char rand_buf[SEED_SIZE];
+
+ if (RAND_bytes(rand_buf, sizeof(rand_buf)) <= 0)
+ fatal("Couldn't obtain random bytes (error %ld)",
+ ERR_get_error());
+ rc4_ready = 1;
+}
+#endif
#endif /* !HAVE_ARC4RANDOM */
#ifndef ARC4RANDOM_BUF
diff -up openssh-5.4p1/ssh-add.c.fips openssh-5.4p1/ssh-add.c
--- openssh-5.4p1/ssh-add.c.fips 2010-02-26 21:55:06.000000000 +0100
+++ openssh-5.4p1/ssh-add.c 2010-03-01 17:55:28.000000000 +0100
@@ -42,6 +42,7 @@
#include <sys/param.h>
#include <openssl/evp.h>
+#include <openssl/fips.h>
#include "openbsd-compat/openssl-compat.h"
#include <fcntl.h>
@@ -270,7 +271,7 @@ list_identities(AuthenticationConnection
key = ssh_get_next_identity(ac, &comment, version)) {
had_identities = 1;
if (do_fp) {
- fp = key_fingerprint(key, SSH_FP_MD5,
+ fp = key_fingerprint(key, FIPS_mode() ? SSH_FP_SHA1 : SSH_FP_MD5,
SSH_FP_HEX);
printf("%d %s %s (%s)\n",
key_size(key), fp, comment, key_type(key));
diff -up openssh-5.4p1/ssh-agent.c.fips openssh-5.4p1/ssh-agent.c
--- openssh-5.4p1/ssh-agent.c.fips 2010-02-26 21:55:06.000000000 +0100
+++ openssh-5.4p1/ssh-agent.c 2010-03-01 17:55:28.000000000 +0100
@@ -51,6 +51,7 @@
#include <openssl/evp.h>
#include <openssl/md5.h>
+#include <openssl/fips.h>
#include "openbsd-compat/openssl-compat.h"
#include <errno.h>
@@ -199,9 +200,9 @@ confirm_key(Identity *id)
char *p;
int ret = -1;
- p = key_fingerprint(id->key, SSH_FP_MD5, SSH_FP_HEX);
- if (ask_permission("Allow use of key %s?\nKey fingerprint %s.",
- id->comment, p))
+ p = key_fingerprint(id->key, FIPS_mode() ? SSH_FP_SHA1 : SSH_FP_MD5, SSH_FP_HEX);
+ if (ask_permission("Allow use of key %s?\nKey %sfingerprint %s.",
+ id->comment, FIPS_mode() ? "SHA1 " : "", p))
ret = 0;
xfree(p);
diff -up openssh-5.4p1/ssh.c.fips openssh-5.4p1/ssh.c
--- openssh-5.4p1/ssh.c.fips 2010-02-26 21:55:06.000000000 +0100
+++ openssh-5.4p1/ssh.c 2010-03-01 17:55:28.000000000 +0100
@@ -72,6 +72,8 @@
#include <openssl/evp.h>
#include <openssl/err.h>
+#include <openssl/fips.h>
+#include <fipscheck.h>
#include "openbsd-compat/openssl-compat.h"
#include "openbsd-compat/sys-queue.h"
@@ -225,6 +227,10 @@ main(int ac, char **av)
sanitise_stdfd();
__progname = ssh_get_progname(av[0]);
+ SSLeay_add_all_algorithms();
+ if (FIPS_mode() && !FIPSCHECK_verify(NULL, NULL)) {
+ fatal("FIPS integrity verification test failed.");
+ }
init_rng();
/*
@@ -285,6 +291,9 @@ main(int ac, char **av)
"ACD:F:I:KL:MNO:PR:S:TVw:W:XYy")) != -1) {
switch (opt) {
case '1':
+ if (FIPS_mode()) {
+ fatal("Protocol 1 not allowed in the FIPS mode.");
+ }
options.protocol = SSH_PROTO_1;
break;
case '2':
@@ -581,7 +590,6 @@ main(int ac, char **av)
if (!host)
usage();
- SSLeay_add_all_algorithms();
ERR_load_crypto_strings();
/* Initialize the command to execute on remote host. */
@@ -667,6 +675,10 @@ main(int ac, char **av)
seed_rng();
+ if (FIPS_mode()) {
+ logit("FIPS mode initialized");
+ }
+
if (options.user == NULL)
options.user = xstrdup(pw->pw_name);
@@ -733,6 +745,12 @@ main(int ac, char **av)
timeout_ms = options.connection_timeout * 1000;
+ if (FIPS_mode()) {
+ options.protocol &= SSH_PROTO_2;
+ if (options.protocol == 0)
+ fatal("Protocol 2 disabled by configuration but required in the FIPS mode.");
+ }
+
/* Open a connection to the remote host. */
if (ssh_connect(host, &hostaddr, options.port,
options.address_family, options.connection_attempts, &timeout_ms,
diff -up openssh-5.4p1/sshconnect2.c.fips openssh-5.4p1/sshconnect2.c
--- openssh-5.4p1/sshconnect2.c.fips 2010-03-01 17:55:28.000000000 +0100
+++ openssh-5.4p1/sshconnect2.c 2010-03-01 17:55:29.000000000 +0100
@@ -44,6 +44,8 @@
#include <vis.h>
#endif
+#include <openssl/fips.h>
+
#include "openbsd-compat/sys-queue.h"
#include "xmalloc.h"
@@ -116,6 +118,10 @@ ssh_kex2(char *host, struct sockaddr *ho
if (options.ciphers != NULL) {
myproposal[PROPOSAL_ENC_ALGS_CTOS] =
myproposal[PROPOSAL_ENC_ALGS_STOC] = options.ciphers;
+ } else if (FIPS_mode()) {
+ myproposal[PROPOSAL_ENC_ALGS_CTOS] =
+ myproposal[PROPOSAL_ENC_ALGS_STOC] = KEX_FIPS_ENCRYPT;
+
}
myproposal[PROPOSAL_ENC_ALGS_CTOS] =
compat_cipher_proposal(myproposal[PROPOSAL_ENC_ALGS_CTOS]);
@@ -131,7 +137,11 @@ ssh_kex2(char *host, struct sockaddr *ho
if (options.macs != NULL) {
myproposal[PROPOSAL_MAC_ALGS_CTOS] =
myproposal[PROPOSAL_MAC_ALGS_STOC] = options.macs;
+ } else if (FIPS_mode()) {
+ myproposal[PROPOSAL_MAC_ALGS_CTOS] =
+ myproposal[PROPOSAL_MAC_ALGS_STOC] = KEX_FIPS_MAC;
}
+
if (options.hostkeyalgorithms != NULL)
myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] =
options.hostkeyalgorithms;
@@ -529,8 +539,8 @@ input_userauth_pk_ok(int type, u_int32_t
key->type, pktype);
goto done;
}
- fp = key_fingerprint(key, SSH_FP_MD5, SSH_FP_HEX);
- debug2("input_userauth_pk_ok: fp %s", fp);
+ fp = key_fingerprint(key, SSH_FP_SHA1, SSH_FP_HEX);
+ debug2("input_userauth_pk_ok: SHA1 fp %s", fp);
xfree(fp);
/*
diff -up openssh-5.4p1/sshconnect.c.fips openssh-5.4p1/sshconnect.c
--- openssh-5.4p1/sshconnect.c.fips 2010-02-26 21:55:06.000000000 +0100
+++ openssh-5.4p1/sshconnect.c 2010-03-01 17:55:29.000000000 +0100
@@ -40,6 +40,8 @@
#include <string.h>
#include <unistd.h>
+#include <openssl/fips.h>
+
#include "xmalloc.h"
#include "key.h"
#include "hostfile.h"
@@ -789,6 +791,7 @@ check_host_key(char *hostname, struct so
goto fail;
} else if (options.strict_host_key_checking == 2) {
char msg1[1024], msg2[1024];
+ int fips_on = FIPS_mode();
if (show_other_keys(host, host_key))
snprintf(msg1, sizeof(msg1),
@@ -797,8 +800,8 @@ check_host_key(char *hostname, struct so
else
snprintf(msg1, sizeof(msg1), ".");
/* The default */
- fp = key_fingerprint(host_key, SSH_FP_MD5, SSH_FP_HEX);
- ra = key_fingerprint(host_key, SSH_FP_MD5,
+ fp = key_fingerprint(host_key, fips_on ? SSH_FP_SHA1 : SSH_FP_MD5, SSH_FP_HEX);
+ ra = key_fingerprint(host_key, fips_on ? SSH_FP_SHA1 : SSH_FP_MD5,
SSH_FP_RANDOMART);
msg2[0] = '\0';
if (options.verify_host_key_dns) {
@@ -814,10 +817,10 @@ check_host_key(char *hostname, struct so
snprintf(msg, sizeof(msg),
"The authenticity of host '%.200s (%s)' can't be "
"established%s\n"
- "%s key fingerprint is %s.%s%s\n%s"
+ "%s key %sfingerprint is %s.%s%s\n%s"
"Are you sure you want to continue connecting "
"(yes/no)? ",
- host, ip, msg1, type, fp,
+ host, ip, msg1, type, fips_on ? "SHA1 " : "", fp,
options.visual_host_key ? "\n" : "",
options.visual_host_key ? ra : "",
msg2);
@@ -1131,17 +1134,18 @@ show_key_from_file(const char *file, con
Key *found;
char *fp, *ra;
int line, ret;
+ int fips_on = FIPS_mode();
found = key_new(keytype);
if ((ret = lookup_key_in_hostfile_by_type(file, host,
keytype, found, &line))) {
- fp = key_fingerprint(found, SSH_FP_MD5, SSH_FP_HEX);
- ra = key_fingerprint(found, SSH_FP_MD5, SSH_FP_RANDOMART);
+ fp = key_fingerprint(found, fips_on ? SSH_FP_SHA1 : SSH_FP_MD5, SSH_FP_HEX);
+ ra = key_fingerprint(found, fips_on ? SSH_FP_SHA1 : SSH_FP_MD5, SSH_FP_RANDOMART);
logit("WARNING: %s key found for host %s\n"
"in %s:%d\n"
- "%s key fingerprint %s.\n%s\n",
+ "%s key %sfingerprint %s.\n%s\n",
key_type(found), host, file, line,
- key_type(found), fp, ra);
+ key_type(found), fips_on ? "SHA1 ":"", fp, ra);
xfree(ra);
xfree(fp);
}
@@ -1187,8 +1191,9 @@ warn_changed_key(Key *host_key)
{
char *fp;
const char *type = key_type(host_key);
+ int fips_on = FIPS_mode();
- fp = key_fingerprint(host_key, SSH_FP_MD5, SSH_FP_HEX);
+ fp = key_fingerprint(host_key, fips_on ? SSH_FP_SHA1 : SSH_FP_MD5, SSH_FP_HEX);
error("@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@");
error("@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @");
@@ -1196,8 +1201,8 @@ warn_changed_key(Key *host_key)
error("IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!");
error("Someone could be eavesdropping on you right now (man-in-the-middle attack)!");
error("It is also possible that the %s host key has just been changed.", type);
- error("The fingerprint for the %s key sent by the remote host is\n%s.",
- type, fp);
+ error("The %sfingerprint for the %s key sent by the remote host is\n%s.",
+ fips_on ? "SHA1 ":"", type, fp);
error("Please contact your system administrator.");
xfree(fp);
diff -up openssh-5.4p1/sshd.c.fips openssh-5.4p1/sshd.c
--- openssh-5.4p1/sshd.c.fips 2010-03-01 17:55:27.000000000 +0100
+++ openssh-5.4p1/sshd.c 2010-03-01 17:55:29.000000000 +0100
@@ -76,6 +76,8 @@
#include <openssl/bn.h>
#include <openssl/md5.h>
#include <openssl/rand.h>
+#include <openssl/fips.h>
+#include <fipscheck.h>
#include "openbsd-compat/openssl-compat.h"
#ifdef HAVE_SECUREWARE
@@ -1298,6 +1300,12 @@ main(int ac, char **av)
(void)set_auth_parameters(ac, av);
#endif
__progname = ssh_get_progname(av[0]);
+
+ SSLeay_add_all_algorithms();
+ if (FIPS_mode() && !FIPSCHECK_verify(NULL, NULL)) {
+ fatal("FIPS integrity verification test failed.");
+ }
+
init_rng();
/* Save argv. Duplicate so setproctitle emulation doesn't clobber it */
@@ -1459,8 +1467,6 @@ main(int ac, char **av)
else
closefrom(REEXEC_DEVCRYPTO_RESERVED_FD);
- SSLeay_add_all_algorithms();
-
/*
* Force logging to stderr until we have loaded the private host
* key (unless started from inetd)
@@ -1578,6 +1584,10 @@ main(int ac, char **av)
debug("private host key: #%d type %d %s", i, key->type,
key_type(key));
}
+ if ((options.protocol & SSH_PROTO_1) && FIPS_mode()) {
+ logit("Disabling protocol version 1. Not allowed in the FIPS mode.");
+ options.protocol &= ~SSH_PROTO_1;
+ }
if ((options.protocol & SSH_PROTO_1) && !sensitive_data.have_ssh1_key) {
logit("Disabling protocol version 1. Could not load host key");
options.protocol &= ~SSH_PROTO_1;
@@ -1742,6 +1752,10 @@ main(int ac, char **av)
/* Initialize the random number generator. */
arc4random_stir();
+ if (FIPS_mode()) {
+ logit("FIPS mode initialized");
+ }
+
/* Chdir to the root directory so that the current disk can be
unmounted if desired. */
chdir("/");
@@ -2274,6 +2288,9 @@ do_ssh2_kex(void)
if (options.ciphers != NULL) {
myproposal[PROPOSAL_ENC_ALGS_CTOS] =
myproposal[PROPOSAL_ENC_ALGS_STOC] = options.ciphers;
+ } else if (FIPS_mode()) {
+ myproposal[PROPOSAL_ENC_ALGS_CTOS] =
+ myproposal[PROPOSAL_ENC_ALGS_STOC] = KEX_FIPS_ENCRYPT;
}
myproposal[PROPOSAL_ENC_ALGS_CTOS] =
compat_cipher_proposal(myproposal[PROPOSAL_ENC_ALGS_CTOS]);
@@ -2283,6 +2300,9 @@ do_ssh2_kex(void)
if (options.macs != NULL) {
myproposal[PROPOSAL_MAC_ALGS_CTOS] =
myproposal[PROPOSAL_MAC_ALGS_STOC] = options.macs;
+ } else if (FIPS_mode()) {
+ myproposal[PROPOSAL_MAC_ALGS_CTOS] =
+ myproposal[PROPOSAL_MAC_ALGS_STOC] = KEX_FIPS_MAC;
}
if (options.compression == COMP_NONE) {
myproposal[PROPOSAL_COMP_ALGS_CTOS] =
diff -up openssh-5.4p1/ssh-keygen.c.fips openssh-5.4p1/ssh-keygen.c
--- openssh-5.4p1/ssh-keygen.c.fips 2010-02-26 21:55:06.000000000 +0100
+++ openssh-5.4p1/ssh-keygen.c 2010-03-01 17:55:29.000000000 +0100
@@ -21,6 +21,7 @@
#include <openssl/evp.h>
#include <openssl/pem.h>
+#include <openssl/fips.h>
#include "openbsd-compat/openssl-compat.h"
#include <errno.h>
@@ -524,7 +525,7 @@ do_fingerprint(struct passwd *pw)
enum fp_type fptype;
struct stat st;
- fptype = print_bubblebabble ? SSH_FP_SHA1 : SSH_FP_MD5;
+ fptype = print_bubblebabble ? SSH_FP_SHA1 : FIPS_mode() ? SSH_FP_SHA1 : SSH_FP_MD5;
rep = print_bubblebabble ? SSH_FP_BUBBLEBABBLE : SSH_FP_HEX;
if (!have_identity)
@@ -1808,14 +1809,15 @@ passphrase_again:
fclose(f);
if (!quiet) {
- char *fp = key_fingerprint(public, SSH_FP_MD5, SSH_FP_HEX);
- char *ra = key_fingerprint(public, SSH_FP_MD5,
+ int fips_on = FIPS_mode();
+ char *fp = key_fingerprint(public, fips_on ? SSH_FP_SHA1 : SSH_FP_MD5, SSH_FP_HEX);
+ char *ra = key_fingerprint(public, fips_on ? SSH_FP_SHA1 : SSH_FP_MD5,
SSH_FP_RANDOMART);
printf("Your public key has been saved in %s.\n",
identity_file);
- printf("The key fingerprint is:\n");
+ printf("The key %sfingerprint is:\n", fips_on ? "SHA1 " : "");
printf("%s %s\n", fp, comment);
- printf("The key's randomart image is:\n");
+ printf("The key's %srandomart image is:\n", fips_on ? "SHA1 " :"");
printf("%s\n", ra);
xfree(ra);
xfree(fp);
openssh-5.4p1-gsskex.patch:
ChangeLog.gssapi | 95 +++++++++++++++
Makefile.in | 6
auth-krb5.c | 17 ++
auth.h | 1
auth2-gss.c | 50 +++++++-
auth2.c | 6
clientloop.c | 11 +
configure.ac | 24 +++
gss-genr.c | 274 ++++++++++++++++++++++++++++++++++++++++++++-
gss-serv-krb5.c | 84 ++++++++++++-
gss-serv.c | 220 +++++++++++++++++++++++++++++++-----
kex.c | 18 ++
kex.h | 14 ++
kexgssc.c | 334 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
kexgsss.c | 288 +++++++++++++++++++++++++++++++++++++++++++++++
key.c | 2
key.h | 1
monitor.c | 108 +++++++++++++++++
monitor.h | 2
monitor_wrap.c | 47 +++++++
monitor_wrap.h | 4
readconf.c | 35 +++++
readconf.h | 4
servconf.c | 31 ++++-
servconf.h | 3
ssh-gss.h | 39 +++++-
ssh_config | 2
ssh_config.5 | 29 ++++
sshconnect2.c | 119 ++++++++++++++++++-
sshd.c | 110 ++++++++++++++++++
sshd_config | 2
sshd_config.5 | 28 ++++
32 files changed, 1949 insertions(+), 59 deletions(-)
--- NEW FILE openssh-5.4p1-gsskex.patch ---
diff -up openssh-5.4p1/auth2.c.gsskex openssh-5.4p1/auth2.c
--- openssh-5.4p1/auth2.c.gsskex 2010-03-01 18:14:24.000000000 +0100
+++ openssh-5.4p1/auth2.c 2010-03-01 18:14:28.000000000 +0100
@@ -69,6 +69,7 @@ extern Authmethod method_passwd;
extern Authmethod method_kbdint;
extern Authmethod method_hostbased;
#ifdef GSSAPI
+extern Authmethod method_gsskeyex;
extern Authmethod method_gssapi;
#endif
#ifdef JPAKE
@@ -79,6 +80,7 @@ Authmethod *authmethods[] = {
&method_none,
&method_pubkey,
#ifdef GSSAPI
+ &method_gsskeyex,
&method_gssapi,
#endif
#ifdef JPAKE
@@ -289,6 +291,7 @@ input_userauth_request(int type, u_int32
#endif
authctxt->postponed = 0;
+ authctxt->server_caused_failure = 0;
/* try to authenticate user */
m = authmethod_lookup(method);
@@ -361,7 +364,8 @@ userauth_finish(Authctxt *authctxt, int
} else {
/* Allow initial try of "none" auth without failure penalty */
- if (authctxt->attempt > 1 || strcmp(method, "none") != 0)
+ if (!authctxt->server_caused_failure &&
+ (authctxt->attempt > 1 || strcmp(method, "none") != 0))
authctxt->failures++;
if (authctxt->failures >= options.max_authtries) {
#ifdef SSH_AUDIT_EVENTS
diff -up openssh-5.4p1/auth2-gss.c.gsskex openssh-5.4p1/auth2-gss.c
--- openssh-5.4p1/auth2-gss.c.gsskex 2010-03-01 18:14:24.000000000 +0100
+++ openssh-5.4p1/auth2-gss.c 2010-03-01 18:14:28.000000000 +0100
@@ -1,7 +1,7 @@
/* $OpenBSD: auth2-gss.c,v 1.16 2007/10/29 00:52:45 dtucker Exp $ */
/*
- * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
+ * Copyright (c) 2001-2007 Simon Wilkinson. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -52,6 +52,40 @@ static void input_gssapi_mic(int type, u
static void input_gssapi_exchange_complete(int type, u_int32_t plen, void *ctxt);
static void input_gssapi_errtok(int, u_int32_t, void *);
+/*
+ * The 'gssapi_keyex' userauth mechanism.
+ */
+static int
+userauth_gsskeyex(Authctxt *authctxt)
+{
+ int authenticated = 0;
+ Buffer b;
+ gss_buffer_desc mic, gssbuf;
+ u_int len;
+
+ mic.value = packet_get_string(&len);
+ mic.length = len;
+
+ packet_check_eom();
+
+ ssh_gssapi_buildmic(&b, authctxt->user, authctxt->service,
+ "gssapi-keyex");
+
+ gssbuf.value = buffer_ptr(&b);
+ gssbuf.length = buffer_len(&b);
+
+ /* gss_kex_context is NULL with privsep, so we can't check it here */
+ if (!GSS_ERROR(PRIVSEP(ssh_gssapi_checkmic(gss_kex_context,
+ &gssbuf, &mic))))
+ authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user,
+ authctxt->pw));
+
+ buffer_free(&b);
+ xfree(mic.value);
+
+ return (authenticated);
+}
+
/*
* We only support those mechanisms that we know about (ie ones that we know
* how to check local user kuserok and the like)
@@ -102,6 +136,7 @@ userauth_gssapi(Authctxt *authctxt)
if (!present) {
xfree(doid);
+ authctxt->server_caused_failure = 1;
return (0);
}
@@ -109,6 +144,7 @@ userauth_gssapi(Authctxt *authctxt)
if (ctxt != NULL)
ssh_gssapi_delete_ctx(&ctxt);
xfree(doid);
+ authctxt->server_caused_failure = 1;
return (0);
}
@@ -242,7 +278,8 @@ input_gssapi_exchange_complete(int type,
packet_check_eom();
- authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user));
+ authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user,
+ authctxt->pw));
authctxt->postponed = 0;
dispatch_set(SSH2_MSG_USERAUTH_GSSAPI_TOKEN, NULL);
@@ -284,7 +321,8 @@ input_gssapi_mic(int type, u_int32_t ple
gssbuf.length = buffer_len(&b);
if (!GSS_ERROR(PRIVSEP(ssh_gssapi_checkmic(gssctxt, &gssbuf, &mic))))
- authenticated = PRIVSEP(ssh_gssapi_userok(authctxt->user));
+ authenticated =
+ PRIVSEP(ssh_gssapi_userok(authctxt->user, authctxt->pw));
else
logit("GSSAPI MIC check failed");
@@ -301,6 +339,12 @@ input_gssapi_mic(int type, u_int32_t ple
userauth_finish(authctxt, authenticated, "gssapi-with-mic");
}
+Authmethod method_gsskeyex = {
+ "gssapi-keyex",
+ userauth_gsskeyex,
+ &options.gss_authentication
+};
+
Authmethod method_gssapi = {
"gssapi-with-mic",
userauth_gssapi,
diff -up openssh-5.4p1/auth.h.gsskex openssh-5.4p1/auth.h
--- openssh-5.4p1/auth.h.gsskex 2010-03-01 18:14:25.000000000 +0100
+++ openssh-5.4p1/auth.h 2010-03-01 18:14:28.000000000 +0100
@@ -53,6 +53,7 @@ struct Authctxt {
int valid; /* user exists and is allowed to login */
int attempt;
int failures;
+ int server_caused_failure;
int force_pwchange;
char *user; /* username sent by the client */
char *service;
diff -up openssh-5.4p1/auth-krb5.c.gsskex openssh-5.4p1/auth-krb5.c
--- openssh-5.4p1/auth-krb5.c.gsskex 2009-12-21 00:49:22.000000000 +0100
+++ openssh-5.4p1/auth-krb5.c 2010-03-01 18:14:28.000000000 +0100
@@ -170,8 +170,13 @@ auth_krb5_password(Authctxt *authctxt, c
len = strlen(authctxt->krb5_ticket_file) + 6;
authctxt->krb5_ccname = xmalloc(len);
+#ifdef USE_CCAPI
+ snprintf(authctxt->krb5_ccname, len, "API:%s",
+ authctxt->krb5_ticket_file);
+#else
snprintf(authctxt->krb5_ccname, len, "FILE:%s",
authctxt->krb5_ticket_file);
+#endif
#ifdef USE_PAM
if (options.use_pam)
@@ -226,15 +231,22 @@ krb5_cleanup_proc(Authctxt *authctxt)
#ifndef HEIMDAL
krb5_error_code
ssh_krb5_cc_gen(krb5_context ctx, krb5_ccache *ccache) {
- int tmpfd, ret;
+ int ret;
char ccname[40];
mode_t old_umask;
+#ifdef USE_CCAPI
+ char cctemplate[] = "API:krb5cc_%d";
+#else
+ char cctemplate[] = "FILE:/tmp/krb5cc_%d_XXXXXXXXXX";
+ int tmpfd;
+#endif
ret = snprintf(ccname, sizeof(ccname),
- "FILE:/tmp/krb5cc_%d_XXXXXXXXXX", geteuid());
+ cctemplate, geteuid());
if (ret < 0 || (size_t)ret >= sizeof(ccname))
return ENOMEM;
+#ifndef USE_CCAPI
old_umask = umask(0177);
tmpfd = mkstemp(ccname + strlen("FILE:"));
umask(old_umask);
@@ -249,6 +261,7 @@ ssh_krb5_cc_gen(krb5_context ctx, krb5_c
return errno;
}
close(tmpfd);
+#endif
return (krb5_cc_resolve(ctx, ccname, ccache));
[...2534 lines suppressed...]
+
+ if (options.gss_keyex)
+ gss = ssh_gssapi_server_mechanisms();
+ else
+ gss = NULL;
+
+ if (gss && orig)
+ xasprintf(&newstr, "%s,%s", gss, orig);
+ else if (gss)
+ newstr = gss;
+ else if (orig)
+ newstr = orig;
+
+ /*
+ * If we've got GSSAPI mechanisms, then we've got the 'null' host
+ * key alg, but we can't tell people about it unless its the only
+ * host key algorithm we support
+ */
+ if (gss && (strlen(myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS])) == 0)
+ myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = "null";
+
+ if (newstr)
+ myproposal[PROPOSAL_KEX_ALGS] = newstr;
+ else
+ fatal("No supported key exchange algorithms");
+ }
+#endif
+
/* start key exchange */
kex = kex_setup(myproposal);
kex->kex[KEX_DH_GRP1_SHA1] = kexdh_server;
kex->kex[KEX_DH_GRP14_SHA1] = kexdh_server;
kex->kex[KEX_DH_GEX_SHA1] = kexgex_server;
kex->kex[KEX_DH_GEX_SHA256] = kexgex_server;
+#ifdef GSSAPI
+ if (options.gss_keyex) {
+ kex->kex[KEX_GSS_GRP1_SHA1] = kexgss_server;
+ kex->kex[KEX_GSS_GRP14_SHA1] = kexgss_server;
+ kex->kex[KEX_GSS_GEX_SHA1] = kexgss_server;
+ }
+#endif
kex->server = 1;
kex->client_version_string=client_version_string;
kex->server_version_string=server_version_string;
diff -up openssh-5.4p1/sshd_config.5.gsskex openssh-5.4p1/sshd_config.5
--- openssh-5.4p1/sshd_config.5.gsskex 2010-03-01 18:14:28.000000000 +0100
+++ openssh-5.4p1/sshd_config.5 2010-03-01 18:14:29.000000000 +0100
@@ -379,12 +379,40 @@ Specifies whether user authentication ba
The default is
.Dq no .
Note that this option applies to protocol version 2 only.
+.It Cm GSSAPIKeyExchange
+Specifies whether key exchange based on GSSAPI is allowed. GSSAPI key exchange
+doesn't rely on ssh keys to verify host identity.
+The default is
+.Dq no .
+Note that this option applies to protocol version 2 only.
.It Cm GSSAPICleanupCredentials
Specifies whether to automatically destroy the user's credentials cache
on logout.
The default is
.Dq yes .
Note that this option applies to protocol version 2 only.
+.It Cm GSSAPIStrictAcceptorCheck
+Determines whether to be strict about the identity of the GSSAPI acceptor
+a client authenticates against. If
+.Dq yes
+then the client must authenticate against the
+.Pa host
+service on the current hostname. If
+.Dq no
+then the client may authenticate against any service key stored in the
+machine's default store. This facility is provided to assist with operation
+on multi homed machines.
+The default is
+.Dq yes .
+Note that this option applies only to protocol version 2 GSSAPI connections,
+and setting it to
+.Dq no
+may only work with recent Kerberos GSSAPI libraries.
+.It Cm GSSAPIStoreCredentialsOnRekey
+Controls whether the user's GSSAPI credentials should be updated following a
+successful connection rekeying. This option can be used to accepted renewed
+or updated credentials from a compatible client. The default is
+.Dq no .
.It Cm HostbasedAuthentication
Specifies whether rhosts or /etc/hosts.equiv authentication together
with successful public key client host authentication is allowed
diff -up openssh-5.4p1/sshd_config.gsskex openssh-5.4p1/sshd_config
--- openssh-5.4p1/sshd_config.gsskex 2010-03-01 18:14:28.000000000 +0100
+++ openssh-5.4p1/sshd_config 2010-03-01 18:14:29.000000000 +0100
@@ -78,6 +78,8 @@ ChallengeResponseAuthentication no
GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
GSSAPICleanupCredentials yes
+#GSSAPIStrictAcceptorCheck yes
+#GSSAPIKeyExchange no
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
diff -up openssh-5.4p1/ssh-gss.h.gsskex openssh-5.4p1/ssh-gss.h
--- openssh-5.4p1/ssh-gss.h.gsskex 2007-06-12 15:40:39.000000000 +0200
+++ openssh-5.4p1/ssh-gss.h 2010-03-01 18:14:30.000000000 +0100
@@ -1,6 +1,6 @@
/* $OpenBSD: ssh-gss.h,v 1.10 2007/06/12 08:20:00 djm Exp $ */
/*
- * Copyright (c) 2001-2003 Simon Wilkinson. All rights reserved.
+ * Copyright (c) 2001-2009 Simon Wilkinson. All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
@@ -60,10 +60,22 @@
#define SSH_GSS_OIDTYPE 0x06
+#define SSH2_MSG_KEXGSS_INIT 30
+#define SSH2_MSG_KEXGSS_CONTINUE 31
+#define SSH2_MSG_KEXGSS_COMPLETE 32
+#define SSH2_MSG_KEXGSS_HOSTKEY 33
+#define SSH2_MSG_KEXGSS_ERROR 34
+#define SSH2_MSG_KEXGSS_GROUPREQ 40
+#define SSH2_MSG_KEXGSS_GROUP 41
+#define KEX_GSS_GRP1_SHA1_ID "gss-group1-sha1-"
+#define KEX_GSS_GRP14_SHA1_ID "gss-group14-sha1-"
+#define KEX_GSS_GEX_SHA1_ID "gss-gex-sha1-"
+
typedef struct {
char *filename;
char *envvar;
char *envval;
+ struct passwd *owner;
void *data;
} ssh_gssapi_ccache;
@@ -71,8 +83,11 @@ typedef struct {
gss_buffer_desc displayname;
gss_buffer_desc exportedname;
gss_cred_id_t creds;
+ gss_name_t name;
struct ssh_gssapi_mech_struct *mech;
ssh_gssapi_ccache store;
+ int used;
+ int updated;
} ssh_gssapi_client;
typedef struct ssh_gssapi_mech_struct {
@@ -83,6 +98,7 @@ typedef struct ssh_gssapi_mech_struct {
int (*userok) (ssh_gssapi_client *, char *);
int (*localname) (ssh_gssapi_client *, char **);
void (*storecreds) (ssh_gssapi_client *);
+ int (*updatecreds) (ssh_gssapi_ccache *, ssh_gssapi_client *);
} ssh_gssapi_mech;
typedef struct {
@@ -93,10 +109,11 @@ typedef struct {
gss_OID oid; /* client */
gss_cred_id_t creds; /* server */
gss_name_t client; /* server */
- gss_cred_id_t client_creds; /* server */
+ gss_cred_id_t client_creds; /* both */
} Gssctxt;
extern ssh_gssapi_mech *supported_mechs[];
+extern Gssctxt *gss_kex_context;
int ssh_gssapi_check_oid(Gssctxt *, void *, size_t);
void ssh_gssapi_set_oid_data(Gssctxt *, void *, size_t);
@@ -116,16 +133,30 @@ void ssh_gssapi_build_ctx(Gssctxt **);
void ssh_gssapi_delete_ctx(Gssctxt **);
OM_uint32 ssh_gssapi_sign(Gssctxt *, gss_buffer_t, gss_buffer_t);
void ssh_gssapi_buildmic(Buffer *, const char *, const char *, const char *);
-int ssh_gssapi_check_mechanism(Gssctxt **, gss_OID, const char *);
+int ssh_gssapi_check_mechanism(Gssctxt **, gss_OID, const char *, const char *);
+OM_uint32 ssh_gssapi_client_identity(Gssctxt *, const char *);
+int ssh_gssapi_credentials_updated(Gssctxt *);
/* In the server */
+typedef int ssh_gssapi_check_fn(Gssctxt **, gss_OID, const char *,
+ const char *);
+char *ssh_gssapi_client_mechanisms(const char *, const char *);
+char *ssh_gssapi_kex_mechs(gss_OID_set, ssh_gssapi_check_fn *, const char *,
+ const char *);
+gss_OID ssh_gssapi_id_kex(Gssctxt *, char *, int);
+int ssh_gssapi_server_check_mech(Gssctxt **,gss_OID, const char *,
+ const char *);
OM_uint32 ssh_gssapi_server_ctx(Gssctxt **, gss_OID);
-int ssh_gssapi_userok(char *name);
+int ssh_gssapi_userok(char *name, struct passwd *);
OM_uint32 ssh_gssapi_checkmic(Gssctxt *, gss_buffer_t, gss_buffer_t);
void ssh_gssapi_do_child(char ***, u_int *);
void ssh_gssapi_cleanup_creds(void);
void ssh_gssapi_storecreds(void);
+char *ssh_gssapi_server_mechanisms(void);
+int ssh_gssapi_oid_table_ok();
+
+int ssh_gssapi_update_creds(ssh_gssapi_ccache *store);
#endif /* GSSAPI */
#endif /* _SSH_GSS_H */
openssh-5.4p1-mls.patch:
configure.ac | 1
misc.c | 10 +
openbsd-compat/port-linux.c | 298 ++++++++++++++++++++++++++++++++++++++------
session.c | 4
sshd.c | 3
5 files changed, 273 insertions(+), 43 deletions(-)
--- NEW FILE openssh-5.4p1-mls.patch ---
diff -up openssh-5.4p1/configure.ac.mls openssh-5.4p1/configure.ac
--- openssh-5.4p1/configure.ac.mls 2010-03-01 15:24:27.000000000 +0100
+++ openssh-5.4p1/configure.ac 2010-03-01 15:24:28.000000000 +0100
@@ -3360,6 +3360,7 @@ AC_ARG_WITH(selinux,
SSHDLIBS="$SSHDLIBS $LIBSELINUX"
LIBS="$LIBS $LIBSELINUX"
AC_CHECK_FUNCS(getseuserbyname get_default_context_with_level)
+ AC_CHECK_FUNCS(setkeycreatecon)
LIBS="$save_LIBS"
fi ]
)
diff -up openssh-5.4p1/misc.c.mls openssh-5.4p1/misc.c
--- openssh-5.4p1/misc.c.mls 2010-01-10 00:31:12.000000000 +0100
+++ openssh-5.4p1/misc.c 2010-03-01 15:24:28.000000000 +0100
@@ -423,6 +423,7 @@ char *
colon(char *cp)
{
int flag = 0;
+ int start = 1;
if (*cp == ':') /* Leading colon is part of file name. */
return (0);
@@ -436,8 +437,13 @@ colon(char *cp)
return (cp+1);
if (*cp == ':' && !flag)
return (cp);
- if (*cp == '/')
- return (0);
+ if (start) {
+ /* Slash on beginning or after dots only denotes file name. */
+ if (*cp == '/')
+ return (0);
+ if (*cp != '.')
+ start = 0;
+ }
}
return (0);
}
diff -up openssh-5.4p1/openbsd-compat/port-linux.c.mls openssh-5.4p1/openbsd-compat/port-linux.c
--- openssh-5.4p1/openbsd-compat/port-linux.c.mls 2010-03-01 15:24:27.000000000 +0100
+++ openssh-5.4p1/openbsd-compat/port-linux.c 2010-03-01 15:25:50.000000000 +0100
@@ -35,13 +35,24 @@
#include "key.h"
#include "hostfile.h"
#include "auth.h"
+#include "xmalloc.h"
#ifdef WITH_SELINUX
#include <selinux/selinux.h>
#include <selinux/flask.h>
+#include <selinux/context.h>
#include <selinux/get_context_list.h>
+#include <selinux/get_default_type.h>
+#include <selinux/av_permissions.h>
+
+#ifdef HAVE_LINUX_AUDIT
+#include <libaudit.h>
+#include <unistd.h>
+#endif
extern Authctxt *the_authctxt;
+extern int inetd_flag;
+extern int rexeced_flag;
/* Wrapper around is_selinux_enabled() to log its return value once only */
int
@@ -57,17 +68,173 @@ ssh_selinux_enabled(void)
return (enabled);
}
+/* Send audit message */
+static int
+send_audit_message(int success, security_context_t default_context,
+ security_context_t selected_context)
+{
+ int rc=0;
+#ifdef HAVE_LINUX_AUDIT
+ char *msg = NULL;
+ int audit_fd = audit_open();
+ security_context_t default_raw=NULL;
+ security_context_t selected_raw=NULL;
+ rc = -1;
+ if (audit_fd < 0) {
+ if (errno == EINVAL || errno == EPROTONOSUPPORT ||
+ errno == EAFNOSUPPORT)
+ return 0; /* No audit support in kernel */
+ error("Error connecting to audit system.");
+ return rc;
+ }
+ if (selinux_trans_to_raw_context(default_context, &default_raw) < 0) {
+ error("Error translating default context.");
+ default_raw = NULL;
+ }
+ if (selinux_trans_to_raw_context(selected_context, &selected_raw) < 0) {
+ error("Error translating selected context.");
+ selected_raw = NULL;
+ }
+ if (asprintf(&msg, "sshd: default-context=%s selected-context=%s",
+ default_raw ? default_raw : (default_context ? default_context: "?"),
+ selected_context ? selected_raw : (selected_context ? selected_context :"?")) < 0) {
+ error("Error allocating memory.");
+ goto out;
+ }
+ if (audit_log_user_message(audit_fd, AUDIT_USER_ROLE_CHANGE,
+ msg, NULL, NULL, NULL, success) <= 0) {
+ error("Error sending audit message.");
+ goto out;
+ }
+ rc = 0;
+ out:
+ free(msg);
+ freecon(default_raw);
+ freecon(selected_raw);
+ close(audit_fd);
+#endif
+ return rc;
+}
+
+static int
+mls_range_allowed(security_context_t src, security_context_t dst)
+{
+ struct av_decision avd;
+ int retval;
+ unsigned int bit = CONTEXT__CONTAINS;
+
+ debug("%s: src:%s dst:%s", __func__, src, dst);
+ retval = security_compute_av(src, dst, SECCLASS_CONTEXT, bit, &avd);
+ if (retval || ((bit & avd.allowed) != bit))
+ return 0;
+
+ return 1;
+}
+
+static int
+get_user_context(const char *sename, const char *role, const char *lvl,
+ security_context_t *sc) {
+#ifdef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
+ if (lvl == NULL || lvl[0] == '\0' || get_default_context_with_level(sename, lvl, NULL, sc) != 0) {
+ /* User may have requested a level completely outside of his
+ allowed range. We get a context just for auditing as the
+ range check below will certainly fail for default context. */
+#endif
+ if (get_default_context(sename, NULL, sc) != 0) {
+ *sc = NULL;
+ return -1;
+ }
+#ifdef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
+ }
+#endif
+ if (role != NULL && role[0]) {
+ context_t con;
+ char *type=NULL;
+ if (get_default_type(role, &type) != 0) {
+ error("get_default_type: failed to get default type for '%s'",
+ role);
+ goto out;
+ }
+ con = context_new(*sc);
+ if (!con) {
+ goto out;
+ }
+ context_role_set(con, role);
+ context_type_set(con, type);
+ freecon(*sc);
+ *sc = strdup(context_str(con));
+ context_free(con);
+ if (!*sc)
+ return -1;
+ }
+#ifdef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
+ if (lvl != NULL && lvl[0]) {
+ /* verify that the requested range is obtained */
+ context_t con;
+ security_context_t obtained_raw;
+ security_context_t requested_raw;
+ con = context_new(*sc);
+ if (!con) {
+ goto out;
+ }
+ context_range_set(con, lvl);
+ if (selinux_trans_to_raw_context(*sc, &obtained_raw) < 0) {
+ context_free(con);
+ goto out;
+ }
+ if (selinux_trans_to_raw_context(context_str(con), &requested_raw) < 0) {
+ freecon(obtained_raw);
+ context_free(con);
+ goto out;
+ }
+
+ debug("get_user_context: obtained context '%s' requested context '%s'",
+ obtained_raw, requested_raw);
+ if (strcmp(obtained_raw, requested_raw)) {
+ /* set the context to the real requested one but fail */
+ freecon(requested_raw);
+ freecon(obtained_raw);
+ freecon(*sc);
+ *sc = strdup(context_str(con));
+ context_free(con);
+ return -1;
+ }
+ freecon(requested_raw);
+ freecon(obtained_raw);
+ context_free(con);
+ }
+#endif
+ return 0;
+ out:
+ freecon(*sc);
+ *sc = NULL;
+ return -1;
+}
+
/* Return the default security context for the given username */
-static security_context_t
-ssh_selinux_getctxbyname(char *pwname)
+static int
+ssh_selinux_getctxbyname(char *pwname,
+ security_context_t *default_sc, security_context_t *user_sc)
{
- security_context_t sc = NULL;
char *sename, *lvl;
+ const char *reqlvl = NULL;
char *role = NULL;
- int r = 0;
+ int r = -1;
+ context_t con = NULL;
+
+ *default_sc = NULL;
+ *user_sc = NULL;
+ if (the_authctxt) {
+ if (the_authctxt->role != NULL) {
+ char *slash;
+ role = xstrdup(the_authctxt->role);
+ if ((slash = strchr(role, '/')) != NULL) {
+ *slash = '\0';
+ reqlvl = slash + 1;
+ }
+ }
+ }
- if (the_authctxt)
- role=the_authctxt->role;
#ifdef HAVE_GETSEUSERBYNAME
if ((r=getseuserbyname(pwname, &sename, &lvl)) != 0) {
sename = NULL;
@@ -75,38 +242,63 @@ ssh_selinux_getctxbyname(char *pwname)
}
#else
sename = pwname;
- lvl = NULL;
+ lvl = "";
#endif
if (r == 0) {
#ifdef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
- if (role != NULL && role[0])
- r = get_default_context_with_rolelevel(sename, role, lvl, NULL, &sc);
- else
- r = get_default_context_with_level(sename, lvl, NULL, &sc);
+ r = get_default_context_with_level(sename, lvl, NULL, default_sc);
#else
- if (role != NULL && role[0])
- r = get_default_context_with_role(sename, role, NULL, &sc);
- else
- r = get_default_context(sename, NULL, &sc);
+ r = get_default_context(sename, NULL, default_sc);
#endif
}
- if (r != 0) {
- switch (security_getenforce()) {
- case -1:
- fatal("%s: ssh_selinux_getctxbyname: "
- "security_getenforce() failed", __func__);
- case 0:
- error("%s: Failed to get default SELinux security "
- "context for %s", __func__, pwname);
- break;
- default:
- fatal("%s: Failed to get default SELinux security "
- "context for %s (in enforcing mode)",
- __func__, pwname);
+ if (r == 0) {
+ /* If launched from xinetd, we must use current level */
+ if (inetd_flag && !rexeced_flag) {
+ security_context_t sshdsc=NULL;
+
+ if (getcon_raw(&sshdsc) < 0)
+ fatal("failed to allocate security context");
+
+ if ((con=context_new(sshdsc)) == NULL)
+ fatal("failed to allocate selinux context");
+ reqlvl = context_range_get(con);
+ freecon(sshdsc);
+ if (reqlvl !=NULL && lvl != NULL && strcmp(reqlvl, lvl) == 0)
+ /* we actually don't change level */
+ reqlvl = "";
+
+ debug("%s: current connection level '%s'", __func__, reqlvl);
+ }
+
+ if ((reqlvl != NULL && reqlvl[0]) || (role != NULL && role[0])) {
+ r = get_user_context(sename, role, reqlvl, user_sc);
+
+ if (r == 0 && reqlvl != NULL && reqlvl[0]) {
+ security_context_t default_level_sc = *default_sc;
+ if (role != NULL && role[0]) {
+ if (get_user_context(sename, role, lvl, &default_level_sc) < 0)
+ default_level_sc = *default_sc;
+ }
+ /* verify that the requested range is contained in the user range */
+ if (mls_range_allowed(default_level_sc, *user_sc)) {
+ logit("permit MLS level %s (user range %s)", reqlvl, lvl);
+ } else {
+ r = -1;
+ error("deny MLS level %s (user range %s)", reqlvl, lvl);
+ }
+ if (default_level_sc != *default_sc)
+ freecon(default_level_sc);
+ }
+ } else {
+ *user_sc = *default_sc;
}
}
+ if (r != 0) {
+ error("%s: Failed to get default SELinux security "
+ "context for %s", __func__, pwname);
+ }
#ifdef HAVE_GETSEUSERBYNAME
if (sename != NULL)
@@ -114,14 +306,20 @@ ssh_selinux_getctxbyname(char *pwname)
if (lvl != NULL)
xfree(lvl);
#endif
+ if (role != NULL)
+ xfree(role);
+ if (con)
+ context_free(con);
- return (sc);
+ return (r);
}
/* Set the execution context to the default for the specified user */
void
ssh_selinux_setup_exec_context(char *pwname)
{
+ int r = 0;
+ security_context_t default_ctx = NULL;
security_context_t user_ctx = NULL;
if (!ssh_selinux_enabled())
@@ -129,22 +327,45 @@ ssh_selinux_setup_exec_context(char *pwn
debug3("%s: setting execution context", __func__);
- user_ctx = ssh_selinux_getctxbyname(pwname);
- if (setexeccon(user_ctx) != 0) {
+ r = ssh_selinux_getctxbyname(pwname, &default_ctx, &user_ctx);
+ if (r >= 0) {
+ r = setexeccon(user_ctx);
+ if (r < 0) {
+ error("%s: Failed to set SELinux execution context %s for %s",
+ __func__, user_ctx, pwname);
+ }
+#ifdef HAVE_SETKEYCREATECON
+ else if (setkeycreatecon(user_ctx) < 0) {
+ error("%s: Failed to set SELinux keyring creation context %s for %s",
+ __func__, user_ctx, pwname);
+ }
+#endif
+ }
+ if (user_ctx == NULL) {
+ user_ctx = default_ctx;
+ }
+ if (r < 0 || user_ctx != default_ctx) {
+ /* audit just the case when user changed a role or there was
+ a failure */
+ send_audit_message(r >= 0, default_ctx, user_ctx);
+ }
+ if (r < 0) {
switch (security_getenforce()) {
case -1:
fatal("%s: security_getenforce() failed", __func__);
case 0:
- error("%s: Failed to set SELinux execution "
- "context for %s", __func__, pwname);
+ error("%s: SELinux failure. Continuing in permissive mode.",
+ __func__);
break;
default:
- fatal("%s: Failed to set SELinux execution context "
- "for %s (in enforcing mode)", __func__, pwname);
+ fatal("%s: SELinux failure. Aborting connection.",
+ __func__);
}
}
- if (user_ctx != NULL)
+ if (user_ctx != NULL && user_ctx != default_ctx)
freecon(user_ctx);
+ if (default_ctx != NULL)
+ freecon(default_ctx);
debug3("%s: done", __func__);
}
@@ -162,7 +383,10 @@ ssh_selinux_setup_pty(char *pwname, cons
debug3("%s: setting TTY context on %s", __func__, tty);
- user_ctx = ssh_selinux_getctxbyname(pwname);
+ if (getexeccon(&user_ctx) < 0) {
+ error("%s: getexeccon: %s", __func__, strerror(errno));
+ goto out;
+ }
/* XXX: should these calls fatal() upon failure in enforcing mode? */
diff -up openssh-5.4p1/session.c.mls openssh-5.4p1/session.c
--- openssh-5.4p1/session.c.mls 2010-01-12 09:51:48.000000000 +0100
+++ openssh-5.4p1/session.c 2010-03-01 15:24:28.000000000 +0100
@@ -1559,10 +1559,6 @@ do_setusercontext(struct passwd *pw)
if (getuid() != pw->pw_uid || geteuid() != pw->pw_uid)
fatal("Failed to set uids to %u.", (u_int) pw->pw_uid);
-
-#ifdef WITH_SELINUX
- ssh_selinux_setup_exec_context(pw->pw_name);
-#endif
}
static void
diff -up openssh-5.4p1/sshd.c.mls openssh-5.4p1/sshd.c
--- openssh-5.4p1/sshd.c.mls 2010-03-01 15:24:27.000000000 +0100
+++ openssh-5.4p1/sshd.c 2010-03-01 15:24:28.000000000 +0100
@@ -1987,6 +1987,9 @@ main(int ac, char **av)
restore_uid();
}
#endif
+#ifdef WITH_SELINUX
+ ssh_selinux_setup_exec_context(authctxt->pw->pw_name);
+#endif
#ifdef USE_PAM
if (options.use_pam) {
do_pam_setcred(1);
--- NEW FILE openssh-5.4p1-noacss.tar.bz2 ---
BZh91AY&SYËØò¹}ºÿÿÿýëÿÿÿÿÿÿÿÿÿÿÿÿ ²D at 2 @ ØIHcÑ{¾ì} O@ }öz ö /` È:÷¾v Ð}÷F÷ض}õg}÷Ò¯L{;ëÑóäöèû0«ÝßÍPÛv¥IAlkÐ z^ïáâ>¯uìûl(Q@
Þï¨vr[ïLÆ 5¼£Ø=öû¾çæûk ù[` µÖèz;îù|Ïn««]ÎÝvñìÝ}ÛÎS¡ï³×Ý÷M·}÷Ú÷Ý»wUZÎ gø7Ë]õß>ú=}ëo|Úp¶wÝê¡pÍàwp÷»®ï]ÞrûÛçºÑÆï¯}"OZ÷8UO|Óvì×>Ô²£}·a´ÝÞöújß5ìd<|nÛ¾ûzÁÞK½|vöîYÓvz¼øè =:H¡IvÅØzÝö¬£åçÛϵ"Dz¯
¥önƺ0}@ÐÕ:<Cvú§
TÖJhv4ËviQï§t ûì ´ }
RÖ>Úè hf¡T ÍÄ©éßcG"%{j ÷·U× %D¥Té¨#ÓHÞÛÜÜ{PO½`=wzÙ¼âðv÷Ø®Û=ÃЪª´ À{ë64Øïó¾÷Þ÷°ú KÑ÷Ø[×Wo})öeõÕqM÷ô¶ûÙÐîÓ,u¹»ÛÝ
éÌï»içkï¹Ví½WßcÍ 5 Un0È (û` ( ï¼ h Ü[/wzx^
^÷y¾µ°ÛÊêãGG¦¥îÁ§¯}q( }ºûÏOºÀí;v%Vî·³®
h×{Ïw«Þ_n×Ñ@è »$RKWÔéwÞÎ
]ÛG×Ï®5Ú w}÷Í,¾|>í·0®îo=ðë^»î÷^ß{®®Í5âËçzÝo6÷®ï]:Û·¼÷½|ûëgϯ{ÞãÓí÷ç»ÊôwϽ<ûà{Õß8Ûmxñ§7Ï·¶2½Û3·5Å.K®bÖ.ÞÝçÞ×ϼöß<³£}5O& ûÉo/nøi7×Ï{Û}÷bÀóà{r÷·ÜxûçÕÞÞï±òmu :hg¯°£;îúsÑîúø(ÎÞnÐÒ}Æì&ÙåºcéreìÜû¹Wx²¼»ïºïÖgÂË»;Û;zÝë6ì_Nªô};¯¸ë-»RÅôdôSz¶v1νçß}Ú»º¬kª4gR&Å*;6Źc¯¼îòÍ¢Üõ½µiêÚîïfófÞ®ÚÃSZß}îî\òzmS×sâ)¸27ßsç_o»}S©ê³®ÍÛ{Ö÷LõÓ§Kg¬çpíë{ÛYåÑóäßluï öûy{î÷Ø>^¾êOgÕ²ûήܺù×ÞݾöùÖv¯]»zÜ^ß{ï}Ý·³WnìW%n»jÑÕgmo{Þ]¬ï,]véîÝo2Æö½ÑsÌ{Éìí¶ôçuïf½·ÝïwVÏ{¹NÇ°Wt·][»síÞxõÚìî´A»Yhku´à¯c¹µë ®+½Îß|ç¶Áå$ûõ{µuîÓWÙ
]mõÜûØÑ]½Ý:ûÛÞåÛÓÀzßWǯvUØ[tå"ÆV5ÓªûeBÛyÕïÚíºËNëE³@ªk¥¤ûh׫W[c>̨VËk[ZزÙaª¢M½7´®öãµv ÜÀ»qÛ»·Þ<÷ÅöO=æí©µ5Þ»ÞÍ÷ßGCß3èbA\ÑTÐ @GYµ (½`=µóÞvm°+FØÆi<1
ïróZé}Χ&^®éÝݵ7Ïó½våd}ó «¡´jÂû>¨ûçq:KÞmðÀ®õ¨½«¡ÝÛ©_azÓC]$5VÙöe½Ê÷½UÀÜÓÞóúwO\5XéìÔv×Üíì÷z¶ÕÚ®éT
ECuG@«ÞKÞë£ÁóåíÞ®]í¾ÞÖ±yp "ÅéÓ®¢ö½xû=ÁÛ·ß ¾Í¯¾îª@ ;×Z ¬Z:½´èöëÛ¯6ݳÃÞóÉ«w,öíÐZOv·zí{{u§ ¡éÉ{À¼¯uÙu´êºg»vt©ïwsïn½Ú¶nÁ4:]ÒÛqlî}'g¢ìÈ)ì"Öí¹¥¯xó³ÓM¹Ù×uºÚÂ"$ (R W¶F¨µ7ËÅ}4D ¡Jï÷¹îÍns6äéA ä®îÜ×$ßs£×qÝÙ¼CI-aêß{ÁÐô¤Ð]ó±×¡®¶ÍÞ'»DíÝC±vä
÷##ÞwWÓë½}ÏcÁmå͹ÚÑÑØwÛG{;:5vvg7NÕݨ}îìÞÁ½½À÷8Áª(A*õ£¶W¬jöhè8Ùw@`jë=joúîk@£uݶÚÅ kAudºPǽõzÄtÐâ1
=×w6E 5<û¾Ý·¼<ö·íÝNî®à=erîÜõÊë¹×vov÷µ®¹EÆNÚÜíÕ¹°Ø§A©À¢ÝpÖÐ4â/`<^Âómë J P° tîöµHU[e{¸«¥zr
8r:h
PÓÒºI]½E^yîn©u@ ×t»xðòtß{Þö}jmÙ[Õ4ömç)ÉÏn/îM^înÕÍUÝvê«r*¢»séPÞÄ>ݽ^µÞѽaÐ6¹Û¬7j
ë"ºk²·KÓnî&7¼¾óà@¢¥{a[kîKía¶ 'Óíï0ÓD h Â
# §¦)¡êz¦ÔÄÐФzÔÚS@A M4Õ<Ñ4ÈÔôLB5?E) m h h A" ÄÐÈLÔô(Ù
ª~'¨'¢x©á©¨ýS Í@dd£R" `B4ÔÓÔcH`MxµêcSM 5<LÂ4hÑ
Týê§íMÔd
dd hdz
¦¡14#MÊÒzO&a5GÒ~7¦£D= F
ÜÿÿÖ¨ýXÿæÞ/ýäïïÜÃüpÿ³þ¾ºÔW=¿|gðD絩¤<0¡ OQi @ö ø?m]:ÄCñgH?íÓò}µ²be+"ÒLªL¼=L$¢ÔÜÅjb¢!Wteo÷ø ©¤$?àºEBe
X £QQ¥´]ÅL $Âf`ÀåvíÙBPBÝÕTÒ±sXJĦÁJç
54öð¡]Áê©*À¢
¢sªW(¹x°L*¨|^..9JMÌÓãé8ètggØÒ ìÒGÿoþý íNbH iY`(R!$J@Dó] L f h ¢$XbUd"E¤")!¢¤u²J´ÉJÀ%´
+SBjÄA¤)(rAÀ"i¥
"BÌÂ) ¥i& J
ÈÆH0 èÜ«Dé" ÀT@%¦J
¤R)Yb
(¡)J(IA"P¤
%B`RH
)"
1Ã\¦BhP7 ºQÐ JIEßChýäüñ]dS\Ì+ED
/@ÿë"ÿN("ä¢þ ÿ!ÿ·% "(Iüoýãý²nο×
ÿ fOþ_ùK
1 BÑTAöE4RDÀE1$TQADÊsPHEÉ@SI!ERQ%%1S
!4³2RÅETÁ14ALÒSD»°&fb¢(©
J ¡(¥"Ui$ª( *ª¢b*¢¨(
bª$]¨m]D¶)>µþ¼À ¤«³C
6µ¬ýYni³/¶A0 »ñ;N%DÓª1pÈ È ²Ê;³$ ÖQ%Yf$ÛÖ¢rÈ̳ª¬2h,³¨hÌÅHÿ¦ìË´¶çúÿªÿúmÿ[?ç³À÷'ÂÅÿ¸Ï
ØgÍlr¯M¶[ÿÞõÌçs¬ÑðìåK©Ðì|Ù3&ú¡Â)!©~0!LHéO_¿Yÿ×ÿÄyçÙ1¥cPÞ;åÅBRùù)xdC(ÈJÄÁQTEÑTÒ²!E3)KK40DL
PP ФC$(JÒQK5$DÄH4Òµ
LUPSD4LELETÔUD$D ÊETUP_ÚÃ(ª¢V*¢"¤ ¥"Z&©¢"%
¡¢"fh!$Yµ90M$Å4ÌU%)%0Ô11Q Ä´ÒUUSEDMÓ@Ò´-S3BDD AÁPÓ!Å, JDQ1²QTLÃ@ALHDEQQHQ5T-TLÑ E2Ò PË1@ÓÐÄÔLÌ@ÌÐÑJUUPÄ
ECQJ´ÒP4KLJÔALA$UHP2±ÁT)AC
D±1R6fDPKÐÉTT zBJ¥ ¯æ ) ¡"ª ¡h¦(a`e&¡$j"
ÃLÒRĤ2Bj"J¢d (edZX!H$%iVieIVbÔdÃ,TQPDE4Ë$BPÅ,ECeAE1!CQ*d£2&¢f &) "VE&!iQ B
YV?õbåQRPSD!TT´ÄT±4M´³CUTÄK5A5DPA AIDBSTÓML
E4E2TE!4AELÅ@DR5ET
4L4T²EDAPRURHMSTÁ5MPEQDLPÐHKM,ͲI2TE0DHDPÉ1ü&%BV)" $(¤àÁEE1I5-A EDQULS33AQ1TÓE2A,Õ!IUÌEUTÓÔEAM4D´H мç¬032Hµ-D.àÈb¢¢máVë5
Xf>~þlr£B²9ÍØïGºJ(Ø:%æ9³ók(Ö 4-íÍ
~+Pj¡)ÜÓ£ýXiÅý0ÀCQANTOüÑWMx:þº¯4My1"¢
uwyéxýÈ¡xÏ¡Ðk°þe2Z!«PNÜ0ÞZÇO9E)Á ?NµóFAdÓQ%3-%AQ$ È/Ã=?zþ|Â/Ñ»*[ö&¢¿Lá×éÃ#Dï2tNEaE4ªª)5)zû¸æãæL#{ÃQo3]Ø©"¡¢·9%fa3T9aX9T:$§¶Ñû³/¯2**æȨ̂
1ïÖ-F6F[ ñÞ.è*Ì1ÈÄÌjxÝlÀÔaÚqcfd}!ÿ?üñrCL²!´ÄÓ¼½-qP«ï@ÁFò^obÑãÒv@tÉÐ@ßÕÎ0z7/ëü5«r×íU¾Ä4÷Gh]s§ãqê=2çR©býF(~»RaXþRÔø¤§A$²Ð¶aÅôa É
0#'-a8Ìi¢e%1+Í8:¡Ï`EQÈF1!
íÄ9è_.±3x|7j²·ãÖ¸ÌBªªB( ç1ÂÌ4FâÙ¾w©jÒlËPkZ2ÔBÄéÖÑ8RSMELK at U5D2 <T¢e¢P\«hb&`¨ ¡)ª( ¨ !¤bfÃA¤C(adÑUIQ4AA©L¢¬#
b#S4 Q$!)IM14QRÐÃE5LÔA,DRä<i]IDA!J # M4ÒÓJÓ
D ²2©
( ©bh
T¡©¥*©Z
¡ i)ZÌÊ` dÌÊȦa$RR¨Hb¿$¸T%2CU3-D at HA3EIÁA%DQM1ÅHÁ)LÁQë@f*!¨pÅ\%b¢K ¦h¸¢GÔ4DU
dÒë5(j
hJ¥J¤hX!bi b¢ªQ¡¥(Z@$`ü²a `Ê)¤!"&:X(RSÍ3ID¥
QMLPBPEDE%1MSI ´ CKIKTDÍU+
+×1
h¦¨J
¨*¨(JJ(X¤
ªZ
)Y¨¦¥)h"bbRjb¢ *bH!& ¡¡ª ©¢F *
h!JX
*&hibª ¢`*&JH""¢ª
¢ª ¢h$¨ b&Y¢i(*j¤ bbf
& ª©*&**i*"¢b¦ `Xf& ¦X¡$b$hi&&¤j
J&¢¢i¢*Rf¦¨dJUJ)¦!J"¨*ùì(¢
©¶AMQÛ0"f)¦©&¨KNc`F4%ªDúdrhj¤
i ¢X`hZ)h)ÞF´Q1I3S5UUTQUT¥l©$*`Á*TQ+$ ASEUEMRQ313¤,DUQPE44E$PU*PÅAASÌ)" æ-,´BLÌOôXÄĸ£% "JP" $e` )i"j% `I¡! "&)d*$ )d Pßèã{`(¨$ 8Ã);f4ëu4ø1DMLîD¨ÐQEÔ±D±$
-eº5ÐÓÕ4U0¬~ìƪª&¤R¹Ä
$j
&H
(iI$iøáÈI`ªYe(ª db $æÄs EÈ (hý>ÏóðpÑE%D4DDDA%MÍU5!4ÉÄQ5E0Ä-B@ÀQ2BȪ(B´´ ¥ÑÓ5 TPTTL4RI$ÚH¿Üøþ´?èsá!¬øë×2Ç!<8²êÑÆãW_íúò¡
ù¿÷Ù _좢ۥ:|P^æÛÒïûC;«ãpç#ãêØSbì%Å·Pòù
ïéÿ´¯Ðá©ì|487ÿOL6T
`"="%C£
4cØy²cËD÷¨{7
pÔÙ5ÁÃ4Â͹L µïbõïma h\@:¼@ìËYJÈø«7¨aèáQ ¦±Øòã(CM5.;ÅáÝ´Ð+Ks$8!£å`½ÜuôêÎk¬üªZ
AGt`hd'#J³©§U¤l*@B*I¡¡Cs«M/´¢Ó$&H`*æ!(îI_Í"}S»3Ñÿi@\&A\¬ñ
A/ÕããÐy«<ç§þé-»fËäóyFî
9ey¬¼
ÊÒ_SFÏá¬zkÜj&¦oEQ©âÛSsGDù¯wåþ8éÃTèýÁ<zM?j,;øa°d B±Ò£B`<8;8¨ÞÞ®3ox56Ü"Û"¾1¶³[å¥t[,Æ4Èf Æm
iá
§ÀK[ijJáNãQVF
6?lc9È·n&¡2ç0
dL6·
ZoÐ{yVs"cêØÃ=A½:ëlÍÀÌ.]ø
iDkîI¼6öÜ43Nf¯ÒóKÈÛÐÏ' ÛÉ8íi´Üf
G0{{Í4¦®ó±ÃËs,(66ó4;\l5»28ÓICÃßSG63%^¶Öæ§20Ó3>¢6Ðà1
°&¤ayUFÛq ¨ò£XÄ©ªÃ&FÑ`6Y
å³s°Æ'HVM&¿e9¨(B
úCÑ<àû00CòÁêø¶YÐþÔa$¢ìÚ×&ð<X8Ó¹ªÐjrÔè²C¡-YWI ËÙ3äb}8ê
à~RÂcÒrÙ¿aj+P_gý²¹ò7£¯.OÙ×ë¯PçìóWRé§cç;a&W,X~êÖ
ëZ´MÈCZtÁbþ¼cðïç26§OÈøì-ß®öPSzªcä
v#3.¤nd5S.o'ýZ¦°jC2R3j²µ×nau2Â6?LdQmµzJ-ðôêßû}±Ñ顯¥É¾_÷CäÚõæäÐt¿î³ªÐï@j±Î{JÈ:Ø)ÿìw|zXbÂÛ½c&j6AÁï_cRÃjm$=÷O>¶·9$ h1¸¤ÖÈÚS¾Ô]z
/¼/qªºX¨a,g]©ÎÃ&çþH<F±÷å'êÌD³¹
0«JÀ6ú
ØZ»ña(àÇàI%¥Ï7 $ã}·ðzhÁ\úܺ÷-5*÷+2ª|H5ÝúYÕî¯
IÊWh}P¥µºì"ijéí_K
ç¿#ÇÚî ÞHzM /ÃàÜn«g²´Êæ Yæ(¢ÝÍyA/¸úÂPöýª~Æzßë6±½¨·kÝ7TnÖêe:þDý÷=óÙ
ñìóù¯)Ý y×_¾¾ÜL½wº2LPâÕìÌ¥65,3+E1m(Ð6$ÆË%âÑ]ÊÀÆM5¦D ©_o\X?n=µH í¬
ÅÓHmR6~Is°µôv²u·ß3z¡6éNXõÆØÄ3"
!l|µÏGÇ1ÀËÃc[+åÔÓDÞêK®*£Y'^qÜyN}Å[& U%:Ƭù7Ùmr°Ã
CQVZ&ME s=ËØ1
×S¶@Ø\ñªûx=Þý~§Ï³¢½Wk4vÔ½F0É:dÀÈû®Ìæq6R*Rì¥Í6Xs#eS-¯N¼¼ëZß½tCyjþÎ9¹%û%É0qntî
.àu®2«d0Í5TÑcu¸22»vÅ{kfóMÖL®oafƴ¸ÒÿuÖøAÃPv¾&35ÿ*{{ ¤=ÅP¬.ÅE&ºø©R~:|sè¨ÔUNd7- "á.ß'@U±DéÞª¥IôúªÉéu×5Ó#[æÓEÔ\°\:pjC-¢ÈE¢8njíÁ±Ô#8jñ§¼jÐh³¢ÍÓdÛÖòúÓ_nÞS©cÅ~ÙèMÂ)6ZA_.áÑûÖs¸?¦?± )EþØ(\aÁõ̧1˺'´¤ñ
øPB)ܯo,
Þ÷ }ȸ¢ùÄ;¦È'O_ÜõØÕÐJ´Fõ@% ÔLÕ5nÃ-Fü¿
8ËCÑj`Ê
d1Ó¿qÖÂ9>Ì-`A©ÉÌ
é0h5&ûXêRÅÄb%+H+[Ä+Xàj"V#@¢á¥(´8aMòÃÁqCÄnmæE7é.ÍOÍb|ØAÚÆeaünu5/7 9ñ¸Ò¤)=Yä$ibPRiît¬Î·ñ¤F£lV^ÎõÔ§æÜ0Ë
«ÔlÂ6ÚÖæ²+íì¼ÊtþÈè'R8²) G bÂÈÈrÊ
zÔ-TAP4Ò4SKDE¼Ê}7Å1=Å=Ê·ü¿³fñÍ®"d"«B\@ì5)àK\P Pñd??ô§?êÖÉðÞWê.°Áxü¥ßÅïZ)ÆÏCGþQ9r$2ÁÈÇçõÝDäýHi÷v
ñÚÍT¦»èÆ)çÒ¼Wa³ÌXÒ(J'S÷ïÛZayãO´~Æþ{ôËv¶²Jh%âØõ[=Ju*Æ`¼o`ÀÍÚc
ä]«
$ëO2'GÏ>BÏOÝñø« Ôª J&>S¼kÿ;;8Æ+é7bäcä2ÚÂo³ßKfáó}^§DQ½»T}$FüTä¢çÐb×ÆÎ
MæZ
êPÿ xá_4d''zpk÷{ôô{
ôª)!vÏû¨9my
uÙv.|s#çX{ϲS ¢´sß)ÂïÞ7]rÊQÃ5Ã\ôG¦L!sà¥ÝRë{þºÇgÕÁÛ+è
7QÁ(=ð+Wí#éÿ·§Àõø`ð~¯_+òIöÂ}ò
F¹°j±j")9²2¹ÁÉV¿Á[ݶ®¹\y"%m+£Bÿu¢d l ü3Ï:Ì°(#%È1Ê,L¸ËVfzNxÁþ(ÔsãQ¦r8ÿf&¸n/æó4]¿YóòþgmþoãÆûw`
ù^m ) /3¸6å&ªdïÿ1xÇCxQ¢ÝG81LÍùÿû;à¤NÝ´lÆØ\ÎÎlZïÑxzögG+\_¢xK²^ªdhw;!Sª§mùìÕ^Pi58XFÑÇÞz½¼FÚQ÷pm¥ÆA°H6¡zdr â¡ÔeZÆsl¢¾É¤©èÞçXTVùk|m§áDHEØuÅ0RuâTBÞ#?NÍÕ_Ep6`ùH},¦k<\¨dc$q7âJ¡ èJ7ûCû¼zü58ðÓ/Aæ»# Vq»D4Mk
p´Öµ£SDÏøã%¨¢bFQT¬ÁD0ELUCIFîîµê9ÀÑe½f¹Ã[¨¡;wÆÄÁ
=.cbåódLsIamÂÞ5¼ÝÚ³YïÌ¢*i7zÃûZl1"ÁÉ*\Yî`[U_o·55*ÔE*g
$Ð*v}-îJ¤äWgFÝ#wXej$õÒʼ%Lçftü4õÃëâ)K»PB ~x)ãù¨ô²$åê°¸"uûþÊåÄQ Ù©J$ FoÖ2æ .BS¦-Y@¡Ùy÷<hë£%åØiT5ØOÓ@dG8,¬HUq¦Çr sÔÞæ¾aÏUäL5BÈ.qÐZ Kº¼ÙÙ¡Ôª¡¹# ÞbrÍÖ9KÃÕDM@*O-|:»»»¼®ÈøîTN£xzöàþXhm;óÙíðôoíý_Wõzýmúö2õx!d®(ÀlmVÄãM7úÁ2Ò×´eiÑ4ï2²
˦ /Íçn×&ÃE,¥M6-¶´6ü$+o
¯ò¹ÏÌáÝ,¬þ¸×ôC_^qi("Z"îÂÂGô²Ü*¶A¥ý,ôÈ<®×«%îOÅC4´Ø3 ò¦ÂÐÕPfc²¼ÌHdjdq¯òöpòõôv3ÑV6BB,£xèì&TÙ\Ç\xð38È<J$®¨äåÐbÞoz°Óu·
qãÇ]blmצJÑÑ¥Z++²Ó,ô
y¹!Zc,7MÃ-WM°¬¦&£ºÌÌdþ+,gÐ"©,\¥ÊC ÝÜ\<I$'¢±ºY¨çY9Nzì5âÃ(°&Ë!fdÅIrÞuü3u½"Ì«T9Üæ$*£7N>xßÐF¾®L!Ò»çÌöSY½EÅÞgªÞd6c_Ó É
FPCTSĦTPÌ
)bHB"j¦¤õkî`(¦¦ªbH©x ¦#×FaQ/ò|(kSÁÞ\|°j5óa`¾½kDFTY³EE1U`Èm6㿬þ h?Þ¾r6[
0wÍF¢#ãÃz^!ôîöë§
y'3,Ì2Â@9RET*ÑT·Ë1¶EÈ(û±=
¢*èçC8õk®Â¸Î®;çS&ÍÆW"vÕËÆ7QÆ7ëÜÄó£¬Ì!&6[\LrÁWYLmäR6ÒfrdLÙ§N'ÖÕ¢r5¨ÌkY¨¢c É Õ[#&Z-`BÉVÆ`HF£"4CkXüÐñFê1âÃWìIâ+dØg
Û¦&¤¯`ÜI.
` îÌ6qXóÎnª¢²jÂÈ-&%^¨È9 ±¦J(&c¬üÖÕM3A&øÜBåõÚô}UwË\Wl8rí»×gíØ._ éQ^ðRf².(¶s Á«Dc
öT$1Oßpá¨b" (ª"" ¡ÉÉ2Ë2Ç'sYo
¹`ÖFCM´Òån-Æ¥±;=TÍÁ2kÈ5'ѨBFLjª@19íhÌÜPw·qûР½þ+ÀBÐ
Óça#NC´-"REULQ
1õHdD-BRQAM[*VG»òcé!¾3T´µ@´©BIÂþ¿¦ð6÷óÓ_Çؽ5÷ALû3#¤VZÌE&UIE@cÓYÄäÿÿӴpÀä
QOuLD4!JS¨Ö²3312Â\*hMF«Y©2
\Ã5kQ¨$Þ±É
ÁIªhµ©Læ=3eC(âÁ¤ÀIAÉ&KEQM(YäÆ°rr% )CRa ¨Íb&KB48AE1 T
d£¨§"@CÑ£·ûw¬^n)ÏñbÇP t@0ë ÚÑm2¹,áï9Ìc4#ªkF»¸0
BðèAíϵWç®Ê)?U·Wh®çz´3ëªèIëë"´¬{"êÁwí¥[!l£t°ã/ÂJþÈ;P¼½ä΢ö½ÑJ:Ñêè×Øp×P{iöÌ®Ä?å°EÒîêf)*L§¤;ÔÖÕÍbué¬Å×Ûp(h£PÅ&¤5 5éRäuü°>ȧ)¯.½ÇÆEØL!¸Ûv0
¼cTo-UFFqPäj9Ö;ÈQc11YqÛ~=¬°¿»ä Å%WëFs×ZÞXÞ«ó¨P>ÍC^ViØØ6'ëÕ飮¿yÃåR·KF§Xë)3Ó¡n$\n²ÏñÆƬ¨ª¸ÌÇëhÁj
hzhÉG-ÿÒ8Êê2pÒ§Dþá1ßµÂZÉÂÃþ.m)sÒ7E_+Ý66áhîk¥s¬|¹µ¿}xÂ÷ÖUìæßpêârc¯izr^]Ì»j~úë¿·Rat¢;õvãYÊåtîñëUè±Û¼B¤©~·»v{óHBéù;RÙRT£VYÕ:ûçt±ÂBÅuÙm«RÝS÷r×IS¬<ZEpÕ²¦ëªtxs°Ékkëų¯ÁñT lÓo¿ôàl%ÏJälÊJ:'¦6PwácÛ©a:³¯]£+ðåÂ-Ñ&[EVN.ÊF<÷
@¬¸vé}omMÕ«gì©àÙhWG ¢bõHú
_Ïبߢ«½Ëñ¿6ؼþ+ó(E=êÒ\¨¾Yv§NÆ?AÝ3åu ý:ãoÁýß÷s¨`¯;!H0f飪Т0Û¦¨Óà!õe&8ZºoѳÎ/^ÇØ>ºÆï¡UÃfC3Õl±Õ¶ÉFæÔ"uÞǧÂZÙe6÷cÁÀÿrÿpÅ®±Ø²#ÔTJ¤"w {}-Û&C3Ñæ&=yv`5em*Ä=])×ôUG8ÚUÂ&ø0ibÂãYéz;0:òa\öZ©5d4Ôéüø© £E²µªªæyà£îÙ²l
/,¾þ^7Mú0J'õvKá1LJþÐ5DÐR4KN@`VµL[ýKÜ
Q÷Mø!!ºi:û?,r®¤¥c¯tÑoté%Mh\?dÂûmÄiº¼§ê "`¾)PRKÀøàØ^^ê{¹Î;®.]g%q:¡û{Ð
§÷vpþ²¿®wÃp7th£´½ Í7þûâû'sÔ5 £:ܶ×mð«²dD^&
³Ç[ìróþ¡;`,ÎË Ú1pö_ñÞ>[HÀÑÝ-ü,,¾Ö]<4ãE¸C±L(9ì $§Jð¾Q¦ßêÂ|¼°Ïj=~(¸'øÿÃ9cO ÇUSkQd2p!kÄq m ,ÿÍú®þ«ç
%_¡OÕ«,>Vº§Ü|Ñ|5+À@±Nfæ}ZOEÒ;£ÚA¥ïáÛH).¿Ôå{^Ûh~yÅpÏ×!û='?vË,·K²zc½¼¶*&Â7úò÷µ?ß?·§ê¹1xDåóÿÆX·þÍÑfwʵyWùW¬ÍãYJ/ùJèXÒnõXÍê¡ïn]>º¬§ÍU¡óëf³²*wÞTou:;çªbÞ«7¬àÆ£N Þwê¡c7K9«1z
9ÌnHÅCàÍ
mÖb`¡T¤úÊIÌäÆff£6åU>/;|íf÷¬Þ®óÞ÷PrX/{¨XÆ®±{"2÷¤>7ºËÊXÎͬ]ìtíf±¢'yµMoÜs:ó[ÿúõUOS<!íöð cN3Y-{ïé2²(.ÅE"Í)Êz«qLÂu±E¸>SÎç?¢²®}.z«ÚV7ÁÚîÌdò`34(q
=ss$_V7ÁÊm©ÖkÓe¥â\I¾Ëß¿=
oL ¼è¬¬vOV±>$Ô·[9'¯³|nWFu§×k£÷ù¾jßÀã·]@_ÃdRot1`çnçMT»EV<}ZÅÛ§e¯
m:ÉãÂáRNÚy¨zÛðe%4i^ÞµÀÃÁHªi(r¸i¢
dR.#
¥\,Ie¼ýþ/rþÞïqW³.}TòôCí@¢Ã\'ã.
0¸ñMpîlYúlÐËÎARÒ#íÒtwiJQõ(E±kHÎøÐ?®+ôIØtZl5Ìéq\ð²PEU|"³32`sKf>ï'¦Ò®né²ÿ¨xþíCîô³ý¹¦úñzýÖCàZ(;¨4C®uþÇcÃåÕa¨q
¯YKcÖ¶ÃÉë©üï*)ô6àéîÅÁÍúë`³ÃááÚ5oÍJÓ|YÚ,Çû¨Ãì#ÿÇ£ÈJXá¿S×ÒÞoÇ}ßCãõJÌ&ËÔSkÿ-Oí¥³ö<ï³ÙÈ
\5lÞôH Ò3]ÎRÄ^IGâ$8(&¢ù´Û:NµR ü«MZ<"+¼T¸RýHñÏ_ËÆmT<rÆYbñ¥ÞÓ«Nb3+§ÕLaO÷ïÏçÊK¿$¿4ðô½Ý«Ã¥WÌÿDÍ0öã¿o¸\ ¸!D>£};?ïv®IÑôüqßµ2Á0't¹OÓÇÖÍÕAÊ?ñ6fPVúMpõtû¬IQÄîe<çS¡A"TøØàÙMa¸hº·Gèw&rê"ü7ÖUqøEµãcýòÉÿ¥»U;þ/²ÄF¥²>ÙþíùU)^}pÎ]qtúöK£ãçXR{gt.Ìݾ^ê¯`+³<ðæÄB?åí÷K±w7[k(Ï5Ц¶¾ÝæMèBI(j{5ûïÑÛ÷iÂõût~
öö8{)Ù½ßmÍäøÎÃiÃCOè?vOô þ1½ÙÇí´·ÓDrÇ1^Ò¹« 9`Qîâà¸vÄ;û£pµÌz-wPUQùZñ'~½Ë j¢¨¯SaUUUU_NUUU^UUaaW¿»]Ø!¯Å×ÓÝøf}³ìxSÁß~¶ûµüº÷ë)¼! RJ
ª<øµÉ!ú;k>3´wü±qwúÜuÂ//
$·K°ÅþbÜsF©ö½BBè9-màû{©øm:z>Å÷Ðvê ØB.aǧ6Sû°Im·Y 0ôV÷fê]\ÖßBH(ém¡})äÇ¢ÈÐÑ{±!7z])ág®H B
sDpçªÏÑÖÝÇ.áÚ%h«Þ!ÛLÔEjfnN^¨rÁ¯!
B¸Z.
{þ> k<0 F~OeyaÒx*a
á¯Ñð3MsïÁ²2 §ìøôü9gZzk&¡ö¯éþKúõ0'|@¸Gñ LÚ ·j)þc0é2íÃÄ:ù=Ü ^é;}Úhda¨\ðùÖìSyëA0³ñÚð2Ñùí`Þº(6Æ¡Ñ7ðÍ$r`÷B=HDÄMîbÃ:/m£ß®é|µÕ|DN¿Ù²ñòA»úÔfs¬#Wßë)ÖýظGA-1-çÍõvR©¢ ÙV8«-#iY~+ļûDâi/hô59fÛÈqÆøâýúÞ±Ïìkë
NÞ5|â13\öMÐñÙsú^´ÿ~ά0áÃ_×>:` gOûÒÑMð8ÄÙ/éúä óÀ:¥ãiÓ,èÆaeA.]]§ßäÝO_îèóíÑ%ý±ëÅÒöжwAYôûªßSÇÏB*þÙÒoªãuPUã³?W?-Ô1^q6þÝØæ65NsI_±®t+mvM?çFÚD.P²úA&^ö5"xÆêJµåtV)D·së
õmÙ§ÑÛÂ;òý ¬êLÊ:â¶Cÿ?Ä}_O"üYçèIzÆP°~ßO¯kì»*
Îñï\
üØÄswìñs¿Ñåú/ {ÕHøUÊ ´'OÂwæͨVr{ ]õ/ãcAÓEð¬Xªª)s6
%Óìxù¯ËºÃ]®)ù?ÏFÅ}õÃàU9}[úª#HüÆwËǤjÙÞ49vh×æå·fÊÆÿ¬¸?÷39iT.<vsT¤~ïY,â[ÓºÍÁûµmÂD`-z¬K»£n9Ò¶¶È
t|ÊI$)$A\WëYlB6¹îþ1$"úÛêRçp#OnÁ¶Çεì¥>{Ç4½söi¡ì?¨d:¨xT8 ¼_ô?w̨-#ç1M!9ÎPO¤}Â!5Ïýu¶P6ÐË:Fs®§\VñÛë>"^·?ѳÓÙ|ä
««ÓêáÌ@
õ¬N *7 ¶NÜ¢CâûA|×ü»H8O2èBHd¹Lå¿á$åÌ:DRê;Ư1,©ÇqEôI:A ¦GC rfоXzri³¼d}èÙYe¼¼)w
<5Ðùß$ý¬í®iâ8øÎÒ2´ÑáÚUtÒâ;°<NFÛ¹2É=m¤³PÒ¢ð(%Ê@ñPdóÇEC
ÚìqÏÃgÙÚâ]ŬèIdz0
°@
S@
Ôh¤:"
))ýhÆTCòY4D³Íß8ìÞbWÙysªÿGÁ}ø¹%QGêßk2ÃþL?½ÜF6]ñ¨©
ÿS ù·ñhËpP&Âs)ï²5ã*pBj@¾:_ãììxûC¬ÙóüPp#ó!:IKÌäJÓÜ 2¥$é*~©ù¡SrD% ¨Ò<Hé {30Lä²w+P¦Gv>}]ý¹z~êÓ[ÙýûGØßÔEÚÒB`r*(KHøh³øäù¿n-ùìì¼mk=¸`7oGsKX!tª%.@ýè¬d¸8ô®»Ï8ý¾0Ó;U§ªþMi'÷þ5ZvÚ61öÿ?ðs¤4WÊõþnÏjbÞßEõpѳRuj߶wq¶>O¦s~Á
Îp=cc¼ÐÓ 6k
.ÅÚUI<l¾º¬ôÀCñÃò´møÍ(~8T=N±õ÷MÏû©sù2CûhÒâWÚa4~"ÿ;g»P|Å:H Í
ÂÝT1Á`:#ôÍÑ|D ïCñëê§IÔ±ïsLº rªäè&üÌNäÜh#âÎ|ÍïD
ªa)AUTQN[¯
?ß^®CÀSÌá(ëuÃkåm~°î?Ua3pØ@M èå°K ½zνÇÍa5`c24á(ä°:i0aù¥ìil(AÅA4RÑ!RªN»öW?viBm&ØÇ12µ>Z¿¾}QÝ}|ùV}V¬+|@?îøFÝqÉ+$¤¯§èÚ{l<Ä2¨Æb 1.Õßx¯Tôç¸
·¶ßÐyÍ[õ}úüû&Ãò»gÑs¹ÊFÄpã·Ê!ئ=´g
&
%¢
ùa8ÕôNOpDæ^Ôìéìè«a4éí·ÇßõÚ(¼«û½
ñ
C
ü~´î*©£ç$þS~ß'åÑæõ£;ÈÛt¬ßÖñ¡â{
Äg\ÁÔÛR% ñ©Ü¶ò¥Vp"ÎÞg>ļéÔá JËÛkÄMÕ
UëUÕb±+lÝ¥ÞT@à ~~H ¡wh¸B²vùvº!úëÅÐAèk¿M¿BúÚGÈÿ ÅöTÅüLlG_ð ·ãäØvôKQ½¯þ*È"2»ûû¤ìÇ?qÍDJ~dT_®2ÖdQeLE5A4ÃäASÝÅß<âs4qk.) þ['QûJ$5uÓ¯1TE@¾Ú3_I%¹Þ.Ρƾ_c.Ì«¯o¦Ëü!¿^×~úða}Áåj©CËÚÿ}º/âã*Hò@Ç×Gò}ɶ?$¬±6
Rèy`°îÔð9U±î¹
) Ù%ÕuwÅ\FEfa®¡0YQϧ/-¸Zi»±p""
¨%?2ª*YAIRffPYT2ÍBq`ÑA9Uòf7èãDÄj,ª (¢A¦¤*¾éôëþN<»:vq·×gª8~Aï¿tìõþ.ü××ôè÷w\hªÌ̬Ê%h?GC£Õë1k·¦pu»aDD¹ CYVIE%ÁëÍUU@æaS,,Tya:÷Èj#+¨x¶¯ÎpÞc1°môöõnôê ® `¨eD>ÑÌQ«Ñ@Û¦?ý_Í7Ð<áßvaãâ~")ôé{þ®4<AAòtÖ©¬ÌJB)
ªhÖ`vÈ*¨XmÔSËñ`äÜP4% UQIM%-#Ç1b!¢¨î½Äì6÷G-T-¶5!×
Õ¸»`®ª¼¹ÓöOúb÷¢ BQ û·ZÐþGEºîþ(g¾*?g«·f¿»5t AUNbåú%P êC bäÙc9EðbèÄL
%,Aí¦¤¥$L
A""®ÉQy
K3UA
ÑöàºBÏ0"¼¥2dzÉËA.~L0¦¤
B¢¨¡$d_zfì À) ¢ IF$ ¢=CȯÕfD~ÅÀ9<ÇD1)èS
%
JeØHE0#K¤Å"¦dðÑ&QÐ1pÔáÙX®@P312SR4Ta-fa5L@TQ!@)HrA¥ªòÌha¡*^4Ë7c
$D¬PèÅq|Òªw?º?ÊuÄ|åüÄèVïÄOSá
Á(ÑûãSrÐôs\SR Z T Ov` J®@;
)E2C$!^-óÙõU+AE'Û>év
«®g´³×ÑH#¶ÎQo^5q¸g"ûþm>rèãB¹J¿æþîvL6Ó¬ÒDáÓUh?äîü§¢þ>ÚõùH8dáû>ÈÎ"ÙÑ-ÿÝð éùáD?Ýþ¶¸
Í]ÅÃÄF:I Ç}zï~û°æÒÈkÂÅã¤0B£ãè¦äA¹÷P¸ßùðîèHe²ÔÓ''²Ô¼t%à«ð±PáÓòÜm¾*ÊÀ:ax©æYÞU+üùTlXDdìh¡Ù ÷Ã6 å-#Jùâ"êEB¡=Ĺ"~)øO÷5¼ ×â¨qôA@Úêôѧî¯äÄ7 at oú}æõý_Í«³³º
RÂ%ðßmC¼>;VÒMµA¶r
©b
i,1Ä0 Øk@EIEK(Hõñ¡÷Iü;bsæÉZ*;ëS¯S»hÿÚz¬~-òa Bu°ò±@ùåqü×}Ò-h`Ò:`È;Y(Ç¥cÙNVÌDHÑ£Nµa$FCòõÙ¥JÞ= e!jвi9±ÆÆpÓá» t]&8§¤ñ½Uw(s4XMFLt¡M"t-ºÊ¡«#¦c¨òÖ,UA0PFô"¡'§j¦Ës¢ÓWJsn=iuQ¸ÆÖ?÷hnC:nÉ4~Fº~Ñwø?ûhbÄHþ"fÂ`ÉJoß½Ö,î¹/#ÔÍPÊ JKÚ¼¶½c88(&R®1ÃHþÊ&ù{@:§!lkVÿDb¶QTÀâú¯¾#Ã{
²¹ÕÒUçµÃ-~ïSÙÎZîpBäç[ùãÝysú?_óà[ocÇBÐÙ·#§>ß~ r_·Ä|xJß%ãkk~Ââ$ù§O¸Võ`ÁÛõû$!×¥]"å,&Áaãî{Ä!KõU`ÅHLíVñSfzíX
~]ó®ù,
ä<|·(ýeÿ. y¸nì=a@éø¨Ùw"?gçþÉþ|¾ c ìØU¿¤ ½"ñ[OU6¯9h!ëIPë'µÿ/~:ÊU·;ÔÊãõÄNw¯ßELwäpãq³w}ùÙfJ§aÆÖÌ£7À@$¤±è¬Ä;H¬-d`îIÃLé
OÏ`¾·×Æ»^bÑkùhöÙ ÏCm×x¾ûp˺í#èH0$mÃ]}`Â\iç·ô°Ç^ñ/Ø¡H¦3`óÚ¿»^k± @ ÖÀÁ4]ð0Ýüϧþ~3ïüñD·åùqÒGí"À= ¨Ã¹
-*`%Î ÷ Î98%]0xÁ!d`<l"Q³áæßzç¤àt|D?ÀÓ¨èç¡ì×{¤Ñ(ðæ׿¯.©ÊtFß³®³öoòµd±À>`*tØ Þ*Yõû7øúU33Oãl~4Eu§aîè×,:râǽÖ|Çouq:&S*ÖÆ
»'³,K
jòx)º´FÊÞ|Pãô§ ùùÑ>x°>dã
ÏÛglÚ\´;Ó·0öð k´ÿwÔïÉ{Æ#óÇöL¬UJüµBÿãþ?éò
ÿï¿ýrÿ¦wÅ«ud|Í]QòáSEg±ý_7×õ÷IàüÞÍ1þ>Åý>6(lé$ñ%¬ü¡öfç5û&Íñ'^PôäÏrpO8§¡»ÊèÕþ«Üª«³JÐ|vy
(6 äjÁþ7VT@X ÒÌ»Àa*þÞÚÄ7
óQü>dð¡ñÉÕ
ï©IF ³(Ö¯.¸3aô 4X/88'½j_xî²Èû¦LÇVÍórÇ¥qH9k5j² zMÀúò¶:LÌÎÜÓïÄôÓÎÜ$°¹\òa/À>¶|w<TFúuD5¢
LmݱÚÅPNá¯àp½
'´éÚG*ÿ`\ÌÃC»>\Êj"URÖÑ)p?xòò»db¡`¶!B5|2HÃ=¬!_FÔæðbÐryñ0ç_&3
L3²Ãc-Yê
k1Ôí;¡ý~A«£eZ+x}ùÃF,13")¬F3xÛQããë¿Ì¼ªò÷?ò«"ý!]R©»Õ?ÅùlÔVAõ9×GïK»·j¼¶=o·¨À±Îf{qx$ð,¦8¦H¸¤÷uÉy°7^cú3ääLyw§Ñç\·¬úuX>ôj
\öù9,J;Bض¯Ð(Ô9_í¼ ¯6|5{5ק[mðóíCÓz×8)"qðUjÞ,q]·kõ\D6XºklTrH#_ÐQ4´¼|4ÇäùÍh?¶d-ÁõtéòÔ[ <\ÁìؽÐ
º
ÿ?c¼?ñu¤Rà¿ýêÆYMââá7
MuÇ"þî±ßCÝH¶sµ)!ACÍAݬˡ6¬/«*2bW"Çä÷êô%»*ëK6íMÛØC>xîvt°µ^9õ¨, a
M
HT»x/ïÍÏÛä±Îð°\ð7eµºµ¿ø-¯¥SsÓ¨ô^÷8X+û#ÊÃG0¤íX¸7Ç'´]©iµ{P翳^aAð3Hµû²÷mÄç>ÏëùM¿ësöw6AíÄE1ÈP!@~7ÿéϧõ~ÿ/´;!gÙ0D©]ç×µtÑGRlÏvb@\@9L)ç
ã¯{$å¹Ï0u {ÝkïÕú¾ÈEŬ.TúmEÃ=ÞºêÍeÅä¹WÃZXoÐÔठ¢×/"n >ÄþãZHboajÅ,¾È]<ÍòóÒ³éàßúk~Åí¼¤É -Ó¾.@`¡S ìyZðßÌ~®þ~ »[w&äçåÖ¿¢ Øü¡·ü* X³ U¸7¹¯ '.wkBE¨±$;ú(ãÞº,Ì@Ò(Z9ÅèaÝH»89±çøÀ28î7ëmòçV¸$JÒØø ×{ òí¯K£ËRÀÒ)@N?¶¿ôøï'ûûWßý½Mþû<ãV(wjDíÓ &çèêëôk¶WÝϧûDOôø_üôwró¨Gùþ43~ RÎ<z?òø屸õÕ¦ÊH
rûé8¼jLzýâ~¢¶.9RGvax¶uÉNú¿òO#t\5¶ > Ój4°Eáß^¨ùξî5±^Ó5E!ççÎîßÃn&]÷÷W,¶°`®ðØ3`(DaâA¾æC¦ñÜPDXBxK ~Û;¢©¶z4uÍ\ÏöX1Kªµ=ñý8V%ZÌì,að@ EÚ@ÆßK8 ,7åÕÎZpĪñü{ñ2Ð!Ä×Î-OëF,#ÚCesJCÝ^N_ïÝy¬:3zp¥
Ñ_Ýýñ^¨óâQþJ Uð_lB³ï[à"û´AvØ@à¼õ<³9Ñ®·Ü«k)36
r[ÂA8í~óy2dnÚ]ßtdЩ¶E&@r%/pOÄ¢æFï©d/çÊÞm¥}]|:·qßý¹·é±¹åeçª99edóë¯ÏÅ:Ü4``S
ÅGi|¢å'´¶yàÀç;Ðo6WoÝ¥¸@ïä¦þ]Ý|.zâ[ÝѸÆã¬B¢ºÂDCJ6©Ý$Û|~N7q
ýXõpÁ·ÙMJÞÑìÑÛ
$5¤û*ÖÅÇ=¤ÎîQ{Ëé¦8^oÕ¹`ñÖÁØN#vêÖ÷K
jKWPãËîÀ~'ýïD£ ýE·òÎ[¥'Tþ_ü>¦ ØüÃÍf/pÒÕ5=éVM^¥±nËjU]ca$kýö/^å!úl¢yð%X¬±ÛrEª!(ªJ?»e¬(Êh¢(¢¡U©j Ë ¥©&©¨&Tª(
$ÿÅj2@ª@ ¥ "¢j!Ö ¢%ªª
ª¨*¥FÖdTF@N²i&µÕ
±ªª[Ϫ~Ç
Q¼ÌÉÃ0¢¦*Nl"³¢aª
4f%4'SE
o"=iFb*hifbta
Wo0ÄÑUK\ôøzõø¿RÑ08Î$h`Óð|
x%ýï^|°¹$i̦9·óní]vÇñqþ3\{al£pnA`ÈÜ¢£§¨èÝÏ h°óQ\#U uÅ0!;ÔzN-¤z`¹Ñÿ@åÏþ?rþ
pß8R¦Ë4άuc!(ËO
¡°±M²±ÈA÷-3*QZ(£¹p<õù~í[kT7®20µF¤nß¡78ç>¿ÑáB ?/þaH·ÐÝÆóæh¯â=ÁT
r¡tb£½UÊ;ÎÓs@±y²°ô{øejýÎñ°VReýìâ'¶+e¢ÑJsGî&«hDÌðYO1
§²§Ùó0}
U0`C¬dùL?XiÙ cUnIÏâÂnP`tËF¨pFJ°C E·:õ©uJ0·9IÆU(&«ö ºyìý±²ÚÇ°I(íÅC(|×S2AwüE¶½ÊNÛ;e°u
iW-?«ÿáÇU;ZMs+ͳ²·tÇÊ3ÓËdFÑ?o¬É)¸ï<Õæ`»6ÿo/]«²Jqý¿ÅÌÉÞ¨æ&ëÒ{ÿ'-aݹ¾HFÌ4èÊÇs)¹¬"1yK ÏëµDDì$Â!´´+ý×Ì¡Úlk¦+¢Q3Mf0Ew+ÕF½ÈHBJ3ñPó¥z98Zcø»o÷c-²¶yMøW/Éù Æ"íB ·;^¶Xù'VEÂÓl.êÅ d®Ö¬ïâjd
Ñi¢´OËnoìWXï79Ìþ±I.üþ²?W¼]fÓÑòöhóìçª[úªp®ÝWîdmYín˲õWüuδ8ñð±T
¿:ê§ÔB×)
ÓõãF|(a¿ßCÝt`'D/A¾ØðóñÛ1íÃ+Gt&5¨æOðÏhN11À"ìãrõò~«§ì8m5¸¾ø]jp¿V½/}!ì9Ôf¶Ú%é ¢*¶o=Ö¶ëX¾g[ç§Õ $RIFiü¸Ü¹Ûà¿
R÷Ù~ï])\»´qUGÔõg].2Hù<£Uüðg\7HJJJp7dÓ¸T°é<9Ì_z&Q|èÎAaRU" GLçH®-u:±NºD{~?VþW]ʱhAÝß1ÑÕø˵þ@ø¤þ«ñØQf¶ÛÀbêç¦T7È``
¨X ¯¥7Oy!6KÙ?YÊzN*×çïöÁÝÒô"¢ª(¯Ywõ_ÚË!VGö Â6ë¤úÉvN¤öNQ<Áv³_¼m÷¾µ×ã^ï"ûÓC7³¸8c#ÖKdkùLÑ$qcT
¬3Kªú fLÄ :3æž÷þÊ1(0;
ë5pLÜ»*3m253 È>F=ë¯<ÍR-gJ# ®o%Ôx;i^55IСסFÖ}¼aeúÂÍ¢H3W2Z1÷eJ1.Óùqûß(ifùö~îGÓÓ¨;õ¬(Ð ë´S9«È»'&´+¢â'åÅm CËæñÁÑõÞo@´4¹ÍÕô>Ìáq@>82 È"²U¦ßW}y§Ìú¹î>}É»_@M{k>8¯ÓíÄMÑ;¤4©vΦ=´Ù.PÅIº s÷S/wQíi8T¼9=VýÂæ&CÒ¬>[!¡h¡(öf(Rº}8Ôyöù÷ó~+¯Lí@%
@PHkÕwJ;¡8Ï@®Js.s¥51,õ97Ý ÒzâÓ\ðȤ=Âu}{MÜê·ãaÇYÑB*Ù!þÚ$òCQÄâ5DFf¥ÐSIîã·Áäû»ÀûêçÁ7ëÃVÃa§ÂÀ¿í§ÿ"c[uÄLjã`òÙxáëϬþx÷PKàóÇ´·â¯9«c¤Gv?ëÎö^Ç~&Híuñ9R0êIôtI×À½DW¿ÕJ¦È®É&cý@Bòs'-{ngëÛ"nå¾ÆGL4Äã\´qÑEL<´S!ØøØ°AÚäÓKéõuõøãæÏpnHí¶Ê@¹Æ1êRáÏ44¬hî²ÞI àó§úüIµuòhj"o ó®ömJ)`Ì åײÎÇ´AÂcº/H\Úh¦¡mf&Ã0a; QåáÝu¹69îFT*5Ü6/D*$ÃQ:)x¬¢«Ëúþ\ÐHW6¸-ýøyíxË»«¨ãàb#)âlnAöìþ÷¨ü|r=Á vpù
RÊaEVdOc¯>ì¹ý~ó¢Í}ôÕ>Ī
õ~¿¥ ò
ïþqvU¿uL0,ñ²·q ñòêëÌÜmøõù? cPïà=Áê¦D$£E$¥YõÖ¿&£)öN/o~Üýu}ïË Â/}cµÖH:À(4Âá²a($âL,e§dI¢
$É¢¢irXfÑ6æ¢3²0²Z! hÊ(h"ƪÌb2j8àCÇUШ~ã:!¢b¸Ì@6¿Êí®ÈyçËËúy½Sè(£à=Ázö<)b°¨#ý[µ:¹ÿ*?Qþø3¾ysSÆ/nÄPÄ»ZQiÙTLDáÈâJ«*Õ2XÄó%¦¨Í¶T"ióK~ý7Dò#EÃï§+qŲ0I¹gY¶Åï\¤9ÿgOd$BEbS_>8Í)ÄASR2å ST¤)A51NQ%1
HÑ@a
9*Ñ
%¬úYÊU]]~lD©r6!Io çû?¿õÚîygÍþÌÿ!óh&C%A1ë d¼ÞP½~Ö³
à±ùߪ[glîòtÅ°'âµÞÝÔH6',.§$*#ªÞèÐ^x Q!
{ù¹K<Óõ©ª2Ù9"9øÙ¨¹±aÍÓI°?ù7ÉøðÙÓs'»æ§Ï=ôb/ñôIa%q%Ä»ÍâE2Quv«ë¸yêØowåÈÆbéåìÿBÚ.Jg·6ÿ¦½B(·±ÝÊv¬KÈDLÈ-@'UbÝa M U(qáO>ܶÔÓ)RùKV{þ=¼wýc`ÐÃÏ@03§ltÞoáÇß
nêwB#LAI9T?^D3 @ÒTDBQ at I²kîôD<¿9ùXáÙ3 tD
üÕöûgª!zE/×$
ð^nÇU_E`w¾ç9䣾êü'¬jO¦¡ÔC¼±¦BüóïõhÒC7ÝöýZØ/JQoíû¿÷É+ãPØu˯³gV~Kà&j lOm"¸=ÑMØ)(Æüp¼Héß)ÉtbræÐÒüâ£Æe4ágVä;p<Cý§Ë¬+ÇĹiÇ;ÄÂÄή3§!ÍPAîQÏØq9Ã;~Y
L (QÔ¢%¼7>äMÿÛþ긲¶A}|õ§§y_,0ä}¦½ä°@çÄÚÿÔIPz~
¡¯'çé~]Ð<SPjÌjô$Z.<yZñÑÑÒ=û£!ª]¶þáz\|AUHp)éÙ÷ëuÏ/`Yâ,
juýÛwæ,ÌÕE½Ø@>Ó¾# Q¸dÄ/³yÓÛw?
ñƵ<E6ög bá
âÐg ἤÐ%dnh¿ÞIPm8<ÉövpòÈ{ ¶úÕúGÖ#w5äµP÷âÛà@zppÊQ$¸å×µÀKÊ%/×1^â>z.½WË\9þ)¥|ÿ¦®Ý3?gÉþÝß)ørEãQýÚº¹p¢Ò:ûý àøYôk´¿IFûtÈ}L£]P³¤vÕôê>Îõ!
BÖ)dåªÏ«l,nªhs
¸SàD Ê+٪غ! Z5Éú/±Û\òl îàÎp@äeBC'1¸z~ê²ì±CGÑEXIã GÜ=aó¬hc»ô«= ;M³r±¶§ Á?þ%ïäÎì¿çµu>ê.gí»/ÐâJo
þ[&ÒaÝ®ºëêØh¸qiÇ>uÿæEòFÎ}pÒZ°uzì}ÄLË
ObtÃ^ÑzRÅQ×ÙM®_EâK$?+*ê:ËIýòÙæ@-¢
Q]ª÷;ûXÍÖ=sy_ЩÑ8-Î z¤ö\ªù ¾Ñãð¢F¸ìqýé$l«049è3«Àä8K?ÐÒ[¿õ"ÁãKP[á¯õÆHTÞ¸a²1r¦Aó(òÀ£¸ízt9_}(zl®N;äéI$M¦× òÿ)¹/|nòhµìçÃÛ>s>?dôIÒ{ÊÃ'|=ôNB¾§/EMj*EÏx¤J¬¹{@}íÈæQ¯ó®ÈUo}u½òU°Èïî¦ 8 ´)1V° ò$uMD
¥ÔWkYjr¦ývLDK)ºMK,ª3èñXÐ!rLç=¢mqÌã.µñ«Ã¥)±&÷y}þKpÔ¿ÑÀy6óMl9ûº25äSÞ Ü¸(:úà:dÆC±ª=½.ðÿU
öáæs×ÏOôÝÒÄVppåjÕlΪÐ,
Å`ÕBÈÛ4¦/A]<bv)HÞsÛfæ×?=îõ¿b"7§$bcB dÍðø;ÔC3oxðÄþ
ê,ÙèWÀìQäß
kßÈcí óóùZkñ~<ÒE»}´ÍîÇVÕ'ÓÓ;kÅöG·Ìú9)Ëäá)»X]ZëFÐmáKÆ·^¡È
! ÑpzG)ͯ£nAÏ»ÌC3¨NêÛü%«ÎÅ*`ïÐÑ3xóèáÔäìh¤ºâR]»éíT-?æ¹+°åë©úᾪ´{:2cç/_~´¶ÈAë[øV½m<ÁF^Ô£<ÝB½9V4ç¾"8,,BÑABÖ±¤ÑªúqÒ¦AÖ^,I&ýÔÑe¢ÜéÃÐ,a±z#~ùý&ñæ NU^Û´iV&¢ a)²¸)%b±w̤PpMHÌ$ÖÔz¬a ¨:^ýIM ¾ÄéõøïÎx;OLvpÈd*ø]×)Ç=hq¾ÂÏ8ÔQÜZÓ¨ púñTCËS{UWÜìuç¢(GL ^Iþ_*µªÒ;FÉ£«}BÜç@pæê >ÓD}ªZ$ð(<Ç]ÁGªvÇ´-A¿lC ö6ûlMÜj¾QUÏxñs6$ìäm¾¾^ Þ!Qù¸èl;ñ#\hÁ û9'D¹DáÆ4o¦¸Íµ©èZðüÏôIGF~ÚÇ¢FéÏ»MÆÌ=
:k+7üïL7Æb¡7JSH*`Ô ÏËá>»±´¹{ìúñæÖ4±¡³Ì¼x(3ä±öÕÏÑWWgÐvx:Äl$SjVíµ"Ï8à'3b¼¤½8J¶"©;Y(µñßÉÁ½óJÏ ËP¬sz\ò}Z'$ÅFz{Ì»¯®uè^b³tè]zHßU>pëálÕQ0Y§1"¢âýÑx$ ð6¼¯µ"gHÓLß0"*{Ü@Ö«ÎøèÙ£eÕÒ õogò{¾ìÙC°*j¿SÆe)(@Ýpå)&øMûøILjMµAèîÃ"èQ
<ÙÎ@ôë°ßEt³¯ö. |!KAõzDïýÝrWêK¦CaýO §bwOfÜ¿å¹UÜ
gÏÒD¸¤F®|]
_ô¾C
Õ8#hVG¨£kÄ
z1H"ÏëÓQJ'ìË<Ë<LÜ÷¯¢K¨¡äÑg1ìúÜ+ìj¸?&N½_¢õr÷A¨cÛDn_ë¸$q®ïÚÿ7HD@ ~<ØSè#¼£×Ú¹åFGÈ"^߸ûÏáãG|
BF ª<nê¢Iúæa«§õv}>OܽؼDNÏû¸D÷¯«6MÐN-÷DãïA.jô«éÏ,ºïù
~xÃôy¼ÕÇÜ^£_î«eHnTùIrýnÝeíôön ÿ%mj»Â ìÕC[¸Öî5øP!GxJy9ÙªMD¼djÛnØ'«¤&zkÙ}Ø 5ö^Ê7¦uk¥
/=d0öñ8p²VÒ&Ar×YytìynØhÍæG:(×Õí uqË_!$R2OÓ³·×³®æq»R%m=&:R'l>4Ü5[âàVÿ=æsODÏ^¾'>¾½YUEë;b]þÌú®^²¿g äÏq dn7ÿ2"TūͨÕ<$-ù36r$<ÇënYõaÓ^á
=VeüæýZPþl/½yªsGØ4PÒET¦dª.þn³y«÷U|35·F°èËù,Ozô ?jвb7v3!`½HjÖzZ[dÁH%53·Ö6¿ÑÕê7ÑQ<Ä=ÕÃS¯Hy¤fsCä®wwêblIÿ9»·w¿VÐä &¸ð¼
ÁãÒÔ}=¦þöêæÑû¼þèçÚD+²ÅY'jØ:÷bÌYîãcÛ:a~^n'ä_Ðn1Ô ¦í-
NÅÏ//&ÑZ¼ ô:$6Ø%ç¾·ýe»^:ëû¿iã÷t¿ÖNÇYM8Q<h®$@¢cP/z9tû<¶mrszæCz)ýÁõk½WÆ^¼ ¼ßÉCf£¨R`ݳ\?77÷¢*_¶ÆÆX;ÈϤ0¬¯idõZûóDìNÃPPõ' \ÞËÃèraÑ"QÑ4§ºÂ&¼ðùÄO?õíÿÇÇ´«Z){@â"ÜñïÏÛóx÷49Ï|±.Hd#ÇB¸± 0Q¦Ê!!(H n]Dç×V ¢e³ièË/63à"r½Ïzý¤A:9Ñô¯² êN~¸cûË;#øgh¥¡¾· ¬Z¤Olûp£¨ä{.jÒ¸µØo>¾©¶%yEUéÖe Ö{\ac+õm` ñ´ ¬ GÅý㬳í÷JÁtwR=fzs¹:aHt at J 9ÙÑ8 #*ù ô³ÁÕpÌÁ:²MécgÃ
þ¨ÁêæH}z÷£àç·ö1:øí'÷)¹Hx +»¦ Ò¸DJÝÓ¸î² ©iE?/³}â%Øéé¹ö³ØíZúöBD;×bÑqÁ]p¶t´Àû"ôxµmh@Ìøy0`ÈÁþÞlúºÎ\où¥¡óUÌ®ÑiPQ©QÑPýpÓÇ^)±r zÆ°]«®Qûêw¸¨zjUD2Û^ÍÀIwÈßJos fù©Ø>N;¦À0 at A(ÍvÞXÊü¹ÊRY at 3:*Ð;òê^>Þ«ôeõ_õ⧯$wè0òòçã¿@DÚhHKÓ¤â~µûþÏ»7ßgp(%í¯ñH¤ÈB@Å"¾¾Cæ¯~j9âåòàö?&ðè
CWv_P©"ó ©ßÕgõSµIP
5~ýevÌ'¼0GÛöà@PX©ÊÆ<<@CÕ1ªäóZ}¾[,緲Ƶc¸iæ×¥
dk6lËmÆÁ²o÷ZÞ¤Ý\±ßMùõîA §¿fx¯JN½Ùp0úvrÃƽy0U ÆT~ÏøÜWKó-gh9ÀË&$b&a(He¢¥rq*¡µáÏO;»ógÅÇf¿*á¿ìÊÜj($é*°!Ye`¾J0pK=´{W³çA;ÖKæ`D² øJ2fÛ ×ÞcÁöß`ç;P¢Ú×xû%ÐKЯðwøßÕ/ð4ão!9»xý;8 >µëA6fm8!¸.õQì©°J¸'¯?H=}F¤ÈËÝ¡¢û56ÕV·(Rë²È9å^¸FÈâãÉC+oÎ!EDI$xõ\Ç!ÑÏÐÆø8L|²§ï«ðóÜP. âñPÁj~TÁɤ.cb¼
Jãsn9u`zÞã¬Ã¿fà(ã¢0!¸p×s¡â6©Ô7v:ð¼ioa·W[ñí$5
'n~Ääæ34:<Úm+°=0=;@
J3Éç½|¾fÅÖE×ñ¹ø½vî#tT1À9
ÒÄr.8hìQ¼~ÏJõClw )q=ÅrÍ=xå©òDîx@_èo×xcóùÃÅø·t¢.Aáäãëínf!LF£èuIâkaر¿x}C´ï:2*¢·ôUR_ÊPÉ!Ä<A¸
B
Ûn|ø¼>Ô<y»§(ôýWý¿'Õâ¾ Ã}ÌÝÜh°DäºjÛCÍ/µòeØlÑï_bXÁ#8üLôÐL¯ì8tqô[ Ý5*×ÛwÁÀxC$j欸ÀÍUTpbí½èÈ¢=ÅAE51¬0¢&¢Ó ª·
¸
)4aI$%!h'0 #á´ºá£O§O#o+ i×ÙA8ÞTé&Lvz
þx#KÄ_æ@èD17¶ÿÙ`ãx~X¦ÏÔ;. á£of_GRßÆ7)P@Áa+ßÉ"$¢ ù»0ßåwü?ÐðR¤Áqêë`ßwj§×}L~Y®9êL
ÂÄþìÂÐìâëdXùáá2©¾JS¹á{®zéOÂ:.ëùOÄÉe A=¢''Þ·² û$^\Rú¼õó ?¯äåÈÅo·«Ï[;¿>Ì{h»¼¿ÀÍ6Fzä«Za(+m6ÛQ¿(µcÅc±¶X?Ók3ýÐÖÈüeÖXçÕ
:Ö
;n@£¡mHÂ]J`ØÜaÂÔÛ%1¯{ ©,Ö}*éÅAÃw<X
2Îî£'URnçˬû1!7¬" <øs?E²³Ü<Ú`ä Hª0z©!B(dqg.¸^\.ÝÇ=Êè"6TпwÇòÇÖ|p)µw :é2ÖÀbpÈ}Þåøõð:åDT¶hÔë^VW"Àt!æm2£Â<o¶Igè²Eîò¤·\üW)X[ò1ü!ÅN|3ß³í¶<Sª)Ù<=½Aú½¥1Øç¶#×r¯ç>_Ïöôë>CÛÕÝë&°Þ¸0[*ßé®.è¾øüÊb8û½öl|H&1¢«X5Ed$âSsÏgÒäê)áAu0ú¾} Ô÷EAO³]¡`Ö]Óù(øÈÀ§Ü©ï%'æ]è9Iªªªªªª/³:Txõ̸ºG¯úuª&¿2¥åÆe59é_çdõõD~³ÈúRÓàr,ç3$ÆX,Ê8±ô7Í!ÈkjºBÆçÄVad$¢ñ¦~Ú¶FìAáÊ/·óÓìóvÜé1t+)!8ì$:§»§{©èk£ÈGPLÇ@ÁiZbn¼?~
uÄ2àÌ
'aG§ØRÛQ^©k]}I¢ºÄzßwûíïïóðùGñÿWë}¶þ#¸§ßëϪtªÕ¾J)5Ѷ°ust~ºW¢«±áEMªAøOOÌ#gJÇûþàhclû¸öq[û29Pé
Ï>½³ã&tÃ!¡?L<³i<QçÇv»t×|_½EÒ}f#ó? ·ú<þjã¸ãÄSð;sWsÍ1ð®óU1sÒÑÃÃSÜS-ñï.¸Îò@k'3!¹ÔÒTæ'?g\ç5FeÎZËCÉ
ܵïZhèÒì-ÂwÝXj
Âað
×2g'½Þ³ë?£³Æö¤ï¿SÉãRâÌãSu8em±vMLæª2 zÕicϵcCáb±lÜfk)ÐwÑÛ;>Ú8æõõ©e÷vÌoC§Çvâ[J"êMäåjbÛÖ~3Ø¢yh~â9ÒÌKï1®¤.ßZsóç·
xÞ4¡:^
(*of>hû¥«qÙ.¶U¥¡4°FÕà-qø\ÊP" [4+pA
üðräg'ìÖú@ý¼v¯ýÿ¾É(}dÛ£>Fx¿ywîT@»9At`6èË"èÖçóéÒù³
Nþ"®`Î]ÍÊ[ÎêùôMþeuîÞ0E¹vg{<åpªÊò©ñm¤5awë¸D¥Yäý½«yiMü"ÀZ,V0ñóIS÷'-Pb4U%¦¥|%¢*UBó[,SIAÑ:ÈÐ--ñ¤3]·!³¥t®ºY!
mÉ)i¥o [§tá
Õhk¶Ç3 Û4T9j²®UßÑGkFá
9«½BNkº±^&F×»5s9° _l~ë!ÞÃFwCÀ-UîÆwà°\ŵҳ×_y|yç]Aàd{/ïDĽÓ:²hn¦áúVÙR©ÅÈxv=pìFÜÝnº*¡tóþáí-ý9ïë÷Þjü(ûRm8É.V êw;ê14ZôwÜýãazn)ÕÛP:»"çzrVqßÛt s¥¼\ùÊØé§Êè
µêg@#0Ýa4·ôΤƸMïtW:óª{\BMF%pø*Ïsº¢]ÝPÏÇuÁòíÝþnªó(
ê¦JðKÞ©g·s8æJ{.¾Ïª4ü[ü\°ø[!V±Áßî+d*ª[/»`²Û«äû2ק§ÃV#Ùëüz¾Î£fá=/õ·PÙ=.lx½ãªv-(B¥¹QÚZöºÿ³æq>VËã\ÙÄÚÖ¶æ¹òó¾×&1ÅTäûß}-
¶3>¡Dàö{ª`ç"ÇÉøÕ{¶ée§
ïºÿ-¸WìâS&T/0zJÓð¬<î¶[û7ÙléÖ×
sìÛhùÂúg Õñú¼µT
Þþ\ªºz`¼VÐæQðGÌÏìË<kã>ÏaÀwþ_ ÇæëçQwSD Ap
ZcìaÂ[xij¹k·ó;ÂAute]:§iáQx* ò*áxW@Éγ>Ó$αºfÞGWrªkÛȪTDALÒâÒï¢FúÌ}Írðn|qtÿpù©ë,¢¥#ZøØ¡Å
y²QÀM¿b AÛQæCRF1*?ÉXêkÛ=bM¥«v-,?ñ]b¡ÄC¥XÏÅ× á;':Æ#5WjsûM=Á¤ê(ªFûö$"ëØÉ$GÈf ®É¯®¿i §Ï'Ênå)XÄr[§=r¤[%g9Ø]Dâ°Â2"ðèöÿ7?ÑïpÖg§o×~ÌøàÍëÉ®\5N1Óuhëùr÷Ìk6r±OÌ¥[ñ±+MÊ¢MïçX¸~t}ä˸OS®y×Òö;Ëï;ô os¸Iñ
(kàçÖÖ½¢
\¢d½ñ¨
ݱ˷¤8E¡ì½à\P}:Q8zVUâ¥/㫳|©ïøé2-¾±,:7#¦3äcÌ==EWâ½ Â>¿ìÖ¯¯1½_·}S°àª8³U_^õf#g'øÀ {®E}=ôMÞnók¦rL>y/'×Cc$§ùO
7XàvîN÷ÀÜ2Î~ûíÃa0@×æ$mð.l947^§.nÊá®iê®}\ÀÇM©{£5R.3KßdeùõW(Um@ê*Ê£ÍôÔ/õBå/_j\IìW°^¢½£gB£Xt:ûKaÝV [;©ê!ÕÙQУÓà©
2éQjæ'¬ýÿ·g[(%!
XjDÃ'!Ø¥"r9h~6âc1]b½ ( ¡]ë£æ[|n¹×uú-Êøür!\ õJóZxÒÐ'hV LÊeX)nóÏ<Åå¸o
ÄtBk®ã5ý8Aä ´¡/Z>±Fì3?Ê¥A
®!æ§/1c¬süM¾.<¶94Åk=F£SÜ >%¢.ôñMòÿ£ÓÚÇ 1´å
òXtîwhô\ÃbÞ+ê¼V1Âи#ç7uõÁÀ¤ûÔ3ÁGM´íWOHãÑÓ:]MGôððsëÝβ2Zä³?WZcCwýËðËñª×Ñq®ÐÞçÚ)eà:ÇI7Á2AG0Þq>âö*òüü!fÙ{UiÒ6ÈÂÖÑøz^$Ð^é×'ÜÕÍ`zÂ(#Ìù¡VÉ"~S±oÜn(A;6ߪù¾©Ã']Ç>[-û./#$X ¾w®õÐ,k÷ùtM9ÿ»Zg(¿UÄ6Ã8½]ôÍXR-AxEy eÎy_b30ÐþÔ(´ªÕÕØEÒ
eA½qú¤²ýõ%áðÕæ:¢°<Ô1+Ít8cð$d=x¯f µh¹Û§)"
"¸åÒ8ã¿1 ºYñ¦¬8MK÷קðÿ³
£§%¯Dñº×û2·'l
¼ñÅlƳ»ÅöSvrùùA×l@ܨ+1~îéi?öaüÎ Ê)yâÜc÷¦Ât½Ïåh£ì\d§5c56!Oç_Ï5¦æ©®Æ BWöæß4PBwSW¥¾ãfÔäÉCçmróEú3åfÚë'¹)àQ´:~µ{Ìè}ßhÏxáOðaÌ*¢xõõbÃ×Óêñ^ÆM
ÊUÈöØáØ|K2VÝriåïÏñ~
óxx.u!¶Ø¤ O¥TCpýp?T"¯Û:±ÐÐy Í°þ§5::\M`j©ä/P y?:4ÞSG%Ø,¦ÑªB¿D:ç¢:ͽ}£Ú=¡úû;j%ûèÖ~þ[8qxØÃ=òî©^ÿ8
oúZ=ÃÝøÃ×P!?°êh3ÝN$ü=ê?αõÚoÚ³øâeúà½ùº²¼æi(qqÒtÛ²±J#Øt÷ͺ_Ü!mâÔ] &£¶j=';*=ä[öæJ"<_(.ø=e%
´Ô-¾õ/½_c
˶ó%J)ûüæ éÛCÏo®ædª¢nÍ9m~rªI$IR4Ü7iú¿ºeª=ÜøÝ>G:Ô½1¹\îs«[¡ÉÉ®ç@ÆTLùKYó$Åd*¢Âü$ñBK¢ªèìiáӷÖûóZÄݼDC&z%quÙÎöòRÈ+õmlaÎ
Ù=´A@
&wӢܣ
Ëçý3B¼·°ÔDÍ)mcpä±Z1@RÅLú0A^4.¬õ¿=¯®¥³QN×6xÁ-tW^H$ì[¶(q yEW¢ÇR?]>/L&¢`âÔä&NIQf´ tÙZÓ%RE¼J\ñãC¿ÇεX.$áRå)t8VPbãP¼g¨lÙæAõ5ìçø^¿ø=lù$3ú**¯Ißï·æ0èùuýÄaÍ«ëö;8Ê;'̼x+ä$!WÞ»¼FÙk¹Xv
¹Ñò}L1«'JJw9Vä bGnªÈ/øF~ Ú
f±ÎhQVüB<jaàæDzyf·~Ýñ8$G_Ì8nì]c2$rfFÌ}EÖëÏ¿¹Íñ#s%Éîzç¿ÿdÇÇX[èñL3ré&+Þc>ã~àI-
ÛÚ
/^æÀ® YlqÉ Nj½³kGuUã,±Äjð
¶fö®N)º\þí÷Þùç1cѧ¸ª
M¬{ù|w!Ñ|vznp@ðeë5¯èÔ@DTAm]$3
]ÂPzckèG *ý«kv1|÷ÇU@Ùï"§l`âûgêõÌWõµôQ2ÃC5XÂ#Ç4tÅ$¢Àýñ^×"0Ö媩.kÊ.{ÌlWì³·GâºG9j"Ýù¿¸ ÀVÍzDê$c©sQÈ1 A¸5a¿ä»Dêðç¥^Z5òQ7vÑÒkß(a·o
¢¦:ëÂ!ñ
«`[`\4Ç #"ïLs¥D:¯úH}/ª~cêÚ ±o
P¨Óoñë¥}yZaE££jH¾`kÜå÷ë
¢
¹ì.eF Ð=áÊò«\}|Kõ{¦ê_ÊD10t$8ýlxà%°ÚÙ1 d&Û~Bìn-T$¢BÀ¡aÔÃÓö³Ë¶¢Q¢×¼¦Ý%-UÕÓj±JÔ<\G&¬¢pTHiñ´wü9Øt³ïÓûõê¯{¹ÛÂ~ h[X~ó1¹"k$
ê3Hl÷6PªÖ³e^Z:BÄL«ÀÊT£úWæd@È_uÔÔ(ëçKÈòµ7n·êõÐiÔ?å¿_ É«³·\6öïçbiÖíìØä5z=Ù§± ÃÙ¯Õ´!hÛÓÑZÆÿ®òßPjD+GNÍ×ìÂÐ`äÌ¿Û«7}=DÄZãÕ=ÆnäÄ|Eÿ3¾Ç~G£~U«ywä½ÑÐíÕOeÒÍ`
Ì,Mv-Ç@P#$å ±xÑ«c*o^¦DHfðãÂf×Vâþ5QMB/#LBÝÄý|à&5ùÝk-þ¿®c'Íâ&:Å"]ûy¨úQð§~¶ªgD±Í]XSµÄÝ3 ´GB±qø:¡_»Õö}F3ºÁucñ¥5zÁ6þ8]Ó¥¤BûïIMrJ\ðkó AH"<|0[©|~U8ö×Zé×Äi 37¢9È1%Û1
X$¨Õ| {Ûf½Õ4{¡ã<Ðù e´ªªÊÛòþ.]]/¦!$|05§¹Íh$ÚUAÄDLlóãèÏpÑ
GG6ÚYµ÷pݤRùHM_>»&½ÚÞ5>hfvR?Ë®ÏBb?XO¼qGMàâ½¹
>C¿Ñï×gôO7ËYôc{jÛ"áz¨=~ï_x2ÍæÍ·Î1[æ¾I5÷ÚÄÛ6L8"¼Èôwªàª X~**]½¬È#èíQp'u2Æ1ÌuQÃ9Àëu:¤ÇïPÝ#¾h<ItM«§L4=q»×ÇF:ªÊNmHFù\,©³Ô5`ÿf mK¦øµá@@.'"fÕªåÀ§yVäüeúuUi¥* ´ipä! Ú1(púGg7ÅÞâ¿Bú¹\ _ÓDNcYAæBJPdz
ýpsìÞÝú´¿tþ¥ÐpÊÐi»g°}#Ö:¡?QîAB
gÓÎd,Uò¹ÉÒ9îÊ&®ù:6ÙWÊ*®J4PòXä£ øÎÿw²ÉÈèÛ
NNaêp¨Þ2Ë Ë¦o2ý'ÏrÆÕò~«û«ªsÝ×t%¿TpWpåâz#£ë¢:dÒ8LÈléð²f&ÀÏ ßsåìåÇÉrÇGZNöJÖDJ¶_SxÝBå<ÀJzô{yýÃá÷WצӶCá
ùhpû(|Ð
á Bh"HxnønðÉ0QúyXUkõ¾t®]©ÄKÒkUPWë4j îÙ8k%mòÔNûÀ $A¡%§
ò}T)ý!ë¸Þ
PhÓ<=+Ô5E¶-}1û"á55LD£ôËçô®«
c_ï MÛÊ $+ ¤ Ü¡ ~c^?]í
.õsA3ÁöA$nMpÑ|LöH_ôpZ'7Í1á
ÿ68ðä¾Ãµ`ë·k Æ¡o¹RvµýPBÏ5D7oü¯Na×YqBË¡·à5R6'à¯wRÂÔ
ªõúÝ=»ô××Ð Î7²vìþñóàîÎGv\ós°´£T[A÷¯AKÎIjNа@@ûx½áUeBå\U|ÿV@¦ã²¥Omâ°Áåvª,Á8ÀAJ¿ð¾ÒdyÏp2dtë²ØÎyØS²ç@cMcr*B¨R+Qÿ¯üÂ×ï³KY¿¸)CÌ2|mm¸¿©WfÒiæ<pß९/+bTæ 0Ë'%h{÷h{åm=Ì
¡ÌÕVJ+ÍÁî2Ò1|/o1sª_¿3®ûNµ)¹2ýµÜø
twLÑÕ¿{7_Àï9Ðå7 hpþãËnÖ@dYU`Å3ê×ûmá¹ßª,+©k,DJ¤2
ìà;)(
°t\Èë¯âоR:À÷
*V7¢í®%ßÝê÷=îøx_×]TWe|±QùêZé¡g°Öé×b¦¡÷¨dÚý P(Ϊa÷Á¯è ÷À}§nP¨6EúC("nÍBþ÷ÐyAðo$8Dìü¢Ë^@àEÿ,P 3M~}1ko].Pa«= ±þHß}]v;8I¦0¯ÅâÂÞÎ"û -ÇÇ>{Df@ qÓÃ+#¦¥r÷(æ°
V9.ײy·Ìƪ߲²
À]
·ÏIubH1óoòÀðT;Fv·Puéés°¿v§ãÅUZpè%Ñ 2º¯QæPõÚÜIz9ÃפäÆâI>XÏíg!WwÒtÙ`ô¸öéÒåa¹à`í*uéÙÕÃ}YÑÛ¶æ
71S#
s_ßt±ïGÀZ¡: ¶<óKÓ4n|wsôwq¸öqþmvãsð_»]W@ÊC]¡ÙA×"±Vv´U\/Ñî\óÁÝC!Æ¡î76Q¯ÄóU° -(0jܱû!òÕü¹ªÁ
©à 0(É
"»¹= /öü±<c[ü°»£ µ?ïÌHgÚ´á]jö[c8Þâ+.®¶
YÙTÝBc<@Ë$%é®/Dkï¨W¹c¡UÄJJABw6q(ÏÆJ®|HC¦9ÊAÞqã}ÝXYæ?béd¡//Uàæ$È@sg®|ÙAEd8µ;~÷YõOê¡WÒûþ6QÂsQ°ÔåÝj¸+ì^Ûn²%Ò¤éþ5¾ÏsÙÛ_y¡õ[¤×lqI¾£úD ¨Ü6
!ÿ°§tkYGø5ÂoZò¤O
}àðÜÛð½`öótÛþÚ½ý¥û¾º}=#9Üß×ܼ~ÑñøÎÉ\4>¾ÕR ¼Q5¤UÄL>]}°ÕÄ`£æ³È1R{OÇä`¬,=¸¶&'é9¸Ô`*~2öüY.z×{.8À>¥i̽۸%I{¨àòÝRfÄ,.W~~«W´+¹ì >6ï ³@\wÞ¨Áà,©l~÷ÛÁä¿èÕq¢tûÅοVÐ×Ðæ#J;ìse8}»,cºªÓMd%ªUT7ûî®rV¹Q8ÖÏ0'òeèðÞ^8=ÕÐc(~ߤ=.»<à(yÕÉÞ~ÉÚùã²ÿd¥7|¿òAÙcg{ñÚî"üA~õwáêsPÿI§Ô5(tLa@ÍÒ<8¹Ñj[2³QÑsE®ºDÙjêEtHtõJ@µP@tçÓëÆ+^2W·{#[4&9ÉþÞÿèq>ÿÅsfËÒh+Ñ Kɤ;DRÕ×®¨P²ÊèRýY
Í´]6uÂÕH*bÑõ^0wÖª\dµbJ2*ëÆ2Ûb±³¡qæ2òì[IbÇ?.ã~îìÑ7¹+@Ó@áM·mÀi~yßeYJGßÝe#Y }FÍï9âÎÃyvZ+Õaq[ ¹hß
åÆѱµEÉ{æÍ_×g9ÀYQôX{jäw!CÚl¸SEÌÚÐÚBÌ-ëAô¢&¹
ýÚEàfÃ[z,ï©¡
ú¦}ﯦ(¡îLÑ*EéñÁDbPD+a¿/±ÒAûghdLáë¢ð¿rFØ
AÉcIîý#gÕÕ(oùðñóØf!ªËB!ôÓEÎ%õ ÁÑ,ýð"æøáµÛ£ûAX$.4Ð&ÚãÐ2*V:mçóåc>¶^ë²T%¨âÞ!1nöðUÙEÂaÓl2¢-ÈGS 3Û\¹:}Þ;ûû
AíÀ]dõ7èÑзá
,¤>hLÙ*'3´:"®nÆ°¹âù9âÿ"UÓòe£håÎñÁôCAÌNîg}gÁ0¦¸H6!E 3Ç®M}ÎÇâ®+ÃÊ4å{}{-V`öjGéƵE°)p;àÿæ=SèDÑÊ*úýí+µaò·][ï¾ö!6;c}WjSJRÀD{PÑÉ#5 wGG¶*ö<Ù8;>5àÞ' {to©×Às
8È@j-|Ôå¾µãu¸ÝAQD1g%·¶ÙHÿFËsƤE9$0f¹§ñè/Bô|wõývmä¯w_êÞpé6î·ö{`"µ@ÕBÞµâ~¬Õи-©|ظc
ñqÐ:*÷¢5
LÝw鱗oÎ"C
÷[¬p6[7¿ÙG³År½ð¸^ÇÍÍ7`PÌk®Àè"Ãë
îîëê¿D
'ÑÍwsÉ ÊB&M´iñÐrÕ´´X+}8â.£ËûAì·®&fQ¢ã·ÙíZGm(:·[îÏvܺô³9k§Êô/²ÈPY9Á 5íB^u¯gM½©ÓÕÕéÝmÝòì§lRñ£7ô,¡Ø^¡xª}cP$]
iÄËÓõ«1± »°@_}Oë
Qþµzäÿb
¿-îTTúó¤fªð$þqH40ê÷@N/i«YÕûõvA K l$æ_£¥itd{Óð{aà <G `5L¸HcïjsëCcà!wgßûrq.öïñú¦WôÃÊÀt;ib~çæganR!ïê¢üÊ+ñ£Ë¶
laðX*嬱£+Ö;uVîå# õCýñp1ØHë»T³Þ]òÖýÑúqã¼ÃuÈÝ+øòH'F³c>BÕ&QO>îû<¹Ä.¸ú§éW|cf¼bPúðKåóìãe|qï®!qÁú¿(©á6ú+)ïÜ~,aû´§Ù8[zÄw·Âãºëzà»1Pæ¯çAo ñ-½ó¾ç1ß}W¼»
Baÿ¼½ï|_Ô·ZåöX¼:ÝõA"@ ä@% ,õg-¢Z'{¤Y×Â8|Ü¿|%#vÕã
ÒÌVTNJõdiì[u~6Vo¦¡@¯ÅÿSG4ÜÒ»òi5ô¼1{æ¤Ùx\ÜØFêp>5<N²Æ£`t>¢`ðº¯ÉúÏåÏôþK¥_$dýµÇº¾³þüÏ<Nö x/Óî0CwD*.î¦Eð¸dÒÆÌL h£Ó¤YíÊ'k2
(JBGLhÞD¿.9`øb¬îO|~uñ@°òóç'ù:¸SãpW°u.pÙÃ7u-°ÔzTM辫¿nih]Ã\2:@dG¸ÍâÌEý=[ÅÜR©}!î¨ <ÂÂß,Qo¶ç÷®ýaE2vÙ ×|7»è6:2.îU¹öºöaƸZ¯bȺUÀ6z1¤.ºl6RQ&¯#¢/¹:<+2èB**½ÁÙx1©áý¶ÿ°ìu^a¶#çÝ&Â#ȬC4Ø6D¤? «åý¦zØy
¼
ªæ¸Æ¨)¦Õ 1Âê #¾&ü«©Ô{tQ\cDzìºË7>UãgCÅbÊæ#¦$±8IéÏT&±u·Âu|à7WÓT\Ñõ×ÓèµóÇ°Xñ&Ók0 ÷ª¸?æðgm%´¸8ÕcÖµ Ýý¢]%õùý,9û½L\½2©6|ý]ÚgVöY?Ë°¥»¹¥R$åì>®kã"&e £qwXûl¤î¸TÒ33`û ©O{ GðrEÞ¤ªr¦µó½¥§¾a9åç3%Ò¹`ðD|Öÿ>9qø%·ÅG¿NÛÙãFªúÍ*w5ÆÝ(8]Ô&ìd÷ÅñXUÕTO:ã××ÎçîA°QAh»Üâ R$#bòÞØûUBãA E¶7a³é"ð/-N´VªýtWZæü{¢â3kxÐ@°¡( mlg
RGæ W@ÀÛ¦¶lVæÁ¸çÍTÔ+ÈE«<9\ÑUàáh¨z¯ò©Â/ ¯~1Â3"?Ç̾«°Ö
3®ÚÚ×
ñ\®¤ëéÎɲòΪ=³-¯\aL&ìÁÿ;ïÒÔðDKGÊnoêñÑ
ôë¨@$Ä¡GNa¤«´è`ý°¦OÒËë|6 6͵ê~Æ\º" íX+ä¬èlÈ%Â
P:}¾ùý lj¢s
Hcwp¨`8cEuAÞ¨AñªMaú5[·J2sFõµ,<)(QA Ùänü8ÙÈè73ÇF~Ó¨ÜOMÏèf'0/ËAº#nLÓ@E$óXagPÚ¶àà@2a¸Ò/×ùŬÆ.ôÜ°-ÍvÌj$K[¹xû@<0ªjûjªÐ£#_FÌz"ØV8ED@ >5Rf»$ÖѧIzÚxËj,VP#ÿSi<faî÷þg_£r¯uJ;³>ÎÑjõ$»Ý~ŦçäEt{*Fû¯¦Õ©a~ù]¢ñ A@£|\mTºùÆùX¶3ÙÀÌH^Cì²Bê(ý=<ÚYÂÙÚþÚ
µiüò]Zk,>8UK¶$Mêü8&ªÄÎ+§MQ©ë]ÔÖú¤õ¬nH÷ÁúëÙÜkC3I]½ÂÐäGZAªÜÌ
"îÃk¨C[x:ÂðÒùá#!yÓd{«öy>§gÔ J(¢ P0]vÍÔÐ-töÑisðÕ×Ù-7OÎhÐ]MdXô
Ó¨©3Y8V#Î3lþ«1q=
¥ÜÜ%$ËóìõÉQb=ÁÏuÕlh ÑØA>ÿУgÊ¢0_í îÕTSb{®u)ýë8ó@Bj.þ¤hÐ<ê)µ#Dz*,ÊÇY~üu¹PCV6þöÊæ7â_xîäwÜìS/Nçü¬,+C5jkË¡×j4 at Yµ?®pp#_Ïâ -y½¬° 4W¿Eà£EvíÄWÐÂ&81æáµEJ«2l{6eUU¦5>yaÅ^¾fä¢GêY:ááG²nNëy*º}Îhñª[ª
6±Ç~á [u5ó3V6(Qn@Å ²
½9ÁÒãÆÛJ)líí¶¯t¾ã²cBJ" H pA æj{h'ìoB½ÚTk(L¸ÃkøêËoL1§3¾`£uCË´Òà¢çísÃóÛ²nHytòlýaMê@× ÆBW>Ñ®a% |ÆKÞ>è´S£ÇHq &ôXÆÒ°IlRô4¨U0¨SEkGC¨ÌºÕ_à×Ô¢ Þoö·9ùSKܦäT 3
:7I$ 9õb¬·½;Mf9»×^TZOnxP*P¤E
§¹Ýá é¥ZìÂê8£Ô¸
½°iÞ9%ÒÝ=.õ¶½ýËÜ~¯±°|¸ÏY4ïû@á¼ÖÅÏÓS×)}ïQ 6>¸ª@°Y303]A/¢jçµÁtë£À Ôa#:ůß3õÎîIEÓ1ð}QAXBÈ@ÃÎ`Yí~lÊÏaÎúQèsÛëe"ó¼mjÀæYÏcÜ_Ffã;¢p´/ÏWu²¹O«ÑöÏ
ûøk¶§¬ÓsRí!Ô¦-VµÞ*¡{µ»lNJ©+"MÓp¹]í7Ì¿[àú&³ì=}#ëöl³h«ö"ìÅ~orÝY³.²ñ !-)ÐRT>wé]É
c(ÿLQ=÷Â_åu<(³Q!-ñi
p-[µÄT*w÷ìâh¤Ö²¨-v*Ã6b`¡´&C&EVÚZ3êñߺä¶é«4¨s7ib1Dÿ©Î}ÍDfâMcâüÚöocÆñõ¹±ú§¼é:±áÔÌú®ëG¬ç5ÓÀÐÎR
¯É¨Á6E÷å˶´gAPðUì5°zѹÝ=
(¥%/z~ ±
,½jËË·¬É,¤&O±è÷?G«ëUùJ"k®9ÙUM\»í¢äk¼U*yîuêÆáÖ"à2Oÿ£Øf®ç»Òü!éþ~Ó#SV¶Ñ·Qæqw8Bó_Isáð¯ÂZ©¥V£h%yñvÃxQ¹C§@ûÀ]d·, ¬!|PÁn
eLï5Y-¦ç)j,Cÿcè)ÇìÖÎOÌitÖ%Sm4ÓÑ ÷ ÞC§Ï©Úp¿Æê\ûö÷\Yé&§v65<¼µjA$·£þ#ùõ³¸{T×~_2öçÃHÀѤڹ
ÚHc`üd°«t
Ò?¬ÛØ;0Å9bOp¦&>dýFñ8,þ';Ò1$N¼Ô[«p;¦KÞ53a©KD¿RLãPf1£ÒePKÛ0ËËî¶>D5&ÂÂ6ï9ü2_ù(û~2ÌþzxÿÁÄÛ¬ôí c-QV¥·,UÛ+
í¦ì-¤j9üRkõÐÿKÑÇö^Æe0$ݨr¥ÃÎ^\¦+þW&´° Ì 84C´§¿-^UÖze^ÆhEoQ§uñ«÷þún%÷ÃÆqÎ)§u®I?|Ô4âmßþ]M{ñæu¯ÇlHÄO÷eóiÌÙúØ«ßØq¢¼ó¯¸??2>4(9
<¿ìÖ,=ðjòö òøÄÀgi©Kþë|ª0@ l8ÝW
Áf¬EL?3yùppC6i¢¸MÎmªìÀØT°lÛËAáO-` -ÏÒ¬GéúÒB³\ð¥O8|×»QÑ9EUê¤ä® Ä/:2)æDìÉß¼B»lYl\ëñ_Ì¢ô 5o
xb"dÜFßìþ|°§Ó§o~7·ujÏe1ÖO{àñ«7ÍØÂÁ¾÷ðùbFòí@᳤Uço2lªúØÀÌD_17®pk£Ý±Ãï
Me «NUTóéM2*dwÐå±æ² òtá'Iì*Ü
ð[àÛTj[UH)èãÕ߬`.ú¹¬|Ò¹dë篰(j#»H¸E.À?Éß5t¥ºëãùñó/Îãlw&üß ù%¤(§
/wP`&j"Í2£Q¬djÔy4«ê? å¶d O]#ûZïgN?s¹Æõ Çcâ ×}¶Ý'Ðn¤?ÁÀÊN@Õ9V
÷têÇì¢ -ßoö×xȨ¦0!
ßYïvúA.Le,®È´V|¯|ôÝãÚ8ò¡Æ¬«|A=UÌ+Å`È8#¸ýÝ+ËÉ¡Q:@¹:¼È«ïÕxø?a VCÿvínä]
ZÃ5_ Rø<
ÓZíóg0:TLüÿdln§gf6&ù7Ë_Õ4½,¤ß2~·MlJY^]^+ïËlB þ¶7ç¿\þ#áàÊ3ýtê}.ÉaGa|lDo'lQ>çDÜDàã®ÉZ㸤a+kyÌÛ^ð¿9§yú¹õÁ7¯f
ÝÇýÜýÒÀDou}
³ã´Qgc'$O _G=ÖÏûª6WÍ]IeBWr°pˤG÷º$ê{Dêx uUë©©(5v7±Ï)
f§G ð9F >PÊO½EÔâa) 9Aõ.VÉâu°õ&C~¯|aýÌz9b|cÙ,ýçÁt«Fz0ÁDT¬úÎ\@}U>D*q\xãü«¬Z&*5ìü9ã³µ²,£ìÏãú3+I/õC¶Å=hÀ~hÁ3F"ä`5<~^öxi¦Çú¬ÅúvÅxYAWAQ @Ú*iFéàìÍóheõýãÏYtÌê\t¿çÆéñ¦LòWå;,¾½ï±g8|,¿
F~÷%%qTé¢W«LѲ
:¶xeì#S]Óèx{ÞüqçLÀP>Ë o¦C
½L'¥
®q¯ÀTúþ|1jR45-´Ûc*ä/ìɬuE+ó°ìýJ{áX¹lØ<"qXô§F{L=ßLÚ©*7¾Ý:à(Ró`Ðmôl ´ÂIÊ{*p¾Û&ObƬïpvZ¨ÎXÂlÑ2Q'òa£µïðà)XzUE+Ô"X ¸ Ñ%Râo'7Ú=º)w¾ÔjËö¼lÎ÷°YEì²8Ç¿î¸O¢MÛ7#+zÑØ"ÙTÂ*ónn¥³ièa¢0¿Mæ;?)~[ènq÷ñ¯Ôuà"rQ4ñ£^ÿ06?6Ì{ý}û½¶ß}Æå.l!»¹ÎqIêQÝQ*<L tÔ¬QƬTyãS³\ @AN²QMP¾ÕÙ~¨ÅØ|cpôSÛ~R·ÈõêÍúó?Ù<,Yí"
¥"9ëè1Û\¯}C5¶ppóÁÏ®Rì÷B¸K³F²©y0ÀrX |Y|þ_$#¢4ÜÖyá¦Å64Ðo~1m1| û%pHõöÁEbß®©*2 ¯Ñe2ÕâÇûÝVÏ(>¹Õö¡Ð®h ~WeÍ y/_á
Ùc(}·c?Щ ú"W®qñ7"v&ËiCTàÙ5Q}(KÝ1aÒÍ%D#P㾡'ì·(õû«ÆUD]®bÁ£OÄÛ¶îkÄvE1Ð[DÝDFjdz'ÒårD[hfaR§6ÑWD,¬Ïl
÷¤c×F;×'Ìît{Uñ£ÆO|ô0£Þ¥V
ÂÀÙ>N¦³ô"déî÷âr¿(ëT A°×{bÔÕ>@0Õd46]vä[lp}u^îi+ʹM}yºf¸2ðÔá¼:ç`nùIòÏÚïÓÃTr
¥8o18T/¦u×|]óÜK¦GÏ¥ÃQ0×Xÿ=&sgû:h)÷Ì:í\ðÏ.áZÒÇ;VW)íÒ¥©bÚÂ!±ØÄ|
ð»f ñ[d¯"¶¬¶{n
ú,TB Qk£«øUsª±¾¢Õ7UT7`0ª<°ì¿gïÙ
Ýã5Ù«`UÃ@êmcN£È W=Í-|QuÚëápá¦ñ¯¼-{o»¶
ÁfQÎ(áU«]cQ,×é_~Åcf$Jþ_épw¢Ô=
u¾ÁÏëÙª)Î9@mÃØàÃjåE[¡°C¸yl",ð#PùJËjÄnýÀ+¸pFI·²Ê½U4%)
pÕ§*ù.Õ/ÚÝÅf¨¨´AÐa6»ôÒ "ªQ÷¨â)Ô#oº(]Û p³Tk²"¾µ
èEABÖ£S1pÜ\=Êa¸þíÉ%0µÚ
÷ónx
= @:È ôÀ/òpÝÇÖOÃo,DËZ>%¿ÙáÁ¢âHõÏ×ÖøðMñÎKgp^ í:\«»¹Ñ0Ä,d,JÉð
år¼ f* ±S©ó¯zXcs p!W¿ ¢ÉD×½
Ë ûo¹\h
x)¦3JmtÔ»7¯Íõ¿,^.;ðÎ]VÐY2WErCÐç¥\
lr/
H/Glø´½Þ4¼ 8pîÎC
ã ô#ú& ÇD$LMÃX¶{>ÞíÞ5£hÿe9ÿ»_GÊFa\ëµI/¦r) mfRçTùÂ;¨~OuÔñõËnøK]âÇSØSÊîTqO~8DÕdaÞ~¾ýïg¶á5Cdà\=^4.ïôèNZ½ztFì`Þqù=9úZ-èÆS.µHý2ò»~µ=F!Ý«"ÀH)¶¼]å¢Lùu:}µÉónç¹vá±-ìºù¬ZçæÇgÜnµá¬bþ~ϹáÐØþÖs2ÿÍÃphphaNÌ[Û±g¸W|gb®!¸®(t
¯HOð!'äÍb3!
4Ù
¶VLKÁ8ï!aÒͬÆÕßó¹p¦mB1$ù60ÔD°$:.n¶\¢q{Å0Õ¯@äpÆ¥-¯t¬Á¢\v÷\ÂJ"Ác©;¬âç°©!Hcøë zkFð1e÷>Y¢ÆÇGÝÒWÕ¿}nÁàhÁdûðY<ól;Â>³L0¿2te¯·s³eYòxÇ*:ñdTb$?@¨!DBr¹n;[[JöݱÛd£ÏdÙ/
ùMW_qí<å×÷ÔÖóIÏäOËú¸±<1Û¬ùÓ¯½º>Sêø4æçý1Yw< O8[èÎKÂz+ÉâXÞ\´zöWUTW{¸&¸_þ³ËGúâçc
*ÞÞøAQàaÔ6óÊ¡'ÕvàYx!ã£v ^°WÝrT1·Á<¬b¿#Äcïú9ô½¹çä_É;*Bl¨ü¢²BÔ1vÚTÑÊ)¼;x5«©âªVàäô-÷ë>k,¦$¡L¯=¶ú
jÌyJⶶ*lPÂÔ©¦&¢ÈDDÒÍ2¶¨Ò
Ö°hN²tÄìÔl´¨gGIx×ÊÅ ÅV¾|×z®ükAù½
ìðB£)1~ÇºÄ x ·ééËSoûjÔÂðÇU¶F$z
ª zá°øG_$°;áÃb
á6ó͹ú翯Û
¿¶ª5³ÎS=çh(ÏöÎxu\ááónJÁUtËøz¿f´MUyãy.´¯bê
;CQÚ!iQè }k"3i¤Õv>¾tèyE.@þjå¿ïL3m0ÝôuyM^eIhÜI%Òý`q`f
[...3138 lines suppressed...]
|p(Ö7¹tá,¡çZ7°Õ[)Þ©w
ç5p:ðª²#cn<2°ØëqÙª<êãl6Àlýÿ'¦#÷7ï^æpi Úæþ}^TÕ$fld/e»NC[õ2Ã08Ö#½)ìpöÖè¿ ³[¼ÌËÇp,çF<LÉbh|@ɬPbAôØõÃïuHǬ&®*W
f]7AÔD¼|ï55½Id¥NtÅqA$4ÉÀî·qé2s*MµÌÂøÛyÆ1ÚÓø{w"4ÚHcCÔæÊFë¡u7æw½éDùcÖøÉ
´!°lZ88íLàs
á3A$ÄØBáÙ·jU£Õ¼÷-¨þ^Îmìëò4÷ËA.uçÿÅ¡æúªer®ß϶s¥ä?¿«×-Çs5(
ºO_$!ÊÝ£ìvÿzbH¹_]B#3Þ¾tñ}PkX/ÖÎùuWÃÆ;Q³YqMC=G;3Ý!¥&ÈJÉ¥
? ¾¬lËmmù¡V¬*ªªÞù9çÉüñkrÙÝbü¯,~lQÆO"²½ÅtqF6=5
ñã_j¹C,-$oϬÑÃd=\Læo"¹gL%MÀgÕ0Æ?qm·H{239¾ÇÉëö{¤ÑÛ#!ÚØÕ¬hÑQ5QIEAä§ka¬§!Ç[°i\³¦@n±4ÚcR(£mHÛpóÞ]#,Â^eQk¹Ân24ÙeMÛ¿·F\$IQ¯Nô>ÿCÛüoAø2V<´NÎbdaÒM-%44TR5ëÔ´uÌ#rcI¦Á($¢VAk Ôá:&,²u&¥3àÛîÙÄêöìOPýø äçîÝ Kß7ü;íµýãö÷BßgÍo¿ º©øk´MÁ!ʾ¿v l¶A#ÓcÓÇiñÔ`>V (& vVýKã.§þá'¶ëX½ÿ¢[ÞíÇ"¯r6ñÁ½ºòÁ;v>ïeÙ±®Jåø¤Ñר>r
2i×ÝÜlúäæV!ùO[éÐʱ£ü¾_.ºðéÃqiÍIJì-Êm¦¶íFò}â² Øi¥qÎF÷ \sù¹ôCrÇ!ÉÎ9S8Ù
e0feê,.µ>ëÙ2 Ó]U
d0£MôÃܵ Dõ-UÜ.¢Q¦§kÂqlËßx»Üçe0l¼KÍí³¦(»°Ðã]¨¸f´1õõTüPúxð&êg¿FBú¨¢#=9éÖzpn
"m7»ÏPpOh`ç(èÛ#Sqèù<ú5nT»q}Òs} $È
'¡2HLÂVhùÑÁX^+e@¤#¬ý;Æ®íöWeð«ÕÑéÂH.¥Ö<9aF¥°'dæùaI¹Åà¿ü¼ÒB¸;Ìæ|jqº@Ëä#²wNqß½¤u¨Äq=ûÊéc?,Îؾ?HupB.=îÍBÕ)ý»£]-/zW®$6Å«Gl,üî¯CժЮ·Mw#ïº[G¿~[e}*
µÅ8E,ÞÝr.®·ÍèÇçÞ¯y¼T}4ØBì~¸ÊôùM¨4+Êô¯Rÿ×òúý\éd×Öáx¹W qÎN"D×M£³â¾è>Ýáqæèþóí(A&gÞÁüúL)Q~Ò"»?òCëÿo®Èùì81¤îû:9+Ñ£[õ¼ßbêQÚÅlù¿ÅÕë2üÇFÞ:ÁõlSÿc÷Oèçáÿñ^Þ·^3nèJ~8Ôº¦ñ&×Àq¬»ï#ÂÄè6½ã~Û~£ô·ö¬aoÍ_h±ÇÊfh¨{bù#³{ël>¿Õ{LË´¯¯"ÃRI·!'¹íésgÍe£g¦Ï·£úiºÒ¬¤¿3CGn_ÕN¯óÞÌWÁÉk
<£à®Ö ¡(W}p=?Õ¾:}óù âfÏïèÔ0yü³ÊoAø6á¦ë¿ÑaWïNvó%eØè®ú:cÐhÐkìüÜçësÏì°¡/ñb=j[6¿y9µKݱà]Ô)ºÈ¦ÏÙ].N¯X¯â¹ðj¾ Á7^.×|#É
h28§¾<Jû©T9kiÉ$«ÒíEô{]¡°yËèNañèë¾ió5ÄpôÇRbÛ0cNÖa[$À`×dãïþ¾ÙB\a*ÔDDIv»ssÉko8Ç;£7n5 Çâ±*¤Ægãç
!kvE©Ô ¹v_uû`ìIzKÈè<´ûùw<¤sÂñë
}¬7á_rgA..ÐÇѬtÝ<°^#lßÈkÖ«¤ñÏâÏRÞi¡FÍÇ ~QêrÙ1Ö£?~:hÛòÿ¯ÛÛã=HÛÀ]<C¥ÄUâûÃ&)_¦'^º|éóeÍCSÖ¾à÷ï4ÄádfyQ3TV_^Ñ®¿ÍÃÙxÛÙc®Bxè÷Lr#¥KϦqV+jòÔÜãtìGÈDUæg.Æõÿ=ø=óÆÿ+ä9LÊÏ>¤ÝA°zÈR?3´j#Õöi×¾Ø<ó|YÞ+×açM1U}ù¯@8L1UI²I~Û¤ÈOêgÕKam«YkvíºÃ&?¿!\\¢¤*®`X³vÄQãºfÑ:$C:~»g®÷1xÌbeÌ=~ðwø!/ '@üã èN)Lvþ¬idç+À# ÿ;ËRyé2¤ÓA[ßÞÑÃüÄ@|
K7¡7ìaÌÚ¾¦ãI×Ïå·9\i5Æ%)`2¸ý0#<Ñcd¶ÍV>¥ÕëÝñÅæü7}^ÿ®Éüè9zì6õ]ì°Î½ÙFç¶GHÖJPñÚ¹YA§Tý]nª£·ªQ6ê¯M¨=OnÌk@رÿºcRfÓÕû4Õ
kOͧ,£Û¶æ%´Ê'dbhIæC<.ï÷?d³Ç?0aF{íÛÄBLµA|(vHQ=©½"+õß©KOl¨KÝɪ²¯L¢NÈI)¥®þXpß(s2=UÇï°Í¼ÖH^dõ«#©hÓÁ÷zãî© 3¯YÇקµ×Ù-sósæ²Ìmip¯÷¿qÏ»qoåy* ÈHðU¿UºróY+M×:¢yãuÛ§¢ÝEzèr[³c^ÇR"ëuU\f¬5 hw`_ÍPH¨dey^7åÅärùöGµUß$Q$ÅR at yÇQ0Ì ~0=LÇÚÒ++(6{½ûL¾wdê#D
ö<%DùÞ¥üaAÄå¥f( ôTS
()×ÙèzºmoçO®e¾ Ä´¼¥´BLàN 3 Ù8LR?wd;Y Ìc¸m×¥â"v@.00NaÐÀ_Sá´v!ü1\ÏoogÇÔÌÂLrZ½·_À¼Õ01ö ÔºiçaºÎéO³úzhe»|åãéa]Åø\¨8`WÓ§ 8õä~k«Ð¦¿éç¨Ïfdì¦ñ¹TyJõè<çPÂy ¤ÆÎwfä·øm=0ö+¹dyX
&Á: k_
¼`éDM&7¹Î-þu¾nç5 Dûçöâ·Õ(ìpiJ¥=<)VîøÀB¢ZuD_(p¡áÿUØs¯¢Þ
Ið:ÇMJÏÐç
åþ¦øNå øX¡Ç(?º¡Ï¡¶w9ù!Iz$<«%è@I$µKø"Í?]]²ÿ¯ÄrÍÆz¼ yQ6ühA·ÂÉÞ½B6B½r:óÎó¯Êl @SµñpÆÁÝÛm,hÄü~L_f)Ûòh14éõêgþ¦vïK ÍnAéËÈbÛCe\´þÀ¤
ö¨·8í¡ ¾<
çãÆô!¼^ÈÛ¿îÒ£K=TN{!ÛdF±>:t
·gÃôZTÌfö9èh|Hé̲LÛÿ¿î©©SúVzõÎwM;pSê;ø0u ¢fgÉ
é·,åçÀÄxý¨
w·dãµùl*ìµXCº×Yά?¯i ÈAÊÐ;qI& kÈë<³'Z7ÆXÒ¬þ*ú¥Í£Ròé_ؾÞ^oëwê·,k×ø# HY#æS^"»aÚikjíðÂèîÕKKDØ&"ÑämþÍr2RCÐñEqÌfgYr`̷ܱ |$4!ØJ$)ôU±.dQù¶\ÙzÛè¥åUÕ:4}'a^M¨-6\í½0ßr
æ'øñz1:yÍøÇõÝâsÚ| ¢¦èe©éðR¤¤)ÝèQoIù|Y8äO¹¸HOÁúÁá¯à "÷È:°?~Å&B³óÙR-£"7ê
Â
m
¤ 2¼eL##+q XäB46jh·dMFàµ
gY;°Ìó?tãJlÌÌ1§#.#"¢¤& ÃÒ4*ù<O§x?1úXØÝý Öê7C XECïY´À,bYù)dÎTdjñAþ³~Nuxá»Êü7Z¦¾ÙÐ5ÜüµzãRMjjËg
h?Õ7h¾«)Jÿ< ²Á|éè°^
&¼;·ÐѽhÒH¹Ô¡~ Ù 'wÃmÑ\J¯¾P©ÒÑ8ýªSWéÓjëË3ÙÍbcõv£Zt{î,æCº¡ÙÂpß>UIîX¥ rhobÓµ`ôk}àm%ú,óvuÒó¯¯Db"Â×DûrÙýb8g{÷õ{ôô¥~|©Óæmr ?ÛÆÿ¢¯á6cíæù
ù&Ý×û?FMáéîèß»èô(Tw'xªâèt:0ö»`ßr·Ê⪨$ yåÖ¢¼:'áu'v-³K}pù[7ýn{@ý³
Cʧx𺱤DÐOаé°Ü"9åmÍ_Ûýä~2˳Q7öN6w8ðmAÇèÏPa¹ó¹ÍpýÐÔØôÓóÒîêËÚ¾;±M~ÜÔ?£ûáümþCYxð5ÕÞ] ]åÚÖsh#Y*©ÈÓá¸Ì»Ï¸?êSN®NSr¿ÐÉå{nÃ.ôÉX<$oZÓ£ÖX@¸¶@º3T¦LUÌÒKâ§UnÐɪ()j«Éû LÙ³æ+ÇË"cñíñ?>Ý0#ata»,0²|¸å¿óïªQJ³Zºpðï)øÈuÄwg[#
Îíôe'ôFüæóª?qüæ%§`½æQAÀǶóÃ,¢¦EÉÏÍ(4âé&=CüSy'G©ünz®=Ît×ÊÆ~¨ª·u¡ágâOáeõ¸!Ê!Õ¨röo#x¼hsR3zÇð<ãGnÝwh>©pØûQ½Bîûê](ÚïüìÌkó÷~ÏGÏ %ýÇôÕ¿µÈfñhµSDNFtQ¼ÒHtÍ&#!ÆØã±á5óø|_ß);m×s&foÚHrÂFÍüÞÉs!úÑê¬!«»(è÷Èg4TÙV~K`Í;'w¨§1ó_×ÝôĵPí#k|Zäüùå'3,µÊ7.úRð=½dl%'>ÑoÁ4û¬¸^b½õ¹ù*³J²RâÐ kìøS2@MÆ .b}6£F½Æè§R ¶Q- A$Ö¦JlÝ5dÍËbÄú<ÐGN®~KÍ8Û±ñ¶ØCg!×m[ÒtIK§=¹sÛÿ3//¡éóÝÔ¤[
Ca;&FÌ,³@%Íþ`w~·Ú]7¶wc=ñÛnºö6:dCÊ&_+c}ü9Xà¯Öùo4-µøÐq£/óeߢáßã9µýsô85¯ûÄ×Îéa
65³ET ààHv*¨çéø¯!ö~Áôe¯Ô(h¿ò¹)Iä" ţ»6Æ6@-âÉ~ý&ælßûwÃ?_¯Äö¡{= ºPchäD Xhï
äÇ뵧\Ê`dØXÏ-§R«ZÀ®Fïk|gÅÇco³ÜɨP¡î>ßï P(
FÈÌZøBovxe¨áiâtƪ<¶ØõF¾Ç^Ú[TzïhÜõÕNsÍí°åpw1
Íxç¸ÌLDcFLwøð¶r9&@ä@ä
0µeYá@=Úe';æƧ¤Öî8lªü°éÖè¾Ðö%g+Lé7ÂÍbX·8ðCwÝé^gµí;NÓ´ððôwÆ:¹n0bôjæFä¨iÍ8°NT¤*'$ÊUHé.-ïújÆ]¢^îòÇ
+J¬¯+j¿&\Æ:$RüJïÒêTV
D4é¨$ÈQEÕPv
¯,~ö«¶ovxk°ØÕþü´Ò
õÆ!Í35c¢ú
M'u¦Nf#ÆØi±:;©Q½ÎÅ;2·ß³8aè¯2ð;Êh£µÃïýài¡Rת0ö2áaÁÊ}öD÷þ÷³~ sñg 6m¦m |{Ñ´»oÝÝúiÝþ^0yWÖ¥³8¼e3¡ú úNïá:QÜ®
ÌBæºñK ¡$¶Ý(ZÝ)kt¥Ò
·JZå]Éer wør÷8h¾K·y>þâc 5½B"ÊB;ü1e§, îp<s°£#õè6øówǦ(ÔÕºd9Z/³`ÍÎHfQBD$_ϹåXØÛ:ù`¤ ;
Æ5:+»úíýjí¤
B-CMÒs7/ÃJYO:°´± LhlxÉZ²#ìEÁ ´.°mVì?
¥êº<l²ïoB.mX3åô÷$.FKÞéࡸ?cúËFÛà/©3j¹ylf}/ª@ÎÆÄ!-o¡£èÈè¶b/=ùe4
åö ²ûA¸Ð¦¹n£X¦jÑOym½m%WB÷l3VÁé|A¬,®\M¡Ð39½àcÑ{ùÛCíÿÝÜC5yÑ~£ÍΨ=®jnWõWP¬mÁMP$ªeçê_ý'ê¼á¡Ö}zQs1sQ'x»þß°¡»]9Ò%¿¡»È~ÃT&r&ë>¦ÏæîØ5ù¯½ñé4ó#ð_A_Ì´0¬Äï~NÏÄ´ËæÖ.'ð¯ÑX¿Ï_?/l9³ÊLäEæp¾wa43Và1
¶'µµXç);Éô®¥<FåëéT¼5ÓÄÀ÷F8
àçg
c°}º/}P/L!s?w¸ìífÜb²c_+<B "p¾êéÄÛ¯¯ÎTôæeá &CðXø3lÐú¾P&6¹3@xè ©³hä@ó1 Çõ@ 3 .Òpèß³ã`èÐYÅ®`·m»Ô B>É©è¢.D]_2-³LΡ5¸;¢k¹jÚÍWåb,O¶èAö®»8âÍF§h»õ3Ü;3åçrk¼$zîp>«½z5CtælìèEºøDvoY¦[}Ûb
Ä#b(11Ý°fvHØ$Ch©ßR]zºU
,Ñ;ÀãøÒê»õçÍ*0Þ³£¥ J&ôïvjTÓ×Ý&MrH.ÔtÌ}ÖD00c#Né_6Ä ?b¾~óôNheÞxf!Õ¶óPøĸ1ÁÐZú%ÈLR
ùe*Ö#H at 7¬4¯°úñèf6À9À:y/Åû´5_o-·Cb¾ÿdMkFÄ-:@ÚÁº¾Ó#ÄåÄîÓ9 ~XOÑFò³
ÈÂ2+1FH2BZEgìMÄÛlOQRJ Bs<¶ÏÖò=ØÕIÞr¬°úL;¸ Ý&ozÌ|Ó'Ùs*>ßÎÁôÀY-¦´È#¡ÏbT ͲVt`Lü¤|¢@uhøk·-od6ÉvfU«ù;þNEÈ.ÂÄHDMXÄ\ªYÙ ÞÇék¹Uqwû¤5pXc«ÞÒ!÷hÒZ}¥¼IÔwê38ÎârQyH1á,ºsU¢ jª3ó3E³K1Íãðâacë¬=ɪrYªËGisZ¶»¦Uk©f(TnĬȱí6è²5N| B%Á¯%ûù³à7´ütdÛßBB;äàîKÆ(æÈÊú7½4غÅ×H¹
R{é¥îOþk¦MMê²±ßEë×TÐ[µ>ÀCgõ´ëodÚi½Î¦Îe5k¨jÖx¦'m®ÝñIJ$È5«Ò8Ñw>sÚÐBrjû£¾0ÛHH2QüìaÊâÞð³J/ Hk¾öòø4ìCeשõcúV=È>Î8h4©¯O
¸ØÌK\ "Èq²e÷|±wàáì߹1_µª¤åwÇ=u\÷õÁÁØä§â,çÅGØTâ°ö¬eUQ_,>ߺ6{Íþûä(9¡³Ýÿ»e¿m¦ûöÄ»X§+Ü´ÅËj¤7£²çÎP1¹ťG~s¡Là
Ñdûw©®]ÛrA³¯ÝGó¹î?lþ(×:¦Â>]TW¶N¤rX~t8Íõ§ã$#
Ééµ¼«jÈlªXÑÖ«1éÛ<%æeF¨,¹¹DØÑÙÆjgavR£GKÚÒ(då&I-v7~m@³MD:!EHéñÙÿOÌRyxPrí6ï-)Ú?]8ï_«©pH&I¶EçØ<ÖF%©ís£òd786d-ÎbÊ¡ÅôÓ*
ËZnâNÊ]l
BX3ÛQõÐ7,Mk¹i,%;IeÚGGÒdði[ý1F<æ;c¡oôìç¿_iÑ<$uÕ33/e±O
¥¢Gïàñ°ýú{ì ½[ô'äø#%$>DÓ§9§z° ÇWר¨Vøp¨Èi>5E9dNFî"tÌü[.ÚÒÆktÃ5r. 2kWRõ² Êy²]n7¶l»Ö7HªÐÄjÏÛ:ØòŪLË2]cSÑßEÊÆ\!$*è¹+Y¤Í4XÜ3üÏë并Ò0¦Òýë%ã®LæNw~·õé÷ªÛ$Á²÷(¸·Ù~÷4hq§=
~È·ôòW<9Ê!úbhG2
>· ñ¡ÙAlkay¹H`4i#Ë£}m[øÇR0À\#õè./ úã}tñkhCAóYLända8L"^QòÓ½læàhÝó-õð+Å ôf=N@^F]Ëbemµ»$·3»¤1¤bÌW¾r·³ªùq´ß§J®£Q¨¥»Dü)Ù!GCé,xI%¶WLv´8ÛlÒ(ìQ3! fÝÆo%n½k½3ÍʺOY3.Ȩî£Åz$ÃÕ-ruqå¦8ìä¯Cæ¼|ÄÁt{`Ñî,°£
µ0Ûr±$©ÇÙâ-´æi|î;2A' ç³¾5
{ðÜ£×!\JéÕ] ÐÜdifqÒ7djƬCìrù§yõdª(g6ï8è¡Åü¢&üÃû\WÕéëï£û»ú9òÙsoi*2Ø
þtÁr¨ V Ó0w s89¯ÊPgpZ³
¾e
v>7Fzh¯FRrBåí̯+³³-oap÷·O,%¤*{v·CVþ~à{B @HàÔ
Ë6Pma>O껫«ªªCÆ7
Ë®¼Û
+&mÛ²ÙDõßdSMdæãp2£ l¯¦upHoǶá Ðlç*þóg$ÐbN·ð¿Aº(ì
Ö%îtK¢²C
÷cxòÂÞEy
ëzcYuPn}8@¨7·ªö.{Jȱ·¶DôãØ2{n%QV¥äkãsDØML¡È~ÄysÐU9umÇÃË©£pÑÝi&"Q%sΪjîÒ¦úlîÛXY{Þ|
F»³ÏÁÁsâ¸?c©ÎS
=PäEâR[¸JSÚe}¿Ä;ùÜ ¬Ìáa¦Z¸&lQÙ
>w·µÇ¬sB°ºP2ct÷ì$5Ƚ´¾Ù!°ú9b52¬oFBÓq¦Êþ¶ÜÔ1©ÛWÃ[óÏ¿G0ç ØÚÚY XõÓËÚzü3¬^¿CõÁcÜ#kË{ÑRRjïªÒk©y+¦»ù½î@-Ȳó#Ë*Îy¤eÀTÀ÷VX7 VñcQº:â°FÄH"dãõdÙØÅÀ´ªøA´+$i»IãªÒÈ6ÀD2|¯ëòbܧ¬pjÄÀÂ7ïÑóÏñÚ/ÅãÊ5_ÕåBÝ\¶|íÓÍÃw³ó×o?·$í#súLõaúæJÐN3'²bTÎ%Ï5>ð(î{P äÞ9¡u²ÖöQ¯Îḽâè±1#âë41JùãúÎF1Ù=6äƨ ·Ó#ÎÌäãß~0®B¥á$Çþ¼´GØCαsôTñÇϯDÒ>xzSúÞpqðöî¶;>ThæÂý×î/g?,ÙÝ&5bJ¥ÑÙòB»®ðv}æý²kj4ð©2vÞ²áÂle8snøZLègUH¨Î¤Eªù,c×qR6YÍU³&9ÅËUÈ| ¬ÇÓõÜ,+ö¼O*p¾lõÞrí.ºliöOxô.PªØâEë«[g´ºîû#`ºùäFû|°°õáN:éZØaCHØø«Ö·ÊGÒD±_)#4,
'ļ
îáoÍ,ÌØQ¼õéX
ù
|<öÔ\VTÑb¶`G0Mï×UÙÇÛB¡ÕNÞÆÕ8ð¤0]Ov|?4ôÛG¢ÕÂ@ÔtIvs>)íkl°{i
yʦ¼¹Ûó_¯(4Óá:WÄõÀåÏ×Õ5yÐ\OÒäz;3ûcëçâ¹óë¥üìÆ$þ vn*ÈfôÏ«ÐdKÇlÉ÷]J ÇïÓÔ¹B0zÖ+X13¤Î ?\ñfz¢Èí Ì|ºeK`Çø1¸LZÈ·-1Cà4hAòÕ}¢;j|Fè
ÆGçxû«á¶¬Î5&:ì¦däìN,õíã|§.\
9>£"î¼³è5p[5ð!§u¸Ê²ZݸM§»Øø
<ýÀÙۿ׶¼êmŬ~5.HBzEZüYÒÊü'Z¡¨äð¬CuYÄõ¬9öéÝeXZãnÐ'F{i§:ì"³r®U¶¼è®
¿$q>tu¦óñðÜ=gqÇî²Käzì.p¯
»ë¸åVc\@15Ãd.FØ°^¨µ·¶ÙãéÞ÷¨VvÖA)"TCr!HÛ¶ØMÈ^¯¢OÅqãðm?è/_«ºÇÔ«.Ì%#J¶òNe̲ wÞ×6sÃuß'Ìî`""&ª `<Ij>QúÎÐ,µRO\=iKÄ&MJûõ?ÆåmЩ×~·ÁÎV!4T×ùÚ«¾G!üëª&®ÕP°È3 AóUP@½Ð×{²D¯XZõ>9h ÎâÜäâf¤sv͹B!¤R"JÅR¥b<Ú¹nîvg½è¾F
wMº%ÙÁZRÙÓ±4PC´G[¤]^»¸¶¬Ê
*Ác§oÜ%»¼R+µÕM]åCøOx
C7 ßjɦ"²®{cʪïZÜ.Øcçê{öÐTðé¶Áúc¯plÎü7|ò¥òZ29³$¦ÃêiDeL§#ÁèÑpm<´Û¡#ú±®A&nµ×híí\µ+
{ Χ|QYzdT´p7ÀTl*zî,ZNá(è0fß ÊZpùIgS5×ÄH²Y&I.Ù»Ñ'|ê
¥{DË·giOÐü<äs½ÚjôR§Å
¸È&§+@Ð!¦116÷¦jYWÇÝTËç|1ÃÂXr<`¡aeHÔ!$÷¼lkq'©¾UuXaID1]ôDJ;bÞQÊýµÆÛ^
éÚY"þä0X#u»³ 8Ùìy8dçÅÙ«SçõüLzÊ?5±:Á¿q$irb,°C\Ï·I$TM þJ¿@ã¤×ȧËÓR%¢ïØît4Xý¥¾<~7ÑRân%㲪ګîªDÖ×ÌUª36Ê5«ã0ÚYøù^Y§æÖ<4£8
sDÇ#éÇ5{` @'=ÇmSTEZ"øC=V]íEb¦&eB¹X)æ«Hl÷p ÄüÄñSi!!Õ;:Ú8)ƾU¾f8ðÙ ¯»àÜB^ß5}e¶-fBd%"§x?¹o1+¿MÄJáw/o½Çáü^ìWóäñÂSB6~;B:vq"m:ùS Öì$Í6¤ìüÃì±û}¼zþݶÛÍWZ°ÿÉ»Óð²GÇ;IM´UEÊLâf¸èÚ&¹ÀâlÅ$
Ò:Ö!HVTýþ¬ÜKu¶ù°ÿg-©)¿éUò΢wcg¨áil
ÀåûÉ=NÝa¿«ÉÞi,P=üv±zÖI¼M¦bI)<ÚÃÙÒîBcûÎBA½Ð:1Ø×ï75WÇ¡õ0JÏ[=uf|úmR @Üä*¡yöL¥Y[$]ó×OÅyóNÉ£w3º©S® }iëêí(ê!A%ª¹¢ùSüÚ`Ñ#iÒR»1¨´Ä+$DóºF|ÕwÕ`Í |q;-u"dºáÍÁ¨gîÒ}[¦Ø%5(\§ÏTaOª6aôü¯OIéç_tý:m¹ 3¬ùòú
¡µu27BЩoä~Êý©Ý]ÅkÇØW°ºp>IIB§ÉG:póÅÉ»xâ<ÂãáÀ¯àðÍÁVQñ9,Ðy@} @V f?oÇ+ZGË É>µ£#+¨}$ó![xÄ &ºHÈhT+Prܽæ6Ü}°8ß]ën| ó6R¨4^ñìHX
>Ãâã|ÈÜ'ñǸékØàÑÚrèrÌ;5g¾Xùï»á±7
ËhcíçA£¼ÀKܤGPfN`Â>½Ôs<Ã+ê¹Æ¸£= Ð8ó§ +xNá¥ã¶3÷MÜ:9üÖä
Gæ`ÎO.9,ÃtøÁ³Ú°îÁèÍã6ùòÜÌô±ÝÌÉÝÎ8*rì Ædv85\v$¹HR+,rÉ5ï÷÷ÄUJóFr}*Ïà»ßð7®E¾§åÃ^vêrl¢uÐ;lQbÅܾª²§vaÈfrgn1¾Â¬ª2R$@ä?W9Üs7iØïØt{ɱ³O¼d?]£lÕ!êGd$ÖN/:9ñCæEYSfc(àeÝðc¨¾Ú°ëØæ8öFê9ÔL¿2N£¢Ñy%Bê¡S±îª±Åðî.¼,Í``VoO6Öp$U®ªÐêkù!ñS·¸s~-¢ö¿dÛ)ÒcåV07EV×µZ<ôswQ ÕMrï<Æ&c¾î<ÎhØAcc¨Q° Þ:oWDÍ+jùÜwz1sÜ;1Ð$pÎÛ;®M6ç>Ms׶Ç0 D+phæíÒWYíÈ¥o)bEä¨ÙÒ
«ÏÍýøC|jÁ>^qw§øû¥ÒNÐ2ÞÜíuü÷<Ô]JÚoµSvx]Ïbs&¨²çÄfA?cè+âÄæDfgnØÒzªoù$üFélIÝØÝcn,è¿)¬µôXY`þÞF&üq¿yjÈèÓ½ºÌíÕ[\Xk8É°®ÎojúÃF[
ÿ>Yk©UªFVO'¤¯Ý
s!ç
´éãÆÕüØu©òå¾yW^Ãn×T={43<±]ki[ZK+é×l¡:ÌÕ+TH£¹8=D_]Þ£Ë&ÆêEy½hy;ÆÏ"g®ðÃ4òTÂ[Á¸µÂeöÅÏ7_w,ßyQ´¼ð×^ÒU©ÄýzÙô ßD·FöÌ*ÞVé.ßoÓýuñèÏ®ßVw«Åqì9¨ôÎX0Úíß%
è!ÐáïùHDî:ðÔÏÇ:ð)(~Ím·±@7½ÒÌ×
^Þ²²2rGÞïz#³¨Éf(ûêýÎ~~<ÁÂn(sk¿êa¼>G¥
5@È
¿;åà~0!u-]3_$vTrLè
¯¸ùo
I©ep¨åÆRóöÔä*Ëm k
¦wè^ªIõA·
-ÑËfeû è08ñôî¥prø$ô:{®þØjmàlÉ=c!Ëeèï Ì(¯PÜõ×ñYâw¡ÙÂxyáú¡êsír\ruz1×ÈàÙA½#±[*l§¡¨d~÷ßgFýLU3g8ê+£ç±É;4^,sóbr8²²·ûã·,íÒ5Þ3'Ìó&WåËêa?e¤í½¶$(¶ú~<3WY3 ýÌÚÖ
PFG
8÷êË%pÍØfxfH&袱=5=ÙQÝ%_òr»o¹ñÆù0^-7lÓpAwRàã²5æã+ÑG&0-&c.Í«qØxÔk5ÉÉÈ«oË[¨¬O]paîÁêv)'|o5FOpk¬A"
¾²Ï8ÍøíìçV·}sÆð>Ü[ëǦÐ-V½{ÑÇhÆûòNMÚÆ ¢~¶CÕAa£ÎÃÓÑçg¶ÍÏ'Vâµ}qpæ{ý_¬!¡ÏÑÆvßWÇ á¯ªÏI÷lÃiÍcóÉU.ÌZ¿LâqN>Ñç_"ö:ç¬7'/³Bë®2r¤%ééÛô([5W$hÉEñÙTܬ)þoéËÉgÑ]~~¹F!¿¢#ÃRø{Fn#c)ByQ^µó7¬Gò8¹ÇÊNøÇ4ÅôZ(QõÙéâ¾¼p$ѳv)9CDT*üªiÒZnØ$ÙùÃfEÛ¬=KÇä}ý]T»¶%ÁC6°X¡LUÔ"{&x`Ýá¨òNì)ÈÔb¢®Oªºû(u2-:ÐÃJh¹zQAV<Üù ¡ÊÛk!P/syá"®JTËU´ÙÞd=Èea¶xÊ1YáÅT;HAA %d^NÑj¢üÜ˹eyd´ lÊ)\Ú ¬3 3z$ã7 at 9îÔóÓ¡Å2Ím ´íÙÜ]¾§xNÄ&xú=|qÖ}ç·È¤¥didÝ»k®<_^ôÌtjqçÉàrïåZÙHï®ö7H{l'iDóÌ$¦´Íòíc0@Ù͵«\aübXÍȧd¼hѧkâÃS°LJ*]ÜAÌé jL7^4bI¾îüì \ØL¦$%ôÞø%9 ì&|p'öNïAÇÕ#±ã²ÈBk:Ük=3Ü ½Z ±OÏÛÇ'¥1pØ3!3t8ãêÁ}Êg"ØÖñl*!Qèµ7 ÊWðcmvçN»Ü'MD÷lOŪñ?:ë]â´âOûUEöÜRÜ©Hê1eûL!cVáÌè⨺ +Q)6Á_^»ùÏ¡Å^Ê*§\¶l<õñ{K«bè:»ç{Í2©Ø×e!]X;Xñ´Pm!gá×#Q¶¸ÕÑ,SeAú]ññr§=<M;àGÈtÖÿ_½ògG7{]Í8pg¾w=A#,=¦'ã''ºÍ&©8Ñ|Ü¡QÊ»¸&´ða ãÝßßÝ#°c°ÆÈ0Õàfë#|)vjfTµýtê5-Ê´@àU=3}z5¿ô½|û;'?
Æî ¥¡"¤h(
¨iZ;áÌ=|Ù¹,ŨBDù%·
~¯ÿoñÿý9ýÆ}×òß&¾n$_ñ<À¿'Ét: CÖûîîïkDß(G F¥W3.3j¥?¨>?j,D!Êý?õés·¢ÀÜÿhæ¿Øýÿª«ù!«>ÍOð<!ËèÒÈrOÀd'ÇVpÉ0Ó=?³Û²_Åà{϶ð!ß«ªFÈÙªär¨þõÕT½}T¸«ÍämEêÍÎölÀkMz)OÜi¾
i¬0ty,øánm¦H'
öO;qÆ«FÄÕ¹æzäåJP!Ê5ÐÉË°úz Kó
´?øp®`du¢ûÙÅOc0ee*Ô¹2QFB`f2ÑI¢1¥ ¦¢#U¸3PÉNbkOÿ6:1ûvZ¡
¥
Rõ`Ä ì¡Oß!¼ò2lâG\PÒZëqH.1KuÕ!ÕûÄVC°àÌ¿ãòzCÜA±'X{µ~¤b°iúð6jU2'X ÷|+º q#г¨WÙÿ ¦<QcvYF»1ªJRMãbÙ²1DÄÚgfçLÞÄlí}Ï£Ñök¦óîvíy;A´ÓDQ|s-E=PÑÞ=kÁâz_è5ý ¿<}Ð[Ýõ>ק?R^ΩÊÄ¢tÉâwIî:Mb(¡ëôoÙ¹¼AÕ&=ha«±ÿî Ùo°oèæù>¯§^¼«~½ü6_§É·ìù÷ó736CµÕ¹Å
B¸æzþØËÓ¤JBÈ0p
¢LÚJ$.zOµ¤-©øHÆ{^g§rs\¦6¤l?tzûû6ôòFÆCy$®Ò@q¹T£ërã,©VÆ"CNdÈ2þÛĺêxuZsÒéas©!;ß]èy»y$0tÈ> ¡¾$
¶èÃú{¾Ï·í¡ÿoþ4XkJHe0@^þ]Oò?0 #ÿCÉúNÅ®«$6̼é|¶×ÑÙ¡
E¤|ÿ|#&BH³òkJÉø;.`õÇð>µ¯¥U8¤É.«0·ÏÕé
WÛqo1«ËÆ;Ãö÷ü8%]:ºÀ¿ÜUo7
×LøgroÐïÓdjá
A&j¶»}JÕ$¢Õ(®:§Â9õÔ5ã¸t"§åý§Ù
#}äÍ}'é5ËDõÿÇjÂäü¦l0L*i»)m8¹´f(cDPFáSs©7zjíСàp'µ1
QO©h_ëûÚØW_K¾G· ïn)¢¨¢²í<5)cZE±¦Þ7?(øòÍÕªÒ&½ßô=F<gñÊ2ÚÄ Eï¦3ù±ÎFfÏ!ø÷S,qîƬÌ2A1@nÊ+^mXsîï .ÃJ¨¡°õ}(8*²øÒølGohW«®jÒ^tÉ"E äpÛ2Ï¥²6mP`»Ã^qãÀã¶ò¼fÎVôzM~~tody@õhJbh¢H& `O2´ÝL4#NÔö
YÈÈîr3©Ê?&
¤`Ám©^ÎJãJØñÐ@|_f»òVJn1úê!é2ßËüêÙ:t^5£vòù"T;Iqµãb¬PÓ±éã£No8àõuJºç ñA1;£à\×ß]ìZAØÔß"[¯=zõõP4
±ÀòLGsb½*kBd2c«|îbX%oͳ,}ïem`ÚÍ3T[J~õ"ÌúÝÒ¨gdr89Ê;[GÐ
µ(!qµ
ÈâCÖÖÐj¤ò´l¾ldLîL@»µ)@fÁ!3$ %aÍÛ2ÎÓÄá»$îîÇt¼»¥×NÛïS:çî úçRóÍ᪽ÔæÅÎËË) A±
¦Ü
Æÿ//GB?d+ß
ç§é#
ܲ9<ì]^ò%ñ¿òIÝ!ìnúøÖüí~ôÆ=ÏÚÉ1åvnj«¡Pa½SRqvÌÒÓ*ßï¾ó³§¼êIænøÕ(ü¿áßX2X¥û{F¦Q§gá§,)í%¯N8ä Bî;ôg»²qgþk?VUS¿ìÝëÑóX_£·
/6«Êª×줺Tn}®²pªU§+®5ÛÀíǤ\=v|z>·è½Y;r¦¢]öY¯d%\ù÷ssþnce_võðpè]_zåÚG;ÅÑIÖêP§ÇAÒ½óTnîß=x^¤¾Hª¶ªfõ§UfáÍàɺü {WwFï×
·^zÔü}cC²'=×é¼Ì,ááÇã²}e½Þ¦ëi|_<49Ô3PâÑ Ö8lyTXjßÜI®è9ùìÝôÕd"ÆYeÚж%:âÜæ¨}ý`cä
z'¬Î>ÀÅNQZ=ëÁ]!GûWæ5À¼ ®Ù^UzëåÏeÍczêAáߣ6^Ø* ªêÂnÝZQ¡RÚ®eÔî=-ƪ$(æèLþG1¤m1xzËzë'ø}
»«Ç×Á^+ÛÐB[Uê ÏÑݲÊ[ñvÑ8A¹&ÿ<*[ðËK´»ìÛ[lß|°F~
ÌC~ÂQ´!ÑGÁ¾fßü§,Kß(Uyð$»ºëùrÐyû]ÏÖ.¤;AE!E-Æk&éÕ7ª ¯WË¢£çþÕõ^ÑÀä[ÇÀ¤Lþ_NOÑÜ×ú׺¿&³Õòz=Yñá1áaEàvÓ'mÈÅüp¹çB>2©kÜMÃåUÃL:/t¡dêNí]Þ<Ô¾ºn·Ùzõë§SâÌÈB1£vçèk°µìpþÙáü¤Èò¿<d´¾
e¥½NH ÈQ8&K-1çIa ùý¿ÙƳnÄ_rÉF8?óRÊ®öß /,νýÏö×ê²Çk¸Õ)ÝÈÃFÀ«R÷WBí]Lºa¯ºh²'àÒf3ÂÕòH»WÈÏÖª¦m!ã7¯'ïz`ÕårÃZ%ïWZÓȲAÓãeë×é+²Y^ðÖF1KìY¶8Ç>5í¨¸Ò_%¶Ý£^ אָÁåV5rF£ÃÇo4j%§,ð!¯["Ükµ¦ëK£tUõÆÍ»À§ÑGÅãJFr×y|¹rôNAÐãÙM~B7ËL%f¢Íhô&¹]ºÌ"}1é²ß$RõâÎ6nMþý\þb×ÝS«*VM/\}XìM8ûs®ìÜ¥wÙ¥ÌVI5UË·#³mö«:%)*òw1£½e+=ígj²ùZõÓLvjR£ð
o_6ºaüÚ°é®}éõ¾8C,µ±óÆ©goò㶯EP¯ÕMÜøÊvØæ×rî©ÒÈNSÚ»Ecñ©>Ü'j}7Ý»=°ÂÞTù«4<ãMÞK×Èz´^$¬¹ôǯ¨H·Ñ
Ú¢¯ZtÇתvûjÃ]u©Øú~Ù×¥´5SгqUóvÇ*ë¾~¨Êµ(z=2ÕÄÛ$i¼»*ª¹ú5t÷·|Ö§ÒòµdX³ÅÎïí¤%.djjiÇtæóC¿\°º¯ u¢¹ÀXìø*²Wyî)-·lðÂFíksýdCÄ,ÄQHê&O¿ÍxL$`I¹åÍâo¡?¡¸Pv¸|=î41thH¹$J}NJ0ýÔh789οmæQ%"RF"dbX`(!¨aîáЦ ±($MEÄ
QLE1%*UMHDM#5MM!"IR±,E4RT°M-$É$TPÁ¥!RÀDTTDQÒµMRT°ÔÀR4TIH3RUGñaT4E(ZÄȪñf!T!;ªVULD4U5!BÔCBDêzÄ¡¡ÞdII!·Ô«÷Ë©ûgpZ¥¨´6Äú¦è!úH¢÷Å]±Pý±MßÑNÏð¾áþ1õGý1zOûî/
Ý3Äõ¿ºUÏÏûõÄ)ß'ñÂnßï°Dþû5J¿ê¾6:Ý$ð¯f%÷ÔãþQøßjÒ{ ¿×àY§RÁ?Y?BWXph¡Óæ(tåÚÛeiãÔÑ¥@3@PqóPý]Gä@jÞ3tùôÐe¹rØ'[FyñÀÀÂd#µ5
oç+íùíû=_Ãüç×GÙü|ÿíÿD?WíVUøÛþûn¢órý?IÄAô¢ ÿ'þÔDý)þØeb>©íY&´ÇQØëk%
Qvûæ]q~ü*í
³üÝMÑl2?<1º¯Î}d«õ½ô÷~¯×9ó_@ÜÃ_míÏ18yØ`m»1r
¼]®daòã^½t-pÆîzµa7í'ìölÚ;5dh¶~ÕFU帻øãÃU[9<Þióçqá:»ÿâü3ûqó3#Aè×¢°åêÆ[÷5ÄÈÄÐ@M$4ãÇ}UR¬òìë¥Kpõò]>«áÏÞ¡º[¶²ÕTªÜy¥áÑ_§¿»ôú{¶znºqÇ=سE4Öãé¹g îÚr7'¸f1Èxéi&yØHÍþ Ú
äN¬7n®þéy¹YQ5kÕïç:6?qÈ|'I?×|eò.ï¹zå¡zuëº|zKyÒí.f§ûvcE>6mG.é]7H«¿ÈÅhP4)ñ3蹶i®é¦ÑÍ`²-dÙ¯ÑÞ?¥q椡64ð3å+®þav¡ö|lPKFo/A¤«lJ`ý6àvAÉ>Qî:궫VÝn]â
z¥Eê¡ô=ãÂS®
;4C2|¢vØÜy4Rªöqu¿Pú¯>7àP}6ñé´ú'Ë_^ª{J´ÓI«2ËøÞXÅ¢BViµI&Ïq¿®¢º¬z<ÝT&/qXuá;GÕ°ª~gÜhæj%Â=[ø"aÃ#¨~m:c^ÏWE
`[R:ȶªÍy¯lùY&ÝäeW+zòµÞZª"°.*Þ¨éc×éÛÓ`fOÑ»dC'OÌ;R[ÈGÂÊul1á·¾ë
7-½*eëd£rmòHå$Èì¼¾°º®Õ³:ÚÂRèÒx\V¥v9¿?7&f§(w2{Í=Ò;*á½saª¹
#q¶ÄÜÅÛzÛH¹$ÓâðRç± ÁÔW ê¨öeqiÒìWæ00:ç
_Mf$Mm¸ÞCfYY
§*.§ªªµ1®´£Êj6oczÏ<ýöÎËÔ&ÄèR0MØä7?4³YÛ¶²´müÏéÃGÑTMa[| Àå °-°ëXXi¤I<¹5óD42kKKK~f Âà M´êÇlO
·¦*Æüý\ã£äûðîöOâ}rë]Ú#Y# î@±÷÷Î94qâ
úsçôÙØñFö;;UpÕñã^Ûñ5Øûzõ7®þZ°À£3*ª²Æ³0rÞQ÷M21DÑJÀH 's(ïMÚ1>h¹{üeÏîYüGÄ~#fÛÅS¨õM9 Ö§ñøPCÒé#B YCb4·
Õ(RÒ¥ßVç `V]vÝiÚÿD~"´ræ³ AÃkݨå<ç³å B3Ñä>©úñ§yqIø;CÂTîî8ä»o/;Åj&e
'(]K»àÐ õ@WÑÚ?¼8i}!:»7±~9*òðÇA ª¥vCÀ-®V<Êâ£ÑÐ:X¬;(
©Õ[\£h^WÕc^VT§gUÆËÊÆv±®={LgÚßxñùâ9ßÍ´,öæ
Özæ/8ýä
Dâw|!¦J¿ñÕÓÿfmô£íôeËDz/%
ÖNBO
U(Êͪx|0·Õmð»ÿ_+þ:±¾=<?×ó×÷|t-¹ñ·©âH8¨ë±¦FóÄ£gÀn#;ýÏ=s{ülFtíÄ«ÁmÙuÃ[-m1pyÆ$û²ìoÿ<ïõG®í,}>àtqN»°Õø½ú¦tr¾&|TÆq¸zFÊðW»N½ëEÜÂyöõë¹ò`8¯µo®º9¤áø¾3εÑOJÖ\qà÷)ãi{CÂ-
jÀLú>å Å?OQG{éV%ññF_HzgÃÔAªs·¿XT ý^.¯Ö:Ýôî,fó4ør8¬Døýæg×ë-qÎ1×®këýGms®2Ü'XÂBûa¹zÓ²ø¸öÌãÒáþìÇ¥{¯Ïn2!íGÙjüGR|==á{¡Ë^´çªÂì{Å1ÇÍ|¯Ûwö_ßÒ´üMRô¿
¦ïÛaÛuºÒáIê¯o/Ý\ááó0±Á¾µbÈõùÞ66bíãß÷uòzI®+V^WEcÔ~ ió]k5¹Ëâ¨Á8¥%:6ÿkÌËÍKdï&~Í÷ùóãögÝ}±·¦úc´¼pQ´Ê¸â©¯MÖì+ª,Õ³U|l«ÕÜøݧLÌ
O_~áW Ë\ï²zò'Õ>ã,ñ)7¬s Å÷yäÿ
:zÏéý\yU9ÿÖXu
ðÜÅN+dîx?`@_©ýE¼ÛsêöôõùÚ{<˽eU¼oØC¬«ã{nnxbéç
¼%À/¯¹cGõ¼¿zâ#³ïÄþ-f³Ç£Çë×¥ÏtD)ÏÝÞã¬-üvwÆó×äô~%âynÂÄEý
>oQ|IÄ+ÑQ<¶ ñ×ÑÌñÞéocñù;µîVXtмóô û»Ëéà'Ã
ÖÇyÏÌñý6¨Ü~*©å ÅS%2ÛßÇè.ÿ8Æ* <çѸyCñ:þOÔèéD= ¯¹ô#yüòj
5¼þ{Fà"i)³ãkUÍ3B`Ö/ê¼:<7?Ê?[ìÛÍ&úHVäG-°m±¹b`NÎ9.FA9Çü1Þê8ÒàjÌÀª.gEó?Óøs¿
Ì9sÜòZ6?Ä÷ È?Ø:ø@ߣíùaîøÿ$ÉÑ
Qï3"ºþjËam¥Äÿi÷~\ÏIÛåÚÞcÎÇú±)'ïø¾ÃÖÿþèþqóEä@ë@$xk}|fóCTÚ¾¢Þº:ÑA¢Ù©¤Ê.ÂÔi¾Ef
û ÀÇá&åÉb ö@ÏñÕH²'ù
Ö ¸i¤ùìfc»Ëý
Ü`wÐʨÚ0íþïKâëD §Óö kî1À0})³üyð üÆ
ºéO"óùÉ$Rk jÇ-zi¯L2öý³Bõ®²QcoÄFW¼(¤Êõá#ÀÏj¥,9g Í¢,c"±ÙÆOÎùµÖã¶ñCB¦ibÚ2¥OÓèþóÿÿ_þ³RY7?ì¹ÇüþÂHþøÁ!ì~ôyz0Aí`_8B{äõ$-&II/6ãÍ\Èó.1
)H;Ôåt2
U#TR¨>£¶Ç~
ST¶Ã±1 )ÆýÎJlFðìYÃ9¸
ok۬ܩ1Àþ~quhGKhKÎc61í®eq¬qÀb"@4áþE9B°G$zÄ$ü£4½(_øÖ¿Sè]nA{u)øÂä·¯²¬ñr¾A
YäW<I§olÄ ßl~U%^É(GÜA?¯^»Iô¦þÊÁÞÍ»|0ïû©bèTY5Ž©¼
mbRk§ÓF¡wm
¬öÓ4MIà:ÓXfÖCI:Ö@Ü»¿¹ÁÛ6Üj©?öÉ£zîPæäØæú$ÊýA
yã*¿:#¤síspÃý1;z0W£HõþiIÁ£Áù¤Ë
ßdCNÜ:á8ñ%´eT8{ßìÏ ¾¯©$!áy¶lK2¿ÓÈEIF
Mç&¸GúoqN9õÊû#á×%\ÈÑ:ß)d
¢£`úsç,Çcò¸ÈfêG*¤ ¦øág¡ÞvÃacÅ
/ÔkPhè(Å$¦ÍÝûL_ÊüÊ}DÐÅd¥ò"´ØP°¬v&Ôê¢ê7E=·ÞbÈtõ`ýûùa ¨Õ9=`Cè¶ðDµ8Ä·
?Ik&DÂ=;)ÛÄs(/AÒúï³Xq:Z õ(Ã
áÆÇþèûÓ3ï©Ý»·Æ3×Gá !Ý!ÄvÄÄ#ªP~¸E#`´X Âã (q@{PÈÜ W_
ü)á" m¯s»¡9gÎéC$8¯Ã©x¥0QCô±óþ>tL|®dÎ81R¨±K3z}o¢+U×l®|«ÃãÕbGHØG¤
ïëô·Të\âBìÉ4Ð1¡x-^oO¦äC¼ç68J&¢ÉÁA5D0_YOÆaóûïâwkéRp"Ð&3¶D'p;lóm¬·ÎÅÅõÑÎdÅã ºRfç¤d%jKÁh/»x¹Q® .FÄ|i¡êG§³ÌzÀbÅy¿ }Fç$\ó-±!;)¤Î_ºÀÑAÞÕizÔ_LlÐTÜÈ
9©¤Â)ë^4Bçi©æHÞN!i£½ 5L×ojÑ~@îûwk5TÖ©ÎÕ7ÞÙÞ³³U"ÙîÄB$>ÀDð#Çh_´MÊÙJ,¦9ågÐÌÌdyXþz
!üv×àÓì2x
fÑF~úÇò»ºyK¼¶Ñ¥'CI®<Í7Á0^YÒFÑ%*Ý̨fa8ÖmàM÷lÉ·L^<òø~MwI*Æê7
«:p(ðï½ûÁS4M7Jß°O3¤Vìr.`!1;Á´±¬ðôn¶©_8á¼Àá4Éâ"c`¸731BvmZ¨º[§cn®ºößÇÖð>&hrË/ÚtD´Ãm0ï;ØRM6BEEMlÛííþT¥î½Ð_kAÎÕkI¯¥&Æƶæ
õtPif|]ä¬PÆ® Iñâ@fK0LD3ÿM¼¢
d=ù>/PãÁàî16n¶ö«ó?/: Qÿá¶ñN øèoq `lðTè¶ùÖúNJ ÇaÜón_06ir×EFIâ2[|-¯/KxTt9èB
©ÂÛè1ÍÒ¿UûKF75ï<#dUô0Ïw¶Ëþ6â²éfp¼³1a,Eµ«ó
ûÔêõ¦«i³
SX·
e0èÔ*Ù;ð²ë\p©LXÎPÓ½Áõïñóà¶
@O
¦WÝm¶ÆéO/ \ØDmµÙVoKbûðÜ
j®ß7^a¨yÍæúªä%G Jç·W$6¾öñû¹Æ¡å¨*H§®º&ÉL"¶oò}êò}WâËøï-õã_Ǧ¼àoRß/åÕ!Õè_`>nGLYüë´8VüD¢;qû1¬²Î3ûñT±ÝðçùnVÊJ?{ É|çû½ÕÇölá
λôáü¥6EÒèh"YÂÞk[î°à@,××ý¸wô¾£âñëô(|q&G±ô9:£¥þ#¿§pjåðùu×˸#=÷¨Ã»ÌÀRC: &`}ã²FÒÂûÏÃ%Ì0}ÕîÏLæ\³¿IRHG*Wl¾¤C8ùJÒçlLØýûh%ý¤W§ì.*vA4stí¤,ËÃ\9ûµö=9\ùì+GcѺÞâ/á¸$qèæ¨Ö°DfÐy bõãcboËSçuvÿ"@9I
A0yö´ï[-¥Õ´pû1Ê1Æ.®t?¦öºÞE_¸y§Å¥ùyNûtiz5ø]+¯Ö´L½¥}jîr !H°wU¡¬M!ÿµuF;»áÇt·Tû°0þ¤Òu»i]±|Â÷îÊ_E«Y! îm]bÕ!ÃqIÊ·Çèüò³¾+kZ:ÇÊb_öP³|xÁsX¤éõB¡ìÆ~ýo%ðzuýÖo×Ù4'âã\¹Ì
âIñUèÈÏmuðOµ¦ú*Ñ íòæ2Þí ¸XÔ¦¯^¯Æû~K¬©ÚV>ÕÅ@|{ãÕúB:>-^¿^ßõWUºS[Ígyïh9Ú,¦v-¼|-õ[Ð cjYöÀôs¾>Èb, at M7vpù¢q¼Scs²·?<YÑÌø{î%ûwÙW[B¡ÙÂÅ;!ÑÆ¿¾<¡óÍ^jðåQê³X!¨ºMÓ²wÍáréx¶©zàxðfÀËÝþ+$AãZ 3{×Ôº¢× \Þ²(#嶤ð£|ÙVå
+hç_WÃá}>Ja
{è¼]"i=´wâVüÏ8¬H4iwÕ eîVC×d½êß²únÓ:.uæfeËí¬6ø ÷9¸fl( iÎ\.ûçX8{øí0n
¬~ÔGâÀÉÔé n#¿ñG~ÿÜ~D@þ¢@
òÊðBÿ§üÓaü¦LèÅ_é!DØ4!QSÆ9K&7ª Õ°DÏî5¬
¹ýfØ"Ùf0Y+Á´ÊËFh@iÃF·¤^k\@ca at G=¢hà ÊÉá76@âÈ´F1ª$é?Á×çúó:rÓÖÄ2(ðbáÎ
ÎUàvùõþdrø~ϬøÇû|' Uü½
Åú }ÊA
©â!¨x}`ÂÂ¥T#øãÇ+øÕ?'ee·ù}ß{Wf=ýÝ÷J~ ¨¼ðõÒ}ÆÉÀþ´ÃÿNð@¢¨5ý8À Ð`ýª?¸¬ýrCYû2ày.~`²|ô3D þhìÜÁ¶½¾'òp9ÿ^¬Î2"Åô àkfàJ|¸®è<Ú+·¥â¡ãy at 3«À;¡³.& b`õ
:_Qа´å5V_üÉе٠7°y`±<~%è4âUQ[Dwj
Ho,s
Xp
ÝP¾Rò íÃÿ-6òótOéRþ?(¦·»|jÂÏéKë_L8¯üY˵+µ(Ö£# ÿ$!!ã79ö1ØJ^ï§âþýÖæ<ç(Äc®äÍ8¶j·cܯ÷+Ç5©¬£[Û©>Í+Òv¢"×¾àìbëòù¯GFÌíÅZPÿ¬.Y?ÕDXF·]Oßô¢h¸!âÅ1´ø3¦yå÷ϾR;\ø&%QýeÕøyCñ>Ã"ÆL|A¤qÃügZµJíÇöNÓͼMÊfYåü[¨c:giÀÓM14`ó
r>øy
×°r°WyËæD`m
NJ49I¬-l²ÍßûïÑ®ÛÜIíÄ{
üqÜ
,Ím!Q óÖ+3æµÜt^¸çØç®@Ä9@£hrNïìã->]ËÂÖ«¹ÎaÒÉÉÕó±PUE$DPSQ5ÕÑÉUPUAUAPUQ4EÜYâãíÛF5O×qè{À£õ½'wÁ<+)Ñë%âÌ:ôÚ,°oJ°ðëSQÌ°0.êJ!,Y<hä°_
ÿ5_b×a@¥7<¨uë %À¨ñ¢Ö¾ÄͶ3ÌõiY
o²rµMkÆãuÐ éÓqØî2Ñ8F&§+°v^³ Ø`}°Â$C_ló0# ¸Öø¢ëëù¬¨^/õ£(Î?Æ´A¡xä9Ǭñ-<0Áñµ¬y^ àdwÖè~01Þ$¸§3j!¢ öVËm.¨ ÝjÕ 8_glssFPSÜä_ÊBI!$Ø ÝF kt<0ë æ/¾bÈdü!IÁx[)7H9»Ô8ÂÈPxô»÷&!´4£ZEÛÉx p qpBgÕxNH0Úº7¯ëÃ!ÙÑ`ZõÚëÁ°
Èö/¯{À0ÜS 6¥ y&ÁMÀYQí5µëAw`e8YDظ9£ÍX¶Và-I5^ãY¥\]A
À !±x ÌQ'y#Pi´r`ܼzã!XîÇfØÁsÿ â%`¹âoõú½ zåá"z£#g×'æl,1Ïi¯¬Jâqêê¶1¹XÛ¯¸ÀyBùvÜýXßÓYºÊ?ÔYþãéæèkݤ֡Ñâ§ÑUUUV;ÝpÔL:J¿ úÞ³ên}r»äª æ@¨¢}q¬ÎÑG÷¾÷Êf9Q%£ò'wdùîµà%ÕAl©B×\/Ób!Æ
ìqÚ»mHb&,Ç«ãÔGD1N|Ò¥bÔ}õ~D¤01IH×Ûj PÜ¥Ú\v>f}?:L @×ÙºäÆ´vÕ PõNRà@Í6bÌT@âÆ°Õh,(+¼ijâ+Ò§(þx~}¾ÁÐ5 ê(G.R
ß7ÐÓ(Ë äò7ÀhÑKÁh9
+P ÂKÉÈëÝ{Èr<¦«ì¢I<LèFu%<@u´
dç×öù1hm\õ|DíÒXBmBºjýÄÐÎnÏÛ@~:Q²¾rï²Î]«Òyç6 p?sÃÃm¬w¿${u±Ê,Ê̪±^@`j@Ê^®YþD§oGoDõ^[7,8êUâC¢!$!{`í:
'óIêØ©ÃftÊX¤³!yÄf¤0ÁaIs[úӨ¨C1Ë
÷C¯h¼ß\ß
uKRÃøàóÔ*(ª±5U81É}Ìø1xãð%?¼_7Ä^ÂïHà ûßcoOý¯¬©bæ`ñbân·@íbD%® àDx{§Î±xJUUU,@ù\º¦ üó÷ºç®<ò`{¾ÓÙc/¯;@à¨æ\7q*} à!âÃ)X³,¬v!×ȤòÐÀ5
}¤4TÚ'P\|ëÚÝpÉS«hjGJqN*Ãd0ÄaÊR¤ÄÂN@çñG¨~UøаºôT*.±DÚJP-EEBñq1;àza¶!°^<ÇߺNg¾$ÆÀeâê8/\0åÏ5LSäA¨ëJØKXò<\
¿
ïx>³þ-uÍ=çøóCé::ûn±·kva¦xzÏ¢y4/µ-K³=ĹèÄ\íÊ?xãCdöߦÚ;asù_ºh@*°<@Ì
îCQë
¼ü*PõýAx¯¬±à"m¤ý±¯_
<ûñL¨Ëf¬²úàçÀ^b+¬aOqçONyK»©%(
`@?ÀFÔ
Eò4qǤ~A>{ìyÎÈ¡]
-¤AíÞ£J`ÝÞOQJܹ ßÐÌĵòZ£°[4
fÓºæ©$ÔE3ÔØÚ/Ýç=¢à¢¾®XI
ÀÉL8ìÌì@ PPÙÀ ®ö à@É¡:¨D¥9\~ =úßtè@jø¬ª
ª!ãûGxT¿îÑø`{¢Ö0 z¼NÈ!¨`3 S3_]Ç-n Râ9©_ gæmÌÚ k¶4@½S å¼óJ1 at jpMwA[©uwÅ Í7Iäðoz@ÈÅÀp2
ËסÊEw@(xj`õW9¦Ñ,°0è\dä`` ÑÜX°àP:DsÕÂ
²èRd:Fª=¹¡¨¯TÌ
7ïõ{ÝSçYfeZC¼'ÐyÕEô¤0%ÿÛõ(a/ßCâEùO[ªÇ³Ïìé³UMIȵûàD %=LpâgeP$35pUÇuîeAh(uM. mªV xl¶%qÑìw#äh<WغÉEe¢<W[eYÏTÚ+3à¹4ùë@NÊ+ò®vñFÁ¤
#`{1\Ñx
ÃZ)"ì<EÒÆ¿°ï}hÏ^.Óñe3åÔ®I$ ¾¶³!Ê]%$|¡E4ÔÔÙ
B×m¬!˯î^¥ÛùøôZ|ÞX}ÏÃj°(p¹ÒïÌßp|È1ë±uNpQv`þbó!u9 jæô 7í¸@d{@!"¶h|âLHÃð&
â{×N¦ê``½ôi÷K*j7 <2ÖØÈËÚÙÌÌKO× d%9ùi S¨d%¡h
WGÀpG ÛH ÀrXr5k ÜX9ÁæîZ$ãUs$ÎúpÐél°yóæ8£À'¤Äß ØÀ&)ä;¨{÷ÕO!ѳ¸'>qvª¿µ5¿îuö]K×Á^ Uì¬ñ]9YÔÔF¡EªÝý®;ü²²ÛVÙ¿Þ¸N»Ã6j57ÛÄ.@Ðvnâo vRH°.fÄfÄ{¶1ÈAEó©x
'`§#@tAèß¼N d¦þ
df¿m ºI ÁHÑO)âv ên<Ì
LL=tÀ`a)¤
Q<6`s¡)*Iohz ¾cÈ'C¡ØyÚ°w?kÛÐGÈ>L着ª] íGà¿ia`I>¦ÊG?¯÷îYoÃjî(ñ{Ê©?
©¼OÀ£ü éâµË¬Ë<W!.åß´c/dHFä
¾ ùÏhºeòÙGøè(`ûÉ°X at .ؼK>¿MÞüùFCÙk.³¶÷¡Á¤2¸oHúnaÇã´¡45jÈM&Bû½`×$ô
5ßÐ~âX±ßvçô&×UË ýU
Lâ«ßꨬ°¨¨¢aÔåUEVaÃåÀêÈ÷]ÜëG)e¿¸¾ñ°¿K>X2õ»2E@6@ÿl¿Õ~¸ÏÉákíÍÁÊ ùýf
3i$A(£fí¡õ!ÀÌ%rlÜgÝpÅ¢WBd½v¢Y7qÕêDøMÂHn7k76HW,Ш"V©F uÒ ·n~ݵ¡ôGîD:[r;y
5y Xþv-!»Q»ÀØÌ\j `
âoâBP³BHL^PðÂ@B#w«Õ}4æ
A 'BïØ7
ÉÍ"Üv&įÞ|:êE)²¬¢"£0Ȧ Pr2¢ Ê%ÊÌÈÌÉ+3(¡³&ÂÃ+qÔK°¦ªkõc'YDeQUUPúýç1Wy_¼]ÇâpçÚN½$vªtÐàEóG@£¬A¨Â#Û}ÁêO´õð0Å4Fgûµ°;8q¸Ì0ªpCP´HU#$ê±è¼{TG3ÑÅ÷ëbÁÉGõ{¿¥è{µÑ§x¥â x> `~Ãy¼ÀºÄÖº*èØ@ØÃgHIIÓËà`¹¤<>
³hTª¦£êÖûÐ|<í7':DÅøBÎÂd& <rm}þØÿáGØìwºÜ`M¢îR0îI0oEx]ÌÖ¢@7¢¯K .änÎ`skäG W'o5õë'S¬jÛu8îívk©Ô{xdKnêhµY¨À8¤ÙO<xZÁV®Âå÷j?>XëfíÂ>ˤÄ0ºÞ_5¸}èyâr¢a@Í=ǹh»Í0
!´ïX8ß9¾p#qw Å&"ãÖ¨w1¥3¯DLiÐFä?«ûOêA÷¡&óó¦òû7FP|c¨Pïæ.y´Lá1Ãíû
áÓ¤WNîÿëÃNEVmÂ9?×øuýL7k¹Ñþã(ÖSP¿@}°b65ïí¾
xîƤìú ñ2ÉåîÜvY·t åÙ¹ö9AÏWHt
ÿúv°Áã=0÷_ç?Á¤ì~¢5i¢R¯¥H½¿½õ¯ñÿOäBo£ÎDZý½ð:+Â[áøú"bµ33n&Ü44áòÇ^·gü}¾È@¡{·u¾lû[Ʋ£Kº|±'ß÷¡ÏoK¦íÃùÉ3×µ·º&k,o¢¡}6 at BláÆýê=°rfÌ3G?·q±ÏåÐïä¹'ͤ¯íÃ\jçË«¬øÚhèúA8ëüeH°÷ypýÿô~ñIþJÖ&|è~Q¾ é¤I$ À,§«ìCòÁÀ×îZæþÍkú³4ÈÈûPäÑâA¨#ðºN$Üséì v:¶º½õT¾®ç;ø¡I½f6ä5Ф8vpç¯49b U#µÌ4móÑ8£ßj]ãâÔÄÇ@ê w¯gDØ'ò8ÙÄ£Hs³z
NYnâj¹ySZ
{¿¿*@ÐÖbFÉ :5 Ð1=ö`pô`OÏNs9Ñf¡Ù¼¼rðB¾ZÍ£an9¥éöðÏh~²²ºX7ÅI.
¨4l#C¬4'$ø@3Dh/Ï÷-Áò#ó#Á×þ%@;ØWå
Gù~è|Þå~ÄwÖx¯¦B/°¥!ùKÑçûø}õ-®§z
êy¨¨ªªcó§Ý<üxçÂ×OÈo[Øm&m6n l±_öÓaCpß²W ¦Q@ò?Ü Ý ¹äòAØ~Ñ×»·
3#¶ hC¸(ÒÛcÉçï&xpx£Ü?ÄFe
E©ÈpBG3,vô!Ge«ÝA²ÅÍóÜ°ÜI-¼õ ª[ØÓý viÂf%õXí\e#VJÉFH3 8;¸<ü>§!ݤ:ãÒÞÖ¯&»ÿ¢ÕÃ{8éRUJ6½_àiuTJÚ>7bXHJê[y9=ê)Ìôï'ü\ÃGw6wSvg¼nßÂsN fMJ¤4J©Gp9(dvt:§^¿$híß 9µÇß
ᡱµÅ¶.
LªñÄ¡ÁÊ¢§Y<ì¡¢ ªj
)fyæïë¡ÁuBÔ;ÉMaÍÄ9PúÃà^±m®;òÞ]îFÈoI8+9nÌèzT½K.è#isÝÃÈIAaÓm} >
¤yçA&(ÊÄQÀϳGrvwöæê1u㸰d)?¸Ü0¡=)ÂåßC#κ Kn8èQDÁSѬ4Å3`j£Aj©:S*äßËóf£$$IÔ+¨k*ûÏ71æ¨h9«ÅLÈk3)òIj¨A£s3~NÑT`¨¦Ë+ÓaJSåJ8a¤ N®¨¤XѸÖä\l6À\ûBæ½:±´CÊjï"tNÐn8>|L1ÎáÜóNÍ
¶D*2HÈFÖïqßëñïüà? Ôñ QN´^5°1c91Vq41Z)ÊÃ<½],K0/I7à=«;ÀêOIÑôzÖ =ÕaÃah4þ yàèÊøu3]S¶ªÇÀ÷óû½Ø^~¾^ïû`þºXù¦¤*$i(h¥f©§éTÄ_6"ÍÖdSø1ÇXeÛ4ù¹¢ÌÀHµôê@Ñ*ÿÅ£T¥ %0HCJ}ܤs -¦YlD=µD5©ó
ÏÚ8sv|#"÷,X¸`Îæ*S0ê(ÍV£ÕiïoºY Ëøæ×@`ÄÎZ\`BL#¸øüONÓ`:%Æ %ý?£ùA¨ÖDiYËÐ;yK°u\¸¯/ÂÒù AôHÕ®Ä4 SP¿F¯~CúJ{»/ðºræpì"ݧ§gêÈ#g+?«»L,ÔIÃPûLxH|Ó¸õR68GìÝ.)Bw´&¨a6i´~z°¨>úþÕö»í¶ßã$á?î_Ltoøõ7}ÐR&9ÀP! ÃØô¥º#ÛÉX&¤
ôíOì
å)¼´ÿ.µ¨ÌÊÍ|7ö©á°õ)êPñÌ¢ù!!ìÅrh$Åêï).ù ÉÑòÕh`6A¼!'ã?/wòµõJ·1Òðë
"#Ï#8jh4Taôa
c
QBì©ØæGlC;³bÒx¶ <Æø½°ÏXÌ©dDD,
5Ê!ø>=uVa¡!ð<CÂ`Øf´v)ðºRÙ*Ús$wÒöÃSi']ÐOX_áôz07ÉLaÜÜl¥Q¤Ê¸E!Æ4.$ å*.by¶ÑA#5[ïé¥×viÂA0Åvx·AffdGºÔ8hòOÊæù¥ ½RGÒt¤ÚÜ×Î4yÙøÓpROÝéª%cõ*l& Ðì
Q
daSjÖlcÐƽu«SöíII«YªRð7(êC,'5( & ª¡!"Ô¾ØG]ÕZ]½îH¸T2S¬~r89¥ûÜý¤¢îýmHD3
4%Èx&ÂQ"xb¡ÑNÄ>x1¡bës}5¯9vMDz»~]!Ð ÙfPw
ç¥*§^Ðm|BÌrɱ(~&wú
RôºJ*¨Ñà·g at Dû}0ïîRZ rEÌÅCá²V
Jj'(
@1p¤ÚwèþÎñ:°cÄ͸-Ð<®!"á TLEzò"úöÁcgC.£X¤Áò{8©çb»ào4¡ D$ Bl©èï9-Û9yè$ç·²Hɾ+OÓ:V#1Â$Ì3äI©/áO@ÑÙQÀͧðÉE/pp&à߸%E¸{
ó¡k¬Ä(FF¨.á(ý&ÞpÓ¥î!ý_0=ÔK2Ò»'Ȫ©Iá@î-DB*4ÄñQBØÖ¯|DE !иa< ã$´ôí
üÚÞìÛc6#{û¬êw¶ LH
09M#Wé@A¯¹¹¬ÅZ²I T¸àî H
`ßF-Oã§1°;é
ô!;ªV´£8Nø¥<yKImmt/Ô·DLX©¸3Cæd#FL(Ѭ²Z(¹ÀÉJNXÖjµ@1äL(ÊÁ¢Ø£oV$)ü.C at xÄ.ÓJ ´1F0QÉÂ̱m`ÆâYT§úz!
ÊÜEï¨hZ!±ï¡Ò#§`7|;+p*Ð,z<Z©F½$»,ã¹7imÏÀÄRÈãü9-&dBCÓйÛì¦ÐnºnÆRøÀûâ*Á¥hh *ØÙg©_î>tòÄÏò£8 |ÇÕvo"DöÝÓ`Äp¿±Ñèô_|ãÓqW×ì÷µ0í¸7û6Ò9
ÞY¹a1 90Z7fÖéËÖúÓ C÷ã´= Dü¤Iåî^ei; nbc29 ñÀ^Ôæ èï¯á¾_Ð}Eå»çÙMQw?UF)(X%ÓßC¿ËY¡$¦FIAá!L@ÅPRéXÐ&Yf´\ýþGvgêÇQ5Sr<x0}!ÍRDl»¦f<CQm5¶ßõO|þæ ß#N
V²E dFíiBk*Ö3A
8l|&ì´i6ù
X¥Hm]O£·l0BHü¾*$èµ"¹+ Ð< %ñ´f% URÙfWÇ¥éI
e×ÒÿóÎ1ðú¢<Æ°-ØË~F
>¥ ¿\°À+<ÐQAéðÀ|$MúnEPP©õçÞÿOSÎ=£ª2:à"jøøp׸ÆØEÊI´Í©á(ÈHsס
Ô,2'O'LÈÑäÃ0úpëØ
¼ûæÑ9àÇ#£ªÖ¬B«Z1\Ú
jcn§·CKÑzlEÐÑ·DÈöF61CG#hAñdB `èAüþE¿%ÙAI¯ÎgxDLz1ÂZPi(¡dÕ^pâv óÙ°/ÛØs~H
Q(E]nd§Üð5ß=Í,À²¥TtPvÄQäÀºZ4Vµ`Dl\ÁÚÉ`ih]ÀÁzàEÊTß@Î
A(!3«tzSÙ¸(:÷44RÑPp*,!Óí
¡¿`3Û'íTøñªFpaL
ª,5I-Y1£M±B0ª1¦¨êí+hF6);!È`W-Õ^©ßd²¥i¶Çã¼^($VÞaD:Æ"5wÜVµ¨cGç÷ë²ûLÄuaXÏ{¸ä(p¶ÏfÅ»¡ÉO ì;éE
èî%zMh®ê¸us<=NÑät%2K$`1(P¥"á¬ÒûÆ÷¼§0Æ(f¬pQÀ¤ (
˱Àº:åܾ¼4D
Ìo6¬îéû}7Ñ
0áRQÝT¡0!¶ªº¬P(LҷƳORz8ÌÍ XMXicI at bÚJ§2 qwAG8rBò^ô·<Ð$@" ¯õ¡jI²,*¨
å6й(+%?AH;wQÏ~tçz4Ä7õùóC!7Óaø&«<ÊbÊdè¥ófMRT@§¬c´qS¡ÆóN°ÒÌ¢~è)Èæ%ÆÂa6V+~¯®ï~UɯÐr6À÷'¦èLëÂ6C%o11!Ôa]áú@zh;Nzð1@bÕóo±5*HJ³IäÐlx¨â3 ¢ ´fX5w&a*LBG$Câz
öâ¥$ûÃÛ³,"x=JEF@¬lúyø]?°×º\®:ùy!Ô½êà3Ìÿíª9 lk pè
ZýKYØ Ú[Ý÷LÈÐÆC)SôYZÃOÒBdsÏo8[b <VcO¯Ç>ÆJvþçûttÝ0ÀEl±tÞÐÉ&Íut ÇLÌ»:tÒU~ZýÓLQàjìM³áèaú*Q
Ý)ãzñ'³Ûrü8e<CßÙÀ5¶<R a#'ÙTzÄ MMI*J¦Lf$,#àê#Àâ
6aRO&M
cGÙFàÕ(8¦á&D40LhÃQ×[=Y¥¶ÔQ¡xHØ#j@èϬÓiec¡XäBXEFq}R*3±´Q£c##Ôp{îá¶rb
U`íÓW;iXA»zï¸ÀÙÝYlíð³;:ðÚD|¡ í¨CTDN ÌÃÑÐè'S¹6daK
¬Ã©oIÊÒ'H#S
Á0¢áh=JAt«bBj¬Õ È3mÑt¾E)¤ÂÇ
<Ãxâ/2,!Ì'ãÐRë0A´Ã ÒèúkQÃK+J&ØXèÀ¼4µ¡ñøSüÅ·®¶Ze
EEZÌ
zÈë³`|dsAæe Ht¡ÙûpITt TIhm²GÇf3WZP
8n¹l>°ìû9.¸)CÒW#
BZfAH¤Å jéØ2tã{i¤]T>^nZ¦+ßÞõüá̽ÝƬDÄ,P´`èM,¦öìM,^Ý¥:°?Öuµ¤aí¹jÌîµßiGGLÒH¼ãªjjj+÷{!µûɾí½{´>@ \=}â*"ªì»;öÒsÕ<
ô®\³f©H
ó<ÐäñÌ`/m!ñ·Ú1°æ
à
³!G®¼þ~û/û"§ÙÐ*û÷óSÌ¡³J¥C$QM4´3*uñT!2¯âÑ4ÑJn Yml"(Ü~¬6>èûéóIDÂ?Ó½áª4cHèg¸µ^;ãÑxãð+ÌF%&¤1I³É¸Úv×¹BH !h0LÞÔ_4£ICB$Ô êBâ
sʸ%)¨=»Ñ ýI> Ìãs7;ð _°ä^Q0;àÐøó¬Åæ¬AûÁ&SÃ ï ²+½Íã!#mnõiõ9"a³÷!a'& º0gÂøÄ1AcÃ!¶5MÛÌÓÚ`ù¶ÐÔ¢">v/;Ð^ "ñXpÃyBSÛq´ÍLÀmJäýz×]õ~/ø2oaÈ#Ë.ïûp5X¡qNHH@~¾fÚE´º|añùªb+ºvy[C3¢HH
²çqÇä[ØS$סidhµªÅRHÜÓÇk¼XusâXv=å%¡¡Ï>ÒS Çru|À] %~s¥r}òöÞÉ
BMZßÑüÒbEGÔrÄæ½Øæ°:æ!´ú[¿ÛãøgNU°83³j_~+tçðõÉ®mÚ4Nº*7̦
0ï(ªvâLæ
¥t¹Qr:Þ8¶tûyáõÅÃï)lNO&ü30];0Ý&3c¡vθa[ÖFïiàun}vÃìX¬ÌõY(Ø/(nDÁIµ. ,Ì#Àð:7v<ð¶j¨ë¶7©½.êuø7ç]K3as! ÚÂ9$-2k`ËÃ\êH²L`´Qhv²:à(7 p\v%2rSGB§A8¶ÒÌ÷LÒØr±,òqÅ
Îüpýg;.+JÀ ßIõS%¢.´7nJÓ2µrÝôáγG|ýLÄæl·94ÎÐÝrt».
DúàfÕ#r&ó¾|!lyîÊ AEÞrqÍѵèÞî¤sµm2jÒ!¹bo·7:c¾ça
,Ï
⦨ñZàeäfD7ÕâáÛ¿r(FÎ$ìh;8Õö¢Ë$`4ÅÄp»t !&ÀiÚ
I¡1ãOå̳ M,ËgxIæ\z
´jMfüt!ÖÇUS|
Y¶ÅpÅÖ¸´9ÉËæKg¾Zã¸f,2l=;d\Û&4뮬mÎÎÇHAÒÒL%¸áÏßÄìkÆñÜßhfàÍSìÓ]³S>a¢,röºjÇ~8ª
9ã+Ê꯿¨Æ$ìÝ &Ò,Âòüãa
Hf÷6N`á6´Ë³
^Mµ
HvÍ,¬xÙìÑgH%1;vçC¥ÜèvlúiܤTåíÍAAð&è'G"fvì¡g¦â+Tvl³0@µ Á£b2!Eã¼ß4ùsbocXÎCYÏË
Yl0ÚqOV#LË m'\ÚW»ªÙRдCÉ´HíI¡P<i(çdEÔÚ½Üà<Í=:'Z×;t~À¦¯B¦ÉË.t"â7§ß\´ÔnÄsÑ1´SX·sH*ÐàqíÆaÐo¿¡Ù¢p9dÉÝJÙÝ3ÁgY
UCÑ^Ér³Èøà0_zZÖ»"Ñ6øc.vÈí")
Hø.úëÆYd©ßq$«c˶ֹAo,áJé52Ì7yaå>Çìg9[=Ðnû볶¼ÑÍÂÈÌþQÙµl6»à±Ùü*ëËU%<XÃÀN½Ù¶R.,
µ\v,5©ÞºèQ¡vzf-(÷
&ê7 2Ck
º5B1´@Æ
Þ È)³²\ö4f³"XBácÏiÁxû¾Á@íjI}p"tÎé!M«d=ØR Q]K
WÂ{¹v¹ÅÓ+æ0
ÛÎÍtìr¸áñ]Üpß:Jpõ}ÈXk?ö£ÉoQ ·µÔoÕܯ58ù³WV#yF%5£S:àÕIÇj8âÎ5Y¶£êú@ÙcÙxÛ/SäÙëz¡ÄrrqF1ÅܺðÍfÌéN¥% ðG$§xPöuoàâÑ°ëÔÃkÜbÞjv¤p,I¡¨`l0±M]
LxBz6W)hr:»ùdèS¬NPé5JkÙB!@|-ÜÆ(WØÇ|Þ0àÀ9mâ`ÄûÄ^¿¤í5Ãø A¶
¹¿wnÝ/{Õìvø Á9È@l&ë3SH¢ð
Bä$È2cÀ¨ 9ç~¥À//ÒÙJÊR-H=E ÞCF.ÀÅ»VAJ½èt`-½ÙÇDtD5!¯nýú¶µey)wýÝ4×=*Ù¬¹)â:À÷ò¶ë:רpéàÓéã ZjwòθtK8áB×;òcç,ÞèMJ5(åäsìåøè&Ìt8áfAÔ
a\Ö -p'ðí£XLV÷aI"ëÍ N°Hô»Ù4Ï9nE®ztíEË$º*òæ(¶4ÃÁa/m¾ë½j91ÙÉÁØõñç[Ç~lÍ°r®ÁÙÒ9:$amä¾ÎÎßMÝABð,·bHÒÚ}ÎkÖHñàKÁ^ÞEVÝø"4çuÝàÒèÄé-@ÓÁàkß ÌðÆEÇ îç]Õ×ÍóuÚaÆ3#ê°àË5´çpë=µ»ÃñøOtÚoTÛÛîÙè9Þ¤vá8zwvã£a¼÷âúouÊ
rÆñÝ6jü&^,õÍéRO at w¬+D@.&MÖ$ÜÔtSØÁM
ÿ®vØT MAOQ0
î!Aù©1¢É *!¼Äº!ÒX9ñÈÜ*4(¿/Ý`"çjñ÷òÒï<&ì!Ã+ä~ð¢`C±Täe at B¦gkfÊ£
1ñ!|9m`)Ìc0LàrhB"tÐ&8ñC>²è^½}(8ûË~e¯â¤ägºÁ{PJ¯F§rw×rða¾5A* *~dDàï} wḨ±UA¤ÅYêC^ú=~Cj°¾ÑMÈÀì% ({/²AøCÎ`=Ò]dóß©¹æòb 2¡ê¡géÆe3)(¶¨àfª¶²ìÑIA«¼0po
B´Äµ£!1¶¡½°Ñ "HË@«6À:êÐÌÖ`¡sQ(¤B& Ìvs9Ùñ®ÞQ03»"~SÇå$ËRùBÁ¬³Üª¾lNFÛ¸!!ÈûåÑPB%Èú>>âýÏ\M"Pë8¯8%wõ'!.ìÔ²7!O!©ÒÈï¨öÃÉÞû¥`!qO%
cX1iE-èÅθ3ÓfÁhäÑh|6¸Í鬼ɦ£¶ËÁ2H§64°~~K*¤C
¸-s¶k¤0C«¬o¨ôQ£
f@!àÔc9bñx äR£Ã«¹wá×Öï ,wD×TXؽXgëÈ|öªAÇŲñ}Q|ÝXÔö×.Ûòöûý=H÷gÝc]ô΢²42Ó}èsHÝ8çO¾*e¶T;¡t[ÒbHè0¸µÞB*d²Þ?QEñÌ;kÞpl¬È-ÍÇ?l]§Ø>ó+º8C8",DäNpß
ÌàÉNdjoÏy¸ZaD.:Ä'©PiÐÙh Yæªkzãm
¡·©ÀØá#Rr¡a«
ÎdVI8Í»ñty·JËÎSÂJ0Â3ÝãÝe=arÎîùÞ.ª!:9ÇêÇÌ9ZWÑ> ëY |¦M&G@â$t*#814'AÐv»Æ¨p<$(ZqG¼"hmÑOà;º![Ê Èm?g¸ð¥ÍFZE iHR)` ð`ôÈ3.à§úbBëÀ{w¾÷ú_Ck ø%ìÂä }TS H»Þ° À48ôª ¦RB°Á3ZÕ #ÏfqÆÚ{HPb@ð/dEÜb6?Àâ¦wÞ(}24¥ PH8/J§sá¿w ¼{±%òË7´÷Ó³VòñÍGâ
]ÒÂgË~¹`TÇtc-&DÆøß|÷1²F<ÑÀ8mºíwǹÖÿtr1Î8fØ&³4u¶qqáqÎ
;hæÎ`Pe>öØéüaò¬ÜßM¹äb `êº2xÉàãô#¾Òl8QB¤Øãh(
NÈ ÍÝàîÓ̳ ÇtI]¹Ï>32ÇBÚÒ8éo0^SøÂHTH
ÊDçªÌðg²Óq5ÂÅ÷/Q\èj«A'y]OYÍký¤ fìÏÊ@6{Gƶ*ñOB86¨ãå&)Sw¸ì÷ìâÀãdÈûCß°;×®ÑòxeRÆ`T|1Ía¤¨ÖccBêñúb$S ØP ¦""CÛ#»Üõ:RwÃÄ÷¢
B-§ÉN,5Ö=BÀ²Ð)
@
á¹>"»rwj5£*Hòßz7Fá|6ØHØñ¬Â)Pg Ñ´n(¥~¤cÖ*àpéܸé]cÅvg¤læz$JèÉ"W0+Ä ÈLh
xö|@ïþYç±l0aØWÓÆ<ì8("ª¯ZB¤AûG)óÏyÓ¤GzYO!¤sÒY´c{t`Pð8Å!
ô#(Á3?z
ý!ÙñöBQÅ°· mÝP_iÜw\tÄ"´9.l]Æ¿"¸Rn[sÈ
_z`tN°9A
(äh÷"oÙBÙI¸ë'#³û $^ÆcËfÈ.h}?H[BHáà'1
1»düm<\ê ¢F)` %È!
h`C!à!2Á 梻ÓÞýDcàG t¿Y
Fû'Ût0 4ª'Äó£vÿ~¸:Ys
¦ "aÐ1R P-PèHthí=ü0wU%Æ/Ì06h¤lpÌãHi´KÌX#uEE¢pÂÀs 01ÀÀ¢°¡"À#Ã@äÆc+Ãl1d!¦ Þ¾¾jî`,û\g² 7'ßµÙpßÀ|4è%7)©¾¶Ë˱æ(E;Á!´wºÂê÷r"ÃrGqË!ÚDH ÷"yQB(¦ª!S¡ÿ*¦ö~»Ï_Úõæ
ÄxåøMaPÔÌm0²ÁS|ÅBÛ².
B%?3 |ækT¹ÄñCÒì?1Ó´,l´¥¼')ùÏç<ÝÁÖa¿
8
ÓB".⢠÷"XCê+á©f/Åôi}çxIÌÑNzpCÙJÀnÚõ;
÷&ú·É¢TÚ6<Ã,¡×ççãYÙlÖq)QÆ
nÒ8ÁÑQMA }¼Àf þj·-÷Ù¢àEüÏ eÄ\äÛf ßÝeôÙ¤
DÈi}@øùÁhøGÓA¥L`Áä4à$ MöF`À^
dïüñ!2é9Á³aµ4Ùà"(_h'Ä«!°»çÝ´¿Ý£7º4B¢P^ä4ºM at EZð
itvpÕ 3W»JáN+Ä
H1¢P ØfË)¨Ô¼Jy§'®"Aq!áߦ]
Ó
H léÊ4î#DUH8ýEtxí¡DafHÂÅ
Èn³ìÞCÒJÂòÆ<¹³½wdÑo"¢ôéCghqp.¡ÈM© ¨ÃÛDØ<NÿÇ÷*käà>«:&æádh~XÊb!0C5# Ü2ôÁuBJ:ÞÛÈ$3N¤·9£¦#,n9$4Å-Àt9C±ðïàÀø[nnê§ÈÓù^¸ÒøÒο1·w(Ãt$: Ç:L·´v¤ÓB3_$"÷Ø{ÜuÄæ,ÁÔ_Dã].`ÉÊÌo)dZÆz¾g²î àeZ¼}¡æë¸80
h±NsÒfïÀ@ÄH$X(ÀSøRî|d¾ÌéɸOÄ]>¼ûìGIú8âÎÚСF6èMâ\BBID7l©º/6ò!;¨Áe,÷ËÙÇ@2ÈÜr¡Rð"R'åÏ$r¤øÆ},01%
?Ø(A_GøífÒÞá½¼ÚÄÁoR©l+q8¡Cô¨¿ÔF³È¸-¨Ì@°"I
*,lbB 7a
E´|ÿÉÀ<q}ïÙFÌqÆF×AD«ÚQ±¤Ü®Jà9óZÞñËæ(¢ïÓ10 (¢[ÿ áK Ã<GñòsNLÕ(ø#/è`ª) ¢¤Ô¦TTA
1 k;ËHDÑ/.Ç÷{TC²
q¿J H'ÃD'¯ÚKk¥_:vâv ê>ñôÅ**¥ªÛx>Q2÷ú¼~ÖÚ¶$§¿)ùf f%%0Æ
ûÁÇ!çA÷ÁßöºõHAQBE)f&E!0¬M
Èf8D3!°@Ò Ä¥$H²Ä
1 H¬f´P-R(D$ÊÕSAQR4©IA at DDf )IAPP- ÐRDLÊDE´I%-*H¸çAÄÔE)¡i&[h?00ûüÆÄàûHØñÕÃÂ0²ª°Ì3H àOC6Û$ë6a|l)=Dî¦I&º¹Ã"²x!¦H&<a¨¯uNk1ª± Q%U431)LMD@@1,1A LEÚÎÃOû~ç°ÌÀá6,(GnHè}Ìà!Ê¿ºG&îS¨yÁ.râ!?>5û¾,Nâ|I8þËbú8
%±¤JÙö=0
4-8tÔýÜTó"ÁÚ;äÌa
¬M¡"\×ëó ©ge(Mt÷®(^aªèû¡ >Ò`x¨?_R6£0°±ñ;ÍáÆ
ÏóµB³âú½Zò¹øg¡fR
zÿ½&
¬28<z|.Õ-iPcáª%þ
¡J|sAï"¼ùú
ÀÀ
MäÂ¥m
Ô¡0)°>½¦Ü$Å1å²5HH õR
/ï3r5¢yrɵS.¹` eÄÁ ÉL$\"bD&w'¨x©Ï@º£¯{Cé ÷qá SFUä'É$¥ UlR9 Q;ue)ã=cF®vVjÖ¢ÂåÖ¦³0,²ª ËJÜÕ¨¢&Xá.8Êd¸8â¼hllcQ2csåÀ8#uomþWn&ÜàÔÆ¢qà9ñ¯|@áÁC0¨LlLÒ¸äÛp!´à½ÐÒÛÂHXvò( º Ü¥ú
'Sm:äM~"Ð&*Ûìvðï$hð~GðÆHÆv
Á¤WÈ/à`1×V7 f)¸Þ?ÞìXãR¦¬"ªÃz½Ñ©s¬Ä'ÌK÷%ßTQNhw at z¤ïQ©ÐQ
n¶(°Ø7Ù¹) u« :ÈjðÃFhíÛ^ð²P÷%¸$u
áaôR AÄÕ¥þ+LÜ<øìTÏ ¨hzØE
¡ü{¤ûJF~ò&
Ùö0tC¨"Ck. ´rõRÞ1³¿H²QÞvQï`ï*ÈÕÐgW¿¹|²uñ¨¼¸`½ üæS4348¬ð1 Ð6J:dê&,´û¼2èîÁ¶¨ã Ûd;*¹'ÃHk¥N±-y3HD¯DÒ⤯+8CJºVÇH4Ú;H»ÆUÏqXçöð õή$§¡ô}M©ÂCs ¶z{8ÔJ
H¥( ^Õv ï=ïüÊÝITU(Cø8ÊÏöl5ø\¼!1>J_4x)NÇ íÏÝ_p$ªRÏRàãd>¹x
pE?hÑËvýéð0?ñë[ÕoCu*¡G;>:ø<'AÊOLVýj>!&s*qîù¶FÝOÇ%Hâ,ÁT|bæ°Â] L9Å/!O!^>ýÉ;³(+qáþÞ
(eCF ê²yWιhÍgµÖÙÆ´;0â[+±AÈ2Ðju,-émyÈn;GñÀ»vá>|r+b|¢Sæd;ðÏ2;AàÝ>éÍ3sL9Î ¼-!Ã3>sÆ.9ÎÃÆi»å§åøÍ Ò/*
k
iM2àâ0tçkjV(
øäÒDÝÚFg"°Û&¹ý¤÷èT%9@óú¼pX³O§t
ê@õ
4ÊåÓ·7ø4¦`0mÒ¡rãpF)Jô«QTWïxg&iãdE§½HP,ûQü¾xÍxráwß0>D>hZb}s¸S¤N¾¾§ÊRnçÝX¾ão°È<`"2ÒP
DKIB BѤHÁ Q4DÃI@¥
5HR@$@´ÂÄR!2Ä14¨R L
TE(LDEL°10DP5EE3 ÌÌ¿§Ïòç:£Zr°l
¾éöXZ0GÚ ¨
ú« Ü#içÃlÔ©·Òø¯Ô¢tx&*~ F"ÑÄz, ãÖuO©>©îòÐ07iª¯,üò¹+IJÒ9d)©" +0È¥$Õ¬ÇK93HS+ at F`¸Áä|0ª,V¢H"hVÞÕfRBS38Äñ*·M
°êLK >×&àüwàH³d@D-àmöÛÍ<H Ùa=p[¡åéô?¥vÝ;`Û_ Âd¶%íkÜÒèýZf\ë*Bîä É]®b40|KKÅáöÇ>¥(ëÓU³aÌvÜ eh¹&Å?¢£ "¦(8òöp&OÖ@QKצyÚH=HÒ(bCh;:6ÅÞ^h06xi×iפM¤«Äo$£'5éà "!(XJFãbÀL
>ÖÆFÖ(y#ßCã;gÊ1çîØ5-@Y®¾P3G«í£îBÇã÷'ÞL5ØÕ4íîGeÄ?`4×lO#,h0SäjÒ;Uk!±ÀÔXñ@ÊÞB0äPXÕch
§nù%ó&3èÑ£LaÆd¤¸ã8
("P"X±P©` D D DfCMaùò
²!ª.ò.*IDd?{èÔR'§¹¦ç°>5E'×Èã\b äë`KD>¨e4B
öQ÷¥QMzáÀ%<ÑÐ ¶¾Ü!úØ8.àø4§iMÔDÛ Â~KcÄq4s(ÃpÌqÈú0Cæ<*é´M!§Fͪ?fÃôêµ ð³aA¥»Ó ô ß3ضP
© õûí£Øûæñ¤
ñ"i ¯cF!¿Pl@Îåuö^$QHi%¾$æ´;=ìÏàCPŦgSþù±&
ñ_ÊpCÕÓÒea!²Àâ"!XȦ]`%F¶à4Æ÷
PP#z·OµÔॢÔÂ$Dò!FZ6Êh)Ù8B±0D96êZÙNÈÆ-¡@´QN· ØA÷
I0ʦ¥ØóMâ90áºMcd
±j±°Óºi½¡æ#H×<°x à`èAH<î>/Ú|@! C´^ òxM±#0cg¶&,=¾Üù\¤ÄäYhÌâkt#`,dèøìo2;¶ÎD¨RA
bľìÚíäb¤¤0äùùÀøÊ×tnÒÆG\$@³
L0Ö÷ß
ãfC1lxbkMÞOkRQthºzeL400L
f at ZáK="Þad-uáÖÂ(<ÿ=H½âLíOeícÝØî7
2+<(ÓlV5$"ÙÀÒ©kì¢-;Ìz@~¬ÖvV4!½§ ùíZÂTú%ÿxrÃâm(}éVÍw}¯9æýkµEƳE31=m_7§r¥ÊL{ßz¢Z£Z G³ÊN
µPÐ%ÇGÀ_/c¿Äô¾Ú)ÏC%h5"7¼f¾^-s§í³Øt*ïwD,§R@ SÑdNj`4~ª[õ:-åMQç±UÑï9 Yí!s»upÝwtÑ 7O¬bܲ]Ð˪giAÀR»C Q¤2ÿ¼#UhDû"TÐÐph"cPaC0
ZTª(Ûc%µJØ1H¬s!ñÐ& [xñLI©qVE%BaÑ8 öÉ^H@!9e¨ðÞhwÁûåXèsàÛ1-:À³<(gòí0³¨A7L _zDJ(Â,°q÷%A¸¿ãp==çýB7ýuÄþéOëes%CëòEeûü:½ôò² ·î
Q¼PóD$î$+>jBªdp¾¹b¯Ì
PÕâ cì gÉ)ûæ¬|M-Ü[#oðëëð&jªiÉàÉð¯XëÈnyqd ta¨gf-ip¾væ6¶>SUsµa¬:qÅF+Ûµ2§CÍ».HE¹UTTö¢F+¶@mü
ã¦@Ç?ò±ÑøXm¯ÕL>ýbbB+ÐèÜp®1Ù2',Êf7l¨"üB{KE«°pxKt
²Y΢Km&ù7ÆM|_Øø&Â)FXÂ[JÜMpÐhÁ·ûüãähn&²îCp¬Ò4}FÂ¥di at fÑ"¡ñØÀÒ¡
³æ!@X®®æaD&ÿ3Gèa)üXtE,LÑü®>þ[û
h(<uCPt"BI!©§@/QwǦ»Üw< ¥
ïÊ#²zë9w'>Ú¨vjFJÔN%gXÑA¨rÈË¿XFÈRÔêHª¡¡w$PBCÂyÐ`ïÞÙôÃÿ±¾¢#3ëò°¨±KÎ!;òd at 3ÃÀ("'§12ä¤âÅÂ;p'L$4L]SàA{H X1hÓÀøw á¥Q¨©EàÁÌBI½ÛÙõ
ü¢ºE³bQÞ/n6éÍà=õæNÉ=ï±"g~²> 01¨wwqq¹wXȳî0Sr£D(Âíî$.zåþp¥8ª=,¬`PÈ[iï#KèÏaÒ
22CØ3.&ÛÈbL´em¤ï=9óN´b~WXåö 3ÜÑÓkHzì÷xlr)æõÖ±É(='ÛѨ²pôÃ7ÐÚeðÃZ£ü±Âë"±îÀUaÄ0±(´
1
×uC $³eÇ0ÓÈàð@bMàjN
:aÂN°i0[
Z1ZB0¡*·%¹2%FA2J¤.5lCr©¶
¨_ë´@¨c¹X¥!Æ!0
èªÌ¦F'c«àxÝM\NI¨e{%¾.Nw¢gxÃÜðâÌÄÅ!#&4$na* ÉY£1¹Ã* ÅQ² ¤*4f&#YMÌÈQ¦°³0£cÆ4Bý$K0£Ãiݲ5(Òm´a$Cr(Ø>[Î348@¢F3)HG7¤qf«E
)46ÚèãmÃþ§$)
8+á¾} ÇyMFe`u²:&Æ!È¡òê
Ôd=ÉFã,(FÑJR
@ Û¸ÈáFFfEF2d$'5uLCCH[ÁÉÉÉJÔj]P%~+f¶k5Á9æx+õæj]J'gB¬<ú}1â¤ð°`õS2
2å/$n@Ðb¾q.úQ]
ª4$4$h1VÎg¦§¸ÇeÓÙ¶xõ5fz¨1oWïÓ3[J¬PêY»ñfY½|@6q)¦4k5¯¸¸½_±Þñü´'Û1Æ·Í5³¨ª%©!^P"lÀp¹ÞUGÐ °i"Ñý`=Å.Éâ
¨u
v5,HêDu²â
Ô#R®¤rU0
§-¸JÆ$Áá
Lä1i5¢<FÌ1>èïÑ}Bè"
Cõ¥1H¨<m4fZ4y<Iüç;AbX""#(Z I( "jýr?'Ø÷ß7:+zÓ»)1WøÉbhxMÔG°§X2bmMè
¦Ä¯ò»¶e *Ö¨âÂ&|L=
0ÃâûÙdcëðfÈ.>ÐÝé}P"á§Á" h JdHJ_1eJ"âÄShÈ,!â@ª º¥î!oG¦}¡Ø<ÝÀJ:Hðåúa7§çÌ!@c!=åg¡(ÛzÚsu ât=:NÊ2õó¢0pÆÔ+PÔ ÁJA`DXÁ)ª$5Ô@¾ËáÃÒãǤÅóbJH!â ò¯¶0 ÄïÑ4Ò:<ÖÅßD:bõD-x~NJ®IÂgZ{餼}¶i4éÂzàË.Å<§N5á.B)©òuBCã=?ó2v}çí2ý©êdL¯mËìýNrÞ(FbPE¸"SÂPÔ!
¼£ÅìÉ U¡p&LLf
Ê+±¸ )]=y8B¡i¤LÏÀf$Ä ØýìQ)äøÝ)ÀQEE450W&cabm²"&©ªXIHBkL¢¨c!QRÍ1lhÕbÌ! ¥@*I)dg%qÒI`5(â ¬Ù²#Û·d¦@A±d*#µ-
B~.ÓÏw8I|Q@´)!DÒJD^Ñtü$xáììIÕ^"ý8{.¾ë°û2h<¤ýò2T8Ü3xÈ)Ca£Ä×*\ÈY¡Hûü~ïo§öĬô]ÀuÎ#{¥%Ô)tÃå/"6õðÖÃN;¡]I T #Èàg\àøDîHtKþØÃ@q¦;n
@TÜ8ØfGçʹ@ÅpÔj0îeäDfàße¤89A=e¼rÿ¦´Å/ £¦h?m5Y1; ÿ"Ô(¥¦|Á6i»9D°ÌÐHæ² çc+:³ ßÙÅÁúYCqwúþÀ+¨1BêîÐè¦lP Yc
©{ô=ÿ>xÚ|øÀôyÁH)_ç(#ôNKÐDMTUIÀhÌXOx
à-?1Àð@;íôǤª8 jWìÏ >¸LbE6(ó
] {ƹ||AØ%1 ä÷à ÑU3JE )
¥ PuòTCǸ
ÛLIÏI
ªkPÑTñé³%mªÐà._K BA¬_ÖöDCÀEÃáïè§úeÖuJI ¡¥%©béðkN,0ÀÀ¥9üyìÆp²±´Rdß1p >ÄÓ2± ÄÄ¢d14>ò¾H`J`Pãqû1&dF$û&IDÀ1 -(à|KÝ*8$ FLa2 Wvf)w¿(OÚãw~ÒÀFÉÐGÌ@wcƲ5,!É-- É)31ÉL$eå!NÃÇÙ^Ó_´ \ªx%JqÑq">'E_T¢Ò!ÓtvBr. mÓa$Ûc÷Bà:v `*í¢"¢`^G @ ï0
ÄÌ#;/ª ÏYBq=¹+Ih®ÀGù-ÆÛ
¬¯Ç=Ûâ]!Øèõ¹}F_ÊìÇj%Í×ÿïÿåÿòþïWîþY¯þßåò·wêíý¿÷Ø¡¿ñc{ö§ÎÙG£í1õÑk@!ôÄ©ö@OÅ dMÌþ°¡ô ô@iÙ!btmª0lÇĹ÷`(3VÍY æ(Þ«eWüØ^Líæ4åèÄq2
êNiXÏèpÆf4ØpÅÞC¡`9pËH6»¡
]×,h 9,!dßMïظv49øz8Ä40DÿÂc¸ÿªÔÍ#&y¥X'lµ2 at 6JL¡cÆÒøe¡¯â)NÃlX± }B<¢]jÊÂ8²¡?hÒQûjse§¥£?Æì®È¾P|:â%0e¯À_ÏÑ(DýÔ6§)Å1²©R Q 4 eOb(`dà}
A1Á
)ÓÚÁl¢£UÆ+ªÓøÑü¡km-lµ¥!å7#ûyì1ablãR )-)*hp\Q¢)ÃÅnhB#ýQ*D2KëÀÁR%
£¬¡Ýù§Üwô ¥éK@§G_ÊyÜ=Uî²JR'ç0§OeTï?B¿`4x½$Åøñ2$2/¤0±ËñÆæ'pLG'úq5ÌÊ7ï%!ýX!ûè¹î¥°û
>³øX\eߪ3¿h3
ÞR¢À}>7;½L!:õO¶à=óYäFè|»LÐJRÁ(¬4-wzw<00"_§ÏxÑ®('
¢ãýzõd¿éÄÃ?ØOðs¥¥§k]Ö¹øÅFýq³©ËH^ªënÕQa))ÿ¢ìÖ0ÿ£±`Ù
ÉpÃKÎÿ ǦkÆa OÉïËoø.õÄy at rKàîjmcÕ²©´Zq«ø%dr{¡Ñ¸4C¤{ûä?ëÝÅç[P"òÁƽ<{1)@ÚDѳNµ?ëTá`gÖKFN~ûÛNÜ·ùçYÇyæ¼×ÏÍ/%E¿g¥{lU×#îã¼]ÎZÊAÛ6Á ÚÀÒ; Yr÷ pèS¤q:¨( Ma7¤<#4G[cÄYx¬Á¢üL,õÖ*¤¸yÅ°8Á>[µvh´µÎ!OᣧAAªf at 5ýF æ\ äÞ{«ññ¸Fî@û¢Åíþ`îH}ÌÔj¨_Uñ>ù-$CQ4t}áT XI¦÷3iôÁÂEéçêyÇ"¤`RqÐÒ]LP6ý?µíÝA¨h}:%JóÖ®ÚnÁfØqàI!E"~cr6ÀÈõëë°»wc¾\'h]ûJ¬4éAtcÍ8JãF3 *+ÔÖp$É5GnÔ* d¢>þ&§D^A2ëWy)!$P²n`q'%7p··ÈgæðLYÕÎú@H$=Ïób@ô
OL/cl½~,)ªHAÎQjö±ì̦u}rÊ|âä-mûÜ0À¦iG¸ò´Ñ»»ìXÀ"$ Aý^´¼I$å¼_"kIÔÀ¼Ú¢Ö¼ô07+Çb>ÄfæÇå â;4dD]sóZ;ç¬=˾¢}¹h°ýÊîeÀÆ ýÞØô{VN
.Çr½ÓG²B¾ñÓ1ì(<â\
!uÆÍ© u&s?sßdy@ »8=ldÜM¬Z\S7¦4lЧÆ&ñt²r}d
)ÂG½áf ½Ä9#Ráâê.<{£7J})zµ°7âEUÛ¾ÒTÂGÛÔ)¢F#ãpË]NXí¢ïY¦G}ä/l>LµÄJÿ*áªÆ=ÂÆAòݼîCÞyOÓþ¿ÛH©û|Þ$zD£yP¯¯É¹mò@¯ßô8ÉÛT0ÖzçAL1)¼Ô®úÃD£n#ÖiG\Æ$ ÕO8æ`âTáY3;CÃ8ãà4òjÙ¥\ñ£0õ¢Ñ®Ó+ÁÔRñ½©bR(?·g ²F$6Æ(ÅÛ ÍÅZtNéèFs0CÆ`qEÓ:ðtä¬ÂàNòÍaа e
9¾6¡@FÒ±%·ÀëTż¹lPiÁ
%¦I402¢5mAMHÆ];¬ ¥P ÄÂ-ã°Ó£AQ DÓĬAÉ-2sÉ9ÏvbIàaÛ#X9%'%q£çüÞ½ªt;ImtDÚËDCRÞCzÚI(,
¦Å5¹§¡x¼£mî¬03a¥5² ³D¦!.J¤¾ ê TlßZ 'ä>8PÝgf+¦ó¨ò¶
Cö`öÂäqb·weÐ÷Ìo²pHÅMlIcÁ¿ogIÝ©¡3
þA>®;ù¥æèê?!XacZ¾ÎäÈÝî1!úQøpûäm:RPÑ3".ø2:ÑïF£#NPd¸á°cAz æýÙ·ê1Ú: ¦²!Jú,]Ù0þ¬BD7|¸@A CÃ*9BD&½ZÜiµÒF¡E]ltÀ!Æ°
ïGÓ Ê[Ý'Û£F.@î8mFQq :b±HóXèÜ ÞÏËìSØgÁÐÙPØ:ÂAÌh>ÿ×G¡IËu?ÂîPh~uÑeI##¹7<Ê0vúª Ùª¸öJ S¦'EQ1)B«åà |nIÁ¿Ïò|åHlË÷qô÷»/6'¦ Àìcì"¤Ù¿ÑSöþ½Ua0^Ççøºv¾"¬kÇëó%ÙóÂðPV³ k@è218#PTãò<q`@4ðð>8Dã=i áÚ"ë`
4¯6÷
dEË`óBw½ýç|ï:áÅ!Ýà| £ 2d.T ÑCíØM{"÷<UouèìÚÕá¢IG!º@O5h{Ü@"¨¢UýPá#hhR_ñæ8"=¡ïSÞ|è
ÿxÅ^t©cÿAöÐ9$}>ÙÇè`i×vÆÌ°)PÌ5´QæT§iÌ'Ù$k +Eè¤M¸òÁvÒþ~ÈI a%xpHO8é FÌ!̱j*2§
Á!%IR`P:%4ê0!´!êÌpòG @ó7"gy¾@)¢ØD<äfÄïа(k&ù à'¶¢(\ò&ßuw¢!c_yâPCÞ0$ÒY$DzÃé Ý7çQHô¬ìyV*`FêøïJ0L+ÓÀ^þë0;nXvÀR÷ jÖH\
+HÉéM$ENô®ãÎ èA H³òþ '¥ß£ÙO¨d_ñ²n'^TÄ 8!ĸ2"\DÉs1,30*Â,ÄpÃä+!¦3qÆpàÅÃXd©">/ @Ì$v{NÖµ ê'¸Q èÌ0¤"LÅLªC¹ÑF$ML_!ðûܪvú¼ÿ§ìxSÇðþL·xNRÙ]c²½ãèüU´o£)®·>Þ7¿]æ¦ÿõr¡ÚIÁr\.uuý{(ÎôHeÈ®B´·³
j9_øåõèÕW|r³}ðöxóFüû±áiuËGµU8¾0t¤øÆDUÞ¨_nªï÷m)ø¬Ä&VĤC|1]æÛßÑ |¼Ï¸,Èû·h6L|ùNCX&ÎÇß5Õ[&Å
 a
Ë!ÑéIoöí9t·ð©=r<Úº8Ì{Á»wFåé~ìµè×L2@õgNCiÀ|Íq%Øõ#ÝöQT²2w®&ÙÌwAsPÜ0Bt4£Q83¸l" gSѲPùf¦R¸¨pRàÉì9X?MX1ã|]4³qECÉÔ¢jb4"Oà
&-¼S
ÔÎK`uËÅ1Ï& /Lo*((vÒÀ±1ÎOÞ/õÀ
§Gû*K¾¢×DàÇn3uwäö2wÇHn¶'ãFÉö!¹óêEwqÞNÒfø=Ø éPÔ¬VQÌwyêmQ¬ºwfzÊ÷Ë6`£ShÐå·/ΰÒQ Æ43UHA²-ÄØe9éE1.¶bÆF)Ggqɤ½ó,ífúD±Ý¼ÙfåÇ6^|îKHÓ¸+×ß½õ3ã¦$T"QÅh(ÇÒ-÷½uZS£`#Æd;a¨æ(zÌ$ïO$qÙ ùN^%kÉÙ·)®FòÔ®uº©'H¹Oëîà«É :
óóìUÉÐêªÜbàpdÈB,L
ÝzqâÊ,°EU BÛ!ÄØ8C)v*TÈ8¡Ä.KÔËJ4 y^pÛð#ѼuÏê9g³ÅÆå «28®²RT]ï¦kZ!§cwgwf-¬Ç)ìÃß'sFpÀlÈ(FË\Ǭxy¦¾/ÑýØ[³=W
%
ÂV©²²Æ@ÖÖ=¢ç{ßlª6#K3DT
»i]q tøÊPfî3sn+zâ¡gtª{ q6ë´D¡2ø
ôo6zú¾vÙ³zôÕÍpÖçörg¾Î?´Ç4oå#ZË7Qota³SÊ»ÚI(ÆéEE¥Í³,¼"&|"QêtÔ&¼ÒW|Übuu:»oº¯"[&õÃHnohQ<½ò®Qé»d+#tîºuËeÒ{ĽU¼ÔÆ»oWd9 XSY²'SÔª0 at aíQC" ëß%4Uny?W°¬¥¢0Ö={¶_o2f@!ÖURÔèÞsN.Õ§:jk!
1¬Z Æ5\Á±ØÆÛ(ää6xÕKå°ÐïÔr¥Ä\ÂÂXÛÖJ¥AáÕóJS×ÔSqT¯Ë)üG8.¢g3Ëu&"Q°ÈCzQ'B¾¶^×,ÑTý2ÄÁóÀØhkûº¬p·x|Ñ'§Ç]@s`bä%¢ #+=(±~¬8¼$4ÍháÚl±ÐíxεA¡³S ¥XVÆßq×ÀõÚmÊ1´éÚ:[tØ<ÍéüÈ8#ÛtíÙ«Ù$¶T0ÀªÉ2<à4[Üh2I¸yq ±fõÖBêâ;ÜhcÑÓ¥°kÉ¿.ýPêä Àö¡&b*PÇZ¨¶¤ÔÆ&8àIUPM¥£ØJvãY?Pô#Üì+ 9|@öËE B
C"@¦ÅLg!ùVÒTP¯ ÎYeÅö¬é ÐÆÐox²ú£ü½×M;ù3ÚÊ*a}
¢oÊßÃmÍÕR±Ãd«Å§P¤ê_/5ØÊ{©ëá5ö
ä&¤øX$ªÜï¤cgE÷uî¿ã¨RÌ£EÔ¬Ùau±eDñ¨ìñfØhå.,~ÀzÉ:l÷êÅ|:j1CÕo|l ®"HÙªQ6b&½ÒbBÈ$êäÄîÂÎÄeðäLØwd×rxè@Ê
(è º>¥¿"B¦ØçbÕAAæPKóÏ
1í!á x@Ñ¿Nh¤)aUDzk|@ULÉNìeÀMæAC*28dDѬp"ðÜ»»bHLgwöî͸¢¤!ðEG«n^&W1IEh£â1÷¯Ý$ñÇÄåIFâGqÁgrö'PN¿ú¸¨"J"Nï¬Ñzf¨"Òê¼Åùf3F¢íeÕ¦Èdqóoµ2 f@NK tæ{e+ P^ò_] ®QÃKØ7|moªÎûÒ°íAøÏ¿©OõÃ,å4:
ľ¤È x@Æ`Ä)2пbThNºp
ót<·¬âT·¤×ØG@ä\¸q½(oÁLõáY]l¹Aë¨JÊL5nUºaÒhȯ\Ò»#ã'x\qU\9È>V<s(ªÈ "̺×àÀü7ÏôÞ«j±µ¬!®
7¬Ð(óeG40ÚÐ\Z¬)HÒXq5Ö®S1ªÞøNuw5 0¾rH®B4BãÏ+õÕ0ð¥ÃUr\%$K\ÍàF&õJgâÀv´Fé;61¦3Ûë¯vi`jÀ÷<7äÝ4*{^ißgÝZØ~Â4Â{@B¨Cê[Õ7(¦À£¢gAÌØ"XA02J5k ôä`EØõbê1KqP7u¡ÄÀÉߺ¥}_ÜøI at PLÒÐпLíËÝ÷
Ϫ «Ô¸m¤Ýï@mì2¨rdjKceÆÇ(8oAÖÌëG
T&E¤[ÞèC8© *#ñHæµH
ÓBX{"-ÁÔrÃW¶½Gmc@
ÀYJ&úßßØסB½Lu6`b^i(ód#)é¶ÿúu´Vª¡o)x°ª¤YûÉRü ×I²¤öZù¸WlL9hÈøÚ;¾ Jê&A
Iºª«Ï÷¾!Mµ9ÒÈéÊ«sMÞ='ÒåèÖèG¨pNèzPâô.¤2ËgV©ìG jþÊ
3zEôâ3óçé
LKìþG³ÂñDà)ë×>}à Sn<¼zv<?S]yí3§èîËvFZ¾ñ^»ëRaI&8¬âö©5uÏGɾÂQѬõÒåÌ!6ù4Í; \÷tÛ:%o0K¹.õ½ÄÇ&ÐhmJ.)¹yt¸ËGdÁhFço<ñ:¼dCQ*Ãxgqõ+2£(áÚ»ÆxMÍåå_¸,nNãÈÅtè)¸SR!¾Û¢ÅZàÞ°iñÌ-÷A at f`âuØl Ê\9ã0Ê^+æø 5RZÀ>\à ãÃîH ÅLº¨
6Ì&Ø»¼rXè|ê<4öe)PÁÚÔpï
à35l5a¨§Rç#³xãhl¡Ì4)àv"¬èdHù
îêLÍ%zUÈë\ðD®Ùs|;ì_âY´FÙCdnµÎÍ»¹E©mκX#½lZfy|ªrsÐ_4Ùlì e˶2åfB2ô´ØLÆ;hÌHí¬¸n«T¦üMJk+da kuõydØ)Î3°88â @e$EØ@`\»wa$
:|p²UF¬ 6æ#1m#[RégúÉn
§LiÁÕª>c'3¿®Q³hb\`¤ÎQc9)+ñªsVjªª"à|Hag©t,fbäîÓÔûÀs]Ó9;ÕÍUBý/
R ØrRAw`A,BC0BÄJ·ïc©4òaæÖ\ì:ç¹zA\ íç2t'§%´Å
¹xÁd¥Çögq¶0DKbu.,bsokRÒg6Ò¸CwÜAjÑ'ä/¨\éç`y©q.E3R3×rÐ1`×DD«Ï Ýy)Ä;½Ç*µÃDݵA¹½CHÒ`¢5ÕE
á¥/wýgaQ¾N2(*ªªKFu24hIU
³·&;±-X4<
8èqÉZC²ñ P¡°ËF±4R;:iÁí.¡Ý´['$U? ¨2máó/Ô°¡Öc®´?,c)ÂjGÓÛdaß@Ù=Χ¾IÙÆ
àZ¢t)TiWx4-¼Ú7/ % ÂS3ãõ>9:>gAv HhÑ']ûßpÐO~.jtHl âd5IH"4aPÀópé8°l@$hÅ8w¨
ÈlÁ
ÛËã®Hß»ØÑç̶/*IÈתnG
ç
èÒv®ÆsÊÓoºåÐ/$S5pM6·7Æ÷yM©0¿CK`Ã(£½òµyè8LùYÃçÜ¡`2D! >ç<º«³Þ´KÙWnÎ'uѽv
ñY
ÃðîñBBxÐì a¼tfÂ'¤lFý}÷h³FÁ|Áô0ÃÚ
Â6ÐÄI(åTEL(i|½Õ¢ >}ÌëĦ²¬ðãCz&ïDìiwçJiWZ
<×% ÕçÛÃ8 at n[p
¸#{Ûû<'¤B!wkD¢Ú¨¡µ÷@^mAË*&á w ¡B R.HÐ
"Ð#Byõ³@îUµp§Ñ ©h¡ïíäGÃÃ"#$°À" .øÄ*nû¶î'¬ó2eújC(£".¸bdftëÊ9*zëTo4,sÕ ð
©ääದÔð'P<ÛPu*78,Ç'a! A¯*ùG¼_ÏIÂB' ëÌ)ìG#glÎ=Z({¯Q}f¢Ê2Ùå¬egF0$B#$xЦÍól>fAá̽`²l¶T ÙN¤öë£K/
é ¢h ÄHHrèé4äA! #S¢¬Ö>S
p·#¨"
óѼÑZ³) ¬%Èm
ëC©ÍfQeD at j2(áà×8bÞ8lr8p¥GRg3TÂáqÐK
2EáéØ+ªoY³a¸í{Ç·!Ð×0tHÂ" )GW#
´O6Ó¥ÃÄn¡=Æóçá¾l7Ê}¯Öv)´Ù³9DJTyÄÔ1
M'¶@êAÔ NHè ¢!CP(C
º)7.¢<±f` ©MRûìð Õ. Xwî 8Ô;˧ÖMÝ;ÈêkQjb¢dpÀ
dæJ= cC¬¹Fìv[qÊïèú@Ðy$÷d1£QH@fࢠ¯6 dPr+ SP(xé}òt2¾²
íá-!PU£Æô[ØÉ:q/àÝ&µXFÏõæÌƨ°øß'H¾6QpÎ[x8Xr=Ì Zõ%35Gâ®ÁÁBHí$CÔ*0LÔ U$
Cev>®g{AØwTe ä~þx^ó38#MH=¨W3ÛÅà!¤¹b$a:8
.1ds
;Ul!ÈE àéðBDÆB"(0l¤dÓVVbÂs¬ÂÌJ%ÌÇ
Á`¢{Ì©ã~×big~.ZùÊ:ôYó-Q°9Q±ËéönÈ$üÜÔo681øÛËð²{DzÖF3ïúq½dÛÉn·%Q")#A8z÷ ÄÆÏï$zCÒ©be÷AÔyÅ?
~jçݱÅ`,0vªmECÒEi<Vf$kJ+ÈíMOtZ@ü£ÜÏñSnòÉ À=@{ÁðÊSí)Xý³z¬¢h<o ñÍ
kyhÒecQé5ý
ÅE<#Û ëª1ÞÒ¶ã"8£X£Ým¶î&±-æîR@ø¤û
t§÷ólØ\Pùå:çÈù@ïàìUláòdfÁê÷^ìCµwÈÁ#ZE i RFdªI.óaL1ÜöG%*²ÒsÈUyà¶0ÄGíú÷>wY °âX7¾ï墦²3ô;R{'J8P¿®rûRáÒs÷ýaô`F²Ïmbåç¤<à×&v´I«i>Öê,e+>c=ßq¶4^x µ0à4
sãF"BÁq+1HÈF^¸¤!ù 4@ í¤«´2c
¾é@àÆ#p¶!Ðu¨@@@_ßä9¸K!°Æ\§~<¼ßÃól÷Â(>0ûÉDF Âhà OÝp¬ÿ=¨ i¯@4AbL'ä
ÈFK|üXxOSF$Y¼Á§$Z=46÷lÞûR¼Oç>øH!L=ÕK1>^´;æ%¬2Ïv¨FFY5úù¬#+ÂV
ªYI" p"yyÑpÁÃóAÏ¥Cô¬¤*
Q,P¬ÔQJu>£Ù¶K¨³D°èºÚÐ
J;NÐþü:¤âüåc6uô 'ÐzXc}Çã1
V·sïDê®B¶ÁS¼&ÖÞ=l I"¶W±Ù0èat55ÊèCì>ó ò u;9&&eD!Qg!¡ÀdÈ@
¬ÍDÀ;RÄX{ à3ì
p<Ù%!DBDÄæ8ÌhóªÞÕ^7fF&RâÚH¿{¨1$PcÅ\±¸C Èâ9¶lMô)6ªPôª:s£cÑ Ã¹"&¢%© £ý··®8¢
Fl:Í@Á°çd;¸Î]ûÙ&NKU!Ýþ,÷·Ìrl ?0Xþ ô!Ûx« ôBC èQß±öá²/Ü¢w*뺹
¨/
@ÄâGj:tJ¨a¨ÂZ^(Èv~¾ÊLCTþÞYðÓÿÄåAÖ"ȹ JE?bõ
z[Ð'æÀùSÈJwÉÝäG{ üã_&óô?<Äô\h
i\I4Ø 7i#ÍÀLç3v
2ÚóK_¼(<=ãíAa¨Á>Fþ}ú²ý=¦H2úï3²'÷½(õµtvQp¸X±`(5èíÀiHþp1H 5õõø¼6æ0×
ªÏÏèý¹9¢ísîÃÇ^Pé`kÚß&iPÆ»èÒ£z:MkaèBR
Ba!ë5¶^5â
§{õ?Ñ®øzõÆÝîZÆð0®y¤zù3±êº@Û¶è
¢´cWz$wÂYN,h$rLÇ}¯ÖºíË%VùØu|qôðP¼kX 4Á68&,h¨¦ÁqÐà£ãóY?¤`P
¶ìÎÞAÈ,.`l`ã¢\ÅAÀj&ûl¡%9e"ñh´Ä£´;à|8¨3x¢d!লÜ!
L÷Õ7EàÝ;»lPÙ·3C=f¥2Å'¦ÓY0hp´¬Ëi(DÄýþj9Î J"#§ sFÈvÀt9ÃÄàé¯Ë¼
-4fD^2§§3n`!OYU&m¢á¡óÂ
Ë%ɪ3%Þæ#FML[bwãW}ÄËJU3Í9ÅT®8·Y³sµk²jIUjRa¤¶lsFðð\$éÐ
ëftÈ¡]-!(lpÐrG,A;LI;O·åQ£5@os#²L¾põ?rÆ pÍf ýèåswb°@÷NÞ¢D<¼/#fMÑREAݪ"mÈuu± Mÿ4Õte«ßúª ®È¢|K$b#¥´ýÌT2H ?·áÿþ=þÕ Ḩ«Äñ¿ñ~ÿó?øÿ)ØæOÁHÀ ¤¯ËæFI(È À7»vZÄÂ&£¦2Äï¦Ü?þØÉé5ÒCÜTýâîH§
Æ>;
openssh-5.4p1-nss-keys.patch:
Makefile.in | 2
authfd.c | 39 +++++
authfd.h | 8 +
configure.ac | 16 ++
key.c | 61 ++++++++
key.h | 20 ++
nsskeys.c | 443 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
nsskeys.h | 39 +++++
readconf.c | 37 ++++
readconf.h | 4
ssh-add.c | 181 +++++++++++++++++++++++-
ssh-agent.c | 121 ++++++++++++++++
ssh-dss.c | 36 ++++
ssh-keygen.c | 51 ++++++
ssh-rsa.c | 42 +++++
ssh.c | 30 +++
ssh.h | 6
17 files changed, 1124 insertions(+), 12 deletions(-)
--- NEW FILE openssh-5.4p1-nss-keys.patch ---
diff -up openssh-5.3p1/authfd.c.nss-keys openssh-5.3p1/authfd.c
--- openssh-5.3p1/authfd.c.nss-keys 2006-09-01 07:38:36.000000000 +0200
+++ openssh-5.3p1/authfd.c 2009-11-27 13:43:00.000000000 +0100
@@ -626,6 +626,45 @@ ssh_update_card(AuthenticationConnection
return decode_reply(type);
}
+int
+ssh_update_nss_key(AuthenticationConnection *auth, int add,
+ const char *tokenname, const char *keyname,
+ const char *pass, u_int life, u_int confirm)
+{
+ Buffer msg;
+ int type, constrained = (life || confirm);
+
+ if (add) {
+ type = constrained ?
+ SSH_AGENTC_ADD_NSS_KEY_CONSTRAINED :
+ SSH_AGENTC_ADD_NSS_KEY;
+ } else
+ type = SSH_AGENTC_REMOVE_NSS_KEY;
+
+ buffer_init(&msg);
+ buffer_put_char(&msg, type);
+ buffer_put_cstring(&msg, tokenname);
+ buffer_put_cstring(&msg, keyname);
+ buffer_put_cstring(&msg, pass);
+
+ if (constrained) {
+ if (life != 0) {
+ buffer_put_char(&msg, SSH_AGENT_CONSTRAIN_LIFETIME);
+ buffer_put_int(&msg, life);
+ }
+ if (confirm != 0)
+ buffer_put_char(&msg, SSH_AGENT_CONSTRAIN_CONFIRM);
+ }
+
+ if (ssh_request_reply(auth, &msg, &msg) == 0) {
+ buffer_free(&msg);
+ return 0;
+ }
+ type = buffer_get_char(&msg);
+ buffer_free(&msg);
+ return decode_reply(type);
+}
+
/*
* Removes all identities from the agent. This call is not meant to be used
* by normal applications.
diff -up openssh-5.3p1/authfd.h.nss-keys openssh-5.3p1/authfd.h
--- openssh-5.3p1/authfd.h.nss-keys 2006-08-05 04:39:39.000000000 +0200
+++ openssh-5.3p1/authfd.h 2009-11-27 13:43:01.000000000 +0100
@@ -49,6 +49,12 @@
#define SSH2_AGENTC_ADD_ID_CONSTRAINED 25
#define SSH_AGENTC_ADD_SMARTCARD_KEY_CONSTRAINED 26
+/* nss */
+#define SSH_AGENTC_ADD_NSS_KEY 30
+#define SSH_AGENTC_REMOVE_NSS_KEY 31
+#define SSH_AGENTC_ADD_NSS_KEY_CONSTRAINED 32
+
+
#define SSH_AGENT_CONSTRAIN_LIFETIME 1
#define SSH_AGENT_CONSTRAIN_CONFIRM 2
@@ -83,6 +89,8 @@ int ssh_remove_all_identities(Authentic
int ssh_lock_agent(AuthenticationConnection *, int, const char *);
int ssh_update_card(AuthenticationConnection *, int, const char *,
const char *, u_int, u_int);
+int ssh_update_nss_key(AuthenticationConnection *, int, const char *,
+ const char *, const char *, u_int, u_int);
int
ssh_decrypt_challenge(AuthenticationConnection *, Key *, BIGNUM *, u_char[16],
diff -up openssh-5.3p1/configure.ac.nss-keys openssh-5.3p1/configure.ac
--- openssh-5.3p1/configure.ac.nss-keys 2009-11-27 13:42:57.000000000 +0100
+++ openssh-5.3p1/configure.ac 2009-11-27 13:48:44.000000000 +0100
@@ -3526,6 +3526,21 @@ AC_ARG_WITH(kerberos5,
]
)
+# Check whether user wants NSS support
+LIBNSS_MSG="no"
+AC_ARG_WITH(nss,
+ [ --with-nss Enable NSS support],
+ [ if test "x$withval" != "xno" ; then
+ AC_DEFINE(HAVE_LIBNSS,1,[Define if you want NSS support.])
+ LIBNSS_MSG="yes"
+ CPPFLAGS="$CPPFLAGS -I/usr/include/nss3 -I/usr/include/nspr4"
+ AC_CHECK_HEADERS(pk11pub.h)
+ LIBS="$LIBS -lnss3 -lplc4"
+ AC_CHECK_DECLS([SEC_ERROR_LOCKED_PASSWORD], [], [], [#include <secerr.h>])
+ fi
+ ])
+AC_SUBST(LIBNSS)
+
# Looking for programs, paths and files
PRIVSEP_PATH=/var/empty
@@ -4253,6 +4269,7 @@ echo " TCP Wrappers support
echo " MD5 password support: $MD5_MSG"
echo " libedit support: $LIBEDIT_MSG"
echo " Solaris process contract support: $SPC_MSG"
+echo " NSS support: $LIBNSS_MSG"
echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG"
echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG"
echo " BSD Auth support: $BSD_AUTH_MSG"
diff -up openssh-5.3p1/key.c.nss-keys openssh-5.3p1/key.c
--- openssh-5.3p1/key.c.nss-keys 2008-11-03 09:24:17.000000000 +0100
+++ openssh-5.3p1/key.c 2009-11-27 13:43:01.000000000 +0100
@@ -96,6 +96,54 @@ key_new(int type)
return k;
}
+#ifdef HAVE_LIBNSS
+Key *
+key_new_nss(int type)
+{
+ Key *k = key_new(type);
+
+ k->nss = xcalloc(1, sizeof(*k->nss));
+ k->flags = KEY_FLAG_EXT | KEY_FLAG_NSS;
+
+ return k;
+}
+
+Key *
+key_new_nss_copy(int type, const Key *c)
+{
+ Key *k = key_new_nss(type);
+
+ switch (k->type) {
+ case KEY_RSA:
+ if ((BN_copy(k->rsa->n, c->rsa->n) == NULL) ||
+ (BN_copy(k->rsa->e, c->rsa->e) == NULL))
+ fatal("key_new_nss_copy: BN_copy failed");
+ break;
+ case KEY_DSA:
+ if ((BN_copy(k->dsa->p, c->rsa->p) == NULL) ||
+ (BN_copy(k->dsa->q, c->dsa->q) == NULL) ||
+ (BN_copy(k->dsa->g, c->dsa->g) == NULL) ||
+ (BN_copy(k->dsa->pub_key, c->dsa->pub_key) == NULL))
+ fatal("key_new_nss_copy: BN_copy failed");
+ break;
+ }
+
+ k->nss->privk = SECKEY_CopyPrivateKey(c->nss->privk);
+ if (k->nss->privk == NULL)
+ fatal("key_new_nss_copy: SECKEY_CopyPrivateKey failed");
+
+ k->nss->pubk = SECKEY_CopyPublicKey(c->nss->pubk);
+ if (k->nss->pubk == NULL)
+ fatal("key_new_nss_copy: SECKEY_CopyPublicKey failed");
+
+ if (c->nss->privk->wincx)
+ k->nss->privk->wincx = xstrdup(c->nss->privk->wincx);
+
+ return k;
+}
+#endif
+
+
Key *
key_new_private(int type)
{
@@ -151,6 +199,19 @@ key_free(Key *k)
fatal("key_free: bad key type %d", k->type);
break;
}
+#ifdef HAVE_LIBNSS
+ if (k->flags & KEY_FLAG_NSS) {
+ if (k->nss->privk != NULL && k->nss->privk->wincx != NULL) {
+ memset(k->nss->privk->wincx, 0,
+ strlen(k->nss->privk->wincx));
+ xfree(k->nss->privk->wincx);
+ k->nss->privk->wincx = NULL;
+ }
+ SECKEY_DestroyPrivateKey(k->nss->privk);
+ SECKEY_DestroyPublicKey(k->nss->pubk);
+ xfree(k->nss);
+ }
+#endif
xfree(k);
}
diff -up openssh-5.3p1/key.h.nss-keys openssh-5.3p1/key.h
--- openssh-5.3p1/key.h.nss-keys 2008-06-12 20:40:35.000000000 +0200
+++ openssh-5.3p1/key.h 2009-11-27 13:43:01.000000000 +0100
@@ -30,6 +30,11 @@
#include <openssl/rsa.h>
#include <openssl/dsa.h>
+#ifdef HAVE_LIBNSS
+#include <nss.h>
+#include <keyhi.h>
+#endif
+
typedef struct Key Key;
enum types {
KEY_RSA1,
@@ -37,6 +42,7 @@
KEY_DSA,
KEY_RSA_CERT,
KEY_DSA_CERT,
+ KEY_NSS,
KEY_UNSPEC
};
enum fp_type {
@@ -51,6 +57,15 @@
/* key is stored in external hardware */
#define KEY_FLAG_EXT 0x0001
+#define KEY_FLAG_NSS 0x0002
+
+#ifdef HAVE_LIBNSS
+typedef struct NSSKey NSSKey;
+struct NSSKey {
+ SECKEYPrivateKey *privk;
+ SECKEYPublicKey *pubk;
+};
+#endif
#define CERT_MAX_PRINCIPALS 256
struct KeyCert {
@@ -70,11 +85,16 @@
RSA *rsa;
DSA *dsa;
struct KeyCert *cert;
+#ifdef HAVE_LIBNSS
+ NSSKey *nss;
+#endif
};
Key *key_new(int);
void key_add_private(Key *);
Key *key_new_private(int);
+Key *key_new_nss(int);
+Key *key_new_nss_copy(int, const Key *);
void key_free(Key *);
Key *key_demote(const Key *);
int key_equal_public(const Key *, const Key *);
diff -up openssh-5.3p1/Makefile.in.nss-keys openssh-5.3p1/Makefile.in
--- openssh-5.3p1/Makefile.in.nss-keys 2009-08-28 02:47:38.000000000 +0200
+++ openssh-5.3p1/Makefile.in 2009-11-27 13:43:01.000000000 +0100
@@ -71,7 +71,7 @@ LIBSSH_OBJS=acss.o authfd.o authfile.o b
atomicio.o key.o dispatch.o kex.o mac.o uidswap.o uuencode.o misc.o \
monitor_fdpass.o rijndael.o ssh-dss.o ssh-rsa.o dh.o kexdh.o \
kexgex.o kexdhc.o kexgexc.o scard.o msg.o progressmeter.o dns.o \
- entropy.o scard-opensc.o gss-genr.o umac.o jpake.o schnorr.o
+ entropy.o scard-opensc.o gss-genr.o umac.o jpake.o schnorr.o nsskeys.o
SSHOBJS= ssh.o readconf.o clientloop.o sshtty.o \
sshconnect.o sshconnect1.o sshconnect2.o mux.o \
diff -up /dev/null openssh-5.3p1/nsskeys.c
--- /dev/null 2009-11-27 11:08:21.619709673 +0100
+++ openssh-5.3p1/nsskeys.c 2009-11-27 13:45:42.000000000 +0100
@@ -0,0 +1,443 @@
+/*
+ * Copyright (c) 2001 Markus Friedl. All rights reserved.
+ * Copyright (c) 2007 Red Hat, Inc. All rights reserved.
+ * Copyright (c) 2009 Pierre Ossman for Cendio AB
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "includes.h"
+#ifdef HAVE_LIBNSS
+
+#include <sys/types.h>
+
+#include <stdarg.h>
+#include <string.h>
+#include <unistd.h>
+
+#include <openssl/evp.h>
+
+#include <nss.h>
+#include <keyhi.h>
+#include <pk11pub.h>
+#include <cert.h>
+#include <secmod.h>
+#include <secerr.h>
+
+#include "xmalloc.h"
+#include "key.h"
+#include "log.h"
+#include "misc.h"
+#include "nsskeys.h"
+#include "pathnames.h"
+
+static char *
+password_cb(PK11SlotInfo *slot, PRBool retry, void *arg)
+{
+ char *password = arg;
+ if (retry || password == NULL)
+ return NULL;
+
+ return PL_strdup(password);
+}
+
+int
+nss_init(PK11PasswordFunc pwfn)
+{
+ char *dbpath;
+ char buf[MAXPATHLEN];
+
+ if (NSS_IsInitialized())
+ return 0;
+
+ if ((dbpath=getenv("NSS_DB_PATH")) == NULL) {
+ struct passwd *pw;
+ if ((pw = getpwuid(getuid())) == NULL ||
+ pw->pw_dir == NULL) {
+ return -1;
+ }
+ snprintf(buf, sizeof(buf), "%s/%s", pw->pw_dir,
+ _PATH_SSH_USER_DIR);
+ dbpath = buf;
+ }
+
+ if (NSS_Init(dbpath) != SECSuccess) {
+ debug("Failed to initialize NSS library. Attempting without DB...");
+ if (NSS_NoDB_Init(NULL) != SECSuccess)
+ return -1;
+ }
+
+ if (pwfn == NULL) {
+ pwfn = password_cb;
+ }
+
+ PK11_SetPasswordFunc(pwfn);
+
+ return 0;
+}
+
+int
+nss_load_module(const char *modpath)
+{
+ char spec[MAXPATHLEN + 40];
+ SECMODModule *module;
+
+ debug("loading PKCS#11 module '%s'", modpath);
+
+ snprintf(spec, sizeof(spec), "library=\"%s\" name=\"Foobar\"", modpath);
+ module = SECMOD_LoadUserModule(spec, NULL, PR_FALSE);
+ if (!module || !module->loaded) {
+ if (module)
+ SECMOD_DestroyModule(module);
+ return -1;
+ }
+
+ return 0;
+}
+
+static Key *
+make_key_from_privkey(SECKEYPrivateKey *privk, char *password)
+{
+ Key *k;
+ switch (SECKEY_GetPrivateKeyType(privk)) {
+ case rsaKey:
+ k = key_new_nss(KEY_RSA);
+ break;
+ case dsaKey:
+ k = key_new_nss(KEY_DSA);
+ break;
+ default:
+ return NULL;
+ }
+ k->nss->pubk = SECKEY_ConvertToPublicKey(privk);
+ if (k->nss->pubk != NULL) {
+ k->nss->privk = SECKEY_CopyPrivateKey(privk);
+ }
+ if (k->nss->privk != NULL) {
+ if (password != NULL) {
+ k->nss->privk->wincx = xstrdup(password);
+ }
+ return k;
+ }
+ key_free(k);
+ return NULL;
+}
+
+static Key **
+add_key_to_list(Key *k, Key **keys, size_t *i, size_t *allocated)
+{
+ if (*allocated < *i + 2) {
+ *allocated += 16;
+ keys = xrealloc(keys, *allocated, sizeof(k));
+ }
+ keys[*i] = k;
+ (*i)++;
+ keys[*i] = NULL;
+ return keys;
+}
+
+static int
+nss_convert_pubkey(Key *k)
+{
+ u_char *n;
+ unsigned int len;
+ char *p;
+
+ switch (k->type) {
+ case KEY_RSA:
+ n = k->nss->pubk->u.rsa.modulus.data;
+ len = k->nss->pubk->u.rsa.modulus.len;
+
+ if (BN_bin2bn(n, len, k->rsa->n) == NULL) {
+ fatal("nss_convert_pubkey: BN_bin2bn failed");
+ }
+
+ n = k->nss->pubk->u.rsa.publicExponent.data;
+ len = k->nss->pubk->u.rsa.publicExponent.len;
+
+ if (BN_bin2bn(n, len, k->rsa->e) == NULL) {
+ fatal("nss_convert_pubkey: BN_bin2bn failed");
+ }
+ break;
+ case KEY_DSA:
+ n = k->nss->pubk->u.dsa.params.prime.data;
+ len = k->nss->pubk->u.dsa.params.prime.len;
+
+ if (BN_bin2bn(n, len, k->dsa->p) == NULL) {
+ fatal("nss_convert_pubkey: BN_bin2bn failed");
+ }
+
+ n = k->nss->pubk->u.dsa.params.subPrime.data;
+ len = k->nss->pubk->u.dsa.params.subPrime.len;
+
+ if (BN_bin2bn(n, len, k->dsa->q) == NULL) {
+ fatal("nss_convert_pubkey: BN_bin2bn failed");
+ }
+
+ n = k->nss->pubk->u.dsa.params.base.data;
+ len = k->nss->pubk->u.dsa.params.base.len;
+
+ if (BN_bin2bn(n, len, k->dsa->g) == NULL) {
+ fatal("nss_convert_pubkey: BN_bin2bn failed");
+ }
+
+ n = k->nss->pubk->u.dsa.publicValue.data;
+ len = k->nss->pubk->u.dsa.publicValue.len;
+
+ if (BN_bin2bn(n, len, k->dsa->pub_key) == NULL) {
+ fatal("nss_convert_pubkey: BN_bin2bn failed");
+ }
+ break;
+ }
+
+ p = key_fingerprint(k, SSH_FP_MD5, SSH_FP_HEX);
+ debug("fingerprint %u %s", key_size(k), p);
+ xfree(p);
+
+ return 0;
+}
+
+static int
+nss_authenticate(PK11SlotInfo *slot, char *password, int pwprompts, char **output)
+{
+ int i, quit;
+
+ *output = NULL;
+
+ if (!PK11_NeedLogin(slot))
+ return 0;
+
+ for (i = 0; i < pwprompts; i++) {
+ SECStatus rv;
+ CK_TOKEN_INFO info;
+
+ rv = PK11_GetTokenInfo(slot, &info);
+ if (rv != SECSuccess) {
+ error("Failed to get information for token %s",
+ PK11_GetTokenName(slot));
+ return -1;
+ }
+
+ if (info.flags & CKF_USER_PIN_LOCKED) {
+ error("Passphrase for token %s is locked",
+ PK11_GetTokenName(slot));
+ return -1;
+ }
+
+ if (info.flags & CKF_USER_PIN_FINAL_TRY)
+ debug2("Final passphrase attempt for token %s",
+ PK11_GetTokenName(slot));
+ else if (info.flags & CKF_USER_PIN_COUNT_LOW)
+ debug2("Previous failed passphrase attempt for token %s",
+ PK11_GetTokenName(slot));
+
+ if (password != NULL)
+ *output = xstrdup(password);
+ else {
+ char *prompt;
+ if (asprintf(&prompt, "Enter passphrase for token %s: ",
+ PK11_GetTokenName(slot)) < 0)
+ fatal("password_cb: asprintf failed");
+ *output = read_passphrase(prompt, RP_ALLOW_STDIN);
+ }
+
+ if (strcmp(*output, "") == 0) {
+ debug2("no passphrase given, ignoring slot");
+ quit = 1;
+ goto cleanup;
+ }
+
+ quit = 0;
+
+ rv = PK11_Authenticate(slot, PR_TRUE, *output);
+ if (rv == SECSuccess)
+ return 0;
+
+ switch (PORT_GetError()) {
+ case SEC_ERROR_BAD_PASSWORD:
+ debug2("Incorrect passphrase, try again...");
+ break;
+ case SEC_ERROR_INVALID_ARGS:
+ case SEC_ERROR_BAD_DATA:
+ debug2("Invalid passphrase, try again...");
+ break;
+#if HAVE_SEC_ERROR_LOCKED_PASSWORD
+ case SEC_ERROR_LOCKED_PASSWORD:
+ error("Unable to authenticate, token passphrase is locked");
+ quit = 1;
+ break;
+#endif
+ default:
+ error("Failure while authenticating against token");
+ quit = 1;
+ }
+
+cleanup:
+ memset(*output, 0, strlen(*output));
+ xfree(*output);
+ *output = NULL;
+
+ /* No point in retrying the same password */
+ if (password != NULL)
+ break;
+
+ if (quit)
+ break;
+ }
+
+ return -1;
+}
+
+static Key **
+nss_find_privkeys(const char *tokenname, const char *keyname,
+ char *password, int pwprompts)
+{
+ Key *k = NULL;
+ Key **keys = NULL;
+ PK11SlotList *slots;
+ PK11SlotListElement *sle;
+ size_t allocated = 0;
+ size_t i = 0;
+
+ if ((slots=PK11_FindSlotsByNames(NULL, NULL, tokenname, PR_TRUE)) == NULL) {
+ if (tokenname == NULL) {
+ debug("No NSS token found");
+ } else {
+ debug("NSS token not found: %s", tokenname);
+ }
+ return NULL;
+ }
+
+ for (sle = slots->head; sle; sle = sle->next) {
+ SECKEYPrivateKeyList *list;
+ SECKEYPrivateKeyListNode *node;
+ char *tmppass;
+
+ if (nss_authenticate(sle->slot, password, pwprompts, &tmppass) == -1)
+ break;
+
+ debug("Looking for: %s:%s", tokenname, keyname);
+ list = PK11_ListPrivKeysInSlot(sle->slot, (char *)keyname,
+ tmppass);
+ if (list == NULL && keyname != NULL) {
+ char *fooname;
+ /* NSS bug workaround */
+ if (asprintf(&fooname, "%s~", keyname) < 0) {
+ error("nss_find_privkey: asprintf failed");
+ PK11_FreeSlotList(slots);
+ return NULL;
+ }
+ list = PK11_ListPrivKeysInSlot(sle->slot, fooname,
+ tmppass);
+ free(fooname);
+ }
+ if (list == NULL && keyname != NULL) {
+ CERTCertificate *cert;
+ SECKEYPrivateKey *privk;
+ cert = CERT_FindCertByNickname(CERT_GetDefaultCertDB(),
+ (char *)keyname);
+ if (cert == NULL)
+ goto cleanup;
+ privk = PK11_FindPrivateKeyFromCert(sle->slot, cert, tmppass);
+ CERT_DestroyCertificate(cert);
+ if (privk == NULL)
+ goto cleanup;
+ if ((k=make_key_from_privkey(privk, tmppass)) != NULL) {
+ nss_convert_pubkey(k);
+ keys = add_key_to_list(k, keys, &i, &allocated);
+ }
+ SECKEY_DestroyPrivateKey(privk);
+ } else {
+ if (list == NULL)
+ goto cleanup;
+ for (node=PRIVKEY_LIST_HEAD(list); !PRIVKEY_LIST_END(node, list);
+ node=PRIVKEY_LIST_NEXT(node))
+ if ((k=make_key_from_privkey(node->key, tmppass)) != NULL) {
+ nss_convert_pubkey(k);
+ keys = add_key_to_list(k, keys, &i, &allocated);
+ }
+ SECKEY_DestroyPrivateKeyList(list);
+ }
+cleanup:
+ if (tmppass != NULL) {
+ memset(tmppass, 0, strlen(tmppass));
+ xfree(tmppass);
+ }
+ }
+ PK11_FreeSlotList(slots);
+
+ return keys;
+}
+
+Key **
+nss_get_keys(const char *tokenname, const char *keyname,
+ char *password, int pwprompts, int num_modules, const char **modules)
+{
+ int i;
+ Key **keys;
+
+ if (nss_init(NULL) == -1) {
+ error("Failed to initialize NSS library");
+ return NULL;
+ }
+
+ for (i = 0;i < num_modules;i++) {
+ if (nss_load_module(modules[i]) == -1) {
+ error("Failed to load PKCS#11 module '%s'", modules[i]);
+ return NULL;
+ }
+ }
+
+ keys = nss_find_privkeys(tokenname, keyname, password, pwprompts);
+ if (keys == NULL && keyname != NULL) {
+ error("Cannot find key in nss, token removed");
+ return NULL;
+ }
+#if 0
+ keys = xcalloc(3, sizeof(Key *));
+
+ if (k->type == KEY_RSA) {
+ n = key_new_nss_copy(KEY_RSA1, k);
+
+ keys[0] = n;
+ keys[1] = k;
+ keys[2] = NULL;
+ } else {
+ keys[0] = k;
+ keys[1] = NULL;
+ }
+#endif
+ return keys;
+}
+
+char *
+nss_get_key_label(Key *key)
+{
+ char *label, *nickname;
+
+ nickname = PK11_GetPrivateKeyNickname(key->nss->privk);
+ label = xstrdup(nickname);
+ PORT_Free(nickname);
+
+ return label;
+}
+
+#endif /* HAVE_LIBNSS */
diff -up /dev/null openssh-5.3p1/nsskeys.h
--- /dev/null 2009-11-27 11:08:21.619709673 +0100
+++ openssh-5.3p1/nsskeys.h 2009-11-27 13:43:01.000000000 +0100
@@ -0,0 +1,39 @@
+/*
+ * Copyright (c) 2001 Markus Friedl. All rights reserved.
+ * Copyright (c) 2007 Red Hat, Inc. All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ * notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ * notice, this list of conditions and the following disclaimer in the
+ * documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef NSSKEYS_H
+#define NSSKEYS_H
+#ifdef HAVE_LIBNSS
+#include <pk11func.h>
+#include <prtypes.h>
+
+int nss_init(PK11PasswordFunc);
+Key **nss_get_keys(const char *, const char *, char *, int , int , const char **);
+char *nss_get_key_label(Key *);
+/*void sc_close(void);*/
+/*int sc_put_key(Key *, const char *);*/
+
+#endif
+#endif
diff -up openssh-5.3p1/readconf.c.nss-keys openssh-5.3p1/readconf.c
--- openssh-5.3p1/readconf.c.nss-keys 2009-07-05 23:12:27.000000000 +0200
+++ openssh-5.3p1/readconf.c 2009-11-27 13:43:01.000000000 +0100
@@ -124,6 +124,7 @@ typedef enum {
oKbdInteractiveAuthentication, oKbdInteractiveDevices, oHostKeyAlias,
oDynamicForward, oPreferredAuthentications, oHostbasedAuthentication,
oHostKeyAlgorithms, oBindAddress, oSmartcardDevice,
+ oUseNSS, oNSSToken, oNSSModule,
oClearAllForwardings, oNoHostAuthenticationForLocalhost,
oEnableSSHKeysign, oRekeyLimit, oVerifyHostKeyDNS, oConnectTimeout,
oAddressFamily, oGssAuthentication, oGssDelegateCreds,
@@ -210,6 +211,15 @@ static struct {
#else
{ "smartcarddevice", oUnsupported },
#endif
+#ifdef HAVE_LIBNSS
+ { "usenss", oUseNSS },
+ { "nsstoken", oNSSToken },
+ { "nssmodule", oNSSModule },
+#else
+ { "usenss", oUnsupported },
+ { "nsstoken", oNSSToken },
+ { "nssmodule", oUnsupported },
+#endif
{ "clearallforwardings", oClearAllForwardings },
{ "enablesshkeysign", oEnableSSHKeysign },
{ "verifyhostkeydns", oVerifyHostKeyDNS },
@@ -613,6 +623,28 @@ parse_string:
charptr = &options->smartcard_device;
goto parse_string;
+ case oUseNSS:
+ intptr = &options->use_nss;
+ goto parse_flag;
+
+ case oNSSToken:
+ charptr = &options->nss_token;
+ goto parse_command;
+
+ case oNSSModule:
+ arg = strdelim(&s);
+ if (!arg || *arg == '\0')
+ fatal("%.200s line %d: Missing argument.", filename, linenum);
+ if (*activep) {
+ intptr = &options->num_nss_modules;
+ if (*intptr >= SSH_MAX_NSS_MODULES)
+ fatal("%.200s line %d: Too many PKCS#11 modules specified (max %d).",
+ filename, linenum, SSH_MAX_NSS_MODULES);
+ charptr = &options->nss_modules[*intptr];
+ *charptr = xstrdup(arg);
+ *intptr = *intptr + 1;
+ }
+ break;
case oProxyCommand:
charptr = &options->proxy_command;
parse_command:
@@ -1052,6 +1084,9 @@ initialize_options(Options * options)
options->preferred_authentications = NULL;
options->bind_address = NULL;
options->smartcard_device = NULL;
+ options->use_nss = -1;
+ options->nss_token = NULL;
+ options->num_nss_modules = 0;
options->enable_ssh_keysign = - 1;
options->no_host_authentication_for_localhost = - 1;
options->identities_only = - 1;
@@ -1183,6 +1218,8 @@ fill_default_options(Options * options)
options->no_host_authentication_for_localhost = 0;
if (options->identities_only == -1)
options->identities_only = 0;
+ if (options->use_nss == -1)
+ options->use_nss = 0;
if (options->enable_ssh_keysign == -1)
options->enable_ssh_keysign = 0;
if (options->rekey_limit == -1)
diff -up openssh-5.3p1/readconf.h.nss-keys openssh-5.3p1/readconf.h
--- openssh-5.3p1/readconf.h.nss-keys 2009-07-05 23:12:27.000000000 +0200
+++ openssh-5.3p1/readconf.h 2009-11-27 13:43:01.000000000 +0100
@@ -85,6 +85,10 @@ typedef struct {
char *preferred_authentications;
char *bind_address; /* local socket address for connection to sshd */
char *smartcard_device; /* Smartcard reader device */
+ int use_nss; /* Use NSS library for keys */
+ char *nss_token; /* Look for NSS keys on token */
+ int num_nss_modules; /* Number of PCKS#11 modules. */
+ char *nss_modules[SSH_MAX_NSS_MODULES];
int verify_host_key_dns; /* Verify host key using DNS */
int num_identity_files; /* Number of files for RSA/DSA identities. */
diff -up openssh-5.3p1/ssh-add.c.nss-keys openssh-5.3p1/ssh-add.c
--- openssh-5.3p1/ssh-add.c.nss-keys 2008-02-28 09:13:52.000000000 +0100
+++ openssh-5.3p1/ssh-add.c 2009-11-27 13:43:01.000000000 +0100
@@ -44,6 +44,14 @@
#include <openssl/evp.h>
#include "openbsd-compat/openssl-compat.h"
+#ifdef HAVE_LIBNSS
+#include <nss.h>
+#include <secmod.h>
+#include <pk11pub.h>
+#include <keyhi.h>
+#include <cert.h>
+#endif
+
#include <fcntl.h>
#include <pwd.h>
#include <stdarg.h>
@@ -57,6 +65,7 @@
#include "rsa.h"
#include "log.h"
#include "key.h"
+#include "nsskeys.h"
#include "buffer.h"
#include "authfd.h"
#include "authfile.h"
@@ -307,6 +316,128 @@ do_file(AuthenticationConnection *ac, in
return 0;
}
+#ifdef HAVE_LIBNSS
+static char *
+password_cb(PK11SlotInfo *slot, PRBool retry, void *arg)
+{
+ char **passcache = arg;
+ char *password, *p2 = NULL;
+ char *prompt;
+
+ if (retry)
+ return NULL;
+
+ if (asprintf(&prompt, "Enter passphrase for token %s: ",
+ PK11_GetTokenName(slot)) < 0)
+ fatal("password_cb: asprintf failed");
+
+ password = read_passphrase(prompt, RP_ALLOW_STDIN);
+
+ if (password != NULL && (p2=PL_strdup(password)) == NULL) {
+ memset(password, 0, strlen(password));
+ fatal("password_cb: PL_strdup failed");
+ }
+
+ if (passcache != NULL) {
+ if (*passcache != NULL) {
+ memset(*passcache, 0, strlen(*passcache));
+ xfree(*passcache);
+ }
+ *passcache = password;
+ } else {
+ memset(password, 0, strlen(password));
+ xfree(password);
+ }
+
+ return p2;
+}
+
+static int
+add_slot_keys(AuthenticationConnection *ac, PK11SlotInfo *slot, int add)
+{
+ SECKEYPrivateKeyList *list;
+ SECKEYPrivateKeyListNode *node;
+ char *passcache = NULL;
+ char *tokenname;
+ char **xkeyname = NULL;
+
+ int count = 0;
+ int i;
+
+ if (PK11_NeedLogin(slot))
+ PK11_Authenticate(slot, PR_TRUE, &passcache);
+
+ if ((list=PK11_ListPrivKeysInSlot(slot, NULL, NULL)) == NULL) {
+ return 0;
+ }
+
+ tokenname = PK11_GetTokenName(slot);
+
+ for (node=PRIVKEY_LIST_HEAD(list); !PRIVKEY_LIST_END(node, list);
+ node=PRIVKEY_LIST_NEXT(node)) {
+ char *keyname;
+ SECKEYPublicKey *pub;
+
+ keyname = PK11_GetPrivateKeyNickname(node->key);
+ if (keyname == NULL || *keyname == '\0') {
+ /* no nickname to refer to */
+ CERTCertificate *cert;
+ char *kn;
+ cert = PK11_GetCertFromPrivateKey(node->key);
+ if (cert == NULL)
+ continue;
+ kn = strchr(cert->nickname, ':');
+ if (kn == NULL)
+ kn = cert->nickname;
+ else
+ kn++;
+ keyname = PORT_Strdup(kn);
+ CERT_DestroyCertificate(cert);
+ if (keyname == NULL)
+ continue;
+ }
+ pub = SECKEY_ConvertToPublicKey(node->key);
+ if (pub == NULL) {
+ fprintf(stderr, "No public key for: %s:%s\n",
+ tokenname, keyname);
+ continue; /* not possible to obtain public key */
+ }
+ SECKEY_DestroyPublicKey(pub);
+
+ if ((count % 10) == 0)
+ xkeyname = xrealloc (xkeyname, count + 10, sizeof (char *));
+
+ xkeyname[count++] = keyname;
+ }
+
+ PK11_Logout(slot);
+
+ for (i = 0; i < count; i++) {
+ if (ssh_update_nss_key(ac, add, tokenname, xkeyname[i],
+ passcache?passcache:"", lifetime, confirm)) {
+ fprintf(stderr, "Key %s: %s:%s\n",
+ add?"added":"removed", tokenname, xkeyname[i]);
+ } else {
+ fprintf(stderr, "Could not %s key: %s:%s\n",
+ add?"add":"remove", tokenname, xkeyname[i]);
+ }
+ PORT_Free(xkeyname[i]);
+ }
+
+ if (xkeyname != NULL)
+ free (xkeyname);
+
+ if (passcache != NULL) {
+ memset(passcache, 0, strlen(passcache));
+ xfree(passcache);
+ }
+
+ SECKEY_DestroyPrivateKeyList(list);
+
+ return count;
+}
+#endif
+
static void
usage(void)
{
@@ -334,6 +465,10 @@ main(int argc, char **argv)
AuthenticationConnection *ac = NULL;
char *sc_reader_id = NULL;
int i, ch, deleting = 0, ret = 0;
+#ifdef HAVE_LIBNSS
+ char *token_id = NULL;
+ int use_nss = 0;
+#endif
/* Ensure that fds 0, 1 and 2 are open or directed to /dev/null */
sanitise_stdfd();
@@ -351,7 +486,7 @@ main(int argc, char **argv)
"Could not open a connection to your authentication agent.\n");
exit(2);
}
- while ((ch = getopt(argc, argv, "lLcdDxXe:s:t:")) != -1) {
+ while ((ch = getopt(argc, argv, "lLcdDnxXe:s:t:T:")) != -1) {
switch (ch) {
case 'l':
case 'L':
@@ -373,6 +508,11 @@ main(int argc, char **argv)
if (delete_all(ac) == -1)
ret = 1;
goto done;
+#ifdef HAVE_LIBNSS
+ case 'n':
+ use_nss = 1;
+ break;
+#endif
case 's':
sc_reader_id = optarg;
break;
@@ -387,6 +527,11 @@ main(int argc, char **argv)
goto done;
}
break;
+#ifdef HAVE_LIBNSS
+ case 'T':
+ token_id = optarg;
+ break;
+#endif
default:
usage();
ret = 1;
@@ -400,6 +545,40 @@ main(int argc, char **argv)
ret = 1;
goto done;
}
+#ifdef HAVE_LIBNSS
+ if (use_nss) {
+ PK11SlotList *slots;
+ PK11SlotListElement *sle;
+ int count = 0;
+ if (nss_init(password_cb) == -1) {
+ fprintf(stderr, "Failed to initialize NSS library\n");
+ ret = 1;
+ goto done;
+ }
+
+ if ((slots=PK11_GetAllTokens(CKM_INVALID_MECHANISM, PR_FALSE, PR_FALSE,
+ NULL)) == NULL) {
+ fprintf(stderr, "No tokens found\n");
+ ret = 1;
+ goto nss_done;
+ }
+
+ for (sle = slots->head; sle; sle = sle->next) {
+ int rv;
+ if ((rv=add_slot_keys(ac, sle->slot, !deleting)) == -1) {
+ ret = 1;
+ }
+ count += rv;
+ }
+ if (count == 0) {
+ ret = 1;
+ }
+nss_done:
+ NSS_Shutdown();
+ clear_pass();
+ goto done;
+ }
+#endif
if (argc == 0) {
char buf[MAXPATHLEN];
struct passwd *pw;
diff -up openssh-5.3p1/ssh-agent.c.nss-keys openssh-5.3p1/ssh-agent.c
--- openssh-5.3p1/ssh-agent.c.nss-keys 2009-06-21 09:50:15.000000000 +0200
+++ openssh-5.3p1/ssh-agent.c 2009-11-27 13:43:01.000000000 +0100
@@ -80,6 +80,10 @@
#include "scard.h"
#endif
+#ifdef HAVE_LIBNSS
+#include "nsskeys.h"
+#endif
+
#if defined(HAVE_SYS_PRCTL_H)
#include <sys/prctl.h> /* For prctl() and PR_SET_DUMPABLE */
#endif
@@ -714,6 +718,114 @@ send:
}
#endif /* SMARTCARD */
+#ifdef HAVE_LIBNSS
+static void
+process_add_nss_key (SocketEntry *e)
+{
+ char *tokenname = NULL, *keyname = NULL, *password = NULL;
+ int i, version, success = 0, death = 0, confirm = 0;
+ Key **keys, *k;
+ Identity *id;
+ Idtab *tab;
+
+ tokenname = buffer_get_string(&e->request, NULL);
+ keyname = buffer_get_string(&e->request, NULL);
+ password = buffer_get_string(&e->request, NULL);
+
+ while (buffer_len(&e->request)) {
+ switch (buffer_get_char(&e->request)) {
+ case SSH_AGENT_CONSTRAIN_LIFETIME:
+ death = time(NULL) + buffer_get_int(&e->request);
+ break;
+ case SSH_AGENT_CONSTRAIN_CONFIRM:
+ confirm = 1;
+ break;
+ default:
+ break;
+ }
+ }
+ if (lifetime && !death)
+ death = time(NULL) + lifetime;
+
+ keys = nss_get_keys(tokenname, keyname, password, 1, 0, NULL);
+ /* password is owned by keys[0] now */
+ xfree(tokenname);
+ xfree(keyname);
+
+ if (keys == NULL) {
+ memset(password, 0, strlen(password));
+ xfree(password);
+ error("nss_get_keys failed");
+ goto send;
+ }
+ for (i = 0; keys[i] != NULL; i++) {
+ k = keys[i];
+ version = k->type == KEY_RSA1 ? 1 : 2;
+ tab = idtab_lookup(version);
+ if (lookup_identity(k, version) == NULL) {
+ id = xmalloc(sizeof(Identity));
+ id->key = k;
+ id->comment = nss_get_key_label(k);
+ id->death = death;
+ id->confirm = confirm;
+ TAILQ_INSERT_TAIL(&tab->idlist, id, next);
+ tab->nentries++;
+ success = 1;
+ } else {
+ key_free(k);
+ }
+ keys[i] = NULL;
+ }
+ xfree(keys);
+send:
+ buffer_put_int(&e->output, 1);
+ buffer_put_char(&e->output,
+ success ? SSH_AGENT_SUCCESS : SSH_AGENT_FAILURE);
+}
+
+static void
+process_remove_nss_key(SocketEntry *e)
+{
+ char *tokenname = NULL, *keyname = NULL, *password = NULL;
+ int i, version, success = 0;
+ Key **keys, *k = NULL;
+ Identity *id;
+ Idtab *tab;
+
+ tokenname = buffer_get_string(&e->request, NULL);
+ keyname = buffer_get_string(&e->request, NULL);
+ password = buffer_get_string(&e->request, NULL);
+
+ keys = nss_get_keys(tokenname, keyname, password, 1, 0, NULL);
+ xfree(tokenname);
+ xfree(keyname);
+ xfree(password);
+
+ if (keys == NULL || keys[0] == NULL) {
+ error("nss_get_keys failed");
+ goto send;
+ }
+ for (i = 0; keys[i] != NULL; i++) {
+ k = keys[i];
+ version = k->type == KEY_RSA1 ? 1 : 2;
+ if ((id = lookup_identity(k, version)) != NULL) {
+ tab = idtab_lookup(version);
+ TAILQ_REMOVE(&tab->idlist, id, next);
+ tab->nentries--;
+ free_identity(id);
+ success = 1;
+ }
+ key_free(k);
+ keys[i] = NULL;
+ }
+ xfree(keys);
+send:
+ buffer_put_int(&e->output, 1);
+ buffer_put_char(&e->output,
+ success ? SSH_AGENT_SUCCESS : SSH_AGENT_FAILURE);
+}
+#endif /* HAVE_LIBNSS */
+
/* dispatch incoming messages */
static void
@@ -806,6 +918,15 @@ process_message(SocketEntry *e)
process_remove_smartcard_key(e);
break;
#endif /* SMARTCARD */
+#ifdef HAVE_LIBNSS
+ case SSH_AGENTC_ADD_NSS_KEY:
+ case SSH_AGENTC_ADD_NSS_KEY_CONSTRAINED:
+ process_add_nss_key(e);
+ break;
+ case SSH_AGENTC_REMOVE_NSS_KEY:
+ process_remove_nss_key(e);
+ break;
+#endif /* SMARTCARD */
default:
/* Unknown message. Respond with failure. */
error("Unknown message %d", type);
diff -up openssh-5.3p1/ssh.c.nss-keys openssh-5.3p1/ssh.c
--- openssh-5.3p1/ssh.c.nss-keys 2009-07-05 23:16:56.000000000 +0200
+++ openssh-5.3p1/ssh.c 2009-11-27 13:43:01.000000000 +0100
@@ -105,6 +105,9 @@
#ifdef SMARTCARD
#include "scard.h"
#endif
+#ifdef HAVE_LIBNSS
+#include "nsskeys.h"
+#endif
extern char *__progname;
@@ -1234,9 +1237,11 @@ load_public_identity_files(void)
int i = 0;
Key *public;
struct passwd *pw;
-#ifdef SMARTCARD
+#if defined(SMARTCARD) || defined(HAVE_LIBNSS)
Key **keys;
+#endif
+#ifdef SMARTCARD
if (options.smartcard_device != NULL &&
options.num_identity_files < SSH_MAX_IDENTITY_FILES &&
(keys = sc_get_keys(options.smartcard_device, NULL)) != NULL) {
@@ -1259,6 +1264,29 @@ load_public_identity_files(void)
xfree(keys);
}
#endif /* SMARTCARD */
+#ifdef HAVE_LIBNSS
+ if (options.use_nss &&
+ options.num_identity_files < SSH_MAX_IDENTITY_FILES &&
+ (keys = nss_get_keys(options.nss_token, NULL, NULL,
+ options.number_of_password_prompts, options.num_nss_modules,
+ options.nss_modules)) != NULL) {
+ int count;
+ for (count = 0; keys[count] != NULL; count++) {
+ memmove(&options.identity_files[1], &options.identity_files[0],
+ sizeof(char *) * (SSH_MAX_IDENTITY_FILES - 1));
+ memmove(&options.identity_keys[1], &options.identity_keys[0],
+ sizeof(Key *) * (SSH_MAX_IDENTITY_FILES - 1));
+ options.num_identity_files++;
+ options.identity_keys[0] = keys[count];
+ options.identity_files[0] = nss_get_key_label(keys[count]);
+ }
+ if (options.num_identity_files > SSH_MAX_IDENTITY_FILES)
+ options.num_identity_files = SSH_MAX_IDENTITY_FILES;
+ i += count;
+ xfree(keys);
+ }
+#endif /* HAVE_LIBNSS */
+
if ((pw = getpwuid(original_real_uid)) == NULL)
fatal("load_public_identity_files: getpwuid failed");
pwname = xstrdup(pw->pw_name);
diff -up openssh-5.3p1/ssh-dss.c.nss-keys openssh-5.3p1/ssh-dss.c
--- openssh-5.3p1/ssh-dss.c.nss-keys 2006-11-07 13:14:42.000000000 +0100
+++ openssh-5.3p1/ssh-dss.c 2009-11-27 13:43:01.000000000 +0100
@@ -39,6 +39,10 @@
#include "log.h"
#include "key.h"
+#ifdef HAVE_LIBNSS
+#include <cryptohi.h>
+#endif
+
#define INTBLOB_LEN 20
#define SIGBLOB_LEN (2*INTBLOB_LEN)
@@ -57,6 +61,34 @@ ssh_dss_sign(const Key *key, u_char **si
error("ssh_dss_sign: no DSA key");
return -1;
}
+#ifdef HAVE_LIBNSS
+ if (key->flags & KEY_FLAG_NSS) {
+ SECItem sigitem;
+ SECItem *rawsig;
+
+ memset(&sigitem, 0, sizeof(sigitem));
+ if (SEC_SignData(&sigitem, (u_char *)data, datalen, key->nss->privk,
+ SEC_OID_ANSIX9_DSA_SIGNATURE_WITH_SHA1_DIGEST) != SECSuccess) {
+ error("ssh_dss_sign: sign failed");
+ return -1;
+ }
+
+ if ((rawsig=DSAU_DecodeDerSig(&sigitem)) == NULL) {
+ error("ssh_dss_sign: der decode failed");
+ SECITEM_ZfreeItem(&sigitem, PR_FALSE);
+ return -1;
+ }
+ SECITEM_ZfreeItem(&sigitem, PR_FALSE);
+ if (rawsig->len != SIGBLOB_LEN) {
+ error("ssh_dss_sign: unsupported signature length %d",
+ rawsig->len);
+ SECITEM_ZfreeItem(rawsig, PR_TRUE);
+ return -1;
+ }
+ memcpy(sigblob, rawsig->data, SIGBLOB_LEN);
+ SECITEM_ZfreeItem(rawsig, PR_TRUE);
+ } else {
+#endif
EVP_DigestInit(&md, evp_md);
EVP_DigestUpdate(&md, data, datalen);
EVP_DigestFinal(&md, digest, &dlen);
@@ -80,7 +112,9 @@ ssh_dss_sign(const Key *key, u_char **si
BN_bn2bin(sig->r, sigblob+ SIGBLOB_LEN - INTBLOB_LEN - rlen);
BN_bn2bin(sig->s, sigblob+ SIGBLOB_LEN - slen);
DSA_SIG_free(sig);
-
+#ifdef HAVE_LIBNSS
+ }
+#endif
if (datafellows & SSH_BUG_SIGBLOB) {
if (lenp != NULL)
*lenp = SIGBLOB_LEN;
diff -up openssh-5.3p1/ssh.h.nss-keys openssh-5.3p1/ssh.h
--- openssh-5.3p1/ssh.h.nss-keys 2006-08-05 04:39:41.000000000 +0200
+++ openssh-5.3p1/ssh.h 2009-11-27 13:43:01.000000000 +0100
@@ -28,6 +28,12 @@
#define SSH_MAX_IDENTITY_FILES 100
/*
+ * Maximum number of PKCS#11 modules that can be specified in configuration
+ * files or on the command line.
+ */
+#define SSH_MAX_NSS_MODULES 10
+
+/*
* Maximum length of lines in authorized_keys file.
* Current value permits 16kbit RSA and RSA1 keys and 8kbit DSA keys, with
* some room for options and comments.
diff -up openssh-5.3p1/ssh-keygen.c.nss-keys openssh-5.3p1/ssh-keygen.c
--- openssh-5.3p1/ssh-keygen.c.nss-keys 2009-06-22 08:11:07.000000000 +0200
+++ openssh-5.3p1/ssh-keygen.c 2009-11-27 13:43:01.000000000 +0100
@@ -53,6 +53,11 @@
#include "scard.h"
#endif
+#ifdef HAVE_LIBNSS
+#include <nss.h>
+#include "nsskeys.h"
+#endif
+
/* Number of bits in the RSA/DSA key. This value can be set on the command line. */
#define DEFAULT_BITS 2048
#define DEFAULT_BITS_DSA 1024
@@ -501,6 +506,26 @@ do_download(struct passwd *pw, const cha
}
#endif /* SMARTCARD */
+#ifdef HAVE_LIBNSS
+static void
+do_nss_download(struct passwd *pw, const char *tokenname, const char *keyname)
+{
+ Key **keys = NULL;
+ int i;
+
+ keys = nss_get_keys(tokenname, keyname, NULL, 1, 0, NULL);
+ if (keys == NULL)
+ fatal("cannot find public key in NSS");
+ for (i = 0; keys[i]; i++) {
+ key_write(keys[i], stdout);
+ key_free(keys[i]);
+ fprintf(stdout, "\n");
+ }
+ xfree(keys);
+ exit(0);
+}
+#endif /* HAVE_LIBNSS */
+
static void
do_fingerprint(struct passwd *pw)
{
@@ -1083,7 +1108,8 @@ main(int argc, char **argv)
Key *private, *public;
struct passwd *pw;
struct stat st;
- int opt, type, fd, download = 0;
+ int opt, type, fd, download = 1;
+ int use_nss = 0;
u_int32_t memory = 0, generator_wanted = 0, trials = 100;
int do_gen_candidates = 0, do_screen_candidates = 0;
BIGNUM *start = NULL;
@@ -1116,7 +1142,7 @@ main(int argc, char **argv)
}
while ((opt = getopt(argc, argv,
- "degiqpclBHvxXyF:b:f:t:U:D:P:N:C:r:g:R:T:G:M:S:a:W:")) != -1) {
+ "degiqpclnBHvxXyF:b:f:t:U:D:P:N:C:r:g:R:T:G:M:S:a:W:")) != -1) {
switch (opt) {
case 'b':
bits = (u_int32_t)strtonum(optarg, 768, 32768, &errstr);
@@ -1156,6 +1182,10 @@ main(int argc, char **argv)
case 'g':
print_generic = 1;
break;
+ case 'n':
+ use_nss = 1;
+ download = 1;
+ break;
case 'P':
identity_passphrase = optarg;
break;
@@ -1187,10 +1217,10 @@ main(int argc, char **argv)
case 't':
key_type_name = optarg;
break;
- case 'D':
- download = 1;
- /*FALLTHROUGH*/
case 'U':
+ download = 0;
+ /*FALLTHROUGH*/
+ case 'D':
reader_id = optarg;
break;
case 'v':
@@ -1299,6 +1329,17 @@ main(int argc, char **argv)
exit(0);
}
}
+
+ if (use_nss) {
+#ifdef HAVE_LIBNSS
+ if (download)
+ do_nss_download(pw, reader_id, identity_file);
+ else
+ fatal("no support for NSS key upload.");
+#else
+ fatal("no support for NSS keys.");
+#endif
+ }
if (reader_id != NULL) {
#ifdef SMARTCARD
if (download)
diff -up openssh-5.3p1/ssh-rsa.c.nss-keys openssh-5.3p1/ssh-rsa.c
--- openssh-5.3p1/ssh-rsa.c.nss-keys 2006-09-01 07:38:37.000000000 +0200
+++ openssh-5.3p1/ssh-rsa.c 2009-11-27 13:43:01.000000000 +0100
@@ -32,6 +32,10 @@
#include "compat.h"
#include "ssh.h"
+#ifdef HAVE_LIBNSS
+#include <cryptohi.h>
+#endif
+
static int openssh_RSA_verify(int, u_char *, u_int, u_char *, u_int, RSA *);
/* RSASSA-PKCS1-v1_5 (PKCS #1 v2.0 signature) with SHA1 */
@@ -50,6 +54,38 @@ ssh_rsa_sign(const Key *key, u_char **si
error("ssh_rsa_sign: no RSA key");
return -1;
}
+
+ slen = RSA_size(key->rsa);
+ sig = xmalloc(slen);
+
+#ifdef HAVE_LIBNSS
+ if (key->flags & KEY_FLAG_NSS) {
+ SECItem sigitem;
+ SECOidTag alg;
+
+ memset(&sigitem, 0, sizeof(sigitem));
+ alg = (datafellows & SSH_BUG_RSASIGMD5) ?
+ SEC_OID_PKCS1_MD5_WITH_RSA_ENCRYPTION :
+ SEC_OID_PKCS1_SHA1_WITH_RSA_ENCRYPTION;
+
+ if (SEC_SignData(&sigitem, (u_char *)data, datalen, key->nss->privk,
+ alg) != SECSuccess) {
+ error("ssh_rsa_sign: sign failed");
+ return -1;
+ }
+ if (sigitem.len > slen) {
+ error("ssh_rsa_sign: slen %u slen2 %u", slen, sigitem.len);
+ xfree(sig);
+ SECITEM_ZfreeItem(&sigitem, PR_FALSE);
+ return -1;
+ }
+ if (sigitem.len < slen) {
+ memset(sig, 0, slen - sigitem.len);
+ }
+ memcpy(sig+slen-sigitem.len, sigitem.data, sigitem.len);
+ SECITEM_ZfreeItem(&sigitem, PR_FALSE);
+ } else {
+#endif
nid = (datafellows & SSH_BUG_RSASIGMD5) ? NID_md5 : NID_sha1;
if ((evp_md = EVP_get_digestbynid(nid)) == NULL) {
error("ssh_rsa_sign: EVP_get_digestbynid %d failed", nid);
@@ -59,9 +95,6 @@ ssh_rsa_sign(const Key *key, u_char **si
EVP_DigestUpdate(&md, data, datalen);
EVP_DigestFinal(&md, digest, &dlen);
- slen = RSA_size(key->rsa);
- sig = xmalloc(slen);
-
ok = RSA_sign(nid, digest, dlen, sig, &len, key->rsa);
memset(digest, 'd', sizeof(digest));
@@ -83,6 +116,9 @@ ssh_rsa_sign(const Key *key, u_char **si
xfree(sig);
return -1;
}
+#ifdef HAVE_LIBNSS
+ }
+#endif
/* encode signature */
buffer_init(&b);
buffer_put_cstring(&b, "ssh-rsa");
openssh-5.4p1-pam_selinux.patch:
auth-pam.c | 2 -
auth-pam.h | 2 -
openbsd-compat/port-linux.c | 83 +++++++++++++++++++++++++++++++++++++-------
3 files changed, 73 insertions(+), 14 deletions(-)
--- NEW FILE openssh-5.4p1-pam_selinux.patch ---
diff -up openssh-5.4p1/auth-pam.c.pam_selinux openssh-5.4p1/auth-pam.c
--- openssh-5.4p1/auth-pam.c.pam_selinux 2009-07-12 14:07:21.000000000 +0200
+++ openssh-5.4p1/auth-pam.c 2010-03-01 15:27:23.000000000 +0100
@@ -1069,7 +1069,7 @@ is_pam_session_open(void)
* during the ssh authentication process.
*/
int
-do_pam_putenv(char *name, char *value)
+do_pam_putenv(char *name, const char *value)
{
int ret = 1;
#ifdef HAVE_PAM_PUTENV
diff -up openssh-5.4p1/auth-pam.h.pam_selinux openssh-5.4p1/auth-pam.h
--- openssh-5.4p1/auth-pam.h.pam_selinux 2004-09-11 14:17:26.000000000 +0200
+++ openssh-5.4p1/auth-pam.h 2010-03-01 15:27:23.000000000 +0100
@@ -38,7 +38,7 @@ void do_pam_session(void);
void do_pam_set_tty(const char *);
void do_pam_setcred(int );
void do_pam_chauthtok(void);
-int do_pam_putenv(char *, char *);
+int do_pam_putenv(char *, const char *);
char ** fetch_pam_environment(void);
char ** fetch_pam_child_environment(void);
void free_pam_environment(char **);
diff -up openssh-5.4p1/openbsd-compat/port-linux.c.pam_selinux openssh-5.4p1/openbsd-compat/port-linux.c
--- openssh-5.4p1/openbsd-compat/port-linux.c.pam_selinux 2010-03-01 15:27:22.000000000 +0100
+++ openssh-5.4p1/openbsd-compat/port-linux.c 2010-03-01 15:27:53.000000000 +0100
@@ -36,6 +36,7 @@
#include "hostfile.h"
#include "auth.h"
#include "xmalloc.h"
+#include "servconf.h"
#ifdef WITH_SELINUX
#include <selinux/selinux.h>
@@ -50,6 +51,7 @@
#include <unistd.h>
#endif
+extern ServerOptions options;
extern Authctxt *the_authctxt;
extern int inetd_flag;
extern int rexeced_flag;
@@ -211,29 +213,38 @@ get_user_context(const char *sename, con
return -1;
}
+static void
+ssh_selinux_get_role_level(char **role, const char **level)
+{
+ *role = NULL;
+ *level = NULL;
+ if (the_authctxt) {
+ if (the_authctxt->role != NULL) {
+ char *slash;
+ *role = xstrdup(the_authctxt->role);
+ if ((slash = strchr(*role, '/')) != NULL) {
+ *slash = '\0';
+ *level = slash + 1;
+ }
+ }
+ }
+}
+
/* Return the default security context for the given username */
static int
ssh_selinux_getctxbyname(char *pwname,
security_context_t *default_sc, security_context_t *user_sc)
{
char *sename, *lvl;
- const char *reqlvl = NULL;
- char *role = NULL;
+ const char *reqlvl;
+ char *role;
int r = -1;
context_t con = NULL;
*default_sc = NULL;
*user_sc = NULL;
- if (the_authctxt) {
- if (the_authctxt->role != NULL) {
- char *slash;
- role = xstrdup(the_authctxt->role);
- if ((slash = strchr(role, '/')) != NULL) {
- *slash = '\0';
- reqlvl = slash + 1;
- }
- }
- }
+
+ ssh_selinux_get_role_level(&role, &reqlvl);
#ifdef HAVE_GETSEUSERBYNAME
if ((r=getseuserbyname(pwname, &sename, &lvl)) != 0) {
@@ -314,6 +325,36 @@ ssh_selinux_getctxbyname(char *pwname,
return (r);
}
+/* Setup environment variables for pam_selinux */
+static int
+ssh_selinux_setup_pam_variables(void)
+{
+ const char *reqlvl;
+ char *role;
+ char *use_current;
+ int rv;
+
+ debug3("%s: setting execution context", __func__);
+
+ ssh_selinux_get_role_level(&role, &reqlvl);
+
+ rv = do_pam_putenv("SELINUX_ROLE_REQUESTED", role ? role : "");
+
+ if (inetd_flag && !rexeced_flag) {
+ use_current = "1";
+ } else {
+ use_current = "";
+ rv = rv || do_pam_putenv("SELINUX_LEVEL_REQUESTED", reqlvl ? reqlvl: "");
+ }
+
+ rv = rv || do_pam_putenv("SELINUX_USE_CURRENT_RANGE", use_current);
+
+ if (role != NULL)
+ xfree(role);
+
+ return rv;
+}
+
/* Set the execution context to the default for the specified user */
void
ssh_selinux_setup_exec_context(char *pwname)
@@ -325,6 +366,24 @@ ssh_selinux_setup_exec_context(char *pwn
if (!ssh_selinux_enabled())
return;
+ if (options.use_pam) {
+ /* do not compute context, just setup environment for pam_selinux */
+ if (ssh_selinux_setup_pam_variables()) {
+ switch (security_getenforce()) {
+ case -1:
+ fatal("%s: security_getenforce() failed", __func__);
+ case 0:
+ error("%s: SELinux PAM variable setup failure. Continuing in permissive mode.",
+ __func__);
+ break;
+ default:
+ fatal("%s: SELinux PAM variable setup failure. Aborting connection.",
+ __func__);
+ }
+ }
+ return;
+ }
+
debug3("%s: setting execution context", __func__);
r = ssh_selinux_getctxbyname(pwname, &default_ctx, &user_ctx);
openssh-5.4p1-pka.patch:
auth2-pubkey.c | 159 +++++++++++++++++++++++++++++++++++++++++++++++++++------
configure.ac | 13 ++++
servconf.c | 30 ++++++++++
servconf.h | 2
sshd_config | 2
sshd_config.0 | 14 ++++-
sshd_config.5 | 13 ++++
7 files changed, 216 insertions(+), 17 deletions(-)
--- NEW FILE openssh-5.4p1-pka.patch ---
diff -up openssh-5.4p1/auth2-pubkey.c.pka openssh-5.4p1/auth2-pubkey.c
--- openssh-5.4p1/auth2-pubkey.c.pka 2010-03-01 18:10:48.000000000 +0100
+++ openssh-5.4p1/auth2-pubkey.c 2010-03-01 18:10:50.000000000 +0100
@@ -186,27 +186,15 @@ done:
/* return 1 if user allows given key */
static int
-user_key_allowed2(struct passwd *pw, Key *key, char *file)
+user_search_key_in_file(FILE *f, char *file, Key* key, struct passwd *pw)
{
char line[SSH_MAX_PUBKEY_BYTES];
const char *reason;
int found_key = 0;
- FILE *f;
u_long linenum = 0;
Key *found;
char *fp;
- /* Temporarily use the user's uid. */
- temporarily_use_uid(pw);
-
- debug("trying public key file %s", file);
- f = auth_openkeyfile(file, pw, options.strict_modes);
-
- if (!f) {
- restore_uid();
- return 0;
- }
-
found_key = 0;
found = key_new(key_is_cert(key) ? KEY_UNSPEC : key->type);
@@ -277,21 +265,160 @@ user_key_allowed2(struct passwd *pw, Key
break;
}
}
- restore_uid();
- fclose(f);
key_free(found);
if (!found_key)
debug2("key not found");
return found_key;
}
-/* check whether given key is in .ssh/authorized_keys* */
+
+/* return 1 if user allows given key */
+static int
+user_key_allowed2(struct passwd *pw, Key *key, char *file)
+{
+ FILE *f;
+ int found_key = 0;
+
+ /* Temporarily use the user's uid. */
+ temporarily_use_uid(pw);
+
+ debug("trying public key file %s", file);
+ f = auth_openkeyfile(file, pw, options.strict_modes);
+
+ if (f) {
+ found_key = user_search_key_in_file (f, file, key, pw);
+ fclose(f);
+ }
+
+ restore_uid();
+ return found_key;
+}
+
+#ifdef WITH_PUBKEY_AGENT
+
+#define WHITESPACE " \t\r\n"
+
+/* return 1 if user allows given key */
+static int
+user_key_via_agent_allowed2(struct passwd *pw, Key *key)
+{
+ FILE *f;
+ int found_key = 0;
+ char *pubkey_agent_string = NULL;
+ char *tmp_pubkey_agent_string = NULL;
+ char *progname;
+ char *cp;
+ struct passwd *runas_pw;
+ struct stat st;
+
+ if (options.pubkey_agent == NULL || options.pubkey_agent[0] != '/')
+ return -1;
+
+ /* get the run as identity from config */
+ runas_pw = (options.pubkey_agent_runas == NULL)? pw
+ : getpwnam (options.pubkey_agent_runas);
+ if (!runas_pw) {
+ error("%s: getpwnam(\"%s\"): %s", __func__,
+ options.pubkey_agent_runas, strerror(errno));
+ return 0;
+ }
+
+ /* Temporarily use the specified uid. */
+ if (runas_pw->pw_uid != 0)
+ temporarily_use_uid(runas_pw);
+
+ pubkey_agent_string = percent_expand(options.pubkey_agent,
+ "h", pw->pw_dir, "u", pw->pw_name, (char *)NULL);
+
+ /* Test whether agent can be modified by non root user */
+ tmp_pubkey_agent_string = xstrdup (pubkey_agent_string);
+ progname = strtok (tmp_pubkey_agent_string, WHITESPACE);
+
+ debug3("%s: checking program '%s'", __func__, progname);
+
+ if (stat (progname, &st) < 0) {
+ error("%s: stat(\"%s\"): %s", __func__,
+ progname, strerror(errno));
+ goto go_away;
+ }
+
+ if (st.st_uid != 0 || (st.st_mode & 022) != 0) {
+ error("bad ownership or modes for pubkey agent \"%s\"",
+ progname);
+ goto go_away;
+ }
+
+ if (!S_ISREG(st.st_mode)) {
+ error("pubkey agent \"%s\" is not a regular file",
+ progname);
+ goto go_away;
+ }
+
+ /*
+ * Descend the path, checking that each component is a
+ * root-owned directory with strict permissions.
+ */
+ do {
+ if ((cp = strrchr(progname, '/')) == NULL)
+ break;
+ else
+ *cp = '\0';
+
+ debug3("%s: checking component '%s'", __func__, progname);
+
+ if (stat(progname, &st) != 0) {
+ error("%s: stat(\"%s\"): %s", __func__,
+ progname, strerror(errno));
+ goto go_away;
+ }
+ if (st.st_uid != 0 || (st.st_mode & 022) != 0) {
+ error("bad ownership or modes for pubkey agent path component \"%s\"",
+ progname);
+ goto go_away;
+ }
+ if (!S_ISDIR(st.st_mode)) {
+ error("pubkey agent path component \"%s\" is not a directory",
+ progname);
+ goto go_away;
+ }
+ } while (0);
+
+ /* open the pipe and read the keys */
+ f = popen (pubkey_agent_string, "r");
+ if (!f) {
+ error("%s: popen (\"%s\", \"r\"): %s", __func__,
+ pubkey_agent_string, strerror (errno));
+ goto go_away;
+ }
+
+ found_key = user_search_key_in_file (f, options.pubkey_agent, key, pw);
+ pclose (f);
+
+go_away:
+ if (tmp_pubkey_agent_string)
+ xfree (tmp_pubkey_agent_string);
+ if (pubkey_agent_string)
+ xfree (pubkey_agent_string);
+
+ if (runas_pw->pw_uid != 0)
+ restore_uid();
+ return found_key;
+}
+#endif
+
+/* check whether given key is in <pkey_agent or .ssh/authorized_keys* */
int
user_key_allowed(struct passwd *pw, Key *key)
{
int success;
char *file;
+#ifdef WITH_PUBKEY_AGENT
+ success = user_key_via_agent_allowed2(pw, key);
+ if (success >= 0)
+ return success;
+#endif
+
file = authorized_keys_file(pw);
success = user_key_allowed2(pw, key, file);
xfree(file);
diff -up openssh-5.4p1/configure.ac.pka openssh-5.4p1/configure.ac
--- openssh-5.4p1/configure.ac.pka 2010-03-01 18:10:47.000000000 +0100
+++ openssh-5.4p1/configure.ac 2010-03-01 18:10:50.000000000 +0100
@@ -1323,6 +1323,18 @@ AC_ARG_WITH(audit,
esac ]
)
+# Check whether user wants pubkey agent support
+PKA_MSG="no"
+AC_ARG_WITH(pka,
+ [ --with-pka Enable pubkey agent support],
+ [
+ if test "x$withval" != "xno" ; then
+ AC_DEFINE([WITH_PUBKEY_AGENT], 1, [Enable pubkey agent support])
+ PKA_MSG="yes"
+ fi
+ ]
+)
+
dnl Checks for library functions. Please keep in alphabetical order
AC_CHECK_FUNCS( \
arc4random \
@@ -4206,6 +4218,7 @@ echo " Linux audit support
echo " Smartcard support: $SCARD_MSG"
echo " S/KEY support: $SKEY_MSG"
echo " TCP Wrappers support: $TCPW_MSG"
+echo " PKA support: $PKA_MSG"
echo " MD5 password support: $MD5_MSG"
echo " libedit support: $LIBEDIT_MSG"
echo " Solaris process contract support: $SPC_MSG"
diff -up openssh-5.4p1/servconf.c.pka openssh-5.4p1/servconf.c
--- openssh-5.4p1/servconf.c.pka 2010-03-01 18:10:46.000000000 +0100
+++ openssh-5.4p1/servconf.c 2010-03-01 18:13:23.000000000 +0100
@@ -129,6 +129,8 @@ initialize_server_options(ServerOptions
options->num_permitted_opens = -1;
options->adm_forced_command = NULL;
options->chroot_directory = NULL;
+ options->pubkey_agent = NULL;
+ options->pubkey_agent_runas = NULL;
options->zero_knowledge_password_authentication = -1;
}
@@ -312,6 +314,7 @@ typedef enum {
sMatch, sPermitOpen, sForceCommand, sChrootDirectory,
sUsePrivilegeSeparation, sAllowAgentForwarding,
sZeroKnowledgePasswordAuthentication, sHostCertificate,
+ sPubkeyAgent, sPubkeyAgentRunAs,
sDeprecated, sUnsupported
} ServerOpCodes;
@@ -432,6 +435,13 @@ static struct {
{ "forcecommand", sForceCommand, SSHCFG_ALL },
{ "chrootdirectory", sChrootDirectory, SSHCFG_ALL },
{ "hostcertificate", sHostCertificate, SSHCFG_GLOBAL },
+#ifdef WITH_PUBKEY_AGENT
+ { "pubkeyagent", sPubkeyAgent, SSHCFG_ALL },
+ { "pubkeyagentrunas", sPubkeyAgentRunAs, SSHCFG_ALL },
+#else
+ { "pubkeyagent", sUnsupported, SSHCFG_ALL },
+ { "pubkeyagentrunas", sUnsupported, SSHCFG_ALL },
+#endif
{ NULL, sBadOption, 0 }
};
@@ -1332,6 +1342,20 @@ process_server_config_line(ServerOptions
*charptr = xstrdup(arg);
break;
+ case sPubkeyAgent:
+ len = strspn(cp, WHITESPACE);
+ if (*activep && options->pubkey_agent == NULL)
+ options->pubkey_agent = xstrdup(cp + len);
+ return 0;
+
+ case sPubkeyAgentRunAs:
+ charptr = &options->pubkey_agent_runas;
+
+ arg = strdelim(&cp);
+ if (*activep && *charptr == NULL)
+ *charptr = xstrdup(arg);
+ break;
+
case sDeprecated:
logit("%s line %d: Deprecated option %s",
filename, linenum, arg);
@@ -1425,6 +1449,8 @@ copy_set_server_options(ServerOptions *d
M_CP_INTOPT(gss_authentication);
M_CP_INTOPT(rsa_authentication);
M_CP_INTOPT(pubkey_authentication);
+ M_CP_STROPT(pubkey_agent);
+ M_CP_STROPT(pubkey_agent_runas);
M_CP_INTOPT(kerberos_authentication);
M_CP_INTOPT(hostbased_authentication);
M_CP_INTOPT(kbd_interactive_authentication);
@@ -1666,6 +1692,10 @@ dump_config(ServerOptions *o)
dump_cfg_string(sAuthorizedKeysFile2, o->authorized_keys_file2);
dump_cfg_string(sForceCommand, o->adm_forced_command);
dump_cfg_string(sChrootDirectory, o->chroot_directory);
+#ifdef WITH_PUBKEY_AGENT
+ dump_cfg_string(sPubkeyAgent, o->pubkey_agent);
+ dump_cfg_string(sPubkeyAgentRunAs, o->pubkey_agent_runas);
+#endif
/* string arguments requiring a lookup */
dump_cfg_string(sLogLevel, log_level_name(o->log_level));
diff -up openssh-5.4p1/servconf.h.pka openssh-5.4p1/servconf.h
--- openssh-5.4p1/servconf.h.pka 2010-03-01 18:10:46.000000000 +0100
+++ openssh-5.4p1/servconf.h 2010-03-01 18:10:50.000000000 +0100
@@ -155,6 +155,8 @@ typedef struct {
int num_permitted_opens;
char *chroot_directory;
+ char *pubkey_agent;
+ char *pubkey_agent_runas;
} ServerOptions;
void initialize_server_options(ServerOptions *);
diff -up openssh-5.4p1/sshd_config.0.pka openssh-5.4p1/sshd_config.0
--- openssh-5.4p1/sshd_config.0.pka 2010-03-01 18:10:46.000000000 +0100
+++ openssh-5.4p1/sshd_config.0 2010-03-01 18:10:50.000000000 +0100
@@ -352,7 +352,8 @@ DESCRIPTION
KbdInteractiveAuthentication, KerberosAuthentication,
MaxAuthTries, MaxSessions, PasswordAuthentication,
PermitEmptyPasswords, PermitOpen, PermitRootLogin,
- PubkeyAuthentication, RhostsRSAAuthentication, RSAAuthentication,
+ PubkeyAuthentication, PubkeyAgent, PubkeyAgentRunAs,
+ RhostsRSAAuthentication, RSAAuthentication,
X11DisplayOffset, X11Forwarding and X11UseLocalHost.
MaxAuthTries
@@ -461,6 +462,17 @@ DESCRIPTION
fault is ``yes''. Note that this option applies to protocol ver-
sion 2 only.
+ PubkeyAgent
+ Specifies which agent is used for lookup of the user's public
+ keys. Empty string means to use the authorized_keys file. By
+ default there is no PubkeyAgent set. Note that this option has
+ an effect only with PubkeyAuthentication switched on.
+
+ PubkeyAgentRunAs
+ Specifies the user under whose account the PubkeyAgent is run.
+ Empty string (the default value) means the user being authorized
+ is used.
+
RhostsRSAAuthentication
Specifies whether rhosts or /etc/hosts.equiv authentication to-
gether with successful RSA host authentication is allowed. The
diff -up openssh-5.4p1/sshd_config.5.pka openssh-5.4p1/sshd_config.5
--- openssh-5.4p1/sshd_config.5.pka 2010-03-01 18:10:46.000000000 +0100
+++ openssh-5.4p1/sshd_config.5 2010-03-01 18:10:50.000000000 +0100
@@ -618,6 +618,9 @@ Available keywords are
.Cm KerberosAuthentication ,
.Cm MaxAuthTries ,
.Cm MaxSessions ,
+.Cm PubkeyAuthentication ,
+.Cm PubkeyAgent ,
+.Cm PubkeyAgentRunAs ,
.Cm PasswordAuthentication ,
.Cm PermitEmptyPasswords ,
.Cm PermitOpen ,
@@ -814,6 +817,16 @@ Specifies whether public key authenticat
The default is
.Dq yes .
Note that this option applies to protocol version 2 only.
+.It Cm PubkeyAgent
+Specifies which agent is used for lookup of the user's public
+keys. Empty string means to use the authorized_keys file.
+By default there is no PubkeyAgent set.
+Note that this option has an effect only with PubkeyAuthentication
+switched on.
+.It Cm PubkeyAgentRunAs
+Specifies the user under whose account the PubkeyAgent is run. Empty
+string (the default value) means the user being authorized is used.
+.Dq
.It Cm RhostsRSAAuthentication
Specifies whether rhosts or /etc/hosts.equiv authentication together
with successful RSA host authentication is allowed.
diff -up openssh-5.4p1/sshd_config.pka openssh-5.4p1/sshd_config
--- openssh-5.4p1/sshd_config.pka 2010-03-01 18:10:46.000000000 +0100
+++ openssh-5.4p1/sshd_config 2010-03-01 18:10:50.000000000 +0100
@@ -45,6 +45,8 @@ SyslogFacility AUTHPRIV
#RSAAuthentication yes
#PubkeyAuthentication yes
#AuthorizedKeysFile .ssh/authorized_keys
+#PubkeyAgent none
+#PubkeyAgentRunAs nobody
# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
#RhostsRSAAuthentication no
openssh-5.4p1-redhat.patch:
ssh_config | 11 +++++++++++
sshd_config | 13 +++++++++++++
sshd_config.0 | 6 +++---
sshd_config.5 | 2 +-
4 files changed, 28 insertions(+), 4 deletions(-)
--- NEW FILE openssh-5.4p1-redhat.patch ---
diff -up openssh-5.4p1/ssh_config.redhat openssh-5.4p1/ssh_config
--- openssh-5.4p1/ssh_config.redhat 2010-01-12 09:40:27.000000000 +0100
+++ openssh-5.4p1/ssh_config 2010-03-01 15:15:51.000000000 +0100
@@ -45,3 +45,14 @@
# PermitLocalCommand no
# VisualHostKey no
# ProxyCommand ssh -q -W %h:%p gateway.example.com
+Host *
+ GSSAPIAuthentication yes
+# If this option is set to yes then remote X11 clients will have full access
+# to the original X11 display. As virtually no X11 client supports the untrusted
+# mode correctly we set this to yes.
+ ForwardX11Trusted yes
+# Send locale-related environment variables
+ SendEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
+ SendEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
+ SendEnv LC_IDENTIFICATION LC_ALL LANGUAGE
+ SendEnv XMODIFIERS
diff -up openssh-5.4p1/sshd_config.0.redhat openssh-5.4p1/sshd_config.0
--- openssh-5.4p1/sshd_config.0.redhat 2010-03-01 14:30:04.000000000 +0100
+++ openssh-5.4p1/sshd_config.0 2010-03-01 15:14:13.000000000 +0100
@@ -501,9 +501,9 @@ DESCRIPTION
SyslogFacility
Gives the facility code that is used when logging messages from
- sshd(8). The possible values are: DAEMON, USER, AUTH, LOCAL0,
- LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7. The de-
- fault is AUTH.
+ sshd(8). The possible values are: DAEMON, USER, AUTH, AUTHPRIV,
+ LOCAL0, LOCAL1, LOCAL2, LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
+ The default is AUTH.
TCPKeepAlive
Specifies whether the system should send TCP keepalive messages
diff -up openssh-5.4p1/sshd_config.5.redhat openssh-5.4p1/sshd_config.5
--- openssh-5.4p1/sshd_config.5.redhat 2010-02-26 21:55:06.000000000 +0100
+++ openssh-5.4p1/sshd_config.5 2010-03-01 15:14:14.000000000 +0100
@@ -865,7 +865,7 @@ Note that this option applies to protoco
.It Cm SyslogFacility
Gives the facility code that is used when logging messages from
.Xr sshd 8 .
-The possible values are: DAEMON, USER, AUTH, LOCAL0, LOCAL1, LOCAL2,
+The possible values are: DAEMON, USER, AUTH, AUTHPRIV, LOCAL0, LOCAL1, LOCAL2,
LOCAL3, LOCAL4, LOCAL5, LOCAL6, LOCAL7.
The default is AUTH.
.It Cm TCPKeepAlive
diff -up openssh-5.4p1/sshd_config.redhat openssh-5.4p1/sshd_config
--- openssh-5.4p1/sshd_config.redhat 2009-10-11 12:51:09.000000000 +0200
+++ openssh-5.4p1/sshd_config 2010-03-01 15:14:14.000000000 +0100
@@ -31,6 +31,7 @@
# Logging
# obsoletes QuietMode and FascistLogging
#SyslogFacility AUTH
+SyslogFacility AUTHPRIV
#LogLevel INFO
# Authentication:
@@ -58,9 +59,11 @@
# To disable tunneled clear text passwords, change to no here!
#PasswordAuthentication yes
#PermitEmptyPasswords no
+PasswordAuthentication yes
# Change to no to disable s/key passwords
#ChallengeResponseAuthentication yes
+ChallengeResponseAuthentication no
# Kerberos options
#KerberosAuthentication no
@@ -70,7 +73,9 @@
# GSSAPI options
#GSSAPIAuthentication no
+GSSAPIAuthentication yes
#GSSAPICleanupCredentials yes
+GSSAPICleanupCredentials yes
# Set this to 'yes' to enable PAM authentication, account processing,
# and session processing. If this is enabled, PAM authentication will
@@ -82,11 +87,19 @@
# PAM authentication, then enable this but set PasswordAuthentication
# and ChallengeResponseAuthentication to 'no'.
#UsePAM no
+UsePAM yes
+
+# Accept locale-related environment variables
+AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
+AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
+AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
+AcceptEnv XMODIFIERS
#AllowAgentForwarding yes
#AllowTcpForwarding yes
#GatewayPorts no
#X11Forwarding no
+X11Forwarding yes
#X11DisplayOffset 10
#X11UseLocalhost yes
#PrintMotd yes
openssh-5.4p1-selinux.patch:
auth.h | 3 +++
auth1.c | 17 +++++++++++++++++
auth2-gss.c | 11 ++++++++++-
auth2-hostbased.c | 10 +++++++++-
auth2-pubkey.c | 10 +++++++++-
auth2.c | 17 ++++++++++++++++-
configure.ac | 1 +
monitor.c | 36 ++++++++++++++++++++++++++++++++++--
monitor.h | 3 +++
monitor_wrap.c | 19 +++++++++++++++++++
monitor_wrap.h | 3 +++
openbsd-compat/port-linux.c | 32 +++++++++++++++++++++++++-------
12 files changed, 149 insertions(+), 13 deletions(-)
--- NEW FILE openssh-5.4p1-selinux.patch ---
diff -up openssh-5.4p1/auth1.c.selinux openssh-5.4p1/auth1.c
--- openssh-5.4p1/auth1.c.selinux 2010-03-01 15:19:56.000000000 +0100
+++ openssh-5.4p1/auth1.c 2010-03-01 15:19:57.000000000 +0100
@@ -384,6 +384,9 @@ do_authentication(Authctxt *authctxt)
{
u_int ulen;
char *user, *style = NULL;
+#ifdef WITH_SELINUX
+ char *role=NULL;
+#endif
/* Get the name of the user that we wish to log in as. */
packet_read_expect(SSH_CMSG_USER);
@@ -392,11 +395,25 @@ do_authentication(Authctxt *authctxt)
user = packet_get_string(&ulen);
packet_check_eom();
+#ifdef WITH_SELINUX
+ if ((role = strchr(user, '/')) != NULL)
+ *role++ = '\0';
+#endif
+
if ((style = strchr(user, ':')) != NULL)
*style++ = '\0';
+#ifdef WITH_SELINUX
+ else
+ if (role && (style = strchr(role, ':')) != NULL)
+ *style++ = '\0';
+#endif
+
authctxt->user = user;
authctxt->style = style;
+#ifdef WITH_SELINUX
+ authctxt->role = role;
+#endif
/* Verify that the user is a valid user. */
if ((authctxt->pw = PRIVSEP(getpwnamallow(user))) != NULL)
diff -up openssh-5.4p1/auth2.c.selinux openssh-5.4p1/auth2.c
--- openssh-5.4p1/auth2.c.selinux 2009-06-22 08:11:07.000000000 +0200
+++ openssh-5.4p1/auth2.c 2010-03-01 15:19:57.000000000 +0100
@@ -216,6 +216,9 @@ input_userauth_request(int type, u_int32
Authctxt *authctxt = ctxt;
Authmethod *m = NULL;
char *user, *service, *method, *style = NULL;
+#ifdef WITH_SELINUX
+ char *role = NULL;
+#endif
int authenticated = 0;
if (authctxt == NULL)
@@ -227,6 +230,11 @@ input_userauth_request(int type, u_int32
debug("userauth-request for user %s service %s method %s", user, service, method);
debug("attempt %d failures %d", authctxt->attempt, authctxt->failures);
+#ifdef WITH_SELINUX
+ if ((role = strchr(user, '/')) != NULL)
+ *role++ = 0;
+#endif
+
if ((style = strchr(user, ':')) != NULL)
*style++ = 0;
@@ -252,8 +260,15 @@ input_userauth_request(int type, u_int32
use_privsep ? " [net]" : "");
authctxt->service = xstrdup(service);
authctxt->style = style ? xstrdup(style) : NULL;
- if (use_privsep)
+#ifdef WITH_SELINUX
+ authctxt->role = role ? xstrdup(role) : NULL;
+#endif
+ if (use_privsep) {
mm_inform_authserv(service, style);
+#ifdef WITH_SELINUX
+ mm_inform_authrole(role);
+#endif
+ }
userauth_banner();
} else if (strcmp(user, authctxt->user) != 0 ||
strcmp(service, authctxt->service) != 0) {
diff -up openssh-5.4p1/auth2-gss.c.selinux openssh-5.4p1/auth2-gss.c
--- openssh-5.4p1/auth2-gss.c.selinux 2007-12-02 12:59:45.000000000 +0100
+++ openssh-5.4p1/auth2-gss.c 2010-03-01 15:19:57.000000000 +0100
@@ -258,6 +258,7 @@ input_gssapi_mic(int type, u_int32_t ple
Authctxt *authctxt = ctxt;
Gssctxt *gssctxt;
int authenticated = 0;
+ char *micuser;
Buffer b;
gss_buffer_desc mic, gssbuf;
u_int len;
@@ -270,7 +271,13 @@ input_gssapi_mic(int type, u_int32_t ple
mic.value = packet_get_string(&len);
mic.length = len;
- ssh_gssapi_buildmic(&b, authctxt->user, authctxt->service,
+#ifdef WITH_SELINUX
+ if (authctxt->role && (strlen(authctxt->role) > 0))
+ xasprintf(&micuser, "%s/%s", authctxt->user, authctxt->role);
+ else
+#endif
+ micuser = authctxt->user;
+ ssh_gssapi_buildmic(&b, micuser, authctxt->service,
"gssapi-with-mic");
gssbuf.value = buffer_ptr(&b);
@@ -282,6 +289,8 @@ input_gssapi_mic(int type, u_int32_t ple
logit("GSSAPI MIC check failed");
buffer_free(&b);
+ if (micuser != authctxt->user)
+ xfree(micuser);
xfree(mic.value);
authctxt->postponed = 0;
diff -up openssh-5.4p1/auth2-hostbased.c.selinux openssh-5.4p1/auth2-hostbased.c
--- openssh-5.4p1/auth2-hostbased.c.selinux 2008-07-17 10:57:19.000000000 +0200
+++ openssh-5.4p1/auth2-hostbased.c 2010-03-01 15:19:57.000000000 +0100
@@ -106,7 +106,15 @@ userauth_hostbased(Authctxt *authctxt)
buffer_put_string(&b, session_id2, session_id2_len);
/* reconstruct packet */
buffer_put_char(&b, SSH2_MSG_USERAUTH_REQUEST);
- buffer_put_cstring(&b, authctxt->user);
+#ifdef WITH_SELINUX
+ if (authctxt->role) {
+ buffer_put_int(&b, strlen(authctxt->user)+strlen(authctxt->role)+1);
+ buffer_append(&b, authctxt->user, strlen(authctxt->user));
+ buffer_put_char(&b, '/');
+ buffer_append(&b, authctxt->role, strlen(authctxt->role));
+ } else
+#endif
+ buffer_put_cstring(&b, authctxt->user);
buffer_put_cstring(&b, service);
buffer_put_cstring(&b, "hostbased");
buffer_put_string(&b, pkalg, alen);
diff -up openssh-5.4p1/auth2-pubkey.c.selinux openssh-5.4p1/auth2-pubkey.c
--- openssh-5.4p1/auth2-pubkey.c.selinux 2010-02-26 21:55:05.000000000 +0100
+++ openssh-5.4p1/auth2-pubkey.c 2010-03-01 15:19:57.000000000 +0100
@@ -119,7 +119,15 @@ userauth_pubkey(Authctxt *authctxt)
}
/* reconstruct packet */
buffer_put_char(&b, SSH2_MSG_USERAUTH_REQUEST);
- buffer_put_cstring(&b, authctxt->user);
+#ifdef WITH_SELINUX
+ if (authctxt->role) {
+ buffer_put_int(&b, strlen(authctxt->user)+strlen(authctxt->role)+1);
+ buffer_append(&b, authctxt->user, strlen(authctxt->user));
+ buffer_put_char(&b, '/');
+ buffer_append(&b, authctxt->role, strlen(authctxt->role));
+ } else
+#endif
+ buffer_put_cstring(&b, authctxt->user);
buffer_put_cstring(&b,
datafellows & SSH_BUG_PKSERVICE ?
"ssh-userauth" :
diff -up openssh-5.4p1/auth.h.selinux openssh-5.4p1/auth.h
--- openssh-5.4p1/auth.h.selinux 2010-02-26 21:55:05.000000000 +0100
+++ openssh-5.4p1/auth.h 2010-03-01 15:19:57.000000000 +0100
@@ -58,6 +58,9 @@ struct Authctxt {
char *service;
struct passwd *pw; /* set if 'valid' */
char *style;
+#ifdef WITH_SELINUX
+ char *role;
+#endif
void *kbdintctxt;
void *jpake_ctx;
#ifdef BSD_AUTH
diff -up openssh-5.4p1/configure.ac.selinux openssh-5.4p1/configure.ac
--- openssh-5.4p1/configure.ac.selinux 2010-03-01 15:19:57.000000000 +0100
+++ openssh-5.4p1/configure.ac 2010-03-01 15:21:12.000000000 +0100
@@ -3358,6 +3358,7 @@ AC_ARG_WITH(selinux,
],
AC_MSG_ERROR(SELinux support requires libselinux library))
SSHDLIBS="$SSHDLIBS $LIBSELINUX"
+ LIBS="$LIBS $LIBSELINUX"
AC_CHECK_FUNCS(getseuserbyname get_default_context_with_level)
LIBS="$save_LIBS"
fi ]
diff -up openssh-5.4p1/monitor.c.selinux openssh-5.4p1/monitor.c
--- openssh-5.4p1/monitor.c.selinux 2010-02-26 21:55:05.000000000 +0100
+++ openssh-5.4p1/monitor.c 2010-03-01 15:19:57.000000000 +0100
@@ -137,6 +137,9 @@ int mm_answer_sign(int, Buffer *);
int mm_answer_pwnamallow(int, Buffer *);
int mm_answer_auth2_read_banner(int, Buffer *);
int mm_answer_authserv(int, Buffer *);
+#ifdef WITH_SELINUX
+int mm_answer_authrole(int, Buffer *);
+#endif
int mm_answer_authpassword(int, Buffer *);
int mm_answer_bsdauthquery(int, Buffer *);
int mm_answer_bsdauthrespond(int, Buffer *);
@@ -213,6 +216,9 @@ struct mon_table mon_dispatch_proto20[]
{MONITOR_REQ_SIGN, MON_ONCE, mm_answer_sign},
{MONITOR_REQ_PWNAM, MON_ONCE, mm_answer_pwnamallow},
{MONITOR_REQ_AUTHSERV, MON_ONCE, mm_answer_authserv},
+#ifdef WITH_SELINUX
+ {MONITOR_REQ_AUTHROLE, MON_ONCE, mm_answer_authrole},
+#endif
{MONITOR_REQ_AUTH2_READ_BANNER, MON_ONCE, mm_answer_auth2_read_banner},
{MONITOR_REQ_AUTHPASSWORD, MON_AUTH, mm_answer_authpassword},
#ifdef USE_PAM
@@ -682,6 +688,9 @@ mm_answer_pwnamallow(int sock, Buffer *m
else {
/* Allow service/style information on the auth context */
monitor_permit(mon_dispatch, MONITOR_REQ_AUTHSERV, 1);
+#ifdef WITH_SELINUX
+ monitor_permit(mon_dispatch, MONITOR_REQ_AUTHROLE, 1);
+#endif
monitor_permit(mon_dispatch, MONITOR_REQ_AUTH2_READ_BANNER, 1);
}
@@ -726,6 +735,25 @@ mm_answer_authserv(int sock, Buffer *m)
return (0);
}
+#ifdef WITH_SELINUX
+int
+mm_answer_authrole(int sock, Buffer *m)
+{
+ monitor_permit_authentications(1);
+
+ authctxt->role = buffer_get_string(m, NULL);
+ debug3("%s: role=%s",
+ __func__, authctxt->role);
+
+ if (strlen(authctxt->role) == 0) {
+ xfree(authctxt->role);
+ authctxt->role = NULL;
+ }
+
+ return (0);
+}
+#endif
+
int
mm_answer_authpassword(int sock, Buffer *m)
{
@@ -1104,7 +1132,7 @@ static int
monitor_valid_userblob(u_char *data, u_int datalen)
{
Buffer b;
- char *p;
+ char *p, *r;
u_int len;
int fail = 0;
@@ -1130,6 +1158,8 @@ monitor_valid_userblob(u_char *data, u_i
if (buffer_get_char(&b) != SSH2_MSG_USERAUTH_REQUEST)
fail++;
p = buffer_get_string(&b, NULL);
+ if ((r = strchr(p, '/')) != NULL)
+ *r = '\0';
if (strcmp(authctxt->user, p) != 0) {
logit("wrong user name passed to monitor: expected %s != %.100s",
authctxt->user, p);
@@ -1161,7 +1191,7 @@ monitor_valid_hostbasedblob(u_char *data
char *chost)
{
Buffer b;
- char *p;
+ char *p, *r;
u_int len;
int fail = 0;
@@ -1178,6 +1208,8 @@ monitor_valid_hostbasedblob(u_char *data
if (buffer_get_char(&b) != SSH2_MSG_USERAUTH_REQUEST)
fail++;
p = buffer_get_string(&b, NULL);
+ if ((r = strchr(p, '/')) != NULL)
+ *r = '\0';
if (strcmp(authctxt->user, p) != 0) {
logit("wrong user name passed to monitor: expected %s != %.100s",
authctxt->user, p);
diff -up openssh-5.4p1/monitor.h.selinux openssh-5.4p1/monitor.h
--- openssh-5.4p1/monitor.h.selinux 2008-11-05 06:20:46.000000000 +0100
+++ openssh-5.4p1/monitor.h 2010-03-01 15:19:57.000000000 +0100
@@ -31,6 +31,9 @@
enum monitor_reqtype {
MONITOR_REQ_MODULI, MONITOR_ANS_MODULI,
MONITOR_REQ_FREE, MONITOR_REQ_AUTHSERV,
+#ifdef WITH_SELINUX
+ MONITOR_REQ_AUTHROLE,
+#endif
MONITOR_REQ_SIGN, MONITOR_ANS_SIGN,
MONITOR_REQ_PWNAM, MONITOR_ANS_PWNAM,
MONITOR_REQ_AUTH2_READ_BANNER, MONITOR_ANS_AUTH2_READ_BANNER,
diff -up openssh-5.4p1/monitor_wrap.c.selinux openssh-5.4p1/monitor_wrap.c
--- openssh-5.4p1/monitor_wrap.c.selinux 2009-06-22 08:11:07.000000000 +0200
+++ openssh-5.4p1/monitor_wrap.c 2010-03-01 15:19:57.000000000 +0100
@@ -297,6 +297,25 @@ mm_inform_authserv(char *service, char *
buffer_free(&m);
}
+/* Inform the privileged process about role */
+
+#ifdef WITH_SELINUX
+void
+mm_inform_authrole(char *role)
+{
+ Buffer m;
+
+ debug3("%s entering", __func__);
+
+ buffer_init(&m);
+ buffer_put_cstring(&m, role ? role : "");
+
+ mm_request_send(pmonitor->m_recvfd, MONITOR_REQ_AUTHROLE, &m);
+
+ buffer_free(&m);
+}
+#endif
+
/* Do the password authentication */
int
mm_auth_password(Authctxt *authctxt, char *password)
diff -up openssh-5.4p1/monitor_wrap.h.selinux openssh-5.4p1/monitor_wrap.h
--- openssh-5.4p1/monitor_wrap.h.selinux 2009-03-05 14:58:22.000000000 +0100
+++ openssh-5.4p1/monitor_wrap.h 2010-03-01 15:19:57.000000000 +0100
@@ -41,6 +41,9 @@ int mm_is_monitor(void);
DH *mm_choose_dh(int, int, int);
int mm_key_sign(Key *, u_char **, u_int *, u_char *, u_int);
void mm_inform_authserv(char *, char *);
+#ifdef WITH_SELINUX
+void mm_inform_authrole(char *);
+#endif
struct passwd *mm_getpwnamallow(const char *);
char *mm_auth2_read_banner(void);
int mm_auth_password(struct Authctxt *, char *);
diff -up openssh-5.4p1/openbsd-compat/port-linux.c.selinux openssh-5.4p1/openbsd-compat/port-linux.c
--- openssh-5.4p1/openbsd-compat/port-linux.c.selinux 2010-03-01 05:52:50.000000000 +0100
+++ openssh-5.4p1/openbsd-compat/port-linux.c 2010-03-01 15:22:19.000000000 +0100
@@ -32,12 +32,17 @@
#include "log.h"
#include "xmalloc.h"
#include "port-linux.h"
+#include "key.h"
+#include "hostfile.h"
+#include "auth.h"
#ifdef WITH_SELINUX
#include <selinux/selinux.h>
#include <selinux/flask.h>
#include <selinux/get_context_list.h>
+extern Authctxt *the_authctxt;
+
/* Wrapper around is_selinux_enabled() to log its return value once only */
int
ssh_selinux_enabled(void)
@@ -56,23 +61,36 @@ ssh_selinux_enabled(void)
static security_context_t
ssh_selinux_getctxbyname(char *pwname)
{
- security_context_t sc;
- char *sename = NULL, *lvl = NULL;
- int r;
+ security_context_t sc = NULL;
+ char *sename, *lvl;
+ char *role = NULL;
+ int r = 0;
+ if (the_authctxt)
+ role=the_authctxt->role;
#ifdef HAVE_GETSEUSERBYNAME
- if (getseuserbyname(pwname, &sename, &lvl) != 0)
- return NULL;
+ if ((r=getseuserbyname(pwname, &sename, &lvl)) != 0) {
+ sename = NULL;
+ lvl = NULL;
+ }
#else
sename = pwname;
lvl = NULL;
#endif
+ if (r == 0) {
#ifdef HAVE_GET_DEFAULT_CONTEXT_WITH_LEVEL
- r = get_default_context_with_level(sename, lvl, NULL, &sc);
+ if (role != NULL && role[0])
+ r = get_default_context_with_rolelevel(sename, role, lvl, NULL, &sc);
+ else
+ r = get_default_context_with_level(sename, lvl, NULL, &sc);
#else
- r = get_default_context(sename, NULL, &sc);
+ if (role != NULL && role[0])
+ r = get_default_context_with_role(sename, role, NULL, &sc);
+ else
+ r = get_default_context(sename, NULL, &sc);
#endif
+ }
if (r != 0) {
switch (security_getenforce()) {
Index: openssh.spec
===================================================================
RCS file: /cvs/pkgs/rpms/openssh/devel/openssh.spec,v
retrieving revision 1.193
retrieving revision 1.194
diff -u -p -r1.193 -r1.194
--- openssh.spec 15 Feb 2010 12:20:04 -0000 1.193
+++ openssh.spec 3 Mar 2010 09:01:20 -0000 1.194
@@ -27,7 +27,8 @@
%define libedit 1
# Do we want NSS tokens support
-%define nss 1
+#NSS support is broken from 5.4p1
+%define nss 0
# Whether or not /sbin/nologin exists.
%define nologin 1
@@ -68,10 +69,10 @@
Summary: An open source implementation of SSH protocol versions 1 and 2
Name: openssh
-Version: 5.3p1
+Version: 5.4p1
# Do not rewind release to 1 on version upgrades unless the pam_ssh_agent_auth
# is updated as well.
-Release: 22%{?dist}%{?rescue_rel}
+Release: 0.snap20100302.1%{?dist}%{?rescue_rel}
URL: http://www.openssh.com/portable.html
#URL1: http://pamsshagentauth.sourceforge.net
#Source0: ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-%{version}.tar.gz
@@ -79,39 +80,37 @@ URL: http://www.openssh.com/portable.htm
# This package differs from the upstream OpenSSH tarball in that
# the ACSS cipher is removed by running openssh-nukeacss.sh in
# the unpacked source directory.
-Source0: openssh-%{version}-noacss.tar.bz2
+Source0: openssh-%{version}-snap20100302-noacss.tar.bz2
Source1: openssh-nukeacss.sh
Source2: sshd.pam
Source3: sshd.init
Source4: http://prdownloads.sourceforge.net/pamsshagentauth/pam_ssh_agent_auth/pam_ssh_agent_auth-%{pam_ssh_agent_ver}.tar.bz2
Source5: pam_ssh_agent-rmheaders
-Patch0: openssh-5.2p1-redhat.patch
+Patch0: openssh-5.4p1-redhat.patch
Patch2: openssh-5.3p1-skip-initial.patch
Patch4: openssh-5.2p1-vendor.patch
-Patch5: openssh-5.2p1-engine.patch
Patch10: pam_ssh_agent_auth-0.9-build.patch
-Patch12: openssh-5.2p1-selinux.patch
-Patch13: openssh-5.3p1-mls.patch
+Patch12: openssh-5.4p1-selinux.patch
+Patch13: openssh-5.4p1-mls.patch
Patch16: openssh-5.3p1-audit.patch
-Patch18: openssh-5.0p1-pam_selinux.patch
-Patch19: openssh-5.2p1-sesftp.patch
-Patch22: openssh-3.9p1-askpass-keep-above.patch
+Patch18: openssh-5.4p1-pam_selinux.patch
Patch24: openssh-4.3p1-fromto-remote.patch
Patch27: openssh-5.1p1-log-in-chroot.patch
Patch30: openssh-4.0p1-exit-deadlock.patch
Patch35: openssh-5.1p1-askpass-progress.patch
Patch38: openssh-4.3p2-askpass-grab-info.patch
+#??? - 201594
Patch39: openssh-4.3p2-no-v6only.patch
Patch44: openssh-5.2p1-allow-ip-opts.patch
Patch49: openssh-4.3p2-gssapi-canohost.patch
-Patch51: openssh-5.3p1-nss-keys.patch
-Patch55: openssh-5.1p1-cloexec.patch
+#???
+Patch51: openssh-5.4p1-nss-keys.patch
Patch62: openssh-5.1p1-scp-manpage.patch
-Patch65: openssh-5.3p1-fips.patch
+Patch65: openssh-5.4p1-fips.patch
Patch69: openssh-5.3p1-selabel.patch
Patch71: openssh-5.2p1-edns.patch
-Patch72: openssh-5.3p1-pka.patch
-Patch73: openssh-5.3p1-gsskex.patch
+Patch72: openssh-5.4p1-pka.patch
+Patch73: openssh-5.4p1-gsskex.patch
Patch74: openssh-5.3p1-randclean.patch
Patch75: openssh-5.3p1-dso.patch
@@ -189,6 +188,7 @@ Provides: openssh-askpass-gnome
Summary: PAM module for authentication with ssh-agent
Group: System Environment/Base
Version: %{pam_ssh_agent_ver}
+Release: 23%{?dist}%{?rescue_rel}
License: BSD
%description
@@ -234,7 +234,6 @@ The module is most useful for su and sud
%patch0 -p1 -b .redhat
%patch2 -p1 -b .skip-initial
%patch4 -p1 -b .vendor
-%patch5 -p1 -b .engine
%if %{pam_ssh_agent}
pushd pam_ssh_agent_auth-%{pam_ssh_agent_ver}
@@ -250,20 +249,17 @@ popd
%patch13 -p1 -b .mls
%patch16 -p1 -b .audit
%patch18 -p1 -b .pam_selinux
-%patch19 -p1 -b .sesftp
%endif
-%patch22 -p1 -b .keep-above
%patch24 -p1 -b .fromto-remote
%patch27 -p1 -b .log-chroot
%patch30 -p1 -b .exit-deadlock
%patch35 -p1 -b .progress
%patch38 -p1 -b .grab-info
-%patch39 -p1 -b .no-v6only
+#???%patch39 -p1 -b .no-v6only
%patch44 -p1 -b .ip-opts
%patch49 -p1 -b .canohost
-%patch51 -p1 -b .nss-keys
-%patch55 -p1 -b .cloexec
+#???%patch51 -p1 -b .nss-keys
%patch62 -p1 -b .manpage
%patch65 -p1 -b .fips
%patch69 -p1 -b .selabel
@@ -316,6 +312,7 @@ fi
--disable-strip \
--without-zlib-version-check \
--with-ssl-engine \
+ --with-pka \
%if %{nss}
--with-nss \
%endif
@@ -489,11 +486,13 @@ fi
%attr(0755,root,root) %{_bindir}/ssh-keyscan
%attr(0755,root,root) %{_bindir}/sftp
%attr(0755,root,root) %{_bindir}/ssh-copy-id
+%attr(0755,root,root) %{_libexecdir}/openssh/ssh-pkcs11-helper
%attr(0644,root,root) %{_mandir}/man1/ssh-agent.1*
%attr(0644,root,root) %{_mandir}/man1/ssh-add.1*
%attr(0644,root,root) %{_mandir}/man1/ssh-keyscan.1*
%attr(0644,root,root) %{_mandir}/man1/sftp.1*
%attr(0644,root,root) %{_mandir}/man1/ssh-copy-id.1*
+%attr(0644,root,root) %{_mandir}/man8/ssh-pkcs11-helper.8*
%endif
%if ! %{rescue}
@@ -529,6 +528,9 @@ fi
%endif
%changelog
+* Wed Mar 3 2010 Jan F. Chadima <jchadima at redhat.com> - 5.4p1-0.snap20100302.1
+- Prepare update to 5.4p1
+
* Mon Feb 15 2010 Jan F. Chadima <jchadima at redhat.com> - 5.3p1-22
- ImplicitDSOLinking (#564824)
--- openssh-3.9p1-askpass-keep-above.patch DELETED ---
--- openssh-5.0p1-pam_selinux.patch DELETED ---
--- openssh-5.2p1-engine.patch DELETED ---
--- openssh-5.2p1-redhat.patch DELETED ---
--- openssh-5.2p1-selinux.patch DELETED ---
--- openssh-5.2p1-sesftp.patch DELETED ---
--- openssh-5.3p1-fips.patch DELETED ---
--- openssh-5.3p1-gsskex.patch DELETED ---
--- openssh-5.3p1-mls.patch DELETED ---
--- openssh-5.3p1-nss-keys.patch DELETED ---
--- openssh-5.3p1-pka.patch DELETED ---
- Previous message: rpms/gnome-commander/F-12 gnome-commander-1.2.8.5-makefile-relpath.patch, NONE, 1.1 .cvsignore, 1.41, 1.42 gnome-commander.spec, 1.68, 1.69 sources, 1.42, 1.43
- Next message: rpms/wsmancli/devel .cvsignore, 1.2, 1.3 sources, 1.3, 1.4 wsmancli.spec, 1.5, 1.6
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the scm-commits
mailing list