fwupd-devel-1.5.8-1.13 >  A `App9|<N:8i=PH}a]a~7p=Kbb{֗6m yy?y_XE`h=VA k3Fg6½M&j@{\Zp<`?`d  J 3Sfltq8q q q q !q "q$Hq&}q((q**+(,(-8-Q9.TQ:4eQGI$qHJqILqXM YM0\MTq]Oq^W bXcXdYeY fYlYuY(qvZw\hqx^,qy_`H`L`R`Cfwupd-devel1.5.81.13Allow session software to update device firmwarefwupd is a daemon to allows session software to update device firmware on the local machine.`Aibs-arm-5D+SUSE 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/linuxaarch64@ CP " nf--Kvq  *  Z |/ ` I \rAG<I`ٳ[ Q9)]9)DEc!2x*u+Moh^,0Jp1Kq +u-Vuv9?A큤A큤A큤A큤`>`[^`[^`>`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`>u`>`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`>`>`>u`>v`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>`>v`>`>v`>f3cbf852a17766ea52df4ee6d4c531b6b168c97eb157fa91473628bc4783263823999e85357b8b5f3d2f0953e9a2245115bbd48955eba7111fc36f230dbae45e73295a0c521b16bca98b42a29228c78f2687c8561104ec317fa17cf982ee95fbf20a17434988cc1517f54adab67c130aff925ca40d2066def02fe8584a337d716d5f1725d841854294e27f1fe8b6fd4726877cc3b6b7e98b0b376344e53697d0f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229086066e2a2ccb105be7c2ccd4ca15048ebc8e0a56252f9c52231f1844e4c5ec5908d071153617a0178e0ef5d269c87262928657a5c2271b2b3e96b2214922c383cf1537f7454f41b4a2f28d3207751da5f9c1b48f0b3c2e1ed1a6b3792833a105fd4e9aac3b87474d7b31592861636a1938945d2ff58a566840c2052533e73f0fb9de2d74b3999a8513ebb810380173fea9c145fd94d35565142d31a13f4adf2a887d56a173bdc523cfe38346ab90f60b8b3738684a8c63994b493d043bf180d4579c314ebca225e49e2f0f5c7aaf3ced394822dee5aa654b52f8c25ff62325f95ca9ec2b74d2422ee455608dbee886b63369286413b12ff8578eef790db615df2e9d38d4c8d3f6cad84feea1d97e73f80f38cac83c529133b91a639867571c483ca68c171d09d2f7c1366daccf63aba35a17073e443718be4e1b9a5a0f1cf2bfaba47c62f1dcc8e06cc8cb518fd24d41eef730d4f40b72ddfaf328be1eb70c67a76a8db1206fc8ff1e047635b7e387c47011e38793c2d9d74c859e4b23d28f3d163dbc1ca6ffa16c04f4617cfce2d34a9cd0d1d5a84252dcc1daae690cc8b4f7de2ba7b9213643c272e2bd82eb82cb048e77f601c7a8db7f4cc3860380f83f1c0ec39b218a2342688abb320eccce1d9830c3a3774cb28e3aee902d8786093c890c50d69b21a3da323403f188132b17fa9220b0ac147d7c13ef3c3787a5674d99f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229078b73e50b009f6c86dad9b514198eb7d4736b623e5dcff65b47f14070d579181e0a5b865b4d118fd3c2f172de156316ebe0b099b3df476c021aaaf0d77641dbc889b043909ddce94d1f24802b0501bb7c9c7497c8968c0318344f22946612d789e47cd14558c5e4d818fa5ecec64c964213a0d3727fa6234f037bd2794c890a486a03e399cf02cb0c84a54f84737381af119e98c2d7918b59e569b1332a0499d361072290c6ad052c9d18d0bacb71921142cbfee8c5e67892096b03e14f885ecd1877f29afe177fdbdae431db1efa6f63f02a2dfa722e9886fd75ca85e743baa41495f3f5e6d72e60dccc1f814cd24b3a93d36b801e58adda4315cddd82086ed7ab67c119ca914e730acd40124e628fdadae91b3b12120100213124cc35d3a5e38638d6576453eab38fe165b12d7fce788ed4944a15fbbfafccaf3e57003bb96c4ba9dcb41242cca5b8711e6b2bcaecb4ee2376b60d2fd2f4b2f3c241258ea2dc64be4767a1677f85edd97c500fd8e573cd8530f4739f5fdc9a3bbda97ebc10a4ba2ee43d804a261230aff29401778905379c7273ea887d30f286a3ecbcdb31d4a744c6caa020d6495e1f92b86342eacaa1e59180531fb0c8e9683d1d444a537e99a3a84faf3a9df02d517648f504037d0fb7705799efb7bae52e273900cf24dd84c221a71b80b78b75f8c8a07c9c91e8801a465aa80f8d0202b922434f3fcceba4b008a01f318d7d55add474b75a6c9289bd9f7919f7b4bb1100eaba87a77cf9051c55028d3bef196650c78f81ee881490065e0a2a3c5dd46418c575aea39cd2bfb40b21bdd7191a3c792b2b0bf51fdc9b05a0c3efa20e3d9e101d29ec34bc7e0aa7bd292179ec55a8e29199d55964b85f86710a58a953eea825103c894de1ae1155a96bd15bc7d804e4f3ff3e60bc1fcb2d1315c1ae40d5006d5329f8ba6ae3cae0b3305ecdf40446932d75d3e4ab92a61494771ae421f3ee2633ad31608814909ef6dd16f23ade68f15e65a3c20f909b983baf6882412c06ac9636cab2a9cbd5a30868c1cf804d4d219eff362a975d10088991e8bc1a01d8a2263433fac17b03fd9955686afd13263790933d6856a6eb1e580c50cdeda5b05f8a5d1581b8f7f2b529e63e34c8d5b4e4d5708d653179db9cff9985f6dca74b9ccbbcbefdc088499434d80f935a31a114ec2169f2ddaf36c216eedbf1fbfe4e91befb1071e16ac867a8112e9846ccb313bb173203a4fd4c515033b67e24b0bce32c825b836f3ab2a4b3f18946c01af41ceecd23db00c41371f6ceb94e9267fbccaaaf937a0d7e80b603a0ac201598cc6db9a74a81f272cb258be4fb0d948d7dfedcbc3b590488915536f3daf988bd6a5420e75dff698e673a94902f2f3ef142d3d91c7ebb181e8c0d6505dc3c9fd3a4c8b7dc1ed8be8afc8a207ed295ea5a8299041b2902b90ec2ade822864477cf15d30113cf9ca98ce9393f736af3c32b32b96ef9869ffb8f79287fa4c737f0e382321c59c16429edb1142d43709a7a573558cc3eaa23a9c7408e2a5aa71f77e2d1c94135b5cb24ea08da34586fde10f1c28b6ad242888fba30a61b3c2747a216272d11312f285fe828654767499567ddd08a18c2e661e2acedab7d6658df962cd674888fceef0bfc425a80716d74b3d0dfcddfa3ae6ba367789b9626dea9aca23eb322ad7924d90bb16d04458e81776fccfe7e6b88d06b836054a2328d17132e4bf95857d20b6e6bb23838c5e9ff8f3e82cc98f90241fce2c9fe23562e56723d223f6c2b24bd62494b13d76d7cfd3e5953b0ae666696a5fc11a95196146c6065072b295f80de0f5a331d972d0a81c12c0ab56e4019d966270dc7aef348335337feb501aef64a54321ab2cd9cad7c39444865fdb6e02633ecf9d5502b88dc6977478f4deb73dbf9122aeba7ef51df6dce1db6f352295f0532044a5eaf98bf431c3667bc8b57ab13227fc84e172636d9f967dfbe931fbedba0c6be291f391f38f7549988d9b26c3501a55dae56fe7df0a1820b3b1799aa2fe21934989e0e67d0552df120a013af846819361587fcf0c4c9ae729a2811e08e6d71a7a16648bc53618c91d8b481a6d06599946f85d7af28f325df17836cf3fe605edc8ef9b2e3b6d7b6b33267e9b3fcf02c1d39a606667537511bb5bc26777a5d9b66b138a7aa19b24104d206675cb9dde59d7eb01321e084672c4b1d0482b4323c6837a960db8cf0b750193daffa9a5c31d8167d7935803cbb117fe399be4fe4ef30ea8122acdb0bfac6527051ad330f95e2f469bf18ebcff00026fbef5577d5889b73adea0be60ee8cb5b60f67a8dfe7ffac1d82a09b80567090fb8246b51bdd19c99725bfac9afc1d62872a3a7cd9be35a0e3e479d5c6551a350f175bc11bc7ac8e6b99638ce178dbd1ac37563654067559d6382a7d8babfc6eb15120af63d3a439fc59fa2afc5d4b3679a94812c7b3f0252d61b1312dcc9004c40882a0f704ed6d01b9ccb49ad9da7a343643a52f83be2634b84f8ea8a69072fbf0e2516abddb8b5af682a7fd8f84678141cb6c68b0f9a2de09916b5ff97928ec1c8f39bf1cec5fcdb95eda182c604dedb5a1b3fe4bf7b7389cf36f7461d08646a631232fd7a89b985ec01d2cfec0efddae636f2c2923d6e445aedb906b3d7802b55b2c454449d3fc73cb4a46bbb006e757923eac7b47d4faf9b9323da34ca2a1e8e95a13612b557065d2d741ebfe06b8de2f1106343dcbe7f28eef78b45132aeb12d46297ba7d54dd0e9ca51f57540afb571f58adbf9adfa11285ddee01a8c4cbe23bc382bac75a28168d496d32ec674158ae741ebeceb6a6e7a003b5a47eba5fd32c334f742f59ffcf01f2b8c712a066ca9866877588d8cc3916fd34c8e515ec8617b03a8e8bfbcdfeb5ba7650d8d9ec83295561237ecb4ecf62a8bf3244db3ac660aa83f70c8ed5c94a50cb382b5821fd0d42f12264923e5b8b9cba74f7ebaeb93a4f9d8ecd3c9e82308471cf4e063f2e3a34c913423b8619ce825af273ba403adcf0b7a8d24b00f5fb6bbb0446249b605efdd36598e8a0f65ac3fab2e18438c73b91e5c564e4586aac398bcaa3e5bfe9efe5b569c1439dca55b06b338d3d0a3130ccb41634b3042e56dc65e9bde9a165c231df4052906bd26af3deba74987e3d7fdeb303355d93cac53410997dc7a3f9bd60f3ce0d8ebae7908978c8731fe9bb139ff0eb96fe775524c2d4d4f167d79041b17c5cc8ae9112478665132c31a1417fb4adbad72f861982bb78e1fd3771ebbc230a1a27559f8f662cf3229cf5b3c6ff567f2130b883b3c95ab17504880cedd2c2c208f6466053e0515c2bcebf4351e838b794050c64c498420599162f2b3b6928232dd0be7991d942b1dc0b1670eb8695e0629ad38280184be1b94602f2015707a28170151058f7171aeda501fcf0979d3b5a67eda502f1d76c81b8ed7a7cbeeda0c867a4c24dc206490ee519d4200dab0371530831b2ba10977c7a6c0fd7e6ca89e221cd416bba0828a20c195dbd73bd40420f2040eebf418098a86a3fb2ef5a9659c87d37b81ee85b69316b045a9453ac54b75948f4d26357dd018159078f36f90deeaf29ce3b9d2bd0ea6655ef1bda801887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd188872030fc1a7e7ea726c79f4648ff57fd97c270b1ea1c3bca24c48c6a280c51a44d49201887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd18887203312936dad905030c45e53af3485acc8213899f4c43d74e7143bce01a9d6bd959libfwupd.so.2libfwupdplugin.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfwupd-1.5.8-1.13.src.rpmfwupd-develfwupd-devel(aarch-64)pkgconfig(fwupd)pkgconfig(fwupdplugin)@@@@ @@@ @ @ @ @@ @ @     /usr/bin/pkg-configlibfwupd2pkgconfig(fwupd)pkgconfig(gio-2.0)pkgconfig(gio-unix-2.0)pkgconfig(gmodule-2.0)pkgconfig(gobject-2.0)pkgconfig(gudev-1.0)pkgconfig(gusb)pkgconfig(jcat)pkgconfig(json-glib-1.0)pkgconfig(libarchive)pkgconfig(libcurl)pkgconfig(libgcab-1.0)pkgconfig(xmlb)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)1.5.82.45.82320.3.50.1.01.1.17.56.01.00.1.133.0.4-14.6.0-14.0-15.2-14.14.1`e`c`KW`6?`.V_S_м@_$_i_F@__@_O@_"@_"@_"@_@^א^א^1^@^h^)^ @]@]@]c]8H@] \\-@\@\Yz\73\\U@\ @[k@[Q@[\[h@[Xf@[GB[E@Zľ@ZlZ@Z`@Z1@Z1@Z1@Z;@Z8@Z2gYYYX @XX*X*X*X*X*X*X*X*X*Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@Vii@UeU+U+glin@suse.comglin@suse.comglin@suse.comglin@suse.cominfo@paolostivanin.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comglin@suse.comdimstar@opensuse.orgdimstar@opensuse.orgqkzhu@suse.comdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgyfjiang@suse.comdimstar@opensuse.orgdimstar@opensuse.orgglin@suse.comglin@suse.comhpj@urpla.netstefan.bruens@rwth-aachen.debjorn.lie@gmail.comschwab@suse.debjorn.lie@gmail.comglin@suse.comglin@suse.commpluskal@suse.commaurizio.galli@gmail.comdimstar@opensuse.orgglin@suse.commail@bernhard-voelker.debjorn.lie@gmail.comglin@suse.comschwab@suse.deglin@suse.comndas@suse.denico.kruber@gmail.comjengelh@inai.denico.kruber@gmail.comtchvatal@suse.comoliver@getspam.deoliver@getspam.dedimstar@opensuse.orgmpluskal@suse.comantoine.belvire@opensuse.orgfcrozat@suse.comdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgstefan.bruens@rwth-aachen.defcrozat@suse.comstefan.bruens@rwth-aachen.dedimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgmpluskal@suse.comzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgzaitor@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.orgdimstar@opensuse.org- 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.  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopq1.5.8-1.131.5.8-1.131.5.81.5.8 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-security-attr.hfwupd-version.hlibfwupdpluginfu-archive.hfu-bluez-device.hfu-cabinet.hfu-chunk.hfu-common-cab.hfu-common-guid.hfu-common-version.hfu-common.hfu-deprecated.hfu-device-locker.hfu-device-metadata.hfu-device.hfu-dfu-firmware.hfu-dfuse-firmware.hfu-efi-signature-list.hfu-efi-signature.hfu-efivar.hfu-firmware-common.hfu-firmware-image.hfu-firmware.hfu-fmap-firmware.hfu-hid-device.hfu-hwids.hfu-ihex-firmware.hfu-io-channel.hfu-plugin-vfuncs.hfu-plugin.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-FuArchive.htmlfwupd-FuDevice.htmlfwupd-FuDeviceLocker.htmlfwupd-FuDfuFirmware.htmlfwupd-FuFirmware.htmlfwupd-FuFirmwareImage.htmlfwupd-FuPlugin.htmlfwupd-FuUdevDevice.htmlfwupd-FuUsbDevice.htmlfwupd-FwupdClient.htmlfwupd-FwupdDevice.htmlfwupd-FwupdPlugin.htmlfwupd-FwupdRelease.htmlfwupd-FwupdRemote.htmlfwupd-fu-chunk.htmlfwupd-fu-common-cab.htmlfwupd-fu-common-guid.htmlfwupd-fu-common-version.htmlfwupd-fu-common.htmlfwupd-fu-device-metadata.htmlfwupd-fu-efi-signature-list.htmlfwupd-fu-efi-signature.htmlfwupd-fu-firmware-common.htmlfwupd-fu-hwids.htmlfwupd-fu-ihex-firmware.htmlfwupd-fu-io-channel.htmlfwupd-fu-mutex.htmlfwupd-fu-plugin-vfuncs.htmlfwupd-fu-quirks.htmlfwupd-fu-smbios.htmlfwupd-fu-srec-firmware.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.csstutorial.htmlup-insensitive.pngup.pngfwupd.depsfwupd.vapifwupdplugin.depsfwupdplugin.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:SLE-15-SP3:GA/standard/6a6b6901a6dfd913060eb5b34f62e61d-fwupdcpioxz5aarch64-suse-linux    directoryC source, ASCII textC source, UTF-8 Unicode textpkgconfig fileXML 1.0 document, ASCII textHTML document, UTF-8 Unicode textHTML document, UTF-8 Unicode text, with very long linesXML 1.0 document, UTF-8 Unicode textPNG image data, 16 x 16, 8-bit/color RGBA, non-interlacedHTML document, ASCII textassembler source, ASCII textASCII textC++ source, ASCII textPRR R R RRRPRR R RR RRRRRRRR utf-85408d25f869bb4d19dd53f1d6b6be1d3dfc731b8db3a1a4d73134dab2c32790d?@7zXZ !t/Ly] crt:bLL V7NGZ8J؇sȕd؂t$:LKyݕ_=Ny >(Wp% LM@ zѤM紿E8b3 ̭+TLpstMpm+-RhO“4V/9$3 scuc+; j$%-DG0uU8zDOqɉ-a5ɴF^K[yL|p<Xr\+͋zWc;YO``D$jd޸MG 3,edk>%) @WҵB 7q#1;+7PRDA%K^Hq<3S-&{\j Q1i P"&iW%5texZٍ]:ŏyi8sH"x@=օћz>oW ƆKG7_.mtyS锗R ǒC2 5&xɪ Eƽڀo'.f6nk<xy'N'f-jǵc1a'>`΀Nmٞ$֬# sM;o{"vGQUAV*uO2E_"WP-6Q{OԄ}*ָ {7193b5A8]-QeEL91Ttʤoل4M,:DHsN&uL{-WGƋT?sZR=Ix\կ|?jq3rTCf]-@>\ɝA*%AV}v)TA %kqg|!,]줌JWs |t XP4+ uD |ewrR E~ZpfRxL1OI{S)K;e kNl@]M-'~ij(K\1c- hEōc9!~W,ųp݊OA ?Qd-2S Y֨}fUr`S/ʬ%F +uTʝX;ϧ }_sweEf3BKX.Y8}ßJ4[3n_o/[0$ɤ^!5B,&E Od?rF&E3`lZ_"=p XNbeMcC9rQҤAPVʸwTYϚI4p#2IAo2ݾZ5|"aƜy7W+$۱壑j+n1|E0QQZ]·a] E HPҐغS݅==ǾN ̮p и|:2\0Tz&pPw,MUA{ScY9wc 8GnT8.FCGƢiLJŽL?#ߔϣ#`bR̰̖$D C;}u5x9 =?3v: 6?#.)# =p8ȅ?R8 Ա.NF:>TJeg i: "?4̘ʑy>@DVeݍ2(iֵf J-ms M-RL!5M*LUKa'ꏯH.y$av 7{yBҳ}zT92Or"(JeSy :(PҘ\ 4J%yxM eoD} R$3K:KnP0l3\tC/#* *[v߫pO .R`Kkoc9Li\ctʜU i%16柟} ֨&a~dо1!aςF[&EԢ*Kvay)qӋNbMOΖ_T [%<.uӅ7#>VlqaNs kG 'oT`cZ>/YVxQd%ӛ4{ p!ӓ878XDwQ[Y(dO#~ Fs]yhu|и)-ϳAsiZ?_c\0f?t{JgĊSVFf8NPn}NzpbHE5:Y~\ŖѮJ+g t\d<^ӟ6Tc(9y.L|S݉9T/%1Ͻ$"uOKei$PQJ~/gIpG /x_ΧȕcXSk\} eɠqn|OךZ?2w}_Z E{m ֤t;1Y!O/Xm`x:IbZ1W-*uUUϯd@K͞UB2O i.BgsAŷZ uOGy)COk)=ΝYv!p%"$ṃT6 ˝ &.&˺~4enBI{ҡ=~k{%YW0[qp.ឳ\/RYx0;&ݾPb$`s\h-SMPm^H{)eتKs0ŌޜNQdc@$έUͪG-?1JTvh! ZOIs5`caNRdrk(#!O7 89x g YbD,"m< \6Oj JpI-T'ۂ7l^5cdHYs&̸T;* K3130xde! n$#"vpB_O L h-Sk()©BDGkgMBr~ĺw\H>D pBf>*cUL4.f6GAS5|4Yuj*1VQ5݄lKXROux['!n(3,-{;⏸Y(G匦?DM8wZ L^<֓ gʺZy laD I]fNoa]K kq2_NV li:IMḳ[4g{;PwvJW6qi 㽱5e1G%=-/,kIչ=r,\gɁxSHMŹA*Y141E3lֹH5Hl?t|˩l=1xvg A9o 0"nj!Y;5Oh&͘oU{~tT ZA7s?/^|OXAki$Q0o#yq̈́;Z_B͂ oQD~H`GPHe!9qulݴúj+ERn enӵ>?'-b))ʍ8--nOfA"cR@oryJ׿Ҙ =tU3p.X6>??  %D:Rp]bBTv'1yr K;Oש= QF3AF/]G^f,͸0 _HMPE7J5h L'17hG< z]KPV1.b(2+ COkQoXi|5e9Ai'tw#Dp'cx G oLIEe6 t).Z{1+mfo6"0y InfqF5vBp{N_G8Au\%IHpbb2icz^T=2mt .^R/oͺX j[}Czd1mya{Q6 EdOUb'1"z&>[nBmN0r-+_\Hp6Edtqhm`VNk岠nr ;@x[Sr E$wX&>EfiZDו5ɝ:&\ޙ(YAPUSwʋƻ{f(MHMJR[T="H\YM0 Ea^7Cq WS2 -F~:S8"[Ō!7EOMG0 Wjj<J4_g\S[|!+@Z+[N/,n?W~3hO-tL#x46"]r R0DJZ=ڽ7oy'\چiR4 i<B&΄w*x8;wFavDŽdum cĸR7QVȺ+'_T.]M] ^CJ[\iRg$y)H˄eRt;uD-Y9 o|*@y2x t48o_Aۢ"&&b[F#Bl m $`rAB*Zl3=^2n? / 7uDLDF1h +t{~ p\\尶FyStzEi _03x3NÉ hm2\ ㈹+,?Eڮ𴠺({e;Gޣ ]zhDߪo|& AUD.{RצM . KnTꎿkAwQ]*)̜~i-8l`YnQC_70'ح97Ԛ lC:qxZWV籫 ~S+}Ђ 7(p w13tW7]·]}l3bGtX穷K~1 ɛ:XÂ|hQSXl@x[S荈;vc=j)8əvycܪC )o30[}xa2sd+j#T^ܩrijc~BG玂Ƹmͫ_ bkIzxKUV:\ "2/m }S̈́YoocM7@2]1oއڇOzQ,f3*c oSw)ۿ&^^M|efs%ܔG 3 C$zJ%- 5M]`㺯#z3O,L&m ZB)](lTԢQ1U6GYyT^݊)+uWy3r8nc 7;(_ =Jeu2NvmWCؔEg*OXf=&CtTפFl R|6chk  K|tculϦ9鱲.}RRuz_Huۢ 89ԶX{}/1bmG=j:ֲiw4,zifJ+E}A6Z75 t4\|5>zЎЅҨRzёUbڇu2E72WsPi=R<+Hs'*@S N==Nw4(^A"8#Doַ͙km}ؾG #5Mn:ۃa6fc,z"guMYmM:)EM>gY84[=ߞbͱh+|\Ge=ar},+6TOc3w)=77<B/Z/:)(2*+E$Y喬ktU;k,!?}#h,.:B$G|oSXo= 0KT77`@yI5-59:v-?#@ }S艔tB?!>D5ji#"=mN1<  =;h ӐjYo6~:F_U+f;a=ެ1e@@EUJJqNcY;м ԵoHMn؊dC!_< * ɴ4ϐopt,0$jd(= "Z%h}ʵm6Κq =qvF@0OH4%HRo !;[#5rl([3:V@V_#%썴DFئ!)v x%3b&>1 KHR);]R05@-Ao'Ln>-~ &voX;$R-( f?ٟɇ\]vhgI=YMo&@U^~nzG;-7ը~/)| 2e)!2OVzKB[ 75Wq|juT ,5MqX Vb6\N6qX#"k Ti8_真9^hGHgDYɦx)nySihWt V}aum2c,p$l"b]DkAechi"G.(p#Q#*[(Xb2r>2b 6h}>־ .ciц]iq\4,-KXZ#65OBD_ٕЍ>5v9 OrF'$iWⷴǹeo[X4S^L΅ <zzZ |dyD"RX$:~f_90)EgǑ"r2"MS,4:X'"NbG+6\Z|D<18WVM/9}hGO(GMN ؔ/Y{ KI]B< ]4kj:(t!͛WɉVDp>m\r@j$KDS/+;ekYh=@c@FVd<X'r񓚒)*'>p]FׄK#փn7gd´^l˚} RA@B}]F!C A]WiKXuv.C:%T4=xH}5>PkS3bTYA0QD1 c2[`xJCFDh?pIu7̽TskJ!HS|SPb(]xK<:9A%W F7 Bӎ4(1(~

