corosync-qdevice-2.4.4-lp150.3.1 >  A Z/=„2Gm!2QY#@x=Cߖšκw册+fP y "9v @71m9状B1//G GN<;vY۰gw8$b:IC##jPA𘘡\M{* 91lc! ~uS/F*q xjc3F>:-0O˟| u~^IȏD/~ӫ.{|630fbeb9f668b4282e0136d4d46f2dc759b5f6e89e394bf5fcb0885bd964ea441b5628c003a0feb1b851ce7bad6d88772a3544c8븉Z/=„ 3i@UDU(Yoު^Ⱦ/rVm`\TcF vixϘ#fiq&_=;I+)j(,[eɊ!dŁoW$9 B۩hnPbAhR3 +ܶvjJM U_ѿEt}JCvGb`R%;5vN;wWw}9q!}-D*,cޛ`Jx#,3]j j8r'( iGR^VG@L:ى6>pF?d # G ?ELl    b x<`#h#s#(8V9!V:&V=>?'@/F7GLHIXY\]@^W bcdef l u vXwxyzpCcorosync-qdevice2.4.4lp150.3.1The Corosync Cluster Engine QdeviceThis package contains the Corosync Cluster Engine Qdevice, script for creating NSS certificates and an init script.Zglamb09.openSUSE Leap 15.0openSUSEBSD-3-Clausehttps://bugs.opensuse.orgSystem/Basehttp://corosync.github.io/corosync/linuxx86_64 test -n "$FIRST_ARG" || FIRST_ARG="$1" # disable migration if initial install under systemd [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$FIRST_ARG" -eq 1 ]; then for service in corosync-qdevice.service ; do sysv_service="${service%.*}" touch "/var/lib/systemd/migrated/$sysv_service" || : done else for service in corosync-qdevice.service ; do # The tag file might have been left by a preceding # update (see 1059627) rm -f "/run/rpm-corosync-update-$service-new-in-upgrade" if [ ! -e "/usr/lib/systemd/system/$service" ]; then touch "/run/rpm-corosync-update-$service-new-in-upgrade" fi done for service in corosync-qdevice.service ; do sysv_service="${service%.*}" if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --save $sysv_service || : done fi test -n "$FIRST_ARG" || FIRST_ARG=$1 FORCE_YES=0 set -- corosync-qdevice PNAME=$1 ; shift INSSRV_ARRAY="" while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 shift SV_B='^### BEGIN INIT INFO' SV_E='^### END INIT INFO' SV_KW=Default-Enabled SV_VALUE=`sed -n -e "/$SV_B/,/$SV_E/{/^# [^[:space:]]*$SV_KW:[[:space:]]*\([^[:space:]]*\).*/s//\1/p;}" < /etc/init.d/$SCRIPTNAME` test "$FORCE_YES" = "1" && SV_VALUE="yes" test -n "$SV_VALUE" || SV_VALUE="no" INSSRV_ARRAY="$INSSRV_ARRAY $SCRIPTNAME $SV_VALUE" done SYSC_TEMPLATE=/usr/share/fillup-templates/sysconfig.$PNAME # 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 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 set -- $INSSRV_ARRAY while [ ${#*} -gt 0 ] ; do SCRIPTNAME=$1 SV_VALUE=$2 shift 2 test -n "$SCRIPTNAME" -a -n "$SV_VALUE" || { echo "SCRIPTNAME or SV_VALUE unknown"; exit 1;} if test "$FIRST_ARG" = "1" -a "$SV_VALUE" = "no" ; then /sbin/insserv ${YAST_IS_RUNNING:+-f} -r /etc/init.d/$SCRIPTNAME elif test "$FIRST_ARG" = "1" -o "$FORCE_YES" = "1" ; then /sbin/insserv ${YAST_IS_RUNNING:+-f} /etc/init.d/$SCRIPTNAME fi done test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" -a -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi if [ "$FIRST_ARG" -eq 1 ]; then if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl preset corosync-qdevice.service || : fi elif [ "$FIRST_ARG" -gt 1 ]; then for service in corosync-qdevice.service ; do if [ ! -e "/run/rpm-corosync-update-$service-new-in-upgrade" ]; then continue fi rm -f "/run/rpm-corosync-update-$service-new-in-upgrade" if [ ! -x /usr/bin/systemctl ]; then continue fi /usr/bin/systemctl preset "$service" || : done for service in corosync-qdevice.service ; do sysv_service=${service%.*} if [ -e /var/lib/systemd/migrated/$sysv_service ]; then continue fi if [ ! -x /usr/sbin/systemd-sysv-convert ]; then continue fi /usr/sbin/systemd-sysv-convert --apply $sysv_service || : touch /var/lib/systemd/migrated/$sysv_service || : 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 ) || : fiif [ -f /etc/sysconfig/corosync-qdevice ]; then rm /etc/sysconfig/corosync-qdevice fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -ge 1 ]; then # Package upgrade, not uninstall if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : ( 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 else # package uninstall for service in corosync-qdevice.service ; do sysv_service="${service%.*}" rm -f "/var/lib/systemd/migrated/$sysv_service" || : done if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi fi-JH@ YmAAAA큤Z`Z`Z`Z_ZaZ`ZaZcZ_Z_Z`Z_Z_Z_d1ff096e9b83d49f092b0eb575c6a0ff3c568e1064f78cd02aebd284a1c892cf66a487172847d714b323f7b9ad13b6758e3f3743ed8b8cc3867bb1b7c80d9f0ea47f4e4b6b493788836c876b3229d2e1de89e881192ef5ed6ff0861b7dc0a978ede6c39c9116d5c8600268a4c603c35dcb85332ce987315aa97b82d8f189748b83242412b75a85f5c12261f8c086eb5aa731285fefb940d97d083a271b76ff500f8509bda4f4f50d6e12f8b6376d22e0e9e0bfba925a0454b2c98baefabeb641429224f1caf2e516eff4f39a9346ffbb5359924cf2dda49c0725e1eec5ef26a9f3c980467f1bf0a6cb3a6e85f2813c8fff5c2cd6f9ce4a7dea67362bf7ee52e3287ddf6a166f2e961f4b343374f853196fbc7abbf4db4a6aad0fd36aec254134service@rootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootcorosync-2.4.4-lp150.3.1.src.rpmconfig(corosync-qdevice)corosync-qdevicecorosync-qdevice(x86-64)@ @@@@@@@@@@@@@@@@@@@@    /bin/bash/bin/sh/bin/sh/bin/sh/bin/shconfig(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.0()(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.4-lp150.3.13.0.4-14.6.0-14.0-15.2-14.14.1Z@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@T_SES@SSG@S L@Ra@RΏ@R@RR2@R)Q@Qp@Q@QJ@O@O.o@Nx@NtMQ0@LZLN@LH2L7@LGK@KՀ@KK@KKO@KKqKoK`*KXAKTM@KKK9@K'z@bliu@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.orgLed Led xli@suse.comlzhong@suse.comyzou@suse.comlzhong@suse.comlzhong@suse.comlzhong@suse.comxli@suse.comxli@suse.comxli@suse.comlmb@suse.comxli@suse.comxli@suse.comxli@suse.comxli@suse.comtserong@suse.commmeister@suse.comtserong@suse.comjjzhang@suse.comtserong@suse.comjengelh@medozas.detserong@novell.comtserong@novell.comtserong@novell.comtserong@novell.comdmuhamedagic@novell.comtserong@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.comjjzhang@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.comlmb@novell.comdmuhamedagic@novell.comdmuhamedagic@novell.com- 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- Update to corosync 2.3.4 - Drop the obsoleted patches - corosync-cts-api-error.patch - bnc#867767-add-version.patch - bnc#881142-fix-shm-leak.patch - quorumtool: Sort output by nodeid - YKD: Fix loading of YKD quorum module - corosync-quorumtool: add sort options - cleanup after test-driver - be consistent in using CPPFLAGS vs CFLAGS - totemsrp: Fix typo with cont gather - cpg: Refactor mh_req_exec_cpg_procleave - cpg: Make sure nodid is always logged as hex num - cpg: Make sure left nodes are really removed - mon: Make mon compilable with libstatgrab ver 0.9 - mon: Fix comparsion typo - mon: Pass correct pointer to inst - mon: Make monitoring work - config: Handle totem_set_volatile_defaults errors - config: Allow dynamic change of token_coefficient - Log: Make reload of logging work - Really clear totemconfig nodes on reload - Add token_coefficient option - init: Make init script configurable - totemiba: Fix incorrect failed log message - logsys: Log error if blackbox cannot be created - logsys: Log warning if flightrecorder init fails - Introduce get_run_dir function - Move ringid store and load from totem library - coroparse: More strict numbers parsing - Doc: Enhance INSTALL file a bit - Make config.reload_in_progress key read only - Fix compiler warning introduced by previous patch - totemconfig: Free ifaddrs list - totemconfig: Make sure join timeout is less than consensus - totemconfig: Key change process dependencies - totemconfig: Log errors on key change and reload - totemconfig: totem_config_get_ip_version - totemconfig: refactor nodelist_to_interface func - corosync-keygen: Replace printf/exit call with err - votequorum: Add cmap key to reset wait_for_all - votequorum: Return current ring id in callback - votequorum: Add ring id to poll call - votequorum: Do not process events during reload - votequorum: Block sync until qdevice poll - votequorum: Make qdev timeout in sync configurable - votequorum: Properly initialize atb and atb_string - ipc: Process votequorum messages during sync - testvotequorum2: Opt for polling with old ringid - TODO: Remove TODO file - Makefile: Do not install TODO file - totem: Inform RRP about membership changes - totemnet: Add totemnet_member_set_active - totemrrp: Implement *_membership_changed - totemudpu: Implement member_set_active - totemudpu: Send msgs to all members occasionally - Cancel token holding while in retransmition - upstart: Make job conf file configurable - systemd: Config example for corosync wd service - Install doc: Correct a typo - init: change return value when starting corosync - Free object allocated at quorum_register_callback - corosync-cmapctl: Allow -p option to delete keys - Implement config file testing mode - Slightly rework corosync-keygen. - totemiba: Add multicast recovery - Indent: Remove space in negation of expression - Indent: Remove newline before else branch start - fix memory leak produced by 'corosync -v' - Handle SIGSEGV and SIGABRT signals- comment out line: to_logfile:no (bnc#882449) work on patch bnc#882449-corosync-conf-example.patch- Fixed shared memory leak. + bnc#881142-fix-shm-leak.patch- Update corosync.conf.example and corosync.conf.example.udpu(bnc#882449) - remove corosync-conf-example.patch + add bnc#882449-corosync-conf-example.patch- Fix `systemctl stop pacemaker` leaves corosync running + bnc#872651-stop-cluster.patch - Ensure that libopenais3 is removed on update of corosync(bnc#872122)- Modify spec file:add symlink rccorosync to /usr/sbin/service (bnc#866057) - Fix corosync -v show UNKNOW (bnc#867767) + bnc#867767-add-version.patch- Update to corosync 2.3.3 - Properly check result of symlink - Fix cppchecks warning - Close devnull file handler - votequorum: Add missing man pages - totem: Drop invalid join msg in operational state - systemd unit: Make sure network is really up - votequorum: Improve/add documentation for quorum device API - votequorum: Add persistent expected_votes tracking. - Upstream version cs: 45dd9861ff78362068d214cf520006a1b26376cd- Add patch to fix cts api wrong issue + corosync-cts-api-error.patch - Add patch to change default settings of conf.example + corosync-conf-example.patch- Update to corosync 2.3.2 - cfgtool: return error on reload failure - man pages: Note that votequorum's allow_downscale is unsupported - logsys: Make logging of totem work again - totemsrp: Show English message when memb_state_gather_enter is called - totemiba: Check if configured MTU is allowed by HW - totemiba: Fix parameters position for poll_add - totemiba: Del channel fd from poll before destroy - totemiba: Properly allocate RDMA buffers - Upstream version cs: 7014f10123a634cf026491edc9a09d6044106116- Obsolete openais so that updates work automatically and uninstall the openais package.- Upstream version cs: c6688c6e11a35d13293f9b610faca5c7beb7e5cb - Reload: document config.reload_in_progress in man page - Reload: Add atomic reload to log config - Reload: Add atomic reload to totemconfig - Reload: Add reload code to cfg - Reload: Make coroparse use a designated icmap hash table - icmap: Add func to test equality of two key values - [PATCH] Replace freopen with open/dup2 when daemonizing - Add log message to exit signal handler - icmap: Add map copy function - icmap: Add function to return item data pointer - icmap: Fix value len checking for strings - icmap: Add function to return global icmap - icmap: Allow multiple icmap instances - Fix scheduler pause-detection timeout- Update corosync-2.3.1.tar.gz for cts file missing- Fix corosync start failed issue + corosync-init-lockfile-path-error.patch- Update to corosync 2.3.1 stable release - Remove patches for all merged in the upstream or obsoleted - corosync-confexample-timestamp.patch - corosync-cpg-procdown.patch - corosync-revert-cs2429.patch - corosync.conf.example.patch - corosync_reduce_RR_priority.patch - fix-nodeid-conflicting.patch- Update to corosync 1.4.5 stable release (bnc#799031) - coroipc: Handle pfd.revents as bit-field - Check socket_recv error code in ipc_dispatch_get - On places with POLLERR check also POLLNVAL - coroipc: Don't spin when waiting on semaphore - log: Handle race in printf_to_logs and format_set - objdb: Don't read uninitialized memory in inc/dec - Add waiting_trans_ack also to fragmentation layer - Handle segfault in backlog_get - Fix problem with sync operations under very rare circumstances - manpages: Add confdb_key_get man page - manpages: Add links for referenced confdb calls - manpages: Fix typo in evs* manpages - If failed_to_recv is set, consensus can be empty - Ignore sync barrier msgs if sync doesn't started - Make service_build contain correct number of msgs - Handle sync and service unload correctly - Don't call sync_* funcs for unloaded services - Return back "Totem is unable to form..." message - Move "Totem is unable to form..." message to main - Use unix socket for local multicast loop - cpg: Enhance downlist selection algorithm - cpg: Process join list after downlists - cpg: Never choose downlist with localnode - Fix cpg_membership_get() - Don't access invalid mem in totemconfig - Move some totem and cpg messages to trace level - flatiron: Free outq items list on conn exit - Fix nodeid conflicting issue (bnc#806634) + Added fix-nodeid-conflicting.patch - change the default priority to RR(1) same as pacemaker(bnc#804707) + Added corosync_reduce_RR_priority.patch- Added url as source. Please see http://en.opensuse.org/SourceUrls- Update to corosync 1.4.3 stable release. - Add calls to missing object_find_destroy() to fix mem leaks - Free mem allocated by getaddrinfo - corosync.conf.example: change bindnetaddr, mcastaddr, add comments - Store error str if can't open logfile - Wait for corosync-notifyd exit in init script - iba: Use configured node id - Unlink shm buffers if init fails - Fix memory leaks when nss fails - Madvise NOSYNC flag only if available - Include net/if_var.h header only when needed - Include stdint.h because funcs uses int16_t - Use install instead of cp - Don't unlock mutex in different threads - Revert "Use install instead of cp" - Add support for per OS CP flags - Remove cloned lines in main of main.c - Fixed bug when corosync receive JoinMSG in OPERATIONAL state - Correct nodeid of token when we retransmit it - Correct nodeid in memb_state_commit_token_send function- Send CPG_REASON_PROCDOWN when really needed (bnc#740343)- Changes since corosync 1.4.1 stable release: * Resolve a deadlock between the timer and serialize locks. * totemconfig: change minimum RRP threshold * Ignore memb_join messages during flush operations * rrp: Higher threshold in passive mode for mcast (bnc#712037) * rrp: Handle endless loop if all ifaces are faulty (bnc#712037) * A CPG client can sometimes lockup if the local node is in the downlist * Handle errors from totem_mcast * coroipcc: use malloc for path in service_connect * Version cs: 23112099e1c2b620e6976ca099d2b9afc80721aa - corosync 1.4.1 stable release: * main: let poll really stop before totempg_finalize * totemsrp: fix buffer overflows for large clusters (> 100 nodes) * rrp: Handle rollower in passive rrp properly * rrp: handle rollover in active rrp properly * totemconfig: Change default FAIL_TO_RECV_CONST * Fix problem where corosync will segfault if there are gaps in recovery queue * cpgtool/cfgtool: print list of IP with space between items * RRP: redundant ring automatic recovery (fate#310284) * fix typos in cpg_mcast_joined.3 and cpg_zcb_mcast_joined.3 * Remove spinlocks * confdb: Resolve dispatch deadlock * RRP: Fix ring initialization issue for UDPU mode * crypto: rng_make_prng prevent buf overflow * cpg: do_proc_join change list_slice to list_add * totemudp: memset of proper size * coroipcs: init buf in coroipcs_handler_dispatch * iazc: Reduce number of mem alloc and memcpy * coroipcc: Fix unhandled BSD EOF in coroipcc_dispatch_get() * cpg: fix sync master selection when one node paused * totemsrp: Enhance mcast failure detection * coroipcs: Deny connect to service without initfn * Add ipc_refcnt to message_handler_req_{exec, lib}_cfg_ringreenable() - corosync 1.3.1 release: * corosync crashing when a network becomes disrupted and then restored (bnc#685241) * Align IPC on 8 byte boundaries for performance and avoid bus errors. * Provide better checking of the message type. * totemsrp: free messages originated in recovery rather then rely on messages_free * Resolve abort during simulatenous stopping of at least 4 nodes. * Don't assert when ring id file is less then 8 bytes (possibly after local fs problems). * Handle delayed multicast packets that occur with switches. * CPG: make sure coroipcc_service_disconnect() is always called. * Fix abort when token is lost in RECOVERY state (bnc#677779)- Remove redundant tags/sections from specfile - Add baselibs configuration- Update to corosync 1.3.0 - Set the max buffer size for sockets to reduce message dropping - diags: add a mechanism to trigger the writing the flight data - Add the UDPU transport (UDP transport for corosync) - Remove delay in library on corosync shutdown - Check for a properly configured multicast address. - cpg: fix sync'ing the downlist. - POLL: gracefully handle running out of file descriptors. - Return CS_ERR_NO_RESOURCES when the server is low on available file descriptors. - Remove checking of subparameters in service.d files. - Only allow corosync to run one copy via a lock file. - When used with the openais ckpt service, don't disconnect an ipc connection during configuration change that takes longer then 2 seconds. - Remove the token cancel retransmit timeout on receipt of a multicast message.- Update to corosync 1.2.7 - Remove consensus check for two node cluster cases which can have smaller consensus values. Document in man page the behavior of consensus.- Fix problem where flow control could lock up ipc under very heavy load in very rare circumstances (upstream cs 3003) - SYNC: always call sync_aborted() in sync_confchg_fn() (upstream cs 3000) - SYNCV2: reset the my_memb_determine_ring_id in sync_v2_memb_list_abort() (upstream cs 2999) - Fix logging_daemon config parser code (rhbz#615203) (upstream cs 2998) - Remove reset of token timeout on retransmitted token reception. Fixes membership problems with certain timing parametrs (upstream cs 2989) - Speed up IPC connection process (upstream cs 2987) - Fix fail list fault that occurs in very rare circumstances (upstream cs 2985)- Update to corosync 1.2.6 - 80% packet loss networks were resulting in problems with totem. - Fixed ~40 scanning errors found with coverity. - cpg_membership_get now functional. - errors logged prior to the start of the daemon were not flushed. - Fixes defects in logsys which are crashing pacemaker installations. - Adds man pages for all binaries - Fixes several defects found in high packet loss field environments. - Send proper notification code of CPG_REASON_LEAVE in cpg service. - Fix segfault when pacemaker forks new processes - Unlock global serializer lock during shutdown to prevent spinning on single cpu systems or high cpu use on mulitple cpu systems - Stop totem statistics updater timer during shutdown to prevent a segfault during shutdown. - Fix problem where glibc's fork() implementation may cause segfaults in Pacemaker's use of the fork() system call. - Fix problem where a full /dev/shm would result in client segfault - instead an error is returned in this situation. - Fix problem where flight recorder leaks files in shared memory filesystem. Also clean up the error handling of the shared memory allocation code of the flight recorder. - Fix problem where a failure in glibc's pathconf API would result in segfault. - Add corosync and corosync-blackbox man pages.- prevent corosync-cfgtool from hanging (bnc#616183)- Set sensible defaults for Pacemaker in corosync.conf.example (bnc#610663) - Clarify bindnetaddr option in corosync.conf.5 manpage (upstream cs 2856)- Handle POLLNVAL in coroipcc - Save the ring id and restore it properly when the recovery operation fails - increase maximum entries in the retransmit queue when recovery takes place. - fix one-off error in memove - discard and report unknown messages- fix valgrind reported problems (upstream cs 2787) - Memset for res_setup variable in coroipcs:req_setup_send - Two memset in logsys for buffers - Problem in corosync_totem_stats_updater where avg_token_holdtime has size of avg_backlog_calc - corosync_totem_stats_init where avg_backlog_calc is 32 bits (not 64) - objdb problem if new_valie_len != object->value_len. In such case newly allocated memory is not initialized and in some situations, value_len is not updated. - select a new sync member if the node with the lowest nodeid has left (upstream cs 2785) - fix a crash in YKD- clear the ring id on sync abort (bnc#590666) - fix unloading of evs - change sign of all exit codes (normal error exit is now 1) - objdb: fix key change notifications (don't notify if the key wasn't changed; notify on key inc/dec) - fix possible lockup when a dispatch handler function is NULL - upstream version cs 2756- fix lockup that occurs sometimes before exiting - fix problem where retransmissions don't occur resulting in failure to receive condition - add a reload callback to libconfdb - support for lib_cpg_finalize - cpg join with undelivered leave message (fixes problems with nodes joining cpg twice in quick succession) - fix error handling to avoid segfaults/leaks on error in coroipcc_service_connect - upstream release 1.2.1- retain nodeid compatibility with openais (revert patch from cs 2429)- minor enhancement to corosync.conf man page (bnc#580180)- upstream version cs 2667 - allow empty (default) consensus timeout - fix freeze of IPC library connection on sem_wait - fix malloc deadlock in signal handler (rhbz#547511) - fix coroipcs message corruption that occurs when a message fills the remainder of the dispatch buffer with a full message - totemsrp: fix transitional configuration changes with long token timeouts - remove a double list_del() when a tracking CFG client shuts down without calling cfg_track_stop (it caused corosync to crash) - use nodeid instead of localhost ip for the case when binding to a loalhost interface - fix corosync shutdown process - add augeas lense for corosync.conf - patch to set unset value in token hold cancel structure as to not crash wireshark - convert unsafe function to thread-safe reentrant equivalents- SP1 beta5 (no code changes)- turn timestamp off in corosync.conf.example (there was a problem reported in connection with not thread-safe glibc functions used in concert with this option, which hasn't yet been resolved)- add cs2646 patch from upstream, fixes cs2642 - add patch to accept on/off for the various log directives (bnc#573451)- %pre script moved to openais- remove init script - add %pre script to copy openais.conf and authkey to /etc/corosync - add patch 2642 (parser fix) - fix some obsoletes/requires- Update to corosync 1.2.0.- init script changes: + replace killall with checkproc, otherwise corosync can't stop + test if sbd/lrmadmin exist, because corosync has no dependency on cluster-glue- update to the corosync upstream release 1.2.0 - add suse init script - don't create rccorosync, because users should be using rcopenais to start a cluster - rename corosynclib to libcorosync4 (similar for the devel package) (http://en.opensuse.org/Shared_Library_Packaging_Policy) - Autotools generated version from the released upstream version 1.2.0 - some specfile changes (initddir -> initrddir, header)/bin/sh/bin/sh/bin/sh/bin/shlamb09 1525645671 2.4.4-lp150.3.12.4.4-lp150.3.12.4.4-lp150.3.1qdevicenetcorosync-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.opensuse.org/openSUSE:Leap:15.0/standard/f6a5d375b2037861be363c10cb89956d-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, for GNU/Linux 3.2.0, BuildID[sha1]=3ccb230f0ff5d2bb43ef100416503678ee0aec3f, 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, for GNU/Linux 3.2.0, BuildID[sha1]=77d5baeff26dcda0d2f686257403590643237e73, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRRRR RR R R R RRRRRRRRRRRR R R RRR~FO(q^utf-8d546b60b81eb6bc66d5b1f6778e351d09f55c329147ff124dd0841f6c4073315?7zXZ !t/\] crt:bLL ~ǽ,/?t6Q ,;ߨ :DSeHcG@ͮ>jrƧ=xVغzOf 4zbJk@?rUC]=FW0}9/Xݟk-D1/63Dz56fvL a 5HմG ?XKQ&aZ%\ SHva YZ D~C/Ualy^PY@3q_'c)cؐNox1hZC );+|ŻIK$Ysn|kM ?"1]9WR bS.a7F/>sՔ&K ,̽EU6M灾 E&GxƹQ1ZA~ D jЌ/ L]B/:+{=g L.`[_jk.n~oO$e"v7gļPYBn@9f u1>CM/mgJVCo_SY|$t0k_=Q̯ۨC?puOPݖ]!t1j$V r?g:o +(-`^-?ZxKP-yiF#BV 5t4_q?ۻf:i_[X>*'?ib!d"ƪrvv#6iێrQGjOkڴ#yqn?dب~8c؁`i/{vXӴK\RuWMyOIie?V yV9}jQ͢.vL*ڐ aj; ;ޛ4[g‘'^DGF*^v:]С(2Ȑ}st,uѳ%s]Nųr-b[l >ŨXDDlFҗ2b7{n|,uMD^t+Ufv`Vyd*Jn*X/K\^TM#BK.R,Bܔ;]rpa*7e~T ʹ*׫IgsBR0(ͮ+tްTG~ |>Zѫ2\<# qL)oZ!^U &gJzlVՁM'p#ʼ$pT % I"152@~J<aGҭ!κ+Nebg̮9auXd;٦*>z` Ή]+( Y*.u&5{pVbE4SIRā  Jb1&RYA]]uśH`7n/E5JYxPt_Z>z/9\UK"5HGw$5׏ `,޶ZAEr Z֢g;~AVr1NhoUP8.oAvvGIEOл"h}YL)%KצR=vu\).{ͪ a;OQ6n) àc_uގ=:[I@h  F.'&#7q53L{򣝴ۇu-J_CP Dy(Ic1J\P8NҰ;t?*nq@Q9GUIY/1d4!y9tLf`Lyp V k?yv [9.$=O?hPoҡ$ۜ=wXF36& j}^l.I*$d't++'6:2VB9 {uSIbR^vvZ^a@ݪpñ#+T2PЫָal 4r|!5aBr_uo ^['` hfb&r کp+35d؁wMr2fS=kͧZ$%Ukir|8xi[ p5>$KJ7 ͦץQ8 oA?D qյu꾔ӍM]'9/+=vGUҫ/i]"0 mhE:GGűO8h^ʶ=/zKw -iYgkqY\W ~u%i > N05`xʩRsOXCexCWkL 0sG Gb£s+V<IAX)r㍗m\Ӯ^Vc-JIgXLgxEɇ)wPo8\ ep^HFĐ6 jZʊn^rTbQ*ͦ W6&i$)U()Z}'5ADp?dG ,ӆHJ#EZ&T[bq@db~)o Ewa^Q|̀nWW 'n߱;]o1jd#2OF+?;nlzu';1RA"i< 2]E;{h8n5LI*NA5Z.:gAV@IƫYFTݖ!鋹[Fkktם̓YCZcj)QYcNL6p٨ |1dhLƘkG,&$jRfQl:vL=93I'Hn[`)UL|g^kCN&8LQ<_,a3&ZǼV16 2id'xc?n;Ԧhgϸ˽h3;^V%_>Y-GSON= ?*wݮ1O,wSo) S4}*1p3rAWe_A 7,rk'DP:9ݵ1R <=BP|zlwD\~ZΦ{;LGnCv+xOJݥXUs. 93o g1)/prj>zp;Gc>pkV}C /# 0JzѪEcc2 ڕT fSZP@BÐzZ0 /4o\ѫnZ-wlPy,v,IRGh$Y`7]v5p]+ecL{_@ObS2oeW G7u/k&YZJ;/wj` n"1Ȥnp1D@s:F9[uP!^H:HkR4j|K%.pײHdlX/ˠ/Ξl A`\cP wgut!-p_1(t9 t~R%Eyfsn/>>'1Ɇ͒$TbY(#DuK{/b`':u4x$l6i7*c!i!C4SGe631Y6Qp $un˯IE ncw _8;aهOꏶ?!1YzsutD9|23*ufDcˈD8wgf:ʴy,\O${LÞ۠ Laƭ_ͳ~RxUojd< O VK-fq֎eꞜ3Kxl,^2r/tނb5ΧZ'ىy2^H|=\Xd7L`SE)s%CMn͕<,\#O޴:S&W Q:4kE_ x<0IS,C Gmf>q86U~,R,ZA-(xje.Pc!OV[R2lԍ֥O%Q-g+qP7_*ѳt̮c D{A4b:[6=j"O\t,WIx܀s|Q8뇄 lڄr)JGI8V %Z_Ew h%x86'@'ƍP#+Nc[$[Xܣ(z0C8ik,ʷD ;׶dS@E_>1 m,Y|!@i!kn9 4x脨6cD+86+u %Xsa$[s o6es]04@W4:#{u/ .۩7QR;sF*.s p .=Xqi몲HbNXT\P0ӌ=T]G(8M˵B9c%VVz!ODHw70ꌵdS$i0бFXa}C,πv*'B),5?Bd%6¯ƕHp߂62p'*ۅ F٠tsr,;$䘖&ӭE'Xd|QYlɤ9(0ʹIS}g[!M&$E孔$%b2m5ۆWU3$y=vY H@ckE f6T/*g>۞|@'LOFӪ>"͛кc`rʟ3$Է V-k\5-X1I m*}=yP(-yEvWf YgSyd>O9 bX WkЧxL?ኔ\<?A{{1n2Tq“ @FZWc+1 7ʹ&!O"ģ,=[hyk h i,8l5?/^ŒL摁U߃j=vlAknlcE=C0I&^_5,n EL~lY&.RYOyLhZ,XՇl$*젂7M(#;]h%-I=TQ$ & V!Z՜+ek$ O+EԒQ)|mTzdz¶,wKLc)b:'W킿W A­Gɷ~12$Bi{@sNM8'KpY&[|ߨp/:3zn=w(F;jU<[#p.LH˝o)k8 tu#S{RPd3޹HlОGf\t/cepƦRkf]JbUO`Ъq!ffP$a[ ]!7I02/CRJ\ؐ Y2ݳɱ>z5R49dl3,7z5 `Q9[9vrJB> Vhk;DXoXrڧhwj-rxxF IKQrVd[ja,rRcpu 0.b%mf:]J"Yŧ[>0&V]_l>>jpf޿H?IkTSEOވOS]D~~2`qOjɝ|~\56=gu}Ew}}J.n(1I=8d|ZMv_/ޯu3_S /1G΅k$*pepn.MlR(t8MelbO 橶NW&UϿ6=3xrpCmK3_ZL̐@ 8x-&)d '%9"%7&q.08M?1v㨐̸.=LJqciPW* ;m-8h4Qpc#B.QS8-8#&}!HB}l re}΀ |HTEZ w_ΦI_){) Y6Vs(*xTƯe,ֶhOSHPnrw ~J %ژi\rō+}'&] ֶ}#B=@K_S~շ:K-5r@wfwi$Kn-l${ bV<tG C)ODń{,fƫt7M`|l9r`ܓb5 dAs Gj\=1Qs f/":뵞"1)V&bZ._.luI"}]2;yێvnt(jϗn~[IBƍ׫ؼ̌S 0m+`58*V8z|3[i_EI집D$v~M{, :,aR[4- .ouXJٝibtθk['c1&*5xׅfJ O60k@)9)"n" #[,},CO ?]vZꩱ0UPΝԯX +n2iKS⬶ve59kw*!v*#"o:VF0xDB`x.kP ;]̚w8v͌? *҉Z%+o^ Po1U/g/1w4SEW6yXJeTmln%#`k3V^2_r6L:wY&ܑ΀n϶dN)o8lo)p3 ky#-Dtotl' C,)c=8҂QHbg O}[2'4^lk1[ބBC:H6#@DIXo-$N2L>̇Cpl7Bg\[OpM.DY/laRL<";wɵ cYqӃq`E,k8m+L{f$čycLނLF)xg΃yeX!#5@[k5p۽4)fEC~5's u2ֺpr0g\7oXHm%ڙ#1h Ԯ͛hFMTr%ʣKg syfÑ]:j 4x{0?I=3 j_P:z^#sW[!--֨# >Ifml"?Hs¿2}c6\-GK봞˪J]QǢX!eQ9~p_G"p )bn7K༇wĵAR1DUǠ:m0 (" })EkqC PYLnY N% =>u.TJ0I(KB漌2c;ATD2/hFir254ןJDz0i$t>{Tx*9Sdn=;PrS_x0UdA|w #;!c饘?v/$f+NZR5J@OC>dۓlyǮU'=ؚv0_΢~ K W̄73-q L>jL8PIMt^it[C. n+Hʼ4 Jg'[&:+ψd^>'lKzhI&| Vƣ*<̍-;,g/:TKct}5^vI@6/wO ̙F:"fql|OܸV+γzG>p}1"ة~ڗ$EZIͩM;-pb΍)D!~>qlԗv)H:Øllq&b"%V15L<ޠx\:|uVR.{־Ɍ&_Ѻf/aْ̓OWtyfJH P83e[Zhq}T|S>1|]jOrNw`*b6[_Q*$uh{B6L@a]Ak`u f]˯_W%TO*9!3㓊l-ϗh)dBz^=׃Cސl'tB?h1:}76`13+P~lRD` CsEO" *W&W!8ihs=ԓRVE$Ͼsx6gR$:TR&Fgy˂&~S X 3 ' 7 ɝ.A^|Q1M\'./Tw\졩,F݆ H Wo~"k5zJJ缞|Y p"t*^".$ j%=ImϜ>=4 CQV]IzC&K>%g~w0w/3qa~%T6Tb S(賯M怖)ZჁOɳ~q[@3v@Z[њ8~LnŐuPbbŸ2o4u(|"Wo>J@6vYՆI]4w&/6 P}2.cfJpڬ3@7cFpxi]D<0@b3MXx$wYhv0#9)> q\H|S"d ŵ™:sM4:H# {pn|B e=oы$$#\kTΝ{FO]B3:0}nJιj7ؼa߳j*@wcM/o'OPIӺeJFP`Çr}u1T50ًvY+Tٮmث9+S ux{o [%^k:[3h!/*Vͮ}[PfUHtK 5*W^)S< 7@ l{VR\<ŞZ 1ڲO9.l@~[|Fo.mwx.TLk//q 6|z^~MJnwuHuQd}!eVYB컵%uɔ ԊZ?] [sbvA,8f^Mς|DYdjqޠ)[Bd$ZdcVvgf6(/gBj}iu<w==jN類cߒj46]7\0ˆőZ0tY6Dt_rVǷNj 0-eZ#iooP C^N{,K?d;eY‘2J`3\ZU`y}|5L{{vєvoT;SbHM~mK]8MPo NL'pc1OjPlK4feU׹7j.:W8r *Z6 nã7ݔ1'_)m])$Ey*+k.Ņ_qKD`BF`:VW=H'_sa_[qqMtC %{ntE`3pMRQKsgLmCX6jt4NFiV?d9/۠Y ^>8+[U {A>3Fm/sT5E{Xr`ߙC؏$\zQ[rT݁K`_&F_ua )Me§˅^x,NLcF% 5v]=E6mWuxsdO%it9zPE0)*XTcΚj#t%Fׄ+`W3ΎʣXzV*n_X@YY>sƗL&.;} -%PT5VPJϟ40pfjDE+&-D<'_k c! $7zrKumLMU A7>d4@'Oלf7{t,c3ȗ:-QaBO;b6''xcfq0MKU, <Ј8kt狒QI@>ًE%eޟ$^v3a5VDu>RM}-%jY~lK=%>5q~ 5rƶfA+lB'0:E☥' dvߩDJ(S;ƦG#IP%~ѡ_߈{RΎ>c6͒p`61 @<8BCX%ZqnV\n | PIk_bᦚXhS"!y<}Klܲ[ s'|::0v qq}NNez;,NJL޾2\֙ͱgX-X:X) ,ԿrJ8KKÂ(QR)jd?x蛖O_"ể:d#ȴF'&8.,mv1<>'~mQFӘ =D,m Cड]o6E"΁7ݞ 2S15G:8 Kl&Gop=% [haWN=:%~ )]U ^3!=q9mSBLi;RN|(_ FyݴNfL/SXwk:ʍE%qP/>#N)j^WLPɌH˯6ԛSLGFnKx:4pzavPFI2JXrDMf0t8Q6ΞYt̞5W-z PIE-e>׉!+p| =D$K:G6GQ1;Q?ߤ#$(0Tz98~t#h=pKl .Et*ml 8C 5Ǡ|3ѓ#Gޢ+N_ԣNk!%@LE78. <& !8Bx@;#"߇xYU^3q|%]}+MzhB]=OW\@.JzqKfMQj_V"ev{/Jlk\*3cON:Ҟγtds.\[,3\W GO{F܉G`^5M`ISyIVָ 2M68B(+irQ]yߍi#ٙ0A񨘋.X9Bğ?Sn1QLXguYgc!~(36$Fx' ̚}CŝTajŠǠo\ ?բ?'0mNm+S>)d;kE7JȲrC#Vn,M0#Hpf[Gh' ]o3 bZ?h>s="<\w2W/9Zԍڝi}鬄JdsҾXƋ`y"oܼ `,&9zmktߊFHR`̞Ngh_E$fM|̂Osohˮ& '6f%Cu4v;DDGVVkhk7$biu &k?+R獹[݄G Oc_H:W8p%Jj-U%zeϸ @-+JDi5:qp.(e\?u@g5'``fn~BgU6ķ4:#|$`M E@?㘾8Xy_e2>?Om?PyNtr#PWo1Ni&WRBme_wE2M2@i.mq@n`ͦj;H $Q|v("hȊ& &V$XeAx״UY ZwYUt}9*E& 9+bδ'xF QfAYxY#Rtq#p{X :B' wp&D GB NT0N1$J<ẝ_坺XCXo7qɹ|qU&">S){%٘Y~6~!ܵDa c2w QTRpC: G Í8/ 34Y|8B6|tK`ڸ}I3ttX[Wfz'ۅ2/R%)8Mm/N m Fڭ npҢ>6Ɋט9$ =X駳7$Jdj^#@!W"mA ~ \qWP[6{ 8#>)i+I^Xtl=UD\GjZQM):%0چ*?+rhSi;sRR܈uO/OdEv@%g'!Pʈ, _2"^ڜ@QHk~vְKh=eO\ewq;<sLcIkfƍL(0X\EMªm{7+zM+Tvv>8YWg.ip,vSݧK|> yS#Ӏo=EhW#QTwB]4ӊ^9zԈE@XzԡϏvye%Myױ3S!#c [>؋y϶ q9FKB`wpl% SP3fFdz7 4xd+}h:)"vsJtԠ^I61>*n2pM?C!Ͱ}l1ڣe2)Lb K3vO5V]~R Sv(5q``Tg0*4ej^[Z8[xI[3Ǻ%T1!ZGl%/|*,~%kxqs8퐂i FVƺ9ovdݨ EqlЮӅ! $⃵&THrub?膱XvLUTӵ*W %eTRo^R(pʵ@6!GuP4g_}R;f _$ *Mj7uڬ0ȯbuxN0jJfBJB#5.9thpEx`^13oF Z.nVדwL)Qv "}ɞ3#psbOk;yF|ǿr(3ah`<0<VrMj^ BL͆)?KJ@~m)0ېH+`FW}Φd@5&u3#[Z{n1 !w;~7[ 1,s0zC{WMO($r)qAv!"jU,+9܍Ae-7iBM+X$;L0kkbo"u^FPE/]Cb89h"KXa9UZ[ŭOOPRr0n`$"CkuH=ʶ:+fɵm'/6USzRA/c9•MF/C .U7 _Yvd}ۄݩN#޼|$Q&ī#դ$? Y>ʔN퀔f[z_Ԗގ5 UxNjY2{o|&bi=1Al>j| HuX.cCѡB;nؤM.ad|oIۘ(8t.P0ڞMt?P~8W0 놛$f++h* #>\|;U"\C*_WB^p\ $"0NTaK )h3OoD:&rjA{W50{ usH]@VvSq|[D'%Rmj &3@F muF*V>כq?WԤ*i3zPR䥚lD̯y!;lluav=f_3ܫ 3}pܳ%=be#1x_L&溔[&y._oPOJI$|Y wRJΜĦG. lF19~ (#YdːH׻3t?lV?˄K>U-TqY)r"]-S!!(_n' 4<9tb#QH8䂋 XUXkk8" -C༲1袛Aiчpb,m׋w&_4Ho \9zrFHOF8^7!$ߐ)M>JTOQmռ5Q-·N y2T8{rNTDi{oo"oL I 9`/Qnwcf#&YFY)-cemPV7?.@4e{z "M9IƔk]tÿä}Thc%K" 9&A' !tB.Hn{cK Ȳ߆es4j &THQ/iA8)@͍o{i[50uhZ/i/}m*%23 3ᔂg*$9ـjh1mS6KA tȏkL=$PYM9v; ߦ+n:9Ҟxxd+5z6XfO6SYv"cCSו!'rH;'9j%UInZ2h`E>.*y*wM_%3cVr =-7!̆SU+zd嗩r~Brw<ԝ-5Wvܥ*gŻaɋ +#X[11 F?| RBs2z3@˵\lx_}Yu6Kh(ǑxB+y5_)o<"MDJH͏EsEl=iذm9K' eK&6ϔ8ӣшj]E`2m$ ]Y3؜9:d_4 Yv?(UI @));q{Y2AC[O[VzS⣀!Zu)kiU&< SX*[ ط۫G>ЏC)CԊD56KZkW_/|"Qjltf rYo|@*{694Al!WyGnt^W(RLB鋊طe$ ̓'iV !~BvJ߁KVixpq2NwtR Ⱥb/m b2;pD]Ҧ mhY2{7(YoUB:?fq/ |D/׵~g%Vx``]CDZnIR'HԘ+{]N48Y߃A[Lwl p/S[HZ|Āk?\(.#3=i! ˬLZI? dHcDHc Kሕ+gs`у2NP锼sH $C~Y Ie/¢7^lټX8j;fn`Pe7&Qxat [ɭ_!O<X#f@z0"Rȉf⊍5jCXDNbL"t=tx z0;a~VD :w |qR3#VuO2My)wI]aNmw5#3hxcqnl q~ (|J;D:!76u/r(XY"]k@˪=fP؋m}Y ^iɷ*s"{xk8"ڋU#$l_.r_L!0s1fcl;K=ND# RPC&%)% fT#^BREV5$ieŶ`x)cn;rq;{H(y"}s=$w10z))DLM5FrbmL|6EJl}>#8kTQ:Q_X d}m0l_ir|Y8:kkҬ*->5l5٣/ٍqdA9r,pGM l.Ea%0dqRZϝaB'MAW:]ӕܒgE+3^ٻ ""s@|[4.S qLO9/Y8XD^:[[H'GWjdp:ጸ7}PmOJD[LX9#OP= jP'_+pN J^%cubLhrKME ]x6 SGQO;/g2[Z&0.YB5  he~4$>0.m&AdXmB5VvW$Uafv^wEu^?'$⒆(4k=L6lJm DcyUFGWq^Z5z:Vmn <1tdT^(? z1ry6d)t&%P?ƙ&ǧKэl$fx%*" 丌JLMks$36kڱn2]砭uC4Bb(š6 AƖphnD&6t?z+NIiٓ-*BCx k];iݎ*5Æ0Gh Y=;"wWWG)p9Q7RK6YMٝY*M0וABS@Am ,m>`ƔMFjA[>d$;aJY D)Z0vzʑ?vp]بp5Y]^+1}\5Ы߽+j#-~¼kCi#,G{)[^G wK<,B]N[l[%]^eCQ;| =.xsKaYh/C>d$'ycUb:q7ڮRF LeDj|xO):ĺQuC`f7/okܬ/ۨڍmvmS7h*XOulUU TON|Et7]8zoC(1S\Ѽn` o%̮1ܵr7z'L\p n@}isI]1.\& wg+H޻F^DAY5`)YOm#S"8CWϚ/uiXP%_] Ę;Vhm>$#'{fzQ|b\o ʮzr)OH'~][:*i x@P]!3 'Gt:Hn`O/Qe!  +'Qsbt )R*J x[?-sn]PIJ̚&JdKyK*e̔a7p!ߕܽw;A͝\APVgXS?L戍d?m:n}}Ny0$Jr%,X|KL@. %Jx(~mf_q05vdzL5C@ }7lC~;T3tMv ߄9-;dQa۶3qRt+ʂw1a'E,~>EAgR{.?qJZ1,ǚ|MM2ڜ9_8~ idu1:\#A o^_pWsmҦSȷ6|(u:fT5r@&ż┅%Cau+vm7.H*R{EY̻HZ=Ln۟9:kv=p̬[aq9B$ ;O=)?jj@X~w7oK=xE9+V,En$MtV/}ױ9쉈!`*c3G>0 [eUTjb[֩Bu`;n)~l['yDy4AsxXsҕ6z e~9X5]rC':JDCGM߽#Zlg>qBḢhɉ>DFu@s1٢(/M騯uT!X^2E@9_)W\xw"G Cވ[ vXBY}~oYW5^tWi?؂#m pܧ5Z/~kSVpDQv!F(r a5+ qiF?]Êhg<_S6 ;F"@YwEq]M:}:K43^4faZ@qNB7"-& b VCXaX܃?Cˆ 'Gu$OxY^@)ٚWUr9D5̙wndpyfNjڭ;#5"/b;yXsD8"LfyQi.$}~5jbII]3vQ.C*mfPZ2P߇ˁ/rYN s'cn_uakt-ҏL5{~8B{zn]cL裚qUnTa6Xac 4d3IiK5l,AuKl 'f#4ᖛIƶ@3rAQrP]v@mzĎmEPp9(/ɔwz We>?*ˀXc1#[ ܹQG*v1 >zXhnlN Ōuا6Q.Ŀ=l.a." <{EB]XiLC=!Kay)% wpRP`|_H0Ќ.!PIs/n#vjp-Ot /Œb-y1ׇ8lك<"_xok)Ag}·j#v'yҟ& pV.YH_"\O~ifN%iG^Ahd/:`KR#|3r7ۙ\NJmFPE6dnF1zaLKc MQ(̭ohwfJ7E!NMGIZ Ӹ `MTic2 =?"{P簛eXkQ ƨpa"B U:pV͖fJt`&3k|қK Z!K$=El.ϟtĎUH攩MQpD%[4 ,AgMvZIi?DHEU', U 6ZՉ+$_|q?742X)zp$ tY7m~ɞ6}֝4'@kIx5ɺ̞h`_qKEOxOPKåE~t̡\'$ SF.N ۦSM `0_B8돪P|_\փ*/lœ eC}xCRB`)#czEG1_G+2阂m z&zX;|cInwݢgZ msp*Ix#f!@w3K<řH45f.ۭ2=9 SKqZXXZ3.O.$|rSwrT5bˤ&+Gzu;``ޙl1L]oIGtLJƚ׈ֿ?N@zɬ)'cTo2+@k͘ZAa'EROF%8SQCɩV2G 4.ͬ܆O j Sgc-1}6^D$R{As i8NE> Ug]{( .Tu9 p4ɉcG|SkS3aa1!"`Ht\=?92$\(эߞxhS@넕:Kǜfp}Q)=uag54%6#(p)uw } omI 9c>GsQe#4kepWs 2ەT Hc_%ffuYH*2k]#`P+WLPg+jВ_)a8yA? )o5cM+9C FVk@w r;(@\VrIHJtu$ SZN$. ?D_vmrUZ%vŸۯpPVK *2yӖWnގ$'Sz_i)i\E{l:eRMjf.i3J'B5 8gl`"崮3yYJUNh;y\ైH:Hպc:O&g-k Q2?Aak6j+2i[aB%Rt)芴F4BZsN:}{˂B2M?Q'~;_!b@6?C-leC̓ WL%$#JM7PcmjLڸWh}{dz%TpUğM#?6> b'yA 1 0{Bnk-`"'GK/qI뛌ed:"gOp{ ϻ/dҠ~T陞wM:=f)^مB= x$JV\u 5Tt-ov1~za8=-+-F%8X=36[BYJȶ,_- 8 PhgƠ(Q_y0x6ڧv; BTXNu_Ę"HɨB;=Q@a+BLՐ;7P^2i"Q&- ß~r}h1;ڙP*Xk]yَ"-c+.Ĉu3 {[tب=5*vZp/=y#iKxɍ`Y&ٌFl@UvGVS=%s :N(@PsrbٹT>]LhuąL6^]Rt_W9HHۥ}ကLD.܄5hߑ,`/FA`,'Nw(-20p_NLXG z}4nH슬u&͜ہ=4h&!#_tk(ffza?Kjlq#r4E5>C~QyH&moɳ<ȾW~FƢIUtpuc_0"\f-f\J?}ADA`MmuLj xzWe.N Lp+ yB9@$c6XaS\O1}6%&*:=2z<#l6i2RZfD5#PeJ?BdJ%6T+;/& MĚvf"/f&Yi絕)[}Opya|j~ teŚ״(b^6|$HJױ'Ɛ[x8ڢNI֜7ƌ,plN"3B^e\Ri"G5+%bn|,vW+l\V*Z$vP {ogK1Y/CRI:(jHZ?gȅ5\(BYgZ殊ƷmbS"7VF`W;W*:,Uƙn|Jh_9P2|֭`ֲvf a(-Aʻ礴e_;@R,HF1xkEV)Pb1cC)m6GUx YbyS $usv)^F!>{ !UZ@ u#P8{=FE;vfl;uɆr򳨹Cdoo-f>u|ߛٺp[~џwQ/$PYֺLCC{U{' 6AfMuF:BuNJqH%m&r$FA- GqFX-6 &AűT˃ yJ8YS{z %J.~@)N7ëHr6ӷx6Xd}q~Lqł^]4b/~A7pBx֗TESp)@k>3)s: E"2]Aޮ5 yDzE" MPP t`&iw U-dw`VpL0rR.D(^}8#X>h/'NQT.L%T %E*WPI3*^geM\&8__BɌ'-'+8o E&!!(V3X&mF+"-Dۛbz$z=t7à3N L 4(%\CX#jkJ&,\BT_doA)`Se/x/[L@RP1^^AlBZkWBM~eqƂ}N;Ixs?$x?6@(mdt -f#(66YT@|MܟJG2tg!m0FP"{VwXzkq;ND6tLUV?I , z?vClO;,P`$W,چx].ƀ1Gq\@u^cnL+z0U$ $5 &݄:+IX=%(Ѿ虘"htM1dd+<4]b O}/[Z03~!z$ _ p܁q[7gŇ=闓^&Ӳ $#hW<0ɽ\pB 4CXHt>#aNMznB7 D/{2?5/=JC @*dh Drzv Q?_ #v.1` ï㰴%yu_[Uc_mswmʨK֯ D< %b˓8,g@ʠwu 5 "ܴ5dXl,˜kC+^pQj`ߙ3_ی fR~`{QcŻ~9tJ >;u'z416 /xnrg: K=š y8ϯ:H:)ߤs6ś{k,d(I] ՜@_UmX JeppڑOkBo?skמK`2vǣ.gcE>wct!FmYd7xp*F@5F>CG !*cT?q WG*> 7k? B&~o+W " &؇EU$ϛr`s2sAlpS%R,D&Y"(*#law ʴy&c*8{W_p C``z²&ڋ*^OB uW~e m BypT{cr~Ęٮ/LŻMn\.[VKVCF\?-J:k+7}w&k{"g~|2+hxR`Ex+:)fșR`fz8n=Z<.Ϊ義doyyj̫xmcXyK( A@CBqYˊ1}tF ܪ,W}6{N.(NWfK)hu_(ottvN*˫'bQi\}ϳmlxEH4t~M<iNͧ'\nGi,/8csDoWt˭C GBk 1 P97|/18f" vDWjәƪmҪ̳#>"TY(I&ZΗa2L2J鏺fs׿zȪa2)hSNF+ 1ԕG8Qtܾ"HD\׺.8]ND3վxkGh譅5-U%j*1yǐL}Vb#/]Qsm(=Ҹ^5i|j9rdoX[p6Hb%C&r5HvC?PqO0[GZy4Z=h6_gv<ڛhpjs ,H?{FQF-;NE)=U^IZR-.N1SQZ*lh;eb,Fe )6!Fg mL׺M ^KkӧI`TѰkؗO~Sx%X{:ĝO\>Wi خv}֢f1lj/Dn  AVy@zJeR?4Tm9>/xFӼkRW9u0H6y_<^s;2/WGFCI*f/zԷ!z 0g0'˝-Yulbv7!Pw"6o")rUT \.AyشMz@~ECZb vlhH{eqfs%,ئM>`7Gc }?en[NgfKsY۰Z:0eu?}UwE[}ީ>Mv7LbvdK$`g~%&֝J^t~Ձ`ּ~rЫ,t!'Hfbf8_@Gɠ=]W/DA|0ÄZGoFnSA'7aUR[`O"Pc +)9go.\?$6:BjlacOW1KTw^K)tg6;e'&ߵt#pRa~_48O3Nni3Eڀԍ-㑷XBRyVv1u9_Nb &m^K6P3*X1P#/qw޲ ՉyLыa~C걹x$:6^_r+ښ}@C PV.LA@Bo̗f `Ēқ6Ys 4 A2՞gw)t,~k )CFJm u,b44 ',q,dĥ Iz І׊̌kȇg;az(tOaͩ)!&BF]|l%X{ C.RyJJwd6XNFt\p:ݷSŎhVdoJ!<m$ӸU>TU:y3MdV J6 [X4h ɹTfշ$s+m ~+D7Fr8K@vO+ Mѐ s$V&@*JsRS# \iݮLR:#|!#t]U~W'۪.ţElUZ&X n j4P8$E@u2(j.F~YoҐ (o|-! #ѡvSØɄz&vşz7nU 0ByRm%;q(mwT\ށSa ʈRsU|I8ҝSSB}IO׆cktl_kO֍k2LMs E٩޵O ErRhg<-c%ew~h4SBx:se GGADq w3L6=4k`h$YNEyAM0 1*5LNKsQ*Ɖqj)2H ޙsa5Mw. c(M6z9~Dqv(=Sx8UQ5ZeO '7"˛&!MJ5űefyz(؍W4J$D5DaܷdykGuG±@ b{B9֒1kn8Nytr 2='>zB>Ŗz̭gj$u9܍KQf!õ':W3usm+p@[5T6i-0` ӭlBy ~ƴ␲Z2UpN%Ue[?kik2'Cb󶰈2΍sI݉rL`c vey)g|rFRZ7L_n#@H K6l$[+D8#;kR|c?kDK0Űp8<4oL3w@ʦ8T`[ K9n MȨ>}:SO*Ӿ=V"x<l1 D:!(͡i:5Pݿ|&)xFxG܀ikYSrَȿ^e{5lʡo݉gm,FskYDGhUY1(\$;r5v-7Ŕ,UW,rNptp4 ttFyne{OhmFM1+a8n%._E'*ʙ4;_hR |mu3-Op{"X҉$&c@XGM4i ܔWA?ƧUGɓUEn CS q٭)(@ +x~L1X?Y̧w%mf%< Xx'jx|D.*+Y&\Ye|z#J/N8why󀈦D{nHӦYWE,EY>%-4 G7[UUъ ;r̉B,API'_O𲗸ѭCdHGaJ+*¶]J)q>Xޞ7-)&U \] Ng')D"F%2Ĥ- =u,`[]&1mHSŮ;\)7HSrKClZ':mά Y؞OEZi.nMV8eCk(XᨙPh~%I5HUXPS/N7sbW }&÷HL62"&w \iULy<pk7{n*/mj;x~i=D2) YѬ*KYJ h : K_H쯙_$. N$~+_=/؏s)ZpAkc)ih՛d ]W#58I aAV60H R#ܹc,W:ڝq<YG҄UGPջpn m9 s] ŊltnWPAR~Muف(t0G $;jn~KixXiɯ1,[ r:f1lU/do0͜[!Ƣopcf,5 #W#ѵL!*[/'j:_D}C\ J*$T9IyI? BcX`XhdZCIT<3qEFBѡ=uo`4RLH)5 |7z.dc<ȧ£9YxxH`7T.YaYr G]*XI.xJl05mSYbȜy?k@?Hƾ齽j[AiZhoōoYfL`r˭\{Gx?WB98{pnXabUyHKep#xut#ėʹrrqYS꿮m' }~{l1? BLE-;.2pjfvrWCulk;Эcdco I( szyqc"; g_-|@kV$pA̷'aVFpwfcۑYњڅl2tG(4")ēav )j>j]2AۛJoC}~'G B0 ,%e+tҫ!sh(ȹF"y;oLT[\]їq ,) k0+τR~H4(i U警iNKsJ,zBLeڜ\3qy/jN$R%2$NHn9_{YlE'eÅCH9OJxS"[+ƒD]Dd8dB܋B# 4f^ 2@kBo'S*V&M4PY'+ɽ K+FA;(HB(D2\FU?D9hB2Ŋ<2֮ܥ"D\WוxUSB>-ǬL±lF_dr([W Pe8wl $y7eۤ*z!Ӭ ݕw`b 2zO[hBü5VRvU,5I啰Ubkm>ēV^#RZ2n\jj>c{߱_5.|GNSZX9UA/r7 [$X57/x;]8Δ7m%{ZR\gʛ˅BYe OxGRr  }?R.y BVwSrwaQ!Ƈ,#dj`?JŒY$'兢V0YSgmG)@ЯXGvvj*LGjƍ]佔F *RXf0.~,HM 7Be0-Q.9kw'y+ӓ<^H˹` .K?؋cxM~p "T:B BFq`觵L.ɫ$k^bx-yDx_cH1Uŷ`'լ+U iի=daZv/p`X=e&dCxA?pQ8oj93F ߥ,HQD(Utqk٣YW3uLO?\sc R]wpZg(*OUq$ܣF>a5J'qa7+)|T!Y~/^H8M^5vzcȥ>T(ٹZz! Ҵݒn1\c-5eeBhɐq4@(/__XrΘ.Bf'&ʩxaN.6R+FW͸29k6eJswλ3i4=ě>iIgii틘ɋאj=KI]KJ葆&v0=MQS d8 rp!?Umy}gdl)"N#۵IN6;53c]ICIL6]VQʂY72͉ 3GNm<*?m{C tm (PeHU3C&1u\9t_k~8^sʴ%hA!u%˫dJAD=XuTW3}_Zbڂ.;(ShE@Ook5}1$$w*@(r":@|6 ͭX^i52(r$ˀm+`Kф̽5m%xIZש: R<IVe6w0*>U0o CG#u3]JIq7PᙙL-^Vn1dɆ$X0@!>DGnD dqEK*Lpͪ剆|5#Y8P<-dß'@=:Q pƒI⤑ew_tⲡ!]\`|W*8Sb~N/T8Koc`^C57Nýܦ8Jz,;XFM&l6%i. <>nGdL'5 ù8-5adⰭ"r=AvR3Fܠ Z#4 |h2\ حQ0P5$TBL_JӟLI3H 6: F﹩pX3E4_֔_;!*T'slbx;0.OgBV]Cb6fbIr(BFpe2ЉXiJ[S:o*VbSJ%2a?bu*T?V7GQedX+0,)2?YsdE 2N[dZo\pp?FwV /n] e-ZGbfc8~ :MiyУ.^DHYEu*2[og\PCݙqfzpQqy+V15"E0$_/4~AM[%/Б=Rɣ7+wR-S۟ݘg4t|' N2jF_?_|*)2*3#jmlnMVgc1V'Z *R@0>E8p(mwT8v\x$$S#/TOש|XZM24rZbouXLs)c_/-iQQ0g1@fG whȉi-fGBo" }C61Z6Qug$xnɳNx3cI*Ų/ܢ/g'$%{”Lը5Ls%a`Wغ[J^| j]*I; m5E T:2+@<񼀋e6qW#9t~8tM -u/|X'J05[8mЛfFJbK)u(~ %J㑿3C.R5̖$\ܷZ&#;@@̅qt҂6'3D8lyFj> ઇBǼ#U؛0Ta蕉|"޵GB$w0ސX&d>^Țb$h(gw2Q ʊgEMCb<]DR{CtNf{T,W GMv jD4.!̡ h Sg ˬE+,B8.D}kd&1i*Q`>ƃ󐌬/ri0NLԵm7{SKWW -E,G< NM/(%+$Q!G ^O%GTφݖ2P&EHA8`H^z^،HO65cI rQei γ,IDJc\2o$ćW!倱1N -\ϡ\Bv*ۻN?C$P.m+ U/W j<@Vs:;+ O[ U<%m[J5^`߫HN\? 3̼\?;/19AvT=e:b!1pߗto WPtoL QSI`z9na7)$.#ZWB2<] ~72Kaʘ3W!4_x$ri[-$#Vc38Du@:a(,;p|_.|^SSj%`bI%l/wl i;r/`LDtꀆ} =T,>t/ t9E`|~rn,d4Q?ϧ-e}z)AZ9[XH +=xg(356qSk[Ǵ҃"aZ0w~b6$=: QMkrX,}h ݇IT'^%w8㞯L,+bY,<-{*lx\' ;7f~% ٕw3Vr tNjdӥ@r" =y[L9;I}L24d8Jy,}UtKD1?ߣ_}s5J&;VDZJ; 0;Ol̸CsƞKP(_\צXUI<D]FE [f+'//4G:1&Zś\$= ~k;ܴAW2)/:r2S6/Ey./,V\ qVXW#'$[ U):m@͸nZRE]g6Zo ɀ0.'to7:8-Ҕd{3Ac W^K!Hs ='ێI Dkj2ԑk+DJ&#e؃lvȍ)mQG 6Rh% 94DL^wv2rWP.0+}kvutɅY'#mWAåi|Cs gf8-ȅ-lg$^dNS1vƋ_"?A) H&h 30j]1~/`c*Tk+u|qn acW{[xA9J[Zaѵ_3kUDгg[':G64P6KLIj5an6?Ɗkm"_"9jAɟ,L,}!ۑvm _P9EqBKL‘ 򆺂ągd\zo^ˣ݋$a;N&"a#l{fc{Bu_ V7p^*f9MqhQଋ~hI~a/DU_F 1i%9@^kEu6GG!M;.+ovK éniboK.mE 5 4C&g3ߵ7Et'` Xi8`f iվOqX' ,Sħl~S`@ 9+I+R$ڛ 6r톌_,A(vZ ֊(Yr}@Ʈb/61wBJ{89AM@Uܣc4b2jŰ%=;KjxgrfAL*|?nf!PʖRfnΊOz [}_4Egh8gWGDEE{+wLRmpΎ#:r Ç!hnfٳ$?z 9Dg;&9gWl_Jҕ~kqX$ 3JM%;wW:Z7B}qܣNz)ܤe,JdthC$$ ^gTbfyA=HŅK:|i|>yCFokrx}(rzlԱ,-/#؆g5,'Hzܼdby㹴\j"0!%}^A>0;Ix>XO7/^> ׻w۪B 4Pͻ&3gfjaQ}CZmVF^i$SxyX*oC&T=Z29 GaM&-k&4Lҷ-~ĸڭ=;JSD<[ ߹@j}Gx2^O}odss@zsiDŽ+c Q,s:)X0>:QszVPi؋^D 9"ϕgbEC_/[ cpn`K SmX04hÚ$ %ю=U_j)A' QSi@DܽwB.Fչl}'WӌGVeFbwǩݞ~gO.:H*Tӟantj%1~Z:ĖJՖ&|Їҥ8'_M ղD#nwg uLf 4Zn#Y/׹iI}\e6R@4hѻNN p] >?g;R*?014;ʘސ1>ɗG, 0V;BeWޞ4.kV6ڻh؏Adžzm61ٖM<Šze^f.Y+%++兯YΈܜ";eng 4X|xJb]|&Gg?EEݏdՙUAEGLw qP /3.n*'~nsyo;] k퉑eWyMd`90'=-n6bZ3҅yq8at 2|?vøH,ęhSJgpuqCoW)CW4Eߩ4*9a\,ʨ6r?qZQ@$|Is%GI 6D#v!ю&Woqkf?[iOq 讃pW1Y@faR-aSj?$p8:: qa )ŲPfh&\VSܗk}~֥+Ma =Mz!F [| ij7;,Y2+Etퟆg$A.4?p3uFm;}fœwT2ĜiʘÖ|oӞ=X=c;D1ll ;{#}׀ҫZ9B*SpdoaX]7jvcXt|{u{\ s%u2pMBUƋH)&6"euDVF\hTqy A#Ƽ 2Cx1'2v 7%_̶l8nHk5Ъ,q LAms8^Q*Cb?|Dvp =B /iI{/Sռc,oi鄵V%3FAa(UZasUEćQtI3\U,q4` g55:Fϓ ދ}&RSNn$_a4dZt(m'v>{rZEc"TH^Xm8=XƽR^oeD³K nJ(0C,x#d!muW1Z^YyVÛ۱b"Q0a#ak&]0%5 FB20_1Bs+t:>nWgΩ4? ̠3ϒ4|tHE;&M~.i7` [t!Sr&B(i8(~BG("_GxLgE۬)Vc^.3Ŕ6ouJWQקBWK`cfFM}S%n*6uuhքKzG_;؞gH?拓 ᯍv=.u,FWeJBLF獓WPk@((qm랳~l ~{bsX}r=fgJB&H)G X.L-l8W3r[Ի%ӅH=e1'WRB I[x4}@^Gg ;@ؕuF$mղ +[ |-턫2|t"g߈!Q-jYaGQ{rY^ρb_̷?%ޕziI}=P99i{ [vކf̴8pZoo <+G"vSMQWL" b5)3YQR }κq?kKm3k8:Ju6KNg^L :D ?_M8Mᔜ9gEܖ/ Ϋk$Z"mcĴ"a"x&V|, G0/#  k&uNUY(7= 洯+W=ɥbR(Zvj҃2Ȫz[K"*^_YUL$g_w.(VP='WD8GeXp{2 RHvZ?":~SSqEѹ<@W(;¤}pٹFf⧋P|̎ 7)Z&*mX f/Mk cQR d|oK@'g;YvvބcM+79B(j>M97tJP Swh`Qz7`\: 13(BRdvި6~@vT,H0HZ~+Fܵ$Oؙ(mi p)"!` wRu0$"^D+ؘ%ꄩchOG8CU*f yI{pnXA@6<@0 @|r owt&3@R`xF bV{ox;[Dg9,n\r9GvA­a|bX[u̧V{_|:~ NBDq  3u>ԉq>႘C4-^BܑT_CDz{ECTs~-FAlbNۥ3D $#l^_ȧ},'k :\v*l$Rq3FxLLQ4 `eUAʵ6 c"Lăre5=, N1=XS."_PAU7lZmO~# 1L*e}p0'g-.eů_d+["An%ah#Ţ@^;2\퀰ÚPQY8n仦>Jr׻]Tj*XMf*/Tm%Dor\En>1OҊ}tkI]rj8nJަ5pCj -O}{&PqZVsvҸsggoL' >lzA+DǏ*9y.zU A>7ӣʮ+wUw:-2$U&(naPn!0 df&K:FBtbo"-7z2K VsQAf&u pГ;C E1!N;d&ۺ4̆o4,[;-MQ,FR6nQ&U~"o#*Q:zKm3xX¶4nhϏ WafDGȃX&%vL ?{4cn4 NꞚ&!*=HIjx?ȜΞG-Egmm>?͘W{þxZlNƑ>GZ^O9~0ACb=B&֎ɹ%ZY|ti/D(&|9$=1J6y٠gNoD PF!"J DX/Ď>Y>K.\).$3A7>= ݩi6*6G:%R=+~iK繧_x"Je~eQ |z-e9o?r ŴEN2V|)DZ7-Fc|;N 4g̰`K~|͞`~4넽fЇ0^ip)@)aX,jH=%  fW@.)oNиJRX2CF.9S{TH\AXՠ)uх!G@#tLQ0`p LE%8Ѕ<쪐6nh7b@e6+3>mbP048A|A 3!iNbDr45ߜih0(m5aשRY6x5DzӉ)`UKϿgxqS˛@e9"N҄3*j2}l .۵rM}vUQ%-^緡bdZl%w'I M7f3TRzOѧV-Cƃ^zed{ /2\W/YlK$ c!dR.F ~\kH(ke&&$6WνM Bz/!oX4V3E\DCk#5}1]MO38\F 6LCWЊRvoH@\MP}<'mtdy$> Y yd&5CU nuJշb놌 \j"-brυ\7 ObZ] '~@ ٖt $ӈO禟3e.lACO&K:MB{=XʫsN^M>ULAy+~psAq' =^965ڴ#_hɰgo k*I'Jm5>&494O\VKB\y;X8z`p1 e_4/:Iu!(=avr|̀4<gl%oo3X^|T _O8@ 8ޓ ̯ң[b':!k3fw)/$:``+&͹pH[5XQvx2a27gS AW/f̵rε$ WtdQzhyU_]^ǁ7؏UB"뗬fנaJښFy `:P ֠_'54c}zb(8Y#572Z=:)QIw'Yv]+ٮW@I4 t"Lhd!fyl;"F٬f@Z1PѡP3[E)DH}e>`ei[* aqڔݼf |XeT#d>=t ٜ6_)湊< #BV"ikX:7u=}[Ee:"vfB?+L@^ɗt|Ie=N]܆_~ %H0gt2_tDuCuWn]sL n ipKA8fKc*c`E,I_OIR-k.fG5^*̯V4;'_5oҿץpQUc 71 -PpGO7I~ח;, Zҝy4Z~˙=Ōx[&`-/ێcIf G^[H E;Xh|\Og!~/'|Q zǢMv?w-Y +?YׁWՆkZWWT%#՟9mua+N$BR81-k{Qh'x)%MO9ARձwȺOϬćE6l{QPSŖ~$]0D^ pPd$=Gm@AHzMS ̸K*x+Gi]]y-UBt.9HKyjD)ni&Q: Bc9\߻bxO XyO7v-& `U]|1a6yZQ pn\vV(єu07 8Lj#pz)_. <׺k-.ZvAR#|b*}-#aj效Gڕ H&cBʁP&@mqK8(q/_>BJs?& t27#QVh嬆b:~VcdG%/ VG:` FuF+ ͓t G B(-{*e{VޗJVd"\L­In8 .IljYJ6Qnkj2Usg e# J{!ˈϛoTMQ㥗+$e9JGJyj7I捳0}g6 X >&}F\k3wf=aM}qwhY (H[{m1iy)nHk Rn:wlԐad2{8WHa7.4%ʽ`,Q? 0s(,\'@YTIGTۮ^'Q ^[R_#&ciBeCotuo:D;qFrSK!L @"U C%Ň2u *ݥjmE31Hl93(Φ #L:v?gi+ `—6┝bA wuKgKA/2Bicj VJ8Ds;5oO<2)]Ǖ3RLVOZ,t0>ya46֨v(ҡ }\*Y(TL 6 (x")1E?E?t@ cn9BA6]p6JY}eY-#*A~76Jeɂ"c2)FN18&gobɼ\v܂j&|:$ѠOR\$RJ'?2f|~jָw96aCh]y={ C%a֨IyX.靂_F"-v#\y;B֬SRj^:("TUU!Lk?.~]Én^}N'$>2{Fi ɡkjI18p z|T47E;<9!PW ^\F,֤Top/jsul3H\'OڒGF&M\6+ EVH̺NKm*)=9V+éwEb%|-/ʐJpwPe fEOzyC*#s8P]ܞuPE@U`B~\g|˸,$&DKC!Kx/ه;>bE=)ӷm I4 !C^=$T}-M63rE&+\?{'d&4"-vo%1Bhh(*۟נ疅& oOvbT^'~[V6&6&ލfgYFhUVIL>xbg՛vt+d@LH#.[gpx&cVC=A۩JZLuBzAhHoxS .H?rxvYj4dy743qGש>Kҕ2 #vFs;ѵqB$QX맊bmA \Ey Z{W(o#isKJ}ZMS*ˆ:#ƕ$[ז| e6(v@hV%*=WEІO<**,)Q4pi qØs6q LR2\` 59ͺ |uLX#{q2w<:s ,7J_q)=b8E)Xܓ E˱jE$Ril`p{*be#WԚEJ>NIEdu4쌜ܒ"y#@#׃jŨTv^ADzi"ZklsiMЩc?- j<ة Nv !e)|^ik>gy̺ )>lL/Usj;@E ۨ0o#c~|q%gB b(7W"d rR\_;҂ryAGY"9!upp\$TAyLD­vdWsCwʒ0:ZM_stm\ :euo]e gTcw\ Y9zG@ġHn$5^klKdIuE*0 YfT uyq?{`Z@C}Uofv;5hZou;f3)GUƥIeksM#:pV1I?Yy7]M'R978},s̐a^uZiRH-ݍSܗ@*܁ĥʗPfGx=pP 5k_Wl*4a# 8kEw@fGu>ſͻv^/3sГ$Coc)ג&2! 9;j-IQb)ݠ㝛rr]oծ. %nuj6U>":% ,=GGA-qU xBpmŪ32g$n.zh>FI)wH@ &.Vb70F3tH[39%X&ϙ ZC͑ԉ&`|b?R 1}eh2=] \ZgI 1_>Qi;T+$ɑ={g:A:aɻfq'[i*վ Z@HTwI1T rGK|/{ru41x"$IGDBB!jL#x,EkJbV4ZSiᲊmS<;{#'ۦCP2i>rDw&9nخ3cLH.n?UݤjM rf@9֪1iy.}}QMb3lX#O&AZJ9U~%»Z5+7W ̾WT)qXnEBڀAGnDӜWNeQs's6|zda{r8F.6T:@j!R9Ƣ˜ j]*@~Lb'PcؚfwO7A-`lDw#dZ "t±Rc\~~ڌ|lL!KN!<sxG(|+K\_[G &IOTگ5k>#RϹ"ՄmJ%_qv`p-&Y5F|+? u;AT\4QFޚeAMק 9r*Xu4#Jp?)!ex·Rn+tIMN"!M02>jbdW #J)z3# $Z1Kp#{?K'*V(T&EI,Qa|m(٤tͽ`L1>%M虁%]MBx8P8𽶀:D7 ΖƴIi'z;\]m&Ijgw3Q^ D}D s#w;A4bmMVu\[ YnSm# MVBXY6yVM-ni#vrE.@t#8R$ځ=X.$Am@G/ER.aB^^r~j(F} %<`@4'̕-xx~u2W3~N⪳h[;!nc c}^'es:Kn >G4 $;W@k^Xsۆh]QS+=FzZo2$n3DӺkHVyZswTA;apU9,n=+wm86Tc&;RHʭF1&'E%| r,{]oQƖ,vkMųt=ZEШ&{W$ݦӴQ<M 1T˱_a~W]`qnd.efOO)JIy 6@sƱ)D2߳e*Z`T`%W JJZ,w(Vk}́f'@; zsz.ub+/aH̭>( tYGUIT#ʢ ilj S:^r?]%K^9WT_BRnX |? igT;hRmFvdx}7\N#]kte-)]5%(Z Oja" kGxCEN b89 Zw:bўAH;W#*afrep…5Up*롿Ϋ-+Vm*?f M3TJ5QdLD/Ny4y#MgKq].BC^pb4nmBY$E]H KA>K:\YsF'q72R?Ս+?Ҧ`M.&{s`՜dPxe*+^u ĨQvr;%5E׊d_f2Dڒs_~7n*cm+dϱ׼7t?YW̿r1PY aS7/Q1{cͪq(WAi;QqO`giSNH06o癳>,i~Q+6*%t]= ՘ 5/ SBC`mte4PTdRkYaFWMǪEYWTw;3s2=It7ssloj%tK+=qu,B;_39mטړn*}&QԻU S4q+6`AY WV̲I|_DwjѦ {S2?hI<A- 3Pa^[v1p סN+<TF3s?JUpPXru9*$.9Z ?fsTj =hUWYD%؆@?%끀|o%ݝ~֜ -Z Wp/1MC];x?'ܖ_pwO -HmHOĆ#eij1EUr i@Hq(pk˸C׉2(g,PнS_ϘSa~)]#02I!ߩ,_LOuX,|j/'~\93樞&)Ș y* Ft6]&@OR3]TŌ_Eڶ{ʈ$,O(R/%{ZR= WmϿ \P(kIP|OJZC%qѥ-e & ٘1VY~L'gBAnxB̳HA'{dIY.)j+[ֆf};fo 7wi9!dj/g1j4Xʁ߆[ 2=2@]N i&|Z8Y'Md`=m2X:_P`F"%L_>!SD2X:g4r߿;ж5V=]S圆,Ev n_l y@9)as ó;`뿣*EЈEq7fYΰȩyn _H$,5瘯:QPxk^m3uysz}b|}qXp?YM]5n7:SLQͰC@KuʹFfAJkUFzG) 3@5.H`ڲ-],AGp# ƹA։]p+jC2EkRf; vʲnvcV1wAIh\BM{ 됖TTZηIL-kQ#wQ/2y@dMڣf1LS4Ssrgc (`nz:A}R%(T'q\i2zm'9`ͫ +Ϡ .@#@ [Bg?_$%\C}1yٓDKiF ?(_EmQ*M7,@>$ 0%dh:Ƈ{s| ^1/}?<p֑/>MnlWfdN[: <LL}W H ~*Dcbd⋠L!Ws̉[md_Ҏ:YiZݻ@c~h1̪q|oqRyR2riM$KRxJʕnx -T>W =jOo߷QDZ:4kN05ZoŁZ+M4̞&ߺ:CT=j;[PkFTPXhk\EYSH!$Ws\މz۶[\J,A(ށ[S%D53m%eǴ;M7䒜egIZQ^)dF~]#j(Q5Z\"̿@F@qL%ytNcAjLS"Б-* ɷBPftۅ{ϔ>; 7+|%[}OCC̵;&8?^/A}_U@"Z$K1`*10V}sˀ? ~Y8 %0nZdyn[9|ƞp=K-$z+ 7|Lml0t{nD2Pw9MgF쳝h6c%Cy^k>}jH}Z&&eY`{6VT.1?8V^Z4}i{e))]`!ȸewr|Y#)Mg_/bS@NEֺ̼B2foOuIț"KyS\}"'x1m~L&4kS]juO&l!u͊SPkAsg~K>XL3.2W 4 nFSA kcRP`g )z ?_A 9ZInqu\mkR9Ϗ,h.蟦~ Y1¾m;{!gABx&G'e_URU>w"fMKBd=/nZ_Z̃TRK)Ds<wMʰ2#T+#?:l3IR&O4Z;W@5&${=qnOleX&{\5u(cOw\Ͽo,-PR`m(4N6dw{oMFq.]iQ6ZKx>6'5 AS#\\KIG/{r^QFT3*(o[`Vh463&N}rX eBpF+PSM9`1qė$5 FL~rdC4M1j'D\S;z;x2u&]o]7BpXZPﴬn%xFp4D5%q&>ד?tyw>ۜelNy8E)_|7g}WcWӄ]c(BZy1XcP/ D!|B .Eoo8Q4lȟ^P݀F*'Ԣؙe-NXCBt ,iѭTQ@ϴ1nv /:Q ~r%\kᩘo R7nFP_Wn]uFnT)>/c. j8E9sU mHŁ08o FTu&~i:;M@z<ֳTt`"&N=0N*f΋Q203=̕H9}c52т^2Ni=P W;v'BG[X1kG=gWـU'))QU_Yq. e g }R#8~sVI̾mbUrv焗gyje}K+S!YM\C:dd%)5*~ fY#z2}t8|j~fVVtCӴ`D ’ tґ"s.\- @pB3Nrei~T=Ȳxxd9# J 9NńpSj^L'q򛰝"y^ܣbx4y .ޓkkFnk JVjM4aTH!=z0/$4*bX>$iULq\lDK͞Z2*Ez-Cƅ:ܰtcVAzYMtگH.(e ȤbW\ ]&k%!Ҋ<3_uÀ+~4WF\@~px[*_D4eZ"9J:ޜ(6ə\YTs!XB(x;>a|CTG=3yP^F<9]g&dt{[]8 ց#]67эyMJۛ>_}d/Lw0X6ktc-wJ * ΩTc"8u[(Oh^TKeې(I*_ֵ`nb,̞#ƚ~׍N cޠ ᭽܇a/Ƭz;Z}K/ۈ ڑ}j9hmŲ9^Fa?+.wI&`o';J_]RiTRԃFrz6iK|mUCSy_6e> XQQܽd,Zw (YHnmA1ۼ"lQp-+%a@ ̕Tbja,)׭կuW* E & Q]LˆraѨ}Lla:t$B+Tjk/w5'"r+ }z{5HdP'.X> eld^XlV-f34í #-ΙUC~n2BK`;)BUP"D7 ߰΍||>3bI@@,rIS}jW5=+j+ /[rz {8,Ә hd#c!^?&m9[Ul{pR $~O+G¡Nim?T5j΋ɷ~= P==Dh}-_!#XӨ_^Mw#/-П1sdsao#j؎l*ɵQ|i{3*AMx(PՁ-#CyȻk{W8&|nF Ie|(Ke'~V-bhru_?kBY946l 9oޯ)-S4AJAF:Dץ y~$a2K6?@lddc Eڰ(Rڡ6in,72m-.ӄxY1[]*W dl,fK,4-ѯ4dkN”B$>>%9Wb-7~] _<ijhJ.d,=3QW?P4qqfgWxJɛ(_o ;!bsq kr#-8MF1W1T$KRx80;-ru߭8F dP -ppdW&9y Кuk6@<\+Տɯ@ă"j{A(m8 ^ׁ;"r3,81&=* 9'Y q.gCz:Qշ-& "@ WiH>6jQ|O}b] m>I:5ҫbsuKD}&Bӈf*zqLL=v'SWQܬ|, Wo>XVjQс bfk5^؞Eu{NqCHhs*]wX9*_,=,kk]~[>ѽ`0:zI}K硜qNYves:1I2)HdV";ԬU{lӜaT9+aPgO?|magnɂ{׳/*P 4쫠i׊N~B[h |WNˁ#؃p0s6V ?m'qE!$q\ҥV} z\Foj} Gb'^\x+ i+Ղx΀] HVY%=t75瀬$tCk2ѽ@`hBIE\LSiW&ςB"yfȬEEyOnEt+>,x,wA ODŽb6X!S?# _iX~3(Hyg tcD6NNJL#[.FRk yIdEs4Ƥb'q_o ;{I-I(.pf)j[>hOcG;\Xrk~=WlP;K QtʮX'Q [S5Z*SZ(?$ֲFR˹Bh=yTVJTefu=vWM@$9 )*xQ3C_).]v>$ZGw}]f4u>R&G$g5{RD%ќz ? 6p̀ѤPS{&gH\:Vr6ƔW$ԯ %2 тu#v~әN[!qꑷқ^Z棨l88.*9Q9.u%˳%3L51eȨn;P'>( fkLw==bL}c`0l4(7DhG.2ˀ!H*42''  g}kG%=v?48zOYcF9ݖM 0^fZ Pv gyɔ*6`TDٿKYgݞAzԲ/\Gll=nbz,H5`ZwSz#ʂbY; eK pecɶ YZ