libbpf-devel-1.1.0-150500.3.3.1<>,fL_Ep9|ć;aCUyH.aC%|P~Br >A?Ad " ? /5@   H  X4X  ( 8 9 (: F;VG;pH;I< X<8Yc??d?e?f?l?u?v@8w@x@yA8zAHAXA\AbAClibbpf-devel1.1.0150500.3.3.1Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.fL_Eh02-armsrv2ASUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxaarch64A#LZ&nI E${!~ !qkA큤A큤A큤fL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EfL_EcVfL_EcVcVcV2a23e9331fcb79c6e49590378f8fb91c7945c887448bf2e057f682f992158df37951d21f37e0f1e6affea5a2849c883b94e539886ea3cd0e1d5e30bf8241dc8a64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb3e4aab7a422319392972c75caaa6b5438bbc478466c7273ea17055221bab90a0cc7570f3121ad4b94a0d835ecb71f2c1883a4f9766c864ddf1b0e136cdfc7d05372e36702d3021859ed9daa57c6c356769683d6f442b211446038ff970701de4e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50337099a4b085c09cd9570de1145d90ad60144cdada69f4c23268ad2e16ed2802656479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8e0a85fad1ab71453b9738cfe059aa3800b17075e50c01e5a86ec75de43a25a05a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6b13b913cb8e8e0e98ed5830923cfd22e2dffba50281af8dcf27e0ccafd0e358309a7b427e4d3821688f73d5f7c9e2930058042b8d8dace2c3dc94b5297d3b8fdeb3e014c62b1a26bc6142b875674568fa913b10a0506dcfcf1768d600271ad5d5847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.1.0-150500.3.3.1.src.rpmlibbpf-devellibbpf-devel(aarch-64)pkgconfig(libbpf)@@@    /usr/bin/pkg-configlibbpf1pkgconfig(libelf)pkgconfig(zlib)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.1.03.0.4-14.6.0-14.0-15.2-14.14.3fLccFcjDc< @bc@b1@b)@b%b!@aaQ@a(a@a@`@^(@^6^r]?shung-hsi.yu@suse.comshung-hsi.yu@suse.comdmueller@suse.comshung-hsi.yu@suse.comdmueller@suse.comgmbr3@opensuse.orgshung-hsi.yu@suse.comjeffm@suse.comjengelh@inai.dejengelh@inai.dejengelh@inai.deshung-hsi.yu@suse.commsuchanek@suse.commsuchanek@suse.comgmbr3@opensuse.orgmsuchanek@suse.commrostecki@suse.commrostecki@opensuse.orgtchvatal@suse.commrostecki@opensuse.org- Fix null pointer dereference in bpf_object__collect_prog_relos() (bsc#1221101) * Add libbpf-Fix-NULL-pointer-dereference-in-bpf_object__c.patch- Remove requirement of linux-glibc-devel >= 5.16 for devel package- update to v1.1.0: User space-side features and APIs: * user-space ring buffer (BPF_MAP_TYPE_USER_RINGBUF) support; * new documentation page listing all recognized SEC() definitions; * BTF dedup improvements: * unambiguous fwd declaration resolution for structs and unions; * better handling of some corner cases with identical structs and arrays; * mixed enum and enum64 forward declaration resolution logic; * bpf_{link,btf,pro,mapg}_get_fd_by_id_opts() and bpf_get_fd_by_id_opts() APIs; * libbpf supports loading raw BTF for BPF CO-RE from known search paths; * support for new cgroup local storage (BPF_MAP_TYPE_CGRP_STORAGE); * libbpf will only add BPF_F_MMAPABLE flag for data maps with global (i.e., non-static) vars; * latest Linux UAPI headers with lots of changes synced into include/uapi/linux. BPF-side features and APIs; * BPF_PROG2() macro added that supports struct-by-value arguments; * new BPF helpers: * bpf_user_ringbuf_drain(); * cgrp_storage_get() and cgrp_storage_delete(). Bug fixes * better handling of padding corner cases; * btf__align_of() determines packed structs better now; * improved handling of enums of non-standard sizes; * USDT spec parsing improvements; * overflow handling fixes for ringbufs; * Makefile fixes to support cross-compilation for 32-bit targets; * fix crash if SEC("freplace") programs don't have attach_prog_fd set; * better handling of file existence checks when running as non-root with enhanced capabilities; * a bunch of small fixes: * ELF handling improvements; * fix memory leak in USDT argument parsing logic; * fix NULL dereferences in few corner cases; * improved netlink attribute iteration handling. - drop libbpf-Use-elf_getshdrnum-instead-of-e_shnum.patch, libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch, libbpf-Fix-memory-leak-in-parse_usdt_arg.patch libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch (upstream)- Fix out-of-bound heap write (boo#1194248 boo#1194249 CVE-2021-45940 CVE-2021-45941) + libbpf-Use-elf_getshdrnum-instead-of-e_shnum.patch - Fix use-after-free in btf_dump_name_dups (boo#1204391 CVE-2022-3534) + libbpf-Fix-use-after-free-in-btf_dump_name_dups.patch - Fix memory leak in parse_usdt_arg() (boo#1204393 CVE-2022-3533) + libbpf-Fix-memory-leak-in-parse_usdt_arg.patch - Fix null pointer dereference in find_prog_by_sec_insn() (boo#1204502 CVE-2022-3606) + libbpf-Fix-null-pointer-dereference-in-find_prog_by_.patch- update to 1.0.1: * fix inadvertently changed struct bpf_object_open_opts memory layout; * fix btf.h header relying on struct enum64 type defined in kernel UAPI headers; * fix NULL pointer exception in API btf_dump__dump_type_data; * remove struct btf_map_def accidentally left in bpf_helpers.h header. * All deprecated APIs and features removed! * support for syscall-specific kprobe/kretprobe (SEC("ksyscall/") and SEC("kretsyscall/")); * support for sleepable uprobe BPF programs (SEC("uprobe.s")); * support for per-cgroup LSM BPF programs (SEC("lsm_cgroup")); * support for new BPF CO-RE relocation TYPE_MATCHES; * bpf_prog_load() and bpf_map_create() are now smarter about handling program and map name on old kernels (it will be ignored if kernel doesn't support names); * BTF_KIND_ENUM64 support; * increase tracing attachment (kprobe/uprobe/tracepoint) robustness by using tracefs or debugfs, whichever is mounted; * new APIs for converting BPF enums to their string representation: * libbpf_bpf_prog_type_str(); * libbpf_bpf_map_type_str(); * libbpf_bpf_link_type_str(); * libbpf_bpf_attach_type_str(); * bpf_program__set_autoattach() and bpf_program__autoattach() to allow opting out from auto-attaching of BPF program by BPF skeleton; * perf_buffer__buffer() API to give access to underlying per-CPU buffer for BPF ringbuf; * bpf_obj_get_opts() API for more flexible fetching of BPF kernel objects' information. - see https://github.com/libbpf/libbpf/releases/tag/v1.0.0 for detailed changelog- Update to release 0.8.1: * make shared xsk creation network namespace aware- Update to release 0.8.0 * New features and APIs: - support auto-resolution of binaries and shared libraries from PATH, if necessary; - support attaching by function names (only by IP was supported before); - support attaching to USDTs (SEC("usdt/...") and bpf_program__attach_usdt()) with initially supported architectures: x86-64 (amd64); x86 (i386); s390x; ARM64 (aarch64); RISC V (riscv); - improved BPF verifier log reporting for CO-RE relocation failures (no more obscure "invalid func unknown#195896080" errors); - auto-adjust BPF ringbuf size according to host kernel's page size requirements; - high-level BPF map APIs: bpf_map__lookup_elem(), bpf_map__update_elem(), etc that validate key/value buffer sizes; - bpf_link_create() can create all bpf_link-based (including raw_tp, fentry/fexit, etc), falling back to bpf_raw_tracepoint_open() on old kernels transparently; - support opting out from auto-loading BPF programs declaratively with SEC("?..."); - support opting out from auto-creation of declarative BPF maps with bpf_map__set_autocreate(); - support multi-kprobes (SEC("kprobe.multi/...") and bpf_program__attach_kprobe_multi_opts()); - support target-less SEC() programs (e.g., SEC("kprobe"), SEC("tp"), etc); - support BPF sub-skeletons for "incomplete" BPF object files (requires matching bpftool to generate .subskel.h); - BPF cookie support for fentry/fexit/fmod_ret BPF programs (bpf_program__attach_trace_opts()); - support for custom SEC() handlers (libbpf_register_prog_handler()). * BPF-side API - BPF-side USDT APIs. See new usdt.bpf.h header: * BPF_USDT() program wrapper macro; bpf_usdt_arg(), bpf_usdt_arg_cnt(), * bpf_usdt_cookie() helpers; - new bpf_core_field_offset() CO-RE helper and support bpf_core_field_size(type, field) forms; - barrier() and barrier_var() macros for improving BPF code generation; - __kptr and __kptr_ref tags added; - ARC architecture support in bpf_tracing.h header; - new BPF helpers: * bpf_skb_set_tstamp(); * bpf_ima_file_hash(); * bpf_kptr_xchg(); * bpf_map_lookup_percpu_elem(). * Bug fixes - netlink bug fixes; - libbpf.pc fixes to support patch releases properly; - BPF_MAP_TYPE_PERF_EVENT_ARRAY map auto-pinning fix; - minor CO-RE fixes and improvements for some corner cases; - various other small fixes and improvements.- Enable building and packaging of static library. Explicitly enable fat LTO objects.- Python is not used during build; remove it and help break a cycle.- Update to release 0.7.0 * legacy BPF map definitions (using struct bpf_map_def) are deprecated when LIBBPF_STRICT_MAP_DEFINITIONS is passed to libbpf_set_strict_mode(). Please use BTF-defined map definitions. * ability to control and capture BPF verifier log output on per-object and per-program level * CO-RE support and other improvements for "light skeleton" * improved compilation when system BTF UAPI headers are outdated- Update to release 0.6.1 * Introduce legacy kprobe events support * Add legacy uprobe attaching support * Support uniform BTF-defined key/value specification across all BPF maps * Support kernel module function calls * Support detecting and attaching of writable tracepoint program * Add bloom filter map implementation * Add typeless and weak ksym support to gen_loader * Add RISC-V (RV64) support to bpf_tracing.h * Deprecate AF_XDP support * Support BTF_KIND_TYPE_TAG- Update to 0.5.0: + New features and user-space APIs: - libbpf_set_strict_mode() allowing to opt-in into backwards incompatible libbpf-1.0 changes. See "Libbpf: the road to 1.0" and "Libbpf 1.0 migration guide" for more details. - streamlined error reporting for low-level APIs, high-level error-returning APIs, and pointer-returning APIs (as a libbpf-1.0 opt-in); - "Light" BPF skeleton support; - BPF_PROG_TYPE_SYSCALL support; - BPF perf link support for kprobe, uprobe, tracepoint, and perf_event BPF programs; - BPF cookie support for kprobe, uprobe, tracepoint, and perf_event BPF programs through bpf_program__attach_[ku]probe_opts() APIs; - allow to specify ref_ctr_off for USDT semaphores through bpf_program__attach_uprobe_opts() API; - btf_custom_path support in bpf_object_open_opts, allowing to specify custom BTF for CO-RE relocations; - sk_reuseport/migrate program type support; - btf_dump__dump_type_data() API, allowing to dump binary data according to BTF type description; - btf__load_into_kernel() and btf__load_from_kernel_by_id(), and split BTF variants of them; - btf__load_vmlinux_btf() and btf__load_module_btf() APIs; - bpf_map__initial_value() API to get initial value of mmap-ed BPF maps; - bpf_map_lookup_and_delete_elem_flags() API. + BPF-side APIs and features: - support for weak typed __ksym externs; - BPF timer helpers: bpf_timer_init(), bpf_timer_set_callback(), bpf_timer_start(), bpf_timer_cancel(); - bpf_get_attach_cookie() helper to get BPF cookie from BPF program side; - bpf_get_func_ip() helper; - bpf_sys_bpf() helper; - bpf_task_pt_regs() helper; - bpf_btf_find_by_name_kind() helper; - usability improvements for bpf_tracing.h when target architecture is missing. + Bug fixes and compatibility improvements: - improve BPF support detection on old Red Hat kernels with backported BPF patches; - improvements for LTO builds with GCC 10+; - pass NLM_F_EXCL when creating TC qdisc; - better support of BPF map reuse on old kernels; - fix the bug resulting in sometimes closing FD 0, which wasn't created and owned by libbpf itself. - Remove patches merged upstream + libdir.patch + libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch- Fix LTO build (bsc#1188749). + libbpf-Fix-build-with-latest-gcc-binutils-with-LTO.patch- Depend on new enough Linux headers.- Create libbpf0-32bit needed by libdwarves1-32bit- libbpf is now a separate project, stop building from the kernel (bsc#1188419 jsc#SLE-17288 jsc#SLE-18805). - Fix LIBSUBDIR + libdir.patch- Add python3 as a build dependency.- Build libbpf from kernel sources, not from github sources, for consistency with bpftool package.- Reflect SUSE CFLAGS - Do not bother with obscpio if we are fetching direct releases - Remove patch 0001-makefile-Fix-install-target.patch seems to build/install without it just fine - Update to 0.0.6: + New features - new extensible bpf_object__open_{file,mem} APIs and DECLARE_LIBBPF_OPTS() macro to go with them - bpf_helpers.h, bpf_endian.h, and bpf_tracing.h are now distributed with libbpf - BPF CO-RE: added field size, field existence, and bitfield relocation support - BPF CO-RE: BPF_CORE_READ(), bpf_core_field_exists(), bpf_core_field_size() and other BPF CO-RE related helpers available through bpf_core_read.h header - bpf_object__open() API now auto-detects program type from its section name - BPF_PROG_TRACING programs support (incuding BTF-typed raw tracepoints, fentry/fexit programs) - mmap() support for BPF global variables - declarative map pinning support added - probe_read_{user,kernel}[_str]() BPF helpers added - bpf_get_link_xdp_info() function to get more XDP information added - a bunch of other AF_XDP changes + Usability improvements - no need for int version SEC('version') = 1; anymore - raw_tp/tp and uprobe/uretprobe section prefixes added - new bpf_program__get_{type,expected_attach_type} getters - preserve error code on program load failure + Fixes - btf_dump padding handling - bpf_object__name() returning name, not path - ELF section handling off-by-one bug fix - mem leak/double free fix in BPF program relocation code- Initial releaseh02-armsrv2 1716281157 1.1.0-150500.3.3.11.1.0-150500.3.3.11.1.0bpfbpf.hbpf_core_read.hbpf_endian.hbpf_helper_defs.hbpf_helpers.hbpf_tracing.hbtf.hlibbpf.hlibbpf_common.hlibbpf_legacy.hlibbpf_version.hskel_internal.husdt.bpf.hlibbpf.solibbpf.pclibbpf-develREADME.mdlibbpf-develLICENSELICENSE.BSD-2-ClauseLICENSE.LGPL-2.1/usr/include//usr/include/bpf//usr/lib64//usr/lib64/pkgconfig//usr/share/doc/packages//usr/share/doc/packages/libbpf-devel//usr/share/licenses//usr/share/licenses/libbpf-devel/-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:Maintenance:33986/SUSE_SLE-15-SP5_Update/0cd15d3dec476d582fd15a7dc7acc38e-libbpf.SUSE_SLE-15-SP5_Updatedrpmxz5aarch64-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRRFAֱ5BQutf-8c86d15e430726cd61676deba9f62e9cf6049ac1da24e821d8841b30b0ea47cd2? 7zXZ !t/x]"k%ʽe8^ |E y6Ya(7QzLr 3[x&г xCKn.K#+ ´-jr$ba3ABc0UƒJfM'I VA VR XT6ڍ߷B;PJhg]` CfM)AH+k=iZJ'` #0=rPŽE āy JgqI&( ]XnEe -/ 0qɭ<^dȑ<C30"ӭՍNC +wW7֛;(Gc-}oֱ6iw!Iĩ.3s>'/s2zOEy{dlU^n;U\ؒodU ]ރ!\e^@-C _"H,m+Ɛ9~q {Q Q!=ILX-|"V5,?nbB/Q[] mS292flEYARK:y:[^?Nh!F5NۤEMWؕ`qu. ۇ7-BA1YN;7t ֮* wtA8At@Nᩕ<#iEr/:t,{f[3hteVOVP2.mUYW)5U"flAimkyEL|!dYXE05,) y *Z#wU^9ۇ#fk5N8Vhl3W|Acɵr"s>j$lglRRZ*r-$!1Al|Lq:wQP-܎T'ʢ{Rѐi 1C0|D `t#<pBr#;%GZ|f5q>"4 M٦`BxPZ0!K"skM&+ -u˝2+&e$AҺKgV %bƛUN?O&~b ]TX6&uݔX`,y:E`1iLZhf{h`bM.Fbf,ë8hj]Yx iWmW #~DOQE &ӕ_ f*XVKhXW\Aޏn(O R5Ͽv16-vQ*t3t6sю4p1(=ťq POEl78 n%-`εhbl3sN{Zvͫm~ϼ2)ulV?791 |baϹNƝ\TA-yHVl%dm-\;z,FbriçW7_Gx5حpf`_GUMbQـ⩆Das`-==<B6\y y|-a8py\ M)eFLb;޳a)5\TR\ |m4!h^8NO h8"'ֆA%d- .̥UWB80хY,!Epo0sQ1?iz"od]Q|3%$ݕ;PI [GS^c}s.ߋ*yNTwܾ_t"_GmjƃׄhKJms$RNϑ[RIgs}[2[;ղܽ?O8҈MIa~vӮ9 +[k\\H4ֺfVe!hQ(9lYgJ >@Δ[¸}ɫX5Lph MJ}iZT6YFtzĕup,nakЀ o:Mڙ7XI֟.a? 8IA?)O>~̥Bs"cAqL DxA["FsI#̂,|0Ѹ+R 7s@3Z 몮S~1Q.>E h.xp $EAAv אd,9B}<qr=acrZ<ޮB @cJ= ̓5Y&ee[hy L'=tRxRb79GlU.Kg&O3OapōEUApfcҗ"7)7>zfc=@%\;a}3asJ |s~ެ榤?φ@;'M BdAT>#ZǙ5g4wD`FS,gk`+۫esfO3RH-ϲz3gl=t}vML_WUuV3-ۖQ'q%UΕ07IӈR;Nc%U2Aa4|n~ Z ; ѐdM%h!]^

