kpartx-debuginfo-0.9.0+117+suse.78cc20b-150400.4.13.1 >  A d%p9|qO/7` |4S:p@?( 6 [ 1R_ u    F TlE(89 : FGHI XY \]^NbcCdefluvwxy z $Hptzkpartx-debuginfo0.9.0+117+suse.78cc20b150400.4.13.1Debug information for package kpartxThis package provides debug information for package kpartx. Debug information is useful when developing applications that use this package or when debugging this package.d%*sheep04SUSE Linux Enterprise 15SUSE LLC GPL-2.0-onlyhttps://www.suse.com/Development/Debughttp://christophe.varoqui.free.fr/linuxx86_64ZAAA큤d%)d%)d%*d%*d%!d%!9ed900ef43315393fe4c64ba7be43072a4bbd6e3dd6b3cb6c3c87b0bfd62df75../../../../../sbin/kpartx../../../../../usr/lib/debug/sbin/kpartx-0.9.0+117+suse.78cc20b-150400.4.13.1.x86_64.debugrootrootrootrootrootrootrootrootrootrootrootrootmultipath-tools-0.9.0+117+suse.78cc20b-150400.4.13.1.src.rpmdebuginfo(build-id)kpartx-debuginfokpartx-debuginfo(x86-64)    multipath-tools-debuginfo(x86-64)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)0.9.0+117+suse.78cc20b-150400.4.13.13.0.4-14.6.0-14.0-15.2-14.14.3ddac@c6@c6@cbγbγb{@bzSby@bX bA@b @b bar@a+@a@aa@aI@a;Ha^a @`[`@`g@`e`e`S@`KW`H`#__$_cO_a@_a@_Z@_G@_FN_?@_>e^@^(@^^>@^>@^I^C^ P@]4@]o@]g@]-@]G@] ] \8\@\\\\\~d\~d\8@\5@\4\@\@\@[@[@[@[:[6@[0@[0@ZJ@ZJ@Z̧@Z̧@Z̧@Za@ZZZI@ZZZZZp^@Zk@ZaZ]@ZWQZtimeout for updating persistent reservations (gh#opensvc/multipath-tools#45) * libmultipath: is_path_valid(): check if device is in use (bsc#1203141) (added libmount dependency) * libmultipath: orphan paths if coalesce_paths frees newmp (bsc#1207546) * multipathd: handle no active paths in update_map_pr (bsc#1207546) * multipathd: make pr registration consistent (bsc#1207546) * multipath.conf(5): improve documentation of dev_loss_tmo (bsc#1207546) * libmpathpersist: fix command keyword ordering (bsc#1207546, bsc#1209345) * libmultipath: fix 'show paths format' failure * Use "queue_mode bio" for NVMeoF/TCP devices * minor upstream bug fixes * man page fixes * hwtable fixes * github workflow adaptations from Factory / SLE15-SP5- Fix "rpm --verify" (bsc#1207232)- Use %tmpfiles_create macro for tmpfiles.d file- Update to version 0.9.0+62+suse.3e048d4: * Fix multipathd authorization bypass and symlink attack (bsc#1202739 CVE-2022-41973 CVE-2022-41974) * add multipath-dracut.conf: dracut config file to install tmpfiles.d/multipath.conf in initramfs- Update to version 0.9.0+55+suse.33d8854: * Avoid linking to libreadline to avoid licensing issue (bsc#1202616)- Update to version 0.9.0+39+suse.51a2ab1: Upstream bug fixes: * libmultipath: fix find_multipaths_timeout for unknown hardware (boo#1201483) * multipath-tools: fix "multipath -ll" for Native NVME Multipath devices (boo#1201483)- Update to version 0.9.0+33+suse.fdc6686 * multipath.conf: add support for "protocol" subsection in "overrides" section to set certain config options by protocol. * Removed the previously deprecated options getuid_callout, config_dir, multipath_dir, pg_timeout * hwable fixes and additions * multipath.conf(5): add disclaimer about vendor support * libmultipath, kpartx: fix callers of dm_get_next_target() * Change built-in defaults for NVMe: group by prio, and immediate failback * Allow compilation with -D_FORTIFY_SOURCE=3- Update to version 0.8.9+90+suse.71a70fb: * support overriding -D_FORTIFY_SOURCE in OPTFLAGS * add -U_FORTIFY_SOURCE to optflags to avoid compilation errors on old distros- Update to version 0.8.9+87+suse.a1eb122: * add ability to autodetect support for -D_FORTIFY_SOURCE=3- Update to version 0.8.9+85+suse.a9da21c: * This is a pre-release of multipath-tools 0.9.0 * multipath.conf: add "protocol" subsection in "overrides" section This allows to set "dev_loss_tmo", "fast_io_fail_tmo", and "eh_deadline" on a per-protocol basis rather than per storage * multipath.conf: drop support for deprecated options: getuid_callout, pg_timeout, config_dir, multipath_dir * multipathd: don't switch to DAEMON_IDLE during startup (bsc#1199346, bsc#1197570) * multipathd: avoid delays during uevent processing (bsc#1199347) * Fixes for minor issues reported by coverity * Fix for memory leak with uid_attrs * Fix possibility to redefine -D_FORTIFY_SOURCE macro. * Updates for built in hardware db- Update to version 0.8.9+42+suse.45974f11: * Logging improvements * Fix busy loop with delayed_reconfigure (bsc#1199342) * multipathd: use remove_map_callback for delayed reconfigure * multipathd: Don't keep starting TUR threads, if they always hang. (bsc#1199345) * Fix handling of path addition in read-only arrays on NVMe * Updates of built-in hardware database - Update to upstream 0.8.9 * libmultipath: only warn once about unsupported dev_loss_tmo * Otherwise code-identical to 0.8.8+64- If multipath-tools is newly installed, load dm-multipath (bsc#1196898)- Update to version 0.8.8+64+suse.f265f7e0: * libmultipath: fix printing native nvme multipath topology (bsc#1196011) * libmultipath: add %L path wildcard for 64-bit hex LUN * libmultipath: support host adapter name lookup for s390x ccw bus- Update to version 0.8.8+60+suse.4c5922cb: * multipathd: add suppport for FC Fabric Performance Impact Notifications (FPIN) (bsc#1195506)- Version 0.8.8+57+suse.dfb672fe * kpartx.rules: skip MD devices (bsc#1195644) * libmultipath: hwtable: use ALUA for all LIO targets (bsc#1195649) * multipathd.service: drop ExecStartPre for loading dm-multipath (bsc#1195397)- Version 0.8.8+45+suse.628d603e * fix handling of historical-service-time path selector (bsc#1195425) * fix marking multipath devices as failed prematurely on startup (bsc#1195426) * multipathd.service: remove LimitCORE=infinity directive This should only be enabled for debugging. * multipathd.service: don't load scsi_dh modules (bsc#1195397) This is done via modules-load.d functionality on (open)SUSE - Upstream fixes: * Fix claiming of paths with "find_multipaths strict" * Avoid unnecessary read-only reloads- Version 0.8.8+13+suse.79c3556f * code-wise identical to 0.8.8+38+suse.2bdd3a14 (previous version number was too high by mistake)- Update to 0.8.8+38+suse.2bdd3a14.obscpio * upstream version bump. Code-wise identical to 0.8.7+138+suse.7c9afe31- Drop versioned dependency on libmpath0 again (bsc#1190622) * Since 0.8.6, libmultipath and libmpathpersist have got proper ABI versioning, and rpmbuild auto-generates dependencies on libmultipath.so.0(LIBMULTIPATH_13.0.0) etc.- Update to version 0.8.7+138+suse.7c9afe31: New upstream version (pre-0.8.8) * deprecate "config_dir" and "multipath_dir" config options (will be removed in future version) * remove dependency on systemd-udevd-settle.service (boo#1193336) * fix crash in remove_map (boo#1193334) * CLI: add path wildcard "%I" for init state * CLI: add "reconfigure all" command * allow multiple pending "reconfigure" commands (bsc#1189551) * speed up "reconfigure" by avoiding unnecessary map reloads (bsc#1189551) * rework of CLI command handler (unix socket handler) to avoid hanging CLI commands (bsc#1189551) * fix multipathd startup after stop during reconfigure (boo#1193338) * improve error detection and warning messages in config file parser * fix exit status of multipath -T (bsc#1191900) * fix defects reported by coverity (boo#1193342) - avoid sleeping with locks held - exit if bindings file is broken - set umask before mkstemp - add bounds and consistency checks in SCSI VPD parsing code * add hardware table entry for DellEMC/ME4 (PowerVault ME4)- Add a versioned dependency of multipath-tools on libmpath0 (bsc#1190622)- Update to version 0.8.7+14+suse.5a09bfa1: * Fix possible string overflows (bsc#1188148) - Upstream fixes / changes * better string handling * multipath: print warning if multipathd isn't running * mpathpersist: better error msg when no usable paths exist * fixes from 0.8.6+32+suse.f11c192 merged upstream- Spec file: remove compatibility code for SLE <= SLE15-SP2- Update to version 0.8.6+32+suse.f11c192: * libmultipath:fix compilation with glibc 2.34 (bsc#1189099) * libmultipath: avoid buffer size warning with systemd 240+ (bsc#1189176) * libmultipath: use uint64_t for sg_id.lun (bsc#1187534) - Upstream bug fixes: * multipath-tools: make HUAWEI/XSG1 config work with alua and multibus * multipath-tools: add info about HPE Alletra 6000 and 9000 * multipathd: cli_getprkey(): fix return value and "aptpl" support * multipathd: don't rescan_path on wwid change in uev_update_path * kpartx: Don't leak memory when getblock returns NULL * multipath: free vectors in configure * multipathd: fix ev_remove_path return code handling * multipathd: remove duplicate orphan_paths in flush_map * multipathd: don't fail to remove path once the map is removed * multipathd: fix compilation issue with liburcu < 0.8- install to /usr on Tumbleweed (boo#1029961)- Update to version 0.8.6+10+suse.47711374: * Github workflows: add CI for SUSE-specific branches- Disabled LTO for multipath-tools * The test for is_valid_path fails if LTO is enabled, just disabling it for %check is insufficient.- Update to version 0.8.6+9+suse.6c05a61: Update to upstream 0.8.6. * add eh_deadline option to avoid endless SCSI error handling * add wwid_recheck option to detect storage configuration changes * add library versioning for libmultipath, libmpathpersist etc. and to libmultipath plugins * move some global symbols to libmultipath (udev, logsink, etc) and provide default implementations for get_multipath_config() etc. This allows simplifiying libmpathpersist_example.c drastically. * fixes for shutdown issues and various race conditions on exit * improve cleanup on exit, fix memory leaks * add libmpathvalid library * fixes for SAS expanders (bsc#1178377, bsc#1178379, bsc#1177081) * Avoid access to root FS while queueing IO (bsc#1178049, bsc#1181234) * lots of bug fixes, additions to built-in hardware table, and CI improvements (bsc#1186212) * kpartx: free loop device after listing partitions (boo#1107187) Bug fixes on top of 0.8.5 mentioned below are also included in this upstream version.- Update to version 0.8.5+30+suse.633836e: * multipathd: give up "add missing path" after multiple failures (bsc#1183963)- Update to version 0.8.5+29+suse.5dabcd2: * 11-dm-mpath.rules: run "multipath -U" with -v1 (bsc#1182871) * libmultipath: merge update_multipath_table() and update_multipath_status() (bsc#1183666)- Update to version 0.8.5+26+suse.2cbedfd: Avoid "illegal request" errors on non-RDAC storage (bsc#1182072, bsc#1177371)- Update to version 0.8.5+23+suse.c11b054: * multipath -U: reduce log level of "adding new path" message (bsc#1181435, bsc#1183666)- Update to version 0.8.5+22+suse.e1e3c48: * multipath-tools tests: fix stringop-overflow build errors with gcc 11 (bsc#1181877) * README moved to README.md (has been converted to markdown upstream)- Update to version 0.8.5+12+suse.3b0e9ca * libmultipath: force map reload if udev incomplete (bsc#1178662, bsc#1172157, bsc#1175454, bsc#1176406) - Fixes from upstream 0.8.5 * multipath-tools: add MacroSAN arrays to hwtable * libmultipath: Allow discovery of USB devices (add configuration option "allow_usb_devices")- Remove compatibility code for SLE <= 12-SP2 from spec file- Bugref for all minor fixes since SLE15-SP2 release (bsc#1176670) - Added README.alua- Update to version 0.8.4+192+suse.1bc10ad: * Fix handling of hardware properties for maps without paths (bsc#1176644)- Update to version 0.8.4+190+suse.fe234ea: * Fixes for daemon shutdown issues from SLE(bsc#1110060, bsc#1110439) - multipathd: allow shutdown during configure() * fix compilation of external programs with -lmultipath (bsc#1133957, necessary after the above fix) * Minor upstream fixes- Missing past changelog bug references: * 0.7.3+10+suse.70ccb55b0439: Patch series for NVMe discovery and failover (bsc#1038865, bsc#1057820) * 0.7.9+109+suse.203c1cf * setup_map: wait for pending path checkers to finish (bsc#1118224)- Update to version 0.8.4+183+suse.1817ce2: Added reviewed upstream fix for multipath crash * multipath: get_dm_mpvec: discard broken maps- Update to version 0.8.4+180+suse.50a2698: * Fix memory access / leak issues found with valgrind- Update to version 0.8.4+170+suse.801341f: * libmultipath: tests: fix bitfield tests * Spec file: disable LTO for %check (bsc#1133122)- Update to version 0.8.4+167+suse.70bef90: Pull in reviewed upstream changes - Bug fixes * libmultipath: add consistency check for alias settings (bsc#1172429) * libmultipath: select_action(): don't drop map if alias clashes (bsc#1172429) * libmultipath: refuse reloading an existing map with different WWID (bsc#1172429) * libmultipath: select_action(): force udev reload for uninitialized maps (bsc#1172157) * multipathd: uev_trigger(): handle incomplete ADD events (bsc#1172157) * improve logging for failure to set dev_loss_tmo (bsc#1173060, bsc#1173064) * libmultipath: add device to hwtable.c (bsc#1174026) (ETERNUS AHB) - New features * multipath: add -D option to skip multipathd delegation * multipath: delegate flushing maps to multipathd * multipathd: add "del maps" multipathd command - Other changes * cleanup disassemble_map() code path (bsc#1178377, bsc#1178379) * multipath-tools: introduce INIT_REMOVED state * logging improvements * fix "multipathd show devices" * libmultipath: remove uevent listener failback * libmultipath: create bitfield abstraction * libmultipath: count pending paths as active on loads * kpartx: handle alternate bsd disklabel location - Lots of minor fixes and cleanups - Spec file: use %service_del_postun_without_restart macro- Update to version 0.8.4+43+suse.908383f: * enable negated regular expression syntax in conf file (bsc#1182917) * change default devnode blacklist to '!^(sd[a-z]|dasd[a-z]|nvme[0-9])'- Update to version 0.8.4+40+suse.b06c2e5a: - Fix udev rule processing during coldplug (bsc#1172157) * 11-dm-mpath.rules: Fix udev rule processing during coldplug - Fix compilation with gcc-10 * fix boolean value with json-c 0.14 * libmultipath: fix condlog NULL argument in uevent_get_env_var - Reviewed upstream changes: * simplify failed_wwid code * centralize path validation code - Use pkgconfig for BuildRequires- Update to version 0.8.4+31+suse.8f53764: * Fix sporadic build failures caused by missing build dependencies- Update to version 0.8.4+29+suse.c27ed8d: * multipath-tools: Makefile.inc: set -Wno-error=clobbered * Makefile.inc: keep warning flags during rpm build * Eliminate compiler warnings on 32bit build. * Fixes for tests under i586 - Spec file: add %check section to run multipath-tools CI * not on SLE12, as cmocka is missing * add build dependency on cmocka for building tests * run "make test" with parallel make- Update to version 0.8.4+19+suse.48fc2f4: * multipath: add "-e" option to enable foreign libraries * libmultipath: set "enable_foreign" to NONE by default * deleted libmultipath-set-enable_foreign-to-NONE-by-default.patch (included in factory git repo now). * Makefile: dependency fixes for parallel build - Get rid of %is_opensuse: * drop build workaround for Leap 42.1 * build libdmmp for everything except SLE12/Leap42 and older - Other spec file updates: * use %make_build to speed up build (possible with 0.8.4) - Migrated to .obscpio format.- Update to version 0.8.4+16+suse.f319f7ea - Changed github workflow back from merge-based to rebase-based. This makes it much easier to assess differences between upstream and SUSE code. * Use TAG_OFFSET in _service, as this is now possible again. - Reviewed upstream patches added: * kpartx.rules: fix handling of synthetic uevents (bsc#1161923) * libmpathpersist: limit PRIN allocation length to 8192 bytes (bsc#1165786) - Update upstream version to 0.8.4 * drop nr_active field, always count active paths (bsc#1125043) * kpartx: fix detection of dasd partition tables on loop devices (bsc#1139775) * directio path checker fixes * lots of fixes for compiler warnings, and cleanups * nvme: update to nvme-cli 1.9- Update to version 0.8.3+11+suse.7dcdf2f: * libmultipath: fix files read from config_dir (bsc#1162896)- Update to version 0.8.3+10+suse.86684b9: * libmultipath: fix compilation with -fno-common (boo#1160403)- Update to version 0.8.3+9+suse.f6f2a52 - Minor upstream improvements and bug fixes * libmultipath: EMC PowerMax NVMe device config- Update to version 0.8.2+27+suse.3ff280b: * Added upstream patch to fix premature path reinstantiation with san_path_err_XX (boo#1149319)- Update to version 0.8.2+26+suse.d884195: - Don't activate NVMe native multipath support by default * multipath.conf.5: document foreign library support * multipath.conf: add "enable_foreign" parameter (bsc#1139837) * Set default for "enable_foreign" to "NONE" (bsc#1139837) added libmultipath-set-enable_foreign-to-NONE-by-default.patch - Added reviewed upstream patches (marginal path patch set from Red Hat) * add "marginal_pathgroups" config option * deprecate "delay_wait_checks" and "delay_watch_checks"; they are now automatically mapped to eqivalent "san_path_err_..." settings.- Update to version 0.8.2+11+suse.0f6a649: * kpartx: recognize DASD on loop devices again (bsc#1139775) * Bump version to 0.8.2 - most changes were already in SUSE tree * Man page improvements (bsc#1148767)- Update to version 0.8.1+59+suse.f947184: * libmultipath: trigger uevents for partitions, too (bsc#1140146)- Update to version 0.8.1+58+suse.2af8f92: * libmultipath: more cautious blacklisting by missing property (don't blacklist paths because of temporarily missing udev properties) * libmultipath: fix memory leak with "uid_attrs" config option * libmultipath: get_uid: straighten the fallback logic - Fix SCSI VPD 0x80/0x83 parsing - Fix compiler warnings introduced by gcc 9: * -Wstringop-overflow, -Wstringop-truncation, - Waddress-of-packed-member- Update to version 0.8.1+28+suse.fea562a: * mpathpersist: optimize for setups with many LUNs (bsc#1134648) * mpathpersist: add option -f/--batch-file (bsc#1134648) * libmultipath: get_prio(): really don't reset prio for inaccessible paths (bsc#1118495) - Upstream bug fixes from dm-devel (bsc#1139369): * multipath: call store_pathinfo with DI_BLACKLIST * multipathd: fix REALLOC_REPLY with max length reply * libmultipath: make vector_foreach_slot_backwards work as expected * multipathd: fix client response for socket activation (bsc#1133861) * various minor fixes (coverity)- Disable kmod() style dependencies again (bsc#1119414) * For TW, dependencies will be autogenerated (gh#openSUSE/rpm-config-SUSE#3) * For SLE, feature is currently rejected (jsc#SLE-3853) - Update to version 0.8.1+8+suse.8c11498: * Avoid deadlock situation during udev settle (bsc#1131789, bsc#1125145) - multipath -u: test socket connection in non-blocking mode * Fix priority handling for offline paths (bsc#1118495) - Update to upstream 0.8.1 (bsc#1148767) * Avoid device IO in "multipath -u" (bsc#1125145) * multipathd: protect all access to running_state (bsc##1110060, bsc#1110439) * Improve handling of changed WWIDs and temporary failure to obtain WWID. Option "disable_changed_wwids" is now ignored. (bsc#1184260) * Fixes for PATH_PENDING state handling (bsc#1125043) * libmultipath: hwtable: add Lenovo DE series (bsc#1125507)- Trim %if..%endif guards that do not affect the build result. - Combine %service_* calls to reduce generated code. - Make use of %make_install.- Re-enable kmod-style dependencies for multipath-tools package (bsc#1119414) - Separate out libmpath0 (bsc#1119414) - Spec file improvements * Add Conflicts: for older multipath-tools to libmpath0 * Move license files to the libmpath0 package, which contains the code with complex licensing. The executables are GPL-2.0 anyway. * Remove bogus dependency of -devel package on device-mapper * -devel package depends on libmpath0, not multipath-tools * Remove %dir %{_defaultlicensedir} for SLE12-SP3 and newer (John Vandenberg ) * Remove unused /var/cache/multipath directory * Remove check for multipath maps in %pre and %post * Remove SLE11-specific multipathd service stop / start from %pre / %post * Remove obsolete tools from package description (bsc#1129827) * Add -n to %service_del_{pre,post}un for multipathd.socket- Update to version 0.8.0+17+suse.a28893f: * Code-identical to 0.7.9+139+suse.ed9d450, except for new version number - Disable kmod() style dependencies for now, as they are causing problems with image builds (bsc#1119414). They'd been active for SLE15-SP1 only, anyway. - _service: determine "tag offset" manually, the patch count determined by git is far too high.- Fix module name in multipath.conf (bsc#1119414) * The modules-load.d entry must match the filename exactly- Update to version 0.7.9+139+suse.ed9d450: * multipath-tools: Build: properly parse systemd's version- Add kmod(xyz) style dependencies for SLE15-SP1 (jsc#SLE-3853, fate#326579, bsc#1119414)- Update to version 0.7.9+138+suse.0edd0a2: - Include reviewed fixes from upstream * libmutipath: continue to use old state on PATH_PENDING * libmultipath: disable user_friendly_names for NetApp * multipath: blacklist zram devices * various fixes for martinal path code - Bug fixes: * multipathd: Fix miscounting active paths (bsc#1125043) * multipathd: avoid null pointer dereference in LOG_MSG (bsc#1127873) * minor fixes suggested by coverity (bsc#1127879)- Add BuildRequires on suse-module-tools * we need it for regenerate_initrd_posttrans- Update to version 0.7.9+111+suse.b4232b7: - merged upstream cb4a979a (SUSE bug fixes merged upstream, code-identical to previous release).- Update to version 0.7.9+109+suse.203c1cf: * multipathd: avoid crash in cli_list_path (bsc#1121134) * libmultipath: fix compilation with older kernel headers (bsc#1121066) - merged upstream fb824725 * Improved NVMe support in both native and dm-mpath mode added basic NVMe ANA support (bsc#1119898, bsc#1118495) * Fix prio output in "multipathd show topology" (bsc#1119897) * multipathd: fix daemon not really shutdown (bsc##1110060, bsc#1110439)- Update to version 0.7.9+90+suse.f81e290: * libmultipath: Increase SERIAL_SIZE to 128 bytes (bsc#1107179)- Update to version 0.7.9+89+suse.df77b66: - re-enable "san_path_err_xy" options These have been removed upstream, but they were supported in SLE-15/Leap15.0, so we can't simply throw them away. Improve documentation, mark them as deprecated, but keep the code in place.- Update to version 0.7.9+85+suse.766b95e: * upstream patch series to make verbosity level 3 less verbose and thus better usable (bsc#1118937) * fix for handling device size mismatch in coalesce_paths() (bsc#1037379) * libmultipath: fix false removes in dmevents polling code (bsc#1116272) * Spec file: remove build dependency on dracut which causes build errors for some distributions- Update to version 0.7.9+58+suse.0790830: * libmpathpersist: fix off-by-one error in PRIN length check (bsc#1099007) * multipathd: fix mpp->hwe handling when paths are freed (fix possible crash caused by new hardware table code)- Update to version 0.7.9+55+suse.9fc8439: (note the "55" is due to former merge operations. We actually only have 7 patches on top of upstream. All other patches referenced below as "not upstream" have been merged). * Bump version to 0.7.9 * multipathd: reset delay_wait_checks counter on failure (bsc#1114771) * multipathd: fix irritating "minor number mismatch" message (bsc#1111116) * fix possible failure to shut down (bsc#1110060, bsc#1110439) * upstream "checker overhaul" - cleanups and improvements for path checkers * Upstream fixes for failures handling path initializiation * various small upstream bug fixes.- Update to version 0.7.7+136+suse.19bb285: Bug fixes from upstream, and SUSE bug fixes * multipathd: try SCSI persistent reservations for SCSI only (bsc#1108875) * libmultipath: allow sysfs_pathinfo to return SKIPPED (bsc#1098458) * libmultipath: Fixup updating paths (bsc#1110418) * multipathd: fix memory leak on error in configure (bsc#1110418) * multipathd: minor fixes (bsc#1110418) * multipathd: function return value tweaks (bsc#1110418) * multipath: fix max array size in print_cmd_valid (bsc#1110418) * libmutipath: don't use malformed uevents (bsc#1110418) * libmultipath: fix null dereference int alloc_path_group (bsc#1110418) * libmultipath: fix memory issue in path_latency prio (bsc#1110418) * libmultipath: fix length issues in get_vpd_sgio (bsc#1110418) * multipathd: decrease log level of uevent messages (bsc#1110586) * multipathd: fix version check for DM_DEV_ARM_POLL ioctl (bsc#1110587) * libmultipath: pathinfo: skip hidden devices (bsc#1110586) * libmultipath: nvme: shorter topology output (bsc#1082419) * libmultipath: nvme: fix path detection for kernel 4.16 (bsc#1091112) * libmultipath: fix gcc 8.1 "truncated output" warnings (bsc#1099007) * (lib)mpathpersist: use O_RDONLY file descriptors (bsc#1093220) * libmpathpersist: fix byte swapping for big endian systems (bsc#1099036) * multipath-tools/tests: add tests for get_unaligned_beXX (bsc#1099036) * libmultipath: add (get|put)_unaligned_be64 (bsc#1099036) * libmpathpersist: fix stack overflow in mpath_format_readfullstatus() (bsc#1099007) * libmpathpersist: fix typo in mpath_format_readfullstatus (bsc#1099007) * libmpathpersist: remove duplicate test in readfullstatus (bsc#1099007) - Update to upstream 1a8625abd (0.7.7+82) * minor fixes for kpartx, found by coverity * mpathpersist: add --param-alltgpt option * libmultipath: add "protocol" blacklist option. * multipathd: add new wildcard "%P" for "protocol" * multipath-tools: fix products names in hwtable * libmultipath: more debug output in alua prioritizer (bsc#1080965) * libmultipath: alua: retry RTPG for NOT_READY and UNIT_ATTENTION (bsc#1080965) * libmultipath: alua_rtpg: use condlog for error messages (bsc#1080965)- Update to version 0.7.7+75+suse.6287aef: Added minor updates from upstream * multipath-tools: add info about how to enable ALUA in ONTAP * multipath-tools: add directio path_checker for DASD devices * multipath-tools: make Product Name mandatory and add all of them Minor rebase, as some SUSE patches have been merged upstream (all mentioned in previous changelogs)- Update to version 0.7.7+72+suse.4b24466: * multipath: fix return code handling in delegate_to_multipathd (bsc#1098177) * multipath: don't start multipathd unnecessarily (bsc#1098177)- Update to version 0.7.7+70+suse.4a5941e: * libmultipath: change partition_delimiter default to "-part" (bsc#1073622, bsc#1056526) * change default for find_multipaths to "greedy" (bsc#1099054) * libmultipath: allow distributions to change partition_delim default (bsc#1073622, bsc#1056526)- Update to version 0.7.7+67+suse.a7d1e14: - RBD/RADOS backend support has been removed upstream remove support for it in SUSE, too (boo#1099037, FATE#826853) * added Obsoletes: for multipath-tools-rbd. - libdmmp version has changed to 0.2.0 - New patches not yet upstream: (Wed Jun 12 2018: these are now upstream, since 0.7.8) * multipathd: fix mpp->hwe handling on path removal (boo#1099028) * libmultipath: print correct default for delay_*_checks (boo#1099026, bsc#1110418) * libmultipath: avoid error messages from RDAC check (bsc#1108728, bsc#1075539) * (lib)mpathpersist: use O_RDONLY file descriptors (bsc#1093220) * libmpathpersist: fix byte swapping for big endian systems (bsc#1099036) * multipath-tools/tests: add tests for get_unaligned_beXX (bsc#1099036) * libmultipath: add (get|put)_unaligned_be64 (bsc#1099036) * libmpathpersist: fix stack overflow in mpath_format_readfullstatus() (bsc#1099007) * multipathd: fix buffer size in cli_getprkey (bsc#1099028) * libmultipath: fix gcc 8.1 "truncated output" warnings (bsc#1099007) * libmpathpersist: fix typo in mpath_format_readfullstatus (bsc#1099007) * libmpathpersist: remove duplicate test in readfullstatus (bsc#1099007) - SUSE specific patches preserved: * multipath.rules: temporary rule to obtain ID_WWN for NVMe (bsc#1076828) * kpartx: create symlinks for dmraid devices (bsc#1064212) * multipath.conf.5: document no_partitons compat support (fate#323406) * libmultipath: compat support for 'features "1 no_partitions"' (fate#323406) * Added fossology assessment as README.licenses (bsc#1088801) - Dropped patches from previous factory/SLE15 release (0.7.3+69+suse.218a0d0): * libmultipath: don't [un]set queue_if_no_path after domap obsoleted by "libmultipath: cleanup features handling code" * multipath.rules: use -i flag to multipath obsoleted by path detection patch series * libmpathpersist: add support for prkeys file v3 obsoleted by "mpathpersist: Fix invalid condition check" * libmultipath: fix deadlock in tur.c obsoleted by "libmultipath: fix tur checker locking" * checkers/rbd: missing pthread_lock() on failure path obsolete because of RBD removal * libmultipath/hwtable: don't hard-code ALUA for IBM IPR obsoleted by "libmultipath: hwhandler auto-detection for ALUA" and "libmultipath: don't reject maps with undefined prio" (bsc#1085212, bsc#1075129) - Update to upstream version 0.7.7+50 (39ad8dc8) - rework of "find_multipaths" logic * find_multipaths can now be "strict", "yes", "no", "greedy", or "smart" * SUSE default is "greedy" for now, consistent with previous behavior * "multipath -u -i" not necessary in udev rules any more (removed SUSE patch "multipath.rules: use -i flag to multipath") - patch series for config file handling (bsc#1067789): * fix inconsistent handling of multiple config file entries matching the same device (bsc#1067789) * multipath: implement "multipath -T" (bsc#1067789) * multipathd: implement "show config local" (bsc#1067789) * libmultipath: merge "multipath" config sections by wwid * multipathd: add path format wildcard "%0" for failures * libmultipath: config parser: Allow '"' in strings - multipath-tools: foreign/NVME implementation (bsc#1082419) for native NVME multipath configurations - Other new upstream features: * mpathpersist: add all_tg_pt option * add polling dmevent handler (only one thread waiting for device-mapper events rather than one per map). * multipath: add "ghost_delay" parameter * "marginal path" path state checking for better handling of unstable "shaky" connections in a SAN. conf options "marginal_path_err_rate_threshold" etc, see man page. This replaces the previous "san_path_err_threshold" functionality. - Upstream bug fixes: * Man page corrections and improvements for multipath.conf(5) * libmultipath: fix memory leak in process_config_dir() (bsc#1110352) * multipath: don't check timestamps without a path * multipathd: handle errors in uxlsnr as fatal (bsc#1086025) * libmultipath: don't reject maps with undefined prio (bsc#1085212, bsc#1075129) * multipathd: fix reservation_key check (bsc#1099008) * 11-dm-mpath.rules: dont't run "multipath -U" during coldplug (bsc#1084748) * libmultipath: hwhandler auto-detection for ALUA (bsc#1085212, bsc#1075129) * multipath: fix rcu thread cancellation hang (bsc#1110418) * multipathd: register threads that use rcu calls (bsc#1110418) * multipathd: fix waiter thread cancelling * multipathd: use nanosleep for strict timing (avoids possible races with SIGALRM) * logging fixes: * libmultipath: fix log_pthread processing * libmultipath: set dm_conf_verbosity * libmultipath: fix basenamecpy * libmultipath: uev_update_path: update path properties * libmultipath: uev_update_path: always warn if WWID changed * libmultipath: get_uid: don't quit prematurely without udev (bsc#1108728) * libmultipath: get_uid: check VPD pages for SCSI only (bsc#1108728) * libmultipath: fix wrong output of "multipath -t" * Introduce the libmultipath/unaligned.h header file (bsc#1099036) * libmultipath: Fix sgio_get_vpd() (bsc#1099484) * kpartx: Improve reliability of find_loop_by_file() * libmultipath, alloc_path_with_pathinfo(): Ensure that pp->wwid is '\0'-terminated * libmultipath: enable feature disable changed wwid by default * multipathd: add lock protection for cli_list_status * bug fixes for "marginal path checker" * multipathd: fix signal blocking logic (bsc#1110060, bsc#1110439, bsc#1086025) * multipath-tools: add INSPUR/MCS to hardware table * multipath-tools: add RDAC SUN/ArrayStorage to hwtable * multipath-tools: remove DF arrays from HP * multipath: print sysfs state in fast list mode (bsc#1110354) * multipathd: remove coalesce_paths from ev_add_map * multipath: fix DEF_TIMEOUT use * libmultipath: fix tur checker locking * multipath-tools: handle exit signal immediately (bsc#1086025) * multipathd: release uxsocket and resource when cancel thread (bsc#1110355) * path latency prioritizer fixes * multipathd.service: set TasksMax=infinity (bsc#1060616) * multipathd.service: drop Before=lvm2-lvmetad.service (bsc#1070427) * multipathd.socket: add WantedBy=sockets.target * kpartx.rules: fix by-id/scsi-* for user_friendly_names * multipath -C: decrease log level * libmultipath: hwtable: no_path_retry="queue" for NetApp NVMe * libmultipath: hwtable: multibus for NetApp NVMe-FC * libmultipath: select ALUA prioritizer for RDAC arrays only (bsc#1075539, bsc#1081241) * libmultipath: get_vpd_sgio: support VPD 0xc9 (bsc#1055949) * libmultipath: condlog: log to stderr (bsc#1055949) * multipath: delegate dangerous commands to multipathdd (bsc#1047639) * libmultipath: don't try to set hwhandler if it is retained (bsc#1047639) * libmultipath: don't update path queueing on reload * multipathd: marginal path code fixes * multipath: check failed path dmstate in check_path * multipathd: clean up set_no_path_retry * multipathd: fix device creation issues * libmultipath: cleanup features handling code * multipath: fix hwhandler check in select_action * kpartx: don't delete partitions from partitions * limbultipath: prefer RDAC checker with detect_checker * multipath-tools: add AccelStor/NeoSapphire to hardware table * multipath-tools: add TMS/RamSan to hardware table * multipath-tools: add XIV/NEXTRA to hardware table * multipath-tools: add XIOtech/Magnitude to hardware table * libmultipath: ensure checker->fd == -1 if not set- Update to version 0.7.3+69+suse.218a0d0: * multipath -ll: print foreign maps only with "-o" flag (bsc#1089353) * Revert "disable nvme foreign library"- Update to version 0.7.3+67+suse.8f0c27b: * disable nvme foreign library (bsc#1089353)- No functional changes - Fixed rpmlint warnings (bsc#1088946) * multipath-tools-devel: moved .so files to /usr/lib[64] * added version dependencies for -devel packages- No functional changes * fixed SPDX syntax (and -> AND) * added /usr/share/licenses- No functional changes, just licenses - Spec file: fix %license tags and info after closer inspection (bsc#1088801) * kpartx is under GPL-2.0-only * rbd is under LGPL-2.1-only - Update to version 0.7.3+66+suse.dc5fe2d: Fix licensing info (bsc#1088801) * Added fossology assessment as README.licenses * multipath-tools: create LICENSES dir with the text of all used licences- Update to version 0.7.3+61+suse.d4d0494: * 11-dm-mpath.rules: dont't run "multipath -U" during coldplug (bsc#1084748)- Fixed license tags in spec file * multipath tools / libmultipath is GPL-2.0-only * libmpathcmd is LGPL-2.0-or-later * libdmmp is GPL-3.0-or-later * adopt SPDX format.- Update to version 0.7.3+60+suse.46ac839: * libmultipath/hwtable: don't hard-code ALUA for IBM IPR (bsc#1085212, bsc#1075129)- Update to version 0.7.3+59+suse.1b6191c26774: * libmultipath: don't reject maps with undefined prio (bsc#1085212, bsc#1075129) * multipathd: handle errors in uxlsnr as fatal (bsc#1086025)- Update to version 0.7.3+57+suse.bb6be4c8b4ca: * multipathd: fix signal blocking logic (bsc#1086025) * multipath-tools: handle exit signal immediately (bsc#1086025) * multipath: fix DEF_TIMEOUT use (bsc#1086014) * multipath-tools: foreign/NVME implementation v2 (upstream accepted) (bsc#1082419)- Update to version 0.7.3+53+suse.140f4937e9e7: * libmultipath: fix wrong output of "multipath -t" (bsc#1082835)- Update to version 0.7.3+52+suse.08a969b7fce0: - Add limited support for displaying native NVMe multipath (bsc#1082419) * libmultipath: foreign/nvme: implement path display * multipathd: use foreign API * multipath: use foreign API * libmultipath/foreign: nvme foreign library * libmultipath/print: add "%G - foreign" wildcard * libmultipath: API for foreign multipath handling * libmultipath: print: use generic API for get_x_layout() * libmultipath: print: convert API to generic data type * libmultipath: "generic multipath" interface * libmultipath: add vector_convert() * libmultipath: add vector_free_const() * libmultipath: get rid of selector "hack" in print.c - Fix locking errors detected by coverity check (bsc#1082418) * checkers/rbd: missing pthread_lock() on failure path * libmultipath: fix deadlock in tur.c- Fix whitespace in dracut conf file (bsc#1080562)- Update to version 0.7.3+38+suse.a16beed5280a: * kpartx: don't delete partitions from partitions (bsc#1078362) * hwtable: add latest updates (bsc#1078363) * multipathd.service: set TasksMax=infinity (bsc#1060616)- Update to version 0.7.3+31+suse.6804bb73f72d: * libmultipath: hwtable: no_path_retry="queue" for NetApp NVMe (bsc#1073319)- Update to version 0.7.3+30+suse.6b5ed839: * multipath.rules: temporary rule to obtain ID_WWN for NVMe (bsc#1076828) * libmultipath: ignore natively multipathed NVME devices (bsc#1076828) * multipath.rules: handle NVME devices (bsc#1076828) * FIX "libmultipath: hwtable: multibus for NetApp NVMe-FC" (bsc#1073319) * libmultipath: increase path product_id/rev field size for NVMe (bsc#1073319)- Update to version 0.7.3+25+suse.7c9920e2: * assemble_map: no newline at end of params string (bsc#1072253)- Update to version 0.7.3+24+suse.703a61d5: * multipathd.service: drop Before=lvm2-lvmetad.service (bsc#1070427) * libmultipath: hwtable: multibus for NetApp NVMe-FC (bsc#1073319) * libmultipath/propsel: select ALUA prioritizer for RDAC arrays only (bsc#1075539, bsc#1081241) * libmultipath: get_vpd_sgio: support VPD 0xc9 (bsc#1055949) * libmultipath: sgio_get_vpd: add page argument (bsc#1055949) * libmultipath: fix return code of sgio_get_vpd() (bsc#1055949)- Update to version 0.7.3+19+suse.0fd18bdd: * multipathd.socket: add WantedBy=sockets.target (bsc#1072253)- Update to version 0.7.3+18+suse.8c97f433: * multipath -C: decrease log level (bsc#1072504)- Update to version 0.7.3+17+suse.cac42e6f: * test-kpartx: add test for mapping without UUID (bsc#1074013)- Update to version 0.7.3+15+suse.570d5938: * kpartx.rules: fix by-id/scsi-* for user_friendly_names (bsc#1066893)- Update to version 0.7.3+14+suse.da06e7f3: * libmultipath: fix return code of sysfs_get_timeout (bsc#1069037)- added sample code for libmpathpersist (bsc#1066376) * added libmpathpersist-example.c - multipath-tools.spec: package libmultipath.so symlink in -devel package (bsc#1066376). We *do not* package header files for libmultipath, as the APIs are not public.- multipath-tools.spec: package *.so symlinks in -devel pkgs (bsc#1066376) - multipath-tools.spec: SLE15: add RADOS support for s390x (bsc#1066380) - Fix build error for targets SLE_12, SLE_12_SP1 (bsc#1066392)- Update to version 0.7.3+13+suse.db431514080f: * kpartx: create symlinks for dmraid devices (bsc#1064212) * limbultipath: prefer RDAC checker with detect_checker (bsc#1055949)- Update to version 0.7.3+11+suse.4de08d96: * libmultipath: condlog: log to stderr (bsc#1063059)- Update to version 0.7.3+10+suse.70ccb55b0439: - Rebase to upstream release 0.7.3 * libmultipath: add pthread_cleanup hook for udev monitor * libmultipath: pull functions into util.c * libmultipath: change reservation_key to a be64 * libmpathpersist: fix update_prflag code * multipath: add alternate reservation_key method * mpathpersist: add support for prkeys file * multipath-tools: minor edition and corrections in multipath.conf.5 * multipath-tools: fix incorrect length for strncmp in uevent.c * multipath-tools: clarify how to dump the multipathd config * multipath-tools: replace "setting: array" with "setting: storage device" at multipath output * libmultipath: sanitize fd handling * multipath-tools: link internal libraries before foreigns * multipath-tools: remove Sun StorEdge T4(6020,6120,6320) arrays from hwtable * multipath-tools: add support for all arrays from Sun StorEdge 3000 family * multipath-tools: add Xiotech iglu blaze arrays to hwtable * multipath-tools: add Dot Hill/Seagate arrays to hwtable * libmultipath: update INFINIDAT builtin config * multipath-tools: add info about adding new hardware * multipath-tools: Remove the limitation of IPC command reply length. * multipath-tools: libdmmp: Improve timeout mechanism * multipath-tools: libdmmp: New function to flush and reconfig * Bump version to 0.7.3 - minor fixes for upstream 0.7.3 * libmultipath: ensure checker->fd == -1 if not set * libmpathpersist: add support for prkeys file v3 * multipath: add man page info for my prkey changes - Patch series for NVMe discovery and failover (bsc#1038865) * discovery: sanitize NVMe discovery * libmultipath/discovery: modify NVMe path states * Add 'none' checker * hwtable: set 'none' as default checker for NVMe- Update to version 0.7.2+49+suse.993a29b1188d: * Revert "11-dm-mpath.rules: Remember DM_ACTIVATION" (boo#1059227) * Revert "11-dm-mpath.rules: don't set READY->ACTIVATION" (boo#1059227) * multipath: delegate using libmpathcmd (bsc#1047639)- split off rados support into separate multipath-tools-rbd package. This avoids pulling in the whole rados/ibverbs/rdma stack with multipath-tools. (bsc#1058504). - multipath-tools-rbd is Recommended but not Required by multipath-tools.- Update to version 0.7.2+44.3a8d750c: Misc bug fixes: * multipathd: don't flood system with sd_notify calls (bsc#1056011) * libmultipath: add_feature: skip pointless NULL check (bsc#1055635) * libmultipath: add_feature: allow only 1 feature (bsc#1055635) * multipath: delegate dangerous commands to multipathd (bsc#1047639) * libmultipath: fix partition_delimiter config option (bsc#1056526) * kpartx: helper functions for name and uuid generation (bsc#1056508) * kpartx: search partitions by UUID, and rename (bsc#1056508) * kpartx: fix a corner case when renaming partitions (bsc#1056508) * kpartx: -d must work with empty partition table (boo#1056599) * kpartx: only recognize dasd part table on DASD (boo#1056599) Rework of the udev rules related to multipath and kpartx (bsc#1054363): * libmultipath: support MPATH_UDEV_NO_PATHS_FLAG on map creation * libmultipath: add get_udev_device * libmultipath: get_refwwid: use get_udev_device * libmultipath: use const char* in some dm helpers * libmultipath: add DI_NOIO flag for pathinfo * libmultipath: add dm_get_multipath * multipath: implement "check usable paths" (-C/-U) * 11-dm-mpath.rules: multipath -U for READY check * 11-dm-mpath.rules: import more ID_FS_xxx vars from db * 11-dm-mpath.rules: no need to test before IMPORT * 11-dm-mpath.rules: handle new maps with READY==0 * 11-dm-mpath.rules: don't set READY->ACTIVATION * 11-dm-mpath.rules: Remember DM_ACTIVATION * multipath.rules: set ID_FS_TYPE to "mpath_member" * kpartx.rules: don't rely on DM_DEPS and DM_TABLE_STATE * kpartx.rules: respect DM_UDEV_LOW_PRIORITY_FLAG * kpartx.rules: improved logic for by-uuid and by-label links * kpartx.rules: create by-partuuid and by-partlabel symlinks * kpartx.rules: generate type-name links only for multipath devices * kpartx.rules: fix logic for adding partitions * multipath/kpartx rules: avoid superfluous scanning * kpartx/del-part-nodes.rules: new udev file * kpartx.rules: move symlink code to other files - multipath-tools.spec: * added 68-del-part-nodes.rules to support partition deletion * added 00-dont-del-part-nodes.rules to disable partition deletion by default on openSUSE/SLES for now. * added 11-dm-parts.rules to kpartx package * added dracut.conf file to make sure 11-dm-parts.rules is included in initrd- Update to version 0.7.2+14+suse.5721c345: * cli_add_map: Use CMD_NONE (bsc#1053515) * multipath-tools: link internal libraries before foreigns (bsc#1028132) * multipathd daemon: Fix incorrect use of CLOCK_MONOTONIC in pthread (bsc#1053757)- Update to version 0.7.2+11+suse.448921a2: * multipath.conf.5: document no_partitions compat support * libmultipath: fixup compat support for 'features "1 no_partitions"'- Dropped 67-kpartx-compat.rules (SUSE legacy). * symlinks "/dev/mapper/${UUID}_part${X}" are not created any more, only "/dev/mapper/${UUID}-part${X}" (with "minus") - Dropped automatic kpartx invocation on dmraid devices (fate#323743) - Rebase to upstream multipath-tools 0.7.2: * libmultipath: retain_attached_hw_handler obsolete with 4.3+ * multipath-tools: move up TEMPLATE in hwtable * multipath-tools: delete libdmmp/docs/man directory in make clean * libmultipath: fix unit to seconds in log message for checker timeout * multipath-tools: add HPE StoreVirtual 3200 family to hwtable * multipath-tools: add HPE MSA 2050/2052 to hwtable * multipath-tools: add/change fujitsu arrays * multipath-tools: check sysfs path state for NVMe/NVMf * multipath-tools: sync third-party headers with 3.13 upstream * multipath-tools: beautify path_latency.c code * multipath-tools: fix format in multipath.conf.5 * libmultipath: update 3PARdata builtin config * Bump version to 0.7.2 - Update to version 0.7.2+8+suse.95e8f43e: * libmultipath: don't try to set hwhandler if it is retained (bsc#1037533) * libmultipath: don't [un]set queue_if_no_path after domap * kpartx/devmapper.h: remove dm_no_partitions * libmultipath: compat support for 'features "1 no_partitions"' (fate#323406) * kpartx.rules: respect DM_UDEV_LOW_PRIORITY_FLAG (bsc#1047180) * kpartx.rules: Use DM_ACTIVATION as condition (fate#323406) * kpartx.rules: skip creating by-uuid and by-label links (fate#32340)- Update to version 0.7.1+69+suse.3bfa5af1: * Merge branch 'sles12-sp3-fixes' into sles12-sp3 * libmultipath: get_udev_uid: make sure pp->wwid is 0-terminated (bsc#1048146) * libmultipath: drop uevent_can_discard_by_devpath (bsc#1048052) * libmultipath: only listen for uevents with DEVTYPE=disk (bsc#1048052) * libmultipath: fix over-long NVME WWIDs (bsc#1048146)- Update to version 0.7.1+64+suse.aabe8c87: * Updated "no_path_retry" patchset to v4 (minor change) * kpartx.rules: Fix syntax error in skip_kpartx code (bsc#1046092) - _service: use "match-tag" to refer only to offical tags- Update to version 0.7.1+62+suse.62a2c36e: * kpartx: only check for 'no_partitions' feature on dm devices (bsc#1037533) * Revert "kpartx: use mapname if no uuid is present" (bsc#1037533, bsc#1033541) - "no_path_retry" patch series (bsc#1043027) * libmultipath: load_config: skip setting unnecessary defaults * libmultipath: add/remove_feature: use const char* for feature * libmultipath: clarify option conflicts for "features" * libmultipath: merge_hwe: fix queue_if_no_path logic * libmultipath: assemble_map: fix queue_if_no_path logic * multipath.conf.5: document no_path_retry vs. queue_if_no_path * multipath.conf.5: Remove ??? and other minor fixes * libmultipath: add deprecated warning for some features settings - _service: Use "sles12-sp3" branch as revision, as factory and SLE12-SP3 submissions are in sync. Will be changed when factory forks off (latest at SLE12-SP3 GA).- set KBUILD_BUILD_TIMESTAMP to generate reproducible man-pages to fix build-compare (bsc#1045111)- Update to version 0.7.1+53+suse.07c2f6ac - kpartx patch series from upstream (bsc#1037533, bsc#1033541) * kpartx: only check for 'no_partitions' feature on dm devices * kpartx: test-kpartx: new unit test program * kpartx: remove is_loop_device * kpartx: relax and improve UUID check in dm_compare_uuid * kpartx: dm_remove_partmaps: support non-dm devices * kpartx: dm_devn: return error for non-existent device * kpartx: don't treat multi-linear mappings as partitions * libmultipath: don't treat multi-linear mappings as partitions * kpartx: use partition UUID for non-DM devices * kpartx: use absolute path for regular files * kpartx: find_loop_by_file: use sysfs * kpartx: include sys/sysmacros.h * Revert "kpartx: relax check when checking for a kpartx device" - Spec file: use new build flag for libdmmp installation (bsc#1036652), enabled by upstream fix: * libdmmp: enable library installation in alternative directory - Other bug fixes from upstream: * libmultipath: print.c: make sure lines are 0-terminated (bsc#1038865) * multipath-tools: fix compilation with gcc < 4.9 * kpartx: fix device checks * mpath_persist: Don't join threads that don't exist * libmultipath: fix suspended devs from failed reloads * mpathpersist: fix one more crash possiblity - Minor upstream changes: * multipath: Merge the DELL MD3xxx device configs * multipath: fix up position independent code * libmultipath: fix partition detection (bsc#1037533) * kpartx: default to running in sync mode * libmultipath: force udev reloads * libmultipath: print alias with no_path_retry message * multipathd: force reload device on all resizes * libmultipath: refactor calls to get dm device info * multipath-tools: document uid_attribute for NVME devices * Makefile: Remove assignments to unused variables * libmultipath/configure.h: Add a forward declaration * libmpathpersist: Add two missing #include directives * Remove mpath_reverse_8bytes_order() * Move the declaration of mpath_mx_alloc_len to a header file * Remove a superfluous "extern" keyword * mpathpersist.8: add missing documentation for -K, -C, -l- spec file: Disable RADOS support for i586 on Leap 42.x (bsc#1036271) - spec file: Move libdmmp to /usr/lib[64] (bsc#1036652) - Update to version 0.7.1+7+suse.3edc5f7d: * kpartx: use mapname if no uuid is present (bsc#1033541) * kpartx: relax check when checking for a kpartx device (bsc#1033541) * libmpathpersist: use extern struct udev (bsc#1027188) * kpartx: include sys/sysmacros.h (fix compilation warning) - Update to upstream version 0.7.1: * multipath-tools: improve processing efficiency for addition and deletion of multipath devices * uevent_can_discard: optimize devpath check * multipathd: fix SIGUSR2 handling * multipath-tools: clean up libdmmp/Makefile * multipath-tools: libdmmp: Fix incorrect use of __attribute__ * multipath-tools: Remove trailing whitespaces * multipath-tools: add missing "-l" flag for pthread in libdmmp/Makefile * multipath-tools: build objects for libdmmp and libmpathpersist independently * libdmmp: minor Makefile cleanup * multipath-tools: remove incdir from Makefiles * libdmmp: don't disconnect from multipathd twice * multipathd: don't call strlen on NULL variables * libdmmp: move libdmmp.pc install location * multipathd: drop lock before calling uev_add_path * multipathd: allow devices to switch from RW to RO * libmultipath: don't set max_sectors_kb on reloads * Remove a trailing tab * multipath: fix segfault with disable_changed_wwids * multipath-tools: amend text from multipath/multipath.conf.5 * Bump the version code and date * multipath-tools: replace multipath configuration output * Revert "multipathd: set timeout for CLI commands correctly" * libmultipath: fix skip_kpartx support for removing maps * Bump version to 0.7.1- spec file changes suggested by factory review team (bsc#1030699) * RPM group adjustments. * Avoid %__ macro indirections- Enable rados for SLES only for x86_64 and aarch64 (ceph is currently disabled on SLES on s390x and ppc64le) (bsc#1030699) - Downgrade to version 0.6.4+103+suse.bcb5d0f4: * temporarily remove commit "multipathd: fix SIGUSR2 handling" until it's merged in official repo (bsc#1030699)- Spec file: disable librados for architectures for which ceph is not built - Spec file: enable librados by default for SLES12 SP3, disable it on Leap <= 42.1 - Update to version 0.6.4+104+suse.ac0df678: * multipathd: fix SIGUSR2 handling- Update to version 0.6.4+103+suse.bcb5d0f4: * changed to official github repo openSUSE/multipath-tools (no changes code-wise)- Spec file: Added dependency on sg3_utils (boo#1028857)- spec file changes: optional librados and libdmmp support * enabled by default on Factory and Leap (disable with --without-rados, --without-libdmmp) * disabled by default on SLES12 (enable with --with-rados, --with-libdmmp) * libdmmp0_1_0 and libdmmp-devel as separate packages * minor fixes for RPMLINT warnings - Update to version 0.6.4+102.0119472d: * rebased, code-wise identical to previous checkout- Update to version 0.6.4+102.df7d367e: * libmultipath/propsel: Do not select sysfs prioritizer for RDAC arrays (bsc#1004858)- Update to version 0.6.4+101.f01ef4da (SLES12 SP2 changes wrt upstream): * Make libdmmp build optional * multipath.rules: use -i flag to multipath * kpartx: create symlinks for dmraid devices * kpartx: Add udev compability rules for SUSE * libmultipath/checkers: make RADOS checker optional * multipathd: fixup check for new path states (bsc#1019798) * tur: Add pthread_testcancel() (bsc#101979) * kpartx: sanitize delete partitions (bsc#100869) * libmultipath: coalesce_paths: trigger uevent if nothing done (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: differentiate ACT_NOTHING and ACT_IMPOSSIBLE (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: reload map if not known to udev (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: sysfs_attr_set_value: use const char* (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: select_action: check special features separately (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: disassemble_map: treat aminio like assemble_map does (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: disassemble_map: skip no_path_retry check (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: setup_feature: handle "retain_attached_hw_handler" (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: setup_feature: print log msg if no_path_retry cant be set (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * libmultipath: setup_features: log msg if queue_if_no_path is ignored (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * multipathd: use weaker "force_reload" at startup (bsc#998906, bsc#998893, bsc#1005763, bsc#1011400) * multipathd: imply -n if find_multipaths is set (bsc#1012910) * multipath: ignore -i if find_multipaths is set (bsc#1012910) * libmultipath: move suspend logic to _dm_flush_map (bsc#986838) * multipath -ll: set DI_SERIAL (bsc#991432) * libmultipath: use existing alias from bindings file (bsc#1005255) * libmultipath/discovery: do not cache 'access_state' sysfs attribute (bsc#1004858) * multipathd: issue systemd READY after initial configuration (bsc#1006469) * multipath: avoid crash when using modified configuration (bsc#1000914) * multipathd: Set CLI timeout correctly (bsc#999061) * libmultipath: Do not crash on empty features (bsc#994812) * libmultipath: fall back to search paths by devt (bsc#995645) * multipathd: set timeout for CLI commands correctly (bsc#999061) * Invalid error code when using multipathd CLI * multipath: do not check daemon from udev rules (bsc#986734) * Add support for "multipath=off" and "nompath" on kernel cmdline * multipathd: start daemon after udev trigger (bsc#98673) * multipathd.service: fixup Wants= and Before= statements (bsc#1019181, bsc#991742, bsc#986734) - Update to current upstream (0.6.4-65-ga2675025) * Avoid that reloading a map sporadically triggers I/O errors * fix udev rules for failed multipath devices * multipathd: allow resetting stats * multipathd: add messages on delayed path addition * multipathd: don't update priority of failed paths * libmultipath: cleanup orphan device states * libmultipath: add detect_checker option * kpartx: don't keep creating recursive partitions * multipath-tools: Introducing multipath C API * multipath-tools: sync valgrind.h with 3.12 upstream * multipath-tools: add availability of service-time and queue-length to multipath.conf.5 * multipath-tools: add availability of service-time and queue-length to multipath.conf.5 * Fill NVMe specific path info * Don't blacklist nvme * multipath-tools: fix misspellings * multipath-tools: git should ignore rej and orig files * Include sys/sysmacros.h * Tolerate modprobe failures in multipathd.service * multipath-tools: Remove trailing and leading whitespaces * multipath-tools: Perform socket client uid check on IPC commands. * multipath-tools: Set errno mpath_recv_reply() when failure * multipath-tools: New way to limit the IPC command length. * multipath-tools: libmultipath: Removed unused functions. * multipath-tools: libmultipath: fix gcc link failure on rcu_register_thread_mb. * multipath-tools: multipathd: Fix memory leak on load_config(). * [multipathd] Remove trailing whitespaces * multipathd: deterministic io throughput in multipath- Remove superfluous PreReq for insserv and fillup- Update to version 0.6.2+suse20160928.8939fb6- Implement support for 'multipath=off' and 'nompath' kernel commandline options (bsc#1001691)- multipath: avoid crash when using modified configuration (bsc#1000914)- libmultipath: Do not crash on empty features (bsc#994812) - multipathd: Set CLI timeout correctly (bsc#999061) - Moved multipath-tools repository to github.com:/openSUSE/multipath-tools.git- Fixup glitch from patch 'fixup check from udev rules' (bsc#986734) - Remove 0001-libmultipath-fall-back-to-search-paths-by-devt.patch; integrated into git repository- libmultipath: fall back to search paths by devt (bsc#995645)- Fixup module name in /usr/lib/modules-load.d (bsc#986734)- multipath: fixup check from udev rules (bsc#986734)- multipathd: start daemon after udev trigger (bsc#986734) - Load device handler and multipath module at boot (bsc#991634)- Do not check daemon from udev rules (bsc#986734,bsc#990538)- Include fixes from upstream: * memory leak in orphan_paths * More hardware table cleanups * Add 'serial' keyword to weightedpath prioritizer - Set timeout for CLI commands correctly (bsc#990265) - Start daemon after udev trigger (bsc#991742,bsc#986734,bsc#990538) - multipathd.service: Fixup Wants= and Before= statements (bsc#991742, bsc#986734)- Include patches from upstream: * Cleanup hardware tables by removing default entries * More formatting fixes * Order keywords in multipath.conf.5 * Change default pgpolicy from 'failover' to 'group_by_prio' * kpartx: Fix check whether to detach a loop device * Fix partly traversed loop in coalesce_paths() * Fix memory leak in reconfigure() * Cleanup include header files * Bump version code to 0.6.2 - Fix multipath -l without output (bsc#990480) - Fix spelling in a log message - Fix type of rcu_unregister() - Do not perform POSIX mutex operations inside a signal handler - Ensure that signals are delivered to the uxsock thread - Fix memory leak in path group policies - Update tarball to 0.6.2+suse20160728.d96f423- Include patches from upstream: * Makefile cleanup * Update multipath.conf.5 * Update hardware tables * Whitespace cleanup - Fixup crash during shutdown (bsc#988539) - Update tarball to 0.6.1+suse20160715.3d44636- Remove obsoletes spec sections- Move config accesses to use user-space RCU (bsc#987526) * Revert 'move filter_devnode under vector lock' * Revert the rework patch - Include patches from upstream: * Update hardware tables * Update kpartx manpage * Whitespace fixes * Include coverity fixes * Drop AUTHOR file - Update tarball to 0.6.1+suse20160704.6e52398- fix service file to not pretend that this is the upstream version. Now labeled 0.6.1+suse20160603.9b920e3 - Fix BuildRequire to get systemd.pc from correct package (bsc#983167) - point rcmultipathd to /usr/sbin/service to avoid dangling symlink warning- Rework patch 'move filter_devnode under vector lock' (bsc#982348)- multipathd: Fixup definition of set_unlocked_handler_callback() - mpathcmd.h: Update Free Software Foundation address- Do not install header file with mode 755- Update to latest upstream version 0.6.1 * Merge suse-specific patches * Drop multipath.conf.* files * Update to version 0.6.1 * multipathd: move 'filter_devnode' under vector lock * libmultipath: use poll() in uevent_listen() * Increase kpartx retries * Merge Dell MD3XXX hardware table entries * multipathd: Add 'sysfs' prioritizer (bsc#927040) * libmultipath: call get_vpd_uid() if no uid_attribute is set * multipathd: update defaults- Update to latest upstream version 0.6.0 (FATE#319406) * Update documentation * Fix memory leak and segfault in reconfigure * Add wwn keyword to weightedpath prioritizer * Use 64-bit int for command key * check partions unused before removing * print 'fail' when remove fails * add exclusive_pref_bi for alua prioritizer * kpartx: verify parition devices * multipathd: delay reloads during creation * Cut down alua prioritizer ioctls * Add 'ignore_new_boot_devs' option * Add libmpathcmd library and use it internally * retrigger uevents to try and grab uid * Update to version 0.6.0- Port to latest upstream version (FATE#319406, FATE#320255) * kpartx: support device names with spaces * add raw format multipathd commands * make kpartx -d remove all partitions * Add find_multipaths option * Autodetect ALUA CLARiiON configurations * Delayed path reintegration * enable configuration directory * read-only bindings * Add deferred_remove support * correctly set partition delimiter on rename * Add overrides section to multipath.conf * Add additional path wildcards * Add force_sync option * Misc small patches- multipathd: do not flush maps on startup - Use find_path_by_dev() where possible (bsc#924316) - Fixup error return in store_path() (bsc#972329) - Do not display message 'invalid fd'- Fixup overzealous warning 'empty device number' (bsc#969857)- multipathd: fixup signal handling (again) - Revert 'trigger all devices on startup' - multipathd: print error message for invalid arguments - multipathd: block checkerloop during reconfiguration (bsc#946658) - libmultipath: correctly initialize pp->sg_id - multipathd: don't buffer output with systemd (bsc#954726) - multipath.rules: Do not forward partition events (bsc#954726) - libmultipath: improve uxlsnr handling (bsc#954726) - multipathd: do not realloc memory in uxlsnr (bsc#954726) - libmultipath: call get_uid() for all paths (bsc#935312) - multipathd: Do not print misleading message 'not found in pathvec' - multipathd: Do not update the paths vec when removing paths - multipathd: Do not switch paths on empty multipath tables (bsc#956349) - libmultipath: remove 'get_info' argument for adopt_paths() - libmultipath: ensure 'dev_t' is set when store paths (bsc#924316) - libmultipath: Do not store paths with empty dev_t (bsc#924316) - libmultipath: Do not store paths with empty device name (bsc#924316) - libmultipath: sysfs_set_rport_tmo still wrong (bsc#926588) - Add LIO-ORG/SUSE RBD backend hardware defaults (bsc#947845) - multipath: Reset alias if renaming fails (bsc#943157)- Fixes for md_monitor on zFCP (FATE#319070): * strict loop timings * multipathd: fixup a crash when invoking CLI commands * multipathd: implement 'show map $map format $format- Fixup hang in 'multipath -f' (bsc#941954)- Create package for SLE12-SP1. * Remove multipath-tools-0.5.0-sles12.diff.bz2 * Add multipath-tools-0.5.0-sles12-sp1.diff.bz2 - kpartx: parse emulated DASD devices - multipathd: Fixup queueing mode in 'show maps status' (bsc#933885) - multipathd: Accept zero-sized paths in ev_add_path - Always set DM_UDEV_DISABLE_LIBRARY_FALLBACK (bsc#933282) - libmultipath: Fixup 'DM_DEVICE_RELOAD' handling (bsc#933282) - libmultipath: correctly display checker status- Remove 'udev_sync' argument from dm_simplecmd (bsc#903001) - Ensure multipathd is started before systemd-udev-trigger- Only import ID_FS_XXX variables if not set (bsc#909358) - Fixup regular expression for HP MSA 2040 (bsc#920189)- Add dependency on systemd-udevd.service (bsc#903001) - Use ALUA for HP 3PAR (bsc#922105) - Add DX8700 S3 and DX8900 S3 defaults (bsc#921703) - Load all device handler modules on startup (bsc#908529)- libmultipath: make vpd page 0x80 optional (bsc#917963) - Add HP MSA 2040 to the hardware table (bsc#920189) - Revert 'Skip unhandled device types' (bsc#917701)- skip uninitialized devices during reconfiguration (bnc#908915) - memory overflow when printing help text (bnc#909742)- Do not automatically fall back to vpd uid generation - Improve vpd parsing - multipathd: trigger all devices on startup (bnc#901465) - Unset 'uid_attribute' on failure- libmultipath: Fall back to SG_IO if no UID could be assigned (bnc#908915) - Assign local priority for NAA VPD descriptor (bnc#907483) - libmultipath: finally fix dev_loss_tmo setting (bnc#889927) - libmultipath: Do not use 'sscanf' for parsing integers (bnc#889927) - devmapper: do not flush I/O for DM_DEVICE_CREATE (bnc#901809) - kpartx: handle more than 256 loop devices (bnc#898427) - multipathd: fixup locking in uev_remove_map() (bnc#901891) - multipathd: use global variable for uxsock timeout (bnc#900758) - multipathd: remove unused variable in cli_reconfigure() - Add %service calls for multipathd.socketsheep04 1680190762c862e4c05a78464d4c71a6c127da9e945bf21df10.9.0+117+suse.78cc20b-150400.4.13.10.9.0+117+suse.78cc20b-150400.4.13.1debug.build-id62e4c05a78464d4c71a6c127da9e945bf21df162e4c05a78464d4c71a6c127da9e945bf21df1.debugsbinkpartx-0.9.0+117+suse.78cc20b-150400.4.13.1.x86_64.debug/usr/lib//usr/lib/debug//usr/lib/debug/.build-id/c8//usr/lib/debug/sbin/-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:28488/SUSE_SLE-15-SP4_Update/8922ef093cb4def3bbb6ab9034e32947-multipath-tools.SUSE_SLE-15-SP4_Updatecpioxz5x86_64-suse-linuxdirectoryELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter *empty*, BuildID[sha1]=c862e4c05a78464d4c71a6c127da9e945bf21df1, for GNU/Linux 3.2.0, with debug_info, not strippedP!%Pqh>=multipath-tools-debugsource(x86-64)0.9.0+117+suse.78cc20b-150400.4.13.1utf-8a9d5e57dda411876f67f86e8d54903a6f3c5cf9f155b9e6a7405bcb34e9735fe?7zXZ !t/$7] crt:bLL E+#wٝ4fƺߡPevY%lIl;z7W+gbO(¤v~HEN4`͞N^|#awAW2~U^bM[˾S<"V7){oQf5 qU7 e٪D{$7>ܓyޔ\H)/9`p#pAPn^2܊QHb5|{md =(+ɶhBO"`y /X_󣦳cpUc\*!J4,5oxH) /oۑƈJ\D;#qj>WӷRҙzgٔ8Tԟ e޵'m*Ju}" aўF^ +@Մ>ARF(HnM IbW;+JFެqGCXFpҔ*Or _HV_'VП74J l?C~_$}s^{}IF Q(7 g⫶e9&,4]rQECNpf)rvK>QCD7U\˕'4s!!01^*W~Qw邏<j鶒 iF24Q~8+0WhHqW8U{jmEposg|3fV>L!>DH7U"(CL7`Ь28_ S4ťt}ٲKk'X6*Lo!kSGECA z\o^FT~]Iz^r5_:[{ͶU:4*NGyIM6g)% _'32cU8\8`0 CL HI <. F/y/fheTLv&\m<|Nr^y}|׀lo3F')eQz&ZRnge_yLTNn#ad ]{ݑ/M.UNc.Kw45rD.+4=b׍[$&wN@ThOsZ -<9`է/^@7PΎ 6[u<`<4pP]gU^єi0}h.ʮYyۄτb ȓ( ݢęвs)$E-> VLaѥ4nsMKe7yWc:qʓiell|Xt/aDlTZZ#r?f6ӂ]׫|XUJ`뺒׸tLw˯]'zdRzso18.6xUɹ܋gnXOGxW]]0{{$g%V\ʗ b( %+_B*P~B.Uza7@N9(R z !qWP&m ?+Q (|v.ͣi='*.5M̸$Ďۚv;2b)m?n]0IU8n(z@8m( Z(apn᭭||K%  c|.fy >R^K@x眙tpl?8[a^}Zp1܂ڝJV,T/ޖO& {/ͷwkY*ό-, G2?E+WudIGe.:]C\=YF }_ob5!xvu\SO8G_GBF8LYCG 鑊~ULmi 3 D)xjKoholiCC&&͜\ƜLKZU 3$RZVTyn үoZ3 {*겳lya;mO8;,aX 2 DPC_~WDiDHw'!~o nbM$j~|%5 k!@ P$d wH~JUU2s$ NK0Ơ] jO?ѝt{WS`nkq^u)G|T DR p2it>V׆qȂfyŦxB5-,#Zܸ5ڂjƫCxM~G_a#xFȫs#- -U1ӽGpAC∝2 ,&!"ty.mm "0ej%k[(LHtmҕc*խ \ Zavx,?]h≯ꇝ*91`m3hp8M>HaWjOO^)?d&aBB'ꅟ{N\J.~`H`_ҽ#~F+D=<0bS_ <ڒ(J= <݋%N=&zhΗ9{{<䌦 l*ud R.1c'uo)$Lh&gc?U]ii|d)102.+̔ ,Jx: xzf%# eKW``Zip~~v=#B*XwLRd@-*i Ŕwq0F(V6?@_.^;q'"] !dqfL`KUIIZR~N6nY0gt -+&*&`fi!WiNghފD٥8㙃fJEy*R'*yLo;iy,^4S襈k'$_|@>ӡO=7\B URX0T#yWG',ILF扬8/Sj^0yf18/SR`TEd0^u?o_ªI 6H5ļe@HE2!tIgޫiKaۯHK$MƲ"k'،Pu"LʉS*7$mJN)Kzoo0(T oE%fM zðwP[h_wʩ Yq#R>-[faExcvps?B[KT+Uxw:!x']oN!ÂG~< ڈ޹; 1kn̴}‹핰m/Q ̨_E6 T$1+V6ZY)[oprZ %ssa>71`Ȍ|4<rѬǶO5hb;Xu8n+p3A1RR1av$"ܒk~N%T$ vxM4K[Pī-0kDuZ$ +pe^} q- {P_<%yxON$X@uEDx٠yV>$WCoIz.'4iJ.L 5mh.UvOsڹAѬM~ - )tvI}(mc)#w(5,swKKNŮ`EڃLʉk<#53Z@uůǺFkYh޵e`Y,/U>8|àwu:istfC d*Kd| 87.Lb,OreٲS(pW2qBJn=)(՞Eac׫Nw}Փ>w?-`K!i?ͭ`ok{8;/$K g<Z+2 .MT %h<|hW(o'zQx75[*(kO*)`bӖ;Y,=jB*~ A'}ikjCQI.s1~p3>LK>{1hj2KZu""ݔ#؏1OG[+2+)ɛ@e@aLY|,.аךC?q.m>p8趘044TX t{T (y\Fj,XMr;Ĉ8'Z~hѫʔqS1C2f(joi} |~.@,?b:"c"wo< /m<䉇&rbڔ;ph f{dϓqJ7ӞjG3k[y~LokOw^,nQ RZ>'SN+e)Z)'sÍX{Ocr%"`՗~[ lִ7SI]֊|NeV-sZhB6v7 uMV,8U]%$g]P-v;mQu&Ǒp_ |ŚO#G $^PDRO};:Z4X*uJ a #"ƶ.uɾODaaP&K;B8 o` (-+DSWC0UԨ4XLQ&˜&e#V^LZG'sn?WQe r' 䗺ށ\qќ`َ@S0ͷ s:ki{0_^%Mnof7Br.Q4܈qK]&́c(e3X/Ne<a9a6rߌ;zD)"qX&sP%\;#HS'Y0-OL]X5ox}ퟗNDEe~JrTY#_;jrVx<27wYjD^C%cLf7Ü3Tig=jj8ۮ2D35`LN1!> |HQD0jyv ԙ"J^&.AaĢv5BU}ВAx8 EoAu䘜wf>y-o5P`kP HG W(SƱCglž8@ :ߚ}iپFj Wt5QҐYzRjqx5]aS{HomGZ}F~w #סm3J%]$J|f9§Y1M {ӆ\3p5 "{0*hq'&{/åq P3"~F -ERY~QQvyC)Zh,+-;gerXC0Qta1FUHR5wp%b2KfQ3E؅5|5RIJ~@p61dvd `(mCGppmsBˠ;6ڑl{^Saw ӦJ)kѠ4;)ں^88{M3eLS[1,;[$QZ\PpX'k"$R|"w$v6|O`V7U&֦Fn.(_[K&1㴮LLH^E =oHpb;tr{! s * ܺ'{Rs4G,k!cM?d#RQbmۊp{L Ɉlc&nB.?dşwz̈2,ˍYr_In#1}7!dlb*\Xnx߃5bX C5Z:gr"0d .Hki׎3`% +tCD&yD`R&. QIpS*amg}|W6ŗ,}t e5xRXV).n6ɀ`La q5g~"[ " $bݝ>oCG$wPi!ܔJ_%"hg*J -KG)M/ IIPCNEd(!@]LKw ]0t|]H3HN_2%컲_m:5ͬuM@ݰa*L3D4>\{7#͙Fj"k1qVը scЌfT$H/xR  0kI› `t*yLK}bxYyJx(ܱ~b;3>Rxtץ#`-d.`#>ι.<"^L_̃L—nDfi\`H-ikE j$_lS`c!,kLJY$mto4Mk4; ьqp-[;8Cs:ZZ>tAK&<*eW4z)'OgD  gҾj *Gil ϟJLTM RO#Jl8ӯC BPyO\K^=ap}kCsĩ&yۏ _sUEɽ&7V)h!Y)f$-#^;XUM"ҾƩqU@.lY!qVE37uf P|*^aE)'@a$PTW.M&\E8#~ZKxQ詖,]{aZX ٹ=;kb6?HWSjZm0`15tpm4c9rhur+xǟ ^0$U&xf;q>J⟦y O&p,ל"E*Xa7'DsY#i<ٱ_H{@d x'zi ptGP&] Zʂu/bQ )")W/Sf{.raLr S#gɵvLÞ3n (;ʲ\XLjq .TzCwfTU 2U b;H=8<.n|\zX0Z/a7-p{k(x%sdiu*'!‰ 8Z0!nr kV8UZI&U%,%벓)2ӵq%LaUIaab!dEj Kfrt.X$`KE޳Ġdk{/u:]1sԗO 99{Hb1UzGwR6xJk?#7'-"EtX]-&R+7>~tWu(8b,K8ߦrI-vx}ە{~lSt19<{lDK:+,Ad,`٫|bԋ7B5mƗsK{jC9@KaJPT?1]*4b_RfO=S5`ѥ<3X b۹>xTKUHQq@,ۺ2*E;؍>noX()Idpj.FN[卓J@xKMIƒedLngk9m 5#HΡn;ybx؝NR_3OTz{,–e) h$,|XhaW2Ath ؀ᅇxmKڂDNN.5vWuTܯ=ʹB?H3mxҎ֓Z쥂:ej/m/YATtݟz2/!6eD=3bI7*fb,EydkG*z ?PPa'Y4M+"DŽ硦9PA ,]^K0#H3 H7 \(a=PngS鈓F |G X+x/: pyl!VIwWʆr#7fa1kۣ z D>p!~R۩Z#>1tM:Ԡ;h8'ʼBm kkcA@y1#[9Ygهiwk$vgY]& 6O"TfJqP:rF'aGXq'UR 3mMVMH,߽QIj'W\).vtw:[P|5^Lp_dl*07*x0eQGzmScWu3?Q3F埿xPZ=< laцN!gKoo1;`uV x,긕!3R+}o~YzCVu; 9E fF1[:988yI Y2+=97ߖe[iΖ4Le^qɱ 6\-5e1(G-n # RQ}<|yATX5~yk!8^ + &Erx}]lSPZ%KΜ:WdZ|W L#y6iҏlu1ā4؛s=GaYڲߕ:)N!~m3)(6cÊ`/͞V#\ɌCwS +"(f_m8ِ8G浙Ez@(w96+q72gIū?TSE퐸ԐWtЊR at׮ꪉdNg]o~EӵA?`@Qdt hڇ/zqӑ7e;{{H4lEMitĂPx9J˹-'շf~0D DULJٌ}WDbyy]ʪUř MKo[q0G\dpA1/mdfԅ7zmvVfz.i@o^ YC۹X?:ZS}4Ѓ0w]%t;O C$%Ԟxv<|e:(qxpu$) 烨MI`:Ma4\j+RgeZphQtIO|c ϭF5k %`R{HsQwDkE3M^mhWR+Ta'83i$?<&AXknwvF&TBJGk>C}.*,(%|s%– 36{~c} $n:V6cЍMUZ> e0zTߝ3K!{]F V !+-Rf"(__\R?2ş]0Y-Suwh9X s8QFWEH plo 2>|9`8~3}0ΫIe+ b ֔lrfW[$ws̠^}zm:G2lh [/؛>vOHʾ[)+ˠФx Ub]e[r' 3p XO) M~1@n0EQ"o2f/#DOtjTjm4ŋ`Ѝ3>lJ샼"䳨{ܑ $\χсor&b b4Cf}V[4Ȅ쳙djGlp3:AMoևܑ@Lʛ*a-t2Lvcaa=oKCwH>nܨ6O\ye?t>xI7ϒ=)SˤHHxUeUw{*d8!E\R @opsIؑSW%u`J? [RDm9PTy" ވB Un QM5T@R6 SR'Z豸s]Ԭ_y+2@F^]90xY"3[$yPT΢]ɏc˝xYYu>5zvslXq/p%cNBsh.:{8__ǯ|#.`d]h7֔W66"V n/C`+/4N1Ӯ_l[/a.`PF i ȑPN !8R+^C; %r:T ޑP(&bKQtr Tr_M]U o;L nh sndl_,3˲P(qB$p?Vs-" ;(7%^F>#2ʁSe~g<،al#FI%̌_c )͏T,}q|7a:}EA*><ٻ"nIpNgAV$bSSb0m CB>f-$5 pܾJbLbx^]خQCB7B? =|YP>ɶW ezlioDUj{^ZPBp ZDWW>ltGK!ٻ F/ŵQfoE F>ܑ>/@'Jw61|oL}:?T"9}y+ _Tq/L֝_ԧ+[-caM4KP֙on')q|M)Qw%eQpX2qy ֮@r`)窬56ehɷ!'j~iT-pnjA\`fpy aaUζ;3x=W4khtL@~}Mj#'d{ HcU7ɪH-A>^o.`~VSPΰ,&W{6Y(02 l]lw (By諾oEH]x< 6}UЮj,1E mUG:(3F6 ZFRx߀mHu4u Nh8wCtV.LT#h*yȇb } j ,QoNd{ a)m? ޠh=udșؠ2̆mI$䒈׈?].3LFΥ*zs$q5n1 E`vh22iu&'B!CM>f3~iax$ 63r컗΢aV]D>(_Ʋ^T¢ÀZ= -~z^Vs*%$'@Id%F9n1I$^4fBA65@2=ոR!$sE) ԶZ\wZb*-1G`]B7P]ckݨY ,'VXEK Rm$N)WkWM҄rxemvt5H iI..q* :7#nwAn%1ؗЉ=pוiYFf~p'%ij=b$ҪuXb"; ؃f^ì9#]3l[ t$2A| кMmgL*M>Ew3&SH p]QK<$MѺV%F1u 2c-~G0B6GL+[SvH+ف4 3ăZNL?g"gf2S`?4EQ576g'ߚJ8LT_6}m2 F)0p#@rdB1ęL_6ɤK3=ca Wo13B)toIڈCcDQBz(Wذ#gG @ /iĞr;'_δS @a{֭&2#Ƌ @Jώ?eFf+NCf!*nͪ 0_ca)"ǧe^H$\<6@>sðB}<ÌZj JPsJސnµP? 4 ,of*6x 7R+cp[= _ސz^fz1rJ2D˻;?a?(뾈LUA,РC繞3xßkN5@̘,", 1%di;+AhO|UvGm\ued kvh3oSpwL;5‚O#`WvJڼ J5tz-ӹqg`z2FU.j/xn ޓ,kSn +FTe7nvfU.l= b@YIѻEt@'߀,q^yYo3:o -::LKhan inڔ|jQ;\wQCYR |O߭wQiVHea cMfQ*5(RL$~бb :2p%B̖ ~BpvE ;*lL֋C6@'<MwVQ& +зˮv1踕)/m,^Ã>~t1E0v{ JEYФ!U|Fl܎'2 yw1Kdpf'YD$Y:> $V 4 Y̋ c~tA1W\΁:QqoP:J:g"2\bJii+%3X(y4'$giV ]:B,SϵDB3:$֏yu^_ܱ⬸Wto{[ě?~lWF[V]qsvgytp* R'8R@mӬ9S"inK ;e:t-cĺ"e*Xg#bMĄ=ͼ%\&wX\Ę6O:b8bڎ0~+vE"Ig<ၼХ .\_xTm$Lkt.wH&\MvnGa +ITeU.Vͱбq IT/Nnt>,۟SY u[=d> ZM\BEUnn2*{~|9 G˳ n5J$xŖN3Z25gǽASo-ػq j7\Ue?~JYYoLYfP`}66,N5P^qBs|z%鼖&eӦ2^WA ^Ӻ4utzB<νXoځE1l0&+vYbpw85°L\FI Q#B3Me=9Yh\!{C T$|ە/K1p/#+1#X Gі$yD,UT}!5[~ q:r~<3$/Z7Fi1v ~#MD?J v0Zh~X%"{Dzmbۖ*A &<e7,r(S%޽~0(}dĩ`Jl1 Ai֨ :ߨe"O2%M)w2lƖ[$Q-6Rb/饨DY4vXsqlwI2{DaZ'] f0bP%{7IA:P*= ̿,Rj%K^N0EF`DxK2?Z[5kOzABIF1c3Sh|5==AFJQ 1g4N x;Z1=0ex)ujeTAN=u>W$~>1 @MdˡBNtc}%""phBK&!wx MqG Ӑgk-Ů!*rX#pln[V1gg22@[V ~,2GK,Ĵ)Ƴu}bu .S`1r*ɮq %۵.:/PhE+V)ʏ>>-wVg/ojx^P>*wkly)pL_B|otBf'+c2 rx0O,ϭѴT' UA`o2&No;چraq_DzqRoK+)˰셍 YjS»5$Raf\ЀDcg 'ֳ{H^6})yh0 vrU?GC;U[(lsz,e~,W@a?OݽYԼMLNm,m. "t,;}yVr9욪k 9pFqՁ}kcL5  c-2>Ζw-#9&ʅ%#:^%d# cvZ3Y ;HXsПa/HL1|U%k$? 1pKs(T^*7ϽfXGawfQY8>Cm\9?« 7lKX1>gfzW+gb777)K5#ҳ0v.t9 1)\ۤ+Lﰨ($d&u@0m(@q6N&]7*P O81߶\HV 7>.VpQt-al#*EvmN5⚸mr[R.H-cӋZ'uøcɦXwЀ4.=^V}0 i6d%w%WJK/9ۇQfeyfZ"п϶V4(d5~hK0kh-*Uir'0IQeMlNNܢ>t/ 2эO[kl-=v1fE򼹣ɇFBcRJnBQ?q_TEwqvC|V2RE4N)cDW#7Pr3yV-,) eV Q.v8xi (䛝xzu&}C8gd7nPR؍WMPp.1 9 /,h( k]oI׶olM[iu]+81(:PXР^;Krs- +&e"#x,Hأ?@JrTR7qU^4ۆ``EіgзEZ˚EwbPdR@>?ō+9Y]g84v0>}gόLkH8j:'lݛRC8 r"Ԅ"p)}nZ~oksKqnIcIaXiuܵ~H gNp&}yFRBh.g̡:'?<1:1Zs;A  OP,]Sy":8UΛ}.:+YNZ'4KBXylP4\:M._}03oa|df&/j-$bTe  aV Y0eI?md-Ed[}۲YvXS% Z0 ߅Mz7,7z [1,$R^1(_/ נl;h$bN|~ huq˿TFLs#v=WS>$6-kRRm+n;Bɠ 0Bu~f":%v$~ 9U 40cu~=H-="(jfb$Nߦ 'tvk g jЃF2/|C9ȝr[;8:@)& ㋴W8[.H$Pi\>/d|h#NIq ApdRiBx2_ Heq /퓠FiL뮓n5@e-[OxWT X|xn wY(pcL#Kιm`Si@C'E5?K>p ̦ϒ?XuQOx[F&pAqQHĸ#;yi-@qM\~O(E~U6 pɍWa/RZ % ><;st(,Ox_`>&9,A})܂o#pzVċEO2ɭSd[]80.w.<_Vuc'k#PQ(uVg]]?~b8w=RrҚLPowOveybӤjHE׹h9'OGh.Z( qu4U7ikuZ}Fm`9ט:H7XY P)P=0(7;9~%ʖо A46zR\)4G\{ I^Y~26Iڦ{t녜g;rk d[Bc)*St(~%д`1/(37򒉳 z-M)Fi)Dby(RLI?\ GEk/0>CQ%@l--g/Zb^P1n򏄟w\IlUNÚynנqvpP&.T4=k,ˏ hAh":(k.@"Ȥ CR9X+p9.Jr.#ܢu%cŦhu c sZ<ڧ,8)r=3h8L />zV Ҽ} *$ʄu:8Mj_" aVv#r! u[QQ\@Gұ]n!jPIz'X2Qv9_bőA덏bsc @@&V?'^x5Hyܔx3&0b'2 2U:vjԺC{3d* 璤bճBG|2lym}4oO*:{ѭ&4$rm3Bh3 nޡ&[YU8i\Aq*7oS؊hqϴ~P EAJX[ڥ2sq (o'=b [X=xx9c1*YT0 V%H'Q 5&i6k~^9Kf_Np{fgۨ`xk r_q=4DYeǞd8] .~:N"#TA*@b؂(^rM\0b#{]SJ9'[cq:PXI;a'mv"E,`./d;墄ס$^i ͯ/grˀXex28\Q g)[{H6R38H)g,# =^Z/6*qȳ̱Ϗ)Z[VY; J8 ~٫;(ozUb#K#_m%:9WX݁Sy _]a*\ ]:Kf(#JD: :)AFJQY{-X"cU=%鶒zP|$TJWԶxS>Y+p^ rW(aM[ęo8/QVp!׉#tH^*1)kKCP(mD"41BԝHMݽX{eH\Q>(߰T޻Xt㐥-~- .{)rC2OzIn 2~VwW`' cl*_{b5?[ymns9To/ OjўT}=6iRxZ%d#An4 Z>/|'>2n0f0"}#ɗX5@H" t[u: dوgmk.N+P<AuQ4羽Nq6nQ-2Nvުm&?0ڼ5qBdAGɇʈOw#tjpSP Ioe*B(CHZxn-zjx np`Y!;mФbUF[yFTf=36hk,ރ/byɂRQzДv ;^1||qL<\ّ3j3_L]5j*-l5^ h!YrFZGnc b R`#^{!y賻tw7.̢y*C9Q8"B,$-Q!.y;5-bWbvYBVY/hPѾyNt<_Eܪ>E$[n^zFdU;l%NH K5AöF2pP!,BѱlV+%ՔN8g nGMHE&tR:_jVS(:;w")ǂ"&׽K;xd}2A-JN|:JGAMz"I^ZgX :G~{ h!K' 22imǠ Ҹ.ᱲ6\,859[ N9 e4|_[\a1܁Gu/Qz` ~މSra*Bdu96q 0n"^$ vr%`~T[RۡLZn7VxΌrsbN)3Qz~sdTMs8)Q-a*jAsK/ qwdm1ِ́#j@qincwQ FąZ^0[!g$G;?SbV<{@DBedl2,#V@t2(;F?m:PUi~dϷ$OjGV(b3C[T Vr1*z:`c$tz~' Vz`LĀUL=_R /xkg3a*˛%6ɞ,JCs-~IӭRq&dxIwNwedHeӰ`TCHw+ xm>24') JZ)k52Vh6. ߟGN %8Gִs-v$r# |0L/jetⲊrΣ)`;=;Sc[V^3@/#-.b4WZҜ XFpeNZV=L 2`דVO ˯?xόKM|YҔէ(";rk?nILyt6}=STaz}qp}?_߼ $:,7rNYϪ#B&a11B/[ƴIia|-&-n%8UW*D"\g%Gˠ}6,v׺ ~1ӅLukw3.t,NFƬ%ޒ06"͛3'mMSrq 7͝65ǵ3 pYl1Ht(ׇEJ + Kn֎fjZ,% ק)sam'8tdmIѐPЧN1_,U3WmCD7䉯to|ZgR-$2yz3<;ݶX%)׀Gpфg?~}n`-S1zoxnN՗{R֜ vF٨˸5 m[:k_#Q'uD=dXv>~>1k]mzǴs(xTU l>@UaEt[ \!8YvT[-m87ulu9p;[.N-CY pyD7}*/n%qvPʾ" ]AQ$-l/qyqSI_Q^] 8>t%o1ǽ &3/P*A{.SR0ϕ qКL|ޑh̦)U2Dv_\ p{C~QSsܰ23}oa<5G mӻ .WraiCTAo>=3[@V@ 9 PFTq(VCoLEԏIکKǬҗ]85s^"IIc|m=H{/qec:lMx ȤJDDI%ڡ&ݒÔ18sCrrVq. :EI\86]94ȖX]bǦНX~-*KlSUo S4ܭVGw+bd.9{"˻CpK!v_j7OCYD#2iW}'Q$&h1*W 4!lny K{tps/EDڈ_2ZHx;?^f8Lh<7` ,xS~m=K.p0J)[ui7GXdåWE$]>9$Łw@+N:܃cU%vEF Kas`򜢓o m2LB|"[vBDhXF)'f9I@5l3 tnH@W=KcJaPS{'*n ؊u`$cSw%t#|?tSС3ewx̡c-o:A؂) :H™nv(~;f#&5( /Q@p&qelE.E5iʢY-di(`/hZJ%'7"knbUt[pBj؎!kNwU>"VPH&O,Ʃ0)˖ܭanikn,~I'I*s09.KRIgDx[Cϭl,њJ"~ua~ށsX#>a)W;xR@i_sI27 ‚^:2f</4pu#~fZ};V\f {ȏxX1ꎸ9T 3v:+g7sT, U ps:WmKƏV'QDJX6(q쮏:cJ{<OTfJ,p_71]JkZr.Џ'&orFGk%UNGH%Pq$ȯ)G,_^iwhC;KI'ȿ ={M9[y\ ]J I9ȩ4Nߚ[<Uq21*f+Zo&Q۔5VMG.`MEҋq "\P[EȮ#Tt C#tYnL F.Ix?x*ǧ1Ըd YͲK#~fQX'*^Yl-AM@ճ8]bjW95˚%T1<;f+DXs/DҵuY%%)%.ЛD\J[t!=E0,!uxyvr_Ro[3Ѷ+frd3:5 ".\-f*n͆)=!(_$V:k"aC4=h:9PBW 3E#J*f`)ZfOb">D_a 4PMl(o3adiid,*0¤ (y,Eԧb)z)q S5L۝n`Cp:·A}uKk6v BмfYF.CX;cf*$rcgg"%lnس<ڔ+L3SӚ飏^ָB!Hơve!,D\RʾLS2WoW`7GZuya<$AvڡNvpPfKdꑮZh`ihkHN $0 l7'GY¿W2~Y}'S4\2nq>A>[k:~&b_?(3\#/@5_#!F4GJ6k:T+aGTV-=˅C&#*[0 .-$4$ PK?]W0GvAh Sr1-5l -AtQVT4#3$ޏrfQi,G<ٷ."bgMu\UUF"Af䣶8)< M:VC^xv/Oq ܄NB(DƟ\ k`K!(c(ڥ^d1˕qwmߦk~5qL+evF A |jdp,Qo9ѽTqA֧"crC b~]Br\Fk/c;ۉ:uC(0$+_>2ܥ@ãNg4jxwp!^S)@rg]dvV,5f|V׾`ws[ `dⲫh9'C*O-pW$#ո1m~]*t~18U_ Q_Xjlc >VqI.hqj]<U@6sFLYK s(Ӡ!w`m@Rҽ cpopea7ߊrMnxus#V}0idoFCH?Ӓe! ?pJg8{4CM4#l=XmyGt7zJ 1an f6.):++ᇹ@p](pF]O$7/* OY|o'29hk$lFp=ı>tKds_ݭBn1T tse 5i=ƴd[NX |X-5CT3[t\5~P'F#(e<".}zKzuD{15÷h; $,'_Nc(ixwgGOC?p'݁/d"-<)hs}B [Xl.28R+N4 W׆ai)n]J:H:m.0&>SK^#'K;NY#yGɸkR>ɪ(fVU_49'ε kWkXty_hnٍ#0ߥ%t4˕ySBL[ GSr+U:t[ábAhɳY]٩z)2 $ww,庸RLȃ>Boz0^X#9\G?KJ65nlhwt&O9wRŦ$z{Bwߒ0:=6__x87ߨ3qHݥ(=R ?̳g'^j$j&"@)}9Úfz;WLA\Ժ? ڀ8WR"dFXd e~Ӿ^B%vXS4<+7{R^2Cy w& L;zbh)70y y&&ԉ<ʂw#ZJ6h&)&zaxSƮxT;D ٸiF{FԺ -kôs'͇+ asjpIWMn~rCw_[Hiʲ8.՟GCXm~Gb6k$p,6izjx^jjx Z)N*SyK _=b(۠dJZ4A=Uu{iLYimBl!=@Ӣ1G[r393&Le'@Bg|}AEfڤ 6b;V̰:Ai/P6Q$] #Oшʖ=bs>^2fE?40r]gE ~@T.a #PXm8?)cۯAPUv96E->xjU :I16oZf/hf-D|ʩv]rusL.f]#~p?cƞVx&LḀ AUPD),Ioq{3 t00w9XLEh@oP$Gxvy\hTҰ2m6#'*+q 9FŊC[Ew0n U}? *aOuEO6K8ȪnѾYjf 5kJsSD ` NʳݐJT^uC&j& D6%33N2skxxu 1̼L t7bhTuI`뻛3n%5:+?G&;ws:?jwxaf VDEDRj B߳\gi ZQF}JMT-{Aۂ WAx vi:K:NMgl!o_)kTR z?LeJ6#EJ ('#'nw3Mbvnyզ.)mSuhA~*Ǒ˩ZF. JJK9?wd,,4FxNh, }s;K[RmT[liT H[ ‡>>ʌAQ}H p A3֗SH-Z1kC!`RZcZI7Z43SlCӊn)mק׫j{CĉE9X % -+N^Ktg4ve7zݡNA. XZb/M w3T63k 禔?A=q[sw8v6ug'#1D-jan&L_9SuXva?e{:"4ޞ6>_ *6hRbTܙy3ȳɧ "` #Bmi ʉ2"w+KX<y.-VV9#@-oRJ~J蝹f5#z AmfMATm#I ֻWQ&sߜ%<U0I Ls4u(k_߶ͤ["vk m!ty2` \fPj58W4̶b't΀GgP6J 㪌gT$ձ(ƼK<vށPZk^ ly=3>}T 95DPS#Z2"AGfEjV}xnqɊ@rUg(ϠEv, .'ҟI=1cud ' BZ'8f}}*ɭ.2?%obۘq tS0Y@oK0ub[ybVg SyGzn R$SkP'Hz9_2pY"g07DϙVV'@L k|͗:A66?4`Nm`ʭ^ k"[o  %V0[ 0߃RHMCQ]U>c.牀y.9([t9/܅'˪K3.=# U* jdA4n;M5 @>iåM/X) ];}c%N ,Ũ"~)l .N>Rf8(3>Uij8uϔtd43*6<" Jukӊkn~JÀުVy}B-?&&B9 g6d_[r㼲G{ M<%BzoARprlFL " vԛ2<2)%}8Z` FWTD9a,~dVaKp vrt%4g)pg}jmĒg+*Kβa$ԙ)"fb~x>I׏͖IHS-!"N =r kM1UȠ4[nsޞXԐf+ٿ򠨨Cpv6,uD2e"O/LՅP.@o.1ԓ呄A/ɐ@ܘ i>1'#_zB++g7<|ť.T~𮰍KEgR-lg"γYp6%p9ʚkMW SBQ+ x+UY.2Xs~c@7nԯ vG^y~T\3S@p؏ܼjVTܠRvnQ#aT Cwݦ%E`3;3 y)Hq0~GVȶ*kFM1ZVvP/[6*Y'cu`Y abi?3Aaac8>b-yFE#,d Np}p+M&hOxh2;QG?b3S XM=Ip&خϱ ֖A!k`̆&IHKt.m^>amz(]:Y(sY ˙AGBYx =\ѱ+jH!qӿNBrXvj*dxuLzѾ ٞmZBueI#|Xp!(UX`9몤LLC9UnfKDxсHt:N> 'Yr:J]Ƞ/lt#-I46a?æk;jOg[qX劾Dxfu{hJBP`6pt۾uQ딇T#aȉlU &D&ဌB_AkvVa ]{lT+-J8/G(.(.ޕw; 'tC]L%{:zY# s~ҏJ D=ƛ\' "3HZP=_u(_WSQ-:aB4I<U6U4JI8n㽞ɀ̏NoiL'GT{74D:4%L?O!uQz_>O ͗?k{3b5!$3?-eCT@+)KRgϬ_ad^K~s<_ Fz3U"/-ފ\~@DR\s?T%/``h}Vo!u .r$=}ec8۱xn$ҷgkC6%q2o8>6~L0:v:vBm ̎ ~ $84)hU)Q%sne,$.pdGf#rU1C 3<+֫Ti *ET>$ ϳ694|*H<=?e/,j!I{):;_kxgt3bԓ ޛ1 ka$㭬B۷ԅy!ޥ%ߧqp'ϋh[waDFE>hN9}+6^x$Bs~ɼEE΃M6noL&8fDk lrG=2r;~btSy cj)b3;W=]ZOZĭ5><_϶ώ̠ᷫÜA u9'!`$^] vi44 L?2i3xNYx?*!\OSς-\ey.on։ϭUgXw\_ Il'<8Jl.@bNƵ7#[MT UZ<(WS$aS:NU3wXlph%JBϩEF~eb/#MD<6jԄVjDRӲVՓ[Ll>7wɧgG 45$ 4bi<—"~fNNW!:P/^@LNvkvl(C Sx:y:fMp A!U&jnIvRעs{v'dH$ɭAt22t){ZBT%fЍp߾ί(ɮ6"0.%IT].#i#DhXS1ƿ[D>r}6/4 Nx% Eh%fMMsdʔbP9=|\Jӂe8=)r7ӌ=Hirϥs\,tE pi|n9.~]μtlI5"]߸t^9CdI#ut/`] v/u^{4u6JrQn~sz7X+@k=BëjTܤᄃz r|7䙜bd|xHP?~wtKo b9h# 2rnLòp/j'ғOtǂĊse%moM!g/|-OGH䳝QY<ɥQ e?XTE,cr;!^t}wZD YZ