fwupd-devel-1.7.3-150400.3.5.1 >  A d?p9|6Gה$CVwz)%gۤ.tTL6ݧoNIyb5PUQ9iOrfKwV\e  l!+.h./!`ńV"[ሶsR(?BVgN@ì^r3 Ok̢ZL4]p}r~cƕDɅp>?d ! R% ;[nt|    'c (*,/2/T1`113(383[95h[:<'[F~G~H(I4XY\]^Y bEcdnesfvlxuvwx y,zCfwupd-devel1.7.3150400.3.5.1Allow session software to update device firmwarefwupd is a daemon to allows session software to update device firmware on the local machine.d?ވs390zl36KbSUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-later AND LGPL-2.1-or-laterhttps://www.suse.com/Development/Languages/C and C++https://fwupd.org/linuxs390x>r g 5r Fd'H*[9 RX'Z`m mJ!s} Xs8 k=.w Q . 0 a &".;QH594Wޣ[/ libfwupdplugin5)- Update to version 1.7.2: * This release adds the following features: + Add a new HSI check that PCR registers 0-7 are not empty + Add several compile flags to reduce the install size by over 300Kb + Allow overriding HwId data from the daemon.conf config file + Allow overriding the firmware GType from a quirk file + Export the component release ID over DBus + Remove support for the SoloKey and ChaosKey devices + Show a daemon warning if quirk flags are malformed + Speed up the daemon startup by ~40% by doing less at startup * This release fixes the following bugs: + Be case insensitive when fixing the device model + Fix a critial warning in ccgx found by the fuzzer + Fix a DFU crash if the attach failed due to a hardware fault + Fix a Redfish crash when specifying a URL without a port + Fix CLI downloads when using fwupdmgr --ipfs + Fix critical warning when /etc/machine-id does not exist + Inhibit thunderbolt devices to correctly use UPDATABLE_HIDDEN + Set SSL_VERIFYHOST=0 when using Redfish to fix OpenBMC auth + Skip UEFI devices that fail coldplug * This release adds support for the following hardware: All exported MTD block devices - Changes from version 1.7.1: * This release adds the following features: + Allow specifying 'fwupdmgr device-test foo --json' for unattended testing + Allow using a filename when using set-approved-firmware + Inhibit ModemManager device in mbim-qdu + Share the Common Flash Memory Interface quirks between plugins + Show changes in HSI attributes when using 'fwupdmgr security' + Show the user a warning if updating may affect full-disk-encryption + Show translated firmware release notes when provided + Support loading remotes from /var/lib/fwupd/remotes.d * This release fixes the following bugs: + Fix a CCGX regression when loading firmware + Fix a potential crash when dumping Parade devices + Fix build error when sys/io.h is not available + Fix building the Synaptics RMI self tests on s390x + Fix the CSME CVE detection for new generations + Handle EPERM when running the self tests on systems with IPMI + Mark as SUPPORTED even if on battery power + Only save the HSI attributes to the database if different + Raise the client timeout value from 25 seconds to fix Redfish startup + Redirect the old HSI links to the correct place + Relax the ITE SuperIO signature checks for new hardware support + Set device time and timezone for logitech bulkcontroller devices + Set the verfmt of the returned device when the daemon device is unset * This release adds support for the following hardware: + Dell Atomic Dock + HP Thunderbolt Dock G4 + More PixArt devices + Steelseries Stratus + Wacom 3rd-gen Intuos BT - Changes from version 1.7.0: * This release adds the following features: + Add FuCfuPayload and FuCfuOffer for future usage + Add support for an 'unreachable' device flag + Add support for Logitech devices supporting the Unified Battery feature + Allow adding GUIDs to each HSI security attribute + Allow installing the LVFS remote, but with it disabled by default + Convert security attributes to JSON and write then to the database + Convert the device test script to a fwupdmgr subcommand + Create Redfish user accounts automatically using IPMI + Use an interactive request to restart some Logitech DFU devices * This release fixes the following bugs: + Abort on invalid SREC files early to avoid a fuzzing timeout + Allow using interrupt transfers for HID devices + Allow waiting for multiple devices to replug + Fix a critical warning on a Unifying flash failure + Fix a regression in flashing the Dell dock + Fix Thunderbolt host controller probing + Forcefully set checksums found in cabinet files to lowercase + Force UX-capsule over full size BGRT + Make the SuperIO ports and timeouts specific to the DMI model + Only probe SynapticsMST devices that have opted-in + Remove support for --ignore-power as it did not work for UEFI firmware + Reset the CMOS as required when changing system firmware branch + Restart the daemon if any of the the plugin config files are modified + Show HSiLevel=0 attributes in JSON security output + Update the child composite ID if the parent changes + Use a per-device global percentage completion + Write the BMP image upside down to avoid using a negative bitmap height * This release adds support for the following hardware: + A huge number of Synaptics CAPE devices + Elan fingerprint readers + Logitech Bolt peripherals, receivers and radio hardware + Logitech devices supporting the bulk controller protocol + More supported PixArt devices + More supported StarBook coreboot devices + Union Point SPI hardware - Add pkgconfig(libprotobuf-c) and pkgconfig(protobuf) BuildRequires: New dependencies. - Refresh patches with quilt. - Drop sub-package fwupdtpmevlog, no longer built. - Update URL in _service, new home.- Update to version 1.6.4: * Allow overriding the quirks directory at runtime * Fix a regression in flashing the Dell dock * Fix probing the Dell TPM * Show HSiLevel=0 attributes in JSON security output * Abort on invalid SREC files early to avoid a fuzzing timeout * This release adds support for the following hardware: + AVer ATLAS CAM/CAM520 Pro2 + Cayenne/Spyder Synaptics MST + VL819 USB devices - Changes from version 1.6.3: * This release adds the following features: Fall back to the parent if the child does not have a battery level set * This release fixes the following bugs: + Disable the uefi_capsule plugin if Redfish coldplug succeeded + Fix an elantp crash when starting the daemon + Fix compiling with old versions of libxmlb + Fix detection of 8Bitdo wireless usb adapter + Fix the 8bitdo N30 Pro 2 install duration + Fix the modem-manager report that failed to get device after update + Fix writing large redfish firmware files * This release adds support for the following hardware: + Poly Studio P21 + Realtek RTD2141B - Switch service to obs_scm, and recompress to buildtime. - Drop automatic changesgenerate, upstream have perfectly fine and human understandable release notes at https://github.com/fwupd/fwupd/releases that should be copied into .changes.- Add requires to udisks2 for dbxtool update. (bnc#1192344)- If the machine we install onto has shim installed, it is likely an EFI based system. Require fwupd-efi in this case (boo#1192206).- Require libfwupdplugin2 by the -devel package: the -devel package installs the .so symlink, thus we must guarantee the target library to be present.- Added hardening to systemd service(s) (bsc#1181400). Added patch(es): * harden_fwupd-offline-update.service.patch * harden_fwupd-refresh.service.patch- Update to version 1.6.2 - The fwupd efi program be separated to fwupd-efi package. - Removed pesign-obs-integration, moved needssslcertforbuild , SBAT and EFI signing stuff to fwupd-efi. - Moved libfwupdplugin1 to libfwupdplugin2 - Change log from upstream: https://github.com/fwupd/fwupd/blob/main/data/org.freedesktop.fwupd.metainfo.xml - This release adds the following features: * Add a plugin to check Lenovo firmware settings * Add initial support for the powerd daemon * Add support for CapsuleOnDisk * Add support for installing UEFI updates from GRUB * Add support for soft-requirements that can be ignored with --force * Allow devices to only accept version upgrades * Allow discovery of Redfish BMCs specified by VID-PID or MAC * Allow the daemon to request interactive action from the end user * Automatically connect the BMC network interface at startup * Show the build timestamp if set on the device * Show the user how to switch out of Wacom tablet Android-mode - This release fixes the following bugs: * Add the alternate vendor name into the 8BitDo allowlist * Allow multiple devices to set WAIT_FOR_REPLUG * Allow the client to watch for more property changes * Always ensure the SuperIO version string is NUL terminated * Automatically clear the update error as required * Disable all UX capsules for Lenovo hardware * Do not assume the metainfo file is NUL-terminated * Do not save invalid files on LVFS server error * Fix a VLI regression in enumerating the PD device * Fix a VLI regression when installing VL820Q7 firmware * Fix enumeration of the Synaptics Prometheus config child * Fix parsing Redfish USB/PCI network VID/PIDs * Fix the fwupdmgr progressbar spinner to actually work * Fix version number for legacy Wacom Bluetooth modules * Ignore virtual M.2 ATA devices * Preserve NEEDS_REBOOT on successful update * Prevent a corrupt PHAT table from allocating lots of memory * Read the Redfish SMBIOS table when required * Remove the vendor string from the device name where required * Save the update state to the database correctly all of the time * Switch from sysctl to ioctl for ESRT on FreeBSD * Try reading from /sys/class/dmi if SMBIOS direct access fails * Watch for children added or removed after setup has been completed * Work around a XCC-ism on Lenovo hardware - This release adds support for the following hardware: * ModemManager devices supporting Firehose or MBIM QDU * More models of RTS54HUB * More Poly DFU devices * Parade LSPCON * PixArt receiver and wireless hardware * Realtek MST with RTD2142 * SuperIO IT5570 * USB4 Dell dock- Remove valgrind from BuildRequires since it's not a hard requirement anymore. (bsc#1184248)- Update to version 1.5.8: New features: * Add a new internal flag to opt-in to GUID matching * Add D501 Baklava device support * Add fu_device_set_battery_level() * Add missing uint64 read and write helpers * Add Qubes wrapper source and create packages * Allow enabling plugins only matching a specific HwId * Prompt for unlock keypress if reset command is blocked * Remove obsolete dell-dock non-passive update flow support * Remove the Hughski public key * Show a warning when parsing invalid quirk files * Support for GATT characteristic signals/notifications * Support more than one protocol for a given device Fixes: * Align the CCGX DMC firmware to 64 byte chunks * Be more strict for custom quirk keys * Check pixart firmware compatibility with hardware before flashing * Correct a thunderbolt assertion if kernel failed FW read * Correctly erase STM32 devices when transfer size is less than sector size * Detect SREC overflow to avoid adding ~4GB of 0xFF padding * Do not show a critical error when flashing footer-less binary files * Don't allow device updates while needing activation * Fix a regression in the elantp defined IAP start address * Fix a regression where activate stopped working * Fix firmware update of pointing device on Lenovo ThinkPad Nano * Fix the HSI plugin 'Disabled' state * Fix the quirk key name for the Lenovo HDMI with power * Fix writing to the GD32VF103 bootloader * Only call elantp->detach() when writing a firmware blob * Updated StarLabs GUIDs * Wait a few ms for the Logitech hardware to settle after detach - Remove GPG-KEY-Hughski-Limited from the filelist - Drop upstreamed patch + fwupd-bsc1182057-fix-sbat-section-copy.patch- Add fwupd-bsc1182057-fix-sbat-section-copy.patch to set the proper section flags for .sbat section so that objcopy can copy it into fwupd*.efi (bsc#1182057)- Update to version 1.5.7: New features: * Add initial support for Bluez bluetooth devices * Add more supported pixart devices * Add support for the RTD21xx HDMI converter Fixes * Convert MBR types to GPT GUIDs to help find the ESP * Do not allow updating a synaptics-mst device with no customer ID * Drop unused heap pages after startup has completed * Ensure SBAT metadata is added correctly * Move the plugin build logic to the plugins themselves * Only allow verify-update for plugins that support CAN_VERIFY - Specify SBAT metadata for openSUSE/SLE (bsc#1182057) - Adjust the meson options + plugin_uefi => plugin_uefi_capsule and plugin_uefi_pk + plugin_synaptics => plugin_synaptics_mst and plugin_synaptics_rmi + Disable Intel AMT plugin in non-x86 systems- Update to 1.5.6: New features: * Add SBAT metadata to the fwupd EFI binary * Add support for GD32VF103 as found in the Longan Nano * Add support for RMI PS2 devices * Add support for the System76 Keyboard * Allow downloading firmware from IPFS * Install the UX data into a single .tar.xz file * Add a plugin to update PixArt RF devices * Add new hardware to use the elantp and rts54hid plugins * Allow specifying more than one VendorID for a device * Detect the AMD TSME encryption state for HSI-4 * Detect the AMI PK test key is not installed for HSI-1 * Add Maple Ridge Thunderbolt firmware parsing support * Add --no-remote-check to ignore checking for download remotes * Allow creating FMAP and Synaptics firmware using builder.xml Fixes: * Add support for the Starlabs LabTop L4 * Allow using an external ESP again * Ask the user to reboot when required if downgrading * Be more paranoid when parsing ASCII buffers and devices * Check if the fwupd BootXXXX entry exists on failure * Clear the pending flag if restarting the system * Do not allow flashing using flashrom if BLE is enabled * Do not allow Lenovo hardware to install multiple capsules * Do not parse the OptionROM image * Do not show Unknown [***] for every client connection * Fix dnload wBlockNum wraparound for ST devices * Fix OOM when using large ArchiveSizeMax values * Fix several crashes spotted by AddressSanitizer * Fix several places where the Goodix MOC plugin could crash * Include the PCR0 to the report metadata * Report the lockdown status from UEFI and SuperIO plugins * Show a console warning if the system clock is not set * Fix flashing a fingerprint reader that is in use * Fix several critical warnings when parsing invalid firmware * Fix updating DFU devices that use DNLOAD_BUSY * Ignore the legacy UEFI OVMF dummy GUID * Make libfwupd more thread safe to fix a crash in gnome-software * Never show unprintable chars from invalid firmware in the logs * Allow using fwupdtool as non-root for firmware commands * Do not trust the Block.HintSystem boolean for ESP filtering * Fix a memory leak when parsing Synaptics firmware * Fix a possible crash when reading the Goodix MOC USB request * Fix crashes when parsing invalid FMAP, DMC, Solokey and Synaptics images - Deprecate fwupd-bsc1179790-disable-hintsystem.patch- Add fwupd-bsc1179790-disable-hintsystem.patch to remove Block.HintSystem from ESP filtering (bsc#1179790)- Update to version 1.5.3: + Lower the CURL version required to fix build in RHEL + Do not use meson ternary operations to avoid bumping the required meson version + Added Lite Mk III + Allow setting the GMainContext when used for sync methods + Fall back to the misc device for serio devices + Actually implement rescan in FuUdevDevice + bcm57xx: Refactor CRC code to remove extra byteswap + bcm57xx: Fix CRC check + synaptics-rmi: Don't crash if calling ->to_string() before - >setup() + Fix a possible critical warning due to missing retval + Add the serio->firmare_id for UDev devices + Export the driver name from FuUdevDevice + Allow the client to send PKCS7 and GPG signatures + Force the remote kind to JCat server-side + Only parse the signature if the remote is JCat + fu-main: Fix sender_features insert with wrong size + make platform integrity plugin optional and disabled by default + Add quirk for Western Digital + Mark more user-visible strings as translatable + modem-manager: validate firmware update method combinations + modem-manager: remove unused byte counts in QMI/PDC update logic + modem-manager: make sure the correct interface number is used for QMI + modem-manager: udev monitoring only if device switches layout + modem-manager: plug udev client leak + Restrict loading component types of firmware - Enable supported_build to clarify that this package is supported (bsc#1179790) - Drop fwupd-platform-integrity.conf since upstream disables the platform integrity module by default now due to incompleteness. - Address fwupd-refresh.service in %preun, %pre, %post, and %postun and provide a rc link for it - Version "Obsoletes: dbxtool" and "Obsoletes: fwupdate"- Update to version 1.5.2: + ata: Add OUI quirk for Toshiba + libfwupd: Restore recognizing gpg and pkcs7 types still + Register the SoupSession gtype when required + Switch from libsoup to libcurl + Fix sync method when called from threads without a context + Move ABI check to Github actions + Enable github workflows + libfwupd: Add fwupd_client_download_file() + libfwupd: Add fwupd_client_get_user_agent() + Only download the remote metadata as required + Add breaks for fwupdate 12-7 (Closes: #960688) + Install modules-load configs in the correct directory + vli: Do not be clever replugging the MSP430 device + vli: Make some trivial debugging more specific to help debug an issue + make gcab optional + Fall back to FAT32 internal partitions for detecting ESP + Add a flag to indicate if packages are supported + uefi: a new option for uefi configuration to use UEFI removable path + Add a section to man page on scripting + synaptics-mst: Improve reliability by waiting 2 seconds after writing data + hailuck: Add an plugin for the Pinebook Pro laptop + Allow setting global flags for FuHidDevice + Set the SMBIOS chassis type to portable if a DT battery exists + colorhug: Don't set the version format to triplet at startup + Allow components to set the icon from the metadata + colorhug: Fix detection of version on older firmware versions + bcm57xx: Fix reading vendor/device ids from firmware. + Remove HSI update and attestation suffixes + trivial: make dbxtool executable to fix snap build + Ignore an invalid vendor-id when adding releases for display + Notify the service manager when idle-quitting - Refresh fwupd-bsc1130056-change-shim-path.patch - Changes in BuildRequires: + Replace pkgconfig(libsoup-2.4) with pkgconfig(libcurl) + Replace pkgconfig(systemd) with pkgconfig(libsystemd) - fwupd-msr.conf and fwupd-platform-integrity.conf are moved to %{_modulesloaddir}.- Obsoletes and Provides dbxtool since fwupd 1.5.0+ now embeds dbxtool in the dbxtool plugin- Amend the spec file (jsc#SLE-16818) + Only enable fish support for Tumbleweed + Only enable the MSR plugin for x86 + Only install dbxtool in the architectures with UEFI support- Update to version 1.5.1: + Use UDisks to find out if swap devices are encrypted. + Show a link to discover more information about a specific plugin failure. + updated fish completions to 1.5.0. + Remove the duplicate parent-child data in FwupdDevice and FuDevice. + Show a less scary fwupdate output for devices without info. + thunderbolt: recognize authorized value of '2' as well. + bcm57xx: Make hotplug more reliable. + Use a different Device ID for the OptionROM devices. + contrib/ci: switch TPM simulator from ibmswtpm to swtpm. + Delete unused EFI variables when deploying firmware. + Fix probe warning for the Logitech Unifying device. + Include the amount of NVRAM size in use in the LVFS failure report. + Add external interface messages.- Update to version 1.5.0: + Add a compatible re-implementation of the rhboot dbxtool. + Add async versions of the library for GUI tools. + Add commands for interacting with the ESP to fwupdtool. + Add firmware-extract subcommand to fwupdtool. + Add FwupdPlugin so we can convey enumerated system errors to the end user. + Add plugin for Goodix fingerprint sensors. + Add plugin that can update the BCM5719 network adapter. + Add plugin to update Elan Touchpads using HID. + Add support for a delayed activation flow for Thunderbolt. + Add support for ChromeOS Quiche and Gingerbread. + Add support for Hyper hardware. + Add support for the Host Security ID. + Add support for ThunderBolt retimers. + Add switch-branch command to fwupdtool and fwupdmgr. + Allow blocking specific firmware releases by checksum. + Allow contructing a firmware with multiple images. + Allow firmware to require specific features from front-end clients. + Allow updating the dbx using the LVFS, validating it is safe to apply. + Include the HSI results and attributes in the uploaded report. + Support loading DMI data from DT systems. + Support LVFS::UpdateImage for GUI clients.- Add fwupd-jscSLE-11766-close-efidir-leap-gap.patch: Set SLE and openSUSE esp os dir at runtime (jsc#SLE-11766) - Drop _multibuild and build option -Defi_os_dir="%{efidir}": with the above patch fwupd can detect esp os dir dynamically - Update the efidir related %post and %postun scripts in spec file- Update to version 1.4.5: * Add XB_QUERY_FLAG_FORCE_NODE_CACHE * Add support for a delayed activation flow for Thunderbolt * Allow firmware to require specific features from front-end clients * Allow multi-byte FuUdevDevice preads and writes * Be more defensive when remotes are missing required keys * Disable the SQLite lookaside cache * ccgx: Add more hybrid dock support * ccgx: Modify readme to remove customer info * ccgx: add new protocol for dmc dock * ccgx: remove verify flag in plugin * modem-manager: read the vendor ID directly from sysfs attribute Fixes: #2209 * thelio-io: Add the DFU instance ID as a counterpart only * thunderbolt: Add a new subclassed thunderbolt firmware update type * thunderbolt: Allow quirks to skip the authentication step * thunderbolt: drop support for force power * tpm-eventlog: fix PCR0 calculation * uefi: check for free space after cleaning up ESP * vli: Add dual-image feature for VL103 backup firmware * vli: Add the project ID shared SPI PD controllers * vli: Allow chained usb hub devices where the parent needs GPIOB reset * vli: Do not modify the class vfuncs depending on device type * vli: Do not use GUID matching for the MSP device * vli: Rename FuVliUsbhubI2cDevice to FuVliUsbhubMsp430Device * vli: Set FuQuirks on the shared SPI object * vli: Set the i2c instance IDs in probe() * vli: Use the GPIOB reset for the MiniDock VL103 * vli: Wait for the root device to be replugged when updating the MSP430- Update to version 1.4.4: * Release fwupd 1.4.4 * Fix regression when checking for downgraded metadata- Update to version 1.4.3: * Release fwupd 1.4.3 * ata: A OUI quirk for Kingston * ccgx: Fix a potential division by zero * Check the device requirements when returning from GetDetails * fu-engine: Allow --plugin-whitelist to use dashes instead of underscores * Always enforce the metadata signature has a valid timestamp * ccgx: modify install duration for dmc device * ccgx: Add support for HP DMC dock devices * dell-dock: prevent updates to occur via synaptics-mst plugin * dell-dock: Capture the dock SKU in metadata * synaptics-prometheus: Force the minor version from 0x02 to 0x01 to make sure the devices can be updated back to 0x01. * Generate a body for github releases (Fixes: #2034)- Build the package separately for openSUSE and SLE using _multibuild (jsc#SLE-11744).- Update to version 1.4.2: * vli: Add no-guid-matching for all VLI devices * vli: Remove a copy-and-paste mistake * Add two OUI quirks * ata: Add WD OUI quirk 000cca * synaptics-rmi: Essentially blacklist Dell K12A * dfu: Avoid communicating when bitManifestationTolerant is off * ata: Add OUI quirk for Western Digital * dfu: Support MATEKF722SE quirk * Fix various build issues with -Wdiscarded-qualifiers * thunderbolt/dell-dock: Delay activation for Thunderbolt updates * Switch the default of EnumerateAllDevices to false * Add OUI quirk for SanDisk * vli: Add two standard USB instance IDs for shared-PD devices * vli: Use GPIOB to reset the VL817 found in two Lenovo products * tpm-eventlog: Correct the display of final calculated PCRs * wacom-raw: fixup switching to bootloader mode- Update to version 1.4.1: * thunderbolt: Don't show safe mode errors for USB4 host controllers * ep963x: Various changes to make the plugin actually work on real hardware * Make tss2-esys conditional * ep963x: Remove some dead code spotted by Coverity * ccgx: Only update the FW2 partition of the ThinkPad USB-C Dock Gen2 * ccgx: Expand the FWImageType for future hardware * Allow specifying the device on the command line by GUID * Fix the DeviceID set by GetDetails * wacom-usb: Fix a theoretical buffer over-read to make GCC happy * vli: Only show the i2c devices on the USB3 hub * Allow devices to be updatable, but only when upgrading a proxy device * Reset the progressbar time estimate if the percentage is invalid * ccgx: Always report 100% when finished writing * Add a device quirk that forces an explicit device-id match * ccgx: Set the device name and summary from quirk files * vli: Only do the APP5 FW bug fix on affected hardware * vli: Show all the buffer when debugging with FWUPD_VLI_USBHUB_VERBOSE * fu-engine: Refresh device name and format before setting supported flag * Allow a device to set the logical or physical ID during ->setup() * ccgx: Split out a trivial helper to set the instance IDs * ccgx: Set the device name to be more useful * ccgx: Set the logical ID as the FwMode * ccgx: Split out a trivial function to set the version * ccgx: Do not reboot the device write after installing * ccgx: Do no show the flash parameters when unknown * Allow devices to match the proxy device by GUID * Do not skip attach() if the device is marked _WILL_DISAPPEAR * dell-dock: Port to using fu_device_get_proxy() * Allow adding a device 'proxy' device that can do actions on it * vli: Do not show the USB 2 recovery devices for USB 3 hubs * vli: Add metadata to identify which is the same physical device * uefi: correctly format firmware version of Dynabook (né Toshiba) X30, X40 and probably others * synaptics-cxaudio: Use the ->attach() device vfunc * synaptics-cxaudio: Wait for the device to reboot after writing firmware * logitech_hidpp: decrease verbosity of messages that hid++ ID is missing * Prefer to update the child first if the order is unspecified * Do not modify the device priority for child devices- Exclude fwupdate from the architectures without UEFI support.- Update to version 1.4.0: * Release fwupd 1.4.0 * Allow removing device flags from quirk files * Use black to format python source in a consistent manner * Define SOURCE_VERSION when building a package * Only set the parent when adopting children * Do not conditionalize attach() and detach() on IS_BOOTLOADER * Do not crash the daemon if a plugin does something dumb * wacom-usb: Add more sanity checks in case the daemon goes crazy * wacom-usb: Use a per-device cleanup function * Add some more device regression tests * wacom-usb: Add a lot of missing metadata about the devices * wacom-usb: Hide a lot of debugging behind FWUPD_WACOM_VERBOSE * Only auto-add counterpart GUIDs when required * ccgx: remove update message * ccgx: add parent guid for hybrid dock * ccgx: Use a smaller timeout for i2c read and write operations * ccgx: Retry the register read and write with a i2c reset * ccgx: Fix buffer overflow when reading out i2c status * ccgx: Retry the HID disconnect up to 5 times * ccgx: Show a better error message on failure * ccgx: Allow forcing firmware of the wrong app_type with fwupdtool * Modularize the hardware tests * Ignore indirect devices that replug during the composite firmware update * Export the device state as part of the D-Bus interface * Fix devices that use CounterpartGuid when more than one device is installed * Use the GUID as a fallback rather than the connection ID * ccgx: Fix critical warning on i2c write failure * logitech-hidpp: Do not add peripheral devices for receiver in BL mode * Install the installed-tests only if tests are enabled * Load the signature to get the aliased CDN-safe version of the metadata * vli: Only reboot the USB hub once * synaptics-cxaudio: Only use the PATCH2 address when the patch level is 2 * add STM32F745 stm dfuse quirk * dfu: Add a way to set the timeout from a quirk * Export the release urgency * Export the release creation time * Check the firmware requirements before adding SUPPORTED * data/motd/fwupd-refresh: Only order after network.target * ccgx: Do not add the HID device that will disconnect * ccgx: Use Silicon ID and Application type to set flash parameters * Add a new daemon configuration option to control EnumerateAllDevices * logitech_hidpp: set the bootloader protocol * Install meson from pip for LGTM * bash: add completion for fwupdtool reinstall * fu-tool: add reinstall command * fu-engine: export fu_engine_get_releases_for_device in header * vli: Wait for the VL103 to timeout to fix detach * ccgx: Show the UpdateMessage in the correct device mode * ccgx: Add extra instance IDs to match specific firmware * Use a static version number * thunderbolt: Rather than hardcoding to PCI slot numbers, use domain in GUID * Revert "thunderbolt: Create a unique GUID including Thunderbolt controller path" * dell-dock: Port to fu_device_retry() * nitrokey: Convert to use FuHidDevice * nitrokey: Port to fu_device_retry() * vli: Port to fu_device_retry() * Add fu_device_retry() helper functionality * ccgx: Implement writing firmware to flash * ccgx: Add i2c status check when reading or writing registers * ccgx: Add 5ms delay between read registers to avoid an i2c error * libfwupdplugin: Use fu_device_locker_close() * synaptics-mst: Use fu_device_locker_close() * Add fu_device_locker_close() * ccgx: Do not store the silicon ID in the image address * ccgx: Add device quirks for the Lenovo Hybrid Dock * ccgx: Switch HID mode to HPI mode at startup * ccgx: Clear the event queue when in startup * ccgx: Wait for hardware to settle when coming out of reset * ccgx: Do not mark the device as updatable when in boot mode * ccgx: Verify the firmware app type when preparing firmware * ccgx: Set the update message when running in backup firmware * ccgx: Read the FwAppType from the hardware * ccgx: Set the HPI version number for the current firmware * ccgx: Get the silicon ID to map the flash parameters * ccgx: Read the HPI device mode at startup * ccgx: Set up the HPI I²C config at startup * ccgx: Create devices when in HID and I2C modes * Add a new ChromeOS CI target to build without GPG and PKCS7 * Use Jcat files in firmware archives and for metadata - Removed fu-keyring-gpg which caused CVE-2020-10759 (boo#1172643) * csr: Allow truncated HID reads * vli: Only consider the high nibble when building the sub-version * csr: Parse the firmware as a DFU file * Add support for EP963x hardware * Add FuHidDevice abstraction * vli: Correctly attach VL103 after a firmware update * ccgx: Parse the metadata block in the firmware image * ccgx: Add a firmare parser for cyacd files * logitech: Correctly set the protocol * Add the optional device-id to the update --help output * Fix a difficult-to-trigger daemon hang when replugging devices * vli: Remove a dock device from the whitelist that is never going to be updated * vli: Add some trivial debugging to help track down a bug * vli: Never add USB hub devices that are not upgradable * uefi: Don't use shim for non-secure boot configurations * Start fwupd-activate.service after snapd.service * dfu: Actually reload the DFU device after upgrade has completed * dfu: Add one more m-stack device requiring a quirk * Apply version format to releases and devices at same time * Ensure that the DeviceID is set for child devices * Fix a daemon crash when removing children * Allow waiting for the parent device when replugging * Add fu_device_get_root() shared API * vli: Fix an error when detaching MSP430 * vli: Fix a critical warning when getting the USB speed * vli: Fix the error enum values for the MSP430 * Do not add blank lines when tokenizing Intel hex files * vli: Fix the version calculation for MSP430 * vli: Ignore one more error when attaching * vli: Always expect the VL103 header at 0x1003 or 0x4000 * vli: Do not fall back to the recovery write for usbhubs * vli: Only show the 2nd header if the device ID is valid * vli: Fix VL103 reboot from ROM mode to FW mode * vli: Add some better comments for writing GPIOs * Add a helper script to add a DFU header * Add 'firmware-convert' subcommand to fwupdtool * fu-engine: Make two passes of requirements checking * fu-engine: Copy the VersionFormat from the CAB if specified in `get-details` * Add a new plugin for CPU microcode * Don't build/install fwupdagent man page if agent build is not requested * Introduce a new VersionFormat for `hex` * Drop UEFI quirks we now inherit from metadata * ci: build Debian using libflashrom * When TPM PCR0 measurements fail, query if secure boot is available and enabled * fix fwupd.shutdown.in according to the movement of fwupdtool to bindir * ata: Add OUI quirk for Western Digital and Intel * improved fish shell completion * vli: Set the MSP430 version format to pair * Always return AppStream markup for remote agreements * ata: Add trivial OUI quirk for Micron * added completion script for fish shell * Do not fail loading in /etc/machine-id is not available * Use xb_builder_source_add_simple_adapter * Create FuCabinet and untangle a lot of legacy code * nvme: Do not try to handle integer version numbers * Allow server metadata to set the version format on some devices * fu-tool: Correctly append the release to devices in `get-details` * For the `get-details` command make sure to always show devices * fu-engine: Copy the version and format from donor device in get-details * fu-engine: Use unknown for version format by default on get-details * Inihbit all power management actions using logind when updating * Decouple the version format from the version itself * Add raw versions for bootloader and lowest * Allow server metadata to set the device name on some devices * Remove support for GCab less than v1.0 * fu-device-list: Check protocol before de-duping devices * Do not allow devices that have no vendor ID to be UPDATABLE * ata: Include a vendor ID for ATA hardware * ata: Switch off the verbose logging by default * Always check for PLAIN when doing vercmp() operations * Discard the reason upgrades aren't available (Fixes: #1678) * Improve the description of `fwupdtpmevlog` for man page * Move `fwupdtpmevlog` into `bindir` * uefi: Move `fwupdate` into `bindir` * Move `fwupdtool` and `fwupdagent` into `bindir` * Use the system provided flashrom on Fedora * Add a plugin vfunc to run after subclassed FuDevice creation * ci: use standalone script to generate build dependencies * Move the daemons from /usr/lib/fwupd to /usr/libexec/fwupd * Use the recently released flashrom v1.2 * Generate an additional UEFI quirk file using the stable LVFS metadata * uefi: Apply capsule update even with single valid capsule * Fix a critical warning when installing some firmware * ebitdo: Fix the endpoint address logged in the error message * uefi: Find the correct lds and crt name when specifying -Defi_ldsdir * upower: Move battery threshold declaration into a configuration file * upower: Decrease minimum battery requirement to 10% - Refresh fwupd-bsc1130056-change-shim-path.patch - Add new dependency: jcat- Update to version 1.3.9: * Release fwupd 1.3.9 * Always check for PLAIN when doing vercmp() operations * improved fish shell completion * vli: Set the MSP430 version format to pair * added completion script for fish shell * Always return AppStream markup for remote agreements * Do not fail loading in /etc/machine-id is not available * fu-engine: Fixup broken-ness from 0c0fada18fc9cb2a0efec351db67f0867bf045cd * Use xb_builder_source_add_simple_adapter * fu-tool: Correctly append the release to devices in `get-details` * For the `get-details` command make sure to always show devices * fu-engine: Copy the version and format from donor device in get-details * fu-engine: Use unknown for version format by default on get-details * Inihbit all power management actions using logind when updating * fu-device-list: Check protocol before de-duping devices * ata: Switch off the verbose logging by default * Discard the reason upgrades aren't available (Fixes: #1678) * Improve the description of `fwupdtpmevlog` for man page * Move `fwupdtpmevlog` into `bindir` * uefi: Move `fwupdate` into `bindir` * Move `fwupdtool` and `fwupdagent` into `bindir` * ci: use standalone script to generate build dependencies * Move the daemons from /usr/lib/fwupd to /usr/libexec/fwupd * Use the recently released flashrom v1.2 * uefi: Apply capsule update even with single valid capsule * Fix a critical warning when installing some firmware * ebitdo: Fix the endpoint address logged in the error message * fu-util: fix a logic error in report uploading introduced in e076d48afb74d1447936d353f12781755f13b047 * uefi: Find the correct lds and crt name when specifying -Defi_ldsdir * upower: Move battery threshold declaration into a configuration file * upower: Decrease minimum battery requirement to 10% - Update to version 1.3.8: * Release fwupd 1.3.8 * Do not use fu_common_vercmp() when the device verfmt is PLAIN * altos: Output raw buffer data when using FWUPD_ALTOS_VERBOSE * altos: Prefix an error to provide more context * altos: Add a trivial _to_string() implementation * synaptics-cxaudio: Make the verfmt match that of the existing Windows tools * synaptics-mst: Allow MST to fall back if no PCI device is marked as parent * Allow specifying a list of subsystems when setting a physical ID * synaptics-mst: Fix trivial thinko caused by the wrong dock connected * vli: Invert the logic to reboot the parent FuCliUsbhubDevice, not the child * vli: Switch around the hub tier values * uefi: Fix a build regression with Fedora 30 * logitech_hidpp: Ignore detach failures (Fixes: #1183) * logitech_hidpp: When detaching to bootloader use non-blocking IO and wait for timeout * vli: Show erase progress when doing a v2 recovery * uefi: Do not remove the 'Linux Firmware Updater' boot entry before update * uefi: Do not rewrite BootOrder in the EFI helper * vli: Add support for the PS186 device * Set up more parent devices for various Lenovo USB hubs * cxaudio: Set the update protocol to prevent a daemon warning * vli: Add support for Lenovo Modularized dock * Add an extra instance ID to disambiguate USB hubs * vli: Remove the unused tierX custom flags for each device * Revert "Correctly delete UEFI variables" * uefi: make debugging output more readable * vli: Fix a potential buffer-overflow when parsing firmware * tpm: Optimize the string parsing and fix the boolean logic * synaptics-rmi: Add a missing error enum value * synaptics-rmi: Correctly identify a checksum failure * synaptics-rmi: Fix Coverity issue that is impossible to hit in reality * solokeys: Parse old versions of the bootloader string * Add a plugin to update PD controllers by Fresco Logic * vli: Set the device progress correctly when erasing a PD device * vli: Use the correct command to get the device firmware version * vli: Correctly reset all VL100 devices * vli: Set all standalone PD devices to not do SPI auto-detection * vli: Mark standalone PD devices as updatable * vli: Set the protocol for FuVliUsbhubPdDevice types * Support the new gnuefi file locations * Cleanup ancient fwupdate-* EFI variables too (Fixes: #1739) * Detect kernel lockdown status * vli: Add the DEV instance ID to all devices * tpm-eventlog: Replay the TPM event log to get the PCRx values * tpm-eventlog: Store the eventlog hashes in binary form - Update to version 1.3.7: * Release fwupd 1.3.7 * Correctly delete UEFI variables * ci: allow working with podman w/o aliases * ci: fedora: force correct rpm package version * src: fu-engine: check version was updated by checking version * Correctly import PKCS-7 remote metadata * Add 'refresh' to fwupdtool * Add 'get-remotes' to fwupdtool * Generate a win32 setup binary * Fix display of UTF-8 characters on Windows * Move MOTD population into the daemon * fu-util: Discourage metadata refreshes more than once per day * Disable the battery percentage checks if UPower is unavailable * Allow getting the list of updates in JSON format from fwupdagent * Revert "trivial: Attempt to fix Debian CI" * fu-remote-list: emit a changed signal when modifying a remote * synaptics-mst: Skip self tests for systems with amdgpu * Allow applying all releases to get to a target version * Split up fu_engine_install() into two halves * logitech_hidpp: use the correct timeout for IO channel writes * Allow quirking devices that always require a version check * Shut down automatically when there is system memory pressure * Show the device parent if there is an interesting child * Allow the client to get the list of FwupdDevice children * Set the FwupdDevice parents in fwupdtool * Don't always get the vendor ID for udev devices using the parent * Add a runtime warning when adding a device without an vendor-id or protocol set * vli: Set more of the firmware max sizes automatically * vli: Add a SpiAutoDetect quirk for some of the PD devices * vli: Use a different protocol ID for i2c devices * vli: Add support for standalone Single PD devices * vli: Move generic SPI functionality into the FuVliDevice base class * vli: Remove the PD emulation code * vli: Use a more standard GUID for the child i²c and shared SPI devices * vli: Allow setting the device kind from a quirk * vli: Make more function names match the docs * vli: Move the SPI command quirking from FuVliUsbhubDevice down to FuVliDevice * vli: Rename FuVliUsbhubPdFirmware to FuVliPdFirmware * vli: Allow the device to specify the PD firmware header offset * vli: Add a FuVliDevice as a subclass to FuVliUsbhubDevice * vli: Define the device GType in the quirk file * vli: Move the CRC calculations out of usbhub scope * vli: Have one 'DeviceKind' for all objects * vli: Rename the `vli_usbhub` plugin to `vli` * Capitalize GNOME - package has grown a few new binaries: fwupdagent, fwupdate, fwupdtool and a tpm event debugging tool, that is packaged separately: fwupdtpmevlog- Drop docbook-utils-minimal build dependency, manpages are generated with gtk-doc.- Update to version 1.3.6: * plugins/coreboot: Add missing fu_hash dependency * trivial: synaptics-cxaudio: Add Google type C <-> 3.5mm adapter * fu-engine: don't expose bootloader version errors to users * trivial: dell-dock: drop unused quirk keyx * trivial: rename synapticsmst to synaptics-mst * trivial: actually set vendor ID for synaptics * fu-remote-list: Drop fallback path behavior * libfwupdplugin: Make sure systemd created environment variables exist * trivial: fu-remotes-list: drop usage of `FU_SELF_TEST_REMOTES_DIR` * trivial: synaptics-rmi: hardcode Vendor string * trivial: Set vendor ID for Dell WD19 to USB:0x413C (Fixes: #1653) * trivial: Document the use of vendor-id in each plugin * superio: Use the baseboard vendor as the vendor ID * uefi: Use the BIOS vendor as the vendor ID * coreboot: Use the BIOS vendor as the vendor ID * flashrom: Use the BIOS vendor as the vendor ID * dell: Hardcode a plausible vendor ID * emmc: Set the correct vendor ID prefix * fu-util-common: correct the default prompt for reboot/shutdown (Fixes: #1617) * Split out the remote loading from FuConfig * vli-usbhub: Fix the quirk for the legacy VIA 813 chip * Clarify error messages when no upgrades available * trivial: Don't handle a vendor-id requirement error that cannot happen * Only check the vendor ID if the device has one set * fu-install-task: Enforce that device protocol matches metadata * Add a new plugin that can parse the TPM event log * Allow other plugins to contribute report metadata * trivial: dell: hardcode the physical device ID for tpm to match the tpm plugin * Add a new plugin that exposes the system TPM device firmware version * Add fu_udev_device_set_flags() * trivial: Render large values of VersionRaw in a more portable way * trivial: wacom-raw: mark all Moffett SKUs as self recovery * Throw exit status 0 (instead of 2) if there is no firmware to be updated * Add a `dell-bios` version format * Add support for multiple LVFS::VersionFormat tags * Do not do semver conversion in fu_common_vercmp() * trivial: Deprecate fu_common_version_parse() * trivial: Support 'plain' in fu_common_version_from_uintXX() * Add the sysfs 'description' as the one-line device summary * trivial: Also print the parent keys when using FU_UDEV_DEVICE_DEBUG * trivial: Add fu_common_version_from_uint64() * trivial: Convert the VersionRaw value to a uint64_t for future use * Allow building on Windows with MinGW * synaptics-prometheus: Allow incremental version major and minor number * Replace 'scheduing' with 'scheduling' * Export the raw device version to the client --verbose output * trivial: Only dlopen the test plugin once * Export the device protocol to the client --verbose output * trivial: installed-tests: try to display journal for failed tests * trivial: ci: debian: enable verbose daemon logging for failure analysis * trivial: installed-tests: explicitly choose webcam device ID * trivial: debian: remove obj-* built files to fix back to back builds * trivial: ci: don't let bad symlinks cause debian build failures * trivial: debian: correct a dependency for libfwupdplugin-dev - Changes from version 1.3.5: * plugins: Fix potential use of NULL pointer in fu_dell_dock_mst_write_register * Fix shifting integer by more than 31 in fu_util_filter_device * synaptics-prometheus: Reload the device version after IOTA update * synaptics-prometheus: Reload the device version after update * trivial: wacom: remove coretronic config from Moffett scope * trivial: Fix a NULL/FALSE confusion * trivial: Add a BR for Fedora * trivial: Fix coreboot commit to fix CI * trivial: libfwupdplugin: clarify name of self test * plugins/coreboot: Improve version detection * plugins/coreboot: Get rid of FU_HWIDS_KEY_BIOS_VENDOR in coldplug * trivial: Move progressbar out of libfwupdplugin * trivial: Unexport fu_test_get_filename() * trivial: Unexport fu_test_compare_lines() * trivial: Unexport fu_test_loop_run_with_timeout() * trivial: Do not include non-introspectable functions in the GIR * trivial: Fix up a few introspection problems in FwupdPlugin * trivial: Include the Fwupd GIR in the FwupdPLugin GIR * trivial: Never add duplicate symbols to the map file * trivial: Properly namespace the defines in the exported header * Install development files for libfwupdplugin * Convert libfwupdprivate to a shared library libfwupdplugin * trivial: Allow building GCab from a subpackage * trivial: Fix under-include to define O_RDONLY * trivial: Allow compiling without * trivial: Do not use FuProgressbar in dfu-tool * synaptics-prometheus: Manually set the bootloader mode when attaching * trivial: Split out a new helper funtion * trivial: Add some optional debugging when hotplugging devices * trivial: Include the correct header for S_IRWXU * Always use the more portable 3-arg form for open() * trivial: Untangle FuHistory from FuPlugin * trivial: Allow compiling without * Revert "synaptics-rmi: Use the build ID as the version number to match the vendor tool" * Add missing documentation from the plugin interface * trivial: fu-udev-device: remove a prototype that was missed in b3d4d2ff * trivial: add missing gtk-doc fields for many files in src/ * trivial: fix compile failure without gudev * synaptics-prometheus: Mirror the _IS_BOOTLOADER from device to config * Allow setting the device flags using GObject properties * vli_usbhub: Set the composite parent at construction time * synaptics-prometheus: Set the composite parent at construction time * Allow plugins to set the parent during construction * vli-usbhub: Whitelist the PD and I²C devices * Set the protocol per-device not per-plugin * synaptics-rmi: Use the build ID as the version number to match the vendor tool * Create a REV_00 instance ID as this may be what the vendor needs to target * fu-util-common: Invert default behavior for reboot and shutdown prompts * trivial: fu-plugin-vfuncs: Add GTK documentation for all vfuncs * Make gudev a compile-time option * trivial: Set the offline trigger using an environment variable * trivial: ci: pull lintian from unstable for now. * trivial: stop including fu-hash.h as part of fu-plugin-vfuncs.h * Fix shebangs on scripts * trivial: Use prefixes for DATADIR in config.h for portability * Allow compiling GUsb as a subproject * trivial: fu-udev-device: add a to_string func for debugging * trivial: Don't assume that plugins end in .so * trivial: optionrom: remove unneeded includes * trivial: debian: ci: ignore library-not-linked-against-libc for more * trivial: remove version-format.md * trivial: Allow compiling without pwrite() * trivial: Allow compiling without * trivial: Allow compiling without realpath() * trivial: Allow compiling without HAVE_LC_MESSAGES * trivial: Allow compiling without getuid() * trivial: Allow compiling without * trivial: Allow compiling without * trivial: Allow compiling without * Ensure the _get_type() gets the same ABI version as the constructor * Use the correct unlocker when using GRWLock * trivial: plugins: only build coreboot when option set * fwupdtool: don't show a warning when calling `get-plugins` - Changes from version 1.3.4: * trivial: Don't force specific linker flash when cross building * dell: Use the more portable g_usleep() * trivial: Fix unused header includes * vli-usbhub: Make erasing less verbose and writing more obvious * vli-usbhub: Correctly print the 24-bit USB3 offset * vli-usbhub: Print the PD firmware offset and size for debugging * vli-usbhub: Open the parent device before attempting to read or write from the child * vli-usbhub: Set the install duration for the PD device * trivial: Fix a failed error prefix string * trivial: wacom-raw: Remove embedded from device name * wacom-raw: Correct HWID support * uefi: Just use a uint16_t for BootNext processing * uefi: Use a simpler entries set algorithm * vli-usbhub: Add support for writing using I2C passthru * vli-usbhub: Support updating PD devices that share the hub flash * vli-usbhub: Support the PD file format * trivial: uefi: correct a NULL pointer dereference * uefi: fall back to `ID_LIKE` when the path for `ID` doesn't exist (Fixes:# 1566) * uefi: Make generate_binary.sh more robust * Tokenize the Intel Hex file before parsing * trivial: Detect the USB version automatically * trivial: fu-util/fu-tool: explicitly block unsupported flags * Add support for matching requirements on device parents * Skip cleanup after device is done updating if `will-disappear` is set (Fixes: #1529) * efi: use a wildcard section copy for final EFI generation * modem-manager: explicitly use plain version format * modem-manager: add quirks for the Foxconn T77W968 modules * Allows confined snaps to activate fwupd via D-Bus * trivial: thunderbolt: clarify error message * Add a new property `Interactive` to the daemon * trivial: contrib/get-version.py: require git less hard * superio: Never read from port offset zero * superio: Fix regression when coldplugging superio devices * trivial: Fix Fedora CI build * trivial: Fix the autobuilt spec file with the new tarball version * Dynamically determine release version * trivial: synapticmst: allow missing `/proc/modules` * synapticsmst: filter invalid chip IDs * trivial: Provide some defines for common image names * Allow aborting early when using fu_archive_iterate() * Add fu_firmware_image_set_version() for future use * modem-manager: increase re-enumeration delay to 20000ms * modem-manager: add counterpart GUID for the DW5821e/eSIM * Add versions formats for the Microsoft Surface devices * usb: make loading vendor/product/serial strings non-fatal * trivial: Fix the protocol ID for VLI usbhub devices * trivial: wacom-raw: add more device IDs for Dell devices * trivial: contrib: don't require TSS for debian archs without EFI * fu-udev-device: Adjust bounds checking to be safer * fu-udev-device: Don't assume all devices have `device_file` * synaptics-rmi: correct an error cleaning up on probe * trivial: fu-udev-device: add some safety checks for fd * udev-device: fix offset of vendor id of hidraw devices * flashrom: switch to upstream source * trivial: fu-plugin: only show an error once "failed to open plugin" was being prefixed twice * trivial: debian: only use mingw-w64-tools in archs with UEFI plugin * fastboot: Fix a regression when updating modem firmware * trivial: conflict with old unifying plugin * Rename unifying plugin to logitech-hidpp (Fixes: #1329) * Add a new contrib script for installing a Dell BIOS from an EXE file * trivial: add-capsule-header: rename to make it easier to import * trivial: simple_client: make it easier to reuse code * trivial: firmware-packager: make it easier to reuse code * trivial: add-capsule-header: make it actually work * trivial: fix some gtkdoc sections * Bump the required gudev version * trivial: Fix a compile error with older versions of gudev * trivial: wacom: add vid/pid for panels in Moffett * trivial: post release version bump - Changes from version 1.3.3 * unifying: notify users to replug when using dfu control (Fixes: #1383) * trivial: 8bitdo: set a transient failure while waiting for user action * libfwupd: Add a new error type for user action needed * trivial: 8bitdo: show the same message for SN30pro and SN30pro+ * trivial: Fix up some typos from codespell * trivial: Ensure config.h is included in all source files * trivial: Fix up some NULL/FALSE confusion * trivial: Add all the _LAST enums that shouldn't be checked for ABI * trivial: Fix a typo that means that UEFI results were never cleared * Always report the update-error correctly for multiple updates * trivial: Fix fwupdmgr get-history if the firmware was not installed from the LVFS * trivial: Do not emit a warning if a child has no version number * Move the file descriptor lifecycle into FuUdevDevice * trivial: Fix some GtkDoc annotations * ebitdo: Modernize the plugin to use FuFirmware * nitrokey: Use fu_common_dump_raw() when debugging * thunderbolt: Create a unique GUID including Thunderbolt controller path * Use device safety flags to show prompts before installing updates * trivial: Use the new possible_plugin support for USB devices too * jabra: Move the Jabra-specific detach out into its own plugin * Ensure the device is open when doing the subclassed prepare() and cleanup() * vli-usbhub: Add support for updating V2 devices * Allow verifying the device image itself from fwupdtool * Use XMLb to query quirks * trivial: ci: disable pulling libxmlb from unstable * synaptics-prometheus: Don't add a config-subdevice in bootloader mode * dfu: Use the VID/PID to identify devices without download capability in runtime * trivial: debian: remove some unneeded lintian * trivial: debian: bump compat version * ebitdo: Add SN30Pro+ to recognized quirk list (Fixes: #1503) * dfu: Add several quirks for Realtek camera hardware * dfu: Always mark devices as UPDATABLE * uefi: use `genpeimg` to mark ASLR and DP/NX on EFI binary * trivial: solokey: correct a typo * trivial: fu-util: fix typo * uefi: rework ESP path detection and lifecycle * trivial: uefi: show more metadata in to_string method * trivial: fu-device: add new method to remove metadata * Add a plugin to update VIA USB hub hardware * trivial: Add fu_common_read_uint8_safe() * trivial: Fix two typos in fu_common_read_uint16_safe() * solokey: Allow parsing firmware with fwupdtool * Allow fwupdtool to dump details of common firmware formats * trivial: Do not do system coldplug when using FU_ENGINE_LOAD_FLAG_NO_ENUMERATE * trivial: fu-self-test: set polling self tests to slow * trivial: fu-tool: Allow `detach`/`attach` to prompt for device * Strip trailing whitespace from USB descriptors * trivial: Add fu_common_read_uint16_safe() * trivial: Add version to the FuFirmware->to_string() output * Add fu_firmware_set_version() * Add a systemd preset file for `fwupd-refresh.service` * trivial: dell: work around a memory leak caught by address sanitizer * ebitdo: if the device has the will disappear flag, don't wait for ack (Fixes: #994) * Add a new plugin for working with eMMC devices (Fixes: #1455) * fu-engine: Check multiple plugins if quirks match * trivial: don't try to enable LVFS from systemd * trivial: coreboot: fix a clang compiler error * fu-util: Add user friendly strings for all device flags * Add new device flags indicating update resilience * plugins: Add coreboot plugin * fu-plugin: Add fu_plugin_get_hwid_replace_value * trivial: Increase verbosity when actually updating devices * trivial: Allow plugins to use WAIT_FOR_REPLUG in prepare and cleanup * Add FuDevice->prepare() and FuDevice->cleanup() vfuncs for future use * dfu: Implement FuDevice->to_string() * trivial: colorhug: fix a crash that occurs when flashing sometimes * trivial: fu-util: break out of automatic reports if one is not automatic * thunderbolt: some more clarifications when using ICL * trivial: fwupd-refresh: activate motd if using systemd v243 or later * trivial: fwupd-refresh: allow exit code 2 for success * trivial: synaptics-cxaudio: Add Google Pixel buds * trivial: arch: ci: Wait some time for tpm_server to start up * Allow a custom FuFirmwareImage->write() in superclassed objects * dfu: Remove two completely unused helpers * dfu: Make DfuFirmware derive from FuFirmware * dfu: Make DfuImage derive from FuFirmwareImage * dfu: Remove private headers that do not need to exist * Fix device flag filtering * trivial: fu-engine: Don't compare device and content checksums * fu-engine: Read all releases and convert versions when comparing * Add new flags `can-verify` and `can-verify-image` * trivial: make verify and verify-update safer * trivial: test: add checksums for "stock" 1.2.2 * trivial: fu-udev-device: use parent udev device to indicate `internal` * trivial: fix TPM2 simulator tests for arch * trivial: uefi: don't add PCRs with all 0's * trivial: Fix a recent regression causing a double-free * synaptics-cxaudio: Support the ThinkPad USB-C Dock Gen2 * trivial: fu-util: add some extra checks around automatic reports * trivial: fu-tool: typo * fu-systemd: Use correct method for stopping units. * trivial: fu-udev-device: Use ID_PCI_CLASS_FROM_DATABASE if name not set * trivial: fu-plugin: quiet down debug output for optionrom plugin * 8bitdo: use will-disappear flag for sf30/sn30 controllers (Fixes: #783) * trivial: ebitdo: don't dump out firmware header unless plugin verbose * trivial: ebitdo: don't use local errors when writing firmware * Add a new device flag for indicating device won't come back * wacom-emr: Fix a regression for EMR devices * Add a generic DFU firmware object for plugins to use * dfu: Use FwupdInstallFlags rather than a DFU-specific version * dfu: Remove functionality for modifying DfuSe files * dfu: Remove functionality you can do now with fwupdtool * dfu: Remove the merge command as it's unused and broken * trivial: Add fu_firmware_parse_file() helper for future use * trivial: Remove the fuzzing details for DfuPatch * trivial: Add klass->to_string for superclassed FuFirmwareImage objects * dfu: Remove DfuPatch as no vendor actually uses this * dfu: Don't wrap provided VID-PID functions * dfu: Use the standard FuDevice custom flags functionality * dfu: Use klass_device->write_firmware() directly * dfu: Use the generic fu_plugin_usb_device_added() function * dfu: Use daemon flags to ignore devices rather than a special flag * dfu: Set the device state directly to avoid proxying signals * dfu: Use the built-in detach() and attach() vfuncs * Read firmware back from the device as a FuFirmware * dfu: Remove a pointless function * dfu: Remove support for the Metadata Store Proposal * dfu: Remove XTEA support * dfu: Remove the SREC and IHEX parsing out of the DFU plugin * ebitdo: Use klass_device->write_firmware like other plugins * trivial: Remove G_BEGIN_DECLS from all private headers * Remove FU_PLUGIN_RULE_REQUIRES_QUIRK as all the plugins now use it * Set all FuUdevDevice plugins to use FU_QUIRKS_PLUGIN * thunderbolt: recognize new 'generation' sysfs attribute * Rename and modernize the udev plugin * synaptics-rmi: Also add the product ID as a GUID without the minor version * synaptics-rmi: Correctly set the payload length rather than hardcoding it * synaptics-rmi: Write the core config correctly * synaptics-rmi: Decode BL7 status failures as actual errors * synaptics-rmi: Add some trivial debugging to help debug a write problem * trivial: uefi: Make efivarvs errors clearer (Fixes: 1330) * trivial: uefi: don't prefix efivar errors * trivial: Remove some now-unused vfuncs * altos: Modernize the plugin to simplify it * Create the custom plugin GType in common code * Reduce more boilerplate in plugins * synaptics-rmi: Check the correct register when querying bootloader mode * trivial: fu-engine: fix never reporting remotes * trivial: fu-util: don't show warnings for no reports to upload * trivial: debian: remove more conffiles from transitions (Closes: #932617) * trivial: debian/control*: Update for fwupdate transition * trivial: Fix a tiny memory leak when starting the daemon * modem-manager: Fix a tiny memory leak when starting the daemon * synaptics-rmi: Copy the behavior of rmi4utils for BL7 detach * synaptics-rmi: Simplify fu_synaptics_rmi_device_read() * synaptics-rmi: Set the version after ->setup has run * synaptics-rmi: Use the correct mask when getting the bootloader mode on BL7 * syanptics-rmi: The build_id is 3 bytes long, not 2 * synaptics-rmi: Read the config partition the same as rmi4utils * Provide a default implementation of common FuDevice actions * thunderbolt-power: avoid checking for bolt support * synaptics-rmi: Add some debugging for BL7 devices * Fix usage of incorrect type for return value * synaptics-rmi: Do as little as possible in device setup * synaptics-rmi: Speed up reading the PDT from 900ms to 30ms * fu-util: add support for a reinstall command * trivial: fu-util/fu-tool: update re-install help text to reinstall * trivial: fu-util: remove double printed message about succesful firmware update * trivial: fu-util: show no updatable devices error for update command * synaptics-rmi: Ignore the ATTN reports from the hardware when reading DATA * synaptics-rmi: Move the fuzzing instructions to the toplevel README * Fuzz the SREC and IHEX file parsers once more * Use parallel fuzzing for the SMBIOS checks too * synaptics-rmi: Fix the packing of the partition table * Add a plugin to update Synaptics RMI4 devices * trivial: Add a parallel fuzzing script * trivial: fu-util: output newline after prompt. * trivial: fix %u output in report upload * Add a --no-domain logging option * trivial: Fix compiler warning for impossible-to-hit condition * Add support for automatically uploading reports * trivial: motd: disable updating motd for now * trivial: fwupd-refresh: fix a clash with fwupd.service (Closes: #941360) * trivial: Fix Fedora CI * trivial: fu-udev-device: fix some assertions * Search up the tree for a vendor name rather than (ab)using the HID_NAME * Add some success messages when CLI tasks have completed * trivial: Put the boolean prompt on the same line as the text * Never show LicenseRef-proprietary to the end user * trivial: snap: correct install hook root directory * Export the instructions for detaching the device * uefi: detect unmounted ESP partitions (Fixes: #1405) * uefi: stop recording efibootmgr output after flash * trivial: post release version bump - Changes from version 1.3.2: * Add support for '' to disambiguate some firmware * thelio-io: Add a plugin to detach the Thelio IO board * trivial: uefi, dell: skip self tests with TPM if non-root (Fixes: #1396) * trivial: dell: quiet the TSS output * trivial: uefi: allow forcing to TPM2 via environment variable * Do not ask the user to upload a report if ReportURI is not set * Do not enumerate physical devices when running the internal self tests * trivial: libfwupd: skip tests if machine-id is empty too * Add a new plugin to update Conexant audio devices * Export the salted machine ID as a daemon property * Fall back to /var/lib/dbus/machine-id when required * trivial: add stalebot (Fixes: #1393) * trivial: dell-dock: correct another write_size error * Align the key values to the text *width* not the number of bytes * trivial: Move dbus directory location for snap too * trivial: Fix some NULL/FALSE confusion * synaptics-prometheus: Fix tiny memory leak when using FuSynapromConfig * trivial: Fix tiny memory leak when using FuSrecFirmware * snap: switch to core18 * trivial: Return the correct property when getting the host product * trivial: fu-util-common: fix description wrapping (Fixes: #1378) * fu-util/fu-tool: Map out changelogs from remotes * fu-util/fu-tool: Better display historical information * fu-history: Update device_modified in sql database during updates * unifying: Use the instance ID to check for supported devices * unifying: Ensure HID++ v2.0 peripheral devices get scanned by the plugin * trivial: Add some more defines to the srec parser * trivial: fix wget command in fu-tool.c * Allow parsing a raw SREC file * trivial: wacom: Add support for second vendor ID * uefi, dell-esrt: Show firmware version when capsule updates unavailable * Add some more debugging to the SREC and IHEX parsers * Print the instance IDs if the GUIDs are unconverted * Add fu_common_bytes_compare_raw() for future usage * Call the set_quirk_kv() vfunc for the superclassed object * uefi: make the TPM optional for runtime again (Fixes: #1362) * trivial: uefi: Make the TCTI output less verbose * Support in AppStream metadata * Include all GUIDs when uploading a report * Do not crash when starting tpm2-abrmd * trivial: Update DBus conf path for example Fedora package * Move D-Bus conf file to datadir/dbus-1/system.d * trivial: Add fu_io_channel_write_byte_array() for future use * trivial: post release version bump - Package new sub-packages typelib-1_0-FwupdPlugin-1_0 and libfwupdplugin1.- Fix file list- Update to version 1.3.1: (jsc#SLE-10751) * Allow disabling all plugins * trivial: Specify the tpm2-tss-devel version in the example spec file * Move to CI Fedora 30 * modem-manager: Fix two build warnings on Fedora 30 * synapticsmst: Add another name quirk for the ThinkPad USB-C Dock * Re-introduce GUID support to fwupdmgr and fwupdtool * uefi-recovery: Add a plugin to add a fake ESRT entry for device recovery * Add a DMI quirk for the Minnowboard Turbot * trivial: Make it easy to disable or enable libflashrom for distros * trivial: Don't use Recommends for RHEL 7 * unifying: fix timeout metadata * ci: arch: minor improvements * unifying: fix timeout * Allow disabling SSL strict mode for broken corporate proxies * trivial: Allow ignoring the daemon version check by using --force * Try to only show DMI product name once * trivial: fu-util-common: Show unknown devices as interesting devices * dell: Use TSS to query and build TPM vendor strings for GUIDs * trivial: dell: show reasons for lack of updates in `UpdateError` * fu-util-common: strip all trailing whitespace in XML description * trivial: fu-common: match all whitespace not just ' ' in `fu_common_strstrip` * fu-util: show release output in get-details again * unifying: use fu_firmware_strparse_uint16 to read be 16bit values * unifying: fix incomplete hex file parsing * fu-util/fu-tool: Print devices, remotes, releases using a tree * Add aliases for `get-upgrades` and `upgrade` * trivial: UEFI skip self tests if library fails to initialize * libfwupd: Add a new private function `fwupd_remote_set_remotes_dir` * trivial: add libtss2-dev into debian/control (Closes: #1324) * trivial: Fix up the GtkDoc Since lines for API only available in 1.3.x * trivial: Post branch version bump * thunderbolt: Add support for kernel safety checks (Fixes: #1312) * Include the kernel release as a runtime version * trivial: fu-util: Drop GUID support from get-devices * synapticsmst: Partially rewrite the plugin (Fixes #1105) * Remove replug flag after the device comes back from reboot * trivial: Fix running the tests on devices with the TPM in v1.2 mode * trivial: fu-util-common: more cleanup related to topology * trivial: fu-util: cleanup fwupdmgr get-details output * trivial: Don't use topology printing in --verbose mode * Make get-devices and get-topology aliases for one another * trivial: Adjust daemon device sorting * Make get-topology more useful by showing all information * trivial: Fix fu_common_string_append_kv() to align properly with idx > 0 * trivial: dell-dock: correct an error preventing write_size from being set * trivial: Do not warn about deprecated declarations * trivial: Update BRs for the example Fedora package * uefi: add test for TPM 2.0 PCR read function * uefi: use tpm2-tss library to read PCR values * fu-common: Use environment variables for systemd managed directories * Use more systemd directives for directories * trivial: fu-util: fix debug output for devices * Allow turning off the timestamp prefix for debugging * Add a ->udev_device_changed plugin vfunc * Add fu_device_rescan() and a FuDevice->rescan() vfunc * Remove the duplicate files in meson.build * Hash the source files when generating the daemon hash * Split up source files in the build script * uefi: add support for tpm2-tools 4.X * trivial: plugins: clarify stance on afuefi.efi * trivial: plugins/: Update README * trivial: disable gtkdoc by default * trivial: update references of hughsie/fwupd to fwupd/fwupd * Publish docs to fwupd.github.io using CircelCI * Add support to integrate into the motd (Fixes: #1270) * Simplify get-devices output to not show un-useful fields * fu-engine/fu-config: Reload metadata store when configuration changes * trivial: If no devices support updates, show messaging (Closes: #1295) * trivial: uefi: set vendor name for system firwmare from DMI data * unifying: update Solaar url * thunderbolt: Fix logic to work properly with ICL thunderbolt controller * Add fu_udev_device_get_device_file() helper * trivial: Fix regression when using fu_device_incorporate() * trivial: Fix a potential crash when using FuPlugin in the self tests * synapticsmst: Make FuSynapticsmstConnection an actual GObject * synapticsmst: Use the same style as other plugins * trivial: Add some helper functions for GByteArray * Do not use FuDevice metadata for the physical and logical IDs * Use fu_common_string_append_kv() in subclassed device * synapticsmst: Use G_DECLARE_FINAL_TYPE to simplify the object * synapticsmst: Add a SynapticsMSTBoardID for another Lenovo dock * trivial: remove unnecessary CUSTOMERID_DELL define * synapticsmst: Add a SynapticsMSTBoardID for a Lenovo dock * synapticsmst: Display the board ID in non-hex form in the error message * synapticsmst: Use a more suitable icon for the device * trivial: Remove unused variable * Never use memcpy() in a possibly unsafe way * Add a ->to_string() vfunc to FuFirmware * Use FuFirmware as a container for firmware images * Allow filtering devices when using the command line tools * Be more accepting when trying to recover a failed database migration * trivial: Add translation for X-ThunderboltController * trivial: fixup standalone installer * modem-manager: add counterpart GUID for the DW5821e * solokey: Release the interface and rebind the kernel driver on close * fu-tool: Port ability to update a single device from fwupdmgr * uefi: Actually write the new device path if different than before * Allow setting custom flags when using fwupdate * trivial: Do not show a critical warning if no firmware is specified * trivial: Fix overzealous search-replace action in user string * Verify we don't break the ABI * Fix a crash when stopping the fwupd service * Relax the certificate time checks in the self tests for the legacy certificate * trivial: add cache directory into systemd unit rw paths * Never show AppStream markup on the console * Do not segfault when trying to quit the downgrade selection * trivial: Update icons for Thunderbolt and MST devices * Add support for the SoloKey Secure * trivial: Allow a device to *clear* a firmware version * trivial: debian: For signed package fill out Built-Using (Closes: #932757) * Allow specifying GUID to check any version exists * trivial: post release version bump * Release fwupd 1.2.10 * Disable the flashrom plugin by default * trivial: thunderbolt: catch failure setting up device * dell-esrt: Improve the experience for the plugin (Closes: #1245) * fu-util: When unlocking prompt for reboot if applicable * remove those PIDs with Bluetooth interface, Wacom updater doesn't support updating from Bluetooth interface * flashrom: Only show DEBUG and DEBUG2 output if using --plugin-verbose=flashrom * flashrom: Only call flashrom_programmer_init() on whitelisted boards * flashrom: Fix no version format set * fu-util: Show devices with an UpdateError in get-devices output * trivial: uefi: use UEFI-dummy for device ID instead of just uefi * trivial: fix error handling for non UEFI case (#1220) * Add a specific error code for the low battery case * Fix Fedora docker build missing directory: dist * uefi: Determine whether running in legacy mode or not (Fixes: #1220) * trivial: ci: debian: Only turn on flashrom when running CI * trivial: Fix typos in error messages * Allow client code to construct objects from GVariant blobs * Export functionality to build an array of objects * flashrom: Use libflashrom * trivial: Fix the version script to pick up boxed types * trivial: Correctly order the map entries according to vercmp rules * trivial: Fix pylint issue in the version script * Add meson target to fix translations * Add support for 8bitdo USB Retro Receiver * Use the newer features of GRWLock rather than reinventing it * Revert "Allow SuperIO updates to be done live" * uefi: Try to find a duplicate using the loadopt name * uefi: Provide a quirk to disable the use of the UX capsule * trivial: uefi: use the path for efibootmgr that was detected * synaptics-prometheus: Fix installing CONFIG firmware updates * synaptics-prometheus: Set the install duration from a quirk * synaptics-prometheus: Don't emit critial warning when updating config firmware * synaptics-prometheus: Fix missing field in the IOTA reply struct * Create SECURITY.md * redfish: Never set NULL device name * modem-manager: Never set NULL device name * ata: Never set NULL device name * trivial: Add some parameter guards to FuDevice * trivial: snap: make polkit directories if they don't exist (Fixes: #1205) * trivial: fu-main: clarify missing PK file error * synapticsmst: fix GUID generation (Closes: #1207) * Lite Mk II flag for use-shim-unique * trivial: circleci: try to fix automatic snap deployment * Allow SuperIO updates to be done live * fu-util-common: Support empty proxy strings (Fixes: #1199) * trivial: uefi: clarify error message * trivial: Fix non-systemd build * trivial: Sync example spec file with downstream * trivial: post release version bump - Drop fwupd-bsc1143905-hash-the-source-files.patch: Applied upstream. - Add pkgconfig(tss2-esys) BuildRequires: New dependency. - Add gtk-doc BuildRequires and pass gtkdoc=true to meson, build api docs even when using source service.- Add fwupd-bsc1143905-hash-the-source-files.patch to hash the source files instead of libfwupdprivate.a to avoid the checksum change due to the random naming LTO profile sections (bsc#1143905)- Update to version 1.2.10: * Disable the flashrom plugin by default * dell-esrt: Improve the experience for the plugin (Closes: #1245) * fu-util: When unlocking prompt for reboot if applicable * remove those PIDs with Bluetooth interface, Wacom updater doesn't support updating from Bluetooth interface * flashrom: Only show DEBUG and DEBUG2 output if using - -plugin-verbose=flashrom * flashrom: Only call flashrom_programmer_init() on whitelisted boards * flashrom: Fix no version format set * fu-util: Show devices with an UpdateError in get-devices output * Add a specific error code for the low battery case * Fix Fedora docker build missing directory: dist * uefi: Determine whether running in legacy mode or not (Fixes: #1220) * Allow client code to construct objects from GVariant blobs * Export functionality to build an array of objects * flashrom: Use libflashrom * Add meson target to fix translations * Add support for 8bitdo USB Retro Receiver * Use the newer features of GRWLock rather than reinventing it * uefi: Try to find a duplicate using the loadopt name * uefi: Provide a quirk to disable the use of the UX capsule * synaptics-prometheus: Fix installing CONFIG firmware updates * synaptics-prometheus: Set the install duration from a quirk * synaptics-prometheus: Don't emit critial warning when updating config firmware * synaptics-prometheus: Fix missing field in the IOTA reply struct * Create SECURITY.md * redfish: Never set NULL device name * modem-manager: Never set NULL device name * ata: Never set NULL device name * synapticsmst: fix GUID generation (Closes: #1207) * Lite Mk II flag for use-shim-unique * fu-util-common: Support empty proxy strings (Fixes: #1199) - Add python3-setuptools to BuildRequires for generate-version-script.py- Update to version 1.2.9: * Release fwupd 1.2.9 * trivial: Add two new translatable strings for new category types * Check if the system is offline during install, rather than at startup * Prompt the user to shutdown if requried when installing by ID * Use the correct file extension for the offline updates cache * trivial: Allow using --force to use the wrong daemon version * trivial: Display the correct expected command * standalone-installer: Be smarter about existing installed fwupd * Add a plugin to update Synaptics Prometheus fingerprint readers * trivial: standalone-installer: rename uninstall argument to cleanup * fu-util: Check the daemon version is at least the client version * fu-util: Check that daemon is started by expected unit * fu-util-common: when stopping a daemon, check for snap too * Allow using --force to trigger a duplicate offline update * trivial: Allow using FuUsbDevice without a GUsbDevice * trivial: Copy the icons if unset for the device child * trivial: Copy the physical ID if unset for the device child * trivial: Ensure the parent ID is up to date if the device ID changes * trivial: Fix typo when setting the parent ID * trivial: Disable the flatpak CI build * Allow handling FORCE for devices that subclass FuDevice * uefi: Fix a libasan failure when reading a UEFI variable * trivial: Fix a memory leak found using libasan * trivial: Fix an libasan failure in the dell plugin * trivial: Fix some dead code spotted by coverity * trivial: Fix a typo spotted by coverity * trivial: Fix a missing config.h include in a new source file * Dynamically read path to use for /system-update * Display the remote warning on the console in an easy-to-read way * ata: Set version format to plain for devices obtained from udev * trivial: Only apply SmbiosManufacturer to release version for internal * trivial: Fix two bugs in the hardware self tests script * Never guess the version format from the version string * Only force a semver when the device opts-in * Export the version-format to clients * Add missing gtk-doc documentation * dfu: Add some trivial, but useful, debugging for AVR DFU devices * dfu: Correctly identify DFU firmware that starts at offset zero * dfu: Don't keep showing trivial debug output * dfu: Reset the forced version during attach and detach * ata/nvme: For devices running Dell firmware, set `VersionFormat` (Fixes: #1169) * fu-engine: Check if VersionFormat is ambiguous when adding devices * trivial: Fix fwupdate --apply * Only use class-based instance IDs for quirk matching * trivial: dell-dock: set minimum board to 6 * trivial: post release version bump- Update to version 1.2.8: * Don't upload reports when the user has configured their system in a broken way * Allow setting the daemon verbose domains at runtime * Allow fwupdmgr to modify the daemon config * Do not compare version formats when the release format is unknown * Do not fall back integers to a plain version format * Use the device version format when converting the release version * Set the VersionFormat using the metadata or the UEFI quirk - Changes from version 1.2.7: * l10n: Create Lithuanian translation file * l10n: Update LINGUAS * Updated: Add support for 8BitDo M30. * modem-manager: increase the timeout to wait for modem after uninhibited * modem-manager: implement qmi pdc active config selection as attach() * fu-engine: When removing activation flag match the correct version * Require --force to install a release with a different version format * Match the old or new version number when setting NEEDS_REBOOT * Make an error message clearer when there are no updates available * Add support for the not-child extension from Logitech * thunderbolt: Set require-ac for Thunderbolt devices (Fixes: gh#hughsie/fwupd#1142) * Fix some typos spotted using codespell * Add a component categories to express the firmware type * fu-tool: Port get-history command to fwupdtool * Recreate the history database if migration failed * Move the core built-in 'fwupd' remote over to the dell-esrt plugin * snap: Add a custom systemd unit to call activation on shutdown (Fixes: gh#hughsie/fwupd#1125) * ata: Flush cache before standby and activate * synapticsmst: blacklist plugin when using amdgpu (Fixes: gh#hughsie/fwupd#1121) * uefi: add a new option to specify the os name * Return the newest device when using fu_history_get_device_by_id() * uefi: More carefully check the output from tpm2_pcrlist * uefi: Don't overwrite CustomFlags if set from a quirk * Shut down the daemon if the on-disk binary is replaced * ata: Correct activation functionality * Fix version comparisons after reboot for some formats * fu-tool: save history from stuff installed with `fwupdtool` - Changes from version 1.2.6: * ata: send ATA standby immediate when activating firmware * offline: Be more graceful when dealing with Plymouth failures * Save the new version in the history database for offline updates * Show the DeviceID when showing the updates list * Allow forcing an offline-only update on a live system using --force * Do not schedule an update on battery power if it requires AC power * superio: Add InstallDuration default value * superio: Add support for writing new e-flash contents * superio: Fix reading the attestation checksum * superio: Add support for reading the device checksum * superio: Use the chipset ID in the device name * superio: Move the device flush before getting the register map * superio: Move all the IT89xx code to a subclassed device object * superio: Move all the IT85xx code to a subclassed device object * superio: Split and export fu_superio_device_ec_writeX() * superio: Remove the port from fu_superio_device_ec_read() * superio: Move the register read/write into the FuSuperioDevice object * superio: Check the IOBAD0 is usable during setup * superio: Use fu_device_set_firmware_size() * superio: Move some constants out to the common header * superio: Use GObject properties in FuSuperioDevice * superio: Convert FuSuperioDevice to be derivable * Update Plymouth when updating pending firmware * Ask to reboot after scheduling an offline firmware update * Do not fail when scheduling more than one update to be run offline * Allow running offline updates when in system-update.target * Fix the location of fwupdoffline in the service file * Add optional vfuncs to allow detaching and attaching verify() * superio: Add list of SPI commands for future usage * Add a verify-update command to fwupdtool * uefi: Actually upload the UPDATE_INFO entry for the UX capsule * superio: Get the chip size from the EC rather than hardcoding * uefi: Check the error code of QueryCapsuleCapabilities() correctly * Update the UEFI UX Capsule Header checksum when needed. * uefi: Copy the shimx64.efi binary for known broken firmware * Correctly get the check the new version for devices that replug * Add a simple script to add a capsule header * Ensure the PKCS-7 client certificate exists at startup * fix makecab directive options * fwpup.service: use display-manager.service instead of gdm.service * Allow signing the fwupd report with the client certificate * Add a D-Bus method to generate a signature using the self-signed client certificate * Allow signing and verifying data using a PKCS-7 self-signed client certificate * Fix a critical warning when loading a PKCS-7 certificate with no DN * Include all device checksums in the LVFS report * modem-manager: Fix a trivial build warning * superio: Fix a trivial build warning * Move out the offline update functionality to a new binary * Do not reboot when failing to start fwupd during offline updates * Do not write the schema version to the db when loading * Do not recreate XbSilo caches when running on a readonly filesystem * Add the fwupdagent binary for use in shell scripts * Allow restricting firmware updates for enterprise use * standalone-installer: new --allow-older and --allow-reinstall options * Show the upgrade and downgrade flags when getting releases for a device * Rename FwupdRelease:trust-flags to FwupdRelease:flags * fu-tool: Save device state to @LOCALSTATEDIR@/lib/fwupd/state.json on actions * modem-manager: implement support for qmi-pdc * Add a plugin to support ModemManager hardware * fu-tool: Don't let failing to find dbus prevent engine from starting * ata: Support delayed activation * dell-dock: Use activation when calling fwupdtool activate * Add a support for delayed activation * uefi: Fix the self tests when running on Fedora SilverBlue * Do not fail to start the daemon if tpm2_pcrlist hangs * po/make-images.sh: quote LOCALEDIR and PYTHON3 * meson: print stderr of python3 command instead of stdout * Revert "contrib/debian: Switch to debian unstable" * Add elogind support - Changes from version 1.2.5: * uefi: fix segfault in fwup_set_update_statuses * Show in Flathub correctly * debian: explicitly depend on shared-mime-info * superio: Implement detach() and attach() * superio: Correct the names of some constants and improve debugging support * dell-dock: Filter the last supported payloads of certain board 4 SKUs * circleci: Manage the lifecycle of the snap * Add support to run snap build in CircleCI * wacom-usb: Use the correct buffer format for the touch module * wacom-usb: Set the install duration for each device type * wacom-usb: Return with an error if there were too many retries * wacom-usb: Make updating less verbose * Convert all child instance IDs when converting the parent * uefi: Allow devices to create more complete fake UEFI devices * unifying: Fix regression when recovering from failed flash * Ensure libxmlb dir exists for LGTM.com * Add C build configuration for LGTM.com * Use G_BEGIN_DECLS correctly for internal headers * standalone-installer: Fix issue found by LGTM * Use '#pragma once' to avoid a lot of boilerplate * Force LGTM to see Python 3 * fwupd: Hide firmware-packager behind meson option` * fu-common-cab: Correct handling of CAB files w/ nested directories and older libgcab * Fix a regression in using the InstanceIDs for quirk matching * thunderbolt: Convert the instance IDs as we never open the device * udev: Manally call fu_device_setup() to convert the instance IDs * fu-tool: Correct a crash caused by calling fwupdtool update * fu-tool: Don't fail if dbus is unavailable * contrib/debian: Switch to debian unstable * wacom-usb: Record the block number when failing * wacom-usb: The touch address is big endian * wacom-usb: Accept a non-binary IHEX file for the touch update * wacom-usb: Only poll when the device status is 'busy' * wacom-usb: Only reboot the device when all composite devices have been updated * wacom-usb: Fix flashing failure with latest Intuos Pro tablet * dfu: Fill holes when reading SREC files * Add fwupd_guid_from_string() to drop dep on uuid * wacom-raw: Check the InstanceID rather than GUID * Defer the InstanceID->GUID hashing until after setup * ata: Check for USB enclosures as well * Do not use efivar just to print a mixed endian GUID * Add fu_device_add_instance_id() and prefer explicit conversion * Report the DeviceInstanceIDs to `fwupdmgr get-updates` * Export some of the GUID functionality * Allow a plugin to set _ANOTHER_WRITE_REQUIRED to run more than one plugin * nvme: Add an extra check for Dell plugins to avoid false positives * ata: Add support for detecting Dell GUIDs * Fix the self tests when using glib2 >=2.59.0 * Add support to call composite prepare and cleanup using fwupdtool * uefi: Disable -Wno-address-of-packed-member * uefi: Don't unconditionally enable Werror for the EFI binary * Disable -Wno-address-of-packed-member - Changes from version 1.2.4: * Remove the autogenerated headers in the gettext files * ata: Default to the non-activation 0xE subcommand * fastboot: Use a much longer timeout as the removal delay * fu-progressbar: be more quiet when running non-interactive * fu-tool: Show UpdateMessage if applicable for install command * dfu: Simplify the SREC parser to avoid a crash with an invalid file * wacom-raw: Use the correct error codes when the panel is not supported * wacom-usb: Add some more information to the README * fu-keyring-utils: Don't fail missing PKI directory when compiled with GPG/PKCS7 * dell: Check that the flash interface command is available * wacom-usb: Fix the plugin name to allow devices to be updated * fastboot: flash the partition after downloading the file * uefi: Add a quirk to use the legacy bootmgr description * ata: Mark all devices as needing a reboot * ata: Add a new plugin to upgrade firmware on ATA/ATAPI hardware * udev-device: Add a utility function for debugging * udev-device: Set the firmware revision automatically * udev-device: Set the serial number automatically * udev-device: Fall back to non-database model and vendor values * udev-device: Fix critical warning if the device has no parent * dell-dock: Add support for a passive flow * Add support for an `UpdateMessage` and display it in tools * fu-tool: Port the `get-updates` command over * When using `directory` remote type automatically generate metadata * libfwupd: Add support for new remote type "directory" * Ensure cabinet archives always have a container checksum * Add support for a per-release source and details URL * When generating a CAB Silo use the prefix "components" * uefi: Add a trivial debugging statement to debug a UX capsule failure * uefi: Use fwup_new0() to allocate the updates table array * nitrokey: Correct Nitrokey Storage invalid firmware version read * dell-dock: Add support for flashing Thunderbolt over I2C * wacom-raw: Add a plugin to update Wacom embedded EMR and AES panels * fu-util/fu-tool: sync up reboot and shutdown behavior * dfu: Ignore the SUB ASCII value * dfu: Fix the parser to support extended segment addresses * dfu: Support ihex files with leading comments don't show an error * uefi: Correct a boot order creation bug (Fixes: gh#hughsie/fwupd#956) * uefi: Remove all variable length arrays * uefi: Fix a logic bug in fwup_search_file() * uefi: Use _cleanup_free in one more place * uefi: Do not pass required attrs to fwup_delete_variable() * uefi: Delete the old Linux-Firmware-Updater boot entry * uefi: Use the GNU-EFI BOOL type * Check if plugin changed after the device attaches or detaches * uefi: Refactor and simplify the EFI loader * Show a console warning if loading an out-of-tree plugin * UEFI: Do the UX checksum calculation in fwupd * wacom-usb: Add two more Intuos tablets * nvme: Add the needs-shutdown quirk to Phison NVMe drives * Add _NEEDS_SHUTDOWN flag for devices * Use GCC __cleanup__ features in the EFI loader * nvme: Add flag to support manually aligning the firmware to the FWUG value * nvme: Support FGUID to get the SKU GUID * nvme: Support FWUG to get the write block size * nvme: Add trivial comment to clarify address bitshifting * uefi: Do not check the BGRT status before uploading a UX capsule * dfu: Fix flashing various Jabra devices * upower: Add support for checking battery percentage * nvme: Check the return code of the admin passthru ioctl * fu-tool: Add support for an 'update' command to fwupdtool * dell-dock: Set minimum board to board 4 * dell-dock: Workaround a manufacturing bug for board level 4 * dell-dock: Wait longer for re-enumeration on TBT SKU * superio: Support IT89xx devices * fu-main: remove incompatible locale error message * Add a new plugin checklist (Fixes: gh#hughsie/fwupd#899) - Dropped obsolete patch: fwupd-bsc1130056-change-esp-os-name.patch (upstream PR: gh#hughsie/fwupd#1119 - Fixed fwupd-bsc1130056-change-shim-path.patch so that it works with the new files - Cleaned up changelog- Stop shipping polkit rules, as we have the distro specific setup in polkit-default-privs (boo#1125428).- Add fwupd-bsc1130056-change-esp-os-name.patch to change the OS directory in ESP (bsc#1130056) - Add fwupd-bsc1130056-change-shim-path.patch to set the default shim binary for openSUSE/SLE (bsc#1130056) - Link fwupd*.efi.signed to fwupd*.efi as requested by fwupd (bsc#1129466)- fwupd.spec: fix shell syntax error in %postun section (boo#1120363).- Update to version 1.2.3: * Correctly migrate the history database - Changes from version 1.2.2: * Log an error if started with an incompatible locale * Fix building with -Wl,-z,defs * ebitdo: Fix the reported version number if the daemon locale is not C.UTF-8 * Add Dell TB18DC to the known devices list * Allow replacing the last byte in the image when using 'dfu-tool replace-data' * Check the device checksum as well as the content checksum during verify * Submit the device firmware checksum and update protocol in the submitted report * Include the device checksum and update protocol in the historydb * uefi: Add the PCR0 value as the device checksum for system firmware * Add new API to get the release protocol from the metadata * Allow plugins to define support for a 'well-known' protocol * uefi: When adding headers set the header size to 4k * uefi: Append the header on capsules without headers from Linux * flashrom: Ensure the quirks database is set on the new object * uefi: Do not add devices with invalid GUIDs * Do not allow a GUID of zero * Add shared functionality for reading and writing with O_NONBLOCK * Only run attach and detach if the device is in the wrong mode * Sanitize the version if the version format has been specified * wacom-usb: Remove the DTH generation hardware as it will not work with fwupd * thunderbolt: Remove a superfluous boundary condition when verifying update * Add a plugin to update hardware that supports fastboot * Fix a regression when doing GetReleases on unsupported hardware * dfu: Require a specific USB class and subclass for DFU mode * Correctly parse format the version numbers correctly using old metadata * amt: Fix a crash if AMT returns an empty response * Check plugins set error on failure * contrib: Add a simple python3 client * installed-tests: Adjust to actually use a remote for installed tests * Add more standard USB identifier GUIDs * wacomhid: Rename to wacom-usb * Provide a way for plugins to decompress a custom archive to ram - Changes from version 1.2.1: * Remove DaemonVersionFormat=quad * Shut down the daemon after 2h of inactivity * Create a silo index to speed up GUID queries * Fix flashing the 8bitdo SF30 * Speed up fwupd startup by loading less thunderbolt firmware * Query the XbSilo when calling fu_plugin_check_supported() * Guess the version format when it is not provided * Fix a use-after-free when using valgrind and --immediate-exit * Add per-release install duration values * Fix showing the custom remote agreements * Be more explicit setting the update state * Include the os-release information in the release metadata - Changes from version 1.2.0: * ebitdo: remove SF30/SN30 pro device ids * dell-dock: Drop delayed MST callback routine * synapticsmst: Adjust EVB board handling * synapticsmst: Remove the content checking of firmware * synapticsmst: Access Board ID through memory instead In firmware images HDCP 2.2 will be enabled by default,so access to flash region will fail.` * contrib: Adjust flatpak build for moving to flathub * dell-dock: Prefer to flash VMM5331 via I2C instead of DP aux * Use HTTPS_PROXY if set * firmware-packager: Make it clearer to use * Sort the firmware sack by component priority * flatpak: Update gnu-efi to latest version * amt: Set the full device version including the BuildNum * fwupdmgr/fwupdtool: Move monitor command to fwupdtool * fwupdmgr/fwupdtool: Move firmware builder from fwupdmgr to fwupdtool * Add version format quirks for several Lenovo machines * uefi: Set the quirks on created devices * dell_dock: Use correct offset for finding version of MST * dell-dock: Add missing unlock call for MST via dell_dock plugin * Support the Intel ME version format * Port from libappstream-glib to libxmlb * Bump requirement to meson 0.46.0 * fu-main: Catch SIGTERM while update is in progress * fu-tool: Stop any running daemon over dbus before loading engine * meson: Bump dependency to 0.44 and adjust sysconfdir handling * dell-dock: If marketing name is invalid don't fail initialization * Readme Updated: Added KDE Discover as one more graphical front-end available for fwupd. * dell-dock: Correct a situation that error wasn't propagating * Don't segfault if a plugin returns FALSE from UpdateFunc with no error set * dell-dock: Use different debug strings for each device type * dell-dock: Don't use the VLA feature in the new dock * Add a plugin for an upcoming Dell USB-C dock * contrib: Add information on how to use debugging scripts * Allow setting the version format from a quirk entry * Don't use AppStream-glib for string helpers * Don't use AppStream-glib for version helpers * Don't use AppStream-glib for the GUID helpers * fu-device: Ensure that parent ID is created before creating quirked children * Update all sub-devices for a composite update * Stop showing the current release during updates in fwupdmgr * uefi: Move the TPM unlocking functionality from the Dell to UEFI plugin * Run the Dell plugin initialization after the UEFI plugin * thunderbolt-power: Fix possible linker problem * Allow firmware files to depend on versions from other devices * fu-debug: Redirect all debugging output to stderr instead of stdout * synapticsmst: Adjust panamera ESM update routine for some reported issues * fu-engine: Optionally wait for replug before updating a device * fu-device-list: Use delayed device removal when removing the tree * thunderbolt: Use replugging from the daemon * Add support for devices to show an estimated flash time * Marked some CL options for translation * ci: Run clang static analysis for Ubuntu build rather than just clang compiler * nvme: Initialize the buffer before reading the contents * contrib: Add a standalone installer creation script * rts54hid: Add support for Realtek USB devices using vendor HID commands * fu-engine: Don't show devices pending a reboot in GetUpgrades * Add FuMutex helper to make various parts of the daemon thread-safe * rts54hub: Add support for Realtek USB devices using vendor HUB commands * uefi: Check the amount of free space on the ESP * fu-tool: Import debugging options from fu-debug like fu-main * superio: Set the physical and logical IDs - Add pkgconfig(xmlb) BuildRequires: New dependency.- Add pesign-obs-integration to BuildRequires and add fwupd*.efi to BRP_PESIGN_FILES to get it signed - Add LC_IMAGES and use efivar only if %{with efi_fw_update} + Also update the version requirement of efivar - Disable Redfish and NVME plugins if %{without efi_fw_update} since those two plugins require efivar - Remove fwup from BuildRequires since fwupdate is already merged into fwupd.- Use gnu-efi only if %{with efi_fw_update}, always use pkgconfig(efivar) - Fix file list- Amend %post and %postun to install/uninstall fwupd*.efi to the EFI system partition + Also add shim to Requires for fwupdx64.efi - Mark fwupdate as obsolete + fwupdate has been merged into fwupd since fwupd 1.1.0.- fwupd is require for thunderbolt firmware update in SLE15-SP1(fate#322681)- Update to version 1.1.2: + New Features: - Add a new device flag "ignore-validation" that will override checks - Add a new plugin to enumerate EC firmware - Add a new plugin to update NVMe hardware - Add a plugin for updating using the flashrom command line tool - Allow the device list to take care of waiting for the device replug - Allow updating just one specific device from the command line - Allow upgrades using a self-signed fwupd.efi binary - Download firmware if the user specifies a URI - Include serial number in daemon device output when trusted - Notify all plugins of device removals through a new vfunc - Use boltd force power API if available + Bugfixes: - Add an install hook for classic snap - Allow forcing installation even if no AC power is applied - Allow using --force to ignore version_lowest - Always use the same HardwareIDs as Windows - Check the device state before assuming a fake DFU runtime - Copy over parent GUIDs from other plugin donors - Detect location of python3 interpreter - Do not add udev devices after a small delay - Don't fail to run if compiled without GPG/PKCS7 - Fix a segfault in fwupdtool caused by cleanup of USB plugins - Implement the systemd recommendations for offline updates - Improve performance when reading keys from the quirk database - Remove children of devices when the parent is removed - Rewrite synapticsmst to use modern error handling - Rewrite the unifying plugin to use the new daemon-provided functionality - Show a time estimate on the progressbar after an update has started- Use noun phrase for summary. Trim request for comments from description.- Update to version 1.1.1: + New Features: - Add support for the Synaptics Panamera hardware - Add validation for Alpine and Titan Ridge - Improve the Redfish plugin to actually work with real hardware + Bugfixes: - Allow different plugins to add the same device - Allow flashing unifying devices in recovery mode - Allow running synapticsmst on non-Dell hardware - Check the ESP for sanity at at startup - Do not hold hidraw devices open forever - Don't override _FORTIFY_SOURCE when building the EFI binary - Don't show passwords in fwupdmgr - Fix a potential segfault in smbios data parsing - Fix encoding the GUID into the capsule EFI variable - Fix various bugs when reading the thunderbolt version number - Reboot synapticsmst devices at the end of flash cycle - Show status messages when the daemon is initializing - Show the correct title when updating devices - Show the reasons that plugins are not run on the CLI - Use localedir in po/make-images- Run %udev_rules_update in post as package install udev rules- Update to version 1.1.0: (FATE#326702) + New Features: - Add a initial Redfish support - Add a tool to mimic the original fwupdate CLI interface - Allow devices to assign a plugin from the quirk subsystem - Change the quirk file structure to be more efficient - Merge fwupdate functionality into fwupd - Run a plugin vfunc before and after all the composite devices are updated - Support more Wacom tablets + Bugfixes: - Add release information for locked devices - Allow building with older meson - Detect the EFI system partition location at runtime - Do not use 8bitdo bootloader commands after a successful flash - Enable accesing downloaded files in flatpak and snap - Fix a potential buffer overflow when applying a DFU patch - Fix downgrading older releases to devices - Fix flashing devices that require a manual replug - Fix several small memory leaks in various places - Fix the retrieval of Redfish version - Fix unifying failure to detach when using a slow host controller - Set the Wacom device status when erasing and writing firmware - Show errors in the CLI if unable to access directory - Use the parent device name for Wacom sub-modules - Removed enable_pkcs7_when_testing_only.patch- Update to version 1.0.8: + New Features (including version 1.0.7): - Add an plugin to update some future Wacom tablets - Add 'fwupdmgr get-topology' to show logical device tree - Add support for creating a flatpak - Add support for creating a snap - Add support for Motorola S-record files - Add the Linux Foundation public GPG keys for firmware and metadata - Show a translated warning when the server is limiting downloads - Add enable-remote and disable-remote commands to fwupdmgr - Add fu_plugin_add_compile_version() for libraries to use - Allow requiring specific versions of libraries for firmware updates - If no remotes are enabled try to enable the LVFS - Show a warning with interactive prompt when enabling a remote + Bugfixes (including version 1.0.7): - Add a firmware diagnostic tool called fwupdtool - Adjust all licensing to LGPL 2.1+ - Allow installing more than one firmware using 'fwupdmgr install' - Allow specifying hwids with OR relationships - Do not call fu_plugin_init() on blacklisted plugins - Do not require libcolorhug to build - Fix a crash in libfwupd where no device ID is set - Fix a potential DoS in libdfu by limiting holes to 1MiB - Fix a segfault that sometimes occurs during cleanup of USB plugins - Fix Hardware-ID{0,1,2,12} compatibility with Microsoft - Hide devices that aren't updatable by default in fwupdmgr - Search all UEFI GUIDs when matching hardware - Stop matching Nintendo Switch Pro in the 8bitdo plugin - Check that EFI system partition is mounted before update - Disable synapticsmst remote control on failure - Don't recoldplug thunderbolt to fix a flashing failure - Fix SQL error when running 'fwupdmgr clear-offline' - Improve the update report message - Only enumerate Dell Docks if the type is known - Only run certtool if a new enough gnutls is present - Prevent a client crash if the daemon somehow sends invalid data - Reboot after scheduling using logind not systemd - Use the right encoding for the label in make-images - Added/backported enable_pkcs7_when_testing_only.patch: + needed to disable pkcs7 test during build (can be removed for fwupd >= 1.0.9)- Update hasbang in installed files from /usr/bin/env python3 to /usr/bin/python3.- Update url - Small packaging cleanup with spec-cleaner- Update to version 1.0.6: + New Features: - Add bash completion for fwupdmgr. - Add support for newest Thunderbolt chips. - Allow all functions that take device arguments to be prompted. - Allow devices to use the runtime version when in bootloader mode. - Allow overriding ESP mount point via conf file. - Delete any old fwupdate capsules and efivars when launching fwupd. - Generate Vala bindings. + Bugfixes: - Allow ctrl-d out of the prompt for devices. - Allow to create package out of provided binary. - Correct handling of unknown Thunderbolt devices. - Correctly detect new remotes that are manually copied. - Fix a crash related to when passing device to downgrade in CLI. - Fix running the self tests when no fwupd is installed. - Fix Unifying signature writing and parsing for Texas bootloader. - Only send success and failure reports to the server. - Use a CNAME to redirect to the correct CDN for metadata. - Use a longer timeout when powering back the Thunderbolt device.- Ensure library package has a dependency on main package, otherwise it won't be usable.- Update to version 1.0.5: + New Features: - Offer to reboot when processing an offline update. - Report the efivar, libsmbios and fwupdate library versions. - Report Thunderbolt safe mode and SecureBoot status. - Show the user a URL when they report a known problem. - Support split cabinet archives as produced by Windows Update. + Bugfixes: - Be more careful deleting and modifying device history. - Clarify which devices don't have upgrades. - Ensure the Thunderbolt version is xx.yy. - Fix a daemon warning when using fwupdmgr get-results. - Fix crasher with MST flashing. - Fix DFU detach with newer releases of libusb. - Include the device VID and PID when generating the device-id. - Set the RemoteId when using GetDetails. - Stop matching 8bitdo DS4 controller VID/PID. - Use help2man for dfu-tool and drop docbook dependencies. - Use ngettext for any strings with plurals. - Use the default value if ArchiveSizeMax is unspecified.- Update to version 1.0.4: + New Features: - Add D-Bus methods to get and modify the history information. - Allow the user to share firmware update success or failure. - Ask the user to refresh metadata when it is very old. - Store firmware update success and failure to a local database. + Bugfixes: - Add a device name for locked UEFI devices. - Allow each plugin to opt-in to the recoldplug action. - Fix firmware downloading using gnome-software. - Fix UX capsule reference to the one specified in efivar. - Never add two devices to the daemon with the same ID. - Rescan supported flags when refreshing metadata. - Add pkgconfig(json-glib-1.0) BuildRequires: new dependency.- Update to version 1.0.3: + New Features: - Add a new plugin to add support for CSR "Driverless DFU". - Add initial SF30/SN30 Pro support. - Support AppStream metadata with relative URLs. + Bugfixes: - Add more metadata to the user-agent string. - Block owned Dell TPM updates. - Choose the correct component from provides matches using requirements. - Do not try to parse huge compressed archive files. - Fix a double-free bug in the Udev code. - Handle Thunderbolt "native" mode. - Use the new functionality in libgcab >= 1.0 to avoid writing temp files.- Unbreak compilation on non-x86, upstream renamed options to disable plugins.- Update to version 1.0.2: + Add a plugin for the Nitrokey Storage device + Add support for the original AVR DFU protocol + Allow different plugins to claim the same device + Allow quirks to set common USB properties + Move a common plugin functionality out to a new shared object + Optionally delay the device removal for better replugging + Set environment variables to allow easy per-plugin debugging + Use a SHA1 hash for the internal DeviceID + Add quirk for AT32UC3B1256 as used in the RubberDucky + Disable the dell plugin if libsmbios fails + Don't register for USB UDev events to later ignore them + Fix a possible buffer overflow when debugging ebitdo devices + Fix critical warning when more than one remote fails to load + Fix DFU attaching AVR32 devices like the XMEGA + Ignore useless Thunderbolt device types + Refactor ColorHug into a much more modern plugin + Release the Steelseries interface if getting the version failed + Remove autoconf-isms from the meson configure options + Show a nicer error message if the requirement fails + Sort the output of GetUpgrades correctly - Changes from version 1.0.1: + Add support for HWID requirements + Add support for programming various AVR32 and XMEGA parts using DFU + Add the various DFU quirks for the Jabra Speak devices + Allow specifying the output file type for 'dfu-tool read' + Move the database of supported devices out into runtime loaded files + Support the IHEX record type 0x05 + Use help2man to generate the man page at build time + Use the new quirk infrastructure for version numbers + Catch invalid Dell dock component requests + Correctly output Intel HEX files with > 16bit offset addresses + Do not try to verify the element write if upload is unsupported + Fix a double-unref when updating any 8Bitdo device + Fix crash when enumerating with Dell dock connected but with no UEFI + Fix uploading large firmware files over DFU + Format the BCD USB revision numbers correctly + Guess the DFU transfer size if it is not specified + Include the reset timeout as wValue to fix some DFU bootloaders + Make the error message clearer when sans fonts are missing + Support devices with truncated DFU interface data + Use the correct remote-specified username and passord when using fwupdmgr + Use the correct wDetachTimeOut when writing DFU firmware + Verify devices with legacy VIDs are actually 8Bitdo controllers - Add help2man as BuildRequires.- Fix dependencies and build options for non-x86 architectures. At least FW updates for USB are arch independent, and EFI FW updates can also be applied on Aarch64.- Update to version 1.0.0: * Add the plugin documentation to the main gtk-doc * Add a waiting-for-auth daemon state * Add fwupd_remote_get_checksum() to use in client programs * Generate the LD script from the GObject Introspection data * Prevent fwupd from mounting filesystems * uefi: Do not use system-specific infomation for PCI devices * uefi: Support uploading the firmware splash image * dell: only set coldplug delay when we know we need it * dell: only run SMI to toggle host MST GPIO on systems with host MST * dell: add functionality to blacklist HW with problems * dell: only run on intended chassis * thunderbolt-power: always run after thunderbolt plugin * Allow plugins to depend on each other * Add support for SMBIOSv3 * dell: prefer to use hwids to get DMI keys and DE table * debian: remove /etc/fwupd.conf on upgrade * unifying: Use fu_plugin_check_supported() * Add fu_plugin_check_supported() * unifying: Use a device whitelist to avoid breaking devices * Fix various printing issues with the progressbar * dell: Fix a trivial whitespace issue * Do not fail to load the daemon if cached metadata is invalid * Do not store the newest release as part of the FuDevice object * Add a method to return a list of upgrades for a specific device * Move the downgrade calculation to the daemon * Make FuDevice derive from FwupdDevice rather than FwupdResult * Add a command 'clear-offline' to fwupdmgr * Merge releases where multiple remotes provide the same firmware * Remove the UniqueID property * uefi: Do not set the release version * udev: Do not match USB devices, even with a GUID set * Use the intel-wmi-thunderbolt kernel module to force power * dell: drop thunderbolt force power code * unifying: Add hardcoded summaries for peripheral kinds * Create CODE_OF_CONDUCT.md * Ensure more devices set the device summary * Add an 'Summary' property to each device * Add a human-readable title for each remote * unifying: Disable if the kernel has no CONFIG_HIDRAW support * Move deprecated symbols to a new header * Introduce an s390x cross compile target to CI * Add ModifyRemote as an easy way to enable and disable remotes like the LVFS * Do not auto-open all USB devices at startup * dfu: Use FuDeviceLocker * unifying: Use FuDeviceLocker * colorhug: Use FuDeviceLocker * ebitdo: Use FuDeviceLocker * altos: Use FuDeviceLocker * steelseries: Use FuDeviceLocker * usb: Use FuDeviceLocker * Add FuDeviceLocker to simplify device open/close lifecycles * dfu: Remove DEVO support * dfu: Remove the now-unused symtab support * Remove the ELF support from libdfu and move the code to the altos plugin * Use -Werror when building in Travis CI * Do not install the libdfu helper library * Parse the SMBIOS DMI table directly * usb: Disable the fallback USB plugin * Test for missing language translations at build time * Fix the libdfu self test failure on s390 and ppc64- Update to version 0.9.8: * Add a command 'clear-offline' to fwupdmgr * Do not fail to load the daemon if cached metadata is invalid * Fix a crash when using fu_plugin_device_add_delay() * Fix the libdfu self test failure on s390 and ppc64 * Format the BCD USB revision numbers correctly * Never fallback to an offline update from client code * Prevent fwupd from mounting filesystems * dfu: Allow flashing when the target does not specify an alt-name * dfu: Do not try to verify the element write if upload is unsupported * dfu: Fix uploading large firmware files * dfu: Include the reset timeout as wValue to fix some hardware * dfu: Set the vendor ID to the runtime USB VID * dfu: Use 0x0101 as an alias for 0x0110 * thunderbolt: move test for mock environment (gh#hughsie/fwupd#280) * udev: Do not match USB devices, even with a GUID set * uefi: Do not set the release version * unifying: Disable if the kernel has no CONFIG_HIDRAW support- Update to version 0.9.7: + 10 months worth of bugfixing, integrating more vendor specific Firmware update paths.- Update to version 0.8.1: + Delete duplicate translations (gh#hughsie/fwupd#89). + Do not hardcode docbook2man path. + Fix fwupdmgr timeout with missing pending database. + Fix compiler warnings. + Fix a crash when enumerating devices on a Dell WLD15. + dell: don't initialize libsmbios on unsupported systems. + Do not fail to start on Dell hardware. + Adjust systemd confinement restrictions. + Do not dlclose modules when running under valgrind. + Really remove the NoNewPrivileges systemd confinement. + Release fwupd 0.8.1.- Update to version 0.8.0: + Show a different error when checking for updates while on + battery power (gh#hughsie/fwupd#68). + Clarify the test in --help and man page related to offline + (gh#hughsie/fwupd#69). + libdfu: Use a heuristic for the start address if the firmware + has no DfuSe footer. + dell: Don't return the address of a stack variable. + dell: Fix a possibly-impossible-to-hit buffer overrun. + close USB devices before error returns (gh#hughsie/fwupd#73). + Make libelf support optional. + Always make sure we're getting a C99 compiler. + Fix redeclaration of polkit autocleanup functions. + Uncomment SystemdService parameter in the dbus service file + (gh#hughsie/fwupd#74). + Make all providers and plugins share a GUsbContext. + Unexport libebitdo. + Move the plugins into plugin-specific directories. + Convert the providers to plugins to simplify code and for + future features. + Add support for Logitech Unifying devices. + Add a set of vfuncs that are run before and after a device + update. + Return the pending UEFI update when not on AC power. + Move the UPower functionality to a plugin. + Fix udev plugin loading. + fix dfu plugin loading. + Disable PrivateNetwork on systemd service. + Use more restrictive settings when running under systemd. + dell: add a new method for forcing a controller to flash mode. + Add VerifyUpdate to update the device checksums server-side. + Move the Option ROM parsing to the Udev plugin. + Move the device add delay to shared code. + Add initial skeleton for Intel Thunderbolt support. + unifying: Use the actual bootloader VID/PIDs when in firmware + mode. + Allow the metadata to match a version of fwupd and the existing + fw version. + Add fwupd_result_get_device_version_bootloader(). + Fix the appstream-glib version guards. + dell: Add coldplug methods to let other plugins turn on + TBT/GPIO. + libdfu: Don't read data from some DfuSe targets. + Add the ability to run a prepare->exec->cleanup on coldplug. + Allow plugins to request that all plugins re-coldplug. + thunderbolt: Detecting new devices and add an actual device to + the daemon. + Add support for flashing the ChaosKey. + thunderbolt: add some guards around empty arrays. + dell: Adjust the coldplug preparation and cleanup sequence. + dell: Fix possible linker problem. + Revert "thunderbolt: add some guards around empty arrays". + Add fu_plugin_set_coldplug_delay() to allow hardware to + initialize if required. + altos: Add error checking when using termios. + ebitdo: Subclass FuDevice like the altos plugin. + altos: Set the flags in the init_real so they work for the + cmdline tool. + unifying: Subclass FuDevice like the altos plugin. + Include all debug messages when run with --verbose. + dell: introduce a standalone (noinst) tool to force mode + flashes. + Introduce plugin for Synaptics MST hubs. + synapticsmst: Add cascade support. + Only register the D-Bus service when all devices have been + added. + synapticsmst: Refactor away the global state. + synapticsmst: fix cascade support in the plugin. + Updates for thunderbolt plugin. + thunderbolt: Add special handling for safe mode on Dell systems + (gh#hughsie/fwupd#84). + synapticsmst: Iterate all nodes rather than hardcoding to 3. + synapticsmst: build GUID using dock type. + Add a new function fu_dell_supported to fu-dell-common. + synapticsmst: add a test suite. + synapticsmst: Fix up some trivial whitespace issues. + Fix a refcounting issue in the udev plugin. - Add rpmlintrc untill security review is resolved- Update to version 0.7.5: + Clean up PO files + Verify devices support updating in mode they are called. + Fix an assert when unlocking the dummy ESRT device + Don't create the UEFI dummy device if the unlock will happen on + next boot + dell: Match on TB16 as well + Fix a -fstack-protector-strong crash when uploading firmware + Enable the stack protection in local builds + dell: If running in test suite, don't try to get product ID + from sysfs + libfdfu: Show a warning when getting the alt-name failed + dfu: Fix listing devices using the ST reference bootloader + Show the nicely formatted target name for DfuSe devices + libdfu: Fix two possible critical warnings for corrupt USB + descriptors + libdfu: Correctly offset addresses when one zone has multiple + sectors + libdfu: Do not do GetStatus on dfuse upload + libdfu: Fix uploading from DfuSe devices + libdfu: Use the device offset when writing DfuSe firmware + libdfu: Add DfuAction enumerated value to represent a device + action + libdfu: Use an animated progress bar when performing DFU + operations + libdfu: Do not do a zero-byte download when in DfuSe mode + libdfu: Fix verification of written DfuSe firmware + libdfu: Ensure the device is open before claiming the interface + libdfu: Ensure the mode is set correctly when faking a runtime + libdfu: Re-get the quirks when the DfuDevice gets a new + GUsbDevice + libdfu: Add quirks for HydraBus as it does not have a DFU + runtime + libdfu: Match the device booloader or runtime VID and PID when + checking firmware + Add a 'replace-data' command to dfu-tool + string + libdfu: Add dfu_sector_get_zone() to get the continuous memory + zone number + libdfu: Wait for DNBUSY to be cleared when checking the DfuSe + status + libdfu: Correctly erase DfuSe devices + Enable hardening flags on more binaries + libdfu: Correctly set the element address when uploading from + DfuSe devices - Add pkgconfig(gmodule-2.0) BuildRequires: Align with what + configure checks for. - Add pkgconfig(libsmbios_c) BuildRequires: Support dell bios. + Unfortunatly, until we have fwup packaged and enabled, this will + not work. - Add disabled pkgconfig(libtbtfwu): For future thunderbolt + support.- Update to version 0.7.4: + Add a fallback for older appstream-glib releases + Write the ELF files with the correct section type + Fix libfwupd self tests when a host-provided fwupd is not + available + Add dfu_firmware_add_symbol() + Add the Altos symbol table to the DfuFirmware + Use the symtab to set the VID/PID from Altos IHEX firmware + images + Show the human-readable version in the 'dfu-tool dump' output + Allow specifying the argument to 'dfu-tool set-release' in + major.minor format. + sections + Support writing the IHEX symbol table + call + Load the symbol table from ELF firmware + Load the Altos USB descriptor from ELF files + Add DFU_CIPHER_KIND_RSA + Fix a possible crash when uploading firmware files using libdfu- Update to version 0.7.3: + build: Fix gtk-doc build when srcdir != builddir + In get-details output, display the blob filename + Ensure the update ID is set when getting local firmware details + Use a private gnupg key store + Add support for installing against multiple devices from a CAB + file + Use the correct firmware blob when installing a composite + device update + in get-details output, display update_name rather than Unknown + Device + statements + Don't make failures critical while checking versions or locked + state + Show a more detailed error when installing firmware on the + wildcard + Add Dell TPM and TB15/WD15 support via new Dell provider. + file + Allow blacklisting devices by their GUID + header file + Add XPS 9250 to Dell TPM modeswitch blacklist + Only display flashes left in results output when it gets low. + Add a small library for talking with 0bitdo hardware + Add another compile warning and fix up any build failures + Embed fwupd version in generated libfwupd and libdfu + documentation + Update fwupdmgr manpage for new commands and arguments + build: Fix gtk-doc build when srcdir != builddir + online not offline + Get the firmware version correctly from 0Bitdo gamepads + Switch to the Amazon S3 CDN for firmware metadata + Fix writing 8Bitdo device firmware + be updated + Show the vendor flashing instructions when installing + Split out the DFU file formats to separate files + Add fwupd_result_remove_device_flag() + Add FU_DEVICE_FLAG_NEEDS_BOOTLOADER + get-updates output + Allow providers to export percentage completion + Add fwupd_client_get_status() + Handle the 8Bitdo bootloader in a better way + Show a progress notification when installing firmware + Add fwupd_result_get_unique_id() + Use the SHA1 hash of the local file data as the component + origin + Use the correct define prefix for FwupdDeviceFlags + libdfu: Fix hang when parsing corrupt IHEX files + Add a set-target-size command to dfu-tool + Support the 'DEVO' cipher kind in libdfu + Add a set-address command to dfu-util + Disable the Dell specific code by default + Conditionally enable all providers based upon what's installed + Add a summary of providers that are enabled from configure + Do not use the deprecated GNOME_COMPILE_WARNINGS + Ignore devices that do not add at least one GUID + Do not attempt to add DFU devices not in runtime mode + Save the unique ID in the pending database + libdfu: Add initial ELF reading and writing support + Add dfu_firmware_format_from_string() + Normalize the DfuFirmwareFormat enums- Update to version 0.7.2: + Allow devices to have multiple assigned GUIDs + Only return updatable devices from GetDevices() + Add fu_device_get_alternate() + Allow metainfo files to match only specific revisions of + devices + Re-read flags for a device after a provider's unlock routine is + done + Test for a locked device when trying to install firmware update + Enforce allowing providers to take away flash abilities + Support returning multiple GUIDs from GetDetails + Add a GetDetailsLocal() method to eventually replace + GetDetails() + break + libdfu: Add DfuVersion enumerated values + libdfu: Show the DFU protocol version in 'dfu-tool list' + Only claim the DFU interface when required- Update to version 0.7.1: + Fix libdfu CRC check for big endian architectures + Add dfu_image_get_element_default() + Fix libdfu CRC check for big endian architectures + Fix big endian issues when reading and writing DFU and DfuSe + files + Remove non-interactive pinentry setting from fu-keyring + Set the system's DMI product name as the DisplayName for UEFI + Re-order output of get-devices to be easier to read + Make the device display name nicer + update version + Return all update descriptions newer than the installed version + Add summary and name field for Rival SteelSeries + Fix a critical warning when restarting the daemon + Add a 'supported' flag to the FuDevice + Add fwupd_client_connect() + Add a 'monitor' debugging command for fwupdmgr + Add device-added, device-removed and device-changed signals + Match the AppStream metadata after a device has been adedd + Re-match devices when the AppStream metadata is updated + Show 'Unknow Device' in fwupdmgr when a device name is not set + Set the device description when parsing local firmware files + Add support for a new device field "Flashes Left". + src/Makefile.am: reshuffle so enableable bits are only + referenced when on + Add support for a --force flag to override provider warnings- Update to version 0.7.0: + Use g_usb_context_wait_for_replug() + Run vendor plugins as required + Add a plugin for SteelSeries hardware + Add fwupd_device_flag_to_string() + Return the device flags when getting firmware details + Show device flags in 'fwupdmgr get-devices' + Add fwupd_trust_flag_to_string() + Export FwupdUpdateState in libfwupd + Export FwupdUpdateFlags in libfwupd + Add FwupdResult to libfwupd + Add a self test framework for libfwupd + Add FwupdClient to libfwupd + Use FwupdClient from libfwupd in fwupdmgr + Use libfwupd inside the daemon + Emit a FwupdClient::changed when the daemon emits this signal + Rename some of the new libfwupd API to align with the D-Bus + names + libdfu: Fix up some NULL/FALSE confusion + libfwup: Fix up some NULL/FALSE confusion + FwupdClient + Allow other checksum kinds in FwupdResult + Allow SHA-256 hashes when verifying + Show the checksum kind in the fwupdmgr output + Add Alienware to the version quirk table + Do not use /tmp for downloaded files + Add fwupd_result_has_device_flag() + Do not return updates that require AC when on battery + Connect to UPower at startup + Test that GPG key import actually was successful (or didn't + change a key already in the keyring) + Use g_auto() in FuKeyring + Return errors of the correct type when using libfwupd + Allow overridding the location of the pending database for + test suite + Allow overriding the location of the provider offline files for + test suite + Validate that the dbus system bus is available before running + libfwupd tests + Update README.md for changes that have happened in the project + Add some basic explanation of how to use fwupd with various + frontends + Split out the libdfu-devel package + Revert "Allow overridding the location of the pending database + for test suite" + Revert "Allow overriding the location of the provider offline + files for test suite" + Allow the test suite to run in %check + Generate gtk-doc documentation for libfwupd- Update to version 0.6.3: + Require AC power before scheduling some types of firmware + update + Install the hardcoded firmware AppStream file + Correct the BCD version number for DFU 1.1 + Add an unlock method for devices + Add ESRT enable method into UEFI provider. + Only read PCI OptionROM firmware when devices are manually + unlocked + Do not use deprecated API from libappstream-glib + Ignore the DFU runtime on the DW1820A + Export the attribute and quirk values in libdfu + Show ignored DFU devices in dfu-util, but not in fwupd + Allow defining update vfuncs with no runtime support + Revert "Allow defining update vfuncs with no runtime support" + Add a simple plugin infrastructure- Update to version 0.6.2: + Add 'Created' and 'Modified' properties on managed devices + Fix get-results for UEFI provider. + Support vendor-specific UEFI version encodings + Move quirks directly into a single table and file.- Update to version 0.6.1: + Only dump the profiling data when run with --verbose + Always persist ColorHug devices after replug + Do not misdetect different ColorHug devices- Update to version 0.6.0: + Add support for updating USB devices with DFU + libdfu: Add support for DfuSe firmware + libdfu: Generate gtk-doc documentation + libdfu: Don't rely on specific hardware to be present + libdfu: Move the VID:PID checks from the tool to DfuDevice + libdfu: Use a custom error domain + Use the same device identification string format as Microsoft + libdfu: Fix crash when setting a target size + libdfu: Allow setting the alternate settings in DfuSe firmware + libdfu: Add a merge command to dfu-tool + libdfu: Allow choosing a different alt-setting when downloading + libdfu: Fix a crash when setting a NULL image name + libdfu: Correctly implement auto-boot in dfu_device_download() + libdfu: Check for extra args to dfu-tool convert + libdfu: Call the progress callback when doing detach + Ignore the DFU device detach:attach when verifying + libdfu: Require a --force flag to flash wildcard firmware + Use new API available in fwup 0.5 + libdfu: Make the element address 32 bits in size + libdfu: Support the ST-specific bitCanAccelerate + libdfu: Only do a Detach notification if we're actually doing to do it + libdfu: Use the progress bar for all uploads and downloads + libdfu: Improve the output of 'dfu-util list' + libdfu: Support download and upload to ST DfuSe devices + libdfu: Fix multi-interface devices like the Neo Freerunner + libdfu: Add a pkgconfig file + libdfu: Use signals to propagate device state + libdfu: Add a context object to handle device hotplug + libdfu: Add an example showing GObject Introspection + libdfu: Do not ref DfuDevice in DfuTarget so the auto-close + logic works + Close DFU devices as soon as possible after the transfer has completed + Emit the changed signal after doing an update + Rescan the DFU device after replug to get the new version + libdfu: Add dfu_context_get_device_by_platform_id() + libdfu: Add dfu_device_get_runtime_release() + libdfu: Add dfu_device_get_display_name() + libdfu: Fix self tests after recent API change + Split out the DFU provider as a new file + libdfu: Copy the platform ID and invalidate the GUsbDevice when removed + libdfu: Accept multiple spaces after the DfuSe sector name + libdfu: Verify the GUsbDevice is set before using it + libdfu: Remove the weak pointer when destroying the DfuTarget + libdfu: Fix dfu_device_wait_for_replug() so it can work with a DfuContext + Export the AppStream ID when returning device results + Rescan the DFU device after firmware has been updated + libdfu: Handle cancellation with ctrl+c in dfu-tool + libdfu: Add a quirk to support DFU runtime-less devices + libdfu: Add an explicit 'attach' method + libdfu: Add dfu_firmware_get_image_by_name() + libdfu: Make reading and writing to targets easier to + understand + Fix compile with --disable-shared + libdfu: Display all the files shown with 'dfu-tool dump' + libdfu: Fix a few crashers found using afl + libdfu: Fix another bug discovered by the fuzzer + libdfu: Add commands to encrypt and decrypt firmware images + libdfu: Show better device errors + libdfu: Add DfuCipher which is a property on a target and a + firmware file + libdfu: Add support for the draft 'DFU Metadata Table + Specification' + libdfu: Only enumerate the DfuContext when required + libdfu: Fix several reported crashes in the inhex32 import code + Release fwupd 0.6.0- Update to version 0.5.4: + Fix compile error against fwupdate git due to dropped + functions. + Use strerror() when printing errors from libfwupdate + Use new API available in fwup 0.5 + Release fwupd 0.5.4- Update to version 0.5.3: + Avoid seeking when reading the file magic during refresh + Do not assume that the compressed XML data will be NUL + terminated + debugging + Use the correct user agent string for fwupdmgr + Release fwupd 0.5.3- Update to version 0.5.2: + Ensure D-Bus remote errors are registered at fwupdmgr startup + Show the dotted-decimal representation of the UEFI version + number + require appstream-glib 0.5.1 + not found + When the version is from the 'FW' extension do not cache the + device + Support cabinet archives files with more than one firmware + Add the update description to the GetDetails results + Add profiling data to debug slow startup times + Fix verify-update to produce components with the correct + provide values + Clear the in-memory firmware store only after parsing a valid + XML file + Release fwupd 0.5.2- Update to version 0.5.1: + Fix the error message when no devices can be updated + offline update: Use glib api for for reading symlinks + Release fwupd 0.5.1- Update to version 0.5.0: + Do not merge the existing firmware metadata with the submitted + files + Raise the dep on GLib to support and use g_autoptr() + Do not reboot if racing with the PackageKit offline update + mechanism + Release fwupd 0.5.0- Update to version 0.1.6: + Install fwupd and fwsignd into /usr/lib/$(triplet)/fwupd + instead. + Use the new secure metadata URI + Update the offline update service to invoke right command + Don't apply firmware if something else is processing the + offline update + Remove fwsignd, we have the LVFS now + Depend on appstream-glib >= 0.5.0 + Add application metadata when getting the updates list + Simplify the version properties on devices to avoid complexity + and bugs + Release fwupd 0.1.6- Update to version 0.1.5: + Allow fwupd to be autostarted by systemd + Sign the test binary with the correct key + Do not pre-convert the update description from AppStream XML + Devices with option ROM are always internal + Prefer the GUID from the firmware than the device + Allow no arguments to 'fwupdmgr verify-update' and use sane + defaults + Add the ability to remove a vendor on the LVFS site + Fix validation of written firmware + Move the verification and metadata matching phase to the daemon + Add a simple config file to store the correct LVFS download URI + Make parsing the option ROM runtime optional + Add a Raspberry Pi firmware provider + Use the AppStream 0.9 firmware specification by default + Generate the ColorHug test files at runtime + Release fwupd 0.1.5- Update to version 0.1.4: + man/Makefile.am: Add --sgml to docbook2man invocation + Make statements about storing private keys stronger. + Provide a way for clients to add new firmware metadata to the + system cache + Fix fwupd-offline-update.service + Revert "man/Makefile.am: Add --sgml to docbook2man invocation" + Add a Udev firmware provider + Extract the version string from the ROM in PCI devices + Add a 'verify' command that verifies the cryptographic hash of + device firmware + Make the ROM parsing more robust and add self tests + Get the version number out from Intel VBIOS too + Provide a way to dump the option ROM using the command line + build: gusb is required even without colorhug + remove unused variables + Do not return NULL as a gboolean + Fix Intel VBIOS detection on Dell hardware + Do not use the subsystem information when constructing the fake + GUID + Actually parse the PCI option ROM + Accept multiple files at one time when using fwupdmgr dump-rom + verify run + Add a 'verify-update' command to fwupdmgr + Fix trivial bug when parsing firmware versions + Keep hitting the hardware until it gives us enough ROM + Make the version parsing more resilient to corrupt firmware + Fix the example .inf file to reflect reality + Fix ROM PPID searching to work for all ROMs + Move the LVFS website to the fwupd project + Add the ability to create detached signatures + Allow cab files to be saved + Add a simple signing server that operates on .cab files + Automatically download metadata using fwupdmgr if required + Don't call efibootmgr after fwupdate. + Associate the contact email address directly with the vendor + key + Use the actual LVFS GPG key + Allow running fwsignd as the non-root user + metadata + Do not merge existing LVFS metadata + Do not use the file hash when storing the LVFS submitted + firmwares + Move GetUpdates to the daemon + Change the DBus method for installing firmware to 'Install' + Allow installing an offline UEFI update without --offline + Add a 'fwupdmgr update' command to update all devices to latest + versions + 'update' command + Increase the size limit of firmware to 50Mb + Only sign files when the entire file has been copied + Fallback to offline install when calling the update argument. + Reload appstream data after refreshing. + Release fwupd 0.1.4- Update to version 0.1.3: + Coldplug the devices before acquiring the well known name + Add an UNKNOWN status so we can return meaningful enum values + Run the offline actions using systemd when required + Get the firmware version from the device descriptors + Added syntax highlighting + More markup + Support OpenHardware devices using the fwupd vendor extensions + Move boolean properties on the device to a set of flags + Release fwupd 0.1.3- Update to version 0.1.2: + More markup + Fixed typos and markup for executable + Add slovak translation + Add helper code to validate public key signatures + Decompress any firmware signatures in the .cab file + Verify firmware if a detached signature is present + Show the firmware trust status when doing GetDetails() + Only allow signed firmware to be upgraded without a password + Add some guidelines for vendors to README + Small grammar fix + Extract the .cat file alongside the firmware + Release fwupd 0.1.2- Update to version fwupd_0_1_1: + Do not crash when there are no devices to return + Add a 'get-updates' command to fwupdmgr + Add and document the offline-update lifecycle + Create runtime directories if they do not exist + Create a libfwupd shared library + Export the status as an enumerated value rather than a string + Release fwupd 0.1.1- Initial package.s390zl36 1681907336  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~1.7.3-150400.3.5.11.7.3-150400.3.5.11.7.31.7.3 fwupd-1fwupd.hfwupdplugin.hlibfwupdfwupd-client-sync.hfwupd-client.hfwupd-common.hfwupd-deprecated.hfwupd-device.hfwupd-enums.hfwupd-error.hfwupd-plugin.hfwupd-release.hfwupd-remote.hfwupd-request.hfwupd-security-attr.hfwupd-version.hlibfwupdpluginfu-archive-firmware.hfu-archive.hfu-backend.hfu-bluez-device.hfu-cabinet.hfu-cfi-device.hfu-cfu-common.hfu-cfu-offer.hfu-cfu-payload.hfu-chunk.hfu-common-cab.hfu-common-guid.hfu-common-version.hfu-common.hfu-context.hfu-deprecated.hfu-device-locker.hfu-device-metadata.hfu-device.hfu-dfu-firmware.hfu-dfuse-firmware.hfu-efi-common.hfu-efi-firmware-file.hfu-efi-firmware-filesystem.hfu-efi-firmware-section.hfu-efi-firmware-volume.hfu-efi-signature-list.hfu-efi-signature.hfu-efivar.hfu-firmware-common.hfu-firmware.hfu-fmap-firmware.hfu-hid-device.hfu-hwids.hfu-i2c-device.hfu-ifd-bios.hfu-ifd-common.hfu-ifd-firmware.hfu-ifd-image.hfu-ihex-firmware.hfu-io-channel.hfu-plugin-vfuncs.hfu-plugin.hfu-progress.hfu-quirks.hfu-security-attrs.hfu-smbios.hfu-srec-firmware.hfu-udev-device.hfu-usb-device.hfu-volume.hlibfwupd.solibfwupdplugin.sofwupd.pcfwupdplugin.pcFwupd-2.0.girFwupdPlugin-1.0.girfwupdannotation-glossary.htmlapi-index-full.htmlfwupd-FuCfuOffer.htmlfwupd-FuCfuPayload.htmlfwupd-FuContext.htmlfwupd-FuDevice.htmlfwupd-FuDfuFirmware.htmlfwupd-FuFirmware.htmlfwupd-FuIhexFirmware.htmlfwupd-FuPlugin.htmlfwupd-FuProgress.htmlfwupd-FuSrecFirmware.htmlfwupd-FuUdevDevice.htmlfwupd-FuUsbDevice.htmlfwupd-FwupdClient.htmlfwupd-FwupdDevice.htmlfwupd-FwupdPlugin.htmlfwupd-FwupdRelease.htmlfwupd-FwupdRemote.htmlfwupd-fu-archive.htmlfwupd-fu-chunk.htmlfwupd-fu-common-cab.htmlfwupd-fu-common-guid.htmlfwupd-fu-common-version.htmlfwupd-fu-common.htmlfwupd-fu-device-locker.htmlfwupd-fu-device-metadata.htmlfwupd-fu-efi-signature-list.htmlfwupd-fu-efi-signature.htmlfwupd-fu-firmware-common.htmlfwupd-fu-hwids.htmlfwupd-fu-io-channel.htmlfwupd-fu-mutex.htmlfwupd-fu-plugin-vfuncs.htmlfwupd-fu-quirks.htmlfwupd-fu-smbios.htmlfwupd-fwupd-client-sync.htmlfwupd-fwupd-enums.htmlfwupd-fwupd-error.htmlfwupd-fwupd-version.htmlfwupd.devhelp2home.pngindex.htmlintro.htmlleft-insensitive.pngleft.pnglibfwupd.htmlplugin-reference.htmlright-insensitive.pngright.pngstyle.cssup-insensitive.pngup.pngfwupd.depsfwupd.vapi/usr/include//usr/include/fwupd-1//usr/include/fwupd-1/libfwupd//usr/include/fwupd-1/libfwupdplugin//usr/lib64//usr/lib64/pkgconfig//usr/share/gir-1.0//usr/share/gtk-doc/html//usr/share/gtk-doc/html/fwupd//usr/share/vala/vapi/-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:28662/SUSE_SLE-15-SP4_Update/89f7692e61fb502bdc3753005819faa5-fwupd.SUSE_SLE-15-SP4_Updatecpioxz5s390x-suse-linux directoryC source, ASCII textC source, UTF-8 Unicode textpkgconfig fileXML 1.0 document, ASCII textXML 1.0 document, UTF-8 Unicode textHTML document, UTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedHTML document, ASCII textassembler source, ASCII textASCII textC++ source, ASCII textPRR R R RRRPR RRR R RRRRRRRR Dutf-8b1e99e5b81f45daf0e419fffe5f6877ad69cad5b18618485cc0415a24fdb907c? 7zXZ !t/I] crt:bLL υVƌ\-oB٫k[_uxmVpP?рuP8 <-fw5mZm GN躶QTX|%wE~r^CauRI}Fy1!83|Ȳafe=-FG0$M$YDKM{38PfY?c΂``̙>%23֝si787R7k%ez\|WJoohB"01nRf;"9bGb2cS&kKZR[qe9Op &I|%v2Wn/ĆC̢cAG:h&3+v<3}w/m5NGS{/uyg-[S9&2T:q;"X[7U]Mb/n&Čَ} e,tYAi](Yү7`? jɅH&n, _s#[1?$gޑwIu2G2r"Ut{}4hXX]ŲZڼ4'R# 콭s xK }IF+z" R۟ ht^I~DxxeY5xiV@rF^X[~J"n N$?G`nFYFvC[haG鴦 ( ug5GՕU6l}T0W棻v2(NC V!Q:qZ(Aősi^{efLjjA`m9?ٗIkƏ|W)r" q?-w{K|Xh7\ na:3lLN F2xhymg1 "zȹۃ|p1`^N';ۇ/јA_05)& .`a~_mg$Gb/$@h[;>b( Y4 WzROZYz" P^>zɋvTa' )ggSԢ|֪9rD'w~UU3.gT{|`@9 i{v;W?O$H: 6T !2+ Doks/YhGj5  {(Z&$okSќ-2n埪LI4?ߢz&8Q7[d`Ra2lNۜ=1/FG }xG_Gڋ>lv m IcGtjG:55o+軧أoh[RW?-JșQfT[0dsKvS>)VpOsSoLNnƏ>!Xpd~n󞃤w #Yիp;{vwԻ汣RX'MlsĥIt[(bS|Xt|!\aA2?3l6ܽ ^/b +xu{ 3ӤJ8Ү4ME+Q7}" VPc^&b*1V@";& a~H &ӿROݵ [;Bʀ}L\7 izX؜Fs(q®^OLU1ھ[[8$1ajD# 2%N .~Ti""&rM. i4*Xӣ;ks/;"jh\WbȌsJF} /zM}X1}4/'Y8a;'&gyz$ Duge1lD{q.{[L}vyg͞, s&rjꙴ̚\(:H>M#߀P/{o:t"]kI(enhJ3Q10)v(8Kxj]nEN&*ۄc&9tO s;Lsߤʼ>z=B_SJcwGCRz$y"}A?\|FծrCrf|jLJK+"ߦbj"Lfqx~znlWQ:}@;4zowE(=}&b'{{tv`v #dRP$ޠb.v0b"i0CE! Ĕ\0&]h=?X4 xTj6;Ř. a M" @_P9/^D[bΥ2 I*)ܣ~ӭ @1*M&>13v)& A^; !w}_6 U@<=TVMid^لJQ"m~$/"sUݰ[|{<'?oǢ~Sա_ 7IQqb Tw+S= Զ6_63Yh m:a]v:F袎9&rPVXd˳gTJ)fxQ emV( RhBW~n*VHv#KğʜL{YKT_K-ax0]Kr䊄8&ᶗFs߭8?aϙòaôI/[x#!Eo礫K{c?z2cy쐀ɉr/9.=ouk.1 -N4/&gx]ڮʯgͥ.騶4A&qf;Bts%֙M+-VF,9qP@whS_InwYMu |1D;'ޝF٧6nldwP%NH_ fӿ3K2U2Z(demuC MUZ}Z;j CZ5RPs\7IS' * ;>U@%9 eu `>@:m}osnYЄnXSşCGzc;X^lPX)xiXڶg(饮n;"L!kg1XPwh;e47=NXy4ޛǿN@h|T Ʃu2P[I9~BB#]#SͿCj IN3ғN~EtʶC\ I_ ǐqI rIdQ8T۾?ÃaF=V+b$J9$d<'J1I[J30(dE\V_◍miNӧ6 O uƒ ?N\7myXrxZM\ Aq{_P Ma8Zin9;}6yʲ.fu]WR:}ʩR=8ez) Y;%߯d1Ȫ8tZ;D'\=۸'y=˕5D,8EQ,3E^ #x5*?b:ɥn#.5+܊2W!UN1dLP[.moRN|JPpNĵq$Ulf1&/_u]_nLʐowN}dbt*kes*Ӽ-Yގ ^%5lB8Z>$5(PCOWGkDkgcƹofxК=C3.}AY Z)W49U6 uw:E(wYs&u뒒{{ARԅHV2zΑ6f፿&LMrec9 ^Gʠ)Ȱ"ab+X%/~F S 0˽X4Qogǜ`'s[?Q @|81҇S kI 5-5hBr"qRg^푎ժNLtWv .n!X8b򟣾)pA#|$YUaDw@#J.i-zu`;kbIm>I֘ #Πy|X zxA tl7 کڷqj&&ج޼A9 gImgD%w^]D1 o0 Pm -bPBJ*xWȦw9k ݜ!-g*t 9xę G놭BɅ' Mz#pٛWLC 2gXYLs4 ?37V&}M`D{_pR4 EUeb 9%_4_e-q4jx})ÕB |0(q:#Ǚ_ѵ%֢\Jza ?H[)!p`o Utpc/WE埓e}+B^ Y p^hy8rG\Mm.\2p,0{ W>v7h'P*K`T ^G=w(]i4LѓAcϭrJ﹀lhi1J#z\'iT6Oqճ*B~u5+[/7uDƼX<İ_vMTg' M>`xq]t<,8?NB'Z7DE!% K? M&WH4mOQ64~rkO+R.~)@ =*8[jC'ATaƹ imsaE_0YqL{b& #!Pm*cwxX\~5}זPXÀu dJaeFtQe;i8e<ޣ leӶV3mƓx~>0ߓՎYX/}Wr~sc)LK ٔr՞$ v_es֮[cT d?W?)*^&jzMUi(ƙ+}X 6&%F(kfאj-þaۯ=2wulbMGaV:,K˳~Tsf:j4{X!Nn&aqʀtIY45ۚo xuA%14qBїOxRq$TF^`%|S/6$k t2i޼1(W]1/Q8nC1YWC=/6R:Q>+Z†[34^iҲR^MvKv.Q4ҥ09*/rZ4pI XŽ2U>#B: Ai@aR XSs/ok.X3 nls]'+IfaqFW ^L꾂W ZiyۄtBM~P DzK hsg%e4a IsUI`j!P>BP+,vM_Y#}$uA&P. -HEh.=ή۠X-02}FX zUʻ2P7lh)'VwUZzy\G9!@I(cV{~ML [} h+;"̤=VxJPC(۰Aśd-E0iKV"zu> \ 9neQY;im%ѴGP3=7F4S f/ %ƗAFӚeD=d5aQcoY;ĵo)>HP$K3uɮ:3uS0Ǹ?FJt"Yv'M=AJ*}B)vY줹Qd &{ť"A:^ zτ|5FJ:شa'9"HtA3{C0ڜ8(|O}Y}r{ZEh2Òduΐ)M^`#rib7źYdISi?9,ok8>rZ)xI'MV%嚲AZwxZlB{tvU7lxj'2YhCN ܿዂ' /My_uU8։p,-\!媍4F'~Me {3ɱqv x5\E;]kbN@)lTvs;azBV<׋m5K\ *^4^YdH%(qZlJTEhPE*xpT%d'-H ](k幎^ :v֢ p#;K5k`rP1DyЬex .BvREx{D{Ҕ_,)@S9k })7-N{p%dni&+@7f#ݙV<t)0ӻd}>g0u~^yAdo?Xݬg'^yLZFu=*v߻&:Kd c+)LACYؠW!E8u]|.F.1vwi3N~7T#`o@T)WV,hD:OXjׯ=3?A}4XyZhoʤVѾdo2i0GBu&ȓ0_5i pa (F6 ` vg~=5jSPR|d}1wo«TEZQvo1e`\СPb[៹nu9'\:G7sԅv"[ZgܲLHx);AB`)^[ȇtAˡaՂZzp:BUMS9.6vP+3~B~|')F {5q )Fȟ<(34۰<|qFH[dA`ccÖRm( ;kZ{ǃ wMzoK/6?6GUkKV08B~YŐ[xWa46w oߵ\\J˖6O$#ءp&_0_ k˩WF 3Nڕ `1 jRD5^] Vᛉ* G,K0oi$H=lT9=9eސ$MIW‘01iN]ԋ0h|ujJ ^ڃ˙Ҝ%Q]30Dn aW)|1ɧev&r0Y<?lJHY%/Um@+nqIV0y),',5zb0wb_ͱwTUCa uqNc Vu̸0 ݣۮG1uj! RJW#<"1yC^h=fj, >O΢?O_85h ဤ-LΡ*60ښ|/ }fFKy̦̌͢N3;)Ǯ(:%~H& kZVYi!8$cCt8[֛[ @VޙXX.Ue k' HaAum#Q3+EPÊf1Ԁ39}m\lZ1\;<0j 0Acdq|z+] ):+qLk ߭Tg_n^2E zh9 qwҪBc38K{v?{#4j1̭@+z6!DJ^ʆs'F21F~Y3H#'U:H7rmY9.pizz%$ca=K!Z&7 [ cK> !wږ n9 jj^rNlgq⌓耹UY%:(.lfR(^AО?y+bϝLzͽHMTtd}ccoV|Hе0其D;W@ Jc5w  H\ij}ΓQ]6;CƗ-e. u`FAt˳lRh YqBGNR:Qb%#6uLyIܞ;9HG&+@ߊsϠM8P,,"m'b[C,tuh:_GƝ<J[ yXz7qY2$4k!?Rma6yF+1Lֹ0Ri"ZcWKѤmI3LECWg55@V>./bU\]qN6I#@-(ҕ_CEXU.y`,޲mvjx4Yb]V})Tv%ф(H(xX"c+=m-fJdX*jn~r8&Xj0ՙK\!.ǷD %]`/<߰Mg0Wp`╍]V]^ IX< 6]SotkbX0~NH$ۤz,`~΋F'ꮄF@]H7B:'<8x7d"uvizYoYXtU%cN$\UjMi `OEή#--XM+NHIDg2!gos31:^M#ǭ>'•s@"(E*wj8Po_% OQ h2/]> )ci&q,N3fC|. Yl˝zyg7 r vz/UY$deY jEM Жe8cg>njr‰Z"Q?|T0 G& |d/>Ge{biVpAmtݼyYm H ftI,|Ƨ/YSN+FCR?խBna\Nk;vMz2^>J 2/632˖~oK1}j58$ -_l P{^ED??B17`߈|?e>j<0H_rGi\zhΪ9q+\#z5Osn| N|vEr Emm>47 LރGiD}hνa'!F';R;_e P$wwiFfVwYt$nV1p 糾W`%09%mO#58{tX|Y4Ql^**<(nXp$)8-0u&;Th25`l9;9Rn ǣqt8:/^#0cO|w+g+x=T9!{NqQUϵYQ0KQ :'@6[C!߶gDeu6ٞo#W0+GZM\)"Ơ-xAU{GwإR[IUcGQc[Wb l67Uqgl7Fm@N&(veu`WBhLˁjN7/oZ]!vYf|L<3 0X Sȴ|>M/Y7VVLhX5eHH݁ׄliu&L'{%5iZϵ}m19e-G88K,(b$fGU5.M>CU ȫ2ۥYO2qΉ^F2CZUy4!_As6MRq=1fnФĢ":*R7 o2`&#f-t,';=tv~5[< dIca;f&%s+ {9M. ap?'na\!mX %fIjǬ%fbk]&fdR*kFG?4' 5_|7 b5hMg;0 FSmnߥdc)bHؓLۀ_*_cV kW9 wҳE*>~J~W/An} e9Ueԗ<"6Jrwj3zݵ](2jMA=73.OF98)!~B$4JsBCy?HOnFTL͖lj7%.1TDß~+|jٖI6N)1 7NLĦƣ#`|v}%B5u)jթ?s>磡9&S1d+kF[FQ񐊾wlIyE?-3f1U; )sel6?Nd"7fiK~i¬n%n/^[_!v)mEAk#pu ؿ**d`bCV. vE0ɣ#DO0 snvujSզ4r(oZ?%'5Z: ݯس=Ql/m?2 vm9mjvW刁5^FJvjqtgb$b̈<#@smNm@Sb&Et%վqF)IUP` p=(&ٴgF8@*? I\D]|gk(Yi5G+b'e5#NH8cF(qn Cv mw4}G7k23)L[h9F"Mo#)'~*I15i:ȷQHwsta.;G"Η-Qm# M7ei2zDvW|]/r/ C9HpXjǪ>5ju' . m%Z&i(L'Ϻ57>d͏q6phvsc2(+|>jj!8y Unfֿ 4&jH1@uʶwlK{h!|)Up0sڹc,`2•o*NpcX!8orIK'I54(o580"xB}5dꄮtN>yU2&olevnC| o$no%Υzr/ۉy]G/U`1Ym!n(sOq\]$K+8ڣ(VfTqo9ũbK@d66B)T?2uݣ'E_UOæVp .DVLl3px!O{m@"{fM}ߣFtVq͑4t7Ha7R*,TmAo4 E䎠<<Ңz\ޢ'!+ʋy ;bd10u0 %.wQm~Y#s!& (W@9AZ BJy[xp( nGp%3h׃^_ 'sߜX/MPR׏>~3c26\>b^VZ~*R 4abB~qv:൑(t{]1m,TX#PL,UV > N<њ;Dv,4m6ϝG E*N:ƈS8T~IoiC݇yee&JX}S|`zBY)" qWl5ƒcJ_b02|q\b6aoJΉ\^-H2LԮ{FSgSҫk`4 x;k߫-==iQԙL"KƼ6[Bfi$4Ъ"Yuh5!q"/[IKX(2Ę`e+ @#[P'fsQXpehs]̛F9 ㉶Y+m6s`߬)WNq̀Z{,,\m~7i)%G-iK, r| {V($=q+U6fHiïhKlql*ЙƁ($a5%$5\)^8UH^Df4X&?h6 LPvvTi.37U "fɳ~oQlrW`|PR)=rpCd܎]H}%|g뼿|Rz\#_4}~ P̄.M&\,g%oa܆ћvք2[nΒ䌓\j#y\%r_l@xe*9X 0MlnJ>j s]w>F$"B;(2Ţ`(w}L_7 ܥ*D{rov;l|b̮f=>M>E:h ٯiuRCS4@;el@\TE= hN#ĭ輿?SxTLSla@twihH3#?#EޤU0#%4ɎޤU;_sEMoノdۅTzxp=[ԆMB4$#_{H룟=2 ejF|"혩M WYhRSOi&uŽ/5*<\ܐ#PJ!ƞ6|W?چ(wOIUj`H?wքkE$Ƿf6]iu%d6| Y)B-zPmXDT)dGl.y)kh5*!o跡J2ceo[sv>n"¡jܹmh @Q'^7⌤ pB|JK]w@3QA<@b˼-*iN,3$C#¢W:ogjZ8»]p+v4r:22C78Dw5Oe:В$m&.Ŕ~؇ifYkFEI-R/,q~gǐi=/,`4B :ٜZ3`]-PLA ng&ү͑G՟ pܱ}.gU4lF?H$;돈9Enjj4Tgi\_J+n1p+wNq3$XY36WT[,$Y#.>9Ŀޜ)?X8Rv (huѲ3_3|Kz$mVG;,q.MF|#H.} 7#*}Z0n8{Ftm}oz7^m9i՟oU`}!E0c~hcsBypԺ7̦aDž;3?y1qGU5ҏWvE-?ɭtH s,s۫$,dTD?hw45^$UJ(Ock ['/}nqn zDzo'apO4kp fUGl둉WvH"4cfP\X{s@QWݪ,=r撚U!Gu:Q';RRK0\T)viȻJaleHjIJf譎0z]N_u;hbcrz=M4jfK~ar9ܙ4ҿz51]Յ۴oUM#tpw"QЋaV[&X3C,Q:3LF.oaX@8m+U]_rkJ%W|EOV<oʏ7^IJk6^ Uye0ZNɨ FԿf$H̝t/OPh'imՍlC#G ON9( c@s Ň4ƴϺR6A&׽nڸظe1P|N< /0X,A# C4&5L tK>D$1RhA:L#V}\y1 F; ")tP^1:":c5O¯oYB6뱨TX-yb v84Kʗl .o IM~=4z@=mX^ɇ\k8q :Lz A?N\^Q~1k-WՁ] [7C7W(cZ5;Zqs4_g<&)Kx-D]0KF&.3I}iAGH.)!txa0̈2(SQ="UN}V:f$*=VjP>s{ CFӤe{Ū+GKU,{)CAJе1SLY7Ty<%ώVھ@&/TfO~GVip{@U7c1(cRgAx;_V,{DQ<IW1| :s2q&efc _4ο 6 9:B@K6ެ+J*lK+m°&hx0._ ʡ|ln ?JU&$eH? G}}hr?y;/dn㰝vn3< rh6;|GVay&j^#Gs-rȕacg)b^ e$*S3Ҹr;F1UT`)nS.0?|L8?(F6%&S̎VP0`sabPM`ݷQy]7|荎 ߦE'B;n/<q`w|V2Q\cA>XiZ9?^0I5;]تqO'AVbQs_g9N=Ph͈h\'N[$Db)E E*g"]~8{ fŕ=W6ǨJ .k:ZCwE #w1=-Հdq[-|\ox!ArSy.肖.L;)AOYMÅsה|.Cu}fN餳x(s<6"rM<;O7X/kjԅZB_э C} ˁBVGU:{9F麾CLts21'2 p?QdqgDbsYJ2g J%5Tz H}%./B-0U{U(҆1AV=vQVz4n:Ll8}bPlU],̈́2t3X; !loWAA,Oߐ4!3[#`d=={v,/O 5Nlsm 'zߢ؀X\}ur\zt#2C"Q2[Kf>d}b28!&`*N܃&$bS5yu ~{`|<+Lėsw(aWm~S ySnWK ѓ ="Vz|b捰:!CIOSЩc9ֹܻڢѧ΋yCL;nL jzreo5/P P KcըS;>4a ~x@yˏIUB$fj?QG?K/mk7<9s8֮0kpMWف,4i}plumj1S(<^(cĭ:A`M)ΐW *ǣ"U9 ,)4BAO>S x!TXL do0v|]M_;R뢻F}N5y7E)Zl?\J:%t\6#1Y@SR1kN?IGg 'E񳩉iB@z|9@8wY/O5 K/r ^fAx{y _AV5M Hǭ=mD ۄÎб`aaK^[df|mL [MG} If/!%ʆLqLZYm sJ^gA $,*3Dszl_ 2νkC\Dm#u)=<{8hklѸh3 Ufto=Q@<Juv{{LT!fM0[u8^+i7Hf"`1s밁覃#h,t A٤lXD.Rμ50< vDtw,mnzJ!lXIܭ=QE1RU-Ni\i[%F?V,GY~uiPX[?>W;5NJM,zs;QSR p2b! EwOw"wmC6#[SOv#tkσBx㽘SrE. N%\itDJx Oe+n+ܖz azSFEC" uf22-)4\<:rN, fD|;$/." !f$~#e*|AG˰Etm /U/YB">,8\`pMf jPz`2m/oaD!M߄HK,g'XViGwZ_L4֠Y#] [yE撽^BG4ήQOW:s&n;y x$z;K[&EOLb۠)AN[2QNy& o87OGMww>DžHMY z 1:y&qvVԤ)43ᮙ(0Y~l I5`.dlE'haae:Bz' ^*pxT۝-}'vN#iv&O/|PfY:B$FyQ v ۏ>v]~t [ ]Ql_ B)8Z@5?7+-ǒ{ZXEAbQMIf_F9 u``B@ moňDm}JW-.p%\G#= r3QB&gTxa.Λ c@\3tP.b95&E%fr^.@A#יL4>S/=ysF):S9-YBnFtQi.SZ3ާ45+IzBs!If,A/Zk8鼩J恈,hE "e& RjUO΋݊7v=rIX]mjq]9(*AU)o0oݙ}?XxΓTَlAh e%0HCB2._$iDN#qj:z; &c4X vb\V껏߼7Kƴ-E .-=Զ)HOy|`Bv!$NH[Nx"r,*Z(-.zrX4HkYHM7]֍%:N/]i:S!{EX-+5p:d&rF@j-3V;+ XʤFHJugD/xQRAV#8~ߺ%gAdܵ Qjr=LjbЈIŵ>s@F#3-ڻ|^z_|K@;QTsોgLٌ! A*{6WN FRSUA6iٿj/Vo?)Y APQ}lC l^ֻJ9ԅ]VQի)^\^oUm~uٮov@M I-Yȟs`eE'f}lfBhKTtf5-}$5yi=#w\0y56H/%,C+pDM__heg\_(B/6>\N1HԬ$6Xz0r2=DG!@5s-"L?<Ȅv7:y48\j,ŒG)5M/_&BR*z3J^RȎSS=MS-d+,- Y8R0}-E:yg^11s6ޤIh{e.A,ne '79pXr zCI$~?? avfz;E)݊JA.`ml< zX=̡4T|{%vQݍ΃i \c$%ȼ,Zf c۵ς7#&_7۶z$qgfӑU~4[)IDںn@rܯ[d>د(&Ks:`۾^5.ocpY##1`1qpՃ4ё[um!!-: "iKV)>"PaYD |lGWͫ'q/Y6O+?ScebpR?IU?ؙ{,CWUV>.Fcw'{AjR8r=c,{3c x11Rj'c ɽ;+ Ҟp/B9fnj|:'>[qI*`$D=&עAn\$d>` LCԐRdкDp!;BE$~*!cFUc6wgZ`(~Dx!a_;?v#< Xÿr"y`MZP >G'yy _(|~ol ӲZ-u `z_]:p}<^$ۮsFѝ8d /j:7l0ṟgFSinDɨP-;g|S5+ee%q-4^zǝToȥy~:ְaʂe)׋`aLq6-7"O꼾<7`o NtC Gaa}&ϝXu13aI %3Xq`rxO2RU.YO7"086_74?DXG^ \iSa2Z`"7{\]1JC*V”@M;WIo"B뎀^'f{;!dĤ8Jed#T%BHš x ͳX[a1hў|Me|17ix!U( _l_ Zyc2$#ON8w !ߙ +@4{|r2z=9׼)i\zGSڪ&Q{c-׊3GU)+QHIrQ9m۫ivṳ_sh2}GX8Id}M؇}t#JʍfcO8: A':b#/,,J"x#wQpy= 9t2Dut xN7fM1&Eaj,A5a5hx۪(-g_0$Q`22r7Uҁ.i/316W O+l 8TJg2MRiƎ䨇DJ 4Iy^lO1l7ʚ&ΐ:$b\8lS3`Se÷dBW=q'dsϝy?ƌMhէp/th9uP%|ڔaXCVY :޸>sX:cxy d|8 b"CJÏR'A S^CܠZ.Ql?-k6\8ȃ$D]L=ͮ6Hñ(Kc[&uN {'cDKg4Z Aϣ HnjR?>ab!^!ɥ 5O7^_k?=jSj,.,E99z r 0'5q[)˾˻McÏ1v ʹfS2)U45;q׶sd W8{"?FN@XmJS sฤٍ+̥Jp xNY=#oX5?ukY.:Mw^9~Th]9EIY4bi8lR~nŭq 1=b ĨΜa.8x]@]Lr=4QE?V{b4~߲[[2-E3̊=B$?ıhdh0*jD9(FAN1|DYqg>~GK+81Tn`#:;15bvz-r}-WӭE{xlk痻/-poqe2 Iۓ|_:Z8aO^:dRS4I];ӖŜy6"gЌdwG6|&kZ@v1N:T eGPҿz J+h'dvA;AV4чuI3; ,0&BKK2>TR݆#/) ȽY }z} ߣVڵ0m"ܭ i}u,)Km<|o~jDt"ԳvB_;\ۉ {ThI'_M)F:wL/ۀ(Q>k!XHlBc"n[E9 Y*Bs'AM4՞*F詓i89DOgX]C͡nDJ)G cO'!7vTlۣTdgȻ@hPlMsa( ?Ȟ"+9?5p_ĦCG uO$~Qq<џ0бw6 U;.z` xe!XJ 魥ee59lPp:q/y( 'u[)UVm&Fa rQ F~{Q1ӭ;ޒqؿ,V29O#+ol_A*w!r!?'=s˨^)q Аb#j~yKc5)1p dpуww%d;jO`dV|'* k5ӵ`R=8W8ˉ!Y*=SnU.W Jɹ\/aBz+VVբ'P@;[߷"`S,򺇑,Ԏ&֗jk l^To3 mOO!lX#6jA?9m kfAH"$3r2JumdL:'=ʔ !|f F/#Tͣj2d WbmAS6pه i۫y3ϩoF)w\ZnyEm5#Y9 knLjgj e%p:[Dp%F-#'n0>^ԺV0 g6U^c@mUQ D![X' = RHl# #9~џ}>dύj) ]GН^$&F\Hqee}9p-$wJ`fIIt\\dIXU*,&vXDƛ$x8AD7rL~P='gY*B0%\d!b'JA@( uFa;k2_dox>0lj k<5&9\DŠzJTEe,Y4oCC|p* `_xo-XlkYK>DPH%N– 4sEZ]ƽ#M';&,S\]5*hJeS&cUG=I!@n $8o̭ܣiZrKS|<]C7 £hnA1-᜞ @[/sLua :Xdj6ݨW_ݕ^6 6c\tp p"LJE(? m"(05cgx םcrgs&f;' ?*)rA̎ Ps _˚&8d WcFBXw͝vpQn g8/(V$UnզFwYQ6S1ֳ\z4괝Uа!&ZIaxH$sWz@ȶs#-H0 e7S,YXP٩#< kjf2mz _|o/T%6%e :5%u&\|q/j |Ȋ,`Tj/L$ Ma>1HilY3;3i$Ü'_骗^UN&ζf2%o)̱gz4Z4ve c$]g;.e5Ѥ䭃Q=>w ݣ)rdъ˚yP05kLH1ҹU\}'?=HxT?x7ߗj΁(SRޫ)r8RǚGSE䞀m]\&e'r=}^ rBҥ[Cf8䞆Qֺ&Nd8BH^375OVGR9g6Zcw>Wy`Rbkж< xxHA{`1Ik̘oqW=.CϳD3\lG;eO9K_ vswD,h<(_n[[1i\8.*D9jc X|#A)3"=ybV̕w0n2xjgycZJN8~hM7^bLt5VA֤ICF˾-\VOu#vb=9'͕pĶ箵=YPR#=ա~ r u>٤q[ QjHs4c7ۆ'iT Q'<BX:Z}~\:twWCcE*7`$΃r%TXs{9Zy- Pb7|h-̅L d)@õ5\Ec;M1/T1%F7\{џy4󂻳HqhK.!*,V9Λ_Uѓr _OBC[tu*G;^+O6(ؑ;$|mb|# ;!C:d_I"!0ٝt-d(56Ex ~6'ل޵C_TG>n[ [p4:a_vL?4&Tlm' QS]>l|Ek8ֈdTv8ڛEP--گ$X_Z{=tm T ѥf<])FxX'0| $4V+猽klu9YOKh@.} ;{4w 홳p[+6Ca )*wf!ۖ?elj>("% jbU$w$g5P?m7m{dTR!(bbSUy, h4 ٵSdٌ.O] <̜ᱬ܄ƙ[ߌpeS8wӼ1 4V8y,y rC0 nn;Q1ZmÞVIœcv RܢsTMKƇ0/)Bxkeړ~eS2@ӯ& 疄FCͅ` \TngfJILJUd\1R+')a$a;pXt|;PTQ}!Q/a}!WtBwd܀i(F@ 6$nG(0GQJHdO~jO-$UM$Ju>q uq2T S% &٠Jvjrkz fvloi97#^^6}|R:ˉ]Zٸzʹѝ, O$(5/d7=@@}:RFx۩ ;%:uCDPu5DwMEgL&ŝ|́ d|xhpMT\fR`SNN)3YX'hP:nڠ68dq:( !dÎQ& fO7/q]AB<62MsH&<9P\<=b09l#Q.n)LVnaݷ\9呆k0>rXº۰Wњw>$8W<#|_8g̍/\STx\;<3|J3Q$k K¯L}σqK> X1ܙm+r=o6`P6UK'/0`;Nqܨ:sOކ`kɮj~=iFhb]OSgTl\ܹ~(^V"I~iuQXXQ % 1"5Lܗ h)F\$Pq.BL\kK8 0裙5F)zt+vbMBg3[鲊UvaPWq[n+JY¨} 02k?`G'xWYl@:!;cɧcb:Zt:Kju9C.72wp^{bz<ԟ0' ~e[gJ +KșY *K/H*bͱLtTJ4H*wtePBM_,(†+@`e> nGFrT p> H j{+[-b̍Dл{&Ioμ  ^'i ( 2Ϡ )Mz7qH2c;( [ .kzeo Z<>EϱQ$W90sptyiT.bC zbK=rx/YܣX_T:)E" ZC:!=A{ԪW!ć;i5-8}ָb(ޛL̷} :śeEW|;VLiM%9]tf8WuU\v'$]'Æܹ!s fƐ&Q/U_ˑ thZvL Eg0e1U%r-(s~"p/JZBšlEN'WXG@͜A8nYgc+A h$I< `Fh<,LRuZVgɯHÇ(Xى.u<ƒItS1۠IļqU/Hjl g۫˹A40m֮G r&/XQȴwL~5BtyP,R<WVbm 2@6t9 *1'Y;@EIKkRJx^z]i#|iW)ÆhRFhMU&e#኶&XEor 8p-N9V*j>5JO)Un WA׈9%2ζx~!(ŘNgw8lb(`?YAa۲% P5?ha%MsUvDϝtO 4ugw:cBuWZYC!۶+fE[>SI_x -@`N)mY,T'|O9~a (3{o%%C=9DŽŤG5uN6t]-|8 Vf*}У&`43 }7|s;tc%^?`)crUk&+Mb?5.$mnռ_TG`G2;;jᮦgN6ޣSaCg>M/VL" 4 ڭMİ;ÐOJ^a AaFrcD2^oiճ6to΀f,se$p(=JeN~[|7v% RBT]S} "zy{k-8A}ӡ𩅐\Ĥ,w4nBz?h?9Z?)?\sR#q@@)i 8ꚦG|:rv| D_mJQ ͡sA/on{^UYZ` f2g Q4Gn8I,}CΏچ asM>/='IdU])V(^5gF&c^N]/FISj8iצ).^ zR*IQzuĮ=hD@`x}>3&S4ʗn-0NHEth 午@[Y|ZBk_*3g-ҀNutx:V!¢OwaݙpLt+"ѽQAQ٣&[^ս|+\q3QCMY[vҖbetό37d- 從<]$wġ$d=eF\~'{0 eT/+7wx&<ډA|cd3%I0FݐJ]3ux-*g!4=zKU UcoF_.佈5-5~洓`?+ #) ?wM[nըtZ$\E"0(C֐[yXGAaS` WAُgc>*6}r ^l_l״ 9%/;TZ e yVG'S !F/T= y>#ɲǼMV[B 1ɤ^ݮSΉ)8fS(߻7E!1 4`Pv:@1lLi»5վOU0`7"OGSy XhPQsG 6Vsb,T<Ϥ _M 3cSU]I9:pE>a6B[ t@K1Ƭ1\,+M.0QC zfu~<4z_&RW\1Z <1U\?~`Nur 5S}k2 mK=(!Y5)5T@t0Y Aɀq=/ϥR䶺l&/3Z $Q~0"~׍;XeM>3Q2elH|kӳl%S63" 5#8(8`UI59 ށo izVj.Vل)=yRb"m2g4CX.fkKW|Uө(vΊi.?fFyKٺ7Ԯ>AIt삳'bĂ{ 2c=U>[=D,RY=dIK(m&9)5`,L%n)`;71 H%jOH3=&… ֩r;ʠlEF6v쌾Tl}-=Cv4$xYE0p?Z"Hd&9< tr 5n@ /lJy? 3rUE|iO}߳A[&ZxEXT0ë6B`pcԏ"2iCVCCޓzƁ\bFŏqL&@X z_ǎM 4+]Ц7*3pkX\%C8F違/[W bQƒL3ܹh,Y^@C`!uқ{*KaZp thS8\1̆B0yJG9QLٲGlPEJnraIHVijOueBrոn7,qrV愖JvhF#MQJ0~[i)DC%1 {!ԼzlRՕ qcaPȀ@n䨠YUMG y{~n=d_s y@gƅiPW|˯}< >bOQ"Mk6" SULRǕMõ|ߛt|G i&4@c|7҈m?F{kZt&B4l6 ᙇatX9Cz  $tC{\&+ ,OcVCd9e'3|XoJ#s\ a ;# snUa4Xw$Ne\㡃n&"INxySCR%7  ʍl* 4sqq!Y\@Goj$9^n~A*ײͰ$gstiGjNz6/J( 7~+ ]nkڦؗs9-=od+,?89^$ǹ+Ҽz%]W{.}#a9lk/Y_t2&a"eO B!O a uC {콨 ׈ u)PXP6+k_}AUWy)9s(&=3ϛg9s,C5jzL9Bs ldUr3A_kk'WA+vK.?\pcyo&H|O[%',~U2RHO@Mħ]?Mp+0siW9MQگ2[ Dyrp@H$)swcO"&8Ѷ#8:@V(nZP mkrrD1 ZWkMd** +wֹ;ReTFƑ̶lkjP_,L_wt϶OLBHm%֧7 b3;Ǭ[y>uN8@;14i8 -g} z[=w)D%u hzd҂`k R>uDZ_Ԟ Q_nZ3nkjҙ/.$kTg뮪#qjx1O TLԖC76.pWӋC9VM8ܛUbE@sɻlRC_ʵMeI )P'tPdaL=<.m- yGRnm7׮ղd ܴRҕ7j3B@p,N1ig,=8p 0YD]*BO?SGfe FwDSkVEfOQ{4A=*5BfGxDDYP+ Mh ]0 =Jd{ީ 28.4ն]' 0?ː;mCMje:67TPUCJ 1xHr1"8M BH~,mܣf .RցdR Zgra:QPǕT@s#,~/HxXh{Z,h1c?PSR-: H;8S. VH|5▭*\V!giH6f5upÖk{Ky>/?̇kJcnki^ԍ@7Siʚ) ^"zvߦJSF3v"0v~ P{lݧn Rj~~[5QGXGk5`˫bkT| Cғ݁ wY'c9HT4 ;q (eqE&LFoDW'6ILWI6Pj:y63_mmmb6j~[d~(_9:1PƦ{[\7 A=S"S[_ <B?qhW2N @*TwdyNFs{3 hBõxҔWuM{gG.*Ҡ vfA\%ɲbmGv17*H0} h/KL 9oG" GP+$ 5iQ"fGM$lkLM.aɛ_x8VݷāA"[S2 0sdgq%Lhih6 4+^T4S7 a?Ҕwb!!.Ȋ!NSU; b#i "d\B)р3+c9XD]B@ď*ӿrJkc**5"qwX8E:S0hZ%bSK`+,-!w֎H6q:unU~3(OP3=7h8KD{U1>Y#r1o{B:Zn:}/([Ӏ՟k^h%t9a%ҹGeL>7"# ^7 H*eAͪ|MlŭLub\L%Wnhb|Rw`Ƀ N!ɓ=p]*!uOdo`fr"(|W<3ͦ8Q7BΕRr 9.:iZs%)ѝcC:'gTa/X&ǍJ*2na~T>#^|'!A`iL f,a Tg)cWq!tvxhC?_/#ted|uȌ] gSslcE q"tp?^ʇp.ڛmS*%8,mg9' qFqxȃ9Vkg3)( JE\damܾ}J]ws ~+tt~e3Eww>"I`]l E;& 䲝EHYG\6_[lTEeƵƬ~޳YT܂`-=E02VqB!o1KnN8j!|JlO`oeWZP_^.3/o£jTbijH'vWUqR,N@=8g,܇ Q(Ï+u6x`gn5h"P΅=j/fפɈAe1*+z4_ :dg!{h:jRVN=rU CS{E9{#ҺMK*N(lnURq:1袴'`>USp9Uj:%ABd2Vy4c!(INz@WT\fz9p6Rf _q1;LC`QDa!?EPԦWk[QhFr/*r_6EAx M'V|T9F<ͮyi3D]y5؍EIdqw|vsHoERIw`z * bWhx+Ɖb?*NZB_0. :1-ރ-+zދnvc=~qMөÑ&P+t]@f=fZH Pw ߥv%7˧m+GP\u2 /xIٝzJ]޷"`ѧ3C MCgX81_6w>܏ KPNuad+A:L7s-NP!Yd?x"{/w d`-~FIj %)!\kgY1B_֬Y`̗R;1ULG5).DbtD5HD jx`Kp4A^}2+  c@/@?[Wn팜 Wc3ݒyRT"yN I exxC[Y>orc &(ЙhMzصx 1xFWao oktU'Vf:@iPq:8bҟI.}ɤyn*:w4#,jR(ϣ[tΣimL$vfrчԭJeU~ΰ2zywa#Wa/4%d6d "=;XʒkON`}"a ݺpw^0:Ⱥ=@1ʥppϨ, RA_G#M7g>UBکb C5aš~xxq;/ .-#hPbd!SK YfSJ게FX_ȯIHY*Ibc fW]2?|m?z3,dx~Yhn*Bjm\SW;J̱:F5.l7C Syx aU_{i +t3|,hB43ΥDp!Lxt/1˫%Q5:UfiBe31 i7K C-;s4=Yk2ݿQI21Px^&g3%40Wա~IdpӏDԍM1bQv:ߋ+/^Ul:xq]>b*\DιϠ O2bq& EYbCL#!or<(ɓ3%^V\QrMitz7YoI|:>$v*K(d VbDɚl)uUY,.}޻dxIS4K @pFNͿ4I&{VԖ +K.?/0PCb%B=ituG{;/綷&SO ).N2R|[AC.$II7=`?&.ac'_=!A6߆{>G곉nPC~^I Pa j';_6\Ż$aO1=q¶'֐:a ؋+h'!9'X^2d2eOTK{h 44Qܞ-ON=N)NVAUSM 7ydVV[ kg+$}@%Dۈ2Q$z?Dr"7xd%ikߩ¹];|Fnɚ;tV8ɵ !$H<ѐ n,aX۬ imY1W{flMq 2 HLiu7{?N&vp!\9Dlaв | kY2uQh#pYsE|`}Csh4dx #njK'{am&đNKAj΃dyl$ϖ]z;7IRMOLlgS/C b8~Ooێ'81ʵRU8bOF*V?p`c6o=QR YˆUo%GnWR1%ds\BwohM[0S=^= fҠo³-u})pzeZ P`ǰ|ι7lՔ/7`HTE6N`x&ZUwl%3/iLe:Jc$/)k9:4׺HET=t PQ#SRgWϺ$0ub *!܏q\ B5?{X-D3+lX 4*ݱp";e?VBb!'2`Js%tF=<هFtГ w2@~׋{ a-R2̇g_.m3+Sy;wi4bَ[,*?i<握Ykd-,\sZf12 T2I$w27ލ>eu:mQe//8oagJ-ٲPEe՘owX@dzh }Շ`o6D\\$u  ŞO9"eL3)S67n0mwQ;6rSo]aX/H[T=. 0)xs>IT dAb!F״,oRRߪwpscLpvPβS.Usl|zԘ?L<ǕzW| +!<+*͎N=3b*3T\]³>WggTwr-:x_!ֈƹ c *֋m8~ccQhآoW՞Ř[ZdH%WHX}D }\ƬgaD%/ܼm~\KyǤH'sU!Т x_N%5OYd*{t897\Ƭ; s;7^Y5O6k3lA t y25ui_mt\@T5rR,dk0cHϪj[?o?|W6R!Qm[m\,*y7Dr"WA+Se\v0sIF= Tܕ7$r(\uܠh=@abR(9S"FF#n0a,we RKdܶT #E˾(ߟrfO<5+jnl-rJ.ӈJ&6pa/pxHǡ 4ƥ"q/_~lIZ:}-W*j YA عCī]y'MNϋݡX :䮷;Wiq1m?)¦x#^w<2&j|]gEy\50 s<,llP7+#ކ.*ڕI,o!"UnN၊/Ϣtn!%[PɻU~K;ҿOV*mDOwtSƼ9] w36 $U)+{9Iqw `4W1};):RuΌWVˀPD2VOhK(i=^ z$y)"!=4uՈ-鷱ߍ%m+_"m$U cGi_CL#~kmL} nJ]K\۫wwdy|] 戎y=8s9:lƺ=Sǀ[qiVNGԀN֊! m*F5Ԥz{C|MkAz],3tVNmf . N!Ҧ~jYy:"XST@&aHPf/&Jzdi}f4G.^eG eG^yq7!vSr)fDg;Y)OCB{Y|[G!&i+ұ^v] 5Zsc`RBQ\^q?0LgU6~n|Z7@-ԛԭkeFxSWp }>§ÎN 4])璟v+=;Di P*l],vo(a(Z蜟8;-2 1I~wws[v;mX1m[Է6qJu#"KT>:s_[ UR1W !X!OWj~p/Wucϸ< ENFKMY%QϦ=2%8o#> D-IN+;w\ɗL'dyAS@JZ6 ԣ q~3wT7W~{M~eJ!kI6z @j %LqMѻ6<:u(>匕,sO8뿡FD̒~ $&Ht{`rx-2VW==ܚi#ft ;Ol;FxD= `MG I+`ϙLk K%x%1!G$s'D4N-_8WJF6 :Xd3@ycgM>)T`7.ߒ w6e]<'$SM稀dK/`8;Pß箂7gbSk9F}u$rum41hhBAi쐒IܧC/ Kp@9}HֽCmqP7\͉>0ҧ1i B\p 8;-wah{6/X'r ˴܋Ae(\ &ys.k铗P] pĶ7-:>xE`%E-gx:% B9 CpRԖ8¡ÃU|@rzNWxx8I6\9i&pC)j=#6:$mh۔!ԤJr~gV<QQa%jac);EDewt {iw/YuFke`n0د}0U{c>L9ֵܫ27ݽw`5vD!O|ȩ1?1C/1뾎0}L(Ez aqligs_dxzc 9!3OtuZQqq 0&n9AKE1mZIE//j+fL(@+mpG3%π^e ɺTFt-I ЈF1@E۟PPdJ"Qt ^O֪X8-@tGrJRwQ>5٨Z\|Ia@Ħϝ.Kd 쥪F]dCu{m>ǨGy7>ڀт Y04cC `Ks&'FD-R<|99{h-/Lq5ժ۲WiEE鹿H-C^?HrٵB} KӜ);;9~^(x[KXMOA[q-Cˀv|2f2uKO]~gtOC \5i)N֛o*.DLVn%{@f8A-$+(X $+\}O'6Szڋa];Ƣ в.l8# 6Z噺hBhg/*ϖ=/ǔOB\5JSޣ cug[vK}*yYqYJ{hP"|V^dU=e7PE23p](H0Yb8 3m5W!19I/q!zZu|5~i2T-=x50!>n<*`"t?YdMKYBf8(x}.fO$M{A}w \öD5P@vIE 6Sxlu /o"m~E)bɒd GN~6 B"JUs?c#\}rNއ$h!7Qbj92`^IG X}2@ !A12V̄KK.|Ů2עPAzFҧ oP|1%-ޭu 1=Xg9SXaiPg1>i+tjO>{$YL9@=s$k52602}"AԘ~Ri}P0\Q # ]؊D# T%yppiMe4PL@ 0HDh-lhx #m#˲X9EtqYR"AdGLC{j2 v{BبDQثT>6/6Nаu(@+Y^f0_TOЦC/FofJ)r\hQ?d cؽd!qmh9{?i#EΩ׆B秸ŵ{$q=SdWى^'_CrVǝ{i4@9# ; I=M?o;>9gG.C)!.I+ev- [u :Ԍ A'/D̰#?y)R yqC.Ħ7N%/<z~_dzlĆ}A=+ӑBޛmjPlԛqЄl (~bSGp-2m=AҠ&bȧt?I/ kɳ©pq"CX=s@BIFx6L ylkv|U:e+oѷurǫ8=62XDu?w|cR.@JcЫ^$L+ckr_b%[CJ U~pCcLNhm#O7 *LIQVMv:}݋I;F(eWc;#?&{bGwUBG9Ps8r+u*՞hs;m'02CD $2r]$:q$gf. pQlj #L'MR1w-@'Eч.k<N*T1 X8KGkf{M%e(<+)T=yw5D.6脸Ш]!7@%=fiI5 Yo䤡z-j.pQ2Q2>ӏ jf.kRxsundgq.YQk{WIQS6Q` ,H(3VuЙow* z^mcJU|z"2Z4!}mTPO3bŶg zgї{_,-a.^E3{k1pq0^yLQ$]=tR_Qe9{`v4i7!:]ڦ +m†z$l v\$("ϐ%Ov`˦}tڛ}闟t4]e;ax@cESJ]#VY$G9$ jL?qٙS[h(m7]MR̓38<.k@#cm} 0nC}i$S 2z|[C ,[u41癜/-XU̝vvdD:ZlgLy&+,܄ő)J":JO E%=h{tn@ /uY [>C3ųF}uU//Ť7`{Ϙ 2bcp $I-'? ӢFylpCyJ"3uvFAePA.9w2jx;AFRd3 ~,LU\^6l+y 7)}^07"11U1e+Z&)j"c кV5 S$V>i.Bn[]E E LåNu "COy>&,:@wG[a)!M9Ŝr6^N0 S_ǻ8BCß,v(pB~!+?LhE=eED}1m/YQbpXhQ&*sqK$E81MFH }P3/hblÝi" f/l NJ`7"qy S=g8O(%d޻d)5xzVI}L)䤞]A-G^_Xmh)AgjV0 |Ss(U ~tgVJu]IxbNsL{g&d)Z:uLy40SAqUbBZx(Uh4;CхE9O&A4(?է&q`YV+TtvF-̩A4iS i?I&6dVb@NȽ>(tӰ-.dti ƶ1?&²pfJ Q-bߘԠMQi'̈́#N XVUm,09XӪ˫| y{$ZxF\ʔ`'.N=pk/8xʜ~T.W4W8$v$B"dTQfF-R]ԻU1( 3 I[`r;[rׇ+N# PA&v C&/Z.`s@1zكo1Hrn,1ECG~>PRQB|S=KŮ"~n8(P") T gPPO?_d,b7Â|)ڕa2 O3N!REcoO ['lS\&pם??ZHdbT <~Zg8rRtC궉Ap1xR4:;H}2kB@)#-j%z$3z.#9nuXV^ecd΁Lmrxa*O/{ff0 <Vu㰟D 1U^Կr7[ nЊ Whv"smt%EV4Vpj흀oʟ={E߉&òG=e3pS #~ϲd%Y4Ν@⑈SLǾCƠ^]kjRE#x`u8B $""2Ni:S~:Aw}rsai kt>@R[jI: iaYm\P9 ;Y)3 9$Zt,NH_WI1(߿ƒN\2#O4jEzYMKrM\R SN$EڎngQ/DA t H2nŠ72#bRMA+YZJgڋ "|v6'ǟX:jg"مtU4=V׌nPEIÒfMȞr{Ǫf\=:lR;c{Ɩ1s,ؙfu>40ΣUX76AkA [~S8&odMsӖӢN ַ fr]clQTg#w_w@&L (lbYHb˧ vWd@vG}?eyq~O҃<P-E<#d8սJʹ#otFi<| z'w[)i+EP5+*hzՍ=VJ YhoU1՝eYLvF ',IImga?LQ~w0+h6J iEngVMksQ]a:dlk}OϿLQMhka۳\&Vy 1PP3X+UvMP}\=b7&Y7q4HK}«|^bhi.?z7$XVpCh"sS(ҿ=n4q5;@V5ɤFsirdRܸLG3=ۚ;|0f傫򞁲YݜspW0Ta&6&jzk|v56ծR>k}QJP;?N%:w$X,bBsơ8zjH):56Qr%/}Z4(\HtC0s@/Po̰YT=Z:TNm6:XmM"[ѷ}uт0P;dж()Y'NfuQ1RxCǬ#nZRڑts5t@hr3A̠]ex^t.`/*t'6 ]ߐs4$i]'4&"5UJxPV&4m}SU5k*eG>k/v]O侴Ԓ̝u~y.afqy;pdnFҳ\̈́/Gǫj"B js!`^$w}Dª8aYHwUIh<}(⳧RWVVVM*{'M}UJdAA)f^nX}^e5-z"evu+ݮǧUUm oo˂jyL0&\eF {=oݎں%9XGʾ0K `nb ?G\7S?VD#t6E*>TvEnL6}0tD@ti ES0`O }S]|ec.TR}6 @p1@& EĨvdk 5,ugfHbl]p%>IT.4OR( =(.6gs훣֥퐣TV7{c$+ao/`ea;xFwƥM{S 4R/0ųK ܻG~;X[.)smY%FUsOF}bGL o",IPwP:< 69"G՗3>V.3K/|Ɲ#-ԣpLA1݊lr'XinГ2jAdY$ ;3g l /x\M8h*3R/jFLyCV \U2S 9\z'8i{&j l<8 SV( 62w#GGQFM K;-lz2c_´ͮǬ0$^˭*KT83w=R khU l*wñQMB$tHae*<"VOR#Jz&qs'^/+==$k;q{McpH^s'-l7 HR\Fa}ìHV4wA7= }E 8<`iōr0Ve-|5XHLqM1묻&#kD>ܟHhz(:NHOKz;$Vo l;f\[;&7mF9bC.O_l ѪIؠkմ`[Ae{p\5+\%"a} 5)4m*;S%GGl9ۆ_WTe qNHXlCX7i a,1D}`a6;PGM6xX^0-rߴkұg–=2 |f03g80a xg-A ѱK *20%^HtUVAmD0( d4/z7? P#X!Mџz C`!.zkw\?vH$[ )..Ι27-C i] i6s7k֪ n6ƍšdCI±ђZ$>;i9W:_<6Y($0\oBYouGWF$ȸ`< 1p:fА6<[[f"sm=u-'k?"#!O,t x!STE\91`AȇRśh{t*|%|Np_@31x]wui0nuOaJ RwtueL`yд\}K3e }WҌ=>L ~!z#7>9]!\ilh־`/+Bvt9cG "7#jp}jɕ0/"9oiJ@1V>9[ceHUʖw7ɭZMӔ~b)ui8Sc,D,}!qDG0hAha}ƆvԦ*io(?|*#12Xk=u,?HzDp%E♜Ig̢@4f91^k`;I-z?%z{SuQ_JZSt40&3'r6Eu'g7m\8kQu;sV}5#F 3׌m !4 -X^X:^x GCSvR#.{74&)y]*4B"ogzD+MEm^Pҭ@LM2#糋 vdaV#Pe

%EJ_FpCZ #Pמj6o"o=UX˗OOv-WGVqo7<qx7iYjsܫBV+^ρk]8t0\ p2nlfzُ~dضH֛፬2^{,zC%@/xu=G}k('i"lܩw8֮&Z(p'4S'--Nl{Xq.mwVaDj¶pQnv81ȰSdz)q6f*HqԜp*%eeK Fz&Q-o !#yt^[XL߯լs(y fGUS0[hUw6_ ¨f4U3"sDoAeࠩȆ)gÚ1 uk^ڠ'\N(*; A{켞;1VSq v0xϒ:Y&l"#  [u3-kj-{Яb>؛d{{~kׁjhm#5?5q5Zrja4̽Y`%ozf Ouu&Ԗ -8e]ġHE>`;>/(*ZE>%_K\uD'ەSgXonySw> jhAMʝ$kl;-GX/WDQk ^R!7 nWPL3M'?g]pIUv{JNmn'|&G0wgeg؈Bֿs /ȅZ|m__5-¥pVMjG!&ûJ*:zjF "DV#gHQUXml F#5'nSPod:P^֩^@2G6R.mGt++&mCͬ!S|WU=2Vjth#=tYX6#Yb+MB irk`a)k=D"-\3{}Dfm)C" lɒJϤ9ʩ ^F;fUoݷkLFiw¥ ǀ)rSH O>B9I6 B<=T3\ycOCG;oHoPwfn\7JuS^W6"=Kkw+t_IQ=5we}lO"9nQFגn|b xC w\C9u񍮗ֹL=@\9p-׮\]=R @[w*%'s?:{ }SpFMsqɳ ;&tINhϢT+3őc'!a3v";Vwss s7' [[.!zF2d+͠u YE[%.5}Vu׶4qz.Po-rIsor_,Q1~(zl2/m**n0 "3=IPky[S(-| ]ן=D?\pC> Ll+wH3LR0 a(6lW!ɛ|=^ʏ'6_4ѓ˝ևqx5oږu>`1a#瓇=8cNi$؟ aPUk\[}+bgMf=I$@`I*idX8<:^J:)k϶I/6jc ݊="K^5P-:EJNHe[C٨돳t% zyVb@0 C**\N';͈8}OƲ-TvLJӸ4=ǍLcG]xE!;\grKgPd yG^7?be{O*E=8m4t}f5 A V-C`D?_VB̐;k,Bbbʷ8I2lWѦ 7 SsTUh!NMfeLfiHZjl%Ɛ!ϑ-ބgh$r9j"4U6n[VؼXbv^% W$,Ti<"466#g[Ar6lΠs# yyӽ/VG;_cI4qfw\mR5>q<1_Ej/S) %zjs6^% Y)%d28T>S=c/;yg|[2^CE;G7id B9hiyΟؚy/@eBF_S~]*htv-gfZT'w >[b+S&DB{I!zz$gN?VpK4tqî+/ƺM G `X&FЛ:K'e5]WLoc8ZYόʆW1q3Ezd<+6_Bk*p(k(= 䓐CPb瑉 z""Yas]2$%[hea/kC] lFG.i~qduQCČudwIMJfG=ۆ3V[ՓX^(d8Zc8-SkфpXW:QniU)R( I஖_u/h4T{@­ BF0Vh[X 2 zau̕pB^>0iO~M EZMn@r@- x"[ EvETLUբPG X7v+7))9Fmk/^Sdb<*yA-x \ۆvHٔNarHwă`O,F>K!surV DDI9EqkԤB wwn $c9Z6Y IR:_%@P V>3#J(Ȓ۷ _RZeҾ>H˃HRD4wߪ]sQ^N d26h+=D*2j%^Z⣹_vr#Pz1OXH)f\wZ"?X&yz^q,Y-8BG"7WjTNĚ,O8ᨱx`?{`)J \+^ծsI?*)4[=]xzP_)^xْcJj$QPuEܵ`a'0r`KfsGXYꅿ9BUr ѻ-LϋWEo/3TH{5`Jû;^z8W <16d /KY`1&Z P?,X~ ,ٻ7]^ x-9B[0ꍽ%2GHu￀8Ȃx19`֩uJ.y,S"\H9i+P,Oؖ~JM^ESਗ਼9ih莌 LO 3L;G#V[k-"yʶ5g5ZlFzaN[޲JhJsT@UuhM07dʯ>&:Py=z xg1;v.DtifO*er3W?'-`w *qWkH1:'K[u6uLΖLKGrląo!zG2uM{ kW44R{x(ˋ!D9P'oz{x)ڒq&2'^]N&A#*e DE;A^zY:3Snhj5Ȓ!4'GnO4aV)a6NlgO.׮9:$ż2RCܱs I{V~hl MF|gpž -nBX#Vi(ʇ-i z\pFLc3aF_m .X1{t;jh:e/KlA8gujM֊Ȓ<` ^Kvv wfdo+WqO=YTNdݔഈV"l|@/q*9{fFQ/ o9rRϤay7x${) M\k,ha]$KAx915$_?PzoK- Cݿ4SUHѨM}KwGKt [.úR~S֑hηWYLr:zVRC1^Г֎h,(q67]~Ć^2 N^j#Zb#y0Y.2gFjcx::z+fήf*`B=udTȐ#-XAuOЛsӺ5atNK{> bRrtP+[0!!~-(W6.-8ŷ.֞$NQ>Ro&Ws*=9/MS-]ЎXaNlS"[l!'=qY}6H_3AoQIB[tT|JR"/oQ1WXS{YNӎXGm^N /Sщ1\ݰ:1-DP";t:Mʱ.l?+F '(c~wL#m~߫jfrUӊlWj\ 8807`G.IH;UuTPGԐiY5XT+&ǣ7χ>#.(| y[$&f?dF~k Y%උ䤄w$y[,♏'tך:F]hWt;Σ&Ȳ?cx5_=$TǠE6pJeěn-u/uC$J m5t!JWuDm]ƑWWΖ2wH〆VDp#9]Cedzg\[fFw^3v>883?˗ gtyF[gIeJIh):NՇuzp9ʾ[)yi +zE nPWÉyBe?Cf<#jQl?/cA ("+i7u{ݏ|~l=%s`8\xm\+adK|ϗ7='ۙՇ%]rėrj'SE"APWT s(Z,GbQG,^. j-zB~"~ㅍS_P{3 Е}L7`zC{Zw)k4NS/y%fYx4BъIȣǬ#ZOlCW>}v 5M01DE5ևaHlSe@d.#^'ǫPC# }"ڿ`[!O~ SfO"%5R5a܈u~bAZ 9*p/2\aMa~AddHIƎ4Q0=$gq#R)2N4%G,N (!ua%@=_u^ $y dd j/ \`;4b;w kU`آ}YhOc}{${@Ք VbQB#D5{#ҕZNi>clCfb0C&WGcoF'eXph,Avcu:0K`1tsNg8;^|X~\+*} 48 R3[*[e/0wGԉ ُbi2vTAZiB/1 QAPbolhbC2"7)XK-x2Z&&[d+ɻ{y".t쏹<GZIC'k@1i{nǮ1PY2vJ=( dGVVϸ ց~Pt/j:k' ]`*6ԷUjt j ׇ-{> **q }WaV+ dDugy^qe7MZbuҮ.Wv C oxN=Kip[>pT:ZwtxJ\4mx?1XFϛZ0D6[BLОKk( >xAj<{́[&hTڜjE;VȲ^d*E~LDڢ']UuSvqc1*O@WcZdmܔ{TݐUgiz*mg 3>廪&m"Ytr OV(gz *:Wԏ윾\q`]Ćy9tHB(\Haf8 #f]勪\x%[ȐlBP#]fBZ%x7-`Әh/~%o! KX):#NpRK-cPPX9w:q')#Bc_: $a mG"N0^RݷǎQHj>e C.43C'&e-4IŻ 4 wۖ9Nrg={˂, +ד) N="Z(6#~շP.{Ӹy<yxvd{3Q+q54my & a$5pau?x[\-mF<:&iuˤrqrNM['\hǖ8Bqu"0yɪ>ӟErafG_Aw\ϰ ev*Du(yEoǎM'a չO1I]b=zĔ)(RCw7H&o+4 :E4pڮy^ wF~qF6ެ*o+e%*"3(F=Jr'|X.ƽEBi2#o?+V戶M5w't ;~bTKn* z%{vڃ!KEc'/z'OnVz$״{´s)M2P1q?("\i2 &씹™W[ԩ#Fv#RIّ@ipNMJɠ[nC$(N,;C-r';9 T+[ot~dP3Hy1.JexFY-]]Yi=udғU(R{_׸2sD6L*pmک!`ڢe˽4Y9!/咝f֜O;F+X7OD'K# %{, )ayf*IOlgjm<,q[UixA )iyudaw=GY1ao~?}perq*m>jx]`EHBmby1t0il !=kƞ/Xݓ vяWxCҔa.xG.yş9oqOpf,1||Fo!+y$*oD2z5&B{s:`/_2`~18 7 ]-7 67Yfk.tf4dKAOLdi^TrNJ[fзeYlF Ozb>À)9tȷVŭK&}"qW n) v$z&* R|m ߫ȣkvAsq^G3U1`HK$N+aÜ/+na\.*Xϋr#hM\u e5>7{1lǠp[% dŴ""EBVL5v"[US\EM ,(7)&[Z)ښ@nj.uot[/1=gme<8A `L%/>m<<_')>1 [_7pʬ)wGe;eZk͙ ~50G-}`,i[B 3`bhwSzcEh0ȟKR.^uM8DߝH:xIdeG:<%}ڔPpcǩRf!Oz`U>P/&IbY\w_e  ?D4CV&ʗ&;zSʛo]PCAG{*j3Z-djGpNτ G;Op_.Mw}8NVXDllEʒ`2mm%FQX*@}w:txp֤ȴx5!B{1MQR<^W5VHE_Ҍ'vVN}68̝:ƨ+ѾO j++4C%T ^%M:I`|Inq{}H{7|o F{jS9]VWLָ'+1#1/s#ٹs]T'o)IŇ^#=9kH`c4@ذђ)$j2 BDdkyw-ä1H^7をF>UE|xK9?#i2`0eۅ!4'_ry xRzv}̙65n1`b-\,>x~6/*=U Sԉ*‰DFa#^JBy5#Hl(ưT2Qϛhw Tr(Bl Έ3 { ZZ6OH#< QfO GFʸ8qE5D;~_Ȧ3%AtԕL'3~,h,uq 7v؟ܖ)PJcRۜn!sTt6@y\+ kWB' Gn %r}P(s!:~&esHCJ~/O, 5$mRI;򈚓h- Rz;=NznCQg}!LWxG{M- b7ma νEuRDpy=./u\$~|:;*,Y3i f3&w'*dzf}m&#XlYwO/i 8?-s-&eMXskzrok.dC)? G)AȺZE⟚ oĘCxݐLKiާE~.n!\ 4bNS-)+ti޼e)1j-6A2#q, 3ei#V}1?Gx*{Y4] R08sCw/ Q9JnBKu\xYi:ViO qPx\ ܢA3>i1YV0c'hsoYM!s4G%ms#ZY}kӔ,%fހP9;ϑ*@*/B7eS;Q5fk52^BRbyinj Y[Wn1]"{$_܅|ȉʲ 9Š!ya@(n.8m*}H3hJ `.ɭ r%u|Oc?)-`9%෉] C&0 cB)sĕO XbR|"qn}hl;Fe9NU]rr A]IdAz*t0܏@ V]3z@/N\D3Τx%#.DȤ)kv*N&#$%q\Day(? K**nPۨGh1TXu6t`?<$5d+o#$}䛉U{r-.M c1\ػRh$p`` ;rAe^p_A' 0,*wnCd2P6_fqyN;6e`em;*R'xnN%)<03zY"],&6l~AR^zRcH pk@D&jdt+=c 9Nگb\[|g@'OBYOLhIwBeR~\SJaRjodCZΗHm!ph]Q~,&_:GO 6'&ݪvtEu/0~w/uq6'ZVУg^Ao9I5_T GheB-Fa;2A7j7 PSI=Z3aTp%.vWڰA(PWwIQnf:kRAK ZdO^O.wX2]ux4YT] ˛ꦇ)1#ȣ0 3[ yS9zGܓI2Ҍ{dʟLp a"kDb̄ Ԙ9vk, :20ڗqBk2 l@LFHspZ,#=yX9]F#QdGl3r Ȇ%,Yk۞)pˆRvdDn\IL[}kK ѥY黝XR?cs43ߕ=R#&<dhY4ۆzI#]mYK.̿=:~\}F(p֖P6 C[Gѧc_jVԭ&S5,i^ݏٗ-.qGJ(6gu*C0"pk8?CF%Fh@o?㺠*qˡ"lD[]jpzU)1r:hzw#ZtTS9-iAGСL[-S,5 LEVZA@+Ύ,׉*`$_~dÜl>I:dASn3ނְ\5e-Ǡo6f:eGl5tGTNM6NG8aޱθHv#K0}a?^}LRv1u+s[\ ]/z˅6_\eaO՟<&Г٢'1T_Omr\YgH?NM2tqw |Ɂc LjE~Gi~47%]TCн50`dG׌PPqaPMi/ul-T%f#t- wZ`o+8->ٹ+XנFL5~Ym5D5ΈK>X$9R+"'+{M]5Z'ǦaZg ,+5=lHz;(EH(ya5o:?CiY9SAF&g%)M۲y~_׸TDܫR0S_Ny}4ZR;sp:6*]OR1ƟO./{`4 q̼!O(8-yGZZ vl89r\C`kyUؓPǝu_@sj*K1+;1"^;$gjM||nv L`"񉧜;c}&h CrJ"dJͳ]Y?،k!h &~CB{ϋJLfS#vz( %@Kc_ն* c `BRW8P ~ ##b +WewQXkơ{s_eVԓ4޺|Le¼*ekw%(B{p: ,̰& o 6|3dI/{a@*sA, ܇siu{v<(k%NvpӸ>Nͻ2.KjڤZCxt3lLmD S iӦKM;d7fP_&J1 hۇYCJ4kv/^M 3PB.ā9g7[vM:{ _(DG8!ٙZ0n[ݒaSͰ74Ax% xRB5~2Α$\zr[Som{{ 9(y@S5J༩D[[q7R~ 旓+<AW(h\g)̭4.)mBۺƛo-iNk=Vgտv:#I"X6Ϣ->dIJJ-Yc)G8QYe?/ _2{eKYb&fNFs*ݻ5ԯvo7!cE N@o*̦l5$]{g6:Wα6kH3N8sh5ލf3G+ ;+dL ٿx73D:ދxk-l3 AM4D9;2f_7b*ɉ[D 2-x8S3h5_0Lʿ-;D~wɣ;-ѳhZ!}F4) 2gAoyvN c( wEk|(Dv?3lNboG.W%HHDz{v*vaUԵ9v0!&F몣\Qw.!9a-v;dm4\pA}3}H:T."(r@^28g{  OzR` ZR+9)gx_)7m;e0zvY`9h9HrR)"XzbjQTЉF?0|ʬvq7ZC~ɪRS܄Vt1IMbR\Mh;`#y0E(u(G5[.[l* 5%Q ڂENG2+IdO~&u{>{@C E0Of"d4j#.Wav; %Leic}-(qpѩSDY-y$. f\ %Bg # +ue2 QBNcq`aMcfNh(dJaHp,S~0(bL0NE$q')xy/d_uգ3iʪ  =WѤ+g|CbC{TCD6eg]uϞ40F.#R:+?>Ks%4UEڀɯ}^՗{Oq|qFj&'IT҇ pJ*̖WGF p"aQ)(4f-f(3>dTpK ͕C$!A\bIrG_:70_̍m8ҽZ(ƻK]gP+`@_ULmYz6P9tG{f0`\nCZ IDSK9;摴VwL#q5 U((?ω}!&? bͥU1Mxlf¡{h`)PZ: i_46,]C8(b#PGdQ:GJ j;gsM"Z; JWBxX8#,PyH1ViRr,VIǘ,1,כFDcW' rC0"YG0.4z<´& lMd '2ӄ]:pt/%Ξ(۔`c ,:el(@*QpM`BȒr>QNʎ c]U{jUQ)X= c'^!'X~p;L"`%&dҐsӗjKϮ龶 {zPr.?L~x~XVsk$B0^h)J*2u0j 2G#QajTYG,9Bܠ!@)Km~y{bk5ٽYJ Zg@hdy^aN+]le$`!yq( *}%Ѭ̍\jĚ~\[!dH}R@ep/hcM7E~@k°.չ5Fy@Qva, UqBjmJvqaoA,l,y"lkF͠|)ڵF˥f|GHm4x zT6+B "<e-)Yt э X85R{MIɳ恾l6&ZZm#v|j}&sf9D%B+&1ZsaG>=6'2 ql!k0mnC !j0ޘ9U0gf5zbZɗQ~o  5v4%TUr46pZ~ gWw_R3_$|̪q0 IAOVUK௅f:EXkPmbP(4ƺL̩v :Πࠚw~٣r 7I,~bpe[cmdy]_M< 'OŏĖ:<5y==mn2 o)FEs4J=(Wj}qp!W}k*91}lǮ0l22gT:BLAS0֝ HM$FLY-EEeu[oI#Ĺt6_G>w M֒`MtWhݱ&/F-2jkKJ"84 "oD<`NB1,px?a}gyzňEMb^S\hN0@q# qǬrg \{B"6tvxȞ^ [`~\W.pdz}-}Ya7_D%jD5UA&`ÉLEI',/i=O:^Ȟy/ +qQWDψSPl=;z{& R?oN4'+WRm ր5fϑ4rJbzCʍE5_ڷ @Pzd%)hAeDvz&Mf._rWta#o/T˧RYv"|B^ArYQ,2o]'ؼou`z^@M $#̠;}=E?B qnZޘ]N9h)͢*UZ,%ȧKsnY)5Y^yv"Xrq9ZBCGwI/.gCi04 灜L3HF/aV[;#g>;tU6=sOdc5'f)\SȎtm4a=6,HWujL/s`F@ ^QbkjA`'$ XMJ\xm» 㶍AYoqL:l?"Z"cI2xym!#@^WY<ӂ(`/f67'§ 4SSfy Dԕ&XUL,ՅBv1;t]؆ˡ3bMnK` \EL}J>̢9+O9"0{yHӋ^Q@Dv(}#Dj};ҭAS u8*b5z sS\|;<H="U,#6]렟y/"{așA JO o`\Cv3oXuXc: :aAg+Oik'g:x?I+,PcǧVL.+foJPn>F@]eE@?"}(z&35N wk)mLSZAeA2ˍ@r_lDeIIt8s47 ks(o&! ׁPintHW0vL+!^eg'tZؐ-s޴:tm}rJpp!lWYtݎaT=.OksYa(%0m=!u9KʆEbzD%bRK ^%hC%CVNjF@mn$AtŸy/|LzbʽwȨ?[#|Bz *7"*XmyP0_glkt,]R2ejPVWEWWTʖW5&#Y(vQN%ʤ]vNh*fM57xrާ>K [`2o7'VÛ]37cc^tX r 2B2.|V3t~*K}ױN;3,7Q]Y/ ݢqYO @qZ|7)UO,ZxBR-oNUi$ i$֒+pm:xUd8XxQܛa7(VF_uIʏA=ZlD(u%sDx@ Ϳ{ώ$`RC}<#]叶qպ.:c]C1}b}0U.$ }ue )LtCgG,^2%wX >:ڡ]*( ϡRl~̈́mRsl,*UI,R"n ` /_ckݦAF4#PES>(mnNd';S ~#AY\X{>CMQ ~Ee%>'Sb!eP·|U?z?W@F;\S;ߜ|u aC,%ӞEf#a12j[q K,E{YRG4vy ~h) OŵL}d߯Z"ui%ȟ$idj @өa(;È&*' ݋H%V5o)[n3 [/Ly` {IXd4U djG/uѡ([9Zw;nsmB3xu/B !J3Yr8H}ivȹØumNoݑo~J#~zWPBԄ4EwC%a@9+*+YUyXTۦ^\%jPa1z"e}`noB1".c ӐW-*ս&oOP薉\xaPPl"ӰB3I6\f٢a>3('Lu|a8u .-%j-̡})2y*СAJ,D3dQ(2JMDh%_(w(Hߺ;սȆOhʚl6[Hda(Ʌ"ՓwRBQb?m=T'L͂W$VƻlIp2wx]Dy#BR슡 /vc=Sd~2t~[݄)~&Q^.qW!I Ԃl}DT唈UY0I}}3YkE)7ȡ!a 밠a,~O[[rUvQrJՊdQTY~fϺ#C,ql,;В>}+tXۤ&TP+~㘽kfFĬ7ƼYF>a3A'VzBqb#t%QpB&6(Ni^Tj"*Ņ:H;y9!^|a{A^ '̅kRX'Q~20?@62 ia5IG>Ǡʝz$ל)SN]ʁڧ߶BC#0y:IC.DKQ{b̰s;a!t˶PoCLjg9KPZ5f6ɕ /ZrnwōLF Wͨ0O h~"FPk7k*G[2s~yk*{)˹[MdĶILJ W|9t\L|ʴ|jA6Yuj%PT ۗ&A]ZJ3ou$jC8sʊxF/MhPuF,f937Y.K1ytuG[CfQQ+9 uu$Yβ%%Ap̰MFʎ̱3aG\`|˓| 2o+ +mCt2v^ǂ׀.>d z]e"8$\AwimcP|8f(G3f3#㝷! H2J sJV#>߉۔/50 Wm4P8f"cTrCtZwT5Djm۩^mpYeA&Sv^ҿ+L]?0.'BD+^˨#`s֢^F~x|e6:Hzie\ {n iAM׳U!V۳G6 qj%kTٳzV_rwT,*Z{Ts 9'3&gT`xMl}t؀)MŒ_;N1w^Hh56bK-ʟd͵lxo_>nV>>Zlj=aF̯+)0/Jjea'Ag@:GNC-aP0m} ".,alS`[rC$lk+9L`{3WF~&ϠiH 0" \ED˃tsBvN-WJ뤷B[!_` #ԝaX{ sb:2fJV 9K~\#U{l XJn~ Q5ʴ\uFKTv{ hIPZ$5byaFOe.m;PV38D\Llmf&*-f3=5R+яyn LD/B‚ryj1 ;Q)'M~@(ء.bk 2hgCx@ɕʱjj }?8 ޶VG ZKbUlo)b[MQ@#jL@H@U ,Bcל\4 XKEεtl_{KJEE՞i/m$}1,~iɪ!&TGQ(%CBLC g\5/~G<Q6mцGHC=^y-Ҧmw;!Fuc;>IP/mbH vJ9;"=(D+H!.<}Qt&7\؀xzKiA' tF"6dvf#5 f6*u(8 bH"fK$B~sMAR0l)Om>ySOhǖ, &kw| M+e  3hm^MxibS Xw&?G}=O^!K@lrN<^@!:XU3)b Xb (d&MkO =>-">t!1G1fev'Aqbf/,NNxt"eOsCuE/0 eDcܒwNMlX@g4!nhDNmT,;JΧȐ"HJ500$l6o}gqA* FB3 $i $V6s因RKxW'J~ZEc$) $~_(2ε9bLm=0uLx)%σ9xo&n!.cl oˍs䑪E\U> ت!KúY $ͨK}BS߯e&7wJusLA0,LҮ&nC44+=I~!cYD,x:uR[U\.X`FM.f0[tgӣ!:Z\Ye*xl#^ >Zml]&CӄI5]Z}:z og=''(wUgB@FTsߎnkc4pԠ"NP)1BI~82}:J* G!Q83' =_B#J5}F rU)(uJU5@B*j6` P0VK\҉kу ?QAt`g&wyQj lH[{ֲ('q_M!]`jUZ*mI|GIIbd»U7ʽS@qCE5l<_() Y-N}5$; y4ڪ˧D8B-'(}ԤijG (~ ڐro* W"ZW#~q Ecu 9RLp} 8lp_qu߅SΈDjvϫ@,0E.MG}%g+)\Ҳ JZ?!W(r Ѯ_M5,Pl+3BPyyG5ʰTnzrm ?Q5t+cc\r5{$gjzQHAwi.vMha<޼Q=׼0˛ gHbz^f–3FLa~k9eBO90C4/u}WRy z<%%@ oS`иZ9hRH%йυcX=E>yOvUPՎzxubQ@-'ֻf$阦ljhs *=LG}!ky< Ic%$@#MVpFASk+jRSotf[5V ŜB;ȑ[$rSK}2{e4i4PH~tդϳT=tʻQTt9#Ѿ=TshA_R*ݳyDU%g1TEE,=#YI}y/nPfm؀\DⲢmUϤu8@:\+caKM{T[y_B~n~Q q Ռjx0Cڎ֍٦T癬 :G,N hP sf͍sPfIʟ>3xS:NiEKla#uֿlu259Ի?RXr4̬bS83,k˔g^4K"o#+vPhFtc9wױ'5f?\2bjBom hTJ= '$hT-GC,NSwJAʉ[imV|Z.Ԃ'QCeap9n@0xK< ~4S6x}y9T:^4'[ۇKz>")]lFUz?D%ba(3d,%/ٷV\ǫl+<&p{(s$j -IO2~ۚF}_$l D]N^\hgkK->=T|\twW0KꂬsڻۣoHJk{"롹stGF0J & <x~˞VOH_Lj hp;h Iͫ "[aS{sK)?0On\0o%f'< ]O2jߩ^d}FC,:\3Ehƒ4IM jVfD0pEW"AeX2ܑީZҮzdEyH1GWK&WO=xTǩ?RT@k۽c~tIz5^:փF-԰̇f8 ǝ Y,@5'wQF ZR*Γއxnv/%E&Vw?ESz-nJv\q5~/5bN\:o.1Z3$24cRkkoS/|>;%i53o?r{}!ܶ}_q%? q0@ʞ TN {n:ۀ{Z{6{ʯ16{wnͥ2(B="-Z|@+8S' w8y&X0i'm{ 5 d&̤&t @h$Wl^P'TcƿmP)cw0c8[bHRJ=_P*WFfj6ftAW^髗]I(x2 t]|kS?^ɥ rHŦ/&/(["]뤜M S_Rʴy۪EJDykm$Yu D^#?`v/DL`~ȋZ.!`zM"U2>]|f/ ֤5./S2[ˆAڤSA\ꚳXZb[ɶdۀl'Ҙ)N/12@tzC/"+UpQ0v\*߶X8h;4/nZwe9,=71t_g|%Y!tktZ%V 0L):|:f=֒oUVY{s#T13jiFJfU6F^v -;7hy2!wȫsY P(-Y^DO6e~El!lJ~%@D$jH0r%?EjSRA-%bnR.Ynᇘ Œhf`ZmQxG -8aKVfiG5$bi coH9)VAwYE " =M8I{t({|T?pʼnrd'ꟙإwstMvHH%vV-+hw=s5#{~!`/zjvSV* u~GޝS7ʵ0{a7o,.il ^hl$6/8@Lhd:a<0jpd_5|qA-M]f:{TNmqt`DF 'uS[VʛlD?4֙C|Rf"Kt+ƸZ433N Yc;УːeὨ׃J0Cbcⷿ:v~&d;(^OH?%G2 I6 ݼm@ # nb.l;r:,[-#R, ȳ*v4v=[:a~b|MFt_y |1q !q.ҀH `Oxr M[:3D#~;&'"[9d;P8 ݃h)<zg)FՔmi%EN%׺|Q/f  @Xl|_&XKV!],hmtgvdC:0HµK5.-g)t@:E +%yLjoWp1id=pb LXNM~!*Jxh lPxĞg+s2@"LRL_CZ_x=i l8%:fP\ޓh)da/uߕjm_ c d5iQ%n{̖h'O|T."ΐ@ˀ:UuFIQ=\&m\dfb? " iY˜p_l%-3E"O-y VvK3a: 13-.B9iܧ3XgtRONPG ]{x˾K1(D'8aK?پF >g:P"=AyNPa:a(ƶ腝~/BT A|+iM}H׼I gVkjYd״ϟ@uPhܮ`)D6CzYjpF>,S\=wK~ZJm3lp^. ~47hl;ȩzFHMaLei}È8N *֭oTp𑞡 ˹k91ci?}3S#V* ?b2<ԖV}/WwQИNxͭ|} xQ5U @cKA`69e\kGv֮03+J0/H;ʌ]a\u%iR^@P@MbMΥ֛V6!b:% :{ۭn-etr'-f=$uBd }$\{lGS)Ix9qbvlHm!#_wa9|4Oac+ңExN %.,) a~|.͚r/ ÙՁO;s}|:Nw=n5e,4*h/g"z7YȞ t*5Ȏrow k˭'pN|DQV*LyJؘ,@1ȸp\,FfPˍjMf*6[إ08D>IlxO4?'@X!ܪ~]Pq!F$Bk/rb=΃*o桲X_'(0ϵl!@xoM7ALU6SKޝ/cl&V6}_+hûN |;FZIEk@`jW׾䈼lD۴lwo*Iw3v b N|Q@1آUo7敁y/R%Gn.Y)ѶEw3",r788URB7bm-q-LNոz;$ +C'c61 X3db-3""KYc 6`V8U d4Oei.vpB_N%}99Z5t[}rK_YkZ׮zI0~l+Tn`M\x[1pk_Ҳ2ruU5 %)}`ԓGxd/f' a[ŝiaV65Z@mK$uZ~?ޝvE(yZGܶB$ Hmt09#UZEvϣx7&ApLÿ:mXKk-WΉpw{.̙ʼnUI]TtbO#E G Oއ)K$*FSՐY@Ҿ(ytlMh<+y :HWl X>oB>˝H*Pn%P#Tf(Q J[gG>+va9bD*JJK͢2kY$?hD%^p:r1\`Vi;=:tvNjf-(P% ۑau#Lz-YL,ny 3N|o("C(9,?1D !ŘU_O/+_MPZ1 ㊤ je~iܦ'OykY7sc38޳+G<2l&dh(}sGBKde(3Hu5PMsJV[g;@ҋWet K!vI`Dimo3NM?:_:rwS'"vQc'y2[_=H˔h笕Tizv|~P ~SX{wdFY%hv#o|J8Ĭo !馈tgFvʬjˣ_;j`N X\EJS= CSp -^ v,oRK]8&qrNf72D~$l U5I)FXᮛ %Fյ1_q5 Â,N.:].g*< 08FXv~iSɂx~,e{02\X:0 ؘ˥pa\# Kb?&& p>-TeམNe[s׎c(ց:vÉҤk  SWp2\G*yW]wЬt82Y"Mׂ9ⲟDZnwgMQM|ARt7I?EfD&>M@La3KsNtg3YΤgA5jI6ͫȔ~D§mh)Nt>nbW6w!~ \ n&E~8|-Հ𼦽J-xSO867rg"^IbnC…4|6V]Cׁ:{ΕVv"М-#c&`DT-w3gRh,0{cg\,v_i(cMkI}*rnnwX+!Sbq532D;Ab#ߋƣ4tud'Z*]p(*̋Eǘ'Ht-Tj#4WEbR5ϏŴ)- VPl:@QN^ 4iϣt^EpR3L,,0x>/\ҙ+^q>se6;:GgKE/"f4J|.9}qc`U e}[-Z%)i8]<۴ ،hh~]cbL@B$[D2' ntI! .m[BNϑhTY-\ILFpF,e<5 m*!|wTm5y#U/%59 Fpm`"YU"A~7[eE?NA-N0o؅ ۜU-Y绖mւH;I2D}hf 4͓\u+Gq$w%άaq|&O:Z.e5/ w"LTMҀV"u{xtZV*986 /_g4@OƅG ʾtT g<r>bck#2‚e 4Txs "{I9XdB|B.?e]LaM9z_g,d=ZűkATxM:m_©f[?6ҜSD`&5J\O dwX*iߕ&4 }I 7G>UwdZ >sZu&@cyydI|qkԭ0k M:+^0 nU4, |u,'k{y zzt9ǯ(sI|PZ"k{v vz&J`Z}AϜ?ÁGrFQe p618x,t#"3njm]Y"(V S׀Ɩޜ=PKWwllv^e֒;Sh_;ϕKjx5^;/uqZ7{aeƲW)[%i\رJ}g)x)gOtJYU̪Q/S,U`g5i]][H )ђ]M%RJ{Fz\5_Zxivޜ)B<[mN#l1~_GΆ{!4 G6S] dN-=J\רWEZ"C5Šp,.}9{G{<2!^ mPoLscK4^GO?sèhKٿAi&8jFv˳󺴊(ԇJDH zP=W Po+_2xP:'X>x18!D]w) M^{ht#83gU;82aGlU9' ̤HQґym8^/ RSkd6~N&z4ڥ},A&@ClVߍR ܾfFV^lHbC<'&ePs)Y$tEՕ2= u;-Hb"4"ۈ7 sAK]C}+nX# WG+ @Qv3XeĨL .`q#o?Ȱ")&GT$-Dn]tM1Z?Xn)7D\iCHM^Bݫ@.je'YXepcTr4UPY"$aBkB$-H>) Eգ{b+XI|"\<8M uy*Ss}*Εl`%FP%$U%zf)-> zt$P \o&W)FIB6,+@Q?!!9 t%+7}Iɇ$#0[u.MD踎 />w~;x*},v<^`i!ʜ L :0=:8v Y6x| $x)R|zk0h8Cv{ܛ.zs)=G9ϬskgB^q V\a{_!ALi@sxK+%ẃdt9vc?H|@HU"d1)- {V!KD7x*[|J?]i8q`$ c[(`mYWv #`/$n/&&QdD;cTqH<)0yb/YsNDx B sk^35s^ߨb,g( >Kc T&4@w(ns:t.MoY7J dhI o`ˣ 4㘤 J=Tq3t_ Z٬|pA@#u<M>th晴Z`7c[*/埸7#g3 Kri[FOkka:49l#Hs'x ִ!LLCs?$zVoʟJ4G^ӱ㳡|= KAȂ0ӨྐvmQ's>7ސ*d䀄{g_dyY3&a|vUSyaJϠi!/ʹy ccZH閼-s%~l d%HSyxz&uE 4-RB?I?-N6[=ި`.̬ܽFbQQ3էZһ۳eZ.O vZFd}ɒIcXܺHn!RErs<ߙ OЂ|.#tQZZ(yF8KE kaP3GM2bl@8G ͺ TFxz4tX[E jt̪1Xk2iFu+;eØ8},ZSusB?]c@abLTyz*U2EDhi. Guh sYPEbMlr!D >mLez>{pں*5ev?@mb!tQF:vd \ 6}C;q5͂IB{=+mYDҾh+J|'+C)Kȍo}eG^UR6j!Z5̽߸%whi,7Tˈ5 ;Yo4UQyAZSXq+c:m5Sc+s쪴/%ڟ* *E`I8Ss=  |]Bdkxhg!JMO%ÆQ{! =么dtv`3Rxa.rM*}M4j6U_SJ:$$W㍽*1R76Y݅L V-CڍCle @- `~4SeTw8xaU4Z?V@"Jaei&]^!4DU(-N8%M) *ō\d.f!խ'QàT"VwSk}S-Nvn^ZȐÙ6ѮGt֝")-urDh 9pKIzR3 ۝zԩG~aiAd>z2Eչ$?0*KNڸLXWzqqňoǵGF7qgv%ywo(Urqg&鐊&!O4<,>%3fzJrj!H|.7&#Yzջ6~_rt$uV X4"^n'8S6O mC}X_.Jt&;_*`#/(Aޑ|bB,kO_(Rwk76T^ڙyLt&bZvAywTń|*ZHW^)Z!~6/[<ϵSU˸L(+L6!7@v7i~Zv/fCe觸Oo%`zK_aBz8{, Dme%E1E 2,KI!<ckU{O9@&uaMr[:Np|Sf=y~~PbbQYdDp|N,|kƑ_O+$w"E.j2,",06tq0y-4q r,q+Zᣖ-bD+ ^$[~:Y PXhݡ%M h)(cLtQ\XnRg=F/cPoMhw1/>Y2:h. E3 !R bɜ/u}\4QwYݽ qZQaK ta8vq%$v< bloV KI=X2S%MA;SWZXeN ~G0<)] xiak&FXˌE1<=<7~Fڢgܗ VFW[P 4;4'S.jՏ9#Gli'D` KKX^#qK?KW_B >Do ̘r_SP<|je %x&9r!YETG,N쾶GH׶ E*w @0ce^w2~ 9ZqNV157=Q3nÂy+E'dazXJaRz0FUY?iOd۟A! S6dvO&C:**g|y;c. JϘ9tN-*b%d llQUųF]2]?TB^~u7Z{oSdB@!2ԐKh.[I%Ǫ6ZZ8/˜RŊ矴ެ:ȹ}B btW &Q;|Eg{n[AgұxX AHע —*K3m/lrQz砹8vLn"=31cYݽ<1R&A2l/тS +tmR  䜭h]_.~='˭2MYhrmV΁ vF>˕ MyԚriٔUp@Mpӿ{"M_Pkq$>_뀥 nuywONylYHɿL{?&M`&]\7؅%gp#۫G61i[Ĥd&uG"^)hch hn)To#ntK%6/5Ӟ;jZ ۖ_ [K~]֊1hi\f%@jt3KůC0c=LoU͞o'iK~ȝT|)}ܰȔIg$^5)?:;@CҠƨ"5 -sQ]$ l[c9qb)1gNBwweO%>RDI'D@n:'$ 2^\])GZ&(b ]{NP$=R≠|:${|IX'Ju;΋JGMU icnl ɰd/^ Շt qg NЭM2:5cJBenR #X[SҀErI^Ièjf-| 7zg ޼mxoejҧfLZh`nj4̔mt*[8`'o!68u`IP/cٳp1!CvxGh<2t>DZ^|lqTب+ 1 xb{Eƫa6zjp(VD9B.GF)a`@x ]nPKWtoLd~T6J2]C*L~SH7mlmF^Qx&$W}_#MgwNo4F2&7xd]2W(dDۍ/߳F>Rt̽[W/L 0tNcdQR&%25\Tk`mp5??([`6LF5'"?Ë21RqڟdYǢ~2@ƥ7j(9#%cAκU_yG*>Ύ(!ܶ'2԰TZ#c &`a1 L^{"-rekA`cg ?L#E̮Z:ysہHʾPS1^qDHEk;Rl15OPfYBMsU*n$ vsa/w H 1 ynm9/\S^1B!cX XΦ8  -)HY/脆ԫ/)"ڢ(}=h|:?Y5K@!!r'~HPeH$, YstVPtTĤ΢G7Fr;ar*Ͻ5Qr6ެ#˰A0XzF8'@-N4=ڭmw^T$^@4F5g`(D쟛ϫ2_3SS _kTUg:*XG"đxjAX5\j b<`xu@s`_NM 6q_kcxc}cʤC^P+ō%HaaGخ8Z`PRSq,BpD ~} #/aƊьe?rS`+ =uef5%ctr 5V(ĜSh̪U C!+|o~Bk'DδXZ||M'E?> r $/v(vQg%K[s'Q7BnktMn="z_(__|>7a!;x1ſK=vP&QwܸC\p v*RVĞ12yv8cU !yAI/af>~`΃`d:M(1 Dhd[5v\EN\I䞽jH `.ٳN%jYU}rl&dSՐrߑVа5؅E=!嘞?qRlqᔑW8ەM$T3e$/vzNC]va߰sr;Ͷ4g Ŝ* H+׭ҝ$s ^6-&؎&;ȓT[Z5)ǷLЀH0;rEqP}w[6, J ]-Ե:~:FxR=6E |?G}MU2?6ZW6 :IO'gqXRB%\X0p|:fo)#`,5qi+K9ԡ=`DC[&7bۭl̈́o1Yx[>XUbZ;G/14xtfBSJ< UC"l^ 뤝$w{6OWu86>3aρ6"Yr.+7<%kN*XƢ@ג\:VA㌫!P9m:ͥ%% /{Aۥ }va6*|Z'a+7I%i%}}4 PN8Zظ8JJmwhn;'9SJ(<]t! /U,QIJ"Ʈ}3[&)%=]z<9/ $ՖaNӠpxφ"0Mߣ%15?wô9ӊd-eUz/E7%Ɂ/ȷL{Q*5a#ec3h$OuF_^0JĉOdh*^HZ/Ĩfj0xo fHHzز"!DlFPyu@ӥPyB1V D^mAjv kxv|->Qq!`jV;*, QkzSJ-C06r?Be@U; td)~-4|@ӋP8-V$6MS\זfni;WTWNU*Hgiȱ'ֹ]N9vU3VĺyK?])efJ$X7! u?} ̎`g#94|yI}~GaFZʉ@@粂EWF[9 0VYR֙ To?>0=<[@.v^crFxJg|#cz և|SbH('c4PDJit@XZ/PX)/ap5nf|_>K)MSѲ#ٍ|p 5Vr;u]ge +0SxpΜS<64io.HThQj!ёy cɼ\՜+!OUDgQ蔫~t{!'Ӣ" .zV.k)Pvݐ>B;}qzZ0b>.F@=t G50wu ETb5 !IW>F$OGM9|a.b:zUAsi<(gtA&hfB25C0x0KϾ(,&QKR@RfZ k (  6]1 KYR_^I[T&YK0wsE=~Eq.${X[U -]X;ў!kiML{À)ܼo蝭꩘*h/2 zho! EW{łUu?GHzײT Q넡W-սyIoHJr/e26ixb5z{h~.Ǒ%x وwN?;'| a}ћXS?.J=ZY:&fϫa9%V! ΧRA0!/60O ?/Uc+}c~0r<4-*Ue & _hZ:/]=zG[!txiW9x'/e/FW5ATl5W+mk-[3 x tx\dW`!kHNsHˏAi}.J@"[VUE?d+gDtKKt}[t 'i_|5Ȫ0e\j)IDγu˞k1B$̅99UNDviM;T2#E18(N N?U(^tvG8?QE) F$:ɕjs@]蜞"7njR_:O#G$鶉wuXA'&7*] h0><8c:łuyC<`]NG\4,1!In1`=+G4(3o4J#pT1N4B+ҤTC6)E `<$(y_YNg ciy[͢YIgY8s='Su.HI! L)i y"V vTWI/2E ͻ°R QD2&R,J.-qǽccʫkQ+&omXUFh^~ȱƬj@ bר}WOiآ2@ d\^aY_lSIFl=Z좪.:Jb __d'@:9e>Dmd)(6pYq XĩtNxd}CkGfϪ$͓˜cpC{ Ǜֺ|IO&6efN۪C1J[# J/%C&U4 Iy-2,y X ϛ֖a0)'6gW=fmfk<=xV)bym[=295@Bǰa -99<YձPy ke,:SK[U1 V)!+x"+=7zN[籔nx,8 RO@&s+/?kՕ)D;2NzhXx+Ʃ^/:TiqiB@ϑ86_Y֥Ce;4f'ZϔQ(#?wDsUG:oºdDkvE]4T|iG Rpo+t]$qW' !d;9EruՂieqij2\P S RYN$=Ht *Fs+vL=Q|a{/!TUQq1lbԜN+.}=o*O$UbnX} \Y\g4+kj29V!34`5n*"e=֕ >Ba/Z-,~tSɉfG2Z'V,pq;⫷\ t{&'cO~odUw.BJ= x*eC{Vȕʌ4_ T9&L1?<]^V*?(3p~uz~D7}wFVꕂ`VSVc41] BG1{TI +  5eAOxj_+KtS.HzdCJS8ɄdWwfHMgw'd1!4%dzPth "u$:scX}nԦ" u73'ݽE$!Rn7mj!Hc)S^(0xLvo: !0- #}6F C+]xMkE~Cy𦍓'D e;:܂jōVh{7d(f+dw_K[ RA5bV_*AӴz6V'uz߼4=6'XPɆv*§JߓPg"У s}^B(6jbMj,K$i8(I; ռp[is-l]x!Ϳ~ktyXh=7 2f/UGP<ۚ>,רv(X!}]=iD?l_ʊSaǠx'gyXBc[ B!rX'T \so<@qs=B0Q(m[ ZeE˄[Rϻ% }LR(Va:&\|\u "Y;'a>:( Qm8#'& 5/f+{^:p=>Ϳ A{a޾0*;jL]ԇJ+,Z`FC=t \N;Dcs^K|1eGc_/AG 'Fͦ_N~YxǙ]z$\ݬ!I`%KŪ[{ՠީAfF` b{C3 n|ttM̀߁w[D0h;H;~ +Q S=JysYQYV2$B7q@%TBct%Z=]n"ƑwQt;w,-2v7Pݶ K?+ $ѳ@H0nWz"} Txp :Y5.:G,u\>(M% 4cXL B|cwr{VyɮyKّ/u7yf潶)nςP'K xe$4"Ԝ}*2äXƢWRrGvݿ1I@ߩ8UjVb|p7 Yw5.g Ϋ{4R)42#.Yrʴׅ'E4ŀl2PS1MHzMӿW '$OSankĶrkG"k J {AcahfO^{|ap`XqvilOZ(Yr*NA Ac2eNY[{ Kw.a+e7,Akfhin vK9VT`^sɛ!Įy}&>I *(|C@st [A;*&5CBM(I@\g|_ [|ik:=+h ~)oEonߞ`+&<](s 7:O 7?E槖e ֎& .oxq;#2i[wrrҥѤ3?כ=YU[~J/:\w~ii`64$ʯ}b. a&!q#ǽú7l't V]dU.W/jCI꞉5յs3fO% 2\+^"ŒX >at_9h~I\D1@'1M^dDAL )ud3.%8u,"YW;grCsڌ6r :qāXWV>0[ J8JX @"|I]|{Ť>85b6JCvz"s\/՗xTn\\~خ3@">cP!^1~Mmtm{pG||b_qHE}[lٹ`žC*'$ˊ;-|'18$!_j!-K,j vݲ3dɘMh͍0) :}'|&s|R b 1״8'.%·~E1G-N"Gdvq6P*l^\GX$M6'v?oz25EnM;6'Ý D(MD4G4WG,t/LT] #X^%UUb YqplqOWa``d lA} <볡^ܮ7?I8#uMt7ukkXrɫ%\H[{\T&6,[W5&͑:)yqQYc+ӭl …z9 fl**-qtuh{a?75^GlȻ^ٯ</cBŘGaGk.% xi Zklla=l- EtM[3#=]9 @q=˯/`f'g(e$NLVۼ"O{J{rhІp (;2?Ѷr{{  .(=*Ao[5Xv_+_sc} kIk" ilԽQ pba.7X@* :2%95{+9mk #kf7_Rɿw5.~v]R>xW5RYUSa'1`h&TI5UO h:P҂^9DNrx-S/GǶHS_8cK .V_NTƫ4,8/}цBv'x# It!a%&V,Cjp;`r2e!Fw6[N~ RWD\.FM+7o5nbCn2Tއۋ&y HDõ@ws땷X]Wzc%X5Zv[/wx׍Wb1ɇiw3<0BL-G΢}ίm1#z;׽7UVKg(ǚ3C" c'%g^!EdK[)?* ]j!‰ٯR1Jwy5G)6Xey F};RX')]~QޒK^Q̩,\cZ l)Ǽ߮k#~icFY'YVtoBRŭ,'{Vzϥ =}uVIRH '؆M]OVsআ8x.Pz<*~0z ]wY~V qR#E0|?T'bB6%X֯ Ɵ i{{< /lGf%2|bAgQѼ/50Τ{NQe.gZ~یFRODjO9{qtxՃf6B80HrlS{ #70'֛,lMFΞ) Z94Ҕ[JA,(Tf#]>j5*su>KmʻdIGgܦ@U7t Uֲ58b5 6|RsӜd do#g'Z˂^PN7sw'x"$[y@Y{w&TI 3;+˚)d4x0$TM3fq+&P.ltu]VU2Iut1z-p>C'Yʞ`T:SHC _~*Y64ζn]"%^;܀f@q-dPҩ5~OlgƊrC`_|ju 2 M #_ 5fAiTb~᱁\6Z3'B5?->846nAE^H_ϸ7jb7ޘ7,_'v9wU>02GN#y@lj"zژoi|? /H?pzܧȏDh?>T: dT %[ï/$ GVO ܒϡzh&=\n(;NP+637nGs6[, ?rֈA?iHAjɐӐ2n1ZVvuC܉Vь!AY]-;mbG/P|suKnTؿ4҅+~~;?4K0Ac\ۻ&[azF';t: /kCWG+,> |to-mܱ!d*Ethn^Hɜ()/ƤOzgy5S]!0,dލFߨ(XWnP>ďSr29"DnȤ T),XcD.pgFJq&JË:KeҎU~{um Ks}_.;aeq5ޠC4_Fc.?KqT;1&nL[T7][iI*g+FsɖRdnz,w'f/ѩ!^1Ou4;rcXf𢝒Oa;RzNaj_F^]hq)erqӌ")Qf*9ϾC𸀧2b]Mk} ~+KH-l^ȅ{+._M|dL8plg Ly9PFwXI<'(v+iF1s"Zb0? Gw@n,MB8 _;dH"=; "*CNȅ5w:IrĶ &;TvQH$ 2-?9! bi`hɣ :m\,czG. EDCTߞ6R=!Q+a(=kS3ou(w_)wD/{DMQNRw3R,t9O)&7fCQcմ"AxPF~nӜpۺ=isTS95wVMۍZyؚ rC?X啄 苑e+ ʎFpZlaDFܩE଼fHm+pX+mp~t^|nO-uwLtɂ-È˙cTId5p22+/1QLXn VP$ [rEr@㥣إD~;ȡG۲I%~ ҋ;&(PEՖkGQc$b,.4*U4<5v/b]ITAG#"rU2bA4p}[`ԍ&*-'9k*2^rF~pcߕ I0X]H Ѧ&y*`j&Rę Otӿזʙ^I mFBޙj6:盤?1voxdm~lYn^戴>0SҒ'QkWJi dt LGR8Z_ 翙s-8m`e12)`+ga:0I;!U,^Wʕ)f OlDIK c2Mlk!rĪcۮ0+i`xԈJ V 8gZ^TdQÎ^C& yil_6 7M79i K.;Tn[ҶW(تq,Q$@t1ETo^-6骗jXLFrgA`!?o@+.nEAi)"pLy!ǂAA3bB íJU"K=^>|z{]\2rp͡ fGpLR NCF$;ԅR;P^SMg;Q;% vNt6(01\U‰eüKw 9 A-ܱ񼩚s l[_ `۩S s}T=!Rqiv }LNA2М) T] i=@WC,k\,.Ny7v*J]覔އx[5n_;2^cu5ZEcWj {<@ K,6GPgG_ƶg Ek"-ͤ@cb۟]quF5V,v3O! (b]= .9|JIVӶ7fq8q1jz I8p#qpc B 9~|{ 'ܜcj ]yJnG٣'(OVVE rr y?x,G6el}yZ Y"LEytgy˾ ֕\р2D/{a 7ҭ0S}\ÍF$`b&acʡZ0b͚ f.i+-;OJ'ZG_^#Bθu(T xt[;h)"_˱!c'p3f=lJ]Ҝ츊wt+þW40<Z_]>Ȕ 8!CƖqoeOW*1cLo5;2Zҟ(eZh ~L}2jbsUOt. 5|uWhԬju sf--8o蘚w B>W35BiFF=jo뇲*a@Ef,1sdd0'֔EsDWל&8B+ZX{`&=ZtެxJL[ k E!$FӮׄ 2T8 i'>Hm`J%g=.VǦŴ()~iimRD_\\\6= 9vKoLg#p N~޼YH^?e牠T~J|9U$\~d:6U|D^qF->{jjHQĒ8TQ uA1o1[=d\qO]]"j ` &)j@(%*AAz- D+ .AYCn 1*.ֆպd0{31գYVme*~eYVX=*{uU5j]w vYř̺ʮ0T)6mt :EuO #0@FK(Yx8F9e0Wm+=V=G@qsFi8V?F-eYhjt%I*%VyZʫ!uҳĚX-Q71gNi̔z/ |Rvwv1`4U;M’ι*yRκJĪ쫋=n6͹ X*]RJ'<[Et(!(ƌ3ffbalnyж[B˺1j Μ|K<8c_9e3ݘKn8 N>pC H.Z} |&ӹ/i摞0ME0"%t 6d(!GMDGu!tҬ®=Uҳ9?xn'n_ίԘNda Y4tzENJ#YipHiCawn?&_GOgߑ#c)ޭ՗&pGѺcOٴrTpNZO" PJ_.E_^ŗ<}(UC&pH2c-A9lhmg%l(~rg;|RZ`r1mw$}NL HxRa';yť%F9U5opfQJGm vX]ߋYi^Q-;Cn d">\`b=1#۴g%01 4!Qg譴$9I,o?ozܺR}MiJ0qTpwIT M)SڪA!sSLF UG`x2fDL(+vQ;R,.a25aVOp딝.Q_7aC5j{ 1<}kt'O/Ppu05stauGְb@ %kb* ?g 2$ʲ4Ɏ7;\N~ .DOߡD۽'hEеLkINZ:{:J-By+abL!x͊6 xR.(b~i3ǿzb[&uz/m"c 2wCi.Zdv>Mc ~>iv2Pf:oZ  V])I! ulW)5m _{aGhm¶V}FkZu鏸94_p(l"y@瑀Q WgmC]1pks{ODʶU{n$AA/&5IkKes0QAGng`yi;$"i**+)VEKĠ:Ywa^k3o%DdΫ[bw%%M>/IJGDR8=G7nxz,Of?Howm12dM2 Z: guv Te>l&=6P;|-[#lAT-KI6?0iBn>,dIÇ4udJCjs'gJ]c ~Li !'4s̟2oRR"M5LmhoV 5 >o6DT)z;l6TO^>[\ ˾8C5~sg7=kwwIYMlt?&v·u-@2GOR! X(]غucm[젱Ȧͻ?ԍ.'= .3X F xB8#ې3mM@0(h @d$K/lA>5}>uu擎%-LYJU⩐Q\kSߩi?8.O;kCMs6e3RZE=,z, r@3ݎ㫔B{='c`r/2ûY-ԁw4*'w:6 t|H=|eQJhkþX$+i"^NIrlkX_ݝ@/gCf iħ__4']>;dW!(%+Kґ1wCoKp$ 4z?WPWbZXKy/1^*V;>Z;I0&^*6E<|\z/G2%_2pj^X: \A]u\ˠN:\+l{ʊd(JaVv/dG8-QVL |R%R,24==qͷ}5(Y &n/$>xBl..g(Pp}>Plя_~q4<,ۅҰ:G_hLVG D8NB|vp-{ ޔcA[{2fo;Yo{{Ǖ͔4͞B0U]p0D5'>Ns l 4+ۨ.qs|R9BGY3=x#C⏨-T+ 7[.E0"7ƅ<`Z^yD*,qdkDħ9SgpN J$Ū"q&b0H20e D{eyXw&s'q+yy V`uTXnyIurCu=ÿC44^!K+rs?c>5 P99^XD!O[u{D8M:"NWKh`f#$($Δay ]D8?c7n <-+Y q7fyʖA^DrާtbXy1;R5_u0G`.սKr&F)Jź%UmԷCreo ߃@ky`;W-}g]3Zhս :%8:ݪi#)4Eij";Bd3Ҝ5"LR0b'HHZHErH];s 6h:8BM,.-WG>>S"X7ʘSע,Yș"WҀc{J/K(c :V7.ba[76"oZ? ѱ!qZ2Kw(ةp27V9]w'c) mKGzWgJ1?-Z~H 2H)T/{%3o#ܭʈR-A(VWz#l% sL"ޣ,OC/eUC/_e^K=$pGx6{"N>T/ \}Jf!M)AJ>|vmK-, ڲ ~o;U%mzhG+$U7`Z܃< ~ڷ}11X2,2})A7ș]->MnY;phRZĄcVE^$u_5ԙ~ >G}bgш )AfW?Oi,Z@DU$rFT  |?H ̡DuI~T"mUC[6pzj޷LjYZJB8_l@nc=bEtHR륆\TǍEEw%j34~;;|1gүc@WK:Fah asl3ć"c:dGwQTK Х#4;cbRj)=鼎IIY-l麯hka_vb/"tɔ3Ѫ7l!`>[Qm)-^CSݴ!@F>L/ji5ToM:wQQ-{b3u;51°?Lˀ"\ќīR y]?\=Js0:c*/'$ > >&?$T3k Nߩ~T2ձ2sܺ+!4$2@~ZޗNjA4JK-9#:})Ԍ& TCK>:$ܟ1Lg}}n/ fr)7Gp@ ꙴwA =fXZ s6tA,G@ɯҶ۸ٱⱮ:73#n䃙RhwM.;_a($#P*љjᐉxᠶIPi%]~ݿ(ny<4%| Jms7)ܿ 0XxP& ;d}A++Ó-5,*C(f0s+?pEIa:(۽ޫ.ԧ.u2sx\98t!vNDPCZ|Y+a/cP2P=o-cwݼp5ޣ(ގn \z-SO 5>7$UU@@}yrv7 F+ttuw2셻s5=)aMo@ȇn@:~Psf}"V~G2V6] Ok1ذ$6H2wk$|W3(W>Y);w^5}!t|R!<+HZ8ƿob3W}:vqj91y#]߱.(ҟGCd}Y15P4.eCh&7iM ޑ\cK]mҩܵ.|.)M4tV72?p+s^J0 T14A5‰P z7[]&rB$Jn"`gP΋*,͋@#2#M?FSrQHPsD0qzjd~V"ui @%8vbF<<"y|s ȾCJIo3Jjsxn )-ikQRajYxz]nY3^w#ǥS(FYA|xfΘ;&\%ՁufiP0MIcWXi9ɉ;J&(eg" `,F;rRw}W,UUF4 l6Θ3tcBA O1QR&}{z'flrU;-ȓ&Wy2ϬʲV͵ vM,.HGP#fw)S>7yc{K1(Qh]0ߵH(RJXaT ,ق^;V6Îը ϕhLAP ֔ۛX3ZkU  Wq[jRճ9󳪑zf0X=5jPB E@a^PC=SMwG`37=+Q:D,=ͣB$K-XU~Cٜo+bŜ/jev4O5A#\dMxq/k GW;Biwp\/Vx-}CVug76 քbU̒Z|%5[ݩ.fV/IpVxm='.Oe ԙ)'EGjug5~]襲pH'&4?es,#Av2e~Lxo'[w&֡{khh{ @ڰOSOUl*ut]$1ߏ &ƒ8m'ieWؒ~~P\~wSe'$|^Y`tԫ 3-}_c@Z&?,9 xj?6dKѦ/]-5ݟlg#w).Hmo6'EqipIi%68`c wB=e!м+e`mC ljGؼU.|;UHf`~C_:8l8N*Uyc8 ) 5 <ٵ{h9n~h&#DY)SD% X<;ovʿfP:7`^]Ϙd3"ѹu41=*Pͼ-&f@@, ]ѨUBO7] OeY/FjvXqܢvuн}cb^V2a`nYU^C%+X@׳MyxEO[wlr㻺2]l^4 R8IJ=mD3a1N5ۉ;̂Q5ҽ&OAh0}YzR"oY,L+F +Ę5vB¼O!11E_,e5R{U'V$)bK\k|FjdR]ѕXl`շ։ԭ]‚R@v{"% §cܫʊDߏYjCTdQeZD#hpFUKfx9I@sHj"`9q!e=eVM̖/J|=7xʓ]0qNk̍=2Ն"0OoiW!vyp"9{]w AL緄йs;z׬|Υ" K{)(gCv[Qz.%_a.}EҶr:ʗėN&s 991L)Nȳb"ś Μ!/{C㚛 ŗUG!]>>H[4LxuV@!j7@KdO22e? i9pE01 XH׎#h:|&bk m>F}tvO-3eK}Dzq|K*"_]84dh[b@7D})0bIug /V|O^?UXc4't^DUIU0q RO~bl7 IUyD^]>{~M2rBj1I.@uV41̯9mNњ@|F!b96px2T! U!]4%ߓ:~`5N|R_g}S(l7q *-,c:2B}ES)#UaO:r~9~]GN| !Β;`4< en)WҵQ+̀.hY 3zNa#8Ƌ>,A<06i#̓h\1Yۏ$G쇃ĖOtU@ǔع sJVC]ٯ劆~w;س5vA D!n]IT7ފ%u,A|Inm*k^[ Z=!3NM+6e@ZOjK }(O>6S*SQ*X|Rb-Q4i̓vZ;,RL8Liw'$%nE E'K2 QgMVjpgptۻώR:SahJ߇CaIg0`!Rp2i vWkJ tYoEkUZ~ u(ϑ;-e5sKBU@3j\nr+<;'H ^:{@Үz{0W ES1q2 {BW@YXY ]>5g{< \\ DNrT[˿T0WpvdX;{#ْ9ES(p&}EL ڈݗB^G"W3G-#7@p| ԌF;C]b_A|N攄dyu7Wh_ll={S3|w;||)rfVoO߂U ೩F \3IZ Wp :t6YX"b&@SoW8 lހd,- %{hecrN*sr/ .:4"hA9+(tEAmK`Ku-Jk>J9tMO^-cH?_Ff9כ/F+׽0DȌ}Pf], -έW-:zX)x=*0Y>1pyXhKE/_l+eNp-D81Ўc_3Sp=Tw&K1%DP_xu X?FjX2j_nYks9)Bxqay{=^RY пWN+V8]QbvԤ5~.<r AZG9H[Io7hk-MpyW$S7[7^mRx}C윂W\IԨvO]&-8+Bj?AYRkQQtp ^( 31غ 98uQ]NG/9aE";'> ^pI`]c*VV [Gmf ;g. _=AE @kgVϏx[g0Qe ,tyߙӫu\Ք)ueXsrzq{>nIsn/ ]!i)#sG8&㴛 /?.PSR0uD5~ $q*?83f4O,vᩝ4zdF XIڈ(m?jL& 8% P{Ln3~ile†}a*V+,{ҷO1{ǸLǔ8u^ю#`OV RU`$5Pp=VI?Hy sA*ۉRL/(sGArD4եB+=Aڈ`ĝq :Spόjruk%]>RpBiEBGcKD)A`˔K;X Y^US Z-Q4&`|k=\tϘbK2\g#J< gFY~X <6ʗ"=X^"I= K [a^1vpF8TM fL>սpEpP@ʫԡEAo&ЍG VEZ' pT6#CKM]`$?k=G%Ko,Uh>(: ?UŅldZ F(zNtk-XT'%@93<#\fϡڗKZER1u.Q@(p ɞ; ^UO\g/zjNꊟ#=soHeK ,ZaM)T\ޡ$Ibo Wۡ4sP_LA9Afaq/lp{M# Evi. S3V?d-ڰqn g;M/FPzZovRkVE6n',iycO/}-}೮~ig R=QBI7Oci68qFѱ.DC;ՊbhxLE!GNb Yp[j 2Yvt^mx'q}P=/"GH>·b3Ŕ&Ж-fth5\[bK6_H^.";4-7o*/g)Ŋ{#Q6WI<2uo$}nztL^ByiM6&YEy us \&M,]&l ְ>j2c=+yȞS Q6;Y:\քB`>{geMdŝ``*0#/q:[O雇wKLtбnu@ o E!:աfm3DbHsc]-`cO zati[mK9+n~W?=pe ?>ϟALa@k;zSZz9*TTFOdЕEeLYZ1|’#}/ }` "'HN^s$ùi kXuXB(]{IQ4@<<4A\Ed~U$m6 J;mҞlKȁOov [A0" QN@^^Xuan#ץd.:g2%̈mm'ntBgT˗ADN[< YV.i' oC9,t(bgqx 4lhlF2ڧ:ul@ \=mKC[2P;S>b803/!~UA|h y PsytCpξѷpKD 2!I_F]!cYȝreMP0tB$vFKݬ?T<`- .5 u//}"B Y3>[Z|Aryӥ<i~23Ed"XX,+CIvRO(DHu~jA&r Pﺾ.QAq64Uk}l?E1v%pR|=;o,-a3|xk+̞G' [q",7hT!ޅKDG2,hgfu7-(~>)!;$LfnB"-r:5K+2VO_ TH.&d!Bus{H%뿨%boNa_ `AThK9P_> dj B>pbr:f l@T>׆ecL$ȍ;Ss bYlaH 47 VPJ**ԾR -KyKRcc8a*DoNM+}}g8 жP6 ?@+d%,R\paUt$Tm:B{½> 5{$9MhG CC6pM+u6>w%8%?skW \mK΋@ܩ4J-\WBϧF5T)kG&"* F3;?3tPDFH6ACzD {߹b%1,xG*2d:(zqaDhn7ւ7,?D:׭f_fxa{CԨg07[l6pZ^@[ceMc\{Hc]_Fz T`פ9&q_U,ׁ|&ecelH/D%!M^G+,`lIx!m?ԨD,y [c!У >S]80k#xuz6n⁎!5Ұ5FI:3]k jL'#/|4@StX`RcE,Xij]cVM~y/"亮#_zy${+ľy_hu H)Xok.e0bA+M/H[ bl8=hJB2D1AW)ШEJ^éekC^b6-{k˔gFa.b iW`pV]Aj!5Ybm uYF'UĴ%"#co&,&dKw4x֍hkWw}@!l-{ 4jV|g32HO)ԇsI%8gx%RA1lsrYFwDsK2MbȻa)b1l"tcNjpKM_?.ҠNR! - kI]K,-?{et! x̴ml\ y#cN4I̛aNT'7X`KfoLkԂ=v" ss>z%֫#(D5;'rᨒ.BX͞xA2zAuCYct\ͦۼڀ PK!ĆñENGuvw\ʡv5s͖&yv/DtkS F_dL7tI 0C⠥8Zt6a)uUҰzK_0o󪰤oLnRE )7:% dzs^E5|-VfZ;`ցM&6L4 w7ٚ,Y18vr &4!, ʙYqSGc'@ﴤ5G3'esI5Aeڣ8Yx^k\ab$ Ӳ`A*W~#xedd$'#"?A(L;Sp'T43̛h֥=Y.g_Mz,c\4u!M<,?GLvPC*Ta. ?N&.Hx{w oS EҠEx@.~Gm.lڑ@saM@uBRL@P|c8W"JKjj{[Y5lڭub+dsp|d:8ij:>/ _*T%J} r"MH=ic+AG;Ke;w򻠱/j !ȿ'KzOxoFdSf9 A[OGm-NծiH|4\|qa%Y?WE=~73>h=~lL !n<6%:^CldI EcYt,SzpqֶʝݘL3?Ji6u<jD$8gіR5 m"cDڵtrOrQLTWI⧪.c ն 187Ƶإ J%pIvftVPqu[:lK|$=}nJߥ%" 3h_ a>wqJ$sLYV}~|q̫\0Ln دC» wqoig##Jmwt8*',`*2;'~<+h%왼syD7ʷN*BF]CUs}sH'?`71>B^vݎKz19=,#QwdҾekoE= &x[Dh% ΂7! X#eq$C7Na;ŋ)PwFhfNAȂ2 9aߜ췀R(i۲ygOx`PzxnlV&_ Nztn=dtCa9UbL$ "yjooV shX03&0&ҡC!*cr2m\?>ѢM[s= rGSNSz͢&@G%J܎1 =T؜ A,A?YE7 kM,L:IN}ቦ}t)| Q1l Lb/v*{+J%YTm/:DŊ7f) kRLU?p9 …;7F JpHc7=f(N5K}/Dd*w26,!J{':j vTW\3f{utoMXmoՅArͤz{D2_YE!h8mH8󃪭L.Hڨ.0^V{<:Sw򮹈&Gé7CtRJ[F_n5]`:茦?Bn@%$awj%b'9!p *H#}.Lqi4+mG!66f5T&`]m9 iWICѻD],ڜ00Pnr׹3"yiޞ>Z/Yw盀ȃά:6f\xen/G7&CbH`Q%-آO'<Ѩ[Ɋ5LC*5Y$4ʳrnl>x |A~Q{\nx~*aSQq/UNn_jebS3VyafiUR2QI$PudD8E^i۟\hte+u\8 )8aN "-xu?=R۞v6 {)TJIִ˞M(qZg Ez_i?d"Q&.٣bBlM P.>9ķ\Wd}[qK3N"},C<)l% ޕz<ﵒu޷0RY@S{X\J+xwa(%6 I 3HḏGcw .uL^g.T4#2CED]WZp:|d-R]w kiIpI-`hiܗwp@x,Bg۾=VIo2bFO^[m=~}фSC1d0ḓ+?(\MN*!uNJ?q 'T`18ay^ٰp@\ lYHuˋYKEw*13c] uLӛm3c 2ȓdc֐ABcZWZ:TDHmZ''՜5:Ө4'42"?wۍ )Mxm8X O" .Q;nKs9 5l$I2<|ŧ)lZ1?m\/,7bi e t9YEseD^o(._&PI&͟ܙ~]L$=3MxrͦJȍKI^J&ZBE'9lNϬyAGT½G4rnŁn0H꥗"9P:~n_8 &EVY5mҌ7sjq #C8Oww]#j/'n(?7rt,smإuBNڐQmp.BU:7oDN C{zk魻V['2*J߃{kE̖=Ċx+W:* t(Xx{V-喑yƭ-bJ[V}!ݮٔMoOzEXkF,;T^ }!|^P28?PV$Qޢ^uԃ0ڏ-`G4iaHgESr:BJCtЅ`T31L,O.u\XCTdF n)TQ*\kXG W~%R͖F+fjUJ!}jEᄑ6lIRp&s "9:ewL];֢z͚U֭֔m̐sjBbKRbQ:0Ue^nF8e6s^:29jlRKY=RP<N]<_0nbN9vCT!ʔRZz 6 8RqbiQ$@2K%gī($z'J[X3Nj(&5lIFʕ"--4kRp lrR"\x AfF6 Cٟ4Jݓ!n !kMi7A1`j]_9pyN GhYbSYo ;0 ;6'x2bOx¶cϦ/Abwg_r|29*E Z7*:vԌ)Q@FHNa&9%U\bMNuzOCaV2k ޾ q \_R?|LӉUV7Źto MFb Hwe:No(&nũ]} hBmOid \[3G9gČ8S ?:m e_bO)5t"cN ¬ePzE{.*I4{rC|I#2Zfw#&n@=HB>+'} =qt4;8ts 6ț9p8r3WFBu}&ֺ:-tиeRbK»ثq$e'I=4t>^{6Lc$`(LE[\;Ж_#5F#i08 U0yYKR!_:ҘrnBv #O~U6jI# \)tSА#:$ą9OLv ?R2Cp"|ob%;pq&y'oJX0\ ߋt1?PM ͼ^To/)gv2#U2 VHN'q =?oP QV^NQy6UXwqt@},TvHW$43SkzrL2U[n$#+ΧT꼞C k5N|,asW!˦N-qK%T!KS'S#p&RVg$&eL|̗ü"{^ 7tSjNEI`)c`>N y륐NƳ"|,ؚ.wؠM|687ELqO؅)Йucu"vzZj1EGҒtPW|luh'뚛4L&H| +ɧNyz9mf+5^p, fk#ž`/yn,E1o4*c.HbqCqGH'=aJ< -y'XӃPݧw xre/"]m{e%h.[|u8Ŕ`{֌J%ԛ ]M,29x ysh='ٍ6c_YRLϹQ߯Z ,G=]8mOu*@%8DIZC4IAp5VU|K]k:&Pň^Urfxs*'ٻ g93C^ ҎJGc EyXYadQ+u+0>_yRF]y6L0_&~qgR"rc}@#vb7-@R]x4 @!K 3O f];zG Ȉ<bg|-q߭\Q e\ٰpZgEIVc4˭0*y} ?H]5U3#Lʲ&*]*l6iU!N'&emě߿W\V#$JnuxLimfr!J 9@©A2":נutOzϓʒ #ތ1w%߆-bT,wӸ_ä Myatz 4 Y$Tk:6P͌-HVإ7d|Ny&e"hy;˒UMgN )Iy`,'Mw &e0YR*H9SQ$ bnjZ^J'Ư3_=eE=9#ϊڅv-N,%0>|ԉg)w4@1̣6-nu D{f57B1HJK^}҄?]͑Ae73́voR/:4( VG:b<P{/g?iU87T]^iqH<ʞufkId,b+kp%t^ay >Tl`1{h$'I-V$iV8{Jj쟯n(Mre)a( خK`nSi UjrpW&ːgٴ}@+";t# 4?1IjMxK_''_wlJٷFۨX9nJ~Q^LQA+ ;.}z?997~D=v ,}߳w 2*In~601LXH׃(Mo'PIKX|d10-A;@^G;<^ú3Ka5nA#OXՠD]: Oe'b' g0j/GטU"p\2LmlʖFDq%eB9^c}"V@t'CG_]3ۣ[&ػr>Q\RŚ73|Y!No(S{/’+L~wH^] T襨_]![dH'F5sdM^'2}?|piOώa=jk.,Q.з+_~wЉ ,T5̣X@TIί0,}.P+36[U66ѽGi}c ;u*$dJW}`XtH9ol-h>GVd;g{f f{Ӿ((ރ2gpeCnpPj$~Ad}8C41:&8pJ!Zk:UHdnan[b,7.p (.@ @#[Xׇ'#Ҟ8륤Qk7 zh,/u8 -B B͊3V6Qjm#fƶEH6CF0S/YDj2x_s! tQl%83Mh9Yu;q1]`K}bZ=MH6a񛂃nv3_lg ;{pBґ/ש#s3qBm2^Sޥde0MF]|~,# 6 8<0< /Hޔ+)S{_WKl^)~R< VQ驴Ʉr\L'}.`KjVN$1dpI&RZd3T%Y./u žh {SApY E*Be3M0)AL9Df}OXb~x6h 8<:Ugz[Ͱ|FzxDd rVae˱QER%D#QR'n N`Y\>]lӯH2o4d"!e^:P;(؛97vGhk_(O^|%q[q䋹ƔGa{SO M 1xd)e=nel"TdJޜdQm6^w-8T2Sg]<'(0' EKܻ[YfʤDI A.()Kվ//5HR={9Pa}grL{v7!zd%Uנou {;)|KaI"VCͼ`Hl}r˄IWߞbe`Ke%P\QP 6{^xtM 翇P -(Zǒm(Q 2 2_sTʀ4'פO* ?G.ke“g fϠ.+T[]D~ 嶀mTŊo*s[Rӥ$IAH%̯flh,p!,F8ճvq$w u~d%z¯UlopER4jG2MUeV@W2R"5jӧO?Ĥn \e\A qSKNiD9 vfx‹[ҍكOЪag1 3{Ktfa)Rʞqp. qQM}"GJݢuy/}xOvkaÆQ<ET;WλR78A}b4MJ"U]H אgTJ$G3>19V#A)8>"k?ua5S\K/ [Ț >{bKAb YَQ#1/)T?WL"*e R/{#M```B՟)r%!,o%KÜ8yq|bý^ 30|^XcB>Bͦό< 2/ۥ;{SO"\tjdP7Rg)gERH| &%װWp=8?y#[*b:ÃD#i??7XVB{$g;X$'R PP72`QUU& aRtQ!r/؏Ic6U|+ uz#=ͅ y&ևJ9׈ǜ-qq_F 2&La+OnȩFpv1 JY y9'h\Eju|G19 'f8be]\-h˂QÜpzE$̚r)綁zQ KaCS׶! 0 h5#[Y'B\s[WκcFY[pctD{_ra\GcbB0=f& -⥉UgWķuAcKݐФn5:#.rS//lJ}[k58-METrLY9ҹ2B[ kYDyU2u(b }8Sv{tqr d̄=PFAJ'2!!EB>NsI5<"hMUv1lI7n´P}{p{p4aT(4ӛ|m:ř 5 ;s>cC5' 7Xc¯ҧUX~4=VgОA}Vn3?{wd+U0 4>&%F;JcC,P_461^H:JL}WZ'YdxTG6&ȏM`sُ.y 8I p;m\/륽8,H$wwvkBܿ кDcᔄ b.ξ;5!Z9׳1B4i0 ^nH%Uim'McsE3$/CUW87!`9Gy%RL=+ac5r'ZW=W3`6VoLn(>% >AEmIv%!*ʅ"AbF&ʼn.%kHAlk5KZXI(6] -5G8+]y'#pn M rRա>#i uGlRnhݟR8@Y}&TK*< 2EuͬgP=کU5ڊ 'CSgei/';pYs .5}̆Daw uX8H4Dz$HTM {8CABuCeV } ՞0Q?cCo=*dX38ynmduf7q0"7BS#h;48 i"jts}|sqV"z݉X3,49#tA[B릛XeW%o^ʪ{Jt!?D?&~aj#dD ',w)#O1_XnfsIu㖒b2GfC~@[__Mb|kೕL_eSJ4r|䣽bx;ۻZccnu (hS Qr 5qq fJ{A \*4u.@=AJT$씎 tY%.Ը`+Lk"iOC6+עD!=mU;+m kyi;}wr~; {̜M}-Y{7& өbLIdAI70=z_h1z(\¯rY;wPMQ62whd{ٍNȖ S9_xld'Cۋ/B2ms8L4jL#U`@i~KsvĹQf(6C:W !ӹUjew0ЌWf \0v[:{(!whݸ}&wixu_nT X]KX[<`4g=J~h4 UbQPF &ӾO@)BhF,J5{ϖikZlIN} Q슗LY v )M<:`q{d_[0sI.U u/zR#^qI@Fkgd.׷L2ҕvj%w"mORNth(Wdr9c=ȭF6vgΝ3W - 44(?Y2җBz%\+Yk=rN6nӱnO5폋9u*t?;B8-DE€_6d 4tʏ:N\$G%: eI E]"Y2Z2]@C'*ʁ%ʍM?}n]]t%ĊM0OŊvÿ9zJT ִqgԶ1^amU-ws6?9&5:K7bP O̫Ju[; @ ]]4,[1uL]bE;\)U=\5َab A=yr;DxQN b'Շ@υFR첞Gj/id$'Izt0~87ו*n`ҧzD|脨q܏\uLUФ[e@gx[ %u| @PrS5EGwosa}>fhG\}6GL|P4p}JOڪ .\2NF} D1-*61H'*8Psm>^#,ueE(ɱ\Dt<9s]롘iPP X.rkc#E%?u|Ayn"e,uXg˶ ˴|m':w髮<ϧ.ѐDxakS3K~DӾRtyFġcu>i .[[KΫcԴWL)nNث`,Hl%2܂քtr{"lC2}lc7ʈz͘m3b#OM"?^[ͧiV`u7z3~-4>Q(.`U#Ӈ )UՓL?ҥBUM۳D>#5I#5: sCje7B'ql%`ΚB!kl:d9z)`>md|7(fl^K o'!]I%cQz"+OYHqLOD }q}[?4͉`SJI-i_iXo^K ީ;+MI|oۺqP{Pe?3z ;)xM$>B{Hs(wH=휳Br}!!K0c`H;rNW!+4"uh%}dr0:4Q7nv}ڮ+OgwXʯ955fդb ?!# 9aݢx@Hcf s'{tV)N}G,dľ2*r؆P[LQu CؾcaWVx;2GZ"[E4CIX92Yj2Ǎ\$\5ƈDf&0qb8SH [ojԐ1H?„}ﱾ0֢}ū\ֱaLa\D`ͤuerK 8r$dV36GZS2FWTb*-$v= =toUuف%\,#`UQߞm6QON\E\M!ѽ ,M-%gᡂ 6} L _#eF/gڂ3ȉVl[^Fn_p0p8Q1ݤ_ lGB#C6!O aw͍@ 2->wKma)I/,N7~ݯ025 X581. Ve5[:8&\I+GHTN*kpq抭Df05&IHVW~h{t+/C7=y $x$_UfԔ[;Wku~{<ͪgurxfdBzdFH\@ f:͙Ta>-Z.VQpz:)&nܔ<\+q"h2 7> gn2m׸M\oLb*mK#|uuI(\䝑]{Eh%_Ն!jyUOCh:J:dڀD:?_9n&yf58C(<PPK~vh1q-v)&Z@nW5=ƣL9Md;-u7}%T6h_Ǡ,1W}Xf5#ޘ7ib hcCq_yIy/[_\OqX(?tӣt龧]Wd>]0O\KHj?uIbcjT[4%Z`db]PXY5T ɈH\sEh /*x'YA>(5 R&Hۘ#zɠߜލ*ҨA^B6Oe i߳2T.BO6qFƅN_˝0mO׹զw2@y\#WC?sGj-ȟZ#ӫA b0{Ciiɮ_7-dz[S)‚OX硐UِvrSJ%T[N^H 't="pBf<"]Ok"N`RyW<VRL1ddu#6c5Ze\W!4o$8 ]UmmëⶶLh.>+2&G7B 40~zk 7(Z@8*Bޫ~u<| 7U*(h`gϷd_+s/ACM:Sb[-`^JcnjZyG 6Ī+ d+d HsˌMh5%E1-ӧr؜w^ZaAЮI *i ,RS-^Ԁnٳ~5]%N0zV%aC##L&J7uqP<'u/:;!LM(<5=,.s'1pZ1JQz9xG'XQ\2_~U$5ѷn:#||q)]@҉_$oza9[ؼɟA$KDHeC-Y=ukHNeGHRNRCpWbޘ[ӂk[:e 6/d2E5yd gY1JQFnnjJrR-^V]g`fˆi#MG YQv`F#깙6z}6yV'˴.0vT HQ=}۟5roieڗ:;rQA8PDg[L%_O Gk㜨=<@r`#Hug8Lw@br[f2;S94@x8eީbJ=$ e4uY c)S^ vn%H#/5#j#Nimm_ōϙrc.:ֺ(SYr@3%ť/q^Ar?56ˤʎ)[0wZ=?TUNZe[>&VψE+I Gp}OW5EZ}8 @ y 㥪w(fz6a'kr^9ɓrE=fUY0D`OP|!Xp~4ا]lqG+U2c*c9}ŇK Kb1M^k˵.5Q~- +1@r^|B 4]D.-FjHnoKLn3S >=ؽ{{֡3l{2@,M5% $7&TGDA^.qV@+&6>hWenUqvԭxio/F Eˇ_ۄk+|˪"g" sib4k]C.jXn)w!+eSP(5Ϣڄ ((@%Q՛9V)x6dڹ)GRss"E]6K`7# KOF|Z -tT1%Z dNj jLr;IҼUX ;yN~[%Q];rҮ6يi8ZZX4e16'~ȗɯ*RqV)d(Tu-UtrjY~CC~ Vv) 8S||9U$P)ILV mPyԬMMQI8Pm2ii- Qx[uz( Y{Lޠo%db3%sLR L_)JO"n\#K H8cojAsv}Fͣ1~>׏p ~99TFiʎ W|0+-Z{$h1z0eNs?)٭m%Ԣr`JAJC1ٹ 2Gj!ul{׍ PWݍb<0KWTϬxmz;kƅ0Ξ>wa;8˴: Lf,Auu6Srtu`Ų. L-6ݾg:JH"O'Fkxpܥ!Q u#ȏX3M|<a FRYxgM7[+hG(v] zOq#03''˩͓-&Ƌ^CqzH*E{Tw*PU$ }Ϫ.{ı̀RO$@y,DZ೾u "ijU(,bKfaJ1"[Ew_h=@5\C AceGe zvjW >owg{iNe MBA*obp ՙUCr`0@P~O*@TK!jimd٫6̝a[&^IFl xƗ^ˁq.c5lj&o˦օ}*\_w#74z$?Z}"! Uvʟ *{ƛKGR=Ohr(MuG<= `w& 3Ƽa,Ԃ bI~$~B sW%˵ C."yZpɇy/yuȢ]>(xv;˱BW_ff]7gPoTW*.5|ѳD4mۼrAe:yXQX/D=g6@"7 GN ﲲ 3/t7a\y׼ngI07~n!fXo]i=@ǼWa+Y M4U^0YrJEMۿ,0"d1s4}Cw<֤%†o"?i!p̥]-B> ҧ)ɚRNMajA'v&<Bz dVf=h߃, NhtK ǓB($$]5E^3URLήe9wF;VTRs<2Nvz~trCD]p#.m?Y"PYy,JJk7"U"Cܚ%۱*XYd?]`q, ''->Ux"260 q f7,$n0tC (u1d:/TK46N׈: S&NX!F DcߣH{\I{,Shi: OuA3}Z[+Uw̄ʎ,x|]òNۊ[D>%Zp1~ɄrzU %B`Y_6+BY9T߬꟣1$,! sj uc`T3Gէ jG#:0lSn`qF2Dtߎr/voFUрR!|ÝF<.M餍 ld;K29(G9ikZoZ?RuppKkx9-nWX4zȓmHRH;Q=(mA k㻛ͫ")Z\ d铆0}gATe*B$ߵyʳZ0a`;~`wԔOBQ :va\OxeȏV>堄+ܿ_Kt+!K<}Nt'vWϮ @+_@Qh:lێM0s^Kqul޺ڃ(?lۺ Zu#콎Jύn_1sJquNGCU˗,s|J-D-|l?8EʢcjhBLZD(uހu-">g0j~NjM?.ykF*AQم5Sރ&>IM9hR*^RW#jH#-R$Jڻ UA1DŽ}dBÒ3w{c#/~H;X5Xbb۽⑭g;8.k`N-7M;7Nbt [?')dGFp Fy}Y,MXeЂBvR{[Gyylklo~%9v2R&wA8.>̭8 !H5^ A wCuӂڼE-XxÑI"+SC9jR@ wkD# a5;*l ˎ@|dZߐx}q#"IQ|~}pQ b罒]2N S[]DoE$ c-+@B:eZ#<1Xjw!$5ӍiLi.gr7΢zN"[{=CwKGZEBꉙ?TY֍xXКE[],̚;mE6^+ڎX=gÓjoωmh[,/f1-Sy` 1?2X/!F^S_,}g\'*/;jHyŸAW [Fn 麨Pּ@` _LNUJ֪Ӡ#e#xUwRCL3~Gt09 0o4Z{xX5@=Z%0Be_f)Ir5`t@PlE IB2…4DNQ^UdO}-wi7G*Qq >&!0l׺13_`x1u.ms˙Q$bˣTo:4>O[)%==@7){`;YtN*7d&~8x} PXE*fjh@{&{}U:8ti-b 8pf'U&!G?A&um=XAOt@[2 NK{RVڼMsPxO XM8¡Q/}e~Q,Ou+ |^C`:,\t^4EMԳSߦ,n4" ϭxr3d3ӨcMzc EJ0kx!OVc8szH aaLPH#Ǯ=9`")c8 y .z%\XKUx]@dc9|93RC2D {hE%s;$|m Jlštb[%ڗ~dYFbSzRvDGa䃆tt9I>FI> 6ј5Z@>@M3~VGnl"-d;AA.I[pMV䆥H:qvw(FDAZ{Zʩק; =o)2>\>#R :7`zTUfuɃ3 D~! 2Bh%#Wm#27m|tAYL.1*v;)S*ZCi.LkN66A7Ñ5"^3ƧecJR] #x+0>liS52*P @1cY*?LvM׺xGf* ;G jS)O r۽ t⤠`TQ.5"3+)QL`2iK#۫oM=r}PovPW/B[ pt 7M@|NҡuZhZҠf׿NLx˟ZaGl/'eFǔXH9zkPL&WEҡU=l}ƪv8H sj2\?UۚU6P0كv*If.yEjfH  *хl 63)5!mD%V"nUh縅 >5`6'ϔ>R,M[:PpzUIͬL?:m9yp# lo *6NE98=bz} } F.Yu0ʗY^t5${e3ۉWi+S!{ |/kO]~ DMW}ԃ S}{QgEcჷga' p 5 &n^o!QQ4|a22Aι5J+Xg&5w$';M)Ϫ~yBֺC1#qE^:k l)&\6ՑR54'f2f(]An[ՖXG5G{Og(*Ij#UQ&1U=\uQq W4*/]|h"@{J'Mϝ#wp2'!YA!6D[4hJFG5݇[ %OCJ6[&7\I] Zsow2%]oL-^}^b'^KpP 28JqᣇUVt~O5C4"2:mI<3*;M󼼠ԗ"6I8,9&_)pAF)X ] dG<<{30 mh&=փ F8*GCCWNvWG [Z !MƚPՒ`hք۠3.6NpRRyF\ ^aF#RmՒ*:zVNo\8K7پ@J~RH"cSq*}65hmЁBف7vG;p mQN7>ىd+?e_\nwK7q`ԇv.^PZս;u\ HBQsU<'1,r|}Bʀ!fsh̏tC fi-.eI!6b<UPPJRB¹ 锪ǿ0+,ΙPbh<") 2Z[`bz\͖9!пmx|]6Q>S9 @Fw#K 20L*91{Pe.ZkY樏C:Jӆ1UinMYf26hybcOP%ýZ%{?bq8I @E6之ڎ1~>퓓˾9ipn /-_,z3}%pnHإwF9A=fm=DM!4V+ H_BT v~ [G~sIq=95ݛ(iO R~,_ڌH/5Je $I\%_{Zv#2o(8R &j& ȀӺ`&i"rU^0Xj _X;(m+K+0F-3^(e҃7Ƚ?]cih*ըΐeq :IyiZ $4 _. Xesj?l0co0W"=|%2!a Vm?8pj'`iM^*X>b/ʓ?*k2R ba~> KTXW}%<n~M4Yg0q߼A,pJU,5#9n&[;l P|OO"IA2|Cfqa^?ǔw\OMh+F[k,);= &BR!NTacQǠ%硰y)8Ռ]@#ÊE*jQIq0`TYHF`lH~Vk–&d'-zDAT{g% }5_AMv M%MP$8^ |׊2Uk>\BH{p/ |QAV`K/l dW(Y!70M`) F|sG悞wZ7A~ޞ$P-eS}uaF3pMU^Wf5GBCjܶn~¹)Eb(uS' ~S>4;Vkc]o ؇vƺ Ao'vsBQrBǾc$-䕩kf$ȡႁXc. ZOZz9btIMTR+>O7@s+4^ cAph^XAliHY :J,Ihiaj>8uU!Vde f_bZǡ^]9$DQXY$S׈/CP.N'}q\'oroi eJ Fҩ{LOKE^zl#Pt^eŧ]A7_D,lCO b66|>f_+0Ɯ6חyf,)r\íʊq+u NWQxFd|!1<žpb~r LE&Iή=dֹ < egK@ˌY{eGf96+w+/WH\-~/Lh[Zd"IDݙЙÃՅu[mά>NV(wr͈lTrL!r0t>C{I[-1̐?8. n5/@lmhQ <>E;z,BQiX}rS7}S9Um[ f%!+׀`ϢA3B!#.l?n.;UaSVcaExn2'"ԋ6 ;Kb=s&*I:z'Jڟ?v1剰S:)z*nn(Oc~ y?UM{Sʩ޼Hj3%my@_"] w+y7!+_^JDPR\r 7d O#P۠Bt4:m5?3B7re+K !" *$I>KmDjg$u$ Q+)J|vKgXDPEjRl}(g%k]͵eKFbD"RZ,ȭȉM:HM6L@l6*PH" ۈ*߻i{@co2ʴn"%˗7΃]0MJD jW6K(!h5k2A3,"Ӛ`K\PP{}L6(8F(pNxK""2*ĬTfeqז@}},i_cVA6ܘ"o$9:"AC3}(Y+%^Qa'O^9[$wnn7Ax6,< G/e\Z ?y2vny@=ܪ6.TVȒ8"BI{˸0j`C !+PyxD ҃ ) ۺpL!X<d+t]#0*勱!gV(cme2Їh/?[:#]".%,<:;v@]k6µj݁[# +3D:I$,wyBB dL]Pai#i@V2nh"fpҊqU}tHS,)*vEZ:Ճ$MhU/mUϮwGBTvY$ؼ3q0Ur}=0ʜ rzLc9@9}l^"/JMs$W\I'!s4ߏ.X]uY_ /1x GBrdc?n} "|znبAXgݴFuwF,w0'RyQp8^c$l(9ҟAu0}M"YDd%r(8Vm,b~_% ]P|&iNuk+|%2(bȠ3'N|#>?aKYQg/fL0׵8gxF]rjl-%wqȧ'<.f~gHרʉ],Z^x|fٻ])Ɲ`'&dSԄ~Q@C$ :E @٢Ui3pzϚjY*ɛhӘUDzdouy'y%YJ˷^,=aO(twTudk} %>8)HI]akaUW9I1MY/@M4_b<'eMHtN2{sZdr3<ؒx2!Ҿ{N*j 8FQЋq)Ua*"2Y&%vtYJZYOL`3 *aL6ۜ lz>-aL|-:vTюW;T[|6oYxL(_f4"w6 F{S-l#``KAyX%HAi"*_$#Nk+CM\tF`Ʊ,YmA4:*1Vu6K,d ˢN (ƣ"=#p䇝6߻q>Ax'e]2|AKOY{zW%]I)Њ܉mt{wq(aae$9qSS]4WGg/IiO5B{UVd`ڥ=~ߟL#\d\ۧ+NqcPbA̰cWszƶN8YMM ʿ JyLCk2@Cd7 o|Jl}[ Mle5TL;D}f-'}|39y%\bXx*YeqXw63}4.ʔs=sx;2Mq-w+PGb##'s#Ƽx`V=dITsm=+iVGNbcZpg_@T&Sͯ7[7JOdI@0 YCW$=u=~E\f8)נ5HF\' bɊYְEP|7Y+MHbƥYej~W3TěxvD}-ȑF_jw^ӤhPpVRÒ"R] ;6;jRfjh'"?E;6T}*G=v Fɜf07J`2URp;>hAZ"ĹA ~iR$})ԶΫMOt$hxKДd';Er@d㖵vwFD\.b,Pi$H xjfB^V11= - }ivb g.\J7szm3=FS==1]?Sq~1YuW(+Gx023ѩOYfAbeÐi)[Uug6R6A{{qZp5 ºj&fѐ0X%9UfY;V~E>9\Htz=xb웏DVDVV'K/u,aBSŜHD/b潅<=h9FeJ =#>BY,zuT"_n޲@lzvAݜMAרo&o/һɜxTЅ /W#{z((woH^9Ls%20OA>~7׽æc2rb)Umr7fe[Ju-/S_X??NДh7"ѷKdGfW4(#ض*.X*i[JL+i$۠fN2&X(rm& &lcwNA* |#5|N]z97faמ蚢}L/ I dsiͲdkkɒ\}\3V!X䚉 AE5!q~]Eh$% sMNq5C$.!7Lf g^ >d>ćmk_.l΅-'L ,plLeD tGV3KE)QC쒟:Ԥ3ièUh4!;piIᕐ0Gey^6{Ud"l?}F#SvC4blc-kO0- ZHc Rc)lB^^L.E'8i"D\x K 5dDj=)g!si>RخD䆄D[iEJ. -;cFd4=ݍЋl⹓u)i '~mJJvW@X5 :Q a"Vā&X !{mtR4:"=Wi@GYfID!)tɴ^S` S#H&!) dq -B?J%OpgpJKQT9 `Hr3R wԂ@3WUԌ 76"!ȁ&f},ʪזqV;$GE`]'~OSڪfXj*)$u&ò8ZCb-/W?LdQ/_G#$xۘeSoEכ?Έ:I'qJM%YiƊ[; =ŵgJ6LD haAƝ),m,=ѦMb!1k0n}h:zTyu8,Urhjv~nJV5֞zA,8Z|V^$YV_B9} G.:^Cs-\,=h)T2p$LN*[#weJ:tmRE]d=9YČ]ҩ4)vVHIB1¹e9ìD}QݝzEIЅ^ŧ'\Qpw?X"\#p5= MKU' k%{uI]^& wU6oj4Ә.ut~yh}Q7k6R\4Xr=bfu)j`x%̔8#L4 t]oFi^WbeO<9jIlW5.Z"5.(=oTTӔzӜT5>>GJg.oku3kc=&:s![*dt8x/,e_n̈́ ]Cn]CAբZ1ϻ!8N%tmf ۜ@s=j 2G&%iB%ޟZK޳l̑%)hޛkK]#z{ICY{]cՕ .9H#]),oW`)>ڝAmF|k{Y[ZX׈ &u͊ :eɢC/W; /Ol}82Q"$,+nd`u#t4 BU8!qΐa#\h` #>RvW/\7cUX_Ъ| m Wuݚ"ST!>$UӥM{m:d nA@$Xf/n++n7at@` иГ Ls616;Qq5C R 0=\m~vKVAù_:؏WMS\N Bc=y]3%LMB aEz~6Te6 wNV)%ƉƸVjdiLU޷.+(pDDc+}sO=iȼgASnr""z`GxzLQh y}Qhk[zDegjͣ> bTH=xFQ%iCJ[mƏVcc:=¿OQMTig;QȈ< o7ͯûZ ]?7 頑zeCSyB=튑祕(/fdL.n25cwZ4x.KZOQh N3Et7XQ$|vJTfYkZ`<vi|zA7Г.CtbC oclVӕ'+N,BDfj&y>]X`m`V7;pxg#5vXio-O4ld4&Qߤ漁|s|b8bfO:26[&T)]֗wߓ؜Nxw? O?&yzjxpl WOcǩa]W;Q2o,8 J\ļ;p Il̋T(0PAXbD%m`*ςYxgJH/Pj21!I.)wmMm*r xtޖ"4IIE5/2kaxbs|CM*(j85M#^2No;Mz/D)2PH*̕cvx ikPwW\0|x'(xS!|݈r2~ 'ؓ7[bМ'!CUE2TҶr-MjU/æ`S37A 5AɗxQ7RAgZ5Z),V8{4:00pfS=caˁ {gFOq_?;[g9v^*މ aO3ƚ  #3Hd@ d7Nz]@큢O~`f!'FDH40ߜ ,^:\}vn ;m)CeVIF~\/ι4|&Du&VҀ`\DT{p|d1q~ekb[>Gp~T{L^-G޾r3b9>bE_$ž;c"}Up[YF'| ʹ5Z 5>'Ų5hu.bvW36 YҎ0С^r..k:> R p$?|f0:TDQtUz^s`\Q#;~bJMÅD^ΫsЖ4t1SYX!)je;!!P@gqs(}!9AoiS9~Pذ0a)JyKm 劣d!Fl6F}6K8}vW%u>sa(YFCdIe(,e7BKRYX)bLH \ivm=zSmjxJcecd$ҵQT_H5E!%L|Hq{^ fF͠V\=W{PJj:SBDuZ1Ԣ{F"ۭC9KH ny$ͻ`M@5C[5l=8j&@hUa?o5U`ˠ+L^'̭ mslм(]!c {ChCM!&="uc`*$N\I@2^Urї!DL.euO(&!C{$w$Z'qᘺ+C1ڔNZqFfh\3|4qrONP`#E" p٬AsZU'p#‡Ew08*#E8萸VO-s"cgK 46LK``> '4ۂNoDE*%y3r5m~+ jjA7bz1wEb^=$oB0~Qsj k\ՅgqUbHJ,QP :͐S-#-HDn{$tqYn= cu;HMa k+h4 W1Ƨڂ*QYA壳uiFe_$A`ŝ8x7<[F/qȴ҂1Rz!.óAT U,Ƴ 6R&s `wevD]5ɜ=2Cj#D M4>&f؊eЧSPyHא@6PḳXW-ߪTM!mLw iHއ+f(hPF*~{#6qpܗ+t/Ma5OP/u#GIǒX4ǬT#H@Ts^9`QrV9 zJKL#jE<8$*$R0R.XD`sJ('g} ͟rd qhҝ=?)%ĸn]d|&fqhELy~bT;oW[ `8dt6qS˩JDH~uX;i6Txe7$-=gacfZLΚ:/ ܾ=%("FO]EhO'*0eS88Jo Į]DG$h,8M:X]EBiEQ^]wW ǡPN# fm0:zHy󬈏Ks^דTz/lP58U&\0$B}_AFǴeҸXW?IH{ 'יEѕB 'f!ivY)ہ KVS,~zh|gDHium))@DՐ 5pJ-y[[k0|`|)LtALr$*<)U:1IVBǗ|rnzQ{N >U qyVz1{\w1<{[=*՞tђ;)-0ǚVV=C"biJ!2i}΁d<ǫHd$ Ú,Xػp " Y+Yӛ؁ɱS$`A!O_5OW9 gfSI.gocT7S33A4P}3;*]䈛'OaXi/wQ]{ $ ݨE<TC0AJ%;|xo}[ۋNQ\R4pu)"O_>duO|'OҲVGX9V}6 &#s'wiEP`!1]YhCC #uF-PQ %usiTV55&MIF'`/ш +Yxc&T)aРH(6,ݱ k0/4*f03Nc( aOc([Rr>HݡTP% 5~F)T\~qWq =76$i(lKAR)sņF6;2+w5ٮ1>iXBA+nT< og 9|_ Z˟VZ`i7h ~$8񳦧eȭb^g7v.TUܥ]&"өĊbL1f4fq$_Ꜭ,-YI* |݅ WFɴ% _yINbK :``X+ƒĜIUXOjlQnfxi ]ü^LnWaMCt)g4oQs! 9 g.dBdՉDl/FSKnF<M)RpGe!<Fs_L  7T˙H[lFloL&Nv~iR'׿"=W*ߌERff&~㗻{*+ M++YWFLmi!0:A}<%;.U lhd%7>RiĀx`QNj<h R#- 8M ԃ-Z*fTadpHu}}!puGqzٔʡ$t/DlɟVӳf~ѭ2҄'v]$G'ubcfC"C91{̏j{ry*u; )?eqDqIA_[V [K%퇔1y]YA@ vc0W;0zEVsvvwY1dQMm} 6©EOkb"͢ HV1_WvY?Cly*=e* zegee+OZ|`KѴ"^?kL'$Hf5@2;Բi]f*Id;P"e"Ev!QCxM_s-S9oo|fgq^E;(Dr'*Ќy9!]T 3!wIkDj UƟ9Yv ϏMM!|~Rn ҟR{/A}ճyĜ&uo -.I펝B Doz2!*քˆa钘 *NP\z%gv y|eRK[ߤavTϋ=}xF<7[WH9zc7lS'tMS2|:vT]L$Pf"G 5$Sfkqv;Ko0`bDo}SeU2X_UM>j}x5M%䤏$칳6 ;LK RO؍f@kI{| }\cFJC̲ eg0sA}&〈_GA Wu/4rFW[g^7$Qq68)|h]cML"N̳Dpk3o'fc, `?^l#<0:#VRA?-P)$ +j<;` Vl2E*ы; 5d|D (I̥0GQ^PG0#W\_@斢_ˈ)=[ YǷ?U7'Oiw4 BAɽ/y$O8/:ăKe{N ?8@?xgᄟE"'jӳ4yHd1Ko 1J5Y~׬tAY-td܍#/- 3S3lK5iPqk}D,m[qWtVB#JblKb?m"y˅D^Y9I.ROgW#GWjݹ -SreQ)@0A=b~DnPptJ$,^ @]\۹JҵqfII^oDj6 _J;21ɓfщCm쟵cU.`毎['C~Ul=+i{Åt)r_&u2bZڵÌdͬnGhނjj|8fXJ7TA.Q\b )ȇN>C lGZ̐ߞVcr/I |ciF1n\9;IĽ! =8f3Sz]5HJZbh9OVbPRqyKVĎNSO&.~@ )5aScz"~enݺw=sdɛU^N V,h*Mykv椨e.|ƺ= s>J;A'DɵȪJKB{oV1FZ{2g<"_yy0t΁&DLh)aVa"4!F_.ػ [m Q `f xcNM ILbhLO Dm?{:?M- nxyà֞&褺H#BKY,^"#_'.1>q3ߐϳ;9s얌)J9ڰ~D{EqRs>/:> j*J,~ 8] ʧ~' r?i>B|t'ByHN޳Fg+o0o;jU`T:ddgFt9@z|*P85%{$s}zuq)>q#0~nf=^ E\>0.u=0X%?Gvc<мZ1X^it6f}%Q1CW>N/m0XG+QB 7-۬=dYD1Z9Z*E0@CY&04`A׎H"yG sxi 1}d{%ͪAz*}DPM7C.R#!{^ a )NTI!+N0Z,&x_e= P:|)ڞb$djZubaCFD ?۩I@˶ON~C!O-`i݄ǨFj\15vE.jZT^w@!u\11uDUC=aB@ZlW$~`jȸ!76ػH@|\2D4dzd-{[U6 ~ȳ\h/|mѿ"ܼL/K2ȴ8zcaC7!7{qR*߶@ߠObJC eZ;SpuUe<3"p¥hiT.%`kˑ(fz12$K6gv/ rEn}btN].P?p$jnh2[X䡁- p; $-(϶])ɔ4⻓,oAO6XmrQZxiL"lkQcպo/y LJ6}5D h[񽝭yem7ݑC#2`ly{A20,c, ,O#[ JD+ /H@}[+I)H'B0E9Zƥ{| n$ܣ`Ug_ͩ A4y+#_]^Izk 2nw#{q۬xL|f_WIs#~֫36P(Nw7E73q^ZHEi! msbѷ1|o!B9 *VOd/g*e/ )R4Se gTxI’T},RccMbOdWΘ6{#m:M쳵,y9W(UI}:!Y h S`qӽVbz3|_fqD‚ٙJֆ`3DndYcRm&%^+{ilC:6eZwd^vyzlIˠ0(BݦiDؕv6(LfTY5{OA\`gp+ĠM6ɏik!+_WȊ'n;tH62p7I'| ֮r=$֨644ϧ{2%"rG^1s>xXlSCbݨ& D\Vhʻ \.-|, ) VqK#Mm7TbܘQwk/A c0 +.?KQ'pt?f tuJņ7h~IR'hن{{WVXVއۈ=^`xBD i) h^'+mK|2bL)65V[YpS/Gzo!!Y cy R߇Ns̷G^Hmj T"22LV64NΗ4*׻`keNDC֩h 1hJlcq 0*+ _YtjF =/p fM[T!6g^8<y {&S+l4{a w$o#C/;Z3_s*WW{Kn 6F%GB?ZFr.A>KEݽ<2Ӡ ϓ(^~,c"(8;a[;H+Sҋ1o/Z H3THr&Q{҂QITPAtO*nK6OʾF&>k*,foĥ'HG7*'-NUv6&fg+uk:R2> gDtҼ!vvT![%ͅhWRֵR.$6BoϣWWb9bF`u7b&7vhHºmi_I5#pR=*ْǰkG` */ |~ݼN9ƟR囵n[$+4Z+C{0yj6ˡTl]:e;G.'&ƿҮFu\Nxț`1Q`_B $QC+W>Hex|yo6'xzai~6| `Q[fpι1J~z0S@&$S(N3Vo mCUe1gbM=22BqWmqrhֶ>)H<ć1r8* E020ir*aX :IY*YWUث7T\6:`WrVrlðd_ C.ZyuJ b0inDnuXa1 Q;Ec`yRub|x<ʞgRCd\ r&CxQ>*p!(]4jaQj_vug~ΜXS ^ȴSV5%kDQAh%;E5'iʝ&1Z^αSSe<''jZkc"FI} B`6ucsh C06XEEK9 dIw\[^m՚*tieFtL'S r0=ܠh= %T,zngM9!5R~ !Q̢v~>rCjƬͷqskgCp U_WNТU^It,%WX%o|Pr!,$[,@9cNl|u2i~XHᥕL\ 6q AUƽQuE){Q[ {33.QBZdMG4$.嗮urŠ\DCsWxjGf _PAo9=gˈhNv@bpm[z)plYY(&*G]iatJɈ楒g,LynAXn1a}w`EL}+>-U% 'ځ$HQHIq2gU"@r#݌&ro.<9Ьma=#i2z(;.]'\9VⲄ1E3BۭxPЎYueć|ު7ƀ\ع}nF9k(vro.C)jӅ73dXt<IpTYg`9B_w\{EOca ްZEN(6rHXE>L-lEI),|x6|MYWzW}/;bӡKi@yy1wG  {.#@F_Uڗ2M;_ 5#D%Nϗ<܉OY,p:VCsJqƒ$03bݎޞmzVvԂ+n;q9\ڟ{5`H06:ɔ}dI" רPא?[~Y>> 5Ŵ1kx>3kj׽** s{tWߍ@n0Ɉj ^=KjvЄkND^>7Na<ܡx>co/x'4_W"[ӈ;/?3JmL\\Z S\Jtݰ1uQ\7>:nVgά2x`c:Cp2f;oh c&ɥPSt=24CY(la|Nؒljֿ?a# ȹH!VZX>,d>7#k ž{ }VLQiYAD'ӷio#7HV‘0~#1&EBlV R`A W]8bQ~*~eIjf.w/Y8;˨5/dmFқh7b@5p9|Fid0>C3$  nOoW?SbJ'Rpݎb3 }T`+ x)^bUѱ湖_,$PuESRsȮ̭&1T1ՄfHZYv4'w&;r^W\# R%;B7e2hү9R㱄(P>F-5P d')R#ib)3 Yĵ"!o= 8C2F]n(Ax9ӏ>l^-{5O[+giO7zv P epRLZd &UN˦shH\4:m#\˔ljS1Aykmۚ )XzD\1X}?fǞd|8sBXk 8 84{[73cA r5A7 !BzvIijP mZʍ"%ˍ#C+j]|Ծ3XmMjXCqOcO=F0d`*d?p g"j>ߕ܂ ?vb1v[Z{Kz`rSLݥfhPI IW\!MyryW?~=s 8m*cd_H*=q8Ad\ƥva,[2w5:\RsYeē#r3ʡc BN j<$6C5i]2}e{_FGure,s dy’BXb>o;5MCOj-KpՓBho92B^`ir1Kڽ`mluޓ(W]GBXftٹN oMpbL"=8^#,b?u}qtp,$q 0= Τ'aؘۂ%{!m*/p,QRG(2 u'! $Vlύc@Nd4pUkb{y.XX=A~ߝA?A:xCp&}Ʈ%q3#Sg~^ U9Z$HO;GJ{>[Qљk%_Fd3-biok+{ vz}lcjwxLO`fq:6`~Z뗕:@aU7ᓴ-"NxAEGL[t$՜nQ 1`y{'f+ _UEW"{sXFA@o%l֛G;D_B6SiL*XA;s$7a$1+S’XL =e6s[ }cʅ@ A%/wdDQA]uW KVi!7!$yn-:bs\J/Ҏ.Ǡ3PBؓ0s+6k1 ͔Ct$x,~Pt;q`1 b59侘̟L}] v}ߜk& R#TȩO#/T)Z+83VT۝rz7T *G3aJn֍h! `3QKATp'# ϧ8oE1xH|u.Ѳ3l G?̎*cY:{fْ Z)̩]d$z0x+r^QÕoy]!GW$QZp'O(4Mde1qmt=2bAa4V%GM Ĵ; .h{Df&e?4"_S#A;N142z#9x~"ΔLb>bS8+O pU=*O RBmNeg%Su@ЍWBi ꜘGeюM«T9~wzc;7Vdf"byk>[ Q3(X㺛x[`T;-2QFlڣ `\.ϖEhЖ/A UϪ_%|Z=oΖ-ٌ$6|j__feC9>Єyw'K'ӳP.9Z#TܿS~16r"ErN릖ɱబ_}Mw-9t6G͡Ss"b. d[%SQ6?_ F[S祐c'(!NN^E"a_3Mv8tN푳3nd(q baXb11=:Fɷ)&>i](G_PX"3^ ʘ4,姷xiֿо'ӞVi©[ s%K4&|"B _8l[+.`'+k;qB 9yq-(Ý悊w0tq?`z†;03nXQYѭ[ƞƐ}fK-<6Y({fɷ[H8}@qtx<<OqO ^~<+:z ,+R/ԡ %ɓ͟}#T a6/giz<[rtNdp#hKG?h*NJq( 6Q xU^MP)懸(uHi&U@ﺶu韂;~Z+^Wʫ`8:Y{ڧ!2(@֨E ah "=SBT¤1!?Q dN#c3owrpƯW+xJ-YX8Ij1FlH͗y8N:㴴m{<%^h L"E˜B[XJn%܄Zg*E o.m: gkCYah2Y<\v>gعzJ3epc)?0i 8׍)2 K,] )Q9B{$?9(2Cҹ}%8 ZG1 _RoEҗk`mY P8YT~M+ٸi dJz8Վ;p|.:5-9-2wj,cM/Enmn+t,jUzJiodap޴~;aЉrQEplQ܅e:^Е@:>*b"d_~A ZD,8ޠ>IzAs J╎b" 1 _7֩"4W~ #ߨө0'.^g]y(XsJ }ۂ ""@=W+`YktNjX=MgjY AG;OSX*'ao\5ZK z)Dh;'w׉ʨ/MN^MCPjjC, DW+tO,1I##v%V;ϡyk҉Ou?WBXn^4vmDj|x01}a%)\>UJ|`k%Dͦ΂뻨K~viɝ=E> xh`7Q|lO02`Rݻ-Z?^ k ;ޙK@@}$ŜH4ָډn]Y2bqY<2J-m|bEʲKLW.7kő~ZCzazGM cnUÂx5_ŵ?\ mp|R^o`qg/0 ڒC9mǷrEikU 6 䈨kn!7 hf]9yy=IK2 G/\d#V4R)S& S(i0B×߀O5`%Y89v0$X#2,+=Gj -#wWbR`X1Zy C*Npe2.J u臞U&R%覒qMpS)QUYXPa@a}Z43a 2z\$΁ۆ +S-[Q\ 8le%srdYvsmUO/θAwWg9c.Wjay52XŢ'|DZڝz CZC, v,_08-Vm@Fm0Bjg܅\J9`WH_Dۗ:0iVo)0L` 2gHFYBw~sīVVɞFr'-1B_]yƤOy E VvoN?!=)N$ҦNXF.J5TnZNg ^ЪBcڳ{የqр*r@"6)hbC!T bc{/Zq E[jdV2>L!6^*TӈE:968VVӬn=,)f'֌R}[IXhH hAuun#,1CI*pqJ'#2{t 3$vO8 1{Tjŕ&M^= ӈ ի"`y%cD}4!Yd V rq?/2QO̳#` wKϖb.b5n!fv_h_ZB!Kѧ\ۮRoa#G0h%|U@7nE}5;'}F,⛟wFU b;y"bCi2j {'LeIz|vEZv=Yz<?&KD"+Bo}]GՆL ,&{8.UvƜ[J>xE%? *ZݫS]zT^gk/gl]DejQjbHDՕ|z~.[ԅn&g,u]t\0(p~BY%Fo4tD;O:Sʻp] I?$\]W4N.f(Tɲ#ʫX cz__ܸKm&qDC _[V3OR=}x9 m:_2<֥Hf8.bIVz<]=!pAQIf ϲy=k?%aH 26ShtG?YHTAY_ҐhtЂ"t<~t6,DlRRXǦsً2&ESvG}?/a2 W@SZWUyf뱭^ ʂOUU._a[]s#u8͹$%ɠ/sJDANدE^Ξ:&+J帥ۉcaYOY%0olPl'5(YggFE( +0\d/(R bQ5S7k.8\us<=)2I]NP)^''~ܑfYrfLJ}Gb9x"×e>*ZTwzo!n?A]­y'|I`p> e t':<M3lxB-{=IX||SGI8F.XA3mE5`J.eQ̎֜A:9 nBp m;<=qc#^-_"~/QX4?rCqEߝ єE%F\פG;<+cT 1R?5&R_4iӡՔRA:vNID2ݵb*7MU+vVY8lJ&%e2vXYk2=>[9L"@fԽg FT"NJ@RM6ZnыKĘ(P {ĕdG,;H!~e)3Zjf ňi^5\TNW1J,Bgf.XRxQgASPyNEMv@YDGNė: y_c_#?T8M͠A X~s9d{SFRkJhHerXTvBk3vFc S8>Rc6 O+aNI~ uYn~!ʣj"9n'w,E4࣬3=)fN5VRQR)II $Dm}L(EaU ;@"(sg`S1ǒ@<@xMN#6le\>W\B?|U#`~vB9IM7^Z/4ߙ,YtcQ?Skh:ְsGP@Z$qav߳ߡo ?r7j[̈́]L ̍K,KL麑 j4^Ef'֪Ŀ**Z 6;wKR1eODÓM3[ BW%]MOqJ̜-.r"!s*D"7;)؆( Cjɥ-eQtX0maE10q! `ھ7 X\{'pJL ^{?4p{R]$zTw8/AMl mL\xG}G"jW^}NUu]ݕP+? .{-Q+gco C9OovۙOtאtx3#p7M>bAVMyWq;o+d87&72AcqG"øX3}xfCP{\@91dmPq&[ȇ4|BfKC4<zf.bggzN·;[:1BM~dN#ӄ\XȰJDȞӝ+Y$$Gg%J%mg ,)Ɂ3{v%].8=K;@D[qS5k{9@CUJ`/EOG#NaW$eB8W,TFe{ ,60/ޗڔvH{6ܖ Zw 7quOivZ|_L޹]bq{Rf/NChnj+hMx\wCebf%[%ڦsGE*dISi3ݞ;S&<ݯ<u1X< U1cz+Y*ny<`ӒMqNRϑ%3Kηxd~{=v<9[lCg(ȼc2]Fe~?#J\pۖ$M}~i!Md k¦V@E|}a\=Od:7S ZVWæls!Es,oH6*|KuF.+`,%rz8Sk9 )"ۏIc$7$)b6:=K?LCLk< ˭ioJ.뿛|i6&Εۂ~G1$3.El{E} f4ͧjc i1hQ+a,yQێT; (r?NW}5<ՓYr4wA_Ce何5L[!6aBt&+_r化k@ownd k= 0N3+ HPH>:B}1|`6?/=Us WAePyb؛'r@'3dN;/-?RyPXͫcɿb[nGF er.̚G&Y9׮+|Jk7@GvYͽ_OfeW>5rHvSM nɛPqq;I+}|YlZ6:k%.όkK5b]+9=Mu9HB Cф!(L88_ٌŻd68À([7Uشݢ><{r6(EѨoRAf0AnPg+Quv]Hm#٠h7Q7b!\P#Rr!ۥ]~2|`w̺",jO|WoiX!i;܀gR HN5 eOӴ[& <nw3. -feBl 'fm><a4͑^ A 2WBF7Cy p,/jG׮zG'2B0 ʀL-nQʃVdsӕ!x9)On k-;RAKTz14R`^ (c/@*sZ 8"28'8,BCS,EI;dp틄ɄRfm 'хUy8]bm a;_\֯b>|(|KA\øQ8w%2'VEӈUek=A.kgKB|{^e}C (\P`Dž9HyA}rh*vb^Qh"R<[+i\g}%c U7elRVF$-[n/2ΎFݦq`jr6*/paSykD㿴LdTs,4Mfs**1W>d"~A6" PNL{>or;Ml+&,?L?ſ]&X?N>7a5 ʱv1J2Y|>ۆ ge]>\/&},Lͯ)P=HXuEwߛYBNk~Yz p?$$%OdsjcڏQ4 [k ~?iK zAԤ|D |c=DU}L%8_sW~FHd̞^ktF|*ԒNVTo+183rx%_\YUAAr UǴVuZxc7qnJj6}7 OpԠ]SqC#> (51diGIxca:Eϓ{WYenwd_&ph KeN&#"PĴW"Hb O) 1tH@bU_YXK N XHSk4n>ZZa`.KwDas՛RfL}KҖN5d\ + !u`$La ݚ7 bwCubCL5#j"|xnSbgmNb ׄn"q2gϔiX|ш<&N2t(k #*D36) v~fHns~岇\2dS?deyFBSVFBT:s;'ZԴʁaD 5̀rܭ`a[RF 8n0 ePĪV5ǂ<,`rM ?m%\I3$+;%紵ͫi6a7&Q =wn X~iƆ$JH4^D1Jn1U/ Uj|jջ8Z`q^M/$^!C (-9U0ؓ  i+: jmA< D?O OZ@*̺ʩR.~^UM4=ԹCz.xPKCȲzqx%;Cf#Gg:B7)]w#Af1x,ﭢ4't%*#mPpݼA bj}<7nlOzB F_ʊ]&KGbI(,+0)Ef83mΡ1>Vs8Mq1_lʳ&Ev _]Q_yOI8s~/zmIu-ϭY;QqD ik:y.f0^O: ٣3^7Zj}'29\/Z Btm?%`miwcFc32m4@U:R[u{S*~^=Nxj$ " \UnO xAE@20l.&$?{ұ@y+m\hn @+{EIfB` wHྚPd2+.&űHqzvRSH[k"^iP~ht0xi'Gs(v 3qSn^$Z& 5۫?ZiTj2V1IlÚ/oQ ` ]ľ <"yզ6ocf/sXqIL,U('zL>3(y;"{(ûwUp^!@o Ù^qtØhqj-#HsyuϨH$L8r5 I;] Y+OWÖk  ם [5<͵/UZr(SRx%8=n/KR7 rbIcN>_5z+ ,UyAH胻, NT߬-n83eG6L K)BrDARVJC` Yf,*"#rr|I{c4zX A7cvbxeCƗ]>mnz[?R~bmt>ۉ]={l+" 'lh~t+8r]Pn !OrsP#G=y[|[K{5$\7!L矤Y!?Orvb[FL(~z/` ;ܤ-ai{-īe^cH%w0Qbqf?`]ɨUS <{I#tr񹯽¨K5d~O#,U6k{v.3DhRVz!fQm>U~a߇vT7_wd>Sx8-Is 3#g WpYRz HQRKK&gCȆ ^`d GLd4+*` = '>d~o¾!@P|$ xbx؂H$KSE3p1V"9|⮂o7)5U?\ /t퓃،({?;eŠ"y'>]ٻ漿ĩygPWq<0<MvH)ARw'R1n家Q,~pg``!@ɂkVt3j6QlPrtdڅZf UN7[Ἶ̮;#>G;-vϳA9nN9 RmA;9 Qus|6Ÿ  iH,zUុJ 8̙| ;~C e'U@2&*b%erZhSxji2V_ > 3. z__t~pA>rAs_"IloeJ[|19Uې =ȥRI԰#+ۖ'(k͊o6'3y=/N}y=hI7@sw,vTSXt{N Z93@v99.BHfH4.IM=`ł l'hrGՅ&^s!yγt˜+@zB68hR>9m+#x E2aTINc}YX$}n9:!fNaLYqpa35݃k"^ 㗊[ɋ^"DxL a{=I @ll.pnEfZZz$# -b7PBrzN[l4D|KS\8V5kD^!LQfx>V B Mkl(ÜmtVR.H#c?zfÑC#{qmDW5H ~¬!8W;B\~BEВWFvl#1oP 5Wޒܢ:M:[yytd*fv.ӹ.WnS;GEJE8]DΝ9"KGfd|`5de_~s.hyIډTKJ1T _uS؝,ObI3pۃ( C& kBZS=L3X dU鐅CٙH8%8F*tuj F&jޮ_;qK+|<;hP,*5k(n BtߴoIsg5kYy"o6ʵLJ :r*-AҕZEeib; 'E{?;FӘxAwipACh% v@Ă.sk4I͠(kITIr6xmeNhdL" 7Vjo#AwSrNE*#R `ie^KP>ʠmnǃ4$H'hX2}Ai׶6⡚Γo9`|\ V%j Q͐'q*MqCR&aB[Yt%nhi/n?y!b,j=,eZcaM8eIKM 6)1s16T_Q 7h=3bT |lFi$REð;0q ]=| @BLv#n|ȧBf(K߆&x0!K-klƬq3XUXųI VNs8^ tfi(@K5: qS$z~4X\-qV5똵[y*XRYr-YqhEɖfL|VxtnS;EϘGrNNiBzZ+ g;aK=U-i FTxHEr8iq8Yo`HWr s>tfk-sHH^z3>&9@s| gph9K!4t f :!{J]\{lsϡ ĭ. |ْ˯4ˡ*E:*cv&h0'; _؈Ri/'U.q7,$=#?^Ң,I9YcDG!'s.=F+յ%9oVM?onϻ3;zRJ D+nꫢԡxѡ@m7'm3-%|})5h'^26/N0K0JokH0;l@=mm!v6V|{FRZOG‡Jh֋O <yqo=i{,Z-zmihϽ يIجJ%ٙa7dR|Dƅ&@6I=edAVx 63$CM`,42X YI֢Nh?M @?!JǂiݸYOA/-\T>D}WL/SWxI9u|էWC4FZ$ !R aЪᦃK(+nRQz1\9'98t}B!# `Pz͜Y$>GZ"q+)l>x3C9Han~ymUJeln1r_)Ai"~[IlƕE[DZvp7H0[78ao iw;P5kgQ?Q] zղ~} v|z>[/ؼ+hqOm]hw_Y |#sl:$AYε$H>~: m=FPSVTMU0 j32fXhy>x!$VZ΀xWb-osNyN3E!}H pZvsҤ,[fV74GG$R"OS s}r;OۑEK1+) |Y^ hr3*NYAE9zlWl=ٛ$#dxJL}z;D|7skoX^9cWa:I _,h5Tˈ]+3M@R$i Nˑ ]ǘ{{.+MKr6yDܕ¤J^)0jVj5n;}X\`l?<- `V[YKOEL\+D0|>;ڐ),ҤRi97^+ZH2upb|?LLZ-n+$#dCF|Yq U5f̒ok{L052QH[u*̤[;T;ˈl$uę+^4ܲq,UMēYW9^T䏄91Be07jfn?7@cBywuNT=y:g)cM=^NfЀI*tv'o;)󸑲0l}eO) D<ϣDHW3PT7.}[]~ W^38GˆV{hKTN= }Ѹ~񦧁fB'O?7QKm<)EY*2usL`V|ƶuT&*R ~7:2i] 0Lӣnd0|KM" 9/@\kXL 6N CԏE0_Q_Զi5c03M%@" ]kg:fs A+$Ǯ >s9ij[:5dC˭+s:ō!~@pգū'LcJ. Ia#E-TDCR+ݎc.^cju5)_މm#mG/N~ͥ;$a'YNƋpaP`K>T Xo$Dn(N~b2 +%p'#(]"35!ڜĎ< [BijzG8up4CaϹߗ;oM*ҘjjN+X >eD/؁* .l8iR,ZǮge[OgJA'B<>!8R{ xCH) . ۞@2+*`j6=cCDa;5K'8(uI j}(Fs.z?W=k5k.q3nz`5/tQo0{͹ǵ=l[a3|<Rv퉝sU6jq խIA 6i*tjBtKS2Nc%ܠVri1ZYSLi2M( mCbl&۠p e܁e<_VG]pr%jD,4u HiȩQn# y)\J*2 1lfi 9iF!EB=c3>܆iXW;N&Dsԉ[ 9ο!13O][ ͇U֝l4)5p &[>EʇjlߡD 0otgg8DwB\{WSu@MGh54ɜH,t{puhjd=_<ᵖ};yz$fl޹]e8,+U|QVyh ONvM/9dP>i8ƳL^#7G,Y_umiXi.C1 X ;BXĤwO #Jߘf2W>QloK7]_z}+yl!/:MῩ!֔=:^( 0 w]KYqsY~6"cH2j%lơbpn¦EvYC1aFu t&sTiV_MDQ?RFo/X@Qv$/%$$%ϟAl Dx9`#.m:$7ɮ/KG{KIB]Yzd!GMWG; !<a7[Ö_~錖F:IgZ`1}{__UF ZqryZhI#qځOKGa~ ԰kja6۲ yF>pn;i $tj]m_&ENdkO^=Bs3*2Abɠפ1U-?ȵޅGrh^YK4 W8mB?c3iDLv>V]hVqŰ<^QLU:GZ Yĉcnܕ#78xXYg,,&p3l|kI NVi0pzEDj9䉢J ȻwDtw% {at¹`*N-s||A30Gx8dEF z_J9%,~ 9CX#f3a1hZf6 ] (zFKj\ޕ6KL:W| Q\+^b]TEV]՟ Ļ4?oɕ/M/TdNM faqm!֩:$#;*L?6i0J&\b@4viSA)2/;QT+&]J!F>R>$cR39c`MCCszej:udahd[6G΅muDCbFDW7~V:WJwy:C FuԌVY_h"|4 KLϯP1Sd4R=ψsNu+X^;8/"ň%;KB]r"7N^m ExYQf^q#ky\E/& IIruǃ(S* ̞n|1O$9"tīp$6p!#diY4 $(ӧw x+ZT%-'P>E 1J&8s✑$^'E򏛟BTyE"`+S%] =Op&Cm1l+mƑd'(یGK2Q~=:g+HeTp5 <]iޔ!҉f}?*z.ۮAPGU($lYïr}k3tY!>u=vy[zͅZnxYW!Eò凔?q,[Gٵp?4Eչ_#p G! mAilzڟbNcAlf<|!^Db0W&N}&WH׆fg9kC.>f{.N] '![iO;Yi2\6x5 ϲ)βYXٮϩl|#^PU>Q2 Y*|~(KFE3)D K$7y)P8-݇NT`XM L:wqnua v|xa0|4,oy@ԧ7KM gOg[h@mgR&_꬀/BQOmc&2{wWup {sO%h4Zv6`&Wcm5~Uva1Pܑ֮,RQWYIk_Q.ǽuDK @웋$XO妮S?X4KzY>Îr\0Τq!&xYԲP^0Za3ѭ|`oH%/T c_NB{o4/Ƽ&Em=#57RK"!wCW|S }H89F?6G}IQP\.k%5M%SZ& CA`=}tǍXN ӑaJ`Y~E39ІZ~k1܂%AR&}_Z/81)\KԀ&Cܢd=ZuUe YPYWT&X3ҫzx<"`цbZ~T 419 .Q/:f?IXlt!ޔ,>aH m0;RJV*8 wp=% !#"?M[d N[fjp<5r LzRzm{) ]O9M]rpBC韹w""q~`Ć@M۴Hp=7l +6c(tVSk[JB3.~qpQʿmGN7iM@==~ 5E}真o6k0v:w:x>?I0}hQ%Vʭe`o &oy}0. & ^ѝ>C:~i|WzY.wΰ{.02Ei+]{Z;T_J H^s IpnXW޳7 C/pAS۩ز3a Z)vr-:Zx;|j4lG^47 `MV[%HlJgP>f_~Q5Y6K֛\9@Љ|XކԕxT|B~onń_kD'Ң K9jxѭ-"\?uV;5JgQ`舢>C}Psӗy[,@ޫ?,[C:{Ք1vVA ֕m->Bg[xTrFKQ\Rct5fs_O^ڸuD@W$.O'܌yLOę")fg3oRx8`[1i4Z\ƻ<&tc:XxI;QLٌKsCRB>a+tW;t? [ܡ!XŪ]f9ߥ(ub4/1g9'Ӛŵ܄%DX_nj*4Ryha>۳뵘ΏPUowo4Τ1 و96oHY`yJlTpȔb~*D 7Sܬ)bln2+tl=vq6j2^*^ !3\INTZW:ửOG!k_n;j/`+ωTP} #q?2|a[6J1A?#r=*5b;T'fnhxVɝ@A%h^.Kb7 9O~(C0A )*@RsۛgF;?J`恑Br,0^o+Id %Lft1e.0,`2aD Q#>%q^*زŐsf<< o+NMlq{Dٖ^l<S2o:(E1 q)3"|//yh!(wV!"$y"ܗ+ޮ(&r9-xؓ wcR=RAIGW}$aצ!#/:nƉ!o$B_;W-Q5kD\rf^ ƧĠ+x~S]*Ѱ?0@OХVKEvu2܌!Ub>RnK!~Ð=T]b3;3Lg>k'ckR`gz? 3D5dXaTm~,xژ~_>%p _g^cڛ՚|X؁|,@I6]'7 ^Ow,P=w}Y!nv-ZK!WYP x eWy1xz&%H״9.&#nAF}7 PȷIN:\\2Oָyש?Xxfi`p+(9a*Gx%z7k>vke=49`u* cAY҆k=UxҪ4T;{nTwL䍋m8Gd^? @ IY&\nRGmZ_JwNz#tGPng։AϊD7s՗jM@A.̔C(n`yxCh(; !R[)N&%oKr-;7R NpJV"eŘP= rOfpZSϱ:S -~aǾZi94x;QhIz&2+`W-ZY>Į( DPt^ a7SgT(E<'$9c,hHwo.PP!з(LWS*p"-`^\ 9O~lObGVa; yI걘0:Z˻ŁC.K\ /5qC}΋!RY hTgq:&՞^_)+ P5'EPlcpf'Fo]Wլd8Bя9ZolzݿO3E (Ji% [Qˏ #ݫ\灪lvi{V=m꽇詷gn^GR)պ=47VWgڂ"8sBL)rRЎʯ'~َj:x v A'느:.~*4=|Nyi-)={pSCDzܑw\ZkT-h yO:d6@ݷ<ٗ# \#rRG#, 6UjVrJ\>o ȖПD خ(!v 7gzBG.D6|~&p(|s;O `Tbw1k0y;xPqR~u +J 7e׫*a"jvȃ¨M#Pek)sդW*>sd{ qU] @0gDTW:B<\CšQ[t1%}6lq %1d SJݍ0QwTOO@R?AA' BipAxJC&2'5ZhAXtŋ&t7fzpíW |sZo܃M:1d+,x_O.l `Z?ϡ?q̈́Y/58VI[ANY@PK7 K _$A$DDt30j 3j`) )-LF8q%4.JDi \PA+N 7O$ 0 m7p}mHL%L#]uи2uIvqYeu-16M&o 2]H>+<)I܁pZP!߄$ɤ=5ڱi]|D.Nk.4:B‡'ԟ}Fy ~5XX<թ;\C!Kf6 Am-߫ TQ&-Kq[";%ƙ33l@y<.댸ڝ/ĒIR2A[N[Ql0rY/]i^qʙכ|lʹcU-Č-x{֗?7R]t' SФ:jq_'Tr{~?@tjbQ}:9a<`1X +a6=RN}bM9Hlikcr&Mh@ DDZ5 rqnV-輼a:# YeWî]+^YP@Fl h'57 0~L)[Hݳԕ ¹ |H_NMx%l#&!WIr't9_ds~J,ݗAg\B/͑W*l5ͣ*ܫ]ie' :M-,RP7WadqQ3qdUv+T,{Ym)<:ޛpaH;Nu". 8CIfw`9}fU<dhn^ǬƗ|VIkUسB^ɭv*ͧx}AS̄aPH p n*^,@;u;q,wٹ/k25a oҴ^}3䚛l SOH4,Hcgf7쾒1#`a3_H!x*f0F{}anƆ8\TÍjL?O(Ƣ⧅Ht}Du c N\yR&qGً Uϵ6_5yKDzovq4.F}ix?7/HRsD`~\ރ+'y9LglWg b2rRꢢ>MbREHw஢cYpjN5D֐ky<,QpJ, ',tk/,n\X[lgxȗ[Nj^:! 섐Y9?h1@gұ'?|qq0o}׫COhfW偊 wY.Pa_G͆yAl"('7 y9љ])&zZ?8ᠴ GG4+ V $8O>=ݭ̸̈́@bCXz)!#)#"ϣ,QqqE%vwYYGp!/#7C\ۉGǧ!&uӊ%`kt$#v#ce@]˂(`tYzBb7 wwkݦhB̝rxԧP( OO\rBaS /ް l+,k Y|}Mv|dF:eOSYQ<94M27P1WKȌr4+?u&6MjHZ=[ :.4ynQzq*P+9 HnR|CoaI[K-94iL/NtmnG1-y^/wl݀/L+,.Wt>Y&#rp:~SL]~ ۬ꢈb\c|З1R,_`UA(BUt' 0.BqvUZ\ޖHƜg!L.~gV$wEn”tusw"_\WmteJ.:Cg#0a;1Y<>dbڏ!3oJ7O&sarYek;JVok!w]t$[gVÚ9bW2%#C2wx &MŖ{6m-Ob"DX[^ʚw Z" Z0 &w# m!:WzȩƐDMS [ɸ?%r|Mx=JJh[o 8j`g"Tz$#uۣui"i`j+ xױ 7K|?.f{cy8#N3ͮgH;\Ӫ@92LveT6,۔<<٤q 5]6ZLqBGh,k0Y <Z1,D`{ i :ꉓc0\y h-˼u/Θ ۂLs lp(1.-zrK|t%\fj{⧵~sr<^]5 fhK Hm˙M>JgVM<e,²;]&W.T c"q~F>D0V՗jjPOt{Zvnw44N,?'d&a*9 PQrBe <|;wgBF e 3JkôA3zGU۹<łp~Pf75c)4$iu.58 rQYUV~#lgKԀHg Tͧ.n{̚Y9|gCڹ`vrzy3?4Q*׉HBNFx1d/3fzYٙK;zTS\6,cދ(L5uµLzTM_G#67iGQkd섪Z,741YU1NgS A@1>`y"Rj.S~ɔYk;!UΖ0?\ ~^OawLd: 5Pl//y`|f97-vY9 \!p#k+]F1XhW5;0GKHpSVI h[v̬UݍvFÜ0ku¡ǺD*߇t)1D D鷽8ѥ #X}ש#[^Gs@|d} U!яljK\3(2f]c\M`^Is_rJo:k+e?Xu>V ȧ610kz{BZ^ցDds؊>vp94%=EsYޓ-QȢ}w,X[` aFԓ FhO{F`۠Z0E|=şqC,`yߋǎ+H[R _%HOUb&JM%S^CҁowTwvS9m'ūpflֿ 3(C*Dd+u]hyKpkwJpy% ۝=)vL\'֫[|MAWˤѫAAÞQof1a-R|FM$d(Л Q1}NQ>" oԝ(2e/xkm88m n IL썿C?/&#IԱH7nq-䠚5`aҤ[JIB7;qԯͥ="R _ku'NG`a>+2a|yAWi˒{e=+BZ(Y'Lꒂ^M+MmoFtu+nd 2ZEk()m^slNfB[{xQxd$#q?6:_PFRٶ70 䋬1a=IX% s*]e $/ˁ?@4WU)Ҵdѷ;v %2p`~2^ +Ț@f(\jHm8Rls|8)&G?Či2lLt;'ZQX(ݫvJ(aC̛UhT}矊nȱ ۇ]t4"}딐 S2BzQi+qn~=v4p)Oe?0 KBmԬ )$2ϗʶ`6{^_.t"Ћs<}sfHkD3 衴g̻ɞ{1iXPj(DrZ 6שvftYr#7Y$8mErZo1c\eB܇X{ϔeL _#5aaYxML|ib]`WeTu} ^\jNKX N!8n3(v1ʒ 뭡e r#SQcƵ#ݹaXy0A.C-w &:X_@24$N^'z1߻aa͆byv!} HAНI{sC٦k}[Cɷ̾t^c l8VnqyLCa%!\9w1ȩN%O~cUm^O`"f:½?c֞~a*Hv_;PvԒ><YrR؉,A/$`ha\:FZW-H" 6;&$w٣ljX])/_H]F];uID3_Wb'Ŭ{sls wko~ܹ2C~L7 נ;ɧb~[fɇ{܌~qK]46eU˂; ?`@|'[FaAz,z N_;'^,i 27$֯s v0efn$uF?scDPk'89D*}Ӌs1%A;B@L2ׁa.A>YVӦγqw˹ycӵYSRHj`6>6x^:3ǭ==Ο@A],xĜFKkU=ӳzw*=^VV4xYkSMrrlzZⴃRV {sW[=LŅd3}V]Deu>)ῄD0ӷJh1O *_X)o"&i^  wB#kGsRXh9sY}Ú]YA >FOLyyUC k#Ajo~2 ̘!j/}Dpo}1^ >ߓqP v&76qS/,~.2ér:t*X/,bE,g$ٴQx L"/ 2ރҬ!NXw V2HM}ݧH] &1}T{0fSm՚o`A6傽SFc50+:wAx?pC$Ϙ%ޙ6u& fbm-0/LA mDGkX|588Z;&~ )cydir.nJ!JJX&ZF"5e62$|gڞ@ÎKTKeR侙=sr3`a"~V܂@} g[11)3ʚXMZu|cMKƁb\Qi 1$̄#/5ILQxz8+B~xͷL$v~*o#h-G>Iy &wqaS)NV@˫3t@ S^ ӎ'-0!ewp1֑EQy绎;X ]<͖cf.w`_VI׫I9r.!D+bmiPG\\lnE*yikHr6arA»S4ӂ&e82V"ѴC(qJF{ A; 1B-ܼnut߸BrfZ΂JHϽt({3QآEU*|c HWt$ Dкn}XO`)*)V5-N­;s=tUo꺦t=ߝ<"Bj鄥}0ވ6*VD7u[6d$ 2Q6-u zCނ0vղ]<(>}Clѹ?Gqf9Wޡl ]oO`^*5˳ H:&F± ėԗRrMKw-ߢ8ٻv PCyn;F~ϩsYSQ\ :BHn9߯^ܔGr=/1NONs?R' )`aU%tFbyI$ZďwZ^!EaT]R9+ډSͶP}$͡KAե@*Ezn1&Crq~![)*/Z>@XRœQRY.X#/If8(}ϜTQjy1DO^tN x%5 ekuįxgcJ+n!b`[I=y-As2ɒY("]"8NLLݙꞃ@ JR,k1.5M]?rڪI|nk_Uw'tBj"3ŕQ%+S:ZOȮz"ZB?{oL'a{q ߆vڞF\Ӫ /\:dmK4/bJ<+1f?=f}:D9yd I*)zqƵX  xl) 72= qVMf<)1Nߎwo:z&jNɮ[CB p 0`2\rOʨ8FS#{|0/Vz6>A"ğx:s{;UdZ2 MpZHR#ڼi!_a;RX`/P ,%* =~.4ZE͜"ٽ~ɮZD 2P ~7]>bȡZqP}£K5jrڀC9Wn ; a!IoA%dRyK3>%<={3Ɠ8&!@?|i)w&0VvU01g8]Mwؒg mS+UehUӡU ڣGW3-('V__\2&*hގ=}󕼳#j@jtG?LNIy\ ^=} )7 >Bז\% Ld$IZOW?Ȇt7l;#Ri- Z޵јkm3U #[!> -@%lt2qà*P05Hp0Nh?t>UxnZcH`RmThQ X=l NU4sO-~enfD# t%(6&@C(8=*8U39<d{Փ5HSLM$tV6񗆇i?eMaA -4YF{$~'3΃IO<,-F{T% uߎwKeT*AE3@]?80}dA{ &*W}s;im7PXm:W˭w}]Nun>Q\ ^| dkNا%%|Y,.|nno͏1͙YhpЫ^ .L> \uS/ [d6ʥ:Õex_yI♎4@ DK(P[$G>_:ԒrNIZ-:4]GLh|6t u3?l< [RhOО;+l̑47#6A(@LS`$rf"|Afj5?ݤ=Pɱ\Sx$) >[ +!&K{ j6"-"GG cVc)q(UI?r)qJZ$&#F%(UHf%SI_mr! 爭6`xAD?S#a B~-]qu?ݞb/(. Wf]:QI"d+vnzi[^POozo`lN(F,;;rf 㩭S ?G.8i""ֆOCl7Kңц W>GU@2gaGZ/ p >񂷢.d%E/v}U@L)\6Y߇t&q3QD.qq@=ac-#dEM5$,|vISp^/w>+VD rG,OCyNfY{3>1-K'+iuI5E^#|͓)xk51|G0}sٝ  Y8.%c !,lM#Q?uⶊ]6֔!N,3 :>nC`.~kY=}겺ovThU(k[Zd4;5rR>_icV1-K__<YnEeh稶28-Vɲ0fߎ܅~MŃG!, qy߻\:oFIy1Ǜt7hrHߘ.0]vF0>>Gi3n Sy9\^sojZax-Y=/ IvճC.UYE"qܟZ{|}|殺l 2<9E׳k2t:/^J L򕖢MKEl#,xg;_ZS&qŸ,NUo=QQO +=)B&5`koH|)}0:>Y@M@QWX]_b_,mK=b\|#qzNxyC\CBע˳Xh>R[2xtj `] / ICRp&+{Ouij_< /JT\n@+Q+b!Y;&|g$AƠcHɗps:|ԐQ}N^! <[D_[ ?8"C MZF[ٗ^fz PzDwO=Ka26Ϝ f5VMRd9 !X;d]8`DtA.]z-]_ ͎5c]q\?gF)l#s{O b;@/,Jɓ4z5B@ථ jJzydm HV,1Qn`.+fwfsWe e>D0ʐ;žWz݅x.<^;JQ}#cY=pz~?5); tx!'Ϫ%XҀY qŭw:%1c5`AҮ 'Xʱ?ylx%)efCd6fO2N~ym-eǠ"U3VlQϋJpҡt !q+ ׍*}vIBWwsyc*Bm(L\6c Se&%=;v F m1?VĬ>i)k6Y:SWP=cg3C~JWĢU<*Q{5E1qgG,bX<4\ȮyAK`B݅dGJ<5 ] z,Coy_&pG{:2Zf۔/1[X4Etw l_dhq@3eIԐr[ :?@~ݗh?s`kOR$TӰײ" eY=Dox:8NqެCwaY!8?x:J,-*C4Z{j-BfJK%Ww*.1؀L;Jp|LdeP} +E[,{s,o[0.}3M$֣ jMB4L2ɳWd9Wȳa8L?} 1D,f_ٔC$W*EV1oUO| = '~r4oL/$z Ji+:NdA8+,E/b5hJJ4ϔQ'L|h 3W)bWT0epP_:W8H^5VGӒ8Q/^ JzL.`Ղ^\KOiؽ;w#f9ɝd(UYkMb7IP;'n;?Ȃ ʒMYFElSS}4 #mCI \i}syBI4J1qIRvѐ7a[^ms#P4\v +_NIL+ mTem_g@-cTjDn)~Sg}G30UHM ǡ׶ҿTl-<57|ߘl]Knל1E֚2OrHbW 6%JB8/f˜DL;V*m 7&>B[Df3ǹRoU36|&l8e!/v^]櫤ҲLn6IFOU-[h핳 N_2_}?dWPhQGc_IDU:8.j"6Vƾ6!9 kR-t,j?R CxUn1izuV,Y i} YٝNa⹤ZC9~h@Bh1)ƢL]ʊc-:f8JH,7֦Ё  yw , I/mI!YܼFb}@}Ǡ6D/@+aalrce^;;h<^02~w=%`f/{P](LF3W0PoX]?KVCU e lM636S<:^X~OY܈h΁t/Y?[Prv[Oz[6$RǦVS0>zȑfa ΁d=)U#W?WVttb`x 0-!![-Nѧ5# %!==Uڷ ^bidupX∓ʝ3ȳi):TӭJY6EB~(ի#Mh+K# mDjCޡB=WG"d°{?P46 !RjvG ۩s,h ]IpT(C!T%}Džq|o[?0::z)@4as(rQ=kTѩT.l!*a@x"D?\ 7";gbS՜%3Y. IOJVe{OFFK=ljesVyCKӌ)hqfN_Yt)txƓTB5S( EW֜:n4 2C)`kR"V#zZX=w-F+*O]x2>o(̛p *PVQ(}bCv5L8 gp~dU,vY_IltG>(Q"xiMwlN~}aTW_9;T!h\d\?Ю~pͣ*]d:,as`ˀܐ-/|Dm]#lDxhbo? Ӂh' ?Y)r;䏍$^?pc"B)"3ɲr"&&М\EA׊M =E h4Χv>bg3ڸ=/uϡB8qȲ x E8^6\n%QxYh&g]LpyM[Év6EE"~\∘Srv#ym'vd4n`!mYPL.9&0i9D`*6&G _QhT(5Ơ j#Z Lw-G_~ZH[:֪ٿ#cACۼ܈iNNHIE=`v ?a4Z=ߢہ,Xڒg<ՄjYٽV76dmhS*EɢTik[W*'tYp~' 7H# ڒoa3r&]^P a8Yƕ| $S}ȌZrD-Aqy4`8mڈ+{4y]x}ӶÆ_n*%e5#͋GrR 28:k  FbN.?3ϢqWڣgT@A\f:;4b>z5&рxV0ʘrP\气y"|zJy;̂coGT|5@s θ-U ɢ~b `M-,(h)QٿH\ ;zbu,q=TxGqB,L0 / >xQƝ /oiݢ/ɩX>ֶQymagI"S#PpP+؞8uQ@XA-g- aXXkƔdXd1%A:XQ;_uE_jMUܦaJC=L40ъX %Y6'nTD@-*t 7ЮҾM~ Ī|kƮQ+hk ^cyG~"}Wԗ4AK,0C|͂lzM3 GbQL/6.4NY0'p{q޼AC- ;߼f@jj:9[1Nxd%|5A;_8M': C]TJ>Z_7[. 8]2N3:=;b{ @K@~E`xV; >h/u:N(~r#  yrDb.NZ7Z5peG^"&;{n P{e ] :aX~JFr2qo;i9g&+À/笐gwEjetcV N/\/~ݔZ7-*=3j̈́*mNSɢhn YfyEC$& A$Y~y*6Gzoi!#\i֜eR7NLxetpcRLVee<>:jQt7J͞]8^{qn5FLg+u{Ph$ݻQ\J.dj4$D Վo:'t8: U C"$ $KU -WE7B'IJ?c{{QgT*Ӗ=\*E|&ܓ21EyKnoMي# PdC~`m1PP#3OG@6zgӀSe;C$MMfІpjmphD~ӟ:pߒQso#j(5Oc1D+k< C Q˅#tM7Nxɕ &4.{>ew6֣*Nc+C/iCqoH\(JZ5;PkJ־1X@Jgq#s4]މrYşR1}(Yl-Mv a1it\z0{g⤬%x/2CʐO Tb}5rj[ҍw墣Iz$[|$Fإ|GWjB[S0#. `J-zCUwW] +ElZC"uIowJ{c]&JMLGT䈟.釕{lX22*v1_0]̔i0rsC{uTg :T7A}Fc帝'qtnRybW2驼xnMo-0XM>Xvh{7ҨejTzDUKD4uڵ7ɝM.׭l ‘<* oOWpҲo_et7Auն0nUU4` FP ;㽚IgeST~z%"*bw@O>71F~r#RHiVVS}V>.ޥnjV[AtT[wngط﨧g]<߭9cKbX8 !sRʛ䴟|qH[LA@XV-\0] ~< Br\qZL oMؐ1pF z͠yAQs ˍ:NwJND;{EU$&̂QE] 鼜+P/,W{ ƨjfd_̞7 t2+d!Y~7(>IQT7.'ʜfi2 Lg܋A( +pW7Rb&mpк2ƪȧȩO޲"k[.;%ۏbH 3R˭+؉RV ,K-J3"@@pnq(ٙ&MHxMt}ғxݱwaZk@DzQ׻n1QtɾZy<{/GoKq21`,yp6RdP6%hQ:(*)&U &.pKnv{_؈>RO(qn@LD6'lF^0U(k)3fJ9$QS(KȽx6qtk?a**KLU# M2ާ+%BfoJ%2e@V=&V+REY}}M htK`M"u# J +ی R,-Tt i ޸A /f98V3҆n  ]cNp R˕!lW1줌okteLޝwZ^_*667.U 3HF'tGM!oH ,r7ltG%q'?'1 =d,!_'ݓҍY_ÒhpE8&m0?*jPv1w?/׃#i61Y96Ca(7 p̠A:*3!Z<'7Ǒayy4QqVDzvucpͲůS+EŞߛJf@d(Y.{KJa6阙ߡ}}ؼ [ [&(nH~ک8K!ײ[ɚcn&ZApqN>"g-'{h|5t3шQ8BBa@@ӫH(1TK}9)MM cvQ`Juo/j%h㘡I_3פsq.c h" d;#j\8lCτ{=fTέwaQWؐthlYAm$`R |u06 &9< m<"^oŁav2]*#w@B'LdAoi)STۏ7jߡ^=|lqN~(R&чOPuKG>#!!Cd|1|/ <I?Oeg F vgh%:$tSY\.=x!G">5y]G!cz9ʷZ!j/=[5 17n3p"^Vۚ ĝ_ev&[h6c,5Y7h {uk>|x 6wҵ QU'UnŭSKܬy8;X)be@$s)tVe0-w-yPor ~$y"ފahS4)X6+f2Sຘg[L#+14)/ [ vS^D鷬}I@/IyV1Ġu.kNLJqZrλ233ys1ν{?LK Dma'o]zAp3w,DݠnCVC9Q!EdܐeR!tVqLHHvXy/ HCi)k%<j2#I/xނh/}pOT_;8Ua$PJfF!s LVV[K%z.t )"ʕxjh{lx\^F#m%ZQ_DVu ~-N\Ї6q|ߏlb+u\ܣP/m}r…5O;(X;*;S2? Emk`OnYsYi,O D $N& S~_m3K1cdcs*ڌm;V+ xFVPp&eIу WuWwT5͹nb!9-;?['G/`v;NA!u[>|6֌.Y21F(Mͪ_H<3`L =6K-&q?@hu}i$ViHϏ.!.m|QqH+\)_/ qyw E !Ґ ܫy0lыs݃2.xTU+bIV_=z5QpS־ a> Y >RaPH鏉 tUgqHnJdJ(FcjTtζLV/ww# q.9j8Ws,L4ɺiOfKPbzG MyHڛM Z[;N * AU1 x}1zF[ʹ*Lۗ?o /QP<ގaI\8+sR"-Z:sV\A%lךrV@bkjbz >C54X,DUubc}<+\"Sgd٢CG X ,czUv]kgjԃFx)\?C1wtuE>3Pk Ifki8Y'iwQ5~ 8b%˕:뿴:Q-yq {fL g.e{A]{я_½GK{%3(4pb?Np;AzKoCӟ2SoyO R rA8+C cˉ's|3`Zme$ih|YIgU5%):kΔ.m.gTm#So 3Wp cx<}:BYH]\۾ Rt珞=ePG ZPjd$x cXdb'0Y)"RoAc(#ҷh-ְ. j"cz~@R(A\r.`L!Һ kk 瘌K NщM3TcviQqeELyjFRr|ĕ<۪s1)6aKs°%ٖ R% ]RA~%4sw0n cwe;򠌔~]q?<ԅ  4~Ec[r\}0|z84$[eV8"bc }WW\tMm-jkq-孯Hh@;UBriϢZ.ʩGK[eo/m"peio.d`V.mȵa3y07%L4$*lu}6Q#s; 7J&uZ vBŋ;`L_(UD0:Pe˔`g}Vԑ)V/8J)':o%h,M?ZBpX05nℷVZ س'^zT ҕ(8R@>FWL0ZV[bxrbftXM >I~D0EYbG,_:Q а.U8OX|  ~lѩd4J I]*pjQz h+@'Qn581o1$x5JlrQVqC$ktGkt'jY`Nco֡)?t\܇Nz?bgejѾץѡic|\3Kl9.uvm f|(Tc);nԔՎGi/ViZnjA.PMM|g(!xkDC2)0=hGoxTW"Q:e9c =|9 `g48rL^e:Ӈ>3P&uoZJT<ݧ3T-B[lrY=LrF4A*T##O{rh]5-IizA#M:=x\ć &>dX؊svu7}!y,SR>SQnVoɨAu"Mʻ?V,"=ԺUS5va1ՙDJ˘>j80)kkM~_Cɰ0@6Ϛd. ~I{pɞ $.Kg11SL]%)G\a4u?]V| ,P]7_z _1e*\B 艓 bleD:Tբ_)i58|5̓ !3:"WxrC2/$#]᭘Ild(KKvhHJS3(9*} ]QQq>&C(qg?%mƛOWQEƵѓEc֌3&  7U w y/H,eDžtx /K\;d5SF 2+bQ(~"30l$kO$zS#Nb@v/gHMB?,. yk-;V"U Hok*K혶KR.%(dt%%ߣH_( M1I7oHBKq5:4,8IXaS l#?Aя4!kU".+u.X~,xfs+&bo4u 7}Ιt'{NJ;ӵƤWM$:( _FrSZ䁃UWtL?&p.s"HN 0y-nZjJ7Fv|ExF 6[,˶< |v&竞 6V ژN"lc9mP\2$%jYܺXpN)X̤ZuG+LR9.XHN+A!Bye< kΰE "kZGhBؽ}/%IlȘZ<88 ۿz 浪X<:Zg)teݐC~d+cN1!@__ï$<[YL!mTIPE9J$PF< ]=4.$7x‡-qtqT0@gL=(B'kxțx9Qǎl^W_µzlN gq N@/*a5P+8r"}JϠq7d>۟o&eN*$I-؎,N]cj_fw˥ex302CQΔbPՔ xle)w$-?T:a)giYcbTvٷ]8 "`8KL;<0I,U ͛ҭz:P ~)NQ,pf'4/^[+pa=*)v H}65U+V_ 4R>bu2eAHrPX6=EI?w2#ngPHƤT,z+T_&i- sBz&Ϧl8F/N7s).0lxޔKhxzArb[(&ketSF$Ee'"ۮ >٧ZUatR-J*w,®ס `"|w'e%Ѧ;w&Q-AK XIH?kC0guĠO2nS؆Qاh=F ǞKćk~TUA-x?.}[Og1gw`k-FaU.#yD>K Tbnxb~!L\{->=Ў(|Ź(Նqxayz'H&/4-Uyϊ\m6⧰.?5 d`Gi⁧x5{ 2:R9B9pOҝ :۱ͱSk#(LF#Uߑeq\7TWơ=̇``|O<M -t M0 #!'r#gW" ,k 3i,-E!؈7~4HW}+Zry}\qD͇?vvK9SBRmvO?gj=F s׆y7h*+UsZb+s7$Su&[(moCp:9usmI5 %)&[SǍB9wBl['L lώ< bھDbH/!)،߱U I+Zn$k Bs!$}J= ?nb/^kH(Pݠ$bir [˯G:zJ\{9"0մ}_$4~ t,xRF-"YeTudY-J#]2h?KIZj|fzh$?=gH Ix:k! рA:z;l/W)}X`[b^rZ#h)~vvthɤ^𐾏ptXqKvcUƹhHMOG=w׌P +{z$\|?W, ܡ,DU=HŦnzOB0-B D{|.y;:$R]o2kAj,hwV%@|[[㟟0i9EenwxeklBVApжK\ALE9+yI:ܯ@=X\vHfK5 Q`Ao6[ҰN23F"ycON )T߫匁rIQ_(fu~^%$y) JR_hWqqfCh~\prVHSSg/Z8}rΜs%[%cƳF56L^*<'rozMI$SzvXvэxrzFAb21(`絕\uPE._eBm_x7[@zxRv ͛mUQI6AE 7*JFZ)*b2^'pXH)do=%xP)L.csSoq%{~䱈|-TazpUSpk$@$JKbUbf3v41Q7;7'y1(v B箯 ѳ!' H<0vذa0bŸX_C'Yd$}䲳&ߩݻ_['5Kh(:T"S2Rx8lKJ87N JY%/ )uy,B1T`l6XZvzJOj5ToN|p)+U؈PNU!ЫqX, *V$8cH]-XPAEBp5N|KsћNic܉K{Wk8Vۂ9QĂ}M@N#sv~'$:53甞G/7@YfGޓ +cP1`T6$'Y]s!,=RSc*cYGXOpxhK>F@ *gd===:c!a@t2 `s}wm`S;[mm=L _uKuD&B~W:خhI9¾߰GJo8ִj56g/{j@^zwm NB|t>z+YÝߜ$XS"b"oTZWM8m0THc <d.1͗ LC%]9mJ ƺ%`mʑ0vۍ(Ng/ oo/tCFF ae wI`mY|C>Kt dN2dlIa(YEmѺu3' >WE5o).Jmz~T.8b[w#Oۘw~Fy .{gJ$dޞV\h/4*  8{p#=b1Z C)vd۫n:z{0Q $@[,9Y?waI]! Br /ƣ}~hRˍpT()t!kF (𖐬d&wZ">䌨NQXS{Tv" d_n؟䑥&BVecԓD[jw2SM3W%64ODh\7/\Ml(<]2Zק/lI_ r: YZ