\qPK,Dk} KŢJh]R;*78<OZZpq U,ۄZ Js/zS҄@-,CGD078#r({RaӴnvX ;\76+!/2y}l@=:fX<,lBVvV:Gi'MCAȁJՊ,}FʪC8)rBظk{؅ѡbyb>-cC:Bo&wUӓ-eOԾᭀт6O2)n5r \¼C@7ևPѡ'4ԊB- ؽ>t\,܃r+l?W)rO jO)ϝ˷wu) GI^,U_PQ`%vOr[ۿ߲AYn]_E%(7 @ˍ]>#wΘ  e' )GVTNKLc&!z0tg wԵk_KEF'V_# *:ƓGմ}4/fe 0 eKéT9{b3yE,(ݡ202%'8-u{Μ pUK]-i? eS#MUHa[H=B9;AP~ F[^7Cq2Eӱڏv-.qq/7t(Uϝ2!&Z#xYu ӵŗcGW{`?;b'2 $-4]' ziLA֩Mwҙ!Lzr->ymwGK]jgU">`;=Oe[wƛ3\<7ʫ÷_ `znL̹ۘr4WVqS\6OpeBUy̛G$6⥅Pn@fPHy~ Mߑ{5Bކ "nKՖkґ}D šΫdjz?W4ٽ<,*[0&pp$4}gAКZF=%4+~Y5u>`\*!s[зM1a*zO' ʐ*:zkJhVPcb "TM(q\5[$gMַQH d6= ,!. ç?ʤQymidaW,Վ OiLr?&SyYZ  >@V}XՍ%Y; yX]j{^FRU5"㛘,;_b9 [2Lߞl/7Y (UE{ڪIC:/{c>)DT92M[@ Kx;CVYqf. ʇkv8( d/``TZ8%_{fk/Rt_\ FN,(pdr*5ӴPhy@kT2CcĪV[G#ǺxZ'[rzT8W' i̅jKҔ2j솬:j?XlqYkN41ĵ2-h!r2b dhן.r dEFg#τ 弖7 P{HJRr =؏EpLs ȟu>iU;9E =OPI u  I I 6GnpTy:'~c2u  ~]=(I-)V MySu|1q+s+yNkѰ-o*d;TԄL[m&G;F!}}??"Lܛ]7aIu3JoА [aph؃ȡc n" 23M!}V1'aǴ"bF|NZ7Eflx#!&%%'Z搝}16ޓyk w@_8{_of0.+jmtEy `IiC3]:|3)i<5 ~5\yP609^O"U<V~ֲ]ִr vڤPl_jY.vsauhe*‹(`$GNgQ4R[5: )䱷 b . I(Ʌaʻ4hcE_?>k`̯dH/L> Tx 7ǦG0+8,5IMp,p|`QX=#}̓^(h6;=#`C kH!2vȂȅw]g\ZcoN_3oRhH "~`ij$a(}UOa!o 8N,% <[P"B6yJFEI"# @_me< Gw4a!Wy;\&g VDQοlp+)yM 8/]E*=ּxͼsh_0LhsH$]Bs.V\ٓ?ROcP ˏބ;\,b?` ־ V\\B3ݭ1>ʎJO]GJj2IAm_$hj 5ߠ}.];O_wTm[4O=״a.'"ȿvRvԚ:t2wrv)_FG!u4ȳ9C#K(Q.`1;6p1Cy Sc(O]Y^ϞDgA~E았̀ng6$GvS bىWAщ~gXWc & G# Mǰ!:+lm$@?\<-!|64CvX{b9>z8ErkOY뼚>I+׉g#doxcY]GWO8eD~}:j,{2?U[n: ECѫ]#4]R}UU=,u͓ܸnңpW:`c*2~* Ƹq?LOJ헶~^/4 ޡ=]o|^fq'L%$-r=I_f΀ !:<`*C^Uvr\>^LmTy:Eke~/5g>ʛ]rG)H1lmE"4hR_j_KO?(mF5A({tu1X"ĵf#y `M?r; G(7ˡxlg}E"y_tMW ]78nϸf~$^2^٩;QpT{[%ן>cQLq:,^D9ɥz'UAG~!Y"Fխ[ֶ W)Sɩj#  3D d=?gS1bF>\kb`g9I*7bPhM<*K7%8<2IkzπN-{(-Gk0uv:)TMp^XU^[{?ط00mMo5NٺaT-1vFYaI1I49_9'D/鶋ѥd gӮH':G~]a`mm* >rV9 ]ZQ86e@oUpq` gl <"RTʚ,ٻ" t-"Hn  ;[4zCBiB~Y1xϙKAGl0v*7ފA])J9 3twQ<ФㅕWg9,ނ{b,6 ߥ~3=@zn𗠷һ4?ABxP&ۂf=M Z*[n*(eY?tl;kgt2zah7ѻf\P9hp;_ߏ~d.dזqW2x~csB8JP3ۓP.ժU&PQ w˅5+cXH=iHΥ ƗZMzoc+(vXY2?V7=-* :Kl9zTxN_ex#_be]'qR <P5"b̨8dA-B} B|Zsiɹ` rhWFC'x]¼&hZ~O`aV;T[qnL R,tbxe[ kbzvxdMl(A7_itH2Z[x wdd]vNd8 pAB-$|xz]`Dh꽏Fp 85'Ŗ c X&˱`g0A ƇmW'x2pbMR7 H2I$vХ1Ňxhv,!Ko : J,'<]e^ot#i&!ŏWg||Z eIǫ+H? 4}zWp 7hJkjEZں *tLo9N5.WG)o|{:Z;;:@ Λ3011U `h mӒd6HH- vkcF)~Z?q/nZڨWXث5awt-kG2U'B3 3g?PwPUR҂MZE<N=g?'?IV<1oMT ۘ/k45GgطZHH4A!'@}bixlfx*q h4"h)t CS +SWa *xV{^fV760#Bƽ!N5vw q8P \#19,Xq6BдEiEO}OMI2N# HXJK!e3%ǑKCJI׻g^ y|6s$fE`~x|] G-P 4>},}EsP:_΋[#qBJ NNMRY9 r@Cw8>90g& ô>0{0<1{Fa ?BRlMUw cTAU!uHs 3Vj3r/Hsv2_`FY:C6yzu_c|Jm , 84(-H}܂~Ƕ7j)Uu< $BX`_lcjL=q{mIbzGt誕*("DP ;5s;eN3Ozz϶A~v7NCo;tٜ Ϋ` ?}S58 _)BD_ӻK@k)$ KCi|:Y]i+ێLf@E{)QbΖEc> eN)aӹҟ> ?e/YA\'O crWWʧm[ 1g-ψt~]XPB۔{b@k&훽Xx,3pRg|"ZoSc>&b ۮw^pq1OҫOvBJsJ)}֐;rG'k:\KD1J@kZ.*fSXgt&@mh9 Iߎڦ824GR-Q-VT0*VPܤVp]%O_`^~c$/ED(9:}l K +E55ƺ7a(:cL#>e*E`fatpٺ|V(/Fj #Nda2wXX936IVB p@όzub*.>W[9G[}*=޶. &#&^1:!*!;Q=RyUz8,2Au=h@y/lGfB_cbD(Y=Jy$/э?㉐_@DplKq? Mtal[$x{z/,o+St74Ͻ@j DI9l(y'Q`ptŮejA_xf*xO-q ]J#c#6](afm+\%*lj3BI[Xgd&ܠi#[fڴG/Qmu랿kK"?p\=[Lz?;NPS4[fĺG̕NQrDXbx)L(!S+s'V®98L.b 퓥c`^H:_-㔵_Ї=P,?R}Π:( `=itb} &V5(+OG;TljL 2fB[vFj3N&JtMEaGJN +vV c65$anS+ùOI /NG*v-WDo"dGRI,[9@XO6CՓltz5WEzL@7tޝВ lKSENcl~a5OҐ|Z+ߠu2{*wwlHk7IW ҋ$Ep^/Ca?+$vjH7Xϼ WW UX:AYʧJ+kwyK e$h\mbhGKMB@gVJF\n{7*=8nj ;w^3?J^bk}Yu@[FbgC?;:Ԉ (9)>=(vkё bR 3zp~Bش59"fr}",MlK )̤3qq>oogQ%&da1Hj; n+/b)G:QF͇P_'uR?LE@IP tDF;ґ U󊧋EMt< %%bb{U윗H(~D=Wp>3qBAV83~9(k Kx;M`b e~Wmd=SҢ̭h\uk0p.M-DSrCB7vc l[@[(KmLhx[@4|[$WerXe|8C@(  f+"{Q}C HCt35Gu!.J aCEP'\>*G1ѱ;:4tf'_´\~%dJ]+uΪeg]|`zՒYΫlt0LsLtß+uě NC+ YbEqy>Wp|ӏvJp9Dv`ԓz'je=һ ;%WWz=.QŪ/7PڍKi#B" o{AP4nz]Cĵ+O$}IO.4+xX+rŊbÚH_t߿ VcXFHnASVwyAVxGΆ; c1 3J^E^)~o{l٨lE4}-t\לy*r1`[ \gC'xVFIBY35iS5NHfU39qbPG2Ylrss1v8Ӗܤ&VS!e^翊~QM B4㒖2 s "\Fͅ\.[A'B%Cb~GMmU]x#h𿆤i B^vM4 ȴĖ=O`97hɞ:ZLV^}x2YzUjjv5oqՊ7qH B|f8.jsJ*IWF:]e^A'0:Zn yά!.j]L)K]bɡ(2LM*iFpl(f! .Zn͇iT1S a;[.zΛ.I?B͏2_aZon 54٬QyU5KOꐲ{gyS=__m2(<6Ff-v4ԜhX7JK ]|DKfiS'/d'j\UƍJ?5K7X"5eKWMb?4H[ʽ/PJ!V"^Jp# e>cMJ6A-?@1ߓQB2*:l̤PeςِX29PYJ} Q 흚.kI`.a)#C|T M5ؤUTT7yo6S%j`Y$>tٽR]1Z}BkVslpvH /{&+mVMϵ4Yhb^s3K/\9.-pLcI R$xхm]A޴RRB*Li*/ lz!k KUu.b* { ]X$M)'xq5we?!FCMAxyUbzc6~;j_͙c~)@jQuXNqX?{ʶl| !?#sI~d-Y-n H\)ں=X2-j۔ydCef0h!k9465a3T4VCu'-4o~Q|E+WӌvPc\Iۡ.q[Ֆ;FZJ~yLemMǤAw9T`"u2? |1$0p1LݠD8wt &pƄw/n:Bx؜967?eWp [^m8Ɠ5G|Ψn $NDtZs`$[m۳I+-O?q8[;-d 7+$p*$vO N4t6QG䩔 Z jCKz:TaJhּ.2&?Q0\S|j$ʾDzl8mNͪ [=BaӯNFЎ >jD鱳q/w7Yn{DQNqSwIRg]{.'o Lg$3w"-$+mg6MQfհiv UOŔ0N'8es_怈C#-mt v}ćֲ)efhJ(Sn8L}fanFÙKbnvMbJ"X}55$IDN _{ ϝ`O5Ж's1Se~gE gd L۞#p2 w3 GSe¤ (t.E$轪dX6\!*yƻ3>bҳ>*m,вμNBNu2_9H&::W^^d^HތDd6(TUjz+#1C s&R0~ݾo-k.m+$Fś$ Zo%ӦCMV2s)ZiF|^_J! r'$X!/X:k}$/J$o=qGGAE]Olqlfp|Xw~@@TjWx -Ya.IDx9e[ 1U./CBc:onV;ù(x2>S M\{n{LWum~U/t1^#QR7B@m*#b6'QU M,v']ض-#opQBMG1~ΐn+FQa)&loCQP,/!t@-%=txh+LU7S~ LtgT2ˠlHÝUm)+;&ų"&:Kh|)Z$A2ޘ@;i&"yl]*XθVlVqvi"N$VێWB)Ƌu1it}j(W;oz~Ю42!esr2Kr~gk/vy%͙=qح͹'Q&ZG yOBf;zƦL@i_{ٖEXLȾu88qmO7K_I=y(=5ͶCsy1e9&b`HzRwk'G7&Ή͂Nc};~<"DLk*Eh7aQṡ, ?uSO[js)Fb T*%?p_d5<w'⾻zB;{,pCF[;hھ|I5L E/v܊+B y/05Uk ~ESj}Z%i*f;A0!-&jh$qƥ~ṁ2nHNQ~I XCEg<#~aF{0;biK*PYt"wlgJ?R?w]^AzcHYoPLcN޴\4n8B>Zs FQѠzJJG8Z5pbH$_&Bw8m`cяy?vs|JlΒ* 6,v%d Qex$ ^:1tMAhRc2ε]3m?U_1r:HVBK^16DgŁ뎡/.="g2~L& XW[Pg 6E( e&Fw^ Rox@ YrLW;ܳ]\V_1QȒ~jstSACTy򪋲 C|.OCzc#eItS ؖ [V2=Ի&S M#}Αٮh~.)ӨK&@_(,)AdXQ[ b ł# BY4w7T' pd!j&O'VUlTuHz`kl٣kT<~1#s-jn+( +垙Y\dl$Anfghp9SRϏ}f}jsf%li6-XSŇk0+ +)MLK^>M.r ~, N1 hG -AcdI*6y+SRqÛn_@$:csI028D`U^ s s>Eڥ$srAnx*E#\[V7Oͭ6n@:n`!ny j&QF^Mlr^o|l@q]Oݧ ]x!Cuis x-*ozL[4VCqHnX83fJeL(~pW ;\dݜzsL%ԿQ4j,3o-hqwԠc{kx$~(9o,Fؑ%F]0.`u*HQ-ՁK GIzBcDm[4_Dt.!5"x| d rĽJGpYW.QAF*-ZHNe_Gb%X%aԒS[wXp4wK֒(!ڥ 1Kj=B"jǯtV64WBu%5. Oee1SI ?X/FQ\wI;bHe/㻼 mfGgEt*d<ۀ bsGUvݫL8Vd;JLف\_5ĕl<Ì[ޚ曓ۏWяoƲcm=xu93l jnP!V6/kaa@&trnt Y @C%>cTAT6]OEYDí @ /"qH(d9 *Uw+/R@ՂNxv$ o :VWpkY?[^\LseRkz54yi^xCǔJK^oܞA,?1iΚx(W l_dZ_ey ^$b$_. ) ^|rXhجl. XkPc2owtY$s;SoSCVXǮCsǪ!_'ZyoXS~'65uhxpiMtqZB!ljbJFѾ^W8$ݕxe U ܲ˳̂*義 %9gnīX_uulaK@;SͦmaGKPp/WosQ 1=j_e{T9f;\ʡsLXq-K8h=C䎔vw@b\dveN E0(,D&pF$GZ԰$ydX^Gϑy ͛)vIftL_Gg [89hЧ.֗G%U„jݽш  fujI0c[)X"7L:ĥZ!NLݝ`o#hIXoVBl,t~ܡJul`"TU.W~:SJ*%!~@E*@ᏽ+9 ymLi?XR$rPz91lI%.㣘Bߐ+Y&9jdG(i1f\f0FRצ/-lurݧdЍZ5/hW/5b⦾ 3SY^M3/fy1lm~7H0ֻܩ~۠H;C,yK ME^a6 mJ=`ELSKNxW5 YYq)kro)kS#M5cX)e~Fi ~xQ5n>ΌW#unGuxh!Zhn8`?S-҇G^IX }2s+j( Z 4 3W a mQ&3fkEex\؎*xnlK9_IQHL< 2uݱPߝh6uߠQ zQT?j8) #xU .SO-~i]3f'cj?})'KԢF<-s6i@(lN[{[Ock.9fy%]Usn0;{B쁠4:MWk {_s.OgJ2BKXkU0i3/>3ُWۚ&=(qкu!1Lj3dQ V'65#\Iݟ -a^2P+$aQM` ;8.VtekUG6DGj8DҫY]u>W:cg1OrjRhY9g v?+}h9ćܐ1>^/3sFAS"x@QAw ,"@*3q5r)R=g*“Lp0lC-0R#0b77\!@gJsb(,I8n. n?{['KS{]_'zȒn)1z64۬ga#oW*!kdM|bu}H#UN^D@s VԸUpfC%Kk҃MhH$ ͺ,\\ KÀ&kc$ $mNa qAsO\^'tU14 O{tIb_1am\sTb‰eXļrƢɞDjb@ng XgeX1[A|׼{Ml*U-=LxpKs/f -%Qp[w)4ݡomjx-݋ZO5D0,6"NY`K.ZS#ɽM~ҐTOz$hKQ8v02 AJܑ5*2ae%#FFtv-M`/9Gj-覷ᴥXkƴD~h@Ԋ6uJ܏Hl~{׷b,j Xhqa :F2;V>Kć"@(Aį:ϲhlAd2QP;$^_xh3ĆH7v iQ|t@|zy CcY+0\ ,KKׂ#|NPf uD1fn+җhiM}02k q%0q E/ܱ@Y#5~5mp g`W- ZvӟdֳO$ jO[&RW]:=#RH hZzk =K5Ԃ:-VlWN Flbg(}4ZZ'V~5pz!g%ȴ"sHۢtqĆB^KZEą x,A0rlQX7:HhVR;eϭ |-">pkьYeV៼.CǝOHI) =fD;. A\F^D\ڄ-Kɻ*]|E'MJC[ TvBcl?6&Y>Xg:Q2l+" |×ជy,ϓ()ٕPbW]Z.%ty^oq V~t?z # HB(VߍM9|XU|e fl+Y,M , ^8bl~&\G[dl@&X&AId;!LA蓭mky*cC:2| ,hwaEO?O!:E 81^2NkFI |ǓhZpQ@|K$yʮL{)Đ\J tRHN7rz ڞۊ [sVjʌ]E.D>9+:pl+Qu'Ot[^.߹qaˀWqpJŽKXwn@/X(/2; sH878qR֑Kp;2Vn2>s.fi¦.[AQz9"dDKyh\mrh!jA\wJܑ?b,:0Q(<LjWt4dvd^ń[SX5B+?JYq UVd};CypmDIlG)|+(}V[*1ƶA]O ^%@i6~*N Kico-E\D=($vJ.nagG+NH @_jTGk egd/ EB(%3i`0"rg\954JȰ+<ÑQ#0Ӏ,=jE9BY hePu4Dٻ XͬoT"H"ƽEC "kc43R$@?(;ܓz0$k΄U֊AwTf %# _s 5dD}ĵ2#TLҎe|G):q=q S=;U[/O1խ\dKzWV}z;):m=.ϫU-)9$z٭}rbj.S3$ :d#~c 1|zH쌺~;ήOHvZa9؞H lc,J,w՝y A; 55uk:=BOd$ 8:TĴR(z}nJ`4Hks iZ;}5FexS葱A%q!Y 5O !Cv_b!ĔP5U, *8|jx+YM&"F (UaSfbBCGn?u`&[i =Λ9 jCBs#VvӢpNjl`M^$uXk;Hk RUXBq~fftRF%+#-QaQL։1ULi4aiF1/(P؀G"ZZxnC m$~{oy}I1\Þ۷Pj D'N 5,h`Urse Ts;g b9t'/n/t߸N70ԳY1dwGs-ӧB6^ƅZ̬A~g8H.F S&<P.ֵSߝ`Դf]xF][,VQIy~kXFX5fN9mHlǸca uazauD J0.,áS̅IMuM~/Iuڦ{U!W%Zo}i y: qkµ\A7ݼ\(qN9;S7\sXʶ"TDnLl'XyaNJ⍷:9.oL{ #b U6y\LdyeF :f8b(e]ݘGޓ2ך/"ɾC2M(!}000V;%Up<oTy'i>: .7zRA-˵3 }ޮTCIְ3OXځ0 r D*eGP s\kEEr;{1B29"=wnq>{p\2ғ? Rv> ejʠkĢ.G|ڒLg.*{hv`BY_aQH!D`5NP=wQ0*g𢁙T{jsXSz4[>y5IHuB;b.OT1qgVWj+ [UAh[ KWkC/aMArX˜[Z]}LK'0C]}&C3Y+w[++RJ.曜A EjH(ROWIH@-;T@;45$])"|A5]0$Fb:DZ)UdN1\d":~l7ɮ]0-VFjCM`xlcs4K{RzشLITǠVLCyU/oJkw%zX;{5z:WmYORS;(zkMYo+HmyK2KmՃքcK*wpㅰRu&੻b6]6+8kM{"/J^q%H$8;<"Y@ىAk$J%Bf8C+uw2)(gA'z/o28tb`&* Bm6]JcC:zƿ0bUzk6'bC|/k* MPRC;HFxZ|O}#c&cDfdƲ7"e*{I/ g5fbEC'/>hU 6 )1x2cOWvxζ;ęfvfCTʠKΕ9VR@hǴ@,=SuѸ84y=ʴiJ%ܬc#n`kn6X)0]TJWi@ 0L&T>đvm]vgGh4Hy`@_E8xq@Yo0C`IHt Nb`S(z4f~d žGV>Ғ֕#4ۙfN" ($H'vJku|9֥v\j}Մ%?N[bSaյS@d(ħ5bri߰spT$vRׅ:+ߥf l=^M7-jr2PcaSiy :WWb*:ǷԆEߤ-TZe"-8qY.ä*)qě['&ۣ0w'+da5nVeIhنch`f_-#υ܉%UK} ^;cF@L?@o,uG#  dڑ⊴ A6vq;xM#&R>ƓˮvU$e75'T%{CG^^3<:ta>L:n PГ_sdLmr߶sGƇVΫGGy2ߺ9* el͝`,P\wP3 B%[66v(n3ҌS*k.E >F[K(¡ӈ%?Fl_7A"x[Hj1D=R>}) *@+Q QΣ9V󟉃xNr9T ,XlGYi:ňw+ztXLWUP##OM;"ezI`&\HCU οVJM o CjaB1I&f-Y.g`gèB|d60.GpaQpoD-Gc-^H-Wsg|2 0LN4>Z؅p_&lLdvGug|H 1U4_}{}զmb lE~Úmv~A@N@6H!=źB1D-1\)$> Njs9֗D4yΤW}Av6tCSUOSr^'w֤2nAլxϚT 5tJJL-i+۫T[-ȓtҼ̪"#+GdVnevc%$]Jd(\xc @\C7!r([ICn2lF3CK$]e$@$WTD Twf @w:xkv) *W^u;%׽? w2G5+Ghu*{I%>Zܕ#@7Fm G9vq4TA(dyiȝId c[H;uuc{ "|;3-5+Ng9'?\Jĩ/BÏfTXzlo,萡vclqXGb7z+b Deh@,Dwh~εЈ0T]ۡ.mY''NV3NY]<'+llϒiltbD&O[Q Oac*;M;1H<HIk $JHe[.I(ո&u._TfE VWZZErT`0l(B1t}U}koQXHԛ23O>7H# 7%@]ҫmR84Bk1RCEpDBm d#1$!06D/v ~9=0D2;Y0NaH=:!%¾7gJY  XT|6>̾q *^7J2Ve{\=Ne*EfiA? {8gfvh9Ue#a!gy•c[drY2sXDZp9F)<{< v ݴR^FY4=<4Ցөyg{ݵN8.,X6sX/eiJ奵jGknwu+SD6j[QjT;A-B5g [OΗ' l6|Fрډn[;yI +nڢk>Zŕ.ATlicJQˊI=*W:F vFȲk[T>8SPWP)e[ţCb{9לXe2lͨh C(wiUWaUgqDnA{) 'H~#5/"!I0;x:+bIK'r<};WM.l6PthH{/۸ bq+@p(TO\UP?'I7!_w0\)6pWYu_]-҆ ۟~j# HvA9[X.~Sִ !~[E-4h?j}NI1 &H9L{.* 9/ vHb YZ