slurm_20_11-node-20.11.7-6.7.1 >  A amp9| m뚯:.A&K2#ٷm3G#kae9[V5I2ᜃ1jjl+N/Uk6MO3S ?y.uvsAR|Ȟ,M1XaKV7Rt9 JoSk:ש''NQ{Br1hǐkdZaE8D*(E0tKDZt6,],ۢ|yu쀳890fb1fd9c728daa4eeaebf54112c0bd05e75dcede372170dfb93b6c0cc2c2d4c9bb9d0e419fbef3abeaae034571612781575aab)amp9|jqeL9_F_^C'JZ bi(:IOM eΏ 0 H)YͫǑS{ۺ*bDnĪn dt~!_Ɂ}\,pV}?}d ! 4x| 6<Cc       $  D     < d   ((n((8n9n:n=ru>r}?r@rFrGrHrIrXrYr\s ]s@^sbsctdueu!fu$lu&uu8vuXwxxxyx8zyy{Y}} }}}$}(},}S}T}X}`}d}h}n}Cslurm_20_11-node20.11.76.7.1Minimal slurm nodeThis package contains just the minmal code to run a compute node.amlsheep13 ?nSUSE Linux Enterprise 15SUSE LLC SUSE-GPL-2.0-with-openssl-exceptionhttps://www.suse.com/Productivity/Clustering/Computinghttps://www.schedmd.comlinuxx86_64 if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : for service in slurmd.service ; do sysv_service=${service%.*} if [ ! -e /usr/lib/systemd/system/$service ] && [ ! -e /etc/init.d/$sysv_service ]; then mkdir -p /run/systemd/rpm/needs-preset touch /run/systemd/rpm/needs-preset/$service elif [ -e /etc/init.d/$sysv_service ] && [ ! -e /var/lib/systemd/migrated/$sysv_service ]; then /usr/sbin/systemd-sysv-convert --save $sysv_service || : mkdir -p /run/systemd/rpm/needs-sysv-convert touch /run/systemd/rpm/needs-sysv-convert/$service fi done fi if [ -x /usr/bin/systemctl ]; then test -n "$FIRST_ARG" || FIRST_ARG="$1" [ -d /var/lib/systemd/migrated ] || mkdir -p /var/lib/systemd/migrated || : if [ "$YAST_IS_RUNNING" != "instsys" ]; then /usr/bin/systemctl daemon-reload || : fi for service in slurmd.service ; do sysv_service=${service%.*} if [ -e /run/systemd/rpm/needs-preset/$service ]; then /usr/bin/systemctl preset $service || : rm "/run/systemd/rpm/needs-preset/$service" || : elif [ -e /run/systemd/rpm/needs-sysv-convert/$service ]; then /usr/sbin/systemd-sysv-convert --apply $sysv_service || : rm "/run/systemd/rpm/needs-sysv-convert/$service" || : touch /var/lib/systemd/migrated/$sysv_service || : fi done fi test -n "$FIRST_ARG" || FIRST_ARG="$1" if [ "$FIRST_ARG" -eq 0 -a -x /usr/bin/systemctl ]; then # Package removal, not upgrade /usr/bin/systemctl --no-reload disable slurmd.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 slurmd.service ) || : fi if [ $1 -eq 0 ]; then # Package removal for service in slurmd.service ; do sysv_service="${service%.*}" rm "/var/lib/systemd/migrated/$sysv_service" || : done fi if [ -x /usr/bin/systemctl ]; then /usr/bin/systemctl daemon-reload || : fi  ` P큤큤amRamFamTamRamRam'am'am'2f863c0bdd8050e8d2d4573d8f838916cbb6dca62a230a728e9cc8c528ec5227c9e3a5c93e1d86d10f33026de5d341ffeb27d9f405d930c9ab743a64aba65466510513a211da1d513d7af5a5e5219256310871311e50a2f2f0021f1f3c246210e8d77ba32361d4242e573f87be534adba738c79cf606dfa84be89f12922d3a76e39351deed8cb60cab275543da2c508b67d3e512bcfd738015bdf521a747318b02315959ef5f6688237012c30f69019859daf2c8c0d39fb0fb1d1266c77e8aa0f997cab06574201c937d4a426404714020f93ca03ba0770dfb12b5a0e8dcc1b3servicerootrootrootrootrootrootrootrootrootrootrootrootrootrootrootrootslurm_20_11-20.11.7-6.7.1.src.rpmslurm-nodeslurm_20_11-nodeslurm_20_11-node(x86-64)  @@@@@@@@@@@@@@@@@@@@@@@@@@@@     /bin/sh/bin/sh/bin/sh/bin/sh/bin/shlibc.so.6()(64bit)libc.so.6(GLIBC_2.14)(64bit)libc.so.6(GLIBC_2.2.5)(64bit)libc.so.6(GLIBC_2.3)(64bit)libc.so.6(GLIBC_2.3.2)(64bit)libc.so.6(GLIBC_2.3.4)(64bit)libc.so.6(GLIBC_2.4)(64bit)libc.so.6(GLIBC_2.7)(64bit)libdl.so.2()(64bit)libhwloc.so.15()(64bit)liblz4.so.1()(64bit)libm.so.6()(64bit)libnuma.so.1()(64bit)libnuma.so.1(libnuma_1.1)(64bit)libnuma.so.1(libnuma_1.2)(64bit)libpam.so.0()(64bit)libpam.so.0(LIBPAM_1.0)(64bit)libpam_misc.so.0()(64bit)libpam_misc.so.0(LIBPAM_MISC_1.0)(64bit)libpthread.so.0()(64bit)libpthread.so.0(GLIBC_2.2.5)(64bit)libpthread.so.0(GLIBC_2.3.2)(64bit)libresolv.so.2()(64bit)libslurmfull.so()(64bit)libutil.so.1()(64bit)libutil.so.1(GLIBC_2.2.5)(64bit)libz.so.1()(64bit)libz.so.1(ZLIB_1.2.0)(64bit)rpmlib(BuiltinLuaScripts)rpmlib(CompressedFileNames)rpmlib(FileDigests)rpmlib(PayloadFilesHavePrefix)rpmlib(PayloadIsXz)slurm_20_11-configslurm_20_11-plugins4.2.2-13.0.4-14.6.0-14.0-15.2-120.11.720.11.7slurm-node4.14.1`f@``Q@`4@`@_I@_I@_T___ _F@__c^א^Ǿ^^}^d@^_@^Y^W@^W@^V]^M#@^E:@^B@^:@^.^*@^*@^)^[^@^ @] @]@]]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@TVTVcgoll@suse.comeich@suse.comcgoll@suse.comcgoll@suse.comaguerrero@suse.comeich@suse.comeich@suse.comaguerrero@suse.comaguerrero@suse.comeich@suse.comaguerrero@suse.comfbui@suse.comaguerrero@suse.comeich@suse.comeich@suse.comcgoll@suse.comeich@suse.comcgoll@suse.comeich@suse.comcgoll@suse.comeich@suse.comkasimir_@outlook.decgoll@suse.comeich@suse.comeich@suse.comeich@suse.comcgoll@suse.comcgoll@suse.comeich@suse.comeich@suse.comdimstar@opensuse.orgcgoll@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.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- Updated to 20.11.7 which fixes CVE-2021-31215 (bsc#1186024) - New features in 20.11.7: * slurmd - handle configless failures gracefully instead of hanging indefinitely. * select/cons_tres - fix Dragonfly topology not selecting nodes in the same leaf switch when it should as well as requests with *-switches option. * Fix issue where certain step requests wouldn't run if the first node in the job allocation was full and there were idle resources on other nodes in the job allocation. * Fix deadlock issue with Slurmctld. * torque/qstat - fix printf error message in output. * When adding associations or wckeys avoid checking multiple times a user or cluster name. * Fix wrong jobacctgather information on a step on multiple nodes due to timeouts sending its the information gathered on its node. * Fix missing xstrdup which could result in slurmctld segfault on array jobs. * Fix security issue in PrologSlurmctld and EpilogSlurmctld by always prepending SPANK_ to all user-set environment variables. CVE-2021-31215. - New features in 20.11.6: * Fix sacct assert with the --qos option. * Use pkg-config --atleast-version instead of --modversion for systemd. * common/fd - fix getsockopt() call in fd_get_socket_error(). * Properly handle the return from fd_get_socket_error() in _conn_readable(). * cons_res - Fix issue where running jobs were not taken into consideration when creating a reservation. * Avoid a deadlock between job_list for_each and assoc QOS_LOCK. * Fix TRESRunMins usage for partition qos on restart/reconfig. * Fix printing of number of tasks on a completed job that didn't request tasks. * Fix updating GrpTRESRunMins when decrementing job time is bigger than it. * Make it so we handle multithreaded allocations correctly when doing - -exclusive or --core-spec allocations. * Fix incorrect round-up division in _pick_step_cores * Use appropriate math to adjust cpu counts when --ntasks-per-core=1. * cons_tres - Fix consideration of power downed nodes. * cons_tres - Fix DefCpuPerGPU, increase cpus-per-task to match with gpus-per-task * cpus-per-gpu. * Fix under-cpu memory auto-adjustment when MaxMemPerCPU is set. * Make it possible to override CR_CORE_DEFAULT_DIST_BLOCK. * Perl API - fix retrieving/storing of slurm_step_id_t in job_step_info_t. * Recover state of burst buffers when slurmctld is restarted to avoid skipping burst buffer stages. * Fix race condition in burst buffer plugin which caused a burst buffer in stage-in to not get state saved if slurmctld stopped. * auth/jwt - print an error if jwt_file= has not been set in slurmdbd. * Fix RESV_DEL_HOLD not being a valid state when using squeue --states. * Add missing squeue selectable states in valid states error message. * Fix scheduling last array task multiple times on error, causing segfault. * Fix issue where a step could be allocated more memory than the job when dealing with --mem-per-cpu and --threads-per-core. * Fix removing qos from assoc with -= can lead to assoc with no qos * auth/jwt - fix segfault on invalid credential in slurmdbd due to missing validate_slurm_user() function in context. * Fix single Port= not being applied to range of nodes in slurm.conf * Fix Jobs not requesting a tres are not starting because of that tres limit. * acct_gather_energy/rapl - fix AveWatts calculation. * job_container/tmpfs - Fix issues with cleanup and slurmd restarting on running jobs.- Ship REST API version and auth plugins with slurmrestd. - Add YAML support for REST API to build (bsc#1185603).- Udpate to 20.11.5: - New features: * New job_container/tmpfs plugin developed by NERSC that can be used to create per-job filesystem namespaces. Documentaiion and configuration can be found in the respecting man page. - Bug fixes: * Fix main scheduler bug where bf_hetjob_prio truncates SchedulerParameters. * Fix sacct not displaying UserCPU, SystemCPU and TotalCPU for large times. * scrontab - fix to return the correct index for a bad #SCRON option. * scrontab - fix memory leak when invalid option found in #SCRON line. * Add errno for when a user requests multiple partitions and they are using partition based associations. * Fix issue where a job could run in a wrong partition when using EnforcePartLimits=any and partition based associations. * Remove possible deadlock when adding associations/wckeys in multiple threads. * When using PrologFlags=alloc make sure the correct Slurm version is set in the credential. * When sending a job a warning signal make sure we always send SIGCONT beforehand. * Fix issue where a batch job would continue running if a prolog failed on a node that wasn't the batch host and requeuing was disabled. * Fix issue where sometimes salloc/srun wouldn't get a message about a prolog failure in the job's stdout. * Requeue or kill job on a prolog failure when PrologFlags is not set. * Fix race condition causing node reboots to get requeued before ResumeTimeout expires. * Preserve node boot_req_time on reconfigure. * Preserve node power_save_req_time on reconfigure. * Fix node reboots being queued and issued multiple times and preventing the reboot to time out. * Fix run_command to exit correctly if track_script kills the calling thread. * Only requeue a job when the PrologSlurmctld returns nonzero. * When a job is signaled with SIGKILL make sure we flush all prologs/setup scripts. * Handle burst buffer scripts if the job is canceled while stage_in is happening. * When shutting down the slurmctld make note to ignore error message when we have to kill a prolog/setup script we are tracking. * scrontab - add support for the --open-mode option. * acct_gather_profile/influxdb - avoid segfault on plugin shutdown if setup has not completed successfully. * Reduce delay in starting salloc allocations when running with prologs. * Alter AllocNodes check to work if the allocating node's domain doesn't match the slurmctld's. This restores the pre*20.11 behavior. * Fix slurmctld segfault if jobs from a prior version had the now-removed INVALID_DEPEND state flag set and were allowed to run in 20.11. * Add job_container/tmpfs plugin to give a method to provide a private /tmp per job. * Set the correct core affinity when using AutoDetect. * slurmrestd - mark "environment" as required for job submissions in schema.- Udpate to 20.11.04 * Fix node selection for advanced reservations with features. * mpi/pmix: Handle pipe failure better when using ucx. * mpi/pmix: include PMIX_NODEID for each process entry. * Fix job getting rejected after being requeued on same node that died. * job_submit/lua - add "network" field. * Fix situations when a reoccuring reservation could erroneously skip a period. * Ensure that a reservations [pro|epi]log are ran on reoccuring reservations. * Fix threads-per-core memory allocation issue when using CR_CPU_MEMORY. * Fix scheduling issue with --gpus. * Fix gpu allocations that request --cpus-per-task. * mpi/pmix: fixed print messages for all PMIXP_* macros * Add mapping for XCPU to --signal option. * Fix regression in 20.11 that prevented a full pass of the main scheduler from ever executing. * Work around a glibc bug in which "0" is incorrectly printed as "nan" which will result in corrupted association state on restart. * Fix regression in 20.11 which made slurmd incorrectly attempt to find the parent slurmd address when not applicable and send incorrect reverse*tree info to the slurmstepd. * Fix cgroup ns detection when using containers (e.g. LXC or Docker). * scrontab - change temporary file handling to work with emacs. - Removed check-for-lipmix.so.MAJOR.patch - Added: load-pmix-major-version.patch- Update to 20.11.03 - This release includes a major functional change to how job step launch is handled compared to the previous 20.11 releases. This affects srun as well as MPI stacks - such as Open MPI - which may use srun internally as part of the process launch. One of the changes made in the Slurm 20.11 release was to the semantics for job steps launched through the 'srun' command. This also inadvertently impacts many MPI releases that use srun underneath their own mpiexec/mpirun command. For 20.11.{0,1,2} releases, the default behavior for srun was changed such that each step was allocated exactly what was requested by the options given to srun, and did not have access to all resources assigned to the job on the node by default. This change was equivalent to Slurm setting the --exclusive option by default on all job steps. Job steps desiring all resources on the node needed to explicitly request them through the new '--whole' option. In the 20.11.3 release, we have reverted to the 20.02 and older behavior of assigning all resources on a node to the job step by default. This reversion is a major behavioral change which we would not generally do on a maintenance release, but is being done in the interest of restoring compatibility with the large number of existing Open MPI (and other MPI flavors) and job scripts that exist in production, and to remove what has proven to be a significant hurdle in moving to the new release. Please note that one change to step launch remains - by default, in 20.11 steps are no longer permitted to overlap on the resources they have been assigned. If that behavior is desired, all steps must explicitly opt-in through the newly added '--overlap' option. Further details and a full explanation of the issue can be found at: https://bugs.schedmd.com/show_bug.cgi?id=10383#c63 - Other changes from 20.11.03 * Fix segfault when parsing bad "#SBATCH hetjob" directive. * Allow countless gpu:srun, sbatch->srun sequence. * Reject job credential if non-superuser sets the LAUNCH_NO_ALLOC flag. * Make it so srun --no-allocate works again. * jobacct_gather/linux - Don't count memory on tasks that have already finished. * Fix 19.05/20.02 batch steps talking with a 20.11 slurmctld. * jobacct_gather/common - Do not process jobacct's with same taskid when calling prec_extra. * Cleanup all tracked jobacct tasks when extern step child process finishes. * slurmrestd/dbv0.0.36 - Correct structure of dbv0.0.36_tres_list. * Fix regression causing task/affinity and task/cgroup to be out of sync when configured ThreadsPerCore is different than the physical threads per core. * Fix situation when --gpus is given but not max nodes (-N1-1) in a job allocation. * Interactive step - ignore cpu bind and mem bind options, and do not set the associated environment variables which lead to unexpected behavior from srun commands launched within the interactive step. * Handle exit code from pipe when using UCX with PMIx.- Fix fallout introduced by: "Replace '%service_del_postun -n' with '%service_del_postun_without_restart'" for older Leap/SLE versions.- Fix Provides:/Conflicts: for libnss_slurm (bsc#1180700).- Add support for configuration files from external plugins. While built-in plugins have their configuration added in slurm.conf, external SPANK plugins add their configuration to plugstack.conf To allow packaging easily spank plugins, their configuration files should be added independently at /etc/spack/plugstack.conf.d and plugstack.conf should be left with an oneliner including all the files under /etc/spack/plugstack.conf.d- Update to 20.11.02 * Fix older versions of sacct not working with 20.11. * Fix slurmctld crash when using a pre-20.11 srun in a job allocation. * Correct logic problem in _validate_user_access. * Fix libpmi to initialize Slurm configuration correctly. - Update to 20.11.01 * Fix spelling of "overcomited" to "overcomitted" in sreport's cluster utilization report. * Silence debug message about shutting down backup controllers if none are configured. * Don't create interactive srun until PrologSlurmctld is done. * Fix fd symlink path resolution. * Fix slurmctld segfault on subnode reservation restore after node configuration change. * Fix resource allocation response message environment allocation size. * Ensure that details->env_sup is NULL terminated. * select/cray_aries - Correctly remove jobs/steps from blades using NPC. * cons_tres - Avoid max_node_gres when entire node is allocated with - -ntasks-per-gpu. * Allow NULL arg to data_get_type(). * In sreport have usage for a reservation contain all jobs that ran in the reservation instead of just the ones that ran in the time specified. This matches the report for the reservation is not truncated for a time period. * Fix issue with sending wrong batch step id to a < 20.11 slurmd. * Add a job's alloc_node to lua for job modification and completion. * Fix regression getting a slurmdbd connection through the perl API. * Stop the extern step terminate monitor right after proctrack_g_wait(). * Fix removing the normalized priority of assocs. * slurmrestd/v0.0.36 - Use correct name for partition field: "min nodes per job" -"min_nodes_per_job". * slurmrestd/v0.0.36 - Add node comment field. * Fix regression marking cloud nodes as "unexpectedly rebooted" after multiple boots. * Fix slurmctld segfault in _slurm_rpc_job_step_create(). * slurmrestd/v0.0.36 - Filter node states against NODE_STATE_BASE to avoid the extended states all being reported as "invalid". * Fix race that can prevent the prolog for a requeued job from running. * cli_filter - add "type" to readily distinguish between the CLI command in use. * smail - reduce sleep before seff to 5 seconds. * Ensure SPANK prolog and epilog run without an explicit PlugStackConfig. * Disable MySQL automatic reconnection. * Fix allowing "b" after memory unit suffixes. * Fix slurmctld segfault with reservations without licenses. * Due to internal restructuring ahead of the 20.11 release, applications calling libslurm MUST call slurm_init(NULL) before any API calls. Otherwise the API call is likely to fail due to libslurm's internal configuration not being available. * slurm.spec - allow custom paths for PMIx and UCX install locations. * Use rpath if enabled when testing for Mellanox's UCX libraries. * slurmrestd/dbv0.0.36 - Change user query for associations to optional. * slurmrestd/dbv0.0.36 - Change account query for associations to optional. * mpi/pmix - change the error handler error message to be more useful. * Add missing connection in acct_storage_p_{clear_stats, reconfig, shutdown}. * Perl API - fix issue when running in configless mode. * nss_slurm - avoid deadlock when stray sockets are found. * Display correct value for ScronParameters in 'scontrol show config'- Update to version 20.11.0 Slurm 20.11 includes a number of new features including: * Overhaul of the job step management and launch code, alongside improved GPU task placement support. * A new "Interactive Step" mode of operation for salloc. * A new "scrontab" command that can be used to submit and manage periodically repeating jobs. * IPv6 support. * Changes to the reservation logic, with new options allowing users to delete reservations, allowing admins to skip the next occurance of a repeated reservation, and allowing for a job to be submitted and eligible to run within multiple reservations. * Dynamic Future Nodes - automatically associate a dynamically provisioned (or "cloud") node against a NodeName definition with matching hardware. * An experimental new RPC queuing mode for slurmctld to reduce thread contention on heavily loaded clusters. * SlurmDBD integration with the Slurm REST API. Also check https://github.com/SchedMD/slurm/blob/slurm-20-11-0-1/RELEASE_NOTES- Updated to 20.02.6, addresses two security fixes: * PMIx - fix potential buffer overflows from use of unpackmem(). CVE-2020-27745 (bsc#1178890) * X11 forwarding - fix potential leak of the magic cookie when sent as an argument to the xauth command. CVE-2020-27746 (bsc#1178891) - And many other bugfixes, full log and details available at: * https://lists.schedmd.com/pipermail/slurm-announce/2020/000045.html- Replace '%service_del_postun -n' with '%service_del_postun_without_restart' '-n' is deprecated and will be removed in the future.- Updated to 20.02.5, changes: * Fix leak of TRESRunMins when job time is changed with --time-min * pam_slurm - explicitly initialize slurm config to support configless mode. * scontrol - Fix exit code when creating/updating reservations with wrong Flags. * When a GRES has a no_consume flag, report 0 for allocated. * Fix cgroup cleanup by jobacct_gather/cgroup. * When creating reservations/jobs don't allow counts on a feature unless using an XOR. * Improve number of boards discovery * Fix updating a reservation NodeCnt on a zero-count reservation. * slurmrestd - provide an explicit error messages when PSK auth fails. * cons_tres - fix job requesting single gres per-node getting two or more nodes with less CPUs than requested per-task. * cons_tres - fix calculation of cores when using gres and cpus-per-task. * cons_tres - fix job not getting access to socket without GPU or with less than --gpus-per-socket when not enough cpus available on required socket and not using --gres-flags=enforce binding. * Fix HDF5 type version build error. * Fix creation of CoreCnt only reservations when the first node isn't available. * Fix wrong DBD Agent queue size in sdiag when using accounting_storage/none. * Improve job constraints XOR option logic. * Fix preemption of hetjobs when needed nodes not in leader component. * Fix wrong bit_or() messing potential preemptor jobs node bitmap, causing bad node deallocations and even allocation of nodes from other partitions. * Fix double-deallocation of preempted non-leader hetjob components. * slurmdbd - prevent truncation of the step nodelists over 4095. * Fix nodes remaining in drain state state after rebooting with ASAP option. - changes from 20.02.4: * srun - suppress job step creation warning message when waiting on PrologSlurmctld. * slurmrestd - fix incorrect return values in data_list_for_each() functions. * mpi/pmix - fix issue where HetJobs could fail to launch. * slurmrestd - set content-type header in responses. * Fix cons_res GRES overallocation for --gres-flags=disable-binding. * Fix cons_res incorrectly filtering cores with respect to GRES locality for - -gres-flags=disable-binding requests. * Fix regression where a dependency on multiple jobs in a single array using underscores would only add the first job. * slurmrestd - fix corrupted output due to incorrect use of memcpy(). * slurmrestd - address a number of minor Coverity warnings. * Handle retry failure when slurmstepd is communicating with srun correctly. * Fix jobacct_gather possibly duplicate stats when _is_a_lwp error shows up. * Fix tasks binding to GRES which are closest to the allocated CPUs. * Fix AMD GPU ROCM 3.5 support. * Fix handling of job arrays in sacct when querying specific steps. * slurmrestd - avoid fallback to local socket authentication if JWT authentication is ill-formed. * slurmrestd - restrict ability of requests to use different authentication plugins. * slurmrestd - unlink named unix sockets before closing. * slurmrestd - fix invalid formatting in openapi.json. * Fix batch jobs stuck in CF state on FrontEnd mode. * Add a separate explicit error message when rejecting changes to active node features. * cons_common/job_test - fix slurmctld SIGABRT due to double-free. * Fix updating reservations to set the duration correctly if updating the start time. * Fix update reservation to promiscuous mode. * Fix override of job tasks count to max when ntasks-per-node present. * Fix min CPUs per node not being at least CPUs per task requested. * Fix CPUs allocated to match CPUs requested when requesting GRES and threads per core equal to one. * Fix NodeName config parsing with Boards and without CPUs. * Ensure SLURM_JOB_USER and SLURM_JOB_UID are set in SrunProlog/Epilog. * Fix error messages for certain invalid salloc/sbatch/srun options. * pmi2 - clean up sockets at step termination. * Fix 'scontrol hold' to work with 'JobName'. * sbatch - handle --uid/--gid in #SBATCH directives properly. * Fix race condition in job termination on slurmd. * Print specific error messages if trying to run use certain priority/multifactor factors that cannot work without SlurmDBD. * Avoid partial GRES allocation when --gpus-per-job is not satisfied. * Cray - Avoid referencing a variable outside of it's correct scope when dealing with creating steps within a het job. * slurmrestd - correctly handle larger addresses from accept(). * Avoid freeing wrong pointer with SlurmctldParameters=max_dbd_msg_action with another option after that. * Restore MCS label when suspended job is resumed. * Fix insufficient lock levels. * slurmrestd - use errno from job submission. * Fix "user" filter for sacctmgr show transactions. * Fix preemption logic. * Fix no_consume GRES for exclusive (whole node) requests. * Fix regression in 20.02 that caused an infinite loop in slurmctld when requesting --distribution=plane for the job. * Fix parsing of the --distribution option. * Add CONF READ_LOCK to _handle_fed_send_job_sync. * prep/script - always call slurmctld PrEp callback in _run_script(). * Fix node estimation for jobs that use GPUs or --cpus-per-task. * Fix jobcomp, job_submit and cli_filter Lua implementation plugins causing slurmctld and/or job submission CLI tools segfaults due to bad return handling when the respective Lua script failed to load. * Fix propagation of gpu options through hetjob components. * Add SLURM_CLUSTERS environment variable to scancel. * Fix packing/unpacking of "unlinked" jobs. * Connect slurmstepd's stderr to srun for steps launched with --pty. * Handle MPS correctly when doing exclusive allocations. * slurmrestd - fix compiling against libhttpparser in a non-default path. * slurmrestd - avoid compilation issues with libhttpparser < 2.6. * Fix compile issues when compiling slurmrestd without --enable-debug. * Reset idle time on a reservation that is getting purged. * Fix reoccurring reservations that have Purge_comp= to keep correct duration if they are purged. * scontrol - changed the "PROMISCUOUS" flag to "MAGNETIC" * Early return from epilog_set_env in case of no_consume. * Fix cons_common/job_test start time discovery logic to prevent skewed results between "will run test" executions. * Ensure TRESRunMins limits are maintained during "scontrol reconfigure". * Improve error message when host lookup fails. - Refresh patch: pam_slurm-Initialize-arrays-and-pass-sizes.patch- Add support for openPMIx also for Leap/SLE 15.0/1 (bsc#1173805). - Do not run %check on SLE-12-SP2: Some incompatibility in tcl makes this fail. - Remove unneeded build dependency to postgresql-devel. - Disable build on s390 (requires 64bit).- Bring QA to the package build: add %%check stage. - Remove cruft that isn't needed any longer. - Add 'ghosted' run-file. - Add rpmlint filter to handle issues with library packages for Leap and enterprise upgrade versions.- Updated to 20.02.3 which fixes CVE-2020-12693 (bsc#1172004). - Other changes are: * Factor in ntasks-per-core=1 with cons_tres. * Fix formatting in error message in cons_tres. * Fix calling stat on a NULL variable. * Fix minor memory leak when using reservations with flags=first_cores. * Fix gpu bind issue when CPUs=Cores and ThreadsPerCore > 1 on a node. * Fix --mem-per-gpu for heterogenous --gres requests. * Fix slurmctld load order in load_all_part_state(). * Fix race condition not finding jobacct gather task cgroup entry. * Suppress error message when selecting nodes on disjoint topologies. * Improve performance of _pack_default_job_details() with large number of job * arguments. * Fix archive loading previous to 17.11 jobs per-node req_mem. * Fix regresion validating that --gpus-per-socket requires --sockets-per-node * for steps. Should only validate allocation requests. * error() instead of fatal() when parsing an invalid hostlist. * nss_slurm - fix potential deadlock in slurmstepd on overloaded systems. * cons_tres - fix --gres-flags=enforce-binding and related --cpus-per-gres. * cons_tres - Allocate lowest numbered cores when filtering cores with gres. * Fix getting system counts for named GRES/TRES. * MySQL - Fix for handing typed GRES for association rollups. * Fix step allocations when tasks_per_core > 1. * Fix allocating more GRES than requested when asking for multiple GRES types.- Treat libnss_slurm like any other package: add version string to upgrade package.- Updated to 20.02.1 with following changes" * Improve job state reason for jobs hitting partition_job_depth. * Speed up testing of singleton dependencies. * Fix negative loop bound in cons_tres. * srun - capture the MPI plugin return code from mpi_hook_client_fini() and use as final return code for step failure. * Fix segfault in cli_filter/lua. * Fix --gpu-bind=map_gpu reusability if tasks > elements. * Make sure config_flags on a gres are sent to the slurmctld on node registration. * Prolog/Epilog - Fix missing GPU information. * Fix segfault when using config parser for expanded lines. * Fix bit overlap test function. * Don't accrue time if job begin time is in the future. * Remove accrue time when updating a job start/eligible time to the future. * Fix regression in 20.02.0 that broke --depend=expand. * Reset begin time on job release if it's not in the future. * Fix for recovering burst buffers when using high-availability. * Fix invalid read due to freeing an incorrectly allocated env array. * Update slurmctld -i message to warn about losing data. * Fix scontrol cancel_reboot so it clears the DRAIN flag and node reason for a pending ASAP reboot.- Remove legacy_cray: with 20.02 the special treatment for cray-specific plugins on SLE version prior to 15SP2 is no longer required.- slurm-plugins will now also require pmix not only libpmix (bsc#1164326)- Removed autopatch as it doesn't work for the SLE-11-SP4 build.- Disable %arm builds as this is no longer supported.- pmix searches now also for libpmix.so.2 so that there is no dependency for devel package (bsc#1164386) * added patch file check-for-lipmix.so.MAJOR.patch * reworded patch file Remove-rpath-from-build.patch to use %autopatch- Update to version 20.02.0 (jsc#SLE-8491) * Fix minor memory leak in slurmd on reconfig. * Fix invalid ptr reference when rolling up data in the database. * Change shtml2html.py to require python3 for RHEL8 support, and match man2html.py. * slurm.spec - override "hardening" linker flags to ensure RHEL8 builds in a usable manner. * Fix type mismatches in the perl API. * Prevent use of uninitialized slurmctld_diag_stats. * Fixed various Coverity issues. * Only show warning about root-less topology in daemons. * Fix accounting of jobs in IGNORE_JOBS reservations. * Fix issue with batch steps state not loading correctly when upgrading from 19.05. * Deprecate max_depend_depth in SchedulerParameters and move it to DependencyParameters. * Silence erroneous error on slurmctld upgrade when loading federation state. * Break infinite loop in cons_tres dealing with incorrect tasks per tres request resulting in slurmctld hang. * Improve handling of --gpus-per-task to make sure appropriate number of GPUs is assigned to job. * Fix seg fault on cons_res when requesting --spread-job. - Move to python3 for everything but SLE-11-SP4 * For SLE-11-SP4 add a workaround to handle a python3 script (python2.7 compliant).- Add explicit version dependency to libpmix as well. 'slurm-devel' has a tight version dependency on libpmix - allowing multiple libpmix versions in one package repository is therefore essential.- Update to version 20.02.0-rc1 * sbatch - fix segfault when no newline at the end of a burst buffer file. * Change scancel to only check job's base state when matching -t options. * Save job dependency list in state files. * cons_tres - allow jobs to be run on systems with root-less topologies. * Restore pre-20.02pre1 PrologSlurmctld synchonization behavior to avoid various race conditions, and ensure proper batch job launch. * Add new slurmrestd command/daemon which implements the Slurm REST API.- Update to version 20.02.0-0pre1, highlights are Highlights: * Exclusive behavior of a node includes all GRES on a node as well as the cpus. * Use python3 instead of python for internal build/test scripts. The slurm.spec file has been updated to depend on python3 as well. * Added new NodeSet configuration option to help simplify partition configuration sections for heterogeneous / condo*style clusters. * Added slurm.conf option MaxDBDMsgs to control how many messages will be stored in the slurmctld before throwing them away when the slurmdbd is down. * The checkpoint plugin interface and all associated API calls have been removed. * slurm_init_job_desc_msg() initializes mail_type as uint16_t. This allows mail_type to be set to NONE with scontrol. * Add new slurm_spank_log() function to print messages back to the user from within a SPANK plugin without prepending "error: " from slurm_error(). * Enforce having partition name and nodelist=ALL when creating reservations with flags=PART_NODES. * SPANK - removed never-implemented slurm_spank_slurmd_init() interface. This hook has always been accessible through slurm_spank_init() in the S_CTX_SLURMD context instead. * sbcast - add new BcastAddr option to NodeName lines to allow sbcast traffic to flow over an alternate network path. * Added auth/jwt plugin, and 'scontrol token' subcommand. PMIx - improve * performance of proc map generation. Deprecate kill_invalid_depend in * SchedulerParameters and move it to a new option called DependencyParameters. * Enable job dependencies for any job on any cluster in the same federation. * Allow clusters to be added automatically to db at startup of ctld. Add * AccountingStorageExternalHost slurm.conf parameter. The * "ConditionPathExists" condition in slurmd.service has been disabled by default to permit simpler installation of a "configless" Slurm cluster. * In SchedulerParameters remove deprecated max_job_bf and replace with bf_max_job_test. * Disable sbatch, salloc, srun --reboot for non-admins. SPANK - added support * for S_JOB_GID in the job script context with spank_get_item(). * Prolog/Epilog - add SLURM_JOB_GID environment variable. configuration file changes: * The mpi/openmpi plugin has been removed as it does nothing. MpiDefault=openmpi will be translated to the functionally-equivalent MpiDefault=none. command changes (see man pages for details) * Display StepId=.batch instead of StepId=.4294967294 in output of "scontrol show step". (slurm_sprint_job_step_info()) * MPMD in srun will now defer PATH resolution for the commands to launch to slurmstepd. Previously it would handle resolution client*side, but with a non*standard approach that walked PATH in reverse. * squeue - added "--me" option, equivalent to --user=$USER. * The LicensesUsed line has been removed from 'scontrol show config'. Please see the 'scontrol show licenses' command as an alternative. * sbatch - adjusted backoff times for "--wait" option to reduce load on slurmctld. This results in a steady*state delay of 32s between queries, instead of the prior 10s delay. - Removed following deprecated patches: * removed patch slurmctld-rerun-agent_init-when-backup-controller-takes-over.patch * removed patch split-xdaemon-in-xdaemon_init-and-xdaemon_finish-for.patch * removed patch slurmctld-uses-xdaemon_-for-systemd.patch * removed patch slurmd-uses-xdaemon_-for-systemd.patch * removed patch slurmdbd-uses-xdaemon_-for-systemd.patch * removed patch slurmsmwd-uses-xdaemon_-for-systemd.patch * removed patch removed-deprecated-xdaemon.patch- standard slurm.conf uses now also SlurmctldHost on all build targets (bsc#1162377)- Fix a missed systemd_requires -> systemd_ordering conversion.- Remove special OHPC compatibility macro: these settings should be applied univerally. - Add a Recommends for mariadb to slurm-slurmdbd: it is recommened to run the database on the same machine as the daemon.- BuildRequire pkgconfig(systemd) instead of systemd: allow OBS to shortcut through the -mini flavors. - Use systemd_ordering instead of systemd_requires: systemd is never a strict requirement; but in case the system is scheduled for installation together with systemd, we want systemd to be installed prior to slurm.- start slurmdbd after mariadb (bsc#1161716)- Fix base_ver for SLE 15 SP2.- Update to version 19.05.5 (jsc#SLE-8491) * Check %docdir/NEWS for details. * Includes security fixes CVE-2019-19727, CVE-2019-19728, CVE-2019-12838. * Disable i586 builds as this is no longer supported. * Create libnss_slurm package to support user and group resolution thru slurmstepd. * slurm-2.4.4-rpath.patch -> Remove-rpath-from-build.patch Obsoleted: - pam_slurm_adopt-avoid-running-outside-of-the-sshd-PA.patch - pam_slurm_adopt-send_user_msg-don-t-copy-undefined-d.patch - pam_slurm_adopt-use-uid-to-determine-whether-root-is.patch- 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 support/bin/sh/bin/sh/bin/sh/bin/shsheep13 163456676420.11.720.11.7-6.7.120.11.7-6.7.1srunslurmd.servicercslurmdslurmdslurmstepdsrun.1.gzslurmd.8.gzslurmstepd.8.gz/usr/bin//usr/lib/systemd/system//usr/sbin//usr/share/man/man1//usr/share/man/man8/-fmessage-length=0 -grecord-gcc-switches -O2 -Wall -D_FORTIFY_SOURCE=2 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -gobs://build.suse.de/SUSE:Maintenance:21534/SUSE_SLE-15-SP2_Update/a7a7386c0f44d8131987dbe3028edcb8-slurm_20_11.SUSE_SLE-15-SP2_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]=8c4c39bc3596f590ad1b720e302e864da6b04619, for GNU/Linux 3.2.0, strippedASCII textELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=5e8efefda59c3f9ca14cba8123707a5eb1e12bcf, for GNU/Linux 3.2.0, strippedELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, BuildID[sha1]=c0f478f1716b5977eea5e73b29735869c50215d6, for GNU/Linux 3.2.0, strippedtroff or preprocessor input, UTF-8 Unicode text (gzip compressed data, max compression, from Unix)troff or preprocessor input, ASCII text (gzip compressed data, max compression, from Unix) & R RRRR RR RRRRRRR RRRRRR RR R R RRRRR RRRRRRRRRRRRRRRR RR R RRRRRRRRfVT07y3m׉B os.remove("/run/slurmd.rst") if os.execute() and os.getenv("YAST_IS_RUNNING") ~= "instsys" then local handle = io.popen("systemctl is-active slurmd 2>&1") local str = handle:read("*a"); handle:close() str = string.gsub(str, '^%s+', '') str = string.gsub(str, '%s+$', '') str = string.gsub(str, '[\n\r]+', ' ') if str == "active" then local file = io.open("/run/slurmd.rst","w"); file:close() end end ( 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 slurmd ) || : [ -e /run/slurmd.rst ] && { systemctl status slurmd &>/dev/null || systemctl restart slurmd; }; rm -f /run/slurmd.rst;/bin/shsystemd(slurm_20_11-munge = 20.11.7 if munge)systemdutf-8e755ddfa9c283348bd818e17b56dc14dcaea6d30860b9dd85b437f9875d9030a?7zXZ !t/] crv9z6t?gRa~2JêMNAPû_+I%Z+^cNn;dU\9 T.3˫Qazj&hh{JܿMAoᴌF$((WOVk%I e/9%!of5GQK߮p=z#Ny\(O}ij ~DiMQPzyϡNmjv>W0 %u8҈܆׎C]m>n}'sklii p_ɶ2 y.]ar8 < IOq qH !M\zk3 4d8 9?LK#F[J^+AUJEW#γT-4@TG&jNn|DTH6G`$n,̝{N{= 'bj> %ns^Ʈ0fucU{8ٴEw)i,Dy&!,mvn4\w?!2!)Cw=VsC&MA*FkGh<̊oәOlH(QFc[U(zfM+pLc>i_/„5m H68Wz@(^`Q)OWVL5Co9Ү<>8{,X0p[ ?휛g UĂ殼5q1E`:'?xڌNj҇a BG/27_E"VMiidS/W0vk4 ,t_r #һCy/Uww_Ғ lIt;4j[,;Ss8=U԰ۀrQ.2xx9>[e?Kdq+ɰ_b.g-qk U߻Nѫgg|bwl+#(;to? b00$ ՓӗLp /(-w$;%z{$ !{ECZQqQ($]`\v{Wz{…->X$K`=v;iƕx9G|BfG꫏BjM#=8E*zFVDG(MD@AC+"z'$Jy#N?q)]9g?:>GopMA׫ pos,qOR3>LcUMKM2zj4HDn9ݞgH.)_,nFrR9`Om1iO^ʡS'Z?_TZKܠ1ݛ0 d'.9J9FH9K H2&X2ZGg mE{>$Kiu !W+jp;8X5Nl0 & ʨ$ WjqKIH%.c+iTЗ>{Mn̼QQԖr/jsZx3 T| DYnS$* 8m(/( CwoL(_J/kXw,/c~QѓU8 @\Pwumbr:bXzcTd:Xگ]܃j\(ڷ-3nJ '~#cL?ohLŬFu\"uSfU/5qڔSHN(*tN 9#7d5χoQ6鵢r kn2VW* ˶߮jW8{8:(#}";8ô<2ߝpFx:Il󫚙؞ۀu$*[q_ا*gOæ L\ⒼCɅ!YގiǔjAH;[.$";x&M[ΣGl߾\` ''Xݛ+A0o$atںN.Ȉ)\zZxyPqex(rxˌ^\l> H ^|7+-&w )Eඈ+ SD >m8a4BSQ_ٌd>A+]S /K_<ݢ$j\ PaXȹKd#c;z9HtP GΚrF2)MBuv&];f@>JLۻ~q&"DyUT(fml4b|Dӗ/dHn:cHŎ:rgMs?ÊNi#w̛im jeJS$LÛm;˟ &`]mж>8/d@˟MeuQE* F fo"~JB?;d 6j#S1 T^{.98sv)ŽUJBB̨FQNCbR)z"&ܼCE ߚSݟ)!m9}Q]%.u #J.G S**%@6%"K\I(Ydy)M%%drkrHb"x9תaTR %~a@%siw5I4sV?0Qb䰯Ý\ʸ%oa:<9Zg7Xaf:3+_ǙXm1j4zrJRBY悚RAWPByQ:z!=))x!怟aQ(%G<&Llg))aRkZgqg&/.ܒ&[~ūdH\ K$gWt,CQnӟh/%#O\P/0ί0M6I%L:ޡQ&#|`_ \Ow~wd돢eN&AB|"t,LgD,8CS}!2x-獫{ b8][\d|ZGވ,t{fLR> rד\U- l=g"H;C{递VNƒyG{o>#&E l̺Q=zD v ֩oael{JvfڏF²Lȏw~߿y ;0ì<ڰnTЌl]]jIVӒ^3%s ˤd]kdzB0 )3,AVڅr҄ 6YE/ɛ}e̵ eDB}gmOADGa!4q?-֣ON-$AѴ%hOvdRΙwŃmzCI[ك/bwӼ.(bqU:]~GliSէHoL.Rɥ;AQi䞇:3aV"1!;)Zb~0^Vju-B4`2 Y#|Chm@:[(qEumW&:g:gpH_s.^sj3Y'ds^.6_eQw{dқjeXq`33¥ 1myH;j{}9#l:K)PBҟAU"hxFꯆdpzn@G0^ofxLxgޱjT4¥(\#hS]m9zyv"!WQ |sb5qJy,.D2Rv[FNEe TtZb5IB%苣JnTc oS;*B`Y$g 4ocړ XfzuCh"0R0a#%CtGXTs'О+va!kfbd!>khuFeCB%rp/Dў}Ond1miZkۢ^6e 3[Տs´ùJw<>3c\9eZ.R=?v[;nCGuCB)3 8*IZDfI oYIB/p93ϯwxb@M B;mjva(q B5xdԧ}~10X8&Ӫ|*T@?xb*fLVЉK i뮐Evu(_uXUA輢(N 5ƛ3jouWrq0v#e k)6)@TmF u/~Y@z{y msH6,Xt, f4#? VAGvc:kOxKeaZmv;#m$j{3ZI8Vr= >;;j"Q[wLvs K+8n:dZTs742wN׈mҩnh?3i ?R\(2Q?mc)3@P6m[#5|sBkg_;k8cK (3qp;u;R8cKa_`XMV#Ia]/vtBլx_6vR|NmAGZSVÄ,טZ"<+*oh"K:gQoEVZʵp^3ekSёTۿk9ntu*&8P4dp`v 8m$w,ֵt@h@"?M,%T\&ŤԨѝ=h٣q9m .4UiǷɺWz fj>GɝCOdP_( r ?#G!Czfk@e {t98oYU3^c=|2xa'(iP_D#r*Z0J1aZQ]YXN=? 2oC }H/? N)H:% ~$ D1yj98ي)*)KENp[䅺)4Ga!pƚi-162c0[AMF Ok u6v˂`iQb we;-![(je\sb徴9*ݘ@BL_{ٞ1+[bsz92_~s73W|5&V#xd|BvcE-4!"f"^,+Wd j/nLk<[vU/V e6Jc)Z F^pjVQ\C)N4x nY2?A.*8pPyPJԓ$ g#B1i:Y% ?Dڿ5 ĊуȊ3f $*oE ",q$qu[t_ӳ.zʷIgt&SpP^Ԧ?c! SZAc7untb}L+F1[?O#{[ =إM#;n+)M3PlRtЭM%AVR{:: [9QZE0!s`hpeP˿'"z"BU؂8ҭ{5;X553_ {=r?F_jLa1{W~ǾP8(Sta8h%*bDOxEBpYyDcJXf!@!UMíٹ {R%%cQBZnjf  Z4 |i 6i=ju HTwsys;=Zg}^JPa~+N`HͲD54,[YWC1qAymOxl0/[E(Hq43W Ju/`鰥w@fEbŢQcdw7qIKMX]+xF,]@9K |vAֵѐ@F%EɶU:9M3q&[p3jH߫A+NXsVWo6/m@@ 'ӲT+jR(F>Oyl95ݢΛ YmJZAH8G8ć8R/}&eI&G2y;f9joW<_{k+)qfjt?%]>SgEyABST$z@jP+vd*lrwhtP#""!2<^ cw|DN_ׂv0y4Hed\3"%ko>>έq4,9[ҥJ?pV`=\4Z/WKi2 \@t tPx N;aj3bAj1q8&,oaCmQP<2dTj_l7VMNQ4FS2}nK'9u.ŽְDYg?㴁J&&#d~ $f{Ȓ~DW;ywhСhP*gQA_ .EvWS]{ɂ% $DYoqIsoرJ&#N +::sC޶Y6)o|OZgW\na5 ]JE#fW'!ijݏ&@9=|tL^AF ›ȕ"r&;橓 䀕/noC(cRB1Bi[8@~36bi%Y0Z^+ Ƃ Z=‡ELdɒyOjRG˭:.l Jo,IybIa5Qq<'0se2=%݋ 2ʿęf q`R=)IW )SǎsvG h5~|:Jиh5F<-$~ apD &s]sWe O5 ~֩ń\ZDžQ<(Mlm3XlGё[lُ*oX7em8{F0 i!08ǮsȤ Vfr !Y\FkИY 2³]w hz~2aN{ej x5lpRj)EkCĶq&M1C%z&s[@| S×򼩇Y !~43࿏'삂#=Lk Z˥M(˦Z !iU8,砣RrA]ޑ 'wi}ЕUps^.8dJJ F3g\AgȮpeYMPvFw«ų Gzl:@],QLUOH5Ra'08mˬ`?cV7ƕeٚSq l\ވx,\1ۤ<%쀥e::o{xUp`c^+.f_s)$cCG}&ٌБtQC %:_*$@OpbZh2?I[V3jOmvmeV3\贐DN]q2̦e7c,MQ4+: VC8} 땟Ҏ/OUy![J1n'`S-e!3LĐCQotcv n3o?23mMct".n`="]I1#'#e5-!EdfW"dA>.ȓ*޵&d %5M%K'xqA{j-L3&"xFqzIF^#nǻn;>6ǐrbKW\p_nGb@itvvb.&ԧzm]s)6~5qBjrsD~*_q̡]I+9ՎnM)Y[煽c̍;^r8SPp X|7>|]LOfɯ4 (uO«K:>8:6 h0^X[/O6`'%[TgX|/h!sH+5aT \1* ?WM3^*ÄLe*^y݇$9/-h( #cB%7jIڅw~݀I0)cXMi! /Uz seR?{B!q%(Hɫ]ZF/쩔|B?%H[q rLB_u,`m=5: E8ߋeIEu8mY~)0g(֥DMKEA*郜%L9>n]NWu[a gC͂tASSs$F eCt/ K!W%xgR`eǝ\pH[pöOC+R(v>8z+krک V'nc wNZfHz8 }̠d0P:R` -| ^|`9/ b줒.Sm=#aiB[ G'%K)Ihn)ҌJ8-%?hpop59b @=i[1U{OyVo'A)Il M=ܳw!5Ȁ*0ߧrewb.ekǫH-91y A~o9ԔFUŞz~SK:E&B*8Y+yڽ6 fVNV| `^+p&jRw\xR<ǒRUHfl Tw0ʼn]eBޝ*{CM dmRPAX͆_B*nWYv4neTq*:7R>-peӉ7䗢}WtC3\&߷^isߖƺOG6@7qīi i1u`M@۳ |c= ǟARl#x2>ff>O5Dpxgm|A2Cl>k^(럍eUx l ]aK`O6Re<>50ar!\|w`ϝc8Bc寜"ޣLcBx8zG\pE c)ot 4]~qZK1O;-~j3p۰ pN-?i*W.vlh6II0j#č+yb2<>3ffYD4Ƅm$X%<3z>JЗP%hgBm(uS {ez3y* 73]*sf$庬*qෑdȫ+FҚBqIUDjK~M;L耑?OJ83^04M7t_x $m" ME<,xM٦إ&4}=Oq|ĀѦK(PfilDm)rE̎v8 BS~zU=9zfLswB|AdڴT `ǝ&zZր=!.eco97l%fqr2k9-6lr3j1,I jcZ-aX8bwL+3vղˋy᭢zd[K 4G翮 !q:AKPll.^E)u~Y]LƖ[%'He!+cJW׿?KVT}9yT8[$tNjᡦE&c9#Ф&֔D>8?-KY6~ʝI\K/Q]46]*"|$.fi VFbZFTuAywn>&-UN\JU3Ē1%0"3ª|b,[CVujGY_&{2eP+z?^@W>. ]O 뿶9=s,}kJ14_^ҎN9~X .iJt7qIdZ1Fwy4'Jf{ecVl:]t;rj].ao %D \VB5h+ w ܴgDߝ")O N[lO] "zɥQ"dņ_xv !B}Y.*oO _e\b r!탉-W`>ʋ&,U)@b"|2 PC*̦K9IabjI]dZG"Y6Xb%@c9·FeX%q.I_6BP8 \{%vdn(L8Pš8k8dA`L8L ^΁SroUa/~iNUSōI::[W/^eF&5z"Қҧ0QA sgJlC4F1W~Z2[B}c(NIq;P^a˧)OyI:-3Y%_Cm"s7PF}҃kmq9ͭQy/'~yffL$?-Kc3IE}Ig=8<gpg$ :|4^/Zk9Yh5PE_2ݷӡ%er0ԧ🐼 y?cU#^KœlU kyw̵V+]bҽˣן/+@z0\C`N6 K،͝سvFL(w;@D>@$]`k][͟ /%`]q=Crۈ)C,GXmm%%jmuc״tl~E)\>X4$6 xzŔh5ubىv lГq,u"gU0`Ӡ̍]rEDVV•o8?;mb`HD6AbȰRYsd2esP>qr脿up~KpM/<;"T$_kr8vHٟ ~y ,s k@Dk='9 B%kZ]˹RCf9jI~v빑>1%$cU4fi{ؓf^8k~%6~VEI6m*tc!1cT`)>?Ac'Ē޾IJH=2k+`1+G:[):eՠ.+ {K<ֲyX:\X0GY'`чiMq&7{"uō]'Ͽ c4*Bk vRx/cSԋވ[AP9{cB; W 3`KZTqͬ.L}ŵ`Ĥ0P[ftiR[/v\}1MavK<7 .d~VR&g0{kY"P+5n3?S'"1r5/2uDy|яw ,2> ul7n:ZN;_ZʆH3eJmӈӾc4ATȻ.MN PxeI+F4&:i)TYtpA,'@~˞^qܮX '411X~B|.艠Gd21ah6_c R/,H9|Qxkq&Bˆw-iM=ζ%"I0E1˃{ȕiBq'ϖ[QT-VO(CO8fx E-g{Um&\gfSR<ljgtLU@瘽Ń yu#" )%Z1ͳ!kIƁ̞oIO!MW7UCa" ' *zfߝ8tiQm"m~J]7cT^Nk.E4'z o= E6 _} 'cG8&|T1Hvq׫0 @靥F >:}elfJ$!f<5|rMKA˚z ˩Lj,EoDyĚ 3s=%8٨sX=F}T!wn'9wV1 !6*j( G\T 1@9}_-T/?誵'w- 56V|8He2qoׅQt qٳ@a`^, @Ͱok7no1R{$]#*W sEKVsY;q̐U܃B4?f9צ"K(pSMGbaϗ5{ Cg_rC?aYs 'N%A| Zk*.ϥUa7vigd-K/Em= Љ9%jbJ*r*hʼIex|BZ= nvƾSt`2cg Ly] gA6ǿьuնwŸLpܹNjq;ԜS~u劢Ɉ i*MCLRP$PuYb$8օD\kZ.^9b*v5^Z~vBY49CFѵ4">s(o}'y޽Ի[vf]Xi`:>&hx"\Iý=?,:j2V”xmZ}F,^:4Q/rǙuG|ƶk\LYkm F>4Ss÷!=?ur˓ҩո̣q/)dO`MbE7uxV56 :!\.}t(t%ŭG[Mjmu9ukm:lo_p %"CWZ#xCDFH K"qτ-~]E Ɂ~sk%C'UPTג46Ojket!}yx&/o0mP~]C:Hs5rzlԊ@ xzRpNmo -K10D6>+쀩=]c말P }\Ybm =DlYoDFj;O3u969+gKbss`/ :Y˖rK,#m9! Za]F%1 >İ*H(Ƅs/"{/Qkrϑdڙ7`ekZ+iy ~ӀQM|cg{ik&^ &FKCݎ}?rbaM RV3;WJ'tWkIpvF`EY K8b=WK,LٺCЬm/E!F,4݆3D^LR 9b#_βӑ^oT ם걚W73 ipȠ"UUGٮ,KN w97랖6'`/ӅMQ?daHUD,SA&EW1<[⋒3Y3oAeU=]JZ4Q7=YމmX23uw+-n0"$y Y3FLfgVƣrq,/?fYCJLg%h0m}iE6',/"gA˷9ANC 6b_;T1Dߵ޼7f$=)j 9-$; B s#ƭzxh]ytTr(sW6AahNue\ÁDt "W%]fՏA-Xa!m2t)3"˫P$ZT)Dwmjy g=zk nrG$3p>5E"Hvg[e 0 W:v͆bs_Wڀ~x`JAM/U1O;<)r64Z{NҘZبc^Ϸס^ Z4![qL'<{7njo%e3h I[nM$*qm9Z>[No0%JIHEI!VDÖ M<ï1 ^gl֙+(s]G_Q 5gs=zնbSfK\I>~ )(_eGgҜ9`IWT]O|2iNn 3R(+8g]|dp0R3PH3` R#R&5Ǭ"rWJdLR,paNׄ(*T7˽\ SmT:9ݡA1W^P$I޸FM@B B,ԛݗ\ւN' 4v$sb ЌZ"ޠ(WRkv}~*"W_`9ޜ7W*Z?t* /$;>")ڥ2Q 9 4':/2tʛNv}0K\P a4aHJPO0Λo pa:6$fV-i}i^nTMa]ԮLq`f[jA'3o}u*>ۉ@o7 V Ӵa2@LL0:V2Aﲖ,B:ēWn)͖R,"1-hڣJװ( wgS=6|vܬ -h`6"5k;gNnW/2{$5K:/C6LSL]v8 a7f?C`( ;+k!S^Lsp lWli~5 K 9V-ׄd[\Vsa\ ji6}nZh)R9b5MS4FZ(1 Mpeϴ" %I^?k}*!{ E(wxӈ]7y ZK`(Ew+ yxH8wY4+1y$GEy`vRvcJ>zT k(9'`1Tu;mC]&dT$SzYrbb2\o9ۺ_ES'd ~P+_O8֙\m}M,5xD=.g㻪63nwZ3كV6K Tø)(~\DuM/ j|#kn!q 9o"ɬo@E˻#fLM{w]USTp)(¥]5\(|, 6Q=TA`Gx{%y W)!-< b' pw~`oG;](AE3{j~6<0bG|l,ÈU.M EV!@E|jv\52OZy `$%bB|nCl kjps~6\EjLRB֏2uGR}|Y%dR;!Jq(Qe)0TGl@7&ұd֒c~Ti`'s"tVvV@: tWb@N [9N,`#WUl%TA2DӺzs=ާj;n0kOy30mͦUK!4 [#nrBHJ,!Th.;(:?c+lNEom(YCe:CُL9kvwl"+>dl~* 0۸.Ξ-;нe4rQɓ,h.M8֧޻tm$tgǨ] -f.JLO |vrp b{4Lz5䮷!}Vy3[$v\:L;DJ9D-m(}-- G^胔"lzDS!w2%q_Xog& {|9o苩BN;cEg^w+/j:8U[(Z@ZXp|udmg11SZLB|@j1CrѮ&9Ě}'(RϲHN]#eg\:K7ŧ!7EUULԆD_>bzIEMҏ Tc:94(lL!s$]qծ +%߀1 :jQܺ^ZLjWghzdW}ÑH U5 .禮L=_)T&U) 'E!5;TL;}s賥ml=l -Rd FxpoYrӦJFc1<[l;XWZP[v?wBaWrYBH 8Nf>7賶(7Lӛd HZ~/ChG)`[rAblb+͐{UriŗX5Ny협㈈V< 1s+22weB8Ջ\\Џ*PZ!Hك?Kryd˶[`BXK=8p9!-I.c0~ի#fF0joTVWRlq&_ '?\x!rkS^Dcn>QJK@0qWJ!{Aq{@ģ%. c#.\i5tr:S[>S#y Sew)?+ <By%Bq3pªd0d҅\Vl/ߗ$?g} $6sm:`P)}!QZ>90ZohXj:RnSe65Jp"Hn&lyhE{gP>gB\$ɺ5nKh4? M~^UvV\K7 {E,kHLYTYZRɍFŘш&CyY-6bͪv:{gԢd7Tn]VwDaH~cb$|yy8|"8LL\Xăm-j1EYPt?83a`<) nNrJlaP]$K Tr%NS'ͽ$=1گΔ-oj`{!k8s< t{,Si5-#i07# ޜ}IvoШާ'vrZEtT٢0ǞD6Z TRÖiT7ԡO`lC*h(D͍u5 DvzW<-OPl hn2GUy 'џ:ZdDYAAffޝ!|L+BvChYkgެC\N.MiG2N=涴M9͵. )v%"A S-I@i!y\ٗTiQJ6:Ph%Tf/92f# q4ol^ěYi@RR; *}!8RY-wY ]Nى Jal؜9| _y|x0ˍy:Y*g܍cI|"kT::N}[R1}!F񵇸23 /yLDξǮa Lɻq`H<5XMmbxwdB%AW\/ zjWbEӹ ®Do$#zn 3|g*E!?{trŐ@w^z?ԇ1mqMX@M6·5]\uN9\nbh Qы_/=&+ZE۫l|$ f'f|9B ~$YkYkd2\gw7P"u 6m4_=׀n*g@kBOIde 1HּwWIè+)r)Y0}4-o(?-,9MhIm|uO8qӋɵ' l[9 RXy3^6uPC1W _Ǟ(0A(* e3ߨ;4e ֕rOkeLlYUS\9; sQ?7Z0Q-KxU)\?b7Z4ɇYfdKaXȖxY̌g:W0F8 d&L, ާKCs{FniʗQp!jk'#W\NbRG=WVt/Zh֠J"0ۧԞ .UXo"+<5_az$Qq+ fS3msw?o6dz?JlB2w~$#4}WjK%! wX,Sy$'NJ<|w4 4@> oNc5Ӯ 4'6z" -p 427Y~?0@X(S3 Lc5'2)XV%yz7Nŋ0a2j)\ܓfB'ۚYKt׵{!28@@OIl^( ?[&ȋg"]v sB E*$7V ܡH'Gpy2w} Da+ުo65[Ovkطv !q_׾~fGۓt߯mCG#",_{>">`Oo?Pd$J)*A*<؃粤{!~l#@{y2o|-wbdIjqu˻ܛEjuetZi2a6yp~ӏUqhv+C%#Gt(؍aB1Kzzֿor-xzow9fb7sx<,AFَjo,-aPaǐ}<g`mK=IRf䟾|bwyCSԳf獿KޙE}}`ga) /qRj jpYSjZOMMƙшOs UO|>oĿ<ڰdb4x uȲcg]H Y⨓мk.C)]w`/&nՋY^x(dd_MWHl;'3 \Gso@SH Z\ |Tʭw2)eiZ~fG$$Tb|X OWq1;B&g! 05'cBv]Ih$-]`xV8#dc4biF1t.v4[ ~~rkwvi[nțxT}ɗ@4In xzh"BȺzE=6njxYU'V[iM8sˡRf[CrYcrȍvxRt4jx>Yh(3CH)QY~D?={?}53s-L%*-vXUYWUju*r mL[?ܦ~u_GÂXt;Z֏Wƭ0W G',oZj ߋ^\諢.@@էD茴o3G-V<]0G͉ىVf1xvEMy1 dírUA<ȃwS!8LRƇ6 ܃=ڂ1;һZ%+lSR>9QY  (EzQ˃3h_-"<@w#J1nK!Ϩtj8L/Xj}|Ҏ̙RilHVFj=³{A^.=51ǻFM+&B"S}=6fj jTց'% ~/-)T',_k\ʾ.O̖,I *o8FAhȫ)!Tb.+\  ̨.Z 鼋,ɴ[h78Ȧl2#l8>tztLL&ΒZ#rGچǭm@IiM[juw>'S^Ӝ#a^6K5))-\Xj*Cy0r ZBs6$4_yr( ^7 qq'k pA>5k 1*HtNF.Jʀk@{3_HQz7osfEذr?Ȝ.A\r:jPA&lߦnzƵ y-;Xos1%kn`1שKzki#sz@cp0Np/W/؅iAe;tA&rQ-idƢnl$T|&E!כ ǛH&;nHXYxfhݘڕ[.:jTXX^G8og'sP[0A𭈂?&wٚQ4j1@k+W @ ҵ"CLElŐYRXO' }*; gⱍ ؞2* njTI:^,gњT ,mܐza,S=ro[w >SHC<].ՓZx<ܔEVL% #{׆&"ΜMy~=ayAn yz]t}4n0x- o506ZVB{H>/t0OvU Ъ.g,JC\:j.^H0QF7Q*kR `(o5^pW{٠ ng4=:|F/B%.SJ{'Ě\m GZ! Ytj MyVڥx\ՎWH5)fmX@puЉMyP13؈myc+y EOOo`ox(UJ_Y7U;Ϊ'm,MWLȸIN7U%X\~w H^ۍ65R¥%ot ,=␜ .SuQ:gϔ3kf1(deXvWoeX92f aeqScNXEN'y;ߣRkcjZ57|Ѡ涗ԝp&PG_%Yά'd$ {&.QB !g t].D!-U@C~=:tp$ܸc}!U*"gd3,ٳtJ,6؀U ~{.ر<(n|Ka80cuXv)YS1%ss| Y^K׆)"m:N&z^ }{U;U9X-aRA5<.a t!aȅ362< {0(~c܂ޝob)9½,3+ ɸ<괨F(Rh87u| mPʐWP$n|!dm]A>rhD抹'ɵ6CB]b$<: ( i|?Ŭ2gTx8R<2a=*[1?];1'^3bb 5!XD-?R+ƎARF7@:ݚG\DzS ~&'ÓV;[;Ha͘ :d+^0/Ny@3EC c)f; XNIϹԩrNR-oSՎЦ2ʶX ]J g'?{uaT>-Z+֥w TLknjyPx4 "N_`΅e?P5ϔۆU]۴ =|qI KYo)o@|z/]۪wYC)LWJM-h6gX1FH`Cv{`fjðדH})i?((hWEcbUEM*8!10(6{3Su\tj#|qc5α$C-ӷ(J!'\tNnƐS~bY˾ ,=8k d LhWeS//?]Tc=Vca5␐~ZlOrz]Eoţm7ò%7W94fͬiH>${۰d{=ڎ 9w:6qauy-/WPMACًqot +~b%v˂7M|rM%ѫ^38|gIJ p0ˮrW#0;* Uv'jf-]pG*  ̧A9ԎOn]sذ |iAoYPUf֏ _p@t'7$a5:7*̏?Vk [c8/g5 }Ma_aOJ|;촬t;Nr0tWC+:{KoLAlãNqmT7*lKR '1NKs>&TS;9)8EulTuqQ*1bf.Nq@__x@PR64R>z>LC L(IC|4 M+0:M=ȁp3iK9 [=W}cŦ5lk =c5~ѥY {Y.m7}.3.e؇ UZ#x)U*y kg^@^ C"p쎰#],S&[yΗA\C  x]2nպº}MI>Ʋq 7eY$IIGH[ȅF.:KL$ ޝIL\_W.qhny˛V٭Y9#E:4啁?2?`1Q*qtܦ-f8ngk2gFVfw+"\-i6[{z.ܡ3lOh#]i'5S&%EA7k G~sU;sw j<# Yk6oSu$g3m|H Df2PX̑d8?t=(\H$D] -sqnVJg m)12Sq+PwA#%WS VU `%кSxTIX`O%?3vM#;E m=)5,9%) 4HRp9?+9Wo"%XryBKގCVY7vb5Tƅ2Q WQ.Q!xQ0~Sɒ&)"D4-p{U3s&Ơ\`?);? 0+"~=<d"IM||=a:_o;[Z") i}˞fyRB?pyDh(wI>qK܈xHU|7G\tB~ */`ϰ8ʑ}۱ļp菾x4PpB_wD6Q5^W$f^&s+Dzd">t([ eKY "lnכmIɿ!y!tF=gY( DCtp#JBPgFdy<1rCr_,1~Ǿk֙?*%y*qXV$Rڡ)*v+Lؗ} ~4(hwSsLEѶ†GM^|k}7+ jy8Kk.gn=Ҡ1>ʹgcMcsKbKp8&`x3J>i P-D2w0ްh2>#Smc@bouAkyh.Wժ'baFK¦7"L0OPx:udJ\yȲR8=,fyƁA,M|V!N-xн3\&oU\ОJ W@o11,JяZQ+!ܨ A7yY >gwnIPND VTNh]b4jLN )5f/;E0tpk7O&&*y=O$:g7(ZB-w^3+uiɄ7SOmg;ֲ8(+ TÔ*t.Cdk& Pfx0"m:(3ɄFSM&ܴ&3L_D{i,[eԟ?`Q>a1`%hT(n\JRИMVNM#-ϟ̥Kv4lޡ*&іCEOG[jDK 则`p4?2:MJ}ga꓍gzIb״2e,ſYS[KC*u+R+ pl)9RC1Ҿz z5W7Oy??5}M_ʲ%'1+ڏV0 72dk/@޷!ԥykttᴔI^׽om:1oQ g`-u+lK[RbC9!)USq՜ցD~Itn XݜaS5m |g_Պf.58僟b?`QK;`mJy6Z8;Me_1_6^wpLIt0;h(u:9JPk5B zN $9*\+zs57x$_zzѧ:R$%.!'SGO>Hp_i(Rd"+]V_F뫹an@|^-0f 3gu=w#m=*[;O3S!1;!wo&OcxVH T#]h?Fuc+j]@rGn@2I{{GԏԾ7R5p' ~_/D!5Ȗ+t^;{eC)[-ĩI \tZR2BX-:'扉# D}R2vXԉ)82Yʸ/j aKmE10T9R:_Xg-09%|z{ m㓨ݣ 귣yH+`:OdWaN BK> Ä8L)drb;X*Z&s6Z(GA3tq7hFL>\J3o^6)%} _.*r L |,[yLX#ᕙjoZXg= j5M( d5ނ{%@&d~wgڙ `L5)cqy1Mw0gš'Uт×ǃKSy+%+|'lnQ;~'rcO{xtK q,$͋I )0RHTW)#"ig<ER֮1=]m* bQ lmC‹[3|W^ =ʺo ty]U2нS% ҩG]D#K獗w ۱8h&Sf stqi.m/3򒬑mHL)V=%K80(?'^~&(Ɣ$3iiijUgLYHQM pvjO]6Dqg\_@E9xkW4ReȝgtvsCPøК9!Bg<7>Ld8YRo(ޥDBfJΫb}Q2fE&4*}{}0j>d+{,"!6# C]N:A#/2`^'bC V= >A #',J,'r(a!Uo;c^Y¾ Vp`u >lrJ\uF^k?.Zgfs`\7T=%Vas BDpm* ?ĹMOR%Ie MsVa9,p%dǨPmp쿹&prb1a/>}:],!3dqekHO=;laD@r9#:-?$&.Bžͬ];qԋPyKRDE*n d ui#-ǭ+Q32qE%gLD% 6̨WK8KVLrیuRk߆EA',xmkD"[H_H`;sBP^ PVKl/d27'},LiQ4{moW -7f;?etaV?ĂO?3!` _E}~f){^8KH9l% d jX pQdD}A.zRs'9I7JLwil-nx;xIg-Es0 gwHS}W 1%. M_%_e Rv2|A #M8 Px]EΞԯXߎ[:|ievp)H7cB8@vNɁWbQǯ[cr80o8 p0:wrIn+4spߋ'bgcw `LVȮ~>3e?l#aXo=&{IլaVg 5߇`@v#Ŭ[yO$J]5nfAR;*;Z)7HMMG=SoT o(/ybyI, )f 8Buw0Zɝ/SnD^rl8Nֶ@[䍓u9Hj} CyxT >68S~oh%?6G :87~\~f B7RF/f{F42JR{ $Xuu75u=9)הOI.C\ n.5CWNIͅ8N8tȏZnhZG`էuET@<'rh &pKfRز4فw;)Zy Tl J&DD8⹔t1eױT,ftoDiHW^q65#px[- 2A,:;U?Uo*{ȜM-"ɱ!SSET '9e ʇyʑ'R+Yb_F5d\̨ 6PYF<_Q| ` Q?!^ߡq#bX_7/p䎘OuPq9oKyW:H˄ \thW8&Qqӆ'Ǒ{A^F:wmB[Ć2Cˇ0Rֽt5=sE0?w`Eڟ2I6N%$P 'H .+3g( =.5t0mxl\$%{Qtip_ىg@X39NcSсt [ ZSR)$ _o6ȓbg@fC'b:ك !4;5_1} |'DuJoY=q" X%40Z:ŕ:ȑm~diB- 2i=,rGjyoI85 \nb"D6Ӭl s`aEh;#_:( (Bue{"aa,I#5N5IjSd ?M9Xj/鲏j*iq{S ^cxSJlI'u,q"&&>][P0B~؄HDnMZq|պ_u3Z~@_"002A*K8bx(FRY}HOPE:~eX]qҘaRɵᛕgFrTRBnd>P{]DM7s 9 Z]B$Sj2"#mBs!CQcow3s1=[#CpzFFIU[AzWm5a]c`wIlpvOLBGhIJvB)M.'èc0G4:xXeU4X)ʇ"*v/FƁCEv{ai%-819`xFȾӁ >=a&Xc({L(#gxuQ o}))&^@&RǴ9mȂ[tKv 7/UR&G-<{<,- 7A6ARч] [B}eWnP>(]7FPUFw # qz~~h1dwR&|Vu8OJ.K2<9u^{ZC C4!fԹ0<_3U3 ]*X1<$f+(H ™(UѐK׈ɕOKȬHqԣ# n#`jumN=gUA3&B&Y41뢱D gӼ-84O+t0z~pKmްn>3H>EX搅ye>ȻhlHk-sǼsN7贚#&̀[Wu*T"oO+*$~N`v>sJ }I0DAxqc$[>!lCo+v--Nkxh4<(Rŷo ^ װ3R3ڷ#3MG Êr l'̼ TLq?rJ=Zc`(ZSzO46ϗm)f0p4F,`ǿ'.`۵?yV<PiY%͎6P| >OA B7A+a4DL:U|$Ɔ\?L ɮ b-s^F)W(]"~4zL+Hc{f ieҕpHV0 (dxv\G,L-P  eyͪ6>b?{Q؋YӇ]%(1f;(Hf9y!N*c.%0/*f%ɻ!IN]ub@X{rSa_^Ľy@~1\|.[Tti\^;nX@sDL_e٠H?DHx?n7P\ 'vAY'7GDm>^/#/N5JD/sdps83gPDt40C7Kf?ypjޑAr_gs>Y2Lh^՟_Rl R@ݽؚ9EU V5fx~y4̊6)} @n֗nõ1F)f ahFhk<ʞJ sl#JD3E8^~v,4)WCv$;'@JX :3+$":)V2A0_M'.C{.>f#J?xwAt ŭ(H'_2u}=>^aΙwr"9"_7d5yv=!P&}T>Ez#(]6,P;>?I_hfax[r]$pI?qtYx"^\XT6S0$!ö_wlmSx:3C./(SC_4(ͺCaM`Mbj>V䴖DfDRCZiלJVH+W5R<\ WV>ǪD h-p6f?C~G|u(n@gnHSE*LR%hvA>95 ܃R]mI  TaNÞfda*5V1:(o\uu)d m #͙7Z`4?ϖA%e8ŋ 4殳?bI|F;畧2/_ ͰDt1Ι%}u'Ϙi &:*ŔN}mnamiӤn ,k1<'3? ͭ JH"&@/!s.<<2DKet>nsmDRr\7 Ň. 7v}K2|!%r|f>3K#|Oe{R!J;wu~ia) ŞUWOJ65fgEy̎9m*K}C2]Apwh5_0!5hox6z>o 0{vmo͗9]V/CJ`s`8KuqM^:aWIKWAvNp/ߎ,.=frȳc04‹I5$y4| ; l5X7Pzm-P;1x\Pp o[LS!IlQm rUt8ߒ% 9`[I}k99>c: f@Z/9ǒ 2fuNYí]IP뒉scK\zh١Hiհ ҥ+Lz;rfܞͺx}1WĆ&S,\xr~t.m_?.qoDӹ:M&\&d|PY+[&I'{aeKOTU(I^wMNYTi2B!]?!Wg !dok .V_(J!0Je| sD_QwZ]8lzecv\tD1%:AczG#\OEկ\: Bj _[xߚ Ui97lBI8e%*v[䝜+(vJ(ylV~ ŵ6ԐW! ۚ9cvgYHfBGODY~تcE㡰gR2DDdr+($Y$}aN$#͒X~?Ę{!t+ijxI_5&G)peX|`ꙮTsv]Ry!cxc徾FNFzkpYPFVZAQshaThp xG ϣGNOWiFHOΚ惫FAl {s=zwtfnq=֚5(A !؈* _T%u=CDB=YmƓ6.Obn!x^vw(x.9B!hV X4-R*׊["4kګ}4Yd-g@`[6T! ^5 vPn5ި=P#09eҿ,+ As-p~p3Jj5EurXfU.>RʿjM{bSKGMV}ihb'ñb'8n.Ȏ?j LߗۃNԋiȴWkUjٖrLpSR ]i>3}l7% AT}*zlE%_ Z#зN*8s.M5)M~CLmpc[ sM=?_JWC_juT{$,gin4@[G" @m$ Яb@p(zЙW,FTVOhIvGzm|Q`#eXN#B7}fhv[_pMS+ĥ۩hpH4ⳛH Pl)"/4 5 rNNwބY7O{A)b‡݁. ʼn;ZeWZ*Sˮ#IxH.&2W< Vr8{Tȭla؞\= el>$&˜:xH\pGmq7t"ieF'b7]`._ mGDXܙw`HO3]JP+8$%O&cJ1.!SnGPkLm5%e-NN) eܵkxTDs4lC~t/W ̶Zse¤=L6J1"%rR1 ^*IvBidD>Du[RX#ɥ3j_N"Tk[ 2b*ڷv0ϑx~%WľR &@Aꇖ_hY)O-6UfMer'CtIx@)b-ng17r4 fHS! nE؟PE˭̅yPc .s1 /ToӧpEX5욖h=B8f%'av~0~2cVvᣇZc ֌U d0fx 2s{ JA&Omc>qGՏz]!]Av0q5"^[fL@5hBJsFmE/Cjr3{Jf%wnI 8qZlunYv#DѲD_Dl Z tLHы2J1*'i[><׍،6(vMKlC59 IF`Ճ b$`P2'$ 14Z7o^o1*5]^)=O;ˇcls[_G׷mw/$Mp#=63,Z+$],cƃm!p̝çv $ i4m>szʻd}Zd laq%ըE70p'#vv(w#rJt{4W瞵h]?>~(Ap}k(uھkq}KdхS0}c.}ŗ.|Joi&ozEMm /] PaI)֨p?9 e׸1} [{#cz.9NRhi>Qr4 ,?}莖0B u^{=Q$^1=/ \7#9?pw;Fp>V_1 ؔh8ɡ4H^goxfqdiy5S0EsšR9"l8~51;ScL6;㡈n$%..r8<:o/;$6p%NKK=ati_W nx>^Εsb|,-9bčXM/nXȋc\zk>Y]\OK}',n{0ҊGp<Ϙ\߮aVx"VzGb97 *@:'dlLJ@W4 飊 oa":B'碶+ܻC]Lа]K:H){ӥ^$yuk┺!Yd#}RmqfieMJOgfhANTH?DZo|9魈`tϙgIr볰 liw'u@gZ ،#WUm1y/t9c6 ޜ(6|Z]&| Q5t&fu˅ U{,٠6RfSXW$4D(|tN*q\%<xl/g>dd'L9%n\UAgdT (pnYm[DrqরQQʉ0hAk΄H|O4HXROTwuP^&*ԗmOW8-kAgEq:A]>s_GUEr})-O躤:Z59c TTRp{jlv 0֤e^y:@[YD3!\ݜlnbf|gsLIМ履>TXWi[ 5eʳ)ᔄ4e+{~=ci#§#Pgp|JAG8qwf^$8aj۾ylh y8E9AG#1LF<.(֫A-ONOZ` – `nGm͵?^{dvdFgFTӄ'ݢj}Ad ˁ(.^uU,TgQag^>rc!>34&V ^nv9Ūp\pU{"/Y<xucMIL27s*$BbbN!ֆdmYRgţGi!j~u)Xwyں rKc5Vk}ʌk.O4Y%%\I R52!!)'hXpC? ;c~sik! V.,uH]9;,Ox{pp(h1L/{0W1Rize,qGs2 S6LF“On'W[fBj%~Yk1휤8P_BEdvbI\'D1! )L`,W0T~Ieu]*9Obi>1,o3xUH|炀ZW璱pBNy<P渲|30PDJvlLUX{?)+A)K7/m`j+mϔ|.?!yv Y}V&ZӋU:kivc9>ox)vv%>i{mM3ل4JAnllo:(l.,k#3PpVvS@ſ 9%@aXj9 ю xZ$D :e}>;[hbVTJRg:@sk¡UXNrEwwb(qnrёUDIuT{v YMkqD=%b%\nXb*b^8whmK.~d/U索&bj&[=x" Ƀ&;zR^Up3*5gY%HU?F@דepC Q_Nm:&S~ۆBD _kg1l83Ef!OĐ|g.2#p ,Pr.Ybnپ1?&vG=MLRqwJ{Jj2beIve ^] Xi ,`MCu4`?Kԙ`W}cEj}/I:n FJ&eaQㄡ(d &0a1ֈx &g2b' dK$8BdpA -ꋠ"qJch-B697gגMM-Codp:ҚuU+t\{,Q,uϕwONCN$3hT^⫛l]P0OGaFҩCд9$ox|`}.Ij$5WL{N[>ZG0;f58a\脌=AV*]7iloa}M]}i4jټˁ6gEX b{g53^}K_)PK=2z iЈzJhv"Zܡ q/rٙQ7ߤϪg[(}XG/{d>s䐮=kjf O`zEhg:5ڛR\YCm*iq{ Um ]q@j)$y4,xխe +/wgU+;0c^#"Ni(T@SnMoPYKrz'X9$e6-o41~rv4K OukS_$%E||)f'B/lYKO;UZZ؞*p(Fc6LO$!NX*\DϜ"z/O#܀{k;t6Sdp}m+LV+ )f+[̬M{HG(wzԌG"oU>R@@X+A O~e^jL"DM阖њۣoU<&.qF=fCm3˓xj)dF~Z,IiO>g `|Ϊ OX=qLI%sq҄Ö ҉iiUZiǝW4`3Ͷ^Bh]rؚXINgGXGO-}Z+G#!\M5DG/ Mg[RXxviY}ЅtDfIXuCIfBChuIgܖg+NcTvt}f[? ̎{ciy5Fbv`2*Da M55)AMhQM0PԁC.a:̦lmt DztJ}ĥ/?j=L_g4v>Pg5ᦤ3ASmf7x:8"M{z$Dj* ȓxp#e0$-嬐,wp["3&G%6#䯡GG5Cn;?7.&vt3kJJL( -k˥ծ¶ۍVk :`rȏPO'Ư4hYNgWg! ]8u1,s=_UW'$_][WyG{3Wbs•wfx{3*5%Ԕ ^B1Ti_h[u5T35)K֓9-gPZRv 0!۲3.zM._܏IޘA| u^G=2['@/P"ۢ<|^,P6ˊslmK6,/#^Y]~g6<܎vok0*?p;"ga-$bُwwUf+f<1[Inv6\S n2-S" (`΄SqmsvUkw|H`$i̭r%X8$/Zqd*@_A!m4DkSjǾ$b"5k ߉Xvвr*|xoS9zs%sN}qƉy6o6]eӃ׆qsb &NS1ucraAnzzw ς{ h.ͭTJ2ϖZ0܄df *Ag{?y9GkPdlPE-pOP dWssXMc& rq0  I"Vbɢ5d\4KL4_QcT0.ȶEaވ*33/HwMoֻ DĎ7k.i$YcL=M>rd= @ ?U^ Ю@}"P}+MdTE23+ E듁ޒcUP:@dND; Hq|ڱE !a@: (UeͬL8H\P&f 'U"%? Vmp|:m7z%OPdO^rr4+(eCf|ݥȥ摖DfZrÒl%ciK۳9iN >ܩLT<ߌ/\ d6y(\yQQu\mtQg]HnW#;V~/sҔJaYd䑢zQI+ |o":nt^ <8+?젯r<%Fgvv}~"pǨ Ղb/ək)qՂhu0LըNxPwL;TszIԌ6]v^'d佼c"+pi~=!Xil#Ӫ#sYOL zthg(&Dp@DBZ،GILa[IUU7 Vhhep)->{xy`=X@PU/JcA6éțPˠl*H+<[8v(-&$JZ2ݟsKgcAu7ǑoRݦ)}SE- eLr7F %8@TWpPwB`:L7r+[ՑZEޟ^f3,䴜 P2Y%HrNadnaçrF4GrYZz]G~|Ck>:4 wwH?c@v[%ѺbI٨v VUIo(v}$NR»Hs++vxY/VHT& 2mRUE/mWMc/JGWNö32' Yc\X".0UbLN4; _o$+^_ Kbz.#1 Q.K遷 泂IX&poLd/_fRDs84I8vn*o7bDYMbp@ r|1'acu dQJmiDsP8cÛiҾvO·B_wF58LP_O[tiگYɸ?VEv8!j|$$c)F^^VNYҷ&?5c$شRD_vV5=DP7f텣\J0kSŽ0[_}'Oe(:)Ґk?b4=H/9ѤR u\p&.ҾU^*l2'ݗ3 ^RhHw`癗x6"M*Y̱,۩b$ڪo< bfGςdUL4i߲T3M{CѹvAQEdE6=nLlj DK},s}2o~2C4w2WW>Sl>;*i(H O,qo RH7 ɢNדFUBJI5ЌDt,[z˿ߔHNJg![ DyE6-#0W'D\RŴrx˶Ľ~BbQd0uލNrJְ2adil?RźnPw};}" ~WzG$ NiNN\ `x xC_ەZ~Șn}\jwT8}Mpa ^TVScx$[Rj]tZXvps_p"~ľybO;@#LT$99ެA qhqq$?=6ܥIlpb}ݑk+Ń?Hs/h(< ,+]nCp"`-*pz&hY$342}Dz-[N[O?䃝HqG#R_ݷAU֬{_ jZ+3 Bo0 g;KtlQ1NnBDߌө-;d"48Act)J>y 4Q!A=}RWo5VT9,r$vHKAp|nAwR&:a`p5Lj@!?-EUeQO:)::ӧQ[2Ĉm#Vs9;%̎%%n`$ArK? ‹t}Y>Uj!cm\4&)ưft pt6bڞ!Q&{1|ӑ e: "\-!;{,רgQ߰IK|xΧzTKǓ)VŸ)^g)jT7X'ȳ akihuO"gGnъ5(ӛʯߌ> Yb061x$=b,Or|J_ KJgѧEc< H[Ah0 X:AYK1`]9$ ( 9#+/Ҿ8ϦL}g^<]  ik ͹l9lrzvH[ nN#WYs;G{)믍3eM q<#?O8zWnket恚<$*כQR2P,6*HXUD>ۘ\ܧWǸ,e 2?yj@ K 89ˋ{GYU'x%<,3"b_^5!dϥa uD:><?9>zv0:)"{{j˸E!]>D#XLp6I <>j]^ m~~l簹AQ:9kzyQMH?eOWo뙎ړ_ZzDYyۚL浧Qfi6B-Oʦ!|=ۖiiSYX?&uVzƹZLP  18oL֔@֢9*U@֒u+ekL$,x*OWo62PX$wU{ʞ_~"bcL(2Ǖ]HHJeAk' )ag.|l?|u 9yůPTz~nO*""BلE~)z@Epשl1l])c\޹gJP2 *n1[GU- `"Kf1-objzx@RL{cw= )k{`$imU`^?(A/[JmKB}ϼhP]_!O?C(aX63$G ,>:h9&)C劖e]PG1(TK٣ֺ4H%s*O Ӧ'y@ ^'hr1ҹԥ=֤(3SgBDEV.)GE ʔaJgeC]~j)`[ۯv#NLkJUC0U_/5Y&!UZ ĴaS~-tjZ /]u sA&+iC ~^aS?qOd.Ag.2|ĝ ,jEWK1MNR2^'aK*SPG:?0.^-V M/"$< V=t:$4*@]RdחOJ[#)T(RpRXZRw`^g8+`';wk#T>1A]4LjrHcB27!"OCⳤ0ɿ',.)3qOXF|ߙU*~ənh,ЗM#bZN9gB rŮ6FVVԠ\(6/(j7=ݩ])ZX l>9+TzF0Y^JeMGXVnF jA}aO# t"z]VuqNa0.;(xGM0:n 9!%v8%TDž<:!ߟr#w垏v: #HK%8F>uxe>+NaδfAJMmQ)TĵHo0RPK6<(fx-jz%4SRˏ\/?xo`CQ0}Bo=p)ϰ&Px #lxle!{e,NB5s=nLWovG#})2PWE48RWh=L*6Jɛc%T$"%#Q]&bn"dQҦB 'ڙz-'RDV:U9G˰ޣ7ϛ(c,_:/b?Ofm)t,| Z}U71i gFKTy4Dz_ys7U eYrk '1%fb*)7k*AlqFJcUfw: pZ,D(ZǯV4ιabɇ>U`*V!~m[Ɗ bHPN*(y:^BZj]'R]$%\X*;>ma9&2\ 9uJ.̅уd迚Q0FR-$E[#UWC\ PF rTYN'kDONܰyw5v5ihS(a ;%Yh4Y;꒵fyG^< WG~O0Ix=vy sB~W` zKRTjvaK klY|>Cf/,R~L r澃 /FȑD}V C-^4-$pC0W0+N"/~%J=,-0'QOHYxM[}K5\?8{|;5:x6ĩah[<Pv"}z{ cSz3Nz)6};no MjPc\zҘs%W#~H}Am^f^;߼oҙ7j7,h g(øRn)}xe_cmEfZMA=Dױ~fFR?{tvQchf<y0gB4:XFi|1 rnUp1@Yk7+ .xhlyC֨k$.1l/nM??-SZ5سW-Lr,d&O~; jyqEOV~X0w7W™xmEG$bwyVQN\4pѤ ,JsU_]ܗz,+IB:U(0 R,|ѩL7u'}zZNJZu٨[Sm;!!u_Kky2Q fVavtA͙Av]DKJԬPQ-Hr Y^`m F#WBtJW#:"{[_4@mvMF?:9,\MEMu0IF: jJU`EKUwܙ̲>ΟFu@yCñSB8BAb3`Q(%a ruWDDARF;ƺCuȄwyciO$#8hSt,?d}TrZIMꭖ$%gXş_Q<_? @ RDq> -uamBjM1{bmtV" |~~wCͨGGi&{OCPM0kml=/t\)~>͋DSa`Dk߁RhT2%ZJ.a@a,ۊ5RPw&a3k"4i#<.*;Hp`=[ I2ac޿YoX(l~c)Z3y^60h,r4V^:;TDCbs|!Ow>J@뚭q:ra}ll M=:,Sy?*(QBzsTGYa8/eߍy;%gSk(9^#MkTݛjW6%l3,Rn]{S?] 4-lзD}3u<0v<3 f<^ $ p+[YIQy`םX5 nof7Oer` +3"EZ\.505sad{feB,#_dZ^Q hUww:}!&# DoErh]A4ul"A*GjPd _Fz\A$[IZP&w_lLq{W?M/Lr?P3Z *sq-#4_p$sx_ye7:c|8s@M)AiWm$3:bŤS Vj^W_>IlKc;<Y͙^Z =?eUȬm]a\Թ/ Sgpazw_ GTЂ~+l]p\`sW79ktGO`*]KJmFnЀ6~'_CO*3nj ˨rTMx;[>IiUdǼwOSራ6'Kw,EPM>!t$FjBE~ aadY"sR+>NiRJ/~"C+m&aɣk 7? -.A#C1CbP%QX5Kw *S.8gK>,T+*ȺeKgwΏuFH $? 6VNS/ǡYFh@cm4}8rE&T:BU.u!fFfGܪۀUG%᲻ fZ YM \8O|buwn=a>-#X2˽f,ʹԙvoBAѴ1lX6i 5!vGt`f{NDU8|/9ygEJ(Nkk 0&~3tG?K[&xHol߀3M@y0E虠̤.0+[c"v,͝ŔT)4uyG͕J[Օ''@kPV(?<_?E\)3'N/4s3/һWU> a2q Yr\ ĔXQW۹ꣿ*w@/3,Ԑiݨ=[(ag&`Xg`+)넞Emm_yIq&e ^/HrCG>n!A/۬oegrr#"K?>Y0>t)j(E;-MZ=Ȧ/+#yPʐP#kmr2;WQ!Wݢ`T^(p3}+_U}q!|͹ .> 8N)=Pvq$s@i*ZWnLJJVLΌy! ;L(Ԗ7vE(?Fhؽ_.m1f%#vH٤8]0E ]?*0 ?5oѽcMm]{aP?Բ/6QL8oxsy# LiDFllćH%%$^xer H3AM/굺nȀ"m~z"L$X(̬Wkh>/' 9p;6jh}uJit&QUMgPS oYR$٭.\`x-,) ikI2gIZ26V?`(ӣcc,C'uxfVcJ5H>NGL~Bǝdkjfڃ!vSu(xo.%Iʽh6,_Iw&cPTv}yp;?E&bwƝyuP T )$-z=s}󊴼/aIZ!L={ג֠WL3jbZ\)X1ykڱ$;C(5* @/Zh@+Ja6 /F{ tI-}:&]yBBY,NBAoHÛ޼&KTc>-I}'- :WX*w<"_@xyeTįH΢ll:b {,:9exVew wdbn-+`"}A3fBy= JPnjr=Ix vPO~vv)cͳ:9Bɢ%yoҌ!APD?B.Q{KSp] cjk;s_HT[]„rLVwbf"K1q?&VYz3ѱaGTC\,wX(/v%ƿuQLFkܫT,|P4ޱ.I&y׭wWX^ōƟkbzMZxgiC >si6RB?fIh(SH n&xE+dStIOdC-<MMxI,xю`~KFLm0# #W#D=- vxvɏ q]`geN走OB۟0w,X~PU}B~ o#F+f|ң {OHb|pYq m *kQD1ve8;jAL,(7{a>BOs#*]=pzֳ;VD9`&`N{@ Qf+Wqʼnȯkp]*+K&^e;|>x;gupG垖7r^3CiT-wIv.,_z]<(9¥DwJJTخblF^{>k 6YQB@+|g;=@ΐJY#I%jQ~ -^kD_OH<f (|XncD5:prQ[gH2U.pq27jVFlF+H pg't@ Hϖ=7j5騱kњ$o5] A>nqai^j0UX ҥW++PSVD7fGTH)i,(Jtb"):v$\lB "zYQZ :5./|bld܅ш>2d;QW3$E S Y]F&L<6aU$;VAgeRw$quj E/ʐѝdt`PI䇦AڞTaH}XU7[wh!ߒv?HV/&C _:QC^Z5.ml/O;,olڎ fNX6W(NkC5N݆{x~}(4JsRC~nMls. OՃ>.(VD6#EMKS˧(aW@,Y 魞F s0N}Kdzj 1LcֱמmA ú2@SFekXNAꎝD&rg+E!:1"3ZFsdkrꄪ:vͬOې" )$`m eH`xcΥ" k"jو́.(,erW3}1$GWl/CE~Vٮ(]V+ӂ᪒fJ>2 %:JVh,11:j*EGb#5Bt^؏.)c} X[&ԃM^wX{T2;Z\mQ~7,I+.e<)+E$'Z;;J5JgNJv CBzu&昸&h[;2l2i ΠH.Ns"VE\quxt+21v،5x&\icm4|qpP?[VM '$:N >=wZ-&&Jjv\)o4!Pi(6ЉSFYO׵x#c+t͌IwpOsQH>JQb"H!8BL<{Q1#a20b:;=dM]lguE NTHz LBa[B""!Kٶ`)Zcw^B̗/qN 95]Eo7wdֆyP^)~G,UscƬlm*Ć7h3O3OŴX3&[ P8B,kD|f:a&%m:[(I 4 wjEt&UHfyk[U Q!]hzaNo!%d Ir | ;2n]?R[w/fh̚ݜ֧ ]:u`WY_vYˑxyiWZ+WÖ$1ypebGWyhsvPE̾k:@ₒ,Z~g7.J˖6Q܇(ʱpAJOo|mC6Tm%9 D|bF&n}~7؍Aɹ&SܚZaxW Jqvu3~ ' XEFOf hxU$ {gܷܛy )o:]\]GAzaBz:q>"}SZ)VY{j86wNMVuPUGff㉖IަCbyM#G5:ev7,;҂91FbW _4Yl,eŖq|jiȒ@8~b]qxm={@4j1j 9pf].W^.иNXܼ8=@y>& ͠,'^,MZx ,sbĦ6g(PkrXWD֑f@eJ|cUYfgRrT85X<ͿJrx#(tsΥɏʞޜ!-<斩K Ɣ"X K>{tǩh^ų82gF-T=fzv,4#A56f6{Bf(BW r y>U;(XLDZ;]f^M{̶@W-pXH&R~(o%yw ^Ӽ@deu륣qA~#e|҆Y|a%nW$Ѹ#\5^w" e:=[w$wJ\&jFPHnݢ=Ro,&] Xr@!}hxf6-ɵP62K;M,>wLYH ueC*CJ`Su.Kͥt+JrE}JaB5.Z&.OAYX̠Oj˛p/t / ]uFo~ߝ?o('+,O*O29lXTEtH]e{_;TS'S X%!$gBH6 f6.4(>cPt|wjX%lІ |y8Ύ\?}D+Dn,g: ͽ\!p'ɥ Ϣjs+h\#i 'Q^} y#."QIEd(pozBZZ, )+fzYU l=( N:nzDVKNcp$#g6< j $׮(QTVTA Y)xwӪcڥVX46ʓ+7[3!lj)ja bʑ oukFdïa])vxvVΜǙP44=!YQKOԲeiiрX8SH*U8`߆b@`!Ϸ|%4; @F6['ﺵPq jx_CZmEsQ|?_v-p,G7tY͒Ǿ9r䃯L/5pCg%GՀĖR2 op g_*d݃;)=;qGs|p !4U&f lfboƅU7m#ٷEHCJaz~YfY0 Xϐ0H-}lB H"˰:[7kX\տ2y*U୬M`I&, =] + JyѹKKiǞs[I= (uY{bˮ:Yj1Fz>e֌(bǒSa£D(/P3o u'{ fU3tL4E -L, &4| [67AVkni$Ѿ/Zhr\z5 $p_F<ى(P-teTi;)]̢4\YL 5L]⚑W˞z2D* _ށ"% FpR1LÏөA!GL/U)oջ~TF7^^Z#2^I7Ɯ.EQJ|%=뎡Z ;v~^A8kSBq |6U?/J*R2Wh:ב/9l/o-Ly~AZ's%{j ,+bpĸ'̂ b,yC ~ٜy%j !;%>T8Rn]V-"PY~c} Q#$㹂ۡN[}Z]Xo8`߄9y_3O2_`}UNO56fp~nn#C\*֍ԢȻuoloT-6f s G2\]@K;pr:8C]֐EҁnWqu$Jc0b""s cɲ2sAJ(u <(E%Din&C>spPzlBO̾8;ᮔ 5&0]4r$+ҾU.YkS[c ҍ&z ,AC.r[8k7N߰8 F>|⼟ A$0:P u4)Y%?7$c*,xr KLS{DAA(q`zU XI+4S5q?q_<V[aF5.)*b/ ɨSv]8,IޕB᳢4X`PsU!uZ?n$,b6I&:16rjvLW5VI|~SG?J^dUědN_gv N/~Λ3E['ɻ(0 #5OTA\*hRMYokjZyjԌB6~ZV#dNiޘ0Q}r{aěmZPZd3*oȸ^'YhL,d|/I -i%dԃұn5Βs~MuYƸ-~k`ah'9ߺʗӭ֨?RBB~\ LAV#ӓXx(Ă9{[ԗ[AWb}u zJbw )NPoyMhHKW"Xf"FQ$ 2hC14}oH:T^ 8H=a}J@w,< vUŹ)^s:m,"W6Gkm[= SKBV(x}ePFa9 o^pN-|[9ًN7B(嵞*EouAĔyfvԤxo(ǝ2h + 3N=-(_>'lB6 mBnu)F Nn(gQ$3-[(/1˺pK'mkVhT>*`_"TSTxkS [zst B:7>Y?j΢7^'F&5ɹg}3ӀmY:MM2gM/DLtZ*ڹIpiT0'clK 40qux2.&] uuEZ3QW UϙuAO|4ʆ蔋dsw |L|7BLlu?F?Y}C ŏQ*139m F*\11BhA?sybt{<|2.]}?UEu88Q(iKaP֞!$Ĵjjyѱ0&CQZH.s|Ek0k{xuhfxyýZR#ooP-pJO-'Qc1lَ[*w;Mfi2s?Tj!M؏{ѧ^f^M:*!%h5ݐ󈓙ַ)~ 蓼AnwD޳o}4NFcӆfg޼9nʣߏvg/xDxG%Iq<VYxUPf]IИgZ;$cYߚ]~@Y}ɤW; tP3ps|5w;`idYǼ݇zH)e_8Hj%勌(w#ją^NZ{^t^\=Tږzl$ > ,µ; ATX^*ٱ*Li'` `6#D!ؙ3c  #\&η[3x%[6\9\t?ҘvcH @ ɵA/y/xji&?sJzA)豾S.a zw퇶qE Ơ]?D kJ ha@|K A퉒SucΎXΰ(oNu& C7Bh/EPuvD ɭq\QsMkI";q ~z53UkH9RK j$҇eji@H\+k0\ v +S'.mϚ<"ͼJΩ*b u16 XM!\J0Arhl ^ԥ4{I7I;''VFZ'Ȭ$k.Ŗ#zݩ}O, 3ľñ+(Z+pM,bZrÛYn)- $%;]Hj">gI9>k!4w~N}2 jE54Ll`3٘t:1ݶ}jvcTDs[XGK<K$?/ل0 c 7 <&%~'$dx? ~ԁS x@6=}k#ƒrnW@:5ܐtL_*;ZF#zj ̖eK(wUc~).ѫ4L{Mu+m1_<^7T,",/;$!\p`pi\Oث16^92~=Qϙ2k֑aK'D!]havV5 9A ewD[۲jX?( (EM^l{wly1rl'NH7,altӮCUSTA$ͫHO ShŬ^T0@[NO-jtMMV142춧NOǝ.Gx>Ц~N\|pTr:>}'\.A Tr6WOf^xu]t0Ew!b2+2!Y?$ŅRu itmO!ˊDVƳ~ľ1ELm{.;a?WG%O Pּ]gDYܦCĻ\9鯹~Vm͈gZyPmxI E=sl @Y85Jqcs|WTNC#2y\b:҃ksKn$c} VYw)݃9.T 9-nK=uBJIj&._85Bu' >JXKAt?x=M4s z" zc{oв-4Q!A]!h\|uk+jE}6@s6 .T}*C ʒˮܳF}XqR3.1խZn5%ຟSN+֍c C%'voz@p1R؏s/:Zq,㕥5bpP[A O_qTXy>`y_N;N(e.JoTmS*WEp=BsmZIxYL`Oz@#zqQ*R}H1bdz _QO`Ox&DqM\@Bԋ <G2 KG"8t rÔi< )}B mi,i75,fp bh~!^aڪS,Prȩ|5Xo64Lo Uz 9Çd8bvZ*X_F~@E6[ lAdM.X7_<.^ϑW=i+b}~U LUr6]N61vt-9`ۤA5i2ಽckYH'Wm 6i}51Zaޑ QG֒^Yy ! k*,Sgp{5gay vߤov䐎"f&G- ̰3ЁA;1t6Y *SC0%C=^'ԶK}b @r,z+]%Q@VC+4l:J cK3W6X?>Y !Օ@9<| @)̤ 2phJLfhE`*77AfyWh5eK}ɛYCBKP| qd"2O'%&i72 ~jpm:MdzW)& \ :*()s͂Ui{\O0YiY͇hrWF_z׮}"t%M}Ce-Hops.<:߅YD} ,90)wR A@.ryjB\ۡ:Ԫ2K5E}$m.ͷ yw $cXUnoSH7+^4&BT3Yw`ERU6n*ܹYLQ%7-=E Y۾˧ +$vu(K&/5'Qm"=X'}V[Jn$cכr?1Uwak|[:cE@< DǓZ*Cj%asUDaᓍ֎K:c i3M^Kj1\?@ iVܤ_{sew.JqGYӵNnbT-?$lQm|ݡAwv򊟾Xuil4Ogmp¦*գG,>fa%<9e2qh5mBWIU P`ٔD5RpDyǕc5DۘP{I\="YnSv^~y-~9[ /t@L6 v,3/[tĎ_Ddhoe5>RUbq$S<Mʀ.GwNB~uK+G=& \L JvL6OH|j.[Y1ypHpnÑ  +sʬKV{7*pȭ/`YUm]p8כͺ{5Mi+H%U1n"z6 ͇J4(  PӚ$w: xtYU&|K8{οUIT .*Cɮ/Wt* ?B|,62n= Do>a 74maCnMľ{x@GUznlޣqG h(<*CG6`H a_Hg=J7.c JlG@pox֊"i˘%;fjFXytn'WU:N7@|q-9aډ,]Tu[M$"5h''սn;xc: } uKt~%'w[}2:y=ťKgh낙aoKyjJoE}sjWI?s*z;ѕFV}Hn](Cb{[6'rT0^4wlԈ*]DEwɋA͇䐴l(@ޣ%2B_2/-<@>ƾq/nl ɋ}A4*h=؈tS*5TnJAws$B- XZ(2F%8`:ow&g@@T#R?;oܢFeۯ گ70>#v7%N\fHW]v`S؉&Jy&[$AAnvEu[e$W 5\~θXȸ!9 9J,X/b 0)!A@tέ# uǂf,7zʻtWZ0eД$ s"\zn6yUs?)Xّwͬ1h4a'ȍ־ʤʩ1+mu0~`ܟ;(|PI2:LsCfp^ \wO=I-N_txz!Q0I$8z\Dd1ãXtxmSH#NfPnx ]MGp2]V.!B]HysꜳU NF=weir҅p|6[XUX6,lx}\3nJ! LH;rgBЈ滖#î̞_RTN'`Bc wArge_T ?~ zZSjGh|]8sĈZW5+Y.w@Pz`^2Cmj|ˁHϛcQ=ƖGERԏwk[OSK+Έ#!F@ЊĢUb!\J6*ࡳ@S̐+'S ajd:!׎TK;dDY#w PIhj!SxkI#<z'!ީh# SXy8W2ʮ">C^.'e*w{SHh$IYϒ+w72d|4Q/х{z,  "৲Sz"f[wD#ՑQ;#b)6YRVQC؇6X,'<$m@\,pVM1L~LZKvݿ9ѵ{ iĨ“1Hyy8H|ahv#!<5M?m)Nᮁ Gp {.`-uh/ -% 0F)qC?#LU<31Rȵ!5#":ow|D<+udgoό%qÙ,e,3&֩Yzvٹ[_NAP-g+FOMYj_|INRpZ ~fmDH; 84 2vRP#/$zDœ#u/H DߛƔv;bUyCih+ WMmI$.æq`!yܯMtu>!mNh<%*T EQ5!CߐR`pGIOJҎv--rtO?3{EȜpIkΙYR:_@D5׈c!Xq%Q8\ :2yv :|HWlUnvwPIY%`N _:`o24<U8 @h^hXU`>ψ\@fGs})>b#^SZ9֭>6ڍT}*]/'_L(UtVy`ܐ>S^ 4?=y[ϗÕw }uۮC8A?'ofդCzTPGdL;2o9iN"5cr=*jqKu>!T3}jcTP3' =.I0գcr2/eBB[&L7(؆h_SF$6V@&i-[WSHvۦDxD{ R<_$IJ\nhPE$Feo,'2ɾcNڸ{-=#E4'XbÜr5۫pv1SnEȍ34W?{0L_}D?`Q[۝"9^d"e@'SͬR"\WqոTr#RS݂f0&嵔vp_+L ",eۙ^v ߡa{% [ڐW&Nšn &Kc0Kt=6Y1v&qc2-Gp9shZnNw I\ E1>ޜY}ru{fN9֩IJW(unYԐ.B&:NYD@qǵ @>#]CS\a`޽g>7tCԞSjZe/Bt)Ft9h4IVkvK0oQ5۩>,'ϓ$*sI XUv7j ;}RV;;{Xj xeW sfط\b.#(Dǯl-@A.lXGs+yKy:P,'&i紘)^rs#lL`,jZOy*?`] ^(K }|K+ | G;u,]vC:xdW4"j@~@=O]aΉNʉ!?-"cșji6K 1ȪfCχZCmNWC|Y2}”Hlli0r>f%H{hr=5 [C}65J 1 "̔`Fj.i h)iu W3goOϾ(M !j\DjH 'O4)[Pl~WDPH:2jCw|9B ke+f⩟3<ݘ@$Era8>]j JR4c4J(H9 ;8[]nI,C8A4_^ÇQ}67O8S<{JhmAzl‘;.$,?lc3g&= I ZC:rU2zHUIY S}%"~gH!kv\rNu:bk' y;YF iTY9\qɑBNu9{V m摠Es“%teZ_QN! DHdTap\-]Cf@rN"Ym KS &{$ +JLO@q|a~3:Udh` .,JeW jW_71A| +43,tM^md}zH)={A-8?vI@*CL}ɖ 'Cyu:ei7'S*v-< c~P)gKAB30]ÞKd7&Ӽˌ>q&r9[i<%dp{NHe#&TA )lB`TE\h\c˒֋0`ݦpO]w14U2A<h}䵪]'z V.,cGĒQjWD˃,_H9,H*r3Ybd!?tZab5^9k F?WDC@d I Kn ā؅ڞΫ'6P+cb7蠱vn6ϐEHl t;9Pϻ FO̤S (,oƘU#۠#&3;m\IgvsIȪٝm+E|:q+{jgDJ.wq׵|\&N>0Bzo]ruSQ?FM#KUMJyY1tjvzMbc@h"clafU"_]ĉDL_g {BDӕ5X;Vuc[O*MpV;Cv( A=8bK'k(q.#PMcu UYn;=ˇV*-qX%%hnc$B*Y0v wI꩞[ȘyģZ%dWF+_=Utӗw>fL%_Yz3'pȬ/{xa`4Dz63bP?uGH L}yj dG}ھndMqz6ΗUc]Tk\wjj57ZU I8o&aLKw?GҿfnG꿦A۳j9P5IӅ3^Ķ_KgrUG;MqEE FՍQoFN9^5^쯫&2my n]4i{![BQThed!0=~rsn֎XEZ#@0:,ds|9\y66 гAt X4޶xLxZu Z F]4Z炧8_I1oUѓQ'6'\R y#~jT17l/R1K@9*J IzJ>PS!r9*<%JVUzҺٹi#E22YUJk{8,'v\a-f oz{vIY ` H=1 ڹ)qx#A"dĈ#. H0>LVqLT:QޗidXL*Ε0(7Us}\ܕ>Y @@A!M)B-1by? ξX9ٗ}/m(*0@it!4J!8.;DI^,aRENO-\5eQ e/Ct44z`+C\3z2UzZޫ1{x9"kW"$|(9Чƾ·S-jn>jq('xgθ]-=X+b 댃9Ც%Bj\@TKѭhEߨ=)kYKA㰖p]Z4H/DŽ|W/b} ԪA˥ ?VVQ* ʓ)i(y5!:p22ms avX]uEy[5@Ty6ʊã1Rj~Μ ٗ =tw!y:TbsvJ|)5`/È[>箷{Eߦ=,in &@0iW_O[#߁ZGq%*ii[Z: uS}%0 CI=<:t NUl>TCCR?E!a} +L%uvz~cI0ZײKj.>@clGx=q[o2.YE6=CT@qe|R;k:FlʀQ8h3zǻaxgkhW#5 UD;@Mƹ>7z lRX6,L4 k7xcNOcߵ^z+8Dv S-꟒DQ͊i9399 UܩiKu:Y@Bʟ+;Ia8Z9# |7%E[8l XS0Ii"rܻ4sԸϼZ _#w^<*`3ˍ֫j*~2 K۾Ch#uYwMѫZlT"WRt_osH 6ٻjD}}c},)COw_C;v\]\=7G C`qEXv'G{t3o("=9>+f Ӏ3~3 2R',/҇o aMO,.֘?NYJ"|ize#mt1 Ȟrr)|0S> ?lś>ݺ'?s%dFv~χNi,dd8ҷ@UYmTCU5X_XZK *; Gh5 '|]28e^GrFD]a)jbMϫYxz Xjww)Xx Xch>\XYIvBQR!JҞ~,Yd1R{%ʣ1Zu'8{CSAҗjoUp%iĤ&!R|0' hް}G>FɅXe^֓pՖ_HY?],+cD]~q@>~j@eۋݻw(}m@L:R h_b'v+jZl7ƙQ̏ImP_ E1@ȹV;]@,6K0yL[gwz#_RkDhz%X n/mFmq'PħnY}o9H'EIkS|\B 0 4Ls5:iG<&{yTPnK7ū]wBr"P)͓x"ͺ;$ ‹S N[0zE\#3E67 jq9>[ol>a%Pb`>t+qY(0P-u^+7;dߢ0"tJXWel$0#`kIHY> ,v4_1C@\?l4,rF ɔrj0iHFԼ"f4Ե?-r0J[e4RǍ(͑&!Rc?XJXɻ6^X0yzƆTK+KRh|i`y3,TK< \?" PSĀEd)w))igavlK"+y㉬77/'VcRd*c{ݚʞ;~kvO Ry:k­ }`f6^|.H-m>nQ4L ЎIn[1=~q( iZYiLLGynqN!<"$4CӬ&9ӱh=:_ND]o w-Q[9%h(ZXiJ-p`)FЅ]Gʑl1f)_jwdeA˜@kV JN (cz@]mOgݢ-j.Yeu5̼B'Ư]5b%Z8[^T>S,N|Ǟ{C5:*Eɩ",`2w̎Shuµg1ՊEÈR ʨU}z&#۸l.QpEm3? 27]:c09a6]N&3É%uQhPf#+r'> JtUeV|R@Cs#sA(֩O/<\T(|Mw!fI'g!\AQA rTG,GUUos[vϊ ߬ qSb$O؍AC+VS,ogNPÓa3JϽoVa_o^V5]|GY_ b]G}M=Q'D始S==RƧd[ bD[ ԋc;U-ֹG'ꆇl`W,>%)Ϳw#Dw!Y2 -2wJ(RRgȄW3z,F~7*o ҍrlE8r'G\+u^%VJZUbdaU2݅']]VG(kZ&]Ա>vhQA Ecc,g - Gqf{|3'ļq2y|dGl~X %Lß^ffG\N2J8$2M<d:noc)h#t{`3GRi &:#Rgw~~{\ڲJY](wxCM͏PT@1n-Q9ٛErF'a:?U9JO+m\+D;.K#>|OX)p˺}G8;P0X-K"e1~S刂# Y̕'[g`ˣCVp[xfUU#V,8@|TΉC<{$1I6?ޟXf}m>WM{)(7Ka̎tZ3l(ڗ#ڀ nIY2e؋+1o;^w,B9BW;u-tC6B@Z癧54ZTWҘWKzۂZFIl&b?`f{1 Ҕ}m($Wg%m%lŮ̶NQK:" mVb5%KHU/w*_P#xU'Z%[)9f4}ًNg:i@g%ÞO(jȻ(>U0Kt`~7xZ`q'+@nɠ9ZvmFC\@Թo-895?t0Uht枊ODw<)rɭ,pj~ 8^&6vבX=^<3JAT<:Oz\YFB?=PrסR0;*VK19/$=y-,0\L0^L@ u0Č۾&ۏ“_7Q?b&LvM5o]mƏctxwy2#Q봗YϵQS뛝jF~F+NͨuLB`ぎ I)bNDsd/ N0Gʔ®Ob7,x+c60F9ιHwjMQ8,P"DGwx:Pm5=X' ⮾'wN Sor,LZU'ǀkn8jҧ/zH v^> Hn x< A{0ح9hkNFJlz$xFu u[22V*v֊(f%^P)_:*-881ȴZc♌Wy nPU FAUސ#0]d`\ duxfijnXr.VZX i_x5Jvs\5뻬~6WlK,`m~3LnK{»G)fndXȿIzIl1Q_;H&3nPyP{=hw@#PkaBX.Z)Vcʮ)mP kL.r'(]70 >p@?ݪ"4nAK1FT1EadXd1Fi۱C42C|SWY&,(a[O )=alٸCD9bʟ#$A.=AHs \1ϤF%/EYC(<7"3sAG৩c㔀Aɡё_v$>dH"|h"U`mxl+V떲Ʀ힁BV|z>AkBoԃꕱR`iЀ֝t8 2E!6b?(I&{$`|ώGnnϭi"X`sV/*X&x*0?3dRuFgQ) UڹR-Ѯ*u K܊A8Oێ!,k9EVݒ (6o'<K"3>P\y U6gQ^~~[ҮO3Sѩgy0V:qiC)TAc:s-h$^iL{%؊夃yA F+FYqeQS 5&4 \sޗYf54#{t_M nBMg"26^9fɏU-02vdi˫)IRp'њ[ S"E'֖aX>=:]/-b;M@9Hzt05B)mL&է„oy74X;"]`,ji髻weҷ<>FM& ,e_ 9BB*J׼ 6 ^-uXbdZ,;/8w Lh[#ƥQznPⅿ$LSE\5k{}} tl%nxȂU1MmKq[=s e>*T_ҐE*]'AYS$?[[(c;9c~&S9Ù۠yTO`9JxY,O蚬R_nV rQz=VD?rxzfjj) E撨w5vޏj<{:zQAXp+q91F `i{:3 1Kht]a6yqbtld*޼uk<βwru .ⷪg0lqc͊'= ^if4t؉3j1\f=^q+.Oq\C]KdȤ&_ZEB:fkWF![G! Eĭ)I#`u JY3 38lǶI<%Qn+Qv:Yc;_+v3Z#3 /|f'_>MDhgCwUC#7#MUñ?J"&ۑj( $(4EI`l e]bI_}dqqPVXb<ܙniTpK }ĩ qK]񄱧 nJ3*z;skv׿-g'p`XH oK7q+}1s4}L:ꚸvQ}TyT$y2+r׻` %oJ}^Li `s/r#gsXBܝ(N Y"t~}h(8 zϡA?Ai& 1 k筤 BvϘo<3'Oٙ^~(@<>F}Wr%+r޴Sv$,)h4⿢/&٥Gù)B&L> #a3F VljVtExȏ8VTͰ :)'ʁ1`5O1TGoA<"av,/EmK2y1e2j^DWv"/ӑѾ 2ݦNi96?bs?9ydPQl`G YSUr]7̍$H9"}A|#G-FIzlӯg`Tt.#K%R Ԯ~>nk>mJ,,lҷHY3v?%k_K@ڦ~`$6O=XGT,MMm],ne4Ưc}2F nv&)0g"vز r˭N9H]N89}@:.fti#pg}y V~cqW1Tl ϴf|"RNHZ8u5dv:ʞ *4/G.A3 xm#"5P7K'Hf`1cOŪV:>]\y1ۡŝو+uaxyȓ8q`1_Ժ@+sۃ}*f֛L"))09;Lê#XSUyc/^$>n#t͊[Y;N<H:Xk GVM߅f5p|M|/P* KQjEg,LjdTsE~gb(\XW9sN';q'phh [O~t#I%4:>7^Y}o! ٱZQq$i{ Zt"z$G[ץYƈPuI-5Y:&M 9=TBrbxYgٷu]ݫD1 5&e_|V2?C9%H5k2mͰ.Pam "8:\qȇ*Kz;BCkS?c67혋{ʝKC;),E |DIw M_} x@jbժOGnNlćYRn.wċ)r>v&.8SߍF}dAXrfȼ SEgyJd^@f )wHhRjb@A;k#0/~V/J"18$N?gWgpaQ:+xL]7mPj4t9A]0 @+97⷇=F)8ש%pr ZdoSC-Ǭ>{*}^@5wf[C Dik͓DcE&-eM}f|ώUly[w)L t,-x8:8J`T2z*z[uq{="Z޻ځMI<Բ\u[Z[uӻg$-I (o=Ǥ6L0>0v0z_߀.O">T8Jc z":>E 8˜]:V: +uՈ23d1n^AUDңL ~.fjAV\4 5d>CB1L9 H Ee xYJFKg4~.)1v++|gGņn2KTXrY۾ȵ(Ű<hu)qtE ¸vG䟜[#m8Us/WFÃ˾}58dGr|<^uH{ɰ|5Gdne(7K@?nmaN‚apAǯ*xk>ISm`m2Skx dUBXr[]m?LD&΢>ف~bd,|?A!7iC$O KSb LJB[NʍkrB-ׂAqdՌ:E6Z@1rܽS3_6cac+\fl^"N-†9$\!iNVx6i2` qDY^*uiUn!(UrgCf p=J Ft 4-ƫ&1h+ΉDXG_jԢ{̑" t>xD+3{{Ldٔ~W>X_W4L} ׭z>r{.%{M_2>\~::{,$M1ܟ>h39b-1!ȰM A3?cΜvz!iTr(Ui*Gh 20pmr#v<"5a_2MNI~. _u!?8, `׷  S+.솈Z(]8gVf߿=aʖHo\q ju ʁ: "iN[Mh40BEFF@ANX AjϭLV,iPrnb% qظkl62-ꀶū<{?WC "AڥpqyJYMd&sB4A~*Ʌ5Qk7X;- tpV%הboŵr4m9( Qh/(Tkʹ 5 _W+"}#?  MAu3 GIo pM&e_wF~j#DN)_}ab0O_%,azlqY$ ?`t˰6?4KdɁ%i P+xU^\<\G?_&E. sQ<_~;vk $cUж dxJ)40[,Acj%7JX;}>V-WԚ+kdj7AæE=;V=x8pMF@G(~hVÍzͼ2]<,>a֌Σ߻JZcm|GNj4T[;0Feas|];A9\zM+gzeKۧvWxNC"  /hAp]wP{f骧u\{tӕ+ Z!b_\ REztK(zSR=ڛi9IY=oP2; ~?1`81Ho#Q':Х$Eq _DVYl]}]#aլ* mlA}"Rn .Cکs9e~ae&Ri]b*Ba$E -l[lg+}LJv*vAn㶦3b#'|eYg9%'ˌ<^A@PDl]$4N6"_&;Ucw0q[F.^.օ*}w3 yR056 5a舚ok OH-?H‡͕N\ᶪB*a\`.5^ u~?RweG6WԧVR;O؄ *IƯ }cқW-7Ph(I[ՑR'S: J.5 :0>.?)=Ӂ"\tKݕQd, z2nq][|^j vxR wݻ?MlfaB#4"n@"_]$˸}В#X.wv)YrĜp]jЈtf[G:uʏY\bc+%Q+yf;_.v׍1x R?6W33W g,ŦFӼ4r2!`FN}a4zpӬZyEThB@͐4ǩ<62GyP,TjmtSTؠt%}1zMam |` jqw DLuiͨ×8x DjCҿYVDdMJ̈́4b7 XDfu82#A|w_c:3z4>{Jj`3Ĥ^: !eg4 Fԯ`˷WQ"XtcCހA{(40l -ddNG՛6^y9mr С#EYGuBoXCЛ0:suUVX`MW =~}ǣGOAar-ʤYJKUܧ(Xо/(I^`KGt_iiuTuj?5Cpkc_Eyǻ:=>:JzbSԃ!N$kL{Z GHeRO|:z.OƖ .G{{Xfz[G襺8ɡZA2L N^d0{k&"ﯪ^YΧyf;٭Q#SIq*R}j;䨝WNs>!vYPK¥УI+aÏ'zvQ"%=4QƢ`zKr[JwkotV ߞ qZ' i}=xo#[,a4y#% K ̘4?QK攏G w_ |Nb(Ԟl$"Pl,X:5; 6.]umӝcJd{ Gwe |4ɥglKG[Z |W,4|ac8rz#sL,vpd) Qu<M# '<Ա;֞ю^DCIA\0T9+t%fI;Yu9p{'u2:/qd:CoE}$./BXKcl£*ڎXk=l9r}w"Xeg*,]몇[d\H>o9}_<ǣ>/D%#JRbI=~j~DC;""w(C@Oŀ˘qLѝXTa귱)%9\ /9H.8D[63Pi:qFۺ9cc^c_+y6A@bXnEJT1 N澻Ľ RYR.ps71ÂOfe |Y;"^u2埮;+<ͼ3I(9qpҟ >f,1 rǠ0ih:"լ t>s"EQqZȊ\ .f\O-؟lo%° XxW6kwh}Hz#dR0Jyh\::΀Yv]7Om!MʟIagar@ HwLe _њD_r_܉YEw '`>"t/tۓmAybpݻQ_}AAEl4?1)GL+&2^fHH CiIq?>Mnȧ޹4L2KeӒqV5Z!om9ti{![fOz@>zvvëf ȻYܥ;A6wXv=*h*DžɑPB(D:;XA}p|(iq(0t}Lxo?ۉĿ[Hvn8]mYʗm[m9:+*GQˬwQzJ&yc[k"$zpimώ`Ln 0UUf̠1HIo,]pNJ}jlxk;fXW0(my?9)W|WK>I:WKj2Ϭ> vg. R2):8ym~9'-`d.M{ e53VhFo=" =U"PƖmi; c: Gr(dR.8{5XqahMh.Ă=z`%~ [';[b憪gyg?6D_0wJPޛ?2 C^ w RlI$͌\_ $EWRݓ ;CF{}RO犴i5n4/>9*{Kb"i|4'Bz_53*}$c#W$ Etf=1TOkbfĔdR3q^ P3g9U3@;Ec3ۿ $+גok\{>m^8`!\[AiĽnnꙁg7KU;(~7`0N#03սD*d !>qȞ7L贖Ŕaҙ;@k)d uۼ]n[7" ,R13΅? p޾3*;zQLNg뼎a]oD}\ cE*RE-DyT1N?kϕm17^x}q~bPUzEK(bF{[+#6No-'6!a !f7f,tp#2a3O{v9<&W<ϿB=}xr\C j GTUѮk }խ0FBVPu4 %=6D-A RW-ԓ0zu1YϜEu|²un%RzU[4).TVtJˬiHW5t]C=a%w%P~ၿk*77:r&A?∵ɢ=a^Į@=ŶbYZI^{颏щ. \+G7i"tx,9]7Ֆ26{FL3!>T`% *TUI7`R#ba%Op FDSgHaF^"4{;i22oG !gм"bICD--ժgbrYX1:OM/؆X./(FoI}QwO ƟOE[2D%SƸL X !|!ީ3hipޯGh'-d~8ZO/אAYoz>Y?jWC!HKK)I^]ʲUT!- Ҍ WiZ,,xla]nȯ#>K".zRV@(C(5nnV:n͗N82 Sxl7,D%!Aύ$OOj{kȸ% Rn} | Vq ly)㾭[v/g̕6{`^4 Ql,+e^(CC|eMnXa1iܫm=-{rLY}zy qL(De/  B!_5IX8tvgO~+ׯt{]aʜ'<le"@dFVI˜ZCnjNڱ`aR/XjAK\\hM~4Cଌ>AvEsSA\HiGBɏ(9%ֆ>3}x8h2"n(E=M"\ԛ.㗀Wtc݀ڮ *݁ODAL!t顃Bm"+p+O7|_q2um=0 5%gڐ$^͐ 0pbrrnW? yU9EC䟘b{매􋆞4C>5SUޘ w4{WBJ"L*"t(=EPQ: 4.d $7^K$K[b}luP4nzONɞv,@bXYZiyq{"Zu<zXh" 2r{g8)i@د>u*uD '[Wύ߱`EE뉨ڂige q{Yf+V%0p"-''ķsş=Yk6?z>+`~#.h7 +;gش:tڊ'ZYqV3lU%BOh¾oe@ĝoOJiy0E= H3vUes1,gHkRhkæeTEJCIjH,glڕw`&JF< +WԣbK]@Xm3"$P/&r؏FZFd\1{/;W mHCׁ-5S/顝NA]2|aU <4/wn襱L)m߈hfˀ hԮEB6 ~15}m/4bg O Q77ߒ;j`kX)9'$򑭖>R& $lۈoNjGR ?x̨j%ɋXIpeY.@ACG G+!Wz! ,5YrJ6FVLVI6%m-/){#+N]:fyސ54sϘmuӶӣڤ 6׹<ToO:8-D2^dR+>単\\bޢdlikʃ8:&ª[JAa~VIF,}+-rz6JDfU!э-3l JeS֥2qH4DӾkA ,ƍrW<&0L+dhmp#\t48jhoDp1E`3W8;J; ZOIѧ]XA:^T>.ܙ.{YڗȥA %!0@D0 OP4#@U*Q V ӡ;8uEb.ĉt`ƕngO9H0q2 J`p**C~@? @Ie*8m[Z^&ů&ar LL'20^5JEGv ߟ0u;7'+&c긪:7X$R*C]|^>c@OŸ(䓞qKoLvB̼ۗg#Ia = DRDfƆw?/jcHYEcCFZ\o}f&lNm)m7KJP^^6) ~>+[4]& -ɒ^pyI`t#&0@?y&ӕohI9X'L[alɬY^` T3hU@}%v]f\yj]QrdX181LUTU4}^$HjiPGKv33]ﶆ'`XCgG]w@{+JHp\L^`Mbh3%_\_I;k!-7^uo+dX9-*UcR:x[W߸l\ĿV2Nv @nKʝ$[S+rr, 6,4( f)!&hn䝶cc$sYbC ؇nnrT%wTx_O#{nvzrj*M92?PYOaYPҟfS8b"3z1?օDרz52.rR0-BlP hc.4 Xh fKAml yRB&:[vkia=ڏqWAy Ie]j%죧qEkנRQ'A?TO7֠=!Qfe\JQ=-ҋHL MӘ#|(P3m4=u˦q^O ,&oblʙv6ZQkLXI+ɯuzjpƞ?z;=.qK5sOXPfGna|VQB#rJ{㜍 1O.ӫ4&o0AAuMwZF 9N!_$?vG'cY>|!=[6`hƗ/̤7%G }S4f0Ÿݰ ̤aKht|Hf!\ߥ#{tǐjZ=)mKx 8(k 7aU?do4y 8jL($zvwR ɱ Y[zx0lIdixy\_(T:mb aKcbR۟z сk@DK-bxNLq. *G,SGHxJ].׋7yrYrؤЄզ[M8`Hֽ_Mu갦`S AtQw}: Bn Yۼbd` _ˡoxdi7idI{.M\t&s}g1#bF[>(Yz!R73`]3λsA]GFKJ^8=_쥋h"Uq.Lߖ{*8ɥwo\J.=U?_?Djг2Uְq։Hm7gb L4.K7T=2.mGjlz6GBөJ;G%б~>_(Mxv0PO 5|GoHSKk6ɏstQqsקY_<گ &> 5}2/=Nib Zu pe 2`vi\%JkD^wAü0\:be9X_0 -bv R3 J^?;:MkV #4oB_V9]^ 3w}?™ttkVf4eRE^QB1Y+@5T1nq:عz;4=dD8mYy >c}D,̆.m/Z'k£yռn*%3_bKf~@OMK6^B?[: kVgw + P5y= }>`ylᯠo =ߢ s gC]JN9[o1Ҕu^BQ>!Qj4z'"UH} MU3Fګ|2Cd0~f]T@?1 FWtj %7z$qJ0)^G8 GSnZaR'Ԟzs_2Ocdi9@=$c@bw=|&I`da1LšlUu$H 13PM2>Kcm\{jRb>HНn;5zlVm$Yh6F7X) Z lTU'B:_$(TLث]]PQh\w;/!4z}