@gi Y F1P5="@y.SZݥul'e0AB::l>7qxDŽk- s[S4Wy$ Cݠ{X,mмMtJWjC4;ͮ(=2gN*y P^~DBEm\Dأn;L[67IǒR; uW}Ag^\y9rtotR+źwq_ٞ:Y}MOX,Eok.;"#SOİ_eSV7lч[=\-x}'D瘇1]}08z!P&5$MwT\.Z!~烏FOJ<+a}mQɁh7jr5{%2nd5xH[.~Lm/ M$G}BQ]!"JR&H:dZ⼮&f jW"x67dP]3J$o BFV}}wr480B?`?5gq9-Il%Y&Z8p'b"2$I/p;}=Ӗ̟'9R>26Ki]_|qѸ$k #}:Jo]ξ*zy^D u'd).m0} ٭8+Y88'>hnMA1 J`&;]/4!Z$ w5y8)]z/Y(d@qD]45u|MeF&tb'=,TI-Sʷu?p~̛Wy&se3 ^L1/CLjP}yyXIEX\W d^xQLdu*)3RDVVOq;)^JuP^<5#}F}$x$F( `|Qxpx zxHʺ nϘK~$gRk4YQ@q}~\ yZ[Ch;c 右b <. ҧ**C< U ׉ 'L̻(:'{AoK Ξ邦9 } }_i/o K蘆H@4^u@ KBؠ.,ۮS=8F+N3rѼ]켬Y ov;NzhoK觖cqI2jjv\`ַ3?k704x7;u" XLljDuCk3˪@YG>?V땃䍘,9d?)Z3[tXcb/NC#zV_޼f?1ɍ'y s%xkapU-n-ƭ H}n\u$^8/bK~TC]G)Rpk#VڐL&leN()}SN:LU? .DzD)IuD|Ve3z,pQ=,[*mq?퓌 jL"^DX5^')]p>3`tXH:oH(kNBD>Y' %-6##܎34BO{zz, B>og%[xP<>:y#M~F{zSJsI41cTo":d>G \n]5SmD3-Q!}-:BpM#Hs{,#'y0u<npc@Ǿ%ۭ?: PCќ# zGoܪ79ֱJU%v\:c7 9z"j 9i(@"hUOUkԡjNe"ʋ҄Ff^ υhHI٩#oH(8loZ,&1/zJk?,cWvbYݝlNo|싴^EH&=U\ERFF#*Nֿ׹|<+!wHfE ##W " l,L2E A:MO^JE,>? sheko~+&̸2/8w̽ܒ X~NIh^d&FRń1lqc}8em5f̚M,bV/r{ EI5gqe>6zT. 1aܗ5OSQ 0@WxۏpYtZe;XMQ jє:ã-D\\a%p(<W  X]Ԅqc THJ9km$-4I|e7~q$ EpJfޛ?xp5"PNCMoӸ;?k zʇMډvCX'\ҴxNtq}gd 3@RLZ$؉9=_cU =*Yǖ? 7ou+K(H08/5o)g8T%m(V۪fĸ5Rw@+=? !-%()zfr*Ff ŤCFx>%%+c1b{$0qÛ;֞hO  1#գ{Q͓zP)O>`.W`pKjk Wt\ Cu 5m-vfucQ):R 5ad5e'$HD@Bhңfg<!_ѽ˞cEW~U_sv|Oez TI-*ϫq8K_{Vt4]b xME/$RZuAr}A{iO9<3?ľVh"jKN\as熉w~›v Zq;כg<2 /vǘӚ\ڋHjd ;$_9Ju-+uՁ4z/R$0)`ࣝBG*+Ҫ/Ù=r_(-[D.қ 4$IoDhV$N/ yy@bbBG.7&hG $nZ)q/RMF#o|1v^!BD.kV[+LG+,RBG ݮ4׷-z^TkK*~6+Jcb >C8)~U}\j-*l4&.=c:+nvR{s9Tke'Q0)#7X45T\2LJ-&r%R7Z :TǺ*3ҫ#$<[#7NOS+cN39~#G"f6HJ'rAmYG'3 [(!Jcɹ"g^y,PQn<1gmffk2mMݮfFzuacfSa(1SI0Ն5/ R,YuDdq&W ԃUĿ7` Lpy0'grcg=_ـ<;T٦527D۝M-1PE?؞gz"T]O8w[@Ky(kI#b7I|]ԼyU>mrS4Ce9tuJL=28o6u3$kSg4 |ơ{d<׎ř"e}N: \Qmf>1<^^J81+ E%4>ɼG%S^Sv16uMufˆ/Ɉ^[ VznƼqEu-dXh|;U> >Tv(vX`jJƅDΑOhBڊݼ:9&4ͣ>B%5c ֤O/jH2K1Lq\E^5N)ō|Q0H5JCL !U{k>)LQFKV6 PZq^P*OV>+#qVWﳾ8S"jJ(bH6tSuANG/ bChQa%P*F]oq!9ޖv Y- zj{WH3,1 Kkul7+ڍ"THt|Fvetv+^)~s_?AQzvQ4m>s +3Nfm FB;=kiڝ2`|3EDVv `(]T],i)l=T!(Sq1t9&kb$jnUꟀG([!OemҔb۸+V|Se}+mZ8"VhLm1TIHxDY%'p V7nOS^?Hct1dz2(f/zeDDާ$J\,~ V=-ۜ>G=WмܴEByx}ނWK,{&>]"8z(TY9-\흆y:ڑ+@.RmE}ȯe>g̈,&S{2=HH-G*L`0W{PnD\!svIj K1!M")ޔ+B@N"6!wE1^A>m'RTZR%hh(K Q#c"rxJ V)ȓ%Q1ivӫy3w2*I'"l[L̮Wfcd{T10tR}B.(jjJGܻ=V]:Cfo?g2=76ok#7kZɋIƥx(qftr&3(+U#/G@3LLm&U} /M[ſS$ SNLx抆T8)cQGRaW{>0wN`GP#lăqwϪS`д,ӰyzM*Ko j9լx=M#K7}BZ|YJngw_pJ _TBRQ}KOO8߂0|yMEC;M §YE"#ΡQi(EUNd NՍ^>>;EµA \ ѝsPD ^קIΠv͞MI9TǢ㤑fat7g~;؄&ፌ-S{LG~hVyb* {K/~aV`%'rnMAkxY˛~m oi8E)H̓92u^H <{4ҲR'?ޛ*-,ۖ/M ]l6(p7M*gB,W1F  Ib`x|" R¨w +V|D%@:Dm.b6uM *",hul#BF#!yy <fo%`j>('FϜ])-Xܬ)$ 쿰."R=nHFcʛ?d 5OaJ[ FC+sP5!aտ׷ٔ khk~߮AsE7P $BZ;VNJgjt ܆A僞~NqXӐ!THWVRE/Dv.5h %Ժ/~.=b88-3CMI/NUPᯘL`ҹеUd번^=C-1nJOc9Q cP?(ߏ{Pb `n4OkťF3jI3Y8(PC2V$XӰ6Vj /kYY aC8AUqµeJu 5h+RWkwZ[Nz1 ?}t/Y;gJO6a[LX;RUK )GiM6TR v a5 U5Sq˘..Jlgt&[QߙSY64C.';9@k\p2NV`;duskt^c.Mf+?F;!:aO(0\5R7G837;~?anma&lG_)M-Zc+b]USNmp zjI#?ȥ/z#m`/^pZ۳3"AJ>s 꾞kp\{/zj3-0!Uki> /mwU!2;bZJtZm\vui4r,"]B93R9"=o$Ϭͼ=L>Oot;!1 . .#Xs̄)1>LuڍR͙APe:3zKy架ggWd,{|UF3/ËIö)֛ar Z/)&Ix kt)ܤ$D%Ql:߸(4G6=u62$Z9sC~&qg8dߐjeH+#u4ˍ32ޑQr*Qg#ϬrgP&׿wyBhk%BUܥǸZ=7=Mg,7ü>*HaJR|⒚~BأPS|LV]U:sz+B!S5Oǭ{S<>~{Od 0n6C" Gq)R"$yֶeBy\ŹApY]S2D};!mkrU Kc2o7p::K)l 9=w=,cEڪr_Irk(\Q6Ƙg 'yaD½s2 * sz@/hlsxNtFRo@.hR|&8{gFs3ͷۜ9lY840ņmIiKMN/&-dȸr aޥT1f _]'ؘQ/]fVC6ª|z}?_i5`vE͘Ϸlz9qJ#<``qv>apm_A4(HpX搜t]P<5*Jh31n]g*$E$.nTAB1>EE$`Aoos 0?3y  Z|`C$˦/8vHIVU!J[` ogKHR_g.|n8J͠My-[f@!2I;+jCx]/%B8ipy-3*Yy65 gCzIHzWeV ~[9ZY`x%= 79o̳Gn^"8|NmChR\v:Bػ dV79\C'gmEpJ7`ާ"|@w ;PQ|M|F /CG J9B<ֱnzЉ79ۃ7zF qUVjUXJ=;=)1U7Yq9ovH؈XAlsH/@X0s:MY` &Y]O0 l89l%߹ 4mLІ x8[,>`bİ71i~'gZQ'_F@-݈x/5~ /M |WVw(LMR]e`rJof7( PEN %Rإ>ʙ;lՔƬVcܑ֯$;EA֯`&zݒv??sF'Fo $M2_ej_8Eǣ YQh!/8-Rɐ낍8N2O[7p" .sվS@XIwD2x"cKBpʔri644&8 {p/s>;v&*%W &7-?)01,Zuy) z21!ck-,b tD?#x4t1n఻: 'H[԰L|mId P)I8ǯ/v 5NN~2< VDW]h"+oO ]ьMfa+kTS6+M)t* Fuz~Wu;*]\_I :[@]hT+D}?p$QI"#5?XPJ(&aJiEmc1PҠ*,BirXz[rP{yow۬B.GJdɼ ?&0B>rRqz{:*0[u%тZ &#C8 EX7 Bz: qDqhh-r%h4J'0LPx F߉d!d218En sSB,1wGU Co*viW,ޣ2_>b?%'eNu/7:ԗ]:oehwSn GƝ8޻̧鐆&QzjԒ)5K^K[W&AR̓js5A˿Vl'ǽ(cǯ&# Н ̞.0T/N}IIWO{RhCJ̤OKʛz$njY-^OZQ=v>} ! fPua{){,DjGX8*OD=tB7Z.zvu:<s"] d0(]Xc D-Az·u"AG׎؞HG]cz.ĺȞi{|QjHʣԓ` [z;f0eH.R_|Aثbe>īT_P &̀hr| 4ޘ4BωJt+ <Ͽ<$Zȋ: ;=뭷-Sw癧EP369 d ΀ {}N ]4€Arf(>bP1scŖrntu9G @ѦBSB&Hm)|./:B5Rh*4v0 !dJ2;SU*UG{;YbvaoHRmɫ#CH_Om-6v' .+X P{( Ez|z#?OVs?L1>(03JjV%,ڨ{/&PLE<$:AEo-ù##ԗn9hWmݔ fW!W^We"Irm?ϴ>ޞBqʇu2o$@TE?gksP}? y*\P5A ꡙBPx+uZYߛyN9C̴蟣sn߽߫ѡ}=T <) SWTz|>lmfuV9F^ؾ'Eg6lقgӺW;ZR!>ڮKQŠ{.! {mc?ҥ)l?4ʌm$ j~t2=<R'F^x"TlR2y~}lAZQ]yX`v?E3o ǯ9R"M h&wQa6`|> E݀!^r.NÚع!^Lv%qpP*;#TMߦUX|vP,W$Wa^*KMbu;@X>@1?ј 4|ά6 P,7d(8F$$/Wj7R gY=ǁ#Us{CZFA]6m2DxZ =_u233h.ȽJxiN*wk\aw3ÐC|.̠Ӎ%5%RLu[JI[Y},޸8&?Y?QG`ȳ-u R]ppuH L2؛TtB  DxO\3rzhn#}qߑ[ph2Ie\`3rLe]׺z &b-22̕rr[GGH,xDҘ0ALY=DjCNi,oƊMr/wXt3 k7Z4%g+.J_(gB0ӘwzU?WemB,n7WHµ\/6OIA 99eFYMSѾ.Ev S<5H|'ĕ^K L 5w ?OH Բ< rszY[4qԬga"~`v l)^AaWG,묎j <@NR%]2 S[/-R} ^ygHa2N+Uֳ|g|pQrT,٣b_fX /+IJԀ.ؖ3L^. ǯp5KF4QGO{8m2PvOm3㟹z$5z/As-~tjPXTmh@j ‚r`2L7)o_` E&0ɁǏi&=7 CρcZ,/k?lb2cx!3ȵYa"g nVS ?-)-] W q gtNNecOaLG Lό)M1cED*}YEA 8PS7H4> ";ɸja Nn+$&ET"o s 4Jz BxCN2BWSPXX]"K*0B{WaΚDp"TamN: G{t 7ٮA]$gP]Y9;NK-0Rq C@D-th>6gTz¾-F 7SuN١$X]phR}_媏N][!Gd3f5;3 Q vNLPZlݳX$6,/QrIs;m=H+B; lz., -ߎ-Df[-ƕ{k;J1øH/7&0M3njZUO;ND^J[rep\c.A5DZwئl͝qe@-A.\Pۿq-Z]F Wpr:{+^+ 278#` tG ܈v<-t d>C Aߠ2u O|\9/H5*rT!e|D3=Jpk#JGQGH.f(ÉWZ}Q|IdvR7f˭܉15ͨWxrfF)y;D;eEfV5/~zQ]80ә'پb.' N$beS8iDa~4CuuMԞLf\ܰPʢl-<CP>=5z4?w4e;g'ȡs1n*8([$dA"Ljm#ᝃc {{68|wQ\e/:̚$!k |ɓQ‡IQetjiA!]i#"x@&OBJ,Mo9K:wmhs*DN$~YlJV";3 rulӕU|N7e`IiHt*U!2?.Gw8"=(uQg4S -Y$d2 ]i֛=Om^'H`4lv-m,z(kI>v $7-y#4"Sx\qAOw oo@TX޸x{!m`!LfJ'(K$'!{{3GAT`U'a+ x>lnMy9ǭYa^m*3)p%f3?[Lmٙ#HtNfr87XdXg> BGf1>ǒ6+4J՗i̤p f4Qnz/]7r(#(l`^:*f|S{kг*>(I##ii4`% aXdk@{x ouudD*uU-Hz^ܩ^WzGo"GNRI+OC_[ Zw_ T\6=aB@()cx?}5e$^JD:\78S;= zA!`!p6vtLJ QU窷YT {S/UNhXfj'ٜ0˥aؚ6-_%ATYg,ҒZo+nI6`'e֮> dqviK gl["6A D/Y% cr6d1`y4Y>97AHz"לB%ׯjӶfTl-UΝ SYDФz?wK߂sU<|QK|DUb}fi,?າ@OPFIJD'sfuO?Y ۓ6:vQ :R>u]p; z. oUE =sWBWVrYcGDwߖ?<L]B9 pn޿)->#;Ej%x!tMc(j<w%l`T SAyٺOh@8OpC'YHrx̦:Fҋ9VM}ҡ9!FPMoEjF'31eg۲r52V6{=-Q "(E&*> ftHlO$D_ߵ|$Z(أכ?H{GOF1M?5ڪ%?>EL <}Q$vN( ` 45-@,5UɭE)*mk;<^:R(Hs PyI2c'']euYcGk]=fhV8PpﲐgB @{74Xg.n Պ06kӎN wWz8\=]B~u=c}b=2\^f`uP-(w/m>XI4x@,E Ƨ׵{eu|-CW #X&>eqB[%ƃlEM*5S]PD<+.u;#a?|Kq#L$X) q@\| ЀN]2=QUWC*e^ܤfDٿ-WȘk}farLզ~aBN,OP.C/aIR_|j_Hx5KeERKT,_ QP}]b+|#-AW=q IRg50f8NNK!4drJ/tM`.?^8ȄQ5qMz>uriYpQcŖiE㥥Mp*1/?w\v gQP;ӹ ϐ{D'bTDfoMSBq| a|^s[ w)^`4y>h3('g 0Qnx Ǡ¼߸H6xx z*W4mo"{Ɂx,:BHc" 2q)9yKpϦW"z_z)ܣ8~RU26㾋зvØAz]WqZaXci7 T)?FW%AT>^ ޾: xJaf|%~{6MXnR0 faG@_ Ux[fwϾL[EMxJ3LYBɞl)r _&sfUu*h~>kuw"0m0a͓$j_S J!8W?AeRR)O$\1gVMVm:0FT)7ㆥh)튇ZwE;EE%|U߉bM ) 9 9BU9PmSz $:Rb.,͖:Qqp~O> x۪QvWEy%OC?H//M Ԍ-DlPfVbXYB72-w}F"w.w 2ڬNAJ0X,YNs Ya8Yzۥkwrsn0;6 lSȚ,ZvРvowO.?WH_/K߽yւ$*]@uw [*;ᇪ$E*ƣ^F}K*|z($ea|̖&'{⩚rgxɉL26M6G:+UGW}򙫷T A>='"HH!R+|G_Z!=E^n&oCx[1߼*7{Itߛ(H}(,@peSC3fT4bjTow<])k1Ө(ttg⾻@ś = rW>HA_D[P0rs79q+tY]ŗ1E)}^$u[?㣖8'sfWK m uq]6=5/{RbђpmG ֳfޚ4k_Dr `/!N1W|$i/ }s-u1pQF;XXlQlϪxz5!ӕ/zgc~*mh]GR1jjބ>%b|tՐe?:ޱTonS eOOUs֓vafZglZONGTcֵu n+|_ܟ*PȴGvbV1{SݰCg;+K<~ϸM׌yɫIVqZmL028K]ixx >UFnLSD@&EOFI7sHFIE)ЖKnX{8S-T¿Air ǚ7$.'8s4#[egI̽U@N=Kg/V؋l,PGKf{+dj (S!vdVŤ2 J#2]3aI>2?1V`q>˭6z=Y^zEѯ^m7H0- Cvz T8E 3/2jr\i~f|C'눾F z'!v#S c>H~i*߻zoxR>Dc7\?CU/U|=\WlĆ ,"0OS'T<5Z'~oQ쥅d٢`M 1 l4h#n9J eM5Yda1V^o=R]i i98eN33Z⵳=3-.ϻLt^$`@AfǺA2(O6/DSgkJ`yZAuh ³,RkDжWtZsnNNPq/G*ىKnǝc6"$$|go>q]lWzB >J2g7O: w7H džd3ۀC庽Z)dLʔBquWEКGH/auPJ8楂c+!upQ=,vMLhpRJ|cfHq H;kYsKg3E:ag\ӔGSqp!QF V(Q-gL֙0+GJl$Sp,tq[+_d ^w?xv\.Lթw}h"+EBl4fqLDtrBY&50(G&!9щ0%DѪjf{؁g83W+m!wE3C[jtST ? S;u{3aZ[ <^ + E5_,.<sׂ`frDžmPJC=FЂR6xTz@p8bXr|Eih 9E7] ̾o۔ <2L-蚺Yr9"![f&h"̍0yq#M)Ӧ"XZa Qm!LL-d 5GzNJD,/Z*w2#zxo7Sz:aa:0Cd/bZT9CE U\T,c}okδxlX x*D`^L%T;~ NɻgOX$\a\ecPW[QF8SK1PlR˔'9E/ Unc3k.22.ijԇq33ē_,:h,};fZ81[L:H_#.Tnx|I]ZbJ9s<Ԓ“^_Ѧ_,u(ڙ.ȅF02tZ&T&}ܜdOɹ^p麦T} \ |)~:$H'm#69H+/S)of];"o‹#MS#nhpl 7֨L*mP̺* l$ō%{V_AM,aJC8  r;$`#DŲUkt-xX<PەzIJ⅝7OsxR>.ᤛo۝X:Zð0M=4|o THKDGvV$(ӵz6]S}sP=|wQc/Sj9;h[2 įCX.#QjgGR=(Zbũg1mZr @<TҼxó*K$eڣJ$G;C.pU ٶb+)&-2-'#),!,xx8EK1'!?Ѿw;VpBjV  ])#D9OZzV=4) jc-ea k@֐X(@gqgl|Σ׌$ $zxq}))0qXc|K"BEL`hUADb$PThECK lf*?p]Dq< xfPi)j-ɛL\]]7͇<4=A>z`ӎ^rn=緔Ve#B N# NRQ& Sxҷ8d?@AϤe UK䅾+.wV6}el LGHaґy@/&|y=zZnוQ:p9\`+S92x,1c ,(#ﴼn)\u.IcbRZ{Xe +ߢw |k}J؁t8!훶G>l+g]hڏ2nc*h6/#%)ᱨo6D͍=5ebQx[A3pKKRШח}B?4ާNK=b4lxMK/*Үw*6vˌ0GP BSV6> 9$d=+k?f:t/Cƈ"0tTRH^%R3dJ[/ I,~{ɅTk!Ɓo3Yvג* &pX9? "sWvS $sk$!e`ϼM38XҖ[8Ppq01.}f~7rG ? |@"STȏMtV{&z{ѥܬ'Qf0GP7!鎣ioB#^E1_DxuEQs(XIk5h$2!J[q  i :&ZB/o h8Jt/~N-[dx<G36!Q/$>.<'kݨ Vޜ {;F>aa {*RKHw_Aa7п|pT ~*Cs5{ɯm)ztX{돹e`[="/TKuM@ hъ?n)wM};# seݦԠpǡ;@+@lʗNk'.|=RĎ7(Z9ΟY;ðFzP=vETJP˴ o/؈hݗiڋ!4 m6{`gb,LА]؅d R#KX7>ISho* WƯH^fL,Gn/l{fڵkP{Dnmy:5Ra5JyXH(-# ׌= j. fM 5@C#iYn>RYkG.=,~4r =a)Zb>QRL~ܘG妓A^>LÀd#xN^Y܌ |.s#MGłdzF т& KCgQ# \.c}:Mȃpt熬)!Šū} ֕2މm+Y j/3A&Rfח@|DZd};#eދ)y5ݨƞO 1yJW 9I-z?s@.9s0҇s̝A*a?7: V~dbL+ 䜕uPfဥgTD$SN"ǘigJŧ;] &֞sӭL(8\҂nɄ.04Kvdk wˎX Wĕ6OvuFH$Z2DfU:Ȳ.w!ۭq6wG;Eb8q >ȐcqU 2vPS%3Py Z;cvBw!v&)CZٵ& mraa۪RSq8ag]K ܽNCw@y١:+_),596y=~ IYL?D5ODYn1OƵ\-KIIrPd834zzF\ $0x'3Q\eUAYOe<;]=׼M8F 4zbLēm0* Uuуk:uz'C-Oh%%>h-|6Hesvۊm~ޓ4g4:YU/Zƀl]{pD

