libbpf1-1.2.2-150600.3.6.2<>,hFp9|f@*W9AxWE:@e@&?|FWՒ(#:).}T>f?=ϛ"*Py@:Ex?*L=Į gK_&2ƃ{y^@3-4z# ?rpzl% +Tlhlw9|8H^b,\\fz-t$ua.Qa^dd( u"W:ί+MiC5n^Н6ͨ<ɧ9UaԷyZo>@E?Ed   K ;ALT X \ d  /([8d9: >AS@AbFAqGAHAIAXAYA\B4]B<^BXbBdcC dCeCfClCuCvCwDHxDPyDX6zE0E@EDEJEClibbpf11.2.2150600.3.6.2C library for managing eBPF programs and mapslibbpf 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/libbpflinuxaarch64 hFhFbb15ed051a4ef56238f48d0cc38f0bf07567bfcccbc477385b463f48a1097149libbpf.so.1.2.2rootrootrootrootlibbpf-1.2.2-150600.3.6.2.src.rpmlibbpf.so.1()(64bit)libbpf.so.1(LIBBPF_0.0.1)(64bit)libbpf.so.1(LIBBPF_0.0.2)(64bit)libbpf.so.1(LIBBPF_0.0.3)(64bit)libbpf.so.1(LIBBPF_0.0.4)(64bit)libbpf.so.1(LIBBPF_0.0.5)(64bit)libbpf.so.1(LIBBPF_0.0.6)(64bit)libbpf.so.1(LIBBPF_0.0.7)(64bit)libbpf.so.1(LIBBPF_0.0.8)(64bit)libbpf.so.1(LIBBPF_0.0.9)(64bit)libbpf.so.1(LIBBPF_0.1.0)(64bit)libbpf.so.1(LIBBPF_0.2.0)(64bit)libbpf.so.1(LIBBPF_0.3.0)(64bit)libbpf.so.1(LIBBPF_0.4.0)(64bit)libbpf.so.1(LIBBPF_0.5.0)(64bit)libbpf.so.1(LIBBPF_0.6.0)(64bit)libbpf.so.1(LIBBPF_0.7.0)(64bit)libbpf.so.1(LIBBPF_0.8.0)(64bit)libbpf.so.1(LIBBPF_1.0.0)(64bit)libbpf.so.1(LIBBPF_1.1.0)(64bit)libbpf.so.1(LIBBPF_1.2.0)(64bit)libbpf1libbpf1(aarch-64)@@@@@@@@@@@@@@    /sbin/ldconfig/sbin/ldconfigld-linux-aarch64.so.1()(64bit)ld-linux-aarch64.so.1(GLIBC_2.17)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.22)(64bit)libc.so.6(GLIBC_2.28)(64bit)libc.so.6(GLIBC_2.38)(64bit)libelf.so.1()(64bit)libelf.so.1(ELFUTILS_1.0)(64bit)libelf.so.1(ELFUTILS_1.3)(64bit)libelf.so.1(ELFUTILS_1.5)(64bit)libelf.so.1(ELFUTILS_1.6)(64bit)libz.so.1()(64bit)libz.so.1(ZLIB_1.2.3.3)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.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 release/sbin/ldconfig/sbin/ldconfigh02-armsrv1 17494589151.2.2-150600.3.6.21.2.2-150600.3.6.2libbpf.so.1libbpf.so.1.2.2/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:Maintenance:39139/SUSE_SLE-15-SP6_Update/63c249027fb7d2f24e9734f071edb4ca-libbpf.SUSE_SLE-15-SP6_Updatedrpmxz5aarch64-suse-linuxELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=ada8fecaf71c37b14ce42608760cf4389e2845cd, stripped6PPPPPPPPPPPPPPPP P P P P P P P P P PPPPPPPPPPPPPPPRRR R R R RRRRR RRRM`gF4ag==֞utf-853ddf19264a76d6f52ad381c1b2bbc8856db7057c3acffc6cc34f781d8181e2a?7zXZ !t/rG]"k%ne8^ Ղ$lWVm7R߳ejqUyh_&l䛲/ p+OSjM޶7NCE7TעH-u1c5(?]ں\'$gq =pqS9񼧵[;V逬"$p{:x(I4+i2ULt 7 0,$v׎C;hGV@dK$"P%+ |N*ċ!/ƅqu$u",4 XRwQgS4"i.#wt7>e6дnc44Z$' ش}^K|9U =z2%zxk#L4Qx"XY%4_GH}gܩ%$"-FF#j{3"}PUe(T `v-k~foj T0mOG_/r@6R}vc҆v L Z*02Jq2q~  700AU fUU _|u[@-֧-M.jĐJ,2i킺ћƲ"4xI a2,X_~iHMFhPiaqv(1,ClN[0_( tEW37,orYRY9Q?̮KQߝ BI$skQDg}&7JpGt剣J: 0Bʃ k#Bx}EHj+(*[Ab;Fqj50[ fUyĬ~]d؊$W˭S|8r9&^R,ߟk1B'7`-S@ΧACP,9H˩Ѫ?m%=n4a˗^2mPn v$ttubpPuDheQC #¿yEld,H ӘN[|Y9!&jmr S A?["nXH[IwM."ϋ45A65mtH^K>y&?Z0$j3Qg8 k_N>h+rvA`g~ؼey !XXWBhRT2 ⳮlw:gDo½3NTiE4"8wC~OF}0Us)o M]M~ljG`TP(ɒ%YDa!7!^.kB]8y\~_?.nauVUIQ bbC_^sN6@zՎ6\S ]G⭢kA1`D5e!䖴>aUkH](-r{EhbRZș/m&b-y>40}aO`i^/ 23 ?-op\'Y|>'nM%,nuhDay]Ǧ6wRz7˕a9L,Z\V°¶L>-BrG70Z)ڵh?jJx0o5>u-);g0iclYnRGdfl4ݧ3Ga( Yw4|$"d5l%(8@tԲ y8od #F_Sgr̞=tj~GfV+5T7ظx72n>ͶL$6Zߢ:[\џw* ל`Ca_e[ 5$;OJ'xH93;aN;mcy|JK uNĨѨ?67L7[?Pb&V2JrHY+h/4#M㠥Ry} ՎxC$vBllD[&H 5+c$c:WJ}-&hjO}onS}d@Fmfc^]?|3%Zu ?Tm~m 4|>ߐDIteÜ03^y#=O2,nW3ۖ1SǕ־2~|D.j8i=<ދYL>AcUI-4EZOnגuln%>Q{?|nd`kbyAQU-ص,#Jν8*{!&nf ;Y/H5&y=ԡ*s:>dFɧ* 䪇Wh&ZNJ >y6F50eFn#+ZN؇Ǟş lxp4Dp'CkWvZ+eG3'G')?J%Kфjuu 6^;ϝYpO9}E=)p?%>2j(Q .unI|9dۃ߃sֹƬC3Ju=wOo ` :b@dv!c0 _߂ӫd9wEqA]5 /iqbUM)e&fu*qY 8o:seR, 놂|k#| #j!_@L>]&^q/k3I_A`cy^ͮbBb?uyYkY$7{B0qO.^VHIB&70L(6!+@x Člx[Tp+lvSs?d7jbI°s%S௅~>4 bP ɹR>śc&+.yKf?ꃀ)Ǵ,&2.GP\݊7;ίjv*R a/fl+$LJW$%QҶccE:I/-88T]y5 u3ZbBϤ;.RAc}]l& *rtk}眂gNȐ+4|>Yۅμ_'qv[}L<늚E}!30P/ږYzLT'VOa^(;9]!C4 [SFSֱٝj_ \%*n7ds2Y:y;E;Yr Çk]k3iWo27 g9Ru& _h/eM7do^G1^%ri?Lg) ><̈́787)Wj,Q!tXOP{جž^Trf:q*`WO~*^fn3$@[CG|M#&K;rn>8fj7i-\;b2TyCC,#ϗɿ񒙘~ʨ$niSՑvJ܉ N+kpU9(#BMB[?xHJajtΎF ~|]G\,`fʗkwʿbU'Zug'݊՝_ޙL.c+?3uy.}l+ Oӽ^"f#aǺw7ȊLy h))tsJl UDcTM@WY'f S*ݗi4)p8D=}wOxi$>Pb ^EuH}=PFf-5a]i:hz[z$ ;}$; OwRvdw6pş n F6]kgo4y tVuёyڡ`JJӲ{_lj[ij[lr]hPgF*}Av[*3 fz XŚ!#0greםSS%YN PמCpp&dV@]s:ErٳVVO/𕗛<5d1 K"Ţgie0VU𽆖C%f\^{_P#<0TU\->% w( ]ݸRCf>`TtCӣX@i|,A)BL9/(E8F eؙ@:|⡄Ɋ%0M7JloȨzy>{]"}7lSFo1swj x`ա`ͣ]e7zQ1.te ҉w%u29ltGKtN.:sb%GkP\&q: kɩ8lV؃~?>$uZƣ1~жy> B %,A bMYMm2,m) Qp }0 w2h#q!æ>m*:F 4 la#Dq-5 ȯ_v!}$)2''3: Z0QX Ҝ.eK:0[m-T`5MQ~]4 4X=rgP8 Z9-[ȘjhC9VY:ҫaj,ܟɎЭ{ s5ZdC"Ęu.fFКe3': /@kzWo]x9CE/m4 31$ƌ2Dog\]z}+,.km#¬s?j.c.5 qO^E%(JDQgMj>8#QڣpI [ߑlmHRp_Ɂ, O>ɀ`> .YZ ru0FuP)Qc{lΡv%h7ٛk,0a{Ʃ/ )0匯2NHٙDd; \jpeYDQ/CT˔ё6d@N<>rXTGe { wC ' F QSpR 8uZuo2wP\ GO ] P+;j=%ْHW'!V>vv̾[b+v𛺡 fcw{:^GJ+aTuX1Hᛏ{ \9.}Dd;%0*UjDc|df; ]Fs#IwF,è+#G?8< ZAH&U4ܟZS4H^/c#!Ea/}< =u8ǩPpGշU d$<#0ZYo؝LUe?&J/a|@yDSYMzD5z+mEF-`I([^/,'oEӝ,<{p,xQoKyJ+ʧ񒐧^Gdž+\OK 5vq ce=[IW'}\L!B9?"3e1WO̷CE4acN~Nwo9{pR 6 ѩYXU[bY۝pR+ǡ}Cƶ~ՓA Q1N Mu^ FakDAO,Zդ3,<+PV""ix>4`bR\ l\<*k"mSsƹE"KX0\̀' \}G1+_r=-_y=bM/#hV`NSy1txn@q?BY 驶ȁLlrAb~>"OHXRNM`q"z"9:*!M*_5H\~% aSK$j&{TЃ<uET(h># ! UzLJ~?G^E\!a|Dy0.pY*#|;?A,w}j1k?儶b+gxj~$A=UA, uOZ6;c >RIR8Dk}|;"Uv!_@g)fE~о@gm7X·e\ϳ&f+Bd RhTїw[[RhرַݪT5)]7\Ii Mi7c#ufaC#%o!TClDZxwURߏDٵ{<íPוВfXAc">+C}+/տa3mAd1:~E]/v"qe&ܦA[M nk$Ԟhsk2+]Iu\@c6*xr>7$/44(^$)8ʆםŭd \{+yegq(;tL57[ɝ6Y 蚋vܽڵgFK̈́RDŒK|m&MR[vn :v_]Yy2`&RAw}SPدDrF򮮶Noa- 'Rh0^\=Vyr \8/ϣE4 @ :[-hRgH輞L />ヒ4|b5pI_q@!?Ra.CU5 >\гE)5ry| d 韜2q/L,R zAf-ohH11)eveݙUpMxnܛ6$N"T`}>5ZhAFss;3|l/f9Ssa %H0^¶6r+֫CtktljmN¦同oc_./r&jstĴY k^2<}5Cި{?(o)TnzHa"} 7Ik]>G`*h}T6c:;T`ϔ$%ߙUuOIuCRc uyx7'vYO|U5!RBł VӉ<.5׮Z7{\;[^vX{0rpf5{43eh&r'^3>Vn]=ҹ_lc?h#wAa㧮`8 6AWS북[dG0fϮQX,eQ˒ zBw'bϏ!꜀o3KoAlJfu9W!Qe:SC.Y6ǁ">cIh4[am1'σ)!kq _~BOOkԂKAk jo#Lw a-\Z7BðFikȒǝ].dGl+,qs@ }M4RpKayT["(t_XlM{/&%߶@^Oz6-2kWDFt֑119\qKq48}>jxdq397Ti/%ŷ6wW;jcͻ) OIWT-,K%('NGcf1F@'ߙS r'̿g9kzu%046rv uߦ_(ge@߻2APr0A H}2׻p0tHc}RuMi"%-R#뙨גj))z7.' ʒr`$q<| RRĞKzMGH@r)|rcvns4 ?J448,KfuUgJMOf*i|BEʞ;wM&^t5]hORD),;[U3qxT׃c *P_^ *)'>7ȱ&ihH)lns(7`@H񬸊(t}V_9|1 V& JrAxntFpP-z\< 0"e`[)(G ܅h/KuAgd c|_rkR %2> G[[o/c/-ثt h@Dqo}v-OGÎp苇P hR1\5Yq?C[syU,p>F>_7~| L5D#, 3|6Qnǘt7%գUYV,_>] B!p r-l핆o!0(M|mAGyq|,wvn M?ND /:ꗖ e ىӠHۆˮt RKCK`f&l@8>wN4ѷ3]@ZEs9{'Nr_m@Jy^&en}xr>sii293|gՀeANdm cEaUBC-_,y3 v."D!3,_:C92Z/MƔVwN:֖lz(1骂J1B,;WpELP0L!? ~0Gawi+0K 'K٣LjIN3V?aX$߷{LgYWV|)nY:۝Eyk7w=<ܵ3 J-nl n]_E-_Jp .˗zmEr5 <b&1+S7%f,{ [{73j]#Wx9=S_֚t!pC{DD(ʈ蓌O<}EW| (SiPw_2Hv0 ᑄhZcwzcol|yiP_=%:n(-(:̀&l󹿠 "S0"8ZLy\m9N/u­w0LB{jZUSѨ1@Hk-U6x@~5=fZgBXB >P6*@[(.CVC!qd`V )'9v{å#~5A kaвXf=eXr Et04UA*|YV#Z/"SԽ [\OSL)݇%o=ߊ*NɁ]A4 2gi4V'J5VϠ}5e8d aZCx/݊ʖyz+4nl \X.M,Z 5` 4WAQB g p^d볙D:(;4ZX9;3r>޸ԅgluƶӮi.Yp49]ɺYZUZ:*a5?#nC%blVһ&($kuj{Fz먽Ș| vHF0Ƿey0lJ>OT'y>s|||#u&A>Bg-yLA;x۵Y>/[99K.{}hf\H@^<ݏc u6p٩?1sœ e&CDI?-\uyWYOa#.LG7|\2Ur:Gnw5zVc0Тmd(]yF'b_D:V]hkK-Ύ);ta{uJA% W툯.e%= ͵65O@l3 lsjwsqFR2jwۇY/}ŋ>lʔ=Mb}4-0P.:w3 gnZtb5\Ǿi0~/_PDY(+1@mĩ?U K:VEm[hd׌)7ںMT ?t~1Ѕ(LF]c`G)GA~صz6!IٲONEi]Eě=9kIu)`nK3aIfȏF*B_Jv)zC .F~}yyWv@6_Xۣ!.G~nM" ySѱ9j>/&lVQF˕=#PG}Z8e;GzY>f4O(G~B2gaKN[X͑b/N%:Qs[@3#-z i\eCrb3 dm9hЛ8\Q?nA`jO%_N@Ol1,ewq={)-{>e(?Fo7z9tPDhIBVD⠯+x4|u;ПutA VCuȄ?F8zGn~ת3E۩z@OǷn݃$.=JHX[F%jdrOsL񄖅9d1]i32i|4%a m*b;zK'"/!["ى5[a 2lm,=W7bsw"LTn֐)6.Ǔ/YZ =ZrB"NѰ)`zܖX&ۢt{LmM"\+:?Jz[(͘*N|0%ILn9!_vCIT@p(RzV3eu^zVf?!>Kz-a>\ :ms)3Xf+_+-E!ȅ X$FډRR@;1PҪhu˅2:Q`iy,]3SDz9{1Ojs'*ӽ=kMRnq\9ЬS /$b5obԅEǧ'kC7FR%Øw޿#;fI9b6KK啊ts2 jvH )}kUD 3r(\ 25_Ҧ$~o=ePMRA;c0(D6YxW{ye2ppL: bޥe.ܾn[dǖ<[hөK *Q3 J5n e9ȣH+&Qdc tVU<7lVv,\0iwOl=.nhrEFXg_P}&4/$T N1hbl,5?S5 o?RlMʛjŊx=mʻʭX{MhQHn(V?,焜4TʆP̠ႵƳB|'}\kN.aw/Bv,XTo̅8ܘȖ6qƣj]SUFP y]/c#:]{R}lJ86Z$ 7 49GJK,ͭ|@nޔpvZ'Ȋ@6or(&s$dSӅa"10Q?c@%٧žO`)[т>K D; eôs{1'u y#Ǽ4}z:~A@MLUY@ JHeaueם'~/^av&6`M^%}GP]DJ}5ߣPʏ;z>B;BPW"-{ɨfRjITyBlJǹբ ;3E`t;ݳ js0ڪޭő7 qϊaB (юmͳTK{{~X柃HDXP|)x\v{Xh.`[p3̠y)9x+NVa˗ ^x3^=]UpN~ħ+awSG.K)k-⣩{XUst q۔dUh20HQholCcB|!HxB $utE-ѶT!ezЏJ{}4}d!k|JQnq~VL#gu`ɉXNB'"(Lasa捰+B+o cm#=VP4~)%/|aE ܭ4qB1wʙzYüdq w{m4R\z\V? zM\EmhWܯ8XKa8yǣ>0T)VfQy㘁**E]֤'刘*1[d"f)o FX+"l UeyE6eH{Dm1# ll6ܱ:4ƮfXy+]iǠ!MRm[\$`CP[Ъf6?) Ytǐc폇p2[0V{~cSA҅0;kȇOHɈ f TjYڮ30lG[v)Fy9W5ph&?ԊMaciY~-[W+_Ff(+>Csp-y2syp3xPO:C}XD_UM mq!8U8ʷ<%ǚs^|V:q:("F,O]iD- l ~?~ؿPW6@n{ `ʱ$`1 4g]Lz96CwA/_gWwb-'ԥ{Ϻ~Z-diOa=F#"{&N$GauhwZGq_>YKiUX|ۂ;VQGu=VχĜ䛰{YӺ{ֈ[)%N|#{Nn8AGϦ]`WC]-D=$iBꚕ/HqtBԷ#L[c,SH;SQ'IOwu yrȒ2{]JB=UMpeY %v7h?7Ba؅v0SKa7`vRwߪ46`\WQ8c6T<.ھ2a *qjkAd4j "w*0S1{7(SkNM{Wtb5s6V0+A@).:cV eŤ%?O⠵$[OCT_)$+л10¤7u'q))=-JühU(pPȼ&v5$d]QOY@[?=R䉷G4nKz v<睇HZq: .[BMH>ߴE@@-[IJk(^}|hObCwI4ZjVsz,Pl+8Gu'qܸX̀a(?)^)ӷg }U2fı۩Nla=,/Rr͒Ar4Դ^XA̸z{^ )Iaa°ҥ[IBi2@]:zB->C8mN+~8vp+VU2ANQ/7Nd.̹2 [vO\E+{-+17"n dpQOXiV5 r7+7`3mZ%, :6 k 7\(ݾY`6AMWQZE0Q旬qn 3$y_yDi2bdF)r鏒ӂ3,`I,O8cyd55㘨kRCt6޶ԧ|zquKo*B?ݫv!"Eҟ-!h=/ ّj3MKx+wԑi"դEBSjTO?MkK:##9BeƐ,'ݜBZgfY~,!M4.ʕxqx\HHs< T\S#oA۸z-!Y5K #9<7=LJO FNZ|CT`cҲyTOrsϋ?lrbD3aMVehhRǖ,9[a׃RA)9x|Mְh#2%Gkd~HWF/JZQ䛾~N^q5%WZZb!ɸrzW["Xf0S#}ZK8Mv'9?5 U=w-7!Ƈ>&AcR%LSy+Ѯ*ދ[(DZ<9Hh#@<0cv}{8?dESN ^퀶 YZ