librados-devel-13.0.2.1874+ge31585919b-lp150.1.2 >  A ZO/=„aJܙ^Z Ȅ[UϡgEVWviU%1c:TR"{vn8p O.UgaĿ:OJP*Gw`+U4g!2́~:ʐi1lhKY6ALl{cN/9顼I#+c]wj 0D.N6u!q^ \݌c㗢z LL4{t2&f*}L:Fv[42ab02ab93475eb7264dc3f46b07755c6fedcf0f1866e9b927c5270a2321f65f4524318698975c1dcbdeda3f0c51d2567490698a5ZO/=„l4.]]9б5]IV ] -e:T 6\ ٢*)o.jgt}vm4Y\؏hlFKڧ1㸪#R0\;;Ԃ a,iw vs()*E@7<2D䲜%d{pAp?`d) 3 A 9Yjpx   , ; h:lP n( 8 j9 tj:tjBFGHIPX`YlZ[\ ]\^bdc dhemfplruvw,xhyz\Clibrados-devel13.0.2.1874+ge31585919blp150.1.2RADOS headersThis package contains libraries and headers needed to develop programs that use RADOS object store.Z>lamb71mopenSUSE Leap 15.0openSUSELGPL-2.1 and CC-BY-SA-3.0 and GPL-2.0 and BSL-1.0 and BSD-3-Clause and MIThttps://bugs.opensuse.orgDevelopment/Libraries/C and C++http://ceph.com/linuxx86_640hL54C$( ݁A큤Z=ZCMPEXT req translation- Update to version 12.0.3+git.1497426468.6984d41b5d: + qa: add initial deepsea suite (task and test yaml) + fix "ceph osd df" (regression in latest upstream master) (pr#15675, issue#20256) * mon: move creating_pgs and reweight_by_utilization into new MonPGStatService * mon: move most PGMapStatService into PGMap; rename PGMon's to PGMonStatService * mon: mgr: move 'osd df' handling to manager * mon: inherit PGMonStatService from the PGMapStatService * move the OSDUtilizationDumper code into OSDMap * mon: mgr: enable "osd df" on the manager * qa: add a check_commands.sh script which looks for commands with no tests * qa: test 'osd df' in cephtool/test.sh- Update to version 12.0.3+git.1496909744.9f667dc335: + build/ops: rpm: one License line to rule them all- up memory _constraint for ceph-test to address ppc64le OOM seen in IBS- Update to version 12.0.3+git.1496902753.b18dc53186: + build/ops: rpm, COPYING: drop GPL 2.0 with Autoconf Exception (autoconf no longer used)- Update to version 12.0.3+git.1496754880.35cb2861ce: + merge upstream master (b1d06a6b54)- Update to version 12.0.3+git.1496494491.ba3c561a92: + merge upstream master (97d6e150e5)- Update to version 12.0.3+git.1496306960.2db336d85e: + merge upstream master (b19352eec3), fixes bsc#1041492- Update to version 12.0.3+git.1496147556.f1d6115861: + cmake: build boost::context and coroutine only with rgw Beast frontend + build/ops: rpm: reverse s390 bcond conditional block + build/ops: rpm: no rgw Beast frontend on s390x + build/ops: deb: no rgw Beast frontend on s390x + cmake: delete excidentail reintroduced line. + cmake: link radosgw with boost libraries (bsc#1040119)- Update to version 12.0.3+git.1495849076.4457d36178: + rgw: remove fastcgi from default rgw frontends + RGW: Turn off fcgi as a frontend + build/ops: drop libfcgi build dependency + build/ops: rpm: apply epoch only if %epoch macro is defined- Update to version 12.0.3+git.1495798013.23dd2b67dc: + ceph.spec.in: re-drop %{epoch}: prefixes- Update to version 12.0.3+git.1495787939.3f6446f64f: + build/ops: rpm: adapt License line to Release 2.0 of SPDX spec (issue#20091)- Update to version 12.0.3+git.1495675338.07282a4057: + upstream 12.0.3 release + osd/PG: Add two new mClock implementations of the PG sharded operator queue (pr#14997, bsc#1040103) + build/ops: rpm: make librbd1 %post scriptlet depend on coreutils (boo#1040230) + build/ops: rpm: move RDMA build dependency to distro-conditional section + build/ops: rpm: move python-prettytable to distro-conditional section + cmake: added empty RPATH to libcls_sdk.so + rpm: drop %{epoch} from new rados-objclass-devel subpackage + cmake: fix boost components for WITH_SYSTEM_BOOST + cmake: build boost::context only if rgw Beast frontend is in use + build/ops: rpm: reverse s390 bcond conditional block + build/ops: rpm: no rgw Beast frontend on s390x (bsc#1040119) + ceph.spec.in, debian/control: build/runtime dependency for cherrypy- Update to version 12.0.2+git.1494343993.7527e4f0b8: + ReplicatedPG: drop CACHE_PIN->WRITESAME req translation (bsc#1038063)- _constraints: up ceph.spec disk constraint to 28G after seeing a build failure in OBS- Update to version 12.0.2+git.1493341348.9148e53: + ceph osd: add support for new op cmpext + ceph_test_rados_api_misc: add cmpext tests + librados: add cmpext API + ceph_test_rados_api_aio: add cmpext tests + test/librados/c_operations: add cmpext tests This patchset is a straight cherry-pick of the upstream OSD/librados cmpext changes (bsc#1035937).- Update to version 12.0.2+git.1493291471.adb6a43: + rocksdb: sync with upstream (bsc#1025891) + build/ops: cmake: explicitly disable MSSE 4.2 if not supported- _constraints: set higher disk and memory constraints so s390x builds don't fail- Update to version 12.0.2+git.1493238434.71681fd: + cmake: added empty RPATH to libceph_crypto_isal.so- Update to version 12.0.2+git.1493227670.3396ca1: + rgw: use a vector for options passed to civetweb- Update to version 12.0.2+git.1493192333.3305a0c + merge upstream master (0d368d2c8544247a4aed9c71c74e77b0c6bbfb22) including 12.0.2 development release- revert commit a9a50f690085091bb4446095418237f9fef712c8 in preparation for rebasing against the upstream implementation. (bsc#1035937)- Add ibs_constraints.sh script to address s390 constraints tweak needed in IBS- Update to version 12.0.1+git.1491557762.4e47e9f + merge upstream master (2950ad91d25d0d6e2e3fb6842d5bbc36353ba2a5) including fixes for: * bsc#1030068 (s390 build) * bsc#1031311 (ceph-mon.service not enabled via systemd preset)- Mention bugs fixed in jewel codestream that are also fixed in the current codestream: + msg/simple/Pipe: avoid returning 0 on poll timeout (bsc#1014338) + build/ops: fix undefined crypto references with --with-xio (bsc#977940) + ceph-create-keys: add missing argument comma (bsc#1008894) + common: Improve linux dcache hash algorithm (bsc#1005179)- Update to version 12.0.0+git.1489432599.165c23f: + merge upstream master (0c2f5f7214d2410a7519f88e65ed5273d6480227) including fix for upstream issue#18694 "ceph-disk activate for partition failing"- Update to version 12.0.0+git.1489159457.410e200: + build/ops: fix Group strings for library packages- Update to version 12.0.0+git.1488553020.e902441: + Recent upstream master (3c0af07629dc661aba84e2fef696339ac7171914) + Builds with GCC7 (boo#1025891)- Update to version 11.1.0+git.1486588482.ba197ae: + Update to latest upstream master (3d740bd) + cmake: added empty RPATH to several executables + rocksdb: sync with upstream- Update to version 11.1.0+git.1484919552.9216e9a: + Revert "rpm: put distro conditionals around Source0 in spec file" + Revert "ceph.spec.in: revert Source0 line to upstream version"- pre_checkin.sh: add logic to remove s390 architectures from ExclusiveArch line in ceph-test.spec (rationale: ceph-test is not shipped for s390x)- Update to version 11.1.0+git.1484745543.7b08de5: + Update to latest upstream master (36874c8) - significant changes: * cmake: Turn libcommon into a shared library (PR#12840) * cmake: fix rpath on shared libraries and executables (PR#12927) + Fix build failure in ppc64le and s390x, caused by missing "-momit-leaf-frame-pointer" gcc option in these architectures: + rocksdb: build with ppc64 (PR#12908)- Update to version 11.1.0+git.1484659687.3472421: + rpm: tell openSUSE to never clean the spec file + Enable ppc64le and s390x builds in SLE + rpm: lttng only on x86_64 and aarch64- Update to version 11.1.0+git.1483528076.d86680e (latest master) + Merge branch 'master' into ses5 (Merge: 185bcce798 a7b78620f0) with conflicts: conflicts in qa/ where resolved with theirs conflict in src/osd/PrimaryLogPG.cc was resolved with picking ours plus a method rename int ReplicatedPG::do_extent_cmp -> int PrimaryLogPG::do_extent_cmp- Update to version 11.1.0+git.1481663255.bf42706: + Update to upstream 11.1.0 release; for details see http://docs.ceph.com/docs/master/release-notes/#v11-1-0-release-candidate + move ceph_ver_hack.sh script from build service package to git repo (bsc#1015419)- Update to version 11.0.2+git.1480437645.66595d3 + Update to latest upstream master (boost library is now included in the tarball, so the tarball is much larger than before and the build takes longer to complete) + ceph_ver_hack_sh adaptation (upstream dropped src/make_version script) + rocksdb: do not build with --march=native (bsc#1012553)- Update to version 11.0.2+git.1480105120.6b8e9e5: + Revert commit 8aee8db140bcbd1ffd2a7b571dbbade10bec9de3 because it conflicted with upstream + update to latest upstream kraken (11.0.2) - for details, see http://ceph.com/releases/kraken-11-0-2-released/- Update to version 11.0.0+git.1473684054.73e4b4a: + safe_io: Improve portability by replacing loff_t type usage with off_t. + mon: remove the redundant list swap in paxos commit_proposal + msg/EventPoll.h: add override to virtual functions + msg/EventKqueue.h: add override to virtual func + msg/EventSelect.h: add override to virtual funct + ceph-disk: Compatibility fixes for Python 3 + ceph-disk: Use true integer division in get_dev_size + ceph-disk: Fix bug in FileLock + ceph-disk: Allow ConfigObj to write in binary mode + ceph-disk: Use context manager with FileLock + ceph-disk: Use os.path.isabs instead of .startswith('/') + ceph-disk: Set space_symlink to the path, not file object + ceph-disk: PEP8ify + rgw: rgw file fix bug of rgw_lookup can not exact match file name + rgw: fix the wrong return value + rgw/rgw_coroutine: move WaitContext to .cc file + client: pass a mask parameter to path_walk + mds/mdstypes: add btime to inode + mds/Server: set btime=ctime on creation + mds/MDCache: set btime on system inodes + include/ceph_features: add FS_BTIME features + mds: pass btime in InodeStat MClientReply, if feature is present + client: keep btime in Inode and InodeStat + ceph: break up ll_getattr into two functions + client: move the device bitshift handling macros to Client.h + libcephfs: add a ceph_ll_getattrx and ceph_statx + libcephfs: add a test for "lazy" statx + mds/client: add btime to CapSnap and MClientCaps + mds/mdstypes: add change attribute to inode + mds/Server: set change_attr to 0 on creation + mds/MDCache: set change_attr to 0 on system_inodes + include/ceph_features: add FS_CHANGE_ATTR feature + mds: pass change_attr in InodeStat MClientReply, if feature is present + mds/client: keep change_attr in Inode, CapSnap and MClientCaps + mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL + mds/client: bump the change_attr at the appropriate time for files + libcephfs: return the change_attr in the statx.stx_version field + tests: add a ChangeAttr test + mds: make frag_info_t add_dirty() function take a pointer to touched_mtime + mds: add change_attr to frag_info_t + test: add test for change attribute of directories + cephfs: rename ceph_mds_request_head and _args with a _legacy postfix + MDS: allow the MDS to accept requests to set the btime + client: add the ability to set the btime + client: add a ceph_fstatx + client: extend the Btime test to cover fstatx as well + journal/JournalTrimmer: move C_RemoveSet struct + rbd_mirror/ImageSynceThrottler: move struct to .cc + libcephfs: add unmount function in cephfs.pyx + rgw: fix typo of "minite" to "minute" in rgw_lc.cc + rgw/rgw_lc.cc: fix sleep time according to the error message + crush: don't normalize input of crush_ln iteratively + crush: remove clutter + mds: remove max_mds config option + vstart.sh: add option to turn on multimds + rgw: right parenthesis is missing in radosgw-admin help message on caps + SQUASH: client: request AUTH caps on the directory during create if we'll need to check perms locally + SQUASH: Revert "mds: ensure that change_attr reflects metadata changes on clients that hold CAP_FILE_EXCL" + SQUASH: client: always take a change_attr update from the server if it's newer + SQUASH: mds/client: don't get clever with ceph_mds_request_head_legacy encode/decode + rgw/rgw_rados.h: remove unneeded class C_Tick + SQUASH: client: querying for stx_version field requires getting all shared caps + SQUASH: mds/client: add routines to copy to/from ceph_mds_request_head_legacy + client: properly set inode number of created inode in replay request + test/librbd/fsx: enable exclusive-lock feature in krbd mode + os/bluestore/BlueFS: fix async compaction txn + scripts/bdev_grep: parse bluefs style extents too + SQUASH: client: request all shared caps if ctime was requested + os/bluestore/BlueFS: factor unflushed log into runway calculation + osd/ReplicatedBackend: move classes to cc file + os/bluestore: honour allow-eio flag during read + CmakeLists.txt: use LIB_RESOLV instead of resolv. + osd/ReplicatedPG: move classes to .cc file + librbd: potential double-unwatch of watch handle upon error + cls/journal: add async client_update_state method + journal: allow to trim journal for "laggy" clients + librbd: optionally flag "laggy" journal clients disconnected + rbd: new command to disconnect journal client + rbd-mirror: decode_client_meta should return false on error + rbd-mirror: resync was possible only when image replayer start had succeeded + rbd-mirror: stop replay when client is disconnected + rbd-mirror: option to automatically resync after journal client disconnect + qa/workunits/cephtool/test.sh: fix omision of ceph-command + os/bluestore: use global compressor if possible + build/ops: fix /etc/os-release parsing in install-deps.sh + osd/OSD.cc: remove repeated searching of map + test/cephfs: add mount&&unmount test + mds: s/used_ions/used_inos/ + Add dependencies from ceph_smalliobenchrbd on cls_rbd, cls_journal, and cls_lock. + ceph_test_objectstore: add SyntheticMatrixSharding + ceph_test_objectstore: occasional umount/fsck/mount + ceph_test_objectstore: test shards for longer + crush/CrushCompiler.cc:884 bug fix: index out of range + Makfile: Fix rocksdb error when make dist + src/CMakeLists.txt: exclude parts not buildable on FreeBSD + src/pybind/CMakeLists.txt: conditionaly build cython tools + src/tools/CMakeLists.txt: conditionaly build ceph-client-debug + src/test/objectstore/CMakeLists.txt: conditionaly build tests + mds: trim null dentries proactively + cmake: include(SIMDExt) in src/CMakeLists.txt + mds: log path with CDir damage messages + hint in extent_alloc code + remove wrap argument and handle in wrappers + Hint argument in alloc_blocks + test case changes + os/bluestore: shard extent map + os/bluestore: make nid and blobid allocation less racy + os/bluestore: optimize compress_extent_map + os/bluestore: fix fsck used_block bitmap + os/bluestore: use block_size for allocator unit + os/bluestore: make blob_t unused helpers use logical length + os/bluestore: instrument big/small writes + os/bluestore: instrument transaction count + os/bluestore: instrument onode reshard events + os/bluestore: dump some stats after fsck + os/bluestore: assert shared blob cache cleared on split + remove autotools + test/objectstore/CMakeLists.txt: fix libaio conditional + buffer: clear append_buffer on clear() + os/bluestore: tunable prealloc size for ExtentMap inline_bl + os/bluestore: don't dirty onode if its size is already at desired offset + os/bluestore: remove never reachable asserts + os/bluestore: drop unnecessary separator between fields + os/bluestore: fix key+name sort wonkiness + os/bluestore: encode shard id in single byte + os/bluestore: small put_ref cleanup + os/bluestore: remove faulted debug hackery + os/bluestore: bits for unit tests + unittest_bluestore_types: resurrect blob and extent_map unit tests + os/bluestore/BlueFS: do not start racing async compaction + os/bluestore/BlueFS: fix Dir memory leak + buffer: implement buffer::list::reserve(n) + os/bluestore: do not waste memory on cached encoded blobs + qa/workunits/objectstore: fix test_fuse.sh + os/FuseStore: only flush if dirty + build: drop dryrun of autogen.sh from run-cmake-check.sh script + os/bluestore/BlueFS: For logs of rocksdb & bluefs only use directio. + os/bluestore: remove some copy-pastes + cmake: make py3 a nice-to-have + os/bluestore/BlueFS: only extend extent on same bdev + msg/AsyncConnection: add const to mem functions + msg/AsyncMessenger: add const to function + client/barrier: move C_Block_Sync class to .cc + osd/OSD.cc: remove unneeded searching of map + Set ARM_CRC_FLAGS from the CRC test rather than ARM_NEON_FLAGS + rpm: Moved ceph-client-debug from ceph-base to ceph-test package + rpm: Renamed bcond tests flag to make_check + rbd-nbd: fix kernel deadlock during teuthology testing + rbd-nbd: mask out-of-bounds IO errors caused by image shrink + librbd: invalidate cache before trimming image + librbd: ignore cache busy errors when shrinking an image + librbd: potential seg fault when blacklisting an image client + cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries + rpm: Added ceph_test_package bcond flag to control the build of ceph-test package + deb: Moved ceph-client-debug from ceph-base to ceph-test package + ceph-objectstore-tool: add a way to split filestore directories offline + install-deps: exit non-zero when we cannot match distro + librbd: possible deadlock if cluster connection closed after image + osd/ReplicatedPG: remove class redeclaration + librbd: ignore partial refresh error when acquiring exclusive lock + osd/OSD.cc: remove unneeded returns- Update to version 11.0.0+git.1473424516.3b8b524: + Revert "ceph_disk.main: s/get_dev_size/get_free_partition_size/" + Revert "ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/" + Revert "ceph_disk tests/test_get_free_partition_size: New unit tests" + Revert "ceph_disk tox.ini: add tests/test_get_free_partition_size.py" + rpm: put distro conditionals around Source0 in spec file- Update to version 11.0.0+git.1473418476.095f67c: + ceph.spec.in: revert Source0 line to upstream version + ceph.spec.in: conditionalize %prep command- ceph.spec.in: enable cephfs_java build unconditionally - new (merged) commits from upstream master branch: + mailmap updates + rgw: fix the handling of rgw_swift_url_prefix. + rgw: ONLY improve code formatting around RGWRESTMgr. + rgw: add support for the crossdomain.xml resource of Swift API. + rgw: add support for the healthcheck feature of Swift API. + swift /info implementation. + rgw: settle /info implementation across other swift-at-root features. + compressor: isa-l extension for zlib plugin Signed-off-by: Alyona Kiseleva + mon: tear down standby replays on MDS rank stop + mon/MDSMonitor: move C_Updated class to .cc file + rgw_file: fix/update rgw_open flag arguments + rgw_file: fix/update rgw_create flag arguments + doc: remove btrfs contradiction + msg: make async backend default + msg/simple: wait dispatch_queue until all pipes closed + rgw_file: implement stateless write completion timer + rgw_file: add RGW_OPEN_FLAG_STATELESS as a synonym for V3 + rgw_file: log on write completion events at level 10 + rgw file: allow RGWLibFS::write_completion_interval_s to be set in conf + osdc/ObjectCacher: move C_ReadFinish, C_RetryRead + osdc/Journaler: move C_DelayFlush class to .cc + rgw: fix RGWAccessControlPolicy_SWIFT::create return value check error + librgw: add API version defines for librgw and rgw_file + make-dist/ceph.spec.in: Fix srpm build breakage. + ceph_timer: prefer using directive to typedef + rgw_file: explain semantics of RGWFileHandle::commit + compressor: Better arch ifdefs for isal code + mds/MDSTable: add const to member functions + os/bluestore: fix some #includes + vstart.sh: -b for bluestore + os/bluestore/bluestore_types: make blob_t get_chunk_size const + os/bluestore: use Blob const and non-const accessors + os/bluestore: avoid reencoding unchanged blobs + os/bluestore: decode blobs on demand + mds/SnapRealm.h: add const to member functions + os/bluestore/bluefs: avoid check "locked" field for newly created file + os/bluestore/bluefs: check against locked field during unlink + os/bluestore/bluefs: assert refs of file don't underflow + os/kstore: kill dead code + rgw: remove duplicated calls to getattr + debian: should dh_python3 python3-* not python-* + pybind: silence -Wsign-compare warning + test/ceph_test_msgr: fix -Wsign-compare warnings + test/unittest_alloc: fix -Wsign-compare warnings + librbd: API methods to directly acquire and release the exclusive lock + doc: add graphic for cap bit field + mds/MDCache.h: remove unneeded access specifier + librbd: skeleton implementation of client-side image cache + librbd: blocking parent IO completion no longer required + librbd: remove use of owner_lock on IO path + Revert "osdc: ObjectCacher flusher might needs additional locks" + librbd: support bufferlist payload for AioImageWrite + librbd: add internal support for scatter/gather IO + librbd: initial integration of ImageWriteback to AioImageRequest + librbd: consolidate IO clipping to reusable method + librbd: differentiate between image and object cache + librbd: C_ImageCacheRead bridge from Context to AioCompletion + librbd: integrate image cache hooks into IO path + common/Throttle.h: remove unneeded class + cmake: fix the tracing header dependencies + src/test/bench/CMakeLists.txt: RBD exclude + src/CMakeLists.txt: RBD|KVS|FUSE exclude + src/librbd/CMakeLists.txt: krbd and secret.c are LINUX dependant + src/os/CMakeLists.txt: AIO|FUSE exclude + src/test/CMakeLists.txt: RADOSGW|RBD exclude + src/test/common/CMakeLists.txt: BLKID exclude + install-deps.sh: initial distro detection based on /etc/os-release + ceph_test_objectstore: fix ObjectStore/StoreTest.BluestoreStatFSTest/2 on ssd + ceph_test_objectstore: disable statfs checks on available space + messages/MOSDMap: mark as enlighten OSDMap encoder + cmake: remove unused librados_api target + cmake: replace Findlttng-ust.cmake with FindLTTngUST.cmake + cmake: let librados_api_obj depend on librados-tp + os/bluestore: yet another statfs test fix + Revert "osd/ReplicatedPG: for sync-read it don't cacl l_osd_op_r_prepare_lat." + doc/release-notes: v0.94.9 + os/bluestore/bluefs: use map to track dirty files + os/bluestore/bluefs: update mtime of inode in unified path + os/bluestore/bluefs: drop redundant eof check for read_random() + os/CMakeLists.txt: undubble kv.cc usage. + test,pybind: silence -Wsign-compare warnings + test/perf_local: fix -Wmaybe-uninitialized warnings + os/bluestore: get rid off "isa-l" type in ZLibCompressor ctor + Allow compressor build without YASM + script/bdev_grep: update to use hex + os/bluestore: improve failed csum debug output + librbd: improve image state machine debug log messages + librbd: deadlock when replaying journal during image open + os/bluestore: end scope of std::hex properly + os/bluestore: don't over-gift if bluefs free is smaller than bluestore_bluefs_min + os/bluestore: use _setattr for SETATTR + os/bluestore: make object existence check robust + ceph_test_objectstore: assert umount succeeds + ceph_test_objectstore: clean up Rename test a bit + ceph_test_objectstore: fix TryMoveRename test + os/bluestore: add onode/buffer cache statistics + os/bluestore: end scope of std::hex properly + cmake: pass -DINTEL* to gf-complete cflags + os/bluestore: conditional checking label of bluefs devices + src/CMakeLists.txt: -Woverloaded-virtual is already included in -Wall on Clang + os/bluestore: don't overwrite type if it does already exist and at desired type + os/bluestore: trivial cleanups + os/bluestore: replace store with logger in Cache + os/bluestore: check iterator before using during fsck- pre_checkin.sh: add Source line for ceph-rpmlintrc - move Source line for ceph-rpmlintrc from ceph.spec to ceph-test.spec (see https://github.com/SUSE/ceph/pull/60 for rationale)- Update to version 11.0.0+git.1472455009.a17726c: + ceph.spec.in: drop ceph-rpmlintrc source line + ceph.spec.in: drop epoch prefixes- Update to version 11.0.0+git.1472384770.c9f3af8: + test/rgw: add --gateways-per-zone to test_multi.py + rgw: RGWDataSyncCR fails on errors from RGWListBucketIndexesCR + rgw: RGWCoroutinesManager::run returns status of last cr + os/bluestore: fix whitespace in bitset apply helper + cmake: do not link secret.c if not necessary + cmake: do not link against keyutils if not necessary + os/bluestore: fsck on mkfs (on by default) + os/bluestore: ensure block device size is a multiple of the block size + Revert "ceph.spec.in: don't try to package __pycache__ for SUSE" + rpm: force creation of Python 3 __pycache__ on SUSE + doc: add v0.94.7 changelog + doc: add v0.94.8 changelog + doc/releases: add v0.94.8 to timeline + doc/release-notes: fix v10.2.2 changelog link + unittest_bluefs: fix block device sizes + doc: do not list all major versions in get-packages.rst + doc: add missing PR to hammer 0.94.8 release notes + doc: release-notes.rst: move misplaced line + doc: fix two broken links in releases.rst + doc: add 11.0.0 to releases table- pre_checkin.sh: forward-port insert_line_before() function from filesystems:ceph:jewel/ceph version - README-ceph-test.txt: new file - ceph-test.spec: add ceph_ver_hack.sh as a source file- Update to version 11.0.0+git.1472202104.8999301: + rgw: add deadlock detection to RGWCoroutinesManager::run() + src/common/lockdep.cc Reduce logging noise if lockdep is not tested + osd: fix updating same_interval_since logic of project_pg_history() + osd: drop duplicated sched_scrub during tick() + osd: move methods which don't need osd_lock from tick into tick_without_osd_lock() + mon/PGMonitor: mark dump_object_stat_sum() as static + mon/PGMonitor: calc the %USED of pool using used/(used+avail) + rpm: proper packaging of udev directories + LTTng-UST disabled for openSUSE + ceph-disk: do not activate device that is not ready + osd: update reture type of get_pg_or_queue_for_pg() to PGRef + common/WPQ: add sanity check to avoid potential access violation + osd/osd_types: kill undefined_shard() method of pg_shard_t + release-notes.rst: draft 0.94.8 release notes + PG: introduce and maintain upset + mon/MonClient: should update sub_sent with sub_new + osd: set objecter.osdmap when starts + rgw: fix for assertion in RGWMetaSyncCR + PG: use upset rather than up for _update_calc_stats + rgw: do not try to encode or decode time_t + cls_rgw: fix the compiler warning + msg/async: fix compiler warnings + os/filestore: silence compiling warnings + test/rbd: silence compiling warnings + rgw: silence a compiling warning + msg/async/kqueue: avoid remove nonexist kqueue event + librbd: cache was not switching to writeback after first flush + mon/OSDMonitor: fix potential division-by-zero error + mon/OSDMonitor: get rid of snprintf when formatting output string + mon/OSDMonitor: avoid duplicated calls when determining osdmap boundary + osd/OSDMonitor: avoid duplicated assignment of oldest_map/newest_map + osd/OSDMonitor: drop redundant check of exists() + mon/PGMonitor: skip scrub checking if we can + mon/PGMonitor: drop redundant loading of dumpcontents + mon/PGMonitor: fix potential underflow + debian: replace SysV rbdmap with systemd service + os/bluestore: break down onode vs bnode_map size in log + os/bluestore/BlueFS: do direct io by default (not buffered) + os/bluestore/BlueFS: rename buffered_io option + os/bluestore: add multiple finishers to bluestore + os/bluestore: fix decoding hash of bnode + cmake: fix unmatched endforeach + debian: enable dh_python3 for python3 packages + debian: exclude python3* packages in dh_shlibdeps + debian: drop python-argparse dependency + os/bluestore: fix race condition during get_fs_usage() + os/bluestore: use bluefs_max_prefetch for log file prefetch + os/bluestore: use hex if we are running out of space + os/bluestore: fix assert + osd: bail out if transaction size overflows + os/filestore/FileJournal: bail out if transaction is too large + os/FuseStore: remove unneeded header file + os/Memstore.h: add override to virtual functions + os/MemStore: move OmapIteratorImpl to cc file + os/bluestore: include bluefs space in statfs result + common/config_opts: fix comment(radio -> ratio) + msg: kill unused macros + mon/OSDMonitor: add output field name of average/overload_utilization + test/librados: rados_connect() should succeed + ceph-osd-prestart.sh: check existence of OSD data directory + osd/ReplicatedPG:wipe off param op from generate_subop() + ceph-post-file: migrate to RSA SSH keys + ceph-post-file: Ignore keys offered by ssh-agent + os/Memstore: move PageSetObject class to .cc file + yasm-wrapper: dont echo the yasm command line + arch/arm.c: remove unnecessary variable read for simplicity + rpm: drop obsolete libs-compat metapackage + ceph.spec.in: drop trouble-making divider comments + rpm: do not unnecessarily spawn shells for scriptlets + cls_lock: support updating the lock cookie without releasing the lock + librbd: helper state machine to update lock cookie + librbd: store exclusive lock cookie instead of recalculating + librbd: exclusive lock now supports reacquiring a lost lock + librbd: helper state machine for asynchronous watch recovery + librbd: integrate asynchronous image rewatch state machine + librbd: image state machine now has hooks for lock requests + librbd: interlock image refresh and lock operations + librbd: remove unused refresh request logic + test/common/test_util.cc: FreeBSD does not have distro information + README.md: replace package build instructions with tarball instructions + doc: fix singleton example in Developer Guide + rgw: delete region map after upgrade to zonegroup map + rgw: fix period update --commit return error + cmake: use PERF_LOCAL_FLAGS only if defined + tests: populate /dev/disk/by-partuuid for scsi_debug + ceph.spec.in: don't try to package __pycache__ for SUSE + doc: fix wrong osdkeepalive name in mount.ceph manpage + rados-striper.sh: Use expect_failure and conditional stringmatching + Revert "ceph.spec.in: ppc64 build in Tumbleweed only" + jerasure: include generic objects in neon jerasure lib (like sse3/4)- pre_checkin.sh: fix package files path rewriting- _constraints: tweak values to pick up maximum number of OBS build workers- Update to version 11.0.0+git.1471969747.79ca12e: + cmake: fix declaration position of WITH_TESTS option- Update to version 11.0.0+git.1471959548.f013b97: + rpm: Renamed bcond tests flag to make_check + cmake: Use WITH_TESTS flag to guard the build of ceph-test scripts/binaries + rpm: Added ceph_test_package bcond flag to control the build of ceph-test package- Update to version 11.0.0+git.1471605408.9203335: + ceph.spec.in: don't try to package __pycache__- Update to version 11.0.0+git.1471601504.f312e7e: + test/libcephfs: add the necessary judgment + test/librados: add ASSERT_EQ & ASSERT_NE judgment + rgw: optimize the usage of string.find and some indents + rgw: patch manifest to handle explicit objs copy issue + rgw: adjust objs when copying obj with explicit_objs set + rgw: adjust manifest head object + rgw: fix the error return variable in log message + rgw: fix trimming object expirer's hints. + rgw: fix skipping some objects to delete by RadosGW's object expirer. + rgw: ONLY improve code formatting in rgw_object_expirer_core.{cc,h}. + os/bluestore: allow csum verification disable on read. + os/bluestore: add csum on/off test case + os/bluestore: add store statfs parameters to bluestore perf counters + os/bluestore: add perf counters for compress/decompress performance measurement + tools: fix the core dump when get the crushmap do not exist + librbd: request exclusive lock if current owner cannot execute op + src/global/pidfile.cc: Assign elements in structures individually + rgw: fixes for period puller + rgw: for the create_bucket api, if the input creation_time is zero, we should set it to 'now" + pybind: Rework rbd/setup.py for PyPI + pybind: Add BUILD_DOC env var to rbd/setup.py + doc: fix rbd map format in rbd manpage + ceph-disk: change ownership of init file to ceph:ceph + cmake: Also build Python bindings for Python 3 + pybind: Make ceph_volume_client's syntax compatible with Python 3 (just so it passes the bytecompilation step) + debian: Add packages for Python 3 bindings + rpm: Add packages for Python 3 bindings + os/bluestore/bluefs_types: fix extent operator<< + os/bluestore/BlueFS: do not op_file_update deleted files + os/bluestore: print bluefs_extents in hex + os/bluestore: do not track bluefs_extents via freelist + os/bluestore/BitMapAllocator: align to min_alloc_size on init_rm_free + rgw/doc: fix typo and indent. + mon/MonDBStore: fix assert which never fires + osd/OSDMonitor: count pg primed more precisely + doc: replace cluster name with cluster-name to avoid confusing + doc: fix typo maximum -> minimal + doc: fix command format + batch is_allocated bit checks + cmake: Move Python detection back outside of pybind + doc: format 2 now is the default image format + rgw: Rework of s3 v2 local authentication code. + rbd: bench io-size should not be larger than image size + doc/install: Use https:// for download.ceph.com + librbd: fix possible inconsistent state when disabling mirroring + os/bluestore/ExtentFreelistManager: move default create out of parent + librbd: new journal policy to disable initializing the journal + librbd: permit disabling journaling if in corrupt state + qa/workunits: support filtering cls_rbd unit test cases + os/bluestore/BlueFS: _should_compact_log + os/bluestore/BlueFS: _replay(false) to dump log file + mon/PGMonitor: move C_Stats struct to cc file + client: don't use special faked-up inode for /.. + client: add a testcase for "/.." handling + os/bluestore/BlueFS: add OP_JUMP + os/bluestore/BlueFS: allow log position to when doing op_jump + os/bluestore/BlueFS: move metadata dump (compaction) into a helper + os/bluestore/BlueFS: interface to get bluefs space usage + os/bluestore/BlueFS: init in header at decl + os/bluestore/BlueFS: assert we never extend log at flush + os/bluestore/BlueFS: use hex + os/bluestore/BlueFS: Add sync and async compaction + os/bluestore/BlueFS: Helper functions for the unit test framework + os/bluestore/BlueFS: unit tests for log compaction + os/bluestore/BlueFS: Cleanup unused interfaces + unittest_bluefs: make flush_3 test device larger + bluestore: initialize csum_order properly + librbd: fix possible memory leak when image open fails + script: improve ceph-release-notes regex + rbdmap: specify bash shell interpreter + doc: added rbdmap man page to RBD restructured index + librbd: always respond to "release lock" request if lock owner + rgw: fix radosgw daemon core when reopen logs + qa/workunits/rbd: demote/promote image on same cluster + rbd-mirror: include tag tid in bootstrap debug log messages + librbd: separate journal::TagData predecessor data into new struct + librbd: block RPC requests when demoting the image + librbd: normalize journal promotion/demotion events + rbd-mirror: demote/promote in same cluster results in split-brain + rbd-mirror: prevent syncing to non-primary image after failover + test: fixed unused function warnings in unittest_rbd_mirror + doc: remove the description of deleted options + msg/async/Stack: add abstract Stack + msg/async: add PosixStack support + msg/async/net_handler: let set_socket_options return value + msg/async/AsyncConnection: support NetworkStack api instead of posix + msg/async/Event: debug event address when dispatching and executing + msg/async/Event: remove event wakeup flag + msg/async/PosixStack: increase log level + msg/async/Stack: disable smart thread spawn now + common/ceph_context: add prefork/postfork wathcher support + msg/async/Stack: register fork watcher + msg/async: allow EventCenter::set_owner reentry + msg/async: readd set_priority call + msg/async/AsyncConnection: fix _conn_prefix racing when stopped + test_async_networkstack: add networkstack tests + msg/async/Event: remove global_centers assert + test_msgr: ensure wait for ms_dispatch executed + mon/OSDMonitor: add sanity check before setting use_gmt_hitset attribute + osd/OSDMonitor: drop redundant null check of max_failed_since + osd/OSDMonitor: drop redundant check of assert + mon/LogMonitor: remove "host" and "fsid" from handle_conf_change() + test: gcc 6.1.1 complains about missing include: . 4.8.3 does not complain about it + rgw: fix flush_read_list() error msg + cmake: Fix mismatched librgw VERSION / SOVERSION + cmake: Add -pie to CMAKE_EXE_LINKER_FLAGS + rgw_file: restore local definition of RGWLibFS gc interval + kv: delete store after pg destructor is called in OSD shutdown. + kv: fix iterator invalidation in memdb. + kv: fill 'm_key_value' after 'seek_to_first' or 'seek_to_last' + kv: fix iterator bug in prev + test/store_test: fix incorrect prompt given by stash callback + test/store_test: drop redundant transaction of callbacks + test/store_test: avoid dynamic allocation of trans + cmake: recompile erasure src for different variants + rgw ldap: protect rgw::from_base64 from non-base64 input + qa/workunits/rados/test_python.sh: Allow specifying Python executable (through an environment variable) + ceph.spec.in: specify local sources + ceph.spec.in: ppc64 build in Tumbleweed only + ceph.spec.in: add lowmem_builder_override + ceph.spec.in: add Prereq: permissions to radosgw package + ceph.spec.in: remove vim hints line + ceph.spec.in: remove all mentions of epoch + ceph_disk.main: s/get_dev_size/get_free_partition_size/ + ceph_disk tests/test_prepare: s/get_dev_size/get_free_partition_size/ + ceph_disk tests/test_get_free_partition_size: New unit tests + ceph_disk tox.ini: add tests/test_get_free_partition_size.py + ceph.spec.in: replace pwdutils dependency with shadow + Make systemd-tmpfiles create /var/run/ceph-radosgw at boot + rpm: fix ownership of logfiles in %pre + Revert "rbd: update default image features" + osd: munge cache-pin ops with data into writesame + ceph osd: add support for new op cmpext + rpm: make lowmem_builder code much smarter + rpm: add procps build dependency + rpm: modify optflags to make debuginfos less huge + Revert "ceph.spec.in: add lowmem_builder_override" + rpm: lean_debug_symbols bcond + rpm: use gcc manpage terminology for debug info bcond + Revert "Drop any systemd imposed process/thread limits" + Revert "systemd: Add systemd sandboxing to services." + rpm: be careful about build parallelism + rpm: divergent java, ocf conditional builds + rpm: fix _with_ocf + rpm: drop obsolete libs-compat metapackage + rpm: drop obsolete python-ceph-compat metapackage + ceph.spec.in: drop ceph-brag and ceph-post-file + ceph.spec.in: move cephfs-* fsck tools to ceph-base + ceph.spec.in: move ceph-dencoder to ceph-base + rpm: Moved ceph-client-debug from ceph-base to ceph-test package + rpm: add udev BuildRequires to provide /usr/lib/udev directory + rpm: Remove trailing whitespace in usermod command (SUSE)- Update to version 11.0.0+git.1470997027.9c9b8a5: + doc/radosgw: remove reference of purge-temp.rst + doc/radosgw: fix the table formatting + doc: silence sphinx warnings + global/signal_handler: use sig_str instead of sys_siglist + librados: use bufferlist instead of buffer::list + cmake: cleanup Findgperftools.cmake + cmake: cleanup Findleveldb.cmake + cmake: cleanup Findxio.cmake + rgw file: remove busy-wait in RGWLibFS::gc() + Lowered third example to keep PG count lower. + run-make-check.sh: pass args to do_cmake.sh + ceph.spec.in: specify local sources- Update to version 11.0.0+git.1470355272.6fed82a: + initial fork of SES5ceph-devellibrados2-devellamb71 1525104152 13.0.2.1874+ge31585919b-lp150.1.213.0.2.1874+ge31585919b-lp150.1.213.0.2.1874+ge31585919b-lp150.1.213.0.2.1874+ge31585919b-lp150.1.213.0.2.1874+ge31585919b-lp150.1.2librados-configradosbuffer.hbuffer_fwd.hcrc32c.hinline_memory.hlibrados.hlibrados.hppmemory.hpage.hrados_types.hrados_types.hpplibrados.solibrados_tp.solibrados-config.8.gz/usr/bin//usr/include//usr/include/rados//usr/lib64//usr/share/man/man8/-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.opensuse.org/openSUSE:Leap:15.0/standard/310930fbd91dba728cb1938a03635b8d-cephcpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 3.2.0, BuildID[sha1]=735af671e5e7ed090b0461ecd1104dbe4867df87, strippeddirectoryC++ source, ASCII textC source, ASCII texttroff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)R R RRRRRRR RRRRRRRRRR RRR R.%-KH utf-86f647ded382aa89df674532bb41d467683f3b4ebf418603253de02dd9ec85cd2?7zXZ !t/] crv9u SQP1˂|L 22vm$C5m_b 0ubrb@iֻL:RL=wS_ <D% V.x7 ;᳁`UUKl6l%%wG \5ɦ/9<{hKp:N >ơMAOvfhb;ߥ!ɼ)~owVtC# G0V*H>+-f3Dzd俤vT eDkӕ>!LFΣQT:?R]N@Ad/>0n)aD$ED{Va'o٘j_ ć5*Y~:HUlc?ϣWIۂbTJxfou}vB;lX{`UG\iY*?H0KjBq5=xag'|pm'QɈ<+)+.V6:'y+nto`4pG& #Z(&[g4 T[3KON>]n M/]z _tJ@w.zEtp7ӻ [STZ6Kٷ6΍]sǸf$0慟([ 3Y.|(˩BI%7>%ļɄLYpcj.w(M6e~g$r܇}+h>sm}Bstfx4*i&k j:.NEDP~ N\ib%nl;=F!/ Ehdl˒㒈GT꤀nP@CŰ(" }eWVe~J &W-mKPhz s}{l- _4C]NU]5ϵb1@Ja}8 @QYNMWZ 8POH&8%T`6LQ73̔T:EM+B䲣.&)B?.H BC79%DPz?͗`_t] N2J/Kk{MVU8Ku{3k3Q~~Pɲr]@dɅ`5ƱS -ޡЀZ= e/XWr n*j;K;4^2*߭3KĻT;]̔jz[*b~]ϺϩS]4 ʹcDL&e>Ń v@^!ERWVB<ֱZV#B= L,"J'¯!i„o\cԼx䄴ꯉ5t~Q,`&aY14 8e( Јg i;/ѓyƛhV-5n 3ӰiFͽ0ůXS@Y-ḈhIY\=^Efo?#aMƉNY9Y7!x}>;! DOmRڎG& Po&F8;}PrOˇmw o6 9Ra ݦޒB'_Cv#H ײ ;DYxM3,G3*v"8P;Sn~y9G "f#? † */Yl7MOU&^MA^wkl Vw χ/.Z0E=m`:ڨDՀ!@n-"O+Ev*Chyj V0 u~8. 9UDQd, +9/>d`Pח)P@Xe!1w/8C \o.d9>=Sl!4jGK\?@T~8A&P*Wh8AX oBˡGCn'#Yҳx$*~ˬ/N嬑W Ȋ׍P?sQfVzmU\[{8>'qɄʮ% N]Z,(x2R6D1ViQ0W3ևQ5/pʱRYN3rc@H]Ui{ M<~Ic HBE V󅆖3%љke.U%Ve>M79:eU5=9bI(SUT 1+Hp7]V QzSʲKQ`j 536ZssstMzϦ#n_6M1O$hbE |:&|2{]gt?cCӑ.?/5aik 㬡DKdM6//j2Y y qGJ&>D>dשP l.t(u߿nŝ&2bG|gZ5esB£$?8ds{G ҧw=}$"rƽ epK T|dn3rd"(wZ=8 :WQ. b=-=],,C } c5|O p*o C P::.2KyMwC ,olx讙h,܅W#9ǭVpeh' a G,unpj ]/HTx",[iK.b&Vގ.އD-ѝp}[c#U3*1OJۭLQ8vqYޗJ{e +#ҡ^~0u3>1_t?`O߼;\]5i2&ĎT!cNEnD  39 69dcHCy<Gq0(4SPH|5a< p>X(JhҒ ʄk8VYj{h@F9´#c*2G\9{} b]eGEu8=_o N_|*TeʲeؤGUVME-}ZE?Uy]3w ~*͕Vˉ hĄ 7]]hY y( Z>$ƈsJF?r=; OИk? wI }RwU& X!s[ŤAC!b E.}sw͊˚=gBZ2!'zM4*7&nKwcA=`|1YP4CFzL --S]ܭ?d+7)O׮n]3F?cOu%*d5A0Ȩ4+dw;PRd̂|TlajN ¥6Xjnٺ2؇+Q^rM%rNpŕI4mRcO߯,:]6 BPU O)66ZD_flaCVa6 9|nl}}։P\Z\5g@Bg@qw4mAHzMVIŲuȇhpX@xnl21j ߰_b|jPþ `k!kQÏC4zQCt Νuwwai$'tQe-0~Q6a@0D1ٞG}בKhc:upEn$F..RFuۼ3=x«W$#e~,x^óι/7-7@1aap:RCu\wy1c#yE1͆`qGڱk~pIptaYaֹ 7nn}О|o4c&`(7ϝ-Q^(WS#IPl)CY1G8?S-ɇٺ,&)AaoT]̊(K;O-ȉ 9$D`w6GTSB=.=Au u6rOdBdCuvםt1!ry>|r2^D"'u; ˡa tmW8}$psWew/f|QSמQ<9&/'[ @כO9 pqe2[*4~5'12ˎ.*/nqLpwp1~|M&U21eyCtT@.9gQ<1H*H%`= ?L' b ®"$A/÷B&-PiF] $Ԧ'U.ۚLXt; vpʤl}o#쫴FV0G77 <.w w'5eF4;KW4;Nn(D=e2mݤk`gjlA6dQJ9$MwvzC'ԪG(/ЂaK[3hnDs$  @Jn@Bempi;hR ]:q p͂_yC(?ih:lxx drBΘ8XϮ;cړRc1mMMڏkHyx~,;ފ; t䙯x F)B%K&  B7WgP*CȉDa1] xvC  @qaw<7+ p!?ĝx d\݇cR5O ᜽ȆHE^<|P#?7mɩTj)aR9VfND0hR+Z@Gyl88hje#Ę 9+] PِEӇM:A3E fDNq/N{O`ڀ".rNn\3ABl}kS0_blufҊn]t-pG ƺR3H; ҩ2=Jg~; "V6t,^P@Jαi7ïP ,V:eRt3b2̝ܞ ƂI}i#Eh APx~ _!:H[v2#:$ ԫa7 =dɲ.}8A1&3 x?m%_5# -|]᳑YeemBBЏP\^gоM:62ROakY1P]8}k`]C0~?Ѡ܈pl~-9hwBVOW}1[Ntw ~M?嚂 c2I{ K20U#7NBу {-4B$) syu*^. uGî/}!rr0N2} _ 6V^3Cq _C d-= *Agk]A%}0{QCa꯺/b|e$6W3G-hFq5+a$K;T/La98qyc?s.%zC$t])H>U\̱xzOAu}|=[y٬-I`2b˲)@]l4>uAjI [-5WMfڔyCHumsL~&%{B) el:E C8\\>ʆ?:Be`!$h{0J…9^jO6k924ltBqSK ş2ϖFs}`4rE:86N8޽a?9r~!;[%@<N=;al%9j 9r& .$(S9dٖ:8e< O7 䢓!F}1kٰ?d3*̏+X$!{We? DSfINدK7[jWj\~6vs܆:1C&Z nƵOֳa+J42vu!(6Ԭ6Rg19uQ L綕// \x'p7y9ѿA ~2-RO!os;U`l'Yj}/XK*^x`rCЉ*<9\#WloS Ye,|Mn^xF5EP*]`uܓ{+;cyZJc nU^ϊ_B%b2Ut@;?JP.1୐mCwobts薫9)Zzv ;^tŨ jZpG͞*{2 (ݢoDyHWf F fW˦l =JA䐓B7>,@^M#*Ѩ=`W^G"חդ3 އu_˥It)h~>fw-pj̮M]%Gt7Z4QxYksN}%ѝ_d-7-Qj,$dиD'oKަG;SJKl~M]7רBzUGG=T=ǒfUL='<4 5rVni۾;"L7W GE<_`p U ׶֦=b\)kj/1rVIDg4S>@ȇR`IH~ @]"MZU=OJ:t5I^$"3vFQkv׌H+C׸}wcz!9*AmmP"uŐqU@'et=-]di=}??J>}Y-4}4 Z¬#ܐJ*vA_ʔTe4Gn߄ %-=;,؍-/PZPl=Ȳ )F"{;=8.?tKu -r}p&q.; 8ch*pdE̬dDR ivLLP)MWv"! :V:&Rw}Э)-*Sg  26:zHM \bXf,KܗvxR8|I/M0TѴWH"N_A?~JN,C`NH;kܧE4'x|$ΑvzmSHPůIĉ%璦/E>}bK}"m|#oύHj{,!0hSZ-bfv!XyBٽLF:}4%z̼E.@ 24đ<7HK-t(4f/_lP=4/eORXw!Pm\1hli*e3 /f,!Fa*{HАit c֛ );)>܌błiV/y8hfТuARNJϏ3LtK% +qۤuC"1VpCD _x<<@q'v05^-6(F`vVDv6Uo̍A;Bʙ?KM<闿˼-:9d28`FA#wڏu>~D e~1"5V d0g/wN 6xE! H;-"tf >}Ix[O[3Cs1&2:+sp z@.hqRFŦy_%>m%52d]&\-3{$ʬMJ2=NORH$Kn ݛd9.c@衫SN`lw;'z2'';eq:n71h#K%el\Y8:ȍ(~7Jܶ}Y(]玌oKD|Ȱc(,?g*Aq)Ix"6ލb> *'1de gX0?Ƣy5N!EW\2y`Df)~uY7^+~u=C c3AU/j!aݮ7HB4Vdc&oy#CewuiB/r\LMؼFO mۡ~aLdoŐ\;oùrnZ9 cA/Fw Mv|hr<8PhPNPߘ ^ښZ1j *x N[[I>y**a#e ݛ >n(K@fQLC{WrȤT(`({%2&d'ͅe }k+&Ǿz  VLyW6wս=8^Ű$q0}&a$1\=^D>AU}$[| H׶ !GZ/#Ҹ@v[. -.,pUҬ[w=~m6=SM?m3P&kc`4 3K@vWsSgU/-$z/Gf7@@kTUÖAHgOT.` ;wGF}_JJQG۴6o\-FiWȅH&5^jJ]S60e,ORb5[%޵og&w2+(n[PWV]TPXRdlpvhVs,ȓ;'8zvbJͽA Wk|9( .w0α/DaASqqJ4L:@, NmXV+h$yY\)*no*!3JPV'㛞ᮺ)o߀m=DŽ> $|tn >˒,}TZuh$ʘh9̄&1`1a_CNCuRO6 @‚c80X˯-CGaMwQo$9^ <)7)2_p2q{˖c338dב\b`+l@ CG“58b\Aܲ!wWVND cǻ姜qƤ x92]+ Ebuxaj. ?3{.q 9Af\Mi jk;-^'P:U,gj YSl(! z=wj) rirq=|l(Ab,lz޲?)%pn&9!̀E#QXD<|ǺR4≎`Yx)<њElc oQո.NO{?$si`ċIvFj9 D#t>&:Bhu1)Q=pQWO(8" *9sMX{ϻu+ڲwD7' &~4ܭ76LJ-D+,k\9ܧ޸`xy}XE@OS5tt.d%Hrʏt-~PtDj^dlp!w jGu@?!T9jAL)<$('k7AcM׋1eS*b o@ڙQqdKY!eӸrvS(\,3a%tx4*T|0āh 24i*m$89>F˛ڍzY9TN1l³p5O̅ZE#)K3O_EHJ[uhhb|e2& ;Nw8P0:[]?MXOi<6\YAG8ɺ b@';)J~1titR_JӞYtI ;ܥǘ<8ص+Syj)P +*3{OYwV4H|3'E\t,TFh3s:vOyݏzH{{\b}g%a5uݓg:&KRVJ){zgɈ 5#cEc!wb!D[5BO'hCV@mjeghy&bd>md9-|ʓuՌ^̅rWN)Ny-WCXSM9yb. 3g^&ϨЊ´@nab#Ӷer+V ki,iʘڃ]E4%~:GPtvSyCmUׯ$rf]\OpRPf'Q]mNh@Aˤ*>k XPU)6< ]nHBE#u(J*oذN.jk}ͤk,P{P53a_ NF>S7c o'z%Or{c̐]f#OT[޾)~clJj{u A}0ᇲLEc@2Dj%Vy1<epY匓͹v4FK1qqI|dAuYO/E,*j.gԂq6p _lMJ>i~-蔔%6mM9:S楂̈́{KzsVJCu4qʌ6'y"gv*Bil5EglP5P.Dmˏl-\*OZ-^Q.ra'ҹ'5{,tbEd]='b/N: m0pܼ@be,w`F"aH9I0lh++>.ҭGឳ6)5VI'զK !ӇD$ #W5!&ēRX/A7>,C{лM/: 6jQRKo/Ĉy>#bJumO{'+3>4e>^ww%bwdU;5$!>P-)]Ɏj KAiCg$%`ms]`׃륑)3\@97tsp]`+0b^}a@%R' >R%og(}iKcehВ]c,O#嚞H--$H(:/O=VѬ%BGgE}&{ 㝴;-;^$VYIw adJ4M|ዼdcgGJd ]Ձ"vqbv]ua:dd6X@%|#iD7v'ɹ/&{abPjVQ)}~};z*H!P*IEtʳSַ{Eqk{IB1}_Ã9[@ ~!EՔiJ0a1zd]sԟfÞ|a)Yy#s=̧kG 0Mi"rL,.(5+J^) 䟧.6!@Tjpsy3He{o_l(kiĿ&#zoUΚImg`QܔYw$H*):C<G/! >ur]U9nBafa6ʹyU:I<zoނEvMydMʖ~:OoEbMtktPKUqkU3z.ϧ*1РT_'Kk=ZA8XnPss/&=8l͇[oAT<1 lpsS#G`J妧<&Yֽvkcv'3 U(z蠏:zאu߄: $!<[ug ,6W/PX}.'UUNi%R2I!eYl^2ܼ]KA5:~s:DG({cǬOJ W7ls-an2 IXH֮GxԵ+cb&̌CdKJH֚ Tj,a163'CoB=[ZۂT_? W`ϓ*eM*y?xOl7m)I +8EIu#ud)qhS9j}pYH(躵|&cb`*%DV<ۇe K?H1VMȣD4Z|[$Ϟd/f&c`Ho,sbR1)IW5p s =YB{$IT>OԧdVC&x颗)Ti',X1Ҟ儞W7ʿpb :#$l+{&P/\THEoq7% '2mzyA"Ezb{J;fdhmfl acV .ǿ>pPBn~ E;Bp <{L.l\rvЪz]s(N֝;o݁S`eY-_!1& Cp׏.&79|s‹`55Ѯ T:.q WUAU~In`E貕㒮~i[xY eC90P_DWFmV#Hѿ!z#P2]g@𙯶,#PMUPT tH*ˁab_i1ϐX{3.'Jd2xV/.#k'lu٪> N!”l GKe+8 egEܤς>QD{ٜv1˧147٘p1ݡlZ qOJ=d$&NzΞ0e%rRr8aANr/2O4^'PκI0=d?܁O|)YuU_{xVnܸ^0 C O6 F8v)?L`X̂_0 L!F+ۀ?^A~v9^șʔE35![)l>8$U8\> X.6 -y.Ut)ivJővLRn'.Nj5Lб} ri>A@̇lR_le89qsw20xA{Lf93 46_߇zfwABn #C{aHLcSz"{uժvweh{SqAjdņgwRW* 1h 򠮙 :ӓwpWWf[Q, gukq~ 4sd2~%A)~.M l]TT &g,R")n'_` +ҟz{=7mE"|G&Ck O8U(q@h _zѰHHcǮ*3*ɜemIL e☰҇ hs{~`zyi<\H:ŕ5|R-I32ȱUC 8)n)LX58 3n#NraoVsV!r Ɛla˅RN5JRcS_ΘRE֧&gXFu6i C}[7B5wug\lz :BHYDS6gBy0B'h̹.G Y(`O"*'XM@Q+Zه:nMP#gnoa1]eR(?XFzXo , |k|~Da7 VPvث&"XDwKU.` )nN3mDDάAt^O݁{{a_( t2Y6R EMl:a+#K_[*f8\to %kU{]ӖV"8>Jth9D I}&͓0Rz/?E:] +y=t+b o1K#$6>P$`u3#%Q/Tbeq,l@vqvM'p tdj Kǒv`v;Tn3 lmN BZ5*QRR:,St! %mj2+A-x  1?eⲳY) eTQ (%5XHyQ@кV}6v!֋Nr 3=4(23J;R}b҂@\Em:^&S=slxr+Ƌ5]Վٱt9šS ]zLpB`el!Ŕ3>wR$.CPO1K[ u;/P-/}0.K NbqHdMO98H"I[4Pu۾8sn sԾ]!&HHUpԳ. .wx=MW ^[l6L/qלQHb˛P]ђ J YLAtte"#I[=9ʌi"TC"۽sFgOU- ]ޤc8̒f-f 5~u~GO;&qhOt!bF͍:hB̊ mncY;PJ+Nn6upАx~,H YyHP3+GQVLC1Ƽ*Cute=ڗZEKAScd9Pz7T#_zSFxH- <>%"_@<2+-^(^Y4F zHJXA$4mR⪝&53Ԡo"ywtԬR?f d,QD >wQ@>Vh,] 6a[}r/Y)\׬n}3Ua*M,eN2QR^2c/G ->1u?@(뙏&f zYBX!gv[Pܭ B(3ʿ5/+0:YL.A1Jxž.^?@Bk,)*CڱV.{ .8 HȀ0+c ä57U/YNcݤ;vؾf2* 䮜׆^)EyQ RԓȈ&3^G+22ŸƂDp2Nϗ=zG([}zMMϠH>fΡXҌ@7d3!f~;Y}  YEPłs%hZ2QZ\f䓹BEGbd&QDS0G'S"cQW G76/9+qt@oD>sXHyE8bq) F<}ӱzԵ> v̦uf/]7jALZgD ob@WR}z{PDҝ´Z֡N20S.?lDas^P;6OlXp؃lg[k*$frBg@/ǿNjY SW:x&x/۶a{{y5u'X_+RHr-v*33Bg)'lIY/.nGbj9pNC6~ mb?I.jvb*Yf+@)$ՇXz{bD8 Wu=P]CѣG3~EsK_C'/ eB).i֏ *\7 tSRCtCtݞ =h;bȽq-q+8RhvEj| )_ؿEѧCq_f')0)kN&dᔵN ZtM{mϤoʔ~x2g Pځ| *;W|ىb68,R-⛾;MAa7+ar'}@K'[_AV" U%)@ M̮#b拢ł>(Ps*h׏FM[@6}[=;Ьh^Ui-ŀ2RBcr73mrh%mLor?B,<{w183Vb&/=U5?2'l2^g~r/,}@{o39)T琞 4A9%}4Z N .1 ʥ&+- _1 F#6rk6\Pfϧ Dy F׀&WքP{k֍K dIv׷h_T'|{ę6cGKbl2` qD&'utYe㩥ÚVфxca%@*weЊ klEScaYAr vcѲ ]_yh# Fx2pr .1;멗MQ/TdavbRQ{PΫ)>^]6L>=rfVm[UoQa9\oGcppdsn|  `h9%$9dg+gI}"#6@f:c@d~2749{b,0ĜF}!h߅] M a#+<8bQY D'rQ1&B܇3۶ᙉB:uvSt ͉&'$.H'' g~]tu6p ș@XI۞ D~,.6W_Iq9MYc<\lxʫ{Ff$2]I$ xSJ1bWH7,23x ;FAI c^в~QuXbBiNw2DL< n Lh0BdWp Ȥ8cSn]*Xh_9H_Gv,#wx8H" a9*J@e9[&4A !>!,@uoLf*{et:aD^WG6MΝ3hUP]ʆTybp't,+ )j"}ʐ :, Vx2"[+ld9;QWM3zm ̺:SB/R쭼iH.W/&66nלڣ?~~[&JO#z/U߻v1~9h2nZ-1A.+ /C ĩ-ɗ[{ ^~=&'%hv?!NPk*^Ou4H+j? ypNu#Suw,,kjc܄(VQOeGW VBrf, LrJbz)^rR?FUMzGVfJ1 ÂS,ɓYeO@!L|+<Ȩx2f2{x+C[)PeH;1| +% (F3?%-y"&eJZ/_]EQ>`|7jYj"Oxi:!f*Sp ˾v8TǑ< ~ CҨ;1ef+}vzJ6Dy\XŨ/L P }1QU譟3q8+kD?^ k導^ᯪAt-fAAu`zAIQRu7MSQR;PуrɸO3 ] ӪpBv[G;Aq.c mQNCIȢri6$cUo:Lgtu | [0+cĿ6k機k370_7%S_k݄[0\ۀnǶh>2' y<0Urdҧ1 xo6KĿG,Igp@%K ll_A?w%,z[A|4Πe>UM{,"$A*O;:b9W:,~o3@4NP)gG1FMjOyq tz~ $y1R[D1~KpLL~})W6r$gxsN:׈3tڶ I&6ʀrNe {Rb? 1Qy=d0{[`>.qU|K}U<üYH PX[Rh`\\ȦiWa^SA} fBȣ~i%yñ3lI,E+ {3|7Rin j-DS3 0xXr: ;)Aq\ !5ٌo o'-Rx~ifJ; qJMIQG.Kh勉՛Y2f/ > 'EHwfe0˿K:?P0{鎔r۸i;cMVG&.&pL0._.!8Cg qE-шʺuk3g3J2/*e# A)? *ϙaNt0᪅Ӂ]w+|ϒ,xhm_Lj1P.KzmZ}'KQ4a#'F.?yei^E">ow$}׽; Bi v'i VEHR6=Q#ZfW[˩0hcB$ y*ӷD @ylpJrJækpœ]ܯo$R&Nt0<jpbS |ˠ^' X xzdpTl۽Csy\9!}uT)f2E0gް7 WyEn+ÿ`\콝QƌaQ] &zGL4^Ms ,hTrŒTJ FƲ6;űj4N7%}X Ei|[tK8LCAv&{8t+C(k)+⚣ +sNGE:Bs3hc Ci[6 =hL'kAed!*_24hs f ,W}`Kyڜo-/|P7j 6_1g;Tz^* E$d͚"dPtwOT;xyEYy?J7#ja#$mpe+GRgKwuF<=i>Gϻ?V;)~.*EόMt(h%1T0CbC3cۤ\#M<X>;p$\7 1{RVTMx~ (CmEԍ:j6~VH't$Փ;b"23qhxLB+\V+̶,;S 7qi]剈qd;{vr"m=Bs@lP|j4|TdoRN򌕡e&CNe8cę[Q> BF4B%;qDBg=N|ndok'r&ͽ ß<]$ }wWw5%v6|'6=Ssx_`x?I}0  AUĈ6!h,&v lltS =I5N@+D7"\;o#=7ۡ,H[0Apz署HUGB8HڜVEw>i lWfc}VN-ࣺ)siZczFgK]E5$_Ik1<_ۺƿ*Icw0_a yA{&aC=/lrc򌊙߶E[2T8oÜ 80 Dc(<">eZ/yyۛ.hcY 4JWEX>, \/򮣋lN-At $S"=ڑvS-O'CJ+ q4aX"`HT}Z1Nȿ`B}`l2HnWUkh1 S-et?7mI\9JO+9c 1EOBu`ID!L ^ĆOUwS{l_(kA)&I(?5s=kqCn6*_M5Oh=Od`?[ BΩpr6ٕVR6M;|I|qb%sՕ2Uz~?4umCw6Ӌ*9K]MPJ>y>}6M|K2"@EIAܝtT=.tB{h߆pO_Jw0q!K^F\f,eq<ןɸ,Yܱ&iLv!i0 `΃\# ; I>KXD,bq*>P Kps3~%Sbnx|)8QH)\󵇡r}g!{PunM"_νGb`@ju.R$ Zy.CIs_0uZCWw~y^= noR-=ly'dZ$X?COgB̆j#4XnkƳÁu;|tCH򲱖mǁiPk9㔌)TLc=-YB?`֬lJ{:@ͮ"x?DU}?sd)]fL;j!R~+l~hx5{nF-м =k<#!Xì~zyqA9FզAZ.Ft s.l;(lv#D9Ѡf9ݮ;je&[Oq2/f3cĢXE~|`ށ"_Bn'6H<=شS: n3`tM/ ijMrHhԤ/Fj5MoʁTư$%닣@//ٮ({ԍь T"Ia~B <:Т[EKDViU5qyul?{\ ,7h0O/Bp~!O3w_D,pGVʍD;,eIUiuSIJmҜid (̦`BD|pMSS}p0k M|A؛wr O۾ؽK޻7n~7p}eQ52QDYӣ|=%4Y^纖]zMj v͏b>~u"{ckU%AN'5u~7ʡnb+[cp Cjpa>7kSk`׵3֣± ?5&Gk߿w0 aɕ&.`hh65:Ц?GA1#Y{EEUTccQZyr:A)q1|3zT0uTݞ@=_i_=߾9Hk]13tvfC!g,}ncQ),gvoof!v^=$w\'Nv nOg؂S+kbo +<euHs=IHlx=_I)B섾'; LZ)MӺm/ƒ.FBR'k89^ >o:px p׀u]+ cX3٪}?EHǪ*<&̴;Vi/izG;1vnA _O nv=#ˀXHMQp\3.o5A0䟔 3 EP)o|@QCe)1Ҫ*^c⍀BELHJcTEfxځU]>pR9MYֽ$?SPO[H^,c](dAuatY6艵ftp%PB$} l،)^.6Q!%B EwjA=~#h GR էmMۗZFK˅|tZHwZD YIuVE=3!rJ;G"Ӑ_ҤVЧ C,+A|@dF}۽X9q鸨{c4n$2zm/ ›u :W~Fbe^Α^XE#{}6&Ûpѭ#b!]g/nQz UD8~-1Zk62vzIH'+P86<= OTVE']dA-* .x2Kx䩈 SV~\7.H&Xrh? c֠ŨW^vC۷;E-3)M1&XZdX `q[C0n$%XW!3b-uÌE%.<)Vm-6 D iO\<4chQ4\ +B^Xkok# a};Dw{<*G b x^߉K}m>E<6O cNPVXLr#{E|UF~e !ܰ:6ڭ%q²4Zo#ZǾ e.T\%_tohS2U>vBZ}ӹ #y i F ;1eqs{_Hj'^<AHם ^1DPpaKobc短]P葕tHifxЉKD)vu5[g06+SBr~%7egNe#$9D0KB^u4IKhhX6-mӍ?ڌȹzF=^Jh L#ʼ1,,?<Q١ Mc55Łt:\E$xcO^ ɩO6o@VA v\K: uFc%365Ia'L-צ#"ū?o.m) V>残6׽Ѐ>#=d<ٮ+¥;_l8Z<$*JrnZҦꁐ3B0uRJ_ptfKKI 5Lrs":_Ug^cշˆvF2KY/{.)9O?n|,-ΟWħxS9@t{qiiLѫݘd}c|?9GW4ߖݘvMŒ )vap*fdWr"n(鲫Dbmۭ-l+t|{%9o_0ןDHZVw>,|VxA;s@Ձ-LS: C bwL+"A}O9c37NIx~RY#0d$l+ F&fm{W䦔L&=<)76k&=>9M1 @T"2GTCvOI J!3e20o8,Vhk1FLV6fp-R^m:{vW}HCM)qEJ!)-=$p/%bKɺ *M+Wu?d ZF+t¥J%cqʀg.\2̫Ϋ4) Ѹ?d#Vi'ĵ`)eu-9cihPC莤:̺2;_*Ǡ` X|dhl7L.b|1TOH^.J0 ghSF`Θ9ӶIA[K*(Jg04~m8'1!o)AȺV-IST'47vKPykYXLMdIO:F /!Ƅq`,ZOWДC1$9LhSNdtzeՈ{=['cc,q+(]Z4>%СjߝKTH'AlBz3(̪@T ͟^ #);:чIZn-ީb<\R7H "pLZg3.ߨ8؏-\NI#O0z,00kS};rY-ߥ#! kh_BVc8>Q`4t ^M'vWōOB`!Ѽw?G2of=t=%K87t]CZv d0Zƣ V#. 4o'@u21.hyMud^O +@j҃nLST\ Zr G+vZTU.'f>}$ 2(̰JrP҆Ufk8ddu[vF1Lo@'K],-"5An+6NiM5^J8g-N~ +)oz$M aר_I[dSǁ `PQfVOtᤌI|yJ7:Y*@elqO,~,͛JC%_,w~)iӰ3n㽁tYmĂbPgu#jE<<艎u6E'plKHeZX:|Pτ2I>S7amAWXf8G pCMY~#΄GNjĚu}k5I#gS:\y{mв8,Z7H(2Dzs/ )1"IAɧ8ȋVVA䊮\@m}EMDj?LJF#Dwup5qAIldjmƊz# c3oc 9Z)<ʩЇ*m\*rJW)nTO>`#IBhE>m2O,RAkmo &¿bsSo e= a Aۻ_%^F<C\mr aeZ'<'g4Lҡ]?boUBy'C~>XNstLŇ^`8^6ywo)]Ty/eHbem𳐃>{B/E%5/&:7/V4`fb/SHF xê||4i']/{1Fpibu緍ÍsM]]yP.f}|t_Ep~w?&o=m׎Md.{Au:+QLdy-fo-97$,l MZJ1820U_I{) bE/*BPy<)lilRWTF`3@ 7vo_,wjS0=XG!DP hdzkpB7;GGE^$?T|jKrQ"7sSIvSA+բ;n(&ӯR䢫&S3 *xrimE[$jXeao\1EfaK{y^뛫] ~X{;3?yU\Wg:,,n}m#q!ۙ xy*5D(Eq:YafS" iʵ>>l61Qʊ hU5 ҍj:vv^jl3^D}gjۉT==1Emx "Zx54+f^f(:3xţ$B"⑹Fx@JAg$uNǬ`~6|M^,Wv!4<{^7uJyyd<ДR m(hV B)RlV x"MXGDX;~x Mpx:8ύKxeKSm%Ҷt;"QeU8+>2j66K$z¨_dw. #b)-.M qQf ]Uআt?j@RhKfPMI|$__Bl)T k$:w1!AC)8nFfa/oWf6pX  ^_-]n>l>n9x=-o`!]X$nZ1;,U{>)JN~U6W+o%EjiV5_EuYA*nas~z/NjVs@(E[i@d~}r.QsHD?Y3u10J%{$gG{ 1EA`@fIxKL䗦3Ff=L^6M1`"8M|"P)9,z{Nbw -WᒡECtO&I0Q&^#<7I#:s- >V)o) 9D☍*LvE^ZfRYLՇԎ }ݒSf^kP^hd_ `+eDfgifJ vÞ#c`7̧+͆ ;0H^ȸ"CXzQܪsWK}{[ շ)r5#I k=nx©da١СFP7:#]tvF/1QFCan=|X.eImFoۍEa2)Y=1U ƍebYXL 8˙ÇXooɔY~ u$(KAdl6p6v32)8Jhh$k$X,)y *d\iċ rR̾cNdzK2\-nڢKh2wk8ՍFƪ]74FU>!ES~yR[D:: |tPm?ǠJQ\1Wpr6gx6gI9Fnμeh.YYSV(&x.9}|Z9->O̦ߴGĦ5+8QJ^'Nm%UlfY#$v 8xݷ;)L dMk3+aK nx eN4w:{aYxY¹fc:j%57KhwdfQ"={_ROgj蝜j^N Ս(]StDQ|cl))$B7&Ybp8Sm!Ϋ6aw$Y׽PĻ(5j?<. ʚ"Ti !4iS,DUhL4‚}_ ++*q&i`0(*R$XfziPǬ*1nff+}( +ѝ0L[978BS5 \:l#RY5Bh%In.2B nlL]JBvhneMגAXp5%o)&M&> $gwvdU舮NAZS _>W"dDKbj=6ƛ]F2^*;0DnS7M{*Of{23Wx @a?ȏ|ʌ!W">x;"]b}q8Xەp%%_jc(lz(HWv?o^LCvQ7m i zFQ54/qAied5tLӃ"atU Bz,UuxKT]Ȯ&79.Ê R۾B\z90? #uwZLv=da O><6DM"/Xk{n[ {ĞN$54F=B -i(R -fCFlXy}%v%|wto}Qw:/s Eu\?S O|Vԯ!ۚ6aPTuk4wşQN鲃TP3ۡ#{qYsa*d }+=uzyHA65mB ?Tj}UlhNb%[$ձ:Ƣ=*73'_]͘qziXрآaCA6T#O qL8frЗ#߱H̲<`0׎ή\`3Xyu uDVF_bT.=ʇ d^IK-;^Pcm `O06<4p\+{C~7y6CO63VK?(j4?ROGzA;<ΙUHQN[ܚph*Nkh>5%/pT :ڵ`7j7kI61c/DO5ؙt6`Jwc=u9"1P\*c&FCJ[Y'َƿ&8OEd0tWT54՝/;Р!%׋\˝o |VVMV]b 9ol B{-bccE\sEl™TNT-,_`, z}{>+v-@ZX:sT^^`9ʢ"zm.X1ygcfLc {/z8{KХ$[|cs T.70^ˡ LC7$n?BAƢVW͢t (;l)T65k\>-'B'!0{:w2тI[ :ODiu,7pj Dnq:R=hTW˝.-]gDx>AcmKE&Xy7]tvFC>f[x^o)7nǾ5j mjd|W y)xDblQ-sb"&ezNʽfp-)QR2V?^oyj1XR) [^bL.ɘ&$:C]t MB‘[>d^BX*w#^n+Pi fpg}󖦡yYYcnu+,堹s0WJJOo%^џəýsy{,~ @dxcwi2>nO5C+.?1[@1wH-}a.8DXVë7}FÙQX4xe?1o>ESݸ~9x:.Hs+fTeGǚ,L0lg*;`vhSNhxO %8aTT/EP* mI`[ipXVViD,u oIß1Y\ w1PJ!)zyX*]=bMy(/ ~k ;z.9w ½.~,9[ivH?rL<~%HBK5PJG誢Uo͏k-' H{kaJt or>*Mrvކ2& h G:2oLN ,P~ڙT\/t bz>>5p1'HIJAtixN{kKfxy@!P]1Zr64*T]$Dv \Gg~O;5(j$hhSnV)k> VɬW$umOUwPc|Bȷv.'UXAŤMo7Jed4i]# t*޴.y1V {jh!zu@sanⒿ!+gd& pbgl+, E\uÎuZ :VPM_CK 2ڄwFSag U: +Cg#$u{n| ?qU\\IKnmɐ.=폭k~!"b'7A" jUѲbui tѴAǼlMD؅>]7tY/ֿԛQ\Zv@ V/Cpi/H:}CND#*,/ݽ/YՀEY%=!V:k΀aO{5{Aڠ-[M0fvn,Lz\N2͚oܖJq_dvddX?_GWՎItD@2P:,iӼOۿDn*{\g/t񞢽Đus$* \npMu@\9*Gk%<=fzl78kIW$ Kc *o] QF7wj~c}b 94\gWW=gl?_Ȧ@6ɁiU$ZЅlZL lބ.-hw[eOKaq;cy)SHGW#]D8"$"?යб_*mEʊg}O.&-gJ_MR^7P[buKodSsBO.ꖨR,`X]LHSH-HBO&.h CFF"nH؞w+J7N-Av ب'i4L ) WboV5Fvɡ'F`>Xڈv􀧱wgbQ1@ۏ 38̬X/mKS`^vP|Q QO|G\\)])J`JxPrT_GefdFr!.Lղ̞J HY]"Q}OVU1x-Aw8IBMtd.2ҿpߐ\TRyu0]̝?)w=ӄj?]_ w`!hrW)(^݉$Uo c2&;y CcOPI7wܰ ~PY&+[%t?3I#>F=eJ5eڥr94&4b2"#8 |CN] J(gc'J~X kַrvm`gK,/FFI)]E>T'NUPdASn?B{}ir atOpΜL%L|u;rH Wjbwm ռÔ_qxQg6}醝g4&6Ag> t,ed5F R~BZQ[$XhNΑRo_D.}^T*Q=9 +]3or.'^?j;bqVnXL\"9-~+( g T7γp|0t9:!jeLq6v9I֥`0 5J Z(i{I)[6WPʏJy|GwMҍk_:NLօki g`^0TЁecLZ^>%!lݳgyx5~H3hniA4tMOH5iJ7 /֡ vY"ŝ8އHus&Fe Hlgk{Mnwl'k=k2+ve;vq㛹  l@yz$ڴvmp+x)}=^@8BMIx2$֗ [#}_ގm馡{PXR?HlQpUW{aO_[7_݄5ܱ*nsXU)@P[^: f XX}pa4p  E9U 6?cOS@'~FMw!hYCj!3L?WBZܠ ]6~#[](Hw^Oa:'%k94׋70tn:{i)۝yzwr+'j,6/@2]%5)=m Dhq\ o$BJ.Iu~ 䞙ՙV`U1BIAK`2GlE 0!MtF5 >CVFKQ3REW\ ί[ЦE>h!qA=ZIbF65gz8we,@hE5ZBf{Ou3M}.V*nUر;+41=crǗXѢ60\!tH9QsbrDX;5o/j>3:tIJy 8jv_u=uE-_ia,jn x =MZK4px&n4.DQjrQRh=wALVH)7g;7ki cZ~6XsǠEBo,zc{3~JiWqEn*ߓ3V֩.N-Vjk+&qc$RXKGړn}@E%~=RJ&d{- " t^! |-mf˔4HgFKBPkC > dT`cf_ݙHWl*I c64U^<ޭǀxA*Ffmzıi[$e:󵻍TM]U QD'THZ890SY13k|, K,{4m"YI?3wpHj/$B\. YcVEqP!ooKE[k!5p&4>(T[&o ;C&fm]վҦP8}'j%N1U`5]RvZ=CQ!R\7a&"P 2󷃝vA=Iη!p/}e>Lu۳"?j\tcϭT - "9*x4T)4e ێTVY򅂻肪E `o1P` j`#\3 ;ScM$] eUL҇4_N.E ݬQemifKt׀4 S]gsOhL]h.bpܸ%&<*À]w tF}%KS~B8G Q 6<}[")N3[Bf`X+i{9G lDTFXt z|Na%&XHHҝ膴ĎtH}3A|d%aO@tǷ^~"NW"nWH` ;+t]޽NM~ϿPX=εrx=ҟ̤tj [/O7Pi WEk3s?"}Q2*C|(lvRvNPVx#sŽz,Ⰴtd"o ]stKѢU#QA2{tV 6KDS)Haқj֮"0$C;!>/;$c}9Y@]SWWyH 0+K&EAz:39RaܸѲFzn-GnobLem"ZR ֌մ*)}('E+.)dI[kG#|!YzGAY\ƻx< z܅$`5j5>)3Y؍(W+TEIjBo(m`jLVr{k^-| ]K!d 'k]o5sy/sgzFGѴtZ6cvt#'cq+.OW:y.Z\A fWsƻމ.dp>㞲3~P<;'%ޏ(Nٗ\3 xZoeoKMHx!k'%̽Ic ua?-Rxk5'dqb|| q:4GB(I˅r#io>}:iH[0V|4cP]]"gB0tFg\"^2H̟nٞ22hJEh@ ԈFWW?8pQOx)Y\>"Ӏ|j:tHR sp%cR62AS]:GPB# , xT.*CDp# OPtw1Tu}y w;l.Tʽ.zlu[dUAQ7E9o#Ǒbs!muc22LHfDXW#! ͷO~rLk6lP^nKϦX *val{ImUZ?}=\z#( !wwW9HF#(=R'//N\̎}w`ٷ#@==k oQi/L\2UiT1kAu ᴿA줵h#>na|gx ZJ *`{u (v,!Yv&F\1MisƗ^npN;Ց%k}?2"]k[Kabm݂ն*ˡØ~0.'hҤKPU@XK7=J(ijJr!hXD[mh4ؒaㆴk9 \}ԯ7>/wێ+G(ӛ%=eyo,N,ݭ^t28.c !c xef|Y Sڈ4Tv3Y [D \9'| :Nyxe.85j]W>';&;˼qudFYJJb0wZ\^C"x j㌖-۵p}2а11oܰaᙵ㡛e`U0na|%mf;:ÞonvLs֬\ˉArрB *zn4fMt.t[O +aZ/וw֍e"3"7PɼQY9Ą58I=kRL}9^5n *tQ':C.t%ny7d쫾~l q;aʗʟbKŇl"0+ p.EZbdH|Send,g#DFe]\g!zS̲_Q&v;~tTN6mMU? 1S:HQP A!ᝨJ-2Q&0;OcB_t G{I]70EBTC`]u7 @x€ck.u fL]@A|%xR5Xx9^Ss )+5M<,1lr[觶߄b\Z\|}iK2jiEHm7IǢbbAUw/PSw!W=v ~ҙOUJw̹mǛ2kVJΌ Ba~)7q[0-đA-b7#"ˎyށuiPU';Zh^xOa _STwOzyz&T1$"zH֗7as|環<؁ Q %݁G wA*<&xJ xac +5u 7 meĨP{aC:aMU5pئU~nH1\mwi{wVv[ObqNuOc̝ ;:s_ HnP֮d3t#^S0ƚ{eqA]a&j+؉@v(?'wDڏ.0E)W58C)d]ņx!ax NDGn6 [ BsW|@zLg~OegŢzIqMS~i%AF uD$aZ:4"=QjD[b\Bqo'{_լ̩$5TfO՘ӭvFM7RbIV2xyhfjLr̮\P):9T^4jې}ݚ5*UTy%?\6,O}L>D<˥۸ ͔[ Q^3XXN٩CG1%bn`@rR80uvL.ED/$ě3 gАz6ݶsMc7jb-ԒN/l&' y~Jta}qeD0DD,@8 ņ0W!EFo Պ8~vt=ٰn%^89K>LۃJ3g9SLy W>AIp2qKqyT a1J#rJDj^_N/p0^@_|+=Ȥlk1lW2ɋ4.K ҉i!sxd`mM D8HYV,.r' OTҐsp"[,- sU.LY %`B6 ̵Xg~iϽ;TuE7qW{mDdN/MѸ%[<љ#s^@c~.>7| 'rh\!xYlz ;pB|gLJmQ!n}8C$tKѤg?MA 617TyfnS&S^iL[4D#%QzXL Tۜ!Ag"F5G!s/non4EV%nNDRRïo1y/#}áUSnRedڋ \/gs+(Awr` z벍޽4C Y(2f. 3#9m8^۲@у{ùG-mo x?g[9E^aJhp4vzUigSaҊuXƟ:{3w׊T8mUHeQۺH)`5Cyz\c& F2_d)Ms;O*u2Z,G:jM'Zk>qD$zW&a5惽1#͖z _^u,=WmJ%0D%.]ЛJq$U,`\![*U3T Î?GV#{_ؙ8A ˔a-{N!ͧsrlm{A3LC㏕ϰӔiIJ\bls&U*'a7l"l:!M|zE#f t/Y܋Am;^W\[#}zigp!k"ᬋcW +zV؊KhQZ$4bHĴ3>nkfJ,PrSUMK? 9+&@nO#%U2\3GqX/ԗ䖸=Z\ R9*4H]BV*@XFt ζ7n]2h1CM~=D5R!-GG<;fD`VO{f3۱qlc s9t_2qVWe6^@$[P1jפ@&tKj8҂ɘl&1BK@.S~o8.%y'e)rԁN~;=}RFR+"#z:~~ ac$\;%HN4X#PkqκmZu/)Cx]ТcDSE-[!x RpӶ4mHsB HDKI5c;tJ8>!&#N;J=DE,}_~CjG6kG^J%2iE& ]NN9R}֣[u]RL~fD=a_Vr&Tr|kSUl1cCoȒ*fl#!_ͼ+{<M,,b[me%mKڭv $:bڛ9Mզ~ N(98KpoW s3䇥 \+#Y+nN.7) _]:п9eWiEUvEapbjo jqǿr=cQ(* `QG3q3=LKNJ0\5 :);fSYC 8A5OU,@KAQ\5)~-MH"RH;T{[8.hK-TK8c'ZZid$ "\%]rن֦ʊ[vzsʞuKd3h2|$$~T׵Ϟ/suzL51x/IQ^@T;!*J[dLb @JzɽXV@^;]mM $Zc=?$flsg%D5BA昃ށf%u=gLD]:tm|!RNd<펊r袀m"K7 X]"N+EYEm%H*_Y4ͤMzc\"ݔ׌| OςAطVOӯusK,! U9*mj{.rg7C!9, o9[_}!!-gF[V%.2xuXg6&2Œ+b>rwv%14^v13zCZwvIK{PɆtO @|ղx6figõd^0 88{WH8O#SM™/w*!G/5|նQ Jp 5A`+U@Vs޲R`Ϊ.C*4L5@wށ}ϊ|pUhx$#M#orY+0BߊװL^V,8nZ! l2v&y8;Me%F>9%A=Y.#Dh.Zzή҃Ɇ~n)/kP;!󜠖G@M!ӄWk;5ꮢ :on0خSj b?C-wy*TFRXdF2|$4FJ}ոf'Fg gW%b [@;˟dh2'(NsVZ4KXӀ 2JxuEGgiw~ߊTˆ>N3&IPңyx>Ge!ִXb@OiI('/PڋOaxEmt+>4YZE/q]I *W\ăZ%zU#A WXd"AmF&ǁ\JdKeTIu=H|i݇=W.k Y@WO7cW?r1ulp`.U0fOwH!b1llVUb L V]SQ3GUg#!ݿ_̐ԃ.}^ ڥgKG 3 qϱUN|wا`1""3FJ}:-!>(bTMz\ JJ3z|Jz+3H n)h|m>u7@hyEヤ`N\!*S4J+$:6ʷھxcN֓'\r, >u-|EH@[W7R Ϗ#J@W^f`1F"$iƠ]kzyAńa.gju&&o͌TuoQ%46Uo+&ófu}oϝ u|]NԑnK/!v/e!"Kj}$?oHA0Nlg}\f0|;ED&T +iu6v) #?V;Cibk ]Nj^/*JJ#)<|jSD}:'lϼ[ 0VWohXRN5>%%oa n!Iŧи-퇑2*%2ZdEM5.I xrmF/`b:I됨I(}S-#vt+*"zx|j*V)=&>QSl+_A`p|Lw?:A\b#HVџe\UM0N1)fヤia+wbM̭ҶftHbS v ͅpNљpvF%ہr`&1djȿxAQ<3Oُi`Y߼pkwP ߈)^~-[.^4֟qg@@.vk]d|ۯ]Д<Æߕ&WGU+\'mȵ MUatͰM&e{M۵&z+Th@3l&ȱ܂6(w0Y;~H2~׈ALO` Q( S,yF }'6@r&}kxnKBJ\`?9fMlCSji.rtrb GrӮb<ꦁt¦+&f'O`1qb|&ii\ I TT)֔?Ґ\JD4$V`|5 Y yWf܊ENpTÞ!KC,ZKmP<-8`//qVl{6.{ynCJZX)LÄZPS];>6bjqgw2TpLLHfJ$#_P4{lI$L{ϤؖRB'ZKLE L+ fYBx5B$9 j<*]m1Ɲǫ=[;T R!i߄ԿS&L^|B+G>bwI6.SEWԾE,+fb6$& C]0!6(pȸ|圷܈K8˕ u@WAa4Rb%=w 2@Xi~υR(gpo /)RyN~psacB)rW2Ym.3(t:=Yk(U4mtS¢=KWdDD/k ~kz ;?z,m`S?]G }}OqjP螄~B^2KloZ+ AŰ2T>O'ձmTm6Yi=W9(L`Fmؖu{7&v`ٖ49v K;> jƞTyA:x( :"UW?hdCPzjt-aQ}-Lz]T|GQ]lM5zcFgsc,fƄ0q]{d@m0Jzv9a~ Ete͍LIMwOr\O(#焗Ju&Cș!d%K)AĴM.~ivч73Ú06X醴XKDһ~5C1.v{"9;ROz:PHD"w[6_=MAͥw(V&G()=rHbʓTMd @@VMj|tr([6/A]{m]̂'e貮 {A9F/ls 4oQrW[Մx+nj YQ Eˣh|a 4J732=H8z ^3qJgG mu]/9=ĂqmK'д]!N E:oeKQ?Q{.49ޟ%ZX<cM3Yb|՛ΧyaWW؜}+|5I#)o_ +*ڶ5KKgIx_+B>qb+F4r׫Y~"KE?q&AvR91eNlar{sEHO*%ynƩ8cgܲpˏG^-t˝'Դ%I} vvjw mA;ћ=1.kv[# Ut%֡hu~a\D|bBf\|Eqң+y`|wn W "gKW=HC #O-Ed4ATPi&_ c} :&h1k|s^k ,U2 YR\:) LGe3.+ʗ)P|TRO1Q=W_=E*.?&&L^ V6 ,G"",+C=-jLtѨdrb}|@=dQ OT2/LJl۳Lw?2bgšRJ*->2,-ӆG)h@ؘj3󂯚tz2,eez^cbuWa!M2t3<7KZP,p?Ͽ}Bdѿ)\A?Q^jBŐV=&#Gޤ&D4.%qe EMb,oܲ֊]}/t۹$pqdPjO@uE.umРŝPHqa:\:;~!\]ХR}]bc$=/aϨ*.)t&qޜx V Co;'sW9"chJqk﷛]q >;^y1ψ R5q! 0-BBΔֺ':gYْ..Bwi Msjh F@v9*n~/tE,8 RS#kl>$4na,@ z&3ISF%23L77= DuM3_۪R`l~qt1Z;":4-sE%_ٍ7/Sri b6/!8}ͨ15LQ1% 8CRL7?Hꌞ0і PsJf !rV0T7'ԥZH /䀇.}GXW?OAGc(h:dU]`Y[Q@ޭkS.#hBI[Ԝy[dݵ2nBH.C \l25j81ѣT?acKl N*JC_rtB.&rA <\zB31j]macǻBe 31e vD Kj`@pt@*9xCQϭM3R &3@ Mfs_&%J{wzُ&S2ѐC/^/V䍱#؟FpMDK.-VFpm4VPD)&>"߿ "]& vJ=ZÃ#xVQw'/4&N-H$ AEx s~oYTANqJ4جH1oB[+O.=?,3YVBvׂ'6XllUjxߨfV5y| d2տm@h>[ U>W<ƽ̻Qt Kmx8i]FO{SdWZ'1F{ 4uhSB9הPhp )h`R>;s R8ai2LTQ,4iDe32}/N@2tmdH"Cd$ $)QkG.8wcJz m;{s $-*RO*LJqf*>^W\bѽPnn PUv$[r|Oc+=j1ƍ_8B UrS+2bG=I7S-fB? 9:[D|~Q2}vDK {)GB8NHHE;/EvRϿ{ #ntϩ8 a _*#Q$J˂גi"yWJ6+&M^xu%:ZIY[~,r.0aC}sy$LBĺdɌjmT=< %l+a_N5߉j}]>p9\p4&`p퓭-hԎsqr/gى"O;}Λxj:28 A,6߮$8M]tOjtBR%lCJ,C+&j=A}VX (!VVQ38x Bɀ9(+3p+m6\FSo$ : 7lY_+A;Qf73I8*Y(=iY]PlI & >qD<3awS )0xri2bi:X]G٠,g$Z,2_O^0XadAF>_5>Hh[\T).eB]Ys~onj/9'b3BUiCyK4y1%G'y5zbjxaoSWa-󛸁d+;82(1:kgt2aa&쉰SI u1SD%''b .9T؛4 ՚ `9lx=v(AwU[n+a &^eXM  Hdm{DBݽ\fS:$T? )VM5qSủ1o\𱍢3Nrv0 vR{QBx q xzlXשץA(" BE9X=6hF iC]Ԡ`a(^8|d}lcԜ񭃳 *hh"Gub.Z}o,GR  fq61on{9]4u"&Tv%ߚC͗{x 'K[]"0^RluY&Q}XX;jD#`e_Blz4iOF.rޫU\Z?o[ 3ӱf!ѻ L(vVtI Ū6NOcYe+%R|G3uЇ GLLw D"bnŕɴzń0LuI<(8y$V lJ: 6M5IA 86MGNdqx 5*s͋D N%;tH_էjAFSi<:,bL Ipi|f6?0m3u?40X "pS$o1!(Dψ;Ϫ7&/BT SKɝb”OyN2/X*ʖ)ERUem]pT_ m;p8. Mᱟ2T5%a+r~IfI l&EpW'/@sh,#">4NzzCgI`"6Blvwec-T֝Ȋ,zdEh*LIy *_ype!{wFz q{=1A#|^+>8\$xIX,z i%8\Ai5[< u9) sc<Dөl# }d.Ѵɠ!tpʷ|Ϩl_چXe[薱x+Mi /3`jgj(@k"*xl_I}_?Syu'P73*DY;=n 2| !$:(*9)ҕVTz٧l 5IbC{f"`OMNgϑ8(I:︍Yw۳}baSli4.۰o,s<fKu[F Ήg~Du>}+f֧1Je!yi Y.cA30*(rS݄Qi ;ֳ'}/ :# #7 W?Fgߥ$@Yٿl[@ᄆ J~,m.tޮy!Z§xҼ345qp$Ӷ-5]7Frq ȥxl)ֆ Rgؓ%IBFuos^2x28SΠ Z4\3Xr(-;ów˝81t%m]u1 ZF xN3Jٌ5eO*-ƿY٭Jj%u-MS7X1n}L#Q77E&85kzao(bلK'@\(4˴؞vnql &/#yn\6\1*])6ӧd ][GR)uYډ52fs=H`wcvumT^eIi*E [b)ly҆ NfǤ:h[jĪd0C-DjzA>ן`~$f(Pa$W=Fl(rYfrNS& hj B`T&M=qDcE|{?QξR-luB}ga=(|`3BY>^?BJXeYTioYZ]=|KݥꃒF }cJ *F®@!ΎU1!l=oR@QR&qlnǔd8Ra CR6=L+ CQtXU2La[ |ôްyw5 HHPHi,u Q %ŌCHo{1#%w%/1Z{sC]up.uD\L^hfyX5x:5bے)muz0>͔kfT:=SȊ62?vXxH~gT%F'$o[XSﺮi*k֙I'V`/7z2C٢% ӿ)j7^pp QݜE\;v|E@%q>A Z::θPd2uNv#WuϹS57h!癭-ܑcz"K~FШrQ憙'H$a'pe5;s*Vz~a%D彥IPDD 5orv([=YM^Uq tޛ?~g5h0FƹZu{dhcBT Lj1fqǀ e<+ڂu4WѢ %jS~7)Όij =Vf拫 UzV J d ^AY6KXf1' 8A^`f@ѓ/kn>F ɴCR-z ˭i޸ ]2EBk_#lB܀)y.!l/:bRy,=h pm4VOg=J=ٳ@^+)d@~_Z6xic5wX5ltЗcAfYgV6`((Zs3IٗW|,y$o׳fxG?o u`dNMӎ^ iA@#i3vHw6\//I@_ʒh^DhT"f@i՞,O߭E-:l ܲ 3=I47ܠL=i$e}+#"x7C)Ƞ0[CSmkYnz!csҤcGi"Lz"Allst"; oGĎ9w:˦JBk@SJfQa*™C6ɍb+s@?bNg Vx!< کKg^$wD5{Pk~~T13΂j9i*e8Fl I Cέ}%Uv=lv&PdBOJS/@DB+Iq'aODyӘ*ܶ`x%^hp 32`R)WE9 i4^B /,e֓錜)'0c ENT9`a(rp: {ۇDCCשY g{Kk":*jܛtW O(8rs4)OL 3H2`,( El/smjK$k/ݭDtl 3o4pį RƠU+Li}{M*])0]35$IW= ~Tg-~c&'½zөd2ֶH}I&8H v&YR&Si i1K>TX7pXLw;֒j dHpu,s_%fP觲 C*\h? qꎋ!p':id^p U*ASY :!P.K/{b`RŒNÁw=bgJgZ>rХSQff-uل")y$o岭C4ŵT\#+;&J-HGsئ]d+jߦEZv`Vod\v5s# kȑ|l'(7 iKi}~BaQdJ5Tn~I}UjæWk<9Fv1-;XUsҏR㜌48,ʛ:UTy /,?m4uzE@ЬAAGvэeRiҬJ%@>(5~L`b^=FɤE7):S1=0/lk:y]Ay-0bš>GiEO{za[c;=N9T1 ԹZÈ{XW*<X\׍):Ƽh!W䃢r}밎@Rެo&#qrAjhJFRK v PaJ*T_R}AnsŗHdeF : c?wZo 8h^LL$x&anF9^R|ᎸNSLBp6rKώr] 1It|O|r?)T&<'^!ZE4wգٵpJ;0 fif@ 6^2iz $7Xv'ag'4X`=Z#B{a [u{|!o삠~A[X )KS DQXm3uI5i=5[64ZwG*T: ?(C:,KuF=kf_2(h9>W廜BLYD2;"$oWidneK9I.Гj=.QFF dnS3+kI `>վ%H(R62gлԁpUMƵ?^%cCzPiV`E\!`ʤjVg=D䎀am._ZΓ+>8Lx$>kFFt㰢Ue]*0..1ˏ| z?*w[M"E3.cѳhb`)|@~IAZXyȟ@kX:$no*jP:mOq_v3Co?,1eZΔ kBXcBCbH>T!v!|H*=@p4L秠^]eRiX6QSP߰vrmR+@K?hH&a,%%hd)ǂvYJ)S~.R9<(1KMCעoY.R"rsG[fvۉ\Ŝ|x)%%װlڧX.<1K<1-m?th,@YH DA [zIELe95~h&^ xy,l u4C;ʑto2+y4|ֲv@uHsl&LxģRb*&C #xp;H85#>%vC,r<NHD;@ 'qq#yl\*"el_ ho`~-:oG{TDnN;G_*V iYnTU_|'_& ]W!i"/hTq` )^aҞQUC!q<ѐm{s%F[⻴mv8x(;{3+ $3]c_.DW Tq9{9d2[R{s 鲮ڢTVџ D /LD2jEA6B+ݬ`8DucyA?)gh'Ӹ$"#V&حt.[ɉ+L%kⲨ铹!H`ö@̚ f:Ɵ_kT0/pQ]C@3TbU9R$#;8v}ªC4oZyڬ@crE!qf1 e㍁ ˙S)p~QhӺdM85[KQ;Y]BȜwBBb斃gꮽnCļv@bDʐ{(i#h_vhF9/7n Ϫo)lؾw2;&rY]RX<@)ipE(!tOQhͧz 0Ԧ-W~@灇z$Fgb`u8'r?ScN)@uIMk4ic,t<dC>K݆~6[FqʱFim*-{#b/X6Dj9IB3K Tj2-1yw,QvB V=3`+̸Pya%{~5YuA`&0η^v&TK3p)Mk5 4vU֗Еw5]QPp‡wY;M3O.rWҪ!Ǎ^Nbg|nE@H૭~ (8!3G@bƞhOԢKZٳi7h=&3A>M zuD=uY$j܅o*l et-:Ō@li͜geNeoveCߩ1tOˇ4@3~WjG˂ϭ&պSrHd~&<*Ԣi  gxuoGx-.œCpǰٔnYxD*Aq _v.SLc WywluRe1Q|,':HvĚz+\3y1]Bj[ɾӌo툗fW^#HDoQB{ ,Tr#F7'p4t#_ O-a`l Q#y@s E2X t 8nwhZGY-]/+Eq=,2bIV<(򎻌v>a&ǟ#flDCsS8(p6)f1la> T4XeS,8HD_.& 9Tb}Ca';O2(l,rN_4̭Dtcm{t`:B-hkHy??:S[?+/s[`[|ӄQOGbeeYo](*B˼b] HqqlV^ 3S *ruKP۟1ǟ]dIWF`[ɉ%b4x0t)f`-:_=iZHpJR>m-`r\k^l\|8O^E rڼJ<9UNOxME=F_{?]i츠mkV}(xUB~g{T[za?^K0啋,zBl5 >kޣ6o?=ULYq0hܰ#_&fi b4*!}m^C"Ӧ7k'm-slf1婇W;c}HSuPł1s$$ 3KlApCբutɋv|6y*P; VNiڀ.(#9bI|3ǣQ`Xod0osGy+/gMU/|MHt'*G#R@԰_ˉ_jٙ^H:cM)]F*VhVtAzˤ"Ѭ&8F*;t<5TE{6fMUyJ=$.ߣT :ۘG l7%*}퉡$y"{l0j5 No M/e*?Ҳ,l oIx|n|d׮鯋Kޯ,&*~4LdmQs b방0eVuc#R.ٖk A^,  KwtPx2׷2nn2Yz[1E&g