libfabric-1.13.2-150400.1.73 >  A bwIFp9|fжdNXiDcEjVg(1קP oAr(b+\# S4УVϿ6PEȢ)ň'yNSĒh LA3fT33jPvˇ62 @-$v\1d(4IDҔuVeNUJ=a룔 @ "Y4J%3R#!GxJeS9L5$!1a7W C QRb6ffa8045a8dc714666a63e1acb5647f5cbaf6275bb9802b49e590c377ca87351e32c5322d5e5af5fd8bd46f91c5c5ddec7f3a45rbwIFp9|zOIRvy()V?y/pe\ԋ*r.PT'whCTƿDH saouc*G`V`uhqbaNE\-Uv%Z0vd|f>g49mU\KD{26KZ.v:\Gtj3&)p>(?d   A7 Mm         "  , T   $`(-84(9(: (FyGy, HyT Iy| XyYy\y ]y ^zSbzc{d{e{f{l{u| v|,w x( yPzClibfabric1.13.2150400.1.73User-space RDMA Fabric Interfaceslibfabric provides a user-space API to access high-performance fabric services, such as RDMA. This package only contains the fi_info binary.bwIsheep55SUSE Linux Enterprise 15SUSE LLC BSD-2-Clause OR GPL-2.0-onlyhttps://www.suse.com/Development/Libraries/C and C++http://www.github.com/ofiwg/libfabriclinuxx86_64I)HyM6A큤A큤bwHbwHbwHbwHaiThbwHaiThbwHbwHbwH03199b2fac1d3a97668369a28a85cb25e81eff269fbc9749498c0754c650a05724bbc99f42bfcdda9f53d8a502eafea8d97652a50eddfdc31fdb16dbd81237848423e7b98800fb2fe3eb7d891ac2cb9c931bd7d96a892cd0c52a0900886ce2cd62084e5665be0208c36596342ca79bd324a6820a078174dca43ab22d8908b93d541c8c4399950a45348440b3aa6afb9050552e3aa22c9c771e651219a0e861bfd885ee32238ed554302bc40ad90de776138eb4bf910f4b84a986787b6e3fcfa60e6442946da3ce112433b7fca3a7fee146018e788ad6cc985578af2ef78a89a398e9ee40827e65bef87adea57415707782fef4add522e73b271eacc4d9c3136drootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibfabric-1.13.2-150400.1.73.src.rpmlibfabriclibfabric(x86-64)@@@@@@@@@@@    libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libfabric.so.1()(64bit)libfabric.so.1(FABRIC_1.0)(64bit)libfabric.so.1(FABRIC_1.1)(64bit)libfabric.so.1(FABRIC_1.3)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-14.14.3aya{@a&0`@`g@`Gc@__E@_;^2^@^s^]@]?]rJ@\O\@\ac\\[Ѱ@Z`@Z:PZYdYYYJY[@YV=@YYR@X@XӸX•@X|W,@W@W@V@Vwnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.commliska@suse.cznmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comstefan.bruens@rwth-aachen.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjosef.moellers@suse.comjengelh@inai.dejosef.moellers@suse.comndas@suse.denads@suse.dendas@suse.dendas@suse.depth@suse.depth@suse.de- Enable PSM3 provider (jsc#SLE-18754)- Update to 1.13.2 - Sort DL providers to ensure consistent load ordering - Update hooking providers to handle fi_open_ops calls to avoid crashes - Replace cassert with assert.h to avoid C++ headers in C code - Enhance serialization for memory monitors to handle external monitors - EFA, SHM, TCP, RxM and vers fixes- Update to 1.13.1 - Enable loading ZE library with dlopen() - Add IPv6 support to fi_pingpong - EFA, PSM3 and SHM fixes- Update to 1.13.0 - Fix behavior of fi_param_get parsing an invalid boolean value - Add new APIs to open, export, and import specialized fid's - Define ability to import a monitor into the registration cache - Add API support for INT128/UINT128 atomics - Fix incorrect check for provider name in getinfo filtering path - Allow core providers to return default attributes which are lower then maximum supported attributes in getinfo call - Add option prefer external providers (in order discovered) over internal providers, regardless of provider version - Separate Ze (level-0) and DRM dependencies - Always maintain a list of all discovered providers - Fix incorrect CUDA warnings - Fix bug in cuda init/cleanup checking for gdrcopy support - Shift order providers are called from in fi_getinfo, move psm2 ahead of psm3 and efa ahead of psmX - See NEWS.md for changelog- Update to 1.12.1 - Fix initialization checks for CUDA HMEM support - Fail if a memory monitor is requested but not available - Adjust priority of psm3 provider to prefer HW specific providers, such as efa and psm2 - EFA and PSM3 fixes - See NEWS.md for changelog- Update to 1.12.0 - See NEWS.md for changelog- Update to 1.11.2 (bsc#1181983) - See NEWS.md for changelog- Update to 1.11.1 (jsc#SLE-13312) - See NEWS.md for changelog- Update to 1.11.0 - See NEWS.md for changelog- Update to 1.10.1 - See NEWS.md for changelog- Update to 1.10.0 - See NEWS.md for changelog- Update to 1.9.1 (bsc#1160275) - See NEWS.md for changelog- Update to 1.9.0 (jsc#SLE-8257) - See NEWS.md for changelog- Update to 1.8.1 (jsc#SLE-8257) - See NEWS.md for changelog- Update to 1.8.0 - See NEWS.md for changelog- Disable LTO (boo#1133235).- Update to 1.7.1 - See NEWS.md for changelog- Remove silly Prefix: value, we do not support that in SUSE anyway. - Update summaries, make use of %make_install.- Update to v1.7.0 - fabtests and libfabric repos have been merged upstream - Core - Add ability to report NIC details with fi_info data - Improve MR cache notification mechanisms - Set sockaddr address format correctly - Avoid possible null dereference in eq_read - Handle FI_PEEK in CQ/EQ readerr - Add debug messages to name server - Feature and performance enhancements added to internal buffer pool - Add support for huge pages - Decrease memory use for idle buffer pools - Refactor utility AV functionality - Generic counter support enhancements - Optimize EP and CQ locking based on application threading level - Enhance common support for EQ error handling - Add free/alloc memory notification hooks for MR cache support - Fix memory monitor unsubscribe handling - Add CQ fd wait support - Add CQ overflow protection - Enhance IPv6 addressing support for AVs - Enhancements to support for AV address lookup - Fixes for emulated epoll support - Allow layering of multiple utility providers - Minor bug fixes and optimization - Hook - Improved hooking infrastructure - Add support for installing multiple hooks - Support hooks provided by external libraries. - GNI - Fix CQ readfrom overwriting src_addr in case of multiple events - Signal wait set if error entry is added to CQ - Fix state data issue with SMSG buffers - Enhance and fix possible misuse of default authorization key - Add cancel support for SEP - Rework SEP setup - Suppress huge page counting for ARM - Fix incorrect check of FI_SYNC_ERR flag - PSM2 - Requires PSM2 library version 10.2.260 or later - Clean up connection state in fi_av_remove - Use psm2_info_query to read HFI device info - Clean up CQ/counter poll list when endpoint is closed - Support shared address vector - Optimize CQ event conversion with psm2_mq_ipeek_dequeue_multi - Lock optimization for FI_THREAD_DOMAIN - Use new PSM2 fast path isend/irecv functions for large size RMA - Support building with latest PSM2 source code (version 11.2.68) - Support fabric direct - RxD - Initial release of RxD provider - Provides reliable datagram semantics over unreliable datagram EPs - Target is to improve scalability for very large clusters relative to RxM - RxM - Decrease memory use needed to maintain large number of connections - Set correct op_context and flags on CQ error completions - Fix file descriptor memory leaks - Introduce new protocol optimized for medium message transfers - Improve Rx software performance path - Use shared receive contexts if required by underlying provider - Handle addresses inserted multiple times into AV (for AV map) - Performance optimizations for single-thread applications - Rework deferred transmit processing - Separate and optimize eager and rendezvous protocol processing. - Fix passing incorrect addresses for AV insert/remove - Fix CM address handling - Fix race condition accessing connection handles - Simplify small RMA code path - Increment correct counter when processing FI_READ events - Dynamically grow the number of connections that can be supported - Fix padding in wire protocol structures - Report correct fi_addr when FI_SOURCE is requested - Fix truncating rendezvous messages - Fix use after free error in Rx buffer processing - Add support for manual progress - Make Tx/Rx queue sizes independent of MSG EP sizes - Decrease time needed to repost buffers to the MSG EP Rx queue. - Miscellaneous bug fixes - Sockets - Enable MSG EPs when user calls fi_accept - Fix fabric names to be underlying IP address - Add connection timeout environment variable. - Use size of addresses, not structures - Add debug messages to display selected addresses - Use loopback address in place of localhost - Simplify listen paths - Add support for IPv6 - Code restructuring - Avoid unneeded address to string to address translations - Check length of iovec entries prior to access buffers - Fix segfault - Avoid acquiring nested spinlocks resulting in hangs - Fix use after free error in triggered op handling - New connection manager for MSG EPs to reduce number of threads - Avoid retrying recv operations if connection has been broken - Fixes for Windows socket support - TCP - Initial release of optimized socket based tcp provider - Supports MSG EPs, to be used in conjunction with RxM provider - Targets eventual replacement of sockets provider - Verbs - Remove RDM EP support. Use RxM and RxD for RDM EPs. - Improve address handling and report in fi_getinfo - Handle FI_PEER when calling CQ/EQ readerr functions - Add support for XRC QPs. - Ignore destination address when allocating a PEP - Add workaround for i40iw incorrect return values when posting sends - Fix completion handling for FI_SELECTIVE_COMPLETION EP setting - Change format of fabric name to use hex instead of decimal values - Fix handling of err_data with EQ readerr - Report correct size of max_err_data - Fast path performance improvements - Improve progress under high system load - Optimize completion processing when handling hidden completions - Optimize RMA and MSG transfers by pre-formatting work requests - Remove locks based on application threading model - Add overflow support for CQ error events - Minor cleanups and bug fixes- Update to v1.6.2 (fate#325852) - Core - Cleanup of debug messages - Fix compile issues with older compilers - Check that all debug compiler flags are supported by compiler - GNI - Fix problems with Scalable Endpoint creation - Fix interoperability problem with HPC toolkit - Improve configuration check for kdreg - PSM - Enforce FI_RMA_EVENT checking when updating counters - Fix race condition in fi_cq_readerr() - Always try to make progress when fi_cntr_read is called - PSM2 - Revert "Avoid long delay in psm2_ep_close" - Fix memory corruption related to sendv - Performance tweak for bi-directional send/recv on KNL - Fix CPU detection - Enforce FI_RMA_EVENT checking when updating counters - Remove stale info from address vector when disconnecting - Fix race condition in fi_cq_readerr() - Adjust reported context numbers for special cases - Always try to make progress when fi_cntr_read is called - Support control functions related to MR mode - Unblock fi_cntr_wait on errors - Properly update error counters - Fix irregular performance drop for aggregated RMA operations - Reset Tx/Rx context counter when fabric is initialized - Fix incorrect completion event for iov send - Fix occasional assertion failure in psm2_ep_close - Avoid long delay in psm2_ep_close - Fix potential duplication of iov send completion - Replace some parameter checking with assertions - Check iov limit in sendmsg - Avoid adding FI_TRIGGER caps automatically - Avoid unnecessary calls to psmx2_am_progress() - RXM - Fix incorrect increments of error counters for small messages - Increment write completion counter for small transfers - Use FI_UNIVERSE_SIZE when defining MSG provider CQ size - Make TX, RX queue sizes independent of MSG provider - Make deferred requests opt-in - Fill missing rxm_conn in rx_buf when shared context is not used - Fix an issue where MSG endpoint recv queue got empty resulting in a hang - Set FI_ORDER_NONE for tx and rx completion ordering - Serialize access to repost_ready_list - Reprocess unexpected messages on av update - Fix a bug in matching directed receives - Fix desc field when postponing RMA ops - Fix incorrect reporting of mem_tag format - Don't include FI_DIRECTED_RECV, FI_SOURCE caps if they're not needed - Fix matching for RMA I/O vectors - Fix reading pointer after freeing it. - Avoid reading invalid AV entry - Handle deleting the same address multiple times - Fix crash in fi_av_remove if FI_SOURCE wasn't enabled - Sockets - Increase maximum messages size as MPICH bug work-around - Fix use after free error handling triggered ops. - Verbs - Detect string format of wildcard address in node argument - Don't report unusable fi_info (no source IP address) - Don't assert when a verbs device exposes unsupported MTU types - Report correct rma_iov_limit - Add new variable - FI_VERBS_MR_CACHE_MERGE_REGIONS - eq->err.err must return a positive error code- Update to v1.6.0 - Fixes stack smashing when using the verbs provider (bsc#1089190) - Core - Introduces support for performing RMA operations to persistent memory See FI_RMA_PMEM capability in fi_getinfo.3 - Define additional errno values - General code cleanups and restructuring - Force provider ordering when using dynamically loaded providers - Add const to fi_getinfo() hints parameter - Improve use of epoll for better scalability - Fixes to generic name service - PSM - Move environment variable reading out from fi_getinfo() - Shortcut obviously unsuccessful fi_getinfo() calls - Remove excessive name sever implementation - Enable ordering of RMA operations - PSM2 - Skip inactive units in round-robin context allocation - Allow contexts be shared by Tx-only and Rx-only endpoints - Use utility functions to check provider attributes - Turn on FI_THREAD_SAFE support - Make address vector operations thread-safe - Move environment variable reading out from fi_getinfo() - Reduce noise when optimizing tagged message functions - Shortcut obviously unsuccessful fi_getinfo() calls - Improve how Tx/Rx context limits are handled - Support auto selection from two different tag layout schemes - Add provider build options to debug output - Support remote CQ data for tagged messages, add specialization. - Support opening multiple domains - Put trigger implementation into a separate file - Update makefile and configure script - Replace allocated context with reserved space in psm2_mq_req - Limit exported symbols for DSO provider - Reduce HW context usage for certain TX only endpoints - Remove unnecessary dependencies from the configure script - Refactor the handling of op context type - Optimize the conversion between 96-bit and 64-bit tags - Code refactoring for completion generation - Remove obsolete feature checking code - Report correct source address for scalable endpoints - Allow binding any number of endpoints to a CQ/counter - Add shared Tx context support - Add alternative implementation for completion polling - Change the default value of FI_PSM2_DELAY to 0 - Add an environment variable for automatic connection cleanup - Abstract the completion polling mechanism - Use the new psm2_am_register_handlers_2 function when available - Allow specialization when FI_COMPLETION op_flag is set. - Put Tx/Rx context related functions into a separate file - Enable PSM2 multi-ep feature by default - Add option to build with PSM2 source included - Simplify the code for checking endpoint capabilities - Simplify the handling of self-targeted RMA operations - Allow all free contexts be used for scalable endpoints - Enable ordering of RMA operations - Enable multiple endpoints over PSM2 multi-ep support - Support multiple Tx/Rx contexts in address vector - Remove the virtual lane mechanism - Less code duplication in tagged, add more specialization. - Allow PSM2 epid be reused within the same session - Turn on user adjustable inject size for all operations - Use pre-allocated memory pool for RMA requests - Add support for lazy connection - Various bug fixes - SHM - Initial release of shared memory provider - See the fi_shm.7 man page for details on available features and limitations - Sockets - Scalability enhancements - Fix issue associating a connection with an AV entry that could result in application hangs - Add support for new persistent memory capabilities - Fix fi_cq_signal to unblock threads waiting on cq sread calls - Fix epoll_wait loop handling to avoid out of memory errors - Add support for TCP keepalives, controllable via environment variables - Reduce the number of threads allocated for handling connections - Several code cleanups in response to static code analysis reports - Fix reporting multiple completion events for the same request in error cases - usNIC - Minor adjustments to match new core MR mode bits functionality - Several code cleanups in response to static code analysis reports - Verbs - Code cleanups and simplifications - General code optimizations to improve performance - Fix handling of wildcard addresses - Check for fatal errors during connection establishment - Support larger inject sizes - Fix double locking issue - Add support for memory registration caching (disabled by default) - Enable setting thread affinity for CM threads - Fix hangs in MPI closing RDM endpoints - Add support for different CQ formats - Fix RMA read operations over iWarp devices - Optimize CM progress handling - Several bug fixes- Update to v1.5.3 - Core - Handle malloc failures - Ensure global lock is initialized on Windows - Fix spelling and formatting errors in man pages - PSM - Fix print format mismatches - Remove 15 second startup delay when no hardware is installed - Preserve FI_MR_SCALABLE mode bit for backwards compatability - PSM2 - Fix print format mismatches - Allow all to all communication between scalable endpoints - Preserve FI_MR_SCALABLE mode bit for backwards compatability - Fix reference counting issue with opened domains - Fix segfault for RMA/atomic operations to local scalable endpoints - Fix resource counting related issues for Tx/Rx contexts - Allow completion suppression when fi_context is non-NULL - Use correct queue for triggered operations with scalable endpoints - Sockets - Fix check for invalid connection handle - Fix crash in fi_av_remove - Util - Fix number of bits used for connection index - Verbs - Fix incorrect CQ entry data for MSG endpoints - Properly check for errors from getifaddrs - Retry getifaddr on failure because of busy netlink sockets - Ack CM events on error paths - Remove 0001-prov-psm-Eliminate-psm2-compat-library-delay-with-hf.patch as it was merged upstream- Update to v1.5.2 - Core - Fix Power PC 32-bit build - Sockets - Fix incorrect reporting of counter attributes - Verbs - Fix reporting attributes based on device limits - Fix incorrect CQ size reported for iWarp NICs - Update man page with known issues for specific NICs - Fix FI_RX_CQ_DATA mode check - Disable on-demand paging by default (can cause data corruption) - Disable loopback (localhost) addressing (causing failures in MPI)- Fix github issue #3393: Add 0001-prov-psm-Eliminate-psm2-compat-library-delay-with-hf.patch- Update to v1.5.1 - Core - Fix initialization used by DL providers to avoid crash - Add checks for null hints and improperly terminated strings - Check for invalid core names passed to fabric open - Provide consistent provider ordering when using DL providers - Fix OFI_LIKELY definitions when GNUC is not present - GNI - Add ability to detect local PE rank - Fix compiler/config problems - Fix CQ read error corruption - Remove tests of deprecated interfaces - PSM - Fix CQ corruption reporting errors - Always generate a completion on error - PSM2 - Fix CQ corruption reporting errors - Always generate a completion on error - Add checks to handle out of memory errors - Add NULL check for iov in atomic readv/writev calls - Fix FI_PEEK src address matching - Fix bug in scalable endpoint address resolution - Fix segfault bug in RMA completion generation - Sockets - Fix missing FI_CLAIM src address data on completion - Fix CQ corruption reporting errors - Fix serialization issue wrt out of order CPU writes to Tx ring buffer - Verbs - Allow modifying rnr retry timout to improve performance - Add checks to handle out of memory errors - Fix crash using atomic operations for MSG EPs - Fix dependency to libfabric1 for libfabric-devel in baselibs.conf- Update _service to allow auto updates from github- Update to v1.5.0 * Authorization keys Authorization keys, commonly referred to as job keys, are used to isolate processes from communicating with other processes for security purposes. * Multicast support Datagram endpoints can now support multicast communication. * (Experimental) socket-like endpoint types New FI_SOCK_STREAM and FI_SOCK_DGRAM endpoint types are introduced. These endpoint types target support of cloud and enterprise based middleware and applications. * Tagged atomic support Atomic operations can now target tagged receive buffers, in addition to RMA buffers. * (Experimental) deferred work queues Deferred work queues are enhanced triggerred operations. They target support for collective-based operations. * New mode bits: FI_RESTRICTED_COMP and FI_NOTIFY_FLAGS_ONLY These mode bits support optimized completion processing to minimize software overhead. * Multi-threaded error reporting Reading CQ and EQ errors now allow the application to provide the error buffer, eliminating the need for the application to synchronize between multiple threads when handling errors. * FI_SOURCE_ERR capability This feature allows the provider to validate and report the source address for any received messages. * FI_ADDR_STR string based addressing Applications can now request and use addresses provided using a standardized string format. This makes it easier to pass full addressing data through a command line, or handle address exchange through text files. * Communication scope capabilities: FI_LOCAL_COMM and FI_REMOTE_COMM Used to indicate if an application requires communication with peers on the same node and/or remote nodes. * New memory registration modes The FI_BASIC_MR and FI_SCALABLE_MR memory registration modes have been replaced by more refined registration mode bits. This allows applications to make better use of provider hardware capabilities when dealing with registered memory regions. * New mode bit: FI_CONTEXT2 Some providers need more than the size provided by the FI_CONTEXT mode bit setting. To accomodate such providers, an FI_CONTEXT2 mode bit was added. This mode bit doubles the amount of context space that an application allocates on behalf of the provider. * PSM provider notes * Improve the name server functionality and move to the utility code * Handle updated mr_mode definitions * Add support of 32 and 64 bit atomic values * PSM2 provider notes * Add option to adjust the locking level * Improve the name server functionality and move to the utility code * Add support for string address format * Add an environment vaiable for message inject size * Handle FI_DISCARD in tagged receive functions * Handle updated mr_mode definitions * Add support for scalable endpoint * Add support of 32 and 64 bit atomic values * Add FI_SOURCE_ERR to the supported caps * Improve the method of checking device existence * Sockets provider notes * Updated and enhanced atomic operation support. * Add support for experimental deferred work queue operations. * Fixed counter signaling when used with wait sets. * Improved support on Windows. * Cleaned up event reporting for destroyed endpoints. * Fixed several possible crash scenarios. * Fixed handling socket disconnect events which could hang the provider. * UDP provider notes * Add support for multicast data transfers * Verbs provider notes * Fix an issue where if the user requests higher values for tx, rx context sizes than default it wasn't honored. * Introduce env variables for setting default tx, rx context sizes and iov limits. * Report correct completion ordering supported by MSG endpoints. - Fix rpmbuild warnings - libfabric-devel requires libfabric1, not libfabric - Fix baselibs.conf- Enable build on all archs - Enable mlx build- Add x86 build without libpsm2- Update to v1.4.2 (bsc#1036907).- Update to v1.4.2-rc1 (bsc#1036907). - Update notes: - Fix for OS X clock_gettime() portability issue. - Updated default counter wait object for improved performance - Fix multi-threaded RMA progress stalls - Updated default counter wait object for improved performance - Fix multi-threaded RMA progress stalls - Fix error in fi_cq_sreadfrom aborting before timeout expires - Set atomic iov count correct correctly inside fi_atomicv - Fix handling of apps that call fork. Move ibv_fork_init() before calling any other verbs call. - Fix crash in fi_write when connection is not yet established and write data size is below inline threshold. - Fix issues not handling multiple ipoib interfaces - Reduce lock contention on buffer pools in send/completion handling code.- This version fixes bnc#990184 (bnc#990184)- RPM group fix- PSM provider notes - Defer initialization of the PSM library to allow runtime selection from different versions of the same provider before fi_getinfo is called. - PSM2 provider notes - Defer initialization of the PSM2 library to allow runtime selection from different versions of the same provider before fi_getinfo is called. - General bug fixes. - UDP provider notes - Fix setting address format in fi_getinfo call. - usNIC provider notes - Fixed compilation issues with newer versions of libibverbs. (fate#321883)- Updated to version 1.4.0 for general stability(fate#321883) - Summary of changes as follow: - Add new options, `-f` and `-d`, to fi_info that can be used to specify hints about the fabric and domain name. Change port to `-P` and provider to `-p` to be more in line with fi_pingpong. * GNI provider notes - General bug fixes, plugged memory leaks, performance improvements, improved error handling and warning messages, etc. - Additional API support: - FI_THREAD_COMPLETION - FI_RMA_EVENT - iov length up to 8 for messaging data transfers * PSM provider notes - General bug fixes - Use utility provider for EQ, wait object, and poll set - Allow multi-recv to post buffer larger than message size limit * PSM2 provider notes - General bug fixes - Add support for multi-iov RMA read and aromic operations - Allow multi-recv to post buffer larger than message size limit * Verbs provider notes - Add fork support. It is enabled by default and can be turned off by setting the FI_FORK_UNSAFE variable to "yes". This can improve performance of memory registrations but also makes fork unsafe. The following are the limitations of fork support: - Fabric resources like endpoint, CQ, EQ, etc. should not be used in the forked process. - The memory registered using fi_mr_reg has to be page aligned since ibv_reg_mr marks the entire page that a memory region belongs to as not to be re-mapped when the process is forked (MADV_DONTFORK). - Fix a bug where source address info was not being returned in fi_info when destination node is specified.- Updated to version 1.3.0 for better PSM2 support as suggested by fate#319253, comment #9. [*libfabric-libtool.patch] Summary of changes as follow: * PSM provider notes - Remove PSM2 related code. * PSM2 provider notes - Add support for multi-iov send, tagged send, and RMA write. - Use utility provider for EQ, wait object, and poll set. * GNI provider notes - General bug fixes, plugged memory leaks, etc. - Added support for the following APIs: - fi_endpoint: fi_getopt, fi_setopt, fi_rx_size_left, fi_tx_size_left, fi_stx_context - fi_cq: fi_sread, fi_sreadfrom - fi_msg: FI_MULTI_RECV (flag) - fi_domain: FI_PROGRESS_AUTO (flag) - fi_direct: FI_DIRECT - Added support for FI_EP_DGRAM (datagram endpoint): - Memory registration improvements: - Initial support for Cray Cluster Compatibility Mode (CCM) * MXM provider notes - Initial release * Sockets provider notes - Enable FABRIC_DIRECT - Enable sockets-provider to run on FreeBSD - Add support for fi_trywait - Add support for map_addr in shared-av creation - Add shared-av support on OSX - General bug fixes * UDP provider notes - Initial release * usNIC provider notes - Implement fi_recvv and fi_recvmsg for FI_EP_RDM. [PR #1594] - Add support for FI_INJECT flag in the FI_EP_RDM implementation of fi_sendv. [PR #1594] - Handle FI_PEEK flag in fi_eq_sread. [PR #1758] - Implement waitsets [PR #1893] - Implement fi_trywait [PR #1893] - Fix progress thread deadlock [PR #1893] - Implement FD based CQ sread [PR #1893] * Verbs provider notes - Add support for fi_trywait - verbs/RDM - Add support for RMA operations. - Add support for fi_cq_sread and fi_cq_sreadfrom - Rework connection management to make it work with fabtests and also allow connection to self. - Other bug fixes and performance improvements.- Moved man pages to main package. - Fixed invalid library group.- Packaging version 1.2.0 for fate#319253- Use explicit file list instead of wildcards - Package fi_info. - Remove libtool.m4 from the package so that autoreconf installs a current version.- Initial package, based on the OFED specfile for libfabric - Add libfabric-libtool.patch to disable static builds by default.sheep55 1651984641 1.13.2-150400.1.731.13.2-150400.1.73fi_infofi_pingpongfi_strerrorlibfabricNEWS.mdlibfabricCOPYINGfi_info.1.gzfi_pingpong.1.gzfi_strerror.1.gz/usr/bin//usr/share/doc/packages//usr/share/doc/packages/libfabric//usr/share/licenses//usr/share/licenses/libfabric//usr/share/man/man1/-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/0bd8c983a5ff464598f0b63a93208087-libfabriccpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0aa246cf3a40bbaf7f3e38e597128333cf737cc5, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=854910cee25200c8966a1f44b8dc492b64049094, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=3241c0e45477aaa1db4632fd260ca96c6131dcfa, for GNU/Linux 3.2.0, strippeddirectoryASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) RRRRRRRR RRRRRRRRR RR RRRRRR R ;utf-8648acad0c48e93ce0407d0b9fcdc4359cb9372e98fd245fc1ff6daa6a4cb32f3? 7zXZ !t/] crv9w!AFQ^ Xӛ-}L{pC*!D2;DQ-lJz31ȑOq'͌m^mnhEYWԉ/03b)]D9on0'+NC) 3#LKOY!AͰnKb^G 2YU~ cm@F7_p0.F ;ɚ.Q<#use@LYJf?lrZLKtLȤh[ݐ|kf@]| ;PB¤h~R#QZ*T&"`O01MA2|FS͟ mrTmYWiw@4cz+))L\$:gv rѢωǂL'Ư=4'쏘_A  7'kǢT7]?12D0toUU;ͺ)28<8 [Ks$^Nxe?A>*Fא 1ioҐ<%wie#OY&+bhgN8x'% =[l7A8t"]?ڕŔV[F,IwY W2I2H>wdBauPr"ҽj2x{Rǎ+{GY8%<*Kd9rBڡv07Cn܇EVT-\a r0WK/L]h̞HeV|[iH*dpU X_S2 BFz"ߠkXj8Ѭ~xĈޛIXYӪFX­L,h_TKw+|o 3w[p6?!4Gg~I: *wFZZǹJ{N"h 3)ai%rq"6g2_@f1վh Q|,}XɸTT}4NEk2dlI8uZ$?waLơȮV. ūEv>%]qzCC "'r<ѱR+7ŝ v9uyP!]K:Fr#jImo\H\f(o ,x{-"Wݡ#1. 3!%xd${jcA4j 趗bm[T1idP>^EawU}qDk &)r dBR`!Վ݉Vwi Avzdܣ$j+Dߍk $MUSɧOS}7Y>~-#hdRv*"RRil7N|SSLt0x :h>ڟLҸ'YP]%{3Gl6 @*qCL_v MvM-~@9ݩZp;!oQE̷ٸEGJ׻nmf糛2ŞAJ%nB:ao:$PQ!P'{*%p?j~!D`lb:oĩE+!댰?ؗw9p59F/j#/qoŢb@-R{\@rkXq3fduJ'$56I9mtD&gj(,!93PAns]!|6]lNQ_D?nj{C(}v?($!|S^:ֱFOϫXQABp4"ɛ4׵R#@(EzGͶ9zQc`2B$lLϩq!;5ʭ֦xCTwJ_be&Ք; 0%ওx?^)ū* f؆[$Ϟ8+;p9 (x\y~=yq*f?tK"FEH׺KX -0$y֫ .4?dD {j)d' SM҄(ytRv1kU&j!^z}>Sz%G86ۃ.{|sOu1u+)"A]:D"{iNhK:/e?F`#ml/&K:M"J#4 ߬:|ﭢ/ l&EYpކ3HӋ_z-D;3} C]Sn I-%d ,z+Z%źZZqO 7Rr] f)[„cfYW!^ OoQo{q5 3֧>(.0yy÷S:V4QnHDnXxEX|g C`w.׬ө*pan \DUƹf/4 eݷҋi\q+d o4_7T(8U; e&+%BZ]-wjbNo"$Pld5LAh2oZ3(p8l-tQ3J~h`Wt jG> Di4l{٩orQ?Fʟ )ym 'N?0"lƇi9/ :P[- + ߳|KV^0j藿BHB) ,(lw.aR9#sg)᳖rv@01tgΌPl Z}NNi4έkd4 GmWѩ\IIi t22aFvm[e INt }?"aN;N}d[.Fp6İ%x-(?4U,hgJ`ΰ! 6MA$jm,C`V璣v< נUoپTP[cυ;&i>;&Md&(gL1eJjܙtU~I€wm"6 ttQ|||G __0tѿwMbq@Oqie/ M nq&J!7xޣϗvw Da٦]dȗ7$SZ:[I]-iſ[m~E:*u lя[doRuDt턙լ@N WY/L|Y ljtf-7CHiNU:.67}бb6Z^PL2avd mF$67j|ĺ!®#+1Zz#02ףԣ3,:ɂ0̠[g@m ~Vb$R+ H`i\cjs upd\FmTb@U‹=̬{TwI6^9%%0V³kO@sTݙ쑾uS$`83v4카ka҆ZU:kєqp8bGQVfA@;Arn0E'ȹR̓~c=2?..Wʳ6 F썵@@USٖOk1IJ3'a8AIH%'11{ڞ'N#J:a.Kղi3͹W="`>xj{b҅k9JySA:)Ϫik/2B%wO4Ղ.ǐhU`s;8%DvN[؍ٵ{˪OITHyO@?jaS(F3wo"|)ݒ ӦL>քywq#؂Q2V۴SE-*~dw>@:(dyrpwhC#?Y'Ң+Ceva&\0yW&uGQR !݁::@3V9,Ek[F*'1F.jeGf}W ?mPQ%D9Sl<l^YE!R%:44$.b&(V:+ a)M-b\:,;W>XJP&2i = y ͈2E/";&q+٤}t ݵKKƽ8 ;4_ aRݔ A#~o⍩KlVP@Տq |.SIC#OWqRd23 EV:vO>x$gu3JѲ P|\ c=|]e:D\Mnm`RZ~F5l.gVwY{ChTf|wK;xx?кf(}߫&.F!QdzzN ;`Pt!)˩y0;c/% ۄ#Rzc}uRW/1x:Y߻o&{ cFh}NK%(l-y!(,Gy}!+j*7e aC@(K[ &HY))';lt *fMhibpeggpl2#0l ]F;/En$x3_ \4#sdԂ_ZoI|ܥl=ɿ7x/FH~:9dJ 5 HP?TN|YȺ,Ⱥ(eVM;Z\Gǣp|V Vr\lQCP[6sه򓃳w]#Wy)a|OiҘО9FzJZ}+ Ls 9 AL{m* nLT 7sZF}! o{w<ꇁNBy/c=Du, lÛ SGcm b(m]p7@~ȎIﲍTJx %\ 9OQk|ԕ+|3.T\y2f6a2}- sҺӕWL)5~W76ӷ7\ת be#] v/)`,;ϭ ]"ضbTmRČP5+7 ^Ck=,np#N8:PoSSPL c4"w-c~poI`"r@ǕIr!}&~Yx0ȉ! Y3[Gb7y*L8Ű'&8#b]N>izTU"a؝Fj)1^NQ !! &&5'Vk`MJ)En;:x kd@d+M(0Z|0\/8 xB @z V,>v+Gxs1(BAҬ_/ʀ^dg>D UV<dx 'DW,3iȹ7f)G&X#Msyl)mvxc9ARji ɻ&A$"\ՂK#B85ɎNՙ~^бS ;e|wOo+׌s"[Xŗбh/Q''{"kT6B%Xwb-!ziIp/Ph H> FEids򴔞5I_+i;6l<2$Sayr |YŒ9ZOBV F?u0܅ޅ u?Vj,/uGw+Wч~{xg=FIow ,Z %It8y?~M kL0+'kxٳ|P"˜%=T=y樧Svrb=ey3an$dDʁAlla10Jϻ0jU Z($P,o>[F蜸n33r+jwmQڨnR8&gd  .v醬gC,L҅8hC۽ֳ9qk *{`6':ۑ7`pO+l޶):-vXm> mBKn [n_\IQaޯgnGJeV[7;#rPd$H,^ uf)t-‹Ul:`T<)K\nFֺuF}|^]rLѢme,zS9) 'lx>#\6DuvA"jc'z4o]ݜCv/NDT̪,ԳcW ->ğqy\BUHF+x@@>edr+mډZ0?ٍk#_Iז'kcemHwOF#2ɞ INjsqˑ ?f۷rW'jH}$]]MepfwFUzޏF5E!#'X3yvQL`ي.tlLӋ:|QĊXp}kf8;ҧjEZa4$'Y-%-'U^/ljU^>my[oKo0# =+cIbvp1U~5jPu8A\?p(90"Ty h!^yȻaŬ+;=HF"] /{ %-AG~-I%roۆ[Mɖܥ6cڨO2kSM!/U%$7m6LRBIM|Ut8[ V b/fsVvxAﯫqYDW4 Q8TX)v(YYMOjn$ܾ6_SUJV+u4Te;vW5]?xXW5&>fk0(:(#.EOv*Xǃ 1Ī#2:8}R]2/g86,{[Kye]4^F֋-e*Gqv 0'&]kfK7ď '1!";FIm(za wmwɠm3)C7aS_tWRm A iBE]K9oW"X @(f6>Dހ4~l?^bG*-W]@ ތ^ÙWCi\0!<% .pS;F..1du,~ AG.45_((,ܼ%l;Ю`dj;6 y'li ´i5\imb@nKEPF q90Xfޢ9С5 '}>aB?hpbh,$gQX+'6[VKWh~.ꋺ|BCV<^5E Ӭ (u1t2K'~U@mg$X&ʁx365JEVܔ,_4?L_Z0̂.<"`G:QD~ s3r[cNT'e kЏ+lC7=# A4I[hVOxCФy(F*Ɋ%="fO,fDߪɻC):8hhipC߭ {_):U$ v:1Y]`'뤼/TiD4Ѐ s:K'M3,B\Z7U[0f7&Y&R3 Lc`s8,R5 p,پRN,O"@L0T]#tnhGXEC}`|\)< Fᎍ0ĕe*sp "e/R*X>U Rg,?֚\RtQ\. Z-)6g{ 3nFSۿh#]?K0BsuA{n_x&\u9kRU*=d-^[ +ի5PoN, nrtCH(\ BHχJsf឴ t!`V]QJۺ{U cB#<6>H ͥ9Ea9WBi T[ :Ԋ(*ы*Cgbf{:ɱMpT}V,ip w9i]{Wά Kz&E神`ӏ6>fL{lk4ұ'fL)_!ޠ|ApֿbM-SՅE"4 U>0n|<- @@RHH !DZ;hX,omʼлް!]zrBrEtMoxȺJ8*2_!_Q;g8TRpxA1-id jӴlt1TRNߞOk-= 7C҅:5"(J:tl򜄍V(5.}_NI-`zL-"FRdN!G^YbwQMWǗn,OЯp$7D%8XQxyi22Vi 'GOF-Zap-B;-%W hB%(, }2kg1 NjK{StZd1xT y{ы,h%01n3ǒͺn#$\.K{Nj("mr`UQn6/!jly:4I1v7ۡH;϶\qo|2њ-Q0U^'WIo tu p3K9ȇ6+?&KS򑋕駴FڎvEޠ_9 H/U$1r:YJ \4T$H>gI_ym }K]i F>̇%ĥl[ \2xd(A)FM-Ey!9%̈́(Uٹ۶^PШ~H8ݝlԱ"' r7JfU]"tk1_1E'TrhI)xA.-<9n:\ٗ#}i<ȇwIv1EcF2?ą -VOdKYP4wATK4ҝ_u73xֺ=tW$ %%ice#D qԤ y8@24O:#_i9dP&6!f/fpɳƮvEܰ[3~W<.xL2Vn%ɏ5z]^% g`me~fQC{fu B7C"+܉Q< -nf~a {2gsZ*;ZOZ0 %!7~UHQh,cl]}n8~@D`]C<-GbB0NMTi3"}%ZϡQB[)#c˕AI2 1jʭ>0'Z>G'*xkb 3Hڱ/& %g=-l.&Q\['1F-2w7P(M􁨜bP4O.M v̾>t`-yQ%<(9!Y.vbUvbHIX$h,u R(Cw=(y>=(@xpxǏqT(!\2p o׮:xc<CC Rt0_M;))RċpA`iڸ@D#abz%DZdDv9O] ~]Xr.e*g뉹]){qcFMdgLӉ=֜E{A R5Ġ!UѴmI_vAnC܌p92Gr0kn=Q&l6 /,&-x2a.zNvª1\t`jWFT]!̋HqtxR͏HcQgai='ԁ@z8t>z](Ԇ҇ W97Wyq3sub$A=?4[Ln UTGX;[^S1{V' b!h3qҐcY)ܓ}[~}ۣ{`\B ,1>k9//w R lyOYG<#*tv7-H,Bb,M꣐KG{0W\ktivxw8A4n Gw)b;UMk}k,W|rK ETPEϊ8F_&E "6$nx[aؠ} =7rq)kEaGe Bs!6D;LVHǢr s01uG0w+g`u5٠~+oc,Yb L.8uXY~l}8@ v a%vw|Zv4 ؙiRRuǧqPw:^vvb>P;e]ry>~|:-ȠBs|"2 3 !T8í  u)G7ou0YvG5 3$ulj<I#$ J\n":1u0R J [%'[%7b3h<+_ٽe `ݘ],]Ȇ +'{`Nofx*z,#x/u^sku͌[e&bHۃakEY+`h=GcM"c\EKȦt, ,&EB49tQGRfcUA *:. NW[^i%PP,h؏rECd[t1K6CNN ѯhtq-2hBA,Rx۶w3\'*dchnιGDs[3Ğ2[RDs[=V.gL<9G+) q!gIKDŽnIrȌc\& <ÉcL9d b$GXDdPFd3bבHZ V\NY KioȦƜb9_?fe$ԁbyhO#- Uɼm$O@ÿzD )_xx?ͣTk}ϵXIe4<{Н# ܀K;Mݍ  5c2u0Yҹ=aU޸`M+=ΐ6 _Gፁ;x̑v"]{ M<5PXx=r]t1Ej*(l[TxĹ\d &ݼEqIqAG`8K43yۏ$LI՘A쎂Dpa׆[?9Q --x*nQQ6/Ī+Oo }U޹_+̙4`qd#Y]ՐE8ty'ퟳpNT-2ڛn4m*VɧYOU1rO[m 7 x9.7vnz,j؛Pl}I\J>H87PJgtFQX("Ll1:Y*lx^f$\QL}j /1@_i/5b6ɧޙ[2L\!C9Q/qmcNga07Y7oTqnJT7Wvo^& Y u:lij_@{FqGsP yլ-bPfKCxLF\v кNf9/@d>Ti, \@=*L1x,'9_,ќyZY1&O:L;R@\gڲ\L~i빕LH2 Y٣n=8Φ+'{[ϐt*:X(&ݔ!*K텈_tQ)",K<1V7 m>Riova/$oI:sd[ΗP:~y+6E5iY)fԫk@bh>o:xTPٕ}HW' U@SI0::&__OF艹@(pKEC4)*AZm lTZ5q ѓb"h_VHk HQlb$͹S_ӧ$",Cw3o(zaf )ԭ'WQ0)"m o$f@BiiȂM}-]Oi-bKImoJe+jY7`}j|d2.Țus Nz=6 _q9pK0[R!tLbKT.+mOAgE $&Oʆ˸=R6R=Q` !g*lX}-_Wgq vMa g+HKCUr=af RZh7] MH ĦA "ue42h[%5$Zڳ9D3/9^ZK6S> &㮬/S_m(hISkb@JSN{?%voٱRA;e$p-0|XP)C(K!7 \¨1\7ZM!e鄐JhQ*/ K}ND1c>zJZ¨ 6W1^EL-1cJaܫa>D"#هReV 54#|8_=k-_#گ)Mu T;=t\󴼻Y-TIY5]TQ]QS@l bH=` 0ô&zNw7 3G `[ q©ix2תlB ؒ$Nݏ8W}'nt|hK|:ᢺ6_=s8O&$ɯur̓,1DKX/ĘGbZ}tҌK Tk,g9wwF-kۗXhc}匔 MY:ͫ~,zDt,%&}F[շ"5NQ3=f h3>WE-+5!NODHi*Z%AXg9*bHai@Qd^Ae{!aT/EJ&vPZ$ Jچ~dQHE+J5X<9O8yO250Pu^FLy?X(OjsH2An9b{&ֈz Vn"kMVBf%h e[.:ܐAN9eTQz1KiY]%\89ܝ74LyfGK-uKvhQRmRTJ05dLSz3#)Ʃ!"wC.clOȴ +I6FQ*n:=})&W}"[djUċ>,-묚?#:]4#3 qymxm08[gTT偖;υP]{+F54 uw]*ls2V|rOenBuLiBPe's.K4Xx `uMp^ZH͵). 43%պGww)N ] jbZm;,hyqB bDRs1ݳovdF|Vܤv?#>xi0K&XXqْ"ȲjF)CV1[08-nzQfgj[*ע !8EO D 0(}AP$Q*h&H>m&vbhAބ,å l*k^^uE#IX6L!X LʦZo`=#9[dRZca߹`sBarf = ]]i/֑e[TpM#n 4 {x .)gMSx'ؔ-h.ySG2lɪx'X~Orgd7צ8P9m r xʺ(eo+H,CP3RkY}zn#<ۇᕦdʬ2ʂPp)p0"1 sE+8.L+183c@{C{i:2li&x&?uUw>3s SB,iOAOiǨHCjll ,4'n739$7[ Alq2װ#C\rnJ ըɡ⹫C>qdgR& bʐGH}Z_Yv.gUi=A6eŏ%=*F]Ĕd<ðqVO2ZE68urA]MGU|TIs\?Z22̶/}Yqٔo'cIG-?3+54p\D}v/Q+4oz:?"ބ3%gE]5 mhO/Gj)\Sus/9-#|DP&M8+Ŷ% ߊgf(lM)ÝawPKd(1 f3dǧ%ɸQ: wQ$H[dhsJ;hXs.^ IS!2[LZRP){JޤmBӵ߱@k7Y]uIExN7g&'~P:x1U}A2a{ny=5*ѝ駓ou1QlݔE=$rǘ8āʪ@ pmE$6^4Z3Fr s#yO"w9̭ #" E8<,>XF'>,JL&w\vRKl ɕ݀.?ۮƈ{(/I%FؕȨZj';cۆRQ-?%fZz9'Ar0CŇ~5=T\cvMV~ݏlE5qx4|_䂾`T'+lGt̏lm S2>ϱ(q՛?qN>XctYɤH}6H"!s4[O'U,$u\oh{YcJꌯbn[Cb">mТ"cR`K[Bc]^y, B` 6[z#%HDD.:5Ѻ kW_ӦP1Tx9~^dg.GV [3{jm)B˝y3v MB4QID|'_$+zk|O ҅fRcd'[SI_u/紌47?OO>"W(_afdcz{Iqu5jB9p QQ@Q#0VEףҏv,#p|ۺK`ܔwҽ!U-Kh MeBQi%+ MO̓35 tAՉ1xKC,wuMߓ+NVu5Dl4`\v RVs|C9"V3z]yߪRn@/&C0GCkm XGc[KN1TO*+>/a Z,n ƒZ9?<tls1T$Urx*CU BUfuɂוc Lys簟H! QQm\+1t}^FU&.eK@ȧfnp4[h׸A#d_Tl1ƨ~qlpSFhCߤ|6R߻h9ՌuСu&vt[l+>^] ݑ`I7G_x? 3bPJ7PIt6(Q2Z Ӹ-Li4:bL9ZqD7t ˼TQVmfg̽Y[y]d7aGRRS]\b|~9 #ɪdD_sg. o_bP~Br맱 gFe7 `b LBS] ,E&A6qѼz.7{ 40LI~V܉p[ N󽁇/kh[ -̅uzKvnR|j۹ +)(ol#a7 &P/h91 [pɔUOu,C[opFfR! Mj1 Ayrf6l$gt(| /n7٨hL4jY>t W'Y`mjۛIJߗ@U! x6Hr:rqO rE.[ ե?Jl&`aQNagbs(gd_S8r 굶X"5gw(}j.-4 ΖQ *% o?f OW"ZoՁ$ 9O]wO_|});io^s<)gmA#f-VcV+;hL-=xT*g@x@ k5r;y"Z s*mjwu.ɅTcd_VQ umn YQdx䭑19u7_RTm#c_Ew  5=YOgG/ti}VI eNK9e6hﮖ2WP&(kɮH6[ }*n7ϹJS5ih?89U GW)|JQιQ,* HIJLX;;ACֆZhSv"3 c1Ǥqh ij2UE-h{Ơ6F]C FAc (@!W&LߓK#Iq4y)L(Y{ s}n:PlO偟4|hK\By@~NRrKΜHTA/δ}ֽ+j$a姂EfZ5DeH/$Kխ3Y m sG2OˆLca~`[46RgiπRkɊ~38js0^\[?(>7UxA*/TEP<? LNJ:/4B2"xSnp 8S -< KSwaZJwYRۘJԖ)[34xZhITżwԒ*H+Qy!HRY{ kO>X$𭸴Gߪ_'X~KD5Q1uЧu |hQL*én3Zʐ\O)636 H ϸQF ^_w̲|WOQrG'tuYaǷFsP X2ۆWf .X,,KI:JK1;?j()hdݗ GA;:8s5|0qleEZ^*fnqf2ɔFp=&%5Rϫ5Ubji܈T4Bg(*0ed͘)0#SZo:zOnԆȸ&# &Xd@mB _8֪VkYcE7B>ܘᨵ]McsQB|Q}U"ϯEqq-O @ڦ;H6JMwz bߴeE>뙳L󇢜^$}w %WN_-r`4\iF7$AE4. 짂 <Ћ|OOmv݉n?ZyUC[nA RZbgk.:Jl[ >~3$f8UWac| +\=p z\$ɐC*U&Arǃ6oypʵ- ¸ӭz!6]HfPǡJЂ(TRQ;N -<-=(7̝K}1%R'HG_mפZlQ'jSi0 1m\"ɲ [N 0۞e2I3`5#jP0=v!6oE͢oW޼(_< n&"x&82#MEKM1ZyɁCwGnOfX(K==U3qA¶RAŸxe4&>wMVkr  h;OK=C` |۽Es~4C ^LcBݙ^DcU:ѱLZԐ޶G3/)nBM@Z5U38yVxHU#cifEj' Sfr_DxYcO?쉈ӭQ@F= .dDMJOh2/ޖʍ!an&nL0tHְO@H៌ڞL:>0ȳu9=3U3nVc ?[+ո1Baǵ8G<晐!QbQs6E&ɏ4ScCT"2jQrRb/0y֞&E W5\q2Uͅw/n55<U2uyb-xYh(7_юb2bC0XA ^_Ԕ< H.3ѕcu%{#x~sm7@26앁u>Q;%1>O}? k=),'Qz .eAnIh[9HMrc?Yř*mdYKϠvS28IU3sӯ& nAZZ(R1,˻#U!;+7":H8c;*#%(ot{ĸM̈́רk@js[x"äO R1|[ň{L]Eަ,Hkɉ#NP|`K+Jo(~hW}9⻩Ix z0b`#3zt\ǃ-z~3ފYKg85CK+Թz"Ak[?l/p) 4SX]jJܜE C¦.f$ c_dY6M02ك Pԣv\sPUYx.,>mPsA6OZF |Q83@~C''h@H(\`JYE:7ZZ%/^\w}ZAySWx Ln{7)HTKtqj_Ke6]%oAF1agtnFIJpR% =ʿsde X9̧˅o%j0И,r5v {1oRćxQ9a)rsŋV搫' ٝw3mJ GcU~x:-5営YjaFݴyjK/>kt {}#PxQfWJK^*O*y?S}bi[)?_,pK0V!A[tF.B}j`lia 5=TWQ}˱͒&rp/``#R[ԯ *oޏYt^rJֽS\ވZS=nnQ8Yh4x<{WcF@1Sݖcvߘ_Gv^3#PoxPק.aV driT/p9pZ;aEbQ2;x7|C,&$coX_!;e#YkMIگSnU.F")RZvwy2HbQ$Tx1d\JCN i~%;܃Ѝd59*=XtfͶc}㝀N-Z@PMhqMө9ۜu1."5[;DeVh LU[6"QAD5`׭s6N2P@xDDVYٻ4Λ?Uv?hzpK@2mc9Kcx_X9iSUqu%PYտJoMEK!iY> y9^w{)Z@>9ڲ(z#;=0lfO)hPĬMXUsvY-~1S;otX+W,6w3p\.'@u|SV?SS_UKƖk4I\fzpj4[@`*1C3C^RA Z{cta>g]qq٨y3mn?~$8 $ʜڠap=:uW0FG/\Gt 9GJxlm( ̄ 3﷖ʾ@Nwv=\Vw fd(|h9jr41J5<F\l?u(ˌ~IZ_+W79+ MS{΁gdQ*ۤQ]R 3drֈ~h}yq𿄬w`|,3pƗE*y8r%8^{|LDi(ݐzߝ""5`8;M\y9@Y ;Ny@/:> T)#X[EcR@MPJpI3!QOd)oi1ƶA>O'XJ194Qf{6 ΔXm8Xg~ЌkQ\A/:en@ṑb#@b Xt/&#*5+TGeĵ %FL#j޲=%jGЌ"=9D iUO.3ה7$ eZ7*ʶ:RC> Pua'Gf1SQg?@gď/Xq1 f`S*Ite˿菉_޾.=%ӏ<׌e-k4e{۬W*J&XM/iʝiS4& ֵB~MzkvVǪܨwL>L=l0LFJχ'Wֆci<ځ>4= {v+:CjEDJǩ:8#L޴ݕv4˂b]lsɕ"`\a }_=UC5giJ9s߰3z<;ڂ82̝->QO\mp꺝~$fnLّ17 '"{ A??B\%*> tp׆=M<(F̎xK2]M;?S/@'IBd;Qjc4q4Kv^L.҇}W T|` {{ `Żыk&&BXyY/&%n(*eABc&)K^ `Yk A/0r-l ॔[b)mZc\sS9@"cLmJA3%ed؂Wf+aGK R 6k: ;h&8h5#B:ͥtgθDiJGA9߿O6<|·ڛ.AˏV0ٖW6v=5`"kLFbG4B֩ 0#GIj71!?>\Wm[цzvJFh;3t T o. =#=!/ʶ8ZVAlOwo7;b}/BRqt;_DmfS`„c.YW#eN$G8톷Y` o8,[mɫNyCpR|;_3>jɝú(ȵp]T/2!\哚꫕I'+ h mM܉Yp ϱ ;`2EKhqoNS)"|2RHe,zm]DB8~Q{!j uY*!['׏Oov95kzND޻#Eg5eQ3`4 6 Gu ,Mj թA˭m<<@?>;V et/W,8OY.0B6*KIeFC? u%|}հpOdL}@"hh/Ɯ-)+uv^\ I3*M3x$Vz/P2|eu$&;QNgK%4[XC1^OQLml{LPۨ l])^`ץPw)ϲ݁~R_LDdb˺&V|xE0eBJ4itfUo;}?p)mZhTOt_7H'?Y%=]CT97&p_oɠOT*KxW]̅zѢR`C_3*'u2'Tc fC5;?,s7 : ҅EvWSH`M!̵y޿GƔ`)q|'7; M)`2OPwWD9 B1itm?g9Lmj42"~{ݦM#E=]pSQd !"e}M~e 7_%&@30BKd6Z@; HYc6@GC@`X. Bh >As3=ԖՐ kQHaƕ^[Njf%ݿ[Z&f[ _t.}bD tW.zoyȲ3ql[q梟墽u -z*O &d ~~wz@_U"T;dLUsQE ~Gt2L_>o7_AEo1| 6b*|X{ Eb3 ׿e:'& mb?g3# Ϋ^AR[x0ȱovTvD'^`h Jg\baG }4ːTX'^c \+}k#ORɖ:O Sbv@׮@n_lQ.BrZll"{)<5,چ"LZV*Td13Kk8(,-=^Zʅ?~e38j}^%m_(]zkov6l$+'$1l >T﹅]Յ> Cs QX^Cs= !%=^ ;>8 zO;BOe _)(LHi=Wqb5^G BW;z(JM0ZS_bOswOL7!A֦L]X@Jj_cs+RLt˅Hz1sBNm,i$*x04DgBca= 4WPCsV;+;Djc2_T WcH SAؠ-JMrl6P Gi6q݉p`0a&wL0EXrr7xk:nI ^+Q#K0nq!4NVT]SZ"zvI$IZFMBDKmatxC1uHncg $Z'%A"ErurxH{0ai*&q 0?7'#PC 2V9{ Ko+G9snc#0^dn[%'Wm ]y&^GP]+9F=l~iqCMBF1.'s31;54GXj0fQz務W 96,"xpZNgV CBl-ZHt6n F;[|j[7k40*QHE-}"3еF>&at?l;3sD,x |G1 %_OFU'ϵ!ie|TO W[с"grq͓=ݑ#e}g] ༛N4@ÀF~  Pqyv|KצtuһkH6;85ZcѦn"a &| Rtf)f+_=2B{W>M~&fZd;#~~~S >֩( h!R瓄ǵ'` /GUzZ<%[nS`" &]?kJW,X>}P4H3|e9@DQ&l*28 `,4 +X%,I9"($ 1M n+g}I"W錎aN[w"HV W'@f K n:Vq!ymg1.\l:2PКV QB}`*o:s)<{"$ +6l#F.8sU}Z7hM}<XYhV]W25bx'ak Hs؉v{Ϳ3~#Jkl=&SFAIJz6FÚ<s:e<) 4:˾0\&9wւ-#y]{/ MH$2bx:E)LaꤘU|hzMDHTb䬢D{W/ٸj2f' {jhƒ4zR%$E"QISRA+A5i3sA :4.|;'4Xcv617 +pE 5Szw1j_O V':z]ͣn+AX(@I"ԙuSu5EtGҬrk*LQ|F=CXuţc!v MS6 '3P~LPB[\\D!Kh?,RjeJGJی$*\7j7 H1Mf!'ǾK FPᮆa3<% @Z-}?n c^<^jzSP_ *en,] o%6]wҾS5F)4 tꦅFo|\񢊨)rDnGo\{i&O?p A]G7+O$ni9W!~h8!;^"V4 |o=~6gDc%Z/J?B(<ɔ,d(T߃ESf-+V [H rGdoF0Y ċzb]8>T a]Cy{m.$]wJ^;YveyKpíD6MQVwqy9MT X=wg G ysCw __n9t)+gl[P^ٱRoKrV?"a̺|Я9Cmi$m (Gpq0g]:ĆXꇼ7鍄wJYe)ml$sECuD|]DGtƢ}2}yy|?j. tnQS{)-AqK]UOEURs:]g;?ᦜC_XBn9Z4ȎrcffUADM[.*<&O'wTXU%]/9eGoԘn\u˧c,xi W*F)kqnɦCYM.k NhD%BnD-8Qkv.+!t 4Ē9a0 K7 K= ,Ab~CD :JXMq-Jǽote= MtWd jB} "b%$IѤ54!Šk|_ ya"H t"gL׿uFjdV3U'%;Lo , zϒ1?\SBU}\PHEsgъ?^bw_5i41 ap[dQL^:fL7 Ô`XELSKqéUI B̔|ĤE߸\.Ez}_ wݤWMc#:H?88qhlsyhhbBaVyµoI˓$7LZ/#9nֲog=⣢L0&[ ucI]ZKx,S~:Ձ|ڼcD3`C}=jt6;`/e!=m_(ŪS m vBų<-m_ 7Uu^Z+$[=MZo3UԕшW [iӶ+n@H"O\Cmv&<=}>h;+?e&u-++Ċ҄M2VT0@_o5BA6}Zta7W}A-0Ϊp[P9б3!HTsdDtϞa ςőԊJH|$yn@E2ր^K^(vVf)L.쀲%jQ=!YYoU 2N/Ȓcx*h5uk Nߡ˗,v Q$G# yh;8*e8m' "}q2r& @ ^!̳#h 4ǛIiqYܕ-I1G r-So5d-kbvD1poNЎ{cH:wqɫl1[,|~T}&@1aPZcM{ыI3Bvي.w,=K]kWӭ3o5}97D`z 228N!Fa~zYlM7FϱƵAMrյҝ7qK2C PZ;`:I: ,w,~(ޕMT'J6v-+XM{`WɗU[8⵲MEUy2qkwjQo59bU~I41N>r՚5~eUrٮrd~r ,Z,bAf| jD<$kvP 66 _" tJY+S-!|x@mEѯʪ^/"5|k⁢#R#"ؚ5_@u $T6?ޙeC4gl)}n!"vc#Kۊ _m[m_վ;=|b 1-Ǝnxg3V\NO=;tjիMLGHIg;Vf|Ww~ss\ץEesdnAy]\ EM Up5_ʱR"ʄGGmJPYڪkU4EA/7lCP#B874$1ZU{:{F |P G jN7{]@[uSy{,D_R|1R66ͷqQ'9,sR N{^"DHPlZG&ڨ/yƩwۨD:UȔtw?{d:vQƯ?.$D\\fbp4teTOr}T(՚QXOax53\ܵ?PoLTԂS+l~btY='@:,Z`:S_m/i-|vm~y8)EssϚH"]=(O ?گw$IQdgP*)++&txh;!B/Re$Tm^ْ_._ID|ֵe  ~dN\ܹTܳ-sR42.B&ǹ;VH@`1]Ty h`,&Gہ⠠ƨեj6vGiH*qsxΨΫzWHg'ޅ4PQ rU1A >(FvZ;ǫF7`p)ad@{Lq3+1W7M̎w)%G;5;ߤ})${ ^8ac RE/3 =}w+_vs+G`Ų \.a?gsШx=mՑxAđ E KZynfH>sRl&v:늈{_Q2;_86:CSj "Rwbӻc)B[,V#0{B9YW_oU Xά>d75 #,ʮWn`QFnEĐ1\΁0_q $jity*F15@k?Um|9xߐZ‰Ї}yECW7n  kT;r*:"we۞)N׀7a9kzNqF\^q ~\MS8-Zd_Z:\eR(%^Ѯ%t04$K%i $- R9zKbJnN_?`*Xbr@T,v̆FN!SkL7_[k~MQZ9=HiY55Žw_}.Vђ@~sڗ%f `O3 >sɁM3 f8&&5B'b~P!3f%8L/11;I leNbUfO͹&/O/h2=C`v" CG]`ޮ$".hWt'Q-yJ3Ą}IE= ,Fk3?x|RT#:X/.':Y=7QX(["j\D'X.k]$}H7QszXPڱ)R8cˀ6Pc '%[ƽCBϢIt0 4J}gf F̢:!D a\ ..˅DPgr# JBqP,cX͈qOAI}XǽN0u|-tK匎H{)y<,yL+\W`V#xq/cw7g/nƔPƔ\G Ɂ%_2Up4a`W"AҸjZі"$t'D%r!h os+FBPnpGz!:8hȭ/\u1طyJI2][6>q{ [6~,2VbBHEXGvJfy[X5O_I'HA]m*d2[.@1*.vmy`<vM )sv2ζRFŋ^x^hV,Goq=d[p^U` N-kҾ_g\Z.2Ǚ h]C75f/b^%A (1Ӧ$nZR`42_Ha8Z.1K, Bk+ԭs0ۂՌQ?0$I4zP=FlX+ldM@e6`D]T49 ~J3\l@4W;Y#!7g+<1}/u>[se.ʳ&[ i9)լP@O\m4<[)>)Yl4!Dy#DwG`*jDQ͚0mRe@E]iڝ+(vv'+ަC)42vW0_%<$bu@pXK[4}Sj6t,AETڑbMVmoaJV +LpF>Gf/&!ʜ2"RgjMWBe`r7rMa֩AH- +F҉t'Is0ɕQCZ'*>9ϬֆBDf0v]Fv(Yd~{WWLiJsppQZ qTSVիԍߌ_#݃@ QD\ـ+->i9Pci ]q2 E0E{-sQ{|Ƌ5J` ;MD"v#AM\;qUlK8` cMʹulM7Mm2 9Mn~Ĩ%"T7lJ{wx֬.29:Zc9#=p:yT&X'Xg&RǪ`8 3/_x&x"RO *Ƃ7 q3UJ%>&E8Y1 ZʚjY8^O3-5-У"Rj;^Jt!:_/εA>IokK^K<3}rmEDo*|{"h\2Mfy~ArCJgab:?Ga`V_E=*P;IvsIR!)#hRH2[Vun3yA輡shL7Dp43 G: w^X26iJai\Icc伝'p mz@lo9xcNjRF'%OlG֬Mao[mHZf3nni4*k&0dwj~N_vcj> yM<]^$zD:05CI8= \Ӳ?64;X2Fnk,J0 "FÌ2@ƋD߈NƘ悢[-[(FS8LXmI/HT)n|" b@U竘U:.FlXjk[l.^8 v 㚙?eYrN'Q/o ;ɝrl,5-IfQc-z@dK=YF4;:#冭llenft4wLJ t_czŸ<ؿXf ˯htq뱹}Z!? ek#,)%iq"VEՋ~Uԥ`_0O.ubF dWCaW*(qSQP3+' D`E%7|_9!2@C͗Ƃ]_]tPA[\Nk⸘bB1"EmA-Mj +t"쀧K Kz>Fh'W>[gXֵu2͸oQDl{Vp1AuV.vh=Fk]đ|٫ k$dl)8oҒm*Ҋ~f}? Siytm",E^J&=25RDy/j>,lV~&=Cr#r/ϗqCIU]lȼĥr*̕z/"c*\l2F!VeQo-1S"(vv$l8 PNƲc;R1uT|QwQ}$XT-"\x(q|f_5 $꺧_&X*{΍j(7cKJ8IIv>ǁoR$s_\8e˃Yx !6?xoVhѼTYMR4t$l"%HL}Jh Jh}R{c^3CZX <P9QH މB]{ :xn9CG( :m@{I_پ yфG0$_!f''?`hvC֒yx`'7uX&ϖ;ۀTdM ndx\ya>ϒ Щ &3?L6"_R}tT;gV^nM7u+sqB0Wm/~Q@BE:=-nN4|UE婚O]Lτ1/8cd".5u~:@C.  >#' O'9j+zkw5"7C %\r) Zrgp (<ӼgH4&b-TSgk(w 7U$< kS:e:6f%"ŏDdmt!߀b|Tһ]]V?Ť3RvE6B c{T%U=,5i\jĚot=aI[67bǷpdP5恿V|YC VCp9ǧ d\ CEIpmCLϵ}t;Yjit PD qy?ݙYje SZl(jТ~Yq=4( ^.!*eE 3O{ڭ{O,,Z98rpOrCTkoHy`kA<"]Ix)(|]G*h 20f6(ʓr4A^=Âr3E$r b_ɘQӲ[8m 7L$p!j֤9ma$dS<黝+&zkLu b{(p{5]pwBr fWC:>^mpFZ1v9u [m6;Hl7 -$ E)RHZGaВрq͢d< F(Bɺ;ʩQyM:H?/2]I P%]in ̔p ŬRCB+fA{lvH; nzCQo)K"{x)⋰$992%b:62J(!+ޙ2f 5"U|v=\X'׉Շ)wH +c$S[ ɝ456xw zbfEίD*ҥjĕZ4wܠi78]1̆,KA]WγfAjfdJ ;ǢaWCB!ޟm; 04>9`aO}Vْ.GR[vy9+>܌>x=hqJ%"0,c!7]~%6ePVP_ޅ&^J\´`d9{!r!]7;_ $W xx=wcF>1a,y7mAzkO.8R3Y>'FUm J VGDr`MԴ!;Lt1,N)]S0 # 6Q#NWՖ F 򀊥II|#6r)3UO(WPy/IC$ 1#>m?*^Cށ24߫;q.,N9#Z"U?S1{q=R[jeOt\ O$_Rt6Kmw1 N󫄤-X>_ap9$!vG#.Ub+U#?B,ujAKݯTexAhz7^͏wHlp|ywe:].NVj6:&JLy ytfйjkD(t:06>acEqc6v)ᷭ֓`ۼ+$*H";=\KL +ldѰE[lNZCZ>\wܳVȍC#Z t\EkîaqWn02j;D'.Bzj0d|LޙuQr9]|`a |Ȩyn|RmeS C? @递辘ӚJꣽm]e q0NIo [/^ɵEVA2z[ĐrY$~h"}Հa=ftnbu/CG]* OkF[b? ed#d&$4t"kZ-B`І,ͤ u(c s@[ljn0(=ho8mo\0z{GO͊lW~=V'qhhtۊ1GaMk4T%63`3, mFdcK7`C9`}s'0.{B .`=dnHQ95׹  p*1_GsüWd! 514>,~ĔD  tekoK8f`QE}gx$wXS 5%o[.sъ/ v+Sq2>y&[W8DFhCa˥n-'vG2^j66 t9fo M[`Na5uv-Ysq6%h :EFɕvFx:|be4x,r*D{󱂯~IQ+7_t/S;mBYzp _tnEB ޽_0"/htM؉qw4@n _(}AE2c݇'1 !]g_G"8v7ݛTAΰI9HL*P52b`(T_z#NWszUmtI"-u\ty:|~13ÿ 1^VUfGdU:1"}r$WУ0!ܾ w1dW. -4KiQ\mhUl@jK΁ɭܪ^")9ϵSB+|r>e!_<;`қ۰[@0@9] j%_oڒh㨿 %C_; xR{(gⵝѧ}Pc YCUNHm:NXX +rx3 OSs1 XC^LӾwRjZb'3o#˝lb<3N<^;a¼:fp@1ORp.Ǻ1WNݤ@l}bK~|K獴"+hHR۔5LӼZܹb5?7'ql5u͟ 2)*^ D6B4bLKc&orecPA):rWjp+ѹCgpӷC.Ez5VXu2E>n2x-Y5KK21I[I-26/lA_}!utH>KNI8 s-; .5 >=ZDx +tAd!b긫"7s_ 0G5zi @4_"T1|?x0g~iL[K(>o݌xF(ZnG |E[kҏ`Ia_CWPq2v 굯яY b4ЬلV{ɞu7Ǣ6+a;>z{x*+E#Ju\[K#i(yMFQ\Xwc,yAA?](BCpÒR _¥&vz3K{4`fl9!5Cm^Jn3!pU@ױOt[9~Yhf> 1`rOV&UE<8|,8h{a>b*CT+:&y4-%8*l&y3[+=O#@*5岂.Sy;9Ml{5SW4=\Ȉӽy>9I5 ¹77p[_Dx Ed"u{;9EytgޗoeM2,\@+.텹ܷt*oatt#m{7i`Bq528Ì̾ )3ZIv$MRB,#oɟ9.eiDN*uKGtr¶;mxKLЄ 㧾w'P~O[a`[liƩN&׸_?#u_NND |ib1qA=Ʒ1G"HbDV`MR: &f 5q&ZQ鹫 }r=ׅKYvsLgdO(I2Eqw.SP(o, ԋSEe`Ⱥ-v=Nm1C".o[bJCZ.!)3{h8 7+QTx郢?6++a  p@pUc7Ոzs֝j4-i5RG>ZuTswh x;-ߩzT?Cs0%lT bE%9AĖ2R*KHJ&IU =_<}!`^zvr?޿٘/r:'VsD\wp){-hon!S#?rD|00ٽ0c镈W%澗 /uo/~GAyat}=+WP8C\  N3#jH^ ˻8vu(GR6έ*ϕb3:4I;VT[Ǩ3\ HK݁0dD%~Ӑ\pz/?HdۘZlqvJ#l$V.?P;WC蚱Xk`bY ЫiZPgcU #.83"1@2$orYu܆B A!W#Hcv+>wVDŽ8? [l%_&'b]eTi/A8Ԣ3Tr @N\hAm1.YNNQ~lX<7 76$%3h.n[aЇW5~NhP0UNѬvR#`}n3\_K#fD(oe<"ߎH} M6k#=Gs.b^ɔS/j (}ޱ A 5 1֧**U{|1sd`TUpX{hh,#2 }^D/^?6]roC-:h|K'W°5XF߶Si4du/=<3 <&&NJ>Be9 Ӎ$59YH-}ZZK6b='8o[ΙDHhN9dn21Oh+\te?v *-StYl3B$mh%m'nk.Tp* #WDa&^pM-^YM,Eg YcH'ɓrR8x;-G#rL~rցAS [LeFZ.Y0R>y.61yr U R Nrv,hFPaT!Ss+xAɗ6iu\fvϽzN9\K'׽8WxnwB!EΛZ/~6N/[E `rhYer%Qye ZVjg F)䩗_'S0]8b_7H2Qi;f(GSUpY򈙞4xvmZ\'`"8 {[D7N/'xq=7{=2LM N"9 ,b\#!ptSҡD@zk!<%uT%NH@f7=o B0"[UC|-ai*1b:aºL)eXHxb}o5W\|.qfS?&o"L.0{ڭ1Ϙk,,ɋ ZC^t* %Fp(>c/[/mO$c qށ[ eQkٰȻ纊k~$@A^M@XD\%[浰O%kw9us@˲`fLkvQ9&a? >;+eOV)nH0T,#? ׍zfE5SK}#OwƿcG'1zT&(X+yg&f V9KT2cXۗc7I8LjHdI/j[+hF<OCtiIt |1R!5җ%թN4/73mUr5| ˽jH+R%DqC-ߥA¸p) xgmݥܭ/Td7c}MXV+!GK_;\9JSa-ڧC񛕼$nQ&N37rtZc;~"0C 誧Onwa>{6KѰ%gx\]evjAJi":E:7?z`Lag6I?T!ja׈Snaz;ІXE EXFvzA!kwVp+Ra[,/wkz6fQӗr~{ft/L𨔃=' ymsbQԫNgʔjDµC[=-.u J4\?}%B$ (-SF5xj$aPogj`;ݶ?J07Y<<J&4x}d>U.$=ޞU'nS\]gQn =5f"0~Q0@wAAQBԉ?[†l]ۊᆁb Ŝ4xfxd@lJtt*Y!4jziLQGHr-fͶ0IP.v;Qit/=&(/f%ؘI-Ɉďxۏ^-#en:,GǙ,˛%jdʂG}XF&a Z\+0?1܄S#n/6%)p-}~Y_vrk6a½L,*9CJ2|ͬ Az1M_T1FyRPZn0PS`HyPdVkHhzk /zPO/HN:hyx#2w$!H$XIhR i'E& jyCBya' Tc={M8x@'!SKC:juݣBЌIǧNۣ|zf~,j'J'xq[<5DŽBr#ii zVrY{qy錛5rݹ&L4w"䎰X<b87?(2:H5_å&˕np[(5$W‰7^ B 5uIAdo @"aJmU2Zdė^HV&6[ItkMzؠ>D2Ƌo(pHB8S\}HNkM#dSO%饆zar9cBY 0uˣSDZ'RpZQ)˿'20EVիK Eub4&Gb }P5/ٹQ kM.ÑY5ۉ,AAЫVH;dvjw`P). n(pu|&pwBZ$I_[@mwXU"b2c(TIĒ|W9=1,tV8dpoTO w7Yq/lajA'xBY;cϯnb9ԸX2zMsLWe*+u%`?*:P6gp0)Ti= aa2O9Dl:(}!lJ\!ËP* R+,Tڋ6|&UѣwzʼPN)z|Ky)J{ [4v;{w=wm^ۼxG#Gd@͏d⪦IpC"%F fCudVP,rJHPvŰYREʯbuWPR=V*ݕJdvL= K#Xq@؛4)ϛbVdq{7k-6UcƗ@Ljpp=t9|̡•"qJA:a!KPf",|Mf5CZlNx]c4]˞#G}hzM)%% $Q:gz8!1GM o?ph9`|2p'n(/߮фss.6쉡s#<ⳝ"9m6ه"6  =I&ii ~hC. dl@ΏgM4Yl u+@_~(*c(?ЇSSGm$3^zm!{ JHEJ3{*Q\*}Nn#q3`@> {p{4QEx SOyG)yzʈ_ Cy43ЖoWwruXISѯOYEǴpW0+:x#5W70c/,H~m1di*un % ?:e?1ችF{Z )o YZ