libuct-devel-1.11.1-150400.2.18 >  A bwHp9|"GWNDa/ YT"+<]|"3$U6& tCj vD@jdߕ l2̿7%JXѭF3SBz6+}aQT߮7Uk脥<$71Icg3ǵ_'88쒝<o ԓn(88MUb3766d57accfa46fded28544f503c640f3a31f608afb5b2330b24f0baae6f5a487903a0a7d4cb067a452aaa2f262c266491eed19bwHp9|",_#IOss }+,"7^,(>q˯7M ݝ#PuPoLvx]xu=.+ru_ZJL -5cR31ñ2B({x_Cw.$2uhMƒ9e/#Py@w1iO) 6)IZK;,cmC}Y_u((=|LM]~[n",>p;M?Md " _ %EY_h           L x   8\p(89|:4FIGI HI IJ XJ(YJ0\JX ]J ^JbK7cKdL9eL>fLAlLCuLX vLzLLLLMClibuct-devel1.11.1150400.2.18Development files for Unified Communication Transport (UC-T)Low-level API that expose network operations supported by underlying hardware.bwHibs-power9-13qSUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/C and C++http://openucx.org/linuxppc64leGIpAA큤AbwHbwHbwHbwHbwHbwHbwHbwHbwHbwHbwH406c39260c8ee90a04b88c4d9a47f064c3e2bfcffc6a1f05e4e1dfd9898d032eacce28969dc9b09635de18b6f4e01504ed0e840a281f8414576047c28e557bec8ad226ec5cacfa0c40dc87bcc63ffd9171a951e7af0909575fa1057297fb2969aa55aadce05e87eb569922eb3a7f3f69919b020b6e83906038e6888802cf2831libuct.so.0.0.0libuct_cma.so.0.0.0libuct_ib.so.0.0.0libuct_rdmacm.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootopenucx-1.11.1-150400.2.18.src.rpmlibuct-devellibuct-devel(ppc-64)    libuct0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.11.13.0.4-14.6.0-14.0-15.2-14.14.3a@aLl@`6?_{ _ L^3^@]4@]@\@\s\o@[@[ā@[l,[!@Z2@Zc/@ZaZ*~YYYV=@YS@Y9<@Y(We7Ue@U@nmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.commliska@suse.cznmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.denmoreychaisemartin@suse.comdimstar@opensuse.orgjengelh@inai.denmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comnmoreychaisemartin@suse.comjengelh@inai.dejengelh@inai.dejengelh@inai.dejengelh@inai.de- Fix UCM bistro support on non s390x archs - Add ucm-fix-UCX_MEM_MALLOC_RELOC.patch to disable malloc relocations by default (bsc#1194369)- Update to v1.11.1 (jsc#SLE-19260)- Update openucx-s390x-support.patch to fix mmap syscall on s390x (bsc#1182691) - Core: - Added support for UCX monitoring using virtual file system (VFS)/FUSE - Added support for applications with static CUDA runtime linking - Added support for a configuration file - Updated clang format configuration - UCP - Added rendezvous API for active messages - Added user-defined name to context, worker, and endpoint objects - Added flag to silence request leak check - Added API for endpoint performance evaluation - Added API - ucp_request_query - Added API - ucp_lib_query - Added bandwidth optimizations for new protocols multi-lane - Added support for multi-rail over lanes with BW ratio >= 1/4 - Added support for tracking outstanding requests and aborting those in case of connection failure - Refactored keep-alive protocol - Added device id to wireup protocol - Added support up to 128 transport layer resources in UCP context - Added support CUDA memory allocations with ucp_mem_map - Increased UCP_WORKER_MAX_EP_CONFIG to 64 - Adjusted memory type zcopy threshold when UCX_ZCOPY_THRESH set - Refactored wireup protocols, rendezvous, get, zcopy protocols - Added put zcopy multi-rail - Improved logging for new protocols - Added system topology information - Added new protocols for eager offload protocols - UCT - Extended connection establishment API - Added active message AM alignment in iface params - Added active message short IOV API. - Added support for interface query by operation and memory type - Added API to get allocation base address and length - Added md_dereg_v2 API - UCS - Added log filter by source file name. - Added checking for last element in fraglist queue - Added a method to get IP address from sockaddr. - Added memory usage limits to registration cache - RDMA CORE (IB, ROCE, etc.) - Added report of QP info in case of completion with error - Refactored of FC send operations - Added support for DevX unique QPN allocation - Optimized endpoint lookup for DCI - Added support for RDMA sub-function (SF) - Added support for DCI via DEVX - Added DCI pool per LAG port - Added support for RoCE IP reachability check using a subnet mask - Added active message short IOV for UD/DC/RC mlx, UD/RC verbs - Added endpoint keep alive check for UD - Suppressed warning if device can't be opened - Added support for multiple flush cancel without completion - Added ignore for devices with invalid GID - Added support for SRQ linked list reordering - Added flush by flow control on old devices - Added support for configurable rdma_resolve_addr/route timeout - Shared memory - Added active message short IOV support for posix, sysv, and self transports - TCP - Added support for peer failure in case of CONNECT_TO_EP - Added support for active message short IOV - See NEWS for a complete changelog and bug fixes - Refresh openucx-s390x-support against latest sources- Update to v1.9.0 (jsc#SLE-15163) - Features: - Added a new class of communication APIs '*_nbx' that enable API extendability while - preserving ABI backward compatibility - Added asynchronous event support to UCT/IB/DEVX - Added support for latest CUDA library version - Added NAK-based reliability protocol for UCT/IB/UD to optimize resends - Added new tests for ROCm - Added new configuration parameters for protocol selection - Added performance optimization for Fujitsu A64FX with InfiniBand - Added performance optimization for clear cache code aarch64 - Added support for relaxed-order PCIe access in IB RDMA transports - Added new TCP connection manager - Added support for UCT/IB PKey with partial membership in IB transports - Added support for RoCE LAG - Added support for ROCm 3.7 and above - Added flow control for RDMA read operations - Improved endpoint flush implementation for UCT/IB - Improved UD timer to avoid interrupting the main thread when not in use - Improved latency estimation for network path with CUDA - Improved error reporting messages - Improved performance in active message flow (removed malloc call) - Improved performance in ptr_array flow - Improved performance in UCT/SM progress engine flow - Improved I/O demo code - Improved rendezvous protocol for CUDA - Updated examples code - Bugfixes: - Fixes for most resent versions of GCC, CLANG, ARMCLANG, PGI - Fixes in UCT/IB for strict order keys - Fixes in memory barrier code for aarch64 - Fixes in UCT/IB/DEVX for fork system call - Fixes in UCT/IB for rand() call in rdma-core - Fixed in group rescheduling for UCT/IB/DC - Fixes in UCT/CUDA bandwidth reporting - Fixes in rkey_ptr protocol - Fixes in lane selection for rendezvous protocol based on get-zero-copy flow - Fixes for ROCm build - Fixes for XPMEM transport - Fixes in closing endpoint code - Fixes in RDMACM code - Fixes in memcpy selection for AMD - Fixed in UCT/UD endpoint flush functionality - Fixes in XPMEM detection - Fixes in rendezvous staging protocol - Fixes in ROCEv1 mlx5 UDP source port configuration - Multiple fixes in RPM spec file - Multiple fixes in UCP documentation - Multiple fixes in socket connection manager - Multiple fixes in gtest - Multiple fixes in JAVA API implementation - Refresh openucx-s390x-support.patch against new version- Update to v1.8.1 - Features: - Added binary release pipeline in Azure CI - Bugfixes: - Multiple fixes in testing environment - Fixes in InfiniBand DEVX transport - Fixes in memory management for CUDA IPC transport - Fixes for binutils 2.34+ - Fixes for AMD ROCM build environment- Trim bias and filler wording from descriptions.- Update to v1.8.0 - Features: - Improved detection for DEVX support - Improved TCP scalability - Added support for ROCM to perftest - Added support for different source and target memory types to perftest - Added optimized memcpy for ROCM devices - Added hardware tag-matching for CUDA buffers - Added support for CUDA and ROCM managed memories - Added support for client/server disconnect protocol over rdma connection manager - Added support for striding receive queue for hardware tag-matching - Added XPMEM-based rendezvous protocol for shared memory - Added support shared memory communication between containers on same machine - Added support for multi-threaded RDMA memory registration for large regions - Added new test cases to Azure CI - Added support for multiple listening transports - Added UCT socket-based connection manager transport - Updated API for UCT component management - Added API to retrieve the listening port - Added UCP active message API - Removed deprecated API for querying UCT memory domains - Refactored server/client examples - Added support for dlopen interception in UCM - Added support for PCIe atomics - Updated Java API: added support for most of UCP layer operations - Updated support for Mellanox DevX API - Added multiple UCT/TCP transport performance optimizations - Optimized memcpy() for Intel platforms - Added protection from non-UCX socket based app connections - Improved search time for PKEY object - Enabled gtest over IPv6 interfaces - Updated Mellanox and Bull device IDs - Added support for CUDA_VISIBLE_DEVICES - Increased limits for CUDA IPC registration - Bugfixes: - Multiple fixes in JUCX - Fixes in UCP thread safety - Fixes for most recent versions GCC, PGI, and ICC - Fixes for CPU affinity on Azure instances - Fixes in XPMEM support on PPC64 - Performance fixes in CUDA IPC - Fixes in RDMA CM flows - Multiple fixes in TCP transport - Multiple fixes in documentation - Fixes in transport lane selection logic - Fixes in Java jar build - Fixes in socket connection manager for Nvidia DGX-2 platform - Multiple fixes in UCP, UCT, UCM libraries - Multiple fixes for BSD and Mac OS systems - Fixes for Clang compiler - Fix CPU optimization configuration options - Fix JUCX build on GPU nodes - Fix in Azure release pipeline flow - Fix in CUDA memory hooks management - Fix in GPU memory peer direct gtest - Fix in TCP connection establishment flow - Fix in GPU IPC check - Fix in CUDA Jenkins test flow - Multiple fixes in CUDA IPC flow - Fix adding missing header files - Fix to prevent failures in presence of VPN enabled Ethernet interfaces - Refresh openucx-s390x-support.patch against new version- Ensure /usr/lib/ucx is owned at all times.- Update to v1.6.0 - Features: - Modular architecture for UCT transports - ROCm transport re-design: support for managed memory, direct copy, ROCm GDR - Random scheduling policy for DC transport - Optimized out-of-box settings for multi-rail - Added support for OmniPath (using Verbs) - Support for PCI atomics with IB transports - Reduced UCP address size for homogeneous environments - Bugfixes: - Multiple stability and performance improvements in TCP transport - Multiple stability fixed in Verbs and MLX5 transports - Multiple stability fixes in UCM memory hooks - Multiple stability fixes in UGNI transport - RPM Spec file cleanup - Fixing compilation issues with most recent clang and gcc compilers - Fixing the wrong name of aliases - Fix data race in UCP wireup - Fix segfault when libuct.so is reloaded - issue #3558 - Include Java sources in distribution - Handle EADDRNOTAVAIL in rdma_cm connection manager - Disable ibcm on RHEL7+ by default - Fix data race in UCP proxy endpoint - Static checker fixes - Fallback to ibv_create_cq() if ibv_create_cq_ex() returns ENOSYS - Fix malloc hooks test - Fix checking return status in ucp_client_server example - Fix gdrcopy libdir config value - Fix printing atomic capabilities in ucx_info - Fix perftest warmup iterations to be non-zero - Fixing default values for configure logic - Fix race condition updating fired_events from multiple threads - Fix madvise() hook - Refresh openucx-s390x-support.patch against new version- Disable Werror to handle boo#1121267- Update openucx-s390x-support.patch to fix support of 1.5.0 on s390x (bsc#1121267) - Add baselibs.conf for ppc- Update to v1.5.0 (bsc#1121267) * Features: * New emulation mode enabling full UCX functionality (Atomic, Put, Get) * over TCP and RDMA-CORE interconnects which don't implement full RDMA semantics * Non-blocking API for all one-sided operations. All blocking communication APIs marked * as deprecated * New client/server connection establishment API, which allows connected handover between workers * Support for rdma-core direct-verbs (DEVX) and DC with mlx5 transports * GPU - Support for stream API and receive side pipelining * Malloc hooks using binary instrumentation instead of symbol override * Statistics for UCT tag API * GPU-to-Infiniband HCA affinity support based on locality/distance (PCIe) * Bugfixes: * Fix overflow in RC/DC flush operations * Update description in SPEC file and README * Fix RoCE source port for dc_mlx5 flow control * Improve ucx_info help message * Fix segfault in UCP, due to int truncation in count_one_bits() * Multiple other bugfixes (full list on github) * Tested configurations: * InfiniBand: MLNX_OFED 4.4-4.5, distribution inbox drivers, rdma-core * CUDA: gdrcopy 1.2, cuda 9.1.85 * XPMEM: 2.6.2 * KNEM: 1.1.2- Update to v1.4.0 (bsc#1103494) * Features: * Improved support for installation with latest ROCm * Improved support for latest rdma-core * Added support for CUDA IPC for intra-node GPU, CUDA memory allocation cache for mem-type detection, latest Mellanox devices, Nvidia GPU managed memory, multiple connections between the same pair of workers, large worker address for client/server connection establishment and INADDR_ANY, and for bitwise atomics operations. * Bugfixes: * Performance fixes for rendezvous protocol * Memory hook fixes * Clang support fixes * Self tl multi-rail fix * Thread safety fixes in IB/RDMA transport * Compilation fixes with upstream rdma-core * Multiple minor bugfixes (full list on github) * Segfault fix for a code generated by armclang compiler * UCP memory-domain index fix for zero-copy active messages- Update to v1.3.1 (fate#325996) - Prevent potential out-of-order sending in shared memory active messages - CUDA: Include cudamem.h in source tarball, pass cudaFree memory size - Registration cache: fix large range lookup, handle shmat(REMAP)/mmap(FIXED) - Limit IB CQE size for specific ARM boards- Update to v1.3.0 (bsc#1104159) - Added stream-based communication API to UCP - Added support for GPU platforms: Nvidia CUDA and AMD ROCM software stacks - Added API for client/server based connection establishment - Added support for TCP transport - Support for InfiniBand tag-matching offload for DC and accelerated transports - Multi-rail support for eager and rendezvous protocols - Added support for tag-matching communications with CUDA buffers - Added ucp_rkey_ptr() to obtain pointer for shared memory region - Avoid progress overhead on unused transports - Improved scalability of software tag-matching by using a hash table - Added transparent huge-pages allocator - Added non-blocking flush and disconnect for UCP - Support fixed-address memory allocation via ucp_mem_map() - Added ucp_tag_send_nbr() API to avoid send request allocation - Support global addressing in all IB transports - Add support for external epoll fd and edge-triggered events - Added registration cache for knem - Initial support for Java bindings - Multiple bugfixes (full list on github) - Drop UCT-UD-fixed-compilation-by-gcc8.patch as it was fixed upstream - Refresh openucx-s390x-support.patch against latest sources- Remove libnuma-devel on s390x for older releases- Add UCT-UD-fixed-compilation-by-gcc8.patch to fix compilation with GCC8 (bsc#1084635)- Use right documentation path.- Update to 1.2.2 - Support including UCX API headers from C++ code - UD transport to handle unicast flood on RoCE fabric - Compilation fixes for gcc 7.1.1, clang 3.6, clang 5 - When UD transport is used with RoCE, packets intended for other peers may arrive on different adapters (as a result of unicast flooding). - This change adds packet filtering based on destination GIDs. Now the packet is silently dropped, if its destination GID does not match the local GID. - Added a new device ID for InfiniBand HCA- Drop doxygen BuildRequires: The documentation was already not built with this enabled. Removing the BR causes no regression in the package but eliminates a build cycle boost -> curl -> doxygen -> openucx -> boost- Rediff openucx-s390x-support.patch as p1 to be in line with potential git-generated patches.- Switch to version 1.2.1 (Fate#324050) Previous 1.3+ version was based on a development branch. Supported platforms - Shared memory: KNEM, CMA, XPMEM, SYSV, Posix - VERBs over InfiniBand and RoCE. VERBS over other RDMA interconnects (iWarp, OmniPath, etc.) is available for community evaluation and has not been tested in context of this release - Cray Gemini and Aries - Architectures: x86_64, ARMv8 (64bit), Power64 Features: - Added support for InfiniBand DC and UD transports, including accelerated verbs for Mellanox devices - Full support for PGAS/SHMEM interfaces, blocking and non-blocking APIs - Support for MPI tag matching, both in software and offload mode - Zero copy protocols and rendezvous, registration cache - Handling transport errors - Flow control for DC/RC - Dataypes support: contiguous, IOV, generic - Multi-threading support - Support for ARMv8 64bit architecture - A new API for efficient memory polling - Support for malloc-hooks and memory registration caching- Disable avx at configure level- Add openucx-s390x-support.patch to fix compilation on s390x - Compile openucx on s390x- Fix compilation on ppc- Update to snapshot 1.3+git44 * No changelog was found - Add -Wno-error and disable AVX/SSE as it is not guaranteed to exist.- Update to snapshot 0~git1727 * New: libucm. libucm is a standalone non-unloadable library which installs hooks for virtual memory changes in the current process.- Update to snapshot 0~git862 * License clarification on upstream's behalf- Initial package for build.opensuse.org (version 0~git713)ibs-power9-13 1651984574 1.11.1-150400.2.181.11.1-150400.2.18uctapitl.huct.huct_def.hversion.hlibuct.soucxlibuct_cma.solibuct_ib.solibuct_rdmacm.so/usr/include//usr/include/uct//usr/include/uct/api//usr/lib64//usr/lib64/ucx/-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/41a5ccdc0954f1b671fe20fdc28a26aa-openucxcpioxz5ppc64le-suse-linuxdirectoryC source, ASCII text|FX"lWutf-8dc510c19fd0dfabfe3f9c6dcb79c028e1a4ddb3f7acf6b93261d148829347002?P7zXZ !t/"+~] crt:bLL f5o)3S/`URL©F!n٭њaGx{EI`Z#7D(- x|{FT@`XPbi 7)|f >ߵ٦ ɞ2႟o|0R{ILJ${K(!%g-{6ZIh,G,~p/r }@KD˄Ce&"6y$#PL<U!dI̙l|qPW7YuEtB_uN!'ROev,xY8dZ~ƈ<*;raKV{`36"<@(;Eҹ7^T<|*F@ϤQ{ ,,HRrų/_7IЬ3a 6ϛʁQ=tI`[OLO2k9<5A("bx%h$"CllwaT Pd<`;ծ-s P1:t(u3SG+ǔZ%1ၫ')mσ|0o%Q3_ 1S^l|9<?,mN}Zz")܀4nyjg0W>ԫH|Xghyu=܆S>Ah[/_a ag *T0Hm32c9h:\ iy|g,N0eb]D]@W<;-1͉iv]XYݍ-\d%e4gCEeձ[Ch f.-! kNh|Tӈ~ǾA%HCB!2G7`ߕ+STG,۝g:%/{ڜ}ywiǼŢJ}St:z =4LVު%FTh`-/Z(E^\F>1ܐnCGi攐 ?,ƅ{z-5[ hcB)ǖl09Ƚ6ڸ5g03~ev4,{-MTh7~MUQ]3L s@חw/fG7 5Q9peoЎ&E9oN揓9dE+%Cp͋ec9b!֍cOV}}KQ]da)%$K 6J߷!WUIko iЙ9%X`A=E:j~2w7h`.qSq=t)8SӯUu3:ryc3^b~`*áw3N;!Ѹ+x2 S2z.7$|^߼=Ɉ_mm1'y˥"BZi] +QڧCJbD֬.[{Ryur)V VQ4AthDj+U:|^%k\Ll5#CYTٶCU;A &">wagz{p;X>BɼQ1գ4vZz.=;_g? k/$T\cGhփofܓ76ԗ}-@:3j`j\iCӥ,-"7|>s%q :vFJSbWη.JV(7A80ۼ\w `$ZO{X PɨZDz8P!%Z#=nlvH -HZpj'ፓ̰βGJvә_U:n$Z6ުp 僎)ňT~طdO$ƙ&k X\zI؇,I2+PkOe>4GŒlQq<"íK]8N̜ w`륾zMҳX3#6Ye-gF~a "4ɐuFrk, z)xBz*w @SE@N2\8Sbc VGtH#`mx7GyB|=a`dg-$C5=~77@1T>[6^L_ RQJΧTq?M^>\- i $Hn-M-^+R@Sұ9*%?'O_񎿏کYت=)Icu!MlP(_"(u=I 8r^C1h`^:@ڀK` }>t&%{Qv*}X h!Ҩv\}?vn&] au%qLJK?WAYQP5D}#3`]] ;8د |hE@v!`xpMd8lfjuɚ=Ee8bx@aWzpf ڞ" ;"1`MK/ Bj:;f=Es:`82=eI V!bVa͍!݌΄ۋ!q9)5Oz',WD1 AzSPb p tAdTaȱNjFv;M(h%tP-PXm ۆD`zjVWݐ%Ia9*60 DHzs1?ƼF֝eJZ)ϵƍ3 |P;mb6zw)C@-h:эvJ IjGޫF`W<P|s2oderw [E/!M|B]>+cXKƿur=bߞDŽK8lPEݰ'­YWQqP?1DYlK\nΒ ":IxPJIiX5 FhТQ%؅5{۫,$ةmuE&D귀i;(:wؗܞ;*pi$mN `=IZCv6׭!DvK/y  %M#WI6^wstZ #< 2H_-MǙQ&YfT}U1)P%{F!iK(Ê0~:9ؗMTBJLeH Kyd xA5q]4Gd:N|Hw:i7<U+abH@8_ś|Ua)= ,]&%P841}dA'E{iB~WĄUsT*N * 21qf1p)Dtm~wA eXV@BȗȮ3 FK 8b h\wq4} ˱nVVsC(Go0bByNMJ6m܎(s.rX8^*ժz,>y@a;Pуr "L)uH\!:zƨ:$Q"AlTepG!1{~S8əz =c[|k QlW4 s^´^d4h.y,OZ !}loT塵sb,x]% ŋ'43-kXNgUpX|Oi[)Y ]t&Gj$Љ/ 9cf'pVsx<.PDu}L*ʞm*Q>,ykۘeVƿGtUxVkaorL!% 4 Ȅy njJ/']cieν8٧#gh`ejo+G%!))v  = ,o{.7^Ў5:<V߄"LJZߞI?AwLC3Kr0S2r3`D7崗2J17 ͻp|lU/:H=YD7]i:pZ鵮pL)(͇?^,s PY,%4\>t¯d9ogG(+&"J1\CӇv _Ǝ&%}_͚4n Y_9M1x"6r"nfnsdh0fpdx[Kak13CFY&2":Hcf]ft+@Uܜ'-y$LsG~?WH؀h1lbz_lȆ[]p ڹٜ.z۽2U1ቛ*2]F$sGMxl_t)!lUSg'Yr,N_MiaF̋f&` wgQyCG 3y{f"^KLۇ\}WX1:&*:Z!Ij;ZB67VTaAa? rc|B[X. T}<6,]|"xǒ螓ձz)>&2^:խ5Z(րN nuVeX`5D`uVy}!ɣGA-c @eNpn]}ࡤ[ 9YFlrYqWC¬jQ^omץ?orҼQ៹Y]AOj]xBe]0Ee؜OڸiM? ;\ԛl]  (X0Cpq ukHa? S˯+"?4A4AMSK֛H0w%m U,-lg8ҏ&ց"I`u.'EF@NdE<.&UHE 9uE4Kzt>?e505 qA$$3ų0$%*kq[UAYqsh h j67VC+xSA3Qc;Ů_f {bKUl]ǀP!8I^8:q [P̰C%f1nl(ئaUpXڠu !c Y}=h*̤0  Z%"$1;9+;Re4ٌ{7u% N UK@\P8(ߵet:qeOw):*]aR gVEfF}(@ `|cF4|xHjhTx`sW*{VwYI‹LjO|7Mȕ\u/zIhWniz lw}O4_: ._ ؅ijc#}p'Z!Jn*Aiꓞ 2qS8*ȒZB'0$ r]b_Z;{=H/O1Q`k`_ne-J3 -~2hgy~`ꇍgY48 d\p7z1Sy /تOG߃k׽ܬ2h0AGl|IdcWo3%2"R#Ґ4xjKq4g!2n.u0Ǥ>+&e(/,gSUtTC O"CvBxѝȸ2tob LMJ҈@{R smnK%c)Ij.v!Ŏ4 B¿b]X?phyAg-0s풩V* [5^ mw=UCӮg–#(~]y`47̼EjZGy`/VzFn] #r`x\.e5OʱCs6$:$'} :U=O[ jkZ䲔"9+ .= :GB$. JOWnu *tU .K~N &K&;WkF _V4T'6jE QxɎ 5dd Fji*:{sk"nފCxѴ߿8PG]X| }U~#3'B/zGפLr,贸 |e.3AS.w1蠷sNFwPFgϜq*źm,:ReļBR ,s T⚘Bn Lhjph]X݇mA(O'T`ָpS|h$0I%kj]odhXalE<|g8N 5R? :JW6$8ƚ I@Py LYuX0v6.3_!CL܅STs=CX 籐_D:i-Bm\h{k<d9YC% |9+뭥1jZ({bВjRO3Tw?J"|zb[͈Os7z08T-#BbWue;} 8ƭ Z?vq!hwΦm^ !^L r#aJD¹okW=LBj1UJzw< /6%;%$u ڥ+S@4U#E_HYM')91o:iyug:l5\8Ұ8jdT2(4៑Y;Ab8IF“) 2 ۺIsulPm+@%߷t`CR3qH3%H".$%N~p2rKQb%O2b`D _͟'.Y SNŸE!J .1`m{'T'?Tj8|$|zu"_Emj2)X*lgcAs6+(ݒЁaU@AGhTKn&l-ܮls &u'uX{Di܄!{!sZ\fH3q*89Jt]͌U: *G3nҪChX۝~Fpqq 7{Io:=Fnh:`fl#tsY0P ?c/܁V_׾~*P#,+\m" җ5sīkc8PjżX|?a?y3uO'wXzbL{Fem6+f9%]OS.2~0 LhU@=+mXkݞDM^tAxMz6Se[.29z-ƣK'FSR ɨ`ch8JYqLm9s%☘-Ľ\;U8*eiIx>}Kzsr;b玖u@o{'HYihW5vL^'XbeFQzVU5 /An/FQYRF/d^{Mq~hz%EpDufFfPaeBl'rĵoE/ϢRF04;I|QTD I{SҞ8Mٓ{{]6Ttaԅ2)d |tO<.q=TK8zZ=?"DΥ7/r$74*m~VBW3^ Bə)"ޅD9|]uV犄ޯjտH+ '-ƬOh$DW q@y2/y YQ5V~'Qغf`Ck~z7rXZk Wګ8]c㉊t&.ka<=3OMz{}Mc2/zh;/.'[=K2)v dIQ3bD?uB8f͙dP,HI:>,HE[G̑qI]tl祮A] EU!~V \І(@'Ɗ+&)CgAxc][<܏0_&5Kԉ9k_hQN~Qgt}\ . /u6ԨKrc/p:שHmfcYР`#&F,|9,,0_vɥ'LAЬbMφR*; £esRkZӛ\CC*%)yxtM [<`Sw 4kJ )P3 1ISP֖{d^x,HP: {}yTg^h.;%B2[~ BJGX!pA:KO5F3;},C-I^̚ 2dh(AS`3-FiWY:`shk{]Czᩃ` ^&}É6lT^Ϣi KXXjwKfN3AgߋJbvjGL0S m̅wTuZKOQ: ~ǣ5AӦj )?UBGpO@JY`?gΔ4 M`t6u$iBbIXOr̽kb=cFKZšGT)j!9..l"ic xJ$ɉ)#܁AZAnɽF"[ `r糟>WϘsPN⦓2X aw0Xp]T"_3zs1 w*-a@4Ȣ7C%baV A!? n"β%S *~HSlL-tX3$t>@QM^{Sj`,^?/SrEWjPޜS1U5]MbmjMzcn(¼c  JK!v ~@KpS%pK`wlG^X]StEG~@( @AE<%Icf]zWbrI5g]荴N }atB3ʟHx8Fy w!^ZWYxV ,hma~\`^-` Ջ261h8qp~4H1fLr"]|J˦(Td0$^ñNɎSGdm]A쭖[)Ԛ*YO.jAA(B؆aM|kl' )#P90[39 Dt"2ΚY͡d|Jqo>C|N )W2 /dt/JATl8imڝ8[>`l ɪ+dzTzL/0eT1Q8X?}mͤvpEWu0ghZJ4>N;N*Wl0m Q:^șCWB<2%7/1sQuX';G<8?,.j6bY.mj2T E4Io QihÛU-X+UÓ=:YTS@w48I)SR+TDтsbca0˘gj&AS\:~MD+HKcY=^za ,s_fBȾ\lBoQG¸Us_cҨu.b11{TL>n~Ɋ^bK`n p;q$oQr&fA X>YV_:i }X(h?'P1P-J]9*6nӔbq0Kɲd^gf V'#-e}~v澣"0:xC-l.w`wP]VE46eDCAhփ?quFXk&v6La'CS^hPX=~b7ITJ"p᳑U!;NO.gWP2lDS? ɟw RYy(f)+l_6Ji?n䲸Sk(ɞ_vjJ#s&} =/u"-䳧x(M3&%sQhJ a04'd v5=m*4gSh \F౿d =:HhRO"X{tYfg"\ hEo?BO&[@#R笪ZHNGJ6oʖJV$%j$bDxJ R;g9Yki(,W)Y 7{FekM4Ǭ+,ok32ҁ;raNB*D9ݖ2]7 9ﰢtuBv1+e D-᳓Jȱ`JlE_OC_G!yN9췴|W!l$Wk_=Ae1,9ǍϬf(pTV>N(y؉nz<30jg͡uKB;^lQ޹ +`fSدHYyZ[Mtq-4Hwg?ےa˔0FE$]hEEl NIݮpxtcUNSE4ϰ+|}k܆9-IcߤF:`tTd}')`3ډ'T}7~"Q˪[&qoB#]GhZy̯"V >%yMr&wͥ]Aw|^sƢ}k_6쟞nNKܺ$WTR\oXódȖcdEPw,Xو'^?: ^RPQepŔ$@?h7܂V"81bpa+d`Ni[:nv'SE,k᥯l^v2BP?Ě!0}6AO 28ƗmiO^S4ٞ˺?KFaZhwm:/}4g愘 5V\ݘ).YZE2 q>בxV| йm`* G S?C)V}? )xKj*zݤ)jsAFtm0}SLG6Mp^dEp7Wx̦'>m IT`'gr@# ƼD4K;pP{T2P횔4B}7ش) 4 5sz"d 7t]g^Ƌ×z[mن|{M'2([m`c-٘4^|2smMfI65QQC\}+|Rإ)AbNkZgK'@zK٥./͵3loq) Et惻ƻ)7%̀ m8>-,$յHs,q[0=(K?gBF>L|x @3'˅JGsV¬յ!a_uU-iBm /G>eζDVdkЌq}<.!ؿ+tJ*#gY*h4MO !kiekncٔ$54(*J 㟔*j L 3pJ;5 ݍƒ6"W8-XqSyuezvJDW;Ph4T)2enXoXm\AZ&U Q\"r[;^6tHJbC,tzeM#D=pGo,J!cPu16ikC=Cmfc- Vj`<KP`?Oυ*7l%taŠ/"̗eLĺa=Ly[ApN6e]9q]Υsr]*ԭuqQÖ8gZ nN_/X? v} TK- Nz"Ԃ0׈m c!& f =5=/X ^:҄n2-X$ObS$Ozٛ؟L@#Pŷ$ bm,4Hv2Q4@ %p* qYtb8S <2fY %d%wYuVV労5 g><чj4ihG XnCLFI@J1ǘ.M}Rn74}۵Qf& BL>8u ~HUP"J #Ί5wb(͞:QfX[ chڎkJө@&M{"oC,7rk.d?8n5Og&(җ"*_#K1^Hx HY©P=|oHĭ;&6^Ut/UI@Q@dF%^[rC?ރ l8֪&}1 .Bla-ːȗx7K^֘s"DҶ3$s\4 98~@% W7+ T. H<=,ЬLb%Ouuߑ?W)L]Rm]CZR5Ya|ŰXbVV3M'c/5:}d$UeS(PˣU@uF !ATIϽ89Q•Lphh餓!*y(1'@~Um&^PzN#[D_}c4Pm*1KG(a{}:oJCė@(ӿ9 SWMou⻶Es6} .x#~VϓiHxGq wă#CG6L6̝\ͳ x.H9GnN`pIW0HQ2?WSq$~CpTŔ*%E Yu9% d0?wX, /]+`1"j;ؠN7dɕvdQ@ƍC|+7|s8xVca~_}s`ysv{Iց{U\Bկhqtb=xh1-Y*@\EiT"\:Rií_kQ{ϑ.0owsX?ǵHVOm_JRqU 8, gȴ6$}*e֠]\r.Jf:k()U`Ɣ nCVhKYsZۚ X$12.ezP`jyO As:n^9a{S6e)fcX1ʏd0L,>][oMEI"Eb jx_Y`Ѿv74+Mئ(х!ks T#upܫ8|R%R^<#XhEf^xѡUf@S _AEG+e"\AW'lqJ)_ *<2hpݒϷ{ Io9< ĞGi“\#*MU|,";7oSR LxLy(!|sj5ǽ |xƮ}vϫmlB9(l~{q"82)"itaHM.4FwYjvԱXF֟?PMCP'U@x{&y )4LA4,q.{k}RBht>yt.'k>\_#/uP5\uK2$сpy[,fzb-q !6P&b&6Qa8,e˥kpnjq6f ݍ5 JxF&c?(O ``u;ڿ3r}3_^؃z WCdі\1.ނ? FnA7а }t ԶY}r.k5^ә>FFgEJ2*>F+dIL2Rr)RXVGOq:JPA"(*!Yi勦q\62eآz\;5^&D\1]!۳%r% ^ {Β.wQP[RcY@됐{RYQa=0~NGT|D u8@1HH7ʦ޽?Pe%c˯[G#ȇcI/ԇ_x"GP*z^[&Ou6$uC Mpwv` c!I+_452]|. ]璋<4`+u{$ELo|YzS Σ+LCVjOW9Ih }bw8xYr(J.V4]Ka֪~#6d9Dzr)^^h({?8]M/#tZGߚj!*vp\9/߷b $D@iW_:tbfs{Ҹ+S0&=ƤMFVd m,I^.Ju=⇓BS0=m7x>j;G.=j {d 6g6y.X1Q@(7B_gL(oqϣ= Ę-{x?hM|O&#6}X-r#8bqA $ģІr»<'"GbH= ^A:MS?;4g}I1ĢMTB]c$%Ḛghr6`!< j:U?`#`#%ImDr=Y`4&(?&k 3v^jƓUE[}WDh ĝ|ORg+CM|Uۏ6nAnLq-Ӽ7;'_ssvͻ'lBh  L2 ͖$91!" zjF+@ߦ8<1~-ڔmwdzRB6)ee sq".<6\T h7y`02iU0*|R1Oْr|_j{>q;rEj yA_WA ) ~c'yI31!t5-MW;1[\/6AhU Jk3;Jva|$Aՠh|0=,t0 ef ђGOBZeH>=!KgFI88LZǟ_Քe[6CȀ<\5agUٻվRŜ{$~B*[c3? z٫\y lWv K3iq\(?n~"۾6͡#Zk:_h^QA3٘ϊE)MV0! ]E[:2=WW"4H2d\I7w %B.F^G c% >N$jQ#p ywhKh$0fզN)X ڸskt@!/L8QB2*D2Cd^"^~cQ+ 3C1Rt1^^S쵻`Kv?D&Rp0^tp${wBRZ9hQj=3j=dtKluj07Qk+xvZoߡ}UgG_/<#d'kK/ 'ُpIx.gNVT1u&4'DN]NYm;c^ñ-lXWȟsc̠6ȵ]aF!fZ-d^A#ؑG1 ӖW6wYhqpV۟$bIfQm 曵p9;U"'xk{S_LHFe#~;O{n+&*co]hJ0Qv%Ec뺵<xG]%lGgGP>MlZpJNP6lhq8[aT9v<HX]p4!_C2O! {?QJ7 o=;BxZ.1pgS3w$4X3G۽phF P8>Opjtߛ"˜ vyrԔ{~ Mp.\=_ Ădun]QGCԇ 2Ϣ=I@ąfשՁKS=8}*IӤ׾͜v“sZK  wD6b'B4;LusH2wmwebnPoqL*/R-VM{Db?eE zX^6pw#sQlO2auέUH xAcN/8lůhĈc\˧g]>su$VFE@]͂͹eҘ`w Hg",*f3 *1>c}aw)xH=*ӻkQ4m}>掰5,._0c#PH"{!,3  @v{)ݟ!|4]7\h_ GM]>WԝS! FjK6xh-8o@$Fظs Mȧ0g>#vHztZYn`]#)L}/%͙*Mi5(Πi.*^mnVc { >\Ѡΐz2YKKBz}&jIAwR-)[ma)#nd!@{D\Uwzʃ~fF՛ 8(R UC-gmj< *yD۷Bln%y'(a,_rkYHC8?5&':V_0ŸbMQ@DTi_E`3C3FF eI_c垆Y 1 6zr 8R#%uoT'?dkOI",(4QHB|ܐ +wVNuKűJaBy [gYh0}a>N`_斠 KNɿ@VEA ,ۃ;%:Œb<|Eua[.FHlN/qKu#dO tw~2)S-pa&A6qX1p>*/M=} Mߣ5.u‘)mCޱu8gG\;˜-MJi6I}ݯk4<6q w C'~"Z1lthI}`2o(d֬ʳp|5vp]s%sjS!)Ezјު ;lo}ݦ?2~! ƱNNv%zWb{As\1_1;&`a௃4=_#4ϡo2ݵT,\3Y\9%EVB\bʧbL/{Sc"F~LGZާf:s#z>GA YZ=cFVpVw3ƥ%X* r~r^DZٕUОJ\!77ZZ>b {Ucf0$oGym >5T22p~y$޹EW?/Y1&8yHr2ꨋ\BX`YLu8C& @'Eh:* ?=>bs nWFL-܄r"O$ODIdo c% |jp.+ӻ'j'e$6n;^I`&"0v\cЙ"P CyY.zV*װkWΝKY4Y(6͊Ծ3 !cdcKծMҲUUSvo8U.J1Cy[!Sr;ouȠ^V5gPzN&S3ث9C$/:r@.#'p@F}rJNcd"lļueq[fCؐ bό u0R1hTKI%_aVq3e3}G5$ b[O~;'%Tmԛ%Jzg],N[/jRx3E mQJ#a ULipoyW` *ub kF]ʪ6Ɨw*C80ճϭ=h& } 7gފ"pH6"I/K$.-~&js"n@B>n(v#\d_z*Q.i!$Ko趰ƆArwڣS3Btk !LEJ$$uk5舥ֹ:sգޝ9vBC69X# \ҮuWrs Jn ]N̕:*~|jtwKw!$!}cͲ;nEU!Z1WMmb!$Xo}[xti܉&:;I1%OHf92ʨ*TpV!?k{X$RV#SaiW>B/~>q'6$ 0H\M?Q.qچ|6(NloeK 45(M>CǔdKRX8i+Q#iTPbz-r477ۙ6g.8XhN \TN0"Tԣ{L++' \ȄFv<])J՚^r+]h kwYgP23Y6V7vN6mAtI6BLd:2!D7^IwvꭴZ:̽D,Ҭ)~L6":IkV72ɸ 1-#3ԢcBiEFTɌ2pB_iOMYzpx~F;Z7.2I5He024G0'K쳓(TKv"`)e r/6$G f|ӑQ@I 6D)Wpn2MHTsHbPZ[fVB tgLj'6q|d͚i)^t@I/D;!t xDü,"X&嘶z:cT 1$Y֖ʫQFhDe'Gqcp7ci+I~Nc:2+E$ 2sF'$OHz][jӻ= I@riJԦvCw:]e\?@J@y(QV]Dx2 ݳ!^/Bv V(b"bKPNUz_4$mgj.]*:;;zA|:T[`d=*$9p˃~f"(,-"bTQYr]kXfh> oC3|͎O[ͷVIO 꺲RA<#=8s3 #wkSUl^tl^8H{, %;!`64*44Y\ YfzW>:̜Ubi^ lI{qUdgbc腤>JC{XQma j归6}Y6^]ab3R衤֟o)#,V4Z"i͚\Ȏ U(iO'y0GAwQXqQVz?JψBش';pP-&Wo{x#yJfs;Mj  YZ