bluez-5.62-150400.4.16.1<>,d˖p9|pZhA_Ùy8 MNiXCXP"5C\#96#q50/Z!D~;8g&4*,uҏ6ҿ֘D?1+͵m]kmdƚt'Q/7{ 3K2drQQR=7] HZR Ɨ1WrPU/IWt2>W AtJ3 K붺N> gT V6C@b0'b,ڏJ c>Np?`d   5| $?  ?GG bG G  G "G "G#G%[G&&G'(T(+V(+8+79,7:07= >?@"B*F]GtGHGIGXYZ`[p\G]G^PbGcdpeufxlzuGvwGxGyFz, \Cbluez5.62150400.4.16.1Bluetooth Stack for LinuxBlueZ provides support for the core Bluetooth layers and protocols.d˖cabernetq4SUSE Linux Enterprise 15SUSE LLC GPL-2.0-or-laterhttps://www.suse.com/Hardware/Mobilehttp://www.bluez.orglinuxppc64le if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in bluetooth.service bluetooth-mesh.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi # Avoid restoring outdated stuff in posttrans for _f in 50-bluetooth.conf; do [ ! -f "/etc/modprobe.d/${_f}.rpmsave" ] || \ mv -f "/etc/modprobe.d/${_f}.rpmsave" "/etc/modprobe.d/${_f}.rpmsave.old" || : done [ -x /usr/bin/udevadm ] && /usr/bin/udevadm control --reload || : # todo: check if this is still obeyed / needed with systemd PNAME=bluetooth SUBPNAME= SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME$SUBPNAME # If template not in new /usr/share/fillup-templates, fallback to old TEMPLATE_DIR if [ ! -f $SYSC_TEMPLATE ] ; then TEMPLATE_DIR=/var/adm/fillup-templates SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME fi SD_NAME="" if [ -x /bin/fillup ] ; then if [ -f $SYSC_TEMPLATE ] ; then echo "Updating /etc/sysconfig/$SD_NAME$PNAME ..." mkdir -p /etc/sysconfig/$SD_NAME touch /etc/sysconfig/$SD_NAME$PNAME /bin/fillup -q /etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE fi else echo "ERROR: fillup not found. This should not happen. Please compare" echo "/etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" echo "update by hand." fi # We need the bluez systemd service enabled at any time. It won't start up # on its own, as it is triggered by udev in the end (bnc#796671) /usr/bin/systemctl enable bluetooth.service 2>&1 || : /usr/bin/systemctl daemon-reload >/dev/null 2>&1 || : test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable bluetooth.service bluetooth-mesh.service || : ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_STOP_ON_REMOVAL" && . /etc/sysconfig/services test "$DISABLE_STOP_ON_REMOVAL" = yes -o \ "$DISABLE_STOP_ON_REMOVAL" = 1 && exit 0 /usr/bin/systemctl stop bluetooth.service bluetooth-mesh.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in bluetooth.service bluetooth-mesh.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then ( test "$YAST_IS_RUNNING" = instsys && exit 0 test -f /etc/sysconfig/services -a \ -z "$DISABLE_RESTART_ON_UPDATE" && . /etc/sysconfig/services test "$DISABLE_RESTART_ON_UPDATE" = yes -o \ "$DISABLE_RESTART_ON_UPDATE" = 1 && exit 0 /usr/bin/systemctl try-restart bluetooth.service bluetooth-mesh.service ) || : fi fiH H `@8   &q QP\@pB_mi!KD"'c_?L<&PKU%r "$iFV1 *; A큤A큤AA큤AA큤A큤A큤A큤Ad˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖d˖^H9ag'^mjayd˖d˖Yag'`fZBT_TWG)_Tag'PؕQ_Tag'PؕPؕTUU_TUPؕa!WXK7Xd˖Yd˖d˖Hjd˖d˖d˖d˖d˖d˖d˖d˖d˖c211c4412f39dec5dd93c3da9a8b4bbeec37825fdb74d5fd8efd23573f11f1ed46c021be659c9a1c4e55afd04df0c059af1f3d98a96338236412e449bf7477b4d581e9eb4c15fe6823ce7a3931a2f80acc1b878b7b1e73e55a67b2ee5d00fab72998c626d694a6f7a1f50ba3f47919caa701fcbf673ea443dff8d11f6e5135a7c962dafac6de87286c035c3053677e1799590d9128e968b59ec3f802785a85b9cf2744b3559d22196f5a46784e5337ac709a0efb650cd69e4730b05b89463472c7c08e5c23246522d67884ffa4a8b61f2f727e914cc19592306aa21ae6da02ae67bbf26c106008606759c5878203ba153757ed59faa12703fe310256248d2b5dcebf7ca66b86dd25efe816e004749e88fecaac199d57904466d12583e62305163342d67357cdb422eaddde7a0b96b123c8a3355f232cf340f6e317ecc39e071694b3ad1e645ae4b4c247c0608c53a926fbf2aa5106de2717f8e9947fbf7746e50ba10a5bc1daec9f0ca3e224788523ec40886ab8ee8d6961c3c2f28d23c048211ac16a700b853077c7a1b22b922ee4f1e778f502b799d1b976930e16fc041e6ae431cbb35fd96a832aad6e701067b0c3bd5550b77bd8bd397a062e0d21a9fbaca58267d753d4844882b17e3b4c7f4fa985d45c745132a792dea98b256feef2c0f92d3a08fb165046734e9e0f0629b41faeaf0db598bf3e62decca80270739a6e74f609592d3c3ca32b7c95578974be44c2758e5c6decdc124e01ef8033992cbc9037352a1959c9afb81fb1676259931b4f03daf220ffa39ffde0815f352154d6d8b56ca7942637b99c55fbb4f73e3712d40c4d2fa8b854f274163fb77746ef2b11362d32a1112755920299dbb753181c6db69daa14c2820e7c3e870394af448d3bb29f56a5d2fb0f8863a0e7bb5067015233bfe4ab515a955b2f38d5febabf398004c707a071bab12c20f03d0f63d3edea59bbc4d1697ebec44b12fa58f81feab755ef7f8d52f660e25689b4169a85d5be0160ef44951cff38237b94633ebd9ac3c55f8555d3e4552f0839f6a962f5fd0646235fe43fd4c16ab055ea11348cd433deb9aa9bd8340506b652d37e17c166714f1fd19dcb27e94a5b8897596ee9255300da57f9a4330b10835a750714bddf89013dbb6463d2a46c537d9810bc8fc5992fb831482c2fb407956880835c81ac7b2ab112324f41db84bab7132e1e39c3dbd6655486e8eda487f416bff9f0e22504a4281476ed25b457698442ba51f2e118350df30abf033328f95bc1734d7628c6e2da504eac2cb215c5053ff1283d74ddcb86eaa3c846e1ac458a09af00491b111a7bdb44c11471e04649fdca044cdd53fedd9c03c79d389a93481932392379de6204f3beb8bf0d2f44221cd18c919c5e027f88f1374ddcbff05b188617e46193f6e39ba8d1899d3e2b21fdc3090f2d22061325ad8c945383e4a699c6d3ab5ccbc0eea160d08b55c991b70534dec715ad2be080cd5fe43cb8d726aeaf1f82f5208430fcac8def0b842e2c1ad28a4a8aba8a1db8467cafa01f7b553328512c3f428c2eeb5767a397ac4b333aad2b56e6fca7e98b34145aaedf02549cd99d9ac68e2d0936fbb99201198bb6605aedbbc3cbc1cd1ed5e8090692529bb06eff41bf192f637d90cb17a572679cef42ffc550ee6f1bcaa52ab53cb5cfc779c6da87f270f77af02d5b56d736426004614b6871c28996ee9e08bf33dba34534f4d5a8ee759199cf4c77de143d45673aea0a30c2c70bb39014dcb084a1b0326bf173c2eb0fcc3a528c046aff004b780a25b03d694d06af4a62e6d523de9a81d0e039b1c9a47450b59a8f06fdb946da6120e0f7be00ea95738af97339880935868cca343431f8d786ee7cae0f05ca89876ca2748f8da781ba67675b25f8bea841acf63d9e264d4b6da1db92cccf70b42e2b878ca34f581f9a7e5dd2b5bd5a8dc93ec881f635095ab5f13160d2f2f1dc5f8175066a3cdf7f0d1c5401204d2255fcf31db171558dbf9fed1d117965321da7f0653252d47d6b46b60b2c9d428431f049e2399719131bf1eceda1fa7c8850f37e174590cba6d3ad3678d9ae26f8f05523298b63fb0de3d16c5aabbad23783bc028dca1e8727ca1d8905f9a0d3e8bb58ec7818c1dfbec6d1f5840cbb2c7fc6e495d89aa40e91977e5a416984822962bfeac5b0176d6374b73ca85ad6ce84d85a60266cc51c3387b798aeb5246d3719a709b208b6b0b0f8a941adf2485de7c957b347f9c9f0f35227e9c3e85e90a9ebaf855ea0b08950811d311efe6c3afa627b0cff1acc362c44bc2b19cb9f84d556a61992359aa73f092c046f495bb9615a0fcaa723dfb499eddebda05a8859e32b820a64577d91f1de2b52efa2a1575a2cb4000bc2593f7bab2a08008592a4cd8b692c299ea8dc5a3b3f88fbb3d3ada6c8c3183ceb171f43cc19ef063c5b5a2a8088d65bda3d9cc33c6497b73d3802f71d01b609d4fb98b0ec951f088029fd5bbc82365bce7951f080a9d1488f0bca3194426ded8c5e4402701baa17c2ef9d28cb4b7f426818e5653de40b1d7afaca3f9ceebef345e5291ad866ab0342727f01c9ae98a07d19a7167369d732ef8641a2e4b9d5c5cc028b142d5c296d14104eb4d5250674966c76ae5f6aa9c5a47ff49fbbecd5d20eb62a779535e870a331622eb64b1e54447c4a9d4063770f22dca24fd05785a46c93256c0937f8d1ad0b3a0c876bee84cc4eddcd7758d709c1d663ba0b07f0e2d837rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootbluez-5.62-150400.4.16.1.src.rpmbluezbluez(ppc-64)bluez-audiobluez-hcidumpbluez-utilsconfig(bluez)obexd-client  @@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/shconfig(bluez)libasound.so.2()(64bit)libasound.so.2(ALSA_0.9)(64bit)libc.so.6()(64bit)libc.so.6(GLIBC_2.17)(64bit)libc.so.6(GLIBC_2.25)(64bit)libc.so.6(GLIBC_2.28)(64bit)libdbus-1.so.3()(64bit)libdbus-1.so.3(LIBDBUS_1_3)(64bit)libdl.so.2()(64bit)libdl.so.2(GLIBC_2.17)(64bit)libglib-2.0.so.0()(64bit)libicalvcal.so.3()(64bit)libjson-c.so.3()(64bit)libreadline.so.7()(64bit)libudev.so.1()(64bit)libudev.so.1(LIBUDEV_183)(64bit)libudev.so.1(LIBUDEV_196)(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemdsystemd5.62-150400.4.16.13.0.4-14.6.0-14.0-15.2-14.14.3dE@dZ@c@cb!@ay?@aexa``P@_`]@]\@\I\ `[H@[4ZK@Zp^@ZF.@Z/YcYjY_wYOY9<@Y(Y XZXXX@W W@WgWV@WI@W @@VV$@V3[V +UpUUc@U@UUU@UTи@T@T{T`jlee@suse.comjlee@suse.comjlee@suse.comjlee@suse.commwilck@suse.comacho@suse.comacho@suse.comacho@suse.comacho@suse.comacho@suse.comacho@suse.comacho@suse.comacho@suse.comacho@suse.comacho@suse.comacho@suse.comseife+obs@b1-systems.comacho@suse.comacho@suse.comnormand@linux.vnet.ibm.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.commsuchanek@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comtchvatal@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comjengelh@inai.deseife+obs@b1-systems.comfbui@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comdimstar@opensuse.orgseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comrguenther@suse.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.comseife+obs@b1-systems.com- Add sdpd-Fix-leaking-buffers-stored-in-cstates-cache.patch sdpd: Fix leaking buffers stored in cstates cache (bsc#1192760)(CVE-2021-41229)- Add avrcp-Fix-crash-while-handling-unsupported-events.patch avrcp: Fix crash while handling unsupported events (bsc#1210398)(CVE-2023-27349)- Add mgmt-tester-Fix-null-dereference-issue-reported-by-s.patch - This patch fixes the null dereference reported by the scan-build. (bsc#1204426)(CVE-2022-3563)- Add shared-gatt-server-Fix-heap-overflow-when-appending-.patch - The code shall check if the prepare writes would append more the allowed maximum attribute length. (bsc#1194704 CVE-2022-0204)- Install modprobe.conf files to %_modprobedir (bsc#1196275, jsc#SLE-20639)- update to version 5.62 (JIRA-SLE-18497): * Fix issue with handling truncation when loading LTKs. * Fix issue with accepting Exchange MTU on EATT bearer. * Fix issue with clearing DeviceLost timers on power down. * Fix issue with AVCTP browsing channel and missing ERTM. * Fix issue with AVDTP and local SEID pool for each adapter. * Add support for BR/EDR and LE connection failure reasons. - refresh patch hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch- update to version 5.61 (JIRA-SLE-18497): * Fix issue with A2DP while waiting for command response. * Fix issue with A2DP when SetConfiguration fails. * Fix issue with device removal handling. * Fix issue with storing discoverable setting. * Add support for Central Address Resolution characteristic. * Add support for admin policy plugin. - fix bluez-auto-enable-devices subpackage (boo#1177845) - add bluez-test-2to3.diff to get rid of python2 dependency - remove notification message from bluez-deprecated package. also boo#1188660 - refresh other patches- update to 5.60 (JIRA-SLE-18497): * Fix issue with reading from RFKILL device node. * Fix issue with AVDTP and parsing capabilities. * Fix issue with UnregisterApplication handling. * Fix issue with RegisterProfile if UUID already exists. * Fix issue with GATT client attribute read with offset. * Fix issue with non-discoverable device and advertising monitor. - update to 5.59: * Fix issue with string to UUID-32 conversion. * Fix issue with connect request if SDP search failed. * Fix issue with accepting invalid AVDTP capabilities. * Fix issue with unregister handling of AVRCP player. * new tool: mesh-cfgtest * new manpages: btmon.1, bluetooth-meshd.8 - update to 5.58: * Fix issue with usage of deprecated GLib functions. - version 5.57: * Fix issue with handling GATT notification PDU parsing. * Fix issue with registering DIS without a valid source. * Fix issue with removing remote SEPs when loading from cache. - update to 5.56: * Fix issue with setting AVDTP disconnect timer. * Fix issue with AVDTP not sending GetCapabilities. * Fix issue with AVDTP connecting using streaming mode. * Fix issue with handling A2DP and remote SEP disappearing. * Fix issue with handling session of A2DP channels. * Fix issue with GATT and handling device removal. * Fix issue with GATT not accepting multiple requests. * Fix issue with HID report value callback registration. * Add support for new advertising management command. * Add support for battery D-Bus interface. * removed obsolete bccmd - remove obsolete upstreamed patches: shared-gatt-server-Fix-not-properly-checking-for-sec.patch (bsc#1186463 CVE-2021-0129) gatt-Fix-potential-buffer-out-of-bound.patch (bsc#1187165 CVE-2021-3588) shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch (bsc#1187165 CVE-2021-3588) gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch (bsc#1187165 CVE-2021-3588) - refresh other patches- Add gatt-Fix-potential-buffer-out-of-bound.patch * When client features is read check if the offset is within the cli_feat bounds. (bsc#1187165 CVE-2021-3588) - Add shared-gatt-db-Introduce-gatt_db_attribute_set_fixed.patch * This enables user to inform if an attribute has a fixed length so it can automatically perform bounds checking. (bsc#1187165 CVE-2021-3588) - Add gatt-Make-use-of-gatt_db_attribute_set_fixed_length.patch * This makes use of gatt_db_attribute_set_fixed_length so the database is aware of the length of the values and perform bounds checking. (bsc#1187165 CVE-2021-3588)- Add shared-gatt-server-Fix-not-properly-checking-for-sec.patch * Fix not properly checking for secure flags (bsc#1186463 CVE-2021-0129 CVE-2020-26558)- update to 5.55: * Fix issue with handling security level for HoG. * Fix issue with handling HIDSDPDisable attribute. * Fix issue with handling HID virtual cable unplug. * Fix issue with handling HID channel disconnect order. * Fix issue with handling AVDTP delay reporting states. * Fix issue with handling AVRCP notification events. * Fix issue with handling AVRCP list player attributes. * Fix issue with handling AVRCP category 1 player settings. * Fix issue with handling AVRCP media player passthrough bitmask. * Fix issue with handling HFP 1.7 default features. * Fix issue with handling GATT disconnecting handling. * Fix issue with handling GATT database hash. * Fix issue with handling service changed characteristic. * Fix issue with handling read of multiple characteristic values. * Fix issue with handling Just-Works auto-accept pairing. * Fix issue with handling authentication of bonded devices. * Fix issue with handling L2CAP streaming mode for AVDTP. * Fix issue with handling SysEx parser for MIDI support. * Fix issue with handling configured scan parameter values. * Fix issue with handling temporary devices removal. * Fix issue with handling advertising flags. - update to bluez-5.54: * Fix issue with HOGP to accept data only from bonded devices. * Fix issue with A2DP sessions being connected at the same time. * Fix issue with class UUID matches before connecting profile. * Add support for handling MTU auto-tuning option for AVDTP. * Add support for new policy for Just-Works repairing. * Add support for Enhanced ATT bearer (EATT). - update to bluez-5.53: * Fix issue with handling unregistration for advertisment. * Fix issue with A2DP and handling recovering process. * Fix issue with udpating input device information. * Add support for loading blocked keys. - update to version 5.52: * Fix issue with AVDTP session disconnect timeout handling. * Mark media endpoint APIs as stable interfaces. - update to version 5.51: * Fix issue with first agent not being registered as default. * Fix issue with loading devices without Service Changed CCC. * Fix issue with GATT client and extended property reading. * Fix issue with handling GATT client invalid read behavior. * Fix issue with handling GATT disconnect handler removal. * Fix issue with missing GATT/GAP service records for SDP. * Fix issue with checking SDP continuation state length. * Fix issue with HID device removal on HoG disconnect. * Fix issue with AVDTP and session destroy handling. * Fix issue with AVCTP and output MTU accounting. * Fix issue with AVRCP and creating media items. * Add support for GATT database caching feature. * Add experimental support for Bluetooth Mesh Profile. - update to version 5.50: - Fix issue with GATT and reading long values. - Fix issue with GATT and reading multiple includes. - Fix issue with GATT and service changes when offline. - Fix issue with handling secondary service discovery. - Fix issue with handling persistency of CCC values. - Fix issue with handling Mesh session on disconnection. - Fix issue with handling Mesh proxy PDU SAR message length. - Fix issue with handling Mesh default heartbeat TTL value. - Add support for Mesh node-reset operation handling. - Add support for GATT authorization request handling. - Add support for GATT minimum key size requirements. - Add support for GATT server and included services. - Add support for handling additional advertising data. - Add support for handling separate discoverable state. - Add support for enabling HFP version 1.7 features. - Add support for dedicated Bluetooth logging daemon. - update to version 5.49: This is mostly a bug fix release, with fixes to features such as AVCTP, OBEX, GATT and Mesh. There are however some notable new features also, such as improved heartbeat management support in meshctl as well as a new experimental ConnectDevice D-Bus method on the Adapter interface, which can be used for quick device object creation for testing purpose or when information about the device has been received over some Out-of-Band channel. - Add --enable-external-ell to actually make use of pkgconfig(ell). - remove obsolete upstreamed patches: * 0001-obexd-use-AM_LDFLAGS-for-linking.patch * 0001-core-Fixes-order-InterfaceAdded.patch * tools-Fix-build-after-y2038-changes-in-glibc.patch * hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch * 0001-btmon-fix-segfault-caused-by-buffer-over-read.patch * 0002-btmon-fix-segfault-caused-by-buffer-over-read.patch * 0003-btmon-fix-segfault-caused-by-buffer-over-read.patch * 0004-btmon-Fix-crash-caused-by-integer-underflow.patch * 0005-btmon-fix-stack-buffer-overflow.patch * 0006-btmon-fix-multiple-segfaults.patch * 0007-btmon-fix-segfault-caused-by-integer-underflow.patch * 0008-btmon-fix-segfault-caused-by-integer-undeflow.patch * 0009-btmon-fix-segfault-caused-by-buffer-over-read.patch * 0010-btmon-fix-segfault-caused-by-buffer-overflow.patch * 0011-btmon-fix-segfault-caused-by-integer-underflow.patch * 0012-btmon-fix-segfault-caused-by-buffer-over-read.patch - use autopatch, spec-cleaner - refresh other patches- Add tools-Fix-build-after-y2038-changes-in-glibc.patch * The 32-bit SIOCGSTAMP has been deprecated. Use the deprecated name to fix the build.(bsc#1156544)- Add hcidump-Fixed-malformed-segment-frame-length.patch * Ensure the L2CAP SDUs whose length field match the actual frame length.(bsc#1013712)(CVE-2016-9798) - Modify bluez.changes: Remove (bsc#1013712)(CVE-2016-9798) tag from patch hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch- Add hcidump-Add-assoc-dump-function-assoc-date-length-ch.patch * amp_assoc_dump() didn't check the length of amp assoc struct. (bsc#1013712)(CVE-2016-9798)(bsc#1013708)(CVE-2016-9797) Add hcidump-Fix-memory-leak-with-malformed-packet.patch * Do not allow to read more than allocated data buffer size. (bsc#1015171)(CVE-2016-9917) - Refresh patches: patches/bluez-cups-libexec.patch patches/bluez-5.45-disable-broken-tests.diff - fix bluez.changes: add (bsc#1013893)(CVE-2016-9802) tag for last log.- Add:btmon: multiple memory management vulnerabilities fixed Multiple different memory management vulnerabilities were discovered in btmon while fuzzing it with American Fuzzy Lop. Purpose of this fuzzing effort was to find some bugs in btmon, analyse and fix them but also try to exploit them. Also goal was to prove that fuzzing is low effort way to find bugs that could end up being severe ones. Most common weakness appeared to be buffer over-read which was usually caused by missing boundary checks before accessing array. Integer underflows were also quite common. Most interesting bug was simple buffer overflow that was actually discovered already couple years ago by op7ic: https://www.spinics.net/lists/linux-bluetooth/msg68898.html but it was still not fixed. This particular vulnerability ended up being quite easily exploitable if certain mitigation technics were disabled.(bsc#1015173)(CVE-2016-9918)(bsc#1013893)(CVE-2016-9802) 0001-btmon-fix-segfault-caused-by-buffer-over-read.patch 0002-btmon-fix-segfault-caused-by-buffer-over-read.patch 0003-btmon-fix-segfault-caused-by-buffer-over-read.patch 0004-btmon-Fix-crash-caused-by-integer-underflow.patch 0005-btmon-fix-stack-buffer-overflow.patch 0006-btmon-fix-multiple-segfaults.patch 0007-btmon-fix-segfault-caused-by-integer-underflow.patch 0008-btmon-fix-segfault-caused-by-integer-undeflow.patch 0009-btmon-fix-segfault-caused-by-buffer-over-read.patch 0010-btmon-fix-segfault-caused-by-buffer-overflow.patch 0011-btmon-fix-segfault-caused-by-integer-underflow.patch 0012-btmon-fix-segfault-caused-by-buffer-over-read.patch- Add hcidump-fixed-hci-frame-dump-stack-buffer-overflow.patch to replace CVE-2016-9800-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch (PATCH-FIX-UPSTREAM)(bsc#1013721)(CVE-2016-9800) Add hcidump-Fix-set_ext_ctrl-global-buffer-overflow.patch to fix global buffer overflow (PATCH-FIX-UPSTREAM) (bsc#1013732)(CVE-2016-9801) - Fix %ifarch range.- add 0001-core-Fixes-order-InterfaceAdded.patch (boo#1101119) to fix headset connect after suspend/resume- Add lost patches for RPi3 bluetooth support (bsc#995059)(bsc#1094902) 0001-rpi3-bcm43xx-The-UART-speed-must-be-reset-after-the-firmw.patch 0002-rpi3-Move-the-43xx-firmware-into-lib-firmware.patch- Add CVE-2016-9800-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch * Fix hcidump memory leak in pin_code_reply_dump(). (bsc#1013721)(CVE-2016-9800) CVE-2016-9804-tool-hcidump-Fix-memory-leak-with-malformed-packet.patch * Fix hcidump buffer overflow in commands_dump(). (bsc#1013877)(CVE-2016-9804)- Add disable_some_obex_tests.patch bypass boo#1078285 for PowerPC- update to version 5.48: This release brings many fixes and feature enhancements. Some notable enhancements include support for devices with the BLE battery service, as well as improved Mesh support in the meshctl tool. Several previously experimental D-Bus APIs have now been marked as stable, notably the Advertising Manager API as well as the AquireWrite & AquireNotify GATT APIs. As far as fixes go, these can be found in many areas of the stack, including A2DP, AVCTP, device discovery, Mesh, and GATT.- add 0001-obexd-use-AM_LDFLAGS-for-linking.patch - document systemd dependency during %post- update to version 5.47: This release contains various fixes to GATT, A2DP and BR/EDR vs LE bearer handling. There’s also a notable SDP fix for CVE-2017- 1000250 (part of the recently announced BlueBorne vulnerabilities). Feature-wise, there’s now support for adding the appearance and local name to advertising data through the Advertising D-Bus interface. The btmon tool is now also able to better decode most Bluetooth 5.0 HCI commands and events. The Bluetooth Mesh Profile specification was released recently, and this BlueZ release comes with initial support for it in the form of a new meshctl tool. Using this tool it’s possible to provision mesh devices through the GATT Provisioning Bearer (PB-GATT), as well as communicate with them (e.g. configure them) using the GATT Proxy protocol.- update to version 5.46: * Fix issue with handling ATT over BR/EDR connections. * Fix issue with SDP browsing cleanup after connection. * Fix issue with pointer dereference and OPP Put request. * Fix issue with identity address updates during pairing. * Fix issue with not removing services that had disappeared. * Add support for improved discovery of included services. * Add support for simplified characteristics discovery. * Add support for GATT caching configuration option. * Add experimental support for AcquireWrite and AcquireNotify.- enable sixaxis plugin- Add %post/%postun to bluez-auto-enable-devices so the settings change takes effect (boo#1039476)- add bluez-auto-enable-devices subpackage with main.conf which auto-enables all devices (boo#1039476)- add bluez-5.45-disable-broken-tests.diff to disable two broken tests (reported upstream but not yet fixed)- update to version 5.45: This is mostly a bugfix release with fixes in ATT, GATT, OBEX and AVDTP. Feature-wise there are some new things as well, such as btmon support decoding Bluetooth 5.0 HCI commands and events.- make testsuite run non-parallel (it has problems with running parallel checks) and quiet- update to version 5.44: Most fixes are LE (specifically GATT) related, however some other areas are affected as well. Feature-wise, there’s a new MIDI plugin and support for using single-mode (LE-only) controllers that lack a public address. E.g. any nRF5x controller running a MyNewt or Zephyr based firmware falls into this category. - packaging: add "--enable-midi", "--enable-deprecated" TODO: package deprecated tools into separate package to prepare removal some time in the future - rebase bluez-cups-libexec.patch- Set the cupsdir directly with patch instead of mv and seds: * bluez-cups-libexec.patch - Replace requirements by the pkgconfig counterparts * this should solve out the problem with builcycle on Factory - Ran over with spec-cleaner- update to version 5.43: This is almost purely a bug-fix release with fixes to HoG, ATT and PAN. There’s also a fix for a regression in 5.42 that caused connection failures for external profiles like OBEX. Feature-wise there’s one notable addition: LE privacy. By enabling this in main.conf it’s now possible to make BlueZ generate a local Identity Resolving Key (IRK) and use Resolvable Private Addresses (RPAs) for itself.- update to version 5.42: The major API change with this release is that the GATT D-Bus API is no longer marked as experimental.This should hopefully encourage the creation of more applications using it. Feature- wise, btmon received support for decoding full mgmt message traces - a feature that is available in the bluetooth-next kernel tree, i.e. on its way to the 4.9 kernel release. In addition to these changes, this release contains also fixes in areas such as PBAP, transport selection (BR/EDR vs LE), ATT and A2DP.- Update descriptions a bit. Adjust RPM groups for what is used in openSUSE normally. Drop archaic %clean section. Drop --with-pic which is only for (unbuilt) static libs.- update to version 5.41: BlueZ 5.41 is purely a bug-fix release targeting areas such as GATT, AVRCP, OBEX and device discovery filters. The GATT D-Bus API is now starting to be stable enough that this will likely be the last release where it is flagged as experimental. - fix build with older distributions that don't have %_userunitdir ins systemd-rpm-macros- Don't require systemd-devel but systemd-rpm-macros (bsc#983167) Bluez simply needs to know where the systemd default paths are, at build time. For that there's no need to build-require systemd or systemd-devel (and pull all theirs dependencies). Instead build-require systemd-rpm-macros, which has much less dependencies.- update to version 5.40: This is mostly a bug fix release fixing issues with GATT, paired devices and connection handling (particularly for accepting connections through the Profile D-Bus interface). One new feature is the ability to use btmon for reading HCI logs from a TTY device. Right now the creation of this kind of logs is available with Zephyr in the form of a special console logging mode (more information available here https://www.zephyrproject.org/doc/board/arduino_101_ble.html#getting-hci-traces>). The format of the protocol is a slight modification of what btmon normally receives from the kernel monitor sockets, and is documented in doc/btsnoop.txt).- update to version 5.39: This is almost entirely a bug fix release with important fixes to GATT, HoG, AVRCP & A2DP. - install gatttool, needed for bluetooth 4.0 devices (boo#970628)- update to version 5.38: This release has lots of updates and fixes to the GATT D-Bus API. It should be working considerably better now. A key change to the GATT D-Bus API is that it is now fully conforming to the word of the D-Bus Object Manager specification. Instead of registering each service individually with an Object Manager interface per service path, all application services are now grouped together through a single RegisterApplication call. The details can be found in gatt-api.txt. Besides the D-Bus API change there are also numerous fixes to GATT functionality in general. Other areas that received fixes in this release are OBEX, AVRCP and 128-bit UUID handling. Feature-wise there isn’t anything groundbreaking, but a notable update is support for the Start Limited Discovery command in the btmgmt tool (this feature debuted with the 4.5 kernel release). * Fix issue with stack overflow and UUID handling. * Fix issue with ObjectManager interface and GATT. * Fix issue with GATT database and error handling. * Fix issue with GATT client notifications. * Fix issue with GATT object ordering. * Fix issue with GATT default MTU exchange. * Fix issue with device attribute clearing. * Fix issue with AVRCP capabilities request.- update to version 5.37: * Fix issue with registering external profiles. * Fix issue with connecting external profiles. * Fix issue with GATT service changed handling. * Fix issue with not emitting GattServices update. * Convert to unified HID over GATT profile support. * Convert to KeyboardDisplay as default IO capability. * Install btattach utility by default.- update to version 5.36: This release consists for the most part of bug fixes that target areas such as PBAP, AVRCP and GATT. Feature-wise a notable change is btmon support for vendor diagnostic messages which will be debuting with the 4.4 Linux kernel release. This feature will allow e.g. LMP tracing with specific controllers. For now there is preliminary support for Intel and Broadcom based controllers. - update dbus-devel buildrequires from configure.ac - remove obsolete bluez-no-duplicate-test-names.patch- update to version 5.35: This release contains bugfixes to areas such as GATT, OBEX, HoG and AVRCP. From now on bluetoothd will cache more information of remote GATT databases and thereby avoid unnecessary rediscovery of remote services. A noteworthy new feature is the ability to configure bluetoothd to automatically enable (power on) all new adapters. One use of this is to replace unreliable "hciconfig hci0 up" commands that some distributions use in their init/udev scripts. The feature can be enabled by having "AutoEnable=true" under the "[Policy]" section of /etc/bluetooth/main.conf- Add bluez-no-duplicate-test-names.patch: Fix test suite when running against GLIB 2.45.x (test names are not to be used duplicated).- update to version 5.34: This release fixes a fairly important bug for the GATT D-Bus interface where automatic reconnections would not always occur for the client role. There’s also a fix for a missing attribute in PBAP & MAP SDP records as well as a couple of audio related fixes. A new feature in this release is Media Player Selection support for the Target role of AVRCP (the Controller role already had this).- update to version 5.33: This release contains mostly bugfixes, particularly in areas such as the audio plugin, GATT and OBEX. The main feature additions are in the the emulator code which received improvelents to LE features. There’s also a new tool for testing the recently released Eddystone protocol from Google.- update to version 5.32: This is mostly a bug fix release rather than including many new features. The fixes fall in several different areas, including OPP, ATT and advertising (instance number handling in particular). There’s also a fix for handling a sudden disconnect when a connection setup process hasn’t yet completed. The one notable feature this release has is the ability to select between letting the stack handle ATT security elevation or doing the respective error handling in higher layers.- update to version 5.31 Fixes to many different areas, including networking, GATT, HID, A2DP and AVRCP. Feature-wise we’ve got support for security flags for the GATT database, allowing fine-grained security level control for D-Bus clients using the GATT D-Bus API. We’ve also got a new experimental device discovery filter interface which allows filtering for a specific remote service, RSSI threshold or transport (LE vs. BR/EDR). Another new experimental interface is for LE advertising, which also brings the LE peripheral role closer to feature completion on a D-Bus level - remove obsolete bluez-5.30-disable-broken-tests.diff- update to version 5.30 The highlight of this release is the completion of the GATT D-Bus APIs. We’ve now got both the client and server functionality in place, however it’s still behind the -E (--experimental) command line switch. The API is documented in doc/gatt-api.txt and there are several test tools for it in the tree (even bluetoothctl has support for it). Another new (and still experimental) D-Bus API that debuts with this release is one for managing LE Advertising, i.e. acting in peripheral role. The API is documented in doc/advertising-api.txt. Besides the new features, there are several fixes to AVCTP, AVDTP & AVRCP. There’s also a fix for C++ compiler compatibility with the library headers as well as a fix for device information not being stored in certain corner cases. - add bluez-5.30-disable-broken-tests.diff to fix test suite - remove -fstack-reuse=none workaround - remove 20150312-PATCH_BlueZ_shared_gatt-client_Fix_invalid_read-56974.patch- Build the testsuite with -fstack-reuse=none to workaround broken test setup. [bnc#923768]- update to version 5.29 This is a comparatively large release with over a month and 475 commits since 5.28. There have been lots of fixes to the Android side. Our internal GATT library (used both by ‘normal’ BlueZ as well as the Android version) received lots of updates for this release. Other notable changes are a fix for AVCTP key repeat timeout as well as added support for the Multi Profile Specification (MPS). - add 20150312-PATCH_BlueZ_shared_gatt-client_Fix_invalid_read-56974.patch from bluez-devel for fixing test case failure (will be included in next bluez release)- update to version 5.28 Here’s the first BlueZ release in 2015. Most of the changes since the last one are bug fixes, but there’s actually quite many of them this time, including: * Fixes to GATT service discovery & probing * Fix for bearer selection with dual-mode devices * Fix potential crash when removing devices * Fix issue with incomplete names in EIR data * Fix parsing GATT name characteristics * Fix AVCTP long press & key repetition handling * Fixes for GATT notification handling Besides bug fixes we’ve now also got more extensive unit tests for new GATT code as well as better HCI decoders in btmon for some less used 4.1 and 4.2 features. The hid2hci tool gained support for CSR 8510 A10 devices and the hex2hcd tool received a complete rewrite with better command handling.- update to version 5.27 Here comes the traditional x-mas release! BlueZ 5.27 consists mostly of bug fixes to areas such as GATT and mgmt (the interface through which bluetoothd talks to the kernel). The emulation framework has also received many new features, paving the way for more extensive test automation.- update to version 5.26 This release is for the most part a bug-fix release with fixes in A2DP and OBEX related functionality, but there’s also an added features for get/set reports for HID over GATT as well as Phonebook Access Profile 1.2 support The Bluetooth 4.2 specification went public in early December and BlueZ 5.26 is the first release with support for its features. Perhaps the most notable one of these is Low Energy Secure Connections which will require a 3.19 or newer kernel. This feature brings LE pairing to the same level of security as it has been for BR/EDR. LE SC also brings along with it so-called cross-transport pairing, which means that you only need to pair once over LE or BR/EDR to get the necessary keys for both transports between two dual-mode devices.- update to version 5.25 This release contains various improvements to MAP and PBAP support. There are also various GATT related fixes. We’ve also got a fix for a race condition which could occasionally cause LE connection/pairing failures. The fix will work for kernels from 3.13 onward (for older kernels a proper fix isn’t really feasible). - packaging: remove obsolete README.SUSE and README.packagers/bin/sh/bin/sh/bin/sh/bin/shbluez-audiobluez-hcidumpbluez-utilsobexd-clientcabernet 1691064033  !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFG5.62-150400.4.16.15.62-150400.4.16.13.365.623.365.62-150400.4.16.15.62  3.365.03.365.0 bluetooth.confmodprobe.d50-bluetooth.confbluemoonbluetoothctlbtattachbtmonhex2hcdl2pingmesh-cfgclientmesh-cfgtestmeshctlmpris-proxybluetoothbluetooth-meshdbluetoothdobexdbluetooth-mesh.servicebluetooth.serviceudevhid2hcirules.d97-hid2hci.rulesbluetoothpluginssixaxis.soorg.bluez.obex.serviceorg.bluez.servicebluezAUTHORSChangeLogREADMEREADME-mesh.SUSEbluetooth-mesh.confdbus-apisadapter-api.txtadvertising-api.txtagent-api.txtassigned-numbers.txtbtsnoop.txtdevice-api.txtgatt-api.txthealth-api.txtinput-api.txtmedia-api.txtmgmt-api.txtnetwork-api.txtobex-agent-api.txtobex-api.txtpics-opp.txtpixit-opp.txtprofile-api.txtpts-opp.txtsap-api.txtsettings-storage.txtsupported-features.txttest-coverage.txttest-runner.txtmain.conforg.bluez.mesh.servicebluezCOPYINGbtattach.1.gzbtmon.1.gzhid2hci.1.gzl2ping.1.gzrctest.1.gzbluetooth-meshd.8.gzbluetoothd.8.gz_bluetoothctlbluetooth/etc/dbus-1/system.d//lib//lib/modprobe.d//usr/bin//usr/lib//usr/lib/bluetooth//usr/lib/systemd/system//usr/lib/udev//usr/lib/udev/rules.d//usr/lib64//usr/lib64/bluetooth//usr/lib64/bluetooth/plugins//usr/share/dbus-1/services//usr/share/dbus-1/system-services//usr/share/doc/packages//usr/share/doc/packages/bluez//usr/share/doc/packages/bluez/dbus-apis//usr/share/licenses//usr/share/licenses/bluez//usr/share/man/man1//usr/share/man/man8//usr/share/zsh/site-functions//var/lib/-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:30122/SUSE_SLE-15-SP4_Update/bb66a617767ee7f2d2e1ad0cb3d8a13c-bluez.SUSE_SLE-15-SP4_Updatedrpmxz5ppc64le-suse-linux  exported SGML document, ASCII textdirectoryASCII textELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=d054e159a9b4738f36cda22ebe6d001313c382da, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=95c0f92b6af8e311b1069923b52b5088e55dcce6, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=4f33d1244b19cc25df70947f67294633e55f3f17, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=9b6726f39ee40cb300a7de4d32ae156dc2c0efaf, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=2f4c4b94d07de58173bb520a4178c89206128b96, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=e0c05f2e46e7bad5edf5ba98e2f0ecc16ca7653e, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=eaaea59a40848414695027a99bef881fc4bf8fa0, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=13a58773608bec034ee209f3857eae08ebd8ed34, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=9d48c7fa13f00c60631b793066b985060cf63bac, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=e0915fe79852656f12081443601d4f94a3514e51, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=4276e806ea5193167ca8c838e162aad6ff36fb87, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=fe69b2d560aff03e054328cc32029665cb284740, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=7870c3bfe1a8fcc49e9c72c037df476e74ccf2fa, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, interpreter /lib64/ld64.so.2, BuildID[sha1]=0d2bfd40e7b67680f68caaa4a3af6cc59548ff76, for GNU/Linux 3.10.0, strippedELF 64-bit LSB shared object, 64-bit PowerPC or cisco 7500, version 1 (SYSV), dynamically linked, BuildID[sha1]=a090429f364bd488c19894fc5318b8360fcaa424, strippedUTF-8 Unicode textC source, ASCII texttroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) #(,5>B R RR R RR RRR RRRRR RRRR RR RR R RRRR RR R RR RRRR R RR RR R RRRR R RRR RRRRR R R RR RRRRR RRRR RRpW-WJ{js]# Migration of modprobe.conf files to _modprobedir for _f in 50-bluetooth.conf; do [ ! -f "/etc/modprobe.d/${_f}.rpmsave" ] || \ mv -fv "/etc/modprobe.d/${_f}.rpmsave" "/etc/modprobe.d/${_f}" || : done/bin/shsbcutf-8c4fbc63fb30545ee803dc57a6474484682095ab42d6570299a1534cb961ac2e4? 7zXZ !t/]"k%a}R]RW;ߜJXȖ(ek[b"H8tEh0WE0gNOZlz]` SqĠ}fhJ`kǜ\Pq=]f9_RyM7VM9Ȕ^@%`W98 884瑷W!p5<9F_`@XyR-pkSZte1DYbb1]|l%%01EW ]n߃Pd@%T AE&~=FRV V-q`?t6? G7U #Ĕi5IRh,} ,BDkvXaɯ:h(O$Sw6MꌚJ. :VGRB׈MZoLAJ 8PZ|6Dsk&"zXNEbz}8x"BvtGi&)2k7ϢQڷLpx"7 A$dZ(ޱHz_#~xy|􂟲woР}"fYD5۫h> LE EEw岹, pg2&8GNFZIՓp:mTˆw<"_5U~!{WgY|``kgk3M>ٽ#} $ٰ^]>y߅9DmArNv1%xSjJ:Su|"',>J21ٯv4iUCEVŦlqhTEU\~7ҞǙSuRI'>b^y?H1ܱALz6Z~;q.) @Be|K6`WDQZ _TgYsʁ q'Hҕ 9ضkVg,)LvTt?r:D߼@aRb~2cN@A~ 0TeZ;vuƀQ!ۄ lEѽ^:P%no˱>90M`}ة0~w@Tk"P''T-Yy@뇰6QK/  iL4@Y|F(*-#b[K˂5q{+HYW'`,fvGa3A"QzϾ c?`ទsF =;Mgs)L^fgȄi"<{1OaihZmOouݬW2Z>i-_SK ~ ն;*U on#{s5? l@ U;rP3{c}>L q8ዦ3SV2hYds@yavF)z4ކaq\I"K43Iuy4 q+_,uEU/4J$'(ccaE&xS%YpCʳj`IV=+̐O'kd0D"ܿ;GZi}1`}3Y巒! E!tK  )Fd[4M [ʗhC[C˞UV't'ҊiE %%8+1pV$ @Šp-߲WbYQծFK-{R]+ukN, X+y\4UǬ0T)U{ WX3V.@T`rQ`lٝ%f¢V=ҚMjMuAH9=%/YX9Cqjґ訹:s$=x \rf^Z` W#KJC*/ȥ!v4D W`ka7Z)8SK]ke$2x;Sgu|EX"4 劲C ~ƧyKnc2l`G6q,($⛾}d8 q]H9_~Kij%h73 ՐrO *Rfڔ5Q@(Rl.f<I`IT 1loOS\B%w@. w1f}w?+\U ҕ/ԊlG,$0V!los7Vh<3)g˜Ầ9VuNⸯnFỔ_Q L u)fj+dՋz¢qBsp>Q~ ZR/36_d a#l}f,5Hol9卢r5@>/K Weӎծ۩H_"T?aВDbet+fSTBQoܛ^sְZK-(yPtv]D<]XM d!³QQ[1?z"aa4Fl#?cEAՀ"Œ2Xn¬ 9YM/h&s{-)&}"wbI; (-RFnϩU#6z'}UWc=?R( qm)}d'Ѱߛ詷C*]GԷXxikMZ q>9Y7k@3Ly3HtCtLHժ@|,C-Nٔ$$6JУ*n},.՗",\HӂQ^ p(-eU2wɤW)}!,ꬷ!jҐf$N;E{U6Q$c4bmm'z8챟'_oL1/8cM7z<pteBem8%q+zTҼ~XN} J+ AkO+G~1:v07lr~DDPv ]1e`Z fMLu \ʖ~ᕘd1Afٹ܆j(c|B?K^lU̟[g=IyޅuSE@&#Ӳ;ek c 0Mʄߨ%6?O٩]WY_=<#k9梆UZ؂3#"9I3 .B $AXGb5*AŢ>Di)Y#,Fo]&A( Z"kB4e}Xz_ \◆u`-z(TU]SmfݒHF?H d8]KJF/M&Ү|)YUPcjG|+1d'jrKpkəWDaߥlP_ʆ`euT䓣;-m,>/"^LPliKk]0;Ւ/!2W6Bj2JhE ݰkv7kR-r`H4uӫID@> @8)C×le"ٹZs;h8Lw q1a}o-v<4Uح|fnR9Qt6" 3t5JrkH+tCáաs[_ kqc01<҆,fĴJ5݉CZe 5qhvj`uD[ @݄"g ,ΰc 4U(`u>EXIɉ"c%2v{2 cAzs=#Ь&Je =ro+yz_.>y #$sKµAKK ,?epOH2k{6a _dU~ɹed&_hQ/^0܉8Waٿ*O@qR :+%hۉLR.ba* );I fd)z BKhY +F^6S|+129WfNl*_[!Hh%(<_؟)6k= [([{imB|==qfZOm d~$Ζda]Bdgx uZ>$<&r,TgU^xU➀@e4r&RqW q4b i*9 UF``O~ $aתpq/ڔoٷ!Xg } &g4w7Mν4_bOk+]k8NwwryԈSڞ*lSxF!#{Lap&O$"ðVF0?e !8 y7_]觟#/'|4eSdJW`?ۡ[T|Vh\32G a"ei_c ?*G:}X*ǚ iiR}Wnֵ Q'[F|\fWgOxSt> V2TkH7V"$J(ARmX^j Nop).3_/P +|Ќ̲)8q<%T$WDn3u`V(U!<;w&0=~ryxОV|#tyEae`){黁ϋzc5C$Qú S;[Qn x4H$[gH1`WP#A&| ,GU[WWHkb߈Aέ@{ˑi$Vk2yr BDP|Kc4b8-.YI5[Y͒յ˰{nG52<(AfHe\MDx}~|/J--߻B\8V޹I>l"Ҙ,f*sqft+U`DB`7˰3@[b_ ˏTƿk2- lW]X6E0 ^mSQ\HIalwwn)Q*K2veƇOpUPJZb@l"ކ6HD%߽)YJJϼve 剼[DQ(Μ?OujQf#=./6)tPׂQȳѢxwVKy}3pC;9U<7=q'nDG{ڝK,,龌!S}~M"~&٤MOxD{".&e(%eYLxo樵Sß^[/rmc09JF?(d'GA$dlw=&EŒ=RNwdC0b٫t$Z-w8Lz'{^m 9QG~Y'Hl!x;OvL$-XU2jVP1K744N›VHR74NPNV-%*r\ި /Vqu4tPnIh݆k$ ({)2aDtvϑf*ȐHd(UHn{1?^ʥUe>VZӰ\n'-F~`CA|fIGcSм960/L_0!t9!cF,㩊ZOAt.+L/FGV P;?IbmS䯑Dj*fE{Uu;)g}K)lʏ,H׃+kR)d: S.c~# PSntJ¼>]z/2V˶!1YU!BzVVs;XS7nQdaazp J23}gvX2E@`R0ܚuC@ZET}[zU._Cq mމ0xuR<Ϭ|a b5XqpĐ=N-z /-U86?_"7sri룆VSP+Ъp&>E  ?AVJfAnO":fUfѳ QBbUh\/ŶSy3 <ͅ?]4 Wef@RqT쫰{ 螶%P SZìND0nAE"GEM$EgT= VF^~42I(]Z>S-o>0%[2ɂB{}Yu@exFOģ{m4ف,ﰾA*]6 _aJ 9''TU8qWt)J[fV6T ) . 5dNIvum Era RgTXUFœ:uNDթٔa~*u' ~]"Tr)0!DRMAၐ:\d3*5/D,5 f'mUF؀Zͬ0@Z M~aM>JԳ 2ll,w4yS`8oE;tZMF_q# psT>UAkcaF"s+OxO lxODA7Rʱ22<[vr͔j97Yzc]^;N7oIRs.:L˚US+ʫҬ#:V?.`4{|U+cyS-ZPA飝?Ԩi˨3'(FaLU XKU• 2+(_+|6~*f-3!sL${,>q5`t:*Yrkb2{!y|暴*7+L@nzN<B`B/Q/4b~G֪s4uJHWD"Y47P>p~ޟ\LZt?p?_VGts"Y;Z}SE0t&q'}*k(W*1t'q!65L"3/cF*1^ `IU{?E`ݸTbTgչ+8Wi3k}!b&`9Zj{Ubb(cH2d{. *֨ݒEicΌE[=F>jҚQ\4 .u촑33wdH^~aµD`rf)-qse  BHQ8M凔[H^kMx| d_}˞SoN_=g'++}Bqrma!_4%Xl!ӫמ؎,o:$'qYrjei\ 7jG fW:ǫ)!îX]p2qDXT*ĤlsWua!C[>'xZZtJj= Di/~CwÝ* utQ39_Tܕ֠ǧ]}ucۤ17BxJyRUٮKi3t2GИ c>j<}XBssqy7Q5?HoԵ<С l6(Kfx2Pzb! Z@EJ%*[I]8cL(˄ۄ[EÝfrJ_O쯑BE+v[ӎ<ly+:˪eX X‘IvH`-]>c\tMg5/z{|s#_M?{7ݸY#=*CX̟ 0^kMCr\VyW>'=f=(*^chô7k+.%M`O]"jIsLjp0c6R z8^vJ0#L$@Kal׾ƆXѱ\(TQ);u/ L{R+/=Ԃ·UhLdN:,5v$9u_+$?`k*=dxXJ8qV\8=Xaw˓"줭DKtև$l'U!ƅ  *EmJ?e-᜺* ۅg Prś-__i&XMƗUb?ĺXVg?& 9Fh͕3Y&opؑѵ`D>L)Ɏ!Kbc41<\\op_ <!6)7I!e8F`]hec+} cZZE^ XjiƊؽ?>s&sMumÛX-3j|78XϷe3L 5}mx?z؎ûnX"I'r?sG7X9ʌPBPgm ;L t̓IDoӥ\tlxaS"~p@?Bw?R ? F@+tI $F@9H#>2&BWS/WtAgMγ?7X# ?Ópr wHk`\ 9`P0o)a;4A1'Øܬ#wjGj~[_?|_PLwgv=H]#V9p/ ջ<N4-K~u'jz(˃ry-Y=Z"yG4O8O>}5 MZ-Pqk֪h-zNl706Šey"z8lӣ-ǰ;se3T*,lɪ˴7W_ss&-M"c)y&%Ah=-ͽ(Zd{E .. R@ eEReJ8 Д'I_U`WeCNC ]2P")iZf徸mL}F8@ W4MI`6KD,y[עAP Bx~6xg>3c m/Pnz aA-3IՋN7'AŷM(1eVN-܁1FKt!n2d#IRYI٪`ͣL&= 'w yQ9vx`'3,&.|T 7'NiN&G H]T%E=C~r5~HGi"8 Bu{]I؆E(8LTGmQ/)~V xG &ƫn3p'[gjp#.!3E 7O+l:y|Z 6}&քcCNKûs~)FwE,[Cmuߩ!bQYu< $6+gukԹaKPK';:''s%&~F?vӶv4'A04$k,-ଦoR-0RkvlAxߔ(쨤3FL]]>R<e+Y`*u̴M\D+uOګ@rV^kw۩LW'R[fYfWKPΈ|߯!- 2m w:sDUIJ!?BHS*`U!l*!ڥj2,lzibჱbgĩd(li(!i2Ȣ_Uy2̮8ΞM0Zׄ;pXgeݸ mO6XF0)옌Pny;l:qI w]'V0瀿Q?-%N٢fխ?%@-ؒ5U+~$Ae`0q]wROu=o5kKuZ|˗^zM C8U^\8Y(g ZYcۻ ,mAO/^~H!ꇣUW`pmsBE5ݖV̫w~}[eg{/!Tp B)/bIn4Ļ%l 'nr 3ُbYBmU@D,-|(@!ܫlrMu1ҏtؕ]?v}S{ºcI;͐cK%w ?uvGX|Ī /'$р۾.bc5魧[{=mAkꘗ5F&k걒aEc-o Nv/EH>R6GЃYt($eA+K7-2uoF[`jHEJ[=4y;] PVٹ5>fo\g*''o:{G]6\;j@p;`1ãoʊ}@GW/d)8ND u.3~̌p{j%@?4b,LCTL{KIb*9fASي6ә\zBgߨJ)H2rKH- g],2{puG+\jJlXP3] nܘgOIb7.(Kd>"gbXx73l_sC{f5`l-(;媴_ˁ,j!,a$lX/.U9Z}׹M;xQ{Q}cr@84PyJeXRT~&``,<4@‰(Sy-xaxNP]aJk?"n/C5 ! eHO8=l@kH P}vϨ=W򜙹 !}!pl)md^a_!\E"F?mJ6 тt{چxZ 禭vrʵTn5oZҶ%A˷cWܮzhxW$pﮬ4b:EJ~W3F!o1l<Ёl;&2XZ$Q<w\0DPEn{7б z*.–j+(cG+LݞnQG600  &@BxOeݕ# i3V QvŝW0F}VIY;t-b4^4cvZi!&-Z+$Z9H^"i!E!p桜>F?:\n f3N2 41a"Cs43,h!p$e(C!{Uݛ(x󶍟)}(&:RN cb3ʯqKx%8kʠ1 =Z\]YPVat^n\PgJlz݇OLpAsot$ژmC``#3T@J\l¦~'ꚥSvVI H#,ET"NnwZU[. b_~aVa #4 øaaӾIKbX|,!;:aL+TtW2K{w'ʣl}&Qߴ +م_/;ޥ+ew /PDKUQU)6>oEH~Fuw},3jkLa}IۉgI '5!<˵uNGF,f`UU߼*B#|M2\HcP&x|lǖ"X<*pU{ ة\2\ܑ̚_xjZgmy%-̕ugepȷX:I,XEK6BMMIf` NCI.h׶i0MXŀ6]3O HypTLTϟR6qLNu@{}x~`Ͳ|,qZḦV'G:u_O}V?9~ߣZ=Y5>nv?ht^If/E#-/OˉPJ2\{~u=IG.>n81eG҉7S4:hVn;[gdhk d\[X2'h]8~;x*G6<鴈uf]Fw>d)rS(})(Oab* [z`Te˿EE@9Jҍ4~LAr,{cQ$Bb$P55rwBslQ|;XhLIpĵ`ML\iUZ_2w-( ^"q ~5F(9Wec QdOQf:):$LfAZ&\,rV: rJ cE!o'Lo"C%h.BGrlL& ٖ1|&]RSF3yt"$%=l?`dZfh@OliϧTjx&& 69` fE [-ᦰ66=ZQ+jKgLGĆ.ɎL* {YnTzRՂJ"dJ )1ˮƄhYǡ1E- E{{^[;Xts1ʘFK[c?&<]/_Oh2rxI#V`9~_VNZ}'p^IfInm@Ɩ=,F§hp).[Reꙕ <8I]}?|qi$p[.XkXQ܎Eѵ])lmL4gުr) BuCJN= }5<ϩɌ50T$ڜ@߄`82tCqҖo7o+✓f<ΡN![8)OC%)_iZ,*uՐg! uVtd'G>A=CRryܹ|G, %+c0iWKinX_%nXo>+;ovdP _(,La҈[t)*[')܍brĂbnKZZ~:b"\hYBvX;nZFՔF.r{YxpByܒDi:sB[oָ(ʺ澽QsǦ,L/c 3۷qlD/l/U_.DJaNkArnLYqwcK0>H2ҟKޜx|qbwreHc}(y˿)h[L=hY6KzԄ3wΞGrק\=>J3@ =f]驧ULV'ϝ|Js}ZO 0ɺىRg5xI'!I|'Y4<e 1Q,SD g-p0_ZblUli.]uj.Z?R _"'#Kj^`a%5EY{nFgY<~1~)^jI#Oio,oquT1EѬv_> I10?|gI!y[ fE2k~1@`"tj-<.aP$G-81-s^I|3}8xvX\5\UtpW9,RJ7 ]Oz/N@uQgu9xrqU{?;ќ//4aa`B74y\~BBxq܏V#1ӷc>hkGl2FpK9ƔrgBOfp$VC%(" 8*}74yɾI|8)DINi>4 0SQ[)=Nu: 2*_`֍iW#*M`"B!c`M<X\2E@|TxԕjKLNv P"mn1hX+ |+Ove\ChyQRϫK-}F+;}3ygH54Q3PY64,PZ)k1K3Gp"W7"ђiG/ԏh6n:LDWHD J7)7{h 'd3^`؊R5]pgvC3~@AUKU^;`\W$X˿mlU#)vt$8Ϥ{BTUr7dor[E0Лk[PyFg$ŅgFJBj _^+O3'Ex2 )[2= Ul2v6!Cms+'f|96Y*d>/UT:mn=7["Rcjq,sǔs9 P9SN`ܠJ| _8QA:21ʮkPًqVnJq2majbӲ[2Äv?vt&8‘"e44'F1cEO_^řL0sW5lۢ]sW <@%{a\%I%}F8V _\W7FѺ؜zȞ}$uH^Gz",u7a\)*t BLjχXo RWLa-g#7ٟQkǝVc֪m18"ݸ{^"q%d VC\ݤPި< m*5)mpa% #fCv'LK #q.vmvyS*`[G\De'p65hߍ+$g[Miz(|U #{$DpvwuKrG;T*y@mOQtfU_3HSQOWd@z:i'&˩c ޘdW)>Ui)R9_CQ J@},8O3|#=E;&B8U0,+uy"5ʔ+fOIpn~Cvw~EKCxgך$G>V[S<Դ8F$$W{2wWΘT~u<5^Y'T!~&X~%.s3Ns}ji{ h=(m:Vzz xPòɊL7&MHlPE1WgScOTU7Ck/ͺ ~]žjn<}Y's=sÒD69: Xε<\p']o^[oM/X\Wt1"lnY9_Nm2g FY2*ѽAWSّ'Q,I$FtӌwSqgXM.u@ :N1|wM٘yc{ w譟;o|k OIk{xo/zE2R;R\ӌPTOmXKg&Yijx!cqѯәH]\aڣ -{9 å,8q :+!M{y~L"\1W9M\pzœzb?&T)5,Kbqhei"A.ֺQ(SR+5\W 3Dl2d{;׌.ͺNK)+yF )Q!&A 2 51=ory"eLmS4rwF/7Q7uTukJ(Gz26tAuDnng|͡yD9f\ι0AZp_7r6`y3-Qz]%pZ&}뚘AB;#L,V05;vxjZ+vsD4ˣ[ITԗL4UkAim4T!iyl'\6{C>N^e!ء:'B`{9E75J/vzQM]y`ϱtlЄm[ؙ:$'!$_,(77t;3BY{y4ݕذu0ǖC73q@";aZvdOjY >zCID&`#+ט5{\=ieKk*8v5R29e9Ey^/gblPUk|ǿ 1ډ53 ߁v!e Nz/z(8(qursReėaw:T?[4~5”ZbwaliɜX`6_c@[([rKŗ6c Ɓ糥=𵵛#NUVf1@Ϥx*>* cr dq `h0)W xIj4 *OMoaټ(Ŀ@vO%{LHb؏Nڬ"3唬UBD윉IX; k}cgMK)8Ŝ%Kfj.v#xT;* Ir,c,|굿WЏ/̇J<-MǛEH f;e[sQ%)ӽ&TC;`^ϺkqrdVV90}(Ԋ?[7aM4};ÑsnbYZ¼4R7o)6%r9G9rǏq9|.7wS>Ѕwg/!bT$;fz]@$Ί :K0jOf> Cb}D~a ߉v·vh |#{;zT1K7 d >P͝&GK[nym4[j5lj E59됤{Ս60Pߢܧ7!C<WÖ!vhn3T*nC8IyΟ+Y;_󨝩0BߦO,(*N_hO)Z2F `0ͼm IYs1E=yX zui&; jnK=*-+v:vL;2iF_1QE5bm]z2F>ƴd̐ykR)P1ʦ>z6zECgWdTԷ̠бWJAқfblc;+#zc!#&˱&)tRO`썤e qۉ yշE}I:}WD|H^*L= {f?U^o.$ l?.39;4fD]uWXl 7HNz8"SB 2݌u.ys'Y$_ P|5!:."Q #f:|Jw[="΂[V,Ӊr"R0.@9l6h!Ld,?INYלPީk\.>ODFE`p24Iťj;JiqR,9ve<ʸauGO#o wJgdo8\o+k@x^QʳzZ6]_2"5? )d̶=}tDxqr.vT${A$yM@:7m^-g/mp,(kO' )܀߸V}f{.^J)VȆe +Ͳ]`WiP&+:@3pU-IDLfD _]s= NwӴ h8 @gu_J#Em—,dݎQWhTZ)ԥayR*C4!P~ATn`g@:~ͳ5E&0#tm4.t+͎ l"4ئkp .1@7طCi~)Avo*Eά*\D@?]^V)7;) DYrV._# ?Y?[l9[-'P(b$j;NN# _Ȧ.鬶 :2}MJnZp24G , ޛ91Gu#meMi7A{P͹yȖ06h@~Y:P6rCϧt>-c='xR )A~v2/vm.S.δ Jpϊf e8} ԧԂZ*]@4:ǫr7qàY5BI IMiq]g1 kY#F8I' Gʿ ((Hf*2;K[ȟCP *"^%!"?,M5^#(jEIEXrՏlԝeS(T[(K1] 6iTdkUuYtkz0\Xv\J_]a1}h8"uG v AKJݗk y2*LC*TUۋz's g2 s8 W{GۆT=3k aBPmBKeE0eCyIJ}P ѩG;vJ"@`K@$J^=obMtoK!0ؠ Lp_d|"ӽp~02c&}d?DQ/$xE.tk^jH=f=#an8BO QVQ8LYdxj\ >ݼۥe^=RXs)PR k@5X{"k yf(`2H(;WxF'9(]Nr˯iED<;6#"eY-=:3+&yO,dH_1!ķ$w$~DX74Q'C$3ʌVD:aӎzTv-`ll6.) foQmìsg(`?j*#0_V O{G7t]ySWM:I\mm+ݞwHruVcwj;볒C9'dD:61GCƔL ZWA >Fss]#1q6NO'gSI Sܰy3t7R  `6YM%'M|RD-6h27|! N#R <]8l=-ZŨ;ʯ^m<:FJ(VzKn|pduZBUcw1QbCF-bN#rnvQd=̠8 =Br8dh.gѭl̯^X@ZH։%OHQڅYG33ɍ80*]@vaH9*~)N7սeT/SwesQ qi Ѷ:Ƀ M_APUKW7fzJ}oo -h^6>$sqaʫ,Qp1FXJ7U5 ){4 jiY|8.PoF.1@ I3f,zY 'b3m_Nq4.er I}<\[TڭMӕ) P*LV3^3Ep&L9R쇄 Jjϗh1>~hB~;rpRiXfpuv +̫k5sx{sRJόLƐK[:Jd0qCzdw]u N%hAsM3lK23;aۦ@1L գ]Hb]V2f,yV6].0> Djj"[YGo`t[=ᠨ0sIJe}\SKY뀢W>*@.aU`\*-PO܉=>^a$9gNR();aۧ9? ]Xa?a`4Yft/a%PׁьR\m'aJ|GϤ 򥞤BZl\6;gB,SϾR/#KB0;`~CWo FT?n2:ߝ>މs -BON>XD7J OS: 5m_Y>TR)|2@+J/5+?z aF9#W7[iB1Q-RWxy1Ơ7¡PxqgMtb$1H9wM˳'Zg!Aj7qu۟Ugk&f#X>!qϗFW T!iqvKgL8K 7K27_nw#%{r͒ɾXd _Ǹ5B.͑5ӿ41?tKWܩ)Ex-nű]^jX4:EzR-Oӧ}!'r` _j'IyŤ=mqNIf;ڑfs;AN/-dOWtlDɌ@.I 4vvNN5TGJrsjمyxe뽩k:AMھ7C<2ǽ摤{py^Ecbׂ"trlj\6Bd}.L_#򲌥(lDQx@%y 7t0L?c2pLVͪ׹J/ ##7jTT%KwĔɸT?KFPm"<n$P{5۾R@f542 ~7HyvmU<ȜʓQkU@u^m?<u߮kBpJar"hps/Cj!~HxH8ҷD0 Nʿ:/ }W"1z*;2XPX7@)%o X 9G?]t\& [Zc `eu G}8n&JGW8ijpJ RdLY$b RiAw Uoً޹wfbW[K\pkw1}o~b}/iIhd!-`\uJA*nu{ܨ CJwKu;UmvK=7ibZFOn{7I%vR~q])9n?7$2~*aklєu"sN[oq$?"%HXMVG{T^칳WBa;:r^NLڒ5G31(1k{m0m)sug Dמ®a看+\ZEUViw bJ5,u\Y1EĠ;|NAX:mL= aa#QjF?'ߋs2@ȲjBW>3Mtq>Fc!Kt|[#׆z@t,:u L,p%e,l}׆X]gיY*[5 DfN\'B xFeB`V Q1VɄ8@ ^ Uc} F1vD4{jW?jeG 1sK|FY=ؒԱ=Ku] *'HY3p5{Rs}X0wJf—6Z\9!a{l^W%Uɘd*._YJ;ST#Wɞ#1j,!` k)e閧rP3G|2~P\1l֢Th6|ҷXZ^F}MG@b6tW"6oQ"JN^떪 Ok,T|a`kˀ ZeI2-w Ӿ"H'%i 5" " X<[{Ϧ@^ڱv5=dM٫ֈk!r,2.fF3~-|1իϫv odQ7!I{N%L*T&o}f==:;p)S⭛\s.I/FR'xe4Ws"FQ.U(%tٖSiDP Rm~\c^Ln-9H^J)$AӛWCRo66̚: B^ZCK5˭2JbSCФ|t9LRwb5w:(3a$MP28WgS[$恷}< 1ɃQBseƵҥnXeQz8:?Y|ԗ$i!hܿY$٪+6@ zVVt-{/{]{06htV,M׶cb_:*Iÿg9GgѠi쬺׊EulZQ~{{\'=V]H,ߝBFs 9|nrsWF 5Z)*E*aD+\&zڞ^|`üG+%~ ѕv5y4NM=Jed9"TCݰiRkUX\r3R;Y0f2`VH' uEO=01 |ƒْ}=g!ONqU#ƛ >b0^îWd*'_j~nB%( jrבZxM=\B;Y9:8ad[ƑA/b vQ{0ao(Vx!-.2=Cnx 8.?C~-R'[FM uOdMyE 2cp6f;yf~.x'ਜ4#&i0ج8X܉ c5FiS#H(wLԅ}+c#|e^ޗoGW9s 5;XCdNRޘV`/-F -3qlX ,U;8aQ so+[&e,eSB*§!Ë7ohҮaA$}|{uk [/E g`D3芈4$AUd%$h(fg0%N[1F*rt+:#,ڴ"]i]dcJl=} Sew\_xHо$#ck{MmuߑjobX{aAgTB2^4װNcͫrCmO !a'eSȦ^u~ ʱqs`_8ouT7m݋[=`]%J k4F<_}U@kh1DZtQtϱh8#ĪD}$5p !t$?IYQiH ]T cfU@A ꛶n3@DzkA_rl^EAܔ寃#.{ }Jl_{#X@L>7S"Q#-l Rz8r7q#"MPr}5 ^6PG < ZWdl#|PtqMb<`iK6ًI-/ nY48eX%xy:%bD꠰rTs4@ENتpum/ݬ \<%kr_D/bՌhWw$.j_u u\5MHa|DhI'QXf(,KSmuP܊QR[ ,FKd 7בGZM[TA\(#\tSהxE,,0̉;((Ez(TjJ>`8cr\ֳSϋBa rLB U35PSvoT[(P^#YF9鑓08`7Z A!Frq%#p{Vw`x~:B=K$!jx\ 24|q,Hr0n.8;|!7k}τq`Ur`[U5W1,AڈAtAevwGe9cҠEB3G L}$N"G#qP"4yw=;J-U0~8zSM$uCSaYOl΀ l h唥{*\]/qQﻵںg*(70^:y f3H`&C;zBd[Oljm[$6ZB315 [pb (/G AZ fՉ/Z# uYx*(k~F5O ^g*RI 7s/W ol?sURZ'T6N*: ,tCJPi [Jw %E3X]>Z4mdZrVu4+;Z:C2~1ve}EsϸuGWVN2⴯+犌 ̉(WCRqvr`IKE1LccA)WX^6ݱ[K}*ԷRvի|>|!A^Y" 64ta噏ZwƌlP2 @i  Mퟥ@ IěDhk>o}HHq.=Sg꼠>Si_NJyL2E L(OhZ5*24Xh%9Q?у>TJIuO8NP;5nذTL.?-,+#W s,vi^gAZeH CI%_)9/_,<)Y\wPT}iٰxO AEZE!w6;M_XYRG{!^?Яx} 3GNJ@nizF^hC▇Id+`z;fftɚ'u?t˪e@kH0% 6wb[tqLa6'*" $lxjNx1I4|Y2_$sl]9Wεk ,>ډ ?e[ffvS>Y:U\g/h3=jt-Ő16o[sM1BZǥWt`Y+qy(;0QtET qq^ KSC˳}c#hnQh9g)}莀0=cϞ~ݵG=["$]VI҃Ut/Ft] %Fވq1G)JIRt^*,(C4}ȺXEc5A|Y)?%cW&/zT)kP:p2Uf'WwJ=+c9.c#.Jxk^Z], &B19N%0"jwwH2KkSoaD&ce.}R̗'m?O2c%C1:ļ}=[/:x6. w[ _=U ['XڕWW]wa(T=wpuJw!_cKþW"_Y(7_֥vek LQk UWnQ8]ĭ% ifv;G_˸,ioiRCѸi6L@`=s70qv6B C&u]d` ӟl=iMoЯޖv"opTp nm'\\AmlQzVSk>[ 9a/AmnmRKsc/ js0dTξ$2ؤR;xվNZ??Zhx=]J}j5.Rin oUmT a;m eMSSDɘW> W/~!_q>*u:;bb}r!}6)3nŚOm;@0pcbE4H%g  FN`9Wϥr ^i|'a-p iaBB1u_ >{msN1} ËzG4.j@#}~j9ͩk]pUԗ20=k"ƭ>uU(ZRQ3 632v~A;4|3FF! GEOpI.d!|Mٛ?BO竰'OM#k`]-9$8)RQ [<7s srɐ#nKHy}D*&]D4Vvw*s $3/ŽZU׫et >0a|pۼZkјg~=#1FRjB>LXGHrP74,cJͣkt / 睤$+_(؁rkWm]LM+rcoH4h˵ұ\AȰ13^mrjɗ b -5ٝ-!r"2G"@Gro)]@ҎUzB!PTH;Oҩu9~E0ܸI5<@Y:jtHv,,#({VUҢVV,p;y&j丽t kDi- $N ;avVpj Sظ$%oYuր^zLIvS;3e]F8Fq+hr#q(*ŖE@M+LcP5TJM*Rlp)lcMZ-bMBO%by.'aSxDˌUg=Dߵ@5zPXfhmyQMvU;K˶gV }8Tn\:qM~O.({D-9JSѢ#7%1Q"(Q`JPR(rqXԻ]DZ0jT] <^.Ǒ} 9n#J/_^*)b;9Hqbi9 J針ey3b 5$,)]<@xۈEz#؛~^+UY!ǹ 9sL;ZVduӇFWmH"b|S$G ߲ f|R=NW8sEGcpMs"Ă-( 9mne t@-9$raq%J3k 4HeA^)_8ɦ TQrƥ۰5 ZƾA4Wz(k&_uP}dC.A[y=wgy2β{q)Ji+TF=gCKkfրO7F3|}f7H̾LoeTpR:Rb?-2$3EQB3|Pg1ƯkgPShqv]xU$tf6b@Bl|sci`:F. r}}%a=et)OEnTi+y[ْ\RQ1U=qᛕŒrB;QMk/4Ovk'z\J_ƲsJƿʍ.˕/&;=_t;,̂Re]jhcl-]!s0gxC:B ui =4֞B Z1k)'# i8fH`ogjt "QRŰz.fJhĢUqؔVշ M{O rJ FHN[2]O]XŏqQQ2zA۝ ;tjBMR|f+=ҾE@J@_ К;ݫ } o#ڟcƔfw>hw.y1RaD "ʊsh 8GLʚHp+.vW"UbH#|$ΓT?tϽXbhc?F^}v9NWͨW,V$*EX(oA矬;0.SeH|9LǰJl#ljJUQ֫Aڅ4h;4.UFٹLQQiAqD>+8lgC]\O2g^VfVQ@Vo#Ggv-HoDF}Р7hY4dG&-f Ջ۽N$KWυdv@;Cd;[{5cVN'༇<#N 81thmo"!i6Gu>) ѷFO|JOyzL )}^PtvhΞU>g=U$B ֳ}J`faul-} mM9^+#fvxbY%!XlQ5fFNƹTOV`z-mnLvYln-?< 8`ZMB z~P]d{g*͡ZJn|[M&bis83pq c^e™:t H~,ɂ{Az†X~u:3/hy<#-v8&$-n㰠ޘ[mwxYkeo)t%bK9s^^Jܛ^M bD0BgtQr o O4Ğ^ϜP`VQa!aSS^_fAZPhaS{CwP?SBa2nƾh4ewo:ڡn/<7qL_cp8?G=ɾψӺM@6JՊ@HLyi2$'j:ȍvn|*UY3 CNQ4~;CzPTZ͚CG ikh4g `MmgqtN(E]+W)߻%b1~זb*axSV6mkl6), s]B3O~֙+_bQzoԌ|%;Z;p*m8 n|LN1Gƺ@uV}g׉P1 mVE aR䔱^`#+Qļ_NTKTb[NJ0 "f2Kt}_KH.& R mvKc*~ T-Orgwr®-; H9BVde'O[0$}ߋ.c 'lOz&l2K!em踾y\Id:!3N~y P.M@1bpȜ#E/оE2X\nFSoVHOL`!Lc-PwV,֢yABZ EYd :\aTUhH޴,n#_/t%]ͩb׬'Shyu=#csؽ LX0&Do1e#9-7ihPd0EnP`.ED,A?~\/*9#= nC1<{&1$RΜ+էg#K6")~͝(.(P㔌+ ¯%K{Z)bcag؀P>-N혡ya `uޑu}3"j!un&4l9~&2Lq*2Z@\,3~`s> vvdASrC]Ū%L2W@v'}su{†V28|;;"9:0zU1_WE'r!m& :cea]r~W!Zz`U98$ Enۛ^%Y\<1s=ޠub\elVJ<8p(@LA3tӔb!J һ$2ۛzc/pJQY@%OAZ͔M[]*{~O o(RX 1yF+ƣș:V "  9D)e߇uU4L{HWlg7%yvBԤ ?ĦtgRU/ch ":έusTich}YH5;? !I}2p#)[HECA`}C~IEûc!hAGX1q"8|b;bI޶ԉHmъymfv>zb [@- lΫˣ qX(-uGcF7̈Gʐ){1e7J)jTK)txDv!VqiH qF~Ǭh^pY j@W69zv;F=3GjN|^ڐG Tك;u&->bqC>Ϸ571_ԇ Ovw9ut*'0;gNhG6xLTs V9$- XG` 툸Zp濙nRq4nu=y4A5 (9f ~體 g_xGq9=T³nFSʆ|4Ѵ8b$Qz#[ŸG!ih֘F{h-aLtdUe*akQ*{AwrY=,ƅuvz/>ԓ'81,F[!thZIF/:-{lF#3)(gDz0q~2C5߲$:ahv='/;#KTZI.Zf42 Ivd)Pid$HPYr#8`o_,a,hT]E&`C]D ۓۇdnЏ?O#*ډeO3rL4E\x.X5Z?S͛R㥏ϙ U4Gr peQöXx.,r ]/+8jJ/MšwRoX7vpB)>_b'$={Y^8JzM#)ݙA!fCa!~ݏCU&bHǽnb!}U\If țѢgTɷC,*MW+ -L撾< Y6QTM} ۓ~^4TF<"؞)9骛C.Il3+_o ޖTLw7)b"|Ao᳢AJTr ˏ*šY:kNĹи_Z94ո05]5Lx> )R*Y[:\gS@ erx.*HMy%Q8crc#ڲ\FdY(ObcƓ&\2Pd*P1 Ջ_O HB@m> 8RZ[0֍+/څ,>s$Kgc1.7l z/QǼ+vX/\y0P?'%kmq9 ahjb*+uVg$NWqm$BќY\n>mE'q'sZkbBhe2o JS35;bKղI9ddY\7!|)8k-M.u*-9 _T u B& -b^E@GiTvHܸD8P.q%=ƭU8v.w¸I RwoVW\t:" j_࣎6hN+X\D [ ( [Xj3cDtl '% ;fc_H,t!XrkCS _L6Vhmf^XIK^oc!Kl{Xjr^Ѥh_'1nUh:/m~1?==&o6}b&A+} p69ѲVZBf ϡ}+&1 x p¹f3f*hGeMx^Gm KvX%@ q4J/m^umd3~ILWgD_ahGTmVSoRr.+p/&}/E]xB^E/B8At,;{ R\)ܸaĩ5`Φ;~z7r]ȸOՉ#u dxlkNU`_!} a%{?zjv(9GjP$1g6ʴ 2 /czw﫛,hbw<_"[|UIx^꾄p2ŁKa88U}TH+5%Ҟi#erȌVd~#}`G&AX(v/W{ٟEf`bPPB%E 6"?'IG\AvFsMy 4SNJa:@ bkc=aq: Jlrxp oO<=xFϔh y6{<8f|* ^SCjD%D$^Ra8$Vy0e߿N`8/QNk$R $7gIhW{XI?}LRg/EBh5WuML=<]nHmeG} MtN'm#%qJcgiPh2"FVyE ,&?~a)╕"zJs<^<#xK1zcɇ4pbp8p*;`J䊱0K54"pf\I%@+XN!Eo3ʈv6s7D ) |' Y 8 n#{QjZj+HΞܧD.r1T&p[>fVK2%*|I Lr0/kCL ?EGϤޏU%~N;O#Y,XO$D[>X~0 x/@:yv7Yȴ('S3YULp H1U,:S&w0nq.nT/%Sp{ם F0LpP g0c s\\7ﺈ& 2n1=9 Wʐ1D_c(\ 쏤vnp#t2aB-2/;V'xQ8{uN1kʴ*\csĄU1a[UwC5VA|ĩ;{Sŏ, 떗% ’nU.!hܧ7ϸyk{v1!M{E[D{&SV6W+lھ$_8*}ق?y˅E:m/ZXʴ[ѭ ycEDYr,,H)IgsSCBOכp:QDV=h4|]W"_~SbWʋ hJ=vG~с-MP(gmFb]Cr- U_8-> `-bi]Ζe1/-Awÿ/n`CX;9N<ɛ6RŅh:G\fOG]?֠ٿuvg[TV[J&!u7:^ E@FU"d&u{vf0.B.CY/ԧ16(""O4,wP +" 8 e}O'**`׵F,uVqSi~%}+iZOG0j9ZZŭb7м`qQ|WFȨ?kVSH#c/;*2Y4D,ML΂"׶Ke͠h%_T{rvJX ;'־F[SxR62RXYCL;ulzE+)Vk(.߳*Y/MgޱpC6˶g+rc:|?ίoZXiHlK^ }]>Wŷ4\o %_3x V(WŬWDptYUF ]&ŗjAQUx+K YNz)wmg! QG5>[d)omFGa =D WCUS诎))!;ڏD3k }in2` ێ )af" c kFx{$T'AD]7$ |r_K-T9m ŨG"q;~d{q~(*h/zT`Gsd짭=%*:A$( l~#m󒖸O6ݴ;/VbsU|`77EeDBLYO%'U>IU؎%'il5հo|UmpɏHo0ِ" PA#>0r?#Ŵ;3*+)H,G9v&{3wP36\Po,15;]_ 7Yrb =((Yn.R mGI`ꮴMz^r{*,*6)8"Q5XQ9 v}E2zQ1M%-<*]efh*ѫE lf|`;\wݭHpþsZaļW[XWZo( -S qu "pUBU"ń^i .rVnn[FL?qΨNͲxk]w3f|4] h0j>PM `:wV㸳FXؘJf;/)%aм^1p+P 6PeZo#>gbQvgfVsxǍcRK rLHi!D-Ă<`UNP/oRƇH|@{D8^ {aqّ3A"8:0oK\59 2qg)m9v ֢C:hNm12N˾ԻuTZP`$!V1~pal")x57sRLZmsT.bO.hc'nr$ }pQÝNaC8kE:TV_Z̾nSbD;,ʚ &(u1;o L`t2WJF]@[5a-~p֌Qע9jN X긜>v]QXNh(PHJЖh{WKu)iX礯K&LwEΆ/ 3C9nES<#/{kk6͝lYz?ʌjfzQi؟|1C ;',.R|ޣU!A`-4`W˾`q nUAmpJc%@:-l5Jh-N*fsfP'-9!; 1oᕦ]I[LQ!?c]3ivtX24OkZ>$~]xגg|`ݮihpLib*2ۀrۖ'g hJ4]1@<AХ0F@&uw `9Ӳ!η~ tYrG&Ŧ]yeCA}T{!ڋ㓽"ؾ>I#?MOB.tEq_<`,.DL'ufxܮN$Z!˾R˙5M7NLY.oX,ݟbyٿhYa@k}h8g/5pj )?QVipEb죝%uqqV)iLW'n\74=6Jͅ,N/T+zF{4Q^Cp7=0V|[UYJNF*s=cZm*Cfaj7ixHa؋I/~kWTU2:#4ƝJ`q)bA= frsEܺLzUGo%A;z rDVC!S'el-r/}.Q_-b$Ic;iE;֧r'JNw,o ~.s_m]܋)+L&oM"F&֙RٞL64Еv2uSAbJ5S.T׀܄'^8fmO^8&|YwơJ5j<x4m&;)^H_Y~S5I|lִB~@Cc0G x[.qe}DxъSoPd_X(P2fMC/S%x?qsāv~ҴY>t 3U,urCt;HL YԏQbX=kyd5 X(LbGXbIEoïu2F9J?)(>/hƑh*/w:y`+o& rF߈xjh,>~8jn\K(B6Zϥ0cM~K+3"@`w59 {f[M _::2D\e^"iƋTwڪ msVux,M;Q>^#8#Q39S̪FI֟pU!6׫Wp] l PcM·Qě\ٿmNA.8F_;Y^KZz sm'Yuk/YL(UuDf<g<)4To Fg\փxoNQ~m$Fb`#Iv>$ &IZǀ/+ T̆3>x $~XcJMEfAr\tP{dZ̐UP`q^}ѩи RHWd%Ct+cfV(j5l1Dn07m٢8Aw~BP9V`͚ |$],ŎB[^,fbêu`\f1^E ?jSmMj?%@`$ o/'6x>6D۫f~-uHV>j6k+HZx8B&Mke٫!3G+I:[6Uq*<Y:Q=* Òثt=V_ˮbu NB!Fe= v>(J}85Y'2x~ l]PN$ 3_rS|=gXY]Z@}T1_Vc^C!SGk3Bvt'|>nCd=ܑB!zf=e#1~%}LZ','@cJ ~n5OKN͞VSRWEGH7ﳨɒ CNksMIለ^&yԖV3c_=;Þ$0MR#СgZ)eێ1̥Wf/1>#hC-@02 q%]JK7uO x¡)N;$)=a`E˘ȷͫᠽV$yװM/3rE֬yepuCZ~4dQZ $2Eݾ:Los5xw5F铋x.;Aɣ{/.,YCWG07DC 7`k⢑mO\˦ʏ˹vIՠ>3&6LP @e#~mB91H;Mbq*/Gqf_FrHLGNl~ 2 !ns90b3ph\F0N7)m rSJ#T;oh_'zmey~tpAɣ,XBCtB\D~!I9۱@c`wl)H7J Kej)y6r~V^ 䇉m6:zJcܺ& tczk~ZRu=?n4QjYCR+VB'-Ln;8% 45.4M)dcT]hc2WbOʶ҈lHҒu?bvZȵO^Po٠ʸ3͡0ԘvN5oMJQWSTOflqs M..h;62gm!PH 2sQ)}T%\fӹ2l!ՖݴRJ2ED j\dH/TGZĒTЧOy,u8S [N&)9+ ňNY+Emڊ{9Giya$cJT/˹i:Ok; nbSĶCD >a+f-{E/Ne}E2n`:е`_~UUjFJC gd"=PdR" e1mLq|B, W8 Q)qp"zݨ_IՍ3lPYmhʏX:'ٱ9ns87֢˘^P[pxwg)fv466訐TE]C K7 M0;|Lhg^f2F?02Vsm9e;|m6*\ ~[|6 *{`BlRSW%p92o9u ҶBz A *n^BXܨ ]xd_mRwd@FN§QcJƞ<Z"aBkAG {F$pQG8{,kg/tR4i \hf|!3㐖7-栊U=;0jԕX ԣ:>kT`ߵ?J!67W,k]/v247ƀ@m?䐧2"63%;b3] YZ