libpmem1-1.9-3.3.1 >  A aw#+p9|֟mxߴW7AļLyIe sO %yWU?ozT渡¬ZRFD6pekِO/t8ktD CK^YTR.qSX7(ueԼPߴKg)zXwKhRE+%T(HÅM $5O2Yh(I@0e$*ʗN$}2GQ>N>pCD?Cd   A+ ARgmt|     pe(89:X>@@@F@G@H@I@X@Y@\A]A^A:bAFcAdBneBsfBvlBxuBvBwC$xC,yC4zCCCCCCCCClibpmem11.93.3.1Low-level persistent memory support librarylibpmem provides low level persistent memory support, in particular, support for the persistent memory instructions for flushing changes to pmem.aw"sheep93M8SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/System/Librarieshttp://pmem.io/pmdk/linuxx86_64M8aw"aw"49b35ccdf2761c3a577ef99702e3ce906fab6f3c600c262e031e42342fd55ba0libpmem.so.1.0.0rootrootrootrootpmdk-1.9-3.3.1.src.rpmlibpmem.so.1()(64bit)libpmem.so.1(LIBPMEM_1.0)(64bit)libpmem1libpmem1(x86-64)@@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libdaxctl.so.1()(64bit)libdaxctl.so.1(LIBDAXCTL_2)(64bit)libndctl.so.6()(64bit)libndctl.so.6(LIBNDCTL_1)(64bit)libndctl.so.6(LIBNDCTL_3)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)libpthread.so.0(GLIBC_2.3.4)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3ama_*@^E:@]n\@\\@\O[@[@[s[Zc/@ZB9ZB9YYm@YTXDX~@X~@XCW~D@WoWKVV$@Uchristian.voegl@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.commliska@suse.czjengelh@inai.denmoreychaisemartin@suse.comjengelh@inai.deopensuse-packaging@opensuse.orgjengelh@inai.dejengelh@inai.denmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comjengelh@inai.dejengelh@inai.dejengelh@inai.dejthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comkrzysztof.czurylo@intel.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.comjthumshirn@suse.com- Added pmdk-1.9-fix-missing-sfence.patch from commit 55ec1b24ac89371e1dd0544a17662c738075041e to fix a data corruption on power failure (bsc#1191339)- Update to PMDK 1.9 - Switches the default instruction set for memcpy, memmove and memset implementations on x86 to AVX512, and introduces numerous performance improvements for those operations on AVX and SSE2 fallback paths. - Optimizes transactional allocations in libpmemobj by avoiding one extraneous cache miss and reducing the amount of work required to perform a reservation. - Introduces a new API in libpmemobj, pmemobj_tx_set_failure_behavior, that enables the application to control the behavior of aborting transactions. - Stabilizes support for ppc64. - pmem: mem[cpy|set] optimization when eADR is available - obj: detect msync failures in non-pmem variants of mem[cpy|move|set] - Add patches to fix compilation against libfabric: - examples-rpmem-add-missing-lfabric-flag.patch to fix examples linkage errors - common-fix-LIBFABRIC-flags.patch to fix daemons/tools linkage errors- Update to PMDK 1.8 - Introduces new API in libpmemobj for user-assisted defragmentation (see pmemobj_defrag man page for details). - Introduces experimental support for PPC64LE architecture. - Introduces new flag in libpmemobj for opting-out of transaction aborts on failure (POBJ_TX_NO_ABORT), along with new variants of existing APIs that didn't accept flags (pmemobj_tx_xfree, pmemobj_tx_xpublish, - pmemobj_tx_xlock, pmemobj_tx_xlog_append_buffer, pmemobj_tx_xstrdup, pmemobj_tx_xwcsdup). - Moves out libvmem and libvmmalloc to the new repository (https://github.com/pmem/vmem). - obj: introduce new statistics useful for defrag - obj: introduce transient/persistent statistics enabling - obj: introduce pmemobj_tx_(set/get)_user_data funcs - obj: introduce pmemobj_(set/get)_user_data funcs - obj: disable workaround for offsetof() since VS 15.5 in public header - common: drop support for libndctl < 63 on Linux - pool: rename -N --no-exec to -d --dry-run - Add gen-doc.sh to pregenerate documentation in pregen-doc.tgz and avoid adding a build dependency to pandoc- Update to PMDK 1.7 (jsc#SLE-9886) - Introduces new APIs in libpmemobj for managing space used by transactions. (see pmemobj_tx_log_append_buffer man page for details) - Introduces new APIs in librpmem, splitting rpmem_persist into rpmem_flush and rpmem_drain, allowing applications to use the flush + drain model already known from libpmem. (libpmemobj does not use this feature yet) - Optimizes large libpmemobj transactions by significantly reducing the amount of memory modified at the commit phase. - Optimizes tracking of libpmemobj reservations. - Adds new flags for libpmemobj's pmemobj_tx_xadd_range[_direct] API: POBJ_XADD_NO_SNAPSHOT and POBJ_XADD_ASSUME_INITIALIZED, allowing applications to optimize how memory is tracked by the library. - To support some of the above changes the libpmemobj on-media layout had to be changed, which means that old pools have to be converted using pmdk-convert >= 1.7.- Disable Werror to deal with a new GCC 9 warning.- Update to PMDK 1.6 (jsc#SLE-5400) - See ChangeLog for details- Disable LTO (boo#1133276).- Restore pmdk-tools package- Update to PMDK 1.5 (FATE#326234) * New features: * common: unsafe shutdown detection (SDS) * common: detection and repair of uncorrectable memory errors (bad blocks) * pool: new "feature" subcommand for enabling and disabling detection of unsafe shutdown and uncorrectable memory errors * common: auto flush detection on Windows (on Linux since 1.4) * pmreorder: new tool for verification of persistent memory algorithms * obj: new on media layout * pmem/obj: new flexible memcpy|memmove|memset API * obj: new flushing APIs: pmemobj_xpersist, pmemobj_xflush (PMEMOBJ_F_RELAXED) * rpmem: new flag RPMEM_PERSIST_RELAXED for rpmem_persist * obj: lazily initialized volatile variables (pmemobj_volatile) (EXPERIMENTAL) * obj: allocation classes with alignment * obj: new action APIs: pmemobj_defer_free, POBJ_XRESERVE_NEW, POBJ_XRESERVE_ALLOC * blk/log: new "ctl" API * Optimizations: * obj: major performance improvements for AEP NVDIMMs * obj: better space utilization for small allocations * common: call msync only on one page for deep drain * Other changes: * The libpmemcto library has been removed * obj: remove actions limit * common: new dependency on libndctl * pmempool: the "convert" subcommand is now a wrapper around pmdk-convert * C++ bindings have been split off to a separate project (libpmemobj-cpp) * Bug fixes: * obj: fix type numbers for pmemobj_list_insert_new * pmem: fix inconsistency in pmem_is_pmem * daxio: fix checking and adjusting length- Update to new upstream release 1.4.2 * common: support for concatenated Device-DAX devices with 2M/1G alignment * pmem: add support for "deep flush" operation * common: add experimental support for aarch64 - Split development documentation into its own package so it does not always get installed for the build service.- Update to version 1.4 (FATE#325145): - build-fix.patch * doc: update ChangeLog for 1.4 release * common: SRCVERSION for out of git tree builds * doc: mark experimental APIs in man pages * doc: rephrase paragraphs mentioning eADR * doc: update man page version numbers * doc: automatic master docs update * doc: update README- Update descriptions from NVML to PMDK.- Adjust Obsoletes/Provides to exact version- Upstream project was renamed to PMDK. - Rename nvml and nvml-tools RPMs to pmdk and pmdk-tools - Update to version 1.3.1 - Bug fixes: - rpmem: fix issues reported by Coverity - rpmem: fix read error handling - rpmem: add fip monitor - test: add rpmemd termination handling test - cpp: fix pop.persist function in obj_cpp_ptr - rpmem: return failure for a failed allocation - rpmem: fix potential memory leak - common: fix available rm options msg - pool: fix pmempool_get_max_size - obj: fix potential deadlock during realloc - obj: initialize TLS data - rpmem: fix cleanup if fork() failed - obj: fix bogus OOM after exhausting first zone- Fix RPM groups- Update to upstream version 1.3 (FATE#322653) This release introduces some useful features and optimizations in libpmemobj. Most of them are experimental and controlled by the new pmemobj_ctl APIs. For details, please check the feature requests identified by the issue numbers listed next to the items below. Other important changes are related to performance tuning and stabilization of librpmem library, which is used by libpmemobj to get remote access to persistent memory and to provide basic data replication over RDMA. The librpmem is still considered experimental. New features: - common: add support for concatenated DAX Devices - common: add Unicode support on Windows - common: add long path support on Windows - common: add NVML installer for Windows - pmem: make pmem_is_pmem() true for Device DAX only - obj: add pmemobj_wcsdup()/pmemobj_tx_wcsdup() APIs - obj: export non-inlined pmemobj_direct() - obj: add PMEMOBJ_NLANES env variable - cpp: introduce the allocator - cpp: add wstring version of C++ entry points - vmem: add vmem_wcsdup() API entry - pool: add pmempool_rm() function (#307) - pool: add --force flag for create command (#529) - benchmark: add a minimal execution time option - benchmark: add thread affinity option - benchmark: print 99% and 99.9% percentiles - doc: separate Linux/Windows version of web-based man pages Optimizations: - obj: cache _pobj_cached_pool in pmemobj_direct() - obj: optimize thread utilization of buckets - obj: stop grabbing a lock when querying pool ptr - rpmem: use multiple endpoints Bug fixes: - common: fix issues reported by static code analyzers - pmem: fix mmap() implementation on Windows - pmem: fix mapping addr/length alignment on Windows - pmem: fix PMEM_MMAP_HINT implementation on Windows - pmem: fix pmem_is_pmem() on invalid memory ranges - pmem: fix wrong is_pmem returned by pmem_map_file() - pmem: fix mprotect() for private mappings on Windows - pmem: modify pmem_is_pmem() behavior for len==0 - obj: add failsafe to prevent allocs in constructor - cpp: fix swap implementation - cpp: fix sync primitives' constructors - cpp: fix wrong pointer type in the allocator - cpp: return persistent_ptr::swap to being public - pool: treat invalid answer as 'n' - pool: unify flags value for dry run - pool: transform for remote replicas - rpmem: persistency method detection - benchmark: fix time measurement - Prevent debug libraries from providing symbols- Update to new upstream release 1.2.3 * pmempool: fix mapping type in pool_params_parse- Manpages do not belong into the shlib package- Run fdupes- Update to upstream version 1.2.1 (FATE#321727) This NVML release changes the behavior of pmem_is_pmem() on Linux. The pmem_is_pmem() function will now return true only if the entire range is mapped directly from Device DAX (/dev/daxX.Y) without an intervening file system, and only if the corresponding file mapping was created with pmem_map_file(). See libpmem(3) for details.- Update to upstream version 1.2 (FATE#321727) + build-fix.patch - 0001-libpmemblk-cast-translation-entry-to-uint64_t-when-calculating-data-offset.patch * Add Device DAX support, providing that "optimized flush" mechanism defined in SNIA NVM Programming Model can safely be used, even if PMEM-aware file system supporting that model is not available, or if the user does not want to use the file system for some reason. * Add a package for libpmemobj C++ bindings. C++ API is no longer considered experimental. Web-based documentation for C++ API is available on http://pmem.io. * Add "sync" and "transform" commands to pmempool utility. The "sync" command allows to recover missing or corrupted part(s) of a pool set from a healthy replica, while the "transform" command is a convenient way for modifying the structure of an existing pool set, i.e. by adding or removing replicas. * Add experimental support for remote access to persistent memory and basic remote data replication over RDMA (librpmem). Experimental support for remote replicas is also provided by libpmemobj library. Note: This is one not packaged for SUSE yet.- Fix 32 Bit overflow in resulting in flying writes (bsc#986657) + 0001-libpmemblk-cast-translation-entry-to-uint64_t-when-calculating-data-offset.patch- Update to upstream version 1.1 (FATE#319673) * A new version of libpmemobj pool layout is introduced. * Internal undo log structure has been modified to improve performance of pmemobj transactions. * Memory pools created with older versions of the libpmemobj library must be converted to the new format using "pmempool convert" command. See pmempool-convert(1) for details. * A new "libpmempool" library is available, providing support for off-line pool management and diagnostics. Initially, it provides only "check" and "repair" operations for log and blk memory pools, and for BTT devices. * pmem: deprecate PCOMMIT * blk: match BTT Flog initialization with Linux NVDIMM BTT * pmem: defer pmem_is_pmem() initialization * cpp: clarify polymorphism in persistent_ptr * obj: let the "before" flag be any non-zero value * obj: fix compare array pptr to nullptr * log/blk: set errno if replica section is specified - Remove libuuid dependency - Update link to source tarball (x.y.tar.gz => nvml-x.y.tar.gz) - Add libpmempool subpackage - Add new BuildRequires: pkg-config, glibc-devel- Version 1.0 The API of six libraries (libpmem, libpmemblk, libpmemlog, libpmemobj, libvmem, libvmmalloc) is complete and stable. The on-media layout of persistent memory pools will be maintained from this point, and if changed it will be backward compatible. Man pages are all complete. This release has been validated to "Production quality". For the purpose of new features planned for next releases of NVML there have been some API modifications made: - pmem: pmem_map replaced with pmem_map_file - log/blk: 'off_t' substituted with 'long long' - obj: type numbers extended to 64-bit - obj: new entry points and macros added: pmemobj_tx_errno, pmemobj_tx_lock, pmemobj_mutex_timedlock, TX_ADD_DIRECT, TX_ADD_FIELD_DIRECT, TX_SET_DIRECT Other key changes since version 0.4 include: - common: updated/fixed installation scripts - common: eliminated dependency on libuuid - pmem: CPU features/ISA detection using CPUID - obj: improved error handling - obj: atomic allocation fails if constructor returns error - obj: multiple performance optimizations - obj: object store refactoring - obj: additional examples and benchmarks This release also introduces a prototype implementation of C++ bindings for libpmemobj. Note that C++ API is still experimental and should not be used in production environments.- Update to upstream version 0.4 This NVML version primarily focuses on improving code quality and reliability. In addition to a couple of bug fixes, the changes include: - benchmarks for libpmemobj, libpmemblk and libvmem - additional pmemobj tests and examples - pool mapping address randomization - added pmempool "rm" command - eliminated libpmem dependency on libpthread - enabled extra warnings - minor performance improvements Man pages are all complete. This release is considered "Beta quality" by the team, having been thoroughly validated, including significant performance analysis. The pmempool command does not yet support "check" and "repair" operations for pmemobj type pools.- Update to upstream version 0.3 NVML is now feature complete, adding support for: - pool sets - pmemobj local replication (active/passive) - experimental valgrind support - pmempool support for all pool types Man pages are all complete. This release is considered "Alpha quality" by the team, having gone through significant validation but only some performance analysis at this point.- Initial packaging for SUSE (version 0.2)/sbin/ldconfig/sbin/ldconfigsheep93 16351976411.9-3.3.11.9-3.3.1libpmem.so.1libpmem.so.1.0.0/usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:21602/SUSE_SLE-15-SP3_Update/92d1b10bf99e6cea341e982ecedd9df0-pmdk.SUSE_SLE-15-SP3_Updatecpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=835883b58d65f8f1c865a26e3b6c72d83646d838, strippedPPR RRRRRRRRR R RRRR R RR/Mm3>x`.pmdkutf-8842cd50412ebef5a3f618af81751c30a06c900afa81ba7a377199c361cdaf01b?7zXZ !t/p] cr$x#EZejIt;ѣq"v1=uy-fylsZx6kFZU; c%9iP`'\ov:#ujեR-d,-tL,aVy{`eMdA8u n]@D+!<oOujrE.qf0n9JP/o7j毗I8a>fgF=XfzcʱM)%H tXynl+&EcpF` Ld1: HA`>`-, of!΃%"g+@5LOg"Ck³[1#+$B^ܭyG|`ZRPKx^ŵtairA^h$w빟SKt# Gf?c\jK WQRƫ "Z[1ݩ2J@f^\G,f~P>^yJ!oV,Lr=?D}|GDW;8ROq"_/1{^RTaJoQ[)] \ !7ꕫ!p461lst񍣽BV>D @S.ϛ7])3UnxBgB v+:*>ҷߩ u1k]wa]RTEEbNsHGil'W 2G6{p$}Ra Y}[]8` {[_`;&n csR8!<5Xǟ4d(]He:cP5R&(s) 8z ӨMF@dmw]'&/HrNi1:24_24yq%K+A 9bZtS/Ϡ$6Ñ Mg1!(+i$mY*؀jtu"ϵEm{!sTFt ,kì$ ǚ tgi$5|FǗ[,AXфZ$>CC< /P&6&AaFh.Ĺi6BIJnV vNo G=r%ݘ0+v-|/ӅS<6 iGM>qݐadHPƞܔ. 3tHpk As3VTziT} ʴVU"/SdF%_i??Bty,ہD }i/n=}"~]y,᤾}6 Z JDŽ#fmN'k'hGj-%D{׀`g9+1 ìM |.; y$d4xs:|UpɬМ_KD]z?0ѬwPʹ` "DFUoɬ7Vi&3ʖMf>RId{3/# _Q;oʉUr*ICF!P 3 ,cGT=)wPJW([0+>< ~ w RB??uFnV ⶎy`+u a q, %`#><zL KYX17$i,'[4Y6 c+ ]# n&'-E9~w>]~^Zc.7pOFQQ,hK{{k+'A xDc {/E`U(-99^OiILie5'kJ\qqAuWЋ2AL|ŹӴP|; 2zZ>d@k;3_mOi6; 79L!g㠿>~QXrw9r2z^|6:+ 2aж4"0Q#w4AҐo~Ksb; OaT&rV|0eFbrjԔD滇d6ô}h>*;΂PŖFmWN&%ыeoEӒ4$AIA =᧩s(Jꊹq/x~)VtxFcT0nE-SܝH,MP?_(ME0gp]lj% 9T*bSe?](ٮr!D?\Mbi+xäO $S AN䢽"t%~8?`n!0'eboL7BpVT!9&Ce_\)R˖{44U}BT?=т<ѽq}(_Stw67)Hi9 ʭ?,]AM  qtZ/ ;YD䇱 e"t $v@E?G:H3ed .֥Ӵ,b?n~/} |I!_^3pzƮWxEڥTu @?vF֦TS: (MK r:M͛ji =Ive]*n! kE ~Vx\Ϙ sj1'??oQtZS,' !eBhDR'sqjNuHE|ڣne> ;O;+,q>Nj0˜՟9 ol%% K![Aa 0/@*ڢ~ke)bg7Jxƅ vòna"*{;XDpq9IUydA84ٚuwm+- /F pgY\?2^lq[_]X朐~ \qF6 ArK+ox}Ho~<|i%;Y˜9 fXLm\' \j}W35 L_Cɯăb=Sf8͇f}zp/y 8?Ɉa~6E&Fb&hCDŽhIb7x"#6 heq6ം =eE)S;# `) ;8LFO=9WRdGaxRXHRA~E6fK2=*zE]rj%}m?LA '@<8ihׂ2$ݑ #ɻ<`"lR H(wG: 6v2g9 pNAEdV

