libpmem2-1-1.11.1-150400.1.10 >  A bwK=p9|Ey-r~tx to9<]usع􃪆pg1 $c"E/<ȐD.9!̔ӖT 3c 2p ɢoqǓP$[ש,Cj#"x̰Anj+L $>pCP$?Pd   L,08<Uv     & <DNXxD:(m8t 9 : >L@LFLGMHMIMXMYM,\MT]M\^M|bMcN1dNeNfNlNuNvNwO<xODyOLzOOOOOOOPClibpmem2-11.11.1150400.1.10Low-level persistent memory support librarylibpmem provides low level persistent memory support, in particular, support for the persistent memory instructions for flushing changes to pmem. libpmem2 has a new API that addresses many of the shortcommings of libpmem1bwJsheep16~SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/System/Librarieshttp://pmem.io/pmdk/linuxx86_64~bwJbwJ8f9c4780c1da80579a424ea296d43d3c54e41037aab35133fefbb3ce013d708clibpmem2.so.1.0.0rootrootrootrootpmdk-1.11.1-150400.1.10.src.rpmlibpmem2-1libpmem2-1(x86-64)libpmem2.so.1()(64bit)libpmem2.so.1(LIBPMEM2_1.0)(64bit)@@@@@@@@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfiglibc.so.6()(64bit)libc.so.6(GLIBC_2.10)(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_15)(64bit)libndctl.so.6(LIBNDCTL_18)(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.3a]aI@aA@a8a8` @_*@^E:@]n\@\\@\O[@[@[s[Zc/@ZB9ZB9YYm@YTXDX~@X~@XCW~D@WoWKVV$@Uchristian.voegl@suse.comjengelh@inai.dechristian.voegl@suse.comchristian.voegl@suse.comchristian.voegl@suse.comguillaume.gardet@opensuse.orgnmoreychaisemartin@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- Update to PMDK 1.11.1 * Bugfixes: * doc: remove exprimental moniker from libpmem2(7) * common: fix missing sfence in non-temporal memcpy * common: fix a mismatch between prototype and body * common: fix mismatched function args * obj: rename vars clashing with those of a containing block * pmem2: don't force smaller alignment for fsdax mappings * pool: don't trample upon users of localtime() * rpmem: Fix RPMEM_RAW_BUFF_SIZE and LANE_ALIGN_SIZE for powerpc64le- Trim old specfile constructs like defattr.- Renamed libpmem2-1-devel to libpmem2-devel- Update to PMDK 1.11.0 * Version 1.11.0 - Adds new APIs for libpmem2, most notably there are new functions to shrink and extend an existing reservation and a new iterator API for mappings contained within an existing reservation. There's also a new function to retrieve a numa node for a source. - Makes the pmemobj_open() and pmemobj_close() functions from libpmemobj thread-safe. It's now easier to correctly manage persistent memory pools in a parallel environment. - Introduces a new API in libpmemobj to globally change the method of assigning arenas to threads. The default is to rely on a OS per-thread key to store arena information. This release introduces an option to avoid the use of thread-local keys by simply using one global arena for all threads in a pool. - pmem2: don't force smaller alignment for fsdax mappings - rpmem: various fixes for powerpc64le - doc: fix documentation of pmem_is_pmem() - common: fix various minor problems found by static analysis - pmem2: arm64: fix possible data loss on ARMv8.2+ (improper flushing) This release introduces no changes to the on-media layout and is fully compatible with the previous version of PMDK. * Version 1.10 - This release introduces a new stable PMDK library, libpmem2, which is the next major release of libpmem. This library has an entirely new, but familiar, API that addresses many shortcomings of the previous version, while retaining all of its functionality. To learn more, see https://pmem.io/pmdk/libpmem2/ or libpmem2(7). The old library, libpmem, is still going to be maintained for the foreseeable future, but we'd like to encourage any new applications to leverage libpmem2.- Update to PMDK 1.9.2 * Version 1.9.2 - This release reverts an incorrect change in SDS handling "pool: disable SDS check if not supported", and introduces a proper fix for the issues that patch attempted to correct. * Version 1.9.1 - common: fix LIBFABRIC flags - common: Add runtime SDS check and disable - pool: disable SDS check if not supported - obj: fix failure atomicity bug in huge allocs - obj: add missing drain after ulog processing - Drop common-fix-LIBFABRIC-flags.patch (now in upstream) - Add a comment to gen-doc.sh- Enable aarch64 build- 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/ldconfigsheep16 16519850951.11.1-150400.1.101.11.1-150400.1.10libpmem2.so.1libpmem2.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:SLE-15-SP4:GA/standard/f8a69f4499cad914e3d296c94e5fbf5f-pmdkcpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ab322f4c4c2a2db9cbc0f20e3d258aabcfa8fcc4, strippedPPR RRRRRRR R RR RRRRRRRR RRpm2l;ҕbDpmdkutf-89443fdaebe19736e062822680081d39dae3a7314654d099656b2d4abd8cc6770?7zXZ !t/ ^] cr$x#F2 $WI4* "ƝRHm9uvWOmcn7dei,fMx]n4Zvc]J2z pس,fW}tcCovdD>"Zjm'$֬Ѩ4vJMAK6b}G }0/VVc_@.#o_`Ѷm) /-*UHBN;CQ>ي=#u w)f_ HR{& .WTN,Qg|3+YFAʗ]7?i۬-G읻`z\vʒJz?rq`%y-gsd+ݕrc@+* ϻ{jA }}bSb'A`BqS%U{APڄj~Œ:!ߊai,{ϿԆˬ)Ɵ&eN1#{{ltk9Wm\BRhi;&"dR,~[h2}RWteXl5fİ G(_^Td=ߑ$ai-J8Sf@1,\ f [=fj!",<K ~Mڔ+TJ}H@/G"O^ }s45͌c$_ܗ(1HUZ5AtBy bрRC1 3*y5 ݟOpI ƁdVLwx0c r yPwL5ڥÇoO68:abe ;2ҟ7,.Ʀe+nN.3_ &B ׅ2 A(4˭?STۗCk$t< &eiiRWz2@LCyݥrp̗Vo>GYɁ`_Qa"5CN]*7e3ZU|ը ]'ϵ2$T֬.p P#?àD' u+"TE =uxaN5BucMsk8cH4do(X9v5?tQ"+uBfy&Y'Go5+Hbptbz? WEiOIOW`ʼnG7Ree_#NCCYS"l)S.zőmӝ|pGfRvfVW͐6|-y+@"DEDaMx GS?މSzT^1D\iSyVFSd!Hb(OMF;bwFpŴ@>WQ }-T\M1gٔ.F LJ|W *qt#0{k8=6i7'L;\)C4]j͇(VpqlxDu5f*/9ǹA!Zb^AP|tYH.؇ [oFxp8de8z)Q%#.i30G. wpJ Č*jRNb*[zFTLءN0E [omQ;@O 1]Mᵺh% RCb[[w'LwURBq̸d[~ Ot.Ssv[g ~WJX!{k>- Mcl} vOئQ~vlebeJvMg$%CVNb@b_c(lcr5hWa}tgIS~tΛeaP3y =)32r7uHKafFUhX9ȠIWL (.  &H(ZE8<Ъ%B4Yt& _uK a]IE?ۦ$Gum+q6EȖ Iq,"t3!TTXLqqs[f"BF”XļH]|o|RG)u쨂 [WV7- oVs6x^c3 3$|Pxh@O 42qټV"B&MUa`0Xfo{I\[33^amDžWS}3fү紊 HVq)jv%7qk[mqI[:1:.JK,ׄy{lk(7逽mJiHDZ2o%܊s KJ2 3! ?/')V)IƕUFYd[7v$F)Ǚu.[4zdbMv3ԎX0L5+4fN<}/܌_)rօ44];Z}SRwaM``MhНfRcWF>,80fyGoc0.ʮkGLǼԓ* ؋ 0iNRaA#JA[ b9od?o C2ֿRZI" xvS,u}sKq⭝@>9*tBIflG ^%P#)iɲZjF)$sN2+$ kPЁQ\fsҸ--bK,ȇ I8{F({0`FLb> 4wR#(/8ǛH,a:'^UeF9AUm.hIeRI ml〮Rxml)` '\ 98cἵvgTTP`#ueˤT7Sr<)=֣pl9:G&WmWeVﱘD?=Up{+ U'69a(x@o p,: Fs=WgGJ[b>ݩwAR+T[\%ve^s.ϝ2 rݬc@Y4_=y0 LHl!<,dyvP˗ @V*&r~Hn'ЅGlgbؠ!͓I\ [hg[w7\S'V?BVU7 E)Cl!*^qJJ2H*6oY=PP&W9ShQYjQPŇ~;p\`JH4},#:JCUhU4 !`FfwDw&ңG\sҷGicڣ=bC +SEzm*쫲" pkm$ڣ"K:5r-T kCem4by5fֿv\ cAOb{/6ozF␠O翦ͨ! OJ CX;g_37FTra.j wjRvT\ b;ߖ'SX?gh3]]g׬W&cao8V /`V8C#'wFf7܅H):poVY_z WJ =R);1`}GŹ[X.88h"~~ePS=&lBܮtX > 0­6x` Ht)c,ս\ 0jozmr ꯍd]ṍ_F(4qrC:E=:G_4Ln -l-a6S6Mh:MH]q.rР 8FJ+OvνgtnU  6 ygOjױ#}3vl#\PRi!C$f7 kX;)g@I̍?g(<*,Q8t `б%.e=uT%YE[{ZTuSGyY6i GNkȋXpq.NkJ#_'<)P2I) 'Wkrb#WqOV8hTUQ+-&U-S3JQYߝC!8*,OpNYc"@%Q>R2Pj-D־c H)FRj^LΠweb-Si=ͼȋsa/I.Hu $Tp"Uc*.]%UOa CW:!&W&{~ZYr &QR0!OuޯS]őKB4Y,^D:옏٫7~w5(0R! x{BOb;c3,`O<%|PM*}4Q}{`2JK"1AWnigUL!J"uoI%y#jN+5`ZE1~C:\0 `-PK&[p^K>NRdNw&4 *5I/Lgh[MS6hmKC[hnjF:buW*ĆToS[ է<ߔ[4.$G֩-$5Ő6X.U Oo+dxSlge=q&l524&C? Il8%'bNM3ytixqh&UZZSLJސKlˢ_; BFxLS9m"D˫p^&ݺD=?1d, HeM8NS~a/z!;ȏYkVV ITl_i?o_Aٞ)`W#Άt.CO>ѹXvt˰ԓ 6TIpZ=_>@ShEBKg62A@mŘLov+n.^v";c-}*&QXRyۯ28}a?LgNf8\@[4- 'wQhyiГAa8KSj XiV 2q] Z朳RCxșqqTiG;#D ֨%1qRee8LwTݶ^"t\LҺbU" \NRuA;Ax!؈l7&Ϗ϶\{L1qЗc]j5%{X;W!4!ծNE ] ~i} ;yMu|>}bz& -mABL]jPVHUBiWcyi{afuo\e/GGÏ)~b8S] 0m(+xHJYX [a/!DX4\a$QHB34 -^'F n'UV7e2j7oQ |'ZM EJ-ٗ%CstR%I" [s\_Se2nad_@j|B4}, Xuf`pۇ~mzB#cΕBlyZGpm.QN'@- ~1Wڧ 9|v!7ez&l= {޲zQ;:tV){;+rc !k5d,D+llY8.7O@ M$ڪw#t($:!:Aka u߮vxדf/c:A׎ٸpi<N3гNd)j0~Z O $D\g#PVr%ӈS&yB?y!7=a< Ȥx4CzWa⠃W& `3{y~bt<%<  -Z-mu2:օ*ny >d& t&ב?#I=x28qVSѱ'?\@mQQq<*g>UEܚ'pa8eR ~kLǨ: J ~ ;`v܉j&15\4r̐xiHJO :{UܰH#\21_G#MIj杫fN LZ27Ij!r+A94!ɻd}RZoSYsokf8!=@׊#pj3%;>L>k~k s߬]s@OyF1ِdt]uPLկ֕< :H2o^J+fe+mGZmTLc=*`:JJzgH K]!v \M-2\}p8}>\^י\O m;+SeFQS"q|ԋUC̝8u'^} zMs4:j?yk|II%9۳.^i:?[;Q1ej b(r,~ƫOvC#$/MC-%[_L=BZxr RoI_'(OJ>*et da bAYx!M1Cc &_{ tmf8v笳Mv@ْypWV!^b GsIqQS ͣ@ %y+yBO?^tRi)?Mif"]6ItB4e`MGMDt]hK[z@,GXn}ZXjh Y‘"8z::$^)qт#in^1̇&]P z:;dZhD奐q95 qh—x%GiҌ('6֠Y @%hDOF6ez=CB*.7u{.P-`Id:N-c%JQW}(PaUdY67]a=_.MCR)D3>*XaaF.x?k#+M⧵33TI֟Kɣzgs# q)=OQVDw V] Q0@Fd}7z}vKJ}mW|\Io ǟ (sk3Si_Hlpj1Iy aE3t7Qni_̱ mh*l%z8^S8 $dqO^LG ܠHC\$- Q[1<=қ™w鿰@#ur'L  Y[=EqNLسH/5MVq:YWn AAJ|dR~:}_hx8J8"Z:U(f3Ipa:p1p}V`ϰ&-qRP%HL^+. aृD@?\V2w5J!xѓ:[NEt|EЍ,3鈊mPТrBr5`{x߳餃>3vy04âKF/:p)3sWHmGQ}Pw=ũ_HZ"N| D$,IoUg dmEMH6ÇX,Gq ?lS6y|"F1I ?G׳QbPw{oma?A^i |;2e'+~bӇC'P@R9fUɵn\E| WZ̺JMG@ "\VX2NtRrM=؅1CЅItܕv׈r zMhNL)\V]3n$c}kBXJZrt??9*(Oi"t3>J TǧLxe@tU^G1o-~_iaE [wŌN̼1m]D CQH(k6MfZl8"lEhB\f5>~f&oy{_BZW\W2,6]GU rM^M:O[IO$x#J%}\:zC VP{}de~G㘈bH@|UdH^ϓ,{~3MކJ%ߋ,ҷy[W-~^E g'"}.=p:tw~*3LuTSwHH0dfu9ڔWWr4fNߢN]Dz8][2I`+Y2cؑ8:`T'i]'P,T yK@b Q0lx_2uqP*X$SX3.*}YXȰvJgY}Lְ{RگrqM(X.O8Ñ,BTH/.Xw@]C#BC}>B.0T4&IͩJ̶I3*4A3I r ("_ CCKRoìYAo:|W?DSOFa9^ ,U␞ <s}X[c~]Z; 6^cIwҿKA{E#F4?;Iz0|g)?ͳL_TSP G/w 9EAG NW8wSF;.Agջ3')6ѡ?J9M>2 _51v{sKQfVvwx7XvY.svsV"{ӖwXrf/xgNrvV$[j<0|G]pOڷ 6BqJw8.To301~__vفdB;̺@LjUU0U_X+x㝭ò XteE6 t2!p0߃wJYe(/nUC&*w~5e y%w=`YM$GIW802?!Zd.SP*o'Qq ֵsd9JMjMF57#+ %I 39!ej7TzqjG;C 9\oϘi3E^{Z-f#x-rlMB*i`;t@[%}m >ڱŲۭIW?5΍:u`(q-V/}gAU4Vv>K/au p]f<ـ~0:M}$ ]bs{B@|J0S˓5doKiI@&0X <g&TC ݌C!] `㞛Fܔ,K/9kW9z2XQGM 'c69} t05&)J[-Б)#E&=795FI*o@,6|mm\1b*T-N=KᴛzK~@ܦԃ{F{#1*f j϶]`(Y4]L$\5DRԆqR(opMzGJt!Z;d{C(悰+JWI NDL $ G4$!h/QsE`Z[(C= +Q UZhqI}`>M'y%tu: 5set6GNFoƼ1oS0?=HU=pT!j;Tj 4v\9 )$=pčݠ>EF'#T\gzQj\;r8tQmЬDglvWpmj ;/RtcLi^ (Bl. -B1q;|Dʗ_8',j'7Ο mLVHwl4߻͞NNCnܞnx쭷Ґ7Еo^8pӟ'5' U`ф%O_F4*8^OҏrAWZ\.5'VoTuf.c$u?az,+{ݮw5?FKu돎KMaIWt4 [R&jؽ9vrJ&vo-ˮIj#us'ЙմBÚ";HUT u닲~vrM JV 4uWqk\M@R״D{EoD#iXTgB1Ql{s-QV=ߢYk?S˨4/*t1*7BhbIHrnoaDUWxw:9#t9DfIQ3ZiB֥u8p@zBp ">ݓSUʾҜ`/dc%|ė,#sТ| $|DE< U+,3'Z_WL؛n2;+A5$IςSSIB(UdM7 Qo{6[<(8eԹOjυw ~T7Ts#=P4M/Xԁ&(Z+k 9>(#; " &r,eRﯸ!tp˧gEnB8:\jV-֌Wk&~ X5e)xGMfcݣKC[7}d]U}K`edKb-Y |< lQǷ WsߗN HhTzslNR b&ؖN}} *2.fDL7)a+e sMxN[! [ ND#QZXYS*9۽͏s`C7U֢MՏAf&~ T~5R0OO Vf:+ˤM"8oS)~.)6Nt1*eÐ]*(gE )aH6QvN}:t=]9ײDMcv #von _H(/um.F)@ +O<$BƄ؍ШsߑoVO I1FEm$yn p$!e FA뀩`{vNm@A:#MdW4und]``"^ǫlZ@ >(Ǖ(̨7Bu? ^z⒫(aSI.|Fٽ$VK\dx q`I*U$e3#pirCĽx)CT_G'ȞdCFZY|%*c{!aKGlDR6֯d?PCKD%|Bd=C޲ T _()]njMDVk+0!o"$-A@JO7ʜ _O4pl9ZF2C_^HJ\Ap.'D2 |lٵRQVn<19|dL_C< br,ٴ7dGCk6 D"}t=EG됅 I=93A@J 3gĈuM$w@h',u MŸF,nΊ 9RҼ'UC|[iɥqB56C;D[/~\\xt Uca5[څQO NF㦭 ,/<`P:-o1vdO@.ky1oy8Fp݋|<=_V+0Bf|V9naIQr msH.i2Ƨ%Ȅ {] \^B<8y!k@vX(~iF' ٨yNxD*մQ 1g ;nA_GE4ݒ^f)ϼM.'Z*4qHA㙚Ѫ.]ɢ邂Rm5_ָFnԞ+P椿{@mog2[X-'>B㽊ZAhƅ9;k9voosܠB;;_ 亪iŞTNcp[y~u^Aa},i"}N?o}qƶ&zg9&9;W%.ݕQs1kr#h6˂Qjns4AcIe#r%צH-x` es\ot{ ]<5o) /ʛ|ONbdx:kjJ>qI_ K7'bˣOEbOU;4Q|z6Q]  Ҵgr؀*ar}Z %iM`6z?0Si7Vs -m{!x}} ֤=yS;UɎs(8 ;\)+Քfk3lQmEW~x9fs _!3PG^7jG:R<|E)uC{nO)UcԆey2֙:jǪ HewtWF|U(S[8$2e fTx~ff Yc^`B`,? Ykġ E#;vs ); .p#<,- &3k 7aR"];~ܔڧ"1bZ (\ 0͙֒6sC0 u12|w]Lg%VUeaL츁d{ 6J-vx/͙Nha~&]SAbij"+@tp{@vRY~O)*<mw$n37]$;٧J$0qTYԺzSF 57e;~M% :Lњ(M^ D2C͠I Yѿ2JCO^1JSCیwYK\^3e\jg#!ϖd).>(3L;Y 3Zs6SxH4.\e2#Pks V4 n6Ps+po@]/Dq\.+\oՅM~$H`|TW=TQڜd٩vIq6-Kuereݎq9Q9+fso_ʆR^cWrv?#n*ٔ"x lJ<|舴>6Vw 3(Ω) DḯѰ:P+m1L(1ҹylup*g ]OUw{v&B]-i#&|"q:K Dm?vX@̨ܼ'33.anWWuT=OcǮ ̀V^4}r V`1xp2`zO7҅mgCCzYmZ7fO=LV]T!T `$drf2^iQ(ݩԄpZ5@۬L]b=YiT`ӉEN*_hXUO3,nCL 2KzA STo)u^Ca1 9kȉZBHHOD( MR%S/@NHhGvpOrK[%\0R.b: /E[e.k@k@Zhn\CFO:t)Dij`ѰҼaPYHmRZBSA.Kdi?A/~#z>ir>YWC!Yj"4 XFRߝ^#lTkRc-:]K=9I(A%Z=]=_k@Mٗ^QIdLqZ2%%I+):]Z,O+Y&WHݏI5RWd<uB^ ը'z߽l3)/&O;]41 `g^_.ލr xfOK” rD>6 J3PHK'a.'c!OCߠ–Pθ> ) ƀ߂߫hj_ʶ.Z5Gï)5HGZRhՙ^l}V˸7QsW+9v|?T+hr)+Қ<U}ݯ7PB΄ >B/nl= ~CsI2jf+Xv+B^e/gHsoByriY>0Yy83nOGv@j\4D껣GOKk@RiDҶBsY nVE!mV鋢>9*K0"6XV|fnm#+2m&piբJ8{"Q@ _`(<Pi`r`OtΠ>ྡӉ{y $BMbyˣEh %?jJXWaijW˻1U OdU=oT{)IncI)\U4մR5 wLĶń+{P(.F#WBtq8g|$Q&X2x)x7y*ix u끆nQv|s길DrE#ְ]##t҅3ЅDgf¢(E.eclg!xbMM|jVhC5v*34u8=>&]\pb=ɗ%R2ER;SDw#Jx;Zl.*倦8|ІAy3i<ߎY>x,a[!7ͫ:+'z3go_FՈ4 E(a>w0p+aܣӌmdww45wN7WFb϶m}fȔt6GXG.;I<\ Lg:<Ƀۼ?wuϢ(VЯ@53R1@!DoY*gn|ouq,ʕR8Rp _vIe:-lpRH*"J~ŊpwqgzhQh͠+΋v(U}(h=dKMz-O@GJ);VhIK&T2hP4G x*ضQ!Mi.(&CqcghnhkJ1A/nWYju0;m)WȘvn}<oX'8ᒧHaxnpzBJc0e&Q?d (==cx fRY&.I|k'$[Ȉ]]d9BC#&$]HQA6QɅ3t&3mNxݱF'O&*gm3m(+*!m+uWײ.S`[8Z\sh V)L*: GÿOG;%/Z7RVQ a@ tt2o9'N}*ϿPYؠRBIF2qײ%Ȼr)-?mз"R)W׃텟4 -m2DBk!A`P_:v""#wŦ=XZbio]o0nXx% FoI]eR2m{R`i {KEM r? #|5X}%Fnm=NbXv>)q˶^+{|PZ cRCʄ=tiѢrmCfgs@؀}A<1|˯T輇r5Hk^Ae_BOb`^$$TFM׳R6oE <>u#h*|lYoX$m{%'/vUweX#L &&?{[RK~vژ\r,KԪ8ȴV qa1P,!ڱo\pX #;i Tw' ik|uAb1Sr& "мY,Tdp5to1^%Z[3f G B5B鍢hE^gQ8y]"}E m&AIHlʮ!9Io Z"ܷf>)޼'S$PD2lU귌u>=> L$>WON&Ha8~So$sk)^xذ D[zT؇GiR[#"(&ۇ 8 HBmMTX&4`z 6/J<eW 17$$$wigb:yh;: E6hi z?JHQәbYh Ne@O> i{ ^*q4t~Jn`5bNRNc`DUJ&bS}.,9MuCM4!^_D_,ʭ1 *5d&= 3jT&蟀ڡBum;r";^+i[583ia tm{fpn9.sy6O珀bkgd5_hY;eX_\QΆ%Xrv$r.R{8Ն:} .}-a"grP^C$Ov00$`҆XZ9~=<0+RA\ÃE9uj]LN;K F~ [X)&Y\"?NɆ/*OiD}p5z6)n[.mFN)^:Tryh?F=%"4X c~u:_kmfiR.wĪtr!rnV2a#J PjpU}P A]!wa_rA+Sk.9Ws^ q7+Ed@sz#z"D=XF2郇O>c*^v8sh#h<,O=Ck# -TG)Ki'99D|L͓+OR>%1s/uٳάZx+x&mI@R-U2eQIZ+7дPmw3OV|&Y}ᵦpb A2UQMIڅ3QRmO1e%;TU!VL&lJ Aw~11uY}ɧ6%gPqB0tn7JYz9;w"-,X}mšo[%֏zR43D~p5gozCgO'[sin?XCR%9?-mvmĘcZZٌahzE{Ŗ5@ɸyp2ۗH#)GE ۋ8Bԥ*M ry]?PFþtE k(9 Em2ۄmքgInӦ7Ց`[J3Lb|xEuhyZ@@!Bz*L^<MyB&I<EDM2<8{ qt?K[8Qb8 փN@e%d@suG(BSN d} ɖ/> Cr&&D8rdJ >ե3 :yN}bN)jbx1!pxc$B9/ v`<ϙ `6dY'p|[TmD>.5sI#%4#s~"ȟ'+ (~ @׶:7g~-km}0f1D=廩w($&9I}xe~{ ycȻe[U@T#C"RiNn @Qs*4yotw "L7pǥ4u.eWr0ӕ),DF/@C[ Z}=vR^dD+OO~0[G,cY2plbSAg DKX}m D> @EȡS>? 1*"6;Y||#MtH+ 7cb$U@&ϥYI"UZ6 h QEL P~$ަ/}'/ZuՊwm?tǻ*Q[Tz{m܌`#;&Hh;m6Ӊ@OX*4J곩20^`ө_aG+&װGOk$凈/~{oڂ8l 86Ni DSX)(Sjm0RMGQ% Hs'9ʜj _7Gp|+/lxgBlI б`u(u {Z.D]z~p+:Ŀƍ"m1Xp({.2%w_l=Eͅ,:!b괱1i+X98`lJ~ э]wAɺt FٕгLF[ׇ( 1=Ԁ уÓ 9gfDkiZ7Ӡg6F?Q0 ԃ0C Śx7[MgH;/CU,uAb5Ja.u7^PCd OAT. ' 5nE+rdKeNj˦MH߫y{fsw:,;kuR(;.h%B;W[ZJk?x+FyJ<ޤGA[@6}oA{qzy.YsR^M-B]9Ք<<<-Sr=W>\7=)\ؙ{2Ozz|.o~Z[QO0CDaf#o`Ƃ6ׄH2sڀ¶W t.Sz\70H[N6WmnVX 0(1..ܟu+p2\#1@Q31L3cR!Rr[| A>SR}tuO췳G`Oi}=m$- Lsnp,E엋%ݔy:jnȺњSFU}F/`Q4m0:>QP\b`k@9?4}+Lzi$1O]r:DRVXߒ槓<vƾzzV㿹B%,*htmA/Rd+i=οbrI`>dA꣋eݴ=u1M&,:VnjYV -v{߳N2rdvGo W}^٠ݻCl>t)@uX2 G<(&2ĵ=uXUH^jFo)N=/ǩOoqMO?ɬL-qY*dw.ü"O*;DÓ3$Tqp3y%k=dNQV1)T~z.f<ŝ0{u0͝dq/_/-?3E=u2i<^] ֩)a [2wb> )f(a4tg3ÍY 0"85+ȵbtF.k*OW[M]{yZ=3{e"Hg{w  .E#-Gac9毛op%ĢWIk~nX1vߟodU1cn4LݻUЭ 3Mwq :PeA\o,S7c-k_s9&H̤j׺߱La}:<*nqÈQܞTx1/tU2cqd%*(._X B9k%7d|~gJk:~0VcGЗbYlQ$/6 #2- +J߹խ{sop~rVTs%s=[עn`lĘN|d{t?[DOȰHbju҃ Z4)fo<8YA^H(+t*ص'=WWUk)V/06TҶzCdc15U %rJ- Hw ay/Q95yK!ꣵqy Ol?9w) NŁ8cak4M-G_P=e/k xj g!EZiʐ&IAmb%Ș};VZψj]*6ihd"09xn>U+ mIZG;ꍽK:'>Vc9#HMr* #EsA]#4$Ld4 ee -Gs5NȉFNyW oȼsR ]ֳEEF}4Q2L=65>lf r`CF{sh uq)PxdPc@ RB NᴘPa#kY<8}\ 1Me?fep"2.5G/jꭧ]6 5S! 12hR@J,(zO|N{8p:QA~e>UeWl|[KKi 5%6݇ZU.m-uPc5;ooMθ&\D.-v4'4-aj}# n$>VIqrsNւ9&?~o5ɿVm×x%/v휸?!i׽9&bƅR#GtDɔ#DB1u  ;Fs3bBQ/4#'/̒>{ R?Zy -QCfVGlLut3qEeG;lPJ$FEcHvvyɟF_ݰ .{]8Y8y4YܷT?n;nֈbվ<):5'IAZT&jGD?DVGcZX%CђG9*{syHTگ2+sCp5gx~ A༨kVžw7G:dW-嬵vQs  Zʼ"^6療v4^/XYNad=8}=n čDp6`սRoyvafWv]]1k@\/ϷRȆ{{:q/xL9 ٶ- ۬hSƽb}*l%TFs.|Ad\/νƃ}av&bo@rj8AYpݕ緱T*[kr!k5d+RE&m?!)\qXP RPK!@QpH5}R \JxK0 lXh܅pd w}O)Ǣ6M646 S|dHxu,+T={?,3z_!{=c<4<¬lڜB1j06xNbMWz ~ї߈:ГgYi""QфT_{Epl4ʮ-Q$xz_l]Ӗ[9tz@E_it_ ~J/YZ Fž# R@yuYdORfB WؽGJN6lT7N; $p&؆Oם<eKEGE&Ub OS_5;Úe-ǽtؔUzmܦAe-)d/ٱ [l懳5grг908KlW9g~CǴ|BF pv+E vT q4_^#mc>h^9踥&Da,/< >56ؔ |"A6%:~ nNg6l҇z:u)Pg\1uFc)$r%+S&Xc -zX ޥꣾw¡e9g%&T׎F ЁRNnvUI l VvOk23#ܳ!FToodD3J9c1N YeW" ~ PPjw^G f):hmİ_$nħ|+,!NUoEs+G3TAf(bgJ[v% ңyf91_h;kD׺%F_4XiqZOG`A|oѩ;dueQkHXFԌm$2IF_k\Tť 7s;M-< D}mgɛZyc3*|ޛ׃[5ad o*Փd\O_4SŤ7zXaqܣ]"gt>C^_߮ƤoUn`5꜠HD;S;D:˗қ(L|ۀAMż8^FBy „/JҝH꼿N2ͬCY1(C %0"΅k{dk xYpn~1VOs5[uu92['*>z5 = mB"ŋWP÷5*}+5`QY ~gՕg3%I#O^=ȿK),n:Tv}b,WD?'Ñ\yմi6v_lfz%E'>%P"T UNAix -ɚ()'mbsY /%R#"l:kFCSC;2%_ ( 7FbśsZWm2C@3Л1`'p`9d22'58lqe~k,im.<*$2815bTq=Pr<aTqo0ך.X{{~&+a3KFSU־0.3hv*Boc!̭:[_<;`1#ѲdvTٲMx<쒨,c  ΋FjƜ<ǏΌ`9'r|!ţrBT{ϲAقΔ XSV sY*iMN՚֌^ݹ&?PrچYV~=c+XIB_,T\r?z<>wLڠu"`Ca.3vN (Ās1|oU3T@TT(7e!a9!g;!\u-P xTA*phIo2 oO K3%Q9+'(g?#Õ䗏(C.($:LKI/p]Qo"Ee{Nt!F+OkS,"K=="Nr7vS hi'oȳո |sذWHư |?^9m`u 7;w㩤4\Ê XZ$G5W01uv 5LF+!3 zBLu .>\<9}6X@.fM&SKpձwg|N:ڋN"+ o'Hg%zMXA\!n FC\{="I ;~F}0ߛc')װ၆.#ٲJ~Mvct'Ti0J c DLR%|Aɚ]NbAtkA.R,rKg5mSo7`sR|}#nXHQ(?N;eiY>\rZ%L|wLY&؇٨MA@,zBQZsg׃ۓpФu&^* +YSr[kP:ژGM?8LGV6nsIA +L?Î*p#'^-d^ ,P_xz` 5sWXr2jɥH*ɋiN( _9^I?JetL5{㶯BȀ{ F(x9`>u~bf ܼ Xo@@< |O.ʛϖsn% {ПnlB暑0Pzc`Q97*D_ s^_a2[+CY˻$* Чx8G{:ЪNa׆B(2v2^MI|Dd,3j'O$Í.Q}-2̊]0f)ĉ^mxc,lӅO:] 循rd9i<їgby^=BGGn\bG_N$֓mg6x(cgQ|߸T[2[-*DłRy%`<4?|]'~[4 Mep BC}HZq~RU~P\Z#@F9Mˌ3 I^ĉy2^džgFɛFOPX >XlXꅛk32M鍚&-ԡZe ^쒪051c4"!B ~3 qYLbتK8FMu8 ,K 'e0ͤH%2i3HBϸ*qnA D*%0 b`XhbH? 4a | lסbj:B~ܮnwF=cmaƴ1xnܿ ?`]yΠQtl)%j$'Vb^09bh_= J)jj l@?_vfNN"C`f-EņM }V3>=w#qLwq7ۯ nP$&"vN(ԝM5ώO)G1evM D^}pOsd~dˊQOf(2uƬekP ^ -N;"kx5oil qrCE7 i:Յ_qUb, Uih*xwDeE0]] @] 'U[2 ipF_ ۣiZܱ٦_:ˠ Q 6I`orŞ*ŀ2ɤ06q*z;f~ߑߓ6>W1Jfuu)b(+ާ@R+&cjXuV:^Za<&Ps<8?01 ~J2H;U3Nް1PV<ƮOjm<%i@-)d$23B:%W7;dùA[, @v&ޚCBiuc %1 /?!sj$yECxn5R–f4eKG0' #K˱_S $ZF,vcBO0j f::,KFzr0Nh0 J %FWeКIUS|ci4~zu؂NUYUrE5>Ha1506#[H[+>O@̻pk*\#%Uuב Ǭvb`R) FxR)<ߔ6t=ɪ$8!i'E] 浪^+xѩэ*\&؅ziqOY Mdq2xIItYhBV3΅W,fgV)#O#3krIIt9uݖݮ/n:ݫ8-:նꃘ#&_)Էl"U qc@,cp[3?eYLпnf|75ݹ&37 7+ښy<Ғ].j;riv(2i@c& ʩ`H1iٞBkA^|5λ V !eﳯulf.TwlH0(6L1xؐgI:>EkS)W!qH̏Q;*%c=<ɡd`_'Q%Iƾex %+];ɛ^{xR1N I͌`G{V#V!S%yt }%ؽ=ѯ@fPivZS(;UɎm׵bcP}Db5 3k׻ќ qk#@Xfh%хo=eԝ oqk!_\3 dsLoxU2K>gWy/T<` O P9yNC[i`->^Bk NK> }\el ˘[&JHT>{]S'тpҧp<8[K#dQ=/[xDT0x"5ravjUwgm'sS5U;GO娊f})[:wEVq%t KarXk,2bW, VS|c#(*R5[LVFыD-MtOh^5#\bݬ- Z.}#1]W-XcprYgTż& 2A<{ RYyH3!-m<)HTp/Baw*fj\/=qbX[%(WID%B5ӫʺzbojo&#ݻ LޖRރowLRHMKXU(ve)7"S2eÝic Ya+QKDMfhkcdV?Ia7*ʃ[]J'+67To*b6 ݂Q9^%|rT#ɨ i9qp1>&ZarX%Eia0 W%Z)_ӆm144&Z_D^3VH>:Tq@g-7n%diCX¿o!eaΏeyJ7pgK?'X9i3a6lfUTa Nv9fE11E=QFZ8 W-MYG<;85]7Y$_?N<&pd"ތ0]g$Va6{vbv9gsrKNԁs߅?n1%-=:6$*.[KB1U0"\15ζʴڱY9>u&ٷ4Ď_;xpcs}b$[ڑ`bn0b}@b[ƃ9BeENdNp[g[h$z6%/^+IE1ϟ̠6%8% hQ,u;y69ʿYέ-q \~WͲW[\{+9B<=l0[lF8,i`7jnw% e&qI|նZ%uq @ hZ4D #g'9nU;~-+F|'?݊&B{'M9Z^${s ^ncbrc0tPxr$\*ǹ4"7:Vhy͆';B8 ?4w-NLP5gT}]%>ʂA2h4~kTo)m  d7DA}SO0;ػuK;5 !2ETM7**RWwf:~Pd_oNYgYc˜otS-#ՀzlL}N:ՋSxލw&/4k̯ovda_(vU+* :CXR4Hnt#ka u:M.[o>'ߋ̋3ɷ1;x ^}QF־)(Vn%V} '>pGs8ֶpb}R%$}JXA삩2FRF-pؚQ~% !L?JCږY %WP-/fOԤ M9Ʀ674kap .q}4mT ε}VWfjV%f{*m=379ɂ?nIJ}C+c2ˊxGMB_ǘN+m>-tDgd>.5&|hhyRHʌl$M(KL>;6qN2A{1)W=~Rz3*t|PcUows m!6z9N|CtRyfU(!}uK#ChXs+'SoKJ]겛MXUj v' L9n>¯JS]s_j¾ӥ }c/FG $jG"9>N֘20~2Ói@2a_SI-k^@3 .q$Y^AKz(tÂhɧW%ZՉ}enD ?>[WmzK_=[2ɴ&y)uS6u |B:uq!OEnN/ś]U kgTNVbq,CU &)oo0'+؎ELgi,g,KVJihcEw9:O ꏪ.\ XKV%^ؘ7D/~Cӱ?3 #S m߲EUxzGVŖDxgZIsۛmn'Q$_9S>اEw1 }'GJ ɼ;9l*8eJT8jP b=e' rv| ^5Y?hhךI8@dW/nd¡ak2,+SsCyo`D9U]3@Mԁ4> N~+mkJΥň;~N$I~].єһXNlbLuK-}R ~wUg|2,v7E8%ZvސÑ t} 9F I @4/:16pDƌx\mImĈ54[tZdtD%3N!O/r@gd~$ I',^^⺠xV'n{ |@T@{+XU3.Z(i±̶ִfxzH;(wez`4fn)NCՍ :ރ$qdw@+'Жф}:=ϋuf*gyYX9ʜhu6~m1 V@7J|*u$ 3;v]@z5cmN*UM)& S:ĨS+S!3iFC+𜲩̔*0?6~pb1Zd{@O0rmE_ٚ}N+'RE%V8nH,|Uy9#O:BF dv` ׆,8`Ǥd $ >hU#2S6n`Ӄ"Z2e:cʣi6nKBSM~^q9W:5y2DG<[𚄟Dd7 *ıq\ ?hgTz5XW0 =(GM(K7`jOjGO!Aa6?&A ᝢ Ad 9`W> uOaL-J˩'_^>v7b*Qth.r)VEmu2BEŦfP>{lutH;IVRpM`{= J6 sm\ F?9J>Ʒ @xIzK\8*qߢV;wLt={b zTWz防^C8R*2հk眆Q $LJo&54YMm='z6>9^BofXZ  Mi3+AO7IY^nQd0Z<RtYi&S-\bdO1nШS|]`w( fI:cS^@LwZv"(K13})GR1h6j^ R+=eL;њhJ~o+ FsOH^WΓTq6Tšfu9^%3c, <8ɬ~Njjh2XK[ lNM5dh˱_>2E$˟r.6~޸BgӘ]Km}Y.auE3كIM9\b*pqSJ`DǤ #|FFp䛏 Xj/HJ&c(B!w[z\):O҇義Q&g]ϥ߹%l';%3!~# ǰIwunqӘ2%g2ζ֣H!B Y0; _}%_m̱Dr i,bVR{ ⼱5c^QA:Xt5pՏ$;> Gc:7a%6x}l% Cchr19Il 䐕0"@FkBM7?V PgLeTy$OH9Z 5(4<OKckVPŅT7)u j`@T͋oxWEd&X~xcb=Ĵ wIgAfu//5[fQ %}jЖj`;z^|!C:: }=ϔc^/}򔣡(ZV0jGD{(byP*oԎ؀RFSBf{qq홤}w@tFg̉/O70Q+qJ+jzB*>XAZG̻^N grd&U?]{we匪 DSτ˱VJgjUB0f_d/Q(jMȹeU9!qxr#ӴkV^-~u7B1Y=ૉ {$O²wQH+(Q,Ď4X6Z@h2{*$c!^.e.y$|xԮw4# s%C>2s$X.G7 qzGYĒdx T ĺS)|]Dql}n)'Sxm˜arytXoj" 2BR dD!%NM;B(R1lKʌK th ӎz-߅9HsFbƋy'ɧX%WYgejIҲA2TO&Nf4'Qb-^eFSQZ3Պ?L"8XY(#)!(ߟ:(}tm;g5'XvLc7;^cxT'zoX7 ij =ha{g햋WMX/K׆/T0Ī'Jİ4ܭB5 =?,3&Ȫ#}A] #cp]no]!z?S>Z@%Ol^Arix'Jx铜K:1;<3c:-)EeB^.NP#-@,,Zz8"B 2JVnR6 p!3IZB` nM`^5S"Xd%{* 9݉9i/̠-6nH)VbdGg \orz 7\/lx٩\WŝoAu}*HAsnX)iћDHtmp @W}jw!SBԊ%nEFgtӨ?}0*d@XyCkDٮ/+6(VU u8QT_쨄hBIWC$}ԁ,HfVe+a׊d7vVpZ(o um^xOi3pk&C}{?r8ِr1'6pyUdV ,$酪%QN[%M̕E }GUn:ġʁ}\r98Ä52n< +Hx3'7k5 b` UAKI{0ɥ4gd{*~wE1QDv(^""+`ZQ-z-:A[7EЩZs At։0}}ǗŅ&G7nN!G0ː=}<_j߆aCXL Mܒ%On`gFk_]z $.`=!:7U(.S@CDYʢtmH1ReѐS\UߣW t H}Xcn>.H?;¸ҩZJ,z?fCXaP|ɸX*f<ݩFSzb So$"aվ$G)*QџVpRk=ZW{M+`{:p1^k%ᡑF<.!K!i- ;TYjiSF7WAZ7^vGչ Q"ij. -~:Lߖ X P~7˔s:i5{I3~ 6ųh z > x@cLN٢@tg)bua(*3}$.-}P٠ЦJ,{x xub9{7e(j?\ qH Q&̂ "L1]A]Jp!L~H0lAeЈɋy#xad=K:dE"}he)#zlArϘK@~N&G5BHޑծA> g;~̔?$vDEXTͰ SGI&ᄨmtմ$'$ hK(KrjBPw{obCFU\sUQ72l`5PWLrb(f r\"Ȩ9#SYnbvn;1k#C`FtьlO& $Òbh]\San}9;Y}FfrBcBBb2$(te aIt(vmm8;BCx#z 0Xj/uPc EjE$CtHghؽP{6SlH8:?ꉿG*ed * WBõТeu^Lۂl3O2:۲WS335,_ oEAۻja٧AA2~vp.8FSN_<јt?R)2(HQ% pµpXEOdR|cAlΟ- JRJDi[Y"~,4"@J㮆ڥ|r)vM{Ԍ,M8 |;aGCU @d1,GTiⷌh+a 2HwUsopU% nz9cfC7azdt[OA_~O*z 6`lmeKi'ޖbʹMQHvi|Wx- *w}X'Z#$XPo˞"G8 G@6IZt}{̐G\Ds>EGճ'NIxw1M!Y#ٳ\>U8ӂ?~8PY+y?ߝW Ҿ^Us@,ŵc< =xBJ pRDi@< {+6R/1E70̅)nD6҃j%-]կfV1"oze- s{ !a>2m2Q |.M #}Y e}j"L7Rݽ6;&]SAWZ=KϬ'&NΪ+ۮZ-˚2>7sƆ#ȼH ߝ\4tUD@^7a:B0RT0a&c8''9_ :jr/ L3̣w]4Hd3\:-›:6Bĭdh=pv Jш**73 N{?D}uux޲=|? |%2gw!"^ ($Q-le|[uS|HFcqEGpq-#:'AM: 'GáfWe)dAx@}a{ۄh8IfbeBt սDEw[Hq v[rx][Uٹ ZyXtMK6j;[utc=kp˦໔pV^u]"(G!ȋr6:\mvV*%`ϴїdW!$_kzG4Hxy}w Qǧg8,&%Jbt#A&._wQÈ23-)R1Mal f=-ؑ$)O3LJ :&Y3` PKǗ{*5緻_<@p,z|X}/0 ;6J? @1ƚpi {yPä}Pm,t*ej1`- F1sʉ0N'ްMZ MF;>|vLJT{ IvF:(' %R%aYQktٙKyb< }'z5YH<2xk|3(X|51MqL:*H6'm@\̺}.$ HH7Tg1(;@*rgF/y/K8ű"ρ;tII?eW!f1s3N,%-F̑A%GEJS8B;C'θp[b:4iFG@?YMw|\?dT6]g˜!Xm7Yi :i ddaT~6Y;6ЛHRi^E-`e$ 5* gS:t^CxI8!M*J+kuSWwS**TBt3rO~060+QP+LZB7a X2Jb=cWC^Nt*LJsmL_ NiV\ʎ׃N|huԿ Ys&) s !f 0t#ɎJR-QlK +ςF mBˎ@ZI"z~D#\缹dPӕSľ2ab4:|ac;Y48 EUuc(JklCNmbC 2ɹVM9͹5|jddI-6 r*Cѹ﹗83[cDHmu<$L5=,UePHe 7>u(ȶx(fh3T̳Dvл4_T3nDv++DN+hry#f<F oKbN]:5+t?{,KuEȭ}$kYDɾrUeӓm_sr1! @E2ق$y"% 3V$`LcAgXoWQ>pgvcg`D*ߋ5Q\8 a?>RTI'UW5c`OaS0jq#Qzy^*,|G&cϮ;oKwj7 ]8:;/@ կ1;T?;PތHmS V؛bٳLc&~_8E]: Eʞf&h,.;b6.ZdmA ྕ׉{@샛FV#zHMFy `snE^c@ϔ$}OwS޺AX|!hKJՆ:%e$ElF ף"j~́'EH@Z6Y6PoL8}F5&l@gg%#.~KEX]`FuI6zEڤ{R]gS|ō)QɛNO[3ŝ"G %ҥB̫5K~iWۋ\kZlDd5ַ\&(u| ol<g d6Ѱ(7{Ofe4"b'n@]%3e\¡_Ϛ0K󵢆)K^k;MgS,&VglkY$(5ňA<.R>BvKVdAO74Wx :l::Dijn=7}r81`| %+p hgHAϦ^Z]l=({\^Mf1 I:úv ;b5#l~mJ`1{ L7- PWS;,-~d ^U .F(8(E'܀[^熔)AJE/~/:rIvV۪U ;~dF6FՀF7aEɭYR&HgyH nV|}7ȃA[qx,hL}dn_HӿKV.RQh5jyys΃O .w drˎr YޟZ;@E M+%֠ɷ#(򫌂O EzHW>$@ 4FPkn'Qe`HĹĭdQh2t̡D1U'AYuILQԽx}q4e*: yfRKnP>oX!%'^-)q[xu3iJTCg#ɬTGhҔe>mn!&Dly &),͠Sxtd*>]u=m%6o>iOҔo@T'm~Bkjzf偏!JvYQL5ݴ_ߍ*U~۷ S_vā6hyQ#c`71C*߸Y8JV`p!5(q@lCaׁi)O Wf"D;:^2,i 70߭ju'Gvx iMIݣvѲ=]Rf'Ї8X3]@RHU}Y$:@>.u2 u'ގN4ta 0e'75^0󌭄co[c~+kf哑%=+BEdw¾.z0dGqD]U vk~~{VaJm6( wʠԑZsǕe:7iQqD'Rׁۚz8*.uf+v_桠!Wy!X4\sn 6ruԗ1A}9#ft^'2v"* FÕ'GkmZ0B uռ OtR(Cl:ToSDuͬ.ce \H9@ v$Y]zT{hcfBc 8=g@Ϯ[v=4~$qyZ_&@ffKM[EU1+cQ\9 {}%k`>42J2c3e{RU'[8ڣݜ%@9_|F BO^]R9M ES>0[ G֫tF",zS6#E ~6RuP (9:EyY 1<Q}0~ofbIU6mxVw~=ԃ{:9PTF4b4j ӶTRI,;jqL)LPf{ljou"sWa¦!f:C%?DXŗdx”3ۿҳLa;;l`^yG Մ䧶 a_D STeW#7G*ց|f̩C~_|"MP8Gva_qӼ([ye "D⬷Gnٚ*gdQSD$͋ |&N9t<,eqq+L▾KBk@ML<||Tk8Cu~3)fjPWFa{)o+% & E{J<lU`S=j_}] }?=,)&{*g,v kZ.v,oBouSwA7="beͦj\: u,ę+hk:r of!]kW' 8\1I72bwp14H ݿlrUf#˗{p~-79WYO0kL4AC&Gɍ(q.8{~_ q}BOl@,[18TL}GŏK/`Q8 V]؋ˢc $GbpOݬLL:٬r,=NʙYC0u"BIiز}#N}k1ɹcCt!YahOKq0j5[QAht2~l5"΅{!.%zҮY) EdUsFdgLгAvJ"@g7Xl!P7YZlplj݉c+|5B>~kפR#gR<\̬PfO$ 3{ۢ:z5Nm[ TWscIZH\0Vb ?刺Ar?*} .BZb\+O,= !Nȶ/#Fzrk]WA`TXp[®[rdekѿbUckyoDVċ>b@5,2=|VB1C2׍h\-.G)[!NMo0猊3ΐgV#^eA(u@"ZN!rʚ'vX԰:߀ߢ{ @JCc{"?μV]~L{MExVa|]f .^P2|C\˵ncxdco8J3?.xt6#[7y \kfD6YVP{L/KXs#ʤЧfzÿR$ݪz<ְnQZKюHp}Oe]` Lue0*f+ JxQ.Abz>M{^6dUkNzp(Eв8aoOSpaɦwsDAYX?TJO§v5x#Le!5m85B6ǚYsGY1A< Q?w*/;dAG˩yJxa.cjS2 &V鴙3ݴAN Er>2oRLgu>7* 0 ;E n'%%mw46OP TŦ9hcHjeo5k۳wSG7@cZpW]tȮ>ڏSD6T$",Ë.%j!{{\u.b]Å('/?SYj:B]_n͈E`PfgrtpSڀ7*syb/@P{?\~X@Hq"NmT6{/\#",X}w˽Fv$4]#C`mr@VsQxxE&Yo=Rd5B"F>徫Qj1Q5JS,z.˺/*g, ]L:1M0>ݪs:/{`:V䡄 ]yuqnVmϊ9ߘַ}1뗗b_e}}ke_bEf}GF3|E̓$DoٝDfT_HZ!;A1w"4)6#d0SJSS/v6 @6[79L9 d@M1P߸n]1=~:7gf0㹲wsQp6.Ge<~e;Y_~tz]|Հr1e{)Y QdDޙ5|V^dC ĹdpBҩG[d<~+?{Pe[7?2TjAކlIU:;!bwV\* 2[%ލ . G2=_Xmj*vG p̴u7o%;UG I҅=d7֧5M.9 UZ=d)Slz64d80qkr2518(Tbqbwd2ϵSX,pDrzj0[*IPU Xֱ0*MJevr`jלDYJL$pDz\!gУ e^ -o{1Kl1]㚄UG"Gc*{d672#*/]7|ЇB",ѻݧpLytDۆ[c(5fgᡜ]$Ais4P=}g)'w}lصjgp! =Yrm+Waz< s3jsܟUK䧇|ddoLJ 8gvȥm19z!@lPYU]7mC6ş,uE>Ur7/qRsW 6Yj[%4K Y(^*l,U 8*et]ަ6$D/75&}K%#} NwbƎ4/ƍl>?Ap<ĴWe[ϟe 2х@_w",VS:nsȷ29D (+Z?ոXB_Ů3'xb2t.&ڞ{VL@ upl3Ss,Ť5mVI2>Ys#g1~ݤ.,t"kwa.mJBcb+-eG.PeWzU:K"֫ ;ΕaV| Tv*B=ܱfB_~.$vLWrUX*6;GQ50t-s?X>Dg S>8vudaB҈$4ĕƭcEn$"m}aD51L]COM$k)[Go]@l)^R5nӸ})6~Oam(úkŕ7 5rE jԨ)h:V h#ol,:D7Ji':AMiIOF>3,I`؃|W*{A1y>{MBxDr4+>Rp>!vIL;ZWwrDwV "Vi;652Wn lPj8 +6Q ۭ[!d+ μ!| Nghadj~dU0H sU 0#.EdZx pV+Yf@ՔexHKWΉG>sVR8&7[$Z3Д^3 |ETH)P4[D񬮪~7WXd)r`6r-}4^*].S/oi@H[%,܄r}k룤ۋbxﬤЧHlFؚ Pfo"h47;t ቃ1lۖ9[1B>?}:iLqS0ފ6 k)qes{hpyz Ye`R4WAP+]Pݸ dqTo2 si}V$Xnx/-8Ӻ gy:W~ő~8^5hqŠ["LDTBsx{Ke-/0i!aje=qQjAJ?Z8Rw|C/O"連w=^'fIAdNO{4zfsܡ# fǸK^ј1mSmzOf-MijlӋ7Nobs!(bk͙d\U$߈l)NDGϣpF&zN|ZȤ&Ds3Es<] alw%I` ՐòʩЋٞCulJb\O^D*"+QվLB8D‡ҿs2NNv6뮭H 7~ Н'?HYY.;̒!qeе]2jމW_ ؼ}fT)/ 928~a.m`ɛ֢fr2{f"CX"K8rֻP.XQ,%4ʍC沀ceue=7[}_1JҿW;Ouka*,߬Jh!T 6FHCset%3)4/Up]=1O>#ˑ}"x l;ueL`, xpyg|C=mھRaݘm=s 1 f"_$b:TSU/:ȗ}""0݁W`X"F3?L=]X(vX"I4>P)- FOOXȡt!h[PU)4`2n?!:L^7+ٟ(X2;3s@#y.\D§'*ewgirۤFBHOo8 #BQۣ'Ot捙*b\BrZF v<m=@!R܋5N g]T=lؙ˿]]gD#D|Ff W SieB#(KնTIM%ԺpGm0Y4fBT˥gpTO!fcT N-kuhD.eNƔ鱌 V%7M#Ϳz7}{5vo9PΥ;'5 lZ?(xKo㊗BCs0Vl\ kw縞 ZLH &+' ++qBeoܬοS3|WjRMNm`Ei,?$ Ϡ$wu4ٮz`y2-_@1d;(]rퟪ]c. -Ar0.Cꢇh=x@;a9ῐ~`Qg[{'(יؖ;4+f$:>F} V,!8k2&h?#l Sq̠̚k\N,kNtF{.=fΑkrKoD<ߊ-OY Es)XUGtavG[r_I F|9`,9՘"[YMNM/t?׼y\(CZ'ʓyX X! Iwl%BNrig6lµrD~ TIp,U"9d5BgAJlO":9),Td[0~ DY:B׭=)k $MhYZ2Y.uuϜN+i??|Vh Ut E2.": +R%;I^}9jCx!)(*D̞8^ <LFpEc\ rw hJO/,pTp4xTCMm*i6\뵖rRRԙ@Gzp^\ORvXTѷliImUmĂt~q/Šڐ7]"X+H ;N]{ZC:*9E⃷$E.+S uufC'EnnpoJ֝ 0N&3<R3ux#BlfKC1tbO GXrI ҷo-zZ]>zzwЙ^4먅d" ùhZPpװ{wF74Zn;uB>;;s(EJu4rJmu֋qwJmv=rGbY6O%0O?wTSǷg#_B9#lgNL^myzO`jx":q12įTH{KXNu)Gs0Y椟f@3V;,E)Bϛ!ЪW2.CPӏZ7h?VM8ęzҧR:[[{ϔO`Yu#AjP_c0o;!D\Ylp}p3)N6$NK}G" ND#Xd ׭= XkHG0nWXYKj8(ܽy!|EAwhJ9O=ח`0a>)TJηX:94Y|P[ڙvowi;uO4c ɑW#&#IӻPqqAlB6yGEࠔ9 gfc.BJ8N9 A|/dsW mnj]׸Xeĭ>׷+t5Ot$Lt–G4w8Vj(~bm5%DͷDS>uUd1TsU*xQifOD戗9ne_ځ^K8 K!=%@Bc*CSsh𽉳>YƥОrBa@paR^hx7L"4Cq*]vm42&=4,fAN_%# [ 6kȔܾ>`^̼h%҈JR"p^U__F-su(XцMB/9=d0 Hdjz^EKތr,h)Ҋ 8uX@/ .~Θ! 뉫OX&* ~|gPCkqWRq^?oE70kNg N D6= 2'[Zѷ!HLX!E(1sn |O&ȸ-mLe3?dg9S c{-ao):c5+$/x.eMELP8Vߛ{,eN@UVpmV8?b!DZ+'2ۧR+v P.I(YM؊be)ꬃ}2ߑT$&Uo)/> 2z39-q{huB4i p|pk mU}'@}LaQne| LjJ>zM&,tu[kHl:UbhIɊ184VO1ԷJ/H򏤌9w#SDTD6?&;[_RZP %NSѬ:j~bȮ%ƅ{9 p9.9qGD9Lz} XM;瞉:N[e v=uLEk/0aLlz>^ 6/s2cRM YZ