libbpf-devel-1.2.2-150600.3.6.2<>,PhFp9|l8O6_L\j¨E܋ޯ5 m( ULIsSzCXrO"BI֬iˑ;%nɈXwE0 ;x3#r2њ^ug$BrUq\Z)Tw=\@%WΦօE`*.#”Ǹ6$Ҙw?t[W+VC/BwKC$+"1BNuN:8tGyC[e<>>J(?Jd " ? /5@   H  X4X  ( 8 9 4: FCGCHD8IDXDYD\D]E8^FNbGcGdH0eH5fH8lH:uHPvHwHxIPyIzIIIIJClibbpf-devel1.2.2150600.3.6.2Development files for libbpflibbpf is a C library which provides API for managing eBPF programs and maps.hFh02-armsrv1`.SUSE Linux Enterprise 15SUSE LLC LGPL-2.1-onlyhttps://www.suse.com/Unspecifiedhttps://github.com/libbpf/libbpflinuxaarch64NLs9I E${! !?qkA큤A큤A큤hFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFhFdhFddd1674fee7c38d4f90f8bd38cacb0eca8c1fafc02d4890e078ba8e2c481e417334f8693c88554b9377dbddd77efaa40113919b3245fe5a517160492e21f409328f64b77c97b089ca06203d0451407844fe93933b4e36e7315a294745fa29d058fb7cb679c3641e9ca8d0c317a13dcc3553985fc975cdc3678413b6e1547bbbf6a7e320a7681c18208003b15c222707f55584752ab1665fdaa8881e7e020885141473b036a5f154b2d5a9eff74e4adeeaefb649291fa151a830eca2177d39d2a410e28e5bca81a5d782e27088da750712c747acb9ab1764bd944bf3e7fc15d4b50324ff5032adf45d6cf35aeb15e8335b8b8b509d5f63a43dcc1b2ae345d623284856479a26578ea1893eee35510daab188c7547bf18be0ab01d38c295420ed95b24b09b8535b0eb9da94e8eafba8edcb2abc742bb07dd870bd216c3eea955a18d8ad556d599405c7c779b8eda644bfd0b0610929f1140734aaefa961dbb972af14a2f7fa02729c0bab05f5bdcab5b0b46e0ec91387518125d6bf6c4451d536fe6ba95c0b514ddb2996af399caba5a312141b227f36dd91f7e0d08573282c9beaa6d78a7039f0c5e1dc558d775f8f5d353408122b4524b1f8517e888243622fa39500c7316ba0e2d30f5a95983aa7bd5f816aa9c94cd45eb6908168a44f22b76bb6847f4addbd56e2d5be20c4ea0845e972672fc07b755fadaae5f7abd35d71e349e1638b9a0c68ca90fad3df1d6b4e430804d2fbdc15e58d02cffddfae38953bbf0b9a4febcdee6de55872501d5c1a8f5d8b0d1650cd4d5351995ceb22e889f8calibbpf.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootlibbpf-1.2.2-150600.3.6.2.src.rpmlibbpf-devellibbpf-devel(aarch-64)pkgconfig(libbpf)@@@    /usr/bin/pkg-configlibbpf1pkgconfig(libelf)pkgconfig(zlib)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.2.23.0.4-14.6.0-14.0-15.2-14.14.3hFfLd8dP@ccFcjDc< @bc@b1@b)@b%b!@aaQ@a(a@a@`@^(@^6^r]?shung-hsi.yu@suse.comshung-hsi.yu@suse.comshung-hsi.yu@suse.comdmueller@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- Workaround kernel module size increase due to BTF deduplication issue since the introduction of TYPEOF_UNQUAL (poo#183503 bsc#1244135) * add 0001-libbpf-Add-identical-pointer-detection-to-btf_dedup_.patch- Fix null pointer dereference in bpf_object__collect_prog_relos() (bsc#1221101) * Add libbpf-Fix-NULL-pointer-dereference-in-bpf_object__c.patch- update to v1.2.2: * fix a regression in perf tool caused by libbpf resetting its custom catch-all SEC() handler on explicit bpf_program__set_type() call * fix possible double-free in USDT-related libbpf code, which happens when libbpf runs out of space in __bpf_usdt_specs map due to having too many unique USDT specs- update to 1.2.0: * completely overhauled "Libbpf overview" landing documentation page; * support for BPF link-based `struct_ops` programs: * `SEC(".struct_ops.link")` annotations; * `bpf_map__attach_struct_ops()` attach API; * `bpf_link__update_map()` link update API; * support sleepable `SEC("struct_ops.s")` programs * improved thread-safety of libbpf print callbacks and `libbpf_set_print()` * improve handling and reporting of missing BPF kfuncs * `bpf_{btf,link,map,prog}_get_info_by_fd()` APIs * `bpf_xdp_query_opts()` supports fetching XDP/XSK supported features; * `perf_buffer__new()` allows customizing notification/sampling period now; * BPF verifier logging improvements: * pass-through BPF verifier log level and flags to kernel as is * support `log_true_size` for getting required log buffer size to fit BPF verifier log completely; * allow precise control over kprobe/uprobe attach mode: legacy, perf-based, link-based. * fix legacy kprobe events names sanitization; * fix clobbering errno in some cases; * fix BPF map's `BPF_F_MMAPABLE` flag sanitization; * fix BPF-side USDT support code on s390x architecture; * fix `BPF_PROBE_READ{_STR}_INTO()` on s390x architecture; * fix kernel version setting for Debian kernels; * fix netlink protocol handling in some cases; * improve robustness of attaching to legacy kprobes and uprobes; * fix double-free during static linking empty ELF sections; * a bunch of other small fixes here and there.- 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-armsrv1 1749458915 1.2.2-150600.3.6.21.2.2-150600.3.6.21.2.2bpfbpf.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:39139/SUSE_SLE-15-SP6_Update/63c249027fb7d2f24e9734f071edb4ca-libbpf.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linuxdirectoryC source, ASCII textpkgconfig fileUTF-8 Unicode textASCII textPRRRM`gF4ag==֞utf-8f9b012f5687892cac9141310507ec87e6c26e523692d003fcf5b81561a2c7a96? 7zXZ !t/B]"k%ʽe8^ |E y6Ya(7QzLr 3[x&г xB:A3r85HC49WX0 .h f _, PԆTW(JXHd􆜾XLd@a_r ٸcb]ۅrx,=*rB:D2'q /B%=.ɇ#/\{;fvE5@^%RT aA e8Mjt[kxA4ϔi*؎LtR7ۜJ&ge5A˄bC om9᫄}ȲbvZwBȅ \89 % mA uJ} YQRQX[{*=B). QEj~ۅ c-ڱGBoIQs7VZ/Ps8VUδ([YpV?;r\f&~T!SзyqT3rs{ՠV&GxLX亡ύ?k5 )c<9lE7Wo l+زq9gR/d )\_Yi:I (%7-ܔ6vZ[3$ο6>pIdh3sX#*\Ao+1VO L*H-|5B-,bu=m;=chM&#eHw7MOt,wg]+R /]# xcvoLMp_Vpë+rA=wwa45Zjߞrk2hm&jm++tsR#k̆ۑ\$zRÈ۶Hc\:@j\s?;f./m4_P 1Dq"k#DM4]x?)!ƼanRO揳Jۄ [3 _'TD'UDLI4ul[@MM|%"f{@ ]+}9߳DwoPiaz9OE&T;%nXwuJbx@[yFS$'z3@W\]RxF9N—w>bG"Ԡjr.1<e'kSnh^c}\U$(]B:͉% B VA[e,|ظo||+Ǜ $Ôo`x/]+ျ} ,!`;Idzt }y7wp;@tL 1vey;g8 S[&O=ÇEed[YQND_Ylԕm\rFx"pCJ{Wmk KʔFC^ hxdz'y&F9bH'rI4c}򈧬sk?ZGK Yz& Hc gi[y0 cޜ?wꎈŋv zS'LJ)zq5nQNWUUY ωUxj ]\c|BwX{Sna9@ߌtCEyLĹ+qaTR[DC 9兼+PXn ~, HQEk}ǻ}Wr /RL Z*baKhQ̽P/=)A c u;hTˆtb\ /.cy/=B#('  bo(KpqRʍe$vP@A8x@u(v?DRMDrJVN( }?i8|unRH@S!Z^RpP% |TL?!Av㴌9~׳r캺O7l_Ƽy/kL{Z[RA(Ƈx3C~H7+6AF j(!!ʨ'/ثѵc+f-'qSҥ, (]|p"_. }!.G0ˆP v3i6|1,TrLʜt-V{xBjQJI9Rsryrxej<{@f-Zsht7n{xwDxFaޗ!URDfL1=gv9 8 &DWuOEvx!a6͊v_"IIB^D!߽vS})v0385 Bgz%&F:#50qIpJDz;A waupHS"E^)#2!G5Ldd{ StlP~+V_&1""kluYyViBZPl4:=iwWlK523D-c h%**SR# <!=[yU$!U |rMf u);vg!ކCpU֫  `E .ˀB IYd I$(ޗGnSz;쪌I6^^<,Z vp1N+ 0~hSNJ訇|2}3.sa9[ EGNQ n=(x5l$ Љ Hn^ﭥx^=S޸jv5l!YAߟ2#`MS r <,a ﮊ($P%tՍhA"azO^֓$,a1;X^!\(Հ|Sޥש)Ǣ"H}0;#/R"m0n圦>QG'պ#`g{5`DjvuΩY{ 됕6xS@kbZf䔢.- jT̏߶&0=q1DPdDG%Zږ ,'K %$։ F{{Z567 t^Õ;1?^O-X*]VN&y@u+sŦ47 Sp۪4To2 ṗD rZw#^U+`ʾm=ĮP?p㶒{bYNݍ\4qn+O:M("Ոp{T&qNt[!t=SJ;]wHګLP~| \BZyP'%/uk-/O^Y gB +.Ԏ>9}ߛ5ŗ;n58ԣطf9ہ9O%3 H\:nxZ.-Os#[|[ƞ/?T4tzDgDT#bVS᠃|738-)р`kwdnd(RX; ̆GwlJ!}þNpqQ%f @쑖Kq<=D&^6Ʒm̞'V)cݪ#TjLY:G^j܊ZqI̟δXndߜDm6 礬9 tnc}m.0akzH'a;+|E0Ast 'Se'O}&~[̕~Ww+Z$SnHk}­>-&Ⱦ0E mZIS yJ 2iʎ}i.ukc*!gSLbM=encftPʼnmdb#=9Ъa',yYft;zXW z#nx㭄ш7[6]N 3W͉,WeQAOgIwxcxGNa &"\)׭d`L!hz|ʦr$qw.*7“{̖`M5e :ۡBV37z>654JJ nZN^17--(tV0v3C(JWwqs C8ƠƢacS~9}w*v*:g=޳ 9s$~l.1%r(v`U+%?g rg΂ey i~0] U9"s|1#t݋dd 讃!u.-z22iCW_W!4kSD/'a !SWYGS=NNu:ioa0) kV>JjaA aS䂨>){`O߱l S[zl/GNmx/q@Bf>n#T įw4.,쟛Cֳ N/CuֺE)| {X9kos"mDsJ7!+C`P2~\s#T=Vޓ-h{cM[ŷOvZYoN*,(.D9ߍ6[iQ2w>ݳ1NQyƛ $$.o?"\"֌L/^)&)a0 W1[GrKӔEiMK> BfoC>_g)6U"iew∝XeNӛb)4Y.by2vJ* VV~Љ i*?fھC-u0zŸ)it_Q0N3QР`G1jb[*zW:,[?X%lhK*:yXrܰ8B[ D%I\i0L揵TQr #X:p\1ZSRII-+\^*2 Ջ-E֊@vmbeh3_-P7pٜ7-iM0ME{,4PVu_"}GR GÉG$C8=1>x8&ֱ֯w 4;wŨW"AxK62N7 eAr!0qp+d(v<`mͭP p=Ye%l|$vVƇp܉==(Cb`b^%D9\rjWfSJo,r j%ߗ7CKm 􂤹b ;/5GDa D#GF8Ehq&5)[Uèf‰J_9[vITC}t 0."lA`=3̑g~ _+aK9xTI:wΘ P yMa90ތ˷htRRZm?IH+hS@q,BFJU:7B&U!o|Ǵmx;-^F*Y~s*bF7(eW.Oqɘ%>Ie8wq~1D8&dnZ3\ur [Ź_W&s?۸ ܬMp:ĥdt;n6tTP%49D:/G/k>2 ~v%k!zD+t~*DI ,t.1ٚ2#vӗH#'Y{y]lB.r*vg(Vknjld>"^@*wUEŊp@ F+ƒ!_f"o0MHH#䬊3 0?zofT5GT#zrmGV})MW"݊Azs)S1eb9X=†xr)A[8`GT]] 睃3 C̘{AhaHʳ,QɹPlWIF{"»p?gL<4+L~~NcK3Pb6[ecF0tK-M% o@ԏ)]WΟ *mMWWԺ,5۷3'hN iȸWc 訜B Wǀ@KM75lU$;yE_rJcTJ$5A;t,H,EVB$ܥJҊN_W5"tT}>ףg(2X@f jF)ws;07 g4+ޣ 3ag:B_zE6pil"|7B|MZήA̺[>&z6I"iƠ8bODTD%vq7Hu! ^r ruG0şKTOJ@ˮ{dGad=gIkb^Q?1TO`YNTӭwniSZtm4r߄mRI$7`<#_5^&Ba nFRc_^߄ocz@X cڒ޳)ԇ(!bzGMRiۊNe"d|>ҊPgLĶojq\ΐդ sY]Df_1[87oJ4<ë ;sQzR6xz6|N=>M +ICǮۯX`^iOi 8LQ@dF.]@hV͠}e7J¤d&$`Lڏ1e83تYTI ADC^Plލ{ML!\7~C|$gPR%oާFΆX}%_[ސ\A!?'?1iI3a!],).v3E{R5[qYb)s֊߿8y ^)$mx1W v< خ; (SV:+Klwy&{J9XR{;hC2ꌝK=#){ӠiX[^}MK.cyZ*4YVNjWT@~F]:`|cq:b%8ȂDw mU36|*cQH%Ymnn̜5O6#Ljol+ĔZiŬb##}tq׿wDD Eol+S0}I$Q U)Ul$phPC]YC;DA([2c=7}>%e;s+VۄPX4{;2FNM mw`Be#);;̍aq]yN 7` zd>EAv S1HXV+hǰi ,Z'_2<;Gf/7wXYy0UZqHwK^V,\nt9]l( I0uk9 3.Һ;?@or fep#PP:-=qa~v-d?kôU>ScU0)aA^{wpd2BΫk(6AlĴ?},kZZ'wEmR ġa;45`}!bjeڻ,D9q8ցbX̰bH+3W$?Sy)eKF:&"9]QUGX%fd} ,zw~#eȎw[JDIRߩ]L ,%Sr=:dO[>'iŕڟ$CjZ^QiHI_ <鍽!D>2P`.|SɔF3web͌[B*.Lr*!ׄWi pK;yrjP'G5k\ng)s"mKH*HV3+'IhYi:bؿ]軃l qm)D׭vئ]z]gbcw( UvXe)d|=;pfEyQ A=eOyIW.YJcaT;aLKòqAۮH UT*RXs~E I(jV4YK2-^ l4ԌCFt,>CDQ Y.:43;^>2 Իi1uLȵ37CzvMjۙy _ ͨh>3{}G8ivƴ>Aj{{ 2\n>=h .?^ Ee\ع95quMZEّSU5wo4r')$kKF(:;o>uŻ˝hXЦv$?xp? 7Sp {ULŮ`;aS'Ii:ꢸE Yh2H^\oL:A C M0ZXB}`ӆ'۩*\HrD<Isܦ7Od(9T6C۽cDYBY_V F5R)WYLf/<0+&7Ŝ盶)ZEqpj*KmHza@ә01+h?B`HRgk%JKv>~mu,X#uΖ^Z-Ȫjl2N$f]^VˑI 2ŸYeƦ`jPrk`AsCȄ3<lD&:$ޔ^ֶ>@u?ҁ?8{9fJOy^|y9+"aF此Uj%2'Q!Z4{:g]˿5'd-+Tzs˖Yut'% rrKWf=b`coAbIւ +]WhD;8e,dY+="7-TD\A s 0֧<cW]alه?fJ6BUJ   Ah8KlB6%CjwŔa=}FSjjYuaYo婝f/TtC,ﲻqL@y )/^ ~kZ6qT{֏j.$w|AF7@j_f꺩( нz ]|*B:*C@5 xzm6Q;A+xZl ۮz3M%W,t{MUĕEeb8@u(J0B-HtGH=I\ һz# 8C#0[Ӏ%]Q /^޶EgГBJ[ijGĆޡ)OWq;i,.HQK4Ed[@G]CekZi,<5oB ^ьIݽʌ2=sqKhۗqg6|Md?SŢ/Y3ȡ:5t>v8T JMu^7[m3_?hxE $ɵn0xaKM l(pO՛v v`'oۦ"ϵRu&3u+#ᑩ.dx@>n4};loFf^hԮ H #k *GfVaC.z`͓e6oОYn:!3;w 3e6hʬOF9T)S.ǣ9+ݗC/~ OD ٜA:z VNt9w",ڍZx4XӍY}<ɑ~?Q$>Wà[$ZWdصZ+C{>(v[NBwh4KZVS4R]tƄS/cuϥMe`Rz M(gSk/Iq2)}I OQh]TU=s~.a. ʤ!F?$j OacQ$J#xHwе*D قg|E&i#}pޓkdں>Օ~02F;+**gq^sʥD6퓳%k606g;YDnTҵKi) /^g(c~Bpv(?6b/%M| -n Y+yN>Bs௳?hG n\EBVfz(ZMBsp(_|1˴MVK,)/xktD<)i ސU`Gz(q^oqywЋjp㷉?ߴ-ZS2ۙ;@lzb3/(\y\jh.-;C4LY J^HmU W|; n$ n,->ozA]uu$ ff%o&ӃRkI֗NEF'[(:sG`FZ ?lXxTů̸T[v|gޞ*ѼṾbUL<8:xXV0 'o Vr9#p}h]I/A/#nР0"㲴lBdB #C,,!Jj_Zq؀϶Blvd:"Xϊ(q'+e22cbs |![laVz*}щMpfimhu&T% ._t (/)&i* ΔsL@e8My^ߩ_fK*36vT[+,De)]nUzfQM"{jeW4U= 8n `8yJ 쒑}8YjP b &GXwXvr(!8 8"™=ILFw/X`2C̭WCiPNF9qRNۦgS6tv_ ר;;?RXN K!8e=q;)YLQHGH7kV ȇHm$O d$نoSf,>PezIз-$ p@ԕԀytowc( l*:B`o+34WB"+l `A/.l\rUJ&#@!p4"=@N@(8-1m!ߗ<a~F) JMG;WFf)OFY-Cv?J)/r=PƦ LN~%bC .վAHo=s ]'yg[)I?& Ajd:L8_ [Apb\Hs1lxX),d%g#oIHE7ñ(!x;Hz$c9ȻySS!ܻDZ6r9浫ot#~rRs,o@7HƜt,H[q* jV-$ǘP+D[X+Z ʊdGKbt q4O?pqo7;/ff!n\h{j;B79ʣxB!f@ nP;}D'iո"'jE4aݗJkJ8hݽL!nJ,ϖiPngN£djx˞?s(BOѯJ $R7Cy{, cyo O,7i#LaLJ:XH )5> TI/Q =pzG <]gu vV(QY״H]Ʃl>^ SU~8{0#om|'|8cg]O0\K,?@ߚvozk\Aᔽ}^)3QwNָEP{ryD$ P@lO:SQ-FUP\#| [N}q,zK璸{#+G1W$#K$G~=Є+zeK:Ĺ2g1ZMXlyf\r>݄% Ŗm%L]rs1Wk*s_9QCc5v}uޤzLl8ϐp%i@a'{#V %`J;$s@3.luց `n}R(f<ʁs?EwFЃC`c+7ӼlFm}j89*hN"(6,kݕc!vXfk>$YwP=g(u1"+S\nsl)[aXe(9xNUs! q\bƆ>oQdZ[8pGo0p;a|SERqcNX#qڑ·QAqz?E4(a> )g!WEAL0eCKU4CDfU.}[E##M,stSlg(3VLy{1.VCmf*뿙}CP5G٘˿kPxI(ny{(앚/ѹ'[ ^WnڥlDGAZI$@Ei%\O8(j3A!&:~u'%VU뎱#hHj}7hY,w_Mj۞s _uot'f-nf:-k56y36R1 YsrΘȘTB`;X/J9 &\Ȫ*#>ѡҒ7)]g=T'9lx~,dը@BgT z_ئyth$:`Kܲ]|=fjーUՆG|M(3;RQyڦ 5ՓRbv*v,E=n'޸?hMns5wn9NJ=>$9)N d҇KuzF?99\-:PLL.Ƌ>hE$%|DچЙoI bw2k򴂦oe)I~7PH {sj#h86Sڛ*AtZcЁR&ꑠ}l eӀ'd' ޲a#R<ꐬMuJ ;q#PEW*.h/JHq ?NRyVOuޙE[ǻ6q8E[6 .jmM.PKn&Xws#o4grL瀹 lSp`=lD7& g CcLUrX4m慟ӵyZB7Mw{78wͺw19N]SC d&yd$'8+P Wb3-d @Ssژ,'_"'kR|o^ XDmɹ8\ A!~_=k&L lLJ;CN"9W{6/[,S@,A`Č,t67*p7 cSU{:J*?>X`L1"qlƹE%{})ML1j  .Kʙ*3 'rqtfB"ŮaP(54JLZTFC1\ctŢ_%%a0'][gSAoțZXlt !9oJi-c)4~%veMXy|ٽ"J*f//TP7z³/_gFN3'=Qה \=><+55٣~x\+;jd&)d=k. /{NlEC$CJ3Qn+ƕHeOcNU6OvEs|r4pw ѤhYqPErIS^1svs!g;^F%(?g3N`ˀ;m~  n|_J@E/sQr,D}'"K <8`v\1Z|g0U٣c;M|ֿxV*>< Z.<~J)؛=Lmz`(vO{Wg(_81h.Lɢg澆vTw\,f^ّl< sg11@9L&ݕf8(\W&$oGĽQ^d> M6۽$ezoSt5:9G}p`;G:.r CAP;<}BQ:dQIݓ C0L0KR&@쉃pz" c6W4abZLZ1.皯l n$R^G^ODb!f8 2SB&yFijĖ(HS`2@7=ZΨjڿEr&݇/JE翐wҙGW BVE +U$9d |8Q.`wl>Ѱ wWkʜ0G8`BA6LT48b%7 V6k눸(#}5EeIS/wA 5U~f#60~`_QoP'_B&r Jh.W69_B;߱xA??? 8QA9[_'tމçCFR3g>vLSV_N.#(YifNC[;O3rgć#;- `N&Pbso4砿3 MMI;jچRMk0@׹0pp碓2Q:fCiҷ~43E)> Ju!ADyjRFD Qob_bwUmP8Wze6wsY!;}[ye N~ħjàYz K#rs`%d֊*L#04.do*M^SM] $WqpA m J+*~Jè4Cm/l=O ԛVNFBAgWU'v-7"GG*,Od4y u~&ӞZMz:oETSD)3-ղ'z{ z{opcOy(3 1ԡ1}9b YG<#n,S.N#j̠ j״N"𨆠g\L{x^(F\_ 8+po}7&F~uiY))rNt/Hm$!Q=ܭxnMQNƕ:7N6:"p'*9YO/'D#/^֩sEꡲcVdN^YOxқ8^d ږFSicn5u,TuU6 T [-=ò1xEݶ%á \Zn:@bpap8b]7] \<矐?گ>@ϝpn7Z|-erH~"^* O{vڢ=>DP"l ?/#1 "Hk\@KPW-ot:6UQ>CqHjn֏{4eX N.)ŏL/QƦJ_]ir} rVDx[eO CaSy>If#aJcSl"ZjPV;KeS2 n&m0K*je]hpE[T>Q OolDX2b> |ߛ<監~vq3I\#VoK\C[lG/W0:ԑ_XR-|oǘ߉Õ*wy:$[858ov"N33ldzO:ʃD/7|DTlyX LC2w?E9n vE:-5Q0N0f 7K|yA;>lM3*(] ݟFI([OPEtLJg[]v#:{SHl|ϵE0N^F0e 񞠳!;ȅ:yFu- /iַ 7qTcw|ZGHObV8EU4ʉ=z&?C"\5pP\_VA[aN%J .K7y;2C>̫hu2gEmOb4 t#t#.٧u@أ%USCBw2 yE43Ъ@Ng Mܼ(;u.AgMq'c*ymt;: PxkV8jc-Y%E3}N!t?<hEn P6N+oM*RqXҤI}% +,ttIᚮ}`BUԾ{ð!Z3,@r8K W桐~M9òʯmkVxi>3oq$z_̣KəpTP *7_oZJci{_%u6mJAg|cD)0*egi_b,_w9|qdڰ%>ˠ}lKCpT4jTPEyùU姣޲^&LYE-yd1<m89rj@ޒmﱮmql YҎk9 !PNѦbX⟿EH+r̉Ss݅iL]FW%РA\/8K"|+XEsN T({=GkKqjј׎. gg?$]x_m@Cd J9ON"= !h#)/ ݌Gs٫*u|-pqoCph&*s{ N%sLxe}u[ٕ#NԳ1kHieѲ*t,GFwlTƭ whA.=z@ϥJO栿+⫙Cp 2^tД>!J;4:_R|Jw>, ثS10~! wC2 Yl ep߽V5 >[9X&0ˉx79 Ģ /}I J6'tz<C[VtX~QNUY DIҭ_B7R"*gCm߀'EʅJ+=KŇ:6\Qpʁp7 wI71YvK`&peCBQ? 7/89v#N_ČY}Tn]YXU'4U0:\ai nҋBG]Δ+R{1^@N[LAD)a0TY{ :lYa7( 0YUR 2+$u]1_5ѤQP^ߙԶImPho2nn%?v6{ƥbqFZm0 I-s|y "ˁw9v+U|Ka8qN%>^:"Ֆ$ ^  }/[sbI+?O 4gKiH N.H]C0*hAn>);,ēDRV2isN#{ MnQ -r޸Qܹ^CLHk|Lu+b0p tk)ov3Chb(MVyDk;>`-{H(θ,|iR.w_T !o~-&4Ql5XN5fo}$(`Pde RބB57kBEYaǟg64iʻ0!0wQ=EuZ#`~6!`O*Ruh}I^?0,/YC Rt%/4S”1;B6 ڱL 4kոk>9t ZvTy&|tXuf:^`>6V(a'X3 x0jPmX[BR U4DаIa\?*]`ȡ1?hnI# u6WE ͟)~ j9O1kŌQG*/c( i̜XG|I-' uJqۥ땎 3/ /ctK8G|]̹& LhQѶl9_G(δ[G4`&&М=/CPԪ0">|NBn!s,Lhh\HVGkm.y!wXn.4$aZ.e;{G@EXUDNtw- qLؖ}OĹ̗X_X 뿁ޡYg.|kE{O-5C-;cXJ:^+'DAvSqT*g va[#ZӒeJ'%CX?93fp!gqC*|IZưd{y9^9yFX7Y{֍а3m H6+>% NwS$fo8 M\>|:h?qAcz'C) }KxMu#m)Y8@F3Ws={>uLΘzDŽڜVсw?kZs@'R^b I,)r>S>魭==uƔ_Z[1w4Ek; Ej~~܃Y2Č#—#/x$N d_EkS?i#-FM9 s7Pțj'Pux!Xzo,2nqSЀxm]u4^2'1f$Xqiƹ+ %E+}թ(jMrtT Y#` 4n2 "\y8nUH{XUWA9\$lߺ0;Vqu%9&i]Ѿ+)jB!']kdPf$EV17Xs ura+S-A,yyxM,KW*${v>`>R*Y# rthL[SU!™gm46:^ڤ@[ ,;Szz)tJŭM{R&hf38 o"cwxtu?8%[]cSR{eLS 5MF70Ͽq}>_Yo3z *I2HK  [*9HMeXT<ҐµX4%eEO+VA(;IÑ>tS-C;ou`GEgڼp8$M5R>I F{+CȞJ^U!?vQn0  y9u- W 1oRRdgnn/Y^|I2`׳#UA3'=^nEawꑠr,߸aIN֊3=7눡 t+NWI Jw2_ywY? t^e%qΤj>nǸuY0TD O,>!}Bd3]\LH\4  R54VI%>A 0|@78|q9JXkp%*h KD&C0=T4]uPViQRDYlfHDخ@3P+;+QS-.,IpGӋ<{E;0q:HqZ XWYw2%!xEW_(C58Gu7Xugq.YCziU߼&'ш{ FHOݪp3H:XH@O"VսJFdIdZ;U[ݷ׼;pYYd'QB7VWq7)R}0cTuʳP,{WeKX bS{ c80ٜݽ ٥myi2uz>l}y2E4|TePs;P;$.*Od%JH Lq_02I@wWtŠ m,{7)B<^ZpŔ2M*I"dY lߗԆ:> '")wM#FlD !ЃC+hdFKЍONCWn:DTPfCwy8Hy{g5\ !.Z#a  q-~tĮ7@5"=ہXERʆgl2 < bQZuݼ6.)֘ ܬEs`U7JVieoB<22= CO Z>\7tF@;"ʁ|b62wc V9(..Y{i u`49j)4hu۳$RKsfs4K0 g^q&t=k{qgjddm;- Ia̗ I{tm,(|g!S5({4- px&!"X$+"(tisyĜo`~pL~LnLuN`nsW }}Pk^k5v~Ҟ8p?c`nA4B<a9*$iSIA]$O[D)K5B+.Aj_EOk& "nTVE3F:[t_`c91BGH߰81bid_SfK7?N7ʒc~qV.; V jy`Crfʄ0y*v57g؄[ ̖Nn{E?pir5FʸsS. -lh!D@fUwg,`e@rPBL!ӻgťL([{A1DɄud]e/; iFH hb v[N?+FmE"=]?*o8ZZ,P@V˟& ~GTiکetS љ&̓6`c|uAޜ́8Hk;7!KlDPJoQ)~DOd6D+s)fhJ1Y& ܶˆKن9Rpsq[7bY"SC* ȊvzhN t#5EA}#Jt\+u&Xo2'5 :7?8D[`6J>)-_!=%'̈T<倒vKс=HN "dcPG M™18+ɣǫ: HT' g² ~_7m8 ߐKK_zφ=c:%ejEX\k̨n12$+AQ`Sml!"k>fxjbk|9$FYa5˰szIdOelyYo"e0P{G Y҉M ;%Cl ԑ%dPK#=@Blj[Pjz Ԭf6`x-lcf=.FpUVرx8]it+en _@jWBYJP3geDiQ{gUwpdv >zJ@20+;7 /շNAf R͆3zH6 0c[/$#- ~\>Z!m%\_\Kvϒ %ڒpWs ?I*+!H؉M/Ϙ_[F pKZ2P.|wbqjgSGl_Zn tJi}Y.n P*k"l])]g= %#ٍsGCtua(dt K9eE{qAIW G YZ