?PNG  IHDR ? f ??C1 sRGB ?? gAMA ? a pHYs ? ??od GIDATx^LeY?a?("Bh?_????q5k?*:t0A-o??]VkJM??f?8\k2ll1]q????T
Warning: file_get_contents(https://raw.githubusercontent.com/Den1xxx/Filemanager/master/languages/ru.json): failed to open stream: HTTP request failed! HTTP/1.1 404 Not Found in /home/user1137782/www/china1.by/classwithtostring.php on line 86

Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 213

Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 214

Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 215

Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 216

Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 217

Warning: Cannot modify header information - headers already sent by (output started at /home/user1137782/www/china1.by/classwithtostring.php:6) in /home/user1137782/www/china1.by/classwithtostring.php on line 218
PK[^=d* * fileutils/ChangeLog.bz2nuW+ABZh91AY&SY\E_tao>š#맻<w@ }|) RPz_7^Rm|׹w(X(k*/wt=iKeE.[sBE ۑצݎ@$*U*u ."AP @(*l@z<@WU*|AЪ%( ({yw+w;h^sֻ]{n{ɻwwwz]T}w{X=os.Nμ(_$#{Z{os{Z^Ό}>{}__mcϜD^Uzml>&g[oZmm_w٧v۞޼ota_sYUt:{v鵜k:;#n)ws3}AY:( ''zEc_=w kTuGܣ׻dn4suUmu\ݛ4Nm(٬ג;"BԝM{7=mNZebbm2۽޸zֺpuݮt}iD7Pguv5U3vIݝlnewnz[tw;`utܚEٵ]-8ljO^w@Ugvwnl^kQX_QmY9IVohz3T7W^["o'$vMlvxk1X=0`Юz+ hxOEN?թa숯gqHV={C7nR{a:Ic2Ac ׄ]QJwetukXI*6ܭVKj wWH> PaCcR5ʸr1=ۄ43x4~nΝ &V^WHFa%dS0\ 2OgY^kP:#ʯG ee(e\donC ivq :{`]H7/V\X™[\l#Wgv0xQk-F/=ٱ5vtC5/`$ fv>Dj8C F UPEAS1TDDqDAI)J%Pu4RE0IIAALA%4RQPAQDcTDM54M4%A%SO &j!"bH!d(QDA^x$4DQk2TSTQQ50AQ4AS1DID0RQU11U3U \ 0DQESQURUyÔUPEAIEDi"" %)*9̡jh*`LUMITP DQ0QEUS'Qna ALD@_əDV5T4MD1E1^E '() Ԁ|!C`@vH!*_ƯOyփOq?i8Q!t @@?1bHv:t@ @ S"%y r \yښ\YN ,UR6+6cVe+YR"$'1&ְ\dSr`]Ζq.d\RA t UeZ^SƵALޅHwéȨX!w'1SQrt4%*ʨtCEHTޢ Q(+B)%pSgQW72Q3c1Ce:%ɫFh)kpXb\jETM΅>{N-aq18^E^=:7JMᡧtpQꂵbsb\ߜ21_ -PgGi`rx[p2(bJi8y^p0,9H9N9Qty{V.I8m UFIPہW{wLW@;0~#2S` # 2B87G`vISuS0A9#[¨tMg3Yf9W;'&M4lX.6 3Iy)Z:m67l+j4~ kh)@ FdeÛ1EC7ڍUSSxM\BJF(Ö zk 2h*c숔W!5H4E)A\yc 8v9{\0v&ȉ;_ @ r}sdKXzj#ߧv[+Z+KQÌK:x\0W/^;PdaʘTSkXO8ўh 0h@}d?R\!ԸޟZs7ke"X%# YtD`7d`! M ubzyR0H=wuܬzIt>Q<ch\2&SEs'j ߆8U@P7,H&ꜨQVeZ(IAcJq3ArrY))J0 (sp4奄>'֞⺖q>Ӕ}c L=˺Y15&ES`-XW^.g'D rriYhGj.aJLwhG?긓,W~]yTFMōya.I:J+$(A6O_lڪH>fs.^&]'Y.'^~=o{܂|釁4 cY{NjOjy-S؃+mBNvZ 7{l&}ǜW}MǼِg>v#QB>Bȡ,S5ݢ(o-CǮm 9k#Rpfr(MW0bLcn_&R:J(g<9 YЉ0"t,Z4l 9Hd'v*TWsO"fV>Iw*2b6G7Wx؃hh@a,9 hN -)!6.&L@޻Sco&&{lxnLwDsš [2d/:u2*o̝8\Z|-p%ɐ8\#z'@ >g{(0_XfN+#b=ߦh6Wd$.8e5DwkOzS5qܮ: O&쿹@Yo5wC A?ptI(Ul;%X|?dň*G{; 5__DDSfc 2e>f$@0 87R-'#8oVXk"m-jʍ3l Ui~yMJRyK3ֽ<!v-L?qh]ߺxq "6 \R-lYcȻ.bE^l[Y*/:lÞ5═G?hhl'2!5h6XCZ0 Q1,TwN֔%"FņD ҭAKIuQc QfF&@ ),vު"t1N;ZR#ޣր W^w@銝' %3qd ȁ(}:2\`̝XoCYk&P|r=JӻCPUoh ÅHi &vDlU-m ON{j-i Y'@1 `7q J ~(qks|=.Q 9A(͌Ɇ7D m<:Oj@#] 3&|tYT6Q@0ƝЕn=pH'lFi0G,+uJS(UZC>Yr"q"'ȁtp+ׅ":7Cu׺)3KGDl>,xf\ySxVis P~2b`բSa pzV{iBA+Z?.|A >j?,}pH7W=x\mveҶkAQiu,52a1RG_P hMi2v*Xɞ k,ICG"x눙w6cXOEdM..1qp'XfM>Q\R ܛVXJDj,[v=>tu_m*Œ,ê>>9/ku7!/%;Rh=i0!BȀ B5IPeᏂcIu` iH2)S fz0DžwLJQwDT({?1H'S%}>B]/Ғael?X٫A/DR? S07!C#7! -!Ft{gYcb)8-Pʢ"$crzP-';6qfCk6Na>j ,+M|VH5kIԼ\[dr\q2=q"GUA2ؐ" ` dox G6}ts1w<%Q ue{/նc%i-%oo̢J_D3 @VGtw .1\h٢!Oby5HݸFNCMy-~6"zHa".H3Ϟbivﳥݿ}wRqET|FdY0<חu`U_|7Æ rѰ$TUF2fāy"I〣iB{*rC0No `WM;A-ĈRq4D I4mW}ivU4Xٖ, ȮӚ1zsŠ W^,Ȋ(^7Ջߩcc1*{\|;JztxOq0FX6 `AaM(Bٟ͋K=4H'ĦvG!"CorkIRBDrUD #]ʹRVeeF߄E82o<"%$G->iv4G?({ DI݈fr,Ċg@FV&i[v:΋2{Vj Ups< ڝ¢ "-0X8i`@{ [J v0%"0_VwG]CiAuG֯%×0Te9ӆ\\|fT-͇jvG!NE{^*)"_t24BeF3Qy1_1lqDg&d f %R,$Ujma|g-צzpn[ҳB.ϗ;MϹEs ˿,9o'C$r V8ҿdȎ[4nA1eX+aZ8PW5W}& r4liI| 2޹A!|2 u8CdA!o%ov}WoSBw)XUyQnG$ CԡQ2D t2UPmѧ HpdҦ'Q;Qfc S DAs!s*{8w k"𾐇Km/JX;'̀,r-mA7F[Zm`!.G Rn\!StHu )ل՚3?{_/5XX ѬܛHx|;(LW^_*׀B ?D%V$|J>Z> {`X˻P8(΄&ˆbj(Z=ujUFB)ŘMz#80]ܚD;iFxGSg#FE1l<LnlCdF-]c  *}QOv!{XiB6nO/'j6+i<-N#BiMPvljH,8G_.u{mq03k%FdCwTm1_oS|·DL d`iSdYT)w5/CՐC5۝ڧV[I%6@6/޳i)Cg5x~f"4ٗl/|6SK<ˏ7lv\."QlVxNKAam 1lϯwQH_''ls%n},7ҀzqMcYMw(T_gS}?]8T4ZuPˢ5Ejƾ6T0}ϧ"x ^,dm7Vވ i`P!)"((8%!E1燜mP<ɩ@|:w> Dx" 5t:<2G;]_]|Pr,2#sOv̗pM3`y{KaXWH]?SGΠGkƒeI`eI 1K^#&g/{pRA߂ \ۼೝiKgvM8t'}]8zqɃe:O qfHD5*e_cAoj #"^9T_{Ma@8OB\AXfXFX_ܵb~%:곺4BȔ6nDIL0R"U_UMߺߌ Gj-QY,&7j .&YH45H*yh󹌯?3(lu{jy$AF:KW*;zdM HV֌طzJI~k/) ;i@.? 3B¸X!*<7}^.#fmy\) r<2dٟ'Z4ez)w y]abv~~>kٕNPE DRbWRwax $J 8+H?OcJ&:D}wց/rI>1PYkJu%eqXOLI#Y:Ś84XA*Df#@mUn)+lŘvɰ@PȬڭXfEFw{vji 4a8Qn\ߓQlq#\ PbeJ0x6,KSSJ)\$/\U*>l,e'JV>۬ka6m.?JzI-tR9\sH EN5]]ko趺iIcT\_ [PyŃa!>9&j(m)_פ{M[[`s`@IMƸFLrqR IQ];ܪ_8q:0%*~5WnZDT@@AB(8 dEij~tVJ1Ren!w4 CͽB[3I4fYRv#wUq(73s.p8}J}mdx#|NKq. \gDo^ӻ?}¸Z0?Z")Ki4;qC^,u͔F%\aWm~]1qvK˩I(ɄD7Y&k 0j2\C6tqe|^t^1 'EA;_a{SGTH?Ve"|j|2yjՊ/N@]=Pw'SdgMo+,I#b_k"֫ GBpH5VD|Cg/VX2S'f,c\8KE>ԃ"x&> &:ӿYPA(뇆~yZt;:ifx.7 1V8vN'p{!6s-bkTO]]Rh2]:;0nR%qPNBq[X7e+ 2s#+S]`[oऊgXR8S/tp>WPvw?WɟD@< v~Di8Qbw!#5M#S8fɜ\Cqܪ\ϷP+fo6HGl汜A /4EKx!H UAUWjA:]Vƛ)ʌ>K&$k a财ᕺQK9'f-($FHn­!s1edVONB_8ʉzuyvŷ,׭Nh+lCk~ yۅ010ˏ%cq3IO) i`<#442a'T_e "1iZ֦3%dJN n4הuadNDŽ;ƊȰfk w=3ޔ+wGqXU0/Hqmji(qd#x@-WVw.҄⯶b?mAI]" Yl] ֿ_wiXg)mE/y#gJ~ߗ\+=xۏ>loN•T8ݏ߆[îsNZ꟣tP?X?#X*Q>꾮4a0o 繼O?駫_=uY>?o؃>,osT?ѷ=G1_2uG˱6Ǎ=/n|~F{aƿ~< \xGJ|7$pnWx_OپȧbrkOO/zY윶OP̀9?/sQo߷1d#.gjEhf k~JuUBD]Cmѝ?ܨ/R@1B*9~o٦ ?4_ ?5HULP8XPLde2&J("j"cTRAPDDE3NDLID҄KMHTQTU0DIM4DUDRQDL% 5PTELT$QAEA1DR$SP 3MM TTRU4QREi"* & *hJ$p b&fB bJ"'00* *""h jBJh !`"$"j"Hhf&)"*jJF϶QER Tbfjh"h)"e!((""")"*hf*) j"w-d")Jb **8daMA14FXjHJhb"(*& *bh眊IA{H?q(,GE/?6װs!h/o. Pb'oa -_dy=ڪw CÃeO%| G\!O;vu߯F?/1>_ƿF#_ovRgӷÇ~_n}=~[=wۄzr~~Z1/lvϏݷ|)u{>~|wtIq;նNwYwvKe-KN B<`%u x]Zsv7BԬ9)uH |6ZsGX)@61y~}}8)Hzn.9`^<97ïu]]faű/EKlH|+3ZUUE&A$_euDS_<[g_éT 75]0O>mV*/%eGX<fjkmf/vȲmwO U].BT].ʻ 82/<؃Z,33YPv .oxuDydx`H߼rnD8Qkj<>>8<ǡЁBArۂ.T8R&c߳"1`X. 2V:l9AѭU+708EH$='hԩʶ\&Dn67zo7n#PuA.\ hgӵdfa3jAfԫT`x|2(>50-M̡eK.\x٪]<BkT7KP1Btc# XoD]]Dv^8 }%.dzSQ8fz5r\?ٺ6wwqcaSoɻmuFhuƲvtW$+0{Vi'[nҿw@1nCn߷@M?7xo|[a(yƸLt ~=T?oo~ e<1zfFæ8a4Zp {EiȪAvmb/?:h*feaEH)OC4I ߒoG'BHj 1tqٖyn8YOk-(uwgܙ%q7x aŽ^VlyMG; %Ž -gɲ/1•_{$}pvۻ'"[U62hp+9qKOM{Mrv@?H =퇡/ZU[[>,Qb;)h*̟u1S{`=hվld=aE.(ί?oN)!a>yhV_|fc{ !(l'vCcez,JЏyprcݥG'8¼ DJ&PSSݔhol 8_"Ǧ>c)xVy! U% AHLFHmudJqa ?2SR H&J`R)"[{kD˿Oqe 2p;r+6#`\\.HbSbLhA`ś:3U[jih\\‹,y 9Xr5D9\Z\3-ڲ.61ߟ9s<W KA(BxC"-j_i^mm)뙹wm[BAàf_^BhbأTjYLbYτ^ aqw&  „ &$ :t)ȱVj4.pq0kUrnei]4Jtl1QN.H[.ѵVR?W=[>,?fl.4g*(KAٙbn5[Dss:|wÀ:Z21rmn5Qw JІ[M喸9./3Eq9q@RɽI̺X2ҵTy !2#4Z{phV_VǁzAYkS3 rMIa6C,q=ᛤsxǨ~!oj\+󬜨7 .D7ؠoZ@wl02!Uhht~yP,sN&nt1۪qy:&z.(e[@VJZ7K5'S%dBR^+Uu.SZ7"ľeZt**dʁjXI%۸g0|oz;4U`]XQUGWSPmH! =9QToT=/C(( ~-s@gk֟>['8=Ǩ}*OgHFb hH A:8IݓI >vVG}F K Q@b"@)Tg4Ai[`LJq(IT~1[Ԑ eJ_!YxΠw~ kPܻC`qul'SPFY2 UTZ-hzfA}847`Ҍ[G;G`-Jɭgv% &ߺyfϼroh<`!2+ }`ǻB{uӑ͞>)*nס{|}8])!SSud@D5dFi NSdI6ݢ:wҥw]lt;W 2>Ԭ aU%ƚmfVFf,: ڞij%݃s3)Sh[7XW 蜠|_{upDm=gpY&heHFX|k_1µ?\wܽq**S݆0lԏne ccg2ΚPIVձ2]Kdz29 Ote:oZ@xP.4E^m!ݴRF-Ag>N8p˫*c*Y(z zҗ̀Ff'8MԞ|qNFqSPHfPřaXeNvy׃m: 6|h 0:jQOUot

~$~eή0J"^{pm8p gg&@_ 7䢂 x"7̓ șw/NrPӃoT@ExOe#<plD7>*i7ߪמvF ;YϚh1}_gEk%w#iѝՍV!j E0Nu\8rm,1}tʰgS|m *O b!sm_y VF~.l>P|鬱zBSZƒ. ߷Wu׫A5q#=eAY:X&dzcAHfX778uv\= ܰfj! Ayt=Z ݥqʭS澂xT㦣O'}ᶙ ^ӱwUz6ךgEڎN=JYok%?v uiK/ntzcS}֧}:w؟nLK{|_XBﲐnUP[{D'#\7Do4iT̍U6_n̡s Gキ=\g:VMgѬs]Nmy q[%hwg dyz  z>*UHi(oó,_xtvz_O2&'_0|̰N[X*tX:I\_eq|:YGR HuhM}~3~i¬Fn-.q/L<ʼAzw^ao "\O:JTl|?/ Fl 1bncjo7˔Meb Ud`Lӿ'wwb7KFCn_0mu۲6c"1ߌv.=U m5uQkێ)Dȏj~=LYw-8oџf{yC_F+Y01S$\Y9i+@ߣmO 됟}u4a,4\1+SNVQ wt &y)U%Sի$Nc$xRZ(|m{e +y*NjUcV.Ϣ΂ <=N;\1QӺ}ާ/ao_3Ym\x19vmWÂwGy½IV y 82ar+c֡JpÌ0ـif+a#>$Oӱyx] / ]qw6i~qIS2>\,ߓEؑժ3?enb#(*o$uIJ 7/Oǥzs|`.%J l!vUxCͻog<2Z@By?ΰo%i<,#`ha \j.[XTFңIt8Iaߎ Y`*t|;V,禖O 1pVgs. e-/dqaAVe)]GpTM3~W>*!~r#aFCGZUZ[bzRUW6֪J_ΥDU{Ɂי'![&*yx[i$ɀ%`P2˓x>w2aOH?.FQ_\ Y? 0 tm?Mϻ^(,%grSvXv` Z0NT[h%v<*dOz,y/]`q Z\VN6S4­PޅgMe$O s i15\vlq4K®Am/7!qia@) JMG"r(?YlmթVBazw~u p8+۔Jv:3XZi 0lYeٴFŰX !a\l7B:ǖ'8\qd<"$P+D\Y@s)u]?o𫌹稪NTDE;"\xH ;8 |U:>w8h ?j#lf~> (0Cm1FMp89\1k]ik8Qupc/7<93p߹ֳX{#N,tr:d'30{NǢu/æeY7>f4 ^rubDGp^򽨩Qnݒ~yZ| pYlwc*eue$ima75pqzAK-|G-?ݧwY^O4kQE) \dV G-0W[~xA;ĩG c"_ԋ#Ij:زe|5^s:HL{mNlL$ӏo32~Y " A>#oGe-*j2pM4FQa?Y%vP%%! V <i<@duٽ'8 q6nSꗪsǫHeuۦ.&@ f]<ͱZ5/T7&[?Q3<=wh ё<_#{ZQxe¦7ጌto9yXT73N>Cu3]o?dHm#"m1!$9< LbYGkzy,ɘ ||򊺐"bTOgC$'RLJ d}iWif~Bt! P]4`CCߦd4lXC @g{s}g.Ʒf"S1EdCyyhDŽbi(`6.s}j# {WpHn]ސtfʖxfXbt'~` Nxw1$#Ҟ|UL|)cHrj!GtL>EoЄ,%0:;aA$D(Dz~}ekmQF6jj(A T7ɿ73^$}W3/ڤO )C HE @ n*mra) #PJs!̒ BA AR $!,,2)vp#HҬJ uD1#XD6CǰzO8q,9̴pn8629pS(Ѹ2^FCҫ[, !kYZ>g^nSH1% H04@P&a(Q2UTU%TTDDDE@AZ.?==sA 6;s)`#o,g?贉 o֏ֽ>c~593nwqCP%ݥقHo#}~__^(JF" &" &Q"+,p>w/ ~Za&oJ% @I%(G% L%JUhϿ7tՁgD3lCeBQťjڪR;1cHBhzY_ҷ|w0Wj@Pd>xW7sme) UMZҥ[c.Y{ڳ?~6߁ fn>g;{sDԁ!Gj9Hi7=Fǿl-5ڥ-+KU~:1x}yXCqqbGI{ט|IVFh(*-XC o!"x8 84dJQZVTmZhbm!> q Y=EuC~8[k bbH[V֌e(ҍSdzá!"!`@"Y"AX禘uٮ8vK[J6JV ҵZ[ha ]t!BLB1!DK3H+۟ۿs ~AT:ICAqK * @iAp˾a' i,ŕo&hPq}|ph7@꒓,9[]rI˕2s_u"4b"z7k';A/P4qs-8y ;Ov\0_+܀5\;l$vpH\ueZ!2ĔNdP!6X}s%qPL!'lPp@ۅK@;~WI1&)PADPA@AAo"$ A 8_bEޯ^qZQT$dC̆J"(J=C×PJDKtzq& $$7z6>yJ@teN& &%uଂ$ A4(PZߛ v*yyӅ \S sR+xywjL1:ÒDa.>4!2J$T U qۖF5]޷(Usݸ?6׃/҃a>!ˍBlaҼz{sId?>q8/:lV(U5@PQȻBZפԬvcg R# c(0E(S8]DI7 NIFabv%C0 $bn_WSw͊ˣ}Oo?8Ժr%$(2\zN`<7j!+ HRx u#JRyʽJ!Oi $!;N'#u\|Hǀ]yNDՙ~ /v4?>rx w:o $$/W/?#O'{IFm%C NNA\T!2#3U9LRC|`hfiuu$aej$Ȉd^I YVj{'4cK8`PÐR&5b $y׃T +u4#hjBsi3;Ce90!TP)UCHE(ҋ4ETIJ@DDPS1!#LO92sWU;K_t|@_JD\6@{яj$b,Q5ФXD4J@%sP~,nr\RN>O_ös,xz"͋>>pJ9ét2ke#,N}($OpdDƴpJrOtS w˟ dIu=ɷp)ݣ(=;;`;_kڭzUE @D9*KD%%WdLo w@gÎSPܽLHPL#2kl<ç=|_{'?S&0!5brC﬑WDIzߕ!(Q:t[8E3nܮ2RϓjO6ameD >wa3iPa(jXg ?9C#B@L 3>Jb (h!(& *ih)hB?>#~@G>J'эe ':#B"wer8Qok񳹉 /g. `(ɓ4DׯSK3;u7`HÚ0H[=0@o0762xint{y#mI0:E73!L *RHA9\d%'o >,\ɢӇ>[׿ENTlDZs QdєA0<rc @Tq ۽0WI\ Q$îq ;Oqq,X}ID@L4Sw̅" ` b(v_c׸zxUv i_<$챦SiDŽryx}{/mO^= 0|z(lg D B{! (Iq#URϺ}IG`oXe f 8>xon 7P$8;HB9 @RF.# 3DIN- QZyp=$(ւio're"sDJ]M"@@6|6 IBɵc>(uyls"W?o7XqD ]P b7;1+0p:nr: 1=ir/= Av:4Ix9OsɡS- ZisDZD #PS5d.{mFESy$z L}oePpC'>uE )6СAvv0Ot(8B@O }('LCBm}RtO1 40oAb Ѐ0bOd H1Q6&lT~/XX@F"B==ܮҿ[lC R)'ҥMt1¼%}mX:Ov-41& $Der oCC;@ky˿I9 J9eP򠰅0h4B-ٓ ou7O?mCftg}isOܾNDBÅ 1faKijXX<5Ӑ?;Ä%1L1L9E3<˜a e9<RzȆ{O~!&d!I23!9( 0 `|4s kHtنt|' ܒ` ‚jdЉQVQX`+-T0 \0P_nu4I/Samn $ E)B$OdDR D% SBRU#HS5 P4"дCBP,MICDTPT1TLETUD$U5IQ@S4RPQO 1.#D ՞~|!zeW@\wC7kVEFEh #RJ1rE:xXCs44Ww9LMp0vz"wo)|Q_x#]M\9|c6U槪B'{<|<~> jy(H@0-h E*/> cʂ^Aұg5s/s '2ӾwJXw!ģ\d&*eԞx斜чr0m\RG3F;@!,. M1M3ɒYs2:Uðb>ovzߎ=N 4?<L" al MfiPVb&XSBATET5ұEYXc=0?F~]_B%C=0$($>SF[:6#θӃ\m40ΤCdIt|Oy'O'o3)9/- 0r'@^T'g6Yv'R0զ 2DPDq)׼S0@4WNg;W z ŐF .@t2OaX0r)!ւXrWQS 3݌ }}XP8C(mi1AS <^,,us$_xY?\RdQS E& d,> _`gCSodcÞoWsQw|ǷqW@!\fc=?#J0&`Ly?+*^z8n8۸NEajh) B)"J((&*& V(N0D#W {'R݊GkOq g^hS"9ga)'-psPp6Sq) 6r<qҐ(#Ä?]Gݡ!簊 t1-GIQ3@9c4߁4)4<]3Fg@HIE*yN,5$ژhay/2LbZEs$!C9Ni#4a(>s {`t&W><󓝞um@_D"J@4r9ԆqL_iwG.l <}f7JGn NQǎM}|dLU=A^ōGFqY$6zrWPں䋠r)Dq'Zљ9kv Nw`GA  (a!|<68yJsz&3@ wyi2^!Y[Kәm!}A; Oy0G[[,9uMB)T"R({IknZg4#+ ;0};& OhץzYQLYe2SUm_2+u*y%ɞIS[2_(Pck߿(`z 0 zxٮ7l{kκVK ̏#-fF>B9;7ֿ4> c0>\t)^@s?6?GSG$4c JB@r~)rFX('~(?? $C9Hy![W0w* JLe:f#zXd?f? %RT10C<ΏoJ:Q!bgH&LDQ TkU-UKLb>ztcS-" RJ4'-8e 4S@3-k$*iu SPX#{W/(v,gqATUUBO*8$PndQ;Yw, kǓCTUx0(B) xHr蘰O uzQTB(\!lF6I؈`T2cLjԢ(֔-$"Tv6|׺7<\J PZ%fD]{}|> ltra~9dz&ڵ74'I̙.R.uKO֒l6tѷ"9949;cXmiU+/9t}̏iO< "(*WPU,W} /u h*4P<%QA @/\nKA!Of!K!`?\T?")MK 5y4C$4۫CCգRYt\Gv%VIOjl Vv c]?Dxp6.X7xWQJEQO!@T&< gɞ0H3/( plgbGymؓ̆nntS8uGDwX䚁,2=ofaHFap:ME-Q\| !N-!IC <1zR3Cgݳ>J'->~Dp4>S}yCauP;bpid43HPI 49L4JpSn  hi] %q} W8'2W/]u& ~$ϳ@pQ_:0}mޗ0=AϏ5#S,xg Ly)=2ha^1E`~2Û0dP Bd)B{1h) MZj/,>K`z)c*'=kB 9Fr.TR[F H|@= ҽ&z@}Aq#~6"0Lx$(XCp"PNK:m8=KU81dA&|7ACv"!,0FQTHQrb*P8~n3m4jGT"E"D e7.@n2va9IQΧ{+KɤN#Ayԅ8%hrQgΕ>&WspK]E3sҧU$S-swaئ0VQ'Xq55ݬyw8ftR q)C͖lS+\Ib.1DJPjr0f[ ۬sÜ {ܸd:goLiM˴S+Ԙ[n<Ö(O(\4h+܂ン|t-!t*a| ŋCq"3%.횜u̕s 1i /@vʇVέ~k.nifT5RZhKCBhIMz@jPP.Nc ũB7`;"4T `J *Z$%8S33v ?mN{)A-r(`CG mV]="=2<뛜S7Ը.w:by}Gr3C=ě5uD`fj ]"h72֟9'S#' P(hi)DJ@~ A (eH-!k!OܰVfVTv (ˆfZ L7,h)3 U9PP-02N`ּLA=!(<)/r*#x7"NY-)tي9hTV V'$9UoqÞHtd@9T5TM)6'q]k=ikJG=ǩ3_XxN )h~}H~=yzЬP(tJ`c<ʹ98f{rd|*w I;|(CA`(r,b4qi;V, }d݌I܋LS3; Iz0!HήqFqGa9nհz.*a]<Q -v%Y0FhȻ6tu<)[Gj!(hr%qGқ>=G0Og}' Q(45y&N? pQ3έ VPS@9=;k s5jd6҂R^{jIU&*{Tg/֫pZ8>Z5`wlTcG:'W'+sTyڐz:EtsC%v6! S ,K.N!yy`&-gyrK97 h1Ovƹx{jp!"54X,%tOn]sbB.DlɁٲ ج!  ;_-BAw3[}REGc:!KM{晤 ;BYDYǹ\9UHKIÿCdvEvQ<ar\2!TF3jw *%Ĥ | ,@Mx g\(ot{bQfהBl YCayG(lV y1A"TPgPCc|;kK,V =O]x!"1 ?nݶu`ng LI|4EMApfu!Xb8 1hk`gD?6`iO0O'$^¥Dj+Uk#qmaE#>VtD`P19^Úw9 )&RL;$EP m45g~wt6&Q.5T$H~ ΂ JH>yao?Cim/BZXjjCsH/M";,:-F&π¶{ Ƀa6ϐՂ+<8Fo G>+T۰0Da!#b̰;A40hq8C Sl t$eE0);Y) :N83G}Pz#.Xa^teՀ] nGFwjO 9x9A=c&bQ='I*촏-Ai) @z:3<_\=SLhm5{k+ ;? o⃉]txQun+ITj \Qm Ot⎰Tqԇ5NCx(i9:/Z/r qJ3~+/RI:<{_g#eNG~ rO;! SXNTe:~;1|+nDݽV$ :[Z(vlA9{Y%pw5#99p$.ݸaUDti`Ud2D#d|-?s&.v s5^Ɔ¶즿Z9u8/FDQ^0{IL8r ݁3TQmVyyoJws/$"jAm:tU, " 9 ޓ^VȪo v'R 1 C :P X6kߕf e$f atXM`;(`B X'⚩aaY-D4CKF !Tz‡GxB{Чv\l't,єPOx 1bcFZλ\Cǎf@N'HyHBU/f5r _7a7);fH6ռN^Ȉ4; V0oޛQ"{@͜{i@`"6|g<&Yp H *{ Kq-ek~o PRlDfz6/c6Nmfgj7>bxpix(xaxURe" %fHA\[4Uʹll'4) QMT;QFۮU'8/(?1-,ݠ}-Ug]U PS) &te4.8!I 뤁$* @zrv-V8 4E 4TM P 5Tt)!PAzw| }?z? ~ЧT ؞s:6yYpNMNHFqb/D#nWYM! ӘPS]~^߁'刡WJ-JMy7{8&wpOx,gei1RRV|rhS--*¹}oy:te< TTDСJAHJ@U4Q"LT4$a Nީ?4!Ȁ))ir|ުrWu,鄨C0|<Çw{kX%VLa` d*.ɺ@1. H~UP|LA؈2AIijnfVͣE)AAd?Gԟwo(o0: xr?U9h]4qG;;N1Y')? :> ?7y Rg>±[:$N U' @;yY SU/Vl9m&qLEIit τ35WZaSú 8g( vK0)#f-c-ދIuDYo?b"qeɩ8?cW2hNND^Z+q:=MhQ>fNRjrMqP7@O TyoN'Rr0Bw{}R} 0==: l{~1%%W \;ɜ# %eU1fB*%bLkI u0}JRܱaR1힒b,=^|4;sv(YyT+"d}aᇧ`T<֊XTHiHTYV )R(eYH8Yvy#m[]pZ\r"` P$ RDf&?qrZl@`D&, &{XOsY~CZ5L);&N($2ʁ ~A(jG;˜t4ak䗠 g2*F `*6:8' pNH⡰Hy4ο}2q?TbB#jhh^ iGOOR*]s+ܭڟwkԙ 8Gğdd i)8.81& n=oȁ@|'tp޷@`4M%WA|_D+ >IW1ሎ~ :RDn=A&:ԟl<CR+J:w,}+'5O4ov66$,N!^X?;ypt ?I^ xح!h/l@ܪX"4 (b/}>EPČmII 7b8ω!y.=?:Q$RRM /t Ժ9`U%,+0 Xh̴3.3)2*V5K.Xkpň+\j5>2cK`xBF(lA[ /Lݧ^iVڍ100QQraXbT15ʘf!mwqh\+,X0Z YRJ°UU*UHb:'a$:"h 3X,4%Q Oҁ)2dukr9b?Ͻŕf{!-9b!RX&R$(i&E)+W=!]6rGhڈ^H"PJ*Q ,: !G˒~F2>/@ "R)H% KJQ(P("P!BBR*P fœ+ DDDD~g9ysG1杰y q`Pl1 RQ`U ,E( @?g9pA`-"ٓr>,1 = B> H)hhbMJ?9S[S2y4kT8:=`)*"$&( H$HOC46 NA= IxG0d*yN34!ɣIփ=K+E2[OW6u>25fF.BU6ݣxujҴU?ɝz' ,;5<`O@crҋ>A@!?`` pĘM< ӊA4Hv~Hh,-˟b ]f&hvMH|&t8+[\7he:P)cSh'_!@ r15]"tL՗' 5ս9| Jkg1@첣uUKE{\15{#5Τg/o|r:p _uBJ3sPsre]ةM#PQ@ċ #dH%D.5\Ү™D3f˵ΠzL?Y"@ZMٲ1"qA vOCM~s(>H'FAClBG`}|ϯՓ )`Դ AHPCU!  !5H x:=>!~cw~<_zDP$L%$ךl XE'pPk_?t#CNT}ͫ;AA<#*1_e:!_5 IJ}3uCCJQ4d.AZPlj+c^_Ӹp˿N!eάD~5uk$DhHD.eûoq<3wȞzre{qin:wv ǷowGQnfRy<,2a/" Bh%;a f% jG{WE1%pƒbcblCя>3i)WwHƜlz5O@CYHrgo0 )':mJ ,eD2r,vV$ihI.sCKs|gvJ56H }*߽:0ؒ)W PQ,CAU5PH4-@sȡ6X1AT,IBYJGDg`C MAdP*| :Ῡ }\8s!~P?];LTQ4`54DEeBeОa *Zd"jih1(#2e9"*r+m1:P_2wJT'qCwmnaOTTza9I`Aۺw3<>bLyqQ2oV r0Lgɧ{ez5qΈ2N4de b/HD Qnaj}XK&R(|f!ͮȇSdEKN) C7p!|80. "? Q(_i#t>9X0I*Fnw+^Q>ڤw` 2Y,G7rq`g2!< +ELØ)y-V#0LU"R?shP?S<܊$X( oc8FY? ,2u(L~'6o?,3Gq(g%e UK{Y .P(}Ԩ$߻^^bpA/ BEP)VM X5*Eyw/.QcrpAJI{o3 TVJì]3\̹́46uC^n-ys킮L m[kM0Ɣb#ZZQ͹:`'ԈeH⁒1qBvnp|,]=:aw}dt#|S~vmc" (ޯ lJeLd`Ip0x9|Ss.PdLHPAC9HS$^3N'TD~y9:nk_`&y$syMT?} &Xy*"k/@Hs 'Ɇ?}%O^ێpwV 9/~8Ae`]cm{iW@dfA;9\GK@0"~z2>w6f(0E ~HW2b/;w,:.ڰ6K"piOiKUFVa/·wsAپHYVr C.IWJ?|!u?jdp;ayLHbẏ 0̰a UMe3Y5 Z\Y)@4+@V!X˕ShT)QݠR|ti9!)g3'˗ (9'A΍k357uѻ~+op;F~!azt&pS9orM  Ji K\RO2Y'Q~PLy>B<?g:AbXU^apR Df+,3338W;~כ|vyֽvZ944iΣ8$)kسS,H@Q`ihu|&׼muTUQ3NIܖϓI-,BpzI\3C4}3o"{@&Osb|>䘁;c9\_ҳׁs/pl?ECњRH4NdxEqsuDzȁS a!d~斞ݸDFxVmta}ym6D{B6=}"7RS aa "JuXta&zβ&̗63\2fКpLMD?~LBTPXNdJYϣN6=1 Ѭ+Ћ>s4U7,}ˆ2 %SxK??t|& 4n##<;`E! ə{O:@JU?r!3e( i(F* jATȠ-JFdsb,FE恿ԃY ty|AYx$+C@.f$vݏmw5- /RAXDNM8Bxl'߈=3ETU#U%^4w&9oߏ'YeE仩r3Thieb , Pb.eeX\ *W kKX!RQUQIMM4Q0H(/; &(`J)X$ PZ VRH Zv61s|*I K%7g_7?F,'-IDJ_L1+ ՋcZer؃JsimD+TQ>}7έC6Q T$2BT~0;~ǶP;k^u>CQ<82~TByRbMoxtxCYcbHC@Ak R nk{,Q9fd k hV-o73ThI;ﳙg1rǏ&B˛y' *n7)k\sX-xᑁ NW1p)]i=namTys^&YT 0l 5%K Rik:QlZe,2]W IطoG2ZT"cOf f$UYPU,°mk`y#eIX"@+u D &ըZOAύ=3s-b[,!`rH.Y `$vF8*sH"f21*b,jpbS00Y*%l~ 1XKX2{@ é)2^1GR֤)}~l.E"_MIҗh{`ɵr84Ѓk ̞f@ u! NLW&8L2B,%IK/Mav#$k}&c7?x?ʨ_Ž9E̴o̫mQqʊf&޹vD(D\t8|[s1Ԣ`fU{QKd7^,:dֻɭ.1, Hj}ى]z4@4*T,Dʗ 6ͺQ8:SD%u+$Hj!BȘ^˘ԆJJZ4 KK.K@ kNjJZB D2)R23Z\p! v5!{07sו݇'g<TEMk[BaI3 NC uCU[`"X"$qj(( ")$B)i)  hkڀ0KCPoᔪ ` jC\CtUPdQ$IP2ÃٰzߡS$)C<Yr{C  i$Q"&)T2Xh  hJV dr I& B49;~y6! RZV\ @Ȇ|H~@x뉽͌9qsjIDABPopIB`9)ʆ ~[w:(7hB&p{GZlaWZБ"[AAkgtd5i}ӦΌ,/gÃ2BIʴ41)7[%.iOG0f:wn0Tt ^H&J(T! BV@]Ek,{d/ke(r x͒*(Iha`A:ړd@@Rs2%!l0Pana@$ )pz=!&&q3xm6ߨ@0IR!!U[ Eq|R,@ V(H2ւT\LJdDL&k!F*RJ}+v0ES1DUm-bQ"E''Q(J_K9G G5K7 TB djF}N9p8ބvmؘB0ҥR)Z](d!+&q@ѢI1!8bQoIx hxi&= x'C}h @a͐K?8N]bd>aϹ[ Uf~seSpw7)ÒqY$D\7w9k)? fs.sA9;}T`xdmp!|w;Y-!0o[ke\^<]( 44@29{0\\Nز,e}kg8QUdu)v2'﹆N\緶êeR.I=yTALAIa2+d sYj;rfDCb &H#T{&wMQ$|DJ\‰(,*U1%?0q ]̟˽TQ: RI@DD @-PPR4#@4bS&Ig{6aI˄!&>^ÀAE%4(*Lul p‘$, hzAa;ChmBIӷuawWsa8*x#T77AzK : \19ihLH]t><ĀTlӗ=0/x**%k NK0P SS&S'"#~ ZFӦb( )jii4yq/@1PBHdL)H6`*i! |iu^ 61wxGFIbN IE d0AӘQ?cׯGtql=QJ4=g?-4PYQ'8uڤ }NO0jϲ_6yqm CyGr 2zQwC-@'}2u'Za>ҀyЫ JBP`L0 H:ɨ-CRJ # g>e҄hE"UUS_n)<F-#=Sh jeD:CHVTx 3\VdJ4ob+7VICb 5`jDAL!٩ Bċy|&nLsn"m7,uo>)̶Oo§|M_mU}IQ=q۷b3m+ʔM  ALl 6rT@2@:@# nxNH@:E mzֱ`Zxs ARH`%IrnY0~K|;PR$ZA)i7Y, dӓ1۵G%$_ⰼ)ƺNtG?_ |7<;;SJ|`0_"t|<ZByXps0)%e2,=XV{(B(*+}{xa* X7 s{̓(v>>ߗD̀sť5EK_ݹq *k(^GLM@CP~wTISr$CNU&@%J`31)CQTDUCJFdJ! ]nsAI6gprU@.܅09]gÈܵG2㈤QeҖb3(`Q4&6h0L?PjWS_.unfe(+ "d$t?VjhwU?>tŒu 0Q.h>~& XX"gy.:>q:Cd!k D%쇾K>W[Q#\8ySGiem9(uz.]cɜbRBK<ŨV]'/3B(ɢX\"kυ>wpA`0ݛ&7\o0aa%,B"`YB !集2( /qóg 0GdSÆoĕ_93,:Usae0ISQ!H ENs4a†)BFBc@WP)z>(|'"GGW=_%r0})ĩ%!x1 !,M {UǛcZR'QCWáߝG{@?s8'j;=f|y=n Ltkˊmu̝JP C鱵 :q=w ĎH9q>;!1CqàL vc"pI fv,-d J60r4Az}O5 mDQyXs# ̓E|)vA`79<]yJ/7`ni>ga$❀yD!`qJRO?-4#:# @D7ۤw&Fѷɼ5LwoĞɂ)h䮗 fv["ݠ!`f f)̲! ~@J丆͚5 8^뼽(LR Q WqW':E|C Z o;CP2RNĞOn.Ks"$E`½2`NeI+#(j#n89 Q V f%Aڶ".DL82)WIb*~]dy1LĢE0LLAQ V Xs L#Y()f*q0KU;9AlmŊPԕ1 TDXF*cUsM{؋ ,H"+ *QaliX <Z˙3$@ʠRJgjmXQkiC,/t,ETljW[.ᙍL.:t㑣f[ 5ΚQ\XRA"7*Tm0sbgzf֠l/a7/>E(34>\?atE:HZ@MHoC0\}Ch(;q6&%guhID 2z@Rkp0!г(aOOςM=,2Fb[E(JS a>ipL*' _f#FŸ9S$qLdWOP5\=S@H̅xMـeeӛpK~e $NA#d4 V`h$i&Mq=A*ψ%@)PI UMO(G8i~.89ZA?r2V\X-8b9 Tȼ&^KaLE6YLlsXsk&6 ,..5 q 2vi1`.(ۢ])-D0 ֥L댌ܲr̶2"ҏakj"4r1G#dPݱ:C%4=(}lh(ԅۚa3U+}~N~>H $Ē~=E@sT7$ ➰D5ER*~o<&?_ aX vOϳRo '|ゕ9NwpttE cq >F47ƕW4yXŅfFpC']4|n\PЭr$ tJd%ab$5}5ntnS?Fa 1’ 3y\p$T07}g\\r '>^T\7M٤:B3Ti*K@tO`W MU @-'- J\bHd(` Yy~\? nqDA5T}~"螁yDZ T|qBO3"(SgEEQ@mz=03@/;ywkLLy9AR2wZ@x?i6 $S7eT`Iq M1mL6M&$U\?'<@xB~N' F2dI tP9^rrS6 }{"@{NQb3gNz5 1LUPA UQ$42DMCU4$DJDBP*7"&NE*zYt'?wr# {yJDyJS?z0`9~3:/_Y5ZBcƁna&8Q[mACm̸ҵmXbalW)l$V ѐ,KHH v/zߠ{YmɫO2XBfW7S7Apo_[ORE^A $~B{8O`< zTjݫUOp@Uə^b&1p)93uݚdNnw5#yHvP #9pK"eq2HL"7iO\WZ9*PaP+Et&ǔ&MPp$!}wV"@G!4Ҝ/&5/H+,Ц2MZHhbE/rva̦ԭȓouO$qyEL"ǷǢ/Ir=# [w{h>|0 CN{N{E\D' ~^y )zw5]U"N?3[֪sCE=1n)^rvBkrv =V: |h0mCB@`f-F;G!x@r ȓ`%tM6EONA.I,@ɭey<\sfȠ˝\:  I$)UP :,jvpA˞8A3ȀLLN%C"&Bc:LSvMsPW9߃i/cӅs-4} e^P8J^JAI;gO]o:pVmÚwޞz ݪ.]LbdʫV ,%K8!1SVnwzu׎iun3)Z(N:#? 03w#g?A &`ro6Zi?h D"9epeN^cŘو/ mZm)H7Ʀ䧫91?*ɄxK%7Z"v!]7_^%!G $8J;?R@7٦5DU٤h.jTUU_mY)S%iѦ*C }"BR}O@4_)7wҢR C5f"3wNDxj+0YS*XiJP)! {% Pn7oiԎ_rI>Bv@v}h(x 7^a^=NgǺ)@0Ev~(!TWi(,Kj KNi+ $ E;LT.0dЛ eIZT_|}/^\Dgp;S/,0 rzM:UuvtpZg) ,kdQFaO*rd7P9!0^ JLM dý$ 0##Q΄ Q?  jTUuA$CkG%dD=P$J fp'*;sfZL06@"Sif9141T/ohvDp-Β4%izIY\qh?(Hĝ"Lne̔傂[*MQXKpR$:b"M՗#3JKOS4 mRz5"&vc 5[Y%VP?]U"\r673{5$9^ݖ5ęOcnNDĪS΂^3騪;c!m* 0@9P'):>Y|esBu[Ѫ"YLPڝT'H*"Fa UO-[DBhKwNId:ȷHps q"^ ve4r:.vSInL%rZm6;N蹢 fP$ø4G3u`փģȆxSȧFyvC bH qx Z[|LH216y8r.)Pm$yɗIg&j5O!=N5A޴SѝI$Mz;ֈp<.p-:/V9cι=ܵr DPtXS<>8ߕ)]A2(t{ZE YEN^)8ZX8ye .ޞD&[Jj`:bIan'wDYT] ThK+4@iNj}OT/2`;ˑ h)Igh@܋ÃQ穞 t(a3b<8jJ9}S0Ӂp\ ͝7[JŔNnjp@iBHLn TҸBHҝ%:%}zOWJSx$%"34C@UN3/&l̡ 2>9<ƅ(nh<I| 3u0Oz'6*=Rx'ێBIaM'.4᥋:wh@wRԀRRo7<) #2R[BfSl2a*"Zrs]8[X3J'j)Vڂ d,4Dir,1 B:1"8 p  uJe!i]Bj),  Jm ! hP`HLSR)t)mvI 4 q4>+Hr0Ay`WE>]Y49Z(Ww̠f~`X",ZB$n@SMPzb:k8Ped@evʳN(` b: ';zv-55F'G'꾨Bj)մ4 :P 8>;yzt1!/P{_:o`S|HWzwke银H,vh퓶E['7qbӍ`z4R!T4s2)R!i)$(hJX (6@(B(ZB X@XBiB)ZBhFF@P4-P "P #H=NFSшj I#H!B`a9Q4zENU .|j}[᙭oЍR- MohN5a5xS&5 DNO&tlL}0R2bK&Cs4,nՋbTu~(p6`]G`mt//P,pQJ驥%@6_Xo8EG| 4 PQv,(R< GwهfП_Nd̑i4V%pz'D%q#nPǚWy>bA@'EF06o]t(e& fՀ{rӃPճ\fFo99"8:ԳHH S%. B% amqdJY /I5Xi,L\A3wMn\rJ70mŷ2dҀɠ!1܎.6PzfQYd̕,ť.%R+NC/WE`eTJC<ǿ>88W*J(6vOY83v忯描ψ8 2(3)*!ʄªVZTpC$Ƞ}-H# ("$FgԳjTi22X H j8Z>nJ5F5Ȟ?rrP>og=|`r@Fk$?J:zm=)yɀvB(! "e^뷂U'lKN'yNϑ qdӣS0=aw| f.Oύ$GVzG<] yogFTOr BP @%>Mt➦q5XQVE^z A{=̂]lC>*nL2eZTYr=|jju#D&'^eˣEB WRứ/MvB_H 9! }}҇%w"FéFB*߇TCM!BT8Ut(>ZBdsFg |Ўzp9*;w %I0sAd!kw^=pÿAT=_K*ʓhC^!Y CnN&a`};P4R>p/{.y?(l|aw('bc:Y*$ frIPT9 \OǸмҟq6БWaCܤEEdhf>m|>i+iw%=F-2~?z(3Z}E!I$ [ awyiD|gruJ?n+;FfU11,5،qN+$vc 4o C9UԆ;[y4#4-/D?RF%S饖hˌwmDC$a]uϿy,('@6ĐO EN݈VULC'>o͆zg"`@@(f"!`}u%ԵTwb$RLCAeIKLjfXļָh < bQ`07<}!5JҴPݢc 0#0,.ڱ5`(eZєTe- BE-j[w%LܣʅbE%,t\=̍HEabV1Z(ɤR3ϜgkD熁 <f8 1%gI_)*5G ?^e!> GGOV ߕA!V bVLkr$夁ai_ϙ/s׳QN:LS;z}vk+F7CCIfXMI#EKQbBV*V/ʆ3 `[^& jk0L`Q2c + @Z[ZT*`ՂlU E Z0!P UJ`QQ0 0!mdPܡ@XKG; 7dUzN'FRD_{8lsMŐGm 1O;ʜ8*Ħj2^8Du0׭V?iаV͓b9rӆQ!9Cg87~n KQ 5U%p $~2c "f*i dp dPJ% b$a"&f&PhABI}}ht @~*Н˻xB(5Q_|;o0b;A@i();|\ Q2)OȠȷAa Q!LߗX|Lcd}J$ ;uwQQHʢIb(Zeuw#*2R)R*"0]~`E(U<>CYT hi@BZaNAVQ nƦkAMӲy=05$ Ltu 7n#ϞksS;J_μ ͔lp<έ]5gT'C]ߢV$iOx̰p@ĭ H>CK1&ǎȁXHr93Mq7vb:`0cFI $T Q_}Y/(ξϦux YYth= x)^{ĉ'R @H%RAhPn!$փ(" {(g]Tׇ~"fB fc<}__?OrE8P\EPK[=EEfileutils/NEWSnuW+A[4.1.11] * `rm symlink-to-unwritable' doesn't prompt [introduced in 4.1.10] [4.1.10] * rm once again gives a reasonable diagnostic when failing to remove a file owned by someone else in a sticky directory [introduced in 4.1.9] * df now rounds all quantities up, as per POSIX. * New ls time style: long-iso, which generates YYYY-MM-DD HH:MM. * Any time style can be preceded by "posix-"; this causes "ls" to use traditional timestamp format when in the POSIX locale. * The default time style is now posix-long-iso instead of posix-iso. Set TIME_STYLE="posix-iso" to revert to the behavior of 4.1.1 thru 4.1.9. * `rm dangling-symlink' doesn't prompt [introduced in 4.1.9] * stat: remove support for --secure/-s option and related %S and %C format specs * stat: rename --link/-l to --dereference/-L. The old options will continue to work for a while. [4.1.9] * rm can now remove very deep hierarchies, in spite of any limit on stack size * new programs: link, unlink, and stat * New ls option: --author (for the Hurd). * `touch -c no-such-file' no longer fails, per POSIX [4.1.8] * mv no longer mistakenly creates links to preexisting destination files that aren't moved [4.1.7] * rm: close a hole that would allow a running rm process to be subverted [4.1.6] * New cp option: --copy-contents. * cp -r is now equivalent to cp -R. Use cp -R -L --copy-contents to get the traditional (and rarely desirable) cp -r behavior. * ls now accepts --time-style=+FORMAT, where +FORMAT works like date's format * The obsolete usage `touch [-acm] MMDDhhmm[YY] FILE...' is no longer supported on systems conforming to POSIX 1003.1-2001. Use touch -t instead. * cp and inter-partition mv no longer give a misleading diagnostic in some unusual cases [4.1.5] * cp -r no longer preserves symlinks * The block size notation is now compatible with SI and with IEC 60027-2. For example, --block-size=1MB now means --block-size=1000000, whereas --block-size=1MiB now means --block-size=1048576. A missing `B' (e.g. `1M') has the same meaning as before. A trailing `B' now means decimal, not binary; this is a silent change. The nonstandard `D' suffix (e.g. `1MD') is now obsolescent. * -H or --si now outputs the trailing 'B', for consistency with the above. * Programs now output trailing 'K' (not 'k') to mean 1024, as per IEC 60027-2. * New df, du short option -B is short for --block-size. * You can omit an integer `1' before a block size suffix, e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'. * The following options are now obsolescent, as their names are incompatible with IEC 60027-2: df, du: -m or --megabytes (use -BM or --block-size=1M) df, du, ls: --kilobytes (use --block-size=1K) [4.1.4] * df --local no longer lists smbfs file systems whose name starts with // * dd now detects the Linux/tape/lseek bug at run time and warns about it. [4.1.3] * ls -R once again outputs a blank line between per-directory groups of files. This was broken by the cycle-detection change in 4.1.1. * dd once again uses `lseek' on character devices like /dev/mem and /dev/kmem. On systems with the linux kernel (at least up to 2.4.16), dd must still resort to emulating `skip=N' behavior using reads on tape devices, because lseek has no effect, yet appears to succeed. This may be a kernel bug. [4.1.2] * cp no longer fails when two or more source files are the same; now it just gives a warning and doesn't copy the file the second time. E.g., cp a a d/ produces this: cp: warning: source file `a' specified more than once * chmod would set the wrong bit when given symbolic mode strings like these: g=o, o=g, o=u. E.g., `chmod a=,o=w,ug=o f' would give a mode of --w-r---w- rather than --w--w--w-. [4.1.1] * mv (likewise for cp), now fails rather than silently clobbering one of the source files in the following example: rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c * ls -R detects directory cycles, per POSIX. It warns and doesn't infloop. * cp's -P option now means the same as --no-dereference, per POSIX. Use --parents to get the old meaning. * When copying with the -H and -L options, cp can preserve logical links between source files with --preserve=links * cp accepts new options: --preserve[={mode,ownership,timestamps,links,all}] --no-preserve={mode,ownership,timestamps,links,all} * cp's -p and --preserve options remain unchanged and are equivalent to `--preserve=mode,ownership,timestamps' * mv and cp accept a new option: --reply={yes,no,query}; provides a consistent mechanism to control whether one is prompted about certain existing destination files. Note that cp's and mv's -f options don't have the same meaning: cp's -f option no longer merely turns off `-i'. * remove portability limitations (e.g., PATH_MAX on the Hurd, fixes for 64-bit systems) * mv now prompts before overwriting an existing, unwritable destination file when stdin is a tty, unless --force (-f) is specified, as per POSIX. * mv: fix the bug whereby `mv -uf source dest' would delete source, even though it's older than dest. * chown's --from=CURRENT_OWNER:CURRENT_GROUP option now works * cp now ensures that the set-user-ID and set-group-ID bits are cleared for the destination file when when copying and not preserving permissions. * `ln -f --backup k k' gives a clearer diagnostic * ls no longer truncates user names or group names that are longer than 8 characters. * ls's new --dereference-command-line option causes it to dereference symbolic links on the command-line only. It is the default unless one of the -d, -F, or -l options are given. * ls -H now means the same as ls --dereference-command-line, as per POSIX. * ls -g now acts like ls -l, except it does not display owner, as per POSIX. * ls -n now implies -l, as per POSIX. * ls can now display dates and times in one of four time styles: - The `full-iso' time style gives full ISO-style time stamps like `2001-05-14 23:45:56.477817180 -0700'. - The 'iso' time style gives ISO-style time stamps like '2001-05-14 ' and '05-14 23:45'. - The 'locale' time style gives locale-dependent time stamps like 'touko 14 2001' and 'touko 14 23:45' (in a Finnish locale). - The 'posix-iso' time style gives traditional POSIX-locale time stamps like 'May 14 2001' and 'May 14 23:45' unless the user specifies a non-POSIX locale, in which case it uses ISO-style dates. This is the default. You can specify a time style with an option like --time-style='iso' or with an environment variable like TIME_STYLE='iso'. GNU Emacs 21 and later can parse ISO dates, but older Emacs versions cannot, so if you are using an older version of Emacs outside the default POSIX locale, you may need to set TIME_STYLE="locale". * --full-time is now an alias for "-l --time-style=full-iso". Changes in release 4.1: [4.0.45] * dd conv=sync,block now pads only with spaces * ls's -1 option no longer cancels the effect of a preceding -l * regenerate configure using a patched version of autoconf-2.49e to work around a bug in its test for a working memcmp function * ls: fix off-by-one error introduced with the previous change [4.0.44] * ls: When given two or more arguments but the only one that exists is a directory, don't treat it as if it were the only argument. Before, `mkdir d; ls no-dir d 2>/dev/null' would act like `ls d' and produce no output. Now, it prints `d:'. * touch -d 'last friday' would use a time stamp that was one hour off (e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday) when run such that the current time and the target date/time fall on opposite sides of a daylight savings time transition. This problem arises only with relative date strings like `last monday'. It is not a problem with strings that include absolute dates. [4.0.43] * regenerate configure-related files using autoconf-2.49d [4.0.42] * Using ls's short-named `-H' option evokes the warning that the meaning of `-H' will soon change. Use `--si' instead. [4.0.41] * fix bug in rm introduced in 4.0.38: `chmod 0 f; rm f' would no longer prompt before removal. [4.0.40] * portability fixes, mainly for UnixWare 7.1.1 [4.0.39] * cp and mv accept --strip-trailing-slashes, not just --strip-trailing-slash [4.0.38] * ls --full-time now implies -l; before, without -l it was a no-op [4.0.37] * portability fixes for SunOS4.1.1, Fujitsu (f300-fujitsu-uxpv4.1_ES), and Unicos (alphaev5-cray-unicosmk2.0.5.X) [4.0.36] * `mv dir/ new-name' no longer fails on SunOS4.1.1U * attempting to use mv to move a symlink onto itself no longer removes the symlink * `cp -R directory file' no longer removes `file'. now it fails and gives a diagnostic * The manual now warns that ls's --full-time format string is planned to change in a future release. * ls -l's time stamp format now depends on LC_TIME, not LC_MESSAGES, as POSIX requires. * ls -l now reports the year for files even slightly in the future, as POSIX requires. This helps warn users about clock skew problems. * `cp -d file symlink-to-some-other-file' no longer fails * performance improvements for ls [4.0.35] * ln --backup=simple --suffix=SUFFIX once again uses SUFFIX * install: Likewise. [4.0.34] * fix a bug (introduced in 4.0z) that made `chown 123:456 file' act like `chown 123:123 file'. Other uses with a numeric group ID would cause chown to fail when it shouldn't have. * the chown and chgrp programs preserve set-uid and set-gid bits, even on systems for which the chown function call resets those bits. * `ls -L dangling-symlink' now fails (per POSIX) rather than printing the link name * dd no longer honors the just-added `B' suffix on skip= and seek= arguments. * `mkdir no-such-dir/' no longer fails on NetBSD systems [4.0.33] * dd now accepts skip=nB and seek=nB, to advance past some number of bytes, n, that need not be a multiple of the block size. * dd (without conv=notrunc) now complains only when ftruncate fails on a regular file, a directory, or a shared memory object -- not when it fails to truncate other types of files, like /dev/fd0. * chmod --changes (-c) once again issues diagnostics only for the files with changed permissions * mkdir now gives one diagnostic (rather than two) for certain failures * mkdir portability fix for NetBSD [4.0.32] * touch now interprets a lone numeric argument of 8 or 10 digits as a file name, rather than as a date/time in the obsolescent `MMDDhhmm[YY]' format. * mkdir no longer sets the permissions of the final directory component if it already exists (this bug, too, was introduced recently) * ls's --full-time format string is now locale dependent [4.0.31] * mkdir: fix a bug introduced in 4.0.30 whereby `mkdir existing-dir' would succeed. Now it fails, as it should (and used to). [4.0.30] * mkdir: fix a bug introduced in 4.0.28 whereby parent directories created via `mkdir -p' would have permissions that did not account for the umask [4.0.29] * ls.c wouldn't compile on some systems: fix it * `cp -R --parents dir1/ dir2' failed on NetBSD, due to a portability problem [4.0.28] * ls is much more efficient on systems (e.g., linux-2.4.*) that store file type information in directory entries. * shred now automatically determines the size of each block device argument * ls's date/time format strings are now locale dependent * mkdir, mknod, mkfifo, and chmod work better in conjunction with ACLs * `cp --parents dir1/ dir2' no longer gets a failed assertion * shred now determines the size of block devices like /dev/fd0 * `shred --exact file1 file2' now erases `file1', too [4.0.27] * install once again unlinks an existing destination before trying to open it * mv no longer gets a failed assertion when moving a directory (specified with a trailing slash) from one partition to another, and giving it a different name at the destination. * `cp --link -f src existing-dest' no longer fails (bug introduced in 4.0z) * cp's new --remove-destination option now works with -R [4.0z] * `cp -p' once again preserves `special' permission bits (this bug was introduced in 4.0y) * mv's --force (-f) option now controls solely whether mv prompts (per POSIX) * `cp -f' now first attempts to open an existing destination file, and only if that fails does it resort to unlinking the file and retrying the open. Before, it would unlink the file before trying to open it. * cp accepts a new option, --remove-destination, that provides the old behavior * cp's -f option no longer cancels the effect of --interactive (-i) (per POSIX) * when ls sorts directory entries, it now honors the current locale settings * dd's `skip=BLOCKS' operator once again works on systems with a buggy lseek function (Linux, at least on SCSI tape devices) * fix a typo in install-sh [4.0y] * cp now accepts the POSIX-mandated -H and -L options. * cp -p and mv now try to preserve uid even if you're not root, as per POSIX.2. This affects behavior only on hosts that let you give files away via chmod. * du would fail when given `.' or `..' followed by other command line arguments * Using cp's short-named `-P' option evokes the warning that the meaning of `-P' will soon change. Use `--parents' instead. * chgrp, chmod, and chown: when used with the --verbose option, might give an invalid diagnostic (due to clobbered errno) when failing. [4.0x] * Fix cp so that `cp -r DIR1/ DIR2' works properly once again. * New ls option --quoting-style=clocale acts like --quoting-style=locale, except that it quotes "like this" by default instead of `like this'. [4.0w] * When `cp -pR' fails to copy a file, it now preserves permissions, owner, and group of the containing directory. [4.0v] * df, du, and ls now round disk usage up and disk free space down * df, du, ls: --block-size=N now works for values of N that are e.g., not a multiple of the file's block size [4.0u] * give proper diagnostic for mv usage error * fix compile problem with lib/strnlen.c [4.0t] * `cp -d -u' no longer fails with certain existing destination symlinks * rmdir and mkdir accept -v as synonym for --verbose [4.0s] * rm no longer segfaults on certain very deep hierarchies * IMPORTANT SECURITY FIX: a running `rm -r' may no longer be subverted to remove unintended directories * cp can now remove unwritable files in interactive mode; contrary to how mv works, cp's --interactive (-i) option does *not* cancel the effect of a preceding --force (-f) option. * all programs fail when printing --help or --version output to a full device * install no longer performs chmod if chown fails (see ChangeLog for example) [4.0r] * `du dir/subdir1 dir/subdir2' no longer fails * chown accepts new option: --from=CURRENT_OWNER:CURRENT_GROUP * cp accepts new option: --strip-trailing-slashes * install --directory (-d) may now be used to set special bits e.g., `install -m a=rwx,o+t -d DIR' now honors the `o+t' part * cp, mv, ln, install: document that while the --backup option takes an optional argument, the -b option accepts none * `ls -e' fails with a more useful diagnostic * df produces better output for loop file system mount points [4.0q] * install -D bug is fixed * chown now works properly when the specified login name contains a period This is at the expense of always looking up the entire USER.GROUP string as a login name first, and only then (upon failure) interpreting the `.' as a separator and looking up `USER'. To avoid the extra getpwnam call, always use the POSIX-mandated `:' character as the separator. * `du some-other-dir' no longer fails if it can't open the current directory * `mv DIR EXISTING-FILE' no longer removes EXISTING-FILE. Now it gets an error as POSIX says it must. * touch no longer hangs on fifos [4.0p] * various tools: quote multibyte characters correctly in diagnostics * mv: portability fix for alpha * dd: portability fix * unified lib/: now that directory and most of the configuration framework is common between fileutils, textutils, and sh-utils [4.0o] * Include lib/nanosleep.h. [4.0n] * cp, install, ln, and mv: when making backup files in verbose mode, these commands now print the backup file name on the same line as the rest of the information, e.g., `a -> b (backup: b.~13~)' rather than on a separate line as all but ln used to do. ln didn't output the backup file name at all. [4.0m] * mv accepts new option: --strip-trailing-slashes (soon, many other programs will, too) * df no longer hangs when there is an inaccessible mount point unrelated to PATH * rmdir --verbose no longer prints extra, bogus diagnosic upon failure * fix df bug that made it print bogus values in the `Use%' column. * touch -d once again parses dates with `hh:mm ZONE' time zone info. [4.0l] * ls -l honors a trailing slash on a symlink argument, per POSIX. * shred no longer appears to infloop when asked to remove files in unwritable directories * `ls -ul' and `ls -uc' sort by name once again, as they should [4.0k] * mv may now be used to move a file onto a symlink to itself when that symlink is on a separate partition. With fileutils-4.0j, it would fail with a diagnostic saying they were the same file. * touch would fail with the misleading diagnostic `no such file' when asked to create a file in an unwritable directory. Now it says something like `permission denied' or `read-only file system'. [4.0j] * mkdir may now be used to set special bits e.g., `mkdir -m o+t dir' works * touch can now change the time(s) of a file you own even if you don't have read or write access to it * rm no longer dumps core after warning about directory cycles * mv now refuses to move a file onto a symlink to itself when that symlink is on a separate partition. Before, it would remove the file and leave only the symlink. * `install -d -g foo 1/2' now sets the `group' of the final component as well as that of the leading one. * df, du, and ls no longer divide by zero when an invalid block size is specified through an environment variable * under certain conditions, chgrp would fail to affect files referenced through symlinks. Now it does. * ln now makes hard links to symlinks on systems that support it. * touch: no longer infloop on dangling symlinks * cp, install, ln, mv: deprecate the --version-control option. Use --backup's new optional argument instead. The old option still works, but now evokes a warning. * cp, install, ln, mv: the --backup option now accepts an optional argument * cp, install, ln, mv: accept new option: --target-directory=DIR * chgrp: accept new option, --dereference. --no-dereference is now the default. * New ls option --quoting-style=locale acts like --quoting-style=c, except with locale-specific quoting symbols (` and ' by default) instead of ". * `df DIR' is less likely to hang due to bad NFS mounts * As per POSIX.2, `df -P' now uses ceiling rather than rounding, and its header now says `1024-blocks ... Capacity' instead of `1k-blocks ... Use%'. [4.0i] * `cp -f FILE FILE' and `mv -f FILE FILE' no longer remove FILE * touch works once again (DST-wise) when certain `--date DATE-TIME' values are specified. * shred's -u option (short form of --remove) is now accepted [4.0h] * cp --one-file-system (-x) no longer crosses filesystem boundaries. * touch can once again operate on directories [4.0g] * New large-file support for AIX and HP-UX, and for cross-compiles. * shred's default options are now suitable for devices, not files, since shred is more reliable on devices. shred now does not remove by default; the old -p or --preserve option was inverted and renamed to -u or --remove. * shred -u now attempts to truncate devices before removing them. * shred -v no longer outputs carriage-returns; shred -vv has no extra effect; shred -v now outputs to stderr. * shred now tries to find the size of a non-regular file by seeking to its end. * dd now opens the output file for *read* access only if `seek=' is used. [4.0f] * `ls --color' no longer segfaults * dd works once again [4.0e] * shred --devices option renamed to -D so that -d, -i and -r can be compatible with rm. * shred -s/--size=N option added to specify the size of the object to be shredded. * `shred -' now shreds stdout rather than stdin. This is incompatible with -v. * shred now does not need to read from its output file, so opens it O_WRONLY * `ls -l' uses `+' to designate each file that has a custom ACL * eliminate race condition that could make touch truncate a nonempty file * No longer use *_unlocked I/O macros on systems (like solaris5.5.1) where they're not declared, so selected executables (e.g., rm) that are linked with shared libraries will once again run on solaris5.6 systems. [4.0d (aka 4.1-b3)] * ls recognizes solaris 2 `doors' * new program: shred * ln: Allow creation of a hard link to a dangling symlink * cp, mv, install: --verbose now prints a message for each backup-related renaming * portability fixes for copy.c's code to detect move-directory-into-self * upgrade to automake-1.3b * upgrade to autoconf-2.13, and... * remove some of the kludges in m4/*.m4 that permitted [4.1-b2] * concurrent `mkdir -p' processes no longer fail when creating the same hierarchy * argmatch.c has been fixed so that the unambiguous usage `ls --color=n' no longer evokes an error. * now, specifying an improper argument for an option that accepts enumerated values evokes diagnostics like this: $ src/touch --time=x file src/touch: invalid argument `x' for `--time' Valid arguments are: - `atime', `access', `use' - `mtime', `modify' Try `src/touch --help' for more information. [4.1-b1] * ls --quoting-style=c prints correct octal escapes for certain nonprinting characters in file names. * fix `ls -R .' formatting bug that broke mktexlsr * moving a directory into itself is properly diagnosed in more cases * moving a directory containing hard-linked files now works Changes in release 4.0: [4.0-b7] * rm -rf '' no longer gets a failed assertion on the Hurd [4.0-b6] * rm simply fails as it should (rather than segfaulting) for `mkdir -m 0100 x; rm -rf x' [4.0-b5] * still *more* mktime.c portability tweaks [4.0-b4] * mktime.c portability tweak for headers with GNU libc 5.4.44. [4.0-b3] * mktime.c works around problems with Digital Unix 4.0A and 4.0D. * mktime.c handles dates in the spring-forward gap the same way other implementations do * install accepts long option --suffix=SUFFIX [4.0-b2] * man/Makefile.maint framework tweaks * add test for `mv -i' bug [4.0-pre1] * fix serious bug whereby `touch a b; echo n|mv -i a b' would remove b. [3.16z] * portability tweaks * avoid `root `cp -a' from Netapp snapshot' corruption [3.16y] * `install -D' now works * distribute maintainer Makefiles in man/ [3.16x] * man pages are now automatically generated from a combination of --help output and the contents of new (though mostly empty), man/*.x files. [3.16w] * touch now interprets `-t TIME-DATE' as POSIX specifies * `ls EMPTY-DIR EMPTY-DIR' once again outputs the directory names [3.16v] * portability fixes * `ls -R EMPTY-DIR' now outputs the name of the directory [3.16u] * mv now fails (as it should) upon attempt to move a directory into itself * `cp -a --one-file-system' now copies any mount point directories it encounters on the selected file system. [3.16t] * cp (with --update) and ls compare time stamps with subsecond resolution when available (e.g., on systems with recent Linux kernels and on Solaris 2.6). * install once again does the -m-specified chmod *after* running strip (this fixes another bug introduced in 3.16o) [3.16s] * df accept a new option --local (-l) * touch works around a system-specific bug so it now affects existing, zero-length files on certain systems * chown now works even on certain SVR3 systems where it used to fail [3.16r] * include gettext's m4 macros * minor cp bug fixed * non-portable cp tests removed * --without-included-regex now means don't compile regex.c * rx support removed [3.16q] * `df', `du', and `ls' now accept a new option --block-size=SIZE, where SIZE can be a positive integer block size, followed by an optional SI prefix (e.g. `k' for kilo, `M' for Mega), followed by an optional `B' (for ``byte'', indicating powers of 1024, which is the default) or `D' (for ``decimal byte'', indicating powers of 1000). SIZE can also be `human-readable' (for -h or --human-readable behavior) or `si' (for -H or --si behavior). * These suffixes can also be used by `dd'; e.g. `dd bs=1MB' is equivalent to `dd bs=1048576'. * The default block size for the `df' command is now obtained from the DF_BLOCK_SIZE environment variable or, if that is not set, from BLOCK_SIZE. Similarly for `du' and `ls'. * The output columns of `df' have been adjusted slightly to accommodate larger filesystems. * fix gettext-related link failures seen when configuring certain ways [3.16p] * fix install bug introduced in 3.16o * build/test changes only [3.16o] * chown accepts new option, --dereference. --no-dereference is now the default. * install now shares core copying code with mv and cp * mv (between distinct filesystems) now uses more of the core copying code * fixed a bug or two in mv * df once again displays negative numbers when that's what's returned by get_fs_usage [3.16n] * `mv dir dir' once again does *not* remove dir/ * ls accepts new options: --indicator-style=none (no indicators, the default) --indicator-style=classify (all indicators) (equivalent to -F or --classify) --indicator-style=file-type (file type indicators) (equivalent to -p or --file-type) --quoting-style=literal (do not quote output) --quoting-style=shell (minimally quote output for the shell) --quoting-style=shell-always (always quote output with '' for the shell) --quoting-style=c (quote output as for a C-language string) (equivalent to -Q or --quote-name) --quoting-style=escape (like c but omit enclosing "") (equivalent to -b or --escape) --show-control-chars is the opposite of --hide-control-chars This option can be useful if output is to a terminal, to override the default beahvior of hiding control characters. * The QUOTING_STYLE environment variable can now be used to specify the default value for ls's --quoting-style option. If not specified, the default quoting style is 'literal', but this default may change to 'shell' in a future version of this package. * ls's quoting style now affects operands in diagnostics, too. * ls's --dired option now outputs the quoting style using the format of the new --quoting-style option. * ls's -e or --quote-shell option (introduced in 3.16j) has been removed; use --quoting-style=shell to get its functionality. [3.16m] * mv can move (and doesn't read) special files * remove maintainer mode [3.16l] * mv can finally move non-regular files between partitions [3.16k] * install accepts new option, -D [3.16j] * du accepts new options, --exclude=PAT and --exclude-from=FILE (-X FILE) * ls now quotes file names for the shell by default, if they contain characters that need quoting. Use -N to get the old default behavior. The new behavior is also enabled by the new option -e or --quote-shell. * ln --backup is now consistent with cp and mv in that --force is no longer required when the destination is an existing non-directory. * install accepts new option, --verbose (-v) * mkdir -p is a lot faster when creating very deep directories on some systems * rm -i no longer exits with status indicating failure solely because the user declines to remove a file * rm -r is a lot faster on some systems when removing deep hierarchies * chgrp, chmod, and chown no longer give contradictory output when --verbose is used and an operation fails * ls's multicolumn option now uses variable width columns to conserve vertical space * install accepts new option, --preserve-timestamps * du --megabytes --total now shows total in megabytes * ls accepts new option, -h or --human-readable * df, du, and ls now accept new option, -H or --si, for powers of 1000 not 1024 * df, du, and ls now consistently round to nearest, with ties going to even * df, du, and ls now use `k' instead of `K' for `kilo', and support larger abbreviations T(era), P(eta), E(xa), Z(etta), Y(otta) * touch -d DATE now works on Unicos * du accepts new option --max-depth=N * rmdir accepts new options: --ignore-fail-on-non-empty and --verbose * on most hosts df, du, and ls now overflow at 2**64 bytes, not 2**31 bytes * all programs now work on large files on LFS systems like Solaris 2.6 and Linux with the pre-2.1 development version of GNU libc. * df now works with OpenBSD 2.1 beta * cp -d FILE SYMLINK-TO-FILE doesn't erase FILE. Now it gives an error. Changes in release 3.16: * du --megabytes (-m) works * ls -l works even on systems with non-POSIX strftime in their C library Changes in release 3.15: * touch --date=DATE bug (due to broken getdate.y) has been fixed * ls -l no longer misformats the date when run in a locale for which the locale's abbreviated week-day name (strftime's %a format) is shorter or longer than the `normal' three bytes (with LANG=de it's a two-byte string). * Using --program-prefix no longer applies the prefix twice * ls --color properly restores color attributes upon completion when the normal (`no') color attribute is not the default color. * with ls -s --color, the `total' and size of the first file are printed * ls --color stats symlinks and distinguishes between regular symlinks and orphan ones. * cp --preserve preserves owner and group of symlinks on Linux when run with EUID == 0 * dircolors no longer accepts --print-data-base (alternate spelling of --print-database) Changes in release 3.14: * ls --color highlights based on suffix rules only for regular files * touch --date=DATE accepts dates like those in an RCS log listing, e.g., `1992/11/01 05:44:34'. * install SRC DST no longer rejects non-regular, non-directory SRC * df accepts -F as a synonym for -t for compatibility with Solaris * cp -i /dev/null existing-file now prompts before overwriting the target * ls --color highlights orphaned symlinks text on terminals that support it * ls -l honors current locale with respect to abbreviated month names (and, with --full-time day names) on systems with a locale-supporting strftime function, e.g., ones based on recent versions of the GNU C library * ls -l recognizes Cray's migrated dmf files. * chgrp no longer aborts when given a group number larger than INT_MAX * chgrp now fails when run by root with an unrecognized group name * when possible, cp -p preserves owner/group even on symlinks in case they're in a directory that has the sticky-bit set. * cp --recursive --parents SRC DEST works when SRC is an absolute file name. Changes in release 3.13: * ls properly determines window size on SunOS and Solaris systems * ls accepts new option --color[=WHEN] where WHEN is `always', `never', or `auto'. --color=never is the default. --color is equivalent to --color=always. * new program: dircolors * ls allows 0 as argument to --tabsize (-T) option. Using --tabsize=0 inhibits the use of TAB characters for separating columns. * you can create a backup of FILE with cp --force --backup FILE FILE. Before, that command failed saying that ``FILE' and `FILE' are the same file'. * uses automake-generated Makefile templates * chown and chgrp accept new option --no-dereference (-h) * ln -f FILE FILE fails with a diagnostic rather than silently removing FILE * when building on systems that have getopt_long (most GNU-oriented ones), the system-provided function will be used -- so executables may be a little smaller * cp -p, and mv modify owner and/or group of symlinks on systems (like Solaris) that provide the lchown system call. * df no longer invokes the sync system call by default. You can use the --sync option to make df invoke sync before getting file system sizes. * internationalized diagnostic messages * mkdir accepts new option: --verbose * `cp file D/' uses the full file name `D/file' instead of `D//file'. * cp --backup a~ a fails instead of silently destroying the source file * df and du have new options --human-readable (-h) and --megabytes (-m). * install now honors --backup (-b), --suffix=SUFFIX (-S SUFFIX), and --version-control=WORD (-V WORD) options just as cp, ln, and mv do. * ln --verbose output is less prone to misinterpretation * ls -o works like -lG; for compatibility with other versions of ls * cp has a new option to control creation of sparse files: --sparse={auto,always,never}. --sparse=auto is the default. * rm -rf '' behaves properly on SunOS 4 systems * touch: rename long option name, --file, to --reference. `touch --file' will continue to work a little longer. * df fails if the same file system type is both selected and excluded. * df works around SunOS statfs brokenness wrt filesystems larger than 2GB * df better handles inconsistent mtab entries * `ls -lDR dir dir2' works * `ls -c' does what it's supposed to * all programs include program name in --version output * `ls --quote-name' works * mv properly determines whether src and dest are the same file Before, it could (though with very low probability) fail to do the move, reporting that distinct source and destination are the same file. * du --dereference (-L) works with directory symlinks * du works on SunOS 4 systems even when accounting is enabled * many programs that convert strings to integers now use strtol or strtoul and detect overflow User-visible changes in release 3.12: * None. User-visible changes in release 3.11: * None. User-visible changes in release 3.10: * mkdir -p now ignores arguments that are existing directories. Before, (contrary to POSIX spec) it would attempt to change ownership and/or protections of existing directories listed on the command line. And it would fail when such a directory was owned by another user. * Fix bug in cp that made the commands `mkdir dir; touch foo; cp -P foo dir' incorrectly change the permissions on directory, dir. * df accepts a new option, --no-sync, that inhibits the default invocation of the sync system call. * ls accepts a new option, --dired, that makes emacs' dired mode more efficient * skeletal texinfo documentation (mainly just the `invoking' nodes) * ln accepts a new option: --no-dereference (-n). With this option, if the destination command line argument is a symlink to a directory, use that as the destination instead of the file in the directory. * `ln -i no-such-file existing-file' gives a diagnostic and fails. Before, if you responded `yes' to the prompt it would both remove `existing-file' and fail to make a link. * du no longer requires read access to all of the directory components of the current working directory on systems with fchdir. * touch -d 'date' is no longer off by one hour. * New program: sync. * Fix bug in cp that made the commands `ln -s . s; cp -rd s r' incorrectly create `r' as a symlink instead of as a regular file. * du's -S and -c options now work when used together. Before, the grand total was always reported to be zero. Major changes in release 3.9: * --help gives a one-line description of each option and shows the correspondence between short and long-named options. * work around systems with BROKEN_STAT_MACROS * work around problem where $(srcdir)/config.h was used instead of ../config.h -- this happened only when building in a subdirectory and when config.h remained in $(srcdir) from a previous ./configure. * GNU chmod treats symlinks the same way other vendor's versions do. Now symlinks listed on the command line are processed (they were ignored before); the permissions of the dereferenced files are changed. Symlinks encountered in recursive traversals are still ignored. This makes GNU chmod act more like e.g. Sun's. * configure uses config.h, so DEFS won't exceed preprocessor limits of some compilers on the number of symbols defined via -D. * ls and cp can handle mount points on more systems * cp, mkdir, and rmdir long option --path renamed to --parents; --path will still work for a while * cp, ln, and mv convert `cp A B/' to cp A B/A when A is not a directory. This change affects only the two-argument form of the commands. It makes such commands fail when the target has a trailing slash but is not a directory or symlink to a directory and the source is not a directory. They used to succeed, ignoring the implicitly contradictory trailing slash. Major changes in release 3.8: * install isn't as likely to produce spurious errors * avoid redundant compilations for `dir' and `vdir'; * configure properly defines STAT_STATFS2_BSIZE on a Pyramid MIServer running OSx 5.1 Major changes in release 3.7: * none Major changes in release 3.6: * `ln -s dir_pathname .' works when the pathname has a trailing slash * with the --version option programs print the version and exit immediately * GNU ls -f works like Unix ls -f * mktime replacement works Major changes in release 3.5: * adds support for DEC Alpha under OSF/1 * configuring with gcc uses CFLAGS='-g -O' by default * all programs accept --help and --version options * long-named options must be introduced with `--'; `+' is no longer accepted since it is incompatible with the POSIX.2 standard * chmod accepts long-named options * dd conv=unblock doesn't hang * new df option --exclude=fstype * new ls option --full-time Major changes in release 3.4: * cp -p and mv preserve setuid and setgid bits * chown works on systems where sizeof(uid_t) != sizeof(int) or sizeof(uid) != sizeof(gid) * catch errors from spurious slashes at ends of arguments Major changes in release 3.3: * df sped up by not calling sync for every filesystem * df ported to AIX (RS/6000 and PS/2), and SVR2 port fixed * df -i now also prints the total number of inodes per filesystem * ls sped up by not reading symlink contents unnecessarily * du doesn't die on POSIX systems when the root filesystem is NFS mounted * cp and mv report chown Permission denied errors when run by root ======================================================================== Copyright (C) 1992-2003, 2009-2010 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. PK[JHϹfileutils/ChangeLog-1997.bz2nuW+ABZh91AY&SY.pߜ`a"<A@<s}=9$Q! wi_w}{׷>|NMk{8AB‰h݀44'Z짶RUljPv` 2-+ZZl׷p<|@ 24gkofЪu}}*pxX|K`m:uQ/XTx ή؁1J}4;wj;mIU8UT}]jP{z޷6\vvcهDmYww{ziT%ZP2gzm_oz_|@ ywt>;zέ.}z{O&v8ۺl[bknMm DHe5|BeI-cmnL7sY՜9t3y7L˩4t[]hS:mq)^[ *5XhQVnܺ:$;7l)Uq໚ӣ+hm&nA4Q.ænNS|6+kf}> {ڥrͱB-+sa۲#mY}}ԯ}ǀ OA@@hL@&e24 2D!dJ.gC%[RUpĊPg2ǯ'Z{PD[H*#xI h% $$$g/E8KU3 &H m_Ial)$̽XleJt)1x(BŠC4J9i}*yWK1f31HnhP}4²I(Maijcl&`cL爋/q?[ICVv;.%&  -ULI$Sm1 Ff aLq~3XaX.㴻O#w_t3ʎvW# +x e#р׎s+\OǝΧ: tA"2#R!&@C nW3L!5pB~-E0!,(^uIr1\瘉K HQlo#QS'&sCw2J` 2F"2t$ЁDBۤlB] "4d0%YI^ D)o"vI@F5~RHD@TyD1@^ &"8"$6! 6". cgIEzZ3,u6B/ 3USuf! TZ}jra6G!tZLE:Ǻqj]K>FkOSA0f3~E?FH6l,T#7V!`447"+ icLfȮsE܃+ vنfMƒ 5 cgM$3(ruj*y&. >U ]|1`D@z >Q%+N}=}.q{|Eh=3y%"nCm0(W)ΚZl8i%WN#'7'zJ74K𶸽A 0eLoc_Pgr닼:dvKcdw$3DL?g:22nFP݊RQYt6i}bc%u[% \*%X#Y.N܅?wNK/֙P_F Dz"AREt ,ی+e, ghbeX|+ :¸}xwuE#ݶi>QWc sS#'Y:~i.5ṲK<(NFyW,NB[&1'QD+I\3? >SDD7ϚB^?j2^wkre"L QUn+PpEoS9xD'O1LtR7o9ťQ''1oz8ڕԻCq4颅:DUU{PE 6A]Ujm9qF+%ƯU&\fzÎo;c۾˧嘋Af(R̨AsFSxvySOqF' Z1ۗ>|zULDL.{re-8߫jiuBzJƎ2 )2IJf鮫˴[ P`gu#J4JLN8uP#~ϮaM:_|TҼ77^KFز||z'"*',j 5byJx_X.=EF5]Oo? ~/!?p_$y?x$ (E/>dfЀ㟪#>;s[Z1(w}>xLktXӿ۠Wni,1 9  chSO4_:XPmSGӬG]T0(%*s>|7<,7&Zr$5r*0Ϧ1rWJ:RcgѸfޫWHtצ@';BOف&x*khmE,j߃njWWf9N̻Vӿ<,oq@ǹwϚleGD֜P "I@bXH 9\Y3 `6 `{W˨c.`3[aկs+L4,o͑|JhV~߭CS(C_0KNzw`l #]GLX_%_[HくNT垓 =<:MzgzJ+ͮ$LT(vk'-5XwmҪm SGD{}ڈ*7?됢$ P,l>ԙ Q?őCFGszk(mXd,W&Qm2P{r#MwASG7*tG*TZY 2jlsBm5\RP0Ƽ59 k.=y}Ԕ]49HxLxg-7i5$ D hxLI<ZyQHDZw!,7Q(կQӀǞR='!CQTI!\ϛbz\M3g9N%]F-4"-'6?KRI Ҡ݅0aR$b aUN[[[sEb\W<: "O@xxG H'le}t J= Wp_nql->|&ŤG&Ntܑ~e @9X*Tkp[^r/SU}'3gqX_du͢ԩ2eZ.Ac)IPUd+^[0cq!="U΋߽19ogsF|"&NJm`ʞqC䔂\#4d` 104fF]"YI6JD76=kaIDH_$!&97MCJюV#8l>{DϝD<#gv ƯUgݜGYIJN+8ϯ~;q=yc^s@|7ImĊ@ȬbQIϦS7~xsB8'avm($xeCA8|%4aD=Cٹw@ jP 6!zŃkL$Fv`R!TPUS@Ξp2UOX?V?I 'f/?g;>`:E_rԟזIٽ8[KMJp. D=F$7♃ o ! {K">N9ogQm3LQen\?욕$9JgG=h?*VidAg {>h% $Jr3Sͅ~)Ո<_ Z<& $nlSoO[௧^]ޜզ<5=mǏgst!N(eAMEgw,0cƾ>8 ͲޔT@"{UA A?hJ ƯbjnpǦјqNJqߓߎb0]4.lEF3E2~|KCq~/A%df&6*==@@E:-nZoÖ{ 妹%g2\?Ēd_pkO'¨ 'Pk־zkrj[$/2ĖrfR4XZܥ"WL4sliLAI;!3S QU@spSL\5!y뷫F1yol&&V"1M`TJ?Js12Pyʚ\bCڎ3 r0BFFDbAsW30 dB88”{pVt~͕/f@h)x[#Sa4& (r1`*"&A}6Il!Q*j56VG; :=L$v L"uu(zx; >GdaGVQgUcml@., '+SdJոf2Bez)~QEoTt$,ypu/i >(Jɚ)/+}Uz?: K޺4T gٖ RI" U(1¾/Ҡɠ~xKN\( 4ziab&a47 B2w& * Wo# /50H%Bu:lbu!UbZZɰqR;b'YX4yB[rDrey@~4:8C~!x< ItkݎXDH$^9}^qE*vo|zlyAI"LeUښh.FC$agD5!x0aO=_Xr3S}'j&̸`GY)|gIP$'_B@o|=XdÇӸӲT"@!Җ@"yO&xclHKV9H3K<~vo%E0%Wn1Aҁb]ɔHNځ4D f@Bħ͆2_.fh`*@Ե[zl]^g?3*G pnL$X F$ =@e9N > V "sD$|YYrYhFYq<+ɮ"'3*X[FB8㑾ZdUN\ѿ7$T40=6<:R/_[Gٶlקx+_:KϵOzcpr>bwnmQۆ ZrvkF3Q /ʾ_| f%wyVҀfBYnAGBEgH61MMw9'.Q ֽ< `ă@eCyo:ufQ1xOfh BQ/ݣ9h:T>";/taghwzdz,)xxa)k04IņABrCHV ’f(ÙmSW[Ǚ 6cWFFfm l?F!tSfQٲSh4ŻqTuZ+,X?P_S!n1_C LgiL)u0d_zpufROd!=Rg5 `*` /DP\~2(;0m9L5:2=7{ IPfoߝoק]3ŀbF R$^AC[FR,eJq@GIp%;yowt~&Zzkϻa7 2YE"hy{㑧Lj$ V߻oUz@0P"] 6dbE0R9Vg`5V#'>iwϔuJL %uROY&Ǹw^p8(Q4P䃳ܢ4A`Iu\]5ҽk.w7}X!{u((Ysy3[m)Y&Q!Jk\n`H~f ,t'i[3R*VSB7!lHTGQ qi162VJ>nǹێ\|c@ъG9TؓK`R2l&$طu$ѹ93DG;spaZC\ND=k!Epъx!ٓeH%[@Bi-yj=uU >sA>vvo4`v#E 揆qfw'%A.Ό0\t Iv_VHxxR=631ݩn>cITzbF 2HXD*p1;,_YU]]Wm-8VvubwloqAj 1\ga+ Z[e-#GHi'DŽ˨t>~;N5MD޸%[Ox8e]d+:+n2JC5TsNjTq(5 De 4ɗUגy/nUkti%P ~e תz_Z..~sϕbIoA| $B wP Y@) ;z Z~Ͽa. 7,(ТU vBD1RUJ8Ro,g3*8nD>w%=áD6}dXҸ6qJJW 6W810bH=MqR |3+"ޟS Ʒfu'pPyHoC(pgh@,-K=^S>oިA\\%QHEQV̸AQ>VT6],=})a ~1AiE{j’*=zijGy 99av"&a^3%03+U.Ĕ7,^z1#BTZG:M)h<&ndZSl'B |*8O҃7CM]}l+ dN?ˀZs n*a)ea"0 .e4 L$Y\+Iz*?f/R7;6K3o?a.1T  q s\!GQ2S4N#Y J5w C Y^^nHVi'YU;aRL ZOj4X)r.xf8 4E{7lh"uqK'D\8њhT:D-pRi;ۮʩDz2xaqUU޸]]lI~nU%n9, 覞iNHU~3P:aoF-*ձz9 ⊪g;Ӧ9t7`,+~ rgp۵ƧtNvct:+hŭuuZ\Z%6d5>'Co}GTCwA*0KRGҽML#Z]V;ҕuU*Eu;܂?hH:cu-<.O"oIS UiU:l摋,_G2paeÒcAȫuan=\_:cr~c˱ 3Z!.E> (cݷt01<Ȑ>DwAVe͒1;?c8 B[={tuI_a DB;xoRCF!?Vs߯g )l:ٴa'3_^,N0B&)y\4nL֖}[p($e;F Qфdp܅himsw?r[.w"WR_`ENZ~_==Y8oY|hݒwYe^ˤV a]U={{>ĉ8C}Cs+4⍤H? )rJγ&T D{ 8[mPpK]Bgᥞ.:_* D2 8!~x__jBs#XQ)E%4aiCoNՒ.L!@ 㟿{'3C>ns1 /@/{nˇkm{QԿojvr:yK%_s]ng(zv֦=r߬xo1:c.qnQZmՅxzvyS6A@l3ָUԷ~3+Ν'<(2v6U*E&#]6I}#L 1L6ڿ9؞ }ID?wgUvE8Xΐ{a_t1y!FƋE?껺ܨ&m&Z1uLnnREXɣQt|J*) CgԆ!nI*6*5X4ڣ $0׍bQfDj ll3S,ĨM%|7+@Pj"#fDY(Jb"k%E`ٷܩ% T +2*4I ̙ B mES\ab#M4AbhfL10F2Ja #d&XB2!Ri"d;ݍb JlQlT ##㷿>wGQ?Omz&8DjTI0}+ :<)ʯIȓgHEF̘D)`#w&̇o)d+g[J,$BÚE4Ivlr l&pR!!p_ӯ6l=]modA7+CC鱗{ n=eߨvǏߏR|d>uԧn|P䚏S {$|}\DDF1ýC N83Jο͈y}l("N趽S۪\=+NfDʧr WAiNJbA4Px#drAQiXw!^5iîp֑0 HH$  o?<swBP6k -iFi?֎&#VbL}2+mLIlQP1=4FΫUm9Oq F3e-ݨn8xV/H>tu.8k fyCbSS K:MTR1F8H (V2|P9e낊c2 5*K35\MTh8Gz7Ƒz ukuvn7‚w E<#UPǫ7ר 9C!n!݃nh~6i e/X!ag=,Ԣ=41|269͟9+#TwQZa;֝6lm D^8 C~ΏrճYQ<(2D3Ԥ`b>j080|haH:$PęJ9v"Y t({ Ƒ(2y 1j$$Y:b.kn:2/9o0ѡ2U ;ܝZ3v%;`b^k8J3fO}NQ; HdN,|1?ُ￷*CzD_]TG((B//uZbX=B $aÇp>z>+oooX},R8$wJߕ=dZD9iS?Z!ԃwփwM'(TǢsO ~eѻ/vXNM~/E^d{>1rJE> t \6 ݬ3\1<7egσPElpD/Jmʆt weфi2n+w.RT;g>k9 *99/Ĺݞ`=·o/ۍ4D$Aфa Ǔ8c.'vNU;r- Zpì59C;ok ԃ ̬-9#N 60a ׷'$XK ?߲geu=U/ (3OEDR:741}3e'L Yׇj*h`0!SW0 E T?R@TB~O$>,LJJHqD8$-cD10C2"P!U)xCW3'I @&:p!}Рk{^`#ᏹ>w六# vR~x捫E}h~$ò,78_L)m8^IA}SGGE*K,4 "i5c2 inu`N-HNjz>ɑ4A|if1~l_۸TinoOØZMmm<{'/v]+8;+ʗr.RW̓ *tOi_Y<&ߦ9D4XqA/xGQAp]DLbқo./aCX3VI'7UWވ^~%qJ$Qc\T_U+swtG&fN>]ͧWdž^S1k;^QvG܆ot njqK|lfRJalTƕJM_YSwXPk.E:oZ5e/lFȹrk(rI_9/fy 7!]~1ZX_7xg%.85_÷+q}Idž9HDZSQ7G*[[}1߇gN?;koz")?tQ;OY^g֛>>hj^=4_7K=fRog+SWM/-|+|T3oU].->Fj0rm |jʹz;S$|×S7?ʚgI# 'L7LۿrqN+?l~7G8EE:m}@<%_||,=MこrULC`S'N2{JQ 4B{=y3:;'Tc~ZG] i,?Dh0} 0DR"#Sl!3p?ž~N;hak,txeI0 eqwiAeEªAIrQ XlFj_IΚt}&a4=C8;~X:,_FD鵺Ԛ"u=C'uz|4k:sVډ=bZN8WH&=svMY𳼂0/t۷xua`Ý M^\cÐ% PQSQTD'L(zq-^=H 2ǜ^'c&[:}d=E+cOxZ l*&H$k*~}XqoD9niLƌcgdAosq烫ؗٺ~|l\]T!fļYWY SzAqwc[ٖxZd)ﶴx`Psb{D,$>ly&sz;Ӑ}EDvʂԖt|HlSq+ $D\wOq:'_pDEtEgPxW]XTt{s 66|9%\#J6 eۥK8D$V]b VY/NEDTރ/ jߗ卝MJR@+DJX³uG2ApA=u NGwִn/KNaaiY7am,ijBZw{$zufpT!#ai㾵k7q7.s'e\{h0c-ۉ80@+@]c\t CuJ;}T5,(Bc܄!k3|=[y#ނ*5q`5EQUjz ax^IJ5!;0trv7ӛ>F#"cO^:΢C^%Rmhyh(1}__ۯw.%0HC6ʸlfj0ʊnQgקۧao|}{z)A$m w메Hɇ?ݏ MˆNN)#I=`XzK5 ?ӏX(F5hU%FDd_^~;m@HaRju-)|nX @̙ ,m"@"GRwu)S5vsx91/AKU/kfP޵s!>5Wqf,'V}68H"EUvo&{Z1*HNV,(q|(Ԗe 6`odyrɮUf׉ &k Dy M9ؿ_N-_%XH2o9[ '9͏nRuy-ȂΒE{"k"Du*"P=AEK(l3{~.7# r,y0n3V&۸D"JJ"GSmۭ9 uI $Nf򥗇Qɒ8q7qY|6I:>OZ&xW9ں3t\a h2HCVYS2 B)-vtmMXM8ql/ ykyFgP~f~O;13x3EB)JjTd-XI?88qH$MwxyGy49g7m/t..)f U`˨_i&vD.9)%*LLNx:/,;8ZWn*t$bfRp?zxzɊN"+MH^Tb6_~uHFAdyǖ4ǒs7w53NI2߃f?-dg5[Zu^G$8re9KxLb\a ! rINH *goLb!pC8d ̫ɐYwRBi0T))!bÂp q2%N&$r*q3]"'W::$IEӐL_JHlT3bɚB rRu5 nG aAM!~{*1H^L*LE(MbǼ*4Pi0bprU!R[ 'wIsJ HC\%ɆfXAqs7no}u5apV1J‚23VȢ}\kzUS۷}k++ӗW?.=SaVש ^'qgex91>Cc uBoa dNȈ(HTyǤҫ0!HAd1pD0@}ZLWO$3PSTHʅNp4A[s~xQ-Z2fG5>9?Liԙ\*D p#\ 䑓,Q̥Ld^0nep:N?\5:JLPy ppNIfb!$yL)JE%/M½ku0bAbKh/>5Qg")6lO-<}Vr^x5yeZ9 tU8lsE<;kOJ%ޔZWS$PҺ4/T+Y5jcANt*j&APP=dP$NrFJJ(K|p Di @1&b+.=fFK4'F" vbsj|9DTeձsŔJV=QF\䈘(bฤ_&kHU#"PtnW7!j$:"j""9|t.]H' eҊN ũ!DLMpT]h^+5lŵ< -DZXS<:֢@.ZE;٫tD /˚r7bgEJ|eϪ:TёՖ'޵QӄbƵi<FUkUzD cEDhdA8Ѥ^2 [9V5Wzpg(N >Xw}i=]՚ȇ$'mFRdzMՒd[QLc>cn_|%z|qg헝|FV|==h"2?ĔĦTPBFE ?o~>Ge T{|եg! T!XB@JZ+A=}z Hi}!K!ýcdDݺ,*L?䰰(6Dq?-?&om"sǏE{$}cE$( @ R8`:)=LVx|p;r+Zf";=pK/h]⟣8/q,#i H ڠ&9oxyAjk8RRlCy=ۍn_2 \t kZCYfPE3iy%Fo7=n)Zzwq6m87QT>;"ϪF%Z+d[k`h*"ڋbuy|XCBE3颎>ERLиa$H٢s2h >P cKgRGXOB(`k uKH4l$ jz 3UZ15B:K7v&0 شy ;`!3)AQFco1c*i#h]C ݴ1]%tzIIM<r  ;ú5!%$$J(; 51=C2$0!Y[~v<P$DkkEL RXADVc,qZc09$:=^cȅ8{zˌz')K"`A ;=zrݑuCla`Ʋ0N< @a-yr<8QL]abEūo}mrjaTkFɨگJ춈hѵwT jtX~:)ZjJt5dbsz:73]*L74.lO!.@6/V/>[aFZK6 fS|6i4|iwt'ScE_b&f^XʲȖVɺZ;|3x5df$@Q0ʮ4QYiUJY],/2]Eiw4雰dœPuS${cpxgt^/9ʽj"4 00 l ('V JCi oXǰ{; cuwvꖆC>*'ExRLfgTb)on3"A?K*laN&Qs =S w,lm_mWWZ$H0,L@JdhĦU~[߿3_FO忌N P<G#W]_$0ae\@9w$pV *8ϳw81ټ"-K*O)i%0]Rdrf=#OtBsGl;3enn(c-,c)LI(xD I!k0QMGe]U o9e%q?oOs` } RnAĂC2 @7>0,&aO/lS) ATz vU{μBeH 3q/!J #$L'mwClW~lViQW)5MnvCf1rKaM@j:y/y\* . ܆ (#FEQFAE`5-',, A\U~& VC 8`=D 0g?P0BvwY ]PF$/?I:^o誺BAMT~ > 6"mȢ4|_nb#]c;xit5u5A}=MMVsRhb+յin(<+ Y9~hI1-E$VZ&fL}/PP2h dkʼnK W?Lt "ȪH*"qsg+Dg)ak쁶 9C_p|dv9os )@MŲ&夵pzr0L {w;C Kt0Ojq##7w ymu:*>E…g>g΍ =##Хw_H1"Ka >s%\ݮdM}J-x >< n(aGd7wӮXl3}l\ vi%w3OE&rI/mƢQgԳ3Al]a|R2ȫ;̘=@£0iT0!}{OQd`lCcC\&sVrkf̑x28faٸNrj )іd5!9j ô gjeiEot7樵ʷ6M[FQ$UEU&)"cX,P'^Ztr©Gh>QaJ`2$w?:w_$dgK/ZmWI 7DnłOg{ʳ/ö zTX 8("% >xC?ϰ`>@/9íjU1ޤZ9,B6L8N 軐Ps5ٷ9CT ]7!f|7 cjtYQLdf^l9r8\RET(RcOt?ŤSe@%py N) !?)9UbH] ~6Z&OGuY paI4as{zn8B%mʫed:xyxREh40B%`w8[`≺> E@"kbi߷M2ⱟk:`mmt HOjpZfƶİrɏTdXOB\ʳ˷ldCҤ6F_6ݢ6t%zIʤsq|TWJ+ km Gor*BdZLPYo \+)'@8",߶eu*P$>X-K5$(5(P}r>dl! &mDMQD?UmD! va?o'ޘGd{5@ioɽ1WD4:ʕ ƋI̞1}q@hI:j³C 2Ii4kS XdF4TTmmU%QQZ,B#"H>+; CJ܁|Ǭxb˼y|r'xz>@떰 jFDv I#ɊT"pB2AP&*Is@A2Ε0gWu,\Oϼϲȶ!?ם;_~~geEE(h%uWCZ#jVU֐@`OG0-/WtŹ{vTi/"WsCcGLje$yMpꦸ%Xk{KW$N;eރX>-("OvJG4ಢ.pn\;Y*x[nWDe[}zFK)ryyñ$|P0<RD0t秧.D·Ӽj76zq| =b#% U9zmO]SP1>Meq7IRѼ m)㷣xGXVG&9p{Trg=#V}%1?W{7z~zLT la:"d htL"]9 .g'/}&`O'b[a@M|d2I-(EoeU, B!`$d,&fۛI9feQӥ\@w]y滣%dݞs рa@HOM)1TtZJQ@O#BCLA h?$E'#Dki07Hm3k$;ʘ 4jj] $<6◄5| KOE,F$4͐M6æ:1Qzÿ p?${S /[F@It?弧/*8?ҏ3 u9fhE?i,ʲ5tfL5)Ft+\`5˧ˬC0㧎FfO 'tV)2Aߩxv)v1%G Jy3IbuE rhiAb0/$݆ƚ6~Dsg ;HDY "I$Y9zmRZPSRTxv]IseXj6xal\dW=@چ(iմ 8&{;=^-H|]^@;0VNee6/Lm7`_d; 7l C$P*5'dsQׄqju~Dcꪅ6<. yP l`C鵸r'6TH${$( +d#CvJ #4SU* [`=49Zeɏ[ךU/0}P)Y70+ac9],ApP~ em{vh\ {{);/jBxNG) KE:O`,jPTh*֥҈_apიY;Jn*?PU)w.y4g`mńwKnyz\Nâ|^0 )x?CH|xK{_{[ -P[ >pO/8{ןyx\ذ*$h~O@\ B$l1x4ʪ ))!&^e?HR$B"mI18B~/ U. ]8w'F(ȨDیl@p,ܚ(LvT XdE3qdSCyC9i2fjrb#F废=*KJg5r K!R#&ovR)mƷG51uK_{ewtӇ[]ʈxu3UNu@젨2",h>v"5P؉yQخ2 uoc'Q !Їf-/-]`Qy.8}e 2;{M[֌_P-$ h+o#(c075?­=>E{-flBw *&B6y۔ a!L+lP))ۛ-}]Aj6ѰGuW57]⯿ \fq6lK0#M 8eS}l$떵be-%b&Wͱ&f̧ydDo{'HtŸ'FDTH(E?BPHfvwaCe=H2ܨJsj W IR0JLJ3>|I (n!VefBfI0LKGBRHlj2p&'cFyFA4:tU1u`$ %g5ֵVٵ lȣIR(>-R"(05%ɓIK(ALx Mhc PEL-,. 7u_^FpLΝ_D ȇ9e" #Io|?3SXlȡ߄ ;HwN Pa4t"P7!`-=dTdX"d'fʚOo,f`bmHȣ,"=}KU|S4C`"`x+P@Q }Z)a90cA@K;6%9:`2Z;a!yy a0CvDB' ȓm~KJ6wphŨT붹.<ZdlX )'hs&:[I`٧6fp)XFl}4Aoc} \ BZm nUaSZ*>|P5E 9wʝ! ,D1ߓJ!t= mRT1;y B}HJ.]bɠ z1@EYF'lmEb6}V,1k&THcf;Ҫ.c(͵@E-QPr`WmKiˣl7Ќf # qTp0J{&K۲ZiSvԢ]bM o֤> &F."AC܆W0q*A\d v"[&*Wa?+rM,g_y:J[@.MQF,uϺTIGd$YFS:[D}9_*x # e2=g]X$.&@a 6Sn4X9E1@ac(Eњh}yy.]'䑂(~jsC# 9O* RKUG{L$Jwr/m,-}>>®_x%"ʖC,iP{R3ֻ턎e3.ϱ&#'4CbmRD&U@fdkH$@}p9h0pUF) htze UT}*KE r4/ N7oys1K.ky-YUHN6}666BI/~Z<ɀj 9D6nNsٽZpnH يr?ɘoOOBSx?HM7+]noWXC͇Mhkbh !ZLUE#at=Aw#73.5Ql~y{ӡ/ vKbFǏ!ԋ1w9>-2k5σJ|z$0ǭy1˾mQ:o]4P 8ZK[ j5f[3\xx:Ȇ|,ۀ6;@Z ~L%hQQMB[;huX8ǴF'E.c ZeN5s;@wpߊq?Dz3ؒ:/S1o5hM5+<15*{n=ʽ1tϕW`]:Q.9Mݱb}uK?/&#엂Xfs !k[tcZIz=|Mr m倀F-'j;Y~3|0Y:W޸'܄ٿZ> 9W wFZ臽c..PAˎ!90i52D@qru1:eH+Zyet3́s: r)V`dv@oώwFO-Gn-kg oǞie;D#'8L4n.:" jk?T:ڟN{(YOxq{Q}\O9*ӷArXOȨ4ax4OY%<(-5>7D/Xj =xN+!]w0 !JPQ0X O-EMzy[1|7Ӎqt^#[DpJ$\ۼ"gWOc'ZLLKOv[n2;(X+Lq]/dE镝ÿtD ;TA<":;wX\\[>05{뇶/{n5I[Do'm,?}!iݽGA׭ߨh,m-Y/eƈ8kB !J4kdsO;<%>JqLxpXD6nFSll۟1D4.r].0в%n2An xL=bB[WyQd$,. i1 RrG]8R,C/{e0pmBt܀Z AE'F|qCjCrO}ƟʈAAEk|1$S:|q"a3 ad4 dQz%ڠГ6/z Mkz[?Ө}vo4+oaa3X3[@_u`{ZWcޠf p(_vg7kӑ\3.wd"=:E+XP z>L8ݡ/Y*Z"%cSzd@!&?cQ(gm~v_YVo[\O[H33ntw]J,nw5|׎g6q05N^.jeu;oA\pҥG>+_%Dҧc 6 S7NDž49Mn u"'ԯ>/ | f|73hE+(8rDyۋ;tAZKƦG[:@trc\;+&вYYblA]SVLFP Xl ڪaf$HC5b0eB|9C;D.v"i3iqDu^ne )ܢ(!sTEgR5.(l%pA }!RɁzF|2T&P&E9_-gVz+SٮdÀ7P=iC8HSԊIFSTԩx7:5M}M-ΕV)ԦiiF QF$ؓ(Z~:s*Sb" CGGs*ЊNzk:O/~y&w<w٨! ,QQ0n)u4;89Po 5^&Γa@`fZɚhk8 !ၭ<>_mݫQUr"!*0](Wd 8aA_? ͎,S 44,+xs =9b/G6Oݸ `{b'UlPN=Hs;_|Ȝ FE"DA! H\ņ{'ՉOɹ0mmܛn.>5MVI(x={i`|(r=;i(B1gFQfR~fQq~AS?Emz2>ur4o@4r+Ɲiq0@T~ص y$|]9|$X,@9. m#rS8v*[][ VxFXdq4qì@Q_[@>g tb皭lED E&Z Ej]T+r +OPNĺFҿ:MjTKvhBJN@h/"'nTǿiXS }xH8Pe%_ P?b^l rض}KƗoňFn)!4v( Xfb6r > *CB{paz\ +l{HAz!J9a!o9҉ t&_m^vי̋wrci?D4sBqЭLՇOP_jŸkR抐 QNc' ׿j:2OS!pm+Zli[ nQS i4"kRVkHH\=öЈt9+q XC>Mם^Z|QD:O/O̙$) θ:]+zrs];NCä8c>܅Zi\*a-PQK˧.LT<$iՐH;,T5a ~{o@]VZXsuA9~}:1`.HU1$"1[;s&̎aLK0 H@-cKHHSPiH( +nTRr"( V38>] "ҏg) c/)U2(if,V1 R ˆk_?bi冟Uc2%^)&/ifk}q HsXZ,BpjM}+5$ TVaw@hꂮȆwxKUUQف\L@lvKƒR!b׾rB tSGrݦPt'7a#D#" n럢a GIC~tW' ~L%HsW1EYaDbF[L5GWJ>ʪb*aX҈CH%v=낟8'v?zCd q2P,?2p^guf1?V},^Ӓ>o$vv hC󤄂P$W;Y if"|`.-ۈAI3\vL)pXAFmƴSl~&:@nvOʫ櫄[~w]^C(=RmCb/ycτaۨkwk%$qdA7:G$^ * &Po|yÅӻ _һKJٗ" N(-4/yr)'YeSoo.ΠA_.\ HQ@/ڗ3^c܈Y (k. \ ?Ib G$SB"EaO7@BRHExFj<i&AE% ԙ ;G!2kYP˘׍#I6@, BP OO6B5]24Iս"f;!5]~7m?ນ55Jy.\^_vX)ػO҅mP&J"9a8?K`  G_',bgzH {:*"^QVf,;#H@; Au3SpIGO|IoVā`b/wX`lX,!@$%# M0 : ɲxCn֏)k\`U2:65S6\‡X=S@&l.y-5 %fd2$!%[2sw/jsy{zv]7CO.,ss I R)!+&)"$rfLsU"a`\C #`T?޷uΞH]KNh,]㻆) "`F,XdJ~)" RD[ʖMc\)wvB& "ܒ@&D$0H%1ɵr2r@-a-E$<#RFrl$-DJiY;{?j'k< B VjClV44j2"$B#w{ yF&ԑ"$>~:ߍvommnhRn[ej%u%H۫ضP" `&VPS~"ރXB\5Wd,UF"X lRGij,rc7Z/r߿~zlt ]awޖԹ67BT@MJ،, '?}Pé1=eV~ :e&{J "{u_Gٟ"sQ =B# /˓3 +:3KG&_ ,c&kb@Ju?]st,Yr9ZF> f B,1\YH?JjlMP?ӑd* xY͐[% QzNVaRh-5^vIG(8676D Oks<<0 ]I}ry>DrŚ»ߐ`noN%PHRY7v/`XCCC %B$RZ$ENP e%K~8lulT81HAtqOْ۬ovW>qO#B"aAdFCtJy6^ixmv֋|ʼk^5QrնmW)֫[rbe/ gOu= 3;pϏ? p*! #& , #2λ#";;?N`_ĽRIMQ+_Tʊ"F10#;$Fpic0ѓD ptdTaHZs Owt"q\1L\/FYkFlE%nÓ{=s vvHlQ@'~ÉOuC,Wj]A$D?d?Uĺ{ͼ(R4BRF6w R|^zxڸV92_\Yn B{~BCw[{P|8y#/1};dh:&e-7* r(@S5Ѐp+8w{EPEuc_fgbZ̛jtOcp1u~ }Tx6qF\5p6}gFHf. ^-Fmy6I\ƨOj^dI֪Da s(7Ke27B !F&GH~׵ӽ9.l{@jȌIU*-(4Mh3FEhQMd(6-FZ4h(oZ[.ѬX#-Dֻ+n{?Eڕb J}As673a *;;U%TRAc=Ϧȗ+ܝJN #-j;EYe446wjTEe?7vuަ>&:gH QD{H *'NY-BrukBB~59ݨ0#BoK;~htŁx9My"%0 !7Τ6ԩ ThR6Ô i d X6H*'IDJ3oBǬ|CsJ?,QIb q ]M0pIB"CTFvTxN;4imYm_c{pRĤ׉7a.\(܄z&rh.%ώgvi%LF %tYO9`H@DFLRqBY #m7aqIaiק@>\ "#{B ?mwx2\M&K.fb<ppp:AC %-IzW^W"8p%|RF I{ziJgxLU,vD!| Ww'i_X[I$CmBEƍh}ьeb HR*+oHLW3zwjeJ&%$ D&]=3(kU^okl4o47iBb|k@/,VԦyה$Sgh4`(pf(T@V/q0vҭ8)nG?mw4gb:b*0pA8byc:HIfu-?"cljNVsL >i`1ԅ>[dx$v.#~i;YYmMj7ߗt F*SR%̪֘Tfg)T2RXb8|ǰ|yϘ?F)Oo :u dyT9*5(:wke-\K(y.~2I=gNevGPQ82atRYWr/ҦXj^e1Aڦ&Y֏7;B&/\p8u&7P!2In tRضHps.Y0!G;r((K Dy`X &B 8lAձ!2MId|x|bToPfl$2(O5/[I/4D BY^+$dBfHˮjof)%Q0b$$`}69t ,In.A Paɲr{@% ЂRV^Ю~KF#"syq_ SC߂w1H(_'_, fHɧǰ[2nT¢J`)Q\Ö5D:e ፲$ -ŬHF6#D J)~7r#ljԛMEy!n'h`x\]3JȠ`N(9C"8D.Y [ J8,DRh,hˌpU{_ Q9 T6ioD@""XnD$䁠 72z&oMw w on7i)^/"EscJ^ ^sM%oNOMrfuN-$,HTɗg6y]i!>6 üH8'R==8\H'XC`t]kܺsAsb5r9pp,Mbj'/ͮ[wi C֮sF8射XQHBF"umu#t7&%gV<9)/iiAu5+&" Jq*`FGXppfWCky803Dm;0&db,BY\[eGq@M[#ዙW ) Q{3ys#I82 PX&aD\6E0C=pM}5Ѯν7˖]{]iUʼ/niFX\Lc 9)ElU!q*&Y?kJQ@~HBȟP^^\m@0ZvIÔ 93u` TSψx!TK|=68s(C"(B%G ϮҐU1`#6,TVakOyxkV\LP$U @ i-- B`AdmZ7-ͷ5rke%4:P`DKĨK@3lRÈm!?ݓd52! Q`1R4+L3`BRcXdʱ16薂qd11*HƩ(HfchR&Wupvk 6"/}ەyC?T{CU2PU`0LIJe ׁ~#ݹ^0B(BL7ٰXh[X-3TԚ6Fm&JČ6DFmmim)kڵuRB.iAL ]5b :lU F WՖRa0J#/QQU' ``dH2D b Є\,R3*)#V(,[ tc׌-1ɥD ͆}GX*kI@X.{@Yw y-'jsKY\i%R$TS-AB3hUv%ڜn ƀ!P;eݾMPXdd^*x9+6qAiJ*@1 6 VBpi ڮFR5rRB:Vn5XٛmbS&=AYijD\pRc17"ݔlv\ݘǍ̎0h$J%Z!3`n0#g%CSHc)A>0ii~Yj3HT *I2…iJ!ZP[F3̒Buxy )6W]0C`s%>*PJRTˋex9i2TFNܪIUDD% 'ܘ<ud ) crҢE>t)JkG ʲ\D6CM.!eo-8_]xafU@Ic7y-RpFkѨ5H/V,g0 zÁ6cr|.vj~!DHepκehaRA#: "DBw^rǝ 8%B e~J&zjn`C ⫛s֑5ɎcrźV)u_g>၀ 1E\z=6MAhfۇKnD)gԞ#AΊZ/x! as5U @A@rI.a=u@C(o:či5HTdmz/e7IwtWy^j쑴Db!IAAH9$]oÀ[= ȤdصsrƨQlZ%IE^;| =AryhM2TjT%9?Lv̠"0%E#-t'rEM1>f.ǒ1PO 6ULbdD݄TD"h2+/J(]Lmb1*)0O]Rlq6{*5o2eLS TjfUKAw~\ l#Td)`HIM5!|& !N8`~LUzQb,Z2V!?`Ѥ jYCqyGu?;eqp{w+K" D@b ny%xZ<ḧgJ9d" 2ϵBo}"fK;}}x>Ϧ߿GIAlXa=ias92) ؐd Eh$ڱ,! ~`& LrS鲘U*,; a3 U4J U]irm!C״0=9$$0E qas6a[ڝC:!YrG 'w*"0a|XTŘ~xz {~ -h)Eē&, G U-fKhpK 5b<;{y#+ 'ݿB9hb'cSH v|U- %Qģ G G!X @ ﰓV} Aүs  ԓaák%Reza΃U|>ek܆'lPT? }M({nJPH,)|#UP!"$-Xz@^ JgOK0IAr&VO4۟ -}BleI!DGWMdb-Iad'}P8邡uD qE`/܄fV@Em$R˙bQAG$]s Z=f]T QD_κ2#0pA>\=g^6}Ĵ(Sj]vЬKҦ(jT.D E b<|TAiR<ׁp&fL>&!u|G1 0G0DjK,6Ex.wO<߮q`4tm DÁT64[ W?l?(d`{HpMPl*:0pp|Kd0DqR0b]u]M+H\<ʪ@-"?O{L`T˰$C,1صQeW(0kP 5-A[KI֮ZDvQUqeaY>1T0PWNr$$oFd(;zzv];έM|Q $ks$+ə뱣b0XuXa dw'cG2@f$ɤ^ɉn$׮κi9].y1T6O$JL^oRb5Ҏu۩>],/N$ЖGQc#zhIy]a&^H|L=1ΐ&quR5Gys:YDT \#K#(o#",٪=`%b1sϷD:;gOUnjY!lS5Ųby\fM!P2X" (ƄiiUdM;\4\qҊB~uDgbCXX,rYKPOG޼ :ב d$nӚ8䑘F**}R(zd46eD3noDbrOr*BT"*#$ɢ.r֒ƺm{yb(d RHqb'1ɰ<u15$ȐM攬s`iHbqaJ5PAU `fds  @ XDr@2*}<ާVϷ|1jS.^ߋ#0Fs{Y|p3W׹c*&-f#$jjWLBhF؁Q2-zZ`G@״ f u-X-lBvH.6zD+RzDUDV`̄2hJ! BEP6`%] @vVj ,55IfI(!4=vNW@C&/U*4MPf)c&Ѣca ABj[F!?."zG\;;!JlN}B$PyD1Պ!2 _/"xP}A$C<ഗ֒ɅԄBBKZRm#! eri;@ ]}u6ם]l /2%*.@vKE"HԷ1.ZIm\^7(X1P@/oT`Rtf_  ni ^83ܚ:n "U-55a%I .޻4BhXx7;VRH:c8|%UdG^WxOJ]/$ouY724zF0[֥XG:xs7u~/\רqci $vOBvRlf)4C 8UFDXg*Ȝ^hF#vXI!|w~Z-+ $98dңA~3jR ԡPC>H&f.˶,HCnzrIk*7TS_swv`DAح¢@l2Fr\넫@"% >WEϩ5r>.8-|+$qݚNy¦h8 U6z;ƘWsٹ;i4 ;Zo+C\Gl[&ZHiHgx< 0;}fo.5>D])-ܗr; eO,=5:2V@FHH4>:9oA?J3/¢}Jv }?w3ɓsw\ dC>JPE|ŒFJ"&B;TM$yQ^`UC{}=۷lt9߅/n>,-w*xߺ'jn"k6V9њYw3 "{L_خ}]R]^LzntĠPN@A}?Շ,i-$$Ȓb֥T⺝žp>wdkڪ#`́ 2 "t;];;$QR@ 6R^29U! "]+a0k[gZ.UEV!a2(k_dUi]IʔUQ blK8H5wr髚-4WL-ΞQ)*sBZ%2fm<9y\lg>=#xYQ+HC|v(4h/C΃ 6Ҁ.A3$IAI[馵y+C L" χZ33Hx{\+bfɅC˝-lZ=%s4K˭ޮCKn:ΰW3nԃ._a C~o%0M&)QX$z000ق_}s,`)e8JBZSfw =R%aC ,*t"m41L@&GS&xVEd K0 ia!T:T=oTp d_BEلQCDrw&Tn6z)I (<ڌzj]x+RH Nl3ĢwShUAxa $m#}\ QROm/RE'q&)lƋچp5 Dk?;~0{潕,}JQ,3> YE-!,7A(pDrEcK(n5oPƹo]+&ƤY) I"Ey(lA/ !Azl`?Ana%frꁓ#$;Z d3|c=B# 2a]7~sZfؼU24hLLucT 5ԺóP\!#.M4 C;D:ݼ9L ه +pɍ,+.ŀ0H)SV'mBtY$ZP> ^x|:X_WVX5g)ۉdtAk),\9:;tNd1܄~@*9P86Jf5&RT*i߾Bл/^DJSԖ%ĶX9,;GI"0C\Z)]D'jZ 'ir!t 0zmٌ"*)/ӇLhC&H = (qzVӐX8P&^=X:܀4F9%Zd PԚo=vM `I`ÅuCXCC7IR%XpfNSu0( ᨄ"RDϳs異DQ@AdHŽcCѕWO9 [@ܩ\f {R<@%fe˨&C~&;saFjZONHي .vbúIC),#=.@G;43!ħˉMZG: (](ѵa4-wdŮ @$FPm 5l%iyp$TL,8J"T|9P2}a.`7ha3kIIwm:m$al& C3QDQ/Zr DsÌ[(bvEKʁ!L " %3?.u+n8F0w1!|s* K%aDW3\LN<ޓw1L[ʯ[\qݖ+Pp6[4)5i qԵj4K[0arNw!*M(u"K\dqB&ARJ!PR'- Dt4[Qlaha@C'0ˀ$ԕImq Ol /t70ۃ&d^>>ֶ+xs\5TjkEbJFدJ6STtͭ\ܝk\+ E"I S3_l|@C[r7.b^< {k!2y  XX2EN~PL*1= TS`=C'ӁȗgFșf,Ic$D,_DE`!^>D#òv *rI <zS aD!~I//+ǹU!SK] w P!oHT\'蔓Uv{>c dC " G58Hh[ZKo5!d h=F$HB+/F.O9=DFyV-8}3g+;A H!vEzHų^&:-9$'@0sz!Q)GYؕӴ -,l٬B !~~aҐw.,"q8ʺ8-4݀I(0d3BdٟMΑ& 9TDK7  ~)ٌ#Aē3 )9HIDyk\Ie% &(oL,eјZκ.bۮ=mXwWs4%ȄECbNPJd<³e^@MɅ('>42o$"L~}vpKnAHF$X{zyÑ_Yб).v:lS$DxӳFS- U!lR vsneLӴqqIWN\8!Gܣg[5ʓoҾ4隈wǙ.U>4@e;vo`n.4[Wi %CZE S%%+1~V2wy_Ka!2pZYm=ujgQ=Zt"afeRҨ[ytSd!ÛB;{L &y]/.sQ>gy= fCq*m,=^@xאYnE1ˇ.E;Q|:%ZDMbӠ C4 G'(MuԵjl ؘј 0 KOGQ;}c2GܑN$ m{PK[ <** ABOUT-NLSnuW+A1 Notes on the Free Translation Project *************************************** Free software is going international! The Free Translation Project is a way to get maintainers of free software, translators, and users all together, so that free software will gradually become able to speak many languages. A few packages already provide translations for their messages. If you found this `ABOUT-NLS' file inside a distribution, you may assume that the distributed package does use GNU `gettext' internally, itself available at your nearest GNU archive site. But you do _not_ need to install GNU `gettext' prior to configuring, installing or using this package with messages translated. Installers will find here some useful hints. These notes also explain how users should proceed for getting the programs to use the available translations. They tell how people wanting to contribute and work on translations can contact the appropriate team. When reporting bugs in the `intl/' directory or bugs which may be related to internationalization, you should tell about the version of `gettext' which is used. The information can be found in the `intl/VERSION' file, in internationalized packages. 1.1 Quick configuration advice ============================== If you want to exploit the full power of internationalization, you should configure it using ./configure --with-included-gettext to force usage of internationalizing routines provided within this package, despite the existence of internationalizing capabilities in the operating system where this package is being installed. So far, only the `gettext' implementation in the GNU C library version 2 provides as many features (such as locale alias, message inheritance, automatic charset conversion or plural form handling) as the implementation here. It is also not possible to offer this additional functionality on top of a `catgets' implementation. Future versions of GNU `gettext' will very likely convey even more functionality. So it might be a good idea to change to GNU `gettext' as soon as possible. So you need _not_ provide this option if you are using GNU libc 2 or you have installed a recent copy of the GNU gettext package with the included `libintl'. 1.2 INSTALL Matters =================== Some packages are "localizable" when properly installed; the programs they contain can be made to speak your own native language. Most such packages use GNU `gettext'. Other packages have their own ways to internationalization, predating GNU `gettext'. By default, this package will be installed to allow translation of messages. It will automatically detect whether the system already provides the GNU `gettext' functions. If not, the included GNU `gettext' library will be used. This library is wholly contained within this package, usually in the `intl/' subdirectory, so prior installation of the GNU `gettext' package is _not_ required. Installers may use special options at configuration time for changing the default behaviour. The commands: ./configure --with-included-gettext ./configure --disable-nls will, respectively, bypass any pre-existing `gettext' to use the internationalizing routines provided within this package, or else, _totally_ disable translation of messages. When you already have GNU `gettext' installed on your system and run configure without an option for your new package, `configure' will probably detect the previously built and installed `libintl.a' file and will decide to use this. This might not be desirable. You should use the more recent version of the GNU `gettext' library. I.e. if the file `intl/VERSION' shows that the library which comes with this package is more recent, you should use ./configure --with-included-gettext to prevent auto-detection. The configuration process will not test for the `catgets' function and therefore it will not be used. The reason is that even an emulation of `gettext' on top of `catgets' could not provide all the extensions of the GNU `gettext' library. Internationalized packages usually have many `po/LL.po' files, where LL gives an ISO 639 two-letter code identifying the language. Unless translations have been forbidden at `configure' time by using the `--disable-nls' switch, all available translations are installed together with the package. However, the environment variable `LINGUAS' may be set, prior to configuration, to limit the installed set. `LINGUAS' should then contain a space separated list of two-letter codes, stating which languages are allowed. 1.3 Using This Package ====================== As a user, if your language has been installed for this package, you only have to set the `LANG' environment variable to the appropriate `LL_CC' combination. If you happen to have the `LC_ALL' or some other `LC_xxx' environment variables set, you should unset them before setting `LANG', otherwise the setting of `LANG' will not have the desired effect. Here `LL' is an ISO 639 two-letter language code, and `CC' is an ISO 3166 two-letter country code. For example, let's suppose that you speak German and live in Germany. At the shell prompt, merely execute `setenv LANG de_DE' (in `csh'), `export LANG; LANG=de_DE' (in `sh') or `export LANG=de_DE' (in `bash'). This can be done from your `.login' or `.profile' file, once and for all. You might think that the country code specification is redundant. But in fact, some languages have dialects in different countries. For example, `de_AT' is used for Austria, and `pt_BR' for Brazil. The country code serves to distinguish the dialects. The locale naming convention of `LL_CC', with `LL' denoting the language and `CC' denoting the country, is the one use on systems based on GNU libc. On other systems, some variations of this scheme are used, such as `LL' or `LL_CC.ENCODING'. You can get the list of locales supported by your system for your language by running the command `locale -a | grep '^LL''. Not all programs have translations for all languages. By default, an English message is shown in place of a nonexistent translation. If you understand other languages, you can set up a priority list of languages. This is done through a different environment variable, called `LANGUAGE'. GNU `gettext' gives preference to `LANGUAGE' over `LANG' for the purpose of message handling, but you still need to have `LANG' set to the primary language; this is required by other parts of the system libraries. For example, some Swedish users who would rather read translations in German than English for when Swedish is not available, set `LANGUAGE' to `sv:de' while leaving `LANG' to `sv_SE'. Special advice for Norwegian users: The language code for Norwegian bokma*l changed from `no' to `nb' recently (in 2003). During the transition period, while some message catalogs for this language are installed under `nb' and some older ones under `no', it's recommended for Norwegian users to set `LANGUAGE' to `nb:no' so that both newer and older translations are used. In the `LANGUAGE' environment variable, but not in the `LANG' environment variable, `LL_CC' combinations can be abbreviated as `LL' to denote the language's main dialect. For example, `de' is equivalent to `de_DE' (German as spoken in Germany), and `pt' to `pt_PT' (Portuguese as spoken in Portugal) in this context. 1.4 Translating Teams ===================== For the Free Translation Project to be a success, we need interested people who like their own language and write it well, and who are also able to synergize with other translators speaking the same language. Each translation team has its own mailing list. The up-to-date list of teams can be found at the Free Translation Project's homepage, `http://translationproject.org/', in the "Teams" area. If you'd like to volunteer to _work_ at translating messages, you should become a member of the translating team for your own language. The subscribing address is _not_ the same as the list itself, it has `-request' appended. For example, speakers of Swedish can send a message to `sv-request@li.org', having this message body: subscribe Keep in mind that team members are expected to participate _actively_ in translations, or at solving translational difficulties, rather than merely lurking around. If your team does not exist yet and you want to start one, or if you are unsure about what to do or how to get started, please write to `coordinator@translationproject.org' to reach the coordinator for all translator teams. The English team is special. It works at improving and uniformizing the terminology in use. Proven linguistic skills are praised more than programming skills, here. 1.5 Available Packages ====================== Languages are not equally supported in all packages. The following matrix shows the current state of internationalization, as of November 2007. The matrix shows, in regard of each package, for which languages PO files have been submitted to translation coordination, with a translation percentage of at least 50%. Ready PO files af am ar az be bg bs ca cs cy da de el en en_GB eo +----------------------------------------------------+ Compendium | [] [] [] [] | a2ps | [] [] [] [] [] | aegis | () | ant-phone | () | anubis | [] | ap-utils | | aspell | [] [] [] [] [] | bash | [] | bfd | | bibshelf | [] | binutils | | bison | [] [] | bison-runtime | [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] [] | console-tools | [] [] | coreutils | [] [] [] [] | cpio | | cpplib | [] [] [] | cryptonit | [] | dialog | | diffutils | [] [] [] [] [] [] | doodle | [] | e2fsprogs | [] [] | enscript | [] [] [] [] | fetchmail | [] [] () [] [] | findutils | [] | findutils_stable | [] [] [] | flex | [] [] [] | fslint | | gas | | gawk | [] [] [] | gcal | [] | gcc | [] | gettext-examples | [] [] [] [] [] | gettext-runtime | [] [] [] [] [] | gettext-tools | [] [] | gip | [] | gliv | [] [] | glunarclock | [] | gmult | [] [] | gnubiff | () | gnucash | [] [] () () [] | gnuedu | | gnulib | [] | gnunet | | gnunet-gtk | | gnutls | [] | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] | gpe-conf | [] [] | gpe-contacts | | gpe-edit | [] | gpe-filemanager | | gpe-go | [] | gpe-login | [] [] | gpe-ownerinfo | [] [] | gpe-package | | gpe-sketchbook | [] [] | gpe-su | [] [] | gpe-taskmanager | [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | | gphoto2 | [] [] [] [] | gprof | [] [] | gpsdrive | | gramadoir | [] [] | grep | [] [] | gretl | () | gsasl | | gss | | gst-plugins-bad | [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] [] | gst-plugins-ugly | [] [] | gstreamer | [] [] [] [] [] [] [] | gtick | () | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] [] | indent | [] [] [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] | iso_639 | [] [] [] [] | jpilot | [] | jtag | | jwhois | | kbd | [] [] [] [] | keytouch | [] [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | () | ld | [] | leafpad | [] [] [] [] [] | libc | [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] | libgpg-error | [] | libgphoto2 | [] [] | libgphoto2_port | [] [] | libgsasl | | libiconv | [] [] | libidn | [] [] [] | lifelines | [] () | lilypond | [] | lingoteach | | lprng | | lynx | [] [] [] [] | m4 | [] [] [] [] | mailfromd | | mailutils | [] | make | [] [] | man-db | [] [] [] | minicom | [] [] [] | nano | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | popt | [] [] [] | psmisc | [] | pwdutils | | qof | | radius | [] | recode | [] [] [] [] [] [] | rpm | [] | screem | | scrollkeeper | [] [] [] [] [] [] [] [] | sed | [] [] [] | shared-mime-info | [] [] [] [] () [] [] [] | sharutils | [] [] [] [] [] [] | shishi | | skencil | [] () | solfege | | soundtracker | [] [] | sp | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] | texinfo | [] [] [] | tin | () () | tuxpaint | [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | util-linux-ng | [] [] [] [] | vorbis-tools | [] | wastesedge | () | wdiff | [] [] [] [] | wget | [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] | xpad | [] [] [] | +----------------------------------------------------+ af am ar az be bg bs ca cs cy da de el en en_GB eo 6 0 2 1 8 26 2 40 48 2 56 88 15 1 15 18 es et eu fa fi fr ga gl gu he hi hr hu id is it +--------------------------------------------------+ Compendium | [] [] [] [] [] | a2ps | [] [] [] () | aegis | | ant-phone | [] | anubis | [] | ap-utils | [] [] | aspell | [] [] [] | bash | [] | bfd | [] [] | bibshelf | [] [] [] | binutils | [] [] [] | bison | [] [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] | cflow | [] | clisp | [] [] | console-tools | | coreutils | [] [] [] [] [] [] | cpio | [] [] [] | cpplib | [] [] | cryptonit | [] | dialog | [] [] [] | diffutils | [] [] [] [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] [] | enscript | [] [] [] | fetchmail | [] | findutils | [] [] [] | findutils_stable | [] [] [] [] | flex | [] [] [] | fslint | | gas | [] [] | gawk | [] [] [] [] () | gcal | [] [] | gcc | [] | gettext-examples | [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] | gettext-tools | [] [] [] [] | gip | [] [] [] [] | gliv | () | glunarclock | [] [] [] | gmult | [] [] [] | gnubiff | () () | gnucash | () () () | gnuedu | [] | gnulib | [] [] [] | gnunet | | gnunet-gtk | | gnutls | | gpe-aerial | [] [] | gpe-beam | [] [] | gpe-calendar | | gpe-clock | [] [] [] [] | gpe-conf | [] | gpe-contacts | [] [] | gpe-edit | [] [] [] [] | gpe-filemanager | [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] [] [] [] | gpe-package | [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] [] | gpe-taskmanager | [] [] [] | gpe-timesheet | [] [] [] [] | gpe-today | [] [] [] [] | gpe-todo | [] | gphoto2 | [] [] [] [] [] | gprof | [] [] [] [] [] | gpsdrive | [] | gramadoir | [] [] | grep | [] [] [] | gretl | [] [] [] () | gsasl | [] [] | gss | [] [] | gst-plugins-bad | [] [] [] [] | gst-plugins-base | [] [] [] [] | gst-plugins-good | [] [] [] [] [] | gst-plugins-ugly | [] [] [] [] | gstreamer | [] [] [] | gtick | [] [] [] | gtkam | [] [] [] [] | gtkorphan | [] [] | gtkspell | [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] [] [] [] | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] | jpilot | [] [] | jtag | [] | jwhois | [] [] [] [] [] | kbd | [] [] | keytouch | [] [] [] | keytouch-editor | [] | keytouch-keyboa... | [] [] | latrine | [] [] | ld | [] [] [] [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] [] | libexif | [] | libextractor | [] | libgpewidget | [] [] [] [] [] | libgpg-error | [] | libgphoto2 | [] [] [] | libgphoto2_port | [] [] | libgsasl | [] [] | libiconv | [] [] [] | libidn | [] [] | lifelines | () | lilypond | [] [] [] | lingoteach | [] [] [] | lprng | | lynx | [] [] [] | m4 | [] [] [] [] | mailfromd | | mailutils | [] [] | make | [] [] [] [] [] [] [] [] | man-db | [] | minicom | [] [] [] [] | nano | [] [] [] [] [] [] [] | opcodes | [] [] [] [] | parted | [] [] [] | pilot-qof | | popt | [] [] [] [] | psmisc | [] [] | pwdutils | | qof | [] | radius | [] [] | recode | [] [] [] [] [] [] [] [] | rpm | [] [] | screem | | scrollkeeper | [] [] [] | sed | [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] [] [] [] [] | shishi | [] | skencil | [] [] | solfege | [] | soundtracker | [] [] [] | sp | [] | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] [] | texinfo | [] [] [] | tin | [] () | tuxpaint | [] [] | unicode-han-tra... | | unicode-transla... | [] [] | util-linux | [] [] [] [] [] [] [] | util-linux-ng | [] [] [] [] [] [] [] | vorbis-tools | | wastesedge | () | wdiff | [] [] [] [] [] [] [] [] | wget | [] [] [] [] [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ es et eu fa fi fr ga gl gu he hi hr hu id is it 85 22 14 2 48 101 61 12 2 8 2 6 53 29 1 52 ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn +--------------------------------------------------+ Compendium | [] | a2ps | () [] [] | aegis | () | ant-phone | [] | anubis | [] [] [] | ap-utils | [] | aspell | [] [] | bash | [] | bfd | | bibshelf | [] | binutils | | bison | [] [] [] | bison-runtime | [] [] [] | bluez-pin | [] [] [] | cflow | | clisp | [] | console-tools | | coreutils | [] | cpio | [] | cpplib | [] | cryptonit | [] | dialog | [] [] | diffutils | [] [] [] | doodle | | e2fsprogs | [] | enscript | [] | fetchmail | [] [] | findutils | [] | findutils_stable | [] | flex | [] [] | fslint | | gas | | gawk | [] [] | gcal | | gcc | | gettext-examples | [] [] [] | gettext-runtime | [] [] [] | gettext-tools | [] [] | gip | [] [] | gliv | [] | glunarclock | [] [] | gmult | [] [] [] | gnubiff | | gnucash | () () () | gnuedu | | gnulib | [] [] | gnunet | | gnunet-gtk | | gnutls | [] | gpe-aerial | [] | gpe-beam | [] | gpe-calendar | [] | gpe-clock | [] [] [] | gpe-conf | [] [] [] | gpe-contacts | [] | gpe-edit | [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] | gpe-login | [] [] [] | gpe-ownerinfo | [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] | gpe-su | [] [] [] | gpe-taskmanager | [] [] [] [] | gpe-timesheet | [] | gpe-today | [] [] | gpe-todo | [] | gphoto2 | [] [] | gprof | [] | gpsdrive | [] | gramadoir | () | grep | [] [] | gretl | | gsasl | [] | gss | | gst-plugins-bad | [] | gst-plugins-base | [] | gst-plugins-good | [] | gst-plugins-ugly | [] | gstreamer | [] | gtick | [] | gtkam | [] [] | gtkorphan | [] | gtkspell | [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] | herrie | [] | hylafax | | idutils | [] | indent | [] [] | iso_15924 | [] | iso_3166 | [] [] [] [] [] [] [] [] | iso_3166_2 | [] | iso_4217 | [] [] [] | iso_639 | [] [] [] [] | jpilot | () () | jtag | | jwhois | [] | kbd | [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | | latrine | [] | ld | | leafpad | [] [] | libc | [] [] [] | libexif | | libextractor | | libgpewidget | [] | libgpg-error | | libgphoto2 | [] | libgphoto2_port | [] | libgsasl | [] | libiconv | [] | libidn | [] [] | lifelines | [] | lilypond | [] | lingoteach | [] | lprng | | lynx | [] [] | m4 | [] [] | mailfromd | | mailutils | | make | [] [] [] | man-db | | minicom | [] | nano | [] [] [] | opcodes | [] | parted | [] [] | pilot-qof | | popt | [] [] [] | psmisc | [] [] [] | pwdutils | | qof | | radius | | recode | [] | rpm | [] [] | screem | [] | scrollkeeper | [] [] [] [] | sed | [] [] | shared-mime-info | [] [] [] [] [] [] [] | sharutils | [] [] | shishi | | skencil | | solfege | () () | soundtracker | | sp | () | system-tools-ba... | [] [] [] [] | tar | [] [] [] | texinfo | [] [] | tin | | tuxpaint | () [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] | util-linux-ng | [] [] | vorbis-tools | | wastesedge | [] | wdiff | [] [] | wget | [] [] | xchat | [] [] [] [] | xkeyboard-config | [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ ja ka ko ku ky lg lt lv mk mn ms mt nb ne nl nn 51 2 25 3 2 0 6 0 2 2 20 0 11 1 103 6 or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta +--------------------------------------------------+ Compendium | [] [] [] [] [] | a2ps | () [] [] [] [] [] [] | aegis | () () | ant-phone | [] [] | anubis | [] [] [] | ap-utils | () | aspell | [] [] [] | bash | [] [] | bfd | | bibshelf | [] | binutils | [] [] | bison | [] [] [] [] [] | bison-runtime | [] [] [] [] [] | bluez-pin | [] [] [] [] [] [] [] [] [] | cflow | [] | clisp | [] | console-tools | [] | coreutils | [] [] [] [] | cpio | [] [] [] | cpplib | [] | cryptonit | [] [] | dialog | [] | diffutils | [] [] [] [] [] [] | doodle | [] [] | e2fsprogs | [] [] | enscript | [] [] [] [] [] | fetchmail | [] [] [] | findutils | [] [] [] | findutils_stable | [] [] [] [] [] [] | flex | [] [] [] [] [] | fslint | [] | gas | | gawk | [] [] [] [] | gcal | [] | gcc | [] [] | gettext-examples | [] [] [] [] [] [] [] [] | gettext-runtime | [] [] [] [] [] [] [] [] | gettext-tools | [] [] [] [] [] [] [] | gip | [] [] [] [] | gliv | [] [] [] [] [] [] | glunarclock | [] [] [] [] [] [] | gmult | [] [] [] [] | gnubiff | () [] | gnucash | () [] | gnuedu | | gnulib | [] [] [] | gnunet | | gnunet-gtk | [] | gnutls | [] [] | gpe-aerial | [] [] [] [] [] [] [] | gpe-beam | [] [] [] [] [] [] [] | gpe-calendar | [] [] [] [] | gpe-clock | [] [] [] [] [] [] [] [] | gpe-conf | [] [] [] [] [] [] [] | gpe-contacts | [] [] [] [] [] | gpe-edit | [] [] [] [] [] [] [] [] [] | gpe-filemanager | [] [] | gpe-go | [] [] [] [] [] [] [] [] | gpe-login | [] [] [] [] [] [] [] [] | gpe-ownerinfo | [] [] [] [] [] [] [] [] | gpe-package | [] [] | gpe-sketchbook | [] [] [] [] [] [] [] [] | gpe-su | [] [] [] [] [] [] [] [] | gpe-taskmanager | [] [] [] [] [] [] [] [] | gpe-timesheet | [] [] [] [] [] [] [] [] | gpe-today | [] [] [] [] [] [] [] [] | gpe-todo | [] [] [] [] | gphoto2 | [] [] [] [] [] [] | gprof | [] [] [] | gpsdrive | [] [] | gramadoir | [] [] | grep | [] [] [] [] | gretl | [] [] [] | gsasl | [] [] [] | gss | [] [] [] [] | gst-plugins-bad | [] [] [] | gst-plugins-base | [] [] | gst-plugins-good | [] [] | gst-plugins-ugly | [] [] [] | gstreamer | [] [] [] [] | gtick | [] | gtkam | [] [] [] [] [] | gtkorphan | [] | gtkspell | [] [] [] [] [] [] [] [] | gutenprint | [] | hello | [] [] [] [] [] [] [] [] | herrie | [] [] [] | hylafax | | idutils | [] [] [] [] [] | indent | [] [] [] [] [] [] [] | iso_15924 | | iso_3166 | [] [] [] [] [] [] [] [] [] [] [] [] [] | iso_3166_2 | | iso_4217 | [] [] [] [] [] [] [] | iso_639 | [] [] [] [] [] [] [] | jpilot | | jtag | [] | jwhois | [] [] [] [] | kbd | [] [] [] | keytouch | [] | keytouch-editor | [] | keytouch-keyboa... | [] | latrine | | ld | [] | leafpad | [] [] [] [] [] [] | libc | [] [] [] [] | libexif | [] [] | libextractor | [] [] | libgpewidget | [] [] [] [] [] [] [] [] | libgpg-error | [] [] [] | libgphoto2 | [] | libgphoto2_port | [] [] [] | libgsasl | [] [] [] [] | libiconv | [] [] [] | libidn | [] [] () | lifelines | [] [] | lilypond | | lingoteach | [] | lprng | [] | lynx | [] [] [] | m4 | [] [] [] [] [] | mailfromd | [] | mailutils | [] [] [] | make | [] [] [] [] | man-db | [] [] [] [] | minicom | [] [] [] [] [] | nano | [] [] [] [] | opcodes | [] [] | parted | [] | pilot-qof | | popt | [] [] [] [] | psmisc | [] [] | pwdutils | [] [] | qof | [] [] | radius | [] [] | recode | [] [] [] [] [] [] [] | rpm | [] [] [] [] | screem | | scrollkeeper | [] [] [] [] [] [] [] | sed | [] [] [] [] [] [] [] [] [] | shared-mime-info | [] [] [] [] [] [] | sharutils | [] [] [] [] | shishi | [] | skencil | [] [] [] | solfege | [] | soundtracker | [] [] | sp | | system-tools-ba... | [] [] [] [] [] [] [] [] [] | tar | [] [] [] [] | texinfo | [] [] [] [] | tin | () | tuxpaint | [] [] [] [] [] [] | unicode-han-tra... | | unicode-transla... | | util-linux | [] [] [] [] | util-linux-ng | [] [] [] [] | vorbis-tools | [] | wastesedge | | wdiff | [] [] [] [] [] [] [] | wget | [] [] [] [] | xchat | [] [] [] [] [] [] [] | xkeyboard-config | [] [] [] | xpad | [] [] [] | +--------------------------------------------------+ or pa pl pt pt_BR rm ro ru rw sk sl sq sr sv ta 0 5 77 31 53 4 58 72 3 45 46 9 45 122 3 tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu +---------------------------------------------------+ Compendium | [] [] [] [] | 19 a2ps | [] [] [] | 19 aegis | [] | 1 ant-phone | [] [] | 6 anubis | [] [] [] | 11 ap-utils | () [] | 4 aspell | [] [] [] | 16 bash | [] | 6 bfd | | 2 bibshelf | [] | 7 binutils | [] [] [] [] | 9 bison | [] [] [] [] | 20 bison-runtime | [] [] [] [] | 18 bluez-pin | [] [] [] [] [] [] | 28 cflow | [] [] | 5 clisp | | 9 console-tools | [] [] | 5 coreutils | [] [] [] | 18 cpio | [] [] [] [] | 11 cpplib | [] [] [] [] [] | 12 cryptonit | [] | 6 dialog | [] [] [] | 9 diffutils | [] [] [] [] [] | 29 doodle | [] | 6 e2fsprogs | [] [] | 10 enscript | [] [] [] | 16 fetchmail | [] [] | 12 findutils | [] [] [] | 11 findutils_stable | [] [] [] [] | 18 flex | [] [] | 15 fslint | [] | 2 gas | [] | 3 gawk | [] [] [] | 16 gcal | [] | 5 gcc | [] [] [] | 7 gettext-examples | [] [] [] [] [] [] | 29 gettext-runtime | [] [] [] [] [] [] | 28 gettext-tools | [] [] [] [] [] | 20 gip | [] [] | 13 gliv | [] [] | 11 glunarclock | [] [] [] | 15 gmult | [] [] [] [] | 16 gnubiff | [] | 2 gnucash | () [] | 5 gnuedu | [] | 2 gnulib | [] | 10 gnunet | | 0 gnunet-gtk | [] [] | 3 gnutls | | 4 gpe-aerial | [] [] | 14 gpe-beam | [] [] | 14 gpe-calendar | [] [] | 7 gpe-clock | [] [] [] [] | 21 gpe-conf | [] [] [] | 16 gpe-contacts | [] [] | 10 gpe-edit | [] [] [] [] [] | 22 gpe-filemanager | [] [] | 7 gpe-go | [] [] [] [] | 19 gpe-login | [] [] [] [] [] | 21 gpe-ownerinfo | [] [] [] [] | 21 gpe-package | [] | 6 gpe-sketchbook | [] [] | 16 gpe-su | [] [] [] [] | 21 gpe-taskmanager | [] [] [] [] | 21 gpe-timesheet | [] [] [] [] | 18 gpe-today | [] [] [] [] [] | 21 gpe-todo | [] [] | 8 gphoto2 | [] [] [] [] | 21 gprof | [] [] | 13 gpsdrive | [] | 5 gramadoir | [] | 7 grep | [] | 12 gretl | | 6 gsasl | [] [] [] | 9 gss | [] | 7 gst-plugins-bad | [] [] [] | 13 gst-plugins-base | [] [] | 11 gst-plugins-good | [] [] [] [] [] | 16 gst-plugins-ugly | [] [] [] | 13 gstreamer | [] [] [] | 18 gtick | [] [] | 7 gtkam | [] | 16 gtkorphan | [] | 7 gtkspell | [] [] [] [] [] [] | 27 gutenprint | | 4 hello | [] [] [] [] [] | 38 herrie | [] [] | 8 hylafax | | 0 idutils | [] [] | 15 indent | [] [] [] [] [] | 28 iso_15924 | [] [] | 4 iso_3166 | [] [] [] [] [] [] [] [] [] | 54 iso_3166_2 | [] [] | 4 iso_4217 | [] [] [] [] [] | 24 iso_639 | [] [] [] [] [] | 26 jpilot | [] [] [] [] | 7 jtag | [] | 3 jwhois | [] [] [] | 13 kbd | [] [] [] | 13 keytouch | [] | 8 keytouch-editor | [] | 5 keytouch-keyboa... | [] | 5 latrine | [] [] | 5 ld | [] [] [] [] | 10 leafpad | [] [] [] [] [] | 24 libc | [] [] [] | 19 libexif | [] | 5 libextractor | [] | 5 libgpewidget | [] [] [] | 20 libgpg-error | [] | 6 libgphoto2 | [] [] | 9 libgphoto2_port | [] [] [] | 11 libgsasl | [] | 8 libiconv | [] [] | 11 libidn | [] [] | 11 lifelines | | 4 lilypond | [] | 6 lingoteach | [] | 6 lprng | [] | 2 lynx | [] [] [] | 15 m4 | [] [] [] | 18 mailfromd | [] [] | 3 mailutils | [] [] | 8 make | [] [] [] | 20 man-db | [] | 9 minicom | [] | 14 nano | [] [] [] | 20 opcodes | [] [] | 10 parted | [] [] [] | 11 pilot-qof | [] | 1 popt | [] [] [] [] | 18 psmisc | [] [] | 10 pwdutils | [] | 3 qof | [] | 4 radius | [] [] | 7 recode | [] [] [] | 25 rpm | [] [] [] [] | 13 screem | [] | 2 scrollkeeper | [] [] [] [] | 26 sed | [] [] [] [] | 23 shared-mime-info | [] [] [] | 29 sharutils | [] [] [] | 23 shishi | [] | 3 skencil | [] | 7 solfege | [] | 3 soundtracker | [] [] | 9 sp | [] | 3 system-tools-ba... | [] [] [] [] [] [] [] | 38 tar | [] [] [] | 17 texinfo | [] [] [] | 15 tin | | 1 tuxpaint | [] [] [] | 19 unicode-han-tra... | | 0 unicode-transla... | | 2 util-linux | [] [] [] | 20 util-linux-ng | [] [] [] | 20 vorbis-tools | [] [] | 4 wastesedge | | 1 wdiff | [] [] | 23 wget | [] [] [] | 20 xchat | [] [] [] [] | 29 xkeyboard-config | [] [] [] | 14 xpad | [] [] [] | 15 +---------------------------------------------------+ 76 teams tg th tk tr uk ven vi wa xh zh_CN zh_HK zh_TW zu 163 domains 0 3 1 74 51 0 143 21 1 57 7 45 0 2036 Some counters in the preceding matrix are higher than the number of visible blocks let us expect. This is because a few extra PO files are used for implementing regional variants of languages, or language dialects. For a PO file in the matrix above to be effective, the package to which it applies should also have been internationalized and distributed as such by its maintainer. There might be an observable lag between the mere existence a PO file and its wide availability in a distribution. If November 2007 seems to be old, you may fetch a more recent copy of this `ABOUT-NLS' file on most GNU archive sites. The most up-to-date matrix with full percentage details can be found at `http://translationproject.org/extra/matrix.html'. 1.6 Using `gettext' in new packages =================================== If you are writing a freely available program and want to internationalize it you are welcome to use GNU `gettext' in your package. Of course you have to respect the GNU Library General Public License which covers the use of the GNU `gettext' library. This means in particular that even non-free programs can use `libintl' as a shared library, whereas only free software can use `libintl' as a static library or use modified versions of `libintl'. Once the sources are changed appropriately and the setup can handle the use of `gettext' the only thing missing are the translations. The Free Translation Project is also available for packages which are not developed inside the GNU project. Therefore the information given above applies also for every other Free Software Project. Contact `coordinator@translationproject.org' to make the `.pot' files available to the translation teams. PK[.zjpp ChangeLog.bz2nuW+ABZh91AY&SY.6K{(` a|ZJ5V͵akפօwl]lH4{UJa@@ϻwz/A;y (6:PE@ HhhSFHŰ Iiڀ%RHc  Ѫ* P'lХ MUvw2鐈>^m@;7ڮv>Aݾ}}ݾ eAIEP*Jkե@ݯ3dIRO>w۳ulUkcZϾ}ݯr >l[㽀J"W=}T%$/\;[<8sq]C}}U =qgݬ}mI>k#i-u<->Z}\i{uvNe{ڥ겠"z'u7ζej^\rv[|1l{{ wQwwwmv:qՀAB(T ]ݽNrwϭKJw@>5@%`7<./}oq-i>|S>; /`}|7\v}vwZӻskтn6Wjmrv5Ý7{r5npuo+}sTqu].t-[y{ooo=;9qsۆӥwwq}N1Oyu,[ ӣ{y$΀v]h$IkѮ阮kw7B.tm˭Ys vvJ ucKS՗5ݫ۹nݜ4)B@ 79s]I[L5˺ K4rسQ 9@>]hewS\5bݺǺ ;o=@@P #EUP1_pZOOA5{YDi3ў)o;FnZ$A_ۧo7ٯ r@!<!jEw)-WP~=B/!ٔ!;yKSP4Bj)K#M"'PtMO2xOWBuVoP̧vL`8r֏Ԟخ낤{_N/uxC .%öQ "B $1U궛 uB,SB ( 3c 9_ TԴf(]f\Rd%9kE>nunGEY U^ 장w,~Jtm-Δ1Ũ O=fw9'aaG&$옗,er%X#$k-@[ʇna I(((6ZS=Jo-@azk& Ï-1uU (-P. ʋT)@QX*DJD!!{<^)=zM1<Yiɓ׳aޚύ٨U߽@fXћ0Re==ـ&I5@䟃,YI.ͪ|wkņ{{^Hv1b&u=XisW6^e/QRl]h6ힽޚkLQJ!!ޘL9TO-fDNij ӫ;v;Х6ZiTzdχ멫 >Th8kp8 bX~>2: f5R}~WdUUUTxlYG^r_Q>zØ*+F߿9 ?G洵_ ]5QW- .Yi󼻳DBL%"([L<~ohF櫹FMYl C5֓NU +;L.9(o&KE.E\Dw*Ⱥ)Tf(Bҍd+V'rKAQ"{HV (2d-zw{roƔTiX`_vV8]K!F(7=䦓ag貱 > m'xV8ѫ St'YGbx'zo]Mh %ψ6ϩ ^UbtN;z}NRԱ)>l*=r쓤qwIEј|w{z,/I[}n3XR<H#B3#(ٝT_Im&+^4eSӺ!)G~=2~rMJ1>n0V y|W+Kcq8N'_T4Pˋ|U9H90;摘ˆ/wʿy\ DQu"$dU_F2, Td4K =/YsV>wU\ >(i8̴w  ׳n#-b%nzg|+DykRK, E=DZaRNtfa3WLۖ_k)M5Ƞ;ȅx}Fzuv {|^ʪ9y mU0eMi붱Vw֗BcrYmQh\!lNndѓg+ % KRggErzc5@B*Rب/l?~G֬ 4d֕`Ӫ<{^f&⥉9, v[t|̋lVdI 3r8 a~ӼTx lBRrvhzwQpZdf|.qV,!}c&ΰ I pTNQD>QZV(}iCVT{Q> zaS5$M*j+?Og#҈'cE"0"}}x(XPF`f!0fU+L[,( ]CE`X륂4XmU1?4&NyG*m~ԕZ/1J|+ =1_,CĴ+}qQEMQWA2Ţ)"bj# b#9(**Hj&dM3Q!yfB2 >J+MbaɇׅETb 'څEhQ̣>Z˄8PTDD12"b5LG1RUMLGfZ"")QSO}쌔= Cf=$<.jP*rw!+S)Bwù9@x Τla?)AOI~pKGXOHtmhFC!;lBKd죐-PU:KCK@7Cֱr t _le7*v`BI$9߿nHH{y;^D?n8W6Ni p^B!P9}A6n 포,z\BS#Vrޝ (qq-L(H5W\T=F T`:0#ZҐKo!O{1`8,ulgYaP ;9 h^)`N2H61ESԣnYij#*_Tbf97qs7m!Խ5Xo1'ɻҥEFӋ5u2d\NZB4-X0qnD3.2ĥ8IhX-kNEѝbriIb\T5ںVj$5@A`V@p089ܖfkMj *ithCT8}IGGYx) wyQȗWc(;gY$*Ái0ኞHLG3FG1̧N}B0#55>X 5S9#s% \"36ηCqg|n 87ͮƠ6kuv~f(𾺨nQ'DLN"^.uCU'`ܵlЁL8?>BQM8[}bFvUcp+(\U~D?ntBV)hƴTL^x=f"iIoU5h`}%Bo~.ȫLs]0k*vHSfFq `Bg6HY%\4kiԦ b VaY|Z.T=`H!;^glWa tRM8CD*OAH׹ͨ#`G;6J W"),#L~Cd}UݯO(Ad pWz;>-Wf 0wԨ0 vjs}tdwOks<ށ90 !d$!ihhPK/|ӣ]Ÿ8DVM V~͵K6jpz2i<2 fvZay\+1pr q1N@U3\J{!L!/;i+W1q'y<޸glUbwŝ QNj(X#8Q~hEQR'k.zsbdUirijAX֩[[Q)<h9GDD%H3v\nT{ #Ӗ⑦&s+{JBK:,̎ak舵L+{I#lml,&Uxi'Nف&e1 yXd " /X@t,*h]5 {s8+Ôhݮ&^7tXjC4 $@PYg[NzXC}J#jRxCwQ-*-`jAy]{Mwۓg=((/IW@JPyv:n dc86Ӡ=Gqhe 6?j>5@c0(PhF0[!@Ce#sżpBh$U m/L7Ɲ_GJ8KlKO 4!DD5=${Bz/Ozvd!ΞͮopT-ג ,Q-;"vN~MW ;méHȝvlp^=n iCy@5J:tw/pi|yim!9C2@ lMŽ# .JeŦuT@Aٵa'`VjyT!jѦgh&;Əqp QE]9mH[ %\r'^t7ӯ',%x<ːRLf&sTyy:x{ʳǎģJ DE !H* y8S3 )!)JZJ cvi"U<6@v\QUbxm Aa.n'%FIGN[# pMA{p$RCN fq䢡}`P)kaԷ[C 5"s 6tXAP<7+cou$6{^^~|:E_Kb#YJ":%0 (U* j@\76ӣ۶z@*d !JP/|.R-)A]Y H\1"Bbvp@XdN!_3! 4dt Gq݆\D!;M!dnr({Xd$1~^C>sD̐L77/v>w߶$mai, :M߳+0ygwU[9ˇw.#s09us<;]>VuIglHW!d#QFr%0G&w7ާ ZƿjBQmCr&k7TUU/sSmzv|1Ѥk}&H\ȳF]wx1t^)$=~uKSXsc/ξ5+=w;hxOAg :̱rجSot4; ێƇFYe_##KqoFr\^8x|ʰ(A0.jtQTqr[ǂ3Ш1p|fLjr*ajn곌 fOξt "K'o3#9ZPa3V'\ξ Ba8SBThMߎa4bt? }݇hO6}V?%FK<[>f\w+ n e_N<֛%|t{0xͽL#Hj7(Lj 0B`Ӫl#M#.V,F}1$fpqYup i6"bJ49/r J僸^-e *W C j[r MWFq,">6եTg zUPB 8||%3Lg'I!%!1bߧa2Y6El N5}[T*B@|kT84 FEUJ ?lsl9$ء5#~3Iq苗X-cQǗU!5/mo>{/φ:T+A}H ξ(?#q!`Y2hܳx0dAOvQڊ:r~[HZ= !]*g4aɨ̧KLg 6}&_8y<~?9@a6:Qb.Fvz٠kR q Qp*xo.8\FyẢ":dLMbcR33CO Aҏ~_GDDb%._OfĹ&8$R5ZwԱS b-6"C#]((aM"ٱ4pC6gi*m 3BH ]U!7Oֱd*o9K[nixf`wc 2p&.$^BjϽw!˵}q\%R'".T!aQ"򊂀AhEp7k֗.>Q?Z=@iC`:C:jIH1:P1-QUFN{8W#y#J>2O a4څudSVK-LZnz$W(v͚zCkt-|hyZ.S!odžQx)/NQ;JfZ*-yk+Jo|nŷb#XKsDCr(Gj` tcsR>j8 `Dk;ߟT{!c'fa,OKF]m(Aj TgzI _*PvcѐȪD8|8L 0{똀BNX 10QVQDϼ >FیwQt ;/cŪEGޒdʎpzK_zRNA pf%M  K<#Q-L|h(=~<ȿ6iyآ~s ( =}#-ɻr0uB<_u$Mw6`6Zf>!=ԼE~%akN/M`rĖF x[ulpP cVw &/W$l=!Zeepx̹fhԥHuXng=`gD\^d>#לi\ f|!jB?2%՜2cx]}[!1@J C(_cWh>fg B${k޲"eDœ== (ԀdoyEcmsyHtjD k SƭoҗeC },elԆ"cj@3lipT#B-m+ !sFgd{j}NIR-' 9X>lb"ECcY`򟢛R|6I"'>ֹ;3*/uW .A ; [Po#^[٬䏃"#"ӋxSO&4V4ag9쌞c,?N2ݙ~SĈԯokVe8+˧3۞Af^rM9fKF!4чnlNjJS1DtK6>R7LseA‘:l&PwJ7.wJ%78VC-s.Ey,AO }"᫿D=831BE]zc@,oů㒿r*8WJ!XߕgƢ.6xɆҌ]f(0gHv"n.s{VY 2tǡ@Iu$FsҖ +ÏPv$V3b|- p7QH~}tr F@xb}J->=gypI@)>U9ʨV+|PRE&$Jʦ2,H4Y)| -Yr^բnphC5~* 8r2 _Kmhh_un$׺vn q~m`" zD$(l<55 PbX)BINWmθ*-xnl;N*J?&O?%#!Sá$^ԃ~Ji,!&(,cbO+LabGa/tә"1i-TMg3|6R&x,P99:y}vaM$pqOgI(*+cC3'p@^G՛<-VX_'远z!K#=Y>x7)_׾'7*4;bf2n>!>vp$y]32MmFg[U:ΩΉV!߃Re J3M?]!"(fM(bJ)Xnqi逹2j]֛~}|oч_.xH_J*wAJ)T {pb4eAm ?iT0?wƆ/J>Wg4ЦyYar[[/4=L\:mXaiƤ#]0 k8D,673P #DID $)VQ;}Ĝݙ'Di[$C(}ceb-,/T,O:D\Wa[E@ntgwȾ'"N $|T.I}|o heU0!rg {]8~j=SDuǮyhoqNFP|b4'O&<´-8A=l@ti{j^pKէуƍL$[),[J<̃$Jy.fՋȯť{8]P@ieDL9%\CU뇛|/};t (*FiߡEN="AqB!_|m,D-mQ);hX"fˢ%Ts}HuzFv1};每gq?GKe2ևS CA  S %߄D)i̫>%@M`Qqw["tS|FI%tNi}B!D pYɈv3Syly ڮث2GiD\.vfN!SZ(| "18@[v(9a Z*?z Nt~ړ#mZF] 3`}AaUd?ޙ _PkdQ{dqcUq(@9Gql4Y]#9 u-tZ, =RJ:w>ZmjL8H 8CC)"8cѷfT n)BO4;~~y_x/AgfyK͖J6 pa4<L%L⚕L(ɱ.̂\>8t|% G+HFtck6 6P2\ړaj@|W. 쒶D>1 UWZŠ1+7#<-Oף-! FW|ZV4jJqG6CAmOv>5ln 9YFضהV^ YbF4pkAՙL`(!O{ qi@UbhDzs/cʼn4 TȳM 4eUx3\PCKi,14|$Fs I{jjx-ӴH&ߎ`(_(-hO߿idz@NЀnW4mێ{u9_xS^VUoSS#`;q{2;(<;Pq~úlHC}"@|QCHe|sEU5҃ѮeWćx+{`vB@iVTr # RH쓦It{;D9O~.&~48Sy4}*/JR@Qq\_Qn0;L#-syw[GbPq`EKl<\pK嶵촦'~yYL1YnPlɑqyEQtQ050^crk> +;>Ga Zs$EKv~nxb,4ob:=/s`npKvG.@ZpոP-9THYt1&̈́\׸'Lg^}?ꅸGߔH}$I`غV%jWAZ>f8PX<օCK2~DJ;1wk_dR \"r%ȄPǷ]w0]|[2rraijAY͛ 8lah&40#Rh[W@.ٯ/^)e A0h'֨7 19 (HO.H \g`A(b- O {58[i}iFힱlyJ r`*3.#5= +lřCsc]l[9+1_e_->d#m J$U 7\R+8}g8WD_@e]ـ.9,!+B)TpM0xXE}<_@F }8nb;z0?w 6%ac쩬Oen0opWjeo!,Fo'"0@tyOt`(Amtg{q@G5Z.F_qTk[g}m =:ljH$)6d~V&L'FO.¿v`]9scߩEZ#MR/6eIF_ a N5l8jt8ml51(;HcCbē5ׯ˕e(rsMT[mMu>j-uWisD"]U(P3ԓ0gZauAJAX c ۆR;[/|6+y TRQ~-׃: ebZdTKG_H֣Tɚa#+%wmy~IǤNO5 0v*6_DY;cL+<F}z[ HmOsA-BYNw$C‡iZ<8`žnCa1B)KMUSHJo 'ϱl(|5y- .„SJRH@̈́E~ ` $Y*j}wͳoN6O?}A_'>٫Z[xW> ʯ/᡽"::Aߙ7=CZaK-0[Q5Àw@"7 YAFi؇ςWi.\RF` %v~a)l 5 *N Sunm 9̆?0d7p:cLZ`-M<υ_'WZH>2wd!5\؁ =oVx$ Xru_4ʮ{t5&>eBӝBv4q"&;Y;{P&H,%ΪD$LTCCRdCh" dBk}b {CV DCgwg'v]cl[]BPLt Ý d{FcCQ=M-ү &fa=Р%$2g9=T~=PZ$袈R=3'R%A'e#ʘ%JBxpM'?yCIӄ2hJ0S\s.  9ՒB(ԥW,f*|qV4/=b/7gNO=%ВFKʮLwaƯlDJs_fp962.7~ϢK&˩cŰ!c8#FX0nbHsw ~V_M-v`1ЛAlQ8}Sll! Ѩ]XE_GУv?>!,}ty~0X.q#TDYư)7?gϣ7~hi)#Wv{& adGlɥý'*(Wi*g؋FbyOu #.#-%g'1q0@#gQEՖ9vP~.г_6B) $ai*?vL0ex6Setvo- #XJL(0J0^_Ekol*gq' i"DLŵ,(xۚUn4.1Oa9,>=D{{H(T͟1Ȑ.p: teD4d} e\X#k4XAPQdvG[ֿ"z(Xv JANgᄺHa6̷L6sʱK=ʷ3zYm:wUŁۆXiV֬T{Hsڠ0K`ÿpQXJg!d v>vb8*2 #%`jg-:2 vNͺ[$yq'hV-HERdXq ~  cCN zpP$wX^Ӎ io2,=/^kHqҼQ3 X 0;]+njZUPF=ݍ%.VS3X5H_D7˚QyC$M~ <>UEۃ5\XhB`xuX9Is^"7-2weC~{U@<Jg^"P"aA6:y 0vjc^-']80-;ZEFlf'7̯0K@On/CbZ@?-$jVieĢV<sU'sŚqeW0-/vJϭhpLY-ȚE{Faj{?VI*%BU Be %țs4;wp.\+C-skuvhKݪ$8 麑|dOX5Nڅq3Wuu=:%MUdY(HPG a&H9*wsl D1#2!K#`L\w~y=T+'_*x1 )=g2ASiH׶]*W~y$Dg-Nv'_c0a=c:t ]k?Y3NPB; U3o_8DG6[<w茴TӪt|'C{y眤.7Rm#eȶ;/yg>'X܆]Wܥ H~;KofQW ̩J8qL yO1rs+,yTSEtfn߹zoNzQV90)Dng۾(Z3VN݀URUhca\o@v&FqguJu*;:,4 ~V,MkL,*S邏 U"Re :'ܵl'wk_.;Hw)VxgBn?ơOʴ iNoQM묡 *i(oǒ^F)#8qƞѭ4kizJkN`C/Xn^s\ƪr(@V!gtsO) Z)E&Ac*ĨL6;tmϻLikA+l04nkz(3-}s;ӛ 8wC LQAJ@WKk~+_lOr6R1U۽nM .F Ҋ,J$!hX|}6) CC'Hn\^2oW^,6Z \Gи0ΘvNxgwA^%{0C\,;9dE*]&eFd._Iiu"l 9Oh ,vqIgGBFq: A a9l^.o,MCW[dL'7=*:  \2:HC^_^-01Dfk/p c(0#Uȇ^TB1W\);h𴒢8d7/ͦ:z6X\#5 ;r 2$'BSw;0F Wu\[Ylm uZ=T_ux}|PR$K8 vBs1C3*PCH@$-%Ёm[N{Vv6Dw|f0 IJ%P +bxhhc2Hգ NkzI9 Y匝;[(JO+8Q S9ع+`^G_9=t]&, |PGV]7;Oz:#UfLN^+n+a@l?g{Rٴ)l~g,@݇qAh([S4r"[ kJpj^W\;KecBBt׎1x8|l߈ \%G6_,R$>7#ћ~4DD$ <Zq"O7k^ԯʇi*<;%௒8`8~Ð]|M?!I⏺U(:7>]rGo̔g9"1xk~y>suw7)3 rcg紇5QUt@Nӓ|w4`^Зs5h[x8!W""(|RrOM p7|ՕF4Ɂ!uVf^açgD<>=/:q%~&'^C %:X}-":˒_TgT$WN̼~PM.Bხl,c\^*ohG`4]H3(E?tn>8#G.إ}{qnmh AX:Xy9AG !>4TRvZF_WZ3@x@XR_"yer'}uW:]kl` ~zꦲ ; iE\PSH<7+Q9ZRE>?.&P!!W`q A2ʿ ٙeZg P7N~ wc a*YWx2(AW.sk3qBuϳ`גwۥ 2?]p!NljΒ)Umg\e;fĮC* Sa%k^RSGFUSff1(쮱/׋>1&1lq(aV}A,O܋$NQ^A*=6xJ\coC"9B+]ojB.]w}pjy2a͢c(6;E ۏH,V 9_m:!*I0F̋GҖW2 D}%6oPw%o]lZ+i{ PX+ pq6"S3E@NK)!'o{GTԑ5%m3hbkig3bX@`{6#BJ߭f=9ԅ(cyLxc?9h 1kH[~ˉK$@Y,# ٌ1 KΚ`iec&@4H0t;{KҺC[jbbrd% h mPרqo⳼_K~*:h :WrX5-xVb D7 [agI1/'+m_'V/gh3R7- TXaoC9LzuO B׏\V[.;EO0l67" ^xcMQ:ȉf9H,LA XPq-\ L(,ʨ(9ȈLfj=Q{=j17s"򕌖'7ݻ+:%YNN/sW\ TU`19#6.;38C}7r ǃE} 躕=:<3"`h?Бa5 :wv i78]i_}r Ә1˒¹E*'dvlҔaWt.nuF:} !tXN*" )3g\拣@sp_2Ԡ(f+ھ^iϪX= "Ms(8޾j:g} ~|~yD<@r)g/2N˿yu=DOwgH 0a3=Βڕ>5cT#7XcɿFϯ3B0DHJۣ&2eQ!‘LwE7vaC01(s&DX:~{-OHQ Ϸs_֬TL:*l+8PkEntR3Jl5o:ys^ۯyV\}f |qa -aimvģˇ_rnDot?eg#'K>U|JG&M6>Ǒ۟0F?v[.?+v^f|yDn6mҴ Nqila#QH?G[tf1!1}9#Xc꫷v` r<.{!Gw/?ݾsHyYKrX?Σɲ "7?eOu~B`i}AGOQO[zN+aoVΣ푏=OM?|ӷ/ֻZhϖ] >BSc^mBcۧ/ ǐK5՝P~g cpk'! OӦ,QUƉDL+9z 9z{bkuG(&w`Ծi=6.PI6â?Ag.?^4:?~+}{pDG݃P<v:%u LaÙ.ͿE)6&w]}Z$f'XLQ H xJUUQDLE PSH,M3JLARA%jf&bdjj b"Y>2$J(jXDUDU4TT4]#&S%cj" )jB !!IB5d1 !+L34JUS%QBPԍDZAtoӴu?3Y{*/}9c⎓ϧ_${˗AѸ kr5p~Y;@Sx~(n58v__wl޾Sg_׸vm_'[у/^/f_l;/"F|rgӲg~:z ,yh|{e@msڟ~M~c(y˷N;>MaeiQlVi:~[ z7uۿvϪYo9A_Σuoz>7(#z|8y)R3w៑FPugeţtN${:6UOIgOϏaM B`1<"* P3ZV|JzA†] ׾c)/T8|?v7C1n(D B={kёfrfwnDe`Z ڈ/r2a 逛ZhD!e%CS"1<ֹG_~יm{/v2Ic~G@n Y7&so(F3Z E~4|ǝC#GOyU˭->_˱jêXe Zg˅*MwU/yF p${kEvztg:°eP/5y)GX6RCg,[Ӵ,AUT(|alY_˼><k֍ܫTQ+cI\QLmF5<PM4>(V>>R_"!z^ _ rH)c hO,X "AAhnσNj-DZt[&>,Osg(ç: yC.H< Vlg+CFvr:0]cJ-] h{V[mUex&U}vD΢n"E㝱9c 3ӕ5O^f33.Y’3 :fN U:Qڹq$j)O-]1I"(/^D p~VC~ JyѝRf7X iUul#PH6KXHb( Įg2Jv()%NysۻSS 1~Uځʻ'$f%o 8*{VnuB.I`A/SO۟>nA3<~P"?oNf(/Iԟ>^̚] zTTdjkHРJ>]8X%!Om+nLRxb7,>K>,Wv>`6zchDRxXgiYt]R:6vLe9)Z4odq qNQ5m>.mNt[![AGqky_b=w7=]Fu=^;g>޹뇆7yzGOFʯ_Eڋ˘Ky2$U?~s7w>yogo1o=G{Q= ڛ.ݹjpeOy+SL=?/9(~¤wLcA{U`^9wj- KO]ѿ=R{yY{n^Kr<;4R)f E'i^4mKnlbI8XhF/\NGߛoJ,SwT`6K;OL8*|QI[I.k+ 0~!_mit4 *P,%ybn1x=Q Yl0)gb\ͬPY74,}cß?g氂4'VQQ-Z+n0p NӲd#Vg}]=A{W`ݟR@/c7R` gP vԉXWZ@2(@_IL22LZJ\ڝH"~B*M8U>_+ %Ay$#($3p1NUQAX"" *+`5Z(LPQIE3QQ4EQ(fV3iޯ;1]AE5DQ4%ID ZЉS4dib ,QTATR]o |)GN&&TTKLv+i٠4XQ H'.\Qrub'!i(+0U盈,KdLʒeQbQEvcI1%K7yO㯣.XvW=QDUY+& ZzuyɷU#X +9߷8g.S>*R 1Q|v0;îjTf $,(ֳT 4Bf\CF^hcNP2Ni"!)hP*! 'UH?@>;v% `5pj6me()`>׍AeS8]Zgvs S[MaJYXg,}[qQ{Goe;X]@on7Cļ D){բHsch]MUtuyOTI ˹"bF ҳGϝu׊Rw5T;$q 6B};U=cpjt r"+%,Tu8mu/Nzh~q}+i!;\pNR%4EJwŰ@j4' Ok{Ncd;@ qUA PǨ6vJǿChyOۿd _3b/1/h 7f1@_Ƿ }-at~Ikt;VOs?fkษy_ C,U?Nᧆ L:K!R tpE@>~δ ( :NGI|tiCBuda9[o_~rzO |C,8t9I A폊jIxȵ\-c/fI)t! RVx |W!K 9ѮxzvLwAmnډB#x(+@{kU67]34&m(t, B%\ Х0 }71qx $Xa&R w"q \ڟ}Owc,-ņS+ TR.0U"#V~O9I1ȃَe#}G0#Vxk y(Y{:7`HX0=)/'mg պS^8E9e'œՈ4+Cb{uJ|F,D* %= KrOO.@lq;w( iH=ɑ5J]И*H;J)I)6i=5 YW 7WN9 mc]k~hvMyɈ삑_f~e/yӺ.\5p%?vxҸt'.S uXuZik&OsO* 96N+~.ő)?B?=nߎ ߔ*ϜWPձ|LVJ|~w|-V| 1[{'X +6ɇ:y!ꔁ=p?e"mPbdbjHUE1XtFv ЗY6S}4tE%Xcp4ܨi;^0 pɲ%4)(_%ϛ[݂g\t:47c[Npu!֫5^pm-`̭5Olw*ꦘ6S%QjJުbn˹we(k} m=8D_R-4|>h,8;o62ES`CсP ]u9^!vcvaL:tl$:];ȞAp?#mD3S%-hqLBE58Edb2JC5mIteBgQRyG Fi>vWV`브(U^+Tt*+Ff{zC,K]O6ϧM 5sץyv;<{Wְ j}|90]Bԓ߸NRZ.NJ0lE\_lG=2^LK˨h<w̾nS?Xk>n"6K5xr^%<֑?~>="׌þ? }bۛ:yԖ$s5GLzuNjtqTӠfI'GS$ T~a<ባO&yH_ÊJۜ12_.f0R?攈nqaA/!,UK b%@_^Vh}J>?q1ܰ!qG?rF^_Ϲ%J!\PCdʋW I@[EY+`A"}0[XG_JL~K4q'ɐ 2$WoqogO6ʊLE.9%hN3ł0F"O/ wxnG#yWG  :}ȚfO _וŒ -I58NWXLMa0\1> K\롕_s+V" )Y܍/ޗ_R/F[ֺJ.Y&  Z0Qy^'!wdehk5lHVO>UtSuʮXHB6gkb^RAA9΢0Qn |`2h5!1BT9TXMI* $) e1I,L@R4y>K+C,}!Cskt˙@,χr&8pCPA|[Uٵ(2ZC8P -5n-n&߸CB{WNo$Xzu 3fw OK%6^ mDC_5)bKD,ǽBmqE엄] t3(V, 㤙APEIXcIJ@f'  -߹k*YbŭlĨ(OF8T=j>pBv] t9AX:}X7&7&j,60 IQX_vR2{qBĄI"@q* oJ>=~O[[$ wZ`r|eMoΩMH$`-F_6-I`BwtKXldtэ3__aEIð<΁>up7`1YsF6p8{朏Y7&)ӕrĭ0ק,@'>AI_^쪰Е$Й T%`M”~;h^E"x>OP p|rwzH޵7qw]Z;J҃˯d>:"X8߭ ǟ!M{}<3[æKv óB7Mv{wOUY;y^c\;p!tR@qlaCol^Ԝ 7Ց!&P<75:'H뜴]pWizWeyb@TSX($=482ik~.[7vq^Ld` #ف f"dn$ʙeV{y$/op,5AiID 47X 1(ĜFmsI8s7{P!VF?<ۘ=aW2"I'|vG5fԪpQiF*Z*%`ةU @Cү~P(C _8&!G3R߼+nֵnI/IPU:>J" ֎}i)y̬_]jp j}Fܵwi!o9u l (]志Ȓ*yyxC:m9%+M"x=}}{q׫uZAeƒv`xyi5f("C(*R ! @srY f.* J@0J(  |.r"8T7Sq,I$8oẏ=c^znBر12񖟖MeœC\̫ii6QA."B.@anCct(8Q kZ:$bT4g+[]^1 ʪ`":?B1%b/N* bTbEqJC"K/zd,25 .a$\}n&~Uso@#ce_^=Sv(4PT@㔀r?Ȉ-R>"( iQ `!c aQ&!l&/Jư2`8V:I *5%)# $W]Neyp/+-4>rg!\~ zTu'tׅܿF]{7r~Vx?B= >*ZZ )ekVm*Ҵ&_o5ZTC?GO"0'/{&^0#Q pQ5TPb * @QE4LMM%KΝ0J9<[Z<.i=$IKl_20^Osi !GS $FOi F0ZCqPJH ) S[ac"Nl"$X>.ӫkL8yfwruky+!~LCWˮy9BVݼ龐ϻݦH1o'd@K S BɆQv?z/_" #QJcm|(p=Rin~[72W뎾)ЍUUFKVֶ*x{Ő Vr¡ DVCkUz=$`: G]u\EklGUQ'-o![}ԊLk kzY( idK$l[o_0=D}s'Likn kٿeF-NṲۖ#' IB UP؋mֵJFdWy#J؀#2>}6x gYê%zZDM¬5.!Ezvd+<-~9F{=Z!UωН5ߔC֬neS-z P@D0o7n ]4mAIaln QԫZZ(EؤlLYMyӆ QևJHd~"{GgQH1pQBx_"!(/oVi9 X z,9Z=i㨌6c|j5/T"sXKr@|X4qnvA"A$J,j-me)Sy&oE @X@ J GmIR ң]e!QCRYFw:dbaj[m_̺cqCZ A5b7G oK XXnLJˤIcͱ{c>F>yQ lB>{SƵ}=:YK&Jne;34C֮ 4ʁU~I~sT#,t.gzSwo=露7'[a#>mv.ĝ8\2ui|t7WDfG.(5Pˢ0#§{)" D9w0,%*,04|iM4hjg5 pP9횀.Hh ߾J c()ڣT,THHEBsd6h$1ů)83ߍmGĥG[{'|2q͵`42(47Yƭlp)ɝtZl!FB{b\2 Dx\UF@}p[@eI i@GB[KD7w2 UC^"1A; Y6N{W;;Hh[]?=w:<S)~$j A) )3XwogoާKē NI O ʸ]ӽTV,Td寅}3;ݡ5!"CyKS ưˮ(Q1t wqQH-"333|.xC ?S dB5vil=v$#P@Vuaɚ3]szao(?Znv_ j|U}lۜߟn_N7&jBB'б `@4f}K]%zc_*OopfÊPPEW kDT1SMUDUTSUEDJ*bkUF*(D5S1UCESEESUE1UE  &z'bGSTn厅{S~Q8D^d[:xkTi-]^ wcPysoh Ịs^q 5+â[0˨Xu4) :BL GR(ށ.k_Ic¶y`C-ά;:TcuC\r]բa8hqe4Y6GkWҘr B CJ]nFg\Uc8d@Pn*$(HA8i{4&LPTAQݽ,'rcNH:ٹ9h&6|iʲtuY aRE1Gc9;S%DNGr֖[A睢~Ĉ"K ׀9 };7$۩2O}x=j95ӷ=O)!:&ݘKCuP :CzTOqܜ_u (I : Y@E; zqݳ^?UNK.7C=1w"CȎY.C=TO]a]q;AkqWTk/ppY_? B试8/8OB@!twVݯJbi2}dMՕk 0("Q7t3,a` b}Kɟ:/26?gO1߷ލI.s *eg)283!׷H6b!V;*6E> -$Xu6~ -L Nur\\GioEsaqf|cQ+Mo28cҽJh00R#i.HEiN&/buZ\7*+P)U Q7`ì,.2z{{yXZ]b"@N-,QBw/~ȸ>Y mgF +ȤCu ""I0t]$|zVx,t#H*OMRC`Mh,:*y %XjTߺӢߖwPP!<6dϒ*&5ר̀: |8XNc= ^|K2 Y{Uܫ*Ca{@&qC(D@ De(?W*eXH \V}Fs7aЈےh2s\^UG}cDn:ȅPg=\:xyi͓~ .2Cc NRʂjf1( "bJJ$)oX2%dZjT u"aTN\jV̈hB$I/7(qDvP˔ļԺnjtrU3i35E%NYjS ZMBTvfdXAU 2҉}'|2"-[&.ph8{q|PDIO7W?^]<_=C݀a`vAO p#z oa5Pj3?[;_rʤ(O& 4fe3M0d4:bx@w(RL~2 'UiR@k~ldo2?-Q:ujj˯C[EQv'`yG)~ޛv:ه.Fyռl^|9 gon'M'MgQeHM0l##`M ۓPM;[y}}CS&HM@p*[bk7|RAI PIAJҡJ$( )Y"f*J 0*BD*]R~\lt4i?&qb$P9tguE[9O8ΜBf>$L$(ZB}VmA??Oԣ,'da 5%}~"O!yѠ,9ٓ2ipʽ4`p/No^C 𐛿fN\^Fi0< v ޼HV4z&lx a8ds =ÐN#!ef>=`8C&`7]᧑>ST%5xTq<)H&9*(cȠ2(P(Rr_K*}}|L8y 5 dTNXͤ6qx~.y{].$1}noGw@˒:P'$5 `b6bxo|D ndCSR{ljI T`-;\\(چ0ځVHntxaK|gv ]t761 ~p9^-ޒLw=|AyznSriW>'sl&m BI!Į =9k 36R:9` 'g` 56R|'mp8찱 '6y5Id(NCv +qv&k#ߧ} }rwMQE$0Op&}# "_TW$*+|VomdHpN0<5*?hϺ<Nf2l&Yrf:iRߕ'&X+J }zOoe8F-Ɖ'];2h󐼞pDxI ]@׳`-3W>l)*Zm ; 4856ӉE ;UDF_ݘN q^Ql%a!8$>Ö?CȟLtcDfNo&>[[KR 2DUB@XGj@MCjXv'o>;h*a);+KPO:C6ʫp <{ {H|;|ƪ a?+ (H"'X[(lZQT!ORE5 GA䒍-piUti#=sLzR ah:Q&4LQ,Xa6*\2`} | H)&wĤ! ON/jqy+g~לR!W2N&!?PUQU ?`3 ]\ofj6I Ƹ:R61qKAEIseE1#4HЈPD&aRdA}^dV @))PwIIT5Agy3q8jMδl:}~üKOps8$;NZ+AТ)C) ~=}C;Ő唂l؟/Y +.K NgΓ Փsee`>}{ӏ8RRW߁-0]>Ӧ3$G~D&I r )FU2C;;ٸ`rȻ,6LUZgwsNн|v+h dpTvӟ_Rs}sg7{^'B2b}PۢyMA6Y xwHN6aCN, B@q>Ŭ9Gƽ9bi.'Ns#_f~Bh)Ei( Ti*Us ,""hJB$ (j , ?u qQ˶ TKsa)g@f?LpLM~\Y.Y qI//f>/PwcyTUZ?"AXE~pwgLe).wYCOeb: uu  9♓*.0beD rYρ `NW+L"`'OSLv=]S =+{(Hf$q DEu&^s!`ZMX^4phWߧE@A +u.' 4D4_~2b`?YyE1xÒPs&(*V#Yކnp?urιS7z:" <.G=E$/ #',9 \?*lxgth>^Ͼx'Y h"Ǐ|\$yר6*H 48!o$ڦCO ;RJ__:EW~o!E/uWfCg={%98*@8 z`^Pz}'Iæ8q<\#mbofd7kĞ.\5kzzoԩG{D(JrʘI4LEECM *&? jIϠ *KAg~'(Y>z{O.vS>#rD:72aGT=J'Rm/_SB'p;D@,! Z K{!ʂhM#B4DAKKB UE(ФD"Y>)^U>lQ-pז\'i݁j{ 9!@'wJ!!٩R Ęx<=!y7{(0 3H? 4GYS Ġ'+ % niC! + ~4$4TOj=l) O05z;So}Ӡ'Ks8>Ϡd}O{tcb_OX)?a3 ~_B?x`- cbnT $~/PT9EA(AŐ~c :x!2n1m 7?̟'["Vp]OݵtNC~*`_g,-g[Ҹen@cQ=<6w`#fud~zaAXV$2nM7Htꢘʝ?@ e@eOEѽȅn.^7P.DE2_ Bd"^ Yh*0OZz޿`v 8# ʙP爊pb@>|uD>Gf5wat߽]C`2۞ @AJd??1=8ӳ(u17/Y ;zUF*X (ڗX'go>Xb/Ce֣f@j }deC⍧]>", atPMzi:9YDm| $$EH7`}̄ ݍ DzŞ)A{% H0mΑ]}G*۱SA+dB0rDm@ }ӂF¬hxM!a"⪫zq'EnFF>M楸h-vѬ$Q$.[Q|BH&HU8@WLDzhqYhf0Py@bk7{M߽(R tQ=w1ώBY|iƮx%O`U Kp;cccMd3h$t.N<:; 6xWxߩ;''.ԃuT⮒bXig_~Mc`$3<|g L1_(Ԯ `,YD+(N7`pafK<$@؝gӏpvoh gvf2YCYoGN/E@p%AtH[L4U(໕LA5A;c\5Pe. U`xz}gĂBj>~L_v㐰%@Qe"<[!fL N;m7`Ωoߑl塰Aɳ8X"-V͢*A2P=q}E+ۖ7a6Pk - 尷ј |s0k@N u9 챀^ra<#R<$CԐ П :O!ŮX󡽸uYZ AS %W"~BF@e3-w@!02ґ]3MgP~T8@&|U Jɥ>2{%= $wp ?!k-(XUSf ~B}*PA #Ȼ$`tPGPxGh#ن~Y/=3U\i)f])"(< kgrNfnh$_i$8Y~4$%e3q~NW(r?9!O4IKm̹g~>{ C@J`ҴmRa)C"YLFŪbcˌFXld~xfq#P$p1;$C3ɕ>8mEEAE J0~NA^rIPH+@X^cӇi iP=涼WcfZY~p_~;<& -;a~t j%8^g.|m}aA|6ʼnJud~ֿŬ$wUenfLsa|wp hׯnB/ }۰ڟ^kn<|7(< }2B,*H i !S,"mɪhma +baBP=#w38A0AAd4A!s*xf:'4 uditBϒwW|? 9M(\4 i*v:h)(*(a'RD\X_u[?RP."m?3na|\!HY͈@iRﴀ&ŋ}ГzZX UHT5*")S6pz:NmydQz-aBɢ$D8rnE|b& 5q/|`4L ӆӆ\WzS׊v8sȏg3ׇ} O5٬Q[lkm{Hz)RA+auOoV=P$BD4R@43)@ JsQ%#>;Skӗ !a?gVYlFS6)_? ʻ-N9!a*~*AJ.@ 42LѴk7B&@/;e0@u!؝u ޒgR?Ri%yfzʓ5h66Fy)jjMȹ KHfHa )N@MUf0IXŁY'@5"ЬE BjZMΉrO9?k,~aܨjb@j׽ v?/"AF E|rDχnq⼠ױj܇fV[bGr!}ċ쁘FVQQRM8ӛ0{0i8pUX(UMJi*?}?B`2K\DvX7 31C(bx>ΡXw!J%懒WK ]@jnȄ9o_ߎ*R!/@;3 ԫS3>L?.?FY0řagCM^P0`5,k2#꒙`eD[Lab (")YXjCo]x?_ZHPULMfȣ-P e P1 "' > wh`0p J Ys& 06Y |1US 37;~I{{"ҷd!q̈[i+Wz:0Ox %w{}+5a"Q0 P1FbcP }8Ԯyѐ8w]I'Tz-ed UvHN{RNF}>^ZITqi(9ls20{ae84oԥgh0􂄦W BĔ1Oj0ߓt/n& |||.nRۥ^@!g%KYH`|~9rr ߱t>n9+)Ĕh삊F %!(2[5>vs44)(l#CGh>B!;*w<$>G?> a q(yQ9*f99$K]:PUD@"fhr:z͞Wg( &9dRb±Lbi*(eDQڱ,-Jeӊ|Qpw 4Fj/~^s ${8)O)`5gI䎐4f&WMuxyNd6቏*2kqNb (@ pݿ6Q ɮpv `Oч>/,,#  RUJ*uj` {r8z÷n[0)ɸZNaURHP 9@>2ѥ<2}o?|Cp陙V;zJC"d `~þ6=&%bMX{/ʇ2^3nC`t4_l5Ak;2~KbuN,(p`ЂG۽.Toy;&;3mT~FrsCC v|[ Fז1\$2ʧ4,=zv[@D𴈎H(MO *iV)hLs US??̉ \M4DfIBI!$!(}tP8x7A]6mJvFC-rZ$Z%@Ė[ Y&]. ȳFj-L@ܸ(9‘daJZ llZZ ѿ}^{f0r[C$P:r!s~ggVP`x2aHF(:ذX t3>\9g= RBtrI7B)]1:fQDE 1PBpOr5LCҨsSG!C4TE R- BRDlNEQedh '2[ZLj^ԲueBS^9j?aI R#LɈQTi\FT=fјo$4*L tP2+$ԅ{Bq~@pIH*Q21IEAq6ڊm3a2AbE.ܴĢS,rFR LU0@ƫBi@:!J%(S;1C"^9%&Gz^]y.גtaz06pݜ}>\Y_J=åuPL.Va˵RU֚ |K`ZfertmN1 lrL+3I.6 "ҩlؔԊr]\ Kڌ`?*QY3~'ukkRb,xӦi9-cDq۬_1v-sI2Ӛrnecmc dv~mJJH :p:}v)BVfS@X%J5'2o,smG\)yqWs 7jl5C]r6zp^l0DitizyC]y*r`(I-''VE.,Λ6K+ \q,<\݈PZ:- )83! N&So^ilFÓbDtms7fBDA˗.Z9%ƱR /KPٽ"dh=bj2nBZ2gzA.kj:X딗'@{f뫝Ltp`c҈Z*Jp;'k6aN&N9p:IJ=RtD>YR)>_.(J@Urhn`"3ua)512k Sw$p JFwKSgT; ADEKScH9c"v¶|pA]=2jbq}/<`uKҠb= YQ "iK߹w$ɉ9<c@ovALz>l];=g%_.v! L{Cvfۉ\.ce=>SY+8o=>gIчxX`o:x÷meYjqu@BNnhKRbCuml5 ő, !Q YL}}k,Bc'ĶQ%G&L# Zyoz]M~Rl}$V>"xT?E/ilf̷ˏۜDCYan- & Nw]ː57v^_{='CeO>}ôVp(v`<. Xz/-h} ONׁ;1&̮9t+djY8_XffQ* Թky10ϵ5ԠY.NS*;2BO>^;ើ[zIM!R@a^qSEDQIDPLUD49 @L %ౢ &((wMJ&&!h XWS>"!b(:}V~L zɁыH*DYR61)"@%36d3Sr-%",0W3&_x7pt'<0!{){dC_J'1Rf8o4j)>ݵ> R4LlC<""):ui0M`e޿Z 6its8=%,l/BO ] )w'])i|#Gq YayH%#KlthOoy}^wRP5AAim5\u{7=5_߷tl RY m$'"Ixvô->["7r t Kl3hc;6V:]kń̒KMMY Z!I^(}ڟ(q~Lx(h%? F-FI$1aH.; P!|<[+ _@~ 5]u<|ɌqN>l֢A2rRI0Bz5Vs[URzXMӈʺ+̉U=nnO3>ت`h *e9ͩםj*!"(&H> А:!зNaٷY#!G].2N#QaJT@`d+u_Í$z\^3wӗc9 ;<#yv }_..pOٻY/WYwsZUupfb/qvXVOd}^Ȕ @(HT U=Ț=>Lކ HY6QCDG=oOL۹$[N_GYWP:{>kcr `ٳsv>ݲT}BpłN4 [5&r,Ļ!UjBqZ_QT i_:w|/9eƵ(Ai)]ғӁ R!%Wx8k>Y=;8#{v'̘3}}ޕq1G5y>ѧ `߽yb˗\BꞗLoF6販PĊ%Ây3¶S5 ;3a%1zi&\Fe,bdB0kHvhugƀ 0$s@7 vtIa#o I=2M) {uK㡂SHy 0 즮`XAv8cQEܵ.ë%G7Ԫ6Z/.lZG=TPAe/8B^1Hz:GaGaǮڍwHGx^`&AÁ%r64]Ċhf`Z 3ks#] 38y@@А7<fYiq 'CXY@( i7,0Ʋr pJoy.zx( ]V"oVf I-XJ׀vke7*AԐ 6^ o|ԅG#)X)"!2E-ˁD e(-vfgmn] )dG4JaiᎬ g5#1F&䍀*Yhz0Ayp(7msw)r!4Li[p{'c`[ #-#ܳ>(oTK\go"aJ^KQA{: lU=c\͝ %!'f*I֫X~kCykZSn_kf>6:y7]@0%Eqw$j)BNe:T-NwpC{@TQȐC<2!zؼb֙H$9 > CxܸJ4BFRe9-n6OiYڎqمe\ <\};)l/ZPCz"wd7W"y˪Fu,/ngLu-m)/%"xﮇN_ P^,mz0$֍'`&3<@ +: (o +"Ć/i1d ls:ڛ$f;<8祲)cjáő @p:MCAl7-c'Fw#玕ilu Y2&{yysmw:EU3BY 'iFG:9<;S"'&Rj-gx]'l>#;/VVDQG>,wϚ`8!{ֵq>I k3x`pYdivl׶ҵVȚQ?f YRコѱ3nrۀKvXBn+@9_yT+ϞDl!!iV8} 5.h|q[ۧ8'9Zā!_.ȑtA(B`x 8rDpD%e9A-NiR`ַdu7bmS61!qdgi]z~#vv⃖ ;y6{wz+W!A74NCx rGVH\]B (mpY0sBfZx\\x)Y.7&ᔍO7v{!ruKa pPU)v&D^x;Z$ sM3ėxi߬/(4fAq :; 8Mr<X.Q! }Ҏ `y3{'I&!o S+aU U>H&'ó#/xۏjl DdK|^oO%256rFc'n$VF 3G1j 92&0@~܁Y7A.u##uƛ]CPw?\L C՘P~<>8HSe-Eɋy =FDp84s, @_wpD_Qd$P$*f(6n2`L[p͜jBt!5ĶfCS;![$Cj@-i "IMF a"U:+&Ԫ*֞(#8;hqJIJ*Df"0XYͺLo8L6Je NB/(u癧v|ٝuAG(=쪱Thc3Lau.!X[I'>(Yu4)/2\OtR=aN22*,DZK0I^*b((/1=atz;AxdR)s5| >|4_ wA˷1n$Dq:;\ߌb|>*χMBu(R/3 !J5-H [ g0F}scb'IS" Dy#FJ. һ\K#zGr ?54H J"!4AF̀E\ӤIxN(Y).*_'֢Tq[\.1 &Ey k%@x\y$rǘ0s, ywP\LFr:ӌu Cb~ ;tuJs91\g@|gчkB/Ap5E - ץg18c 1]3:s&A0^bЦ3upBdV~&pa$lCqV m }OJpdHwB\ dp9VøsT$q3bTÇOh*Jw@G,e x^@-y ړk׶ӑ=x&ML&2$鼈|F87Y5auإ LGf@B@W* XPFmA|2mU5.brXEGbC53c>Ṧ?3'!ёT@r(@e^d6iaA((*4Pe V̀uD S{`D2{Y/<'lvnE+rQB^Iן+DjXpq{k8^]a m޺ڏ3Fx3^)Qrlqw7#-"aV&q x(l=O'I&c #fr´1,?d4CgLldu[{}~.S1ve.M6ćAa GM>= bjEWoWv'z6bW"g~Y? '3TM 4+AE $5PFD6Il Ms"UYԓ!dبXD@=(/g&&s=aа)_>9n\,3 ÏO~ tǦ0@B/4s` '#_>Y>H 92J|NV.Wz{Fl]`dQnǮspm9voXw(;:aN3nDR`nD^!B j~MYIYVDFV@u'9>g]ıu1̕ fc}rK~PޣIULATTPRQTR$RDUU4ATAE$EJLET UQPPPURDHH$Jw{IPZA&I:LO(]10)"u}Eͯh5xbߖ%)_ĽkbdFQR'ӐO AaI9NďT_mDQ!JXV84UCDɏONˉKd La\14Dt@Pi4<]-`0H[^p7[ө5 ?Ci̱՞>䔕FH]}چNdNhh듴=afL,HO=ݧ:RJIQBdbJX<@HuJm B34,RQ)3& R!?*UH?iPv],W"a"eiA[+7_h09iM%՘h2jx))Zj6$<C: $~yHSX-B.$$~֦T ^BT<4V)*"9IJ_ :zonypq\>`SUܭ/kŰ11jMi2nq^p78^u&¬atѳyidآF )IPQ}+HqB#t' +W޽O :5CMH5@G@:(q%Wꆇ<ĐKj"- #|Š/e+ cb28|w).`nLd$<>fJSX}jΟEz(?Oxڞu dp54B ! ;0kvpTIeB6gNyjO='4 f`=B&J*°d4*Cl[E.=32D&rbM62PB$VH`Ԕ{4ZsFXJ1kGzɫsW;7\ uLz3Nq̴9zJR81YOM@>3C+=U%0iygϹD@Ԅ)Ȓ'o1B~մ{tݥ@;Fh=8o)mޙ0HE{Ihh5~/z"6cCI >? \&,p="yP*e}*ðz^idd99,D@5TQ% *PE R J¶R(% JNEP̄DLPLU2gb~jCxv$04/ed֫,[d:Y9, ~fnGUL< 02z !JORqzBe"Kd|0}gTg6C9 v憢9l)TDBu*EIZ@٦4\t^֍XXcn0)A=%0=b.s{b ^1R}ᦓUyJ?yL&';6xE'dMdN=3͡^5Y qsd=$) JhXFWYDEuR #a6>vMkzn#@ QQf?0:+vD`f*퀅BGiק06B#B(KU(VZU(akd ?]jFƣ-v0 [n.9&ilmjFI*Qi-8*8(UsY:pJS a6%=j͇.KDbk'a0C3|} Q_~U$:xJ>?dX##`|X.8H8JtR$ UɢTg-RH# <޿u/}}5ז#Ԙ/.Đ ? pgn<g\bPTaD (R0l|~b"Y}TGCGC8Vj NCyhPzK@zWg?-tՇ =6Ұx8T7ښ?\|fr)PqVBǏ82ld0..Bf.@ Zi@DhghA~7OC I ŽʊC z u hx'q`>Oj%_D=2NVq_HpY V LN#Z 9lj *&VQ!HrՊ ♢k q (ԛ|3"Q! !F}[Ցgep7|hHZw3VXp!WPRR4w20)@Pu -BPII8:־ޒ@1"$/K&<:&P̮iSנmC@Xt,m, yW1)Dt\| VDt5/B*s Hf`9de@ Cك@Q!:)n.li0)IpPO3*1Xլ-B#-FPbYK|̡Y\ę)H &R\O Mm+XTETDJ[-A"0!B9b:|vx/F0ϟ9pSۭ@̨ " RKh:Ӡù !3* ,X*1騜98x1,zJyy?'nGM0ex MM:,RBg  7h@A'?FW=;6qBj95 q~`=20gv.6¹?mf"FyD{mxhC?3.CT$xMDSQTQ#.j/P r'BQ= AQ$pEրN :o<ӅG쇄`ӭ w+ 3XD_tT΅_efFo6D=dKJQRPfLLCIѼ8(*p[ ֣<%g f|N8%?> ?= MDE.R%UUU,UhiET-D)()*cQF#(R;"+`ql2`mF (=EPN֥9K5#dUц[Ͳ81LTrCEbe`QQd",!QRb,Pɬ5.0„s#̚~;K;iNM…*leMwrKS'fz;Νu'LH5gM0&֔: MMwJ|I9EN_\Ȫi) &eR BA O=Aw=]X?Gza%|_Yԙu쫆) fP?iRҁDPдdAQKQy=kЌV)Xu@-&!(Cr0%PDBMJ4T%(B!m;g ~:EUød@-AHRAAJɻ!0p8T 2GZ&G`x rO ,E iiՉlV(K aDJ9e AY j?ˡ!Hr5`ԟ;NOR M:I2t,hC1 $SN3הɠ̹˜[7 f/b X"aX( *fj%"* Eÿt"i ; unXϰTɘbg!\]h|í:6wS" mCG!8 l=5Ϩ|oo D*zآ/u'~wl"vA'JG’@ǖrCCR2vɇ]8izZLqRNO ?mq Bj@ N| {a$YeV Jy_<nRq"ϺffV4|u0T!zַ6X"%J}]&)Pn"C9%;7nIT+v3Jx+*c#?q,.O&wSst|O~&4* '50 v+0 nM^-TY=bC%L-*%8ipi37(~cK\pu2%`{^5ܿ&QJ!@ |kdo^ E{qъF$$4O:m08--TjZ6L0p> EEAgg0@_z^x!< )jnb:5yy/Of99੿`Oª~w{Of1|ɥA})Uh҂@dlP%)fj"FdWj5pJ.Ad!TG1@Jx.3OMv|o!E%R ?/Z*Vjy>2vg`UQ2$U@C 2dL:=^=8(>?*#6l_>ox(ۀ u 傦߳0CAŸ̵d!Y_PeEu"?)#~1M,ȤbvΤ>2>(Ѳ( $lI]H_V b MGFZ/V.ACT8ȝ (Nl# E!'Hs5#Oe]-݀ /cƿ.]B#]GG֍/7XD%JgGfj׉Cq>'ċ/9 wJ( B{z~?$# EP ,Zg':Nl9 9v|X{ %J.`c@Q&fzڇRa5͖2JBi'x0%v›w˜v>ãjAH |-י*0`Cp5+O7?mcF6GЌ3]aѽt0FQҜ|7.+"Va/16?J(@9d<(쯩wPUVodq*8JI8"xyё˼CJ'_sp8:~:k*Vj!cVv^s[1 Uʔ(7yC.8<8G~ >y Uؗ[Tcfs'Bv?'=/ ^h eVO"Ps:3xC&{JHl[JS}8of8XE@~ӜHvCE"5M Y1R)@ySOV39idjYzrf*/\cUPba.STʥFf-}GgWek2Z~Z ~*;`U^|CQ'?@[,d_Ph(@w5"MMt` ۏ\NC\)yEkB|301&fA`,8iԠDLPfC@6‚hr 2)f$r %!IJgEvu&G?Fzt+ulá&CyuJXhdA^ΙyÔuy jy:=_̩}Z6&Z IC!r0 PMDԹ1A}hgKmpGwh)$fKO`C)Ց(m40t-D p5s%@d m‰3 '~ WsyO9V< "s 9gpݦ"DMHED{Dd(2X ?8=\ lLQN5/@ÑDP;ַڣ)Zf\fZ%!5# *Bpv{}]|0X`̙fX^H 3 'M4/Q|Z~hYJw&w&:Γܩ ur5*(};C ~͸¡œIt^ q!^|ύLeU湮*WhOlԆy!4haDb(j&&)cP>:iPޱkPUј>aT4db`%f&9)ӭȘ/)~@#Ta}n~ʄ_~u( AI IT+LR4,QUA DzzqE/_RB飙$)}7μYo2O<.<sOW/>w\0PzM#\㛍a(]gz\̶,w,us1L Ιfrt'L8]VF2 H(|7!2E (mEDNZ[&gѥ}Nh>x؛B%|!t)QZ7zQ[L->!'{Vx)plvoyʥϱIf&jOBPR'sy`(҆)r2HVCĬT3 Y11T9B#HR:y}X׻1;@fJiD}ڡ6gq6sAU=S> ݈}QӓE駸 Lg9a#PRS0CHDyB<7TEkN-)}ԧʔ`"+R1dh fQˣ{N!3t T> &SxC! i0{aƯ Ɥ!ØelowI0 ,GyA˗mykSRb=u > Q;ID_r ̴ mylJ,M+漺f)r N'%Җ5),X{b*vybZieQ/](=ZYIXrIfAAoNȟQ^Q1PmEY_a3==vi0QjJRifMlNS_qψiN@CRǏ?˻>$Hg.$南$$z{527݆҃qXk`G3χk9w`5IN260@mJqo8aLc4o?!ilo'S=㷲|AO3\$Pv")J;(_p&ހv-zST|AZB)uݚa(8x|^(td0=f7;*MުDら{狩<'Iq7&`O t֞zic!ګ}|02h"S!jeG~/sϫǙLRe%LZKJ%?r rW4ȉL^Oohy$O˻_}+2 J}6Vн*-[ rLqx֥|Xr'"uVU 5PHDHAj "!QN3`sHPg|KQ 9W.ₘ r LM? =.ӿ DE<üR?[ s$@ |aGflN !djm`ǁ⩛~*t{ϩ(@z> ;z`{{z'b40޼[ NBOaFCǖMMAPfXP]|g%蔖a#<ϛ?l_#Qin𹦕W Z],G\r,?o㩹o~NwӢF0 ("4:'f2bX=X[hA)\|2*$)',?MyzyRG9!q9j`j(i 7ϔC} BH|b!jCoq1؅[R7@嬖X2aL#k] GYӺgr8i9pŋY1tV8x2"œjfQrXBr+T&M$MG{tf&KcOtX9dUeR$7@a6Ь*VХT&`ddm4bĔMk>0Xt5N>d{̜̐~RHxug c"詼')!BY+81s:V1'$P4ixNMS|+ ,*?4\7zRp3+1ˮ g9'D?߭?;V߮jy%1eŦbiF3f;Owt/)renP\^3|&PB[tgVxBSH YmX Qs'T㍾B[Ejh"dIB֝D.w- JRR9N+h8H0[t= A(~G*k_xٱ9C"Wv\Hu>Įf;3ltziRCo<@xs:#H<nѬZԹ O*Iw,CA8w*Y¥QXIL[Ú"dY@%(4P0 ٘k?xr?--҇͏rv?3! D "PO[OHHG) 6MY50d-,dƫ@spP@O)ٗ(yvf%@h%L}5۝ >v4 grvB0 7Ayq=[޳3Oc%,| zv!4%L~Hn.pK\>C9=(J$bBCL?85<=4lo$Ka]rƨ*_7 4Q6 ʐ--cKVR0(P/i6QYbȢH("J&w8@SALT" f!ӻw{?ߴ=a=G'ݞhgq]Dimaf7ZJ*VY[(EY*&.2)RZЕcT *[9*q11,/ n&1GuR \^7}"6+Y' */19r{nHr;rx1EbӮ=&&*br;Qɤi iJhJh)ZEZiJS Ukbc$IDy٭hh~W􅲠 nߏއ(Ai $DAkxf`ЭLBc~K?} % =>pSR}De6{hKu(Z "=P!E70bupw.w> KѐYC> B&% hP$C*ibb QBi'mH,?O!P>IM-?ՆWt8hnm?$H&a[8pq8T;S*C8_CMp(FCTSH3ac:CNoHffّTeb6-2IOR,h{s7N~C#;P4G۲̳A_o1ؠ(Eu?gfTߘk=]HH[*A1mEbfZ&.Wv\2•rf-mn~!YvmY㵯#bf!_.?Hsp1MW+0yp*ĭrão Pfdo+e]za 5ͦr7FԳ0R>37˄n:TP2[)m6 ԯ.e=Y7(o3w`M`a_+qF<)2*I̎΋K1v{S^`h/y 3 93 ͒1l\`XZfN*!TC.uQ++'E(׾Y'Y)-$4kwl}$VPhxexeQ1R^a}48m7.4|bvr^\Y ,#%*a9t鬙Zb\b8ߌиYUKp}#< E)YqN'6Na'ɻ&L01'E+y͎Ua.LRጥhپRp/nDq̷ ,1,hm0k34\Ruy9ML رgm KZKkZR6ɅK+^\͢ʤjGZڳQ{yXQ%f0d1:nNXкЪcC1dL4:fAv7. pSr)s1rHM&Q1ėt!0%+RbJ-܆*B( A& hmAKJ\DNO%l^UE@aOYT ,DPQ2T!@UXW) QmaUa `ŊVĴEa`Zzt8$cD!CΨjQ)L I/`3Y8h9L@2ˣ|i- d0w&Q+jJL0$4g:K8E&Ye`T27.;Moлrnee:s057M\Nr;G726$кf7Z<>gYdrB9X{.ʐBs'Ziٹl釃òeyhVz)l LXwh$[N 3,c4CJxZG({$ O97}>KLqp(4W L%2%TL2`LU 6?mגJĝUۇmQSrƌǮQ{nh4{ol=e'Y:.XqHOzC`8T9Rz>hyZb}MC}':Cp8GSa"{p>܈zE ΛA))A&@2B(!C%F$Rh *&rD2JJRe1(3j&*IIW 5*U)`"M"4 $$1 2 x NIR2p/@M\AܺNGE H};;{=#(﬋"WG!$qKZB]P|s7uEG9\Îu/_v#"A0( 3%5W #B4#J'5#9 7A@(l'9x0jj00{AO#1& f(.c'>\BMƹY l.7x= j.Df,S"Q'g%BĵΔcCV'*]FANd73ӕnOzH pج ,߾-B*d˙!څ~&ɘXcAPlyYמ4)`2Fbd KTR&Q*DRR0Մ?{DP@8_l.@ҴDh7G@1$=}8'4*N!Ϧvjqɣi=ZaK*nE%`[TKbnޱhT2Ctw +/[E.p@44Ct)%?MQP'.n]!J1KK)0KxG A$QL$=-k*miRKeL)r2Ak4D2*bBU )V& -Ci3 uPd,Y ,hI9[(mF,Պc8abC aD&8p]A" 1BҪR,M#t B²6E#Y?`+. \z *\* I2 a #lbp(rĜ? YWi]@  tsßU'I޸5mXw!!I DP%b &ܙ!߽AC !Vla`DdFEqĐ*B|=e/'1B(;B"O5NՇf!Z?h:i׭&сY,brsZ{C1P()^{'N'Cj'O𗿁. :,{Da߈]3A=R 1,ʥ*!LL @Eb8Gq W~@DgI)@MTD%!PuSۯ59i3Ve+㔰CCXIǭà RTH2UYZ5YDV!dIB#K ԂrDG;HGW(w ,BRAB%+@ dQ4 +T{Z y,|a|Rʴj'H [=rM34Qt hAC)zh S !B^RO:/^*u>Mф_ Q6H~A%HJË aq@|N $xիߣK_R5B 6BұzȇB=y//@0PiF,T<]lIB$RbtF,0&ս.,mF[UKF9`8t 5P͡,B,NVĨI<5Ȩ N\v#Z38;IV,UjI9дβmKJQbIT4L@ҵ4AL54QDUAAIQTUEUcC!^ yHPr5fPF(VG8nDșzs; akjL@AHU-P$DFYGZe!!g,uHڻC%_(ÔD^B %L*'ݑo9>ANzР=lRSEQ1C!fIC~oųʀE%!HAؐ($'ld9|~' PB ^?;|gLURwڧN{xE_ѦL*2]&03!;x ڧ1fcL%Sq5oFʑ4rWdzy<9C y89 !)™(hdȕ0iF% -i!Q *QB|W7+vL+ b1NYLUVX,m1S `nud}{Zq K5Xt99; Sƨ"|I\ -Mv5uFJZEWLfC6&"8`B*Jb^Ǚ{"mM -)![u3MAKTc`BøOrWۿ?xuyQ9ҟ_7a.U-Jv6`]I~ibf X@57R,Ub֌3pU AKV)8L* k&ȦdnTOc:򍰂vC4ܐM;bC,ʒ{2C 3? ˜>@`'#ݧl픗e/L 7J>tzFD0OYLA TbDDaTAbJX+1,DL#oHPĉwjh؈ &xb ~pBo95P#>%;*SӦ>Ԏ( UZHBDըu>}镭S*Z,ʝ9N3g9kܫ~ԕq6VrL uyy(*r $#6!h2WP|7SU YijsXPdP.fedD Pr2CZi %$"B5H2"E(R(IU#-h P(0CYC ,e^ {pLJo OaUg. " UDFsFL&Ed5eEf$XN6Q8~M:!!r/ykb\ˉcSYd4]$Cgr #ovȬ1mvt D]SHH3()):aK"]{sh<^-RAU2 8*@%)RU)`FvbTj 3STW,!O gsJYXjD:/%&IC' ЖP|Z,4Z<8q:|]enXUu)Qa';ښ|x4['Ie69P7MdiLxunx{噌Xۊ-vΊcz:<4% (`d@璒{uz“!3WQ5<_78 :[ͥۈsnxI!7|~AfowZNa|!Iّӱ5ƀ"8; ǔdb z\9&CI*ZgL/p4Q#w` CiDÅYj#mUE4508UTII dǡEIREE0$H1$DDM,>1^~8LkZ+eA%FRD()fOz'(|Q$BN5Ӛ ,{+ĂY<'i@PBa'"3ZS,:һg37H\gYݐ:Z=Rc6YVԱKZ5K<x4QIL=kwd6=F [d+ C&Cd)5^F8qz/Ȣ|Vz}b.(&h64>iK՞C0p7{ ْ*ۥ״7W's0yZ Ndp(/VkvK֔ܵAJ8PE m q="O'SSG9Uع5 F@P0N m)$uN^ةY{ 1 fwN<䜗7 +G1 "wj b&U&H( pJZ) iԁA"nR2:s_Ox9(t˸=rk,p2YZU0DE$E;+m9@Ny4G a`D yQ$SQA4S(y((%1ȉdl!H␨3^B4񥣉^7bݹQĩPe(/-UAh¢*]aeq ?K"t%STbgYr ID˙b%ETH9hic F=UQTfYD:TPQ`vVƁIj\6B(1T""WeE2$l0E]00N8ȑ<2 |f^h`{,*e S@K# C7[^L)ݢQ,P[ieLr֠S[:yFN="kbTKw(b/)DyE:j `( fRH-ˊ‰*Q(awUPbMI vY<W!Ls0tUʥ`( &I`1!MLűJ[mjոņ}ZdvӁ[8_ZXoc'-q@uEal[aCܢ' ۹AO{+ˮ:YGXkjGyYjk1zgNS(\QFrje5KGT L9kT˂XF0L 2w4n4я,%<)yM/#@В!tb sOI45&sClhK(SM$\i=8Ȣ&*jܒS3*~\v|E8`Hiz`3]\ $} >|`͛z.0!~'Цje%"$AEd=1{xŏ 2$Z3o#=9)gmF]yC !E%dl潒}'E:f)/GF `Z$=G΃vĚOoUf#+Le))Eji o#4`K <_ꏮu IHDf 4DFCSeܾ^_Tb4 CM C%͖p57s^㥐Ň"Mo/v ~lthlXuJa>'/n>͝|Hd0K"Au]W(a2FP(j^zs. #v6a (=я h%SoT%aR"$>TBi GSv 榔?bQeWxw/>,2UŬtNb&ߚr< lpSu/S+ۙhVZKD HBS&Csכǭ==m2|Z_N՚73)Ѳ[6TQH"0xJhh"^$4*WPv)ԗ=x/<~y Ly6KbvSG5xAG1%"@bB҆'"I5K9)[hX;]fOJh]7lgmj FO)Bi$iJ9L6l 6 (1DOE+jeeᚖ1Gv `6\Da{3As̈*H/Vd|eT)G=$|P>@=wocUγ--EOs! :n$@PrCK{#ö !6E)59ɹa(oN,ĀDXKa &Dt.8gDi4aXUhTp҆*aƥx 1a*b6e-"(4@lGp<@Jܙ5#D`N-%1?$E&Ya(+BPQQ[eeIPP?m #igdkSFJf%&8!C ߊ@ʨPEY5eBHTad,'ͱ#3 џ$tP}ߙL C&5 o 1_dI9Gu=Dw%N>FXq7, \nA:՛lm˃ ^2RKJXF#.KJ`Qڥ^[1*_?q)?Q?GtF/h!}]D̉U%H.?90&=yoPƩY?dPIg^])4~8$ڄ7q_ђ*黊8 >)C,@CYV}W{$"W>c ׵L=w߻}V9' ܖ`O4P[M<|B>;莠|&l"H5P 5O/$L|{BL%F /@Sc;Hi8^SAI4+\qN=^di1>u/v8(\2?[DD7ǎ:RP'qhu)jmzC{a튼J%^,Tx.*^2pXG )mSFŽ@\)5>9#{þ=nKws M)YT#fW2|uك^W*qWHY@ -,KYkIf-q wv0Wj>P o>]Βɓ cII]SpMx\JJ%9om7p$ :-+m#졷]Lů^:g#>4t>tWNfPBY֨R,+sQ Ȅ>@.̓S'^X o3=B$Gq/ӡGb==5&|_]+M|{À>Ob' U1 $^Bx[ 7~>7@7b,̨tY܄ <2 AR LcWKn&< =S9 ]l {tK㖊RzüZrMzk 6ӊY'> cBHD-7%cÐIt GlSVz>""PxQ/Fx]hTO e)hX!(O=X:2!y>^G>vvy[~>* [-H+.k l/B 1M/ X (@! 櫢0vϘ'<:I^ΔETQb1-*+Klq!Q% lt{KH|v\9nqnǙ)˜DωnpQ,VF{/TVpnȥ VTL.ll%{hx@ӃRr12u1)- z3"ϼkaˆM`NY!Y8#(܍P/'&Vi|F)_y[A|Z.`8(B)t8 KpU+Hc@7i>N?{(Oߙ[ {)<QLdz{+NoμTK%GH{A~|r}Q>޸%`'%V$C*WRlQg!E)IDqqe=83զeI0IG+j^wEe1CI:> 66C,C:A fvk9k?@ Nt{ q <!P9ǥc]2AM[% B9`&$A[C7Td U ZT:(lfKLŒ~n?Js+391Xl"ԁUUJ\T C{RVUFҖƔ)iEeilS 8hkì2x\\8zF\W~_\Ei.a9tP(A,k(TFLU)Z*,b,{#XT-fÕ|Ry2r[Nj2"XXSN1-*X3CU10̸w dUQAj탃s%a5CB·be 5,Jbg,Ύ63#LU5˸mah\Wؕ"n7MJ1|YGvˎ"X~]:p0y#rT!r%]HTd J`/ hQ2ݕ>)d:9cABvɇ_7aPf F!ׅrjkcZ)%bMi*9Ԧl C3]٠f2ƲU%SGow'OhC@aFWBK9\ϳM̱`s=ǹ"m'+3J> qm8\0*`ňfT0ޮ>h|X0?~F%.a`bmfsc[ D3O]qgub5c3sWuw pj)FIpyo4p5Wn"~.Dޭ?=FZr;ٝQ&' j<- M|Ӥ_p= JN2re;1 4M )_PבLjc ׻dvDbO~9Iȱک>˪$^eΩ^<f,*VfMiy_jX].;m *ʆ,&C6c qO8`9Q٩GhnᇺxUtYht;2Cͽ lƒ2bC5CUic_~`%!IG0lcz(V M*_6=ӹUݱ/P;k"6m*A@T #11.I)[;wN+r)x>s\|><\:cA1YYH(DQQALC$z!Dr֧;dg¼^PƪǖN '?0S  P(hu B ;S2214Fo-nP%N(Y0) 1Y*b"*L&|TI.o{E`yqNU[def9̼ιF:1ޘQ8a(JvFMdĀ!7-c+!2ӻ*G7SyAsl3qܦ7b*,rg\:oT12:[]Ե Ѣ [-Uh¹zeQo L̃7mrNu7E{(\6H4ILIw'IiΙS /7H&g1 VK"DI̼ɰ٬} : }"O#h!w4=9fh1NrV;_4`?(igZW9١4* H(R 3Mxhj^PB8^0bAϷڇi%6 Ǟ<+āרtRk h? TU]ݽ58-^R&}hrRA}e0q!^avQI] L$T ŒK;pզ-DA{vJU&ɢjK]k;`+GA.QG˺<4N,".<2gBky[۽ɣW8ThX?뮵iez#Ft@#PGV‘ed4~:5r1q F]Vf[*I@ךÇD`8grFC2-pXТ%oaL%OdchƄv {y09ŷya2ށ%+Y| V&ç朆|}b{&..T]14ʨqӀ@"<1;H63֥?[ZӠ*ZOSMcXja_,y^gʟ$aXmk\P<=q"F FMŒ`ꟘyOQ'uCSLeGD8@Dq!Ze Zn&(n,귔5@uȰX%CċQUOjߞ%Ƒ rfAL8*xhF1Ps:2S&%Q/oóh@PK= u==-YeEyXq9h4"{,[{óݸT2[.1V70K-|F!bǺiQv kOT\Ft3&r*`1i4sOON4&p䊠R-.H{CRs7N~ʞ6H (p5~7`hw#XKH9B*9/.(:!HY|˴rVn+fq:(4*sgэ6GI^QSO E :j{ɩ09 ޻i6obp&}'vI`.E&x, $qx:h:Dm,8+Cہ.ɶ:C+o^wCkCD AfN%DӚH4u/|8\hzH1((񴯢ͶUf䆡QZ!n*Trw!Q @%u2(@rsOfC@n rLmy0rqq 7616j;C]&@f| (9mT:L3D0 tixL f jewŸmȄ)ŝp7p 5{7/Jgb#-=x/.xBLMf vL+A ,;Ƣ\E`IQHI%)Ը|D+H =;;m3*N7Άmb3rင.+#hjq'N2r&5805Ƨ^eő3-:wwmA . : LTN/\zwifw!$d AҰ_ִL62(H?A_Yz`wxmyp<K CQS0)Pux#{:Y1 -tP pӏ}xK`H.,뎩pToؖ >=WQڧMTJnMii&,y O^ .ӫ. `zT eE횓ڽ*",ˆb$*qrqXqqi,њFBkwnDM`*B9 flu(6Riq; F[gB@:$ݰ1^"PXbFwBXa:!' dV ;6l"UU,U73 s (N(4D0)()݅y{4{ӚsLCmYm7rQ8ѝnoA7/?fL ex:T1zv"9hdNJ{Q0aA$4rTh]X''80eAR)Dʥ$>"T  xpj\a(z+awh=8C,Wa>60hB\j;3i"X3rjCJKzw 麆!\ijL\D k,;j)WAS}5 9]mdT G .`.%Do+C~ K*fs (fwn rHhE ^{wL )@U4P16m x瓑 0,Biicvmlv#1"Y~N\uNLC B)J*Q.B" t%x(R ``A( F 'y:C~A~74cqCNsDNO'}"Qs|jYT-niJZRddY)ܹ3mbēBg}wGP5X(IͦZ6f9 l7wyLq<ɠU-RJH J +HAT5M+@TG @OX%Fi(JJD hV)X")Zi i %JR)h@DuӆuVma3@% .Qm'@y`ZH;(H>hL@2߇ܨݠ}o`wx^=i d7.ZGZfyv^t|iVZL;[#2w)!˳ cREAAAskh"E"&*ܞ%0m[[íl+lJ[^NiJB*n܄ u6c2-ˆ@Za‹\fZܸs5xx X᤻֔-kb;+,Ƽ®n:rhjE6*c7(Zs隱ivC[ZSa)R)*S ZemJbYˊeĬeJ`kKT(\%\G\Ek(R0:Mѥ㙑*bt2[LD9W*\iU` $cXS]1kV[l'Ās37՝wZ( Q1eQV bwzC9haMaUU6[Ǝ9h<QijiiE M!M6̒=gwwRMꡟˣ[K5L[tPQ0i"BK&YhC0`P S)(:2{.߃.kH6$_3@W8Ä@7Ae(hym7;㝁O,6j'2ĸQ>_%$ZQK䑻r7=n㞲{7UvM,~ ap- *%Q@;$"/J1LVg}%CP!ͅ }r;GiJF*AG "jj CTtRQFC|EEA,1F' iP|hw)Uyr [&G@=~yI"ڱT0SQTRU,TTCQTD ah*@) \T;P1ֳCf'zv'P((hZ}YJ2`0jBT\f &D -ު}~osWh )5QTEPD<$/A>sE 'üSzջr9 bJm;JT{cp} 6Aclr=!;r+aQ+p%0~Q@'4m1O Խ4H:XL?BTwq^?BaB;N 4) 20 MM x58Gwq)Vs2 } \c)IPxENp2J ]rnU,9 :ĜffB* .܀wk#9H )FCV%eh%7'$BQI1Y@,m~c`7G~0'PR@BꁒKydz~jJUсYhCmkl&~tƼ6j٬깋.d'2$s)15"( J)%r\0ru8E4ETi_Utq?2Ta^XVuxA0rhgbQ}-8(^dM8AJ_0x(~C(eMIf-CFJ2D%Lכoj"k',!pmY)`QX«j6V"܉\YY@iJ+P$h-4C dDC54Q4GH(jb%,|ƙZhنǗI܉{CA AB߀kEg.FKvKLj)( hAO @>J)XdB^}Ub DCW8+B}˃jT2h ؈"&d0\\̎׎f) IG' BBY=Aá\v`q#H(4;zQ8i\9V=&~5G)xy+ant H[f$@(;zyfg!jJ6׏ζ+xI55s`KM} J񳐌 `7G vpyt%*QI2g. g`בz_~&KMZ>d;`yI(S҅P5Hd C3fb9RYAi.뀖8FĬ4 iOi;krÅĔA2 E8tX ZPJCOw%b;T  鿷3u߀u Ť%'䄶@RX 65rlܿC1L:TuY^2_&~gAy%MD˾l&L R =ee( zK ܙ@1.>۰yaQEEB:dk__a a yA}܄Դda68p~/8q- RuTӸ:pEx }/]m( (0$"O?nfKC%#AȠ+ GON6ˑ m8ymfsU19'"yUCCHPRI@{I ʞCeB'P/Ӈj9|\3r0<=r3Ts.AP"a8_&%'J՚0^_f Ymmt6\ԣb)'AP @$َ4FZ Dք2&14"SN0_;Ca3 a8R{T@Jx]G"iq٭1dg!oyfxv9t}wh #nJ~|OV%ٴk[3qMw-h? BOwG~Ó"[fBPII{æ:zh* ?@"@xそt%Ay[G)umɳY27h'Ǖ}%,+yH(n 㳳Ft zk}_N@"(H\PK[textutils/ChangeLog.bz2nuW+ABZh91AY&SYrl+ e@@a}^̍EP%JP>7/8l횆PGz|{v׽c}(/k +{] uc h@ m݆ZڱyzjP׷(@Š)/}|Wg<>kN}*yUO@ swT9ut}KZG@SG{G;ӡ {-[|8|  _*j@elVk lBҫ;T jٴ`>y^>K|o &k秶^yϽ^Nƛy%>[}oyvһm:nY Auٽڟ-wjvfۮ{]ie`>C[xn۽_@[:74/` ᳟yzޗڃ}Z=}R\B%VBvwgv]q\ңUn]Hiva>ࡾl,{|}ܦ:[}k:Vww778<En=Gqm@ lWޢaADpy_|qWkduxo'Џ-Da0<_KZW+Xmm?&=[S `٢j֤lz :̈FJZFT\iE-)Mdqg[pNC;|TakIה]ff)ykOۅUN隸<~"XHqAVͷ]Qhau`aM[|?.kh켄۞s}Tݪ=- >?'tf#8""0a&f"HLK$2'!"$*2̰ʧ ɠjl*&ʊ qE"F ̒(9T$m&2dHJb" i*P$pAQETW#6K2)5VbͮuDSQSELF XSH3 G;J6LAQ\(C,PUEFTdDaAM4Qj2*( D\QLEQHFSTPDTLDLEDEQIS-U1UE$5PMMTAIEQAKKTRD\YK4EI3-3U%5LIUDLSUQUTEUQWMSC3DMQfS!DE1E,YEL1EUPVXӘdAT]05L_Ĉ eEB "CPw|w((6`^rGgw?KU)XфU20]ݪՕ*IW<=[ڛ*}NFA6c*QyREl^`??h1 3D]?B`dAOG]RLYg!Ra `#$,G$F# ȑA"dQ.I29" vmqӨ*oUw: JRfpK5ihKOS3g 8W!]dx}MLdKL"Չ wOӕ'քc9֮zO% q1uuSR5:Une.4L< ;2YĆ6MsYMQMSmzy(3rt(B;fS.Cn)- Ugzƞo*,cO{c|6̵4Z (<0 7v?ʔ'f_:C*NU:Eh >łOWJotEO҂$w5_ |&UJ+[rzNjik[@ߥZ/?_ۛw3anym^<ZTRyEJ9K_mƹm;Q X[^q 3q@>`424U;GG*s0 PfNW%8Qp$ &( $66RT0Ҵ?MEfs « t>fԤ_(E!  b]4B*nȠ.{m\"{F˻ }_dOu+͘$d\Rk)'k/ys#ƸN],E{cb̆l YŠIC#"sL LWt/a*J5t;lGo7z[]k|xss<)W@6&χCyMاH=ӂ kָl#ǎ:$Fۯ] }Zpc,rP}1+楒Xr8]>Ypsz$pL q`Qp 79xW[j~v<%_w?Ͽ񫝖^ߗَްfX>Me㕣ihp;^(9(\\yƾZݚ!Z,y6Fjg9h݅PSf Pb)#/ *-7u#iMb_%`ɢӨ,i@-ZJK~j[w8."q&Ξo߀B|sBO98- 8L@4j*gE_OWۤà%w^O!&xrᓻ)æUr8m|ȊOեR"WؾF|}:7O~EAneet6a1 7ѡCcsaunq iG Xn+bQ0娪nV泩5?]4&υ|"WBCt_W~rѸSw}֬N9cXp4I1_/Tbrq@s tQ:K$!IkU)Fe_,rZtNdE!"TEdH1osﮘoA]/O_nx7exF%,0?3 ˅Y"ǩrqgۦS6٧'n<>wr"*U8ĒY`ψ%c׸oTWm&l γN=>NPE &\jgy^fF `CC3:tB5"ދ&:JXg\]N}/DLL̇ܲApB rƳLʄ^LL˜&-l Mfr]PAM8.0D!wmr⾽s"VFrnDiL)K7vꂌ}'>W|bW\ i\ 괰_9k8pv͔{\\b ?cs|JN$KIJ_Ξ]&|Qqs2.}gPp%g[dnϣan;,GQILFT/㎁q>db j㥆=.Y8́78n[﹀pC(@}dAUIc;P-MyK2x(8((Ia!)hPI qJZ P!zgΓڋfp|" 0aK뜫!1<~Tu0kz~6V^uVo,$|+Y˥ _[ ꗩ Gz1";)"#憟9>S3 AM8raFҘD< B;0*gSK+M/sF W07EꬤX)! ZC BG`ooԽs? ռ/ 8wrZUȹovٰs!4;^ (373%oZl+wK3Xxr阐 ?3_Φ_ t%tՄ] ;+#;`Dr!eZ%.(s~3<.B~5_멍u~yD{sbqBXo:Kr8*okI8^@/W!quA{<$Oino_^|^NμD!iԟ}FB;7b!c< ǝ\'bAn 0)|"Ty3l4pk Yd_4Llёid7g/|(ǹ́NꭿY8eVItJP5}Ծ͟D#+[楮M"#r^_F5`^lK|yk㶏C]'y$hu|HBxxUWXn^MN2*+$ "٩خI[ES"E{.$mޓ:68y/퀉Uc6A}\7zXx}}~GE|iezo+߄}ua=G4xፓCS--WUI F9t0#SlVHqЬ@Tg 8dvz!Wǀ~H@\pDq2&_'Hvg9VUېfeC-(G@.J%EIrg`?NAuL iӳKJWz;4Z!_=K7SxX_.HS~?t05џuyWF#O #= i&M 9̉_Ij4xg5W"&+7ʫe*o; NjFYV!H^ O~a,g`N/I?)gZ.*]O&xCNHb,PӆQY Q̂EXC{~؃KqqJ`1^l}hލ!YMnXtk CTT]viu ZO \[{~y Y s9"r7_5f9AFƃwlϱn VDP KVϣ\ck7LpϞ|k(\d9Wlz5|=n$:A7hz.?XS׵r"}MՀk-s<1/ZWXL/He! 0g "Kc mlseL!v$vJf^inV\ϣ'3NȰ`|"'5Rql^-Mm3g"9Da`}>^]|28a/VGTr# gr=3BLTڂ"1ћ ^*r}Qk~)a?zeOVl vjn7U!3 j6:<F75 øF͠|0 Wtƴ 8%I`9tF7M&k[2@6m?06A" ͐`TOY)=+[sOpƃ,?e ~[֊XBpM3P21B1wZ'f2n^ƣ(oL+7Ha[fj+ʊfBUZͮ腉AJ:zTx'ڌi-LY$GE8lPX[{(<1z:*Ɨ,v cW'R i60Ja\Ư .:O%=R. 00: gD="h8dncH« \V$0pA0o}DqHB6- #6#c4 ܂0TlF)-=Q6XOWfR|X1"oVs'ĻKi%9$ʇ0*&°W6<4 sa}p㱤ticd<#ҧ֪L]eݰ>R])-1Z&"W][@KL0 rk_Cfh C{}ϳH[7o)@LX;7Q Qx+[q`V@wg#K8/{4]/9FSr8~#>4!|/0\c!8{j~j,_ywAMt@$,9ٛvxo^P]a .tI o- (6r1s 2Q9 tT|Po$<!\ 5YbC  @Qr_+LsiaX4e4 VdyהzzWX"1-Ľ]30à1U}!ʕHqӟ?Jp: +&Y0{>bm/ޱ״?#ֿ}:jSy,¼ye ^q r01RRD$Ikz`z`yVC-/_q ˡQxJ:;nO٩y_쐍ågv1Id=dډQ*D:]T8$2NkG:O}~xw2%qSU[G!<&Dc;dc)e?pcб}ϼVi:ȑ>rf$$gM3SG㌆PֻbS򸱩q|Zju[Cr;*GlƱ?iva7TbdU qfS\} /}xڏ9i%vAAp KH.U=x>*x΢8(}7ًZUhA0<嬝(05p?3w5q" "6T40|X"qX -C#?Wo EsAwK{q,qJ KD[ d6Z J0J_ۜ J릞.ev+] eǎO-$]<2a9;tY94P|;*V k 7H0E![ mb "9rϿhur,##BO6~" 0 3Q}obwUqLPĒܟ'YzY(0Џ0ثL3Da'@TX%P,t&*Qja&%kyEEvL8 T 8lJRÓB~|s2J~_]WGwuEҬ/P۩J_urgO׾G;Df(&e{2dEsϓ(jpbt q~.vb;Q7pIFgp`2 1 ةī3Ql =:fCÎwr|UznR,~UJ;d wuQ1NeND 1 wzkuPxm0DEst͏ sV\,_3tIL:vpS}8G&ؘ]2VkXKL)~(XYlIA0Tp0Y"[^ϒvKV:1ut)!GT,@ 6D‚I;H0xl 'mɏG]0 v8 ԊɊ$Ju^ FuAZCU))@(—baqzyx(.[G2ͱnݔy5y 9r#qu~;c QO'%Jq~k8qGpG ]F R X.@[Lp\ǷjlFS2uq5ɩyMIwNl4G'wc؛u3E[3SD#;CD6ZLC8 LZ jҺ# 6JP:`'D\eDq!! )mX,[rYl6ֆ 'fW8BN"5BR#7|p؉MHKB牣OHc%NEi j7'K5B\Ggۤ[usқ$Yk=|B tBa<ArHD. ?T*-.#ܨρTz֨\Ahulgl hB0rTQ#nPQfW6 ft&Ee}:dnk| q`7t+j30} DF{D]Dz{8x*'ez2 L5Y07PDMXT ͔rtvmpufLu~&Au:w-bK|78@y/ܺ2t!{rbicI`$5dXEd?@ Z @sA)JrC`0KQt)'r?>ڮ֘ J~zy{% yL~)nb$p28D5nT,R:7!Kv7I (7A6j1rIYx48;1j̙ %|+6JdBfb_Rbc:dBF}@U`9[S9U'a )<##8e|c GuRK>\"\E+q[ٯ/UJIå _,Dz Ҭ6+'uژn_ _^՜_A!IAXv`% XP"AHHh邚4BT%D,@q\ώ`^cR5ka g6T59ÿ)v ?}UGL̪0H5~RrhVK),fqe|?R菲!GۄhiIKp'#MR[TiujΞxvc^8 ,$d(ZF(Q HbMBru~jN1,BU$Lf9܈.5⛑' Gy2(h)g?V=2Jb$$3~|16@%<>"HA*Euȱ[yF8D\74# y-fiEE0ϠH5Dɜ24fQNcBd'~?nƴmpA?qSjH9a(D9M`72%ZL$$}<8)7A(+(%4(o?\ x]BO^H׍_Wg4{ħ[`T^+tzkL`:unCwMψͺB.v9[.Z[Px3'Q#FgX}ʴ& M(P(b"嘥c7z1"~UZ(cW׋O~}z*?u% S T*ІRx'ɃqZ7@|MMME}z<,\`XD9WY ,&rUylY rAdSIwrxD6si $~ Ugc 9AQ=וBɆh+){}"D`aRI$i,4.$UI۸iw{MPm6-"uezfk_22?kVSnf]y@GRaQ/Ki r'%6n#>ۼa2mlS$!0L~ñm>]F\1a!RQA(' XinHQg-Hj4b(A1CZ;KTEGI:R,QA`y|o-?WKYxHFbP͇?eOF D-e쇜ʰ !c֥OQ_= :#gPOaO{a?gWBys4ˤx(NJ~}^|qV7yۿ~+瘿,6 7чy XNn^?>"{gz,ʳ95H)/*;oz~w,&;q?ؼ'ƣ oybc5~F wyF90ݳǻ{=9ogۇw.?ظG؎;?^>yK!okEYiw>ǾY*r21^)n*RYc{*oZܟq6~u^eo6G `?a#ČQoi>T&OIWVptd'1b؛5P}\rn-?qTӹDQJKA0%$TtȊf%BD15T-43 E3:3#ib( ,f* &'?FjٷF(f&hFL l( ePTTPSPDC5* I") j ) w8],**eaE$HDQETUM%144QQTUEDAIID4V0a1ATP@貪&"*H(*")b=ѐ&I- QSDLULI$L4SDM+CCEDUM3$EBSA5QE%Ȱ12*f(Qp, *b ZiDa4ALD-,2KEHh `*j * b^0`$&e*KdUS5A4RD1Q1qjxL*"&(5@SE5MH P2TEj2J)*"j{?AO/۟whu-DF#$?^@\8#?!+[2VdTE!Y 5!IcsgS&TY5LL:jBJ( M~Ov|l}?j{.!Wضk")}.:vK};/K_xWy?)N{ xn?ꧥ:X|٠wkNѿeǾeBuFLóHwGoaսƻD_o0;ǭ=ܸvEܹFc+ϔr$cסYx3.X|~1msK}׮m˩{/ƈ?㿾);JQI4hmi Qw-I"Iw`ZiU:~.,^ B*.gN}jO[4cÝ=T8q6L#\wGj:GɨG}|GXZ~BEO8j1j; Z8jEpO~D!͡lLKF_DU4Z4@1t8(YțwsAzdE4wxl4|H _jmpLM}oenG] }}Z8<(޽ĉ&e5b)0Yҫ=4& QE2*QEOn9gkm@eߞaڌ$6YCV2_,X*? SO)`}9R$Tm<:~SrC]]SxV"$D_Ս8t:&9hEBz4"J^~|vUpų.*3ɤv}+3\ hjS32sUlj~ap)[GʔB EGTeA2 qK^?B*-8x!=S5CwJA^_UTE(uj M徐 iH*ᅅ]aT@T$H&~_ׄV?tWEi26[npyq67POG~*+ɔ} z0_^b(h7~:#΂dC,sUUUQ:|U%d]LP /At Qrn! ^oϦyg_W/O7H >XۻU{%b3qoo8sObZgZmixI>e^W e&=i{}RÍ>C<@pލRB'z)|&΢sPv1Wz(EJ <6#R;lx8L#G19#gH~4򛖇-qEѷs;@-+E\WrTM˴s2)nTu7H )<0\!!4"7Q\cRSY*#K’ Eyc d283Ԏc ?fXowFQ8'>ݪM(?%ւCI(FaYthx{.&n|R\O$JS tϿkj8a;KpfТ΀ &]\Iå6TՇU.J#ӽDz8&?½<1WxQUr0FbtKnM "wq2idH5tp!j -.yN~ DQ1 V wO Ns\pe/חi?o6w](˱-YCi;7?Jkݳ p/'_a>E}O$!5=kqĴ/md0% C#CS8 Hdmg:~=WF?oe&*URH6l);mod8 u;ӾYߗ=ChTGwiv I4\=bH"mwÐNaսWS hÐ0۝r[<g oZKg\'HAIg0Q2H3U3W6GYakXIfaXCl@=W߯جya .pC  >+u#AQDzWDd2@@"LJIda]! $dQ(qbiF*eԫ5phŘ"P:.Dj"e&j̼;1!ϟCoߞÄ%݇#׬b/3܋5jwlmh w5zcZ7VjcdӫkJq-7)& .T:^ <俲=&ސdAU(gw:1)"eic-误 UpO ?un>l8OϋRQ\[_v gvw!}%:U"~c߉^V FB[@PA#՞/2q> `^|;:@66 "ǧhH+s n] Ԏ:"k$ᓁr#jq A `5iV G;Lϫm i^ˁϻr?ga":@ig 0#n| -aݾ׆:y2ȅ1=;Ͽ׼xVF3-5 hh|TUV(1OUz]>#5»Y`k`-d(#܄}MDe<#9"s\`"d %KE2J$*>4ddߦ'r47_9ajP=.y&ء !Y1_`#$fߺS%ifn]G‡A)%a`i8Oen6*Ӯ,䲅5Q UX) P1}"ҏS "wn]G'6d#|䥔|: ݬ,+U(dYҋnO)b>많|`.qT^~bDgm6ay wП^U> | %YJ} N5"bס[U鷇>uz_WQh dhc'U“jv2R<ҁ ˾'߭-u@T!lӱ"M)aR28p^J&G_wʉ>t @)uyn^6]7>[1P+4N;,쯏Lm^v*_5QeP{<8Kұ\=;eLqLI/,S]t+aE"T,Eri8G<[tgRs]]m+ׄǩc0ڽY@։S)ӌ']+Xp^áʞ=gjB N#8P~'R$7&l"\x!&$\G>Eӝ~N'8'5de4M[Ƿ՞S)#_cPpDս-Uxn~%oƦԄ00M&?{ z2WzY9|XS%59c`L$`'Y1H w$aPOP*a No],2:YG+~5dÒ R@CCemVUy GxDe2 ypqsbP7^⋢[di1A_y*Nl [_OSIQ! U\Qy*wU3VU=}esk,kjVvӐuda[һ CMk(mnD{DH%86m#i冏ǂ0O7<3r_X6_g\ҎPe(d'iZ;5kt`NDik h>¿H_mMr߇#p;jp8mp~,'~ 9@,ib&YX1r6(g^GܚRҩ)؊T&sNH; nU݃lLvUۖ3烨B5V-L%EWZ29R.QwK7WHVa.-%c^呱D~aċ}pByG2/ʴ9kGU$̨N {K~6%>{p~ޜoi|[8볷Kqym) i'X_t&=4>2ëf?]k><0~i۔~5҃kTuYy[5sPo)VΧi~p-V:#kU^5ϣ"rd |vc+_ʍ̒I.XYjөuYmb3:5;:ꯕcHFدg ?Y}GH9 N ~(GyM#6ggǵC;bZ>'i6lD ܸ{ˋUUwO38'ReD-t [KxUGQfޖ Mh鱼%HZNpN_0]BQxIdr1Ȯp~22Z^/KU}9vv#!܋HO_>]]5^͝Zrzk^m)IAbV*~^33Ôϓ~a;esq,ǔpN1#/UX[UQȧ*|TAIx]O:bvS|e]|+B\a{R4i4RTV,8`ŝLĘ9~ݲU3RTR,m!5>?B-g2Tv %^%*|u8ҝc)8u<;N]8-2jcOUMCQk `G6{x(Q]e"%".;Y =:_JSݥޖ8(WܹzzyoAmR[=|IC)Gqr{[Ӌ0^]L ׎-yqkTZ߮/z6WN֗("XqTӷ);Y0!MPA*X1PUQi?Vol]rƽ[jC ǝ5kd1wSLRn.1}3C؁s%RܰE T#U?=|s~.x4? !8X痓3#y\P ?mypa050jn}_{, $a; dS'uPwFbO Jb=ԏjvv'9e-AT)D!ME?.ߣnq,o"iXӗ>9KmҟU Z5# >~ (oL[e#g=EYHy\6T-$  QLfgzÁm}{vaş\Қ|ND;I jB6LÆ, ԦvƐ33ZK^zIv6 /X LNma Z42gՍ Lޤ=+ QwD8LӀdMc:ޭE"KBSnus: k8PgӶڨBi4`m[Hl;bTD Yuue#KnxzU6\  PTk 0*x2- @1,"+$$",qʈ,bAW`,."+V0d dI0lfH(b1("E)UNcɠzிoolT \J16<"U8`~g0?ܟ_]O̼ft\qe^lÏvJkl$O[5 cUKEs80ӧ灵@R9QvPFgq9%rY{ąj:"!H ~4,maa-sW6LFt# rGtkGDأ^}W[g ޽!{Q z;hezוj< ¨N -aIf38WUVhekX_foxeRxpd V)y48S7  "A4uq?} `CE$`.j4ʼ*VABc#B! Ld')9Jr7sv̲NI!?J?|g󢪯e}⁌XADLp?x%K{ZKf_!Q$DUĖJ pvv^,(EUP"X Jhb@*jHؖ Q/ŹyjuΨ_5<RZ[˜jjK/ !6%A<)KiTޡ:f訤w)62ss ʪ HbKsk*.ѪbAM%E7BCK/.7)DDED{yPt0uCF;@I|  рBVi@@9'&X  M5`}UIuOUq4D^7^Ng0g VVhʧi?w'\dd$qI) HB۔VlH#X:^i~ZTm[G AڮmKߟJT?G^Ik#zD@MzC4DTQY:wh|r}*~M~mws:jmj(` 58tB2]`|g ԥhl 6kZi*LtfCT%EALM 7ݱJ #G}8\peSGBheդt kBh ,)Ubͩpu Fkm0ujMiH-xKaI93``^z0299GP~>a0=(aH!#!lO]2A~_k|wvn6$`͘Oc3D*6-}p9ܴ#wU} ,~N,_/q R PzC1O)h}`i$E>?|M95-lv׃9 ٛ%y#,~tE`b(U#Q SB908Ú l3,`"SߏDʋ|_S~X4mc#gDa%T*L٫OVϮxpyf8tM錐#lP muR;@.NiR46wvI9sf,9c>C3F@11#CX[r>9fIn*nՃ>v;ӆGuX)?pi%vŷMMf+GfdްqyGfE:2DQ3ٌqrF|r%6ƾi>#˼HdUmq˺gA KeؚaHi UD92^Dye6͙_%=)X1XEPW lWh*HcuAXI&#xu:,3|o|KI)׷&{0TW++u^Yg)YZl02}]yHX$" a%JL tO^kKSwg$rF$GПi!!XH"XCK/K*?m؆ fѤTU|Y66IZ>#->aϧk$b2DDFHYl-{g/&ړ994u1sl'932yo ^`%G",Dk!`Vv Q](@2I |XT=Rk?SC(g4`ʹa/5v\)8 Έrx Г|M/ICpnMfli7#p$Kݠ?m!9J&,Jj:k'GH7%= r(|n^`..p|B,s 4sX:*5e4UPQRQxGX8sHۢLΗb? &PP}0<& qTjC#Rf%4䔔ȽUd"PXaPǨn= oeăun_$f? .`݆XT"AI-Rp@sۗSop()(< bd!Hd#'rmRRCias"* Xϝ=:'yA=n^nh@ K-+$ރLndUDڛ84V , r^3)`e6 H2Y#U,4'Ogÿ7[nD_8 Z(Sa&ת]8W\RmM@]a$47+xGY]kYs P;vkDb~[`h-  "N&O2=(HJZ1=n5@9 bzOt<ǂQvCEԤ[TΑɃoսGˏ|G𓿲2Y͔;OқpLDjuCOWZЩ"4] t.2 AțjY-B U'&T/2uCC1`)""]T HRa]a|T M>DLSRի.^:ՍLh]EídӢDչEgEL8̗KΪOV/W7ø:0ROIFAԬ40jbFY%Nj b/v(z3q7gJ2yxFa/Q1ZdL]y5.E͜ʃ/.NhP&J|XjMSf"DN=2t FNֵ;<5X*T,FRTtnhf`zUfu3yV]b3lcXRB7:Z7&t]8zsOl!0 ѹBDoB}5>og_ٟa83^[1XÔ}GiߞO7^$q:O`HB   !T?\[GYA\xD5>TD%PHJ8c)!TEBMA5@j f Ilȉ@@QF1*Z DBR59a x7dZ*#, 1.А#f^{/U}f­4l[oEMD3hA y zNOI;#XKAQq:?[~>~ju}=#;{"2a_n0}vICOfpLosPKXӗf_qξSq22\.}%ޘz``EA!P}X!Rx^!vXY#Ȭcp|s; ,!bW aO:.=0`!ww9+MGs7HM$jߏ $hsqwbvL&q:pſMN'ÚGC &0;|(j9넾ՠ:) ;C,.Sa>ЭD+IBRR4!E BE)A@%%HDRRT$u&D̉)h P))n^ %g J&v8`0hۍ)A ͺ= xLUd@admTP}&`@e &;ْ*j= #WO8t'厥 w롣o)3߱[^:},Eʭq-k!>h_y;C(zs.@C,mjgAƒ/o!T'CnWv 3#- ͣ! x$Sgm@SKJU!CTQQELMBtJ"CƐ*0'c]0fpβ1Ӹbv;yjvܘKQw 9 &AZo^T`#DLC[ȣAȧ1xESs׎zOu̧~Z&{MٗyFK U- HPR U'A:FJj 0}Qщp/Xhd"qEFTyY|-m+c:.՝Ju\޺7"㌺%_[M.*=`pSfkh];fD j3[YXnv-bs x.ܕUBۮ[~+xsLv W׫C1t& {2ս<`ӳud,G(n:zp-gT߬zn0B- u( s1A"+\0կD|s2b))(F7vzb]Uh>/sf3 98=TRYjK#>½]'vhß?DUߣ4gW"d4ELP4| ?l " *&Y" *jBH t:%VuH:eUuu HwYHw@xE5IUCx_q`g^A$RΰL3"pC if|C[E E-%(u},1h3Ch6e{O̖(AwF㿕/dg 89V.W,y/D d v>>Xؘ HbtW#s:fКNv=}>fX@yER@n {)2I*zu-$#&FKclNPy4DS\@GM }0,y<^KD%Da:!?49No|$N$q@{R ueBw{91*ٱ Es߁cmn1> XÆB" Uų鮜!Ω**4#Y%9@SB@;p2_]>,̘j>t&B>Aݺ$ ׊:a!8!!0oGR!vA`081gjϾfG<~J7ee$Rq3z"( B)aee{={n[uÆ_9>p % VOfwO,BSB5Q U^D/Wk$S6]G9gY| +DI)8gSV ͇_h.kWЅ/\玊 fcdE-U4@- %,UḆ0B#ETP U@T[2@!H??sP`M X(#U6vǥ_x3ǘ}d-ZH%QGȅ?wNkp: (ŰV :`Ya8kba9gvF & apB% 4 ÃNuEyFe84NRRMk'dcbC@l|,tUH0\.Ry@*FX7"v,`a3ǿ\2uʈSDZPZ*) A)BO|0s'{a ޾R{݊xHa} 3]>TlY8 >D=B)IG0T^y_D-L˝  dh\.} . v3Oiq|)@(hR%iFdhVJ A*)ih(CDUQT4̑!EQ01RPD@@7uwy@Z K),)Miz}G4Pc$*ORFrX־=J#Mq[; -"ߢrv -6a*RHY8•#m皫5e"Ai)yYq$j~06\yda|e^HLNkZmKWe:K*aZ< 4x:7^OEߌJ JPvOf! i U4' +]PPWrO]ECۧa{ٺYl߸v5tHe[bL"9!d L{117Bւ4.cvղڒ 8kw_] n`=1]󉓊tH7- ƦbUvZ8D<w 3*)KޮWbWƦC%9;1ծ)=z}ࣇ@4W2E0P㿮^zNepGӇQZRآ*\g,y4 ; RɎ͝$ePoa_ZGzTPM4VfUTC)j )*ipAbo:hԬ> 6|÷f(J@wU o&ӓs`dr-ǖook.0#,'h_ SĥR4 I@-J-UAE!J"R-1!M5JDP1>q 9~ б;RR"d[BRdǘNWE<7b8$A6iX\xԨڋF@'" M;$>u{d"W O:$d.PD55hہ$nJw&p2o  (/ݸ'9SqbIf AOMnm+`h^%@@ `A7?5AXiקϳi0yL( GT\ ŭ5Q\`쒖c#"Ϗǯrl0ﬞ+p17l29g0>ἢ yO)8Gp 2J,;ct6A `:l83.֋!{v7Yóõ&ESg\ŢN7f5kvx6gyt(*|̫#0\̝uߡFN|بXб)(eUIeO FMZxݒ~BLlxO.}O ql{{hsEB=S̩ 1cCD`zhd?H~#4D!obX(V=ZcגkB{ʀ6j\HTR)1"RNAoNӡǕ$Zz}տ%p#L1+  Xf!Y<.ԏhը U5m B@ lCsb? A(yJ 7} cFET/}뭶Ű{krnFHJ8+V>8lS3)hˡv+b2@)@$(R>n mjނi+2ޥ6']L|I@*uOáӉWJV[IgB`Yj#0T)!,b!G$Ì1zN4Ńͤ,<@0l*%q&.~C' `?PGV(u v7}>'v̋m&@H x'DgTd>`B>mWOyyQ ?gX܄pu> `2?V.KA7Cx|uK,ҘNaY%ԠLRvN$)>(o".e k1Q~l߲ # Ի7Xbq+L"@2_~Υ~EBRP)JR}J`2*X:CdI3;'(d{**[OEy05TbΜ=t:Kiɋ`n\ ; m(K"\ z32Ԇb IƳsЌ #3TË;& 6CP_]I8,\̌%c nv ɧ]:oĉ?ZdE[67ez>89%@^؎QQ#} Ĭ>زS"?e?ϧ8d;/}?wORX@XFj5gI-T"|M Zt@+=y'F~Tc*t%d -nt|0VW'O["f.p6HðF(@4Gjh߷P !qޤ Q@lH2La$)= M `+ER'Ϸq𸜄>0qJV9R_( 20DK;PCT+lM|˔r2- Iӳ4x99.`2q %!\ Q"Eʀ "^<@0XxCar۟Cml_Mqt p!.ؠ&4w@oˏM9s E-Y5|>\[;?PD1]ΌP Mֲ` I:i*h((C:׌Y B䝛 a$ @qDdA΂W$[bgM)(G<щ [@8 y0@:$s.djb6Tdso7Gb k.}aj74a~[r۾Kyrh% (NX#DaȦXZ|M:QfG}bnj&Hw(||`0D I:K`'CN(Bdd8jV`uۉ!fn8qN1d=29PfdXQydPaYg!z1dh00ʚp `#Wr@*+`]@M6_{b0KAJFTZLJڹzV sl]jDE-^w$AhGGȆ)G0+Rdˍ9}p6IOyJ C]Vgv޲E"*A*:EPhAza`u ڭu(N(G #D{MEvN@%&k eZPiKT2jdk1\$0pW]H@̆d)&^ 銭aRRSʩ]tӮ&D, @ ZVZ zHC<連fG=MkgZ^'n)Q1:KC.<>ĴD+è'> JCab>iro7㯔l=`" `uR}jLm<%4!TL!"J&]eXၭ*Q !He0,N=(cbu&bvx) kkHinUXǿ4cv{۲ݶ(,CW|0HXd)͙OwOC7]wh#s3#xB'ʑTڤ4x>&K;v3GO;w#8nOTCdrv{ĥjEx{IKx5itZ5m gOdl8t;nP{X;t-˭--[D yぃ* MNK1 8CrC|]]746zQ[\KEåzйFЀ衯I4{d%םjlV/z+7[֩|uDEq+1# x> N,[IrQ.xGy:.!!wNuDz[笅ubC5_ܷ9pG<ܾ qá=r.;V]V81cn g-4w[6?mͽOm@I wϜhɛSg9sGYAIy1(Zd]WR!ވaKP@9c˻=䉚7U4n5o\8B?2Qݼ]L&`YX;qXw~#yNޗ-kwD2h1,m `|Aa`$q;rCD"9ı#za'P8 I``LÉz֋Yfr( c HQv+ƩE)”W"}^5Ρé˜Òcz]R2 ku!i6IS1]wp;2` D4N[[hyj /{ .IͿe!b^J)p)YG0eF[ [Ar,. ]FjPyVĴ>:fsa4Q2܎{!<$ [0 $9Z[/}DQN\%oNZ3k>G(@@N2Ds=Nq\׹U2̬gQ0f 37$tZ\8v c8W~Ý HD05SJUI4ЏdWYɼpG=&<<1`Av<2$?uZ@Czqr&+ )((J B)rpHfBT#hT҃tɌi&+(++ɱF{u813$b }Y# aŐGgڠ#'~ .K9~4+娝0Rw}"MV{E<@IIrŪ.bDDpS=DY'yd i<1iy MkC;}!BxO m(F@gWEcӥHL)Bs dFA]=[&"2` =PBe@Eb╩x* 95=d1CΉLv.9bej_Ec~;}ފ:~؃> EjF܈{)$uZUIvmOa%/򇓸F*Y JZH XgQ4 ( 44[1NC}R&T.!Gޟ pD@]O??LL ؿ~L|oPH#b =ӤgJm!4?>>xzN SVs]M?gѪmԳb?(Qfg"/XnῺ~]Z p<BQ_{ADMYJ.X|qUUtBÙDj`amFi_&3Fy/$NϪT!B#J4PQB%#BRvA~HBw |\w2I,lpG%EL\QRfrd:%CR*f !Basy|̓ە/[pxljc]e1"ФnQu85[ % 8 Ipϝ}W7STG$Hވ}p~ Sr>_~黬tv":[`z߿A$ C>*wm2v&gVgN+:`E.t=((&F3x-:Z"#CKM /A@175vq&M !=/{-ser^|GCۥٻxO?T?R,2U׃p1^()(Q(!CcVT׵w4!K6ziGZ^oqݻ'P zlLt1A6O>uX_+W,hsSƨvYܽmP{a݉6q̽ZA ;0%_Y(מ7逸Vh!kv^sD\-Hf]0M`88p%h` ,QC|G燓PljP8" e0IUAv^%EvDιcaQi&r` ѐFQ2!;i>39 I*zlFgbG}=hWO‹mjuN'$"]xais lKqlOO6%d*E-"Q0}B|3{kYHLQ$JR)l8rl~"06.@A657m77"_' wY(QH]~#uWLȸ@yLch]Jlٰ9&'qtСM;ц B hZ娄ú;pf۴5q~_x^Վ6+ 0w1zpt)$ h6TpK*Ie$\́}r#OOn?$F"eRM ,!2=\[,R]KI"&  ,S;EH/9D\P\P{0w{qL@C3Bs77ѻ@vWpu2yeņlwtPGKKs_w9;7s I;{BF@+ÜƯ< L soDDCo,`_N |D'>ÀTeSQIᙢh4>00+iTThETTE)CJ(HrR$斂xpտ3/?BC(HviViy5dN.UL k43TĵAJ!CKR#HPId48a2f E @Qb- I78w5P}DEvE5/Ib !\W8%6F6@aO{i5!6 27k\0ѓQDK8Ù%d?ۮ5!5޿ P٘ERR$:h:2dYAzS:@A,$%!~@Hͫ?빠Z# Ǚ N《(xEͱB8l`fBDԬTD>xfg_+~\(xA$@]D  懲#R(u jVv6B $ʘ@Hs"5Eh$NۀnPC@{YS$>py h?~EKώ]2q!α5/6@)9Q$@&VfMQ3EQ+@k{A%4U&-Ƥ$㏲#YD$1rJR)JTD)S OBBnQǵ5Pc0m"ð%OJr0;n7>T]&  5h!JPbyL2;TMBhD ?^ЏaR>@}|e Ac}& Ea4:[W^ɭ*q*O|p>JӰaJZA.H MH NH倡1&3 CpBD0* :0:~\񵧤(tôqʊG\B%$Ş.[?[7e%nК ߀N vygLޞP9D:;4.c\;AJz;iʭ ֘9|7* $B@2r%%s"$2ȪE\ (V LpE`r!2$dBMHT&﹨#wq 1 Gt!9Mݬ>ݱPSE1DGv6b<iĵ@zIUXdI4;4z*_U>&} Z! D OӃ35r^v##ηs4x Dxp 2p./$DxDmcE!}]SdsAā-j=#,>tEH->2ENw&g_c(F75m@ FTqEAĔ$2wE  a/遥Wl-N\w.kK8b[J0\B1 (KkF T(- !T\5&8 '&HdQr e(㷂%R6ee s(&DǮ1p%2 0LWX2hɏ1lK !JdOvӷl(iCԫ{>{8Uxօ=b)ndjxqlsܪc nsdKIQICA*uwq@=K*61N`II/ 2*PKJ-QFBGoCꠝ(E(hj)UiJPbR |!9}71p)f]Dk@ofϿPUL2DTUTLDɆlaTl@{\, HJG h% ȡwܦ.nOt;a:2DdԧbypIۍaWuם)~}= P 6]IYlp*.'TaT1 MLTĄS-(yk9hDJE=b_^DOqǫt'k Nz2%̈± iקXeݷE@z=)C2 }q:>}P.[W2;&?]\ iAV|%疎n]h?$EPTsOx& fOev:y\ *SPtfn(EXU;y%`gJlԏמ}5ɜEiUfjD6spܬ?w2eq7ՠ׉ww靰N 8ꉼ=#)majy8{;(^}fŴV/J |6/S'K ~Gi^ B#ދڄ p{|s { + ~pC"=f@x1B1%}D>H=yi,|l# DT ?GŽB@*UPP%DO툕+S=B=PPL{}xSrwm#z*жU5\̓y[M81`EDDiw*PA?)xJ=dH <ߎ"'GUQ%9~B8$?@I.RBgmln6Ra\ᵙr pR Du{.%aE, Kgg-v2-hܨT8(,Ai,Y3:SA %pެJl'Yd赃w|M'Lj|]@{b& S"9a3 fr0JSe3L8#zw@%?,5~pޒt4F;DlItrYlWq#RIטߧOCh}U4zFGr@!B4R4=ב߃&]j1IEMa0BRv6p p]Y?M$O'KMBGqg#L*lkvIŋђZi>gg]v{LTJD,AIAAT %@RKBĕCDE4A5LHP+LELPKI B *PHHE4 Rj\RH bP)"h(!| MU|0AT}LA"i$39@B$CAI1nīA~oGyxL;0~>Cf*!"F!"D!R!(!)LaJ,UiMps*pOJG ީ T{0ᅬybZǁW P9`((H[ƾf!3pY w-ym,I$*81YwP'q"*| ֎@|:3i4s:9{asP_~9[&~_ Brd0SGoқA ~.8O_g1y Kj'g 甩]0y#H%) RDxctdQ,d_|LDzKfCäs+{c8 ,"K<9_=t( &vv AKuFA*ν;ҝjHu/6NFnkP;4ю/;p hd IH )C5{ڍB"A܀4(0$XdP@; c o^$p=4ohh!3&,03tN3d %f=Yّ6$<ɩnp ԙRA`HEiHDάzK8}-2,.\ЎjC"Tʨlۑd#dqCúTU\S(U2:kWW0Dk5qM}r)P3&|IQR%AV+{8|_@܈h3ma#,#,;n@3Ꞣ%|{NGQ\tDizS-5C 8j 3{xdQ]Pb1H8a?>a/e1TEߘ' `ӱB W8k e,ds c!:ڏT@mWtD.SѨך:W5AJBTDEQ TL&Gy}|q {+{3 O@0rEASTD0:Ƕ3Jb0((aԆL),ILHnMIQ1Cyt0W x4z6ԇSnRDci:mf`rsg@rT IOXmhqpʶTrDk$ՠJ6)% Ux qlo/j<UƉPkB39ʃYiF::RU 0tLRD RacP,*n%XC9(x4ӒE18 aĮHڜ6 > ZEמ:e&#mz5SqH/\N`JN gu[8yACSR v2,t{v/ӻ8"A`>{$$ΐg‹@#z%t&09sʘ by41Ҩ9 85 E5U׮\Q*9""3*r ʊ "*4&r\D⨨*ܺD&8AQ ^u%1W.$ƐHҋF]Wt5QU(pi]làufI vyAD&&ˑMeaq9:D~y op$b.E& 'UܙT' 60 Aؑqòmra^ԖS(0 8pN8T-Dܰ k$""H$+ M}3!ӏ$ÚUnW sMh⑺&Q<1j=.PAeqls>JYIYz!6kG1Πik\/L8|\`i.9v%[աͦZZs&pqtq4dbFC4^Kw#=PХ7efCU1fLH҅5EQT+fd"W"aPŤHDJfdEsNRbG!Z(L-9-:#% ԎJPҴY CvǾ) mA#)ĢDFps&\pT* I)LKG'P:.{c/R&b*İEj c f#VTL1CS?^w䊛59sfxLa,l2Xzx[jr#Tg3r ,gcGL,Q3w@\A |m)r\n3" H> E1ETT~~ASkulK2矌<ΐ̸> 7-a*r+ra0XNlp$`0֗$'79\;wP )ȿ鬥s2(Xs#3ha+ u@׵l1xS>@<؀@-7C^s`@ P$ &Oz}x;~GI  POtJ3woqژɘE!$X #X.@"RRP1 T 0TICH)HP҄QE1-E5QDKUAIe PM#HI>qF`b iJ CRr殃 13/D$Ia˝Ų,to 7=NTT'DR5jcMCCu1J()~uMD)0B}yMrsLThj+(}tjhS ;0I <߶*,,NUO HpE˄iuyNמ޽^1:0(7 KGvh=bs⽠/hh BLl( HP#Y&Bdf Rã8߲V!] lrXa-(JTOydyC]@lP(J@.17(tpR"q9!k 4(5y‘*6"R`QVB[@Vbaa`~>=1S.V9ʘðlo҈tx(e`="h 5MK{4;Dx ~T]RO1t`1_6g!:J`ixұ/(\mHx:t\E(IBdtjYCKoԆH>yu2v*mf+LQ@D)ON }2G.]>v[_)*$2b6 ]p'0DQIӎaJT{2MiR5T)Ri%r=.䛏<:Mk6F!<`,AEοٌgf;9%2Aw0ۮ×(1M}RMU"(Dui j)Л*EkhM.k[K5Y0  vӳ÷YJ?(>Yc H*ub 6m I~n"[&فg{0v򯦹 ȂV"J~aF`ƙb+[(j dNfDEEEX$ k_7`?sqS邽)BhD(L(VJ)+&pN}47"TQ}8Czo|^ CMxj8ʒ(j)|[9NvP[))6(|1@Žmbo.(gӫ!Czp6,AmPH* M)g Y4@`dñg-zq>=FoK~hL5%X)U߳ä*,'.D ~PK'&@ $ujRԠLġ5.#O'^"4L3ш+Ζh`j Pbf(dgD" sfd5\k[ TKS3 h\vPL8CH 0wpt(ԝ*_/_[LD4W30w[P=> 10R,E!Iw&MP+4B'Puy}r \_mHgY`c&Yk1X,N9}`^\"z>0:2w@#@V?Oz*h"`wK?T%"(-dCxH쀦$JV2j%x ߒwCUMS4r{?S;i%!o_-=z){BaFɉIF>9?}Q4fdw$[I|q:N(zH/(-LL0rZS7K uĐ?E!Ӗā?݃^dkeɪ%25Bx3۟pF$D"2i30ٸS=#w8EZ9$ @ a}4m[)>]- ilb%ՅSC;IEoBHh.s#ٙ8~S@y> D BXiCAeBňZhi" $ fa N ^/GDzx4a"0q3ZQA~:`2En.ēa8NBb\IjU4|s*p'\.RZOLUK֍<Й?]3)3f;:y7x34Ihz}l~t_yI'wlj5S⤖ޙ3/t/7)T(5ʲaVvy bNRa :s(G ?+ ZL.NVQ ]g<iP02㝌 B v$ M :`9ݞHXT ֆ2\)L H4&2?(dKddzڀWN^3auZiR:&a>ԢR-D*KU':pA=jW."u) dnr6E7(À0Vb@3 1$a>24xhQz /|)9m*<CB{,H ˼TD ȓx+xQ6X<{:6ptI;o9;٪Rkڴ~?yA =Ƥ%*D(HL_{3@O %J`(jRHd u9 _~6o~p-׎WfaA;׵(>w<֨pG'D_j"pGYD's?Yp]lfTv~y2]td&48M^S7D݂c> x!j`'2L,w=;u=diL9QőGh04!"阆0\qkhhX"jDž䦢dNmq#$)uTHwF*iUde By ka30`sK C~(| .|څ%\Q Hu(oW)ʈEoN P8<{dJV;*MAp1wA섣%9H1~0RCYA^zP %$Cq^Gjhj> % $ gY4ʊteW哅ZnD eKL D6LAG4YpS`p 92Rّ !6ApUͥ$ G16 :n\E$IWQ]@%.f F#`,)H@ )`V#K)pϡ\|3|)ᚇ0Ö\<Q§MPi.HkgL QCo0csْ/gpXC>>qKCS4fv/fj3ں8[~RZmԕUTus ^ݛIL?LQ72*_;!nţ1祆*Ye0rE!ĂOR`\WϦ4|h46Ye Q+Ld7܅e1yjD X +LHVAhxOP`hT5gۆ2Jݻ_RA);rsb9fu'w{uفR{Rwh3d0anm&o*%ݐ*~hGA2  O3{ URu3X-r򔝢.r}*R lyv IuaٳaztU@Rݰ9Tq`j:x`&h(&)L2r^p?o!*THrϙDDRI2 IC5InuCַ :b/2PMLHLU1D1U D 1E5KU% IEJP#@4KB7ˇ8&1  qb!C-#|z:,PT/؆՘@8r{5sGdM;&NQ) Q[ ͢$ P\H8 2G,?[,L5"\H6MB!T\̎EJa*q;t7Va$d8Q#II5dS 4@ da9E%( QT,* Am6Ѽp #un'%9E NBY*`\:6F 1;  IPEiJLs2 9jXY0\`ERJĹ'4jnD!Dckܪn[$<]~QG aG]Qضz}ӶX&{Hlu01{ˌ;3XpMR4OkMܷ1ÁdxLR/"_?5]?4"4]eC-еUxhY-8B]RsrH/3_4,< Ns1۬")5?Z H$ 5ΜsV5fD_52CAt qr8{CzIwjJ#CO㵓&nQUH@ZVj+F TE )2>/nl<4z-`|k5;>vP苝 cN F~zv9[#Jw9^*n5q7[զE/=c{9-3F#ELy$mBثsaDgq"j6AyAt+kΨh!ҿ.܄Xq=#,ItI4SJ"$D:wF+q gN{ṡCj%[̡gq05pbA=$`ʐpϵl#F3δa=納GB6F=T8Jè B8[9jb,\3.bJ ٽq߂ M#% C5H 975mo}S\уfHr] +99EpǏfb u%L%jMZ1w<8( 퐚 ;B 7 QBI *m#K:˜i'e]Dx$!z 5/Xl*9gp!)ؗ /Gt6f&nh}]4tGMFvp~`qOƈaer bt'y%Z4`9hR-UHxHM.~s!{㈥ͨAh#~=\Jk+v?@h/=^P!tW31yC"5**& 77hBZh}puP(Zq)%e/=o妔 ΨQb]R&*R[S{_Yod`/ EC[B{CeŇe,Ӟ y׎UJ {)E7 M;yd:?hIL~>).ܤ`IQ ]4" s V %4|:uzlnpaCB:.SJy "O^AƏƐl(@jt8$d&z$:nCQ$CLTy> $sEO]qx 6_ϑR wJ ! -FE[!Vz j U  u1Ĥ54P.8(c\ >i\4nLqmǀ桡)4kNHR ]B`ᆹ+5̤t < ECG$l5DNs#cz$L\.c\̼߳N_  p`jm3 M 7<[-[GP&M)S',ǃfauXCCrjǤGTs0oe*̪ 0RIMUA̻ ̉VxYK-k'0}jW{QC,CR ;ܳ6xA4L?$&}hq1S1MzW!YTk; xs|ֻYFn6z\hXXZ:wyd>=3whJSM9D6G|F@vU90vQa2R{7H|ꣴ KDwd1Lr8_P$re΁ܢP\XQT@d`UbA1Q=m3;G; >ֹU0ՁJ.5H=]`eb ޽SG18sۭK˨`|n6!s268 5PCh(!ɠ($*! y"4@W#loĘa5CnCdFOTzNX& [Ar-Dc20$b, Bs r ʦ0Ud0c!<TL'P1PZJ_sa8]#T $aOd0=@(^ϧRfA!@qČ0#,& P`ԢTuR5Hg^DT"itȣPTdxfNFNYPrh``AB/xE@bϜ-MERsf:^U=~uޤH.L[۲tfLäDvB'93rqQNɍ$nQa2grB[ "ÕwIGG&W !vt< ͱ%JWfRf0IWۍK7ʯm;٧>d>CG\aVrחץ7Ι)acr' p v2 2s9ѐ98ܱ̼JU9gЍtPOD!{R^*>ݼ?dUE4 9:eƸHv$;)Bz3:$;jH9&CIRMwɨE(qr*ndNMVbQ 2M?( J0=ʝT><0(rAБ|؞>CHr0KX,"lX^ԎY.`ΥM+cdÅJo L2Ίu{o߆U/x)-@B|sR߆CO{tR}MQGYCb$DP0b'gdۧˬ9>+h8?PaJ?6fq&~_ RfCB" pMu4ըmAtjYׅuak[3A\_L@||",9bXPf l D?5@AfmsjR|DᢪB4T;Ɔgfu Pg, cF`7H.CnKCYU3H8.R&Uw dhStgԛՏ;9h ѯ6$E>bG,sLLH_u H3pbi1;L.)S-U`xizœATSԭt61hbt8z\ 7.!#(.Csj#mDAY Fb`ix}ҐFz @\E"_{6s\B7ѽ8Ì ښȺJuýOd83Y oI4}3&l8 GE@vNr[ 8cZq("V5!B"HTDH$d2*i8t] IiQi]t"Xlـ\",f+}8r쇽M b$CLJAfCv M B;zmpA,A(H0Ƅ\Rit .Gi^b\t4]܍!o$ѧ3WxBRr\5ǩ}$ȑ PwC81GsUlXߌZlCִ485|')-h`5=ej'oWQPe#tp&rr'#bqH]ۂ8 l jkPڕ@+lSjی3~hwPеQ;8, ˤ Ȱbo NCL٘X9Alсov&mD-Azjӡؐf(sE 䃾Co36t8C^ -o[;Uaw3xsy&H 5qR7Ǣq JO+SH"W/sHN瘽!zqaP:oAuirL߾W\2fV bo塯!*-sLꍥU" bi_`h EEiVβ\GdoXfX!s IZ<=HU#*VPRmlyftH:eLes,5֣V|m5-( f K%ьfjȻ`Uv9mԞ8 1vs!NՋӛxWI)Nt|xw L^Ӽ6f`ηZذ|@oVf(zZHNPu1!wc~uiօ q?4n{V8"`A;RQYq.:Ku5J(DZq,.:Hzj:~Z ѓeƸ}Ixa&!̲Rp2"LBLJVb!D lvf6Lts#%[vW0M)CK@iBl|giH8j 7lt-R@cl 9MoPzMb)r_ 8~H=\*abBd.k228U9b\*8\LY,jTrcTu 0PZ2u6"N ^wc1U2ۍHh @ !5 vB*k5T3`^wlRM)Dwp] !%J\ڍ{n-r1 `Lk%$T sӚu&M2& N wV'Ký-| ٜe *.MqR "iv$!\cТđDh榢3CFS ]NF.T`M *S*­*#uj$͈2j@f@'+5Pqu $pFJ?(((*(((SȥqukRX+`T=p7/DʇDzp4LCG̷?WpәC# |-rev 0#X`Z j.ŤaͿ4=+EC@() HJRN @i ( ()h)BV 30J i BJh 39NYi2 dq^b9sSK`Hw% P/'q'lx t,h9@`ɭ |s3E G 6QDBł>#EvȻK;]0F {3bW<`pV}ex7<>pNuqjEL&J-'2KrvlA3QƃvXI\_扄qңʋ\6%GeqW/p,vIk:˴)F1H2E#,\o$FD+E1E0]ˑ!R7n LjD99HK2mAޚL$Bc$dm[*B޶`8 kQLD` H9fx.w ՔXi)f(C5dF;ʕ t?@auys*ۃr<!:/R&Epu˻Ce($S>d4Q'a2S?A7ӤpUkMZVvD\i}RG쀱nmD~SϞhwDsu. ^fTyV-x_M:m"HI9_=8~PwylnySӚ9YEu;kzM̦s"C >uBR{Fv53 1ErE˺yH"? $HN};JseҎ/ir?yDDC$K OS88RSD4PRE!07ODi-9x@j9LL۷ $a-cw< `Q5!L@9g]jB(-]~-s|2 w؃"7U'YSEDޫ B5n[5|g0!mrE?P(b*&fH[Ƙ Tsn?@JBc\DP#PPH()$\7&<S #gY>1'$d;Mo\![ `}؟t 6CUcQPY2 HI ie30,aG4$$%*F `B$$ EƑpa rJ#. )kHBo' ,F0W?,9:CiC:M,s,u -%q(s9PRiHAB@S3_\)s4CRlr?=gYۆfp`Wtuo9{TgT~?+.$Җ|C" [J )7d 0$DOL'U.J *dyԛGR#$2r0'%i!31&Vr &MjBCuIlC 4-.9UHsogZ:&Ho/!I-83> 3L^"DI$"{̊+NFY ~uG(}X  Xxj 9"*jӰxQg8lh""F#.95(K4LT ,҂uPRUdZ`H580LAT Pi~gbP>h÷6SϜ9Ax׵, NL@؟faË t2 f:|?"mA:1@IM 2Pʨhh"Ji*A=r(YeN~=IKJwglyQTyB@R!B+yQա TU D1QI@@e4=?׬tB{`b}X;۟vr\҄Y%JfWSTPtg?_E (s~Ô'3PUwDQDEҔ;9yu;{!g:vfF8B0XPմPD[.Sb*'X]Rf<) ie_KM0Y}'=Rp"$}D!]uYW6&C'.$=13`b4QJ=6tC 8WAj:~ F1䙈XSNA?`;tm_~Ji+-slϦ i- u(ub!;!å,+}fyr'zޏDafh[X N'=:-UNP8#i oo k & sleep 1; tail -2c k' * `tail -f' now ensures that stdout is unbuffered * fix a bug in cut to allow use of 8-bit delimiters * pr accepts POSIX compliant options -s and -w, the new capital letter options -J, -S and _W turn off the unexpected interferences of the small letter options -s and -w if used together with the column options. * pr output has been adapted to other UNIXes in some cases. [1.22h] * portability tweaks * Window/NT/DOS support [1.22g] * uniq accepts new option: --all-repeated (-D). * Windows/DOS portability fixes * new program: tsort * tail has several new options * md5sum can handle file names with embedded backslash characters * pr accepts long option names (see `pr --help') * new program: ptx (moved to this package from being its own distribution) [1.22f] * cut accepts new --output-delimiter=STR option * `sort -o no-such-file no-such-file' now fails, as it should * fix pr bug: pr -td didn't double space * fix tac bug when using -b, -r, and -s SEPARATOR * fix sort bug whereby using key-local `d' option would cause following key specs to be ignored when any two keys (in the `d'-modified test) compared equal. [1.22e] * remove maintainer mode [1.22d] * wc accepts new option: --max-line-length (-L) * sort can sort according to your locale if your C library supports that [1.22c] [1.22b] * od supports a new trailing `z' character in a type specification: $ od -tx1z . 0000000 be ef c6 0f fd f9 d7 e0 ec cb f3 c6 00 db e8 00 >................< 0000020 00 00 d2 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< 0000040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 >................< * 0000600 00 00 00 00 00 00 00 00 00 00 00 00 00 00 35 cc >..............5.< 0000620 05 63 76 74 2e 6f 00 00 29 ac 08 70 72 6f 6a 65 >.cvt.o..)..proje< 0000640 63 74 73 00 00 00 18 9a 05 63 76 74 2e 63 00 00 >cts......cvt.c..< 0000660 18 d9 03 52 43 53 00 00 18 c0 05 78 2e 64 61 74 >...RCS.....x.dat< [1.22a] * sort -c reports both the number and the contents of the first out-of-order line, in addition to the file name. * `head -c 4096m' is no longer treated just like `head -c 0' now it gets a diagnostic about 4096m being too large. * pr: For compatibility (also more POSIX compliant): Include default separator `TAB' when merging lines of full length. * When POSIXLY_CORRECT is not set, tail -N now accepts more than one file argument, to be consistent with the way head -N works. If POSIXLY_CORRECT is set, using two or more file arguments with the obsolescent form (-N) evokes an error. To avoid the warning or failure, use the POSIX -n N option or the GNU --lines=N option. Changes in release 1.22 [1.21a] * Fix a bug in tail when invoked with an argument like `+NUMBERc' * Add test suite for tail Changes in release 1.21 * Using --program-prefix no longer applies the prefix twice Changes in release 1.20 * fix pr: -l now uses total number of lines per page also with -f * fix pr: use left-hand-side truncation of header string to avoid line overflow * fix pr: it now accepts `form feeds set in input files', also with -m and multiple form feeds at different pages in each file * pr now accepts: -h "", print a blank line header * pr: when skipping pages (+FIRST_PAGE option) line counting (-n option) starts with 1st line of input file (not of 1st page printed) by default * pr accepts new option: -N, start printing with an optional line number * pr -t retains `form feeds set in input files' (`don't destroy page layout') * pr accepts new option: -T, equivalent to -t, but eliminate also form feeds (`clear file') * pr accepts the extension: +FIRST_PAGE[:LAST_PAGE] * pr -w and -s option disentangled (`use a separator' no longer destroys column alignment) * pr accepts new option: -j, merge lines of full length * pr accepts the extension: -s[STRING], use separator string instead of character only * pr -b is no longer an independent option, balancing is always used with -COLUMN (a requirement of unrestricted use of form feeds) * pr accepts new option: --test, to run the pr tests with a constant header string * join passes all of its tests on Alpha OSF 4.0. * sort no longer improperly ignores blanks in determining starting and ending positions for keys with explicit character offsets * fix bug in csplit with regexp and negative offset that led to infinite loop Changes in test release 1.19q * fix bug in sort -c that sometimes resulted in a segfault Changes in test release 1.19p * md5sum's --string option is being deprecated and is no longer documented. It is still accepted, but will be removed altogether in 1.22. * tr '[:lower:]' '[:upper:]' no longer fails when LC_CTYPE is set to iso_8859_1 on Solaris -- or any other character set with differing numbers of uppercase and lowercase characters * split and tail diagnose unrecognized multiplier suffixes, in e.g., `split --bytes=1M' (should be `-b 1m' or `--bytes=1m') * fix bug in md5sum's handling of partial reads * fix bug in treatment by sort -f of bytes with high-bit set * update configuration system to use automake's aclocal program * configure performs sanity check on CC and CFLAGS to avoid a misleading failure that suggested cross-compiling was the cause * distribute test suites for cut, join, sort, and tr * unexpand no longer gets in endless loop * when verifying checksums, md5sum uses the binary mode flag from the input stream rather than the one from the command line Changes in release 1.19 * md5sum can verify digests of files with names containing newline characters * update from gettext-0.10.20. Changes in release 1.18 * when building sort, link with -lm on systems that use the replacement strtod * update from gettext-0.10.17. Changes in release 1.17 * include texinfo.tex in the distribution Changes in release 1.16 * sort is compatible with Unix sort when a key-end spec refers to the N'th character in a field that has fewer than N characters * tail with old-style options like -20k and +31m operates on units of bytes, as the --help usage message says. Before, it used units of lines. Changes in release 1.15 * od gives better diagnostics for invalid format specs * uses automake-generated Makefile templates * configure takes a new option: --enable-maintainer-mode * fix a bug in fmt when prefix has trailing white space * internationalized diagnostic messages * fix a couple bugs in tr involving use of -c and/or -d flags -- see ChangeLog * diagnose some improper or questionable invocations of csplit * properly handle `echo |csplit - 1 1', rather than aborting * fix join: without -t it now ignores leading blanks * sort accepts new option: -z for NUL terminated records * join accepts new option: --ignore-case, -i * uniq accepts new option: --ignore-case, -i User-visible changes in release 1.14 * sort -i and sort -d properly order strings containing ignored characters * nl: rename misleading --first-page=N option to --starting-line-number=N. * sort diagnoses invalid arguments to -k, then fails * sort -n properly orders invalid integers with respect to valid integers * sorting works with character offsets larger than corresponding field width * sort's -b option and `b' modifier work * sort -k2,2 works. * csplit detects integer overflow when converting command line arguments * sort accepts new option/flag, -g, for sorting numbers in scientific notation * join accepts POSIX `-o 0' field specifier. * tr 'a[b*512]' '[a*]' < /dev/null terminates * tr '[:*3][:digit:]' 'a-m' and tr 'a[=*2][=c=]' 'xyyz' no longer fail * special characters in tr's string1 and string2 may be escaped with backslash User-visible changes in release 1.13 * md5sum: with --check, distinguish between open/read failure and bad checksum * md5sum: remove -h, -s, -v short options * md5sum: rename --verbose to --warn, --quiet to --status * md5sum --check fails if it finds no properly formatted checksum lines * sort -c prints `disorder on...' message on standard error, not stdout * sort -k works as described in the texinfo documentation * tail works on NetBSD * md5sum reads and writes (de facto) standard Plumb/Lankester format * sort accepts -.1 +.2 options for compatibility * od works properly when dump limit is specified and is a multiple of bytes_per_block (set by --width, 16 by default). User-visible changes in release 1.12 * sort no longer reports spurious errors on Ultrix systems * new program: md5sum * all --help messages have been improved * join's -a1 and -a2 options work * tr '[:upper:]' '[:lower:]' no longer reads uninitialized memory * sort properly handles command line arguments like `+7.2n' * fmt properly formats paragraphs not terminated by a newline * tail -f flushes stdout before sleeping so that it will output partial lines sooner * sort properly orders fields where one field is a proper prefix of the other * sort properly interprets field offsets specified via the -k option * dd, od, and tail work on systems for which off_t is long long (e.g. BSD4.4) * wc is faster when not counting words * wc now works even when file pointer isn't at beginning of file * expand no longer seg faults with very long tab lists User-visible changes in release 1.11 * fmt is built User-visible changes in release 1.10 * skeletal texinfo documentation (mainly just the `invoking' nodes) * new program: fmt * tail -f on multiple files reports file truncation * tail -q has been fixed so it never prints headers * wc -c is much faster when operating on non-regular files * unexpand gives a diagnostic (rather than a segfault) when given a name of a nonexistent file. * cat, csplit, head, split, sum, tac, tail, tr, and wc no longer fail gratuitously when continued after a suspended read or write system call. * cut interprets -d '' to mean `use the NUL byte as the delimiter' rather than reporting that no delimiter was specified and failing. * `echo a:b:c: | cut -d: -f3,4' prints `c:'. Before it printed just `c'. * cut has been rewritten, is markedly faster for large inputs, and passes a fairly large test suite. * sort properly handles the argument to the -T option. Major changes in release 1.9.1: * cut no longer ignores the last line of input when that line lacks a trailing newline character Major changes in release 1.9: * `echo a:b:c: | cut -d: -f3-' prints `c:' and `echo a:b | cut -d: -f1' prints `a'. * the command `printf '\t\n' |fold -w n' now terminates. Before, it wouldn't stop for n less than 8. * sort accepts and ignores -y[string] options for compatibilty with Solaris. * cat -v /dev/null works on more systems * od's --compatible (-C) flag renamed to --traditional (no short option) * --help and --version exit successfully * --help gives a one-line description of each option and shows the correspondence between short and long-named options. * fix bug in cut. Now `echo 'a:b:c:' | cut -d: -f3-' works. Before it printed `c' instead of `c:' * csplit allows repeat counts to be specified via `{*}'. * csplit accepts a new option, --suffix=format that supercedes the --digits option. The --digits option will continue to work. * csplit accepts a new option, --elide-empty-files. * configure uses config.h, so DEFS won't exceed preprocessor limits of some compilers on the number of symbols defined via -D. * work around problem where $(srcdir)/config.h was used instead of ../config.h -- this happened only when building in a subdirectory and when config.h remained in $(srcdir) from a previous ./configure. Major changes in release 1.8: * added non-ANSIfied version of memchr.c from GNU libc. Major changes in release 1.7: * none Major changes in release 1.6: * with the --version option programs print the version and exit immediately * pr -2a really terminates * pr -n produces multi-column output Major changes in release 1.5: * sort is 8-bit clean * sort's -n and -M options no longer imply -b * several bugs in sort have been fixed * all programs accept --help and --version options * od --compatible accepts pre-POSIX arguments * pr -2a terminates Major changes in release 1.4: * add od and cksum programs * move cmp to GNU diff distribution * tail -f works for multiple files * pr prints the file name in error messages * fix some off by 1 errors in pr and fold * optimize wc -c on regular files * sort handles `-' argument correctly * sort supports -T option * tr ranges like a-a work * tr x '' fails gracefully * default sum output format is BSD compatible * paste -d '' works ======================================================================== Copyright (C) 1992-2002, 2006, 2009-2010 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. PK[))READMEnuW+AThese are the GNU core utilities. This package is the union of the GNU fileutils, sh-utils, and textutils packages. Most of these programs have significant advantages over their Unix counterparts, such as greater speed, additional options, and fewer arbitrary limits. The programs that can be built with this package are: [ arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir dircolors dirname du echo env expand expr factor false fmt fold groups head hostid hostname id install join kill link ln logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon runuser seq sha1sum sha224sum sha256sum sha384sum sha512sum shred shuf sleep sort split stat stdbuf stty su sum sync tac tail tee test timeout touch tr true truncate tsort tty uname unexpand uniq unlink uptime users vdir wc who whoami yes See the file NEWS for a list of major changes in the current release. If you obtained this file as part of a "git clone", then see the README-hacking file. If this file came to you as part of a tar archive, then see the file INSTALL for compilation and installation instructions. These programs are intended to conform to POSIX (with BSD and other extensions), like the rest of the GNU system. By default they conform to older POSIX (1003.2-1992), and therefore support obsolete usages like "head -10" and "chown owner.group file". This default is overridden at build-time by the value of 's _POSIX2_VERSION macro, and this in turn can be overridden at runtime as described in the documentation under "Standards conformance". The ls, dir, and vdir commands are all separate executables instead of one program that checks argv[0] because people often rename these programs to things like gls, gnuls, l, etc. Renaming a program file shouldn't affect how it operates, so that people can get the behavior they want with whatever name they want. Special thanks to Paul Eggert, Brian Matthews, Bruce Evans, Karl Berry, Kaveh Ghazi, and François Pinard for help with debugging and porting these programs. Many thanks to all of the people who have taken the time to submit problem reports and fixes. All contributed changes are attributed in the commit logs. And thanks to the following people who have provided accounts for portability testing on many different types of systems: Bob Proulx, Christian Robert, François Pinard, Greg McGary, Harlan Stenn, Joel N. Weber, Mark D. Roth, Matt Schalit, Nelson H. F. Beebe, Réjean Payette, Sam Tardieu. Thanks to Michael Stone for inflicting test releases of this package on Debian's unstable distribution, and to all the kind folks who used that distribution and found and reported bugs. Note that each man page is now automatically generated from a template and from the corresponding --help usage message. Patches to the template files (man/*.x) are welcome. However, the authoritative documentation is in texinfo form in the doc directory. ***************************************** On Mac OS X 10.5.1 (Darwin 9.1), test failure ----------------------------------------- Mac OS X 10.5.1 (Darwin 9.1) provides only partial (and incompatible) ACL support, so although "./configure && make" succeeds, "make check" exposes numerous failures. The solution is to turn off ACL support manually via "./configure --disable-acl". For details, see . ***************************************** Test failure with NLS and gettext <= 0.17 ----------------------------------------- Due to a conflict between libintl.h and gnulib's new xprintf module, when you configure with NLS support, and with a gettext installation older than 0.17.1 (not yet released, at the time of this writing), then some tests fail, at least on NetBSD 1.6. To work around it in the mean time, you can configure with --disable-nls. For details, see . *********************** Pre-C99 build failure ----------------------- There is a new, implicit build requirement: To build the coreutils from source, you should have a C99-conforming compiler, due to the use of declarations after non-declaration statements in several files in src/. There is code in configure to find and, if possible, enable an appropriate compiler. However, if configure doesn't find a C99 compiler, it continues nonetheless, and your build will fail. If that happens, simply[*] apply the included patch using the following command, and then run make again: cd src && patch < c99-to-c89.diff [*] however, as of coreutils-7.1, the "c99-to-c89.diff" file is no longer maintained, so even if the patches still apply, the result will be an incomplete conversion. It's been 10 years. Get a decent compiler! ;-) *********************** HPUX 11.x build failure ----------------------- A known problem exists when compiling on HPUX on both hppa and ia64 in 64-bit mode (i.e. +DD64) on HP-UX 11.0, 11.11, and 11.23. This is not due to a bug in the package but instead due to a bug in the system header file which breaks things in 64-bit mode. The default compilation mode is 32-bit and the software compiles fine using the default mode. To build this software in 64-bit mode you will need to fix the system /usr/include/inttypes.h header file. After correcting that file the software also compiles fine in 64-bit mode. Here is one possible patch to correct the problem: --- /usr/include/inttypes.h.orig Thu May 30 01:00:00 1996 +++ /usr/include/inttypes.h Sun Mar 23 00:20:36 2003 @@ -489 +489 @@ -#ifndef __STDC_32_MODE__ +#ifndef __LP64__ ************************ OSF/1 4.0d build failure ------------------------ If you use /usr/bin/make on an OSF/1 4.0d system, it will fail due to the presence of the "[" target. That version of make appears to treat "[" as some syntax relating to locks. To work around that, the best solution is to use GNU make. Otherwise, simply remove all mention of "[$(EXEEXT)" from src/Makefile. ********************** Running tests as root: ---------------------- If you run the tests as root, note that a few of them create files and/or run programs as a non-root user, `nobody' by default. If you want to use some other non-root username, specify it via the NON_ROOT_USERNAME environment variable. Depending on the permissions with which the working directories have been created, using `nobody' may fail, because that user won't have the required read and write access to the build and test directories. I find that it is best to unpack and build as a non-privileged user, and then to run the following command as that user in order to run the privilege-requiring tests: sudo env PATH="$PATH" NON_ROOT_USERNAME=$USER make -k check-root If you can run the tests as root, please do so and report any problems. We get much less test coverage in that mode, and it's arguably more important that these tools work well when run by root than when run by less privileged users. *************** Reporting bugs: --------------- IMPORTANT: if you take the time to report a test failure, please be sure to include the output of running `make check' in verbose mode for each failing test. For example, if the test that fails is tests/misc/df, then you would run this command: (cd tests && make check TESTS=misc/df VERBOSE=yes) >> log 2>&1 For some tests, you can get even more detail by adding DEBUG=yes. Then include the contents of the file `log' in your bug report. Send bug reports, questions, comments, etc. to bug-coreutils@gnu.org. If you would like to suggest a patch, see the files README-hacking and HACKING for tips. *************************************** There are many tests, but nowhere near as many as we need. Additions and corrections are very welcome. If you see a problem that you've already reported, feel free to re-report it -- it won't bother me to get a reminder. Besides, the more messages I get regarding a particular problem the sooner it'll be fixed -- usually. If you sent a complete patch and, after a couple weeks you haven't received any acknowledgement, please ping us. A complete patch includes a well-written ChangeLog entry, unified (diff -u format) diffs relative to the most recent test release (or, better, relative to the latest sources in the public repository), an explanation for why the patch is necessary or useful, and if at all possible, enough information to reproduce whatever problem prompted it. Plus, you'll earn lots of karma if you include a test case to exercise any bug(s) you fix. Here are instructions for checking out the latest development sources: http://savannah.gnu.org/git/?group=coreutils If your patch adds a new feature, please try to get some sort of consensus that it is a worthwhile change. One way to do that is to send mail to bug-coreutils@gnu.org including as much description and justification as you can. Based on the feedback that generates, you may be able to convince us that it's worth adding. WARNING: Now that we use the ./bootstrap script, you should not run autoreconf manually. Doing that will overwrite essential source files with older versions, which may make the package unbuildable or introduce subtle bugs. WARNING: If you modify files like configure.in, m4/*.m4, aclocal.m4, or any Makefile.am, then don't be surprised if what gets regenerated no longer works. To make things work, you'll have to be using appropriate versions of the tools listed in bootstrap.conf's buildreq string. All of these programs except `test' recognize the `--version' option. When reporting bugs, please include in the subject line both the package name/version and the name of the program for which you found a problem. For general documentation on the coding and usage standards this distribution follows, see the GNU Coding Standards, http://www.gnu.org/prep/standards_toc.html. Mail suggestions and bug reports for these programs to the address on the last line of --help output. ======================================================================== Copyright (C) 1998, 2002-2010 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. PK[8aaNEWSnuW+AGNU coreutils NEWS -*- outline -*- * Noteworthy changes in release 8.4 (2010-01-13) [stable] ** Bug fixes nproc --all is now guaranteed to be as large as the count of available processors, which may not have been the case on GNU/Linux systems with neither /proc nor /sys available. [bug introduced in coreutils-8.1] ** Build-related Work around a build failure when using buggy . Alternatively, configure with --disable-libcap. Compilation would fail on systems using glibc-2.7..2.9 due to changes in gnulib's wchar.h that tickled a bug in at least those versions of glibc's own header. Now, gnulib works around the bug in those older glibc headers. Building would fail with a link error (cp/copy.o) when XATTR headers were installed without the corresponding library. Now, configure detects that and disables xattr support, as one would expect. * Noteworthy changes in release 8.3 (2010-01-07) [stable] ** Bug fixes cp -p, install -p, mv, and touch -c could trigger a spurious error message when using new glibc coupled with an old kernel. [bug introduced in coreutils-6.12]. ls -l --color no longer prints "argetm" in front of dangling symlinks when the 'LINK target' directive was given to dircolors. [bug introduced in fileutils-4.0] pr's page header was improperly formatted for long file names. [bug introduced in coreutils-7.2] rm -r --one-file-system works once again. The rewrite to make rm use fts introduced a regression whereby a commmand of the above form would fail for all subdirectories. [bug introduced in coreutils-8.0] stat -f recognizes more file system types: k-afs, fuseblk, gfs/gfs2, ocfs2, and rpc_pipefs. Also Minix V3 is displayed correctly as minix3, not minux3. [bug introduced in coreutils-8.1] tail -f (inotify-enabled) once again works with remote files. The use of inotify with remote files meant that any changes to those files that was not done from the local system would go unnoticed. [bug introduced in coreutils-7.5] tail -F (inotify-enabled) would abort when a tailed file is repeatedly renamed-aside and then recreated. [bug introduced in coreutils-7.5] tail -F (inotify-enabled) could fail to follow renamed files. E.g., given a "tail -F a b" process, running "mv a b" would make tail stop tracking additions to "b". [bug introduced in coreutils-7.5] touch -a and touch -m could trigger bugs in some file systems, such as xfs or ntfs-3g, and fail to update timestamps. [bug introduced in coreutils-8.1] wc now prints counts atomically so that concurrent processes will not intersperse their output. [the issue dates back to the initial implementation] * Noteworthy changes in release 8.2 (2009-12-11) [stable] ** Bug fixes id's use of mgetgroups no longer writes beyond the end of a malloc'd buffer [bug introduced in coreutils-8.1] id no longer crashes on systems without supplementary group support. [bug introduced in coreutils-8.1] rm once again handles zero-length arguments properly. The rewrite to make rm use fts introduced a regression whereby a command like "rm a '' b" would fail to remove "a" and "b", due to the presence of the empty string argument. [bug introduced in coreutils-8.0] sort is now immune to the signal handling of its parent. Specifically sort now doesn't exit with an error message if it uses helper processes for compression and its parent ignores CHLD signals. [bug introduced in coreutils-6.9] tail without -f no longer access uninitialized memory [bug introduced in coreutils-7.6] timeout is now immune to the signal handling of its parent. Specifically timeout now doesn't exit with an error message if its parent ignores CHLD signals. [bug introduced in coreutils-7.6] a user running "make distcheck" in the coreutils source directory, with TMPDIR unset or set to the name of a world-writable directory, and with a malicious user on the same system was vulnerable to arbitrary code execution [bug introduced in coreutils-5.0] * Noteworthy changes in release 8.1 (2009-11-18) [stable] ** Bug fixes chcon no longer exits immediately just because SELinux is disabled. Even then, chcon may still be useful. [bug introduced in coreutils-8.0] chcon, chgrp, chmod, chown and du now diagnose an ostensible directory cycle and arrange to exit nonzero. Before, they would silently ignore the offending directory and all "contents." env -u A=B now fails, rather than silently adding A to the environment. Likewise, printenv A=B silently ignores the invalid name. [the bugs date back to the initial implementation] ls --color now handles files with capabilities correctly. Previously files with capabilities were often not colored, and also sometimes, files without capabilites were colored in error. [bug introduced in coreutils-7.0] md5sum now prints checksums atomically so that concurrent processes will not intersperse their output. This also affected sum, sha1sum, sha224sum, sha384sum and sha512sum. [the bug dates back to the initial implementation] mktemp no longer leaves a temporary file behind if it was unable to output the name of the file to stdout. [the bug dates back to the initial implementation] nice -n -1 PROGRAM now runs PROGRAM even when its internal setpriority call fails with errno == EACCES. [the bug dates back to the initial implementation] nice, nohup, and su now refuse to execute the subsidiary program if they detect write failure in printing an otherwise non-fatal warning message to stderr. stat -f recognizes more file system types: afs, cifs, anon-inode FS, btrfs, cgroupfs, cramfs-wend, debugfs, futexfs, hfs, inotifyfs, minux3, nilfs, securityfs, selinux, xenfs tail -f (inotify-enabled) now avoids a race condition. Before, any data appended in the tiny interval between the initial read-to-EOF and the inotify watch initialization would be ignored initially (until more data was appended), or forever, if the file were first renamed or unlinked or never modified. [The race was introduced in coreutils-7.5] tail -F (inotify-enabled) now consistently tails a file that has been replaced via renaming. That operation provokes either of two sequences of inotify events. The less common sequence is now handled as well. [The bug came with the implementation change in coreutils-7.5] timeout now doesn't exit unless the command it is monitoring does, for any specified signal. [bug introduced in coreutils-7.0]. ** Changes in behavior chroot, env, nice, and su fail with status 125, rather than 1, on internal error such as failure to parse command line arguments; this is for consistency with stdbuf and timeout, and avoids ambiguity with the invoked command failing with status 1. Likewise, nohup fails with status 125 instead of 127. du (due to a change in gnulib's fts) can now traverse NFSv4 automounted directories in which the stat'd device number of the mount point differs during a traversal. Before, it would fail, because such a mismatch would usually represent a serious error or a subversion attempt. echo and printf now interpret \e as the Escape character (0x1B). rm -f /read-only-fs/nonexistent now succeeds and prints no diagnostic on systems with an unlinkat syscall that sets errno to EROFS in that case. Before, it would fail with a "Read-only file system" diagnostic. Also, "rm /read-only-fs/nonexistent" now reports "file not found" rather than the less precise "Read-only file system" error. ** New programs nproc: Print the number of processing units available to a process. ** New features env and printenv now accept the option --null (-0), as a means to avoid ambiguity with newlines embedded in the environment. md5sum --check now also accepts openssl-style checksums. So do sha1sum, sha224sum, sha384sum and sha512sum. mktemp now accepts the option --suffix to provide a known suffix after the substitution in the template. Additionally, uses such as "mktemp fileXXXXXX.txt" are able to infer an appropriate --suffix. touch now accepts the option --no-dereference (-h), as a means to change symlink timestamps on platforms with enough support. * Noteworthy changes in release 8.0 (2009-10-06) [beta] ** Bug fixes cp --preserve=xattr and --archive now preserve extended attributes even when the source file doesn't have write access. [bug introduced in coreutils-7.1] touch -t [[CC]YY]MMDDhhmm[.ss] now accepts a timestamp string ending in .60, to accommodate leap seconds. [the bug dates back to the initial implementation] ls --color now reverts to the color of a base file type consistently when the color of a more specific type is disabled. [bug introduced in coreutils-5.90] ls -LR exits with status 2, not 0, when it encounters a cycle ls -is is now consistent with ls -lis in ignoring values returned from a failed stat/lstat. For example ls -Lis now prints "?", not "0", for the inode number and allocated size of a dereferenced dangling symlink. tail --follow --pid now avoids a race condition where data written just before the process dies might not have been output by tail. Also, tail no longer delays at all when the specified pid is not live. [The race was introduced in coreutils-7.5, and the unnecessary delay was present since textutils-1.22o] ** Portability On Solaris 9, many commands would mistakenly treat file/ the same as file. Now, even on such a system, path resolution obeys the POSIX rules that a trailing slash ensures that the preceeding name is a directory or a symlink to a directory. ** Changes in behavior id no longer prints SELinux " context=..." when the POSIXLY_CORRECT environment variable is set. readlink -f now ignores a trailing slash when deciding if the last component (possibly via a dangling symlink) can be created, since mkdir will succeed in that case. ** New features ln now accepts the options --logical (-L) and --physical (-P), added by POSIX 2008. The default behavior is -P on systems like GNU/Linux where link(2) creates hard links to symlinks, and -L on BSD systems where link(2) follows symlinks. stat: without -f, a command-line argument of "-" now means standard input. With --file-system (-f), an argument of "-" is now rejected. If you really must operate on a file named "-", specify it as "./-" or use "--" to separate options from arguments. ** Improvements rm: rewrite to use gnulib's fts This makes rm -rf significantly faster (400-500%) in some pathological cases, and slightly slower (20%) in at least one pathological case. rm -r deletes deep hierarchies more efficiently. Before, execution time was quadratic in the depth of the hierarchy, now it is merely linear. However, this improvement is not as pronounced as might be expected for very deep trees, because prior to this change, for any relative name length longer than 8KiB, rm -r would sacrifice official conformance to avoid the disproportionate quadratic performance penalty. Leading to another improvement: rm -r is now slightly more standards-conformant when operating on write-protected files with relative names longer than 8KiB. * Noteworthy changes in release 7.6 (2009-09-11) [stable] ** Bug fixes cp, mv now ignore failure to preserve a symlink time stamp, when it is due to their running on a kernel older than what was implied by headers and libraries tested at configure time. [bug introduced in coreutils-7.5] cp --reflink --preserve now preserves attributes when cloning a file. [bug introduced in coreutils-7.5] cp --preserve=xattr no longer leaks resources on each preservation failure. [bug introduced in coreutils-7.1] dd now exits with non-zero status when it encounters a write error while printing a summary to stderr. [bug introduced in coreutils-6.11] dd cbs=N conv=unblock would fail to print a final newline when the size of the input was not a multiple of N bytes. [the non-conforming behavior dates back to the initial implementation] df no longer requires that each command-line argument be readable [bug introduced in coreutils-7.3] ls -i now prints consistent inode numbers also for mount points. This makes ls -i DIR less efficient on systems with dysfunctional readdir, because ls must stat every file in order to obtain a guaranteed-valid inode number. [bug introduced in coreutils-6.0] tail -f (inotify-enabled) now flushes any initial output before blocking. Before, this would print nothing and wait: stdbuf -o 4K tail -f /etc/passwd Note that this bug affects tail -f only when its standard output is buffered, which is relatively unusual. [bug introduced in coreutils-7.5] tail -f once again works with standard input. inotify-enabled tail -f would fail when operating on a nameless stdin. I.e., tail -f < /etc/passwd would say "tail: cannot watch `-': No such file or directory", yet the relatively baroque tail -f /dev/stdin < /etc/passwd would work. Now, the offending usage causes tail to revert to its conventional sleep-based (i.e., not inotify-based) implementation. [bug introduced in coreutils-7.5] ** Portability ln, link: link f z/ would mistakenly succeed on Solaris 10, given an existing file, f, and nothing named "z". ln -T f z/ has the same problem. Each would mistakenly create "z" as a link to "f". Now, even on such a system, each command reports the error, e.g., link: cannot create link `z/' to `f': Not a directory ** New features cp --reflink accepts a new "auto" parameter which falls back to a standard copy if creating a copy-on-write clone is not possible. ** Changes in behavior tail -f now ignores "-" when stdin is a pipe or FIFO. tail-with-no-args now ignores -f unconditionally when stdin is a pipe or FIFO. Before, it would ignore -f only when no file argument was specified, and then only when POSIXLY_CORRECT was set. Now, :|tail -f - terminates immediately. Before, it would block indefinitely. * Noteworthy changes in release 7.5 (2009-08-20) [stable] ** Bug fixes dd's oflag=direct option now works even when the size of the input is not a multiple of e.g., 512 bytes. dd now handles signals consistently even when they're received before data copying has started. install runs faster again with SELinux enabled [introduced in coreutils-7.0] ls -1U (with two or more arguments, at least one a nonempty directory) would print entry names *before* the name of the containing directory. Also fixed incorrect output of ls -1RU and ls -1sU. [introduced in coreutils-7.0] sort now correctly ignores fields whose ending position is specified before the start position. Previously in numeric mode the remaining part of the line after the start position was used as the sort key. [This bug appears to have been present in "the beginning".] truncate -s failed to skip all whitespace in the option argument in some locales. ** New programs stdbuf: A new program to run a command with modified stdio buffering for its standard streams. ** Changes in behavior ls --color: files with multiple hard links are no longer colored differently by default. That can be enabled by changing the LS_COLORS environment variable. You can control that using the MULTIHARDLINK dircolors input variable which corresponds to the 'mh' LS_COLORS item. Note these variables were renamed from 'HARDLINK' and 'hl' which were available since coreutils-7.1 when this feature was introduced. ** Deprecated options nl --page-increment: deprecated in favor of --line-increment, the new option maintains the previous semantics and the same short option, -i. ** New features chroot now accepts the options --userspec and --groups. cp accepts a new option, --reflink: create a lightweight copy using copy-on-write (COW). This is currently only supported within a btrfs file system. cp now preserves time stamps on symbolic links, when possible sort accepts a new option, --human-numeric-sort (-h): sort numbers while honoring human readable suffixes like KiB and MB etc. tail --follow now uses inotify when possible, to be more responsive to file changes and more efficient when monitoring many files. * Noteworthy changes in release 7.4 (2009-05-07) [stable] ** Bug fixes date -d 'next mon', when run on a Monday, now prints the date 7 days in the future rather than the current day. Same for any other day-of-the-week name, when run on that same day of the week. [This bug appears to have been present in "the beginning". ] date -d tuesday, when run on a Tuesday -- using date built from the 7.3 release tarball, not from git -- would print the date 7 days in the future. Now, it works properly and prints the current date. That was due to human error (including not-committed changes in a release tarball) and the fact that there is no check to detect when the gnulib/ git submodule is dirty. ** Build-related make check: two tests have been corrected ** Portability There have been some ACL-related portability fixes for *BSD, inherited from gnulib. * Noteworthy changes in release 7.3 (2009-05-01) [stable] ** Bug fixes cp now diagnoses failure to preserve selinux/xattr attributes when --preserve=context,xattr is specified in combination with -a. Also, cp no longer suppresses attribute-preservation diagnostics when preserving SELinux context was explicitly requested. ls now aligns output correctly in the presence of abbreviated month names from the locale database that have differing widths. ls -v and sort -V now order names like "#.b#" properly mv: do not print diagnostics when failing to preserve xattr's on file systems without xattr support. sort -m no longer segfaults when its output file is also an input file. E.g., with this, touch 1; sort -m -o 1 1, sort would segfault. [introduced in coreutils-7.2] ** Changes in behavior shred, sort, shuf: now use an internal pseudorandom generator by default. This is mainly noticable in shred where the 3 random passes it does by default should proceed at the speed of the disk. Previously /dev/urandom was used if available, which is relatively slow on GNU/Linux systems. ** Improved robustness cp would exit successfully after copying less than the full contents of a file larger than ~4000 bytes from a linux-/proc file system to a destination file system with a fundamental block size of 4KiB or greater. Reading into a 4KiB-or-larger buffer, cp's "read" syscall would return a value smaller than 4096, and cp would interpret that as EOF (POSIX allows this). This optimization, now removed, saved 50% of cp's read syscalls when copying small files. Affected linux kernels: at least 2.6.9 through 2.6.29. [the optimization was introduced in coreutils-6.0] ** Portability df now pre-mounts automountable directories even with automounters for which stat-like syscalls no longer provoke mounting. Now, df uses open. `id -G $USER` now works correctly even on Darwin and NetBSD. Previously it would either truncate the group list to 10, or go into an infinite loop, due to their non-standard getgrouplist implementations. [truncation introduced in coreutils-6.11] [infinite loop introduced in coreutils-7.1] * Noteworthy changes in release 7.2 (2009-03-31) [stable] ** New features pwd now accepts the options --logical (-L) and --physical (-P). For compatibility with existing scripts, -P is the default behavior unless POSIXLY_CORRECT is requested. ** Bug fixes cat once again immediately outputs data it has processed. Previously it would have been buffered and only output if enough data was read, or on process exit. [bug introduced in coreutils-6.0] comm's new --check-order option would fail to detect disorder on any pair of lines where one was a prefix of the other. For example, this would fail to report the disorder: printf 'Xb\nX\n'>k; comm --check-order k k [bug introduced in coreutils-7.0] cp once again diagnoses the invalid "cp -rl dir dir" right away, rather than after creating a very deep dir/dir/dir/... hierarchy. The bug strikes only with both --recursive (-r, -R) and --link (-l). [bug introduced in coreutils-7.1] ls --sort=version (-v) sorted names beginning with "." inconsistently. Now, names that start with "." are always listed before those that don't. pr: fix the bug whereby --indent=N (-o) did not indent header lines [bug introduced in coreutils-6.9.90] sort now handles specified key ends correctly. Previously -k1,1b would have caused leading space from field 2 to be included in the sort while -k2,3.0 would have not included field 3. ** Changes in behavior cat,cp,install,mv,split: these programs now read and write a minimum of 32KiB at a time. This was seen to double throughput when reading cached files on GNU/Linux-based systems. cp -a now tries to preserve extended attributes (xattr), but does not diagnose xattr-preservation failure. However, cp --preserve=all still does. ls --color: hard link highlighting can be now disabled by changing the LS_COLORS environment variable. To disable it you can add something like this to your profile: eval `dircolors | sed s/hl=[^:]*:/hl=:/` * Noteworthy changes in release 7.1 (2009-02-21) [stable] ** New features Add extended attribute support available on certain filesystems like ext2 and XFS. cp: Tries to copy xattrs when --preserve=xattr or --preserve=all specified mv: Always tries to copy xattrs install: Never copies xattrs cp and mv accept a new option, --no-clobber (-n): silently refrain from overwriting any existing destination file dd accepts iflag=cio and oflag=cio to open the file in CIO (concurrent I/O) mode where this feature is available. install accepts a new option, --compare (-C): compare each pair of source and destination files, and if the destination has identical content and any specified owner, group, permissions, and possibly SELinux context, then do not modify the destination at all. ls --color now highlights hard linked files, too stat -f recognizes the Lustre file system type ** Bug fixes chgrp, chmod, chown --silent (--quiet, -f) no longer print some diagnostics [bug introduced in coreutils-5.1] cp uses much less memory in some situations cp -a now correctly tries to preserve SELinux context (announced in 6.9.90), doesn't inform about failure, unlike with --preserve=all du --files0-from=FILE no longer reads all of FILE into RAM before processing the first file name seq 9223372036854775807 9223372036854775808 now prints only two numbers on systems with extended long double support and good library support. Even with this patch, on some systems, it still produces invalid output, from 3 to at least 1026 lines long. [bug introduced in coreutils-6.11] seq -w now accounts for a decimal point added to the last number to correctly print all numbers to the same width. wc --files0-from=FILE no longer reads all of FILE into RAM, before processing the first file name, unless the list of names is known to be small enough. ** Changes in behavior cp and mv: the --reply={yes,no,query} option has been removed. Using it has elicited a warning for the last three years. dd: user specified offsets that are too big are handled better. Previously, erroneous parameters to skip and seek could result in redundant reading of the file with no warnings or errors. du: -H (initially equivalent to --si) is now equivalent to --dereference-args, and thus works as POSIX requires shred: now does 3 overwrite passes by default rather than 25. ls -l now marks SELinux-only files with the less obtrusive '.', rather than '+'. A file with any other combination of MAC and ACL is still marked with a '+'. * Noteworthy changes in release 7.0 (2008-10-05) [beta] ** New programs timeout: Run a command with bounded time. truncate: Set the size of a file to a specified size. ** New features chgrp, chmod, chown, chcon, du, rm: now all display linear performance, even when operating on million-entry directories on ext3 and ext4 file systems. Before, they would exhibit O(N^2) performance, due to linear per-entry seek time cost when operating on entries in readdir order. Rm was improved directly, while the others inherit the improvement from the newer version of fts in gnulib. comm now verifies that the inputs are in sorted order. This check can be turned off with the --nocheck-order option. comm accepts new option, --output-delimiter=STR, that allows specification of an output delimiter other than the default single TAB. cp and mv: the deprecated --reply=X option is now also undocumented. dd accepts iflag=fullblock to make it accumulate full input blocks. With this new option, after a short read, dd repeatedly calls read, until it fills the incomplete block, reaches EOF, or encounters an error. df accepts a new option --total, which produces a grand total of all arguments after all arguments have been processed. If the GNU MP library is available at configure time, factor and expr support arbitrarily large numbers. Pollard's rho algorithm is used to factor large numbers. install accepts a new option --strip-program to specify the program used to strip binaries. ls now colorizes files with capabilities if libcap is available ls -v now uses filevercmp function as sort predicate (instead of strverscmp) md5sum now accepts the new option, --quiet, to suppress the printing of 'OK' messages. sha1sum, sha224sum, sha384sum, and sha512sum accept it, too. sort accepts a new option, --files0-from=F, that specifies a file containing a null-separated list of files to sort. This list is used instead of filenames passed on the command-line to avoid problems with maximum command-line (argv) length. sort accepts a new option --batch-size=NMERGE, where NMERGE represents the maximum number of inputs that will be merged at once. When processing more than NMERGE inputs, sort uses temporary files. sort accepts a new option --version-sort (-V, --sort=version), specifying that ordering is to be based on filevercmp. ** Bug fixes chcon --verbose now prints a newline after each message od no longer suffers from platform bugs in printf(3). This is probably most noticeable when using 'od -tfL' to print long doubles. seq -0.1 0.1 2 now prints 2,0 when locale's decimal point is ",". Before, it would mistakenly omit the final number in that example. shuf honors the --zero-terminated (-z) option, even with --input-range=LO-HI shuf --head-count is now correctly documented. The documentation previously claimed it was called --head-lines. ** Improvements Improved support for access control lists (ACLs): On MacOS X, Solaris 7..10, HP-UX 11, Tru64, AIX, IRIX 6.5, and Cygwin, "ls -l" now displays the presence of an ACL on a file via a '+' sign after the mode, and "cp -p" copies ACLs. join has significantly better performance due to better memory management ls now uses constant memory when not sorting and using one_per_line format, no matter how many files are in a given directory od now aligns fields across lines when printing multiple -t specifiers, and no longer prints fields that resulted entirely from padding the input out to the least common multiple width. ** Changes in behavior stat's --context (-Z) option has always been a no-op. Now it evokes a warning that it is obsolete and will be removed. * Noteworthy changes in release 6.12 (2008-05-31) [stable] ** Bug fixes chcon, runcon: --help output now includes the bug-reporting address cp -p copies permissions more portably. For example, on MacOS X 10.5, "cp -p some-fifo some-file" no longer fails while trying to copy the permissions from the some-fifo argument. id with no options now prints the SELinux context only when invoked with no USERNAME argument. id and groups once again print the AFS-specific nameless group-ID (PAG). Printing of such large-numbered, kernel-only (not in /etc/group) group-IDs was suppressed in 6.11 due to ignorance that they are useful. uniq: avoid subtle field-skipping malfunction due to isblank misuse. In some locales on some systems, isblank(240) (aka  ) is nonzero. On such systems, uniq --skip-fields=N would fail to skip the proper number of fields for some inputs. tac: avoid segfault with --regex (-r) and multiple files, e.g., "echo > x; tac -r x x". [bug present at least in textutils-1.8b, from 1992] ** Changes in behavior install once again sets SELinux context, when possible [it was deliberately disabled in 6.9.90] * Noteworthy changes in release 6.11 (2008-04-19) [stable] ** Bug fixes configure --enable-no-install-program=groups now works. "cp -fR fifo E" now succeeds with an existing E. Before this fix, using -fR to copy a fifo or "special" file onto an existing file would fail with EEXIST. Now, it once again unlinks the destination before trying to create the destination file. [bug introduced in coreutils-5.90] dd once again works with unnecessary options like if=/dev/stdin and of=/dev/stdout. [bug introduced in fileutils-4.0h] id now uses getgrouplist, when possible. This results in much better performance when there are many users and/or groups. ls no longer segfaults on files in /proc when linked with an older version of libselinux. E.g., ls -l /proc/sys would dereference a NULL pointer. md5sum would segfault for invalid BSD-style input, e.g., echo 'MD5 (' | md5sum -c - Now, md5sum ignores that line. sha1sum, sha224sum, sha384sum, and sha512sum are affected, too. [bug introduced in coreutils-5.1.0] md5sum -c would accept a NUL-containing checksum string like "abcd\0..." and would unnecessarily read and compute the checksum of the named file, and then compare that checksum to the invalid one: guaranteed to fail. Now, it recognizes that the line is not valid and skips it. sha1sum, sha224sum, sha384sum, and sha512sum are affected, too. [bug present in the original version, in coreutils-4.5.1, 1995] "mkdir -Z x dir" no longer segfaults when diagnosing invalid context "x" mkfifo and mknod would fail similarly. Now they're fixed. mv would mistakenly unlink a destination file before calling rename, when the destination had two or more hard links. It no longer does that. [bug introduced in coreutils-5.3.0] "paste -d'\' file" no longer overruns memory (heap since coreutils-5.1.2, stack before then) [bug present in the original version, in 1992] "pr -e" with a mix of backspaces and TABs no longer corrupts the heap [bug present in the original version, in 1992] "ptx -F'\' long-file-name" would overrun a malloc'd buffer and corrupt the heap. That was triggered by a lone backslash (or odd number of them) at the end of the option argument to --flag-truncation=STRING (-F), --word-regexp=REGEXP (-W), or --sentence-regexp=REGEXP (-S). "rm -r DIR" would mistakenly declare to be "write protected" -- and prompt about -- full DIR-relative names longer than MIN (PATH_MAX, 8192). "rmdir --ignore-fail-on-non-empty" detects and ignores the failure in more cases when a directory is empty. "seq -f % 1" would issue the erroneous diagnostic "seq: memory exhausted" rather than reporting the invalid string format. [bug introduced in coreutils-6.0] ** New features join now verifies that the inputs are in sorted order. This check can be turned off with the --nocheck-order option. sort accepts the new option --sort=WORD, where WORD can be one of general-numeric, month, numeric or random. These are equivalent to the options --general-numeric-sort/-g, --month-sort/-M, --numeric-sort/-n and --random-sort/-R, resp. ** Improvements id and groups work around an AFS-related bug whereby those programs would print an invalid group number, when given no user-name argument. ls --color no longer outputs unnecessary escape sequences seq gives better diagnostics for invalid formats. ** Portability rm now works properly even on systems like BeOS and Haiku, which have negative errno values. ** Consistency install, mkdir, rmdir and split now write --verbose output to stdout, not to stderr. * Noteworthy changes in release 6.10 (2008-01-22) [stable] ** Bug fixes Fix a non-portable use of sed in configure.ac. [bug introduced in coreutils-6.9.92] * Noteworthy changes in release 6.9.92 (2008-01-12) [beta] ** Bug fixes cp --parents no longer uses uninitialized memory when restoring the permissions of a just-created destination directory. [bug introduced in coreutils-6.9.90] tr's case conversion would fail in a locale with differing numbers of lower case and upper case characters. E.g., this would fail: env LC_CTYPE=en_US.ISO-8859-1 tr '[:upper:]' '[:lower:]' [bug introduced in coreutils-6.9.90] ** Improvements "touch -d now writable-but-owned-by-someone-else" now succeeds whenever that same command would succeed without "-d now". Before, it would work fine with no -d option, yet it would fail with the ostensibly-equivalent "-d now". * Noteworthy changes in release 6.9.91 (2007-12-15) [beta] ** Bug fixes "ls -l" would not output "+" on SELinux hosts unless -Z was also given. "rm" would fail to unlink a non-directory when run in an environment in which the user running rm is capable of unlinking a directory. [bug introduced in coreutils-6.9] * Noteworthy changes in release 6.9.90 (2007-12-01) [beta] ** New programs arch: equivalent to uname -m, not installed by default But don't install this program on Solaris systems. chcon: change the SELinux security context of a file mktemp: create a temporary file or directory (or names) runcon: run a program in a different SELinux security context ** Programs no longer installed by default hostname, su ** Changes in behavior cp, by default, refuses to copy through a dangling destination symlink Set POSIXLY_CORRECT if you require the old, risk-prone behavior. pr -F no longer suppresses the footer or the first two blank lines in the header. This is for compatibility with BSD and POSIX. tr now warns about an unescaped backslash at end of string. The tr from coreutils-5.2.1 and earlier would fail for such usage, and Solaris' tr ignores that final byte. ** New features Add SELinux support, based on the patch from Fedora: * cp accepts new --preserve=context option. * "cp -a" works with SELinux: Now, cp -a attempts to preserve context, but failure to do so does not change cp's exit status. However "cp --preserve=context" is similar, but failure *does* cause cp to exit with nonzero status. * install accepts new "-Z, --context=C" option. * id accepts new "-Z" option. * stat honors the new %C format directive: SELinux security context string * ls accepts a slightly modified -Z option. * ls: contrary to Fedora version, does not accept --lcontext and --scontext The following commands and options now support the standard size suffixes kB, M, MB, G, GB, and so on for T, P, Y, Z, and Y: head -c, head -n, od -j, od -N, od -S, split -b, split -C, tail -c, tail -n. cp -p tries to preserve the GID of a file even if preserving the UID is not possible. uniq accepts a new option: --zero-terminated (-z). As with the sort option of the same name, this makes uniq consume and produce NUL-terminated lines rather than newline-terminated lines. wc no longer warns about character decoding errors in multibyte locales. This means for example that "wc /bin/sh" now produces normal output (though the word count will have no real meaning) rather than many error messages. ** New build options By default, "make install" no longer attempts to install (or even build) su. To change that, use ./configure --enable-install-program=su. If you also want to install the new "arch" program, do this: ./configure --enable-install-program=arch,su. You can inhibit the compilation and installation of selected programs at configure time. For example, to avoid installing "hostname" and "uptime", use ./configure --enable-no-install-program=hostname,uptime Note: currently, "make check" passes, even when arch and su are not built (that's the new default). However, if you inhibit the building and installation of other programs, don't be surprised if some parts of "make check" fail. ** Remove deprecated options df no longer accepts the --kilobytes option. du no longer accepts the --kilobytes or --megabytes options. ls no longer accepts the --kilobytes option. ptx longer accepts the --copyright option. who no longer accepts -i or --idle. ** Improved robustness ln -f can no longer silently clobber a just-created hard link. In some cases, ln could be seen as being responsible for data loss. For example, given directories a, b, c, and files a/f and b/f, we should be able to do this safely: ln -f a/f b/f c && rm -f a/f b/f However, before this change, ln would succeed, and thus cause the loss of the contents of a/f. stty no longer silently accepts certain invalid hex values in its 35-colon command-line argument ** Bug fixes chmod no longer ignores a dangling symlink. Now, chmod fails with a diagnostic saying that it cannot operate on such a file. [bug introduced in coreutils-5.1.0] cp attempts to read a regular file, even if stat says it is empty. Before, "cp /proc/cpuinfo c" would create an empty file when the kernel reports stat.st_size == 0, while "cat /proc/cpuinfo > c" would "work", and create a nonempty one. [bug introduced in coreutils-6.0] cp --parents no longer mishandles symlinks to directories in file name components in the source, e.g., "cp --parents symlink/a/b d" no longer fails. Also, 'cp' no longer considers a destination symlink to be the same as the referenced file when copying links or making backups. For example, if SYM is a symlink to FILE, "cp -l FILE SYM" now reports an error instead of silently doing nothing. The behavior of 'cp' is now better documented when the destination is a symlink. "cp -i --update older newer" no longer prompts; same for mv "cp -i" now detects read errors on standard input, and no longer consumes too much seekable input; same for ln, install, mv, and rm. cut now diagnoses a range starting with zero (e.g., -f 0-2) as invalid; before, it would treat it as if it started with 1 (-f 1-2). "cut -f 2-0" now fails; before, it was equivalent to "cut -f 2-" cut now diagnoses the '-' in "cut -f -" as an invalid range, rather than interpreting it as the unlimited range, "1-". date -d now accepts strings of the form e.g., 'YYYYMMDD +N days', in addition to the usual 'YYYYMMDD N days'. du -s now includes the size of any stat'able-but-inaccessible directory in the total size. du (without -s) prints whatever it knows of the size of an inaccessible directory. Before, du would print nothing for such a directory. ls -x DIR would sometimes output the wrong string in place of the first entry. [introduced in coreutils-6.8] ls --color would mistakenly color a dangling symlink as if it were a regular symlink. This would happen only when the dangling symlink was not a command-line argument and in a directory with d_type support. [introduced in coreutils-6.0] ls --color, (with a custom LS_COLORS envvar value including the ln=target attribute) would mistakenly output the string "target" before the name of each symlink. [introduced in coreutils-6.0] od's --skip (-j) option now works even when the kernel says that a nonempty regular file has stat.st_size = 0. This happens at least with files in /proc and linux-2.6.22. "od -j L FILE" had a bug: when the number of bytes to skip, L, is exactly the same as the length of FILE, od would skip *no* bytes. When the number of bytes to skip is exactly the sum of the lengths of the first N files, od would skip only the first N-1 files. [introduced in textutils-2.0.9] ./printf %.10000000f 1 could get an internal ENOMEM error and generate no output, yet erroneously exit with status 0. Now it diagnoses the error and exits with nonzero status. [present in initial implementation] seq no longer mishandles obvious cases like "seq 0 0.000001 0.000003", so workarounds like "seq 0 0.000001 0.0000031" are no longer needed. seq would mistakenly reject some valid format strings containing %%, and would mistakenly accept some invalid ones. e.g., %g%% and %%g, resp. "seq .1 .1" would mistakenly generate no output on some systems Obsolete sort usage with an invalid ordering-option character, e.g., "env _POSIX2_VERSION=199209 sort +1x" no longer makes sort free an invalid pointer [introduced in coreutils-6.5] sorting very long lines (relative to the amount of available memory) no longer provokes unaligned memory access split --line-bytes=N (-C N) no longer creates an empty file [this bug is present at least as far back as textutils-1.22 (Jan, 1997)] tr -c no longer aborts when translating with Set2 larger than the complement of Set1. [present in the original version, in 1992] tr no longer rejects an unmatched [:lower:] or [:upper:] in SET1. [present in the original version] * Noteworthy changes in release 6.9 (2007-03-22) [stable] ** Bug fixes cp -x (--one-file-system) would fail to set mount point permissions The default block size and output format for df -P are now unaffected by the DF_BLOCK_SIZE, BLOCK_SIZE, and BLOCKSIZE environment variables. It is still affected by POSIXLY_CORRECT, though. Using pr -m -s (i.e. merging files, with TAB as the output separator) no longer inserts extraneous spaces between output columns. * Noteworthy changes in release 6.8 (2007-02-24) [not-unstable] ** Bug fixes chgrp, chmod, and chown now honor the --preserve-root option. Before, they would warn, yet continuing traversing and operating on /. chmod no longer fails in an environment (e.g., a chroot) with openat support but with insufficient /proc support. "cp --parents F/G D" no longer creates a directory D/F when F is not a directory (and F/G is therefore invalid). "cp --preserve=mode" would create directories that briefly had too-generous permissions in some cases. For example, when copying a directory with permissions 777 the destination directory might temporarily be setgid on some file systems, which would allow other users to create subfiles with the same group as the directory. Fix similar problems with 'install' and 'mv'. cut no longer dumps core for usage like "cut -f2- f1 f2" with two or more file arguments. This was due to a double-free bug, introduced in coreutils-5.3.0. dd bs= operands now silently override any later ibs= and obs= operands, as POSIX and tradition require. "ls -FRL" always follows symbolic links on Linux. Introduced in coreutils-6.0. A cross-partition "mv /etc/passwd ~" (by non-root) now prints a reasonable diagnostic. Before, it would print this: "mv: cannot remove `/etc/passwd': Not a directory". pwd and "readlink -e ." no longer fail unnecessarily when a parent directory is unreadable. rm (without -f) could prompt when it shouldn't, or fail to prompt when it should, when operating on a full name longer than 511 bytes and getting an ENOMEM error while trying to form the long name. rm could mistakenly traverse into the wrong directory under unusual conditions: when a full name longer than 511 bytes specifies a search-only directory, and when forming that name fails with ENOMEM, rm would attempt to open a truncated-to-511-byte name with the first five bytes replaced with "[...]". If such a directory were to actually exist, rm would attempt to remove it. "rm -rf /etc/passwd" (run by non-root) now prints a diagnostic. Before it would print nothing. "rm --interactive=never F" no longer prompts for an unwritable F "rm -rf D" would emit an misleading diagnostic when failing to remove a symbolic link within the unwritable directory, D. Introduced in coreutils-6.0. Similarly, when a cross-partition "mv" fails because the source directory is unwritable, it now gives a reasonable diagnostic. Before, this would print $ mkdir /tmp/x; touch /tmp/x/y; chmod -w /tmp/x; $ test $(stat -c %d /tmp/x) -ne $(stat -c %d .) && mv /tmp/x/y . mv: cannot remove `/tmp/x/y': Not a directory Now it prints this: mv: cannot remove `/tmp/x/y': Permission denied. ** New features sort's new --compress-program=PROG option specifies a compression program to use when writing and reading temporary files. This can help save both time and disk space when sorting large inputs. sort accepts the new option -C, which acts like -c except no diagnostic is printed. Its --check option now accepts an optional argument, and --check=quiet and --check=silent are now aliases for -C, while --check=diagnose-first is an alias for -c or plain --check. * Noteworthy changes in release 6.7 (2006-12-08) [stable] ** Bug fixes When cp -p copied a file with special mode bits set, the same bits were set on the copy even when ownership could not be preserved. This could result in files that were setuid to the wrong user. To fix this, special mode bits are now set in the copy only if its ownership is successfully preserved. Similar problems were fixed with mv when copying across file system boundaries. This problem affects all versions of coreutils through 6.6. cp --preserve=ownership would create output files that temporarily had too-generous permissions in some cases. For example, when copying a file with group A and mode 644 into a group-B sticky directory, the output file was briefly readable by group B. Fix similar problems with cp options like -p that imply --preserve=ownership, with install -d when combined with either -o or -g, and with mv when copying across file system boundaries. This bug affects all versions of coreutils through 6.6. du --one-file-system (-x) would skip subdirectories of any directory listed as second or subsequent command line argument. This bug affects coreutils-6.4, 6.5 and 6.6. * Noteworthy changes in release 6.6 (2006-11-22) [stable] ** Bug fixes ls would segfault (dereference a NULL pointer) for a file with a nameless group or owner. This bug was introduced in coreutils-6.5. A bug in the latest official m4/gettext.m4 (from gettext-0.15) made configure fail to detect gettext support, due to the unusual way in which coreutils uses AM_GNU_GETTEXT. ** Improved robustness Now, du (and the other fts clients: chmod, chgrp, chown) honor a trailing slash in the name of a symlink-to-directory even on Solaris 9, by working around its buggy fstatat implementation. * Major changes in release 6.5 (2006-11-19) [stable] ** Bug fixes du (and the other fts clients: chmod, chgrp, chown) would exit early when encountering an inaccessible directory on a system with native openat support (i.e., linux-2.6.16 or newer along with glibc-2.4 or newer). This bug was introduced with the switch to gnulib's openat-based variant of fts, for coreutils-6.0. "ln --backup f f" now produces a sensible diagnostic ** New features rm accepts a new option: --one-file-system * Major changes in release 6.4 (2006-10-22) [stable] ** Bug fixes chgrp and chown would malfunction when invoked with both -R and -H and with one or more of the following: --preserve-root, --verbose, --changes, --from=o:g (chown only). This bug was introduced with the switch to gnulib's openat-based variant of fts, for coreutils-6.0. cp --backup dir1 dir2, would rename an existing dir2/dir1 to dir2/dir1~. This bug was introduced in coreutils-6.0. With --force (-f), rm no longer fails for ENOTDIR. For example, "rm -f existing-non-directory/anything" now exits successfully, ignoring the error about a nonexistent file. * Major changes in release 6.3 (2006-09-30) [stable] ** Improved robustness pinky no longer segfaults on Darwin 7.9.0 (MacOS X 10.3.9) due to a buggy native getaddrinfo function. rm works around a bug in Darwin 7.9.0 (MacOS X 10.3.9) that would sometimes keep it from removing all entries in a directory on an HFS+ or NFS-mounted partition. sort would fail to handle very large input (around 40GB) on systems with a mkstemp function that returns a file descriptor limited to 32-bit offsets. ** Bug fixes chmod would fail unnecessarily in an unusual case: when an initially- inaccessible argument is rendered accessible by chmod's action on a preceding command line argument. This bug also affects chgrp, but it is harder to demonstrate. It does not affect chown. The bug was introduced with the switch from explicit recursion to the use of fts in coreutils-5.1.0 (2003-10-15). cp -i and mv -i occasionally neglected to prompt when the copy or move action was bound to fail. This bug dates back to before fileutils-4.0. With --verbose (-v), cp and mv would sometimes generate no output, or neglect to report file removal. For the "groups" command: "groups" no longer prefixes the output with "user :" unless more than one user is specified; this is for compatibility with BSD. "groups user" now exits nonzero when it gets a write error. "groups" now processes options like --help more compatibly. shuf would infloop, given 8KB or more of piped input ** Portability Versions of chmod, chown, chgrp, du, and rm (tools that use openat etc.) compiled for Solaris 8 now also work when run on Solaris 10. * Major changes in release 6.2 (2006-09-18) [stable candidate] ** Changes in behavior mkdir -p and install -d (or -D) now use a method that forks a child process if the working directory is unreadable and a later argument uses a relative file name. This avoids some race conditions, but it means you may need to kill two processes to stop these programs. rm now rejects attempts to remove the root directory, e.g., `rm -fr /' now fails without removing anything. Likewise for any file name with a final `./' or `../' component. tail now ignores the -f option if POSIXLY_CORRECT is set, no file operand is given, and standard input is any FIFO; formerly it did this only for pipes. ** Infrastructure changes Coreutils now uses gnulib via the gnulib-tool script. If you check the source out from CVS, then follow the instructions in README-cvs. Although this represents a large change to the infrastructure, it should cause no change in how the tools work. ** Bug fixes cp --backup no longer fails when the last component of a source file name is "." or "..". "ls --color" would highlight other-writable and sticky directories no differently than regular directories on a file system with dirent.d_type support. "mv -T --verbose --backup=t A B" now prints the " (backup: B.~1~)" suffix when A and B are directories as well as when they are not. mv and "cp -r" no longer fail when invoked with two arguments where the first one names a directory and the second name ends in a slash and doesn't exist. E.g., "mv dir B/", for nonexistent B, now succeeds, once more. This bug was introduced in coreutils-5.3.0. * Major changes in release 6.1 (2006-08-19) [unstable] ** Changes in behavior df now considers BSD "kernfs" file systems to be dummies ** New features printf now supports the 'I' flag on hosts whose underlying printf implementations support 'I', e.g., "printf %Id 2". ** Bug fixes cp --sparse preserves sparseness at the end of a file, even when the file's apparent size is not a multiple of its block size. [introduced with the original design, in fileutils-4.0r, 2000-04-29] df (with a command line argument) once again prints its header [introduced in coreutils-6.0] ls -CF would misalign columns in some cases involving non-stat'able files [introduced in coreutils-6.0] * Major changes in release 6.0 (2006-08-15) [unstable] ** Improved robustness df: if the file system claims to have more available than total blocks, report the number of used blocks as being "total - available" (a negative number) rather than as garbage. dircolors: a new autoconf run-test for AIX's buggy strndup function prevents malfunction on that system; may also affect cut, expand, and unexpand. fts no longer changes the current working directory, so its clients (chmod, chown, chgrp, du) no longer malfunction under extreme conditions. pwd and other programs using lib/getcwd.c work even on file systems where dirent.d_ino values are inconsistent with those from stat.st_ino. rm's core is now reentrant: rm --recursive (-r) now processes hierarchies without changing the working directory at all. ** Changes in behavior basename and dirname now treat // as different from / on platforms where the two are distinct. chmod, install, and mkdir now preserve a directory's set-user-ID and set-group-ID bits unless you explicitly request otherwise. E.g., `chmod 755 DIR' and `chmod u=rwx,go=rx DIR' now preserve DIR's set-user-ID and set-group-ID bits instead of clearing them, and similarly for `mkdir -m 755 DIR' and `mkdir -m u=rwx,go=rx DIR'. To clear the bits, mention them explicitly in a symbolic mode, e.g., `mkdir -m u=rwx,go=rx,-s DIR'. To set them, mention them explicitly in either a symbolic or a numeric mode, e.g., `mkdir -m 2755 DIR', `mkdir -m u=rwx,go=rx,g+s' DIR. This change is for convenience on systems where these bits inherit from parents. Unfortunately other operating systems are not consistent here, and portable scripts cannot assume the bits are set, cleared, or preserved, even when the bits are explicitly mentioned. For example, OpenBSD 3.9 `mkdir -m 777 D' preserves D's setgid bit but `chmod 777 D' clears it. Conversely, Solaris 10 `mkdir -m 777 D', `mkdir -m g-s D', and `chmod 0777 D' all preserve D's setgid bit, and you must use something like `chmod g-s D' to clear it. `cp --link --no-dereference' now works also on systems where the link system call cannot create a hard link to a symbolic link. This change has no effect on systems with a Linux-based kernel. csplit and nl now use POSIX syntax for regular expressions, not Emacs syntax. As a result, character classes like [[:print:]] and interval expressions like A\{1,9\} now have their usual meaning, . no longer matches the null character, and \ must precede the + and ? operators. date: a command like date -d '2006-04-23 21 days ago' would print the wrong date in some time zones. (see the test for an example) df changes: df now considers "none" and "proc" file systems to be dummies and therefore does not normally display them. Also, inaccessible file systems (which can be caused by shadowed mount points or by chrooted bind mounts) are now dummies, too. df now fails if it generates no output, so you can inspect the exit status of a command like "df -t ext3 -t reiserfs DIR" to test whether DIR is on a file system of type "ext3" or "reiserfs". expr no longer complains about leading ^ in a regular expression (the anchor is ignored), or about regular expressions like A** (the second "*" is ignored). expr now exits with status 2 (not 3) for errors it detects in the expression's values; exit status 3 is now used only for internal errors (such as integer overflow, which expr now checks for). install and mkdir now implement the X permission symbol correctly, e.g., `mkdir -m a+X dir'; previously the X was ignored. install now creates parent directories with mode u=rwx,go=rx (755) instead of using the mode specified by the -m option; and it does not change the owner or group of parent directories. This is for compatibility with BSD and closes some race conditions. ln now uses different (and we hope clearer) diagnostics when it fails. ln -v now acts more like FreeBSD, so it generates output only when successful and the output is easier to parse. ls now defaults to --time-style='locale', not --time-style='posix-long-iso'. However, the 'locale' time style now behaves like 'posix-long-iso' if your locale settings appear to be messed up. This change attempts to have the default be the best of both worlds. mkfifo and mknod no longer set special mode bits (setuid, setgid, and sticky) with the -m option. nohup's usual diagnostic now more precisely specifies the I/O redirections, e.g., "ignoring input and appending output to nohup.out". Also, nohup now redirects stderr to nohup.out (or $HOME/nohup.out) if stdout is closed and stderr is a tty; this is in response to Open Group XCU ERN 71. rm --interactive now takes an optional argument, although the default of using no argument still acts like -i. rm no longer fails to remove an empty, unreadable directory seq changes: seq defaults to a minimal fixed point format that does not lose information if seq's operands are all fixed point decimal numbers. You no longer need the `-f%.f' in `seq -f%.f 1048575 1024 1050623', for example, since the default format now has the same effect. seq now lets you use %a, %A, %E, %F, and %G formats. seq now uses long double internally rather than double. sort now reports incompatible options (e.g., -i and -n) rather than silently ignoring one of them. stat's --format=FMT option now works the way it did before 5.3.0: FMT is automatically newline terminated. The first stable release containing this change was 5.92. stat accepts the new option --printf=FMT, where FMT is *not* automatically newline terminated. stat: backslash escapes are interpreted in a format string specified via --printf=FMT, but not one specified via --format=FMT. That includes octal (\ooo, at most three octal digits), hexadecimal (\xhh, one or two hex digits), and the standard sequences (\a, \b, \f, \n, \r, \t, \v, \", \\). With no operand, 'tail -f' now silently ignores the '-f' only if standard input is a FIFO or pipe and POSIXLY_CORRECT is set. Formerly, it ignored the '-f' when standard input was a FIFO, pipe, or socket. ** Scheduled for removal ptx's --copyright (-C) option is scheduled for removal in 2007, and now evokes a warning. Use --version instead. rm's --directory (-d) option is scheduled for removal in 2006. This option has been silently ignored since coreutils 5.0. On systems that support unlinking of directories, you can use the "unlink" command to unlink a directory. Similarly, we are considering the removal of ln's --directory (-d, -F) option in 2006. Please write to if this would cause a problem for you. On systems that support hard links to directories, you can use the "link" command to create one. ** New programs base64: base64 encoding and decoding (RFC 3548) functionality. sha224sum: print or check a SHA224 (224-bit) checksum sha256sum: print or check a SHA256 (256-bit) checksum sha384sum: print or check a SHA384 (384-bit) checksum sha512sum: print or check a SHA512 (512-bit) checksum shuf: Shuffle lines of text. ** New features chgrp now supports --preserve-root, --no-preserve-root (default), as it was documented to do, and just as chmod, chown, and rm do. New dd iflag= and oflag= flags: 'directory' causes dd to fail unless the file is a directory, on hosts that support this (e.g., Linux kernels, version 2.1.126 and later). This has limited utility but is present for completeness. 'noatime' causes dd to read a file without updating its access time, on hosts that support this (e.g., Linux kernels, version 2.6.8 and later). 'nolinks' causes dd to fail if the file has multiple hard links, on hosts that support this (e.g., Solaris 10 and later). ls accepts the new option --group-directories-first, to make it list directories before files. rm now accepts the -I (--interactive=once) option. This new option prompts once if rm is invoked recursively or if more than three files are being deleted, which is less intrusive than -i prompting for every file, but provides almost the same level of protection against mistakes. shred and sort now accept the --random-source option. sort now accepts the --random-sort (-R) option and `R' ordering option. sort now supports obsolete usages like "sort +1 -2" unless POSIXLY_CORRECT is set. However, when conforming to POSIX 1003.1-2001 "sort +1" still sorts the file named "+1". wc accepts a new option --files0-from=FILE, where FILE contains a list of NUL-terminated file names. ** Bug fixes cat with any of the options, -A -v -e -E -T, when applied to a file in /proc or /sys (linux-specific), would truncate its output, usually printing nothing. cp -p would fail in a /proc-less chroot, on some systems When `cp -RL' encounters the same directory more than once in the hierarchy beneath a single command-line argument, it no longer confuses them with hard-linked directories. fts-using tools (chmod, chown, chgrp, du) no longer fail due to a double-free bug -- it could be triggered by making a directory inaccessible while e.g., du is traversing the hierarchy under it. fts-using tools (chmod, chown, chgrp, du) no longer misinterpret a very long symlink chain as a dangling symlink. Before, such a misinterpretation would cause these tools not to diagnose an ELOOP error. ls --indicator-style=file-type would sometimes stat a symlink unnecessarily. ls --file-type worked like --indicator-style=slash (-p), rather than like --indicator-style=file-type. mv: moving a symlink into the place of an existing non-directory is now done atomically; before, mv would first unlink the destination. mv -T DIR EMPTY_DIR no longer fails unconditionally. Also, mv can now remove an empty destination directory: mkdir -p a b/a; mv a b rm (on systems with openat) can no longer exit before processing all command-line arguments. rm is no longer susceptible to a few low-probability memory leaks. rm -r no longer fails to remove an inaccessible and empty directory rm -r's cycle detection code can no longer be tricked into reporting a false positive (introduced in fileutils-4.1.9). shred --remove FILE no longer segfaults on Gentoo systems sort would fail for large inputs (~50MB) on systems with a buggy mkstemp function. sort and tac now use the replacement mkstemp function, and hence are no longer subject to limitations (of 26 or 32, on the maximum number of files from a given template) on HP-UX 10.20, SunOS 4.1.4, Solaris 2.5.1 and OSF1/Tru64 V4.0F&V5.1. tail -f once again works on a file with the append-only attribute (affects at least Linux ext2, ext3, xfs file systems) * Major changes in release 5.97 (2006-06-24) [stable] * Major changes in release 5.96 (2006-05-22) [stable] * Major changes in release 5.95 (2006-05-12) [stable] * Major changes in release 5.94 (2006-02-13) [stable] [see the b5_9x branch for details] * Major changes in release 5.93 (2005-11-06) [stable] ** Bug fixes dircolors no longer segfaults upon an attempt to use the new STICKY_OTHER_WRITABLE (OWT) attribute. du no longer overflows a counter when processing a file larger than 2^31-1 on some 32-bit systems (at least some AIX 5.1 configurations). md5sum once again defaults to using the ` ' non-binary marker (rather than the `*' binary marker) by default on Unix-like systems. mkdir -p and install -d no longer exit nonzero when asked to create a directory like `nonexistent/.' rm emits a better diagnostic when (without -r) it fails to remove a directory on e.g., Solaris 9/10 systems. tac now works when stdin is a tty, even on non-Linux systems. "tail -c 2 FILE" and "touch 0101000000" now operate as POSIX 1003.1-2001 requires, even when coreutils is conforming to older POSIX standards, as the newly-required behavior is upward-compatible with the old. The documentation no longer mentions rm's --directory (-d) option. ** Build-related bug fixes installing .mo files would fail * Major changes in release 5.92 (2005-10-22) [stable] ** Bug fixes chmod now diagnoses an invalid mode string starting with an octal digit dircolors now properly quotes single-quote characters * Major changes in release 5.91 (2005-10-17) [stable candidate] ** Bug fixes "mkdir -p /a/b/c" no longer fails merely because a leading prefix directory (e.g., /a or /a/b) exists on a read-only file system. ** Removed options tail's --allow-missing option has been removed. Use --retry instead. stat's --link and -l options have been removed. Use --dereference (-L) instead. ** Deprecated options Using ls, du, or df with the --kilobytes option now evokes a warning that the long-named option is deprecated. Use `-k' instead. du's long-named --megabytes option now evokes a warning. Use -m instead. * Major changes in release 5.90 (2005-09-29) [unstable] ** Bring back support for `head -NUM', `tail -NUM', etc. even when conforming to POSIX 1003.1-2001. The following changes apply only when conforming to POSIX 1003.1-2001; there is no effect when conforming to older POSIX versions. The following usages now behave just as when conforming to older POSIX: date -I expand -TAB1[,TAB2,...] fold -WIDTH head -NUM join -j FIELD join -j1 FIELD join -j2 FIELD join -o FIELD_NAME1 FIELD_NAME2... nice -NUM od -w pr -S split -NUM tail -[NUM][bcl][f] [FILE] The following usages no longer work, due to the above changes: date -I TIMESPEC (use `date -ITIMESPEC' instead) od -w WIDTH (use `od -wWIDTH' instead) pr -S STRING (use `pr -SSTRING' instead) A few usages still have behavior that depends on which POSIX standard is being conformed to, and portable applications should beware these problematic usages. These include: Problematic Standard-conforming replacement, depending on usage whether you prefer the behavior of: POSIX 1003.2-1992 POSIX 1003.1-2001 sort +4 sort -k 5 sort ./+4 tail +4 tail -n +4 tail ./+4 tail - f tail f [see (*) below] tail -c 4 tail -c 10 ./4 tail -c4 touch 12312359 f touch -t 12312359 f touch ./12312359 f uniq +4 uniq -s 4 uniq ./+4 (*) "tail - f" does not conform to POSIX 1003.1-2001; to read standard input and then "f", use the command "tail -- - f". These changes are in response to decisions taken in the January 2005 Austin Group standardization meeting. For more details, please see "Utility Syntax Guidelines" in the Minutes of the January 2005 Meeting . ** Binary input and output are now implemented more consistently. These changes affect only platforms like MS-DOS that distinguish between binary and text files. The following programs now always use text input/output: expand unexpand The following programs now always use binary input/output to copy data: cp install mv shred The following programs now always use binary input/output to copy data, except for stdin and stdout when it is a terminal. head tac tail tee tr (cat behaves similarly, unless one of the options -bensAE is used.) cat's --binary or -B option has been removed. It existed only on MS-DOS-like platforms, and didn't work as documented there. md5sum and sha1sum now obey the -b or --binary option, even if standard input is a terminal, and they no longer report files to be binary if they actually read them in text mode. ** Changes for better conformance to POSIX cp, ln, mv, rm changes: Leading white space is now significant in responses to yes-or-no questions. For example, if "rm" asks "remove regular file `foo'?" and you respond with " y" (i.e., space before "y"), it counts as "no". dd changes: On a QUIT or PIPE signal, dd now exits without printing statistics. On hosts lacking the INFO signal, dd no longer treats the USR1 signal as if it were INFO when POSIXLY_CORRECT is set. If the file F is non-seekable and contains fewer than N blocks, then before copying "dd seek=N of=F" now extends F with zeroed blocks until F contains N blocks. fold changes: When POSIXLY_CORRECT is set, "fold file -3" is now equivalent to "fold file ./-3", not the obviously-erroneous "fold file ./-w3". ls changes: -p now marks only directories; it is equivalent to the new option --indicator-style=slash. Use --file-type or --indicator-style=file-type to get -p's old behavior. nice changes: Documentation and diagnostics now refer to "nicenesses" (commonly in the range -20...19) rather than "nice values" (commonly 0...39). nohup changes: nohup now ignores the umask when creating nohup.out. nohup now closes stderr if it is a terminal and stdout is closed. nohup now exits with status 127 (not 1) when given an invalid option. pathchk changes: It now rejects the empty name in the normal case. That is, "pathchk -p ''" now fails, and "pathchk ''" fails unless the current host (contra POSIX) allows empty file names. The new -P option checks whether a file name component has leading "-", as suggested in interpretation "Austin-039:XCU:pathchk:pathchk -p" . It also rejects the empty name even if the current host accepts it; see . The --portability option is now equivalent to -p -P. ** Bug fixes chmod, mkdir, mkfifo, and mknod formerly mishandled rarely-used symbolic permissions like =xX and =u, and did not properly diagnose some invalid strings like g+gr, ug,+x, and +1. These bugs have been fixed. csplit could produce corrupt output, given input lines longer than 8KB dd now computes statistics using a realtime clock (if available) rather than the time-of-day clock, to avoid glitches if the time-of-day is changed while dd is running. Also, it avoids using unsafe code in signal handlers; this fixes some core dumps. expr and test now correctly compare integers of unlimited magnitude. expr now detects integer overflow when converting strings to integers, rather than silently wrapping around. ls now refuses to generate time stamps containing more than 1000 bytes, to foil potential denial-of-service attacks on hosts with very large stacks. "mkdir -m =+x dir" no longer ignores the umask when evaluating "+x", and similarly for mkfifo and mknod. "mkdir -p /tmp/a/b dir" no longer attempts to create the `.'-relative directory, dir (in /tmp/a), when, after creating /tmp/a/b, it is unable to return to its initial working directory. Similarly for "install -D file /tmp/a/b/file". "pr -D FORMAT" now accepts the same formats that "date +FORMAT" does. stat now exits nonzero if a file operand does not exist ** Improved robustness Date no longer needs to allocate virtual memory to do its job, so it can no longer fail due to an out-of-memory condition, no matter how large the result. ** Improved portability hostid now prints exactly 8 hexadecimal digits, possibly with leading zeros, and without any spurious leading "fff..." on 64-bit hosts. nice now works on Darwin 7.7.0 in spite of its invalid definition of NZERO. `rm -r' can remove all entries in a directory even when it is on a file system for which readdir is buggy and that was not checked by coreutils' old configure-time run-test. sleep no longer fails when resumed after being suspended on linux-2.6.8.1, in spite of that kernel's buggy nanosleep implementation. ** New features chmod -w now complains if its behavior differs from what chmod a-w would do, and similarly for chmod -r, chmod -x, etc. cp and mv: the --reply=X option is deprecated date accepts the new option --rfc-3339=TIMESPEC. The old --iso-8601 (-I) option is deprecated; it still works, but new applications should avoid it. date, du, ls, and pr's time formats now support new %:z, %::z, %:::z specifiers for numeric time zone offsets like -07:00, -07:00:00, and -07. dd has new iflag= and oflag= flags "binary" and "text", which have an effect only on nonstandard platforms that distinguish text from binary I/O. dircolors now supports SETUID, SETGID, STICKY_OTHER_WRITABLE, OTHER_WRITABLE, and STICKY, with ls providing default colors for these categories if not specified by dircolors. du accepts new options: --time[=TYPE] and --time-style=STYLE join now supports a NUL field separator, e.g., "join -t '\0'". join now detects and reports incompatible options, e.g., "join -t x -t y", ls no longer outputs an extra space between the mode and the link count when none of the listed files has an ACL. md5sum --check now accepts multiple input files, and similarly for sha1sum. If stdin is a terminal, nohup now redirects it from /dev/null to prevent the command from tying up an OpenSSH session after you logout. "rm -FOO" now suggests "rm ./-FOO" if the file "-FOO" exists and "-FOO" is not a valid option. stat -f -c %S outputs the fundamental block size (used for block counts). stat -f's default output format has been changed to output this size as well. stat -f recognizes file systems of type XFS and JFS "touch -" now touches standard output, not a file named "-". uname -a no longer generates the -p and -i outputs if they are unknown. * Major changes in release 5.3.0 (2005-01-08) [unstable] ** Bug fixes Several fixes to chgrp and chown for compatibility with POSIX and BSD: Do not affect symbolic links by default. Now, operate on whatever a symbolic link points to, instead. To get the old behavior, use --no-dereference (-h). --dereference now works, even when the specified owner and/or group match those of an affected symlink. Check for incompatible options. When -R and --dereference are both used, then either -H or -L must also be used. When -R and -h are both used, then -P must be in effect. -H, -L, and -P have no effect unless -R is also specified. If -P and -R are both specified, -h is assumed. Do not optimize away the chown() system call when the file's owner and group already have the desired value. This optimization was incorrect, as it failed to update the last-changed time and reset special permission bits, as POSIX requires. "chown : file", "chown '' file", and "chgrp '' file" now succeed without changing the uid or gid, instead of reporting an error. Do not report an error if the owner or group of a recursively-encountered symbolic link cannot be updated because the file system does not support it. chmod now accepts multiple mode-like options, e.g., "chmod -r -w f". chown is no longer subject to a race condition vulnerability, when used with --from=O:G and without the (-h) --no-dereference option. cut's --output-delimiter=D option works with abutting byte ranges. dircolors's documentation now recommends that shell scripts eval "`dircolors`" rather than `dircolors`, to avoid shell expansion pitfalls. du no longer segfaults when a subdirectory of an operand directory is removed while du is traversing that subdirectory. Since the bug was in the underlying fts.c module, it also affected chown, chmod, and chgrp. du's --exclude-from=FILE and --exclude=P options now compare patterns against the entire name of each file, rather than against just the final component. echo now conforms to POSIX better. It supports the \0ooo syntax for octal escapes, and \c now terminates printing immediately. If POSIXLY_CORRECT is set and the first argument is not "-n", echo now outputs all option-like arguments instead of treating them as options. expand and unexpand now conform to POSIX better. They check for blanks (which can include characters other than space and tab in non-POSIX locales) instead of spaces and tabs. Unexpand now preserves some blanks instead of converting them to tabs or spaces. "ln x d/" now reports an error if d/x is a directory and x a file, instead of incorrectly creating a link to d/x/x. ls no longer segfaults on systems for which SIZE_MAX != (size_t) -1. md5sum and sha1sum now report an error when given so many input lines that their line counter overflows, instead of silently reporting incorrect results. Fixes for "nice": If it fails to lower the niceness due to lack of permissions, it goes ahead and runs the command anyway, as POSIX requires. It no longer incorrectly reports an error if the current niceness happens to be -1. It no longer assumes that nicenesses range from -20 through 19. It now consistently adjusts out-of-range nicenesses to the closest values in range; formerly it sometimes reported an error. pathchk no longer accepts trailing options, e.g., "pathchk -p foo -b" now treats -b as a file name to check, not as an invalid option. `pr --columns=N' was not equivalent to `pr -N' when also using either -s or -w. pr now supports page numbers up to 2**64 on most hosts, and it detects page number overflow instead of silently wrapping around. pr now accepts file names that begin with "+" so long as the rest of the file name does not look like a page range. printf has several changes: It now uses 'intmax_t' (not 'long int') to format integers, so it can now format 64-bit integers on most modern hosts. On modern hosts it now supports the C99-inspired %a, %A, %F conversion specs, the "'" and "0" flags, and the ll, j, t, and z length modifiers (this is compatible with recent Bash versions). The printf command now rejects invalid conversion specifications like %#d, instead of relying on undefined behavior in the underlying printf function. ptx now diagnoses invalid values for its --width=N (-w) and --gap-size=N (-g) options. mv (when moving between partitions) no longer fails when operating on too many command-line-specified nonempty directories. "readlink -f" is more compatible with prior implementations rm (without -f) no longer hangs when attempting to remove a symlink to a file on an off-line NFS-mounted partition. rm no longer gets a failed assertion under some unusual conditions. rm no longer requires read access to the current directory. "rm -r" would mistakenly fail to remove files under a directory for some types of errors (e.g., read-only file system, I/O error) when first encountering the directory. "sort" fixes: "sort -o -" now writes to a file named "-" instead of to standard output; POSIX requires this. An unlikely race condition has been fixed where "sort" could have mistakenly removed a temporary file belonging to some other process. "sort" no longer has O(N**2) behavior when it creates many temporary files. tac can now handle regular, nonseekable files like Linux's /proc/modules. Before, it would produce no output for such a file. tac would exit immediately upon I/O or temp-file creation failure. Now it continues on, processing any remaining command line arguments. "tail -f" no longer mishandles pipes and fifos. With no operands, tail now ignores -f if standard input is a pipe, as POSIX requires. When conforming to POSIX 1003.2-1992, tail now supports the SUSv2 b modifier (e.g., "tail -10b file") and it handles some obscure cases more correctly, e.g., "tail +cl" now reads the file "+cl" rather than reporting an error, "tail -c file" no longer reports an error, and "tail - file" no longer reads standard input. tee now exits when it gets a SIGPIPE signal, as POSIX requires. To get tee's old behavior, use the shell command "(trap '' PIPE; tee)". Also, "tee -" now writes to standard output instead of to a file named "-". "touch -- MMDDhhmm[yy] file" is now equivalent to "touch MMDDhhmm[yy] file" even when conforming to pre-2001 POSIX. tr no longer mishandles a second operand with leading "-". who now prints user names in full instead of truncating them after 8 bytes. The following commands now reject unknown options instead of accepting them as operands, so that users are properly warned that options may be added later. Formerly they accepted unknown options as operands; e.g., "basename -a a" acted like "basename -- -a a". basename dirname factor hostname link nohup sync unlink yes ** New features For efficiency, `sort -m' no longer copies input to a temporary file merely because the input happens to come from a pipe. As a result, some relatively-contrived examples like `cat F | sort -m -o F - G' are no longer safe, as `sort' might start writing F before `cat' is done reading it. This problem cannot occur unless `-m' is used. When outside the default POSIX locale, the 'who' and 'pinky' commands now output time stamps like "2004-06-21 13:09" instead of the traditional "Jun 21 13:09". pwd now works even when run from a working directory whose name is longer than PATH_MAX. cp, install, ln, and mv have a new --no-target-directory (-T) option, and -t is now a short name for their --target-directory option. cp -pu and mv -u (when copying) now don't bother to update the destination if the resulting time stamp would be no newer than the preexisting time stamp. This saves work in the common case when copying or moving multiple times to the same destination in a file system with a coarse time stamp resolution. cut accepts a new option, --complement, to complement the set of selected bytes, characters, or fields. dd now also prints the number of bytes transferred, the time, and the transfer rate. The new "status=noxfer" operand suppresses this change. dd has new conversions for the conv= option: nocreat do not create the output file excl fail if the output file already exists fdatasync physically write output file data before finishing fsync likewise, but also write metadata dd has new iflag= and oflag= options with the following flags: append append mode (makes sense for output file only) direct use direct I/O for data dsync use synchronized I/O for data sync likewise, but also for metadata nonblock use non-blocking I/O nofollow do not follow symlinks noctty do not assign controlling terminal from file stty now provides support (iutf8) for setting UTF-8 input mode. With stat, a specified format is no longer automatically newline terminated. If you want a newline at the end of your output, append `\n' to the format string. 'df', 'du', and 'ls' now take the default block size from the BLOCKSIZE environment variable if the BLOCK_SIZE, DF_BLOCK_SIZE, DU_BLOCK_SIZE, and LS_BLOCK_SIZE environment variables are not set. Unlike the other variables, though, BLOCKSIZE does not affect values like 'ls -l' sizes that are normally displayed as bytes. This new behavior is for compatibility with BSD. du accepts a new option --files0-from=FILE, where FILE contains a list of NUL-terminated file names. Date syntax as used by date -d, date -f, and touch -d has been changed as follows: Dates like `January 32' with out-of-range components are now rejected. Dates can have fractional time stamps like 2004-02-27 14:19:13.489392193. Dates can be entered via integer counts of seconds since 1970 when prefixed by `@'. For example, `@321' represents 1970-01-01 00:05:21 UTC. Time zone corrections can now separate hours and minutes with a colon, and can follow standard abbreviations like "UTC". For example, "UTC +0530" and "+05:30" are supported, and are both equivalent to "+0530". Date values can now have leading TZ="..." assignments that override the environment only while that date is being processed. For example, the following shell command converts from Paris to New York time: TZ="America/New_York" date --date='TZ="Europe/Paris" 2004-10-31 06:30' `date' has a new option --iso-8601=ns that outputs nanosecond-resolution time stamps. echo -e '\xHH' now outputs a byte whose hexadecimal value is HH, for compatibility with bash. ls now exits with status 1 on minor problems, 2 if serious trouble. ls has a new --hide=PATTERN option that behaves like --ignore=PATTERN, except that it is overridden by -a or -A. This can be useful for aliases, e.g., if lh is an alias for "ls --hide='*~'", then "lh -A" lists the file "README~". In the following cases POSIX allows the default GNU behavior, so when POSIXLY_CORRECT is set: false, printf, true, unlink, and yes all support --help and --option. ls supports TABSIZE. pr no longer depends on LC_TIME for the date format in non-POSIX locales. printf supports \u, \U, \x. tail supports two or more files when using the obsolete option syntax. The usual `--' operand is now supported by chroot, hostid, hostname, pwd, sync, and yes. `od' now conforms to POSIX better, and is more compatible with BSD: The older syntax "od [-abcdfilosx]... [FILE] [[+]OFFSET[.][b]]" now works even without --traditional. This is a change in behavior if there are one or two operands and the last one begins with +, or if there are two operands and the latter one begins with a digit. For example, "od foo 10" and "od +10" now treat the last operand as an offset, not as a file name. -h is no longer documented, and may be withdrawn in future versions. Use -x or -t x2 instead. -i is now equivalent to -t dI (not -t d2), and -l is now equivalent to -t dL (not -t d4). -s is now equivalent to -t d2. The old "-s[NUM]" or "-s NUM" option has been renamed to "-S NUM". The default output format is now -t oS, not -t o2, i.e., short int rather than two-byte int. This makes a difference only on hosts like Cray systems where the C short int type requires more than two bytes. readlink accepts new options: --canonicalize-existing (-e) and --canonicalize-missing (-m). The stat option --filesystem has been renamed to --file-system, for consistency with POSIX "file system" and with cp and du --one-file-system. ** Removed features md5sum and sha1sum's undocumented --string option has been removed. tail's undocumented --max-consecutive-size-changes option has been removed. * Major changes in release 5.2.1 (2004-03-12) [stable] ** Bug fixes mv could mistakenly fail to preserve hard links when moving two or more arguments between partitions. `cp --sparse=always F /dev/hdx' no longer tries to use lseek to create holes in the destination. nohup now sets the close-on-exec flag for its copy of the stderr file descriptor. This avoids some nohup-induced hangs. For example, before this change, if you ran `ssh localhost', then `nohup sleep 600 /dev/null takes about one hour on a 1.6 GHz Athlon 2000 XP. Now it can output 2^53-1 numbers before misbehaving. * Major changes in release 5.1.2 (2004-01-25): ** Bug fixes rmdir -p exits with status 1 on error; formerly it sometimes exited with status 0 when given more than one argument. nohup now always exits with status 127 when it finds an error, as POSIX requires; formerly it sometimes exited with status 1. Several programs (including cut, date, dd, env, hostname, nl, pr, stty, and tr) now always exit with status 1 when they find an error; formerly they sometimes exited with status 2. factor no longer reports a usage error if stdin has the wrong format. paste no longer infloops on ppc systems (bug introduced in 5.1.1) * Major changes in release 5.1.1 (2004-01-17): ** Configuration option You can select the default level of POSIX conformance at configure-time, e.g., by ./configure DEFAULT_POSIX2_VERSION=199209 ** Bug fixes fold -s works once again on systems with differing sizes for int and size_t (bug introduced in 5.1.0) ** New features touch -r now specifies the origin for any relative times in the -d operand, if both options are given. For example, "touch -r FOO -d '-5 seconds' BAR" sets BAR's modification time to be five seconds before FOO's. join: The obsolete options "-j1 FIELD", "-j2 FIELD", and "-o LIST1 LIST2..." are no longer supported on POSIX 1003.1-2001 systems. Portable scripts should use "-1 FIELD", "-2 FIELD", and "-o LIST1,LIST2..." respectively. If join was compiled on a POSIX 1003.1-2001 system, you may enable the old behavior by setting _POSIX2_VERSION=199209 in your environment. [This change was reverted in coreutils 5.3.1.] * Major changes in release 5.1.0 (2003-12-21): ** New features chgrp, chmod, and chown can now process (with -R) hierarchies of virtually unlimited depth. Before, they would fail to operate on any file they encountered with a relative name of length PATH_MAX (often 4096) or longer. chgrp, chmod, chown, and rm accept the new options: --preserve-root, --no-preserve-root (default) chgrp and chown now accept POSIX-mandated -L, -H, and -P options du can now process hierarchies of virtually unlimited depth. Before, du was limited by the user's stack size and it would get a stack overflow error (often a segmentation fault) when applied to a hierarchy of depth around 30,000 or larger. du works even when run from an inaccessible directory du -D now dereferences all symlinks specified on the command line, not just the ones that reference directories du now accepts -P (--no-dereference), for compatibility with du of NetBSD and for consistency with e.g., chown and chgrp du's -H option will soon have the meaning required by POSIX (--dereference-args, aka -D) rather then the current meaning of --si. Now, using -H elicits a warning to that effect. When given -l and similar options, ls now adjusts the output column widths to fit the data, so that output lines are shorter and have columns that line up better. This may adversely affect shell scripts that expect fixed-width columns, but such shell scripts were not portable anyway, even with old GNU ls where the columns became ragged when a datum was too wide. du accepts a new option, -0/--null, to make it produce NUL-terminated output lines ** Bug fixes printf, seq, tail, and sleep now parse floating-point operands and options in the C locale. POSIX requires this for printf. od -c -w9999999 no longer segfaults csplit no longer reads from freed memory (dumping core on some systems) csplit would mistakenly exhaust virtual memory in some cases ls --width=N (for very large N) is no longer subject to an address arithmetic bug that could result in bounds violations. ls --width=N (with -x or -C) no longer allocates more space (potentially much more) than necessary for a given directory. dd `unblock' and `sync' may now be combined (e.g., dd conv=unblock,sync) * Major changes in release 5.0.91 (2003-09-08): ** New features date accepts a new option --rfc-2822, an alias for --rfc-822. split accepts a new option -d or --numeric-suffixes. cp, install, mv, and touch now preserve microsecond resolution on file timestamps, on platforms that have the 'utimes' system call. Unfortunately there is no system call yet to preserve file timestamps to their full nanosecond resolution; microsecond resolution is the best we can do right now. sort now supports the zero byte (NUL) as a field separator; use -t '\0'. The -t '' option, which formerly had no effect, is now an error. sort option order no longer matters for the options -S, -d, -i, -o, and -t. Stronger options override weaker, and incompatible options are diagnosed. `sha1sum --check' now accepts the BSD format for SHA1 message digests in addition to the BSD format for MD5 ones. who -l now means `who --login', not `who --lookup', per POSIX. who's -l option has been eliciting an unconditional warning about this impending change since sh-utils-2.0.12 (April 2002). ** Bug fixes Mistakenly renaming a file onto itself, e.g., via `mv B b' when `B' is the same directory entry as `b' no longer destroys the directory entry referenced by both `b' and `B'. Note that this would happen only on file systems like VFAT where two different names may refer to the same directory entry, usually due to lower->upper case mapping of file names. Now, the above can happen only on file systems that perform name mapping and that support hard links (stat.st_nlink > 1). This mitigates the problem in two ways: few file systems appear to be affected (hpfs and ntfs are), when the bug is triggered, mv no longer removes the last hard link to a file. *** ATTENTION ***: if you know how to distinguish the following two cases without writing to the file system in question, please let me know: 1) B and b refer to the same directory entry on a file system like NTFS (B may well have a link count larger than 1) 2) B and b are hard links to the same file stat no longer overruns a buffer for format strings ending in `%' fold -s -wN would infloop for N < 8 with TABs in the input. E.g., this would not terminate: printf 'a\t' | fold -w2 -s `split -a0', although of questionable utility, is accepted once again. `df DIR' used to hang under some conditions on OSF/1 5.1. Now it doesn't. seq's --width (-w) option now works properly even when the endpoint requiring the larger width is negative and smaller than the other endpoint. seq's default step is 1, even if LAST < FIRST. paste no longer mistakenly outputs 0xFF bytes for a nonempty input file without a trailing newline. `tail -n0 -f FILE' and `tail -c0 -f FILE' no longer perform what amounted to a busy wait, rather than sleeping between iterations. tail's long-undocumented --allow-missing option now elicits a warning * Major changes in release 5.0.90 (2003-07-29): ** New features sort is now up to 30% more CPU-efficient in some cases `test' is now more compatible with Bash and POSIX: `test -t', `test --help', and `test --version' now silently exit with status 0. To test whether standard output is a terminal, use `test -t 1'. To get help and version info for `test', use `[ --help' and `[ --version'. `test' now exits with status 2 (not 1) if there is an error. wc count field widths now are heuristically adjusted depending on the input size, if known. If only one count is printed, it is guaranteed to be printed without leading spaces. Previously, wc did not align the count fields if POSIXLY_CORRECT was set, but POSIX did not actually require this undesirable behavior, so it has been removed. ** Bug fixes kill no longer tries to operate on argv[0] (introduced in 5.0.1) Why wasn't this noticed? Although many tests use kill, none of them made an effort to avoid using the shell's built-in kill. `[' invoked with no arguments no longer evokes a segfault rm without --recursive (aka -r or -R) no longer prompts regarding unwritable directories, as required by POSIX. uniq -c now uses a SPACE, not a TAB between the count and the corresponding line, as required by POSIX. expr now exits with status 2 if the expression is syntactically valid, and with status 3 if an error occurred. POSIX requires this. expr now reports trouble if string comparison fails due to a collation error. split now generates suffixes properly on EBCDIC hosts. split -a0 now works, as POSIX requires. `sort --version' and `sort --help' fail, as they should when their output is redirected to /dev/full. `su --version > /dev/full' now fails, as it should. ** Fewer arbitrary limitations cut requires 97% less memory when very large field numbers or byte offsets are specified. * Major changes in release 5.0.1 (2003-07-15): ** New programs - new program: `[' (much like `test') ** New features - head now accepts --lines=-N (--bytes=-N) to print all but the N lines (bytes) at the end of the file - md5sum --check now accepts the output of the BSD md5sum program, e.g., MD5 (f) = d41d8cd98f00b204e9800998ecf8427e - date -d DATE can now parse a DATE string like May-23-2003 - chown: `.' is no longer recognized as a separator in the OWNER:GROUP specifier on POSIX 1003.1-2001 systems. If chown *was not* compiled on such a system, then it still accepts `.', by default. If chown was compiled on a POSIX 1003.1-2001 system, then you may enable the old behavior by setting _POSIX2_VERSION=199209 in your environment. - chown no longer tries to preserve set-user-ID and set-group-ID bits; on some systems, the chown syscall resets those bits, and previous versions of the chown command would call chmod to restore the original, pre-chown(2) settings, but that behavior is problematic. 1) There was a window whereby a malicious user, M, could subvert a chown command run by some other user and operating on files in a directory where M has write access. 2) Before (and even now, on systems with chown(2) that doesn't reset those bits), an unwary admin. could use chown unwittingly to create e.g., a set-user-ID root copy of /bin/sh. ** Bug fixes - chown --dereference no longer leaks a file descriptor per symlink processed - `du /' once again prints the `/' on the last line - split's --verbose option works once again [broken in 4.5.10 and 5.0] - tail -f is no longer subject to a race condition that could make it delay displaying the last part of a file that had stopped growing. That bug could also make tail -f give an unwarranted `file truncated' warning. - du no longer runs out of file descriptors unnecessarily - df and `readlink --canonicalize' no longer corrupt the heap on non-glibc, non-solaris systems - `env -u UNSET_VARIABLE' no longer dumps core on non-glibc systems - readlink's --canonicalize option now works on systems like Solaris that lack the canonicalize_file_name function but do have resolvepath. - mv now removes `a' in this example on all systems: touch a; ln a b; mv a b This behavior is contrary to POSIX (which requires that the mv command do nothing and exit successfully), but I suspect POSIX will change. - date's %r format directive now honors locale settings - date's `-' (no-pad) format flag now affects the space-padded-by-default conversion specifiers, %e, %k, %l - fmt now diagnoses invalid obsolescent width specifications like `-72x' - fmt now exits nonzero when unable to open an input file - tsort now fails when given an odd number of input tokens, as required by POSIX. Before, it would act as if the final token appeared one additional time. ** Fewer arbitrary limitations - tail's byte and line counts are no longer limited to OFF_T_MAX. Now the limit is UINTMAX_MAX (usually 2^64). - split can now handle --bytes=N and --lines=N with N=2^31 or more. ** Portability - `kill -t' now prints signal descriptions (rather than `?') on systems like Tru64 with __sys_siglist but no strsignal function. - stat.c now compiles on Ultrix systems - sleep now works on AIX systems that lack support for clock_gettime - rm now works around Darwin6.5's broken readdir function Before `rm -rf DIR' would fail to remove all files in DIR if there were more than 338. * Major changes in release 5.0 (2003-04-02): - false --help now exits nonzero [4.5.12] * printf no longer treats \x specially when POSIXLY_CORRECT is set * printf avoids buffer overrun with format ending in a backslash and * printf avoids buffer overrun with incomplete conversion specifier * printf accepts multiple flags in a single conversion specifier [4.5.11] * seq no longer requires that a field width be specified * seq no longer fails when given a field width of `0' * seq now accepts ` ' and `'' as valid format flag characters * df now shows a HOSTNAME: prefix for each remote-mounted file system on AIX 5.1 * portability tweaks for HP-UX, AIX 5.1, DJGPP [4.5.10] * printf no longer segfaults for a negative field width or precision * shred now always enables --exact for non-regular files * du no longer lists hard-linked files more than once * du no longer dumps core on some systems due to `infinite' recursion via nftw's use of the buggy replacement function in getcwd.c * portability patches for a few vendor compilers and 64-bit systems * du -S *really* now works like it did before the change in 4.5.5 [4.5.9] * du no longer truncates file sizes or sums to fit in 32-bit size_t * work around Linux kernel bug in getcwd (fixed in 2.4.21-pre4), so that pwd now fails if the name of the working directory is so long that getcwd truncates it. Before it would print the truncated name and exit successfully. * `df /some/mount-point' no longer hangs on a GNU libc system when another hard-mounted NFS file system (preceding /some/mount-point in /proc/mounts) is inaccessible. * rm -rf now gives an accurate diagnostic when failing to remove a file under certain unusual conditions * mv and `cp --preserve=links' now preserve multiple hard links even under certain unusual conditions where they used to fail [4.5.8] * du -S once again works like it did before the change in 4.5.5 * stat accepts a new file format, %B, for the size of each block reported by %b * du accepts new option: --apparent-size * du --bytes (-b) works the same way it did in fileutils-3.16 and before * du reports proper sizes for directories (not zero) (broken in 4.5.6 or 4.5.7) * df now always displays under `Filesystem', the device file name corresponding to the listed mount point. Before, for a block- or character- special file command line argument, df would display that argument. E.g., `df /dev/hda' would list `/dev/hda' as the `Filesystem', rather than say /dev/hda3 (the device on which `/' is mounted), as it does now. * test now works properly when invoked from a set user ID or set group ID context and when testing access to files subject to alternate protection mechanisms. For example, without this change, a set-UID program that invoked `test -w F' (to see if F is writable) could mistakenly report that it *was* writable, even though F was on a read-only file system, or F had an ACL prohibiting write access, or F was marked as immutable. [4.5.7] * du would fail with more than one DIR argument when any but the last did not contain a slash (due to a bug in ftw.c) [4.5.6] * du no longer segfaults on Solaris systems (fixed heap-corrupting bug in ftw.c) * du --exclude=FILE works once again (this was broken by the rewrite for 4.5.5) * du no longer gets a failed assertion for certain hierarchy lay-outs involving hard-linked directories * `who -r' no longer segfaults when using non-C-locale messages * df now displays a mount point (usually `/') for non-mounted character-special and block files [4.5.5] * ls --dired produces correct byte offset for file names containing nonprintable characters in a multibyte locale * du has been rewritten to use a variant of GNU libc's ftw.c * du now counts the space associated with a directory's directory entry, even if it cannot list or chdir into that subdirectory. * du -S now includes the st_size of each entry corresponding to a subdirectory * rm on FreeBSD can once again remove directories from NFS-mounted file systems * ls has a new option --dereference-command-line-symlink-to-dir, which corresponds to the new default behavior when none of -d, -l -F, -H, -L has been specified. * ls dangling-symlink now prints `dangling-symlink'. Before, it would fail with `no such file or directory'. * ls -s symlink-to-non-dir and ls -i symlink-to-non-dir now print attributes of `symlink', rather than attributes of their referents. * Fix a bug introduced in 4.5.4 that made it so that ls --color would no longer highlight the names of files with the execute bit set when not specified on the command line. * shred's --zero (-z) option no longer gobbles up any following argument. Before, `shred --zero file' would produce `shred: missing file argument', and worse, `shred --zero f1 f2 ...' would appear to work, but would leave the first file untouched. * readlink: new program * cut: new feature: when used to select ranges of byte offsets (as opposed to ranges of fields) and when --output-delimiter=STRING is specified, output STRING between ranges of selected bytes. * rm -r can no longer be tricked into mistakenly reporting a cycle. * when rm detects a directory cycle, it no longer aborts the entire command, but rather merely stops processing the affected command line argument. [4.5.4] * cp no longer fails to parse options like this: --preserve=mode,ownership * `ls --color -F symlink-to-dir' works properly * ls is much more efficient on directories with valid dirent.d_type. * stty supports all baud rates defined in linux-2.4.19. * `du symlink-to-dir/' would improperly remove the trailing slash * `du ""' would evoke a bounds violation. * In the unlikely event that running `du /' resulted in `stat ("/", ...)' failing, du would give a diagnostic about `' (empty string) rather than `/'. * printf: a hexadecimal escape sequence has at most two hex. digits, not three. * The following features have been added to the --block-size option and similar environment variables of df, du, and ls. - A leading "'" generates numbers with thousands separators. For example: $ ls -l --block-size="'1" file -rw-rw-r-- 1 eggert src 47,483,707 Sep 24 23:40 file - A size suffix without a leading integer generates a suffix in the output. For example: $ ls -l --block-size="K" -rw-rw-r-- 1 eggert src 46371K Sep 24 23:40 file * ls's --block-size option now affects file sizes in all cases, not just for --block-size=human-readable and --block-size=si. Fractional sizes are now always rounded up, for consistency with df and du. * df now displays the block size using powers of 1000 if the requested block size seems to be a multiple of a power of 1000. * nl no longer gets a segfault when run like this `yes|nl -s%n' [4.5.3] * du --dereference-args (-D) no longer fails in certain cases * `ln --target-dir=DIR' no longer fails when given a single argument [4.5.2] * `rm -i dir' (without --recursive (-r)) no longer recurses into dir * `tail -c N FILE' now works with files of size >= 4GB * `mkdir -p' can now create very deep (e.g. 40,000-component) directories * rmdir -p dir-with-trailing-slash/ no longer fails * printf now honors the `--' command line delimiter * od's 8-byte formats x8, o8, and u8 now work * tail now accepts fractional seconds for its --sleep-interval=S (-s) option [4.5.1] * du and ls now report sizes of symbolic links (before they'd always report 0) * uniq now obeys the LC_COLLATE locale, as per POSIX 1003.1-2001 TC1. ======================================================================== Here are the NEWS entries made from fileutils-4.1 until the point at which the packages merged to form the coreutils: [4.1.11] * `rm symlink-to-unwritable' doesn't prompt [introduced in 4.1.10] [4.1.10] * rm once again gives a reasonable diagnostic when failing to remove a file owned by someone else in a sticky directory [introduced in 4.1.9] * df now rounds all quantities up, as per POSIX. * New ls time style: long-iso, which generates YYYY-MM-DD HH:MM. * Any time style can be preceded by "posix-"; this causes "ls" to use traditional timestamp format when in the POSIX locale. * The default time style is now posix-long-iso instead of posix-iso. Set TIME_STYLE="posix-iso" to revert to the behavior of 4.1.1 thru 4.1.9. * `rm dangling-symlink' doesn't prompt [introduced in 4.1.9] * stat: remove support for --secure/-s option and related %S and %C format specs * stat: rename --link/-l to --dereference/-L. The old options will continue to work for a while. [4.1.9] * rm can now remove very deep hierarchies, in spite of any limit on stack size * new programs: link, unlink, and stat * New ls option: --author (for the Hurd). * `touch -c no-such-file' no longer fails, per POSIX [4.1.8] * mv no longer mistakenly creates links to preexisting destination files that aren't moved [4.1.7] * rm: close a hole that would allow a running rm process to be subverted [4.1.6] * New cp option: --copy-contents. * cp -r is now equivalent to cp -R. Use cp -R -L --copy-contents to get the traditional (and rarely desirable) cp -r behavior. * ls now accepts --time-style=+FORMAT, where +FORMAT works like date's format * The obsolete usage `touch [-acm] MMDDhhmm[YY] FILE...' is no longer supported on systems conforming to POSIX 1003.1-2001. Use touch -t instead. * cp and inter-partition mv no longer give a misleading diagnostic in some unusual cases [4.1.5] * cp -r no longer preserves symlinks * The block size notation is now compatible with SI and with IEC 60027-2. For example, --block-size=1MB now means --block-size=1000000, whereas --block-size=1MiB now means --block-size=1048576. A missing `B' (e.g. `1M') has the same meaning as before. A trailing `B' now means decimal, not binary; this is a silent change. The nonstandard `D' suffix (e.g. `1MD') is now obsolescent. * -H or --si now outputs the trailing 'B', for consistency with the above. * Programs now output trailing 'K' (not 'k') to mean 1024, as per IEC 60027-2. * New df, du short option -B is short for --block-size. * You can omit an integer `1' before a block size suffix, e.g. `df -BG' is equivalent to `df -B 1G' and to `df --block-size=1G'. * The following options are now obsolescent, as their names are incompatible with IEC 60027-2: df, du: -m or --megabytes (use -BM or --block-size=1M) df, du, ls: --kilobytes (use --block-size=1K) [4.1.4] * df --local no longer lists smbfs file systems whose name starts with // * dd now detects the Linux/tape/lseek bug at run time and warns about it. [4.1.3] * ls -R once again outputs a blank line between per-directory groups of files. This was broken by the cycle-detection change in 4.1.1. * dd once again uses `lseek' on character devices like /dev/mem and /dev/kmem. On systems with the linux kernel (at least up to 2.4.16), dd must still resort to emulating `skip=N' behavior using reads on tape devices, because lseek has no effect, yet appears to succeed. This may be a kernel bug. [4.1.2] * cp no longer fails when two or more source files are the same; now it just gives a warning and doesn't copy the file the second time. E.g., cp a a d/ produces this: cp: warning: source file `a' specified more than once * chmod would set the wrong bit when given symbolic mode strings like these: g=o, o=g, o=u. E.g., `chmod a=,o=w,ug=o f' would give a mode of --w-r---w- rather than --w--w--w-. [4.1.1] * mv (likewise for cp), now fails rather than silently clobbering one of the source files in the following example: rm -rf a b c; mkdir a b c; touch a/f b/f; mv a/f b/f c * ls -R detects directory cycles, per POSIX. It warns and doesn't infloop. * cp's -P option now means the same as --no-dereference, per POSIX. Use --parents to get the old meaning. * When copying with the -H and -L options, cp can preserve logical links between source files with --preserve=links * cp accepts new options: --preserve[={mode,ownership,timestamps,links,all}] --no-preserve={mode,ownership,timestamps,links,all} * cp's -p and --preserve options remain unchanged and are equivalent to `--preserve=mode,ownership,timestamps' * mv and cp accept a new option: --reply={yes,no,query}; provides a consistent mechanism to control whether one is prompted about certain existing destination files. Note that cp's and mv's -f options don't have the same meaning: cp's -f option no longer merely turns off `-i'. * remove portability limitations (e.g., PATH_MAX on the Hurd, fixes for 64-bit systems) * mv now prompts before overwriting an existing, unwritable destination file when stdin is a tty, unless --force (-f) is specified, as per POSIX. * mv: fix the bug whereby `mv -uf source dest' would delete source, even though it's older than dest. * chown's --from=CURRENT_OWNER:CURRENT_GROUP option now works * cp now ensures that the set-user-ID and set-group-ID bits are cleared for the destination file when when copying and not preserving permissions. * `ln -f --backup k k' gives a clearer diagnostic * ls no longer truncates user names or group names that are longer than 8 characters. * ls's new --dereference-command-line option causes it to dereference symbolic links on the command-line only. It is the default unless one of the -d, -F, or -l options are given. * ls -H now means the same as ls --dereference-command-line, as per POSIX. * ls -g now acts like ls -l, except it does not display owner, as per POSIX. * ls -n now implies -l, as per POSIX. * ls can now display dates and times in one of four time styles: - The `full-iso' time style gives full ISO-style time stamps like `2001-05-14 23:45:56.477817180 -0700'. - The 'iso' time style gives ISO-style time stamps like '2001-05-14 ' and '05-14 23:45'. - The 'locale' time style gives locale-dependent time stamps like 'touko 14 2001' and 'touko 14 23:45' (in a Finnish locale). - The 'posix-iso' time style gives traditional POSIX-locale time stamps like 'May 14 2001' and 'May 14 23:45' unless the user specifies a non-POSIX locale, in which case it uses ISO-style dates. This is the default. You can specify a time style with an option like --time-style='iso' or with an environment variable like TIME_STYLE='iso'. GNU Emacs 21 and later can parse ISO dates, but older Emacs versions cannot, so if you are using an older version of Emacs outside the default POSIX locale, you may need to set TIME_STYLE="locale". * --full-time is now an alias for "-l --time-style=full-iso". ======================================================================== Here are the NEWS entries made from sh-utils-2.0 until the point at which the packages merged to form the coreutils: [2.0.15] * date no longer accepts e.g., September 31 in the MMDDhhmm syntax * fix a bug in this package's .m4 files and in configure.ac [2.0.14] * nohup's behavior is changed as follows, to conform to POSIX 1003.1-2001: - nohup no longer adjusts scheduling priority; use "nice" for that. - nohup now redirects stderr to stdout, if stderr is not a terminal. - nohup exit status is now 126 if command was found but not invoked, 127 if nohup failed or if command was not found. [2.0.13] * uname and uptime work better on *BSD systems * pathchk now exits nonzero for a path with a directory component that specifies a non-directory [2.0.12] * kill: new program * who accepts new options: --all (-a), --boot (-b), --dead (-d), --login, --process (-p), --runlevel (-r), --short (-s), --time (-t), --users (-u). The -u option now produces POSIX-specified results and is the same as the long option `--users'. --idle is no longer the same as -u. * The following changes apply on systems conforming to POSIX 1003.1-2001: - `date -I' is no longer supported. Instead, use `date --iso-8601'. - `nice -NUM' is no longer supported. Instead, use `nice -n NUM'. [This change was reverted in coreutils 5.3.1.] * New 'uname' options -i or --hardware-platform, and -o or --operating-system. 'uname -a' now outputs -i and -o information at the end. New uname option --kernel-version is an alias for -v. Uname option --release has been renamed to --kernel-release, and --sysname has been renamed to --kernel-name; the old options will work for a while, but are no longer documented. * 'expr' now uses the LC_COLLATE locale for string comparison, as per POSIX. * 'expr' now requires '+' rather than 'quote' to quote tokens; this removes an incompatibility with POSIX. * date -d 'last friday' would print a date/time that was one hour off (e.g., 23:00 on *thursday* rather than 00:00 of the preceding friday) when run such that the current time and the target date/time fall on opposite sides of a daylight savings time transition. This problem arose only with relative date strings like `last monday'. It was not a problem with strings that include absolute dates. * factor is twice as fast, for large numbers [2.0.11] * setting the date now works properly, even when using -u * `date -f - < /dev/null' no longer dumps core * some DOS/Windows portability changes [2.0j] * `date -d DATE' now parses certain relative DATEs correctly [2.0i] * fixed a bug introduced in 2.0h that made many programs fail with a `write error' when invoked with the --version option [2.0h] * all programs fail when printing --help or --version output to a full device * printf exits nonzero upon write failure * yes now detects and terminates upon write failure * date --rfc-822 now always emits day and month names from the `C' locale * portability tweaks for Solaris8, Ultrix, and DOS [2.0g] * date now handles two-digit years with leading zeros correctly. * printf interprets unicode, \uNNNN \UNNNNNNNN, on systems with the required support; from Bruno Haible. * stty's rprnt attribute now works on HPUX 10.20 * seq's --equal-width option works more portably [2.0f] * fix build problems with ut_name vs. ut_user [2.0e] * stty: fix long-standing bug that caused test failures on at least HPUX systems when COLUMNS was set to zero * still more portability fixes * unified lib/: now that directory and most of the configuration framework is common between fileutils, textutils, and sh-utils [2.0d] * fix portability problem with sleep vs lib/strtod.c's requirement for -lm [2.0c] * fix portability problems with nanosleep.c and with the new code in sleep.c [2.0b] * Regenerate lib/Makefile.in so that nanosleep.c is distributed. [2.0a] * sleep accepts floating point arguments on command line * sleep's clock continues counting down when sleep is suspended * when a suspended sleep process is resumed, it continues sleeping if there is any time remaining * who once again prints whatever host information it has, even without --lookup ======================================================================== For older NEWS entries for the fileutils, textutils, and sh-utils packages, see ./old/*/NEWS. This package began as the union of the following: textutils-2.1, fileutils-4.1.11, sh-utils-2.0.15. ======================================================================== Copyright (C) 2001-2010 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, with no Front-Cover Texts, and with no Back-Cover Texts. A copy of the license is included in the ``GNU Free Documentation License'' file as part of this distribution. PK[wHHsh-utils/ChangeLog.bz2nuW+ABZh91AY&SY dT_c`ξ5oJ{={n!Swǩ[w7ׯ{'@о4_@5PnKJ )ru TBk!>`ѧs4k@iw.t{ۼ{Z֛`{֝r^ox P}ݲ1f۹mk^v$w\-ٺ={a|/zofW[vbVKlwfgKYw:1k\eçJ ޽4"py=v쵮἞{w2hr\N8Cvݝvs+$͗׻u[wwSRQ5E1MA5BU E1LAJRĕIQUMMSC@SM@IH4-4 1)A@$TPĕra()jZ!jʂj*)*"; I R*$)j *)b *f n0ɨ GdEFď59ţ%oș ;hٗ0Tpe(uC?ikg-)|rſ}6^7[‡ LĭS mN]91%&RDbd_. x{/x M2-$5dM1{|*p0ot]B,ڎ2^1`F[kw4al"M!эgژo%ʢ:G?[hJqѥ|,(I_ ,W=x22e=`YDLTPe1VYfffS4YUe`eIDQdUee4SA1$eUef4ReU@NfeDffaUQAa4QSS5-EeDYAVYFD *DZ"l̫2>"YcSULDE$KC45M0UUUDE~((?J&""uESfcRMT33!EQSVCw|q,~iJsAĀ#E2JjUNd }B_vZ̩%X^Dִ }MX3/'J/^OoҺ' 5ުtxiTaùww_S7Oy58*!ij5 KЂ܌Լh=Ni< 5g~)Zfoj*h&LS4m#Í>mt A_3 PI YLPYR3ظDP\vT{^ D5a^n^I2'9;"PՖ!ˤ#{.q]zꛉʣN@AAjңWoxD3]PAr]FKfd'.O9 jt5,\h{]M:;I0:0# V]?Ao#Ǟ-/y{IYLK,|ng~8I 0.voxDVJXGQr&4bi!Hi4e^.3Ϫ7[^Ơ7i=@Ldk# j)e0NVTN NNıVX1W VF></s)no˥*ڪ%^vs &ӟWH5w\wv^% _×R&nn6{z Ue." Եt/ZdBXpQ^cϝ7ʾ}0fHH/@7mDؖ@~h.Bc =蓠ޒ"G h ((PX3`T"]'gnc;Ll/n;+[51;3FW y2ɓ6ŵ1dx`T+_f*he_`CId[8H-Q=|. woB(}/=wJH,",(H?r.A'NBqvt;%q6S4vSה(U _.}Mw1L?VB\h˱p#}3<8TyҊ*idEn׃>AFTESdpY)8w>tPvpzc)__z|?C_J0ѭ'bIBgK٪kB^CRE&Ҥ̰^oѸ5F?5JTӎ縋x!V:R\8ST,98PR[UQJm^ RQͱqn3ݩ}L5M\yGڟ#`:Woq]=w6[7j|@N|8 OBbZ~N$j}١GNZc;";7tθ%w3y${v2`2h'>A}@~Inܗ^mwpWސ\#U ˲B^l4L naw[#0˱X3}.uЫ]5 +re,, (B}̞>>',=}s $2Ʈd:q^1Y!|$VIam}:%}ingO>zx;tG+7*qp2JqdviK75F,*,_)Ua vatQx{n~ FQu& $v8Zp.GUfǧZGظSoD#~!"wkIPSkHhOڀ<Dq &/@I x'ځؚ,]~hGTO Bf˭T} 0FYx5D8gaq ϝDkEAqtf5PO-]*oW1x :,=޸ R|s^"s!MU]@IKzwnj[a=QXb$]&ft>&,<=C,!iL% ȏWaR`Z! !F”nMM]~7a( G fǭ5`,Up9wl&P͟8cr Rjs^:TڠCO+/o0 3̗uImR&|c. x`]GL!}匼$ o])oBA5 [O8@?Yz.8KW9!NK])CSWv @"ZEL v4i5#CE#LU쌝C(. x0~Pe! W ,q7=i\ ʠ3hRY} IR F?oyZMHg b y=HA2vHVe=wLcތ۔Pl>L0YARZ-ooDoNrZ ks+K\0H D^^.Su:!z1V0532s9 .*X+ΐu>[ۉK$ 9O8C> uE 7?߀qc܇KOd)&k&Ab+'T=@,=@^BKB>#Ww,e05Y"Q6)Q KcləY!IuGx ]>XI=Tmqx_#Wd]F oIecfS 8׬T" ⷇0~ fWN3h# TFT~ 2FZ$WW~Q^]I;5a7Z]؞"]JlT\eZEFl;t9{NsXMK/y mb~ &dPnZ-9:~B9VDHR3 L''J1w4T)z1\}|ڋ9T:\BJ\ ªm^gtxL]&׳5LqUݨs degLatlc4!!4)5EgUI% @gGQ|Kgx^YϜ,g|.ܨkNޔ ޚ-ox꾚]0K=]XrԹ,֡.E> 6dIH١@˰g x)gUyy(WʲrX70~ۆ0{Y^Wn$&ڄ@b+Pe}0v8NS,Ҋ:稫1@F'V,hUm K 8! |Wve\vst.vHH*C1$@ânv~" F?j>C [$: =@٪ j GIF򮡔ἠ HlH$(vHlx#$!zm2΁`IuT4>ؐ$$o[Pz֘_;LUP 8Fd\/yGJ=<51+[h:_ FCbPY)Bk`}Qh'yvj@ O8N~lU#pwdz 7uUPSHF'4g7"&'bgS{"+i;{~!0c¡]®ۉPȎwԒ ycu[ MMVȲөH˘C7%Z;^ sxaYw@(|%~Rj)@- Q([RU^̅9"֯`vupXf8|x%Sd*۳FݧT0DK]k}, :%(D0&i)vؔ$4sO" ~c3>~&wpBu-ب}a;",bK)w=(^kZ]ƶHQ[-~Q}Irg{@z9!/ Q8_vjXEdyՍ0}ӕKFaC9io[ottL7EҚtZMj[J!<+1.v\Q=km)u^zoD1zU@ez\Ê ȸdc쭝BG<-AlAB$ !"_] A TR  SBІB8$@P2 ĆT ȁb.X5b.4-CGm:;ܒ!uӎ-hd䞏Љ8t^!I90_Ks\ZKr+0^# ]귪/ U)~OZ p A*-h*j LJ I`bY̊#ܹA38)!6?#;TOZf0,"%_E4ܕ:& rl䡆).R@@raUg˽s{6x51I(%%)JR z}{מ. wA}zO>lRU|0ߐ(TcNz_(C GA>/xhLޣ@++4uGK35T=(swXe!9^>5Sܘ6tH3̙~ou:MeQ~CvR$ɛPyv|Kǥf:ISHl؈"n!X(娸tOS}<mn-?!{:;)v Q+ViR\g57WW5dvqŅe} )Ԑ\K,u|lЅ:(ac i|C Aa ; #P]KÚENBQ],6\wWmyvDї .euM2]ԠPExM*&Xi.:'GosVg$) {MK-oϹa]h_{ >ϧ7XvT<˻$i*ylhApjr=W{jZ )8aHLpWdYG\h=3I,%*v$NABO\8*%D+ A.3@d3)Ȓ@ՆJ8I)Ty[5T][!O5ˆ;s/V2޺׆v MV]aWPI=ZyK9WJޜXp|fzoqc˟~wn|?/w^OvSUo6ݾ=>8|<,} ;<8v|q!=ַ[ [_;v[y{)7ʹ|D߽t8}  rq#ykC@wyrA~v,{DûyOݜֶ2BDRTUM41 ET45MJ2"c i(jj' )iH3/&2 V((&j"*)("J&("+AUTQAMd&$FfCTEELUCCYdEYPLQUTQ0IDE0UQKTHMQT2SD0Z%)f("( ()" =^*{FEYDM4LH DDSED@UE+@MUAD],ƻ 8U4X#{~* O~ѿ1o/P"sm#ꀞz;._:.,|mǚuJL?Cq3[\#^" {2Xq Azm:h~%|j.eouʫ]+PbZY1۟_>]%VpX ٤p 9/^aIvBc.dP_9AA_^A8@6olND}|{-ab?.&v ޜ\K@sA^i*$hkXTB8ofě&;_(6輱XtEj%$ծY#(\4dA/%t,kuqM/Wf{nv}mܨ_b27 ʃzŅC!Â? fO#fv41HlR&07\?=~j_ܚ&}eyF O.۸3nĮw"^[ecy{yVL'̺|Vs}ok |R<A D: JzyGmV]Q4$ 1JI=ˢWͱ&|DaH&:R& )3j7]ѯ k+s»CKwEJr^ا:Ԫ<(ǵEd>{^27mJSQ:򲦺0G}[e,d}YQ5~W䐛O#1͢ ۂ-oF|U7}ܑ1܈O&g.gϽ:HNkۦg" ϓv_S.w; ̒Ӟeّtk͊ߖz Fk{.{>ȸL2"C3Gj j!wCR'l$# J[.i1MJ.ٞͭ*W7Z"|N w{;T J5d,ST!>i?%nj'ošrfa" 3 K5p]:ua@!䄠s9ۗ)iAPPâIdRLi(ur%%!AD͜"k(C2,U.`HP70wtaJEI=be1zx0V10UfDjȧը$HŒ@#VJ8IrlDRw+>NQӤC$IWkO.ݧ)bayrTݒnl):w#1]WcY.3n',[j\6G!-'tF'CTD*˩Wwp$YMje>@/1{>gzo5}d_sy^oɝەŚC3V||ss5VBB6yc@'q¹"s F<3Ôym@>N7{*ɱ@P:Xzzn tYn WD~c$>bsݓJ C]ӭS?{f~ *}x-+(z)\ЯWuUHJݩgO<% ǖVVOh˛xž^`E[ud'!BjoF>vWNtwHc$βf^۲dя hN-\:!UdlPjvRZ(RJQw6vJXR0͌qdhEA2}SG]r$u?gD|OYM'x~5-So28oӓZw BeA3)~'y|S[?DME ߤ0׈Dj$x*siqD1Šd[Դ'“7XX$tF8MMorFȽ]Z2%|8?|Յ{StTb៷t!YW d<.g9?_fcĭ7^8_XNP{;`l#6L~&=нWIU܉|)Y^Ϻ7qՋk$'gA?{jl[? W'{0ڹU$?ݛL'g3bp]VGr8M9VF]&y mIҥe+ۦۣսm\gߦPUmպ=]3VXZuXب̊fI&HZ1`һU]'8f~`4 0ݎϮPLgr5}$Q`qu`5AUV"qJ;Bx4l q('hEɆ AbGBSOC˚T"+s wWXy.mB3LO_FyɎ#X_l`7W)V^Lъ?PJtO&řS l:z1ۢȌ3wB&ϧLQ~{_gnӊeךU (1 ^.} s?f *;ͺʩn:4DO:R{%ǂ@ؘi kYq݊ ߣ\u_ZWAu׏vE]xi{U m7SOCYJ/ct;e,pWdu,3U#ȿ'a[/G䕗-v~ u&o 惙KՔzb3Ә ,|tiZOz>~[dSV,'8BzS8'\ׄO=,$_FZz,>-ɼMUnd.iY]hhڷxCI4`Y3rD?2S݁@?|?ќ}D?}?(lrWI??L|ߣۡFC_1*ɣ ~g^ ZTs[߯pW4u!\FxپhsMX+7p! vѿ-u p{0U5+Ǯ5h.5KR4vFׇ Wr61kM\3^n"!dY|Kg"*CZլ>5Zo%T&02ǻ8m|&^4=F3f&\cBAD5l U>PW(p еt?WBa,U7 .t>/y7If}Zsfb9 nV{=Fr.毌< 4tfŽf#3\nWsZt|A kFZ( +!҃=xgJYj/فQ(4 E@K" sA MDm19@pR"GWfp,..%$$+a=F&o|Lo-pR{Hq=i \%x\p>.p?|G^<!#Է/ -äqa ?jtgO/h<7s[SlrV^xp tSK&A 兢[qeE֠ʰkI,Ie 9?# 6OFby(:ЇLTNԆ0Kh<(o` )p0W"f^PVG݁"e[OSg'Athph j2F$Ia|'$ѪȢC9E09"~gn>\zS)G֔m# J–ZmRәBjOLbF^Nrzug(Z@&R%"PM$B(ŭkW/keWI8VS6롂8=l#4&*0SC` `~T6&t֦hjF ?S c"#`H, =:?]H? OunU$dφarS%~b줋oZ).eY>)cF8Hҵ cwv[#,W]Zxg; ,I߆M3LB"<-SN Wf=lB|t D8E re2RjK92Ca )::KiɊc'w͔ K*lg3G*k&SQjЉbyÉS2 䃥H]EͥGsq,PaR@!D9]yUޭ*/0nF Ndx' 䘀;QXWLj5uhz0k4pB}&H">xNA16Arrq'"՝3݌6B9 8U`$Lkffʿ&1#?\N;R֭3@'FG!(U؂&&.: A,3\h8CCw#C6a bf&QD 9H!uBcZu唥~] 6b`+nyw0xݮ̙q9LᙔRUZɰvf۬n^ McCȈ2C;V'3>8k'QK5fufh<"$P!#qQ3lQ"Re$8Â?߀B&7iUjJ1Gȹ|C1\>Gꋶ}hKxgZ9.!y/FIl$M#|(R.HjFY̴&] UU-~w,‰9$]LP%Ra\`R L%N&lJ#:0ѐ$uek]N5tG{[qu$& (( , S2;YO06:ZɰڨaSPKQJqjtamY4ͻbS^h$wlԒfLV6M& TA6y1R' 菟V>k[ЇO!8Շ`|"lÅ i96VMSeW(2eE dmB $={iS\,tC s.[ sw=-pC6vmuumz;YC[lGYWS}fPs>GS"Y?#cG/cGIƠCs?bG@$AEP2)TD'J2$"j&udKK QJkX0XB" X- $hhO߸0ƻVc9Tm28~`Ac"?BTj'7#=`ʏf ߲C5`塬h{0E6ݾN[\ʇgz_P~rz6UD3 ?BLxCbo/ QJ:BN|h24@.'^1*X] JEn'q݀ ;Dݸs,2n7S.M4dzHr^L` G13 D!+ݢQBDJ)H MDQT@%%I{q\bv _ƊJد,wFbl0C!k~6n^mL _I)pD9X<5T ˆ;0 H#ǗU7bIt?O<,Ĝt4PIP1g -,| UhQkB$qt;?Je2Q6E "ȳxCv$Ɓ͸<g7ՓP.`a~S#=VnJy=s i㙨I77S'ގa|Q2D$@ }|25T&qܷ#08Lu O}SrX!AB 5)D{|, 'l,*MEPU SDAPBID5LԤRSP7#H(`7pICMtRj|kɒNM RJ@4ϹJ_>V&.!\w7Z]\%*]>DChs%/RBDBjsJ4VqYm}M ;4HbUڕ"^Gt&LD uqI HP $+_=KH' Ү/e+84RNeE([#:0`lW8 q#YpnrinG| 5>Ih1lϪ͍3fdP}ۥZ#vƄ &z@pȠ p6$E>c\p=Q ni ¯Is)or 1]#c`7q3Q%QCfSqjuȪ (Tk,x$>I!̤CAU !E(1HE(U%PЍ QI5CEPPDA0 AE W^פ(txt0PMG-2M0iXJmiG1&bC "LM LǢŻ'$A9x׾eF5ޜ酺OQŎn-< q!pA gW;Rp*j! \k,'A*]owlsӻB\40tI22,UBYvAT[&XPo"F8dztwWo$%WMl5O5ٓh[;aP?ی/"λ2KB־L(gztS wa,>sD1qJ 12@4H \+v]Dz!:Pl:CD@ZpB4c&8h0 e+'[mj<؁Y B&%ݯ t pT zݰ>v!zy43\V >e }㼮Lș$'S+W5< }ր"wv@b GD p;5zUn svk@5NTv' )V[+/_LhÇg 3HjiS#aάQD*;ԓ+_DNk_ˏ_.>e46t8%iF',9# hhBUZw=C$J0L B`"P@)(bft^ !!#[%0&8zN{Λֱ-UI ._t}ꖡ_-CFN?ZO?( ΃Z.3% ;ieX#QyKMQ l}נu^ARU D**$+FCWtHw&֥Głn˿_}ziEw[?wLJ[ǎ ð=N7oڢ6JLf˯1]q3~2ԹCL{#ݜ4˂T=G}07';e~Ϫ'3?Zg}$,IنSqbSDRÆXD`x^IjlO'xc?UDbʇSa4kO6 *.]ycD{:/O[3 5~yZNGxyx{ax̹Pt鍍|N)f~>.X4l}9GbvI)o}5lWkymv37tPGo>ԪEj}pٽ}vgxo,9[W`_hu* d]m"A8'2sVL\Z=%Sh_WJsvlY1wwH!!_>2J'+PxZ; I 9oj`ő8GK`ׇmo\;*)w?G~ON|~$Yۋp0ziiO"vmjS}JY,ÈOs!gȁ  atCKilq&%K?./ZO$P:f:|<},Px(0PePjI$д 6뮾 q_hLf PH@\?|.8jX]7Zˢ]4 CTUeMf@6NYz)MKdAar8IV*S =M:U E}P'i(q )}`h]Wބ}TJb$`AY|'aEZO("%&$4Ď.哖 ϣ5qdH S0')ߢ=d L=QgRnni%!_ϑ$H7]~$G~1;{3,Շpu؛=F֕HiPQj&4'}X@N;Ҿ[l8a-MÝH!65?:NFV !fR޹xCFLs07vD ^~|@X8@u讑t T;"ozCl ?gqH&sx}x[puxc'fS73&joSOѬMynN{ oIO@h)bO0~ S[/d#o7`Õl%Z3Ydͣ b> p*~4ae*`wԇQؿO)G̋ыRQ|'=;Ovb̹Ps nR"~4a2ֈ3{p0%(hώz~۝%#LK@SKNduwˍf.8@%.QׁЪRE8 M(jjP({iM HU I'>:tY#-$N7$c#}}AZ58m^8>h͆Hw!Kd@J^:N 3])@61BUk~/GhQv8g#6X%ڔriRaE2T:]ȦՔVdw /ԟE`)k! #~G;^ 4`S2ҏQ`.C[I7sݾl\I羟fsYK`2A 0&fymPSmd14VV FU([ (ܘ!C1-*p6 oMdHZgVk;T#>>QkǀZU[ZsEAIkۡ]i#zϱ|`;E9ɸD>1w @|}Nv8d)3DH֚, H"l 0q)r}c\N|QyPw53#$dEu t_,iaW%F~Usvoa4:!');@'̀oOLY bv *a2 h`d0i0C+e[q,7mƒ6c^Cø>{Tݖ6J9P3fYø7] @o@}a$awKºԙP`ྗ31bhA"!Dc)Ój2܇y .gT}uA_k }y6;szHFm8sT/mpT8fR"0xB1r VjpFkL+e+bnҍU;KceÒH|71Ƅ XA2H?fmiZadUw@#[((KzCq[*A%leclmǗ[D7!AEUƔhFu@[}ᲠaXIblđRȕi S}˟[ob> FbUhRH~CJyΡfc9fc!rxaZ6h2FhE3p&^{ssLw!~Ʀ .k. DX J,b9(1TZ! <'o~@q|B(l dbhA c6exO 3?}XFJsnS?Ob =v;XHo^TPKw::Ѣ8d y;Fg9xJ*2F >Ә1BD>Thq*ҡ˕,q/bbWk# t @'*.Hȳ2ĤQ~+@:^6*RgO~Zm>KC-?iqP+ȼǡQg<:mjkj:pCDBFᇈ }^2D؎/a(<;!ì aoupJc@9{NsoYn%6AxFᎍ{@t;0^"#@r&ց>@B4qh'5 xJſ=&DKsQj4&ZsDg|o3ɔd 0-e&J][n9$+LL1z&BP܀iCKB05~I(QX)WzW[,qn/yPӇ>:a26\{~8xe3 pb3J7XZ*nD:0W^I!ye c8툮MVbEg2VFD [P0ZrɛN7.Fxyn0i4K\Ɉr/+~WgP+ӥBF"cx : FcINZ[>hh];],1+} u]7뻊j/bӟUY;r:-8^?[z65և=e@j|[J<I0@R0?DC#O#:򂳧:08DRAATzO 1jfI5(4rnTXq2GUu&~㳝y@H%x' 9DY:=re{w$H2uiǍN.,8bMӹ*QH(GZvQ_Nm2yziJAά5C"32 A9ihJD&cnֳ!i ^d OgdC8,N^Q$7F™Ǘ&E6 >:"bFXSE,nOr}Xw:8w({v4~ˣ6!O"$dɕ%[̿ڔMZ5Cf/Aule(`&&Y7ݑbrub`rᄍHA.hΐ5Ti>H@+&ȌQp*VmTɚm 8 >מK sdfHFxAI@ERI#QPEL AB>`h*gsчgo Ƅ1y^}:kJC\xno8N5؉\| M$Ś`$`첨ܶOF$"ݬg#Z+uv]z%b!H~{yzL?@@}r$CJؑa"э:zb%H~ dF&qc<|kH("u{S-5nm#˥]Ļ p|b045/~C$o}rcL^Dɯ.Z%  Tpzo*Is 39]!>黖&?}SNHcM?Y;[W }pm9LN bJhZ`P/W~H+|3M"cNPCf }4s^=әD/lh@p S Mts:U2uNR ŔaBRq/>>񰣣Meqr4( @4#1 P`q9+i)\x.}Nȗt# Hfd cTe ^3:WS=I5T]"$GJ(/ڛGiz=Gq\>ȟ47iccهY9TK2PYFJwe{Ķ´p {SE>Ŀ:AVBHp?I>6F t Yu_/ϜAPdO { o]00ڇX"QlToaso떞|9 !gΏoaO3[ wt"Ӻ_K҃au4Eb C<=Ae-|V'o$V OS3)$%ݻ|(z*w*&BfSc~V{OcNWā4{̴ Έ&r`]pO!s#uӷQePxw\+(:~ߝ` ; #5P2lrk"\Nz3 i=0[u^Te|tW7ϽXtA}aʳ[Oڛxru[oٛ,w筍}sDǯ>->ye76\#<#;B4$k ɡLXh hJ׼\$ӄE.@䊗f:{?ϖJ7;kRoANHlć:?0|u Ҟ^}a}EFˡ4y0!Lg9ۍ!DbL3w3{yl2^af3&] thɂJV$Ef7ԢCiVE4tU*o~^@QyE 'U⟽%nYZ}z"""/͉)rDpъb}qDf[,?s2cvaABUgKfH@V8D|N7A n8%TVv( EcfE}`~ǞHSߦE|P n BnLH_l=b1PRTL!H Rz(gB̀2䌶jkh́?h^C@-).Qܼ2Z2))i)B%ʃ+km d"H< LKW EHW`wwwt9z ) tDʅ$ !ܧ?Sy!9D@4k'X]f3bpF͘OXE9W tq-j#E ř9Т@$AXh7YLT@Ua@)M% D5 ǯ05Z6nj_gMQZA8:Oxi5累b!4L8Yq3)wQ:(VTd 3~ӫWX]L/?iA,aߙIUbnDlRZoH֚p% L1xe䄃C(I󝞅;䖅)DZ**,w8l& ڔ,ls3g$ e)mN';"A0Ok%eޙTXdXj,CuŎ3 cъ81F,ru޷V{zyc88: "K$JLL.!kcgM8أ# e4$SDE*^{m)o`d3wDUA40ބ!>wp!ZFJ@(GR#B @% P_cyn&"UD 8B' 2);hDַ{z'醅FSMɇ#LVQ4d͌䕜7F?3sviCB4I?Fs'o "YAY"Wnj屖@zX{kȧٰ`P[C.t h=1cs;(}#Za8+ϭbk_ ?G߳{Df;}7.{!}k `N'@߻{F^I~[=Z{s{4r;>͒[C]9ez=wӬ-JТ,Ď]qƞ~"SK/@ct*v!KϨQ"BtKI"lhBuvoa<%CCo&GO.!2͒BBI'rԆ*]uZյ>W ho x&GS\L; ޷-&OH”Hh|{y[MzLn^\͋=`0cM4)@4A Q-C% PL,A)KAJU4QE1Qȍ }F;6w!zCa:Rg:ʷ} $c -B`R׬j\1ϊq[S{ ~Ohx<he"0fh 2:)ȗW>X׹zw.S0=WF5Û<յ&$q4W%0L G35af/1ɳQ"@ ^7z#iȤ Cgv _n*XMۭ*SX$;^,}Eh(92dv3zF(n(m"m)4yr0X)ͦRS >+ ^>@ HqNPBy?\?p<3RBi}2hs ΃r5˧j CѩopEPAܟFNM(b Qq&j=0a (g:d|kKE%1:mS͐ j@2.)i 6{B0UK[TcM ԭ a7xoDj6{WZiYK{كՉ&6(bU(1-Ukf˳{aPZR54jiFY#\e!FV-ۃ,ˉ#֔b,G(.hWu&)0+5=9B ^IVD['%dhG(2a)R10b أtyo]iaBE,gP x?&isp8/%عoɈ ȥ()̺l햗;7M\ C0ɤHDE5RB!kDM)2_vWyڔݝ0kZL_F-Fc#9j:I"xC u0LI`rE@2J1<ˣE4M?{ѥ gI aMρғBH L{{3}Y6gHpK$9+#E t]7[șHS# )i' B$]|ɔ]uN{~ O4~8åaAF0 !)C5q]%*H'I0݅pbZl!M%P]˹ 䦪nA[\ȍ7Aq.a`ɂ%B"b%`>%¤ݍ~ƛ{10M 4J<炢iIw+mHL{1JP)TԎH!( Q4,T>B .h]*4{^8"H˿H,֟c+jA ZҸªBY6QȃguZ6#=2қ({h)]]bqʀg}ΕG+ ~8\tr5Tee#7CY.Uƾ\#tW `}I:gs3qf@x'Y&bm$ix.IM!}"5D=c*~klZ\ޓm"1,1oɷ:ؘ.$ժgOF"eHfձnCy{v|CSBsxYӬu"p/%P`gKo49=pB͍=A;O"`5))T? {Wef,fl]ۉy }Y$./P6`YToOcޟ)DEC(@  /k)~wy !+- cÆY(0v.T*P'eTV'OoܲKFtz 'RQ2<D!Aq%4-"B\6EP$MT@0A1¦SrO=ETDHPI^ .⠄C|#h֙Fl0J|]xAA7[AUw@r6sӦq1N{v^M`ob@(&݂Q(PXs )VG=rua#Rgh @118L@? qWҒ$M@JqXa2HC&8.rt8!LHO1Cg3FF2&(,̫[LYW0>F<8hHhTfE9HHEi۪>0AOm1V%;@89{] $HTʙ~2S^]hX_D߁x•>- DǎTTv=CSr.z?beR+ZK O+a3'`NeJugܽ%g}}9QFY㯉lK)e=!ިKB$E-$ʴZ#$()AD j0 C4ɽb9'SIr2|csxx1޵N ֺ#U'y1Y`MNh F4B&\$~ j/Zss=1r7Mtp2}4_CU 4=z*6FE,̾7xpuvpS:C>GeA>mBoIj*B 8k3 L f?>2 ZHTV+-8NͭxNoI(jk6\$;O v.t$(1d[8_)yM 09wsMøÙEeB].?}3:ȠޞOw!x`-4 pXF'3Oq]+hj:EujP/U}1g^y\-TZ ٺfk24T Trf,2(^!OMTkzU臼 {ph&2sl U0]֣xa͞eʯ~dg1av̪*AfQmobx("r3O 8[ &١ FIdUD&Hg0Y?O(:BW~᠌ \3N1h鐭ܦM4Ih֓,pk;\օ!XGsM4V$Ui~U~27be(:nǰZB~-@i;R /2в"p8|ԪPoguUD9Cv}MDo HLJ7qcѵgf0M:`A{=0ej/1x& uJ=4DJO:`J <zp *$čʤǗes/qLN'Dz9xC{S"~ K68 2"jz+c-сL= K0S+wq/(I-5`F_88]XPuU+n:#lOBhw1"l'=hu%'*tŶ3 Wp!b)}bBWj^q}9ԓM%(ÇM~[jum"7|5zb{Q}L~%#|Ɏ@}MS?]X*\׻I<>IɺAywE8V\s6p׫*ßwBHPXJe-)(ZiܬS^ACXRdPFOX$#C H&B G>wz1k(}0:s+{zt \3Ądj]~~}8Xw;j K_r(bݍfb jbC^uy `:44&"sF#v4TLbmv٥u<ɨ9¹;]hxN987$"9Lm̆$Jl9kC;EMx5DU$K^慐kY'KWVa_F]9%1D]sMaÙt<@R*䭯zE︶7r|5Xt-S1ۉ;NX$N׉5Xt_QS:; /ʍ' Ղǖb] H 1VHB/\S&Hk:׏!zmbYvG|ERd,[ 3>{JEpA)-!ZHAVUrp< nTkh6DDÕ|R;U-pۈ $"??-Z4{Hr <7B֛)gσYU9LiK&k xK6냑d)[mjhݒF֮ ffj)J Jba@r5O ;mdz1-&r!n񄡗X "= @aԻ`_ {Ir2"<\;>M6uW)AQJ'4ު{5!~$j&) }َAyT US; PD$FM KT;GQLZ; D.Y˯z͐󜮂:m Ps"mlbY͝Ev%]n9sآ |m|WBjQRXglt1fBv8fTt喜Ek3ԕsC A=4iNp<f{L)#2MT,9@?Sƪ '9-d ETdQى[k{|W 4AU^gnk kLNZr;l7VlbDO1( , 7nq̗b42]Ȃdg}f\b C$@]!CIgi2vD6vj=]YnJA }8PdN)!׍~yų Cvt&=ł D!tB$:F-ՅK7 AhޝCO7͖j-wxKhW/X.EC `JuQ[N f4E,X@`1=f2J!T-wy=;wB8춋 w>u[ 8HLKe(%&V2.4a >8fy`7`{׏s.5 BF]-\4=[Ś{(0zwbA$Y{txqϽeǃ\R8GUQL'~F|A4j%ke j㾻tمc =aU'B Pqm)&G]mBF#c~vb̷ZOY L5LAIó147uE̶mneq(3C^d9#Cy%"<2I Lp /t x"~ZB4DHM#DFm5 0n\.|fbNFEp:(ަZICbb`ٞNedd<%2J(\GW85ܼq}GǼ̌=o3;^sE#B3uN`J\;==JchkMm;s]ҎG(sOu7( yylN1E$WZ Pr:}d%FSC?6t09 AF1"0O:0 /Lf%U45X|\.>H>54 .B(rd4- P3ڵ)J5CA@cq̰>9 tL E02/dL#$;EZ0c|H# u+N7-8d&/B7w{DA)Zwja8\ AY۳y@5mjwY˿xvo߱/3'\ܛY]Ոy- (Di^3HCP/ 4e2(5JCwOYIu.5dQc1vHK-J9\cecڪdڎI+ܥkUr.thmq-جD@NW QڤgaܛoD`Z$p)ZrH(>LB +49! lfjg~H{@xrb\ە@=Nh &Rl 8dA{y|/|(%,S!p'LT>4|$$ dG~/NWUa J{[!1SF(YJk`Ì5\x B_3>3O a9RjK_a? a,(GBې v ^MP8#S+P}%($U(y!:8BOObѫpbYY05ĸHq:0SaZ?3 k 5|E< #"sy{I?UE,vW ^*3+@r" zY7s݈h_!{'K#Ђ@0cvT '|~>:$6vOX槩U59R u%} #,oX1)DTSܱ8S0'Ѫ 9O ,aQ 3xk;E95 "6..'&izqE QS!Ff{98醥%nD2 J-jMD_x}-N-9vO'N8yB^9 lɖywOl|LS7Ԁ0iKmq{9vnu}yne'rfn}ν3T֧G3}}[71l o e]vF7ԇ"lZz۸͋ݫ w;Nlv`zʽwVxi&hę=M150#L2dh&$4SShLI`@4`Jb$!2CQjMhhi$D4#AQTaM6!3SH F=jb~OzO(2CBhJ{(G4aAP[=h  `W$r1b2$Eb"Q` # TcHD (cb1QPb?!Y" -}y^c?!!ɘBO懮ر 8LzzRb?0?WyZW7;f SٞHx˭@fZތ}ne"D}Ǘq =aKa:_o۞kNn]u hc _[-.Fܵ"/7NOʵgicvAD@pR.0 "EqǮe1ETZDz4r$b&iT=dN9]^  +b} YJVX. D$(zzhMna:OōiC2qTsڢ(Mb_T mB$;<इt Ds؜LHO h2%-W7i=2뻛| p$d|m긾 SHNL@PXE-ҷW_ (c^Ro:1 Ń*U0( Vr/ a|o2;y—G,Z{V4Nn1:Щu(8TZ8# jJW qWy uq{gTF$>2͏d׍, ^Y+J{z:^>CӲ^x;ZG<90ˏx -\+ܰL9;]{PeϽ/6qlIUضi6Qw.- w-akt9c~? H:dG"$]丽fv q{cy &Q-1/}#| k\`sV+(Ӗ_x;܏2@Gۿv8犐j 쳦Dc+~ hjl&!v/H:=.q}k13)e͢?un+]8DNH=dxoҴSwO5?~-/&jXt{Z9xiUDԕuWE Nơ : #W+ Yc| Gt^ @]Ѓ9 hb3M=B'5\xrz|w](iu2`tz Ji.)|2:l#`9= ! wEy(om3ֶw-mпbی a^lYB B8֍Xoescsf֐QCzĔσڿ6MGѱmn1%,- 98-܈P)}繌/n'nwTbd"7b` VFRJE$"~XE􊂑\G|P2dxح~=!ڳ㈏t g6O\OF[݅nlֆT:P)KW<ƻ4Y/P]{ Xߜ_|~u}qX.L~g6u_ROTVJ6;$4zYdʾ&<Kiwajn^_ךzJ>΍ٺLzc:aesrS_?3 RM%5zh%߿[\3y>k% RHo{û4FAӍvu!qk B't,IWㅘ%E[}\qQN979:$TE'?9>~ ԰_ɎyY`΁z>sP̠Qk=;}֘(aHV$B*UBxYS6 }JaVAs)iJam 鮸Ňr:C [k]_M G=sx`wQU|M8,q~Kwn,+^8Ygw8[E^&y!>  p/3\- ƥ:?qE)s{B!wtqc~8~qA"?B[o_?m|=ǟ L1\->_1uwҌ?#nWd}zھ2rTzC|U@H>*n0OFV"'L?c1Ő 0PDdQH,EUF" U" TXF _FEY+-ZBBl*mTJ*m=C?z''N{d|xNym׼(_Doz8Щ!z~(yH qy.5`érڴnx ]* LMĂ;dC(/xyu| ^9ou|%z򳓎UOyy?æuN;s޿V;ƣu¬ qK+/W˅A9_T' @lU i "g H*Tǧ\4;߷~{RWpDFlt D~wm<" Jn~¤9Hhyn潅!yt_;r5 @r>&Et'Jy)gZXl3ꢇ21H撈 |wy=o [X?S A+̿[ݳ$sG0OY~`ď=YX?ըs8@aAߠr 4r g=\E4XUuκ R~t•+%e.\%9?8в& L&뺟"F߻{M'G Q^7l'6;Mt}烴aPMZo*,Y鮶͖h9/A}=z^41ڵM/|S?[A_ukլrԗno1͚Y8MxAi7fb7gm]Fn죋ulٜ0Ɩ2űxEhl?{~2zxJT,F.:^rÄ6Ӈ}x]+񜱇u>ŧ-!w|'k˂Y]\+| [پ^ HnX,S߬3O4;活gwN;Yv[rޟDu?_unxk7I|j5P3OǼ>C<t{7/Qn˔-GeуMLӖ :zҰ\+^? lnzv8FzԴC/B+ 賆Os}/PY? :<3:AcžrKOg;'!Q$u,$@_j{O o ,H!J@}*7ds4FQTnnn]?6r}3TP*L@ ' X@\v:'Hb%qS6/q|3{_}56m ~>I&AP Ȃ1F"*1cEF/pVq*TZk@=ܳ2p"S”#"$E='{9ip0_G׬FdQQ@QX(AF,N92J?䫂w) H t$ Ù ru}'`飴" vh؁+vewC!նmys<-loG%el%AV @X߿N+XOMafZx`ck;Cyټm'@UY9'˧KK&!ʕ S z@h{au.okIkNz=F˕ ƗX; `F Q3!!&9 ^̴AlG0sؽ[-6;iQ$Y.d@I 0 ]!">*  9;(vX=Â!U }uɯkrǒ\8)xD#3^u,8vbnVۺ2dTd"?q>"k-+25ufC-|e`gk (}a ^}IR'g6z~CD$iC}0S}dɴï4/n9WX]˟4E}E:lJzw4~rR(zS A4Q?s24>llgR]r$T8` e{Ȟ~S]p|9jD2hݬ> :鑤+ncL O MJ3:.y?RbDrw4C|yjE qD~mrvO,*7} f Kqb<V;]IN VK?^y_[6尵9$ 6I7DtN[!'˶DX,XD*EZ$tYܓ!rJ ]l &!F:kQ&(GA7b˷ FL6fu~Av 6LoL:w@SR3`0ᶩ4O8O1̴ <46EJO1b2(EU8U.,!h>wy}L۫>;ŗMvy:f&|xgAoKJQ[_? tw=h: e@: u6.apYۇ@'8zn#/=>aCG%jΘa q=Ɖv-sejS"`$̥) DHT*rgu.#›)-M:ʰ0: a몠(:g}#s1WrV8`A7MSC@1)'93ؿwLo7$gY$@ G P|lؾŽH-RSL=rѿȁ́鸬S'uRXo7'TVomE0BB$yYMw;=joc uE2Ï `#"qri_AbHy3TAcUMM1K԰W7(LҶ% J 3ߴ:ŜՐs};ꥣ[]W!DڨO xtf6Ph>T";I"F2_(&>'^/x{QPd6,ˇU-ǂZ"s"yW"G]ļ+ZiVM4B4aEKPjCހZ~xSiTvNb[WuXa/1@ʒ)wrgήq0$ҙ,t z^FzG ;ն 1:]4R+yQK .nqn|qzI6C*6T< ^^J &yOCNmףtT 1{d䜾:Cyq<2Q!Ƈ̚U,`d+3.Yч}d0IQ-dUQFZ C}H0KaʵQ'@z2Hspt(b.[JCC%egiP.8*>ĕ (EWݦ+8M556~]XOBmTg'>v>lX7wB_~I! XFyҐSf|HMdd Y 4RiXlAS8+ P$V;`2PJ!Ã)кDt.1E8 F GbYtP'!$&0Ȳ @6xh-7i$։$=Kge5X*ꢀ-Vzj辸3`!̟1 DΩ%f! zV \pijř$@$%;`'OmĞ;__97]( f'`WSʽ~n>)X_) ڂ4S=üw]o\ᘘ} s6$H+_* ؿ;/#k㢂O(i]uY7ma`ϡȭ{J/.RaDdS=ǎʁ Ez^NFcnܙ1~-=}m8x&hy@-Oqb GSRr 2G6y[٥I2L [!laG:CZ415ʉ-?z :9'>>W{ʡl&t D'VHK+5rO>㧄/s_s P:3BY^J$߹_aVsƘqj,5WHW~Wx!夵VP/ȫefC*""2/3 9ZQ J]ſ~a5)@R7D0s\nOlHR-F9x|9'jOuD`#,dDbQ R $!"W@ q-`KS= H E1(-=O^8]^fgmޔlHyF霓u|,N4D%7lB7 @X>hh*nzlC*+S ;- ʊ}úWnr+)EiO>38>(SP(fSuIo6(TuLJEaMמly~vo!p9v^,E8gLT1,Ҷaٿ+8P[ù6A ]y|s|;Nw+ v!޼g=I~S`^/ylWZF'ihh, RD(Ao&2<@s^P {f.-J*h2Ψ)+c}_ <:,p a}<$2ks)y?rj`d>sHJ Sk릵WiBĒ ж./ڏ3M麺d$<@7DS;!ܓO> (R#)[Uy8uNx&yfw ˂1iL?#ǥq_$aV^Jřo™voգ<ސI"@"-/$HPx$OLi)!B 7RpŅ1l]7u!x/#;t5^%MlҊqY@|b^.( $ ⑝}CHC$$>+$@PE *j`idc"Gv9My>U1DDL^A2@`h\>|u)`,{dF[$R}MQAAYl3$S>8JȤ+ V 1d%=Z 5<3[)KLO2 .v$xYBAO([~DWtGl+)PHr!ZaOmѦ`sK5$vJFD h-Dv 4T%̫<(JZueЊQ$Y4)QǾN G;lV[T1K*2.T>}_^sJt@{ X)dl~=8 v9N24W\zrpsv`Zu[V<威?tHMMb ̌V 這ǻp6wY:CtHngY( Fe>`7 Xq{iM.񇐡z605iiCWg#M[v7@=$1, 06>%hj2՜8.2y"*sd8R*;zT_]}' hyG~RKJ9!DHJȃX@ 7Fr$\#DXbDhENˢ8 鸆ºDcvvtW1Qkkl .B g\ebRH`cN"+DTYXeiq%Ֆ W.V% Lk(aZA:{Rc ;wyYQO$ 2-Ȉx$IHA$d6U.!$" fud;(LlC/gEYgKr]HHe)lrwwt U"P VGo]x`¹a91Ll(n ~ӓd0g*$@1b 13X~iHQU}]y[} -V`qɷC^I *5aws̪H!}l"6~!O?/=:=7ާ6]!<%fn'e X(K2 G0ȈTu`PXhH)H)$*auUu™~'#SL67pU6(IZLUIНa&[ܛI)nfje_L`ˣ[ L^'80u#\K*+CP$5#h9Ɋe,%"XsXK-5|'\HN nRɊ`BpSi,BRB.fqUM,oP'f[ 38uRp!rn8kA>CO&ȰS߀Zy%>ZrVa$O {8)%`(Y 9īYxK@o=Qae*Prr1y(_Q>t9-q~zpKL X㶮B3j},nN%+Ǫ\Z#8A瀓duj{LDŽOkHBi@"A. v׼Sw=b zz"te{ȥzGOVå*-{}@۪s|qaqډfHM0 piQ`Hs Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed. Preamble The GNU General Public License is a free, copyleft license for software and other kinds of works. The licenses for most software and other practical works are designed to take away your freedom to share and change the works. By contrast, the GNU General Public License is intended to guarantee your freedom to share and change all versions of a program--to make sure it remains free software for all its users. We, the Free Software Foundation, use the GNU General Public License for most of our software; it applies also to any other work released this way by its authors. You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for them if you wish), that you receive source code or can get it if you want it, that you can change the software or use pieces of it in new free programs, and that you know you can do these things. To protect your rights, we need to prevent others from denying you these rights or asking you to surrender the rights. Therefore, you have certain responsibilities if you distribute copies of the software, or if you modify it: responsibilities to respect the freedom of others. For example, if you distribute copies of such a program, whether gratis or for a fee, you must pass on to the recipients the same freedoms that you received. You must make sure that they, too, receive or can get the source code. And you must show them these terms so they know their rights. Developers that use the GNU GPL protect your rights with two steps: (1) assert copyright on the software, and (2) offer you this License giving you legal permission to copy, distribute and/or modify it. For the developers' and authors' protection, the GPL clearly explains that there is no warranty for this free software. For both users' and authors' sake, the GPL requires that modified versions be marked as changed, so that their problems will not be attributed erroneously to authors of previous versions. Some devices are designed to deny users access to install or run modified versions of the software inside them, although the manufacturer can do so. This is fundamentally incompatible with the aim of protecting users' freedom to change the software. The systematic pattern of such abuse occurs in the area of products for individuals to use, which is precisely where it is most unacceptable. Therefore, we have designed this version of the GPL to prohibit the practice for those products. If such problems arise substantially in other domains, we stand ready to extend this provision to those domains in future versions of the GPL, as needed to protect the freedom of users. Finally, every program is threatened constantly by software patents. States should not allow patents to restrict development and use of software on general-purpose computers, but in those that do, we wish to avoid the special danger that patents applied to a free program could make it effectively proprietary. To prevent this, the GPL assures that patents cannot be used to render the program non-free. The precise terms and conditions for copying, distribution and modification follow. TERMS AND CONDITIONS 0. Definitions. "This License" refers to version 3 of the GNU General Public License. "Copyright" also means copyright-like laws that apply to other kinds of works, such as semiconductor masks. "The Program" refers to any copyrightable work licensed under this License. Each licensee is addressed as "you". "Licensees" and "recipients" may be individuals or organizations. To "modify" a work means to copy from or adapt all or part of the work in a fashion requiring copyright permission, other than the making of an exact copy. The resulting work is called a "modified version" of the earlier work or a work "based on" the earlier work. A "covered work" means either the unmodified Program or a work based on the Program. To "propagate" a work means to do anything with it that, without permission, would make you directly or secondarily liable for infringement under applicable copyright law, except executing it on a computer or modifying a private copy. Propagation includes copying, distribution (with or without modification), making available to the public, and in some countries other activities as well. To "convey" a work means any kind of propagation that enables other parties to make or receive copies. Mere interaction with a user through a computer network, with no transfer of a copy, is not conveying. An interactive user interface displays "Appropriate Legal Notices" to the extent that it includes a convenient and prominently visible feature that (1) displays an appropriate copyright notice, and (2) tells the user that there is no warranty for the work (except to the extent that warranties are provided), that licensees may convey the work under this License, and how to view a copy of this License. If the interface presents a list of user commands or options, such as a menu, a prominent item in the list meets this criterion. 1. Source Code. The "source code" for a work means the preferred form of the work for making modifications to it. "Object code" means any non-source form of a work. A "Standard Interface" means an interface that either is an official standard defined by a recognized standards body, or, in the case of interfaces specified for a particular programming language, one that is widely used among developers working in that language. The "System Libraries" of an executable work include anything, other than the work as a whole, that (a) is included in the normal form of packaging a Major Component, but which is not part of that Major Component, and (b) serves only to enable use of the work with that Major Component, or to implement a Standard Interface for which an implementation is available to the public in source code form. A "Major Component", in this context, means a major essential component (kernel, window system, and so on) of the specific operating system (if any) on which the executable work runs, or a compiler used to produce the work, or an object code interpreter used to run it. The "Corresponding Source" for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work. For example, Corresponding Source includes interface definition files associated with source files for the work, and the source code for shared libraries and dynamically linked subprograms that the work is specifically designed to require, such as by intimate data communication or control flow between those subprograms and other parts of the work. The Corresponding Source need not include anything that users can regenerate automatically from other parts of the Corresponding Source. The Corresponding Source for a work in source code form is that same work. 2. Basic Permissions. All rights granted under this License are granted for the term of copyright on the Program, and are irrevocable provided the stated conditions are met. This License explicitly affirms your unlimited permission to run the unmodified Program. The output from running a covered work is covered by this License only if the output, given its content, constitutes a covered work. This License acknowledges your rights of fair use or other equivalent, as provided by copyright law. You may make, run and propagate covered works that you do not convey, without conditions so long as your license otherwise remains in force. You may convey covered works to others for the sole purpose of having them make modifications exclusively for you, or provide you with facilities for running those works, provided that you comply with the terms of this License in conveying all material for which you do not control copyright. Those thus making or running the covered works for you must do so exclusively on your behalf, under your direction and control, on terms that prohibit them from making any copies of your copyrighted material outside their relationship with you. Conveying under any other circumstances is permitted solely under the conditions stated below. Sublicensing is not allowed; section 10 makes it unnecessary. 3. Protecting Users' Legal Rights From Anti-Circumvention Law. No covered work shall be deemed part of an effective technological measure under any applicable law fulfilling obligations under article 11 of the WIPO copyright treaty adopted on 20 December 1996, or similar laws prohibiting or restricting circumvention of such measures. When you convey a covered work, you waive any legal power to forbid circumvention of technological measures to the extent such circumvention is effected by exercising rights under this License with respect to the covered work, and you disclaim any intention to limit operation or modification of the work as a means of enforcing, against the work's users, your or third parties' legal rights to forbid circumvention of technological measures. 4. Conveying Verbatim Copies. You may convey verbatim copies of the Program's source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice; keep intact all notices stating that this License and any non-permissive terms added in accord with section 7 apply to the code; keep intact all notices of the absence of any warranty; and give all recipients a copy of this License along with the Program. You may charge any price or no price for each copy that you convey, and you may offer support or warranty protection for a fee. 5. Conveying Modified Source Versions. You may convey a work based on the Program, or the modifications to produce it from the Program, in the form of source code under the terms of section 4, provided that you also meet all of these conditions: a) The work must carry prominent notices stating that you modified it, and giving a relevant date. b) The work must carry prominent notices stating that it is released under this License and any conditions added under section 7. This requirement modifies the requirement in section 4 to "keep intact all notices". c) You must license the entire work, as a whole, under this License to anyone who comes into possession of a copy. This License will therefore apply, along with any applicable section 7 additional terms, to the whole of the work, and all its parts, regardless of how they are packaged. This License gives no permission to license the work in any other way, but it does not invalidate such permission if you have separately received it. d) If the work has interactive user interfaces, each must display Appropriate Legal Notices; however, if the Program has interactive interfaces that do not display Appropriate Legal Notices, your work need not make them do so. A compilation of a covered work with other separate and independent works, which are not by their nature extensions of the covered work, and which are not combined with it such as to form a larger program, in or on a volume of a storage or distribution medium, is called an "aggregate" if the compilation and its resulting copyright are not used to limit the access or legal rights of the compilation's users beyond what the individual works permit. Inclusion of a covered work in an aggregate does not cause this License to apply to the other parts of the aggregate. 6. Conveying Non-Source Forms. You may convey a covered work in object code form under the terms of sections 4 and 5, provided that you also convey the machine-readable Corresponding Source under the terms of this License, in one of these ways: a) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by the Corresponding Source fixed on a durable physical medium customarily used for software interchange. b) Convey the object code in, or embodied in, a physical product (including a physical distribution medium), accompanied by a written offer, valid for at least three years and valid for as long as you offer spare parts or customer support for that product model, to give anyone who possesses the object code either (1) a copy of the Corresponding Source for all the software in the product that is covered by this License, on a durable physical medium customarily used for software interchange, for a price no more than your reasonable cost of physically performing this conveying of source, or (2) access to copy the Corresponding Source from a network server at no charge. c) Convey individual copies of the object code with a copy of the written offer to provide the Corresponding Source. This alternative is allowed only occasionally and noncommercially, and only if you received the object code with such an offer, in accord with subsection 6b. d) Convey the object code by offering access from a designated place (gratis or for a charge), and offer equivalent access to the Corresponding Source in the same way through the same place at no further charge. You need not require recipients to copy the Corresponding Source along with the object code. If the place to copy the object code is a network server, the Corresponding Source may be on a different server (operated by you or a third party) that supports equivalent copying facilities, provided you maintain clear directions next to the object code saying where to find the Corresponding Source. Regardless of what server hosts the Corresponding Source, you remain obligated to ensure that it is available for as long as needed to satisfy these requirements. e) Convey the object code using peer-to-peer transmission, provided you inform other peers where the object code and Corresponding Source of the work are being offered to the general public at no charge under subsection 6d. A separable portion of the object code, whose source code is excluded from the Corresponding Source as a System Library, need not be included in conveying the object code work. A "User Product" is either (1) a "consumer product", which means any tangible personal property which is normally used for personal, family, or household purposes, or (2) anything designed or sold for incorporation into a dwelling. In determining whether a product is a consumer product, doubtful cases shall be resolved in favor of coverage. For a particular product received by a particular user, "normally used" refers to a typical or common use of that class of product, regardless of the status of the particular user or of the way in which the particular user actually uses, or expects or is expected to use, the product. A product is a consumer product regardless of whether the product has substantial commercial, industrial or non-consumer uses, unless such uses represent the only significant mode of use of the product. "Installation Information" for a User Product means any methods, procedures, authorization keys, or other information required to install and execute modified versions of a covered work in that User Product from a modified version of its Corresponding Source. The information must suffice to ensure that the continued functioning of the modified object code is in no case prevented or interfered with solely because modification has been made. If you convey an object code work under this section in, or with, or specifically for use in, a User Product, and the conveying occurs as part of a transaction in which the right of possession and use of the User Product is transferred to the recipient in perpetuity or for a fixed term (regardless of how the transaction is characterized), the Corresponding Source conveyed under this section must be accompanied by the Installation Information. But this requirement does not apply if neither you nor any third party retains the ability to install modified object code on the User Product (for example, the work has been installed in ROM). The requirement to provide Installation Information does not include a requirement to continue to provide support service, warranty, or updates for a work that has been modified or installed by the recipient, or for the User Product in which it has been modified or installed. Access to a network may be denied when the modification itself materially and adversely affects the operation of the network or violates the rules and protocols for communication across the network. Corresponding Source conveyed, and Installation Information provided, in accord with this section must be in a format that is publicly documented (and with an implementation available to the public in source code form), and must require no special password or key for unpacking, reading or copying. 7. Additional Terms. "Additional permissions" are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or d) Limiting the use for publicity purposes of names of licensors or authors of the material; or e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered "further restrictions" within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way. 8. Termination. You may not propagate or modify a covered work except as expressly provided under this License. Any attempt otherwise to propagate or modify it is void, and will automatically terminate your rights under this License (including any patent licenses granted under the third paragraph of section 11). However, if you cease all violation of this License, then your license from a particular copyright holder is reinstated (a) provisionally, unless and until the copyright holder explicitly and finally terminates your license, and (b) permanently, if the copyright holder fails to notify you of the violation by some reasonable means prior to 60 days after the cessation. Moreover, your license from a particular copyright holder is reinstated permanently if the copyright holder notifies you of the violation by some reasonable means, this is the first time you have received notice of violation of this License (for any work) from that copyright holder, and you cure the violation prior to 30 days after your receipt of the notice. Termination of your rights under this section does not terminate the licenses of parties who have received copies or rights from you under this License. If your rights have been terminated and not permanently reinstated, you do not qualify to receive new licenses for the same material under section 10. 9. Acceptance Not Required for Having Copies. You are not required to accept this License in order to receive or run a copy of the Program. Ancillary propagation of a covered work occurring solely as a consequence of using peer-to-peer transmission to receive a copy likewise does not require acceptance. However, nothing other than this License grants you permission to propagate or modify any covered work. These actions infringe copyright if you do not accept this License. Therefore, by modifying or propagating a covered work, you indicate your acceptance of this License to do so. 10. Automatic Licensing of Downstream Recipients. Each time you convey a covered work, the recipient automatically receives a license from the original licensors, to run, modify and propagate that work, subject to this License. You are not responsible for enforcing compliance by third parties with this License. An "entity transaction" is a transaction transferring control of an organization, or substantially all assets of one, or subdividing an organization, or merging organizations. If propagation of a covered work results from an entity transaction, each party to that transaction who receives a copy of the work also receives whatever licenses to the work the party's predecessor in interest had or could give under the previous paragraph, plus a right to possession of the Corresponding Source of the work from the predecessor in interest, if the predecessor has it or can get it with reasonable efforts. You may not impose any further restrictions on the exercise of the rights granted or affirmed under this License. For example, you may not impose a license fee, royalty, or other charge for exercise of rights granted under this License, and you may not initiate litigation (including a cross-claim or counterclaim in a lawsuit) alleging that any patent claim is infringed by making, using, selling, offering for sale, or importing the Program or any portion of it. 11. Patents. A "contributor" is a copyright holder who authorizes use under this License of the Program or a work on which the Program is based. The work thus licensed is called the contributor's "contributor version". A contributor's "essential patent claims" are all patent claims owned or controlled by the contributor, whether already acquired or hereafter acquired, that would be infringed by some manner, permitted by this License, of making, using, or selling its contributor version, but do not include claims that would be infringed only as a consequence of further modification of the contributor version. For purposes of this definition, "control" includes the right to grant patent sublicenses in a manner consistent with the requirements of this License. Each contributor grants you a non-exclusive, worldwide, royalty-free patent license under the contributor's essential patent claims, to make, use, sell, offer for sale, import and otherwise run, modify and propagate the contents of its contributor version. In the following three paragraphs, a "patent license" is any express agreement or commitment, however denominated, not to enforce a patent (such as an express permission to practice a patent or covenant not to sue for patent infringement). To "grant" such a patent license to a party means to make such an agreement or commitment not to enforce a patent against the party. If you convey a covered work, knowingly relying on a patent license, and the Corresponding Source of the work is not available for anyone to copy, free of charge and under the terms of this License, through a publicly available network server or other readily accessible means, then you must either (1) cause the Corresponding Source to be so available, or (2) arrange to deprive yourself of the benefit of the patent license for this particular work, or (3) arrange, in a manner consistent with the requirements of this License, to extend the patent license to downstream recipients. "Knowingly relying" means you have actual knowledge that, but for the patent license, your conveying the covered work in a country, or your recipient's use of the covered work in a country, would infringe one or more identifiable patents in that country that you have reason to believe are valid. If, pursuant to or in connection with a single transaction or arrangement, you convey, or propagate by procuring conveyance of, a covered work, and grant a patent license to some of the parties receiving the covered work authorizing them to use, propagate, modify or convey a specific copy of the covered work, then the patent license you grant is automatically extended to all recipients of the covered work and works based on it. A patent license is "discriminatory" if it does not include within the scope of its coverage, prohibits the exercise of, or is conditioned on the non-exercise of one or more of the rights that are specifically granted under this License. You may not convey a covered work if you are a party to an arrangement with a third party that is in the business of distributing software, under which you make payment to the third party based on the extent of your activity of conveying the work, and under which the third party grants, to any of the parties who would receive the covered work from you, a discriminatory patent license (a) in connection with copies of the covered work conveyed by you (or copies made from those copies), or (b) primarily for and in connection with specific products or compilations that contain the covered work, unless you entered into that arrangement, or that patent license was granted, prior to 28 March 2007. Nothing in this License shall be construed as excluding or limiting any implied license or other defenses to infringement that may otherwise be available to you under applicable patent law. 12. No Surrender of Others' Freedom. If conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot convey a covered work so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not convey it at all. For example, if you agree to terms that obligate you to collect a royalty for further conveying from those to whom you convey the Program, the only way you could satisfy both those terms and this License would be to refrain entirely from conveying the Program. 13. Use with the GNU Affero General Public License. Notwithstanding any other provision of this License, you have permission to link or combine any covered work with a work licensed under version 3 of the GNU Affero General Public License into a single combined work, and to convey the resulting work. The terms of this License will continue to apply to the part which is the covered work, but the special requirements of the GNU Affero General Public License, section 13, concerning interaction through a network will apply to the combination as such. 14. Revised Versions of this License. The Free Software Foundation may publish revised and/or new versions of the GNU General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies that a certain numbered version of the GNU General Public License "or any later version" applies to it, you have the option of following the terms and conditions either of that numbered version or of any later version published by the Free Software Foundation. If the Program does not specify a version number of the GNU General Public License, you may choose any version ever published by the Free Software Foundation. If the Program specifies that a proxy can decide which future versions of the GNU General Public License can be used, that proxy's public statement of acceptance of a version permanently authorizes you to choose that version for the Program. Later license versions may give you additional or different permissions. However, no additional obligations are imposed on any author or copyright holder as a result of your choosing to follow a later version. 15. Disclaimer of Warranty. THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. 16. Limitation of Liability. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. 17. Interpretation of Sections 15 and 16. If the disclaimer of warranty and limitation of liability provided above cannot be given local legal effect according to their terms, reviewing courts shall apply local law that most closely approximates an absolute waiver of all civil liability in connection with the Program, unless a warranty or assumption of liability accompanies a copy of the Program in return for a fee. END OF TERMS AND CONDITIONS How to Apply These Terms to Your New Programs If you develop a new program, and you want it to be of the greatest possible use to the public, the best way to achieve this is to make it free software which everyone can redistribute and change under these terms. To do so, attach the following notices to the program. It is safest to attach them to the start of each source file to most effectively state the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found. Copyright (C) This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . Also add information on how to contact you by electronic and paper mail. If the program does terminal interaction, make it output a short notice like this when it starts in an interactive mode: Copyright (C) This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License. Of course, your program's commands might be different; for a GUI interface, you would use an "about box". You should also get your employer (if you work as a programmer) or school, if any, to sign a "copyright disclaimer" for the program, if necessary. For more information on this, and how to apply and follow the GNU GPL, see . The GNU General Public License does not permit incorporating your program into proprietary programs. If your program is a subroutine library, you may consider it more useful to permit linking proprietary applications with the library. If this is what you want to do, use the GNU Lesser General Public License instead of this License. But first, please read . PK[JZ2THANKSnuW+AThese people have contributed to the GNU coreutils (formerly, the fileutils, textutils, and/or sh-utils packages). Some have reported problems, others have contributed improvements to the documentation, actual code, and even complete programs. Those contributions are described in the ChangeLog files. If your name has been left out, if you'd rather not be listed, or if you'd prefer a different address be used, please send a note to the bug-report mailing list (as seen on last line of e.g., cp --help). ??? kytek@cybercomm.net A Costa agcosta@gis.net Aaron Hawley ashawley@uvm.edu Achim Blumensath blume@corona.oche.de Adam Jimerson vendion@charter.net Adam Klein aklein@debian.org Adrian Bunk bunk@stusta.de AIDA Shinra shinra@j10n.org Akim Demaille demaille@inf.enst.fr Alain Magloire alain@qnx.com Alan Iwi iwi@atm.ox.ac.uk Albert Chin-A-Young china@thewrittenword.com Albert Hopkins ahopkins@dynacare.com Alberto Accomazzi alberto@cfa0.harvard.edu aldomel aldomel@ix.netcom.com Alen Muzinic zveki@fly.cc.fer.hr Alexander Nguyen vinh@seas.ucla.edu Alexander V. Lukyanov lav@netis.ru Allen Hewes allen@decisiv.net Axel Dörfler axeld@pinc-software.de Alexandre Duret-Lutz duret_g@epita.fr Alexey Solovyov alekso@math.uu.se Alexey Vyskubov alexey@pippuri.mawhrin.net Alfred M. Szmidt ams@kemisten.nu Andi Kleen freitag@alancoxonachip.com Andre Novaes Cunha Andre.Cunha@br.global-one.net Andreas Frische andreasfrische@gmail.com Andreas Gruenbacher ag@bestbits.at Andreas Jaeger jaeger@gnu.org Andreas Luik luik@isa.de Andreas Schwab schwab@linux-m68k.org Andreas Stolcke stolcke@ICSI.Berkeley.EDU Andrei Gaponenko andr@triumf.ca Andres Soolo andres@soolo.matti.ee Andrew Burgess aab@cichlid.com Andrew Church achurch@achurch.org Andrew Dalke dalke@bioreason.com Andrew Fabbro andrew@fabbro.org Andrew Pham andpha@us.ibm.com Andrew Tridgell tridge@samba.org Andrey Borzenkov arvidjaar@mail.ru Andries Brouwer Andries.Brouwer@cwi.nl Andy Longton alongton@metamark.com Anthony Thyssen anthony@griffith.edu.au Antonio Rendas ajrendas@yahoo.com Ariel Faigon ariel@cthulhu.engr.sgi.com Arjan Opmeer arjan.opmeer@gmail.com Arne H. Juul arnej@solan.unit.no Arne Henrik Juul arnej@imf.unit.no Arnold Robbins arnold@skeeve.com Arthur Pool pool@commerce.uq.edu.au Arun Sharma arun.sharma@intel.com Arvind Autar Autar022@planet.nl Augey Mikus mikus@dqc.org Aurelien Jarno aurel32@debian.org Austin Donnelly Austin.Donnelly@cl.cam.ac.uk Axel Kittenberger Anshil@gmx.net Barry Kelly http://barrkel.blogspot.com/ Bauke Jan Douma bjdouma@xs4all.nl Ben Elliston bje@air.net.au Ben Harris bjh21@netbsd.org Bengt Martensson bengt@mathematik.uni-Bremen.de Benjamin Cutler cutlerbc@simla.colostate.edu Benno Schulenberg bensberg@justemail.net Bernard Giroud bernard.giroud@creditlyonnais.ch Bernd Eckenfels ecki@debian.org Bernd Leibing bernd.leibing@rz.uni-ulm.de Bernd Melchers melchers@cis.fu-berlin.de Bernhard Baehr bernhard.baehr@gmx.de Bernhard Gabler bernhard@uni-koblenz.de Bernhard Rosenkraenzer bero@redhat.de Bernhard Voelker bernhard.voelker@siemens-enterprise.com Bert Deknuydt Bert.Deknuydt@esat.kuleuven.ac.be Bert Wesarg bert.wesarg@googlemail.com Bill Brelsford wb@k2di.net Bill Peters peters@gaffel.as.arizona.edu Bjorn Helgaas helgaas@rsn.hp.com Bob McCracken kerouac@ravenet.com Bob Proulx rwp@fc.hp.com Branden Robinson branden@necrotic.deadbeast.net Brendan O'Dea bod@compusol.com.au Brian Kimball bfk@footbag.org Brian M. Carlson sandals@crustytoothpaste.ath.cx Brian Silverman bsilverman@conceptxdesign.com Brian Youmans 3diff@gnu.org Bruce Korb bkorb@veritas.com Bruce Robertson brucer@theodolite.dyndns.org Bruno Haible haible@clisp.cons.org C de-Avillez hggdh2@gmail.com Carl Johnson carlj@cjlinux.home.org Carl Lowenstein cdl@mpl.UCSD.EDU Carl Roth roth@urs.us Carlos Canau Carlos.Canau@relay.puug.pt Charles Karney karney@pppl.gov Charles Randall crandall@matchlogic.com Chip Salzenberg chip@valinux.com Chris Clayton chris2553@googlemail.com Chris Faylor cgf@cygnus.com Chris J. Bednar cjb@AdvancedDataSolutions.com Chris Jones cjns1989@gmail.com Chris Lesniewski ctl@mit.edu Chris Sylvain csylvain@umm.edu Chris Yeo cyeo@biking.org Christi Alice Scarborough christi@chiark.greenend.org.uk Christian Harkort christian.harkort@web.de Christian Krackowizer ckrackowiz@std.schuler-ag.com Christian Rose menthos@menthos.com Christian von Roques roques@pond.sub.org Christophe LYON christophe.lyon@st.com Chuck Hedrick hedrick@klinzhai.rutgers.edu Clark Morgan cmorgan@aracnet.com Clement Wang clem.wang@overture.com Cliff Miller cbm@whatexit.org Colin Plumb colin@nyx.net Colin Watson cjw44@riva.ucam.org Collin Rogowski collin@rogowski.de Cray-Cyber Project http://www.cray-cyber.org Cristian Cadar cristic@stanford.edu Cyril Bouthors cyril@bouthors.org Dale Scheetz dwarf@polaris.net Dameon G. Rogers dgr03@uark.edu Dan Hagerty hag@gnu.ai.it.edu Dan Jacobson jidanni@jidanni.org Dan Pascu dan@services.iiruc.ro Daniel Bergstrom noa@melody.se Daniel Dunbar ddunbar@stanford.edu Daniel P. Berrangé berrange@redhat.com Dániel Varga danielv@axelero.hu Danny Levinson danny.levinson@overture.com Darrel Francis d.francis@cheerful.com Darren Salt ds@youmustbejoking.demon.co.uk Dave Beckett dajobe@dajobe.org David Alan Gilbert gilbertd@treblig.org David Bartley dtbartle@csclub.uwaterloo.ca David Dyck dcd@tc.fluke.COM David Eisner cradle@umd.edu David Flynn dav@chess.plus.com David Godfrey dave@delta.demon.co.uk David Luyer david_luyer@pacific.net.au David Madore david.madore@ens.fr David Malone dwmalone@cnri.dit.ie Davide Canova kc.canova@gmail.com Dawson Engler engler@stanford.edu Dean Gaudet dean-savannah@arctic.org Deepak Goel deego@gnufans.org Denis Excoffier denis.excoffier@airbus.com Denis McKeon dmckeon@swcp.com Dennis Henriksen opus@flamingo.osrl.dk Dennis Smit ds@nerds-incorporated.org Derek Clegg dclegg@next.com Dick Streefland dick_streefland@tasking.com Dirk Lattermann dlatt@t-online.de Dirk-Jan Faber djfaber@snow.nl Dmitry Rutsky rutsky@school.ioffe.rssi.ru Dmitry V. Levin ldv@altlinux.org Don Parsons dparsons@synapse.kent.edu Donni Erpel donald@appc11.gsi.de Doug Coleman coleman@iarc1.ece.utexas.edu Doug McLaren dougmc@comco.com Dragos Harabor dharabor@us.oracle.com Duncan Roe duncanr@optimation.com.au Ed Avis ed@membled.com Edward Welbourne eddy@opera.com Edzer Pebesma Edzer.Pebesma@rivm.nl Egmont Koblinger egmont@uhulinux.hu Eirik Fuller eirik@hackrat.com Eivind eivindt@multinet.no Elbert Pol elbert.pol@gmail.com Eli Zaretskii eliz@is.elta.co.il Elias Pipping pipping@gentoo.org Emile LeBlanc leblanc@math.toronto.edu Erik Auerswald auerswal@unix-ag.uni-kl.de Eric Backus ericb@lsid.hp.com Eric Blake ebb9@byu.net Eric G. Miller egm2@jps.net Eric Pemente pemente@northpark.edu Eric S. Raymond esr@snark.thyrsus.com Erik Bennett bennett@cvo.oneworld.com Erik Corry erik@kroete2.freinet.de Evan Hunt ethanol@armory.com Felix Lee flee@teleport.com Felix Rauch Valenti frauch@cse.unsw.edu.au Ferdinand fw@scenic.mine.nu Fletcher Mattox fletcher@cs.utexas.edu Florent Bayle florent@sarcelle.net Florian Schlichting fschlich@cis.fu-berlin.de Florin Iucha fiucha@hsys.mic.ro Francesco Montorsi fr_m@hotmail.com François Pinard pinard@iro.umontreal.ca Frank Adler fadler@allesklar.de Frank T Lofaro ftlofaro@snooks.Egr.UNLV.EDU Fred Fish fnf@ninemoons.com Frédéric L. W. Meunier 0@pervalidus.net Frederik Eaton frederik@caltech.edu Gabor Z. Papp gzp@gzp.org.hu Gaël Quéri gqueri@mail.dotcom.fr Galen Hazelwood galenh@micron.net Gary Anderson ganderson@clark.net Gary Johnson garyjohn@spk.agilent.com Gary V. Vaughan gary@gnu.org Gaute Hvoslef Kvalnes gaute@verdsveven.com Geoff Collyer geoff at collyer.net Geoff Kuenning geoff@cs.hmc.edu Geoff Odhner geoff@franklin.com Geoff Whale geoffw@cse.unsw.EDU.AU Gerald Pfeifer gerald@pfeifer.com Gerhard Poul gpoul@gnu.org Germano Leichsenring germano@jedi.cs.kobe-u.ac.jp Gilles Espinasse g.esp@free.fr Glen Lenker glen.lenker@gmail.com Göran Uddeborg goeran@uddeborg.se Guochun Shi gshi@ncsa.uiuc.edu GOTO Masanori gotom@debian.or.jp Greg Louis glouis@dynamicro.on.ca Greg McGary gkm@gnu.org Greg Metcalfe metcalfegreg@qwest.net Greg Schafer gschafer@zip.com.au Greg Troxel gdt@bbn.com Greg Wooledge gawooledge@sherwin.com Gregory Leblanc gleblanc@cu-portland.edu Guido Leenders guido.leenders@invantive.com Guntram Blohm Extern.Guntram.Blohm@AUDI.DE H. J. Lu hjl@valinux.com Hans Ginzel hans@matfyz.cz Hans Lermen lermen@fgan.de Hans Verkuil hans@wyst.hobby.nl Harald Dunkel harald.dunkel@t-online.de Harry Liu rliu@lek.ugcs.caltech.edu Harti Brandt brandt@fokus.fraunhofer.de Harvey Eneman Harvey.Eneman@oracle.com Heiko Marr h.marr@webmasters.de Helen Faulkner helen_ml_faulkner@yahoo.co.uk Herbert Xu herbert@gondor.apana.org.au Holger Berger hberger@ess.nec.de Hon-Yin Kok hkok@yoda.unl.edu Hugh Daniel hugh@xanadu.com Ian Bruce ian.bruce@myrealbox.com Iain Calder ic56@rogers.com Ian Jackson ijackson@chiark.greenend.org.uk Ian Kent ikent@redhat.com Ian Lance Taylor ian@cygnus.com Ian Turner vectro@pipeline.com Iida Yosiaki iida@gnu.org Ilya N. Golubev gin@mo.msk.ru Ingo Saitz ingo@debian.org Ivan Labath labath3@st.fmph.uniba.sk Ivo Timmermans ivo@debian.org James james@albion.glarp.com James Antill jmanti%essex.ac.uk@seralph21.essex.ac.uk James Lemley James.Lemley@acxiom.com James Hunt jamesodhunt@hotmail.com James Ralston ralston@pobox.com James R. Van Zandt jrvz@comcast.net James Sneeringer jvs@ocslink.com James Tanis jtt@soscorp.com James Youngman jay@gnu.org Jamie Lokier jamie@imbolc.ucc.ie Jamie McClelland jm@mayfirst.org Jan Engelhardt jengelh@medozas.de Jan Fedak J.Fedak@sh.cvut.cz Jan Moringen jan.moringen@uni-bielefeld.de Jan Nieuwenhuizen janneke@gnu.org Jan-Pawel Wrozstinski jpwroz@gmail.com Janos Farkas chexum@shadow.banki.hu Jarkko Hietaniemi jhi@epsilon.hut.fi Jarod Wilson jwilson@redhat.com Jean Charles Delepine delepine@u-picardie.fr Jeff Moore jbm@mordor.com Jeff Sheinberg jeff@bsrd.net Jens Elkner elkner@imsgroup.de Jens Schmidt jms@jsds.hamburg.com Jeph Cowan jeph@ucar.edu Jeremy Maitin-Shepard jbms@cmu.edu Jerome Abela abela@hsc.fr Jérôme Zago bug-coreutils-ml@agt-the-walker.net Jesse Kornblum kornblum@usna.edu Jesse Thilo jgt2@eecs.lehigh.edu Jie Xu xuj@iag.net Jim Blandy jimb@cyclic.com Jim Dennis jimd@starshine.org Joakim Rosqvist dvljrt@cs.umu.se Jochen Hein jochen@jochen.org Joe Orton joe@manyfish.co.uk Joel E. Denny jdenny@clemson.edu Joerg Sonnenberger joerg@britannica.bec.de Joey Hess joeyh@debian.org Johan Boule bohan@bohan.dyndns.org Johan Danielsson joda@pdc.kth.se John Bley jbb6@acpub.duke.edu John David Anglin dave.anglin@nrc.ca John Gatewood Ham zappaman@alphabox.compsci.buu.ac.th John Gotts jgotts@umich.edu John Kendall kendall@capps.com John Kodis kodis@acm.org John Murphy jam@philabs.research.philips.com John Roll john@panic.harvard.edu John Salmon johns@mullet.anu.edu.au John Stanley johnstops@verizon.net John Summerfield summer@OS2.ami.com.au Jon Peatfield J.S.Peatfield@damtp.cam.ac.uk Joost van Baal joostvb@xs4all.nl Jorge Stolfi stolfi@ic.unicamp.br Joseph S. Myers jsm28@cam.ac.uk Josh Triplett josh@freedesktop.org Joshua Hudson joshudson@gmail.com Josselin Mouette joss@debian.org Juan F. Codagnone juam@arnet.com.ar Juan M. Guerrero st001906@hrz1.hrz.tu-darmstadt.de Julian Bradfield jcb@inf.ed.ac.uk Jungshik Shin jshin@pantheon.yale.edu Jürgen Fluk louis@dachau.marco.de Jurriaan thunder7@xs4all.nl Justin Pryzby justinpryzby@users.sourceforge.net jvogel jvogel@linkny.com Kai Henningsen kai@debian.org Kai-Uwe Rommel rommel@informatik.tu-muenchen.de Kalle Olavi Niemitalo kon@iki.fi Kamal Paul Nigam Kamal_Paul_Nigam@gs35.sp.cs.cmu.edu Karl Eichwalder keichwa@gmx.net Karl Heuer kwzh@gnu.org Karl-Michael Schneider schneide@phil.uni-passau.de Karsten Thygesen karthy@kom.auc.dk Kaveh R. Ghazi ghazi@caip.rutgers.edu Keith M. Briggs keith.briggs@bt.com Keith Owens kaos@audio.apana.org.au Keith Thompson kst@cts.com Ken Pizzini kenp@halcyon.com Kevin Mudrick kmudrick@healthmarketscience.com Kirk Kelsey kirk.kelsey@0x4b.net Kristin E Thomas kristint@us.ibm.com Kjetil Torgrim Homme kjetilho@ifi.uio.no Kristoffer Rose kris@diku.dk Ladislav Hagara ladislav.hagara@unob.cz Larry McVoy lm@sgi.com Lars Hecking lhecking@nmrc.ucc.ie Leah Q eequor@earthlink.net Lehti Rami rammer@cs.tut.fi Leonard N. Zubkoff lnz@dandelion.com Leonardo Milano lmilano@udel.edu Lluís Batlle viriketo@gmail.com Lorne Baker lbaker@nitro.avint.net Luke Hassell lukehassell@yahoo.com Luke Kendall lukekendall@optushome.com.au M. P. Suzuki mpsuzuki@hiroshima-u.ac.jp Maciej Kwapulinski pikpok@univ.gda.pl Manas Garg manas@cygsoft.com Manfred Hollstein manfred@s-direktnet.de Marc Boucher marc@mbsi.ca Marc Haber mh+debian-bugs@zugschlus.de Marc Lehman schmorp@schmorp.de Marc Olzheim marcolz@stack.nl Marco Franzen Marco.Franzen@Thyron.com Marcus Brinkmann http://www.marcus-brinkmann.de Marcus Daniels marcus@ee.pdx.edu Mark A. Thomas thommark@access.digex.net Mark Conty Mark_Conty@cargill.com Mark D. Roth roth@uiuc.edu Mark Funkenhauser mfunkenhauser@rogers.com Mark Harris mark@monitor.designacc.com Mark Hewitt mhewitt@armature.com Mark Hounschell markh@compro.net Mark Hubbart discord@mac.com Mark Kettenis kettenis@phys.uva.nl Mark Melahn mmelahn@gmail.com Mark Nudelman marknu@flash.net Mark W. Eichin eichin@cygnus.com Markus Demleitner msdemlei@auriga.ari.uni-heidelberg.de Martin martin@dresden.nacamar.de Martin Buck martin.buck@ascom.ch Martin Gallant martyg@goodbit.net Martin Hippe martin.hippe@schlund.de Martin Jacobs martin.jacobs@arcor.de Martin Michlmayr tbm@cyrius.com Martin Mitchell martin@debian.org Martin P.J. Zinser zinser@decus.de Marty Leisner leisner@sdsp.mc.xerox.com Masami Takikawa takikawm@CS.ORST.EDU Mate Wierdl mw@moni.msci.memphis.edu Matej Vela mvela@public.srce.hr Matias A. Fonzo selk@dragora.org Matt Kraai kraai@ftbfs.org Matt Perry matt@primefactor.com Matt Pham mattvpham@gmail.com Matt Schalit mschalit@pacbell.net Matt Swift swift@alum.mit.edu Matthew Arnison maffew@cat.org.au Matthew M. Boedicker matthewm@boedicker.org Matthew Braun matthew@ans.net Matthew Clarke Matthew_Clarke@mindlink.bc.ca Matthew S. Levine mslevine@theory.lcs.mit.edu Matthew Smith matts@bluesguitar.org Matthew Swift swift@alum.mit.edu Matthew Woehlke mw_triad@users.sourceforge.net Matthias Urlichs smurf@noris.de Matti Aarnio matti.aarnio@zmailer.org Mathias Brodala info@noctus.net Mattias Wadenstein maswan@acc.umu.se Max Chang maxchang@ucla.edu Meelis Roos mroos@tartu.cyber.ee Michael michael@aplatform.com Michael ??? michael@roka.net Michael Bacarella mbac@netgraft.com Michael Deutschmann michael@talamasca.ocis.net Michael Elizabeth Chastain mec.gnu@mindspring.com Michael Gaughen mgaughen@polyserve.com Michael Hasselberg mikelh@zonta.ping.de Michael Hohn hohn@math.utah.edu Michael J. Croghan mcroghan@usatoday.com Michael McFarland sidlon@yahoo.com Michael McLagan mmclagan@invlogic.com Michael Piefel piefel@informatik.hu-berlin.de Michael Speer knomenet@gmail.com Michael Steffens michael.steffens@s.netic.de Michael Stone mstone@debian.org Michael Stutz stutz@dsl.org Michael van Elst mlelstv@dev.de.cw.net Michael Veksler mveksler@techunix.technion.ac.il Michail Litvak mci@owl.openwall.com Michal Politowski mpol@charybda.icm.edu.pl Michal Svec msvec@suse.cz Michel Robitaille robitail@IRO.UMontreal.CA Michiel Bacchiani bacchian@raven.bu.edu Mikael Magnusson mikachu@gmail.com Mike Castle dalgoda@ix.netcom.com Mike Coleman mkc@mathdogs.com Mike Jetzer mjetzer@mke.catalystwms.com Mike Frysinger vapier@gentoo.org Mikko Tuumanen m@sorvankyla.yok.utu.fi Mikulas Patocka mikulas@artax.karlin.mff.cuni.cz Miles Bader miles@gnu.ai.mit.edu Minh Tran-Le tranle@intellicorp.com Morten Welinder terra@diku.dk Neal H Walfield neal@cs.uml.edu Neil Brown neilb@cse.unsw.edu.au Nelson H. F. Beebe beebe@math.utah.edu Nick Estes debian@nickstoys.com Nick Graham nick.d.graham@gmail.com Nick Lawes nlawes@silverplatter.com Nickolai Zeldovich nickolai@cs.stanford.edu Nicolas François nicolas.francois@centraliens.net Niklas Edmundsson nikke@acc.umu.se Nikola Milutinovic Nikola.Milutinovic@ev.co.yu Nima Nikzad nnikzad@ucla.edu Noah Friedman friedman@splode.com Noel Cragg noel@red-bean.com Norbert Kiesel nkiesel@tbdnetworks.com Olatunji Oluwabukunmi Ruwase tjruwase@stanford.edu Olav Morkrid olav@funcom.com Ole Laursen olau@hardworking.dk Oliver Kiddle okiddle@yahoo.co.uk Olivier Fourdan ofourdan@redhat.com Ørn E. Hansen oehansen@daimi.aau.dk Oskar Liljeblad osk@hem.passagen.se Otavio Salvador otavio@ossystems.com.br Pádraig Brady P@draigBrady.com Patrick Mauritz oxygene@studentenbude.ath.cx Paul D. Smith psmith@gnu.org Paul Eggert eggert@twinsun.com Paul Ghaleb paul.ghaleb@st.com Paul Jarc prj@po.cwru.edu Paul Nevai nevai@ops.mps.ohio-state.edu Paul Sauer paul@alexa.com Paul Slootman paul@debian.org Paul Townsend aab@purdue.edu Paul Worrall paul@basilisk.uklinux.net Pawel Prokop pablo@wizard.ae.krakow.pl Per Cederqvist ceder@lysator.liu.se Per Kristian Hove perhov@math.ntnu.no Per Starbäck starback@stp.lingfil.uu.se Peter Breitenlohner peb@mppmu.mpg.de Peter Dyballa peter_dyballa@web.de Peter Eriksson peter@ifm.liu.se Peter Fales psfales@lucent.com Peter Horst peter@ointment.org Peter Moulder reiter@netspace.net.au Peter O'Gorman bug-coreutils@mlists.thewrittenword.com Peter Samuelson psamuels@sampo.creighton.edu Peter Seebach seebs@taniemarie.solon.com Petr Uzel petr.uzel@suse.cz Petter Reinholdtsen pere@hungry.com Phelippe Neveu pneveu@pcigeomatics.com Phil Richards phil.richards@vf.vodafone.co.uk Philip Rowlands phr@doc.ic.ac.uk Philippe De Muyter phdm@macqel.be Philippe Schnoebelen Philippe.Schnoebelen@imag.fr Phillip Jones mouse@datastacks.com Piergiorgio Sartor sartor@sony.de Pieter Bowman bowman@math.utah.edu Piotr Kwapulinski kwap@univ.gda.pl Prashant TR tr@eth.net Priit Jõerüüt jemm4jemm@yahoo.com Rainer Orth ro@TechFak.Uni-Bielefeld.DE Ralf W. Stephan stephan@tmt.de Ralf Wildenhues Ralf.Wildenhues@gmx.de Ralph Loader loader@maths.ox.ac.uk Raul Miller moth@magenta.com Raúl Núñez de Arenas Coronado raul@pleyades.net Reuben Thomas rrt@sc3d.org Yang Ren ryang@redhat.com Richard A Downing richard.downing@bcs.org.uk Richard Braakman dark@xs4all.nl Richard Dawe rich@phekda.freeserve.co.uk Richard J. Rauenzahn rrauenza@hairball.cup.hp.com Richard Neill rn214@hermes.cam.ac.uk Richard Sharman rsharman@magmacom.com Rick Sladkey jrs@world.std.com Rik Faith faith@cs.unc.edu Risto Kankkunen kankkune@lingsoft.fi Rob Wortman wyrm@haell.com Robert H. de Vries robert@and.nl Robert Lindgren robert@orcafat.com Robert Millan zeratul2@wanadoo.es Robert Schwebel r.schwebel@pengutronix.de Rogier Wolff R.E.Wolff@BitWizard.nl Roland Huebner ro-huebner@gmx.de Roland Turner raz.tah.bet@raz.cx Ronald F. Guilmette rfg@netcom.com Ross Alexander r.alexander@auckland.ac.nz Ross Paterson rap@doc.ic.ac.uk Ross Ridge rridge@calum.csclub.uwaterloo.ca Rudolf Kastl rkastl@redhat.com Sahil Amoli sahilamoli@gmail.com Sami Farin sfarin@ratol.fi Samuel Tardieu sam@rfc1149.net Samuel Thibault samuel.thibault@ens-lyon.org Samuli Karkkainen Samuli.Karkkainen@hut.fi Sander van Malssen svm@kozmix.ow.nl Santiago Vila Doncel sanvila@unex.es Savochkin Andrey Vladimirovich saw@msu.ru Scott Harrison scott.gnu.2009@scottrix.co.uk Scott Lurndal slurn@griffin.engr.sgi.com Sébastien Maret smaret@umich.edu Sergei Steshenko sergstesh@yahoo.com Shing-Shong Shei shei@cs.indiana.edu Soeren Sonnenburg sonnenburg@informatik.hu-berlin.de Solar Designer solar@owl.openwall.com Stanislav Ievlev inger@altlinux.ru Stavros Passas stabat@ics.forth.gr Stéphane Chazelas Stephane_CHAZELAS@yahoo.fr Stéphane Raimbault stephane.raimbault@makina-corpus.com Stephen Depooter sbdep@myrealbox.com Stephen Eglen eglen@pcg.wustl.edu Stephen Gildea gildea@stop.mail-abuse.org Stephen Smoogen smooge@mindspring.com Steve McConnel steve@acadcomp.sil.org Steve McIntyre steve@einval.com Steve Ward planet36@gmail.com Steven Drake sbd@users.sourceforge.net Steven G. Johnson stevenj@alum.mit.edu Steven Mocking ufo@quicknet.nl Steven Parkes smparkes@smparkes.net Steven Schveighoffer schveiguy@yahoo.com Steven P Watson steven@magelico.net Stuart Citrin ctrn3e8@gmail.com Stuart Kemp skemp@peter.bmc.com Stuart Shelton stuart@shelton.me Sven Joachim svenjoac@gmx.de Szakacsits Szabolcs szaka@sienet.hu Tadayoshi Funaba tadf@kt.rim.or.jp TAKAI Kousuke takai@vlsi.kuee.kyoto-u.ac.jp Theodore Ts'o tytso@rsts-11.mit.edu The Wanderer inverseparadox@comcast.net Theodoros V. Kalamatianos nyb@users.sourceforge.net Thomas Bushnell thomas@gnu.ai.mit.edu Thomas Goerlich thomas@schnappmatik.de Thomas Hood jdthood@yahoo.co.uk Thomas Luzat thomas@luzat.com Thomas M.Ott thmo-13@gmx.de Thomas Quinot thomas@Cuivre.FR.EU.ORG Thomas Schwinge tschwinge@gnu.org Thomas Wolff mined@towo.net Tim J. Robbins tjr@FreeBSD.org Tim Mooney mooney@dogbert.cc.ndsu.NoDak.edu Tim Ryan Tim_Ryan@bnz.co.nz Tim Smithers mouse@dmouse.com.au Tim Waugh twaugh@redhat Tobias Stoeckmann tobias@bugol.de Toby Peterson toby@opendarwin.org Todd A. Jacobs tjacobs@codegnome.org Tom Fitzhenry tom@tom-fitzhenry.me.uk Tom Haynes thomas@netapp.com Tom Quinn trq@dionysos.thphys.ox.ac.uk Tomas Pospisek tpo@sourcepole.ch Tommi Kyntola tkyntola@cc.hut.fi Ton Hospel thospel@mail.dma.be Ton Nijkes ton@murphy.nl Tony Kocurko akocurko@mun.ca Tony Leneis tony@plaza.ds.adp.com Tony Robinson ajr@eng.cam.ac.uk Toralf Förster toralf.foerster@gmx.de Torbjorn Granlund tege@nada.kth.se Torbjorn Lindgren tl@funcom.no Torsten Landschoff torsten@pclab.ifg.uni-kiel.de Tristan Miller psychonaut@nothingisreal.com Tzvi Rotshtein tzvi.ro@gmail.com Ulrich Drepper drepper@gnu.org Ulrich Hermisson ulrich_hermisson@hotmail.com Urs Thuermann urs@isnogud.escape.de Uwe H. Steinfeld usteinfeld@gmx.net Vesselin Atanasov vesselin@bgnet.bg Vin Shelton acs@alumni.princeton.edu Vineet Chadha chadha@acis.ufl.edu Vitali Lovich vlovich@gmail.com Vitaly A. Ostanin vyt@altlinux.org Vito Caputo vcaputo@pengaru.com Vlada Macek tuttle@bbs.fsik.cvut.cz Volker Borchert bt@teknon.de Volker Paul vpaul@dohle.com Wartan Hachaturow wart@tepkom.ru Wayne Stewart wstewa@atl.com Wenjun Zheng zwj@yahoo.com Werner Almesberger Werner.Almesberger@epfl.ch Wichert Akkerman wichert@cistron.nl Will Edgington wedgingt@acm.org William Bader william@nscs.fast.net William Dowling will@franklin.com William Lewis wiml@omnigroup.com wiregauze wiregauze@yahoo.com Wis Macomson wis.macomson@intel.com Wojciech Purczynski cliph@isec.pl Wolfram Kleff kleff@cs.uni-bonn.de Won-kyu Park wkpark@chem.skku.ac.kr Yanko Kaneti yaneti@declera.com Yann Dirson dirson@debian.org Zvi Har'El rl@math.technion.ac.il ;; Local Variables: ;; coding: utf-8 ;; End: PK[EOOTODOnuW+AIf you're interested in helping, here are some tasks that we've considered over the years. Beware: some are quite old and no longer valid. To avoid wasting your time by duplicating work or by working on a task that is no longer pertinent, please search the mailing list and post your intent before embarking on a big project. ================================================== Modify chmod so that it does not change an inode's st_ctime when the selected operation would have no other effect. First suggested by Hans Ecke in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/2920 Discussed more recently on . document the following in coreutils.texi: [ pinky Suggestion from Paul Eggert: More generally, there's not that much use for imaxtostr nowadays, since the inttypes module and newer versions of gettext allow things like _("truncating %s at %" PRIdMAX " bytes") to work portably. I suspect that (if someone cares to take the time) we can remove all instances of imaxtostr and umaxtostr in coreutils and gnulib. cp --recursive: use fts and *at functions to perform directory traversals in source and destination hierarchy rather than forming full file names. The latter (current) approach fails unnecessarily when the names become very long, and requires space and time that is quadratic in the depth of the hierarchy. [Bo Borgerson is working on this] printf: Now that gnulib supports *printf("%a"), import one of the *printf-posix modules so that printf(1) will support %a even on platforms where the native *printf(3) is deficient. Suggestion from Eric Blake. renice: POSIX utility, needs implementing. suggestion from Karl Berry (among others). Bob Proulx is working on this. doc/coreutils.texi: Address this comment: FIXME: mv's behavior in this case is system-dependent Better still: fix the code so it's *not* system-dependent. ls: add --format=FORMAT option that controls how each line is printed. cp --no-preserve=X should not attempt to preserve attribute X reported by Andreas Schwab copy.c: Address the FIXME-maybe comment in copy_internal. And once that's done, add an exclusion so that `cp --link' no longer incurs the overhead of saving src. dev/ino and dest. filename in the hash table. Write an autoconf test to work around build failure in HPUX's 64-bit mode. See notes in README -- and remove them once there's a work-around. Integrate use of sendfile, suggested here: http://mail.gnu.org/archive/html/bug-fileutils/2003-03/msg00030.html I don't plan to do that, since a few tests demonstrate no significant benefit. printf: consider adapting builtins/printf.def from bash tail: don't use xlseek; it *exits*. Instead, maybe use a macro and return nonzero. tr: support nontrivial equivalence classes, e.g. [=e=] with LC_COLLATE=fr_FR lib/strftime.c: Since %N is the only format that we need but that glibc's strftime doesn't support, consider using a wrapper that would expand /%(-_)?\d*N/ to the desired string and then pass the resulting string to glibc's strftime. unexpand: [http://www.opengroup.org/onlinepubs/007908799/xcu/unexpand.html] printf 'x\t \t y\n'|unexpand -t 8,9 should print its input, unmodified. printf 'x\t \t y\n'|unexpand -t 5,8 should print "x\ty\n" Let GNU su use the `wheel' group if appropriate. (there are a couple patches, already) sort: Investigate better sorting algorithms; see Knuth vol. 3. We tried list merge sort, but it was about 50% slower than the recursive algorithm currently used by sortlines, and it used more comparisons. We're not sure why this was, as the theory suggests it should do fewer comparisons, so perhaps this should be revisited. List merge sort was implemented in the style of Knuth algorithm 5.2.4L, with the optimization suggested by exercise 5.2.4-22. The test case was 140,213,394 bytes, 426,4424 lines, text taken from the GCC 3.3 distribution, sort.c compiled with GCC 2.95.4 and running on Debian 3.0r1 GNU/Linux, 2.4GHz Pentium 4, single pass with no temporary files and plenty of RAM. Since comparisons seem to be the bottleneck, perhaps the best algorithm to try next should be merge insertion. See Knuth section 5.3.1, who credits Lester Ford, Jr. and Selmer Johnson, American Mathematical Monthly 66 (1959), 387-389. shred: Update shred as described here to conform to DoD 5220 rules: http://lists.gnu.org/archive/html/bug-coreutils/2007-05/msg00075.html Remove suspicious uses of alloca (ones that may allocate more than about 4k) Adapt these contribution guidelines for coreutils: http://sources.redhat.com/automake/contribute.html Improve test coverage. See HACKING for instructions on generating an html test coverage report. Find a program that has poor coverage and improve. Changes expected to go in, someday. ====================================== dd patch from Olivier Delhomme test/mv/*: clean up $other_partition_tmpdir in all cases ls: when both -l and --dereference-command-line-symlink-to-dir are specified, consider whether to let the latter select whether to dereference command line symlinks to directories. Since -l has an implicit --NO-dereference-command-line-symlink-to-dir meaning. Pointed out by Karl Berry. dd: consider adding an option to suppress `bytes/block read/written' output to stderr. Suggested here: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=165045 Pending copyright papers: ------------------------ getpwnam from Bruce Korb pb (progress bar) from Miika Pekkarinen ------------------------------ Remove long-deprecated options. Search case-insensitive for `deprecated' and `remove in '. Automate this. Add a distcheck-time test to ensure that every distributed file is either read-only(indicating generated) or is version-controlled and up to date. remove `%s' notation (now that they're all gone, add a maint.mk sc_ rule to ensure no new ones are added): grep -E "\`%.{,4}s'" src/*.c remove all uses of the `register' keyword: Done. add a maint.mk rule for this, too. remove or adjust chown's --changes option, since it can't always do what it currently says it does. Support arbitrary-precision arithmetic in those tools for which it makes sense. Factor and expr already support this via libgmp. The "test" program is covered via its string-based comparison of integers. To be converted: seq. Adapt tools like wc, tr, fmt, etc. (most of the textutils) to be multibyte aware. The problem is that I want to avoid duplicating significant blocks of logic, yet I also want to incur only minimal (preferably `no') cost when operating in single-byte mode. pr's use of nstrftime can make it malloc a very large (up to SIZE_MAX) buffer ----- Copyright (C) 2002-2010 Free Software Foundation, Inc. This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . PK[^=d* * fileutils/ChangeLog.bz2nuW+APK[=EEq fileutils/NEWSnuW+APK[JHϹfileutils/ChangeLog-1997.bz2nuW+APK[ <** tABOUT-NLSnuW+APK[.zjpp ChangeLog.bz2nuW+APK[8textutils/ChangeLog.bz2nuW+APK[oS)X)X>(textutils/NEWSnuW+APK[))READMEnuW+APK[8aavNEWSnuW+APK[wHHsh-utils/ChangeLog.bz2nuW+APK[k=}G}G"! sh-utils/ChangeLog.0.bz2nuW+APK[m433 h sh-utils/NEWSnuW+APK[|wfKK COPYINGnuW+APK[JZ2k& THANKSnuW+APK[EOO TODOnuW+APK8