corosync-qdevice-2.4.5-10.44 >  A `K'p9|Oq4 COI`P̠@,i<'\=,VowD":#$]JyoV[۱Wjl{Fuw }'_/O7Qky\f476d3dbf78fdc3f8062d352e1727143a5362ba7a3c6974c3c8c1d79d9b93d7471346ecf7f364dbe8494218e6d6ac9557f3eb733ĉ`K'p9|}~,J~R)'\#ArcƑ l ɺq&=NdUhI5@sͮb@@`QiSxt ՞› ztPm&KֲׯLlr?`u#`Ves)i3 N;fƩ@a2Zƛ WˤIH5X>pHu,?ud  C %1U[b /   4  \|$$$(8696:6=l>l?l@lFlGmHm@ImxXmYm\m]m^o bocpSdpepfplpupvqws<xstysztt,ttttuCcorosync-qdevice2.4.510.44The Corosync Cluster Engine QdeviceThis package contains the Corosync Cluster Engine Qdevice, script for creating NSS certificates and an init script.`Ksheep890SUSE Linux Enterprise 15SUSE LLC BSD-3-Clausehttps://www.suse.com/System/Basehttp://corosync.github.io/corosync/linuxx86_64 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 corosync-qdevice.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 PNAME=corosync-qdevice 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 # Upgrade if [ $1 -eq 2 ]; then cp /etc/sysconfig/corosync-qdevice /usr/share/fillup-templates/tmp.corosync-qdevice_sysconfig fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in corosync-qdevice.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi 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 corosync-qdevice.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 corosync-qdevice.service ) || : fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ $1 -eq 0 ]; then # Package removal for service in corosync-qdevice.service ; do sysv_service="${service%.*}" rm "/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 corosync-qdevice.service ) || : fi fiif [ -f /etc/sysconfig/corosync-qdevice ]; then rm /etc/sysconfig/corosync-qdevice fi(2H8>YAAAA큤`K`K`K`K`K`K`K`K`K`K`K`K`K`Kd1ff096e9b83d49f092b0eb575c6a0ff3c568e1064f78cd02aebd284a1c892cff497c85748dd8b5e858638c8365592ac9695b52576af95f6eb3ac2586c4af6c199d56905c0d2cdf377e94104bb9154ead1558f8e0df40901147f60da6ce4d9695cef7fcc8f033bfff2ac7cde6574db6d53c6494c8a60f8f7c2f806e47d156215b75d95747589db833cc59808daddad7606e577b3e75b2ce013ddf263e6f4d1500f8509bda4f4f50d6e12f8b6376d22e0e9e0bfba925a0454b2c98baefabeb641429224f1caf2e516eff4f39a9346ffbb5359924cf2dda49c0725e1eec5ef26a9f3c980467f1bf0a6cb3a6e85f2813c8fff5c2cd6f9ce4a7dea67362bf7ee52e37066ea79c64136308bffa0a37213258d83e92bea8d8f3b5bf4dbba4ad2ff0033service@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcorosync-2.4.5-10.44.src.rpmconfig(corosync-qdevice)corosync-qdevicecorosync-qdevice(x86-64)  @@@@@@@@@@@@@@@@@@@@@    /bin/sh/bin/sh/bin/sh/bin/sh/bin/sh/usr/bin/bashconfig(corosync-qdevice)corosynclibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.16)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libcmap.so.4()(64bit)libcmap.so.4(COROSYNC_CMAP_1.0)(64bit)libcorosync_common.so.4()(64bit)libnspr4.so()(64bit)libnss3.so()(64bit)libnss3.so(NSS_3.2)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libqb.so.100()(64bit)libssl3.so()(64bit)libssl3.so(NSS_3.2)(64bit)libvotequorum.so.8()(64bit)libvotequorum.so.8(COROSYNC_VOTEQUORUM_1.0)(64bit)mozilla-nss-toolsrpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)systemdsystemdsystemd2.4.5-10.443.0.4-14.6.0-14.0-15.2-14.14.1_ _=@^1^t@^r @^,]@]]VZ@Z@ZZЛZ̧@Z%Z1@ZqZV@ZN@ZKt@ZC@Z&@Z@Z@ZC@ZNYY@Y@YW@YY@Y@YYf@Ycl@Y7Y6@YY@XsX@XF@X@X@W_@W@W~UU4@U@Tl@Ti@Ti@aburlakov@suse.comdimstar@opensuse.orgXLiang@suse.comXLiang@suse.comXLiang@suse.commatthias.gerstner@suse.comyren@suse.comyren@suse.comyren@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.comrbrown@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.comjengelh@inai.debliu@suse.comjengelh@inai.debliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.combliu@suse.comdimstar@opensuse.orgledest@gmail.comledest@gmail.com- (Again) Fix bsc#1163460 Corosync does not support link-local IPv6 addresses Added: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch Reason: This time the path will NOT cause problems when doing rolling upgrade, see bsc#1168771- Stop mangling libexecdir: it's not needed at all.- Revoke the patch bug-1163460-totemip-Add-support-for-sin6_scope_id.patch Deleted: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch Reason: That path will cause problems while doing rolling upgrade, see bsc#1168771- Fix bsc#1163460 Corosync does not support link-local IPv6 addresses Added: bug-1163460-totemip-Add-support-for-sin6_scope_id.patch- Fix bsc#1166899, return value of "corosync-quorumtool -s" was not correct Added: bug-1166899-quorumtool-Fix-exit-status-codes.patch- Don't package sysconfig file in tmpfiles.d, it's a bug. Instead correctly add it to /etc/sysconfig, invoking fillup accordingly.- Packaging bug updating Corosync(bsc#1155792) Some noisy output from Tumbleweed caused by RPM macro not fairly used Make sure corosync sysconfig keep original configured firstly(bsc1153502) Store the tmp file to a more security directory- Replace corosync-2.4.5.tar.gz with a clean source.tar.gz(bsc#1144200) The reason is some binaries left in corosync-2.4.5.tar.gz- corosync-2.4.5 upgrade(bsc#1144200) block_unlisted_ips block package from ips not in nodelist Qnetd now supports updated NSS database format Partly fixed problem with ifdown (only for UDPU) Added: corosync-2.4.5.tar.gz bug-1001164_corosync.conf-example.patch corosync-init-lockfile-path-error.patch Deleted: corosync-2.4.4.tar.gz 0003-fix-tmpfiles-create.patch 0004-mark-corosync-as-a-static-service.patch 0005-do-not-convert-empty-uid-gid-to-0.patch 0007-add-config-for-corosync-qnetd.patch 0009-bsc#1088619-add-version.patch 0010-qdevice-net-instance.c-optarg-should-be-str.patch 0011-NSS_NoDB_Init-the-parameter-is-reserved-must-be-NULL.patch 0012-cpg-Inform-clients-about-left-nodes-during-pause.patch bnc#872651-stop-cluster.patch disable-build-html-docs.patch Renamed: 0001-coroapi-Use-size_t-for-private_data_size.patch -> upstream-afd97d7884940_coroapi-Use-size_t-for-private_data_size.patch 0006-Fix-compile-warnings-with-GCC-7.2.1.patch -> Fix-compile-warnings-with-GCC-7.2.1.patch 0008-bsc#1083561-upgrade-from-1-x-y.patch -> bug-1083561_upgrade-from-1-x-y.patch bnc#882449-corosync-conf-example.patch -> bug-882449_corosync-conf-example.patch 0002-fix-ifdown-udp.patch -> bug-1032634_fix-ifdown-udp.patch bsc#1001164-corosync.conf-example.patch -> bug-1001164_corosync.conf-example.patch- cpg: Inform clients about left nodes during pause(bsc#1091593) Added: 0012-cpg-Inform-clients-about-left-nodes-during-pause.patch- NSS_NoDB_Init: the parameter is reserved, must be NULL(bsc#1090996) Added: 0011-NSS_NoDB_Init-the-parameter-is-reserved-must-be-NULL.patch- corosync-2.4.4 is available now(bsc#1089836) man:fix in corosync-qdevice.8 quorumtool: remove duplicated help message cfg: nodeid should be unsigned int coroparse: Use readdir instead of readdir_r wd: fix snprintf warnings Fix compile errors in qdevice on FreeBSD qdevice: mv free(str) after port validation Fix various typos Fix typo: recomended -> recommended man: support SOURCE_DATE_EPOCH configure: add --with-initconfigdir option Use static case blocks to determine distro flavor Use RuntimeDirectory instead of tmpfiles.d coroparse: Do not convert empty uid, gid to 0 sam: Fix snprintf compiler warnings quorumtool: Use full buffer size in snprintf man: Add note about qdevice parallel cmds start sync: Remove unneeded determine sync code sync: Call sync_init of all services at once corosync.conf: publicize nodelist.node.name totemudp[u]: Drop truncated packets on receive logging: Make blackbox configurable logging: Close before and open blackbox after fork init: Quote subshell result properly blackbox: Quote subshell result properly qdevice: quote certutils scripts properly sam_test_agent: Remove unused assignment qdevice: Fix NULL pointer dereference quorumtool: Don't set our_flags without v_handle qdevice: Nodelist is set into string not array qdevice: Check if user_data can be dereferenced qdevice: Add safer wrapper of strtoll qdevice: Replace strtol by strtonum qnetd: Replace strtol by strtonum main: Set errno before calling of strtol totemcrypto: Implement bad crypto header guess cpg: Use list_del instead of qb_list_del totemcrypto: Check length of the packet totemsrp: Implement sanity checks of received msgs totemsrp: Check join and leave msg length totemudp: Check lenght of message to sent qdevice msgio: Fix reading of msg longer than i32 logsys: Avoid redundant callsite section checking man: corosync-qdevice: fix formatting vs. punctuation man: corosync-qdevice: some more stylistics man: fix cpg_mcast_joined.3.in libcpg: Fix issue with partial big packet assembly totempg: Fix fragmentation segfault totempg: use iovec[i].iov_len instead of copy_len totempg: Fix corrupted messages cpg: Handle fragmented message sending interrupt corosync.aug: Add missing options systemd: Delete unnecessary soft_margin Added: corosync-2.4.4.tar.gz 0010-qdevice-net-instance.c-optarg-should-be-str.patch Deleted: 0007-sync-Call-sync_init-of-all-services-at-once.patch 0008-wd-fix-snprintf-warnings.patch 0009-add-config-for-corosync-qnetd.patch 0010-qdevice-mv-free-str-after-port-validation.patch 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch 0012-totemudp-u-Drop-truncated-packets-on-receive.patch 0013-logging-Make-blackbox-configurable.patch 0014-logging-Close-before-and-open-blackbox-after-fork.patch 0015-coverity-fixes.patch 0018-bsc#1089346-corosync-Integer-overflow-in-totemcrypto.patch corosync-2.4.3.tar.gz Renamed: 0009-add-config-for-corosync-qnetd.patch -> 0007-add-config-for-corosync-qnetd.patch 0016-bsc#1083561-upgrade-from-1-x-y.patch -> 0008-bsc#1083561-upgrade-from-1-x-y.patch 0017-bsc#1088619-add-version.patch -> 0009-bsc#1088619-add-version.patch- (CVE-2018-1084) VUL-0: CVE-2018-1084: corosync: Integer overflow in totemcrypto(bsc#1089346) Added: 0018-bsc#1089346-corosync-Integer-overflow-in-totemcrypto.patch- UNKNOWN version in corosync pkg-config(bsc#1088619) Added: 0017-bsc#1088619-add-version.patch- [Build 489.1] Corosync is not working after upgrade from sle11sp4-ha to sle15-ha(bsc#1083561) Added: 0016-bsc#1083561-upgrade-from-1-x-y.patch- some coverity fixes for corosync on upstream(bsc#1083895) Added: 0015-coverity-fixes.patch- corosync exposes itself for a self-crash under rare circumstance(bsc#1078412) Added: 0013-logging-Make-blackbox-configurable.patch 0014-logging-Close-before-and-open-blackbox-after-fork.patch Modified: remove unncessary git commit messages 0001-coroapi-Use-size_t-for-private_data_size.patch 0002-fix-ifdown-udp.patch 0005-do-not-convert-empty-uid-gid-to-0.patch 0008-wd-fix-snprintf-warnings.patch 0010-qdevice-mv-free-str-after-port-validation.patch 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch 0012-totemudp-u-Drop-truncated-packets-on-receive.patch- totemudp[u]: Drop truncated packets on receive(bsc#1075300) Added: 0012-totemudp-u-Drop-truncated-packets-on-receive.patch- issue with partial packets assembly when multiple nodes are sending big packets(bsc#1074929) Added: 0011-libcpg-Fix-issue-with-partial-big-packet-assembly.patch- qdevice failed to run(bsc#1074276) Added: 0010-qdevice-mv-free-str-after-port-validation.patch- add support for corosync-qdevice in yast2-cluster and bootstrap(bsc#1070961) Added: 0009-add-config-for-corosync-qnetd.patch- wd: gcc shows snprintf warnings(bsc#1071187) Added: 0008-wd-fix-snprintf-warnings.patch- Replace references to /var/adm/fillup-templates with new %_fillupdir macro (boo#1069468)- corosync race condition when node leaves immediately after joining(bsc#1067958) Added: 0007-sync-Call-sync_init-of-all-services-at-once.patch- gcc: snprintf gives warning: ‘%s’ directive output may be truncated writing 8 bytes into a region of size between 1 and 255(bsc#1066090) Added: 0006-Fix-compile-warnings-with-GCC-7.2.1.patch- coroparse: uidgid with empty uid or gid results into add uid 0(bsc#1066585) Added: 0005-do-not-convert-empty-uid-gid-to-0.patch Modified: 0005-do-not-convert-empty-uid-gid-to-0.patch, check whether the uid, gid is empty before calling strtol- Upgrade corosync-2.4.2 to corosync-2.4.3(fate#321385) doc: document watchdog_device parameter Main: Call mlockall after fork Totempg: remove duplicate memcpy in mcast_msg func Qdevice: fix spell errors in qdevice logconfig: Do not overwrite logger_subsys priority totemconfig: Prefer nodelist over bindnetaddr cpghum: Fix printf of size_t variable Qnetd lms: Use UTILS_PRI_RING_ID printf format str wd: Report error when close of wd fails votequorum: Don't update expected_votes display if value is too high votequorum: simplify reconfigure message handling quorumtool: Add option to show all node addresses main: Don't ask libqb to handle segv, it doesn't work man: Document -a option to corosync-quorumtool main: use syslog & printf directly for early log messages votequorum: make atb consistent on nodelist reload Fix typo: Destorying -> Destroying init: Add doc URIs to the systemd service files wd: fix typo corosync.conf.5: Fix watchdog documentation corosync.conf.5: add warning about slow watchdogs wd: remove extra capitalization typo corosync.conf.5: watchdog support is conditional notifyd: Add the community name to an SNMP trap Logsys: Change logsys syslog_priority priority totemrrp: Fix situation when all rings are faulty main: Display reason why cluster cannot be formed totem: Propagate totem initialization failure totemcrypto: Refactor symmetric key importing totemcrypto: Use different method to import key main: Add option to set priority main: Add support for libcgroup totemcrypto: Fix compiler warning cmap: Remove noop highest config version check qdevice: Add support for heuristics Spec: drop unneeded dependency Spec: make internal dependencies arch-qualified cmap: don't shutdown highest config_version node totemudp: Remove memb_join discarding Spec: fix arch-qualified dependencies Include fcntl.h for F_* and O_* defines totemudp: Retry if bind fails Remove deprecated doxygen flags man: Fix typos in man page man: Modify man-page according to command usage Remove redundant header file inclusion upstart: Add softdog module loading example Added: corosync-2.4.3.tar.gz Removed: corosync-2.4.2.tar.gz bsc#1047860-add-version.patch 0001-Logsys-Change-logsys-syslog_priority-priority.patch 0001-logconfig.c-make-logging.syslog_priority-and-logging.patch 0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch 0002-Main-call-mlock-after-fork.patch 0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch 0004-main-Display-reason-why-cluster-cannot-be-formed.patch 0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch 0007-Make-corosync-work-when-FIPS-mode-is-enabled.patch 0008-main.c-add-option-to-set-priority.patch 0009-totem-Propagate-totem-initialization-failure.patch Modified: bsc#1047860-add-version.patch: change version to 2.4.3 corosync.changes: add changelogs corosync.spec: remove unnecessary patches Renamed: 0006-coroapi-Use-size_t-for-private_data_size.patch -> 0001-coroapi-Use-size_t-for-private_data_size.patch 0010-fix-ifdown-udp.patch -> 0002-fix-ifdown-udp.patch 0011-fix-tmpfiles-create.patch -> 0003-fix-tmpfiles-create.patch 0012-mark-corosync-as-a-static-service.patch -> 0004-mark-corosync-as-a-static-service.patch- wrong "service_del_postun corosync.service"(bsc#1060767) Modified: corosync.spec, remove service_del_postun in postun of corosync- Restore conformance to shared library packaging guideline. - Remove redundant cleaning in %install and %clean.- corosync.service should be marked as a static service(bsc#1055585) Added: 0012-mark-corosync-as-a-static-service.patch- Fix RPM groups.- L3: corosync: assert(sender_node != NULL) fails after tearing down a network interface(bsc#1032634) Added: 0010-fix-ifdown-udp.patch - Fix rpmlint warnings Added: 0011-fix-tmpfiles-create.patch- some errors in spec file(bsc#1047862) Modified:corosync.spec 1) as in openSUSE:factory, there are %define, but bcond_with coudld be toggled by osc command , change %define to %bcond_with and %bcond_without 2) change service_del_postun to service_del_preun, since service_del_postun is not a right macro 3) remove macro tpmfiles_create define from corosync.spec.- make corosync.spec uniform (bsc#1051385) Modified: corosync.spec 1. there are some lines are commented in corosync.spec, will define new macro to make these lines uncommented 2. in former, xmlconf, rdma and snmp were disabled, these features are wrongly enabled, will disable them- some upstream fixes for corosync(bsc#1048259) Added: bsc#1047860-add-version.patch 0007-Make-corosync-work-when-FIPS-mode-is-enabled.patch 0008-main.c-add-option-to-set-priority.patch 0009-totem-Propagate-totem-initialization-failure.patch Removed: bnc#867767-add-version.patch 0007-improve-corosync-keygen.patch(since this patch is not for corosync v2.x) Modified: corosync.spec, add judgement whether /etc/sysconfig/corosycn* exist before remove these files- some errors in spec file(bsc#1047862) Modified: corosync.spec - improvement for corosync-keygen(bsc#1047861) Added: 0007-improve-corosync-keygen.patch - 1047860corosync report wrong version number(bsc#1047860) Modified: bnc#867767-add-version.patch- some Fixes from upstream(bsc#1043045) Added: 0004-main-Display-reason-why-cluster-cannot-be-formed.patch 0005-votequorum-Report-errors-from-votequorum_exec_send_r.patch 0006-coroapi-Use-size_t-for-private_data_size.patch[patch-lost-in-sle] Missing issues in openSUSE:Factory/corosync(bsc#1041587) add change log for upgrading corosync to v2.3.6 and make this change log contain all records in SLE12 SP3 make the format consistent- totemrrp: Fix situation when all rings are faulty(bsc#1039215) Added: 0003-totemrrp-Fix-situation-when-all-rings-are-faulty.patch- calling mlockall before corosync_tty_detach is noop when corosync is executed as a daemon(bsc#1038147) Added: 0002-Main-call-mlock-after-fork.patch- [upgrade] Changing the pre-upgrade role for node failed(bsc#1030437) Added: 0001-totemconfig.c-Fixed-Evicted-from-CPG-membership.patch Removed: 0001-totemip.c-Fixed-Evicted-from-CPG-membership.patch- L3-Question: corosync logging priority takes no effect(bsc#1023959) Added: 0001-Logsys-Change-logsys-syslog_priority-priority.patch 0001-logconfig.c-make-logging.syslog_priority-and-logging.patch- Corosync 2.4.1 still produces libvotequorum.so.7.0.0, just like Corosync 2.3.6.(bsc#1013842) Added: disable-build-html-docs.patch upgrade to corosync-2.4.2: Man: Fix corosync-qdevice-net-certutil link man: mention qdevice incompatibilites in votequorum.5 Qnetd LMS: Fix two partition use case cfg: Prevents use of uninitialized buffer- upgrade to corosync-2.4.1(bsc#1004967) Added: corosync-start-stop-level.patch Deleted: Config-Flag-config-uidgid-entries.patch cfg-Prevents-use-of-uninitialized-buffer.patch cts-Make-it-run-with-pacemaker-1.13.patch get_cluster_mcast_addr-error-is-not-fatal.patch totemsrp-Addition-of-the-log.patch modified: bnc#867767-add-version.patch, change version to 2.4.1 corosync-2.4.1: Low: totemsrp: Addition of the log. cts: Make it run with pacemaker-1.13+ Config: Flag config uidgid entries Spec: Qdevice require same version of corosync corosync-2.4.0: qdevice and qnet config: get_cluster_mcast_addr error is not fatal some typo fixesupgrade corosync-v2.3.5 to corosync-v2.3.6, and backport patches from v2.4.2(FATE#322113, bsc#1020550) Added: Config-Flag-config-uidgid-entries.patch cfg-Prevents-use-of-uninitialized-buffer.patch cts-Make-it-run-with-pacemaker-1.13.patch get_cluster_mcast_addr-error-is-not-fatal.patch totemsrp-Addition-of-the-log.patch Removed: corosync-cts-api-error.patch v2.3.6 - logconfig: Fix logging reload disabling logfiles - wd: Warn if values are out of range - parser: WD Read type correctly from corosync.conf - Add some more RO keys - Reapply config defaults corosync.conf reload - schedwrk: Cleanup and make it work on PPC BE - cmapctl: Handle corosync errors in print_key func - Adds doxygen stubs to include directory - Add clang-format configuration file - wd: make watchdog device configurable - logging: Use our own version of basename - logsys: fix TOTEM logging when corosync built out of tree - parser: Make config file parser more hierarchy - totemconfig: Explicitly pass IP version - cpg: Handle ipc error in cpg_zcb_alloc/free - cpg: Memory not unmapped in cpg_zcb_free - totempg: Fix memory leak - Fix spelling errors - Add section in manual title for cpg_zcb_free 3 - Add section in manual title for cpg_zcb_alloc 3 - Update corosync.spec source link - Update gitignore files - Remove all links to old ML - totemsrp: Fix clang warning (tautological compare) - configure.ac: Make location of .pc overrideable - Remove a few unused variables and functions - configure.ac: We don't need no C++ compiler - configure.ac: Remove deprecated AC_PROG_LIBTOOL - configure.ac: make foreign apply to all Makefiles - Remove unused, obsolete check - Fix detection of qb_log_thread_priority_set - cpghum: Fix type of recv_crc - Check for fdatasync - Fix detection of warning flags for clang - quorum: Display node id as unsigned int. - cts: InitClusterManager is now BootCluster - totemudp: Move udp bind() so that multicast works with IPv6 - cfgtool: Display nodeid as unsigned int - votequorum: Don't send multiple callbacks when nodes join - man: Add synopsis for cpg_zcb_alloc and free - man html index: Update index - votequorum: Make sure cs_error_t is defined - Doxygen fix for cmap_iter_next() - configure: Correct help entry for logdir - totmesrp: Fix typo in log message - configure: typo in include - man page: Correct option letter for DBus - wd: fix setting of watchdog timeouts - CFG: Prevent CFG orignating messages during SYNC- Default token timeout was 5000 ms in SLE 11 SP4, but is 1000 ms in SLE 12(bsc#1001164) Added: bsc#1001164-corosync.conf-example.patch- Fix: [s390]Upgrade from SP1-GM + HA to SP2-RC2 +: Failed to start Corosync Cluster engine(bsc#996230) - modify corosync.spec to remove "chkconfig --add" - remove corosync-devel and require lines from baselibs.conf- corosync process still exists when stop pacemaker service(bnc#988683)- remove git files from tarball(bnc#941910) - modify corosync.spec to delete logrotate.dupdate from v2.3.3 to v2.3.5 (bnc#939328) v2.3.5 - Log: Add logrotate configuration file - totemsrp: Improve logging of left/down nodes - totemconfig: Check for duplicate nodeids - Really add cpghum - cpg: Add support for messages larger than 1Mb - Handle adding and removing UDPU members atomically - add patches: * corosync-cts-api-error.patch * bnc#867767-add-version.patch- mv the place of corosync.conf.example*(fate#318190)- Replace systemd BuildRequires with pkgconfig(systemd): we do not require the full installation / dep chain of systemd.- fix bashisms in mem_leak_test.sh script - add patches: * corosync-2.3.4-fix-bashisms.patch- fix bashism in preun script/bin/sh/bin/sh/bin/sh/bin/shsheep89 1615583212 2.4.5-10.442.4.5-10.442.4.5-10.44qdevicenetcorosync-qdevicecorosync-qdevice.servicecorosync-qdevicecorosync-qdevice-net-certutilcorosync-qdevice-toolrccorosync-qdevicecorosynccorosync-qdevicesysconfig.corosync-qdevicecorosync-qdevice-net-certutil.8.gzcorosync-qdevice-tool.8.gzcorosync-qdevice.8.gz/etc/corosync//etc/corosync/qdevice//run//usr/lib/systemd/system//usr/sbin//usr/share//usr/share/corosync//usr/share/fillup-templates//usr/share/man/man8/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:SLE-15-SP3:GA/standard/a2cdf8790fb0fc7f184d59c44251ab61-corosynccpioxz5x86_64-suse-linuxdirectoryASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=ecd36af4e9b400c6e17396ebe1df7b6009aa41ee, for GNU/Linux 3.2.0, strippedBourne-Again shell script, ASCII text executableELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=96ec7e23b1b001962388febdab91c67441cad8d8, for GNU/Linux 3.2.0, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRRRRR R R R R RRRRRRRRRRRR R R RRRh,_if [ ! -f /etc/sysconfig/corosync-qdevice ]; then mv /usr/share/fillup-templates/tmp.corosync-qdevice_sysconfig /etc/sysconfig/corosync-qdevice fi/bin/shutf-83b6d1e71ca283affdc2f43a6605000bf54d548e1141681ceffec2196b7b8da6d?7zXZ !t/x] crt:bLLQXӺ`M>`{i+%Qr'z3ON UJ6 'x~q,vC 5nb ,s3(#3Oq[i|3=8蓡9z%SSVeUXI!ޅHsrLkPqt/S0CXߢTn z! t]Wa0w&`@U sr@Y9 `{ۻ~+2.@1%_]{Yi Ie;\ಧ.8f,?{~_wƗϽ+PCOC)ў!¦IHKnֻER vDjX쉜y' -.?USyIDU(~ tmݘFV˟zZ$2@KmȜ"}2$ha5Kg5$Ɓ*dwq"?۫[EF}lEqZ4r۾"FOIxY 1W5"<NbH+ux jşyirƶN:0>m0KջC=fsNoAϰaQG5.c$Ջ ZqQ!#՗.op^wރ.V؋FN[+Va_ՍP![qfmj2Ts6Q!(Ls9T'F"hPbMEW \ mKB))̅<G+854Ժk~{وudqf| Fu<]l ?g~Y7RXd2w˜Ua} ߄5d4ǩ̖q i$D}X#W 0X,>| 6`WhVv *dT70'G$B@GRя $?EڀTEGU4Z5edf R2*΄VC0Xh&=XW5r*DP7zi[л7􎳾C"H#L_%."wܚLxXCfXm{ߛƛS 6׮ !kǦI4e0IP)3leԇMr|.շQd\!;~zC>·BC|yˬHvG%8LQcfg+~^+$h xP f^evJ+9.}srv[O7pfoh 3ݧI%k]9ζ>Q}tt(3 ]a2g LG6I'U1)sf5ۖ%:CDYJIƢ:n=j`y=uH &x):1S*/crno.|[%gi QA4 x圧κ12oR'SM-؟bэ4"B>;.&CY 2Cف栔J| K%R4V'TPLW ρtl;VKzHX]UEb$'wZnq|wGn\dc$b 闽[V+8 Xrc]Yπizy`O˃% eNdεi&jtU&w>x<9{u_-ąA(cA@m&Wm/[ -Ih : 2`3Ë́1ꗟA˻ХK?X0%L\|^fOTI_atAKS >*¶-^Z-(\H']Dtj&\#O-JbFyEUx0Azc/P4ü6ŬM; Wcj敷rerƯ7qx7,eTB %0Ғ=)-Q+H3+T"M0Yٻt$E}. nђIKiŷ\bx=J9Q%Ƙ}+COŭPobZ@{#/މ6I `xZEh)#pDZAG j_~ QxJTYQ_P/l "]Ȧ!n2AԺVq|MY20, O%]X9 n1NW$)j,|dJwwW bMe}83XEc޹*3O^\/IN\Ϗ8בBrj&SB‹Q*+S~^%ւ,AC?Tvg(y`w~侺iv5> u{LԺ&(Ƈ_ZLB[a;N$\ ?Yg̼_EџgB2]իGsJ/.ȱkc.-R%L<*6v KРpul?0PuD;ǘ8c%}s>mFɈu(U :j<Ih+,/~^_/“ #y2xPӑ'lU 3ﰥMoUq9C=Ұ^s?+E/wv4C2՗W|^ Z}0}uqm@|1x'8MbَeQ,8[y]cA2g\qUϼjv/\%!Y ƌ_M_IU$elb .`ŖI5thitH6?4Ia^&WBgpw-+Z6, }z)4`L"8K& F-2VFإjxp ,66 ǰCz̳D:ebz)wBahؼ"K*a6O`맅,7LH_R.~A; tJѼ{pRFkI ᩾G|EjZLLPU̯GdcIxJqœ}@>1J Rte_ "#Eun=#4&a&JE .o2i񙜖.fcʶ|c>cEO7vG!hx]&iCeG%;ì)ULgj?xUj:R"U{33l>FF X+?DP]A|ZAל(Mm:Sp۔iM3@byvh[*D2+RY6a9mP/;xF2=D_TcVj=pnASX)[K^˹)SKU)]̈?4SQHT#L6 zTm{?S S)IJePVAyUK/Ogͣ/n-X1%~(S[?CӫA r m=ָs5MbjF!}cGOϮ].9$۸t;n߳ql?*5h#h,gYaډc _(9#9,ڭ`N\$_Q b i~~CJH'=&t{0i||zdt0[V\*m*nSXUDN^uþ'Z{CE bIek 8x1Ǿ([!^WYjRu65;1 N?!lSbw+K9biQTv)O̬If&αKCR*|7Czf62Pe("Pv4̫<-,mpɝV3Ey8ջVGɏ6EH7;=\a~9g6jil[N6]rOt^<|ݰvd7q ueK c$sgl2{Ň y]ݏpigyߊiM?%RZ8vh0 \55EF+ߛq+埁@'VGyP)rҩTVua_ UÛ܁^Fq*;NmrZY ;t7Fn&d40FiS[]2(3J/O弉Ja2TL\_rr !30:/<Լu <M cE/ >yfF#1 :>eGŒ >cC](åI-lNLxTDORqk_ӮYbV*v>x?6 Fn筢omYsjdCcŘkdAI̮]TN$s'3w|:fw/'#h7|W#jijѝjKtuF+@Ik3m hG$R Dлr+Mo{޸/sp}PIawMד'`KeyX}KNPYk0TO#5 y y!+D} #У}fU| gd"K8@uʯ#\Я W%|6""u\HxN,?!Q #xr G`{uSނP|$rag%`'gf Tm*&<0b+lyFCbJpeU:Tɑ"gO9>-@ټ 䐐bEe O Z˖Mf6[ջ Mx}6.ho}#i%ۼȚuV4U{hgr?a(N~~Д])Gtw`QGq:Jl֋~=6 DžGٌ@;qRW0k- nء~ _41e<}ڦ-CG;S2pAW#28t-oo JC!ph)U5N&:P/NyH$܎ICUUvFgxSp‡/.C@]3jL6wR(ZUD7'`1ftH͘s0s+9Ҵ'm$EoQЖD9Jqf]x j; 6E" HrL9e+$$hox@4o"#N {J\D؋0{֯w7mNd翴}ãgn I:pvW ps[KH`Vna=\Z'B"*͇6P'A\HEToC&cIA:>y\PB@!}`&\+G(ym ^t=#m\UmlƵ gb1>=$%Bיnз;H%t;Om ,r>cYta6 XmI/Ar3 (/ZOY pzE > ̢S>ڶ!bٜ#70[ iA0@z6[GM䄂'ޣ5:UTm xryc; u-<uU5ҐW~>Oig;Օ>c!n%6'Rn d%=Vn@1%P>ֺb)HR6[a6#0B%HBbf2C(#ahwgܧlo-8,m )9'E8־0k30*JK0(c jmmŒI:m46@i7㔷!4p-|;[>1Eu}^s& 5q4>oX@A n<ϣ#Y_O.b^O9uiL)1^F2?ܭi21)r9c}9\D|Ǒ6AYy{{ˮnB[YFn،+h8Nӈ3U~ol:&I?ey+glRJl.мQfއaW1G[ý9._>Z.~[F:6&|JdhHC5smk0_䷛9*μnxjm;E^Q:i#/Kaav 1.΄ͮl l;zz~Q,<,\>p9gCM3c!zQu6uh9-/{9`[<%Vi<_*ّvυϓyKL3:S.st.7DXRao} 8\aKa$D4ڻ$Icvu;T_{Uý v5 %JMN>172mf?D&! 7S7t {yYU hko!6V՞Ќ}̃jGG6Hs^b HpC(ӛHqֶ Gi`6-:r0ǣO0'=TmͲ"+U߯hx߷s0sEٚ+ ֽ#;Cpq>j[>˄LpށW@Ÿ+1q 5@뛓 K #c^Ϝ B=wyd` Ȧ-NpbqDBI߱~FOʎ:᳕chz5+{7m/ ΁WjKe1CNfQu{ ai)Xrwy'^$ŒuaIJ IPZi|NTɧ Ю/vN$q)LVp"P!5f>>(p"b,c붉*RVwP-}_rQN h=oc!+ k~3igC{@foF<_o΢X{nhq2k=e{g]'.kk*ܘJy,طTN%%kw8dn+{lŢ&BV ԞT1)>S \=JfGn0TV)/w,ƙ)n`rv@6k]Nܡl: )FѤ/V1)uv#u՝= [ʲ.TkM^ឧ`ϖՐmqDXez4JHW*霩a;'4ssiΙh{D/ZLW%3ϙ]YnhEDUU /+Wf*N!%{cՎSW-VXC=jpfrHue0T>4!a@-skxkb-nBa?|!LS,@D+ kS B1$YxM)?Ibv-qާnl~Jsi;՚{Ji G/r6v_8*[ڼyv7\߬4xd5[zӪamaFL=oq;=]E%,ycA[Dz俁)Ή-]wy[u997XXj,Sa,Z1MͲ|gA 0q܆"^0Uؚf)Ӛ^C- xQDؖ#aoh vs1!q͞ Y"kf9;Cd,[j/uג' Ŋ:,5jvkŘz}x }v'"V~i˿g0;[KFZUQƣ>K#Fԟ$|:tqcB#;m$e\QvkzGd:fQx#O Z5wX%iРVp)}Fg[yMxMZ %;!NIJ5|˒TbގDUlL v@㽂AFc-/"7WbZ,ke>5T#&ОJ˥$FbPvΠrkMlUA4fSk-yOyWƭp'Մ)jx$r:sH5I:–a~?3 N(mʒ29ԥc8C5WɊzGMH_8dxxmdotf/ v|%+AF+rGV]~eF2eMjsa "f>"DOT4o ۠ػe@NPVImsf%gG"|}t*%菢Ęq7(kHYec f^z,^ >IDc@Nw=$U,oq:K+*6nMMHޑSQcc"*8);-$ڵW\_e!9eSdc]16Mb@ϓ&]k@ F*O:t]0* ]4`H.g`%{:, n 7>l]g#|?ά2 _4kMiSro)%|dz'PəN]l񹽙r+v EX?Mk !jDVn=^ X%z 'S0Me_XtZX\^U*{ \79R5tkF['Z76TMo<l|Z+ڙāQ0Hmc&_ ><#VG\ASXLQHQGk?3,H%u`1o%|~v qr@$4: _GG:ucb#b(u=>EhMLt~%1)-Z?F||4+M6* cȤujIu(sk,#hVy:bƌ&Ce!D|sE1bx5D;Gs?O?P(&g(AuR]4,y \,&,߆V[Eزx \['aQI6ϥSMSF6wy(@FNo q`Ko}Zɼ^du\CYn8/<چl˜ Uoߦ8FKjZ6RErcwen[8w_vH5ۜ l'B=c ~N'vr&5j:Kw*-rhva~??[3"|}h;؜eSX-ݾ|ZӼ!$aɫTj+ >o6Y+גEWszwv1 vT\c9'f:8]K(yc7H!p3Ga;|5FMBWr`H1Ẃ|K)pyP!aďy߂GЌQ?*?H9H@Io"k|RR5zN߰X";W8M)uѰܿ nP,0jYPgPݗͷ[ tofN,2Ge.h9:gM7ywbײ!ͪtj5,CL͇;e5*(inSȡ;EZb?+aՇr_8R?p=ͨ&g_ٛ71,;}|{c}G67M@vTYy(o*į Cb"a=] &<}F6s(fgjxZ@"I|'Ѵ6*~8{"!r8!4 |,[Z" =sW1"MeԆ#}Teԣn[k~ٚޓmqV݉+f|{?]t_ 5+lHy&? KrW20)F P=v3jD0=/rnĆP%w*0Uu'4r|c!ˊa d`wo.^TyeGlsrb2-SAڟ(r?W1O%{ʼnϥüT,b ,:Ub:};=6{˜KVAolF25l•d)+\y[^/'ޞ@r~ -DCi)osW">fÎ +1L3NAsܰ\C< ܩ!B,i2yŻ`+8Y bb< ݉HCkv%¿>Ր/jgW> .Aa#2c=ćtgR \zUX\ sf#%)-XGUNցy ͠o.C9p 27c ­9o0"2VO %^Sz/YԸh^ؚP*@@yO(n# Ͼn0ty{=X^)e+՛Y$6IunqR XizB⦝H"BXHjY/hC+gףAL!|pя_FMjp<>HK U2#fޥM ltKX5*[2gxROD@Q4FhEx\HN)<Ȥ%дғddϪ $Y~_Ed% -hP Iz0OӉRKDxը:%xu܈ =d7 6B J3t)yέoqksyxe9”ҐP(7]6'W?z"/s6|b=ӭaALJyɲE3E-An3m1+xff\*\/0:<ץN p"LVcf*PefSeaꆮ񥡎I +FĠI@ٽbmlWZiI| 2"k@C I}csV+z@"I?lDCcUk>@`?I W-՝@5QMڞw$۫?!K1M,>d\=xԴ+T0)}m8`6w\$rG~77ރ#YW.{~h3pwܕ^egsܪ{(\jx˙7_t_XimTe[/'@ftOw{T{<2ȥucjRؠK@*RD~߃vZ_Bm/4ȓϖ#iԎL™BzZ9粺ӸrXŧJ8a߃pu'-N|/DZJu_os%d]]4G2HzǙw<^پ KCɮ(.0'ltWh G#e=A(p1vѡN❬1n b-JG+cO($u B yRa;FXB^b]*q*Wع"h6|Mc~י(12Ƭ!`ld-4^d- naȆYts]&i0E}fmM4.J`L5CZ7&P c#=xt$/*ۦ^ PQd>0RARpxO BsWa2Y?MPGkÌfЬE$oȦFG~zx{X}j _P||Fj)H6Ga^ 34/{,P0iy gWCZ=*i{#Q~d{F-. U`Oi s2c!@jՑH(&dFQQB):ViBQF8> H3ϲX:Uv^'tIu9ѐ-T/FX$hLսVz 0 `_Ĉ^'b>6#}E(=Z&V9$ڏ+ j㑩4혎\kXx"л`Wm©ͤWXDN׻)>"?鈋o~tS4OVlh4K!?ݑS-$Hs޾=x3FS ! 2B2)FƝ}xR*Ё}|zdt^U :D9P's RϜI3Al#_f4zAD"V/&CK)6r(= rQBx38ٜZmtl=r ;Y|*.cw4lgCHBq9rl ѕ]?PޤwF={RKod7Z ޶)4t:aQ2n7ޕm؂5 "kmPfB]K~3`{L|T<: E)* y@ ${='\ GR ^q~2. X77/jJC4]g/~m'5DsBAn 5y?gt;W*a}F&s+?qfK@b9J.BsJ+PC{N&mhŢ2+68j"rDIafir*9Uͥ9aIdgV'9ƦD1^l 4X 6qg, й}c~s4Q8vM[+No :N^Y)4.'p =t6ȷ-jT8>]W&iv00ƽDFJCːoϘ jvrhelj_՝9W<5rc3/oz>*8;<{pO#9E|@H~ue֜a,8[>~mt3mi9:Ҁ\o{J]h$dڄ=|Π>WX ;}(S:(́pS]픂-c//MӒwb"/,Hw@!!_8y}a:R(&852VёviYǛrO)>x6^kiX(Q'b2ILbX_kK#|0"w$#A|(`Oo>uKrSX|!K+l_b7d?Q.ыPHg単Wی<(XOi&*@XRzu%CE[P^j uP&,[aD@X~D 25'K* S;/2;X\/*]"pDK?p,t+=P&J@h!ћI_;ӷ-j Cv ޺êl#lMzrXHȕ^O%ӛH5LLq07~6m'9?wBU3]MGa8p,2ϰ-&ԠPk>7v&z#ܢqI.~6?O(y3bh7/:%Ǯk$Jbߐ/ꠞc7RYx2a:8^t[*njGNِ6೫b7Bo8&(}Aj&R\UvGmp: Dd:;Ft# Kɥdtj񹥜MjxA2) tRFѨ: "J~Q*|An@x"m,t2(s|úYW ᒍP="ZNemwj]Q |O"Kg D@km55-@yf+\ٟkT<" ohjm7O`ZNIʯEw?SG!Q+\_mU%yGIQe5e{8Yp;z]f̨PSXUk# OB9 ~uJ&c-=Rq9LΓio \Wڔjxa)^jY%lmP (K/#^jyVvY~I}˥jB zmˡ=J~1r<G|bE`wKWcKVP sh[W{?̍gF FN&I>; p1F~.+3B&'LƉe؏QA :IٔP:.*Ga%d|2Ҳĥ q;>=mCSEڟ=D;!{81j#!0"?=߯#.8kzȶY\ՠ8+)eҺ=[lɔE穵bDpoD bprRv@ p7=fI v(|)u`g7#uV=|r1:oLtk*`?*7>qFI*-X ]4 =H)e/p탶(r?=:St!xͫuU,}#.@I kD\ 㶒)q ΤH0?-TLK 7&OGU0 ɨu>Ar)!q,X б`Y 20N]wtަN =hlh#'۶o,^i:J\`,DRa 5Ϫ8voN^җo\귳_:'a`ƉgPr kAR߇Y䲺_TW)Oo8԰+J.s<7e\"Ylm kB݊V ;+7gmEv_RNs:FP6v +RYv7 T T=MU"~зomb\ܺ /P׷vz D }*hE }5h0)\6kh\iW+VfB 6:mKܸ. `lG?<(æu>RrAvft , s9n\ا fnd49KjҹJ3%k)׀X 〱eXSFlhf' W ;HuS Bwl<,Z5,-y)1'7F 'ƿ Q7W50Latg5B;D5hTgәEoٍWF Ӑft+{^#R|+1gUl+dRlTE!Unu#S'}; rX)OSxK30I a"j&b4_wa^-a!ڿu<[d4b'g]YHd,YD 3e>{ ho=^+/$2XrwY`Hء`5AwE1̘h.oOs cLƒ,-%dj9 Wy=4L >Im;P'䄕pxDزܖ Ө8 #Pe4tŒfGuh| ^JTYh]ƀcR %+ɜТQ#Ff76V)_;B ]L~EDI$mx:HkT9G7Vu5>^(~AH)7|JeNȳ-0(l\ a{3g{siѸh9(Q,ZU@D3ROsom?ꋣ 7 '1 LlxNeݑuc=Z @͎p2- F:nԂz aӯmZ.M6v|G13WŎQK`UP>ZQ1JO-Y6&N#47 ™ ݗfpoBIݗM8g-bRF6y 8PjͣI:-MZ \d! OQʳ'hKh"GSN#eoAw7@oB~2UlWuB, .@݁f?\΀VjM |aNxN`I?4(x;CgF$O^=QZl0 v:4-B*kIGs9sfM$[h @&;.M0Ff,>rK7ậ#H e11CE(eW!aݝ~'L&dQ[&}75V4+N3 &2&,zC{3W2KZ1*S'2NDiɅXEӠ vn7$_SdHj6 ˳ u{3:w⇬0dB(NJ^dK:Ʒ?apQ\t{Df Å7SS̗h22q=:T9ҽH03 >ΰ.5աv_uO#_v}5R'&"jN/kB$cO}xP4Mq=,hLJGf.}t$ b\Frbi3! } @>Ire"r KVm/L-p"RQzgh"MEa(7ţinU0%ia0n Z=­*aYU@C`U)x*ZW YxwZ%:0y|[١w2sK?0tO[_tqTPœ*"Z.ƝxڛfL<]gWg.::F=/gc&R7@A5&O^B,#1|\7aTb|!3=`s"^g''Kהyl5FM[ nzvp!$d.|N XgQ!^q#M%}+_"i+#a;ҷ:7[X \0Ҫ@ԫxHFTABv^G)HE~EZ?p{ـ +fD3ݬ'JiΰP[0_kB/aO%=N~' ?5 So蹢ZOHIĻ OL Q44XނeYJڨ ]bTVoJƙ~yӛUdTaBbnm% eQ]8C5!l*ʸ,%HE+HIΞwY1O%}H껏@޿v钂d] s7Ma|Byj5Rt`<(y(4C seP_Jі?㙊%_ٹSa ,h2p@Je֕]Dd-*Tazt2~=>̉^tçK(S+C Ea4tb=F^8?H>iT e Γm,<یߚcw3p~wM6dq_kfeՂҪNd;ooaz _f=џ۰c0R}VkQD$ )WȾ|m(RKlp0 Z_(Idr 1he7w/ìvG:(8˱eo *2C َ{):6l*TiEpR@׍.`@}z5ULJ/G++&c攁X*A֧1IDҍOEawY`[J m W/g6F&(ϋe8 є-@{|tFoki:9/N:}z6[/ IDŽ;|?X H_j29p/$2̈~kۧZ"OQ~d*yU fcQ>۟ZC.VXk;+!JoqelE,E}wUC6!G/O8†|ۍAfrZ &PBĨ@ HU61.k5gK1Xj!S>C,`wA *<(es~Q -uF|Qm4r٤KQ \r_]9#_DKݞCP5 &5ѝrL֋l{61YtZ`Ȅ)S7Qu|?qv+j(2^mmיk<^vpQVҰ* ;}ޗ1;ryvgЮV|L) }!ߵyFxwF<p۴dB j+wQ: 3ɟ:0"xE@vPe ޟvO {zK){+U*&W:v'BuR FģX9%Y˕-!ӓCSM@&jSgʹO oQk_= 5H{ rCj~,Ed6t,Vo2M}%)hdlU^w"sVޕy=0lYX@@A|<8`1?]`Wׂ$,EsxPF R- dfHJ/{&Xd)PElU8{ ֣PEKVQ(U;yeF{e|$KRܹZtqB@\CǴ><΢x~5$y$TwK ž/>鱦t5\S[ Z}#XsV/wyii:c؊%32]F_hm&3 u1).>WHHt>A)yS@)d9Jt?|#=#zʣ\1WwӍs-t507!u6SsXS*WdlJkzŅ'RAAZ;`mX6=p2Se͑ %W䘂!Hf0>-] 2Ou]s5V6IdLԔV]PE N.\;Z,bWqwAklz]tXGɜ6͇/lIlO)\}vD"jCb-;dzf UE` jF_za?G*Uyӥ4T#<θ"K*'G!a3d*PRC32I#o7ATdvӄu K ץ^OP:HhCޠFiK7L!9˨j}}0syb,A\D;@{lBV(1$rݮqug[W5CM?!J~U] ]WH/cBni /.[z%>/P \$8pUE|!ڕ/Cn,,fw*aE(KNB'x{n#eLC!ms9B{N;:.h*/4GwM{~Wy697ۊw%p }A?怙ˌ6Z8d f]G;]̟ARIbVtj[i.ݯ0hZZ,nD>ñmqpRS87/~e@piDZ|!P |Ö&^'$cH[ tR/ieu f8e mQQ⍛՟Il]"tAC o>&u~{K.' #nhf@x+H'TҎzHTcf2昼{0%NC+igcǵzB#u_V*w&v^E#wQ}/,Gx8}G6o\~̬rg@gp;3= v½E\xXdȭހ)ty O|fGJ~&O15_k&UC{ uNf$BJ>NR SMV`\I/0|7iuPb2/^1*J\L<(qKS Eh߾#VJ踌}~|h+˂s07pNc04؞_{&Crw 9 }uv|# pPMu܃N 3%`0R~bgVdiigmreU8Pg1MK#:ҫumF~J#Fd孎U(iQ☪=2J fiʞCjS% g%Y>S'7k;+d0ߔyjy3oLtY%U,)y:edvg܏VZmsc SgEAƋ>%X`q0M u,5CUi)y W;Hqf!i6z!~2=_Vi12=BqmJvBjRw] "kSSa՝Ca%^-䁵:4SI"ڗJ{ ĩ7gQ|Gl<"4yJ5.([B >:.eo݋x,~ w#ʺ"l;9&؈dG7kч \&ńZKLѩj+q<&lȴ5s+g۷:e 9$6y" A,U֣O]p1tnIN;8R c/o;wj4۩PI؏Ը!}> hC9j*'Kl vq*Y\棧0ċ"ph'{2/}3#mݨJ1Qjc=*Uj]Jx@Ǜ<%vj}.ƅ@i !`kߧ>W!cefW?: Qk#QxԮ5"P }CM ey7D!s'=S<=X}օ F 禲6]%8u/q>vʼn;Li3J"$&n<9:̉Vp)tH&a .,F{J%^Nգ`nҿE0#{kKQU ƵQ GY?U#m7|3+Q*YYk$ 2'q/fUU \\#^asK׈z.0g*R7̦2wTp$N֧5ԞGϛ⪫jdե?o9HRCqPrb5ޛD?+O.l*77Bڸg)5/ǺɱE<c-Dvbv8X+pӽOz@g,iyVԝJ.|3}m V~/HwA@:ﻇ,V6zNyf_Rød۬}*CkE6̼Z'ޣA= )qw}9ï#|. g7]8c7fa/, dl?=Ǽ2r1gVH9}>yZda2@~""Ǖ{|$n[.@)HNL Lr>-JH1B"- '`wYKb6앞1uh@`e ;1TQW)MAQb'/S XyϚњ%.*#fQm!`}ay+`F*RlHwرt.YT!sķ&UWyo9ETȥ-t _p le|cmh ArF-3V91(+@]+[xap72/" 3h8݇x^ptF+nx8-'&荲r76R Ջp *3btP<:;ovHZJɰh+Iw畇s*3-FJ @!5lX>vPfΩz0wڼp/d`=-Ў{gg&$w#H>uA0*c ~Z%R[oJ5d>baEjϾ" UTEpI` [D! @ O3̟+6{g7QzF =qn9h cdK5oDr!'ܠ DăP3/GÏinyx!YC5Rz+ALd"݋6't) BZbY}^%>&Ϋ67̗Ƿߏfa|t~q!q6`awl+voԈ)X9-F  ~K2 4KMc.t4:ЉY "v% J~[:N-M9yNypy~MB1 _ݔR.Y+;ƥPj㑫PLUU~XVVmȵ ! ߦd"H#Lr8J^=gnXl 2lX9ѐ0a: Łn®#hiAhdEM@EQ?Ѥ72e~`ʳcrbpi?*̱t!\kV).p]7 wbl֒"U>?wvh^}ƣ)}bV;A0Es/-Q $ lt7&˅NߐnW =P.t̛d&m'}C')(w$ ~bШ|&%ptAuZ@A2L6chcDeО+{˘{w>|_g邎S jw>b M!3iZ"k CqŚ"ŨxGolIdc UpaՑwDrhµh|k S+41sFeQsA;HSƌ[[੊{a#;t0 3"W@>axPLߓ_nYݨByp)2J]xxz񧏧K#|Vۤ!ab-Ny Aa$ *Zr\#At{CYRjqQݪ@RŊLֺ垹V/>KO )BSC>Z-3Ukx?٥J` ϧvM0 g^Z{Y>הm`%Q6Yw'a^b\[䜃gv."' }7>`O|JQ]-G!%3R% ~`2' "f RM]UUAxpjbdL2IF"m+8Ңr |mnwe~e>*ƬUsC- Y~$wf*Ҹ&8خ>+Y 4zSz5삹:PӍjO ~1I5{Lndʍjjk-^szmJߗk| G~񐑸MVM~ V9S5J#G~FRXwTH+!|#Ø!<50#<n0ZВqHGsag/h 볲t I2$O؈$ydT:V|uvevs^d6s]‘*㠅{.+R^hŴyek FE2,%)/ ׺ Q;-z ávO+"l6~,!OHcO# ut8Y,l)6М8mHmp&M;tw*4Ce pQU3g=G'X,%8ff֚0* L1o4pT;CZ k BflPAIGZ3OE*mnH$o5ce*ECAjYWN>{um7lzaX', SmꁊWoPLrMAbt1ے_B9>>#oc|ޭ!u:*!0M5p<,N icQ34n_~<, HwPk`4K5cbPCݚE@]90 :7  OqNK s1ᩁu]Cc765*ۏfiMUfQ(ZV'Tjf!>akGIX;{ h.{ v'g'jm^.IZxBG8v%V4 l8j%9`0FMfU;vUʝ#kj E%Eh&8SU`V?ř uٔB.8Nt׬iTUjGDyw(Cu+.Z*& &~FGQ&~q$A_# (m<g@{]2x+doaٛiobaK!2>UӺz¥ ] EK %eq^FNB2h1SƲ.,y_ԲK0 qO(7" &`@f 裼?ptA B[FV(׮Ok!\JK)P,|kO:b@7LPNK\t-%ph 6k EͦNء0F/5c(`) OEKS<Ȳ6L$V30ha|͜"v!fq KC)OJeh7U1ļjScrj.߽̈Sڸj}b7 8lqASKB聼BTC}Hv3_2J}2Pz)9B6un#Aq, l'e!| Ά %Cw~[Y?1գ=aο~9"YVgZ Cm;/33j9mXDzoKjԶY#g,*V%oίa|DhA2GI  axޯ8kx>HjpS{( h8mnQ+pL""OPR,VF{AiޯO#?agOQTp[՚)lJԞc=Sy|AI}x(FZ6hI>,DWm`rSGtqٕ;h6'/2BPc\KMU!+ȯZ*sшn?۬W.S1vX2l..flVwEчȚou3*۱ [;8cR8= 2Z?^UT F<,=%-v{wr^my~a󸠟˩zRU2LF\]*γo{+TD÷@㋿'eگ1O=*L " >O)JF{&t,SRpkT:ԂuA|HGPW)+82u,wЁZx& .gi_ Pg,!IFըx\-Ƈfd$wrUNOm-^$𵯺BT}A<KឪESU|tR3yRbU 3LW.݈ \$!JYAYll7;!t:eV#ThƁgwlVAd4Ri E!0Aw궃T5r+Ӻ,N֕`1بDؚmV nӸo.OP<T濓QY,cMK{H+ԗY3>dpHɥsN.PilW;]@9hk6e<οB |,ucq.0QbȠ(bN"ZQE5kK(0$Ժ -(Q[>*OY;{+N6ER5Oehc3V4 C ˚&sx(ٴf_$fX?v o!Ŷ1»O+-#ڸ򅢢QXAhd7h0 \g)P0ȗsorLd*? ḭHy;Z{`#fLޅC]S+oU⨘f?z Vj%#eꑇ23 w[K~/F !&[iɎ7\ɹBulެgg*AOy~_E<'nsG S Ԩd0?+ |]P"8Mn\eĻXS<}BR$ChJގe' 5м-~ hZ7*:ZzB쎃v5xčⱞ{h0b@?L$;H:7ZiŪMWgyXc'$AY0,ʻ›ӈ-`Ty|{ԌLaWli` /&>:O a5qӈ[Ӵ1%37?jS0N}Xs R:[$QTl7 _ us dd5wH+`geCJXDq}lп#Mg/oTzWxR1p}-?FG5'D*.rc.^õ%'{[7ԙM2\TL:vP ޮIc@Ԏ14ʅU-D4d@Alav0 olaMi$Қ^"9`rJÆgƻ8$"Ž쾃8vA{:noVg`rqˡ2N7L$;PKV7Zd^ ʾ%r t)H]:OI*\ʐZ`&H'>Xa(D } tR&QL ;V:xkzGA9[g\ 4I29 Ei;5U}k~O1 W1%e+H 33#pƹ#W=^P0FٰOȖJ@bƥC}gq7ǫcNF@VLDaƲH^jTS5f@3,>8Bk2rT#rL8}2 v&|o29^Z[g+ O qm< M&̫Ygédbq[ݡV,r(qlZMY]KkkSx-Ss$a$ ȋqXϬoQ9{=Al<4e2p \JI=#ty*'xub %Gz @k-YC䴔KlJw%,l4LU/ydE&6gCm B K8ѷ<=~ܐi{ޑ .a+Y#e^Z@|?eH쾖[|⻴RN'R;[ݍ&jf}eCNnOl? l2&qg5z9Q2Ib_&--Xc >}8&JZ}Y_Kv[AY)MuWض$)RbR?]9=WBU^;]/v5A}+0hM6ISs*+{wn{;4].='QOD$SC(&ݠ ܱhua4h:>ZCH(X)t>3usO4^-h j[DD8ʸ 3Jn-۱gDIdHW!GUxP94&?=? 3wC+8uZ Dıs 5īaFRc*Wz`X%e >Zmi%N; "RKɴ Y|CK?*4}Ӭ/1% ]&:WkFca(KkD􄂨t1E,{+p鮟c a TEK36QzEfgu <qg. \PT3-I͓A #kNJ__~j K/wdI B ibؙIҿ=whuD =ht0pײ0PD&â@K+N^:P)_`tXK]c98:N5Ύ䢅WoFG7%Fc:A>eYͣX_I +uq9z))@ YRقI#1) (ֽ lӚÛ!Unյͨ"ZnB(ϒl)5rZC hE ;lٞN{\ epfpg=}SΪvdh{>猝# l؟߲| C}"zE>ۉ폛QL}IMk2[s{Hz@{y3扠$~|O2ߡM1El'^Ff^ .wP|tBJ춏=8Qb뮬(#$^# NT|36!\7VzwpRGϦe/$1qFȊo 2:-̸: +^7(_Ƣ GQWh'z|[E%6<2aQ9ܡB4pz;[D2sNɑU 8[vWN),0G "kn]=l^dgF X@}Z;5<[m{]SQX.ҽh%zr`OœI婐!mYΣhP(^yk.q[nhxI;&Dfŷ)DCOCکb=YHfXtcnO"ݡZk^j5}ȏ\T.w('(*ώ)΂}êHxp'Cb` ͂D֗^jsrEw-mn/"u7Iùx _zv3JRwsNM2' u\A*p')(yѸ\КhȆis[B-\]l7B%RuވX7*%S=rulB+.khӥ|NN7{0|P+pȉh؛P34d#-7=t9=yT_TeBjDjtkoχTrٔC;/>N[%-% +J-]gR3N^s TnoVϾ%i CMR?tqP5!MŮdjW %=D),0zepkZAй!CIb7` Zؾ CKj?/QM% .r^|bsX>~jdֳoS=JM;\BL?$X3>?_ӯS\kDfʯ_ˀ?XP/L/:dz L@ϓP9Tpɡtv6g];WC9˗Q#NT&_S]Ip^0y0 Q(DbHF "Da׏jz"\ u:bKO"Lj_q\sj{ {!fmnES`FK?Y1fZP;ܹCH^J 2SA!~juj $(ՖwiǼ%W|( J44nR!6HB`DH+E~niex92yTڄQhsffKoRn@oM}yg3>J䆫s0݂QsbRʟDDPM{3[$w,Ljܮl7XS,oE|*4W{CbcQY[M"#Ej2|xޢU%bʷ">LȿdI{$&i9j٭,3TqyC6pyz2 ,T,9;(҆°x {.%Q;oi>.֭JU @7{tk0$T>.;dȣv1{ CzNNLSSD;pQh R-.K};sP)N_'}(jCԯL҆bL?D7 qG( F%q8ǙN+R,TsuCt|2z Jx/rZAZ.}b ୍;)LcӪ2ݰ$(yE,;4uu_d4)4VX=R.at&XU"sxtzi3DӗnlTycޑ)pK`u]dcڔ!u1N0q)hʉH#~=Pg.w _sӼåMEb;dM~Cg2?j-T&:9OaUIcCGQ!% /~ls'rB>oYaHF~W {MzG_ƓqKcǽ/~[HrsbQzm`}][`(,7@gDI:6(s辿Ge`TOe'lkp}+Thh ɺC*@Gy>CiT.щL~3͌W6."wt](R$L蛍8RL+'%<2z ç-c Hg s8%. LE~ӱ:sg<[_h=Ξ9iwlu qa2GH{ 8w/sUL~, ̪HHbQ{_+0(r/=p0.gffN]6$:J6F q~aDro/RTj[Zܱ떪A E 2끡*>;?+eds>=".MY洸Tw<%cҲF ߶CVwNHĎywZr JKٴ*r.%rgJ>olep!籼v!.)xe`[̨u]7o`DsM#boH!8XkaT/l%/E50}$MvxhCٵg7.<#t/ <(ޗn jV_EYz+C~a$BI(tݚk^`bƐ+m8Eʽ!s0F 1ҌN8BM;`vϯ:T D,2\V7G]Ng@'7Ga[="s4X;^J"? X]OΧXSeafgB\ ݍV'ypT.wLhΑiRLwpS\Y:GJP)KAUyK^5^Jv ̖&>mwͣ|o<ˋڗ7/!]BWôQj(C m"5G}$to͈N{S.2z{Pc3g9l>SY`UQOO>8joB{~ "UV)1 W]X9xhvg#+Q)L^K6 zxjҭxQO3o{7j9# A:&7epRJ 4x/j$e1Oe=h*4 Mh R8!@SG Ejreo7=<Eb λA֧kRP' %*xaqk 2rNhh׺ʾܔ3#J/5&Smk+s~iA?<-l8|w5 J~[3űV-OtztqfRDH!5{E̵)lK}t}m^,p4j14;w~`C ꒮W/iwlקg1|gfD:1{K^n\UT]VGN[KgI$<Ñ뇊-!7j$}q.AS2¿:v]vj~=7R_ύ+qa )8 ,IB .2Mx*trptbb@6v3ma~@̫emI4cصKVW5 9UrLPˢV.<3=bֶ-]T#*v&+xhwC:NT!b&Ne?Ro`&_0y:x'eU6j 'uΗ!Ɩ]AYyk-O6ưF8k o20w') w:DI Fۉb݆SfC]dHti76"+QȲU#4ݼ@?.ծ (Y!cnLl]؋l`Z![13y[T>7(9wV <;|Èr2.]7≻uxܮ =S}[:E%_K%KFVTZGuA?ʍoK˾rb6U *A0J:qU,ÏkAKL)_Ciňtպ9uI3yJb))5 a} .T1+;(_N˟L7A*=GRѬ$|/pӠ2 ^x7h8(.k8qҲ LJxSL(Og[Y<2?0-(3"D-T%$5Z1{Z9ͼwO]ehlتZzmumV߆тO׽f%˨Ҍ҅¯^"?`U-P.K N¼lدmWpd4 Noiv}@p8WYci (l9+H. }z2i u*2pDJ?3QfK+AvYjQ-D:8m2n_Dvce2W͘ IM6ʷOv12gew1 HS@lԑGBo-0+ٍF%Soi8(}/ox!21u@e{ClA|\7)Lx?0ǓEԃUFR' /(c2&%#z6U]iۺxΦMԞ Ayf 6.0i+ p]v8 DleŠ CCe0oZT_ZU_'EaT7m3Op_|S<3A &*=+INU;oG|kۛvZh2ʝ| /zESX(lf{i"]ˑ8~g=O DA: ;ʬxjFPi!9IL$uJ ; %'lC3koHM>4!rocf72k.>qd ܵy#hYp?Ff2&j`2kkѭ^bv˔\<~h U*y]<"3#&ɷ$*n ݏ(2;k9OӠpt&U%pq[š :Cc@)/d7RB@6Ҙ7 ݾfEʛqBi,g&q_5^k ApeO,K9S@ /(ћ f,PmMuj(RCmG㲽H%:_YIl@x;01,#'U˂p`C ܔ BΘ`ͧA_ t @8V GJ 1,?;0Lf=DltԦN7-:3ԿA\v,Cpˤ6su tȂ P1VaO* =ɏhA~,!x>0NJǖS g%${5[Zˮ׈V 4p%1!||? ca`7)&+ (^G(❜U1}5Vy}߸HzH8AY&-; ?F>PO}:u|ϱ!jg5,FGLOUMv"y iOm'HO<%5RԻN]lbp wsGd^fg=8muuLL^KDx.(ګF%(yYI6mGmJzOX[I&ǤWڽ_j$3dږ,/ -NN2+/E[ːk|M[->h:tw*2Т (J^]b[zՕY?on"E9}a9dsZ m--zX2H/}wYKXj/^L5aȱKcUZ70K$׊4UML.?D"4(tĢ?5!VdV8 9H6_r V1DK':eb9 WrL*A*e9z2[dj{eT`S|b+V&hƶ勶%3bi {\F+=kɆP6A0ed#@5)J!/E蟽-RVDң SX;Ws;fZbV!>gGi]6:phYY#̡6x< ,54<.7W}h1(G4 hHL頎Y0k*ٽmmVW9}.?|v= C-*5cJswc_'څLyg-̠ 瑟Tny&VS@zC;WC#tj ƍ5ҶZupO+( Q' T Udn z~BC+Wҭ0ۃh">=;Nm%'s2OМ|ރx#Kfn݋=SR EC ^ԉ"bӲTO׽]Ge٦kj̀閃aUs^xԧՋ%[,}##Ko;6 "X%|wPUl}>sC1L7Ŝ)$+7$x5:0~$qwk2(_}&vqN03Egc¤kx-1+E48;*4fx M+ ΠD* ض3n{zHތLQf3<ΰzr8jWɕ[UO]S6һ6keߏki`FlQ^>ynHH,TP-ȑpr'bt`Ϭ|xcxDüǚ#f.nҸ[,T W7߸ bP$oIٵ cgT7S/l{\)yG2.[jPĘAnfwf9bw Au} ll4ߗD [Rw"1)hBYKQ@i&Ş> XmN|l6i8ɚLPk# BBx7>Bw<2upK g^P7!f"(L(~ZCBZuI 39(_~.k@ +kQ|&ƣ[7N0н҈0TW>wZ(rU5đR[wGirI%7$' }Xk54#B^hez9X]wUP4"my{ɄQcywHS{qΝ:1 [T#=ݥJwmXA\!b.bӚ`ɥQrf _M..}3h xG9,-·idN7fjLvfຖ\=lU۵\ L]sܛCDF-KsgؗeGP:#(n=c Cr,{GX(k^5$ = ĩ⻤" "x^nr wH6* Cv g_;\5:X,|ʓӫ ' σ,ȯ_ʇxa)YG o!+ƆR0&@WX5?ଡ଼+Kjsz.L!#cNt9y;rI0 3e_m+/R(b(3Q]+#58CK2cV)1F^KBcb9aiB聅=!뤟VK3᳘'{fKN"bBCQb$4k6O*\@. ya\RX!S軂t)sqֈ"QKF* u)/+I?O5eGd'.]&=w?߿V˱\0 <=# 6so&2{_Ղ<'j}DZNR }%,_|5~<@l-4Y_N?9%z({2ϥr@k(fź`Dyr~LjK^cw+ci,A(;SC)eFӆxzAQoM;a{mv4*Գ.>\> 6Ƚّe(fPQ ɸ8tK<g ʓ}Ț4 ˤѴ5}Yr 6=@QnUGs2I qI,f7U 7W1K'75sMGj$B=ۖ_!WA Ƞĝ0xFמ,|*u-PZm\̬ ,/Ž۹O=eqU5pLS;9-4φUJoC _ng8` bCՆ!v}6D02[01uТln?᠜0IR>뚏%ָpjlS:݅?V=LbӜP]q j_?>Ոs,X5AT_ PdBydyLv5¯blK&tD]Vj^c@R&|7e:,w,V߹r|bQ4#LPC x!-b:*m8~#{&2ܢ4RMA.۲:<9!ahhzWyYzX6sHyY5=lQ_<#ΛQpu\%O@\X ѳΞ1;WF]!f oaXRKpP,]ɔCVOzB{2QP·҇|8!B:,A@++Vq$5'E(;s"v8. .<ۑoĜ j'XޑE QO'Xv +eu̸Bl7,a2tĿ{?O@ T)f["ݾ=o7Y8%jPlA{ B}Tߗp*ݡB9* K6ܦU7FJEBǘ?h.Xa;i/XXj"7' *tv7~NTV] 2w?M}AkW|f;BB{<V;;;=~F}*6" ~3s'Yv@p?5φ~D|5H:]scEDX ?>N铯0w:<EddzgY-}z"@$ j) unZ;7|~x̄;ID]h1j^h=LxA=xq`ADf&~ UD uUcn\{#'C>M>4~͐к5t٧&y>Q>>֝w^$pHH/1޹ o6kc*^2l=| P@T?π4bӲ*!տ& ۊto j>F`'<&Ycp6됔ia@zJ1zZn$ÅH-Up4 옹XȱoHم|[9&+p z䝩9}D#2V3aPz#T,/۷-^]3 CῼOx.ۻW)bǀ`k PpV{X!]\l"#"K 3!*R ~&7e- 6}bW>:b59ĎWĖ DvN HC2qg>ḄqLZ}i<}YΦRb-:Qsc&]{ T79:i5gs$rN2Qaj,&ÔXLq-jQlFѱfIg i-iݝG5w= 9HwvoQSy&FѺ?ahw"o'n=h[%|^t9g89$>BPJeϳ枂KFkWnT LI>&*Уeh#gWqڱbt=X3{ma,!tWnu6W\"MAw?@WV = gV5$/4%v&@;mSgb~Hv{PVڴŀw9- \pV(+R})4[7O۪K th5>-WdPk⡉Nu?TE֛y3#DԭS"~b*mY^, ء7J1Ϣ|+PEVUچ֟C8ajH 湩mވ:~RDu\N$\#\>*oⅤQ+VuJ-:p ;>"'O]?iWU =Յ޴M-0̓Rԕij)!kjѽ]J~+zWoפ%yҜk2cC٢sؿ{z!EgK4W=Bʞcn@\0uF/- 9 MK7afm^FƉ_:wQ2>V vp۪3H$RT7PE[@|L %dᷯ}93e!CV7a_ =V'm9 w" &iim^3$ztե$|CivFBM }8~/v6=5E7_kNprTx\E$t-ЋZcsdR(+ |*/(qAR !*X3ynHZ:V,:2[>BV4.nTUR@}$5.Q>5@ 4 lY*/A= lCg8H>$' y..|T86Q3 EKe  ~q8Ԗme ؤ3axJ?TpG߹Vxiݕ(㶏<6<`wa]3#Z?Th u:nr4)JJFt+"٥_YugCl /:vxJ2bMK@=&w7yxʾj ^63NN& ~ks#E$yVy0':1@?ە{pvp1fHnve³wEd~֓*dnvB'AІė@WЩ2ai8*rn|·2Za$gVkU8 x߶֏ۏ EC̥ځ|`U|$V@#X" 3r =` MDB/ٌ$BNIZJIG kPM.ښ!FGǶ9\ ;8m_PqXC r|]z >VqC^. z@Xf౺I@.Ho 4b?LwQC]9'a2m(IO5<x,%ZX !"u̠ r}3W5idAS ߳B=FL $q`v <9 V_#Һ_pP(CKMN5?!f!uV,{(яN -Xli~iHNOW_,} ݮq܉ײߔ;7L&K?\Y]a9g>Gi_ /”obfٌp6❓M!Wܗӥ}L%fq;iJwsbj,č5%$w܋>;4_S4!.F: *LV.x ο,b4KF˙fi\b4}tq.̰#j6@1JNl,z,(HpXutnAmaVr۳ anj\PqiMh^g3}ӆŽ&0_=BV7w$eYPB $yk?w1# GhHc2 uw锈8zujLZ<8o#PfĤ`S!J=WW7YenP 7<;\a[m'Y'E7YGo \(m˘ADGdc6ʺ|.@ *1IzjhQ 3>ë KC BLj>'-e_s²?űroeK\B>b_fv6bznYqrzo5Mjm]<`"Em`޻OXKxmm_V?62pV]0Vt3mrynNPM`]7uE{P}/+m2Yp_2E\(eii"IEJkl*)(#ntΔiM KCɀr|LJj3QHJv,>s$FM3O[TX1I!\Q=.~1n)g\?-w}%[ 8hY(%l:%ÑLyD HZ|.5)!cn[G 2#XdpʋJa2eQ i˯"9 ^}PukaX/"Ҋ$!@+W|^, 33sCNY- e $ lh'cgY~kx'zUy\aWHUϳ!İn[qKjkc4왖IB?Dk /lC陃4ʉF׵c5-ʂc:rָZstŮeF R&NZo"x@%Ji Sz}L+jX:عٚgP9oK NᇣP]|gٮT|[E~qBC{)MmJHܓ[49;pUTpj 1U@V*|6U9!4YDGØ+>UZe!8 ŽZϳxvN"B+I :ټF H>N5HMs KÙ*6\tm8mA`ӄ#}ϯ欻bՋ\%".٢ElVsEt$Vxɴrս  ) &d!oD[Ɛ,w29O_T[s)um_~};K<@-nVQ?U~g8؎ Y;"~t Q '8P8, Z Jºrn5"dljn {۪1¹$ڟow8IY:y̾/e \=7m&`\#k$Xl?2 cAf'{hvz9@H4lq/0 `ѐ^LX5>j0H( NmS+IbP'-DF #ʇ !٫f8ٍ L ?7j{14FT(YZguWI''gxuN&M^.<_Uwzd:K|WM-mpod-=R%9z+iK|EN>u}pj߶1mƳoc,yqo0H yzmznHD[!គ6WHۓ-$.R(YwƋnølEUMtECY N@[ARCs:yG͌鰅.Q9]ȍ\5HD/ 9O˄.a/+7̚,0wJ[vKկ3Oj֋ozOl9NkB4 CYP^=w&4U ocDH@6//2hEz \}̫]9v?ǀLQLHD.20j?Tg5^ IF RE6t[YPIzL]@ jLɅ9n5~x?8_ג mXT[MVEG &93ɲJ+v}B^z:)[ja2 eމ6wEi,B{LsP3vʷԇav( c.s[3u8> z ܄Ji8]oiKxPp/2M/m Ly1yĘCڽlb[%i\h 3KM5$D|yt ]qvǥp7+[`WH?@4.VFɪOa#'@v&v E +\z}D&H@V_4`~N2-ѷ Ϫ d*ZggSg<*c~PszV8Ck1Fˌ4 L+NYS#rr4M5] i]7ŷuN@Lz"xQhc5c6#u#RD_[5od]7?_q͞wEK Unr ϢW/ R8!Ijm:َo\m䏎~'%/D`\4;B1@}vDc*1qB}4nfSsMZa쮢FI ]x'p9ir]^Vo3,'q\85 s*+&D7S; Ǧ/ "?cde?" QRWF]dvo@T N{UѰ=[t$loesx%upo^L%r.YoB4@eZ CJSl}ϼ)jL|n*%2D ^E*WBϓdQ~ h0w.&xnђOaLxX*oȗ blŋF-h[O tM;\UJvi\~wjkXU\Ns8_*Gm8^4weɉ> ;^O@T8z2'pX<Եޮ$)72]f&GN-+/`eUAj9 ²KqkvaP9~H9fn͸+Э%yO \Oar7wDXȈ24 ~g 5±϶tXk46u\׵*X0W=IfS?J._Rl_-yUK 3S0}@/aYN8 kSz-IFWAX-"@V>e䮜`rMqWi~UG#(#U]˔CgGʱ4yt]Ygǰ.mJqc)2hĝa0cvC:d(5(@S_<*\[G[ݥH|2 黎Xƚpg?X6sӔd͜|k\27)~v6u9GwІ:" 80?}4֯N,;?Qk GpYnK6ɉͶVz$,b쐽q4-=X1Uoin0<6Aq$GiS`bz u5Uڳ]G[Qziu4YxdW[X؀C+1BXvF}t&pLO~CUXqfA!#wUEHkmgE6X?iLTȔ#nߌr:t\u?Za$_1:"g 4XBݯ,c:?GmSo@Mn _ maQ;yǦsa4JY5R#7|6pc֛|>{`N݂bkxE)%wcz ۻ`1lZ_F;AuԂqSF'\Xrx$rPK~˟]Eڈd-«ig8_`g,)vغ1VmXO\j`b`wvy\Gz=HwK[߱rkr޶B/rAcH,kbWw~ZM6 h%uU!>g$3M/gpkhS`]eGzMFwwd zoj{Rd8Y:iC<P`{U uqr%D rM#cş0#6'e)-z7(.b)^?R\֧KilSK/VzBA5r4'w&86Z+u.dݐ}Kk{+ ޝC"9u͖B[70 ~Q>P,.8ld/I"W{TCj\ К[Xy$?A~lKu`\<.L8!cJcK*+tUt~#0I'YhYj/q0w4B]΄czqpӵ?PB,3g*y}T$xcS.iȡq&Fi ޱT_'0c|Jz3\'9sT< f O@WJ5=1Ve*s*ͩ&ɣN0d03jĩDfGu8 6z= _k8H_C0Nvq )z=<(;L_寁-6[W;E[(A/복c! *gQw}"r>22!*ӵ3?W s:̵ptwʮ*2nK 2О=za3[[;RMr"An,;K6M]وȒvÔ _^_[=Ս!.M.c.NDqeZ,] ؏0'0a/.)Vn. 3V_Dd+ y&g+^U$4O<,:QӤY5۫>8:iBWM͖ .,*ܒHtt+вQ*$ӿYfG2TfmaFw9XY>۰v#Q h Pbw]_T~8|4FSw,c5d@2Ȟ +nWXZ*$۝0e]E_O7~L(D˓Q:neDlQ|rԑ^f/@zM/ 47=/Nef>(a:A첏a;֞ؐŚ '`+[5w)FwtӹRS^Ti8 =e| t?:1+ip{ )zťfh:gr|0͂͵&H-nm0m\05| RۼBp *?]jȜcNI7Jlv 2;JGW I G*y gAZ9qguRCDq!n@Ӭ'wd5׋ ؍uuaN8]x #j<fZRQtُ\~'ކZD$'ӇRFHd#~-&.z?=__AQsR6^0XGA&QWE$ ;Jk%Um7 nj5`)dWP`߶`5dڄft䱭!iX8t|CoS` n7.uZ4TүXV()mMpk*ĜɆKd:m:2cqNc^dJ^WΡmf@1ŮW\Ie|KVlBƤweb|)e?S/} 6!]&D}v7q& Kȏ-?=oyA J;)V,(\ʶҖ Sjp/7wo渊ΰT"mE%U@5@HYr%kSRKzb~ 6H\ED8^W-v\@l)rNjJulPqrpRogc2,PR10%0@.' z4*0Ӌˊ3i!!X4HϦ2꽬ءX/Ye"8Ձ?o \@AgvD|⤜l6QpWm h#|u;؏)r]ri,ӧFTrأal'sR!ˍ6v=8*@XZPV-]R cu,\(pD"9~ij?5xQq&/;x=Fύ^ފ8+mo4q\d `H#"I3SR磬8ʸq)/T?'8Mnߠ?C|~~ -hHF ⱸICrͷ8Cx `vBĨ}g_?q"Mb')pzuz+l>)8BMಏ:MI5,>z9iOeR̲^42J١_`H/D ϥ~(I6jlV9;SD{ ۃ|LUf ]tBP SƫB-Pq01c1w%_37URZI<&3)1$iKI:&].x !$& ή!$%/VgcofンQ*B)}f 4=٪:Lgsk([ݗ1;xèU˓Gǚh'(3|,?TbLߓv* )9mc|-=gE]'K .hLSS fX+:L34G!m ^7F[sO99O9q{:Yy'Id>Qk4etdahc5]\UN z>SMZtft{,YUT_|̊-CTkblڍNb3w?S$L>ID+#= C3O͸ _OЊr8@V7W=]**Ha@/ad!ɣRV1\DWh eE zZs>)ͽkqt{uS# ,BBRPTY s,\68pteR/ [dl`tFw@ b:GP֍Ƞ)vt`ɜ6fXp J2\TSgS`+b֨TrAK˼`~Ã4߾zץN̻ iT̤sƢ8  CR_ Ӊ;Ɵ qlZjBH?:G^_B)m6XltRV! am[\Up֌iht%N` Kz]83,.qc!v~ 2RPc5EWŵ& L s >ٟ9EOC>24V/a!fe{'T(LIDVzeh5=36/H{qWɑn9W#),T`_$::iy 3Ⱦ!$]h솓b쵚6$UMۑ2QǷ(MaB/ /Sx*ir b+p4-ݖڍ x.Ҫ& SՋUύ;1At5NǼ228eY;'*9zآuHz0*qr?w=(L_X;x7VF 4ezJxeB.J8 Zw>:-_#S<^hP~!PM}櫆pڷ]Fgg u-*XPgɉѨ]pӄI}% ȰvJ"pb"4B^fTzɎYqd#DrZbw=ک%&*x5I金ò/LF f~0-oǼŔ=^`YJ"rTxo\UC!X u^r[ҴnY3pd(܂B0dr!I~xdZؕȝF52tH IGs_VblT|cVgf7)gƜM,g& nTPU' :G3d ]-Np # 7hr~bKy ml8K@=Q)so0f9{I!G\dSp!0-lƥѷ5tmD,hͷA/&:8Nx8|ƃ*_R1s_KSG#=]Wy?bqx2+|LiSu/Q?W^g>qOcNYO˶I>cg4~p: R95Ib0P" V7_Y̧tND)0a oֳf,OT-ރh:F)VQWT-m1_ДrԎc8r/L CDRp`gG3kCX.TNػRmFTQwUk?~1СF ղ>8ڈ@6 BZ F8knL+i]`KI#-,FZ]!Ky!7Yѵ2$wyu'xݐzLg2\:߼[Vl{+< .ۅ Lt '€G=uw]a(d8ΘaF( O|%0#:3~P`O}շ&[=vHxJ׆Ajn$S28dbJ#Y{3@;1*o9{R0p𨆹6_ 3j" Y 9G=d# xQX.] uKPsVT[oEoE)Ԃef:hSglm#sR%| }J,9@]؈I¢GF :ec%s;B.ͷIDzQTz!Ol+jIem̲*1p ω,Pw0Bk{ኰֺk%6#jWÖ́P7ۯV-UxfL~jC-%sjhcД_5P/7zpls=niru䣌+ ˽taG_7 Z|)AyIi)Z(o|_iMA@}zE8Zr&>h{,Y'`*0;׍زBhf,/sxm~/|H7~zqv/''y&nhB8' QeYmf W{\p pVa5^|tG΃DqQbN0dgDİ1`=KTWcK[VU'[.j 9^Wklb@`!C:7+1BoAgD+\|}#>YB?LJ盯~D Lsx:9nQB3ƌn#!{- 0SŞ(d@PȊqOӸS}*C1gI=wX\ayX]2PUIĸ"炈YNGqQPgӰ,7N x:0)ޠO8TA4!O%Mb*.5t~!!9|uLaKo ;1-_ba*sys33T| -9ZŇ@e5y_^ǥW7^ЮHlqO%C[3Jz?L;8gRA\PkdKէ4 cINw`#!kAMJnc.gC}j2^Y1٩n(H|K'|!F;x'+L,҇_}k,Y~7OGX_Uyi,@e$#*ʃΎ5uvsU8-f6Xڷ𞐾g}#9FoY>)&٤=\ ɗPbs ,RCP?mh>a]yO`5/9 BA,ɋةsIcp/5Cyb96v60&^_bƠ5H*F٫IFii5zw] {p7:oOKl)~eПV }۠_T\<F&<[G>-33@fm:DEI3\l-&5/hUU FUPsR-yXduvb "Lj/Y]^˗6`Ù*7AGoEBڈc7Un+"fݰ6CQFkU1Pj˜܀.Cy[6e<"ܭ_ԇIa೟}MoYgh ~`֓\wJ׀ShB\'ZY`ylۜBp<`V +&Eዞo0 <:JUZk#P:5XLwQzI\:-=895׈\1-.2S*c߄ ^Б63Ωe>'!` d a'sbmPA;S!yGPV؅R#%,f¥{Zpv=px5oz`sص,'nU"Tz^Ϩ[⍖ ih {ޕlRaX8 )|l>|q#!ސ19kN3$`/5 X* 0 S1BG5l3C*),ϣlk4i%mmVo=uU,bM/rD|'-+s~"t X%>XTяw, 2<֔ HX z4sFfGz0M_C7g1JxHH_fTUE@0Ҝ[ٰ6]2H^Pzl =z3޸eI2Z(95M9W`z N-P.qEЁ*_XGdk69E|qHb˦1̸/ Z/i x*IsvpmR{l4E`sI6Zy_!X4[" |:(Tu~IEO5 n&W=hFB!]&w,UnUMQK2ffnt|i=/Փ-* # ,t_a%uqe1$Vxԩ5&&rޓv 6PM'Bu9߇MOӠLa*@YL1[`rMcP 6 9b|hEg KPJXrYzEEN/Z:WlT0Bn =y4lի}L'10^(Z|Sb1[C Szr{8ə_hb]4Lq-Kރp|IڅL^,B⚄CױMD0Vx߾q/^i[ng.Cy_,&&CLQkM|9>(B5G.>?иxӡčm3Sމb֥(H> ~\--e6f)|pEF2~T`2n t%Oqs(Ap.QHKSrԣPkmqxp^\VZ.{Ctp{ӓ$h/2 n%Zअ&S0zښ;o\d)|cog?>}º ;pJA}S-_dNjz95qrq(j'?(m^eAf_S}\dL ٭{L:HP^^} JANCKt_ZǚpR(UJAϽ9S6g4G e-y=R*uV| ~6J'ט$BĴgՎaQc*o[RoVF~-#1Ag^ܩiX@f߉UXuN[,+l[KmkHaJ)ti d zy L0 FNgBbD 3&Iz*t$t h˖8jּc)+=&6i"@~rϿA5p}{:ޣ{J"Gٻ ks9HfR|o:L(/ch#xgR̨]Fi_ ճB_ rԆl5 "}ZUWiw!},K]ęC^cNS۩7wZn_T ]~n(_eK㣣5 #[Cmf&sS9^׻ UKk^˘[Oa H^$KgϜrEƢpv &py82jҜʖMAEJ).v V5tEÜwqqBqȁLR3K,&xzYWyi(:U%MVҬ4C SӼȹ-g (uov]>y< iF.ԩoQT+o(+tJd]D (^Q* ?2D_RFkUW4t)]S[s8RJv 5kvv߄ֽ>Wz5#})C'^\eݘ}|YzQ3UN-'^etblb{BAkAr 1<~pϻ3HȸR= '*NT* ego:T*d\5!1FTU}xA ŊR%_Gr26DP&M^E7V\$'Mr0 *M/bNM>u&.ͻw- iޥ]D%Á~7W6b޺\7^9|a҄_x;SNjAke? i ╩m?,R°5[' pAyzRʾ1%[mvU̜B{e;ʰhzlCB]NP%7ǻaĤOI}ۀ{>s ུ<`ʞf6j] mfe]5#L=wCt3Ry;|dʽe$;*8sLR(`M7zOiQ|l3*p[亣 1ЇL|HmlNFFKQ:F*]| U<ܜ^?q.LC53T Y&<Q-U" b'I5KW7uE3IndyY OE Y(1N ~!AQ9Eޡ+ 3Ҹ` a4JHlPPG[A1hz~Kݬ6NDi@{Fm/ }'_ݎR}J>t'5dHƵBOSkt+}2==~],nz R%%k^ƞ4u#};!N_eR{3'J  U#!0 z <>G7Q 2U^#$aiJE"?p& 2D~^*`7)f1jjN|#xYn8of -KjdGo4~pˁu!V@sR|AT'P:}fl ZJ;ɝ^Sn6(RJ '4ј?opN\GMG=JlԻy9̺' {"eZ;'S"_ļl3T?e7jk ,hIߪɾXN0I& `HoRxPl\̝bf!"ǿsJVEd vu9c2߱4X-)527wbZq1=4;4"_b!P2bbsnNzQq Wo(s{  o_ ' U)dΟh vq=?VQ8VLpr=֣u1hӒ̸-ϛG@2>i&{5E+Wr|86¼iqv\_BEv /Y/YQˢVƓrrmEƄ[3h+!ge*ρIΓs6Wt!]ѱXv K}6%wW-we yrϟ4CdrsJ7;Jv#!yb»[ځ2o'JmEcVqB>Ti 7w,n\]Yi]Bu>Jn&lA~8I=@ K hF{dZNE2 ^8&xL_]*]9WIiǽZ < '!INFZًtDyJna]k&tYu˺zCdk^IHYKm=LX&.d?}=*Hu5xq?#D~:"|r#rO[LGTZR0[a4'3nǰK#Y#vD;|mU!etuxHr3G D2#:jDBl[z>pd~OͅQzRV+ɀwE{-7v+([\9[L+N fP=6*d$ߵFZ+L.<9?cc<&Hn@V)7dc`U.>G |΃:#Ё$N{-P^{LzMTy`q"Vmzf<&u!0 п }2lz&꠬yC B+Lu|_N!pQx-P| k ;d  gm&C[l~zc g:.JHUE,,P #mLS^.YR:mK{q]!<(fϱ1W]5Sj0wyB v^@ 2nRpA lF4=v+kta"J: _/{ŐٺG340;_;i{U*7nĽAJz׎ 8dǼcDvF4*L*=Dezt\9# =U~go>d3%y5ln$!ۢΧRw 4+I26uq"a!N|Cl&P%)\#fq`êLW{hަ6Ztqi z (ZQ*tu$o»Z7"xtP]xm5nW^$I 32 KEԿxAjUvB+ _ڗHS۳ Cz=PiZA u~œJ IH( HYVn.?W}y?"%]wtòrſW"m[{%Ja ʎBRѩvj wY9z D"G$ YZ