From c7900d44e21f90ecfab15495b37d12dff5e96551 Mon Sep 17 00:00:00 2001 From: Kern Sibbald Date: Mon, 19 Sep 2005 17:00:05 +0000 Subject: [PATCH] Fix temp file security problem + remove linux/floppy --- rescue/linux/floppy/.cvsignore | 10 -- rescue/linux/floppy/Makefile.in | 57 ------- rescue/linux/floppy/backup.etc.list | 13 -- rescue/linux/floppy/format_floppy | 26 ---- rescue/linux/floppy/getdiskinfo | 223 --------------------------- rescue/linux/floppy/make_rescue_disk | 100 ------------ rescue/linux/floppy/restore_etc | 10 -- rescue/linux/floppy/run_grub | 23 --- rescue/linux/floppy/run_lilo | 7 - rescue/linux/floppy/sfdisk.bz2 | Bin 18656 -> 0 bytes rescue/version.h | 6 +- 11 files changed, 3 insertions(+), 472 deletions(-) delete mode 100644 rescue/linux/floppy/.cvsignore delete mode 100755 rescue/linux/floppy/Makefile.in delete mode 100644 rescue/linux/floppy/backup.etc.list delete mode 100755 rescue/linux/floppy/format_floppy delete mode 100755 rescue/linux/floppy/getdiskinfo delete mode 100755 rescue/linux/floppy/make_rescue_disk delete mode 100755 rescue/linux/floppy/restore_etc delete mode 100755 rescue/linux/floppy/run_grub delete mode 100755 rescue/linux/floppy/run_lilo delete mode 100644 rescue/linux/floppy/sfdisk.bz2 diff --git a/rescue/linux/floppy/.cvsignore b/rescue/linux/floppy/.cvsignore deleted file mode 100644 index ee40e78..0000000 --- a/rescue/linux/floppy/.cvsignore +++ /dev/null @@ -1,10 +0,0 @@ -Makefile -diskinfo -format.hda -mount_drives -partition.hda -sfdisk -start_network -1 -bacula-fd -bacula-fd.conf diff --git a/rescue/linux/floppy/Makefile.in b/rescue/linux/floppy/Makefile.in deleted file mode 100755 index ed51354..0000000 --- a/rescue/linux/floppy/Makefile.in +++ /dev/null @@ -1,57 +0,0 @@ -# -# bootstrap/linux Makefile.in -# -# Version $Id$ -# -@MCOMMON@ - -working_dir=@working_dir@ - -srcdir = @srcdir@ -VPATH = @srcdir@ -.PATH: @srcdir@ -topdir = ../.. -thisdir = linux - - -first_rule: all -dummy: - -MKDIR = $(topdir)/autoconf/mkinstalldirs - -#------------------------------------------------------------------------- - -all: Makefile - -depend: - - -#------------------------------------------------------------------------- - - -install: - -uninstall: - -Makefile: Makefile.in - cd $(topdir) \ - && CONFIG_FILES=$(thisdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status - -Makefiles: - $(SHELL) config.status - -clean: - @$(RMF) *~ 1 2 3 - @$(RMF) format.* partition.* start_network mount_drives - @$(RMF) sfdisk bacula-fd bacula-fd.gz bacula-fd.conf - @$(RMF) -r diskinfo - -# clean for distribution -distclean: clean - @$(RMF) Makefile - @$(RMF) -r CVS - -devclean: clean - @$(RMF) Makefile - -# ------------------------------------------------------------------------ diff --git a/rescue/linux/floppy/backup.etc.list b/rescue/linux/floppy/backup.etc.list deleted file mode 100644 index 43855e6..0000000 --- a/rescue/linux/floppy/backup.etc.list +++ /dev/null @@ -1,13 +0,0 @@ -/etc/exports -/etc/fstab -/etc/group -/etc/gshadow -/etc/host.conf -/etc/hosts -/etc/hosts.allow -/etc/hosts.deny -/etc/modules.conf -/etc/passwd -/etc/resolv.conf -/etc/shadow -/etc/sysconfig diff --git a/rescue/linux/floppy/format_floppy b/rescue/linux/floppy/format_floppy deleted file mode 100755 index 39e43be..0000000 --- a/rescue/linux/floppy/format_floppy +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/sh -# -# Format Floppy -# -export LANG=C -echo "" -echo "This script will format your floppy" -echo "" -echo "IT WILL DESTROY ALL DATA ON THE FLOPPY !!!!" -echo "" -echo -n "Are you sure you want to continue? (yes/no): " -read a -if [ x$a != xyes ] ; then - exit 1 -fi -echo -n "Do you want to do a block check (takes time)? (yes/no): " -read a -if [ x$a = xyes ] ; then - check="-c" -else - check= -fi -echo "" -echo "Formating /dev/fd0 -- ext2 partition" -mke2fs -v $check /dev/fd0 -echo "" diff --git a/rescue/linux/floppy/getdiskinfo b/rescue/linux/floppy/getdiskinfo deleted file mode 100755 index 61785bb..0000000 --- a/rescue/linux/floppy/getdiskinfo +++ /dev/null @@ -1,223 +0,0 @@ -#!/bin/sh -# -# Create bootstrap information files -- prelude to creating a -# Bacula Rescue Disk -# -# Kern Sibbald, December MMII -# This source distributed under the GPL -# -export LANG=C -di=diskinfo -cwd=`pwd` -host=`uname -s` - -case $host in - Linux) - ;; - FreeBSD | SunOS | IRIX) - echo "" - echo "This code is not yet adapted to this OS" - exit 1 - ;; - *) - echo "" - echo "Unknown operating system type: $host" - exit 1 - ;; -esac -if [ ! `whoami` = "root" ] ; then - echo "" - echo "You need to be root to run this, otherwise" - echo "sfdisk produces no output. Continuing anyway ..." - echo "" -fi - -# -# First collect information -# -rm -rf format.* partition.* $di -echo "Begin collecting system info ..." -mkdir -p $di -cd $di -mount -l >mount.bsi -mount -l -t ext2 >mount.ext2.bsi -mount -l -t ext3 >mount.ext3.bsi -cp /etc/fstab fstab.bsi -cp /etc/mtab mtab.bsi -df -Tl >df.bsi -sfdisk -s >sfdisk.disks.bsi -grep "^/dev/" sfdisk.disks.bsi | sed -n 's%\(^/dev/[A-Za-z]*\):.*$%\1%p' >disks.bsi -for i in `cat disks.bsi`; do - j=`echo $i | cut -c6-` - sfdisk -l $i >sfdisk.$j.bsi - sfdisk -d $i >sfdisk.make.$j.bsi -done -route -n >route.bsi -ifconfig >ifconfig.bsi -echo "Done collecting info." - -# -# Done collecting information -# - - -echo "Begin creating scripts ..." -# -# First create partitioning script(s) -# -for i in `cat disks.bsi`; do - j=`echo $i | cut -c6-` - cat >$cwd/partition.$j <$cwd/format.$j <>$cwd/format.$j - echo "mkswap $check $disk" >>$cwd/format.$j - echo "echo \"\"" >>$cwd/format.$j - done - # Find ext2 partitions in mount output - k=`grep "^$i" mount.ext2.bsi | cut -d ' ' -f 1` - for disk in $k; do - echo "echo \"Formating $disk -- ext2 partition\"" >>$cwd/format.$j - label=`grep "^$disk" mount.ext2.bsi | cut -d ' ' -f 7 | cut -c2- | cut -d ] -f 1` - if [ x$label = x ] ; then - echo "mke2fs -v \$check $disk" >>$cwd/format.$j - else - echo "mke2fs -v \$check -L $label $disk" >>$cwd/format.$j - fi - echo "echo \"\"" >>$cwd/format.$j - done - # Find ext3 partitions in mount output - k=`grep "^$i" mount.ext3.bsi | cut -d ' ' -f 1` - for disk in $k; do - echo "echo \"Formating $disk -- ext3 partition\"" >>$cwd/format.$j - label=`grep "^$disk" mount.ext3.bsi | cut -d ' ' -f 7 | cut -c2- | cut -d ] -f 1` - if [ x$label = x ] ; then - echo "mke2fs -v -j \$check $disk" >>$cwd/format.$j - else - echo "mke2fs -v -j \$check -L $label $disk" >>$cwd/format.$j - fi - echo "echo \"\"" >>$cwd/format.$j - done - chmod 755 $cwd/format.$j -done - -cd $cwd - -# -# Create network start script -# -host=`hostname` -ip=`host $host | cut -d ' ' -f 4` -if [ $ip = "out;" ] ; then - ip=`ifconfig | grep inet | head -1 | sed -n 's/\ \+inet addr:\([0-9]\+\(\.[0-9]\+\)\{3\}\).*/\1/p'` -fi -cat >start_network <mount_drives </tmp/1$$ -sed -n 's/\(^.*\)\ on\ \(.*\)\ type.*$/\1 \/mnt\/disk\2/p' $di/mount.ext3.bsi >>/tmp/1$$ -sed -n 's/\(^.*\)\ on\ \(.*\)\ type.*$/\1 \/mnt\/disk\2/p' $di/mount.rei.bsi >>/tmp/1$$ -# sort so that / is first -sort -k 2 /tmp/2$$ -# output mkdir followed by its mount -sed -n 's/\(^.*\)\ \(.*$\)/mkdir -p \2\nmount \1 \2/p' /tmp/2$$ >>mount_drives -rm -f /tmp/1$$ /tmp/2$$ -rm -f /tmp/1$$ - -chmod 755 mount_drives - -# copy sfdisk so we will have it -cp -f /sbin/sfdisk . -echo "Done building scripts." -echo " " -echo "You might want to do a:" -echo " " -echo "chown -R uuuu:gggg *" -echo " " -echo "where uuuu is your userid and gggg is your group" -echo "so that you can access all the files as non-root" -echo " " diff --git a/rescue/linux/floppy/make_rescue_disk b/rescue/linux/floppy/make_rescue_disk deleted file mode 100755 index 3ea2688..0000000 --- a/rescue/linux/floppy/make_rescue_disk +++ /dev/null @@ -1,100 +0,0 @@ -#!/bin/sh -# -# Script to make a Bacula "rescue" disk -# -export LANG=C -device=/mnt/floppy -dev=/dev/fd0 - -# Print Usage message -usage () { - cat <&1 >/dev/null -if [ $? = 0 ] ; then - mounted=1 -else - mounted=0 -fi -mke2fs $dev -mount $dev $device 2>&1 >/dev/null - -if [ x$make_bacula = "xyes" ] ; then - ./make_static_bacula -fi - -if [ x$copy_bacula = "xyes" -a ! -e bacula-fd ] ; then - echo " " - echo "bacula-fd not found. If you want Bacula on this" - echo "rescue disk please run \"make_static_bacula\" first." - echo "Continuing anyway ..." - echo " " - exit 1 - have_bacula=no -else - echo "Stripping and compressing Bacula" - strip bacula-fd - gzip bacula-fd - have_bacula=yes -fi - -echo "Copying files to $device" -cp -a . $device - -if [ x$copy_etc = "xyes" ] ; then - echo "Tarring /etc files to $device" - tar --create --gzip --file $device/etc.gz --files-from backup.etc.list -fi - -if [ x$have_bacula = "xyes" ] ; then - rm -f bacula-fd.gz bacula-fd.conf -fi -sync -if [ $mounted = 0 ] ; then - umount $device -fi diff --git a/rescue/linux/floppy/restore_etc b/rescue/linux/floppy/restore_etc deleted file mode 100755 index ea2239e..0000000 --- a/rescue/linux/floppy/restore_etc +++ /dev/null @@ -1,10 +0,0 @@ -#!/bin/sh -# -# Note, this creates the directory etc, so if you want -# the files to go into the real /etc, you must be one -# level up when executing it. Otherwise you end up with -# a /etc/etc directory. -# -export LANG=C -device=/mnt/floppy -tar -v -z -f $device/etc.gz diff --git a/rescue/linux/floppy/run_grub b/rescue/linux/floppy/run_grub deleted file mode 100755 index b00c796..0000000 --- a/rescue/linux/floppy/run_grub +++ /dev/null @@ -1,23 +0,0 @@ -#!/bin/sh -# -# Script to run grub to recreate the MBR -# -export LANG=C -# Find boot partition if any -bootp=`grep "^/dev/.*\ on\ /boot" diskinfo/mount.bsi | cut -d ' ' -f 1` -# find boot device -if [ x$bootp != x ] ; then - bootdev=`echo $bootp | cut -c1-8` -else - bootdev=`grep "^/dev/.*\ on\ /" diskinfo/mount.bsi | cut -c1-8` -fi -echo "Boot device is $bootdev" -echo " " -echo "To manually install grub, enter:" -echo "chroot /mnt/disk" -echo "/sbin/grub-install $bootdev" -echo " " -echo "Attempting to install grub ..." -echo " " -chroot /mnt/disk /sbin/grub-install $bootdev -sync diff --git a/rescue/linux/floppy/run_lilo b/rescue/linux/floppy/run_lilo deleted file mode 100755 index 7151a14..0000000 --- a/rescue/linux/floppy/run_lilo +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh -# -# Script to run lilo and re-create the MBR -# -export LANG=C -chroot /mnt/disk /sbin/lilo -v -C /etc/lilo.conf -sync diff --git a/rescue/linux/floppy/sfdisk.bz2 b/rescue/linux/floppy/sfdisk.bz2 deleted file mode 100644 index 3e269c31b9e33ff7917181a7af94f2fafce10349..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 18656 zcmaf4^H(K~(~h^gb=vIOYmewB0AJ+I>Y1z_fVkZKmYxIwJ)y635EJm2BXuv>+qLPfF%FpoYwo%VW)e4erH@6 zx<^q7crkgBk<-;X?e0Wc9CU|Jh~(KllmGYlp=D*M@XF<-w|a}DYsGLqe#z6fOb}G> z;X$w^X0UU$Q&T7Cq9qpE+p1VTv{Mp4-EQd#nC-l2UEJEhB=+6CYIo{(LjbhI-9Bxx z3MF)}uDZ92Tn!Mv?!G+2Q0Dm!8>`WVzeCzT+w8!!#d7wQfe#xSBiUNVXvXuxBDyY~9h5(a70SZ0T zx}vH)yCU@;Yn+md0F;_JNtTk@P<}-@(s{*stbziU0>ylIL{<4hBzjY}6+(&h#E1!A z78GNOZrGzeqNs6pjZ|pu(5j1Q7I~% z2iUM?o0+Q7R1#Ph3W}8Hm&b-EKqt-v0s(Qb%NW*_(s7hCO3H%lAn|9Pie$U&{PHXy zKFGQvHK5e$e=Rkk7V) zE`$}vi;ZK4vVtN2LJK&VScE}h*h zNl;e_p`K^V`hz&|`rVvy;Hlxp%^mFx;v--hRuCD$XrBYhkR2{u*w-~n(wEmrF)riz zmk1Xsi8?KBR6!g>Anlch(bs(ti~boMCwE{Ak5mlfv&&Q|YH;1YUGChMXgepvodnw_ z4MUK2gt1*Orbnt}i!TZqjf4xA576^o)L-qK35DFbRfby40!c?}41u1E)xw8@hN|4x z>*_f3p&~#o}vZ*B~qH9IM4{Nka9aq;3H>b{Eq1)?1>?mHybQU zROuwkoinn=(KkOR7Whv|WBWyQeS7JnDtmP219NpV_hsz2^w_E1?f31A62plBzsG8M19Ee&K7~O@M$e%6S?a7oKKE30^Br;M zt?z_)$oT1*p08z5^pZXo<-L{7C*^Ltct22=1Z(UE_tr%poZ|QoG7f~%KP3mf@)@X~ zLzSx+I(}~igbD#ne@mj6`5yM=b8St9eI0AW7+xnjz1QZ(R9VU*#;W~AoxCFkxrsK= zOX|J9GyfAxfw5IjFwdEr+!4|_ur@Qc>;BN9*qf%9_q#qu&sA)5qD{87O)a`nte4^n zj#+vV{NZms>}>feQJB?#pE6t?Yy7z9W;bG)$J|eIB{f>V)|tBelHbXb2O4EL6Y1UP zHB?w)x3mVrG|Ci;=Jz7n!=V}V{2DI2J8bDO&Zqdk+;iEOPCHf}hL zj7&bCXdA^O#-Ya$Ay=55n4CQM7WwgYcQ&W|;kfYRx)5K!?^Nf;5P5S6Cy)*2ae@)R zxoFPzaDk18_~kJ{pa%zkh1by1@W|NWRN4q-f8~~_o&4&yqH=;VFqY%%n2xP4j`uk) z?3Q&6qY21tLK`ri2t7G30;14Vo4np23JomWQf62UjU}WWl&y+%CF2BM(vT4(R9rJA zUVi1JQC}n6{InV1!#{4qTxR!xz{(4Dmq-cnXtDN|Ra_TQFo;=wY$ujxb6>ZM;Pe;m zm87`0_gYrwr(fqfPWR_}U(pncwcNLy3BLXP^wyP+8#uEeHpPlqq$!oTNOpYgOW@Vt zYSuS;;sp5X_X$eqkfMIeV%w3`An{1q(@Mnt!)byA7dzKOPuLJP;o6`!3;6ckj(t$$ z+jkjtSpu**!l)sj;OTTz5Sszkv{Sq8D2Fedjz&9cUc1zKll8h-e&U!qy|Y^#D~X(- zkUzI?olx5{$-8|Gyz&mET8HqF@E9$ig2Ol1CWDRv$j*o!u8R$iSOaHnGT9{aYUS1P z3%#@=Z=6Dt*;9jDIMQIxiU; zzo%DJtB_Q6ux9>4z(S3*fIzW@i}O+g+WyrkT998Z5^yNehhl+2OXi+FhhhfC9s@4V)=^k z7mGWcl4wPjT=@X=bi3Xf-KI)luXUN)6YvRnc_Y6Cu~%AU$&F}9IgU$MCKW{mBhbd0 z>~y;trXo<$^@j$BULB;6;PIWV2-Al# ziiQS5(bTBt|J~N$dsEso+1CNW64TYgK+EWsgpaFJA@1hn>rH&ZY?M#hOV+b@hjNI{ zWBZy86RANs1nZ6Rtl0PNsw#O+m+zK!tg(zNu>;bwZ=5mVV=^nX)Vv8p`F4ndh$BN! zV<=tYdC`q}%<*mtFF6$K9J#(YfEE#$92DAPKw3v`bdN?qO)U=XXPG^Z+V?5JN!Y>t zHL@1V>0qBaxgQAYkHk!3?UoM7&VAk~Nk|a08x@n;m9VI5d+aMARR(9*`%W&${L*0X&Gw+kb;ItNbd znxAo8N^#xql#JhkqqhmJjZ;^=L{*#w)K~N4Uzg<7I1bc0Gkw}03Nzetpyf(VF820K zUT7S#IXPDiEh@yP{R}w5dunzHyhs8nSW&i8Kt<2 zKj0W6wEp*-T>|QI`tQK>h?@n0{{WvraTHDB6mF%)T2#^>v``Yv)pzE>MTH1tBw-tP zB_H4qL#?@gbv*q?C!ef$2GB2#JmAmHNaDK_6m0NnJKL^{K+Z|u?$3zs#{X2zzxyw4 zym)PiRz@9V4Ob@uCH_Pw2D2$5#oWFlGjwXA2Xb&7^MhlO$fBg5;;q2mcb4ghibxMb{`8kqAT~wsO3UlaqD!Fi?JHWsFL|^y13^R`rQ1T!=AogViqc#K_kmA| z>2jC2V<>|mj9J-e9%m@JM;}eO-47oFT{(rXd(J&f;KN@{ssCDt=H~`*O<{oG;Ith zeHb)}O$ujX)01z$XhU8Tc$(JRpBo>3t)eF^5E`RhY?DKa=og>fG)aJck z@SX3jQf_(MCRpO^^2r%bopTzz_jRf>kvf|#ZsJFgF|qLg5h_N9C3~K?C!RppH(P@YWs`2 z`^n`*>&6|c_SG?R0#hi*Ulou8j$ye4W>>q6^fTC=vUu5vwx?hz@P;WVVn1+*5b+Z9 zVka!>Z1^GnH8HB`5LFkQkA{6{CvCvyh*Y+bU2Faw@Vyh z3resX_6KhyNpR0JOLROeLn>GCKu54{IMPLnDW;x&q#r0p6F5e8q#KHA?sVRoIYq@C zKWPR~wdm8gY`bv7!ql;}8^v&j?WKGCl(|7T>wFp-h?M1`wLr0Cw>;oJ5X-a(O^1SY zMmzhU9jOJRUDE1toNF`Fk~`a#D`Rs$tkHei*437yKUIPv6+7{0KdLYsK30K)mfJzQ zW_Bo6_Z;Xm_mnRtMwL2Wpy4d>fR#6_Bk&WV*7JVzl}W;rBNnxWML(m2nWtnnFFea# z`37npSW-f!!oCQC8qCD8oLnmG1;*bUPx$pjol4oE8fiV8UofBBY_?bq_jIlQ_Vq<( zBKYN2D7W)+PaJuf_C1FXxatLG1`IS6-c%mK6Qkg&=$lSZ($yjW*&5JGTL5vbLVgD$ z2_!US>bCBos&{N1m@cVM&mBN| zxyp-<0aJpbsEQ?O9i*Y+HZ*#J{DWlB$b^RPdgey_@%yf4neSh8h zsv8>Th?{G*7rQG-u)Fp2>HUdSJ=sOQ46B6JR7MgyUL#vBCN>^@Ph99q_6=d^l48~N z=?w~I;k*nAE#06U ziHxNp7Qf7Jq94xERVI$Z$nH$0BxV^XPn?BVN}>VNGtc&EK;@T$qjsTIz@(vRw3J04 zXUGO_P4aXT)&>4L@^=#On^a!}1x(L3pHi>%n7rFJ*j5q> z%TcK#V33;nHc_J>Yja?X<*X4CSle}(&NyleWX*Sy{sx!G801%W)S!uWO0E6pVcu^I zEx=FT;7QB%=u~5^mMO697Y!3_LFbBSWG%R(A?iP{Wi6`?sXAp zuEPs=xvK~rOhl`f-Qa4zH5`HDmNvg_LO_Km>6S=cO(vayuStP*-vW!N(3jWXafTce z;=~b7KNBj+8Z#BA_mX-fTF$W~)%uhToP;CVa)E|O~I)z#7fm+B8 zGX~KSr<83o9nhxTT&;`uMErxVzqx$m!db@v`fh_Ws49(ZC{ zA4eO}b=d_HPpHIlEK)dMUtQxwm~L>M4}?`aYFnI3(ogzh%HRb2bY*NCv~yGHrCmUTHo2s|E>L+xIYj&K4}P>>y&o_Y9XYlOSFr%n0V*ku-A-i(EZD}fJZ z>WgWE@^W$YG5ZSZdsYg`Cf?>vU*uLYdNx@9N=hafo@SplqS&eJUYIRHY<@nGWam;4 z#V$ug7=Qum5ky7}eQ13oh8I9D0PGJ8r4VhLs3*ux1$(R<)AO7{#KfzUBq>U8B#e4z zlvdW(8WAulWIF1L``$k^INLN*R$3QT+uAx~^^+g$w5w1w%W4=`PwFM6UM{uUO-^EK zG;8%b-Rfc`x<%5_*}!{ju^&XJsCy|}gnx3VfTm8LlhXM>2N>8{`Fz?f@f2nHFhFY4 z6fciiG1-XlhLsWvy5-`ckC4GgBSW`Pz6=4LEd~N^)X1T;ewd+{3rv<=wb{Wixmw~= zB1gC~ei+_x?PN-!a@2fnngU&6u`;hh8cmSV&eykhovacKpH@C3UWm6cL;x|z+}cdg z{n9C4B0_DF0@{G~3mb~rax@gNLw4kG8&?kn4~29_0vAnWM>3l%+K?!mXIgVz zwj{00=Hm$TGB8$8scfJN3{pw9<7)KQ$fU&WEM`YG_#(v?l%ZLwmz$%X(3jc zp=(5Eah0%+?|HoabZ!fgJlLjtgojtjKVZ62wJaRo3|dB z#L8d@F-AX}!!P7?^SI8P*KMN$b)+=SNds3=JUTrM4s#gAM9 z*aeBsiY!1VsTvY;c1BuLgT9+FuUAnA95OS543nIvQ)ZLcPvL)v*yhDxh+NYk6`SyC zuOY(ZbtNDbwSX8LX5g&eP89E%e4%rlj@$cNei8KWnwr;;j?8Y=<}#O`A zOZi^=@{K{bK)gh`AOmx(F+tB#A}u0Qg|S-$JfJjENF3@xy4^L0v^&Z&Y$BJ|BzrhE zH_D?WAma7sq*nxpG)ak<1%c=m=R~g~97<%TZ!V{| z3ZyzMsQ>0Fle=;Bk_uEf+#vVxRKa+E$T_|s6>)J~q@sZmn3f%nRl(vp*LInI1r5H| z211cM>X##{vF3e6mrx}0`16b=Irm$z|hdvwt0WH<5c>E>o#<0?UXoC2!NsKdvW ze_kv3ZAa~ve_U(q_8#{_ynP9Jc!<@J{_ZAq1Fgf3l|7y3%1if7+!3rGzhXc5^MqV?&n&1URY-{<4uM{~Jf zUj{*&asMKqw zG>F&NcbK*-nS>%KoCP%D?{|geY$G}k{6-0_e~axDQt>#dVDY@ z^d~`!9iLzoTPpyJm?9C|oV!cNj)e}duj&HpV&5md23=|yV8$&#=WC)YOG%!b>w$sP zDoFu0xY;OxjYPx{OZ4;46te{~RxB2s#W#;PikmB-`A#y=@w zN`iJmgK0V6s>i@t+H5EO)7@Dewds&k^1Es0`!g+h$t4oAI31PtVr1Q*XVk-_-=XhI z#Q7#^pN|lOJeiXhdE>8iXJb&;v1c#W%MI!Mre!Gd6$K_3RWc{9;%G<13rgVBm1TbD zi1kIrC$sI1bMZxaclvIf0DsDzRmU@b+(wPy0ESOV+rve;JFK^66Y>{>vyYM1DkskK zM<^2@wU^oHK#P0Lpt0y)?a-sxA~`&EXP~gq%<0)sUQWxmb}VjBD$eppzW}PF1I1sL zsakM*&xHu)!R#cZb#dbj!kz<<@oFgRL&NFppf|q?b-a+aq3C`c51VbJ#%$7MSgHVK zdTismZJYT%GK6@~28&`>S_<8yBo{p;jsSSm=vh>qfINwTLR|X%4@(E6A>M#SL@G~(WrU2OCXvp<6I&G8V}x446TDD--ES7xD^m* zy&xWAp=d4&6uBs88k0mEE)v3wO(}N+a2GT^0 zBS!>WrIBY4_!!KUPVk+;;uhdsdFOt4bUK|>{*)FZBrh0zfW|LniBK92?g=_A!Rjh< zx(OK_ZA{#{c6KX4#!(yo9W+782*u_y1(X_FroFQ7*9KssUbv;FY1pu5kZFh_XY@Cy zBgsaWE;R2s_8@TfpmIH#ml@yp&b*;V z)4SNx89Sy=CV)7xYW;5D>XATGN^_Ne8fXI?9IGyKl4Tv1nm=`I#MYQ>5$&IeZhla- zoi^Ys)CG`{8QmEP-z%`qW^7(+8koVMGaBhpe>;n^Y?v>k`UBGd7t}Tw%m_5KfTkES z3QLm*)$C6RYtXJ%LhFby-BSviM-V~D#Pn5Y&8;uzThzyh3EYmm&j5m0^p0lkX9{7Z z;HI>)jR`cGrFQsT2@O$7w6tVkc(Xkm4Ov8ZP2WglqT*~I;YzuqI(DYyddMFAiAM09 z_;mUn+EkCt*Ql3SO}dI0fV4EG8JvlmFy&C;j>qO?@q28XP?n6zEP*i*2jPD*ZuiRl zOfgx$2n+&^b@D2qu_pa=(l0c?CxI}?ukIrpYy|#$mvr&hU=D+E=rONmLbHZ4nlt)9 zjd|un|Ge)f-ncl$0mzSzf(1(e+%F1XWsZV-}j&T)Je1Diw8o^W9E6h)Di zdp7=@sJPCYJ3rkffLNHV91++Ej9HHv&npG!u&RB_-QjxyJIe9gk;`U-#~N7@HG{ze zXtS3iNWx}Mx7a(Xhw{nQva*Nf)HMpqrj@mtnyU7y6G^H?e&q^(0UfHjC_~2K<%-m@ zPPC-gMrNtla9kpqyt2ixOj;#HNe9eQb~DrVZ0(h;o(^HW4KNj{9&~nfxU)RKs0GWT zQ~Xj4#QX36cAx)gRTE>~*aT{SR-fCF#S(_7#(HG(9O`xvB9rOc_jYP?FlJ?quF3J3 zItaYcyXJBoE8JGmO&n0ssj_~!d*m3c+j##AF?b#~&@sU;SDH2%)eZJH6c@Oat){JD zg87$X07dwFW#rne)AguA_xmb9%8fC%&UHEOPR!H3U&YLt#IY{JLtQ-u)4E~twsqZN zPhEj9_LY^@#cja)H+>%K77)*fgH_LM%(Q>>?g!k!MnK0!=FhAt^V1ifA^j|^fCJCG zO&at!kMhq6L&5-l91|H@X{hu_F?lfp9(yieoH2g@3DC_`pigo!Y4B#aaG%1o*ouMN$6qKP73T6m#GvhaI$5ir2&`arxsVMi-PJS~yY>0|H-T_sCN zWM;Eqxu^G)racn6rr!*?G}tHSoKx;b zh|+3YHA8Y({;TZ7OBaNa6%XI;(|Xn9{${Nqn3d)aI=NfQjB0dX)ywFJ^|m;iBT=fM zDv73D+t#tTS&DsaG@+Z*{FRCQr~xCLZ6i*4NCmGPmgV|pkO5HhNsKV(oH0KM-p3dG zW4{1SM`>~FjSL}fuHxO+VrxeptGj}k;mViAH&^Z9v_}=yxGp1fz)Vx5k0pIglR+W_ zVn;!1w7A!=Z~*2h@{&?{Sd7#36f0|Ykaq`}^?xm^rS>&?Btu-))DkWg$| zo4ECn&IpqS3RO|FJf-1_jx(h;fmg6ASMWfjIc(E-Yyw-XVvMiyD4zaP)aG0gz#Ss4 z;Uzi*_bKMoH!xHuhX?!sgZq$kBb9&Rin!=ypl>ZZ3R{TecAkJ%xsk4oHG72q4&u>b zbyrlxTdF1I--~$m$_uJ3g?!zjUGGEql>KJz`NhWO?6GQC4n&lpF%s$k!68F1h^w|(lX4UI_}Ah0?{Odk#e5*6T1{*|v#m+>o4&1nwL>?1 zp4h;iU>f6!8WullPI!RvfdXroR77ffCuDbHEw&pCwj)?NQ5Xb0IKuf%00UelO4=7D z6_Sch%NK2M-Y6)U(u4M4OJLby#tHhJoQ*?orx?o&laI6vO{b`gj;Fgm8nGG5Ek{n; z?QgzybVWe}NK&|RMWW0T$+4~3RljHkmSK@8DE&oal78P&Fkxve@&!lsDZEzW((9+I zk;)_PIERwZCPCBIRf^cKDUA%1Bc%v@QIUKPw&cjoKI_|VH$7<6-W5FL7!9j*R?zNE zRm;hKP5voh*uLqH|Z#l*6^-o=~};OG!mexoG-1RXzV8 z70~|rxmaWB_d5LKU!YekCfOIyZXEJ683UQWc(KufO@zfOvvb2EWy&+}l;~EfM-kQ= z%h#Boaw^gh<-snF1JS_YUs-m~094=)?PPCc5F$Eo80B;Urt%#8ssEH-ZO!cHUw;deYtlm*x(>C-P97`}K2jb%Ax3lQk7Ieu+gnz`g(OcZ)n#|(UGhdj zU36Y>?5a%@DhWA|kPTeq+!W%vWz?t-m}Tl-uFEnS9w3GtZ$l;xU9Wgo4z6OlBtC5U znIaJ2bvL8{0E$YB1FcWTL@HwCQ7HF_5c%*-oCVMUYKq3T!!*ifrg%1cR`d|vA`=S> z@Ur)nn$DG$^qs0i7#bHfi|7ER5qgwnbRA$Qylq|rP97gd#N0yIDtoQ436jM;17^SM zM6Oy%z!yWVDsgjh_A?)KZZyAsll9VbqgTa&ixT0+lqPVabfc@Mw}BbcTx<4UA$5(s zhp0+foG#us_vU2lU%xzARMake&4mx$>A-akXyQAIN5;Y!nHk}6_++kC*=g|Ew}h_` zKA&#prRkk+n}ym8Use1d56}mA}H*}K`}x4qR85C;D`~!$tf6$$O%LK zH;JXN}Xs2wUS+z!Vgl#{tMMx5ux_!V4 z@*Sn}N{S3@cjhmS>~chQ}mKT9?HD ziJ*9*JdYC@eywf!;nWPyAUC~Oa0>EdJ~bBm51WS&T#IbgPG$^jQYGvq?+GSdaM0q_ zj^>oiV5EMs+*D0avW$STwn8+<;WC%JsOQQg8=QLCJ0@zF4?4PWeW(^SekL0Sw_vuC zsa?M%-$)%Yj1t_)`UaF@I+-BaFi&q3Qdyd$hD*6@lWIc!ppME>MqXL$ZhFgr=wVZh zQxi}H8c{hFwuK&;hDeD4N=7#(epM5JeeOURripBt0fA@4q=k5B zM6uyGxJA@)g@x^45~(wd%qUow(*=|JKAl5RXheXRbx9RDIt+n%;p|{=~vaeEwD{j1RYNf8Zw=<~r6c+ydY>B(%2I&nvB?n*~gpP<=G%@J35T?MKU@>?kv zRadT730RuMe4i>+E&`xa>v8%xXS}{C3NfY#P+-s{2>HrgT?aaXr>dX-IU>fybyaLR z!;XJ|4fWnB@MgrYyvr;1CV-_em>l6WzVfmA7J%-M0LDLW^qqvyxU{CjLGi69xVqb+y7FR~RP8LFP+j9wXYMoY;k!cx-GWb&fs zvXLW61Ctg+(ggB{~5#EgWG}C6nG?3B3|ti@NKEB>b1& zZ_Iek%>y>Yb17{k%BW&|84g2Z3-R(tw~QzE^<`}T)Etcib$HISgZxsc>{eN82kCuI zUp9wGoK5vyXftf?R@Lx~hKL!Euxr?GqTvNx(*0KHBHyK3D3q!@%1g@o5vymhKuhT! z#iw6^$QCBp>^7B%Qh1Tau?Al5Y>7FA$V`JK`@Dk*Fy4J3v>6NU(STtX7+N4TWKGNC1+HbtJNiy#t#?sMhC!yWN zV4S9ylB}XXDjD!ECPk+2!Ucas328}PS7yM|RI-nB>}e@3bTVenKyG+W4fq7aC$u6{ zt~?GaX)8B^?xI1YI^Y#P4gcL)PXXQ-uMe<;ZU3K5h%l>^xv^^5-Obdq2@}ANN0w%G zsxF4jcMS_<&$?Bm`@O4CDcbLYn9N6_yjPG~76vd9uv#KC8b27UF{98}lB`QcSvlY> zF$4F^;DI2@p9XXOo$$glAsXg`_)!v1LB;xfP8q=TlNM5Kd|2PL!o@>0CUplEUnL;Fw5>n`xac4^Q z6@$l77j-5>AHgyxs6v53tk2WKD2p+5u{V=O|dA-U>ZvftI@cwXB_H1ZHNo^ENpsu`(K? z4&QPxZ~DR4KsCcb*Dg17uWn*$laWByoE>XEZmOkf#kl%UHI|o~tl>WAxyS0Iy9J@3 z)50hq-Q6A5JSCk|K)SlRsXEnl16L+0igeLVQj~r-y(|yPxpohJG+o{I_GezP2I`D@ ztzlAKwOtjjiV0M7G#w7QqS1sKu(O-V!&+!h#3QDrQkk>`)BT+;a%={QvHhth%n z@hbu@$5tE;LY3X;JTf4q{?^V0jJ1#{KfVhL4fzcOGUmiKsunqXmvR-ggb(12jRmg{ z2S5^J9~kQ> z;%L3FRML-1VjIV#VT-n9%@$Y61szvN)r8H=3L6xPGk8uyN5|7LRII`%zyY1OM{>Ut zZP!qixGjN}30+J{Gls^FM`Hua@Dc30r7+5ys~5qXjd-D2*`kclpfP-@Xreqs!@Md@ zOFl+Bq7sZ^wJi?J=a)i&-Vc{MMvc7N;I<>%Y%QiPn#mL5=RnikppzNcm^ngR8!fS# zZZ(GYt%)ptuS7-eXU4l?E{mMZ3?kf`Rc6$~OUE_h(awTmq+|$7Pq&m)9*olk61O&G zha%8LMnrLO0n1dhM?kKWY$?v*M4$i{q@|=<1crFRO<3%rJ|CZmsusoug9G*g>d0_$ZGub;1X&G*zY7@COfX*3v=k3=L3~ zQGv}hrYu=-Nx;MD7*nP*OHMf$-YmKv)MOmE>23q8!4xP68a z1lEQw;XpG@`$9O?U40Xt6Tzj*sK7&}6Jra@7&f*GAZ<^EKof>o6l6hs2e!d%Y<^^t z_89dhtkx_0KE%OHr@~Bbc9E}xjH8poa@t(0`hjbYytP!_vYB7q7g!x*A4(!auokQy zhZjA{Up;RHSOq<%1iw$&kCdkSG8qzTk1wM}Z`S}i>aLu{7vxE)XFU`& zN<&4G!vfpXRmRIHW|MSff%b*_?ieW&rg--e0|sM;PfKoHRdx!v9S_xn)fNB&UjA2r z!Y-Fzhwa%fym_}T`&`z*QCYGlN)Z!&f&8#y6ZOQwvN81>IF31XvG+)6DiFY=n5>}h z(2rGs+DdA#FMS7# zj%tRXE-0f$lf(Z3m{oSWYH>wG-Vb`3QAt2fwdnhJ8`&w{(4@26h1OJVTzxFho7bWm$cGkBh5VAsL95^)wy+HaiGLZ$PVGJ@@k`bB zDBtmTH#|bb5ggavsb$AS!e@Um)U>Xp(N@L4Y0*u)k3W(~^jnHoB1dsiFJ&+wLEv*( zR7%Go^ejSeKi1F}dG}hmG5}YESvPs5W}u7h$Sx~7c?F5womhQOJ9S^%+2P?IF5SI4 zvM$`qM9C5x1T3%>^8Sf8)Lq_*AYb5*g2P?|pM7TNhl_WAERBHIOQuoc9=)Zsp`iEg&ekQ-0UXd)SOb$Uw z1v-JEK}iW-xbTKXm8e=ixUf;Pe+TvJ+LHLq>(g6DOta!6>0EeLZYYn#B7YT3T;X)W zwaxfZ^+Td~x`)~RbQ4C}2uj}Sq*Es?JsRBufDx6n8U&xg4#4O3=swQ0-epJT*-5@T z-G(*bOt`ho9O}1+?hem!E^I{rI>4oYK@Osu%^>iq9P;bvEz!DHa6M$+`uBL56g6n^ zR;RxC&aRn|rypUz_^A5Y*w_Jex#QwrHR!cT9(d@ zAj1WB6fZND|68oFrNj1L*ez0C3Hbc4XU*6Rh~C0@)&-&4d$pHT(pFqZbT8C|l40?w zU4H1MGX0fr3?5-Z?`%tBYoPb)*NO)<76IDunbMyWR?(iZ!@tt>Q|sMdmrks|e!glr z=Ex24p+*YPT$KtRN}v8wM#?yu+2}j@8P%;@w6So*ymZ~`qvR&|#lJq?^50z!HaLcR zUs`S0APATx=C#*QUqbT6=G>=9@;)e$DJ5#SN5}r+rg=E!&5y(zuCL4W54?NWb}26z8X#cUkV0^`JRz0tU>YY6jxE}ky!X~sBb(a zqdlX2!|bfVHm`^;#n0|Ql#Ozi3d65Ze1V7nD=({{=EL423GoBM>wf~FvBt3@GFZ!_ zUX#Nj!6^F?niD>yyka!4HFi9RMDNLM>6CL(NMdr$)3D}%h>0Or7unPJ7}J^DS_A=+ zYgCcQ#23@;M@2%zrJlQgW^viu-^A&sHyyb}U8Ga7MQIu_tmeS#31j^rPh-sR%=K=+ zYPq%NSMc(`sGjdQsF?WR>KP((kngrh<3B)BcE_W~FaiBJ0;MZ&-ib2?);tBQ z(0^qjXv?6RRY1|rUaU?cVI5+uG}#jSKAy$8x|+HqjM#n%)uqBZKgrI@PMVAaL}T0i z@_bf81K)}D5Do^P9BVr}#R5tCRgqp2$!X`$&spd9Em><^AByg%fLTTwy~T0q{g>8C z{9J%#H!Eh$`cHKY-p?+tlDs_^mZZ)=f#y!*H~iCfV3y3Fd{hGjE=FTTs2)xp_>{ps zi}{02>#Zwr9R+ri5&uQEV#BP8yOXy=6WI$sSJ!ibuJV!EKjS8kB{#uw`t*O=-bO+X z+Y}Hei-Q7p)Ih7Vw4DuI1ak#kkq z2!Fl*nYue8zo5gpFwIu`sTd|W~ zk355WbFw;OEfZma3ewm3$1I*Aap0lZp3;dXDfQQybD5t`q*^U|jEtUI9d6PTF{RS_ zTI2Fvxc`k&qexOnW=^8D?q&TA#Mk6%t}tyij5eQ|I{MuexgJvQZ*HlIs~$2wzB`U!`R{ezq&e{YIaNokC1VmtGI_%(jvekd+&l^i=qDusZ6fQ+ml;mW;^0?p~+x)?kbzSrn# zcxg4@Wt3_JfX-l#j8SJ_(Wv=L(@^5bP5hV_f_(gQtJ9cO@Ly@b?Jc57UwQN7dW2`< zEm*fVSE@1kL(tYGkKx>t?ao-}4=U`c&V!3m|DjJzG%gRr`W&Ob^ugca#bkSQV(~w_ z6a+J3GY{X4*gE&+XBiJaUusbGgS7=)Q$0+7dSw+jSbl1zi~*?ItN)@f*PHK~gKZ3* zntP900C=?;$h9zbka%0k07j+OK80VtZ_FB_R17*(#mq*mnsxnu=oC%HvwzRbOm~k* zS2Wc-(HI}E+$R!|yiP#^h755z3MO>%-AtM{w7q=noe2wJM(~ex|&acgt`#S@z zquU1COSwF}cMEvhM6X+K(SXAtuz&T|%bEI2tK#ziY_m(;|8llpyVd>;OjgGYQo9P6n225H*LlOheO!}z|4ZSZqSE&0 zp2R~(DPT|?_8?ux9^Ky}PCE}z=YeCR+no58Fu9abgIjpSIgZ-Yk^D{JtR+s zIsYSRH{@Zp&l@vGs#0JEZIfbrkUMz(c`*fc2f;(Qvh;ZPHKz4{s(!>%eiaxH{Fef0 z(E4fY{`SQ?SyKL6C;un^ABmG@^Lq+<4jO?Pb*6V1MV%;N(rrZgsvjH7J~94hn*eE6Bx8lWp@X?TZ5cB+ zzEaiS?XHs4tlu#&ebAf(1#-^Gvjf2E*Lgo-5CtuLE4-dT$`~a{(UfApxNv{K%!g#$ z#7SPbZOC=tHXr?H&bRU~F1zW>Y`GOOn1JOSrjObSGk9ifKn>w|e4J8zGOd&akdd_X zH4*{=|4pIq&*de11wf%~lj@+cvk-ESb>**<8vcF0DdkPY(HdM!U!frv8NZH=u)Khy z%&o0BxRqp^U$qAQlp1-}cIHhT1w=}Xzr7O5Y6E4_>;^N146uNE2dytBNBU&{faa_2 z)UPG=&w~Bv9;df@l(lU$9~pA#j%j1Nl^sco-+BxZc!`LW5NNF836JJK;za5so`WR+ zyU5$w&zadU@B&6?07+PO$3+pcmZ`hExgBeT&bcc2B1|Z) z7loE1Lsk`@8F*WxdaPBWdm+b&f@Qr=A~TG}`G~r7D9>^KMM-to&>p0cbE~tzewxF7 zL)a!wC=#UDdM~~R0j0AHE#&{XJVR9I&6t&4_s6V&O=Ol?cDjnyoDw?uvwZf^Z|8Hl zi~R^nAgsxtgD%4o(SDCMRcvQfEnR86Kw!Ce1@9a#V?LA!J&{j4D)Ev3zcJ3(GC3wG zhWh!7yFTd+0?|ytBA5(hT!ENAaw;gq<}q<$(m=+fVC026SW)$<5aQ_r7kcM)Z^hZ1 zy#9)^gr!RXg*!FJ%jNe6igLP=ebj8@bP!mz?s%SSn6oRLhE{}y%|#SHFdF49aDg3V z{~@Aaf{{tkv(r;{*(=;vX@+wqHL5T?#JI5D-68w$976cQG3(ZORshsvpWMfs&t7N^ znYr#Ndf8;pvz#1E?3;VkYQ6_>{go&I&|0KpMQ%TE+NvqP&H#27;9_S zX;4qlgS6Mr9m7{qhAQ773e!Okq6M-Ptho#S5ek9PFyM`eJV314Q7;(8@%zs&=V>Ev z!fEj@SMefDpt{`tHDO1lMlb@>Wi7(52Nk zcD?Nn5widnB7r4;Jq;g+8);Bsv87Lh??m-K^ImMkR0D+Gk59-S*yJeloDHiN^YDK- zx1M?$kMGPe&F=h?*s`Aj6y&r^)SuxoCtk2x4hG`0kaA0Te+vAGI8sAMyKA7@Jkw5~ z*fHgLvkjjwDs1k^ixsW9;lF8C%9rSkB>EMbWClrvmEUdWY7FSpX=sL;NJkZ%+ejEX z``_?i{{@iY@f>l?9;xa+?fR~IY@z8uhdySt>rR+6$wm&6k;X_YKQK8j#vSTNfBj8L z?7;jHGC$9ev1jQY84zah0;FNDli8|Hu7nzdGC~r=HzlK&>^L>tP}tMjcwgVhXu=Hf zK)FC$tMC0^PLt|(KZ296`>y`?_Z;-tQ}>OHfe+n(f~CcO@H6({AbctLn3WhI_CxKH z10lGhBiuFzA&7tPQ$FE3N9SMm!(fp0@Z{1B!<+%6F?|pZA`~_kRJR2wnH*&a6XVgUK>XXHwFOrn^DV*C#V~!Lu-v|*Gh?}v(qDCEK&-7|d3a;GQk82~K?F#M5F{8bHJSEA1u-RB z`#79ZEbo16Op*$x*fAo7g-?jpFL^8Wo|8Y8Xo<;vtEd@47Rf^3>^-Zi6?GgBzM~*L z5TSj#gvd}@t}u78a^0A;mrYxFNTHvUBh!?$Np=d-w*A#40}Ck48^+jf$&gVBNmpVt z+v?#knu1L=n-NX1Dq^-Nm10Fy*iFg;wTrJ-fb~@~C{1Xjht^SHjim};flC?OOJzcm zO|Z;RM+$9hml0w(r*~C2O@)TiKZ6p77D<#8(9dy*N<$-Vi=F0mO$KHT80%x@H$$-_ z7V52FC`|e@!euMIP=b7_e zZ-GNi>)Imwy$gBu@V3tK*ZKvgWUxsJdD-TWY@_!lWmO8_*zTB14j3}-DW$zH`tv0=J|^agPmBjZ zd}atBCSyY#$gr;bBjGrz?FFD$igX~slJsBK(y{6B*PNhVH5nZ62V{uUJTh;K^y|CN z{qmWK^>mnd;mU!bFj~(QV6hs35RCwg5e316Fad8220@VsPJ#%$KZTv2UYduB^Z7`D zO7Hvs_jg&{8DxrKvH-0F&xiLT^>$q?loaT?lk#dI;g~ukAjlX`aFCTvB_Pn6r~9b!OCnV-Ub&7HCVL1D^xa6cpJ?>hBioZJ8`ZM93kC0BkR| zRuyMl3gT%F#Zcq$c*dUBAtGNYWN_d=l})fPsN;c3c9nQd0Q>|RMXv$0<$zD}t6gXY zRG0JY8{hOtDc;rv{$C-ZiEPf3ca8lxzarDI5fAzh1oDfr&4qynMRz_Q3N)WLo}WjJ zn%Vqbq`AA>?)=~5{;;Cz=OgvntyK;k%h@i%xQo-H=|J*SJH6h1+LZjqb;JqR+hiU!V{U zTD4MuA=B~D1)~Twv%Jy`HKef*E`lr8ty__NdgPY%74WBTP={fA}X zPcuYvDexFC)`S8e34WpVllPt^<>*WsiQo9|^`9;xaQtko8ObGx-E8Dwr)w)=yIJ)6KVd5FC>_c(s3v@ zng!*t2l09zk?=bg_HNIMzI+OEB_}U0?tKICF`-p#St&RQh1{SgR5RKYInwyo-y5jk zHLp8|{U8@GdjF%OsE|;9vBYDuQI8o8`Fu{s7JV20Ym|$&mcoz-kbK9MYC@d_|N6h` z{g%WI_F{Zswcw&Ja-G}cP(=lNiC~&DE#KB%>1twB<*QE6}Tj{6TTc?kGm?d6AGdA-z(laP|$+J1ID(~xnF7f7tkKzgJ)Y-xKJ!x6#4e^}cvJiDcSO*tmGTwT3kcKmE5)amcT=opMA8 z*Z?*z?pq7QIACw}-?c#%3SstfO4T<64%Q|mSaoX1k_GWuZo wev+-_M(oUe&H_H*N69NYAdx_UOv(calj?g-