dpdk-19.11.4-150300.16.1<>,Dc$)p9| 8j{=:`Ev!:~rZ' m ZY?8^B5}.?ceK`{IHZG铓_~+k&C_S_5Ra`cQ1= fZ 4=ӭkX?ELSmu1vIBSj>JbH#? Bs5~~MDja\s015z붚d"Ik L'L5}dr>??d  S> Teu{     (@^|HHH8<E(F8PF9hF:FG8HPIhXpY|\]^bcd8e=f@lBuTvlwdx|yxtx~Cdpdk19.11.4150300.16.1Set of libraries and drivers for fast packet processingThe Data Plane Development Kit is a set of libraries and drivers for fast packet processing in the user space.c$)sheep74SUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxx86_64[h HpZPc$(c$(c$(c$(c$(c$(f13368ab054c857946d8a90eb2ee63fe50ade2fd239a45022a11b74d97a8ceca8337273d5fc79246554e5a4d64f1668eff12638324aa8afdc571c3adff19d143347b3dcb941fc963a8c92807dfda293a83ab532f4c8b5adb7041547f381d58b36107c6c24f39a2e24ee023397cda46a28069ab3561453ee347a96df8ae22c5e8e4f2e46943c2c2570ebaeb7553733f3ffe9f5e168d2469e966b943ec6e067ab5dpdk-procinforootrootrootrootrootrootrootrootrootrootrootrootdpdk-19.11.4-150300.16.1.src.rpmdpdkdpdk(x86-64)dpdk-any@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    ld-linux-x86-64.so.2()(64bit)ld-linux-x86-64.so.2(GLIBC_2.3)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.7)(64bit)libm.so.6()(64bit)libm.so.6(GLIBC_2.2.5)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)librte_bbdev.so.0.200()(64bit)librte_bbdev.so.0.200(EXPERIMENTAL)(64bit)librte_bitratestats.so.20.0()(64bit)librte_bitratestats.so.20.0(DPDK_20.0)(64bit)librte_bpf.so.0.200()(64bit)librte_bpf.so.0.200(EXPERIMENTAL)(64bit)librte_bus_vdev.so.20.0()(64bit)librte_bus_vdev.so.20.0(DPDK_20.0)(64bit)librte_cmdline.so.20.0()(64bit)librte_cmdline.so.20.0(DPDK_20.0)(64bit)librte_cryptodev.so.20.0()(64bit)librte_cryptodev.so.20.0(DPDK_20.0)(64bit)librte_eal.so.20.0()(64bit)librte_eal.so.20.0(DPDK_20.0)(64bit)librte_eal.so.20.0(EXPERIMENTAL)(64bit)librte_ethdev.so.20.0()(64bit)librte_ethdev.so.20.0(DPDK_20.0)(64bit)librte_ethdev.so.20.0(EXPERIMENTAL)(64bit)librte_gro.so.20.0()(64bit)librte_gro.so.20.0(DPDK_20.0)(64bit)librte_gso.so.20.0()(64bit)librte_gso.so.20.0(DPDK_20.0)(64bit)librte_ipsec.so.0.200()(64bit)librte_ipsec.so.0.200(EXPERIMENTAL)(64bit)librte_kvargs.so.20.0()(64bit)librte_kvargs.so.20.0(DPDK_20.0)(64bit)librte_latencystats.so.20.0()(64bit)librte_latencystats.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0()(64bit)librte_mbuf.so.20.0(DPDK_20.0)(64bit)librte_mbuf.so.20.0(EXPERIMENTAL)(64bit)librte_mempool.so.20.0()(64bit)librte_mempool.so.20.0(DPDK_20.0)(64bit)librte_metrics.so.20.0()(64bit)librte_metrics.so.20.0(DPDK_20.0)(64bit)librte_net.so.20.0()(64bit)librte_net.so.20.0(DPDK_20.0)(64bit)librte_net.so.20.0(EXPERIMENTAL)(64bit)librte_pdump.so.20.0()(64bit)librte_pdump.so.20.0(DPDK_20.0)(64bit)librte_pmd_bbdev_fpga_lte_fec.so.20.0()(64bit)librte_pmd_bbdev_fpga_lte_fec.so.20.0(EXPERIMENTAL)(64bit)librte_pmd_bnxt.so.20.0()(64bit)librte_pmd_bnxt.so.20.0(DPDK_20.0)(64bit)librte_pmd_bond.so.20.0()(64bit)librte_pmd_bond.so.20.0(DPDK_20.0)(64bit)librte_pmd_i40e.so.20.0()(64bit)librte_pmd_i40e.so.20.0(DPDK_20.0)(64bit)librte_pmd_ixgbe.so.20.0()(64bit)librte_pmd_ixgbe.so.20.0(DPDK_20.0)(64bit)librte_pmd_softnic.so.20.0()(64bit)librte_pmd_softnic.so.20.0(DPDK_20.0)(64bit)librte_ring.so.20.0()(64bit)librte_ring.so.20.0(DPDK_20.0)(64bit)librte_security.so.20.0()(64bit)librte_security.so.20.0(DPDK_20.0)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1dpdk-any4.14.3c@bk@bj_s!_i@_2@^@^l@^\@]@]@]\@\Y@\o@\I[Ѱ@[[['ZZ@ZZZH@Z\ZTZ@X6@W= SLES15 It needs rdma-core >= v16.- Removed 0002-kni-fix-build-on-SLE12-SP3.patch since no longer referenced in .spec files - Added 0002-dpdk-eal-ppc-rte_smp_mb.patch to fix an issue on ppc64le platforms with v18.02 - Updated to version 18.02; some of the changes include: * Added function to allow releasing internal EAL resources on exit * Added igb, ixgbe and i40e ethernet driver to support RSS with flow API * Updated i40e driver to support PPPoE/PPPoL2TP * Added MAC loopback support for i40e * Added support of run time determination of number of queues per i40e VF * Updated mlx5 driver * Updated mlx4 driver * Added NVGRE and UDP tunnels support in Solarflare network PMD * Added AVF (Adaptive Virtual Function) net PMD * Added feature supports for live migration from vhost-net to vhost-user * Updated the AESNI-MB PMD * Updated the DPAA_SEC crypto driver to support rte_security * Added Wireless Base Band Device (bbdev) abstraction * Added New eventdev Ordered Packet Distribution Library (OPDL) PMD * Added new pipeline use case for dpdk-test-eventdev application * Updated Eventdev sample application to support event devices based on capability * Added Rawdev, a generic device support library * Added new multi-process communication channel * Added GRO support for VxLAN-tunneled packets * Increased default Rx and Tx ring size in sample applications * Added new DPDK build system using the tools “meson” and “ninja” [EXPERIMENTAL]- The vm_power example does not work for ppc64le since it uses the IXGBE PMD driver which is not available for that platform(bsc#1082154): * Disable CONFIG_RTE_LIBRTE_POWER for the sample application; * Disable CONFIG_RTE_LIBRTE_IXGBE_PMD for the actual PMD driver;- Upgraded to latest stable release 17.11.1 (LTS): some of the fixes include: * location changes of the GPL and LGPL licenses; * net/mlx4: - fix drop flow resources leak * net/bnxt: - double increment of idx during Tx ring alloc - group info usage - check for ether type - size of Tx ring in HW - number of pools for RSS - return code in MAC address set - link speed setting with autoneg off * net/nfp: - MTU settings - jumbo settings - CRC strip check behaviour * net/sfc: - multicast address list copy memory leak - DMA memory leak after kvarg processing failure - fix label name to be consistent * net/i40e: - VLAN offload setting issue - FDIR input set conflict - FDIR rule confiliction issue - setting MAC address of VF - flow director Rx resource defect - warn when writing global registers - multiple driver support - interrupt conflict with multi-driver - Rx interrupt - check multi-driver option parsing - flow director filter * net/qede: - enable LRO over tunnels - reject config with no Rx queue - check tunnel L3 header - tunnel header size in Tx BD configuration - VF LRO tunnel configuration * net/mlx5: - Tx checksum offloads - un-supported RSS hash fields use - device operation type - pedantic compilation - fix pedantic compilation - flow item validation - flow RSS configuration - UAR remapping on non configured queues - secondary process verification - port stop by verify flows are still present - flow priority on queue action- Enable(disabled by default) MLX4 and MLX5 pmd(fate#322609)- Upgraded to latest major 17.11(fate#322609); some of the fixes include: * Extended port_id range from uint8_t to uint16_t * Added a new driver for Marvell Armada 7k/8k devices * Updated mlx4 driver * Updated mlx5 driver * Added SoftNIC PMD * Added support for NXP DPAA Devices * Updated support for Cavium OCTEONTX Device * Added PF support to the Netronome NFP PMD * Updated bnxt PMD * Added bus agnostic functions to cryptodev for PMD initialization * Updated QAT crypto PMD * Updated the AESNI MB PMD * Updated the OpenSSL PMD * Added NXP DPAA SEC crypto PMD * Add new benchmarking mode to dpdk-test-crypto-perf application * Added IOMMU support to libvhost-user * Added the Generic Segmentation Offload Library * Added the Flow Classification Library - Removed 0002-kni-fix-build-on-SLE12-SP3.patch since patch merged upstream and available in 17.11- Added missing supported broadcom chipset family Broadcom NetXtreme II BCM57810- Upgraded to latest stable 17.08.1; some of the fixes include: * net/qede: disable per-VF Tx switching feature * revert "net/virtio: flush Rx queues on start" * various fixes for mlx5 PMD drivers * various fixes for bnxt PMD drivers * various fixes for i40e PMD drivers * various fixes for crypto PMD drivers * testpmd: fix for non-consecutive ports * ethdev: fix ABI version- Add missing libelf-devel dependency- Updated to 17.08(bsc#1050250, bsc#1046598, fate#322913, fate#322608) Some of the new features are listed below: * Increase minimum x86 ISA version to SSE4.2 * Added Fail-Safe PMD * Added support for generic flow API (rte_flow) on igb NICs * Added support for generic flow API (rte_flow) on enic * Added support for Chelsio T6 family of adapters * Added latency and performance improvements for cxgbe * Updated mlx5 driver * Added NXP DPAA2 Eventdev PMD * Added dpdk-test-eventdev test application * from 17.05: * Added mbuf raw free API * Added free Tx mbuf on demand API * Added VFIO hotplug support * Added PowerPC support for i40e and its vector PMD * Added VF max bandwidth setting in i40e * Added LiquidIO network PMD * Added support for NXP DPAA2 Network PMD * Added support for NXP DPAA2 - FSLMC bus * Added support for the Wind River Systems AVP PMD * Added vmxnet3 version 3 support * Added MTU feature support to Virtio and Vhost * Added event driven programming model library (rte_eventdev) * Added Software Eventdev PMD * Added Cavium OCTEONTX Eventdev PMD * Added NXP DPAA2 SEC crypto PMD * from 17.02: * Added generic EAL API for I/O device memory read/write operations * Added VF Daemon (VFD) for i40e. - EXPERIMENTAL * Added generic flow API (rte_flow) * Added APIs for MACsec offload support to the ixgbe PMD * Added Solarflare libefx-based network PMD. * Added support for Mellanox ConnectX-5 adapters (mlx5) * Added ARMv8 crypto PMD * Added crypto performance test application * more details can be found in http://dpdk.org/doc/guides/rel_notes/release_17_08.html http://dpdk.org/doc/guides/rel_notes/release_17_05.html http://dpdk.org/doc/guides/rel_notes/release_17_02.html [-0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch - 0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch - 0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch - 0005-kni-fix-build-with-gcc-7.1.patch - 0006-kni-fix-ethtool-build-with-kernel-4.11.patch - 0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch] - Use updated patch to enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+ 0002-kni-fix-build-on-SLE12-SP3.patch]- Enabled CONFIG_RTE_MAJOR_ABI: libs SONAME equal the DPDK release version- Split libs into a subpackage to provide multiple installable versions on same sytem- Do not use obsolete pci_enable_msix for() kernel > 4.8 [+0006-kni-fix-ethtool-build-with-kernel-4.11.patch, +0007-igb_uio-switch-to-new-irq-function-for-MSI-X.patch]- Updated to 16.11.2 which provide bug fixes as below(fate#321541): * mbuf: fix missing includes in exported header * eal: fix debug macro redefinition * net/nfp: fix packet/data length conversion * net/i40e: fix setup when bulk is disabled * pci: fix device registration on FreeBSD * net/i40e: ensure vector mode is not used with QinQ * nic_uio: fix device binding at boot * net/bnx2x: fix transmit queue free threshold * net/vmxnet3: fix queue size changes * kni: fix build with kernel 4.11 * kni: fix possible memory leak * kni: fix crash caused by freeing mempool * net/i40e: fix allocation check * net/virtio: fix crash when closing twice * net/ixgbevf: set xstats id values * net/i40e: fix hash input set on X722 * eal/linux: fix build with glibc 2.25 * net/i40e: fix incorrect packet index reference * net/thunderx: fix 32-bit build * net/thunderx: fix build on FreeBSD * net/thunderx: fix deadlock in Rx path * net/ixgbe: fix setting MTU on stopped device * vfio: fix secondary process start * net/virtio-user: fix address on 32-bit system * net/virtio: fix MSI-X for modern devices * net/virtio: fix link status always down * net/ixgbe: fix multi-queue mode check in SRIOV mode * net/i40e/base: fix potential out of bound array access * vhost: fix false sharing * net/thunderx: fix stats access out of bounds * net/virtio: disable LSC interrupt if MSIX not enabled * net/i40e: fix mbuf alloc failed counter * net: fix stripped VLAN flag for offload emulation * vfio: fix disabling INTx * net/igb: fix VF MAC address setting * net/igb: fix VF MAC address setting * net/ixgbe: fix VF Rx mode for allmulticast disabled * net/bonding: fix updating slave link status * net/virtio-user: fix overflow * net/i40e: fix TC bitmap of VEB * net/ixgbe/base: fix build error * net/ixgbe: fix Rx queue blocking issue * net/ixgbe: fix all queues drop setting of DCB * net/ixgbe: fix TC bandwidth setting more details can be found in http://dpdk.org/ml/archives/stable/2017-May/001809.html [- 0005-kni-fix-build-with-kernel-4.11.patch] - use default gcc which is now gcc7 (bsc#1042372) [+0005-kni-fix-build-with-gcc-7.1.patch]- Add upstream patch to fix building against linux kernel 4.11 [+0005-kni-fix-build-with-kernel-4.11.patch]- sync mailbox definitions with Linux PF driver(bsc#1035993) [+0004-net-thunderx-sync-mailbox-definitions-with-Linux-PF-.patch]- Enable HAVE_TRANS_START_HELPER for SLE12SP3(bsc#1031705). [+0003-kni-define-HAVE_TRANS_START_HELPER-for-SLES12SP3.patch]- Fix dpdk KMP build fails(bsc#1031750) - enable igb_uio kernel module(fate#322394) - update kernel version for SLES12SP3 4.4.59 for bsc#1031705 [*0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Enable HAVE_VF_VLAN_PROTO for SLE12SP3(bsc#1031705). [+0002-kni-define-HAVE_VF_VLAN_PROTO-for-SLES12SP3.patch]- Disable dpdk-kmp package for ix86.- Upgrade to LTS release of 16.11 which contains fixes below(fate#321541): * app/test: fix symmetric session free in crypto perf tests * app/testpmd: fix check for invalid ports * app/testpmd: fix static build link ordering * crypto/aesni_gcm: fix IV size in capabilities * crypto/aesni_gcm: fix J0 padding bytes * crypto/aesni_mb: fix incorrect crypto session * crypto/openssl: fix extra bytes written at end of data * crypto/openssl: fix indentation in guide * crypto/qat: fix IV size in capabilities * crypto/qat: fix to avoid buffer overwrite in OOP case * cryptodev: fix crash on null dereference * cryptodev: fix loop in device query * devargs: reset driver name pointer on parsing failure * drivers/crypto: fix different auth/cipher keys * ethdev: check maximum number of queues for statistics * ethdev: fix extended statistics name index * ethdev: fix port data mismatched in multiple process model * ethdev: fix port lookup if none * ethdev: remove invalid function from version map * examples/ethtool: fix driver information * examples/ethtool: fix querying non-PCI devices * examples/ip_pipeline: fix coremask limitation * examples/ip_pipeline: fix parsing of pass-through pipeline * examples/l2fwd-crypto: fix overflow * examples/vhost: fix calculation of mbuf count * examples/vhost: fix lcore initialization * mempool: fix API documentation * mempool: fix stack handler dequeue * net/af_packet: fix fd use after free * net/bnx2x: fix Rx mode configuration * net/cxgbe/base: initialize variable before reading EEPROM * net/cxgbe: fix parenthesis on bitwise operation * net/ena: fix setting host attributes * net/enic: fix hardcoding of some flow director masks * net/enic: fix memory leak with oversized Tx packets * net/enic: remove unnecessary function parameter attributes * net/i40e: enable auto link update for 25G * net/i40e: fix Rx checksum flag * net/i40e: fix TC bandwidth definition * net/i40e: fix VF reset flow * net/i40e: fix checksum flag in x86 vector Rx * net/i40e: fix crash in close * net/i40e: fix deletion of all macvlan filters * net/i40e: fix ethertype filter on X722 * net/i40e: fix link update delay * net/i40e: fix logging for Tx free threshold check * net/i40e: fix segment number in reassemble process * net/i40e: fix wrong return value when handling PF message * net/i40e: fix xstats value mapping * net/i40evf: fix casting between structs * net/i40evf: fix reporting of imissed packets * net/ixgbe: fix blocked interrupts * net/ixgbe: fix received packets number for ARM * net/ixgbe: fix received packets number for ARM NEON * net/ixgbevf: fix max packet length * net/mlx5: fix RSS hash result for flows * net/mlx5: fix Rx packet validation and type * net/mlx5: fix Tx doorbell * net/mlx5: fix endianness in Tx completion queue * net/mlx5: fix inconsistent link status * net/mlx5: fix leak when starvation occurs * net/mlx5: fix link status query * net/mlx5: fix memory leak when parsing device params * net/mlx5: fix missing inline attributes * net/mlx5: fix updating total length of multi-packet send * net/mlx: fix IPv4 and IPv6 packet type * net/nfp: fix VLAN offload flags check * net/nfp: fix typo in Tx offload capabilities * net/pcap: fix timestamps in output pcap file * net/qede/base: fix FreeBSD build * net/qede: add vendor/device id info * net/qede: fix PF fastpath status block index * net/qede: fix filtering code * net/qede: fix function declaration * net/qede: fix per queue statisitics * net/qede: fix resource leak * net/vhost: fix socket file deleted on stop * net/vhost: fix unix socket not removed as closing * net/virtio-user: fix not properly reset device * net/virtio-user: fix wrongly get/set features * net/virtio: fix build without virtio-user * net/virtio: fix crash when number of virtio devices > 1 * net/virtio: fix multiple process support * net/virtio: fix performance regression due to TSO * net/virtio: fix rewriting LSC flag * net/virtio: fix wrong Rx/Tx method for secondary process * net/virtio: optimize header reset on any layout * net/virtio: store IO port info locally * net/virtio: store PCI operators pointer locally * net/vmxnet3: fix Rx deadlock * pci: fix check of mknod * pmdinfogen: fix endianness with cross-compilation * pmdinfogen: fix null dereference * sched: fix crash when freeing port * usertools: fix active interface detection when binding * vdev: fix detaching with alias * vfio: fix file descriptor leak in multi-process * vhost: allow many vhost-user ports * vhost: do not GSO when no header is present * vhost: fix dead loop in enqueue path * vhost: fix guest/host physical address mapping * vhost: fix long stall of negotiation * vhost: fix memory leak- Fix broken dpdk-pmd/* soft links(bsc#1026804).- Do not disable cryptodev as EXPREMENTAL tag has been removed. - Remove CONFIG_RTE_LIBRTE_MBUF_OFFLOAD as cryptodev is not depending on it anymore and its removed from the upstream.- Enable rte_kni kernel module for dpdk(fate#322394). [+preamble] - Build dpdk-thunderx only for aarch64- Update to version 16.11(fate#321541). Some of the new features are listed below: * Added software parser for packet type. * Improved offloads support in mbuf. * Added vhost-user dequeue zero copy support. * Added vhost-user indirect descriptors support. * Added vhost PMD xstats. * Added virtio NEON support for ARM. * Updated the ixgbe base driver. * Added APIs for VF management to the ixgbe PMD. * Updated the enic driver. * Added openssl PMD. * Added support for new gcc -march option. Detailed changes can be obtained from http://dpdk.org/doc/guides/rel_notes/release_16_11.html - Resolved fixes in the updated versions are : * enic: Fixed several flow director issues. * enic: Fixed inadvertent setting of L4 checksum ptype on ICMP packets. * enic: Fixed high driver overhead when servicing Rx queues beyond the first.- Added gcc-6 as default compiler for CRC/mtune & other optimizations. - Fix possible parallel installation of dpdk subpackages.- Add pre_checkin.sh to generate the dpdk-thunderx.spec file- Fixed paths using %{name} to have the dpdk.spec aligned with dpdk-thunderx.spec- Added back in all the architectures to keep .spec files aligned * Driving thunderx platform architectural dependency via the ExclusiveArch tag- Added support to build code for Thunderx platform(fate#321960). - Introduced new dpdk-thunderx.spec file: * Removed architectures not supporting Thunderx platform (e.g. x86) * Added dependency on gcc v5.0 for armv8a-crc- Update to version 16.07.2. Some of the fixes are listed below: * ethdev: prevent duplicate event callback * hash: fix bucket size usage * hash: fix unlimited cuckoo path * lpm: fix freeing memory * lpm: fix freeing unused sub-table on rule delete * mempool: fix leak if populate fails * mempool: fix search of maximum contiguous pages * pci: fix probing error if no driver found * net/bnx2x: fix maximum PF queues * net/bnxt: fix bit shift size * net/bnxt: fix crash when closing * net/enic: fix Rx queue index when not using Rx scatter * net/enic: fix crash on MTU update or Rx queue reconfigure * net/enic: fix crash with removed flow director filters * net/enic: fix max packet length check * net/enic: fix multi-queue Rx performance * net/enic: revert truncated packets counter fix * net/fm10k: fix VF Tx queue initialization * net/i40e: fix Rx hang when disable LLDP * net/ixgbe: fix VF registers * net/thunderx: fix Tx checksum handling * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#id2]- Update to version 16.07.1. Some of the fixes are listed below: * contigmem: zero all pages during mmap * crypto/null: fix key size increment value * hash: fix false zero signature key hit lookup * mem: fix crash on hugepage mapping error * mbuf: fix error handling on pool creation * net/e1000: fix returned number of available Rx descriptors * net/enic: fix freeing memory for descriptor ring * net/i40e: fix dropping packets with ethertype 0x88A8 * net/i40e: fix mbuf leak during Rx queue release * net/i40e: fix null pointer dereferences when using VMDq+RSS * net/ixgbe/base: fix possible corruption of shadow RAM * net/ixgbe: fix VF reset to apply to correct VF * net/virtio_user: fix error management during init * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides-16.07/rel_notes/release_16_07.html#fixes-in-16-07-01-stable-release]- Drop code for generating our own linker script. * Commit 948fd64befc3 (" mk: replace the combined library with a linker script") added upstream support for building and installing a linker script so we drop our code from the spec file which generated a much larger and possibly broken linker script resulting to linking issues (boo#1002534)- Update to version 16.07. Some of the new features are listed below: * Removed the mempool cache memory if caching is not being used. * Added mempool external cache for non-EAL thread. * Changed the memory allocation scheme in the mempool library. * Added a new driver for Broadcom NetXtreme-C devices. * Added a new driver for ThunderX nicvf devices. * Added mailbox interrupt support for ixgbe and igb VFs. * Updated the ixgbe base driver. * Updated the i40e base driver. * Updated the enic driver. * Updated the mlx5 driver. * Added support for virtio on IBM POWER8. * Added support for Virtio in containers. * Added vhost-user client mode. * Added NSH packet recognition in i40e. * Added AES-CTR support to AESNI MB PMD. * Added AES counter mode support for Intel QuickAssist devices. * Added KASUMI SW PMD. * Added multi-writer support for RTE Hash with Intel TSX. * Improved IP Pipeline Application. * Added keepalive enhancements. * Added packet capture framework. * Added floating VEB support for i40e PF driver. * Added support for live migration of a VM with SRIOV VF. * [The list of changes is rather long so please consult the following resources for the complete list of new features, bugfixes and other changes in this release: - http://dpdk.org/doc/guides/rel_notes/release_16_07.html - http://dpdk.org/browse/dpdk/tree/doc/guides/rel_notes/release_16_07.rst - Or the doc/guides/rel_notes/release_16_07.rst file in the released tarball.] - Removed patches that are already avilable in dpdk-16.07 [ -0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch - 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch - 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch - 0005-d293dac-vhost-claim-support-of-guest-announce.patch - 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch - 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch - 0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch - 0009-bonding-copy-entire-config-structure-in-mode-4.patch - 0010-bonding-fix-active-slaves-with-no-primary.patch - 0011-bonding-do-not-ignore-multicast-in-mode-4.patch - 0012-bonding-do-not-activate-slave-twice.patch - 0013-bonding-fix-crash-when-no-slave-device.patch - 0014-bonding-fix-detach-of-bonded-device.patch - 0015-bonding-fix-detach-of-slave-devices.patch - 0016-eal-linux-support-built-in-kernel-modules.patch - 0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch - 0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch - 0019-i40e-base-fix-driver-load-failure.patch - 0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch - 0021-i40e-fix-inverted-check-for-no-refcount.patch - 0022-i40e-fix-overflow.patch - 0023-i40e-fix-VLAN-filtering.patch - 0024-mempool-fix-leak-when-creation-fails.patch - 0025-pcap-fix-captured-frame-length.patch - 0026-port-fix-crash-for-ethdev-writer-nodrop.patch - 0027-port-fix-crash-for-ring-writer-nodrop.patch - 0028-tools-fix-unbinding-failure-handling.patch - 0029-tools-support-Python-3-in-bind-script.patch - 0030-tools-support-binding-to-built-in-kernel-modules.patch - 0031-vhost-fix-leak-of-fds-and-mmaps.patch - 0032-virtio-fix-crash-in-statistics-functions.patch - 0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch - 0034-virtio-fix-restart.patch - 0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch - 0036-examples-fix-build-dependencies.patch - 0037-examples-ethtool-fix-build.patch - 0099-mk-fix-gcc-5-version-on-suse.patch - 0100-kni-fix-build-with-gcc-6.patch - 0101-ixgbe-fix-uninitialized-warning.patch - 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch - 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch - 0104-igb-fix-constant-sign-in-left-shift-operator.patch - 0105-e1000-fix-missing-link-interrupt-check-brackets.patch - 0106-app-test-fix-missing-brackets.patch - 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch ] - Created soft link for dpdk_proc_info and dpdk_nic_bind(from dpdk-procinfo, dpdk-devbind) to keep compatibility. - Added a new binary dpdk-pdump dpdk-procinfo- Add _constraints file to force build dpdk with sse3 enabled x86 machine(bsc#993462). - Enable compilation for ppc64le with the help of Rüdiger(ro@suse.de). - Enable example package for aarch64 using Rüdiger(ro@suse.de) changes. - Do not enable PMD_RING on ppc64le (missing rte_eth_from_rings). - Disable examples that need LPM which is disabled on non-x86. [+0036-examples-fix-build-dependencies.patch, +0037-examples-ethtool-fix-build.patch, +_constraints]- Added support for aarch64 compilation. [+0035-PAGE_SIZE-constant-is-not-defined-on-ARM-since-multi.patch] - Disabled aarch64 dpdk-examples package for the time being as it contains lots of Intel specific code. - Added proper "Group" field for the subpackages .- Add upstream patches to fix building with gcc >= 6 * 0100-kni-fix-build-with-gcc-6.patch * 0101-ixgbe-fix-uninitialized-warning.patch * 0102-ixgbe-fix-constant-sign-in-left-shift-operator.patch * 0103-e1000-base-Add-missing-braces-to-the-if-statements.patch * 0104-igb-fix-constant-sign-in-left-shift-operator.patch * 0105-e1000-fix-missing-link-interrupt-check-brackets.patch * 0106-app-test-fix-missing-brackets.patch * 0107-examples-ip_pipeline-use-unsigned-constants-for-left.patch- Removed unwanted files(bsc#984437).- Added missing GPL-2.0 and LGPL-2.1 licenses.- Update tarball URL.- Applied all the fixes recommended by upstream for v2.2 stable release(bsc#981996). [+0008-app-testpmd-handle-SIGINT-and-SIGTERM.patch, +0009-bonding-copy-entire-config-structure-in-mode-4.patch, +0010-bonding-fix-active-slaves-with-no-primary.patch, +0011-bonding-do-not-ignore-multicast-in-mode-4.patch, +0012-bonding-do-not-activate-slave-twice.patch, +0013-bonding-fix-crash-when-no-slave-device.patch, +0014-bonding-fix-detach-of-bonded-device.patch, +0015-bonding-fix-detach-of-slave-devices.patch, +0016-eal-linux-support-built-in-kernel-modules.patch, +0017-examples-l3fwd-handle-SIGINT-and-SIGTERM.patch, +0018-fm10k-fix-VLAN-flag-in-scattered-Rx.patch, +0019-i40e-base-fix-driver-load-failure.patch, +0020-i40e-base-fix-missing-check-for-stopped-admin-queue.patch, +0021-i40e-fix-inverted-check-for-no-refcount.patch, +0022-i40e-fix-overflow.patch, +0023-i40e-fix-VLAN-filtering.patch, +0024-mempool-fix-leak-when-creation-fails.patch, +0025-pcap-fix-captured-frame-length.patch, +0026-port-fix-crash-for-ethdev-writer-nodrop.patch, +0027-port-fix-crash-for-ring-writer-nodrop.patch, +0028-tools-fix-unbinding-failure-handling.patch, +0029-tools-support-Python-3-in-bind-script.patch, +0030-tools-support-binding-to-built-in-kernel-modules.patch, +0031-vhost-fix-leak-of-fds-and-mmaps.patch, +0032-virtio-fix-crash-in-statistics-functions.patch, +0033-virtio-fix-descriptors-pointing-to-the-same-buffer.patch, +0034-virtio-fix-restart.patch]- Use fdupes to manage duplicate files- Create DPDK packages for 32 bit x86(bsc#977639).- Add upstream patch for the ixgbe driver * 0007-ixgbe-fix-VLAN-filter-missing-brackets.patch: Fix VLAN filtering logic by adding the missing brackets in the 'if' statement.- DPDK is most common vhost-user backend, Adding upstream patches to help qemu vm live migration with vhost-user (fate#320713). [+ 0004-54f9e32-vhost-handle-dirty-pages-logging-request.patch + 0005-d293dac-vhost-claim-support-of-guest-announce.patch + 0006-d639996-vhost-enable-log_shmfd-protocol-feature.patch]- Move the combined library back to the devel package (bsc#975123) Ever since we dropped the CONFIG_RTE_BUILD_COMBINE_LIBS=y option, the libdpdk.so is no longer a shared object but rather a linker script generated by the spec file. This means that it is only used during linking and the linker will add the individual DPDK libraries to the DT_NEEDED tag on the dependent binaries.- Fix shared linking against libdpdk.so (bsc#975123) * Restore the 0003-mk-fix-external-shared-library-dependencies-of-libraries.patch patch which sets the correct dependencies for the shared libraries. * Drop CONFIG_RTE_BUILD_COMBINE_LIBS since a custom linker script is used to create and install a more lightweight version of libdpdk.so. * Include the combined libdpdk.so library to the regular package since it is also necessary during runtime.- Removed unwnated patch and reformated patch file names(bsc#974903). [- dpdk-2.2-dtneeded.patch, - dpdk-2.2-examples.patch, - enic-pun-fix.patch, - dpdk-2.2-warningflags.patch, + 0001-enic-fix-Type-punning-and-strict-aliasing-warning.patch + 0002-examples-ip_pipeline-fix-implicit-declaration-of-fun.patch] - Added CONFIG_RTE_BUILD_COMBINE_LIBS flags to club all all *.so into one library- Intial version 2.2.0(fate#319169)19.11.4-150300.16.119.11.4-150300.16.119.11.4dpdk-pdumpdpdk-procinfodpdk_proc_infotestbbdevtestpmdtestsad/usr/bin/-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:25950/SUSE_SLE-15-SP3_Update/06e7d1a1371fa731af18a74b9731d929-dpdk.SUSE_SLE-15-SP3_Updatedrpmxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=b6a9430c2cba414af431b69d0a51efabd5d2cdd6, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4d68805dc4bc74ae1325083270d8265b635a8be4, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=16fb0fee748819a13e5cac3643c879ae92585b65, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=4609d398243ad39ad635e562975a76745ba89438, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=60d5105126a51084d408a5246ec50350995bf87c, for GNU/Linux 3.2.0, stripped&;n3 RAR%RR)R,R3RR RRR2R$R(RR+R@RR RRRCRARR,R RR.RRR-RRRBR+R@RR RR)R5R,RRR R RRRRRR4R(R R+RRR RRRRR.R?RR3RR!R1R0RR R9R7R;R*R)RRRRR=R,RARRR'RRR8RR2R-RR&RRR R(R/RR+R@RRR RRRRR R#RR"RR RRutf-86dd88d359cdc7a329eefabbc408ed53c817adaffa318d5670ba240d9f1abdd8e?7zXZ !t/@]"k%U4w=+# ౌ=OƸ"u аc$!`;anDfVK,4ְS.^Dyc߾,&Ha&n34*֐7Z.ư%+~RSN%q i->)t6sc4QFb ᨾEѦSw>!P Ǹk@}SsPOpF5;Q,B軁؄W3 MZwP(H'Aȥw%MJpN:X f\ FFK_% rݜw&8yk4;zyk٩3|xmuc)6G!^1Y;BcD^w`O/lcGK=tFաOejƪL6rpe,9<|*7IC{4 Q4&vn;A_#ФEQ[~ˠZe *egl։u@J:ԺbSh5v$'\e`N!C$Y~sP:(dq!䑀&U$nYOUc],QFנvըqUN%m4>UH(B͍L?yS3DJ ?_f38jĵN34b#by̌E2C/mƝ5Qyt┙|yY2CIlE4hp;G|EI"wg{g ?Rܣkq> 'Ⱦ6C;)rV:8`<)5G%qvݞ}cs)'Xh lpmo+^V{Q!=ݲU; em %r{y~oka}4$K" {wfa B_Fo~rT?[[4ekZ{F`vq<#e/0-zʢ$AI|g&Ze'ËO} ,ϵQbCTПk#'Hw@_w7iJ )1D~8)o_ kp_4 }9e H!Oc`< $؎aTء @h(S> . O0s]Xr x\ ̤?w;m)پF6>11It,rɃcP3֨X /3ȺEfj2<"JXOaR~zC"Q65 ggؽBz5ࠔ9B$G%ؖoN#<' Jv8C}Dm>~J@-D|6! B7jnZbݜoގd;j`IG`uSEkSM/ /;\@;2׺!g0t 5F5n+²S+^Mv}7Ib!H%՜/cKVCB[#xcc;Z]s+]B>9..Ѡ+IQf2I%E]:A}M2t1d+SsmRm.}8Ftc NOYb)Ȍ*$odT`F3j\*ozH,=tLNYiyqKX\[bnhg  {cG )Z-Jx~o8GL8N 6wul5c9͜0? 2# wGmC[61 9f;-& 4K]FO%9}R!-āɃ(ex뮮>v_SPkvy#PQWuYUsͩ҅h82Bwmؓݢ_Y0FB0k# 6XOJ#7[I6I MI7L[Ϧ\@{]6,NtN-ZwbY654hJˁ .>GV@KWWD" F`c 쿇I*/(twǎuj׳^&p$d[| V(5l 'A ؜wJ\`\2 + 퓮6_+:m,/kOVsj%t|=~ P^D_A+,V`*## 1Jv&vmݩ}>?a?Xijs}E-~@$pw[ >Hխ)L"Xn{Rv$QWl|#*)3o%В )!j#e=$[;qOU0hXD $$: 3AP1|p( <*F:zE_:|m<9N?A I -/*%P-:jI 6S,WYY=&Y!꒪{<VPc2*1ka kAF NŇ۔,\x64=(f)}6WE6; V\1*m\BӺOP"nVY_"gxfTM_0-k!lrH VgwpP$vDR$]1 <)'?glz*h|Ǘ)"/Q*SEh20v9 |Y ׉^%-M rEvh*=m LؚԸ<A:>]2q36ADT Yd1hvt5e2)168*O 0~Xy aBRlx7 R(}gg}%r.nk("zŰ#$r~?ѣ'uaӔ+a_[>Z2z! #IvMB-7f0L :Xͬ#jcm;;Jbgled[Kg#)~:ҙjzWX=oŭqsyP̖j4`nF8ۧɶ=g%0_*M!s#ܿ憌nOgx.v:oj f^cA2Vh^ }z^~NĈH%>Ms]U6A.vJQs4}TAe*Q0fuЦ $yK^>^1 J!'!P3hb6by *y VC QvMCjǡi[qf.tGHPQ}}T(EIG %s M7!- ].HޔCy+Uߛ}BHZޣUhCYZJ< byֶQ}߫ %poҺ#˵"`Ѹ1q/Q_Bt }(kS3b+ƽKwLLN-@kc'JtI" EPsH6>~~kN4 9;3QcaQiH؆ZꑱL?Z̀xDx:PC/ʂvo }$3V0Rb|QQ3du!$2=2 /SuYt|+c H>) ZLZQ9.W+rp}z+3^*WگOcǍ6YP ~TD3/-?IQm1oKP^CgA63DAe6PȂ6~-˘: N{B\EzI7DބE*Yfzp3JK`m_Da.y;P' C.]|Uo-.w XdVPͱLv{)f7XOgTaNku:uipjD_6 )|2k&WB:*ETsxx^ e DrJqϹ5YzARVnF؟*743M9|-IRa_46bh<8{Xv%uKs,&˹[<wʙGbG!heH] -d"Ca~8yZo-rFΪaVՍr7E . X`N˸$nuHLdCZ’TS6ÝFY`qž{*8AFtn]Ɗauǚ9<9#5$USNNP* y{z~.RXʡI8]rS-N`s_ḳ8HdW 8Wzy.3T!肉 k4rҁ/O!'<뻛Byq@>rG*q"V-& {r_#u*)m%-ɹZAUjGP Y:yWϜvձk!7uUqp)5c)Mt Cl7%HGQv *?!m}[UmAWxՉ{b\k\Da =AI&He4ctDzJvKzc#uzZ[ +׳^àEBHjOiAڄF;GynvG.#/i츑 gᵌq!6Yypu7cONI1w[>놱NFL25B=MLvWٌEPGek<ϓ@ π3}?b"b_zcG1D.}]=߲]|B 9"8ĖFwQoƫri27aO+4>ff1P2y^ ]nM\~<{!E)70~m.8% ۅqxCPspw]kwQ*1KaQSt gqtkV];ppPY9aps?C)As9yExM<&\v);qMU)opq4CNǍ~?X_)ZO]sr@'%%LLe@\LK |i+=݈=S$ӈD{]!=`:oJ TFϝ?a,N'mjN9˪'MK;[#=e3%NjҿY53(2ʃY +\Zm?%? *"Jn:[|/fN?|1 xF8 PE\Yxf+0ɎV7pEzOaP3_G=]y>1n}uQn?fFS!%jv07ءXPvDq"B"hpф[(_|N*lBn2p̹)(FK)g^f nѽO%-aKJ> 6}_H5'Xd c+{9 ,eе,+O,*2(ηŎ5b>*g$\!/˖"BKC [kG.mltn"\&F 2L) ;]cn֜&uaԓ7d \K̂:EԿ&ֆ?&4L9g^y$܁/1ǡJ2ӄX^ҧJӅ4p䦗KEА16WTl/Y&W@W/ x0hWQ{|IHڊKq49=ܑ^]=VMO]O/w;o'p2.F r )(|BjKᇪ$$!%ߠʕ G` {Py3Ve2F, #bs(Ogʛ2).qEjo4 L⮯\IPh8[W|v(C"֜yDVey={ݏ/`o{.^ 1DBBT+AMfYq7Q) *&iraHX2 -B șBef7L 57Sv% H$Q/a ۾Z"!.'^w2)t7@n%; OBf1?s@1l+H7YJA@3Fvauy[LJ(l*ŷ)_ܡ<1l ?곰q: Aj/݉ eW/C~2H PM4_v7v׿kԿ ,S1*ݬp ԯLOJ;-_K筁H׆'.r\7bZw*X6h':%lBYaQYYaL40I $6oR4F_{mmPjz3Lrz0ቒ@gYEdz(KU:><``# ;#|H=) -(;*[`} ;K* 0iAeP>AY*gliBɤ%`:M_4mY$zhąP7ŧDHS"q@'%y"5A=uKF(ɇ BFFa?5>֓P&?jLi##NދY:x.7qPQPtKR=]rf OEct'eB PT6 ik{:8;lN]6+`WE:t7槈']iԍb{9H?g/vtzG1[E bZ3#q?}ӜX,uiƱa?^K@_fdo ЪA 97ظEB\d|w2l+U8x(Ǒ/>adj(4⺎-}/!`n'?wsɑO0Bє*!cfwWϐo'56`0k.k.oXޅ+#t}s+7)5uĹh:$xok]@}C3/X5VTG1&iCY2D7Wmhcp I*O-͇  衞h !b0lS!pUj8H-ޒ7Ů~g7u罏~p(GhbfrMy`nnmAI@]Ҁ1E[Ϳ!\>HrASt/LPyz^:(o9^ 噽ѕ(^5sPWF1fJR3|uHN<}&J]q,]yb ;l.FoHa%}[2sEn~ZvA;i% i.Ht$25G?fQt`YIzmmy]Ռ&6}E1L #vOUY>Awabؕ0kW~qȕ7l AKj=d{#l1z%z ;qM(qb(v(%}+RKLzwur٭`8Xn"gj;u',ם/4Urn~(ےڗe~$$0ڳ'yc@YqcߔiU?ef튬ܺw2>yVmO]iT ms3fZ"0jo> yjn2rjH4M{iHɼҐ[!߸LJAIklWgDzWn.j%P-^-kkit!cX|`1pZ75i>e_ŢܲCM'Ђ1j v@kȎa*TBe^eL9lEV0)?5빀)KjΝ%sA(:W^=OF+JZ~!KHdyxȱ"V@qcX#.q0:>mo~E^{0%m BowgeO 1b53h̫g[Rld)> '椿Gb)|mӃ+O΁y|uMDk5$jkno\}P4:ۚGt|>i7f$$[^չ7:#Z("1PF32sMC"!G],uW&/y' CJ o=:3tϢ .<|)ll<_g4<: jbF#Cm|ƽG:{٬U_G"=Ӳ J(_b {tc1;wMʛUh}K_G\k~"`C 5 ,4Ts3zq=*|{vrƕ?%`n3nmǛQ>-bQ F!8֝& l$u[WzQNJȿOy,C ݴste<ҭ'5JiQ@YTi;k=ᰗZV0xYfqCER6:n+vGS'K 7LfZk{/1 vQɁ8,bj?>?_$q?D,u}xY8~?э/^'M}q=[*M%;yˣv{k02h5yͶ28?BPNH@h5i`YiUֵ>!0]}`I>Y0w&-җl< p7j|&1IWQZ͆pٮ)SC1Вp!$!ƍ_ X㕎qb/?чu'Xvf{>Tb+=q>8*LoҚZ x1n▿n3a@jǑ`?r.!6A?[6 )޸3$KA8N:9 AZ=E(bV&HKy.Ϟ &@ pVe_ R{aZAKGK-˧D+' -f0A֒#T0dl\-ͳR~όIW$.!vZZ. s Dd\wuzRrqiSiIj#|5*ʏZrp6Y@TQ1$k~84\ԄwZ5 D3]x`H*ix4TU_If&yk`˾wU#fr/|ĿmmK>lU*Eʰ9[̷T)|z8@N)0oM·,sW tsjQO4[ KMccV뎱嵆j Kg2@Mqҗ D=`*&\ċg:{)֛b85Sڵ5*4w-}-Wmqr ԺTG!^2>qqb*p+,괎s:Y䥃$FT۱Gi؄nl¢F02L} "? =@l?T2PdRV]9z]Ȋ>MK/>iL #q%&?R.gh&.9d> Tk|G֒|@")k 0 3!W>H=ԚJyjIĐ %1vqXFDBB arNmj>:gRzҹj U< }8)b\IWPwf$EfXˑD?Wkמ8]OԒieDfીY22@Do?]UH%X?8-D hM{<Ѭ0/8%oiiUԱR,.Ɋ+O8oBQbQ?u AFsARnNLM@tӫhT )a=^MeFC\D{dW^qSf0L Ŗ^c7&Utv3 ל '94£E_c$"(O{@7YAT7nR`Y@Ԥ P&$0 HZGA=ٞQ+@d$9JrDEdЈ6fdC.xKCj_E tQ 8A4&Lqf:!D n$Ma]ppAcyv^nޝFWt殟75Vp w?ÈWr`F* ٿ8g O}:)~`U}>~+~ Uc2 Č$9͹+<6'8Lކ]S4b gUk{q&52cCn?ʎQOkǚat}? DpP}P2 4BRbݠ#%ClNrrkQ8sbKGE#\hҨ}n;՝q@zn?$?ewC %1iI;GqKO5,Mj\ / 20.I?߁1Zzc4X#j\@؋&ïym9Z5E1PyLY@ƭ;=sî}Glp;KeA`ZFS&3]9czMo,`.D}ZLE˄I^kr 6_qG,vŏCi) lK[~H74b^)J3>y35k?[WS-7`@F)hO{v `^H&8Sbm[?# <\ A.f^@ԠA7 *CH}JZ^N:As{ªQtX %vNOG ]ؒU 6Ep9PҔط?p8q|8 ϸѽ-@,ӭk)el8aF]{HGS)6ɇexL3q)=NX>DG_Dw{I5;vKoStr8x#'v*d"!h ]3YF-p FSDT +Yz3S>nH66nR9j(tBΪz ΈQakP )Ӟx 1RBj> ww%о0w šk QSG>ۨ%b3N5<A̪܄ԛqOС59aMsQ4'{,)l{D\;|\PCH!b<\2蠰+X@3sCLAV,Rrz' z/ WKfm! PT[p^Nwco)Z$sCȲn}*W<50ӿP&`Fd^F'5m6պNRm 7- Q؈rrYn-!+[]]HQV;PΨm)tu{ԯza'W:?ӥ߾ݛiy{73zc 7pCVg_^?l&'iCM77^ڹ Sv,?OAuڮ4Js:ŏ[,2]PT^D'gaZOՀ`6ڐ۽Zn0<[]u}K {Ֆ~v7?1]GN73z8Vw9d0}ήD4vpKTk TNswq|3YҝQ0Yǿ7'D#酣g XM6zYao6c]7knv zZR@@D|(!Q<;.~n7EҘH.2̑/S*A\BL,̶J2vyY޶;u AHky[ lCc'?L`D+͌w4R B=yWAAՅ!ād]k|1X = +iK\ͣz|ԯ)k-+9x+^u|S(JBQEݓ۩" pUT~Iv'T8:prTQܢޖ2_Vجuk@!7!%-TjѣI=UBaI2ۏx ]{%q? W-iu7VHZ MbL}f> emh^g ~0஼oo\ܿ6P2v*+u(tRY~r^>CjPx&5HFxz,GTo} pN57 ^òH eGJ>)ׯ7Z}(d,\ .ъd],-LEj™44ti BT[LFV_'܈qqaXvW:*6 "[i ׋GW' q'dB zi;߲[T7k{S*ܜݼ(VZxP36殃(rdG>3k]FGmڥbmE/938gͦ~K7jl(mNlEdB&'vYH^In217uKGZͳv6t21]ޤH&F3vU"s{zkd|zG@{i cl7GR'?!Q74e_T~B(T/NuOuQN{4#?DfSv;std;胒;{˒ 5hNdheDxđr̈~%NV)+libdkN: ݐ;n\aЦjbJըIpLNL"jst,J쯸B6>L 8wzU~'NR1ݾ}t&س\:j-#-tz19`0< dwP>6E-:miS=GG<-k'"Jg5a3d &qdž&v~ӱ2fIvZBYGӫ,SXIn(ӫ }D_Fwp1Xf8,]`?oxqiZ퓰`\ctIͿr,=E"+>EmV>ٗvt>yn/ V/eX` Yoc&Wf w$%sѻ;'"f)cu`H*CX^}(ƪ ]*\6xVX]=;^٩tR;58MYc\#˗ˣ׽ 5)?7~U 50e&k/b/:A$Lp7 JH!p֮FF.2܂\ :kȇJDgŤu4`ryW7W3U$&z_ž$Ci1q.Z#Ǐ*NZ&: :>kbX~Y5|t ?<-;uOzwp5ՄCVI: 5bm1OǴ~ڬyF!1ć7Uv-ۋv>FP*'vΈb,I'! m1k6B7k^ O xvS2tGyVy#n6׭X9#.0;ɇ>26e F[P>Dpȱ-(MYyպgH(GA"%0Ж HQO*}>G&>Dm\J~ޞazEiDN0zvD.;gO˔dfFEݼ`z?#A]. _WP,@RWCs T{#RLdx!-o#a嫱H32g7RLIwyH1!F ;aԢƞ2(L=ᠥ;x)_Z&()oDA*~JH ٨9bMeN64`_IL+Q;! d,l6>g& '^Rc̡] UAڝxеeI+t.K$֒`B!L%= CFVϷ2i13+6PV! 剟".?u5V"&F$j1{b~) tiLcx~[Szm}+fs6M8Pz|G3ΰծ]u`..T0u%0eYheqj6]mp }&i=P%86߆u%kX.ۺ(Pr3=e>vM]1A{Q?:JHL#Uen Fe=LSƌ ۈA"_ScN|iL@P7D'hPeef(z|գ4APY3z'Y,tF9b-KX}y]"\=m ZKa-=mɼd,}E<ݮ6yvݫQc<OGN$-o.G%Ãqރפs^>Leg-2ܷy×'st F~RöA晻) /f~4@O%/V֦vBӧ^D8CZ5Mm>#\x=ԍ{RSvIUBg eyb)eR-,gJ!{0?fr .m/8&yܟGIGrV- Z1} 70UN~ φVeW=府fF ncstRST7N~$90_Y&o5}iDKeV A0ˮvcG3D &|/i\Dޭu'Hj_{ݧ劒ŭ8!P$(W. aEBVތ~xaȁ)2Y.PSp9}>O˙>WLAGX>?Vgg2'Ct$U\b 1xɈLa=0w_9G`ƱC"e rcB'} us1ol")ݓB 'A<.!6jC%硹U%@i _Y&ꀩ$[<#G* Z _Y~Րf׸0rQl.2OIj?a`c %HCe@y-lBz–!Rzu{tѤ^A\ 4%SCĄ5KпeEPe;seDU LՖc[HAg(HW_Dwf?a_ vB+o)*:o39Ә1cqL}͎FƱ LzA=nƸϷ!cIc٣Р.i[&~ZbBHOI9>DJ+(,ZrSP]w\DOE\ e)- }A/W…|x#6'ÃnOuxFԛyUF3c)C~B1V4,Ijr.fNxd<%(;~WD#jB\N o+yaOqy2 k۪d'=(Phv,>u)B>J?ӑ1:_fI37ڼ1g >ag5O OWOӞS5SZaٽ z{JEdpyȇLR0R"z_BT|BS_uW:V[*kL:׉ִQK4Dcs3@zlׁZ˼Z=[9cp)еoxIbM)U!<'fcnŢi9m~Š&ap {͡u$UUVnܛtMjW)uEPoO DIoMes>̶[W5 ]wYeUǡtJu_{Ut %90!kZ5>E[ؚЏJk:YP+@d{]/p/1 }_?+@ Y!Q]N%l.[;g^HE( Pf zdcJmQIOZ-}v Ucw(}9 B]?4Ϋq8;hl%韴IC.\°K$ 8JHC9ɐ?v uxtHhلa D"DY N~6\ 12ܸ WUĦ쇑Pv(SH'hMW!c$SP2Gy8j_D44yVZDוЮjC`̶(2Lmn8~C[q&Du %߱ wQ2&d<< YO%H@Wvb9A/BmiF6NĠrcڟƒ. \'[%KO#o]E|#p/N0tYkk<\&c2;M)qr7BhMNyݱbϳ~>DS3hulr)Ȋ$(*wk!.Vb'rekU4XIæX S`/%)~89`ҼVbK ]XKWAHg$ ]w/hH0,Z9Xs$U得43ѣY+]^d혂#"g+';\;De .Yy zA`tGqQ|,0pR Dr K TuyYpڰ?=.F2C_A@l\uIF4oR Z}QLcx_]>=W0p՚EOtM&LAMn/$zvq>J:^OglVwG@ bRaIw'pz {mA@̊P n_kQ{mQ|w{)' 佴uAer&qtzP B3>%16_|'Y'(afxzGz` dig}=QS57$FOvVWڤ H yXh,x^iR j#17p)A!½b<\pO~ +4Xd<V,4ZPL/ğ=p˅s@MAD+.XX<`YUamI6hI-r o'41P j8E>O퇀0{A0@1LFz]{ 4k^ 3BKC<ȷL27G4o3H3Kp5tCgKx-E{ kϖY,j|F~;jrF!VU Rjp[6;tEe[ u `X;%1efHS^W|ě.ف=4 ͣHĐG ǭ S&\׍Rx; 9Mkjr>a6yJQ}1EdUt¦~p5 laܦmCS9nkhӹ5ʖ$u j Ǵ#L2{tI;PNqܞA6Pc}K6æqʁ RW#BӔb8"2ÜBȝEV wJt,P![zص*r[3,Bg~];06CĢЅ`|[n(t/PqgMF*'obu)֫Y!9nݑK|=wj,#If5>|Kw=ɗsB/Utt⺫!8*^N ^X5ZoD;:/3+%JSO&uf{fIk{´iG~nN?K iz `+Hw7<~wA{EW?)ɇłH7^42,(p/߿ܸȦ=_BBX\h*Ln竘p_/85[$c2#." lbb77B9xQhgGn+XNJ|H,d@/OT@ : *#_nTT@=[].3ʮD] tj:C#7:PO0+0t%+|4v+ bcAfEM/Ok)QU_/?rF1x+8j _P'qиDg򿹈@w@tDDn(04sIlISTp^ء1q)MyOQO 9*do'mU2MX(k4߂J^_?HO*,"2$mҦE 7ʑrxÛT$ldO0i%^tYs E۱})]KN*rȭ2ѩqs{[dZ0L|uSvWpRkyH~$Αs .dy*LZNW|ho99١P\D_uN9 Ĵ^ySm]Bs5%g&&oP.=t KW,#Veb$YҲA[nVOx#4{=@'p u6zdَڤzGo% #AJJj!8peCC]_N ב$;݌ u!Xw=&ɳA} &W:qƲ3kE]x9gsi9?L{ tn?xLפd/X<Ұ2 fL%iUO( ]f]A|݅0>ϔ6+{u@=>gv&!4O X{L u0~E(1_We*^zbԆUoRC"`~VtKr -as[3'+F@̕2_(lj!b/mu1v`rw0ۮ4&p csmw~~Y(C̖J ̞T_XT!a.8فQO[`cEn nqyf 5F SF'6@1~r~c`D\*RJ _Ţnk0]Y uWr}:wsFUXsxCzLlݱ#+p&57l>[~SG :?3Q͹?Bb,LFL~kp,4+FN?Ƅ&GK"&OCmEn\} =ӂߗRm AW>BOHd 0xS#aoK_ZW`@HZlhZԣ:I)/W[@酮l{>>[)[`Kܻp~蓯]5%L&vzss66ʾ +u7KGB (ۡ 7зpg&" ⏜&ԕ3{˿oƌL#l}灸̾[ 酇?Uꌕ`͖6aLJ3DQ[gTU4+[߬T"UyCӷoD uI~y~҄fӆgA Go]9"}){PWwo A35bò&Mj:[N qת1vPSya6"*өmuUz +1 f%{?$ w2ȁ1&`̏EрUiWpOCMﵺ9ԝ_2_})vRǹŒqR qoӿK Ap}hlqkAN}Ϣm7Y$w)^$?ڻcӝPޙpvde30S.XiNzG[`=GP9QĘ0@ϊV33m glhy^]i@"Q#r ݤpy ^^RY)f{pR˺ Bzb׮̵G!mk271M.r2v)]XIxNӌDQt頋MlsГ#Jaru\anc؍YlU ṳj}NatM+lnF!n홾˱Kf3,yԨm[\P ;n_>C\NR\C\zHO }7>@=M"]>bP,Ue-ː\ƹuS)łmk_dS")1w @;+:a/`iW*=#JY}.T_iփ':/2Ns\y[3\yT]E"@tֺx7Ї S_g#qm⭩;&W`go݄IaYʮ2z'kcZ0ђ`͋wp+_d`|WP&@L:Ze{~c=N wAyޯqTZ Jb9v@7l< os >Ap1OGbwd BsM!P߉|D_f[FʽɂCEk)Z"hT,A[mqi#dQǛ2Z8sSG"CJgZ#Ru9^ggSXAğ谭ۋnL.[; uެH_H2aPN`*mˈH]4Jsce3% 9$.N|Mm(EYe~B'#t?-J=܊@Ў<@V^*A#>\ =UWMg=E\A8oqӎB;@m{_c nW+RL,ڌ{\jtT{WÕ٘jY[Q@UPqc}mk`=O8K Uy'+`aa)V3IhZ/=t.s|+-S$=ˌ#0BBi78 0gь堬` ˂0-a_ {~úh0 zxTش}58^_߲>;O6y4xpFZ1ԴoS@$BŧbERΨlf$d*;,>BfYָi.qB]k9#ǯ]ѯ Gjv0nYvo]Mc(_D@2|ysy7-5p#Y_֜F9%\NΉAaUcqJ]GTD1: #UsꊦzL8d}Y+͋t'>嫿iQj{n=g S˰b0C9^p/Fx{ء5S-1AtȦLJ4gI:c9.)QFlc>ڣ 6H$:#B@$c *8d+g=gflipWĆܗcaھkہU)nwZҰ~P%i7x8 `쏍T%i]:8@O1S,q sBDj,vɯ٢튯` + ]՝UE+ΓEdzpsq_9E7J1{KDq *8͒?ӊJ.==],$l8QxxmJvh\)|[w"X@½ϭ&ko4({Q%iYB%BxOŋz* H^V4H:6BZSa3m!"RXpDٿ~J[ :Is$ IܚDa =ɍW)hTF]qV{t6#'9a Bɞ;+ojL asѽdž=L.'4tK mNƥgh > xx&娆GA AA?M( ScyBk_gyO#6o'Qg"nU~.%P2qɐ|gs^"JI2!Uqy/0Mb:X|УH ui-ĕ he[Xucae}6*)( t A ފ\䥻1;.eҘyAЉjYA3orwPhf(b4C&GJAQE_N ՚Vol%7we)<ނV?M/G[=63`ƀgψ lJ! _-pb;mxɈņ,nEJ`pk,&S7#vk!L"-23j:UO!b"btr{4ׅikm.^):N5s# X3WAmal.vOGɎS=jt:`. zNK5z8qA촺S6Y[1E属7< ey;jI1~ |gNSIsLP|?rm{6'' G`+P#0iײ5OP{ub,\qjB"rO^zkC+6>kз n BpGBcBzdg#RM`@M3OA~Z{,#c2H {eg@D*FHe$Gfi ld=i:_"Ђyg?˰*ݤ[яCo3[^{]F -4@)ni.@!A8aԖu2h]7%oR9'Kf@/Ϻqk`6p D8OP# 4(g7;I ObB9}ʎXYdϺ߀̾-7OI[] [2$ 켃()+ôQ( ;mB:ZQ&Pyq3z! 'O6d;Q).de:BK7糧#!elSe_)K b,%ho=Zγvdc|&{dx 7Pi1R!ߒ 5&b'Yu&~ޛM<`ɎZ3-8dHR1˨Z$@PwY {/?|`îKv/:43 2_hZK3#ۺi*A6hmmG&1q^bf9U/| 2kp ] =00c|M)Z5mgtC9Ƨ I |@Uz& ²Eg5=Bt^@k7Oň3Ů/tkLY]. '8%Et-Gr跂d?%'&ؓEce>OA @<'J#sebKDü 3<2xJKGfhs~/is4WO-^!~,9"fǯ&$ҔhI'$4!Cqp^!i{r䭙S#ԁOD-28/%/-$CնO#t ( X++Y_·U?ǠKG=tsY3UunJDpzG"}raA>WXS}h5@3D1];C xq^g /M“H\f'/[pfF`*m ^ {#cGu?/4q&c$*Kz[?S3mFVQ:󜎨n}&;p>Uf!) ]7}F*-/G^ZtwÄOwYUZڜ y*U[d:]yn<_t/@iU`BT;7zܢ2َ2T\hIOJ*I:\tv2̽^ Sh;/#Gυ$f*N(f./FJj~>]]m~6I| wF_PogHRS(#dKu'uOtui/uˡi%ڤc~+L~GW)vh>E~K>XK5| (F|4XAPG&9gΰ;RIemqVb@WH8lj@%ý@۪3]gw2)ڄD T{/u ;DC,7Ůfsx3n3UѬ=ƥcV v_o!;[Foi}]!?"DF$nѕ3>DՖnRP"Ԣ7=Մ[")OFlzƔ O =Nkd/rOgײv17Rd1Oj+lrY&v= {~ʿk,JH7BRoaf .u2eXחoO<2kFzFWx6A0z_hU5;K,1FG>봌r*mԾ+.=y쿧7C}iO̩)Qƞf6}ab5,Rg0*`6j?UL7U%kH}Ti6^pw.!U^B-%(Aw Nxb'~ Mq"e鶎{J'> 6db͋MrY[uSk/P 0\Ȥl{J>t9Skel\"2ҒlU $>Iv:.^W&ON%Oj2lY ]&w %V&t,Ivif_~4r u xdi;##w1k&=O \L;ΐ1-dq`7Zdx8kSh1 Qj %b"mӊFɃD rMPW!EV=} $_Y o*PKL;p2~,!ϐ% qø~-?KcFpu$8ZĢI6㓎J0ENb 5uST!tVaҗsYt]m~ffI56lK%9629'x qQ:"ukh'!E7[o/'K&9ZU_A,;;Xŧ*(wfA\P22@@q\,l>VUy{Ilİ ۱$O`wH[< €ÊN ]̜ߖLJ,}k8۬V1D%st P̉pBϙ1A<$G9iKWwlD:j"f|څTfOóۅ Ѝ.ؠ{S m ڌ}-1>9yyN9p>ss O,#z7]"`x_SVy_KKW ES˟OA2?ppe@vM% xe@@oxG![& &׏XJ J*ecp{F <ԃd8\$Dc9KyAjn6P[O={;Yb Kni 3wV忠м>ԜWf +pBj26&9`+k`a@wb,tw;&4搑LdZ* c8S Ld }Wg?Y΍D m902DO-foHaB|ȩz?C/b-W]j乸Xu}!ƃu|/[cQD9A|zAњZ9Isž> ߐo+0lCUV Z mXYyH<%@'iy W`ZP 峻oD]Rӊ UFAyjjdt^0YB&zո96ɣ+`kU)bЦׁY.\+@Rch苌;a"uc~K0< aWL))claC9}(?+bȤT^NK܏S* Bnd* tKH&^]'*PIPi47pܱ.tcr#_=c%($(m8!KTq<>{qMRl4D^2&-1G; zݴs ᄓ#UKQ^%\ HyL uO"'<5RcOadqե!N_eRK>şLEŘ?[ևDoпJC:nt|P[Bl)!l4V2*O-vg6oeFĄ%ئtΜ@gZi{`ÓqnӢjEe ϥXFJbw;w?:f%``q\&v:0X,1c6ksLo 5L\2ᡶ}M4Z:ԶR}L`TPoF'L%&\o_62l+Ė})·y?cwz;O 9ۨk+0^+y8N!cj`O݃bwK*Cњ1ܢi_b =F>LYΣT Ƣm7+AܔN,. z|U@ }? v$EJicGTkgENMF˄X3^`J"*. toHG'P(ii1Qm_D)wQV |K}شTUYi:h.>ũEEp'^6{g=>B]t2c}N,?&{F!+:R9doPl2:ba  O~:fٽW;{(~VXGo=:N#VJ^٘⣑n X;rR,6}q#^rUT&cMgmhtaQGAEN gN-DΎP%=0r9Cb(HA6a4I큢~mz̄B'LZԞ-ȿ} =>o,ނ|~G2۔9깟'.҆L..p(c;`ہ|?[ND~tj>a7>NhzMQ|=;NtzA2{g_rf\l ]:1v8Ռ ap^&ȱ҃rOpڔ[htT .@¥[St*vve&>g-xyX#< W -6jQ5m#[Z _ԊB 'K<R\>oT;v,oӟ|\Zި0W?Z.hPz4L(BuY,˅ L u ڻ$1U7he ).l.pz;+ۋ@Z-sj9 hm/`Y:8 a u OH1UsgǾcX`Z&$@iOWzkNxB(.^ΝCPh3.Sq-HHHBc6I#t*E2"M7=0RÌvn}ɾ {ApwmhkX,{NapKSovBhju*~$r|e,EA~ՋqiOEQǩMA$պ_%*|$Jw'l \F'4{t9qYq |mw?eKx<G(.j$@I}vECe>Yw;q:aۄC{ IH 1';0T x.9[^m㣦S?asapQ-#&xl`ʅZ TGW0l G{$Ӱz)? Ty־ò~dKGN n%wʼ]qm)6j<~m, ؔAgϭ烮v!K6@Y96nM|!G.iCӍ}>/=<@9C8ĿNN^?u Ip"%vpxHǩ+@tf%/o"f{‰v,ƛnSաP) ݦ-=^{">6|e43d>\ك_Ҷ;~$ PnDoI)$N%Xu(8& o>G~[yf9dAe:Β`R6ad 4VqY* w-A<.ĚW=f1 ǚ\^oDc*CJ录G-FESU~VMp\e{8j^gh`|iSGۈGOf0[yKLs*`8wO9"Y{!Kj?v}=p!SO#")rt/vIRP kȹupxU3vC襠Q,qJj12Vե<ʊSE~kJA0u[BAWBmH ^FbO!(NPfDBP͈۸EgZFɞϯ/:- s-tWųI*&OfgҒX9u9@eBeT$nGl1t尤pHLGa,rn住jMr|%:FXdL9 ~=wq<`&B@42r{ ágB 5^>2; "7JU5P[ʊΘfidCޔqEJ⴯qp>`OD2‰M\D9yDrQp|{Cіҥkߗj$,"|{mf,(A3Pl ٙaxCRVxUPO QʢY+.' =ipq_`[@M?zO= ٻA弼٭ DŽ,g8vUD 4a3WWAWH&њ*?+5pDggqEF-2I0-0>@WzNfd[zmYYT5Ӵu9@ˢ9x5WjrG [eaLf{=~DZBP6d}xt YRĿ i[1GW*wORܱU;c?n`0q=rq"Ul-WB[/(CE@?iS7'G2="CfKxȹ)[n550E$ݕ& DjT' 9@-Zt"،\w}Qj~"$ڭ 8E.d!zɳxx/9a=@Cir].桵5mlE-WZW_<ȹ `%-FK6SO.D$FvXY  GVҧ$z;ki;@ED q; GE9ɿ2U<,ԥ83`^ZꝀyy z嵜*3Z!*ySyx9lpHz meVA=KϗJlYδVL ,ýn<Ùb 6ѕ cÿ]]2(NkZgg.vLU)h :·_hvb2r9?{*{M*Y Vnl Z\{xRL洬r;)WV au:e》A֡'!-S|(W6j#݆$ԍ&-7;xV؎k .צpir|)F4rLl_Aקo3J5zu5r%ƙ:T<՜|lVؙ80Gt$}v,oGVW,4[ 5'xBu-U>@vxd{ˍ~p>kB_`S\3Q:qMk;HetY \l*a|BrD[gQJe{h-B[{Y?]~a0VVg득z-Ϻ"E- z I'tdC_ b9X똡4QCUh׭8`Fhbz)x4 )V 7#a㓗P =@4.{d*#0?jt+{I'x3ׇDߖN˿rg~"ja6rV]L6צfJ(I=;)S{6[OHio\hfct4KU"FT|}9_3: 7MF-vK6\,jOH'1=^Oh\bXx >0U%g]{cz}I{< c@0a4[:!(TW 2w&9Vq9|;Onp6ȜMڗKLۍv`F)WDqcj|@>  qފ>`h\R@x%1TZ~w2Onry.C×O =$ ¨FN4V"nϼ N;=ez4wV Q5n\up+#\`|W{V/#UVQC.< DRuW:gw{bF&-짃klzR^=QdÊH;5t?9K ur*tN,{ ! tKXkraM'>בIw0@m[Y<#pat0{ XÏ"-lJZ0 [F={M\9i+h|{q~++Lʓ8i71=)g_I*IgеIfkc_uX6* 7#ζi"+e/5[1$AuX{h,:#uŒtڄ]!2 C깐vv޷S).wj0CI⹮;~zCQM1C|>PXVuYӢRMf]<A!AOEv &+߄מ~^h,Fd!ſs?iqA;f"&0!G0T"c1++9|˼_(xw&MJ=Wm"ܤLbT]P/6^\SР6>t\QE D$GNuI/8XkUn@_+Y>) ""~?>#m_4ϭm`j?jJh/C,uT7:$DEs}yyo/\4[vp{I6XKn,D+%i!/\0Ixpe4J jĎ|k>|ėkbGE]X~Hav7~\ ?#Q9{}:`܊Aג1TGFU xL^hN;[4j׈̎QR4}y$0nňH&ee{aXGѮ9;|nsZ9G\qǤh 3]H,zWfnN`e"n,ԅFnV?Y)XPOOKi6zF lguJQ#"S]mтVLKTS]G< +3Ս8WcJ۫0/1#v\A{аBTa1ûxx݃+M{q @!Tqy1_5!afeu}{ ? S@B p*/xЭZ: *6a BZ9Aܬ #\gRD劲iA,92(#DSWϩvL>~BB,v[#χ7e0bŸ7P1x}UfTXuhn}82$˙ 9LT6(ְE8z#24*tI(?(6.y|FiX[`bmf3 6QJB}nՍ  (͗#9}hbɏ&lN$u_ BMOБ^.~TœS6&YԟN@oyDV1. ,P㬦ϲ fOo&(}%+&Cv;u2zCߨ&` "犋Ǯ*.XH0]Ю$f'8W_jj%~{O$4x&b^*.m:5y}Rm\:7Г'a23 :`'ΏS.ܶDE%;8QNW5M,OKN!BMYvvۻA۹2'r@"~duʀkQhi$X(q!?xAA^DBC Jpʟ@i*FPYZjлx2-z+F+܂7;L!s9Pߦ^i}̕I'0lFe6f@Y h޸8?ja"Gl/jvGt^q07xn99\`Ӏh9Fum+)e@8)4]ïsK{$Y96A) v3QTr%>#:`ˣ#nLuR)s2'|D 7na0z7 w7cxV~CDmL޺I!d{HKb/! *c_ԕqeI ʅ[\"8hr@sde/ZTE 7F @d)d}c`ִ?d6,`1TJU?5)YO:쪔!m4Lk z~\C J5B.f}_]8O۶d]Ċo^UGH}C es1xEޅR/NYZZ+osC|ًY%vEXIB=Td/;8 2gSj:N4}#_Jr⏩$n! ^,{v'(#1 WK,S&_pxNyC"q[Ei4 | `GIu*]c>d-%LsIex}~<&NRg k#zo.*S"!3^%P4R-6}w`uU ֪g0ǐ,t3kȰ=.zdc5l2#Pu`NW'o +&)4^, y3N F 5ZhjbmqJ1b~rlb1ʟo0u BLQegЫf.31@AFE#!kߒ)X6/ 2sym^z+d.'ך:V$5kxƘ;2Nae XdֿbvݧXM*5jwb?!_4KN_SLA`ĔS@UKPv4nvl) =lʏ%B:yNjra}QЄ>=6vkO>$,ap[Yؽ}1 s26]bB&UR &nRzx_UUM@Q|#wI2m[r.OwAIr)-{{~1qP닫r8Q!S,NoG1K^E@IĞފ:@eMx Q^S1E`6ljloY.E"(wRtz c>)6Vi͗$N'`]%>NC?r dzHpEFZ+ XQσGDE2a'uǬ?Z(g^=B>[sʍ|Iį e {֙$f?p":rߥhRH)(%/ g8;L½2Nn4|l/g.]"s[7R._b!  _/_[3rډ9Ou\E?Wp,آ6g?)ou]]? Cn87oHj{*7hGjKnuʼ`oe`_=[ ?)?є"qv2[ "ׅ6Tso 5v,r|׵ip= :wp.B ⏴OR 5^`2BGݑHHgo`cm c"PNoZTPm.Y!Qe3wJ- *n(ӌDMt)h&J;/+t~8'7sۚCb9f6N`Y9]NƎS#$ cO*+4Zeӯ|E#ۈڍˢGS%VK|V4{ե^o>вi\tB"i[Y` FCGELˑ I)̢[XHɵپ10pFf$f4 R0x:o5;[tu)rnHO3(P@>Sy4-`B ֮zYL\<;I_׆V w5I aB|FoXџp'v֣ (4IPv}ךibBY|`2mڳ87Tuv; )Q>B8Zx{wbzQV63(DyGg(7ulW ^vTfO#v(${ _< RIS4E-3qĤ$\T0M. ko1K xHM)uA :bh@T6R61Q┤\(9gS\$vB IJX.OhT߷^*wn<&wuDJHv&>5-ZIA{N:|n\Ԣaa oو=W %}<dkb./) Cc! 0%Euݭ@/J%!EIXFxoD4o z4k˱\ƿbVel[G o Fg| Bʑu*s %MC2!񸅐emg ^hlة| ad 8؆ChjlA>լO#ebهsb#A4(BB贞a/$+GAH<5ʧTk@0c# se7=@}3[] 8l,ڙG<0;nInY<'8]u`XK Hl VΥh4r>[Ǧ{Y (/8&,|ۻ]ՌI}؅~= h êj9?7`m˳gDGTN <BCw5TGf0 \vb}mT1T: q|/~* ċyVxY2SGʄ4bwβWWR; zgMe&'*#O'Jwׁ7V^=q5 [9CCG4Ten{\B$̿S;f3v\+/Q`3dIFE_6hflG,x2v0ܻ5 _mtKN,"_Dr8Z p&RԱy,Z|C\-p0ЖP azk"h._'2|j'~%ώpbw5҄Lz!/M2G'lI>(t' RpQ"b~U愈B~pF;A*QkzjXf,,F\Z=Ӿ7?Iܿ}uz;idbipSp{5zH7<*Bב x~خ1X5YXKf,j;^i% LựOB֞3Đ5%س[ylԜYIGp9_a0:dzJ C~]NE]BqUm *ﱙ4_hYH8Dk²hYպ uZD,GrgV6t%$0,#BP:7:IJ MnOǶO6TLD[6͠xhn+ &LQJ"GcLAEڪc3+[AI13=2#nS0q<^d'e hO*+k sVK;U:kbe Cz'F O-H;7VͻUk.WH˗pn.t>$[#BoL5S1A[̏K{?\Gm' 7(^-'%cb_'MىMcR'[E=k^>|}0L!}< <ЛO|;Ofj~oz k' `FS8D'& LMP忴ز^dJ6E{gBS. O''ȺV(%9%Sq-u04e2U2v1єQ֋cܿ>Kٗx [>x1\@ʔD UΓ9|E$D})3η|J tOpe/ Kd va-^U}.EKgUySnw2w6smhm2 d_כԡMRF; !f4V@Ɵv7ЃoMF걁:k5W6BbnFDGz7y&)+ \URWl!{:H.rzpAؓ}Zb #$@Cѐ:m2 pg+]Fۜ%E'@,^ HGTAx5YX9>ŹQwg!~̪*$ͥȮ<ZIU^*v1%b\E*aW5l}'^ԕcgBShf`y)dEؔB'-o!QjؿbT2ivDn(!ڛ1Q ֆ ?{ ~ V;},[ gMV i@˨Y aEu2ԏ]ԯRKبxKŻ/Qi J<(D&+a#D;, ϷW_3E0Kz/4c 2N1b5jX"<}kD&IN,/8 Eof`Y3H֑ 0d@Ex.^Z Hr-<б.nPY&Qb7?\ ][q #L&"O?sJد$8op"b5ܔznI/.gFJs>u•(mN4X;SnA(Jx#_ @ǕEW2k0BVVwsBL[2L']vf [R`3$vevn['\DFV.k_\?GOgŠ9 銠D<(!^ce'ꐇub4Ia/D_lb 6|ݳ:lez*m4 7(D>ˊpG?ߪUzBRݞҟD5W6PtP%yY`Erޕ 5KU]׶y⮲k$^d8jV^( mq#{,V?}l ˈ-Z$m6)G1isqZ/NE f RS&q|RtGN纨RG:ih/ٙ_j i>D&lc d4zhS"DaM`4"fO뱌Bג`\Ej &S9dDȶg\qux JA˼T1O i}38)gZ&#/ UãqkjJHDM xʓp[{[f-ܶ#G1a xTbB\:Z!۽ `'Vu"% 6>\1+zl|LF.S:G>$SN=[O[{!b0/>KSIv-dԷF e50` T1(X-8#Kbd++;P~[wBd?҅˘/CfKl{c-;mPͭCb+}Dg@N"*c@Xd2 c;ۗ]RKa"LJtuU!V |ICu{nIA ,{;UC[?HH+< kd.4tNcu6J4mԐ ><=xw q &8(z<&c"Lwa_ҩƜJњVaviTZIk!cɢS ~wƲvTi:Ja tZ^dH* H5\ZK3Ub,Jĺ%-Pԩ|:mn9+ ϸ, 6|h@4B%{,ѽ.2=ǥ>}LqhZ6L^5jxOAUP) `c:`@Ok@;"tt/[XmIu֥*C2X6[Fe(؈})] ӓ]ۉǚ$F)ɨanEQ~b}&BD(dЅ % 1ߺpIʓ:d|PaZ_3)Az{hMbZPv3zb|Ax{cF@m@oUBK ->CǷUYAqЪ1Fȉ\1Y>2?ԬC_b j[< a9&oD]'SHLH%96ea_ЍЬXR "Z+n6HklYBl2Ip p@5'Y ,B:dZeʍ~5Ύs=B̬|ZE"^/~kήRGnv0ZsYt)xfbMMGb=H Cґ9?$4.mc \W!Zs҅n&@|Lh>١{bȅ{zƓu0M\7 D~6RInNaGRpI5ךϓRni'WWTaE8V9EW묨__" u'z0nr)I7NV a/oVn%}gZqJQGymr/ +g\z.fKú̘W! MOSˍkÀfRc7LD,A#ˠ-ĄQZ@mIky\yC`ѵ޶1v+q{pw-3FBToH뮠kt [qhsZ݃B-+;%xŽ} nzF1IniSMdKΓSO15 W/psWʒQb4 >.KU>KnT'6\kVQ)WgE5`Dqʂ硁s+dm-f5m<5(|ITv'GIKuuJ$⧬[~0+7qWدޭS CXaѭn֙Haf-IqhSޥgO Hl*IVƒkn)y;01)2I 6LĠQ{ "׆%?&Za n]N*v,|`ó TXO̙*w;A.pAĉ[d' 6 idɾ-غtXLu|W?

