slurm_18_08-sview-18.08.9-150000.1.17.1 >  A c)np9|)f*Չ,C{ӵ]2$3,z39%V"tbN Qn*d'>?q2ubM@Oݭ]Uy4NB7c3ef827c20e0a3d48faede14fd2c6c00d107129c3c092160233fd456104b224a5fefe6094d8a6803de00873d3fee2fed4416e838}0c)np9|oXAظF8݄_ ύrY>۾-3-nu@2~N342O2H + tF|4.516~Uh-RRe zLpSM{c$hq 1ŤF&ud4ghL$k&{j;x"&+y#V׏a ~+ƍ,_5f.߷<\c( pA?d * D . Df~    & (0:Dpx (!8(S9tS: 'SF$G8H@IHXLYX\]^bcmdefluvw8x@yHzCslurm_18_08-sview18.08.9150000.1.17.1SLURM graphical interfacesview is a graphical user interface to get and update state information for jobs, partitions, and nodes managed by SLURM.c)ngoat06eSUSE Linux Enterprise 15SUSE LLC SUSE-GPL-2.0-with-openssl-exceptionhttps://www.suse.com/Productivity/Clustering/Computinghttps://www.schedmd.comlinuxx86_64^`?큤c)nzc)n_d8fbcfd4496ce83255ce87f614d538e86a9516de69fe51e9490e16e3f29c61dc34162614351ec90968c2b33c2e9f9ddd4240436be5140812f937360643bd7c17rootrootrootrootslurm_18_08-18.08.9-150000.1.17.1.src.rpmslurm-sviewslurm_18_08-sviewslurm_18_08-sview(x86-64)@@@@@@@@@@@@@@    libc.so.6()(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libgdk-x11-2.0.so.0()(64bit)libgdk_pixbuf-2.0.so.0()(64bit)libglib-2.0.so.0()(64bit)libgobject-2.0.so.0()(64bit)libgtk-x11-2.0.so.0()(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libslurmdb.so.33()(64bit)libslurmfull.so()(64bit)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)3.0.4-14.6.0-14.0-15.2-1slurm-sview4.14.1bb?b@b`_ _c^ @] @]@]]B]]](]@]x]W@]+@](v@]'$]#0@]#0@] @] @] @\v{\T4\R@\R@\I\U@\[@[@[@[@[[[.[r@[b@[`O@[`O@[\Z[E@[{@Z؄ZЛZJ@ZJ@ZZ@ZZZo Zo Z_:Z!D@ZY@Yp@Y˒Y@Ycl@Y-^Y]XDX@XBXXXk@XAb@X>@X43@Xx@X@X@V5UL@TVTVeich@suse.combwiedemann@suse.comeich@suse.comeich@suse.comeich@suse.comaguerrero@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comcgoll@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comcgoll@suse.comcgoll@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comcgoll@suse.comeich@suse.comcgoll@suse.comjjolly@suse.comcgoll@suse.comcgoll@suse.comeich@suse.comeich@suse.comjengelh@inai.dejjolly@suse.comjjolly@suse.comjjolly@suse.comeich@suse.comeich@suse.comeich@suse.comjengelh@inai.deeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comeich@suse.comscorot@free.frscorot@free.frscorot@free.frscorot@free.fr- Fix a potential security vulnerability in the test package (bsc#1201674, CVE-2022-31251).- make slurmtest.tar reproducible- Package the Slurm testsuite for QA purposes. NOTE: This package is not meant to be used for testing by the user but rather for testing by the maintainers to ensure the package is working properly. DO NOT report test suite failures unless you are able to confirm that the failure is really a bug. * Add documentation: README_Testsuite.md - Allow log in as user 'slurm'. This allows admins to run certain priviledged commands more easily without becoming root.- Fix CVE-2022-29500 (bsc#1199278) Add Prevent-credential-abuse.patch - Fix CVE-2022-29501 (bsc#1199279) Add Prevent-abuse-of-REQUEST_FORWARD_DATA.patch - Disable Message Aggregation in Slurm - this is a fringe feature that has been dropped from later versions.- Fix CVE-2021-31215 (bsc#1186024): Fix security issue in PrologSlurmctld and EpilogSlurmctld by always prepending SPANK_ to all user-set environment variables. CVE-2021-31215.- PMIx - fix potential buffer overflows from use of unpackmem(). CVE-2020-27745 (bsc#1178890) * PMIx-fix-potential-buffer-overflows-from-use-of-unpackmen_CVE-2020-27745.patch - X11 forwarding - fix potential leak of the magic cookie when sent as an argument to the xauth command. CVE-2020-27746 (bsc#1178891) * X11-forwarding-avoid-unsafe-use-of-magic-cookie_CVE-2020-27746.patch - More information at https://lists.schedmd.com/pipermail/slurm-announce/2020/000045.html- Fix Authentication Bypass when Message Aggregation is enabled CVE-2020-12693 This fixes and issue where authentication could be bypassed via an alternate path or channel when message Aggregation was enabled. A race condition allowed a user to launch a process as an arbitrary user. Add: Fix-Authentication-Bypass-when-Message-Aggregation-is-enabled-CVE-2020-12693.patch (CVE-2020-12693, bsc#1172004). - Remove unneeded build dependency to postgresql-devel.- Deprecate "ControlMachine" only for SLURM version upgrades and products newer than 1501. This ensures that the original setting is retained for the SLURM version shipped origianlly with SLE-15-SP1 or Leap 15.1.- Update to v18.08.9 for fixing CVE-2019-19728 (bsc#1159692). * Wrap END_TIMER{,2,3} macro definition in "do {} while (0)" block. * Make sview work with glib2 v2.62. * Make Slurm compile on linux after sys/sysctl.h was deprecated. * Install slurmdbd.conf.example with 0600 permissions to encourage secure use. CVE-2019-19727. * srun - do not continue with job launch if --uid fails. CVE-2019-19728.- added pmix support jsc#SLE-10800- Use --with-shared-libslurm to build slurm binaries using libslurm. - Make libslurm depend on slurm-config.- Fix ownership of /var/spool/slurm on new installations and upgrade (boo#1158696).- Fix permissions of slurmdbd.conf (bsc#1155784, CVE-2019-19727). - Fix %posttrans macro _res_update to cope with added newline (bsc#1153259).- Add package slurm-webdoc which sets up a web server to provide the documentation for the version shipped.- Move srun from 'slurm' to 'slurm-node': srun is required on the nodes as well so sbatch will work. 'slurm-node' is a requirement when 'slurm' is installed (bsc#1153095).- Set %base_ver for SLE-15-SP2 to 18.08 (for now).- Edit sample configuration to deprecate "ControlMachine", "ControlAddr", "BackupController" and "BackupAddr" in favor "SlurmctldHost".- Fix logic of slurm-munge recommends: slurm-munge requires munge already, so if we have munge installed we recommend slurm-munge as the authentication when installing slurm or slurm-node.- Fix build for SLE-11-SP4 and older.- added cray depend libraries to seperate package, as they are now built, since json is enabled- Updated to 18.08.8 for fixing (CVE-2019-12838, bsc#1140709, jsc#SLE-7341, jsc#SLE-7342) * Update "xauth list" to use the same 10000ms timeout as the other xauth commands. * Fix issue in gres code to handle a gres cnt of 0. * Don't purge jobs if backfill is running. * Verify job is pending add/removing accrual time. * Don't abort when the job doesn't have an association that was removed before the job was able to make it to the database. * Set state_reason if select_nodes() fails job for QOS or Account. * Avoid seg_fault on referencing association without a valid_qos bitmap. * If Association/QOS is removed on a pending job set that job as ineligible. * When changing a jobs account/qos always make sure you remove the old limits. * Don't reset a FAIL_QOS or FAIL_ACCOUNT job reason until the qos or account changed. * Restore "sreport -T ALL" functionality. * Correctly typecast signals being sent through the api. * Properly initialize structures throughout Slurm. * Sync "numtask" squeue format option for jobs and steps to "numtasks". * Fix sacct -PD to avoid CA before start jobs. * Fix potential deadlock with backup slurmctld. * Fixed issue with jobs not appearing in sacct after dependency satisfied. * Fix showing non-eligible jobs when asking with -j and not -s. * Fix issue with backfill scheduler scheduling tasks of an array when not the head job. * accounting_storage/mysql - fix SIGABRT in the archive load logic. * accounting_storage/mysql - fix memory leak in the archive load logic. * Limit records per single SQL statement when loading archived data. * Fix unnecessary reloading of job submit plugins. * Allow job submit plugins to be turned on/off with a reconfigure. * Fix segfault when loading/unloading Lua job submit plugin multiple times. * Fix printing duplicate error messages of jobs rejected by job submit plugin. * Fix printing of job submit plugin messages of het jobs without pack id. * Fix memory leak in group_cache.c * Fix jobs stuck from FedJobLock when requeueing in a federation * Fix requeueing job in a federation of clusters with differing associations * sacctmgr - free memory before exiting in 'sacctmgr show runaway'. * Fix seff showing memory overflow when steps tres mem usage is 0. * Upon archive file name collision, create new archive file instead of overwriting the old one to prevent lost records. * Limit archive files to 50000 records per file so that archiving large databases will succeed. * Remove stray newlines in SPANK plugin error messages. * Fix archive loading events. * In select/cons_res: Only allocate 1 CPU per node with the --overcommit and - -nodelist options. * Fix main scheduler from potentially not running through whole queue. * cons_res/job_test - prevent a job from overallocating a node memory. * cons_res/job_test - fix to consider a node's current allocated memory when testing a job's memory request. * Fix issue where multi-node job steps on cloud nodes wouldn't finish cleaning up until the end of the job (rather than the end of the step). * Fix issue with a 17.11 sbcast call to a 18.08 daemon. * Add new job bit_flags of JOB_DEPENDENT. * Make it so dependent jobs reset the AccrueTime and do not count against any AccrueTime limits. * Fix sacctmgr --parsable2 output for reservations and tres. * Prevent slurmctld from potential segfault after job_start_data() called for completing job. * Fix jobs getting on nodes with "scontrol reboot asap". * Record node reboot events to database. * Fix node reboot failure message getting to event table. * Don't write "(null)" to event table when no event reason exists. * Fix minor memory leak when clearing runaway jobs. * Avoid flooding slurmctld and logging when prolog complete RPC errors occur. * Fix GCC 9 compiler warnings. * Fix seff human readable memory string for values below a megabyte. * Fix dump/load of rejected heterogeneous jobs. * For heterogeneous jobs, do not count the each component against the QOS or association job limit multiple times. * slurmdbd - avoid reservation flag column corruption with the use of newer flags, instead preserve the older flag fields that we can still fit in the smallint field, and discard the rest. * Fix security issue in accounting_storage/mysql plugin on archive file loads by always escaping strings within the slurmdbd. CVE-2019-12838.- Fix build dependency issue around libibmad-devel introduced in SLE-12-SP4.- Add BuildRequires to address warnings during build: * for libcurl-devel, libssh2-devel and rrdtool-devel * for libjson-c-devel and liblz4-devel where available, disable these with --without-json and --without-lz4 where not. * disable DataWarp (--without-datawarp).- Update SLURM to 18.08.7: * Set debug statement to debug2 to avoid benign error messages. * Add SchedulerParameters option of bf_hetjob_immediate to attempt to start a heterogeneous job as soon as all of its components are determined able to do so. * Fix underflow causing decay thread to exit. * Fix main scheduler not considering hetjobs when building the job queue. * Fix regression for sacct to display old jobs without a start time. * Fix setting correct number of gres topology bits. * Update hetjobs pending state reason when appropriate. * Fix accounting_storage/filetxt's understanding of TRES. * Set Accrue time when not enforcing limits. * Fix srun segfault when requesting a hetjob with test_exec or bcast options. * Hide multipart priorities log message behind Priority debug flag. * sched/backfill - Make hetjobs sensitive to bf_max_job_start. * Fix slurmctld segfault due to job's partition pointer NULL dereference. * Fix issue with OR'ed job dependencies. * Add new job's bit_flags of INVALID_DEPEND to prevent rebuilding a job's dependency string when it has at least one invalid and purged dependency. * Promote federation unsynced siblings log message from debug to info. * burst_buffer/cray - fix slurmctld SIGABRT due to illegal read/writes. * burst_buffer/cray - fix memory leak due to unfreed job script content. * node_features/knl_cray - fix script_argv use-after-free. * burst_buffer/cray - fix script_argv use-after-free. * Fix invalid reads of size 1 due to non null-terminated string reads. * Add extra debug2 logs to identify why BadConstraints reason is set.- Do not build hdf5 support where not available.- Add support for version updates on SLE: Update packages to a later version than the version supported originally on SLE will receive a version string in their package name.- added the hdf5 job data gathering plugin- Add backward compatibility with SLE-11 SP4- Update to version 18.08.05-2: This version obsoletes: Fix-contrib-perlapi-to-build-with-the-fix-for-CVE-2019-6438-750cc23ed.patch - Fix spec file for older SUSE versions.- Update to version 18.08.05: * Add mitigation for a potential heap overflow on 32-bit systems in xmalloc. (CVE-2019-6438, bsc#1123304). * Other fixes: + Backfill - If a job has a time_limit guess the end time of a job better if OverTimeLimit is Unlimited. + Fix "sacctmgr show events event=cluster" + Fix sacctmgr show runawayjobs from sibling cluster + Avoid bit offset of -1 in call to bit_nclear(). + Insure that "hbm" is a configured GresType on knl systems. + Fix NodeFeaturesPlugins=node_features/knl_generic to allow other gres other than knl. + cons_res: Prevent overflow on multiply. + Better debug for bad values in gres.conf. + Fix double accounting of energy at end of job. + Read gres.conf for cloud nodes on slurmctld. + Don't assume the first node of a job is the batch host when purging jobs from a node. + Better debugging when a job doesn't have a job_resrcs ptr. + Store ave watts in energy plugins. + Add XCC plugin for reading Lenovo Power. + Fix minor memory leak when scheduling rebootable nodes. + Fix debug2 prefix for sched log. + Fix printing correct SLURM_JOB_ACCOUNT_PACK_GROUP_* in env for a Het Job. + sbatch - search current working directory first for job script. + Make it so held jobs reset the AccrueTime and do not count against any AccrueTime limits. + Add SchedulerParameters option of bf_hetjob_prio=[min|avg|max] to alter the job sorting algorithm for scheduling heterogeneous jobs. + Fix initialization of assoc_mgr_locks and slurmctld_locks lock structures. + Fix segfault with job arrays using X11 forwarding. + Revert regression caused by e0ee1c7054 which caused negative values and values starting with a decimal to be invalid for PriorityWeightTRES and TRESBillingWeight. + Fix possibility to update a job's reservation to none. + Suppress connection errors to primary slurmdbd when backup dbd is active. + Suppress connection errors to primary db when backup db kicks in + Add missing fields for sacct --completion when using jobcomp/filetxt. + Fix incorrect values set for UserCPU, SystemCPU, and TotalCPU sacct fields when JobAcctGatherType=jobacct_gather/cgroup. + Fixed srun from double printing invalid option msg twice. + Remove unused -b flag from getopt call in sbatch. + Disable reporting of node TRES in sreport. + Re-enabling features combined by OR within parenthesis for non-knl setups. + Prevent sending duplicate requests to reboot a node before ResumeTimeout. + Down nodes that don't reboot by ResumeTimeout. + Update seff to reflect API change from rss_max to tres_usage_in_max. + Add missing TRES constants from perl API. + Fix issue where sacct would return incorrect array tasks when querying specific tasks. + Add missing variables to slurmdb_stats_t in the perlapi. + Fix nodes not getting reboot RPC when job requires reboot of nodes. + Fix failing update the partition list of a job. + Use slurm.conf gres ids instead of gres.conf names to get a gres type name. * Disable slurmctld-rerun-agent_init-when-backup-controller-takes-over.patch: Believed to be fixed by commit c1a537dbbe6 See: https://bugs.schedmd.com/show_bug.cgi?id=5511 * Add Fix-contrib-perlapi-to-build-with-the-fix-for-CVE-2019-6438-750cc23ed.patch: Fix fallout from 750cc23ed for CVE-2019-6438.- Update to 18.08.04, with following highlights * Fix message sent to user to display preempted instead of time limit when a job is preempted. * Fix memory leak when a failure happens processing a nodes gres config. * Improve error message when failures happen processing a nodes gres config. * Don't skip jobs in scontrol hold. * Allow --cpu-bind=verbose to be used with SLURM_HINT environment variable. * Enhanced handling for runaway jobs * cons_res: Delay exiting cr_job_test until after cores/cpus are calculated and distributed. * Don't check existence of srun --prolog or --epilog executables when set to "none" and SLURM_TEST_EXEC is used. * Add "P" suffix support to job and step tres specifications. * Fix jobacct_gather/cgroup to work correctly when more than one task is started on a node. * salloc - set SLURM_NTASKS_PER_CORE and SLURM_NTASKS_PER_SOCKET in the environment if the corresponding command line options are used. * slurmd - fix handling of the -f flag to specify alternate config file locations. * Add SchedulerParameters option of bf_ignore_newly_avail_nodes to avoid scheduling lower priority jobs on resources that become available during the backfill scheduling cycle when bf_continue is enabled. * job_submit/lua: Add several slurmctld return codes and add user/group info * salloc/sbatch/srun - print warning if mutually exclusive options of --mem and --mem-per-cpu are both set. - Refreshed: * pam_slurm_adopt-avoid-running-outside-of-the-sshd-PA.patch- restarting services on update only when activated - added rotation of logs - Added backported patches which harden the pam module pam_slurm_adopt (BOO#1116758) which will be in slurm 19.05.x * added pam_slurm_adopt-avoid-running-outside-of-the-sshd-PA.patch [PATCH 1/3] pam_slurm_adopt: avoid running outside of the sshd PAM * added pam_slurm_adopt-send_user_msg-don-t-copy-undefined-d.patch [PATCH 2/3] pam_slurm_adopt: send_user_msg: don't copy undefined data * added pam_slurm_adopt-use-uid-to-determine-whether-root-is.patch [PATCH 3/3] pam_slurm_adopt: use uid to determine whether root is logging on - package slurm-pam_slurm now depends on slurm-node and not on slurm- fixed code in %pretrans section to be compatible with lua 5.1- Added missing perl-base dependency.- Moved HTML docs to doc package.- Moved config man pages to a separate package: This way, they won't get installed on compute nodes.- Update to 18.08.3 * Add new burst buffer state of "teardown-fail" to indicate the burst buffer teardown operation is failing on specific buffers. * Multiple backup slurmctld daemons can be configured * Enable jobs with zero node count for creation and/or deletion of persistent burst buffers. * Add "scontrol show dwstat" command to display Cray burst buffer status. * Add "GetSysStatus" option to burst_buffer.conf file. * Add node and partition configuration options of "CpuBind" to control default task binding. * Add "NumaCpuBind" option to knl.conf * Add sbatch "--batch" option to identify features required on batch node. * Add "BatchFeatures" field to output of "scontrol show job". * Add support for "--bb" option to sbatch command. * Add new SystemComment field to job data structure and database. * Expand reservation "flags" field from 32 to 64 bits. * Add job state flag of "SIGNALING" to avoid race condition. * Properly handle srun --will-run option when there are jobs in COMPLETING state. * Properly report who is signaling a step. * Don't combine updated reservation records in sreport's reservation report. * node_features plugin - Add suport for XOR & XAND of job constraints (node feature specifications). * Improvements to how srun searches for the executible when using cwd. * Now programs can be checked before execution if test_exec is set. * Report NodeFeatures plugin configuration with scontrol and sview commands. * Add acct_gather_profile/influxdb plugin. * Add new job state of SO/STAGE_OUT * Correct SLURM_NTASKS and SLURM_NPROCS environment variable for heterogeneous job step. * Expand advanced reservation feature specification to support parenthesis and counts of nodes with specified features. * Defer job signaling until prolog is completed * Have the primary slurmctld wait until the backup has completely shutdown before taking control. * Fix issue where unpacking job state after TRES count changed could lead to invalid reads. * Heterogeneous job steps allocations supported with Open MPI. * Remove redundant function arguments from task plugins. * Add Slurm configuration file check logic using "slurmctld -t" command. * Add the use of a xml file to help performance when using hwloc. * Remove support for "ChosLoc" configuration parameter. * Configuration parameters "ControlMachine", "ControlAddr", "BackupController" and "BackupAddr" replaced by an ordered list of "SlurmctldHost" records. * Remove --immediate option from sbatch. * Add infrastructure for per-job and per-step TRES parameters. * Add DefCpuPerGpu and DefMemPerGpu to global and per-partition configuration parameters. * Add ValidateMode configuration parameter to knl_cray.conf. * Disable local PTY output processing when using 'srun --unbuffered'. * Change the column name for the %U (User ID) field in squeue to 'UID'. * CRAY - Add CheckGhalQuiesce to the CommunicationParameters. * When a process is core dumping, avoid terminating other processes in that task group. * CPU frequency management enhancements: If scaling_available_frequencies file is not available, then derive values from scaling_min_freq and scaling_max_freq values. * Add pending jobs count to sdiag output. * Add configuration paramerers SlurmctldPrimaryOnProg and SlurmctldPrimaryOffProg, which define programs to execute when a slurmctld daemon changes state. * Add configuration paramerers SlurmctldAddr for use with virtual IP to manage backup slurmctld daemons. * Explicitly shutdown the slurmd process when instructed to reboot. * Add ability to create/update partition with TRESBillingWeights through scontrol. * Calcuate TRES billing values at submission. * Add node_features plugin function "node_features_p_reboot_weight()". * Add NodeRebootWeight parameter to knl.conf configuration file. * Completely remove "gres" field from step record. Use "tres_per_node", "tres_per_socket", etc. * Add "Links" parameter to gres.conf configuration file. * Force slurm_mktime() to set tm_isdst to -1. * burst_buffer.conf - Add SetExecHost flag to enable burst buffer access from the login node for interactive jobs. * Append ", with requeued tasks" to job array "end" emails if any tasks in the array were requeued. * Add ResumeFailProgram slurm.conf option to specify a program that is called when a node fails to respond by ResumeTimeout. * Add new job pending reason of "ReqNodeNotAvail, reserved for maintenance". * Remove AdminComment += syntax from 'scontrol update job'. * sched/backfill: Reset job time limit if needed for deadline scheduling. * For heterogeneous job component with required nodes, explicitly exclude those nodes from all other job components. * Add name of partition used to output of srun --test-only output. * sdiag output now reports outgoing slurmctld message queue contents. * Improve escaping special characters on user commands when specifying paths. * Add salloc/sbatch/srun option of --gres-flags=disable-binding to disable filtering of CPUs with respect to generic resource locality. * SlurmDBD - Print warning if MySQL/MariaDB internal tuning is not at least half of the recommended values. * Add ability to specify a node reason when rebooting nodes with "scontrol reboot". * Add nextstate option to "scontrol reboot". * Consider "resuming" (nextstate=resume) nodes as available in backfill future scheduling. * Add TimelimitRaw sacct output field to display timelimit numbers. * Add support for sacct --whole-hetjob=[yes|no] option. * Make salloc handle node requests the same as sbatch. * Add shutdown_on_reboot SlurmdParameter to control whether the Slurmd will shutdown itself down or not when a reboot request is received. * Add cancel_reboot scontrol option to cancel pending reboot of nodes. * Make Users case insensitive in the database based on Parameters=PreserveCaseUser in the slurmdbd.conf. * Improve scheduling when dealing with node_features that could have a boot delay. * Changed the default AuthType for slurmdbd to auth/munge. * Added 'remote-fs.target' to After directive of slurmd.service file. * Remove drain on node when reboot nextstate used. * Speed up pack of job's qos. * Add sacctmgr options to prevent/manage job queue stuffing: - GrpJobsAccrue= - MaxJobsAccrue= * MinPrioThreshold Minimum priority required to reserve resources when scheduling. * Add control_inx value to trigger_info_msg_t to permit future work in the trigger management code to distinguish which of multiple backup controllers has changed state. * NOTES: PreemptType=preempt/job_prio has been removed - use PreemptType=preempt/qos instead. * Bluegene support was deprecated has now been removed * cgroup_allowed_devices_file.conf was removed. It was never used by default, as ConstrainDevices was not set. If needed, refer to the cgroups.conf man page on how to create one. * slurm.epilog.clean: Removed. User should use pam_slurm_adopt instead. - Refreshed: * removed-deprecated-xdaemon.patch * slurmctld-uses-xdaemon_-for-systemd.patch * slurmd-uses-xdaemon_-for-systemd.patch * slurmdbd-uses-xdaemon_-for-systemd.patch * slurmsmwd-uses-xdaemon_-for-systemd.patch * slurmctld-rerun-agent_init-when-backup-controller-takes-over.patch- Move config man-pages to config package.- added correct link flags for perl bindings (bsc#1108671) * added correct linker search path in slurm-2.4.4-rpath.patch * perl:Switch is required by slurm torque wrappers- Fix Requires(pre) and Requires(post) for slurm-config and slurm-node. This fixes issues with failing slurm user creation when installed during initial system installation (bsc#1109373).- Update to 17.11.9 * Fix segfault in slurmctld when a job's node bitmap is NULL during a scheduling cycle. Primarily caused by EnforcePartLimits=ALL. * Remove erroneous unlock in acct_gather_energy/ipmi. * Enable support for hwloc version 2.0.1. * Fix 'srun -q' (--qos) option handling. * Fix socket communication issue that can lead to lost task completition messages, which will cause a permanently stuck srun process. * Handle creation of TMPDIR if environment variable is set or changed in a task prolog script. * Avoid node layout fragmentation if running with a fixed CPU count but without Sockets and CoresPerSocket defined. * burst_buffer/cray - Fix datawarp swap default pool overriding jobdw. * Fix incorrect job priority assignment for multi-partition job with different PriorityTier settings on the partitions. * Fix sinfo to print correct node state.- When using a remote shared StateSaveLocation, slurmctld needs to be started after remote filesystems have become available. Add 'remote-fs.target' to the 'After=' directive in slurmctld.service (boo#1103561).- Update to 17.11.8 * Fix incomplete RESPONSE_[RESOURCE|JOB_PACK]_ALLOCATION building path. * Do not allocate nodes that were marked down due to the node not responding by ResumeTimeout. * task/cray plugin - search for "mems" cgroup information in the file "cpuset.mems" then fall back to the file "mems". * Fix ipmi profile debug uninitialized variable. * PMIx: fixed the direct connect inline msg sending. * MYSQL: Fix issue not handling all fields when loading an archive dump. * Allow a job_submit plugin to change the admin_comment field during job_submit_plugin_modify(). * job_submit/lua - fix access into reservation table. * MySQL - Prevent deadlock caused by archive logic locking reads. * Don't enforce MaxQueryTimeRange when requesting specific jobs. * Modify --test-only logic to properly support jobs submitted to more than one partition. * Prevent slurmctld from abort when attempting to set non-existing qos as def_qos_id. * Add new job dependency type of "afterburstbuffer". The pending job will be delayed until the first job completes execution and it's burst buffer stage-out is completed. * Reorder proctrack/task plugin load in the slurmstepd to match that of slurmd and avoid race condition calling task before proctrack can introduce. * Prevent reboot of a busy KNL node when requesting inactive features. * Revert to previous behavior when requesting memory per cpu/node introduced in 17.11.7. * Fix to reinitialize previously adjusted job members to their original value when validating the job memory in multi-partition requests. * Fix _step_signal() from always returning SLURM_SUCCESS. * Combine active and available node feature change logs on one line rather than one line per node for performance reasons. * Prevent occasionally leaking freezer cgroups. * Fix potential segfault when closing the mpi/pmi2 plugin. * Fix issues with --exclusive=[user|mcs] to work correctly with preemption or when job requests a specific list of hosts. * Make code compile with hdf5 1.10.2+ * mpi/pmix: Fixed the collectives canceling. * SlurmDBD: improve error message handling on archive load failure. * Fix incorrect locking when deleting reservations. * Fix incorrect locking when setting up the power save module. * Fix setting format output length for squeue when showing array jobs. * Add xstrstr function. * Fix printing out of --hint options in sbatch, salloc --help. * Prevent possible divide by zero in _validate_time_limit(). * Add Delegate=yes to the slurmd.service file to prevent systemd from interfering with the jobs' cgroup hierarchies. * Change the backlog argument to the listen() syscall within srun to 4096 to match elsewhere in the code, and avoid communication problems at scale.- slurmctld-rerun-agent_init-when-backup-controller-takes-over.patch: Fix race in the slurmctld backup controller which prevents it to clean up allocations on nodes properly after failing over (bsc#1084917). - Handled %license in a backward compatible manner.- Add a 'Recommends: slurm-munge' to slurm-slurmdbd.- Shield comments between script snippets with a %{!?nil:...} to avoid them being interpreted as scripts - in which case the update level is passed as argument (see chapter 'Shared libraries' in: https://en.opensuse.org/openSUSE:Packaging_scriptlet_snippets) (bsc#1100850).- Update from 17.11.5 to 17.11.7 - Fix security issue in handling of username and gid fields CVE-2018-10995 and bsc#1095508 what implied an update from 17.11.5 to 17.11.7 Highlights of 17.11.6: * CRAY - Add slurmsmwd to the contribs/cray dir * PMIX - Added the direct connect authentication. * Prevent the backup slurmctld from losing the active/available node features list on takeover. * Be able to force power_down of cloud node even if in power_save state. * Allow cloud nodes to be recognized in Slurm when booted out of band. * Numerous fixes - check 'NEWS' file. Highlights of 17.11.7: * Notify srun and ctld when unkillable stepd exits. * Numerous fixes - check 'NEWS' file. - Add: slurmsmwd-uses-xdaemon_-for-systemd.patch * Fixes daemoniziation in newly introduced slurmsmwd daemon. - Rename: split-xdaemon-in-xdaemon_init-and-xdaemon_finish-for-systemd-compatibilty.patch to split-xdaemon-in-xdaemon_init-and-xdaemon_finish-for.patch * remain in sync with commit messages which introduced that file- Avoid running pretrans scripts when running in an instsys: there may be not much installed, yet. pretrans code should be done in lua, this way, it will be executed by the rpm-internal lua interpreter and not be passed to a shell which may not be around at the time this scriptlet is run (bsc#1090292).- Add requires for slurm-sql to the slurmdbd package.- Package READMEs for pam and pam_slurm_adopt. - Use the new %%license directive for COPYING file.- Add: * split-xdaemon-in-xdaemon_init-and-xdaemon_finish-for-systemd-compatibilty.patch * slurmctld-uses-xdaemon_-for-systemd.patch * slurmd-uses-xdaemon_-for-systemd.patch * slurmdbd-uses-xdaemon_-for-systemd.patch * removed-deprecated-xdaemon.patch Fix interaction with systemd: systemd expects that a daemonizing process doesn't go away until the PID file with it PID of the daemon has bee written (bsc#1084125).- Make sure systemd services get restarted only when all packages are in a consistent state, not in the middle of an 'update' transaction (bsc#1088693). Since the %postun scripts that run on update are from the old package they cannot be changed - thus we work around the restart breakage.- fixed wrong log file location in slurmdbd.conf and fixed pid location for slurmdbd and made slurm-slurmdbd depend on slurm config which provides the dir /var/run/slurm (bsc#1086859).- added comment for (bsc#1085606)- Fix security issue in accounting_storage/mysql plugin by always escaping strings within the slurmdbd. CVE-2018-7033 http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2018-7033 (bsc#1085240). - Update slurm to v17.11.5 (FATE#325451) Highlights of 17.11: * Support for federated clusters to manage a single work-flow across a set of clusters. * Support for heterogeneous job allocations (various processor types, memory sizes, etc. by job component). Support for heterogeneous job steps within a single MPI_COMM_WORLD is not yet supported for most configurations. * X11 support is now fully integrated with the main Slurm code. Remove any X11 plugin configured in your plugstack.conf file to avoid errors being logged about conflicting options. * Added new advanced reservation flag of "flex", which permits jobs requesting the reservation to begin prior to the reservation's start time and use resources inside or outside of the reservation. A typical use case is to prevent jobs not explicitly requesting the reservation from using those reserved resources rather than forcing jobs requesting the reservation to use those resources in the time frame reserved. * The sprio command has been modified to report a job's priority information for every partition the job has been submitted to. * Group ID lookup performed at job submit time to avoid lookup on all compute nodes. Enable with PrologFlags=SendGIDs configuration parameter. * Slurm commands and daemons dynamically link to libslurmfull.so instead of statically linking. This dramatically reduces the footprint of Slurm. * In switch plugin, added plugin_id symbol to plugins and wrapped switch_jobinfo_t with dynamic_plugin_data_t in interface calls in order to pass switch information between clusters with different switch types. * Changed default ProctrackType to cgroup. * Changed default sched_min_interval from 0 to 2 microseconds. * Added new 'scontrol write batch_script ' command to fetch a job's batch script. Removed the ability to see the script as part of the 'scontrol -dd show job' command. * Add new "billing" TRES which allows jobs to be limited based on the job's billable TRES calculated by the job's partition's TRESBillingWeights. * Regular user use of "scontrol top" command is now disabled. Use the configuration parameter "SchedulerParameters=enable_user_top" to enable that functionality. The configuration parameter "SchedulerParameters=disable_user_top" will be silently ignored. * Change default to let pending jobs run outside of reservation after reservation is gone to put jobs in held state. Added NO_HOLD_JOBS_AFTER_END reservation flag to use old default. Support for PMIx v2.0 as well as UCX support. * Remove plugins for obsolete MPI stacks: - lam - mpich1_p4 - mpich1_shmem - mvapich * Numerous fixes - check 'NEWS' file. - slurmd-Fix-slurmd-for-new-API-in-hwloc-2.0.patch plugins-cgroup-Fix-slurmd-for-new-API-in-hwloc-2.0.patch: Removed. Code upstream. - slurmctld-service-var-run-path.patch: Replaced by sed script. - Fix some rpmlint warnings.- moved config files to slurm-config package (FATE#324574).- Moved slurmstepd and man page into slurm-node due to slurmd dependency - Moved config files into slurm-node - Moved slurmd rc scripts into slurm-node - Made slurm-munge require slurm-plugins instead of slurm itself - slurm-node suggested slurm-munge, causing the whole slurm to be installed. The slurm-plugins seems to be a more base class (FATE#324574).- split up light wight slurm-node package for deployment on nodes (FATE#324574).- added /var/spool/ directory and removed duplicated entries from slurm.conf- Package so-versioned libs separately. libslurm is expected to change more frequently and thus is packaged separately from libpmi.- Updated to 17.02.9 to fix CVE-2017-15566 (bsc#1065697). Changes in 17.0.9 * When resuming powered down nodes, mark DOWN nodes right after ResumeTimeout has been reached (previous logic would wait about one minute longer). * Fix sreport not showing full column name for TRES Count. * Fix slurmdb_reservations_get() giving wrong usage data when job's spanned reservation that was modified. * Fix sreport reservation utilization report showing bad data. * Show all TRES' on a reservation in sreport reservation utilization report by default. * Fix sacctmgr show reservation handling "end" parameter. * Work around issue with sysmacros.h and gcc7 / glibc 2.25. * Fix layouts code to only allow setting a boolean. * Fix sbatch --wait to keep waiting even if a message timeout occurs. * CRAY - If configured with NodeFeatures=knl_cray and there are non-KNL nodes which include no features the slurmctld will abort without this patch when attemping strtok_r(NULL). * Fix regression in 17.02.7 which would run the spank_task_privileged as part of the slurmstepd instead of it's child process. * Fix security issue in Prolog and Epilog by always prepending SPANK_ to all user-set environment variables. CVE-2017-15566. Changes in 17.0.8: * Add 'slurmdbd:' to the accounting plugin to notify message is from dbd instead of local. * mpi/mvapich - Buffer being only partially cleared. No failures observed. * Fix for job --switch option on dragonfly network. * In salloc with --uid option, drop supplementary groups before changing UID. * jobcomp/elasticsearch - strip any trailing slashes from JobCompLoc. * jobcomp/elasticsearch - fix memory leak when transferring generated buffer. * Prevent slurmstepd ABRT when parsing gres.conf CPUs. * Fix sbatch --signal to signal all MPI ranks in a step instead of just those on node 0. * Check multiple partition limits when scheduling a job that were previously only checked on submit. * Cray: Avoid running application/step Node Health Check on the external job step. * Optimization enhancements for partition based job preemption. * Address some build warnings from GCC 7.1, and one possible memory leak if /proc is inaccessible. * If creating/altering a core based reservation with scontrol/sview on a remote cluster correctly determine the select type. * Fix autoconf test for libcurl when clang is used. * Fix default location for cgroup_allowed_devices_file.conf to use correct default path. * Document NewName option to sacctmgr. * Reject a second PMI2_Init call within a single step to prevent slurmstepd from hanging. * Handle old 32bit values stored in the database for requested memory correctly in sacct. * Fix memory leaks in the task/cgroup plugin when constraining devices. * Make extremely verbose info messages debug2 messages in the task/cgroup plugin when constraining devices. * Fix issue that would deny the stepd access to /dev/null where GRES has a 'type' but no file defined. * Fix issue where the slurmstepd would fatal on job launch if you have no gres listed in your slurm.conf but some in gres.conf. * Fix validating time spec to correctly validate various time formats. * Make scontrol work correctly with job update timelimit [+|-]=. * Reduce the visibily of a number of warnings in _part_access_check. * Prevent segfault in sacctmgr if no association name is specified for an update command. * burst_buffer/cray plugin modified to work with changes in Cray UP05 software release. * Fix job reasons for jobs that are violating assoc MaxTRESPerNode limits. * Fix segfault when unpacking a 16.05 slurm_cred in a 17.02 daemon. * Fix setting TRES limits with case insensitive TRES names. * Add alias for xstrncmp() -- slurm_xstrncmp(). * Fix sorting of case insensitive strings when using xstrcasecmp(). * Gracefully handle race condition when reading /proc as process exits. * Avoid error on Cray duplicate setup of core specialization. * Skip over undefined (hidden in Slurm) nodes in pbsnodes. * Add empty hashes in perl api's slurm_load_node() for hidden nodes. * CRAY - Add rpath logic to work for the alpscomm libs. * Fixes for administrator extended TimeLimit (job reason & time limit reset). * Fix gres selection on systems running select/linear. * sview: Added window decorator for maximize,minimize,close buttons for all systems. * squeue: interpret negative length format specifiers as a request to delimit values with spaces. * Fix the torque pbsnodes wrapper script to parse a gres field with a type set correctly. - Fixed ABI version of libslurm.- Trim redundant wording in descriptions.- Updated to slurm 17-02-7-1 * Added python as BuildRequires * Removed sched-wiki package * Removed slurmdb-direct package * Obsoleted sched-wiki and slurmdb-direct packages * Removing Cray-specific files * Added /etc/slurm/layout.d files (new for this version) * Remove /etc/slurm/cgroup files from package * Added lib/slurm/mcs_account.so * Removed lib/slurm/jobacct_gather_aix.so * Removed lib/slurm/job_submit_cnode.so - Created slurm-sql package - Moved files from slurm-plugins to slurm-torque package - Moved creation of /usr/lib/tmpfiles.d/slurm.conf into slurm.spec * Removed tmpfiles.d-slurm.conf - Changed /var/run path for slurm daemons to /var/run/slurm * Added slurmctld-service-var-run-path.patch (FATE#324026).- Made tmpfiles_create post-install macro SLE12 SP2 or greater - Directly calling systemd-tmpfiles --create for before SLE12 SP2- Allows OpenSUSE Factory build as well - Removes unused .service files from project - Adds /var/run/slurm to /usr/lib/tmpfiles.d for boottime creation * Patches upstream .service files to allow for /var/run/slurm path * Modifies slurm.conf to allow for /var/run/slurm path- Move wrapper script mpiexec provided by slrum-torque to mpiexec.slurm to avoid conflicts. This file is normally provided by the MPI implementation (boo#1041706).- Replace remaining ${RPM_BUILD_ROOT}s. - Improve description. - Fix up changelog.- Spec file: Replace "Requires : slurm-perlapi" by "Requires: perl-slurm = %{version}" (boo#1031872).- Trim redundant parts of description. Fixup RPM groups. - Replace unnecessary %__ macro indirections; replace historic $RPM_* variables by macros.- slurmd-Fix-for-newer-API-versions.patch: Stale patch removed.- Use %slurm_u and %slurm_g macros defined at the beginning of the spec file when adding the slurm user/group for consistency. - Define these macros to daemon,root for non-systemd. - For anything newer than Leap 42.1 or SLE-12-SP1 build OpenHPC compatible.- Updated to 16.05.8.1 * Remove StoragePass from being printed out in the slurmdbd log at debug2 level. * Defer PATH search for task program until launch in slurmstepd. * Modify regression test1.89 to avoid leaving vestigial job. Also reduce logging to reduce likelyhood of Expect buffer overflow. * Do not PATH search for mult-prog launches if LaunchParamters=test_exec is enabled. * Fix for possible infinite loop in select/cons_res plugin when trying to satisfy a job's ntasks_per_core or socket specification. * If job is held for bad constraints make it so once updated the job doesn't go into JobAdminHeld. * sched/backfill - Fix logic to reserve resources for jobs that require a node reboot (i.e. to change KNL mode) in order to start. * When unpacking a node or front_end record from state and the protocol version is lower than the min version, set it to the min. * Remove redundant lookup for part_ptr when updating a reservation's nodes. * Fix memory and file descriptor leaks in slurmd daemon's sbcast logic. * Do not allocate specialized cores to jobs using the --exclusive option. * Cancel interactive job if Prolog failure with "PrologFlags=contain" or "PrologFlags=alloc" configured. Send new error prolog failure message to the salloc or srun command as needed. * Prevent possible out-of-bounds read in slurmstepd on an invalid #! line. * Fix check for PluginDir within slurmctld to work with multiple directories. * Cancel interactive jobs automatically on communication error to launching srun/salloc process. * Fix security issue caused by insecure file path handling triggered by the failure of a Prolog script. To exploit this a user needs to anticipate or cause the Prolog to fail for their job. CVE-2016-10030 (bsc#1018371). - Replace group/user add macros with function calls. - Fix array initialzation and ensure strings are always NULL terminated in - pam_slurm.c (bsc#1007053). - Disable building with netloc support: the netloc API is part of the devel branch of hwloc. Since this devel branch was included accidentally and has been reversed since, we need to disable this for the time being. - Conditionalized architecture specific pieces to support non-x86 architectures better.- Remove: unneeded 'BuildRequires: python' - Add: BuildRequires: freeipmi-devel BuildRequires: libibmad-devel BuildRequires: libibumad-devel so they are picked up by the slurm build. - Enable modifications from openHPC Project. - Enable lua API package build. - Add a recommends for slurm-munge to the slurm package: This is way, the munge auth method is available and slurm works out of the box. - Create /var/lib/slurm as StateSaveLocation directory. /tmp is dangerous.- Create slurm user/group in preinstall script.- Keep %{_libdir}/libpmi* and %{_libdir}/mpi_pmi2* on SUSE.- Fix build with and without OHCP_BUILD define. - Fix build for systemd and non-systemd.- Updated to 16-05-5 - equvalent to OpenHPC 1.2. * Fix issue with resizing jobs and limits not be kept track of correctly. * BGQ - Remove redeclaration of job_read_lock. * BGQ - Tighter locks around structures when nodes/cables change state. * Make it possible to change CPUsPerTask with scontrol. * Make it so scontrol update part qos= will take away a partition QOS from a partition. * Backfill scheduling properly synchronized with Cray Node Health Check. Prior logic could result in highest priority job getting improperly postponed. * Make it so daemons also support TopologyParam=NoInAddrAny. * If scancel is operating on large number of jobs and RPC responses from slurmctld daemon are slow then introduce a delay in sending the cancel job requests from scancel in order to reduce load on slurmctld. * Remove redundant logic when updating a job's task count. * MySQL - Fix querying jobs with reservations when the id's have rolled. * Perl - Fix use of uninitialized variable in slurm_job_step_get_pids. * Launch batch job requsting --reboot after the boot completes. * Do not attempt to power down a node which has never responded if the slurmctld daemon restarts without state. * Fix for possible slurmstepd segfault on invalid user ID. * MySQL - Fix for possible race condition when archiving multiple clusters at the same time. * Add logic so that slurmstepd can be launched under valgrind. * Increase buffer size to read /proc/*/stat files. * Remove the SchedulerParameters option of "assoc_limit_continue", making it the default value. Add option of "assoc_limit_stop". If "assoc_limit_stop" is set and a job cannot start due to association limits, then do not attempt to initiate any lower priority jobs in that partition. Setting this can decrease system throughput and utlization, but avoid potentially starving larger jobs by preventing them from launching indefinitely. * Update a node's socket and cores per socket counts as needed after a node boot to reflect configuration changes which can occur on KNL processors. Note that the node's total core count must not change, only the distribution of cores across varying socket counts (KNL NUMA nodes treated as sockets by Slurm). * Rename partition configuration from "Shared" to "OverSubscribe". Rename salloc, sbatch, srun option from "--shared" to "--oversubscribe". The old options will continue to function. Output field names also changed in scontrol, sinfo, squeue and sview. * Add SLURM_UMASK environment variable to user job. * knl_conf: Added new configuration parameter of CapmcPollFreq. * Cleanup two minor Coverity warnings. * Make it so the tres units in a job's formatted string are converted like they are in a step. * Correct partition's MaxCPUsPerNode enforcement when nodes are shared by multiple partitions. * node_feature/knl_cray - Prevent slurmctld GRES errors for "hbm" references. * Display thread name instead of thread id and remove process name in stderr logging for "thread_id" LogTimeFormat. * Log IP address of bad incomming message to slurmctld. * If a user requests tasks, nodes and ntasks-per-node and tasks-per-node/nodes != tasks print warning and ignore ntasks-per-node. * Release CPU "owner" file locks. * Update seff to fix warnings with ncpus, and list slurm-perlapi dependency in spec file. * Allow QOS timelimit to override partition timelimit when EnforcePartLimits is set to all/any. * Make it so qsub will do a "basename" on a wrapped command for the output and error files. * Add logic so that slurmstepd can be launched under valgrind. * Increase buffer size to read /proc/*/stat files. * Prevent job stuck in configuring state if slurmctld daemon restarted while PrologSlurmctld is running. Also re-issue burst_buffer/pre-load operation as needed. * Move test for job wait reason value of BurstBufferResources and BurstBufferStageIn later in the scheduling logic. * Document which srun options apply to only job, only step, or job and step allocations. * Use more compatible function to get thread name (>= 2.6.11). * Make it so the extern step uses a reverse tree when cleaning up. * If extern step doesn't get added into the proctrack plugin make sure the sleep is killed. * Add web links to Slurm Diamond Collectors (from Harvard University) and collectd (from EDF). * Add job_submit plugin for the "reboot" field. * Make some more Slurm constants (INFINITE, NO_VAL64, etc.) available to job_submit/lua plugins. * Send in a -1 for a taskid into spank_task_post_fork for the extern_step. * MYSQL - Sightly better logic if a job completion comes in with an end time of 0. * task/cgroup plugin is configured with ConstrainRAMSpace=yes, then set soft memory limit to allocated memory limit (previously no soft limit was set). * Streamline when schedule() is called when running with message aggregation on batch script completes. * Fix incorrect casting when [un]packing derived_ec on slurmdb_job_rec_t. * Document that persistent burst buffers can not be created or destroyed using the salloc or srun --bb options. * Add support for setting the SLURM_JOB_ACCOUNT, SLURM_JOB_QOS and SLURM_JOB_RESERVAION environment variables are set for the salloc command. Document the same environment variables for the salloc, sbatch and srun commands in their man pages. * Fix issue where sacctmgr load cluster.cfg wouldn't load associations that had a partition in them. * Don't return the extern step from sstat by default. * In sstat print 'extern' instead of 4294967295 for the extern step. * Make advanced reservations work properly with core specialization. * slurmstepd modified to pre-load all relevant plugins at startup to avoid the possibility of modified plugins later resulting in inconsistent API or data structures and a failure of slurmstepd. * Export functions from parse_time.c in libslurm.so. * Export unit convert functions from slurm_protocol_api.c in libslurm.so. * Fix scancel to allow multiple steps from a job to be cancelled at once. * Update and expand upgrade guide (in Quick Start Administrator web page). * burst_buffer/cray: Requeue, but do not hold a job which fails the pre_run operation. * Insure reported expected job start time is not in the past for pending jobs. * Add support for PMIx v2. Required for FATE#316379.- Setting 'download_files' service to mode='localonly' and adding source tarball. (Required for Factory).- version 15.08.7.1 * Remove the 1024-character limit on lines in batch scripts. task/affinity: Disable core-level task binding if more CPUs required than available cores. * Preemption/gang scheduling: If a job is suspended at slurmctld restart or reconfiguration time, then leave it suspended rather than resume+suspend. * Don't use lower weight nodes for job allocation when topology/tree used. * Don't allow user specified reservation names to disrupt the normal reservation sequeuece numbering scheme. * Avoid hard-link/copy of script/environment files for job arrays. Use the master job record file for all tasks of the job array. NOTE: Job arrays submitted to Slurm version 15.08.6 or later will fail if the slurmctld daemon is downgraded to an earlier version of Slurm. * In slurmctld log file, log duplicate job ID found by slurmd. Previously was being logged as prolog/epilog failure. * If a job is requeued while in the process of being launch, remove it's job ID from slurmd's record of active jobs in order to avoid generating a duplicate job ID error when launched for the second time (which would drain the node). * Cleanup messages when handling job script and environment variables in older directory structure formats. * Prevent triggering gang scheduling within a partition if configured with PreemptType=partition_prio and PreemptMode=suspend,gang. * Decrease parallelism in job cancel request to prevent denial of service when cancelling huge numbers of jobs. * If all ephemeral ports are in use, try using other port numbers. * Prevent "scontrol update job" from updating jobs that have already finished. * Show requested TRES in "squeue -O tres" when job is pending. * Backfill scheduler: Test association and QOS node limits before reserving resources for pending job. * Many bug fixes. - Use source services to download package. - Fix code for new API of hwloc-2.0. - package netloc_to_topology where avialable. - Package documentation.- version 15.08.3 * Many new features and bug fixes. See NEWS file - update files list accordingly - fix wrong end of line in some files- version 14.11.8 * Many bug fixes. See NEWS file - update files list accordingly- add missing systemd requirements - add missing rclink- version 14.03.9 * Many bug fixes. See NEWS file - add systemd supportgoat06 166365965218.08.918.08.9-150000.1.17.118.08.9-150000.1.17.1sviewsview.1.gz/usr/bin//usr/share/man/man1/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:25997/SUSE_SLE-15_Update/3da10022376f039712f372d2776f6a85-slurm_18_08.SUSE_SLE-15_Updatecpioxz5x86_64-suse-linuxELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=0fcc4a80132d7ccad28c47429a19a11ddd790f55, for GNU/Linux 3.2.0, strippedtroff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix)RRRRR R RRRRR R R Rh0-r츔Kutf-8e58d24c255040ad8cd5f37e7b27805bcb368c1995b3d69417b45b993534a720d?7zXZ !t/ J] crv9wq@2 mTk_L_#c9 ,Ej8ב g*)q4h{2>3lIwEE ֈwVov56pAFc"¿sKS7c.LS,6 ӌı}"5\دŠ}>m h*GdrA28qf| mk>z5,e{pKs =*.b$3PB={e#+Ĭ)(a֗A bKJ̩O~-N3g!晱=?Z%*ATMRV!V{LɇhF}bSe #ۘDo`>l|r(ipo()Xz0wFl [Z6!QmGsw<1hp1kJwÍWd5njT;nzPڢ߮!7:*'DvZcl)p yp(%pt+8rE{3;{ _rP5ʜ- SDNd£e-;+oVH}7cI|D?[5#35 oM _^ Mnp!Y4H/x)\;wKZ6j[[ZE*6m) U\^p|(:LjNZnNh{3vP¬hp Q\/&3hP$-t\SK:lmR&Dܾup߄3c+!~q(.m(^``j݀Q5YJe_4t? h .B)ye\@(=nJ}˹Piz`fT'.h]~ia6rb&u_oX Ҷx6@i! %K\ĪfG~' 2uG:l7k"I5;~Dz9eK/P:lW J~6 >;Im,)[u:xPȿ#K vCi@n[DOyR2KzC2U-"dCq* y-Lu>Qy1PNlL@FSluϙ;֭UHήQh6sek͈HY#¤Uo:/U"AL^ց#G1 iB+NJyޝu[^Pö ܧAӖ bJ .1(L,IWkG+}޾/juLx;|{o҉wTn@RPi~p'ZKxx0OeZ3 3^ZxN$+ݺV:oxG!&R)^'3Tf S[jpU2=$s #3kOZgעC~kR%?IYݑ/%z^_%9 ߃<‹Y߉=D Bp&AC,~Vٵ=B7m+ \S堤Zwd!t:!f(*f Ъaώئ%>+sOڞٙ_n[cAIJZ4G'*hDsdƁu.[xf-}yj3reN6.Y8b@azH-^ljiٰ+$ܳ( dr>@Ki^{U|,I9qTg?ՂxQPйo)/ tbyԹp1I3YScFUQcѕ s-IF&ϗk#iOt>Y)PʶY׳>ǟCgCz~%if=Nw7J) hc47ʯ%R ix̚ı#|CSdxR2mF5Ujd 1qm~Fɮ\!txU|by8H*  6;~g"pTR0Ws*_J\Yh+Ǔ&ޥ7{+lO1I7Ϝ%pM3އiЧ*ICa$Zcpv5c_ ԗ:=Z}[+fnۗ^ Y{3w=vqCL}M72Dun%]' 8@XD[߆ ^Ig_ %&ip@ՙ¢e_%:<D\v1x@.@ս)zV-,jwZ9 nCo\ڴ#.'H@iҷH3?(ˆ^üH+:7~`|jT\Y5JM|)dT^BT]>tV,\]t ME[eo*D<& u$oQ!@mhmgw S˔W3=ͼX Nz睮\ Cdņs#xԞi= %GM]І8$+g2"˱u:kg8R' gzzamrE,]bv}% +Ӑ. \hPц5z?}i>| T=(]#[Z9o >ٟ&E3|*|95ʍu`]VNVŗ_o@Nyא#PX}Of_ÉcUsuMk]Ħ{ݭAY\" N],SUKO<گX+Zŝl] 7+H*Y0!' SMzSҙ'D0~y.Deb GTH9GA 8 }ekvg+buԭ(В\S;~ןE5ӹgȨr YO.c"vJ2`=2у2T)}+B/>@D_sG}mߵKBxH:0V@Ρ:ǂ_:AaSږE4bdj ;i`M,ο<ݭVL~ 4RG;[ja>^pt ^sUFX^KI 4 x%9X ':D̰TS K`,EZ_4^'U7 |%pLk_99(D$ lVLȃAMG *e)K=x"&x쫝9)јzH'< Чaskf\!.Pq*6!J{(I2TMꍝ9}왢WD6A=JK+4ќre8 .1ab_.:] pǯY[ $T;ZB t#T5a\%})3g`ME*N)OŊ_6EÎXfƂ(&;U}TZ,E*'k*`A*6fSՌ!LRQdؘ#pƅǔ|ÕM6s٢zdЁqLܯ?# #`̂=k/f$]i(MON;c+ߺF5Lgµq#ow2:;uz#[^@?}Lxj. a 0ޝQO>kzc<,/ZN]Ʒk\\5Vx0F;UxG9dKfy4RzwN`n4:'g*_qgeWG% sHR.5 ƈNH^yY+D>Ī ;V4 qrJa::{py֜acbrJ,v0!rpy锷2S$')L^8x/F PղhCGvNAB{#'924tR¼='6 rX?sҖQ<{aX瓘O C_X8 tqbEױsK,h\G?T,1椪bkD0\\՝ًb,a{I6r2 n@{n]((uwH)u9-TN3a-땾yqb(hxK&h6KaOfk\Bͪy[ aR#jo20Ѥ%؟ 8uOYԞxY ɐjrEn~yz\s7b8KW K:KDeaw.F硠b~`^clWڈ$f;r){+Zd'4KNHTHHtw/ \9C .M)r rGCuԷp[+%$ ׄFUAfI5f Rv=F˾}+nބ &>'GC׬ Rcج6ѧH̽*Wp iM;7/e᝺yI H5gbNTF !Vc"U;iZy#bo@m~8gաri }eQe-7jw7Tg?_r?im[ᇛ듆أH39{;1.z҇3iܓ W;3<߅a"6ί|J`ww')5OP3`#L#jUonbp;ZZ,(8&ը} ZɧO$P@XqW@0aPfJEʗLQ|:d)*"\ơsaȮz(}Ώ:9os["_~4 i*HȨNRWnnz`Ch1*=U7G;>9{in-\lîEi:s2S܉)ЁDwܬU~DłįJPa[<Dp"i7VzVsQQPߗ_ (+nh4^$>*|Meb4wG9ve&l}>i t2847r/Sz)xo,%+8a(+jh1Qǎ*Qo$ #줻KJAniTh_ihhc1@gl;s{z,e0_wHUFP)oP0_R1M=B40xcr0F$#cF iAJ`bȜ9H E]U4lf)#zg~;)Ny$VTyؐ~dKV$G#M #$GCAGcœB+ĵ$5V!o1GēΗxشtdw5h4fir%&tPN26B|cN *@)_@w I`uHxHLy}冃Q)ț ?2!n~Fqn"ru?_tEYVrwI 2|:q)ӎK4 ~?Y?q95)#RXTi]R,!!_&hu^.#; ]cbb1SNVqUCL ;f?@]\r ,;}pkh4;N<\+j&B%5ROrKP},5Xl]Z cmokN\- ! k'НնZ2Pjd5m7!DvyOyԈuOJ;wm(GV8܂o>HZ"YcFP,;i g@;`iB뤈dK k+YUސk=#A'!  'CB6@t5Y/4|b5h?gEܝe⼿shn{6CiZv?B]ؒ5~FϚ٣jZ&9U/":%C!@M~u'G:VM1ĿOZ9l^.ո*#,4SIY&ϏAx}AOɡ FoCEaM^4dLn}lFA?h?aU\֚4lfTMGe+ͼR1!J`hӕ%޶3Oӓ"AK٦r0 CoAS`t.1\I#ݍW7펜obh)v [;e۪F~Â-HGo$bjIH⫇a~n[W&,vYP1Bmxy:`p^ ~I ]̧T~'!URz5ih[`sx9ḯ*!Sqe,Ou֑*-`YP%*Tc];zUO K*'_xG%{{ǩzoCM-Y*0!#:ٍ&9z,O`"0N)d: `EJ@cN22v=zUDþ_iN͠4+:_H"HUlZޕCV~8Q-+ ͸|UlsPjr ^#W Xj9"4a(`qAWO*|7?h[Z"ʶc(2 !@a1rM-5xuJxz)i$ȧxKpg?0]k2,~gCic?fmYm=w *3(4 F`@)c\ySŦޱ9bVJV|7= G~Dn[۾n܉[ư~Cnq Jq5F~7Yry 1i$x2EHA:BHo'?x˸Agbk''_[/fm |nŖ-VlޥoD[rGim*5BOD_Aʉ'vm0Mmd81$:06IT$!8`0oxj.U9Ս0>sȭU6ڛg& h%U<1ʄ?o84OF/WtMkߢ^h(˃gvqD4VE5ң{cԦ.rK&H~݈RDaE ctyQYR<u6=eu{5۳ (,D zf75mKv%&- ໆD#O3tCo ɐteqƫڞ&`xQtdQΗSm=2EnLQ .kvJAL҈*js0"#o9 ԑfAQ=}dWNO!~z*?OPoΡ•=g>zzX6@]irB, v1% %su'z^FT*A488yo d'D{w xegٍڿ_"9 $~3/Ʃ8*kZ~MU_V5pwx]P`V(}0wo\fB*[|;{#l$:{k0h9 AzRJ%Я逧OP3DVwtqH̆ujGCVo,p22Tdr]BeT )INs=F1չJ+ 8HɵlԸCp|ǕT)<\U-vJ{u_G ֎PgjNmLa̷&c~Ƚ3?7AVG:?'|j֣LM0sJ ݓ`F^,*R[dj(ZZfD4,'k6T80s1}MYݎR0"iʗ,d\Qs'-iLO!S|6}C-8 l>I9VZq`{XegecλӒx#1aUÌZluVל(֓gֳ.JŎO oҁ"Ҥ5.L IUVml2-e$z:. ʏMҗM<]1Q6 'F@2cws]wۯ-~s㥆K@@|Ni9{﯄д/d3 d8G9,ʳ7}a.o As۪m|9̔T=^4J2.((d> 9'7B`B@U4rER4ey:*Co~mզx{( Ds0Vx"~YH?Y#IM5ڇ\´t!Jm _uzӉ e\,ڀ m.){ډSR?uі"!E`O.ʲ@)Ў:EKahrEϭ$Lu6͸egdqxI>42XZ줭cR`x5PA6{]Oc7zW8usa:7LgqώH1צ}N(\x`N5i\r-bXƋnf/pv =zi&Z(|` Y+=0Ե\ڸ@TqrJE#}ea[ q[NKnt=Z72˽M R/u^?HÀdX(c-ٌr-*9Q[aakIJr׫fa>b 7BqqRD 2|xX6pMBnM/mj];oqij!9w";c nEɐwA}Tn1u.\bbX|]L._jj3 u"MV 6rR4ZuAtmrυVfiOCw7>6χPH$`N-K:l#̣,!g&M [?@,2늆)c JȔGf-SKTRhM"NOj=걨 `Ԑ{/]pI7G YmM ~O^5ī7jyѮaDPb.'D0 ӀJrr ?B +3Hɏ sBޭ |wJ}MtP$*0(&곷ɸ1PL,coP/ՏO-oR!Q/^,x%ƎZp^m.($e\$G~IX2sG'?Q.AȻf K?O{h z:2gę=Wd.hoN8MyXA''=# hƮSCz'?4UUkk)fom,5>D>ΑޗI+S VU!ͽ la[g:"u`z0 0烖u+ڢ' `w"f=/c̙j|!x??ZbQ%zcGO:i`Zt?.W&ر_P1==}3T9GPst6!z`3rAh`!߶uqZ ·+3S==YW "a/\fJ Wy̚.kJGPU[~{ۡm{Qm_CڥB-ʴFV ;Υ\?7O3A6$21^7GN 9^.MA ~c ~2i~B Q$X"[D80Fݫ4Ʈ.dq9NI~,:(SnL~#E4M+GѰjlIG}гTΒ^N_pXc2BPG1w-t([$t hR`s}9&{nPZS5=~UC8o1be ;oTC4@[b+{JZ!@l0:$ *A2FҘzs0rGJr:%\І-_9 DlMf)C<.uˊЬDr4K;.7[$z,N~lՒT8Sq~6OFÏ$rY}l`?.#ұRaAqI EuMp:dj Ob $IųO*8TPo\o^>C1zF~@Q%#ꩇy䖐$S4EtDTXM fv/5AzWq9QqzI ʛlQ*ŠD%WV#@kDmKKnDuiHUD@bC]bQD{0U:PQ+*vJ[4hkzZXֲJt1!t&a18$&Gn@W:¶N$f쇥U +w^U 1LmHͫ .\SmZ:nNM[J2awP{t(oOۏܤ$EhJchiqdec^J1rP<C1>F=S@2؛r8$SdSz"-9O1n/ay:XSخ}9!?K=OVfncf;(jW~JOVB-;;r LCS+2XasV!̋i1N_$)m~ n'5=kWBWc'.l5Ћ{0xE,^mh?;T&PssޚM5R.|cN:-t!NcOJ=yFXɛ&W ~%^6Ԧ￟F,yh1xѐ=L4~*C,S2HxмP/[wb;\-h^f|w_6+6I%t`Q#or;)ۖ#yJxz~gwJm+z0 4DcCN.:GNojP-YN [}%,;v 5F#bZ%.UrR塁epG !K$#^u`NjF>X[\Rd͝ 6o ʏ?ʚ[ՎXHO-~2ԠkjbbMO!ș!.ÁRvo09pE_)@)W^W\OV徭s{[aM>)Q25*ue@K6#e%U^-#y(6즔jhZZ+BPG-hPdo?ȽBjta2UY,fP9HJ~3bϵ$]7KX*L|$J)i># yeOlpnt~H)}LHd(I̊Ntl 9uV|UP"PS(Akn3@0<,*Se!y3FŬ:' /g4?'Q; E܍D 57߇S#v#&[ĤIwq@et,!sjpe;laSul~ED&%|^_zhmI3a[%cC`<Dᙑt?PcH*TNn)&3nBemM?N*CI*!urWQfTZ(sh i|@-]}|YGLCi7O.W:Bp |PV0h*%8y")\賜3D7g3u6d9n4 |Cy苳[f E=Evu@E7#'"ny)J4WD`d*Wʚc*BRϯ#|́otXbϔ[n9MF !:JCTXjlꔼ$gzN|ɥ*HI:a,f'=' # uw]s_'28Yl[|>ǫߝV規M=Ŋpa UMGAthO7[dC*OVDhJ}%bg!#9&|u{PSvv{6T;F15UGɓuX! <5+tTxut5IkAe})vbdB*Xgҧ:[KR2F jM})(IĎ~]%}ƵN)DU& . &lwbtl_gGqe.+5˽BWw纘q7~ 㓖b&dnB'$nݱ@ (!`i2y?^90?`LᎢؙLd|J{(C,f)_+):#S pgO 3?tF7Rg S0~lP9xZsil ~WhӨ9hܪ-7%Yq# W2ze| qN|\r@ӆeԁAy:H&Iؕb4nF^ XZUssk̡XXY癯2c[Z?KQ 5zrk'"V4;So 8E)c-@/,sʒ)BZ`g98Nc4|1FδV{)2eWStT"7_87KI_vC<Pt,. cjk"#auqC[[s j  U3KbY'%佲9O д`ѓ/914T;m8x!qgÜGЍ/ khr|v&hPL?[@Z<>j[&H C矌xm4TBRp;.yewȴM5r{DK#%ZD 22m^B@D0D@:(8t9ܵ׹kQ_z̐θ:I#W4!W5vֈ VrК @[2ͤzR`mq4VJɆL* %gahy[`K~wJ .'tƐg_8U߻mݸ>oM ,9Lܫo'◨$tz=\cj8_usNHۍV!]7P?xEŁ8_W|#Q10d*r~{&el9{jub |QZ-54a x`&^]`[;nY"V|P=+f{ӃUQE%DǘkM qUR}OɫxlF]S`|5HǬ3swbqY¥f2 ª!>HJQb` gzt`z^"]N%ʹ_7hcOTj\YWp>3_BT骎g[{f~rt\SP;"̞7@&}wISKp'i]vIJ+4Ь-di4:;[}dzbC p::\ư'*NAiT8oͻSq" A$gOndC Z!NGKshf(Lh̆zR^^aFԷhZt*~_;2ТyMHxl".`V-d+>qV,ƅ qH=+T% j̯W¬:pkjjq&\Wαd:Ȑ0i$8ŧ㙦mBWA|̼6` OhurGʸ/CЬKS399Ņ:$eLI=ױRK:Wí8P[=n_jӝKx3V:8?l 9]օp1{<̇QWHio;9< ?oZ"4oo$p]s hRu*ȀKpqVI(O:dkfrbSLIs~NiTŕ/9P2˝+s-Ph~mc|Uj 96'RdNoiS' v3uL//챟0.}V$ `&ܡǘ f Fx5e Þ׷Y `kXfuJCL(>BpLnPqOGg_ ~rM?Djp4u$`.|  jPyop@-)׈ 3ZYzlQAOYFMl#,C0wa޽QVZ87Gl'c ˳v2k5d~۬x~lt)vE _=L591wP(}z /Qt@k i`I6.e#$e? p{W CZQ8U(.Y"]FlΉBr3~LHM@ N|azA,6 F+'7lt%`:!tǽ@ނH>cL'&OOΐ{vOߗ8\'݋J|T&",6Q')oLk8v1<֕VB ^gMChi*-ױW캒J 4ي ݹob}Y3OX\{`k5PBsbی޵@64},xa7x"[8dBgt&j=pО唕mF0r^gV ;2ˏFޜs]0Dh1eB3I4PߊcZKKu rw[՚my1)G;[-)O}7gs+) Ѫ ЈbGջF5%tJ;O]6a۪WJF2 Aǯ[eʈh}_6HO%˳dž/}&Y;XW!h7pmc9Vi@Ϧȅ-7d>ywq  @JK:"ZNv{PHѲ;C~W.dhgwȊ'=3#U~JgU+PP' 7(.U O'o=vse߶Q{3t`wLh5Ć짙TcѬ^C+}+bj9r/^z{NL zp'$I tb"э A_YAuSWC55A˟t,gZWɫ4_g&zȂ0#F c_e?tObHfSԡʅ7uq((dbIuen2GAJ̢EMhsgȏ˖9zH]{czA[@66"{x؃R|z.<~NxTnHkF~ypArU /`n~^Dj,#q֗*_'C 0Ii~"C8R5 9eۂ?czhK7Eᬋ*SeWsC8o} Mm=d^3,ҜA:V77ZU1@ɕ' eT"*=":4ԘSߋja /wKzסļ[QzZx, 6!*6s0zrỉ&kST^+Z g?>/P VcH\)q7dnc۟|[L"Nja xAЩ‹63HLv /S&:13M@l/g] b]Y Ujl/؞`Khp`v ǻČ]l.vE[f–-O*AL4tn3`^z3}'y5MFlg{E'N}k0F\te'C N1[]VK2av\zc9a׮^)v8)tͬդd]De,g&vfݙ;'JU[dfyL1(b5Dî|sHuQB@FyN"Ity9GKYײZst8j_HCHNwDM/4vޮjqZP=(T~$CKvaW"7@e,dY F<#G3 h ]0ؑl`K5|0CѲ:E+ho@T'rK)QsZF>U0i &  Ϟ :|`2 ;ES*bG[ XEPz+Fo;ܗ3c&kfѹz4j5͌ /ڨ"э:0U ϭ!/OЙZH7xk)+R1 S3a )$&9€>2F󸙨ÀsMq:Z`:5~ߞ:XE1sWZ+mZi 4v7Jh. i~I2~) ~F`:n\e'~͒?%[TƷ{@WٳŅ%U[)͖}:%7Wxǟ\TW{reuoXpl^IIRzwƁO)KtʺWbcz=ë<3ٜFzGn(er6*\Sq:E0VWaN,`bB9𒌅A'@Bvv3cr_&6=W}&<+=lV@K jbXnړ}4VV8Y^V5Ս& d|0CQƥn%Vd'S ~t.ttt#T4`~m8#n+GU*{"hɊ g7R3Q%\]GBW5!ċwɳrӨ⏟YDP5> ]mNq'ez@n!p:RZM$]([r_RVsM A}Ƴ)ރȉy8W-ͅO|&¿JA蔁~Nð͎cRwkNbc.- Vz*P|jT_OPxi`kdxvBBt>P('* Fáw~ݍ 3h#7n;SCra&J Ċ9vڋH'yu%ᧈBUצ BXݜ)oBҰɤJ2e"-C.ApΖ/+!aw.)4 Թ.C0Q GْӮ & P:q,*<&r5UcVhZ(%vh0t]o/4]k";\9;8qΫla%Y /Z[&AA v̰նvIO yw\vƱX{–g^`0ӥ@2.46Pyr!]eh23$ ]iQT.p*=$pnZDsOMi&aœLN)_@݋qaHueUtW15(u ^ glmEhF:17c t6"$w*8~ Asp>={ya~xy;ajgnU!Ctx؜֮ƜP9Ng`~"ڒ~<"U== ޝmB(XAc{S=I>=NJ+;ɠ Ǚk0PTO@%81-:qnhnqoTj$:P;׬z4f6uYuWK$ix(8ܜ}jWfޑHon/kLqx h[5V[q-뭽^z̍Kj6sF(@uN` pS16\eyo~u+ :ts=pB%r_r&1a͎"ϐ7{|~p'2ސ`yU(3yUsDG5y:ɱԻ=*խOttVэy' &lZODkc ; s|i鼗>.<9ڱ~0@ "g+RR̦ӵ,tםE )9ŜC?)RV_Q>dsoV5eҨ]YZ3$8@; 2DH_`2ظ@uʮ .>.9G*ښJ#~tS(lrk]T**fnO!pU|ڥ"8=&go:u&ڲp+e$c_5'p-1uNZe gzFy.ła(j׏$m6&)"r>)w+Dg0Vvl/ Zg$Ņd?f n7apM.5ZzѺot-]}ߟ`[OS/V|p'PvpKx$O:m\C:Ydؔy/_٨=|0Q,fқ xv( @[6*jyg{ɔxQ;O@ +UD=-| o潃/(&Hu]nLB&)_^6Mn qKܩi `'x>OGJ*j_N}"rya!3z9 :k 5d ;Yљ եSO=%oօPڠ@5=?V33 4nU:PCo-8j s;Vz9B WacaFSm]g֦CM&*:/ :dEvOsB\?\.~\n6 lMZѠRD8fX+HBZyUL`u>];F&ja]MU[b^hlr-FM~GkǏ9I* Wg/Gc'LYVpFɛrYn0䃉yvZ;ѐ[4|=.l{tNcr w?n*q>{SpttU$4x{U 1oq$u_RH vo4(v]xHqeT<ٷG3.!b7 J ePLIwTu+R Vf-ơOL' ϖ@nIzm8Nm8>֥bQib LaT"V$ j4Hu.4aYԉ52PjD-=\x3}m ze:=`jҋ6++U4- @g _wNG0lLZA.Dn< ,7 =q_p PzW֌_| kBa7Mfa\=0k V+&s3e+ȫ 3F4YEt"Mޜ*?ZS|Mp{Lϗ#|;*!J:/".il-h1u%|rCCڬ{L$V֕RϗUOew:q'PB%{"8oZ xmI& pD0jȁ#FP%ibB42(`܆kp]șO5ÓsƼnA?Dc7YY24>XgOS3A۠^9nN=/op\^h㳁qWۗ0m%X"֡O90һHoFHbFơ㺣:OF Q9Y"DH38Qˈx,Kr8SNITn&}1?%ڡ+%ʹF(EߪX '~"8r$فl)͝pVF %P Mwy`pi۔c: Ճ6YnOR4Te/:pݤX ^DI5s#. ~&cl\Tݦi 9UqlWJZ J>i(&/&ĸ%4-On ĩ("d(?54Ke{)B<ץa}`'%"(/Ӵ*DSlJwvxE [s fb*Rpr-f- /Ίh5u۩Y;'>O]wW'%;A!T=A*G Ѥ`PA| ڋU_*ȍOFhdRۻsBjQD7pH2֊wk**cCGR_1 46f&KP"LFh 9B5s,kgej1/n!21h=Bퟐ۝s}ģޛ&uM B*TeMףBˈ ę+viA.KBWUbs2sOk,ܿ 1V2ˠSi7$%Fyd&\70*\t2[GاVQ䊍C2g]A"Is^QMhP|EmzOV{D{[ߔە \Ryqu"da}RbW@CDž$aϚsYW]٘+BIeA%x;ke_=4yUΑF[6 J&q!:g9Jh[̔[Pˬe W Ds|0癹fvR] Tqq0g A>b3# m%;M^*s;زKIuo5\Fv-iwU7$%{YZ帾&=kձ̝x~V]k@<z⇎NzasC3˾)8ˏ-e7 S&U88=eZoY2TmJ?vϪ-@8u;轥gT aAH=Zk2]6)QZ0 %]> "@DZ(M'uxP.\c99szzjOR4b$巼MP"Xw|E q&s#3ŷ-[%)}wMfBq<*,3>ĈzRE1xAg7v8Owzc ~]NIوX{"J2Tሌ ^;.)n5ek't3uuQ /u}R|fOzzbƉO*RUEyHq[eX)?D]Vc87Dmen+qG}7FP|nF3%|wǑ#x9ۨXYEĞʿGψFƬt*nwU3SX8◭eC=/N"4w w>ts2K\)I'o.ލۏ덵K-°dE.-a4Mĵm㼆MΏ(?ķG[8`du毾dz>37'\ZߴVa:y^bP22G,*{Ѧn䌕]M!_ 922d]GȶQk4ԏlU&Tǃ:N~;s B=+,Zp9 V$Fd@:.b.&zIzIZ eWZ qFsš|:אAbg_zZ0v_ ߅R@d3meiyUn.v(ӂyoW]H9sD}=a3F e?fzO++ߕ' Q>d98nW2uFmZ $4grqT ZXɀf3_WW yT_7szZ ǵ#ྫUQ68 |#y9 kߦC ҂B7* ? 6tZR}+&˷Ѳ͇TtykyVVk4+z';dcǘ w0͏[λҴ-!7)W+79 7|$oxrfL:>&?\~1#5ToW(,e)O>kBx%PkM`z3Z@#Imb%j&4h?&o]dAsm˓p>ZDw2z1l]suhBfBV%tW=g[+Vrё#y?a'FSd9F69DLQ asԙ;<L8+|e_0-q.FPص%clk[! MWP}Z4MlVK-!+<Ո6>_*?}3.i<=3܈}BD(gb|[T * XN49N!|a(e0I6(*CMb<׬q"n8\ 5,8eL4^8Ⱦ,Ap=\p8OzUqb_^4Q;ƣ8l,Y*"j"د*P,Q@5I]vfc ÿ7yNŦmٗg NT̚S NKsU'̽vTml`hL}(obܤF;Ӗ_&d[x@䰷Bl4"$f-]b;w&[l:HU謏m=xPْBI@$zjR, US<~WC:\n }͓j.loctN³LXywa(9;L3ݖo7|l!A1N3~IS? cUhɶ餹3K-_T nN]JuR0V>Op_a$2}d0rv 1%,a(>ngW bG 1@|a8 nה9K!k[֒yP3E^ltW˜t#N>~WٱSM C)rGT+Xun^"՘X'VPf:]?ȟ}dҠPuݎQ=u% a{m~>3\xTae{WnRh"4Y0P9ep4L%zkI%$|-&Ly-TžW3;ĻtDzw P 3=8V D MN@>pn9x L<{K@t3\74  a1{9!͉K)Dr)4u{C'}#rrzf2(6VBSpQ?Lp 5P-u퉷9t`<Ÿde\4J֙?9oLadW%e{ٙaO.Z:< d.g.n5[,T,W fяB/Q{զuuuD C_Zqbu_5@走)"  >$)4 (!jAC,J$FeЃ&#K))@8ڋ)yzwowMIp]K!iq ٵp=CPMa֮㤬XP\ka1 a~7dQY.`aE$ܛ{;n|̟,ʰJFZUJg=  9y?;KUA +:ưa:#+%8%D 度Ѐ }upJy'եJ!Ŝ]&"yr=Wo+ K߇2g{tLF jYOsZTtEeƾ:gCVdW&>34 7D[ 1FLn3p&Cଣ^.ɇ^ z(&eUBRٯ/ŞDZuየ"6X ^51axl@j8C0E'iH?燣hNKb2StZ!?B"b,ikEGz}j~=NF+[ޡ;V7,P o1>$O x!U:ZgW7 4z~>p0|a{o Nw#tw^I)e7{ijʭ5{|[H ]1PPgI%&; ljnVj+z2QM[}xaݯ%Ǵ]^U)bd L]Trm]b'fK, h[3^ e/m3`y~k6޷+&g`G"Z"*"?h5_-vB\Md~ W8ޞk?^<K^i;N+}CF>@9&cD{x0ƓYq4Aq=N)ɇKپVg:) )bPq)W{[L"[ 쪿%|Ɨs;:=5F)!NIH-vnp>=Rfȑ^3l1@/y+ =v&fFȬZ`ɈN6.@OkbT7f* V.2X/){"NULC5Yj OB DycHMq$#XAսWiDӖʯvOϢgOZZAH7دZgݲ6l}K4?Wύ ;]6ƾ+K%N"Tr􊞉FN㹝JL}|D,)u>Rk$IENVjnՂ[#2crp!,. ]@Ν]k+ӂ/ș̖W tΗWD(H`h7hcE[,gȥEii eLj~VktP[?sj 6ŢZj鋉{6^TLN;?Gñt# i"8QM,ޒтY o܉w$Ba5Iz ƚ 2֓kkn}856\j1L/R}4ԷW V |HO+X<~ ^ S.)n}4ˊw=i'ʑWN4jjx.)ε7("%;X- 8z?S AFs|Z&S}8}q`@䔙[ua%9:!\*]Ķl3/S&$/bTk /@wsѴaZHDCAKSK u qM+1fje|:,Df**h=8: (VJ i]\Bv23jq)Q)Pcy]yhFz(pfsDG0Zc]I:8s۝ GF0&3 4ICy?_8-l 0Q{%,N3T:ADq|ͻ+vj*Pm򍚑~K pQ>SthZI]$w/e O*9oLx7 (*xzLIu,Eޝ% %=7'<"+Xc/%'ls1'CHO.qS?MFw԰,`U:] !b%kT&w fys+ة4"T.V0>HYGJwKV5AA.(~̏Uׇ%>c*9S{ZCR϶.K-T`H0  ݊{᪽?b[?r~8Vb| 2G-Rd)&A2)Ndv닾qaaS 0?'It 2L];sE$ Vh">BnՒ"U)8ۼ+o蒤&~ /1enOӍ_*G0}- $zéLÀ{kBSUJA1ˍ7g%=?{~#C4$`ъ:x%#?b:X }SeҸLwKJ(m$C9>!$aC_Q'fՖOS 6QI =_( ?iyIN`r?tE?g[Vq{+^@Z6‹r| /~lޒq}_S~Ȅ~ǂ{Z_YS}B_*&cV^.!$e041zDȴ{-&ξ G }ֽXB@aH4>_h!t'`}hm^wV3 Aqq"oIӈO A[+PFp/bϡ a%PMgz,*0a>H6<)Ioa`k Sʶs~o+d)2!EPdfS*[o:kUM$[>CPK>B7leD*?i ]ƿ4.K̎inp9j/ge;aVxMٱ^)˷T/}S J!9 [VOxcnk(v3%R:yYhrt:d2kR0OGſI# F~>]R ?Ef;b~y"p{9Dn¢ !k,L"A5m%Ww Xkq_8g"Ǥ0XNP$5Fe<h/^]9DG$^Ly@:tjum^h`qصYܔ5%'6vZ>w⯲|4;tavVIX4pqTީ3w}Bjk,ڂZ]RnB|j49&5&cP\^^E%ҟR'pJʸmbډ`U?h"l򞄳GP{HBK KDW Hً@|RUOy6Vq(&I=rR;%y7e rZqS<)0Ztl}B*5RUY-϶Bjȶ-^~d:[v y{3j}$HIe X&)'Z/na\#c`w_h>O6݄*TPE!LEz :*vz$j;W RZr).aNčD}_NH77jWYF7SuQC#/'v]*fi2bc=q)Y3Uł, ȉ&bcC]K<,(۟#0u͌Y4֮:}^7B6bglk!,ջhR3H+i&<{0jg-5%y(MY|? '!*FOw@p3g2_0ےeI3'1ue'2ʪ6rH̵iP~(E8=lgM\}UiiN |z!!>[JK40MMzt#$q~:JNXʋ_XlG6x9)ijc#aV4YHy3UA&_gqy]"-w-Q@|a`bﰸju#^A7%v61I$UA}R cQɂb︷GvC YoT;ZkD}Om@X8)Bp}?hWF @·J]}Symu2^gD4`|I:=їsv)6a 0lɓQJNFb+6o}NatXݒX% P6L$SֆLg'vY~LQgKMZ30~8Ixց1+y C/M\jYD*`Ap@Ж+ CGQ0g?xoi ^ws|]lKaW?`j9iN>x9#b*°\C,*/%X`DL'iChog  $& SȥkPw|0̎\Sl窉 | *5ࠜU'#m]-zؑ GWM5>ƔxYs^N~xI81'> ^ !ܭ[JB⁦jﰞ?lKJaV}~ECRŽ7>ȑJePWjS*D&:!AT3A ~[PFpӤsV}G0ѡ>LAo#k75IR1i'Jb p(6@5DlRQhq{~nG/{G5ClFoGq%T{(R apThDE2osD: %Ij_rLII窦+:9LA٭otQ>_b 8" ƧBxUSE]AgUeUVH Pr>ZW"9ޕVvU{2U ȏ5+y|$ȈTA$I0$U#d\jaY7oϓ(0rA?Y͆n.5# }ld# %7n9/.jwh -ۧ:Hh9&GI 1 ~I II>ۅR qH~.,B9!} ڕ}i6 uDtuF;RSNg\ #p&R!|sޏmKBg>Ɵ |0c2ȷz}ٛ MAxYpQ##9=k3<ȂJK@bTL]}xRw߸fԼPC 0f3$yU%~#B uhD* k7KjpĶ"NVaMn6f-!vWtE,-)ؒ51Lټ|!몤̳kUHO뵆'bƑ[zЫ8P@ɉ](m6AMemPvbhy%-˥ Ӽ/5T6-]JrɗiE<վGSP'%~f<O-9ߑmсֳ^ Ű1^NpȲ64M(b }{3X//(Dſ"Ҧ』_A`,}p)>RjU<;8wiu<4n[8.S c܎jM60d{H'G;"慓WTK f];A JWR0CI4P)]!Sq\u`ς qreɪ2}M1wdz+*J;Ƴ9hUOs.{h| Tqޣz"JwF!Ž !) +kjrvI[r|δuYn_}.JV%JFCJJԩjqܦWa#P"1#"R;tqwZ,n% #e'+ظnÇYsVєԜ EP%QIw ߭ CRRԙΑ1 }FMyPNbĻ|篗l\ZzgJ3Gm9ge~),ɁzM|n_j*ew{Fw7C`_G/nnj=ipMF5ׄZe{:-10WXsq0rw蕧 _>D4/`nGh] -P0eAfS -Jd@ÏH<ٵ>$iV7" HGu+ JJ_6_X@T~8/.Nɂ4+26pʿoiٽYx3D]l D6SUX"-ҟ3X zeg.y%YTYPiǠ'qѨz?_8=GFO00Z0I< r'f /(_yq$P &~GOtN1 z`=•zp`s8}AJo"ٴs$>m0exX 2Gφ|Za>OX:4C{IfQ ?0 ߾Đ >^s4yyG_H= DRԩ|jgf϶bo]e<կZֆ>C0"PJ^˕Oփcӏ ގl;4ȑ|@+IM?8P1ѿz%WD3͍ DQ? T;DȰpHCN`rĮoMKNod+?@:Cmb0n\L׹Eml.&e|\a3JW`z#GwhLZr p UZpD80V&u+ʿZMmǖGJ JAwn|y?p< F Ii42=z LiU[((%꾻Ew2ֈ Ļ׭cU؞L8#g#P23k Oj]xȳ]d8(f[1QGuU܊a7M'7u&)Wm[U]z%//qxDDo#uK+L}ϫnwj3j}޽BZ'3Sn ̡o :A*ũÇ6[ez^c0k[GY&IޛK~kU^h 1M(}c <\ƲC,>t5NSE8U k.A*E%صB?VNY `'!vrmVX3eLj"]X9Y|R:j35{H i+…WG6`.8 *gpC$j]<~{GLOzR3N.OiFojczf^WhkV~!%~Ӌ#/ɡLʧŗg{s5i&~~¥R s*v;Wc߁2:wy@!U3]h~-, aiTq9i9ՔafcIw2)!þ8,OjuP9BC\gM$ѽB{s !T$"6EcӜ3HT /W tV>Ι` G$4T >ϧ)!rAymyì#RWcdp!k "@lM\*n k =sv?i3yٶ7!1FzW_vQ`y2YO&g"Ö(pTnl)r(ín:AI&NcQM^B=i`2ޛ855}hRQDWX_n,N$́ Ky{!F=W>D?%%}e\ q}6ȱ|g^nݑ&&v9.UoS3~!REsȢwhƒM9Ql^۰lf+!oa 4O3kxd#[{ %DLv[U~-nUK~EeL 3 ;XnNg@ Mb=50! ң Ǽ:lޠ"g{+Ϝԝu^L0Cq/L$gLAp:o bw?2P:'un܎9]yn~UzdN+4oґaXv!qt6m{I"x;۷_]3f)!uҥUD]Yyۤl40}Ux婽 vlX\Pc077Gp|Z~j%Y@Di? #~ER@dO!ǶTߨzˋK_Fܷ-0dVQ4[ IU%.pNfT3Q.K/1rHa#7wBJ:IA~%a[L?2#Fp])Kwvn<-/aCnŐwrJUpe'34_ 6c>PnD8 17cX%3)zJ~PH47Gd #OmI)8:ޢ { XMyשՋ>w.vL-_6B1(3Eg3%O FD?t' h %i10ٯ9 K>C`Ls3k^mJ2x)rnmgEQT\5* 'SDbDJESwjf#R\*9gDylc$)͡閦dR`3 VRy/c`  |\uvFU` "Ԃ|A< s>TJHBbh 42Qdx5VCnYd6G⚜ܘIA"y'pVOB1f o f J/:Y^Nco_ 4 )FP;f~RŔߓGcDBB-g9i_igeT/O]Ve P:J}n+ˤh8 &?jJ |Y )Z{p3J%C* u͐lR* [dTقSyxMY Qxlxi`#G+#2DTiO`)p|YIof'ܮ$>2~F뛴i+,Lت-B2ry 2rL\ 3 欜,R砋~C O{l;42,Xs\iG]Y X5CF7 8@1lϭzm5aYLѮ'>mR4ZX'W( (yJza+K9(*լng$%6xZOA蓡pRqy z5WvK-dQZhfb}nh\W( [XQ(2o7m{';qԘq?jh<^2|I Seíe FBQ[U$ Qy==}pXa ) oZ\,jk;U#Higtif-K - >=xK0IyM,}5ӜhkC>MIqQ1 aumJ[Ont%-Du)|7]?{ `=08叔[ mǽvPs6;w)HQq-_B :=& a;M &G@ƨƻ;^["oC 9ݮ}%5 X+V@BLVoq&;-\ )ʧu~aˮYcÌ]Yđ^Woq x +\d9`~>м/sϨn%=r[=xџ䲯1'uǓ*- {X/Pf|9UlRLWmrPɷ $WZB5aN*sb$DTHh}uǁ6o:_`\ @[hvѼ:81#wcm9ԟ~ ӛu*k*\F=/".hK +]eӮRLGpcv"c$f&AUk6#0(ܰ-_O.*"Z?\aA(u>A9f/Ԍo2:3T@QBE(ѤIڂ7RInBEƤ?+KfpFWc~:eoN! C+AzNi"~h \4XaQ97 ~17pʟ϶](֢ԦϽi2#Wg4Wug[1Qޭd{O/?A秗VRզ{ljXjdzFuƿ$p: Y+9T=S">{?%XAئW,@j'LIBͨH! X1<[RO_6" \Z- ^T1Nq#y cIL; \`qKWG×A$e±bh4nA$U|~:LndF޵,\5 tJNo~wn <WW7c{+8bC |oD񩖬kUiңP@LUI']'ZP}m:p8fnF 4%}7i>VF=Y+Mj`|g7I%AsѰSH^@pW|Eỷ"6+ުG* P#-zX,t+H0J}2a gL轇&ذ<ՍJ2l r$ $iפN{2PK^8ⱦh+y9s _T7,8 f%WbL=7p:{]/"MNeq4wUO  )=輁~BQgǺgl1-k'D<= R7BVBy>Bl2O%OpMfSB,hfOe*&c֟0x=} ` BuAu`<;5^c/X`#M`r`Ro5; X9Wyk G+3E$Om򾤲r7k[e.ҟ sn@ߒ9 ;2-n^/򡞃ϦZ})슋&$ZaWXi\@i1l)!DH )v#UPߊpbRKh T[&FhIpm'm^qfA֜?|H?k[-u./_ ~%jwO%hmW Alqޭ;\lFH惦I26@sPec&OZ|)nMAn)B X"dk ".=  8IKK}coaAy--݁Ws|D녮>__H5mOQ@N\[X・>U\le7UbEtd6wBr2Uɩ4 iC-wg]ܮu.n:8낿_̿De'$J7ҝl wN2d׊^q%vspk͹~ՙB;YbX $;%1@'&b)} J'%=x^̠HpIN`ѽٺ澊R'݋tU0 #ގ2} KX j#:$Lswl z,)[zi@\,BaQ5UA pL׺Ѹ~)V n{ߧ,_̤_:1yn[=nAFޠkÚH*ZH;̗m+`yE Mj 6ƃ(k qS9**vQA-sG/uX4@k_i)ۯ꜊Y#6l"Foy|\,ۚ0=qq^HۺHvFT:4*&!l7 ,WJd8p!c{ZIN^GS,f1?\,Z۝ Eo"<ĿNޗBS4ZjA0Tx/*2: 6yi*d N|`5l{W5T8V)sa>i'{* QA])h4D&sf`n:~Yi縐9.PJ%f5 ,Ϡ ׿Jx$&^:Z&+~\PG/mCU+u f, posRxhM 18gE@.1?X/?-D] eq_k؅a7,fYn%I0$G.NH1IHO͝stͶ2V+l4ߵB/"7U ? וΓP+|S'ƌH}\gOsHe:uHE9k%Ԭ)@ږY`j;yB<-Gy /GM|c3$1"ZנvDQG @;j܏<ܲ閭;~%?6mƨ+A hw%)6*KFv2~>gOKR3XְMBl7`GHa_A+K'[.?B%n1UO+C~NI|1T\v N-҆sK#t'tao-J׻PFl_%JйZg;<2֮K-x$nѬ34V !gSe|Bvj[u?AP΅=JAtQ*2oB픛'[CBd2:YHe@RC %KBcRKb<;{:3}o41]gxΜU&/h|0= uηbƬӌ)(O=9פE:&P\jfN:]a-U67߾F"`5J?GHrEuV8D Li(s{[1r}C.z|{0@bD4* 6Y Um@ 1|} 0DӾ#UqJo8CwQW*&pޓT0IjG_q˖nx4Rm^TXZ[KVJ.h*?U R.QwatP RX4-.\;vԛS8oo=h {$Zww1O EҾL`epFG (t *ߪvF vy ʐvOyz #V?.&V={.IX!lS–i/L ~R$_V`˫EfM<{cǗ\VY+ѓ%`OJOUuм<ƙZ&ӕ5nNs2V&kzs]%X|#'uR(G-GP}R{>\NJzg^Iz${^ƥJf #:P].H!(YYa~8TK'wbF^֣7(ڬ#V J|VGBڜ6㝮C;t;=9xC\/#%~9^ÿ*eS/9)g3owJƾO2}fhяRаPRѓ]E`ӣ\ (nWSIZ sj7qz׃|y )5b NYameHmZJJِjMXNhߌN[%7E-MF.xbO]'Z&njYȫ^/KZ& +Zv!5 n"X̠ϛ>lL_UnMY/jĆSh#W.$f&~w?S{qM@}񱭡3$Q$s>,Zw4^|كQrm*d+baaU@BJ]"{)9j<NҘ+~m.:׶>6Y^ElQrnyT\Łz&60uL8\ | P|JatV٣zu߷h -/;2;jIEb">[+#Mc~[.wy6a=h7-Z% %r^V?ېEJ(i D Pm#\HxZ")).&rVJ:=S}*|9' w /WgGL^qY p[+]n1kM W/Tׇ@L ~jïxa̾sҍlP:6#61>|PGDekZz~{w =Fq軪ޠ;I@n&sqzؠhey$W@nE:kcj׶){K2D/0|(X$Mqb]Sg]װT2tdENf1 /.+xq,PjͬN}1Xsk5ZݡhM%3u /\fJ;ҌZ@.]s-1ThzBr+cR៬]IGH+iW'$s#:cQÖTp r݋G8=<1c8 '\ ̫)>ߍK5ՊbO",׌n Z2復#}?~k^Ƀfalj%vwghT?[OB}dPPbTlگ2b W?RQiX8 ٛ3{+%A0DdL L3MR'iX}M٨W2]Ih 3/:S!k,TՊ~@Y( ԣGDxҙcg2jFKAaߺ#y5{ _cq!i90ht-{JEްJi$֑,ܩO+,z A/f 0<Գ*{)GIK/B/d:bx>]lpvfbMaik@܎#|7WQ#Bܟ}9 AM@;{|nz4ziF>gLR]U`ƩSPbsn)Pt(:8Qsy\3z 6%C*iCWEͿ8}$-W) =c1|M' ;G-kR`uV`&+:\\gwוF4 .0$;lJR$!faVc/@ka:yon񳥫mOOӕ^e>)7b% >$ZV;FO;+)44de XDG5F# y ۰df:>'-vJ J%o`ܾgCvzHh]~ˤĺ+{Lh bVE$ͬaCff .P`{ V>ABRWħS'x27x)D- S?_z- XS p,).[Bak0,t]XRL!e%]&~?f]U:%zq.OECQ,xv'v'ʂ-87h o吙EU8cx!7PqucJBF ה oStBS_q@?Q%3v@ˈ^ eX IXH+6g-ccYMy9;tdpi3𮙨D=>{W0mL)Fy5x*jl`0ҦA3ȼiL;"vw+E2/pdz܅=3X|YZI"@>a9'R2ןQmܶR1창؏e(Fݮ0g[U!TW9\A[ 3h ҇:;؉*d@Y$>ZXz|gd?M/爝Tv6+/(7 pwG r+?-cIYT)$"X@v l1rely١rt9[%@҆iEL(aϽyI;t)2̕qi1[I)dMܩi6UQ|bO#|H4F`u "aҟ{~2J +Et;MheC7)eﯝdJ;$$1TKGX fFS.c شI"@LGRbEb_kPɄt= A1_bԖ3X5J{F6E_^)֒DV#r-]΍o+φfIuX+ k$JQuڟxWi(|, C}c5N"gjDO.juVƮsYFp_=ަz*0_ZkMз4#+|Pc[ R鷁-9bz2:\PfPhK~RxaċUB03jW!{bT"&zDQkڨkl!Y|p\g8zD7l@q? f!( Y3T^3POENǜ.ǴX p>d4cx9~"BR=CO❭ x t0xfCOA2t3hڐ]RlBS\8CAPG\Y3[(kZL:b #z 0%n X[RtRaR.㶌(uǀ1\'eLƄŦ2_,h0B 0'&'뱴 N7"Z P}9bjUiFPDsW*&qq-;T9{T^z#=F)\ ft&w ! Ҧe"~ϜVlY`'8ٔ&{s&ou6OԖ S1S#*%\cqh)?woT5@#E*CǭAsUʢe!s2@|gT.Uz}!R#}TSV#Ft=M3Oz#0b/ PHh`>TnEvdY n_!zݩ3ӗKJJn*dŢ;JґO!ˎ'h!s(Aͣ%7}l=RrF{ѕ=]rxO@JeՔQRXb_uA('crh\)~=ÁӜ:%w7 f8vJC?24耶 lbvT)zA竤> _uzn `zߺջu9w[!JmS<2?CDbE|t7sWɭj.ϦQ+kѿȘ3rq\R/d5jyٹG~Y |\Gd}_kd9Ґxͫo"HRC&rse[L@>Ec%=Lt*& @㨲W9fkT l?\)28bHਙLJ+ ]VQN)UQy$wF tA9P5etwVd8…˰x{ÄNK#ڧA˧qD-KY^-Dᢷ9v~C?nn‡'04YקX9V`ryHMoP! D6J*QAċC"jE\R= MS@efTB#SvhUHP#m-|ĢOb Mt@$5K Ekzc៏hMk'lg&m6E͈gz"0$H)f~xU0^vcG['p^cokbd[]R Vpqσ٭ebt hd-ޚ:Io]w1,f!KL@҇˛|<?^Sk!cwP9"];-͟ov[+DU~ )7CUP}==wl8 {Yv晄dG~y+,f&2^6M$w(YUXivm p:#lNg83):4To`%k_OW ݽߺg(%jFqCA>zL"L9Hv79I)ԏp% `<`)|4|ωśc@-`bE"ZkE\Tvh{@my>ϊb}U(\tC|a+5}w +tXOA"Gށd~Bu02Z - ao51nә2de d _37ΠGSV q#3!>7}fӍL6].'@0e?'*[JxL"XI͙:OLZ)LMHx3n>]3)ᮔɺWNi1~T0mڬ5SnzM\MQu^iJ! +{qD0ʢmB{Iv02ҾfKQJDE/?}/Ma/ﴳ (DKGzMM{wTG;Sv?] paq CSV#Jd>zKgB*+p."@MCr,{Y 9pt>L\IC sWޛ_сy3ѿ1ZzȩRȆxgYOh"d#v;o k+͈y4PX"tS'0h#x'lɿEм0ѥ(4 q;0S 2dɒv|#\Ws$jd.*cpW3`- $pjJe]vY!o?;/m>dgRi5"׹;}xcbZ$;}_zt7C$CQcczy.sdO82Ћ9F`t{-S8BjS(ӣ\_i~j~$WLs/ph% O%!3kDRAkۺ^O Rfh%%&AFGa#%s˧7#Q 5 kHᘇ72pyk&V+翁lkU`nyǃ$>.gWJ4U( ~`TEV+z S\O}4- n(ϗm(0թ5-Ȩ0%juh뚊XIftIED UeNR4;g+64PR~CS zȺ3rx$Je~kRN&/tƉϨ5? & k"*pddT]v B} G|; QV+8 X@Nm<36  ɷFҴ v;ZuIpkv.YIki! u+k7Rs薇Nx [(yTX0$$M7Yޥ>@J6 W|*$&eÅFY D":]8(i$QAQ8(&H~TbV?)- Q@e_մ}T54N2;w34CF7Ȉ;u+e"b'{mum٘S:K` Q8 ֺnpDU\:o7=D; nWD"򾕋xl3υXqԥJq'9zV{uϷ45m\;,L5q<zj‘oBUojIRۼOB8zuÀBe`0ْ_s9;E/6%Zл,/Vԅ+d&:eɂF{g|F9(@|5nyYn\77e臁,ITk䂠{8u?(+_Ot!-eAlEw;ﯱ08C٢Qjm[-Xy;C\q(aX8=]L@U y" \E/u׫}q,P4n졆wxC=Q%֝v-&x=>B$d"O!;nm.z^iڹ߿?N^bI9|x5$}hQF9䁔kd?&N KQ}y㷃l슮9F8!eޘ"!_BB˳ j@7wB&nolaA9"D>d Δ*> yYÖXMdj_>^6&]zR}%3 % \V4^me'!!ޞentZ{js 9[Hq(ȕɡ6iB ^~KF߈NpGឲr@GLcOd)x@~'WEfm`"a3%A k>MVm;_>T9s)jX;ZFˑ>n~tյ\ѹ)=jwCkm}#CJ'~FCTji v9/3,۲z5%>*im23i{> kvR\ҾHv.>p2`z9H=H͊A#'"Ol*;0z$ ґȹ䅯e=3;2D1sr~O7k=3YW^ ^ rzw~dL0j/ XTg:yJ!:dw L;=nd  O]?p=U^r` n+s.mT[?\eGCa懒\0@S&hB;EN;#$M`]dM,ӭxo(JP>OJՠ 5&+sYTYnLaӚzWex;'796/ҽ|I,ܨ|DBaOpľr8^2Zf2 GWݪ,环|f~ky$+BڂqGFK)ْF=RS.'*\a;8 b=N!ټ;>i7n)ծy?>6َtk4b9( Cx$:+J F7qDGԬtEzBDJ/L&|]# MF: }@NGKk]rcǢ,pb~"1Dail3JO?PHOc͋}+RXo#N{S-!9-e+d] |o:dQt=WE4m23~׾OlT|4 1ij3>kZd<^qέwҽ(+' ʨԷc_u]s Y'A6 Pl o1~؇A[U%ۛY (e3?DFQ䠶ཱིtZ\9pf#pT w}^ǽsĬ Q!y}6Wax1 WJE|Vc(+nwJ4eEQI gxXڷj·3Ͷ.73#.I( )li$:u(:~ ט34Yڅ14E1Iauȹ=$q@Sﳄc S1΃ "9AkLUY#G ըg ͵1:<}%4m\UUiV̭U cͧ&*"IozaBfGLռ2}Q קvB3cWғӗV0Z+cH(0{"TM/A9&@b`k^=Gghi7e2SH諟pcI@7l8v_K焟 Pۺ|I_*H)s)DTץ1)o~[p4:5pn#%[8h̅YI&e Ӂ8d8w- %̬ glXMFN*"ms;f$@V' {}IKYnHz]>6QJ:L,Sf FXqB$]7 ) qw^rҿܙ,_\L\Ìo(Q1.Gg ?&M»WfMk䳅'1kORqcUkluy&WA^cZգfp6 i6݁lrP ț!Īϒ\<@WrzWV?sֳl`0Ina'羞T1?rk-0bBg6i6rw!2-݀ EE+AV$o\:S6mTM_j1?8E({$ԇg!-Z p ΪP)0ُk23AgPs)-ć% l<݇C[$p_2!vĂ\:uAMKQk]-k7?ggz|'m5z<2-%Sܦ-)gY^aTA]p+Euc^z,SAM/x1an2\oŘy_M[RIн*7~U!Jbmy ߁|4t*Wg|Z u@zڥL9!*0pLjk(璸]x&ji喢%pRP]b`aϋ5C[*n*9ˏyC@ȗBh.e ȔKaE(q$VCMHn f`L8!VrsުYܒ@Q,y֔U ٸި3uMށ,(@])j-ɌCQ?M3gxjN 'QvF^r0.$Ct==8vO=I _7;N #эޓhk R0Խ#c74f 7_i qU&78i]\Dv <^@6j)֬jMUEY9$b5!wu4"%I$IlXIM[Sس+(QJvih[ל$H$5lvհt8 a R"v.QC/ʛ585ٰ#͞Cm'<%2'<*xH ZBkTmpoYu'bIk-$%q5C"h[ 7H8XA+&{H(af AȀ\VMi-J&:ؠ Uc*$5ýGaZ%ؖ*{|?QSͭ'Kk].?boJ~5LL=oUrmXT2}UKHNA_U:JntVVlrDuӐJ@COӗ0TW˜lB_$ަdޝa/JmN57}*J~:0T[KNSY94| p Z(f0w BT={Pm+EͺNĀu3KqgPi3`ܙ2wIFѦ Q)n]̿ ^PmV%#/ ,2={feS€Wcqv[cqZ|Q s fp%)f{ڲ=D!F; PB6uлF +Lw8^UZֵ!q6dPU'< }e&"`gJ^/fB?ԙzyoWԅ0PSo*#D.`R'hv/ĸDM͙/hQv|2܅lu!^]ތS{9mP [GLn;*prMzuz#<_<9<.dt4Mՙ0wBNsy#*F"N@rbOGѯU_RF cVqmmd,9<ȸWGœYU@d+47 O4=\6ϩpY̱_wSiUJ*r"!vXTb+"+`D荣R e5䵽:;%ްȏO4S_Bù1 4s5FIrF!kNu гxUt^>j TEޘb6n! v#*2ťQmUڧWG}舿g+Tg]- yQn0銹/Pa$$AnH59gJuǚ'DS 1*+24l鯵 MMjN.$O{S[6{ X -hg6?t@UY_.Dž˭ݏH. k/0GpH7qLsSE@^~Ǻ@TvUY+76 2J?<8R.30~Ol S)ϰC$A?:Lʘ [gF#Tr@6LP*ȏW-\|̑k՜@ v #b̯i]3i;Kַ@=C3 |&HB veGEDµlErZ?=1Rl2ҐQc[1Ch|Yߓ~#cc}PS+qj]*μbO #ND2ԫS̅UfΊ6" G8cx;=sK'*.(P[^&(fn1ځ=yA6aYr¸87afek&VM?]lz\WQ"I.CEmv{Q`_W>&qF9mFcw$mi뚟Ko'?q\} }r/!@F_hذ?eҗ=Ev\ZaĖ q?}ΉyXH]Tvԋ v UXGd6 PP3YQtMM›LX9䎞GJ]F&C"\3gc;͐pҲ+[h{.'Y!ۣ:p[LZ8Cz\•^NNӾjQȄJKjK V`w@qMUvdkh8I\uU*B_R'?R '#A@$I,:(uR*?h A3]G -h1ZZ`ʝޝ) e&`l g$ }59QȇtǤ e6!+п'l2@c>X؃Piӥ̦ڣ| ^AS ׉CIɋf盓t3qv )*iwHb3ؓOFc#oݔ^fmd)3G?1ȉR|7!ц ~o?O~a,d3HNƳ-i#|LkPvks<{!oQ8^慦alQto*<]4qT):a~=CЙ}cw+O=[q=&>/&8W W pJV H\>ŧ&u>EK ifsG7Ra| .-āGG1~4^+-R~x8 Em\fSPĀT&8H.rpATVנ6aDfH-CQ\l!1T٘T:S7i~^6euNZ-;` ߠD^[sq$-^\ -"|.Bz6wBDu_ip:_~wOEvR෼ yVY3zu!2mAyEw Cjݵ\ E.ZkIC7"}+b( `ƏǺ{hw34Y#>L+; ߏ fF³X|Gi#ο*7{cs~t?F>Q1U͖'[hCBi:.Co9{4鞘@Bf?'yr_Q s<_$; B3"7߈t5/k4$C4-bF=(yng)u>Y(eQ (ҳIzw-TVx< &ٰUz9iT:178LZE6>fN}A;Dұaf4T^1d\{pB*!6㒘d.Tyd/f,Q mb&nj6AddSEjW|9E[S($Q} !v0feLصދSc:oۋb.p4+ Mo@\p.6} 5DeuCsS owu3[',HqlBj4v])e!!lP=Lg:$ߤC#vkICI,뺢KktUD:f`B_XVss)NGeԄ]D R~BY"Q<|0y~NjwSg(n<łEWqsu!w˱cmn0ɜ*l|zu!V)a zؙJ(#oȩ)ߢɒfoja49^')-0LofM=lmROg-M u(0 c Rsmo143T,EIlȑl"՝"Լ= FțzF !^i hOW,d¹I,CL }g{.~3~$Fh ~h'(ۄ 1O])V\.ţ.k:R}#٤r='aӈPnOrHBtkAh.~r}JcL#S C~6e@ɱyʱĔ3z%lm +e#>K!q$`zҺggIh/b h},:;+ ^(5g? l|& "{i׈'qcbn,Ř#fWM8Oydž=]1|sd0[hL:gY:`#T*j ?u9Y0 |E=f{zM `xѰEʜWmWsIKrFlGp-rG륺b-}*,nʌsX{,%^0X̓X@F8RA|W 1A3ǎS[:nǸRL4 0ӿ|V ab\E`{uerlS eq~mz#j()~CK(7J8_9om迒(O`udr)@$Mm 83/oyjR$UO4=mMMo| Ĩ#XwYP2D)w6Gc֍Ϸ`LT" $ܽ}_J0㳨&}t!xu9"םwֵ˫ S\#/iҷk ԭAgZ= lO򏄶hBŎF*{e6jN9e)Wט16?BX'5O |W#&ub]M/:`-aߣy$n C;[0~@½*oqW>RlXqބ29# ߈}dߙLs聮a6׌5gP[區`[`U>_xؗB ]6„MS>mdF_+ErW]`f|mdtF#$mڜ RCV4 (]cNۇlj3A۽%7D "a(XraNF?]`&P@~i?z0VX%߈0Mt~ޚ=Z~t×R-q `LSJ|H" #L`ZA!F|sYD+?r EuF8'(OWfWѕ̴Jϭ seH;i:>R߁lEY-/x."pPɆxĻQ@}-9Peh0va֋P UB痆^+W Эogc49C%#qsjB` m8$uz<瀤fp3 u$Ȁi?^[S1:jq.Mѭ={Ϊ(楢G:m25ڣSGpTf$w quK\lVDR nI]Kѽǎj`O))-ݕ&1㑋!L{&9;WVD w)qӍ1ܸw!nDnW)UX!#R'ɡ K8TP '_ 0ʇr+r^P{Q;'u᳜GkFL d妼p0j_ުx2- hAqJxSy?K=sђ@fFǘt٬e\([ A-y^] )b? ]B34)$2Q֮loC+dSy*@&c~(곷U,_FҮ8{iUa[L-էO?Nys[.:[N?<9sħx%(||>"F:Y>qYbv?Pٵ !jDݟT0_NHq†L,hәf_LhCiO$lP:Wxyaj<[ʹuYW(ѠFIGXEf 3LV:A@ࠩZi3(JeΓ'*oO<õm ^G{Տ3>c>ps̺zKd2*6)`y6/`Gs ( =G776%)N̙6)1cS.gAH[$:侰EBo^̘IvkUE)%Ƌ]9?d%Vmwh%q?Tn̦!7LT e(jc0Wud&m;R?+MLq}gPٟk7'aѕ)[S};4_Otw4ik;O iw#J͝ T?.M-aJ` !Ku+[5-0FߖoB(ʽDJ'0߯s$Y؊D]:'O 8|?k9(`Hc*75ZosLe=&g=hFu]pa*\=xd TC'uI@g(=O,.?M16BQMi{p>F@V(Κ>!a| gbmp@ڃ,7h |ɑPRGخf"ָ5*'< (J~ `pBϴ \n1Oc\"Di- {Yuެ\<ƯЉ>#ILoZ Ol5TdN[~^4\˰PhzMd;Ԥr-K>SGl;vf€H` iGI=eYMwYE ?H9 ]QzI݃ny2v+B$E.uVԑӱ'D[R>Wm{(>F/m0zDP'٥ֽO&r?ڛɻ?n5HӰFsU0hӣ'@ ,Yލ?}H¡+Tmq\4 BKLuMy=b~΂ X1k~v9c~|qp0wֲDZXI)8C&fOߏn)5#0JyFZ:;dyE3~JʵR,7 ꪵ y FC[k{8 r}{2NnI֚]=ᕤgY+#$P^/~ $ W?u5Sl?fPG-[oG76"Ua@I?fdO-1n(_)E=)^@ ỻgބ 6z~9x  U9$)S!U=_CBo}\dhD*0J~>f}2䚴tۼFtnfM>i\`[[ąD#шf@_p-]wP=IG) i\sqnjX $;A4wn+G:Q/J`o kpD0]ptL JX/ܩ" #G[5Yh_G#0CLvFY ǝS4~qwDKr6Z㮎sźA[0A0lf= ƛAJ1pzAA\FP1x% 3@ px2pw/F.@$nO$D F 'G j.i?utgdRSOtm ö>ĕע$kMn] ԔcUMwZ9 =Zwʭh5)l*7BFEG`d䉀o=@cPգ8>$餻dlɲC̠hөrdA1`3 C;F~t'PRLY+Rm$u[C黹ޑjߛhΌE2df5e ӝ<(<6"Nq"2q{rfK0N֥SMFXYSYT/⹵#mo>?XX"'c_1 xM+aCHwaK4nd 0,Dpv15:ϯe(;.]Hy'(SdnBq[=;3,twɅиFVn”$CdP*<3v=ؖbgS,TOяT wIexK~b.0ى_Ǫc%H +K俔цoFv~OyU}'Lu ,l Q1|7 ׶:ꥼ7t>3u}إPk2Hԡu58 i:s~r okWq>r=P P(}}JɑQy^f7GDrMD/jvN:gLIx 4` cuX}R9 ꡍzǒHr~G 4ҒKQLߎuVoDW2?C^Eۀ(0Kx4Pj 925 q@?RN-5|%=5Rl)KFXڌ{$6$c@z%VX\4.`@#]`-˷A|Ө0\/я#S]R4c7/ [D (^'uDmH /r5X yWx)sPJXY9e+_5쮋9|.SaB;6:FHom6v7]bvxX[Yyu6!x#v-cνCQb{Tweۅv x :ZW`q0%Uٶ(tp{ZRVL^p6!;r|{n_ ??Zbeg''*O3S˂hA!߮uFucq *ßmRܮYXa%)M E酼qWX匁{E{%E$d3a?ZrlՑжcoQC(l'[̒,V6$yPXH_RcKչw jT3U ;Ү{ؽ=(X p?IU>nK+П0Z+: G@V4a4֛=8<,Sf~O'X"˃ǚr΋g.oEA؎b 4^fdr2v ^8Em?w3xDdcjg?^QE5 ѵ"Cj&$//|3.s` S\n( Ym3`g c{jguB}Q}Nl#Wأ,2Ƀfk |#Pv5WLs}D B*'\(@gF@9,ЦJ#l!D*j=@M]Q4(Ŷ?o$ ^؄#~yD\lV*\Se)$47`ğlϔ-MZK]ʂEpN=CصF`yeSS+n< ٞF~21G,)ю}B#Y?2Sqg%HyBBԥt?Yga .TTװZbF_M<%;!=UsETN jwr{fʳ⩌gT?a f(EW+̆"B!FX_3o‰e؜k0oVYa,.lg[ c?q0kP]ässW51AgvZtNcFDn {c-̙dPy_~aor˳}Ih<-vv ?ўB0f_Wѕ ]U);N%:̇1D *b;覭8S(\X^(=9x`e;TXZ& < @ (ܜ-AdWk$WU7 !zh11+|;k>gpڠ"H@wJ. 22`aHCyCPүDZT$ఒ{j  cW<5Jk2B8ɼb|3M`-sz*Bz Qw'=40iИ-LԮxZwhVd\|9 X E▌H2ce_70h#C_`|YIL(5+f|H/}`>K&F}TN YVd]=U\$<\[{=!KM /Fs=5-(֙ =R/ k3ʻdcVݞ_*$s%|RYLc3o#Mz4td7 K²Q^c%wlGF^YKB/H^6!]X蘻.geAÐc9[e,ex)esTJ{4 `sQx8䂣dC@pJ$+9?މ(*ҕf2<\Q&LfRfcsƲr1A Ր1lTnBCO;_L5?גsz:@ #ڂmADw^YJZu,[69Xy*(!4+EsF$ yǗѱѝZǝseJ`՘ނ^z.Z}WDU,`2q*T[X\,fgB5OܿZN~i׶¾K]flM,B;m_'Lyob/eUF397m9M,60KYsßgm@= .] Yh/'T莜 s#0wE0W4Yxۃdw&ҨjSinJcRdі8.Ǧ5,BYHFHI  FAl+ٻRX?!7~_ 6?]EwyU >n"#2@E=>IRy2!atѰiBޭz6?\`΄̓l7=e%(ǪHRJ/xpPa@eɔٗ\T\ hӤ=&XHw)YluY 8?Ȇ] _DąrW–%_DZ ^VQȨtÅjf?~{FG(]P\ō:6tp{V^!İPE| ^oY~(g j^/#&P]QEfI姷Qk5}I V(۷vSO7$agP7#RV(T{Q6hƐ`4Kt8>V>}Gs3MJ5q@}PqcΊ~U`8Π!JPE7v}#RZ&'¡HF/(qYa <. bʑ3n~ǙSDn4C} 5cU՘{_d=i6^V#fԡEDyK|Q)hz]}+ #nwE#P iߎGs-g-y ^gV:j._^oc+,T 3 h͏vtW|9/?CTYN0HKֻil"T*>8? 'X|ɽ/Jx6n'.lA"$}⍠i0`cPDILغui ێ(͞[jo.V=J`AP@2qyԖ\)+ NӁ ˲^2?v`*&?)f1q@L*)j܌Y\]Yn <h@9˲+e;Q$"IMg@Gecwd(b1.rb??=?:7OϥwKOV. ?~M"~FH|@aڪ@."&ѱ0t^\]Hr9CVt<+y?8V;>ݩ@G$Z8DMc{ e kLzOa|D'OY.c!>S 2k&fE(EϹ1`>钧wη&xM <+8[C} l͙u+ AZO?uZ0Nt][jpej!K]~U;9?Z-hc],Cbv&>VQOUfS e_Z¬^eɺXC C!zԼ@2#f^!~O%#"Vc+&$69v /HdڥKڙǛGxFa[bx?8CgMye=tL6\us0S18Q ijϘoT" (nndb,v`b+ВA %/`vk~/N&fs?~6k ^YBe7lWXJNď&c NJޜbN#ݚBH#+$9^&˻3]kzZ\|ho-KKY2ztɊU6vq7?\w<|` Ru)P=I꽶{5bɥS x]&͐Yw6i]97߰a QS 2cSY'.KxlQYy\+"R(a4 1+ܻ4o/EV^8L(i`tqPluԯ\.(Q=QE,#U3~Tyc@bzK(; p=x$i۴ʹL}5󳥀b]=1N+^m5ZF.v#Q86EZ;l{ʲɶ BnzQ,!JT~l6$@|8tFvq|`hrL:7m4@S!wg>o6'PAWzWdQBW1ߜ!8Pt cxl8i ͹9ROPDpޚQ -b[J}5*zYdLlDP`ӽaeӟY}s~m-⾧ۣ1KX R:x);%{_&)5`M.ܫo;KB'gIݼ`,wNi xqko!WїRkN՞/pB}$MZԴ8<" Mt@o"Ǿ09kyWB#E?9|. FtJPŷa߈vڍ]=GmC#۹"UzܗfMNVew=SXi+ 86RIt?V%ϷzF^OIފ'IR Ț<XNKaL\QÒܕfZH1 M ,[=p E6FFt rT 1XmRFsԣH}_rBNH\CWgL Wڥ>5ϑYlّq0kh+.돟 ݲ>FztZAC5 1[ L.QVڀGRO|PQ4,U5+g-,?- Z}*Tk=ߨ޼TYʬwo }]Sy&^Qú}|wFM'/v")s>'>BwBuu^_Lqx 8I~iڢ8;!΋Imތ_t-jB1© r"ȜgVr݅IֆZdҴڙ!O"1;= v+?dafdj)9LkڋƄ/E4͸ggʂ2/M0̩F9X[CPDbDȇzNݻ2DQ X6 5fh [KF` 6?98%V0 [&\?jM&)CqM=_8~x\d/0-[^q4"^Љ\ʿKd76)hy;Oe #}oRaٚ"3B@ߏIs.HUKWt~&ɕ88C>EZE')W~V9‘2]H]Eْ `)]n0>)ԣk`4>-Y#.7~&F%=x[w>a`ڥn_w4? +ۄ. #Js9wZb8Cu`Ew VJ$Rg$Sn\ɋ{hC'(a#oν[G=e D} 5SBo ?vTP~KbgLF?h%Z =1~@^ Dd">l7eT:]\%`\Dd LY (2Io{W>I],*n;btɫcb+..$RӛǼtHM3tZ]IUw̑V -̉ԡ/# tB$ힶZ`JTM2]Y/pePH9+9 r h0`-/P&$,/\S~z@HsZb?F w]&sI\(rwD.Ө׸#V_VGSA}bgn <d+toGԸ)4;=qJC=PƇȝ"԰3].h>%Jr cr0'>kC}hf =;p8OaсkY2&8o + -O.ӑu퇦K Lur S5d+)b9l: 9 nW^_?Vդ]H5TTI)n[ĖO6 mqM5l\}'Yx?(rZ &ڡt7vb< -%m0(OhJw5F.M$ǨLu~ll,=]U ?VK,H{|^:I7<']M̒(f]ȪRdVy 8<[vSJ7\D;cҨ0z|ѻR(3a![M KSF؅h;LU۫6!i;doJ>㏿:̒Ph#KtLF)">; 鯨%˭{aDǨtawZ ,~3GdfV﭂IO]Co%,'HH4+KyEPW8˥_$m:װ;]8I}=6:nWH8%OPdLe5ֶOy mG[؈:Kn ‚p5,)G hC Sf_67l[DXC5 5DNP+,N yL\b&}3>,w'V3j}QJUFS?o c_G*0zZ~"ͫW I.IZzhє2f=МrTY uL놴C_u8 Ғ%O8 v$8!QR2xpiHdn&= ERVh·]AUՎ@\m=o{4/kJ IBز/CYճ:AHTyc:ad/geo+l@×EK (;zqŦxMhX!ı:cOQm5L?ܑ2tRrغB 2 E=˘b3f0h^Jb\=O&*>E @aUYБxqG\dގTJ.#(q$@&#}z/7} b,͆}#{S~t!K@羮Λ[+ "Qwtyl5fĜAo|fj#s]SLa"OYq([@Spl^-L2&-؜gP5CCM֚Hm.3m h(Gߙ52o"M۽Rs,U9+PO)X+In0Hd>REUxs,H ֐R?u{6P5b *+)z*<n} ?pFWS~m~$nM"QQ9hO~e܏pk'0;1iiyN)\;j["ݱire\%A]-e6֍I/lRQF#7poEPNpu\$};bsfeS Tˬ^s{j}'1XS/pXJ͛DWRpvٔy 7IhmF`e6Ƈ&833Nrr ywq蘶_+tCiFUS2rJps\iu fg> 4w;:g1khƏhmŝ`n~&iһj,U@kU c`0*9q쑌V)(juB]H,HԲhۗ(CB:ZǼ X?$3zxGG]8,gj1&vo3/ѭ.Vagjn5-M" ,<<*$mg6zFl'͍Ͱ)7^) O\m$[oP@H߆7Zwvu?? 5m{ Sdu?]"-)Kzi)#SnR])ޅYLγkLGc L/Sn\#>O7AXDsJOѥVZZ7Wp^@j;L =V觭]9a|C.AdB3kW\')&~5NIG`7ʾDЮbW,[@/a;X&bt8RT5i60"lXZ.BTԏܧ_my5Zx_.4z_geXcNHsm H-_%h~P}rMo)!ڗ7:>-E!tpNX׼ Pݚ9O3sB=ZL;mu,JrخG?e-ۚe`ߴ`PeפVs bdfB+j"UcEw43>X$iz7ͬؓØUc ]j_\ټ`pH宭ljKVA#7qӑwz)YC•W1#Lj.]s$ą0--4 0zyj'1{tRzwWj@34CgM=xFD oW;zt}D__G$S 稟2%GR*Ao e ;eIu6"yY `Hٲoxu@K2b ęRK:ŹnOYDI"6.y hMrC;s'^pGMKt()Giÿcg.zġd 6cLP&3M@ÁDbFa l9LsH| ]W* NN.~&oTWO Pok5M1@yqEYb"Q˙"Ȅ>0g-`w߿cVtVIj%Ɩ0_eUy$3x\j<p56Vbũ!w Q*vٰ4Ķ9BIzar"e:qVD1!FV)zeäIpn3 ut TDdQipa[?t|g\_ezDHS7: dy(eUހ6$aHJjP3J1L%r |[5#y @ya/p)!qZl r%0\:_2hېLVI~@IQ!׭!ms_l#8ށVTIWS47Cj6jȮn1,0<N7ܜ,joo%Tf,n)IJ 7 Y0w2e {v%,MX/hZqٰgCkJQV@HA$2TE a y6T ~B^hU' A%;.z)3U!-CTȯa*DpN&'6{U{sTnT] 9ƍoYs $}YW鼸"Qƺh|b{-`9s=һtj6Wy$ek˟}I=EX}h&2HR^MXHͼߺ39*cօ@[B6yVwns0]`QR?8m+ 29e{6)}zo&~9!A=G@n*mtJqz@[QL6)z}ڶCq@&ʾKڈq~,Ŧ $|Ty3N!J6y(1 棅oAg bTZ~V,0y9+ok |#xU/X/ sH" Z (n[2_F%K2-sgH95U8[_rV+C=p1+^ 2R+RuxRxS%ēBͺZ pהwkl=3N+>?E]sR7XmD9bZ5'+^~HirDle W^7]CE,=}CdS%/֫\A".|ܦ Ix#p2:k^0Hx#/{͜i̋ ] yRwXJqQI}ɐQ!Q(m(3-Y7/)t \d/Xv͢bxI~H+h&$GE~8n)i/Qլ]khIION-iPO)v @n^ %eydG@U1?W%|3=n L*ݍ҂:7lG~vB[hGO7R39m#'vl0( ޷:6YZEE" @CS~[(%'T.kgyq3#;>zeJSS][2dhXFJTKBT#%ٱSJ< nDϞb|6߃ B=x$Yy~mIu)(~63&7 A<d;_e=+6ms7%cVxe{eCwo. \quP'=S)2X_1A&]Vi4`Lx 1Ӧ=at֥)\E }V)5_DM"S,cELijjRnW4;;G _|K`ϔR$5 q#MJI_uvp': ;AtTѫ_,[SxpC)╬y)M2ns (MQI9ʘ''dHllufl?JFڙF(e;'LեWߨqO"\m:W"~9J5}ɻ>U6IhԉF7m-L"FR8EQH6/%3ߣReB10CeiSAv YθTJ˜f_}m`P"M'FR̶ Y!Gˊ}`5Y{o^1u4:ז㊙6]Go6t_ʎumUcsVSE2)0vĭ a/o33C3_ gjli# İͅb sl*nbXLS\8sC- &+&A?Y!AE$oTPglq0.K~J%\~Ͻ@eOD)c.Ybo<>Yc:|YCn?%W~|h;j֥u{20r{P]Xf온;}*]t_+G@1dVe^eif\,H%zQשּׂ}֮.mw^aWG7gzZL'>r;$ݴVGI%t.VhAQ,DnV#}]b9"-PV#6[&_I)3?T@&gLn99(/ǚIt/.σ Ҏq!){Z1(ya[<.6s h`(>zfCp叼"ޏ9L,jJug:5¶f1#6[z-SH;9 M.|cAH]Q0$E^;(j _>;q7*<P-`Y6c3N‹)2[(hxt YI|x~ITBP}>4)D =.P`t-].܅t_niFeLٓ!!b@Ytd:>dCl3$5tȻ/aO$El2#by+;p 6OGZyN}?+,6` K.RZB G):h ,xH e;eISdmvU -V%sqџ3`މ H .µRm%<©e]q'ITҧzF-Ysq.k3Air$Ř'6~G:tk|ͥ"Y&N@X[KVr<{8?{KULƶ@0D 8!CnsJmڋmIMd/E䦒I糹pʇRu++pVv(a:'scHTF`ݠP Gj,qA?]WFd[UeBi7AX,6j%sFnMP|7"DUCob[!fylN3ѳS)B>)5S g+Rf|atI%5Qjuf;ٶ#$1˟N+LsFG"'\e%DqwascMg0/lEI1%xFoS]o1M=7w^qP1h>:޹QSB ,6e,A#!6^67*b/O So!l*OQU_v~x+Wذd:WG^,g. 4(=\^& L\&1z&\ę۝d@[Vwb-S+H7J Mv az21nG+*ƺn garǡ9uo19]6g_>-|T5 **z lK㹭7 )Ews*$Q3O׀ HX -XQݧ{V*b$khڲ9sƕ~/ + Čb)Z+.L'Fh~N]Iy`_}u8D+F0WҞzLj0ո ={_.Jtj_?k^M OC g׏]҆a@)bwe;9g>|cqg~E*RA[T?pT1i R\)HpGO|c8HuAˍ+pKlkkj6+pR)(ͣjjYB^!\ݺ: ʛ=٨g*vlY*܅X -64y =YmYyY[ziYGxJ |TSO_5[=>ж];gdVi 4VL89 (ȋ0\ PKY-/笎t:耇0Gq~'y6 *HTVj9j 3i:#ywdR~P,|8sdy!W@7:"Y/?@ 42>h[ϲAnY@9$~Ic?)`-pKGC&LӓSs7ڝ@!3 Њu\$g"}(3Go#:E1EQM^B_{NN;{?\kiÍ&olc%6c'2~~h8f8ݯj*~F&5Xޟ7LxPab]OQK1`CHN< Z$Kvt ҆oD\'{ A9`{CGkڢͶΠU\[.e[Mdv9X9Wovjg9׺wC"s-J%z(+ů~gdV2t[SJ=崗aCLW J\ia4k(6hwښe 9%<&$>d8[l}ֳhMT.Zt9\"9{P,0?tb%.˴MN1+>(X#~z, f~%a%R) %9dtcAYsn"Gu֎˲Pl҂P3dˋUؖ#Q(I 0,K=-EJEt ?eT+ƯE>r,uhEq8C!O/2հXM@ xB%!4YwC}VSg W>AK>*sOMˀѠO 3#WnιDa90xi=.0A8Fnw,S- ę/.s|ӸKضl33 3jt<Z6f̎ 5ߣ"дYq |rSO>et ^/s,/f;8͎} oÔϷй+ޛj\"`WGEȸp'l.?f 8cj:| wՇ6*}Q*n"iqCSo?g6Z_L3~uqG;=ģ:C65=)$՚Q~= Xd/op̀hÀ[x{f!l*݊jdRoE4LO=R<8 Tm fW 0sCxVau`hnvwstw? 5HkY8-^ZEw[;F)@r/X"n@@!28z^xz|o΢<sԋb>!֬jbQC 0 &Tv eM 9<#%݆5)Ы&ޑ:.Ir.m-V@h_oԫ``#]HKU/=kE6O/)W4,iňך"kg4j]bs/eq*]jLz o*/ Iq@~8z[Tq@W^f/0PA %$vAXuo szx] 3{] Ujv)]M+ie="~¤os%//c: zޢ#dt,Z&P';q!D!;X$0~7￉ѫcU!ڛ~l.Njc W='`]% X7 ڪjU9N⤪qoV!z]# @} 6Qbp}R1$f-^~lj|*t'5u*- <ӌU(4Nm㇤kSŸ!wJˇ7S , cE?,s {L7eW8mv x}% V*)Ryu`qYB+`啳6c2$Bh{>zʵ^I'3Y +b UWں1¿nR4K%saHEd 2" !6x8}U|>(4 =HsQ5տr4^fgB e!8{A"3"[[ݫWuRYH#<̣I}a.;2t{f.xQV%.H~a<gWIv#u7v~|FTP)YkEkRF?; h =[ِزywB筻C܏(ZiIùmINѫ{,9S5]pb*s? Ll/Q;>U>"TH< >/NzMuXa#mM;axc5lK~hقϴk ԏrt_ >Tl AČ3lVxz*PJWKXBGS%@OA۞78 Mꁦ\ѽõ6I+ԣ94s$BcƓ=OS.{y&DTj L/z4RN/<&n*jeBUUfWrжkiah5H9wD +W{nmdH%ō|£6k&w_u}(e BK1IR|qrUul' {AȀK ztIig6|udVL([/+eփo85Y pSɗ,2K+_?Xt ۑ?PgU仁S 6'ODK.x /Z}6D*i ٶ=sx127!3T+aDVOPe 1ӔA! 3=5Otͮ0K}+db]k`嚎;_%7Es*e۔_Ļ$Kʴ|O\5BIlȅ? c=SIa`(5ZHhˢl!OC_amB|:x O[dO4}+  _[t='AVk68բ^>X/t˖gxGu6X>Y M/( )]d&* RRU6xܻO:f+OjuJJj@3 TҊ-/(vcQDBG'oȀ !U2zGgd;2zGo҈EToi]0V:f֮:fHV/{H :  7%Zw@]-r4z,x׼Z\SG+vg[U<ueN@`oZi̻0TSxXK@ZqVg/8sS]8 xNdcF҈!d.-}輻ji=+;(2d=B$Lk#ϘmjļLן)$uxn?qtv3ڧf1,Ϟҗ\9x<Q:h)uu`ɟVOi{L_JY;>_L6]+?GON|d>(#@(K6ȫöX!UG N\pH^#&,@~U_ZJkq׆q#fF{ 2;SӨ4aܞ̹ eaCӶgվXΪ3o('ݔ9D/6]VgbF5qIHr.{mC wp ƚ3\P ; (c8 Ke;7n>_ ?;jqFjd{~;1c]U? 9ˬ3I|ibEˢX69oRb{ɪg+_ ke"P"wc7fB qD!"t*5/vƫg[tPHY#?t|Re~Lת[-*w!'RĦ@0tdw7Wt`FPFJł=%QaB9y%Ug.I@",}hP!e#? !Lu:e*\k*FxͩCEO"yD{+j OΩMm$砎aCp"UV@r4 9[~Eae9n#ވ7z#;ѲQ]Ӗ%  YZ