rU~a(2*Sp~I /S2,m[ƕ%bUˏh qcc7Nek*x&8; s-3?9S 1/7ȑ32 x sFhɼ)":Uѝ)VZ_d:-LfZiWe4 єٵJQKq9xl}(4K‰ ^?a &N&cztJ/3Iom[.*xq{;{(v 7~ QSдI1s>]k0LOMf56_$g}K="Uӳ/I1 EǸ%QK0LOA=_%CO%c.3cDLօ.?ƱAͨ];{y׊8?Rhc" mJ,J`D2K(kUң%XxBN=Ωo*" kaMC<<' R? ۋ:`M&v&oeW5mݮxΨ5a$-3+!r}}]Mh&eΞd\jaVIts4'l9(WL$t{3 <HB[zy$XN>Salh xMة%@[,"}4λ]ԹxJKOO{<ƄyC;Y$ "0"3"<ɕDJfĄz7,٨cU["EiZy!o ŁIpŭ77oեC%fX:>1b0sf&f-y(t:©UJ-x1)4tr"E8`ie2^0KF>^m"*<bJ6-;3t"|mhh "]tΗj.l6h(^r9"azI5 _&^Έ*xyO]8%VԴ#ބvD͌{,>UNuVѕ}r車D.rʢEs'.t W{/&۱g2JuÉP^<_dU!-{/!w얟*8B|{ y{ko@H@_Wr΅fϚ?*OVِoj0hXjѹ¥SsŞ\%i/{4O]GLG!J/5 [oݵG C^"{7t? va nt]NQmԀdu704yΟdYhۂxF]Jy`G0]pe;At/*T'8 -hӉ'H:3tH̜h?De ?#f4IO%O쏽 ok@㐅Sm|Dv1|)Åls9'1Jp\/#t'ۂِ:'vf$R1@KxnuQiD6:4LȘz~`O1 AFg c&N+A՟4;{>FN_ZR|qa\ᦸn=Iq6ұ~3! ;@29C<ϮXPaedfrk E@ ٺ1-+Sɿ}{|6QuGOdG6>Zx?w($L K۰lae.&n !Q|1wn ?މINؔ:.cƆq5`wZUl`lIa o^Ch] CbXj *Fҵ(tqׅX8 +:D- 2mx՝/^ XFj#62ik]>Hhh]J7J =@+dSN9Qq&{7OTōT!zb͋VM: :~,ôq f N[.J{mVb1o  LA͉m  G.+nCk82Jݲ"kzB.qo j AM l>3%_O"uH_0 IE2KWiTP:>TڶYu@%*0M..3e@ s;kv_(;!L6c |1D:' D 'FjfeM};'b~![&2nh˳:d2A! 1>7,&' 7i)*Ǹ9_'gc+#ʫssY'f%+^ՑGTF}Ldd"qG9QKёIGM;) 䯠iBG}=lny=x[X}؁8yHѲUQOb!g?RJ"Xpy]87_gHR a;D0Ǚ1֤`b+Ɵ{ S%\1X%ry 2C;;Tq3Un, Dq8?Y H5LK`=cX %|JiG7I:ERYVvkolLBTԈr %iznP{Ώ[T[?@I~>E YAZiBٿcoB35[1 _p_v}TYſTVdG:e{i~/YU06 &H_E\k;*ŌP DAt=_pilɚەѯ> @am@,]J~WIVo[;$q Td2EupU}]t B3A5d ujx$qȕ8D1t-pěq.xSr%<@TG3{|N1/is('WG ͎N ޸pYX5W/c)BH m{o6L _^<8S^4 0H-~Kf|ìݬ"oё]5fdPFѮM~ӛZ`eWԍ ; %۰ $z/O"9wϻΫcv*Rk/$Q@wlqNF*wȁÿ&CEPB} :.BRO UoGv{ۏ zYk|fEtF``X8CD\:4I6ݠiWTŠRNlO>p5%=U?p;R%V0ZWq&Y&;D(4k2͈".7w_ f`Ż{3 5lF-eOfEfxɡ W> WƤZ_5vHYŞy sr2xL?l:Rq3Zv(V7})Z| v8< *̱B72/ tBZ q q툓Yx 8+VZl笁^ L̸Q2:20gHaIsA&qz> ,'X_-7;l'sBx ²=}i=N>\J؅x%8NoN@ڻ?oAh1q"Av,w-E& ~f=w ۹$>C挔[b`^DRݖ\n]I[QaOBK $`7h,R\iYf2|&D&gj2؂b01JlWa%yE;8IF`P;441Mst$ʽRFfCy0gfDIoH4e)E= cDEdi /Rk㌼yb] 8&TUY*cJ }Ig؍I`gkʡVW}=6wb`9{͢Z,|9d:zY{o gp ^dhrt}Q%9$\Z`>K&GaJ?L/\LK|RrS_MfjB53IN0A+PdO{|!^  ][ʕL9UGfLp?Ʋ==AQO =ίwB"δk5db/seSw[ؑSǦ`!;tƒE8wjh{jZ%ؙ*K[^h@|_K(٪v֝FA 8֨W>juF ݙ Gv_Y\*SMkHݡN\F 0(m~s1F qA/x3 L}޽SDMM]v6{.[Dr1sO3[Ҵ?Ҧshŀ@ .|Oy.EQypyeh.NF+>Yvj]`"~WFux5e{wIa{ѐ5<271d ԇYN2Yu9lqDW@gBE(ɰ†|>E#UFʬqA~3mG\jXReQ(-}0E$]u<.+= J1%:Ilk) ޗ8S"W7ٌ\JOe yŠA8=Muevfj% M~ᵋ4㱶 cY uxASʜ1S.b ?5'PY",K Q>K'H_q+0ϗ-q0@rZxb뎱Ktݦ]EeI)t}Vԍ ̿H@4 h]ۍ %{ܥǧo-\`~)+>cW&?Y /yx-إb--GL9 u=vߑ{*@y)1i4'Pqr_nCnC- LA1}g`W DՉXDƛQYQ(!8MfT,!{5BWZ0`7kO}{W!h)})hJ!-U8i\F;`KLrb<[y/惍Q&Ov֟$yQqތl(NZ[Q$hC)a!&Hkul,=R )̾brn0]>mzyo7{̬]BHCDȤk݅6ľ\ML%4 |Dh&n'2}YN.,Hd60[]׫ DÀhցTuIdEar% %vם%U?B#-A.eB%}T,S\OWV']L m3 ?4ɰ]-ӏw D{4Ko8NE|W7ydYjT(UJNZc i]]FNU!/Փֲuת@:E]x[=pdlL#6}uJ׼#Gނ0Zz4hn´K[~ٽ 1گTCɷ>.1tJuQ:x%sƄ[<.)9 pƷ 5jTR◺eE6M2^׷TyFKS 5' DbdK% 8Kqp$@U-"`8BP*JNO)r܅T+pj`ҕI{5Y\Sw\_e_F Qɇmu. ȝyznx#XzCй galD ;V>p~BS],9=_m֖&Vld?Tbؙn_?ŋgXp3Nu=s P#Dl(B#<牡n- i9ŎO4k( |h]1jEJe@1KlBH X{oAkgԝ^ C=a9*ء SPb=Qɇbݝ!+ˤ CyӾl jך\Ztxqq+xFro~ϭ&ʚQ*/[[}o.|),'rx$ ^dj=^xä鋼%8 nt ljQ(8h2Rö[ [x09tS$rA=nH2<ˇjۥ*M?*V@^RvsEW@p e9%0cg 8Q9iV6L \lc>K%꫓APﴠȨy[)P^a]NDgi?-݄_W~p[ym5L8i-N@ev9M"{ mGP6*=S/яӁ)x)f@gM 8T8jdrj 5"y6 ߷{g#ڜćƐ+ biXoR +5Uv%JR;/' %\GMeQ~:Z'>B:uz(m]C*F݀3q7 1'Qf.D:5=ړy LGsjSa1Z`LPr%2,B糸kkwTlWT?[ KA3'߼ BNVskJѵo7;Z>1O"NFsէͻ%+.F-'` Er c4U+/e ZϾ|38/iq+ֲ\ [Kcv?wVS]ئ)1O SLC&ޤxbΛ}B%́bx FXkYop#-uPsw:^/mg!O5`k"2|E ^L7%!D$?)zB[U[p7b 2[BHrQLW" U׿SbmW?Ο(u-~'ty!R a7.ʔMu$E{h|;S{P 8+ ڮ h/K6{斿>B])Ӥ#G0h~_{^@޸ZDžDM+TamxA 'fBpU,d*_YYvGq9MVfY6Pk`^DB iN<B@=J$ ?նtY R}y5v1CFx՘V~jKA.0m7HWO_h4)0=y9g YF΀4C8Ks*Gg-]Ib H}4j=9*V,VD(2X}}WePw!SK ӳ_ވӆhW<TɖC'y 8.T<џnZKWa;w4Ij;#,}()/\qE0W <)5=pTP$jIWS {%dd v;WS4Zu l!7!9wA그CA7RKLs?A1.!u܉ (bIks CH!!BJg3gSMT?<[zN1v1}JX"yN;r2ETZ߯ @Ms{`T5tkB벤P/gMDͅ7*xTĜLdud sV#DS5<[ 6p{)hd*jpU"fZB5(ƋF}o'PV\0HJ#V[*+D R?^3]\2yb ?zYR 1bGv~wO23DC.I szADZr/{=KpBE@/e>-A}4-*ol`R_}rg*); c♄4s e=~Jګǣ>b(^TpӜu*'G.hg<&9V'#zCc\XlSCǾ!D}[Uo8uQEni6ЏX*]eҔR#W B:1&פ- 30^%$*W] <}K) pjچh)B6WqpxDһ$*_NM5Hqnd[h!0b//^|KF'L<-41ޠ>3{e87cB'L-9)[.4;!7TD[_%$xYj &_٨R g]!|\򲴜֘놾t#D%CMBl~f%9wn#W/yv7D`"Z+ ,dJ[${ 씫+kx㦇< ȧAչI؇ٙR8sRC)b%3}s& KP,I$ M;qB?|3H2N Nh4EuyL # 'a2#Y\#R'{yR4ޚDr_6 U.ɤI|S~a}yl5-&lM83SlsK@-ۿtՂ깭GHop2wn/k ȶ\E׸LŢasBʯiYڈYҜW`^G)改E| $$Tdr:i[ CC̄s(Nܦ _f$!so,`'bk催;l+mOFIGv@:!*3e*H ;Zd$I/;N#}lە= 3əF9j-hgT[5tS V>vzBh<+fq~A lqP -Rq 7_ɏ>.9ױ [`"U;̌9S`ϿT;X%\W{l)S_Rv7A>V x8(,eL,Լ *CV?v߷ippjɵ3MyQω'؎ Yk6_zC]3rhf( ҼG,9{\|651ɯ{W{SLo@e?*hc+69duM2YMF:ZxE qxكFDzII. z nDZsO}ab!2,PqY|RLhh]qQjHInxK++~਼pFRRL q,*pt B5g4*o4En!"./xyrpȒX0&D!=#dɧ΅0I {.T䭽y))* 2"8U.P_hلUq]I&,K6]E2Y[쫕 S`䠭J]rȺu_h\WfSu<)m8,זw0հp_͡+mʐy'HHBGkMIp~u4!"Y_]/%^]jnNb1K Uv6Vi.NcBծZT+/C!knWyL{\{kf@K,X &&M!_`܊,_;gCQBƭ!z;Kj~.{5D'7]tKHn'ec=#'Y|%\-iKj5C 2'pkk65k.&G#.b䈍cT* #+W:rms?!Ya%t|T;Y僣ENNaۓףyӦیSj4V/NÅgTĶ#<#˿48 } QRܑuc %;P-"dm=*MBM- K1r%PE]fs{g5L !E p]([x\ zH~9Dn㋗:yW/f'k|b;ʃ6Fz57 4̓USE06e $M me &Uݸ,!rۺKU˸;xů9.I y^ ~[oֿ& YHz,0m Qx˅z+U糳踿ƩirK??',n4gw`OPk {yʚ̡mF3X{ bmma΂U,D wDtuM}Y9)% GݘXȈlM!z% Lt]?] &o.BRJ)k\Jڠ/(-LBDiD0MDAANs_Ni}F&_}Du؆A]o6ZP'{mU$.82{-uQvhQkPQݽe6ebsqeV 9>nxm%}^;x%1SMDXq*hXWG<[/f٢7;bzXx*uϥ'3]QnN3$~ 2O#ٙwY^ n@hѴuf?ϔ;af F՗7Xw8J&tI[3 l7ɋ M]I .tr3xα2bx #1XKg Io/FN 2MV :|M엡y5:)M99vK} m@.Պm(6?'RKxg1폪HjKU,}5MDn, a[a6@Kw~jMamrK75\Zi eH'xҷ^hu7 m0#74 neS >iN92yU)dC7Vc~'vߒZU(/VPi /Ok3{Z *Cwsk >:wiل岑5~qS_O\GM-Əm p7c&54jб%7bBIYTMBǹk]Fm4Br93/Y1فꢣߤ)e79Y-B7!PV0&)?ltʾrĨO^cti3y):vֹX8Q)2cTt?I՜iPXrS0\IXVJWeκyؿ@GP/F2Y{_cTD ۊ3iYCz\r^Fl.$}Je_Qw4J I -b^!ERmZu~e%p_1.s{WK(gVh.Yſ=\iaXcpgTR}aajX>>5̞- Pflw|Kr-BE\50xj ސ,e|J)1smlOW-+];B,h*UoQc{;W \Pjqa]GW܋Tؕt<2Ńbxz゙S#3.n 9)z),IEɘQ`"u?2jךcd0y;hѪ }\(w0 xF%#8`%/05ev 4b׈PO,\Ҏ"SB%`WPdU\6H`VSMBH >+7}x{v9[>k Dtp54$5*~` jݗP5 ؂̘# PկlO̤0CO.z^r*eD^OϥT7UTZN2OABݚfj8:^1³]奶>Yy3f;ܻ)7)B 3JEP^\nH5*J"C쳺 dƴ$!~kZPjƾAEInmVI6PG\$Y;L Xf^OmZ!`PcZ״B9Zfr `]n⑇f C28zR9Q*LQNڻbB^ed^x7ގ(M rZqr\Ze|"|N`~jT%J=V` 3;e'3bOhꉾ#nnrQN >qτ)Nr?R!YF>\ \9Dx{M L6uKXڠC߭:EP$Gw?>]A5DTT|Nfs3DZLY'-6|2et((b϶+R:i%)CV!Y]Ver=Z:T}2~07sIaD}<]Cd_JX@42ɟa |6LH_xPwW*Bb^[_N4?fyLhZb._$FX8z^>Pb7Y+Knx#GZ 3YFE Oҩ ` 5-w}Cz)؄{Hl`+#ҟ|W-N)uG1tO*Ec%&./m.x+xt8IhCOc -Wc.ⷣSjmHǽA+M'J̞ ԣ.Ch+Ot]gv.g4 $>hrskьI B2TPPR/?o3i}'>f螽C ն_<:cLlE̼Xr>3 Jfr|ԫo\-QزPfzKaq5Æ/sxnlG=ǡj%؉)mBP߆J*\$?rtO;wWRe“+5߰R#B nLVM{ YV n$|'|`.r@y ~t3jOq:z)}Y?v@! b|Ԁ`f'A:XxP1RlA+BRJT.Ԛ^Lj1]liڰ?82*1jXyU]!_L nhԋW!͙f%2IgG.Z<NV @LX[NA-mhgZR7PjQQ"XjB"T<MEbEŦ.m}R4 ! z-QD DbDk\!geԒn F]xԋ$W]=SK+Ǘuc,x/}3c0\" ;J::1<K~ nZ1wĨ:bW & Xj>(aB0JFӏɍ1,Z! ƀ̌9fOgMSF@Oj,cKn?0uhQ3q4\%O9VDo<ͱ(iz689]{v0M#)r^sQ7?0ʖ ~:̆8>k;\2L cȑ]Q=s?h".xtXzD$ܔcg67oƲ<(iսNm5$~e}cUxolh) (2l;b1wtE&C;w Υ3?}*AdZv<$ZV{5ks|ӧ(k#]-! RZm9yn82|Ąq! ɂ7B7/-(ULh  r8;\B 'Do fH;W6 "=1J9h_ؽ#i;v&!빕yOcS\+i0^r/}0圃ui,{;ͬ0spUc3}ӨH2/T1J@"pO %? _yÐ42x$bc\ n9Ia OǾ ;2Nrm=3RNiSӄK $4A$1B\C`*МD~PpD&562 E/ W-V$ܩ(Xؑ:sS1&´sBN.=j0oKr^*~:ۑ {T+NI nmBNrpS ߏWFbq"N]}YŝX:Tsm¼k0pŁmRKym,? jƷЇBr ʏy_rN7\Zߪm}UjF7rۧW*ǒ)s\*],2sMgxT2k +r""eVxe+H Z{h*bH@Ӳ'+Wf\҆`鐮ūٕbr7ФL>ӌx0`^%V1$;Ue6W!#6NĨu[\Z>LaQ`f&bY%:tg+bG7T$9fSOD"ǏIinCaDnզ)> *l!&?CKp??C­ +/-v #ܺFJ:CVg[{WdG2im#Έ!M/,(\/ʮ8͔3ª4<#%/oɦZ}` % |]}|r;x-_35d#@w%iu5IiVioEGe+}&@, {a (5s٭""4;x6`k aKk#xO3ډ+Is"WN) t|KK$KѕF/Ɉ/ d֕дmh7uf^ foՈ-=M,E[J?fNԉaL_rc\J4^#G>UZ*|Yn9[2mi&xjm8N.^s,EU{ܫ 04,TuO%,J/"JgXC$[apLs}Fz ؋΢q~hՒd[CWX/lW1Ǔ쬇bAl01&|=!|VbJ'\\eeA-%?2i#uh|pSyy 2JҖuSߨm .VӂEc8#"#7_T$[h֟*W-F?3W#+D a6}⏩@pobkTE^,fAnٺIyb Ms PuCgdPBK?į"o%Z\ Pbhv6(|{E/Q"CjQ*io|omY?q&$e Y3'a!>%_G bSP62z+( I4('fB,`ЩJγ2m5;V1 gې "_))B$r4C=1$!KɗPš^NP,ܓiZJ8± D| ui)vi \[% ;+}ǹ7gLFנVqs)'P'jG4hV f[2PkF[Nv_0Q'6i榊: }aHÄu;t?~0i=-eȣ;mE}ƾҫ'HU 9UεzW[V{vqZZkxGWQfGBހ<~Be0I`:%Dep*ur!._,!=\< a{9)S` fd.4r^bj2IBC_* x߹6Q #_.;B:h?|,L`+ X'\u>Ǵ*զYrFœ/n:۽XöV2Vrd23g&|F.ɸ)<7gSB?fג[o=R>(Jq.K8~#1p*sk[en֙hB$dX$z4Trpi~PޒEi:88n 7Z\NEt:܎&{QObcQ;<<ٿ1( $2j6Jb=&n)8$!#N47f+QxtxP٩J"% BиAYxg;Iu j hD3 k}Џ6!Nסh 6<댯#$U`mɵ6Ji[ĕx@\m˛X|5_- <~]u[<@ :;xK3Zb0; tko?%#q /3=“yCmz<@[KQW@gXN>0uklȫipaw|[ľ G_6"$FYG?aq7_Ƨ ͼ0Ï9g֬ld5Xϝuya^;\^I#}q%nڱw삿%Z"k@|y5IC'x+2%ntYEUiO)]97n e!jjf?1!o8ĠK>S>JS=qT8**ﴖ&?0N4ҟkH҂S  xMkQ$n) U}k2tj\5FdN¼JΠFmAt40 >|D7K5W(,8*4!"UK1ydoY`I_1L,Y&c6㦘oh$>(pe!ZZ\*@teNsjCAq qQl^mqDTiZV"z8 pH0fu[ .^X:O6#w桕\6,Huu3^ץO7+*vo*i2IU giHZqϺÝ%\xQD:D&5':q_ީ%%I W~t4Alv2 P{:)ٮ&';}3yjnHSM%{ Dy+ARr /9z r4+w+9JN=c}@#A" *.q{tVȇ?!~IqԷs>P23"g 3B<b1&D,MgcqKcR`aXx|ܪ=S)>55:t}2]ԟpG -(>R6d(u CkpS|KsU/F;Əʌ;[lAd6mtv?rL!l$$LB$/_6f~HH䋳j 7ItMeB-jND3+v{-'ӺډUPWENRig;q[~FJS-XֽHh1 fEG2Bè?u_v7lrϸɬu! XybTEfRew{ ŴQ2zQe⬓uP„SP1d}8KJ9g1DicVo@"7M'e\nDgvfy*AAӺ bB9ӻeoA%Sj&BX{D{+dd!x sKPKrwv#LzUHSݠ ~yJϴ^Nژm&Drr Lt6*W iSC/@wԆpd\lgזU:I X|̑O$*O%ށbj9Rj|f͝Jevr±-=`m{G6Fq 衲?LdYi뤴NJ$*u S@|<8dNJ gzlW~YLRp;o6}Mے"'*|7!\94>0Jˇz5Q#t(,^طҥnuIO12 V |zNy֨'fMD6R ) ~#*#?ýݘ45 }π[V Փ**Td] A2bc+֜e$䨵WO5W{NwÜpnl& o[ަ,?;R?e~!`8 0ocRuZ29H{=зY$mZSZEL;l$?rq% wG[@ *Uw )O!J儠>+rnll/Y-.#xN2XZ|mpKY-/aqc~IWMzڣat_ { QsV' C&.qnV>m#Ehp "U!~1ceG5H_MDAfnXKc<6yJ^~VNلBe՛foA,ڥu$F M*{d5_CCI`3ik5Yɷxv'8WZvk,Fd3Jm?hZ X+!YrFPcj k5QܑA T3TPN^Qy5LN6EQ=|v 4{1ek ̡T# I昹|$EB1}B#6.5b:תxԖUJ|(3Zâ+ڿʼx/*EQZ s(a҇A&i%R{aڢaȄ\HM/׻|i{ mIŒK؟U R&IWǙφXVJcja9#(S?J\~LԳ6bj!x&t C.l?gS1cŕtEb5k SȱzZe5o0X 9,>ՕowH$ayoS2i X9gJQ4ܔl3@x#o"8c7(g={[ӐeH Ưbiy53zѶWiS0€Ucm]ّIc#|lNFڀ^WjQDxp`/2 TW8/IU3Z''ѹe=7!d[QS:sZbZ)xI[wn͘0}򥌻݁1/S?#P7>7J&k9wa%@oQuTo]h}nz8,d4@b݇qL `hf9TMYEPVerdL-<#<0N=7v43(+Ru7qe #?P ?lcLkjsK# Qpe*jKM%RصN_$FRdjgJ/uNi "33j"ZZYh曧{=,a*و cS5*(8ۨ[ NFЁXOK5dDggi@ayHH?N|RK7h_ y3`I:6Y\Xmgo1:yz/#*8Cm84 3sP[Nc~E~5-/:ٍdji&\=.34ìNDp'##`rc z45(c>ݎÎt 8ɐ\,_svV];Ąs6ۜhA07ސo9n5Ϩ?IydccSMmOˉ&Y^, ?''GM t.l!7]%Y.KnMG-9u˿D,:*qGQT LVxm'ҏ|b$D?CGOdIl<&tav-ń (nՙ%'@_m=#¹vNn)WFh?0Ygvs=f!=f AC2dmb13+8]7o BjƉƘ}$+$ֿdF\y7?$hN]nlB?7H~j;8dBl!qYI̻ 6.sHjKGQਦ.\=z/(F"W'T<:0tPM#``R2(*De+J5^\QeN_anx K[#Ma(L@+}ͯ ]cUSE{gC ڇJ24>M%=8Z~Jr[[TLMm$ZIk`7KIN M(fZ.r}^cz˕}Z4A}F,DǮ4E r7G " `cq o\ рVV6'/ô _/+ðS= 5v;(ʆpKa e6-L;Y;>e\4FW[mƂES@uJ/f4lTM P9dgMT?!(M5^e_zT` q 3nP=s&+Z7볚HaʯRyOM So `H$3Ch쓭WL2Cvv;@`/aʇQ'M~J O/yBB6 -MKP`KdƶQYI^LҦ148+"/Hdxh86N$NioMUj*dm,!S9S Xm2$9< m2ַ;d3D"ቺ]114GAhL^QXMʇ+o+]n~y ˘h+ɫ Y H'3Ge9y$S  ʥ @)>9P8/iBh`Δ:gXv=-GШsw>P^/l,PDeVQeiY mW4m莜)qܽo_с;Tq3E1rvu,)hA wޚ8;[,tjrhH/LPbo'OQHZt Ui&ON= v$y=\$b"d`j "]]jd  w8^Z[D a%tIc ;_L WOW@YAyd%)'J64md:;~LkMw =(jDZuYXWn,D%~I_68AhtaApdZ0雕j%_MbLL6GX?/F?ǨgCM%"k1#,8qncحIHMxeLn!<-X|{%32 -Z-NN` nfMbX'6"<|Nċw+Ukht^B|#倂&Q[(Df f_(W0)6&R(59x,eg5H>S!SGRq>M%F0y@8\Sj#b"> ccGr_`*< =1-S[Z!"sis/%ͩ KKu#4`!DβJ\J 2d XH0A3]7.ls{v%i9¥2z Ub80{eP +et;4jiJe=THp§LkA!1քP@lWr ʼe|@ܾ6J[P)OKA7z( `,z:ytNy ?[4sܢriD-XbZ9~ *[;],NB'̩Cd- =V/nf"G CD' pyŏ% tĴw95=іH SzMh&~"P+rË]L煨º&Suu Of{3x2 S:^aD}|[ߍmn+0n?^ K<`+Rss0akIdH`d)$Ҁ*\-d.G@Py,Uzj[uAxQ ªm)K͜vRYq#PYJᵆbhofs(Ky""6&eMNgj $3DP:~=M&Foy#)!a9$̊Ɣxcl)+j,lheP͎,{(i,B^zNB )Tlׇ~@&sI@ey׹[Hl/Q1|2h|L/htjT5e¼'ʖ;fFr eZo K^G{o! f\rܯZ  }[C%ǜ"wB'<%g쇔 kX$f,.ّJqGИ<׿jśok!$'=C*5 yE7wwKEMF30η|5#FI5n~6ѝq<Ҍ[ZS~1An気R 9ki# ʮKuu13Pِj+"p*u ,PP_9sD2,8\klCT䀄\F ~8 3ad9h%]`[iEr |+7nf OIU1DY&M}h%љ:ri)-S(C弰N^SvZ!f泍"d+4TnOj7_+~M 0C!q1=YO*P4z f[.j+oLޠ qD@9aw բ6o GJ'7)2zꠙ]c z3@5¾"+~." ^dMbޮWY~O&|} r#S m\CNKKGqJ1=t oL9XT%;oĕPl6T(#vQw=[9 HiE_MсAE5^Qr`o8(\\;D\^Mt)ԣ2 lo@< #iRHP Ð਌#̡w4.D׳ުRe$l:75 OCp2//@BU#2 LQ/¼*3Do}lUS֊xe:&?`g0B+ܳ%`b#d*Ly|nHľﭹr,:@2gj h Q4X?lfwlxQK/LC+jr-ҍy.s {2r+rHdWlB9̐2X1dpŎ.y2_Z!܃sa>ʿ=4unL+ QHw@ [Z:O\פ$j]<xj"&~:B Cl5^N$yA \B~ ~m{I]98J`+w}cFewb 12a{lo}Ÿ񨹴$ZVA 󹥍j4O#4rțG~/W+{X1 ɩ09CKآvDbw4Xֽ‘JE  [}ru1 qPoe*>IZAo.;(t$*$^:Y9Sf ֒WBOi{T1X ~nԪPJᅹ]N1UҤ#4 m ۟Ͽ0H(%XF3ҟ.Nq hJCM&k>Pf&5;ߐ]'K_JGR 3R5R3P\M3E,dPue~\ϵ ֩x}q :KXS;J6$7='ҮnJeoJ28@2PSV.Oě-Ɓ d'}"xbfyOQ>ef>& R'T"kpٚuD/.%^熑,zK`votEhZZyei e{`}E^nJglͦFޯ*d88FJ~5=*OS 51fn81Q%T$i038Xq=ϑJ;VEΠxlQ#̥QA%LaD::tqc}]8i[8w;|Od7#-}.uDe}p 5iU+VRsbdd*6YɗUu8Un^p;Q6X}AF#!8`^.8.@2bh+К{v*o<}E\]|ʉ铺2;{ൗcXwSQsf&S͎X7cD\wBE0&\iL-B%PΎLOY\gezlMoK0n7Zbg2 nf u" bX[Zb]/B\-cJ5"cu\w{ܯw5C*}2?HA_y]5*my#i@滁H]VLZl^i_p,ߏ7#F̄2v]']Q5Lje(fANz1Y5iԹ61A8Ǖ(2й{ȵeаA8ۻZ)I$Me8ToEgN . #DHp$=x)4VJ@HqQQTߋ;C+3fmR9R}Na L:M( Pw<8xqOa+TkNfО1'7Je mc#p3#8S]ʵ+`$Ug/?3b E )e{z#3am\"} 29&s荶)@$H٘`O< xFPl7ΉjɷRe%AȀ|WHXl s(^)۟eCe-UCc5F.>O,bÒↂ5LMLEYNɔ#U.Hp%}B߫F(y׻6PzAi"݊>C[%۹@nmQ+ MD'D*qzԝp6 u֝jL6bӺrwx5,PL=)c~ Q8i㥲AGnbWm7p4@5Hm:P*Vf;Ǭr#@C @RiCBL' m>x(εYjGb%2 彶\>퇁${=8cIؘ`:'\ qe!8ڣmi׾. \!O֦OcF fKFW.xDײ0vu&aZ8LITǎiY]Z^8rdhxQWPA!,EVS%ޜZ=N1,z93 7wЉbkW⹡z(j0ymcGbj-GO)ɉ=0(ń*q?SR+w4A?uV5<~ ;gH((SkfP(@FcWwĄGE?Tio 3_Du7 $Ta& ku@;A̱y&/)) H:l& [x+^Gx3lRƱ/vL0 ^2J -r<)SDλ b@)OO;mQu_&t~h]>pHc+'gr-uS/_թ@[h;,L7ղە% i(Y?De hnm'ͬB{,l|8S欨}X?$T/I*^ŗQ%|Q{u@;-[ݖF^DJTEԓMP*h(-98IdB|hoWS:ӢPXQc∜YfWT{p;eb٦99Ϟ؞@;p_=V0VG? %D1tL (M P,.6R>8I-'-sZ&3Zk#_-4{vٱh(.}INW?nS4!w((]!4u~kz3l\){~3< R'浲^Jj,jxdWII|!&5[RY'F t69hP^XFfV)oQm~@ΘT,(Crjב):sb!T안[ˏڣ$(3[LI;ݒʯl$%]`Fzk:/fP k r^BϿ tPOY+ v&#ly'8+DI ҶP|w&;[p}X|)&G v>nbAN*%6Z04|d59JFL:Iʉٌϰ#]5`P"ylsCsIyP =וLgP.Ce/L\3tYke R֍;fn/ ׍O2]I7ۭ՚|e7=i!iҟ~C^^eNmDBWOh ?NM ka|!`K &Q*hkl(rZ202 : l9cg fW/[ 0*dl&-/h[Ю80iQܝ;:bl!)h76e /Rd2tCEYN&]u-Xޱ D4Wj?PK]d@Qĭ>K 4t,1w7VU YA !),x݋ pʍ! 5@NP&kZG;[ȀZRG=F?^Θ,w[D"dD\,"4؂.w̐d_zrӽ]Қ?ghp0{ ?@O&_P:P]I6bO7ݵPF>ی]_iBN %"c8Z BI gDhEF\@K%x_դ$0UυgN[GhvC;aJ-jU-ʹ"Y}n?|;ʂn lOh:[IãVg^}܅zK++l!%^Y$Tne,R|PkY&c-htT~ZWv'1+*Syiu_IuY0~DX{͉Ŧ?ˮVEЧ&RM}X*9J("svr83=nj׸H ="9InP…O4P=,_&NpȞj{dAVS$2z$C9#2yvbqre-899+枻^u$!I1Da^2v^f ~p8@6׫6hڣ7JF rbtAHl1VhYu0ܾ4X¹ xRWLzw)wGF&H/R|v+94Ví1vFdm;9[3`¦=N;ݰfkOL7G ߦxe濄h[()ek} hh딷%S9F%ZsC!Jjo7G7p  "b+j(kݠwjsI{XV0FHLrRXW/HꦓӵR҃8^#jgZFho Z dt'2%+tp> j+"xV}qd] R'XC82FIVD"2 o< esBr<%P*YfcpZ/{: 75)u*uF1pUEg Jy~YA}ex#0 |_| %v;-GC&F{U~!5yIIt7 L:X|1] 4X"oKPM ocE"mx;KtMBm̆0;H`É ,6ZWAmd^M_da0#/62л0V}QvC4\R8ay\+5yJGD"c8lǓ" Mz\.l$JXp5Vn q%IJZ ,ьb宅ƕ^9tL m\Pvh@'l%HH໨מ!p d*cT[(̝@t+WB:KM~=oTkI H"ؔ̒~#;}dAmf {Y\7aֱ44CߑFCLHAW7g5oTG*+QEoi P7qx8\j~ۊ,V_d0Y2|}\x8ׄnBzaO^3jmU Qh; :.g7E1Zgv0qĥNGOwo(b2]n;ZܤJ qTUKfbiGC/U 8`k0] ajz  - _%⼅D2}mb?[+<|&#NB<֓$cj0y[xp3ni@ƒ!Jsc3xUF{w#]FemcB:)wDV VK#@k d'^bYYͷqؘu_DP_QZ;ArA13>wm}|.%|kLkFΘ?8dLI $z:* qn^8XgO4Ӎ ~eJZiEYePq62Y #{ eRDv. H@Ө\ج^WqV8Ԭ*>r_b+ "j(n>!:ܬ_GΧh݅;V/  +Z4}u@}m,mn +@>@&N:9A0+Ek֥ tcOHԤ¹~eo8?UlhZF:þ|դHpub6*3O d5<;2UP~-^JQE#;nIzc t0%{@3"}vA~Idg7|T^ik>k4`üo 7R\}XֆIM;),,Er`i/'alhd =8Te-*"%FyrQ3 9ۭi S~W;#Sd63\N6Yg>W|dA4>M]F) @|6DCZΒyd9C(#D]xIV?zq{ɨűV9}$X4}G9+uERz0^hV$j:o! N' DpFQgV& cEn| FNӵc#hm%V5(m4ܾ݌+OJuq~D>f3#W0Ug^Oz)1fVǽUZM$kA= >s3.{^4ɩ ^r4+Wwy\g"6`'WT+YiV%6X74>?wГ zBXh3jvzl`/XoS`4(X$?") ׷{1){ÁS$TO9&Ccx馛b0HBQY>Pض ֽVB=ݤoWp=6/R}tH7 #ܡLOBԄA#n<˹".b:9D)ᪿ-O)j)̿o%L[^9% ٬EBlB& lE@V(| >m@Pn\YM8|%rHrw2^:S> xRǞQǬ17F. vL>@@ۙbE1o5.8qCF/ol1MӻKuJs# o1 \HKCKʿi{¹;1iPPnB,%îuma6K5Er0 :trΓ=TMW+$ jlD1wOy ]ңG.c\`Oe.X2ɊoNG;xB{:Bd ]OSܤx~آn k*S.3ǭ_Ykv| 66o(ZTTuٝ śPxoCnuS1<-^wԫg}mCJZML -S<Fͬ4Mv%mvL%c+]`a_: V.^ 1wTS0d^uX>K:d R|`_zwIWn4Cqs匍B^m ,u\_?Y·Lg z 1ec%M[HǦeVKQuհq4gkCX~l^.x^22 L2s-#psC+Q nG)WJjw//1sb +e2 F4F }{$J)ϝA |~eZ_ 0,rO1U,lDKQL Z^;CjZ7'itxY!&9­40DCc3P_`sy-laz{Mh5lF IEWsGH: t7.t" 2f^5 1xk@e0]չ>XMsZi>)ҙiwr˫eh 9.Bx7Hb޵NeO.}P窙F9eO؉ČX ǷѲGmo-I+(֡9pGf j+2 F)_P kP=7 V``[/"ۙk{}f(3Mw/='Dj~`1h o9nD}p(cuؐ3<ʊx aD6X:''R7&ZcF|2}$hжȎHEwM: <0'bɲ +ba'YݳyJ ;Uf4)m8f/l|aMtڳ P }?DC/-/=M4e@_3ɅNV.0sٔ;3xT6;~@u}X?7[T&buRԥ5GV F /ikMtP痢VDa];5൹ԍkAf E%a;/@n1;㣳?|_U+otLo/̩gݔcv0ZIPk]m;s9_~/Vfq4u˓tF-3(T9lj!na!C*'IE}5uyG&P(m )tA@s#p?o1PgjK['Qnyg}(Iiz nT4˦fcAN`-Ddxr uL!l ${*OkO*%#9uBz*BIj?dT4e *n v 0jjTQHҾ3V{Pް)YX*>1q(Ts<>w<#62}}y\ς1榆jDŽjVHwNaױp 1WqMl?U2QIu1˛X5& ܫ` *ßFk^@YG5 խ6Hx80#9n\uHip!jV&5Fۧ#WAosIO( y~_ǣ,zr\ ,m lM`W0C 8_OR#mvUv 7 r<Ǝѓ|: bS4^IF&O[\I[6P/6_[taviTIqp'E~Rߜ#1h3J}ul>''H0c# Bia!Pch({u+ɧV$B5Λ~A[An&.|)+ G5,mMb613Zh=F0 E-Op8h1\f>Z䇖8YW}U0$y Y3ʆq-nĤ Y;T+Ӏ~@bg1rR(F;BZ^Y]~Z_ S,y:I;c>?1q+zF쁦.HELoޟO?Sɴw@A#Sk.ޠOJe(cv?V@ih7W&obGk?@8ۛ[.CSœ嫴 $uР/L@`=_T/aۄЗ6Y()mkHLU{vl)|~RS7Ņ$pV5`tJodN~ˆo T|%HˬeD^.Ԏw͘ +k;0L1+K,!tf#G&XdZS쩃sֲ|o=7`|g|- quKE78%Q5oK5N=aBk*PL񃶈-񉐎]]OA-{y#(|u?4O־IIp O>x+lPjDR4tF_ƹUKvh.IMA?ۏ&Ǝ⬮H9i05} *L8Ѳ ғ+B?kC `ݾ D%FY9ooH;f;#} 1'Ӌ]A-zm}-cVLp̉_= o=8IfQizհX5oi2c~5,tQ0v_jB{ꋬ'aᕚjF}ݕF ݨ؎mjɈS}.gZiʙrCoρ3}H_30#Um-y+cfExDmLQ c=Uw@B?T߄g"Q^YVnqA&fPsd½;RK Ve&"}&kՌ=Bl:@4\m|}4LnXK)wyP %7o/uT\YXoƻk'F@5B{7ndž!˛k'Ԍ̨׶gig1PZ15Ӗ:V-d~5CZ3W:!mKfJ22&!2ZնܡpyT7$gFd?cȌq6e䢺< {v +}f;rdi{Ɲ|6Ŀ0Jha/#;sPmj !kìIIʪhU˲v=y@#@i/ MsO XYuT@AFtqtPNn% k=P 7] Ak_DE0 ~-Rtn{)(I#o^_ eRm Q[K,qjdL~[Ok{꛵{˺>#srD|HUm}#<%Ju1% z\c'%#J?D9c.d*ە5!30L4ߘfafk'ܰ¿m^Zْۜ!Jef v̓^h{n+X2[S#f׼`G{ЦDn7ۃ;D=%s{|m~dqWD=)Vjo-BDF]ƤP>4^e21w/Ih 3k r++{ 'gvWrK5ڑMg!|kq2ށ$K|@CYu#2*鈰6hj=BG8/Sh +\md=Af\˗}KβLʲt

XR.Ʈx+4=".c/wUG OSS %wN^3>t{V + m!e!5Jut،o0+T#w:+SjfzImOYP/ t* Bzg`Lr |ȳfPS08x~m2gug yU[Gf/FrC%帴/=bAX>@3G_oͻ>re2ch۷v` 6͒@N)} +a/ZBg3=byWM*N&>=/tUa-@'m EL[Coͣ! @dvjɳyXm*օz؆<%* [t>QA/M¥t/9i k,[Yw-*Irf'>PI? > ۟'"orG^Gk۰>TM20HAȵpx*f rO`RṁGx* @ze[}{jvsJk8Q Q(Nkk5nRbWNB#OKx'(Ec扁$Y׷_7Z.OM}~|/.d%Y;К6s7 xk8g|za `.fe yU)wf^{pbc+{uMnZe'QwШOe%."e,!s1kXe]G皽/١= 4" Y(Kf6$%)o9.sb)ZL )`_{yOd4)L4nuSK}%O䅒~>xr|7Q}o).&Z gZ[[#ZmRMq-Qg؈xo̬.F=9|5#,@~ ~rc7$]uCw'M9ƽ!]&`6J!c^ r1 JwbڅXpuV[~LFρj"D5ʦrW7Qt+:z * ҉h`3vZ (`ȁ79QvtF\׵h#ax6TPh!Z h9.gy2y\xk/hcu{s}^/bt~0߾\4tdMJ6U=.|p8o:Qu߾#ߚ9C:PLo ORa/@g2sCa;͘opW+4@u._7gy1]1n2t@>M&&GҴX<=\!Sr)RVpB}$sd]yϹ~)nA[jy0eG߭$,!ǗEhŐE 1w-kчre<d.YIKݶ%c82,Xo|o  =&8lڒtuyV%6쨆OBwdiRa{J5~npZ#[B(x楡1 %Ŏs!u$Ä=XeAlӄ`^PO%P_[euAeZҙv4<8'nð# #._*v~ɣTׁc~^5&%>7uQj4˧~$H[K}p:o#.{4Bձs$QU#Kgaw=Iv=t^7sb_*}D|;[0jt2Ҩn͸?Q 1C*GÉ=Fu|+% b :>Q} ٦. rLӗ!U?Gtuh/-ߚ՚SFݗ7.fac䯬)[F M (IK!n]OT JBE Jۡ%ja'^2åJjķI?817P1Sg ܮ8|8 :}|7ʖmlפތ=Bջ Shެw]h/HC+ 7{ Qd\$ =f*m6YwԈB["z`^fs;e*)Mcd/C7>E:Cja*D(bkkNL6 }!"C;(s}d;AEM }>D[\Ɩ`%]!N{p:Pk^X}x*^}-X;8SHe#H"Q i]i(1,k r7K|kGWhԳ./ft =FA&|UoгbLXINo"6>gZ`IDWŪDjߕ"*- 2#З`j()k ^QD6H?J!ko?RbUiPXFO5}1}nʟ(NiPʥT]Otֹ1(wz %s ^dԥzHt)=۟gh1K碥%4SOrQau8Ly:۸^#etZ3񝽒=yFg1J+Tlp9~?`Ѝ?MmVGן%&blc텥 .ώ\gwS]!ZRQP /7jS7JxbnfUnP*W/ɁZr6Y)GB~ܕ{Uƙ*B۸`7J؉Q>a}l%M9M1mmpK&ӂkShI/hqq.< ^Q`<ԭNt[^6p:ĝω2# ÕmO4/X/ 2lB\ky~,4wʌC#{9ZcI‰Ro}{=kߧD$"_g0@l ?;t0ASMfU\fwaOeFCwǡ yLAn'"y%?:緤8iܩcq.A;zx i3 bE= ıIVte\;JҥVP9,JXmcT&Kg~3;yi|2_TNXEj*Z("IIs9Q9WGb[ȥǒNgR[][+k*-$(Ukkh{7PI K'A/2Mڜ}^- jҬۣ1U9"ql@]}w:B 6Y^[@pYEQEC"a#=9>“L>cM\1W#9+IR2^qan'RuF8-$G5xo(f?E"Vgøv0k\f:M<+ɥur췣9^['4 FWVFreх?;Z͚C`g/]#?5o*6Wc`q؁ ǡš{q*:hw}'΁%6; cO(%gQ{np &ɰSwF9%q! cAGw:2 1?2ډy[|^x H /zy1q| / 6?NTȴa] ᒂW]smmF-Lc06b DG -Ͱҏ,2$e.x8» ҵ7P+Va.c>j^tMDSU @@T'&|ò|xGqT˟fdP~ Kos8iǰ?5j.1Sf!9PVUxjh(ʕV ;}  S#DJY!01fDAq*B*IUkv`d: NjT8TduTP}yo$>-۔1yZE}14`S6ӬtnsV6'xn45adM1No8Ɋ~'&~+rw| LJdi&c Y!zA6z*b{Xm=331@Jރ&SUAVOk[2QjJy#akSGe86R=.֕L^9Hˣ&4$1Ƣ/&N0x8QJ)g8F|h[5Y4n[m"t{[6ڳ*h %F+q$зkt5$K[Hv)ert`kiP>Ot4~k؏K˲IQHbꀹ")KSS*G)UD Ч;h1w k y1T̉ %ޒ ȁ)q]>Uf! ?v銫ugRP\xY&0|jcw1誴hH#yeUb"rA#^SvUd#!&A||wOSAַ}b9j vľ8;W"Z;!GZ/B%,:p9+;8==n]ɮWx^ v}?`|{DgX"?veZ`! :S'<n9md=Ez_YS>}‘jLC˥لܷQa^lV2Sa}p!4I$@ƊI)fH˞G0>X "rR͜I3DBIQBw׿#rbUYKӉ^"J4*͊̕!!UTsgu[u&,uo&563@݈Aq Y[ (9$^/D/xH /ttpIHm;HUhJ6j+Hi{(k.HKm(ꕻ`D4CaTeW.f i'}VN"$W  c<e4I[2R G.=mVrIl&N|uQ^JS(tR(`-C]\5 6OA0ǘoLJ]VD=Mݸ tn:8q:I 432f.Fǝ ͠#4Ѵ}_MZ1`|Z wY!d%'" +1yW=1gB(RoDt1rp~2G/̽S#2JtO'LʜaMMƾ 6T;+@Gd"hK8m6tOIEJU8'W 96uqB7Ag}v"pY4_e",د]r><@e@w. W,&T=Ѹ(#sQ(݋,v Dh:沅n9gq'9V7^G+E/ VD8rfNګK$67C.$JA<ۄ[\] &]Bdž3cg \f"K~2Tg6XP4ʕWs)\e +v&r9 Gyj8i_p "S  0RhL;M2]UKx8DEI8AmÀ 8!/Qv@Yc7iv7Ůwk0tYY"~힙Z!3?aL7y2$6f[!dB %"=-V 2,EI8Cթ.}q~sZBS^:A0bng> 9JI}An _ĉG!uZG~P%Uf_ {U .)ji/E*WsLWӚG~lcVO'vV-P酆W+߆Dzz@`ShvdV9R ]lkmG ]J.mcp؝P YZ