(1+FshHp t`<)hWfN'*}P%Վmf䔘2Gj#0ÝN,i*'s1hG0cC  FX>e< Z~M2ʋևW,kYFOv mY;' ͌JԔqDd1:q~=#"m&ތ'+Λ ˧.I xEm2}utC_24) !`-t$FQz'N? 6:*N^-r B*4Qs_c&wهSc\7]Ql7UGH4=sa 4|ؖ\E*×۳qݠ~:I%bcg] GiOROcBNp@,G?/s>ᥐhe]Fvlx:Y[p?&y mrf)tpxPbͱxٸBa6T-h&oȞ{!`D褤ٿ's*8՝Xb2QeVvHarԎǠV0W 5KZp/y2 DBc_yh^t?zrVMd.ǽd-]Lqḙg{u9d-M )P3lneo^^{(?D&I.:ê-mFfKųc;: )Sʓ g0RFgcP=ω=2L7,s8"o*.L$7<{z ] -79έxVqp=t*`3aJwqNsaGBkęT;%L_<,okBu.?6YK*]q“@Ƀ1Q?L]ZEHV. w-czM#.ZtA MM%P=U+yAi,-%|Y5\z7J2vt.m^kvB8o"ȨqSh2a2SQPw펕wÓԀm 9 sQ<3#=gH;1_ oKqhTQ)v$vFw˲n AdpGtM+Z_9$yA{Wq[Ff?9eE>< .m~JZZʚ+uf建뙛~4v^߭_Joƨ S&cl xWN)RpȞNcDl ]9Vs_6"4pf/,rt/?JI߁cYWK^ӌiy_ Ƶl*؊%9Q,kG7[+AմGI#?h]t*lN| jHɩA7yטڔ])ewrF}u[r}}J'5Hc$}(~18-c"q0!.X|kC^ɸ+ $ϔ5r '&97)T3=݁* 8zMv66uVk^;UY(b+ޙZH|˝AIgc$.\Bbɩ\}wi/X7) wwlc1w=/w 2fvhރ!wXuSxm*7\hmuu9:Ӷ~wíKc8:\By'>Dv+?59 [ c= Ԭx.\s{=[Q3U]N :/vJҹQB[aPvmG XDg Wμgd۷O×]ck8Vs@YM> .cy-}"' gs'٦)|՜o$}RRq\FW$vƶ̙Ӹc(D˺_#h/lT,'h65J'0Qof}[am ? ա@9I>>.n ,^}E}I!YVJv983b&1I2'3!5L\·dqءZ3_M hX2:.O~a =9᝶6:*~:rG َ>iQ4f^&f7pFݜFCն0skczźt(Noly@EI=Pf/E?Lz4r#a%Ѥ_eH1MnU Z`w\Dn#t̶]/YY0W@<3[kp߷r4NPc̞d 5zقd=;8Z&ğ XH{OHXVy#\X ^\ ۇÏS4g)6m|tr^+=,pnm $Xk8`z>#:kj.f)ՒsR%ـC̾wMz,O 58.xúObI$(ç&`ی8އ#Vn}d |bfH|_ؾ6.N)X? o"Cs{ggl=[/~cH6bq1Q }' ,;P@ע1{` 3OF|3cv0 H1柨&}h޻mNj>+GNFBV%JM`)iRσ1s/Jk?{d05J+(cn tʲ2lT8yF- xxbG5[ hYeZnn4FdEtx `]l\UѳA@,g +P旗\WSV^/jl{Qp꘯5{L#!,&6DWg#<S["ars~ fRX|(H1`AeU 7`/"uAH,u+SqD|pn·H %xGiH \/v)`=Gc*c^]e~Su)yi!)~ژFYCh?}Ϭ"W3M4#͵:51b0fzlgG(3AS@/L$֛#ߣ9BmsnX^d3~UkڅxWė_54OS&7\XI@kk+ FQhKow9bnc Y4|U^kFx l6ؐ.&{OV=pނ1b=ltx8EP3锪ETvL8F 'ѩY&\48N:N]V",c LE.GL2t&,Y@he^2ӃܷP\BZџ7rw-NO_ 됝sEQFmZ<b]WτSY )`sW, CFGzׯDUńk#u4 pQ*E䟡UC}Dn28AS63*( ;PH8} qZZ^*u-8L~AfR086v& ,c5a ~>և0X CMT)Bе; (?mPKp!\6&J.&'Ĩ~g#zTb8u*m:_߂m2c2A0*Q._a ZBϨ =zc:dzi)!j%`Z5{sTjf;7u:k'MUin)8bQEr= S=塀[Hy|3dOePU:7k1ӃKڹ>܀A>MA}DMna8:m.!)DzP( v1q*wvtpQ.;,ݻHX#Y5bj}hL[3ל 7+ƕ{!AX^T5q36$12JbaOP:&'g?{>bW̖b ,SDvu/' tE:-L#Iy##NOeLlUWWE釣ɼ<%2au84RGl#6 P2k}ޑ~W! ۼ tU2B@y@6Oa8裨 SwG5R]M<&֮q 4xv$Y>ZPZIbQmâstt,nTN3囃4N?ir{AH^݂2&d-0Eʾvն }O :ȧQ qqG B Dgw<*Kݓk/Kp*7Zn ?(I3|Ϸ L.zCWKT3i#Giz󘒅U7gv@>]zC8\GSɊVRw[kOɉE39w C p ^jhl(utqHDɬ5/{/lxj?N,mJϲbdgⲠ?I}(ģImbR|xzDҰJ ZG1OVzS,P9%G?*ra*ٶ .j0s:S*4bY~`R2fj)u O}RuDgվM[Ů$F_JϧdW9ш!GڗoB -ҀR,* ~mcDE:wj$ܸ/6y5LHJ+9)tDޑCt^Eyj9buc.iGOTq} 6E펙i]Yjp5q$= J Q Q4K)*Rˆ&xXdm lJeah S nD:r\Z<}O܉UtK7~2ќI;(Tl JM7"f*>ڇi'g?zQ;Mtm1DZIV ,ΒoHҕ/AeSX<3Ul}]" 7(eø.=}ԻAE"T&ٔz;²aM%nCɂ9z%¼z?4'%^r9򒴖pC"hC#Ndty).RJc8:m ly + MVl*Prt([.줓)iG| ޮ>X%=ՎMzu 17o(o[@F[*IHyk?0ԧ캃2(V|>o'dm"@|J;fHINJR R<@vr6_żhz/P@wCSW. ύ/.tŬW@V-IXv} #f) n UX4PФD>)5{ϊH”C>K0~Kox$evhjCUEC@ fVN^ =9"Ws.KF{Ҩ6¼!]p~Id{ IaC9:Ѱ $)Gw6&1lo5ʛ_@*Ŋ{U`jigZi?Q#0E67H &IJ4X*Vўh&v;@z BB.gsu}k׍W e"t6j$ye@mWD &y!' l k$k6@[os]baON0Jx潋䩎6AޯMB D p>`MtSW]cnNKTyV*' 3C˖iR~݇I%Z &N[fYg%U4 %my/@ɫJ-]#J,黍K*]{dlA4+>X#C8pqƒ@i^:=/RA{ʧ9Is H=} Hn4lI(Ƙ24`rݠs!7D'-Ag a`p {o2A$ {'ߟMFK.6 !6E{1̪#wx2>3{<|94ȹDVK}FT&UE̝ e?uo2AWD]r|eNfmVysysHSP="o|=᯾M˶ш0pNnRѡɃ1mT ;lӒUIGQ 6aa6jܾӄ64}1XEaTkD0ȎBR>P0,LID0r{>2X'w*~W8[y`5z(>V+0O9AȚno֘޵U:_#7툽&AAcXfOhE^-[&K`|{4d NaRl"/ft'ˈ+GR:f#V Eqd=B?Txēv4^^ȁ.bѰxK[h_cjRI?You;N~<@㉙(e2{xZRozKsEuCARV E+ӋѢ4?ERlϕ6 䊠锺kUk8S "VPQ6Bl$;PtHVc6ش fu*Cf[!9:#uza7*>>]GC^ϓ6찥-Thȼ&G]hj*B"xd^LYj,ݜ TdF q~ vsSh>JV5 uC"f)'O;\jBY,ipZjU^Oh^ ⧦̜ӕ?5fxqP=Z2 R]W+COߌ=yY1Vc~{:1Mb82扟}A7E(Mrs?GjOH "/qEN"&_&Zq=&&-_CAYKkm>V!E%~i}(x N p*,},rեtJX,+xz_?$ {h$],A5o$ꖐj;;e6_b3wy`'x#@JҚgup֜m<I,›RoǛbk'.Q+F7.yrHA8Jv؝Ą wI'{wc1!AՂgMB+֌zdr~b$ZXFw[ѯ0]_# lXq> prf?AG)rܚ}=s$RuB,)کF&01X[AȲ Ʒ߼ǵ֪-N\41_ SbQ(A AG;Ypy*G](aҢu A7g :zrbMwG4*?vc|l&f.nz [&O6}Θj^*D0 eyH_ovq}_*|(Ms" r~Tk)!(6d=ʷ{MF*N*&.)`gg25+h-Sj T K}[DoX3jJP7XD> d%M}yaʗ;0gD*\Y_.Ngc9ʳ42[r3': -˃;m]'n8'9"RJ*_]hJ:_B"|Pb1 gms^dBLX"yA?T̳n譾} ,3w~;>E:shթ3քbA0tq[{eXk;<.RJNCLrIr'Cq-ւJY5#R-~4KSFme1Я9I"^I}A5 M9Yv.Z6 }MPm<"himP (rZ@BURz.d%43[ϦE :9dfU Q4U=pl 0]xltw-d& 2'D({70ZsXHzôSMjZmC2XB6T bR&t W@< 3d'8ڦbeēR];2X`]E+߱8q3u-5pXд7lJj9ȹJip;p3eVJӄϔ)CN}M Au ٚ(H: bW}o ʗHWd dn[!i ߸9jdfTVd<\PnD%!}e8B+\W\!^qK["\TvfLy_"M |ݢ6']ɠ 2Fm#M)cVspHchxW;2: Ӄ"^J_r KaDtX`(ʐ m_3J@Hl?Rv4g_lLޡPzqN[D"Z!}ie?BDYjH=Z*Q4P3_H9'os^9R_WubxKR_koOĥ/ػ{]`V33GQVU- sܣDܐ ş-CEۮw&leWw{4*#H$hBEPlg4!?!Ş(C'2^+ yRڪOY"% 7VWb1 -8=dB7(v])_fa_?UcASMPPjbh+ բ}/%VonM(N=GG;I{Rh M-ja n?_ !ؿ2j1!A$ɃTdVQ}ZQO^]?( ftu_*Bs(olm_Za~@͒'8M{&ar'}=x6> Kq;YCJ} 2Bֽ'",ڀ? 70ӒKz}(-6V|;?1nexJgOtmq :H/!*_{Cj,ڕ\cM!O]?^| E,7J@sNVtp2.vNJmNSO6AA~ZW*+ py&o Ԃm!rm%'?@fX\]rc\Q>dpQ8U< YߎgWPT8 Fу-Æ<)~ ?/)-AQJie܉5yajqgӘb(4cJ#ƶ~;9'3?Ϊ`,K)Paa*9,#?1߁|Hwqw5JR iVX즙֓APe;fs颧Opb# :HFW BrQimA,*ț%NJҺx11A96IbA)6B7#>QI8E2o1޼]arkXÍ"TvK$2ۉT̈́%bkEgk>슚VzW3+F9m|[DtU=, vARbjy.o(ʤY>'S{\3{d7DdxY2QqOiv6 N>~z]Z_yZDy@ kSő^Ƶ HNfԧ +o?)TسF{sso\@5æ&%VU.l+߳aMvĶ!Dkw1[Et[bθ<"K)*dcrEuVBhyN03HwW~r] g^nHJKA;l 5!Rn΁=D8)M%SJj{zqܮq@jٲm<T~ږD{&-34P$(G8&f|LOEьjEOVr0_( ӂhe/5gdD;ڼI@dςS}ȬTPִB9 ԝ2l s*Oxe8[}ƩDh`PHN2hMnCƩB%;1!$d1 ⥧<,;]HhUzfXӴp4i"*:!`Hut;r` OT 6j Y)gت=wc@^#oobA_oa]}Ma?}keʳ#ZnPdoch,W?q'n101IupDg@J-8d{0*jD^8|S[ߧA8q,%NJŜilfh ]5u riCt騻">~P}\xP|hw"B!ͦYH^rbÎ@,0k̃i¦_rх2w˕pKhKw*ڍEXuɱQG} y%kbH`:}Ou` 2zVecq$yW,U53ο%]WOf8tOQW0]XgYcQ?:K Be/Pৄj1cw=FuZdfѤt1nA/RYT<~I¸xHΥeq>jMbJŞIq2c/RPZbKfSiaqIUK.vܹ揉pڈ [;NrUES%BI_&.r p*n= mE﯋sI"\+pp&]@N朎"p!pQԭwRm~xa!,8\:NKI1}YC]hm./IYDQPθ DGfGݣh_S7"F>bXn(}(She]rGn%RQ$Xэpˆ7!a-QFWcfwv":2Q +&Uth:X(TܛяnLhvV Ju22oz*H@}ԛ YZXz#l?3I0aCtbL#u1 V=غa,+h+47NRt YM{wa$o~z`-QK:{I|gPw.d8fJ( >ܘu<7T )Hl8@k;nLl7)mEJ%hxnojXKy ˖K}Ct9"RQ0\¨3ȟ5cT/r\u'WM[Ϟ~PZŅǁ [DF2)}eYM,n Sx*մ4!3de [!6[6j ccH_@r 4'Pj^ z.OpC~)<1gƒzFx9%28qj}Isn_-\X \rMeB,q!U>ϐJF%|n],Fl8b6l1rĹ6Ɩf  }M P>. _AO!okwA\dbɪv܎m2ȱWOS>w".}B$PhvgeT˅k\kFFl4~ju2(m?^]X8ɓ/ŶTfۭrSkq*CV2ahGP-2:*8Caͩ&W!E E~M: 3*a}QoEexgW9(.,LNyg"MC0,ݘ#.$Ъb-] u𫿄~Kh+ꬎ,kLjfY0=gDpcvr!X8[~}LjɯyC&m+vk-~oq辋5 |Y%1UD67oڊؐ{5$x8f`]5cna0Ij |n@E eJ3w!oU=:5>-hJ֊fx rɰoˋsi郏'9s6bs*ڴk++DlET0wC :kbe@? U:/˷'61rh^c ƈSx-_!cuEn/;L=T?;PUVB!@/ U3g}JYpGZ6JUrذ KEƬ ~>8ւ鋾p'H6뿗0FqVX_;5"uPnݚV~#go+=ֹ/a Xp M;P7 9isvE-b<m++FC^ugb&ʭGVm[Bw3D'M|Pm˖P gMޖ6"t+}g0T976gU+c%|Z-?btmM([3ːamf|鏆p8@c:(6fޏ gڏs8^V8*%l,{ b5_0x8q8B 9cZ7[)FG~@d?"ͺ8hw-ħh4pg11DՌ:2ZˀXZ{ƯۜI8MνV&l S76 F[3+t>Cz.$r&VAE\qr"#%{ùJٮή {DngK<@`HQKȼY_<$tU ' 2( RiFp^V,E ӞE'_eWjLfaOuf4e=!k*{;-;QtFSihOӯӀlc"Q愭wٟ /Z!VƾmJ^вe]Tr8C$t w,NRmXieu:uXC<y?BUtb@NJ2U+2Yȸg3T.%2! 6xaim6V1=G#U o !xwB^c,+\Xal$3.o4I/+ڱ rʌٳPW T(K!DZHpeݎ$Tz̈́)h0{ BK7BiLB)5!ޮmjz؎(-8bO| dQҝܕ^xE}266 7zV坓>Y]LbUI]an#FܷV  3xv^ MH{$wmpړ+ 4qm6nf\Ǹ $z?gW4}7ej^9 WV$EcO, O4Oq K}W!%{XռNY}+Zl+y@cGL B֣"Yjf&b tmMMM7kLaVO7Ó^R he0љڨz/kdľS.3Os BP톶r$j8?O!A쿃P$[fgcpp .cWFo;N%@w~ꁣN T)9־LV6^R(0J98+&,%(fRe'hPl̜b{:F۷ŪWLFSg/mU%=e+ji wqޣ(e hn;)6PqΫ0vk)Z0c̏ߗpqb˥"=-l}ٍl>'b`UAn*C4%Zl XAG@z+!(?YH+Y{@D8 p:.ʣQ jI_`(x1j3՚)$Okڋ-_J:*aqofG[K']Gi{Tޗ< ñHF"hLԚ/,ebsWnJK(L(vh&@ eҚ̷bevF?٭]p?R(RaV/{}STgBp#2s./Ƿ#OΐH~MSRV927䢶Q- XAX<jZ1,: b^JyXv M`msrE3Pę 䋘[OS\(Teb &Qa.jˆA"F0IJ:n3@$685Aw,RV4u^#yWf}r(@ա!+_T6G[W(v6&+5avR/'M}N+M66h0h@XEPftށkQi:+5\2SJBOOyM5>L^w<ђS[p(}Yӽ38n۴tJx 0> q&隿lac;_ȹYNB LQ|$i:[E,N╶$ѽ5 '(c17MqQze6 ˠFU25?v=I3J)yCeZ5zI2`JLg5Vm"T<2A_"5[•39[LT13䂁.L]n|7i2z]sܱ&h*=- iP^WhZ[8gIӁdBgc}\#׏S#2L1>QE Km\knш^Y9զZG#O(/ {\逮$Lœ +f&E2ʔ&95pʾ2c b穓ek&65vYѱ bW֖ \q),fۜN +_`oQ<4ͺ|<) g{l]v@O_}Hyz(:! WA{7O0A\%̃ )a#:C 0ȏ@z~ K8 Կ:=|:FƮ@~ID6]vz.8FJ|Һ%AѨK-»MW@.iA͡OXo*D2*vx=YatZ^s:/g/u7{ +,,XYEbFOHբ FH4Ϭ" 8)ڥ,0^nh7K=tB=h3@`tk~#;y ǵlυvN*SMu~m ̻06fOZcq4S$sF>5.^/H䬺dCg$覉Fj#R]k8Ģ(dOD N~Pëpy]hE.uR?NaUHO8_gf5Mdʋ\YDH ڂϑgXMma8eBůlfH'}mxC,,_-v+f֫)LWuN=/^mJ}HPi p#^6Obo~c7\q[!xω>SWTq`#m =d^Ͼk;ul58jɴß>GVB:WzK3˓ayBf "ݷT}܄e-4ۈIRTXU,ѦMz hf}J+}ǚ|YgAMaVQ% ǂ,[9 K:\,$_iywJ׭"MB;~KTX uoXuMG[{6yzȲ;BnԈ-|4̧&Vxn^NlbJضSXvxq n&3n, 6BrrDn\AhB5Z[>?DYXZ}J%CH εHN/4Q׹p/]g_uOzge!f]*QHl']>$1ڎT;1~ }몞w j!Ď[i&j+F1%zCxط=GkT٢9MW]%,݇ˊ++Y`*/kO?1̍DLc;Ϗow!74_ _ҝcf$=&Nmp-^%f#Gz7ZU;ħ݈T*"bW._}X kY: mAE&㐜`>ҏ9;:)z0M{s}j!)&_R B㬡3AX< ۂM6ǣqlA`9촏tΎ@gB(mu m)cҧ"wA> gâ[WMefXݽ*.c9hT1D$&F,Ffplk}^tO/JJ`o@Zr,%+_$XU8\70}01GW$[opEa4Frwel5ZۇN+Kp v)eZ@T&$Bه Q #Bkr1uBNѿ,j}ԊOb8L@XSr2nYֆ_J8jĊ! :Eyء*I%?onM/(w Yy'PY m.S R#^~{"їх.S߈YDE*6bDrüRN:2cA&%1 Ͳȏc.Yc:%7SDw m9{H4q6֊R` YtCZo2eb/+hנ2:hJZ!{p40ɋ[2$*9̉F]rI s * <H#jԄe7&S,! b{V [cbkIBN\)K1&[w,Jl*BǧYj^:#`f|   Ŏ`*I8?N@*9jWa?#nWU>6ZW]n5 z&ӓ>kEoGЇZ 2,E~4HֻIr@fK&'SjN#RM#xo>2rXlXTkr3**M >d쿱M/:DkF!ͧdZ~M2w; K21\G {R9=6ڎmjnǪ+8rtuBT܉ 1+v8hܓ~;j4w'Fd.v7jKD)\SٻzLC{+=$-f5Y/Q;L{n }p*D*/&`"-=(i)xa#_Qt@z9^v.,V%FBXHA@qZB~`x|LȪfj 8rL%H*측, nxqE偬Z-爍ŶNj6e#q3^{A(iPb"zU%˹;]r)|Lh0r\4^x[LTH1)DK a9ڂ/VwS?r(1W0lKgr!R։-cxk޷)p KQIR9; yſ:eα O~-l$z\1;nVnI$t`&.Nh_LYֈA6`6cK`Yq;-Nقzf47->)1/osK*(O1j֏za?:aGNX4g20Il7pmFFs>Q~YH㐪2ϫЅz\h܁;>72)-zqClIɚHm[ x7l>w@0YtqJJW/v6bhm<r,ĴH#*a6"s98&,Ogi'|,UAKrTǐ`*Tp&1{Ӌ{<_:gZtk9YpFz\?,k|}Y3aTmj6`Bw:boyUiէ>}Ey4@A#KMIP*V&q5<=&jGpK_x'+w?і=!uj:U_Jm)WcZ>d]B[$}%#մ iRK][% fB*GuӴpΘirڼڀ#_e^Uml~QDٿELt&$=%yz,6^,c1L2L܌ 1*SKa[p{X ][LmSҨr\ʩ\ P!#LU8&;73ULLDHDOxE0+!ڌ) `Sa.8)2!װ I5½#Y "B>¬YٗyfCdp&yVnTڇvwv#dU߽Bߧ(M`A0 JUU&,biF)CSZGy]ׂψqdB_`jJ{}FW8RUؾsPl = 3P]Sn/L)9tf"m-<h8*pQIF/cH1 gq$ڎ&{eZuPW-Fo-[ABr+˩&R-=$owz+e9TIÁ=B䢽 z7*GoCtqf Ugkzxm7TPʵ{s1]C}9_=O3V+SľªB| `{ύ˿ȑ&p=0Sp?P$Y%s6tE$)}@dل@rƌ\,i>=/)}=Wc~g?dL~w.@]𑒃IWqkHqk/rڹ H(06BKShoRhւ=gYF/Dz@}2#6h*X5؝-@>Yi%|cnqWmtǒDA40Fyp9r_r ʄQ NQ`AX18 ~OFGR8)ԙ"+x$#x~HSU |RzWYKb?op\A((# O wbl _yDfaf̜T5}(w6553|~ݽ2ji.QLQClz5g(JTx%XShI4MKBph/q3E7Y}f+\B-E~^ޤ/~\LjI3 ov^+jk3Y1xzP#&t<$fLy1o.p e:i)tpM8)}I~N>'+exɰdTG(`{sFh?~6vF<|woX0%Sik@c)DK*iW=7xy t ]}Qdb9/7e+UpIn.FAa^ dL͵Q˄;Gt`goNfW8٣*.`ѣRlv'~d28i)s"%dG.Lǽ6g/Pf ?2YfB{ xOrnG[ފ XDǝeՆ 󡖵 jO˩38a[_=~(MTIp lo;8Mhv쭳ɴ#@}?Tl}|٥{&b.I" (;V޼eGJ! |ʎG W.c Q_KKA֢[gԮ6a! \$-fѮ]IZ諙`.e TYi.fK>>x Wv3s{jXpD"VJ/[Nq R#Y4 6swSzA∧jkMfvR5cT"9/E  xg wX)]ö́ mYocJq{RYɐkV!@3!A?,(~*=-ُv*C^UsIahtk )J0{ApZ1p">* ' DTRL2qa6{T[o < Wt:eK)R@rV9ׯzo^2?<@m׳0 a}@<&&-JPW$4KdϿBUF"RZ)M#Nn]Ad=.a%4e;3f bH`ke (nZ7-e `h$NDR+ּdD'>Oj^f!/oQartC9׷Ldc o*<$S:pѡ\bT͍AL;Ajod5Ɇ Kuuwz:P^_n(UNF:whH V첾w֒I2nJ>^1lCTcPnjГ9mYC6|},{ Qb BS\x|Rdwa&]/%IVF@YSs`?=RFjHuyAɓ}-@=I WLb 1JUXԨ8Ezè;AJ-.9 uMN܌E Xp9iue]Km<c ٧82b1x솏ΜT*^כpN/0o1\aq"OC\u Dp3:/pGfM砻Lm}2&LNruTggԅɮ5[5-l]IACiǹy@l4^ cGYcW"Ц MVu:L1\(^`z~wZ i˨3"nsJG%REƆf.x޽oa3(`B!!:nZA6[LbH !YP}-{iS)ۜ [yʛw|#[pB ך4A0sw{th+QE/ͽBmx3nE G Utk"lƃS,Zς(.(*| Ggm2=VR_^k#=]>Ni YԀȯv9.Ltd#\k>B{jqU8} 粧}=Iu:BGk)r2rfC0wc HbYi+:-?DE(ha.5Y T@XkSS:~%Ox,ܗ.gb5U ^ıJt?RF71[;sZ޲(V_]Ql[ñI"ǒHg1ݱNCheO%*zhY<%33BpAǏ{} ]& ,Ǵ1|:]!U]zB)"ig@$72eV][50! t r([tH?w,} qium(8цzq`{]S` AkW4+&܇*hf/k,w!-[#&\q²ndFkǔi ƥ|"I7pta +'r'm7!ӂ H!k-V'MDߋp[׳oj s'Qe 4+K*`?5\w#S3G?7((xq: ;f44^Fvf3CT7I}l^^]Iq30~ IIKv9pفjF1fYGHofW KTnv#$XTL^hu/#cП̔_jŴeo2Fk02fn wJdd:' C>_z ,+FJ1  N9϶p5Co + thE⵸ߔ׋ Μ5Y`RC"T<@Ѹ!vvK!KĶBݎ$,YLQ `(̒]UYNlً>j>7ݦN 䂇O:nd O앙{&^ז?aA`x$,Zw`u_J1 ywL:2Pxp )gӴQ,eN4~m&(e[2ofTr 4ٰP#WĿS f&0&/N"[mI,22ߑr?1N" #d%X~ׄQ}z/]i'̔;#|%G46YUc TTˇQS<zDj;w@1lS7d,P 4I[,uMI#@W )Wo8mIF-5T`OʖPQk\?``+,)WD_R(+81E;'hs+~Taֵ~Ѫ7 ? gX?!iUS nD9Ui&k%٠52a w1ħ)뇝»&e& a2v[ ] گUُP YnbeƯΌt\MC)J1`Wes }=# U.,A̩zN6b^4I鈋lO:Y<%!?:4j8tA" к_?'vrT  }5[:6Z_cןF,Jݦ%F"2!^-=tblQIEd+9.O8<{T%-3^=W'5wNH/77:%TjJz]}^3./AJbx#X%wuw]Afo f;k;J.G>30*# MDۭ*78~Aؚ`.ba jiV@E{oWe3M^X"|ЕNWq 'dKh4BF#6m8rxw=hzYsmO]Ǻh*0t>swZ_޺H/,PܙA_u+(7' ]0Fze 4[S!$}?\Yov^)-u1U?;rp*Uk*RX^q"*߅{ɌAS|_4bo<~2oqJ߸YG潔޸18Y/`ַb9cW^y.:c$ʩE~|&y@:_۸Ñmdh.O3*1ZnlH,6%QդG~ΐRu _ϵHM_דӤxNH΍ /` PB-I0J.uR>򸣆`h#qrФiW(sNru؏ӷ7ē?Ò?r{g.5sJIqu(=Q®)b8ìڍ %Vo仑%QDÄ6eDLy {ip60LVQ0Γ޻B"74K_s0Wpm F*#yYQNq1GR8)FWv{_~pJr.u$LO*E-@A7n?^(×V!@hZAXT 5M8i92_فQRĕ^ab;>G]Y@W$9:fktiGɡOv?q'< w~wG6oo"GAS HT-md@;qd^axn}RXk]-wZlSݍё]˚XH);W; rPM+LS8"(_߱~yZʽu+MK^$A_8 ?ti~fV>Z8'52aEkIqfx `$_rfB~2DcﶚءhF+ x ̍fr?$IDc*Uv"z+S obYW,EԽt\L;Sge>>>y[@8hּci XL'*qY>-! )h,?,7A] -!E*WdHmݶ–og4C@g!hf  -{:UuV GF -8uM &,xq1܊9\+ȸ{ fdR ctj a?OuKn1((N,IBW S- {wLO%;`e$^E8V)P᫕R-Px-N3Ie]č'͆*RA{O]տl'81M4!hٵmTuD ͒~-G7x.~[ID² b|H-4Y@lJ@*-cao3ZF`7,.U@'>&MKћc:kVOt-3n|7x䉍#zyO<&\\Hʥ)iZY^ 8~Y)PAgbQy/58 ,9mDQdK7}z2m9<ϺJ9_LDDA5MNt/}+f16ɺ%Q܀JJy%}j?Ji@]C3MfnHo/CΜR ; ˳U[AH1=`DOTD KN!2ICeghIxh[$UK'%T.ֵG"B4{ovvÛmXry"L^#b L*U(otIKD,E!."oTzRv:n,6DD#EdV]d"^m)Yoy'.1\op9߸@H l_8rbw![|I!T)PFR}`ɸ#L "HiuxOM9keQɹ9Kt)gI 43Xml<[q&3Cq"ok!:ߩяl쓛GQ?F݊,N7!r:MCm]:ؒFa)҇2cɸ0Ϟ'xlz(ď|\hL"KFUM: @lPwk̹;XXC4;`T`/IoqL֟2Tˆ8p v /î>}-݅h5\^v ck0l?ؒX6Cwe3{MySq|:{zi vi3 G 6b )P+sndVH x0?tɹ}uPPQg >?ִj񞴏j (ESAr/y*3~Z[.Ԃvr,OvQdRޅ6N|ei_ުhI}lS} "#<[P@|9_VKlP;syW+E)`;;?8;[`GN빭B> Ew }P`yN*rg9>?f.d7 Iħ)ʍ",Q{4y.X,$΄qin>kG;{qf:$~IӃ*϶@|M1sd@T/#e4ȓZEVVCc@@b{t<7PD3񞪆8ʥ\Qkb}Բgv_' -c+jM/aH>[vX%{9uϱ/hN= Y 0A7"@Yʝ>u_vyXj]6]Ubȑ~z cOm/Ga)#bHo ަO v+N!ҠCF7ͳ9s'\~RI$vw i XM1/]'>މ8p0HKoˤ@"m3ɝxZ>U_i}7lʲUy,0͓xE' %zl2| %-36pjWwi2?X; c"+r)lt<z7!ϱl#yjff!*B"qܹ!i! [L7|)zAGḳ{r:&=4t(XJd"eoE`VDYȴop*Q5r:/5y(C <}7K+a2%JݥV~QD8|Tbzl!LEe b/i,ƐU.ԯn*Fwف/o -9qP9*k!bH):3υ$NQ+b| aLivᩙ@uylT}4fKUCO_Xh4oˇQgCXךn%oEgQ̔);*܀CWEyT",T8r"lLp8l5!*P\J&%/9M5]tdA%B][k-abZ 4H*E[9w+=G F +dCe\EO' n\N6T] M+ fu_pciy n.V:F<@El3dzy|?ozw:>5NK8tų3K; Q4Ř<)͠v"'. u BfDŤ}0}g$_-"[6 5b- GQصYi O|Pdhni<#RyfvyR)meBqȫydb]:_{Ү%JiJU*Nt޺ wv-?ļ]Ie?LDֻCss~ q"U8[n(Aj3F7~5hI^ת*zmAdschX._YeSc2s3aT[l1?Nq'Ea;Ph'LsI - c X5fn}JZg ɻ]K[Q^'8y8^G{jeRG*^-b^BHUe+Qxc":N}Lov >R 荸jntJ2(QONo| W"+4YD))aictpI 9uT5C3Y;8PdL޲ГY=jU=`^_Q\oÐD |^pI7ʙ`T ܁k>=^u /DÝacFULˋ ǸkCG֎S /R-\a4:sʨ8X K}RR+Khɴ?(|3*2[Ѕ%!: zjD}լZq!Z5;L)H|' \{\R3`rO^zJ")eI) 4xDaom¤৏m նݔ]|fGwjԗ区B*ieΜrH~㐉>m[1YR[*xF˅ nS$kգHI{(*( "&H=>`=V$񘐏dųCo6P0;@QITGE7@3FUskӳhOqT+%dulnۮ}pB`dav2Ś(h-s4Wբ![dTv؅>\49@WX"`4Ry"O l+4ttst +;<2s]wJ>]BI7HڛPL. dFSq@Sln3&Ń4:sy#a"ݿYǾNAv`h! )R,b K}K9:csup0ߒ0Lɘ́^Z(C]9]#J۟` 4e<꾇Nvɼr~$ v١j2.NPL,Y& f2Enoŕ+ fPO~iG`WYL[D%8I$Yd gЇFA1~[Ll{4Q^2-C6g3(:^0 X(lTJ7s ISO/Kr=v,ؐLRzxWwQlCY0B?~<j81IF|Y%x_Vl}@ X@dfU@ 飙 ]NJ&54;m`yNW{8E79Nm} g3 eAZY}(=l~5mV'-4TvrF U34ʵsHi͟vJn2u(|ȍ_g ő_Y?P:` 0压Υj6o/P;6qWϮE0 Ju g/am/W-Rr˶0{9(%@=gԪfn/w"J(xC6wupiAPȳ&@29U#U*L%nU-D *$͆x0/O6}a;7GA{o"b G9k+ЇQ䜥^ GD^(e:XqK8'vHgf"z_QJϋEa_4dɡ*ffǘʉs<2gGőe F¿8q 1_!Mu]"̆oÐ8YZ&E>zCW0J}ίlwW j}a˴2a57,>EO_t$$ow%]3U:ivh? 9:~`+̃vpް{ſEq ;u gbI=,X̶fkn1;3zt|tv~jٚnU Oqlpr,^VQ1{{0(*.3^_ ̎WV|/MUcorӧt)E';̦-QʺKOvIZ6n.6YiْRNX1X͠a?:fGePy=nax|n8jp[(I.NA<<w4N:?;vˍ-0BLgQ\AT0~TpB3~dDT  vHeѡ?[GTfBvY;~ܨA Xچ<6DTg$:7" NpU6:|Fv˯܅7K?| y%BdyWmA: lb|2p#~A) -OmsnvezV(5rzm2BѴ%>m co hh1LcETee"#{[yHa{`"w&/ [Kw}q<66<i 7ݺ%Z02 S bmg П,~W=E@"EMN?3o%i/~ 5!vMf'D{{M÷T>@ݲU=I"[i憬6ր$.lʩ- ͞Ih"eCqqVo.-ky-IM;z{*cwXs s=츖z1X%)D&?(KtG >U$H }3](mQ΍͞e8P; fpvPz5}K~_48xj2e>1H) ?*^QOm5v*ɹ ^'CkąҔy@p1 fnhZGy!%G Se3 &FZ5] !rA **8ޑ޵Dd5KƆ7-`LE^Cr .xH*WcFa9OB`pS7>ϭ,RKDU‹d.8Myd)32ThOL3u>@Gɷ!}mkK\uQjqgET0=#+8~:+ '˿VG3aegb 7Nx-XY42u|)c@/qId U$ !? if Kk\e_`Hc|_;U&vhW z]U>(v1eQ<_ZZk1;eX>nPrE.V\IGl9qgd%Q |"_5KǶ>N 좧fol8g;S0SGaz'0$ &1=jw$) ]hK1]bEV k"]' wc=N7] ƾEVhw~IW7x3nJ3tɁ~(8`A#;a͑>NBT-C_TDڅحaZ56 x'6uQ ZVR)6LMkIEQLz;Œ9#lAm' xFV_@0GS0 )+~ i+ HaLw2xM{UJ3'VSq=Љ}3?qJ(3 f6-<+?5i/c;V;'ju]^KI|n)0IZy@9چN5cm#F'A YEMu_RzMsgc}a \+":y,T/rqS(ٓ#1pG*+viE*T;fY sG7SIaS#MX-l .9 .;/Nj4-=LCnY"FEO#Mj54uʩRXK86YhR/xOyt?~.u T4 DF؄˹奨[ȗ,gGXeuMAN-p'6X`=ptDZi8ҴZ(nWpZ-2,3@1jHY{(H _*P`nKELsMȨ\296wwC4WUd!\RK_r"yX"˾O45V%" Gj`ކ,t\0|::yBFy}/&8NU֜'3gcm*, 4]tW[c쾺.ΊRJ"n|}m#t+4A ϘRoGx~/`)X{ʼn_֘X:xn3|<:\)[1+> ZYEahv3˾}l*^R=vh oBK?Nke p^ Y?MKK<ҤۛsaN b7_^|Nsc0Vq@GTD+zWmK[ϗ)Ov߾/3XO~G r?ͯZA06M+iऩo5:? &;,*!;N13:2"iF̧vEU?Y4'';\9tX{r6K:1( 玏x Py77`8J}⌠W+6>OqvFR.^SpA%l:K;op`Ņc;O?J&OVG$W9ëW-;kKq?:^ަMaXHj'~Wp\!G|ns W^4TI P\ +^'9&xE[ GDr{3a 2(j𙙂 䣕n0PP*r:h,- ni.' ó/s>N>x|cf-:%;}g뛆ѺT2TBʧfR21e"#g7Et[{#04~y+*Nbկjr&ehbpeX녀yw;QlR"$h:|=0/ϠሼxLg6$guߚaX񬨯V$-fϠd,koFӋ/ab  V_G|FT &r<4Rx쉥oC}OU[‰,l~h==͡|ARqM̓'ͦ.Pr401r{"|W/$Rh}RV/tXͤ79ֵms| !oҀђg(Js=ifUl=w=i֙:!]C۝݀~ ?^ ՜aup{ޥD[.PlDDZW~d9'MEpדy]JdNPS> &xr*:FT7Hd!qQhuz/>O>׌[^f)W6/Aq*R$ B@!Z'fU!Ifz@B/:g=!kdvƾ@ΛUֽ,agϊrBs]ӣ5L\YZ7!ڮ',~ۜbr1-x\̼ P YZ