؆u `'~r`g |_* [#o3r 3^_ z=7 p'uT, B:rݯzljݲsڣf;݅CRL2*1"Nb3oRV`|9ۄ< _dA'?p1o(񺨰Bw嘟^aIɷeڴJX~+R&bԟVspƷqzc-U="xv"8©Yģ1ytK QzB0@"&sNdr?+ zY lϓTAwXsx4j٭I#8!ԹW- ?fRO үXDZcEsHlhϰRg\lٟ@Ƅz%W 5= b-NRJٝVu䰝lb7-:M-U9YM@s 4te~B H4qL8+D#Flg H99yEQZ*ƫޜk>Ioemp` _5 {TA"ڌ|' %$; Rb' Xb DW([¨ <.]@v_$uXbF6WfLa4g=&5f_@|4/${vs8N;j[8CRKHpø!!YJ BIl"ePIc055}w- xiW``U໗-d<נ dy›աt;ErB'F>'"XGx.e<ڞSG:۰چdWTT~ iO;;Y KbYq~4I(9šjzF9K2TALE#!i19׃~NW(:J[m zm*;,HgKwAY ϟ~_ GRfwrfVs‡-v CfqQwP 1+*a wӢۢȭO4lAC2(@qe,qa3Duh\Jf?HL.%(3?םF Sz\>*1#~@nIŜKjgJyR*f/+ ݏQs0o}JoOar d-(qYwְi]10 {w[TW5Et)1{+\:ouKXɌ?AEtxP ѩs7*:Z87vcLAIcn?jRuOdNANZGlӫ`9Jٺqaa(u!e4bf7 !8Z ^'1Mlw&ڼPǯ;8~ e6!BEؘq;~9\\G=R{bfD=޳ѱirKU_v0kCcZ",sXu8l\I)qsE8r({**1G,%`JhW[KP`L4ȹܒlww#ؖU/.1'\\0 Y'c*me*DL[TGrkTƺ 1Wd0;0VE;i Kς*jjAg7* 7y`!r^eFمkrR;"j/؊jiD LY' RF[SƩ{Q9,L8jB.+|+({KP iʎ(KJߥn\2zLGwBC8}-9ΚPnK94iTeQ?`k;ng!osQb(1!ÀU0+_ŝU4vY8x0HmU_E~Eξ5FEWzbUu,5lhV(ޘ:;wdXM m+?0%9:XGy@w?ӢHp\~kBfg5^jo.VO XRxң/ld-Ƴ۩ɐL7tXj~sH"*R5Ӑd,9A6 ;!"2/,'"Lk`IDtDyӡXC/,$y8fL)E=+#AXLhV0ht+qX\  yN5d=ͪ*E0 Zqor*'܍v%$ 7?5\w; V BgE|,[#<CAE& I@X<ʫA [Ag'p[#r{DX ?i,q6CJiУv{w=Ѭut P1pw6o<]Fc"ln4@|HÓf6vPŢUkV)T>Fa9QOwyɥ8p:]KP-*!5Uɣn)Y÷1ߗRtMA,Ũiv*ZуFݏc7R!Jz*)qStT.Yo|:+;姛FtE,ݚVX .W*}W&9B["&[V"!~ёyV&uVUa c0P }Mƙ%zR ,h7 ,~\,71LJOBQο3>rYNK\yUV)(`Lt& rԱ|.SF/gFm0IAU)EmuE*-vu #\HȺJ*XӹQv.31aR!)0Ai^ 9+ i|YFG5*!_ (T32pd^D=ڏez~mOzFB(D:L-s?2'.챣< +/I5 MAoF>W1a4Rgo9ŘPѶpSLc]V +@D\mT9Rҧ2)ብYM9md ӺH>~~ ќ;@Enl? pkfZ4\>"yu:XOcvP¬zB3$F4y|!gpurZ^dlz6U):D~s&Qs&嬯q//J c&]Iu3=Nw7B C$ȑ]2GX$&Y}j_][E9as:c֣5YVv0uQFrd|&fAlp+h-; P-9|0 UH ,1M\;-gU$D?H9}j[G{It,c2f\3 ۤ?qrYd*WxYƴTHɷ#,> ^ ghg^B9#iNd/n?&W,)Fԇ!oԢ϶[7`߯m6Z6W#h;A^b52._ք9FNj MEMvG΋][|ىY]>#\OqkW&"_ cw*~]C "qĆ-n\t?-jk6ɠAw,Ӈ_Je4p /rh vzo21pD@I HR{m2ψ{9& T2A=7/ c}$XtWe 8G{4~-cp Cݙ+[Yu90@{at !M1)W/>^>s}!jϢW˕?dq ad[Or鸳LV;;k`r<{U/C(m%+6mXwKc4DϠ|""zWǎ^zuN:j՞*pnq W әcAB욡{ةi΢/oaASSt'm9wvvJ[$ܷ _3%=QXVfm=qݹ3R ߓߔ6ʥ+}bkuȢ3C}Kq~ } UD7 @Mapp9%`}neOke d#W=`!Lz- 8<>~Nw1nA7sC91:`i[}EG;ox{$_2?0OMy3g%+Qgfʠ^0"=%Fo $э}0Rvfl5b Os&$yN,Ae3rB J-ڥu$!9nBT\%T\DYۓ3M#tKµ)63I B8&XLUܐ#ɄR}vd: crۣ-gY'+38a% Ww5NVj= UZN툃޵K(wOG6ݝU̧ ƽ \dnxE"_ Jʊ{̼ vE~đ 촞4r"pI2bD Z5+H XG˾\wpKwK1.*P kYpWnyEP~>"~g\WƔG^/𼫶 tx탞4Qme)ƍF]\#Lմ@oj?aTxN&B9;4w.ɇM̥0VGS5v%yh.PM|+tCw qyR '6V#3d]Nx^ 2$uJ+9Mz,=L`s 3Q0,ۨ`JnT*i\]-[j׸E-+kK& :PrӿPal6j[vk ZH,Ffa"!_,\YH{`UEbѫZ \inTS%y6oh!L\\pVO0e)ݒQPu;+O3h=a4uZ+=F7ѯPje4\RƔ" ~jQ`F [Q٢ Z0*Yk2^Ycb C  6uH!fK.K*E(5Pw뮍v$vsjYE{ 檳jՁdvC/u::atu}#b"Gw."D7cOYlsQsVJxS듌K<&fƗ hfI(ⴹ JVV2NuV?+ixF) jwU $y>sVH(rߤ^}֗/׽r Fv.-L)=)b:ZspC5<4 Ťza ΌWP顽d֫ؒՅQ6F;lR"YZZLP 2>1 G Cw |Y2(6ƶa!L)(I.P A>]{Q_(7(\ >XN]}-SKX[3db%t+Ёbj*nAѢ `,쏨ؼvKV5_IqK)D%DҷKtX9&Qhvg\f͋N3:ekv#=0B~Z5R xQo`hl,Z ev&PGSΞkC=V s嚑 Y= qM\M 4F$PIwCh'iCJ@=k=M 'J#HgAwJJ9e(0 \_ UiOunҦ]s@`z&@ eMP'%Hu9d&?56YvjIswVbP Pr0,Ә3{Crz}yq %sޥR+0veb1mjC(o;  A2(Iv*ۿgwppT炿THu\PN({rq# Qޡ{m's6ጨPW(L63ʝp#j@!8[̊(0gr'Qit5~6Iqja~ܟ[nFI׊BQYaoQ|6Z{r2+>W"«;ނWf]jY$erxx٠OM~N1t+Jrj LԨ88s~A>Q4,XwnI(SꘞLH)Iğ@/*I:Nd{m1LlJҔ:jZ\d94I6*MH\rսVh}L! ؗ63qs#S=k94w3D:*ba{5[Wv_2[t .xB?>2tn@,/,FFI:H&vLM'DӿۯNL9ܳM|zUWJCxxákT  I(${5hJm=n] 8:a:wOj)~53oObn9- |~HAwU,uf$T}+(!⽘tJȺ["ܷ0z͙ \{.I8ͪGuyOcPʡܫ[l5̙Ǔ:BXvQJ5QiE쨮m25ϩ){Q]CCVUc2}CvϺX{qP(<^IqaNB0ҽ*edm[H̽H8&8oMqs` ^JGs~85&l ى$uӡ\FnLY 5ɀR36or 6 "@&.W/XαMp/b%PģccM xK Cl_Vƺ壯C'L..oczxNHz񂵒 mQ˪BF=q!ߪ(v&HNqh3ϡ7+ "P Qܫ2TJaZq1I1h`k~k0JuhFO)wY YerH`rJI$;Us#A<"huf=hJS_f)Meq":$ .g/C|Cbu+ 60_ꀴf+HBrDC֔fԓ̖qYsw(M+ Cq%`$/' ԥ#\܋{wd}hb; ?OC&Ͳoθe[oKH[q1jZ(\-l8WA.mW%;eˆʆfYΥUu]z$A]LVJo=mGl["Bc+G#2Roxhh!RdWE9lj)8#P75*=7Qp4ѱ>Ư?u [_ > SӠJxxIz&'(_*F֏JܭZ{Vt xfI Bc6Alf5ۉp2aXc PO;vM*2f}E;]^VZ'Q@~.~ Qvus' 2w5̦/mFphl!%٢Yt˚lӁTz:,s&ɰvM(GТ N\]bn5x 2qSjNO‰ǯg "cm4D洿tB}W+qEi:VKGZ p{;7Z}<`b)Ĥ'ŒK 橛3S^.U^$yɔ(d;&_4>cEPdC X3AC>ټ%2Yru9>p p`9*G/`tv(V--ckJ[JY@NwPk8UjlOZ= ݬfOCѳkꟖy$eVzPGV`my(3DV@'sݮ4oAO[K{?s:.cf}(W#/6 .DhFG?%Mo)8[24\^ҹHi-EU~nF 5Tg8Y/ϳlqW~@6.ʖ"Ga|NhrZArڌ,&N&i qhZ!f0de,|gvqcY !]ᨊ\^Od,H~F'+L,m)sPCh ^'x_%F{Og-a`Cw3joj{S{n*S*W9n+X3wЍpBI@M{]}`m1$".چ{agG7;?ШƐj_]"t5<T%AQ3%펶N.1эA5T5q;/~}j$L.V+fK|% ⋏ '͢>r͈wMzwӗPTA6Cu>&ut}S l1JgwLnMƌEڨ*?F#HKь!6}X*@]+yUKȥP4N V*;U8>X]Zf 71 ifIoU~ G͢@%Na*$q3*MbB %}:Mzv KUfZ5t3N?b.8ȇ&";Cwު@a!ӳwK0?XAT~CwTi۽q,'pGh^5nc&peD7[ףLgF #-b6V=KjyL&syaTLSZ 'G L=-0 dVq A/sPhckIV=* sG3.hA>uqAU\Io\ V(> ,1aoc'pidqCxM%]s 7LjM3I[ h# !n"^yBk|2q8bEL)u)3% D{1l[šh*cty$YÊÇ4DVRAAcqeQ^?R o{W+`"oBF]9<>_0Y.|XMMS:aWc`đVDte7,4yLT`,34::75o,s ^Ot*fW!@*7DڨDg ?V}5~2U@*8O@A_UӼ.$~&֚b]({PRIhjYtPc=/ơjO=HczUпnZ96Ѡsn`yU8k<f_$OCc2̖}VSJDE噑ǭ(2&mO ? hZeC*et{g:,(,j6=MMo7+ La 3H_T`Nw{@,M!Dh2͏$M0b'NKpa\ɸXnPkaMٚ+j#,\t%iU?(@Eac^#udJ,USah,W'9&i-錣^,ᶥΡךXu4|bNV ;\IHz"*vt\0p8<IvvAhP%E#@HFWNT-&Pxs$mxmc9֭sSO* lWo(Hv =R!~FF1!mac =CrW"YCIB j6(x)Y"dˢ -15b $F5I \ްk5WqE"GnAۉY }r-`II[)ת#Η|zfyVReQ!rנ‰lGQRubYGqN2eHӥCv!7 Xm] 3D\'0|3~߷?׬u`_UshBf-Lʍ`GLXѤVcqIUyx4TBG>4 X#$=vc%KWG7 !nKĖO]Aۙܰ9&k@̓- ,_7[7Ly.jHZ^58"d7uN=+Gx)r͊i#4☍EBo&$|7!,]t!)$qOh3ntjivvV{eL|`#Xae Zmx۹3ZʗB0,\yI[@uoFE=7-{JLs% Խ*\]IfDx),+|]oP9S4Mɾ|Pwj~Ie^p_25bid /aۧUl`UxU-mciK4DuIsu!2);>M9˻ҁtC 6(l8=j7kSq)^ @Ϊھ`c[-j1j&]&@1TxNƏ{ ,qbX TF+"ʞb J f@?W 2n8e󛚈xYIV s~:_&:vT!ܐ"Gj`]:+uݙM'Ӹy0]^Ck@.ɕZqh;N%KOq9r*nkԙ>qC<+"fRB^&>%-FGa_dtXtw~ UGab@M2JklWC&˵B17z[^g(Uch͡nZpCh<&%c:<ѳ q C$ϥeGk[  ƴ뮯vQIsh^JP/'5{#t,'=i9srb1){1 ?HuD3o[\\PCtYS3{m?ql7Ւz1 4 >|.8N>N!eJTG䯍FfB' -d)4qT9s‰s@N.v ߧS+-BTer]z3w27axppIFOjt%>yٕv@u|~ho+ڲ0HEރ Paoh.ZmkWnL釺ư*8UK`-Ft#IDVžbcN&k$w/>-&M 7<<ˤ)ZS2gKθX1z9b"r/C-gsOmO[:xdEdg%?19ˤGUymbTgl' c;W%[)X,p+20=q $VPWfg^{ifǵJ2uYټ"կ5 Io rc@VCϗRD Ġ&,RہWvGω,JsLLܰcq+y67Kӊ"jgKqіPŵA,d3L6/ rsJrZJԉRT3&^QAwND/<3y^31JTCXL$~"Ngsf ~ ` ƻbi Cm,;OTLC{IekcBqͅ c~o-JV\KhrAIhB^G=ҳ~ r2O]I'^JĹ 8Z 2 L^i0,~:#p\\(=`Ca]q|ѳg9'Qy%q.nؑ) ap|X4Y\0;w'<$)uv`]zOתܷ vn\%okIh1 P;[ |xa&: '??򓭌tDt.[[5 9E ~eSTڥD$.U.xYOYd;Rfz'g1ť^ 0J-$]apn\ҋ]\5>훼Յ76ADI&WUKXZHK"?˜v O~ [um6'D!gIӏX%bߎhǟF̚v>F#Χ6,艤~/l}R;@H nAh[e[>)j!-Z[4_o iR Lі29獥5T sZ ݠzsSF,{oHV q]|@x2N.8KђN- ԉZ̊]BsotEwUJc>bD_:X2`RUG"WD'T/7)=o5*36Z2Boֻ0/>F. T2T#ЪKPdíȧy#c$ N-i^&591 AoA8{ZЈþ>\$'wo+{J|y08f9qu XMzNb_>{szfd9ZFĹL{,G=lB'g\ m ^::rr>zs?Eͥܨ_ 8K3#ڃ&)`Sr.we]VHG Xcz0*{Ahd~/q-Hޚ&c2pQ>^( "U?q`sVqJ,,Nba5g ĹmNP:?"~:Oq^]*2wW{q9e_) 6F6Pj/$ 2؎0D*"Pa!2獇#&U:4׼^M䡅51 儔 ,歄4>T[d>6TSG> 'VĜ]pr%6ZY `'_K=Fe"dnW~BƷn/˼kX6'D?:6;0Ns&mHukĀLiiߗGo_ pɣˆ9V xk_ }%!Q;xݝh()<}Z7HZ Lz;9tB]ʦre V*-w@5(d5T~0O{oA봢 4ɡ]E@$[0#i>%l8Hw/Qͻ뱥]uC"4m³H\WK@{DnǼ*=Q+*_=bb6@=IJ5&`` CZtnhL*u໒^Ԙ<()9\7[Wέ'k |){Y9Z4s6'vZ-+e|a7{Bp/ 6[ ꑆhX4^V7=UP휋3l|{PP=`[3| ^]`PtTm$D%vQʡw^w_<܍"n,syLڰQbCԑ3"[H\E|^t/ʁ ia*zDy@x7ldK|`+g{8/5^Ex6 `ۨ8>^Z n NDWRgs6wq .Pe}.> JFNy RQH 7-;8S^X1E?Q^kJ!pHON+;SK"[RbOeK8:M#.C/"`yzRvFUN4PL@@||Lgܻ6G Y%+ճ|Z SJhy1 (.Ȥ!zyQ='tJ|<LTMךh"."YQSha )lhk86c{%CN9wݥ t&SRZ؃ְNBk_Nw l;cbL>O5H"3 ?ZwLB'Rӗ~ͼ?avѝϵloCOM.hp^Y-D|(dd7AxVFG}b5'9²|3Xwބ BsѣMXU ' <+XR-aM􊕗߇zj[< 2GUu$-ZVn"jCN i'v.~TI}秠D50k-{nr/LZ>ٚe܋xW[;YQgR׻SSW# 0Vӛ{XTS#>]3+ǀRe ]: #skQ)d F擽{9S[>ca[&\>.аI"tS쾞 I#,syKP P4г$79E4 4>TyziHnu i(,3s=$sa-3&rDc GDkN A0 ۉt$J=^٬Z䄾zq@j & 0c Ԉg]-|ߔ?[-v9=}Xf=DVFHL"H,(VDf}XxAǦb ̷{gHZ1ah0 ~$rxZٯJ-H[:_r $Wk=nQi}6yign32OY-oJ[j Z9a$Fk={fH*wؑVM%쯡1 sOn+j>^UJ(Dl$[~Jc~G+ihyiUK=G!8QfR NؕuMG 5&/cD& b>aSI~LO6 \hS"`)'I$~MOD.E;&Ċ1JތY/z"JZgjWthj(]g[x"QxTSyN5P`ofL"Rηk?4 #ˮm[rMe)ajؕI`k7J**H;ˡNq J|}6#^LQ&BT9IIHu]C[iIQ掫;öH~"eQ6C˂%}@?uVW31IS;r|ԒFF:.3:0zeqx015nܡE+ ;x}lī^"bޕ!D'f)rz(-ـ9a`1ī WGCe;Sb!oH$AD p|Cz>ST%ekկ1y2JJzOĉmJB=h~MAuͯDhQ1RO[^7>Z~h|rAyC u ^6O-{i.}ō)eonDGEˡx km;x0v{#pSgv^p^]w}}>|ҭy#Ew!C=5\mhm@~'+AAioi>: Rd2ڮQNz""¢[_dcnxt0^8aq?ŤdKpFѕK؊o?/,)F5a2h*. ?x~F0h;'*_8X섥DԂGGɈ$^gCIGE Bf^>Ӑ4&'5q)l6'j~D N g=NBl% 8=nP8ݛ 30x zmپK!+!~=0*y%ev5a 7"qxEՠ> շT;QDq6Շȧ8wiD>]~$ca]JuʯKm'Ǝq Sی>3Fڏ'B}v*'7txM?{eC>gıJY7zO x*y(Q²mx^%S#]mm0]l=ux2ZiK$[%=FZ\)ޭTB1Զ0JsEp'k MI=eI2*т4DBz(p h;l|A@{Ac1;Kَm8ɖnV]?#=^V%s62^ "B QlR%w?psn.0py9+5qΙNZ2*l5FPP{(tZUk0`h^'3 Qtd^V@hR~T@$YÑa!kC)II䩪&Iz=p㍎9#wvqE?x鍅k0W8Y1p hՐVRYr(g0Bm`" y3klt EGNo4!{Dꁤb,`֛2giz7z=Vh8<8໿A$c"ӯ^{H&PtOQ?PHOqnioO@\Va:OiM <ɞs}/@>-#\H,vy'=:rnNWQJ;=de^ʠ29|S:T`f=ӣÓ@=XJz9$;%I c:fZz'7R@fdGx^fQzGX@ڼvxP 4b }C˄f"yibc$h\u|L8,=WU %+F7< ֹy9o{b=J;ثkvFM|ޞ&G'3ί(tU{*b<6gwaZOe{)Zݱ6S,VWh=";=J0O_  *x#6׬[/5O8?+H7'7T ]mV!_M($Qe KS H(8vI_r5iaZ\ #!мOc.BU.އ/p-jT;8KVwW9\uW֛76O=kWZ96(qGGt|Erz9=:^5J=QKa8W$"s-r^ҧV/qǼ)0떜zHbD?beeT!ff0m"+>~=`?S냉띷7ʢ[˗.0~eU,`DGAFc63q[K{]*Bxм4vVfr̯ v:U1d+_`Z̯EUT4^Kj_Uej]Pܗq:|`َDJhb OeЕX.\њVK0o̪7P-u8O)nJl bЎ+呈S*~I`3z)3L!Y-#|jwu$hUmGG[uGX(], y ƮMQxlS/5#cd8D0u<+V,ZGCBMEI&6i~f4ޏLjg_} d^̑҂"F5Tr)hD0ֿqiZFyQ˳:AzԖqJ-珡hd=./ lri2N?bдOwlQƁ[1G+#Z:.%,}WHc*+;T`!s觺㥾\"}3.K [% ] *O? ŕQLK箫PHC!tˁy:i'rE7熀a 6"%Ӎ~p9_#`gr1LJ :~1YY8WΫ )OJTm4g?ifAą`wG%5ζ1ƦQ{ p j7z~r zN9z FvI 1W̋ M~`yYsT :xD߁IN#M 9HԞcJþ,}F 6jHM<{+/i,X{CkA%(wΐ b*x1v9ڪTs9LvJA^!\zÈ c&q~@p 4oǣ!. z̴tn>OvdNM)jm!׊T?A9wqeK{UkW%_ u? pVCզ QqʍҨG(m=$P%_.{4ك̐}¤2<ЦCZG񩺊^yNe$ Uߌ~_{{$<)Om%/ᴋTEI3?{|GVŢgbA+WbGWqOrG%: ~а!G~h9gh2 iA+Qf9y/u-2tdR ڕ]qǏʛ1?,zS"8۲Z] *7q+dXu/NnnBbk͈c $_m8b!prk20eHieO `>l?ArL;֙x$ 0yx;JG? nL:#er/uyTsSCi0K޻s)N[^Jo LwUhDt螅ث,9 T)9Q OuC ;$P|v+juVXx_"{w'RB8XAISn2Ƈ!˱&L\`60Ậ Kܑh"u dr?Ae(&BGc*>1n ÁڤwOG0J\XRJ7> ָpEaUml+c>2wWh6dzX)mw?b=(*cË@y|>d;ޫpvn'Ԩ L+!zܛm`Dj7~GN70*fFrmv8W|H,W>8&K&mXrm=RtHRZj|]i0UK&\D3$\ dFq?+\hhJƖ ͘<=ܐFԿ&VJpqޅ.t|7MؐU*d WZ۩p ࣵj yz8SV<ڵqvlf9nqE~jz?cPX0w ܁eҁ">&tCԧ)^9̃0g|T_l CM4̀Frkւٕc5wC^%䪡7o٫fcކ}21A}&O^>'뷈 _N_+*K`U/;tq-#RS>&z(7W3l!8Vї ,jWzUݥ\ ezꖌ,u _c +Gp7˾4Ag )y;䷟iUf\5EfHfy 0#@V5P1xap/{|Wn6i|, >QFW_|H\8ӭP)l&'<~iE3ze2UuS.r|>Kk|C8HϒxӉ1iRgw6 .ܙȔ6l0xpt"~vzO@/ÅwRQ!KUɿ@C+-/9IQ4'hڔ}B| 0Ʌ!I$4PޜCBb4I2b@"ܓ1i >Z2]OZ%mcL5tdL'c?P2[ a%!u>?M]^lƘ,]7M+$] ş^|$p{;7M+^I$C6ue!Ru0S]pW73u}t2Lp& rk Gvf}p~v EmH7tB :m0u'C@؀":ܯ5 kC5?3RG٧KTm`)HxM ιJDIElyJԸ/:_78%0ӲpÒ % ~E"iGdLN&BKl@cL2J-lh7Gzu 6CWh˺8APAxb_$>Tyeޟc?eAZ_67&J9qmlV[x.?mg OIKJN_5\K#D+ջAa|tl!]pc-u3DZjSxa`;MKa2C*5V,2 t6 džb\\oWpaqPʗpQR k[CX6>G⨝p/Nv4oߎwU{i^c~wpJ'q\yI>esf)g. w*q˫V`>N)q OBIotm)(IER> јnO/lvP@TmDH=7Q;w4C^H Vem3+c -H-g} dTv+;1SDϖ:P =mJ63ԳlÔμ Wv 5xե0/fH*icI$h<)>$Dv暑6&2I?N킋PqCN}X_OP*79,w]3,k $I+ #s[gGdr㱹3®6VKiC Vs`Czc);.u帶911x ΡZfع05҆33;0λ_WɩCsDq0U1 ISsH@zZP|8?'SC_Qn{j`& ARXqO eFڦ1Ͷ[?FHp1ŝ?,t?!RHDik]-vɮk^d m:m-DHK*܀XcdO3 M.FZV/RGhR,Rݡ S8`Zө=]*&Ak}䦃U%wߟ Q ,X0+=Pb<~a͖l(&ci!a/ t%%F$X_\-3vןVE8*,'8JEA13C(xȤG Bx_10 uG  >X5MSe^/T?c\d㰘uIѭNJi w(k<;3ۻMϣH)gmyD29ZeL4 ]zS9zǣkͻКvU 6@ ɲq J}ֹoU}Qe*.osxJH~ 4w}ȯ';,-Q&/,(3raLuK"[S>?cdV5R s26+ѿYgﯺ}XCΘ2zDpqp"p,[d3#{*4UZ~&I%XhX%`}HzVwjB =SI\(Ud$9*Wzsj`i=4UcccsLh<<E䝔1ETX}Ab;_(:~H0a5⚆TN[.~AZME[0QeI`!2FXf+S_Z3m+^碑.b^4d>ێud^Oi2SbkA_7qF 74)  )d?]¾DDo z Fv7 [> PKN,ij͆X(bUb@=A/X/YSx=k 5|o KJx'*v5$}MEcd1 5>̲# J||KG2bݺ!8+Blg<2x"&x:w7wÐz2VH73{}[kO炍k&Yh*? 0SCqSg1!5OaD[b3&g޲ h6ET@aatqv-|N䒒O?XxXfxk!Ai}V#Хt{D(2{|6FxA1%6w>5 ϗAa6n]H_tv~bha$p9TqnÏҢKnK[$+i꿸*{?{q:2jTR#G0Y"E9O.0jœB1PsavQÆU`\wK1eVZm?3x`KF;PFpud8fuHC+22,oW+D9W,idŊ*:RiFm7S[ N$}5uyjl粏ކ>;7VHD1N &SC0 2:om _jl kn#pK /A:ɖo*(2~xRa)13c q˚i u`9 >b:ڏk(S >i?!d,g݀)A>8б4qd_x&O'b%Xhll YO塩Ȃ&ѭ\%f7l_ E>25:ZmuIącz+Ӵ(DvD#%6i; 2|']⏇Aѹe~gYhi`æWN!-9O|4 5G,ni?U6-M!줙G21 d #;pc {i= \c Q׬ ʃ蓛kdE$!ݑͨnedgdcI 7m쫲p;ڠURD!Ԯvx%#z{:op_CP'2z\^S㶢)\vF/=#9Mf-tt*|7iZP,݌#[{(C* qSd3UУ&,/tk,p7K7F7SOZlR+df,/u9كU7k't@Ji`b*eK 4^UDA熊r:V{_H^#rJɿ|2:OdJ+Hhn:ߢ+F*}BՎi$nA5^,}$3vGͲ5W\CWυPT @F:ҨQڄUbCs,JۇjkQd\/PIC4xT:mD`:VD?E^ٽu 1EOvBl| F&z\&4qMEw L?S AH|yzN=Oj<:%YGtrOw՜K/JKfi W13:0wpmQN}HPʥ 44c=i/8l?g,; G?2C*=k yu"{zČK Լ2$fG0'g ED'ΠWmGBrz+4]Āb0?шCs Bn=.EI XcZT'T2=ƹĉ @W4 kb[1$ﰸ)#:.DJ|U2o"y6jxP]5C/ ŷfwB8>6/:*!I#Ug\,eKS,b)ti. %#3%>IM*"^Т΢\AUNֻeإ3\q o$TYш EvN)6Hŝ8{'[,1t6d7Ri* ԩ6C rڙelY*\ȑWʆ3hW|~nb⥭U~U/V9M)oG g<6xjG}k`jՙJ*_'P6l Chl)vGF0L%-B҂HVuX&{^ Ɔ˃_c72TץOmog%oYgurJ'@pP%u?)VCڇ,>'T3H[. ,^ Dm^Sbe1gY(׎) oxMyXT-Z/Oͼ¬. ޕ%)[e%tFv,R3]b,>AC_^a<`-kpTnp0ې3Ӊ``]Q1*kj2\׉KubfMVBv88Na_0 RJ|~PWzp >o! k}]^b̡࣐` :44&pL/on(}RV$pKzk !]]4ۧOCč L¥Ey65XwSǨe-J@$"ѡj%HEx)kjC2Y D%GưRh,#F^{csK[u9 Ֆ>TD(n͵EV C8xBhǸDR›}Za^&cwO`u L1$/}ubd.(9<= <1%f*wAL_dS %(L%8V (t +a 0]W)IDk怶R9b'.3*kVh,'T˲`)+4)v{ 9v'$Tx62-Qy_o!T֜; Ę>N[زS jlqOC#k0i_Hi6VWMU,Z7̐q S=Re>5cyҖ6PEXfBҝ@%&&9Ck$n@iŅJ: bQ=-xePa;KK#h=ժC&'P"η O.H|ڶaim`2Xu50v~>*j~ZHBLmH҃ǖ)BI #ZF!loE.W߾'\ &)#37i= [\/(s{1'tlI릑)g]c~B:x!ϖFYۗNfxqFQl$BF/ |xxNsI\ggrbW^%1^Sӓԓ3y?8Eg%Oj!!vir-өD^d-f`t%xE=P)sT;~i_U>`5LKqSKulѰkNap¼-P4ؼ.ߊKz_V $^>:(T!y}km|Z\J] SIvmXp7MfГ ±-A(2¿zrXia0G6]6LB܈,,Y}d"]&^=JFt Z5d8DTfm{b P;Z: R_*P;;Ge:p3B-~#ӄ%vE[Ũ^G2?=?PPNWZl@t\OɭpWlebv֕Ia!kkUJO }?g>_? ZVRں{x4Zup9s!]TRA¸} a;ph}yQFaZIb|X1z»űAkPt0$Bl.`xEϠP{Oمw̱cq*DV5JnkEDjJH^l&orV5k\VICC!Xlcj)䳢SUs`>N hn#>gZΥM%^y-Vh13(SݹY>5\{6oMtڎY 2T"j M0xûy%Gcuꠋe 6' DѹV!Y6n{ؙa3m)V(`wei?#h)8$hTA^jPuxm3悿-Lk*( 8AKkfꆼP&AJ\t瘱尊mx3Hj=  J>QAWArWd6㿥QfB(%yϠ:Q]QI,[MM栛B)_Z|\^wHDL|4D(|ⴵU\=(7zizgib~yBc2GJ -sU*;āg-^CwVɓS:8J5ĘY =!!),ŝNltGK9D:F*3@ 0S@QzG[Pr_Ajiel}r&hiR6v1ʓܻ\[FmEɜb |8[U)䕆O#?{82ӗQ*ۻLV·ם4Mj[8؎$ 2g"bdU^[C! ĕb'rX-EH:DvdC TɄSϋ(fhQ8>?;h"v J;2V'' &-URNC[%ևª6.Qkm4BڥPd ;nj'`eDB2xP WgLb> S[Zmcgi`ZODQ!X _ր̵L՛]rWgFYJJ*(% *% ._댊3Pe@mz)@yR\skJeKxJ^C n#lR!@ !t"rÂNe (!@P¡|ɤ;2U?ɔ3oK:ejgln,jZw>{%C%<:e$<:*+kEȬD[n$qېx> Kԅa٢.&: ].,v5i{[|8K{MQl]xi?[\HKiaכ,H'a3i@; -ߒ4Zk}|N3!hg}ӖJ&= Ďo|ʾYj1|UgI1U銔҂G.)On ݆ Rd%N\b Q*{QʓIQ 0Ǩ GbiG<<1Wѷ2&L@zZ9U^2ބ}(S%ݳ?\qh)E8q|GD $c62Ua2 (@X[$|RzM4X+ >I]0Y;:滻gF7do-JH8\oTY->j H!]o/m_$DCԦv>SZOY =h9J^'n ƾ7\23l\C n.75Xp'2|r Uj~%ZK*ggMAO;B<10<0/4 z$rqYd@E .Jm3Hy}j*DaKRmF);Qrbږ#a2BZF>߂P _g06V9+y?G71ܦTc3 qDa&[` MV;Ђ61#)<Aׯ'*c"xҦT3ې p-'ŚnDep/g|棷G댓5Qr6@ӂYs~qE8&stǤvfM:-BMI}.~pREYh2G!MeH}DO|) _:a;CiFi`5x'Bш]x8u?Ys3``v'rU*VV ?%`@ɼRJrm;hxT]Yu[qn'U bc1L>HtC$EIӢtB`ŶN"QT-)#Lk5m*WFY\‰ËFyxeD*~QLw=*Z)ah öTUx18fώY ?&;CwViDSY tA. <_(PhBOƀu,-V18 :1S̙ṟ}޴pqۆ QÖ\eڤ9SsuWxX9xy qq jѓ,!M|//GKҖf*mʯEeB#^ ""j X-aV:\_%љVhގeAndn"tZ qq{<G_ͼ|kÎ r|UK:p,N&y.dx^nG%20 q:ZKK#!Liۨlw,`,qNYGVWJT&u\A $gL.m2+i]}jZ]g $ 004q$wN:$g/v3/E*b&Dk~h5IKt? fxe-酝t:?ظT.)h+Bi8YaOPsCibV~j|M #vCBR 5瑤%d(S:;>7ޤaBSRqԙbd z}r7m|Ya/*LG+ڎ Nʺ_U:(o˷} ! q?Y.}< }5ɸ<8by_~۽QЮRwIP~ֵ5IǴF[[Yabh5*=Ajd0Zt_sec9&Tg$b"qUNFVJ@779 #~5We¯6?D`\,TѮ|ImS97Bɜ{"OrèxemYM|<pKyr ЈT.mVk";_ۢɰ>û޿V ʇ\dI"ߪ]zW笩n"2I 'h Yueݫmդy*zE+"B9H7@%/-5 LV+ ޙأđ.C?̈́3ȼ5YTF+m VfjlWGOƌBh:gKV+\dc.Ub;|b4g76?vq>n{1 ܖfn@:P& i Kġ ,nqiJ1RGxgD^_-B0D" d3NJ?]2l`% A<0Av}" Ӌqvw4[j1<Q/Q~C'ЀT j536}Lxң^Ԁ뉬Pʎ;I$؍\`.ſw1\l ,`e s՘8ش!E+n0˶jj' ^Or<=q:|!;< 0C^z؞]&ܙ cMݨɿZ Rti#]Pj@׋W}twӾNnIrF]|Ol"47/fuz'׬wSi ^.8]t.1G1/ o =B6Lr)3"ua:bT5ɻT{Jp>Rt*rց3(*#0R`ծ;LmW64ƾ) /Y+#atQǟjP`T Ԓj(9d8<9_镥OJgko >m~``')@f4q A@Z,)d}$!dc-ުQӏex3(QQ#ܝ ބDvitRXV ڗM${DxmВE ^C+k"+Q1eY} (Ze ;Q-KdH eV4(,uv-ȃ#ئA[%I]x=;;v#YjX`7k-\2F053ܓqf5aA/yX'E -+ʄ}]h61M&.(CAkmUzzXku`aIc8fMYBEx]ؠDX}DF%!<뫒8Նx볣mW{:X:JD+RWrjA!mz+y=GO0J05/v@u)G:ZCǭI)fJ\KW(W|:( qǀ.W|4kz!s Fb^49Ri&QR@{-goP=zEwUi9h ;k9吚gp ~S"M`ˠhR$]4BQ◺. \/4R \:ґAAN|ʽǖ5sڻ<:1bam JS"Yu_C휹ܛ\n!fJRDEsm,ZwAgxQd9_+UACBkc*II%͐juo!v}ZebD) 'eRAk`B}`ho9ǠQn}t'[ƬLJJ6O^AW W2m*lfW>0?Cx»տdAԪ{݈aK)#Z CL1gkn]ȾM|oRdH#{ƎwgmE*i\~H`)^*.5:z䘂3x l)j6fUý,m1|M ވ1}T|̘9s I,=ԕ)&2@]K4$ W9fzw!u 2rtțUI ^?x}3_cQGk뀱bFr.J=KXc]{hY9A5G4.[_[GE( nY18.m1vcGMRE]P?l[AA*ELܪ$U+5IDݠiڻ0(^] 98ÿ)ZQ~~NPݔ#--]Ol@rLEu=#(/5BX b= `| 7a3҉?>AʥWApKj`03+0dmi|o+̃Baգǒ{q"F|ite(ѣ9FO;d:eO'֚*h~q[ ָ =ìdtyT(1a!uU`l1}u:#-F[{p킻?uǵGa9ćy}:l@Rϻ١mMrhp!@_ٝt'DI4efƄa/iZe-?kMI26TL֙_0mRtx<,;w0Ն Ifb))"?d5p Ik%{ՠ;ŬI;.o!5埲`8g  - K! h(*jӬ#-`߽ 'V`xr:'m(K bEOD9#z|KXye^\dDDa(PKp.7fvq~UŊf/4  {H ǎs :Ela3mhD-g&i'k(r^u_kJu+[RUeqJȵ, M6rTm %R[O#~tYk:uvq~1BDqckSBkҷ?w6$]]SO$=rgK5] kR\] 6%K2;9qvL8ƲK uQ&|dKg>>Uc` JTFٵi8aBKBe9d8٥{Z{c}cje hϑ6QI~^13S~bw3`8o8:%?s5D vvx Ƥ] 6 #Pu^O GEr|opo դ%0׳/gr]ܭ0SAI#e$&ŢMaHAi}AVm'*q~Jk77BI|F1ñӨTsPPݯ?gmғ>\zYYٻml*]$(s<`(8dx¼uOX9>FӤF0ig8y'хF缉a9W_#e_FM][ŠQ|nZt~u>hD֕{>%S0X#(_6@U0dKg.F}*/Eih;=ӿਨ~2\Y+d1yPq4IcXhV:n$o(_j4^mdȷE)m"mο걐=^NBCvZ#G% w^қ'|,C8x^T[E]xTiպ aSC7T-0ĸӔ"~}n6Nuwm-%!f]"^gtT,XR\^'! ޅH4ַ)YOī& p-ʐ%[ <Ɏb3z_cꅟ[q7TqFiUɘVM++/6r(5Huھە?Xv >f* Zjtr7eDG_j옛8|N? )l}kLգl4-hv hWLzBB)Ħhv8/_t0/%!z2h% ݫUg7oq)ȸ {^DcLEezEwޭM{WʷM |]e㣧8XrLwEYDi{ɳ#kqf2(a9׆/*aq1:}?%V p]&4dGЄ j1oQ;,J\ji Y%BHnI8ŐiWTj_Ei2MI]ԓ."fLG1XC2Fa8Ok$> tWA ι&pSDl!u"I^d6L o$2&@rn9%wGgfA'sƉ&daX˘gՐkn,d1OPǸ=1i ZweXIk{P* V_(`l~d3 (JTkuo=NfK 2.ٮ4F@1WEq5o(`Rj~''2ԟUͨ)\5=0!TCj(8Ii\*f:~nNd_V7'V|w/28qs@6,<±5 -^>z"$v\{aYgxRG`'? MgJay׏2#jo"Zb-L C#ԝ^UYUH,??|~ Fz5J#-7;@-E`%+]9A](кi7A! %n+N S<}Q‚Ux"ݽZ7=";$VC@$[[etixh%Eg~~}2*'or3/!׉"\pQ`K^aK]aÓI<-fG^I@onYEZji/i% >o tWx؃9NQ`(N~HcD 9!jŪY{fp;K سLDjץOnswg#[.Hz8@~59g>g @2G1*Q0$ fZqp^>ըo \vsd45i3Aúp+#8MFOJn)tXv[@]ČE g$OU[ՂY[Ԗ/`b6#S/vޔy;rr:[Lܰ(N y)\.VhP+`R2ϋ,lfN6BZJTU. ПV),,=r}FWNml7KlvLF1]]uv ^thԨk2׈ \" EwdF9_Ym6YՕ1ڦe}">,4!CI@9u S=V >_ L35/'6a7SLXɂ'ZtbrG>ɱxe mXXr]bV-v88 "S$vXG2R*QnㄭݰclŭmZ %:5oYxHׂ |T%+{oe^~x #=ؖ0{y.:Ĵd(afxŸF&a j LXVBH{'OZZ/g]>l_-2TcBJR>*%?){<UtT[ 4L'|r.8"|9(]~՞ac=$߾0ǰeˆ0VP1il=K nh;`7ڋ(f^ԂnsS^볿f[gr[[c̱()RYru70۫U>َ2`oii$h杜Rod5b:\s teX5[ٖfV3p{'&O8smK!>! 7^*/S%'o(o_|.~wm5멒 4tSsA`@|2Cz/m&eB` 3E}Ox uKDrVO hB^E1V ы5^IBLhu"Fq?1Ax0v* {6$e@ės@ kv#R_ ~ i-BIrSۮ̥nNGis~nFCV%ʦ.}2+S9+4&ɀJ)=+GfeXf \hFA%u(Zc >i&<0r5:x0b .Ca{SGwk ![\\jhD'?Uu7#bN ma%Ї4QvHx 2}sE 8 $n\Y`eKPX[c Ȏ,eߟ@n Cz͟SS/,!53=fP/u`!;t;dXMD=R`v8Z\>>_Q'*Yc8hmR3èhTUqGB clx \nơTl+)܎,'iNF=DbQ"@0%L}RLVIw))Nbotdde'\<<˔ReҰJn2Jʡ9QUG")My4U-ZhnRIWv R!HAY 3P6/NdW@w %_d4TRjB',ζ`$-!b(3wjv|vWkKzJ=۴K}E>W|I,lFB赺& _Dʥ1P̮>?E7_&^urب/r2),nm0!auqiThy<? K iW]ݮkƻ'Ծ? nb!o3'@C2'E-v8tzjqT!\6.bzk:_c Ѵ/54 I>x>GK_6j|hC:<ˎkzx{4$ Ͽj]E.^TqD?C<ߗVMEhoʤ0>*dxɈcG`1KբRQ94vR!HbRÛK v]&?f V':0ߏAxOv2y{A. 2 ܕ X& ՘Ԉ.e"1MH9Pj:RufuO fPRL";sÏ}'Fnx1oMrH%1e, ZNN;C1WO* 2)L6\jz|sW"zbZI( kZ.GT'RŠ574ԉ2*HR6S Ė/.ݤCn.jp{0Jl-Yz=G;M[P{ܙ,[c#VTN. kO$2c!T+)WqL{Ǝ"H_+C՚ *i9|hkh19?,ibI7ewl88y"ɭ!=ߦbW5d]حGP`7¥qA]}_R(*¢R)r9fL TG`䪂~!TA_'MQ hRZ3JeY=#rG-zAˁѝE1vs1Y8됕+B0+@RF؇aNΤ8CDwgу(:[@Z3 ^$.b!Lv(XrF T"fFK.+{%0 .WL84l@yi$Aӈ|#e/o@rS;󶊟 S5C0hhBb X(m4wÂZ0wT 4`0'NNz)lIތ<18`Cp# _tnp6K\zUz<CAC{RH> WUʠo;IL7>q'Gev~d$1с\=sxz.KsMS*J-4goW2Tc-T7ailsKtE0ʨoc[ Pӿ|5qmKdY7!cAI-{%9q PQ 4,8v#J⽃+t([siL?a)]Mo {3_n?wt-hб9s@u[>,H;ߚAې!Cl(#w2no%RhɉBo A җ,͊ŸU%vԸa;\w+i`CnOJ%z6l2_+dZ}L=$m%:LBMeBIti5KDKMٶ abϞ|;MWIWtݑ9ǜĉ(sJ{zX Jgs|}:W*Ut9Ղˉu4 aU{#ȥ8Ȫml̑Z'\~o㥖OHs ,+Dk:t@ά/N$K’y?aۈH}U{b_9 F ?|umF}50c"xDp#Sa#™7O#nuO+q^!iTOI\LK\*dv*gȫ)% x+D|iMRY{ sJqӴsE% ފ#p@jI}M*.MC A55/Rĸv,I†G_1˽`0ɖӤ8+΂@D-ӁOwp\ 6w"zO|MD;-XOS=ӥ!bp ?Vû=?z{Cva*P[ dUmafI&'wI?k&9zi~. jץ1b![>+{iD}65NJ+bqcŊE,c³1W#n`!}M9?oQI}w$Λ7?<Ѫt&O,$Az ?M-W, ly^KIz0jym$t}|ۅ$:) yؾW*U&]{xr:xc/ǫ?d~_m|XR1k.]B@hB㶤uス&e_f1FK_}-ȉ8̐5T}wv hIo7Wj6 ']{[Sf  JRB刺0LN䏹dF1HNRkت#ֺU: YI_xV 6QzmƄp+*d 򾊈SH;PLqk ƛҡPy1[%ZhW4_^&#O ?|®o$a A˟;G@-!R>!lGn"afZd|o7l$N~YpNQ~Ҿ>P Go~j(Utn!x x 1'h&hk ƓBf';?%D(#Νݪ@{H&rTni4YBd񧦭ޢ%N4TBml-# -m7̇FؒyFR6k<,<-Z Fs׹82Rd\AbBI9u`h l)NE6B/7Z q]ՎcA uO~QUL.ꍳ FrK*{\m?K154sbxa8tEy[Y)5Q%k gfA6C_;}XA&Zܘѡ%̺fI4kaE͵UZrG1p9 -`j'1ڬB\)2%LfO5ҀVk_\i+lCh$MS.I>Fwe^WFo"q"Ƶ#i mrB>jN-892nxb5[e3 R"0Sx6Mq$/z$XDE zsך'ED`a [Z/BiFFlt6V&c'[Ң, ԑyg_DBƸiRfTIխ~ -I-H E t9-JB|*g+/*6s];np Yc0? Fށ^9Ah7XINO&Mv%fC?~ʡa ;f~ɞ?q$:.'tEM点ZiJaE(t wgd8U㊗n~/ n ڭO,13gUo\_o\ô`hWUZ-NRWN#o4U!ӂ!P-?4Lx](BAgӳҡ",gכo| C'Mu4m$yt2JO@@VNiՏ܆Z_ ? /zwI+a7Imd`}zע=֚Ș8/i#p ~eT 4:Anۯ+Ne!jS5oI= ٳծ=$#r8_+Fr"jR~W^ڠB~X(tЇ~ɲug Qbi^g"x9 !~LK$BDb2ֆeqD\,xB~! uywFQB7ǒa@Y+sbzK[{_@dD*-`o|tS lMEVfk*XӪol-P,322ի&F(`YhxL_f0'amƫeWy?0qXP"U):e`>Bw~7g\Ul2ỳ D{ G]wQ?z)Yu y3QR2@_\ A{A2{UJq' ܲǖ<5aIY8lH'S}r!Fs*ǿ>\>J s(m:c~K% ! l2wkQ. 'Sei:;{O^356kƒ)js-V}0uu,F|*~ A@נJh/P+H0zGF25 $ `ED81uzg]? N= `ieK[Dm"Xq $zyXm5 x|<j\J:E|ֳ͵j%o-*/ ]܄7`9EtNUQUG m}n~8hscT{oP;@ @4w%ϛ԰#_P#J 5 RPlWtX͋5igizj~ q9ν!te{+fi}) /`$]:kN#ވ)C*ZY'R(ŝb/Jש728&jȭS`=كAAcO4(?QlPHMtVXw:s?O|ntx鵣 d%5 ,!BIX6-/x5*{CE"[@Ir[F*nAEgF4G0PE[ߌRț'YNy-@=>=NޔՁbSf]KkcM=(Vh[ 0)gCx})D?e>{뷥*CruZ&E@O%>qDѼ3LyxyOp6LsFpcL$F&KX3pl29BŽlN΄>DyB"{]C ŇrC匈Ҷ w9u,^ܻH*Bο{E(-f4vAga0S.@f> wV+K~YƵȆPM9;w <{!2j7ScloA ?d-d tvlegP b>$t!^־Ƅ|?ذ}4Q%wouh'p'(LTk6ڝL KlUJh+)D@p}j2iW27EGW"`VfnQuEtʈk;hnN)0|R&Y(^ =\OBI.A>3Ao 81S0Ft]KX~N_M,B:DP256V6ٷdS4?c/,շrwb Ͽfvp7C;S {&);ƚ;-00>}f ֐stڦJ C 'PmA싟4JAvSK4MJLTe Cq239 5'}hDpBYBzb{׸ӭ5YVTRZGm 9v o!jMz^kߔDτ |< 2ԬFlFW_ wm?gM&D5HxrNL`b=n CIVbKd_:cNJ"ҁ2(QXz+ptmUreVhWi%n@]m$@F;$co4Ɩ7f cH6;W9N_.֊l锰nG s a3Li6vʊ_MEX̫)A|ahk[N{ͦNAj*6 }!a~)A./#'^3rie[}#$P/x!:9#?(ZH<_'. )+Ⳡme _%\:Hj6ۇ—ٱ[z/5@D@':oCI/?{T"=s[B+i]+aګj}m͈nXLD)߹81}Ρ&1,cGsu7~b_ LB-6~1+uf{'ovX=i_qy5c ֯XY{M@(B]T%IN$n]GN VmG'[S #fW {<Od=zgrTM{zdndIsύ_t)tUb!3iA5|-( O:7_Bj6C96;.'WP#BISzzu2I7`xҤc+_9+3q_m|Jzk >Hp0;= 6ccP/cst'i('*0k2 k4Rc!W+WU$t[kvZyU`ZX!ltj|HMXzw{vOy%xcoE,LDA@qo4 9<6Wu0 PnD]%ݼ9g+!n,ZBJ q? ߄m.1|7 )w ~cu&}$^_<#=t3ЧofR|9cWuyY n|]/;8=b+T5F~;Hܤ--V뷤tuPsX @>ƳecJ5;deDj$j!s).K=kqbƤ 3ԙ;,xE'mV 1ϺG.ܩ\iѭip+J겙7d6>P|E#͊%zFsKG> 0E0;6-]wHG/$Trǃ󐺛o%ÿ[~Ԥn6`#`9j`++DƆ "*/ڲLe̯Z0GfxJ3ou*@vߚudZi;Vf0F=D6`<(+k)#?Ǥ+RB'xϰpG ȼ(f 𠱖M.璤دztZq !K@byqFF_#m uwZ|ĂsʾoHT5, ^[7+-(Dp 8'ki@7~ZHƔvv+]=򺻁3X?LGڒ/~CNdMQ% .0# Aѭґ/Ӥ7%q%Ȑ~}cwa24WR mb!WY~IJ{p:hpFuK^8ncט+ƟR!PoQTz%-*[Rٱ/Lئ'3lO0 ,Qo\!H W]_.*8a*[|ZT`i7"pl=dJ #t"H +Qk;3,e`jxna?FWdBy'wPX|6 vxI D~LGKXfe|@?߅U̖aBK?|j|Ҩ+aiGJ5Z ,m=/I+6`H(ȏ ř2Rsާ<Á\Ah:!`B"!(_'D]Dxz_UQrtVCj0ҹz6ps2.cv&ۣzN^n 6 +\XD! Yٽt\9w;N rC`@ܗ6_-V*ъI#9Er/O˚Y ox o9m(@yguydƂyp qo0--,.8Jitx”sHbѽJsck74|2EhI}0Fv xjG%V!; x4+팫i}")9Pҗ,6z`FxsE-ͺS~Y>a B~m8߿˄V>VO%_JJ]BڼYX ^' 5Xr & sYf.k0N7dcS۷.$}V$%7-[ɦ`l٣GVPxI l?> `!,WѼ@.(46jSʱVzwq'|fy~mk Bv …ϵf(=/D7PUyy 1C/O^faB=pv!(?p}"p׺ zۯDWkSvnrR^d,}έhIO9'Z߈c 9STMF,"}V 5|ْms'yz?Ccr>N"GǾBSv/c_!?u6 y,XfgV[P|rdd9%SO4O>8F$hkCl5LLk&٢ŠEH,Q'J.x^_ヽ#A6oD%H.a $=n`L<&#Ru mSV5F@roÉq>2?$18S 4~|u  j3h+/= }ZYC; *i@^S=l.#x}{7xG2_ LJWaV%Q*eO0d'6|VL^s,$VKHl,tW]H2luٛ,IZ[FHea_yuuVr=Xg{N;+ix0 A#FZYx 9VUI[PƦ#=% V50I C mPf.&2{cv:VSиQjNs[IK;.2@FTBoH@yRK1'ZUmYT`z7$,13;iaURgm n֍3pkkԉ!G|M0c%(ԕyMR{J7Y<\;CNZZQ@L,gYڜ֏p".h^/0vc[m|EvF\O& *e'`PG3S. e1_۰T!H<,t3W 8}9B^w,Ns-58C1njW^1|twAՍC2X6zΩ#;f.ɝCZ onGW6~VX5E2bS..8V+>nv0p!qGkd<uų|S[uNd+uAj9 6v6r)߼ TGml&[Ƭ?zbHN+b@"e.?|2;$ lO'C-mk-.v4^6Dh n+{ٔ3$X?4_qJ?,QS#X{4|p` dH@c(@VD:5K(dE ʷbUOߑZ8Ɏ ~ȧGPŲw4aSG9 FcW~U%Z(FI5Fe ƾRZpx8$6'8u sF@z"xZ O*>yX]U 7Vn.gFkPeÖadX~nbY[1g Fet' ; ϹXAYG< Ooi:|t;$8S>M`b2&N37Ek{b<`73+dk, +wyDNYd=`|=  PPAo%b@%b'y=fZ~1InX468eEn3<JG&I0PQ,_Č}3cmRw`ȃXgUx ȷ"A]79fQ=Nk?ve}DL^f@bkVzͿLb00XR1+Wy㭼' H9㇜uRv]g0"0t)*9J&@g]Q^Lm llFEDNT xε<7ּT) CĢ䒜?!RҐFH!6ZyacG .[4?JՌr tS} j\޼]|z#,u}w~nϑ b;梬=xIRJi-q'-f :cɅ``T]*}Sע6D"$O)#7 $,K?`9g ޳d|e֙?g}\BMa JD2Nf,N0<_UF?%5'9'QSZpL)NH_xʪ>Ȭvx$XE4KO?WBe*>բf _5x qd]Ͼ(u%by͐v}ĥ2U=wgƂnZVLkڧ:e5?ַ;bF6J}0$R7pUk$}q)z`Iq0oy;<M(sgY j '$"(4>nA˙p\^ze)֍JoY#Tn6fmW5;?Qe*[/1_./ Y-0转 e3Tz{(}iK+IؙX|&ZIqǴqs+nEO@|{V?2]t7s6 'ǿ26p?;Du+W̻v16 {UܪYUP=dIȗ%N"[1"sIÍab8ϙmoGv.60Hou% r@:U OOE>) `*h7-jҊ:OeYZ`D؎VT/xӱF5W>k%%~vB[=9ұ9z 3nwz0i z?kSnx#}4S*Z[U;^jz"{|hxo)a=" J*u^]Ѿ \)ȆJоd1Pޓlm9c{hT [Dvl4u 78BАQ;&0V%%T|Xv&pxG$=3.zi3V܁o#G'Kܧ:o"=q?2+93SҋM`>?I#Qm@@pʾ͝o5_g Y]L'vT-Q]3GQloM8-d%Jep7FC-1\aM5<[:eP/>#cVL=ina|)!Sy*Y~~̂E*M ah}q; J"B)AݟXY`Z^,M_OޔHޟ׆ VWjk\5LY%Fی؀U3IͳҟXnإd-8SD *>/Z׆&J@BpɏR@:Mv2y][@*<sMg~ +r%2keE0X%)s:h&6Q3 t gBt nͻTnMxPH UEӌޖ4"zmb^eri{%$2h~WXŸT)̲1Y$x6Fŗ-U"0ޛ:g"T MW +qnD23P [~EӀͼChvwFDNeXҜ4O^j(T-Iʕ7ɡ_'8-0g0|˭;;Б`v1xty)}̽yX ҎNqaI&e%@D- |fCDFS7IISTE@%Ws^n=Rӏl߰P1H*j&xedUՍi*H724M6SԌ"L%$䥪33fȎLBnI:g۾;ŶT.0,,O R}cH !rI67: w qL{5c؇ߕHѥ d%ڵ#Pѭ5YFkNg^V> ?G'$Tɖ;7|zC0R8#.Dx>w1\6q6ťv! wGS#7|Pa@ GBaQ4//{FRu[S,F;)?mH(HƩ/b'ОXs, ᩷`:=y؟=7t9J KerVF =K`2·ֻEB7}[e xP8'Y).9E--DuuV4S YSkZ}ImT_wx&dbҜl1ד1e~=s<넶]3)`e"d 9mSLSvȁ|l. %`oA+h[σB66 oc=dZ ξ*BнEX`9uyY581"TNt]ҳbNYLAVwːá -O=@4JAK<-aIՙooٟ;@lU l@;)P^h}Üt5xg:joqЅ:s[!ϢӊL-3*.Y,+ ºQ'{(a4H=g 1esoLB?-*RPYZ.`V6^lE|T%C F;xcF8X ]CDW.x5%bk-T`u!JA7^¶?gzy1[&+a$nIC1h/{z{6_h+[Bc+4Cay4ʎыHf]\T֡8w$O^ Vjanr ;Vnu~jL %3㱱:EvS9VszNLFL|hmsGz^r9 ֆN^G  D= Ľs =B1\&%0γ>KĝµEņBwͶ;/gkCej:`p\uW5N2A%Ҿcx'bj9v́| 8RZp)!VE7֮/Qj$j>2Vo1Tr }@=$ʝ.8ٚd6Ld*21iIGI9~&X~"찯n[&-:F`OI0HK2uUWF_=pų)μW D"Y&jv:]DN ǁ@ȵvkZ !yI% n-{?hYRu~I sb`"yKN"DӤoe=XφP !gJ+4/{y{LO"hr&ݭ(1ߩ_u>vpʈ8rf~YlfDhgݬ1E'ȚR&OO']&&c0&}UX?K$gc31-*!]N&'ڧvC'5~NhdEfR纊x ݉RMO.5OA>lƑ ػaB:0WLo;|@]HQuajx0uDҫQἵwgmb ̽`UxƓBfR^}jLR`#B ˖+mF-SRgQ"0ŒsֵtvĴo)0ጸ5e[Z88T3Yi%giGG׈tlb[{9jMd:x/EF6 .NTv\IBoXS5׸XĎeWZ{e!b2eVV o$b˾wNUK˖.̝WZs?OI@Ի; 6 x!6*(`8H*fxύ/.F}l(>@&V ^r:O Mbm\AB!xKo{L+B"!94h[4:ZIO]ذ!o_8΀[dcԍeGA+Y%+٥$wŞ?V֮".0M kes^ֵͪTkyvXv3 RQXF7UbrH;B< KNJeKoz.䥇i9'{iԉ愵Z=3rGqUXf#7A/'a9/|4O:ֵi_9WfS0ۂVpw|J+~SJAVjk;meZMfeUa.,JX`hxG F0.%DN, p4=B9qvE1vtp vo[[nFfwHI#G,lN-y7jppazq8h/Z\ +bF&P~Ä{1&,R.M@&ًz\++;MI'h5ls $ q6+˞G43aw \ʋ6Nak,&?XbN:n ?5)ZՂVPV<wq}|-œ| ˮJ{"[E 9TK{E /pH{::u&e?GHԻZhAiK>nD+e/Or3ֈ2~dO\)l1}/u{H\Ewwpə T6.0@!5RI6_b֬['d"U _1xepAE"bd˩o/EzsBE~MNd9 Ѽ d;ƷIՏ02Pf fobq+ˢ#kC=:j+Bg KO3`RL~јX; ^-@4TQMZ'l<8r\lyɸjz`Ft@z@`jGZJ( /m>m@\Rv艕Լľ`ub]>$K)\{)BOwN1|a~wnN]q(ԚiQhprB`F}!41H],;ć'O 2z0jub~v(}1 rKZf##yŸOB!(S]PVb|A5L8p3'l1WoIb$w:>g_&S;ᓚ\tDDC*B9v Ϲ!}?tZ1`񗫰䵿ux~{̶WC̒*vbw g/~Eo!|qt2WO2 '8.7G7u-bDvW&«9>ٗ}U:?I勆yCa ѽ {/]Xr{HK fH\g lf_~Dsa;>qhn9eU-A# c}M=:~4tsX]Zu14\^yYzKqsxم "jE [F9RfƞFy()Ohe4 N6V)Ĺ2T cDЩ;8ʛRy#ᓃe'ԁGG٢*$_B]+Q,T5RXHsIl{ _Qm*F;KbHsj#W%3>&_rO`CBaΦ'` /=፪]lXۻ-zd&P}ρ. 9;F6/:QVE 2!A KuIW껚Jt x%o\r'ރ辙Ws3UTKVMf7/w.W=aL#>2 =eg%9d 'ŸnJBad8C#}&g6U` 0Z-1Dlioޥ<7,Wwx5뼦D ) GK5zНE3%]:Zn r/!SM64 K/ټֆg~.xb ,z/62ͱiaZ*y*dH#(^䝩& 7$")F[ U/M b@%7+9ΨK7\Ԕ\~B 55r>y= #) ++8Y̖O:շz~RE.׫Wg*(C]Xb\Q6^G #(*5𗃝EcBPioBli95n ޏY<R]&qV9 "%̉oXyv.弒l'6*tT&%Ul}\"4J 38=dkLL:Y3*K fiyj]iI\nfF3d;St?LD 0>Zf@S[98Ri!#>W)|^7>[:^xq0׈"IFIPG/ ͖^TdoWa!pѠ9N:eXŷa{n鳺+K<ȎOh1mRˉ Cd"gKmg^)ɬ߻4 ܞ:!OFq՚$no[2fcv`o@gyG`W+>fvN ~`_0L٣3j.:PwarK:X拊T[x2M3)/>@3u[h_ߛ "TVw vZO(B-w2[YiUJW 쥽^so e-U}BXPI;&ǜqvČq!Gց"MCټ=*VЉBۣě0'6ު8V(fWtP M*3Da7%OHP? gzx ÿE|5~683©:a87O?`^3U碊6H#ִ#8<`L3Dcf935a(U3~wp1,?' @l7e}06"za&5 2Ga8)bJ 72Ryyr/M>P역o Rtg}g_=Enfk|4$J:Dy%y\trknsAi Kv5Ben3U^١VVJEɲ:6e_z+D 6nkܔF2RI73%C|LpFMW9+r, 3xi)z= @e*LlTڵ=_^>I(2tl:5-z>{$<~K>Р}b\:-ae >f0a?\U Z/< H[~P9JFSn!' bh[+{nSPߞ4]#Ϳg y#$R6_ KDA5k2Ӻl?c[ŵAM0a7zDGVKz1^* f3 qFtEP᝿ _0Zʂn C;&j9 1*`drEӗ-LkfdTl(O4Y{iƠ-wu$B5NO1JQB 1]"\*4^t SMA'poYX{lpPMzע/2 [Ăj/0V"DSV{T)X8ؾٚ]Xa8NyHmQ}ZZ.4p3/b9`+֜{ 5K1%pA;_ɟyjkuo Zp3Cљo. S)u`f`>3>2? gS1>qgwnq6%Uos8QxðDޠ:;qɖfƊ^C䴃SUZH/5_ E5//NݡtlK^H~ֽCr;fpj\Ik8w6Mc*E^ oi J<Lt渿/ %n7cu|W&kϏۛsyG^60v98!}Y X7 2> YDە`5>x븁^FCpA-MV L/@G0pղcUJsR(wg :~h:UV?CoK雉LH?YIuHfm=c)}$*c-Ƒ@0bJq 谀Ӂ1rBg.IAVNY׮DZvJ+*^X(<4o7ẦMrVVg&'F5y聰)u/@h-cb@۷G@E0~bE܇EՇω?noi0;E gZO. eU.Cvȕkvr#Ehep`BLjyH1q~430 k^I%f4Ԣ Ꮇjt3@+^1F6>2-۞z[`&IHN'}N?_I4q&{:aEdHAl]n-BSOKEFc iki5J"~XkmkGyO”oSܥ;<]#ʼWM:jCSsZ%,1.Ú8SMW$H| a l@ͨQfH!L +y{}6d*+ ,Ad.x,4b/Ms7'~RDs6a|{\W7d 2dDv3{>fTf>o)lH&@'8׿ LRVɂlH\ O7[ᒐ ǛF/WLк3 [rڇ@ӹ7mߞX$hמ}iBipo"okv' 4a[\y5&܆*U\ -'5O9kjL!8;65zzƜ/U]51o#{fzxTHMڥk" nI>Us5(̮0BCt iU֯o%qZפ)Xe!pٛ+: Jgb3\({uZuf]'0 'PUO5qT>aT:+z fNvG5(n7]Wwѹ4-׮`Ou%yYrbK<&[ `` roB;)qRӍ+AT!*S_, r!箌}WE{L=TRc$SH}Ӻg"'+O*c2'&B:ļ/e,jY{`pؕܦ9h[B֎G}~䇼J>uoH*+<>5{tTryF/7Å P˟:.I9&Wl @Ž! × o^Ԭ3pQbz(Uj PJF^󠙒]vz3nN3l<[uʯKI:1T>_iX2A1Ǡ"cɀLPyu44m:&s쟢^is^r3Ca/ ]Abvuh}mٽPsOrCj=Ÿ4k+ M1z,-jgoOULau]ݎSi :*oyn_Z$h%ͦ%Ӛ?:GYBXŅv.~'g@Cd~#sRףYjX8 VCl+e;GmVa*هO9ЩWyNK^0R,+ QD wh~fX#MW}X3̸**X Z& )ˣ6A*&OV܇_IVJ9ԖJ,;[Gn _ 7o!?v<o1wp!mj瀉9[/ ,awROƫx&@:KbǓafɹ]upסkG2- ᠯU99D? M>Dgꍷ˴=eB嵜A?P֙y4 R8LH'WneM fv.Yva yѫi)󇑧Ks~hN%G-!F#WD]z(bQ<~^Xl^".(ם ifn~36'4 =>UjMҩirTmrNgv?[I(aV1v)1Uzz:DhLb 0 rjS7R[+YCq%h.üp'4]uP\6PRbbT^4 R#-ӿ9 e/~ C %Sedaʕ)=bn?y&QӋtRѵ{F~Y,}_Zr i :,(eƒت/?R l`^~]C= p [s^R iڽ8_G4mʬ>9Erݔ8N8h hk`0ݻ2GFnY))*(@7^>?1s,lؚtYڠ.0oMfL& B|[gw5|U[-Ege7(u`>^:Ƹz^@S(xf0|[i!(fKg{Ug)XN鑯7SdKr^f/ SUЗ#+qArC&yș:,Hԥ&]QA,̇c:grsОرŲ bf7T;UH:x >V<ٓS&¤޿ z$X>N.i F'9QC}S1+2DɈ ]{vC線rNk1[GS˞1EH/?6=dqԦ5݂?i2J)pYѼF(J=fr&=e5'mÎ@RAL3S}Vqe3!4HI 9dZO $#2I)>ʣh}k:o\1lʚY@+s±{nZZw X1OnUIy : o Cժ t0P* )'5):|8c );i4h"z,BI'8ˁ؃2mRS;<4ޭ&yşjgw|u p[/7n2!sFoF^x+B*Jd[ٻcc+(p =ⲪJdʂ:ڱ|޻`҉HJkki?#)a9E*o>7Jah5R.RנnW5L{f: 39&!26 oArIZVfn51bHwFl;@GH@vL͐[7jdTuDŮw2ՀE1{kN~T&-3mDىmuz v^&D }ɧ挺-"GRs#"p*@컵vʓj萗h2o5#c+=WԯVBdX鎔]9? xJsE/S;><@)("Mէ }DE_WN$%P7%e958H@LU8IW=52ZL+2|$Bs얎}<'wخ-eP6vV~ Z7oʔ´@odጊt/]DS*S"ՙ5[>jycjiLrȞPɪW}/Xs<fC2 ,dH4{j'*M둤Ϟϐ]!&/\jX@?aAj Gt&,9[2Q-ћ;ZΥ{r\N}t|kV Awp߭^-fmV>5=IP2Quc%gWf&Qa6cDp1)M _W@Zern+Qj09=t|=KiZ8uTqFK(XԆ)G<>bmܗ|+:ŲshCb^@k`PA TLψIM(lS)G!xMFJ7SW$3x6[\ڢѴl) BUk!"2-Mk 4˶`y_~G2 lwP,ͽi () 69lCdiއâ#*F0FҜ.^܄i )*ؽҗG_9 LD }/g zпv?XDWr)t[3n`6/W\u[cOp=כ_ā ;ӝ)2 W3f-n[R<f1Omb{='KJٛ1g+l# x)j7uۇ΃]эp9g)60Qz|zVFh&s(Z &qB?$OǏGeaC1&U^FU䄋6 V9 x,w,GوgƳﲺxCMݾfJiȓX9jPxZ˾"ޞ3j޳Ӏ'*Of h ԃm}H7wCc;;Pӎ #,X:h+'lLw-[ d#p {b+3rb`|l^q`IHYk`ayw<iX~2RhD0RrZIɍB?q wN#ŏ汳n{a/'1vk ǰb410=&qdoA\:7H 7yRw#,mRL.?$n7!t)h,^G2ܣ\?a|Mա1Ԗ*MK}l FBz`o-(YK&qnm]@8o,"|s"I1%Ïi}WB(I]b19x:T΅k cKIb ym^ Ɛ/׉I؇?!TU$ w Z^Ed3f[=8._*04>;n򳨚5r ?ZT]6iCzqƈ樛tx@A2^`s/ޟ e MD,'-8oP *I ;ˈ@܎hӸ(~.N Fb h 56A߽s{1E՞AG10;A;]ė-/i2ePJPޙӌRQO ۇuAWdbu{&ݍ' k ws)e13CυBϖ'2J.݄9 +kvmDw6avH4'k^hs ?D,PM|+"W\u$-tFaD7}`D##S glSxSҕȵXF~cDU'Ci#`1Vɟxtbٕ>T:!:/dv*O ً݈K2BQQ^3! ƽ>u*xZa`P i 2/m,yٳa; 5ՌDXvr.^,$ Y4o7f}O_|T%!L(ygh>s%ZI, /=RJWvro_)H&/ 5crK17>oѼ罧!B\C5otIM l1fO5Yr<2?aF'8m;@OBbAՇZvǜLI: Y&/ɯA$[ά:4{^l@gBr|8`ͦun bmRTVgzT6-4@p`}p5_1& 4,n8#sƱShW&Z3t(ڒFb?J'i>)k|4ʟVVuB뺵@ct7&E;fjYPv!±$ =/nd(PY!8َb˺׿`\K&NEl!%V)ǚΡlֵCBőc\^B} Qn&=y6ԝk n<:0}]OvY,vJžuB8etƦܟ@ˉi<.B+MjYSʾjSxzf!b!/ǧHe[TS`3E_b~hCS yqLbi*TKX?&'Q3AP)#ʐ:0aГo<1~c46Fh m3'.J R/ag$~-&z4zXT) -^e*G=峔xdeBxz ~zMMϧh;3'Q&8P.JWOٳ|M"WCƃFim]:O!QS)G퀪%OrxO>=?B`pF+!=XæΓN2bWpLڛuݶ~gtl#T?p*W+!gXE=k%~NzOkotn<Nd,4U;5uO$ Ԙy!ZgKl,x*\Eb-aS_*gw Eg ޿?o%56$VQ<'|1L~WgvUS{a0Gg"2-'yn %e'GKd@_xSF~O͐*^ȃ/Rɜ4UZHf!?GHT:qaw^ϋAM‹$ Tk4T@5 Oʘ i)u` l>C5e4IY&QٚY&O..c-%}|G&>dVMț MV2tSo£0ޢ 8J?;`E7Gc$cyY%'u؃AUKoK<&ePVB__~b[9Gñ۶nd*g; &oqlϔ[N zѐ)["OVĹ%q{}cvKHv! @g#zȁ.IQS+)] #m3n*>#3lZ<Ƅ;FF:D~KxpViڸFOY- s^3*ރ$US2ޫwl D::e ؔT>n8:hTX18rNba!^-3=0 V۹Q7& G[lI hTZ`飒Qu'ZVO/^=_d2t7&pbsHx?8,n1=V1] 뢢E6[O=Bh~X/=)wq@3ghmV_:r6:2˥Ioi(7j*V̧8eBGVvd^79p\ f !!c8`RBo5EYV\2ڎ}X+g&+~{Aqº G<-/!,꘲ hoq\#*Ϟ)\d vw6^*˯6'fJ±A&5by PhG;kU ˜acWwشA CiݰJ0Q揲KpmlOty|J}wpfQӂevN\ѧ]hLpˢ~n[BiۃɗDЅwpteWfPJE"uoQ!͵f^W]aB,(njh:]֔,?G,?zy9'4*icA '!lO(GG<^n:bռX5Ww7̀~à>g|? γL(J5W-a!&<ʾz&-ʌ) S_-]48g w7zcyFw/~W#s8[x?;"AOUczo :Ct .+U)?Lh?c%b`j~=N緡aA{PlCg%3/kcȱvja!g)A&4Qi<܀hH? )$<ĭa&q\y&Hpg|S{F p @B9Fj0 |]lKC].(=W+U%)Uf3kFnA?{{P0 k>Hu Ԍ آ|g#]@rאAQ ^(dgC:ЂÃmDׇ>3Φmx (S޳RjK.,Z&<ЮB(ˋӾXX0p ANqbhD ~I"Ibh;;t}l0dg¼^Qs;?A)?0p Tf/Wƀ 2A4`x@nS-*ųOcOi)@1M85S;hA۬QCctfNt=L3" ![^.R1x3>7x)8SF؜[ґbbX  -?+($e/zuە;kfh?ݳE[dhmQiK-3rnـQ"^,Z^[=p(F-%BS2A8KECwp\xu8uǹ\  vc1rF"*wh6ID ;d ]L3i8lnR($H*iQ8LXiG\>2l/4Or" ':ś;_NGA~@{)u[8B|]\ef1 x1Ҭݨ"Qf4Y Ws9l*fWNĝEhj\U+6J g5CZv# dڍi>?I 5d}ê0E0$'|pцd dZFd13TY)[t-ᚇS:~CWiГ1ubϠ#WB~(hǔ:>XFbj0\"½AF&HB8'7W|vj[~E_$(w!nWQVL5(h/ ^ڐ 6 {ޣyJ%bR6m Ej+@ϼCRb(_4!?l/Oo#2tM!۷f],owteg-8sfM;_#i5o~5#Nît#d?NVPaQFw(r-QŲol?|Zyc Ff?Rov/cԘJ <'y:2VI,lPHF}B\:ф7]2rz=AKԀ,v}X ~G 0RqT *lӪ| oT@nΣ(OL/xâ/!d-r.R[=iv_O׭;3&ax.be}AGgy5sϟgDErFƛ@w%@3\~tB$ NU ׺eJr#&"}!-<5[N%=*cK*`pՔr3ɒ+(za1Z'NȠ@VjDPPf]( 3 |{-jl)/rF|fm䭥1lxԼh6,&sQф-?M /XQ"ogVɶcl%ڂX,%vNtd ?1B^O7;rޭtRޱ= 3R?9P ?~^SxR-l2PI8Y7l⃬~Jg>ưWzi]&Oʰ/BCX1~i-e) jq^hqKD<8m4UEޒV1TY6R&98݁-7.ѿvS/wM͊@ڊ'9hr:Ø\`O㎲'-p"op ~<¦x]"" _[|TVTlzNjb$uJ\]ۓcj2w{j*8?`jfƇ'`C%lBMgV'~uo&ԙljc4 xS}"NW,}٪afڕIr6oajkp@>B1EqՂۼYt?<oct"%ZA n!v:-=6g"LWou_39ǔL}O- ͍G{N"^Y&N{SLM;=>n9?޶XQ eT+5w,H2:jrv\>87X_x.Yv4-A%?ſvULL:d';gQ~47nЩ?{"f ]:\;ѕ$EabCEM{:mb- 5?61@:B Y)*y坤9oxry,gfudI |QAUM^ba [DVɺ H?DE9霅t=c3_òs̊0'.G eϏcƲ?^?JH"0`٬7K/RRwN ;Z[Q#,P˷M/]6FIY̲jU+HT2~./QFbޜ0K} ݖ” Jى\xKmj|%OybCAd$?{NTP\._±<+s$ Vf6A7kb- }ǝPA$λ§)XЦ@Гq\͆}dr ś}Hx!y G7c_a$;'ej؂\aF M/,&42 X1"T̓(:8o>6QdR/|kkm"6yo 6d9m3s7> p<FtoA(cx*J, jb*b3)zpm?_89cg5 RpǫИ!- 3W 5b< -ChʑL< ;i%+bt|mtq67'3/J-\OِT|9/'>7>eSteTl*L1-OO6Rr" OH`O)H_']<;V#;uSu"rv.f[/β$~K@ ˥O;ܫז&С @WZ" 1I\eN>]MHyf]_[%i늡Xjǀet.'} OKZ1>Vg'\ T>hC_A|ir_93A;\UJG#eh)7=#LdVasdbW4%cH2h:&d9_P`g<#Wq.jMH|7'Xc[ȼ<I` TGNWd\/sQU@#|fP~I߳ 7BIipЯ3c?t%NT  Du;Z2Xڒ `?4e\LE.Qy]_;3 N85׭{>9%2/GׁXl8 ki۰tn y\{[tmRXԼoȖl&oN޵!i=¨,ka!zї{MDV{ȳߜ^^"^g~UYR$L⼼Ywe|ŔĪq۽/e[]Y|+bL_1վ@ʎ`4*w&.y˕!;UѐQR1mJ/.h~+NU^*)лX(ȠIAln_}pﳆ]܏Wb VvzX{ vʫ4?`>3.Ky3м?ƯJSρ9=є]V,,pbuM#- ^5E;~ @\RAqRhp7N #wCcJ~լ b$]?o:oO 5bgUQݖ.\3hZCf?HjZ9B*>PEq*۹(+sqԂ"9q2 'Wus^^k-!뭍f<:K+'cS. }{\.ސyN#_7Fv$pIKH_;FE O7J߻(>Ml(S㟫ӗyY3Cq7 Vnkm^3"_ KqRgrޖQ%w?Y^E]/Z c [r{3QdȑlXx%_Ncc{M'qe +HWw' ?n|ayonyQ}8H9FV M/c/Vu7 iJ[^$ ?wh;wC=ńDG}BC>|qT$!.ŢІgo Cÿ1,ӥwR& ŠZܰČS8> `M*_| ԳWι.Re_aI'4}?^B0v<Ӣf+PT< O B&NpW" p*\pPc02y02eJ~h +2V%İN%Zӕf:=jsT;CNy ԦE2E䤧kE~(]z/jImmd'lqD-աpDWE#JѪӤ\b1c03f<˪=RwkƇb*`ybcsi =?^p6Q018ߴ"z td{qԽ9R%z5J4ᤣiPLǃf6![ް!ŴpXKM8U7 =`^6lƵ!'RDo(+?+R Jն]%ݕ]1:פlH.'#Fķie!IŊ>/D\~R.)z+ɂб8smT`R}[Em<%UF[D E|"`02ĸƟx-H<)nX] 8H%oh]QWn ZN7٫)/INoBWJ E<,Z<;ΦևOkD1Ӓ+IǂE:`ܰW{k8{ ZlJ<A0X= ]܀RVFƜqWTaImm;WyQ8:5VZ/:"{p@W1yFW CJ:4! BJv6[m&_zBP#LɡQ"]:YK#w2!f gTmHq޲nl>o/(]R]RU$ήwEqX3s PTHoT}Jpow#HR h]`iOnMjc04 }֠K #- ̣rw /X+\Kښ5R>i9ʰW9*Jg}#sZ_4e5Qq֡Q T`qSw2Ic'CN0_r"' ,:c[A!ImP}hq[tcSrKY.8&ipN Xq9_k CnCJ w,4j Ŝ?ce8ga`͝ IL!d'%G± XbCF?'oK4EZ]7-E-8F ũN 4JA_mgRw_|.Qu)J7Teq: ?tgU'݂ yA:CYAdQXN OZ;F.=mւ%,ICiW{ldž.J|GFvNy\~1ZF38 ;W[9xj*n6~[Ղ"4w0d\.pk2{p*t~ADZշ[$*kY԰Ax =}@>/֮MhaEL0L5F>`(tTTٔf%q}V6Ұ^pKnnUTg~GDz9~{rE~OdsM`Pj:aʖnk [֌3GQӍ;uib-~ET5Cg4OwԽ1{=}4mM]j[ b"Qπ4St ^ P$A& ]@^I:`~,8 Pַ4+,U2[ufĉayeh6h%yMWk " qihN}q]b#$SI*uDƯpWAKQ}v.O AGwUͶ뱵4R"`r!Bظ<ZsP*RPAc#ZvX&_TRX?TwՆr[YdPzOut|@.YQ? * C{wqZo!;ZV ^@8Zއ֌o(ណ繾B4x]|oZ8řד#QݸYOAJD}\U,pHqN`mFᫍ-/FvxRet$GX:a?.'FnCafjӫrrGvFĈmW,CҪnP{+?T~(fT(axiCNR}(mqB!?ZA$eLYgtO'Xaz*αQ}Ag{!<EQ?٪_kArIE'}A5©5Qas${KE&IF6#dPb:pW0 2uZ3:kw|aΕ~ z/Mщ᥇{}enIjppR2=Ы.;00@K]S_ Ш4;5Cƕ*ݽמdxEЯbQ}aE 8ԹxT R2hkuj-B8SS*R }3]b^`sZ2޳R#4l&3;nQw`kZ V[Gq`rpyu0|:Ū=(7E҇Hx#ni%8b˻mW(NFY/lQXx\7d;=`O,961cm w8-3( 3w:eQFQͅP9E'\$+ņ!<6;qQY]{-t|\T9L?|dLVopUl8<ɞ#yP[`]{lXg?6ae:{JDj D2 C̠Y6si|!s&|}TOO$t*Wc(蹭KR?kNꀜ^ߌ~CQv\}ej$_Vaѿvo5g]GG쌁J+Ԋεl)F T4*YO _%b{bIwZlImXp⥪#m,KHن³3ۃ/I#S3w(j425;8I@ʖ ȉsvmk={q c%`]#m /cS◇y$ BD=TG?#̎`ZLJm2б0$]w쉳j Ebj(s13^ͯ0ek"]M*@kg(S tARD(M:x\j .::ebϨ~/`,i k#e{3y24lcskGIpJɋ`CvVzy$o; Y v}u%2SJC536*Ӧ vMξZ!^) WgdP7@xOB9&?!skFykL:&Ff2(#[ۺf0~wOF?^j|HEv[SNfMӾ2ʀ _Yҟ899YlCW-vB P*~mK}cv|ܘ_2ra07PbU#0[ٟSjB_;uާa!$u۔S*{Kg܀*&%G%/:r8@gafQW){FowCb Mˌj*> ͠/C]u<+qg䈙= Oq:ΧzӱQ!,L6٣IOŠ] fmtY`i]Fe㲅 YT-_aT(? z.?jJڸf! lqx,{)"0ى ʃ=OQ+\@|8$4sv|>~>I(UFKrC"w Mvv<ܤ ړigR@P"u|?UÅOnNƢLa1;E3a2w7ER.SZU/|NC-GBa%g6vWVŔ%M~8M'HqHwrjitCYrĊ 1lяؕA!NtnŒeb62cULu=hRג}'RS9|(佐 *'G>>J.yi:!I[$2it摼E/@" NeCDD,d%i2"׺ǐ#'AIܪ̲<[BrF2NE!t\l&_J0X0r윬Ub]2Jd%N88<8ש}AԷF-;yտOTZlSvc!T]0߈ c!eDS{&Qf{"dfWu2l~xn&3:ɱG개wGW}d,@3?-3O`TR$C?>~NE"7&A 9.p/<քIٷת D;vau}4dK0B?2 Kl# _hRqUbFy7kdI n"AC1zя6<+Iu20)OUA;Ⲅ zHmS}!41pfp{$ZES)?h;ݺ mzFF8ӋX;f/#'q$ZEMiA¯wz%; ji>bQl_WWGe{RIrtdӮfòFgх1kG@ #^`0fSwzc/ 8+*If"F;]Aߎ:fc @*&ewN&TTOޙ7hl BL5˂gC $p?lHu/dki~ze)pc#9ֹ)YI5VY:uʟߵ =Fe_ 4{}pP Bu9.UMsKRȺEx2.{'1i>; 4!A6{\&q| S/)Via[LKh)ՅY$j2d[Yn;#5qlXtEe np\ռ>5,6p!Ǧr _~][~~]W9ZjaC_BIMA_Y!8K6rwLqtR{uQo Iܵ̒Z=s*r8ƨnW!ai/-!~o蕆ֈɟ$h6Q|'ENgnucrJ7 h'p5+/M>9s?N'K?gVFNs6aIMQgC)uJ2È6nTG9Bt&ܢ!2U~4U%ۧa) y!_ZۇpE>^, $=RŤ`njף$L2|iw ohBR9V]7RR%NǥEDlC*7W|k͡vJO>Vrlhd!W١WTįW$ԯJIZ%f^!,mPK w>x1T!xשUMK:b;hv!F(r_Nc*#z!K;`cA+^e+|~}*3J %Xx8} Hk,ꎉKiE>6? hxxn ҃? (+K]3#3t]R??PAn9۬BIZ? O )DC\!a~ٚi`^sbeNjayfY7!N7JZrc!@w8=XPTKGc5.K,3ݰp~Q wө\gF6I(pW^u+BU^dGƯ1\,gsM.(=DbmJTEs# N1#@Yʰ "䕅ҮzG2.pTO ng'$ۺY rY!troJV7gkArv6q~Ac^HI@iX8ߑt:ܱT(ER;z~Pi0xUFȔ j%"(b]wP=FsK?"hb]vۧ+ܠ"TD#jy؈[CwM0@0b@hnx8,4emRL?`S[⤽ #D/f'ch|hu[VyR‡Dv t =f$˞D]p 2Q쀬UO_j\~jƈ, 4,-}ȕ5aH]̬k8}"(yH.4՚a5>)rr ֶWK/M$ &^7U}S9=nedCEJhchp2Eo.pމ ?ThtE FE:3-mg~t#kZv[mb=_G:= )<}PAm;fIS$S5 `c^݄l|i0!yہϟhSBv|w=G#^^+,tLRu@"M"SԐM!OՑFj6t< V#۝iBf@© GnsCУdLU-C[S54~r`dsdSۿy<|%ʀ?"-]&TŔz'BY(vH?Ls@~ҡ.c>A.e%0{\Hyyop~$Tݽnlڬ gH-rDYaH'lE+0+n#/"_Cd ;,|XGccX1X 85n #׾'?YoFZ>mjIq$RULֲ6Hp6q0%>sn:'8|ڮt&`&N%slb5 bot~є:\hCE&܄*"Hk._η+gdsHڂ,bk0e!1^s+J(rafԙ8&toc-2GKX(%i#tЦڴ,%"eg,fOJ aerNJd*w%5T> х8eUe* k[%?@EU6٦eqEp_#gCl]{HEFdt7 g^.^%Amtz0ow~*# >!jD=ѢJbZ*n)@~"*6Vx@ULkB ԁHՕ ʹ0*ţ}SB! ^,z;8lU\kF6 c~$.dRRkt.S'R$sRH]PeVihuT<,w"1uZ #Gz#EPO=wta+;kN~fш-ɌKb aKd {`sɠYw˦MNkl<z8Y/YeѺfc8RL8`1Ş À@u/4#8liv7̛Gb̊:{՜StyeT60l$F묰؎*G3ݢ^lFS X_(,sk{ɷ̾ V*B fUIZ\~ZL^&֮?O#g [#3vjLɩRjI{;,NQ@;>'TXC ",ApI& 8S qQ1{ F~ Z4 Oѵ }שׁYàUn *U#]b#3ͨƇ UEX\M +`Y`cMj-jR̳/͕/.Zj;ĵlB76/-Ƅ޽>⾵#M3wm@[kz608ED޼ SyJmϜ[|vVeƟOoC_8og~I~HJ(-;+ggH+`2,^ -N9x+謒:Bi.Ip5ǧ7gb&X0j1Ē8UaX6( }A,J-#՘?0rx\ׂ ɹ}0x Nx]f}NrGHR㄂D@7RAݦQFeHwIxI"fPsr.R^ CdoFjycOF5#q) `'"(0$)p#jsA |Jv JVFrB'S(7q772T!D"5T0=.@'*6rB+}4PenS=^Rui5)lH:o$d/?Sy*I >J⪁Byûw'Qi{g/B@Q@NEA9zr%Q jZmCqێL0-J]s9Nk ^"sV_]K)Wt$-R#.XɷQ !J^S@Vtm$GԲ><+rhas0?ݪ=miMʤekUS孢&GJ"NJjӵ+` G2Nx.֍({i ampts