libucp-devel-1.9.0-2.11 >  A `Mp9|4){UCGРss#c.LM5/q`^ƗoV~ 3UlƼ'2)9^_h 0V`ؐ"^xDG}sN8zRާj( A)7 Hp(8 T몱Fu`iׇc67 ѺuK{AV6'05Ee(]='{ZT1v!Ae$]ӹMg11&5c`5ed36d66f1316419405906118f61d8611923e199dee9b4a03bbb0aa630f464b9dba11b63034faa278f3f85f63b8cd4f94f804fd1p`Mp9||vcR/&3" lhn2d],7B?&0IWۥ\gu|;zib0si f:F/,9a565Q)C9Nffh8Y |rg "-%aE*g7Ȑ7V. jdv5n YeDS{QeC4>p;???td  W' =]qw     3Vt3(U8\9:HF<G<H<I<X<Y<\=]=,^=ib=c>Td>e>f>l>u>v>z??$?(?.?pClibucp-devel1.9.02.11Development files for Unified Communication Protocols (UC-P)High-level API uses UCT framework to construct protocols commonly found in applications (MPI, OpenSHMEM, PGAS, etc.)`xinomavro>SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/Development/Libraries/C and C++http://openucx.org/linuxppc64ledQ\hAA큤```````10113792633c8e7512c5732fe10c4ebcc71b3e41e9608cd2beae387511f8902f18597248f836c8bcb6cf3def4c6054cae811d5f1fe82faf55f88ce66771533a2a8c7959d7ffdb35fcdbfc7bd8b5e8d47cc6960992cec9684cbf425fa989c64cd02e39f8d2716b3ab03ee2dfce478e113ce4ae64854f5da88ed5d593eab2720eclibucp.so.0.0.0rootrootrootrootrootrootrootrootrootrootrootrootrootrootopenucx-1.9.0-2.11.src.rpmlibucp-devellibucp-devel(ppc-64)    libucp0rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.9.03.0.4-14.6.0-14.0-15.2-14.14.1`6?_{ _ L^3^@]4@]@\@\s\o@[@[ā@[l,[!@Z2@Zc/@ZaZ*~YYYV=@YS@Y9<@Y(We7Ue@U@nmoreychaisemartin@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- Update openucx-s390x-support.patch to fix mmap syscall on s390x (bsc#1182691)- 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)xinomavro 16200864641.9.0-2.111.9.0-2.11ucpapiucp.hucp_compat.hucp_def.hucp_version.hlibucp.so/usr/include//usr/include/ucp//usr/include/ucp/api//usr/lib64/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP3:GA/standard/ca92be93a706e3496907ed44679be457-openucxcpioxz5ppc64le-suse-linuxdirectoryC source, ASCII textASCII text~#]f'7e3utf-84a1293a6d4129e3a26d73e5df22b8e721570f7ae16cd50ee719ecc410e8d7aa4?P7zXZ !t/C3z] crt:bLL ԧӁ7hHc-q݃A~._Jk;,iCڸCEr 3^*e3ĥc8u⋺k!к+t./κwnB^tơ9lʐ־vQ8t#_Tl oSaK8&o_t˯|̀FxQUÃYzo?+1hHߙB4l^ G#!yߣ1tVt\ O*>ˈlrTj#_VP-: - eH!\ز+sYYB&'dK/h1P>OTC=c:˦q̮3B2+l淔gdY%ePR=x7 Bŏ>G̋vD lCy!U^v^Cvtq]O! K ;sI11tTs9"ݔ]"e33}BV;tl/6 wAYqYBRI)"Ւ:[w hSb 0A!k p,C=liDh3 R""m^017q"\} 劀6ϦUFZIM@ȃE$K^wٯ ѳ`:Ty2wP\|Eܩ,[ ,S< 4#;F$BXe#ʫjV !|*"c"ܓY $OdӟHtp}l~~ށX`S쳢p'#OK"vadIn2αjY8!M@)I>j>FKs>p kI`gmtpH~ytQ㲶L $.0{{MZ_ga7-=q:HYm6 M'%$Ԣm㇎D$gg)j$t?ghw[)Ȓ,d(TA? )F{Y1=TΞ(Beg5[]oA`^xڠB -GjZ:Js _;Edqbuswq?ڑI&٢?褁u/ W=t@J5ۤ(&[u\aV疳R)sW BIo ڰrTc)"\Ч4c-$wΎkPI6~*01\k?@8UkݰLͼz佢'-=f *q,7ZELIS:ݲ Pòp: K֩Ѳz ;Poj2ϋTxCTR=M5dI'J1,%:Z=l;7n1{,)(^Mϗ0)3X*DK\HpE; ]_1 ~,xM'20Ȏv&4KJy]_}^6pU>ie~ݛuc.C5mP4Vؔmrv^z+zmCA4hY,-$ MT\]ϛ8m!=sY:#~ῲ!E[mZ?wz틢 nL"m?Z>gȪVoJT%lkfwȗ%/t̛Lo.$ (Ȕgadw q Y,Wxϒq^Re.%k].Upӎ'`Ty]*ZKQoayI!zNm2d QЬJ1O'1*.;ȉ u| ȗq5g2a-%cŖ-ytH%vuOC2/[&B.P{q&VʸtEA0=(WhLs!x*X(“9ڍoY⫈ T.M4L(49븀Q 2r8Ӟ$F.@n@IVNbLsFu]?y}bFڎw_|ߊWrP+>D'U%Np\{}_nئ[4KyDi~B,Z|< =d'⯓IJgC& <3/XU![囘K~jܤ! Pʇ=1T(L Zͫmk%iz959U%/V/³\7O|{:^)qlm~DJÂ;ӯICSإF">"WFO&>D.NbK ̛lZ8eWEϜb92xSZ ,Yk>Ʃ777F+~#EorTgH86U1r<ԪM"H?[aǴ`ʅ;΂-ZQ7VxUn^~q%;2Q*6dNW\>/ބYcDXRq CEu4^G< }S&O_݂a`m~cW) Cajp.O8B ڒxErG,GZɝEA+]Vb+_&&J7zMCڑrh@((/CpWsU63)En0XX Gy~&I 9+z>`ᅰߺ`4ټE4v%iF))"DZrO΂H3'tr4A4?Ygn7VRS&W;Zz@ZFB`+"~^d4Lj4ϩnG? [Vr4aÅ'0A9l7+3!5Eˁ;uŽnj!;8uxˠ@nif{,lůƹMG$Eod3YGNBos:O!f[☍/on6wgC/{0KCL])T⸞TGq4e5R ̺%diDnzT*"È[[[劲z$ 9?Q5ȥ:˫22bm8]NH8W%S!\jc8A#_ uS VlEShV'۽!kZa Z)}Ql̖AY$-h|Ѧ..Aa;TKv@S_jWߑd~^Sm5Ld+yiv8&^oy^ƾR&[] 3G*U!.1O`mP`vǸ=DE'3jYU]*@ÆC| 5O?kxslZXf|\_hoG:GuZ\w"m20E|`lZgK?}8 23ߖX u D3]8%2V&aX*tLȁ $H=l^ =ю8z9XޘilNddJM@/A1y421rprS򀬢ccN d4 ]'T 3)Djp۔`eVS#̖X |+ݰ.tnS@xR)ܑyR+ %\\__} ŽKǧ _qdŶŭz'!6D=; %:p3U:]S8qEY/1X"O1 ?>U>+*DVHXQ;j SP vi`;$Kd \Dq8q`Gߨ^X\ϛA6̥^186~W! 'pi|sYs/]7䗝uL$4ts=8ܓ)b$$wE_4tTd&j0Luv@-j^07pqqƷ; h{|gEޫMki@ʙ6&b$ދD{!%дAuL1L{ Cy䧬kbu^Il~- x\TQX<w)2I-Bax jah/,R F, Iq,], ^kïFkD =cyv S$ mP5;EȊ/]QFbp1ޱ7?dDm$*<4bʹ#ţb3K]86l*$s is.sn$l$ |=a͢"WbbK_{G,9U$#}k>^g/ wZꏦlgvUJ4\!zTT࢝%JSEDVsCksT! ^̋g2M7Aa1B/)XC3K{uvȆd.hUK'7߱TwJQQ#GFue7@x.`|m!݃V):A X7^ FF2r'xi{i]j|\剆X!Khx6W{ↄXzΛ2I-OvW*㒟x:PY>0j?ۅ}p)TZ#}[<f5ú6w5Cfcj?~Y4zu."TNx 9گc[=:!{#N<#ŀT`z }\Z*NIREag_[JJ?2n<-l˂āʞR<.ZċT Ec " a߉zOms|r@j,l}a=wbc_ՊͽQDFWNzMC(pJk#{0q 5py\ ?gaOӭ%K,e lb\Ԇ#Y9vYݴ.NgNՒ`d3z/`@!Yvjbn l uPpfbzOىS@PznptC|oJU >IWwʜ90 )p/%bdث =%&[tKI| s]eь؎Z"W\(=BScX tOnBUwi 02eZzJFj):pWLY˔=`+x+AZ UuX |ބg;18|8F2 HĕE(fE̫o uds'LJwTa~z}Ř3ZLQkeO%/'$:{6%MM >?w kfa̖/k(wMmj5l]r,p./q8,O}^~Bl/9%E]20XXR_`Fբ 9#Va .&UrFa&>AKL7Ÿ0WZVP9^ #0ҝLYFº[U.-)IKtHY:rkMǯM' J'`=}p$80,^ʅ|DͭXJ(Y6V-kʱ$ 6I'b&l17q.tپM:q}J;j Q9[eh!F.B,,2-gof*oj;,k̬ւfd)}k?H{SMdۃQGAʘ 'am>l?0&eiL7[i8r N OKD|A}/g f'ms^D$=ָgar$/%Kda^/#?=i7]+~<@ 1huQ/+l~=b/Y۵JpmZ7h##uȝ8_`I٘έ1J{lډeawtLy6<^|jKl2>ag?L >G@[? )X1xJ%cz#x2j\ӊЧ܁~&,=Y3%#+Du2XYUF/RW"{ ?6uM㧂hh 9f~uA ko8rq1G͋0[w߿Hl\a~o:EhX!Oz`v/srnPt|4J>:gq$„}v5D E[2[ Y yGoQE_p9EUθ4_FMkVvzHum8Mk-on8ٕ*5Q&&}kZɎ⧝ؼ&w BE+v֛k2}+Wd do&RL=HA1}vD*@CI^A^2|`UR #*'hØZ(+lME@x)bHz-jÚs˘KdOĶY[(-RiQǛ)4ifD\)-0AADx tkxʐ}Y>J]qK+*vޒ Ec^5dg^|*~ nXT"sʒkru V9;?ow3uBg} E!D'.\VTKXvU#1k%E6lHgHO"X]ZT"ߡѬ_l!©\bw KZkm-&E;cŮ Ju7SeVADX 'A>EDcTt킡̥ܰaeKE7 d.tQFqq,-996%WC%2tJ}9|j:|3dc^!\*TUž}rTc#:C+aU2 'x+E.# N>Us_:t_N;,W "[Ŷ;M5cG>y*aPVDA%,y0>"By+-p .䓭8vl`}X`o3f}yqJL2Qmt!rŧ_gE/7tL ^ u/I:-)6ۅy/skY,=GpE[yZS]\xӟ7/YEE );nTlecS:G`^D-nz 0@cKV?bM EB9x\B6 z^Є5->XAӕSk+%\ kU-%׳q&e /ͺZ빇uL "mu_Kߕ4AsB3ԛĕiv~J˱$~G<9 -!@GaRn T' {jxXY#(sOc!돟y7ܓy϶t*^ǝPcoed_x-LwNh٣]VP]X?"%W)='b.U@VAr#@bPfOe%P] ʄ8. %kdcg@opD6"a TڵĿi!T8Ow9i*V#G(ܟ+3r6΁ (8 r*4 >QJdq~mb4 ^\~ C >Y!0Z0ʛr/{#B \ ʿ`OO6(36{رaw umC32<x?Lx c-vF!QG7} (2^IgtW:8Ӓ2hrBC/dm#mpYn H<L?{VMjk&E~o)BLw HPf b. YPȞxZ%Nbf#aVjN ۾ikٺӢX" %un3.d8NG/{&Vo!|aTv" NV˕UpLCCCH_ hӼّVdyukѐSvHobd#և-X8ø: /(F6ȑĎ6x>s(#r,$A}DD'Z_mD`ձe5ECdq#L?f =x:8`*8>m%v^gƓEdD%OX|/R>'Ŀ M+=.I1[UGJ=1pfYLZ,,K.|(vŚ5\HJQ%q 3fr\omGqIMl5V<׭(-Zla%.)~6Pu D120JbC!i֡u&UczAİ>!;c1V)#Һ{덆ht P |QE@wsy ]SeCz3d~Se1NM׈Z .JIu| qѻ"O| ޣ5};#DW`LZ[,ْi877]ߴ_eFj3\a[jKMDT'T+\>؉N\d-= mXi4;:kOh l{DX'{B@2`])~ -){ QJ{ygv=fZ6/z ҹp NeWk[}7%Y!g`Ɖ4R9.,. `9E I< SiNٚ_h@ s $ti7#hJl¶ x4Up"I+5UO0sPb5;eq/ 쬥(ŖNFG=86wIQ4elPį^9$o{e^)d` r6B˷glGAfXhdz[Wc#ܢ .3v=3zcQ{sEꉪ1]oYhL.g[3&0?l6y1~#֫/ǣ"iKvف/2׺ZDx _ʙP\]Qo5:+m%[ xJ4X3R)wzzw"LZϾqG< /C*Rt6t8Ҝ?]')WSv@zzRKZc*o0[bzs6=ώvS".CWL4%s6 ./佪x4EM N$ QV / ,LѢQ$65ͺYʷR0-ٮ񟢵tUr_KxYSh$\,-.U Q=#"^h1ڊ? @g2f㗒;brEnlCJ\Α޳j?&{l94%,Z"$Ǘa+w0+}L Slщ; =q- ɜǧJaLN}[.D`1BM~2oS2hXLQO#&#(:  ,s|qs2KY>CB&kRc9@LU{P!N{H5Pl;uDV) w` }sלt6 ~T2B{(0H8y艆'p9 en{+ogP -'\0g\y2 =K DSDӅ@ލׄ}'h5$&nx[aO,nVMw*e:ʼnXIkBs$S|xpeI\DαC/:6bfâ) "{QiFނ^h'v#A=ok?b#7$f}fu>;# ,zB@#71[wGg5ɒ+cq;ePw;8C7[%T1k)N]3F{~omv'8l_Ct>e%`'mϫKw|f}HʕfqXR\y&S8$5FJaF@ˆ7:UE-ۼaJiZ14R(CV+B"P=;YOɅT\`N)u6`X4K3_2/6lGC'b$f8]p@[_RK:2)sc1~?z&4)޸YTv p㩏( `Ѫfyp[e#]('an!SJ2Nc9w(no= }cHZ tGd&M>mRlMR/emw9˦%h,~ ϙ$.Zr-=,Yh ]R>YYibr 2F3G|rDF'*k(}i Y@]>p#H_A I7#M`}b.` y.@ K8+xĺ%p,]qpاCi{Y>7 uSGyQw' T Дk?)7[̕a+&^3LW~++ODH1b";<}F"9^T6D3," :4=GFdOb`~CXo!bQ[IxoyY8mWnK7chyyNVq:ā MRz@X XPz?E崴': a^feaD}0:R1<}G ǩˀH}|L> -v+n١q*TS~"?q tTƗ[WUڥ_h4U,NLrME?'*<Lmu0V^ 8J6%j"#ɮxDkg֜}(ONȺyQ2J!h$\$1b|=*u`(霷ssHfǏ-P\%%iHUvnTѬdκ*ȑ2Z!; ^*ẏB N[l L!D8Ea@k\!_+eGOqsbcP۔iv`.+՞ZGȖh t(5عPR ouNZ鰵3>94r Fr,XBA`}5 O-'KKj'#̹mp܀`AK歲,$^6Aӄ5i?3&f`CgW9Z~TKM6`suQ 1mٜl kuPbȕGÚMF4788l`s|PHH)]7N$dd] {rsȜQgCRpqq}8w[ A[@ll";fr Z DD )DNݛ*tIcO/n*@+z' ևKShRf"IwsUQz>`Ƿ[_c|5.*]Vz-:Nb|U|E ($ȴcIzw `.I:~.천< j{3]$/BKQDgezHM!xO 5agwrh6q(WO;bJb+.): i-|U2Ng'| s4[^g(h*{MjemcXN%Buq |_Br2蚭ƃBx){\tb)Y@bhbZaupD8zGm*W\}0j+X'Tuz! P_X{Egptew'z\oNgl]g{Q\/RrYu 'iZAN K'jkL]FhB%U-Um7 $%K ,񐺙[E¡vRO?\ Ǥ̝=2uayJK>o*ZtB6MkӞ-ūN-4ED ʝ$as*q1e(HpW#zTr[Qa(Kaj@Muz DܙOR !'}t-+<;GL࡜9 Y"aC6e¥۲@:,z8uiH8-e|GG6$Na1!}jFŮnzH~(IG< c\EIY֏/TOfK u~)}MXH'=F T/[P{aJœ`(dtY)b1pLq/7g,C"1aRȺ`{d>ksdX~;/ޱ*QBm ЛMȋ lUxC0m]Jr5ajFxi<|eX*]Qu3?w `qǃa~<- : M* #v5h)vZ*Ń'.p pdq饾ڞV[Z+@mIJƁw B֑lGE-L(fA]h}:y:m{ArL'p('ݟ`Ў}mn$|z ~1~^$lv#KC5K lWW/]z{GBʦ6f_y$uLfs !P&mAu5^Л?86OB5tϤ= jrNz=]9` $hwzxFUʟVtmUsvװa, lPӉ݀dU}~!5BvSp<#<3v`7N62qoDJB)!R_5}'']?PO;P&,9B:B|NkPZaɿ,*ҷ v./y&} BTMɭTjC=r`4wMߞfm];@3b˄Y(*_g݉^8 \y8znNDHg-lM]d X ԓw4೺FiVo̜ m-9%l +1 S풳=^N؄+;w5&ε3xUǦH%a)cY"M,m~ vX tKMek {x`"a p9ȉn*peMΗU 9 D:^ զ{:2 Q2Q`8tS%NM')u wA@IK_SN&@|*`O&+>S:9BXS,:łαP4)+8(sԄpiy"KtC82jْX8snzm , tppe !{EL0y3fhΉ zn#T+`0kMS١ |vHUlDT,RF(f0go ]Q9Jt?%ΐ;k>C Y/(ӑ咿F:J-\ܚ;~#!3:2x"3xZk0pѥ$/+Ӱ=9LEPڐ) < nJa_S甒 *;yR40ƃ'Eʥ ZAsZel1XvM6U~zv?)!?2gF߉OSj]IP4ڃ;pԛYϩU% lNJqj\3'LQ 犾zZf~{<UUY UaP:O NSC[4!e`;qgw:}dx5lvd"z.ꌎՄi%;AgOwcLWS߄pֈzh4xsSmx1gӔ2Y#$A .Xy(_R3\2C&gKʧZ5!r//$@v81pFDf4e+~WK$D.f̚hf3AeXvpNwX;WjvqK]ɺfz{j~CkXtmq"8lcڴ_踨#5˻=go~FfA.YBv,{ sHnhڿ`o: N 3Re5 q{OT9T)oAL7BH:} nW^i9iZ23Rn#$W]2Qo}T_N6-בtz5 J?dȿ,X-n>!љ`lua0k~@AqO)1 6bkh1ݔp~EU\r.dN+!=ɩx {`FzK UnAf+P? Y E.NWh!BWxL>  \B]`<դk]nZP}]hR)+NW3\zMkR-wc-Y"aI! J>lPP)NJ"WO0WB&w;ohT!鬝@(M>tĆ-SNƒ_VbP7l~}뽳 D<׃5r_&{|d\$rDc=YQx\EQz!8POE  ֆ:IV g?k TH(Ms$Y]7+Bo;V炥+,pչv`+O WQpHQљ)ATQ4ykWrN;A|w7_uFpD6blߩQt [ȝCග&2}9?G:G2~Bfw^{%8Ƽ *+M2!بY a!#? Ygh: iN=\UZSUV[C+Zo=Du,'E2_]5** _t7H*fzIL2=7K2cG,C@fX_:শpv .nM;qFhЉ(ӝm퇽18[ 3 | ( 7baNopsn47]Uܝ <iI;$n-Vlb g! 91!f,ÎHH41wd95laZtsS &b^ΰ2S٢!?a"Ɇ~wB#F7p?80m) .3 YB0W$K&}d/]e3WTv۬<"ЋW*>0tBB2Ə"GSYx?ɻwBHTn(PMPs#,4iBPhoiw^< F/Cj#Œ|Ng3V0?l ܜF 9'ڐ휟Yؔ .Rc Tb,…ne$6a;xQȚ+[yh(wd}=eNتVmux4Os} j{brDɪeuޛ[PT$/?br7MU V`H 7~iI罸nF|e[bאy ؑ)ër0@X&VWx V[?H<_+ov}Ӓe G4'ItJG!R%*,377l6$10HgO?bLȜ4,noQ,!P\ jнܻDsoPa7P"'~ڐv)<\ n'nO\av (hSCmxixU~S_ܘfWo&tS1M?ɾa?X:.Ya `<>Ư3]L{ޱջ"cS k +*V%K *izx6v biVL0Gb}-b[Tlʔ/_;eђ0͕#2lj?6xx@b[#.EunAvM;7P/ QSk눉J(XZgʄ?F)^ҲճYY0F{f`٥("!{(\-nخ1i<*ۖU(u WĬSi:=er)f<3Ѡj+6mk0Jm3&Ծc_;"k, L'\wEois O;@WB::.|>$hQrl^@s ]b_VX-RA&KP\M6DFmSx<}ڹ5(K>đx.siNbNi ؛aTՇ{TN/[e&.D5zZ2~8uSEHКq qqY%um(czsQB|Ҕ7(Yխ,d˲ojPwg% eC? >[z-&+kDmf2 vc lU 겫@_up{b1؁䢢k"&0R+%^Uu/FH. 鏒 `se~KFA稥 zv6Ý3̠Yx ni(HP X1#qtStt|9q IEX A 1E:,ʸU~rUI^RJC19 u>jP./ӥLEr,U孝Uh&)o5k`[ _}CT[.:" GLkhW:Fn .+qb'l@7jhGZD4w)c Z2 P^hY~W=\ \b uy HnH|+QJK??Ż$* c"ap!ɏ,>k.e bD+l{$ZnIJh]ݿ'⿊3^yv%/~Ir5f;Hbʒ*-t'OiH.H46)ʴW/g\}WEfnǼw1_:wIId43zw\1+/"_X'+TPLb!,"?JIg"NR,XgŖ61e%[@7[hԔ1E1K='*(]*EC&*,H! }dttkÈ66$? psS|(wJe^]QhɌXeg "0w/7UÀǞp]h/,E{{Nwc.V>Z8bᢴy{zv/y uU!*_4jj*dܝˏigD(޹E:#1T'WD}g ĺGAu1ރFcysl$>s6 C\miH;R>ۮr5A;+3ʥ̟J-Mq޾[6dج.ZwtׁͶhR(;L}\Nix࣠#ٲø[֬72-uoN|Yӌ/h"6 drB!_耔%ާV暫F]/{Kl4QMNɹBP*Z'hor!Ά`O W4,WUwJcWY h+_KC)yb&IȦqQfD&ѴQue[*j`D׸1$ tdr YP@ GY 8\HR=_W/-gG];:cT6;7!f6hFz#4xi_A}ֲNϥ/(Oے(5Lp~9vD{@jqi|9p\ lQg oYikRCK!I%6—5 fvrOLW'apWO^RVǺd.h<{?+YG7=ӷ~[kD21~Ax&cDbMN[Y Fd`YۜJw&2GgMvr;H/XhLh2YR#-mpK7㧋o an豽Z) .S#T%(goJ\ teBn]l] p:w$>"V3 2jmHs1 զxnZL5!JX\AȆ9I\13am)hU3"9`ow g͏dc̵L)9$Ŧ"pe|Q Q,iUU&(fe;ֱty3?vkZB R,SdݲCxA֘nQa^Q3jiB7'ZuC֔~0"069M@u}'Ɛ?Ye:(̻[0eH"iTPF;{̅Sw'C8"3 t[,D ҫyh4Ӝ WH7D!P'w-?-۵ )-=fH4 Gaf.ؕ{KmxǦDr 4mk&V¸W*t?':\%}LIfw.;eg;`8 c >JaMǢŦ \畞RxcɋG-JMup X ue͗^/* ȸkɠq4o7G&HGРS'A}LGXJHX2Wzfwȡ82,czVdF?^Ҁ }t];cVU^\=G"og*5b 0 `{"( aE[D=>s29RYH.rUN!H[^ EWP\%R[' L171Œgaт!0C_tVif y5R=%]0gg?_\%cxj҃P82L%C^-}ZLrzﳂEOO& Nb=RC0=oQ^rCq;w4]v^OGu"4`̉\#Wg61_v(g{ߡz Ib&owD3Fe.-LсĉNxZ9?{k>|h `'- 2. WZLGw x!f nJ(AERM`H"4J*<֒KF'yf^"1~u|A>!%1b/y&=Ib9oq+"; ݆AS?{ţwdۘ"޽A+uG w mCV4"[3kDY" 0h  0dVrvi\q%c`eOf'#)KxsJl9JnEgA[R8@WcL(-h\ Vp}DBGϑ0 QelĬaMbi}e~Ȏ #- 8~5X.DӤ2pLu#%`kSwF=ux6OiP)̊\OmDAMFkZ@qJħ&m{mS;(8yydrD]#e-PMHg\}iZUKqgA^ ՗q^]Jcʩ> Գ2MƳ[k.mKabYɧKdkIKu~'?hAY/Vr ;zo^(oWKy0ʯ bg|! _I%&9"pe :[ϽGRf;@}?ϤڞT)! ]')x#Ll TA'] +~y4< hPcδ?%rAm#irq` p#ݔ9 bR@&Gs,E_@nkX=i<(r=\}눝 ~ªoudtCM;UUPVp L l |a ]Mn ]c|TE F>TKaz :ot^9.*H㮖R7Al- f.9]b^b)-Lθ))e,КC'UƩf,IiwnbNnDI;]QTZv6IqCN,Fkg u[hM$=+RƴGSg0,I^R XO!B褳(E07XXIm'>grV0-%< Gc!\2;jU?[pkj93kC{nzQL{ʸ;Cd1K˓ʉvNhNhok GvmԤ@&;D[ÛݹZ)+8'!o8߹,p)&E }[_tp{00d*ϋDL N'ޜGw5{'6iTJ`̾jn錊2*[H&nYk;Իf6+53J_WfRTums(L.$m"5`B))opZ6m6H H,0YyW1[P[WrhXuB|q0]opg86m(KD?!8y5aVnL2!{+?3O#'SM;1?5^E'DhQt f5,М.[GZkt.Rhs<4cE*|}OT5!/Zg^=ȽmgBr"49C@&a.(N0uw6,J+L&+=~2;lQp*Xˬ4|}֮2O, 1 +ꐿZQ5JNű' x5$6lldA#aj$]8 CkJsd-ZmZT7O/Ltĥu~櫏5,g)JY|LJ=K"]YX`UWjޚeڸHN! |2|C>ih>˓V-T_}uysX tJ}wlUD wohYpYoA_C+rDu(WՁJm310*x,}iH_m c5hs4 qq`L/8 7A*D~G7k Gf2SߣI(w` c@?~Rr=l}kջ;&U]r;/ ?`]⃤n'E9&}GDǚz) xyRkүu$ {G沍Je+Rl_\&Eo즲,aOe͢38&]7LwP-zÏtF}[n\OH/HzO }H!h @g"qE,(7yc9?ʰqqoV;ћ!)lId_' אKC&ITͮ22eP~ +nNHСrPn.ɻ|ycT/l҆9lGse]"Vie5tcvI/UTRܛ-HMSr.wS"'vS~$nç kf3DR[SDY 8Uu37h26mRlw$9%MweRmEBH;})Jڛ pY('\iy4fYDP794Ǣa+S^o"m-w`2暐ZVuR@⋄W^>w392PKh/N#|#Hkb&gBT QhX\-\(_KRwD/NgE;z"n-ↂCvfnOI& y,o ͗ooZ]S%fac6g_g+7%#FPϟѳT?D1oZCeP|?dVTvd*QcrO=ב(R;NiVhkuT9oy ́.ٽ}ǀKg~5{x֥dȺtXGn6Fq{8  p 1O9u ^˫ٯ$!3~i ڄ/]g93;G0|( @&cYӴ|նxMh^-b=s TZ۴)h4Y$gMkU 4L. d{gn x4EFnPKq~z>dAp.JݰHEn҉ Y`=VBr UtX#S