fwupd-devel-1.5.8-150300.3.5.1 >  A bp9|eY @QfvXRR˅6͔nx|,ڥ~m3brtNGݴibD$Qz%OWd'?NZ_$ (եeh# 2DZ$Xٷ%K)jIBGm\ pW}K$dц$A@E&wX_a iRA r G/.ށjBU --P͏'/D3R69fa23ec9759db8fed43ad1551714bf36533f77953ff0a98516d3d1d3efb7a12619ce00d94a991fa3411ac3baf67aae2e8f768a6 bp9|V"~Őq,tW_@0_ST-~r4ӺW^] P}E`q i-Y tmMcLʽb+>CǤA<:˕olhC='vr1KoA%i0srq GAB-;p<a?ad ! R) ?_rxqDq &q q q !q "q$Tq&q((q**+<,(-8-$R9.lR:4RGIqHKqIMhqXMYM\N q]Oq^W bXcY}dYeZfZlZuZqv[w]\qx_ qy`a<a@aFaCfwupd-devel1.5.8150300.3.5.1Allow session software to update device firmwarefwupd is a daemon to allows session software to update device firmware on the local machine.bibs-centriq-6D+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큤b`[^`[^b`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^bYb`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^`[^bbbYbZbibubbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbYbjbZbnf3cbf852a17766ea52df4ee6d4c531b6b168c97eb157fa91473628bc4783263823999e85357b8b5f3d2f0953e9a2245115bbd48955eba7111fc36f230dbae45e73295a0c521b16bca98b42a29228c78f2687c8561104ec317fa17cf982ee95fbf20a17434988cc1517f54adab67c130aff925ca40d2066def02fe8584a337d716d5f1725d841854294e27f1fe8b6fd4726877cc3b6b7e98b0b376344e53697d0f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229086066e2a2ccb105be7c2ccd4ca15048ebc8e0a56252f9c52231f1844e4c5ec5908d071153617a0178e0ef5d269c87262928657a5c2271b2b3e96b2214922c383cf1537f7454f41b4a2f28d3207751da5f9c1b48f0b3c2e1ed1a6b3792833a105fd4e9aac3b87474d7b31592861636a1938945d2ff58a566840c2052533e73f0fb9de2d74b3999a8513ebb810380173fea9c145fd94d35565142d31a13f4adf2a887d56a173bdc523cfe38346ab90f60b8b3738684a8c63994b493d043bf180d4579c314ebca225e49e2f0f5c7aaf3ced394822dee5aa654b52f8c25ff62325f95ca9ec2b74d2422ee455608dbee886b63369286413b12ff8578eef790db615df2e9d38d4c8d3f6cad84feea1d97e73f80f38cac83c529133b91a639867571c483ca68c171d09d2f7c1366daccf63aba35a17073e443718be4e1b9a5a0f1cf2bfaba47c62f1dcc8e06cc8cb518fd24d41eef730d4f40b72ddfaf328be1eb70c67a76a8db1206fc8ff1e047635b7e387c47011e38793c2d9d74c859e4b23d28f3d163dbc1ca6ffa16c04f4617cfce2d34a9cd0d1d5a84252dcc1daae690cc8b4f7de2ba7b9213643c272e2bd82eb82cb048e77f601c7a8db7f4cc3860380f83f1c0ec39b218a2342688abb320eccce1d9830c3a3774cb28e3aee902d8786093c890c50d69b21a3da323403f188132b17fa9220b0ac147d7c13ef3c3787a5674d99f6d9085cd8205680e7ba35f0e49c76a25bd36c1bf31961889f4106c6bc2f229078b73e50b009f6c86dad9b514198eb7d4736b623e5dcff65b47f14070d579181e0a5b865b4d118fd3c2f172de156316ebe0b099b3df476c021aaaf0d77641dbc889b043909ddce94d1f24802b0501bb7c9c7497c8968c0318344f22946612d789e47cd14558c5e4d818fa5ecec64c964213a0d3727fa6234f037bd2794c890a486a03e399cf02cb0c84a54f84737381af119e98c2d7918b59e569b1332a0499d361072290c6ad052c9d18d0bacb71921142cbfee8c5e67892096b03e14f885ecd1877f29afe177fdbdae431db1efa6f63f02a2dfa722e9886fd75ca85e743baa41495f3f5e6d72e60dccc1f814cd24b3a93d36b801e58adda4315cddd82086ed7ab67c119ca914e730acd40124e628fdadae91b3b12120100213124cc35d3a5e38638d6576453eab38fe165b12d7fce788ed4944a15fbbfafccaf3e57003bb96c4ba9dcb41242cca5b8711e6b2bcaecb4ee2376b60d2fd2f4b2f3c241258ea2dc64be4767a1677f85edd97c500fd8e573cd8530f4739f5fdc9a3bbda97ebc10a4ba2ee43d804a261230aff29401778905379c7273ea887d30f286a3ecbcdb31d4a744c6caa020d6495e1f92b86342eacaa1e59180531fb0c8e9683d1d444a537e99a3a84faf3a9df02d517648f504037d0fb7705799efb7bae52e273900cf24dd84c221a71b80b78b75f8c8a07c9c91e8801a465aa80f8d0202b922434f3fcceba4b008a01f318d7d55add474b75a6c9289bd9f7919f7b4bb1100eaba87a77cf9051c55028d3bef196650c78f81ee881490065e0a2a3c5dd46418c575aea39cd2bfb40b21bdd7191a3c792b2b0bf51fdc9b05a0c3efa20e3d9e101d29ec34bc7e0aa7bd292179ec55a8e29199d55964b85f86710a58a953eea825103c894de1ae1155a96bd15bc7d804e4f3ff3e60bc1fcb2d1315c1ae40d5006d5329f8ba6ae3cae0b3305ecdf40446932d75d3e4ab92a61494771ae421f3ee2633ad31608814909ef6dd16f23ade68f15e65a3c20f909b983baf6882412c06ac9636cab2a9cbd5a30868c1cf804d4d219eff362a975d10088991e8bc1a01d8a2263433fac17b03fd9955686afd13263790933d6856a6eb1e580c50cdeda5b05f8a5d1581b8f7f2b529e63e34c8d5b4e4d5708d653179db9cff9985f6dca74b9ccbbcbefdc088499434d80f935a31a114ec2169f2ddaf36c216eedbf1fbfe4e91befb1071e16ac867a8112e9846ccb313bb173203a4fd4c515033b67e24b0bce32c825b836f3ab2a4b3f18946c01af41ceecd23db00c41371f6ceb94e9267fbccaaaf937a0d7e80b603a0ac201598cc6db9a74a81f272cb258be4fb0d948d7dfedcbc3b590488915536f3daf988bd6a5420e75dff698e673a94902f2f3ef142d3d91c7ebb181e8c0d6505dc3c9fd3a4c8b7dc1ed8be8afc8a207ed295ea5a8299041b2902b90ec2ade822864477cf15d30113cf9ca98ce9393f736af3c32b32b96ef9869ffb8f79287fa4c737f0e382321c59c16429edb1142d43709a7a573558cc3eaa23a9c7408e2a5aa71f77e2d1c94135b5cb24ea08da34586fde10f1c28b6ad242888fba30a61b3c2747a216272d11312f285fe828654767499567ddd08a18c2e661e2acedab7d6658df962cd674888fceef0bfc425a80716d74b3d0dfcddfa3ae6ba367789b9626dea9aca23eb322ad7924d90bb16d04458e81776fccfe7e6b88d06b836054a2328d17132e4bf95857d20b6e6bb23838c5e9ff8f3e82cc98f90241fce2c9fe23562e56723d223f6c2b24bd62494b13d76d7cfd3e5953b0ae666696a5fc11a95196146c6065072b295f80de0f5a331d972d0a81c12c0ab56e4019d966270dc7aef348335337feb501aef64a54321ab2cd9cad7c39444865fdb6e02633ecf9d5502b88dc6977478f4deb73dbf9122aeba7ef51df6dce1db6f352295f0532044a5eaf98bf431c3667bc8b57ab13227fc84e172636d9f967dfbe931fbedba0c6be291f391f38f7549988d9b26c3501a55dae56fe7df0a1820b3b1799aa2fe21934989e0e67d0552df120a013af846819361587fcf0c4c9ae729a2811e08e6d71a7a16648bc53618c91d8b481a6d06599946f85d7af28f325df17836cf3fe605edc8ef9b2e3b6d7b6b33267e9b3fcf02c1d39a606667537511bb5bc26777a5d9b66b138a7aa19b24104d206675cb9dde59d7eb01321e084672c4b1d0482b4323c6837a960db8cf0b750193daffa9a5c31d8167d7935803cbb117fe399be4fe4ef30ea8122acdb0bfac6527051ad330f95e2f469bf18ebcff00026fbef5577d5889b73adea0be60ee8cb5b60f67a8dfe7ffac1d82a09b80567090fb8246b51bdd19c99725bfac9afc1d62872a3a7cd9be35a0e3e479d5c6551a350f175bc11bc7ac8e6b99638ce178dbd1ac37563654067559d6382a7d8babfc6eb15120af63d3a439fc59fa2afc5d4b3679a94812c7b3f0252d61b1312dcc9004c40882a0f704ed6d01b9ccb49ad9da7a343643a52f83be2634b84f8ea8a69072fbf0e2516abddb8b5af682a7fd8f84678141cb6c68b0f9a2de09916b5ff97928ec1c8f39bf1cec5fcdb95eda182c604dedb5a1b3fe4bf7b7389cf36f7461d08646a631232fd7a89b985ec01d2cfec0efddae636f2c2923d6e445aedb906b3d7802b55b2c454449d3fc73cb4a46bbb006e757923eac7b47d4faf9b9323da34ca2a1e8e95a13612b557065d2d741ebfe06b8de2f1106343dcbe7f28eef78b45132aeb12d46297ba7d54dd0e9ca51f57540afb571f58adbf9adfa11285ddee01a8c4cbe23bc382bac75a28168d496d32ec674158ae741ebeceb6a6e7a003b5a47eba5fd32c334f742f59ffcf01f2b8c712a066ca9866877588d8cc3916fd34c8e515ec8617b03a8e8bfbcdfeb5ba7650d8d9ec83295561237ecb4ecf62a8bf3244db3ac660aa83f70c8ed5c94a50cb382b5821fd0d42f12264923e5b8b9cba74f7ebaeb93a4f9d8ecd3c9e82308471cf4e063f2e3a34c913423b8619ce825af273ba403adcf0b7a8d24b00f5fb6bbb0446249b605efdd36598e8a0f65ac3fab2e18438c73b91e5c564e4586aac398bcaa3e5bfe9efe5b569c1439dca55b06b338d3d0a3130ccb41634b3042e56dc65e9bde9a165c231df4052906bd26af3deba74987e3d7fdeb303355d93cac53410997dc7a3f9bd60f3ce0d8ebae7908978c8731fe9bb139ff0eb96fe775524c2d4d4f167d79041b17c5cc8ae9112478665132c31a1417fb4adbad72f861982bb78e1fd3771ebbc230a1a27559f8f662cf3229cf5b3c6ff567f2130b883b3c95ab17504880cedd2c2c208f6466053e0515c2bcebf4351e838b794050c64c498420599162f2b3b6928232dd0be7991d942b1dc0b1670eb8695e0629ad38280184be1b94602f2015707a28170151058f7171aeda501fcf0979d3b5a67eda502f1d76c81b8ed7a7cbeeda0c867a4c24dc206490ee519d4200dab0371530831b2ba10977c7a6c0fd7e6ca89e221cd416bba0828a20c195dbd73bd40420f2040eebf418098a86a3fb2ef5a9659c87d37b81ee85b69316b045a9453ac54b75948f4d26357dd018159078f36f90deeaf29ce3b9d2bd0ea6655ef1bda801887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd188872030fc1a7e7ea726c79f4648ff57fd97c270b1ea1c3bca24c48c6a280c51a44d49201887c0839ca68498a12c20f91817feb1dee5355a185271afd0a0abd18887203312936dad905030c45e53af3485acc8213899f4c43d74e7143bce01a9d6bd959libfwupd.so.2libfwupdplugin.so.1rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootfwupd-1.5.8-150300.3.5.1.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.3aZ@`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+jlee@suse.comglin@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- Add fwupd-bsc1193921-nvme-ignore-non-PCI-NVMe-devices.patch to ignore non-PCI NVMe devices (e.g. NVMe-over-Fabrics) when probing. (bsc#1193921)- 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-150300.3.5.11.5.8-150300.3.5.11.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:Maintenance:24641/SUSE_SLE-15-SP3_Update/0e9319e520ef939ad798c08e5b308527-fwupd.SUSE_SLE-15-SP3_Updatecpioxz5aarch64-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-803bf0090c130ad0aa0eb80d703d6d30d4d9dcbbb58b94675766e4cc7f0febd90?@7zXZ !t/Q,] crt:bLL AxyX8LycHPkCWu.«a-8~i4 I90$Z%Q'"n !1`}|9w%W%%2\'îљo plOBaD(uklf#7(Rsfm!1@͆ CMn@QDϧQyI Qiބ/*",[q9sBBR-dh/>24O KV01dCuZ~7w:J|1o/U7^70K+rlqkE.ܮg'ocm`=\ǫΞ'RI&BLd]2ꊓ8mٛs ;V(De ,h5LoC%qLwJ3!PPBQQZD @|ˁ#4:nG" Ese4 4y=uI^V܂ u/ <;DDvzҸ?B6"F^i烙ڛr癏g*mę&[K>$Q>NH:Q08kw=ь29%7z@G~̏bP6%Dq|jG`H>ܽfswǣhCIQ/!Ϣ\\}(npKL6'f8-PW<1Q)r 8`NpëBiq; z[P^uUc\P?Cxn-ǓͲH k%eWi9u7Ek[Y=D^aDc;?v>U=]Yiy-h- ˗(T}ŅC@Z"0&n8 MI%^~6Y E&i^sr~#&bϧ!k:!^5z p} ^1]M7=HOJmC9"?|.\&'H{ݛ6ˡ6nuD#VDeCjʠcA]J9R?,Rc>tS4,ByFn|<ʐ {z ܊!d;v.cJ̼d=eY:C[U7Ӫ2pJۊ4*۫ ~\dJBXKN1,-厹9q4/< yUr7NÂWhF3˗;&Dڸ0DW/1]pI&k=PiWlC6eE8>XM󺯺 a Bw7;7Phj /Im+TrF ;u9UG>08&;vL_WjJXP5b7/eN5($wḼGZ P x0M댙3%}4= T>NlW&193NK.uʬG5A|&ezܰ1 {OY)5ϟЅ^qL^Xd&I -TX2eL)[I?Am_N@Ъ|]4mAD¿|%v#߸;lNc)o|>K 'Hʐ׏4"{%.FW":dHHhnOiqNG]XEt6" I^BV}$pZh|:bAxuoYGOaBuJg;=bF ͍9N1-Y ݢ)i@*Rz7}-E}1BfM(MLFas 9[-\.`H%^u/֩\UT:U .A4VW_W=dBq5U1mR ;kǯ:TIb1Xީ,garqԼ֩\at9i\q#UN^5D(nm?z% "O}MX4GBZRI{mwUrߴ=l=x]3f}#Ce{Fgty~>7ɴ$}> Jzi} t'DЂJώ?Kr8Fa4g+@O!{ nzg6V$$Y7ĭV V+e>Wϓ5p;`2Sr=@MV ߡ4)Yqu5t Q%CLMNK@ G _l3R?nKo#cx  BS6e'$#ދZF#lWm ʪѨcMu#R}8+7ȼoN~bmK Gn0IIz|BX)CtwI:^}NlVj ϕ"M[*xjPC`57yCF25rj2w nr#YIH+k/ߟTY6CYF\)cЫ8=g>VFldck'šuJ$meΝjSR:PT9VRNp(S{K(\vu,"ao aRyP^֍8bmSy9Vse=Etݩ&o ɦb /%4e2jxT;*Oà F|_#iAʊ`D%q%{J9Erӂ( Ɍ;7cS=E d@:RrPc+D^r84d@TSQ;”'$%Ax6Pm^Gh X,&zweHA;NK1?ż*s;(h$8(Nf2Dx aVb,nyQaFs/BXLքrޗ}4%SR'9@: z#k8'"(ʩ.MЦ]V%ųiCz7!a%c2O$屎%_"0b8Sxgb(? tGKtHf˴SⱰA 3dCNo^鵫iۓd}03p܄D|1!恓K$jK^¡-:6;0qO :?1bYڞ :Jb(f kPbS\uĤɳx'Z"f.P9W,u)y@hѦ!ſ4@,/4 <[ZJ4a3Vl>p}G|;hx{hM8EnM ɃN0K}fjV) )iyK> tRs'QMbW'F#0W5/pA&OL㫏8/+"Δ?"`2w!vRX[- <- u((/QW%ϐk`7}xݾcH Ԅf(NX?*򐔶dѼXuzXY/0q*tE3:ّ]M&p4w =u!UX>Ku 45&cY:8SrL՗K4N !2 }eSFg&lH.l64,c+HE>nMҳRYGu4,QWfP8.7 źz37>!<,&af×,#uSj|KA Ow`@t_(a,1`)=AEdg&X<@DG-_ &y,} ^F/ۢ" awCH$ä,eWQC6UK P@OdD^0uCKd+Wu˫nC({{ipKJҰ[|{2We>L~:kBW[j,ҊeZ`dy@7M`dL?qmF>bֺ86,JDf#+hld(چV&ƈ8?n:Ѻ;13 !}`R#f `dg~zk <׋ETw@y)i/3$=̓7ć9}@1FbK+W _IӪͩ'G+%yyuӺZd 0pdە-uA^3壍FZ~G^PWٟ,)p̬ŅmIC ATMRc*%"5'/xciGo>YP]ȖC]*n#D턖Rٻr`RߑCkKPh`ҋv*JbWy<"U:e;@ o]^ M7+tYaڍⴸ)vBeJ U[Z˨)E۩ 6`2>TupjyMl 1O &4-,R2w`q-_'{;0a;;,jPRִkTw,HzIo.{ᅍ"I:Nx5GTrںdʂluJxTk7"*3iOD57nbA_&^sMHyʝz$)s 8ih?Km26ҀVq{GBm,}v4Uyuds" g$zOVITa cէWHknylLjfO%2J*W~w'q0') ԂeqrAF=<͇RM".P”z8i-X4N Qgߩd1v-TƼfn~ٵ9EVZ_}:V"tx}u2d[-.8iLn)Gi8߻npPZtA̠Je/A&9tv?:a1_$cJ$- ruAYmɔ>/*Zn:*Y73|E䷆`s)9EyPaAo랩*_:clQ%z oBaox^ni7 !Y=5+/_/`%VjfwZiS_Qk!} rR8]aQ-&A=V: wR1jkGǬ~/}ѱfҟ&qMuBNQH2!+Ukp輏Y u%C |uG@-׫O]]æ[odjE˿hj,$*z5"Z8T!GTcG}"/ᇉ ]91!M`z h;I&r[i YZ$?iLfÿ G5L{:ƕЦCA> M_O{]eC'w@8f5lL}c &|;A@dKMJncc0+*Dhn KfxR?* j.-3I j 4ʦ%;Cgu l׭# B@o;d"‡HnYڙ} zg17@z>Egtbnfs7a%JybNZn pGN nOk¦VwSw [ 䣥jpܸ'װָh," 4YFh)`CP9v@,I-?uY4(2%1TKwj ݚvi7qdl×Zp]wQ`M3:6Gmڻ p|'ހ+4!Gk2Looz ~&.Mo~4\'wY``'BZbXҢ2PWcbvG4Q䋎?ɆК syRaA^PR.8o}\ kT8/[*v>ڱqg (KJw-qX 4E"?t=..rh}"U&E=F'ff_vd$8T H~( 7$ΝD/BV;ֱxλca*q=WM气{RkR[Kۮ0g M%vfKzTմ G{3x^dtOy iv0"Zޑ#g8fZ/L7rM9 ^ݢRpizZ95<>84\S*L#cDŽ!}ú` }|rM&an's% ́at|J1R]\R:b ]DC2RqPijvt")jƈ>Xfg虐"J)?g1ƅY["W~!l tܽY6$=H'.) (} .ٮ|*Ln \1LUYS G1сP4'zX8XKt> r݀yGRgn*߶ z^qyL@efd#b*tX^/qoȰhX\rz~|^D!t@eWД~;i $m[דd2$SQ,UWdR)l~ >9"C<(+/dJwUMP0du&ٛ6ӿe<4P)' ^ kraat8 ԆOC?q6j+6T7eUyQ7Ɉ4a:.ȿ3'ć"~\1pI'?+PM'Т+<*kW<K=̌14R)A7a-xWH`BH2P}0 KjkzXi#U\x{\9 ldz;iE˽[ry 0ԗ!,;/% Gxdb>TĨ @x_.^mr7cVGcl?&~U؊VZ1#dLUU`2;xb|oN@V<zտi/`3"iF @0⹣_@Qx7 7 l~Ҟn${^J:dQ,-1-WNiXKm@k_7t\?is_!%F78\ y/xpxlԯNˊv_< fM ^*_I ^mkKMIU&\q9O}-ͨkG\Zϭ!kP!EGH=iPuyT\S;niixda !eOfcOMf9i+Zw \ 4K_d{7'`cGF_k!z%2_Qt1'qf8 fq<4E Hdb Ѯf6`w^z2g0uZ8z+աWa~ۿh`1i-!8?̉JT֗}~P/rOg9).!*B3?lU[}kObMIi_Oq{}YdK *m,Vh6i4>:""Mb]Z fyk:iA`H}TG=/V\؊\Ƭr,*2sGqBs{׏FjX 8oT$ƛܑS aS~WŴϖeD1;Ȗ\b^ ^}EHFZx/*Mf0B^Eq.]HnhCJ~̢GnEjaA}Cw`p7 FFzwޞuI%y{=4g&D9~؇!~@FuL+W+MrIۼ]:W!;L F6Wq _ɫCk9*ܰaHxl.6L!:n$xXat8V(/1W-(Ivĕ=+ִ4zZ{@~pL@!7>Ull.â~ te#MEOXIg6@&}*5^Pw}7b(lf0}U6m48"S=,] MR;䘞 BE*3@7_u(8Nzj }DsMZju .Oˋ^^]²G#d7lh0vΜqGi_20$fwTvHQCF_4%g6T>++~h8+^Շtv7cwݍnŵb+{af'K\R.NF3"[ HӥRFq/_Vv0Oj}/^Uu]G +E͙a>ٝv_Xs_@%t#tEHpN7zJ@ ֎''}9t^j]Q;GU>})UNPMJiK/T;50_= j`G8ǣ!7p7PYbcel+ز4MrUY]ifi>Q0k%rt= EUvJS.VHċ/ŮY3Q=Q[8< ΁u Nuμ=i!k?njRu h/d~7EF9&m50,=W]l&VrJ 4@1I$#f7n Պ܍Х[@GgmI܃ph놵 'J̏2[oyT0gmUdU0%j'I1 2SPndVg|C)↜%t+-% @[u LX4DjNWosY[13uhd+6;@$՝VR=G侟PmD~~X =3w B]^ΉnMM`oD%׫Rӌ$VwWvŕH(c;l_,KQjt& uCqkF@aXEQj4W(}WXW16@3:"ލkX.hմm f c?/,MvndSFG7&VZ, T'q5Iox<}'@=d+l 1*.S(g2jG 򓦈7a#K\ԃ]xȵS/F:\bIzj"/*:1>K3<A&!n"%dA6X.<<{L{[O0 p$x`߀+`"1r-ຊ {0rN rNpƆym`k#R$\U-)'jk2p%L3e PGVM\5in밶w }5GqYqBip +2EMVE0eA/ecG7oY̹cټg ,xuP+ήɣ9nE"mMpq_X(SXlf6Y & ~f`zvW6%."i%eݽA2?L422Rn O [Yє蝂:^d`6m#FnL?JE/ >Ќ^ϖi L;b9ykJx:n+Aj^fOMMj:"\=3_^8]D^*:ZRR`.2KLȍ6]هmq2!sqΪjB 򜺬7JZ[*?-r\b}3 % P@eEX5;AkakMt5eU qA~ } L ##O[t79՜;5X5p)8qڏZʄt0։'LGS֬997\dvGӘ5:wB7y~X8ODڧEz-54 n>ӦV!BaTG(_>|l)4CN%+8o:Lدҡ#v`6,Y:}_j=_ 5CZq_I0ߕ5)l,r؝s6i5'rIxDpt IY/ٝU.owB-3 MgeDFKXc27;2DXZ% -devx+ 6"K$`=?)# QaPH3VPO9GQ?F}+T73 f [ߩIG_:Bs mٙy4eI]İx+X\`,`|8 DA7և‘92Ojƞnt@!ܥz>bCU@*tE!Zr:cs;,3n,Vg*0\34.zi>X- ǫɶ|IJ|QGmGoY̐jӿ4C.jZdX$(ɹPW&le٫CmrpL[sš11DJwpDgQIis? Nrn<ESEZGiwi]&`PuOb&'E!`Ȭ3('xrL)~KӍ$xٱ&d8)WpBwwۡ\LOiB[ЇV J}J%(GGA>/)B7%pP.eyB~k|ʯ;y{DΙ+6ۚ9^m5݈xoO5лۮSIga 3N~UD'CNsteBrnk4!U?7+}}_jᤱ|h{GrLʁh#c8T^nbG%>l:cE.o bz[/áLzvDPD4mIZ}Je']A;D,>^?KZ-.'v0jbS@}0u0zyeJ[ 'XHc llϯ#L 6%N'jd%(gDxo`:q*f![[V z8鯇ϾV5ANm3\j±)i%d@3)ǗTS˜ 0YLj>&jg߆(}Ρ%"r[%7iCܓslxl^ю =t2] މk>#xW&ܹR,G\>:HXBxN{Lb2 Hg6W e`E?s˓ӸÕC +~VB}6ŭ; qR菂ɖmQI-|g]Ly~Iߧ?G'A`xZS-Cx[ndȇ6B:3.2399+DՃiKo)2G:S 2[-`x(O: 5;CQ~zt4"h ‘EEFơGw:^(MGAza?v|qϻūXiW%ےRmE5(B>&҂{}Gs.s6}Ω%J@_&֢^( D'x^n3jNU r:^ bE,"*$*duy^Mz|_.7:LzW$Fm/7EXp }(#kjs"¶T]|k ,?vSjxvפcߚe拯R>eOpʒ31,4P |8% ֖n]2QhLbЎ]}2k C4lOJxTcWKK1D(]Yqrq+z9I72T B=$*΍;\f(L${&幎H +.na;O^Pj $GN0Pl ~ի uU3,?iN;Њ4h߹q+>=N<.>χ[/"ˤrv&i1>0JABmgWZC%9%o\c<_k(`%7V8ރcO\aBrr%*(hςe1_Ąi$B|pn&qzQZ5C܌J 8<~7e'犲gfeUܕ"{,DPwB+*F޹"jıAXz@F:۷wW H6lj# 1`݃pd֑w{6Zwzc:AǑǠg}v6Ju Ssܴ-ubbE)ڠd?A?}eiǫ.$ei˓u8rB8춲]ӱܵ7d9 Sֈs&\gV|qr1+5+`#٘T~#0hx}լմhݳv`We<|X!iu8٩!dFZa6< ?=@,aD 0bg >.ʥ!(|hGM"Hx%q2bN}е[xelj*5X֦YTc}kg·Ԗ֪!}Qg%5TSQ= [HshFx{r˚,Fyf]RlpeI5[Glyо7:qS5AyFK{Ƶmyl|8CNݲz;fgN6 0`[CNSO)ؽq\W1̰a^84R|%315ANlTd``n~6_iL%(5X'r'fz߰W,u&-;x"cj0Ha.c<}z\A2}T^NecEaXF-far pEɇKU?Ӑ샑P/G Ir r JfJ:$On.'] n̄C O2;4g8<|&Lm?>0WDct9P2=Z=RclrThsi~~ ^uz"Ls UrĠo\N=զd {kJ_5HZ5CDxb2SJC pfgh5Ǽ.Ȑ`?i=T$\TICQ۠ Y( WY- 6c ¯<i~iĘ%-]ytc/{ s8|^2HLgv8QȞ#xg'Xg{ǃs_ޘE驔 Ղ)R_l5U3 h8|URȺD^/]4LF/ 0>r`/S[ &G ִ7/լ|?Ce~OQh0*,3=wIQvBruٹn|`(@ōE(m:4bU6 jHIO{0w ºWn"ʤ>2gR8{A8#=vJ1$){=e-7FoS4X;!#p g' Y5<@B4WⱈnI9G=)AgΜ5P_ h`ӌJVwU 7EG֎Njvyb)VA)ɣ5§횉0l־5󰿲<6k?ִ,wQYG2G`Q>O>)t\\քDi;L L*SIGJ⇦x͙!xDn TO^C9&eaVokL=G!0e΍sԡa$vir 1|`3Az$Up?%DnB!cl4"ƚ74][c`wnŸm ~^'o旑K6lsI\@La8TMerm%LsT ycl.BܚeZ &%ۈ?8`ALr?]o,aיnaهЏe0!Si1R|q k,qc%>ߘ * o&*7 -fžUќ LKo#hp&C9V ]qRBE;u%1Fh>cs8MԼ>9 ĭUuQ=[R5rUэ15p 2r[mmD(7/48Rfﲒl,:@xGrp`Z&#&N4i(BP@g ,V NN2^*Bϒכ)1*Cԑc_fT'+A#bAaϲ2*B0hLrQoO,h#-oMZˌcfPkn#3cv}$Wur `e77̅S}=!~r9s984p^|oK^*\#P3>E=*U~ǐ _/ד*o{ SUUw Bt ޤ+N¨_$cA9lba̲g{</" ]d.eRSYXLf$_m+RdNQIƚ0Z. nf8gݪUx 6a,parN"i%_kKux"qn&d2₩za[ @ˠZ3ϯPOu2Pag)[ufO40[S 톤}2Ad7P+:p)fh|,x1 \N:rTؽVߜ@x 5aΘ++n{Ț ZǃuBzFh+>YXe%v @$#f"5 yHsU/2c^s^%#ۘzj" 'E\ Rj@h1|=o{_$P[]B>r/ށg;%:{ F*Jq`EZJF߼R@La{ݢ qV|D q( tP5v >xS,)Sp E' d:+1 f7`ÌԿH)a7dQ_)KѧoIZnx_ÅDhb^sݏiSLxeDX|rCJ]eŤ>^/qTck*:l?tNK?Ҙʅihæ.H(AWIc`nRs98C7_uk$P-?*U^,`q1ˑ- mdFFu|YD3 T+G'|&| G}gJi{C ?N /JVy5ɬX"BTGb3uBmnH>޿@* ͓KC3Bx[P]K:Nopʽ̪v93fEC&WLF raڿR$I);D9A0~d0_0:9<4]h+4tK/ *8.iL͋1/<k*C}RC=?&rD #pkxINH*76IxAܕnjXe /YD7@FNeŃE%H3.bB +uhs';:udAKL3梴y-7 +nֵeUMΩHOA& Ȏ ip_ 2HJVtuIK_Mf#թ9|` k՜';EP\y^[ٮ!*>UIA|ݳfGڢ u0M1yݻT̏^VuPq6K] [A9^>vKS]:H >11Y#>4=Il|)v`ZgWHrjsv: abVC tz|&uONu%ّ G[`_ytRO}"(w6ў3j@u釃̘6VVKtTх^H><2ɐ] I!ʻ[R2V BN// Vc<}E)04ۚ͋FĮ:E<Z/ _c֛^ #'zwY-L5'%j@c+ D#/(]iW nxsNvñn;ן+%P Rz#PI/l)s-cA/AqYzaGj⾏*4ASqS51x%:}0L\KЍ h!bgx(V{:+o KЃSKb6>ʳW{ b[#BNC+r+3d4` [4l0yL[3΍ uZc߾,/ j<F7@]=yz\W{t^PH+"2-Պi| 7=D-*O7vs&5/WPu*E6~BxN~25k^<2m֨Cˆl [&3O}6Xbm;u _ǽDn/c<;-qp, ׫זpeByp:!O,`V&SkWjT)rq^RUԚSjLX=S; ֚ļۆf\:%(r409@.p@>_@aex:LQfOh|bSf DdT<44~c:n~+% k{r=Wُ+cɃu¶pjD>݄[QWgΠrQ6#ȩ_U9ac NGXi.ʜO]P#\OqEg5Pg-xX;IzYdQ6|$uV&=ntc~p SGF+7dB6q_~á`YK骪n "Qf_R W2ug`4Ucx_^LF)D U78Sy 㴪 -k('^Ѷ>y .%%-4ȡuo9xڣx6EB-L=&mwr-hbMpX:Y2נvt4[P 6E2y6CYiaY &*½(Nr:~B>UC waR}GH;Uu_7āj7C\;AbIE(+[<.>4ˬCU5zs '(d0=8<(EY7T[d3гYQaajHpzeW_kcur$$.=(%phq,l`H;`Gף/8j0 6v a9j.`ŗ0ZਬBo"\_\LvIϥ' Z҇{|$vrF; 6\G=|+{xHMe)B^OHqHcK^U mn5 ߪ&Jb'b‡~M^M2k[^@P)/5c~_zAUn)kM!LN\ s-] s %j{&|H豅isL "mQJ#LMn| >4iװs !gl0S.^˟l Gм:Jd( 1Nl:# D?~=6wYƹrywB삈4Xݚ: D@7-O]PH4FZ@ [>~@bEHY[@1{" `,?Dx9Eݯ`/QC„+uƕTZ>Nwz>u[noXDFԳq21@Yq+Cv?bBnۊhi.W@` ;%:vthJՒ1,I/\٠ ]ʲ@ΚWT[rMr' -[T =h#9'mXHqS4}Wg CJASeݾ?} 7)'_sAl1Set0kNÿMM௟vwvf+~NY _nt+py A um/{޼&ް[5\ny@W_zFDN'G IS(_GR\t͐KyU$zZ\?܆$kxǾ|~ ƒ>oia^R`+S Fn$N3*Vr/UQֵ/S]`s# 5o7(ISY :C1T6t#jSTW$.8聰ǧjA#k`c糩#G%3nݔ`~NJ=PTUϟDډ;sBD(^%ТC01gqVHeom5@ n&1H_yg%Х~Ob/=s%a6dar 8 2B̹ Ff AX;wJN{tl:gf3~V:ĥgnb<9ETZ蹮3K ZaiMzH@.;G%!fOw Mf ȗB+ԁyU+K{|b5)+|A!j?e69)1%MYTtǒjRҞBNBjz1=!}hm9"^ʾEBu3e:!٢!O"p5hwY.6ٖC"H#PP~w &r˜JϘ߰V|E>rRƒ-!֤?72sERkUoSˍ(n{Y9/lP3R;FC&/1(q?7fe'sSn BV05^=.=|B yi0LMI8mҺz$߄RnVƪ,V[:֛M[}Y|A=*L)oi|ĝWSdGeRv\_e#/# ҫ N]zU73³њ%B^ c soUbNe9MGeOʐụZo[jt~0 \B^e >7 S$wXv3ɹ7-ţ ߄lWSz?- RJΒu}_/x Yb2a-9D(vChΆJ~%g9W"[Su3hQ!Rcv tKTI~pSvNޟ39HFt_sx"Y>ΗdU. :fOW,5p:$JRQvaw CWyl؎L0b,/ļ<`~cst<@^vDž,ӷL18xg6_0_Ih"WE'( &$|6Ӆ>11.% ą/$3F53i F԰!t:]`\;љZxԸt7J_E[*Cʱ9[  : ޹^O ~u#IF]ߺF,E ?LU΀d߆&BFmWl4KvxLpq)jqVd0 Ǟ bNfֵ0y !R1͚iSo%GT̮hSmGP7&K lD}_,G%u/`Ai擕zV^&;kl^:wI8sw$1d~"Cz~j5+O#p,zεP6'[fg Aq`"cL67M&Z =u;[j,z6h}(WxV}ڛUЌYE/ԾQ0Ap,b6۬~H~JG4P:E"6GY60\ ^VSStܪ>Zo& :FjTuT4 4zPvN{զeϣ])ye ^q)fCaTA~G! ;bHOmr!fRŏKnSΧ=;=>E/kР9 YXQIUUȹP('R5 e47Mh7L*x|y1(.fmt!yZc^uM5̵]sĝ,mgU۸,UUXFI[E#hc5w.x@{Yo\e^$^FtuVzm> f~F v^bP}}2ogwǷʆ<)TJ-duac_Euk, ([HqsU/A1aU/?McusvXбAph|, f|!N^c ]5\q'!#pl2`+"D&>#c0XT|m r㙢,x990}t-  /d^<ɹցRI3=yfIjJ.5}g9>b9B#YTr3Ľэ1%# ۘ/޻}?N]Wn i~ўAd/@SES7tOIY`LEv~YO W< x9 tv?^ 9$y0Uq4ď̌wR+d\)ɱQ':jɲN.pnc,nr:.Bֶ-;Yuh Lkl&pʯb j,HW0n#)7MDIbړt%<L/x3$gZ1=ymjC0y;\ N(|I>ߘFfZ70%Iܮ@dE}D"}3;FS/,uҧ# pWa6 @ .1C3oĘ&}@;F^_,~l;*$Q|Y ]-p0(M= mʄFLȮd͂TI+s^@~Z?7@QvQήJu& @++@p G\+zV+q%Rd8ډ:C %Ug`0Q 20sroukof׻Cytzzd@7DE{k4vQB[vP=T\1W9F:D?km. #NIiTĮxBzQIk*dEy>Z³6}QYTw zzWϋ"na4xN us. gȪ7ͽ|-k"z@'EFU#Um 90/{)]ƞ(  <QSfZp.΄@U;9d 8볥Iߖ "ΠЅ4/JDy 25zbMw·瀺f{H֔%g7'oRK4nv:6uqjK4T8{s;5w[&-ٛ7Jpsxoo`[@gvn\]TBekߙ֌'ie+jYݾSÒ)`mK5k!K7]Ռ ™$x)DԌϼG3emJ!}kṕ jF k0Vc'ԌX@bE ٯb\ww < #t N׵ɺvbCTHy@4k1L5 ;[^("Y x)Y%a]BU)t^΄i` KeFpUd1,]X0? ӞG]+Dǵ p\&[rN+cٹ}Z x܁5]bL.4Δ[RӋ8n0-pCz+9)fjwݘXA% ˚kx(!t!*g5զ!X 1;(Cs7:iQvpH jGG5׹R# UѳDlmAfvuj/&$=A`³^&&g+wq%\IϮ/aI"/0mXKE'T]ZEkڦ48W~?:*?sK׏ ֦&r?Ƌ\t0ʺMLZ} KOݤ7\`ݿ%<%[ 6ߎsC[5-q` )\͋`a ^ ҆=ԡ/8n =]AtW@½]4Lu;h\M?C,B+3.Fڡ@ RDIFf=t t+@xga2tfqmӠ ЀB$EFVrj}֊=ZyŢD\JZi;TL  ֕}uǮE WbL4l9CpckL] o"#Yx[ TƢEX(1tZKgKnӾ+B.+Qng`x^ݞ"g":Іliέz1e-GՁ@΢19++}\&I7-OEuN^,i9N$~71;v>Yᇅ=vGG+άqv t@3:DC+^S:yڽ^Qq] LP>Ÿ>ǖiV3,l`9T|y:lgRTLz;LrAa-Й QelO- *N~D @jfwű ɁVq^agBE/et (2FIccMz/5TXȨBhGdh/CX%󛰒[?Y&gb{bEIbt[|DJSQu{ mu5YѠ}vm3>\c|g찵)ݻ(pAӬ D_:?0&C+VY1'NSw2W|X|!yF*:H?tt Ǜ9⠢Rk=Lc:oSl2W9۫GJVX!G*[bWiiG{mR{yv99!qy目mϳ  ,Yd+اs&Ѽ4!ԹGo@7tp9w |K'ObdR0aMb;%p3^ ^X@=؂g[u\ 2/fۆ::*PK3;Q@hE'I-d *%.:,g*wҏ!! _ؿdCt<ƺ!/C.NC8?79CڻUzBs4&Q\ >w2AdEQ Se(v,kpdoZ$I$ q"2rkjݾ[ATxǙFX_APOz]@:;1:"Z/a^| ]v~?-k PQ55q77`X-$b+&\YYI4&K"^]NאBBV\6w`|q#F1w+j~D"AФ-)̳jی(׆!H?@ [z!Y>NduG6D L!8=yǙT$72"'I"^kJV'*]9 Iya/qEˁ^#bL2W)#A>V9Ky yIӼ*sSukIy+شc{J\9* \{::+QSj Ϯ^ԼGoy-%2B?sT2R&GN:Iaz,,uڶ'n4ܶ6Gr? b{dB\74 m rS,xYv]=$քZ#3k,T )ܥ~zǗڳ=FC)ma~+*t ;@cD[[L`HHK Q|MNs=/R`<kxT WH ˎ1c1?\{bUBkw.|2tm/â[}q:)#U~PUe2";tT&rKOuL-F*ah(ɢ)p6E =7h5פ()L,3K%Er[*nf(7e7nE/]qS puql)ẏooXDF/vt)ʳAJ`TV og!̜}*B5VZ!]9ْd{{&gߥ 7 =d"*l>Nn蝉TjkN"||\7ߗ*W{:~*D^::pxlΐ@dA0v5똲{2XA6e=A/5}|dU{Byj)W4ňΆӓ3 NvFk3VH1W[T/NKF^+QBL"l巛 ֵ?Um Fٻ+`!y[ADh!i+9X孴w9 5W4RQ#%Ƨ0T0*!@pŧ Qk!Xnâ`ɛ4dRGT`* C,pG-T}C.k ULC"1z9Z/[[nGt'}At|RxMYp6JkIi7z]uwܧ:,ǻ(buCڣymRWE`ɰlM;p5JZ%a6>8F[aA(gO01vg Ѷk9w䚷Xf %7BO魡 Oў(nL :fdQڞO 8L+{\[}բf/zIAMi{@a p F+ +WUC?!4)SVRUё "S}KlJ9?'DIo|VT.#^X,O2q{|h 'm0]]uۻeTmm2y fYjqg6Sd-8ѯ[r8Cwbhu\Rny ş~P8=%HJÔ.L,PWMtCOJx^3AaQx0KhzCd?V>SP^:'F7"6zt蛱>ԧӟŶvRߚ#~KJ3N#] eWw& Q^-dhɎNqg$R,UL*r Y3ڱ2 妼_KC %VxG|' >,6KII3^ 6_"8C@y\J |qbdsqtS4yEQg npjn*eHDO -`M35 7sEZ°.ȣBB Nbt{ƨK4Q=BZ!Q_90:ByaZ'6u p{P nKd7^C -4Ը0tKx,o7O[)vPIǕ0Ҟ&S ѾTcXs5 3wN.7L;:vPjͽfҶ[t86sg?D)^tvBzvwp͎ ) нuR,y9kNj8^. _4] lL!{4\Ђ<-ݡt! %QKRz*΄F$C-z&H7lLf" \_`*Yml'iVElj=0"΁P uMM(:i]F;)2Ka5`DTCT*6Mn3QL4{y0t Xfq m,>6j0.DapG)Q_Hyq4F:Nء<[b,蔱K99h#֧e )ɣ0T!VzUpYg.hy ?d2% B3 %M,:S#]YݺS {FG45vj(%+KvI9>F& 1iT埅hg $<1sKYdlb )H7݉DuR#|:`(܇o:ϵȼT u,͎%wv$SV/&,8:4];CSMf&BU/hd&GzxX0(w #Ym^V.%| /ţD3'A; \UX 8^F-.j_|FfG(Ceh~8ˬH[)sj̀512SGPw{x)Zi΀-*;OaӶ`҅Ga|r*} FUtO ֳ]%}}2Y:T2ƾ)3-?tP~kMq6 =Z|Pxmj2Ĭ[ e/ʫ*[ԴX+Gc~n۽`Y )yoL1f\ X0 {o}ER)9Tœ]w"lէZ-PejA ͂Bæ*&hKס#mNG?,{gy"vqp;KFEaH Or*f?#5c+VADVVw,qwd~ uو  m[iS֊XGe>d0/?ܐ[ѭރ qQ/4>6zпo(Ks\\hE4D)T栧*4: 2Mމź1mLѻ(EޝW$"b.T[ͻV}Jn**`!r N;\RJ"WB7גEߩү|fx?@5\?_Gl{9ti82XypKa܌,'2GRc.v?qus$5)5/?enqK5F;=ϙvHlt3ԳfU+/|@:`~E*"lKbStY:ɃWpaMqz)QdzcIJ6_i::?/.Z{xJ6c4߈ڈp}?Yź/Hؾ1XG OdՈ*hD2! @(R]q:=>xIb^0d[2DҮ=Y?Dѣ HI$\5)|gc [[J_/w2(9܆Tvz #VU=G3qDjm|N*>İbmC$X:s?Yk$2)l9=uee,[~&S ûʞD,%37?ճe@| pv;&zJ}INjp`G E6j$G#b F'ڷp", zWj$|w? /g4ԐPİ‘ov2݆Sk+$8BZC' fk'gNit C.o9n尟$$~fC-apw/gP OAN[ R@rQwXi4V|[[j W:lyQE׶u<=MHpi:^ӧ!iƦ_"m T_58TM&4/N1hSMz-i\в} "jv ^b8ݡT sc'gy|`s]B>SfB1jS*9F kH]K(enB,(P bz܅³h&`-]QЊ/QPs73. c.DϠsj+&hŚ kL& NMI} _1Z[O23\$vw&W1)kX8ii%Vahs[F Ez~VQ,3Y9LEdihqn,U =W^%Ph.jtn"9aOJ HpHgY)xв%0ٷ,RR<wl5h_p'82YD7,ƙG3k [z׶۰OQpXC"I E49QC {t;"hC΋5,mTHjy{jRѮo3E=3$Mh^/.|9۳ݗ :W~CM\W].0S Sb%,]Z|SW*H_bn^EIlsv~y)![rfz6&GRR+j<,ou~z{a^F?d/֓( eJM:Na@}[귤 O94}BƄ\fhp65n{DIɬd殅 ήbX=y4yI *w?s` `W.wal`f0Ӳ¶LlcA4epP2u̡"Bܐ Тl9)I1  ͡_Qֵ+wS0C @hY,XRݢ{Vnr16QMLED·+@+~ٳF75aݨ~ZBAh{8x+so't/50~| VYF tUa;Kfł~E0"9ZjN<@cT c09T( dǕOaal]ܳ4o+z?, 6~K}zyARxޜ%oamǟo[Cy2=zMo^R\I-dvxc;so4>8fGU^#L8? TA7\.kEZqp)եOt՘2`"xF|plqVD#YInzvz6 „kOr.2z?% ^eF?O̘S/9I6޿ڴZ9S6^x[!nY^ko,l4YCdau] ӰhzU|n!{Ùw̺N__WMΈ6Llxp΁-|A8;~w~p<agǺCSsh7F=e_|֑2OCe63͂ cp޻Pr QLP'c1.`\GE)]\~ Jf] + aaӺxRUkCMStjɮ'I`UJe~z5Aߩ9Dx6ܯAD0O)01衰Snk'>OlVBo~ RXzso SkL!;nDi Ke'?;EUXXaF?cvA!%0"hعzH pOP&곈 GBKkG,ݣ, 8ݣiͱgpcp$i,[~yP=CŌ͈%$gZZ Чfާu%RGZB{V/'?0i_H@tٟt28O+D==]BYI{' F :q#>רϴkp6n*p%ӝV衵UiH4bJ6ǒtpXk]˯2p(5vWjE, jQ};F">tGbA ~ &:<]E.HcpwF3*4 Bg`XVʜ3rUHTs*lFڪjP+UoJk+Vf_"j :4*Q<ɓju+ XU3u tL](dvǝ3A |G5pFG4XSP|4k^gଃϐ%/`A'Y)$M& Te%~VA}bz'$^1[{+9kZ &~,yPTaˋLC5Wns63\L奃)ZK@smdoXvq擻L.c`WߢJǞ0AfVz }sU|2apWKI"#v޹ +^os*k6^+!8Pgj%J 1e#&%Z@=3`S3_^_#N;ۛ<|ZOm~\kր<8A#Xݽw#bkB0_EDC!!pIPslChT@DFxp cϳ cg{\4QNnŤ 2t3QCZz*RQMGuU*l_(x oeue~!,3?3s+9JawLt]1iVB()&MHQ.Og]XAbwN&s&Ίs@Rt/{Þb}΄{/WdjvjhWK[i/қߡᝪO7=gZ0f nZ'bVM(KMN_P7]儈On\x(::8GSP6Z@]fNIJxVx(t7褴2Xynmռܢ?}m*fELsOoRڋySS x%+^idɭiX覯ײm/L3;@nc]??`1#d"3"SV^&nEos}t,]%r/31l.-e\w0 @<8 (ך?&;JMDsޝLlt{p,,T8.7d7A/=\߯0&!O"RoNۼ.=X+㱔f/zEAITQCH6}74[J_꟬g#h"g hC˂c}Q.SjA?s%&46Q/&х 0?2yZ ?IGsưɐnUӠH@vݫ-RI=cPݏuɜ;\=x{PN#DuH"wK.t7v>-됥:(.ܟTn?8^_<}ခ+Kp]#bU!ld)fSAc%J֡ \,4[}dM~6(֚Օ߭(U"H[Lb2 )MtG|GԶɧ);IG{І-FSg0br]#)s4_bSK#GtHAFzN8X x0s7U u;8y3ŠL?k̟g:ϩORcD#/sZnj, sëa& ^D #rׄZj+0]F.1w21%V%dT P]QS$>+hz!Z~le &/́Dj1yWSc GL;3٠OkbteUr(ZkEgOkhNDﳡlgڨ,^i ǮR"ܢaE#6)pUZrL'F v5H;8kfřHkJk53@ 5Nؗ$vhAgcBzzYE}ƄȷC f=KlqascR'td0!@@Jn~ּl6%C~ҢpX=Sb:4_qӋVgгd޾:4pp^nm1 +~j2OR _ǹR;KYcAC8~Q-یI 6'(YJoSָմ5^I J)t>G\֟֍՟z7c_j+^n-|~ŋk."ZV7@pݵ}9nZՀ6&j #@&8~{BN k};߼b b͑?H^gKSzwqDSP"S5#94>/_ ce֣VcҬ^зR?. ;W}$?8X#.>4R$N8E<`fZoDN#YiB%fEB:q0! ~/xH5.GEq_MM }ϴ,ŎN*MlD@З4C@%6kDJ4?ɄVM"'DR5یTMV QO@ux ꦲ@}̋S]*-63wb"Sl՗.@36j?ô8]鋱7#xE}nT J=&72./ߝaWnlWu;^8V4w%}šeF\2$=0ΩvQ:>{j"3'S AR|Ok`7Z׊9_st͇P]|&hY`8PrgzHۚƎzUq;>y gElY e?IbWW=ۑNa;ΕjE/ ){cSA샹SbھMOSPtP$Έ)}܏FS:̽`t 4=(⁢|Z֒V"/\Z,L!La3UikAi7]N[krV7킰 7("uɌmiͼ:'(+E mpeQ`(,j;Ô~a mf @ov*;4?@& o\#T,M{IZ=P3e w(?biAoBšwKqlg6k-jFV>ef{JV,pzelՏy"Mߚ'y c_X~q7 &+L=Qw c8V!(*}冐]9>Blj]ZϷ+9Uu${^xxk⿷ׇlI;!'=|J~PW,)*$[ByFبK4dUAP=mp  ˙K"NyRs2:d=sB(o,+8uBJK ikhгHq^+ 6Er*끁%ǖ[WpqT^B㝘m`k "pSCB3)=EYN<d174cedM޶skê&$@O>yR|6!#<;fsh ET kM[7aryJzs0a1-_X~-o;5nk }*[}F]jJ= ?X _/L4 R2ѓ<!F%2BdP5d >j0YUmZa: {aSإjpUw=k%鞤e4/гL` 6WV9ɲjvUݴ,v2I,snE&:<@LpAvzESL[RcpGB8Vzݽ: O^`97\F+́C9%4ߨkbegNcwR8mk^S.DO?(]Bacj,~ڨ2O#!\wJ!!;֚RetS:)|l2!_l'n$eۢs.{#J8E7Fyvs bCt;LjaO<a^| 1VqJsp>rW).|/2-}1]AUU+Vr0eP&9J_HƲi,dz׺E1^0&GP\65 i*-\~o:OMŒ/w}YA25|6Q"%O8huϸ0% Զ&84/G1+4F2ΘR.bi%57Ѿ") ..TˀZ T M| mzߙkLH®Rx ЕxE~#8@%)Joz:ϳg> ,pcWDOk;gӆv1Ix鋉kLNF=AVK15 ǎ&djN E]8QqO_kf1.q4ϵP宦G:D ui]pJk=_6 άlt2=bXSd>* &1 )!=zUDPD"lFhV ~@۰L pdA1$l ގL] W%i!)J>1EA=)F}.*/J'K!ԇX_(l_f=Qц-βqXkLo$RC: }̃Q[IکU/x-QiEΙUM]^҄R$Q`7ΉO,2$AgEs4]2ݽWd'*[`Ss,` 0#Sѫ>}Q~?GTJtdjt4tK b#MJ[KPkq)/qrrb /i5;eEV\7_j1NŖx=a"%QBl7U=~O#\6Df툺n[4ʖU+Z嬟@q +5-Qtj 2YM'I El7: IKSu r7G:Uq1c8}!~/O.sޏ4r>4AذCE ڒ)jHϩe'`/# 'xRDMueCWE鯏Tt!D(*@R @V7wV#gytD(s~FiuNkkDu!. p,;J^}pfЮ[p2A0xrԋ=JoJ  GQƱ?u2?Au.gB^%ÉYILh+Tہ,4 ],F5xs?Oi9O[SrSi.A7q̚h CQE!KtcZZ:|G76~Ao8Ylv9xtqf3{8 1,u&%v@ss2b}=9g@qd 'M=-v]$c,\ߔ5uhLc#_!cT\(%_.=~ϑ&cʆJet!L@J~ѾEkQ,ti5娛{0 Y6ݛQm2sQ 4erOf [p8~##p> ZwP9 lMpeQ`YIɯ:):߻g EySgmi{;/ ȀeJ2ҿXteު΂dqi5t֠S;*~Ĝ[Ք LhKUZcs6ZIW*(zDz#Q̺b \a+ ~u(~` zFsZOpnF sÍq.5ۑ@T cS9M ӓn" eO7yv1^08D%[)`X=?L `:*zK\k'ٚ^;YRA3Szt#Cn26N{ooh6"Bu%L^ЄC?Qt*g{}K{s9QI60?AS|9E@meJvyegL7މ)+}/s)-[-ӿm9qDi3f[Dte g,ɰFc0WW?˫ wYع y.oDhzrFV`=G۳H55?n"N3mi%WEHesNJS/L VʞDyE?]"rLånpqlt@bjWUBXSG") mʊT zs3Yh>?g f8`މ;!(bcpج%<RPV=Q|zeN2` yg{|pd,B ?խE2S1 _tʴɔ]X_>&/,xD%u8M3C:,n@DQ/h5PB B4R2BN*ti%)H^wJ~lI: YsM%+;:l ׼,($LKVLq)9T%[ۙF$9}ZoqBڲ_(>N1v|7#P+P!O cRs*i!n5(n#ͤ2N_pUh1kN,d-#3~|U+ rbFOdQZ#D:_&xe;j'HVi"' O`z0͓/9rNXr`^lNj< U%U41Z7ޠg[[9(&gzA2Bm7q:+!r+R}>Z穒\l-4h5o0qgsSy쩩H&~7%O)mK^dUOϢ@BB=3ޫ*$ \Gsd]aa c -)XxlYUPϥb1ySUtiK]gɂoAadۥqs q%j@u АSh ԋz3qpW|G!]a/b^%"~TmZ֙/δr5F;g3:s싪;(,fgČsF#\7ckP㈪Sȣ h-i|Z\: 3MK'6rMgASS{ܲzxF?Xm;AU 2!g}OJ{s*c2:$Rާ)>UD{;+ܢީVVGԐO!U"Gk[.AZ)UPEWcXnI,*`?̆GJ6{~*xSx0T{,nk0RI5NOw_YG~u.q!!VL0UОIѤY%iE/J O[%S$AsRSUfd"ױe7RVӱhQC$ju%zLUMBGXP_+#Lq9Sm72Mv3>JCh V6@Pg&TdkbZ;\KqmJ}񭫴2SpC7EqDd]}d&Њj>6G6KTRQ6᚛)+5 <ڑc|s,;pA-#{9P<^i+Em6鮿o3Ƌ"r@!ٺ6ws3^usaɴ4eTڅn'/V_QIa W W|1y";𵝒P4߻Q.>U<˸E]j8NѪM:GEjfe:'^gl_9 Ϗ U.,rSbglQ^F+f xOAfx=w/OR$!\ZbDIMTCXg$(]UWؗ=cA9,Ꮥ ۅ%lr_}(P:WgTcAE5rvʈ;68pkSh[u&3~ުu.#=LoZ)`܋;ޢhmr@ԼP_L>k|BeVF$p unݬ~y LOGפOT-"O.8z/kr@+XRCAB]Յ &a$_t_f_π}OL(+*+.W% v1Rb}7NS={i=`},nCmFiI ((jLvgJ @󾡢v3]v1%ÍB Dik̍F|Ch݀ Dckї2.6EDN Wkc}kA{ƽ\ɡ<+ywwIL>PbԲS*sF/mY͋A ;j*|yvԳ#!C$Iq/soLeؠ'8m[9eFn|21 7Ƚs 9YWUԳ;siC-/V$X/4 #Gl:waQu$v=*0x2BvqFH%fsp-^8`j2Ie}!q^ѮdЉxcb ƧObIN#\CQFj!U_{s={mJBJwn Nd@꟯DY5u)[})F/ia$'Za ](EeWB:&2LÕӛI=ʄS+k4'Ao3u-_Z) W64< R mYg[SnӨZ'1iuVTiGt%$w޿*=idWvÕ(EVPg%R "1Q #yV\zi{cz{uuE583Rk}5$CO[:WPWcU FSZ;L7 E0rAs3Zd5/C%cDw3+K_FC+J]or> SZ;t8mP4P=Wa= \~#$|tb)b;z(՛Neohc&@rD{f=Wday ;<[>NvA󻯻4/}; ᢾQe`@FhR{DL^i6ܖc[W[Q,1d}1%_b-Sə:\(\oUfZXyT>@XtAx #qEGˡaepSp<*[R;ScִTh쪭j e CoQsBG[txk~,ejxQJ%q}j |`ZZ3ئiGPg73yҪƠNIg+'୪jZ]k"yXx:Fvi[bĉ5͹y é) P~qѯhKD;_/H^بGZFLkJ i3jLZY.er1#gܶj@7#݄Jƚ缛gmHNPv%2l]=C3mSfu9܀ȓ΢2]qlnq"tVJiBZ&S v@^y^J؜v'к(lk~ Wy ky/>!0JOFyiLk2RΡRFd &|%_ ʻoUA*y Mq^%7q2X91ҳ'} gHθTqHt3u%S?.!|\]> .\k(56M%9m%\ڵ( PM'Ey^=^ L^|s>SC^W9&#sE5edUB10>ꄛ|ᬿ$b/NMo/-GSt@`H@Lk_9e+Z5yrSf:Q턖 prLSϿj H0 RI- i0U%pߏClq>joZͮw}!zˢSR3%Eu$~ʏiTRjYiKTmi˜v#dBuV/l$t !(`O-?Ivj],4fcΊ|)6cq {@{ZM ̜}Q&(=Z@0 .(Jq誫 N2Q\ s00Fyhzx:}zhI;Fdư=Z:ɓ}K=QۙU:Ò]֖aF=Q2Fj,ͿS(;L%XmDoaD GInpeFqߊ9ԯ)2v028X jؤ/njYLon%2j) |믗0OU_Mn|I-֐m1.ie졶3?-y1+KF$7@Ƶ3VRZpinOT>'x虖1+Q- a'pe5ZO= #@w|.'̡[Z`JcWQKrOEC7FB 0@}82e4M$E*:nj`/Dh Q^(cy3]T8i|\K9Ww+>^a|xrqq2֘.oA9`{K6ܲ8iMcf{݈HE3Kj,-D?.ݒd8^'j;4Z:Y> UK R6v=%:L:~F/NaW0(M~̍awŮk`3< xQ5g 8w Ǖ8dyA4k4<.Ӫ%9Zw'nmїsM }aĔ_䃋 >Ero-pۯjK%tBd}k V}Z"1qEO{v^_6i-X&_jg8W=]{P9Oi ӖWʿuM6~Q#7$:30`Q+b8Ubzt~h^`Ia;,0̪-!ջ01wҗ󳋾ݲ Q!  Dw=MپOfƑ<!l`j`8Kܪ9X,lId-SJi /|k~2*?˨ajo݀Yes*Bs2v1ˉb<B@`FyE_y5MG^K 0?^-N+;5`G%!(;xYX֝YEy JK6wj5|+lKhsFPAۼentrȜ'|)>-6-mΘMZIz R`ޟg\ք$wjEťy+gLlT4#Oin2eYl~1e &#,2N>R"e>{U^kg{v߃9Wj|f]ʡ"Ê+zyGFr1nݨ.x%hML[xWr]w izaҜ?Ì+׊t*rȚ&?C ?^5L׽OJoP~uk3f*6Urr0+G+[ u\D4pI(GBck"D,X8fZv~g /OQ7o<&GC#cD1nIQWxrl2HI 1.;w Ӆ?Qk @#Is*\gX ʹz[M@Ee"Q:|>j^ۚp|UFYI}dE'rAQw=j[ح2b3&a!gÀR BqQQv]&lK+>Q7cnS7(>>x^| = FW%~ga$/"v?`b/>q#pP;7k>&:VװFzV[Z[iY^R1/R<_;V0nׯ^پUF`2ƚ{L{%ar,#B/H}ܴqD |a\L2ڽY*;L.),~ DS 4V e۝CjY5Pkl5T%Шi|Buh-} g׮`8Ѕ0pseTOHM.pl[#lZLu n,BE98uh$^0S2lGiZoP'H=ZݢpY>J*Npk O:gM݅K, ><_פ*'fr!^$NYwEzNaT8g:AY1eئp}c`ԦOճk$W] [!7?Zdx -. Jn:"zcRA%*GR/DҦLwO~Ϛy|xZl!d"3RE:sDT1.l)uyOn^SNݖ  }0od+pm ;d;lILL'@! 1aJLH^,r™"}m,O/xOuT:یW@kdGOkRJD9O9}ǖw0x1#q.A@N6՛սS3chmf5*B )g }OEÅa )>Fߩ޵S\U_#n?|ɳ`d_Ik1g=\8a[!6nG6%o' C:<>AE \hUjV-V@s!Gt ˊRw<<0=dRKq*Marup_fʱ@6]`ty$AEmNa$_}hE еT}"0j=:bg@qט舖VY7(@> ._Hg7Ɍ;-C8;fub0P p ȒwyV}cU ŵn{Pn&U|f$p7EO5콘$/,_F^LXmiz9ԣG2WkM6*ƛ5tbeͽAAiqp-dЭ[Qw6tH1` 7 -^eW{He 8dz7lJBްB(}fXk9{Q= j2qNh˶Qg*z+ =>|mf1άLH)(?f][Ъ@\1K`#o55 Q)t\:Oué0@z^3etFM_k`ܙ7&Mqe b~%GZb"=j{|ɽNQr+1u',f,~gl f(?e Do`A8,_h;nzC`ς#o9 Y*4BDQMauHNHW5=j$n^*1:o9GP6CLp ϣx:Khaj ۝K"PdhLUL.H0?!Z!ѭZ]ۨ2X܌U5?fE NSoVO.mllvgaz/vT(D՗U3y@ O[5Ƹ|X ޕ;ZTsB& JɏȪUf7i2P)F:Vj;i˳{MxiWn'Tp=PI݄s4_g2dC꧝O/?it"VU&>JΟRKRޏ*i`DհU0]۽r0i畐{?ӆ Zk|z{GZ՜}j*䦯[?f rO |?vmQ麽X >@#v0[{r*Kj"Pv$PncY>(q*c=whG(w uh61wf?G3֣ -#倖d׊Xr5VZ)C0 E@Xx^Bi;9B&ŞdVI"#X.jì5˄鿥#XVTY8#vd6][g[9>`HsmiAܵd{|RJd-K5urpq|b1'M2TCy#@ }NA)}V] &di̊~(J)NrYEɵ1tWkrY.8omg;-5}^֑)o )`Z}#G? a8 DA2%N-[ u6a|3+,\ȚhTuK\._$3jFj k}+qڷTu+@TqA䖉`MI.@arPUDwGx4D QBƄ=>|bĺ:l[cxJ ):D_ ~Jq;ì.ߓ}$&l/H4-HKתhYy PQ'Q+4#dhXGbxcJ8#áw~BgbFX.gyB?H/&8G+WOƐ*ď)IΛ>`f]KHdI`Z,]u!wIz.I:]BVz-_ +Ú> 2At t9cp".X*XIp!3Xᑏ{tDUQ2:7]e{×< fZ-ڄoAGy bmym3?K?a/{6$vi9P,!Ko#moNаIrеu&bI*@zy~I ]w0u6<^A)Q'eh+R)>Bh*8 OkG7/;>zwv&WyЯ+$"ĕ @CV(>z3[Vxk3 p>AKsya`{n6 jQWL@8bw!+../3AkmZ/cQG^dʓ $a ڈo" }BuB šwKҘ)T[廆tAlՃW(qû&;a~ *xE<;`^f`إni(ouZ!FDܻ)su-6ԡ\$4ڡ Ԇv (JI5l,vآF 0@ًVIɷf/A9gEzC|:"TG{VX>umvYG Ӈ~PTh~E!_Naw20ӌ[oO.#]h%Fl|?۞ 1GhJ}=C1TF,^82ojޛ ӓ'8 TE=8qz2_vݱ|=W:.(5sWPU,և'`<F1զ .ͭ.>_$)Õ|4QVh[s\Sl"u-:M+@2a@Xڋuy6V}B J:E:DؓUMh>GXHP%S;0[><}iMMs;H8us^Sa&SF`E&!zk4;" LPC* ~e9Zu'jEr'{r@w@A:RMlr吠qnv03ET=K j_I9;.~= W`ȌypR>{%2@ ]T"ʎ։X )D ?+ϩz<(y(>/,X/`6AlV6{g868ŝ_5JAZĈ)&m܄Mlf%= )40@j",(#Ǥ؆P-z[͔+mN9u5d+Zϵz=0E~.#O`S{q.'m3p]$`҅ DBSXGwCeh We;KkQ)t=~yXQfYY`2 ٍQ cYc=ǷQSG 8ʥOϙ6X4JKgow/C LJ~.- ΩInK0G;!bp^1D8 f!<\$جu{!W}_T\{پXP@$`lL1#+,}+[G1ڜU2$o&??}lSJgc׎Q}%5a~,@w>CX&kjߍerCh%gZ7_Q΍ϴ\g2(w쎒T7F)zc漏Z*^C_zWsjML7zNmZ'7r龍[LJ=vs̪4J7 -9'h9pGz4+vu"G\L ~I;jc$5= ڝ2[`T7m aX3$ng(yiʝwO;m$. fdN$p:Q>ii635A4Ьb8v3-Kl{bꞏ uot +ա"'j^9k:|8 ` 3qȺpTߨ IwX5' nsI!pQ \I>uK'Ol Q.pݑp/*udeIiKKG~q +Ј =l6:XKs}} JtZ#v602d}P.@㶩KhvfRrm .N}5z>@W5=[a>f~FzcY!(? 8Otپ9 5Ygˍπ[4E$.ލoj?ψú[ t{_3,(QldPFt\e?T (t!<`@AP pYT |S"Z {ox}0eY 1&!jr#&y5ԡ\Ho\MwL[N5)>K)} S/"ZAz&S caP5׫n a'yD/Oy >E'E'EJz'yq{+ c:TOz強(ϸEqC6X#4L w1֋*3[XJiR IMkS C|+el_jURqf𦡌GX#GJ?&y5+.|"7ɝ+FpT}:pߩdhxє Rt/*v[nۗ lJL<# Dخ$-+Tw"IzQ'jAӠtypeXCGvxh뱷c](P7THYMkxu1wXF3ntICv )h\E8]2x&!yA{b3"5؎{/9VkEЮ ⮎TeF4NU?mxV3 3됼c8Z*bWΜeUdT=RSH%"IG tLUeZ)1fA-0w^|)L%d]QQܸ{kK~9|\oV;՚x-q]ΌkZͬ?a+EZ(kXe9vG@\mOv6s7O;yo(~|zAK&h5fB_}x(!%Hr&Txx`'`#LD;\-n}tIs:E_ [j˵.Fr&j!x*rfƒKe1Fh;ɡ&W:FыzG/R +ZWYAׄ$x/XmeD_Lծm+$%;a-wM|}VmHg ( B((c`ZPf[Fċ'Fw2D.þN 7dsC^L`4%[N_G00 rI&`<$"iAlUkPQz 82IEx3j: 1qFEʱLi"0ao#*XR,!HZRR~?h; vu%9J8 RP#wܦQ,"nHo4"sf>wV€WLjNѪ5vq_ /mflzf %Dd#|EsըH^Ib[o,w gU 壀 ow>V&>W`Dϣ#CdaG䤦$v؅;Tj"JA89m>@#hH:8ðŽނh5&qBѺ40o⁧UOBPmX`T^ gv1|mdƲ6U"#k-ʡ 2 ֐ӱGqh7w:W##$wV|K2N0];0r!f,]p+#W 2GUUP۬gKjWoOP"CΚ=F7ɞVq 6T{wF笪؋>ۙ'wQ ֻ%g[%.nsfXtbį(9ǝk6zvwc0U#H e) v`ziux6:z"lT^3{I#pBFz2cwYe~e(`;Fh;b? Z%O0[?β{ ;ڷm t(C>+}|"S<|_)LQ_C-ݜn][f}ΖT:3RMjTZm+}}'_f } UP hǕR1yH%) [CEǍ4LYrLXDgss`-x ́T Ҹ©: ʡE{ҿ~m*/DHpѺ)# lSӦȖ,*ōˆ({&p."+Ƀil;#^VnF џ| a?d0Xt*t_Q ^hsոdb|7IƳ]yS)I8_:QKkV k]ïX3y$EڌIM:|[kgC| C4c-J_&87ܻ(}ê&ˠ)EWsK]^Smѡp1S"6Nqbr7Tp5ɤ0:hT:vXwQD(cFǙc.\|y c.[S <@_mazWK^0#Zid!7ijQ}"G=L#Ä?=?EG'swX39I!qS-sӟKS?-AJhdU63Py+ca| ]D؞uXVc=zUq-/L>V-sOůAv}2_VU`؞{\w9 b%_@QXdxΉELj{=Sp%v4(Tm3-Le4"&Z,I⇻ HB?iތ?@f\Jn)yYѺ>XV7֗&w&o?2r3XI~W;JCK (諳I_]R Vxp:vXq8DEI.q?j3ǫWh5LR'$UM/A@:7V(sTil{D k[rpEԑJh*_(vIلϺ4߰»<?@]18b/ q[i3RX%35%Hc5#T䕶ꄬXT,qʘ0,~"Af8=s9\ $qnD(åw[SM M ڷvONStfǷ'lit@Qګe" EUWUaV@O!ޓ-&iR1)LsŖ4%=-BҮO+:ε@2vMc@iQEuOw`59tkmQ!ǘ/WGj:`S`۞K3˭J cCV? Tw=Z_h  dq)zuBQ:]uL(}/| t },! *ˌ`c;{ ćoȣN`-Xj+fvxI3 B&/{pZыOJ;?r%˾&$^*b3N=GSe 7I" xn?YӍ?dgQ"h+3Hi 1ҏ-/NI=*$VS\ކOBKQyd7zNZԃ1"%qϮ ER˹6 I &Wp' >YZ^ R?m(PcYW`x.P 6aM4Na.T&VIfW[,XU{]UJo-P*>x6]W`ǭOD\x!E,'64~:11q޾ VqݎZ{ͭ 4n$ѦH!2^r(kJ@\q+,-ȝKBQױ(C*bnRlY4πЊa>8 ҂+%_iT0Eˁuw)ؽ$cv`Hm7ŗQ@FV\  EmC @n>oQMܷm$9.qObҰdŻj舌SZ@ے4J1  NQBC!и%g޵D!B]j,+} 4'~XQ@|pʒՄ=[ s*c8$XAdc?`yyRH,.欟MF R5.bkCYgxıYƜ"Dv;SFmljf|kuΈ&>ufbQe{D>5 X!NKh5»n{e@=/\cgٝ&e26вw%*Ox `D$ |iXK溜Ooyh~.I [9Pbjrzw &_nV(08]^H՗URI>|mǛedr Nyͬf^t"B|zsg-xddԄIYĸlUvL:)rA%% Y {fĹN73aUԆ9*YU\5bƎDgX dy*B1w' YJD:\=EonuEd4tbGww$]܄dӛ<% O>b{_z ,0<.-K0=G $ y>ޝ.Iɱq`,GM{B m৳DIqLnSt#,X~qR8 }ٻȡj5 K$Dbt9FIucӴ(b#FwDwJKϞ⼾JMنxR:$=iJ eu)y}P>+6m 6d Gaoo^$)X %յۧ)WG yQϥl2O!X dbo >&mև,4vEJ~>Q*haή oō 2|nR :T"6ӒV!\fχ x`wf_emgA\ٛZ0om/嘥(Eg:6{Z 0/!h)劳%;  _Dk cZutCBXuM6U?D6X^B"+@Z2pq ALy8_ kِY>ը"tj\$qԶTېC'3=vK^@ IzŸhkIQ$ o0ZV %uW&ި'w[ʨ6ryԖϖZԥe72i@~V7v*I9(L2~@ 23!Yh839윮C!ߚwhvZ]wq]Q1y S,j<)(X ݗ=IW"q$/eEPs&,j8{64lY{n"c Ϊ>=e#-gup yQɃC,LsmJR1o-*#SOFm$(hvP5_3t<ŧv ­{#7¦@#ǟWoL"9!UQ ?Jf^9M{< ♷`AiV~bO4f7OzfeΚK!~dl@tTn YguB^Dc .åFԩq c,E>rXS kxJ`=GS|)}{RI|)+ I<2:b:VkHŜ @E=!lnwO7{(6)uϫF¾Pɋhƈ ܰ95~5ؐ&V5 9c,Ď0" CVf?̴mB zǶe+}LddTU(v?xuKsDHJ480`:r! 7}R<ADiCw;9,Jp4'@2e,L._VTf嶿sZ:&, ѠCԋcCJ׫#"5ìz5ne:O8s/3>bJf-ޫۮ0GF`_OKibOF| ivT+&(E01cO=s7x~΃ڈ76j+Zn+pWͷ(7}ˆD;lLpT ʉE|=ie./57 3:A gG^L]=Gc?nZ%4)Q~5/CC]_1,XB-@޾ xp"!nV%Hj1>{?_ #K؟pQGI=v" >/ HT Hpu nԑf KV!ΪM b m = &_]|^SimK\`:;bɛD-DchtӍKbYU`0ݵ7S=Coӓ݊|,ԕh z~%jxRt!J~]E) ?yZGR.Qzcqr|#Я\ ք"c]2oU|+XI9LĚE3G¬Wt ѹ^I9?=-pd}-uĵhĽ ENu^'$wu"7I+fɴ^V}?.( |$8[y!ipGUok\=ʧU$NIPk }oY"Ե:>&H,;fyU.= &5j0`ߚߏ?Y 7h *[rW7߻SBA\[G5 C]Qn[ʸQ {=DE^iZf' `e%BE&]83;R ԞOuVon]Uى34/>_"u4WQ' L X> 3S `mdp, <ޫoLǴ¦Mz׉ Urwf5 5/3q)j6bMBMgeb_T9l ;A%j6uW"5ûba$ U`5jle6,寡U@^%şz0bHRN63>NXY׺-wi4S\ 6)9QduHHd<6Jo}_l(Y*8L:!tsы[gy?0 !-;G4 8-ТdB2ޛ%Ѵ 3֩`Cءظ!Ñc恸m#d] 剰~;5~e9Tb7tߡϮL=x3tts, "#cl_[pxQ|!si]X_$afѝ="o܁1O}tj |}][_M7o"N]D{7&:28Oa #1aB婂b!Dy&J`\r@xʪG>NդOʤ_&ǚ+Zwj|s"|teN qD9!Se.BMREÑvX0#߼Iυk=B{4`=BԆȡO\3rldMMl^ a܁^oJLne}b-*W烯0>iKud$}|RxOމKa.cl]Pmf ?0wH wd54Y~^,gDzB(*] LT`nn'cXK:2BZu^>f݇Et N߆iW#ցef8b8,Mѽ&?tyv6=1aT$-3dbWPZxQunL]JpIc#:qm%xN7dYr2_\2}v~k/ u76eIɖ]pHyo9Xm#[ lM&Gk\&ŵ.CLIqS"DžPuz1֋VƉ#^f k __[J 'T[IJ>wE58Iڃg%*BýizP7ŀuѱr@Iҟb⎘tGֻ~cgG1:ݡuA&XxEg+![/``B|#vm%Q=ozā}֪[w*uI{x[V4~ NҁNxK~ΐI=[%a]05Mw* vSWWR!VSᰡmz aHwB@ c-^n޾ҽjҚ+}F$EX_bwz~PWd:6V$/ڵ Гħt-Dx 3Fg4 2U%ER>4@Bh2'IɁ+Pߖũ u2gp?9٤4FM+8,DB!fE9Q2%LE* bC+kkjl,%>Xo]6gOPn v.XQ31]$nxJ:cױ" K6J[QQ~oщ7 #uVӲ^FGݨm5`Hv&SږIH X2IŲP 暃ٞoea ca SIY$5ҨXM:Dk{GY$(O; 8IOY&Ox{z9_` J5-Z""l&+>L,>CK.%KAD_)u0i )#wQ=N)3saza< KrY_L. 0̱ W B|2YH4ޟa̟}; \^C@G@4>i{ iL7Q|csFzeӓQ4+}6`ssvk}_\Xipx~팓V5kz:;#C)я4,E=+ءOd\;23AF3ԃB+2]Jԡݖ{dy,Cjy![aU$p- ngԅ;wA{B=T٧fmciÀI8yL+NEᕳ(5K?k Q轝iK 9>Dw3Fc)bO`ٟ4͂BV)4 ݏUIrEo^@ln}:vqZw-CɿF|*2S4x2!6C{ xKiHфvy'tQWp ic90em_mo86 ,\ sKTXѳhμJai$<'geJUxd|<:JUL@Eq4MײR > ﭮe[2icLWOC$6[,23%C:\Gmo0$*: GV̨qN 4a>I'6[|Zi/GjކC߭=.ϳ<"pHa&2/Hks.͆|C_o< !,h檹=jA ? u=*6.<$cO8Vn1:g&;F8`X/e59ŋ虆~4h:"})}çסe+,[dy$3ۍ7i =Ok*MI]@Ϡw&<5!Jzy,-~FLly]&:'}8h0|#6z[#~s}&*  H=}.xϱ i(Ijfx؋ɖXYFh}VӵJ|/9*z~9텚kn9 ]5@ Cm^2@vnQ'q# ^:v@8I4uJB⚒eM!Sm3NL(\N+d~?ɿtT8Qwe/V0@HӇO"vIYٶRATStȿ/ m3/EPlH_G 6t%:'ffI^RDn :uҶW]'<<ܾ꾋poٻ8Οn haw[Tn%2W;{5l>]DRq_DxZ q$5)yV]T޾`mQC TG 2/:T6xX'V(v@2 VlN?" &|2*2 k`J5W`1`ȅk*E)v˥0YRDӁgY1t#hx9-С~iƕÃ[XlڔȌR<םD5)OpPJY!mW ,ʵDZA|bj@&)gz"AUU9Y" `jKƚ鵈ӌZk'2=,$I@{w092)G&i'扔|p?%K=v]G^P@_)WD]Fab$ȲQδ =l[.|Rckw-yBn+I$5z(䬂(4!@LT6?nm<3lP(@woGh:礙MZ93\ 4ׇ 3¹AuKNZM$@* kDrѓ|O_W'f`P((8:~} H-F)fH*cܥɖlSM:gWZ(5L%1߹c|6G'Ow`wh3GN)Vu;"QaArYV9_Þymz Z@8,tmo2f+!^f\4̳JL+lˀ3|>?/g5js]o~TS=XS@Bjˀ& .[{4D<򸬥XRW"J3VI}5㟩J dbYwPҨYujdsKAӒ# P$xr(!c^£[ ?nք=}Gkhe,p(Su0ɶ}y?榀$ Y9%~݀JLCttD]Z$BϏrA'+qW 8~v%(Ո* mهR웚awan1ݺAy=]t#v6x~ [4$e^941B_yt -o>=^xirD(.3'U׭ j}tZZLnekby=S؇Gbo#A,?燌`m^H!dL>˿*`T&leo>8^ 3u41K ^L5esD:q\;_VxXG7PzY!.PjRItW#un$H^]2ѩl"8y$R!dq)K>ڔ6$!I+#悠%{`Ű.G.%dVظoLX&װH9P}D 8/mm+2/Ƚ(PPS?8Hj|9lSF=!]}]Jäc]!0nZě9`E?( enYZG:o47_[hdp (3 5$ Tm.}/C n?:%xX^Lfv"yEZ}o2-y~$5%l R#cl?bt;)8#ڏda]do/l>DB#UP6h=ص4^jW&К:3xCqZR3l{Lv#Z}P{)1ReiMv}v[W-ǁnN&7Cz ;v4jQinx6-ˁl z(#b=pwSDXZZ٢*\qNüGpo iUʟHUX4]K}+j9BoH+$\t-#P iuJ+HP}p&fcFp i;-PNnRFyw~mmd].kvN[wкIj$@腫KU^8WWJkqfKRuu|"QMIӒ)sOQg_Ba\{IpfU~2K'l>EFYζ-B*(y;Պ(PU)ϩ=Ud/P -s2:cW]߱c8˕;m[MnG*@=چT~G~?>atHd Pb&CQkGg nZ)(cm<!._PJPVw%J41ĐQ!Bi|?##[ɛQ"^̐>ĊY8uK:hĹwdYu(I\{ o `$ګm˹z%>>匑43M`2[=)k:kJ 7OotArZ n rϾ],aW3[m^p?)AJѣexv'MP屇Nr{S4{Trv&N{_0/?[ً@]~c'2Ȼ@2ű[b%uG;]I `:(WE`^KeuV c[y=!G *Qfh|h9]z|A Έ5 )(8Q˞~WRԣU}^ka|&b-m0 ^je,-UF6X#r~AbLgd%fp*$Be:KUcEL7m55G BC.`ʫảalkُkkz=k!M>::Sӌ- ḶJ`T6>^=О]\j,O3=br\\2`d'tRB&^8V4K1,!|ԉoh;HS2c1Ϛ2l m.gmʃ*`>9mM>ǔE 4@V|?Ϥ\z GN >" y8GX+χFF>->ST /fi~ CX\QK* "Q( 1* ޕY r#ȍ󶆲l1ܭϯ9ʅy-faoiPFO@։x/J\6&M>]@>GyS1Aw#sD (?)4("ra0CĴgjs:|n\bo[~s&0I$,&k90s3U;ra}52{*U ++LU*>z/-P{`GT#@Qi9:Ӧ<֒3^rɓYkwLzJr$_2ҲKR2kV$ ym\@7+ˢ4G a1A*γ𙈰@ôiz3Q^u>bMUHV Kg;vKbcu<΢DjC7Y4R969AWUk'vw(V ]h} vbɩz7g/ڒK_LHbY ˎwyXETVV݃ltM&e=Z=rŸy)|"UYB#wRWkRb-lXlo/,׵fࠫuLS,zTQL:< ҕd]q/L _WyLoש󳐬 LC}nmE#ev" < |Ǎ^`])L ' DAmQ9H6o+CᰱHHwY-g\򳫀Ʋ6śoʧ+{^yi#dKMyqM5dy۱ \3R n RY6 S- z!1ץf-FvZ'Ո~-1=]%ά:Q0s6հrֳv%@yKu]_a-@Qs7+M}_1~qp._OP0W)}ZE.@bn#O\?cvo,ah`/%O9a)f }σ#J{A9ϔl zWڏ \`ʼnzh C+g&/@% HG2K},δ*EQrq''~d9gM2ѹkE1yԻs tAN9 Лo@ Ȏ).5{2 J⊬XA\qv"U eUl;@VH_+v@+dX~w=4K]F\h$@-b@h[z,a 68UW_[fcBzퟬ)i4U ">=ہmO) 53SVgԠcPta=Bos.KꖜYC$LcPJD`tB~iwRqV”4:Ƥ߈^A9#ap Ϊ>9C RXMMEpV rPØ3.$%NĩX؅@){J^fOUofxB+f$`ߜ'`#ZnJk7N;^_ {`s>.$H}r.AVWZ;e;#ݨZz֦R MeQ┮PC" jh]P@DbyҏIХgf~#1 E1z\ }).o ׭b_BN2 1C^ I" 5ۢPY `<(1ʮ7JNĪ>pȇJ. ]ULʴ7tbctX_+@5a iD$`eA0oZT5[p"H{B0'6qmhfPm)tqm^wDY@ |6Ҿ'cJԬudȌlo~P g'ĘX '> [M26녇:;{U8 &ӯ4{c74#7>qvGhP$6Ge\}.WCI\MtM /AomOZnDNpO`zRpb ^UvCYZVdhm4}9tDGLF5 - ebʗ֣:R䊢Lv؁|c:)ۃ`ȼ'3En jSiJ\_}W e(qA 4|M_Y, pJ:iˆlKCktXK ~ Ib_&,nZ\ mUUo[F@;ߺϖU{ѕz z䊢Ԑv?$)__op:,͌Iyk6c-"TTo1RH^L&_JTe<o ˿3_q&5J9+9#iX”G!Gx k5x9Qy?dYEv[ښYӳķJ!7i®doٚCm! \ڮ0jªCqiUj^uΓ7"& aoLZxF~wB:OxU] NNmYdJb~)!ę0:Yg.4 AMt6ln1xPl% (V$nd$PD'OVy%T0ƾ[ч%W9%٥uN1c@3>EV QλKgT#ѤuouCT9JO3fTfDCAMu ;EfL2emfoq9q!بU^H̠>o_ `Kl,񸾍t^mzÂs]\ ߨ(M3#ƿ+!hiF$r#[C9#5QSYPt{_˸wxnmƏ 3L O{ZC'L=lʆE.6ߝIGvޭo8h?z6\l}ԇKRcJp'bY7~IX 3ˮitȏ9qWw4]}c 6N# 'N:Ywâ6oo` u&_ ;wrAܽ|8ƞU|nT[u5PD[,Q2K|0Wow32]1*n$[G\[F`Љ-˾?LD/; ]ݐZrGp\8 s#DNyau&`'D- 8~ ׄz1g9Jj4bxX<*;ڈf!6A.{.CBoP4j]A%~ %Y()(I"z썏{1e9t+QbBC}]C5[ƒ?@p7%Xu9N~&4/PZ*hI5NAmRŀ?M.#Uqgn7 uaaEe'g%#Sf2Ċ, \eZrv>A5!wiBWa[OY/`Dk]N%`KLD gZ{|ֿ8Yia )4D~PI1PMr̻2^C?) B,Rk]T56s.1b7Px*@st@ 8f?o#ۆ %Q͒Kvy1pr܃}%OX}~cȾ X}vݥ(>f$E(^6ܾLtn#kz7!d$23ZϿiO;Tn5Z[~1?\/|>HTQ΁Kq)>{]&UtV.s gTVad3;_eBUӻB8\1 (2XMS(Ψ#,Fwm:Z_%QR_u6Xձ7 ؽX9y=l8";3q26A߂{6e[x>碎?8RNJ2s% )#C[qHج!ef %&$L@zj3/%78}Eb+XQ4J~ܔq fSmdCR0]$n&3 "4omՂcT:-UG=y 0LY e!>K,ȜۺP,e6vӮUpcfwZ8D\2DI,cJQlpψ!~kz 8\]$?^ghPY%"4;3" ՚ˡ.Ng&SۢRgtͨh/ _ t[B2Ǔ7,Jλ| c8T5Vj"+`FN|yěN=ϘvH_EH|Pllɵޥx*"/#%"hRXh ȺTR"HHL%-&GR [?TxUmV8l"V; Md)~H ;2kXk֯.3SiU&':E`NȯͶk,0#?I#Fir= pl)`kбu2EӯVJխ:w; ={>YDFDA_+R5 b"{e];LV[B R.}]:Ps8e#"e_c0 /uQaмMQX9u I?bjmMβvN#ԆeV3(jtRY5#ru@L^Ç8+9/*oY$|:+d4 @0pH!~ēȺ|xgmEo CrطN|I#5H_״ Wj-.TŕL dKy=Li gbRG Em.5M=O 'DnCբQVFsHWWb_/] q"u{%"eSkmT0R[J[F4Y|`RǞ{)+؃5>\$;|#tWפ1|mdIMCf]lf@[~UiE-aHb{}*NԪ4<%F.ÐRHAпH|Nh33زLq{Y 1޵/n]4{Fu`(dVLcF<E-;Ք\k@9V0j3M@[{@ўcHFMp $wl&f#x~R2IE2`4ʐ8-V1ŌBɓf]% @sD@!nj#Oj?4g'L_-YGa;{Y=K$*?S/(]x6pIΈS]65举: l,D ͩHzΛlH@8PY 8) n9x\;o!; ҆\ t}b\zru`ۂdJ F6*S\B3{~ ë2BYqHP`G-KѽI>k.2Hs>o*,*v.E.8l=N8@P:7[U'4~m|e]i6"x"7졡:h^ ف53B%b/ȩ x/x38(tr~RJKq%:bc}RߞJySֱ :"_#)(%Q 4]A7_ "UnԖFzޫTVǿ8[㿺f c T5 ^Fi8c` wI|\(k_ ߺTꕞoD(<[]ݚ.OZ5e~ڙF$r"2~޽gNǜ})#ͤ5&=޳}G6UWq:kd ڲ5 Qv44_*0x6<(o=&:ZEg8Z%jez@D6Jx4Tx(lT2_CsȟZN#3@gD<Ź VtHyװ̵dắ`h5ҋXR,^nyT71'[U]oM'9&rafÓ4jL ϡ: |z|p٦YͩpuZQg $/2|ư;#V&] QWi'f=&jB?"kH> ^,vk?{\e&:V,[9C:RA.T!>GeW~ /M3D =Ň}ѐ!]n0^zE׋JJeUMT95 <ݎ8Mؑ  f)*]L٠]DĢ|<`ɩHQb3@.&$c_T8,kM:|G)jΗUֲg:a ͅX}!%7ao1 )(zx!tvJ0Ha1TSc1Zμc! YXiáj&r~Gugс q)\jPR.cf!yjxXHApϮ㜄Ma{VR!%cJH=:npj"cT6g 0 Ҷ;G;Gk&lr0c\td߲킝ejY4`^v!> G7{@J/ӷ];Z|ar{`/C\DPߧ\ygۣuA☳s5 lζ>n COyg`ӂ]\(\)p uME,Ck hc8)ZR,Ntš,l$GҾKTht!΀,B83vgX ,:zl6ls~Ry+.qS)9\Bq|$BQjLY(, #\ 51u Ø '=a8V㐢O2doҏa`,z pe{<R:(h\ԗ! j[Ӗ M;`NgK)YHY(eL!3 qHl[/ܮT XPr% ƵGObPX`řnol9$rqmv:0h T} hSGxZ} C34#X^4fenV'IFIt_`&|n<9,EvVWLs Ə82CG:c`uKTALsr >UI<$} 3=g\.ʆ 5KY}@'0 YVG]|,B y͗An5o|l7-oƢR#4GOEZ.E3޿; .qYpa)lj Rgc c;DrqTv 5@4۟$]tPXaNٛ^ƶsn!R8k4=M8RaĤSJuM|S #Ќb޹RH?[} cw6xAڛ@Q0ϏM/ToX:Ube ?B5z>Fx[r8CK׺WI\!XUhOږwDS8T|> ~UZ.ķr]VsA $ _%J,ɇÖ~1Iz-Jk.6tݍӮ ~|f+Wm`uY8m?WD~CeNHS|)#0SGZCef^@K=i=dnݘ^y'ԁGi} +yF!tu8M卵_@j*l䜗i< M-~zYS[ $9yݚd(dKo~ƒAnuE̜ѸcQ?q+(K|glv}ol,Y h)n1 u+Ls%_ X' A5Q.P!WS,(p9Nn('!NC9  $mP6%g c59)r87T86ZOČɷ _ļw%3ҹpҽnMi :c@24' VD[$Sfv|!iۛ5#v0}w-{ ܘ gF^7B!{zSyV}gh oh!(%7+ҹkt.ƫiȎ\*+qkM 2_[  Qa?o1nbܢ [Տc!|\+ӯ%>(i'_{4eFctjj8m'XwmGrhQm+6:*}/Y,ڱϰıL2I6 gRqM]O(_؝0keA"FUf׸"Xw}}GVn8TY^ ^t_ Ƈ%I ߾7*fIw.k8^py:mtg 3Y"VfCeM)4E<|afs;Nt=کAP>H QX78җQ_t֘UFr* ;1 HQMԯ$SSGvnMX$F~rjZro%瞰 u%LjJ,cI#[iFu$-{\vC UѼ~mA]"ukOA&<]Tc_Em FC>զ6{L/ݙ5B 63~,e^YdIˊO|iB#l ɴ6'+(zNU> R\v!Ȧm;zQ&;Бqݘ-l/5۴3`W,\١kdX\a[a;FcLA7pYݴAM0|h opƞj^9SW fYw&;+Njb +txڠbPH?WaCr=[LᙬPAh x~J*fzlp Z7;8y ?>, ؽ+`i#մ1У;܇jwdkNTZ7M^1MCWaz_l5 wM( uT>_Y~αj VFAn8ÕbuLTt 4x2XSлsG-ørM9 HDrla4zDf7ƕxR2JSHa$jŅK'])A0j50 Hec/tcƘ]q[i4pe"l} IYg9i`acfI'^sd3De3$ _Wŏ<2C\&\eƋ3ʨ\ChHЃM.<ސ45Rț"%?29 壈°v"uU] 1j*sa([nyVa(?Pň@?sEmY]evCn]O ՘(->gD`rZ-cX.myt?9#xG^qs.AY^cwoХ9:bA7NrqQ^+c{evMy]mD̯ﵝ9#G쫈wm43ZK}эpzI81 xbl,>smP\[v-0tLd2tu5Tcn/ v$#b9ܐuzcFKT_ꨈ(ʫ.b6q\gN]FZ%=@_Lzmb4,cV4o9i syY eh pW>B:!D0\.jI\|<^iz(ߚgfzHcJSl>֏ɢ =fݤقolyk>* H@h +X5`Wg\@w&}@Ov~,\?vAmjs釂 Gzs 2 Lh%,\{s,m.]6JeIXzA*op_Tk#}Z71ļ}epBY91L):0-:Qۃg@Ye*I49g* tS1D&|#u泣'|rmnJ©v)6i#\p!MV|0;?+f[Zd)51btnK'֊@Sۦ9/)*pο{VU%pB /~cr60Vw+(6Xk %z4ͨ)QTϛ`R)߶ȞTвz{U &"E|%~>D1jMK`lE*x˽cGSyh.R7/Z-0Y&)dyY$uXNwISϋ&;^56zΆ T(sظ/Fӣ> Mz]뾒`滓X@rOCYٻd>n bPI'\ʡC*^(!`DI /Z-Jk7pWZXgo“7yr8?^ =~mǑ뿵6]9ڵyhAuZECy9K!0tjϷSID"BWSEb3of.'ia$\b*>dnxf;ٹseΎ yR>0`mnIƪ"5$+ XE*d.SCzdYLQFfF3E=G0h!xCJߘq#5;azG؏Bv}c?IJc|Fz( &us'U]_'JKȔ{ˁ{bhaeٶCgP6~Eq7PV%0"}qHj,kI |%E~}t<<M=YH{nPx‡3+}"_+]mczQ ƞ8ˇTe-&h_AX<3Lf){aɬJk`#3qs3PЧ@9l1윔(:E8  =B $D=y[1EIe( 2[t8TyGՒaba* IXt%{w;sOAU*  -f ۲ʹO0֬yV: )X!_<|>ob҉ 8YR˝=7?* YKE>DY}JŜ xxdpݰ +ȋkb3d;rdn#,ȸ(/< "IZYe zYtv'k]V(A2gD/!^\!ظ*nV'[fC%Zj֥5"|yZ_/ *!up@PjZU"Y8lzGm󔖮`J{XWgw[cp[~hصbV~ao-UUQ>\^xˠw|%tAO۹Op$lf;EX@ G+lbl-IeC&zַa?YJ'ީ IcY~lрR+Λ;LrRe𒴡!}ĭ$['dw|–+L˓bsD'>r^J^o' \36zč{8Ӹb+ktz´{.t-5nx VȒy#5ݸ.[5/ z[bbHRT݉sOyk\|nMbR8~2 Y.P}N2<-!saB"*tiPi&{uzVqrK@,"H;; b.Br}VΉ͢ˬV.l*^:{ Yo T:؅sac! Fp# 'I2)Vþ:3Cts9rZ햙Ά$:EEIS[(=+oM"/ r#Q-5dCr/yK~\XAhPW?ѥw}rQ:GL4 G5N9<2U nǚAn'1ɘM,2ȳ"J<6CuI5^dǭ2pŢ2]OE_™׭/3&Y~aP+*X7O`9&X8Ƣ0`G']>Wby*UAɚ.5'vf6,jq_X]Qt[C6U0?Ų8)'uHŒ𳙝a^ƖQK˛Y"OX+/ ȏN81hMX2ԮLiS򀷅(*{0Պ93$&,Ϫw%1U]q@=YpS{2J7(b2JBưe; gAn]:&n5y AkU)(L):m )}u 9.Nuߍq 2=X: nz/< a⨊ <=,"+Ya[-B*ܕIJx`_m_E66jT:7Io ;!3s,0En*5_4M\TX7,vZ_X^O|+ؠ,ĢF=H¿&xk>E>.ؼ!|݄8LE`SGyԁY2N±WWOiێ]g >+*ED]T=oF5rܚA.'Swjiߣvv͙) KwLznoܘ҈u+V(;~6~Z9.\R^6 ul{Ke7/z s-;cHkf/\yjWש e\R.G4cxoVQRzxY 8l)\?iKPO2 )7_udgU}! %s%3m:U,HS-MiCLтxv{*n>Gj,{6#^  6Dx&IeClfcyPuD".20 Q:ewW1ݨ+Üom^ev+y7^ѷ$*Vez+|o+~>"t8M?6E2'SCQ-Nd$"c(62I%mj8u~_:r1g09﨨ARt@U7:C^AInr0B8>z^ؒao=.Bhi O W/GTb-0獾>HiNQhME:'d͏:d{`Y 3]UШXѢUՅ07ycsZ靸ask 3I6RG )2/G˔UG6Aey'(O ${=9&D(Ȃ#bo2Kx *QQ1E{Cen6 }:kݛ|z4#hm݄* GENٟT[M ޔ 7ΝA7kW#Ņb?nJw$:e\A]--GN`je l7w8J*._(m\C }~]gVO̎VS d7uRm<zBjxIK8ʍ/3Nͦ%3j:N=VB&+AIFg M), Y<1D"yS[[:mяY]:6@oZ UA-Y VW<3Sլ#qݝ a.ǒ1yL^9rYp6[ҳAaUхğq[U|bF<``/nʭ^+@QlWRڵH/] 0kp V -rbjt13j@JYBֺ mnwyh=ORe4~JyŽl@.niş31DUujAk~/ZoEsYJL ߄= 0yx!V脔}C׷b ˯jצr43FF;on67"zi5Ô[6W1&pHj. X@%{N 9A>D0ZDǴQ'qU?\?"%G&Ӌu6aguusy"(i"%}p8o'`jv"(6R 9yoyOe5EA2y3j :k!\T{Lɥ QfvZ^JuLTM*;egZ\@w{]ߣGGv6Sy˘EVѠ'چр^ܴ:-ͥu)Vxܙ6Y _gy y`{>JݫNʤEs| #`lqY˕6;^gΐnHx[ҫ ¦n[Dhaa z$1ªQi>$6b-:;h?n79H'|z ع 7is}ոoET1[8#džV*ɰ:((Obh5KVwkHNGSȇQIT;qheu%+lό5+n5=3rW^1hk6軣Q]ڮ 1 2˄Pl()Ò Es 6[\Jj97ʏnY_.&%^ fEь-dWI8kYZߙ#a*~";aAY1Tv}WuRF{f3IhǞҪܙ ?k"܄!$kU㸖y6ӿM*>xk)]Zw /1,X|9]@iĶQ\7:Ґr1(ٻN{bv,X˽D,i;K[lb4+r,g13m)zjM t–[)PߤlyT+ʞvF@b=c6`Rה1笠ancvVeڽȌ5V"i˜դ=ؔo9J[_ư)7kI`@gRyjx;`5+^_QFP/h!y0rOҭZTD,\O"+Ǜʒ(EQ C.c<C v:M;EO/Bk;r8S1>pF!L& #{{xfc;=#LSPtgg% DJ& R/ǢJII8Q4\k54 1Hr._lT'8)z4ãSj{hR=31sKp(|s zz#v}\kNπ5]H FGyfruyƊgAP}'NЯ cWA|\pl& 8W4"rOESk0JIHkп|ƛ♾ڭ*0珤CF>>9kYX}tTl+QIp/kq<O# ufl Uɝ= KLQP,ĭpA!Mʁ?1CiiDipI HS{0 Fa^qm_, VވWT1ggō灼5|,țH#`B-X !i>Ekaށ尻ICk(ߪR4JBhٜ{4 eDA%թrWxSd|o,`\t!l Y5]=WEC*+:N5Vs)M-&D5vP1sHv:|Zisg*Aڈ"ľ )ˎpǿVQi4!Xx=.5+ R^κS|M?5š+Hen1v/ԌL5Hn{LsuN9LLl;])Xvv(OL,NM".` հ8$0撂.KMF~C4;nn;zVОzc,|~O&Kçhdž,H7ϷG $ӣ3`SP64,+֬ "cϽ'8rR y@Mjݚ\C6H$=^/ӄU,3WWFmvLWZ:jOh@A~^yC7/VʢksjOlj$m Q~q7PMYl&Th2&-bkReHG:/W',M;Bir\,fl3M2* K`AwwkTiܝ3~@˙O_ZYIr%w_ó27 ㉀ @Gs9E<;bEw7L\L7tR,VY%֩ZX0u9]P7/-{ WsIX}/$*ɏ&=u`~D Ji09*4K蘧\T@Cb1k;)k, Od=.>QKUb:a+Iw~Ó.E>y0WNB4츅ؖ?3/co(FO\TzsB?x+e@tYd"Eڂʰp]>j )0Ck="r?bNBʢ>ܜf2 8 yLXSRdOI9ݮHqC %)Tn&΃Lq)/祓i/'la7̲Ixq-yl[/r7V@*XnIdN-윤aM\ۿ\gC "'Ӝ2,Ohnד3,|@})H'_U[ez# G}%Ɨmm@1= =U CD Ņ״Ӵ.w?M6K&ͺ!nXz^ 2hN%)+n1?#RHBmʉ4bUmG5]]T輴H\;0qz`D,{|?i;\}Hs[-^v̧xo\ X@\3,?N~4b p7elhC{(<ۿI{qg#g ;R:[x9LGj/]ȺI.-E%&C@ pLve MwF[2[zaG.l˸sA) Oz=G3  xxOxkpT{b8!Vk:Q Q`LdG0(Vv.jmLZꄼ%îRýM]cHsV"[sc*&2S"X7F@_XQcQS ;-|ѿ۹NvsL?ia$P%R:Ƅ7?mV\ĕVux8W͹)ז9듞$Q~V2N^L'H1ՄώbBb-KDZ-u40b*9W(0j!dorpjb%\U9@Y֚7DQl[`g-7s=~r2!鰽DdyUR(8R]9'IZV8IϦz:F+7CԬw -ڌi[7{@!**2#tym)vͽf'@Ў/1s&>uN*㕗04~$=;=y/Ã:?}Ќ#GeͰǷmM()BN`.N1]Of.>F L:Rfk1j25@=@,yWuݛH}Zx;6w{.^ƩW~j9Q5Oe뮎{E)Ȱ$IU?r{y0L@2ic pnWxaM- zʺ7׻"Цѥ(N$$N'ɡVnu {/4Ry`] Wya4"ڎ[q'Ҟ\;()ir:o!0r"eh;ϏJKB2FJB3r8׸*/yIe_>z)Z!IayտrV1pX$) y]i`6m)1-w=xz^J[l>Ҙ:߮ Voe ECX!R91"{U,';<v _dȻ)KT0h5(CYN'm'HHḛUvxw `]g#8٢d{[`LO"XH GiDmh_V!2 Qh eeb6"ݳ=`"Z`4Kv3l~z?,F#n3҃I"*;rO7(|Cɥ`BpS%9TAS.~(aϙP1`6YP*f.MES\pMYB T}1HHm$U5ab`wLR ?dG`w *聥7uI汭y.]zBJ.=L?3X` WL=z2m v NUׂ9,H|2PKO8훢PG[wFun?<0#*bKvh}bս{J-R(y2 \:8!$K+Y&(J 'rqj HUs՟\4 8#G_  vrw7%M աn7`ū̇-v*oɺMW1 HfSh)bK,/4=¹oȪ2kBzhU*9ҹk<1 )@Jn\XGmB-gtBg +<MrmPY"1qWuˑ3@&J>L2c<}Y(F\q)yBɍ#AZ/N#ɕn%<Р -\,I p .V } XQΝ,EeYXDljmq4ko^P P= ]IIzSZ1tB'-7&:SkNFL47X|يQ TIa`&#S!ntoxƭ1s$8쁞 +a$({ݪZoUe4>b(?gRn6Iɺ{J@9`̗,r wRX]V:ePPF!=Y"7Y\~9(l<eV첊Z@w,RL~>t\cqo1 o&"O7O<$ fQԍ0d!i:s0T=VqW3ݻ$1 3-ĜK`x9w@v/٦*u3!lU9o_Gmj` 4)hL1]rqJaI"2mXAGIݝш_KhjZFz[ =wn#s߄4cH?WnX`]d'xf{s*ا)cT([ϢΈ'S M@.Vwc" )\lhtmԲliA"d~,xcS=4s Z5]?tUu ,JՕJ07M(| *#j@C7ܛsZ=!"_Kxn&(n03sGv1 qa@\}}VCФp>yG()(wtkoyr.η9,Pp}ɼj3KvT7QyIOğ_GũYp\e÷45z8rhߣ+L{Om r;10n/l`e^hvET^:X@eBNDN~}ʶa~/eO9um:Șmeݮx{ZOvqܫ|ȠW5'ydz!<}"ImZʌ{"VVЈ:O1)qkx-+V< *#Nsw'<AVxvq &)SCTՑvX?5L( hG[ڡvVLq&wf+6qNXzjGؿY%E/ZDERǑ:>+X-頑bUCBVc*H}JHb&u]ivFi>ڷ \"NQjO:hwic uԱJIp8pJǗ aJct0Ib%z( o4BލrIn$D EbŠqzrWW#ퟑ:~DUHȃ 4Z j$Qq#C]4 hHd?0Y  0]'9//p2N`Ro{K2BNUi[I@ Ĺf׭ =h~|f#׹P5=EO@%ыcw7e}M0C[Ih Y ĆKt @Qb>0XyȥypcLRA܆>m˻Ewtc%߃cgDwzB:) ~(^>>hKr ^G[/$[|7d 5Ee+{Tg )N 범/ܹ O F˿ӎ=2ݚ4ڦ"l "&o!=gXw;"jwOWs>Ѥ+ A{9X0n JNVd>Rju:0Ꟙ0E9bObl{>vM5'8H'P؎`4;yl L[:+ =elZQqǷ=")\^?Uh]K@*6]Q\ . v5\+EI{YX;[O;:Sođ^^QsyIW|kvFΌ#j]ķ.A)2V)e[X6I.5 c"eM~M)ByΝxC!55rbkz{kEvSQ>̵9F)6g~U;s(;o0 i(,k3VrT>z(ޒ ސz.|S=_FZR[,OQM8G/sYrlxпUp'`s !G2W aͧ#-7L|^I gOؼWp7^<{42`fE >$kzs Jt/Au*s]gܝ$!5W8f>A><2GT*&Tk"ysC [2u®jNfқ nJb.i@ϼJ H@QL쵛 @xRݜ a7<]%tJ\>bF}<02?<'d-]lqSrF,w] R…{Z=Z~r``Q돩FMN~q{RY\ΨM E M|Y*DMͪ;6?t@Yo.evE!['lfhry--~oaGBxXS:p(.+.wwM [[%I6c~k1pVR$, /edcj9' _9KcIjqn@U|fU ]"+J/t_ aA}-S6ݜMFM:{Ww;zUܓw$[*mtЧU[ҙ9s9cO[q liϫ(*ru,??#ߺPhIvçOUBQ,6/s|_XHq qܼI4L3T$ZDMQw34d϶F<`emt> <]GoYA|YgM7 /:(J5Ѳ@ϤqhC.\@cg{piO8ύltDPq$y4ψ .s% |R g[[*,}wP3;\MvaūE:lY=}1lk˩6/ˎ#Sʹ`"`l9S>Aذ>.iFfqRg3os_wڦD zt}DjvX @lxn"]E`L$ϨCh\׳xCH[ fAx}7t3!IU~B;9QDSZ:"/>$Cnfip?`p !|=|)MHBCswȫ=e }%o htD7mɻqrŞ9p5O@uXݒh^вnZ) ::Fݳrxj 1/qu ِ"Rɋs0P?prKH>hjOrHXț~Paxrd-sF>@aυY7$.;8󻨱Ocg7:]vT2R>Jr#PFAR|^Q8vmzO.< !BҔS `/k<xH~G=C$S½ X]SR eao'W+u")5SIH'?.vqB (@!j!?  EUoLъRx*PZ藫V9nلT>nug><2 guQ=d*_K)B;(#y]jD)mm~2fm[I=Fb5(4C(:8 1}m +P++s`3~ʉO'zf0 v*=zsIh,{&fGǛoqW&*C~PO L&{zS`~ cCpt0(ZA@ʶLٻ,3`nY5wy;$`} {`IҦq-">o{jZe^)8Y:̮"7x60s߉9bH DWTٜC U 7rŭgIw'[Jb$RI<&;:鞛EcS#u`^.3b7X7P%mΏá X0AV%QMӬ ]K 6=R 0Υ֔3|BW12A窱^q,H_AR?(AnsOvl5ڔpiUk*6g /a?bɿ>.PI~~J'~E|lHELT}'Z t+F:Ub\(m5185cU ݄Ҝ`On)GU201&1N-R-^nyŎR4{ G}ZRx\i l ټg [AWf\E_?` eYĺ5KS[$%ӷC:mξX}w͍j`;Mv7knz3~ B9G!^Ģ&qtuJX%W1C_ޏ!ȱz&|),F[ovoxka[*V>j\:3yEl <cժ MK7u(iPwu2oG4M?xyFoasBzUMexO1GYusyX@rRVP:uwɞ.|? s^TkXL9g|Cń/:f3Q d]N 晫A9(iwu>UBbdO~t!xjFIL i;6m(#9" P0h]7lI|6x &;0dM򌦪MR}j‡Eտ/:r\rkZ#ԟ?.hB ;Vq&/D3Z׳s4|#h XDGVbH+nƗ|_5SW~k8E3 [ye=2xokt%_5OlBOWpƮb_F}i KWrq0V^}-$G[ȵ$)ɏ?/ψXD$YK\rƕa $m1zO.,ً[dLpĪũ{R %F[a?7 aO{Ns|8ʾ\v/r(ϿP(F&==h ݒ+0UliS_V$glEYg@R労-&gX踂 *i-eS`8aQ̃EH9& 3\a>dUAhqXĠ@̈́ҷc2%(|qL Ҵ.vɝmz| ߱`y:~T.l,E[0#9egw0G`K <@GlQ7,ܕ0)-OykAlJr7 )?B~_j9J(4Ox%-> 0u6ʰs3SLWlA^Y8(ZHߚĝ&NjSqc~y;Aaq%@jk%L5Rf 9 MFV#K RtNDJa 3:BM6s fDh up }sH`1Lk)L3PX6"08)Pa83] G+52 kP=^d@m9`O5mZRt7'V>OB/킚ӦƼٚ.q ULW vrba%Cc+cYCQu5 j&MN^kV k9e^6,Ԝfg.AB >y!k_2/ %]C;bV^o]Xd" >}*]v~N ը)(ƴKJȋȯD&T(3c|*w~%ΞAB[(COF=\O  uj9) Y @v =oL̾]'+Q*C8#RmP5ΜŨ"LM¨cOV٠JBL&b xq l0`+T{~9V:GU痖//jf 1`},mh8{YÕ-ۢZ&_І.Z :hP3ŕs` {BI<WZPXܔķ+Sm0TTc6ؘ?ѾϲФAE+[2tF p *^C>lcϢCub<<(wnom.bw5T63-SJ &r2_!c>$g U3Ft.n.{;|&n uc.ZTmv`Mނ‰D9}U!P<11) "ҝ; s*>B(>{'k OEe !X-2[<@juU8y߾j(,$|4o{}SJa.0^bd#?PgFv@δ΄( ^YU@XMΟd, d1{e Q_Y,F6$I0Pp 4qPވA'fÇ;Dj'j} sgh;ٟB5@qFTv3nΛ*?+~8״[HD^Bs.ԓRѭV,HikN8@57;QPWҫt V)bsJ)d&y' †*t?̨>g5;ϙG~eDPqlmX#z駋Ri3m g&rM~؎_8Q|hKp㩹1uCkG*< v1ʽ$m|]'dB7Ѳ&=( F 7.9JS4_s uf^u99^lK ȥUH#sKDMuep8B>&RݼVYMr&w|k}5HH 'zC';ԃevǩ I Q}TlT;ɬn(Nݴn|o.Im4uĞI>jԗa1:6-$'&O˨nN~'`ftr6#Thq W:x4OI Pb1{X6b1iE)&ͫg1\%A$|ęMH5UR5槙oz`fn׮>P$k r&@F3$ ADW *4+5M3qɲ`U0RZc뱍M{]0`EOwWn2_̌-c'OG{L8v-XlJWm Gmz쎲YR(8ݰ >nt=mvlꂻ*豪X̬c9WuRfRÆEe<~ckA y/MAERR$f$@{ nB@ /$1]nC *Ȋ]V FΎCă +註mO4]#coyXHHv,݁y[%di MBR?hctº,;<7+DΏ1UQdמ~5J-&wR1I9:wдf6TnƌzwkPnw)S_?l\4at1,{qO. vH=p[vVb ywDVmԼY/vO^waLIJՍDӈ T=6Vo/R;fwv҂YQ="OrɉDf,x^fcsRfUiˎKzw[6ԉ&Ѐ{7gfV-qXnDh¶it} Ћ>`]YvzS.cw3HfM "3ef4uulĩ#[ݏ ^yNjy}jͤ}C< kl)8ݡ?dkH޼5r{}X6eS>[Wy:i&mS Ǡ"T',=+EtxKaxHpy{HCn}> W8`įˣA%L E$ DK+ńK}>!o"CO |1$ ^q\tcǚ00Bpu+(m_>lDS>kߢBWk9Dok0Q37&}G^NNjP. ԌGԹG`XyECF,In+)w.!v}w ^Vq 켄BݝCQ Ux=@#OInf}zXĿK&h8suY18^<) 0&o Qi#8A2QhRIc\[(7|WKYbM m|yhH5V%J>nQĘ$VEj Ǥ j?@ Aus-@BeE~#.q=@T\j E$Lſz[x92 b-r <Ln&b1߂sO[t'3'7 8Y/[ cP *, YysSN<ݣ`R21e\[9Ɣ P8OwDZXnQ<ոgA <)*m5Pfu2\%mBx;bZE8y .5:L8Kg -fSBXFu^[o<'h\oKSeHZG!V!3^}0"{Sq&!Yp'~^-ӧ D+S/ r3pŪ1OgevNY  z KH0̇Y2-5Vd~E`-=E4)ͮX *Wt**I$K~h#+;+2 ER0t?>٭9ZۂVvY3'L5e%^Z0fhak)OysQ>zn#LV!E.>`lTI& bڜ?Nl?@AN7 Vu5LB*Z&jBdRmynT!{mE:}Nw9RC{ f[sbƶDtN% R+ qlll me8CE($]7ތXG:X^pv0 T%c{Mީ^k1y+yUr?&C;>ćsPK36cjlG*x_Oe9j@COySWl?\ :ꍍ;: МgQ^z)A|¶nyVTpiFJJE#~fwr7Z.SB"hti|h.& =S̑[x7""0SgPLp073jɂ̑М*9G Atewx[pC-I:vCA8"L %pߕD @MZPU.]H#駇{XF1"L^r0rF~ ,ڰaBB $ b~´7jPM&>Tӯ]䫷ɹ,W۳u\X#՜JM|)JO?6A@  N15P_̰H{vrLhM~i~<Ǎ=d{^J_tj]eeg]j#Մ-0=]v*JK nfM4t́G~ux^b*l5@q#;ӟu UA_rc|_FZS`oOHnJʼn7ٲd)tFsOk1uG)G!W^9|9Oc9O~AN^,cƻ$ԏT`(^f>8!"Nx5l>̀8iU/sQI&\v'D6o22ZybcVH]J#?8酥c\@;x-:e7Dx\"9/}&(]TEU)*]ajrm}l Tj^̏Zj h ChoBИ}GjɈ9&? ho={92 hGYTm2i.ʗOV]3bQX$ _ȍ^_4m4o,5w"Q2N!wW<(0i2LS&%^Ϻ]  Nm p:O_fm%q*+s eSgi@(Y;򰯷׳zG&蕝[FSE\Z'{kYzv :[,4 hjuky=:ad᪟A\a!}54.dHlT#3,gt2l?_ ^wTB Lw'ɩ;TܠR1Ci>TKlfL,SyR^LX*O4V5xT_@" h5]Y8,-OTw]2g7/LIM\[-#%})YJ*<oܴ&X+Ș{`S&PlJhu[y0Mk%H^#KjtWcTl`SwuD5DR@,^q0SYژ4Z?)!2Ejb#&fNin Da֙5Ŵ7έ2ކ4m`l#YWM񺂗yb?`1;-y[7ѱʺe+&ۑJy vēF\6n5K0>鶊<;ch\~ux@K:]?^;ۓEm/(Wl*@?bWgY;qDWx3 S(x=$y c5 bc6,.-fbQ%RkC>{sJ"5pn)JDZ T"{n.0ƵZG$0K ;PD2KіE6fp48p?Q㠯YP `^JIPF$Zi3;%4 :1U|h ="NJdMٳ>1wѸ yi򫵡b]nd)ay䢏 ɷgdʥ;t6ammHGŤyd{Qp؝:~*Kw烈*:LXԡZ%_V6Xp Ԭ,9}2mL#V(yʼߢĠ "e>jzoنC0p_g7tp!g),*W٩pmUXΊ00/G՜B/#Ni[!9Yw &~Y;Tll̎AtC9K44Rd'#  -KoTN0̈́eXnSuA-oG˽R.Ůnv7G.ezX03uyK! P`@,w? <=9ۏ"x ̢-&Y1*@^$&w1>ou&;Ulc$T gU2h}b06zӅV'|ڵ7xN RoN@LwY{u^v Ǖ#=cK\Nę-~,I/9|3:{yD sǤPGPmWϞ٦q=17^A,ld~׮wv,psc̻)ұ ñ j+M&5!KSܙ ߆5Bz1vZք0qP*?7GI?>Q׹v'm0,Kr8='{[Y`Y0$VN>MGW63=4~h?]fJ21 IӜݍ\hk6ebImrlnzQ9v$۠2ރS5n,?8]?CSeیsWbxd G(=wimGr`~>br6_/OrEmTSNQ[&&ɦRfc)Ը,7Քgȡk ='g=jgڦztaĜ3;-ow0p9çUdMIGG8b0w2v^"-]Ua`:wr-{׵(mUۑ:>e759wtVA1/ %TOOgX/8]cns hV;J8Ȫ_r^\l)jVF>.o=;U@.vMht⚨MR%>G\&ʽቢ`2PN X,R8i/|/>\98Ե Y eUZG{\L?tXL}}/aĠSȮTYspzZGAdiHuX&ȭbFohp}snkcA iNyxfxYf_F~sĕ)LWKAՈTJ匔37=Ǚ!n*BrzL4:j4DoW0l(/D]kO5 4~TJ-Mvbׂ;u1uor9*GLiv#"(E7]>N ##WswA;Foi=ŵQoe)whE|v#haXDpc^v}8b'5:9tTJ§ Exc9lj˄=I(_?߭Gz7 =U!xsAxg6[lEKw2,qh?L 1IiVqM]Ƈo$9ݎleưcx@6ADsa:8Ef{}`oϏxKkOG*=C2ХEx1p4ɜE‰R&8r[b mĥ@4!xkoITltʡCU֒9g8} ۑ!SN_-:}I Np2:E ),iaI:(*g&_?E|Sm&htt)m@53ȰQK23 D-_}= g'Z/RkD2%q]mo;?I =K-Dh]8/UJ cwTVrt"6D'ԝf'<'Jcw>]"dHivBȆ*O]Yn1tɖW 62H(xz9_ģNgTHDƕ+(;a,Z*eX$BMS5M)ށQE5P|8wIuA`60.St^7}S-p+F4{ lŹЯ#eM!T H) 5%`YpLKȇ{qܬN1zc'J~ g썩u5k;&ȴ5 aQ@l=mI( aQٹ+/a'o9NE(lj<,U(܆: GQv딯a_jq?r~Y3k-'G!- 6~eB)X G`;MmE9xӽIi]j 5dh:h^GI (OR}Qؾ"-B \4K!Qq'Տ#挱A b*I`3Hy:Y,].>W"8#.d\eFV-| ?!l=T-z,?Qr-K!}{9CqIq8O_I5Y lz taKvP\AO'zlS-gh*}En3A, BݙDS y6mQkcqH._/*D_Q> 0.z űs5b)iw~b4Uk{R9e'mȾ6k$f)^}cҊ,\y3"a8twT,'}LD?+݋4"O.clvum` ,sv\ Rl.PFnPGLmѹ=۬EMLnrA@x](!_!ћ{G0d@W>2!rGӎvy2;֊Ja؊3hj][ӈe]5kաj~*}a؊;IdDPKO4BjNjF9}BWh>-\ ]Klw[ѪŅ]保E{J;Xyc;g3d!nwPwGCbP\v<@m >ئaᆲ/NN!Pxkddz">Q=P9[ Rl iΡ'+,3 v@mr=IeG N$3IǑ)wY<}ummMւ<nEئ: N߬E7BtCd~L\vZTֶu^O80"u < BE}#kxpO* H5`X‰w$A\!&ےuZoNޯ 6E3ilAvyܟ2m\c1@K 'SN"0#d\uɟZU)D^`ls2fywLjnv*!8I]q1#տA Ŀ}|AóSxmgZ҂ΊT ,)%u s@廨@ۺ&7sTZBrJq0ATyy7ߏy:ՙs1'Q\.1f.\ Uux2@ɱy!fHoc.?Zʊt}U|Ѷm\fi,RfT}F/dz~s⠖KWyԶ\6iCٙ?q35P7|f͎O_Õd8Da?*+i15qH VaԦN-H$t;(<ʢdy@ޅ#D: EԨۥgAƇ_`n@b_J|COV%9-Zlv!ssv-Sd 1ߚXT<,4ʸf[0f߹f F$?'(q\"bxE)7SqE~󡁆AbK*%P1rlQz/Sc@YGx]ԣӡt-?>"Vu mC^ۡCPf! G}CPI  8%#9Gr5ԅ.p;ƸMJzS w3K1܅DA<0Aud4iY~?Be;}N=| ֭]ŪfGx/7'&?CR@Sdi(sRs*9r8G7e=k#PE"[E4@yq$Dt)C?+dщl*r[e_N7[FȏPr&𹇤iPQ]-Y".z$`W!/s;CIbWLB,$<4U:>l8gKG&qF;pY˰Bb Hh!r7 )Pj_~Rku&fH模*ƙ^ޭXb3n[8 XQv7d4QϹo)^v!YKVRyP:Ȕm X x·S,~B OKR .|ׅD5[#HDiZu踚Zk)NefFU1h^TCKdY_gDf8s;)b9#l-'iR (+Wo " W&b;' )ڳ A\߫C:WkO>ѭcẊh9mP ~GbMHPwyŠ{`Z:)'N{u8R}OLN:ucG }s%6=4П 5^N`d mU.[r#r J6ŪdbRxwYvJ=.>[?Ũ#G[@Qp,wH{G~cV[B!mp/MS5} '4h\ X ]Ѿ/ǒ >B`V m؀bбteވ|ǚ(RRyοyӕMp<9㱠X,*P3J Iv-С L"IƘNN© TQcL@Oo>K_T?O)LUz!ı7츎ƶ3 $alVOA_4!N;ێ7 ! UE[*!S\xKcG'Exb#$G2Nj[p[z-'Q+Yf/bɾt4=׮}!}rdWTUh#K^U|q[B4@8mtb~2i/<;jI|M Աn> 7Qn9[ҝ;hck/= I' 4 /Rx:lr[P/ v~@' Qg̞tw㱶"geEvYvAFNiZRo%br}_Sι%ƶ~zR/'Ř2ʊ'n9 XpG%=)Ŧ&;: F6[hG~:czEN}T,z5~NƤL LO0] pgW\>Ev q xgh30d=Ս?9nKSD-I჉e!&fN~;`)j\LPs\lR 꾈l?ۏqt^]{h=s )U[ᙒqP[TeBBqNU|UH6 Û%$jz QFJ8! nUv!!/-<qIń;;NLY R;{ߦewt{;"o A>F,<;%Pa_I+Dl97ݭ|ʉHcEO֗_jj8 0qj^wTu5N?E E5{XH0e@s 8†6~qZl5b),aǂ;wv? ')qGk)52@*pӜ:w(C$l'ocahj[)6?RlA)wGX~fY:U ;dq'd} yWL[Uy D4d.=NIn)lDNfKL<|ji gc֐ɪMS*Ӊ'X3BP] grGʣ5s K_#W͌}Kjύɋ)OH_0UcQ'e-;f]~Cڋ 7n87 y[Q\QБ$vAyD-jNU )yO(Rd/f fϾU!_oGZeW;zͮSohNQe>ymC$N2Ml,T@>>"R lߛ'(ix )NnjW^~knx)=Z CFG1rs ^,ھ@U^lz!篃eRƁ ŭ&`vB NP_'MJVFC=Νe!|ZwPSoX6aY*&qrGJNE)[OTF9}(WdYЊ^ ұZ~Ѵv^G#1WUVV A&V! Ayi9~c*T~-+[i=X2zy V{ >hp(=۴ވn8rw Ht##H u!מ3?Κxj#{ʅT%D>fX>^r@r#9dF|I+$Bܠw~Y]]\f!B9P=y@dw-wbu1(ŭ#40-K853zhCơ|wafgI @H7KM 6>ՆN'c]U W37%USZ?L$ +~bT_7Nm[MŌAdHHYx9 Wӝ ZB@-\}>+6Ŝ_=۫3ybV/W5&#~sF 4i3^cyv~@ 6o6/2JeZw*^H /ƣ>d|{vigϖ~f a^אش׷&LZ<=]jڮb@$mޮzgPl"bֿHl7"E='mWX6isYG#Jsh[^zh, goi-kc:̓I!_CBjWPe6XݠHu$ۗ a;!f}ˊYRPR0,z~x-jˉS%_Fˏ]Iy,%?D7+SOW z)ҹ̏FK-{@LWed̠:AhGocF (O44Vanľ7کmD$MmԳBlTƞBz vJfT˻i RGifhu<xdz_Kc|BNh45@lo-C&9A$K}0id8|u-2rR(vе;Z6R̄6UA^b_\TLv}ZDͧ: YrHnRul@,j",w3pzZTC׈+ f HV3AmSA[q q+5%7\ȵjB ]UnFfSw۵9QWggWovA`g䳜;@WpJ |EJc;n!7x(uӽnʲ./MωmRE|wpd+lҜ0U1clU_3ɪaϭ.DO U\#SCYI~X=A[V-f˹a?#_3'(VJ(5kwPkZMxřL#1G%"TQЅ1e Am$DT/p:8}G~OzFTM!6=*$@@ֳ=?maӆ5Ew$ lh?}}zk"٘ౠq)R IegI/϶6 bԢ sKc="0aM'F5ZW[?ZCU]9f(@?N~94 n nr%tv*G&9 ?(= @2emwbleS ϳʴVIo:)I' =yb?2*;F%x4cŃg,S6u@P@0E-.w2ܢ7$#mL߄g؃Y4T#IlOdJ >Öh{~QJ~&?PV$Ji=m#,s;0&)9U8Ad ӠJJ?M 粣iHNlˮ,4Bg: )J>Cb3KuuCMF()Hv%5`C -cB7G}!8U0,vAо_~ cw,/~ڀK+M'|e\W)U$ y<0U#)Dq UzB'Yɱ3EoK'\ f11EybQ݄5gX۝~zGװXW%/M=%c(f{2{;Gm>A 憹-k|5"nD$/nt`= T{ȪD隅P>ϗ[Pve'.=g;r ӣQ.wt/$xXT2nGB$Y:u”z(6bFZؾOaN"R-ty*0y4#C(o>NWA08Œ\w]> L͊v[>~ghpN4Hc.m{EGs2utn6еKD1>X1| aZm;U*Od]F .HؕG r }߁^vfeV٫~jϯ<{ܶKo7AB܎JF|P@V15,AʨkbeY"izO9>NVUU`mw1 #1Q]n3(aPHB! +rkQnpaI07i9˗HS$-wiI[ A(cL0bGJCWP{iVZe|ƄΊT| gsžk(kbf(&qM<(#҈ F//SduذTIV(A<>F94)N; ||kMO(`EL1(عⅆ`#ɭAB*<o Ca>J>58gg%\9 G"&R z%b&rCCxIέ뢋OrST( ەR*l3#37M9 uit'3vD;zKMLwo(x5 ?9"C {d88<=U륷XBt61ƫg)_ ~r_(:Ũѿ%6JQ>N\[ȉ_}A0C3RM t&Df0^ r~dٿΐITM6 ~0~Bu=4rF(f$մq:*\@OFD5F5 `ZVظEZ_ӕB*{Dl3>Um'0ۅ^<79aGcyؖ`6[k%YA FGcYJ>h_iMOz\{s4Nc&ڗn`q_:cG<+6@LjCz pfB6dcћ@:5 K9g)jEd]yN4Nad7OGz6̗-};㻀|>a'ʹ !{%M\A`g~&.@lT9>V!/qN }0 ¯̈_!(W|sp}ΡQ5#w#f2 Up0,=Wr.ݽΦ%+>QnwSFZV7sPk;}2SHziI ;h 6؏n b$c>^s f_O3`{L)xS.Y$f7Xsnupՙ&N \n (?՗@fPA,#y}#d/`%? U4( *P+-|59l|`YvKЯόyI̳K8BΦ>`#.B9&Lt5!45ûPLA32~_ KiGqmof[\ngv7T:)oM^dA庯?ΟVXU/D1> ܦG:xG)uT9$/_ϕ.QZ0b:a-1U$鷁E%MK֖U[bj9F4qXQ&ۤUhMCO_}#Ftv@*7.Mi8o#8 G?Zqa46KI? $Tkn')|\#^SȞ`_%G!E JN!OҪ&pd+q79<`iEt/|<ZH/oX?Lޝ_F‌WY-wG4{rz#;"bruU t![@6*榩p^ $puuПz W'!2zB⶞s5ҊSRYfJYP/ HSMkL$IǔM˷RPv: t^#udPrUbmRYQYHxQÄvrV:{֐Н֞mYw-I m[ Rh!` >յ&mmm^]7yIQtZq6ioң1r-Wae7_轈Yh\-[7U';\#/m~# ÈVpF08&־p e5-zyvuztClU>=пQŃCاhٸP87 >3 /ܶ2|d[8D&ev %,:nEa6 RʻrsQef:ȞͶ/qYkښjʯ稖؛-bT`+I= y>!bZ,I"S -JڥEqwP-m;!,[<+=Lcyz2 m l=P? 34[Q9\)ynqiH krolrxY/IyZ+3560PFdk%йz@HWz9v͑WI+ߣA$G_^ueAjѩ4Kzrzyjg~9֪gkTIb jSUs'b Esf wS)SG[u4O7yG&i[ ,ˁ4 4r*7x#OEahAS0GD<{z=. I82zGvn,ٵX ,eO@; ޽םQ끞Xx[#l9cEDڂ%MfpNӵnRAnjJଠ3P$ AA _LpR$ [GR©yx? ?t}dH@FjK?8R&<9qɖ+u"'H fRrms^ HjGeh)BD a L:x`E#(BE_T)$FNsOgzf8m9E׿.~\Rv,7i+nh#RЎz[]yeM 5F#xmy7c1xl^*UN9X 36bk .8P~4 :iL';'> Kȸ:RiI!UϩOjkjR2O술 (#vLC좟9/*xF+J7\/DZn^.,. W$CTwÄ{]"bő[k߱1Aj< ?.ͼ"JƝi.kCͦ*qsjtcXq=iV Xvu ?AR{e5:RzuR%,Kj>[ۉ2$ȅ/؟R`zL)O3٨xj հ_GL;F iF!I]}Д)&H{؏My;NpBrv6,!%f3\37`a ~EINjv9iwB/R {Ph"9K|uxa;sߡuVKh8fcX/5~0{56t>v\y;ֱbGL} UDŽGыm'jN :5j }y:r]85rb"~11K ˁݍ]+7v)XB_iFgQ^bO4 ٞIiW$07szYZNy 07ִ5/'PzroϏ-!d[xabS)UDW|L/{ 2V5aOFtiX| I}U+w6ZX;'P}Vm.Erg)@*@!V"Ұ۬bK3ġHUTpb.FD!.ٸNK p>\.o=gGyN'[ClgSv 6Xy,aB|;lO>@F\}.0qXU!#H9-IWY3wk IW4qD4|*Bn{݉B$X/`B 1*;hj+v}eN iSȰ0yI_{xJGX P"^>a?-UGcm#j>\l5@|1'W3Zzr7O;NF) ewؠIQg\ñZ߳uUHw:嵃*3%cg @{iYͪUVDV$fHI)j0{R57CHځ+3X+(تP A@I;fN§>f/H4dqc* I tڴn+@2'T&SDE. {ܗu`?/;Ә2w8rYP){\ B^iȷC/u$aÝS>ZF.>0]E0)xw9aES bp @tMי@/B,8*tE-mҞ|3b*Le4 xJz](,n]ܺ:TtUR2 4V]FVs@WJFebN#o_j;w@7Z: h3\Vp"bySoӀw.qɜo?xDW6ݚġ$b 4k^V埃eBi@Om{lgFԭ[zt .1 ŝ)cX$.șF[Wr/PNP߭s_>ow c#H뛈F!C7u:ٌѥs7dFabl>'*;;'Pű(z)y .8O|ʒ{4 uSP$ȵae͵N40\+xF;kriF!5`;k?ӢSdZ,CxVhw40c{m|Qjrzs< Ѳ7E] ևN3ū{@0o-rmyh5}n((b_m-M"yixX\?31(=t9Wlԩ? k\6J*MyL^ىG:v4ѩNAPA: 9g#'غ ]oPkL,*o5!MqiÓf+6zP&@tkޖ!~.[{26!>yސ~ Wؔu1)uK3h׋vP6Is 2P̋uHӟGHZ{aNdv>3>BP97tj2E[@\p #P_?3U0 #n&Fhѳ.>0y ]@=^9C,{˴`t@ӤpE`_w~C2u"۩" a/5G>Pjw!$u[Qb$KLw[feA;]d?k q;)-.yA0s68l*%5s-qR7ds,TGr=2>yi/_߹2e~([޷=yٝPiG<ؼɖ+n\D}qRxu`4!yʭJ/FʵJH. czܰCT6VTgL7g!X"ya jn9Z};7;c0+N'y!=NfsG NfŹoe[|axB""ZjZqV&iZn Z_Ta2ڀB 1%H'\/v l7[i6`[$|E.ʘ7 .4n Q#Q JTiu^}NOw7 2w<uR{)6fQ8ZC"x{*-p\c#XK隓#yBH&+N_ թkVtQc?v%h_;U,84r$KCգsc "J-Yl^tN>[9}?GE6#( w?`f#nN/`|@z0 ^\a @}7ɐMMb$M _qE cD>HŸQ_ҢG A݉V }])^&]'4\`g0LD+s4>;x!&̻_N(4%5ehʁ~QB^>Eڟgͫ8Q0^"K4RG򅔁BL|מWL4HY]~fp[ JkX<̗ج_|c׻Rfj: ">>Zܩ!O 1Yk;vB7UqY=Bꕻr1I٫.GWz[=F1ND(-?:I" 湕$+C?~ mJvBΰbC}dQ@ܰDѶV2i+>P#D~/bH]Q GVm|7b#XNLT(ʄBl/LQXZ h)kQh>R},r9# ]hܙvB>m'G}!%+CeJʫ:lAJ$-v_S.p6"BEx9[yI{W0τ%14-seOmZ:~LOҍ]<9=_n01k}?A1$> QOk * 2OF+KX=1,<%c?3HbN`Z s8 }c+U=Ö#z/M+wҵ 4 wpp0᭤!s^1rghCs䮬z7#LZ;Z FۺFuח#28 A}})е6՞0Jebv}Qx I/ʓ:٬V-Ƿx 6tO_2PꊶT) *F=M΅.~&ůd//dGrß k r(F&uRUtxCu֩ yByxu!iOY6f߯hѳ,EҽwrK!8,Z=)/T]ZO&E\==C4 p1~T[g7rxA8h6f Asi[t:z+-PJ`:L'*)b+o(9fs\$/BH \dϟZ9? 4#LJ+ J /AF9 EvG4 vP4]<\ @hgτpQbJX]ڤآ~%# Ӯ)~i/rnu6RHGƎi3^ag.|^$Svm-2h)vL{jzݖB%Y[>vJd^or<,c*,B TE K֌sV꣫i6/P.(fn,6yPf|+?ʽ߁ ia#8nˁ g:IEsB&M 4T^D +ޖC}Vu|CnCFE fJm1CZbG3FTA~c-vkь~ߒ5:/ȓ6 83C}5lpnl\/[׵JFI7 ڵ혵yNq.yb$IbpeZʁG7&f)FYCa, [M =eQ!kdΔT'K2Asj;_^xtFcxxV 98Al}@ ɾ'iw*cJ*~2pbXoSXC]-OEE,f"C5N8 .Xο#FA+eʘe#IPD~B"X+‰U׼`MOJYڣ]1NGx zfE"F96;G?dQbG>ٝcJ0q0F=SzQ#0( $k8Cr} *OL@"/h: I rg)V:Қ}1KM|$)04w?fs7Rgpz͜5 ϟ̯y{Bd ěgnu:j1.Dg&~_ C(%HxOc&ic=u6m?煐rY30Cv%#cZ=d]DRj8Gg DK[dW\PE%XA-j&Y]>r0J`'X n;f]}oS W-ً1Y8Gn6 &|T$E[?f8pسhMh3w>T4!;_F/ B'P%ze4 D&tb֨.AD |k-`c!4N:=];\kvհyN/6-3x)k%{̩DF"; |ψ NG%!HWS{墵$Jr>MM>1F(hP3M5oM:%dy y>C$<`mSHV㕚EuT ~# EGDʏ2dDq3:J{ggѱzuV;m,E4?yգX zHhѥm/Zjo7j(wKZ# #_̜"7[Lo|Mm(NT`C\u9-ONZvv akgypO&o@?x!WoBF?y&{^|s/uųcy  dtUr=87G;Jq_PQc$sLz1|] 21K>[0F-`1m>;뿩Aw{w\AjYnBoAvm- +"T|B`|U.mBy| ޓ8/YGMssi1^l4f)u\<}oZ.-%pmG"+~VUcG!$'k>xng?@?r?*=+=:"ϐ 8*e1hݎ Sy4PV@xQ$S۲ן ODUUY@bჺM4Ј2=+ܐAON~cK]\"j@,*)Ŋng mr/j֧L&aA=;Vƀ;BRD x^+wbᰉrl5ƱSdRp4ʫd_.{"|ChAȵ d2(9uVhSN$e?ԅ)>ڢun;MnT_8 "RvfVFU h!PC;V #;-q2>؞& eٲŔ>2fLdh?\]p J8 "gc_f룯 Ԟ\KAE3X_M* 'IF%vlbOÜy8+vR[lREgE1'v!ɉ_ ɗ?݀`ڃ; V>m˖jovJiAJp)cm?i%ݩ6 QOm^c˾5&$9a4sxZ ,s%K|`A~-g=hKFY]G f%(BUfE7’+wyꟛW>歏ōB[[y;OY73ڦǤe|N`k.(4@սg4[%(Uf`;KOWxjQ/94bE%<=uynls4\.Fx@<#n%̐ PCτlA&@K0m5acGHb d{>B,!{Wmӎs̉1=~Mll AjA. _Oz6=  KNUD&@tZKU HVMuhK7q,;wLX+!NһZliFUaQK*iF7(#t^Ʊ>BQNP Uk+^!@Xe:W0N,ip'!R!~]qa_*Y؉_o6ѣ,||k݁Lc1Ykc?HTGXGEvJO$Im /]Aa 9&! 5Qڄޜ)k]lC$bf lzǯ2IIGOL0'$nU7ՀNXE ]<7RLV!Šu:F\T~eɠm7i ![ao rh.uH%U).*nDPtz^*#6;W3Ne,S.v/h :6_{=iph1 -Tj1xa#f#1=x溌x_?cI.ē=Q̍j(O0@Rrn|۽HŐ 4`S@j?Rg!VuSlr?pH:g6S_ZXA:_å1z_\!;̸޴_ N"')P (P7/1/)h&?} 8ZDsFGO#+>ts@yhYΎ.I;Lf#ӥ5NMGK[V(Fm P"CN|+Ęzq_1bޟ/~Z]Fr0tivjzqy}D:"i/s$n^fɶ>_U;2;\-  oȏkpfiLL՝f *iOQPHlz\7C!ٲޱi܎>Z$;]+JVQI'zVKF7LX绎Gڷpay#+$좸SHnuj/3gYaVʷ. q Q^BRMp6d,@n4ەƪ,Ԕ:6<ţx Q @%.9{$ϒ:uSKue'n 64{$,8c%&C酲{[N^`|:f9FBo7oTț;u ߸ zHȰ{h&*:fC=z^07zީaU3=E!^Ш E7B?.s(xl`-7p9FE: qp[JS+VBPmkCI<./G2 ލILVhs2b i2=1>E犵VOhČ%핮&//F2[ee0-.;;OM jCj9#o6yzsWk66Xámn\b)[1+E#.q G51 [Cuf{k))Syb &-ݨ*,w >Uۮk[Q3Ȱ)^Ы(ʕt ^b9]ŽwR=IXMUw&?υ b+Np9s* ڪozzh ) >uHKpG@G -VC:/kۨwu>n=#܆ ͉i'Y)coѰu2`Q2j]#,33P#/1n; qXDd4ǟ1ïb3KKA0@p[n1h:O%_כ]Rzj%vy%ruQ<V"i@(Azm#5WlT7$Sq(>:H~-@)ÀAmKAW;g5Sn8r{ 6p/>Bn3"UR14pw^3'$umKD?:c )M Y"hcV^ LkW 0 ÁK*eg3~&!T@h Vn h䄊L00oDnv*:C;Ƣя-0 ~Amvj[&svUp[P[<< lN:<;TUԯ ERnrJ ?vR!t+@5ݝx1nVV1r^෎Lgt_dk ѵ|JbE`'{*`;e;(Wȏzb=Oj cfޡJ_"VA[ԒlFe(=؋xDF'**dJKX W@27l0󘣌U%ЏF(a?K<뛱 zL#c ^~=1 q FR\wS ֵ[PAhsw'S:Á0rSQ=(|àx& 3hԸ] ~aN1TYm@=zb OV|*_"X{ھSEY[UǁD$FgM _k4|++%eudЬ%!cܓ`_=(9vL.c C׷@6c.ݶͬCKFV`wZid {j Ms&ohZY7.HZ8# +!*|K{JjMy\XAl>O+]^L7D\߉0AI< ]R;KF-ڱ9nζ%*WnWRF.mϖ=ݮ 9Q\V0tI- Upм9lbsB(o.&MoE&{+&a/.`$^,lpw}bYx;.Lak:4%Eo;ze Bqš&jRT"O{r`bgQyYڦEaMTC2鷢yC7h ^eDp2{<CԻ$Ch{[;7&kX=nLD̑^mn),Ev8 ;%'ٵ9u 8Jb1oj"#L? 0f[݁|zL8p9eoNCuгB/{z5Ғ9]>YBj]0wo+΢^deay&t0n!ΉxyXܢ *DL2"Uk~!Ã#8#'tQ|5ϞES!}HGʧʂv [%5࿩-UJض6l6R;#a]W|3~)z> G 3y " `]3s8G@bot'xHم62AN0:s佛.5$R, \ 9L-INZ ?Y lJm`Ǯv Z3fi{-֡/)qJ`N ⡼ 8.O%J?䎰u8yG; %Lj=]HǺd|A P!ŕC`望/>\&p=raIyqX=l%YV&H|G_όk[|cU(D' CZMF٘@㼜|\D>'弚&Zo)“gb$l~ESEnB@]u O(Ɏ v1jZ31Ŋ&aUy2m7+O-|MȀhk!9t^{\PA(` i'~k}ؖ2x80S[kn@si<4yOM EWdRH/y]E0$B]VYJ@NVK>ο k4թ*i.k?'Fβ8bItQ9tQdOGJϽ!{fIkI.`a>#bRRR˧cS^Oxm@݄P(y6&9DY0K$,.A7LXKÈ>Kⶳr":Wދฺ6|b3(OśS'H^P8Ʉ -c?pGp"~%QcݞG[ |P 'Jn/zZDj%0x8w$ H0d `Ov l/KJ *f=S l]~hK[C' a7BrY&BUT,vkܡw8aYbi:qO֯G IzT/SJ"'f=Mx4gςo i-u'0"PMNixߺs_d| 2ONᴎu2E=x[k24̀:{쒼7bZ& :P䠳lEȠ62!"v9mB ߭hS@p,^5!mB沁3*١rUݶ%)p"{Y3܅[Q;$,:WC<fTRj"QO yx@D[`FN^>wxGdZ,?U; W~BÉ}. q,Gt"ip ?J׷V&@δL]Ulx؟ .`@xsB+=|V| 4L)&o~6%[}c[ZNd(#t`_mAԄ/a@SX b"fiI6 Q$-FI}kaQٔFt)oV{ߨ볎@U;<]8`o9+=&Pa,X)ʸ.E $; |cM^}w+,'btY~KIwy?G_~Jjhh$,3}XW_0mth9oAղ+hY44$VkQ3{; gb 4b Mt'EEK-p(zOs—Y PìpMC-p7tvI >].ils+8QD&!"ɉ-pa@W-7Oމ^#~YifmTtKᠦ!JaD.{GhmLNnIĵۚ)>^^[Mq8ZUM29YoU`XfkF7cMm|}^7X M9J;cQ p 8]8IEUPDnl:Wjy;eD""u_}Rw, 7L*.#PķAV9&'R6Ҵ)'<:@ |^m]LlPe;IgsFUx,em!oTn_ތ= ߙJi1|/ u;66J\^D==` ZA.韆Q~0jHmgzqp41W0j! v Am >֣ml۽8t'm@^։s?'핽~cPC\3rU^/K )}RمdD _?wyc\~3AAVG|ǝ\U` |* d9xΌ*^H}eEM-EELli7nxg4HUI!PU "33teN qj@,Ao1S%aEfKbbeKhWRq90|Vc퓹؎X!=ag X|+}+ct$iY't3Mt#PMue79+V]j0up r8ys 47טޗ*Y/7sGU):VB ȷwD&MhԳG6/#u@[y^Ѽ 4#<]'ur~$)}H8yW6i9Т`+׮p_}mg~{ݖ5|8}WO#fw"g%duGg[-Ez"##eE%4v/ '%op%r%`^5ȇ9շTByO+ (|B 6+3 lLAJB R'cǪ(SQ֦EeZ = #IQjb޽AEbZ5. p?1z>ef1FXQN7]- e<؟ ДTX& V cS̠Keh)M&#CVTb47 )gb{1Ece1;keMYpB%Ϋ72$,Cﻫ dWOΣ̡?RG֐酭gxDB4acY7Tc sW3dA}Xj =m{>[+f #+CQp8Xo=sjZ`JʓE :*C{b/ȂtGoJE,o60drtn1 ԍ?.iv6(e)^gB//ZY"B -f#V;_? {~O-: ì>pܶ 9$ZkS>lfb\\Cj"EX. 8F34Z]&(3Î.|Ĕ`&>VC&aWfGzZ5YrAQcRR n<7p=9>[Gw=?܋!;KzAYb7gx>X XmǕ,Jx4e"MvȐ`|"g4ߩtib૏Nsj)2oNs#x#`R"5T~s>$yˋp=4kTjf6F]sT{-ϵDћ߰l+גʯY"23kQvM2r =˻R\$ 覱%S;>_4ۦ,,NTUFL1!sX-,M+orgXIGiN[<8ު_]d)yIGbT}oCڬT:-Q^"A.}샪aXC͎%31z4G ?,9|XTryƋ C {2hebnwnISz6#mx TAwӬ5ۢ'dOˇWD"Y(Ĩ2><|,QVt)/q) cR tU>Z-U>\ь>S{2"罣k  T=jOz4"GN@4z$ŶJ^`[- d+<(c ~[CI|948~H2mA_HCⰛFk3^;ē|n5n&5#>LؤdH2^Ƚc1{M'h*vLj Szm<> !ƐIM-0BLDql0DʰziEGM̱մ*L4qF$h!7AxvntEft1ROtم 3 ǹ^BU7%Ktǿ+cߵ=$+si=؇3'huL&PIP^H t9mޘkT2_)ͺۅ ں`f/eu@cj]>6 @ ʂ;t2V'Cot3q>Ra`C^ǣe H9Nlc pۿ:G¾4YLvwXG}RK([X nO#FeJ{ BmBc ߻_T 'D㎲\RuxR*3tJ=bEK4)0hIbmF1kqi92{oaA`0&7_(hH;d/Nh;2߄1^UoYT^Nm!ifS'N6],vLٜuRk|ҵ,a\\NƵ1m?4tYO,s?" u &C/&c={dSSTe!eWm}jn9̀f+Xnf ѐot`ݑE,gSsn$Ջ/#mյ_]Jbjum1K>yژ O!ݠ NE(؞qXn_y=噰if؞"Zו4Zjh蘛_Wf[JthWwG"& eQ} Z_G U`2̌E5 v8h=KDL;F^a;ۡ/pCjW`U2 B75z׌˿X*D4.O}!̈́d!v'`Be8F|ۅg~[K@'!k?̩8wd|).ݧhR<60wXG߀lm|dӎ*RzGIR#biuar ?(ay|X7TQ8{d5wUY̻>M.?&. gOϭdCBE$(aBQo=vDW3:F2rW!Y)WKknw&N> V#PN ?;K\T4Wd{ʆ8CRu-GT'01n(g#hap>7} qu#uct}Yn@}и(X눳%Axz$<\8fW:EgIiET5M_i w/4y=cJ^e>d~.s5"R`Մ v=ľVZ;@]qG8YSdT񨖵byXց\C b΍Ҵtq=ρDE leѯ"8U6Y Zo^K-2H-A\^~o-U'_im3N}jd\4'|YGIAa{UpGSVca軌}:ƤxPdĩ&^D"ވcљmbs@95ʽՊ[Y*q Z)aސ Ya<ˏlXT5sۋIxzpP"IiFзi 3{,"Ep}a3a,I-HvӇw^G6PGF&:\LMߠ[XZ_ןgyaW.G <6 j܈4"mQ [ :TbH#sa[T.N^/5.# T\;Y͕8n,wX'Ýk~ǙR"fdJwYxha3`tC%W}N5}FX07:!WyO O:IXLODx|M4W,\{1Am![9*neOG7O]2_&;LPu'v+T˫I@l,"</$"JvElz>_XA9;O\`]Io" I$dd7_F2aQF!W H>0^OBC6v-̎ t5ecksHԎexŨyNQ9“OC䋯^SUYL& \.Z`Gu5.9s M7l? z? T:bg@ ةiv<hLd}nE\sm/},͝A)*&Ի5|l,14^qM+m~,Iڢug)!TDC\+r"_r"J䛺+pNOO@G4DzG@" jpZp !1EP}|b~&%a4 &ǪQHl8va0+Q@UHXx@t}BE&92phM/Zl fYqH30 `a<0O-- u~*h$A!aŨ1B ѫľغz)Mvݙ0Av+vxM/ orBAXaЫcXT;)-OdP:TuF]saFZ 4D3RM]7:-dpj s`>‹!شВNBfE_6N]a՗t@RDaz<蝹˛G+-E8Nt9#"0/E1B1$lΡ4=7qeDY0X dNߘZC')͍+ZV.0t)^aR^^ǕW/ !C}cGjN$#$wO;C?za`IHc#՗PfڌȮdݻCʋ+oR}Tf%\LY(zGł%@ID P,ۈ6TxdaANsc;l?mdY{ڥ|A T{$APǔu5{ ;惽j}0E;jj7KA{+P$:Հ-_~O+R Y_FmDPUCX6EΚ&~ZAy'|Y[_9i,B/|EcJdl?h:T-oXQ/V9ɈmWi| pMxRЦLĚt"Ƿ{B71 |5e.,f6=ޓ^5QDx/9ʵ˴@!Ȗ f-^owAHxLs\ )vc~!u\LI͑2O2ͺiG %L%Q=boBzhla&Z~M)}} C|q:-?:LBd&Mi_; C?)i(iFDEJ$gJ`W,eBlvKIfд<#j|B?{WJP>Q>w5qe\2̓;݉gG՝01xYlS^hQ}ȣSNu=w7yDcH*Gxߝj1(B-:%$.ҝ%8 J;á a^v "5]8(xl1į8./fg !%4[1@ {BА6dg4V3r/!V(eE4&gOR)㔉2iJTN^W{t·U#O{-5b Oe\u4L6Q-'Mnh}px"L_ wBm ~=gՓPuRmMQ x9C<P.>1ẅ́~ctNÒzWGNuR!Ch& QfXGvbkq,`U3n ~rWV 1s6rwD 8xd[Uܫg8wI#E_bw #f9_Jn:d{-3OpE}y%%_ wϝ}rݡו͞η KUzws(+nggLJs5cPvC#ET+AtQm`8W/gr,&\nFᜍ+~{MՋoFn6#&82>zSTpxfhC~YЖ+D<2,H)i联(AUU \giBP.%M5o3}Ӏa5SlEq8pXv>gXmg?*GED &о |+.u)r6 ċxiZD>T'ݑ(Ȕj+t5;ER sv $J21?g|c9苣 쪖1B2@ma!gqK`CЯNbEf@D|3EsT*m|73 3fONAUk%Xקu^a[#e+?L5N2-h(Prv(j@}>1jO i,9rQ6lw mn3 П b{%W|8I@xA};$O՞ =-. v|W V{J(E"Ʈ& ziX,s&F"o f`gsҬDec'u!R*㽟/@Bg;=Y ̤S葿ȸmkܓ9@Ak~Ml;zwHZG/tn ?}ΘOgsV"R̘F/)ZFpi|zPQe@aOVBG$3Ǿ_cQE~/0,čJF)CqP{ix&i1yȡJQܪmO59Սe0R\+$1iZ%cf@YH!e9`%Io,̐t3㮡Mb7mXDahtdgcQmjUd(MVĩA |1=KW :y~ YتUQפ$yQ2#VUӦh*1ڂ|Ia8=tڪVO9ZC\g/{OdK6 !VQtRKҡmMި4z1\RIKS2mA$`lqt(O*Ge߅mS]!f Rd4*j0S@P_?}|v[\l&%joqc8%=0$%"f!;{~B*#tB!'4)xg -|;7"fS@64dmv_)WK;Zz'}k﫮#K=: ;!ղbU7"oK J]kP ?KO|W(EBD2{,\c\7:(⤎?cM5,sO!历dl$*Ɏ 8rEo_(|IOsEandzwwݲNm= vP1zRh_}_ɕ01&w0bQ%0?sl9]0m] 57Va8"_]UG{q?&sB>prr =/Y5Э$-p΄g|J#ŝ1VKZa.е/`+[2HwY $̰tf6nsQH X%)9"=u* ^)JhjGt @Cíp#_g ~?T>(CLIN~ƿP-/\% ˜s|uw [?Nl'')_2uT PŔld?혧J%RL( h(hc:9)Mֽzh;}x]($v 2[%t$գ]P5:Cmmحw!£1g@Oo}=0mBw z*A_%H 5x,*LN ήi^q̩V&Qh "$66 hKԨtn?䢧B2tBLj% p ;M{)my;raH5-sqc7涼ӻ}P#-[< jWM YƎ3 QGEþ ي5=a;Eq9{j%*ݤى@EO,j'pv&epmkI~bѸf`6!u U5&&`))_dwЇ; !ވ о=ER~$an}Uο՝I0D} gxw^?FgMODŮg[A~E"B _WX/*9#*vs\( VԓF?X(vh0O͊Q_o5Wl XmtRpv>',@a]RDNs憀Z6$xȐ{uE1I~*j; JW1@[^o+-$dڠ>|NRsͤd>XQ4Qq0-j"GJzUN@.Lڢ${ ,Ⱦ&G68 ?Q Z5LEy-bfu`V2(mʐ4!v>ra.׊j6\@^BQ%?\syur5CG'S=+kFy'pj[ȋM2U?vz tV1TU9Y/|2n-HӼ~$fb g[гٍtZdPwgXliGʿS2ϝӝ`t0$VnUш=\N~bAa3hP.5Ag9޲|$ dZKֵ?<ixVv߰u8r^~ai.RؿaF:9 [ e:Z.mjkZ(F%J{4oFQDŸNܕ::U]rOgT9ELdWƘ/Lm}D5tL=*DB #:oZT)UAI $ `+6b5w~Qb?ҲZYwf? bus: J 5>J P1÷yYSg57~%m~d_i uJ]F16zLn'$IbN cDSMOSIӧ5ܕ+슀=i)Ua{*F $r4 J%=`_L$٦{|M';ifGzLDQ9LQU d2ᒪ֙GP%:e^KV@>Ѳ\TEvAU,hֱƾ;\*5+: eQNp+Mzx7U(ՍSQ/cF@FAC) 0'e2{j˽8 X(K(+,(;(*w &-mfj2/fjz\he\ qTdkYFyrnSVhQy#/U֟j֣lmgRzʄPq]hZ:/VCD pT<.l EJ +_+,.9.vY%mmjB%7:P^igyT;f _7I>qVg*]s9Ӈ`5DwzpsR#(HM.{#*C6V5 >r響{$n&C mbf9OEi6MZl=trF>3SRQkliV FHeM+Di\ 䔼sS-Q/}kp̊o۾ʼn>{\Tc?΀5V@lQ;K! u .G k=)3-a_pR>Ou}$z l#OG~;vOYtIސ/sbfX)ӮEĪ+n[歆|rV#טe&vs6g&"PmbE5\ ּ[ۓ/MT{HjgXH>&h1^ Ud<'_KQQ5OɜLq"&k0?I5( &.DyX]|~eV ihK> j/ҫ>rް׼Jf_(#tcΛ}ko7Kl {ו&\W;y2gBbN1%A v΅W!V UdCWNĹV^lPȇWT3:+ϝuab8AH"v)4Q,M_/S@kAYm6Py|E#\du%#3%.~fjmo|{wm?LWjqW}HƐp{ Ag3t\Jv$*_ qG,1U7?kr2vɱU{귺+]LGsM2௖bt޶Tچ6b#|atvPeަ$,D+D[go䇙ң[7iѥվ >*y!XMe{NA1IK9 A9w a De@2 ˛UD񉑼lV.KсtՋ?h'hSHC]Ikǒ g/9KݎJi=AE<M&Hq *a@j2dlidd%ܭto($ d_Q$T vYOc<Ũ=l(|;cb7ˣy-r%7fa _J#z&I_, U6bbPy}*%, ,N)msxb( UkȾT"?4ol9, C[;6f:gi}ܸLI3z= rq/*Et׺` F M~39p~44Z[wUv3d/Br!"C^!i@6Bfև /e8Ϗ>k4exe^5ȻL 8(FsOǝgjtxF$5Fz>֮쑔[ɡ{SEm=5Рfﶥ2:!sU#*dX=UVf |zL {b`>k&;YίP.^,f*{?= GFC݆6Wj|WuեF .B0@9W<+j00lO߼`;ߕXs@Afd0옴vѣW"Rb"9ْ,T$?Byh\{sy,pRNZM=pLÝ* =}o"&4}pi`Vl I!>k-S;&- pHL:Zjค[KPXqx껆}$4_S$r,2 ʘuFw gQX %;{-/Ij[ ?/1+56FWsI's{ ^A(m<؁u-ui>DwYAv=R^Īa¾}m3<ɂ?3N@ ZI21OpXץc6mt}HlV'.!Țm/>eE8iiPqH,)0,*k 'Om]gJe- iFopY"kKGzܼ}bsԅ w?#chVFY)ER#2WcoZ鄹t0E]5[ٵ-EW#.~qQl-IMMJZ!+d&6qҿsݘ9<պdXʈIGT (Q/-?Mq?c(՗ *k h&j~hqv=I%>/`>D47u1C]%b0 4^#VΜ|M.gPKa̭PjXy_<"cWu#pvGi®VV4^4XD«*v]ib6%$;~,k9ns`fGl'k3,rcX&nL3(S 69(37>a '$НLxރ`gIg%RBcHL# .͌IPHS"gtj*K?[8zg+>LsRV2~>mr?Bƛ%㱃g:Wp`"q $?T'lIC6 kmVirhЫA,E0 ]htCSҪ+ӕ nF\vxSˉpV4s!D >NY%RoZgp 9,,fc oFԪլGTtHF>X5y§,ŤQ uNB5ʥƯIF)A4%IT΁A'! ֈDILVJ8ٿQ+{AH2fïH\N{Ngz<)3kGLD,c[(07C0-&dCޣGz@컓ƌ[w- *v"ADq |[sF+?څ7Zw}n>! .Sx p~GH[&19}'8$)m KJW%>c{\#89ͩS=NPEIރ8U5Ɂ+No "Jw ϭz*Oٱ4sށFmݣ\OA\ݓ]jDP^$עBL96Hn&:_`CƧ|(0`n9C6M~X.B,ΖgCvQmli*H\+ZL(n|'z)lncz{Nt|ؤVdY{!mkah) ӶI/7Ntp7u߬WA6b2qsʕl1 >S/jX7w,aڝO~rek J2Y *>ޮ2T} qt1#nF&n(mCZۙxi;9E.[?gT۾oLUsjTz,Tohs*$.li}mUO/)(E,%ᲛHRS`JaC$iID !(Xo ̙ $Tu|t5WN~fztC<76}ϒ屮dXS,l@%ڄ+BՓMRIix0xpg0Sj7bSC_M H)-mPe5EJj8Ѷy ym4D{S,οJRA$V|7^vk}s!x +Ob* r_HJ*TSغ)PVMitCE,Z7o[BZ9S"teL4'DkV ,fW]lF"< W7n]qmLb896.05`3k:TXbnb$ bvށErBSeJ7I]ysvD!9ni 禮ԧR tTlixSsWТ+G }Gw-Wv5kPüZ6 #I+_rs2 Ábv{Ł1o.Wi:-46# 70)zAu|sz-26m' LzM}RFPzoh[MZpܔ P*YH߯LOf',;'-8 _ӨǼ AֺwLQbbsoA}#@Ttb/IL0 0o-`~cCj8 d^-HQ'Ӏqq{][0j2-U̇Kb%sE0  ՏHq0ӱH+$J}C{F&+ W)A5E9PK7,QS o3ܵrD[g#f0e$(keڄD[Φgq9c2 ]76)ԗ9W#yl'Nϖ$IVPY]V'eźx8ä糺y.;78 e`&e A\C\_T=4󬢎IY Ϻ8.U7싲 Z_ 흏2ig!udьx#=tڃK zwXEEGqL6:&E@Re;jm3ꘔ_>]## }Ug˭'M8Tȹ0 =uu+)G]MZuZ5&1 og9+7@KaĶP(i Tg &8|S) n1<+Xc\Qq ] 7fpyaK.4ed?ѤO>$z5IG;r }րU]bg#rxT;2DGÀ:;t;vo}=ꤡ1֜/, e$ZO=G ɟLAu1/2Zݱe×2/C7SNw}Xc^,(\oǵ̿ cFV|J7q p;#lPJ %}}-Mxioz5/Hv7ޤUqFb|K P*ö^b=˞MHM'%3q>Ƿ39ϟv*C7ߕCbTeYF/5@EC+H\Ȓ9i=(49z`T1;qTgL^bQVaӜ .v!awvoG#U, ƞ2hr#Y^Kt.Gݒ)v*#WCh2⊇؂WgM& 6 VI`cR#O!_NES +O *B:-@?鱥V|}ô0Z:O9 2sgx x,+k7 sab`N#`faAR +s(Jbn (C[AK>;4ߋrQ r_X$,~8@yVF2~:jor AɫaTJ$,}rKgǒlWt>?7Q@hSRWYhc[@P Y@N8觊EKpL }+M7x1K\w`4 r B| ,wqë^WbIl2My1|ʇ+!'ћsGS`XQ:˚ #Ml%K6Q¤H!KDTK!4T(|*XhP 8HzZ|qjawO50d}/ ht=ݸX~\{Iy7'vh !&, W脡JI]&tMDc)o71<OP Pm7LF5~CKu!]ht4T82qZt zt9pꓸo/w0u8 bd؋ `n`Wݴmӵjc+"i|?#9278_#&ЌܝzR@dGܕE*9brw$iљj!30wʷ֛z$2n\߯ziBah8 p j{ tClݖ5MᜱT|0Z-J&QWt{vbT] [?ŝ//kJt6UF_66T[aKjv_ ^v<ӆg'դmD$KnꥊH 1 /^+ȹj&JV%p=*C"DœiQnG"m!tJÐW8$ooqQ^\e-$H^O]cozxxu,vc~H~sS&eσ Ʉl7]5_vXO āLB~d[Y n^:m?YcvT,%;?08J!aR:*-\e䄪 Ơ':$V(ayVBZP1N $JXh[W 3cfۭH)f#D9꣕(h25}֞]d(~4i!UN{MLECRS)a벭Ƀ؟?-Q ([ Iuy7NYEIի~A9ʈex\#s9dd13F׀ ִӑfoPۓ̛IF+H26fin K\URw<:Cv L<m#h/-FTm. z0, Z ݘ<6B=jx7sňfQPű;4c#J& $mڲKsE@N<e@QѠpu;.RNi:2gDP ?)o\ۮ'vqff!G|sᕆzzάl8#&7sârw=˭ W2j j3B&:FDk9?^$2X t{.pƎC^WrQ]cش [#0wUK&G C8cTTbUe7i[DGC֩'-JZ Rz6PLw0z !4 s $bX wal!mG#Ñ= pqL=V+qm7\xU~TiRvȽ ͨT.3XKyp*:K>gKd /%Z.h?na|}Rm١ū֦a5q,)(oOG n#V a.fHe8gڨvؑn_3t!5VCA:ڋE/auS Sge|bcX;$kwx!Cz%Yv=r1homZ^Z!͞]U۹ ]S|CkMmy[m Y' @iYmP-ul'loڱgC<:c*aOB\K$񃓣ߒ}8wdRd"@e.I8| v$5YЀkw^U:Qc(z<r^ UPTJ yz俪Ho3`;gVNm!)Hk}9 W9Lj?Ñ dqذO@h/ԭ_h^g%L,CaFF9{n_O^[H\PKY9+!YeXֆl9EӸLoWR7D9Sv<'HVp~ aO3\XEfv,>­+prr/GHI^ z=3.gGJCe*uxe{1۫>k[p~ H'e FÌ"R9[ nbSt]ц6DƒH}(w ӈdC v`[!)Ӥ \X14ye-H٭EoLє8:L^塃L}F%^[ԥqEp.EŊh$x-[xѰ7}q:|~F Kl/O%]}J^U\AdhXl,4K9X`Jm.=he|͞QJo̪GpcnͅwR]UR"CΫ#xC!ЙlJU7:+ͨI}9lh%6[=[6Ntƒ5?؆p7T˝0 Nn=Lοv0K Ӭn*y  ϔHf&FMI:j,Cg; -G( $qu-G]S+!' ZOƒ̒T{+XH!SԊ֡[WNB74ґ *#Sv{kz?CyS@7`NRNEuw%%D.i4~L?m𕷍4\ifwW:VdY Pꏪ._Er,.KMA z >Lпp޵]yPSm ?,+It,7XS(2@U7?ZiL}#$b&ex6ıP$k|9.&M` HHtJ7p(y|Y9x.OLE 1rd(tݿ1jwvt?p}ckFh:7^{B 4w[7ҭDKz7~'>I ./ EQ i`X-_=a_[%Ƌ% 2xRcNW<{4WN;#1.ߓᑒKa2Hoڛn*K[EŒS㣂p̱:)֩%ܘ^{~"o3EQUBAH*YQ[EF׆ 䎗DDWfpyAs}D4X?">MbMJae#Hi>~XG$!r1h«zZ)"8 (e ա53OXm^0mΤR*ܦyotW;+3g@CN5D E=7hl 6]\KUj̪ RLYyF@;~CJa1ڔ?0ӇщV([mhzkg6|PpR)SJ$6nxs" 5ʙuc|JTl̟'=$36 vo֪%o;v%3PS[DLI {}O fߝ4I9 -:3CMMR1p%wMz0`{|%=E,`vbg+;h[U] W */6/ͦTz ɤ]eF}ELx"-v*B?"X]-b B oPK4斴?{Hzʑqsyt,o}Pв~;cL|6Ma ҝݨƗxޢ}xKej/#'hJ@ SD:rr6v-N Χ(P (thL0pah@*eO`X2B1MF6zKU2R|L%8޴ ѬY +PA~V/L: H֑x3'3Xp"jp uRyFE|^1Re~wi0ӃXg~pTE/:ceGӼ%==J$n{6n'cD}-sDr"Bj~3-!EμF{%>lV17)yP<颶+Y!\LIj?3PpU?R9;;8X3.2>fJ@6<&ONݍZ%_8FLd 2h1Lɉdmlk)yO%h<ҧ@sMW87x<3:ͭyYXib`4\dJr,M)EF~oWՌ Ȓ($5A$/+UWYJLm'Q~#)KJN=*M =K|+BAx)9= >30Nmswb',h(CYoUySzն8]ƥ&'DٽtjҀY,[Hxvp󐒾O(H;bykDienȀYT!3ͭ](ӧ jS!#>r&q=03 CR"~xVk3f*͊Gs} aR~GH j̯.'hz =($Ȋ= ߛe(Gva+Vz&|Zܿ{[$'/^4_ 쥹t~!D4x3̗g<9p , ,1Y&hWnʅ]0؂kJ'ǙP>eSXXm_<(_',8Q+~c'KSjƬ8) 35)\OԸDf[@QK]@m vd8/~Y^h3ln)1Y?t@c)Op僗ܒe^QZ8SZiCuvKF=**$P=?'wß0cUYCKjbntqX]()oIMSVRj+ CGhh^U.g dYW jb0߅VgW1.8 #XcR+ڪ|Y 멉mE#w@|qŒzw2c'j ΰ!buU8GT_&VN&?*Q+|)+WB c(;; }( A* Y ]k519"ܰx;9MZ-n8b3k"{C—;!3C6zfoҵѣ7@$܋!z~6 iw/{R?]'`cb7 {#Mt#-?I.~Za~wu},7`*[!ރ0:#'6cu /#2jve{m+m"e'7yHS* %"I<{) [xuBS-<fVJ-,deD&fuIt}Xviw @YeNְބG~ia(HF ߫5b}uE5Q_OG >-!{ _CP΋C9,â0]U_7*{oJW}?Kn;J?UX> 4<e^pl=4 CʦL @kJv]KQ *K j1lظ#k[4d|ĺ/8w n! 0jwFu =-o:7Yb:WOb 0ml\td6iCq l[kJ?f+D4 >-!aD Rb=Q[Wx=kL6 ^{M ߥ7M ZDvť$iE3J_yhRvÔ\ا^T/de~: "Eଈ6VSLؾZԚD!ä#ȊS,CGGvu-.uX-T];3 =cgC5i S2|'@_Xع ja-$ Ư./X&%^9_Y }(xhiOUWn)*PE#%K 0'[;O& P5eafp*-E, 9hHveC[rEǿ|eaGX[2L 0?Ł-3sD#U mW,Nki> WE.UQc1D03E\ul'R ѽ  /UXgJYW2C4SHJGi6W.52Z t'U^j-XXZo/)Q% /8Cv8yE6PM Q,pEn \09A2^ zIμ x%eC%[u3QaiS$M,=禃(KnV7u!Mo'+8g vbXH#_`&o^b!͂`]U)?4$"F1Q_HO,t}lEko˙hʝARQh3*9Ar38Fê+ZW^e[*A9ҮINZZL q )-d=*Te3 ` DwFw,5N,:`yb[baS܇ C }-}ӷrtĝOCВZP~/dcpk+;SCC':mduhy*a@[I f53m5K7zPhxR! &܄¦Y59y$<][ ,MVimNɅFNEŗ@uOu 98 tPzn2"`.cutYqy_nOb&r`6  Np@7* HM7x6aa AA4?zEwQ P> l x{EZA5'w*XWxӵ ,D5,TwI|2뷱W *h!\ @.ҩ=JKo,p+PR0B~׮t{zB zRc?O-SZgK}#\poi yOWu'2G#Ԧ ] ^$-\ToT`/`iFN!c/34f mt+|GK#2wt<[AEf+Oc6T2;BzFk,@]tI*Rbe RmMfP?DwÊ4N&\ϡ% 9 K #jUt>O87&WFlr#S䔏1 p'ڹr/ZvE-0_#JDYx!jzYLib(6R;.Y@8Q9 @Ѳōt(X;}4Q$0<džN0#-L0) dˉ=5X63QZ_g_*Nk#=$ #P-6[;vh"M]1Dloti[h$.dhkkML]8_j=5-qt- E;X9/7d٫-*KR) wQ3Glvhf"Ka=+сrh8М@k؃xEN HΕ~bG\M$Y%oh(. [%/ӝU&]p06ҵTH?n)9/T=BGq,[u7M=!uNpb/D1GqY-ƪv S@>27keYA-…N2ϑ(iž؛&ӊg#87&(},ҁ][J"8r}~}:Tgh"3T>a:Ef.Γ _٣i6/5/E=<"WBG6q?詒Af8lΥ @u|NSx)POarfrbvU[2J!YQ&`lEe%40vGFN7[mNu[~\\> UwlC&2Q7Ȭgm49 (p_o ;/|,`뾰9 =.n*` az&GbS7fGUW&,*'fB)1*FTVOQsC06w:OAB1'ĂE{IEE6)ޖ |rF-SdRWZbcXgvV)$}`FF (gf>~նr3x[S5Ж#Eս>s'( :rSԷ.uez֟'ak.O?^$돟Gf^Y*--.Sh[7pR𧇪H&1Ju$& n01{ 2 T;o7]HU_&~;Ƽo+#ZQ{TKH zl?Bv@>Ae L@PX3.%ΐڦyvHLMerK(:Ooӫ*#Ncښ|xЅrd0[ =SN٭ ;EP0/<5 \aG\J!+L 4 aՌsNVB3;Rsmݸ 4-IHVAt/ySW5!@ &̍%tGte:$|L'.tTx2.WN/)ҕB'?L]E $WӠt#0QrӱCͪwi.GMfr[#5$R?l[z{ QOiZ ?JhW+jE_ҵK*7[ۖ@KLaPu֔.{uv m⻳ӏki$ ĮI8L?=/ny|)/Җ/59 ]]0a뫠^QCWlB@; !mr˜rS(>S;֋)pDdmj]E^N Gj}bBFU-2&\;Zb.C\M`-L1AY_)SHri^L9v*I.$r*CyCZګL*a˴'5lW&f@A,쪄LZey}%UF'!Tk]-ķ͝xv5Q- \6;}L GKHW{&rFv-JChp1+ rW|xHP&jޒjDT`FK6 7Fje~_q}eBO7Σ¹LN#js(( k_dsA+4a!g0ФumP]FD9ygBeHgc!PPѐlKIӈ~sY~gUqpQ$kvLt}X%1sKNH]9aַY!QS3B AϪy}H dlIyqk}40RO<1˚P/qs'G XQ[%݇/L^s-#o.GF|.dh٘Fe P63p Hz6ajTeGՔHɪ^"LQuwzIT#o*ɏ`f4F)C]d[MA_(6u}[k+[CՀ>#}HϏ#sx^*nn:#ORcD9&0YXz:Ѣ%Ht?a4f^@YY ,;r,19ʁq̞Fbvyd] -K YLF?F4zoNU?Gu?Q3wU3^Sg3F?3~4[&nCUVr#{B $c'<*Jvl̢N|˖5vKݙZo#GXݭ#bby^Dv)}Ŵz?Bн]8<=è!Fgr!Hﭙj31'uՈ\˻ KU$Vƥ_q`:#.APIƴv~GW31IyPDC)1ݡLB?AtP*RJ)Wg|fNY"*nxDld'\kڼg>nkSΐ{@e͎&[&< %K^Iu/d^_щnLI>~1-,f4jsOʨ[,s AXX``!bM*iM9P}eyj{Q.uǽ{h'fm=Tl{5(c8ZrgOiyhlܾ=w +ίY݇1}4r5~o7 'LQQhډUKv 抆!#2l_;J&]$Tڏ&K,ПtP<ԤU!֑uR35m u w~Ybpӫ6odRn13]sɚdƻ}Zae'-ܘGD8O)a>f*=iw||SDrRe7XV^-E=G %jClT]v"Q:X'$Bḅ4я \P3al < 1kP \wW*XZaS-Q?}q6CwR9Mxit^Pfmf:uvۣTy dk-8(YN INa{.Jv ƭˢBN?5=Z=,ęsCX h@h>Mހ/t΋n3Y7]78]fn8]y:"~_$+J $cވ'rq&Ĵl«&qkm6ISjwa骁<.ئ{U;R\ #3hQp,UH8(@IrQH w^.]'V6v4QsqHwvi?0eh{q\Pzs7])N usX"V>yDz X}vI+e&?{Z3) r%kn)NHVv_$H),^sTj19 4"P;?x 4) עJOf)U86A "{wsUe`vn3XLg*kVtVHsvͽV M޹B8|`sZfĿIŀIsw]Ujit"ZÒ(VX EA8LvqANʈެRUpR/E\e*i 4Ó;{p ׌܁"(:^B4/U1{UŒF _}:Nw.QHuJHdjx:LnZ VϋSv %74S}K; (􅝂v~!p@MA^EnÎ3H%)cȞˈu4.&V.sOd=uظMP&ՇnJówv#_) 1F{aLz!+gXo=6ۉuGnsm"ցiuPqП]@PÊZ‘ddl@mg<3-?pzlxT$ʺAleG[u_ 6|o"<ՠG d8^~[sO692U_$[H%@ w5?ʓ1/{u\ mamԊD U9MԆ2_헔\`5YHGIfy|wH[vDžS=@I@@/0M3}b>fdH\;2Iic)q }W[F" nQm>0ӒQ!bvB͓oF.@Ȑv"k=<kȟsYyLǤp pBYHWn*o1Cvaq@n:TDcllPʛ 9\>j1n3G[z>E_ڔI3s8MSP⮀7֊JaD:]Q,hGe@.=j^boM)'Z 6v_?,ѕ'/ /XF?/ fGWx&?eh@QҰΛv^s',,eo?\eWseMXY6(;=0lec<.\G@AcmAbG'{QK2TݥJT?K;JN$86׊h~n!϶l%bÝ}-'`dBZ1>1ɂH& gWX/I$i/M4 aaP, HK(vk |j=$<ȟmIazVP BTFxz9F- Ҡ=m&xȤUL),q7|Z H:{wp>žnj[yOd^uUG@ n.!#qѐmd\ ?r@jA`R3VJAMRHl}(z-A8.l RxquFQbpSF?b<%>rY즶l71S 9W pEeR~J XU~t$.,Yv՚TB *c+u}jY=qWpT!+}:EJH୍kш,j ;SH]~e hS_v?w*Bm h2Y=aPPsw]uQ]`Vm'vL@ Z8P=eXEcB-) ㈙F6"75DdlEjc`cx{ZwGBKw!Oi]9kWHlY,9kv. tZ6_o<4P:;e«kJx7m-D&-"5s4:=x`p(kKO%&v2,NX"Yva+2OG 1SbP*@N;7-8{z[2=h &x)gK\PM4۬\eqJ4 *.\l̜g>6+yƱIxH4TۗxG-|iO8sVq`l #ЩO>; FrDI!Q{ g~i9]i] JJ  ">f.`':%N.J# e^DڏOv,l9ƔOT:Vch|.y݇@י3ziu{)\J_q2IqHk5^u-Sff-8Va 1g_e({S㟒@mRٗ3R/P(Kz? nƩ7͕^#:/߳ |ggaԢ̔/)+pY)DΗ/CltK:{ e'I<Eޟ"IA25n^[>7jG J?ж[V[y$زrNEIn [x? gV0CgP^z+'6)J1ԁD)Ɏ+DIt>IF6db ܗ }`<"in;~R2'} ع߯>>? )r \"T3`]z@MEY'yr[ GG-my_dx 4]hH|#J@~"BZ2(F]C>n_vK՘3:YzCTf9Li3{)G-Gs +_C`]gt&#VslS=TѯPWǥ%zgx@ttwnxDZ'p6k(Yu9+{ڋə{N$$/9~PI__؉#H%x;ຍOurpL}r g_3֦2Z]nU|YFj% [_)l/ؙ)5K'wqOB10Efctrhd'O<ʈ3R{juu[S67\pdr |B-sBDPaA{,D>Lq7@I>S܄P ڷ qv$EygOw}vrs%cU՚b_lF䖏 b*C'J SL[>-FʀX4 Ҁ>- yA _)A$6?FЮ%.$7فHFn|J96WGͲXfS„E}tΏ K@$JE]1-~NiTx# o,KO3LQG"CS* 26:ȵ}*]c]"q6C@ykш ~[oƩoΦrM3IB='Q\_amQgm``ehݾ*)"bvp_yE'Pg9y_^'_=…pu g}i-E4J1V-~8~ <'wR$lǵ:^Xbjȣ WFe) z Ԁ@5푌_s[u,$DjN9"{ )]d3&ֳ]KciIC}8zu/v[8eo(NΞj]6oTT]T."^{ ,Aꕬ.0YG_bW0ʺZ`bf7o|=S/q?HG  Ovhj_ͫ8*k8m8E=D*G!^3S|Cͻhjj P\$ȹ}gYIJxf;+R1NX1a1Owf%Oaݚ+^"U*gd ao;Ю?6<w"1;@~2RQ|9D u7u4j'z껷^#l>vEy1dZ;]/Rc:s9]ezl'p]RH!Y0s; Jzꇹ?. ʨ&V6PXoH"= Rj @;m)|]ĵT.M tBjK8m9ӕ5BMr-U5S@3RؙA{A"/MeiL ~y(]Г28E5ofKc^N.^~A+OU6n{,97+oEYqSOnB Oq(.GX8Dbʝθn[Ϩ# e _-phF0Iu 3Rc>(c#- uf}Cegn8w8ǍʒiHbÇMOwP.+u]PI+g<p*UžA TE}j;)÷ycI ddMÚ^l 6:n)v:HM$N).%֢2sqBѐ,5U|dX`wz;+*= LkT VOT- J<|K-}%p[O0CPÑ M}Mp=uL4.A]rFP2ySECU&{o+و{= Z [FsLf}fxP к 06Ih5ܦN݂4~MX(d $GaTXѠMPlxO'6cjφC;g8em <>.L{ڣ&I??erf#[b<4$ݤn7 <5{Zszsё~@V m}!#ҹFژ*.Lԅ7K.FB;e< e y DwTmg\9bKw!z.NDG:<ODXq˯Z]WUj 7;p٥>!:8tzN^[ױ iʿ -g8s%<4a`sD|/Ubbw&3җ 3>zJG_c]ui |t -NRqWgb1SL)D@~ [Ae`2&T_[g vT -}Ց6]/G>](_Betz@te$&ɉ@(M! Ωph@:j=;bNzLfP~-?R0~9 $7L~f2#ԂVL!nZ[~ VXb4.cIbcWGkthL h cx$\13Ú-%j(;=_ yxB-91RW2L.c5B@鹎Fynʡ͞X7lf"cea%>yńg|;B9I΂Z>h}4ve^Y +N4cȭjڜ@Lˡ1;)a \m(DŽ#!;ƶYt[Ș9 Ʈy52TH=!^ ?O'"v!rཹUh9 oX x7؊^U>0mSTG ZC\R@xҖU{LNMW-2]9{=>9'^9%#4??n$Z[N˵Eأh=!~ryr%P('OMnڱyQjʩ9?oUԲ"58xY8+r 5* F*%3d8s3ǥ'_oQnio(C37s%JaE94;qSh>#tZ$ũpfpR ˋ)ᇼYmރLEF^'V |"\ȅ&Ǟ}0f-=OXC騬6׍"\cxi]#%Fjn YCn?BՉwU~M;۵q[01kd[a11)EPR0Dm e$qYC@YCZ\禀/a/\ly$ gd *NWce 0|;9pT9o9&+Ywz _rCmb$DD:ue|% '5Iʶ=,iى )?$v*I+,+`?v+)+'F[-/`=/Z۸%lggcfwNE=#6,oA(YUbKՠpE>v&] }ǔ-u*!06ܘ~L.<*ƲUkuCyѿxΒn.oE+ [WE9ȊO1@=uLƛG{(8I*Q4R;t1{>l*?Zg6kH5NYBYǦc",~U͑"|+m =(jVCL6 ""f5[y~Y'rfN?,&(*' {,ALxTǴ]ӉUt2j DS>IG_=Oס񁭄\Ճ1iUC#q:A_pP"1YGl䢙,NaU˸us;/$(^R65pN->֣-.װ&L=.}F lD Aꑦ!)a&3[&h1X}~[mEdT"y!- !G\mdl<ժ,WwOg5lq#.+.jW]ysYiÍ=8}@׈ȮkN2!XmY0cOhQ0)+9F ØCEpIij^uxïtǶ)F'G &G[6tYCSAzĵM1Ѭ\ ?'GPbfى^c2utӨ.lNytmpjt Xh7w遙 !]& EB˥#4) b§H]4Aw\~#xpۅCsDW&WAR)BUE TPkVu*UDq /̱r%j}ެ=5i!OEΡ5\.x}F6"?iC #!fV Bg]kg= uA;Vq;lsDY)L td!G8Ѭƃ`&w$^25A vPZoGG"!uODHLTuw4gbz'9OZ &"JʣTT*/uʕV΋FBNckqu,}7e~' h/BK:eQW3>O\`vU0X(ucɏdFgew"۷0rUB6Io )x|V`l7~݈bu`6fF@Xu7ǂ(b%u"l=QSOWH 0ϕ o%%G{:e "ΨS*K8!bi9MWt#j ùAS[3hLZRB_T!*c4(]9 蘸E_{l{ <Z_놛޺SP.͗I(ο7㾛N Ӡ3*=Z.Rd Gw-hQ:&V2)O=,]_<ŧ1Wy_3,~0BeTy>2f)tJCټC;|,'\0_V$A媔Qc]KeHi[BXO-30ӹ@9HaԭI7b~DYHޱU9"6;ƪ +N=* Sz7ćpRXI[,dM<7|<܌OuB`sz i$'(*xAȘ7x~ad+;B뿽R)XDtZ΢Ux'2@x}0RaSU!b@37rɜ5ȭ)ԅ`/2ե'y J@ ԙ d!I/<`+# yiͬ& sTbu7+ 6lmgH( vP-5Ca4~Մafc D=%<{_A?Jڦ"%{C H8]Km.NHɝ. e%RDp|@'϶^m1c-%:p6`6Ds^zKus—Ql3,w}l)l0`p-x}m)lBlڼBv0V{qy).4-5gFZUFj[ޤEovC&,-=o ax>6H;MGk0I!bfκI5Rxbl6$Z8NwbJG];ؑb7vFhMh2c ' 8Cw]o[o~2VdIWAA=fưsd9;?QKl"d.tV"!H Vgd3Zmoڑ:8E9RA2%O[40s+$5b_ E8X]geޮ'Pt8NX6#B4Hjt =a}43*\~jG#fB;Mz:Ad FZV B)71f.zzh)FjiԆ6ug9)C]jA)v`1N{5ή%դA!wcY)B+wJ3kLk@[$U'@є'aY%b@E.r7]LX;jGsc\i/9Y?ORڦ o8V=/U6]z^/e95]4jKKJ3t)f  2GfMICO$E?Z|߯+vR3\sźERY&_ĸ 55z;w LwJBnoiX1_@@^gJc;ONK4}ׄ ]pP4}T Oh` :&l0g(U-nmC=JQM$2p]}^F l tzِ4Uw^[%`sз/ UZ8v6سw,&Jq_f;morV,B1\lL^folQYx vЁ~m\1=jn yrAdCCgj bxW Li'ߏ WIʪIZF5FCj$9;2rgIOgk2fLVs=U(kzj9aOU)6LidVI* ]JI,̿K~.} ":3AIM^3;a/ҢH߽ >fwR_eʢyÛ=t!A8nOe3EYw,s=` jg +hE*ikc:c;/8? J$!Qzf8 dġJM XIeG~ |C&Js{\,?4l I8)Fc51^ *X3Ahgq/bGxE& 6%PTA{7mt@8 N )yQfK:>FԗzO>.fڿS} ML'Fr\rGO̦J #d 16L\~)8U.-?7 1w[F)߰PSZ\%x!.B)UFim&8F~2\]Jx|[?kG\ìCi2gXAC>-#J3yUj(@+mt}Տg| NӔ5!њer|odNsf08ϪݔaL^GRMr7<ƀ5pq\1 %(A#Y9MB^+ue]n#x1eˣp!7mE=sh\xn( tMo/t1#IFg/hHc2q@Ɇ0U+fԅ~A64_E{iuo~hQ׼b+tʼn%Ngte򫨴]a;V}u |',ڒ};DI`a1*A qy!ǯՊoZL#BZ!gX%S#;<ϰG}<+E)[ǣ'"v-k8o 5.1j#Qh5Br9^+g~1sj60-=W:!x{ԒreZL3b)Y@=㎱`:kbY tz ]G$+ו9*A,81YXT?} 3E4#F;-muŐ!:$X10^q]ۊ(Z3}4ۤE߇c)s5$Cp!"?DQZSWBu&'zG^(ǀj;:MDP+ o܎`p0|Lka=ZgBp7=o #f +#;JJS;ƺŷ +<*US Þ9P*!$վ]}mEՑML×doڔ柌vG2١?Y.㧵OKd|; nԈ bv1=;Yt46-<[IG>m ̠ZUn^ĮZ.·~72`BUځ^֕lSjnn(g-lu!|R>7"~+W!G5Ğpϭմ[_3Xl/'j( ů~4 f`2/2}J N2f#RawߔTyƙWQil"y*&Sּv(KՂX$䋮a/\MHH=="̸\T)AqȌ-y%j@30RDo wIw"'#Vr+;9R.@YnK$SKIVG"o? aF#x]ʬ`؎co~fh/YLq91|w] :A\?R"^J}ysq& wC>49/1#^BCG%ـ wX@&j? 7UPHIR^[jF5PS/j")AM?  Żh܌%m:J@|epy@gCIMġ@N(ޤԲEU¯&E(Z(% D/n}kI%ϰ=AeO j *+6:N5&{;Dy܍~)X$fʒQ t@zbb%] fXDzO{dKAs] ~ ;Lj'aMR Cm5Uw$QwNyT)@8Uu҆.󙡛g7Tʳn\I0aUDӀ%[ٺy5Yk1L `0 Nuɀc',0R~"mmU f D0p%ink`}GpcG8edj31WK]ҽ4EhprG|ͺ_ VYd|% Vbrl%P%u1ttjnx_9{N%\࿢n|eD xE䭭jv1`BN"Þ37d7N>7cl犐@o L; >*5vQeá#zW_|\W_[aVGz¢MNeD "d#E!<-0'ϟ \mW!D(?5rC;(u r+]薖AeFv}~~۝ۿ}1 5 ,ꬤxQRufbhdߴ<:FJgIPyP%vڴJwudXMU*Z;qLT'~8z]xj6cNU&оrDPq1r n<֬@C1^#U_O/Xq0tϪ. gD=b3`N͆H9!y<:BH>t˴:],Ry1 'm rkwX^JBRZP=탗P@fH1ʖn魫8fۊvEG;L+R|9{CWc/,_?Mc<~N)얺K1菉(~f/.piRFw $L}V%|;֖?yrC.uUav"l͜m4ī^'IN0B-h.ԍ?vI]k/-fPTBZO:%޵;O1#$u$ۦނX=!ve_fsʋnS.~+4pWbuU+!]hq;w=F jSdeO_6yRIy uƒ՛qOmyZ R ED -c&NPc+n+OmdtrtmT;Cu]c)]tNHÓov/>#p0·;I%9!t5Q*ǥjo6jtx**V`./Ӆ~셲T @-MbT_NwMuZ}UmēF,pSepkg\ FIq}Nd2M4!~MC=c9: YZ