HfF9)6h]+t|>b,Ue,| S-1J*;[OjuںDp<{"mOX@ ӍVMP".Inzz?NzJ0Ruȷ}ZLdm V?ÈgP~Gܷy % Z˱5#Pj٩xEsrW+_'}ŏjpƵCHSOM _4GHeګ+2y yZK6/pƠ'"}{|3>bl-L0s HP#J;kWh~z:a ޿FRϬ_5N*!G|o -lSs{|o)sĨG1/˯{g\hlsE&f#`l'Qmn`:dNcF$sYMC=[GZU{\I;PqKZrg'Xt]\; FfЬK¹Y녔ؖ()&E Jᐝo$|s<:+~E1©5w *&6.qo (?U(ƞzTIʗ]ΓÕ(5u 'Ec]l{ϧNz U%qtܬ (nIK,G4xTm:amPVs/91c*$y#P6󱧓>kװT;`K?>RkDIw(#r>am!Ajxs]N>tʊAZ:5xNR M<9&-.fwxT; `޼tOn9*Б)ϫS-!r}]/cBgMSu+'JPZC!\B\U<*lzTBLL#hsi{Abj#P{Ct= KO;S/SD!OWfW6W5$؍N(~ȵζȺ{i#]2G21fZ堻ol0 oac)Zu20꼕~|Z˦,3Kswٞ.y;RQ e lQGX-U0iS膎q倫"l%ň/1Muw3;.U8l %1nrЌa-j#mhлAi_(a=c]?)Za@kS;o][oQV'Ar.l֒kWrWm|xS$}*41q0PMuM(]nZ+R59?V z˖N0~JJ+(3,b^^S^Dh,{s=#W8Mnr?Gt!BɋStq?!Tb֞-kyq{0nݜ ȊR%Ky!S<4$-V0"\wȊ̙cKSh(i| \5 12qg׎$ `gzWv<%2d}ѯV~VR<ã5-mGSVVMI=dQ\06OW=U+\/Dyk~1C4&_S$B\7A)xl6>aw~! rw_C)ZcvVp_TFq?/V?wsy,tb/O+L}`<[;;D_\YyW9᭍I OV_R.s$Ǘz>Z^O#Д .(A-&"OvҳD$+֜+k%,!2xGx\:XV.T"!1Ik3@6 T&PDfU2n%~RYH> ~?H@w-*Ϧr9'iUX-P{[PzUT̝* M0V  \dC/9k_e ӫ.kROĹ6𝥐g|@TxUZyqYFDTkjNZT@\\fBe]vIsZzjn*,ְah$gaMA:¡T#y|vF !6:r )Ge-|`ߵt9J 9*5YAcSB0/CV{&j]U%:trE {F|":lt_ w|u:@N0U^ ЬA wFkǪՒ"1~p4(5n }Օc'VÐa!'TPs,[$\+U,O|$Iڙ(!KoAy?(viWsP 䝨*(1ŋS@_|U0 "ohS(s*#jbA u&WGLh|V<\ VB Gm'3=߷X,dm{gWZ="IQAe}: Hi%"ǝ `6+(IfUG,RM)6Kw ,sRVzM+M'PJ0 Bur*\6%)=ARP}2VJGu:ຸ]FG)--z׳@#OC27":LThu"lԟ7bsQf̉2_"El],#t5|\MYvuQfn}2}=DɩP zh&",⽺e-|"L3=1Ϊ=M)u ~kK; Pd8œf|e+@1gjV@!3 (De`IGV"=!6UsU3ju '_Eb[/GW̊*ұ>JH)I AR5>ָ֜Ejn(u KR]SY55ᩔToZ)APΓ5ij&ϦN C=ZLRQA".ѱq :.Uǁ5ϰ` L2ŊlH@MgWU9*í@Wk#.̋bPn1 DQH~4^#@2hIncG',:'\rfծrj>7 7Pӭ'$:(~B ݇6߽‚eJZ;VwNz ia%9 {Z~"}V.xΔy+SQ9!>^u8y~`uz[;̗M E'$] ӦY=QYe)vb?9`cɓ CɸWS XJwyQE\5<1]FE8 MSPmQoyc=2и%GbˌqC@=E%8"B) zy}Ho7L6ELmIzΜc@鯂(Q+0ƽ Ke& .cd(: %4T>.DRnm'DiMɘ[Rx $_΂\>`x=~ ˗,zF ~,,]SlRZZ L4){LÚ`ӅO ;$JƏ+\3~uYN)kQ NW)g$vjynsҺȳLW.eks&Msba1;};{DwI{ڵXBJߕ;/gq< _Vj @Χa/`e(] 8uyM;y;U-@sEr4P & @Q>7LX<>[胨8TPh|$Cw,48Thk~QJ|5wYt|8~GCF#TP6kE3r7H̩gQPwe1XXwoH$:@{3'bzf94qI#ggZ5`8πV][ra=8jۈXPDm|ڬ -moӠ,8 g. "<, ;q}-xц1L3K,ʟ"Hy3/2inZ$d} \Am@2& *q)-ͥ,?=00B c0c#L3g ʈ&OF8|WfZ _aC_9ˡKW:αb}hS(x,2g ͽ/S'T@6E`Gmdb>V7d#?L]vTbd*jHu TOKst.St>,+  zx՛@J5{oLp7itC{׺͸)Um8ׯJ$d"c+%2so(6-rzȘ8߮ ˰TJz[P{EYW|i m54bAqQnI#A"- صͣ7B0Nk3887i =h{}nqZ1ȑW3ȌԾQmrC!6_#[]pe=T~{cn"Uδ;OMǺr*RKgO;ժF=[(O~K\s֕cAX!i@cڵ]-kwoy?btՠPUq=`X *T ]HMĝ^ 7߃U57 #jn@^?m#}D9^5!e[l,dnw7SK{j .'oX,^[yTez;Gt~%-3^ W4Y[e7򉙜mh.E1!6aqoR )rtg{/eCo<,e*MVG+'UrKܻ%NlT~9Q-'0avckRFベGKF~m@˻1w7DtbIt=&15p=|R׾Tn>ZƎW;oz|]zNaD7=d|oEu a~Zlˇ׬0@{5npkX YkJ01_zZj Q -fO&m7ͦU'W >ѐo %^R,̷\J-.@g~. bDvܯ}T%'o)nrz+s0Dg@J~{0 T.q,KvI2)b[p@54B|oڟ>bTp̰O#4w6EyT~p҇ԫ_l_0jm 7>7؏mU岗q ʔ!S b$b2 ˜avuWz86HS2ee'tf?wx?0|u0?;[$yY9_{SS|!Q(^wasmrPDrǜp"I{Lm]#7$p 75ƟR̽#wKϮJWIΑL0{t[MO#z57e"{UdMNBK S&~Hj[u\"e.{hN4|;LsMܶ=9mG2/P4~4>diRr"wowCn zp!C!DYdf}&mjtƦJIXtkټڡv gKPb&C~[j?BԲBbv W}-8G*ZE>5#O;7C`)S0J1(/#'鬦a?󋪤އj6S>_m_QBIu\D퓶V,r4S pg7_L`Pۗ$C u\Dة|mguHT2!ghp6g?&ʟ}TѶ#VYƭn`8lbfw~  fPR=Ȕ @!G2ek ۳TjoZ@x% -9*ɵ-4r$Mwf1\vvX2zK6Sjh{<(tOhn=cK_ifoM3+`p2iu*"S]. ('7~΀N'woӝxK@ɔyddaiNNsӚeՙUbzrX]LUlעSgΏ?\bkO9zkAy8~HxA1tQaKK)#J $}-<,6WH%i%pD}9K$N}koWC sTz1 @|mz] v-d-CCU#lx@|CW~Rxu3/Ӂ~lٶP,y!hd/J_ュroNWtS$yQBVwE~9p+=( 8)⤅ \ ;4~:.Rp<=^ g'Z3m]d li.;ߥ{']tDֿUyߪ*{?חX dhh9WƒW{ pƢ e Tq𦴤ln+ 4Q,읅I%V']IꪇMwl` f r>[TSj2rC Df~= lf#N;tek 'W2 \֍#XrG.I%E0KD k>^>Laͼ9gmnh2!M#WRgp7K]4#<$ٛM7ގa^4mFg"yib,dCC(,l)6kyIfܜ#NV+hqR]Eu>61\?omJљ>+ Y;4i /`4jL[eFF"D4~AjBK1#x}sZb 7xm AñKh4ǡ|̉ ND2AAF {'Rv 0;.;8 7Sϡ1zU;~߹IISW}$|ƞ77~Q"+|ɇAQ$`sh\0  e=Ӌƒ{NQ sw٤TYG.R:vg_aɑ;h{ߵ]"'=".1Le@B3Nh?FQlG5o;h%@ gu8=Xkb3>&ׇ8Gg;s$VdQNcY e]lΆ74LqBipR7(1){~ tS55v)uVR/ prJe}[H]D, Yĸ`cjh~? ]8C<|9ARRP-_7|A`);4N']VD^J$j}ut636oIGL5h 3/<hVـ/Oqv 棗Y* 5n't]OS l2DN~1 9B4Ǻ:gMv|18ÖEynFɔ!ic_~4n `N LhT{$hif*Ը޹>7_(`v V%w ȕtфv!N K 9i /+@ǥ^%s]>T)ye8x8pLu^F {+Ep'_d#YU}f룝@W1uZɏqi'ҝhN"ocVRާmK|뱳bJE*)=ؽ'CpcWUTgŒaA|N! WNp1IYu'|X[m9蘎Mf 𹴈ٯAcH;pOBmUu[mL:S8hlY#mƍ=@޽OeO %JgTm N&VFˣ`QZdR5ҷ}lV77 Uy 43৔gCYDyKqQ6Vmyc%_YT& $bj/"k|ZU7Qh '|w`$&Z~I uvhxn3S]-|)P~ ݔ:1ɞs+-fVnZ"Rꡱ LQ?cu9nc 3v(#u8z}r$,S .L_N~Nj,I7=t5 2zxot&?OdރҤjU]~_u>#sBHr\Ɠ4CFH&[%(F]#^F@cJaZEQ?/s-qLN'w_ؿ=3jG:h#av 9ųV"3I`Fz7▮Lװɟ>ׄ_.E-o?U\`B70Lz3s ac_<|^1`/dqï #LԜ6F!TQoΒmPȘ^lc?ZUvt\/yW`Z$luⲳPl;3j$i{Kƽ P00t8=N( ԇpI,ދS7Ḿ_U?B=Zű U?崖E']-t;+Oo+P\vz]a67zyZ~:t/^ܲwoo%?SC'XH]kqs)HgO}fk~">\pߠ~uG:8"lCƓf$G!o'<1? XMc0-$q&g&}y>T~s:w.Fӷ߆U{ιvA1#&,=C["hװe 6e =3WyZÊN*>^ah\Z yĤf ނPi+} V"HbSI .[zn"o਷!q?b WU֏2 ?u Fj LW|^SFFL^x@r=1(xYEߗוej7S ff$dJL?3vKewYA_Bj g|FZط煢ur㤋q5j~7lklFUfv`L=/cuSNxYbM{24vTWma+hͽfJ]D.*iu<h*`~_V)@Oj ϣ}ʭivk̘Iİc//S+zB+DE% 2bu^etltyPLJ݅h?O4v0_Vy0,b%3#d*:ÐG)rM|Bۼk0)U3Gs%x1?@c66-_V.5 |"V!3Qo3N{)L>&ag)]QAh/*30-ؙL:ႜ 9 MQQ9oo,4LkY YWZm@uCYElAe4jK:yL5ЂZў팚UY\R^DF5< ?xյjj7eW\|n*b|sAmbuKd _i VI=J#fHpX7U CR&m *P!(*Ut{dL v%$% rr8=" }jeSJ),Pj1<@m_q7|ԡ쭁DXa .},ZO%*[$M#d=,r |U;&6"~PN/ ?tdg\Nn<H4^#5E}Grp*'\E1f?M)Zuq< CwX Do1 S0fR]̇Ń4 J.mX!x|0.ofsHGRU]T]|sB\X|c_1* gPi,[v*fIc瘚oTAv>pwGypX+'I*T 527Y-зj;vyb7_9H'-hQakAxb/oc2Dq){)kca?ڃ/i:0v{7yu? xݦtl..m*PG `Smi`5!Ò{XSu@iސL]QNvR?u5RL24rT-:Ʀ珽2$=3%Z#|*s-P7g(ƒv(gYpoGph}mwviWQ@8˯1c+90FO#֨MJ81I=E1uU&n._:@Wǵ?a|R1:ͱ`Q}A>JB%ܤx'%v$WFQqO}Ƙ+9b΀Ry:G(j\&&ߓA*F&AF1ar7h @o+ ,r¸ Ik-(nBM"nIn(PJ)[32mȈlx'D qphZQ^k]gl@+=gZs؃ץgDH)0Io9T4JOYQ%bM4*8O##T4g.)ۼ4.7w,YB1!@:ǚR2(m37oAHb D_ <g-0 @DIAJ9\?Uhiwl6PZJ^k. 6 k!{ OR)ȍ]Ye9 jg*/03UUg Er $k\&}ql{bsS.Q|p ⇨J\7zx= E5u cEif#좶ڧ4i6aN`C`1g?\(B담M;Jxn+e3#[7}n3GdZvd\.ip"ܲ(fǏf7I8FN̺΍pQk ŵMq=ZBlŤP0¸mP0pywӉ fܜ,_,刻۹-A5pk(#:RGv +x mHR;oy5:O>WA!3tN%'(n&A* b~0&;9:ʙүŻݽWtzsc8DˬrjDQUҨ|#۔Y9}׸..މ2Mks뾺eR4 Y'ì& Gl!'}.[I>!9iI{Hct|/G蚪^e#N/[yh'C 7ɪLeaGT@vzͽ̟v֩T6ѫZ۠iž(A0N,b{iRhIeJs(I &J`bw\\ƹ٩+ +fxkmP)u^w$c]5%ku7\^bA f?T-!l, b*$75~C^.gRLL18*`^'fr]:\.NWe,{cI^pC.̚k\cN"ʭ!BJm.aܼ۟PM1犦'櫽7Id'vM%MZF8PzX!w`hX!*OV'ho2w/#zCS~ƺ~2r>gb;?EF, ^ǨFTqn]jګ5N׃jv)'v ?i\b&)k^} ٳ?>N((@X9c@=2o""or62P#8!4۩#vܷ(-d-nz`u kغ[mn/9{ (Mvd+@ҁऻ9/\,ɪ]RτbdLU7p1x1) Nw+ɣz7x!Wm?, Zio"` Aș964-pNDLetSq6AoZB:CtZWxL檨BΧH 2bU9?1|`Yu }(*&Rm6 _H?vnl 3~QTÐeqZ&T_uAR 9r% mǰn(SaxM⪿ڿCMߚ>? G!ԻBI>>͵h0#ܭtՂX=ܟM dK}>jE ."7=%35%aLiey&- nj,km~ aSb9~pi{|]eJ<40C{=**ϐhgK\F০|I$Mde9aϯ `ּlÕ([ӏF*F d %I0ETzG6Ebs['PP9ЭiYNnJ_&]рU`r-=ӑ:)T

Ags'rn`iiK2ho訸5Ҙ ʧϪv%*f{Pwsc̫ ⦒ In{BrDG;N Fh繹]NB1l"yScfz9Q9ߠxZ_5IR0D@ Cm˭-W ГЙ<}&][3LsS6?/-9EQ|CnUݔoz. aMrGJjjj9Jr|q܉P㊲U;H ? 4 5 ^S@H kd:4``9#(M}6zʥ!=GTp#7}I K.6 h< 8Ek^?=8{a:~/ Ew13>:^X @mbrze`]X*y.QMC#ăyKSW&%̢d\2+)%=L/&rM}sFTЬԢcKR” &z;x^qAgi geٸ00k)Z_y$z?溌U8&SR(YJ8UG%UMH4 iqw,$ᢀQxRu4,> DS~(,LaG>S(EU=k&`ÄUHtHT4mEc;L%Jwe5I36b>JГ&-uBX6E|{gV` 9n`,wZOJ`\ҳ|<&l YyBk/BxIsîUj vG^q.Om)51,Ls[K3ꎖ(-?3q4zdXYU*507ē9YV#+UOQ4d!fBt&u;:&0f9$~|p]bK~y1"+v>ڂuu!`wn6yָ,{NikvȫJ~'zTL卵慿i$߯{MbպlثƊzݩuιC>SV\?z\Kp8na.s4DD#|cafDS3xUI3klC(HD3GͱQ IL*n{GsO׆`]haop1l?~!V%oc6D~( z0\a Jr[u8M5xRz'm>zm_0.=>"f x}cZfU7 |H[PTf\w0|a$!\A],ĝk[¤2'JY̎Z+ScYe[prR Q )'I) E}Mf|9Ot "9Z1 ^aw)H !Ulł zGP\;k%Y~CG$MovakOfgvS`cd1ˎ-!kǯStc4p_Mcǡ}S}$ /{p;M8qi[dU6`E/OYqOLX-h|hL`1 b EB9HXeb@ 1(5\g3CvtH3 *h(nEwr[*X@M+fxV %r!W%o۾R7[\v̆PƁr՟XrHJnߝi?B/H{(KM† ݿwc[_b[ߦ;K?aFg_#3d-4A⩉?~5"l p,#Y!wh T͎hcOdoV[?Q~bYs㒭,Rhva˝ !y+->yf`OBpTC/tw)EIz~>{П}$5w~,I1Zdw< DY:yxz.@|[Vcq %ę`یohRU|  hH'}ѓl-M;~[Y*V[%50iܥHKX:xU0`Gjai+Y+B O7`q_8QXJ'+0y*y-e#SЫԱyήSr[q1*朴(M4XgA籽')1$̼\ew{:8ʨA9බZHgL-4ڐG; oдDV7F0:jOvFq|:V9f :~_jv3]Ũ5vmAv1W<՚Pܗ>A 8 |BwM3h:1}^FSe&@|dw>1%-dk+lJUDz,z*~r ߕ&4cB6>!b~jS:H]1t͠2Vq gH~!MPmp_Ԡ퇕+Y ū1k.93G V)ЖZkږx!$&JOc~a ?`oi+vH.Ϗ;VW~Gv{S8bT[Fc c'Ej\W B,?SBYIFY/Y:)ڥskBR eDrGbc3aZtf^ά~kp#(myݣDօd9! 뗮Me&{`QBg(,'ɉc0.3@Nlrϱɚ廷䓾ax*ϭSLc Fd\a60l=Thi  9?ߗn%E(Nv"SWÀ ߽k>Km7Q.\ǐ`&9-$ ≦XCöLnZ@j > b&A+\#Y%,VAԳN ߥ~s>*U+_y^`F'o"{W5rAb 9bp*pS1%FƠӉJsȾ^3l]*#㢟]?~sQH);)W(y l*r44E0;-+{ @a蚯ȡV rEi&C<3vtmNJN"??m n^3PڍdY]{'C9:f$ŷd-W;Q]{7-sຓsQzDo~25s6C,ܡi[vM[ r ՟L #!G lwZr rkxޤ,'H\e2]ybW5> ne6CTC*ic)xOV1:!k`< 7fprI Qđ\SkC؍rb4)yxv۔qA.7#e`I !\wy\zCZZn,e(n2?TG e[FYzVnyf 1B[hDpX[q\Lˉfڍq0At1=hjSfrȴZN kYlZqcX}tB|X?ffig93솝ݭ&PM?~6o,VA_JM.,Bɝ}d@U2RuZ+A'Q([  <Ŭ'>V jn8"\9?Fit 呟cB0d ^Լ{S0(0ࢴ]FPu^C'3Ѧ:x2|rňo챭rfh:L%ttpd4Kh8&gÇcY.HR`f"wY5Zmb8)/o.־_H/>y-^51~:a$ x9nr "$k_=wjD }ɮ<~}Bx.LRfJi-Nen$?cATuu^(*2&;@K/g+V.N66Vz1T5BLzzlj?Hqvk$00kw ;^SqhNyMT+H gK8\؍8_>V8#ѿ+}T3/`"iLie\Jo2x ϔ$ƣD$}~?]TGnZX8(4߿,ԧFUpb4\nsSܮ"<[unnbMY1s !ߡPd|%Z}hKAᱏg{pl˔H272U`!f hv xr9bfun~j^aIw;<5!sbgCy'O~ʼ?I!%MuXnX秐yrl_(,nΌ}3's!Oy._ș$ysV( K[J+Lqd$W2癳dm5x HEvyIhïC}n`ԧ8Bb۬%?ra#Q9.!a:/vҽ{Awu 1uo;QwL g ND>Jci't.p`<2iX*U)sW->3"{8bh;$+M@]ۂyL[eþQxە^r-zR xEϡ|Q4,rɤ!L+% w`:EhpeP}I!It$iZ''"ot-5FG.|=yc^gQ1YhZ~r`X4^KjV__Csb-fFh1 |.TesQ,he~2@я8||ǥ/H-Zm=/ J`"a!ΨP8~>-dU#6BPjV0 H8bK=|Fu fCOĩXi(qۥ]Mr`QoRyƩv/~˷)6Ϝgx`/wh4sz9AuUP\cl2yW|Z1`KY;Ck%`kouwP0Rݗht )C`0'beRfόy\Pxcn>y(AU< g;4v}>܌|yן N (<*EHVx%ij[m(ȩUѫ#O"FA)63.Vݓn%HdcP#:d>UGnZ )u_Κ9L(gpDS1'zM?"1)=kLɏacK~ mUHo"vi}ݮU(ua*v1\8c F&?dEJi !h ZuҌ=@3 R+[{亮|X}stL*'rI8eZ6 u'z$ʵkd΃ŠqvBTIJ$ Q{Q1yc5@ !C+*_6s@ u|+N~7Ө3C: r.fDŽߏU%(Y`Bcmh͢WO.V{ , qڟz{^)qyROR"@OC Ys׿`*b_ (MJ{u<zfF \w-cNƣ =EE+ϟzJ*HG&g(M; FZ."lY ?,œ3.C#,ePNsE)vgQ7ek+fm'xF7}" _U PA[=/AQ!rvKN8 &xlX͐sYg*mWpDGqnBذ8L$\ ^[T؄}˄9]^ʕYᾷ`,_:|K0/[%5@`wG{tgF<6lpӶw oPcQ'n I08NW)Q$W:څ`$?8p^9 69ke˹'^FZi "ukOUS3 ]-2o*Ȣ3pםr-^\2CK.CL88C"uOw 9ApOy#B:>cCh,o-hܲ%WY=_)ի*oM&=ɓItyGCaQ#Ӟݪo:s#y|ji\’!+|Oe^H|L :tF4#5J\R (4V?Ƴ/7ÿZ ۩XlvT`B;h9`gDwBȚRWv=z 4+G"Itl~tSA?SG Ag(z[P[\  ! @6?zLC&TWkP\j۹9MyaӧC脼 Y D:Chaޝ(Ǫ6!1GKdjs, vj3 Pe >OE_9HyQv8Rsޠ3L*<wC֙[f"rem3 Juъ07l&|'k׾S{4pѯ_ @BB[VVH,[ D%K- \i'~,7F]GM1L4,J&uşvFY%[tMv:[բ)?&_l)핈WdIb|kj{"ȯ)4Ŝ잽"0yUkܺ](WNr$T&ME2fEϗV fO^vL6$;@^#J$#^[zA0T=jbN\ιz ; ǻޚp}wpJ*P`-ZH%+K":( [A6V | !n:gkESJr/iBMtYl>p>˲X=Hq_ &`j.hþ #JY5a\Y>W҄H?7o4oʌn3o,:+|^v8>m B(Cc| 9zG8''!Ui0< u 26*DXj"iqF&Z;`3T02#!G__<0MC8[MH%X$!fRnTGMAD "*+bVk 2oR&ĦNp0+w(HHS-*Gx5y^i*jRHXd#^V ~l Y?Z*`Pr^r0ȁXCo= eOMJrt@NyL}n@is4z PG=kD|; Tre|:hJ|~.o*%)39T 3f*:ոؿCP9:JX0%l,YDGΒz1I@h/#! vkvW2-MP ʻ2oC}Ž6Y+؋$}fd)PJՉhlƻ Ά,0Z;`ՒQJs>v4!4d.+YHÈ-iE3\Rw{J v:f' )OnDJ!Yҋ >+x $|@C.:>&DPePYFAh5bM[l`6\W8@"V2[-z_*Z(eM*r ВM6Cai:ZEYwuQ>"< ͩ Go/3IG{|V摶xhiq4__gKRV3iJ\Nי}LTd+r7l:en!h=> ղH^ɯ@DZ)>G cu@;"ia C^􎂻€&&CР`n3; B9F7KY=ğgvYG+`U q U:i/a8,I=פae4;fB\{.Kv{\[Xb#q&Bx +TN۸].+8<1^S24r q]=X'SjC$)ʘAFak |f@"̀3 P hl8KD*)~-HYyĨ'b puGTo7j}S]3昜i#Sd2x ,'!*>)VQ5\,@^7\7SRN:_&h%G:?G)׿ ѱV4Nt&=E=F&BN8.yuL\{"pW;ä̖$.4##ߑr/1?ݵQ&C t8"3m˕o?q@<)*ư6/ra$kLv[)`p^KްOI[E -Na8\#5I0P.~A׍,bJ;0ͥ(œOZrЍNA_/xi ]Z?Ċ[ۑ%i^8SYH)L)`uC@IgфЀ9٬q[G<'DX~UI>S&_"Q,ł uG>CWS&4ԁe; ?s>EƞU`R;gyk\2s'Cj]*z]RUs q4tf1>C7E@.wv]#3gMՍ؝Z1% 5OXڠ'ԗHzL _|JDwdN@%/hlH&oAookbcB K*˵V&.D$%SC \)h>ސO`GJ,?}8^ r[v;]HMk*@qalA8;S ~C,HboJA\E{(ա='->)%׾XW7l\pWQE&ulZq(chH]p@f}4R7^Arx=gԃ0{l$!!o^$Q!8:&tM;0O >0 tj;6ߡOHH E F;&K?'/&=p8?o0u@|;$<l+4w+.D`U8Zx[$%=icE8=TL$ |w̮V IHLj/{+\~ʪ,/CY-C4\ؖA)f4g KNn&Q59hG.x&ԗnS9 is:C%gm 4Y[%`G\; 6iDuB-)2)oTf%?w£}0(dk,CLlSn咏tI8knFZ &y;.1I5[0~XL#"R^G+n IJඥ:sjF3;,'Wm-Q ݗ7O#'CO&J?GxG緭dʮydGfs|@T -[Bԉ mEMvQ2ݺL Xs+ZFWQ-A*2cJ57X@Y Cjf\+̺:i{37;T y'efIyEǡ`(hjրמ RY})1]3pt8\!d,3bٗuU=2>͌:hΚV w[7`4ZZ 2TbÙFṞSW.nN4o=+?K/,}ݿ1V[x$AyfMN+Gf,:M(ǎ /QQdps|2 THWO:oo-J6*]1e#*F+#&$NV豠M1?UTu㋈-88QHV0 ؂<ݏT̈́eJJ=ʸ%'όD7ҥ}_AK6,lFvbYo%n>gnSBOyQm}EAdѕS?na:ܕp'q]&4"YOqBނw *+rhD3GQo;Y`  Bپ;=8Ǡ:@Yߠ)k!zM:ZPURNI. DDgͨÒ8]{ _MJ%3|j)8:aXR^} MR"tspZ9'x;zPQE@2dk900['=xIʼnuz `Y%@+ 6ha𖙼70֜ɩ݋jZ$t9K3"J6/[3x7CHa\@UQ |ZEV)nE `zkao0`sהܐH퓔` ؂ jGZ_{imG"DDMՊIωv|.n]`?wXD& 1&J{GӘ: pÞ-=JOYqe'u"R@] ʇ=31E"e½xL5o 6~*Ű?KU[a߷xb7O{f:XhME2V~3Lx)&%N>oc}JQ)Ӥ|kŀ }gHJQS>°v#%qjS[s I/v!{f{j#%TP6rN0du xQFL }pq<53.C2-5ri&~Yyz5i&_ j&DSz x=kzjs 90֖FCO'_N12fa/CZQĈݒn5#GBW@gdg s6'˶6Wܸ<2~teC \o05nX]rB1tJ_'GRB倇Z-&c1~`ɂ)X*ak{2PXWtk˩~lҤͫ.A 3$-{{ũӈATd\ K0lh;Q]^+V|l3M0CS O0#RIb-E]ݴWb:Wl /u{JIyLBwhO7JZ(qr2 PI?:x |5nÖgاlmP:,w"Ӭ"7ZÒDzhk :2aȶQ i׿/5RB:I*:K C^wnpG іBۛ]L~2 茰AzQ&&^.v>(0ΰީ1]c"Q s-G *,--M-{@kG7U ^Q[?=~mc\~<_A"YWslɢ ,(N:yoѫt{5mnbt LYYFO1R:'"RYi%?hJU P\5L Y踉9&m5Ô?1 ;ˬéu?ٙ$ \AMf td)Z?+UC1pr0_ m8vM.%>0TN2QvӅ],m߈M` m|WZ3{"T %ȂgbQ]in=8'0QҜ 3N2=uBfHckf7O*% (=#c&b2<яF&{2!uщ۞c;_Kat$ݸ\ԥ)9h5 pࠏM,hz"L.?y0Z;nSDC9Qިppʯ!)6)X;oC6@ub:q"iaijXˊ&\O%WIQ/3XkDla0~ז2-F:P^;p'47!.(gONQ) Q-;lt~\ m%qvz[mǺ^$z YakHiƖb?B{*2 ]'d ԥRaXK]Ƹ {¬SBrHWN/9گw<8d5}U9Z1y1|AFFr5dex8`N8߉n1,_n&n.XVgH`Uxc2°h9ᯛe8pݕݹxrA;}7X5'l"$oR8&q91 eiu[2.ɋ,LJzڂsKfȇ :z8 K}BZuMUrȟ;>lQȕ(?gsflqnT*v晋#Cx셁hXkQӬhg~\om8z|ɀϹNx+iȳFw@dPQwk)"z ^ғ^f.pXkΑ 7Owrr1i'ne!O e:@&;SbMχ;XHU?XW8pE̝ᴋ,2@s;wVo @1CM']BC"#Ga!_7ffuDpqwW&".vajiZK%ѦU&BM;΀԰ `z?f(\؊Q-lګ4 -=Iw9c(fsxT ktCy\ZL0} B 4I3T5O;mhI Z ښ9r)n; jpɈ5e8Ch!Y'SۥK.bmT+8YOjs`%iB{ϡ,GC_ٷb\^̿JYpV)kAQoLv8%5S2MQPSC`O2m6ے&)X$vΙ5vH6:W4';_+<)",^>ŬtǍ)yͺmE#K} F8 ^~jNP_Yd9Rkf((v4 dle lL Oq-ͿC4YS bGhD(=܌|QЕCqSBXb hELBVǎlk ;j2֡WXaP Q _fINꔏ*X }=DDB׾-~]! wܰEc^(.M'Ȗ)#<_(hSH.ZƺɃHD-׆uE}&b//{z}͑wQF20r*{\m6>;5Ե[Jߣ=3"Iq:}trɘ6CɭTm[ gC>= K~`Xxk!:$/;슁iÔ)R$G  M/<[,=()vnI`*=CmKGzr2Й=ʯѫ^Y# faZ6ɗThLv 5SƁ\reS0b7n&Yf|߫`\WrAJI_֦/̈\1 jm^n%Cju}޼uY<$TՂchKxB8펕s+.SD,'9ۏ؞.h[T]T(!Ap~;t]o=/ `уB5UH64ƾH]%z$X4.t=`@4I,Ԓo8P3\_j$YnF`-'L UCa#$V?ߵeUKU՚u} 9YGWKZJr>qu"UׯO7YN"cZ-<ˎ1R}%9U \97S+5:jīz/C AOoB׉d++ TMyM\ƴtY왪_cj]y`8K(kp,>>:K ((/EG HxBp%$婗55iiJJNfvx@ cF2M<7F,/+0[z1-E-:%g I0̪*<}O KIKZ*a~q?պD҅ݥ#mx ;5/1]Nab1L{ިqXn@r^e[\S+J[l9LE,5n-Qj(N&~ק&Pa328 >Qg= Ķ@%5M=Z.~-s3eP ,E}Vę#Bp͟{cSOG kR3aHЕr7|g#5o޻#5Q{-Ѐ7ܝ{bY^>6 Tr%X恔cWߞ ewp;}58ϥfU0^z;N֜xl/sdA*<{*agҪ/o % VY- pg̦ 5_۞%d+Gd|zHRvՕḇ!+Da:o n,Zbkμ+?C|EW'3`xڕ4s dpB<6rAR !NLoGZ wWϦGJQVUUd1.S a7FHDJm}4$'u{*9S/NV܇kbﶯDr8x' c6 6a>Gw?1D/'v/'沯/zy^ވ+E]/|ZYӓݨ[x 1 X1˸:{=}ЎHޜRf x̊*ښ;T oagpH[LGٖP٩ANJs=k{~8un6ўـxdw{ND:B0( @Z-CE`FDqayGŷw>6n=幨}wzVcQfC##>SpEϰ륣}-/z$i>$VNF,DMr*-@{8$)Q7jD+:_␣-^-K3Bvǝ]Rxؙ Ūm[Ҿ"( cjcfǫW$2>r])lcEY3=)NW2@4P&{QV/gH J/ yGwi'0T< _ZSDWOT(_%Xz%uƋ;pž[D\10_Y?qFVmwQLG$$d`tF v^!|w?h?}Dz f9$(3q[X%/״}3A.4d]Gař5g: R9)Cv/3!cmtq3WssZ󴏜1n/?Mpyh.CfC @-b4K2nc6>;E߹! OD%N<`фY֞D _ 9QA&;;.mu+Z[ԣ+!4GCj!U Re&͂Ekv$;V둰|]n+-Pc"o+q-" HgW0HT%P VibCHTI6: F|nۍʢDd2cs'|<4{t|}Evne](`,ATXAWM"#9{cкfnGġĘ+o-݄되9bO¹z.KglQh56k9rqbd`qQΓZJ#ϙAP,a2A`:I绑:[6xZPZ>:/@}` pvK)b;4zBU4g.=R(L2 }%vBN)B!]p7 \_ ڗ/X= |G[)mӴTvi1+cVhbkPr~w\(ŀ*bHQƋdx8m`6O>pRijd+Ƃ |S&J⮜_hy<.)v@+u ^sX;_ĩ!LR/+t,%4.,/pDHt9PDɈ VG Bʂ^=;͵*󋂀CKpeAߦV uGdnfr3MZXa_pq* bFzߋ*..k!whk}]D{&X[LM1,fLaJ .78:Jv/} ,^,*TK|ӫp.1c7>فJn3q֝Wt2*wP,{+?-ڗjAQ I4ŕlQUv)|Fm3ICx:r~t0nR}sC5`M2)TN^z67aQ _^/a u'Ei(Cb~`#/Cnrf(ia>גb? ~f@f$dψyC>J޹#1nF2{W]lƢ9?S8!:>TITL R\ keTh.@09kHC[f08L[#)!ΙY , ;v ,3LmBK +jo`swH_\%q#x ?KA|8ĖC!Q׎̧`C·ܻݡ.^1 XF")u#C]sSVՎ|}2Ddcpx31n}ɔ|g}^=L^{PjRʞD]FJbj]7CU|T~x)Wpk 1uJ= Q 9 Hi`%ok`ވ0Z.>a*6J4Z0bv3%O'd[}X\Wa^'0%M@#.x̙N-KɷaG?e*UԬ}mEZ.E])D&wsjyI%EȨ6P$b9Bj'UJY" BA98e ͢ U eya7CDJP"P,Ryv!:=@Cs$R5z8O!A+b;KpGO-osxDmWq3-*>qlilsh Z8VA$Znj|$&!?V=BE4գ1Dʠk!Z,*b;[22'* xhl 8LNiHsҘ mX=zJTGJKD)4Tz/l4g^?LYv$7V㇘Xpw+9Sak 7N7'ARh@'&x.PGkquq|C 릭LDN@ 3HrJ~pF} ?C)~`8I&3%R *FeIuq b;[Aw#f7 =0ޓ,kWHqؿdH G%%纼u)RoȝP,Ԝ4<@cKA%{Q^Z?u?uܗ|o5oAvvѱm wR=L $Dy4CV=t}nKk'Ez e_3ϻ~<(^׭Ww"~yog#E{kFnH*:k-hI9 ˗>b0r0D? n,w`ґ_{]oJO L5%}RF>rTPx߁ 1SM!/N OQ5ڙ@i- HHrז_G3*b<߾窤izӢnOZvb᫓dA Tkul?l!9 ,L3:d5; -ˀkڽؖҷ m(`~wAhR&L(IjaܼO`rN."hl y ӓ;œQ`cl}0MF 155c*p R^ǔQŚ.zqJ@tLՙb2S{PXoE m{r3,@ {P_2-"5UF%iD!?ӿL>z >A E<2P\T7mU62l#O=,ʽdJU>Lh,bWiP㻾9}uO~L.p1|OwԄG#cm]9}{ҖC3󥪜Nw~&͒xC:}/v`QhD9e(n4,)vv?}.%Nc?.>8 cTVy*@7`,Z;S:;>Sh}~/oBeXC-;zSJ+K;RlefG֎wb Yq'Yl ɪM +4f#R+48k=hۢzf0qhaIؚ>.$M;q-Lz5Ulev2ѼgLO,Q1:tX7~,Y{NgWgVϵ攍^!C";1H\%nN7/ݪr~'x/ ֌pقKYuS0^S5#V2\Nqàb* P0$|ΜkZn*~8$3 Gg9{dc8zj㞦.Tl0L 3iwlEvlh΄=LWb^B!dSD?HVt>m{KMDE*pdT0;3[ig˵2r{Źd#rw] Hm>L̞Su ^Ln7qh yKa*CLJVmK3}`r&®7\ DB! iZR*]u_OXQF *hqosiAs+l},y&QAAЊ>Ğ=JEOu_/xrvGnr@yu/&jmZ IrIP@[`ZE?NJm)X\hVl.gބo1Aj،K߽Fgt Zycͭ\G75 VaQ+Lj ⅶ7k!Unhn̚xthÖm՞@M΁ɑ!![t]pߝrIP: J7x2q,k67=O+Smb=JbݠۭyYĜ%Ff띵 [ Y> pAÁoJʽVRb;b uF>q?4Vަ]@YU>?iM%|ݔm'%}-Bg5x?m3Zx*Q>| t99pSni5@6=KP8YS>yֲT݂GpϏEsgn\9bFLO|m.Z:;ڸM`K{QHr;UMYVhaɃS̞RK[56d>¹k 2`H" a.CwL7 T0BO#2oTXQ7;WVk }AԎ#VܡdGv͈MqCKk8PB@U{{k@f3nXrL7(98*E㖘À4`3p4񠕻̙\{ܳ 9/Z$p'\Je NVPy^a#;c7Qe_믕ix]ig\BA  H`LIoLi  ?5'_U^剚Df {68m!eiJ%p"(KhKh' Ez""v!"&VIca3c9N+Xu=k>u@(;mx/H\fKŧoθTZ9{DD WTZl[v4W.t[%$ ^ g"ۍK W1[ZT\q/s䃝A#Ze)Y°CUx'D;Ȉr ·/.ESN.服ɍkMJ4O(Oh(L5o yWpDsgbd^#ZG)kz_ e_ 5 ƛU%JUvC +~O3fثOi@Y eQʊ3BJQs5Z)1= "jWʤ8tZf~ 47[RP5UNJ|Z~].T '07{:~̵ =KnnT#jpG;>mrZbSSjimfE.oHꭂkhF &<8#AS` ko\oR/@c_VvΠࡣSsC=}v )էՠ}D73O V Lf]] 6<Zۄ䩒qpPRCj%38@B"Z !<+Oԍ{, 4J, Os#$ S/@N|Z,Jh PQ:aMU\d3r_u. 5üJO!EIN57:.ZzOQ #弸JSƝ,.V282YQ8μk@76cnTL$n89 _07a(TLoXa:#'*c\4JJpZw{4ts4`H4T\RϕbH$KD/@d!^Ln|f]fZq-syI6la% G h̢U!/1F~h4W[AK-2R[Ϣ_"cR&M\b7ʼn dB I;F:;1cP*YI !- v4I&ŏ'e D$a lIsc _Q?/{̈́\n4v~c^q)Sjm#oJV#DNpWS ]Un,_Ow(KhdJj<6]b:#®wo+Bt\3FmTv'⹩3uv@DXM 51 eqT ݛ*bݖN&}"9EZSq /BO> !wI?_p ?`0=G[d?߽)d۹8J,#TtY@,cxueQ}.q z 89S'é ᄂ!bkrNOcllAlx, R}k&,5\b.fpa[uPXg{%qWFݱDh6ī'ʶ_!kacr*^6Jzf +GFĨyELRҽX!%t;sۇ+MX@)I*cv(g\X}|R\ri[ͩUk :Q !=UeYJ@GM$|SH6b63U2|c7KQrj٥J˖x 0.E2'm*YzV*\^j~+5ִahPd7:С6~­<5j?_Og~EX&X--%CPa@=5p@7EZȗJvB0cVۧ@pZd) A,kkF XvNfm6G&2ʕRt֬P]*SZ)2:CKy{stmr} ?Xߠwn?Q1Oa;>l@,:w>xc;B'CIuE:&WsǦĞ=X/y2ǐ[SŮriK 塒PaPlGyǽ6_ P%|RCf4z #9 %r`" m/OYfV7tϽ +{Ud@uɩg9 eߜ-_! qF(h}WiXM2xɩ2L\GFFc?q7=@šA%Ӽ}$5Ftg팈*ׄWK]cݗ=k6+򮬍 ׸p+;05n0,rrQUJvYozh͏Me!>hwK765_\b!Q Uʿl@*{ ʉxla0@ES exF U T%&Nm$_6efA~KL*F'(p 8sgJ B_ _ RH5VH%wԷ"3$"f*IytRЍ˺^/ZT9AA풰9bz|ڊw~}r)W!;ҿ@9 "1ށ0'.!LOGLW.,-Ǹw*w'aPBfNm|!k  Kf]G< {7 =(Tq{AeSV\'M  ?]S@mjqO%A1_%e ;XxHGsUh,a\ǧ) clL1wŨ;eYNǿmII(:&4C JM¬3"yو v0̒zN fٴ0}C>ퟛ!ygǒ_:-! Kr$ccJf" Ea рY&hl5Bg6~vM{C)T$1՛hvB X ˮg Կ oYDYz3Tlz']n;}<- m Goxn_(CHBEy m3R&:,ATp%1L"{nc3p&޵x #W:m- <cXaX&a.wƹ3pWvCN'?ة"x _U_Ch2P.vV}gܓ8!^tmkNH5yybSz66 [eɑ@t:'W]Wbj5>ɳ[Ge!raw:[Bl|ۅ"jbO\+oCq]ܩ4l-tEhh̵L~?!V,x9M jq8>.Qsf6s`rQ|\jf&D.G與U*_yu+ eQ Oǵ G zftJ/ i/=ḩ! ^շT!@Esھ{::⢞ξӓ*a]=K$隳SuXx5UN(N _൲-0*gAz!6#e,Khf{.2.,=t@dJHW5D2~TE;h`a57 %g}sͮl!"<Ky;G뻯JZWNJ{kNn|N<{'k~ȹp0]7j4e;o`"HZX?}јo 7]4yF֏~ *|&=_ߩ;,?L 9fIoyq !wΚI.;(ƨϹUyiTCt=/("sR ool85;i GZcW:.W騛B4:)w\G!J2x.&K`7:;1f0 h Zm,y@P/Pڻ5u;me[Ή؉gu3ݗ9i;XpҚ%3iR5zL-y<u) :7OGKl2 C) "؅LqBͥ‹*hWF^-A.4\lw#V{|fA˙+BqmM,h$WVNk> w8Z5L@&ݟ fQHIgNMMNȿl;Z^(ai:xI2:6[†蚫FcSp{tH01ںj> #j#ta o-.wk犭!ߺ8Gj%뻥ʣ FvҋikЙsD뺌_Q~ _)aMC=Mϻ9p@d XUy71b޷³HxfN0n#A|D/o K2!0PMyd2h8 [ ҒAKObi Oޟ<Ƶ8ީT"SaFZ<9'%-\&λ$td9…%5_ux,irw&Is3b-a*CᚲC^yI ihxKЙC .a$0dy7:ߊ{oyF8? _l1Ո!zV÷XJ֭-@!he:0y2Xu=tXc+KoZ_h ݗ2+|IxIy!7=dJz4@_qL YȔ%C 7 X.r|_x79 f@Ppd>[vE;,Ne+:?ַl1l "_c?:ld,ةug*t2jo?8Π+iaKC!P!13 oJyicpk3nvV Z*]z\3`JQ54,326}&x21-|t d%>=u 2nd˓NN.9bB9'v{kCˍ%Fl$2]ľIwCc g?fKx=>g/̺җ#]*f“vIH.y_$5Ig'Ї( v&F2;eTVn7alW沭rJJZNӑjB ]ONKIRF=5S Άh>(&tz^NK_/Q~V0c# {d|0ME),oǎb>-O5Ҽd@ >nJF+Zw`5aғf$/ ܫRێ$K`&g7J/Ln8a aŐ5Z6@=?mA2-^(rT#,\w3_Om0q&\vONM$lh ʀ9>Ɲ ׅJuW_=Z&[MzQ7cW{Boj')y֖`s5hz=BrUC߅{ nfi7MZNuIF}xifԱGȝ.jS  `M5B7Q@($JύzPmn|34. XJ36g{8,rAWV+~[Hr;P~  @ +W679g$e+mM_@u95znQj Uѡ4T8V'5P5X"eja8KbŝDvsJ7lO_f.9onבlOU523rѥ8?Fπqj"H|c0e\׍Sz$z(27wDIJ^#`:vt4E(StOk ȼJI3jer*Ci&JEX(gP{-#]띺j}i pE#P$LT(G/6p r"GEHBW`]ePe1˞t"{&:> %:[#b6%qפ&´1~#<2=$NbfqH3ϭ #WRX0nDqd }&.IxcnYM}wojF 70!K550C1w>jNYF_#>"g H'3NVKA@F$С; Vt7ߠ^6n dIZ30uv^zL9#)HcKuF{OHlAC5tm?%Jb3'X}~c_ڹ1(4=y[pJj÷SI'ҽdȥ\\q9 ]m‚|aUG¨35fgvbcwm\n>ia :quu%53uRVEnl$kj=قA8v 䉄 hԤ|?䵤:GLɘ+_~[Ks!HŗXgƦؖ:6I mީ7෸F O>Z\!϶faJDz`?G>dkeKogIhv"ŸmG 6Gw _P1j^RqGiSݵM lYǩ"(n+q\`_(8MշE90Ϫ~r\ V lF &5GuJؘn8[wr}+`Z" ;6uX k]:amQ>B8nrڝ,gS:bY0I3.W|u(7|9nƍ~^w"x1}RS٩0"@G۫-ȕpRes`Qpr^Y-7XVű9 T`E*:EM"xP*G $0AvUu nRo mb;k_([djE`=e Ȳ3w7/V+(I}a9O^;;)&Gqjqs.Dn/ ?3.@DKzHo ;J6؟ ޡ˗l:ؓi ],^uwMy֪e?<Ҫ)pI!L.p./oJf /˅„ sK/@O[l>=ebܿ0EZ ;TN*0fK4ǒ$[#XIuĆ`/D @~Yyb}^YLBMQ*l u,3.}\{X/|kue|}dX^][S# ?>[D9F\# J=M\o@a3%sa4n,`D o! v~nE4V JIW/" ?ԋ nĞ9jz}C` hQ#OOH\7{Klx C=|2w \ڞ XxӠ&2_A1nUCʙÿ{ OrӤ*@!M`βoγ!!f$u1ۉy]Jt)@ks5~oTAdWBT-ʮ N!VR "2| S>W>ܫ2_GaZ|Ʉd{lm=3 Ux. ebdSq-.@s^ =8!q w[ eP:kzN])!dOMZY{Re<6@`d,6)ur cNf̕_= pÆ1b# ;E_ȬkӚML&]qT"3`׵ETOK!ּI=|$ P15y(c$jpP#| qij_īAwm,_'ԣ9^6?zAH)r_O`']8U4RhS-ԑp#_lc!M?y}7:*VJt uٻ\Je|=eVˉrۚjzYg4oقLzX#+ASFr2Jn0剀Gds-`#?H /!Qtrn fJNـB=‹#mY?>sXr"'pX ,rhM E?Ljwln\9l~ֹ"aC~P*_xKWS9Dj:'dԾ ~[mlAR`-0kkÎ W4P"2*zv''^aGDVs ؜%,U 5;w{aq34x=[|th @iw{]H3M #Nb6$w('+}$^yP*L8:[ o J'h\Da0`XR$&gj"fj4 N>˜)]_1ai؆=|os 3KBݍ^єfiXd9w,dlnfUxC PTlp+գc2抩ҿ)p\S,וkdƶ-iԴm`$98虺X A䘡jP>z'\l$BhU2Gwa2I0g@-Fކnc;U eşKE "m x X]6}[Q9Yjz]־;$`c^>^Xdhϩp?>P+) jk̴Ç]9c_Z=hj:>2W<WKdʱ2g? ǐv'}SՐڕhh_~5? vMLµ[]:g[' cg=qD#$&B OvUJ/ag3 t7fqr?gɶƋ̋oH/H1E| 'өELqr ^z(BBRXl'GۃL=Z?+Z*(DA4iXL,>C<AwcE?i79ٽmzz@T'ppnj-snm284t?g|R 8۠cy?NOA,O:6?N2UG#$ Aa.% +-:˭,rjZ2r7H \\5)6 >νh46Ŗ$cF߹-,@ȫh;m':)s0Xi'Mm0S1S~geZW:\'d)`k^ }uwiS{$"!| Q[ /sġK2޷;4;}> ̲" }fmfP)%JMTѭJB|neBwaNi7w}S3R˧|IϫBhfW_ aޛ2ʾ L2ݓtɴkj>ڣu*yNgM66᪛Hܖ{ĴΩtK? v\438?Ջړ&Jk2\$&EUshbr2%` T4}Z\ (w/6H .o^/pk:jppFεf׮%ox} L~5 i<`tȞ_3KDpiЪ.")5,dMNX2Atqm`#R 0jA:xC7fqK]ؖHbڌ,9X2h80ԛ۸(ex2z.,s337#6:;%Tƀb)U bmAC\h8FүI싚)һ9ċR)_ai=10^aaKEeDޏOz6|hML,{QnZBx#'3'"3VfG v?~` zt/"erNd>7nۄe[TҞ:>]4k}^GxGRy}U;9J]_wދ (&{U}z>8l2ԋXPSWoHo g|TgGlݸAI,"\ [O?P˞ah2/Yv?G EsΔr]osؕ]o5-HG3!mS+HX:3/߸TAaG'أXqb)-o uwX1FҘGgrOZ[ASTp/s7Cz[22t-l}lrwtrG!Ԇ>r"䢍x2`\FF韓4<;JӖ8F3=R@e]k[O:jI ? @O6}'h_ RȂ Մ4i 1)yڌu߈o !EIM rH@v&} l_OFtS2`Fywofb DшXmHYӮK[dsUtd|~Vu{E=1՞ 1mC(,'GJ!+Lo e꒝MGoƹk7RD_^zFEtVea75勽?7sH_5I=?[E i)rSR[ra^o ڧ'v3cxkLKxu.~cQ|c,D%; T .f[ $335*f? ),5LhM&X4l Vs(Y]&ML!49 qW}%tؐ[g eWﶠHTKkDڨh80 ]BB Zs &Ø.NjitNB4pZb1gFv$_fv5^I",Pg6zs+*FqmdWK.lRwՈo[PZEfj9?{J:D7qX"ئw*q*䨲%kgVA) PZ eK7ZNϾSXZ˓cVB[q̙ʸ'p%u0dPsb{4ov|dCdu*D'Nr>}G< :iG4I2%9KW7ꮳ!IӋym(OXyI(VT2CN0H թyܜCϛz"̹Z*} y:@mvFWaC$jYu B@ 7}-2xlyݘMzhGMX5J1gDdc[ˤL|ܧ}ps;$E Ea-ycӳN\H3gUi{wV hagolge5],9jSEvzFMp۴G4`r=zNw~lZyO3OOְ6He} >ߚY g,YTw}a"d*gY!` B^<qȪDY;ej4mLVk90nW԰1g\q!kߐ{?C/ߘ59eƈ7wQ -@a L APzYԄIg*&r-h6FQ!bƷ] ]`eXm]'>LVi^^{mY§so>~ZtP^y [X]᩹UACtQВ%e޸;r,Nx1e ^# OѠFW7V.R8~#1}$Ews)aXuplZJH/>^î}AckV:l c6)ͫS9AX^x9AsXI^a,T|: Bvi]NG}6"9-ݦgp}3N=fG ÝSS4V ] X' .NbnGw"+JGxn $&^]mKGag<7$`%)Pf}iyCz sI 73Z nX>l(PyP9q'2^ȱW{/_c4@ ܺ=+NGJ|zL9aݻN{sQAJF7Y2$xwI~iԫ|@x0ʼ%)eҪ]ˁm֡|1҉渱 vn*5T[>ZM303$pﲛ)n|$N ̅NL 3)!nԠs|wsLޝN aY A'X Q09b pLbAׄlR)Y){OycJ^)GD W_^Z.8H:(HgOh[pF^Y,~ 2Cv&4qO ,%{GwaХ=(Ә[l2 AڥP/>P}0?ӅXX RAl6+|)?pFpsux -K1$sD%4nEZDl<{-\W _F{p<*~JOϔ'`:kཤv`{y0)=)l\@S0X\OάTidK̜c6{z.-T;IȦ>45Ҝy{ ;R:5sI]TE+aq FXߜޟ#Wh8+چ(ǭ hBkSI .i+"\I5f.}vO iOZ|_9iWnP-rp1|fҠFڷnb?x%ˁ8>Z2>`7|w9 ?w]*gjO`J uEM5k ڵns__;2$Ukj֮o@,%҇eŨ]Z4ߪCOSD]'Lpiy3+]# FJ׸ F+!U:V˯"Gq7<*&urxƬ5܃5d{ 30j/|cYӝł@י;t<:pl6C^:p P9e;(E4 j֋e|q/}ǎV 9cY~ӜAbIkyf}l4چ#$'kC#)1tq9O?H g7hŃa4lT\eqTͤ3@+rA&/ uRNWVɅmPmo0 nӦ'1 tnARجUY .Q `pȷK;7._?%B;қ:Yܢ(DbA?QyFXo)jJr̹.E#!DZI(J˓h;B84걝ч;sGTwhDc/5"\%w5L)ʽM9Q.J;B $KX]hnFRRV71 ކp-G֩M)c1ծ{:q &(v.\¨lۧ,}0ƒ?>IxOAth/.B{Sد7ȮO{P(R@BMb}E*(y?hm1|׻$Vcz\jMmEB 'ނٖآDNe.+}& $efooa|m1K Pdbxj]q\4L za\00h PA X.uNԭ[#MJ, |$ ʀ>#:i!ى|j^@,_;鄟r*;V5mq̯@Ե}zm@$1;| uH/POiĈAp)K1^oBP:-BXnat 룩o0'wx >DLTwma"_̐]* zH HY\IMD*Bz2kރV\OL "|˲w8Ȟy@~`H`4V_tʥul@4gڿ~֯F_M S&/ϗ6\2

)uHx,us4wQ!-yaRl:V!mٵzˮ]P 0Y-YC S[-bуXͬiOgs 8}!vIwW}yY:(ƘTVw%,sj߄ЎOh=uifG3?c]mņ;#.pUٞcȨ+L㭰bju7#]u?exqi鶒f\>Ԇ-@0JלϕCz/`O91 $t[c[Ѹh3Mi1 Xm-U$h7m~Pi!Ve^% qgb- QeooM5$lw =I{|kTH} L,4BZDC6)xf?ٱgP㏋h"=PÝ \Zkf| %XD!v_Y9XQDBrO+H@ BN}U26Į=OvkPOyuS*1lV>G+n?ȩ؄ Ϋ#tX_C Ck dⱩۙ$HԿЧٗ+֚ dce-Z)n0#At"K4/oV? Z*kћ鐼>O~Gd&RbI|B3laQ`$zZ| ؽpj%B;5iL13uq;f7ZɠZC㓚/*Iف}bqB9 f{n) {7u 8o7<,dBjh~F3-i0 8UX ,5 VY:_˛g6@j΁CDv Ɠ'Ɍ}LT2 >ufB!\YO{?h# Z@I_d6޸ ^so\ig&^Xfb2}Xv pqz]36e)_;.eCPy Miru<az tѥA"[ZU۔_Kg|p#Bd p/x0w?=Gl۝y[PfjnM8vTmѹgjt'ng,O.EYTXG02eqPoAaqT#9VmS%*(ɢ^%.0 ou ]k̳!*&'2DY.|7֑g\MuC2 r¥8^16`|W9E0=Pťa `2tN *r*Aȼ8qcF d@}]*7A-.ؒ 0X_Ukqg$Igt܂޶{~t;;㡆? PYH7 a*c`rD r4^R nCwR/[_yI^!RxiA/^5ݘT!95 hl1g9ʿp]=+*V+kgk׌^d_4ۘhc%tn.9VtpAP M>B+]'LQ[1f4~azU_nxf#;@Wz,ǯ )z "9_K"r2MΎPE6dwNlz\jyAZ_V|CPƲEClӲB[vʩUix! EQLгjQ7Z%(jWH@yCH뢪*!B,u8)v?19)te~gc<']$F?{o({qnw1^vߚy5ȿG07j.,Vyv :I!ל@*M6}:jA ߈`[EFHR/‡^ȝX1xˣ>է 8`YّOLk]%lߠˇj@jY[Jڛ%VKĶXHz HTHˁCXte%2I"2曝وY39O_]GK^h cX|õLV*+Ϗ9p9X*:XT؆'lFqZIyc*:}F+Q:Ͳ[YI ub2=qP/. ) [ 7F_UKP3 K (~̔Y΅N!z_֫>r\qv իJmH+;mEY R5%XA@Zsr*L4-o-eNMj {@ΪRa +@?&ߊQB]]~'j'0|Ӈҭ&Q">'~iY0j|i&u9eYk/!Dq3~ {)GιOBD\{V4#1JZFeĨ!(<(rvOamoA_.2Ĕ|-]AF% d8bXR 9ieMrNG'<Ӿ,j8DjB&JFXl}l\DBBeﮕ^Eoo8iܒ*V ۪Ǚ-./dɐ<PF"e`%[V_D|UȞ{ٝaa$rx4??qiZIy3cu = (p#I/f(Zoc0{]!*es`@b-,L]aUF,oJd\R~}ΑܿCf0ü>陓gV#$4f@򼆥PFLՔ RЉU'>dn:$V%=N f9]ƛ!G=> UzP)LwxIBm+D* ?}d61wudQ'W?g:`B$ RCsFJFyHA8 HnݑCrTRB/.D ٖDE!#6W*w/@"^U_FK0sw=_F 9-zȲ_wk 5y#z !N~k<> #A Aݨ`tԅ;؞0tD@SL^+d;R;?Xl+f/՗#J>sFK*N0V&-wr߻$JH5U_NVzLi+edD]W ʠ]EnV\CtFh5Q^Ǡ| ׬6=%!eFCgzo@i˄SEiOHvI: $g~b ۚA 2Ah񩶳\iSG 3!vȉRZC28h8[L_ ᖫh^v9%09]7S?"oŁ_mr)R1=nRnbľ[#D1c-]gm -JGuP}e Zĕ.Dʾ*c)жhN}mhM۾$ЖIJz691/lTXE%K4Ocl=)I/B]LKDŽ-s58NVwcF&fYÉV+;ahc  u&D_)?VUhQ\6Soj'Gϋ=딌Az,$D&<5Lh,D j[[7-Jrs)lAa FjwJf 4njqLļΞBSkf6?+hMٶ@?JF(gD nZqJE!ۻ%@æKfDm%jiD`Ql(ͱmab(D^ڨ'QeqO" yh^؟ 0R󋉺oW/PdsJ7Q (j >!K |BJ[S8s}4 3bQyC_>Z293In BoNY~$P/* $aP5! -֋]BʭOCJFbP/҂~ڽpƻY*bpY'ڢ!F}䤰`Q#;kf vH~6;gMS:1g[?FZ Lg]c&<nJs doVĸ7kD@:E#kfཊLoLk\VIM3>];F#k C8ߎ9-9ܬuCzIY~7t,8ˈVpc p k>磽Z=T%9wfp&$r$tϮ! %u#XAp V"`dۏ9H(]Inc!ty*Ƹ2Qf$honj%YYJFاb)`JM^ |BP(VV1 qoȣz@"aA*ޙuNbaĥTC` Ų*`APLLۍ@h{!tjإweiS/oK 8S0RF"m2"dY`ёd` @>q6:9_2~\Q@b/(ztC&ѽ1D; Y|sf|Uj6:ClAE"0<yK)3 gml r05>yȊƮi y5*^f?e}DyCKm4<{'qڣfÃ${-:b&CRKܢJS)~jw%N)@`O\tbתTٌ\}ewԩ-WլWza\/{czōUpAL+61 `` l~)z&%(T_=NJ2gc)~|=9=%fr։OP`#'Rw' 9\S.]2>Iu)x, W z"xuY3J83Fs)'6•+̨N +2 YaΧEbXrQ%W#k3],V߭ͰiNb[2-P|(v=\JgmxIAHM(ӻw&0LL bÒJY$Fwd| Pf |Z%hfVTr(+zr1 m6?dѬ!Ku暲[+ZOW eHeg 򵈎f~M7JPu;pbWwE!bMһH33_`b{K7 OЎG^ x+KNϠ5F;ύsH>T ,3jj?:1rD~ml 4Xl9a'F)[:ymØmW8Ou'ȟڑ&3 0UpoD>{\{:<+!΁v`YSCzd{A RYdMG:}fm5+)k;{m'vIl*7tfl=>%gw" Jbaݠ 6%n~Mx.P? H֢qudsSU+9T#9'3 ƒ5V N'9a3ڴlh! $iYږ߮s߶$ [;yϊ(5v篑bLVm1c>_s˄9j 0nbdŶcγm2$, `V˧Fplҫe91SPZ\f$>.c~mN#lFӸ5 -y$@W%"޶@VNf4v;~K W "JS!7㮁eHx)|\yo^F $@@2|ұWxKgNewFL8 "p'`Yr-ϴ\hnE2+HYڔ1F!W2 JOL zOϖ1Uq_Pz?&ȵ]c&A/~,K] $^:t+x c4h{JcBڱ|r=S=oeI1$)]/m=ՐUGpJlrZ0DhP} 9=qn7"˃-qL|٫3?/d(C.{>ń,ز=w="iGf3~]WtHzmS6 H:P0@fq@"E¨79v^EuLBow`Shw2I,qE,j=Ǫ8$4!~ρHo uK2Z ٫W+)d? JMN+RY%pH Lxt0guK6{K@ l۬/ΌŕP@*-u%r~R|ElM9p9>Pa>ǫsJ.c<d-e W\*0?@sɉ(`Uoegp@/0O=PP1\WI?Oc=Ƭ?΄bAR< AA[@2W|(άX3a){M€a9Xh uSztAYࣚR0QC8(.#1{w`CGFHyW+ 򾵤M/-qY vbgtMa{U"g9\:aSx_ kSֳY٪͕X*<-Wge[ۦb'\EТ=Lbt4nݴ][wIfܽ5_cڷw #h>I`oa)wLǹ'b.,yH+QÚ>G7\Т3s]DTǔ &?4☌ YqKH/φ@4nuf=nM1-xS~s!Qj\Ģ5 {ovŃkߖVZe!_mǐ[qt'}z%K`HzEJ#m]y;2)(*9SCM$j ]c`nݪK 4Rĕ| @U:ՐϿNq:=w|%kGX!iA^FmωױXD;koŮ_"_ۛE;Z d{i9/00 G_6L)PʓRI30,]n AZĤ[[qmj1քmu(|x)ǐ,, tk+6Y ĔY"TWkHV{Zg&#zAɼx&17`KTK;ۢ׈lr 05W[jF|&ȈQuE|[mfjhωù%?$Dm)hIJCŻީpv%vv~Qp'ԂL_^f1>N? IWFIޓFݍ(niI$4q`it H7w..p򝤄R(tLjw,o0X#t[aH6^J2rZ]C e8-^2bAmX)AJ2ػ.%/z_w-L Wّe!Krj8i}DE2P%;urCB`#VA/܏P_$Kn>(~]h.VJІZNΜs8JlG 6I[aw#>*U7/n>8ϢNyr%T4 ӢUĮ]W=4cL7=Yi\OlM뾠M  C,Mo QB!cKEس{|6!Rׯ*Q +1 <w-+j"8?Trzft =s,e޷Zg,7Lg%+7 cg|>^t]o%||3u4Ot؂ZL7cԮA2*Mu8ז.&>g"踂eOQ(~@I- PW{ GU"dgJb/SX֗9Vk5EKə~wP 84ijࠐjE(mQf7;Oj u/fإڬYXMf )C1,Ϟ|usC%k0EP15k=\(&ӽO Ê0=W_pUѶ7 i1J\phfU?Ó]YkE1 v3שBѲ0wys8:dz|erPe-:i=QA\p8rހd̖ þl%I#Nߴo(hp 4;t2O+*xuVRGSq?Գ >our{> 5hpDJ%@} hj2Wf7rq?gc ќqcWgmZf%aVaؿr]Ifryi4dfd%u8NϾQ5)Q)"7T<$d%Ehmt,5Чv:H M oJۮM]>w:B{\pmNԤPi]o{rW-GqAVJΆ/n :s==wMJ6F(BG8L!h $? ?Sמ/UZ;<2YRc|C&1$/L[l##YC*F3vE`D/H8Q wXq,>J`_F?Ș%Vx"_OV"zPeoY;Wx~x|EZ( %FQp1GG9wA6.3UgȩN7{t:gLcTh3PИx^Z̧BfE Ĥ&78k$v."T>4n>',ï􈥴9\"/6GMV𭪙.M=w,!JUgp'Q%̓{:>1} L9%BpdbwkbZfl5) &ulՒV }zK'.7Usg7 /=LM"g6X&熫FcpT͉oʧBP%fc&\GnQXWi4]I6m~}L -Y>~9]XE xȯ!LW:JWP1Ss杀vlC2b]I"]/* ;û XXbrq-0Gs787C$܊aGq+ι$Cls$f]یU܌m,] Bw[SkNõdIoҹ"\Q|݂'RVu&8!tpɃB'@.>"$G>e]鼘-,>=Sqat&]B~ g\0 ),%ѓ4\ehv߅navp]Ilܪ8D?ރzZHsHaSIǤ(U6Ň^iN{p0ӫU*$> /ʘX0ue'WuikU)2HW[g{lmEӃyؤIqh1 ߚ WpUrA&p=Z-LcRbxEe8Cc. 6d6-[YN IDĂ6v өT4*v9*ɖsC7u2M)Hx93$n[3 %@m I}ɒMb+#cct\IJX".IdU9jpE?̸GeQ{Z3R\؋-,vR'*(qI._ +XHf~|G=kԝ =LkBYqX3 n,YR}>*U0iWB8Y[s &""Y93}_Y/C@l[.A/ ۥmuTJ͊(2JOv~Ѹ<>4u%qaqЈ@)!IoABxoW飮!Cek@ԃ:WKX7y;++8sBj0Қq~MPvIHvQ^^?#z^ WsąJV-^-6-_s$w"tļNǑi1[Н`:*Z`4=!J8[q+x60~(_]v^|G3?dB&m'47Ggk*!Pn@]SDBGn?srCx8MXB56,N6̬T~@>>>( GB.鞟UG5u4[>?Vsq%ѐ9XI`lW*)4gfY2FKA؍%?;>6#: GJU,R#ݫaeےi: ۂuO;JŗFܵO$ycK O g|~kSy}`Ηˈ wG䑍Fw?K; gPǠ 'iS_; ,rnd Xgp*o)<@P!;Ba"&>:Xʼux?J5|[sQ%冏-Øg{%T Ug'DFv{:G.iDg`P5>g ITJ7Db .PCQkOaOT*HYo^|8 pr,}"_EhVmG7?eQ0k)ʙ701լeAj!&^<4B:y)´+ -̎w!5ZdP]"y*NAU'g՘M!72Fj7#(.iMW+n'aU,zA*]@5,Bo%KR!ћ"&dʡЊUV6wU[iP6@KRKz2bigJN.LU{:b Fk@_ ?\)hm2Вbޣ!@`Z֛v*tfҜ~&oK@˹G U`$5H;G)F2)ȅFuH-TջFѽM#k9{|=j/%ݘUpCOU7}]65\n"{@Jn=摖F'=,"GZRˋx`Ju Axc(>͌e e "pk!Լ߱JaH 3).QUJg.[YQPL+b&HBtwcwc7`5Ko;:ČЍ쀺SnTDz'`3v ixF$ϑ&/#qΝ0IFh t-o3JkwZJȃ3gɫ6kh koWO3!oI?Wvh|ѭ?~] "B_Ö?d7C5k%DI'1IKwStB٫,?'-Rr3p"t,t[SEzOV>c4H`^cJ > LmݨkcWLA]^>+μ5jl0B[8h6jsvd3i/j+Y^67l ->y> GٔJ9jʶ8Z!aGc8*/.9tazC|գK?BɊN 3bx 6Ξ4>*NyTC0Hذֿ1:5){"d<`9N'u^^hƎ:[ lx>Nd=_;pw-Qu# 6{F’Ns }TIg]|ego&b'C:. 7)qVF`M}&I FW(9/݅ϗ6~(.6> q[lʒI7QP~/u*,Zd5d2?=XX XϪi&-Nʗ޸&I?o!uhmXRwZ'N.ZYa͑rr 7EV ~27"c+xQJ HB bڄhfIAQoc^Ch !<]`k]n%{mG"^ t?>삼v %tN" tȂ{Ֆho9mQs_Gs`r&1-;T:W-uUҌLqPfKa6>S±ag.q_eN @02GDw3BOQՒtIg~Is"(R³lQ2T;o:zogvN1)J F^4"B?WN{#"*q)$&sl{OQE7r`&7mZ1H Z?΁0%_uy rx~x`EsVa0ĖZۙSĆPK;mshm7$,12`QDI:CHYo ȑn_VYƵmM䭷,d ʱJ?G`׋ pYdiq,;9=>8F KVMpjr?4GS:[R.c;14n>o|TjM$$LxMȻ{)ډOd!MxUHNξ2E_5. A`rGѡ/Nr^" O;3WA]}B)0Jap+Jqh#k^OP BJCE\m++z ByǀHJw)p㦿pi3Aj2T` io%4'ZQ6hd_C?7^ӣKHIk\Zs/BN^j<:FCԫg Yő7ygZ6./e 6J%P v3ʿ5նQ0msI@:2J_L-g"JaBB &SzM9mK,W SXyPTҧPO)բD I~!x3#ao8ywP1lØDAN (b{5_' *1=U0t8.tQgW T=»W|Ox9M2' GFhr{BHgɪ:l5 ZZ.x !v޴B=Sf+2`_Ӡu¬hL#ɐa;:1_lB9a "O&].A􀊒fE0'YQo.JmY0,Dȼc8l![[jP4*ȯ/nM=CRVU!osVZc P̯|EQGXZ:ov^N ˵A6l3|8 d)흃\E`5~g\0OF8{-}|RgPuӻg1]}f`+WX]€ޕ9+ά&`lGwՀ.p2w̆ ,Da#"{* ٮعΟv/9w"EiCj!,1s8 kyϡ4iE3χ.0*ɠ{mwmQg~/5wdw ]OpEp8k^fuyq6g b+]峦wuPG;SCgIW;^GRw/Wb8J/`蚶5ÃG[PQQiQИ[Fj)'f\G:RzeɼSa `zٻO͵B'}U:@+(f ,I p$oFTIļr @zˬf`8Q0 (t; C-@;w\'u+T_鸊ݫhy0CKQ“k3K+XJ>ԙ\^n B;^VB;TE2WMg!kU||,~juɜ]!Ow'bx]GO6HIe!vEeN6@"Kz@]' Y qWJnDNCҭl(KZ -vs8\v"XboM8 5TX  U+U,kҡ860ose]2Cdk=ٜ] TBv4vN sAedú2XR(h7Ks.d!& ?I ٌ÷^d8r?zv %f@)kٟm Tg%G2Th3xTqI͸-yddaG^Qt^[ bl`@I1_"A= SQ/۴K;M)|ٷ!FE T ubKRԀF,@AԷٸrVdN(]++&Wa~lR}&ɼ oeSXAV~niUх6X.4zԙ>ȥ1ǡJo`]5&7 #Eo"蝴* 8;xU5{.5ȠMFgT5Ăc"i9elƺw!_I0)wGW֑#c3eo86]=Y"TĈ^dYX|3I MZZEXetT.'GK:]<PZ0QNZbL' H.2[fC?. , O ҬZbK8T=^ooC˴f ?Mt x>׬\(9B{$eA>R9kBrn]kAS+Xn!cЌM9 tNr8oҞ\كɵ~]P G0(+ިKsFؤ6R ndR«oSkPeT%+RؒZ{խHhRB;^T73]?~XA5J$t۷Kb%VJ%Vb 9){)I˼a 2S ;@e&_K5;// $ 4K9dPw׎Lf$33NXzKò//w,5vh 9$ג`GAGtZ#_͸(n-]qk 9̑XwQz @^j[ˤNU"?sj#<00N`Dt>Ž:a~ݮBN}!`\9,ҁzd T/s? $ppDF8"$%*E9%(xqJgMx^C@l"o O`Ο1b9^o3vx7D %(׬kI"A"`.QDჭbXi @`7  wVg:)@N ( 'Y۹Tҋ0Sm16*mi2f;ä\ɊVGuZ9:_4ݾYUhǾ| t+OaEEENǹX;bVz&r׵ 2FOJ8Lk1R]/魶=sb`3qaeAkXݧs\l1REr

}Z:sA2vRQN!#)$F m''QƊa$H%_ޭȹP^jEIfBimKKrRJ38uXuc SeS/k_[>6LMu3YN |! l Ѭat+C_#$Ljf^:ifF:Lhl Tv=mMͩj]zub@j"kd+0#[hI_,Q@'Vh1Cz<܊y`7ZMns`xV]ft"rҙ(G0vz=D )KYK(BR#8+"W=:B#2`P IDe2dmQ~l>4,~z,}w QF zB-y\c+)HL.]kg})FoUtԪd|Uj[QԊk&+e/S 6TqNd9~XTi煬@2Fwib}b7Ý!S䳑RM།DLbͪkΕ4z$?/WDԥc= `U čV =os봬k o'J&:"IbjaIjNX{ٮjJ#/aK9urIOKN%=gqaA:`~bVF48^zmעp܉KEk'/{D lirdM,gb7W O )hW\b(FwwVߧ<{ZD*cAbM9,돣 e.$)ٗU4nzW[U@l. /HniJZ"֎H;l]٥=UŸX # $б)Dr  Txȿ4#!cnBf;WLuJΒf Qj(/ڄ  Uw!<֛@ItS0:n젹&39 Vrl od9n:o5 VϹ}U7 {P,D%wd?%1ܕ^,XdP30XtxS b9aIKݻ0_kVh]w8K*̭D5)yq}/fb湾(Сg)HY/7r!`8Y_q( cRps%+[dn CF dG'ifDS?țV zyd`SyJNҗY>R7]LȘ&i r~q|O HٗAd(K!93 2*'Q{5L(`ٝ#<ҟTMӔ9%.P yD4fI~DAӲ qw-UZ}q¡:zmh9CtrZO+Cy8YK"bh4_nQ>մ*Q8)It'jPa&{Y;_>ٷcT~T:IAb0/'☎NW@ ]]G8. zѬ7j`,p3v4-JHKπ}f` ۀ].qlEpqx_JW Sdž /igSl+hg'oc3~QWlesIbC:LLJx|y#0Rf^^=׬C6E`*``dg[_CQwV+rl,ӧvGh#~|*0`uiQ;l~(ֵHxlb$0zٱptڣ uۢvyL_/,dVt##$F3`7 Q|F540&`P+ CmgM5{i]KಹBq0]a> 5o qGR\dWxOb[o.!7L)F޿#&tX̤͌6m273\W6 C)Cޝ~Xm{goԽXHd(sjŀX/ڪLt֬ri$7B0wi'woll+PRJO:fδ~ a&M @ ~u%WTm![F;N hG_?pђ#s1HWJ~T4Z4:0\M!54 :LD_0欮SLk 衽>n5*RMD1=B]L2_E>dO N&'=fzR|3EQd"d]{>"`67lȞz :Z[|30H80|>! 8a1r;.~4"ٜ &d{İԄԷ/W>ټ #4ct*8I"~n!N)9€kj[B@-WC٧-y'aX+|?^KanV#7©BDqBALrB 4iw7Y?Y;aM2aq*Lg)N}Cb#u x/iShMIns/Eb61%6` \}Es ,"9pW#F//iW+dY}ќTL{1 V($.&r_5TTȉt^3jAHr<^1$GS9Պ|s)Ҙ?VTV&x|O$!0)hBcJp4rCֆ!C0kjM$* UWL8%EXs }35_ +Sl[KOal6#C |OB (ٯm'YR5=ZcAn.̫Rer KO'6̫ 熙1Ї z޺e9ʞRc |niS_l{:u.%KQրL )' @qQ)E<^Nsߌ1J+m;$|66[<鶶dcHfQpR{4CKk{(1΃3 FOOVݗ@+HEbsÎ ԼblGTq 8MJ _/~?Eg'LRLYCр)Yٞ@vidTaףc2ơ/fǑy&'Ҝ YBaqe撝`80y"->uq&_`k杮v?YExI'.'W 9MUqaJ .LY~W8hlmפ׬!;~-Ʋ a}].o_Zu%+ukbskyKRZχCEد,LVd VՎPmmmMIh`~lq)>,[w)?yI[UTgW&wP,F Y P6PݥjR2LwLfw4(NWa_rt;;2|lGqbBм=q U'TιCqC1e-#>0n1GގwObu'TYd$A. kG+ ذ0TaGGw(R$l\钉8՝>ҒzȦbx A֋ȭ܂Ż}뒚D64m "NfZ'_,b\FzHwA"Gʋ׽.X fµآ;K۪TS$'d>z&ݗZ#^@5+~0Uc=! AdͻG'S؃fϐK-Kpf/‹mM%܇ʃNJ+2L".dh&}J|Q,ć2n+r5nLÍc!5a?:н;H.l{%44D<<ٮ>4׼^`>e0e@ %2 ݕM${0?Y*¥04Ս tSgoH)8.OZB@c*:s\hJ5.U OR4V:I˴3r޳O$C=xJ g,;*1,[r`8T^!ʬ]l=ucBa3@;jpPGD%#"URXf ni0]!R7O(zﮤn7P$oY@`DDW)wgr㬲eⰓk+[W2xG GkJN6G~\B8 J03nQ*5do'6-* Oe^5Vmj!ɓL-f--ؗ3}g@\P>[qR2]2K#rk&X 8Hf0*.{M#\r Ùc1#cV-S ^"d~DiҾI;5w5[PvcO,]enbx5j/G"UX8ˈO O)ҭl:Ug VUxRA%#eJ7#*8hUD"*p? MJ_~0Boh\Day2JDπ@\ө,Ha#6o@ T2vDL| sbEm7%1zNt b&L@ZO8D63c(E mja#RsLe>@d M{4e/cQ(,Vndg%ifE~D՚zO_E@2?q<9i7aC#38 -ʡw?.,v%UTb*+0ܮ˞[^MH:\ rO|T! w1{|5YPea9Zߒ`*W @x/%)=Gba:\5C1Tw?Yr>Wx#ppצ,ɱ:QEL:4+̣/BCqp捼Q-75m|Gro'[3v!wYK\8;MH+7.]~*G[n!cMuwHar"J<"'"Fv>wvDbKܖSjjIz='̂sS *N2 䂟b%؝4;x?K8I8l "Ҫ**d``t0η]P'PWgg'%̹؏2R_sh y״٣b:+E+y)(\gns o@Bo/ $jH?q4, %ɂ0Kcj.m!{oC&"++5% .]NH `Mi†TQ58fa|N/AC@EȀ4cՔ2t TvMvJ{ uor:O1\u^AvD[*6Nb0"}QRZkgA=]9Օ!~*wT;q ^G\Fe uB]k,p8 Se>ڰF!>؏Mero;>UP@/YR<T\ڣ,lrT^linɻ}AFC,̙}yJd娕L-6ti-%e*hqr14.HtgxeDêD[ytBj0wwНN7VG.qIZdKPD{[a}i5_6 M<{lZ˯6W5bg :}e8aQI賃fU>LMh:ROjZg8'O8Ԝ~a׌+X.8ԉ\uGSa?1 X,B?^lV@ ڧfXҽ =}%X~rh_;=1uh$ㆭrCHOŽpP/, >cdޱ1c^bSLoQ [`z+W=Ӛ|Ơ1Ȝߠ >铯2 =9ģ(=KnIӡ2ԙr]ӞF΀!蘕x aHf~%/ptO3]+" [h; J_@0O'J} -.͵Tҝ\fr ok'= oƖ~gFҋg+ם҄?0G'9i9>1 &@DȂd-T&qie+32BMRtQrЍ 4)}3Q pzfsyXiINWPGj},uŨGNl>Ftp~f}θb`UªiH^p@:w=T?8}@7*0l!W5$9@,,)vEp('uboQ';q>RÓS~VBfD"h՞! Y-dYi]oZP%7.a!B4={7MÕ:H!S܎vA}ϲ?v#"CBcE"C‡0e1??5JfA=:٬S9Fw×QBP~DsVpcX@2 QYApg$l\ ׹Js:fḑdӛ+mW xE9CX)C}:N]ŚID|q#ᰊt?%:/Q[4( Iv&*%25Թl,\m%5ɦAKB`cu^e3F D)ish'uU 8Q.ml\jv~$n6e1P@ Rݰub (hX'UqmJ/~ʍ^c&ȼTρFT&&B҂R;7Q"vKI5d Ki+ Pig)/ +;N(EA%23kUД *wGx2W判F%Üpd3sC=ƨhe]ܿX([2.+vJb2ᓂKD𞻅eKdڡCΒSB$ąiãr.k9ld V|(*JȆ>F i˹dD XKoq(~IFW7=RZI[GLgZem)H3s8[r=|V2bx.xQZGƗ-v}2E2(#Ó֠MDm2Tk 莃mpoz'9C: `!C]dw͎.ޒnpq.%xNϗXP( <~Lmg8gcֆh-֔([ o$~C2PzI:P0MELGּV)YzB| bSU+!$^0P401LL(/@S#|#Vم:9( ; u헧l(E봃 J;%P)@'TdP09|r<,"C4ɐiArڛ 0r|TP)S&6 &ڪNGܫ)zyI2]JŶLLl:'XSMw 픸f!6"1y)6_>%Oeqie[NGM^11:c7-K&< ټcKa7@3wYW9. Jc4MxJ L+WݥJ{u_P?b0 :aa ԜzBRDk ]Ʌ K5L:D-d~ 0g I{78`}[z73Vzr<3v h~n=0˽Cqq_fP%>S, .@E,A2$GCeU5$RSOqdžvdC;W {) sksriz{ӣ1* aI5\%@}fkxÅ ~lH.18 SQjGT>zِD쿜cq,ZoG2bיfbҍ[HR+/BFW% &:KJ8Q@Fl5l8}+򢷽$|U K!$y*Yϥ҈/L4υ%;+S aMT v2uހ]zlL/J 3Hڥ1\4Ks>' R$e`uQ*Bu ̐[ шN1f?J; ?kК۽)h*V(Eq%Ϝ/'~&j+s*ylGQ‚ J BFT"-?6o8腂ECBy?צйj㩣coh({O7Io䞩bZ0zHS#C\1M@R_._41*Xsd ${G4צFmq,LD.5IJx%#]9'pǽUbS9*&fED_x3⬏l֨W-md'ߜ( l /0N!Vn{!r^qz.:^Wٳ-|,f/k>G_3#G*YGIVn]`7;H2\^L&xvͳR[]O 4\oDqԤ] 8o 9_ 3 aۿ &`xLk: A/jNpĈAc(ɐ@5fVmTcBT9 7٢t`=y<Ôǣ:TL"vb-9Y>%Euy̓dh9r[ZhY)vz&]Pb-W cs9sWizX 2@#Ip.=4/5+-[ GHJ1+ z%4AadO30}b12‚I=BaҚda9$Ga]h # l?vسjH LG' ~F H\&WfSVIph;X>|Rʣ)<r 2 < tO#>e= J@CzG<$A%H|Z;} >9.0kAuftO/m.,eKP(Ȇ Jjq<)tZq') Jņ3q*3m䙜X&w>@VٽQqq$G; h &D'/{8&ڊ_ 7~I`{\}F 5SVC fQ>1Zg7as<)#]Jw(v{ExE^cDha('sPq Ă*dUCov촌m{]sL9PryTѱ=?Mm8d9$dg}ct#t4vjs%Q P(pl0q.bIJxt)]+0!~0O#> x "&%/*ڙtj85"M'~p%y CZI' _=jF$m|_ퟄ F\D:cmS2q?0Z~Ԯ/P qYAq:1!#? wrWl:a 8;:US&8,!Hi-FmV yDD-W)P,״?rSoe!t%O͠I` ګ{^{Ed6C9:PU1mm* ,ғ]@Rfb/_;hsQL|<:y"NY V'K6]LzG:HT'QnCuW&VU؜T%t_Y|i5˻~FtrݙTvyҠd/G:vHMQcp_2qHbZ@+OP+gfǫ`jI6[fa{q/]lJixD/oҔT {_*PڵCn\KW^̨ӓb:9>+b ^՜^vkݜ7/upw(mOr*^:; zO]%J>pv6VQ}V~+j1 h?/up6,‘+cta3-n[Hv]"Og$Xpt*8gCۦ,3\Nx,+U@=J$ QLX.\}x(2{bQкtDC9ͅ"[ӎ\,y, 8.8V%xHZ4sjK)kcx>$Xv|}oن5 D!놟y{?ĩ٥]LV26: 8-:%E.Tv⒫-2=ƴ <`}B'R鶑ש% (ɉ& -V[jf!1ۛ529~qfKjW+$3dyXU:y:7<1(߄gӪVň%e).&JR?0ߒŸjYqPLlOR<p2#ꈆ]tD?߄P҃76ӄءQ ?Q3Rm)./G#UokOIR˽C$2|]>aJ?us2Ɲ$5i+ KJd2(H턴fr^hP"eˋ54Ӗo4,e/b D_nξ/{VJm/c-K9]T$&!^F:Pgo+~MJFXZCB7UAϥޣtdC2i4N'E9jOuQ֡ BI}<$B!!s^sA&8S 49;*K{ObM Sj-Gg~OjeSʳ1@FO]fHKN00-ԍF 峿ڨF^衮9f˟5 WfE|@]Suq1H8ɲan;!af'yy|Tl#k Hص:ˍeЈ d;Y NK[Ծf/L7nct-Eg|ffXU>Z>2E8dGJGCnnpeTtrFr`_ߊBR7aDSϽ@Udav>%%N^;NH, WG|.v[i'ʹpQkT1TG!U@ңmCZO>&l5@g(d{cN .ֈJQ+6 a[ ,#LJc<9\naΣC#%F:zc߫j(EMXmy+syAL}[|9GΌ@gSߗml(X)y|G\/Tn4a(.ϲaaVV4|6!v>Lڧ<1:eTU92G tb>pH2.R)rRX,2"j vachV tdtʾQDuσGn/a?fZiv4%u,*onS<)|\Ӎ8xOġ:wyxd,0^n4vsN lFW*pm9Lh'3)b! mDC_)޻>eފ'|NR1lKc,7,:hy%(3brВ),6{$|CòUZls|>||67"!юI_O1-2VvTϑ-?P}ˊ 7B `{Sv*c__+8^IMLVq:s/>zH<ɺlphPxT"IW9ɩ4돡@ݾ&34ݩ1*\B\biT>1|^AR6?cρk=͚8D_Hd((C2H$ $RF|h} rhid1`f1r 48XaK #G&~śBc/gO!iGU܇\ɗ? [&~?;1RhnBԙ^>:(@#^Z!j= H܃7,5(JC|צE|QH3ryo_H7J1-4C;iBH89&XʈP"!lE~Õ * Gau;{otF?)?3Y~}b $<]%vaHE(vyr󆩲k) ܨl ~~v@{~Y"f1xh2Il.PG//[9,P{J{˦Ac .]2&{7a9(z8BD&Za5 ZY$ٹ7b|t,l![u+Qf$AM8_򞠠p gPm 28c߷#560\=}Q&v)=lMC_, .`.sQu\C2(LDUE{/>PRr OkKyn>'inDm)l- ܧ)\?jQ_Jdи"] (I?GIyHA-٭X/VMB[^w6Z"`;BH/HX7sWUHF цW8CIar}*ʱ+RQS-1abF&yq!Z|!ίdއ?V!RκkͥR LcnI0H.Q[2a OX:Y@ PV`7X| oqeui.+BeFn7G:B 822V 3ƻr,8u6kW ED*+OVko,r\T|.΂gAE-;(Ay]D=eUdlaZ/cZ\,>ϚQ 46oE!5\?'!ЂY9DYkj2'{,ޞev}2O %A9@3lQ#鐄nɫG3/ Ebm1LZ?zvrE~G+L_Oݚ,u!g/i_jN@eP|dhޒF#hBHV|DH]tno{x#RP.n| Z<e!I]ՊS->ަ ( .re!{2mKյRa C7#LZƱHq1 +QV8YџbQm?T[֧n9j,q[M゚p=,SZ GB@rt &Q;CL rtV5bTi%[dbx*t;ioN`SRy`L)[^!q]! 81xosu1!d+zu8 DUܮ)[ER{Fdm5v@Ҫ}b,[1 fb ZTS{.ANuW^Zc?PQGaz o$_Ahp#0N8ɂBր9)490VӶ? f x[ʷ9ZM\fv8'nɁdH]Sªƃ齓/އEb# PϚrB `L0/y?,3 Rz'10R"O/~ 4_=O 'Kqcid6/Nt9fG鰭g|Usoٱ|gj'G95U TsX;wdRV "4XE;TM$93TWAMrU ;j?#VjeSĸdHQ\Š! ~4,l(x@g!j<,h+@V,BdP0V닄sI|Ò4"TYe-u.;6}'M4`ko۞P|_\I Rܦ+Zx ߔMYUA'{^YW:Zޤ}'Hcg=IX {:N&gdUky,3zA,[[Wu:N,cO3$^n33.^(w;gygPDSOkP0 rz"0!1t =.zv1ʂ_(Z3I~P48/V+=&VK-Ct% A/:j!M_(GAiʷ|Oen6H;)tOegѰRvK*.To` ;'OlfYHK4;vHX2'# s,|.ivS`\óW"kܨº kx{w_c P QGt= BhU^wLtŌeLHMlkAI@i!/l bJF SWp|ҏs\SŮStA5pp{߀M1x|77!겼U-L:售@^zX6;t1{\gQq~u^o:ԢBy&$xQ<>YoruMTWf !|NZ9o si}ILHmvW"L?2={E&hpI}uta5Cs 4ǞXc 6 PU, xɤ zK'x $ÈPe@S!˕|1_[d'X3*sVUy06*-VKLvnH`3}_`F;,}upm\$в9Fs>)DUY|1B)-?Pbn>%DP4_w)ۺ"$%ɟMZB^QOF,n{DvSKHJ/=*e ^`37@.?LIX;76K:"\UIygFzx硟zZdnɷMuF +D 1NҘѦՑz۱jHnER`ڎlm@6JcfCKm#4.)Ǹ{nwzt\QT "j6sX<ŝ;pႄcbd;{'Q}я0ho:]IOӏ2(sLyۯXAk1෌ O>gEvų{{5/YlxN+==,~JwS ',KrɆCd:<A_e58/{ vzX&Ffjj{ўq~?AZKJ{4ܦ੘mq)R,I[fY沏8 }{/J ѺyvJ to ^^:xu,I + fLGy"mٗ&܍-JJ4GY] ͌V%K93 T6&ZNp-lwo$]ldU'n(UHX}c?Lqܬ,S[*!羆UdgjPۡdǰ`{lj{Uh5&D׽rko6 *~b?f,CѠI $CԖr >k̘(0 HA|䠠bn1'eR>Odt! yl ;[ Ke~ـka0CfZY*hF=XvQVsDi$"~4}Ր&1l}c D!WpV;SZ1&3)!!kèe|䟁{s[k| 8 +<EoЉҦ,C,9 cꑚ]^!,ZM덚R%VgRT^U(/$9vMDa"&OfpR!˧~:6dѐD?OpEY P MŠ-,6=cMRϿr] ]!wvX6O?IF|"<6)qGȢɓXgLHIbQC"aU}ЏQKwH"s0:\9a.;Խ01YP"a74eB$A(22_^4e9txU0#,[/ jgN#~bKXc-eip] \t];adb9f}wCs r-.<)!,[_aA ̔eN7#-̽B!> 5О08uΗPӡ;+IsZ2홀Pߚ_z +4~wș%7#(6·y9ŐgLGMUi@2Ďt\-[5ޙW)h6]`%@4+pehmZ 7Hj,.g=? թx?"Pb5yi]+msa\<(OLmeV,v/Md[b{Gm>R5 ;Hi!Zyvږ4Z<F`Yi _Mg/Dkj_*K%6y ҫv9/W޴Q$Q(y*%e➈gH"DGg<ﻎ +p+tEDĒ/FD88*za߱0`E KKx tun0Nat#xXo]-KT3gB? ۆJF*5/=77a]CFyUqAz.@*fh}p_d0&ߟ 4l<9 WW}rN-ğ߹zE̓Ւ9S@\+"kzlǞvq҆ns,CZV|l#^F <АIo(Egap99Xײ(mfA2usI˼1( .>Ła>WLM.ŞWŏrDT#+zE tbp'D-! H6ۨr{|Ǧ7j9%{:tF_ib=@)e <Y(ǻ!?pWmq۵@e"D)W Ȗ]飾)?`&à溗OrP-ZCBG3X2W4]E$wKPf#X\k'V윪S.;A 8f;iz"kLKx_؋F`&Ӯk.KTok/9ִIx_+W{E#ė~!fxLASQTCvZk1yL dH+ ח*< ˤSѭ{C5O*̄=5\7h5X%w d?Տ͇et+9YN_,ӤlԤ=k>KA53Znn@ l7wz {2ۭ1CgLW  }5gC-WEIl.-ң.s*2J"ˇ5V6G E=TXO#[_|fnin1uo 謙X2(d\";[[f@nAK;{Rn ol *]xGҸY24wJչD#`dEV:͕ox0S+[5] ĨŹxv]myc Eh A 1'$Q_rsK X!#N񸛎:%-mo"fhV>fnsuVe*DOcwxhj!^Q~@: >1 =n(h80vOC'*½9f!@V8XpR6?pT %^R#'Nw3s_u`DTI3bJ00aDuT H K7bOfcR!rj?<%ԭ, Xby\|F!JGT;cBNt^tFje5Bzupk?4c}Y/FY"iJ/-GY=5f*(fD9w?Z4I^#+hg<<~Ctp>"9 FkY(ܒTO .5M'laV?s|h1Z>A3av1?OQ6":N U8Vy.si`>ŘC`Y.C癈0$#Ws#Tfd)Ad䆟u>[`@?#[eaԵ3E4 a}Nn(d FBϐ~E*ܒ'Ķi&%כ=j}j-<`+p}8BՍ Zk҉'ҽ4~{,mEZ|)ni Tl+: UW IE!JAПLByJ G,&kb,'JeNUm^hʾ4ݳwh~m&HjAo΍rRW'f3nP c(CKd#ףHlj׳[8:;./(N}. g˲[m6:-אٜ?C'D#0$gO5/8SGfOBRLW1{nM"K4Jk/;$OпEccoG,:׍ +5rS˃.7΁q^8Y6BПI918%N+8 f߸s搘$ uMyI+L0T>=b'vP" P2:C|8/r쪠dEHoX]`Vmvҋ%Ƿd6/ٞF?zE5V *QOn&bިRY]*Y])Q]* "rYht1ËM+ sLGV7v I#y޻ѼC4h:=ANxoO3% MXn)Pc V_қ@bv!'ImIǛ9&Pm;qy*R6(qݬO3Mh@댄ff9U"d eT]ݏ|͊ Vj*āB2ƥqK#aEeU +~3.n&,R4+!JOl)Y=/7:: AoL:n.ϝ_e ̛+ݾ_xQS8?2yBNZ%sΗk3%}ͧd#)byl-FS}iڲUw)c{U^UҼnL+84r NC.pAH(O0!uu6M4ւpn>#w:lc(R_h>K 76,d8k=Q׆zj%U B/,[J%RΧ }#Ԟ_ c[ܶ8@F+C /Bo؋7mU-ĵuw\uQ2\lPw9v׈vӹcجTD60鶿%b4Ch掑,)P)N sPF< J ,P𨰄?d 41f_0?ϐx!hYTu*P##˂Җ*%[==6+uK*7urŃa)b0>pXR#<@Y/\kDR ?qe\O)GfƜfpԣjD ZGX5 եsd892q%M^Lx>Yp}\(%Fx,piJIbOxC(ǹ ʋix)/j*o(&5rp*QD`*lZ*Ve`dVdhy|z>A{{7@Uf?[|Hd@`$-yfτ༢z8T\W.?[4c XsYH@t .¸:+Xc"Y[6S P8n4 ݝLZ\NiSyO/"w*K{Ÿ́\ !HxHeז^K@)@2ffըEbU (֠V~!+N4T c0^̫_bzUm^B7Υ\jojc{9^q#<-FAmO]m(ċǴF2pO?l>ݺx1']~QdDJ;-SodJ/2;Q@NeFg$Ї L{!tKU_QPm>5qa#Ĵ}UC4>¾ҖSd`_ -AQÉKUc{!VԪ`2q:/yζtQDŽ[i]EнXM К`4,s4N38'x5¦2Fݖ)Y_I׌j?gKD _>P7׉>)hލ$Ǘ\z2DU0bnC.+]ыx S/84"EZ@Jy yZpl7tɷ>Z4A$C`x} ^5rnx6ǟSĒ5"𸷅e' NUXJg)Udv|nJ ? ~ΣT'<`U BˆwWĘo+b65-Qx{B Ӗ> M7dܚLqKA]Z"ϗ[7f`9]""SP;`0 %;cs/'cfA͈xڲk i /'qM!0ƿx/`c,~2~emF2e:*$\Әɧu/ q[Xs`=9[/Dkegi! '؄edvS=flͬ'3wcm\Z;¨5;HU.-}V-E*W1#el&R@4Ȫ`¿`^2Rw IHoN ]ZvP`XIf+Lf@iCZUn^z;v>&.w58QY]kKl}j1s7oAGpGyע=1))`@odR_n9Ed0E #OSR0y4d$MM\Ys?8\ˈvu70|z%iԵc|~3b&Rȹ}d!D+C)x0`GԳYШ&5tz_pץq&Ȗ ዶ9W0{ ^ ϬI5>HF<'Ó${,1k[AgGД ##sfLd"aaܵ t_81;&ZPĪ7:/eцıKdkk}' Nӌ^-BX1)ÞHoHTw'F 7v:}Y f1X\((Uҩہdž9Us ,;"Ea++>{A˰@uPh+i9/MT88 AנKet6w!yŕi}&DX[K>W?"b+ma71`}iljaMs3zr>~Sl7CEJ`W0L-a@<:#8 EO f &nr@K<;n@g2M6lQQ#s~d;ִV(#W])d=ox~f=lAVv=LS! A˛pL'$@LXs<<~3A bE1F/Ck)$Z,_m73Wְ h <s~D_x5i[bX\BK֥atTO)>#k(h>\58+s\?b;7/)ARKQGɈ QT"=j i~ !Pb3C H5h|952QU.j31{zOp,݂%bҜu(=#:(],ۍPm~)o$FҴhjNԇK'EAbLh* ;Cxp7\ lkh'\ʍ&91SNq=9_6W;PqPPG1NTdOq[uěɆm9"W/rw c巔gX"Hdr 1FuNGa_Ҟ;nsSK$WHX\b"Ū=Xuj2 =ySSz*85Ƈ*]^徉ObB gv(b[SpN7AhqX 9.UZߍ\3|\Ւ)\L2 3uD KTۨKcvw<;P[')9t K%2;Jo6B̈'wI#7j'GTHբSz|ml{e:BCh*FQ[}vѢaK z2L4  >X+W)«uC!lKݑpUs -ճVdjw4]۱cQ0Dj\VOE6Tv!x_łu[njY"\ZPlZ|PcY8gGu]s$<3_mM7N1UIz(X7!,S)[wMȀa,0^} ]  $0(aINfO݋y3xV~몧\9f`Cr-CΒ&P1: t\!d;OE(<\H"p-OY{~ ȄSe@6 _@[ICD7!Q`+_$"whnc5PӒpUC>:X[u'm7'W4~4ϑ&tլ02AY/0qόe@dlxG6GPCǻʗuh|)4>VPY`lU>@ fFj:j1%>b8= \͞ע|/5̰;zإ4P2dAw`'s%h灖EPTQ i]:Tnu.LbPr6s% )_{2ic 0Fu{} 1J$ԍ9 %7XۚEk8ch]c]ıy塨H+_cۮMTV“5ZddzQgPo6^˚KbGkPtn'L΂+Ȧw\(M;$fcL6z2Jр qLcbUE1$ؗ!@e ? Ԇ(ʣZUQ6״C !NSm/%&.2B;e;(ŬP_M 3yq[_ŀFΏH |=(a4a>d6:S55'@I5$mPE]pY%;K&Adu)KB="5@-*k'`*N/`"]A֑{Hś/ _筒 J v(ey=~Qɐz׸79mWUB<IS-yĬ6>'Q!T1f5;ȁHåF3RAdfh:3x4! ]U5h=" ,߶o>[R %;U1`fsF: >)v@Y=܏>4[YC+4_GP4sodz LrL|D!~eap)f*h I*=ea/-"w9>aiJJ;S_ղOB0EyYߧU;#K A$XuxrPN}&y,b;Nș,9ގ[vZVx'P0/$(Y څFuL||BKpDp8H,y8#/Qt;%=DjM8ƞ|VΆ WV?RM@=cSB=6j%tCL&QtL!A<<ϼD1Uߎ_Ͱhsa@;qE'*rXCiF5\i=d9SB-Ga]XdK]4h룅f#ߒ"s{;ܔ k\8F4n^,TEk% Y6HF[A97qXoH"4=*Έ< 6AE h=][iauN>R\ۆ!nXi/AN rZ~i69NM'"i6z;(M;z<`)C0e⯬Ք@f;Yʟhtݸ.nxW`fTzeT :Yʱ`a9'U©igabzZ#J0MrXdTbabB8(E!wؐKowVX}>~J`:R@n)3b;{wqʻyňO4g{sKxŔԌ/F>~)~n[3~5e5/irRRڀ~^;JƉ;6gs*pM0܀alۻ}Hyk$^Kޅ>rZh{ts+_EbBXf~nuWL>]Uj,uȕܜ)z/E|yũ~@ ]؋uLO}(VN/E mRbsGVg4K;ҳ-"';lOW+%9)C$V8;ՍHn`Ӡ  <k;X-E˧nYwY*1z<3I T6 EyHci:XƵnZ>,hC3[T\R>X&-ȓBi  5"~f%a ݤJ~ʅD8nEU"_**aP@xɘZ ww evbz;M`a[_9=~΄ ؚKd&fm-lk"[toPx 20$dH!P%c%{!t| (XÍ LN,~:GL3U7 L&uX|iN+k1?Y"!'[Q{]E"2Sqtʡq>dcLa$+fmeKh%w/N90e aM髜&]ԉSh0oq+pLX:c)'ݹN`WWKg,l} ?zX4N5Vh˷`3H "}9ٶ4@WZx+ )}/E(Q&3$z?_Z+âN37arps~Vxn%KYDD Wl:*L'暞i 1KHv~WS{<;W_6 vG_|2NHzvtNLυXe6 (wljHδO #7#PFAxTF{>p)퐸:|zY$B1 lm0aFB:>o4` nOc.\P%O{oJ5P̟&I׃rfXAݘiK|r“ 87-DjLߖXJ{ˑv#>{y9)=㶜IZ.ǫ]I_Y+*u&C|EsDW~*ہ"ܑ0en{a2*iP/aA60HňzKsucP),Ucu29SEt&!MUƑfv+#|0/4M['ڊlrnVqu’i_WLA ;i=o5C6;=ic-5.#οּ%5,%( `?PskCVߢ51HztQa7PυGU`p9eVQL+[(<8VaL7q1'{QP , 8}53Z+;FZ5nAt!lr>-`k/mG%3X&+KlT.&^IV5VS;CM7޹v9FT87"X Za=l0Xds*70- ,쒋A)j k"Ŭ<7ep 9)X_lq7R-FM$At'8/;66(AR.r哽FXWth>ƆA T =0mJ;( i&y(?MT&ɁJhdPVPl)|V{E1=7bWT)54i]Nsv y3j4SPSy^Gwekj˳.+/#/5 HexjU?[0-$EN+,`9˰,,Κƭ=N& H܂04ND}6$DX( uЧ]Vxuhs6R14Ԑ<ܼ9@<hYm9qc^%ks:z͜ !DfFdƎt^>sӾz cFUn>CM]P:BÍ-ߍ`*=^f9_7GIǎn 7QO|M9SH/E=QLJC7D,=-:s̙r%*[Oʇޙ *Np3peԳ6JWw Z͏FS_{oʻܜ u XܔlnW2N7܌-fZOVnmP/Qm,uVB,p޹ZU{Z l-Hd]:PヷaI i@~çeD&.M@l"֯qN ;g,&ˆGr#}+ ?\Ԭ(« |I(1I _OꖩW@Wױcw!xg -`$+,Be!:}6H2;-'dmsL#CUauR`xO\Ik[꭛ ]0ۯSaG@EyȗVwgjHcZ vⰺ$5Xa-bgrF&p-t xB&SxS zXխҞ=vكt )꼋K} ;{\qE5p;]D3yw-< ֵrYa1 ['SW-"g#rc_v*cpۻOr%P\[-TF̗=|CZaot^Мޠ ~zRq|w&DB@$̥(uV^8WGVhRS`:hp Pf4HI`NFjC z! 'cv|=u س:_{B.,+;%gFF"bQ4:Bs1ZPYCߕQ<2a=@pST!}o %DuRWK3C44tTvbPσ3 ;#pz#a^)~8 sԋ[UͲMp8sROmϑiԧEpp'qnأ5PFΕ(Mq?<8.F~&}De Ӆ yoq"gF6A* KctUZɇ>IyqQ2cyΙ1qz˗&X1SCͷ~.vn* &oq(zw,sާ2niZsщ-~.9h=G3iF}DnJt?`U ix'@NaAƻҿҽӯ80B=}3M ص;vw]!,U1zȞqI^@U!_D)ޟ?N~\ lBuj-jPA1pQM8h2arI lPðXU\kD9g{.EyBiGcߌ=[kHV# 1 #/&HM:^f_녷t,д;nš䶊Wjԓ2vaĶFRIDty_% JFg' o*ޯJ([?vu T?Dk̷pwJشM1^  R+|yO]Ztk;C~a9NWԠF\xZ2B$̉)DSpiB]TT!L 1ļ_irBup2Jճ[P|"xsQsH̐16ґJԿ/ QgJ41Kˑ҆sZ /(UV5Yz;bee`̯]EFcHsiĉdѬGM8Z`W1~p<'㎛_:9rs65fH̴iG4SZnIx ȿw@N(N/fkםl5pAFL36XSۜ̉$NX2\ ]1]ڑj9<[MO6EJ算i݉@)H&#fr@&)vD flQ mU\rz_b#ujD@sQcOlXZF:@Ⱥb < gɯoP )l1l=AX8C$cKAc-BP )q 1f+JCupF2/,uXnCv7RexdIC&RqDLT3}|`UY1`Pϡ45cC}(p 5_)k ow[?]RFOY{Uoj[:]ٶ_;J;}D+I1jhc .TɃ wv`cɄdZv8Gz,Q]Xf?^ϘnÔE3OC7Wnbz$ݶ6kJH,!ꗴb8*fT ߽"pTOE[JXan@6J#IN\'Lz[mq`qj=ieK[`u  Ql-g!\$K=pD_JC!xDE̓O FتOq2L^702"c$7_G6eLbU@=yy,/"Hdm:⿏!0hYpס$627,TfV1$fJ Fqmm.kYZs&`; yvy#3>]nȭfx܉vdP.9Q ^sudjPf+o2v}㴭[|@+J;' (Rڐ6W'-Tj .Ȼ n=\TB.ׯ=FPřm1{ߥEEȬ;9OȂ_qqtqj?gI2YOh8] 4Yk%`S&^\T}YʨْԡܰnK(Η]!JnWg 7F'e' &)A9ߗnZ,ythb7P r6o )H'cdGG<_%|5?Sc e$jR#4đcet  @ ,iGP{U}[בnak^IHJI/( QEv MzE6'V!;řհٮA@$a(Nѡ*)}1^pLK{2XdR OS@Bj~t(O5 u+KEK^R~|J4AB݅Uя#בL)bh9Ig/ TgꏐTwt,XX 8I~M6[4̚CW*&tO׀ h8'+8DPc Lwb2AsR=tP [)x=rt/X]|]p3P$&A<$Byasc^D$Y ENl&%E0#2, שmg!MT0&H?W!-P_VTVR$ሳеn> 1uarK03KDN * iiXÀ: p`6հrօ<Ǟ݆usP%sl6`J2Mre/`C(dGOrmcN6Siyr]mESg?qi{w%a:V"(7w+?pfE*lNG6y>2Tߣ"%ԇ P8Ŏp*%u B r3&A-])@,}`>%>v<8pSw5 lo/Q4@Fbl,AQ0iϊY.*fEj@>-o nt&MQeK;stcƑ]}5' ^u&|_(C¥w,Qh89lЙy  Q֮o-a*lkA`/LTmnԸ{Xw_9m[0-p,Y-}Et9 d_>D3@eŘ$9XV1`g `A}W+ 15Dm;HO/1I a#RkC@e urRyN/|G)n򟦌D.abPP{HO@fľ|<\&"N鍊-wPɂoSIN$ZDύh0J)mL-L&mB.=ќsTe@msdR#Pr۫٦vHϯ6>"xuEINYd om1%̜uK}]JxJOZ:=6q#:L^S줆)ۀ(O֒t{ pn=!t#WCLC,~k[-|>e1=uLE ZRc=͙?s$}(Ƥ Ȣl2ʙpU>z-7=i 5m2ER?`Z+52L2.:PUꮀdBJ(2;7 kkgm{ #q$K3kE@ÃÜ(h">et!i18cʸ$ͽ1Ld`M c=n ;;Q*qdھC{8bd"s' A&oB;^tM[FxôRk*BQֺl%NwlJA- 46E!&^L }mk uXW dAd=>;ާeCO*KܓXiqC:]ޟpk:p`ub]ߜ/ vA'cSc D0کVoZ$ kpp"d.'NmW}ex QA3߫z\_9N KM "lYӝV}K;Z<\S`DzUָlZW] a2zIy:YJ\,'d,ߓm L\Vb)po?]hĢ%QjFq dw}^*6|x:v^ C U1=iMAˇuqi'FscZ%Ɋ~',)~}7,i\ #ws&{AjgbU0SchY[@wXH qsR;߉z/YnZִipl,Udx=gd^@=Y/+{Smǂao*bTNQ۷L%O"SOIfYJ*S2k6j; f| .A9cr W.lRDg\ݹFܦ؂eB]OS:z`QVUrWH +6sVZ_wػ: ͱA2< w([T6іQjKw ?wM#*OZ5,L\nc",1uۼpK=*'mR0`w,(G;; :Ți?lٙp]A#kYup(qP jI! )P9GR&($>,œ?OUaޭМ+WvD| :=>;[IsQe( #m &s9f /'@n8 z,k sZ9: Bc%ػXڅ=!.|*ɋr=X- SP«4 8快a78VSE`2Q<>Q>u GfkCo\WP2ߩg,lM|ٛ%ROvc`P 0WH F cck)& {nyz[dk> YMp$Gz u\L6Z\1,X&4 ~ o;z9 NUg<~u_TMac_Ǚp;.qQ/cxK6 cw [P=Xa3C9@=Q䍉n^ kl6G"G6Ju5xeɲ+0]^Co}3pw,`ƻj iw]jR僋~l/[n>`6"+4lOMve7ߢ}=_"ZWR**{z(Cc(\zHK$v:Rkgi A瑖sfw6/4¹7/3mT_ }ҮV$Զ_#ΓE cA 6-s9OrfR<$=ƷR$ߴ-IZ}̘g @V)\H} 5{Y:nr9s:+0M7a4Pdb?@_3Cn&> ~xD ,Y֊j/,vь;ˆjT76w' .$_9p (l(53SvZiG 6 ;)\|0+ kA]ӪV^#=l4b9g AlaU4:/.V St&g/4 i}_b6<OVO+G )|ke_uZR2 =9I$U6y.9E6asH7Npq$ %\]oakh|n+|}@xԢ"Clx%Ywqg5[C=#h!!BPdEhmG3/4v. )s*wĞSwXؠn0؎:;,@Э|ŎXy N+(€FER!/ J5|.fFjB-#@laxFy_5zz౧0IkhWXQGr&\ՕP jA0ÛD;^~`Ijۏ7O).hUW߄KW8)ט1Q$33oxkgIpz{ hOI.{]M<=?7RW[l~0>xf\"!bksj8HT6A"B;D5k?C|cS,~;oP,ʜ7f0a Y^.` edAj24(a &´0i-7d,ɩ?&͊!8NO0slO[mwcOGSVcgܹΩU,zx?[39Hr|B|Hf%@k3f_+2M2کw hluC,$wQ}yLƈV8^XRjRk^8#SeLc l%&I$չF: ND_./VszA%(ykfa"8S`js%5ubʐ] ͪUJ]]`&N<Ҹ ~/֖jhge $:26AC iixj>}c4+Q&O]!)Xܭu{/B }1B-HpN^jQy[ =20DqUGl /s~J=6 `Aʲ`iΡQ5bj[u/׶s2:~G*=d7tsq(Bi2t1Dv+Wk򏪉Rw|2Tx</~^n!whl~ v/v]5Vڿ >ys Tgq"WA\c X6]ҙ1,LN+)L\ 3PMDƐRGG=¥ d,5h~*Az"z𗨲հldn>  @_bljd.l/uܧ>e7!b؟+7_Nh&X>]ìy6q$C)fPo&+džWźTuPC2b_8'[WT;T֒_~Q1Q?Clj'BF2I\$é< v8Գ+Iw,^vPJm/>~}5FƦt^.he{n&&\T=3xeBj6uAPGC U޳mKuqQX})J\饗u"#6C wSqLoVM"iTsdz׹{)Z |v^0ჺ0ﵱxB ѳP.u;vJ4IGkcۺ[GBe 1аx}x\ W}`k'Қ%ҧ8|ddŦ8 vŊE N Ov|6MUC6ƝZKq]+ %r/AIs&E2O/ \nZi>e-6̾˜Qaq7.2 "\XD0~?hNP%+ij9/nPiB'HZbJ4\} avh(>BS`F48'= Ӻ¬P}F>mJJ1ry8 c? S (B ?,`{b*6ǎvO0 _`<;S0U4aJnMϼ1_ ^X)Kۊ*<6:9dH7i&bUŃ4w2NRNߝZce7 ,/nJYD-rj;uK4G-z)a*"V+Ѓ/*%Ojr=tidG/!<t)<i6 tۺ' %;LʬTj=;^O kidjpsaFl)s];EbA %""ׂ}NN8r[%: B*|A N,湞ENvQ[Ot#]Sa8L"T :ߝ2&kCk]U]n׮G{+TC :ׇ uYTYӶQT;b~XzqVH8g7!9q{ɀsg y=w ';|*ݖ2-ծR[+ܲJW=qG K$0hiv M'*gg"0E|ЙœWcAk 7=WǕ,Tic| m;;|h3Zș|RָBNѡI8Ԏb_I"2pyЪLv ;hYx;UgmmN {eUgiIVk1>ܘ1vvo$Z8_jWf]qʽgb+6G/LnS GTqp2W%r2l^ŋ.Qg#DoIޙ¬zJKq ,˙`!@4R6\棝Dצ!z;3MSoLr5;@eȂŪ`{:Ɏ90~s2I&ŜE+׫$@8&'fMfds{Pe2+ݨL/5[m=3'|]$$d^F ״qPxjxo4Hl!^ VE޳gJCτG|xɬ+qaj8Y>?KF4xx& E-H$N*R }f `Lk_E~*؃ a#)|.Q:Q=5eD^luI;BIAX,߸ĢA}wEKf I'MKpٗ=6W[MN0UNy[qǵ:)?`jB@*~9H(??][<~1.Rw @v.S!KVcS1Mg콵>}=X0wLB Xrccϰ# f'V悲q<I_\#"z~|m' 1|Br;~J&wJd<:2 ԟAcuw IJ$9bxez =:#Op]Últ4;Gaa"G{hz&Ǔɣ1+sݪ@dg1ԕ1Tl?~6+gA!0] 6T㌷"&GKڌɗ >7;7e?p8w/r)&KLzaIs6E6JTL;70>ܺ;V~'U9xUpKkO:Mӟn>F,`Ƶx ^gf-k,Jlv؈U]V>4zK ̘aeukX+(l|%l\5fn`ZQ%E%N*pfy_PKOf=HQk0 g}vq:Sb~QCӕXqF|H8r*otTylk B@M-+<GPϢ_5,C7$b};KSes7$-*TEg%@nM m٥@7EJ^|2睥4g^I?o2D=mZJ :m&,2!h<Y(I$kjOK4 //]% 3)kB&PhJ^A1)M=ǖ%h 7ʍ.GvnX=[בPU}."=g_șN[8UAËOH-M(kԇBi8~rdK\! cȟkq)nw\Wڌ 5 ۲ɤq,U f0֐iH߁EreJM-߿yrD`i>fvvrܰB %tC"1Fy" 5फ ȷ {D+zƐiI#`PEˠIYb}[:ZA2 fӼ|'?&Y$C2HhOYĵeuTHZS ,6Ҟ "J"QI*\O弗/8g)ؼ-p1YizDUi#K>[%eg꫗T֦(XG5~ ȷ." ӯb"Ƅ`B_lۊb+Gr1xק{ =HHɲu }R6tl~0IJg=&48Sl5<$Ju~]LA+=n>!EK/LK)k81K$~ׅ=Bqlj&HB_M>Gcȳ#R!m#QtFIzHKmyz]iS; E{G+sa̜W˛O]:A_) 0d3- -naްyp ҃#B,ϮFcQiڗ}vU I 0m}RFK‡㠂 dٗ}#!^ H Vw;PƧHH<* ,CIli7b Fܺk2' 2wxC6|&c" ,PfSﭫ|| \fVˀ.hVB)?} \WZ?mf{!>{,i:$VV-Rosd\ eZhs=M&o4zYf+O:?8KkE+܈V9!}1|{ʌвY?ej0q$0Lߴ+ M؜;TH$g1 PxC~AL!n^;B2 G&w>odFW"Nc7I؍lvGPeo^66]aNl)ł1b*'%$6iv:.DUB*)#(Tho!2pbopg2h1H"Dq3)Ihv6@`G$xN-( HJ**LN:<4ϭc\[,&7 3l*w#af-d& ':OWV);/L'Q'̧2#Y* _i1:Edq&?'A #iԁۧI]Ϧgj)<%v ېիAe[4*Q:BSALؒ 9ڒxƷOG82OHgϲmޠh#B] MzӍQP)jCZ''E! .4WQ@FMqSj#֖3B.g믰HSa R{I5%~kԠ j$נ҅tqБT}3W-A~ѨM_ԙïwv'E LTgݧ/6duY8T+WW Ȋ3W BvO?&h)܅!FiѨX$vM4%IyGPt6GB&w@w720JҢKV3wXҍ qg!/HٰƯznpGޤb> $A6/ =}Ԃ6Ftq qA6[N$GW_8_:8&~ wSKdk"{/2!ܫnǛapxjo&Ls^^ IOӁ5 ]Rw,m^‰dž~ i%s֖XI4 6BC wccj^o\e* ޘ hGm|>LX~pא{IWu u)GGw+LGa,i fFo!M@fuV =7\A`9Cpqv~$\+TZ 2(v›޲wTA з)"[bG` pOŇ9`5ɲDce2*}D7֓:vgJM - Q."(` M%\~Yc&%A cj>%@,BY1fK@@ylza&E65sx+]'L`:Nv0:ORܵNԅҾޏxFuS68a%A]yQs@e(i65I_mWg!t & j2wZ|2':H27d<8Esړm%^ Qd+[`REIWC,GQ_^\Zn%!|@Zߗ [Q&aIv|\(:sU!d x.$1;L]hvc/%KI1}f:Q G(SsaatD-)W0gH|,Ddo~Y8uG˒84W$SZ^Hnj՜u^TfH_\amnu+dm֢يqQu+`4I6NcTrGf"`)To2yDlm$_4~IPМ/= K kvc:4|VŘs }NDW')=wVw/bMH]$w("/zOu5t"m~@5$p*ew ,4PMmQЄwme=Vmj=j&֏ eȟr0>_10bM]yg@[Ky%iyYi4LcBŏkD?kEOb X,BzL g~|pxx::"ZCN2],`Un~hT! 6&qk 7Z_ހDBo M5$[Z/z*sbcӐiO^He^w]ɵpɕcFqy-Wb'. {{f5OZatpfM5\S6d^&OSI {QB[4b_-ߋ-;_@E〥2N7),^35 >1PfW4-;`rYE>uDe0%jԳ-61£%ǁilH_6" g |5|C@!f'mTzW35Y<]X (q*l 8h¼_{&; +k~r0qw [vˏ&_8 ZyR\UG.&ÍGo|rr%Ҙlq}OK[7*M9m;w2+8Q8m(E gB.-{I= 3$/Rl-WlƊb\9:4UNk{ZE3OgFw!"q0cr̞8R'-CyXK[Jzguoo b)6v%쇘]4M`<6~}XFX 4"ySzO'=?!+Z; fZ8% "\*x!Xxx PĐt]؟sktW(sP;JG؊n5/zmڪrW*խ ?[Ay-|!]1m1¥STjz$IO"kDqB)mp[57LؼEVf m֯1H.(sӈPO.E立!'=|n? )#)Te<"|rsiW@P 1a_WR b cI sMpLpe)?kF*ΎL.'G䭲wj{'ݰKQ+OLO@4S3H4_ATǔdKk5"S.8a}:+l_*#$9;*p 'ÑCP[ht6ؐ$<*`]-H~{Ƃڠ!xTp Ikd/s~Fv`l> RgV"62$خN30S2ߋͶЁm6a哄H[`,$P~7.$HDFK¯nf&#GF]~zAfa S΅9]ګdz0Γʅ.InˉF×`鍃8=C`Vng k<\fT諁;<[1`KQwc )th# VL,+i:([H" jo$ehvYXRSBdm:p968WJe !qoǼ_ ~j}O,A10$COeD㤋>G(Z  KYB5(ݛg Qޱ_4)Lwy3!+])̀; Gz3TMG+shҳaYnZgOl˘7r셍Ɨo}XotG^V͞Th8ˍ*mPGp-weܴrbwh4LJڥ [`f8lVR: umpuϟكV&Yto6kAQP8fUMZS7khG6l1\l^tVr)yX ؘ-\k{(%<L fX:kIlm*8h kKOO p:hճ2Y>X)18?ާ7D:C/b4 `G r`G9*X$$X=V,aC)k@nOdL@?Zɦ oBpza\c5#2XtXo_e#6symq[o3&#oamOĻ )c?MBS,CkBiWԢ޽<"r`I #Xks"1 F=K,yBMIj_K9}gx.ն5hk^ݹ;h]b *h{Feѥr?(Q) i fz>D#-mzTƀp&d]5XFwyikؿxT" X-5FT'V9UπA*F 6@[qOc&4h<<70xt. B _Yl"3U損lcW˾_}7G,#ޜ_0Z\[.+l d*6@*ă1 oWp.8X5G7=dWMk8bHy<vR94 v^A,t)q)!( ̂&^98jAvilN>7[ P8 ' srjM ~%< h5֑`OQdrQ1NLo\i,'sIۛ,upo{Bǧ5WiG >԰}U''QWĝՁyCSWeC>oR95:fw3d@$.48_&Kf2 tO1%ld`dyNk]Z6Uq{ vV &D*)uxȗ?DԂM(T$j^ыݠ˘/+C ].~ ZM?ۯHN!Ax^)hMp ˪86|y`C/ۄoIZ5%~FirHT %*z}X߰ʈó$3鄺i}d.Rq_N ݕܲB9}j6[3.0Lg+u1.8] N$¨U ,^.(]Yl.3eR!7܁|Tc+BwԢpm%O)i:(؂lD=x)JsփThQؑucȪc*jbƀXǂQ5ǶS+0P l|$H2 NlaݐlP̺j|pV](t%IRq}19fE#c52|H-;<4ч.$VoHqZfSʴ[nrys r铄`ڂO/,xK5}ʫ^?4iw!N@8gr/råNHL]&J4~Ö,Y M,vs:PPhҺ"\Wor\ʦ$W綞| k7EC_8uFX hN\} 4 ilVñ)P*<_o%u>|EkZE9XaJ~N 5A)D5fDn iYsvDOuk5Hm_VRҝ5yn^iLt{F'Q? ppCSGt3k<"nhlu:Cy~1<~'/qnBI-m<$ǁ|Jd(ijrljOMygfHbzvTW5*cP֜%t(|)ˊq<`\ ) k;\ >9sYpCњxA絇bۛh%κ)E=;+ 6qxnT?lqFm|s-.G9 #e<2mA=mt1dk2Xy!z ]g? do6Աs#DEJKd4}b$g u⃻J=AQ Y{Cy٥83¢űטu33B4mbB|o2{e|9 es//h`(zNe~Y6q"Uv)"#G]w[E RH?C}XSkt ,Ƀt^;|LP`gPp&u1i*l = )&`wtbwX!(x]>ֿgɘnCzh2pE1Э-ErK6km4y%no۟| cNdh&kCK|)Q$ RTDecmD)s`װUkq: \(x'2Qw0Dau\l-n ni LDUc7SQ$Ƅ)dTC^)*<LZ,+15/))һ \DȬ-=, M+:bpT;ȴB,⾌ [0LC{0= F CjT|yZTo3v=e0Kmכ87ST)x6DGLR݅G>-TPDZf˫=?.Y m=ݲMm7-)ݾGX5coLܑj* ]|\1 ^ P#W?,_QML,? hJ,"qNh*VHO '*v 1ܧfaFHZrhRsQe\,h'Qdž(qa+l-!^8) fo1vX.Ӊ&KوXPUBl^X![UUcl*~pkyT4Bsn0J|`B-ĿK$>DhS'HdL|Q)zl_l'1UNBgDh#W6x֊+ZrL4ި-:ZߕSp Vt5FvM0}4V)CJ&=eW5 ,촃:$t7>6ELi~po\W r鰄:tдus󪩻bxbPWC,!V$.X:bI%H+p,NƯo/bW@2te$~DLwqz=Lz gՎ_ϐf>y^ʋK6]I,$kUP4R:!bkq@5ي$7CAʀOҧC"n-brIxw.e]ˌ|5e+QNum˞@5Z4aV'ގm6pl3LbV\ V!GCiKY:D>A3hgݱr24?dcr!Ԍjw|E7ugI,{K R&T.STZ-Rf(X !N V}Qw4J`qoVX1y0AbԼ:`,$G#q~J]Ѿ§=̧ `ڷ@%bʋԬ(鬮ynXA3ĩx<%j g >:O#Y@:5i6ol $vRa8,<.̝3f಩Zka ٘A!nz4gvN^C5Tu&[qڕs/Eavr'89۪yZ,K)cOrmQ_–:=1DUѢU5GZ#Q=z㲢M[Bļdmq̃:5I-4ضpu0U+Pik^ʧc%_|:ldN"8/,,$,,k7)S@*$œJ(,&>,8ʤg/"_D0&Caڧ*A]F(p2ך"syh (U` 2hFZt-2&-Ppi.h.p=%`@Z{-RxC՝NrS~D0hq9/ ġG8D[eM;ǎB;'ՇhʌAIYQn壻lǨRitO.S@C%krsa0S<(5w.+ qf1_J8 ʠ s쾾 4TEb2HlJ1 ^D%zGC?QпNФs8k̴vݲ}dOߨuޮ8#e@ GX\,&PEAZ$4R?:-ïc qWyn րHzz>oJ9.9RHlRr:J.>.yQ5Q}V:pUK*8|i{T)(eϨPa8h2]Wn\n`xFjbVψ̂?r&ih =xbS0&eI(ȒǤ>Ih@~:4X}p2LT&lj[Nej)Aa>sn bq:6UFQɉeVʊ`R[m4=7#6,(/.Z&hfY*7o0;v6 B!Š ]OWVbؑ*JHX lco0ʬ C#{lY2DeTDwkN z w%ODTгW|Y~VćZ' '&1 e|S3V+u9R+qzNz-p-n~84@hqTvxb&:;H/ha-]5Okur QDy֫{j?dM8})F$5s9BPfSbri,8y`qnԀ VϕovL,kK`3I32 uOKB <ʴyᅼ]u{ؑ^q vi3Uzn0Sc#8e9Ёz4p6S$"\oۓ.OYA %UKX8͉'JZh HVD-~u6ÏnW˷ȡMbӳX/cp;ήhNB[]QnZ=] *>r֬2߽RݤM>⦾Z\E "fa+7)l۽$wVf-^R|3|/az?M􇍟9brOq5'V_cd_-='PAA!p,hjRja*)&bjN.;s$LgVEo%(؀(2 vTe2a2se9Ξ|${L{W'#ITQdjhSÈWcJq:md.N/ )v#YM[,#1*#Kh6uYȤ Z]R& :(zuOr?aax݉|,T2\S~?lX@_J1ڢLM.G ATd!v:G kz|K,pӃ1:z7yҽ. <㭍h"5@T Cj/%Ї>d d&LIoxVPYh@?ZZ;S&:%h<ޒh4c|4=ԣ/Cu[.*<5D|ވ%Y5?OC VR]u3~ Mѻ==c^ >T4QFnMƱ.#![o@!ZP7llDh{VI }-Tu'ʁ6a^)Y%[<kO`1)!O5 Uͪ^.DVsF6uċ9Ú|/k46k9 OX}M .0ٜqj ;AuC_vD߷8xeG|Q}Nf;զ aCv=Lmq'%o г*hH|duuQN8MG j(ۓjO:k ǿVN%o:;l ¥*> ڡsK"c,.Gw-?bKc#,4~Q 7w5}8cnlB^~S $'W~o;M[7g,82eɗbV/z ˗&1hIjsjxmdz+wJ{cs6p6L+ +zJŤK84}j$XdM*P̴YBWQ>A9(9ٖUMf!@{} NO䀨XJFf˗܊r/iw}V}  sWA čyX[Wtξ?*uߕ䕽1+,\` SR. d{8_# a{m:ۥbaR9nou#YNp~VTaL'mlDifQA~pmȄ2x*スA\Xk'(8rwǙ.3BE=3W_i2<ҖRV5_HǷKisE|F0+`ȸͧraA-^jTiWR` P@pi+4`eRik&FpyeqAT#lK9b, VG[|K]Wa܆ ctv9Է&slkch=v^RJ\F +Cfx\yR.*A}IBaR iʬB|a"VVƝ17K#Ŵ.)-]I7#}:ܢ2Cڅ>,@0Pa2ǽ٬oNq7eVmOrhR sd tl8Lo8+괓[ `_/#ܛ2ѽav tWn)`\px3zCdrs|`nR./^&Ƙ[Ī/ΆP(a#8CcT ?0#z]T[Ƚ䌖3OId5{Eɦ$Cce>jﶬ+hfQe'84Y3[n~Th|'f) x:f֦8< Xn:h'9*czoB%Z搖˾nTh&FȖc<̭߮^O o,ehF$Ys^Y4sa57w.*:}};H0ef x!Tr0e}e'|4\),Iŭ˔#N+v Rxu9bBx+/'CzizN Ddc+DptLwԞZp΍Fs-Ob›/ R`yq6M2FoNi<%"l>8ܞBnXqQ4|ߓ;VX4xz<-ڒYݫK~G5{r.-5 ĵ:pSGi3}v҃ mm|“xɝ!| Ky 8%pvߘ2]yf5+ow?y (rfS%7RiMYXJמ=D׵Z댩Ǚ5+)7=~:3.xbΩCK{%ulTP9Yt8+P7FZ[s,?4mfj> Nwb=!1`p,6M*x=ˤ uxx><`[L?7 C?kn@\y|y;raN9w:No,?ٖJr/4%OýSa^FӻX\|uk<Ĉ,$8mJQOE7q%:7CDGNrYNj)hjiyP'0;vP]$|FEM;ή, - ¦Jf&5eMN^,Y=2\M:FPjzÎY?ZL>u@a5Z?Jh|FL㬆TTf ؅/מ TaZYПKLwCAs^bJB#gUW l%:97$LۚFa39'T~"4Ix%:~0U"#౾2pNplZ2=i Z4 6VZVL"Kʇ Ey5A/<9`kqڼf*EQd[_e#_Fm|jUQ[Uaԋ;Ym@M2S-|zB 0 `떶CwAh{ה*9է(P8Dz{5ʻpLbšc@z꧑0a+J/=C^I8rs~Q CZ%9=?AٗY89E++TEx, fX$[ekm3=&H5e/GX ^wqZS4eR(YVw!gZ釒ϸ;6x!%FȩjݬG la3۰ɵK4 ڂmcElYvؗrG+%7uAg#)M7q^jOg!pk0zܱL Z ;XOj&W]1* vidO]Gp*'È>tIY:<>H5_y3wFٯY*+zH70`jiC13F& $~B`&cmffy7s 2UJT9;!~ЩqC$֔hQ)7UicbZ lzmD.hLȏɹlxe8pxJ0%9\w*dȍT(lہvw# 3;kDJn1|=_cJE_ۚ[SuP9ѵk*Bhhnw. D8M6 (NoO*̉f OH  M CCLŚ]*Ej ]T Lv֑ΧS]J|\I=0x%WLRqf7&;!=yp‡Rss3<-@%( X?2>zf<=Y܊;od'˼ Vznۼ55EeX"v~xv&pàw#`|p?pe;L@A#ڧh ;MWTr'4mP9bC0A;Rvް=9h 1JLs,v`-!3>#bxҾQP˟u]D:sZ^@*Ι{^K^l2i$+Pͩ<ƓX"ܲqT_48$7ܥƩiC^W)rBۙ. lb>%2oFQz,_ĵeOge핪p(@_0ۉC)v'!\5A VJF;=Ŏr2TX^n!jm2^ , >B)oI- 8Un3٪cs@c#~`D5@9K@J.O} =fjYTUɀwəcr`,7w5[ Ddz&W̏{';+ؓ5(*wmC~m;S Αq?/y|ex{WXlm=n9Q&:L2A ѝHr<6A n pSKȬuIO)cS@á/pm\ڃqûKȿIrV0tឺ TLtz̾Eڳnj|R\ALQvl]yɛ.ċgk]گB9R^SaX i,@[h3FɩyQ6JV?[vǨ}h wh^JrqPsv\Y ҀH \鄩"ث8ts[mg1bC>z.y]7LsY Zo6ʉ㑾"o LKTc= cV--^wE3y*$@4,ZmcTXPTBg}(,t=#&ɀʙa.]leQB1qXɀwt78opqe3 ]90*Av.>T>nb%P<߯`wGWXf51NPC1vN6T"1=%&U/5" r g&RXL{l:h$*:в {{m"JUE3{;Y.52QvG9=_ڟ#xts! ܩvܦd#&=M^ ,-sŖP~D @>u;"I&3"L%UV"Ш$@a/$osho6ާZ&o1R/lǀ5׀jMPHM$o!b5[o/ȷr.)(,:M`崻jȥ _8gn;νfhvЗм̤;krdSp RS7?9*u10* Q~PVȖ^"B42t8g59>ކ/yKlcn""a%ybDO 1 {˗=F$Kd_ ;mU%*ɬIM4i&Ff7Dx >W"rQ{ n;# x%k7>%6pBrq+w7FuK{HΥ3ᅚt7'xQ}?↼m?r:I*OhqWw8^>D`8&Pк֌,IEHY7-Fh`64/Y7-P-ԂVXUk>iSR /PO<.xă4,5`LcD7O䵕|Zu[Y};/020 4ᄊOe'Ym6J~Fá|<6%ԗVsW-|̪'qaW-T n;^J~3 [j lnܭ9edH4gH$M!RqO|R- TթeZfٿ̞t+f A(@uzo+7QIxgJ_qX{@s&NK׽ ʒT1 a>o!BE8Ǜ?p*ϱۉ-d/3TrgB+攪C5n&*$iHɹ3f-uPA1@ |p2"K;D~*{f硞ܻ_E|// /c"S*Bg|6f$bF[7A7D3WdBt7GN}R;iB<< 7n(%Pck({KqwBP$lTh6A PXYԞU+e. T'7N;' k Ց2J }mÑB ?)'Fnw}T)v=.3ʢEјnzBK^RT"&PCaN,]ƜͧRx$ؠzښJ}hIŧ*2q{ yq3՞ūZ} )"XCxWƒ6vWTƴXG_)\-8=PK[p@_솻jD22Z. R,7T~z1P|4Q}Ӯ}cJ歉+Ć #stJ´I2FUg'۹!XSrP8kN<~9FnVGJM/F؍ZBY3$!T*OUn9޾YasɹA\ֱM&R1?׍ w3h'Ҭg!1nG WW 0ˤi+s{q;6XJL xQf Vb< ,[}'kzX/g#R.F. Evy4)i bV)c'ķvzv850i,Fo2p.*E_!,̴֗JcGb&>xrlMt}Dx+>G'|4`:[|_HZ|ʼnpv*F\Br XS9@T/xp~y^4>`ܘ99NTs,^HzR*dºJc"! ql"KUlJϬ/88gȸI;].6ERmQwE~+V1k-MXF L"a3 }:bEp9.짫Kk ԧ*0ڨdcj n}CMa }"6oM4:Y:kwwAfMY7!QSwis+,c\˼^$G] ׄw5OfX 4@~3ƝSBLwZ3ٕVJp?C\g5f7aJU" A{_?OZe=' $N'<7[yU޲F5w2JpNCiuLJfbpaYaP ֪Gӑ+`=wI ]5"Pd/YSC!u@fBz$†.̖H0/{,BV)G9-sXUu al~ζˎ8w6%Y5Lu(ms0ܓ(,Y]@#i-a*BxJj@_Ȧh%Jr6*|C|:> UV9>J C ~ _`a-#Q}BۋFtj9U~|O^ӴD`6gG].H̨@գYffk mf(=PJyX+P'~R[Eq̊DEQk܅o9t&T1qq  mvɘthXO`iN:`LR xofUAOZrt kd}mpFn8jd²=UD}QM'-~C\ S2\ S1B @`Y{ y7wAa$J74j:o|` 8S^xj ~r$P%.%1m,STl7*fpGC yoa~940H6䨃+S<7k!o! HFU%GZ`|h/3n8ј?j;h~'6]AjF)R=L> EnhHfLw =9q&{T>>C05VZ_,)xBk/ %V#?O+`;ZnBI!^Uuܵv(< i6c@)@Ÿlf&pU뼓=6=Uūk4.ߞdT@kob[b^:av>bWʪיLBD$n ѧ/Ӎy͵誡{iUBhnv2qVyEؗk}5P&S"yaS/ٵhzd&5H&+i{n.c0mat 剆*C>᯶+$K-yzZX36h@ɉ?TWH9-W y?H*x*w0BǼ.'t1$Br>I%b˲͜q-LR\7`)(\ڛ#{-GTJR Cbɹ&} Μ4:l[`DLw%juTw\or:BߥrE7mlݏ&|8v: $]+ XgK* y$3- wuC58x$b0/hWY]BG86zʮL` S?i]ʴѭGn %MK8;lhc̓5ѝw='lwC$}{_!tgoҩ|8bx0n;#- pC+ςnE8^I;9ZuR*^UCZq*K_͛Y (`!qEwE_[(ZqǸ +eF"ǁr)s2p8mprY ݾLؾ'uپ*p(Ѝ ODŽ頍+"%Ea" wS[NsDCmnUU״LOS&B9>o}ݫNT^< ]5l6Ӥ 8a.<`uVGhW$栶*? dfm\QU3u^HWb3lF]ad%yjmz"EUKK `\*E!`rJ.[}V4o,~G(zz˹4\G&}V[þQ%ϓ]6^7Fl ,+N ] lIɑUxFj=VxXD,+ r xskzQ7̌'1vYƣ]^2kMk `%Nk;j5z4R'C^2-H" Ͽ&HNmi~ IEe/.C*ۯ`~e{p|ڌpGTeG5a0yC--]Qbr5ʫ"p3O9_ $)PcfNt- _鞘 R jxSMTŠ/`H F`Nğ}u;s0n}ҫn&&IYͻjF7vןYORio'{Fw!Rkf.hmk׳(=2;T 0&fmoð[dBJ 6D;=b]pB+м'idẝK5^ʬ< hzo`- y"WXu؍*xY>k@}ct_b+/mӆX|+1k:+]cǨ?1p3&Y@.R y!y35qX4Y66HmJ<2P?(h✙jxjcZ,~U**zli@ f v`qP< _bv>$qRtpک herL_FmK"3o?vRq^YH7(tq?WqP/**m=ٻ7[N?kLX{>Kk=g}||_ga?E*̌G+d}& SrX _O…V' Ibx!r =8lɚ4FXS,I+#ؗ@1/N={#x1 *r!w;Lw٫Nj6 %)u)|yQ~xc H2dB,_ǿoYa/ʿY,#iR)Ҵ3Ԋ1Uߐq=ƌq: 6b.AB[^ [27񈫁Myd_L^|g]ln=ƧLw}"5Tm])V8<,F8EMa kwhŪ&n$v\АfZ{V6l6A" CBwì= Ő4Qه<64](?HC0Zgϔh/ 4ƳjBh W65 lo7/nv F} f ys~Z>$ fA=Q|ݴ䁦Tw0<) V'<,"|vNd u'DIьDƫfʶ6_aEĪU6oF#%]ϝ88hI "Tulk[ /Nؾ-'ev Jc].c0lӂeب&Dz 0핢D\$qx lkh`hJ Iu2g§0Im+NlBï\XL˻"ADJS#rtͺX%A9qBL:^kDhT*Q{DwFhEZa~ _$u#;?]i9v:沁mFg~8Y\8(@Hs|4}_0o jcqR#(׉t\串xP#7mvT&m ' V,l>¸1aMQvsjH(f[u|>;[nDp0|3Tדe|Jmu4Xq+v!(HY|.l-n#D5mpgCQ29𼟇>(؞h6O,)e\&L/͜u_S2&8Z23o}<,~I$\w[~$;qp2Lţo;W,^ѵTlHlj|OXl .|TJ8ke߱n CQG*w~E(4 D@>+݉Dy2&"po,+]*&PL_bE"1sz&p{ԟ{ˌhC*Y}JW ȢsbL , );4,o)Aho UJ w:6JYgҀ'b7puc60_t/H*J=tۂ!BeL[f\Q~@D BVG$φ]dQy'PQ6ۛS#%q#m;Bz(k*A"&[eoo%]췿^99.gleQmo^A3eQ& {`:puLJ- Dn7<EK37d Y׺Bf+`p] NXh{e;=bbKP~BYv,JUBux9٤cǩqcܮݒ|(t]f Udq '!pqZq%vWܒTۭnX.~2 nxɘ{k8x>aM`dnŠ*6Ǚ $Ծ2MQQp^,hm!`bAË5:*"H99,Ӌ*l-,0ܝ,#]Jslov &IGEwb.#Y/}. +Yeo$ VP6ZJS _dKx6Wqd_R$vt7.n yY'ŵR9KdOY6_}@IѸ\u%gWcOqkGjw0ȸi! }49aND9`VU(@c h35I Y͋JVKjV#j=R||5<ᴽ@5J !#}IPw !MC0&gpOnCan:,r6\a7zLUsA'U hpjJY&'D|=Pt |ѣB\][eOvO'tdbkA~ZV$ s_il?"Lψ,Wykgqw77-v"uKh7d03M8a]衝,}qI w/_ FϝxY}?3 "zƲˑa;nͽNcR=ڀBሆ&%ZlfO+D"~<󓹭xrJk6<HOz *Zc0+ԉeS&Yhk6||3RmZ%8'A֮;7EpC)*S/`w?VU)j:D! 0 >=Bo;iwL~-V=쯮NfՐ/,gEb^;Pb[88D\5ꎿk`]‘o5k }#9Get1{;i/"jXxH s{:h>~ ]`xcUU4|]!3=?Llm\.[Kl -Yɂǃ>9 G î?{GEika K֚Q#cnb !N@ T׮a$nIh_*wPhZ zP0&b>; _. K>14+K)d]%XA&K-NL)_AYٌ@uij"׊n˼ ps 1ڲٮFd/ve}4'k/$Zl!K4Tz2J20 3qAa-H/!Y5nUb jYf}UcqOƳ @f`$)//8Ztv+_Sy >BPƃ OKUw6zQCg{SUlS^fHKfg,lh;ɓQio ^\];&~V[r8&!֏Kߩ4xCP0s~4_Yjr pE oc(Pln (,qZ~tT1ʘSAʫ Ji-ʗr;)+iJ6%p*U^oͪ'Φ8ꋹ|f/W3b2T rҁ:!.q2PiCA&ǾcQl'ԆZ~pgƄzBYrnn82!G #g-ly/cSq:O/  0N[W[BZJGIdEԶ? >tqەڏ)k=A+l^nOy\5kŚ %ZuSєR" !AYG(%eIk[U):cy7~ }Vd,, F8|(ʄP`CA1]U!zpQ\6֫˝æ$Cd'Z:dHQɨ)}\RE;AQʖTqz#ba YJTL%)bevNa+U+cplRQ"?G#0d?D}L4'vFY:wbڨps>Z=u`һg뱪_$ Cb,WCgVta~JDһԧθ5A>\cpg_yefK ;N g22=@mQKzAV9{fr%3@1eOg4nD|ȷ럫_Ho|#;9v¬ˆ'W\]LJ~8vAe7ŰcM_SkE^)8^ 1UJRH^=-UF71Sr"77*kN?k橾2ZϥF |8[TU,m6`92Sp@mKǃ6lVeqbp4fB]ۣC> ' ~F7;׹' Ex._9&5L?pi U[Vb.^c_hH@i!&3kx| c5hfҹz9iq3D?yVm`B"C gjMp`碆ؕrޫG]܎E\L\Hdx90jFߧX'Ƀër3}+vb=\2uׇV$J.7uX8Ew_bo#j|-Lִ&TfԒ\?n~T UI_g\ , Ak%yg#"ATͪduv ܈F2@[ܑy:C\ h~SkL> > >큊:ն,KhÚ^nKy4εH,V&t&kvb[˜B8MϠ6-nFJsBsN8FҸTĂlJmZ[Nt3[Rv{psCy-A.d #Un!b ̷<a u8n T`SnEAʿs:tEf]i Jɶ` T+ԁ@{3?l+ 8fk8Ĕ>Hy 1=anhQqP"}P6` -{i]3'rdFLbΟJk2%yBS>RGF(HV:֕ p/ ܠjZGe/SY_ـ^w!J_e mtnP-n~ex,F@c=VŠ_kljɭ;/&SfϬ1O ^ M!(k/,{RfL2),/˜ 7HIcX'6;ֺٗܛѝLs>0s "u_}  4="B[&[{}yhG);w:n<&3WB‹E_+Qo4͐^d󀳜Lsǟss[` 7gez.oX[YI0넃U^OڧRYT\́T t,?K&w4q->f1~Q p||>JNq ?X&UCgf& %29d;EuFQo2b_s1 ɭ_vuG3Esbyl UCHe"jHc׽;}{vhƋ{+3@u?N^H|n SӒWOkTׂNv̳e´1Oë9\yDeJt쌵::ʽ%'݉U+9"^BkZқgcD6:m!=D橺NwX;xApٖs1fxUQ1^$>@3Iѽ<ƏcS_C-G 4\l~֤5ȇdm}zؑ4,_$Ae 넷şY> U K|Vsg Ce޻t'ơ)4:A "W-yF~Lo| 9^['f=ۯ0)4E\H%XF|䰱ӀSu='YZ_$;;s%pEpj9ӧĦ+_S0P.o}+b9exN@7~_ \ 1nܶ<;t!mQ0O[єHjȒoo<?{5[G3dBAl˛\0oL iʗgkL ~+Sn'ej&ut7vWeG"DH?fU#Q_\s(G x5w9u%809# UC%q'j lꙙ!n-ɀ^ۗswuX8T i.}: y/~wʔzErԷAVDgoxS.It|2O胍XDV!2c`QD]Pi KkP}Ikި=gyQ$=7 yz_7#Ru+'-`;OzmLGŇ#V״Z.8m&re.d>:ݬ̍_yøUlFȂYO]ؘ fai|b)9ju;T ]_) 5)`ktԘRՈI5>-<Aԡ$j 3DT,O6T/̆r9ёtoXơWJ%;Tf/S? ;_ p^kauŋs02x`ܐkz{u~.4}Rk"OIA9hIUrsqhZM33lYsk\e~v4p0(WCO6`$OkUHQR">n+I z/zN%k=O8lku;ꤢY٪%iO=l?{}@=%J*T5Uy*L:qCX|BQ\'%-DJ\4YؼB]g[q(ZZf6݁bU-:cZ1\:ww ?Lەx"%y޿ 1rUm}~ކy4*ڙ)?B" &uufQhC[';]Qv܃ cDb C.0!&]5a13L劳<}8 U_7{wqS c&4"'Qk۲ -fLkGN{ ?!#@ʺ+ą'C0RobpNvɟ{G7U|ƪUs$&*,aJY#Fc`n2 9ɆVHHZ閫g&̅_GX8 p6* PaʶrrT4/.N!>M?L|N{͜c対 {ׁ3hZKEѷVzk9iMw6@?=UL򭑯nۻhIx~U'񸹵0f_3,ޛL aM#ɪ9ӱMm$%SXdޚAJ21fߔ-yC ;/y!`{{[+0bڠ&d/UMB:D0zEJDd*.Xw#7Z\?_RW0^(͌O3+(28P;4.]D?02oD ɿHOwi҂e)3|@IPF1d ne+% U$kVzuAL>f8XiK__ɉʊթ!,=B&@j'}{[y*b 0Ba fvS0Y:'x/8VTM$N`dMo[皖)]7Y).R+6gJ BZ%)e}(`\Ex~W?Y<`b!ņFI@3~ߞPQV6"Zr%x Ÿ"˖-9~h /t ROچZ,]lrW}?2tCG^l܌Մw&kV̲nڊp^r6\&N}d|,†s@a hyQ*4~Vw%A@9_ Lqɏ˱)5Ic#\?q)[*EօyTqGxҩZ|j8G=ύK҈|ٿS^ lm9^{э8{cg9DlDZa}@wBf}}9DkS8}4i++}ci64&Qe~eqq.N>6rB׽7.KA/_Isp~0w(8`diK ' ڇSigb\31d'}2RuQ+v_+Ek>7N<Y706!#ݕ.=%J|&'_R\m߱6j\Uhݲtr,&"F{Hj?ᒸQ|I%8^;x!Fד4pE|N,&#+GxJ$ b'ܔNN<9S΁ >?܀)=#ys(Qz N7xK06ߪV#j붤ڠu<1(Ⱦ!0!0HD"^ 14T i?ac\'6,~)?;X<60EN%]r\'_HC[tِf\!>Qڔ`E~|L?@;{ ]6LW/HfJwKc\fVf{7_3AzQ."r{*/ 75'z}=fUkjO/o'KH_qpGޣ wh 7IvfVāiDʌFMkB*3GRG05cmA2u,1-CQ8n؁aa|`fߗ,;|( ztj8mb ~МP0)67H6,w w%*$Khȳ_|J4 fB8Hrxi*2)԰/]W(3̑еp,fX"@,kHXJaS$(| 4be[W?"9**}T`:e&ujuas{B N2%l,HDF榬6/J}vnǟ=~YN!|AiEs`~~X~U+ҠΓq:;ށJ( 8c% 'FlGJ)(\bU y9䫼w2)&&u]s=}zғ'&ahi!'|Z$nO؎]Y`{ic6M3j.`vT.,GB< gY`h8e[d8[Wm{UMRzp .e#j b'ĬΎ2ztέ{da 2\Ƣ{}.^z`bE=ǵyHsg bV:g#e^4iBo QPm稳 ]b]mwQ%m|śPиs. A6%|A/o4|h#sOx (mxNau|0D}l?#t;A[s EDK;z>&f(w[+4r;9''JB wc^h8@d[gh ;G-hPɰ{QTWSZ򢎂qڋbWkwEN=Wm/w9ꍗLjcϘuTfN[KC"# Nag'b>@] gv\nI,9 !R4>SZ+Is3Y:&/[uq Fp&0 yC@Wԫ4yw(F[gJH@/Q wi yf8ȁ~d:>(`l<nX&=qѸt^lk} t&du^L"k+݀nG6Z gpr"ec2`#B1ǚHO|ì0(;;̅DZcE޷^4NTz$]iۑ!ߊW eII&$upVa3/o%ju#2VݙG3YJ20 6RK7VHgGYJqhkzV+pĘW厓[r="FrzZ݉HJ;Tk\@*%[F pnttObkM<59V)"ISӈiQYٷah;meytUVJ\'2g1`bR@=Q %gYc9Q>qДJ㠗vJCuf3ٕ%(9Xf6[;H't{nVR"@}el9 ['*v]Ļz;oi i:ш]$~j;]=>$y?Z9(17*6neyB; =]j3h)ȉ5IO im=Wr 4vxTG\vT{J\48b(ޓSz$6ZcR4]Nf B <(ízL8m ]qE}_Bfd2&z2}u2sJx^0Ś?puͣ|֌}/d*22LO0II-yŲ8*ilK) h Ձp˯"(].6=y~g߾GQȟ'5ooUn :p^֪.XZLBC^lITawkYZXh5Aȸ>m^n=_kSslm~az-x/>8ۛAeXk`G!eNW|~Bb,37ڎid-a!{@T~ڃb=0QۤtI.L!(E>%|=Z g_zۍTRnҖ eEb|TvԧK&j\k='w쯐hڼ5hfHS)3-&J+XO^\п RJczm"B7Z*M2 -ct{Snp]Mܐ7Gj}w~}WD9Y qSIHk]i} m|@S!gL: Jx9%g&gWP([hn0%4_Io|i ~Yfʝ'%;եOfQg},Ye 2dNrt `MrAG?1^ŚnbkB+hUԟ>,0_Uϧ0~(;|TaVYbd:Zs&ҿPh l6D\\xe9ݣ'w%yI`v#ΖrZ|/;q<uݷ OɁ!=Rx< 0$' enwkoAY~cA4Y Ȏ;r 9UO/BOR `RA:p 0Ƚ9zs)Es9!#M)|"G.gn.դ[\б12.%+O v]ʉ7\'X+Mk*O}߭4c EK ZO 3GFbd}Ge%Źj(VUOꈤ\K"֥T* ;"Z40koZOFUHW;Y%6>T+%mѸ͹Wa|n|ᑎ wQI8pXtjFé>AȽzXR.n Vay[uW0 yga=t&t }%K!'AMTS+,H35lU,9`DO f3#"%9ZѮNoBm=(KrR#!G88@oE3!P(з7ŒKoO^vhˋ|&1ϐ/w*DpA,d׭RYg!K^$9PDwiJEGG#urx+LKlM=@coxԑ9+<$1JUъ >T78TBR)dtrcOgZ0xL|1'r4x`%, +EGI(U@N. $GM<A/%N=ɕ3 c81 * n-%j@jmANZ`硆EdP{-ր}bɳNV XD5 uQv|y(laEp }\5puoҙg&r%*XOꞲo&rDB?c 23'>/_ڌ2 vIBn`V.l{3c,J>2}%f""OezG 8!,X%)n0K]RJvb#y^6L.AGT0|Rtdy}o7|{,R|`By ߲͆KizEE9hl!VR94W/_m ^K z殼bYx׎_PETdJ唓 ˼Z (k&#wj |܌) ,6eȥtBxp* l'Xep3mB#~c99ɟb +,pp.͕X̱?1)؍ޯRPd4t+dvC+ڮ#4Fӓ;85vmՍ:`K-y WruqsXb٧F#?Hi )ӽH"Ĝh0EرJkʆFG ,pu\!l9r]^ve׾(H(ݖnr`h|MGM?(c8\*W#Pi"O#9/8A%ZCcp;~] ۜXi`[9*C\+Ϲҁ#{»~HQ_>fCG?&%MS58ߟ1ik|MƨDpttp I-`hP/YNapcP/Yn X_ވPb-M}j c%ձtSD0ywH:E*8G=11Qms5MȈvc+GR֝X1e7&sk}at?\I H1$"zN]kdԯj?l$xK0ʼn(Jfc=H&`/BCj0ub'({`c~=w^4hG >Xfrz^Å ey7#RVJV^hg6VjR.ڠtJ1eKRNOA$pt4+~V RvXұsꊊ`/4-#xua\fK(lIiY ||&2l/$eM,hG3o}gcbSn/05fY·e܀|=UqEp@Dܐ$"*# 9eBWD4\F`dJN'k{D&T⤨ gyM ;phMzoC~U%_P[^uX{7'bs& Q;ZGQ6>>.Ӧo 2(^(x XfXӇCVdo0]Ťi' z$.ӵ8C1A$*;*SD\k;e bwu`e#_#-?G#cFlWPlj /'̯KO ,/絩8UU`BksmQ#%85BfkW&ḿg^¿+?\_hJŚiS_&2ǰbfӸJcUX %ioK̩zKj~~] 3--,6Ud&n)pR <٧ !"{~&Q:7"GD~Np yS̀ͬD gv9|uhWf}"N y|(qGc.2&7Y>^,<đ>lnXI # =I4 t~WbqLܻeP}Ct: ]zJԠ2~;P{3$֋n97|&B+X1fhA3qnV# "r&lѮgv:A%ͽݝnh#,#.+щ%>atJ=,9 ߏ>eS\XYry \tJbkGNsr PJ d+bQKz;W`6*is*NN\]PqbcIaf9)Vgyl">= Y6жH8%UiwfȤŭ?F{ A ľ˻iO,T`Ֆhȶ9mV:&aJOjFޟ+^jyHqO|j.>'Li+9xtG&_qiZ@Y9P'XDkt:EƧYjj%Zq],<6T!{k LӺ E'kKfvxe껏sN- iΗA֢dҙb ͽDE1YԽPU{?UW1q"NXu#1Ixnh$O "?1i[NSܬ ]Hp[0qt7e. ìg_9-*,"Wg9V=Bl|0KrÇhjCJ < {W2{%^hQ\K$X iw VM?mT8qXf+8PƼc앜_0fF~` uGC[t~8Ht~ϓ6TQi,WWC˲ɩ M%ʢ~^I*tPi,oF?xTU_93&dQ}5T䭐f=*C迁 /`PNE`b9խ䯽a_ faZi]/(Zf{խ*Q?:6zi"zB5iLܧMayrZ R_,82& 轏&@'b(;qQ7ݸu3ܚ{6ՖSYFӞN1ha8>guTUdbv?gnc\z.5Փ>}nPi܅ j7|,%F1$Tv9#nؓ,9G 3 dpeB#5d=CeiXtԁ;ǿ"UО!.CJS*w2IBɍQB9$Glg橈ӊ`05ƮSx† WkL4R^->@jA5r5s?"փװ,C2{E~*_* A:߀ w )}8b>֍{DuYv9>=[u{Zv?US?;X^qFbd> Xvn3|̢>J?c2ydr}٣/>R2_={+O*Úr78e±Kެj~X9Xp^hk#̲xw )l7ODxm#ŧLXMBoHXŘ(ñEQ#X4"fK:3$ʓRw;xĀ . OS3ԘNo2.--jaCˏK̛Y( |baCDu/5]T17+Ȍ_SwU_3iȣB{b% M z=w<(V( (\`4:[ca۳Ypgr1 6w3.v)Q/W\:BwV|| ȧW+yVo1L< 4!>LO݁nq}.JDHs]NsGwrG+N%(TN3P`7'< <.(R{MosɅf7V'2Ow@q%֭6޴+K#cu /ʱ[*lu#Rx6$6BX5]|B( -7Y $ÏK}? \x;B2aT1ê 2 AKP6&>PPemKHe,UVM6?r}9W|4oeo/}aKtwPTDBFm/'*Bi{UPF;lGƝ+8PtJ_~1+\ʧIZCXFݯs<9l Kf͠2t)Q=d(yGxH򰩟U[)XhFtJpt KM (Q<ȿ$+₷WWb.r$7 3&]%A!銣լJ PHsA',ϭATq\O0Wt-zu*Sx9lmkE"Y/٥;8>JUJ#$r,f rxAi`&PU>>eNZ<`Z5M@KAZR&U3L V=/' 24*[\˟-6Kn]5eW # F[q~P.)Ly(JqE)1k vUɡWq2`k!J-%&ʪ0ٕ~ę/1C.ȕzH2㰁/}9%޿K2Y,@?D}!(R7[cQQIjuF?a6F޸' G~Zze#,PuCRYZ0P+@L{¯zʽ`y{sEXh]Wܷrt;3vq^FId&\DƜS`FzQ)QZT+r6mK؃ȁJ >OHL ŀLqU'u xB{V]O`%V![$䰈'L# TU ~w~Ŗ&+ؠ{?f몣“eh(fs>o?{ 01 PӃ>b{+ 9F5Apkoq0v׭Y'kx5o@|:o?e9~oUk. OZ,X7xD.{/8yer! _/xYu);]@xnlvn <'[҅wy'PCJ94.nՁ;t#bT1 #K{%]Nk,zRd )B<umTSsċaؒr]+Jɩ0'y=_WCcX2Jtm5ָT zKKO dW0#۶6wNd(ޭb̈],j+d:{k>=: YZ