ploop-1.6-1> A AlpA?P` Զ%+g9:] 0!N?כܓTr3>09U2148485a48e8c926549a0ed616f0b1b43cf66f98|qbHO,&+E?P` Զjo8S{hdm>cTbOzc[L>8&?& d   `dtx          b  l    4< l I (d8l9:F G H! I!8 X!DY!H\!P ]!x ^!b"d"e"f"k"l"t" u# v#(w# x$ y$(/z${$ Cploop1.61ploop toolsThis package contains tools to work with ploop devices and images.P^rhel5-32-buildG 1.6-1Kir Kolyshkin 1.5-1Kir Kolyshkin 1.4-1Kir Kolyshkin 1.3-1Kir Kolyshkin 1.2-1Kir Kolyshkin 1.1-1Kir Kolyshkin 1.0-1- New functionality: - * offline image shrink support - * tools: added snapshot-list functionality - * extend switch snapshot functionality: ploop_switch_snapshot_ex() - * ploop.spec: disable udev iosched config for ploop devices - * ploop list: added functionality to list mount points - Bug fixes: - * ploop_mount_fs(): use mount_data for first mount - * ploop_mount(): do not allow to use ploop on fs w/o extents - * ploop_{create,resize}_image(): fixed size checks and rounding - * ploop_create_image(): fix memory leak on error path - * ploop_get_info(): fix reported disk size after switching snapshot - * ploop_get_info(): fix when ploop device is not mounted - * ploop_{umount,resize}_image() and many others: do not return -1 - Improvements: - * much faster resize when using resize2fs with EXT4_IOC_RESIZE_FS support - * ploop discard: add cancellation support - * ploop_resize_image(): use real blocksize - * parse_xml(): deny processing DiskDescriptor.xml with several - * do not auto-generate dynload.h, instead check if it's uptodate - * create_image(): display error message for incorrect parameters case - * introduce/use SYSEXIT_DEV_NOT_MOUNTED and SYSEXIT_FSCK errors - * alloc_diskdescriptor(): log error if calloc() fails - * ploop.spec: require util-linux, e2fsprogs etc. - * ploop.spec: require libs of the proper arch- NOTE: this version requires vzkernel >= 2.6.32-042stab061.1 - New functionality: - * switch from old /dev/ploop/ symlink-based to new kernel cookie registration - * snapshots: switch to schema with constant top delta uuid - * use /proc/vz/ploop_minor based interface to get free minor - * if ploop is in maintenance state, try to complete it before doing snapshot/resize/merge/mount/umount/copy operation - * ploop mount: use in-kernel I/O module autodetection - * ploop balloon discard: new iterative compacting support - * ploop balloon discard: implement --stat - * ploop balloon discard: implement --automount - * ploop balloon discard: cancellation support - * ploop balloon: allow DiskDescriptor.xml argument - * ploop umount: implement -c component_name - * ploop list: implement - * /sbin/mount.ploop: do load ploop modules - Bug fixes: - * do not crash on empty DiskDescriptor.xml (libxml2 workaround) - * ploop convert: fix converting from expanded to raw - * ploop copy: fixed check for opened fd - * ploop copy: do not leak opened fds - * ploop create: fix gpt partition creation to be 4096 aligned - * ploop create, resize: round up size to be cluster aligned - * tools: few exit code fixes - * multiple usage, log and error message fixes - Improvements: - * ploop mount: check that mount point is a directory - * ploop umount: reduce retry count from 60 to 6 - * ploop umount: print lsof output in case of failed umount - * ploop create: for prealloc image, use ftruncate if fallocate not supported - * ploop create, resize: add check for correct block device size - * scripts: de-bash-ify - * assorted code refactoring, cleanups and nitpicks - Library API changes: - * add ploop_resolve_functions() to aid in dynamic library loading - * introduce optimized ploop_get_info_by_descr(), remove ploop_get_info() - * replace ploop_{alloc,read}_diskdescriptor() with ploop_read_disk_descr() - * remove ploop_getdevice()- ploop copy: fix data loss during migration (#2287) - ploop(8): fixed according to doc team review - ploop mount: tell about unsupported underlying fs - ploop-copy: improve usage - ploop-copy -s: added mode to copy to local file - tools/ploop.c: do not return -1 from main() - tools/ploop.c: fix/unify working with diskdescriptor- New functionality - ploop copy is working now - added pcopy's send_process() and receive_process() to lib - ploop mount: added -c option - ploop(8): added (still incomplete) - ploop balloon discard: add --to-free and --min-block - add Preallocated item to DiskDescriptor.xml - add add ploop_get_mnt_by_dev() to lib - Bug fixes - fixed offline snapshot creation - fixed race between register/unregister_ploop_dev() - create image: if fallocate is not supported, fail - ploop init, ploop mount: fix -b option value validation - ploop mount: fix usage, -d is optional - ploop info: fix usage, DiskDescriptor.xml is required - ploop.spec: make main package require -lib of the same version - fixed a few ioctl-related error messages - ploop_create_snapshot(): check for number of snapshots limit (127) - ploop.spec: do not own _libdir - fix SYSEXIT_PARAM value - tools/ploop.c: do not use ploop_err() - tools: fixed/improved usage for many commands - tools: do not forget to print newlines - make install: use /usr/lib64 LIBDIR for x86_64 - ploop_create_image(): free disk descriptor if fstype is NULL - create_balloon_file(): fix file name in error message - create_balloon_file(): umount and remove temp mnt point - create_balloon_file(): fix error message and return code - parse_xml(): add Blocksize validation - Improvements and cleanups - ploop lib: add visibility=hidden for internal functions - tools: use parse_size() and is_xml_name() where possible - remove merge_top_only param of get_delta_info() - ploop balloon: make it accept either -m or -d or both - ploop convert: change -t to -f - tools: unify parsing -f option - various code and headers cleanups - setver.sh: add -v, -b, -i- Added ploop_get_dev() function - Added ploop_set_component_name() function - Fix: do not clear in-use flag in ploop_fsck() - ploop-fsck: add -d flag to forcefully drop "in use" image flag - Fixed handling blocksize for raw images - Added user_xattr,acl to default mount options - ploop_mount(): added ability to pass MS_NOATIME flag - ploop-balloon: add discard command to compact ploop image - ploop_get_info(): return old info in case statfs() failed - expanded2preallocated(): if fallocate not supported, use ftruncate - ploop_resize_image(): Check is it possible to fallocate before inflating balloon file - Fixed merging all snapshots - Some fixes in ploop tool usage - Some log message fixes - Add function, source file and line number to error messages if DEBUG is set - Build system fixes/improvements- support for variable block size - default block size changed from 256K to 1M - ploop_set_log_file(): make NULL a valid argument - logger: introduce, use and expose PLOOP_LOG_NOCONSOLE - ploop_getdevice(): expose - ploop_store_diskdescriptor(): fix for a case when image is in root dir - Fixed expanded to preallocated conversion - Remove some unused functions and non-existent function prototypes - Introduce and use SYSEXIT_MKNOD error code - Changed image -> device mapping schema - Use strcasecmp for guid comparison - Made ploop_merge_param.guid field const - tools/ploop: remove -b option - tools/ploop: remove unused and untested replace & add commands - Log/error message fixes, improvements, and unification - Makefiles: fixes, improvements- initial versionrhel5-32-build 13581922989999999999AFAGA>A;A4A<A=A+A?A71.6-1mount.ploopumount.ploopploopploop-balloonploop-copyploop-fsckploop-growploop-mergeploop-statploop.8.gz/sbin//usr/sbin//usr/share/man/man8/-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tablescpiogzip9i386i386-redhat-linux-gnuBourne shell script text executableELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.9, dynamically linked (uses shared libs), strippeddirectory !'RRRRRRRRRR RRRRRR RRRRRR RRRRR RRRRRR RRRRRR RRRRRRRR յAQc@=system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:sbin_t:s0system_u:object_r:man_t:s0?XYoFVT OӘ&DJ4S7!%CGZ+0r)΁??)Jd@ 0=ߌcmXmY>lZ_'V "gg\[Ͼ*Uv i%(.᳸P廬-jp9 ?hK?DqE!;7Yvmߧ>fD ^go*xABMԭujzu)YԵWQ렡o{b2'4J*W÷"kuڭ_G<`gk{ry %xhܤS Rrk{׻ͽGRt"]#>mKN*>ċtMC6+I+{=88>9С:OC\N?c67Pzi垧eMIh#C|+ [6B$#n-&*1$ /O nz*V]' :[{VY][;׻=)a.VKm󱍤1K0`\RZv'X)aF&,՟A((3:)Z-e 4 P(!7N3 FDvC.ze) bdFzis%)!pd3øO>l}ǟ͗+G.!'ސKV2!qLf ]ގ¥(}'¿^ȽFqx )MXn=e Q#x%;4DBzM0 bva^tGiCSI3yFT G,]Sf}(`;b#̃)9<%s);g! jZMI(׌ #Y˅& Dnx&Qw CM'QQd^y4IJ(Qh+^1ȃK>2񩫉2 XՁke X掜:X`.5n ѓѐ!I菃,'Q c )F UJ'nFbN$tG0AB ,]$GLWdo#c4҅8/!N483o~frfÕy\ G剹W3L{\:Lp_5~UyDn 0.AV+0T@V1j gXFT^J`,2TYvzZO&bV7-q_<%On 7Tcgo޽{tWaz JK˥K?k|D||şg>#uHYlkHSaͳu4]s]܇U Qt-%q.g,122 ddE ,( %}(ʲ+Q?6Gs~;{ϴxfzd idFЍqW'{DQCedAV U63rEz5Wg} lnsC;זWT1ddوW:L&5 BN,u ֐`|ded-5;7:uzFC+ )O;mWO%.l[ncZaCldsYΙ&8'E=]φ-hd N;>x/o#s]^oFρ~!j=i$WK[ z<'BEr{ }z^^ >7_lWQ]~=qtgޭ`x;ئ?ě-C==/,&@B"KFl0PJRZT k*" Atɰк4`gni}w=?rqϣ x*6PHW0Ԓ#!?B!_Rjq~y#eyL8/+z2#hAcDfGyi0Vtpt*5F7%ekz腼z]Pm哭6'%7!r(ɯ# h|H5iL >YȧW|8׎wy!q51"e?Gq4^ C*G㈬ $hhn`b([ D8,B !C!,ieS WeX P Wat*oOj QF xeۈ2Hbh2EA:{5 Rg#e7># Bo8l(0LqG-zcJS1QIgKpbi ]}72dwʹ{'}عcwjgjWh[UjespٵsU]Swjפֺ71N.6{5j*jz^j!爻רWn~,3^.:KG_>jϯ^Aypudp2:rD8qD4D<+@4.q>qo!b%DO :XDMDn"bRQ" 6*IDEDAM8z" ^w@C܆by'q>?jG!~#n߈(<lj-=v# |YhGPGU*I܁Z9ԘDibQ" ]Uh_'"Q}JMQx)5CD!5KTjkEvD D׈_F" >rmƃg2F]MB"^h]o9TvO33H^v^83I3%)(H>%vegpfNg<%{X83PLlw]™-nU83S&o 4([/YRgpf''~`}JLI_83Z* gf3bpf>' g)_83^_3uJg~ z^~zQ3bps_r)¹t-p$]Oɧsg&3¹t yR8wn%قeGOH QO~@)?yH['%M_ UOVH~g%bs___~A/ $OK~)/|F/ $by/O__~M/&_W~%mx[z5{Fhk$x<]v1ԡo_6s6k2CWI8O|R_GW|u07=-qa;ESU?P!F![5TPqO'*1i D{.6_q9V/.$YZOtqnw7S [2:WӉ1uJsEE +''XoTwʑ߭#+7Z|MG}J#_.UWO_@f#@f [oY'V1v|>[[7w̃)}C#LqhGr:m3Y\ -E:[.wf)_(XW^B;KdgGɓI &)Ƿ¾,5 ;{$zrV:ݜUsՕiL۱Tƺ0e6~_ӭw}z)+]O6p'זJͭZ}_;6=F=AG32G&!w}Dt/N4{?N[z̟sK?YۥStRUlbKMtΏ?ʷSV#_=oI;Nw&|~E`yg6ޗ{ TuA\كqȹݒ@b;sݸGi;?2gVy7m6z3ێ&`J1Csklw ocgErX}heO4~*mE' [cE 8]ji&[u !5pL&f.v!IGqa} جIy;]\~y) n/}p&.. nt{4a>A>9f^Dv!WI`$,,|]3{2J'e3wUO9Yx?Q0# 9א2h#C밐!86n^4#bB.sSE7AF\'%E!Ė`ǿVSV539=yhYtZ')L)a顣p6symeoQ K\܆yP$'d îXŰg諂%2p%T|@(0ّW6^n\]ks|?so7yfWp~%J#疻S84E6'L7g<9%=ܝ_b1g#D`wU;~ÍX]9}@4{anv~Œ_!,3sl$*Ջ`1~QX2ɧMϣ W.1 qgkc;ҏLf9IF 'f7.4 Xћz1脕Oժ4c>=v|i0 Qɒ4~<Őn(#QA6PCFjGX#i_΋?zIa4WB9̦V6?Z<*%l n v=U p1p[bmHǭÆ1軰v۲ 0Ak*ϪW(NQۖ<O4/ "KFhц =_0Ig;a ^}8[3 n~/72,߬*ӧ" U5ZrU9v8 OîqP3J k:'5?LY)>INn&&Q,PE%w⸀r5/ ?pmCpaEA+\tT՝!e[z2 cCB+Ka*Rg= K㲶9mrv{j5{X6 At[ I3MT,C ~7M{_Kh->I9}T.uSk|_?ī,YSnlow8c h,8ȭ{"{H% h'SC ?6f, Lh탒a׸Cx 5|d҃r^M7oabB?LAϯQ.nn[C(7_tܰӡc0|^4 M4]yI4KA1Wp|}dYI/lMҜt92z?4scAa/ڡuzܡCi?v% 5\{A9﬜XK#}B 9rWPKx*e+.CHXGVzDI#ϚzxDbD:$NȞc7ű~cիu+ !ycUZ'r{D~.}\ uI{S JĚ<t῰ꑔ>#Rw( s@Fc F'Ix9Qm `( ;:(9#LghlpSS8sDK?Py> d|{Lʸܴ/{(6CE;k4**QVɂ,A֓)d͑dN!+M{邬EV݈oh;^ؙ9b'V*_D'pYWIkXXbd|IfG>fه%~CH9"$"=YygW#vnwhIwa%^M=i3 +3<ޅŐQ+Hm7sY L>"1>x>;|c)!Fg|K<> G{{f*cuٻ=ϹU7xw}NM$S_,2Ax|9#2Y[j j?qji%#8SF#x3O.S!X(h1kᏹ`x3Yh*A0+]ƪf7qX\:3+?yd|I%O3ظ„iόGmPlQKi p<+hPbNvĺƶs* :+z&>x^cg| 8I}vkSG:k 5Ѓz9g 0+|L~W//1<k7t>kW/yK;;_Ĥo+"6_pP;k{y|P۟G™\Ob΂ GS:0L#i2iouxd*a-lr;-9T2VeE "v ZLP|#o3mmjym7&o>.8<ں}fj$F{LRܻN'{wd .ӽe <-SC[Z^ѳ=oOd(eI ?"د~A4U~bޡI2~[w}yJ6 eJ~~;6~J*x+σҌDUc@x<9#Xs-I>v~~}dIE;C"(;Dވ-]f׺"]aCgn'O_)kDKX?E@gD< "VĀߐou/#5 >"oӬ$N__%8/Y/#9߬U[kϟ^(r8s38ܢhݛ4-1H( kI1&(B(d ѽS?͝ΕZ a/hqWbGcFtl`_"0JL'-Qv(Capݙൈ&F;8}ʾ] &t$vg\F^7#'8RI ^rorYJr1uȲ_>iBd?qlfz6R'̮A\= ^Jh{"/^pZDݽiP  oJ6fCNO9>j}B0Ki="\6#B7$s=Y2p=i,q ]u`YG2<c倝1v q1%[eLϊ76,<|e`3e̮Rs䊏{LN[s‰$KTՄ m(?gi#>g̬] &N4sP9m`X /KtmDg`*ͷ7bQv`&Z(!\@~uQFxn.1.< Nh ޮdFܒBL[qouΘL)KxȌR":\qφ2q3bK!T ->׽2rnMD ggY v8!^Ҙ#DtNhYWU# ╲wںlЪP~G'|wʼnr-ה*\/;ՇUI] /}Gfb {l?_ep _~Mc{xZEra)IH|qT4s5ɨufᙅ؛ds͞y6mܻtZ^-ˊ]QD-.YWh6$?Sk63}~:3x֛k[U֣7Z-f!6Uu-ZUl\&*]7;lDxՒ{K GR5 [: MS)X]>3ᩲH1 p2ݼۤ.[Q:O gIiE)mN\Q~s v)9|D?7XpU ~q?>4,ԥ%kV9a9mgCRS۰X(nK ˊ2*Wu|~W8ātu*>k0!,JTE>Ae0TyU~u縴A7͞jJXt0[u\m[ڭmj6¥RoLc+:X5O "4!KC(i47nt62םgW : x~JzQ߬Xvilpk1_+(XWYG8Ir%pX)=Ô/C-H;*<+nMacŗ laz ]zйLe0 @y q[cHkchnp`4L' eܷlKāŹ-W+Zt 'L[S}3fOyѧ1-gQ!M+AN*k|Oa"eP :aT[-Ozlm+S6xب? aVSpR&UҗJ%pYȳ&{6;9??_}O mͯnii{`lB㽕2yg^_O)buƮu딥%+KK 總fºhk,*).,UWku_ RS h_+Zs2b"8XP%e5QP/a\WzL۾|`Q0 F(`?LSAyM yA@+1nb*}A#F i  T&n  $?wN_rw;:}ݗϭV8~Me&`).[S䔶zTdMS*\'S|]n݂6:cG6 R=@,q.,oH£ mn^wSasOڬԭuڗrfb0zf1;K\LKS{9VN|D_[?N7ۧ--v=QhT/x_ Usx1l rBv7TqUC}G fyð@\UAnJa(Ȥ"p Ч aN^0 N#"8uI:oD*`"R3oEy'3U"X}/"UI7g?k0E$Vyp|pMp l`>kXDsTtղŽ |`FoPg pοAC1 +t4 k[_A9mylҠc oCK3Q5,tAkrf(] xo_rzӌ֌e0ſf }`|GbOҕ#W=.Y'н߾̝pYs?uEL8 |7S2}~ϝn>SQTkG\F?pQQ=}(:Β;H2᳎Q^Q0[mAQItk]&ї)5ȇ>վ&YհE$q=H:I?BojN{w[ œqJ׺q[zoN{`W5$̚}*=8DjXՒV <~(zf$ ֎ՙәrο17齗rk\b m*,g+d25ɤA-A"a^^<a:}̢cDhX4, ,4k aBY4f,vEsEaM,BY4fє:̢Y0f,hpE,rY4rEY4f;4hhh:̢#Zo0O+\\AK\A˙\AK\A˚\AK\A˛\AO\AϘ\AO\Aϙ\AO\AϚ\AO\Aϛ`2W0"\抺28.'q}"{M(y89gECfe/9;]S0lp47}~ , ^DNI/AǼ_%>h[~q䳙˼O ^C'>{žAO}}~b[bWA'֕nBi|ߕ?"mc4-T#n#a5N$B@9 HK1%BX=+9s~e~=6 yn9kX8j?L;u/Vhf PM`j̭m :kL 'R9蹈&EMbCtP ^Pnv1VA0 fU , (4H/(B; G]c%>{ĩO˙Lu~IL7@I<@{{#g}dT|\0 Q;e) (k@] t7/X@@s4t̓"%)hy]C.c8g) Vifd"R!f;Z$WzX{J8xEݜ?5j{UgVۙeYRvYFbwb,GJ'AlaQ&9y|=}]7#̽'/_NcXcb3\ͩDV'eʖ͔)$eDv2zʚ_'RxH'cŬn;6Wh7afʖ͞I,D /XmbMQuM' B"fgf!Y~.C࠳ 9$Yt%_q0y.YP[QKƓ+֓o ۖWm( َԪf=YY eMLXt%cNb&ndZr*: ߙm`(|ИeVzᱽ=@ܘ{4_Y'8 郣()By:;=~ "$2;izKɢ)l Ary5mD!H/h_D99^cBd} %?:/Nć9oHk )6Dʱ8\ .'_=LRC3\^Uc?XGI$bu{`:/b/{V(rqӀ_;/EP()|u؇ !π`ѽܘeܝAkAW`z*xL(6 T#bDwkVlͶJ#E_@Ao1 lEۄPHm\vfK؅ _Ƈ2PW-#<(ʖ D6۩nA{9IQE!-^#;4#>DDh z/eñ)ˢ C!CM x~%lҢ+3l ip#IPu q9-V-Z{A 94ٱiؿ{cjJ$1%n~x%c.e+A:9(Q7%/Vr~q?Q}e!jBaT צ<%?tfԚιsaF\Qk:٬ZylV霞Uk:Ϫ5Z{Vזz:/[2)s+syCaGu5!j3~V_h[U{Qps׍RvΤdHu8l tn*[T: چ5,-RNJ{>LAaN|!xgQ1߹]99$iy9՜Vs0n~ȋg9GFխ_&֯UYխ3uʱK_$gZ鉕 3Q_.R\NqE(OAFIQA7)Q\L1Gq&$=b+ps<3j6qE'|JUsuW\\]TR=W0MTТpu&\lr=W5 W7JFh5\3M?Xaꐷz7W]tBl깺+T ջmwu5E]:$:饢̿F]tMX]D&p6ՋV: tuqu=tukc'j#96uɇVBn}*+𺆽nT2JL"/> D?`6}1f-yR3w*:W[2}/y?,ӹ~eo,ӓmM/7m>u]íM*TYy5~6+ZiWߘ|Z;`xiO\z1\m,NyY*ʱ1O y'=1Mz>-{Cx/1a קF{SO[|i}ɢvxiϧ}}iģ K__gYLJ^HOQUT^.'|;^][NtP3hUH"Ev*TUwc,iF5\:iwinfy.M?PVnU&N S;۩`;-%Nu S v*)Nll ` S۩۩#ԋT`;lq):0Nާ&"\ㄞ =ҍz'P7Nnc8q #'n02q #'n0rq #'n0q{oVaA|> ?bkи`3Exl2 ҆,*b!4P u*e00uFe^p as|,wr)Vb*?qOD9*_,9:g}8}8α=R*0cǙ/c>^]ó8h-fpJloLwvhgKȨ1 Fۜ%㑮ؗ A9߳ sd\[;gCyd~g#+S/`ك_h[UǓ6#TZm(l8(ٖF6;hm3ZҦ۪'mIR&:^6؃SP:CB>@mIA&O779mG|6{Nr/|?~i%K_Ks5Gs1篍՘/RjL/S1qi8_9&ΓġZ>&n:7U1&w%n}]kbbǝcI˘֘[Kjc.1q׼<&퍉â1ql]Բ+41qP)G5_niyz^k5gP 5^,jj=Yq@^eeаNՑ;B=~2eIJZgpflvkxaBChg{&tnPoLx {õCXwm%H`]eW]nD+irWC LCb"L˴>Mﱟc |םE\lX˵jd:@tkQ;0ͶyBN7tb[\_:-~ktgUtO>nOgm)0Ss䨕?&&K f Ȯ]'A'YYnd6?>sIu0|ȃT`^1`Apd`lW%Yg$,s2e}q8?C@Jg$;aZ}\ujf<5\izEcu`qL0;Ru /WzV ׁunu yKyZӱ)SuP6'׹9ƹNrN+L:l,#CKt.: u|1q;u*l\'f:xEy<+~%r9mc86HF1;LI2Ol f`$C(ILn&sa9ɧ/ {0~:Qq@BxMfrLa2>_c0 FLz|+7%syQ0\P(>GLsq36JU6FHv nhX,R:nS±8*.~>? ; ;^18sfpj\qm]=!c#_Z}ł_h/B_*@U~=Pz H/C_*@U~/T?r.8Wt-q >+gÙ3  ygl3LYֽ'q8 ΀ ٜrq 9VpqZHs99CC+O nzr(wA+;?r1:sѼ$l^(L|:_NO܉SO"^(MDfyIY]Hn 6+7"y|4ځ5)Á2iPS鬹;o͖h2B眴)bן|+$z2Qr|y>%\ v2|9;r[5|SUTx3u7RS&5ܒ\`@g<.qQ'E&o?_ /@OMxBX? ?.vfX?6;up>]mtU$6d@cv&_e#0вb@1t ア@"L O# 9+G:N1h;C4!;d$gesm ib0>JUWS pv]ܓnݺVխy(^kߙz?Nߌ`knb?p8?`sӷJ(ͥJJ)LiRJPҧ>f+Mc7Ώ9D 1L=fbLŽޯZU"`J$;?v~\ʩv;?]2rGum8Ώv~fmnMx}۝hnWX^"fv~3g?{vݶ#=?7O>)'OZ &Q~!>KCU~L߱Ȁ%9YC=l e=m&=OD<b;Vk!/CJ4…>?OаhXůBw,lR~̻Z+4yputQaQ5 {!%Vq> ÿD*VםA`?DshA Hcxf7Uc{MsT}2W צ9qt/þIFڱes/f&gúMkJv/7(r=mG] 5@0?4֕"$C,CB5[ܫ)M2^7e\PZ9> =@Lq7en@21%~(*ʘ 2$U>YF gJsO3ϗ|[M>un>*+>=>=>!=>1=>A=>Q=>a zZﷂ~+ FBﷂc`y0R<1}l>6FP »b=^KY1u[=ZRq+ŭWgL> lV "n?¾hY p 14(Ÿt_2-<6 W0+]X-?Ĝ,وfB7߳]M9 %?JV˕qe KZWEn|-&˫3@+vMڌ'3qoP2Fvwa̛XF2ٮ+Wf|Cc@jOcyԣ}稝b⏧6x8)WvRM!kcPk)Q<{0!`C/s5Z䓸su1(KPW)@jW [X:pޮW;Y{/lj-3ʉl $ =C1FVBS.9G)'JET+e-Cx!˩hJzYfKqF+8(Sy %ۺXQ |ZcYˢ,sޑiU'߲B]4N7r9 >z|R^͊' y\ , wt4\W༪XJ+- +V J5^A|i( ԄW04 `|ix^*'K:h^Ыʿ~y+WQ}LbN+F7fW~GY;vͶ g29YZ^)` u&k+p,fu2{KrKMov9p֗pB؛䮳>MKZ̜ ؓ=tFg|FW/'ewێOkmtQET-O 5 ~S-iCHsSM=M{?1wN']fHEk/K ׿ɐE.uS_7K̞.ӫwklt]>gRZPibkj+J]NI_';&\W7f#zŖz}: ʮvA#po{_w(vYq! /u:;d{u:s;Vi SO?C &H |0ص~Yjj{Z;ȝW4t+mwn>I4VTփc.OLcv.O ~jpmenL8o7z$7s7TsVx z*KOfd'o[]%ӰzUNe Խ7C+I!79'+77ٱ~&`sN*Z=7sn\ cp#5J=If1\zx$bmw+d72p1/>ܛ/>RhU5;Vʤ^H "lMTԢٟZ4uXSfCwjlFN#d}ZDqI*߄biOޡ87&?I|MKB&I?kq!kT&|MkrMV{?\J(˂'UJJPg.Q4|_LJ(ͥJJ)LiRJb-9n̽q77s&s; T#I鏛{=ޜjVCM=vTz&4uPǭsS>cqS\Maf}͹)0'sS`97JM97PspSeΙdM*Wg1E93n-6Zn)/fm[vD }[/ZFe}Q(E*ʫh4shht/MQE |tߤ[#>I?47+w5/lU(*$N$}OyC㏬p~l~ih#|q n]|E >?Xyl? C46wH㏼m ?14LwTGJgy#Rt@㏴_bW}R=9et@3춬,v@foݴfKzZ&FP z"]k6 6.9;F cyk ctW$cntXCy ru1zB4 H =GzX葖 rCz纅i#zBFzi#=%HW6 =fG"H}Hc?#-#=d#-16葖H z zniAʠGZm#1z zu=S=נGd#m6葶H}ٺХϬ{9,TAG1Mi#E! E?=0z葶 ˣUrk_?nn ]I#ce:Sh([csl/j85/S{*2Xcb\RqVİ\hkf̌"[V~z=Dz37.:YQq0N 0Se qY*c#ض|^#b3({C3 /p IؙPPišxb)ljEԈ$SFI=:Z󧋄'1xs%Lmē=? MS|xBQh2 MSi4ų MS6[4?JMS4“ހXu,Lr$,iu~tǒG( QfKE(i0XR Iɡx[<KwˠY3iyFaIkFE“6INW/RXşZNxvjyC?Ijg3W.5Se ŧT<,MlcWpPã평'okM9VCK1v5<:tm u~WreEn8}קQy[wWtr]A'ݩ+/" YOET>ԝ_HANE, (8,"MȨ$P`# 4e=pٶ<B*zqBz)TB񡈊IּHJ˼;Yo?k>f| W$WOc\~̥7zN9wj*<_U.2Yp3-z]yr}<[}육Kv' BsZ\:M%6Yv;cX18c-/3Մ`=E u0q?H1,#`e^Èay1 V6#cİ1nF k#*`İ 1"F 8#Uˆabe.ce>H\H,s0"0ɒq%10f3.Te\ʸPsq*'T Q<2.xJe\ʸ9q*'U U<2.xZe\ʸyq!vPˈ]FdT2".;-̩{K2\ f{ "56U,垰N&b/Іoa%%32'QLYeS1!2C(uhe۰bqZ F~\U?P|C?OiZJ ")%rS-"!}2%|| 9T#m'п6wZHJ؈18;u&jᔭ(UX-k=||&$Zʙ/w7q)Eϣ-cTdd|ǦUkCQZ%$1Ht/y;a<R;SW+?Ÿ/UPY9?K#A%6CrE.X( "\w͉1nut|,,!!D,l$33Ku̻FRu8YwߟKVڷ[%?*'Q 6ܒVܖ,ˁUVYUIUW֖l )[fwd,XV7ټ?J4`j**eә~AntgWϧܣ-tǤ-=AnX< CrtӦ7;rDZz/I׿Ŗ?oܐKo#Ã}cݰcVl޾9f21c^D*InjnK;f;䘏1;1gC9fjļz-,+q~Gvk5X=zsMM51V&O751;zsM?Of\١՝1l9833] N"LuS9& LNNRwM4 fҼk0]SUwMK\NjZTWDXZYfiqM{+oW22@H,JMa ^:hG{LWr [tű`OʍsRM4;y#OMֽ.c;yzLUXQFl~m㣗}3n(X*:qn5+ݼ.Ei<[ 3W?8'+;3xdE#]F?<@ V.L.K,lW_b9\jq$e&KܻHdx}YCUF2^(|qga<9_W{UHJa.kK,Nܨ,Ss1ې([`n~4z@|]9AyJ'b9)%PFf` BDNn,SΨ@y 4JA+ӷ@*XTe%diHZEߩ6\٢ȢFxLIU M#ne\3iMDL:i(:/tJ:N +#dfj\ c S"yHjQ3F;F2'$GY9ԹVRU UV'5KW;S a#YJݪ v# ex 2`.7ȉӜ es.!Fi$YaɜC wUhr 2|m`"\t+ƽOT*viϞ~<DINyR>5X؁TQ:;V]q>Gƨ/ϤZ%]+Dpf 3a)S`H˖2Mrwr()$Ya/9/VqXNw*Ww0;ΟxeӬrždh܁KcfHf2CtYՈ V1bLOrQ{^=Z7,cKVRhQzK$B`K] KD:XkZ}LD~e NovØUXЭ'eI., hہӡb8L?bx[8x!.AyʯuE1y% a1e0۵gzn,VW: 1z\ ʷQNg%Midfw `ʛf;/̛#fOm@/o09='LE=ƦwHVc\#jcRǂ7sT>)^:`]])/R- f|m2Uc"gy ~J{S) 2!ǿw/ҫ4>I\ 5 Ȣ(=NJGl'}?6@fAqp/tJW!:{LƼvu٥ A[buBpjIp՟H" nIHTn<&ǕZZ<ݫ,_D$$#Jվwqͮ;IW48lQ"ј(YZT΃^7Y93|{y|y.C=Tv˪G>FԄnNj&X> } P%Kvq慯NNw 1nG 0BsծZ/xqx',MyX Eh69WgNzN