dpdk-19.11.4-150300.16.1<>,Tc$'p9|hAN0˖d VzooDot{81o"ئry.&kn@FF%/(lwl&%/"@:!eUZpO; i3V3 D/Z@< 䁳P<z#GAvv;B\4xBvX$_-<>?4?$d  SB Xiy     ,DbCCCpt}(~8F9F:+FGpHIXY\]^>bHcdpeufxlzuvwxy r 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$'sangioveseUSUSE Linux Enterprise 15SUSE LLC BSD-3-Clause AND GPL-2.0-only AND LGPL-2.1-onlyhttps://www.suse.com/System/Librarieshttp://dpdk.orglinuxppc64le ` # (c$&Gc$&Gc$&Gc$&Gc$&Gc$&Gda69cf0d98791dfd7401c2c74fcfa6fe840dcaac6df04e44af944120cb7fbbb9c4872c5833761a2bf11bce4805e73e6eef2db92f57ed708b3654ad36e4c5a4144bfad87b685203e4e35ee26d78dfda508b88237bf4df71997b872ccaaa6bea75d13cd74b242042a6d15178adfc5479fdcd8b08be9af5503286a49afa21a959916235b3f676f9aa532673b6a947d3807904eedbe7cfd8d146e9c519e977689d9adpdk-procinforootrootrootrootrootrootrootrootrootrootrootrootdpdk-19.11.4-150300.16.1.src.rpmdpdkdpdk(ppc-64)dpdk-any@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@    ld64.so.2()(64bit)ld64.so.2(GLIBC_2.22)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libgcc_s.so.1()(64bit)libgcc_s.so.1(GCC_3.4.4)(64bit)libgcc_s.so.1(GCC_4.2.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.17)(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_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_Updatedrpmxz5ppc64le-suse-linuxELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=3198e80a992b00e93170b3c299bbf1e31578e606, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=1aac7e6d4ba358bab0fbcd52f49fdd694f9f89ed, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=d8cc80e1965ce66e07b719daa9d0ecedaf689761, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=1954843d6b22013728b084eade420e2ab173958d, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=3855a1388a278c04f50863842bce699ef2625098, for GNU/Linux 3.10.0, stripped&7e. RRRRvjG(67VtVI[vxm'3gU"k\ҟ`U^$I׆cbQ|n6 4FjB:e#7l\-{Z1X\֨@/⿔ɖ0=v0 onem,,u^`p@?;Lʩ ۍMٔ*W@Q(M{Voo:Bqu!11/qɜWu%3JCR mtpIU[3jdݺi  hp?9 v6( 6ӻ Ө\*d q>8E]VEJI2MF:t CKy"l0ٝ ƜH3%K#ϙKwcFfZ4jח9J/u*Fj7J7dBRpTiahCJz |Ť8J/\D IyK`*$#{R!M(JkE#vaw5qw(jG1IMrϢs1xaKiڒQ`bLׇlϠ'!X{rRY z՛Qx%^tw:6A6f|K1~JPBrqIfͭzḂNҠΛ2e{k2>-!ogy _]qhO6u]~K$Ay ՜!?5? D%A(jI67HfȾ-1}!Iٶ2-]qϨP4Z2,}3J'wxBx+ƾD?@bh@tvBoDg#w5m!fwX wH8 f0 J.Xϻ8I5fCGP4 FDO@~yE3C#iG^d\&"z<|jƊP^EM$ww,b`{Z5>&pmu XSdKH+š7L6b {A)~]Ҹ/f݆s"Ÿ{?gonE 6RV/Õ}ٺ2lj\FPj4&ms|BmUne&|c\g nVvV3g6rF4J;!Qx%؄>8܎FX>$DbN9{=:F`G7Sbj׋7=<#d<29hם] '/nҩ+T努wvscmM{A_&w+"٪ GbgD7ln֜mdW.NW"*6Fu$Ew*@+Ƒ:ۏ y9_ǩsx`pK^ O ?~x9e,aX# %OdQ]<2Eu1wtʏWx4 5mn2vpYNZa9fO>}FqמDSʄ} qQ9~UGVzp {{0[NeݐIMQ1A&?Og?m9ׂ(%M~,|/\.FlnB[%yzYӓd~[f Wj&զe:n44mW/n!ܛ2iV&I>Y{ EW-NbL!xvZ-ZUN z ^AEz]XpzW6*Zpy {؍wOr ~gB ȴ4=fܼ֚!]Q2H75^p1D9R2YK>w۔o x*D/QFeTWU˝,[:%io&:كy>7nNS ^{z (yYvOhH 05γIv 'O+4xeg @U]0)ehfPV$FBpRKG,dgĉcsui&A;@KY ȯ hT0&\Զ{0@hy9OKN&P&} g|Oӊ.FCPˑdMl.d\M'W3_FOn{/p^u˩~ Jt\vW@-Aöp(fU'((g6ca (iE>19l<`̲ EıbS6S t,oݱ6ϒ/ &Dg{qCW}0OGm"m"%[=Jq(r>-VӴ/lG~!@~\)=2ϻФOpWhf8(X8(sW32+5 4m֧…;O(D%48k Il@x)M>)+Kle]VD-$0k^<7\P͠up:H^-r<͉SV hV:tyz_M_9֧ZD.C M2LLɋ ؤYlZ,:e}:*hy7@vǘzFrծdNw9XĈVjf0]H{aDjAX8EhŖb H!m2?% h"( s6 Er y#T7pp&)4GoN)dNItqѐ[5Zەe,#D&a awo D"^?]!;!rJ1aP%- ;UszkLz,DM.7]:}{~0b0EU]R4c8K6qJBL͝$ `L dKp0ZiԄ(>K0BOİ㠢g\4oSj\ ,rn:gx,H6MFc*jSKtW }!呩k|9cux[ǖϾWnTh'ћ`hJD8xPiA:P0 O]U2#Pw 'HNf|Au/^.|]hF2~Fzv4!Up,`AkFLmP5yL68 :C t^[^vRkht"Ubek7w6X-#Y'Ɗ0 “`?sD+r񭮲k+iS4ZITB,cA&h`b\gW*[udA9Dr~$S9QC^{RZ^Ԓ|h(z֙zMlHovM&>߂Z &3t7)Mӧ0|YMeHJfs,v#|WB~b|y;CzQd$55W"uh3{vU&sl5" [FYGˇTaYD! ;(|-Pݴ[c_i/U'^ w x-]Q@Q eߵ%/fv8Yln F"N{_`EFYE%_' #|GhکԳ U%{ C_{ 0z?-]/ψ;]2 2b~o^6qCfFEewt$GZvHCWF>M^5iGS4A]׾H/4ۂj# q!ծ+۟#Z ՓZ8tK]b{P4zjyVP @lK:ƦoP|#1n }gcG,8-(";'_t_EyA#'p%}/(xݨ=B"W^,ʒͭ, NЧ-OwfUL^: @٥0ӘF0#-{xM5SAL)o_ &V+[E4̗Y+fR~P`@nn"⋧oCGC n:g04b+8De"M$7ERݿ?F{~OY_jfH8?)Kpq㸸?^Cnx CUW ?c3>9b)-Ip \5!b\p̍ hzK/~Kl8pþztpTMʈP?r(נ ђ8Fskrr 7h2֚ 폻C3bIoXjGY:Qf͖tpÜ$t $!isJ}b5Lm=q9=xo}:oA|+6Õn,mcbl*iZ> J6-V}0 c2|P4qkJJ_lkTEGy3DѵqRkf5/f)N_SʆR!?KqؽA}5GL YJj6,ʐ,38u@_TecztZ;7v"֟b϶۱Hu|tsKzxD2ՙL7M]n V%#`,1ǻYp2o>ȫhw(J /v/jI@Azr= V^BͽUgIr݄ҭ3Oq8! }[*[@,#[؄jvgH/*q䦦lyFN. EO'ؙr!<+H1za[ z%` +!>sueQ&h8 X|`aJƽR™B\96%msHwWvP龗IÝG!=J5."L 1tawAM~ XGʝb{RNjp%э[=jT>Mc(IZďfDvȲ˨44% 0m3 pY{]M+P+euθȭي厾 (^ː  SvTf^öveJQx6ɈIGO7z*T9NY,6>F|N8 ;yMT8#툫`GսLct:\̵3_SPE߁`r},U?~o%y5 &rSX'먮9/hC@Q[ ʞ=~ (OVM(?oII3)7BiRi|+\.Z}C5.|2.]! 1E8UT`tcnӗfPqǑi!B<#vj5PA#__EYٵaajI^JQNJøiFY>L@Rkn+v p[Wn@**7ŷ2rs]WqwLDGMEm/[Lt8-zVZ/Jj^dN*l; :o>>ֶ)o`4C gp.pʜݪJsRFqjDv&̍P)|#O'7z[0RKy\G"r>4s?M 裦ZZN<5 5 ؐ:/w$3N)0̟_.'Ci;:þH%:Jc0; R`h;jǛBl `o4KEgɃL`iYFG~mD6 2 aw2Gٴj ?x}.zQ,xhd`r"fpy*/kj%fv2TVF(wܭ|wF.oɐ{DcG8d%,LpPv. ZJ=^]5?YaVeOޜ.a-3S/*>DİZʎM]~$avrI9 wJ>OGN]팇Ap68Gntה83He'd$&HRb@ 'ng-2];C2Q0ҎghqhT|HNV-mޛ,9.G^qGoȌWtbPlmDX_P3mfZG*p %<ẒS=u WޗJtx0u [3o_[c'!"࠲w 64'NAry%ein5giւlV0^-T*'Ò >UGݎe/Ǫ3?>ܻ4d? ٰfPJ&݄ 2N.Ie kZ6uI ][J?Qq8O9S| M%vn%5tMBwh,\z,U>@^p,h0}C:j0=$=iM ؗA@;DU -#ak*CAwsŌ)+,5?kVm`Rטr?e4Xp΃uQ0}"%Gd9#g|Ol1܅D.O<2L2|UED*K}+"mM+5V+BoujlDvm_>ĉ͑V?tj兗_ȍrչ$k?h ehfYv~ 5Owժ( #cA[6h 198Zv.Eһ<ܝ啢2i}k{^ܷF;(~˝.5r z@d:uKFT-n9q76XHLЛ ׀TMx<ם1 $d-{ұn ?vK`M?6`gYjѸW3h7_om]L4A֫j 9ˠC_X$ X{ջPX[ 8 {b4}rNn?Sx!+2i:z6?05t>A5+{7}ov$Fd9bAؖx_sE\UaƱ^Ei +eӠC 9 #NC$UU#ہVPXm#5}x6#SZ )A; kzQ& #\(J$\|fE%v!ȴBՀƩ`v˵0tJԥ]I,eOߦ8 *j(a)IҗB~wQk9uy fH@Ms"F8 fFDߌBĴ'VP{_&d޲>4%4k۝qqMΔJ]ye77a$8oZOfFUQO˅FJU[e̶3yК5PVb/.sD?󹟻3< !<pہ<][ bU8rfJ]X3(2dCJt|1R}Gt?^'sfW"^-7q7ݷ0 iEEBy};ZwA. 叓|+G<'S*~e?$IJw,M$n:~1|k u=Ӗ 3lL3 vv1ک>pq&&2\A6Ҍ?|Bp1t( u1*CdQGauKlv:QE& X}VjVR4>^TF 'VKk{.ERe)`9W쿭glmԹ!쉱s?t=Ǣ3&f\_(ģt$839H5#YF|^S[WuDϺ^<%'~5DVІ/ 8H*sJ{E3ÑUKarJ#M)0`#'9x5u$cӷ{M3KZz JQzhrvw+v=1:\X'0~12ѝTIg|U=t"'u*(Z pdf~îї|4!?7ʯ{< @O#:x 5LlݤKJʺ g+<LA4QQϭ#oB3D+_,F Vzېy$ZחXi~S{DM_oORn?P棶E}WGȯCT/=[ƒڎ8aɛ,j<>MZgSꤹQ^QM($I+ᨂk7ѱ;bYW?4ĥXENJ YvU>k,f :a+{%e4s'1I\6,Sךw98s {Π e#ձm AܟD|&nw]@Y l9v2-`ë2~|;i3^+߿Idpm>Pmcs_' qPt2@ BTZ9Ae9G;+JS:;X$bRL9 2Pv(V=}De&K؂K~$-**mEV5]ɷ !QfV@(RclK8qš>\ʦi<Ǭ+]U,Ž=2?=$:ͻx6_@EI1`N Q|j"Iy>gc9d5mWV:ҫ)t> R]#Dh>^O'0&k([via| a_,p߰v "Yln}-!L>|q qfk ~RXg{ʺurЫ Au-įа*+v xav[#weEyfI_C[.lsYTP +aU7uM#LR 5 VKOK\kLJKgڭ"`D(_13[6TG-:"ZF\@_MƓ| kTpIF~8pmٍqZLڡ*C+7dӜɸ2u h\HMH۷Ѕ_*(dWaP/]"`r=e?a/o~K:Zcf*[Of8(\b^^m0?>t32SQg9k##^؜N٭:Ýx7|<ɲ;mPa@( hFwM,АG:iHW7s =bsf< Ï(C{WݕJei C 6ڎfXzb{0^=BЫRRe!KoT$,Dwx4ܽAt>{?:VmxxM(I_gƯ=a%X9n==so‹%v= UFp1lД}- R#<J"Fk},IgLߏӦyK 1a@O=𻈖aA32oa&)zU.Xr_.nc"o`>0T!Ka9HgwV- t2d\s]|'.'5Ô-,RR;зiI|Pd~_ Kױ@$|APKuڟ]l6eIfbH1Y2 B*/9 Ndqvu&MQ?C3Ur!sD,# pL*ď|Z?z2,M:FOEO?ڊSN@*J].q:{b'4WK<%NRP|ק/ ؋ \:9(5gE =C"E)&(\2`Ѣ@=<j0^3_y"ӆ` K(|('k/Lg?k ִ#1VF5 g֮ L=օ>^7X8d DT}1T1dOd{B:M6lQO^OBP~.O R.25Pȫbc0/14ʓ̜ͣJ]ZHh" EzG;uK[au>ᗊ9z5O 5!ԈЙZ]X#%4-^ǔHyyDȦ2urVaJCFX@C= Els@&^- fS7(!ok2u]s}M/␹t(HMWH5xV3`HiR9 ̞oivtYao@)3O@2q5[0Zzhl BzGzb DtMKl'\/8\eU 6!BB1J8@Ԉ??+08zG;&l#O ),'k~8Ԓ4 UwgA2^,1g\*e\&@ELi'/bv]UZ- gG~,_]U鄔r"6/௲eLhȜN $RۮW423!,c%.lc^s:pqBͰD'޹`1z;Cjj>=*Sƹ `a*th{*] O mk2D {I |gp}3#^vO%IxjAI#R~bTIg&p\5Tf< jB*#ɔQ|Y䉁mDn>'r&@s.uxmβ'rw]9+o}r~`fZRs!^>bZ@3=" f7$"1M.K$P>jh^ `z:nSe2W8d Rvm1kah.g^OWFb;9@.ЃUt)Wϐn*U\ARZ{7̴IFsd%MQz6 <"G 8~;!<5n#$ߦ!}΋SRXוKurN;-6ծYM`ămW~f& bI7_}QwɄ63cXTX~֌H2>,NA%&V@P;LRO*@.f߷ypø1'@,aŌ%( |HWB7K"-_ kuaW=x"4:4Z E䶡J1e(#<(Œr ~4v##VtP!5Sn /mQ$#kH)G=T] WfmRg818YYQXќi .<#80[TdNe)75OBfcџ(Wf9+P7գi6BW鲛Q'CO>nXqdޏAZ0hnV09}{{<:_+̥|vХ`y($ɲtlCr: ъ@$L.q[CP-;:0,WHrf>ӷQřu^L#2<^*ߺuXF8O2c7K"VN !!Da9b%P{#$Z{l܇,V$eY斌]Wf}7z9jь 6N,k@:XN@YC)PFEl3h Rjeai{_W"o% E{XPp@TY^" u-6-_ajſlvAYRp0Ly;U}P5hRU v9ZMLWz6"hQTVMϿݔ>8,~L&_R_i>Xmf8 2±+uXvJ]@=yЏ$WNĜ".%?HQz9N$\餲8R^qx4wh 䄈c@&aE^Y~_7%9wG\Zyqr1k s$%OI;k5"7SXSEXA\;ktgPY$}k`bDm/t|؉WqNFH"i2l,O;DZ}W/kb'9*>XMD:^{m JqtA6Q[:Ps9uHn4ɶXF„g$|TjQ#dRj"h:w_0}]VzT]r%K3u\^#\$Aygu^g_mn'CK  ^C hz N  uȿ5S*b.OxslSOĊw@{Vؾm!uSĜ0CmC<މP.e{g? x9<!C4M23Z:0+IslaeD})S'NӰT`{䦁-:um*k8l6k#crpݠS,8ߔ=Нaa%$~JURYߙmLh)ѸF0_KK|`yJ?٠8- ¦$V\u -`_]{I j8S˅&CEƘ,Z0V6~ɟ$n9R!{Kk;PmF{' E|Oot[#[{]e8FM\d6Qd3k_m0>ڟzamSJT*KHeD~wcJagYJ甁t̡#Rv!|9[& uVI'1T,pGG/xEuN0<د0x"Pw>z_T I]uyX(EDߙM_ zqAuϳrCX7V̎QQ@fjB+kKV(`wNՆ`| }ѿh5:m™cȓ3i-l jӬP DH,T)Qi[ThA 6U;H~y_9ηJO;n+6%☼* ~'@#e3!1=gda[w}x@>aQ0[Atזz9즏璉 pW^K RWx-M(c+HGc·;:h-gd.LTHgÐv" Q1DʎPbФeM>zkDSEWA-qmCfꏡ l]a<^쳽X-B~Ҧnmuym *xCG0 Eh=nnahh8vn$sd3gL2%EI+ _7C?uq֞FvOG(lop٠J$ϣj/c F?0jRplL0S#|TS3 60/XGĒGTdZ^7~{AŴ$8SǓ+)^2R  [fJ ۜMzG_- (jd˱%D~ #y_.u,"\oWɜk:IIJ-*Kh⧣]iY݂.]bA#! V~hHfd^k !R~̦ lsoRLdG?8uj"l` ׍c|lhlⵊ&ݳ#n@䮚< h΃5ʕ>eyCP1:TcnDm՝t Bku'Ϲu6XLPZ`+/G%k;˴<9|k@A NkiHD|9!/ȱtM)c AK}L&.霏 @pqǿ:>X+3MCVyhF$R]c nT3~=O|QHB^dPw%N>yFNknʣ~He3|#S]8oRuGCJEo3p&,}0)( ,z)]y8,w-Br^!J}z{«FP!"M>#ʝTM&PʵTd4 g8D^Jތ{fS0'Fu*>dǸװڶXZjf-Le#ܷ#SSd4H`Vrp! 'znS I0hnr,Jl|v}L:267:Ah4w4\Μb` &p[k'Ka$Բ HYhn1g /mkbp Gk?Elh)ו:>#ݪPmOd" $2t);p?P7nzWzf7jlM+' `< +k~& Xd²dZXk>('e#s_! o4Y)OnjcpUĻ(J X͎삖(V"w8XPQm6~ѧ< H/NGcf2Tq_P™,%kP<@x$36뎼guֲ~0-"t 4 HgΝNLC0L7fH*'٫N{KQᇎʄBf) 2诺123`Ϋ*؆,bvN,&An[hze+pyY3cE}[fEbro$abU.@j \Ό{)զ WMomq겧) N&dZ&Rk * gys sW,cH#-گZYw3w] DK(DkVUL50qO{0͉5^8DX?f)x'ܥZd`M(h~Nt^ '-GNy(ױfXUo(}&x~fy<֫Tq\4I]!7gmyf(I8>@;q8>BX0F͎X:}9 FUMvo+!ۗɽΥA虮@?Z6:!@&X Xċ=O&<30IPv9LeDq ywfE9N{-yhn!(<%̆}\z%>F`R o'dj*=i5`@QZC/jh=5!ߟ7x#\`xE߻/0BvL\`_ȓdgf{OHP5?OqǿxWdX8X3d`D?\ 0q/.ʵ㙍hax&#@oZ]&h$򢩪+" _ 8HtiܶJs(فVs0=קs0ᯧT<޸484T"}l\.OK5m'o|ف$+2`=0["ɓ8|_5EOAüCw"vUK _|6G`5h6 CkMtJ5-q/-3ىCߍCQzyvCeݓF> "K/ ҫ?5MMTkM[V}=h^{3MBF* @Aw(jiKʏgdu(d>*탚`QmQX< UCx!}|p7LC=_;-\ ZV4і U8cegSCp'ư} EY/u zdvDEFIa^;$ȣWX|g<|iƒ?lh"^-ϒ3(4clcܲ~PAO1w,܎W=(lvnryi.1բWp b/7prMzvleK߬9 ~"j !FS5WCFf]#pm5аD{%/6+ր߉r]5 mT̘?XgR7cnoPz/*X:e$AÆ[9yF(.,ɶD TǞ&+ 9D-&w]x"SL\aD᤯nei]c'4-( ro" yn0+~0\EWt Gxݮ|ךP'z>opLX WA}1dGD `7f%ʈ]b>LKv,}|кfL}5!~ w4j镵3g ʰ5> C2ǒxMhK7i֌tAu&>3'x1w;Ҟr*ęuWK+/ѥ^:{QsC­8IąfAPh2n/j d4j ž]GZX@QxIDxPc ^s=9IE,y񊘇/4i>E&_:raM͋+?:aUo֝Be4$GtЊxj Lbɻ{ή\A#_'fferc_GPL Z`|w2/v|3"0z^ ]VA3)xKIUt f_ۤȥ˗bǭI<8ܜ1B j ۂ媄li<>׺\tiTILvNx#4#g]:zx/H<:$-U>cjڄ!ړDȬQ4MLGH `ױѡk]XTcX RJ/_WxI`L+բWVF rˬKBɢ'I$Y19aC~t.T :SĖ^x*U J+ bhYmt!B݇ .kSŢ-'L+,#٬n;t?} T-Dt7?]"G\ŀv}0lYlz2EL~X:ub8#%ӏ 5r}9#f) .qfqz^L֯M4ղ>`= G? fիnazt<>fTÇ]ZP‰{FSfS᭸CG]Ч)FJbgTТ),.$\%,2C DTngGUxcְ^>Fh{J PGI tCUk3uŨ/խD'M D&|΅O~ Q%WK]_ z;XBd !-Tw\?M߱ś ;Z_2 84q7+S?TxhGG+i?gdΫfE+s,3#1vgaX7y^\A9D 9io9nM;|0ţ6 u1V+pƴ8YAd"9y`W&)KVeʺg7R(ݙX(֭NM%5-hß pTk,4d2v׬!Kzbq6p Ԑɱ=e]rOuQ_Dydrgզ8XTӿJ2Pf r?`s\6].6Nڳ66tƾ$N8s?t"0{% H%ŕ5c*ɮk2U? zIFyT X\7gGT V0EqƸem,H!9`CL.=x5Gk<͍Zۂ.t1 wd!hinM A`aFhVVr*ޏy{s|(Bk5};c83Q0gLX?d P{yL*۾wo :;m3̅vuјg/rnu@xDIM7< V9#|eaƚNeT\ QD`wX>,-V̚ڭ!m)u?x2s3H~zz/ ;NP|lwBwZ >4e[A}a Dez%?Hh \u+CC5=]AfmpbGLx~@b#bztϟٯGN ;QP5P+(WAvu4>WۜΑPo1p=5Co:GFh5fI7C78RRZxiƼ\x.=uxRfrC%e;ek0'.ZǷ( A詯O뽍 K!ヺG;{ mBzG0+fP5\0V)΀ƕ2~4Pog?lW&$S.]ڏZ.qbWٿpz#lcR<el5vtC-\6vh~<&jN(ӕ}TO&myW|*w$õ+TМ:ެ+$Y+"*h۾%P^D:(ToJrث._lP-W&9>@Mn7Zs@R60I^Xi.| x<#NM0rT_`p 0N Q.7/AYYc#_6c: 3JlKArf4CۋB3lTU;`Nf 0ܙDn *: f\GkL2 ^lUE'.T1aGiTd{d0`١+B\};;'_H9x6nR"?w7}GYYᇺ)ГFdxtUӿˈΒݾQ`pͰY/!I?yX7Ua*s4HDV}2 tS `F݇c.+owiG"(C(k?[@k?3l{<0qmZ'u4ROLv&;-92oFƓJ#~bK+ctkhlb*D9k9/Atۆ>7Ŭ"Ʈ]`nN1=U)wd{8pBm `h(;5|wJh̛ GNz =KpŚמ ׄz ,P/*~ƃ* { vv 0'`Z![3Ri$O.M: ǥҿF0 )3e{CŹZ*,J㱠3kejt1XsM31AW 2hϑwDZMۛyt^Ql$<#j! =2O\ WP>HgbGߗL[>s^c1]=6$ [Gq!x CoeZj1|O֭UH3vMz%NFtRԩY\\ &IHz4txT7MVujtB妭(=4V @͚ʓK\N~JA`R(]S>~'z-.9L#Քmfyd|kQ v% \JG2 h:u)k`XX {>JFlDб.͊GR[$y=*BͻR%uvmy(n=7!X}ԫd~auVI[q#gIs[ eU;S6wjY[+ypc;Zj.(AIcḡ֧@5Aw"^m{Eaw_GqA&!;+OR:r}Y#uf>J%.MN*xP=w981s^صR943F!$*&>C1r|}9WxRR?H&B^( Db4fVSj O`ó0QWb~O˧dCU b0IrA.)Rw7uMՔj ~vXiZ ^N-GzmbkC2rˠ\:-K6}`Q}*H b[Ь2nP6`i|А(U@*G%xbLlrV8eKb`Ylx" UYIxN{@7;~8Gxnߌͅxp1\ϾFM|y)FQ`Ne:ܾq&ӍsMF?avDJKN~I?nEjdC I*,A%#oOyi2&h ܈ũLBJ.Dp|N!ԐJrmU c~=)ftDN4Qung]L<3Y9wC[Ÿ:kx hW(Pz|~+ Oꄹ'$p,ͼ,$qn&rˉzBQǟ ʷcxӡd ڙvX~l4n%E>[Ez1H^,{uI,͞,@l?3>7^YG6;F^FnCdKa{-*I`NN[IX{g'`lcڙ^rv\ Cwqr$fmI2:n>^u3#mM/fzs  b) 51@Ҟ$b2hMVy_\V8y/Eu|I%CL=_OJ4+-!=ڞXwJ{"gӪ7^\F1͖gNo*2͐xpDto`Õ=kD+ux.|@e҄Qalt.ֻۓU&oAւnP=࢓*51QZqk&&el3} 6+Gw=q "lN,yPbq75HBz@# F8;В5olHͺ72'#@ eޞY,szÚ y.H$-T:M=] l z`S4=,=l}>TΕrLvt'p**̀P{w 5y\̽g=*t@T΅jEd>H\u/T+aѥ-(@Z EN \ӯ`"25:0;0>׽ϭQ7lFukO{e Bb!3X(+7t4O11X g%FVGg|{䫘k}Yd>o`6Evb.$g'|;0-w(x*-`)ɒz:(_AVQ Duy7ƊP蜃 ~`+gI'QN&;:ӓ-pe'񨃭M&FN e0l!QL#) 6Tי(Ȑ8lj xVO˰$1Jjҹ)%yujpݺ=<5"9oɱB8{yPebCyP6.7zG`#"\vÕ*1^=;ۧr;l4Ph[tXJv<0 u:ޓ/ M<[FK FpBKVhOl1Y?Ŗ}iK}&No13aVGxs6cok?Wy`|2}P#FvӱNa=b4f|%RV^(-GY_"hlb؟(Z?Z8ڴ].9s^T.mpy ^*c, ~g9c :۱B,F?=WO9f~WnBD3DkJ΍- 7屨9ca(m`BPc((úopfh\p }k?&Zb cV?CCZaս8hGqkf=n3})#C6h!6zfĉ7;`πj#UA]Up3FYnU Yjh\ۮW!xv}i߅$ɭ5m>HEf4U EHM߈3je5d? j Ȩ fQH._ٺ? G^ʺ;#'?K G4eyZ#TRWNmzN8]룱S'r~0'?g@f'ڣ695T`Rz: /_yaHl;2 E6gA|W>,^j.C(fl(LA*[IlzpHc $ 9{%|*ZR d4ӭ@cӪ vǡagGoiU!Nnx GK0i/uTY^5po^e}"GG%U祳+)*'Qה_Y]ulnXGsoʶPket0n]}3WZC80`Ő |N` A|7zWq~Q >tc6\IMTq_θ[Ppaq:/n*O.V}'&b:?s6tKcZi ;Fv~i?85bmiQ]p^(+,sjRmUX^a:o ;e昸eC+r͞pzP $P K_n#[Xܮ,->·LD7!\26 4iщqLk@JŖCA sB(`t1ĶpZSՌԼ­ch|؉1 ô. SeazJ=,imM'D((i7~a}(FXB3nC/@; $ҫYyU?--{y+f%UG ]ԍ':"ViѮ%NJv ubRY%uޗ >nVϱ]o95ٷqj.34 ZtL>"C)^LIsJeĔy_CW|Y (?BmfTz@M@U,|g%ǭn[:/J# "|''hz /1۝;!7ʙm0% lI+jCh${mGZ8gP:B ǯU>q2Q+pԨէ ^uIN : w]5)WmƷoYtep-@,y͹2nɚӍկ' ,}T'0@iDt 3T Kd>wwP "T|ҕj -bu>R#D$`ϣІ/4OUmzP;_K`'ڢj6 ,aW#5r Qƫd#-i~Gtnc=D)gցK-__\CGz=-Z`ioag_^ʳQ#o҇+°D }{G=ONWG3/ \cu[xȐq@=z+Z ЖRArCZH2YP%sWҁR}ٱs@$^LdڜM.22& {4E`59+޼./\Ԕ]W}dUWsyVߥR7ϋEblXʄ =sv ppS6{{!ܴҢpڊu!'$ˁLىI0$f%Mfz'uf W2WŸz}O;4`w*N*2Q_rtMT %p+9D;-f"EGci}X7v~̦49|E\vûH˂X~Mq`&Oi2 E` \JDHd'yp ڌ |ٴG_`׍/gB$Uih[cӇnCB1zm̱lMjry$.W6y ~+f7J K6G\˖:DhlBwg{%lygKND흫vQnfVIwf,TH]6룦<$ % h b^/=6,CY9\jLP1Dn6zmx~npy`0Nbo,]^zeF [CWvD8=@IJݳ8c p9R#+I4 qQ7"GD d㫻CDdd"᪹L?Ԗ)Z6HwY2_@}⊟ŎQo:yF3Pj#Ɲ43/Ncd C?ӫL#T$ZO'{ TJ ˮ=t׽ɜlUڐCc8l[i62 :")ul .Fy)զxd]A=G*1:?~t]XpH5~/(p[/+l0U M"@#}W4P))k@mi%L1C{T45z8Βh8[ˡ U ])%{zЗt>+.C&DTv AtB@vLsMy-8+IA_b/z({ v_nٜo绷 E(s>cl2@u؀(uJaj8SFlx)CR! w>8tj{{%g,嗂Gd#:uUR%FbOQO}5ۘk]7Y%*!^•;vZNd`3I;27ϊ#sv24 Dk'V1rtrzB!gn ~cO3h' O?eAv1N`wuÚRU-,\tZ5hOu^ѣ2Fхu:{7gad&eXo W< ۊN]Xoh0$؞`CV:msP՝&'^ٝ3{lښK]Y 4;3AvXO40 l`ԩ*SŖ4Q5P5 X&Zi:A"Yկ$D >v 38*u1P[QbT_[Q;C3HE`ڶ}F,i&\B1`MQ&w%Ae:2zka w" 0Ŗ5phөCVu-! Q!ﺀjQ{XaϦb5trW]>,&ESX%7q!W(rV|9zI]2y>$]t,wi0?"2 ^W:e,*N.cNIu5z2hi TP&;dnxNʻqgG>=c˨^W^ IIW-ȬP8Ы #&BzNc.T͌Wz -e_ξD?Vc{%.f;FLOft7%O2dH*v) $slzuz'!EDE9n8mL.Rհ']aTtZz\'GJ cV.9C̭ 9#ud5Ut#$1{:(1J#Օg*_& 6yaN g-uKovP Xn9wrvL;U__״";m8ԕVk0G `~ÁLg p KRp k^~fݲEIi;.>e!>r&qki7ׁf5j3򜅙;w/rT[[lƑr+-಍%+E9"YD )jV|X:gf ͚w1 p0<~y-b #{u[a2Dq?oH)ujT1{q;mdEuMa1PTq15%?0X^U,<@BRw]ʕz!i,EXl҂6<\f~.(##T?Z{Z_'[E!6E_FHgsЩZ}+A8nHC6{gQ=`bc2ߝ5 K w@ l\K$ @&0PD 0"k=w,`vnV>>7򈀃& C‘\,PRF\6˜\12VDޝd.H}yɴ)D^ꗓ*᲼su|ݬ4k٨ܢV>5O띊ׁEW}XhN $zlR)<83A Y#ys9酶7iVX.;&R=p76Wٞ,ro)#y<;/+/x]id)K#Frܱ`+pFjӨ¢ׯFԑe}/paޝO $]#G=:.Hw:2$pfN1lC4ܻ~vfT2*P Y4-<`gƊdcH Tn ǯKFm.VEw]sͩZX~@tn| DU RS7d("!ޯ#b>9l5'] /wSD! Yt\=cRօ ɶAs=4 lkʲ^ĎS ,\2}..DyNVx![2ݕfWY w3Æ=ߒŰhԪMfDGUvbZB}@W%ij+ QtP#d/OR9ִ3I,vtNži88bLGv(~3 JY` c)+kʉUp̪4sΣLFa}Iae0N>p1dD(J@ '/I Y~5ŭEZcdP|KȻnFΪa)6\Ҽ/ZdbO?Ov |焖+oI[gZ#gɁ'+ˢak^ 0ؔe;T$Y;WtbZ bٌ{9vz~>ѲEsgΪʢZS ' yj#~w y)5EJ6rE#KqN ?fUGWqgj@] ^c ;\QL^`ѝ"Ls BH^;M_D[ϳJUIflP]|g wTHV8+:C u廮aȻJ:,K"DWe~3GFRc%Yp RHG.2d}seCyEԳ(PdRo,{ROFsIUvU:KsᲿj:>B ۑTEYǷ5ڥ"]}(bDԘ8T!:Qƻ"6گbʋs‡~@\K(+sj@k0,Yn/jH1?wh:DJYT ~*ߥ;tV\.7ːΙfQ Gq;fٮX5jZ1!]JӂmE{5ɧ_ @1k &GrN7]c\y^ƒc>1nX[ % }sX'k:i `s%gŠ~qWtڿ;u(~YFOn&(ʚD%5hAxոIA#Sg75 @e(_<]4v/iXll LwAY9X4$Vt 'iـ^m gULn6RL MAS> @xb+R\~{t`g&&%i'?tU'@br ]-%{vꈑo-غCVXE*@cџĚy"0!sobV)vyy07k_G㰚=3I'Wd"s䧚+Bq"IdbfL]̅`mfnkEH0|gy{gYm=6uYGρRV&I\'H:Ɠ9HM _D>j|qc["]lSa7wmƩY&o4xU6~̦Ⲁ˶٨2VIuüG?I-\ wTpLMCO>V5-B@)l" 1)??u{7$7271`¼TU>%\BN2JW"8?pf'I  C5Rja*`$U|-[K' ]f\_(ȭ^yEӸgd"+ ւ-j>S~ӾGyO|zIJ tV 'T w(>\R?ejLDd~BD;ha-'KU- cݕE6W"Կ VA)+(q5pT^4 n δ> PqKm"ّ,$qLBSLsgaIgO!iWFKUZ+V׋Z1b|]:4Ȧs XtO!ϔʻdޙY~iD9)kM+%a'I(MVoȝoM yO褢}6֯we5CX@H Nj. M,I~ g6f2Kft{gA"Ԡx.- =W 5xHQ^|͏ѯQqw{!ZzgC,Z**Ae➡+,I-w(s.OF ؽ!>݉k!ʓFo_]d:bG w ɝ3r*s<$6SgL8g~V b:5ACbsVR<Q9a䚓F>G_lE)<2 ތGFK H|!΋P:8dTj(|fP:e|E<{@yOUPө])㲼fZb_u +)# JO[gZ&fzLйgsX+rJ,0KJrAXҴw\f7A:9MFtH4-Es_Wׅ? .c0H`rFa>߫Oob6iQK\vXuU7m6)@ΐ?P/\;|.:w)n;s)(ZC24PU1ocVSCB܀E:B9@L6lz(2 _ڥ¶G\nji4$O )/"(55Q+1r nllk,ϵ(۬[%^%t T-dpb(Ev ShS;Ɇ^x s GЪ':~@qDY;JB_%o *)p׎3M#c{7N]aL[d/|=/9ߦPSZuFxԡ.}=7E2CjiV^x9  J}Rz \L۶l{DYiiۗNr+)ww3:"z&+^[a C i ˄Ȭ~A ks{2HYzK8 oԴiTr26?*&S6d~w 8 %PϞ.ghѢCc&bkLU_3XY/|V2ZrA$SQW:[+ҚfxhCdaI[' dt0{rF- XX}1"ttRx $G#z"W9 v1Ê,_'Q|p9\GrU>;޸mOxj"Uv_p{SO`lJ*u'f/QöQŚdEX#]sc mCWw-7Lrv{9iWRvfHYBZ;zL"|d!Q~}#iH&"K_#gZ+xQZK#ٲI*l@RH<00᛽aC{pUsh_RŜ覍{#C±ّ6 "{i-@qsd? 1<[I]U5o$ R<3Y!#+1g# CB 4=>b^^gzH&5֘i%큆'I ?t5Y|ӱlOe$ܵe|:܀lTt_S3euW Gw{|t!_ Mxv7`yezr2#F;P=M4ant& *ľ~AB^3bTAuGbj)k#B>ylJ?8mVemQzqd\'gܯkZњ42A96⒧M>2eP ѻQp<u_&D#?7&C 2xn&T昫³i{@|1EY!x;?Ԗ[yIuֶG' 8('߷dT+#,dCLW; F4?ݰ%J༾u6$yugAH, }_3aQ>EGƲL;Y^Q0iwNu)~3Vm|x[2GqpK 7E$\IT1p9Lz KV5+= S6!ÑizT)!IPyi z%`DrZKvǽ6?"0 qRm;{9~4 wݩ# a tsJRk BaO~?nxj($V&fw 6 N~>^o%"ZInܴ Uj1A5ͪܓy8Pwxvmaݬ9(ĬoEv2g7YM34Kq11[X*0WkA@VɃ˓G-v[\?"U.1_yu9} `%ns2P9"@t|_Vh^$#3.FW0|A^!gyd9zdpLmlC-ލ8r̻c):L+1L PE6(,K9=8pcy{:U*V CYb'm (U& E)'6 mH=[*3MWT1 GR{-8B^]#U fbS؁eOO?|bCzA̭#븓rkOSKs.6zkASsLQ;4Th͘ENo\h"_ &-<<9bC0(4{lVʽ -/qÏj$@znoBt%_p{2 JH'>''S #B;"s)Ly + zŁ/YBC=.A׊ѵ$(*h ed߃kQƛ|?/հo;vA$N£!Жd4 x$I՞/9KpKJE ]-T-Apӱ@o:OXD+ n,n{a|p-D`Jʎڃ\yh0uYa[C&a&ZzUrwfMekCuBsHh1 i3 J轐]qu9I]GptŦ1$N%4@vA;| 7xv#b["yTYf/."1b|J6lp՘wmg^lpyWH*4e GC̏͐xwЌ~kVn&P(UX[;>Yg&z12Y|U} 0hoiAJW'FUz_l6JRXlTAܘRm*(vT-cWcg|θqB@ޱrA%a]gJ0VSyB\jZPҩ={}o s$Nqu55INE9lF3.CU㩤P"D[bǒp2vN9smhK$ؖ[UdZt&u2XBGH Cz߳*D`8y ϶1r״w֢_ҏ*7zl6~+`S-JDlޒ y6Xfo-Q9mY>[W hHq,A6mo>߄:loF)oBMM-# ӟuX]q"q"%GOxT ײ˓ *}\>v_fm_{ [;ElP#23t9ii|;stcAC*I`}/GasUP;$ `dcw%Ncہnpf'4"> ɂ(fRɭ&-ُg <} AsI Vʼn6dj6:CI'`]L"1;lQ[  BpP8ěsK'F8Eƒsc0 )$7,'H 52"[K_g|1f[+K;?W :Sf BuCpvX7Uuw)qc;BO|_B cH/z[eȿTM151I>UEud'<[(jRZJ>h}@);p[w )ҲJEtosjQϛ+L"Ѻ h~8~߇/৛50tg "?v 3--cܐ~IR׀йiFX=slv&y%~貿ˠ~czщQfGzAtqҟ[Ry*)hПGQId-&*tf1_teeWLaz?1ҜHdZlH?nkᴼa+ bꐷ0 jhj1o{vkO0;9J11CM RtQk? GnQ h' _N!ÌxFo@W Aw^?.g>{h%?8/f~e-[L% {/:I7[[C?۲i%5VyPT1 P ܵgMi\ d3D:Zef&YEqp1TKK2El|Q6%w62/ \1Wzx!?Ğ{;;4e&|MvDzgfĊ`5Eơ 6de_D-Aýw^%Qyt!yoՈx)Nz@l+GXD_vOaj:Z WD ƔcoD꧲= A9}40eh9B$YH`^%­4lצ=sts|#Ēd:c:w|zllD'HTGJV>C*=j C6U!X]~υo'W[l&Ws<{/U./ v.\Y ~"dQ668\P|vf}H_.=>z>ߏ#գYq+9mC jQHWe-M\Ż\f Z_ h!cS4%m*(~MH1@) o'b8h(y#יF Ȣk= hFJHd@؅K\/ukBv*5/6G\tLd`xX@":d588Q<`ЛSmIJF b}3qCva+[eZY ?%9EWfB]ʛH<>s@] ׇOȻo.uOޅ@ئHi~F2inubbbS,~ꇖFIFe@ڱ5f$`u8fAh`5UV eR9im_͜N"x?ޱƻRj%CyN6k/%{6/`sXDroY( yL4Alj0eobyK K{#4s]ie4t^:pu]n~ )!G+S]-̯ ]j^ciFۣ}`{Zi便=q/t`ʷ@gA/}}PHS+B=E;r} ' Ǯ3:zpx9zHtR~Ћ`uAϮh cd[kuZwETj*|&^{W }hY!,VGpjxYМ;#̷Lj$hj&.sŞz! dqP\xj=.boEE -ψYix˃ J@a@>1 H!8'[Guh]3TGm NN?Un3%mŖӘ>)7LGUuccޱQ]#Vް>TJao) 4еOI%vt1:Δtǰ;3r .kC~(r3|[Өv/T~MX{pK<K8?[ʡd|Qx۷R6c[1~LٱЃ@k-$~0}wVRC7.J/4<* #ݓl[O SOݺ9JfWcY4^/_u:q|`t'"WuT}#4I<'cܕbg0rH'A>0o.mO1QzE%.0' U;I>ֻeZ.)vOuZ#-*ӛ=(p"Be┴C|EjYJäpլ@1y6s_x" } KU[p&[^ p,>NxoGNp v ,vXJL`BqvD2 };o ~X'bTqR%%B8@ %8>.&n3 rX!.CI!D&%ѯ^Aq߽=c*)4`r Kjy:e4 t WP&&scԀc4BE#wT>ZCS'@ > Y`_:uq*R/CMFujvRݎvPjDmӬ6 W3-ksvD3P54_0-wuSzLGD HAӦa6ZGFy-DžQ$M'Z4Xz\r)1s7ږ bm_V'̚esʫLMW v*u+1h tfܴ$*͝tâgvt ZWur Cc+A.I8Eܝԣe g6\9 ^P7΂'"7ab.&lM{~݊W{O ] :ިV'/w3t] l-\\zY2@{ްM!̱̀aA% хyvqUD R"n ;۴'d6Ch[8yK7C|hxi@Wdes]$ӮI ih|dף#Ttڶ3s!K )"9Z8ٛٳh'$UplC>2bphHFp;4W..״ۯS&"L!6ͅKUNHItUhA33 {.!EI)HMo.DAηH},2.һ73+y^ K=FKD"zZ=4p-=Ylgz95o< |2fT4}7|b84(E1PӍ+Do`#UE=\ E akJd=njKbҨmJyP}Ȱ3SZ=2"dD9gGPE"q شl.9G 5\~tܩ)X}MAiLxkc_4*oMK|LFˠSxUڊyIw ;c;eOr^+T@ז]ͭ+S4m ?*x)AhO9<}ك&^ |*5^YC}AuܘX=ʅ׶cYkSq"TljG煸Ak0}aczRw* 16Lm $Eu9MԯvL@.n[ҵwħx٫bKjM#XPm%G~N =@\䛉ReTFμ̪ ȷA_k|3Z_cƅ?jgUEmmBFmf3c8:Y Q!9Z lnf3I_k&)$ߦ4MCJU93# VQflz<^O_@wG3{ö'.9{% 9W9_Pr*cApbG } i [neO݄LLb"]!%A e& T i' PO9&qaj'Unl3:%=*%^`gp09skt*ѥ<Ǐg'g$iY*o|DDVM Lx+ V[2` J "֨ms*{ͦ)|A6@4וm>WT25q5=n A=%utų}ާp$wz\A3ENg<*o/ys#@DOehT qs(7<.KTTԲ `lԠV=/˼!Kamٍa0xP8=ӄ[~v6Ї '9< YZ