rtpg-0.2.11/0000775000175000017500000000000011507364210011504 5ustar dimkadimkartpg-0.2.11/tools/0000775000175000017500000000000011417261677012661 5ustar dimkadimkartpg-0.2.11/tools/index.cgi0000775000175000017500000000200211403433613014433 0ustar dimkadimka#!/usr/bin/perl =head1 NAME index.cgi - compatibility script =head1 DESCRIPTION This file just for compatibility with 0.1.x version of RTPG. If this file used check your web server config for new paths. =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut print "Location: htdocs\n\n"; rtpg-0.2.11/tools/screenshots/0000775000175000017500000000000011403430344015201 5ustar dimkadimkartpg-0.2.11/tools/screenshots/peers.min.png0000664000175000017500000007214211403430344017615 0ustar dimkadimkaPNG  IHDRWssRGBbKGD pHYs  tIME FtEXtCommentCreated with GIMPW IDATx^g]Gzcwu]B!HГm6TK-jvB.B;bgj'6vl~51NHj')5rA  zo}qUHvu̓'O'JQ)>ŧhm(h6q\t]B  bX]{BH.A"tC8I/cKhBx }>|}>㌒*ʧ2-v`|~TMn=xjF DhjI߲93v%[;mnȦ3\Ghk"1> ix*}O8B@D>DtayuV4cc |m4Ub$RJzB?EJ}qi*hJ߶R ecfttOG(*`[pdTO)~p]FI(AJP ]7!IE"~)%b:ҕ2,ضiؖE4MRD$G-WyjnE>RJlf-lBARjP,Fuҝ, ˲6UxOa{]G(շ?gVNV˲TXav:t]PT~_p= u@ӥZ)/޺)>/ uq]+kuR/btmcBhG,ǡP'W(3g/_jgm޹o;̦vC0`au6yjZM2q4UEIrX؎E Ufj@* 5:X>e\)t8nx"NñD&N)**.AcqjߟA$ u+ױ>xgSY a0/}~vyPRb[}v9s;l215k<%z c_;AC a"$iMאK&B4(jd3.qTU%`w nKMxF=Pl`pԿ&:)*v~+%A x6"Z&cJđ@ò5>ů› OduuS'`6/p &&+Z@U=u?3Da^W!B]fu[{$P,Wp\qH> 0H9 yEwPDTu]vEcH$CY'KviX}\%b~y]vi4$LP(=Czi5C8CTq\8>O)~URRVh4tuQUuGcM蚆8>{{.%㢨 .S3'0QD!`mƳoe.(cۏƂ~_)hm@胧%A<BJ9"1XE>*۲UC2\mT&h^]$*>]UP~! m7]Fa8c klۊ30|^x&%/~*w'(c?n!<0?H)1L]p]LaǶJ48^kj<Z HسK:Ah:FJNtmU$D.mP]UH&p\!ⓌzAToLOi5=Sz>p]V'Rz/Qz~0 @Jx"Yml`) h@ pyCQ(^^& #1L#a[6Hd_u_!h:`ePbvfnH&5J2r 5N  vY__wTP`}Rn$Mc=^JL]rgu/~ዬfYL4&Oз,W[ѨG)kĢ,u޹rW cS.)*D#A뛛vˆfurT67E `JVEnwjjיi癜<>BxjMal,SJ|0SӼN_Я 7U]/|˹ X_[YC:;>P+Wgum(L剄Le&e;6ipU~緾/Yd,rx꾎Xa-_[X`<.ΗM4}y"~ok^fO =e^MR$vB0µ[Im{Un޼{/sYt-7~_٧bk{ɋ?G xKNK<>ƅ _㫯? 7;ģ1?$;v|!ƧnյU#wϜ`w{~?H0;+^xit]ƭH)0ugNnV=gckMQV4L[cavH>kN4M>Zhؠmc#^ZD3|"oWbѐ]fQOI)Bt͑|z HR5s؄7IX}{ۻ4 B ݾXTgO3ò,0l0;3훫,ݱt?=Dw#ORNx,nbko}|󴕐jA/8{,ZkHg61y+XMP>ҭUft-.v?Pt: t Sk]fljǢuz {K |}!NJ|ۼ}CL6'+Xп^B%ׇEk[Ce {ym܃mty!D( 7r6o~~k)nx[ lw8`tKn( =I!8UqiRJ4MŲleq!ʐl}~둪lmt@ pI!@(J0]*5%=>xIA}g#c+>x{L?x#  /E:Q:S}@j5Q[hx:һ;Z6FM;ȟZQ+qXƽgF{ܼuSOQ/i4H29ehNɱtHXY]#ɐ&HsG?#Ns9|RVaPC:HdtMJyBnT& Qr6SSg+%w0|~h BQ΢!TzގX-s s湱Cxnn ?Gݚ_s24qsﲺ y|뭷x')Vl9y׮^BIiwr[-/RY^ggv4$3Z/]`u}DŽͭmlSKzO\y:tSS[bᥗ4?uo4%_\BfEbmL6Nm7o٨bz*}5^PhK ʼn)JzF2DQT|>?~T* su|~?]KI%i&䙧v$~bf湳3ϿH.K<`Ud2I*EM2FgN'9slBĩQl|`B CQ)WHd&xKC!1-x$4yo5ٶjU$&fjW&?3<8Ns)2.g~nEEH\ۦ\g%͐Z)3991laP8q=z{23<,q 3@F۶fשc5-zVUwV(aLmSm]W[6JH@ő(L$&`.j{+_ybH f=NM0ݬ]W:6Nh$vFˑ%ӄCl6A,;#o410/(g?S뗖p!J`@ .)QUuܡYbYa(36pm-ym=.GR r hygo# }^ upMҬרLMM<K)RS:W1hG_^s,J|E# !^JNx>$ xp]p\#?7[;?Aj8.Hc F? B vDcarEҙ{5pR.Lhv42S1E,ZzK8a$ [# yNuȆ/Z :K8R.I&8j\r/>RCQPWR >_`oq,ಹNO\q0c.mWڸHq޺X4Lխ"'N=T ADUU-t]%Q`2`XT.^siX!K9ݿKݣPnҮj6)Z*ɨMzeLt(c$ ^Ya-k_RΣ:1$gyo9Og4;=ldzW^9MruL!RQTtl@<0 %`}kQdbוl ]w*q{ 9x ZHl>Dz=7l2ߖw5٨=c}@\b u-jB7Y(HX䶔 4> at4uwq !No_ ;zVı-5C HxDsXCXɣ9,r{QQ $D~: GB0 XC/$9lkw u5a׏*AQA b cW0N.S3XRA.)GԪ:(ks-"LNN*ujU3L4¡CTV.K$~&.=A|,C:oQ`6 봰 Py'(r{ڏ!Lf;wx񹧸z} j} D b˹Byb,}bL(r<ǎͱ|c*LfóϽ3_~aI}/x'9yÒ??yT^dt/]`@\-&ƧPJ߲XD,`c{LfCghw0uJJ&:ۿ}F\"9qFKA<@7CDtvv7P7E7(^@ ȱcl6mh(D8 Lg3-@$…Ǹv}"8rY:`OniZCIc>4YC( IDAT㸤AL`BNc)FQu4]4}fORY @u&'' C!Oe矧Vk>wq;6G=q)>}T jN~͙sE"(BT!V 󻡛~&/Tsyty$_҃^=NEG\&SJ^9 X̜@{1\ Z1 M!R(-}ySN}f$҇x3Ϣ$ s'h[J?EǪ O#lۖkؖe\zGhlo &ɲƱJoS,J<#~8CGuȤgz} F"[kX"x9^tTiPбD @]JhB>c;hNGU;XDӴ$F"6J?ElRdT7#^JYQ44j+)%P] }kO9R7G !em#QѺbkξYoFhA74,-: >wDq5&lգAJhwcDJl.~|Tbll]; p8{._}7}:vHkDžS`{xvG#G !aA^{XXڣ⣖y*KJ)84yRiFZ^L0vKEҩw6CF>nl4Mh&z)#TCӽ-½^`0D󱵻G" u:BAZ`YI3|L\>O8B:>"<]>5۱Y (Vji/[A7M-0 s^G`8y\mt]`099IX@Gq,RRv0 v?ӬܲutP4ǻ!Gv>`.nIvwsJ2y?cnvjDvh5A-,NGR@FvFR14@0@w]BPVB=by YḒh,vzWCHIȌPuUwn[xLQ$I2'ODrו y:,h51|A0jtj U7a/1o?9o\# "FG7t&cwx1"8{KkW(}:ӳ<3 y|ZS&-)4 tӳ]}>og#@*Zʳygxz7o-F-;kLd,޺3=GRayy9&ǹvS4,.X]jt{ߎGxX*ER,޻2ߍx/{Dc1.O nu4 ,iglfumLMxz˕WFC(^aضMߑ:ҩ1._O^D1 b i#B04 `|>~lnavK diy)&)ʨI0\x*TloIb,Ʋ,b J huNNF7R(H$\tvM܅o~|.k.?WD`8̭KL31>mn@(90u9>dR)n޼IA}hi 33ql?= JVhHǢc別ߺ pf# `l쑭F&>|` v^Lw;e!JJ8{b^BW5jN*c SS:_y%&^vWZ wx7FP 155E6E1RMw$ NL0&z퇱BFjޑogxo$?y_v{#26AziF eͮERgj|jc? >j#]PDL.fffٱo6NdffPORcqóAeYضE$]R233;>^@)!#hq=d7AV5J<8vÿx+va(,~3u# t &AP`)]Pު,na:>z AqUyݫݐ*+5e rz 9,\:ByRJp0]4M,BRo (؎8MN>t?GXDQ`H(N$ 8 Nbzpaj2.Srl8nUf?zm,1^!JrYcCi bCuo{AGb~$?FemeZzd5'Xe<΀? +O_.bsss?&~RHTŲm gms JS՘̦[d3If?3zK0nR/ 0M':y 0~of,^yN RyUtc*,޼I^f'_D7 pDt:C&7T~y\0$2$ba~W9wbZ$[[[,--qEfffvىip"" dRc+w7ȎO391e; r>.XoI]Ch>+of*;*/{n/Z'/TYµ+jJ=`r .v/Q,Wq8v$ׯ]*|3 [8 hO_dV_dvfZ/tw?յuP>VeG Iv/\}Tz$\RhY-v|a $vr #ޡ/W5fggqZ=p^wPajrn;8x? O17;CP$)k/C(s,ot-d8Ef\L@1{m4E%=W  aWY}|ܹ1"FBFqb{,K9 }as%c4+wЅdrv~4o3NQ*X+{&9}qϓpzܾȉ*R $8BATY0o;(۸Cvz]իWy'+z=l0;3)Ng4!].i_4TZ8n?鑀878 Rk@  ~Bxۉ}6'N@Q67zܼHPu\BVRN6;O.Ʌ gƒ}gh4w8R&ISq|abBظ.dRI\A6٨噧Q:XF)K#hY-4:&F`(L4lghjq^ TU/O'g+f=<3TKfggY__gqq~,K 'ovl:ÅsYӪȦƐHJP@,ŭ|esڥ]/.x"mۼ[;oh͍53Y4bw A~? yu4w߻ʳ`uJY?vDb !$F'ƹY[_A.Ͻ}ѫkb[K5\q@0pmfgɗG:fxW' 7W9sܙCr9ZV+[otztpUΟ?ͅO ys2)I*A??RRVu}D\!hZ(R؃%3EN8mjH0 |~Ύ|{B/Rk4qt]ElmR.xя~j8c($ :_|lof[6R5|Uu3X&xr%Y^MϑLF(KllmKY MC5 Tt9GuB\p|k8y Q+ CT*|(V9JXBn#/g(K|sr\znԥǏ=vIj-y0L?hՕ;m'7@]>?{ & `,fQEd'EROQjY9 i4RYDp\D,nMVy /-TWȆ&6(x0=lyjP(8s jX|<3ll2MlwIZ)ip `Yi2666CGnC#yT ãX*Ks>~4V=d_,G8UpW,!{PzoLJ8x_@~Mwm$ef~.%عktzcֿL&L]poD<y;V瑲P( %}^HC4h4ʧ~ӍI>tz׬=Vwyf B$JKI8Į1L߷BtvuyHn0P7x&K+Yb&LMafn;0| ݌`h 䋥 |ys~}+_[>({^x=J.g0--,d !ɓ߱<溱~](2яq+HiiǏ:W tF|t4UQVm􊢐JP*hrp]x*T,D(SL#Oē)uvVw `_DRn2|dPuŞ_5z;;'1ň6S:;TA*"­p$A4kaҷkeljd2I!ahxG8 ŻB=މS}fggV%"߿&w}#G9P KH 7b:ӈ X_ $l8r9<ǍRK'5ݵ* zsunl]׸ULrZ{$a8.v:\DhoFSUFG20ra)W?w}{k=fx7ĕ*-V LaB9Zk+?S{KvS!󚅽~n-7|-}Ɵ?絘^TFMWZyL2u}}O@)9U5R)%5ʠ {} qmCK%Sizcfm-,47%B0;7 Xix4(r['R-m%MH4. M7<I!q]}_XKCLә::v@,\Q*P?;z 6(z}{^P9BN[GUAH)qt]E b/kZAj\hl_L>q"0Y1Ca)48 BhR~[zR5rMNukJ8X%R@|(2yjI"gΞC45B1 A<Wdr$aUˡTTx,B,Xnz\FQUӭ CL[JBfQ5 Mvb;.m =`{ʖ :2|iIc~SsL{Gu3<Thg[?~Ux Ϝ%wP+Hl4G>EL̬лPd@;wu2Mv~nffiO7xz +8> fl 죿rBEHpG"Xתo}O}ZR &Y\Z`~~O=$.MތJp(\#l\`pXiWhi Eq }T]H8̑Wس0a%$m6|p(PAEBQ)7Ԝzcb6NCebXYJyOǻRJ"0my~8zhڗ_<3* -McL,%BHIN,ڴrnU@MגD(Ej蚆88QS7ʽ<)f"o,KsEiq7 QkTB(l!@?&*ہiOL3@4N{rYDC T.W433(T*՚P}o\RnydwJ5cl߇?2 BlKK8FbgΝG9Cwg'++CGVLb[pPuKEccjfwQ,/ulr;Bf3YzIy]mLqi9-]aTUwoH{[3K+ETTEnM©sC$cr x ϭR.W=)4M'EGWDǽq.M#``˯+B3/S(%JSPx EUBetvuF0D$MtwH>g.^$Wp8]]d|l&b$%C %b,UQ)#'gpBbCWLfLNɕ *&v&BғLs2*W&]Rrx8Ӓn㹏=$--#22ssVs_t]q4Uq]|EAOت!PKpkRyctu1 v6?BsÞzLI)mbDKK²6l"&V3+׾Ƕ1LjB4l& 8R{+aiģu;DkN)}g7ֵcǑ~,n,V[BynO( xj?z^Yƍr/8H4PUǿwj۾H>'6){uzO'%!qgʱ a>!s+&Upl+_}죘P PjG֋)u6ABԜ z>{|QzC^o^zI|g'uTEܾNRĨVJ:Sږks{^=#ƱlnPBQPU^;wVGܷ_M\nۖE4#hU9?ͅA= ՖbE{kY^Vϲ=oS:MuͽڶmtM#{T 2 z{zT3WigΞE@ q=_ ծ?|oMsXo'Hp]B.x?p~hvb4"avz]}ǭY3-Qmy=)5 DZ7}9A}FT*!$9gY֦6TN[*0 cMޚo}/wt6]S9C2bfԧ3R7{\k>((`9W-͕9RqU@Vp G.;O3hNz#_#FH"NsqVVryz{:1K\Kfy'Y^4l"OǙ7ٟQ.P?/ط={)-/o}o['PT(H)Iäg›@A4EJIss3- 8ƒ܍NQ ?Ro<K|cOcln,%+QX`@Ky,ʱ' /!JN+Q\a<Oo_/lK#D\e8bolGcM}> 0U%_(cU,˦-Mղl%6YYG0B ˪R ## !CGaD"a6irU" ^] DPV1M˪bB_Mө.BR\BF=Ҩ?)};.#uUB(: @JXS[">@hRjhflng AQUPhi͉Ib?ކ Z_MhW T˼:\UT`=S;$&TϪi2&PF+u.!p:ުX6BF)7Jߏ6[qѴUg)\.i:mc[Ub+36ZCc7jlTb9VmyWj~pj=eYhj:( M+ # MqW`j*P)8,,R,( cQa\BwgS8?ЅhBٽpcaC4y33Sth }7BUHd2(ª=UIDATMI.]LoN\L1fiKjj^/{Bi蘡0T{3ؖw {X)Z :Ç9cR7v,\gNͭ =Dcs9ZZ..ܔ$Ss H"3 RK 2o=!;}Կ<oIWo?P.?G([UҭTUzw;`<嫣ݠ)=PNL3,..\f~=XƦ&QBM,eص>kE. D!z>O_?8DB:XZ\'X/{$bσt:͑#ɆSݢh&;?Jk*΃ms|7Rgzn鎮 C#R3$Z7&FF,Z  ߦsFRXU\w)& |̩`대/|<גp]} 4E04_ &s~VS)Ƶuh}Uœ~)(cZc:~nY=-jgC᧠ՇkC C[{=KB|7ׅWϯ֣FBy"7䪝V acт~8hmm,,,.37=  #LMMTJd2 *( s3d./B 9,rLN㰴%LW!LgsRT1lòe0CE#h͵E⢿Ӧ"YYrY׾C:&OPqBZF.]%q{o!CIcLN͐H9{,@4ee%4H|.ר˗0u #fyy|>O(gYD9s r5yr9X^Z`fvV.?Gfn断tM|¹CG8TUevn}HzwBW8{L&C*IR$cWKy.ؕnpurEQ[msaoSsyvv‘dvng?<;w-r~<$[pk{{{-W^_"۷#UfxիWZdK;ӑ$ 3tК^߰737;AI) fP(̡iO~5KyW?cm}Rvc7x23 ?GKst4ePF.;v# qwQU8}MJFc` )˳Ff }{Ho.oV+tv젹|Yv ƶd2t]DLl;Bl^ŷ~8 tayu\3ϬuU^zs>+$#Ĥfv;6lZV0ė9=ӎcT+yz >~z+yf)\ ٬@@@Ϻu].gɗ4< HFW%!jR)m~cCIla[UI" 39RUUٹs:dBf|Mڼ173p+$c ?;[p'}O?bWvBDWɿxCtvv6_o=IGgӌ\]$L, =1N8X/ˀu@ݭWu<|py*X,N.B2`Ϟvpk=Bbǎ|, :6d^^|@@  `mL 1hefQ؎mXqG8ta4tMgzf&X5@  !j;nw9RMnRއOUݨ;P+cۍ]}AJem'lϓ [ EAz^#ZzȷvWUU!)[WP}~粘YB(Hy\JO"Ry!C4 yv=W#)LMyH>hϵ'VUUm)愢(P,UhkN"GJ"8م\ M'O E[g3\癏~qDMv:p],m-M(2rJ#gGO'f3JervǮ^PQtOJ/nn&*Tժh'W²&jRlU#/YTMu˻[>Hqݎ$VU_U=ng> H{}y4Cu%BT+E.Kc [KbHr'1uji{֩[, )dMo( %my4{$uYRHOo?r:..lic%_`)Fضjqq"ǎP,+SS rlhI"qSR-So]^w3R.,2PXY͙ }YX4BT#Tl{d(:Bڼ:3C[k+eie8]!gtʅGfi%OPy?̌/I55zD͌pGM%sG9|k/O^|X;L5Ifaf2TK|_p,* †wU~~R?ygfp {vA I_o'VJ"ŗ^F !P-GT yvcii]{܍y%J*رk]4W_{U%w^^ַIqۢ3 "ͷbvjX,$-4Uz;Z.Ufp~F3>3={:mmtttr0f8ƩӧTU\Cg>|_gah ǟ}.,Fuf=jjZlIXTaFbu4qe| b9Ո/Unsulۘ["NД.vΝo`iP*PT["ض-*`BQΞ=CQg]aW_+ 9R("@HbULđeI%SO'x1:RD2ARq\".* +ienVR:PmJҸZp2+L&صs' mcILd>!Wm0Lmی\JWgH<^t\B(YYZ=8ض BPinMƳE>_vҭiZ{{A:,f(FZZI%^L=B!\?@Pq!|hJR4͚* Nmz}_VL~MMoo$ĢQ@4ލᇎ(bZbodJJ$\Es]ڰ>|CEui5h x5˿z5;yj8s]ѸK4M γmh IENDB`rtpg-0.2.11/tools/screenshots/trackers.min.png0000664000175000017500000006232611403430344020320 0ustar dimkadimkaPNG  IHDRWssRGBbKGD pHYs  tIME 4%l-tEXtCommentCreated with GIMPW IDATx^g]Gzcwu]B!HГm6TK-jvB.B;bgj'6vl~51NHj')5rA  zo}qUHvu̓'O'JQ)>ŧhm(h6q\t]B  bX]{BH.A"tC8I/cKhBx }>|}>㌒*ʧ2-v`|~TMn=xjF DhjI߲93v%[;mnȦ3\Ghk"1> ix*}O8B@D>DtayuV4cc |m4Ub$RJzB?EJ}qi*hJ߶R ecfttOG(*`[pdTO)~p]FI(AJP ]7!IE"~)%b:ҕ2,ضiؖE4MRD$G-WyjnE>RJlf-lBARjP,Fuҝ, ˲6UxOa{]G(շ?gVNV˲TXav:t]PT~_p= u@ӥZ)/޺)>/ uq]+kuR/btmcBhG,ǡP'W(3g/_jgm޹o;̦vC0`au6yjZM2q4UEIrX؎E Ufj@* 5:X>e\)t8nx"NñD&N)**.AcqjߟA$ u+ױ>xgSY a0/}~vyPRb[}v9s;l215k<%z c_;AC a"$iMאK&B4(jd3.qTU%`w nKMxF=Pl`pԿ&:)*v~+%A x6"Z&cJđ@ò5>ů› OduuS'`6/p &&+Z@U=u?3Da^W!B]fu[{$P,Wp\qH> 0H9 yEwPDTu]vEcH$CY'KviX}\%b~y]vi4$LP(=Czi5C8CTq\8>O)~URRVh4tuQUuGcM蚆8>{{.%㢨 .S3'0QD!`mƳoe.(cۏƂ~_)hm@胧%A<BJ9"1XE>*۲UC2\mT&h^]$*>]UP~! m7]Fa8c klۊ30|^x&%/~*w'(c?n!<0?H)1L]p]LaǶJ48^kj<Z HسK:Ah:FJNtmU$D.mP]UH&p\!ⓌzAToLOi5=Sz>p]V'Rz/Qz~0 @Jx"Yml`) h@ pyCQ(^^& #1L#a[6Hd_u_!h:`ePbvfnH&5J2r 5N  vY__wTP`}Rn$Mc=^JL]rgu/~ዬfYL4&Oз,W[ѨG)kĢ,u޹rW cS.)*D#A뛛vˆfurT67E `JVEnwjjיi癜<>BxjMal,SJ|0SӼN_Я 7U]/|˹ X_[YC:;>P+Wgum(L剄Le&e;6ipU~緾/Yd,rx꾎Xa-_[X`<.ΗM4}y"~ok^fO =e^MR$vB0µ[Im{Un޼{/sYt-7~_٧bk{ɋ?G xKNK<>ƅ _㫯? 7;ģ1?$;v|!ƧnյU#wϜ`w{~?H0;+^xit]ƭH)0ugNnV=gckMQV4L[cavH>kN4M>Zhؠmc#^ZD3|"oWbѐ]fQOI)Bt͑|z HR5s؄7IX}{ۻ4 B ݾXTgO3ò,0l0;3훫,ݱt?=Dw#ORNx,nbko}|󴕐jA/8{,ZkHg61y+XMP>ҭUft-.v?Pt: t Sk]fljǢuz {K |}!NJ|ۼ}CL6'+Xп^B%ׇEk[Ce {ym܃mty!D( 7r6o~~k)nx[ lw8`tKn( =I!8UqiRJ4MŲleq!ʐl}~둪lmt@ pI!@(J0]*5%=>xIA}g#c+>x{L?x#  /E:Q:S}@j5Q[hx:һ;Z6FM;ȟZQ+qXƽgF{ܼuSOQ/i4H29ehNɱtHXY]#ɐ&HsG?#Ns9|RVaPC:HdtMJyBnT& Qr6SSg+%w0|~h BQ΢!TzގX-s s湱Cxnn ?Gݚ_s24qsﲺ y|뭷x')Vl9y׮^BIiwr[-/RY^ggv4$3Z/]`u}DŽͭmlSKzO\y:tSS[bᥗ4?uo4%_\BfEbmL6Nm7o٨bz*}5^PhK ʼn)JzF2DQT|>?~T* su|~?]KI%i&䙧v$~bf湳3ϿH.K<`Ud2I*EM2FgN'9slBĩQl|`B CQ)WHd&xKC!1-x$4yo5ٶjU$&fjW&?3<8Ns)2.g~nEEH\ۦ\g%͐Z)3991laP8q=z{23<,q 3@F۶fשc5-zVUwV(aLmSm]W[6JH@ő(L$&`.j{+_ybH f=NM0ݬ]W:6Nh$vFˑ%ӄCl6A,;#o410/(g?S뗖p!J`@ .)QUuܡYbYa(36pm-ym=.GR r hygo# }^ upMҬרLMM<K)RS:W1hG_^s,J|E# !^JNx>$ xp]p\#?7[;?Aj8.Hc F? B vDcarEҙ{5pR.Lhv42S1E,ZzK8a$ [# yNuȆ/Z :K8R.I&8j\r/>RCQPWR >_`oq,ಹNO\q0c.mWڸHq޺X4Lխ"'N=T ADUU-t]%Q`2`XT.^siX!K9ݿKݣPnҮj6)Z*ɨMzeLt(c$ ^Ya-k_RΣ:1$gyo9Og4;=ldzW^9MruL!RQTtl@<0 %`}kQdbוl ]w*q{ 9x ZHl>Dz=7l2ߖw5٨=c}@\b u-jB7Y(HX䶔 4> at4uwq !No_ ;zVı-5C HxDsXCXɣ9,r{QQ $D~: GB0 XC/$9lkw u5a׏*AQA b cW0N.S3XRA.)GԪ:(ks-"LNN*ujU3L4¡CTV.K$~&.=A|,C:oQ`6 봰 Py'(r{ڏ!Lf;wx񹧸z} j} D b˹Byb,}bL(r<ǎͱ|c*LfóϽ3_~aI}/x'9yÒ??yT^dt/]`@\-&ƧPJ߲XD,`c{LfCghw0uJJ&:ۿ}F\"9qFKA<@7CDtvv7P7E7(^@ ȱcl6mh(D8 Lg3-@$…Ǹv}"8rY:`OniZCIc>4YC( IDAT㸤AL`BNc)FQu4]4}fORY @u&'' C!Oe矧Vk>wq;6G=q)>}T jN~͙sE"(BT!V 󻡛~&/Tsyty$_҃^=NEG\&SJ^9 X̜@{1\ Z1 M!R(-}ySN}f$҇x3Ϣ$ s'h[J?EǪ O#lۖkؖe\zGhlo &ɲƱJoS,J<#~8CGuȤgz} F"[kX"x9^tTiPбD @]JhB>c;hNGU;XDӴ$F"6J?ElRdT7#^JYQ44j+)%P] }kO9R7G !em#QѺbkξYoFhA74,-: >wDq5&lգAJhwcDJl.~|Tbll]; p8{._}7}:vHkDžS`{xvG#G !aA^{XXڣ⣖y*KJ)84yRiFZ^L0vKEҩw6CF>nl4Mh&z)#TCӽ-½^`0D󱵻G" u:BAZ`YI3|L\>O8B:>"<]>5۱Y (Vji/[A7M-0 s^G`8y\mt]`099IX@Gq,RRv0 v?ӬܲutP4ǻ!Gv>`.nIvwsJ2y?cnvjDvh5A-,NGR@FvFR14@0@w]BPVB=by YḒh,vzWCHIȌPuUwn[xLQ$I2'ODrו y:,h51|A0jtj U7a/1o?9o\# "FG7t&cwx1"8{KkW(}:ӳ<3 y|ZS&-)4 tӳ]}>og#@*Zʳygxz7o-F-;kLd,޺3=GRayy9&ǹvS4,.X]jt{ߎGxX*ER,޻2ߍx/{Dc1.O nu4 ,iglfumLMxz˕WFC(^aضMߑ:ҩ1._O^D1 b i#B04 `|>~lnavK diy)&)ʨI0\x*TloIb,Ʋ,b J huNNF7R(H$\tvM܅o~|.k.?WD`8̭KL31>mn@(90u9>dR)n޼IA}hi 33ql?= JVhHǢc別ߺ pf# `l쑭F&>|` v^Lw;e!JJ8{b^BW5jN*c SS:_y%&^vWZ wx7FP 155E6E1RMw$ NL0&z퇱BFjޑogxo$?y_v{#26AziF eͮERgj|jc? >j#]PDL.fffٱo6NdffPORcqóAeYضE$]R233;>^@)!#hq=d7AV5J<8vÿx+va(,~3u# t &AP`)]Pު,na:>z AqUyݫݐ*+5e rz 9,\:ByRJp0]4M,BRo (؎8MN>t?GXDQ`H(N$ 8 Nbzpaj2.Srl8nUf?zm,1^!JrYcCi bCuo{AGb~$?FemeZzd5'Xe<΀? +O_.bsss?&~RHTŲm gms JS՘̦[d3If?3zK0nR/ 0M':y 0~of,^yN RyUtc*,޼I^f'_D7 pDt:C&7T~y\0$2$ba~W9wbZ$[[[,--qEfffvىip"" dRc+w7ȎO391e; r>.XoI]Ch>+of*;*/{n/Z'/TYµ+jJ=`r .v/Q,Wq8v$ׯ]*|3 [8 hO_dV_dvfZ/tw?յuP>VeG Iv/\}Tz$\RhY-v|a $vr #ޡ/W5fggqZ=p^wPajrn;8x? O17;CP$)k/C(s,ot-d8Ef\L@1{m4E%=W  aWY}|ܹ1"FBFqb{,K9 }as%c4+wЅdrv~4o3NQ*X+{&9}qϓpzܾȉ*R $8BATY0o;(۸Cvz]իWy'+z=l0;3)Ng4!].i_4TZ8n?鑀878 Rk@  ~Bxۉ}6'N@Q67zܼHPu\BVRN6;O.Ʌ gƒ}gh4w8R&ISq|abBظ.dRI\A6٨噧Q:XF)K#hY-4:&F`(L4lghjq^ TU/O'g+f=<3TKfggY__gqq~,K 'ovl:ÅsYӪȦƐHJP@,ŭ|esڥ]/.x"mۼ[;oh͍53Y4bw A~? yu4w߻ʳ`uJY?vDb !$F'ƹY[_A.Ͻ}ѫkb[K5\q@0pmfgɗG:fxW' 7W9sܙCr9ZV+[otztpUΟ?ͅO ys2)I*A??RRVu}D\!hZ(R؃%3EN8mjH0 |~Ύ|{B/Rk4qt]ElmR.xя~j8c($ :_|lof[6R5|Uu3X&xr%Y^MϑLF(KllmKY MC5 Tt9GuB\p|k8y Q+ CT*|(V9JXBn#/g(K|sr\znԥǏ=vIj-y0L?hՕ;m'7@]>?{ & `,fQEd'EROQjY9 i4RYDp\D,nMVy /-TWȆ&6(x0=lyjP(8s jX|<3ll2MlwIZ)ip `Yi2666CGnC#yT ãX*Ks>~4V=d_,G8UpW,!k(D1Ꞧ 7b+fqnנ` Vl,,m48CY x{عBjݛFm}m PʭA@s{C,7mg]_U~4k2"f˶) ֖߾>^z{f~o12WRJj=E2 6•p[menPԂmh W>Xk0 1M3gp5 ?;[ovㇻQj穟>{PzLJIx_@cIa }W?QYV;ƁQ2jn9X?Q[SX|a">{GF0BN%a5 0D3 X,7 )t/Rfyvi} ;ʕ27n\crr.goD R&bYLMÇ)=Ν=Co_?awlz{ڿ׿8xcGm{'s@"tKp1Ξ=KZX(080Lj⌌6ZZLHߥT#5x<-:::1 \nc',-3ɏd:"1ji]K?P "OqVf,1ϝz,x1\i9D ޞnҮb^>Εgw~Y] ]NY^`nq^w,22v̽CuIG*"Ӄpeϼ2 swK #"'|־ 0OZexxf+W8; :}4O=ԎߚYjmaXqDh#&@R\.Gq#7MO@L'4mt[PbHD6MpӅC C4 v}5rZ ) kHTTp==шixj|acY劋iR`Vǹ3&~/-$kDL O2q]ss@+k"\G4t|L^12:*V]I$Ls ղ2 jHJ0tɛrg-Wb8'me{@td: BS C,&imt/If.Mq² w|R< nSP pKkVV}|ko^o=U|%rGԇ9,!/>SHD"FLSr;C6aSi1 YAoW'B =F,S&< qv6|>|* +d:a@ɘX!>vԦRR Q(([5\?$Q-1mja CL; aHTJ%R8~R,0t i8(<6C IDATRX ܘ-Rhc11M:8}4v;I9}ahwޞM>NAhdrF11qs[L5zZs/^܅K|[ɍh iK:B߽KLRm,H"Yt=& S7&(ʹ+Q,ikk-$B/ɮwfIwͩS1:2}b,/3??|zXϮ21Ho'w\.γy;͵Vs|iRnM)%}~oVdrT FGGr3bc1* n}oIufϰӖn#Aw}oK+DXSW1"M6ee5K)m4Nϊ_oZA>j(-QP0JF B(P(Z% E @ha(-QP0JF B(P(Z% E @ha(-QP0JF B(P(Z% E @ha(-QP0JF B(P(Z% E @ha(-QP0JF B(P(Z% E @ha(-QP0JF B(P(Z% E @ha(-QP0JF B(P(Z% E @ha(-QP0JF B(P(Z% E @ha(-QP0JF B|ZdW>~;by.nʼn;D=FJYBwYu],+K?B;HwtQ.hϴ!}˲eQ<aZa %Jk'OqfW*w 9J(*'9lEh?0TO3B>mtrO 1MY҇@s %FA_#ؿ?_{DA"2)k߽{NqBG*ˠ_46[!qG)X ŧ˞ @TUnݚڜpcG֖ƌle./L%bT]JIb1}:ݙN"I覅\'jEL1O-h/< BO*h{b0) {&u `5,"K?'痸ۜ|rtN9v s]~˷xɣ\:0vI+3[[gHcZ% tCH/Mo{ނBe0 {h`t 's8˫y҄aHk6&(G I4z>XC85&B;ZIB|C1e{—^yljn#KkqMӶCRJn!D})tZ׵ڜ RJtM!nWAScP6,!( ȏ3"Q`oK",AT%~x4Qɇ:V4a5J67;z 7;i0?t M]wToCJaFN̈`fI.fOKQB)Y[[#Ja2a"ĊiA,+BR!՘/Ǔ!=wE!Qk RJt]'0DhCJe;neTDmria!bcՑ ?GԊ~̭I.^S7oUرI;`m-Os^-GMUT*|,..z\r|>t E"Ͽ;>Ïdy ߒϮ z#N=cԉczzЍsO T78Q߸DmGey|Hhs\v3]X,_\'ý~]sd2]8fZLLsԯHupe._L&yXCJI4e~vw^u28M{g7kԹ :?742o /4;]ٳA_{=m͒RJ*G)A,_{t@4fnBA"@&Ip"hMv#G2P*t [hI1  D CH)+$N4 o[A/ y9hT!V$I$il 9|yR(~P҈Z&O{A$RN^ҫ`Y40 wbɏ(oϿ:wFMwL6EM?vP6m-\l8=nαsQ7L@{o)AP ǃqsjQm7-kV3S,b[Emsdm-35u; X__οR[D;M={B0{ } xos{yr;mLF4Ο>Ñc+0 Zy/?H׹Wrnnob@KLNpka'N05ucGPr}&odcc^WWx癚R%>RnWt:-x >sLMNK2a`Gxq666}N u"ݽLON095ÁT*Bz2Lݚ#L1txu"'Oԇŗ_?}uo}w}0?fZ$m$H_h4J-/ ܜĊR)ܚGY][%@Td%lA3#H!|g{޾fuy_X5 ~7o *_o{ﰶ%oߣP,2~ 3<,w0 w!c=t3~*%7>{NЈFm4M# $jHIJu ?J%x'j>0B"ČX?O(!_(06v *`Hakd?r}gb1e4!NOIn>aJF-d/H$bAD6nJԑhMOR]pa0 !$avx lxgxBh H|Ō!5A(%Fez^mۈkjAYdP[8ie5 @4^@v]0*a"e5I  3m۔4]4-LCj1B<) <}} y_{}=Rh4ri-0RgOx|?~wumva|͎^}z\cl#2==-.:],24r+WƔ.p8z%8s35Ago/n!n1r+8$Si/7<V(B5K!Jm y vbm{6*,xwBp&''7<W/2?ēG100FW({|3ǹaNM'|\>_|i^|?@xi*Be5+\P!M-!鄉7J߸ bZ\"S5~3@SuI[kn-(AyErKW1%y>K20va\(=i+uFx&grl x_AP!380ڬXBk/t&x -oP-/mWx g]yaF,ze)Ukģ0< opȑfE*DŽP_k&O=,cp%*xf*1{kM7+o2 m34 |u]\v,˦9Bh,.S,UnOHO]]=Sdz#44|ܺ5M!#J1?7O2nӞ&CPH&S,َm;㖊V(z% OB\b!6ܘ#ÃBG؄aȵttx:zr.0{0|D0%LPotnVF ao*p==ԞgPqƆ 0Mp<B3!$Bt,6$3}g׈ƓKq\077KJ,So]s֩M>C_g LT/uۈƓB#럾Q*y淾o5G9t,{qUooBG%TsNj!Ͼ}C22zуaH\!]T,a}#aT*ɘ?˿ f%= nO&qbq?| x:2> tR|'1~%X&]]2q}+sR`:+?7;?_y\9˯~Zoe! IDATLMMf;8nkkj NԢT,S*尜8C=esLLs(/#R7&Eg524>m8A0y<͕?JԊP*nPvu;Ū L C-N?ﺡI$ .Afh(K+d{h'J19q}m@ 'Cgaq~,'ɾ!Ξ;iFHHS,/-8b F!] F<$b$6DM4BF^RJlS=A2=EoOaN%80O$!8mQ@A{:ehdړ! %5Gtmaxt ێrp,p+eL@ʐraipɉT%).]Bow T%4#suFRi 1 &kS7kqݯ鄡$ CRbY5]kPy%ARVY| sLoB A.'Q76o `}}'EVD"fjqà6Vna}ج/(Af% l<$Krێ6\9tV %ݽ ZMvrW D"UyaΞGu[3\tGX_ϑb| |g @ P|2cZCaW%D֟RrYۯAy{f}lZO}B}?Bt}k& ƳCMX @F ~pIENDB`rtpg-0.2.11/tools/screenshots/peers.png0000664000175000017500000037356011403430343017042 0ustar dimkadimkaPNG  IHDRCsRGBbKGD pHYs  tIME ,>>tEXtCommentCreated with GIMPW IDATx^w|l˦F{Gl((*`AQTPlدU_vE@@ޤjҷμ,黛BxB93>9猢iB!B!9dV|B!B!BsW!B!B!ĹKB!B!Bc6#B!B!8h R'7B!B!%B!B!BcB!B!B!B!B!B! 2iv{8AƱ dѣ=zlHQF4l@B|LnNzq{ۭhF]L|:^(LtB!B!yko=z+yE7ؠ\B=џ5B9 ҫ[[q$:wF@@EQxq/do"HK.b܍79qq<ؓDGGw֭[318Mcƴ|U4v5_\L-Qk>qn9,,6 ͎@td41QϖmQFZlATDjB!R{vd5ג {v_c6ܢ|8RUR{giب!׍EΝ;Ytҙ˗ӱS6oFuҿӧ__b `Ɨ3䍗՜8t8xM0Fc2xчiމ)LԶT4i[pljR ngtrr쾲`2Ir$FeZnn.{!,4f͒ 0c8 n{9fa9};0 !B!D>|m. 5<%\oo@HHpsmFy;;Uz7_-*-韱q&zg2"ZnŦ[Թ#+/w^[! f0uTf#xᇹlg|9fbb4@kS_aîY3Yb׍atWMرgש_ p8*\ ڤc-Y ngML]Nz_Ep::͛ҾA^]۳/yt Ʉfb)Fp:w`_fyGB!BQ#Ҩq3bӳw_l"_YԨq3:HAA~39?5 ɃdбIZ NAD~iiiXYn-va-߇ŋСSGVX͵%66 ""#}5S*%#n"g,V+"$8V@AGԙ( *L5 zw@ppl~˭Nߏ9cO+/1jDGҾm'zi._I&fzl@Mj4=4McޝM%=}̖GBQh+4Nڤ#mvAjr߯=~Z&6&Mp:(:tOɨ<8t0N'ɓ9 zt:=&뺠*Ũ )_UX!B!t:\(D꟢}^;xSé(f1Fl*p:hFƍiѼ9 b 8c3InN3h"#"٭!!z9998uj,NaqM5g4 '((x}Nz[}Nc7iBT V{wikIϧѦu[ Ç w'3|p i;xOyW7&yaV+27~Cf~ 񾚩3FS'w'} JJtv? V>o4M#yDZc[N~sNfӶMG~nCQbcI۱WV^]9s2w Ev8þ(,bObbCX,spkMB!Bߴ"8rWU??~AAǙݟUb+SESM ؽg/N};T+00F^^VłkVۖ[YbPWmXB\"1Q8]҉"<$N̫+ΠC4 UUk8Nw~(Nc%8*p8*j NѕmQ@Ɔq8Nn~ F^ /bg3hԨ11rUkNq8n^>}]|5U'vݍduj[WO̳t¤(N'iJ'k&`l7lsjZVh4b|e֞(|'l۶ܛ]&pW<2ٌ y^]4[63d%l6v5VQXP@B{$7od4kڜwsB!BDsUsO?~Piq&PlO2É@4Ndpsr~.Qejp(՞nfaw  FF#FȈ(l/;;E'..={0_V]ü9%??M[6 l|DfıǸp>m?:bVWTE44UŨ(v=oN;'С]G~[n5 Tt:N6;oM`0cv)?EQ f'_p@({s2Ȉh yy'1ذi=z!{\ %"< zƏB!#RpXwiΛ?޿ 8,SM sW9s뙳cnbFxʸǯF|34Éf0E)+(F4tugv^EG=[h/#&*lrNpA'7/N`@ iԌMQ_Eee(`Xаmp:hҤz בAV(nt:]3O(hDʤՈRUsgE{3}nE4tNeSQ/Lbҥ+!!ڳ=}5Sŵwۦ{L FE,NTUEu:QU4Ҟ|ěo"4$5n~pTyj6A U'T=7^ϔC1;U[x_pppK[ՅGӁN'DYY tA|k1hsT5M4V3uB!/]]9=΅wR!L-y̦,ۼyhْ 7ж]rN cGMyr2wl'>,,O\@U-;E9zQPP+ qƄ~oqN'6 W`4Qt2i5QuOy~y`#22fM7Y:v`-<^j{ hA\?EA Oa44N'NU,'bMIuڋ\UO=gSPw(ݞhh2r[  ִ  獷^j׿p(;vf9xIII{=y*8 B!8/+t5."yj%jacp42N- Rڱc!M<IM;74QiY!Q,}& k3h9[x;G(Y Qfvf#'đyGhٲ%+W}v̟?Ν;?жmVXImضm ̆ ݻ7v$++ĸfdtm䯩cPPO`P _4Cr*&ѤQc"#+6d^gvZa4Н ȹj|{UꪽV]K.$,$͟KF(((b0[h<}iܒY'p:]3W<swTL@WӉ}늋-hgze^x94unhFq́pIX:omֿr׵_]=`)Zn@lt ׍]I B!BQ7M,hbOsXEWrNw/_~]id39Gyv~̍?)7pxUu'_N@C&Ah5*[ն?\=ng&ADLBtQMD 60bBI E)P}U]F\l,9dz-m;I͛xb:uܹsڭ+KdÆ 4Mjƍ&1bcc|5uZ&,ŖS7-<8*II\y5lں'kOh:sP,qtz #zޓVS۫*Wv+7:L!7?Ll2 /3I( XmVݏ|1s6hfTMe+p羚3TKnt8pnrtvN'%bvjgpp0#88sW3s?, 2q7?5%(5px֦VW :Á4 ޵P!B!΄}~/Si_9!&1|_=q~4S7mT-|8kwϲn߼p}K;FDWxk#}Le3*\yqm9BDh ۷N-]+0.#6&>| z*ڵkǂٳ?#=zt?ҹK'l̀شa#ݻwgΝ8FllN ZUL&3:E},]ҤqR3ͮVN>f3g ޠ̤rD wӭx'bٻ [f c<Ovv686Cއ^#<<C݅x񵷸s-5酣d9_ˀKts KϚb9kgXxOk0LUuR\%s=I^^.  *ٗ/((ӎi|TUem=}>ճĶ6 f͊^ p üX,]{҉e`DEEz-#B!X }Myjz\<2i3ۡszEZ\HF&֗۩b~FXkhb-.Z֭q5b&Ԧx? ϕ8 1=+\DZ 2a6 0/(d;vQQ vѵK-_NΝ`ftލӱsG6oB޽غu)R>AL?3bAQtc&dFN, s` v[}mv́mvz'NS+ߞԼ(vpvFÉ^c-[p:o׳f`Y9px?1?tLֆqp+ ([elp`7^8N2|ݨ|\pp:) 핦( zspD{^P_~|̈W{iBp`0ypi۶;͛&UYt?ҧg.z%q,#B!x˸B N}^I Obü kYiχ'Ӹ. Տ._;w1| d_IMTşqm=]XUU l6,+-N@D@MU=i_zw6mHjj ˖-kά\ݺquhˎihmHL}`Ӻ`Ipd4ӡwXr)W_y }zFAU\mf) &kR*t:5#6?^۫*W:uk|5k&ws'_͚^_8y2NOÆ 9]8~,V+?3gۓˇjN6R/>KK=T&6LgBڬ~[T cz 4UR=JW0o`ɛ2z:}V8~ O9p0GX*B!e?J{ytXI{x+fݟ^p;|*]c#f/(SEqmUY=_7˖3oQ\]ouF7\vf{ROk(`9b(**&((W54 =hب1Kz-ttԁ‚Bڶka'%5ЬyS p:mV+&'R X,#!a_e+2|p ̵盳gy<߇I{퍒;NyS>|mZ`00|p&Ç `00|0sn} |BL\{5o6T!(ytЙUkVb vFܵq:|[5+}DI@@ РP^tIe),,l,sS xN]WXX/TP.X!XRwMګ+{e=:9q^=z: i;Ab"_{aaa>zu0=_!B!E3TxN%dA9uJ`*/K^nVO)Yo Eż+U+q.qz50( Lv'#z7`ʧEu:Fnd"(8^;'ϛ _Pj3`L&dn.`XP5  #>.drjg=4OJ"0fȚStO?xxCvZຩSkjB46W24eΚa&ns3Nèz y{z RZRTT}ьLrsDEEF`w(B=k2XFn݉=$(k~'Mk`񒅄1}A&q&zfMFVXNML`PAf_M !B!Dzٖ^_NgtOsεPfc aM-$%5'q6>Ȧ:EFf&E\\ 14ne?L&Mlp&L99vFa0yɧ$;'JӦM$..hL&'S~`Mǚ*,,bZ$%̚:]5UU թ0t%d.v`0WtumYa>rlF}LjY,B!B!D}&@!B!B!1 !B!BQIP!B!BzLB!B!BcB!B!B!B!_@kV|B!B!BW&"'{WM ~;|6}e)22_i%,c Nk>A^ !BZ }v9}˺FBQ]r]8 _Eqn_:Ms/"*Bc{*vFM|'+8,^'ofMj8ws~|Mٺt6_Oj\=g9uUup>ci~BS;FqS0vR<\|p4pzc$;-/*H"##]B,R>؋*Zƚmקl5+9oOyY7c,-^Y8f3NUUQUÁnfaٰZ<2}U)f8Ē/_M!Έ]Iߵ975_\I?bru.:ӞiZwm[,iyi҆K;緻/i;IOjٚ3nډ6߫3` WqyiՖv%g[?}r+cu"% tn AqH6k%ך_ˈNHNiSyɦ)72KGRR0KG6MZ(UNk<==۷i*iSpAN4Oi˚< "B 7⋱e+%u:X0wW|y{zvm\׵#;U6<iຮi۪-́9Orϊq + ?YǻFRsv/GQn.֨ V9Vw΋O^Z_ f|~u[#@ =lBK">$V14歁-lTW٬>oϕ|sm@^!@еy rՙ[kj>RMy˳ᚿٜ^o|x{pWOYg',S^֮ux˹,{K N^+n!׹?mKB_pȣrGc Y'?Õ89Voۂ)g+VWrDݛdZ,[Oƿ擞cV3")d̓9E?kk;?:tpOrts9ԉWg⧿0'¸5c|/{_exOrӌE,ݺ>^ώ]O9.q+-9}9;pV] o\^LҼ㕪hLc-ݰ,^8gѴWdo?2v^"g~V<` #*O)s5[ٽ|[@0NXB+1Ģٶ2]c[gqحu$ᛆ˟<|;vbL>k<(f999[+Y~8GWy*6Ceu4FξU6N ?!oŒ<;?}|=xD )~ 4w)F!}B~zq'[k4WEu1!-x5=5k\AQs29>xl -$ =9cjEz_$(fE-X8A}? 9g0)|YD]y꺑gQ p @S5J3ܝPڞ##!G%:.Sḥd\t^ ߆Uذi+WeԊ/F='y?c,z{m{#_&pd+'@![QNjSfe$nGT1AK;e 5&]f~/N!TG'wWQR!6ʛ?94g.sg<ţ&x+V)Sp EYe]/6fr9sLK\Qv6ƥ\(44g! }@ޗWYұP/xnd :9 dgG >'&yt?GU?*Ѡ5NMcQY|? eg:SlNNUW9.S]V|G\W]'ʤז?W&(ރÒ&p%w8FWi+pX(N w>~==~WR!~V|Ǫ43H› SO4<: D9}[vk6vK&~KrYtTVFT{E>g=y_ޟA`P=c^s_%/EHx)(|_EJ/>rocܺOϰox+|ಉSЛж w2sx*s7dq؛ pg#Mo.k /x7'?]e/Sb~t󔶴h7CfQ\8e>|R[Xyt?GU?*;魏n6c}7*=twM62UB|^!_]*uݧ:g71ܵU/Dw)8|s;t't.\QR6$荢Fyn/d&H]魈wU=zS<䚛䩎 2z94򍍬{ l0Gw}˱b߂v>tHرɬ u=6l ''/O>5B!(o9Ixҍ<- !h#6ڝ+u">>x_لB!D5-c,B!8֥](˯{dDwE +B!B!,W "q,B!B!B@!B!B!ĹGB!B!BcB!B!S4M|eNfepըٰa999>Jrss}eB!D=+B!Y*c/لS r!B!B3H !B!BQIP!B!BzLB!B!BcixWٞWV!B! GE*(+SY/FTB$(K;vhB}=/dǎ4_ENf͚"a9)+BRyH rrrɩ4mg0aM*Swa#ܾ xݯK?dOuLxS>A:Bl!j !5;v2v 4▱}т,:B!_yt 15țG_+}lj-q;\^II///BeΜ9u]q^w}7*3Mh4,<2O.Bhԡ](_'OEX>(ˉmLKN)tLﴽ~G59r:𓧘[؍']əI=,1tK Ru_K?GMQey=AFv? ox-#y֨ /h3wu<)Q^_Wq;w.o|{2ydyyΝѣG}UY#Gr!sOfu'?m; Jq 3‘ IDAT9-fLېq%ַdL^{$dV2!p' PS}'=9vkx$W̵H #(|YeC'>.o^y_|t"mGxإ,v2B!jǽI\3*x}9C:ɟi}>ZV9ά#I}'ݚh5}Z-k:͗{S{Di96B|+pݱ";VĬ|ߺ#vp_;s-l.LW4Wk,7ŧHCd9~=LeTӶTINQSNQNٻ&7@h)vAx*;lw{;*b9{?{ϊ( @JH~p$lP73I63 3jiP($!!RRDPO\\qqqƪc>&+k.k.3~րq,j47eQ|?YxD*e4'F'T*5.ZAkzkunQRއ{VC\tvv&pewZ(LY/-l>JEۼR _'^Ó(ʡ jOrnRo,L#ϗO,I,oGA\W Q:C]u˒3_r>n8;;ʇ Q(>{.(1Ov?2%~Y.hW[&䳔zh=\z._y?ur&ȊSϧԷCMP ̜ÇEJXl#]nK-GrdkYg)gXa: 7r┝vY嚛3JE8:5=ֱ JEVk'vYj\ҎΉmv, ;%.᚛wA1GXT0coǬjJYoɠw^&07eUϊ z.w|0ݲ̄rm 飦S_X(`)gFq; 'Snϓc_̭m|"1bTyZxr!'YÞtUZnگ?Euh7ė/aTj-0A+9 +dњ e 'zg;V4u#!*6w(CAG{㙕i<y2'Mmz\OSwGZbcfBUs$SZbʯ[|%bNAiF7_ɔ_2' T)[wn#$D7KXX:S$,ΫL\|b-U-T2III1*=l}<b}߳'l߱ wlٳ'$ j੫oP=UVk'Yulݵ }Pnruw޽z3g|Y3hӗr}ͩ=;e~V?.Z#]UuIzW^,ykoV.|t5-}"UdEsd/ ݴnA~;[7V[3z@6f{s?gLd}U ,|pNScakZ-2zu|Jx3gq1%3(WX nzcjPƽ@ʹ)^+PxsjY[onJnqr^3E*Zgԏ^;C~F';Vu خb^=|/?ԥ*!3Q*^Y3m0=/0OXaC._2~0bsTA]Ofh^4vSe-9=E7-}_ _lZOo;_" 2PCC_q^*TM28xOFllInp'w,& ؀%Jœx +DXւ\:=Re*>xK"Z=eEy@QG"{G+Aϑɓp-bYy b^(U ,eP.qǒ}ɿq16n9O>fӖC9dW6mӧ\O7qȐ<քFDZd#,C93rsD-S:Rڌ2f¹[Otj B!+9'bO62~o]MLdNПX GuBVrhH3:wAaŪtAnQJwR+[ rI]>uzf9Ka 0̳0m9s.svq'Z3t(9obuUS'qv7={dѢ"T,Y>ñRKjM0`ܑb 퍻9Lew_sVL큫"VrVLҭGꯝԅ)BFs2ʘΓq |eǮkNVBn`ha[Mff~%U<|m v\V;fA[mKL_8[,uN{9+~SD|%H_.xx~%'I>N6?u|*5-g9;gTb4knfOmanʚ1mXR|C֓Vre0c0жt!VM򦰕W+9+0Ejh&}|K [2Z0fvs_J` ޝͨMRҦ 2L(iӄܦeSKho1zثGj=Up:eɹGD@3Wu{QaMГ5Z{jOƕ,[S#hlKx * * 6dB~ _Z{%Bt?S-Z3gO;w6gΞhbԭ37޽DDD`a}9CDLzk'y[wM˙\k !p˭7 O^i'sen oɫ( Լ"{Nz  s8w=Qu{m`d7Y5vz}7b{9Aܙ3O _y}eϠmTɥ\3d!6Js$. S'y!6ՏV?#7WTY.!"'$S&'vrY 9 v%Ÿ n_r2}0m!4)r[r|L)ޝtL?Eo6Us;7GI4LWxziIL2}ƴLrZLY3ewɝsZUR6ND<̍HmoB4w~s3%c _lZvneyyI+9 а13>U}A(t&wJF?%YuGVěź%St9Y2 cOb["e' @iA!N{$"[߻!6dWp 1c$CR_T3^ 4"E=;wwB ݻ}z)V;ރ1nn&! qxݛ3dVlC5tf(o#/S4sͤg9P|d8<뷑&)kV-+&uW?҉ и+#sr~0g(KFו^6KOBd+5*qSꥼ)GZvȩQ%'>2ˆk: m݊2ѼKg^?C1N&_GWqp; ;:lHQPD]cԑ_TqS_gTr-'F{1vYGkO޺VI<S8ґfՊlJiG^D'&O\Gsv F,Ň(>ahmzyc 51G|>? C>.K]*o29 q{ת2 Ӽp'g \Eۣ!!.[ss~#K*ㄴT!?/y{cꓧLuLCգ)1o*WY[ ˽uev(>&>&?VJ5vbѨvmǷ1fu&}|־7 /pznŖ.ĿڔĽqRYfJ5V߇|x5+TnJ fҮS%D2})Sk&i a@L3ё8uNՆTk2gB\93xPuYflo&= `J< rY|eB)L*) @}*ULW7 ךҬZi ҕ gQ1$i<"'TLoƙ83z`qUk Gi-1F٘$^ ԩ3mFte 9J񞽉j]8f֥!ڪ~ !>LF i1x||L$zbY̬KQsRث\ X,dwMɃͫk:1ζ+iO\}M[ Rlo@F6vŠY'O3G,3W#wl;_ ڻ0O lYkal[)L0v~*I)A{PsN9'Ś(=/kZYҭ s | Y3gѧ0flXE&~_ɔχE5Vrk wGK6\?ByQ| q7;7CkOʞmSOX ?Ƶ0$7w3ŷYFGc;;9Ȋxk5Ŧ:?4;eo.oa6XftCe h~!kȰpkn 7Фyk^s$k0geeň#֭e˖۞Μ=M@= &߾}R%ϥܗl^/ 2f^(Ϫ{:׾FZ-Xw,iUKqmUX[|,TM5uĮrߦ$Fދcd(2\,^*KLDTɕ'(^%b(7FVrTVTZJHrýt"i@߹Kyty5x$D|8*׶eoP.6?AAb,tChȟyRT Y8~}+5h<}^3Yn>pi/(ި+bPA}D]vo>@bnݺʕ2e5Ʒ0KIZ ^´_6i6gCxCCپ1w8;;c[BbwAt=4\ IE `n("8nN6/-V0) !~o$~H*9ϟL&#GnZ @AA"(HwAI|TqRaItROAAA`JAAAAAMᾂ   NT  |CAAA4s 7>+sAA~tR  .qOrAAAAA     4C?q     PAAAA~`"(gݾss-PAAA&ȊxRSqh @iO*rLٞ<=}Hw`؟(eAH Iwôjњ#Gs*_IRb /2AMF}THgٞj֞Si}9ocTy?Gl~ui38+gD94bG%ݻw8t u$gthבCG~Ivt(_k=V֟  4oUzam)k2oʯDҵ\~o -{d?6q(DsAJv!$$( MM[>' ;3$y̜wސ! udŪ.쪳IL̐'3C&3%. ʛuKbg~Sf2d2/v3\~/%_m)bX3Q }~*dtyt vYƬϊv&]Β'(G3ƺgodCS}rС*dLdEb͑3S(^oD#:Y0T&*'/noI> Jf<3:T|z+A1&/^|[c\R\FI?4a iAզqzO?28HӕJ2t*)j&2w^j6Ũ&]WjЉP趚}ۧz$ƙfDndBEd}:]SCi6nsdLYpի?|.uؤ!VqyjO|.f41+6y]vvY E*>=֕ ?$ۋ}ϟ З)rSƔ'q*|)>/6ibQ7>$s-vvZΞm_Bx;k)xN |H5'ӠNdyMU&|C娚QN`og-U[Hoi/GӒP:!idkk+""!KKKP*(J Gll1JB_j2]ɿ]w䔟]w,4334^6m+(92y{`[;;#!>B],+5 KܛG ܲ:u+?y{ã\OL.-:%|֝)M12[pkn[3zfޘ~ܛ nTXO=p*C~2eB$g racQ(=>.ۓ ZtYy!JAK YPOfodtчܮ9d23aK7>a[152 Yp96]y.$c\ߗZ6m \WO (aeʁXwz٫ XT<#,Lpkv~ Ϲ?GY>zY*ۓl%|XohurCۘ .Yon]GO,ݺɳo_TKuzHK?}7;\7gjdce؎ /6 ]]9xOK`MLQCϖ 첵F6+ֳuUy?ӎjIuYkR'r"Uesah\9^?Gc<ɆIˌ<{!tm7T,S&Dq~XQgyJħ׺ 9 [e8ַqR/o~5O-,C冶1Am/ϛ.޴]]&9H۱{7^A lX\*,YsRR]NܹyO{(/I'ٲt--K0M1@3?`rv\z9Kf$އE9\Ljcũ49жm1 =v}XtlܺӸb/-*XsɔR&߾{9N򅾰O}=h윝vȊ 9]^=ҫɁ[8s AGv\GӗKOifc6mLm:q- @עæ-y1r¾msBʳg?]e/*ZefYr@Gщb#'e] WrdBM*'[vVX9E-5ތuTFv>et6Xo}} 8XMβ0=> y*ȹ3]]6g?lMYO~{oin&4aZ,{K]`M AQK,M<,|RWY<a(bX|"FVaZb%cvLtz"gˤIf2йH7KFbxʢiX.U7dmMvk]]^"1ex&zf*2‹&2eZsrCۘ ߶jPZNfS+-ʱ;RAH;{7^X[j-KA'fywJOGlWq̙`⣂񝹖&Mj]?t[pu3ZO tJ=?v`Y{x+,J'5X\[|}qI+S!mca!}̱Zۋ i{u;1R0g8;|Y3޽ǎ۩_!E\݃J+T~zk@XXj&9j9# py^Ea(oS&ͦgoF$oFe1 ƿBvگ쳍e/by85}/hEg_CiEތ]M WGr{6 e sk$C\2mx:Fed,95RKc2ڮ7|h݁Kÿs뽄'`vJ]1f0rZ' R6+A.ݻ<[WE{[dűD=^zR^ +o126*&-鹮cfgG;br[.Unhۖ|1>]j?sc޿}OKbK䫗dq̦^o޳JWv8>RAzƶ*NPe l.,oZ\ÀxN{3~ yM #vl m]RR^hKC۶1ǰ>UHkGs3Ԩ;^#tIK&ѷԛ!!AAx+ɞ-'W_!s.T33c?u;*B68?K7""q#l쫯JP-+lܦ:ظ: qQ(Mle 'f;'0jvڮ?y'U7lR{A_ޗ*2:.vMw sng“n9~޿>ƍQĵۧ?sgSbe+G&..F jt9oy^zfvF&o2m+U{V򘛠2s>W,s t O&^{HKLNdqt$<1yS˘ՎO'qdW\yx$U)}Zt' {*)UK/*D&3 cK cſ߿#oa8HD% )Yl*Kڸ^IȬF,N|M.ccdlnŧ:75̧uU,܉=%CA]*7 ޿}/ KT wM6RZ[]gb@"0\Ͳe&l1+! 4ZG/hՌ:cK}].u-U>žX3qZ}1 |9vRVcV`x?wpTTJx2W/)V;;=-G36uJdLשʓuP*=Ǚa\ }A3JnכXzY3m0=/0OXaCKfBl#vji9NNA?ww|CPtA}qr~7l.m-עS|})$(֚Vgp' b?R蛔XxOԫ0ޫB5θ}F!22e<]Ty zx"LQ'fO]"&E3fL^D_\LN~1nZ&pk"L$:M;Ő~ .w)ɕ Qƿ!! 'P ];r%=dn'; 1Ęќ]겼H>D\e<я80N%sJR鱮R݋c8D3_ QC>&Ћ.՗}Eg/|fnUri oM CҴ4GkKs`!9>m8t z7Atr,|=v.)鱮t)Q=lM ?znXW^JB[k `<~ mc |co"C~p{}hF$N⢟ 76 nfvLͳ`ߋUK<ҏ}%(1ϐO7uqTAq`05Bp"Y>{mQr>Uqla!7tHϤ%2\Ytl߅g/B026y-NT2-T W1L O8l7y=˘nɔ݅'wΩGDD6ND<ܑ1TmB#)b K Zs 75%::333177KKKȐ!VVVDFF"7506  *|a[MFF|#|.fJRUAAǰ | 06gN"s\dwT*Zd- 3E^f)"##Sزz 9>?Ѻ6]40Y=2d,3{zNDW,ގKףR)7\6?Cai.`QV-QF4'75GNdXq5mX=*L&w&\^  ·U &w"iVokW8x5nzB?KxMčN(B0.Iưvfź]Lw^Yҭ s T4zcPSp"bi׀{IJ>5:geSCLsPc*8'X+gQ9ܺ +Pw\~ B_O&%CL9/gsN ~lb  X1 2sΙ3 S۫.fffBAhb@AAciAد }E     |'&AAAO z ߈     P2>umR!  2gN  |      DPAAAA~`"(    ?0AAAAH YbƬܾsK*TAA ԔQ29(ÁjJʟglT˝#~Z_7*mVAO"('ݽ{#GӪEk=ݻw?gggSht-ëq$[I GmTG ""eO[@a{ƒ{rWaTy!i:A!sub^^/#,shĶ!J$wpA:HΜЮ#Ivn5 w&7{ƏP*H ?|7A̱>13ugF_N Nt̵]Ӡ.Y3D2PH _ݻѣzɮ]3(y̜w`ffnTٙ~B{sB)ƾ^CqwoǮb#.kVJp`yļ>v**~\day`TyV<:'Vc\b_T9ۈ/-! 'z9;9?5 ~sTtqۗ5&}|"dcْe)&jenb/~w L6d3@t찝hJ]"(|ucƌ`gܹ2qDGhhT:L= aM< 1: x5K#N\>O5R-֛ z|:t~ܾLjs7xps^e{l3Ӧζ5{ FXwwXvKbhG{;f}/d̽t._׭1%Z>$KOj`?|[(7#iX .˓䏳Vl uc(j&[3zor ]x` 7'X.ǯ^n˝3 ?_>%7yRxt {VCs$?z/JEۼR _'6;;;ʇ Q(>{.hwՔ 5K~ֶHBJК^Z0E]3hr}H4dm~q7zn0[+\,1HV 6fT]~e#)vruWz{~b.}5>Z/ă> IDATɒ{DP\ ._>a-rYY={.=Vؼ:QZNIk9wdzK)-[Xέ㴖4V#WүUsx4dpSNn¯84ɓB'0s<*âAZJbɲx{wMU')v|PzYɵ٭ e G5TwI;JP|,SחWpږL\6ÍY?imwrnPDh+Pέ!QQoΟ);57o˕pu(k6{\ٳc w֖k'vYj\ҎΉmv, ;%.᚛wA1GXT0coǬj.〓)f&\˥wydtl}1W"Μ9sۧxHEcnŨr"$/BNг=;uX?浦_Nn/_S7.2[`."VrVƃN ##vhFB3U7lPxƕ9'){~JmۖRuiVf1ۗu&}|gSҔ~s3@The}cw8xN9f\̓u\5IMŴzu.eJTOC|]ReԱ̖5a?ws6=j'U[@)ɥ{xݟH'4g41mܹǚ>,7Vgl.3 獷?jr}΍}IBO̦ViT{{^&Tn)WЅuV@3Vx}(Pr0W0M\.3s0o'O_ZrYF#</VktU)-M@u<؛xwna:SVc>i'm(2e|nZzRaT/ȼطFk.|RI{eV%UY 3m\ﱿw{s%x=KD:/HӉbz/_ʒo;zlؾjV̶U+ز= M- {~+5qmYiz :\iu4#y̽0l-U돠aW\O\a_t󞠎/Pio0.tŏ@Ҫ$k9&EodF8GNmdxN:6LPC-NkFҿ2$ΐߵIvU]&w4k5)G36uJdL:cLL5 0;w˗̄Fx!=UPӨڶTY v?z{Ot@Kc/M֣R˿R$sKaAxԜs{(B@X'yJHYd Oxx駟$MnT wX/ K슂Ʈb,IlQc[KbFPĎ"( 9wݽ?]/{DT0y}ygvw2;K"Snn.eggϧLJOOl w-O]픐OBbcchX%&21-_bccH ((Z~ |Lg ՚>ĥdJoTbW-[M|ʃAr2Rץ|+(u4!U>&=͊.ܤʲ%%<$KގTbffϒgfeږ8|>%k[ ќRXbʵJmQU_}NZU{MZJӲgS7:|屭ՀN&k-ѵNJ×w]#_ڎs⨅=3Se&SZt[g1Q;|~e y{8I!e<^e$U1rxeUvpjR3LHJRD*! 3 x=~8IQ&_4M܁hk;gԶa1iۆCҸ$ʹK4-jp:YrKw <k)vhܑ>Z/O҉;Zӵ>$.x)Ly {Mӛx98EzDlƶVnH_L|:l۔O]|*_wIT$dXk,? y.|5)5t~`q msq1 k[7~>>kD=_P*,sAh2Z? &wJeEqp(9@9#_-T_o$f䡎⑎:<$M}%!=7ղW+?~QAq9%r˼JA* l0ιTmsF?w;t1EZZ"lTǤ !FŢS9Cн/t?v KN#5y'=GUxekw ?iio`ai-!;b&:vWƒ0/ =f'bUrX^LX,ًK'Feڎ -Ü_N~]}{ ]&; jeI6gWDistj` >f:Zfm;E=׮%^jzlǫcׅ#.}@ҷTWWVͤbž:- YU_*ʬjR+ϧ|2`{TshYB)7_!OQ_G[+U+K^g-59ϑwA_bܟc }5Nq qLƎaZKcbyfN`>ށ#It|E``_+A @ 0+hv5~6`nmtRqMKQB%nNg!$ܜ+ƝBؚǷLk(ՙK}9uƴ}>5v9ӻjyIakG qDݫ27Š+0qXg짒6(` |VlaS-oc-n*k;^ĕo'''|+hآ W`l2 6۷aZheE<|D_h3լ[9)Y:hļ/]c 4Bv"zJaU,,̌{jGyh:B[îbyHS`igwGifeRgŵ-{|BT.tJh?zy#OBo0g#n4uT5"]J-J7*WnԘ>&'~עگ/ipţ{PSk>jVJx ǢGZ Qħ0w.}n:OmQѺ\9j tƸY5FTU4r*۫pR?X;&C-U1u& ЮuGk mZu@ТykV-m4{SУ7*Ç!1>[L:S>>Xn5|||<<<1.(&N8c`Lշ xaB3(Aޫ9H¼{qJzjI2uر0 mx1L%F.yhõ.mz ǮɗEo_ ?C@"2X7rW>yq4`\ج.'@u[u ۀ8q ^anm A߀Tqc\]=vJ}ǸdTAҠh1d;ʐGѪjKz`t}+hP @=8!v. ЈŐ告0!p6jA1@*@a\\5(~>$F`cH<]^ ͒)_(ޜDCso)S|?7sAJX $(' g@M3*/ !H?CޱXlg(̏ҡ(l/?7e6\mS2>U=<⊂ P(hQ}LĚ(Aֆ 0p[XXXHIMB›8FBRRH>$TVwCޞvo@x N߷E1> 5oɓ_8sGTbVF1Vu[tVfo.QR~eڎ]^;|=b14Urv hxpS 4ךLg!8]aLFFa @`8d>/+ Pé7j8ɪ h%a3h4,Pw!n4ÕT{0o3='aNcdgnEyuqY/pl۔OU r( V3ǰ:5鎧P0|2 $6'[\ 0>B$F_ QΨLϿ6`ǘ!&hZ3{9(_Eg]ĮwU/]}Dg%Խ).4,}ݾqԫV9w!_UH(.Ͽo{=>GG~ܾ08W}#??*U? LD*T*Enn.K5}2?z$;GwGmap?^ǗmN0 ÔbQ۸"m"JۢO$92+mac(D"hP"ʕ+P+ y6=MmNMjxzI-sPEۋ״BOIu{ҥ ̙D7]tBC[LzjÕajeL0 0eW,J/ˊ#57`pH%Ym;s 0%Io ƿ+X2]ovcTլ No*k* z&M۷Fo`wͣj>GQO"Cra) v 0 I~ P###XYg/U*W D yS/J>Cޞ&{)6 @o1Uڽ}k$ۺqe+6x{{qzookdaaa/y+WElݦxÒժL3T| YOFA,JD P\<-p(E"a-;zvm .U/K_S W85QpT2kOC̷|~ ڏ6:^(_B9vjȋO E<Uk¯W6aaaaLۛμcofa)6 a4+aaa֐0 Ô*a8_aaa)t,zܔ+aaaaa>e 0 0 0 0 0EX 0 0 0 0 |X 0 0 0 0 |X ,)VZgQOBaaT055<=m,mc+s:&t=Z[5^ܨRralb Qx .(,gFE>?j*Z k>{fW0 |1VVVΗ۹1I 5({:yAZ!Q5뗨k\9yTgLZBu9|lp䛺(W~Q)o(eտe s^ۥ>yC_z),P%&{#G?eS#$־],JOk lꂼ |~ΑɡX w+ [Y`+ /ӵ,mjj s=}]MMManfF6kF¯|ܯ'GnXa{;L.옃3yM$\>N5`kQt'2#qe-1GwƶM48sכ<<W O}3 7tQyx.PXXnHc0Yl(J{KYiom۶S^^I$򡰰D" *(( ?~<%%%-Oga:ʬ! IDAT!PH^Ҏ߶Ы$ )776lZGQQϴx~/mִC_B@ 9tm漺L}hdJ/Эl!5wP MH1$4pePh4y nӬ',PLA!uo*O?;9"#"(tReiµ\QfU81}iʟSEڙG߇R+Oӛˈt*dF?I?j1pnQGk>a9:GE_>GoJ_:;i xT@8K%.Ti?HyQBDODeY㞳mC3S3T>.J 5ʮ%Yٵ Iyz\JɽQeRt+}re}/eJz)Yl۔OUR-SDB=Bv[wV"煅}f]wt~n|52DqI"H$)77S^^RDDn:zmXcP# ǣ1թ݉_^H)ȼ@[:{9ٛn$y`@jooEfx*0ѐ<ʜ hD rdCY}ERA k@nΊPxݟ:X)M#JЕƒ-h׵I,|Cx޷P>~߹Z8OBMWp4Vjv|}\tB)W_mlҽ4{t?΍"Rq.I7_+(, kW_U[HZ') .v|m8p,*3͆Rl߃SѴv.愼s(9S?GZZQvA|];ז\j]۝ȧx<-[%vhXy@T@-G {W*IdrRI3'"817~/P_.u:o: dlyQw먔ǕjwSvctJٷtc;`ct"nINvt27Ĝ',%YwcT"t0 ]^ KѬbg1bbxe5d;Ο=  }8yQN j ׹NR~vTm:]5ps`k&p6ƼWoP ;?c]`w0kĤf3UYp M+A C2sdN#p{KHEoiuך7tfX:VT R,˙Z-FjB\C#nǟ? /W̉Sqr,@?s<|}Z|VM\ 8Ck uWӰP㓱):ïkc뺸,+qmS2JC=J}oj9 { N5iM;` jF62{*bXNHw[)!!B!K)2R.Ǵ|R!ch5*11l.ڻ @k1rQ(&%G%F[~_z8нW/SQ#NƐy/:uiH"VHx'$dmaVt(>M>U@k.^\unHʟCv5[(_աw8ӖԌZMA/ EA!55/#&5)>#\#]ݗ%a\ہk/CD${GV6wGǩ ]z+2mVDDBrqHas[GGjӶ\1j?$:ʶA9NXDVӵM+?'<|ʃmFt)]ٽTL Sp}]<(3W$јO|i.#Gg9ģ3%gkE*.]LɲX4M܁Ψ>6m衖n>$mpqYѝD9wIsupB N'"??KζuNѨ=E_N׶G1$z}HNњM!qKy uWz/'߁\vq˒^06%S#0d:7컄~TUVYowmQ1Y".7ЀܹB)%a .uڻd Ԙx ڰi-}A6[npe)>TBU`\\,mڲ>{*f*DDϟG-i5RzƼXF%=}!^ $!¼d΋3s+bdūęjirhHS^%G~kqCrqgcJ$O{uߦ;(x]S WLGY3:ӵmUd+. dm'#SWI)-L kȧqmCDtb64z2{l67CjwZuK)zp8_#H'?ؔf^yK j֡ī*k;xۗ M͘9uŇ ߴ&"h_AAJt$qAF:ǣ{\ˇ4:ϽwӸΡsd K+>m4ˤԯS#RtmuWPX@VwE3%++?SXt'j':51u]\zxض)Ź:y=Rf鈐R-5):8q^b 8:8a ʼn ueeb#"}X\-MZ^}||vjʧyxxb\P0&M GGgmupz`͔Q*cZujBmqCƃ$c˔*B*M?@\(l}UTkpKu|6V+I0B?#=Jr}yq4Uĩ1pKOٿզ`> ^bלoy<}ߨFd=ť=Q_%@u~oA IHA ż 2d9{wUݗ5|SZ~MaSCy(̍@an=ibH~H S0jq,i]#wDP1ZV('TP~C?Oم SbhL[<+܈8hsq)w7U%XjM? .xM})2LiS%r-KΑ-qk?dHDoqs0XxRyUWSxK FRz~2HoDCsk\ ٹ=Pӻ<뺃+cHnx[긮2CwOmqWHBQ]nG{>( NaׄjS/NĘ@MDM;wFΓD"\JNI\Hz<egP]ÂjZѴ&t*W8':aN3ǎG))tiVw w%%%Qbb"eff;KQSUI$k~djfE]iȦ'ⓝ25&k#J%.`%2T^(Gʓ̭KJD]"KfdnF{#*SϿ![dj^ZQA'I[˛|5pBf5} ,Oũ#kdM"zx[t7,ףPʐ14?qi*inDk,ӷ\Q]q+㑩9YX&;IpTGUdcnF_HӖЅԷM]tGVE]K2tF#SV.1t9T߱Zq#$撳22t!sKr%婔Х<:>e\OߪΏy?"3ɣфLjuͯT;3 e[Ѡt'\uqYfimS2>U=NI+FтTᗆ(=^cc>T>kr~(9dToJLLıGѾMGxyB~~.?yny ԫ[UTCT3\>=^ey o j:=QäߨL;w15z7JC4nUG)EƃQPP֮] Pʕ+c֬Y Dƍugn <|||׼W8cwѦD<+yV:^aĮ)mGcq1 8HLLDnpEddf_Kxzz؇{M=?ÍlZVSQݭ<υ1yeJKWq Fƚ@*;cQH-`~~F-Fp-%3:c̝Ȝ9߯ڋ,w!Sj\ҥK̙3Do1t##3C[L]C*ɂm8?WѪvI6gW0 Ô^\hR]3 S<wn/B:tFrwHR==WB@{w46X BRj龫#BE#'K@Dl*"y%yR[q|2+Z"9-C҃4tMqi<]֨״ vzE|zakX-W%FUM+eiBT%O7!s4E\j2/Ѻʴw<]>@(% "H$&dDo)M/T/`jVŪB*NC!]~YR⮜:PUe|&7~M]u]:<-2j[\] G7CaC|kh@sޤ;n93&rl]] G48_8^h6^s;UvB-8eS|lu>thTV &Hqwņ t^[}c2)9/R_gÌ- {Ն(;Bnjj^M]yJyʏ%vv >Qk!kQ9G|$S ;L^:7>60& IDATS Zm]=+ka/ztض)] p[7P-K6,52ܙ3gb l޼6m7nĆ n:]-™3g["RoKzFDzE:C;}^cz\\7Ux,=HB H_{ hMZViӯGG>UgzY.<Q23F*5|"c]sL wŕǞukH~Cq-+vپl1ZNӘ>+z1p6z5w<̪UU~Ƞe{rnA^u;AZZFk{k`a<2{l~&|\36%C##<0eɆ_M`hON,RJH$JJ(,,H$H$P(@m'O N:ip#0cCnpbg? 6vFa3ylu,N6MrTS _wWR_)CY}E*_Anup(2;99!zx gL.'nh_ ]]xsH +/}!=Q3ANjUZ^%/G:v#qS43]ns fSW?~i`ܸ6 :Kׂ3@AB^C6{"˽''/SXs%c>;x-Ou,UѠ18Y8k'2-< rmGȉmia07.!Uskx^?ʂغm'@b$C ǮByiMе;xp8[0'<\12«Ccxi?AΫ5]Ldjj#ͱj[/{S.g⯀F𲶀 XAPff2SQ#m /C?i^~xRBu[򄗵jZcUwr,ˎᧉ;ҤvnSUb&OukUYf &O]SMitw~,B؟DPgPNvHIīߍ6CU؄c/q.heET0jU6Ɩfֈ+𵵂9v(tq$VhmokC\ eEe=˸_`PDXvkkdJ"E P}("6Ξ?hKJcN񿐔 o<{ ^(˾RyLYӂI -=bp \nKf3) V}WLsT{=㗼sB}eגyXm5xk>Ä^*q1,1S+]C\ ba<̟5VfLX=L_NV-[> sCWk)ڭ;  {Ii0 SqI=u4X5V*IpkOk: /X̸1: ?vxf?\I7޻|It<|ǛuxmY*NEs ؿc,5^}Y َK-D9X0k\N?Oec{PuG"z!QNK4{X}=|nس\>:>~bbﶣE7 &nŔ)qc7S  "_#:5 Źk0_W\2 #SP3z#~1hc\GE E`ByׅT}a9(ϞO1Ǖ.#g!bXxVmٻ.X"NQCj?q-#{i )F}.^ |Ûpjdp̉Sqr,@?s<|/?$~8<rWB*o4vDzNao_0 q<>1;Λ%Fp*>b`:zJ*[-g>mJƧǙgô+aZ̗,y5\F~\ 0@V[J{Km۶%7600b1D"OM|>233)==)00޽\CV:7L׏ ;{?-ƲZn k;Jwԧ_zzNөi6ּ<ӓWuֵ P4g@6po/y;6SQ?K>IfZk[Fήm)tFsrvkKai/+vwr+yDzW}} ֛SzF:Y[j-W}ڞ7mj)MˢM:ǶV:\G+_u|zlrGq e0ǣwxHBftU|pTCx<+I4擫6ubb/_6W$s1NMjR|Ft"e;OӔ(oKZJrʃMmzFu\rut'Q]ܥqhPӉϒm]\ Ѩ=E_N׶G1$z}HNњM!qKyomgzȓU@kˉ)#bS4g}vcOGz.*gqTBfzr0 6%c#k6EAʿh'RZmes52Ǣ?;Io'G^].n޺;_H8x zvTTIgBѺQX7QS*+r/[CH/;[HC{#uxHHӓrqKBz,Plτ,|=]0B_y<_:I8`(_Źpa} U+ QfXz~US>KJlr~ OĊNylxb٣Pԇ3?7ϪQOwx]zYVRw0L uܹ{uwB,oݺ#F֭JЩc\rׯ@f͵Y.4$9cO*2/ނg B*Vt$e&FqpDBbOPԲF :𽗢uRl|6c! s>{nŜI7P9UǬ\W9u3R,M `_>b2%p^xv>[/y?o@*ޜ`?C٭"^>R7VY ͟~V7i}k[q޹6\\ӑBF:-bݺu cPJ4*Y[NEk TK&񽢽I|Ŭ8㾅ufbVN{P:.Y9ut%##}X}gþ``Ja|ʬM `-y.T}Gѐ8%;M] cw@-uw݀D!c  }wqfv||F`וG&S*6Ïf ϲB%l]u4t/3)ƌl3_'sn*w8}}z;3zlvVk/ߝ0b:}x,_W] eΥ17;=˗VK[]1|$Ks'נtqxk'-52Cߊ[6=j1 I2DwyY!ee@# NߦJQup{/ m4K=_uX=/2c3X[S熨R {C7-)*'@u5g:5Kwn?3#!x]ûb_>2>ť=4 "#N ky>A_?g:zMU\Rֻj=,:s8lѹ?6ϛqS`SТs8m/8ÆLͻ1 z؋C*N|QUyPe5Ō/0|,r=UƹKSg|EBgL83a@4l:ⷾW@:oҸ@_~l~fWB- LE'_?~oŗתrf@zEjQ=՝3]$ 􂠜yKͮYC,d%_?۠w[yL$ gDKcͤ?( V瞗WM~EԾ)__VnKO9;1hӟ/}}zTl2/ ´:RC/ˮZb)jrP(T9` _߷tjSVo>hF}P _z MBVR%JfܲU{fh4 8B~KP>`Κ:aW/C8:E=:𽗙}+uC6b|mseiT Q? [PZ*nѥE֊:;:ӧcڛ(\C\v Z]Fp!ϰ1{7w?3Z,Bz*Z#ikShsof4 Bfhȵis??ɑqV9u0DORXC{DZz_f!(=Y;c|2l< n+~I...022FSk*mȍ(i8c`̒& A^WɆyFj 3xGY4'McKݣKGB# b>h2q;pAu__{6ҿ i!W=DBザúC߿#ly8+ fE+öt>Xp/* ʓ,ڢg!h<+nBbAp606E!0>Ӂ/[7tyؾ>r;d; 1\[k*s1O@.=p}u˗#33Sg_…1yd 2>>>Zӗubb4FѦxܺx/z_hB.ׯ^E h3...9~ݏX, 01/nAx~OuaE+W:$|~t#y²b#@k7cbb4*TH>TR)))01 {V4`KPiӂ;PL~ J0ۜ-aE0\$ 6IIm4'5a$ -=c3{'7q =}ak}7 x=w!C ::Ѽvv?cl00 0l0cPay @aL.gχAhӦ-N-?}Am?[%xiQ8&cN8#1릍U)媘-">}&F6?^>n'!qu43ac0mwWv'lqcBr'2yrĤ _[#!9UGcggooo|x{{?aaaaN Yf(SD,[ZgEyO?0d(LMsܸy\.W>z)")[!& BNނwi+r;c?Q%;ΫOҪ:<02Jf*Be}")*O(Tq{ _jWtٶרPOD%ب R j-:ztP5F @1+g8Cſ{ K %3eaaؕl 0L.q`/ʐ۷oG>}P F WEb^^Zv Ċ11mV9:qX3?ljB4[7@X3?v3} X񛖡PrF߮ŭJ84;Ona[^?u ^? [g_\ 0 0 0 0L^r*}شe3޾} 3=r شe3ڷ*reChpp[6eD6'Gf֥=l]:x`,5TGiykcatyÍRy-Q?> %)֬[؟gaaaaa [:R)B֯V/ 0 0 0 0 0jTF|= {EKYSPaaBI  vVwj3R߇D}G4pA*3eFTQ 0L.W XXX0LyΝ?]{x˚d0;}@30k۫+NAZco?f` 0U!CS>L8(!OMtF.x)nbAh8v)Xcƾ{OX ӝ8q6l?WNʝfHJJ^B;@u"-'tyU^;{,uAmb*uencfNxw<ӭ qYco;Od%,''(_}-5:ㇴ ebe_;k\4a|C?U~%w/vCWzP(9*Za#nMmu^$ޯ(qwGL|JwK,QQ'屆\R`u}WxXCjalߕ>u0 7*XwP(DeنKжzvQ(U;2\ jWq]^n7׷T8Ra$pidutpe~qOen'Yھ|ʷeN/{JWNS~)KB[bRTɎbKDԲx:8"K'QH5 1:GTg7R%2{_STzA^e(%ߍu ߾~:+c*/] gntV:*4],jRYڇBsTZ"^NGC]vGB?PKfFߤPeT9XӇskGپ&}/]HȠL)4_Ճ~Qm  䯕vqpI^pks|4z_w PrA|X.ed>Us%D\$"ϣ(,yŚ4Gz%G\NY # 2dI$ʒ?222(--RRR())(55 BwYοљӴb2:ISfFLzYZ܍ܭ-œ/GɏTb/F\(ȯ^@ PyHD_p*nmAtUh#k^$/we*geAų } ٘ i%kCڈN=KrkMz5GYdeh~u,Kɟӓbީr,ԝ&!"UhåpZ1Vs׌6Vm#"v/]*e.٫g[yq~~<|mۏdnȶK)TӕL// *XV\Qɣ.-iן7w8`3sO,QTFteSe *85drbXg_\\А!C:Se-_D-]>{BDDO=/䝀W.*QԷI%iDDh^X}I(&KB-ѤUb}/42u|'&'A,MDODT4Z=qF>P.f@gYz4.]N73)Q,kCSêUD73C@G"m)[>\2՟%\ k#r3*/] Pȩj ݑ~9y$TW(!Q:54~8ۦ~#cTye-A^mG--)SI ҈ h}JnIDNKe|2_zAQjU4Ml'(׶H|lœzGKZIU Ra3U k&uO"5/I%joG[=pu:/(I'/u"fd3˘os (#w69攑%Pt)HЅ[~Teg|drvj3%%%}U-ݻ7I^EЂEի?Uqs?_~ݜ5dYvS/>X]K!9KB6T,M_O'/R>e_SCz;LcBWZ8PVZtBs7j#LыtBS+ȥZ)zFku GICoCDHvCRοM/*k OD$)ʸ6R$)3k[cѸ_+q\YdeR8uo<4NJk۪ UgʞߋTgw_}"IKsKI4NID*?dַ P^\qMPlWJDc[S8G˗"Hҩg>l|ǁ>%\Pwp^$k#ԿctY}rFhBDD~uiS*;O;z`Pk4u۔|y[CN'"JxH7cm[~i_@n>MGx!3pr_mp_+]KҞyQc_+?68:Ga~gȔFn- /{ۥYҧ ]zX K3/=|7U{4*@UE"xl9P#wF^$EHA+"q!$\Y^)drt%&&~U5+k#;o=|}񕫗i%te""z͝7=O7n^ TQ~b)Mh}yfVv"7k Ilz˸ͅ$EY-4df|Rcg]naXa.u-W熔)έm^HSU޿~5+cY8a}Aem|̒P4g:*W3Y ?zz=tҡunu|u%.kCڈ܌뻊=KGXJ5) sEbJs"b lcDSoGLD&'K*di[N ǐ>RI*]fnLDt(6|naJ.0?_3Ǧt}Ԥ(FzJ^v{{gӄ+u: ϵT.#,Ԉy&ud<˚zSOp!?c$jyu*_:ahH$C _֬[I AO=/_|_"hմ|2|RHV*8JZ-7Gl$D1'$R-=J#ɭ }z}W:o2upm{qvo_Ǿu=SrLF6-W熔)V|{t+T t?[EHR'DCY8Tu1T⋝o?RG|џS#IWGP_JK"Bqo!E5hTTJk[@Pױo ΃j,9?kӮPEAt-Lt@@?K6@VοHD84Yy|+SK}kC?vq-F;z5ֳY }:_~wP]m@^]+ĥœ&-ÙUwtJ ħũ.xwkyq^yڶ)KqTt>oۥԩۜH{-K:Η:6񥿯 $=puzmj27=-'ͦJPB׬vfeeU6WzםEC[8UI)3{P]ׇDLIKUQurĨ*y_IAݽHFg4sE0QqW$"uk˯VӜ>UkG-8D3<)=44c֞ʫo:_RLrLSfkc҆k8OF&QKդ6wB韏I)+ jLTuQ.w{/J|HN7m*4`H?DDú6ϩ,SٗiNGqSg( ׶_OC~zvgɲ^QZn$eo[:CZ8IV,l1ΩP+^\k[?ٸws"t@@3{x()ҞPPw/t՝8=ί#ڊd̷U4\BYtMZ |郦YiZZ5g8/;Ga~Gҳ}GRIǝY~7lJgBmxfUmї(N,9Ug{Fk;_L|Ovn*sq=pu=CWpZv5<0NkG(32I$0Lq6(Ci锕yf0lC;322tvEEEQ\\w4QU ٩()݉dԊzy{p(,<܆lZQߍa?f' kweEYX;Uw>qo\^>$T^*Gu˂kd_Y|'RD'$4!;A4b8չ!e*?E^)tAw4ן3%dW %R_%%ʾ&YX#[UrgޓPZؒC=OzzFxKezܖ\ҋ!uw$DvN@@))'|C!o~"Mi*i9Ok.ӵ|Q!u'H( KOrpA&ݢ'jW^u] ; sZu_4|'5u]rꒅU9ŋT;6Yϯ՜gMW֧.i y|ŵLzEDh)6ҞQW]26Tg57k,{XxPٺ+Lq̷$ܚn'+j$4%R-rULv/=N$*}\u_zW3w^yڶIN[ؑMfTk%Tm߲*m9_3yU85k+ӵ/?ZuU3Hoo!O!#%g/ dlE r|Td<ˆ,̧7?.GF3 *=RFDD0s'#Jإ߿xX|9233!J9D… c2d|||׮֭ڵ3zyq {Bo0n^HWBq_b"wڣ0T7P& :WVN0 bɽFBQГ/4_1 PGDz`L"_~&&&HKKCB@D?T*EJJ LL >du&F+op|JC $IƺѠU_-ݝ/,~k0% 50 `x ȵy1 /\Y|a)M5ѣPh1̝3M5s|r-AlSND"gbb-[~g_Xb)|}2:, TA83 _YwzO0 0y_,,/"Wc 7{_H "*=gφU64i)&:߾W*翋9`1u\-[";#bV[xURE58nUq =^¦~2w\Wk>XdC:\;[ ҭìx XPGobX0 IDAT E$E9{+~[[NA%' hTՕw~쯣KNcK{2.0 0 0 0 +QQ|Dn=`)0~c0~x|;cރ\& 2q7cUߙOYw-t'yFA8z$#al<]֡L S,6bĦQ ]I<*`b8&"gO%11/aa|dɒ|! 0 0g`fMp1+Z sCfM`aisssX[b!ajjX#tZk/## CV>% [Ѻ[^Z9#!),**!̯ %3JZ:R>h=!0 0 0 0L~r ba8r(BϜz > ٷ ؽg {_߽{^e1.2A|GVIѷ22 #ib>VKIߦ߯a~|YZ{lH 0L gCaHH)q6 ..>_q=8>}A\\W1R`_0kf _&z< ΟE=pY<Ɨatrqq aa\ 㵎9erdžm J;~;/<w0d&ݼE i3a gY]71D]@DV:ڵ퀅b]022¾=l \ crz …غ} ]qwiH0aa"d_X2A{c##X@Э#*["u;]fbë$*h%3ۢt|ٴʩ*>YLNlj²¢uF&4q kgF`ʑaaPc˕D(lۄ3jQC\+M `P貼|4(`dQ=nD!zeH^v7ڕ1&^^xs=fBTj5<?$fV /ۧ[A!oaeb۹f%|29N -KVA@`NW{'ۇn׉21Ƅ:h}?Lx_>9Oi@_C-49w/)^#!жݦN_AQ8\f+Ohy5 _3CBJ^n0}>]Ć.Gsa`ߎ 56[W(;t@2C xu/7=U6EOs16͗po[[{XmߟMW[6n ,b8W=q]@V|e+3VѰaC.yQ[B 6xg~^v"N[v[f܀?u[O(T$ R)R)b1D"LyLtt4_:8g28~8>DG @34'TQݵ,ʼna +NFR^sqFGZ WJ3q55/eO-HD?!!!*֬]-94Y@O"]nxJ,rCS\&[ej|~eExʴŹ |[{íLi ./wѧr1+ ߜu [,'I*6lZr2 0?P(D~hl [ st8GW%[[*@At'`oZ[ -SPt糽OyYwt+^^Vp.d +:&y/d b)f= lBĿ09lL \!GoFeJm9{ĉ*ϟGFb=,"]vB(UĕG9y eaX6KqyAX +(_'TbHG6W^3#hڤq|N ϙSx"hNLż_sxsS[`]ڳ&\{Aw,1 3.Xޭ}q%lzu8ۡW+S[}0W§h[\bOϚgFej|~~+^˜q70zZubeC0j|b44hfujKGOGT/]BKNaGu3E/H gN8#1릍U?IM /J7~*,]QO^hϤb(?}ƻǪ񋊘a1[AUY h=ƿ/C'8p 7ms D-pA&&&hղ5N}J,aeۏ_ĚVM6hvQ6_L>j"L)-P4!Nc.j [Scl{}S#`?֮] Xf +ob]1 i|ar1XU+>ÁGϱTɹC_Wjkkw 3E1c#,QD7Ք]~NÆ CH:% 7!`haa[bf(al?Q `߰Rg{aՙzDf(nlU}c.J. ;ݷýWC[\Q qb_سx|6> C}0x6A"ؾ7볽P({ax6:JʛB!,ʠ ҝ/I1(`[FXq_!|{1Ŷ?a3.BY vųO5uBw#azՋʜ*-%E.R ғT޸55/ xcAGiY!/R|VY kuzLzz:>Dػ/ZhOϊz X׮ӳ"Zh""9Q(#:L,K**8*ZTpTkƁ趩NB>h_LFڕ=_ݚtDH1+Hń|arE<\ t!lkЎ6u|~ѵq(a&^$/,SujAX/= fyr2 0?c ŏb)VocSd.]obST.uJ*,jj{Unc P2vΐ/x3ʷ]eݺ0N윌%{1GHe ʖ^g +Ԉ ꝓ4ja:FDt!pwaR߀ޥ)^lX"h4bK@H,1v1c1XcD* ]@=.}_\9O3Ü3|gbշEϖc%/N}:[~˱7ŴIoM3KO3<6Wib䞇m:/g.u bM+m;TԴoOMlYi umm7gΜ;}V8O'ĪS^g=\i/a 9W΍M1azK/+wSE]3Nbʰƪ`&Q: U?uC4vH\?:\5k\"vla e Y#,U~1⩧C9"zۈ9rDq/bZ f`ߺ^FMSب٦u7Ҋ'Wiߋ:.>xX8_NaU¨>< ǧ ϼ#9e`_K=*2?`߷U?"o~<~rj4fxbfK oܢC̙T17有f]mԼC̝Qnykלբ:qϠ]鷫~>{g_E}إ19O`Wu~?6n1EDe?'WS?tSjM3FU㶍E*/Es~zP~H/so]wX|QOquY'"uEk}Nn7w<$""6=hUwtpQuXw"Yk~_zco׾iph}x3y+bѬ3[GnޭJe5"rgl~!/W\ ?vF]y:z~*uYrֽkTyƓ1烓xrvjKC,:nwa/8>ozP ,ҁMGu[>g|EuqeFMb3n-l0اݮY]A:睸_;neb}+:٥8%6Osjի*ҠAXpaKSJUn`h`dxMׯ3sG}`k'.;՟#͏.{2`M/ǵV\:]Q41S~"AEwLrqGYYY4hJ|sJӽkT6f\k7%N(/m4f{ SuZرcŗ^:&{X:ѭ[Bh7TV:(vi:ujyի[_[Us=uĩ &1;vL<` c@XCk֭[` ÿ ׍yƆnRCœs?FVZon˸Cc-*ߝtGPkV_ p^'Zu~>_fs¿'|"e<qPVZ૟Ř6X/""ؠAܶKˈ7UQ|Q쿌%eqEuԪ<΍GN'.zqTنʗ7n8q G7+)6z*O\hne,٪rWSlȞ*ƳÞOoʤxG[t2ڶm>8CMMc@wo^_j){1;!6l5 it:_}Nv|{nqwύk9qCⱉEyJqt#g}xgt۠aA/- oqGɉF|UD~*~tѦMbxgⴟj2yqY9O]y09""vުsMfK]V=w>32ﰤϧGU9O%y1mƬة{ǸQM%A 3;tO>rsV.hqc=bukpiqؑѣ3mXTTSNyc?<8rxbѳgmݣ<|8baQQ_vՏ\}%7EY\g^c'GDgŞuҮ~z O ٴqny5WKÿKsg|[k[޺}Y?* ;&֩pŨߊz2=fm#"bq鿈#GDD6[oGvdk1|}[:7[?Cx kYL3<̙͜=s&}[3XQ5s'[EES/zl,[T*k*`b9g[t"g^qMGϞrvvFt)VtG(?<_lA: 8/rx,;,"-E3{۶}i }% ?=!VTO/EchLzъ4(+"Ήc4n[k*`uvu8_n^j{רWf'EfVo$\ߟ}xqIygcO]k.jxqpp:8>XQ\vjd 2$ Tg?Y<Qauc޼Ѱẵ OWvlm5Z{?]Κ2HXQSu?ߺ8Ծtgq![Fזb׶-+곢|V~^}~Vk+}.ڬ][pr߭[LS|E 6*iyۂ˚1CѱyٺE᳴x`tЛҘ1m!]z0O>뷶Uzulpnz~E25ͪ:njtuyפ ?OJ^?N=p*mӨnw9J.K)}Mqgӑ{lV|I&}Owc6> D]T\\-Z(-\0-X ͛7/͝;7}7iiԨQ5O[nHÞ.t [6m,%5jTTmuMZ4M6IsxUڍiv-RƍSJ)JviMm[pTn;RYQϹ{͚2.2UFh2l8[4w#U'/N]vM'VxԵiₒۗy5.S&[qTyoM}w+{et:ra[ܦE2oQnyܢtJ|V^WsYCeJrt/yhUY0mpT?_XKaUK~gSL]찧OU}# &!Kg-w?K/3gN6{x1/C}fώ}nQiq'_IomU~M}V_}N '8nr/ύ7zo>"M_yo<*6n:1;OwDFj}8xψ?cV\q֦j4u[ mMbvnY5U!5=_ƥG'LM,\yuSvEq_'gE@8q{K8B,gZłN?Se|TYgkok '#z\cmsEi^乬&h*Ny6q;+Ң╛;{Թv1nPxsʁ}#b~w?*4(<*T~oΉMCM_nrjڷ v+scS?pkObm m(/ÇۿJ,v?][.m eɗSEǟ.Sk-"VowDM(T-*Q3KKK=oi̙i޼yi魷ުeuiҤiiO5^>R5^Ə$-ZT}2&t ULZT;MRӁZWNJ>)XSJivQiڢso.>j~:=uHMvgw>kN齉3r˓ml\jzFҤ+N_\Z6k\N{niJe[疝;_.L)޾|S.ҘO O*߲j4}>_?/SIgt黧fMiD*_Ukc۟O-WiǮr5Ou۸-_ebnkrAqr˼No~e\:zʗyv֤V>[hߨqXsz_,tmk+ƽx_/vI=;^bAn6cRrxt=OW)_[NN+2{Wl:oTjW5/jڷ:~_ec5VyqڿGUVOqWq^ҴyW5j(l4=1e{̕W޿?=ܢSnWN[UaSasSKYmV$)>}zW(Лқ#H~~{/9E_M7x]zWSJ)骫/O?:9tUgiJEU?fYsvSMsTצYf4\RV2iKoM+YVSy֗-N-绯N{hHzRz\++}qs{ޕ9ޱej_]2?ڏ-*I+5m%hWMnOnYM7Y۴qrMShk*ﺮmm$}ee??@ٯK 5N`QxS8Y}m:mǖ#v,=2⋖ھ?,k[vLͥm.-Om<Ժˮ*RJn~1\iL*-|[4_JZm!\hSoұuNTٲnՍ sB}zsʚޚsrO=htIS*8]r5JgQڶu4;kߨQNsyWܔ[硕I7ͮ<;bJԦզ`IIIߴiܹsW(0a|z6}G7x]SJi1n4aZ֜SJ4ڵ]: E,Tʹz-* o;:m+͟6fl]Ҥ6vrP}wH)tۧ߫:*O)nĴ]VuNv{xzyFXߑyZκlK%ί<_MHeg:͙^ǿ}-[Cת)~nk״uRJia_)ִof;5GMd]W踳[5Z>1T~vN\Y6_@jݴI-QIQjӢ RVeޅX;vfL[>~ / fuX9eTأkzl[5o5znRڬfi2]FٿN[>OkU LvVO?<+5js UM)վ9Yco9CN1x㜳Ϗ-o[߳gg^u]vS O;#:tT+v_ % ߏHQ<x<{Itǃru1˗qiÒ(?<8\}?)nҢ1qE'T)/g8dyqݐcaiq,p{ܶUT)N/5oSjܤUjv?>@\Rjڢ[|ӓSNGMZH෉3Kv=6廟3"|ljܤUjt+Κ*_JUB,oEk-յOSM-λސPMX^1sS?KL-iLJ_,)K$5m-5m-m?̒gXjSuSٍ9n$-ܶ>RFMy K ' BǝRT]YF҂ jڲ{ڬioj聺ػP}{toW ߳S)kwOO^:]jڼsjڼs)e_Z;qZ흚6`M @B=UcB3V|N;C5K a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& 7 IDAT@  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L֠PX^|=wv|`^ea@Nz~?; Y=̟S;k,Y^&1z{q/1FΛiv0}_u/""__\Y>eeń㹧6\W1/;7-Tu9|u<ʝdHJysSe[gy#gz} 6ޤIjy(/AӺM5c#Te)عS5yr ػ,b,$$j)-E}ߗj) J^EKPJEQTK "vAJQmXbMf~!&s3'LED$]:ܺq5M_SuK{"m'Ld18:&|ނ#&I@\&ӧNr5 > &ʷ UEDDD_0c1k2mK_d9gO,(:'捛̙+@f(""""?򵈈HV Ip\| P`*J ;yRFȓ~\EDDD`+<rod (ƽO$ZոNo5SEDD$]TRٌ)&&M_ٔxa{~|6ٳ'd:rȞ=g_{HiZDDD$̘ .NX֥cFcg(ɌCKΝۉ%`]j#"""#2^7u_ ĊVm1U3wn]JI z O""""i[LC@sE )d⮥;rr~+P$3xی)mK=g2p~Gj׭ڨ"q:¡wp=*GC3g FDH~QDDDDDDDW#v/Hҥud|%_g)Y(4zM[; KDDDDDDDDD$(uF!""""""""("$$(DDDDDDDDD%C\x(fd?($KWJgcWm'YDfH ;=vmNeP :V'_vd_ʔ,M+jpØpE7ev|圕t?×fq<>+"S'Jv;Ngɮ on Dϔm3i-Y5=Q!'~ A2g8K{s)`{m VF{Ƭ\{Hz7ic3v,M`[ÛiI֟<b2MĂ>bKIDDDDDD6l6 IȈnב]~E]Ki\n=0S, ze>_҅8G[7`#$W+B,Y.~p"'.d5wvw7j*o>_g&'wģP:)%\Ju4 v_Ve?Sd!.^˫w(L~2֕2͆ᒷj..Z_CQH$zATm_n_*Z&Jp׼fOۖO""""""bt@yq?<mJ2ψ(*,`Rg8oT!A KlYPv;Ti22^{3`"_F#MkFz𤤤x p4Q%޲G4q:Zoy>=b|| xڑe318>DQ3$'0~`x?0'p[li?H֦ؕ<+>{u{t22Z aVS7ڛևoܿwK(_,7'$""""""Y bWߛ.Pګ#9e^FݞWJyh:|ci?v5Rt%j<͈k/5Xi??ݕ9etGJY|UE>L0_l߾O 6'$""""""Y"ODZR(%Og1EDDDDDDDD """""""""vL@;SPDDDDDDDDĎ(""""""""bTcF"a뺯B$k!""""""4QP2DBDDDDDDDD %"""""""""vL@;SPD,ܽps2 ,D x)y]΍#ppʛDOI/qAxqHtdㄇgD4ME'7vQ7y^*J+É%d8']Vƣ7mqxn7ZO.«}) eL<^>Ta^\ k:q WӇ~ hCμGo:cR307%H~؄\/~4o8e)3|p1:⿢l?brWmfCH(kQi5k?9N`#<*;9s8ҧOKUK;Ӊr97?L[!A뜻G&vi3Nvi}֑'Wr֑("""""""O"&RSǻw GZO_ kwҵq͟#-gT=It(H^ >Σ3= _g?b@B:2J:ҲEDDDDDDSP2&-ǵ8w+ JuLRf6.'h\kv{ W7.Q'7/xyk]]$7=Sw\ _QFHܓ+9H~'/dW `մ!ܻ):ȰkS;E1IYֳ!.Qđ5OpťN/h0!n8A uqnll^6&5ZGZ0#XK:ҲEDDDDDDb&i63c|&mS^I)ߥ(&)CN+uڛw>m Mc]߁s4zw6cyuc[8Lc:dKL\)A:2fݜ$}6fr֑("""""""Ol6TdeZHHHYE} |2b"""""""%"""""""""vL@;{@F\c*1EDDDDDDDD """""""""vL@;SPDDDDDDDDĎ("e"""6N\DDD(""""""""bTeWbEVwi@FĀ[p%4*Ub}D>eM 'C\lrC\D"&aJҀ7C0kR;THJ)$(6/<8aY7{8bQA-t0miM(r\tQ.c]x3 囃) >Ҿm,=!`7v|=ʈQT,33Au`ïG.44+7$d{qdZU7wgX*xUu?ήAR̦; +UOEB?hi3DTm)&ũxߏ U+g6'hnIm[#qMx17X?^>o"|"Ύp"hl:pdq]%Rۇ>mUQ',r}Z2kb+˟Nܽ8l(*S7W3Uc-}cqlx8߉tفC[ٝ(ȼNx}1nv/3Gueڟ(E@R q(rZ_3+2meE>|81N0}AΜ:?M8~;sIY1}FYi!޻ L"?ɷߗw~ &QnБ&hnIm[xqq_'giLߌ2}Hz{5%45 ;`kܿOȖÇa)N[i}0r*򧇭r޿WdĎ}?vΣEӝc4#?[ww8%6 }eN[idN#)_U˲a^>e9v.f(H$"#b׺]GBBBrn^ѷO7py.x`Mx(wi߬.ٗv7w/ƭpn:}j̺QǚF*~j^ߒm]aXlm/_x^MTĉGn47k~c<^uf~Jz Ik+g7볘qe.YEދy Xϧi}x<>}@\lr}\Ů IDATp0gVGx?yt΅?.Bly]-W/3#8lӗ'$9d gX@.|ׅnR0fnG- Lދb sF]D.\aOg/&@ngGĿ9vY۶w>" -ߧdlkѶ X_-kVh';y14F'gIQ.:r.,?͙`= y1>ZITyDxq"MWŜU[pɕ{Q]QddY;+!nZ;Eʥ=1ii߻);2\pB*%h]ȕȋ)T"%w Rhnֶ[`<^%~$KޓcƉĹ-Si/f g.Y-gPuVb.NnGWn-})8:K]` kV(?=l9Q?|A;X<=V'WVFyvvdnT_`JWLj@di; dܻ{u#4Nv{bԄ~to"I6~ ܿďSYÉs;3P~ J47 D Gz{L Üœ-:'t\hoi[ ?OVvoH̃nwsK9o.ϰU~]={qj0^BoF ƙ͖vSL$iJuo{fb"-}vtc_aJH-m3j7Im[s3/4#ˇ|U96-:X>{y.#E91gߴ2dӜg c@e*TfP*\9oFӵj첑c>/U}X?$SkEҵc[_ng&ҵ?u,syjq>dq*JRDY; CѢӇ 39ȊCLהH6׊a^uu ;g [吺|(""Yl6TdD_ZHHHHO~FѷO7py.x`Mx(wi߬.ٗv7w/ƭpn:}j̺Q7w/~=py]6P'N5~j^ߒ8t :6go{-Mtf|KJЖmQmxz3=Z5c$3GӮi]F,B-u;q:}irɺzZz.Okݵъ^>wϿuo%k=n%g)͵"驜OLf>yĠd5SdXDJb;yq;e/Fa,]-԰vx'd>d+:QSX!$%C@ngGŘ,_3}J>Å(RܿQxx8ƣ33j7ֶ-1F㝏»PJƖkxPiél ߭|A%>4[iͳqlBlx;{CrI-\II[吺|Ċd5*ͳϺkLr)Ĵ/c=C} N5 y8JV ϣ.\_=[QTmF㧕mh_`JW4%Y-rN,yݛ{w>wndՀnO׃p8 Rj5u[tdD9C|8-:Zڳ)Ϳv[ڍAb_ǩ,mF㧕mh/wbġD #I|0 ov\4(@jr(o.BA"YQn0jOLJryfYKsœN=5V$=5mә/':*Pht6&v('&%\DDSP 8`. Ry[ nOLȫATi^5h8,C$<3)&l# g@O|wZuJƣ?1َUcxKiem[bs3oltwkj6w+ѶmU<|[QUF~W=2 FII.ό<{'x6 g$g4Z4c}*OdzHôX}]ko{+2r>=Bdߙ ͿOȖÇa)N׿~_%cGo&CG>dD>V=|Bo"rE%h(o7'ċvKq0f Tv !h%' wgHJ\! #bL[ɢA(".w|l^y6|?^_yd Wq}S.DDŋvKQPDDDDDD Y'nZ;Eʥ=1ii߻);/#,l/=vx`{խNbl_8FRkM3:U+F1'L#pk"wܸFܸ`YʛG`@W`:HK8]yܹs-v2O:Cs;bxo"ORYwYF]v֙oqT[SDc1<zГ9"F! D! """""")wx(z۾3 I(""""""ILnKsD>ʗQq."")d Rm=oGlED$T$yB Fa""iKEDDDDDDDD """""""""vL@;SPDDDDDDDDĎ(""""""""bTc*1ER 7w$5F"YG0G7Y_ÎD(&<8ax0Gf aͦADDDDDDDV(\'j M?bĢtZ ޴Sb.=tV7WC1xPӇyjp%RKKEDDDDDD$3(6 Wͧ&9zN{ٲprb:_!9u f(,ƮG`O\ A6g A(*J{USPEY+0K :;ة!3ڜ8󆶢C><*;9s8ҧOKUK'1HZ! i.up̎K^{2{XV~g.]KQL9}r|OqqD"T할or=1EDDDDDDDB@4F/ZkqtVr(꘤{=vm]6o;Oи8X$I ],6.X5m1.` 2l*NQLRlK*zqdqS\q)c1]rvāĺ;(6kBF]`33gږ88%_t]bra7괒[yFݬ2ŀ|7g4>5;gAl6TdeZHHH ]""""""""D1EDDDDDDDD """""""""vL@;s6 I.j"""""""""Oc:P2Tdecqg@lͬM_4}y9ڇ9 @;SPDDDDDDDDĎ(""""""""bTc*1EDDDDDDDD옳Q-psNL"9ya|cpf0aǓܖmsuaD;7* )o=mهͪǫ,c:rnU?mLsubÎv|4m`Fݲ'*HɁW |,/_a9ٝy ޴#tV'0и-n^qt;6݋W~tn^TmeH7w>kGѽje<+x3z\0z|<}ɠF]3MN,%~ĉE=Z2i[ŏs퓓Kje_yxt&OV;fdi7`ezV;Bh5~z ?iK{Nj{Lscջxsn[WmfCH(kH*7xx9?Dx=Git/[NNQLQ083%h{tJlV8^U,sy8-˲k~`b&koIAgG;5`WSgVqΜYcY*ǫ"""""""Y{eY?ׂ(Q(oPV/~kM;>/gO'ԭ]Ǖ,_c1O$`Gчg&y7e+88f%?޽=~M^_+^3(&k e glV;^U,UshԪeY%9n_DB%s"ƞUu+_ΟIi_edL_C:/Lԟq$_ލɞ9\\&q9=y) 'LFO_ ޭ*P*1@l?fjG(^ ~{0fƭò cykiP.[KW[ЦuK~889GYriGٍմ.\E8|K1r^%`j&d_NG\JZ҄O&sl{T._E=_m ['=_hssUѻ#A-Ч̌󙴶%NyW'|̠c;fs,&'&8[$ "#.к]GBBBvZ" qr8:ׅܨ<2H\GV /Og ^4bqjQ, {܊1әWI~xRfEzl>'}|d%m ɐ3v/uj##$Or㞴| 3Kf1#_̚cfxYs13EDFsn &͢y}&n32b"b{b_b˯<4uKсo`z&/#>m1`+L,],]&ﬤ[DD[Sؑr9X2-K6n5YIIrBgwu?<*xߏYc [ɥCx/4#c\ >>tdDF{q~G@+ rܤ$ogOYu{!Gq}us'?|pԱxg "6ft{)m~4o8e bVfڞ XޥǛs/oW+پ>q0 }GG4 ƅ=Yw0ۃ鴱pq:⿢l?brqOb ݻv{NL6o2ݺu>߭[Fm;P2wXFOr$w?2l{0BB\//̎1VJd }2TIBݳĭ-XMTR똻G&vi3Nvi 5?%cVqV: EDZi[RّN s#jpbd}qg=ϚlDgrс^Xڧ-Yw N{[q£3#}JDnn1D~_=A cPTAjeyz9 {qrg];u-֮[=v,3z}#c9(ÉyII~CyL/Uqw@f52F'HZ0%  ?Ge"b.ŵr;-mӗobZ񖟹t-Al9pqCA%L/㋡?s% Yyq-gT=It(Hդ/YWL y]t{X|=GNG!ܫ7gϞMul7fOEQ%jIE^a ?OII~C@Ǥ䗬2ZG%9n_DB%s%>Y'"vl WJ1FI_ ޭ*P(\2|™+wf'|cz;W<ͿL1wn\<`}y.m ךާhɲU1v03o_;z1tڅ1{6o{t}xr^#)0 =C0/ .򋈈}5c"" 9cDVall^6ZK{8ݎH٥D"݃|n/2v 00\y|ޡQwW `մ!ܻ):ȰkS۠g|9:ځSUmiÈN|1yXe=EY\W\$w;ׯ܍~rۏ޵^e5LnJ]뷒՗YJc$%cMF3D '׸uIƧW~yZgB[4= hAd#![n_fJF]i1`6O؛m("7͠S4e9Fdsz%X41}>ֶ)/ƣ|aޘOM&@^GŌZl`I|\-ףŻ 8:X. ZVrB=׵7|֛MЊhZmk߾gkgܥ3 8;lySv+l=ͨ`mŹ͙5G9皋$SdeZHHH׮]\DDN. @lM\(՚97_QMY{ GuoÚ_Y"0w7^5Alf>GkVQ+~as`?Zo zǗQŕkJet_1iYW7G],""""Zҽ!Yt7vhPx߻F]E2{O6y\oUC'<ĉE=Z2i[ŏsƘ9E?:U81?;O+{[2 7w/{xo% z~ J&gΙCμGo:cY/6Cs9("""":gڜwke՟7ۦr;'.S_ۺ5/]pe`6rv_^ AYڿͧ&9zN{ٲprb}1r?tZT{l$hjE>w'Rcpcw8əsfv]'rtGX7g<`}n`} 1sSqd8Μ#?q[Yn"n.ڞwceIk\ao{Eն-齇 M@)bDA_bCU@k(*XEl AC eݙy?6۲ݥHrk̜93g6l3gZfĄn6[d_w$ xnP/[92cg 47yc,]}WKnPD_ , |`|*</Bр_ |9u9jN[#'`⧱qk! ~? .vp{͔ۨs{lZl?+""AIor}x46mӿ^ak㧰qu#--oC2#izsS)2 J磼Qa9h[LZ{u9FjLDDDDDDuþUA-υheh}m˼~(-P+WG:ڹ3^Z. &\}ѕJ}([Z`+pBfǏ]l<VE VWL6LO>W <vs?x25-r:`NUi3܏,F볇#Mw\|Rd~ cϫ쮋'Y`’T~۟4cFв5=: e|wTe.xd6&,IEE K&X56876c{ȹ g_8g$?w cXS>cHq0m>^x1t:z9gW{f{8Զ`m;UmTDNP_B"7x#֮]bDD0%:{nWk#~imeGcHDDDDDDDDTq`""""""Na'JCh#$""""""""c 1DDDDDDDDD"":tpvZ؃j{c@NgTN# DDDDDDDDD@""""""""z Q=cHDDDDDt[06h)Xem翍Ʃس]V|rzތr]@DD䎳Q@ňN O5 ݇9_ xqOdK:<0VP5np &.DDDIW^^}]zW~:дq\ ^%_#=ج:@ww>Ä/œn!xr#(ppqX:8N#<\ 2RAD( :ZAt11&ƚP$$AWr>X\:;Mpv\ܦ9V~:<tlL#:UZb۬1>q<;t.8\2ּ7.l3sqauc7Juc^:CM t-{a%ѩy:5K:²WW'=DcFD3SwJ$P\NR߭>l"Rz݌)a_1v._&?9eڨ+|A'EFdtJOƯOE꾆Fi m]9c@x 蘞BŨ_{)#"՞ D_8}vl߾QkZ`z##~>޹1cj]jFLZG/YlR\r\&< \u9;nk}GCp୅q&;?^<#oG .:\@ϡ޷y_ ?;>^!"""I'OZjVLu8Tf.(6Dv+ 1Qs ~j>& 5NSgDV˸V`S>Tۖ7/^ [Z[m,..{kv_9-]V1EwEuc/*'[ 01䪻e\3 ^ |㏁S)S|L$8Q; Ǝॗ'9FLj.^xt4C /<:S>k៘hfB0o| t_{7==' &Dh~j dR???ν/vHDP#MLl8ࣖs1z/ZtAـ4v~zĹXCD'W||Λ 3 j_]-7:ujZ&ᝠ9;]W9ˮUh AtSpfZ2ּyD{[o&O"*Werzth7{w-]´p-yM#1 :c Cz˫>]>c gGqvc>>nuJChCCh`i5r4jb6ŒoFE§`N9st,] ㏂N0{_}%9S0c|">ݾXsq.wm˾a~kvL\޶:7uZGM{gq#O ϺzkgDs[&'#:ƿvxm{݀UݶL mz^!oв?; [xޫL//[wr|x{Ǡ<]y%fo/7 dӻ.Pgb/`ҥӧOP :}O~hܛxhDkf¿ǁyػkG7#GY|X/~tĐMn rY-=:ŸvU  SA9{ܥT:sNï膅{;%_cqQ# Ejـo_/S  QUfj8Z[CVG:"Cp&sWAr;>{a8{PG# x{ͿrFLmr'^󐯪u_ w\o,d7? OYn߾r7c7O YӞǹXˁ}7?Gvsݢ7&޹XCD']BcT0^XgPn3G<`%8}'S_M8#܄܃)_/K,̚9E!٘;s`#:}ONg|2vFI _ f֒ՃػA<4e[#a@f>83F?xG;H'Oq QϤ Q!8TZ>S66:46c՞}ض ._յ=s2+G›o{:9n9 ¸Fb?; a\3 "&PժUVV~lc C"PY溷B#]3xg`jw te<7*7߾;}r/ VߟgΜ'O> l_u?́Ώd=uo)grҐSe3дHc_€(2o}waKjs}RWKkiBQ46:46( )翸yNwʰz w|W~9nw}Y ղ`a@WUUnS[m6UfAW5D8-ahۭ`+_ќ0V|1 /Ay|U@:CՐ4@@)GVV^wI&& _㵭&>}~@ tc;VM(=B|spΛ1j{mjWyHlܼ|vL\F aNQMQ/$gه m_L@rٝPw]_?LDTH 3ܬST ޻!0o欩qbKx7vշ-wy9`ߑu;!ѡ!thccC!hrcT0u=Ļ1dٝݑܶ@E`YCD'<3pm-Xנu5YW?:XW,rt-Ggr@k×Zj:|aߌ[*j|/<9|:f@ǻ[1š!Щ@:xfu|TPq7"}f܏وsa9 DB;Ftts{0׫: t@ tw)wBf+ĊnGB":1.0>ޅhG a|+?hwB@ŝz_y+&<: e#TK.yxz_}k{>8~k^{{݆5 kJh;㓽BD\vJWV==~ 5lmthm=m:=,gBt *aq#ۏ^}# ċ]wGI׼guJ׌=l*UT`A7UU@Ӝ&sGH4jPo\-:^ μmv{|r'boS?ŹM\=|9{]O\qgD7+qc|&*.C[[ǘY.=wnD? ^nβ2ޤKk?)0cETs_cv<%j|D )PM]/Nrushڸz^%_#=ڬA" ';D >0b""jNx!X!<<ሌDDD$h 66qqqGBBtU^?(,fHIB$K/Ao4^<; ɉ蜞zd[ N蔞_ @/S_I#Rзi̸s?7h+ٌNDt}d |}?Ct T""rR5n$dGstgu2 )F]>:Y{ѷ'_>+-.Lǰ xIAh@ꉣ=}9 |(>><5\~NG}HLH@d|Է*.FmM_ZkՂ{x %..c[2y^<:@~Xt]MD4QUUl6XV X,R^^.ElR]ODgU~=Tr?5 z?EzlϪ-!}rn ;eUUVXy;eԗXd"93<{iH} ?59sLtN@?ў[0}6/RkO_[ͲEl-2i乒,""oKR2zJJy)ݱXZ6j)ʮߔ)r^F,U/ծz@j z5IE$L Ԋc?蜞D I.cӏ?{~q&7Dtz<]y%fo/7 d(3nj\}n.,۽e݇yȣA3@޾8[.-/y\xs}ނuU-ԆtjZwV˦f>-{SL}6-׺s4;w[}&<\\.jhSxg?"M{:SVouЩg:KHH3e6CJFdeTˎ%oiyEիZ[~?Vwv,XTsjj(-nw_ut9s%s䜋v.7jqθZ*,x^O_ Pn>9G?WWx^&]5 tk V W͓pMɕ*E]ȁdo6Rؼ̔+)I 9GYr؟ow vjr[e%g;ץ5K~iԴݽK:_5Α#?*v׍:on\[Zӹ tjOMރY :mMk]bBDhSxgX+Di62t7Kj$1dwSfnwݪD>K7q/5ύtOϐ>gkC(]TRK0A@cVuiԢzJ[têsmUz{r&{mCT.i:l?z6 Zl lPU^ C1{ٶS9kv9e;7٭;=('՗Ӷt rU1il(D\% nw,JfDT{ 2rš~J{Jn9CTr=|Ia8P9E}kQﳁMFqN>x{7b00C>]O>cػk1 :{kQ0v852P 0m9eGTJsyѢիsypXlu8,GיpQytg!wDưG"XVsVڿ' 䳪P5&85gRY\V4kز'MZͺs3ZvTݧtDـ^[Z,xr4" kJh;㓽BD4hbkD7 }mGXnCg"w&<:_ 0\t,0Yv8-C0{6^O__@7A8۫*| 5h:~B'7*,nA];PR^vb߻;<۽v":ɞ];Y[09JYW$19[9eAow_}=0o4jy'IJyr eVvUDz=PΒr㋜s/֧HgIrn\\1UZ\]}q%I_>f٪_u?^"=rIFJ|B6/C&|MCfIbJ+ILi%g Z[MյROHv}ݰJbJ+s"G>^>"Mq2Mn#IRjIJm/7ӫ<z,m iXяj~U/;{Imz,?ع7VKJFOILn.~)6ʅ6G}CҲo4IoqsVX^O_ˁv 7wտ%2oOFED;$:>x#֮][K1݂'Q p>@u[vsnЃ߲DDDDDDt=}mlySDu)PM~U 5 -w>Q-8zy j[:~ss"Du'!""""""""c 1ܼ@% SGDDu@"""""?8Q&""""""""cL'šQ-`@""""""""z=݈4Mؽ{7ߏÇ 6 `2$&&QFDrr2L&  DDDDDDDDtj1`XPZZ[-[pa -- hڴ)bcc EQ`XPRRb۷6lLi[FLL Qh`qq1mۆuaPU7F׮]ѴiS$$$ 44& !!! Ahh(@UUTVVfjfȑ#صkpB̙3YYY83ѲeK8#""""""""AeeeXb֭[{"11ڵCFٌJFfb0@UmPUVPiiiHJJBvPPP;w⧟~’%Kжm[tڕA 4 .\r%-ZC!11gy&EQ``4`2FDDf(FT f3jBUجPU">>@aa!VZ5k֠k׮߿?E tDDDDDDDDDǥӦMæMDFF"44CD٨ "M[wa~ ,6@@c;Al S#3ѦY4"M5*a9:f3RSS`ѢE?1x`4mnܸSL(Ɂll@?>_֔`C~ &B"a0A1h0{unCQyBS`VTɎA߮i>'6CTT c袋|6qE0k,!%%"[)|?@ՌJBLB6LPAD0h1d $ʾ^נ HE5y#::g޽{qul6{#"""""""":6TUsO?L@πC5|J"aq]~#Ѫ9 3#Ytz&b"P@D֭[cժUiDDDDDDDDDA3gϟlDEEgU`6aϑ'"<"5¿:0aɀZًlAa6`hh(7o\̜9^{-bcc(XRW?̝;GVVAPRawkL<GfHOoX \!_jO8z*LPDPy>[~)ľ"+$!!!!ƍ1sLTVVj"QP]pBO_IPPlĴ_MX= 1 - ^z{o|zV=BB"`I\,D2/{>_V7믿FffGm.4" I) ~=j \s* xN_> ,<{=X!C@ٌlY~mVo@ł)S -->LFA#>)qaP N׫zP ܂Bg 4<{ i6R7 `"0h޼9ϟ 6i1Q`&:u* RRR`CpĀ/Qaht@t莉=5}t"_w.0$?d)DHMMŌ3PQQDDDDDDDDD5ʕ+yf4i"E* ~ZkžFKwt '>zU=U?.cQ a((@DʡDDDDDDDDt\|XZZ ")) & @Dm+ 0@q U⃏>}_뾂>?Nl4{PRfR.EQua˖-~Q|rJ!66}G'Q10B]=|0 n]_5Thhbj TM7@#D1x9WKtc0F,[ DDDDDDDDDL ΊvZd2APCP&"-"a^=3*w|TDt@((U MQiUqĊ}`(e#2: E܆ {v~. J(,+Df1HO3 6`Νh֬ ADDDDDDDDT:n۶ `zk(R5IOtWCnBg!!1%%P59!! gtѡ4Y*aXyNx 5AlJ(}+`T(-x'^y숈(ףI&UÜSg$łk"::uƄDMuGcG(gAExp?-?##ނIv{k޼ya2( "##լ [@qy ce4`Ȯ0 ^~1(U M{vANXcccvZwy}A|`ii)_  r 4n]yO̻ Ɂ":X֡h/ <*Brqc`umq 3",, ?t?ڷk|ʐn}?5{v D(,,DAA@"""""""":*ur֭[QQQ hc^#|sL RMU=v(U4@`0 $ ߀~BBB`6O1$ {Az9<kϳ7}_ &l IDAT|*VO+sݷPhDؾ}qjR']v!,, ")-=r{ÆmحͅP;g:Uձc! P5 8<<wp߾} `T &^yf߭v=q_u?G՜Q 1២(S ; u{:!{z#ꚠK*a844sDDDDDDDDDdx!L&gVj&O^޹&pM CE]^cPU@)_GZUN{Wan6ch:k]jQ|l69}: @UAqgj &Qg4aP * \e?& 59<鍚@B|5P<HGg_=4**lTNv$"""""""SN:E Dzys%Cff& E#ЦM{Ki*j6S90|ŮaOAÄUCQ'@ 0ET{: -/fOEHX*K aĭ7AQ &4HCib̂`pNWwT'GC(:94<<c!"6=dO룃ÇPp(㱿"/5 6lpnWw P \TހMFqm&"""""""" V ccca٪fb# P h}nGߟcc^ |T Cf3 ᕱQZZ6$W79,SuL{9fuDth0f8:l6JL`Z &;<{:πεٿ^,"2\?/o6:4DŽ:;Whk3dDtTDIII5#Q5u2lԨ,KU@AHQʼ?W B8c2UaV=qsg/@Ap]avLanh !f u{XQQF055P^^EQ@&fhfx?0ak>n'VՃOCxd~Z\rsϠY!,?d?sϱ\un!f6MVOuX,hѢ3$""""""""R'@ɄlVc@d#s]>G D JF7bC#1ek M9~٬E4hEQPZZ ]בQ9UW'@mۢĹNйU* ? bfEiVޗ D VXGّ=i}A@i} GӼM~rdT Fc/>I( Evv3,))A֭u~DDDDDDDDD5`6mPYYrMm*ZK!Z'nbBqO)9?~4z{ƌ?|0}7σZ:BF%Z֛8K/u~Ƅ7nBs*aD{[8UbVLu%%%ر# :)b Ttl <<. 3[P,=40]ѫ&p`PUK ЍF)hժذzUW 5. ďR⺟A1 22Y͚aڍUTW-]M jȑ#P-[dHDDDDDDDDGQQQh߾=̙Fh:зs$Z1Uz7:c^Z]s-bR++tFF$ 30B}Ǟ T8!fฏ[WdTбc3GfS(#Gpg"**E!""""""""q/FYYbbb "4OYq1ɮ7QFܹ3 Ɋ@a(p8?g>g;3s6ۯ똎* !.}/ꀘg;ۇMϮDDDDDDDDD.R`޽P"QA.hV8WCy?GAt[ u$f-[f8T^^ \~PO뉈jV/@шn @YYE.#铊x+4[IUH},~Rm4az4 ~5}unFN980Aiؾ};z&Mi9"[lj` RCq󥍑[ zPx^{5 ݆ =?^&otEh m=>ڵ͜fCʏ !irDBrHr)9t@%-R*!J9lf~hvmifz>yEK^Sh߾= 4 ..L|||̴Z֟L X̙p]}_e9 W7ݛRh˕YO FfdZ.Oa4|4b~v-f񁠠´ڄE0-XVN:$ ݡu… ӳgOIHH2[(^ԏέB6E2HOOjͲr೛n`N9_`cT4}z5m:;u>>>ۗe˺;Lx]x<KFFƕA,V m }:jjNjNj`87S)-]YWLa?+3#1GZ1}Ⱦɓ'1׏0w'""""""""1j Uj*GTTXVF#~~~s$o8@/fX{tVj^1h#{+# S2tڄȈ`320g]bKʼn8@ػw/qG!""""""""7[Y@@111[orQT)FZ};3u`3l ?> VkΥv?g1`__ Sχ`:oH:\Jjj*KMMDFF{ lݺuRJ\x`J(` ==zL4k\Ķؽ7~HZjSIO$3݂@B@!V;jEҸQ5BBJ|TZsRSS{С'.""""""""rRRRX~=ϏSLPBT$@?.r19iZx@J*JLQdQӹt)4222ܹs$&&dcǎL&wOKEDDDDDDDnي)B޽9|0;v_%11 *J`` ` -= 5ŋpg@arϛb --Դ4RS7,|| Ξ=ˉ'HJJB s=ԯ_EDDDDDDDDn2`h"""gOτdpFVf0d`@B$+###gK||<UҡC*UD"E==_u #$''={8|0.]lٲR|yʖ-K2e(QAAAqEΝ;oӧ9qN`0IZZ*E3.XDDDDDDDJdɒԨQoƯJ||<;w?l6c0lX, %J\rTVΝ;c2l#ul___|}}1L^=A{hxSPDDDDDDDDċ(""""""""Tb*x1EDDDDDDDD """""""""^L@/SPDDDDDDDDċ(""""""""Tb*x1EDDDDDDDD """""""""^L@/SPDDDDDDDDċ(""""""""Tb*x1EDDDDDDDD """""""""^L@/SPDDDDDDDDċ(""""""""Tb*x1EDDDDDDDD """""""""^L@/SPDDDDDDDDċ(""""""""Tb*x1EDDDDDDDD """""""""^L@/SPDDDDDDDDċ(""""""""Tb*x1EDDDDDDDD """""""""^PD 5RTRXDDDDDDDDċ(""""""""TbDDDD9t'9Olr.n+_mk [(ϯ/8.Low#Mgۼ """rMӏ?n= 諏ʜEܱ#|=䮋 f4-%]7ף6Rwa^^^!IWlڹWv}h_ҟO7Rcsgǚ ێ[oi^0SLnu*XDDD6}]jkRtx?K)Q#GZMI u**59u*b%{+6Z"Nҥdw?JyxQ1cD(V^bkOm;cF a<Ӹ:ok 1q|W*h*$~ѥYM\o5_]t$Clv)+bjGS%"&t7rkiNH?i?8pW Τ339UaxFL8ip_iwCL.ϳ 4Q6k/.x.nԨcurtNA]ͼ|!-܆8:GyEJuH:nH:NJuHH*510-b\/FQZ(i iS8tdW3EBeױ8d8˶l1_M{0,v`_9u2F?*!sy,ekؗ/a&L^s7֣%]̡ڲ;ϙwi'_n/Dv}l9O e -Cs\$Fph%?:UkFp=rZc+1-Gb ˼RX[&+ٜLϝ3 nϳ yp8U[׮QU~ݺec~4f0irȕ fU|N+/ڷ޲ŭyk T[r("""z~ss#\6)/I|6DnKy.v&Tvf5ZL[6ٮ}z650c=ly|Y-\ʨӅ80_k6ӚbF#[D˩ \ "g(KVQ Jpkpq~'W3cď+Ex_5UG8O1F(hU(LvތiIq_ÚGe=KmjnԻ +5ilqԊ&T wVfۿv!a݅  ]bua.EmP/"HSE4;_pS;>nEK!եms)øϖLh;c}IDAT%60Ɗkw-nm|9_~a'^/8\V%W]噫~_?wУNs n7j]X>7k[>!_\yxukG4խ3qs$ʇϧ07SWdHpu #60_Njy3-yޕ$ٍl5Lըn n5IhDsF, /ֻʡ-u Ԇ7/‘g:DPgZz@9דW T1.F{8݆ÐdbLb>~9 ϮSvuin7o~ WŨZ1<=r-wX:/,iNxx}8mJww87O0h&9HdG\XY~"=Q}M 0f1S{6_ؿ~׍Qg >bYTIl _f@l;r]gGgTAKq )}j~>~a6}Q{6zk63v湶 5g2ͼD_a-n^<<:W41wJG[$gy>bj=L1>jZmݸx~KLW|2x|_A7.֮+# "NDDs>1{3Zm>#u |5*q8-@ʛw/Nx8"/O[Yz  )b402]"8]ȣu-#M"jT]>VFpԃŲ sǎ oe.!&ʅѱJ%@ױ8Ԝ|4cݱZnGq{rQMjWfX< {兯2mj,:z ֙[)|mZ6jrOYT\q9_Ÿ_Nn\r9Ux:ڵIWk+e<;5*Xݪ\>ծm?S{Hx2jT&BUծGi܌y>aܳōc屻vP݂CLΘ*(g׋_Z3qYQ=-xnj4!K?KUG<_yjS=QTaN&O-""צ8֩5kk֐zZDH%ᛣtXgдjY]O,(ő>p&cGl[?q.Yq4XC{6扩=ۏƲLܻr;bs&g9`IcƬ70q|3 $灏~%|W\wK} }/(S2(3\B\q;@0AʗP=~ nֈo笟 MŝE 97pvuRny?zg>?lfLṎWaX.'֟i;pW-Os$!?fv-+a/a 1lŋtm~?F,z->9Nzj \"%H:{+%I8w]޺󔮓2lѷqd/6mE&/}o iJ൹C(>^LObx,yj@O oTnv?p~>=5~yʨ{>n<=v2Ͽ)sǺcw<VGIL`ˑX|(-Nv6vk3usx38We=q9qրGS[^2.3OnBsq/!Wn,y.9ݣ"DD3G|CHDU^:lX1Öpf?~77U6W~5f7SU *%lP4۷w/st\Rn{K<Q[+<7m&yȅx{+??Nb~rV[HJ%vq]#?=>r`ѵ=n`z.&]g|xCf{[iٲÕ8 WG 1z(")Sd[*DD둣Nq*Rԋ9ؼ|>AbJ?3WW>цR1 ުo'~Fl?zm{ަxm Lysઁx<ǽKFQga?jcLdՒFڟ\tzLmjjܲ?p.T^e""rՒJrL3Ҷte겍<Ի޽Kjղ/zjA$ſ| s)?vmm^>9MKPλmhمUSc0Ǔqi/+QfA}.[J8D%(J_Z/avLe̳ 4̵ {1YGRc0_s #3e)X8:<8m;1$~Y3ή}GJ̟83<|fwVů؄af0?/ѕrr_~ηsiщ^9#sF"B8;r@WyZS2Mziwt \f5CmqiCS>&fn=oyLyo'ʿcwV|N*Xh˹w"R5+%r̔Ԫ\Cd 119f@h9|">xw͗n _B+ $!:̠5?8lz/)ss5Xڝ;b^ݺd+ՙ CQjժo833J%$yhQ^|g] h%js1g"sBND5Ɓ{6~TOhDsn_\]S|LQҜS#TϣC13Lsp5:tPJR>mL9\ B?Nh9hnq{})o6}7sT>Q=Y_x /``֭qWS}lc-MQ&:]צ׃=ճ;zv׃=o::k"Swߏ)^{.׭K>3Wr{{d+JƼIV~$" $49#+Š B*5N9S5 1]ܝ"󞳹cw<ILH|kgvQhG`j?n?zA~,3{0)/>,{q:俯θ$ӌO/XI][;Ë+83Wsl3]ն.}y0}۟|ɝݾ?79;ތ҇G.ҼX!fDrdi?Pv.lmB]#EDDD$__䟥5[Mv)%*6!j0M 4}^@ @"T=C^giPo4(-K(%LgK (BtSzmHlFmDZi48sPm"j˲vGhh&] i)J(  c4zx<^4[M..²mL@=h @ha&,,j,?Oa;+ tC,ߠu"2D!Qo Hh"˲i6m#0Z-4x~ewYH) }m 0]|ŧylPUQ!cL&sWBA,BQL+(W*躎MSs^ )~h ޭ|ۑ4 B X!F UkBСR}wmX*a&x˶|K 鐫V0PB]0MzD"YP(Zh64h$z M= "VL&৉VfvAk] tH\u5msRi*2VnʶmEUplx"oEպ!ۛ[mW;χS۷Cʎz\(mYN|RJ4݃e?RmH2lvl6A8BQ.pdCU5,ehC(*@ࠢ~f?4u6DUUY21:an/%rWW,048mhJ8N};*;`_/8M$ߕqrb-&_(`[&M(GH|H)r*xK8hPi$RI4pЇ (*0bXãT*e(|X4i8{?Ͽ8LOHI"#\4 x4LVCu," Zq)._d"N(Gs L"B @Amhܦ^| "hzeMan-bJ?u/կ~AGdk w9eK^ۧ4Mdei.ѨS(V0M 156‰P~h4<~>rK!ʯ}Ko/|$S%ʗ N<7!nx?h7G<ѐkIPEiۖ3~X,iY ?fJ"+_2[3taT !Gi;x۲x/q Jd TKj'$pO T3JL:AeP(VR.86io191; Dq^f$ɓ_ Wucfa >]U(ˤ3iT5ٳbS}۷4Ɍ69|q^%:W4#ǟB $X5x"S.Weyem,׿M4#_s!S!ĿZ]lhS:]^kK܏Qb䏾=?WzpgV{M#~v!jԶ̎m%,ҬWVAWNSEp{ :v$ǷK(ŷunN7wnCt(hkwO:DBi[ \S_b18voqqj³ӂvwh8T.l v ~I #^)`UQU{AJIЦ^pox)c;bEQpIm( %qfΏ)Fbťv_Pwb1Tn +Zߏt{T潳U!6u Į9%Tfl IWqa! \CC&Ac#;l*4!&,m1u"@Uvtna8N3iYvB42L%TM#O03}X4Gr}N>!jr!G٢m۬./?0clf޽F(e/H^>M h*}apYuT !ll* Rr(/PbN|l֏_eu}h(/£{VJTkuA"{%Ȯ 9}$ Kܹ}D2̭t=V!%W.sruw!O`s Kx=H| dRIxى;yݷ\\u 7x/W~Ѕ,^ys̯nR+lRa69~Į||pј벭* Cŷگcv{oAU]3H_ء)7xgkKwn39uhߴWN8͝YTOynn Ci5XI}+&h@,g,(s>ō5tezEe6=)%VVEGKi6c&7o'(K(cǩT*pzhGJro8NZWVPjZ NP7d2Ź|2!7؎ə3gRJgB[|YoͩxͷZ֛or'ēi( ±8Ǐ 8y߅X,#G) `pd Ӳ8q8o1qԁ Z`ld9[cX'ރ?.$LN299s6Ȏ-]Ic8 O>Ce{X_ x1- ]n?L:ʏ.>>0 M8(ٞpxv}$eKKMŠR+C @`Z6WXjR4HD|AlI2EH --G<_)YXX@Q\ER mV֖]%R˓P۲xGnT*+UF,LhK+k !aa]dmGU]WfEQr, U\9.і/-=9>PUP(vP/w1JF(FbKR"Te[Go`pr=m6:Jn tgo%eupGnm堆ۧTфGH}Xb}>덈 Mt?q~cIW"&@im̽K;(jIwLBF/qs$0Q7]S% hUS,W?Rɻ"n:HTMu9(̟%ŽwL7l$s$4AQb;=T׭RjmU}-`PQ`󚻀?yU%l{{hՖGξ@PVEti("c5 Ym6ދ E= U 斋zAwG!xӛN1<U~Ow~kSi`EmCD)As?2?qc6WsH =dFY٠'b=W!R+UMд$eh٬n21¶!0{yLE\bxrB@&=%}q%lg$BB\v{> Ec $[kFozHִ֢82هP`vfRd}qX vbHgϞݫ- lQ Gkt8ϕ%%Cr- UPz?E V,ǧi6PzcL&J*peK~pugOJWEU&UM7o,\hYXgxhs+.c#\rs/pȤ/sLr"jK &]6=P }TM<~r[s\@:wj @ɗ!% d0-.avir"[R4ed  PLKongJ5B'3<* P,)ԫUz"#lYa'JӒ4-=).hHJ"O&0mSdžD޺wl8ZL2FB:ò2}i]IJEs qwO:\Sm6khRвlB>x"_Wy8-p.'=!Z ˰ԏS@oUy߆ w%8$K :hw?#_(L$l4]\! clll33;i~ Mf˲B_G )~lIL* >M`_]GVGQlTrfUTUS>n9> l󃎳#}[a$aٮfFh;vRB4r+@.:!ʮԅN#Aߎ!߻eP!ng+BqqwAk]LN)og_>큽xк?,TUuςSWwžfdҙִu(m" ]>16lO@{$cY@{?4~RWVWow?(!BJ؊՘wpP03>٢mr>K v\!ܸj;8n@j122`&dz{mM<hP5̧.B! ˌN2C<8]06nvRuwUQm t:PR:8CX$N#`M)]^ t\W^UU)˨J8޷<۶:+nl)077Gnso6+gQ<ʅ-WyOqM&GIӼ{678s,\exh\qy-V܉d7Q5ǏĹl6˭7uW7r.lD^X^&BӰecc`(L\$O07?O_&4Ǐ߷A;Ѭ1Tzsq`Oo&H8A"˃I&35&25MFFXdza#Oy blbT*U?ˍ|T<)oDlftth<DJZwhUTm%7;@(r#B(bphzKzqlIx-B|'xǴx^d2I:OXwpZkt5{d$ϛ4М-h!hAN<H$"H*} 2]jd t<gq7:[W׺?$t7DmlLy$G8r~Gw WsQOL&Y]]S'#wuD"++WJ4h6{|6&i}ٹm}CEi]ʭK@wϔ?" {f;TJ7Uih K4렺!DxtUJ\ETqOW{Trȃfa8C$Re¡Hb@(¨Fb TC>'ʎ@BtC^# b&'BxQ/s3w$eytLäRsB àRGGLh,FVa;nCòlJAսJ4 B`5χryi;qr<`GTV T)H$rx<"4#:(- lYXMp/3z.U,Q#r~Z!.cccMlUnnlp FFFwqtȮD9GJ*1 ϿKv78F^> %jHA q綈]Eբ̓ QhQBŨnZ],wSû8;v=jG!X]]% ȩSu5<D;haMN;fv-TB!V]Ӳ[*ԪU>y66s kS4@27}'}fT*E6e_~sgR,y_'&_(qaV9|&}lr34ЏiY oNgffJ0\Q,//cǏ͛Da$7orIZPcyn߾ާXk4qlQ_jg01mVrR ԛbaq~GG8vBaaiP8+yCܸ5. |XlC]/צaI%9rnFU,Mxb|D`Y{d*}+:ߜ~xQ]EW\ۼ&T*B,}yuye~ li;J'u1f;q ݣiPGfV+hF^%ѓ0AoVI__B( rAcs_(R68jf7f#+xk~Oo}j4mT']fP@DQZ*xfm,..2<>T=IWV iM&A䷲:wk\BG6 `vn `$>tե9zGp'O d~ah"ѣG<J-^)d׹qkΏd2 0H`6#N(<0vdQ%WsQ6٨4-b~hl!px(yEq&f# %@ZȈҰ 8$c[<3{c0{)28E6y"}<64_~ /H0f7/~WrbV|<X}pk\ÎA蔱_Y(B!Vn&V quΝ;O'8},p_Ek˄ tP+ufx|mcݓ!c q{a?AV۷#;!NSPCV*1;X(;qvqwݝ~q ۷/ݖN̟:t/ăL&.(ςkDhz=!@wivkq@rW;;k011T7@4tr<~Es:F6黧K ˡit 77hF,cueP8v6r/QU\쌘(VTGJGB| 0 9tvZ,//G0h6lln11>VvGdXE>'HF8ôlʥdhx%HPŅ9"㬯D Blmm /FJX[]ehdh4%`oI(ܾuѱp@ '&̑9GFY[]v$^]S.i|ݖP]-33<̓ o}%sӷd-KB:fD!bѵ+9~oCAl=cm[,?H)7K')3NG:nuܺud2nL:P,v&a"lTs%2}H)):z8L^'ea!cMKK˜<8^_G?~~S Q(8yJ^\+1~?kw&vtkkx!Vʕ+s/yT[|ϒ][e4 H$Sgm|8rFLNTqEØɓ';A:PQbT3gKhkQ}^LL]{1wx D,x94&,'={ͻQ~s{p,Mb:x}۾  L)+eEX\DOoPש7] {un߾(zMU(Ukqfj`?׮D`s 8v(# [Y&]%nL@!.2p۶i6]!! ` sa$cvve΁N.:ף:2xg7mf~ׅٶ,Usɶ-4MDZGE;fPҽseܲLD!Wjr[$.ҵkw|*ҟ|PvL=pn/NadmvLR )%dqiL1^{vQ4!hE2Sؖ%t~?Uc ׮'D-IdXq4a}7K v#4.*ҕ3; oݻ[睮{8wTw<]3~YdZuF, Gq\3bm q՝EE/İmuu%(xEUqlnyj;Wv|oׇ46  4?%q=|{\Bi7<4+^87ݞ>Ԗ}b !H$9sMNtҝSH)χDz%===#pؽVWW|R=4jUtSFoܷ=fKTfff'<##5,bqicGR˯atPNfiWK$ ܹs mw&JcIKOT,ze6 fs>} ۲XZ 7@$u!M햑ViDRwztVUrۍ&^BvKaeN%rHETkurL=ݥ.V^|ᗿFO2ka pP,I 9l;nM\eُ![5J2np8L*Y-RV}/J6S8Ҥ m/)UQwPL~/蜸OP.0??W^%J]c\wfҥI"TMӢo`j,cC| |zzzЄʍ|ӟP0D\d`hR!s~_{ZF0,lI6_ƣ؄!7,?si#gY^^bhx׮sQ"(W^et(7אTLPaXHYo}xRѹFO2JRX,z|=s)x#>|>@$JiL߹7Td,ĉOvv `yy+O8đ\4-"TٹΝ;[\oGQWNLrU&MҰmΜ>+_C.{}o^Sޯ=V?y-pR2B(H$rp$w>*?ԁZ=AVW47HC@(*o./}.^_z`ia) Oko5E<ƷxeU_|xi4]Nz]`q˻~Zl6Y__gppЕq]SYFiPtN: dLJ{h4o31>2-[P( ,rTFRN($JD E4M^‘(uSҟ cKiKTM%  ۤ^|W_} EQiԫL>4[%?AfI%~ZlkQP8BY'sYBQl"O8~rrF= pr^ɞ )%BQPP=^'<䓼ry&&aQʗĒFG9z0hp8J2"A6h@"fpxt:I&d)^xYZa6B|>/cc8R348o۬^'g6ZBI>2nlWqQ)r xpH@re M IIă&۾wfeeϿ>ׯ#{v>"T?ޭRo82e'J@Bm]PVC}A>R%ŏRiz4;JPeur$ ^D! i/G-s,f{Ive}&򮻺{40`D#-V\Q%:*҆bf*DRؠCp ѶL7}3w̬FwWuQQ}{9{.7oL$!9:00-'XKQk۲PԭnݒlD:Vg_^^n;[e,mlrXV8MQU1>1Us;R[JI_o/}NE099Ol83iqIf&ԧ? 8bs ]jh4 kkksm¡ ?1~wӧNQ*8{\u7ʍkW R4'-s7F'?Y~A{@Өg8'Ot\w9|~?6 TX gx6I_wMax=r"p^{#rĩMމjM֭eKL£k?+vr: 3MiNm<^"msӴ&ཱ=:k7LDp25*~o|)ϫoG3'e7:{7alYQlO5ӄqDmQͶnێpz&Jw._Xϕ1U'_frj)%ΜWHRd3)B |ٟCQ7P4Ḓm<Ϧ tޜpQQ|ť]vh*wWD&~rS Pѿ7]lv J6ZoYC @>0E95΂Թ_)ё~8 IDATKUřw8T@`қ8q018Z:ab+ؖMV#ٜ^sT^Z^$rs9L"bԪxhWuUP^BZMQZ{0uQJ$@ڤYfc *`۲м>J2_W蚆#U`euUӈEŽ&MkG>~cY&fѮS26 :`v;FJ\.i5|^j]{ߕ^|eyL:i4N@cxxsJ0V #Nb)r[GW 4 <^=svg~BP.ݞ>} ϣ*ӱ5L:M_/utOBV\5CO\-h4l9 8oYۖ]]<ѵSŞq.kNZof U`qq`0|;'2tzdO7'')9}DT* ˷{Ӽq-z{ 8q˗.G.cuuiHO{Zi;w7x335cum* 'Ol0Ng1yY h:W/3S'79;B`6o6[xtݜ«kܚgxd>9j- Gm\r!n o$0A8|oRā (T?xϝśoA8OZ2M[,aY&Bx9M'C ^<=Ba$yrR*| 800\瞞^* !7Hn#Q]!@E2@}ƹ53E(Zo` i Pŕ4Ph^rm7#~T{W96в_0<}Ooʸe ]+\\v1pqŸe ]+\\v1pqŸe ]+\\v1pq(n݋bWpqٽ...Wb\ⲋQtqٵ.tqŸ. vq(Ri..WpqŸ>]+\\v1pqŸq.. ⲋQ@nGw2.Frqٵ((@nEq..ⲋq...Wb\ⲋq...Wb\ⲋq...Wb\ⲋq...{Qpq٭(H{}\\\>(nVp݋"] kqG\\v1pqŸe ]+\\v10.]epqŸ&.fGMwebEjGi\y.j*a[gC]>H)B qz<N)RJ(GHD0U4tUömt݃iԑ+>Hlap}j'l4īkU25 Pl쐄r'B( @ Fy%>HKMRʡl@_~@޹+'+\\ ;Th>UE_99}Rn( Ҳ0- 8x!xN06\>@ݰHh2z<$bAdä^S.eltBL(R 1lkeH8byyX4F8D}"SS&4>FͰHǧ3C!B>.we@ ˶4WNI$B#(roΰLFQU&&rb L+ ʫo0:ūyw0ukJr'x)ulOЧ188Ȟ}HMbFZhc{B[)m[=$gWߗĨU%[m}>]SG(3 $kj)%cmI*W󲒭~(tjfDdG5S*بĢM'~LB4Px9}tҖ@)-N^oy rDv\!(," @`KI$$RB$Ɩrӱ../-c@`˸ ;oj9jUE#~#f1D7swqw@(إ$x]\>l9/0MU,kCŶ-L̓m٘{nk"Ķ?pmw+E:Fz7g֙8x`0j;O>R(_{̅mwOu'9qɥKw04л$MMYVysm@߇u×_'?8x2_ʟu?Tc#s^zpq.˟E "k)d7)Ep$\׋{u<~iztJBR:RB&..^9y9p_{sߚer!????W)U }B[?wE˯S'R*LV%Y'G\ƫ Ro]'w?ʍ^k?;Zѐlc>U&26dOU[xCa%"IN9GM c5ꛢ\\>HI$#"B^C=tI*BX?VBQ_?}3uE!Lnus#]>8GaR_} )>qs=,o_N>BoluV`qF9r`bdp$J41Hr`~KhTt%Nh#..-36X,Po{mwl{Zݿ~?vM^9Ax?0Swk;FE iBQ4G>e2YEEu4Mh`( lv}!h4ds9Lb}mZF6\*XX\u8L.t=iLRAo֕ !0 r=EQXO) x}>gL.4M!Cc4Ugj񰺶AiySF\6Ca:IUUR \|.hlO"_(pM4߫S6 X8HjuhW7BeV4-Ο;eFcܜI4n>`C5Eyz\~RDw5jٵ5­%D4`-z| CCs=DbI<0]<3eXQ&'o+W9}(|t:zkxBD(!(dEtGi//ʤ5>XYch(KêsX,z_B@QR7RC!~?BQ_'`Qnܜ$/䑶dhdb!K0%FR%ٕ`vaEX*ǨU)JK*B!%1=s'hn| 7߾s5j)T ¾@‹?QSk!0+++\z|/aVSYHeN3KSXZ˒35­9bY%z &'oҰi,!/(xn.{<|SEazf3.?z0R >?HĻlVطÕM£{x(iIz{z"b(B095}Z#%3tڍ۵q/Z*A5Ӵ:ƃ-@>p)m4Mgaaޞ$^w#s |GA4UmoدTU"!MV=Yiׇl-AJDi"M5E!V}a]HN ޽{6m,s[aTâem46ƺ[oZn!a 9˦F>lۦ^o ,/)cNg{]w6ׄ2ݏ~[~h_;f(Bd7ɹ' ("+/LWoU.J*DC+N|GGS-%=$SSa_9z{wo%Fz=qDWVuqqvmg? }r<8q,&x1C(y@Ύeu  i]\\0~ryrLde=RA ^6|ŵn@C`5)%x u!%9}ʉO63>LODHvũ?!@ϛՌΒlNȰm X:cc4 ՚v~̎ l9w%Y]`0(BC6< @`Ӻlr}z@8_~k4P zv߿Db1 /|RnO}S[>ء429zox3~I 8o ϋe4_8luZ`BA`6LN=yecK<4s+~ ݥt26fu&Hh}n҄ qqivvPvlE9Йd[RjF* X'^w2ouy˕b..6vgknV뭫( 󳳼}vJ(A(׮g>k_$ 拄l[buL={0{9M4Hߤ\.r1r4?D;Rq7,Zy;i͵}{!lV_ZCwΝژeYr!nގJB&%Q.}x^bD"&rDEUy}w?'`X6{^4GѨ<^/2/L47}) TB"JY< <AQ( k(4Gt""K!"ӸwަhR ->l*\B0M^pa^_jƖ6}}"˓EuRiFGFvm5:!DT C<O1_(ҨY\Zŋ/LGQxSO=KŁ#C2JvmKP+cC ARcPЁ'yضr*;GݰʌΛ۶YZ/7;p$]87QT MUP ^QIDATWޢft'EbNRs$ʵԪ5NQ^!ufV c4ǎS{wOs\'{ GϮ3w;/)%`7͞or97CJS3ٖUmZڙBS<N%-n\뇘&P,cՊ2iO?ŏOD[ Z6Znt"n \X< ESn _fBQ AIn[X= (S"t',--3Z& :$)l[ 0LH,}CJI6a.ŨW%F ]SP+*^n(J\HRԀsX,ʡC4=y|_΋4e2+k)*syf=|7?i"$ ,4]]]0#0M]1Ǐ*.,w|/s,xkrt+5[? +G>Ȩ͛SKyxu̯b\`5)E UV +kk\vb N+DHE%N֕\1M$'Kkq ZS3ضM(Z[kW![LcieJj:e\H!\|O 7/Q.H.=$c=[`dwcǏI `~m7g15#[jmST,%Fh84ѩc \iRKqӓLcx Eb&rSnw^Ig2EH2gNF=RT(TJ%ԫN8ǏV*'&0u<^?`8pmG Ӳ8{ 'O\ {=MG'l)&Oey|^>|?zp84zdwQ7,z %>Oqug}>Pd' hR*8lI&{?N, 'OS)6QwpЇ/pIIC"х8my擟$  gsL"pۀܾ|737hK8;wlm<0Q YJp^R!1:WB6)sIVo|KĹ.U<^W !eK o("CCC!xW9u8|z=قE!235D|x>UN97^'y\zH0< N9ȱYK\6.﮺G>(z*E<wx^^|e?˯JȯsiiWbjGg0uk Iˋst'{фͩi.\xkצ,HB,,26OP%rS3sx<~|^tH2ŔP %AA/`֩ sbGT*eRTkU~j:F)<)Hh\F2T*R"ɑ8{47oDUUjBS'w|}/=~…{d}.nVq2J?י\OY>9^fum?gvzK3,,.qQVY\FDݪw0grjlL02M斖1LB@0ڵkhB`YBTk3qܚ_b|TJzFF('yH3~PY4/ 󷦩Ko':geeR=2$j34 Vs=M.' șϙsO\'ٓZk/|=Ivo^БcTJy޾6ӟ/Puo6Q(V F׾ɞAWt/%)<^Y҅ŒP="hUӸqkB&O*ވ@xHx<:ǎ%7@z8t=}}DBaz{$ ;j ެm!X_YjJHF~G/ `ph۶' `Z=\1=CAbwB,# ?40! "pdV_} E&&&aV !4E"EEx5/#cchMS7mFd 06: 4N=O$BD#y>'(T5'D,C8%7 ]טgxtE8ic{d92$!AH(D4!1<2(l+Ց_}K,6X\H]g/`{ .o9\m447fu>EQ6pEUq:掴koۉo@8q 1Q /9o_v)eMmLڧzu~}f׺mtKGk6"[:mlw׽:N/%V)>6?¢3_cOյT EpUzp , EQHg2L,22@o!5 _#Gr+ tFEi?<0~*AQ `um *c,-.J`D}MPB aJq<&o  Qg\kQ'N182J.g`ɩizNo2ɕ7IDCDa/T0u9ľ;SJI<#XưmÒT*%bٹz{zUQ*2~ @HwzH?D\`x`k_'?έ[sI^A*%ARփV/|KWsـ4yɻmNnc-ӡeul ݩo AO{V qx쎚׶;RZeОEaC3uFk(a,|]v72%۰ZܭѷfZ۞_gin˹yJSt;~94 g3.i^>NZ˃ ]+\\v1pqh-T˳~:a`449kᣭr5V>4ʼn^Z^uy!ߋp{Gtc1l-}j ';S-@I;< CBeái4S5 <:ΰrkDͩ4zRv֓b Z {jl&$%i>pF܂E8)E3&xM0 Kwwj۹RH.E팿{Yߞ%:[mɧ8bdRZ2C oz fW0m NN7'v[uZJôNHY}>y@On(ivX,n?,-lh},(UʤT?ó_{aj툉lfI_@T*j9&2;7;}SfqoqA=<Ƶ N& ہJBti*%x yPO;YDQҌ>!f d9#ň?CaoW8[puYf>NHy@vD*fSjͮA'i;DQCFQ>ypx<9"=$DFV$I1۶Goa"VG$yyG,RO,k9 < &``^=W ηvM'_ @v dAkn~g:3 +l4ww 8N١cq{:d;vU>ul&&WoCލk][Zm/s ryaeYwqwStm A /~I*bLD:F6M7~[ _b $cy#y^J$lpw^:J}2._U191븘VL~zWh,ճ8(yWyLL)k4ked3߶sX,ŸruW7Q)5FDBt{|5dI\F4BrYXVZ?ueYԪU.Tx"ER[,Zd.?Ibff[nq*ٺ iqe-(:jȠ{TpUU_|ɟ<6qZ&88i>b幗-F=7Q4[,RPu}} 4mcN@%LK2&k,|O{+5n^A†k7G<b?rSlmFHR\A"6F0.\DoD< _G/uq]gHx /{a{)?Co'},yaOŧhm(h6q\t]B  bX]{BH.A"tC8I/cKhBx }>|}>㌒*ʧ2-v`|~TMn=xjF DhjI߲93v%[;mnȦ3\Ghk"1> ix*}O8B@D>DtayuV4cc |m4Ub$RJzB?EJ}qi*hJ߶R ecfttOG(*`[pdTO)~p]FI(AJP ]7!IE"~)%b:ҕ2,ضiؖE4MRD$G-WyjnE>RJlf-lBARjP,Fuҝ, ˲6UxOa{]G(շ?gVNV˲TXav:t]PT~_p= u@ӥZ)/޺)>/ uq]+kuR/btmcBhG,ǡP'W(3g/_jgm޹o;̦vC0`au6yjZM2q4UEIrX؎E Ufj@* 5:X>e\)t8nx"NñD&N)**.AcqjߟA$ u+ױ>xgSY a0/}~vyPRb[}v9s;l215k<%z c_;AC a"$iMאK&B4(jd3.qTU%`w nKMxF=Pl`pԿ&:)*v~+%A x6"Z&cJđ@ò5>ů› OduuS'`6/p &&+Z@U=u?3Da^W!B]fu[{$P,Wp\qH> 0H9 yEwPDTu]vEcH$CY'KviX}\%b~y]vi4$LP(=Czi5C8CTq\8>O)~URRVh4tuQUuGcM蚆8>{{.%㢨 .S3'0QD!`mƳoe.(cۏƂ~_)hm@胧%A<BJ9"1XE>*۲UC2\mT&h^]$*>]UP~! m7]Fa8c klۊ30|^x&%/~*w'(c?n!<0?H)1L]p]LaǶJ48^kj<Z HسK:Ah:FJNtmU$D.mP]UH&p\!ⓌzAToLOi5=Sz>p]V'Rz/Qz~0 @Jx"Yml`) h@ pyCQ(^^& #1L#a[6Hd_u_!h:`ePbvfnH&5J2r 5N  vY__wTP`}Rn$Mc=^JL]rgu/~ዬfYL4&Oз,W[ѨG)kĢ,u޹rW cS.)*D#A뛛vˆfurT67E `JVEnwjjיi癜<>BxjMal,SJ|0SӼN_Я 7U]/|˹ X_[YC:;>P+Wgum(L剄Le&e;6ipU~緾/Yd,rx꾎Xa-_[X`<.ΗM4}y"~ok^fO =e^MR$vB0µ[Im{Un޼{/sYt-7~_٧bk{ɋ?G xKNK<>ƅ _㫯? 7;ģ1?$;v|!ƧnյU#wϜ`w{~?H0;+^xit]ƭH)0ugNnV=gckMQV4L[cavH>kN4M>Zhؠmc#^ZD3|"oWbѐ]fQOI)Bt͑|z HR5s؄7IX}{ۻ4 B ݾXTgO3ò,0l0;3훫,ݱt?=Dw#ORNx,nbko}|󴕐jA/8{,ZkHg61y+XMP>ҭUft-.v?Pt: t Sk]fljǢuz {K |}!NJ|ۼ}CL6'+Xп^B%ׇEk[Ce {ym܃mty!D( 7r6o~~k)nx[ lw8`tKn( =I!8UqiRJ4MŲleq!ʐl}~둪lmt@ pI!@(J0]*5%=>xIA}g#c+>x{L?x#  /E:Q:S}@j5Q[hx:һ;Z6FM;ȟZQ+qXƽgF{ܼuSOQ/i4H29ehNɱtHXY]#ɐ&HsG?#Ns9|RVaPC:HdtMJyBnT& Qr6SSg+%w0|~h BQ΢!TzގX-s s湱Cxnn ?Gݚ_s24qsﲺ y|뭷x')Vl9y׮^BIiwr[-/RY^ggv4$3Z/]`u}DŽͭmlSKzO\y:tSS[bᥗ4?uo4%_\BfEbmL6Nm7o٨bz*}5^PhK ʼn)JzF2DQT|>?~T* su|~?]KI%i&䙧v$~bf湳3ϿH.K<`Ud2I*EM2FgN'9slBĩQl|`B CQ)WHd&xKC!1-x$4yo5ٶjU$&fjW&?3<8Ns)2.g~nEEH\ۦ\g%͐Z)3991laP8q=z{23<,q 3@F۶fשc5-zVUwV(aLmSm]W[6JH@ő(L$&`.j{+_ybH f=NM0ݬ]W:6Nh$vFˑ%ӄCl6A,;#o410/(g?S뗖p!J`@ .)QUuܡYbYa(36pm-ym=.GR r hygo# }^ upMҬרLMM<K)RS:W1hG_^s,J|E# !^JNx>$ xp]p\#?7[;?Aj8.Hc F? B vDcarEҙ{5pR.Lhv42S1E,ZzK8a$ [# yNuȆ/Z :K8R.I&8j\r/>RCQPWR >_`oq,ಹNO\q0c.mWڸHq޺X4Lխ"'N=T ADUU-t]%Q`2`XT.^siX!K9ݿKݣPnҮj6)Z*ɨMzeLt(c$ ^Ya-k_RΣ:1$gyo9Og4;=ldzW^9MruL!RQTtl@<0 %`}kQdbוl ]w*q{ 9x ZHl>Dz=7l2ߖw5٨=c}@\b u-jB7Y(HX䶔 4> at4uwq !No_ ;zVı-5C HxDsXCXɣ9,r{QQ $D~: GB0 XC/$9lkw u5a׏*AQA b cW0N.S3XRA.)GԪ:(ks-"LNN*ujU3L4¡CTV.K$~&.=A|,C:oQ`6 봰 Py'(r{ڏ!Lf;wx񹧸z} j} D b˹Byb,}bL(r<ǎͱ|c*LfóϽ3_~aI}/x'9yÒ??yT^dt/]`@\-&ƧPJ߲XD,`c{LfCghw0uJJ&:ۿ}F\"9qFKA<@7CDtvv7P7E7(^@ ȱcl6mh(D8 Lg3-@$…Ǹv}"8rY:`OniZCIc>4YC( IDAT㸤AL`BNc)FQu4]4}fORY @u&'' C!Oe矧Vk>wq;6G=q)>}T jN~͙sE"(BT!V 󻡛~&/Tsyty$_҃^=NEG\&SJ^9 X̜@{1\ Z1 M!R(-}ySN}f$҇x3Ϣ$ s'h[J?EǪ O#lۖkؖe\zGhlo &ɲƱJoS,J<#~8CGuȤgz} F"[kX"x9^tTiPбD @]JhB>c;hNGU;XDӴ$F"6J?ElRdT7#^JYQ44j+)%P] }kO9R7G !em#QѺbkξYoFhA74,-: >wDq5&lգAJhwcDJl.~|Tbll]; p8{._}7}:vHkDžS`{xvG#G !aA^{XXڣ⣖y*KJ)84yRiFZ^L0vKEҩw6CF>nl4Mh&z)#TCӽ-½^`0D󱵻G" u:BAZ`YI3|L\>O8B:>"<]>5۱Y (Vji/[A7M-0 s^G`8y\mt]`099IX@Gq,RRv0 v?ӬܲutP4ǻ!Gv>`.nIvwsJ2y?cnvjDvh5A-,NGR@FvFR14@0@w]BPVB=by YḒh,vzWCHIȌPuUwn[xLQ$I2'ODrו y:,h51|A0jtj U7a/1o?9o\# "FG7t&cwx1"8{KkW(}:ӳ<3 y|ZS&-)4 tӳ]}>og#@*Zʳygxz7o-F-;kLd,޺3=GRayy9&ǹvS4,.X]jt{ߎGxX*ER,޻2ߍx/{Dc1.O nu4 ,iglfumLMxz˕WFC(^aضMߑ:ҩ1._O^D1 b i#B04 `|>~lnavK diy)&)ʨI0\x*TloIb,Ʋ,b J huNNF7R(H$\tvM܅o~|.k.?WD`8̭KL31>mn@(90u9>dR)n޼IA}hi 33ql?= JVhHǢc別ߺ pf# `l쑭F&>|` v^Lw;e!JJ8{b^BW5jN*c SS:_y%&^vWZ wx7FP 155E6E1RMw$ NL0&z퇱BFjޑogxo$?y_v{#26AziF eͮERgj|jc? >j#]PDL.fffٱo6NdffPORcqóAeYضE$]R233;>^@)!#hq=d7AV5J<8vÿx+va(,~3u# t &AP`)]Pު,na:>z AqUyݫݐ*+5e rz 9,\:ByRJp0]4M,BRo (؎8MN>t?GXDQ`H(N$ 8 Nbzpaj2.Srl8nUf?zm,1^!JrYcCi bCuo{AGb~$?FemeZzd5'Xe<΀? +O_.bsss?&~RHTŲm gms JS՘̦[d3If?3zK0nR/ 0M':y 0~of,^yN RyUtc*,޼I^f'_D7 pDt:C&7T~y\0$2$ba~W9wbZ$[[[,--qEfffvىip"" dRc+w7ȎO391e; r>.XoI]Ch>+of*;*/{n/Z'/TYµ+jJ=`r .v/Q,Wq8v$ׯ]*|3 [8 hO_dV_dvfZ/tw?յuP>VeG Iv/\}Tz$\RhY-v|a $vr #ޡ/W5fggqZ=p^wPajrn;8x? O17;CP$)k/C(s,ot-d8Ef\L@1{m4E%=W  aWY}|ܹ1"FBFqb{,K9 }as%c4+wЅdrv~4o3NQ*X+{&9}qϓpzܾȉ*R $8BATY0o;(۸Cvz]իWy'+z=l0;3)Ng4!].i_4TZ8n?鑀878 Rk@  ~Bxۉ}6'N@Q67zܼHPu\BVRN6;O.Ʌ gƒ}gh4w8R&ISq|abBظ.dRI\A6٨噧Q:XF)K#hY-4:&F`(L4lghjq^ TU/O'g+f=<3TKfggY__gqq~,K 'ovl:ÅsYӪȦƐHJP@,ŭ|esڥ]/.x"mۼ[;oh͍53Y4bw A~? yu4w߻ʳ`uJY?vDb !$F'ƹY[_A.Ͻ}ѫkb[K5\q@0pmfgɗG:fxW' 7W9sܙCr9ZV+[otztpUΟ?ͅO ys2)I*A??RRVu}D\!hZ(R؃%3EN8mjH0 |~Ύ|{B/Rk4qt]ElmR.xя~j8c($ :_|lof[6R5|Uu3X&xr%Y^MϑLF(KllmKY MC5 Tt9GuB\p|k8y Q+ CT*|(V9JXBn#/g(K|sr\znԥǏ=vIj-y0L?hՕ;m'7@]>?{ & `,fQEd'EROQjY9 i4RYDp\D,nMVy /-TWȆ&6(x0=lyjP(8s jX|<3ll2MlwIZ)ip `Yi2666CGnC#yT ãX*Ks>~4V=d_,G8UpW,!^H$|il8H<ڍ &JrcjB#M)OkcG5N(#wKvES~!(m6OEGͣ\R3m 0 v|۰Uy睞^`j ܛ?ίnl_OhP']t7dP= 楔K@%P:Ck}u]t];vsNBevraۍ( qj{ڽvvĭRI)qlU: ĞibÒǁq*+DtA0bl8ݛ'ܟsr9`½HEF׭#e'MZEJH&oW ]E"K_N6{;oߊ;NV?~!s4 n߾ lYAP,l0 r! ?DA;L:#Ax NxW/\vcǎsZ&jA(8q"(Ƿ}5IVA*hY2.4M\.qĩ-`eyx/DwwJ ժu"'ۿМRhk Hbddzqׯ GTѹsx'7}]fkU# hv''`{2R.q]/7r (儢/Mwo?וh" .m^ݺ!\MS׻OvڮrCN@[ ٲ;uyC-E~]0 M]Sq@o«ƾȬĿe+t ؖM1M }}΀4Mc"LFUTiV9zH;UU ضo8-+]ǻDR"43.,.*SSwѴY+FoDo2:܇#U2]|PJ)r\&/BiHZt]}^;CgВ$CChF_6CՄN%B ;N$¹wwMeYK8W*kl5Y]ݕE͖8#NcCA-!lhB*`l Dhk zMA.z$bQlǥV BQB B8} IDAT"(V4-(ZKR0 *ϕdg V\p8D4CJQ'Ӟ8q&]Qi֪@^N&o)BxѤrx8ǡ^JMUI7^ctdb@բըcݝV$Ze;D!TMU// hpfI0Ƕ(Wj>W3xus+ /!H0^b/kc[d{ctb!V)mFbs uȄE! S<+ʾs2y'Mx7o7(ܾ}3뭝ΝIeey!_ RDY+1->}]i'37xy¡ zD٥Up1_H:\pE}y.\8̢F1x+>3ܾsקJDAu? +Ӯ[2*y]Ucdx52 F=Fh6 TI2hd{_XDQ40^;ۋ)b-"ݕnfܾ3/,$1:iRTڇE&pU"+9o"Fqm$ʰt`+gLLL?0ݩiDe[ SV~:dP8͛[#@X\ GM8HR(ȯFc>un޼jro'!JaY&pVkЛ\WVQ}[. g]CQ n$)<bt॥%vre>Tn8IQoG~ ss2GO 4,C{缣sVNaQ!R>$'H$D063~\ɍ$߷n CwϪ}b, uoWnlz`+ l)EJP m=胲FitGG/>>{_||0a|㳇g =/>>{_||0a|㳇g =/>>{_||0a|㳇g =/>>{_||0a|㳇g =/>>{_||0a|㳇g =/>>{_||0a|㳇g =/>>{_||0a|㳇g =/>>{_||0a|㳇g =/>>{_||0a|㳇Ѷ+KA,lab]}v)%B!{I4M #čOZ=Hf4ju)mcv|M7p]J!q|X86h۷3`_ X*pFLZEU>}v|E( }-]׿T+eB>,{˯/9oWt]CصmId T>c|jlQ~+_&lf#)mɇg$ t2{ H2{!- M{H)wܿEc.5^֨`Y&P# +hZP,Ay5{.V 9¡ ._RI={Zj.G<'2MʼnDcjضETU+KJ"1[&d$A#H jSDzLBAb׋B|||>Ji7pR5*eSΤ!X+7SimZ=h87o0 \)z"0ZCS CRJ>iD1zP 4+5.=}=j.k?x>>",X_eҚgZZZ&#TET qX]]%NS(HcDq4BRO/%Eljv%BH)qVZH 0`~:夔gh+]TEqܝ;|>yH>nz+YY[ܨN:Xx^6UU@m؎"H$ܹymw{Zj8i#IOlSN6\h)糗Puw?#DؖzpUըTJ^CVIJ6Wk @]( ms$j/LOJ&uqŰ,F BJ!"\MSQTUŶ2K) Eb4U4MCeY1Z$(^\m۝^rؚẮ'pRh:zSX6053q/䱑;ATsw»?}5^?)bp(Vy\p qmS^3iz>ܹ{я (SGqnjO^9et% vq_kY ޱu]g֭ITUE<H8epx8ˎ?>o /(.st7^OLl"J~Y-Τ7L߾E"(\|hb/dzcvax@gobn4o-dan?'O牄 ]L4.2=æc~ lr$V>>86c\~Lh,ys )%ýL!H F o;RJFNQ^ˑdTr)zl:r[7oqAG Wx(x4=eSA(*p v: ӸC*7~ױ6]|y fE" bc$QH{<#l"x$E8.qL ^Wo1a@PՈDI! Ny0,-3IO8 23L333c)FӪN泗5#/2P4i6hF${;YbTM>ڍ~zN<P(H$h[F>ZmMMwFat`l6PMӼ u2jF<u]Rggo.T*Օ駞GJIQ#`2UU۳n Wrtuu qɤS0넓 UhPB,odS.Rd28KQDZ[4e{J+KD TXm( q%Z5K_*jR\}ܸud2A&\pf6gb\.S(:@aua`&rd"No `pd ޞ$οG2cwA,q[Ca}9`h4F_~9.Oqݷus緬˶mnݺ00X7~a}jls'Nx JW khYTJz{{u5׿+zBהRJ\09W&A9N4wF0( ?D\da2l&}::PAnL+_gAW۷oHd}|>ll͡n.^Zf|ß|^R,`aCP/)Q-0`֤IjM/c}}9ˇP(+6ضm4wo](dY,21=1􌊁@ӈ޼6`;|긿[HD@n3"`=p{? q|yP$8c[/L6RJVrSTE҃c]="K  DG(n6M;U 3s$al%CnQ{B/5)?&+ݺu )=O<@Zś8~}T*UN:Z>ǵ77:t]TעTcp!.]< dQ-f._`bL2BieU]2r>&Y`lWBaV#a~n J$xGe6R4es<7ܞ͋w8x4ϝQ02G+qe~f٢Zoi:djҥ鬿m{786Y[[Xm;``+w},--34@ZEQu!c@Y)IR)q\)lkHq6EB!7aևG){v2d{,%*#cB`t`> `#P`qRvOh6ܼyLXbn.$~s"\>>Tv`8~8Zk.l54cN xة+ˤ2֎(Bܾ}X,F&A 7(Tku ]CY (hmۘ(~' @UM)%HSD=v`ttch9Í'փVFUM<Į jiA"jBU $c#Px`!ir9lkI8ߺu'Ol6XXFU $HS,hjC]gyiRw9|`ӲH'5B blRHfuxh.ϣ!>O2u kDYB!z{U\vcGS׉#fTW_|>1g4f' MAY)Pͫ݇IWW/_FLI%@*`h 癜jZ|/19yĢA&whFZg>`8F?}`8Da~ܬery~[=OXF`0$I&&&h4ܽ;IBU?A`)ܹv~=+;#(u`0x'Oࣸ?joll]QQTF|TK>^wsRkL%Jsq4͛)T&Hc_^^&qرNB0??@xB2s5j%<5tL.^;(s3wpEl7Ν_~.N%|a4zضMRRϜO*b []k[h-^wv.S)O1ys=g?oGa6W\A4J>`MQOq"޸F'K~yqu(|mJK i*5FG[7C[[| _ٳKynܙAJ8pp&x_yD= ajUPBJ}uE3&HL,_z8V\toOJդ;PU>k[B`Y?6>e*`PQ[ޭ0)/0F ٟ2M( N74*Z\*(ޟS5) 8$}}ܞ'_+rJZRpNZ#]s`%)~~=0 X5WL<+=i\L/RnܸK /(Ttu1/Ϯ3>>NVjJ2C9\* l/`]hLVWs86mض5- ӔJEs ^(rG˯"KnylgGF;o/,?y"#*y7-Hh{C|} h\[[l( s%IB@WI{1mDPU!ӳ P7te LSi4 @i s{.b9.Z4@`"K4mtMvl“MQ0p]*.j:D1, >JHa5lX,HP@NP't-qofM]To  Rt2Z%i:t]Ӱ,7_>p{ms${- ۬2:g~/Tydd߾Eٴ`7RWݙ K 7>E6<<؃8 @p75~wLUUPU` ׼kؐ,3nLiZ]i% :UgwEm홞Ei>qxtỶP0{ctқʾ#<^ 8LԳViVN](t[tU:V3QH);K|ih46:l@Upܸj^h]t]D637~֦>{`0H0UÕ.H7, #@[~؝F s[nb|BxI$3Ѱm9,&5[ح*DWS<~mUjerm{G..Ȉ^f(nBbxi1::|P(Lw&#%qxN<jORR)W g7PxՁ|>+ߣ'K(dia@ ,i:j10˺Z]P+WXɭP5P=9FƷq~2Hq/F_5 j&ұ#a#Գ!Ht48V A|ܙa^hU}GXs;Aq{@L@K8ܙ=2 b!OO8x/^;JwW)`d0ʁn/s!G8333ge=pr_  "~kWUtVcXZZYbbF4zzzplzi`>hvdEp4M4M{lk=鉴y?>l}? 6F5nܺЕ"}kݘoP;i`Re'||Ty.ms gΜ^s[?99'ak^355Ew&MH.RH$#!eOAJOٓB!tG0<ԋe Q(ArEFF^Sʫ T-5E u]ܝP*o}~l6KnyK%'Oos>>Nv]^y"o&S@ei 4MGh:F@2:6F;J:6t7BFzQf?>Ε+0[&tSaāD(C|| o`q1_F|^2MνSb󳳻hq@\w^'JǾ@#_/>VEA5 =47O(eٴ}UTU\.s^wok 7n ^tlPUUZ~۶)+\>#hKt PTkܙ^di9,ʢǏgzzx"An.C##Dvc űm"OY+#.^8+O7CUU Hhs8Mཱ gyy!nMޥQ-TUmp#YT$U8]144ݩ)4U){{8vH'(‡#B'/ƇG+yUo7Š6zطm[(Bf%XKbvו>+NR)^-uXAf0JvP0/ MA[} nVUw}қ)w!p\gCzS{K۶@mQ qX:ypt;ܻt]M@ZeX{.vȆ  3(뙟f>uU=oXE*0lw!՛8R)]H'{]맰ȝ^Z.O$X\X$ ;ۋ8Q+v ì1[Mjdee}}DiVVu8@9tdW( v )(Oi,t]Cs]aDJ֕42Mñs~RJ,BS5WqO?}Z43CE0Aξ.mFo& D*V%x,/y:+5VyU\/Dei\ꔊE'S-rwy M5ױxmqlW<|HYS]Qsuz)p-J/}ضX-?d* 2 SVClLq橧̷og̳b>q&w%Ka)UNEhB!Pyw6ZW`|bHb0<ԇj'~^ [BѪVطoU`||u7 kkutUo8i,-E</`7öLy.xp$O $ d> ǘNnp4~nLQa2K`p:=W$cV~toncYs"hP,RO{id:%.fYKIrY& ?>O\].#n"D#+e.Li>]|6dm"Չ$"%M X9m+TUrenߺJC.9V0QHE|ǁDloc9: /i7}b)%f)!9pd2#S|r4A5l/-j*rt΍o2ME62F%[L̍^Ge繜 pl M4P UT2Z\pKY2R~-RE쓛ibzD`S[ 4<ĭ^0(8`^jUTjؖy!M5Ue<~򔫫!Ȉ"@44!X,2FORt×l9f1`I(8Մ e THUU$~0o lkLwHPE撬(HQ9猢iB!B!9dV|B!B!BsW!B!B!ĹKB!B!Bc6#B!B!8h R'7B!B!%B!B!BcB!B!B!B!B!B! 2iv{8AƱ dѣ=zlHQF4l@B|LnNzq{ۭhF]L|:^(LtB!B!yko=z+yE7ؠ\B=џ5B9 ҫ[[q$:wF@@EQxq/do"HK.b܍79qq<ؓDGGw֭[318Mcƴ|U4v5_\L-Qk>qn9,,6 ͎@td41QϖmQFZlATDjB!R{vd5ג {v_c6ܢ|8RUR{giب!׍EΝ;Ytҙ˗ӱS6oFuҿӧ__b `Ɨ3䍗՜8t8xM0Fc2xчiމ)LԶT4i[pljR ngtrr쾲`2Ir$FeZnn.{!,4f͒ 0c8 n{9fa9};0 !B!D>|m. 5<%\oo@HHpsmFy;;Uz7_-*-韱q&zg2"ZnŦ[Թ#+/w^[! f0uTf#xᇹlg|9fbb4@kS_aîY3Yb׍atWMرgש_ p8*\ ڤc-Y ngML]Nz_Ep::͛ҾA^]۳/yt Ʉfb)Fp:w`_fyGB!BQ#Ҩq3bӳw_l"_YԨq3:HAA~39?5 ɃdбIZ NAD~iiiXYn-va-߇ŋСSGVX͵%66 ""#}5S*%#n"g,V+"$8V@AGԙ( *L5 zw@ppl~˭Nߏ9cO+/1jDGҾm'zi._I&fzl@Mj4=4McޝM%=}̖GBQh+4Nڤ#mvAjr߯=~Z&6&Mp:(:tOɨ<8t0N'ɓ9 zt:=&뺠*Ũ )_UX!B!t:\(D꟢}^;xSé(f1Fl*p:hFƍiѼ9 b 8c3InN3h"#"٭!!z9998uj,NaqM5g4 '((x}Nz[}Nc7iBT V{wikIϧѦu[ Ç w'3|p i;xOyW7&yaV+27~Cf~ 񾚩3FS'w'} JJtv? V>o4M#yDZc[N~sNfӶMG~nCQbcI۱WV^]9s2w Ev8þ(,bObbCX,spkMB!Bߴ"8rWU??~AAǙݟUb+SESM ؽg/N};T+00F^^VłkVۖ[YbPWmXB\"1Q8]҉"<$N̫+ΠC4 UUk8Nw~(Nc%8*p8*j NѕmQ@Ɔq8Nn~ F^ /bg3hԨ11rUkNq8n^>}]|5U'vݍduj[WO̳t¤(N'iJ'k&`l7lsjZVh4b|e֞(|'l۶ܛ]&pW<2ٌ y^]4[63d%l6v5VQXP@B{$7od4kڜwsB!BDsUsO?~Piq&PlO2É@4Ndpsr~.Qejp(՞nfaw  FF#FȈ(l/;;E'..={0_V]ü9%??M[6 l|DfıǸp>m?:bVWTE44UŨ(v=oN;'С]G~[n5 Tt:N6;oM`0cv)?EQ f'_p@({s2Ȉh yy'1ذi=z!{\ %"< zƏB!#RpXwiΛ?޿ 8,SM sW9s뙳cnbFxʸǯF|34Éf0E)+(F4tugv^EG=[h/#&*lrNpA'7/N`@ iԌMQ_Eee(`Xаmp:hҤz בAV(nt:]3O(hDʤՈRUsgE{3}nE4tNeSQ/Lbҥ+!!ڳ=}5Sŵwۦ{L FE,NTUEu:QU4Ҟ|ěo"4$5n~pTyj6A U'T=7^ϔC1;U[x_pppK[ՅGӁN'DYY tA|k1hsT5M4V3uB!/]]9=΅wR!L-y̦,ۼyhْ 7ж]rN cGMyr2wl'>,,O\@U-;E9zQPP+ qƄ~oqN'6 W`4Qt2i5QuOy~y`#22fM7Y:v`-<^j{ hA\?EA Oa44N'NU,'bMIuڋ\UO=gSPw(ݞhh2r[  ִ  獷^j׿p(;vf9xIII{=y*8 B!8/+t5."yj%jacp42N- Rڱc!M<IM;74QiY!Q,}& k3h9[x;G(Y Qfvf#'đyGhٲ%+W}v̟?Ν;?жmVXImضm ̆ ݻ7v$++ĸfdtm䯩cPPO`P _4Cr*&ѤQc"#+6d^gvZa4Н ȹj|{UꪽV]K.$,$͟KF(((b0[h<}iܒY'p:]3W<swTL@WӉ}늋-hgze^x94unhFq́pIX:omֿr׵_]=`)Zn@lt ׍]I B!BQ7M,hbOsXEWrNw/_~]id39Gyv~̍?)7pxUu'_N@C&Ah5*[ն?\=ng&ADLBtQMD 60bBI E)P}U]F\l,9dz-m;I͛xb:uܹsڭ+KdÆ 4Mjƍ&1bcc|5uZ&,ŖS7-<8*II\y5lں'kOh:sP,qtz #zޓVS۫*Wv+7:L!7?Ll2 /3I( XmVݏ|1s6hfTMe+p羚3TKnt8pnrtvN'%bvjgpp0#88sW3s?, 2q7?5%(5px֦VW :Á4 ޵P!B!΄}~/Si_9!&1|_=q~4S7mT-|8kwϲn߼p}K;FDWxk#}Le3*\yqm9BDh ۷N-]+0.#6&>| z*ڵkǂٳ?#=zt?ҹK'l̀شa#ݻwgΝ8FllN ZUL&3:E},]ҤqR3ͮVN>f3g ޠ̤rD wӭx'bٻ [f c<Ovv686Cއ^#<<C݅x񵷸s-5酣d9_ˀKts KϚb9kgXxOk0LUuR\%s=I^^.  *ٗ/((ӎi|TUem=}>ճĶ6 f͊^ p üX,]{҉e`DEEz-#B!X }Myjz\<2i3ۡszEZ\HF&֗۩b~FXkhb-.Z֭q5b&Ԧx? ϕ8 1=+\DZ 2a6 0/(d;vQQ vѵK-_NΝ`ftލӱsG6oB޽غu)R>AL?3bAQtc&dFN, s` v[}mv́mvz'NS+ߞԼ(vpvFÉ^c-[p:o׳f`Y9px?1?tLֆqp+ ([elp`7^8N2|ݨ|\pp:) 핦( zspD{^P_~|̈W{iBp`0ypi۶;͛&UYt?ҧg.z%q,#B!x˸B N}^I Obü kYiχ'Ӹ. Տ._;w1| d_IMTşqm=]XUU l6,+-N@D@MU=i_zw6mHjj ˖-kά\ݺquhˎihmHL}`Ӻ`Ipd4ӡwXr)W_y }zFAU\mf) &kR*t:5#6?^۫*W:uk|5k&ws'_͚^_8y2NOÆ 9]8~,V+?3gۓˇjN6R/>KK=T&6LgBڬ~[T cz 4UR=JW0o`ɛ2z:}V8~ O9p0GX*B!e?J{ytXI{x+fݟ^p;|*]c#f/(SEqmUY=_7˖3oQ\]ouF7\vf{ROk(`9b(**&((W54 =hب1Kz-ttԁ‚Bڶka'%5ЬyS p:mV+&'R X,#!a_e+2|p ̵盳gy<߇I{퍒;NyS>|mZ`00|p&Ç `00|0sn} |BL\{5o6T!(ytЙUkVb vFܵq:|[5+}DI@@ РP^tIe),,l,sS xN]WXX/TP.X!XRwMګ+{e=:9q^=z: i;Ab"_{aaa>zu0=_!B!E3TxN%dA9uJ`*/K^nVO)Yo Eż+U+q.qz50( Lv'#z7`ʧEu:Fnd"(8^;'ϛ _Pj3`L&dn.`XP5  #>.drjg=4OJ"0fȚStO?xxCvZຩSkjB46W24eΚa&ns3Nèz y{z RZRTT}ьLrsDEEF`w(B=k2XFn݉=$(k~'Mk`񒅄1}A&q&zfMFVXNML`PAf_M !B!Dzٖ^_NgtOsεPfc aM-$%5'q6>Ȧ:EFf&E\\ 14ne?L&Mlp&L99vFa0yɧ$;'JӦM$..hL&'S~`Mǚ*,,bZ$%̚:]5UU թ0t%d.v`0WtumYa>rlF}LjY,B!B!D}&@!B!B!1 !B!BQIP!B!BzLB!B!BcB!B!B!B!_@kV|B!B!BW&"'{WM ~;|6}e)22_i%,c Nk>A^ !BZ }v9}˺FBQ]r]8 _Eqn_:Ms/"*Bc{*vFM|'+8,^'ofMj8ws~|Mٺt6_Oj\=g9uUup>ci~BS;FqS0vR<\|p4pzc$;-/*H"##]B,R>؋*Zƚmקl5+9oOyY7c,-^Y8f3NUUQUÁnfaٰZ<2}U)f8Ē/_M!Έ]Iߵ975_\I?bru.:ӞiZwm[,iyi҆K;緻/i;IOjٚ3nډ6߫3` WqyiՖv%g[?}r+cu"% tn AqH6k%ך_ˈNHNiSyɦ)72KGRR0KG6MZ(UNk<==۷i*iSpAN4Oi˚< "B 7⋱e+%u:X0wW|y{zvm\׵#;U6<iຮi۪-́9Orϊq + ?YǻFRsv/GQn.֨ V9Vw΋O^Z_ f|~u[#@ =lBK">$V14歁-lTW٬>oϕ|sm@^!@еy rՙ[kj>RMy˳ᚿٜ^o|x{pWOYg',S^֮ux˹,{K N^+n!׹?mKB_pȣrGc Y'?Õ89Voۂ)g+VWrDݛdZ,[Oƿ擞cV3")d̓9E?kk;?:tpOrts9ԉWg⧿0'¸5c|/{_exOrӌE,ݺ>^ώ]O9.q+-9}9;pV] o\^LҼ㕪hLc-ݰ,^8gѴWdo?2v^"g~V<` #*O)s5[ٽ|[@0NXB+1Ģٶ2]c[gqحu$ᛆ˟<|;vbL>k<(f999[+Y~8GWy*6Ceu4FξU6N ?!oŒ<;?}|=xD )~ 4w)F!}B~zq'[k4WEu1!-x5=5k\AQs29>xl -$ =9cjEz_$(fE-X8A}? 9g0)|YD]y꺑gQ p @S5J3ܝPڞ##!G%:.Sḥd\t^ ߆Uذi+WeԊ/F='y?c,z{m{#_&pd+'@![QNjSfe$nGT1AK;e 5&]f~/N!TG'wWQR!6ʛ?94g.sg<ţ&x+V)Sp EYe]/6fr9sLK\Qv6ƥ\(44g! }@ޗWYұP/xnd :9 dgG >'&yt?GU?*Ѡ5NMcQY|? eg:SlNNUW9.S]V|G\W]'ʤז?W&(ރÒ&p%w8FWi+pX(N w>~==~WR!~V|Ǫ43H› SO4<: D9}[vk6vK&~KrYtTVFT{E>g=y_ޟA`P=c^s_%/EHx)(|_EJ/>rocܺOϰox+|ಉSЛж w2sx*s7dq؛ pg#Mo.k /x7'?]e/Sb~t󔶴h7CfQ\8e>|R[Xyt?GU?*;魏n6c}7*=twM62UB|^!_]*uݧ:g71ܵU/Dw)8|s;t't.\QR6$荢Fyn/d&H]魈wU=zS<䚛䩎 2z94򍍬{ l0Gw}˱b߂v>tHرɬ u=6l ''/O>5B!(o9Ixҍ<- !h#6ڝ+u">>x_لB!D5-c,B!8֥](˯{dDwE +B!B!,W "q,B!B!B@!B!B!ĹGB!B!BcB!B!S4M|eNfepըٰa999>Jrss}eB!D=+B!Y*c/لS r!B!B3H !B!BQIP!B!BzLB!B!BcixWٞWV!B! GE*(+SY/FTB$(K;vhB}=/dǎ4_ENf͚"a9)+BRyH rrrɩ4mg0aM*Swa#ܾ xݯK?dOuLxS>A:Bl!j !5;v2v 4▱}т,:B!_yt 15țG_+}lj-q;\^II///BeΜ9u]q^w}7*3Mh4,<2O.Bhԡ](_'OEX>(ˉmLKN)tLﴽ~G59r:𓧘[؍']əI=,1tK Ru_K?GMQey=AFv? ox-#y֨ /h3wu<)Q^_Wq;w.o|{2ydyyΝѣG}UY#Gr!sOfu'?m; Jq 3‘ IDAT9-fLېq%ַdL^{$dV2!p' PS}'=9vkx$W̵H #(|YeC'>.o^y_|t"mGxإ,v2B!jǽI\3*x}9C:ɟi}>ZV9ά#I}'ݚh5}Z-k:͗{S{Di96B|+pݱ";VĬ|ߺ#vp_;s-l.LW4Wk,7ŧHCd9~=LeTӶTINQSNQNٻ&7@h)vAx*;lw{;*b9{?{ϊ( @JH~p$lP73I63 3jiP($!!RRDPO\\qqqƪc>&+k.k.3~րq,j47eQ|?YxD*e4'F'T*5.ZAkzkunQRއ{VC\tvv&pewZ(LY/-l>JEۼR _'^Ó(ʡ jOrnRo,L#ϗO,I,oGA\W Q:C]u˒3_r>n8;;ʇ Q(>{.(1Ov?2%~Y.hW[&䳔zh=\z._y?ur&ȊSϧԷCMP ̜ÇEJXl#]nK-GrdkYg)gXa: 7r┝vY嚛3JE8:5=ֱ JEVk'vYj\ҎΉmv, ;%.᚛wA1GXT0coǬjJYoɠw^&07eUϊ z.w|0ݲ̄rm 飦S_X(`)gFq; 'Snϓc_̭m|"1bTyZxr!'YÞtUZnگ?Euh7ė/aTj-0A+9 +dњ e 'zg;V4u#!*6w(CAG{㙕i<y2'Mmz\OSwGZbcfBUs$SZbʯ[|%bNAiF7_ɔ_2' T)[wn#$D7KXX:S$,ΫL\|b-U-T2III1*=l}<b}߳'l߱ wlٳ'$ j੫oP=UVk'Yulݵ }Pnruw޽z3g|Y3hӗr}ͩ=;e~V?.Z#]UuIzW^,ykoV.|t5-}"UdEsd/ ݴnA~;[7V[3z@6f{s?gLd}U ,|pNScakZ-2zu|Jx3gq1%3(WX nzcjPƽ@ʹ)^+PxsjY[onJnqr^3E*Zgԏ^;C~F';Vu خb^=|/?ԥ*!3Q*^Y3m0=/0OXaC._2~0bsTA]Ofh^4vSe-9=E7-}_ _lZOo;_" 2PCC_q^*TM28xOFllInp'w,& ؀%Jœx +DXւ\:=Re*>xK"Z=eEy@QG"{G+Aϑɓp-bYy b^(U ,eP.qǒ}ɿq16n9O>fӖC9dW6mӧ\O7qȐ<քFDZd#,C93rsD-S:Rڌ2f¹[Otj B!+9'bO62~o]MLdNПX GuBVrhH3:wAaŪtAnQJwR+[ rI]>uzf9Ka 0̳0m9s.svq'Z3t(9obuUS'qv7={dѢ"T,Y>ñRKjM0`ܑb 퍻9Lew_sVL큫"VrVLҭGꯝԅ)BFs2ʘΓq |eǮkNVBn`ha[Mff~%U<|m v\V;fA[mKL_8[,uN{9+~SD|%H_.xx~%'I>N6?u|*5-g9;gTb4knfOmanʚ1mXR|C֓Vre0c0жt!VM򦰕W+9+0Ejh&}|K [2Z0fvs_J` ޝͨMRҦ 2L(iӄܦeSKho1zثGj=Up:eɹGD@3Wu{QaMГ5Z{jOƕ,[S#hlKx * * 6dB~ _Z{%Bt?S-Z3gO;w6gΞhbԭ37޽DDD`a}9CDLzk'y[wM˙\k !p˭7 O^i'sen oɫ( Լ"{Nz  s8w=Qu{m`d7Y5vz}7b{9Aܙ3O _y}eϠmTɥ\3d!6Js$. S'y!6ՏV?#7WTY.!"'$S&'vrY 9 v%Ÿ n_r2}0m!4)r[r|L)ޝtL?Eo6Us;7GI4LWxziIL2}ƴLrZLY3ewɝsZUR6ND<̍HmoB4w~s3%c _lZvneyyI+9 а13>U}A(t&wJF?%YuGVěź%St9Y2 cOb["e' @iA!N{$"[߻!6dWp 1c$CR_T3^ 4"E=;wwB ݻ}z)V;ރ1nn&! qxݛ3dVlC5tf(o#/S4sͤg9P|d8<뷑&)kV-+&uW?҉ и+#sr~0g(KFו^6KOBd+5*qSꥼ)GZvȩQ%'>2ˆk: m݊2ѼKg^?C1N&_GWqp; ;:lHQPD]cԑ_TqS_gTr-'F{1vYGkO޺VI<S8ґfՊlJiG^D'&O\Gsv F,Ň(>ahmzyc 51G|>? C>.K]*o29 q{ת2 Ӽp'g \Eۣ!!.[ss~#K*ㄴT!?/y{cꓧLuLCգ)1o*WY[ ˽uev(>&>&?VJ5vbѨvmǷ1fu&}|־7 /pznŖ.ĿڔĽqRYfJ5V߇|x5+TnJ fҮS%D2})Sk&i a@L3ё8uNՆTk2gB\93xPuYflo&= `J< rY|eB)L*) @}*ULW7 ךҬZi ҕ gQ1$i<"'TLoƙ83z`qUk Gi-1F٘$^ ԩ3mFte 9J񞽉j]8f֥!ڪ~ !>LF i1x||L$zbY̬KQsRث\ X,dwMɃͫk:1ζ+iO\}M[ Rlo@F6vŠY'O3G,3W#wl;_ ڻ0O lYkal[)L0v~*I)A{PsN9'Ś(=/kZYҭ s | Y3gѧ0flXE&~_ɔχE5Vrk wGK6\?ByQ| q7;7CkOʞmSOX ?Ƶ0$7w3ŷYFGc;;9Ȋxk5Ŧ:?4;eo.oa6XftCe h~!kȰpkn 7Фyk^s$k0geeň#֭e˖۞Μ=M@= &߾}R%ϥܗl^/ 2f^(Ϫ{:׾FZ-Xw,iUKqmUX[|,TM5uĮrߦ$Fދcd(2\,^*KLDTɕ'(^%b(7FVrTVTZJHrýt"i@߹Kyty5x$D|8*׶eoP.6?AAb,tChȟyRT Y8~}+5h<}^3Yn>pi/(ި+bPA}D]vo>@bnݺʕ2e5Ʒ0KIZ ^´_6i6gCxCCپ1w8;;c[BbwAt=4\ IE `n("8nN6/-V0) !~o$~H*9ϟL&#GnZ @AA"(HwAI|TqRaItROAAA`JAAAAAMᾂ   NT  |CAAA4s 7>+sAA~tR  .qOrAAAAA     4C?q     PAAAA~`"(gݾss-PAAA&ȊxRSqh @iO*rLٞ<=}Hw`؟(eAH Iwôjњ#Gs*_IRb /2AMF}THgٞj֞Si}9ocTy?Gl~ui38+gD94bG%ݻw8t u$gthבCG~Ivt(_k=V֟  4oUzam)k2oʯDҵ\~o -{d?6q(DsAJv!$$( MM[>' ;3$y̜wސ! udŪ.쪳IL̐'3C&3%. ʛuKbg~Sf2d2/v3\~/%_m)bX3Q }~*dtyt vYƬϊv&]Β'(G3ƺgodCS}rС*dLdEb͑3S(^oD#:Y0T&*'/noI> Jf<3:T|z+A1&/^|[c\R\FI?4a iAզqzO?28HӕJ2t*)j&2w^j6Ũ&]WjЉP趚}ۧz$ƙfDndBEd}:]SCi6nsdLYpի?|.uؤ!VqyjO|.f41+6y]vvY E*>=֕ ?$ۋ}ϟ З)rSƔ'q*|)>/6ibQ7>$s-vvZΞm_Bx;k)xN |H5'ӠNdyMU&|C娚QN`og-U[Hoi/GӒP:!idkk+""!KKKP*(J Gll1JB_j2]ɿ]w䔟]w,4334^6m+(92y{`[;;#!>B],+5 KܛG ܲ:u+?y{ã\OL.-:%|֝)M12[pkn[3zfޘ~ܛ nTXO=p*C~2eB$g racQ(=>.ۓ ZtYy!JAK YPOfodtчܮ9d23aK7>a[152 Yp96]y.$c\ߗZ6m \WO (aeʁXwz٫ XT<#,Lpkv~ Ϲ?GY>zY*ۓl%|XohurCۘ .Yon]GO,ݺɳo_TKuzHK?}7;\7gjdce؎ /6 ]]9xOK`MLQCϖ 첵F6+ֳuUy?ӎjIuYkR'r"Uesah\9^?Gc<ɆIˌ<{!tm7T,S&Dq~XQgyJħ׺ 9 [e8ַqR/o~5O-,C冶1Am/ϛ.޴]]&9H۱{7^A lX\*,YsRR]NܹyO{(/I'ٲt--K0M1@3?`rv\z9Kf$އE9\Ljcũ49жm1 =v}XtlܺӸb/-*XsɔR&߾{9N򅾰O}=h윝vȊ 9]^=ҫɁ[8s AGv\GӗKOifc6mLm:q- @עæ-y1r¾msBʳg?]e/*ZefYr@Gщb#'e] WrdBM*'[vVX9E-5ތuTFv>et6Xo}} 8XMβ0=> y*ȹ3]]6g?lMYO~{oin&4aZ,{K]`M AQK,M<,|RWY<a(bX|"FVaZb%cvLtz"gˤIf2йH7KFbxʢiX.U7dmMvk]]^"1ex&zf*2‹&2eZsrCۘ ߶jPZNfS+-ʱ;RAH;{7^X[j-KA'fywJOGlWq̙`⣂񝹖&Mj]?t[pu3ZO tJ=?v`Y{x+,J'5X\[|}qI+S!mca!}̱Zۋ i{u;1R0g8;|Y3޽ǎ۩_!E\݃J+T~zk@XXj&9j9# py^Ea(oS&ͦgoF$oFe1 ƿBvگ쳍e/by85}/hEg_CiEތ]M WGr{6 e sk$C\2mx:Fed,95RKc2ڮ7|h݁Kÿs뽄'`vJ]1f0rZ' R6+A.ݻ<[WE{[dűD=^zR^ +o126*&-鹮cfgG;br[.Unhۖ|1>]j?sc޿}OKbK䫗dq̦^o޳JWv8>RAzƶ*NPe l.,oZ\ÀxN{3~ yM #vl m]RR^hKC۶1ǰ>UHkGs3Ԩ;^#tIK&ѷԛ!!AAx+ɞ-'W_!s.T33c?u;*B68?K7""q#l쫯JP-+lܦ:ظ: qQ(Mle 'f;'0jvڮ?y'U7lR{A_ޗ*2:.vMw sng“n9~޿>ƍQĵۧ?sgSbe+G&..F jt9oy^zfvF&o2m+U{V򘛠2s>W,s t O&^{HKLNdqt$<1yS˘ՎO'qdW\yx$U)}Zt' {*)UK/*D&3 cK cſ߿#oa8HD% )Yl*Kڸ^IȬF,N|M.ccdlnŧ:75̧uU,܉=%CA]*7 ޿}/ KT wM6RZ[]gb@"0\Ͳe&l1+! 4ZG/hՌ:cK}].u-U>žX3qZ}1 |9vRVcV`x?wpTTJx2W/)V;;=-G36uJdLשʓuP*=Ǚa\ }A3JnכXzY3m0=/0OXaCKfBl#vji9NNA?ww|CPtA}qr~7l.m-עS|})$(֚Vgp' b?R蛔XxOԫ0ޫB5θ}F!22e<]Ty zx"LQ'fO]"&E3fL^D_\LN~1nZ&pk"L$:M;Ő~ .w)ɕ Qƿ!! 'P ];r%=dn'; 1Ęќ]겼H>D\e<я80N%sJR鱮R݋c8D3_ QC>&Ћ.՗}Eg/|fnUri oM CҴ4GkKs`!9>m8t z7Atr,|=v.)鱮t)Q=lM ?znXW^JB[k `<~ mc |co"C~p{}hF$N⢟ 76 nfvLͳ`ߋUK<ҏ}%(1ϐO7uqTAq`05Bp"Y>{mQr>Uqla!7tHϤ%2\Ytl߅g/B026y-NT2-T W1L O8l7y=˘nɔ݅'wΩGDD6ND<ܑ1TmB#)b K Zs 75%::333177KKKȐ!VVVDFF"7506  *|a[MFF|#|.fJRUAAǰ | 06gN"s\dwT*Zd- 3E^f)"##Sزz 9>?Ѻ6]40Y=2d,3{zNDW,ގKףR)7\6?Cai.`QV-QF4'75GNdXq5mX=*L&w&\^  ·U &w"iVokW8x5nzB?KxMčN(B0.Iưvfź]Lw^Yҭ s T4zcPSp"bi׀{IJ>5:geSCLsPc*8'X+gQ9ܺ +Pw\~ B_O&%CL9/gsN ~lb  X1 2sΙ3 S۫.fffBAhb@AAciAد }E     |'&AAAO z ߈     P2>umR!  2gN  |      DPAAAA~`"(    ?0AAAAH YbƬܾsK*TAA ԔQ29(ÁjJʟglT˝#~Z_7*mVAO"('ݽ{#GӪEk=ݻw?gggSht-ëq$[I GmTG ""eO[@a{ƒ{rWaTy!i:A!sub^^/#,shĶ!J$wpA:HΜЮ#Ivn5 w&7{ƏP*H ?|7A̱>13ugF_N Nt̵]Ӡ.Y3D2PH _ݻѣzɮ]3(y̜w`ffnTٙ~B{sB)ƾ^CqwoǮb#.kVJp`yļ>v**~\day`TyV<:'Vc\b_T9ۈ/-! 'z9;9?5 ~sTtqۗ5&}|"dcْe)&jenb/~w L6d3@t찝hJ]"(|ucƌ`gܹ2qDGhhT:L= aM< 1: x5K#N\>O5R-֛ z|:t~ܾLjs7xps^e{l3Ӧζ5{ FXwwXvKbhG{;f}/d̽t._׭1%Z>$KOj`?|[(7#iX .˓䏳Vl uc(j&[3zor ]x` 7'X.ǯ^n˝3 ?_>%7yRxt {VCs$?z/JEۼR _'6;;;ʇ Q(>{.hwՔ 5K~ֶHBJК^Z0E]3hr}H4dm~q7zn0[+\,1HV 6fT]~e#)vruWz{~b.}5>Z/ă> IDATɒ{DP\ ._>a-rYY={.=Vؼ:QZNIk9wdzK)-[Xέ㴖4V#WүUsx4dpSNn¯84ɓB'0s<*âAZJbɲx{wMU')v|PzYɵ٭ e G5TwI;JP|,SחWpږL\6ÍY?imwrnPDh+Pέ!QQoΟ);57o˕pu(k6{\ٳc w֖k'vYj\ҎΉmv, ;%.᚛wA1GXT0coǬj.〓)f&\˥wydtl}1W"Μ9sۧxHEcnŨr"$/BNг=;uX?浦_Nn/_S7.2[`."VrVƃN ##vhFB3U7lPxƕ9'){~JmۖRuiVf1ۗu&}|gSҔ~s3@The}cw8xN9f\̓u\5IMŴzu.eJTOC|]ReԱ̖5a?ws6=j'U[@)ɥ{xݟH'4g41mܹǚ>,7Vgl.3 獷?jr}΍}IBO̦ViT{{^&Tn)WЅuV@3Vx}(Pr0W0M\.3s0o'O_ZrYF#</VktU)-M@u<؛xwna:SVc>i'm(2e|nZzRaT/ȼطFk.|RI{eV%UY 3m\ﱿw{s%x=KD:/HӉbz/_ʒo;zlؾjV̶U+ز= M- {~+5qmYiz :\iu4#y̽0l-U돠aW\O\a_t󞠎/Pio0.tŏ@Ҫ$k9&EodF8GNmdxN:6LPC-NkFҿ2$ΐߵIvU]&w4k5)G36uJdL:cLL5 0;w˗̄Fx!=UPӨڶTY v?z{Ot@Kc/M֣R˿R$sKaAxԜs{(B@X'yJHYd Oxx駟$MnT wX/ K슂Ʈb,IlQc[KbFPĎ"( 9wݽ?]/{DT0y}ygvw2;K"Snn.eggϧLJOOl w-O]픐OBbcchX%&21-_bccH ((Z~ |Lg ՚>ĥdJoTbW-[M|ʃAr2Rץ|+(u4!U>&=͊.ܤʲ%%<$KގTbffϒgfeږ8|>%k[ ќRXbʵJmQU_}NZU{MZJӲgS7:|屭ՀN&k-ѵNJ×w]#_ڎs⨅=3Se&SZt[g1Q;|~e y{8I!e<^e$U1rxeUvpjR3LHJRD*! 3 x=~8IQ&_4M܁hk;gԶa1iۆCҸ$ʹK4-jp:YrKw <k)vhܑ>Z/O҉;Zӵ>$.x)Ly {Mӛx98EzDlƶVnH_L|:l۔O]|*_wIT$dXk,? y.|5)5t~`q msq1 k[7~>>kD=_P*,sAh2Z? &wJeEqp(9@9#_-T_o$f䡎⑎:<$M}%!=7ղW+?~QAq9%r˼JA* l0ιTmsF?w;t1EZZ"lTǤ !FŢS9Cн/t?v KN#5y'=GUxekw ?iio`ai-!;b&:vWƒ0/ =f'bUrX^LX,ًK'Feڎ -Ü_N~]}{ ]&; jeI6gWDistj` >f:Zfm;E=׮%^jzlǫcׅ#.}@ҷTWWVͤbž:- YU_*ʬjR+ϧ|2`{TshYB)7_!OQ_G[+U+K^g-59ϑwA_bܟc }5Nq qLƎaZKcbyfN`>ށ#It|E``_+A @ 0+hv5~6`nmtRqMKQB%nNg!$ܜ+ƝBؚǷLk(ՙK}9uƴ}>5v9ӻjyIakG qDݫ27Š+0qXg짒6(` |VlaS-oc-n*k;^ĕo'''|+hآ W`l2 6۷aZheE<|D_h3լ[9)Y:hļ/]c 4Bv"zJaU,,̌{jGyh:B[îbyHS`igwGifeRgŵ-{|BT.tJh?zy#OBo0g#n4uT5"]J-J7*WnԘ>&'~עگ/ipţ{PSk>jVJx ǢGZ Qħ0w.}n:OmQѺ\9j tƸY5FTU4r*۫pR?X;&C-U1u& ЮuGk mZu@ТykV-m4{SУ7*Ç!1>[L:S>>Xn5|||<<<1.(&N8c`Lշ xaB3(Aޫ9H¼{qJzjI2uر0 mx1L%F.yhõ.mz ǮɗEo_ ?C@"2X7rW>yq4`\ج.'@u[u ۀ8q ^anm A߀Tqc\]=vJ}ǸdTAҠh1d;ʐGѪjKz`t}+hP @=8!v. ЈŐ告0!p6jA1@*@a\\5(~>$F`cH<]^ ͒)_(ޜDCso)S|?7sAJX $(' g@M3*/ !H?CޱXlg(̏ҡ(l/?7e6\mS2>U=<⊂ P(hQ}LĚ(Aֆ 0p[XXXHIMB›8FBRRH>$TVwCޞvo@x N߷E1> 5oɓ_8sGTbVF1Vu[tVfo.QR~eڎ]^;|=b14Urv hxpS 4ךLg!8]aLFFa @`8d>/+ Pé7j8ɪ h%a3h4,Pw!n4ÕT{0o3='aNcdgnEyuqY/pl۔OU r( V3ǰ:5鎧P0|2 $6'[\ 0>B$F_ QΨLϿ6`ǘ!&hZ3{9(_Eg]ĮwU/]}Dg%Խ).4,}ݾqԫV9w!_UH(.Ͽo{=>GG~ܾ08W}#??*U? LD*T*Enn.K5}2?z$;GwGmap?^ǗmN0 ÔbQ۸"m"JۢO$92+mac(D"hP"ʕ+P+ y6=MmNMjxzI-sPEۋ״BOIu{ҥ ̙D7]tBC[LzjÕajeL0 0eW,J/ˊ#57`pH%Ym;s 0%Io ƿ+X2]ovcTլ No*k* z&M۷Fo`wͣj>GQO"Cra) v 0 I~ P###XYg/U*W D yS/J>Cޞ&{)6 @o1Uڽ}k$ۺqe+6x{{qzookdaaa/y+WElݦxÒժL3T| YOFA,JD P\<-p(E"a-;zvm .U/K_S W85QpT2kOC̷|~ ڏ6:^(_B9vjȋO E<Uk¯W6aaaaLۛμcofa)6 a4+aaa֐0 Ô*a8_aaa)t,zܔ+aaaaa>e 0 0 0 0 0EX 0 0 0 0 |X 0 0 0 0 |X ,)VZgQOBaaT055<=m,mc+s:&t=Z[5^ܨRralb Qx .(,gFE>?j*Z k>{fW0 |1VVVΗ۹1I 5({:yAZ!Q5뗨k\9yTgLZBu9|lp䛺(W~Q)o(eտe s^ۥ>yC_z),P%&{#G?eS#$־],JOk lꂼ |~ΑɡX w+ [Y`+ /ӵ,mjj s=}]MMManfF6kF¯|ܯ'GnXa{;L.옃3yM$\>N5`kQt'2#qe-1GwƶM48sכ<<W O}3 7tQyx.PXXnHc0Yl(J{KYiom۶S^^I$򡰰D" *(( ?~<%%%-Oga:ʬ! IDAT!PH^Ҏ߶Ы$ )776lZGQQϴx~/mִC_B@ 9tm漺L}hdJ/Эl!5wP MH1$4pePh4y nӬ',PLA!uo*O?;9"#"(tReiµ\QfU81}iʟSEڙG߇R+Oӛˈt*dF?I?j1pnQGk>a9:GE_>GoJ_:;i xT@8K%.Ti?HyQBDODeY㞳mC3S3T>.J 5ʮ%Yٵ Iyz\JɽQeRt+}re}/eJz)Yl۔OUR-SDB=Bv[wV"煅}f]wt~n|52DqI"H$)77S^^RDDn:zmXcP# ǣ1թ݉_^H)ȼ@[:{9ٛn$y`@jooEfx*0ѐ<ʜ hD rdCY}ERA k@nΊPxݟ:X)M#JЕƒ-h׵I,|Cx޷P>~߹Z8OBMWp4Vjv|}\tB)W_mlҽ4{t?΍"Rq.I7_+(, kW_U[HZ') .v|m8p,*3͆Rl߃SѴv.愼s(9S?GZZQvA|];ז\j]۝ȧx<-[%vhXy@T@-G {W*IdrRI3'"817~/P_.u:o: dlyQw먔ǕjwSvctJٷtc;`ct"nINvt27Ĝ',%YwcT"t0 ]^ KѬbg1bbxe5d;Ο=  }8yQN j ׹NR~vTm:]5ps`k&p6ƼWoP ;?c]`w0kĤf3UYp M+A C2sdN#p{KHEoiuך7tfX:VT R,˙Z-FjB\C#nǟ? /W̉Sqr,@?s<|}Z|VM\ 8Ck uWӰP㓱):ïkc뺸,+qmS2JC=J}oj9 { N5iM;` jF62{*bXNHw[)!!B!K)2R.Ǵ|R!ch5*11l.ڻ @k1rQ(&%G%F[~_z8нW/SQ#NƐy/:uiH"VHx'$dmaVt(>M>U@k.^\unHʟCv5[(_աw8ӖԌZMA/ EA!55/#&5)>#\#]ݗ%a\ہk/CD${GV6wGǩ ]z+2mVDDBrqHas[GGjӶ\1j?$:ʶA9NXDVӵM+?'<|ʃmFt)]ٽTL Sp}]<(3W$јO|i.#Gg9ģ3%gkE*.]LɲX4M܁Ψ>6m衖n>$mpqYѝD9wIsupB N'"??KζuNѨ=E_N׶G1$z}HNњM!qKy uWz/'߁\vq˒^06%S#0d:7컄~TUVYowmQ1Y".7ЀܹB)%a .uڻd Ԙx ڰi-}A6[npe)>TBU`\\,mڲ>{*f*DDϟG-i5RzƼXF%=}!^ $!¼d΋3s+bdūęjirhHS^%G~kqCrqgcJ$O{uߦ;(x]S WLGY3:ӵmUd+. dm'#SWI)-L kȧqmCDtb64z2{l67CjwZuK)zp8_#H'?ؔf^yK j֡ī*k;xۗ M͘9uŇ ߴ&"h_AAJt$qAF:ǣ{\ˇ4:ϽwӸΡsd K+>m4ˤԯS#RtmuWPX@VwE3%++?SXt'j':51u]\zxض)Ź:y=Rf鈐R-5):8q^b 8:8a ʼn ueeb#"}X\-MZ^}||vjʧyxxb\P0&M GGgmupz`͔Q*cZujBmqCƃ$c˔*B*M?@\(l}UTkpKu|6V+I0B?#=Jr}yq4Uĩ1pKOٿզ`> ^bלoy<}ߨFd=ť=Q_%@u~oA IHA ż 2d9{wUݗ5|SZ~MaSCy(̍@an=ibH~H S0jq,i]#wDP1ZV('TP~C?Oم SbhL[<+܈8hsq)w7U%XjM? .xM})2LiS%r-KΑ-qk?dHDoqs0XxRyUWSxK FRz~2HoDCsk\ ٹ=Pӻ<뺃+cHnx[긮2CwOmqWHBQ]nG{>( NaׄjS/NĘ@MDM;wFΓD"\JNI\Hz<egP]ÂjZѴ&t*W8':aN3ǎG))tiVw w%%%Qbb"eff;KQSUI$k~djfE]iȦ'ⓝ25&k#J%.`%2T^(Gʓ̭KJD]"KfdnF{#*SϿ![dj^ZQA'I[˛|5pBf5} ,Oũ#kdM"zx[t7,ףPʐ14?qi*inDk,ӷ\Q]q+㑩9YX&;IpTGUdcnF_HӖЅԷM]tGVE]K2tF#SV.1t9T߱Zq#$撳22t!sKr%婔Х<:>e\OߪΏy?"3ɣфLjuͯT;3 e[Ѡt'\uqYfimS2>U=NI+FтTᗆ(=^cc>T>kr~(9dToJLLıGѾMGxyB~~.?yny ԫ[UTCT3\>=^ey o j:=QäߨL;w15z7JC4nUG)EƃQPP֮] Pʕ+c֬Y Dƍugn <|||׼W8cwѦD<+yV:^aĮ)mGcq1 8HLLDnpEddf_Kxzz؇{M=?ÍlZVSQݭ<υ1yeJKWq Fƚ@*;cQH-`~~F-Fp-%3:c̝Ȝ9߯ڋ,w!Sj\ҥK̙3Do1t##3C[L]C*ɂm8?WѪvI6gW0 Ô^\hR]3 S<wn/B:tFrwHR==WB@{w46X BRj龫#BE#'K@Dl*"y%yR[q|2+Z"9-C҃4tMqi<]֨״ vzE|zakX-W%FUM+eiBT%O7!s4E\j2/Ѻʴw<]>@(% "H$&dDo)M/T/`jVŪB*NC!]~YR⮜:PUe|&7~M]u]:<-2j[\] G7CaC|kh@sޤ;n93&rl]] G48_8^h6^s;UvB-8eS|lu>thTV &Hqwņ t^[}c2)9/R_gÌ- {Ն(;Bnjj^M]yJyʏ%vv >Qk!kQ9G|$S ;L^:7>60& IDATS Zm]=+ka/ztض)] p[7P-K6,52ܙ3gb l޼6m7nĆ n:]-™3g["RoKzFDzE:C;}^cz\\7Ux,=HB H_{ hMZViӯGG>UgzY.<Q23F*5|"c]sL wŕǞukH~Cq-+vپl1ZNӘ>+z1p6z5w<̪UU~Ƞe{rnA^u;AZZFk{k`a<2{l~&|\36%C##<0eɆ_M`hON,RJH$JJ(,,H$H$P(@m'O N:ip#0cCnpbg? 6vFa3ylu,N6MrTS _wWR_)CY}E*_Anup(2;99!zx gL.'nh_ ]]xsH +/}!=Q3ANjUZ^%/G:v#qS43]ns fSW?~i`ܸ6 :Kׂ3@AB^C6{"˽''/SXs%c>;x-Ou,UѠ18Y8k'2-< rmGȉmia07.!Uskx^?ʂغm'@b$C ǮByiMе;xp8[0'<\12«Ccxi?AΫ5]Ldjj#ͱj[/{S.g⯀F𲶀 XAPff2SQ#m /C?i^~xRBu[򄗵jZcUwr,ˎᧉ;ҤvnSUb&OukUYf &O]SMitw~,B؟DPgPNvHIīߍ6CU؄c/q.heET0jU6Ɩfֈ+𵵂9v(tq$VhmokC\ eEe=˸_`PDXvkkdJ"E P}("6Ξ?hKJcN񿐔 o<{ ^(˾RyLYӂI -=bp \nKf3) V}WLsT{=㗼sB}eגyXm5xk>Ä^*q1,1S+]C\ ba<̟5VfLX=L_NV-[> sCWk)ڭ;  {Ii0 SqI=u4X5V*IpkOk: /X̸1: ?vxf?\I7޻|It<|ǛuxmY*NEs ؿc,5^}Y َK-D9X0k\N?Oec{PuG"z!QNK4{X}=|nس\>:>~bbﶣE7 &nŔ)qc7S  "_#:5 Źk0_W\2 #SP3z#~1hc\GE E`ByׅT}a9(ϞO1Ǖ.#g!bXxVmٻ.X"NQCj?q-#{i )F}.^ |Ûpjdp̉Sqr,@?s<|/?$~8<rWB*o4vDzNao_0 q<>1;Λ%Fp*>b`:zJ*[-g>mJƧǙgô+aZ̗,y5\F~\ 0@V[J{Km۶%7600b1D"OM|>233)==)00޽\CV:7L׏ ;{?-ƲZn k;Jwԧ_zzNөi6ּ<ӓWuֵ P4g@6po/y;6SQ?K>IfZk[Fήm)tFsrvkKai/+vwr+yDzW}} ֛SzF:Y[j-W}ڞ7mj)MˢM:ǶV:\G+_u|zlrGq e0ǣwxHBftU|pTCx<+I4擫6ubb/_6W$s1NMjR|Ft"e;OӔ(oKZJrʃMmzFu\rut'Q]ܥqhPӉϒm]\ Ѩ=E_N׶G1$z}HNњM!qKyomgzȓU@kˉ)#bS4g}vcOGz.*gqTBfzr0 6%c#k6EAʿh'RZmes52Ǣ?;Io'G^].n޺;_H8x zvTTIgBѺQX7QS*+r/[CH/;[HC{#uxHHӓrqKBz,Plτ,|=]0B_y<_:I8`(_Źpa} U+ QfXz~US>KJlr~ OĊNylxb٣Pԇ3?7ϪQOwx]zYVRw0L uܹ{uwB,oݺ#F֭JЩc\rׯ@f͵Y.4$9cO*2/ނg B*Vt$e&FqpDBbOPԲF :𽗢uRl|6c! s>{nŜI7P9UǬ\W9u3R,M `_>b2%p^xv>[/y?o@*ޜ`?C٭"^>R7VY ͟~V7i}k[q޹6\\ӑBF:-bݺu cPJ4*Y[NEk TK&񽢽I|Ŭ8㾅ufbVN{P:.Y9ut%##}X}gþ``Ja|ʬM `-y.T}Gѐ8%;M] cw@-uw݀D!c  }wqfv||F`וG&S*6Ïf ϲB%l]u4t/3)ƌl3_'sn*w8}}z;3zlvVk/ߝ0b:}x,_W] eΥ17;=˗VK[]1|$Ks'נtqxk'-52Cߊ[6=j1 I2DwyY!ee@# NߦJQup{/ m4K=_uX=/2c3X[S熨R {C7-)*'@u5g:5Kwn?3#!x]ûb_>2>ť=4 "#N ky>A_?g:zMU\Rֻj=,:s8lѹ?6ϛqS`SТs8m/8ÆLͻ1 z؋C*N|QUyPe5Ō/0|,r=UƹKSg|EBgL83a@4l:ⷾW@:oҸ@_~l~fWB- LE'_?~oŗתrf@zEjQ=՝3]$ 􂠜yKͮYC,d%_?۠w[yL$ gDKcͤ?( V瞗WM~EԾ)__VnKO9;1hӟ/}}zTl2/ ´:RC/ˮZb)jrP(T9` _߷tjSVo>hF}P _z MBVR%JfܲU{fh4 8B~KP>`Κ:aW/C8:E=:𽗙}+uC6b|mseiT Q? [PZ*nѥE֊:;:ӧcڛ(\C\v Z]Fp!ϰ1{7w?3Z,Bz*Z#ikShsof4 Bfhȵis??ɑqV9u0DORXC{DZz_f!(=Y;c|2l< n+~I...022FSk*mȍ(i8c`̒& A^WɆyFj 3xGY4'McKݣKGB# b>h2q;pAu__{6ҿ i!W=DBザúC߿#ly8+ fE+öt>Xp/* ʓ,ڢg!h<+nBbAp606E!0>Ӂ/[7tyؾ>r;d; 1\[k*s1O@.=p}u˗#33Sg_…1yd 2>>>Zӗubb4FѦxܺx/z_hB.ׯ^E h3...9~ݏX, 01/nAx~OuaE+W:$|~t#y²b#@k7cbb4*TH>TR)))01 {V4`KPiӂ;PL~ J0ۜ-aE0\$ 6IIm4'5a$ -=c3{'7q =}ak}7 x=w!C ::Ѽvv?cl00 0l0cPay @aL.gχAhӦ-N-?}Am?[%xiQ8&cN8#1릍U)媘-">}&F6?^>n'!qu43ac0mwWv'lqcBr'2yrĤ _[#!9UGcggooo|x{{?aaaaN Yf(SD,[ZgEyO?0d(LMsܸy\.W>z)")[!& BNނwi+r;c?Q%;ΫOҪ:<02Jf*Be}")*O(Tq{ _jWtٶרPOD%ب R j-:ztP5F @1+g8Cſ{ K %3eaaؕl 0L.q`/ʐ۷oG>}P F WEb^^Zv Ċ11mV9:qX3?ljB4[7@X3?v3} X񛖡PrF߮ŭJ84;Ona[^?u ^? [g_\ 0 0 0 0L^r*}شe3޾} 3=r شe3ڷ*reChpp[6eD6'Gf֥=l]:x`,5TGiykcatyÍRy-Q?> %)֬[؟gaaaaa [:R)B֯V/ 0 0 0 0 0jTF|= {EKYSPaaBI  vVwj3R߇D}G4pA*3eFTQ 0L.W XXX0LyΝ?]{x˚d0;}@30k۫+NAZco?f` 0U!CS>L8(!OMtF.x)nbAh8v)Xcƾ{OX ӝ8q6l?WNʝfHJJ^B;@u"-'tyU^;{,uAmb*uencfNxw<ӭ qYco;Od%,''(_}-5:ㇴ ebe_;k\4a|C?U~%w/vCWzP(9*Za#nMmu^$ޯ(qwGL|JwK,QQ'屆\R`u}WxXCjalߕ>u0 7*XwP(DeنKжzvQ(U;2\ jWq]^n7׷T8Ra$pidutpe~qOen'Yھ|ʷeN/{JWNS~)KB[bRTɎbKDԲx:8"K'QH5 1:GTg7R%2{_STzA^e(%ߍu ߾~:+c*/] gntV:*4],jRYڇBsTZ"^NGC]vGB?PKfFߤPeT9XӇskGپ&}/]HȠL)4_Ճ~Qm  䯕vqpI^pks|4z_w PrA|X.ed>Us%D\$"ϣ(,yŚ4Gz%G\NY # 2dI$ʒ?222(--RRR())(55 BwYοљӴb2:ISfFLzYZ܍ܭ-œ/GɏTb/F\(ȯ^@ PyHD_p*nmAtUh#k^$/we*geAų } ٘ i%kCڈN=KrkMz5GYdeh~u,Kɟӓbީr,ԝ&!"UhåpZ1Vs׌6Vm#"v/]*e.٫g[yq~~<|mۏdnȶK)TӕL// *XV\Qɣ.-iן7w8`3sO,QTFteSe *85drbXg_\\А!C:Se-_D-]>{BDDO=/䝀W.*QԷI%iDDh^X}I(&KB-ѤUb}/42u|'&'A,MDODT4Z=qF>P.f@gYz4.]N73)Q,kCSêUD73C@G"m)[>\2՟%\ k#r3*/] Pȩj ݑ~9y$TW(!Q:54~8ۦ~#cTye-A^mG--)SI ҈ h}JnIDNKe|2_zAQjU4Ml'(׶H|lœzGKZIU Ra3U k&uO"5/I%joG[=pu:/(I'/u"fd3˘os (#w69攑%Pt)HЅ[~Teg|drvj3%%%}U-ݻ7I^EЂEի?Uqs?_~ݜ5dYvS/>X]K!9KB6T,M_O'/R>e_SCz;LcBWZ8PVZtBs7j#LыtBS+ȥZ)zFku GICoCDHvCRοM/*k OD$)ʸ6R$)3k[cѸ_+q\YdeR8uo<4NJk۪ UgʞߋTgw_}"IKsKI4NID*?dַ P^\qMPlWJDc[S8G˗"Hҩg>l|ǁ>%\Pwp^$k#ԿctY}rFhBDD~uiS*;O;z`Pk4u۔|y[CN'"JxH7cm[~i_@n>MGx!3pr_mp_+]KҞyQc_+?68:Ga~gȔFn- /{ۥYҧ ]zX K3/=|7U{4*@UE"xl9P#wF^$EHA+"q!$\Y^)drt%&&~U5+k#;o=|}񕫗i%te""z͝7=O7n^ TQ~b)Mh}yfVv"7k Ilz˸ͅ$EY-4df|Rcg]naXa.u-W熔)έm^HSU޿~5+cY8a}Aem|̒P4g:*W3Y ?zz=tҡunu|u%.kCڈ܌뻊=KGXJ5) sEbJs"b lcDSoGLD&'K*di[N ǐ>RI*]fnLDt(6|naJ.0?_3Ǧt}Ԥ(FzJ^v{{gӄ+u: ϵT.#,Ԉy&ud<˚zSOp!?c$jyu*_:ahH$C _֬[I AO=/_|_"hմ|2|RHV*8JZ-7Gl$D1'$R-=J#ɭ }z}W:o2upm{qvo_Ǿu=SrLF6-W熔)V|{t+T t?[EHR'DCY8Tu1T⋝o?RG|џS#IWGP_JK"Bqo!E5hTTJk[@Pױo ΃j,9?kӮPEAt-Lt@@?K6@VοHD84Yy|+SK}kC?vq-F;z5ֳY }:_~wP]m@^]+ĥœ&-ÙUwtJ ħũ.xwkyq^yڶ)KqTt>oۥԩۜH{-K:Η:6񥿯 $=puzmj27=-'ͦJPB׬vfeeU6WzםEC[8UI)3{P]ׇDLIKUQurĨ*y_IAݽHFg4sE0QqW$"uk˯VӜ>UkG-8D3<)=44c֞ʫo:_RLrLSfkc҆k8OF&QKդ6wB韏I)+ jLTuQ.w{/J|HN7m*4`H?DDú6ϩ,SٗiNGqSg( ׶_OC~zvgɲ^QZn$eo[:CZ8IV,l1ΩP+^\k[?ٸws"t@@3{x()ҞPPw/t՝8=ί#ڊd̷U4\BYtMZ |郦YiZZ5g8/;Ga~Gҳ}GRIǝY~7lJgBmxfUmї(N,9Ug{Fk;_L|Ovn*sq=pu=CWpZv5<0NkG(32I$0Lq6(Ci锕yf0lC;322tvEEEQ\\w4QU ٩()݉dԊzy{p(,<܆lZQߍa?f' kweEYX;Uw>qo\^>$T^*Gu˂kd_Y|'RD'$4!;A4b8չ!e*?E^)tAw4ן3%dW %R_%%ʾ&YX#[UrgޓPZؒC=OzzFxKezܖ\ҋ!uw$DvN@@))'|C!o~"Mi*i9Ok.ӵ|Q!u'H( KOrpA&ݢ'jW^u] ; sZu_4|'5u]rꒅU9ŋT;6Yϯ՜gMW֧.i y|ŵLzEDh)6ҞQW]26Tg57k,{XxPٺ+Lq̷$ܚn'+j$4%R-rULv/=N$*}\u_zW3w^yڶIN[ؑMfTk%Tm߲*m9_3yU85k+ӵ/?ZuU3Hoo!O!#%g/ dlE r|Td<ˆ,̧7?.GF3 *=RFDD0s'#Jإ߿xX|9233!J9D… c2d|||׮֭ڵ3zyq {Bo0n^HWBq_b"wڣ0T7P& :WVN0 bɽFBQГ/4_1 PGDz`L"_~&&&HKKCB@D?T*EJJ LL >du&F+op|JC $IƺѠU_-ݝ/,~k0% 50 `x ȵy1 /\Y|a)M5ѣPh1̝3M5s|r-AlSND"gbb-[~g_Xb)|}2:, TA83 _YwzO0 0y_,,/"Wc 7{_H "*=gφU64i)&:߾W*翋9`1u\-[";#bV[xURE58nUq =^¦~2w\Wk>XdC:\;[ ҭìx XPGobX0 IDAT E$E9{+~[[NA%' hTՕw~쯣KNcK{2.0 0 0 0 +QQ|Dn=`)0~c0~x|;cރ\& 2q7cUߙOYw-t'yFA8z$#al<]֡L S,6bĦQ ]I<*`b8&"gO%11/aa|dɒ|! 0 0g`fMp1+Z sCfM`aisssX[b!ajjX#tZk/## CV>% [Ѻ[^Z9#!),**!̯ %3JZ:R>h=!0 0 0 0L~r ba8r(BϜz > ٷ ؽg {_߽{^e1.2A|GVIѷ22 #ib>VKIߦ߯a~|YZ{lH 0L gCaHH)q6 ..>_q=8>}A\\W1R`_0kf _&z< ΟE=pY<Ɨatrqq aa\ 㵎9erdžm J;~;/<w0d&ݼE i3a gY]71D]@DV:ڵ퀅b]022¾=l \ crz …غ} ]qwiH0aa"d_X2A{c##X@Э#*["u;]fbë$*h%3ۢt|ٴʩ*>YLNlj²¢uF&4q kgF`ʑaaPc˕D(lۄ3jQC\+M `P貼|4(`dQ=nD!zeH^v7ڕ1&^^xs=fBTj5<?$fV /ۧ[A!oaeb۹f%|29N -KVA@`NW{'ۇn׉21Ƅ:h}?Lx_>9Oi@_C-49w/)^#!жݦN_AQ8\f+Ohy5 _3CBJ^n0}>]Ć.Gsa`ߎ 56[W(;t@2C xu/7=U6EOs16͗po[[{XmߟMW[6n ,b8W=q]@V|e+3VѰaC.yQ[B 6xg~^v"N[v[f܀?u[O(T$ R)R)b1D"LyLtt4_:8g28~8>DG @34'TQݵ,ʼna +NFR^sqFGZ WJ3q55/eO-HD?!!!*֬]-94Y@O"]nxJ,rCS\&[ej|~eExʴŹ |[{íLi ./wѧr1+ ߜu [,'I*6lZr2 0?P(D~hl [ st8GW%[[*@At'`oZ[ -SPt糽OyYwt+^^Vp.d +:&y/d b)f= lBĿ09lL \!GoFeJm9{ĉ*ϟGFb=,"]vB(UĕG9y eaX6KqyAX +(_'TbHG6W^3#hڤq|N ϙSx"hNLż_sxsS[`]ڳ&\{Aw,1 3.Xޭ}q%lzu8ۡW+S[}0W§h[\bOϚgFej|~~+^˜q70zZubeC0j|b44hfujKGOGT/]BKNaGu3E/H gN8#1릍U?IM /J7~*,]QO^hϤb(?}ƻǪ񋊘a1[AUY h=ƿ/C'8p 7ms D-pA&&&hղ5N}J,aeۏ_ĚVM6hvQ6_L>j"L)-P4!Nc.j [Scl{}S#`?֮] Xf +ob]1 i|ar1XU+>ÁGϱTɹC_Wjkkw 3E1c#,QD7Ք]~NÆ CH:% 7!`haa[bf(al?Q `߰Rg{aՙzDf(nlU}c.J. ;ݷýWC[\Q qb_سx|6> C}0x6A"ؾ7볽P({ax6:JʛB!,ʠ ҝ/I1(`[FXq_!|{1Ŷ?a3.BY vųO5uBw#azՋʜ*-%E.R ғT޸55/ xcAGiY!/R|VY kuzLzz:>Dػ/ZhOϊz X׮ӳ"Zh""9Q(#:L,K**8*ZTpTkƁ趩NB>h_LFڕ=_ݚtDH1+Hń|arE<\ t!lkЎ6u|~ѵq(a&^$/,SujAX/= fyr2 0?c ŏb)VocSd.]obST.uJ*,jj{Unc P2vΐ/x3ʷ]eݺ0N윌%{1GHe ʖ^g +Ԉ ꝓ4ja:FDt!pwaR߀ޥ)^lX"h4bK@H,1v1c1XcD* ]@=.}_\9O3Ü3|gbշEϖc%/N}:[~˱7ŴIoM3KO3<6Wib䞇m:/g.u bM+m;TԴoOMlYi umm7gΜ;}V8O'ĪS^g=\i/a 9W΍M1azK/+wSE]3Nbʰƪ`&Q: U?uC4vH\?:\5k\"vla e Y#,U~1⩧C9"zۈ9rDq/bZ f`ߺ^FMSب٦u7Ҋ'Wiߋ:.>xX8_NaU¨>< ǧ ϼ#9e`_K=*2?`߷U?"o~<~rj4fxbfK oܢC̙T17有f]mԼC̝Qnykלբ:qϠ]鷫~>{g_E}إ19O`Wu~?6n1EDe?'WS?tSjM3FU㶍E*/Es~zP~H/so]wX|QOquY'"uEk}Nn7w<$""6=hUwtpQuXw"Yk~_zco׾iph}x3y+bѬ3[GnޭJe5"rgl~!/W\ ?vF]y:z~*uYrֽkTyƓ1烓xrvjKC,:nwa/8>ozP ,ҁMGu[>g|EuqeFMb3n-l0اݮY]A:睸_;neb}+:٥8%6Osjի*ҠAXpaKSJUn`h`dxMׯ3sG}`k'.;՟#͏.{2`M/ǵV\:]Q41S~"AEwLrqGYYY4hJ|sJӽkT6f\k7%N(/m4f{ SuZرcŗ^:&{X:ѭ[Bh7TV:(vi:ujyի[_[Us=uĩ &1;vL<` c@XCk֭[` ÿ ׍yƆnRCœs?FVZon˸Cc-*ߝtGPkV_ p^'Zu~>_fs¿'|"e<qPVZ૟Ř6X/""ؠAܶKˈ7UQ|Q쿌%eqEuԪ<΍GN'.zqTنʗ7n8q G7+)6z*O\hne,٪rWSlȞ*ƳÞOoʤxG[t2ڶm>8CMMc@wo^_j){1;!6l5 it:_}Nv|{nqwύk9qCⱉEyJqt#g}xgt۠aA/- oqGɉF|UD~*~tѦMbxgⴟj2yqY9O]y09""vުsMfK]V=w>32ﰤϧGU9O%y1mƬة{ǸQM%A 3;tO>rsV.hqc=bukpiqؑѣ3mXTTSNyc?<8rxbѳgmݣ<|8baQQ_vՏ\}%7EY\g^c'GDgŞuҮ~z O ٴqny5WKÿKsg|[k[޺}Y?* ;&֩pŨߊz2=fm#"bq鿈#GDD6[oGvdk1|}[:7[?Cx kYL3<̙͜=s&}[3XQ5s'[EES/zl,[T*k*`b9g[t"g^qMGϞrvvFt)VtG(?<_lA: 8/rx,;,"-E3{۶}i }% ?=!VTO/EchLzъ4(+"Ήc4n[k*`uvu8_n^j{רWf'EfVo$\ߟ}xqIygcO]k.jxqpp:8>XQ\vjd 2$ Tg?Y<Qauc޼Ѱẵ OWvlm5Z{?]Κ2HXQSu?ߺ8Ծtgq![Fזb׶-+곢|V~^}~Vk+}.ڬ][pr߭[LS|E 6*iyۂ˚1CѱyٺE᳴x`tЛҘ1m!]z0O>뷶Uzulpnz~E25ͪ:njtuyפ ?OJ^?N=p*mӨnw9J.K)}Mqgӑ{lV|I&}Owc6> D]T\\-Z(-\0-X ͛7/͝;7}7iiԨQ5O[nHÞ.t [6m,%5jTTmuMZ4M6IsxUڍiv-RƍSJ)JviMm[pTn;RYQϹ{͚2.2UFh2l8[4w#U'/N]vM'VxԵiₒۗy5.S&[qTyoM}w+{et:ra[ܦE2oQnyܢtJ|V^WsYCeJrt/yhUY0mpT?_XKaUK~gSL]찧OU}# &!Kg-w?K/3gN6{x1/C}fώ}nQiq'_IomU~M}V_}N '8nr/ύ7zo>"M_yo<*6n:1;OwDFj}8xψ?cV\q֦j4u[ mMbvnY5U!5=_ƥG'LM,\yuSvEq_'gE@8q{K8B,gZłN?Se|TYgkok '#z\cmsEi^乬&h*Ny6q;+Ң╛;{Թv1nPxsʁ}#b~w?*4(<*T~oΉMCM_nrjڷ v+scS?pkObm m(/ÇۿJ,v?][.m eɗSEǟ.Sk-"VowDM(T-*Q3KKK=oi̙i޼yi魷ުeuiҤiiO5^>R5^Ə$-ZT}2&t ULZT;MRӁZWNJ>)XSJivQiڢso.>j~:=uHMvgw>kN齉3r˓ml\jzFҤ+N_\Z6k\N{niJe[疝;_.L)޾|S.ҘO O*߲j4}>_?/SIgt黧fMiD*_Ukc۟O-WiǮr5Ou۸-_ebnkrAqr˼No~e\:zʗyv֤V>[hߨqXsz_,tmk+ƽx_/vI=;^bAn6cRrxt=OW)_[NN+2{Wl:oTjW5/jڷ:~_ec5VyqڿGUVOqWq^ҴyW5j(l4=1e{̕W޿?=ܢSnWN[UaSasSKYmV$)>}zW(Лқ#H~~{/9E_M7x]zWSJ)骫/O?:9tUgiJEU?fYsvSMsTצYf4\RV2iKoM+YVSy֗-N-绯N{hHzRz\++}qs{ޕ9ޱej_]2?ڏ-*I+5m%hWMnOnYM7Y۴qrMShk*ﺮmm$}ee??@ٯK 5N`QxS8Y}m:mǖ#v,=2⋖ھ?,k[vLͥm.-Om<Ժˮ*RJn~1\iL*-|[4_JZm!\hSoұuNTٲnՍ sB}zsʚޚsrO=htIS*8]r5JgQڶu4;kߨQNsyWܔ[硕I7ͮ<;bJԦզ`IIIߴiܹsW(0a|z6}G7x]SJi1n4aZ֜SJ4ڵ]: E,Tʹz-* o;:m+͟6fl]Ҥ6vrP}wH)tۧ߫:*O)nĴ]VuNv{xzyFXߑyZκlK%ί<_MHeg:͙^ǿ}-[Cת)~nk״uRJia_)ִof;5GMd]W踳[5Z>1T~vN\Y6_@jݴI-QIQjӢ RVeޅX;vfL[>~ / fuX9eTأkzl[5o5znRڬfi2]FٿN[>OkU LvVO?<+5js UM)վ9Yco9CN1x㜳Ϗ-o[߳gg^u]vS O;#:tT+v_ % ߏHQ<x<{Itǃru1˗qiÒ(?<8\}?)nҢ1qE'T)/g8dyqݐcaiq,p{ܶUT)N/5oSjܤUjv?>@\Rjڢ[|ӓSNGMZH෉3Kv=6廟3"|ljܤUjt+Κ*_JUB,oEk-յOSM-λސPMX^1sS?KL-iLJ_,)K$5m-5m-m?̒gXjSuSٍ9n$-ܶ>RFMy K ' BǝRT]YF҂ jڲ{ڬioj聺ػP}{toW ߳S)kwOO^:]jڼsjڼs)e_Z;qZ흚6`M @B=UcB3V|N;C5K a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& 7 IDAT@  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L֠PX^|=wv|`^ea@Nz~?; Y=̟S;k,Y^&1z{q/1FΛiv0}_u/""__\Y>eeń㹧6\W1/;7-Tu9|u<ʝdHJysSe[gy#gz} 6ޤIjy(/AӺM5c#Te)عS5yr ػ?.PF޲AEAQ*Q@P8@ADQ2\DEBirҴiӤ|^s{4Ii9Q^=bΝ""""𘃸=F՚z V0evlt)jԪCl 5oyq'L qIEDDD.s`ƶ>͑Gd=U*r8?w,fH8sDd5+cǎ3)T(fz _>46j*+#84^8OWLf*"""Cؕ#EDDD.Urxra )P%˰s*TC"smb\^DDDDDDD$w93 'Gb?p--Fɦ3QClܸX3ٲaX}lM@CD/qno՚ej\ %R7lDDDDDDDDD4,&i\xW\ ظq q_%rX$WK,٤""""""r9~h/gϜzZb!8$b(P@.9>Hj7PVkW 6 sؽu#~~6""""""""r֝ۉ:嵮hDQTŒyOz' *jP0j_W(""""""""Wil۵`5e{iefAՊ&%%{^Ξ&ў B*w "@LzzV!!A EDDDDDDD3MwD*Չl6W;&%%MTT5nWN'NMԫU;!8bՂbU(""""""""Wiسo<9Hq 'pC߾T\m7}vTpTR"E1M +Zރ|CE_]+{UwXU"""""""ǩV&CvōaaÁtbFfBE`q63g]^D ))?ZϹgL:А pͮc8N'aa|s>]9aa8 uYoOrw1ǫ.ڑۃ̤ .&Tϵ4frg`ߴ`f3M0MN' 3"!!Hn Qڐt1"LxeWX@W]D 9HqrsnA_fXr%˰}v_WHeTgw~jK7'Q\y+W}npDg:~Nbӱ]YԝF"kF7Pl9=g,/YM{ѺJJ* USW J}ՊZ$WCK$VU'f_{l8ΤoOR/ ` KrS=j%̞acpX:o%ё XjwݯU NfZRKQo >js- ?`nwvʹάߎ׭^2bYN:dWdHڰАP=%G,,+2":u$88_VDj<$xf˰a ~Xu߽Ƽ0Fdvij*ԚN mbApzt?h?s\.t4i܄${NÙu4Q֭[ˡyjӻyx `+bpKӛ_Xj5lLNtVg?D|j$%[:m:qq4nԘ}4MΝ;ǚV+8?III.,ͬϕ<^V)+pPzZ+&o"00(<mNʟVD-q8^"k$LӤM7Ͳe|3v_] ,(݇bpi>m[0ML010M4o)S9@bc㈋%..+6p p8/\ iP2 n3gI %44qV+(X&Qvmv;NłF``AAA}6>^*b8ƅi4 `Q(""""""""WVhhHfͱؓ8 #9,Z-l6 ((B|ZVl6!nWJ jb\egJDDDDDDDD$l6G||^!9J/+ DDDDDDDDDڥPDDDDDDDD$S(""""""""rE|t٠P(WD*Ll8WIu&꘯W08pu-"""""׆kˮzSKsa EDDDDDDDD0"""""""""y@}{SV ` ?,Yd"ҐҭpFcV_fɏgqTq_`_ݯi90ϙZ, ((Ӊa )) ݎn'11Us _CHwVʲ%0:}uQ/>9e[x4ȭ&gdn׎Xy3=~E7F'W#c:z]sڏtͽD[ҍXe3-\BOgdsaN~oX9IZig鷔""r}`rr/=QruZ׮ŷZb\R ApkXUkT㺜 5""r}fvzW#Bb!ݭ&ϙTf=J7RJu[ P? m 7<ɂ)N6ݕPJuWMS3R)ѳTRΚ8e{}hf/G?mVPCw?8ZUkpCyz6No-RZ nZw5Ԧ73#2\ynM\{X?ʵh\&Ĩc lt#7T{ϑJY(ic隼wL~b fº3+N׳2Ԉu@Yڶq>8JwVlEXm\G8s3e3Nx5oy;/}KԿ >m&(ڿy ?wq->*lcd-.i5`&H|#S @>Sh,d͖J1.Vf ;Ќeh{y̆SUgN$8agVDj@3u\%?=,ĥ^{%w "jaDK~9=݁"6+g|͠ZA$8yl1=+ubgʩ iKDA صoxo; ٬6,Xqba97x2[rH833*lcbZkM _͐X 6f_ѿamol AVzPb_*?0`eE^{X,r[7)K+,@գy{HmW{p|q"I ?;NK8'ÃKpIwB^=c^UX|?gg/꯹>N?p:v-nrH4׋X9׾'îB(U8=2.3ߝŏCx5rޗڎNbmmk KXsGu>fUNǼק7_aN Wl9"WOdyP%.*˂EDDҚԺ 'zG6Lg,%F{2Ӻkvtxac;U޶[UC(7gKLg, 2fm؋j}7ypwۼ֋[3r|}N g4O.}uwSD5a8g|uGŒ%.q{6ѫT@9]A9?gvlV՛鲵|6}"*H;٨9IZfxyjCh EPsw *Cx / x}Z7Q&OihG3_*c{WW0yeU*iG:rPqb~ِ׼*נb۩s|Yw=?GA]cgBf@'?'y9 )? P*ub['tO1Bwwd8jNŧ "x~Η8{5+y'?GNSzs굙Hr=?g}7+6Fѥ{B,r,Pep&x7ߗGg>460aĉt>nq]?@@֏-"""""ןkˮ//~I&Թfg?WQ:Rq ` N'qasin;1 u;yf;FZm6b|)HrrtݻğgX(^ܢ٭wr C{*d %*VŊU&"""""""rMYOJr.""""""""")a EDDDDDDDD0"""""""""y,WTJ.yl6\7\_c^v~ן]("""""""")a EDDDDDDDD0]DK#G3YFCDDDDDDDڤPK۷o'{`3냅^z\{unO`=`I"t)>5fC3mÉU&"""""""9HJ˖-c8Nu6֭[Ӷm[u$$$|DŽH'b [ݞķa$KJ+V`ҤIakyaaI\\#FADFFz1# v}?\KllbϏ… p3 `[^mVא#r{ٱv]o'oh&4Ϡ{؂*."""""""+9܂802l)5Gor }=څ /_ap:CG`ŷ?qQc~ic degXI/LYL? R{bv~oĤ?[|fKceU'cլ_6+L\䫻\C D3<)fU>5rVd)8xpG=?67nTQ1/d/ܾz9mB+~Дջy:TplRV-P9 ſ`"#_5Q+Rkq5sonӸ[H+Rh?GOr[% KkdnREyz̼ UEP:0o=f3""""""";ele&Ȱ>}W׋cRӮlغ'Zw{b؏c؏j՝Ni;Cϟ0{ngڎC;|=ÔϹnVdvHV7oOq䋧/5`/#d7ӘH=Wg,{q 5.Ti.g'I~c"cz_DDDDDDzPr5__vfZ|q8|xT|< {p$aΜMr.VŪW0z7Oʖh;Ÿ13xmSh@dGue2tރys0ovw&?7f HQ+hGPʌ:ps&g^ew2͝063C[g3J8lV[Y0=KWa @ɵR.qX_%9b{/1ic/ۚeuQ.1ZwZӡ})[VE{x }yJjpT[n];pzdt[X œ2EB85@" SÌtU:kU6}'RM2ƲT)Axx87DFp<ʼ"""""""."/Ũdc^@rh5keǧ7/ 9;)U'e: qV`, lZ9bU2S@[?@]֦ G{7.C?㵯On&l%,͸>03ͥ(w"%zGDDDDDDzk .5k;b? eċs8,܌u3c؏e;]zCe[pnd(L# ߓ97w$`&9sa=zdiw둡靝Yv_^r0Nxj?[[(yyߊ#?Г;:vIgH|J'8; """""""\ 2 7IIiNBL1F_(P?VFaz_>K8/ߏK=ϐ˪WSO8fL#Bm>:c!i?꼀=A夏:ALf4y g63L>ҕK6`|EE5<GN1*+Gj8suzٲsf%""""""r6Jģ3QWClܸ񢗥0 Lt &&^{G}֥sN<=QVo=/R\=7'`8ƅi4 s?;nݚ#Ftzghݺ5 /35f}eиQc_%""""""""@ɕڶmK 8zY,"#3^1֛U""""""""'(\+22=.e *"""""""""y@jYσ&*Jl2/_Zghݺ5m۶ZIBB"qwL8xD{"`I|FKe$F1ͅL[qYvnګye50rNJ+V`ҤIakyaaI\\#FADFFz 8 'Gʴ$™Anm-/~6+okHX{v_gݟaʦӜtt) ](q뾺渟~F-pS0_W- qV}u|WUKp8 tbap8HJJncILLt=zא8N8NqSnoI!K1@f1o>֖U'X{v\M ǗhQ[i5ŗUk<ԡ5_.WHPr3RB[JMڬ2 ¿ OȰ%$ѳS!F _ܓ̱xi[ @ ,+Ɩ/pդqÚӨDQ)5pڏզ2׆iڸ>ӈg (a[ҏ5{s}&X&DDDDDDDZ,^f_ʖ]I$Ds۷gq3{ϏBN1f(8 $/Qf=9֞|̫hǏ 8=9}cWMf";t/h &vD=^nfs]B=}XXBDDDDDDZPr5__vfvZN<鶯};R2 0 _};wdջ3z`M]N|q4:EB|y5u7,\ZaՕ{7|tNf7x˗.W8<9˞=[о]L>Ly%wǰ/FVkOIRGw ؞۲Ѽ9]99 +)Q.5sg#}uݒnZ?؟b?gAj!4JSļWм̓^[m{-Jk`J{vd>s2ܮ+/L-y7 .UѢ\Xg-Cyh]D5v~vWWׇt& (W- E军cc徺yԹCKXws{s4?JJOP/~rj=wˬ(Sc$39g ?Kv-2MXr%F\\AAA4M0 bbbٲ6NL`"gJĞP۲wT.kڞ]={Yu`7R8# c찡Lt-!V S6fزpZ֏>n.ҝ^o#:TDDDDD)::cGx*,]Ȼs^|w/Za}H;~k '扡0cZ2Sr w/7"9˹u3L? #b龆`O3eLZ ǎs_AXm}H&A0&O@ofEڗ?o+▶}瘨 |>:Ca+OՍ{3WWWafW IDAT"9y?Gfvô]g_}Gp88{Rǰ~TwKB|NmJqƜbLkE*| y?pӍ]oSdP}.?K4k+bJ͎Vصzr 8Bݺu9unݺ;UPr+V0i$04MLL^fk1b4h@dd3dÞt#IXΒhv?Er[ P^ @©xh^ôbbOM_{=O~Hx҇aג?ӽ*{͔Y^ !~>Ō/UDDDDrX0b1|H&eu11i IMrA; ?u~~w;!G=\f.{5u;^3qI 3+:_7D)_(,31,8f]F؃k? fХ+XO!~աԫW0]Szb{Hp8 tbap8HJJncILLt=zאWD#>ݙSys8&O[os#6>qGjNϿsof #Sf|y᛿?Wb^fY4TF*l@ Gʩ4lP;rq0A prksA&u1wӲZEjWݚLr_5nP rʱcN_ԮB3^5NmO[}o3QԨDJ L9W{WtmVwkOEy:\A3),eZz9mB+~ДջR?\5kA6xz Nﭷ遃ȌϒAekNbi}{iROV%9~h5ʀy_8k8 +yWtDahQ {L1Ns.Q8}'ġn %J;/%LԘ$y^|zxŵL8;} iT~gmɴ{B"65< {xvm+w#H7ˑq)JFZS:Fan̝M{P*godLk+o2xwhEpP^k7ax}<8*oɠAP7Z}) 6.Hś.""""WΏ fP(iMV=ݞ>ZeЪٔim_MxOvY%ծ!.0pLݻ][nZ׺og-7T_My;ش4ݛ{275+AdQJF l~n0}u#3vv8AsxK#3&>;ƒ}s/ֿ&LqSS])[}?UM~}ƹ+43Sgu$?11GSvG߇8B%8xEKw`2 R4 , cda:1M|&Nxh4=xy[c{fbEIm~+Bfyhc(cdr8i%Hy{^} k  ̞ ? {>l%COs5:F $Zyh㔼p#%7=}wto<gЃqSfA(7?FDDDD"37y-[0͉.Z'_~cy/n-0`Ӽd\Ж|'kӟC-D0߮\u}1I.I93{v;g+dßQ(W^_ Osr1zO?_هRaafc t)JzEfN=D%:KRk)X_ g^=D_/aɶ#piKsl=\\9׶G}յ{" ig`H;u&⍮}LSk~_ di77cç6ʵ:5aȸ C%::'7ClYoռG=O^-w'R}ptQ.Y#lL/hS~D2cZ5JQF+dʹ!0d\!ǫsVxfx+d&- i\g@Q9o#{ ̟-6:-^t 0qxiO4ŏ/c#ìe3fȪwQV T"FHQ@g; V,;>-VdW3Uzꈒ}&g`K?#fIJxl6 Az#-?]߇i{Cމ#mndhs >Sx2cfΟ?ggmnyTYQ}on.등mb8z.k!ȻiTߣ'!ɘsY{r֤~焁~Yl!xgIu4l1pTGoa#q>&6/ Mn ~s]Ɣ7!#y 5,k׷r4""""z_I}!pV{HCj[)nv@X*f ^?G;JX{V~WE |=#d e}vn.խX G>X P,IWEڍz.UhA4]2X&Vʴ{wzVq[2x`,ZZj &LA`)))VEdM/95|`F6;ط; hZ-C ݅^\[/aKRx.%V&/h^bط/ԡ]Rq""""* #"*m CF.]1Mr=48m`AvGmR(HOOi*(f HMMBWk'a HM5"A:F\\|pffjq79dd Hfz[ޒJ{$3$BDDDDZ*l zp`z#** m>Zo-J*޵Y.AZR%X3d=Vx6uG/KTW""""z,JS8z#) ٖ-'?A&,VѲ+~8zO2"8tYcqĜ\&"Wke W:b̅Vk#_c5Q؝#:J_a_xX${n̛7Ŝ0Q!DQDzz:ooo+G|2=p:߂}`! Z} : Ds%ևKI-s v᫐j×ixM8Fw۾G* ]hHt8~rv2e6K+=y߯< RƲipm|+Mqjhvbg4,7\-@者ǽT]s", 7|Cy I!ǐ~m(tM2 ptthz `0@CAA՚rD iرglr#V^ct<3e܆ j>*%Tʬavph<DmG0G弹TX4k2Vx~nXߥ>[fy8u͂jY6UXs^B*+A!xzV[G>a*۔S`!dj~ɳ(HqjhY um& )?>&hn[:=2јEK7aRW,ٓIw1-6kO1"b| ~rJl S`Y mji_ {UBG^q#17 kQ˔eh^㗣WC5nVqaMoY-p*H). r;mc3jq>fj`u厪nXJmRK  ٬#yܹKD5w|2>/,7V/iZ sRey_?]@ߎIYqv$¯KqmE3h4f[A[_K7q79navL؄&~;Ֆ% \_w6ۦ/2^Kf8sV]m1=#L7  NFDV=,Ɖt۴D}OGyޞwkzo,>u?#TTX^oKbe.'o Y2Kނ oZ{oK/9/:Ecq)3IFW3_S'O(3w2r[5Sz^OX9iYQ<ᛷq"> ?Q("cI5I⫯*VXQ*=AAtbff.ݻ'&''w߿/4H}ů% /swê]EA7 F=owQbK7Qo[ͱtm/֫.I2j2FZ̕UYԥ7kXx9Y[ay^i?Ug+V(ƦyvVQxdr FZ17mZs{|M>W]̫bŊbŊEbDDDDTPCbT(DqsbX獉/['}_?g.qd6(bxg̽y$F>c|8mmQ{pBҦ8{BEQ]+Vi K0yxK& h+R*(~6{u|SnO\Iԩf?g|+9 >W#&PҢ("bjF#޻(&ߎ$ĉoň Wě.#\:'^pF.d wD-ͯ9{*kT\aIXxUgmhոYPJq󪂤X3ki(HaYB=Yi #.+oQ!x瘳(ۛœcUbl9ê9a55NE^W {N!"""綵u n{鄀/'c@M iAɩyC sOǐb9#.lyb^837,0k~k+|(#P^9#7>JWA/E*gIhjo犘$fy?E |s,5 p[80y1?K?*fx 2 / A(7jqAԋ+՛4`ռvsץRM= Wݼ݊a@:r8_0<%)va?0dX޳-zirsVG;u0hţղVĜbRGqDDDDTZD_/QU M/AZケ #ڠ .v?G;l 5g\J)'dWYɓ+G^#~ЃJSߗE| T$z]nSl!{ *;AHOGen?4[/>3`Ш:r ̐UE &n10zҋP*L5X1m 'O=SǠ; 8eFq~o߅!?Hߪ_`:]yg@"ηn#n{nJ+s%јvjU }@0ػm3Zd֯80^0d C?XO" IDAT>vy~/ 6@Ȅ>4AVFDDDDOڹ}qKdyMm- dj~!xS?K.6kdܺs ˘#EZ-RlKIjݹ?0d\}кK?nEv5SQU(grr ,_i86w@=q wOB?v__A[AZF"<,5L> ^J˪Xp-! AE?Ku5dltW~'@B]-т023/WӈA^+tT"P7]ʵKp`[wvb\qw(2 r4""""z_I݃Z->BݑPkWaR݊-;JX{V~WE I̛6}/kGoj7^1jWwSUA2ޝ@h8}tUEAZ-999a„ 4h[bf/z iԨ {52ށ\IptpDWk`@.4Jz V%JL\?cl͠l>sF-Z$sq9e6p3 ^! uV赫8lB@zz:MSEQ4A@jj*'c\FS4\\n9T#Rh4Bwܼ{G=d29ZMN&Yg>k>*ԅҰ`˟R)DDDDDO 2 WN !88QQQ0V !{«t z܂w/Um6ڠO]0; {d_#4:<_G*lɅKRDblRHH/?Looo9C:_ ѳ4H6ۻT {DDDDDDDDe FFDDDDDDDDTq ѳϔ#zfHDDDDDDjDN&""""""""*X$""""""""*X$""""""""*X$""""""""*X$""""""""*ø 0=&M/koР!&GMЃ =.^{C.3e`Vz=}XgNkׯQ ֵ>A/aDjX,9 \J'""""" dvލy(ŇA(HOOGTTmԙ?pii|G;;;=t=\K_D-P0C m1z9㕏"g GZmh,S [vCs?TjkY\B.҉) $GGGB "9۷o]Q `4fG|||4Nhx`0`7߽V8il ?^/u M%Ty}J=B}&ʈGBDg= 0ona  '5*W [W>\53K)G-GmǮ6)CR"@Cjӎ`C&7}^;ܱoE!G5C'VO{bjڴUvw:>=,ۤ^,$s'{-Ssި /wTuwÂWjCYrI]Go Q2|= N:fAMڤSny_v_jc'ςTފKE^ʷ%''Hu*mѴU4iy6= RiX5Sz^OX9il릏1mRv$`l{fqFFZ'_a8\ B֨X\y4->7oD|~n;S#x<[ux %EO)R)[ABcv}_U/%NDDDDDDO'ɦI3/\n'b`K1`ZYԦIU`wU^jγ5^\$ݽҰf'sR`XW|?AQi1"Ra\|1cM 5 -xeܿ1 9rlmǒR~=`1Ӭ0}(.6 eϓ%Ȅs!=d/ iR)Et|%܇W:Ц&Q5L {U{:i׮jƳHJE#_W~c?W$51<6UPȱc|9&Fxtmꍁyb 7cP'_ܒ~ac|nF lmn#|}hՌW$%ǯM>Caߒm*|?-IJW9DDDDDD@Y(}= /uY@X}L ƸtièB63ͬ7r| T ̯P41??.b$#,. ̱߸Xݦ eow#w5$ݼ!)YUY u6 ĩ#9C@>I/ȕ՜SGQVs ,ߣE<Z>G[ {g0VL}ISOb1 |v;-֝c}`ȸC,+0?p,`ba4J_b§!|x:jc7RÃ#Xay5֮k:ud{-3nl&u2ƢU{6uNVs)dFfNjKxDapnv@X)qqqpvv= _e_1=j8|_tyH0ZmU6of8PoFšyzͨ*XY{&n@[U>^92 Vs3:R*L+H<[`lJ d\#""""""""s|Q Q Q Q Q Q QJ *&M/koР!&GMЃ =.^{C.3e`Vz=D2Z*l 2qU@!"<=ú' Y`sjV[[iHn .DDDDDDdcX$cڵ FjB@pp0BBBYEZZz֎@׷ހV r@&3س7 G"*ۅ7meBDDDDDD6@IwƼyQMz @E#** rvvf84m£`IKCa/{S({!`aG{ϣƋN.xF)0FϖsݩqRDDDDDDdX$d0hV!ߖ_=qmP+ʗWAƬ `w棝} SLÊG?bX=Deg0HϞݿkߔJ#""""""W!DDY٣֐0yXr* Ku WxX<_#1+rrT)v)jN̟2*%TJ̟:6(VqjhY um& )`H>/^ڷ C). ?=ѰN}msrԫZF꘵/y!o}<]èevr%u+5[+uMR,ܱl!~uQ;~`g=?CmOwx{` SM=+a`jZal^Aſ쭸DQDl|[rrTW~]ߦMg.\Es@_XqsV]m1=#Lgv=['`rj4_7}$ޏie+&c34i;!XnZ.;q ŷ#~5yFa9_7CUGp.Mꚤc.uO`팱ݵL?2`)ðz<6\ c1R\ IPm=Y,M*g_6N*ŌJcrM者ǽԜg>jq= WN o6l=sN 3k?`'|9ۣL/TRcM 5 -J{z _l؀zo܉󇡩v8'6(.7RMI>:mʜkoޓܟ}Tf=!"z0/DrJD}+g/uUD " l1NDDDDDD dx\4"I:>wW:ЦLԥ&^Uyvha4sԸ~;g獤T4u57sELRNjb*U{kX61ǣkSg<3Cؼzjp6ݟսqN5z^ ~R$uzm*ϒ\tcR._zӾԵ9r_ 5_L';^Q }q$G4f=(e=>{a 45æg %ϫ0S? KwsPyUHqִ| TL*Հ&&'^ǾbpT@  ax}WThowTݣ;9U彇 gK]},9sdǡgU=_9׵I];s;4"?+> %Ͱ@DDDDDD%@YRſG-E+7x|y}ˏG`6ԓЧʩc% a'AۮM֝c}`ȸC,3Ń1={p Fm,vMnmV 6>]Oջ7^g<wA潟Q;bû,Ų{aRf]},93ƢUR/s֩}yƒq:4'.u hV7E鑞DDDDDDT4 "50;^\`J1gZlo7q; A88;;c|vxj@ޯ58okQ7gLy3ѦuTm? ftʉO6`eADE} z#RifR] %.4&O.=8E,gٔ wT:OkE9oI?GJ,C٣;zXV;9|1M1ťYW(raծN]1K8=:hC,w'k%n=piiy 6 3f̀'&RSS1w\R5#"A.YVzt:,_%|>eZ.!rlF#fr6BvkWq ٦`DEEh>JOP 882B^A^ ¢"+Rl dBBBxd2x{acFGJ ,.raJ \ c c c c c c SH%ELŋ7hXADDDDDDDtbI/^!ۙ2ff+>,3KĵWQ(tZ`0ftdqOVCHŒ_ϓJ-UͺJ=rT*#alҎ;k.Fy  gIfiiY;"w]zZ2,_cϞ,l9 7cwۚ`Tm+RDDDDDDD ٤ݻwc޼yptt(vh=A "@x{{[9`W`Ky7I'#zz,ƿN[,Wabs+ER!#='ñͶ'ӗ u=|v4ퟹp͟co޸.pX=|ۮczfG><ᛷq"> ?Q'&V'kU"XaNnn\ c7FHn_la1TuG6Xv)b06=}ߚ#(FQ>,J[aYqw$>lT8#uIIIfm:CݺuPByAA? 8Zǀ!k16M*ӾRuP)ÆY0A8=+zMr{WS)A/A=X7%+0fQ0q lWݿ=_œ fPV|uML3_?k/.6 eGdB 9DDDDDDD@Yً}<`-yZe ̛bH:ot vëUMjhSKMbEU 4sԸ~;մ|s,5 p[J<׊qwP#ףk_61ǣkSo {H5>z777*HJ_Njb*Uʮ[[4Śm*ZIJW9DDDDDDDSf= \oΝ[d6"W^׶G.o^0N6_}:#;c)"96 ĩ#9*TMLٓ:S|%\ |[9u0h5QH6K@;;ryL&3zr/cVB@zԓX9u :3Ұ^0d C?X>vw5SQU0R۬]w|d} 8Y_$|x(Yac1eq%Z!ǂի00b.?ػuY[X<'tŮ_YcѪךmѺ}'9DDDDDDD@YR#ŕpd_E?qM܎ckPl״=>⿗ wS8d-&[7]ʵRN0 s'0"V =Nգ|Lf}?!a~|O[=Y>f~y7߬)]zF1ݟɸSۼI_OlX`֧/ p|ѽW#)sJL|!TDw'ڭN>]0l0̘1B(f HMMܹsѯ_?H֤{XW r(ELkl͗_")I\?cftfP69#$""""""ㆡ{  "(f_N?~m FTTFD ܃=i26 00d6_XBʘёR)DDDDDDDDe d\أGWuKxDDDDDDDT4\ c `""""""""GIX Sm۶P(!J5ٵGN&""""""""*X$""""""""*X$""""""""* \DQh(h4͛7A 777ZjB\.\*.ddd 55W^q*U|}}QB8;;C&!##߰\PT,܌e_J-qOu)9to lZi'OY01T?/UgxuBS)ʌg 6pssC͚5 QzÅz3 72*ۉR3jVV9W<zh5rP(Jxyy|s< |}}_3jǎصkFJ; NKx6e p ů?~׺ J/1OŚ!x(0;|]Qb}t<7j-⇣3y6]X1'`8DYpU4iysj!H4@MvN ]I+熢f nTDŋXv-d2j֬ R R Qvr@Dt>zbQ3rGjY#D @HŅ] iP WUBFj]+VJBBB͛;m۶.{n̛7QمUQ({C/܇N`_2AoHVNј؛vBu'pNE<0 0+vwr(誧=>Rie֘h1}38J~qT_`lߵt@ώz(g']`þQbmja8 4 mj;3cvs Mc_;t(7M*ӾRuωF02L5b!|wX)$[C/'/xO83 x{VIo,RYsA,]*T@ZP(56s?]_qspqmWQBM8*I `g ]'*P;j8{xy4Y+7m6lܸz>_γ`0F1zVg/jM9R|"436|V/1d|c|2nCG5f S*e0M;L˿Fbf}Wx)SBuZS F*^o4hH135ꍺrGUw7,x6t9o W0U-tǾoMy =ޝXqg31f1c-I Q*TB=%B)TZHJJI,%[` f;}?9̙9C{^r}]v:w]W:6e 8\5w75."nvY,OEDjǻ7V~}9&"f f}>C$jӿA29bУ{ېu9}=8Vm=EE*z[w>=oɁuOo>q,t0L nXOD={ lLtMKb۬6ՙ~-i@o _ :)l{W6t8M#~9?u~Ս)҂^)*Jîppwe5R#3 Yʝ-ϨɈ㙧'o³pQ"5 :GX=PGUny"1B}';t2|>3ҨY&7k\ ׫D[P;1u0Tr4]kPKUME3QXKzc"sel򏹃@EQPMӈqƬ^PuNN=!`O`!顑s O. s+))Ԁ=W^%3Hm{}ǫ&L۶/vfz?5VYe:;z'01~1~wG0H~w%G}}1ufmxto{3ɣK{0j~yc>rxϞ4!;:ֽ?G|kiKnͶCȇ\m ИQJF~O;/⶙li}o.ף{ĈLh p1/Nx{_Bukw23V#''zۦ{'l] c#woyl=30*I8WO_λZz$d?A|̺.Bq*|x&Y+ݡ¶K^2o0T%}^2`e[/#3bv&`Exg!+>sQ*wB qj})4JL` MpZ+nJe=ݥwK8UNv(ڙ4N h"Ӊroh8\ 3b%:Q].|a/xt@sMpa/8'/ipzϫ( v,5jDϞ=9|oͺu{y7* p .ݚܵ|05"/wI[-ax׈(KJbB"99ul\uD':DkL!mゴ~ߙڱrSd..iΦA4jE{9ǎyE nSv?{w_$`Dw.{q2J˾a nX,ڲ|k+iǽG\waCogîĺ 9T֪ƬԍmLɁ\>T`{z|D&ݴuo{.;5zRfmdwM>ޜQ?N4lR(Lс:[6J݅iw8Ġ.f.]P_jXŞ\^kz7 w^|spn9{  ~4K~Nj|Bq xUsg, xE2үȾ}~*+<9oϥybea)7LCӋ;dtNUj8;Zv|׮mF:1o;x6cq%נI1/pwT%O;?ԮQ.e[w}'O фNy_ . TUC(z9c9G Eu9* 8ϿrЉAFLT-G<>uEBL&iiilٲO>3-V5'b=-TGΪ7p<4*,AY] 6S(1BFy."fkIþJٶ:$^TyU@ĺ@}hbbЬ^m# 4lfsVnz46<FXaQ=b&=hv^xi|4hP7Lϒo]w1n'G7Q0zKbms i}"=Q]?2˅9X7^>{oP㑟ϖC=rB!+{'b98߳L8,h3s{_Ö6o` f{ Bkj1CKIoz?8K{bs1OA@քڭB}w-cT;٩r?#~m@g2h3soHl;U]NP+__~ZϚ*sͻ3_~p|ᇕ9VPu(*\eڪRqi.\L'>{|gm$Vy?hArٷ5Ԧ('xV݄|+_2!A?g歵1Uso4kՆ}[Eb2ٳyyy'o_1CRi^]Z%5_058 Uo҇V9H%/7탳/%xcL?雿nˆ٤8 C.>TG:r|ʽ\tm71NrXR.Mb[Ӹ{8 бXXZ_!7a==h6?eCV% wc?' y ^oCX+`L .x#hvY8){zN}Z` E҇9H G,قd3ݏ+o*UU0歘ío>m +=}WK_jQœ)Bsg|1qxoe-f|կx^m!$71i݁735턜.73WS%%%;$%%iYZa .6 /S}z(x_P P4-`jA9plN8UոxvʰFh"ׯO&MB+Tw:_WeGq]n;(*5lG-~\:^='ޒLQAsWph;2uP`t^{_{%2{i0]'x|oi h{iZY3/>Jk&x4 ^?ֹF}Y} ːM gD4b?sˍWlH+1 #n3Io1{᝘ktз=աwp,K`5xi^ }ma}*{S"5\>l܅ӾSd :}s'zNĚ[1GF7FC4 \J,z:0;^-cL,X!]/ Go:c;?M-]B1pImKuv́ؿB!B!9YMVs.T3iر(4Mè%tDFġKpm[WS]=g_dyuh&LQ){j<4.]e=h{020s_#v7>d"22իWt:]B!B!bÆ DFF٢as,DT#Ooez@U<y9YBT|#fY WUJđ#G+"C)AU5tz?܃@UUbccٴi.+B!B!j9X4nJRR= NՀ),2p9ʄ}*<*^~n&{wnjLa4Ɍa! 籷*O~j:6o?@ӡiQQQdeeKrrr)*tP]B!P]ڪyyyXV"##4 SX Z/X. Ŕ6O#X盷ؾ3iFdd$v*w!B!B!*R-{b64 !/ =vC(vN~}ټ{o}.N)ٷo_E(B!B!D92l.~%qRJ?m8N (I1tAqxGطOTUESTۈ =\EC՜DG$0W-ڶ^ʛ3_S!/},T3z_}֜5 SN| Ŀbxm2QzҔ^\GS Hs^թH%^FPo|"&OJ@ .AiQ!:],KOu{AЗiO +kߐǂih \T{ F5 cRF :E ij@Wʯ\U_`iii'4iN{\.' ya6Y9`ĠSJ|Ë}~i{xM!gy7r*g0ܹ3ݻwߩT+pL$*<1-=DGR6hVYLSa_Yss1ټFLanjW!BqpZfyv!jtzo[ڍ_aC`=3=#&pciQv-nbgj e j6gr,ݖbN(z~@/Ov&LoWo,~s]B!9{ރ,?pLj<7E}D Wsx"  nE{c|jPcٖ߾O}Vϟv}=a U`?{?8ى >2q^!^3?hR<[K΢?'^ĩWk txk?ZƲ5VQsY+Ԟ*poeD@ Tw{Z)9zDsਅk&ƦM튢pe=7 S XMEQh{lt:1͸\.T:NvݎfuS,믿c)2)^2W_;3ߢόO#w"@H>ڟ. 'Wzz:߸.MкA&_yn;3h˅ 2i׵QiK][Ѫ~&?MOЪ~&/wo˶'\k6ǶyaM]NE:z5oDÌz{f>{oeQ^iU4F3gC}m[k=cL<%`۫ʰt@#s_O=gMly꩷-(}隖DRxo\[?w̷=} Y?ۆ4˱_{c_̴k81|E셧'`ll,tu\СhvplUw h˛?Xm<6]n}~K0W6>}*_ %= !BsOI< Ac_!Qu7 /cxg3 `MVCmK?痼d_.h7g&~y-Vүzh܂yoY-̳`CV}ڧT54?SiVW0֚'C>}O{'l] cwٞ7#7;kiKnͶCȇ\m ИQJF~Oy׿xG,gپC㉡8e.U5D+ Ng7sWlJ;_'sYI$2&?Y~t7K dCirZ,3 _h!ɠ':=VQl6 CYELi*`M"6ёјfT#v,2HGl*o>~7 400u@f~o0Ao7 ^; ok }ے`||˶3/>_`xݴxM^Y<7QF CM@mK S+_t2_w+ !BVWoi݁Ӻ‘"GݰX,ԨSi~| Y|o0^}]+pa -KO j&_Bw~XM]w`>058 Un8;oO"w/;?8yg>:<9PUW6D^aꀎ ]̌Chnp3w>_ Qxy_OBhzv_Mv~~ -5э,t$u|8XӡZɔVj!!F(*|?oHX }JDغrϰ ٳ[iM{a;gc PQ0-;Z$''U̩sS5'ߡnl3Ea+Mk/:BX[I߹IJ;<xfiIzz:4БbobRjDL-*}ӏP0nhT[wQ?X-:1&Hm2ݯǮ]X}zIwWB;sFJOOnrP  OUK T0瘊@mygnO#kTwn34bDFy+IMM vug%b*TݫEZ`kw*Ӗ|޸|+Hkx>ߜ~Gl"wW{s+;vbU~9.ܽS/ I ,dØ>?UK0x[;3B!_CwHK ZF3_Ă?le@fBb } 7d(1+z>"?x;;9k+BP.ٿ;/_N̦k)|w2DL%o]뉪V'͏sY T`bb"(S)F\4#h Ä+m~  _27I'0I.;X ?k3u&*SU4hPu~b۽D[p9:8) hn]'_'^ рY);ڞxwXEq罉cg'k,قd3ӟB}qcp*\GnŽ7Pqfއ7N791"Mm j_8g_}a,Oӣc͛ gF~~7uZUB!8}2-\6qcg2}wĚVEX<;)m /f\& ڒ.k˧N\KCupCx|!3c\O^s{Nȕ~7~\y]v;n;FD&Y993W BU5Rjꉋ(d.K`pQ3SU__Xt=^W\J;^Ko~˄hFBI\9 QU:uTxgP W'_[ܣ/E%9hKgldJcE)[i:+qd~Phvk;/]vq2ln:j;HkQ$_W |f#[rŃoW~7̸治_[6gs+Qo\ݘPnhUy_ J'Ce<~틔=AΌ*9B!8,|CރӶ!LZ+WU\Jrhn@e#S?|ԇ%>BFс;_bL$^7fݺu/VEɓl3AѺuJyJۏkTLnn!8O фN|d]0zVt:4i)..l6p%vy!N{!:X@~zuM6h궠!?%\Ÿw~淍:4_ord 0`>];~w2Ν˯KpQՊK^l2hyA:E;,((ફB`𾷞JϏ@^Z+HL~#t(,(r̾}{1(Fn^1yvxB!go!D!DP>99IbbbȠpTU#ʬ}0o>Ltt__O\((8%m{p 7YUAAQ+5bզZ:ԸS\bFZ@Ѥ׫NJu[pXK+iNF7t/rr1EaÆLعsgƍ媴`s8vVcy&j֬Krj'5`'#s_a)4QC !B!ĿqP=ęd1LTO6y,Xxz=.nɪ98E ?J$_Cu^*OT z=a 47CS1ؕb߂ xϠhoAoWAвe=,(ǎYfDE;ߜwN6m&(uEQ]ԯtcQeTcϯLqÞlg !B!jz*~A4b"tj4 IDATDM\Mч Cq5߻xi΀G7SQ+ Հ?Յ^QatjRTTD˖-1͡^JڵOK'B!Bq6Iiڴ)\LQ5"%EIQo;h++ ܡMuv4ݽ@S?T,(jc8O>3hregGIzBB!B!BSm+=ڷo)..&** EQs>SN{:M }<<+j*wxyϿ Aջ/eÿ:FFuh۶pѥK"##CB!B!q98gT0996m?S~}4MCQGоi K~9*.jALLq!RSSL,B!B0YMVsJvʺu8x IIIhAЩ9%l{1@9wVIw܋ OQ "HǎӰa=cZ޽)_lB!B!YZ8|0EEE(iDE)D4sy?liUi*/kN\.vcǎTrB!B!BT233ҥ 7vN˥QFwtKB OU}* ¨CKϯ*SnyaaFjܹ ХKP-B!B!DΚK.mۖ;wp8t8*uJdYP&uw+ C _bΝa4qTb\߱I|t?c4F~P! \(~ j ()ukV~[~t:}%111mDze˖r?=d!B!B k^3g۷o^zFTUdӮEMֳݬx4#(TWyC>=/+y k uM:ڷkH͈D( 9݋ho߾=qlٲNn+.*a;UB!B!DsVqqqۗٳg~z4hlF4t:  yO1B{}Zix?'۽ ~xqW FRSqdf$aq9+ʎ;eRwVvQ~kԪYpvFV.B!Bq9k@pg}ƒ%K]6(4mTZ_?i~T8.U \OsST sX&zI\BZ̤U%%%ڵL(s1o<\.W ;w{ jQTT~Zlv :Pvo9ȑB!B!\guѣGׯ'|ѣGIJJ"..4ٜne5B5vpQ%vKll6Hi*'d0`600H3}ԉw`l68@II W_}5]w]~[`/jC+SU)Ō76mPvJXNfla2lG^O5&gS̺w_׎ Sx0&m` rS*UU?q F'U}͉ 'XB!BQh$>>矏lݺ,VXÇq\(]8GڵiҤ _=JA{<}[`IIQ.%g՛\{ی)JOS[a(""QZ[_߹Yu0J >O2;Cvw̵ؗE\BQsUEU_{Uu/[㽯z}PM϶;T*;VB!t`00 g;'q\u"&-Z͍b2`e4;[/#q*C/+0ʪIdYD%6 յR9Ҙ^jm=8k#QۃǹhR]R:azԬ8?ӸE[*Uyr֫^"{x\VnkHU~2O!B!mR&X¿i\F?.}ho,!h8wm8 (\ÛOB2%=bfV1`͜NsvrwO=2/vpG887Cn۷%Jy4P,g3ShQW=xiɘMt,Ϫ<88̙33Gsf1yz*Zʼn,qLֆVӋPh_#{ :F7g A枅92b6qW ǯm6^gT4HYF#Wgu,9`kMUcKXr}qc블]uq$5+_%Fv/gL oI @W:}4th)q;h%"""""""QP#x͘fr}ǶvTV[/"""""""((iҖ-[ضmiڴ)-ZpgKddJeھ_0U|tzDDDDDDDD.%%Mھ};ӧOl)7?g20ܻwTr3*۳{""$F#ٳgǖG& ^MNw##jժOIԣߎnի& ~ ^^^$,9f0ltx)_pRDDDDDDD6JJU"d2%bBCC\~ݪWώd͚,Y<1L>L:LlzI54#bYk iߓ[3p*~*;? WNQ.'laa{|"""""""TQPҬ3l%f&uU,CPЩ$/6m/OR~v_3ss);ʌ ' ()_ W"? VX&W?ޅ1}^,ĉI{eYŸp{q%&2l/+;gѿ53t6ley!Km)e6rLkΚ:oU[Z@ ,S\ Rě9c" YJN1L0?\'f|A?6 l9;Nⶶr%hUܚsCs v5~ <4P4gɿftb%&恳o-ead`晞[tZ(moe؟x}GYsf_X)Ҽ$e.Ø8+O_7K=""""""" %%͊[I%ߏp,7~Z-?<}f/opr%seѴ\ק& {Rd,CgNA,مݡny?6D+#;ZHYsuqR赉 zÙnO8"""""""in4I'mb7P FKI%sǾp.'a,vnkOA#dዖʩCVuUuw~Jo!.0GFVv)k1`͜aU"y-= !?PDDDDDDY[%r60>LpՃ6˛@2ʃɜ93#z4?gׯ7`BV_Sd"LLe(~[q%}ט!Ydg=-eӆ",?WނVg6[ݯ5aX?q\h;; "v{VUY|SDDDDDDYIܻwKl6[m&pSvGEE%K6u g FE/̑[m)aʯ)8/N۬O g[[m#q$L>:;NBn{10Fyڥ,s"5mڔbcswwiӦCjՙ=g$W,DDDDDDDD$MQPҤ-ZPJBCC>`00&w"EDDDDDDRP,ood'DDDDDDDDĚVy)("""""""" -"""""""""Oݻw; I @b20L&&sGuϝ[EDDDDDDDDeJ<Ôy4vN>L oI @W:}4th)q;h%"""""""65뒔w؞ cG[)(Zё\tff3rzоc[mW[CۭǼ s&"""""""N3q<׮ɮ{,egܘQIb4i˖-l۶Xq4mڔ-Z8%22{wp%2m_/QQp*>:_FOQRDDDDDD:ȼ9ҡsW~=z 1{4F#f*V @Iol6[͏fL&f3# *UǤ܌F"$GHٱƑI꿂oȈڹhSe*(ķ347f@;_Y= @`; ,5E:. N70B%_洵{9kLpSODDDDDD,]!o gSQLy8JJU"d2%bBCC\~ݪWώd͚,Y<1L>L:LlzI54#bYk iߓ[3p*~*;? WNQ.Շ_GjNޏ_s$/e `{<ƥ~毰|qgEDDDDDD$Ȟ=+/l2aJ4/N#4&?[ɿYc]կk;jt+Wzu7sfgEF_T{yyRbV6e?&<-_ ǿ_ Z]2///~ՁXl^ smK}d^8%r ̬Gt RˋWᗭQ<).G8}DDDDDDDRgAVLX}q[Jf\9dy󚳦[oՖc.PB|Vzܟkh?7s`eRD?.///Oi3l|qCu aȷڞ6mq+gNN{{,`u}x|9r}0sT:Ur&)~ΆP&EdS*n9!9g:?]:7KH0p5 +^+]Β),JLg!99-,ead`晞[tVp&]˲!l Ƣ@RKXX&,`rS9k~ƛTLwz#kueEP^}W`ʕt}5OvdrscE^\X0 Gb! 2>JRjꛔNLX9Mle >ŽFtnފ/IGrߗEG IDATWHS$|}#дy mK: kK|{;M3%[I%ߏp,7~Z-?<}f/opr}^|2+ݨ[j`[f]];=ө^YvP D+#ڵ5-9Qb> g+9ߋ|sf"?ycrmzzϭl/.]<^G?|v[כ\0nMݺ}:Q!oFHDDDDDD$5Kطs+û"Ȟ=ժ"w^ YfMyEDDDDDDDDD4Cd%EDDDDDDDDQz3L @g"""""""""0,""" %66Y8a47/: 8O]oǗk!=k^OXPPDDDJ 讯+6&gᑑBE:k"Di>sIMAدI,2v,դFB>_#{CJ{)2jlMь܊w&{狴 y>hц%goӧXVooa8x'ϥgڌ^k:kp$/vƋ^ ~E,LŸ?SW$<8ơw\&OjIW;kL-"""XvlLێ](ZFw#`H%h۱ ;o&<<yoZoO T3gw|WYTD8sgm 4WmruiZ|sc/r]^hp4~~a^:=iKu-- ƪh1(e 3Hr{精-B.ۥg57px{wۖ_-`lAA4 &_ 5}(("""j/ٌ/J 9/+ucy4mofGYK #`YeG@(Hߊ%?\ e96Js8(<>߃ŋ7_K?q/w(Pc_I2sWZ uU<>6gz;f&MF`z \j sH^ q; {i40mQ]?M{drdu70G36}sإw2~EKqt7RE+}%.%J廮?C @y,1FmboFQZ4Ah??hR&t]Dp1]O|rEzdiSs7M=NgYx WHliYWy/Iω+Ycfvm?tӺ\J \_ov% TiŲZE/_BoTf[!yf߹0ԐHJ4PZڇo^]40Z-E J{?ӸkZeYbqDg~/(iUִFI~Uٺܽ9xz`[S-Ɛ#ѷУQOJN,>V,TyWmXH֝#9fN2z>4IqDܻG箯q>DG?G\@Fۭy4z5ywnŽCXOވ vxao epv3d6kG`#ӻ7ؼ yh`p"zFEZ @Vna5hӇ[b1IxwbITv'Dq5iHJd hCŽ󼻁up7d[!avzJ*:K,GAF"2q(iWƿNnr{ޱz1"14czAr~a6S-?hr2gb6cDҒj,zm,US?TV6,;:Qfu͂LQ#cFMv?xxGvo_>z -ːh`e(24{\IV9v~݇Oas-~r~ gYj)T2AzXNARGc`0& s=k0s6/03h근xm2 ?!|wmN/:,g{P&K: [%p[l @-\V5mKɤHs$%̦ Zh`gN3Mudܽܽ C78oػ|<(|A}P=YtK.wz-I0nZoQ87*%n7b NX?LV e ¯@AU)սc>bF)[)+sؐݣ]8E| 2z)nnlS0q 3oA/5ybbIT.\"\4|YLr>r+mZID8-Nwlm_6UJs.'㫨]s uf7&g7аaq)c'ObV!C9y>Rk!6}t4KE}Ks/Gm%Vǹ3s&lXgY}4Eت,yKG.PKUq*3t}^ϲ~~قv _r\VӨLN\5rTµXxFΚP Tggfw_v}|oxeM}~eۮJ|/xqv"y Wcځʌ7Qh=y TF~8q]g+'Q;[S[tO"+?\grQq hU1;(xlo7fo,cZˠ3=K1kFX|j^6ҡQOn:^ѱ:XW@stnVnCdO<>\ L :ƩؼgFq1"M0#\oWӰ'[!岑?#X83~]׍1}d?n:Q?+w[˸(k!z6cN|Iӡ;PփE3Weg2J3: {r4յSL2SEr$8k9= ~^lC-c3qI~/7CiB968ƪw.wBża7j:M0[=}i|/-1=5ѫ#ڲWNcLw$=1oKuNףGU.#G e[ɓ'P}Km,9h9jw]mOյU=s' 4C1q~>ʴzw/{vl;8yrl;QG4{fC(~d$CW8Ǿ$ {-ݗJq+xߖ34=TAtnx i3卓;Y΂g}=n.<=wVoZHu z5+s5wbB4+BVH=jf˙(HfX%,# oDE9F)[eq:J%)S{&'!gL9y twT(!fd 'ϗSi32lvيjW*_#'/\pi$u;f$|R,9w͗BْE޶ԛb#c4_z̢C\~N,OiK:gξ?>M,ɿ8'LBQ$BXm޶/5W^U[xFZcGawxޘ48vV"oy||[G()otz6?,\:%?[WnMH1*Y~"-kvmr7N։Nΰo@*e@p""xT(̉o=@8~ cشajbq) J)u@;9qeci:Uڲ~yՀIoYħ/_$LFR>nXn.Ruwt0ݥCb츀$1B.D/[2ּם^or^X^wKM6UyVxe'}h_5tFwJgJohnKo?'[}|iy%=| {bOXJ(@WǙŌɌPu{sZʯvc!j5^"৓t;t̄8?UAjجw6Ճƹȓbo_ LsLڿrK\:9 ǽ$yl*Omؔ[z2fɫX.|ű?^={0 t004c&;$.m奭޲' eB w!kh_>;!WIM$Os(0~Z>@7;}JrI>dF.OFS ,SXz'zEy,T}3/.k_t珘Լ;]'Lވ j͊шeKu;>Tr?)|ME.=3xoEm2ufr3]}#F~LnLg!@ҸrF0qyo{>osVq׌l2? #{Ťwϑ_|D&} :A\DDqٜx-2ߜپO9pC:_Pv8GeL;\8nik,̫|s MW>Ԍ<>,ynKEk%-c=@Jټz.MfcN`ק)WUkbNU2;b{<8w[hD3qAXHpKu/990~(IWk3xeVKpUoso^]:c0n /[Ϟ8L]ٱVY읙䘷BNZo_9go~W>ϙ] j뾧ŀNfϜ=Gk.ΙZgؼBV1[:g?ڈlѮA$;-[R/kNo~FO qM^oUr=;A\DD)Mrٽd&w/ 菉{^Kz cLl$۸qrvvBq_8&*ylݠL8 ;ZrJL AΝ0];wb=+gt6U4sl8W ?\}^9s]v.A-fF~5}jTg9G}&Gr>4(ORX$uY汛L[lR xxeFv}sI 7q:d<8ƃc,|g4;t>ϑ1b796_0/1g<͂qhܺ; D߽ƏoBR5j9W?q /^ǯ,0(^~RIz-FSV1Ğ{qC{1F?ZmC\ eY6jDï|J>eIXZl8vVwls'noQ87?7CbbU "r*s9q2Il= @dǴa o*H^ Swjq'_zFφ춱q7ْ 9ZZia}ΥD瀕i~X;u^@ߺahvLȞa#qu#7tWM~s53.'Mƌm;a4M<<)yf_ϒ+3dg4XYhqn8EDRS)\+/pσLl:_S>OmZJ\5-͛ i4rVKh`՜A88ʞX4w>h)ܿo./w7?|͓>Njw<w0ЬV%Ư;@B'O,/o\ ,m7J>ebBNߏߛon݅goS\3EbŪ ?WQ%Wj͎_,p+܌OiؠӸonn}̞ \F̞gWyq_io8?1Eǖrմ 4Ws%;}!wڇo^]40Z-E VqN}^/Iω+zk=5u)g`:Y?X`K#hԓ0E!7x,FlK; N,TyWmXH֝-? ȿf,wGO; y,nnn`xޛԼS/Ik9ƹȓ*Gw<|CMxPk@v{'Ec-0K,zEymͲym܁e+3ѣyNoxfyz}h1g䶔9{?8:/֎Fĥz./iHUb4 hKB-A F~_+L^m&X%r-?KnbNIDATSn=W=l0Ml8[ʜqo9O,Z@R9*\7WyP!uKW @y,yʕK&m r~8Gە+ww%䟥qn{8yd&w/ 菉{{H1wرt8j4qҋmVOzogv3S'7G)_оq":~8: [vJob?ʚ>-uɒXt{Lܭ"""xb 6}sgOɤ1;{MmvFdʔُA8OM\D5%8 `$o ]?{ۧkU)ַ*/UPR⸍thԓ]~?{3TNӋ9>GfUwUEDD7ՐbccF;yRF '&"Oy8'%EDD$UG~YxzjVK\DD_y"""""""""0%EDDDDDDDDaJ< D XIENDB`rtpg-0.2.11/tools/screenshots/info.png0000664000175000017500000042534411403430344016656 0ustar dimkadimkaPNG  IHDRf$~sRGBbKGD pHYs  tIME 6mjtEXtCommentCreated with GIMPW IDATx^w|l˦^!{ EE,( z}^PT+^DM:N!!!e̼,黛yJ圝ONQ2.E˴v!B!B!>Dz31XvB!B!B3AUU\._>!B!B!̠*&@!B!B!f&Up\ؼ_^!B!B!eΘ4MCS5:v/B!B! et MB!B!B &@!B!B!v]B!B!B܁@]B!B!BL2SN'vey(Ù<́C8t0999GOㆍi(Ąxh҂ _ 2u]rӍcTEQŅB!Bzk˦ o:tUu^&6d hӮϼg8ҟ.XPXӿbyޕ-i4.]dDQs$ǏB6ogt.<]w- 5'Ns4G~h]ѦM\;GsqLj1eVs}拏'-'lٹG9aft8Z!6*g (F3[$:2_B!BQ;?2HNitڅQEX$4ߙ2ɟ~5n'GʶmۘtڅKЩsG6lXϐ!Xn{`ߏJxx$ӾSϿī?9q&>>ta6pTNcA`r!Ut]gSFwluN';d (R%c6e/losNDҪekNtw={38i!hQo.B!=F]=-<)f4i֚QW_u7N ,,B3eO糷T5F7\ʍ+-˩nz^-lEnӚ6ҹK'.YB~Yr5C󈍏eɘDDDsU`w8N2aÁnl2`WDйSG֬Y,cCᚫǰf*:w诊lݹK6im),,p؊eR&9+ q<] p6'm1e֦Z  &1IOOfQ\\̚իҭ+od,;l }qqq$d2寙 fe/ym9fپk;a$%DPPP; >>EQAAUYj$-,,U&*ƛؑ/3ቇQWGv'Xd͚6曩%˄u]Ѹ:umaw~x w EK/hڞٺs+i)i: q躎(1 dCjS+sQ`*αcLF #ihJpp}{*x,B!PU{2ũ`SEF}N8*R5Vn=LՌQPe ˅4m҄-Z`֐A8|$)#%*2^{ш"77G."5oAHHV_)(,dmF6-Ze6TWkc4iJt v-iR@ǟMmvL&F ň#0LoM?ፗ_dˬxɇ$%&kxf-A 멧ylzit]'eDZgsF6mB6sЮm'\'~oCQbcHߺ_Vr4(g2 p:q,/{vSXxNB|IIfi^r*B!"8r yWU??V&!!! ĩǓݟZ5U"jZ`3u|iҤ!;vB1(th_r‰i8OCp:c۱lgmܴ%KҤaAA5 tՆ%'{ؾ7h" #Lr:Q]Nh_KubT>( EKrīОk5b(۞fsݘPUkÕx޹1i4nܐXB+[z8n_|;$%kNl۵Bv ǟ#:*:d4h$=3u;֮ӥC'Mbw80 vY+e6;yjOQ>c6o}(nw}?tZrs\HaaSs;0t]0+ -~UHmw⇟ (Q`kMn`0*֯%?/7_ă߇i/|E!,,)MƧK"c0Lb b5Fͷlr:ȈHTU5M;審B!,TGHnڂ~\= 4<M:s3>}34` cb@xƯF|p Y|>{+Ng4EY)9/(FuBtiwQI'nhƈ/"6:ro>!/?dDÆhܜf͚Sx9G9uAPfp:(,*hڴ9FVID4'<<(t:PU=3ĪRӉ(f LZ((^UA@O{Z7mʧ&t]k F^yzo2t:E|\<]v#,4;osfꔢv[Ŭ(ޥihi`r$p= OH LFo:yF~?4nԘk=7$$BuWBCC|]ޚ.:t Hlr:2lb 5{t ]uV3wB!|/i]5>¹X!T-Ҧo{-K׮]h:5+:|c ţmiX-;u]G`sF6yvd1:/lԈ}ѳgOOjJ+vg{:x}ٴlՊkҮ}[r%S'vʠEJ [n!!,-Ϡ܁@M+$;M5{SPPUˈI&4hFHHH@USUӁ`MfLZMo `]7)ޯ} ^zi"##02DEEѼYs&#k^Mq8]lظGGu;tT( z&]]ǥ]ff<x缁\. 桞:Q=ٌb憱76)i{ԮuaA:th4o^+fwDX/ -B!Ub;pA׋Xy|(Yl,|NS98'=[[YXm͂]5Z͢.`+ IT,ide@żUO}sORLƞ63tT5ͽDdΪ=D@K!:Š$x2y ZbٲetО9sfӥKgڵk˲hۮ-7oCXv-}amdgg4[ uBLQ  c},[f4m܄ʧc9˽l1{6  's(^UAjV1s  #:&sfѸqc xphLiő죨{&٩ >OKK tq*+.{x'}yu:ŁJa» 'zbF`鼵iW}kѿw LQQ!K{%l@X5B!n`jɟpsp5OO/^xv shl128Ѓ4z]5&uw?-G14 12{,1nS/>MpkT:|@ƹ{8 xmYDEB\t(1DGdJøpIm@R\_eőK|Bӷܢ9 ,s̚5nݻ诿Щ=YCjj+֮]Kf[&.._S'lVl;qIA2MHNNK`;V}fˉ ф(ޠ'`0b21޴*^UAڶ7書q㍷j1/0I( v|W$%%cZt!.ɟk躆Ԣ\xqkO0TWKmP\#44{h_3^/8>ډ5L5oYo\wZjSQq>Ua/pO5,xlٴb8ͨ+z8rrr~5lĊi߾=s̡WÏك\Dٸ~duуm۶q80qqq:)V{iU$X{vghBuF&Mj˄G{gkjJq5Ζn#/y$%5$$d߾Po;fԦ4 7d.X-V;F;cGYfh"v !>A峌B!Bb/. 4ĞWIۑOe3* B7N%X{]A( {qϲM(>Fv_g[gݟ}zifR[sfF58͆*,f A+9̚ )))u]Z`R8N8NF7I\+ߞ Լh~Nf KEhTHߺ)-9x ;p8=XOfV!!t黵pgTN'A+<5@QPUN #*..ƥ8OJ|+˅KU)ƌ핦( F{@ 1ޟ U{/?x e˽״u!48 o]h\eUU۫/ ﳹvUB!B|eW_UM{;ud͚UF1-/gLh41L;`QFdd9Dlt,6G_}o%dp:%-_xf3EzhZa`J'G1;5zL&tMV=JWa4Zy Ʋyj^]Q z(Z.4oޔKc4ي#&.UyshҊdىjPf&N=X!BqQ҆ m/wId=1i [OL7mY~?y!!>>@Uԑʫ/=_f(^}yRǗj_UzU쯾鎇ֻ28Nl⒥fV3Acr1 L&Vk0AA %&$>8aF:RSSYb;gմm׎-餦mvڵoG i0O 'fsa]fȑ,]84=~uŻlAFX&T>hɗ2FcV-7Ď=\.~ >ϿW-+/'88EH6iXC82veĿy8"# /uɔĪ5+ܱ \j}9ۨ{bGymӦeۊ>t5#0UWs*f6 c(J%PBrd\IfA)(.dL+tHM\*YGxb5I_ݗCl*B!e?K{a9=XM{ޑ|==3DvF?|5Lʂ/ {;,Z_5W]5WF_?gLB d8|RSO `QQ1vJ\d(6@QQ1!!vKMي0ldsҮ}{\.'i-QP8_-;X,_P5`0̄f*/[Ĉa#>"pj zkP&WKNT-VS&}ڶidb>Ąϸv|O& X\{/(V+!!'K]Xr9KW,[_5UU4 w0枻5`c B0 h,Laa!Vkp3;c:js\X9\]g0(3B~WWǜ1ʫ)**PAzCoK'22II\ss~lb+5#B!~T:X9灒g&f+ٚ;+ |y+[P}Jz),*՗_2O`G镍s۟ŌR٧!o_4U`40OC, !MfFÉ=;xA{%''CXL߿cyys͆NHX8 $ԐeW;;vEr25 J֜` }~G  oO @8V3 /usݘPUkÕx9̟\:Z7CYbw8"<"`+&c@z)Bkb,]L== USxYtJ:߭Iw= Xpa bAlOpi۰޽zt8Q|m#fKдIq IDATSo}UH{6^efK 9յFѬqSk_<MؙvB^QU y߸`O-5#B!> 5;L9)U344>P3jOv(]:Ռ< MAUU !4o@E>"Ycfn]2=M4 HHv66 UuѨa#&&Iqq1Mt:9~?Iiђ;g=XLZk}} hzxAQ`U$&&yݺd>taqDFoӾm&F&M P}?X/zĘippth4a2[X` "t%x_4`oEEًpˠu]'??Eq:L&aAXS?#x~YY8DtT {eythۖ~}^!B!2u2 ~=NvLt@OQBC1@Ed2d`2XZll,6.~1S`⤻߷͚4i&X l2g}N\.ܜVYCJd*5 **_uNSUnv:47_}]׉er ;2v2(7HxxhƗS&i4Nk<E]YO\{%(Ȋih{b[9sp\jA0י3oq` f 岑#Q.X_8NF˔Ï?@DD$ZIDEFc(,*$;(˖FIń !$8)!B!h4:]Jzk@u0XIxJ$F=0K~Me( 4Drrs xٷ?6mf}_dfeQPXHHh0QǒGFI\t4oڔH L*G5tWo &?YYYbi֬)QQbvXXSERTTLV3D54={S4AT4UQRCFޱ<!!l`0dI^=ԱnM0)h"(Ȃj%88l*NlL,w!`׎,^¢b !!4JlHSl+6LSB!B6n¾}izo;ԱS rei߾4lԸ8ҩǓ`6EǎVH{_Ӆ2LN,W6'0TKN~Qm_gEQq1EElvĩ Ek1[X,XA`K/1x^K AtN,.np8qԀwdb158kPP@CB!2;wW_0쒑4oI&TvŬą#.#ej)HN@B!B!-6p8z?&6GhF-΄q ?B!B!8RPp_zd2a/1#@!B!B!+B!B!8H P!B!Bz48!X>L&  O!tܪ ۷_]u::'%źQ_1@#)A g~y?q;&>># HU,W_}Պu]Gu4MCuxЮ >jBMżB]u=v<L57q+X2yե6hFn̠;jg@IM'3횭oR_1cnDЪ,IEN½gATs Hr^{撝Â}6t<6R|x^v'V/>rTi w/ŗq(/ 3=OyG/({Vmhږ ;v;Cu'jCr6֙ݻ _eqqmݎGu#ws?h|cw&5-WtĆwo ?H+%<;ڶ^ctNʮXKL uz_;ա==M9=;"+3'b+S3*\ǖS~<ߗ8{ӡFV<9ad#|%qAnޙimW.{zN1w}Tv]뽀UxnPiGx]uI`PMyKrʿِޯ~9yъw{/\GGm^ЯkY|UM*yO3쥥mHpV+-_qȧ2gV zKZMاXy#K^OB^_u9]ԣy8]MMez5\;]F u1ho*Yӯ[Xo6`0Ex}zU0?U:k}g^Y}כvڌ룲4_UshM>9ThFw.z>;Vv? u $G{SMA|*~=wUeT5Gc4bd,`Ԓg C yOya/If zccg'qg8RY!@Kw3=KƱq@z+'vY SPc1.c2qv,^KE~]Cyw~x~ݲT%Xus}xņL^NX\3Y넿 ~knWՇɳU{s JAZ&y_#3K=;/!dMQ mm2̘!,˶^@]g:sxs4xzB^uUf˯0[nWiS 4*vTn^I ҭ(~[ksϒYחt0v.>WIg20O2.cX/P_ 7P q˿wUu? u $G{Ra!k~j5$杯D1XYd ӾMӉjܟ+k~JE+n\YՖЀC9Eߚ+3fCgqqϧY|RD`1RQ03}<3s5 Jz}aM{hY,:.;37+Z%@^@x>Vkv@.L Xj +%סĻ Y6wV^Ԁ:Sk2չRKfj6tϨv,!<묬PӊRq5L}ʔ^1-Gܓ/;KoD&4'Cd9 > ]Y0VuԊz/ iWG?SFg>)z#"1Cٴb6!QMeB&?4{Ϡĺ{=ܷl&ӿxd܍|zqt1{rXY+?gؗUa-ʤח_9^}m s}x潀@[(FrW-y|"~̶1k^ey;,XQ󠙿I K yr2TZM(vl>}MuĸAMy0&{ӥD_ zNTC{E4lMu(ORKOO(/{a(; @HDb<ؾ6^ Sd1h]ܓ/vDEhea(< pyGֳ'93MFVծjlִ6p/.0RW>Iȁ2j0ZМmǪ>hx}dPc֚ fϽ6,/8، YQᗷol׻O=9%޻BQiOy̚_9WJYBc(.ķ73Xc[1撲 NW/M֪q4!\\e ǾLKG?Qm+i]-Ė+ ο?K|q<:i7e >y/PUȆmPuK>BseT(;!Xb\Olਥy|u)%Sq.[Nى2>2M)|+K ē*vVBu]Ewr$}!Q53=B0S #&>S{ޛFp0x6=bvSƟ/It )|EJ=p5mnßҦ?OLoxKࢉoc6]1N>mxUYkz ?~ɽ -ƑҶ߾Fko=Qe\]=Yt?tvl?NCs+995A"KmmQW2\U]?$8"λ~5_PvwL-밗h R K yR}ks-a.q.{AuU כ?wH|-J~J, u$1YEa| $^E1b$q.MD7KK_]wQkzI[O<o> G_Xº1Wߣy~ؚ]#(;,a]oܳ۷:x+mHoFT~ ŶG$>c+aڵz'gjz~yhFAA/IN#cӚm[!SN8 V.Ih;}?dj>dzOg-'ksy u1LO{xqh)=8 N r%y.O-\^O s6*>!z=S׆ ?ޖ"ȐeB!DZGr6*B!8{sp}SoH9эާCp9Ю ( >!BYD$_#/B!ſ*DHHH !!_6!BQM/BN祬udd/ʪ֙a1h{b:*B!B!8T+4_!B!B!iځ@!B!B!ęGB!B!BB!B!P f: QmDz3kXv-~JeB!Y.""_!BӖ3UMjj=_!B!Bq `!B!B!  !B!BQH P!B!Bz@ےW_-eB!}Tǣ5)Iq,|<@ (o3q'phej]>9R_G#$@Qmݚz5_0[9)7o/8MY!ŸʃHLKnnnis>} +Ә e-+}~k-c; |S%ĠThl#BU !4[8v 6Ʊ},K}"c#B>W^{r"t 3ڿo/g~Oc{7Yhxd- Oųg^_Y̙3۹[}>~T:h6[?l 8Xxp&_ԕR*úRxU]۽{,gƪ36qt˼33SZ0uK~ҿAS:ώ#kyT|izR铚=Sx u򮢃ڣ;9˖k{ӭU mɪWG+"J/x~[P0p? V6mMXu\p\Vi!4=j%ۺ)kә~W2{0iM+ZVo_+SX8dU*)_ݻٙ<|Kz]Fq*z&J~iec\C!!._^!>k66l5@]I;wX;w GueA17%) N1̘:Odz&Q)c86?jQgt*^Փ_Js!Tr=MÔ=HvvPF٣&J*A}hSE G⼼[e]y{Q*"]ɵW;E+ZEtV{GTtLh¨m~gPe^ciK7܋8\I#]\)R2fwɉ\(E d+ob'vgRenBnsSV7;G15;9L(l)gl=.:r*z~j–r#ϘtRɌ-}=8rΘOږ()>*slFgyzש -S5̣)=q=P32(n%g~;;J8Îe-\IbtJ^)`G\}Brh1ʪۺ073Xjȹ&c|xjVMKflF}8lẂ얦ؘЮ{un]~7>5~_63rŞ$QϽؓjIlf0\S1 /cd,Qxh/DqTtSX''S%Ǩdw/hOut!!!l>Z>ߌnt ,˰3׹po|/)W^̚5W+I64!\_sjON&_Տ=q@WU>~=ejITYs| +4ǽ`]MlK(5ќ8"|;[ï+0C_r:{kFظfl yʖjQw^yAyis#}ȝ0t55 . ݠ:p}S9S{$_pWK1v|/PƇqf^Jm7>2 5Q?z =[ŻӒ~ !)WNQȥɶ U&v4R+5ˏ{K6tATt:cVMD{u p:o`qM)BD]Ofh^0f0e?SyLZH 9>dϵ_`9w lJEPTщz0|}cL-x[1s'0I`L.G%?lkQ³q!*e{njh8%['(+DrUDB#!*!$F MKؖaa$&9 R{/Bv2A ^ƧkQ%cGhѬ%ff<~ 6Rϳ>])Rzٰi#?D.cv^Ő?G4aMXdto9Ă T1#)ۇ*_=#l*cFꜹHg;+vc.SJNnyL+f.٘ac*㏶U OHd͔TL5ɋ;0E0ZйsG._ ʸ`e,Vl[W/ɺlO+ɩgѷH6l&䐛OHHSK^u 4`ͨؖŸoKzpҧ\?oW9QUL<֚!E٬yNZ?CfQ?ѣ ObJJݖ.ek6g$/q!(BX=#c$At67s\KkזC,+9ŭ,ړśi_= RwNd61Kˎ\՜\Ɛbd̄ՃJfЧH~Kt.g zmªy}sg3]|3uLЗ8:h_N9vS/d矢/@B.0mt9}->iL?a?[wy*)'z^5{fcNnsSVnǗR6`ŔS2+!śb7ŬXY>.RC΅G|6sǘ82e\ʔقwoύd 3cRԌJy3Y%C5$i4G elϴC5dr>ZX9W/IZgsh ͱ@GV4CU7\ڔMxB;7v[`|^DS,ϧݓkp/ K^kޒR$&+hiF)*qɉŜ HHhs&ϫ3!۳g/fΚ fO/]nx75Fu[WgF\I|+,O}lls7\[&{&cyb[ekB-u[yO5wXɖ/ߓycc`/d̄87(JȮ~\);Gi/`Cjjڴo_yS=O%^֑b9Pn{p%;u1 EPacxn<{ɍg/(8q:{8N}_˔=!ZsrKa/컊]ޯcDzLLNRXHJpԡ*e ;5e>n95©YrttYߞt:B_E/Es<QRsE!QʯY5ۦ.ϣ)XdvRC΅G|6sGMvo5o_",=ﲎ=Mu_E2m0jT?\N7uV7u$6\[Ӥn]b4ocf-cPF շ}mf} I Y}nўT̄h#7nVήu;Wq˝@J jąٵk'͚TO~&eTҴlފ'OrYRZ=XۗQa$Yr:uƲǫPM;^>gmOn ].:w%I7mXd)ޚ+Rưv={!!D;!}&f(שA S!Xv+Q )mEYvсb[}vOmNKcђWsgkgq,j2|xdSZeݻ3~REkDo@HVɜ-]+w\uUs&hn3Yٽ*St#re {6'[w?dij*9vj!MTR&*MCy%]dZ'~R2L:yѿU#%| a@ {KLoƳ!Yr9u"ŐzrG"iΌ|6:#B5w~띓35c l2Zvx~AK91\ а135yN &oIEI@k9K +M>D}5G1c)/syFV8:j{@-$?!1 z3n|׊MٓNMBf.hŻ;(p/IUl&cxDkhVÅQy8l(3UfFו6W@bT ˇ*''K}R+J|KBE \Ҷ -UY;=-Q )&@=p`c4M..Ώ#.1mVI;^ydWPD_aW8}3S*"yc<$^'no[ dI@˚%tme@-ΣTD~n4ǯg^ ƨݬ3yxwŻ[E;f{ ^E~oϰ矿}{`2UI%d){(㟒Ʃw.E;sVF4~f4O^e,aDО8Y+ W7'τʅxvƛAO3݈cz aFľ8b_ld.lٕyڣxwl\[iщ#۫֗Ƙ!!>֣k^Ks$=!ziO14EIx!iu;ckrwIwcxb"V#A2Fn˄^T%"GӋ&q,mf"q( @:a֜VdИ!견9 MfOEkΔ[+„TCTRUvR5eռ Pչ+A<,PQ{@3g4핛 olwiw[K"'սgbzXz 2Sδޕ)˴X+{jvFRYf]ӋNٟĄpǠYsm70.Kat54f~<ϟQ c3GfGw|Z4b|ҝp;W՞X[[4X^Rg[(AN2)&fXfIr$.we&@74f=mvTOb#˜]{?AMNy4Wk's`{ʵCkGm*Pg %fLA>n>y39i/ ji7bmJӪ5nz$c!7w$[Qo՞=e"ي`O~̗\N"uBur0՛kc؂Ӝq*3߰kLkt0ݨ9;`jWM>cc#LsQL7Uұu¿cJM\뱎OCZŨmy}Ъf{e{$<U1E=#8Lr)233@b Z|>wc`XrrE\Uӳ}޲qq6 Ćn<ج^3c}'aj~ h:h8#Ysi^f@ glhwfM.ߣu$3S* Ȟ442<škoN+tՋ4oՖ˗/[%7~~~LZYY1|puF gSOx77w ׯ_-Tt.{w"?g/Ө` x_ iODVA0^֬TlՋۗNK |:>$'11DXfEiu@J7Hykң265ÿou*ů@E$_3mkG-%1u@R><7f*qd\O|tVn@iV2_Yxt+7\XZ#ˉR=DXRi)J I9fLWOy~( As 1R\\Rpevg|cAOBA:|vG-Fý]AAgg5c٨t7oCj"&o{ܱc{!11Qo $% 4h@޼y)_Xc|= 9Ai7KnZ_TW1 Cz'''3W5hZRT nGnKQ(![A_u"k eb$y~i鏣AtљLYo*:츗 =aaaI(ȝ;7s?W"PA/H &'AdFtTRaA>urOAAA{aT"솪R!     |$b   $! d"PAAAxOb;A "§f4e ['" ·.L*@A%a.    AAAA@ڡ8|RAAAA/(    {7o`ڌܼuC*TAA꿴T<|)\ΗS*G =(_Ojm7 Z-Ak"w[:|6?ܾ}KgQ<{`RG*TA?c}&]&ߨT7,۵v^sY}b.m/ *o9q?]FaHZ߫eeXhI3~1 ߒ7 d>Jb`Ԕи8CR&y2վ#V,X1uMJtGfb<ş2)1P^^F8s+R?w}%d1Q?B.YUe~*RnKR錼r :ZFDŽ_cv%̸~Wg29Oխ,vibp03a[ZJ٩80y2>#u 4W 'c$+M-gk휞*FI9r/Z)„e[@̬fgw80Lf<HgĺA>'M IDATmҿ%<؅L=ɹh9eoůPE6Ld2,d .fC.XKt!8W1G?7.__8ػz;b ҥؘ(^_H FMlr;JڻDz,NKٵESQ`g9ճ`Ty> Șד'AxM d <;#viAުu|rHrq-NBFK϶(|:5c|ĺԹ~P ~OR!B:)$11RRDP@||<$k&ЕܱsرsOB133O0%RDse&N\wlKP"Ų\_5Z=tj|MK_)iGo^\R')ۻ?{`xo0A)KW&H|t(pfoѮvh˨yeR>㓻Z/2ރRq3XƗehAҾ)~#Q&Fkk|)W+>d]}\"&4!t߱}akf&"w>252Z_E6\z.&$}\?Z6e? @O (meʾa5YszًmYP*3-LpKav| ^=C޴zY¹Ѓ}Yw$urCۘ _.Yqo^{,]}ћWwϫ˥s=v߿} ~㥌rpȱ2Ijņg~YDŽ.쿣Xd&6Z}ڨ]E܅Ѻj嵠t My_?q|pidc.&;i$U1;R}y>1+=ڶ  !Ǯײ%sO|RRLNKIk{ٻ& [mN]m[x:w ~,vdϒv/,=1k1@NZ#"jNDFLZK[CCTe'x9'rX4+h͐Q).ciD2l>}_gY{(70M/Q͟Ρ%Xz|6Y]]6k*Wd9gPL9X.*q$ПOΡ|+2j]%{(cYhHɕ P&FPC1jbS0gsŧޥ9xK\g21x*:S3&>UOƲzyyYyrex\ygh*7 ekv ^u퐭2 A o_ԿR f@RRaP>b?J v;7oܡpa~I<٦ū9iYJVCqT΍U'6l7D)u-U>wW`?N̦91.mca!ﱫsǢcC*=pzc%SKL~ s 3}i攋UQ=2MbSmgM۾CI}*UK&ǎТYKy!6mg}K ygæ<~\Ώ ~b?{;`>#[.}'U53akj,ڧTTƒV.%(9{XvFx>&%,5ۣތqTF.mp:Do}} xer{~y7{Tskl֎2l88Hw`0O\-M(ii†u|lR&Zqhڡ'~?.5*9(QąDF+.><`LKl\MSy9쩿I >dпs}p@ NxS(_b2YqoLKlZYGgԺf1]a҆qȮUi',M(eeau冶1Al֦2R#4Wv??vFoqZ< u.rNX76[f5} !$D7}5͛66kV4&rzmߒ,q&/(;{pdh4sn򹻮eL4.ڶ9>ǮBZk=n. <"ͧ48ɋKKk?hyr#!}Js:T5 h3g0J3dn+/B-| O]|x ;Oyyj7~RIL;=7l۾F PDIN>I`9ܩZJ%kׯqļ{`c+2<0er ;!&)9fl6eF d^h-jZ_<[X,g I TY{<̶t=՘6_'GcR.fJJ!˫)+φ/cՏᅩTn]MNFˢ?ZQ z- 4#Zˇ\Hz^\X[ #phE,[:0>Mit9k9zfuIo2m35[v򛛠|򃤪}*U)sLt _yIJRdsp "!˜ݎ?iЇdW|(M}Xxͻ)Us.(J3 cWr}@[7_S%sO, }g5ūnӭYܰ rse09g}Es)njE< %GȜC]*7 f޿}- KZ<;]vRZ Y}ag~ad@0LMe&l6# 0JGOh݌cʒm K[.u-U>վX3Oqz1 |9vRc~׼T`x?(948::Rɻw<}Ƌt-]ǽRMH*ޒ ]j:e]dd&yWpq8Þs*c{Ԫze=eDvVMD{u p:o`uq=)./$uY`(bP>a5=u|T$1Wcg翇&>.(.a r{_>e+^qli9 uJ/,۩ǘa@S_:յ 3p^] L !|O)[*>#UZ)#;{he,i9y>'(b3s~lXrCۘ _/`F1f-H,/e&\x{s $&eF^pb*NDZ"qT?RޅDN}V>1ǮϵN˳ľƤ3Y_|!~N\Rj?(#0::De"qr䦦ļ&s,ԭ]7aeiE\yk:_YB|dE*ez&ZL- zsՃR͵TЅVUXl&_5 m<)_;+Is5MrPc'w}'!K%?$O*ըZRm:˓Qg~Ny'>:li7~ >ASQJܺ zz.C)eŽL05ˊeW~(ee3lio`4Itթ4K {{N7>?svpu9džIn15ϊgN!~O]CCrUIZKQĽ '~GS'檎T|w9ѓ 1SuEꭵd6c| l#&b)f]!~XWT,x4?}{pL7-&15Nu~&< mc |}o_"CԤ~p{Uy`8m_'vc!7ǶPmlfvLͳa[ȓ<2uE(#0T|8S5t]\z@n-_&|tOBS 8Ao8K#948&:L%ٳa&`mܸq$ $ޒlzLǤƍZcx<|K=>ɒ˙GΨ GFF6D>14m|"l K Rs 75%&&333177KKKȔ)VVVDEE!7-ysR'yD$+q +—̨f={J.ZjBBtU{bfU}k&CGȒ{l^EnĿ ~=tMW;M0{ /eVb_`]*)ٲ+g⵨TJ oM"&Gj/aAV4#G4'75{d8q5GeXmL!_TI  —E."hV/QW.>5lL xIN(C1.CFzfR]SCr{/C}툹M ]{9M9Tf8Qaiט~IN1;ggcLsS{ 8'RKPܺfMSWrb! žP&#w0?s F!|İ`AAcXAdsΚ5"ŊQϳfff:cA#hb@AA}AIwT     _8D   D7A q^AAAA%z ևZ*DAo\֬s2AAAAAAAH    w@$AAAA;     @w ͘[7BAA`kkKKɑ);sȺҨ/'5$쐿VgLĹz;b*AH ߵ۷oqAܖCr-*7I*?FI}u怱Ra^>d$5$22RgپSXEw)U~\گ=Aۿ~lu6h1Kd"Km@u-ڏWɓ9phH~uc_8e|~61~P1_u0nf[RJ*T!ZzRƌ 6fLÂ;* ĕDa]+U3~DRPoH _;wҽ{w у;vH5gP$9o޼ܨdc MZH|Q}܊]Z%V/G"4/Y^\ʌJSʹ?fS$!5vT),rrv1/:e)\Z.֡ ۹735]99qV_1">5V0T:9sT)P7W.RuʹғU<ۭ"^%hq+\ϲD?ٯMwCoOxX&Up1s;I \H!5$6I`*&ckkKJ:$ؽV|ʡvٳS.w-F|nWnݣj٢Uҭ{Fgw,̓3+xtf%Ne8HDW>Mq;͜r>s_VקJU0z^~۾A|6gC=ǖlM):ќw@ %Qx'qp_eRÙoxSM4g$$.@ዱgMF@@S3w\fϞǏgϞ=I5S$P6mP5zc}8kT;'pe; ?s3av߸ækA7zlKӲ'[^w%9x;%o@tԼCfbf_ 5P`xSXRUsLhDjtf qһ0&.~W%+=̤cTy?§a%|zk=Y\ωalpY/+u~,>*A1Cۇ&?Qr/ ttYF].CP`iiIbb"JRB !!x㉋SǼO"PWp8:bF'͐W џx{u-p/⌫s!'!ɉk;Ե T/K-yYS){g܋8GM W- =GS.TDŻ ;kwjSA+|TQ* wWLW2Scv”v.ߪ`'.F B {m#oV IDAT^R<]77hTʕˮ|nK-eڟeH~ww 73Lo.ؑ; ~sz{zl6+ǥPA~.U{kS$ %>]50R\|}.([rM(h)g吆P]l^&Dk9eL֑em/o=|)76Zv}ڌXHV,N ; ā ;'̑B,XT h-Yw4u;g#ROďEPęmkRIN>)] ң|q^^\LҲhSTt":T\ ~֖[u'\NO|ڬ.W*"UgK(ﺭ-WP'Ng״=X$- &-7XP.9oonjEa,GKSrse. QQyl?9f͢O:!5[zp}bnmK\M6˳< =FԅcQCa ~[s֞˞ s3rNMUrlypaDz$?1\xFq#_N.>OTj^[Yu[ff} l2Z/|DZ 8:;>?Vk5s2w IVgkO9yY*Z%sU.{Vi-?u^0K:93\)Kb1fɪ+#'Vax{|4N]{o?"9,M;,6Gy*4+ilY*;Z}t]HPK^]NgooWk֐l yF5P~땙MCh8?taդeM7񅫮3z#(\XѕԐX#kش29MPxwsZRO>B.e|JSr)gty~9kՀ<}c*ޒ ]j:ΘUS^B98Ngâ88A]fWTT5vƮ cIbk%ނ%$jhT vAI f>ϳ;Ζ[vgڙ N߾`zh\6E%`(;Λ%Fp<. ۢ_azJ*[ 9mQQ&;CPӅOyv[ĭg:_ls MMԔ!BS2S_Sfkj۶-oD"!XLG999EB222(--(00n߾{Õ_uWz=ts{Ϩ0d˥9hKOG(F1~ALq|bUZX+]qMgeyDut.!ek_R+GrֲZnK{J{w4Y_zFwҨi63g^@@N ы :a֘nԄP4g OV7qjH#773Lab<#3,-8s-[q B KH%:9To;9 =˫>}- )-=,-8՜;U*2gSw:x屫Y$q+C~vsvֻ/ՏMCWcXj@ŒiIԢ ]~Zi @1-b#y<|-WO~ŷ.iSA=|UL!wʗ."9ZM+g(5Ð:+SU3< uTRN Af?aF\ll,$2|e,;]* 'CW%v0l;=Wv5wCwLZ+_LTR8W U +bq{W5Ep`|7_: UMbt-+v\htXPrY/Pլ:_W3W,7a֬'\fѩZ\ll,.aE X9r.Bs>z(E_pƩD"@ow\º1Xg|I|\P.ό)j<0B;qDE<_:GiMч_wAD!{8?APӻ&֭<]~[nzPΝ? {YfrFXy&,Ah3;ؖ/Y^*k5QRrIralROzSFU, Lc—bYC+No\֥e I| sZl\pͨbwQ:. <F |ZjtYPhcNiȁ?`ibM#ϺWZ  P#[򽢆?n@ N>.bޑGɳ?ͺ='\p*n3زF_`@l\oYŨ \yqvvB߈-)Ɩ-sؾ}Ə_W@+`9g\k7FQQ+]:FG_ViA?S èj刌`\8fF}TrU|=CWA +{ÿ;J3kSc j2G^ @׳8ۥ.FFrFv_#`FT+x\kE]}pnI[`ݷJ72WkM>[kYW4ժ=jř/2ҩ;3g!X9Au—eONM|mS2JC=㏦`s6^gu#D&^BC~Ÿwk?Mcnazc&ߏa ЮuGk mZu@ТykV-m$4{TУWj>\0>kL:SMbhW1 も1id89p3g]5@+I!9{f%(9x7Ǖ_IQ{!QKP ىWԦ1;C I~=Ũ7.|Ҧpqb~Y<%?Do$FAQFUCrǐ:/ǁڙzԗU8O ?D I 1>׭Q AVJt2>% 2NH& P6 eshQO&eK0ξgh5_ dlHrC{;_hbH~$8SCa ;oFNL"|QM}zc@&@^>\#<ˢ0S}K Oj~mj鍯cYV{̡?8w,ISH#cQ0RO]}i9vk&^Vn60M( 3о(lS`Ui!$a6_.j#pniOhѶ l^ sQ-C!At[~|%S#1-?MQiQiA¶]wLaA({05|z*bz(HC=Ŧ!¼o.>9c{/;mq!7pNO-P էD BMobmx|@q=?î 7 )QOErk)ߛ䷺oV6ġv)ߥ!P-0y7kv0wd[LQg6hAs.uQkEGnik6`-Ń濨w |9qt& Wa,, yp[F/x'q(g|d/IZ8'n7ގ-7ŭv:e+ֹ!}f;WKO8v3q7Ԧ;;;+0q@K3 Ue+e?w|q.Qw~V@{}GŽ>ڎ}ɛwvcpVzw} ]tyW[Q/-z{n^&«$gݟ·|}rvvQxatθwu5j4-"XCuިǪ,?I[O;0rch_Rސw.p9SFEq#vcLAOFl`́vX{WlL1 GZm-X{>$?7)b~7s50t)vTwnl&;XñmS2>V=7x9Rfa;ukσQ!x?(;usg0Z`rE]HwAt q(W@aanNŗn1*/`l&L[7mq=d6%!<5LZ1vV4KZbP܉޸oWXlx!!# Exuv'#P1 d+Scxgk% Ӓ_{魛 ]"Ho#`J0k,QF:3fyHz[N2`Ðچw -[H 7O~$쑝a; e>1g ?a&m?O^ e xĐJ%ZW1Dw|Ͽ6`貇!hZ93{9(WUgîS]/]}Dg%Խ).4,}MԭZԉ޹w!]UP({K_z|$q< \O_wabb/F?owgap(n?fcˬ骻a5E$A*j5/_D|E2MP\ yۚ۟:!6~ԧEKд6BYٵ;ҥ ̙T7]t|q#)?kq [Y}0 ]f`|a 0 Svx{E0"ߔYV݆C&̈́]8ݞc)I5jPb5&(FC޶jlp|TYSɨb}gϞhܸ1^~lmmʯy v'` <&0{D(b a/Aaa`:k|a 0BD"`mi s>sTT& i4MP>F֫ j yۚO4+kp|Ti HE/B&N³aaΗlmmF|||J!aaaa激 غMF&MժVәf!h=82DUz۹g{EL[3Rq+h;w u BV+;N{B*Nc%87W?-}?O+\9QѢ'=ysh?z\y[U.$˹"=LrT z|aaaaReכμ5co fa5)6S_0 S0 0 0 ü%֠0 Ô"!a `aaa,}YHY*_:0 0 0 0 |*>@aaaaa@aaaa` 0 0 0 0 'b2<|0 0 0b&ÅYck[+\ ̠WmlFRo_ Ð'#0 0ekdӞ>Ĺg1h`;OFea>1λh1p*_'o|a 0 wb>L/?x5g`in:խ0S[6:|@*Kp//$exXbeSW&Pg`wO ?7xX[ܐtVu~ޫRu,,hE൸lI$QNN6mش"#p~Omg/uПBGg:W/.P]&4ZJz;HwPlRRwhUNim4y ӬG$Rt~!uoH?<:b-&(tRβ8-+v[ vt4)b)L%oC-%KDet:D+hiH= plQ30Q#դ/W")%${ſԯE-4nP n ܥwxn?HyQJDre)Þ9HʤdiniP dmߒ[цDyy<FiTst78]A&h3DDԾ'mE.EQ^exetpDCŵպ} 9]eŹa>,mJFi|iUXT/L!0*-ș&eSUt?'O1=̔*D7d2Akg8uqx9:v DŽO9gϢrX3A<~{ \kRpu*t\ŌhMQY*# CoHlMܜû@BseXb4㒰-FݮV_~zDDTJ:LٍA?+]ni逍Q *;ڙ9c_i9^Ir2'ƨEjaHrgYy# ! @Br:-Ԝzɿ] xXbwZ(R%d"|Xx̙]G󮛈IMG/1V7E!ߐt-.86{Oq"Cv!h~}d!ZW\VCٳ0qܧc!T:r\!]jU@s7>x\<ujܬѯpk,,  !.0仄<9JC~)}hcExCΡe9n%2q2d4u;s ݷ톡uE#{7d+,&ʟar2H~pl>X\#5ꭼK{Tܨ;P__G~88rVB&IK߾`zh\6E%`(;˲\06%4ԣLwP1\g{kPu4Udާ(Ht AiiiEtmi ٹH$QLL4-_""*xHW,h*(ȧHZ~Zz ~[)#_B5]H NVsOG"E1~y2x:i2Ҥ.AW/R]o b)X+]η =KUgS=!ek_R{;Ɛ}V/Rn}uhecO<ZS);y~!=/Ҝ8 rn\oiyR䁾$~,o;DoVvV&05qnL_(=Bkي("KD)lnKrHY"8eێQw$8߹Wu q\1YYXkM?t9W}dNF_y҉jT |:*;1)Ԥ 1Li]`w yPYfX5h.ΑIYOȳƅ8{K#W4Cm>jCrR|-=9F+]YX") s]b4s(9u׳)^/%8W3LOњ.7y4֣95?ȗЗ> 'YQɲzސ:ξȐt4҂=WHfS{hJ=]w]}N+,{`ۦdzLJՓ4PJ_CnKiww`!Z n~*mش< Wy c*nC`aaF$ oC?/O+YJ/ӧyFZn ƨok$RKk@ߞQanE5I_38=Pʋ;S_U|Z.uqjDiq/s]mK-_NԊץ8eyqt+켿+F̣:t-OYʋ|aػieL.Cqo!"{64z2sd6:4?4$"ؗ_VuQjٹV'??Ԕf^|MkԦ܄Kjo; ۗ M뒱՘9ZuŇ _&"/hoA^r>5D$t@@)1wȥfbҀ<%N;;VΑխ.QVt4LH>fG\u_OvwI3%+3/CXtgF':51w]\zpض)$9:{-YT~K!.[ӡϴRxH$#x茱".}1Prrr1mLޤ/֮[&M|<=0.(&N Wq ܫ5X3e3L5L !öI8n !A,sna˔j>F֫ jM@Hl}՗Lo\֥CQ:_ gg$U}Q <i{h=xyq4T0pK6.P_v]_ur=, H cלФPEQ Q~0-.} #Y+Q]9/ Nُ]ee)-MagK/Cyw( GaN8=ibH~ 1j跘Q,i]#wCP1I[V(GT?Q~Ew?diKޅSb(L[8`sq>:w7uEXL?$O M+)] 9%|H ϖ2q׸a,[< ݋Ыk%S#1-?M7NNZC!poÏ\¼!é=Pç"ﺃ/c¼nx\2Cwmq!7pN}-P}=?î 70JY޳6m~5ܴE;wBgϐT*JJNJ%z eePyIΞSݒjXӴZ*t*_8':AŠ E>B'sI*fZXPPNDJHH#pdٸ#3skqJC6=5p' 8v%jqΓڴB)?L^daE FIiwϋo\ŷ.iR?YX}K:YJ˗ʈ-G6܆l=Д$54΋Sbr7BJOIɶFzȎ@N0uYx욑;꽋b򕏮L=<ǓEuoEuMrZ/23Nch$Ev(N?o_&[GE PNNݱ|H*CDD+un}<"N߲mGMũk8@@ffdiS='QoQ>•W/9m8xQ++gQ6u XN-ʝ8H~]c;i|P}jiwӳ[ -ƠX M\l7fffZwQRC+iEzCwW+rF0NG6]uRD`ܻwOoaڵDzTf͚@4jHgyv*nݺ&M|׼_8cgѦD<{/yV:CֿOIanY|o4,2/|J߽ 0̧]3 SژpMѿ`DVW]ABBzt!=#-Z^t \E59w9W޲8ޮ*ƫ4$8:?X@?חĴŧq+[||yz3~8Yb7{OEs;c H.⧮e)ָ0 0 0 0 ~(oS脴T <>8q÷S8 @xx8F @Nve![wcTrD%hjf#縇_jLŐHzL/OYU,, eaaaaJ 99\T9-^f@vvxM?cZ{,@9S&}7 p}}faF}NW7}Y@4+3w 鿬A[ ~#5NVY.}[%N®~]3Iu1 0 0 Sca>: ŘDEm%XX(FTrdV5`խB&IEe!"f`tmν5.A޺4XDTnKpnn?θEnp? hמw> '+SS,+c[<:R- ,k{aaab}1 0B`o1a40K/Ì3`&P+a˦(K^,4{ _0 0?/aayG`ݰr Db*T@utR"D+_?Jtaaaa)t6kuԕ0 0 0 0 0L*0 0 0 0 !aaaaa+XC $1VZ'BaaT033S d0=|lcks:*t=Z;ؠ ^ۨVrdalb ӧ8w, sH,'ٙ/z_'s|0aw#SdffΥщ1a8go+%O_Si`sFT66Қ秆 |XC i$BϝAH9 $Bϝaeл4} .88k7Ƣ3uƔ5kh3nI|'80}`hTbqغA2 -q?V(cǠ9?mQaO kdJǏ#88AAAz &رc|hjZYYB71B e/bccBJCW_G`Ѽ7|MwvvV \r` _ċ),êPmqxp3f,}P]_CTCq:c/dž PqtDsHTs,6nh톫?1nYoG9I iЂ/]qn..h醙Mj/ԖM4 kt4JԤ1jyxaCM<-ξ!Z Ô_1u IDATgqFWzʭ3,zՂ8+\nff^Mݠ}ZyZvvBAe|l#cS1W w#c J7w=fgwyro|hRQ<.OE갳,n{!#b_^2)9mS2_=-0R Yo ^|0]3FkdJ'ObŊؼy36mڤ6n܈ 6`ݺuXv--Z'O|ErlL|D zE:};q2^kzllΆܗWExN?ƬBH[{'G(M,ף#N3Ӭxg>CȽHlw#vnLuO.)&rǡukH~C-+v۾l1ZNӚ.bcc z'naZlj%Sn+UIuܼy}'gGw`LA1n\|oat۸{ ]ͧT@[/pf;F-y&jn/>k MsS32Dy=ea^bܼjys/ۃv=lr xale RCע Z;8M7_c%4\{xض)i_u٩Xo ,K>b:~Å52D"AŊ!J! HPXXX X Hy@FcǏǎ31pI>rbu7<_z+6vAaE3m޵=⢘I>MjL_72_-CYsE&_An=p(2;;;#jx OWL󭍬gNj nh_\oxsH +~!P3FvzٚWZ^YGzqpc4i\Og:?os&hRVU= ~o7i:KՄ DFCUMÝ{?LR_*w:3G~ԯbߏĮCt8ډLJM88f|cb[h*;7,L1Ī2Bl |Y<[H6j/_;|qYb~r(tFn8$*G5>j8 OWL;o1~Ѵ|k#ſŚol233CT-DHI2W@CxXLp ta sseӹ̑vH ~~.EӂLDA9l 6aiUm< y,+"&~UWj+8U,+Sc L4֪fL4]Mi Otw~(嫘Aܟ9(_U`PNHNKߌ6c؄`++q.hy7jV2f6++kg g+ [Rq$P<-w *;A?7Pj'h1#öM&,~~~CB`]gP!)U-@Akg8u椲01G:)#GBbb1ԙx,J,0eL $YzDgvQ-fRdc1/^pJsT=x_7~}=#z/ DZnܫ6=KT#Ѩ^V\/{?rQ7YxV]{;17u"\E &nŔ)ꏛC7S  "^"*%o k0_GbWl ^!=C`3JC~)}hcExw= õW):g:.IsP͟= c/]N&Dl3w3OB͢+rFҾ#PIIc\^ 0\#5tNōJ]8#eqr|}VIX $3fi逍Q *;ڙ N߾`zh\6E%`(;Λ%Fp<. ۢ_azJ*[9g>mJǬǙ+aV̗1]G^J|JƦdljJ >dԶm[zcI"X,ˣ"PHFYYYHo[)>>D"DK)"ZLDCZb)DSAA>EEGҺkH(P($@k(gN.jwRʯ:+{ bgQr24ץ#]{ u8>E1*-l,̋.ܸڲNjI@ Be9b|r4)#_B5]&n?\~t99ƹq K6h4ep"" ے:Z`[˖'чĵCNѸ$ξM4;-jp:)rC7<)vlԑ> ^p<'3uw$"Ʒ =KU̧z5 NoLwc1ZZc=KS}Z3]IF2ŸT&%KsK=9m!5-WML-Yt\e52̇N@;+?uX/%`݂n{݁`(~*(pyaw{̞=;{s&_¿ .>'NGmV7o{wU5ׄD*Ѻek$%'#o|\6+굼: S/vcBHw@w~F؏DW ( ZrS.{"\lw+cze_~-l"^(R%˼!Q ‰)=u5qSA*>o (_LQ&mpS:O,xɆ+>*E}9}9T={~ݥڋuHz,uaeYG`}9sv@r/ݻQ#޽ѡ}'\qoAM4YK/QK2C׵|=/.4o^ރgC*Vt(Ɔp4GLbn/PмX8up{/͋!k0gVa>s>.n]qq8_[xcVWNe*a< #̍`]?/>Q]:~VX_ܐCaM1d|&͋mu%Y~zBqB:~w}3G! D}|*,9:D첫?9(˾A?0Yyz1teyݧ:=x.TDwH1.mwBˋXħ*u]iH=_z!KGDR̝AWA GĄTrc&sz;;muT/ߝ¼ 0b]x \7o e1g8Ə2e˽`"__9bs'Wxa T"`g$$vLꤡ{긾k,HQCl:QhBr]eYV(!'ciS%FG):𽗺za_6lÞ/fjm֎!% R=Թ>*5-7s_nw-q\Zt@ q{:H:HS!N|˻Nin:@uBJ9HSѕ 4]t9~.9ڍTdRև[GXr8q\yٴc_l]0''>SѴc q_=Rq$ q[bf +XcT[rܢ~3 G!)r/No[`|Y5K_:>"-ѡr`Q .>șy/ɯ!NCQ\^ХKvnr_fb_4ϗMoRWp #uK/}OJHq@FmenʙNz@PJ󼦌T+} JzPoP̣H+ゕPwfƯX!=g#i' VD [04 iv 65S5 {5bm.ȓ |c/fWGZ% 9/8iu 8bh ܬ5]:9cŽ˕;=deʈεW J˪kgy0$GQ>[7&`fC?ƎA>aSZX0uϱ5T'~ ,Q=p{n;V2'F)VBW`ӔYtw[cVrrr!["_ѺokO' NvGf0m4H$qFFFh֬3~N-p_8ֵ'1671 0L( [%{A*m=?\uc3 shpXX.^:##cTV%J\\~Ԩco߾K(P թ{{{h|P(ĭm0! - `U(>䋤I4!&T"H|`~  Ma^?ľ~ӏF\- `(R<M0j|I0:l \vH Ml3ܭL<ɝkWP 666}w+cCaaCmd W2 dgw x9uCVq JS^̹SԱ3˗ 縊[[#@3G4F|ha8!zO v8c S)J#B&EVS+&"y ")JZ "ރGq TrqSzڃw0y>-wtٶW-[Eyذ'3.?sgOE˶']0 0 ""P@a,9G`FMqat4kׯD*Erx)Ξ;aCFaaq tЙ8:q&Qu;_Wp2ŇY' 4N Ry})WQoeʼC Uc3y}{ѮM;8t.OaQ#CZ! D}| J'(d!N_џܱBP҉3uI<\8ӹnn'(PD(jnH;daa?ve0 hk{HI;ww^(V GA ̋OBs.o w Tͺ Ū=1}v}AX7/n=fb_4[S@X7/u׶D, [V _:Hq FϞ- 9Ova]޿ 5޿xkG/\  0 0 0 0LNy*mزm+>~|3j,LLزm+ڸ IDATm*i+&S-V`X;eCqd&کNC^8w:q8oܩNV%j=ӛ ڀ*w˓]8AiU=wgAYUv0 0 0 0 d7 Q}8=°i&t5 n.7,aaaa&'84XgeHIu֣m68q$w;aaaa&Щ#*WT*E<^eaaaaa&:GUaeZ_h~^bɲx/aaaP(d$ŕ) ac ;1NW[!ZR웋z"IJ`ar&:̌/arׯpEt ._A|Y\_65 w VL c\W]u09WttƋo[\) 6|ۥpqb{OX=a SNr' b`llSgP(ĄP^HJY]~Nӆ뺽.?ڝPérÄFIX5"Ov-RBB),EL=!w_Lo]j·o3Xg}] r߅ۮ{R]5"zFCjgN+}h*4%)I%R 딾|Y"Kڴ& %|FζtC_A,%}~QmQӕJLϭ*^ş//i߁sڶIώ~dLFZy}?$O;G| g&-cfe !ò@r\J>|HRc;9r`*wr5DZ$"+(lyٺ4Wz'WZJYG ^х[P!z@!#}*XѾH"m=W."=+P) 3mgIvֻ.^mMTH\($ecA榴S?&^oGm̔FQlQts}Wy}T<̐+1+iܒE)dei1E4 Y H|ǿ>waTGr2Y[X_{7A'=>q1ujR++g꓿ teOvVc8շU|JmH")o۫-]>Q6hn:CSJD4Rqt.F7pK%Wߦ:S-;K*miFT"(44&9ai@okru8umץ.>_ Ыcv-eCP.vJ_6ŎbCN䑑Q %g;gJR~Z|(9ۗ "b]KI}!_FdwU|1_@ cO3R֣;m<~]LNK& sE;pm}IJ.ItNѠF.4)5LƫԨK,`efAI6"mҥh:ԧ\r͝|&(̟׶NlT@uJeE\_EeѪ*yt9_Щ9yx~dG/Pg6ׄRR?&'S-4'KR(׬#RvbQQQ@k-O۷!r2E'7|z|\B߿w\BB^#{;Q$$fH#"sC HBij&k5h9%T;\3/wWI"z$rI2{/ RP^%Ƚ,£JJb)\HU+]fTݍO/b3f-Ӄ4ѥls]T9p>:Ӝ8YYP|j2K9Ѕe%9[6eH#7DE׷rUp7>QDJwRkay~;9~bS%JA%{"2.J9pwrխ>R*d8O!,*t%JWf(SV]N5h[D2-!"zvʰ+u|ʲ˩I/qO.jGtLTHы4*e&m>4q/@o3 ΊW.Ƿm2ԥ {݊K8nL.fTrK*y2Q=̧=˧{?y91]KI}!_Fdg\U|1_@ 4)Cz'C5rhF"vQBt~i l<,+p5Ek'VN:˜X>["_S(RD)daf!>+x5S%$):/|giTtw^0_;  [3S^š-kN$UtZg\LRY&(,*Xfw$$Ri[Jo踨(ց<癐lCڸÎDLRJJuJ'S&+e#R?S[mO>Pjj*{B,/T*z-Z޽ d  UW(3Y}9E%L {ؐ*1SWف&}Wpv':ԷK{tq'fG]b_i27+][qz!RSt2.FRz}չ.e*?y M{T;(ա%iLk&4ڣ7dIQ4_ μ*?eH-]{Sj\ơ|!"JM%KYYlrL?&ȗ RƵm'"zJ%J73jQ F".3k[cڠG_+ߚq\ida+`@yȜpU;e++{(Tq=|'MMI$xH"RAW.Ƿm2/cb$5c[ڨQTL1"$긕GIw]Nq}D6B=KmgitDD4Ի-~N%]\afCOܭoҔoR`{DD1n vԀmkٳRTg#uANъ"?eʮN*w_3k>T\(̟׶ R}_ȹT8Q:o4ykT 25SdCKO*#C \~y⩵"QHDNpNWHZ{ʝDBhIw2_~ $aL@m߾}؟\nݹ{^|F̦/?q:XnܼNDDO=y fӳg[iJ9#^,%=) i?lYL~r(ڣ2tS)%bkDDfB q2?bnja2.I73UC0SZ:}ʖs}d܆.Qt(sũsuJ߿ИΕھ$}S~Mv9I@ԓ3hgp ,l}>?OƷ#㇈(srX|*9zо':"uk~+"@@;rkVmCtnW}QqC4Ż7IzZdrn:"CgQ*SLbrRz|fL.u)GW2@sUP~4}H#@+WKt]׆w_{̗.XlKW#3ɦtuKU՟OS՗h@3gz;=b"?2[W$sJh?tIJ{4kuR>& d' Sgv/\V~W_WVnsڶ?)82\57FgX.hncG7qk;_Z9{MJZoPO))d>/o8W"n@-d4 s38B"f7Q-XG DZ;#""(&&:CCѺ iK+%"z:oXK+Ww*娿Xj^,S?Uw.1IH{ajfI4Ւ? 9:+ҷ寿OΪ([vGOuG\?^ܭ GeDe\2݋N![t}P"mN}ѩ}dlډR'1adeW2CL|JNHhP\Ϸ#㇈ލu(T¾*TH!RDۮO~"WgcUo8U(VîkV(daX5MSܮikz N5hO ʘd*H "C_{"MH֨HDtpx8E<ץ.>oik\zN=޸">U翎nDe|m6 'PkҕcdcfJL窻dQ2Z>UsTkҝ\=5g8v9|m۟-Y+:RPۙNVmN;JZOjw|Kz7TG q \[Z MNHy~EGsaͿ ?5diiiZ;|B?|DŽ hɐ*iVDdJEkxDTM7"8R>U\(6JV_Ww%(MXMREHu]|.Z۫|r]lEGh%G'Pr!޽NyuMs}ʔ=Jvn^q@;7 MaѮ˴it %%QZ?7C_EJ~HLi _j:r;{SDd W}!"ֹ>m<|Ierݵ}ȶD;{.Cd]|p;MVzVw&(|ʷS׺I")1bB6u҄\$DTZ[z~p:9V+_>ɭK2 ͝DI/IӠs*_~O%lQȁ$ND0zs'-OW6񕛙Ƿԥm2mmJUkMFRv&_.u_ ȎctVwPƛj(1nvqk0%>%Rj-?Un:P.Aޞ%>i|9✌sڶi[I%Iuf{E*1ʟ ]]Tio\dgS^|)53:խ7Nfx֜*DYwh|9SjuH"ˇaFm=TI)->"׭٬#Rvh LQ%q ڹ0*ށdМ{{q$(\ԊSA?f_&3KeEY Uswo\^$T~2(EvӢ[d_Z|'TD-=&+$4"iY0ImyuMs}T~4>ݻRࢮ_OMN[ |%" jdfQnwɊ]LCHhfMv|דu'H(4#s+7sI'ߣjW^u+\!3SZs i\^|LueHyEfRC-RZT/x*Ys?T*:1'F_wPmﻊ=KϲafJ%k 1n(rn,+Ԛ5 Vi3e(*>suCyqN~sk~'Y;mjfCVS(JS]oJ,wqdPn%OttnjYO"q~l>凌j]Fs˒HoDSp[HUo2,\҇ f'yqzh3 HҠɟO?EK$_=оS7<~c}||rJB*r>ǔ)S0x`xzzj,OW7o{wU5 gt>v׏n2`Zo,$5~DE\5Fc.|L.# ~*aa }. 0޷;_hb !,31o|vR!)) ;R 02C7{b1Xj9C[@xluea~1]1]rg!t [vX3 0XF`l3Lp,toJ q *X.@ q1_luy͚5ôi HYfU+W-WPF`@^Ja[fu0jDi{a&pu`Edk켘ar ɕp<}qb nݾjaF:}2&.:2.g44^\rhgh0#<<D56660 0 0TF}E 0LvSWp¸u&-\ ơ]|ٙxU^xJ`ƓS?saaaa&k 2oQj L8ի@||*)̭  !;b`=/"0 0 0 0LnyaĨa8v8/\Ix=+++;ػo녽_?|x\Efw)B+ŌEƑ-Tw'a MAoWXk(4i!N~ qrO×%dz.V _<@(1 0 0 0 0لƻp¸u&-\[wnpb:} ĩӧ aii3 <PCZ8¡?nxTI4W9Sw_` vY+FmoZgsw`Vaaaa|7 Yx>cx1nDj5аa#L>v;f߃gNUVֵN>ט4aFonx_NnY#aa6G 0 09Ok޻5n Qh_~E.= Hн[ض ݻ𨌇r뜚Z┷%>Ɔ)}Qy,L6*%,[WA/Baa&[ GFR\6PQρQ u~iJwEZ=$a,t]e/aI”p1 ** ߾ESxN9o"YNntؖp4t̞5/ ~K/knt"^0Z9990 0L݉Gۜ߶`Sl K:_GW{*y<~ o]y?&0,gdd``7>nFn@D\ ڴnKc=000}4- cׯx o~ؾsEq7jP0aa"`,K|0{8țCUsF)&z㖣oxP(S1 (3N@ }:ξ &da}>}gϞD"gddf͚uZQ466A\\ (SgN!ꥄ3Hе'nyPh>tieW¨~ cY.b٬(a)_6Oh ݀ C8 m `%00 09GrD }M|CKэoݐ3NQS\+χAy0xtZ ^~c`YoF>C5*`l;MvMN7Oùx:-~7I'ܜKO|l 1mViى|3L6nGxXb9wIOLʔFk3Qw?rJ[;l02Ěh _>>$ZA'}t%vWBoTűC\r|Ov[6Ti?u٣{ab˗RRb"iiiHKKCjj<&<< :O>G8u}{C 4gTCJ钨R$N XqRu򲈫0ҳ \KGx"P~-РL),C"^>>PYnzjȑQt(9u<K"dt1 U,aj^qe7_WW^LSw K02p; */[,͙_C `6*IM[g 0  Z8Z]|T.GXJp29To[(ʮhX f27Fk2E位x/j7D_B@SZ-?Iko÷M;Uǵ7q|~i Q~"\:E"_g%|i,g<0ƱupwΘɤ )-! &jla5*50ǘ=s-j;Dguw'[ u慉P&6T»;A\XUl-dae!Is:cpJ[PP|}WEyYu)ޘpg <>y/B,d>ilBȿ1)T>#eըb.mog+sǪ_|_Zζ13E Gkvsq[0 Xac_8 7m X2`ձ@&[QPŐn.޽?):|Шacc哼3 M0_ќΝi-kzb\Fx&zu+ !-p9>=HtzwnE۠GsݮS7K#}1_QA.[Kľ N _S*͌+v؛00fwƨRF`|dP޹=*˯߉Qx 9aߥ-Oz~ v #O[?m,RxhF`FB+l>N%հ.3~(ݐJ#B&EVS+& t*d/)`Fi^|@&[ ({^w066qa4ie\(&Б#мY \dW?Zzx`dݯG˂*˄B 5g#l?ew5%<hGt >ы/a?%?0=]v¥XVF+'k\Yqj[: ^L`cb=3zby_Áع`\c\<hlo9s|cP-%LBf%s|q!G1w nXjUXqKq_ !|0Ǝðy[W!t*E;ӧQ0L*Mpwue_(UYOҔ7q-a\Rf$(;ъ*dN@}INNƗ/x6GV7oUq Cͱ~Ftt4S| edW?HDY{|]ʺ9swp9sSg'Bաr0|Hyֱ{Ÿn=N=NOv58S~|ѧmŹ~.tZQ낭q#b7&KNS=ΧŮ[(6>/7xRoRӾ=i7Is:xanΜ91n#k?OoMSU^:3fyk]??4?=GNNC)O6V뷈=KϊSqw_q|XU5*ئ1 w>Y^eEAVGƛo=hx!f[DDѯǩ"F~=""6l8C㥗_Q^ݳCCZe;b빟ڠ|Q(+8_*ǎ?z:8On觫R~Y? ' ~sqF+0"cW\׍Q"͌e-/_[PwmqK{r1Lo@za֝c/ϞNߺK [:_Ŭ9sbƗcl%ϥ[YiNѾgNbNV'cj+ڴQsҎlFrQDױՔQ}խƌ7+z)Orxzq C_o}:N?~[© 5 tÆ,8ظ׎:[g^qqɧF.r5׮[/%EGIawc_F*߼SfD_Of?eטm~xĩ__?Ģ_NzV_;$>tB\0.++ gՀmɿ:avM~xqeDQ賸]{1KNԥ{nMic,^&m|c9h\{|\l¢qzwMd?ѪֲgxAQdZ.\h{*u*-h}ʊbќ';Phq9qկWXzU(JLug+M*߷o8oZ}ֱhփe1^կ6TG~C{}?_jg8Q1{ORl.)0F;8hg’ySbG_.;TA[ƢYGA٢V֦ǜ/=,J_tЈ8Rgy/G*_Yn⨈y'g\s} %mz[E3/s_/_"68]|~qub~G7Ci}kޮ]FAA(l&~ߕ6raI[dfmWlĉy_^\[vZO_ߕˆ2lxˣW9O_Fl7ã⺮DD6<[)7=[qj,K"_AՕ+N:1K׾mX`}pQKcѬGu7]S:_6"{i4sqg/% ߏkuf=Y:{v.itlތ]O}4\,ke{Wn]<7,8:/~|?Z_q1hwEpظyX{8󣴴z7{]! 7<:JD//Z}b+_oW!+j76{8#G‚իwh͛7q*߭/ IDATn:ujy }Us5G =wYIWpX*7nl<1xб:AwQekۯ y!`&kżyscu_a`/3?$yo~, Oc_f8nܡmkT(}^qҸpvqOG:Ԫ<̍N#~Fq{Ty 7o<^q%O[ ďZyxD|KdvqޓZv<ՠ{ǦU*`q5WNI`^ƽ7;ƃ#a3Nϵ*3C΋AD+2Gm-k&[㇞?4gţΌ?>xڶĜoڠ|W`UhSŋW~ǭ瀽Mv嗟 gd|ŏ>$:t1)x8g減M^\GbɜGbu;ǎWv7>zl޹m.}w^>w[[uYZgӣ6{E-,6:͘?flyi`9f=LG9+ED4YI.Z58w洈8#b̘1 5or,**)Sļ⡇lY1zѧOiǝ,obaQQݴiv[E\0"JcD<4sQ?2*"">6/vݲG|˗Rs,XIa,.)+_4ؤS:W }Ƶ#>}ٳW4txrѥK\uQCx{iI,?*``l~u|V\5X4鈴8ͼ?*Ć~ RP?XHu#}Fv1WU͜5b!ƍg{:x葇b{F^m*_ 7\O~Y//xJxtYyo+hO1.""x3so^= }#p9vEF7csno0B:A3=ƍͷ)+!e录 w=~=,]Il~Å'M*Il}˛ݣkѧ}GEŠa7ooa,Q^ӲEغ}}^h֋ V=˗wڲW=vB[t"&+huˈxoߟz@|js STε[ߤh3qNF6GVqNFѴgl_n]==_fo2_(zfQ\޷_pQAmZ;vaΌiΌiwO͚57|JKKSIII8-Y$-Z(YfaÆ)S^uƎ(]?rDZ`~Zxql1}6Ӵx`ti؏rn;N70wQZ\҇ Wn}/.~WV㨩U~}mI=ޘ$1IڨI;.Y۾6?oӎޜ>)*NzCzϿϱw>jUzu|{sfz{ri25:nnWtU.*N}O:il~|*ۍ~Wiߥ)Yt.R٢yTʗKJSjU~SSR럙|b١giSפ~ۤ]:IS 9^]w.Stuzq:ťitOCvޤpֻwm;vIM񟆦.]7Wj1S^[wIlIe% =7H|Q>[}#1X\w^Zm?ꛯǿo?).Cufvۖ/7k,W1{oSQH7?8*gSђԺUE{߅\] SEf7uy%7=RJi{[^n4`^+_ {c)/+vo]]}[}߭|OY,Hn#UQm:yEʗ.:i۩|ypK#Ɲ6K#^*k֬YzRmR6-ߎ:W=_H)2xaZ~ NCauK deee9oT[&|O>xp)SG gS|Q>LɧO>_}K,(+,:0gΜ*6鮘;bTxcxzSί#fώ~}fxtҴ/76R6{w_~F ?8~r/ڳόUW>08-1qZ\``˫޷+𗶎<>>+{ba3]?ǐkf{n.taz*럻Xob sϟT>[}j\w} q6ͅ'_xi4kcSMѹU{WcKNj;ıo([gԽ1~+y%޺<|:{o 9vVsXo茸xФi1r8\MvnU:{ʚ{n6?Ilڦi<&^qp-*ʖLQ#TeI8v>.l ~}/Ϧŋ[/Sv)"Vo 7G W\]jU%%%={v9sf7o^2dHz7jloy~KIii„W^>RW^&L8-ZT<6*uXTvԡɩUi.mӋ'I%E\SJivQIڸ{_2>j~:ޝTk۟ͨ\m.&һf/1(mc-S_ڛ5k%m+}yT_yJҮtOo0z:{pZMEN9j:Kzr[y]My5797>*mӳKrMSc\>=`I ˽O1tv+ԭN}6߾Q 8Y1js&]G,<%?t.=u˶L??J)KWxe/kIδR۞L' 葖#-F:F;uyJ)da9=#4[RmBmνc+߮wĊ7'|UEMv]듺|=eU$mUVOQ[lݺi*F5k,m2=2[,/5azqw_z<ppr]sgޛz]3==9@uկvhp+N>=}+q믦>|/]v%v~5^^~奔RJNK{Ijm$OV_fytіS6-bˆTMRIiIrqi+fuZVfy͛NeWX_V85oѦ|9}Uwۏ~SJ)1ye_kܴѮOwm|ZWj=&}>㊊S}oK-Hm:~'Sמ[z|'kny-X۲y'c뺮u4ťÁ{g`C5y#&q2]Sߎ-az`T.|XoH[w&_8muIYc4_=vL_U)_R$tsJ焫ӲʷeJRJ?8ԪVUӀ^(ojS^VM:r颻^J-?ws|Xs|mgun{ʚꕿߐ֟?,_͵WU7ƍnפ',V_ypgǞiNL/*I)o=k4sһ3>{J|mz6OlI?6b|'Es泥:ґ{nyb|QYJwOK[vkW._{NNX1ҘJ:4ֹg]K%ή͙^翼c[韽Uէo.=ηRVDus?L?Ѯ)S5|lMFm'ww̷}m;ԷcKf+_=OxԽ龱sW(Wߓڷlι/9s_T\:cs|Xʻ6͘8|y7W"{}VV]!LZwmV#rseO}6labYfon)_>UG TC'Z^I9j_?fH)U;7sU.bП޸|}>}WG>}+N:S . u*oi|U%qY6ld2葃icg^s]??"̜-ShRhQ|Uڜ{;W>c9(^A\wfsw^}~Oo{cº;WѲgxAQdZ.\h{ꝳg8Q1{ORl.)0F;8ĈX2oJe<}Z^uhl訸㧯QSpQEnW5jtԨ:+$*ԵGE 8eʔ4y4{٩瀻Rvۥ-ڥo'T\=t%ϧmzUyοy|rjԼEԶ>ȑuqfqi{S6Cx5G6s=Ⲕ~xŘԶSmS'f뗦m\sXjѪKjѪKsx:fWxjӢy˳WY废S<~djޢ]jt+zQk/mVa4ڪW>OR mz;^XXsc禎hv' ulJ+_Y\@j٦Wj٦W꘿VM}*˷MmզNeԾetٔ7jz '߱$q2]Sߏ-=\MՕ5k,-X*m{ ]M -PW9w|vqYj}9%~['| INmu?>yAwee[ߧTg>8a^jyꈣԦcԲFic/&CNvB}Zyx~:umFk7M)J-ʗB͝9-"":3fL :4XxqYg8scȐ!V^m1zѧOiǝUۡ'Ǹ_W/sk qBk8#UmPGAAJUqƱphڴiR[YYY,X 7nZ=8_ĵ#^#G=E*7;8v|{s{Hk,P?< qI4d@{8󣴴z7; Vܖ\ܿqGGYE5IjPjќC?WA*hz)"BehpDԩScԩy/RPP۷X,u@5٪_ p`(WXw4@\wA  h\PP5_ " H)@ 8%! 4tSJ@8"N{ IDATаj0d 2@8L z !342@  (d~@h _342`Ȁˆ@gh0d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d@aDAAj@}G d 2@  @ @A d@asz@   Y 2C @A d 2@  @ @A d 2@  @FDc!`A d 2@  @ @A d@((W @ @A d@asz@ DD @Cfh0d 2@  @ sz@ @A d 2@  ((W @ @A d O5>+A 4d@ @A d 2@  @ sz@ 1= DA@G d@aAPh@h -, 0  PX ?@Tz@C+ d@a,P 3420B3G d@ B@h\,2B  #E1= @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2@  @ @A d 2?A`PFHI Y΀Hah04lL YaW @VPP4|K/bh04hK; !@h B9 4|B!@ȀBW oBdР#2`iXP5@FX4t.  @ @A d 2@  @ )|uz0"B @A d 2@  @ kZaH@h  @  ](>= @A d 2@8Rz@=G ?{_q["*jUC5ۢڻU[ZUtf1TQ#b$ɽG{D^ǣs>{~'s@*@!H(@<\eǥ@*d@nj@ p@*@!H(Q8]<}DCuHҧO'բ=.d+$թ@ u]/UVWYr䒫QIR` 3-3'HvZLqV^|l;$ bLQyMB /˯dilNbbAb-cqpbjش6oZG!I~=eʚ(.bgd6S:HLIО|,ˁ-.SEz:ۙ(3@X>ʕ+{wiQYd[FaC5\]]e6)"y0:{oܔBC$ȱW X$+WVEfpF`Ͽ+W4}yKgO F2S'N3$(y,<2i!=7nQW^#Gqw9H gN`$xYʕӭWiQ^Ox1f*YBgORȭyZ([,&#-<*~$6X&No7B :w4*+W94a`ͫ2#7_OS'WtPDYҥK0n`TreuGZxTY . NX$Ա PgRDrqqlxu~ݘs xlǪެ_4Ғ))[YaFC qUԢu; -bŽGwW];K2G_~7ʢj(Ux>$i;j~lĊ((*%a'xH}\I?|1VTBiv)Iv(}O$*@! Ѻ ƲHm$F=},.n<,EQOiHa!O<, cF PR @*@!H(@ T(x;h1JI>0H1("Iը(O@ٶR&<(x$ g@,ۍR\HF)Hxj0 PR @*@!H(@ F b1ՕC}~}s鞂¢$Iժ`&UU%=9q0-xWET$:ˢc){FةuQtCz] B %*"n+{t}U]~C-#t~M3AzI#u;"Al,uQUnՌE}t';8daַC^Ql߃4X5ٯP+%%'wsE@t;fx@$C SոE-Fy;BU_3nH^FVOj?d-f)T-y2hPMz}^ؤKksTQNuc]oC-IG [AԬBs}:t[) Z&ۧeOjG3$g(y3U?f<$ Fggc Z$D!QDvRrkڮ;hcFM>XLfNK;[Lz`&Y񦪾3ɚwdV#$)aq=}^NwEʔ&5^nVe_}Zv[?xr?|Y[ U:stm=_ޚ_6~.<=܌&ލ+-z޲ _c_|?={OoϫKOv[v.7UnNU˛wbGFdR'Q6P@ol?bH{c_;7qwBvs.ok;$45aTP@rI?9m]OVv"ZJu} E޾b7IPr,%)W7nݵ#IaW5NF( Yؽk,Qәz1]*Y#'b;swAwKun7G f/UW:u,=a^AfBse)k.r'̜=ݜ#ho$I.3v$` @$ iU<{yڬ:g{OzE.yT$Gž1LW5pW#ÇA!0-O/{<.s/KmW _n kץ=}Pu%io?[_R3A| $^JtL_PSS*^Ge}J-_YSs<xdVr 3ro{h޺\2H/]6sZ;I[f|MMbuQʗM@$ gOЎc=D|oƶ+QS}7)cF eʘf=۾۟>W%IFj*Ы_ÖWh=G;w[hРe~IN#("梗sx5Ԩpw]+OMtdfZ.@%Ju^D?|V֟I~[R^ڶ~$}VzX\JQJeur9dp1~1:۱aimLN䢮j[>@|^~27z2*QGN/Q6i?.~4L}LTZ$:u[U˳dUܕ$=ٴITE70C|t5Uҗ*QDԻM}Iu[۾1\fPGjc0LfOGHj֌M?$Iڰ){ɋב2Au[~0:4w!=y\'V.iʠEh6]:>[)|Fv+q_~>IM?٫M>t_$gf>fsnr^IwiVz{e/9D=F)GafԦu:yuM!*7} B[Р`fݏҰ*j;) IDATm%9y=,}.$YZ}#)Fu.^$Vj{uG?m٧4-{e}DUfnbNm>qĘدdPzW y$ۭ)KK lT$U#~3_;AFOJ֬f.o^3VK>¯JQD2×J4kgݖ1󒤰˒7﷗%o,i]URLWယzf!)SK_̙7tʖ$2M^זoQЩ:w|$5_qIҝg^]-&I:G?d9 ,[6뷂d&tMx0tu꫽լs69V=Sl۪XFwxLiԼC[IYW=V#)T?hiļ74xf$I?-)6.)IkN%I?͛JZhߴ?es}f 3'$IKVTN'Nױ$I=e$s ->t_$g Y~̄_-PݼX:qތ0mb39[w.7Y)A\ծl]@$ EK_]][̟}yes':öTb4tiʿJkj͉y[5$}5;{h/w^1 {j\;S2ty#Qq5es)hTO^ 9+Z?:L(~g1/yIĺuW[ٺs(J)'h].UPx?.ͱG$gR2hÐ Ґ);A2}v?9.r˞xnoۏ/*)f%<^ iBp}\ج;r;v$f߶/$GX4z`X*车ea,̒Ѻ|]9@PJ%[۵cd19i/IvыU_BHKh[eք195)+nNf%U(Q@2Q({:X׺~}߱IhǷ׹u/@4vsbF"nKJ38ϔ5$ɽ;˙ @$m_`>g'gYL=\mwt-)̔Ct5"z Wn/;/\usyu9n~\lthTAKֲpO{a]5z.ߺjRRÑ3[Wh%I..>v28mSj ~kkԴC!Ɇ4z8>Zб]/̦[wiVC}>msuˬy]-Ia9*XLWl]TE벥z&y/NRzE>$ m"q3Av;NJ!I5=U%1\<}*5(nlNy)q.E?,UQ*n?@3IQ}zeltY+k_~"F6b1BlӘ;tfL=񒤵ʯy,+jô]II߭>7 u)Cm,RmWwN{NJr{T* *}I}H& 4T&$)J%6$0&qQnWvL}X:>\yX$c <.!7JZnDMEʱuQ(̅jj=&. R @*@!H(@ TB PRw0Q x(x$~Zg d{@ TB PR ~Wx yzy$[F `TT;&i-{T`tdB `r)uf$Q)#򖧗N-eJX kl3%|԰6xI'h\JQJeurkNSURݠnfGurzB(VettV'Iidj?PNn짹*}; >=$)[?ub55GYWuJTjt}}w]IRÚU %I.Jui:w_M]r-V9N/1]ZCءookZ2uT[]ּt2d/4 `F R$I3&7Sݠ}K߬7]Ӓi8o$}$I_N)S%n(nYՠ%C!)NK>G#y+ҏF5{_J`r&(sт/id:j0nl.MU"ɫБ5xj\yX$_ xT!7JZn@' 0#H(@ TB PR @*@!H(@!yzy =}B>u;?Uk5̝?g$Iz(d&r ХM>WjuTIe8օv9s ԷF[vE$ױ|HUݶ㚻7P}:}"ys~OfHbΏ j~75FMsD붒׸zr*YGםseIRMuU_)_jVU'ql޾jPZG>o5W@)_\[ȫo<!)<=ܴ䃆pQ3cgɷ}dI+Wyzcڿ]m\%e]+k`9x8i,5{ԪT5KZqJw uhSk}WJl Nl'cQ1)5j]5ZfHJepג!mq,ֱԬLi^bWwQe]G ޗ#}mjXja7zm-f6`㼁[:O禜ݾ~ a7޿q{D}FReTzT*zmT)Nx2:p>G:ڴu}ؑ8%hlX=}>n$fڳw$)zw¯Kݫ5[y@i}}8;]hlTj^ՖcG`<_2i&=hhzwMgk-/EsGNt{ 5{ oföҬQZUkȭV֘ww,n[U h0 @ū4wo\FZ}+Ls^螂}Uz8Ogu=Kc U|J5T}Pc".Ō%3kZo֘јmgLGJv;쁲eLg]ϖ1n>pςZ1mغh3K҂+u{5{|4u\9hVmUȔFҺu1Y9;6{㼁[JUV/vkd@G]9*dJLn.ئEb6vfN 3w 9{2eκ~f| d>MnJW-##vz V鮗^bYkZ3*d'INԂӴP݈5NPj])ۗ$vWMjWg%jrZJ d0Jʐ-n,yXe2~!0_,/F4x}w/[/<>O{,iݴ}_2i6 [51;{1Θo4fӑ͐U!Ș] 4D2{Ƴ%|.rtDuFqIa+Vmߍ3lRZ=eυOY9;6{㼁 ݈2wj闛X'3Z gP2SB RWS_gY@!)~+cnP8@7,zV-~^L#]_"$STqZOҺvC^eUP/RD}Qxjǚʘ1j<.lk׫ռxt5浟;)M :W)aycy|n^#^Rr51Nv R\[cFcQ1)Ya/_;_?gWa/?VH=h3ӦhYFjv}mo%OݾtB9 '}wTFٱعRϨ?H.rjV 05@'q\$p@`]_m#_{zYc}ugzvxU5Yj޴$Y5`4ը{)0߅~ GtnoӾk^FQa46Fmkq{dy[%FgEܙz?CkU]as8%eGN-$d}{(KъN8i,)* ;)Y"y6O|]b bpLz9v\7HEF(*B#ՠefxuFq{QO~9Bm,_r;̭ۼ {dzpY?Ohm_ksvl2+?xV[$sŽkیN*P&IF%N 3f"򖋋\QTX}G%33=Ϋʿ!I*P#5^zu͙:Q3Fb9fV0uܭ4KfK'Ffi^rMG5z̐~Bqj?JО^_,SDReG ZQV6ۏ>/v_\Zuzخk5g()-E;]6}-me)YS8KRO~T?+T_\U >zJ__d[\+Yͪ*25n1Ѻ TWMJg BFP (嫕ky5Tb ܅ꝷ:Z68!}]\NϥqU4nfy:I/H*~~H֤Z2yݼEcGjZz8axƫu{zm:zT[֚5~k|ɤQV<ɻ=6p IDAT1J\IǣGP5:h]a=ePݲt?l;.jkYQOkUtd<%`&ZۯB/ϕYFcQ1p虋[TĎo)_BY Yet[߮S g;[sqURAjTh :!ʩ`*uh4KR5y!;}B|9PZm߯'N'֘bf8?tF5jV:!b/17Cr~|Fqѱ9zmFq~CbS/#su#Ѿ{˧+NzARqqϐ"Irr#I-ZS```/a۸1O/o}e $xS}_k_w 5sF~>$ݮkg/RHIU}%IuV6Yj_^YWnϿ˷զAum}_%JW6rѬFْ {U{n I{i7tQIW)M?1]ږ>VY(`q]~`;3O7+qgU> s單P4@,{b%|u1EdUTi=u^VtK~*)zi]]5ch5("A;[{rIoi|*Rdbw&7*촖}OzAk d<^=y~yh|ctFt3TY}ϦKqroX=i?}3kWkjR6h66Pd.:2~k,Ni;}){_3d˫)K"mq^0i=0M_^xxOb,iݴ}_2i6 [51YFcQ1p.m G쒤!JxO"2{zUihlqk5za}(Z>;vR8bݨ;ÆJK?-S/|.rtͭ1(.ɦ(='&I]a}0qzq>1;;>18?[l0^߯!{ jw$C!)B|EtA/Qfߧ+{>/R})Hr=/{2,y?IR_Ǖ1WAkSTqZOҺvC^խL 3Ԏ5ӕ1w1cH],5w_nh~_FRIo*r%D5浟;)M :W)Rsr*qb4s|u~VzIt~3h+u2g6Xz[i̛03}.10ImfQumdQ 6o׶q6h48>F+Jړ%OݾtB9 '?gf 9aE[PADߑnΛUiEMN="4jCzR/d1ݕtG^I{k_guZ/gptE?g٨>޸5~!8R Zvɉ;֯VWo~'9\ivN6_ʧ^q{UV%_[?6u]h48>F˔Kwv҃Ty'S~3QΎk3q>{y/#.^ƌ@5Tl%T|ߊ>1yd*}'mlg,3M> H>hbKIzgߐ$~gr:LVTU i}e#wP4\gͣ=fHŞh?XgQSeyQ{ 553u2(*/11UqIY<;kغuZ0rl8c:|lݮZR?"צhRǿl\^rO_JEMWC+X:r_;k^v=b}%J/*kK4XE GZFq{w:'l2E^w8~bh^-_EuLW̟TFcڌg}5No&I\uM]n. X/ y{c@4~XzvJu\ ՈR. jl{Rfe_=I 4TB PR @*.(@ nj@ TB R%O/oyzy?{Eq% !!B!W  tD(@:"Aw"TQ.%*Ai[G&lJ}ݹsn2̌<0DOEeB+R*9:5XYI93/+C!آi*VC[4+;==K}.=@hp( ʕW/)J:{OjC(^"W˗e薀.1KT{^Ͽ1qku.p{>?gG8k&fϕl*ӂyw2j{0;'(=Y͗ `0l#˦=y4b +'IӇ1KL__l1ўrEnإshԸnOM `4 (V$}ٸu;uy?O^b/(U G6I}/ЈW>YWJZ4̩te6PNb2Ɋ_ֻi""""""""6+W]3+L&>s%֙sJ>@F^a0s<pU>SeIME@`4n?_?~aߟ{9g3#hQ<ඏ$}f.bm9(X`"#Gs;NCqͳ~%IӠŻL_lg&iZDyq3қ;38ltpc^{*13a/ ]irA~dj䓔МC07Apb@}0пk)^˾ʳ~DDDDDDDDe&O lW]2st@ """""""""EDDDDDDDD*<&LDDDDDDDDD>f5MBͬ"ȃOy(""""""""P!PDDDDDDDD!BC@@ r_*V} piV2AJk&""""""""ש(Yf˲U9_!""""""""D@oݾ&LrY6v$:ocF*SiU{igt\%BhR,GuT,z5NPJ2aU'~E'd(˖aط]g*zȝB7 c}G6/g|4:#p8VHf=ўq9MM}zJf*V|.^]e.~}c>x3>m FsG2r)yȝB7&h׾-c ;~"۷jr͛`5,L s쌟XwCg*gt-HIG(M%B B*RðX}qOLV߬@Bt\vi5nFDDGH^j1[,*"""""""riFmrȫba!]ZOMDDDDDDDD ,D6!`:?~|U}=5+Tƴ ?xJtjC@@ """""""""EDDDDDDDD*<Ty(""""""""P!PDDDDDDDD!BmT$AJzJ묞D$[_D {KNj<P2sMH&([!Z=ׄMxy T͋)W̥DDDDDDDD$tjkFgcا5L>/  dԆQD/ˮ-3#-I.BJ9cMμ\ E8c"XInҬ<T?o$M[{ 9q!r,O` i53yMFwmDOĥgL䱺~D>{YdςDiڊkt@d9µHsуy}'/ ޖ"0'`wdJXp&3 ggĦi+"""""""rQ!P5U4b^y{`pAl907#O#9|>ҡl, W(Z GBȽJ˿W/9?$DE@ir_zswwc+UfV9xYbQxh!"""""""rHh2yH x[uL@y'k5kd/Yۙۿc#2xaLljCOdnwdd!4/ExS3{d"!ꚧ\vi5nFDDGBDDDDDDDD<Y;PPDDDDDDDD<Ty(""""""""P!PDDDDDDDD!BC@@ """""""""EDDDDDDDD*[AJzJ """""""""E8u0ZzJiNK{y[f?$R!PDnu7PjOiݿ~?Tb TVHv`fD:U*p^G0]lT$J e)Q"U¸rx3gIM/aIJεJPu~*V;Ұ\Iw86 lD2)ʜV5'vV`8bX%j.MRDNxǙ}9m-CŐPwa[laݥB2{VsYͥlۻ^^[.&.5z|[[ٺwW:|I_p>IS7)Ci|]fndƶHD?ԡI07.?j =Ug+YOgA.fB1|vIɧ gf;nf8#7`֝ ͌}g""""""r("lM(F>sٜ!gM+q&-\K?Iy?/YLh^M^ wMmݒJZӧ 3wəa3Z2\6aj&kE?/yY٥ͭ_?m^َcY݊K~Ýlh#""""""wN=dҺ:w9}<;EK,ͲgRfUe(B $5l_LOfڈȝBܲm#<R˕K'R\{~ $[ -jR&8 ?[ߓckhԜHB߈|O͜235(Y'%*`~~ڎIHWhrnyݾFDDDm |9~veO""0{\\vi5nFDDEoDRqb2Ӂ>4cZC#Xɛ>=+Z-yJ.{b1vE'Ǘ7ѧwg~wfwģWx}_PO899cWe듹x1wP˒] =iX)1g{j*wPfnq'[]HELڟ7Lc'xejrD qkGK_d]L#IA]LoEf>k,X5cH}=2~sDǖKbz^˲{y)Pe?&"r_P!P;feUjo݇χsR~T$'va2)x3ql؈ZeJS689jbO8lc8bX%j.MRDNxǥߠb%]_bYT RH(˺aj4{?N#3{VSvGKl|G6#+_#+FX&sݼn8y9/y39`v(}n/2<Gq;oovI>>ȟ;'ϝGDAB t>lF1ۄԯeaBWfg|_?m^tݒJZӧ 3wI9WE6/1tmbEDDpr seoRϋl#WaӾgIY\y2xԹ5? N0/~Z?u~26`Hhg=?v{ ?OĔɟZlֈlbʤO2uӵ]>+po.n *J2 4{7_~3muxc^Kn/K2O+JZ(ʸOڸ3sj_W,;{6O}*}iY~W@&zB> e0&|kd3xtf.-z')EǶ4VWI<ݺqMGDspi8iZ|vуmnZf»}(gϝtYv_y,yc9O;n%ltzal68s -bĉӿzM޽ׯÆ cر̛7ufḱor3g籶ߋv~S^1wy-^X܎ɧz%v&'Y53㟛6W^3&-0CL؍3Nt]5ɼΠ~oު{er:~mݷݿ>o50/=8LD@'ͩl,_n//6g.bbox<%OYӃd1 z퇇QLL ׮]ȑ#ٳÇseȗ/y!gΜd"&&WrEΜ9?ɒ%  $$$`4ΥswjԸ7}sbdjߘQP"%/i)'|^"&%!*,9jR+qàQ9x `l/.N#7^:hwа돜\3>dua1;+E|r@Kc2gdY0,$Dɑ?wx*Um;#C֤d"}hZ/? ǚ۽R|c[- z\V3[339i{1[ɜeⱫ2j|M=7qJ{)3S *Vdgr4SMG.LKBye$Ypnf-ӎGLrxi(Oc_CO1Ogbe\7#y6p9Hlɡ+|r1WZߋw\7F]4WdGC,9=X)@Ϸ1F<ٍ^O5Rlme1螯s>}w.5m#EN݅Ǿ=LH❗­|9T}.&pnаRN)f>>XV'b68'!!+Wpq;ƱcLjPB.]ŋ/_>#zpܮBNQhbEOưH _ N齚p>jx foUt1)_o{Ig[9߼ݡw~wyuu CY|QT}c-^T߱.ϴci4pf%| MbĬ3 N2yz۴M癦nn=$t Y<<9b\S#~gS @бDvZL}৴+DWBqql?xJ} n֊סTCFTTk֬aڴi̛7sQT)իG*U(X 9}6 ݆n0l㉏'..D| ~M}.?;8|x६ܵ_vg>ӏmNeƝncMM}zJ:c?q;vW)Ci|]fndƶHD?ԡi1=vߝ%HF]*5\l<"e:R1[wÑpG?1+!5^F8k;:J9W -΃f7ƺ{{bAlu2] DT.2hSLW~ڍ©RjQʹidx\mfviQ<Ϙ$KC"&&ӧsArE"EÁa8c&&AĮK+#'8q6p`2H[)ESP6BkaO ě8xGȖ-Ν_eǎ<\on"G0̈{oO4g9!~^ϻB:#4 9gΐVOִ9X?X60ݥ6fZ%>S^֗>zP(?/ŸXKv$̿?MY+笠Wũg._y+(~}ckhz|ZbI[ t;VںSzցfG0.\Nt|gQ787irȬGV9_rt<|ϳys9*]snڷe QzibI8Y:orxjɿ]ji~ j ďӊIޭx?i+s>c"""""*L<D"EˋIy38?mۯXV~Y0s`1[1L`80 G\c_Ѭt- /<_)Ujޥb!{siiР=a֭@U,2W2:z*kNl1V?x;]@c\3w~./äN#O12cxmټ K|ޖGkt(B dw(B'BsQcŔIvnﭴuh;o+Ͼ.9e>ޱ%|ʒOk{]g,\OkN]?1W΢ˬyT˟|arfiE]"_.vf۷n\_pyb yIdyeaĴq|vO2M΍}s|ܾP" @cmC duO>c"""""),X|7o^ SsD,Ͳ-1& gaV  ;p$ðb៸af!Eؽo;< UrcM{>JlXhM4+MȽuhekS~Vi5 b/S$;v#xE,zQ>Gu6=揧Sϻ5-@M1hWgiڮ6k&)ztv~s>r=x䥿@x/*H,[ ZڳŒO_fghں- {|L-6gvVqn-+R]6۽fOz).ڍt]>'9 $^}~<>c"""""쁿Ffcٲe,X 'O@a6;&Ʋdr+zЎaOQ4 ׋ql7kszwϧx%z҄d0 f̜֭9W3ؽȽ$iLX:, ~ʼ;Վk'RvL>5n8H'߅&`7OrfYJcm70ۼo;=Gş09hj|Y8c^nI{IV Kslz͘<b1a`7k?SSvqƧ 'dmzʝE^ v:!C.($[vp{?lܙ*[ݨg'+)l~ -*[T$S?OWpӓ{i>eC{2kmb/G=Ւ咯;Um-͜h3=]?/us[&F\_3HzFfcŊ^… aM`7/v[9u%97kv Gfr}_R/yg:5 ? WY6_2 f|b%1̘XJdu#5=+Ȓ9|_טF}1rOn_4pG-i5Zև,mޤaw^5 ˯mloi.Ɛ<^{a;N@P+.^Lɧ2{8qY-|z+2hkv܆_֬tm \`F0kq1mL;e+3WKb.|էy+ä5o:v+wdb4߅1wxIH8PY:3H20{\βe駟(T8Vh3vYh^Ʉns9 8e0ЗHZ.{2YU1;ryc'2l6رc+V-Z|!ѥs5j܌L&OhU:l)UFRۏٲfTJP!""""r</\ҥm58y߬l_>r'00!{E@)xbÎwVsmOQx' ooo ,={vF(rOHF!rw*cآ0uHWzSyH=,\ 0shSAr}Ɍ%\fW̻ؑ x}"pspp`6?2k)^z:U &֎ˋ… }vrE 7E$`]0ni7W0].D|عs'`)nٲ .x}63WLړxY}g)bnX;,flvK?af7cfd åHE@c®CWc9)%K, 7nfy"""""""""i=7 x"dϞՊadz7lȗ5;)f&ɋS3awF?0`dpoxΜ"7{al2RNz:)M>xA<'k29rw^ot<GrI *$<E8#up``7n'e˖#g<\ns 퍷wbpl vb∉ѿ,{NE=N`ސĻ qx,& ע ~oZR¹Yb2صk?ӟEDDDDDDDD2羯&Al0VÑR4I7H*!܃#'a>*Ue]Vb钅X-VL&~~~ \e 5QLg5*a6Ӝ$ o"W(D zȑ"XI)MP `vX9¿~Ӿ?oWҨǞRED$rv#[l6* IDATD`Gq80R)n 8/kb9kaz $ΞJ 62sCswTfa_yBй˻dBܹ=ي,.LuwE@aO\ʏlNhٲeҥK~Qa)UDDDDDDn}]4 #GaxY෽ffb"鮾)n.E8#Ea%^ϔD&_7Ќ⍷,:SW 49.0x^:$Ӏq}EHG"`xqEٔا7~~~lݺiHPˌ77򺜏u*S68gKfqۚآx߻ץyX9BCQ?n(R_b#"n~v {<9K0}"S"b䄺];I[La`Yo|8@݋nhTLܫ^~TO}Ef3cĬΜ&ϷfR ^w0|-[&&D3u=[~~I/5y^4BM=^Tn͜鹣7M|Xi } NVU, mb46001w˴ɿ3s1)3Ʊ=;:z?YL]^f杍gӉ97r\}${j)a={|7u CY|`,U_oO;22:wnd2̘5f'0cy`8Qo5~*1vZX/u@}xlোqz՚x~Oi'wu<}?#d˖ 0I6o:)&=NJS Ēq/!ERt$İp L& ߟhΟ?2%uMP*KK@/]^ϴթJPF7JB~vzXV.O!4P#O!Mw890ʔlp(sZĞpŶO>MWT(K!ƕ+RtpJK} ""O2:84]LqHϒ f-)gA=[0}jg| )},䲚Ӽ?;oaxiq/WC^Ytzs:<9M)L<_qXfޓI {4&[m_tFSp .\ 66??? j?OOL[L]sLzT&e0ik X,@///|||8p ה!4.3E2c[$Cc@7*GsvB\v]|0֤j9ڭۼu=ޤ`Qq:7n]z=ry(_SӲhOi8`v(58qsL7~31| 0{{$ xF$om+Çoe=\%]z|{;\YVn|d_N'OΝ%쫌ڧn;=).cǎ퍗vq`,+ <0Sg3wwn\-Eϵhc:z!`90 ???Cj⾉SiCf/жwmw=0ة/TKtS:oO}H~Z?Sgԓ,^2ʹl‚L?_it^/GV9_SӉȝ~IRNo,_8㍏ s#훾d-c]A럗qa)xf>Oc߻#W!lh򬂛yog!8|OydO<dYw9:~ɿys9*m!5 gߵ>{zoO;4|}z ᥰtsRN_!qIz{7Vo:ЬwqO?{E6`ME@H "EAJUD) #қ ,(J M ݝf[ ᕐǕ23gf2'O!>%)}b͗l\}?*=/<`>ڏs1|7?7Kf4<Tͥ8߈9f &ԛo3r':]T'K7SmI܅+x}iҵJԪ_+]zDsGUUTSSΏ{ Zt ,:>Nyry-} e;u0ĝ^@?&:M&:stb8-rT4թ[WS<j]=JT1hP|6oRܯ<;d=sVΤr;}%-nҠ.{ѿWЮ 3y߉ ,Vkge}G!¡cr*z/Ww]K&lQrk}dБn2>ܾv%CG! :ǟ׎_'Z}O?{EIO##&~A{GatŴ瀞U[OcǑ8r19ʻ3a,9/fΛI׻ H>i29f3eKfR$` * 爻dYrTTDI%99ttYr劇m,\JqfwaBY[}_N?a4AJ!Ѕc1 rdL>AgG%4(0&`La;i>ƺHSձcxl+2/璁ljU.ȵ3v*ƴ3$/`ys }=:%4 ̄_Wte[l_S(~r"U6;}=m{d$% T!,&AeXXa-GՈֶGNݖ1e^u^ƐZ<<ؤ2YO`\)' ǿ h|_o>Ox VVd&Ŀx+)*aub;M>9Ё=Z穾z,eƕ? 3a<7Tc=zRTɬ[Cۦ4?QqQ$~eƽcA|KЀζtIKn?ٴ'I!VZo "ww{'gR0@2t ƵM*R+,^bM\(Rf-鴎#r@&}g^#f^'T:MOMѢU^+]˶Fl8sDd̆ 4)&O+in6ibFY3-V7M?.yӕya =l7>3L&?5:4g XV{k]`i'Eѡ)_Ѧk;/jko9)]kVZpP~ ӴqNR AS{W #h Z0cٔ<>D`Νs7zT0UJS&MqoYcW_[I C "hYC10XEafiT7Y)w܍KGm ,a⢯[4vȸ~OjeB!Bq 2* dǂF0jЅ *W( U ބ&uŤ+>1蔬}ǎ[}:t Z6f{ٳ !|0iF,B!B!I*@Qv.  te͚Yy_`ғ.yϳ(UU +CRr">:mbkf6 f3Zv0KB!B!Z d!L&& EĬl Y 9+ 91]orf.jZ%^ϑ#0EY OU.jFQǠǺB!B!Bx@-JffflP4Pfdyl 5@㌽f\T#>>>\H(wBIOΜlhsPUM*>XfffC'B!B!hRhh(U(^DǠb4؂z8ɖf Yح-|v?}%)݀ ֋JfL41g@ۨ@K5)쏪(Bzz:Q!B!Bl t lٲfTSfr cU, ƹ|6dMi-הO8ۨ@UUOhNǑq$nL&B⁘͖@`ZZe˖u}B!B!BR+V$##Ʉ(P^D@u=]lzݯl٧MY#L`o7ٶlY}LO:ܴY#<<Sh@Ljj*P!B!B t `0PR%dP=łUAUsguZoXfqCU1)"̚qzD8 % f{IlcqlA@T*e0(BRRf0(B!B!Dv:鈎&11ѶLT'-z4(:223Hq+cv1aHzzpL>PFD|үDjEX&$lǁQ-*A~TTLLLZj>q犈E!"_IC!@`TT餤i&5QM3PmlA@!'cv87y8^5|8T*0&FŏSaEQl6m;YZ4LGuY$Tu[&|}֩.Lbb"uE+ЇN!B!B?+Ѥ*UDbbb쯣QlA@kB1":|ed¥N_>W(U:Ub+Y '1oOL: 2b/XEKٹs7AAEsA@lFƍb4lE++[Yӥk֠fh6kmݒ'_'@T4DE]c/l*v7=>j݈բyfM6i1C3OL5h^ۧvYvܖq\f+ۘAW~h}+N>vvB[u'u&=}Q4[oғ67tn# >Qt[3_售՟uuR9мAֵ}2цԪM5d&8Osiқ>6Zh3sySֹbi=pk}lo3":5Xչ7v*1-^hNhZתǑvhkWZZKX*9]m9' >V;]pp0jb͔(Q^ 5⯿bHFe2GMx}K`.k ff3PtD5c0q梉Ɉd&0 A zu#(^6mr߄,mUR>:^M/V;[򹝴n3WQ[αlR ϵO[JIFA37xw&~Zo̒(f]8}(%o祌uҪ_1ONMQQ7=75AY!D`?k4thM%Q`~M$Oͧ傯nIN5a3?wM Z IDAT6}z3r(-!76Mb\'?n~t6*u,㮍PMXnbt3SO{sZO^عiO3p,e[,3Ql vE[hҩWۡ~k>dͱűy! >E맪)=M+… ,YBBB_ lޕAH{@̶`-h6c ةiG>$F NaVDk2GlBbEym蓔,Q4ٳ'5jw.Сs7/W& 틡^gF>ml|9oΡ#'s:Lu'aFxfj>eHb$bj >Ar,mۮQjJ!9:)gv' 틹S?cl׌wc[1j/HΤ}F}2O?u#-uq~ztnOaxKnuuf/srS2֣EȨ+~`}bZ"y/ U_^Y!ĭl!0ay6JM֑jJ]ǘVۖ'=?N(tSj6#{ZZZm]^Q^VIb~go/ЬSlElZ{{hQ~itc:5j4SV-c7e-Ψ3#=o=/oZXj3}^zJwҲe͍70,*5og e Y{FTs&9# TS)3kY߫A@lA@kϘU򿵌dtlFAE#kPDTUEUU\2ZqW?X+,A@`ی;VlYGMl9x䗇f{N?\1c"32Zjo 3w]9;C==;xiO-FGo6ܝŽ8ao+qx.奼7eZԬIth^.G?jFjhռ3yseZ6O Ю/횝7vB^KgZ|'{b(˦9g2c^;li1a@GزV*{A:?*^h1=!ݻ/_,&O; OKoIQ⦤5è)2o RVVifXjjOV|n|ruzY[|,_H1`%v@ڢyFV7ncޚTڎc{ӾRwqf BsA\lՄ)w7s9OmfamY|Jłl}*/X*l7f1uYiչis\a FOGJ>GЪ//,Y sGfp'3ʒt/,XZ[ Tlww[Wϥ8߈9f &ԛo3r't/F.\ 8->s~^?wSdKш`6]b[WҵH;c 9(\ MҾ'Of칃T>77ђ홽 sB+OfOfz?+ZSz^[4+1Xٸ=ٷ?/)Q 4%ˣǃ*(ڟY#x.:}ru:m8l_5RX=Z@~\rpE{7 (Zke#"[@DڶhBDMd[#Ѣ!GEY5jp%9Vqג*[9\1W+Mʵkg *^iY" :MS_A3hf!%=sFMmEX8X(1ԟbޗmRCz;fǑCTm5 ܵkvnB;o2aBtbfW^MvۗK?&7\V[X%;QOOE=x?mͫȬ܊F;}(=Lγ]`Z}[_+]kmխK? 6Zr5) qԩEDduT"%!U+WO͹F:DsX8tLL{w8sNuZnD5ʎC {hW4W7u̾ 9/)l"M6pe,3 -/Nr~>7A@kS} ]CՌ ͖@}hѢfۧh׮޻M-Zr(R*Clray"a}%a|?ǏroȀ6ת38}?gOsv)Ne:\ː5XV!2;qx7"ץVyW7C2ݫ Ð: (㣣y_wsfM}BA%øy~y0AlCJUtۗܪ-΃ie+~k}*Vxc :H}VeE{O_`PGXj@Aǜ zmV_VJj#Gy~ȟc鉧6RM |;6۩/ݬ\)edZJ^ד]~g=^_Wy*ٹ 'l؁,׮]#99EQ0*z:,M2u&UgYTarx<؜Ʉ}v`sYԫC͢,'ę3ghѢ˗w3v*ƴ3$/`y=Kz6P3HۃkiEaLLI{Xvw~$^ܑ:;K& ˜zc?,0O6o􆁘2.bʸę2aϼ e{ ܼHo919cr OϹɵ*KR՜Fz6Z+7e0g^y? Dd<קծ|ת//,j֦K& zc NB6l-1Lڇ)?LlKxk6$,}[Sy'M czƴXVM}z-:ҽ dj4- nEڍ-`Nǘrm ]iZ}[_+]km~KO2б[H@w ZGU#giFp?fe'OΫw5+z]yR47YGDȨBGؿd*1oS_cJ{%9ĝAaSz ǔyնLΛ&7q~4txhDq߿≯~kI8 P ԋ j\-/kҡ{ t#k 5yS>;2c#fv} jTl?5PLV:^LaXϏIH'-J>vB!n秏Lq᧩W﷦xJѿqrD@!Y7x'8YOQt|JW)v惡QT k^)QgfaP3sO!|# ښ/Π[Zh~[0UTWX^ emV_!֯FZ嵶?en؎ytjIwsdVdo=ԓYKҼM׾ 1#$'ctr2ݎZVp+׵}mΞ!we `Pre|||0p%8 | (  O>A#:|4hP7"$$Ɍ;wJ@ BA@!B!Bww0]RjUbcc@ӑiL?Vq`̦xiN#fv$A@lBńN~zOwlL" O>:(B!B!wm Ϗ.]A\\t:&3Ed0: XP tsN#A@TS NQT˗{hժ.ǁ/\NG.]Zk7B!B!](Z(]v%""SN(*>z}>MZQM TTՌ~v`k-ˍYB~>:kbԪU^b{XӳgO*T{B!B!Bxcbѣ+WDFFt:Jү{9}{z AlŽԬ@b QUՒnd ?=>ˇҩcc*W*CzF&e`̩S(Z(}B!B!"@_{)Q@A3UKn8|??0 3SdV;M jBb`PGG2}!uV&%%T,SSS9s +Wo߾N@!B!Bq[@UNR k׮%>>2ePX1E =HZ4{>\K]'ٳēAJj:d1F * RԪ̃ +Abb !ΥKHMMm۶7\!B!B[}T0ik$''a>e˖%44|||% z2qsu^'>1Ԕ4L&3*> D"-S{(Q$%%FFF\~ϓHxx8Kt܍sQB!B!v(T#xgعs'ǎ/_r(1i-$ߟqgd --Դ4RSӲMh4QWrY(_<= 4@kB!B!wBZ**U"66<ȑ#G RJ^GU22Md`2/:6/33 (իW9u(Bi۶-UT!((HkB!B!7:C*UP͛7'..}k.nJҥ)We˖t҄RX1 {ӥru._ŋ9{,.\@Q*WL۶m^:E!r_o29uVv]""}4!B!SV>>>(QŋSF L&/_رcƲk.]dBQ#fEQ(V{/QQQ<䓄F#BM]s`m`{B!BqI 0EQ0  < +[z8* ZE t_M?tY(z2S?ȳ}αJv+ |t5ŧS)^!T37=VE1a(m?\p> >lgi2b5OޔwY+cՖֺ ;O0?=qb U]V%SG:%i7|VB!B;E|~ˏ?e_qJeZESr8qwN19 #[$9݈>Bv8}('ajo73ߤ}.^٫UwQobY|7gؾ~z'mA᏶S{Uٴ[AkVĐ}s?wg~]c_'x'ogw:1?wZu˙7k݋ϢFrmf9csX:͟m%B!I P\DG TW]&˞1nV<Q|35fM[zDdu}2nPj˿>yeٰI<-;вVMjWfu2/9`WUxq}NnYw TG0}ԜWmv^YCӾN-*@zv>ҌQ-9훐7(i~ߔzf4^}եz(WSk_TnG5i]Ҵa&_ xգi[|K~VLE=zu{T"z֣2>z]fφV{ :"8=gK_V&уAj ,G5:K_[~/uSX1+_o?l[w@*Iy?=% :v֣֡vU W+ٖ6k * [li={ƄB!I P?C{̳txe<'{bX'))lx<}w_bϑ0h.mO׶HbY:# uKe}0a͘c/ae̟8ɩΗbo}0 f3hCO# ofakB}޴Mnۛw}fɬ0YGMl9x䗇f]d@Gز˴g,$o{0÷}VMc/k`ԍN4sxv|7vU.7~VVIR%?uzT^>sU̙k`?Mn\رru[><5#āujKk h-;n{#:L3ٿfU?2=;oW[]#ZuIY컏vcHoŊyJt !B!ܓ@(.ŧV2cOΜQ=/@O=sGo;Y=' }+dY5eRd 򡌏ww9չj ^y>ꦠy@Vc{6mo-Gt#2@o|x Rzt,КoPk Tix )֩mmiK7‚ }iCißlƼ=sAvR֕͞d~0DZzħdzyCTzQM>xj3XlS2(g\,ȗ ]Ky}_üQ,`1&ƃmrEDVrFx fjɟ_muh<:h+o| 7)mT S5Q=YW=]cB!B ( V>!SEKy~s&V9|1]Kvk>`-,d2$ҶEYPpfi ޴Mn[KDhGVx{̵LK=:Cƍ+/2m̪Ut1ch{i3po^M&kA%ˑpsyJYW*ٹ 'l؁oS_p(whe4_0g ~^8pmbӊ2 9򸛨lNյl?}|WGròGI=9.\[Z˧z`@2aʸ;ҴvcASśuǛOWvOdʔu{m+7e0g^y? Dd#WٻlmF`1؏Fl8sDd̆ 4)gY+}x$ζΊTxY{I)!kCP` =L3hPw9i)긂qmgz}j 8V*ú-sx _s{D5zs=: Ü)5&B!pO`LM+DݼfyCn߿(.]ZY(P""B!B@f Bd˔Nb1fٔ4iQB!BȣBQ|6 )u?"B!B! @!(P=&D& !Bq{ȣB!B!BB!B!@B!B!B!B!($(B!B!D! @!B!B!   !B!BQH P!B!BB@B!B!BB!B!@B!B!B!B!($(B!B!D! @!B!B!   !B!BQH P!B!BB@B!B!BB!B!@B!B!B!B!($(B!B!D! @!B!B!   !B!BQH P!B!BB@B!B!BB!B!@B!B!B!B!($(B!B!D! @!B!B!   !B!BQP!B!B! :  B!B!& !B!BQH P!B!BB@R$ @+B!B!_+B!B!(`!B!B!   !B!BQPUXv8oߥqnS9W.D?4Ӳs;zoWb#b^潴U$(B|qYʕ"__{/P3r+rY\箿:w1P?<w^[DQ|F<M2a|7#U+T_j$;NӡYMPPMI4͟I 'fn/Z*JRBE)H3J<Yof9/rgjĻ,Q0meܘܖ۳;KW*d߷ ?bR3(LՆ ?UZzz (,Әyr:dmypvLFRgcjWyd%6vʛNpY~< gOx0~:̴F3y|?LR:)ekȑ737OۖbDUKF[3TRD_!@!B Ɉ^m}h]l ׹/@s}$VWuI\|~&N\w>tS~y4}f`WJ`dže<[.dgiX!7e~1.%7@!NfU>9`S]=/ȴFzmy4CZ'r|/whƦ?-h˂q4xK7R>r^UڧNާL*CyzNqj>;w ^v?9- $t@/|H5-un]}zbPiT/>{ޟB!TE6zݭС|Y8"# $|{W/Ÿ#޸q37nrlWqΥ MaKCuC=.y.y.'aLJUJZb Cu04Ct?6 MFքRyȻc>żyXl0U&8v,$G>yH{hG&0r^w27Nplv;FN?̘) .wl zHdU4PJy쉞&_EOOW*;6]d>ǝ۩T}}f9MdjЇt{7D)\)g?4!$]4i$XQc9T3W.D5_ӿįR:>/cլZM#gUNȅ{7W.Vuxfj@GlR[[A?ipT;0}cҟM8N o^}i06ۅm3&ˆcD-#!vc"Y 'Gjڲ>|?EiMAsֶjNUH[%Q}q߬.k~EOL h2 ;x0(柾_BFyBF/l \2vh,ό-K{ ?:,U>z(=)yA‰ /V)s'y.D~Ao4&r}}[Hu370a͖셭'>+{ nTnmP S͚`]1(mߙC-Fy,ϢfԵ݅77x7+op9ypҞ&'g=62Y1n85cV#h5=&$bcߘ&'xeO_L6ccmF~bn"t&)ӂg3⍆؎K׏PC]c7n/wkNo2r%L7C&]ؽʇCglg'"7{m1.כqK~>l2+UJ| INj&D:/s7/%B!~0vGng)\+cib,p;g7Ywe[&?u|0]e79M|_.[ΐ$=ߝ p:GeY1'g!}xadfPg h{uc,F5 3V|Ě\9Li"8jHAsֶj8Wb3M:osW3iqҪbe=}Pu8a)oq`gyM bc&gŴ齒`guuЁpi3_Wk!T1{u·_(}yq, Ϟ)Yb.8t1slՖ'o* cGA8JTI%crO:S'|ש3dPnʹ1oLq+Gi.\؏]*:JBZ2fqz7}df0+>'K1ݣ*KaebN\! ɝWZO;d ˶#BLp{+,˼{~piؖyI/}@4pp$A<^-=w:}7nsŵ X=s[Ú81 :ֶjFށnuHN8KK,F8Р6m2sKGN#7o0 rv ]\.Bk[55RU/gX4Ύ +h4E_Kqj쬝lT3Lj2lcʑ[V˷~cU v'01+&~HxDy8=E_2k] Rr'*idBhNl&#_C.kƾ=oyMƯ(y>>|!P<R+Ճ4k[56dsVM ?$䓅JPbG 'j-"uep08kg*Zv{mAE.yMGeѸW.aB<N\-o똑So6sBGe]ʅ&[r7Ü][>SΕ+ hl0imufMbw#NKoev(J꠹2)*M&ՅNc}WxOAs##3wd0gbGF䋹pxkX i[߯gкl6@ONUΨtJQ}!r/gA}R+xYJQX$ywqC_JZ.<u':oq ]++Գg``fsc:mըJSJ_5TJMANG0iӉ|q{HR&=$9'-]_*$ܒ@!(JeH!Mo˜@E ; Aխ,(g[[]bg[-SI6h֊Aޔ3WU`Ȋ-4K%\ɝwژ|hbNkx˹2gDZ <꿧U*Skr6E=vb]G|V窿}pBqA*i,~f*L϶1ǜ#۰4%OBq˿L7)k!!%.*jޞ-a=>UmR6ޥz)HNw֞i_~AaI563pl|ueO4). y\ʦ<Д<3tX?(anh`xw]:wN7_jÙU3'lBq1aWXJR,\r+OzoסwA<{#||pI;%kۻv߫@_n_=DMur2VmWbBjm¯Wb QTJ“9_p>@*:1}JR.@<3va/W˧ mK:Yf0?@wDO}S|oUkJyTB!JfR5"XpHun"OL!n˘:,rA66$wn';,v !Y4OHA:s`mDF^LK>} Z޳ xDF-yuݶ Cľ5m^;w6N$#iαaH+wQ\6u޵_Ww3R rF6|'~DpVޜI7|ee>*rשw˧4Ͱvy;og}0ǿi 6ȷS &Oulڥ;}W:1nɓeZ,dѕ>Ԭ3s"Lgʲ9e_}t֥t1v+>kiejNl]`j.ch[;B8c鷐e`j*Q啬N쟳Brb)c\{݁nUYrtƝC?7YNA8fgPfF DRq*&ƭZSLmNU4Gkv6c m?{w/3N>/gvڹ3{*idT \Io~ldŝ9eKڽk:wʹ`Ol65h( ali:gp(lI7oFێRh"y_Is!(JiOq< f˭dE-}܊\yùs4U[8#u֣R*ŊE#}-H;ּ$,̈>?L~ _8* Фӝ bhX1_|^ֶj>߶eɶmǗ ԗ|ΤG&Cۛx=aٕ}4s7L$5KȽ{xפ+B!Laff^ʑ#hWb ֗/oźՔ/oeeב3%0>_BC2SyO՜[jg9fsj<7?!tK_+q\#001Z'6omys>&E/ܑsp62; -ȯ5A; I{pԝI]#7C2)*MWIw}6n4G   !/*pKw]V y&fff*YMQEٖ(JҾM\!KTmΊ/reNEw\@oʙj[ඵp_w<ƅ,T25XyŠAY˅xb-Ͼ64KYԾ7?e{ SJaL؟_ik]N&+yJG6cۻ%kANG0i vH%B"annAt %o#%i:I)cH !J; 9|% sW*_rT  $Kʙgub5}ϐ4X$] =W? Bֵ ҿ}=*yu8;Nʟi)ٌmoƒOhMy zHuݛ8k3Okmݪ:JGB!]Mn܈'S)%WqmԐG)+7ncckt"y.YZZ9*a[HKNX&=QcעB+L@<`!JF H48P)Ԡ2u_;<_!u 00{qz H{t CZi*j5V80 o(B׻sVb\&=)L)XӞ{2;o/~ BԬ3+VlכqK~>mVF B!Dѹӏ=[ dd+ ԰i89PR%Ex$ϋBt !H=ẓGIJaD-[++JHEK\!?E:B!B!x3B!B!xHGB!B!/@F!L!B!BQ?%IENDB`rtpg-0.2.11/tools/screenshots/add.min.png0000664000175000017500000007024011403430344017224 0ustar dimkadimkaPNG  IHDRWssRGBbKGD pHYs  tIME 㓁tEXtCommentCreated with GIMPW IDATx^i]y˳}վa_DH˖dÖ7W11f" %zb4ے&K Kz[U@(L@ï qp;K+5./S+lcx4 ;K7tZH tMvl ?'/N6˟?G(7:\Y㠓@~6) TjU=$ضnCzh5&@QfB P5WufA:=\W*Wl˶=|J HEB{mú#%NVp(LѠn311AZA!hV{mSUo59:.~x,N^l f8|p:s|:CX- &|_n!%t;{ ǶAJ,&'gm}e&&1tg>O݆82[_FU NX0vU0wAd9z%;eY|ij7o066 tzꚮM% ګ_%  tiNKVEQv)^B88M<"ըP@>ן(B d( %J㰽C4E" ]mhvC8aÃCJI.sqH( NzPB:{}fF Fml!z )%Jz6\LpUUqg8diض%agg%ӥĶUAUa|b L*fUQ\& w0I; @QUlz<3Z!D ,w$B\0eqR!Q|8=,IW(XzUPj2!4]G{s? ïٝ,8J4UUBA7:{$o>4CJ/jKab 5] nŞAܯݬ?Du?{ߓPTUǶzBwvRJ rIv}/A7\Sض}pxM3\\6ET*B8rmJN^\.3555/-BU\#8iYdsyEEWl~Ā4VS.YS nG FGUfTU~ݮcwW!M,pͬ=ֲ,֖Jh$w(@Q,. X fK(2-H ?B4Ct NNn%Hi%^]% (~6p8DauuarrbEUzeH&ܺyL&^sUz):VK|/D&a"Hx,N4X]fjfzF<X1-ǶyU^{5,ۢT*Q(}~Vיi~ lg)(@:y2f&j Ex<\~ɉ)Z\C !4zmFFR119ɛ9T`uuKp y.}z9|szI,.L$Ze$$J N?Xp ._񓧐ac;Eng瞹//>nlp ~7yo׿|㛿G,'dFg ac2_ב=ɝŻ?s'f?η c:9F-l/j,[lEܹX:6fG %/< sxtS'ON7V\gmc MRTcx-QAߣb:fCۣX t;- _; /9-e &a>)%^N1ޥR2>9F.WD&db-tώ ^wI.i  ŤҲ9ulXi uwQ\f8Ỉ$ |p`,EgP* ӓmb0Uv 9n/\E>}T*uB>(V,\Ej4͟wOP`|W9nZfbjvǤh5 ؎M>nlɗRI$0wygyN)mO;W71v7JvmMw )']2{\wڸ{hBP@k}[0{ܻbAvJ)Qmκ2{ߌ=FsWxB$j:N1MJ ڶ}_{ Vk{8.J{ ygP1P_Nw0mAn }R&)wݷ<|1qw ,vxC /8EqjQ8S}@jУ5a_{2 ;36FMs?!j>Ph7jCwGKQQ1#BU1>)A63B N=m4=o7];fh{ӻRBAU̎*M >XX<@?P(B0<^%& G:.|L:n߾ >^K!'J> h&a%l4?vE Z0 >tMۖN6,7_رcz=<^ПRR-]G{mD* D!&(d9йu'NzAJ{/ZmD"^zܼu'S+7ZH0>5"VٹytB:&I(OA*Fv#kpx&%G@2т0X{ G3k"N #PhnY~77G FU HdtRZɩ'tmy=\x-=F|dZC!C@QnMC-%N:k |p 'Nd,&_(rc[06񆢔Ke1y<`x|\"211sl=PT FJ9M&&56C\b||Y,aP+9z؁m݋\ UͤиugYB-AL2mo 05&r\wYJ6LlK8``KJ @R0T5z൯~B@^'d\vE ը GvH8˲ۑ$R~hԱlA4Co47/0k?So߾˱c+>ӷDU}fieYòn( Wñ`}1rɺ{ρP-~ACd6(>v {+ ~QR֙{R"?/@NW6Mwsl,/HtE!~Oݎ yRz%&?ͫO'=l/P*þI*׿y,U(mY j>>2deqIo>Bn ήQO $;P1H.3פt{őfW ƒ#2EJE@ӐP/s4r(PUPl8?j80-|A&SQmܼH2Bcz*oU_~P(VvlZ t'IhB@͛xbq b$~8?#Vh}ֳ'CPuH$cg6XXKPƲlFbA4G ~EQK H&ctpRD"vTUʕ;w@jߏڗr9\|o| t9 1: z.r Ƕ0mh*ƻVJQ?]gM$1ԫ TUeDURky3qv 5<ʹsJ6VC\`!Jt eڎoGћ7kO&YނP4ĤSR{Nαxk!>>\&[ H'~`Z6o^*Mr6~񰺞g,& Q*7x4Z)tNF< kdKU>7>2 ,mluHUU(, Vyh}$4X_2[̏yv߃6 _&F[ |S`}H쉉_߿D:! O./s4WnI)vxeBjXU6zܺ!TNM6_͛DTm[P(zBiX[iAUa(=ǃPU[5Kx6=6>ґ&Yɱ6s͍q&yZ.Oе,Νrtt[Y^| ۖd#{h`eue4\mPmtJc3iNg3[♳llY]FqJ;9ƒQl"_n}h^^ a=ݿa!_i=&/'=B,y7B`0e>nn391)5lrK* cXmkjY^]e|||_cSa dHn܂a^wUp86/ޯ( Z bXϫ:Ph]iОB+RJ]Q;%PFEQBq3 ޗeYi!ѵݱ*e>(sGI|u Xİ]x\EQb1p>!/@p"5U?.,7Ў9h2)]`/RRUtUU!~oNK;/]D"VqEassvA:fph$6GftrX$OKN>*Dj4|[ͰT,i7u`  ^:>G) d;tU68r`MQHĴ%_`0ȇ/h:x ) .O= t5<BiT*6ז%[(337Ge}}K:E'ruzcb4AztBD'sMΟHT,>١nbIA$cc}TUVēO?Tdwy zi4ܹ{q:o}!<^):>s(m$CQ(#B6cvvۋw ]%Nhyx~!x+=*9O=4N~T ?/viM85z;$iFR2@*=dmA?k[4Zm^VR.WHS]^wwМDcQ{aPr !⨵:PǑ(z)S0;;VJCϲq>/T˶# Ü=׮}H8òN:EVjZ-B IDATfPz0A$ű-TË`PA>/vUQe) DQu4]9 J40 t]g||@ b24.]HV7$t03;C-rqzhߎ}\1 1:v^ӧ (BXR {{|ϝ% 3Hp W҅n=τ Ɠsy^{4RUQn^t2PvOfbCSD"KU6 !ewFC!ZۑD}n!%AOR.fq8HZ{1̽=XLQ$ JǎCtǑ9{/Po60bJTrUNY~?ŗ>kRUz}N`$eq.=A!_eg}#Ip,v%lGVclr=K>VeV9~ǃiIJzڮ^e#@2Ṟcxg1m:F"X)n矧R. 㣣\~Yڍ fjK^e,diuH 7ziDcKe"8㰓+o"9#~$7oޤX j 5H_tCT 4|N!)U6iYQr0=5E0Q|P yl+Q0a"796ޗ^VIf[Z$.q$6LlQ,d"ɩS)tm'?]ըMF>*XŻKLNL5WV+_bb`i#8ҡ٬H~ky,d2Cuʼ؋Ʊ-GQl!_98a o4'/KqAvwZ:H7huDx<}1kL<4amǭ#qPn ;pVVfvjL:;q1}U!ٿea)v`w&x؇Ĥ2GwގФ  0&bwk{_xZ-U@Jd vCbpX[bb<6~JavnUg{L WL&8}ľjlܾZ<{a@! G X)tIg\r,v;6o"Bbsw{W@]ae*{p}K\MףX(P,V0- CXYI%STU3)*&tos,^jm(,gu;fx7h7x}>" oa$V /@z*s2 7oҩ H4N8"B(&JNy14g}Ƕ9}&?1xx4O~Qmgcc۷os9vI6Vr"왳#Ȍ1>6iټ j9Lߡ۪"4/Rdf;wd B/{wn!/J8#pskW;|k|=˓OP`o0{ׯ](|᥋bm( b,.ssLOMQmuxK_aye)OTo`ZΡB^#L #*Mv}g^F ɷʮ(|NxD &(0==/`8hmO@I:N4e>?|xP,|// _\>`'Oi5$$> lȱSƍ|/޻ Ep… e@ufccyWtzX$7mNcZGXDh6/ԑ[-,zH,I>J봹ǏVtTKV#ɐH$(ˬoı9W^뫔 E,ۦ'I&Z-LkbZگB@4f廤gyɳcqEai3G*F`~e&&&sa9$x;g wcKOc'pC:  R넒N{IMHR^%9>F4ٱKB~Z]`o+)s9bJek6Y ꍺ\__ BTl6۷[LMcIVN١PAES&^nW`5^Dr XՈb?lz*{#m*vx*PJKz Eap}BW}rcsqlE4{h9A8=ֽnA|AM(n 4f9 qms RJLa>Jy~La/pJɉ>|X|:?Jy ǡZ^ *Rh &Vkuf&ʌbA6}ƞڤA(43[8h%ꞯbvA8@!Ggm]7@7v!vDRB_uOaQϕAϼW>s.a'PH" m틋7e&.1Y10yRJ9Xpؖ_$qmC\jjZ6r4ZFZ% WNsssm4E}=R|eo߾ͱlRP+kDA.w1;;~^(b(t?iul&}bF¼HKwхd|zn4>~pqmVy$' |HHSzsRJΞ}oI4Ue]N8A4%=:NgZln_|Gni"CZMJ4-5[e _ ?@QU2i$5VWaMܸJ89A (+Kd EB:;W/sIJ"V͍ BO>$B^Bez,ɓ+~?sϲD&I!>22JiC}&ix<FFFpzilR* ( sTvpl˶_{o$WvsʬګPXIUl."GD͌#cbcp(a;dF P(Cl6ltR B{w973Q =w{sQ*4.*u} -V)dk54MGo&"B{BLDۧVy7д- tMowBC@Z5l]K!Uy^C7% Ϳn՚l}P&nZVƏs홅\FH鬬ruzjJ,^Q5҉RT*E__/CClllH4\Bvqn9w{j^PcuzJ檦jJ&aeeo2i]`}}zNTX*Zʕ XHS)uӱo5Jrמ6$ۉo_)i)JAOa[~ BD|-Pl~m+վ@Pi6 .}4A I3h Sx{hjlmd(Єi(Hwl-i1{4wg4 TOSTT*q68j5666 23g™?q۝NxޓaVq(W%|c?я98}r;R jouZʔlF-S)iZ" Hi1Z Abw|!Yݱ?LzD)L8yu  ѫ 樔7N&295FvtaK4]#bQ8=%jO\baq)%iR/XPx^{x'()wpn  Q t~xl~D%%a`$ >/ 렔c/~پ?i:1ȑüیǓO=\a'?ŻqÉQ tFn([ҷ,ZI'H>A:u×@RHf`@,GpJ'ɢY6sHmd2ff籒9|%9te Ɩ~oS{ɉWĊ+A8 H&EOwp<ph{>}(x Þ B?l =il{pJ8B[I*܀*!Oӿw=rp znk100@&e.t\j`-W++;&n4*3g';|DE6K%?~KuuSJۏt~sstw%|tT&OTB" ǶYX^%`RJWc}ԕƓO=:r_Z!;es,/6cb~$Bu-W2_۩y㍓b,/3??R|BL,ߓCOnww^̳x7˕K6|r+֮n2J)NzmZ^^*~Tk5Lvu:B/wdG ,'Ι)aT@uU '•KWR*g0cT X~೼J2RkuOZ屧+ݕlh=,db|}XJU)l&WG)r}r N"٬\̧ݽV} X^ZMpaV"|\ؕ<{yfggw*vW؉ BIcdy;f+<3-,t\y|IVj ӛ7GzPl]cJ`jf2H)Y\\Zڠ;5,+ {>jqB c,gܭp|*ڶGBK{"tsN/7֩[s͹>rP17&$R M_nPͥ; ]3dkT ヘ ~;Fz7s 8⃏@WQA&;;FDDDDp#>HD!ulD`#Nwc4u =-xp())Kw Y( }u].{Bϒ vS"_t%*B?0" " "` [oϏ#U"hi\A)U^$ nG"mY&3}uC78)K+;zlA&&s't/}a`ԵGs{S)0 >Ǐ… 1qe/|W}_~c8d]H>$RgJ@$!RJ\ 8~ !x|"\FiS& P244e8N ? =,l0z} x'[ၕ̳B*ohX&Oi}ǰq^@O25 hAo_/5/WI2=ì.c!O?N2c WdLW7ʌ1|pŅ%'IA2``p\6, 82>N6ccu ͍MDGA_;oH)YXV*wT|(4 Mkue[Jf :PiFhʚ!DX4GBF*D js4!߼}@Hi[TAaHb9zo!4 8iQXG6\6GwxnF<DD5&&.3Oop%Ci|G?ZxcyȕK*vuE8i^'@q|I")"h>ϝxB( ˽E/]6`i%H`.l`#A& ̐L%[‰%Hm %"v"h"'}M'×aT+e|۩A6͟XQazA]8"-w0-NE8\NE{È(7Gu*DDt0DDt0t-/=~0!!h4 0(p=ޖXˣA$JD [7 a[T|G^H$1M{eR4 _C3IQƟ*7X,F' @ \.340ф`Ⲱ^hϗ(,Ź 穻 > %7XH:)zz (@탫?DFA)ר6LͭW'-9!|μu twY\۬{co|A^Ež!ʕ2] d"nvsmeW^?ONWOrEj2[4QPph 4O-_|0GgnaF#\J&PTajS`zv#@_##(8~DMD 0i oqID!H)tò80T`/, 2,J)ۖ!-B6]M糟 Xba024l}aWmsfйPJ108ĕx{Sy]÷A)E"ۧڙDz8D Q058܀/woxd "[zC8y D0fub JNI"@`U2Cψ%$}$& R/{qֿ/A.|T"ϸpz fAI TJUd qLۦEND4d A)4-+%4 JJlq,6Ja&^Eim4.!@Cp0e"Y%4ZA̱L M bJڠ?ZxFJ.Yk 4M#$J'/l>Td2qܚahzX=$ٸ㍷.s(8&]brrU .}0fVtiS.Oret_ߙ"t ,y?J/|1>cwҗ^ɧ_ seT˿1''8uf` {6eB11ȇ_8ʩ7.04&WuQ&˴3GW>FDbaa_8B&&"( 9lY< XDFfSq*e =Js\k5MS.qr Kk,,7؋ cSc:k;{\>R 2]u*Z+x̦l ScxO$IX39rtw~?ǟ姯K fO"I;pH@7M;yhF"᰾^VkeRw{<9ϾtM6QÿGnT//xs'T!daaZP_A{BV*~P_Ewpp-dT9;ɑG/Q&v_wRD ^rw%|{ǽ>HZ(R]}/[//qJp?rlklmT9bB/Zyg CSik ܖ>4ƥf3{P%Y^-ՕEn8__C1J2aKÃn PD#:=VY$LN!$vYcԍ@)Eo.L*R ߿^ϧ %;Tx@j ub1ۆ2ݽ;#u2T| @RF"c!I^&E֩K8qkH R2x0uY} RaZ=Ӳ1- Ӵv*zo1gRlRP1'N)%QR:+d3mSJ)l'ʐ"8uL$CC1<,ˢh8AJ%R4mRu^N(pɽnbo$!Bu&2?"O=8n&'LR\g?k`PJe{+<\dcsO~7^ox8os5>_Gw_rYNTkf̱#' &O.GoJCD޽ @4um-A 16DF<(0-B/|>4PZ.{[-p 01LnL"L?|wn+ǎk G瀻OF@]׸ru1-?Zy!3 RI$Z!UӇ@cj*ܿuh I ]?GAXNˉNJc[WXTo ιgO~C\zǏL]l:}P,OZU4`q~/|~ NM+n 0pbq*"y pxNq[<:ӗq4B Ac~y__Sn|9OXX¯BRaygxꙧI&?yu|_;dt~ 7D_//Pu !'fuF,ie! IJt]×jǞ`v~_*sY&.px|'T 4qmf'DZ"SDZ,-L*ĉ߯d2Eo!N2R}YYYapt !JBpM7;gqqa 4ͽ37^Ķdsuu}BZiRb[&RVZБ,Bju۶Uhe&5puL+F͌!ALPV6Azts7dDxE=v`Z0 9`}"$\.cPtӴ1 #meHx1 =TPJ]@.Jml$; VsY4MTV\o0J }j͛ED܈RDJ2 MӶdz{QJaۛneaYm"tnB^&g92>Nq6+ Qn> ˳<  b* vp s3(EAw?n8$ 6)|vhDD!W^ev&XiASF?{X*ahԊ4#{'(E2u$ w'ȦRV,Β277zd"αLL&T6]}tuG V*tJIDATXG*ɺX] |AD]m O RUgB.H$\D,Rz>Kklg26~ `&/}{'t}J I,042B>M<ܕ_Қm5du_r8m3 jM,n2<4O{^Rr;/.J&(Hɔw}oH)?#? J)D{ʭ^ݠ"JL]m m^^RJyi~ذGFBh{}X_dxp_{'_ N!¾\;Q]mիWȚ.0@96TR_Ӗ Xۨ- +u~.񵯆9)N4=|sރBJ&\[[-4H)4M mR6c`xiM*!@3q=2EQq)thg.4gRu_V9G'ׯˌ9J.Uy^#mVV\6E tddZָ%euЖrW&PT^JI&TЬSxH&{X[[Qo(! QU{AG NB===dh\躎izg;ZZc~4p∇͚?ٝ#J "b+:eGDH @DD' @DD @DD @DD @DD @DD @DD @DD @DD @DD @DD @DD @DDsp[kGDD|p+(R@^]ELMMot&.{AgGh5hxܕ"Gy{rRqG7臟H;N$7; }s56љGWJ ullJG?"pm ?&> LQ^NsmYFGGݷ/DD:~X5; $_xާ;mnmF~^>O=I6 "=̉0-ܫ,p*k$c0:_رc;2""!aGhSO?c={z%LQ,nɤ9|xdv# LsݲEC?ةa?"" """&&&&p]w2xѢ=ĸpNe &| 4w*B ܩ}D!Ľt>ص&}b[x*DJih{hB-t PRϥ myp4MC6my=Vyrwl ­liz2 nP)E,+lW d*f0Ea,)%'.Н"Ll0 CJP*|Rm_C7 o+{EJ"ZNud B >rB<o/ 4ͯH %L"rl뫤{X_#L˦T$ZYTئv٢n~mZ< 뉦] M<)-Dž_$Oj(ZyX_]%/Y*)<C7X\Z <ܳT*LAiY 7p}ť5$e5ʞǿ7X?Ij*K+k,P\g|SH&4p2B7`+\Y\#/PkˣG4._@űcXF\;9qHIK3/}1lkHA>`qzrX})=qo}eU^Gfy[ tgX^dt( 4e>}r]Ēi ]4oo?ZO^_2[qa ٌ 6F !W(bS4%ammc;jJS;8i_y 3>> )|eWHIx ~0;C2dff|O ix[cQ.Oez~mB~&/M`ǒ}4غN|oşO|'>@2M^:P ]];{F泰BHЩضi.BP<[>{EH a^醴B AT"Hв!X'Ek[j4XhhǑ2m5Al [f} Q> 0 uGmCsg1Lah?/Mj5'ṔTL4Mc%j޽@;T r>sGuk3;{CQX*1:2y=˳> N7h#aCPrW%D8޶ⶳ.7ֲ;C[ŶCDo;?$~#l?BaAFC0 IENDB`rtpg-0.2.11/tools/screenshots/add.png0000664000175000017500000041633211403430344016450 0ustar dimkadimkaPNG  IHDRCsRGBbKGD pHYs  tIME 3KZtEXtCommentCreated with GIMPW IDATx^gxTڀgOˤJ {/PPTb~zXQD#DM:N!!}ߏa&=3iὯk$ղlgެh!B!B!hpNec8-B!B!A!B!BqB!B! a!B!B!A-vF! B!B!B4PX!B!BLB!B!B4`B!B!9רiB!B!B|>$QSҏ ^޲v;~,M?Αc8v8YYYC4jG\l Jjzq-hF.]L1 o@Qf~:[q!B!⼵c7;OH`iӮCyυq?>[~Ay ѻ{WZQB#"`У( y3:yy5n5cg6k.;vatܑ-[63d 6=zߏHBB˜l233x5'r72_}8 =vрtz6i{va3&4Mc[V6[&(h{ l6,-{) { y$Nns8faȠ8u;2@/ !B!D>/-*l ۯ军'X.\Ǫsd@oƂ]|>vQ㦋 ꏿشy3oBZim[ܥ+WOެ_aaEDD1m4~fBCxklg|9fbb4Cy{EQΝ:a:F/fK2x^s=6sުGhνORPQq`06=wm%uϮjv;l&U uF{+D 6lL}5ϧkޘL&l6+Kz0MҥswKZL``6^jB!B=|M4ӫO?lBoY+ոIs>D~~^39%g͘ɠcSLT&3t: LRSSX-a:tʖ[0/K/cNZ]Mtt4I-0 {k?}YG_WIYVvMP` qqWNuZ+QQ~~j-((Qoʹ[ؓv/sG繗_d옫C%V#8Ы{_l6+Nec0LN{|eAc!B!pM8v?^r_3:%zڝ 4JW^@46iB-WkȠA?AR$tN Fp8Ӄvf9v iּ;CXH(fok${w,,i vt6z6ID0hZرowYjdtڶi``Q5F` ug*S?^} oj/~㭩2ӏLq3<}>a߳fpb"׷Q`iI':=Smڥ)}*vm;8{SMέ޲z49΀~(**nǩlOAAؘXbAU{^@B!B3ݿYXXI30/8w|է:Y[Q*ZzfNMf6iPt X*A,6XV Ym[mcʕ4Iϯfڰ]Ax"9xAhPAAAWWv;Ni׊?p/A^QNDzKq} UpkOT׿+ݞf6s7t:;j^p!>E DGE+IΝ z=|Tc5U'vۃdMJ;WO3(N'iZ'k&`vl7nKNޚjZ޲Vh4bټe=EQt'l߾U*pW4R٬ry^]4M[0ll6vWSOdZslb˶-4oւn]{ sB!BDssO?~Pa_q,SUNN*4?;llۑʯX" E)6yyyl6+YYYDEEӽk7NTp:UV+NJn^Q1%sv8NlTٞd݁id ,4݁z=v"JՄQ=݆n0Fa8j^VV@LL,{e`YUU'*2sK^^nAltdfǹ`p I>=O1gf+PjbTZ7NJؾ?O@Ykd{:ɦ7`0ȣvRO>\3uSJ,"1 dc z ɷjj.60N'MB! P%C¸cX qP0 N69'hT_a9gaЀ\ݵ3q{j4O~Mӈ2S`_iz,Oԟ.ުRdMJ .H>͡Çn˯%##vFP`С#do)EqݶQQ|4ojhZB!BU/]]>=\.L-yʖ̦(}?@׮]h:ja}q!zCINjtڝcGѷO_~?ZqFڵoKɓv}iHJbƝ%e+c'37ӣ{oYn4iԄ |"fT]@ ,z#NW*&ʶWYڛt<oB1ӼYs=^Oݱlٺga4WOQP8S"~4 4 ӉSU=ɽX,{SR/'W?]/Jf414Ry5mlBCC=BCCyW.N?JN]lz>Hbbb`}}|sNkglF!B!93>]/a nQZ (.ZX73 q7 8dfhr{vZ1=))d&;*,7%g/fkKNT,)d@>|S67 ͵x>k)^΂u)@/o'rު.%6.;JVXj:gtҙvڲj*ڶk:x7nO>޽LcFѵ )B~A\t>ĪuIlHMxڨ7F;\{v&kNhBw: NUJZn#. ""`7&?w?ILI?FˤV<9v|_> ;h%%g8PN>[WTdA48MOWYE\׆i +ٞO`@}6wM@%֦_* 990`2qAR1*A!B!FU u<6SG.K¾a|{Mz=:zޜE'մ6[suFTj,N~8;p:q8>/3=q8U>=׉X5Q=bppӳ\]3['omګnuտp8(M0 B!L߯ǘd"g]g]'G@=}hji_s=u[iu^Y-8,ܣ,o|xGa/[8Ljy4MϏ/G gǶ]k_橷wBtT4Y'9r0fjڷo ի'?#={?ѥkgnټq=z`׮]O?Nttlv-Jc&4-[JhڤIgf |ufWo{fRjl{LFSۻ <DFF 6mpuדq﹏,"##31yҭ=^GhhE«orě5[ku腣x9_ˀKts KΚJrz?FLϐf2!!ٙꤨKdK疓s(ޗ/ ӎilTUeҭ=ϘYb[ɌfEw8y$!UX,[={ӈfPDDWYF!B!b-*#W 4WJۓK+ ֢76Βo ,y:!mʲnM*FoVפዪh$WTƗq^8[_r l64BQթb433'bФg4_z8ql޼d/_Nn]Xrݺweƍ؎;Ri2۷T%uAh"?Cj2*샂VtS0L(: @D'tzF^m~ʶWY6uԑ ֡rl3^ό8u* NOF8I?q(,V+=,y.:a1ma05r|F`00|0}׍o @AA&뮾| 3 (/:vaլ\n]s8N'^|&A@ E/c,"8 ^\I+F 0K }? `rO=NAuפ2O?,qccGݳmRڒ+0 ȱî?ĸ1WykF!B!8.qs:`7/3 }#+b۟*:Ɉ;;8NFIOTud" 0Hڞz0yVUbcbIJL".>Uא;{Eb";st:;wO?2h` K\*Lu"_x3ð4NM}ilܴ u^1W{:t(?9|#.ur+ y뽏9AvV6VpBBC7cEQգ\ΊѽQT=<Q| V䔻w~~~,YРF^r;ٴIS6mL^g; IDAT8}|m:=F+WдISO}K{ZeFS>qյFѬqSkF^:UUٛHvB^q:Uyy9l޺fO-5#B!UjvsR*g``3?L_qTQų7IsA4nفk%t:tL5M>nwج1N.hԞMq"Gp"3łQB# _FӦ@-Iۻ܏`Ubjn=#PX~qq{deea4z'V+vp~wڷMa;hڤ)AA^^0O?˖Es%Dӊp?z%K#/wƽx)*,W^x_i,[,Y̽w݉n`0TkՇfZfΜ#GE^n6@Dx$dEthۖ~}x^!B!}ut?~Q( G*AF!`030 t:ҏ?*QQQYbL=S>4k҄M`6;6Ndf~<ݻpdgevZ$rUWLxx&trw> UUy74Z&&'m/s(z̈́)|9}Yz3p8tܕeлW_̨hq8,^3hdUUUlx߷/Νw?|jV s Wp8EW, -Z?ajْ&b̓Z3B zv'i"G? fB!ހl ieÁgt?> QSҏh4N,;HϏqa6m#ؼi '3I @#"6*&䢇h޴)a~ ShqwtFy)222jҬYS"É!2* dL ),,I{s|NlMUUADu4O{nnH``@t:L&Bݫ':vfT^ݳ| @!B!BQwvl 8zz\OHGhBD[ɝ K| !B!BsG~~y޲ f?AA޲?B!B!B!B!g !B!Bр)aaaX!B!BJ4MΝLײqF=ϝIaQqHB!hskJƬf·qk}l}j(䵩 eâd B!B! B!B!h$(B!B!D&@!B!B!0 !B!BрIP!B!BLB!B!B4`>Ye8ւ޲ !B!B!"o^[}m-w|t&\8ldeeyUxx8޲z,c)N|!pUB!8[%j@^rzWuzX7Ηq;=t>.$j{y+vFM~F}'-8,Y':fM%'/B=7N[&(JJֿsh7Mfꖓth$t6 ފ7ܯ^Q+$ \υɅobRù˗6{m֥~R5v욯߅aK*W.+>~cp*JWCI^;ފNwpdKފ,<yJB?C/~AѵUi;$jC ؁'=U[aWs]Τ]H_:K;umv<֯KD%[߽3)mK'w$\grkv~~;w$)m=4'߽q];Җ];A+ŗJ~~\Z$wW8mLvM뚝LL.$HpCl+?_*Oٱr_Qާ ",xz #&?ʹ'W3T:#ܽ3SrO.{vΎ1v}Tt]T{VTW6A=֦[{sr[ԅ'.Tv/>6*o9$jßsm-ϵ]yޠs^]h׺tΙw[sMNkݎ{u'oy / ˥[+Wa0g{VL`mi.4G::-E6ܖ=+&PSw696o '@z&<:Wi; s&d/棋ShEH [VOu깒uo.ڎ~t ZDqД"=-L^p7/vxl|B?%j>_WrO_?7#^YɩKgնg M{\BK_L[*^;Os;,ko|qi3VUWərD=qdX,[Om+R3"aMC8vUp+mu >=sݻ3Oan I;kQ^RUU]s|zg-fٶ\b}v~KSMAz:~wuT5^j܏/hĔ?ߍI7-a//yO/IzIfcsxgq $1\ZMI*fvk{VL`낁(늽hh46"]B>`,dY>n>t~s/?̝ޮìze}.\^N{./ L]ryUɷO/<ϮCneBe΄>gqrtOn]ǰ[0=Oj~<ܧ[x\GMh}~'l\{o1ϝXUQe_^_򸕽gfXf#Kb jɂ%kP٬] П+RG$>'ݗ }##R.o03&}(jg'=Rޣ#!G%:SpW>T~Frϕ@(uiw_zȰq="/WӦ?IVLĿa}L]βn'(I}ұUZ.sL,;&xΗt^z!=U:jY=25>zj{?7}1^dhO|y]|V^R}*&쀾]Ynk,$ۦ{Z;ko@of@ΔU5^\oq33\3w)=u%Ϯc:+j&E󴢔^[?+r>cEJ.ٍ;ϗZmI*.Zޕrd|bv Tzcctz?rҗS .΂,7=JtMeB4puu8E`TN0(A):($kO}"/o#dTpbgD #]ڄ=9RX3bd;-J/_ ˯j^@QtjF=هy㶎<9a?fZ 3 s*K>fи{=鵹'ǪvtdM;JΉ[!.[~P9]=i :\vT_3fA<߇%q(ug)ʌ49os2;GRK NoBxP+?B(*ּ$(p1xݷxQY }5F)f_vNaTG&vWRR!*7X0Y4gf= Ec'UUB( 3K/+21m|;{V\Yg{h@>VZfWr\<;m|֜X~e#y棅Sy::[З룲ݗ KhSػcTG&߿{n)+&D.NW|y]|SS]\Vr+G_W\m'Kז/כ̗(ڋÒWpM':WiSpX(Lr>~==y\.~V|47B[ӰKRax }p MG*>RMќ}WRǐ{JCk͉DRy+VkfӅ`tHFM~? tmzg+(]3N/ŭItɝb}q"-Ӱܿr,f?BX-,::[З룲ݗGG\…|Hޏ;^E˶:c(.2uݧf|QӻTG[Ur:JJxY,Co*>ėb=xo޲ Q'bccM!BTӲ?y" gպTEi>ى. (B!B!BO@޲!B!B!2>B!B! !B!BрIP!B!BL4MI:ceƍdgg{)qE! \hh,B!g-ԏ&ZOC!B!BAX!B!BLB!B!B4`B!B!8oHoŽ޲ !BqVrOd1w3nߜMF& Zl$(hHxxu?x*OΝ˝w^㮻_~V]JF0M> KҳU=[%1mDW kANϷXuƦ:Nnz:1CZ(,{ߗ1uZ'є^Zz-܏/]ORb"}xG;~bϴ&-a]ڡ9NUXQx{t)׺Ⱔ1tkEm[qފ!K]ݏ/JMULbxoE<'7zyt$=cnL{셥lf\x:u*o6=رcުPco9zOA+肧X;{~ڶbsOQptUe8\hoLeZׄދg)Z~'MbeB NV|YgoZs .uEBD, '8]Klk]Uy1d۲6,*!RWpդ*Up>ҫ1z>OgX}sҎ2;O5{##:]Km>Mؓ7i+T[DV_=7+&O.>"ĩ|Ow2|Nkfr+3)8;ìƱ l˱%p&խE:"0#-d?%Qa&U-] $&&T*Q*( '>>8u̇$u%vډSaviTp4E- ܔ,j^3kϚD|Zj\MVC24VAjvc-r YY5/>Rش#PZNYk9GvfŦ}icM! 'yRo̜ˇEJYlݍnKG.rt; Y)d)g؟Y~: 7rώv9㚟7A3JE[;5=ڹJEVm[ v9sj\ҁ&Imv. ' %-嚟YԠ8)`oǬZEJ5Uỏ෬Y&17%wUNU=6n9efBK9[Ʒ`u1)w gv ,Md3AxƤ),fl[/u|NֶEiOQ0|<=c.h9ޏ0|ם䗵'0̗a{ԐZ-0A +9 e,LJ{g;Vt#1*k6u@QG{<Cٶ7RNYm!RC˅#>Ym46Y(ՌsjVJKwGrZbcfB^5}$S~ɔ0JǞ"QSm)?maʏ1,Soqz,c]xlͫlQxX/EqᱵTtSP''S%Ǩd?}jOmVSm۾O%88H'бI4wjZYlؓnzc#hw;[gs._e0-]êkw݀S]ϖa\{.6t(O%-X1uS_o<"(ofLkζgl yƸ,;D~UXWߝ'3G #P(~<ʰkI޿T ܳ~΅΄~cZ\c9Z)]#vBe|gttzC{SmҧM})Qɉy(XOkYV?s4]]lY5dr/@3?`@ zbcDDx3f_P< g@|G 3|ɯC->cAP(,i mۋcGv=|Or@K_BMȬF0*jι U(A`54T- ǺB$KfԆ&$Z4:cp; Och MZDK]8qg9b,C)U8b{Tև?nIOV['7]q( ;4%(8X/!?J033ɓGlܼ^ (4L גj͛xr޿j:YҴ_4˓-zE|dcF>sSvUfJg[TƬ58{vvgnSJu\+fnۘac*vOHdTJuIGY8E?NGеkg\ʸ`e,+У{'ɺɖ@Q+I0hl&8MXH$mtuOx/}EJ0fwPl+/)ğ_wN"p!՛̠]f%g^CbK-܄^Rg5s}XJL޹>w*-&on-ڝ*2c]UzuӴ soaʱqxrg.B}'u̽go,[TJÓQFGQfqlڶdcR5I -2l2FfGMN4^!*=u41趞t_EwswTh: Xԝ9PoCCx9͒GwkƆKѼ{oHu9N&5ӀuIP&$-P&0otNJ6 ;yQZN>3 Βwqwrv;9N{OTOlCc.^ݻhެK 0< $009KU֜>40p$گer9+Ž4w ~b.Ovp7Zӫ &\d1>Fm֝Rι?sEE7)SKGk 8$5㈐88aϛY99"#y~b믹>>`UjI13ӊ<>*-W0raںidynƾu~)kzVeS| o2Ai /."&:*da{:)iX_3Z[rpfc6 Q/ϖۅǷj)K8:X37fCͶ^NUwԌ:.|~*⢦WrعacfjrQbLj%mO棓% rꉬ79K$ = ~Ksγ58$GRU*N%^CC*qd'vBmȚ5 x k(n*>eɩ>}:d%\K{;w6eŊw/폓S!va¬ϰAZ){mѕcIHbL5zx Oq{jRZaŤX:Q;"tBT^έ,URBbs'FH dZ6{z2M7HU9j0w$D_bHUgRa2Zӂ~ݐbӇ>p06Ҕ^|?23lyѴs5_'M"*,:&Nc̔b^X// X +9m '^8ҪVIt[m\ (k9T{.Aciޕ#;xމ:-5w(cmbf (ޝeq̟Csp5Tied){(㟑w.\ЉYp}>tH>υ^Ľ9XÈ=gqj9gra0NHIU 7 1*wg71*4Q44YZ}?1ܫUw-bn0osiVe޶Gx[_c C|6#֣[ǾC$;ϩ>uҞbD.ڸrc)"w'&GV+d[)dGSS+e)ҎI;;}tOKR^M'k1ADfD>±s6z X9R 8esћ $) (+Tp WK7$V:ժj_4FAk~=pV]fXs@Evv`UOROڎ@EhfcҬo|Ʊmt:3zW &=#$k]tL[=T])޳7RHߖ̺<.^[u;΢\A$&K$=ΙOLu9[ {4k0 S䏌}n}:yгu-q-'&ٶk5퉫oܸ5C`_W (~ގRߡ4Ę9;;#bbeZo2JE{fE0x_CVj'-cxA$=&[n߽qJa^횗yIs~*'J˚^|Ŀqܦ"uG/A5k,_"l۩Il|XM3[h[*VPqwdtu祧s9y3)Q7 7g|"|E<"z[%wX:!-i6粣K&CG#Ѓ:]s2ש)y3$jOINvrjynj_Rվ ;ק^PqQu4|L)|lĂ۫ #ZZwLːړNQz /:bbUlah' ?\LUX;b"*+ X9JE]]ӓCٺ_? ݽWyy}::]L큩yv.QdF؎dϭy-ޚ\Mf}'2N?K7=Y]yym)dt6pș42<šonw+ghݎ+W;%7LYYY1j(zAŊggNxww7o-Tr)ƃ"?и0 x_ңǫ `?_ ]ς/Pu_\>#*YhuyHN)b`f*sb#郙3Ꞁo^ wߞ:|bo^5<y|ϝĄ7inIw,Yr,--CU*֟R$** p/Hwt\^ CA x Q,͇^s5;7G &"' R.v(ߏ]* GuwA2VS4c9lB0"G&oܹs'{%11Qo $% 6lH|PXc|= ǡK&m|]s85A⎱Bfo3Y+%4+%}G)AA7PHۋT:quN21M2т h%S:uΛʭOa:j"'H @XXaaad2CkNΧݥ\qQ&8:Cu޿ ckYֈmCoH 9wtЙyөCg>E';L?DycP\dށIf=R֟  §4o{am)2oe/Fѽ\zo ,g{d6q(·DsA$ν`ϹP䦦4& 2gff۷ɒņN:"`9ŋkR23d&)̐Ly|2ٻ/Q)*T&#t*:.s`0u[pdŷ8e,X]~ݖ1{]>׶dqf<̄h7gԩEm;|8o=S?%Y ojXsxT1Jj7HN&+_cfW7ˀX IDATs̄1evYE*>#֕ ?in/!1G&,fHG+e.w+~XDz-Ӵa"l!cXq:wҶx6?xiy>% $ r%;Oq6akdLZx$k;t{.5>ri*Oz.fYcm*;趄M'T|F+A1JM7 !A֩?S䧪)UPzqo&O貜[?v֚S<;k9 Fݓ2>S}4N3YsOȀ]ZZ]>5.=+Q38%xGxKҳ- 8vӓP:!dkk+""1KKKQ*(J  O\\ܿ1J^j2 ]ɿvTv4,33t^6.M5WQ&px$\¶TOwAbBXV›Rۣn=z_¯!hrTNZɳoB.M]J1w77P![OB|t(paoqnulycR>Sz_ӣ7w6.S)7WSYS)0`4yAUW8|ޜ_4ޯuc{XMZP҄{2{Eˏ,FkOqQXX[U>Ӗc8AճsПԑ,h5 u8b~O)sN +ClreP҄y&H[\ÚcǝRBcnm1 | s*h|-Q\Rj?7x%11Q_ d=cR`ثI=}̶[[OmV>}N; n99}篥#7 XX!ӧӊirމ~\ p2/%-技  *ŠHw;'8./ ?{=0|lFݪ,[Uɝ3&zy+XujgT\fi*7 ek~5^wm2 A o_ԿR6fpRaP>R_K qǷnޥH~IZFWP+NΥy1.mca!}豫-3cqI}xzc%SKԛ|5 JbcNsnQ)#+'tuLF˨vkc|xwlfAb3jL_/C;~[affΓ'ظyPµ$%\KR߫7oɓGro{ޫ= iOz㼨j-' Vg~G&֣l2v%,AR=Ų7Ӵώ(iٜf5v2rel3!zS'u_cSFI9;aTdnBPzs#p4 Gc{nyxJZfi¦idxԬ?案 G0|Ǵt20-3}ju]Oӛh7s^&5Hʇ7 @R 70;MBJid%1-5:ϨuuiRJ ʔ23VQ^4)FcFAP*rXSI\}B!o_]REQRkY=4{bV7Z{yul͛f$D5hQrǂF}s{PjuJmXGFMy Kd3*U^8!)9elz6fD f^h-fZ_:~[Y< ISY{"9t5_U1ɟ4 g_R>fIJ!ϧ)߆bՏt]KNFߏ˒[SI-5':ˇYL4;KX|<`x𫇨(V+zyp+k p )Z2F=[pSӅ{U$'EN4Ei-խE>CV&Q 4pCnTĞw2>|OlCcwQ4o֊% O[9m,sRU*U-Rjye] eOTx2"ΞȰ'+@iHc҄''!TƋ/xd͝/~oF**<ܧGgo>Z?n>t%=v";m. !לs/>=}d>%̗PKw8O)TmL~0dka7^Jص R„`? 34Go%U.3`Yieű:j|@ۜf4_ACQ*{ϳa|A)29p~Wh=Z[MBgTJS$"x=,s!3oTaA^EDmg_P< g@|G S/u(5cg, 嗓EɞϢRƢR'*$U->eɩ>}:d:ٸ{+V޽׷?NNʹnMԻ~lԑľ*#γD_  fi(741&%V*~@߀0ƌh3niQL@7)3s^?QH?.B")3&/ sK'yS7=85rQP&Fvq-Cd؀Fۻʅ(^q()YbcbL}}hNDXnvuY>p4#/2? 9|nXWklrCUZ `ԅ(b}iQm mc |Ř۷ oo1Úg}O%-P&WA K{U -T`>c"2?`v12RRP[/Nx;cXAX 2k=.3WP)}s)CfQBԹ~Poh"ˑ>YQN}،yrׄ-[Pw񑕨=#0,^Z mFuhR fR7XջY7[(^ -㨛_sGoaO:t=yɋUK !Sm%Źd7Sb}n'&b9fS;XWT*Į^x6[F |zpl/%1 u$p<~ mc |Co_"CԤ~p{UupmG c#7ǶpofvLs`[؋%|DʏBDg)Hު:F[|ސڸwY码OO8xr 5I϶(|>z*hˬxǡ860˒MplgRRAJOVe,:wX[`e물yStJ~D`XH~yH@ĵe+â OKLƫut-'Q}cS`05IJ( Ҵ-rr?)W$8W>?^`/nҢu;\B͍]R}___ &5j=S-q]{\z@n/_&|rOCPGaK WEV[8 7J ;1&:L%9sa&`ܼyV-~$ޒ3\zLdō[ͬ|Wxr[=ϟ>ɖۅǷϪGFF6ND>ܑ14m|"b KJs 75%&&333177KKKȒ% VVVDEE!7506 VY0CR2oXG=mw"I^ܺ(ePTvRa ^O&#CL9gSA mb  |[1 _2sΙ3ŋS߫!fffBAhb@AACA8`}E     |%&AAA z _     _P<>vL&OAAqٳgMAA2(    0AAAAoH    7L$AAAA&֭71k:nߔ AA//-%GGաB*qؘzҨ'?"찟VNƥF{b*AH IwCΝRUoT'1Ͽo, <-|6*_#kIddβ˧#8K>eݧt;[C+0ðtXwvð:/.cRD95b[%Ν;9x:t&otЙ$Wk;A7SG`3'I~]GQ*^K ߀|7A>T13'dњ]F_{A*NtՐݻݐ/]3~D2PoH n׮] ooo{fΝR2gff۷1337* ߡ=BS)}V!!!R!_c_caW;;;tzE S -J겗32v)wEܮ lSH~]GU e#[FڻCo̫3n9ʸkw"&voMB-WNMjNm𺕮o,jsLz@r%7 N:;;RU0ݍ˿6zm)Q꿺PI*b^uaW9PǦ!·'Jsd3L6*|OF1ۉlΚIHG].Bۻw/3fߟ ?>sח'w^¤)uiX(liXI+9q|D9t5fyHHIS4h4']FAF{ne ԟI}ui؋=-7ʒH#̲+YRx;ks(s/a; tZͰ'0no,*9&[2}25{ McpvݼK= MM-x~A]r=|jk_+DQriv#smѳ8A:K98?[vSK }MXj==kw.JkمT8%] 3kz}Htoqi7f0՛W*\,qcÑrm8:L)kG S&,ŝC7_mX…t1K,tdRʕp c]mqPRΪ}|Ŧ}LхrZ˙<3+6^jfrnn~R#X|C{|vr~rI3'͓B^>,ZT h,ۀw4ug'G\]Ѕ݊R {BxA+{ҶLq.D %xui6 ◲I{:'o.QɭPrEc*U!4Z= M#?8&]NMuRNqek.{vRrշ-u .gNMK:9E"p1Ue\6X3R"605=U(QZ;5p4̄]puWw1пj_ę3g I'SnY:;?sk[4ߧmrU޿^>yqzױg`nG͂tNړt=NjHˠUrq\2=눳+Zr5:U=sqywꞟR_ʩۺ873ؘK_ʢhbFz\of{gޕpeGn5EP"T;%'S%Ǥ5;W{m۷Uo<}Xw`/Aioiʀ9k0*eg fݺ;Wv%f\tR5ɖMôFuaJtOC~]Re̖`?ws/j'UG`9FŻyӟH'8g,Cj1-߾>,0^glngK3u㵷?}kz}΍}ŽϦ^iԞ{{O_"T&nETԅ?UA3Vx͕u(Rr}P3 ].3s0o'O^W^zCiLj1dSW¨]*QwBI¹e]V#MY^3-V_q?2 >}Kw%|f"e}1`@ae)+Pl X5`Ut$®e rZv-otyC8gՐ=S*ъj:Θӆ~]B9$1waQo(c.Ez+**FcW$E5{oX5Ebo(`GA^N:ݽ?]߻="*<>3;[n۝ݵx&É$lǨ\ulX8 tlvFz:J*_9mQQ*{QǑKyv֊YAH w¡uĔ @򟒙HԡC޺#XL" (//rrr(++B!eddPZZeee,O]]KEV*1iEA7'""PHBhiCLr:y8ڨF%+4.ڣ^PcW;ˡ<ԗK}P_nvtI|Ӹ 45)Qs:*46;j]}V:קL76&%Ʋi[n3KJK׹^LM;`=HNIi=ٍ3@ &vnF!})5>H#o;%B!&đ<UeێN C)C򪯏Az BJKO#3Ssrէ}վҴL…\}uy4I X]{<=tkkcS=/Z{ؒ0#xZFHן%j?>A_dzE437v{R/^%Tr6)Z(3G$јO|e䋩|\ (׮sC"nblBR%R #/'NHT2=ghDD0 {V#iU׊&Ӈĵ ]\IJPمV ;H9ZקIinM:Q]y}5BB\-OnS܁z[)IRUבŦ*dSCz7p1dmYױݞŦJ-Ǚ:xض)E M5U *.'Ip!g00p B5)3~`I#!1YY8q8zꋺu ͽݪ5$R)q}zA^~>*W̵C+h,)vM\?V$T0PLF|z.*g'@\Zԗo]rnx#\[;yg䟫V@DUtWSeZEwA^9_mHy6HMݖU pԪ\|;8z bbb&_cń|FYȟ2}JrDXu~A_'5 mHcF1J(Dŏىr\]4G #WâSQH#F۲mKWbOKtk u=. 5ktª 2[k"6V5~),B&rYFQukש9q265UMx:F0;gEo_9ϽUU0mMEk5*Pط^校| b_PWsEՍaTWOƣ@lYHqCˣLI2 "=ZF]ꏾ~?w1{8;\Kq/)װq4>_K3{L7t k xnl^ϗN<Rq-\?PXw|+`#N`#h9h86_&e]#ջ;cRrР>+M.\UNo\_öMH R)|cQ}ӈP DZ PXʕ4H|xe %r*hצt}H pk@9ws`mT_1FMcaRo6/5z7]{kճ77rsп@ iSݪ5oʕ*Яo_eVhVcn8t[%mr4_NU¥ns-%PRq.*_V) ꦶƇԮQpT7'7.|Rݬ6&ϣ;XQ]U,<~[㻨ײ;œ;wkU ϊ[`;ů?kj֭麖o;^կ|*-hܺ;_ܤl>?]vbҤuqt2lp!l*VЈ{Lj/54bޕctܸe?Z/{10vxŏ]fz1"78rϨY>Sk߂MT༔kҠ.-, *TÁ/5Oji- 0Nkz~&dg䚵~԰tǗ^qO`f_ݝ3N! S:xض)e-+T-bH&?K ^>-N C0\S`tluEѶuGnmۣm:T>>@{{GL3g̑7@^ذq7OsssDL2 \ɵw u/Ƕ9oK)jG`cXIN[Vw I6r!*k#;ʴvGa ΏEЮHxo]?N//KU~Ǘ46 [APq&!UtѧKp8(c6n۹.]ƆO!. ώmqv(B Rs2> 2@Z;Rhg;KжjKzw/hP/Ey>8!,/ՈF告S1ofBoKxߌXYwUǀTԃC, |)?|ǗEnXF @p=_߬ Ņp^<G`t_ʻ+9ָw^Wkuu0:ͳ}iXl%]`Q9O.m〴EpiEnpl[rP틾Ct[{elӇ!!-?MW9QIA,wE{L ({ `[=cڀ(^iGoDCӻ @ Ey4K{[|:}yb>mJǪ=GwpJG۪>ahXCTFS>hDwQ$ AecE{Aht:{'ht4S&/c"Dߛdp4Q_O(ޥPV1m7n'`8O#h?!]^x 3oƤɵ)\G~QItǃe+ֹ>~f#Aw@kv8u7ٱwT;880ep2M^ vk`?wx~q Pk6~-{WC~Gѥ:Lxiw vcq:$ zj?,=0'?=mD'D5St*^6߄BV2f5+n,Y]sG[V>988u{yGXf9fڻJPWߤ|nO{jaCࡃi[Pt73fb,θwu;vF.~~^*-D-~/j?;΢ɰ{01]%t?_2}&uӱy1Y֮nYGF1,cpWlL T Cy,LaWo'/?c~1wZC019<yFU|Բ [IjUK&Բ  xx*)˳}|1cۦt|z k|F&f0|2 $EASmPaBk"H$bƿʕ*Ac#V>Ƣ΁e6CjVF*NZ GwkBrEQODơwѠFqD/%vmqAOoOS~S{cĤ^oT@SpPtκwC"344D9_opȔ DXZmg|YS1x.0a)?<"eo,/ތqΣ dº"\XnO1 Ô& 4*WRj ʴىG1jX8!UT5(J.<ӧ5kD~ `ee3F_ޭZ;JuأG!_| 0 Ô&& c(0}9U#C#Q4fʟY |=M6'qSl._M;C-{} $@*J‹Ы0vVbVVVDӦMu0 0 0 0 _VFFرS%u5kԚJah742XJV8g'yL 9QE8klrc9S);ظA"J]帴@,]?~h.D9PŴl8Y3ߪE~4b%+tR,$ˡ#/=TTf|aaaa2B[37$yw%y pY0 0 { 0Sb% N9~ 0LYV1 0 0 0!a)SX `3 0 0 0 Si} Hy)_:0 0 0 0 |*>@aaaaa@aaaa@aaaa@?YS^"2 0 0L`ll,4Iqen'xZWw +M&D{[K$^ڢRCf$a|b t"K/,'y^; -~_?/a.CǕ_;vE%`WT⾟J>o`o3kctk,˫+NZ畋Ɣ7o _!-bov/(ɾ0 _Xp0BFXh"v=| v\-̰I\'s*}[8C.A/'󢱱1LML{ :>n&nz7Dl~ cFln3<>4IaOBZ6+F+#Sz;Licۦt|zLs,q IDAT!XZn*a>[ jOy3˶xiE/PTXn@c0Zf(=LMDС Kb|(**"HDO4i$JHHY6h֍M*%e;yIMngu͙>>vOD5WW}sq+Ҋ$t;N<,OwPLRD tnQNYI6ntvhtJI(*9H{ \F]&RhBEy"]YWݖ$?eێ2J߮wӕ9E$=Im`yEk\= #{] /їqc#s:X(B1[ l]WkyǶ.$vBagązj=/JI:G~s6416!)ILJ_>,lڐM[@9]͡멍K[C֯%0]Pi^N"G%|YIy;6>ҼaJ6cգ&Ĕ,P Ik%MR%J$<%=ڿߞEί@(II$D򡠠(''H(Rnn.QXXp5mܼ.((6_Lv5d3.nnnaJ& f?V}~u cce AFRNnLnaJ6!IQF92!\|")JG6"sSjkcAk.vdibLmHX$tuV[jneNf&˺$.|Cz8[ M񰡷_dy? v64f=4u-zгD\yg8-,-'\\E\1}c<ہo/CD$:Z5.=?j[tO\@Y%kvzt`ʴͤW_V}+T3eIyϽҵmeVF ԘA"ukbO$Ls[mBș/(,_}66jaJGF7!i,.组_܅~p_ҹ|8~/$$>w,^(ˮJE޹_NI8xpc0nIAhb*.tYESLooY2٣>o$9w{1rˎ`0N&ag R_~q)FdJ:N߇q?(]-&{98cehO^Yr2X*O뻼2 WeDž;~Mt@|r:l-LTɿcmK[a_(R&g"lƙ=ƭ޻NMǢ'1"qѼG '3FkwmT 9=|rKBYO)Ianm4d|Ŏ78*K b;|H .:OFTJ:0 =0Q<^shy~lu4lT ([GAWμAHԳ2}Llػ]D31o bO qS\4vM߇G#D>%<|2'7ݱ̯ E>ki#"'~ t]gbIa?Mx59]6uqyVbۦtzJ3ppq*:z'jL;`=j9CU9 @Xο JKK,P ܳbhzQxcZzEGGQAA>EFEMUbc䂽b_4ubZ PTrJ W~_ѽW)Зf'<ԗK4uG_J-q]Ľ-g$difRt(6U>O ]k6^|uOʟO6_uա w8kjlBm聯E"ZMA+ȡYmMHv0KOd!"*}KVڷǨC3:G>Q)e\VDDYڅ!'.Uǵ|1~4$;ʶA9H,"sS \GGNʏIKo7:Oyׄ.ޝ~b?B8Ô||p'_ e$Q:;!n))[7u3T&c34}Xg"" ІV=.>Xյ"O\pY9ŕD١$]h Ӊϑu}85DwQ]ִ }qbj>YM!3seoIק4'qKy u_z3d߁|vI˓^06c#d&DvW!"jє.>!WQu&z"/a5jKIIo-[7ҝ)ciRzޛn kDDCiRzݹ{vڮRzdz$%HK -ndGnB#)wQ{O:D>"uo~M%@@;-L׵t,XAM]|QZ|95Ҙ-azRRJ"g[oǢ91LYw{}Ces>-ߚ(AI}[j6*/:ιLfY&eCK%4ۉADt,5NOﺃ/ZPy_Yٿa> mJGY$}*?m۷І)&&ZzK=#qVnz] & &^Vezt1fT?FEgcT`I ID9!>Jz,ʴNa?8?ge166u<`,v/öy/M|gcm/T7Jr}yI4T;1d{6P]_r72. h ^bмyMP~(.*O#>ɨA_?BlEoC5"k5k?-E9a( Eߡp8m/[iQ2Ǝ~?jaS4Rqqߞ|ʷe*o(ǀ( y{qqF e~d.° t7Nqo[8Ou/|ݗ"Ô5]>i@*JD[G̣J}[[>}:d$16|L ({ `[=c;һ >) ǦYﺸL-ܩ?)H!y̓k%HBF&SsiCV&S_eZ")QUҮ'Xx~F8yIT([D RЪiiݘF>#hKJDݗ&sdjBu|#*3.!kIdlZ,lR'I[˛v5rN&u<$O%#deI"=W)Q(me蛟h.4g^ _wZV$u'ؔ,뒍Tj}#\ym Y#W5Ҹq h__#] adaӆL]#Y跅a>&c]KwuE|ȳ9|%;9zLrUބᾎl0 6Bw2<ܺ'ZؤYGﺃ/=HJ}l[..a>mJǪQqT}h2X\*Ԙ"kl,g!P@g?mU8~::'qMxjZxKWп@j,!7:xGg=jUoɹ< eo5Ц$eGѻW*_ G&.pY  GRQ!> MRJ1aZAu 6PUVܹs燦Mj-O_nDH]4oV=$EASmP\w[> $Y-dE FӱrP)}2 0&v]0LYc<'cؐ055CV7n@||#}[Uc+ơ7qNAC;EcS#ĦQqcO6P,UӠM Zˤ,k2"h&OY׻W(LFD]xΗDX0 0 0 0=S1|p<~pi6N}F?gaaa=99w/i֮'.ګ32^?g<,GP3(>>F -Nլ匸`dffʇ y:|yʫ |Paaaax6?&&fϱtR0deO/(ȇ)ԋE1޻ ^bT4Dno88e3:b^gӀwLu>as}嫯9ڀzT OiK0@qd, jt;Oyr֍H{jl×aaarާ0 h,*D"}3E'H$|=Qizzzk[:ֆDȘ2Rq*Yǰ 18klrc9V›$$\K r F?p(Y_FֿgY_o:'BPglVͽ٣ 0 0 ˎa)CT^3f}ɓ&C ȧ Xj%fϚ cLZ۷Byt% e۷oBa}|! 0 0ezĚuQX(Pre4+VHT"PJ ^m0 0 0 0 0eF`ǎ]бcXaaaaaWQaaaa$ 0 0 0 0 _gOzJWϬ9|~Yy R7l ܂j 4a0*<K3ֶKX#`9.h˫+N*ǰt1[Gxll;b!_( (ɾ0 _Xp0BFXh"v˫2Ewq/*E4suƗw{+CC4pvBE9yW:V5QY/<{RkLUܹ1:; Nnqq.ō%}=qP?u-~}/(#y[7t7:88ܜ1y=_ʲ)בйI=FZq^7CH%OsWgl %7>$}a $B IDATQN 6hKO Y:ͬ,po]p x9 XcOWw_0"ލލq?"Zt ޏ_apq|mÇ&)i^P fmo'wdZj#e-g>mJGAHr%jQٳXz5mۆ[ʇ-[`ظq#6l؀KٳHLL+z_Bbõ}K3vu|ջ $o^f9s<2<±'8m YVY3wpMkz׹U2.>4(ҁvÞccsL qCǞuO~}-+vٵrԘ.bbb+~gB0h)tzR7i5~Y}!< #|#qg&L3_Y>a,hC[z镑+Rpuچ ƫļUeZP'{ 75#L6IqZf&5*MjT0GWzh3t ݏ+#7î_#5hZ%/oÇݐeytX0ߣöMxH Pwk/@7e:cEY0[.b1TDT T X"D"D"cM Wߩӧ`oSOeT91 װg`sx:DQ3yl~\(N6MrT /WgR_)uCY}E*_m⌞\pX2;88 r$ n7'GK.'-ĭE=ѩ :;VW^fhղ냯KJ^CG:çhެt.ގ cL +y #\Y3@~7)jWS :9.>MZ^ҵڴ<1+5lzUehѬ!=6CWe(SF&p|oGSس^ \|wB3?~0Jy|/1GXT4&nÔoTiK9|C|DME 9ce7Op'%4ղC:wyeC׾+qloKHM)_7^S\qhxK c8cb! 9`Дv_DcpUvwg17ǛTJy=O"cY>ޢ FreTK}1P„ t4gW,]9-!]|aX9v]rz/XS#DwǡV6i2ܱ.<|U=}\pC|w EEB!K{nO+ӧ>V7YL2vS,Ȕtmâ8b 70C%7`׈JIDs1f=*?7/ǻxpc0nIAhb*.tYES<[4o.,-_TNgLlػ Q7 kyi a8y4B[oɣ2'7ݱ̯ E>b|ȉ_83-&{9Nߵx&É$lǨ\ulX8 tlvFz:J*_-g>mJǬ9.k`\—,}ơa| 0Afj"e&RH #XL" (//rrr(++B!eddPZZeee,O]]KEV*1iEA7'""PHBhiCLr:y8ڨF%+4.ڣ^PcW;ˡ<ԗK}P_nvtI|Ӹ 45)Qs:*46;j]}V:קL76&%Ʋi[n3KJK׹^LM;`=HNIi=ٍ3@ &vnF!})5>H#o;%B!&đ<UeێN C)C򪯏Az BJKO#3Ssrէ}վҴL…\}uy4I X]{<=tkkcSU5twz3HNʟuMQl|rwicblBR%R |(l۔QXr7Y &6Mrj Cv%degݫ/֭[o"$.7w֐Hcâ88=G& vP{GcW]QPcWذ k%bIkT (6z~rePT<>[fvvone ؏;#O @)SS>WEѬa:R*l>!E"TmT7pSsQù`JG >ޤF\\&%U v:˘0FT[+x1t˷z}S\>&B+(mX:"99.-ualǶ}`_*1?:6XjzH1i%,1]s>c#kt42y_V¡=}}ޟ䷰ub3W!6t cAM<87尰U-1*&z.كcQXCG[Y`گmmC]d}| K{.5@Xf׎RxxgmU!waPV՝ zrxêgS\`5 cxX1nVHP{+Y@ |y`s$foCKgâ~ ӑ$cԦ m"G j ^(-cqr~Q>-((ԡ?ͳh8z C-09%'<:Kw|A_8}x7| K99k!ZMbhЫ?W/>d=~<>)*ԧkg ]\TW't)8/(ZBQZNvgS4|ziX6w:mضZn)l>;t;p tZ5Y޼yN͛7jzG^e\vmէ!+6q+4֙YNgxoBQvCcȥ$Qfa7vFFbgܦ<s |JT]˾()S"< =X9ہEp=g.U޵wV_ܪy uH rl qbi_?{Y99qOw%Ȋ9{.RXgg: "Ur=ǿaLFps+X/T@ާn܎KaQl#+1в\)l4 7B&R]KAۂ&cXغ}M~uAuZ}Xغ4:U#G#mMEPZj Kv4;}< 5-!pX5b_hCiwE%-.مU~qyf{ RdJe}@|m t1EN8t=I/k_ obEy.+P,,涮H|\g.kn*qׇ>[Soʮ\;Y^+W/c\zKB$dյ"F)ZjL_=Y?zLg1ZCeP}l[jHYMK6?'Ȳ!ɽmU-eaw54[揂TGY*:?F`^w C2l]˾(o6L Q!L;_Gv^?ǹ>u^j3m=7rTԿ#ΝA_yΝ3 !/ys=ǘٓLw|YKvѼN6mg`o )XlY0 - CPhwk@>ˬмZb^T0@} ct[K9%;G{83*6w)X^ $!@g_ßs:OgFkTŒAr;x-oc6N $y.}]^}> Q3M3?Wqcl7 ېFd$teF gS4|zTWz@3n !+FJYF ?Jyp>'F |:Y`l^'Dtz=F\06 B!$1?0 B1pj3Gfjs׽̛1]GYbC>0(UMB"`x e_UD&! e{t[z{s}*c1[Ыm(6I-::7C9s0;:ʸ,JP+ޕ1wB̯ "N])ؿ7ovi`dcuGkh^0? 0lq1|\Ov5?5R]ѣG077ǸTZay?c^ B[",~56BȲÜez_777x00ip\fzu#1x(t4V6_߾ط,hـjuC.XkAXh- fA$=64q+L,|?mp PaB:Ʀ(t ~=}хE1vƝ@ '-`哻Jpq ZwF50DO` Z.04q@ɻaPZck'أ( 2+pM|;)d=*A°b5ާU+?#VH֫ݻBBBfD"ҥKcƌV{UFQ{4$ 7>åJ l< h,'jɂP'^| 9' E\ 77/>kA)Y+ -45O.AP( u_#Qh%> Rǃ)j^-aS% 022B^^LMMC.#''FFzzAG [ d9>$3Ϣ\!q[) RҠQ5Kr|f Dh^/ +H)GҫǸV~[n\:O`{Ю];̚5 2LڵkǺ!Ƨ uZ}BAo:Gf|S(_\j BzriP}ƥQ9Ta=* \8;˭MP(Ee pbb"Ν?##c4l5k#RNx-3{:Pgii˻`?q'GfXtl-yO"<䏩_@DvNk _pL? nUe1e) G;:.g KOlBʝss~¸Q".xF4O w"I"CxS{ &cSYVMnS2Mk{Lx<888>FS( BS)&6 K=BP3*ZS8q(oc>RIc<}zWZ8sO`U_{ϒR9~'B2cL?6L粥99*;Cr*N݄OE[ ?ub۟P-_veP\\v*J䨤%.܋CmWWX7d䊲ׯ-oKnby l 'FǀN^#3t BP(:RhCGR(Ce 6#ЧW_8; dHlش2jzp 9&HL|ǏG E0, ʙs:VxX1nVHHQQ8r~j@ rD|O/>dJ!:ub-002L*Q~]ɥbpXQ( BP(BPTUVEGqgٷGgW9FիxƏIL}%ٻ#=l+h,l]lUC6 aaƪW־UXlVp򑓑r6NaR( BP(#( Rr"Ǯ]0x Tc' jsRx&vFnigN;w.Za@vh\8}0fl`@3^X5;¶ifocRe":ۦ`_2^=ƥ݁CP( BP( $ uеk7lݾ _I)L7 &&+lݾ ]vCm:l_  IDATZ8y޵ڮ*-?Lޭ+p|>/Û~<_~]ql,þq>y+{O1v#"#0Mq8u:r͞ˌBP( BP( RLPD۷o1b8;;#11lF}[Ww6P( BP( B)hLV׷.DеK=v  BP( BP( խ\M  L( BP( BP(J1u @uk忬Bz T'b/xKBP( B)XZZ2&r\ >q_%͜ˣsy?A_Rȓk]=BP(`mmͥB> зw?pOrP3;_hg2wO\jw5|[3.kpfR߬q9_s;%~{వ06lŦm`f{~6(YD i,bΟEpttFࡈ9K %Q׷+U|,[2#vC.# nP(ʏJԾX9w$|-kaᡈwB/4 n&nnch19?yc~P( |sN8QF!$$D1zh?~˝N&ʀ^A@KKK4ٗK/W޹#aӴYd'FP ڸ,f8u찿Kun(߯uM+CZuozp IR\um/eH݋%WZZZ 5m13nNoR6:R?Ur?Wi^"Ub*m;rO1y7MyjyT-oM+#7w."EP(pWqǺ喖R4p:sgm---ame:ަ j{2׍nKV^H o톥7ܖY8[uF&zK!6}G*H{ i= Q(  w~:TW+ ]&]MxR,xxFV^,dFhqTͻQ~j.6Ua:Ks vtXt@P(_$==iѢ:uGErssL&#R9$ D(@@RSSȑ#ɻwtFl~ZMD"ylI^ſ "dג'|> ZLbʾ$_ȷOt`/Ir6ٯ.Z~d$E"#WD7t?#woDR$>`~#qA}+7[FfJ>e$N !ͧ#3?-"Cɭl1-&CI̎0\p9*ԗL\u%W)'ed\Rob i@>\iK!톄ۖhBȾ؅UB)<ָ]aIrt'#oR(/GwyQغ׳- FoKI{\U\1-ۧw{6RU_o['մh,}a{VVDN̵L.#6V6zWI$vNMSS>y}x:zrHդidGޝH6 &'3D$'q\@*֛eY׀Bvpm_~v [璐9kR"Ndrm >a.Zp[VZ q]ZNxGe2rI("bgfuDBJ$$Fnq ~HGtCzlvg4H"&Ld2! I^^!YYY$##`rm` ]9C֮_WԨކd8!S H;G"$U쬉Y٬2e?TѽilG,-5}|CLJ~RT&UuLG<$6ЛT&Mȭ ]O6&]ʓVdt'p 2+)s%6Vd{D*zKmCIڊD2"W:/Ly3J8Qw4dJ$*g:Y 6;s*wn p VKyl!sz Bȿ/IՉ ޶1E^ßKm.g̈{̠g'?q%D.VIKsHc V;D@+ݿznM8;krpH"dmL NH1;sW[6@ԧ.|$z_$FB姍D2㎩(PQ+oO'O"NP/Ύ'HBP}K>C6(Wq\r>OJ! hE\lb)hlwD)̵ +8T[ iQg !I6_zF~FZ׭(omKmvK.C0};ڃ|u'(oW5)^˥9YuG?kI5d*6z#{]$p)c!jܡ"(2ׯqV}LHJ-0giE(lP* Lnݺӟ:/^đ5V^='kVOByXz Y=U񣸏]$M=\!#C4*bi70>߈'QIS~j NI< s60m}P/׽lDjZDb$IxWL CzS(=~&5z"N$%&l&+' Ƿ߈$WLr9d@w.y+&HD&Lsjr-S@R2`YҽyIUGOV=é-j֪BάD;O;ks5"ʍcR[=&j̿͞@r$Rr5C@Fdd&5z%2$Q &Go*8GZfsɒ)$Y$!v!2-JYҳֲwOo$g+9ۓ\cF.jVKI6IL&#?L%Rʪs߳YurLޓ7M/DݻX)ۉI̚vZT\0GDf IsHԬZǫ y6M#TYp\~ymd{Jr9C@2R2dyRΚ\QJݲF~mԀɞU3T^5 Jk? B%rDZK>C6(wW{%D(:?WLFb:D\|TW(!o@/ݿ2w:B驷\qY5xuK$]XH@DyږlEq !Qj̄D"Jbj3~>|~/M^\j@%g{]K.%ޖ8Z[ Ugv-'=GSI$edTrfwR{(&)_O j O n۾y@D"y2,[z C\ߋoW w_%.d|)deU UH$$3oˣц6ʝ3T*%ޞ.D"DB?{Kx2|>JaD\v0T (IWS?l;4r6[kK+dl4y- OMdƐ|>V />^Ӛce?ho7vYCW͍}QPGIT}̺=)[HVtVIL%vXՏ'H]W_2I"bEʆ՞lH$AZ.Xٟ\՘T'r.+s|rv;r (:tݷD"!yd*śqHݪnZUU=] [k[~(uɦ9˔re4ʚRV6'Ii D"وIjɭ,h{Bn>\}}zFCFWq\rE},zۊH$ڭ1Y\ ʇC5r'Q{KlpS$ؿ2KNүV-H$$)X\M,h=j$O.F'?gيx#$M"+Z\]1:\2ܷJ{z#-SR|"瓄<%K /.d>;L sT)_i_?϶3IT2.\LKOT|>)oeM_۫in|;/_Nz f8z#Q˲a}|H3\snalTuZ.C%͐ǾЪeF<Ʒ]dkIA5Dzd SY$$gC*2vf̵)Jd*r˓0otEt7gԱsćwpp*g52cް7Zיjz߿GDa:vl,8@bυ͕HHe몎e~K[#K+ﮒ̬oz]}B`^PR<Ͳb)+[VD.Art5vƜur69eپK>C6(hj,@py(ݭ J5>gP`mxl:74̹ 00%:n@# 2eyFA p [|w830mdXBL;ꙫ]'娴˂L}O2&xL/H6#d ZT0R|L-!I5@ovgVˆZ,#[!&[w 3Ay!U% ~/_p-[`K-@ e_w|.U -wMS6H~u.^WwanSW>gKS>v# dVe{+α2дX$H$?,$s<6 Eoz~Xs' ]4eWĵ0S ~J_zgp#KB.HBEO_[W/Fme y;vYO n^Z>lXsAo!jDjR1r]ezBg_(goo7o@뙝ڍq>O#GuӰ¯6nڈQ5 c, kswNor}XWo{REngmF@|?mw[2ui`hQ^& D ?].4mmTP0D Fי5Wwa㒿jrB蓦OZRwW{%4~Cv$ [r)$GC`K:ekו=>!0Z& %73 if1_>PoX&ѯ]撛VhOr~}qL !Ϋ,9^UqSUx5 xz ܫ:8|@V~e'X e"WkhЩ.JZ.ͿqMOx ;7Fv\(A P,ƽ_6Ql `C uVoCz'-BnEEy|gjR(_/tu!?ciLac<= 4dƎW׊l+Eѫz0BKL6ߋ H!zl- peAs㻪KCۋ*iqz b~j ZuW-\yu/݇!j` fnYe_t UCq "Sa/|@HT 'J!J!Hд@DF^ce=¦Y!hڱ?b1b10li5J( ْkkSBQ8sF>Юg 8e?îݢ'#@,Fn[j-Þ $lG2}`N>(a:˧^ a>ؑ<]I5;-zd0Le]M5nmOGnMEѦ =me^Qa[ [vc%FσFCWY/Txֺa60=2D̴FMVټb+]y贫RM:}e,f],cO<=AN<9 xv0sVEız-[W]:U ;B$HENuDOYU.meFulP 7qidėF| _?UMGO.7 e/wW{%Wûgq> \/pu0X>e-3r3A,ANo~O8z +;c@bhu1}0f/^5@Oo'?QEq`HO <h3`g r=Ju=z U+gÞ#U ]\?7#FP%D6\l W FѨac.5, i=pIuu8& 8DapLmۍO(dHOOX4 AXȫ~ bhq׽, @krC{4óz%'wG=A0>kNAWK}}J*9ac5[N ?A(2yck1(`"Ah2rv|n&=2.~Nՙswi?uŠg43>uމ@> ƥaS?7ZcngM@)j7#$l)Ĺ#Qʲ5߉OaKwň9gyļ^ r,g731qֲXx 0qM,q-!{C{ j էG IDATc~@=V{Eyuj(P! ya r9SVG]i8-DmkO][#~`A=D@Nuֻlm`A>TvƤ3kP}ӸP]wW{%ϲRv([qF-QuZ-?sc301ۆ>2|lolh04.ơ {C$ X,fΥR) ;yh=T{$̣5UanNK mEc8jm!͹̾,0u!81sJ\Bp"VLQ(@֭pQX[ '7]q.<7+%|xq>}Ze-6Ю];899G>EÐqzA0t8ݽP޸x//hG*$ sHR>qP( B) N cCX.U^*"FݾUS.U׊`ddcccP OE%_LP~NHL|?~?gq4l~cƍS }ȣdC<g*Z¦fKE7sΨ[.޿9A`ghM ZmrO,~t)BP(2_R)ۯ;}$^o^ƬWo 4v P(@>eʔW60?|>DqSJ I~ZYo q6?[EC(}Pv) BP(B SO:TxbDBq)TpN,Z 7Bhؠ1'|?ay;R+#P ?&;%?C#p2U:&X#<oem)NV=lKcu( HCKKK\];9b5âckQγ;@.Má0D8"bb ^pE;ԪQZ5<"R(_ EO\9(J9\#U) BP~32 I T߿o$KKKAb̹o@տ[:"2@g_-x׾CG>u_]e@|Q(ʷBbzb n_m ʍvȃkR$\z)cga#AsMl q76"D<O Xp63A!SpB~0jnyq"! @ΰ^ʁҶ2xÂB)hC"`1vP( BU};WEGٲeUҔ~lU@ @zz:B_/g?A=xD"݁e2 #)JqEk務sEO^ŒӘ]mЧ_/Amtbiiɥ';TM5AQdcz3PL}XCEhD-LZhC1u6ίGV? &F̵$RݛuP(%)2u\N? BP(ii --M%=;;Bs]vvm^+]vŞ={0p@f'w6 }9f-مX&1I& R` B BЧ_/̘6Vط/D aÐ}{oukiay>I@!^z : ơix6sR̹DRѥ|溦K dR E.Ȅ"33KRP) Fi @ BP(7o4mYYYضm+`ذaҰ}9[ 7bС=z@ ȟڻc)S.66Ga}rl@(@Ų1ڂt B)[Ǒ#GaanŋuXX vv<1 FJek.n1T򼏰uyà`(}j˂`Qan늌ǰvx9R{ì,9)(gcNF pڤP;N4`-?`q,P( B)$ ..Nc>X T X ggg DFnm ҥKC("** Æ cҷmsss.].%%otC@ ϰ`V"8t B)YoGs,^ ߏ`4! ~݋'OSNwܹmy|6/8l!ξ-FwF0 > Q#,j?M3px+TƫGݸ4գ;w㰢P?? kr:AIZNP(cRX?W.[¡IP> 2 #WM\ >\_-[@*>[KW_NS*%iBg4F2e+X Mn>[ JqqA z=vHuu8& 8܄saASN:}:?\;ElYƳɩSUo7;+ >= *r:L[OTEP)f2 >`h"gcE:<mln8xL.ME©=x//R&.cƓf(PgE?PRTZdx5Bn<++ #F`>כ7oƈ#O-޼y3,,,4 *j )4` R E aF: 4Bvv6ρйSg;u>K0-l[Zѵ5lF;'x^rs4k#@|_E ZT)g89=5xϡX>XA#MB|-8pb7}FaN،9ϰ"=I"ǞhIغ2/3`,T. 9.s&q{@Uh}P(_mÇk?DGG f~`t?t B)n#G" rrs6V2) 2 @}5}|b_Y38> "F@4oeB)<}cΨV::;?L^бdt,ӱ7:k6D1qCCP= QB(W'Wh-?sx-FhY?+:ڙȦE&(K{yO갫Sv_B(6uS@<_ܴ2z(l l$tW= aaC/31DeQO &^Å_Nr46_Ϻpn]|n i355ŦMh`ff9Mnjjʔ)\fG@oA:FQ(Jqus11fhfs1ѻoOܽaa{P4rY:[^\&bӧ8Ǐ€g*U 68u?ELL6bMǞB|=I4԰ϩ>^ՊƸ5kogKUIwP@Z.!qt@u~{WؘͤvlGe~x_I~sN$W&E)˗/>iXQQQ 6*U7o4ZLY gYz 6&8oHIJ;*4l/8X5H]X]i~X ~Y7ӛxD~_*Xn#_1[J-HQD2Zr~2K16Ӟ1H } nb)Ƥ˒yy˜+ {D& lCSX6gOHb{9OVݵ qv< N@F|0;mo[3Mu8Kft'Ew%}($`J<}z֗Ά_o`y۞u2#^62S]D^Zal+[V=GguL^5]4{&6Aۢi&vZׯ.98e$ K OlԓߥK#R_bOL% sQ~ Zxb݆9b>J;H be6-B||t ct\d3hfݘ7w↉ V JbJ) ^?-ZO<ٸKxo-lXcO,*_=mˊ/crww^zl+?GL 'GR|9 +(VeM{&͟뿿k۷ϙ9j53yB+vOIަ-ZܒXblI]hѢ͛7+^J>L;vjCՎlp~z6 РP>v{m"8i*夠9Ff}UԹK37T43fd/]#oyL6r5㈧Yjwi"u‹ݕ5#D,Z Kڵkׁ|J͞pdvͳȟLLf?fje[K3DaljAɩ<)KL&_RGYj9=;?/&(U4cᢟhӺ ڥ_͘bŜccf\ @ޟpw1swUhwOM_*yey6lؓE{1r#GRmUI\AM9u1[2YRW;6kpcH/~iUe.xjNϘɧo2bky3>\μ)+wD7x TUfE<١gݎ繡&speӇ+⧿kğ@\53o"C7w*0`k6E$n\;gϞ4g cҤI&ooo|M^~e*WNx3f~IFMȕ+Νf?ТY J.ٿO._3m3Xb}_͛ w s/eV)?|JOn@B;ǯKYʍXv0m0 Cpf Ɲv]ť5xK3 4{~-&gZ(YGR .BhQL zΞ*vKWnďC~/)aMlJ[*:&%G#$< [ןOdѲA-&/ZO¹1q: +z,=o+@ $OlٹzvFr튛,w3FFM>먟?cehYsu9Bł9} a-}Btߦ9m~ _y7946665O>>aۉmC IDATmǒgQ,o *^( w UGGGsy"nE煴lњҥ˲y&vNժըU6VyϣUVDEGs|R&8{6eB:ޗ)3WoP+e#HǾx{O"otu*{#+սc#n?b_6hJ". 01RcC;'fδdt_DЩb" {UNTt4F1!\DDDD2k='`^~&#qVgݦdp磞"<<6L^νzCDlu|:?E^;0c]1'Og_SL tcj,"G廟(~AxvZ$y죥вП}N2qZa2frL IJ˭k2>t@o0W,Rw%I rL/ZwJSP }<`-Yb)"iT;J,o'Vڔ+[o֬]M\\֣Ģa4zW>u C ׹JY7 !vg$G O#0W!Gٺuk  ųoݰӍOw\yNJ9pTO#d/ 9L ]pp5H=ox([&{M",X0^e?U1~8VDPz_,X8ܪK,ч67u[>()Y߼zۻzkwz!r Xr9ʚwot!Zs}{61w;;ީO]R6ue;QF4Ѓy%$y+O5r]l5r8ʒ  :{C-a-ZhѢE-$$c<޲33 }K! f|F2c\[oaG_:KȃբsGA|N#w2e#aǤy}_!Ct+5^^w)4 X3ihW=qz&(KbC~y/zk;[Votu78wX#6a\ֆWYt|{B_- e܀ϼ(W@y$K`jjլMK݋w੾yV95·;~]ޭ9" }; G{sAOsV}[ybaM0|GyXC*T 9Y3~VۡN^w\2UP>;yx177kC^lZ7G<^$~׺$ODDDD$';K h<#pou]\|OׯmSHt^ʠZ}7f~| ['y[Fp񞀁=빫I:vıgˆ9{,n'գRrlZOYx 5௪3Weq)C O yZ*֩yeUL0|Y+ZσְW &;;_J}#O,]Ŝ ;{]Ȓ ÈW@? a:5 <: ㉍M3СCy$05gHX,ǻLM+TTёLKswXDDDD2&۱js} $ ٌl]4؟C>wГ'C<d"** ٌ7닟jdd$&S{8݅JmLG'F}uxs;8]v ~C&|e>ĖO[+39y d)6aU,o~ۑ7RDDDD FLY(Psi("|. Ǐrrzt{)!w ^ȓMQdiE?ѦuӵK71//#ŊHm*P{>N_?OWwh oȌÿųgp} ^mʧOv.$znKe5P?3L_C,X:b Xrjvc_RmqI`΂B=J,Y܅HbٰlX,㉍%66Ʉׯ^vׄk9 9ZDDDD.=ٛ,Aw_x=ɴ3f~IFMȕ+Νf?ТY J.먰,]gڶ#88gNb ?l>9_ n]˷)W GB1VOjL_wLJ.w"!z$F(WPd!fr89yK.k e@3}L1سg#RKFGGǩR1Fn^){r 8! u~ `s5~Bj=y"n\C/~^O]Ѿ3/ ԭPܥWiw'/GR.}i'f#+)lkOײ39v[SnSwUD۟ s?ޫQK[È8nmeT׷ۧ-17V= \t7jt}8EWöݙ: CX2o+8c9ָ`bsosWM?Ɛt&F UfJwXEyirG`t=TPDDD$=¯S`!BK"4Y?Nr|f[՘K G)Rk%{_OFOa)ؚ9R{6ѽ6<[K8/j1Y>f(IZURk*C9pp?:E˝{cg0ϣtS9c3za 3 ?Аfxr]t=:""aڈulrظ8VpN""u.c&ʠA ZB1&,X. ݳ!)MT&#{tߩ7z?>JRln?6 TM5&#:t k֮XxFВ(a?=$wy9#XKU/ =T,`n0b0ڴܿq>wa'L""EܺEܹF9sq+qE)鄯 ]=_Xb{Sv^UG̡Cu*vFpp]t58t蠻rx$ ܾ\\DN|95q] ;f`"gcx}DގJ27[Gţ{dT'֛Ե?3E*@cˍDqWcO OLy$""jr=<˗pΞ;ɝ;^^ }\rõk9s,/\+\ji]D3`JcW-9=Npgܗ%Kl2M&M6U+*il&"tҍg{̓1fiGlRA؝le b;j^Oo\n]Gs:;(c-6=q再na[.Yf׾[۸Mj9|;nڼڵj|/O]Š0n zX._M91`퍗>$NM*OtT$ׯqeuIITЖguCzT{+Ig_UJELyr!a苿2m_ @bY44tO{xϴF~ff=xuȑ]܅> e©|v^(b6|?=Q H [̈f*szHnsva|gLjԏߎK2vUʕ)Oj9`EqdtV2e3nu"pۭ,~cK3`eicT.[y=as#p]ϏKJڿM*"" D9ɖ#'ht^vfɞ+s/W-KZ .LAw2y9OϭX=Sw .W˯8ʟo׏e֟o&3RlohPmLw`ڵԯ_]CSvמ9́YVcK9x]D^ɿbjfaٰX,G\\I[d1 aJx5^ PĔ9-` 1kd(%s 쌭W?AAA, &{l,ϕ!9cLm;ŰT Eٙٶ ָ]AAAECxd7R~*2АP#Oԍg`fFy82{ylZޝߝݟǣ-> [mGJdghFyˁ;O% ^na{c, 8LX${g9ZVϱ xk13& wⓍye{!?|>ol.W>H8^L_C,DJڿzED'GDݾZIPIΞ>7o3gIvmSDZf ǗjS6>qzP8G~c+77uRƌM@3ً͌sȱ[o3}y=hz ^~&FUҦi /mבCrS"wtrӥ|ڵ4hpsm\{h/:0H۝$`%1&ilz?~;ϰpO4jر,\ϟq$WZѣ])P{>N1,ZOb;՚͍ [|2_ªF30/UIquć,9uiG2.ivh }7gr23 `A<m̨Ns5n6a@@3:tc\>iye ҵ}Sc)4s;ǯ\c䟧ynGsGlzK ~7Jf`->Eo\*)5> %o7d2Il;x]}>EB}31qȋ|tKy$ZM)ֳu=Y/zb^]Rm։<<<՘]CP׋^L|+smv\I#zP9L>o/~Q-^FrL݄[I:F)ΏJf~y;ERinҍQúԝ6{1y@[%al`/ӦC3t|o;Ӧߘr2;{/]DDF#ylk%k_f%_pK/5cDv|綳>XxSgnC;=ZSfi >У׹yu|Vl[%lq:E5v=/>B۹ s'K\oѶM;foΝ;Фѓ*YR%KӤѓaΝd2ѬisXΏ?}η mxUhY(U3y+4l&#F|t^OB_+ #DI?>sm&7aR7zۋ9ßg֒iIE¨Mf/{4`㟧;f-&[ Ӧϣa@/~b.@3񺽝j>嗞nKKZ3@&,,1. @w] uc#GaB|IJLގ&#Tpf!Y8sk1PvTZZkQ,/:k{Mlj=Z)$wz9{a kur2!n1kR|*Gr3*XHێwf6^ AZR:I-v9eB\gMλ!>^6"Mt$Yҿ}T֜_3bABs (("ysp)5R,WSWnS:wi3c#[rrjd?v[3G'l$rwV eZil6.EZo紐BI- Oy89YzKjΙgvG DXbob`q]o b[Os =#yM-Gў$xR:Mygg3$8HdN @긙t~= Y}o{+?i<M9l8|?~;ם)WAn=RU{y#]:bcn;Ķ۳B*M[NA3e)Iv<\\سa#qpk>w^/"vRMqId2 ̄cTfv;LJW~&#qInvsِx.:ށwo¯/њ:%\\WJK*ZMf\b:MO/II6 euڵkid-gSa FY\yD|"?,-dYt mjGرc; `ǎrelܴ[d&˯cZ`I)]l?cK\ ʹn9 r~]/tfJۑ9OQ2?eWsR,ӇɓPL2~IP< G~ƥ[^93ۤZ&3S5!DEc"!9A@gO@Kiۦk'0.nu_skf|:Z&'^u]G"^DSs?۬>5֘xKݳ^?d\Z͔i #4{hߠN򆭻0}T#`;ϯ:=>~?d8*v$10b`t%ߧ=ۼxX7Ћ)Cˆ8b/WfJWe/V#?/fuXwbbb Dbb'>>&n' 0GT@<I=#[}=scܓ7Ȋ=cLQQcg̸q >țd [NČ\ggmFˏ8B.SU~:tlfKl9>)%0 wث |s0Jr|^j5OGժ(J>۟ ^"\F|>wk++$VL8Υ C~s<[[X vg.Xa>] Li;c%*su+ynon.D5&Ldt~&AX&~y+6 K|,z?Ddx~B{+4x6xI3P`Tr =٧vlBjc%YAϳև2UQ`/iV}c/7x,xrDE8nQ_`yeDj/ FzQ>vE:)S?dw-Y4%դ^~\JHw۱Tmj:~,>MH͈7;ԏ2USsՌ&RW([j~϶3:?E{c_|W#^M $l6`¹ݳwrI #F__bbb5<޲3_}K! s%53QoȝL-;נuuko%erlq]`ϓw i[z{Ґ.X`Ϥ]iKEg끛<^9VgZז˖d+3_s9SiW,qg@; J'u, k%sLӟLlhGyPP]Fî90P W/_LW)mO}%.r'[q5s>nt[l@s}ZPokycڔ?g^':3~}nRZkK]Xo =^{H!?qx8F{,vk4hqD9Ћ};F ;vsFlo+~-ZRTfM'#"H-^TŽ?h6s,e:""(]P";z___rdφ`իDGPTi;J̙ LQkR?6؝7x6܍_<ڵ ???n{y2έyOu{aYǾ{c{2LOn*Qt6~Źy "NN sL]؇yN{-fw6AAA4uccHvd5X>eMwOaIK֐[z:b#0kpƦϏC>-رc;UVVUN}9{Pq#wbOll,DGG=54۷Yl;0mIvbk}!1gaOI>qFMEs^g|ԁ}vsrzs,5:""v˗`Yɚ% EGG~FܹS~燏>>>fL&A:yГ'+=s:Md"** ___g$h?dzpc0L.~> Sv^^ȿ9`n04v0 s<׾5vy5| A[ˆ4?h?KZa$O>$wI@ܩ/m4{*vC4SwGu׻<΃˦ܧM2l0Vkq&Mz^4dAQlpdը?h48Ʀtgذ  v'յ'cw$\#{XҳϻB=_.""ݎ>MnaxtwɪQUo HJʿUVTR .8)1 ͛7͘U#/Ѭ^esF'yd"*f؝l<>lǿ `&]w&r""""I7 `fڣ4^0L CÈ<*GB޼yXbORxiۉ7r`|@S{v"¯r>J㋋<OYSd9Μ8B;_ODDD$#0 fJ]H}2W8 w*""""(K|8wa""""I'""""""hTR#""ptw!""""!.DD$CQPD$t(""""""`Jx0%EDDDDDDDD<"""""""""L @SPDDDDDDDDă)(""""""""`Jx0%EDDDDDDDD<"""""""""L @SPDDDDDDDDă)(""""""""`Jx0%EDDDDDDDD<"""""""""L @SPDDDDDDDDă)(""""""""`Jx0%EDDDDDDDD<"""""""""L @SPDDDDDDDDă)(""""""""`Jx0%EDDDDDDDD<"""""""""L @SPDDDDDDDDă)(""""""""LDDD%X,wa""""d2a6݅dHJHb69s8;6oKX6wUDDDDRe$GӮ @@nK7Y眯 Iv"(pxu<ɮ*@ȼ?hW j$@@‡s(8 `)U ;QU>}H:T>*۾-׮Uy()N(m%#+u[ NRZ=l:FL'^Tb^U[zYiVk,1ir_-GxTtT]6YFEhCB]*P=prbWI[Kl$9ڭ=fWu WՏ @@vc%wXپ5]Nqǵ/qYY?ׄsNUvXN )mjR-:غ|Pui^t젵o>p[XY۶ק_lJ]e-'QeYJiVSW^إq6uY.>퀿`umsqy6ԯs'l'vrge|[R[zvR G> at\Vs,;X~=ep|m cTzyDZt@{:x߱63ML3:vкœJ`nʾNoS:e_>5ZXdn EV1s4iG:r꧕K5b:eY}ze.me$r>Yz Û<~M:lJ]Rz< /fnu~UI-M>7;AoZXI)9ڔw_4nZ*)[zyDZt\$iQ1ZW]'x:^KWk_D'6_z\s*X@qY׉m _`JEuP[j;G_,1K+m^݆:]oDkɗwWܘR#m.S.+Xuhaгb܆&\ڶ֭}%rB=e?V=7c$KK~GÇ]r6̓~uIǵi/5;ˊ-2}y \yWXIU{Ie)oɋ5VN#./q &zWD>zp&ڒQ/: ^/:a'عRc#ڇP%=x8Q>(˗ޙ-O$ܑ\3 Wh#dxe-޶`R\'je9%旵n~0֯x9#)VbfW2:euLs@/[+޹IҀ'K~(eˊ߆-OP_vy>w^3S?+xSVN,Q}u)ݰ2ZhyeYDZt\Jo{Y"1 ˂ʪ[u(.к;W*ry@m籫@MpBHtb'ՕC&)3UB=ֽz? ϻOiVYOߐ?L~In[[NYRRܘiOkA%VWu+.Xe xsiYgjC%^:e=p um|sti>ly'~N#{-G%=៻;Qx e(-1٥/u7L oKϱ*o?$#u戙=fye/o+`XMׇt kg˪[u(--б Gò76PEM$/_ aLӔU~~򔗗eggk˦:r\2 CaH!"bT=K QaAdy拧ueծge:4LS?"bEGG+**JPXX<\.\|~P0)ϾVfJ IDATJT_-;Aug r 5B(Bk8:`L2`F8 `F8 `F8 `F8 `F8 `F8 `F8 `y*PUjǣ0j@j0ث-*+sLӲkTK.:(14nVli׮t|2P;n5iLgv=WmRU5?n %0 &@dYտc5$mޔePJr{VUچuz&(5u+2U6 T{u+Գ$I}.8H-Z(ZᆳW^f F:65F1u :}6'$" *>!Y;)33 F1M~(.(,K'ۭ#Z}2¹q:)6*!ȾЏ@3^~/I1 i~'gk)zҤ5 TAV[W-{I IUsO>mIw>yr-3)fpױ:!ʗZ[e@heY}TYYzOzY53X=;:0*I>xT]=5SoRwi]zcmUt>kmM5ᒤݥ%ww/;?%n5?n3aQP WCz}d;iKV@mT 決$]WfxbI, =̀en}lOI=Kҋ7tnXRfR:{ CP͸\n*NM\gڂqkck:2dY]50-K.W-n[|ܞ1muQ~[^݌:Ed _vU!sbn[7)1EVغu6k^R 5J_ E eZdՆ5*y Za[q>O6oԇz[ݺPLt]ZPSZvִu\L(wTPlc*??)9E{\/?[E;wYJvդi3\5WTT]ZPx<' nNUx )NC*Ძ"p0@#p0@#p0@#p0@#p0@#p0@#p0@#cWG+/>Ӯ]|vk ۭ&M̮Mj;ꀣq'j#@jb4-CwRZGB>Wi^WDdSu쓏u긶R_QWO>VVV]NTbT;)>!IeUc233cWpU ڄՄcD 3Pq:\O&P0r"F,=Nʋ:/[K)g*ҵ[km*x8p`^=K7oVRlllz%o WzT<kuSuThm#T_@mg)kxtхj{#tԄGўuх),z`vICݛg)#_>G^.X՞9],wXSJ"F,@/]:NnIʴڟ>u?=U/WvfF\1‹7% 6YkZr̬,=̳JLJP|bwa?ث$Դ[G);MYz\uM͂m}רAB{IRƶUi/RW/{4ۑ:O(aˀ=sp$FŦѧz'/їO]lՉWdd""Ô^ff]of^:.0/}SOHǔ)>Ft}S!}m2s˗V&QbC=lԴgVbBSRm65mL;wԎ;դISm߱M)-[(11A?22m[84f&@}dIuV+oz-Zj/hq :W2tPy[.]ՊQ4-|;< ("2\aL_wP^|LӲW_5 X6+I2Azsڞ2TǟqNyvٕ6{$𔙕iO=%&%i-j֬6_7(m[VM4Ӷm۔DM{iefe._2tZ\px=fx\]i׽Z^6LZvڞ:BmO^GCkNZQϼTguy/U.:/kXrځ[ I${͕=d>yIҾvrr{.9}_2}%4RXxcVEw)5''GmZ ԪekmܨMi2MKY9 ,_S^~ڴj6IF>$Cv]@j0FHn,Rx)j|r\V:(&&FnKa'5GEi9eKtJOT*::QQQQ=å+ >G} #ϔeZ2 W!F\Rvrb~Y ÐQxxQߣ"h5lP}/ܼ<|>nEFDnݺS Ptt233 ޽/I Sddԩ(j@jĨ/].n˲,|FPDxDDD1ϗeYx< +qM WUU++`qXy5 50z+:@5v=xPn~.8׉@m¿DӸxm۶YI-Z۶mVf ?Pkq:\O&\n_wzC=.r{Ri_o[k8׉z6"&SԽeZs|>]ZvIf:j(&#q<'j#@jMj;5OHRff]Z(*2R111vUG:Qy\O6LLL <\v\F8 `F8 `F8 `F8 `F8 `F8 `F8 ` "6\mW5ؾvUa `F8 `F8 `F8 `PJz}*U^Uv#LVv@G@% {ե/??\,8Uz}JwJ 3_#z_?xlW\22UWҫ7>R}!:*\:Ck{BMekI Mqz֑nKFKF?Bm^<]\_džiҴnJ}C:>?۲6ʣg%=9RV#>؅Z({F}]j([:EǵІ_Wd?Uu.nyDŽ꾍u}w(,:ɦ55#f4ť<~~qdZTy>E j ˊЌ'(1oo*ˊ(E`{\; ?g߮΃.^7ӮiPk~/_UCtЏe:VsEz|B K226.;҂DCoL4wLJshް. jdd,?[P/ꖃCt^qٵʮ)51'_hWT=9xiN?DԛCnR5~~rp4@M-WjM_Zt͍e2G /~b#̃r:5r%7y}wUF')3i4IKn,=oԺq?4'OF{~zX K?=qOOPtR=;[el$el3sQkX c'7мGmc}&Ӳ4SchµgYzOu&N}OL魓b=Jr' ] z):?zd  oeoߵkSXv4]\fv{vuﯸ}u[+犢n~<:x`ze/D׍ 6>aڝ+lqᓺE~z|tQ!M"㝕zM? L_Z2F6&些dz׫! IDAT: fPÇ$ CgX|C4!ty_O-66zWv[X  ңzo"\\r G2z3uznkfOO5+hz}tuJQ7ܤջRtޔZ4 #KzUoѰwfjE[/{˗<μeZfo׹~ӻO"w [s~S47ߊzٴ nܐ.ًZny$e±V{h$-z$iqQJjW^w(_^bԦE3$ wӪu=޳zsO]f"󚟞+T< rЋkio-X^K^HwA(Ps"ּxZKK:zǭ\sr{g3EZiKIv}A Kߖr6f+:ҥQ))V9=)Z?,S|-IaiO$MuvjRκb=5+eEO]2:6 kTfђ9AmJ wsoA6F!ڥozJ7\5 +y*{\*"srڙ;5 348wanTϛFUț{piܥ*Mgiܥ2\ays :'/omo/IZrhKi_^\LQnrkޔ^zqm]Cw 8ּ9*{RUz}Ҩkދlڝ X]yiu?dž2yO-U i?r P9j6gIFI=s;N?*TUq\*"sH[]rs(9s?֜㖑5=[^U+Ko꤮_6j?lsF6ji@Gz @yE39!t)]?_O=ys(?{;D}8Ez)l7gSekz懔GW/5%TȚ (-Y/f_3 u5E\^B ,Kk?_,3Nvr^7B{>ҍM\zIҞf$h|dSzPF }4w22Ň˾n9/G{Ҳѣ4o^zAmU7 ap<p|KW_g-W0 }LY}LIREaݺWǥ< 圱7"ٻ_kȾ'7R?WjuIJ A(By[}b,feZOnjt礫ezw?Nsc K+)1@#~C 3`aiۀ>x]I)3ZwucKIy' VQi9Sߝ6^ɝ~AjqZ~$f'gA!3+O}L=_gܬ{Lvk|a21d6]nb_=acK}N?JV8aN@=a:阮ͮW//Py{CTmm<{{%JޠF9kp[uufک6Aq#ŁU%+ cB9g5.y"qCy[n\\[FòA(Wݎ[z}T~?5ICm}ɪ:q-&]%רijލ4RK:cð <oo$O+|reddش4e^󕗗<(;;[[6m'uaܮ/9ahB~]Upۛ*IdYM>?*&&FъRDD"""&#%6HE3Zܝڠ=5JUǗQrL_ιF:ۮ T  G-F8 `F8 `F8 `y*ۛjWjF8 `F8 `F8 `F8 `F8 `F8 `F8 ` @UزvSXFh.gW eY,Kig||{Gv@-g0y$Cݺ_d@Ў[unrBp?[[ 4M) ;<*';[v[j WlLbbHEDD(<" xrr6۴qZ?l#.Iڲ)MK_p@;oQOTz 2YLF @gd|E?8,Li,i|?.O ɲ̀9H! VRRwqtde*viIIOyh ?qN 84e?K\R֡ *#),.fqqc@eyۯeYڜI-R(0P5h}h彐1CE#}2MLC"PQ̀9<@كM%4 2MS׮џ{Pu:o˒La ʯvۀ n?Xߡʘ>2e Pa^;O;vO>Ȉ+yZr:$)**:P@T# q@0E' +]22,+hX3?cY/~zonZ * n5-,s Yyh*9m* W~^ncϙuX 6kkh_ƾ oLWQ!̬C诶n )ݷcϔ.C{9HQyٿЩxlr:xW]j)~[BCC !pp8pˀm* )1 9Υݮj*QBeVLRstyObˬ'##oz:tDlJ)ΏR e&ix9IGT)̧`Dxa\.B]̛8uIDDDDDDDDSPDDDDDDDDSPDDDDDDDDSPDDDDDDDDSPDDDDDDDDSPDDDDDDDDSPiϤgTY*UN5j[׼vJLE?s*AtZ6J`hS*Yr@hzM:w+e6E}C e_`LDDDDDDQPi)^.**sǐg׈yYg{ 溉ǶچabfADDDDDDDJ-Z0m(=էv:|7}e%]hsMc!1|25p1}r / %N 35j׸\[ǯsoޛ kKL:lTL(p 1-lOvGl%""""""rQPzlƓֱfv|Ƚ5񤱣x&ZnĘcW2 daR͈@WG3r{g\0py"k[6u{{:cݎ^˻q6:im߾9/e """""""hBYwd? ̝|LlFN<3i_/0d8OGf<'"C`c90iZ?>&7~Gr.*Tʚaseata>߫ls(geC#Cx}FSVTݤvyvJ-0d*9]5b$ϸ)z(m+a˾fU^td__sGFKT)5taWpMIۖC9(%Jd$ZK:s ѵ,z;T9eM$rskmk+Ђ:y+O*MDDDDDD䜢%RtޏO لϳO sۭ2[ś9Gw'-;lO8HBO7c:WFU9G@)Q^zj0C}s|8/>qUS{zEѠxnޟ9̊KN_PN (4t:y*EDDDDDDc3MӴJ)\SVZUȉĵcBa|~2|~>>7]Gn۴/S Vg0oˁoU/gw1{_;w~tŽ(dRPDDDDDDb6nnZ-z[+C{PiۺG7'̏fŬفfcدo`_ݭ_]^m.Yܤ0f$K>Ph'GoAza=|+L*u7;mADz:΂{J2& """""""E @4 K`\ٹ}[&˭Q.,}Ê4hsǾ4Mlakhנo8a|c˹(iP.YB;:o # [ ͆YfְjqϑSQ L(""""""r ZXʸm:6nǢ' w;r2s&nu}[?ú e"&TtBX Ry; YU9I|Qj#7ݛ\m/0/gATiIw^>ynx6ĸ.7F^7] w&|1G#5.ץMFf消y8 |V2ȹ(A] vká1x{z9mn3ˌ/Ƌl/ Ļg _'8E9΂|OV*WZ4o;x{^ aު29mlK=K~}qXy߸Wݟ#ژJ֝ms~A^#>m o܉WDylʴ@aoM\,4Z\E00 OFFtҽx Y$""""""""RiVV)"T>Kzz:c]DDDDDD䜣"""""""""% """""""""% rFX( ("""""""ŧ›J*Y)XQdm\Am9 AFܨ?{`Xu jV)g\KYDDDDDNK1ԉHjGcҏ,ϕstgվU*ѭvU|2,G`KhQ-բ7?X\uhX^m]\T2cȰ~_Y?>)|L_x}=TDʕx}=<-x8;Sʹ{a99Y[URgtбvQܳo-[7pz-nʉW9uwg5xy\vE{ڝ2K ki,7e ^\_R东Ne,{3AxQ^D]c~j̾7dX w`ލ㸽BF,; D99Y[U3f#X׫#m8 {YLLLyeWUq h٠w!,XHǎ {5g\w>DSn'=6iHQ?mLji{3qs4{oq×7;ѺA=Z77×C%ks~e&gѺA=kZ+yˮTZKݝ+ϗVqmٝrg:nxQK^mڴaۗO剈˶N;hˏ ğ}M<BEeBY6@|GShB^}z(?q9wmUJaNxzf=c~j0}h[ک`cu:iop'4wUUT3h&<lBҐ'ž$vݖeX^_Woex) b}:th]s\ߊ,[mXq \Pw`eE3 0h]K,ߴ#Cs}yxѼ~ m+\v?k߷oΗ/ %CW|B?Mݰ]#b%yvۘ5cZ/gL-v;EyŽ*nu^bߍVi""""",×wҰS/еVbTbzҶo}v\_ME=ڟH>V`lҭ?K& H?Ӥ[`Cӏf X[A@9>z~ !qx_˪KPFNE8`5'Wk\\Zy(e lJ\ЈxS!Sp#<Ĩqcv^vN%f@;vyvŧꟲ7qEՐoĵr&jP`1ND5%} >\iR-^V{^TvXp0-oӷf qGؾ sR/㟲o›h$U\}NKR+}Um8x9ps~;ب1|Lyf8]zϺD},۔LV^xƗ/<{fB45gŭ8:]{;SلϳIOӵ}GCsSnO+ψϨޔ/'\ױRdڣhI@Z..RQ;|ԕL)>ԜóH##u؝Zֳpf> _V|i[6]~[ ~ͭC?2R O?)r\]K KWnͿ߾'ߪ91+6aǟER#땄Y*DcpUU<.x%gKF8_m[OdB-h ~&-l46, _pC1N#XuwjL0XnO2tg}cyciB9_]IQ;/6`Р;;N^} 7y7]V7aXg8LKBM '""""Rb[n, k@ٿ?ط Wo{QnȈJ|II/ITo0)ۿsrfwvYzU*JX?`reY -Sa}L$9.)~?ԇUVɅu+B u98j$;1rPm99ja|x^xw8n52iܵ4ɛ2y^/ϯ_)r\4YՋ_'J;#T3fAJJy~MlȮ UmYBǚUhXhK-UCT u0ڱ`@|GShB^}z(?qd;s+8 #%ؚd̕ZٙWU3f^uIg:z 𗩜 -ˀ?3qfmشL01c}5]sm[mׇ̢/> ScG3;N3Hzk1dپC|K<=rt {{G|c?&N^{}]۔żWs˒w_ 3~Tڂ+kozNLО9&Z%ed~{PVW\ѵIؙ W]'.l?18}ODJ7Jm= UDDDDĚx3Zkc[ ^QS6ZhoX9.RE:l.|653?~'L`Ȼܷ0*YU2G̵0~ N:Ⱦ~a-Y6+5EDDDDJ ;~c;}Ԩc ~ͭC?2R O?)r\~YqoI<$66`LF=X} )au%El }q^CCo ږL{00 GFF^׋رc %& "Rz'sΥKkms/""""""r.Rj[ж>:"""""""f9EDDDDDDDJ+EDDDDDDDDJ0EDDDDDDDDJ0EDDDDDDDDJ0DNdS0 zxx2[}6)p]v; εmbsT3bWsCN{=;Oʕ~hܮ|䕳(n"j3h[8:vj"""""%HR!Ȧ/<=^?7-15 @Bd(I)E6_\g۞/և$25rk0lٔ[G{iL oƲoLuUBy(5q˩^&4B};)IRDDDDDYN&Х;=7%Ȋ$*.R-;¥W|B6sŶ?B rmslo-;ϞY)߾ͪ[Rr$rFDF"yϺ@;yByp:(ml=7Lw\mԔV/nEF㦽ˠ;u>UkyOHć?a#G]侅 @9#tϔ1C40."9w!e羡Gֵ3c٦d&j-"""" ʗc]0aƍԨQNoeE,[2nV] eG~BB]DDDp$9$ 6#4$Hiz Ū D\麖R,7^3\sƏ[_V`p)._ ޸7=hյPvgheY7 )%"1բS];wp(0en"#8† It(ׅ!1001ڰa-O~!a#4 YBѴ\9˄1wqnw ,ϱR QWd"2?Df' /]QϒfFw)V~YO+$2At̊ioWC;Rbw$C P>,3>o"}bLFXx#3Y d.lk$M#Ep?0އ+h4C-ލ e ns{) F=H[Yvſ˭i1ߺIA(aR_B<8Mo#g 4M)d&j9HaT+ m**{3)ǸKG-[MU^~[ i|@;4~M3_( AdG+_" 2kWv5 u N@b\3.c cm2F~_/""rv|~e7߰k."##?ٸq#ͥrhSXDըIjՈiX0w$]L[i ӸӖ.cK"]TQ5r(0g悫 wTez=)Lǎ} |y濗^ 7Hs#Û1X$՘e\ˁ˸WcjV %ݏZDD$7-Ӫ\rV)"TΛdddzz8N 8!3w= 3g{b;F[t̡8c(wS/""r&}/HI9F'YfQV-*̙C剌ZnO-[42pRZB?j*\rm|ܱ#TUTo[yCe=3N W`v5+_eKmF 0|f =D.safmN?Z?x=i$xmd5|>aAXXfA3 ^ gpm(>OnhD9l+$nLӏͦ;dQPD4}8UŻ^MQȹd'/-V39sYo֫g}FJٳ'fжm[͝K5iؠlHxƍZ ˮGX,+UlN~?<#"*)|RRR(S 7s:̞˷צb`j岗t~]k& x2|$'p̗=F#Q/Hτ|3Ve,V*$9z L$##(@[xA;qа"]TqMbh}KNJ#ZEDSPD4pWAҞuTuIT%DP1 dw}5zf&=s/c-I N 9n}3M/!wHLLkСC\=͛^@ʗ/GJ 96]$:*0|^;2gG{У#ztdmτb際yX݆`׫sś6B0jV)>YQ[%KSBT!1 ${99aAzUD5.$ N'do2fŻd]J0f| @` FNeXwÚCT/Vq ǡ⟈Hn("r<;?=ʤqcz ^e%vG$=yh/""r/_vmZw~.">s*W_7%;2w|\Mzuي7,É;u]3oO" FR&l>Fy{zҎǮwݱ/__N-צԩV5~KQFAbMx!>6taf3ZkÆ gI}~iV0e~ڒivbsey჻01qWD$~"$9؛WwoQƱ"""gV-Eѝ;'>tW|GBb"+X$ .wYj6n溁2IB)L`x5cj6no5l.a?LMα_i_#såa˖NQQ8v;NK7IM,NvxoDcU`𥦓隸W-0s ab@i ZW-{/[/V>V*Eкjg)of/lK8 TC?EDDDDrkM8^M.^]PbSHJɼ&`06|s?NFaרasƗYosF;^ U aR01/5 01LƦ8r<,[I!vJeSڰL65X+.wY8Iz0U*SVBF(BTٻ-60o$$$;cdhc۶F()+uޑλkYy*KV%;@;lgk> 80= LM V2M> U{ Z d^>!xMz%@`GE`L^ z<=@n=IWG`"4=/   f.0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@#<0@j31qcܬFYF7n֭[ޮX,&IWIIJhm[M p86-[L.][D>|UZZBYp8V577kÆ Zp>#婦F'NURR\|*vY˗/ׂ dq5JӧOWuu    $Ix\HDXLhTXL---Zz5w\͚5K2evuWUTT8"SzW`_^CɓUYY"~E"Im:>YxoWkb}^QI}>TTT&r-:ug;lc|GUEEvecyk$I-F}C-SA0ɸdʸ2d;2/?$rQ<Kw)tt~#4s M9rMׯש@ Ыqx63gfϞuݮ֖?K=#ct(ɸN"K~]_1Num;+W,ڢǞHZ0L^eY,KizDt)8K2.Of͚g}V***JT(XZƧgӺ )27.qRGw`DŠ+$WŢjج%qo&+s|-R4UccƍO>Y`˦&I 竹9G|zܥ̙6j~y^Z:9VrX៶9sdn\~_H%EhKGYI6G峻' ŋ+zx.;wfϞFk}^]Q]UZ:\:q;K~Y?e 2G0X@\o,r4iъv?=\h|^"0` /^o޹~5uj. dx~|}xKLW(9IHf>#۲_yz`:$%B@ zz'rZ 7pXs***~#ϨqO^eCFɶu*\Y ҂T ^2+/cϭKonV^Зz@@cƌѳ> <wme]dmmjy>uu**)Wnrb_jy_=IU%B'+#W>; ǔ/[O(1׈#?Y9^97O,YѣG#˒:fk]{JF:uy3YzJ>9]!`/V}ђ_<=Z\.J lѰaF emmm;w &/Ko.2 )-+- R}G`Uŧ,_b!¿ f LpbT&NQG IDAT1Y]˲,UTThZti?зAkڼyJKK,mh{**R1~9Oqձw|k1⎭c)r\[X>ɲ$c2?wK w?lYV"˓+x<zj#knnUVV&/c$2zݠCUQP&Sn{UYEVE5#lu\I&0Fd,#Y],#F*kkkT>jW)^-6l8soưcd[!=JՕh2֐!CpBZJuuu:\|֮]ZIqOo, iDe733,G9CʇWkkN<5W`"WpDpTK /Pqq1k-]Be{ҍJ@'UjNCDkx+ԩZrYCP"%gT%!ʎ\֢%eY2ƨH裏>FAn޼Y*,,1F~[ZV JdޕT_y24C~_6l;-ͩ*f{/yR3mϗB>eP  $ۖ7S!_/NVljD_G~T"xQqh%~DjŊePWV^^1dv秅C}3¿v&}{Æc[TU5*mb;4R/q_>V"mI]Àf͚eP6lP(wsQܵrSUy=fq= ҿIK\UИJJJJeiZ&09 wgjD1joֈ쮉C6l1eeTiI{=ÿ{RI@W#$BEוU1uxGW]vvW;ߏnS%7{ud\W-D @@H$1q ޮbI%3jd;JKi}J 'zɎ7Ɋurl)?䪤h9e/pҩc,#>X&+4wiLjeR*SVE$>@eFXR3F)GTEX` 4iذaF$HC-FxG*KTelݕvA\k?kSm*,9OM_P+/;G]9,~r` Pݡ$B̠ߧ<cdY" 1= Rp(Xrb¿/[ Bc6]aөQHVLUc4qn*oLgce Եm9$WKC 争SYfPFrGeq~9VI&{u__v7Е`}r՝o\|y:qvMMRǒ(7*-SaA(UѡlGd5(#FH:::dY4~t@NUƉe _jqީ3U(\_j~{Yro"[bZz%:`Vu09]*kر}!ˠ ~ITVdleΰ%B7%f胱h㺒@'Pq~9zgC uonVIp$)=L#1 ,S!qeY亮,Ji,Yl2Jƍ.,]C#!h] ږb#3+ۖ~[3NxbY]wݕdEEE:uf͚r|>9t^ϢG 5ǐuuf IL!UU>Bd'ɸCZ5ϖÐgv$O`d'#u},MV!CeYRKKLA&+^z%DtG*)=FF禖Y|קDP\vO #Ng6/iw2BGc `*sl0T{{M\o aP'ԤI,qRޛ>H9 wlMU%ʿ/eܘzq2Nky\rxO遢q&HNbV*>'ƘY|]2LT)9Iqev#K_ A75ۯz]-q{ﱒXL{UXXd5J^jjjT8@LS/-%'HTؗ=ffNlL˶ uứ :6lؠj}~?>>Z%%%Z~,˒1F~qhdL~|}.Yi'K/2LZKnbf̘]wJuvv㎓eYzo}>8 mڴI,K1**FhĐXkWH}5gN33=I8%IG:pl;9+Vhƌ=zt?'@Ijhh̙3tREQٶ-1ehH_:zFnKVj{AXn!]`fVk: Jܞh;vfΜeL(I3g{˗+ɶmbFURtnĤ]2Koe 2vKO :T\/Mzjr<JE7NJhUŰۨzPyA:i*֮]+۶ugkĈ^&0 %T_UWWe˖)&&q6\8k:Diq2ƕ=o2_by+ t ؉~4uj|>[{^Z>O_USSfcLFU8< hر˓1F>O@@yyyp=j\,/ؒ8t|V*LM`$Q mUNO Dr]ղeTZZ?S[65IN8t͟?_9z0G /#G\>O`0k{MzpZ9I ͬKX/W}B>*tiڴutb 544=v \ ओNҘ1ck֭PYY,˒$E"q9Z6lj˯.i G()q8]2~*+/?KDUUCpXɜ5IpXGq9显v v=zTYYaÆ)??_@@`Py**WAA>ܮk6kݺڸi+)q%cPiIˋUY1DU>XHDmm ;FFyfYFֱ\YFG֨QTPP Rg$.tPGU~^S)NU@coxF:J^$ICt}?Q.gͳ{=[":cdUp$)ޱT?9DV}u2]_ϯϹnt7ѿZڿ$o=Oc_EUuj=߻N!y[h̙wgmKq?ӁHI۲\k^l蠒n=\I|>7^'L͙|8?9>)o?~f\Z{>>llә/'j[m:dܗ֜\U/?LqshpuYOn^-k\pw]҇/븋/0֬_6MkV5u~,$_o;afzS66Yoj +ΓSDzv*]+c#o)*ٮǨѵZzZsOy9v!ꂚblROT]$7ZWQU99QjjiվE:)o6$ئj}9:j\*GդԶ98מԫrk-gi::AiFꬕ^I~:[u˨Ξz=} έg鎓hASk{Wu9Ǩoss_кHtG:bi{mg{ؖ.)w\TjyEU^ڣN'o+7=tzu{F۞_ӟ'?;U~>I?C"l"t۵huhrmw X(:e:C\Z<﫱5c)ڲ".ڲBLցߒ|,;Crv}=$q3F>_q Zw-Z|V]y3?T5t"TW]co6W/ߧIvuz7\p^]\8_~LrUv͚.<pxKZQMkV'Nu3S߯hj֘$IcG SZG.>_*FѾ_Cb}$izwڌew}Us?\}FG~㗺ze=?+I}L5+s~zJ gBƲ,\_K[u7:9\M)}l灔}_5~~jݧϝp~K@_~QI6ޛёsg;BWOXwJ~v3oa[|Jn==o^~~_(QܫK/TK߼uIDATܠEkdBU2mUFL=2mU)[z?'\Zȧ!_qӦJoݯλT'_󐖮lԉWI8Reն_$ԩXQ҅55-9i{w*OXVE,۹ >s_!7]}w9?˸2nXwgw9`?cK_|zo@v$չ4ձqcGP;q-ϳ糮+_jTbCAYu'[[W80vHм។_Z% v`'sw>G鹇2N8ig{.i_ytG!5ڸjvh=?Y0Y V_Vmg{IҒ^PU}f\ϒ~[~韝\OJݤ=pM=ԲQ=3uwYO+ɖw?}\_x!=L}(cXá:h0m */A(,.K=zw50Mepɸ^s˟~U/^Sc,|M5SnmYҎ|l-g>ֲDSd999i:o\ƻ$7hKzSp={U2͹ MȌӪRwϤ{7/mݡ_7 5P:TӪgP:?Zoo{5s巴h[7_g~NM]\X7}ķ]3кʸzk5>3L{|ٞ~ o$W3ٶ8kWKQI&UK3\*9VsUs}6JN=4W=Ww}ιl%^`,ztwqڼ=]8mͼGɵu[S5QkvoxRTW]]>ۮy?ukuں>&M յnsut{Fw9M{שV7;I^>W̶ּ'2g] mm-jkin=7ޥkuҵ:1zw?m~_o^Ϲsu3r۞E2޿K.L/Z6>)> lRׁgK:?S׹w澸oY/;ynd뾣C/W\q<zSTݧ۱ohd$.=S{M᪬SR߻-eZ}Et뾰OVO:lp U7ߤ)U_:N>~.μU {~5娹9'gMiU.@߾GC}.z?4ja֯*״>;WO߾N9D/+G6z?8UjZRW _lmY+]Z#IZt?NN-Wm7[㖫{sι~yUߘ~ϳwz+ ?5<_O{~ֶteOk)yͭݳMwDktvzEsvWwӧi]tEǿ'&Ѿl﹊j8v2 K&g졗?2mo_qcߓEjۚy/~ޝS%I@B=ZO/v ;R߸y5xfN9YTsN9ZutZW>Դ~yñ{vf2Po͟?HßL^~***r5ͩkm5Υ;gti5/MXח;nRBGWA~v4ѨC3\qVC_u/tؒmFCW7;9C/}}+>S$'L՛?J-;]|VY5鍷ej)WM l5EuJ-6ݽ$~MqұhrMSt Iw5IJд::ARXgt Tg钚Zsskƫ}͋uіwuaV_6p@:ֽc&םtb-$iQpO{wyOܧšQ5:vyI҉Wݧ{;I'^u_}.Ƙlz}lvUol%iϝ%]^<Չk*=b<^[Ӯ_^+c86?O+6mkԩu\mr?4Υ;r]?n]:¿g;Ek{LPǺ2=Y:أ%I+o0mr#;*sly;~փP6~8o T4Fܱnޣn֞ws3QeoaZ.+{hm;6 fVr !9-?0퍹LFtGgߑy?fU3UζzMn]ra6R?ާ7ܠNw׵ƻ׫FYvvOmnMH'L-C.VA^V_VU% c䙩>OTۿ];t"~yGI^`-ϧGSׯk)-Bq^xYɾtTJOj YM?-t]43-~y6-o)m XU0D_dX>>ƲݩX`YyV!:iꡝ֕Ǡ=@kVHXJJ utacd϶0XC(p;ePwFM.%=}S_8gU_w>7wޚY^I< ?gdN?I޾ǭkge8( X{ RF#Ww6pֶFIM3b[9GĘ:J-噹׻P;$~CU3;?mҾc{q=aQaNc*SMwu8k-履~<BQuѽ,sLabc FGl"?+TUOE\=>k{me-o|7͕֧9"B*)!*fOB&i+wˋ9<00x`pZ1}pJnS1(kϺpJؽvwί (U}λq7s5y5]ȯG`_ruʊ 0zKLA; _NL۾aпr( sPt3  .}tz6>q77DQ6,o]l/ M?OWY`pwojz=oO-CQ|5.ooSYU-̝3k&wV*_#ƶä5S 'm܎7Qqm8L+^ʔ~`Ѐ[cKז<BGssƌmgV iԋ? /ٴ5٦Chwtf^2 @-~a|0E7+>k!TӾ8óτ&`rSTK%+]*S^;1Wg}k//54^+jlװ/iK[{3xu+A pt&l#D|],di@5[۹U}3aGqraՁeܽ8c-{٭;EAإSF(d%| %6;:ΓNytCoڰYSq85GZLouk<߯&F'Э?ƼQ(>x^HuvG7{ ufhY춙k((L웠@P~ 4 4ga$s-g? sM71uUry<3CȻ^ZD$r\}֞ Jvv6vi܌6y^՟ǖ'y.eu&Q=N0]젢+=q }e-?J`".h_UhL}KN !wwtoaLexKU0kX25{rI|:sU999?cggg4YLx#uEo<+r]^~p ZHW\!*}~aM\9@oDɦ99=z}bTn.?Ư>B K&DQ(vF҉88A;kXG|G- 8s]?{u䣠PAI!ݽxkAwy\|YO~Mzji}0.yͿu}2|%:qYMyU[Sl{N\-ڂfB!ʵo9@gqlX̮G<\>hӰ|W&y.<~9':hgM8KCslgd; V e_j:}~K㗳h>ο|ExXsktvcwy"n߻c{6Sͪ? zc~kxǃ172K0w?I39m3?em!O*bj>]?0QX!+}xxbcco*uʡ*Bi#Q[u}$/J^<`U!~)LibtOohLU׈Q$&D_4lѣBX<]&CF]b2֘j w|CmB:>gihmNrsW4C;}#5AÁ7!`N%BT(*(mXcT'ynaE&y..3ٗJICs-`9;et^{s-WVoo7]KW9{vlj2֔]^˗I+Gogr|gih{ΞJU_8o'sHl#M:Q`2(BЩgP\R,Myl?[3ΟϠ* &y.%k(Ws_>BQ9o'1m`VǭauB] !lߒDZj KV_@Zj ۷$o[o⁒<&y.xxԴ/,x.aOХ5ol[ M?Sk}|sW kncF(Z[..f+"7ӿK0y׏X?m,MH=qk;St\܎ؽmJ`!Bܿ?wsQR@TѠaCڶ;kղyŒ<BW@!BT۷};RJGppD!y^$υBUdP!B!B<P!B!B !B!B@!B!B!b¥FOIENDB`rtpg-0.2.11/tools/screenshots/trackers.png0000664000175000017500000035142511403430344017537 0ustar dimkadimkaPNG  IHDRCsRGBbKGD pHYs  tIME #OtEXtCommentCreated with GIMPW IDATx^w|l˦F{Gl((*`AQTPlدU_vE@@ޤjҷμ,黛BxB93>9猢iB!B!9dV|B!B!BsW!B!B!ĹKB!B!Bc6#B!B!8h R'7B!B!%B!B!BcB!B!B!B!B!B! 2iv{8AƱ dѣ=zlHQF4l@B|LnNzq{ۭhF]L|:^(LtB!B!yko=z+yE7ؠ\B=џ5B9 ҫ[[q$:wF@@EQxq/do"HK.b܍79qq<ؓDGGw֭[318Mcƴ|U4v5_\L-Qk>qn9,,6 ͎@td41QϖmQFZlATDjB!R{vd5ג {v_c6ܢ|8RUR{giب!׍EΝ;Ytҙ˗ӱS6oFuҿӧ__b `Ɨ3䍗՜8t8xM0Fc2xчiމ)LԶT4i[pljR ngtrr쾲`2Ir$FeZnn.{!,4f͒ 0c8 n{9fa9};0 !B!D>|m. 5<%\oo@HHpsmFy;;Uz7_-*-韱q&zg2"ZnŦ[Թ#+/w^[! f0uTf#xᇹlg|9fbb4@kS_aîY3Yb׍atWMرgש_ p8*\ ڤc-Y ngML]Nz_Ep::͛ҾA^]۳/yt Ʉfb)Fp:w`_fyGB!BQ#Ҩq3bӳw_l"_YԨq3:HAA~39?5 ɃdбIZ NAD~iiiXYn-va-߇ŋСSGVX͵%66 ""#}5S*%#n"g,V+"$8V@AGԙ( *L5 zw@ppl~˭Nߏ9cO+/1jDGҾm'zi._I&fzl@Mj4=4McޝM%=}̖GBQh+4Nڤ#mvAjr߯=~Z&6&Mp:(:tOɨ<8t0N'ɓ9 zt:=&뺠*Ũ )_UX!B!t:\(D꟢}^;xSé(f1Fl*p:hFƍiѼ9 b 8c3InN3h"#"٭!!z9998uj,NaqM5g4 '((x}Nz[}Nc7iBT V{wikIϧѦu[ Ç w'3|p i;xOyW7&yaV+27~Cf~ 񾚩3FS'w'} JJtv? V>o4M#yDZc[N~sNfӶMG~nCQbcI۱WV^]9s2w Ev8þ(,bObbCX,spkMB!Bߴ"8rWU??~AAǙݟUb+SESM ؽg/N};T+00F^^VłkVۖ[YbPWmXB\"1Q8]҉"<$N̫+ΠC4 UUk8Nw~(Nc%8*p8*j NѕmQ@Ɔq8Nn~ F^ /bg3hԨ11rUkNq8n^>}]|5U'vݍduj[WO̳t¤(N'iJ'k&`l7lsjZVh4b|e֞(|'l۶ܛ]&pW<2ٌ y^]4[63d%l6v5VQXP@B{$7od4kڜwsB!BDsUsO?~Piq&PlO2É@4Ndpsr~.Qejp(՞nfaw  FF#FȈ(l/;;E'..={0_V]ü9%??M[6 l|DfıǸp>m?:bVWTE44UŨ(v=oN;'С]G~[n5 Tt:N6;oM`0cv)?EQ f'_p@({s2Ȉh yy'1ذi=z!{\ %"< zƏB!#RpXwiΛ?޿ 8,SM sW9s뙳cnbFxʸǯF|34Éf0E)+(F4tugv^EG=[h/#&*lrNpA'7/N`@ iԌMQ_Eee(`Xаmp:hҤz בAV(nt:]3O(hDʤՈRUsgE{3}nE4tNeSQ/Lbҥ+!!ڳ=}5Sŵwۦ{L FE,NTUEu:QU4Ҟ|ěo"4$5n~pTyj6A U'T=7^ϔC1;U[x_pppK[ՅGӁN'DYY tA|k1hsT5M4V3uB!/]]9=΅wR!L-y̦,ۼyhْ 7ж]rN cGMyr2wl'>,,O\@U-;E9zQPP+ qƄ~oqN'6 W`4Qt2i5QuOy~y`#22fM7Y:v`-<^j{ hA\?EA Oa44N'NU,'bMIuڋ\UO=gSPw(ݞhh2r[  ִ  獷^j׿p(;vf9xIII{=y*8 B!8/+t5."yj%jacp42N- Rڱc!M<IM;74QiY!Q,}& k3h9[x;G(Y Qfvf#'đyGhٲ%+W}v̟?Ν;?жmVXImضm ̆ ݻ7v$++ĸfdtm䯩cPPO`P _4Cr*&ѤQc"#+6d^gvZa4Н ȹj|{UꪽV]K.$,$͟KF(((b0[h<}iܒY'p:]3W<swTL@WӉ}늋-hgze^x94unhFq́pIX:omֿr׵_]=`)Zn@lt ׍]I B!BQ7M,hbOsXEWrNw/_~]id39Gyv~̍?)7pxUu'_N@C&Ah5*[ն?\=ng&ADLBtQMD 60bBI E)P}U]F\l,9dz-m;I͛xb:uܹsڭ+KdÆ 4Mjƍ&1bcc|5uZ&,ŖS7-<8*II\y5lں'kOh:sP,qtz #zޓVS۫*Wv+7:L!7?Ll2 /3I( XmVݏ|1s6hfTMe+p羚3TKnt8pnrtvN'%bvjgpp0#88sW3s?, 2q7?5%(5px֦VW :Á4 ޵P!B!΄}~/Si_9!&1|_=q~4S7mT-|8kwϲn߼p}K;FDWxk#}Le3*\yqm9BDh ۷N-]+0.#6&>| z*ڵkǂٳ?#=zt?ҹK'l̀شa#ݻwgΝ8FllN ZUL&3:E},]ҤqR3ͮVN>f3g ޠ̤rD wӭx'bٻ [f c<Ovv686Cއ^#<<C݅x񵷸s-5酣d9_ˀKts KϚb9kgXxOk0LUuR\%s=I^^.  *ٗ/((ӎi|TUem=}>ճĶ6 f͊^ p üX,]{҉e`DEEz-#B!X }Myjz\<2i3ۡszEZ\HF&֗۩b~FXkhb-.Z֭q5b&Ԧx? ϕ8 1=+\DZ 2a6 0/(d;vQQ vѵK-_NΝ`ftލӱsG6oB޽غu)R>AL?3bAQtc&dFN, s` v[}mv́mvz'NS+ߞԼ(vpvFÉ^c-[p:o׳f`Y9px?1?tLֆqp+ ([elp`7^8N2|ݨ|\pp:) 핦( zspD{^P_~|̈W{iBp`0ypi۶;͛&UYt?ҧg.z%q,#B!x˸B N}^I Obü kYiχ'Ӹ. Տ._;w1| d_IMTşqm=]XUU l6,+-N@D@MU=i_zw6mHjj ˖-kά\ݺquhˎihmHL}`Ӻ`Ipd4ӡwXr)W_y }zFAU\mf) &kR*t:5#6?^۫*W:uk|5k&ws'_͚^_8y2NOÆ 9]8~,V+?3gۓˇjN6R/>KK=T&6LgBڬ~[T cz 4UR=JW0o`ɛ2z:}V8~ O9p0GX*B!e?J{ytXI{x+fݟ^p;|*]c#f/(SEqmUY=_7˖3oQ\]ouF7\vf{ROk(`9b(**&((W54 =hب1Kz-ttԁ‚Bڶka'%5ЬyS p:mV+&'R X,#!a_e+2|p ̵盳gy<߇I{퍒;NyS>|mZ`00|p&Ç `00|0sn} |BL\{5o6T!(ytЙUkVb vFܵq:|[5+}DI@@ РP^tIe),,l,sS xN]WXX/TP.X!XRwMګ+{e=:9q^=z: i;Ab"_{aaa>zu0=_!B!E3TxN%dA9uJ`*/K^nVO)Yo Eż+U+q.qz50( Lv'#z7`ʧEu:Fnd"(8^;'ϛ _Pj3`L&dn.`XP5  #>.drjg=4OJ"0fȚStO?xxCvZຩSkjB46W24eΚa&ns3Nèz y{z RZRTT}ьLrsDEEF`w(B=k2XFn݉=$(k~'Mk`񒅄1}A&q&zfMFVXNML`PAf_M !B!Dzٖ^_NgtOsεPfc aM-$%5'q6>Ȧ:EFf&E\\ 14ne?L&Mlp&L99vFa0yɧ$;'JӦM$..hL&'S~`Mǚ*,,bZ$%̚:]5UU թ0t%d.v`0WtumYa>rlF}LjY,B!B!D}&@!B!B!1 !B!BQIP!B!BzLB!B!BcB!B!B!B!_@kV|B!B!BW&"'{WM ~;|6}e)22_i%,c Nk>A^ !BZ }v9}˺FBQ]r]8 _Eqn_:Ms/"*Bc{*vFM|'+8,^'ofMj8ws~|Mٺt6_Oj\=g9uUup>ci~BS;FqS0vR<\|p4pzc$;-/*H"##]B,R>؋*Zƚmקl5+9oOyY7c,-^Y8f3NUUQUÁnfaٰZ<2}U)f8Ē/_M!Έ]Iߵ975_\I?bru.:ӞiZwm[,iyi҆K;緻/i;IOjٚ3nډ6߫3` WqyiՖv%g[?}r+cu"% tn AqH6k%ך_ˈNHNiSyɦ)72KGRR0KG6MZ(UNk<==۷i*iSpAN4Oi˚< "B 7⋱e+%u:X0wW|y{zvm\׵#;U6<iຮi۪-́9Orϊq + ?YǻFRsv/GQn.֨ V9Vw΋O^Z_ f|~u[#@ =lBK">$V14歁-lTW٬>oϕ|sm@^!@еy rՙ[kj>RMy˳ᚿٜ^o|x{pWOYg',S^֮ux˹,{K N^+n!׹?mKB_pȣrGc Y'?Õ89Voۂ)g+VWrDݛdZ,[Oƿ擞cV3")d̓9E?kk;?:tpOrts9ԉWg⧿0'¸5c|/{_exOrӌE,ݺ>^ώ]O9.q+-9}9;pV] o\^LҼ㕪hLc-ݰ,^8gѴWdo?2v^"g~V<` #*O)s5[ٽ|[@0NXB+1Ģٶ2]c[gqحu$ᛆ˟<|;vbL>k<(f999[+Y~8GWy*6Ceu4FξU6N ?!oŒ<;?}|=xD )~ 4w)F!}B~zq'[k4WEu1!-x5=5k\AQs29>xl -$ =9cjEz_$(fE-X8A}? 9g0)|YD]y꺑gQ p @S5J3ܝPڞ##!G%:.Sḥd\t^ ߆Uذi+WeԊ/F='y?c,z{m{#_&pd+'@![QNjSfe$nGT1AK;e 5&]f~/N!TG'wWQR!6ʛ?94g.sg<ţ&x+V)Sp EYe]/6fr9sLK\Qv6ƥ\(44g! }@ޗWYұP/xnd :9 dgG >'&yt?GU?*Ѡ5NMcQY|? eg:SlNNUW9.S]V|G\W]'ʤז?W&(ރÒ&p%w8FWi+pX(N w>~==~WR!~V|Ǫ43H› SO4<: D9}[vk6vK&~KrYtTVFT{E>g=y_ޟA`P=c^s_%/EHx)(|_EJ/>rocܺOϰox+|ಉSЛж w2sx*s7dq؛ pg#Mo.k /x7'?]e/Sb~t󔶴h7CfQ\8e>|R[Xyt?GU?*;魏n6c}7*=twM62UB|^!_]*uݧ:g71ܵU/Dw)8|s;t't.\QR6$荢Fyn/d&H]魈wU=zS<䚛䩎 2z94򍍬{ l0Gw}˱b߂v>tHرɬ u=6l ''/O>5B!(o9Ixҍ<- !h#6ڝ+u">>x_لB!D5-c,B!8֥](˯{dDwE +B!B!,W "q,B!B!B@!B!B!ĹGB!B!BcB!B!S4M|eNfepըٰa999>Jrss}eB!D=+B!Y*c/لS r!B!B3H !B!BQIP!B!BzLB!B!BcixWٞWV!B! GE*(+SY/FTB$(K;vhB}=/dǎ4_ENf͚"a9)+BRyH rrrɩ4mg0aM*Swa#ܾ xݯK?dOuLxS>A:Bl!j !5;v2v 4▱}т,:B!_yt 15țG_+}lj-q;\^II///BeΜ9u]q^w}7*3Mh4,<2O.Bhԡ](_'OEX>(ˉmLKN)tLﴽ~G59r:𓧘[؍']əI=,1tK Ru_K?GMQey=AFv? ox-#y֨ /h3wu<)Q^_Wq;w.o|{2ydyyΝѣG}UY#Gr!sOfu'?m; Jq 3‘ IDAT9-fLېq%ַdL^{$dV2!p' PS}'=9vkx$W̵H #(|YeC'>.o^y_|t"mGxإ,v2B!jǽI\3*x}9C:ɟi}>ZV9ά#I}'ݚh5}Z-k:͗{S{Di96B|+pݱ";VĬ|ߺ#vp_;s-l.LW4Wk,7ŧHCd9~=LeTӶTINQSNQNٻ&7@h)vAx*;lw{;*b9{?{ϊ( @JH~p$lP73I63 3jiP($!!RRDPO\\qqqƪc>&+k.k.3~րq,j47eQ|?YxD*e4'F'T*5.ZAkzkunQRއ{VC\tvv&pewZ(LY/-l>JEۼR _'^Ó(ʡ jOrnRo,L#ϗO,I,oGA\W Q:C]u˒3_r>n8;;ʇ Q(>{.(1Ov?2%~Y.hW[&䳔zh=\z._y?ur&ȊSϧԷCMP ̜ÇEJXl#]nK-GrdkYg)gXa: 7r┝vY嚛3JE8:5=ֱ JEVk'vYj\ҎΉmv, ;%.᚛wA1GXT0coǬjJYoɠw^&07eUϊ z.w|0ݲ̄rm 飦S_X(`)gFq; 'Snϓc_̭m|"1bTyZxr!'YÞtUZnگ?Euh7ė/aTj-0A+9 +dњ e 'zg;V4u#!*6w(CAG{㙕i<y2'Mmz\OSwGZbcfBUs$SZbʯ[|%bNAiF7_ɔ_2' T)[wn#$D7KXX:S$,ΫL\|b-U-T2III1*=l}<b}߳'l߱ wlٳ'$ j੫oP=UVk'Yulݵ }Pnruw޽z3g|Y3hӗr}ͩ=;e~V?.Z#]UuIzW^,ykoV.|t5-}"UdEsd/ ݴnA~;[7V[3z@6f{s?gLd}U ,|pNScakZ-2zu|Jx3gq1%3(WX nzcjPƽ@ʹ)^+PxsjY[onJnqr^3E*Zgԏ^;C~F';Vu خb^=|/?ԥ*!3Q*^Y3m0=/0OXaC._2~0bsTA]Ofh^4vSe-9=E7-}_ _lZOo;_" 2PCC_q^*TM28xOFllInp'w,& ؀%Jœx +DXւ\:=Re*>xK"Z=eEy@QG"{G+Aϑɓp-bYy b^(U ,eP.qǒ}ɿq16n9O>fӖC9dW6mӧ\O7qȐ<քFDZd#,C93rsD-S:Rڌ2f¹[Otj B!+9'bO62~o]MLdNПX GuBVrhH3:wAaŪtAnQJwR+[ rI]>uzf9Ka 0̳0m9s.svq'Z3t(9obuUS'qv7={dѢ"T,Y>ñRKjM0`ܑb 퍻9Lew_sVL큫"VrVLҭGꯝԅ)BFs2ʘΓq |eǮkNVBn`ha[Mff~%U<|m v\V;fA[mKL_8[,uN{9+~SD|%H_.xx~%'I>N6?u|*5-g9;gTb4knfOmanʚ1mXR|C֓Vre0c0жt!VM򦰕W+9+0Ejh&}|K [2Z0fvs_J` ޝͨMRҦ 2L(iӄܦeSKho1zثGj=Up:eɹGD@3Wu{QaMГ5Z{jOƕ,[S#hlKx * * 6dB~ _Z{%Bt?S-Z3gO;w6gΞhbԭ37޽DDD`a}9CDLzk'y[wM˙\k !p˭7 O^i'sen oɫ( Լ"{Nz  s8w=Qu{m`d7Y5vz}7b{9Aܙ3O _y}eϠmTɥ\3d!6Js$. S'y!6ՏV?#7WTY.!"'$S&'vrY 9 v%Ÿ n_r2}0m!4)r[r|L)ޝtL?Eo6Us;7GI4LWxziIL2}ƴLrZLY3ewɝsZUR6ND<̍HmoB4w~s3%c _lZvneyyI+9 а13>U}A(t&wJF?%YuGVěź%St9Y2 cOb["e' @iA!N{$"[߻!6dWp 1c$CR_T3^ 4"E=;wwB ݻ}z)V;ރ1nn&! qxݛ3dVlC5tf(o#/S4sͤg9P|d8<뷑&)kV-+&uW?҉ и+#sr~0g(KFו^6KOBd+5*qSꥼ)GZvȩQ%'>2ˆk: m݊2ѼKg^?C1N&_GWqp; ;:lHQPD]cԑ_TqS_gTr-'F{1vYGkO޺VI<S8ґfՊlJiG^D'&O\Gsv F,Ň(>ahmzyc 51G|>? C>.K]*o29 q{ת2 Ӽp'g \Eۣ!!.[ss~#K*ㄴT!?/y{cꓧLuLCգ)1o*WY[ ˽uev(>&>&?VJ5vbѨvmǷ1fu&}|־7 /pznŖ.ĿڔĽqRYfJ5V߇|x5+TnJ fҮS%D2})Sk&i a@L3ё8uNՆTk2gB\93xPuYflo&= `J< rY|eB)L*) @}*ULW7 ךҬZi ҕ gQ1$i<"'TLoƙ83z`qUk Gi-1F٘$^ ԩ3mFte 9J񞽉j]8f֥!ڪ~ !>LF i1x||L$zbY̬KQsRث\ X,dwMɃͫk:1ζ+iO\}M[ Rlo@F6vŠY'O3G,3W#wl;_ ڻ0O lYkal[)L0v~*I)A{PsN9'Ś(=/kZYҭ s | Y3gѧ0flXE&~_ɔχE5Vrk wGK6\?ByQ| q7;7CkOʞmSOX ?Ƶ0$7w3ŷYFGc;;9Ȋxk5Ŧ:?4;eo.oa6XftCe h~!kȰpkn 7Фyk^s$k0geeň#֭e˖۞Μ=M@= &߾}R%ϥܗl^/ 2f^(Ϫ{:׾FZ-Xw,iUKqmUX[|,TM5uĮrߦ$Fދcd(2\,^*KLDTɕ'(^%b(7FVrTVTZJHrýt"i@߹Kyty5x$D|8*׶eoP.6?AAb,tChȟyRT Y8~}+5h<}^3Yn>pi/(ި+bPA}D]vo>@bnݺʕ2e5Ʒ0KIZ ^´_6i6gCxCCپ1w8;;c[BbwAt=4\ IE `n("8nN6/-V0) !~o$~H*9ϟL&#GnZ @AA"(HwAI|TqRaItROAAA`JAAAAAMᾂ   NT  |CAAA4s 7>+sAA~tR  .qOrAAAAA     4C?q     PAAAA~`"(gݾss-PAAA&ȊxRSqh @iO*rLٞ<=}Hw`؟(eAH Iwôjњ#Gs*_IRb /2AMF}THgٞj֞Si}9ocTy?Gl~ui38+gD94bG%ݻw8t u$gthבCG~Ivt(_k=V֟  4oUzam)k2oʯDҵ\~o -{d?6q(DsAJv!$$( MM[>' ;3$y̜wސ! udŪ.쪳IL̐'3C&3%. ʛuKbg~Sf2d2/v3\~/%_m)bX3Q }~*dtyt vYƬϊv&]Β'(G3ƺgodCS}rС*dLdEb͑3S(^oD#:Y0T&*'/noI> Jf<3:T|z+A1&/^|[c\R\FI?4a iAզqzO?28HӕJ2t*)j&2w^j6Ũ&]WjЉP趚}ۧz$ƙfDndBEd}:]SCi6nsdLYpի?|.uؤ!VqyjO|.f41+6y]vvY E*>=֕ ?$ۋ}ϟ З)rSƔ'q*|)>/6ibQ7>$s-vvZΞm_Bx;k)xN |H5'ӠNdyMU&|C娚QN`og-U[Hoi/GӒP:!idkk+""!KKKP*(J Gll1JB_j2]ɿ]w䔟]w,4334^6m+(92y{`[;;#!>B],+5 KܛG ܲ:u+?y{ã\OL.-:%|֝)M12[pkn[3zfޘ~ܛ nTXO=p*C~2eB$g racQ(=>.ۓ ZtYy!JAK YPOfodtчܮ9d23aK7>a[152 Yp96]y.$c\ߗZ6m \WO (aeʁXwz٫ XT<#,Lpkv~ Ϲ?GY>zY*ۓl%|XohurCۘ .Yon]GO,ݺɳo_TKuzHK?}7;\7gjdce؎ /6 ]]9xOK`MLQCϖ 첵F6+ֳuUy?ӎjIuYkR'r"Uesah\9^?Gc<ɆIˌ<{!tm7T,S&Dq~XQgyJħ׺ 9 [e8ַqR/o~5O-,C冶1Am/ϛ.޴]]&9H۱{7^A lX\*,YsRR]NܹyO{(/I'ٲt--K0M1@3?`rv\z9Kf$އE9\Ljcũ49жm1 =v}XtlܺӸb/-*XsɔR&߾{9N򅾰O}=h윝vȊ 9]^=ҫɁ[8s AGv\GӗKOifc6mLm:q- @עæ-y1r¾msBʳg?]e/*ZefYr@Gщb#'e] WrdBM*'[vVX9E-5ތuTFv>et6Xo}} 8XMβ0=> y*ȹ3]]6g?lMYO~{oin&4aZ,{K]`M AQK,M<,|RWY<a(bX|"FVaZb%cvLtz"gˤIf2йH7KFbxʢiX.U7dmMvk]]^"1ex&zf*2‹&2eZsrCۘ ߶jPZNfS+-ʱ;RAH;{7^X[j-KA'fywJOGlWq̙`⣂񝹖&Mj]?t[pu3ZO tJ=?v`Y{x+,J'5X\[|}qI+S!mca!}̱Zۋ i{u;1R0g8;|Y3޽ǎ۩_!E\݃J+T~zk@XXj&9j9# py^Ea(oS&ͦgoF$oFe1 ƿBvگ쳍e/by85}/hEg_CiEތ]M WGr{6 e sk$C\2mx:Fed,95RKc2ڮ7|h݁Kÿs뽄'`vJ]1f0rZ' R6+A.ݻ<[WE{[dűD=^zR^ +o126*&-鹮cfgG;br[.Unhۖ|1>]j?sc޿}OKbK䫗dq̦^o޳JWv8>RAzƶ*NPe l.,oZ\ÀxN{3~ yM #vl m]RR^hKC۶1ǰ>UHkGs3Ԩ;^#tIK&ѷԛ!!AAx+ɞ-'W_!s.T33c?u;*B68?K7""q#l쫯JP-+lܦ:ظ: qQ(Mle 'f;'0jvڮ?y'U7lR{A_ޗ*2:.vMw sng“n9~޿>ƍQĵۧ?sgSbe+G&..F jt9oy^zfvF&o2m+U{V򘛠2s>W,s t O&^{HKLNdqt$<1yS˘ՎO'qdW\yx$U)}Zt' {*)UK/*D&3 cK cſ߿#oa8HD% )Yl*Kڸ^IȬF,N|M.ccdlnŧ:75̧uU,܉=%CA]*7 ޿}/ KT wM6RZ[]gb@"0\Ͳe&l1+! 4ZG/hՌ:cK}].u-U>žX3qZ}1 |9vRVcV`x?wpTTJx2W/)V;;=-G36uJdLשʓuP*=Ǚa\ }A3JnכXzY3m0=/0OXaCKfBl#vji9NNA?ww|CPtA}qr~7l.m-עS|})$(֚Vgp' b?R蛔XxOԫ0ޫB5θ}F!22e<]Ty zx"LQ'fO]"&E3fL^D_\LN~1nZ&pk"L$:M;Ő~ .w)ɕ Qƿ!! 'P ];r%=dn'; 1Ęќ]겼H>D\e<я80N%sJR鱮R݋c8D3_ QC>&Ћ.՗}Eg/|fnUri oM CҴ4GkKs`!9>m8t z7Atr,|=v.)鱮t)Q=lM ?znXW^JB[k `<~ mc |co"C~p{}hF$N⢟ 76 nfvLͳ`ߋUK<ҏ}%(1ϐO7uqTAq`05Bp"Y>{mQr>Uqla!7tHϤ%2\Ytl߅g/B026y-NT2-T W1L O8l7y=˘nɔ݅'wΩGDD6ND<ܑ1TmB#)b K Zs 75%::333177KKKȐ!VVVDFF"7506  *|a[MFF|#|.fJRUAAǰ | 06gN"s\dwT*Zd- 3E^f)"##Sزz 9>?Ѻ6]40Y=2d,3{zNDW,ގKףR)7\6?Cai.`QV-QF4'75GNdXq5mX=*L&w&\^  ·U &w"iVokW8x5nzB?KxMčN(B0.Iưvfź]Lw^Yҭ s T4zcPSp"bi׀{IJ>5:geSCLsPc*8'X+gQ9ܺ +Pw\~ B_O&%CL9/gsN ~lb  X1 2sΙ3 S۫.fffBAhb@AAciAد }E     |'&AAAO z ߈     P2>umR!  2gN  |      DPAAAA~`"(    ?0AAAAH YbƬܾsK*TAA ԔQ29(ÁjJʟglT˝#~Z_7*mVAO"('ݽ{#GӪEk=ݻw?gggSht-ëq$[I GmTG ""eO[@a{ƒ{rWaTy!i:A!sub^^/#,shĶ!J$wpA:HΜЮ#Ivn5 w&7{ƏP*H ?|7A̱>13ugF_N Nt̵]Ӡ.Y3D2PH _ݻѣzɮ]3(y̜w`ffnTٙ~B{sB)ƾ^CqwoǮb#.kVJp`yļ>v**~\day`TyV<:'Vc\b_T9ۈ/-! 'z9;9?5 ~sTtqۗ5&}|"dcْe)&jenb/~w L6d3@t찝hJ]"(|ucƌ`gܹ2qDGhhT:L= aM< 1: x5K#N\>O5R-֛ z|:t~ܾLjs7xps^e{l3Ӧζ5{ FXwwXvKbhG{;f}/d̽t._׭1%Z>$KOj`?|[(7#iX .˓䏳Vl uc(j&[3zor ]x` 7'X.ǯ^n˝3 ?_>%7yRxt {VCs$?z/JEۼR _'6;;;ʇ Q(>{.hwՔ 5K~ֶHBJК^Z0E]3hr}H4dm~q7zn0[+\,1HV 6fT]~e#)vruWz{~b.}5>Z/ă> IDATɒ{DP\ ._>a-rYY={.=Vؼ:QZNIk9wdzK)-[Xέ㴖4V#WүUsx4dpSNn¯84ɓB'0s<*âAZJbɲx{wMU')v|PzYɵ٭ e G5TwI;JP|,SחWpږL\6ÍY?imwrnPDh+Pέ!QQoΟ);57o˕pu(k6{\ٳc w֖k'vYj\ҎΉmv, ;%.᚛wA1GXT0coǬj.〓)f&\˥wydtl}1W"Μ9sۧxHEcnŨr"$/BNг=;uX?浦_Nn/_S7.2[`."VrVƃN ##vhFB3U7lPxƕ9'){~JmۖRuiVf1ۗu&}|gSҔ~s3@The}cw8xN9f\̓u\5IMŴzu.eJTOC|]ReԱ̖5a?ws6=j'U[@)ɥ{xݟH'4g41mܹǚ>,7Vgl.3 獷?jr}΍}IBO̦ViT{{^&Tn)WЅuV@3Vx}(Pr0W0M\.3s0o'O_ZrYF#</VktU)-M@u<؛xwna:SVc>i'm(2e|nZzRaT/ȼطFk.|RI{eV%UY 3m\ﱿw{s%x=KD:/HӉbz/_ʒo;zlؾjV̶U+ز= M- {~+5qmYiz :\iu4#y̽0l-U돠aW\O\a_t󞠎/Pio0.tŏ@Ҫ$k9&EodF8GNmdxN:6LPC-NkFҿ2$ΐߵIvU]&w4k5)G36uJdL:cLL5 0;w˗̄Fx!=UPӨڶTY v?z{Ot@Kc/M֣R˿R$sKaAxԜs{(B@X'yJHYd Oxx駟$MnT wX/ K슂Ʈb,IlQc[KbFPĎ"( 9wݽ?]/{DT0y}ygvw2;K"Snn.eggϧLJOOl w-O]픐OBbcchX%&21-_bccH ((Z~ |Lg ՚>ĥdJoTbW-[M|ʃAr2Rץ|+(u4!U>&=͊.ܤʲ%%<$KގTbffϒgfeږ8|>%k[ ќRXbʵJmQU_}NZU{MZJӲgS7:|屭ՀN&k-ѵNJ×w]#_ڎs⨅=3Se&SZt[g1Q;|~e y{8I!e<^e$U1rxeUvpjR3LHJRD*! 3 x=~8IQ&_4M܁hk;gԶa1iۆCҸ$ʹK4-jp:YrKw <k)vhܑ>Z/O҉;Zӵ>$.x)Ly {Mӛx98EzDlƶVnH_L|:l۔O]|*_wIT$dXk,? y.|5)5t~`q msq1 k[7~>>kD=_P*,sAh2Z? &wJeEqp(9@9#_-T_o$f䡎⑎:<$M}%!=7ղW+?~QAq9%r˼JA* l0ιTmsF?w;t1EZZ"lTǤ !FŢS9Cн/t?v KN#5y'=GUxekw ?iio`ai-!;b&:vWƒ0/ =f'bUrX^LX,ًK'Feڎ -Ü_N~]}{ ]&; jeI6gWDistj` >f:Zfm;E=׮%^jzlǫcׅ#.}@ҷTWWVͤbž:- YU_*ʬjR+ϧ|2`{TshYB)7_!OQ_G[+U+K^g-59ϑwA_bܟc }5Nq qLƎaZKcbyfN`>ށ#It|E``_+A @ 0+hv5~6`nmtRqMKQB%nNg!$ܜ+ƝBؚǷLk(ՙK}9uƴ}>5v9ӻjyIakG qDݫ27Š+0qXg짒6(` |VlaS-oc-n*k;^ĕo'''|+hآ W`l2 6۷aZheE<|D_h3լ[9)Y:hļ/]c 4Bv"zJaU,,̌{jGyh:B[îbyHS`igwGifeRgŵ-{|BT.tJh?zy#OBo0g#n4uT5"]J-J7*WnԘ>&'~עگ/ipţ{PSk>jVJx ǢGZ Qħ0w.}n:OmQѺ\9j tƸY5FTU4r*۫pR?X;&C-U1u& ЮuGk mZu@ТykV-m4{SУ7*Ç!1>[L:S>>Xn5|||<<<1.(&N8c`Lշ xaB3(Aޫ9H¼{qJzjI2uر0 mx1L%F.yhõ.mz ǮɗEo_ ?C@"2X7rW>yq4`\ج.'@u[u ۀ8q ^anm A߀Tqc\]=vJ}ǸdTAҠh1d;ʐGѪjKz`t}+hP @=8!v. ЈŐ告0!p6jA1@*@a\\5(~>$F`cH<]^ ͒)_(ޜDCso)S|?7sAJX $(' g@M3*/ !H?CޱXlg(̏ҡ(l/?7e6\mS2>U=<⊂ P(hQ}LĚ(Aֆ 0p[XXXHIMB›8FBRRH>$TVwCޞvo@x N߷E1> 5oɓ_8sGTbVF1Vu[tVfo.QR~eڎ]^;|=b14Urv hxpS 4ךLg!8]aLFFa @`8d>/+ Pé7j8ɪ h%a3h4,Pw!n4ÕT{0o3='aNcdgnEyuqY/pl۔OU r( V3ǰ:5鎧P0|2 $6'[\ 0>B$F_ QΨLϿ6`ǘ!&hZ3{9(_Eg]ĮwU/]}Dg%Խ).4,}ݾqԫV9w!_UH(.Ͽo{=>GG~ܾ08W}#??*U? LD*T*Enn.K5}2?z$;GwGmap?^ǗmN0 ÔbQ۸"m"JۢO$92+mac(D"hP"ʕ+P+ y6=MmNMjxzI-sPEۋ״BOIu{ҥ ̙D7]tBC[LzjÕajeL0 0eW,J/ˊ#57`pH%Ym;s 0%Io ƿ+X2]ovcTլ No*k* z&M۷Fo`wͣj>GQO"Cra) v 0 I~ P###XYg/U*W D yS/J>Cޞ&{)6 @o1Uڽ}k$ۺqe+6x{{qzookdaaa/y+WElݦxÒժL3T| YOFA,JD P\<-p(E"a-;zvm .U/K_S W85QpT2kOC̷|~ ڏ6:^(_B9vjȋO E<Uk¯W6aaaaLۛμcofa)6 a4+aaa֐0 Ô*a8_aaa)t,zܔ+aaaaa>e 0 0 0 0 0EX 0 0 0 0 |X 0 0 0 0 |X ,)VZgQOBaaT055<=m,mc+s:&t=Z[5^ܨRralb Qx .(,gFE>?j*Z k>{fW0 |1VVVΗ۹1I 5({:yAZ!Q5뗨k\9yTgLZBu9|lp䛺(W~Q)o(eտe s^ۥ>yC_z),P%&{#G?eS#$־],JOk lꂼ |~ΑɡX w+ [Y`+ /ӵ,mjj s=}]MMManfF6kF¯|ܯ'GnXa{;L.옃3yM$\>N5`kQt'2#qe-1GwƶM48sכ<<W O}3 7tQyx.PXXnHc0Yl(J{KYiom۶S^^I$򡰰D" *(( ?~<%%%-Oga:ʬ! IDAT!PH^Ҏ߶Ы$ )776lZGQQϴx~/mִC_B@ 9tm漺L}hdJ/Эl!5wP MH1$4pePh4y nӬ',PLA!uo*O?;9"#"(tReiµ\QfU81}iʟSEڙG߇R+Oӛˈt*dF?I?j1pnQGk>a9:GE_>GoJ_:;i xT@8K%.Ti?HyQBDODeY㞳mC3S3T>.J 5ʮ%Yٵ Iyz\JɽQeRt+}re}/eJz)Yl۔OUR-SDB=Bv[wV"煅}f]wt~n|52DqI"H$)77S^^RDDn:zmXcP# ǣ1թ݉_^H)ȼ@[:{9ٛn$y`@jooEfx*0ѐ<ʜ hD rdCY}ERA k@nΊPxݟ:X)M#JЕƒ-h׵I,|Cx޷P>~߹Z8OBMWp4Vjv|}\tB)W_mlҽ4{t?΍"Rq.I7_+(, kW_U[HZ') .v|m8p,*3͆Rl߃SѴv.愼s(9S?GZZQvA|];ז\j]۝ȧx<-[%vhXy@T@-G {W*IdrRI3'"817~/P_.u:o: dlyQw먔ǕjwSvctJٷtc;`ct"nINvt27Ĝ',%YwcT"t0 ]^ KѬbg1bbxe5d;Ο=  }8yQN j ׹NR~vTm:]5ps`k&p6ƼWoP ;?c]`w0kĤf3UYp M+A C2sdN#p{KHEoiuך7tfX:VT R,˙Z-FjB\C#nǟ? /W̉Sqr,@?s<|}Z|VM\ 8Ck uWӰP㓱):ïkc뺸,+qmS2JC=J}oj9 { N5iM;` jF62{*bXNHw[)!!B!K)2R.Ǵ|R!ch5*11l.ڻ @k1rQ(&%G%F[~_z8нW/SQ#NƐy/:uiH"VHx'$dmaVt(>M>U@k.^\unHʟCv5[(_աw8ӖԌZMA/ EA!55/#&5)>#\#]ݗ%a\ہk/CD${GV6wGǩ ]z+2mVDDBrqHas[GGjӶ\1j?$:ʶA9NXDVӵM+?'<|ʃmFt)]ٽTL Sp}]<(3W$јO|i.#Gg9ģ3%gkE*.]LɲX4M܁Ψ>6m衖n>$mpqYѝD9wIsupB N'"??KζuNѨ=E_N׶G1$z}HNњM!qKy uWz/'߁\vq˒^06%S#0d:7컄~TUVYowmQ1Y".7ЀܹB)%a .uڻd Ԙx ڰi-}A6[npe)>TBU`\\,mڲ>{*f*DDϟG-i5RzƼXF%=}!^ $!¼d΋3s+bdūęjirhHS^%G~kqCrqgcJ$O{uߦ;(x]S WLGY3:ӵmUd+. dm'#SWI)-L kȧqmCDtb64z2{l67CjwZuK)zp8_#H'?ؔf^yK j֡ī*k;xۗ M͘9uŇ ߴ&"h_AAJt$qAF:ǣ{\ˇ4:ϽwӸΡsd K+>m4ˤԯS#RtmuWPX@VwE3%++?SXt'j':51u]\zxض)Ź:y=Rf鈐R-5):8q^b 8:8a ʼn ueeb#"}X\-MZ^}||vjʧyxxb\P0&M GGgmupz`͔Q*cZujBmqCƃ$c˔*B*M?@\(l}UTkpKu|6V+I0B?#=Jr}yq4Uĩ1pKOٿզ`> ^bלoy<}ߨFd=ť=Q_%@u~oA IHA ż 2d9{wUݗ5|SZ~MaSCy(̍@an=ibH~H S0jq,i]#wDP1ZV('TP~C?Oم SbhL[<+܈8hsq)w7U%XjM? .xM})2LiS%r-KΑ-qk?dHDoqs0XxRyUWSxK FRz~2HoDCsk\ ٹ=Pӻ<뺃+cHnx[긮2CwOmqWHBQ]nG{>( NaׄjS/NĘ@MDM;wFΓD"\JNI\Hz<egP]ÂjZѴ&t*W8':aN3ǎG))tiVw w%%%Qbb"eff;KQSUI$k~djfE]iȦ'ⓝ25&k#J%.`%2T^(Gʓ̭KJD]"KfdnF{#*SϿ![dj^ZQA'I[˛|5pBf5} ,Oũ#kdM"zx[t7,ףPʐ14?qi*inDk,ӷ\Q]q+㑩9YX&;IpTGUdcnF_HӖЅԷM]tGVE]K2tF#SV.1t9T߱Zq#$撳22t!sKr%婔Х<:>e\OߪΏy?"3ɣфLjuͯT;3 e[Ѡt'\uqYfimS2>U=NI+FтTᗆ(=^cc>T>kr~(9dToJLLıGѾMGxyB~~.?yny ԫ[UTCT3\>=^ey o j:=QäߨL;w15z7JC4nUG)EƃQPP֮] Pʕ+c֬Y Dƍugn <|||׼W8cwѦD<+yV:^aĮ)mGcq1 8HLLDnpEddf_Kxzz؇{M=?ÍlZVSQݭ<υ1yeJKWq Fƚ@*;cQH-`~~F-Fp-%3:c̝Ȝ9߯ڋ,w!Sj\ҥK̙3Do1t##3C[L]C*ɂm8?WѪvI6gW0 Ô^\hR]3 S<wn/B:tFrwHR==WB@{w46X BRj龫#BE#'K@Dl*"y%yR[q|2+Z"9-C҃4tMqi<]֨״ vzE|zakX-W%FUM+eiBT%O7!s4E\j2/Ѻʴw<]>@(% "H$&dDo)M/T/`jVŪB*NC!]~YR⮜:PUe|&7~M]u]:<-2j[\] G7CaC|kh@sޤ;n93&rl]] G48_8^h6^s;UvB-8eS|lu>thTV &Hqwņ t^[}c2)9/R_gÌ- {Ն(;Bnjj^M]yJyʏ%vv >Qk!kQ9G|$S ;L^:7>60& IDATS Zm]=+ka/ztض)] p[7P-K6,52ܙ3gb l޼6m7nĆ n:]-™3g["RoKzFDzE:C;}^cz\\7Ux,=HB H_{ hMZViӯGG>UgzY.<Q23F*5|"c]sL wŕǞukH~Cq-+vپl1ZNӘ>+z1p6z5w<̪UU~Ƞe{rnA^u;AZZFk{k`a<2{l~&|\36%C##<0eɆ_M`hON,RJH$JJ(,,H$H$P(@m'O N:ip#0cCnpbg? 6vFa3ylu,N6MrTS _wWR_)CY}E*_Anup(2;99!zx gL.'nh_ ]]xsH +/}!=Q3ANjUZ^%/G:v#qS43]ns fSW?~i`ܸ6 :Kׂ3@AB^C6{"˽''/SXs%c>;x-Ou,UѠ18Y8k'2-< rmGȉmia07.!Uskx^?ʂغm'@b$C ǮByiMе;xp8[0'<\12«Ccxi?AΫ5]Ldjj#ͱj[/{S.g⯀F𲶀 XAPff2SQ#m /C?i^~xRBu[򄗵jZcUwr,ˎᧉ;ҤvnSUb&OukUYf &O]SMitw~,B؟DPgPNvHIīߍ6CU؄c/q.heET0jU6Ɩfֈ+𵵂9v(tq$VhmokC\ eEe=˸_`PDXvkkdJ"E P}("6Ξ?hKJcN񿐔 o<{ ^(˾RyLYӂI -=bp \nKf3) V}WLsT{=㗼sB}eגyXm5xk>Ä^*q1,1S+]C\ ba<̟5VfLX=L_NV-[> sCWk)ڭ;  {Ii0 SqI=u4X5V*IpkOk: /X̸1: ?vxf?\I7޻|It<|ǛuxmY*NEs ؿc,5^}Y َK-D9X0k\N?Oec{PuG"z!QNK4{X}=|nس\>:>~bbﶣE7 &nŔ)qc7S  "_#:5 Źk0_W\2 #SP3z#~1hc\GE E`ByׅT}a9(ϞO1Ǖ.#g!bXxVmٻ.X"NQCj?q-#{i )F}.^ |Ûpjdp̉Sqr,@?s<|/?$~8<rWB*o4vDzNao_0 q<>1;Λ%Fp*>b`:zJ*[-g>mJƧǙgô+aZ̗,y5\F~\ 0@V[J{Km۶%7600b1D"OM|>233)==)00޽\CV:7L׏ ;{?-ƲZn k;Jwԧ_zzNөi6ּ<ӓWuֵ P4g@6po/y;6SQ?K>IfZk[Fήm)tFsrvkKai/+vwr+yDzW}} ֛SzF:Y[j-W}ڞ7mj)MˢM:ǶV:\G+_u|zlrGq e0ǣwxHBftU|pTCx<+I4擫6ubb/_6W$s1NMjR|Ft"e;OӔ(oKZJrʃMmzFu\rut'Q]ܥqhPӉϒm]\ Ѩ=E_N׶G1$z}HNњM!qKyomgzȓU@kˉ)#bS4g}vcOGz.*gqTBfzr0 6%c#k6EAʿh'RZmes52Ǣ?;Io'G^].n޺;_H8x zvTTIgBѺQX7QS*+r/[CH/;[HC{#uxHHӓrqKBz,Plτ,|=]0B_y<_:I8`(_Źpa} U+ QfXz~US>KJlr~ OĊNylxb٣Pԇ3?7ϪQOwx]zYVRw0L uܹ{uwB,oݺ#F֭JЩc\rׯ@f͵Y.4$9cO*2/ނg B*Vt$e&FqpDBbOPԲF :𽗢uRl|6c! s>{nŜI7P9UǬ\W9u3R,M `_>b2%p^xv>[/y?o@*ޜ`?C٭"^>R7VY ͟~V7i}k[q޹6\\ӑBF:-bݺu cPJ4*Y[NEk TK&񽢽I|Ŭ8㾅ufbVN{P:.Y9ut%##}X}gþ``Ja|ʬM `-y.T}Gѐ8%;M] cw@-uw݀D!c  }wqfv||F`וG&S*6Ïf ϲB%l]u4t/3)ƌl3_'sn*w8}}z;3zlvVk/ߝ0b:}x,_W] eΥ17;=˗VK[]1|$Ks'נtqxk'-52Cߊ[6=j1 I2DwyY!ee@# NߦJQup{/ m4K=_uX=/2c3X[S熨R {C7-)*'@u5g:5Kwn?3#!x]ûb_>2>ť=4 "#N ky>A_?g:zMU\Rֻj=,:s8lѹ?6ϛqS`SТs8m/8ÆLͻ1 z؋C*N|QUyPe5Ō/0|,r=UƹKSg|EBgL83a@4l:ⷾW@:oҸ@_~l~fWB- LE'_?~oŗתrf@zEjQ=՝3]$ 􂠜yKͮYC,d%_?۠w[yL$ gDKcͤ?( V瞗WM~EԾ)__VnKO9;1hӟ/}}zTl2/ ´:RC/ˮZb)jrP(T9` _߷tjSVo>hF}P _z MBVR%JfܲU{fh4 8B~KP>`Κ:aW/C8:E=:𽗙}+uC6b|mseiT Q? [PZ*nѥE֊:;:ӧcڛ(\C\v Z]Fp!ϰ1{7w?3Z,Bz*Z#ikShsof4 Bfhȵis??ɑqV9u0DORXC{DZz_f!(=Y;c|2l< n+~I...022FSk*mȍ(i8c`̒& A^WɆyFj 3xGY4'McKݣKGB# b>h2q;pAu__{6ҿ i!W=DBザúC߿#ly8+ fE+öt>Xp/* ʓ,ڢg!h<+nBbAp606E!0>Ӂ/[7tyؾ>r;d; 1\[k*s1O@.=p}u˗#33Sg_…1yd 2>>>Zӗubb4FѦxܺx/z_hB.ׯ^E h3...9~ݏX, 01/nAx~OuaE+W:$|~t#y²b#@k7cbb4*TH>TR)))01 {V4`KPiӂ;PL~ J0ۜ-aE0\$ 6IIm4'5a$ -=c3{'7q =}ak}7 x=w!C ::Ѽvv?cl00 0l0cPay @aL.gχAhӦ-N-?}Am?[%xiQ8&cN8#1릍U)媘-">}&F6?^>n'!qu43ac0mwWv'lqcBr'2yrĤ _[#!9UGcggooo|x{{?aaaaN Yf(SD,[ZgEyO?0d(LMsܸy\.W>z)")[!& BNނwi+r;c?Q%;ΫOҪ:<02Jf*Be}")*O(Tq{ _jWtٶרPOD%ب R j-:ztP5F @1+g8Cſ{ K %3eaaؕl 0L.q`/ʐ۷oG>}P F WEb^^Zv Ċ11mV9:qX3?ljB4[7@X3?v3} X񛖡PrF߮ŭJ84;Ona[^?u ^? [g_\ 0 0 0 0L^r*}شe3޾} 3=r شe3ڷ*reChpp[6eD6'Gf֥=l]:x`,5TGiykcatyÍRy-Q?> %)֬[؟gaaaaa [:R)B֯V/ 0 0 0 0 0jTF|= {EKYSPaaBI  vVwj3R߇D}G4pA*3eFTQ 0L.W XXX0LyΝ?]{x˚d0;}@30k۫+NAZco?f` 0U!CS>L8(!OMtF.x)nbAh8v)Xcƾ{OX ӝ8q6l?WNʝfHJJ^B;@u"-'tyU^;{,uAmb*uencfNxw<ӭ qYco;Od%,''(_}-5:ㇴ ebe_;k\4a|C?U~%w/vCWzP(9*Za#nMmu^$ޯ(qwGL|JwK,QQ'屆\R`u}WxXCjalߕ>u0 7*XwP(DeنKжzvQ(U;2\ jWq]^n7׷T8Ra$pidutpe~qOen'Yھ|ʷeN/{JWNS~)KB[bRTɎbKDԲx:8"K'QH5 1:GTg7R%2{_STzA^e(%ߍu ߾~:+c*/] gntV:*4],jRYڇBsTZ"^NGC]vGB?PKfFߤPeT9XӇskGپ&}/]HȠL)4_Ճ~Qm  䯕vqpI^pks|4z_w PrA|X.ed>Us%D\$"ϣ(,yŚ4Gz%G\NY # 2dI$ʒ?222(--RRR())(55 BwYοљӴb2:ISfFLzYZ܍ܭ-œ/GɏTb/F\(ȯ^@ PyHD_p*nmAtUh#k^$/we*geAų } ٘ i%kCڈN=KrkMz5GYdeh~u,Kɟӓbީr,ԝ&!"UhåpZ1Vs׌6Vm#"v/]*e.٫g[yq~~<|mۏdnȶK)TӕL// *XV\Qɣ.-iן7w8`3sO,QTFteSe *85drbXg_\\А!C:Se-_D-]>{BDDO=/䝀W.*QԷI%iDDh^X}I(&KB-ѤUb}/42u|'&'A,MDODT4Z=qF>P.f@gYz4.]N73)Q,kCSêUD73C@G"m)[>\2՟%\ k#r3*/] Pȩj ݑ~9y$TW(!Q:54~8ۦ~#cTye-A^mG--)SI ҈ h}JnIDNKe|2_zAQjU4Ml'(׶H|lœzGKZIU Ra3U k&uO"5/I%joG[=pu:/(I'/u"fd3˘os (#w69攑%Pt)HЅ[~Teg|drvj3%%%}U-ݻ7I^EЂEի?Uqs?_~ݜ5dYvS/>X]K!9KB6T,M_O'/R>e_SCz;LcBWZ8PVZtBs7j#LыtBS+ȥZ)zFku GICoCDHvCRοM/*k OD$)ʸ6R$)3k[cѸ_+q\YdeR8uo<4NJk۪ UgʞߋTgw_}"IKsKI4NID*?dַ P^\qMPlWJDc[S8G˗"Hҩg>l|ǁ>%\Pwp^$k#ԿctY}rFhBDD~uiS*;O;z`Pk4u۔|y[CN'"JxH7cm[~i_@n>MGx!3pr_mp_+]KҞyQc_+?68:Ga~gȔFn- /{ۥYҧ ]zX K3/=|7U{4*@UE"xl9P#wF^$EHA+"q!$\Y^)drt%&&~U5+k#;o=|}񕫗i%te""z͝7=O7n^ TQ~b)Mh}yfVv"7k Ilz˸ͅ$EY-4df|Rcg]naXa.u-W熔)έm^HSU޿~5+cY8a}Aem|̒P4g:*W3Y ?zz=tҡunu|u%.kCڈ܌뻊=KGXJ5) sEbJs"b lcDSoGLD&'K*di[N ǐ>RI*]fnLDt(6|naJ.0?_3Ǧt}Ԥ(FzJ^v{{gӄ+u: ϵT.#,Ԉy&ud<˚zSOp!?c$jyu*_:ahH$C _֬[I AO=/_|_"hմ|2|RHV*8JZ-7Gl$D1'$R-=J#ɭ }z}W:o2upm{qvo_Ǿu=SrLF6-W熔)V|{t+T t?[EHR'DCY8Tu1T⋝o?RG|џS#IWGP_JK"Bqo!E5hTTJk[@Pױo ΃j,9?kӮPEAt-Lt@@?K6@VοHD84Yy|+SK}kC?vq-F;z5ֳY }:_~wP]m@^]+ĥœ&-ÙUwtJ ħũ.xwkyq^yڶ)KqTt>oۥԩۜH{-K:Η:6񥿯 $=puzmj27=-'ͦJPB׬vfeeU6WzםEC[8UI)3{P]ׇDLIKUQurĨ*y_IAݽHFg4sE0QqW$"uk˯VӜ>UkG-8D3<)=44c֞ʫo:_RLrLSfkc҆k8OF&QKդ6wB韏I)+ jLTuQ.w{/J|HN7m*4`H?DDú6ϩ,SٗiNGqSg( ׶_OC~zvgɲ^QZn$eo[:CZ8IV,l1ΩP+^\k[?ٸws"t@@3{x()ҞPPw/t՝8=ί#ڊd̷U4\BYtMZ |郦YiZZ5g8/;Ga~Gҳ}GRIǝY~7lJgBmxfUmї(N,9Ug{Fk;_L|Ovn*sq=pu=CWpZv5<0NkG(32I$0Lq6(Ci锕yf0lC;322tvEEEQ\\w4QU ٩()݉dԊzy{p(,<܆lZQߍa?f' kweEYX;Uw>qo\^>$T^*Gu˂kd_Y|'RD'$4!;A4b8չ!e*?E^)tAw4ן3%dW %R_%%ʾ&YX#[UrgޓPZؒC=OzzFxKezܖ\ҋ!uw$DvN@@))'|C!o~"Mi*i9Ok.ӵ|Q!u'H( KOrpA&ݢ'jW^u] ; sZu_4|'5u]rꒅU9ŋT;6Yϯ՜gMW֧.i y|ŵLzEDh)6ҞQW]26Tg57k,{XxPٺ+Lq̷$ܚn'+j$4%R-rULv/=N$*}\u_zW3w^yڶIN[ؑMfTk%Tm߲*m9_3yU85k+ӵ/?ZuU3Hoo!O!#%g/ dlE r|Td<ˆ,̧7?.GF3 *=RFDD0s'#Jإ߿xX|9233!J9D… c2d|||׮֭ڵ3zyq {Bo0n^HWBq_b"wڣ0T7P& :WVN0 bɽFBQГ/4_1 PGDz`L"_~&&&HKKCB@D?T*EJJ LL >du&F+op|JC $IƺѠU_-ݝ/,~k0% 50 `x ȵy1 /\Y|a)M5ѣPh1̝3M5s|r-AlSND"gbb-[~g_Xb)|}2:, TA83 _YwzO0 0y_,,/"Wc 7{_H "*=gφU64i)&:߾W*翋9`1u\-[";#bV[xURE58nUq =^¦~2w\Wk>XdC:\;[ ҭìx XPGobX0 IDAT E$E9{+~[[NA%' hTՕw~쯣KNcK{2.0 0 0 0 +QQ|Dn=`)0~c0~x|;cރ\& 2q7cUߙOYw-t'yFA8z$#al<]֡L S,6bĦQ ]I<*`b8&"gO%11/aa|dɒ|! 0 0g`fMp1+Z sCfM`aisssX[b!ajjX#tZk/## CV>% [Ѻ[^Z9#!),**!̯ %3JZ:R>h=!0 0 0 0L~r ba8r(BϜz > ٷ ؽg {_߽{^e1.2A|GVIѷ22 #ib>VKIߦ߯a~|YZ{lH 0L gCaHH)q6 ..>_q=8>}A\\W1R`_0kf _&z< ΟE=pY<Ɨatrqq aa\ 㵎9erdžm J;~;/<w0d&ݼE i3a gY]71D]@DV:ڵ퀅b]022¾=l \ crz …غ} ]qwiH0aa"d_X2A{c##X@Э#*["u;]fbë$*h%3ۢt|ٴʩ*>YLNlj²¢uF&4q kgF`ʑaaPc˕D(lۄ3jQC\+M `P貼|4(`dQ=nD!zeH^v7ڕ1&^^xs=fBTj5<?$fV /ۧ[A!oaeb۹f%|29N -KVA@`NW{'ۇn׉21Ƅ:h}?Lx_>9Oi@_C-49w/)^#!жݦN_AQ8\f+Ohy5 _3CBJ^n0}>]Ć.Gsa`ߎ 56[W(;t@2C xu/7=U6EOs16͗po[[{XmߟMW[6n ,b8W=q]@V|e+3VѰaC.yQ[B 6xg~^v"N[v[f܀?u[O(T$ R)R)b1D"LyLtt4_:8g28~8>DG @34'TQݵ,ʼna +NFR^sqFGZ WJ3q55/eO-HD?!!!*֬]-94Y@O"]nxJ,rCS\&[ej|~eExʴŹ |[{íLi ./wѧr1+ ߜu [,'I*6lZr2 0?P(D~hl [ st8GW%[[*@At'`oZ[ -SPt糽OyYwt+^^Vp.d +:&y/d b)f= lBĿ09lL \!GoFeJm9{ĉ*ϟGFb=,"]vB(UĕG9y eaX6KqyAX +(_'TbHG6W^3#hڤq|N ϙSx"hNLż_sxsS[`]ڳ&\{Aw,1 3.Xޭ}q%lzu8ۡW+S[}0W§h[\bOϚgFej|~~+^˜q70zZubeC0j|b44hfujKGOGT/]BKNaGu3E/H gN8#1릍U?IM /J7~*,]QO^hϤb(?}ƻǪ񋊘a1[AUY h=ƿ/C'8p 7ms D-pA&&&hղ5N}J,aeۏ_ĚVM6hvQ6_L>j"L)-P4!Nc.j [Scl{}S#`?֮] Xf +ob]1 i|ar1XU+>ÁGϱTɹC_Wjkkw 3E1c#,QD7Ք]~NÆ CH:% 7!`haa[bf(al?Q `߰Rg{aՙzDf(nlU}c.J. ;ݷýWC[\Q qb_سx|6> C}0x6A"ؾ7볽P({ax6:JʛB!,ʠ ҝ/I1(`[FXq_!|{1Ŷ?a3.BY vųO5uBw#azՋʜ*-%E.R ғT޸55/ xcAGiY!/R|VY kuzLzz:>Dػ/ZhOϊz X׮ӳ"Zh""9Q(#:L,K**8*ZTpTkƁ趩NB>h_LFڕ=_ݚtDH1+Hń|arE<\ t!lkЎ6u|~ѵq(a&^$/,SujAX/= fyr2 0?c ŏb)VocSd.]obST.uJ*,jj{Unc P2vΐ/x3ʷ]eݺ0N윌%{1GHe ʖ^g +Ԉ ꝓ4ja:FDt!pwaR߀ޥ)^lX"h4bK@H,1v1c1XcD* ]@=.}_\9O3Ü3|gbշEϖc%/N}:[~˱7ŴIoM3KO3<6Wib䞇m:/g.u bM+m;TԴoOMlYi umm7gΜ;}V8O'ĪS^g=\i/a 9W΍M1azK/+wSE]3Nbʰƪ`&Q: U?uC4vH\?:\5k\"vla e Y#,U~1⩧C9"zۈ9rDq/bZ f`ߺ^FMSب٦u7Ҋ'Wiߋ:.>xX8_NaU¨>< ǧ ϼ#9e`_K=*2?`߷U?"o~<~rj4fxbfK oܢC̙T17有f]mԼC̝Qnykלբ:qϠ]鷫~>{g_E}إ19O`Wu~?6n1EDe?'WS?tSjM3FU㶍E*/Es~zP~H/so]wX|QOquY'"uEk}Nn7w<$""6=hUwtpQuXw"Yk~_zco׾iph}x3y+bѬ3[GnޭJe5"rgl~!/W\ ?vF]y:z~*uYrֽkTyƓ1烓xrvjKC,:nwa/8>ozP ,ҁMGu[>g|EuqeFMb3n-l0اݮY]A:睸_;neb}+:٥8%6Osjի*ҠAXpaKSJUn`h`dxMׯ3sG}`k'.;՟#͏.{2`M/ǵV\:]Q41S~"AEwLrqGYYY4hJ|sJӽkT6f\k7%N(/m4f{ SuZرcŗ^:&{X:ѭ[Bh7TV:(vi:ujyի[_[Us=uĩ &1;vL<` c@XCk֭[` ÿ ׍yƆnRCœs?FVZon˸Cc-*ߝtGPkV_ p^'Zu~>_fs¿'|"e<qPVZ૟Ř6X/""ؠAܶKˈ7UQ|Q쿌%eqEuԪ<΍GN'.zqTنʗ7n8q G7+)6z*O\hne,٪rWSlȞ*ƳÞOoʤxG[t2ڶm>8CMMc@wo^_j){1;!6l5 it:_}Nv|{nqwύk9qCⱉEyJqt#g}xgt۠aA/- oqGɉF|UD~*~tѦMbxgⴟj2yqY9O]y09""vުsMfK]V=w>32ﰤϧGU9O%y1mƬة{ǸQM%A 3;tO>rsV.hqc=bukpiqؑѣ3mXTTSNyc?<8rxbѳgmݣ<|8baQQ_vՏ\}%7EY\g^c'GDgŞuҮ~z O ٴqny5WKÿKsg|[k[޺}Y?* ;&֩pŨߊz2=fm#"bq鿈#GDD6[oGvdk1|}[:7[?Cx kYL3<̙͜=s&}[3XQ5s'[EES/zl,[T*k*`b9g[t"g^qMGϞrvvFt)VtG(?<_lA: 8/rx,;,"-E3{۶}i }% ?=!VTO/EchLzъ4(+"Ήc4n[k*`uvu8_n^j{רWf'EfVo$\ߟ}xqIygcO]k.jxqpp:8>XQ\vjd 2$ Tg?Y<Qauc޼Ѱẵ OWvlm5Z{?]Κ2HXQSu?ߺ8Ծtgq![Fזb׶-+곢|V~^}~Vk+}.ڬ][pr߭[LS|E 6*iyۂ˚1CѱyٺE᳴x`tЛҘ1m!]z0O>뷶Uzulpnz~E25ͪ:njtuyפ ?OJ^?N=p*mӨnw9J.K)}Mqgӑ{lV|I&}Owc6> D]T\\-Z(-\0-X ͛7/͝;7}7iiԨQ5O[nHÞ.t [6m,%5jTTmuMZ4M6IsxUڍiv-RƍSJ)JviMm[pTn;RYQϹ{͚2.2UFh2l8[4w#U'/N]vM'VxԵiₒۗy5.S&[qTyoM}w+{et:ra[ܦE2oQnyܢtJ|V^WsYCeJrt/yhUY0mpT?_XKaUK~gSL]찧OU}# &!Kg-w?K/3gN6{x1/C}fώ}nQiq'_IomU~M}V_}N '8nr/ύ7zo>"M_yo<*6n:1;OwDFj}8xψ?cV\q֦j4u[ mMbvnY5U!5=_ƥG'LM,\yuSvEq_'gE@8q{K8B,gZłN?Se|TYgkok '#z\cmsEi^乬&h*Ny6q;+Ң╛;{Թv1nPxsʁ}#b~w?*4(<*T~oΉMCM_nrjڷ v+scS?pkObm m(/ÇۿJ,v?][.m eɗSEǟ.Sk-"VowDM(T-*Q3KKK=oi̙i޼yi魷ުeuiҤiiO5^>R5^Ə$-ZT}2&t ULZT;MRӁZWNJ>)XSJivQiڢso.>j~:=uHMvgw>kN齉3r˓ml\jzFҤ+N_\Z6k\N{niJe[疝;_.L)޾|S.ҘO O*߲j4}>_?/SIgt黧fMiD*_Ukc۟O-WiǮr5Ou۸-_ebnkrAqr˼No~e\:zʗyv֤V>[hߨqXsz_,tmk+ƽx_/vI=;^bAn6cRrxt=OW)_[NN+2{Wl:oTjW5/jڷ:~_ec5VyqڿGUVOqWq^ҴyW5j(l4=1e{̕W޿?=ܢSnWN[UaSasSKYmV$)>}zW(Лқ#H~~{/9E_M7x]zWSJ)骫/O?:9tUgiJEU?fYsvSMsTצYf4\RV2iKoM+YVSy֗-N-绯N{hHzRz\++}qs{ޕ9ޱej_]2?ڏ-*I+5m%hWMnOnYM7Y۴qrMShk*ﺮmm$}ee??@ٯK 5N`QxS8Y}m:mǖ#v,=2⋖ھ?,k[vLͥm.-Om<Ժˮ*RJn~1\iL*-|[4_JZm!\hSoұuNTٲnՍ sB}zsʚޚsrO=htIS*8]r5JgQڶu4;kߨQNsyWܔ[硕I7ͮ<;bJԦզ`IIIߴiܹsW(0a|z6}G7x]SJi1n4aZ֜SJ4ڵ]: E,Tʹz-* o;:m+͟6fl]Ҥ6vrP}wH)tۧ߫:*O)nĴ]VuNv{xzyFXߑyZκlK%ί<_MHeg:͙^ǿ}-[Cת)~nk״uRJia_)ִof;5GMd]W踳[5Z>1T~vN\Y6_@jݴI-QIQjӢ RVeޅX;vfL[>~ / fuX9eTأkzl[5o5znRڬfi2]FٿN[>OkU LvVO?<+5js UM)վ9Yco9CN1x㜳Ϗ-o[߳gg^u]vS O;#:tT+v_ % ߏHQ<x<{Itǃru1˗qiÒ(?<8\}?)nҢ1qE'T)/g8dyqݐcaiq,p{ܶUT)N/5oSjܤUjv?>@\Rjڢ[|ӓSNGMZH෉3Kv=6廟3"|ljܤUjt+Κ*_JUB,oEk-յOSM-λސPMX^1sS?KL-iLJ_,)K$5m-5m-m?̒gXjSuSٍ9n$-ܶ>RFMy K ' BǝRT]YF҂ jڲ{ڬioj聺ػP}{toW ߳S)kwOO^:]jڼsjڼs)e_Z;qZ흚6`M @B=UcB3V|N;C5K a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& 7 IDAT@  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L& @  a@0 d2L֠PX^|=wv|`^ea@Nz~?; Y=̟S;k,Y^&1z{q/1FΛiv0}_u/""__\Y>eeń㹧6\W1/;7-Tu9|u<ʝdHJysSe[gy#gz} 6ޤIjy(/AӺM5c#Te)عS5yr ػDJ{ AJfujQZVZ[uhUlKOMRZ;VQ $$'9'BpG}ss>w#'W YAq;ay X,$qY,9|HW.]VpEF^OQ^0$K\VdgIk2LL|<9{VǏS̙)bccth~ݸ~C5c.'e/ܕifNֹsʕ'E C?gKOQhh/Kk2=ܽGo?͟3+E 9tHWï:-gV" *0 Y fVĵ+a{OS]r䑻 w{rKPb ۻK~eB'36dIN`{&gڸ=Y< gws&Zjڳm]}YӤxw bHr=[v?/HsS\TdYQmlVNvg"]4iҬHw6+{ ŹO\""]n Hn Hn Hn j.TR*XYQC 3+~ΞǬ(2~< @b:IbOjAU?bL$X4b^: e|,I$_ظ:F33p7$PU fD>d>ԤAO94Q;I?#K@+PAThqQh%j*ķB|KhyZĆ;ln*󘗾F?l;q%Z'KT`q_-lYUq1g](\LMT]?Q=C[ґz~px 6=(Qv͞*^W2=$IQkR*TMۑu KV T{NQkt|FmzֿR3.IhGN=S4[k~ΧhIڰczLM?*jH-n;y: Mϩ^y}bzץ֛?Q4Y3QwX wc:wFeIkiS]AGuQ`V/e5o輦`d:o׫Q3fмw닟6* k2Qo+CNU~<6k{) ˤgZ:cM,TGe$o~ٔ; xyhYϊ#ד^*S;&v-\ߎڹ[ˇ?ټT8R~>hS7\ʣVgcUw{W8{&k8,{R(c.[,N^tXnHHye.<}hA3kzZ<Yh$6-Y&~f*XM+6;;5s>Zc3$~b*&GjMq_Yt-Ux6su[;]POecSډe\En;OڧuA}'f6=_3L*RLܺWn5~*itj#_~Sn={:xLԖjwc[IRKV4l#z(Vboִa=UQ[jL6ohR6F2n+R}ѩq{ZCQWVb]P>ӛ6=$:dݢ^q8φ7l>5M#*e-Mjv/[[/-o[ڋ𝉊W2buv=X|wn%F]:N @FtѲLx*^Vf1:Ug>H+.TX~j=^FA`Z|z3ۦy~4Pzg7Z_M|5*[9RenJ{i^juVOJ9r>|4[4$8m(w,_o9-#afԺz$Iڽ{w#8""]Y#37Fpc$7Fpc$7Fpc$7Fpc^faү̊v#tѨUw"H"]]tάHə$+'Gރpc$7Fpc$7Fpc$7FP¿J6+p#]-犻 `? O—a\x09̱޺;GOz'YƃAXwApK>z|91x$O,yK*WP`ZAҦyT¿J^FqMջjEZ+E[I*W@`R!DOi/ɒsEw :bHfl͔:QULuQԥr.Q@`*SC"c%>xx长:Utkst;Ж1L{ Huf[G7+ x@nݥW)6-WTo7xDv\Xҹ'k~)%X9]ڠ۫ƪфYXˬ3F/|Ae7v :lA樟y<ʹ+} 3xkB-~\qRX =J Qc٘>QTۅki^_IŻ[)#4ock<~Iܔ~MS=$M7s9(>$IaݮL{f_ V+ISK0iŗH<5u=Iį~pKe͠RY3h){=Q۵,]f/YLخuc̬٘Y<յدʦ*m;8h2;Fn=x7!0ƒ+#+g*Iʔ!>ys 3}.X ףRPׅK{=EGݐ$=_g­o퇍~vĕ>J3F@nW}A[0 m;|I_Tu\R7x82NӲq=ē)j1Sy+uvԬChvpv:_Kλu-c9 حp_ͺ7˵:ph&I\3s*\$I^w<JD(pЮ$<)uc+c:K9ػI6TK|^5QN{1+HZS* KV|Sq1sN?kIM;:cwE?Nr`c)QFׂIamcQ\iYb/jG2mJcuT?gYly$I7/^J9V,[%V˻p9Z?Oʘ.TO.-VǼaILָ}ў~o4;F~we;{QE7 |Ge*lC 6*[C<\3.T\/b*]Vgg\ ,nʯ,)=O&H!z"Gh-3s=y{nʯ\sj3eRL[ی+}䈗Ԧm։jӮ\Ńڕ1=;h}EV ]yָ}ў~o4;F~we;{Qa8HI4kݻw+<x9_bwe[{`GBΕ{ @ܘY<ڸ#1#1t3O"#/q/g"]]vͬHɑ#Y҄37Fpc$q_q+> (pqpmJ/s.nB P%̊}pg$^ܙ7\\Ǐ}$w @<%V] iחaѦwNi{/KUĉfE;%Q~FZZeJoҺsYGo?{b#N'S~pSK5 &OR6tbkQjg˔fVƥ]ӺT֯-)㒜n=kr*WRJiYꊽyfڿu~=WAZOS[[R*~IZt~7/\e=R3y_fc)JZ>=ygV{9vaH}PWVQݾӦ̍դ~ ̟G+{&ZnS -Wjgd,ŝj\͛[ w>0{_J癩m:&<ϗGkֹ7'sBKsZ&)fqxlڴQjr85_NP]&<>;~$j;Wݫ TgNm=tT9>\ǙUImݘ3L IDATڎJvP)3.5s&o *YB б}\%|wu_?ζ -WWgb71tc5׋حqXZdt>TVɧ\^Q5)t1_iYT"kϿ^r?W!U4sԶK.ZWÂ|S%xirIj6Yi*+FOȘAӻTіc$cYœ2"5mֵַMLr=0biY: -+ɾl?L$m< I!͵_Ogzb(mT[U oܚ4XqX]3V] `\jPth|h^ϒAy3zj^jZk5z~T3iͭ_Ը=U;*zgԸ=4. [?PR*KKF4'7c?c#5G5䩂2hյ߱^E xʛ%l-նGu4aO83!Y %+P8/ rİm{UfΖ`%}>D{*e/KD)9̜0^4z~鶣ٺO;Îzi??Tcn/:igZaG5b]VӺCG(}8r {Kl^rk-]0Ϧ z*+E?lgm7W8kˏSap>~>/A|up$E]ڬ ۪.5f}شc>uKgקwM0Y2}?D {S,^Ā$ *2~%յBL}M2nnj~W^J.-my/|E)6M}gcfEٔKWy2ZHcY}7Gyk6WP,yfl{\1v}!q@ݷI*y8L:l&L*5a4 6r@:V_S^\[ ?:vF=;[Klv.誀-VmةrP?7.بcT|uFH#SN;/1+o$0 Q]tNԤYK޽zk$$IҡǬ_q.-K?FZuٿWp~]ecJfWDI=~TsY uQGazz?M,afRRYM^N$9qI=u;Y-sxZth?5:NW+d$m?vUZ-;%̒%J/>Y]clQقYSkrm?_'U- ߬UHJ55*S$~l/CR۷~2R;Wn]r/xKqaK ThwԌOKbSS:fyAn@įmq?;lB5zm<IMyx$eTt>+S8 S9tbòr8H$ez,#P#*s6_ܚM=J$?q//G*H⏧b9uRM֨e5I6ɿ}_ZeUO* WoNT)SAk۪E)GWT`VI)Օei3BoAPW5Btef}aV_nwRlF|D?N+v!:vK1o{ %#F}V}:'9=Wd36X3-mg|, n.PJ߯M^933a&m'^Q[)r'NG|)T\s^zvθ~p+qvL[Î*qӭw \=Y|]2J$wbMMKlJh{a΢5ll=w]C7/[xg4% WJЙ_>L4ppYVW e棯mYK߽^~N|HHl>H\5'}{YNٺJ7/kK*pF;Qz\Nș7'0K$ڿ(vj[N6mܨISɧ-#OۭGnS'5E kL%-w]=:}>eS:yXsTܶY𡮿Jֱ'tdY\<^tEϙ+I|\uKޯiY+3CFYb$G_}uTbI=E'Lĉ:ߥ⎤fǕfԼdvZZa~QyZ.$Y|2ʏQ9k,! /)gc\A $~YZæݤm!6P2.)B6uYeҶ[hN[\]T/OMXY>{GqGYnH_W\˜;NhF*y&qДԣG15xv{[4Y:߯x')_Rr^On?<<\$~ϡuVUftzR׽~ڕ}/8A!:{uО-*T8nǗ U5jl{_Y WwҭǵW Lr;o/emΞlV, HƙM$iuHj^ۨMب g̬~PO1{E33ۻ,ъ[ƷT$3y/0O}Rlrv#Ǭ}RմĜW\9mMj(ofqIڿ[x^T\əWj' '̓1f|{\^MuɈVԥ4u⽰ QD 8i wNuydRLnPE+%~_iܦUQuT󆾪϶_l]F PLNDR.1jCSf)zHI}:f=fmߧ9>-(O$MB&$"_4gV,+P*_M\ж7ONQJo}^Eo%~%m&;-9^FrZ?&G&*bI*3miE>衝ոOA,+p-x" h$lGߪNwtzYeVAuO?/WI:uV]5fOֲ5-vY 0Y=ی1[ysiUʇT82z`K W*dQYs6vjӻɸ}I9ٴloc9TMER]4bj= F/ /dNxpi::kٷoefS'kW?=gl;[7>_8~ٱ߬?4euwpx=sԨfm)Tti%9Wo'~ m%wC5J ] UmE_,_Ҡ=V+VtrOejwצ~e5j$'t|VB]$y|ٚҾq<L"6O>lٲ4IY SOάlY|@=Le/S3rZ"x=3і}6-R~xT\ 1D37Fpc$7Fpc$q_Au k9  @ޙbw3w?Ժ[(JkҸzfYU^j~%wܯPO?_[~KR¢uRh -W>#ɒ8h[TA#gڵ[i6l0M8C%JdX4~L 6̤&SxxڼW^/hZT}51#PhVuZJrxyUlV Nj[@VEt=ICeo^UH~ϣ:ʈfkת^zv}||gb /_s/`҆AUP>ͭyMwM+y;Qk4@ϣyr:ZǰoR|*[ vMh){^ŋ?g8Y?69a:TPP< ʟG?t %5l=Ͷ1}oVGgWT w.*k7.Nw:~&cjX\뾙!IZtyVh*/`=욱PHsRxzF\9#.zF6q"K7nY/^e*V8Hx-thW+Eb_boZ7a9~=JԵ(qF9{ugq2w/fc{cZZFn#m}*_8}}{wsuJ9s4ri)a~˰t%ȓ+qQfl-7Q?|AcV,ѵT+ }6 =~FҍiH2_5MGM]$)S6EG\QܒW;YxMN-V-lbΎ5}P-ГMiYjZ7$;{$)T}[|햓ul|ڞtVsuJWr/5knЯ'rx.{Pðs(rXo4t5m|K-tdz\9Gy[6&SSNmgLDZw~c\4[E7?w3[U=j}n=j`{.5^2(DwoNڳE%*E<4uu^{iӦKM}\x e~?K1qFHbqgi"5uJMl?x(+ FSվ~1#wp'ߥ8i(U(\6v KF4r-i2L b èZ#OF3EǁGc`a&fv\4 dOF\>Ƣ7aak\tNԤYK޽[&5mEN#.#cusɧ~{O#cGN#CU$7Fpc$7C@]fVxȑìi#1x`} ;Gpc$Pr w)Kܹ*{jl-5ZU^_rwqUJ7onU.O߽bnOR¢uRh -W>#ɒ8h[T{/[۴ijլp6l&L!%I2,Q?afR)<<\vc5̪+sж3Mu;FvjV ;.[Kc]>Y͊$q_״WS`5K2GVUƯU ֍c+$%L7nRZ5Ns +Bk73$Ik. -Rł,Q0'߼5in?fRܹԠx-lo1?JeҒMt k|W+5nDOUΨ5ndjqQ2w[7an[㸐?1 ,6c"Q`2:kzLў-Th~Ε˦/4\n>q;֒)tZV߫mji/N8a7=6o۫5ڝvC ք S%&L~r@:V_S^\[ ?:vF=;[Tr#T|uFH 2 ]MmNK&"J*ew@=Kr-5VxI_Ԣqw&̔A_o+6X3SS!rdPb>gJUp9<3xh)={I^ziڴ钤iӧo>.u  kuH7jƈfUldΫg6gG5Udw׸ }ګ"ъ.g/laR;-ypS;;4uojxV[u״QS1;5}ԪqQUTv}}&Tmج^(3x*_6u!b"XJW~SǪN7b~OUΛ)`ۦM*[I=aw7MW \ydf5 r-և4h9i wG>>>)^KҳCjDkGAաJ3Uȿ wՑj5}}k}8(|YyfEI=zRwo댇aY! ^:'IjҬvޭpIҵkלUk JVNڝ9r< 36nڤZj:xT`v9xTp HnK1@ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @ @;>*qs-$bOlXWk/+v]׾u-koRD P33$3Kϛ׼6CS$F$1@ IHb@# $F$1@ IHb@# $F$1@ IHb@# $F$1@ IHb@# $F$1@ IHb@# $F$1@ IHb@# $IT#۶eQUUUQQ 6h֭$y<+''GݺuSAAգGy<\.\"РZ-[LҥKuV(??_=zPQQrss)˲РUUUi?6mڤ4kȐ!4hrrr_į:5g-YD@@}ѣUTT<(%%E)))JMM$555ZWVyyfΜ)S_~>|vi''" _jΜ9ZnuaÆ@YYYx_aYս{w 6Lk֬ѪU4uT}:tFM_]8k,}ڲeuÇ+//O))),K~_nKVFGi^--WJK(+5x\'9@ @ ]*33S_oVGeYV~_MРgyF/VnTVVLq붔Rhz-Sņ5%HQ03OLfipl )VfGW=ǑU^7?w}O?]EEE_8* 'eY*++1dvIc4jmI#OJ\4Yr<{Ƒqǯu[`eb@V@CJst|UvҥTYYKGu:X dI~zה={[#I7zz;Aۭ+Ǔ*8e#8˖1y< nwl J_@)KtSǴ޽{+;;[o֭[N8A^M=H0hڴi:u#q?K_-׶+S](-cCP5c7m) =wJ衴<}zMzsjOwKS,˒eY2(++K _&Ntk@YƘ:@ )Shƌׯ=d-ͯpҴ:G]RzF' Ƕ=(36*??r)U}\-a4sdu$ ^8[^o9zヵJKq1cϟ%MC.K={1F.hcK|VDY9% -* oqb1pB;##GnWѻw (1JOOW^/1%E8k,-YD}1F%5,MںtEgbk{ncc9 -yTߔw>ZkdYU1޽|>CtV3gTx$c.}%+"½Lb? ZnW*7Mlj˲,kΜ9Zti;_g͚͛7+77ՖޛBy=-=bryelǭnjm\ .lK%q1n-YdLTv¿%5# ƀiiir@[DvdUUU={t"#c$2CjݔE ݶgyմrGH21$cjfed;|mi:Mһ*3;_.D 58Z$T}yw6K]vj*~!8:u|rYF 7ͲT*(QKfZƑ9whwQ^WJ7%E)))lPcӒ'_iohm]_"˄Gfr[nMd8f`,K<N&544hVjjGqQeB wB5vw*ڠv u{OL~]Ge)33SJJ4~4pv1HGӓO=@vh\6~#4 =]IWU(WF^={w_u5 iZݻ$2Z҂5Lpݨ-OS&80G7? QzV; WB]}~={VZZӥ1~jJE hG:e;FeggRk֬!6锋cl2IRVV1򺥏滔EnWUz#ö-0HssY,KtNQJV_?IOO5eÎy X)Ʉÿ/xM.yxyV 3%%EY ۤSmkܹ Q_RVv/9tO?%|k= 7PG&4_ &|бr g^TdYVx+R\S$rp8mÿ58dzVuKQnnϟ/۶\!V 1Zhe%-Zc)xX ~, ׉{n^8~5V\u})R#n脆(r,٨F,˒1FYYYצM_#J 7oެFeff#KZFJI͑q{q rjKUn`a~nWdn16^WZhQK`yyRRRz%I.Tޑ;%; "{ɱ#zk/7_p_[OT|Qe€md&1FZbEtpJKK1Fj,48z#¿衾Q_z&<ba<΂%; ^gtr[[vYR0tUTTĻDN_^+n5 8.]9^yVm5 _vj QA7rrI eiZY04 mgވmTWר5Mr5/L׷s@NnٲE'6HFτ_KxײG" {#CEǑc0oU&]zFs=*OGn9F;qlQjKCx!׫vNNْ$KR2`&+W_0H)"lYjs>-WRQcSdY念=!x-%z7dj@^e[K8m#ĜghOL|>nw%{H2m?%B=g[yIBzKň/}dz|m)^n84`xW)@ǣR6cRnu2jj*&^a7: n 8@I%i~7QC3cw*'el)2*1z- /vdYjkk8 ^#Z ].6KnXQ`g˲\}ZȉHSO W]Zm;8RiYAxcmw]u==ĭj*+HZBs 񸍲2SUZ3hРAJIIis}@<62dT__/Id&|2Ug"7ˣ:jEK7h9e]w_R\A lYV8Z¿P0hR РwKi)a"~A0<`ɒR^8pDNs45kJ#O&uSiOe~%%rBkǑ%y=.s"'ղ,K; I 4bM2Eyyyrݲ2Ղ v ԼGׂum˱#V .!+ynftOƑǓkm]}T(4 ea[Mɑ\y#¿#KԵk,KÕiPO>Duuuɑ1F9nk|I9=Z߈ 6˝pkaġ}Q_UzNQ19[ -KLՁ kllT]]FD/ S'-((СCUUU%۶sm5o m=`q2{퓱 (khcl 8ddc[^12h֭*++SIIIhS{񨾾^t=u(hgӼo( y -bYͫ "+0^Wÿ-Ѡ}=~+33mTYY)IpH 94MMU="_hPbnjljX圡,.:׫HF{@{:}(Ivrrrn:Y%c\.ٶQn:>ۤoKKPo@'ڋ?_D  FC==1:jRS NOh|r 0@ǏOt@&kwr;+MgYq/ BA]vÿP/F=eRZ[v-t9NpիWK.0aBJPN:$ 8Pក>i:b9KUcTؗhX:5ױed咲Ruc(;;]5kj„ JOOOt@BIOTIIV\ f{uԸBHdT-c/^ك/j-៌&sYFnQQn:t!#f\.qիW:$@II'-[L>/0cuk=tC爮2v c9N~C_KT+#v)4իvug8fcLJUCCy͙3G PZZ1rzJKK[TJGqINpu}9_@Ƙ`F=RR\z\*]3Fejd+;e˖)77W'NL[6VJ>d͞=[UUU /!^{M}z}!RcS@iTnnF4+5-Mبa rܲ,K6lЪUT]]}n&+)_W 8P*//ܹsk*,,Tii*-c,dd;RJJ\.WgW Hza-[L,K+333?_X~jjjrJ}wZpjkkիW/Gիw.](++Kب[jZn֮]UVi͚5,Keee1bl%`ï`$׫Pّ=L˵??Ցm_`&mUVڷ_,+:G<}[% mc#:7[-./Sո[Vɏ&5dUӷǷ~'ojFz=5W&яEc?hKt^qR]9)}G}I_b]P5<\_Xi􇑃TW^|wdZVcwY/,܇ҡTЧ8|ڕh5_{l[_uv/-T=Qr!WݭL5kRMd_sn޸}̩M4e-=p\ͩl>Rux,razk5zMO'Zȟ?Fk{=۳_yYt;N֮%%گOSvFhRrT_#w }Kk5(K.,~ˣ/E՛q֯Du׶ʉPX_B7vw]?yyx[v >WyM@CzEz5$N_Civk ;y$9Ǿ_CvnҜ+KUR4kr5MGCUymSGq$Oףsirvwʜ\\/Ц3e::g$KԳk?А?U媬XsWE SWTV}|=eߧzsؖk'Iv)KDm{9xy=rCz8\}h~{:JHiSY2P((ny+4~Qs"j &%Tݺ|<[oyG7YHUn=Yziq)*'3;u~?6u:UW_vMJUOPN8DKMKۢ8qyK.o Gbv$kcGoȮZ  JW%)[ժWtPc;TZz|;}t --v'ϗI]-'%-ƶ;bCꢇ_^gYM[[ev{|~:jkê%YRaitt%)sk|[~DﳟKQ4!k'!rKr$djm=o iwUZaAs?J?_17=/K~-w4q޳:H2N[fSpvMF?K#OXo;bڑҎ|m-{_DËhs9~I'{n8JU?.9MU.?\>h4I2jM{ g<3IƮ-+^q%# /PG }U2v{SsԸiNut5~埴ۛzgtm3uMЉUװloT;O آwA١]4kez}ֵV&ml~iPMu]zBnl[IUf3ktߟB{m(-o2vf>/>N85nMykgǟxR?&uv;GMZԷXy6y!j{G.9HU?DOiCsa֯D݆hn}m_[Y%EtA(а,n݊Wk∁*+kG֥oĭ2UX<4Q5@;B#ʊi_?dFnkysg\~ax;z/zD7JU1My65kZFO-]3>k#i?^h?ճ{xޟ9S0.a?.X/4Kqs^GgkK}l_k׸ 0r~8{IZG1DQ۹nF\xmq΁.p\7];zՀׇ3\~§{d.W7zGV1T]}gKoUy}d;Sm:xPYsi]]p@w~2R{OF^߷X:T#{U'x6K{:yxM>YS=1Vc]uo"UVT#]-g&uN:5:ҕ}>Jguy/KF)euuz g觸kҹOڞz3t-h/um׏:y]wϱ:K.{U<4Qgv̺TÛ:exeU wYUOPpUvf]1 vHZ=uֹv=϶/,ҾꕙHG27nW}xKϷ=|ŅĿ'rT5zκaf>|^qC\Ŀ^:GP~[w/O} ˓sӯiG5ܩ?sԨY^=tpFtQ͞1{阮ßW] .Z&gmR{kg:t!jկӆF-WjmNgGmՋ?ҰܬsSnݢzvvr8suu4&g6%_>Cu!./G _)F\ҝGз7]}Ӻ[uۨu)mY1ÿm]x[noi|s#/+q:.e,Uwc-w/IS?V{$W\ȷe$iFes)YRHfSPT2ݖ..Ύ , 4c40r*>НҢ~:sN<կDu+7Hr[~I҂Qb?$I_"S#W{H~|㶖yt~"ƘX-"IDATqe@w7?.p$x&qʫOt^=ڜ/%4yEnh~ڻchuy]ںڑ]ONi횗_~qꇥ-Z^v9BsX$zmzWhҊ*iHiKOG^-Yßo|9CQqz~Κu8UvKЬ4M.V[|UV,~3οCeW^z>[Lv?3T {lkFw4{Ե]ӦNeJU.qo~3yRܭgj³[?Oij?ܭgR|jYe./+E[j}.Q=^:G';tfxc} - +/nFg[&oH?v8uݷ#JD}dϾ[W^v{x?SD{ -I:4ϵxeGMU3#h|=c'jlj%9K++Vj%;ʊZzVN:~~ &*ǮzcU)H+Eݎ->\rARV^Hp&}n`'ΛՖinPٴY S-ǜ'm=w>zϡ6.хk߿W$ci r˭'>|U{H.QImdvQJ 㠱fRrKILդQUȶ vO ӫkߛ>C3&7^סNV%iߔTp`<^oj8~mvus`GYϏC/xBM:W+ju?)O~]qaOO WM.9L;Z;bҍQY7Q;NT.bXO[DB-K7 ]>Ue\ơ%uhioPG߳FM,jiH70'\ԡaYG*,~޲ܽQgBDA1P^F utwnIvT=zpPWM9g>nadhU.PY{N*>m{\_B*ZWTu&jV&zD,JUtp-~Vft.{Nx_cW[*~ ?ߺGe,?O4v~բi ё?{ĺEo@u]~-E=%%f}UREՉ3%)DϏ]z&>ǝfuxλStᇇy:dwjϳΎ^3p~gI޻(\'*hc{g[<8ã=qνEjī!g]r&w6ξAӨMݧo-)32)"AiPMu]rvU==Mr,Iry}vԣص}kTyr>֌g&5ԕ<]o(\z;Tcnm=2n`YԥMj_H EoYoйgI>񊎽U]pe{RaY1vz寛#=z:;\:椃ʷfj׵ 4.Rq\teWS/nվ?7a2>N=6ܯ,KhYYNV SLF޼<پ پ qyuFՉo>:KP׉ ~M_Ǻ?~ev'\oUj;yl}ldCs#MVG=$6'jljC禝'qo@m2wbem@wU(>DH~aQm~G@Ih#l j>^xԧ*,C#s^*>7n&Z;R{KkwtfE*췫v>j<M5g.koQ=*w؍gU[  *X+.h4!(i" jzcIlzĨhjl{(c bw]Xܝ,~ι͝a~g3I/TE`I~6 QpU6 r3X+&Z0l=$?,3RQcpKGY~ׯEsB0mI]Įs= d^ᏂN،7#0Ze^vHYd%, @#0tDGg.w~(wv`71 S3V9֓G1=Ɍ_t݆c`Eѓ Cxn'e&6JB ql'uq%Q$obAϱQ.24 rAvڍ)X[{Ext>7%i;3\(gbu{/U:&ɮ v!i}Ggg?GpxB6~'5$T(89TKwmyND\A0Oۏ1'{\-p vk-/*n\z(9SҊ?Yg 7 q)""F?IER. 55+*#tpSg}CC^Cևajj3֤&"D9җ_57R \7cs"z 'qz 3H}Big\>fC,,dvm|eCt9XqZS,@vFlYI'ro˜uR]"t@{ =\Ξb<ݍ[Vakafzun/7#-AxtޤoʰyBdU/AP;N!ҿ gUc<9Ẅ́wDftĉS+b@[onny07mOO]矚9 ikxA(>n5n,Z qM>^~ H|UQvUCxjVz\ள۫m*Ex.ZPA/ ѪePZL'_j?K,#-Jx ]%}taAJܩ;34Y_񎥞1oK˥BzߗmQ`LS#1ٟtq\9SrT39Fk*x9!M> j~^-{iz+m/S!ok,2B^ۢ7V'`eb"[w{G"p˻Py,:jbSPw - _/B@;r!mvy"""^hmnҽ<)0 F0ω\WU&auK'ig*輒xe{.CC8ߡxsX}M@7dn(BQL"}fP߻fTvF3im͵ 胯?ۃ3Etx.;WlFjt)&?ޒ+WVr9;b.s"؛tsw?|k%[p$7ΔhE7}DD s#aiJ*TVauxvX{!~w,Ï>3U2KQ9MS, Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut use warnings; use strict; use utf8; use open qw(:std :utf8); use Getopt::Std; use Carp; sub usage() { print <') -c tag - the close tag (default: '') -s - collapse spaces -e - erase endspaces -b - erase beginspaces -w width - width of msg lines (default: 75) -n - do not print po-header -f - print '#, fuzzy' before each msgid -q - don`t show warnings PS: script works in utf-8 charset endusage exit; } sub get_po_header() { return <, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: rtpg\\n" "Report-Msgid-Bugs-To: \\n" "POT-Creation-Date: \\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\\n" "Last-Translator: FULL NAME \\n" "Language-Team: LANGUAGE \\n" "MIME-Version: 1.0\\n" "Content-Type: text/plain; charset=UTF-8\\n" "Content-Transfer-Encoding: 8bit\\n" endpoheader } sub message_text($$) { my ($message, $width)=@_; croak "undefined text" unless defined $message; croak "unknown line width" unless $width; for ($message) { s/\\/\\\\/g; s/"/\\"/g; s/\n/\\n/gs; s/\r/\\r/gs; } my @items=split /(\s+)/s, $message; my ($result, $line)=('', ''); for (@items) { if (length($line)+length($_)>$width and length($line)) { $result .= '"' . $line . '"' . "\n"; $line = $_; next; } $line .= $_; } $result .= '"' . $line . '"' . "\n" if length $line; return $result; } getopts('hfnqo:c:sebw:', \my %opts) or usage; usage if $opts{h}; my ($open_tag, $close_tag, $width, $quite)= ( $opts{o}||'', $opts{c}||'', $opts{w}||75, $opts{q}||0, ); my ($input, $output); my $input_name; if (defined $ARGV[0]) { $input_name=$ARGV[0]; open $input, '<', $input_name or die "Can not open (read) file $input_name: $!\n"; } else { $input=\*STDIN; $input_name='STDIN'; } my $input_data; { local $/; $input_data=<$input>; } my @items=$input_data=~/\Q$open_tag\E(.*?)\Q$close_tag\E/gs; unless( @items ) { die "Can not found any parts for translation in $input_name\n" unless $quite; exit 0; } if ($ARGV[1]) { open $output, '>', $ARGV[1] or die "Can not open (write) file $ARGV[1]: $!\n"; } else { $output=\*STDOUT; } my $no=0; print $output get_po_header unless $opts{n}; my %printed; for (@items) { $no++; s/\s+/ /gs if $opts{s}; s/^\s+//mg if $opts{b}; s/\s+$//mg if $opts{e}; next if $printed{$_}; $printed{$_}=1; print $output "#: $input_name: translate part: #$no\n"; print $output "#, fuzzy\n" if $opts{f}; print $output "msgid \"\"\n"; print $output message_text($_, $width); print $output "msgstr \"\"\n\"\"\n\n"; } rtpg-0.2.11/tools/logo.svg0000664000175000017500000001536311377665570014357 0ustar dimkadimka image/svg+xml R rtpg-0.2.11/tools/STATIC.pot0000664000175000017500000000221711417261677014376 0ustar dimkadimka# RTPG static strings translation template file. # Copyright (C) 2008 Dmitry E. Oboukhov # Copyright (C) 2008 Roman V. Nikolaev # This file is distributed under the same license as the rtpg package. # Roman V. Nikolaev , 2010. msgid "" msgstr "" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: Roman V. Nikolaev \n" "POT-Creation-Date: 2010-05-20 14:00+04\n" "PO-Revision-Date: 2010-05-20 18:00+04\n" "Last-Translator: Roman V. Nikolaev \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" msgid "All" msgstr "" msgid "Active" msgstr "" msgid "Started" msgstr "" msgid "Stopped" msgstr "" msgid "Complete" msgstr "" msgid "Incomplete" msgstr "" msgid "Default" msgstr "" msgid "off" msgstr "" msgid "low" msgstr "" msgid "normal" msgstr "" msgid "high" msgstr "" msgid "unknown" msgstr "" msgid "K" msgstr "" msgid "M" msgstr "" msgid "G" msgstr "" msgid "T" msgstr "" msgid "P" msgstr "" msgid "E" msgstr "" msgid "B" msgstr "" msgid "b" msgstr "" msgid "/" msgstr "" msgid "s" msgstr ""rtpg-0.2.11/lib/0000775000175000017500000000000011507312473012256 5ustar dimkadimkartpg-0.2.11/lib/RTPG/0000775000175000017500000000000011507312473013032 5ustar dimkadimkartpg-0.2.11/lib/RTPG/Direct.pm0000664000175000017500000000721211507312473014604 0ustar dimkadimka#!/usr/bin/perl use utf8; package RTPG::Direct; =head1 NAME RTPG::Direct - is a driver for L. =head1 VERSION 0.92 =cut our $VERSION=0.93; =head1 SYNOPSIS my $r = new RTPG::Direct( url => 'localhost:5000' ); my $r = new RTPG::Direct( url => '/path/to/rtorrent.socket'); my $resp = $r->send_request('system.listMethods'); print ref $resp ? join(', ', @{$resp->value}) : "Error: $resp"; =head1 DESCRIPTION The module uses the L or the L modules for making connection. The returned data are recognizing with help of the L. The method B works just like the L's B method. =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut use Carp; use RPC::XML; use RPC::XML::ParserFactory; use XML::Parser; use RPC::XML::Client; use Encode qw(decode encode); sub new { my $inv = shift; my $class = ref($inv) || $inv; my %opts = @_; for ( keys %opts ) { croak "Unknown option name: $_" unless /^(url)$/; } return bless \%opts, $class; } sub _connect_to { my $self = shift; my $c; if ( $self->{url} =~ m{ ^/ }x ) { require IO::Socket::UNIX; $c = IO::Socket::UNIX->new( Peer => $self->{url} ); } else { require IO::Socket::INET; $c = IO::Socket::INET->new( PeerAddr => $self->{url} ); } $self->{connect_error} = decode utf8 => $! unless $c; return $c; } sub send_request { my ( $self, $command, @args ) = @_; my $request = RPC::XML::request->new( $command, @args )->as_string; my $c = $self->_connect_to; return sprintf "Can not connect to %s: %s", $self->{url}, $self->{connect_error} unless $c; my $header = sprintf "CONTENT_LENGTH\0%d\0SCGI\0" . "1\0", length $request; my $hl; { use bytes; $hl = length $header; } print $c "$hl:$header,$request"; my $response; { local $/; $response = <$c> }; $response = ( split /\n\s?\n/, $response, 2 )[1]; my $result = RPC::XML::ParserFactory->new()->parse($response); return $result->{value} if 'RPC::XML::fault' eq ref $result->{value}; return $result->{value}; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/0000775000175000017500000000000011507312473013516 5ustar dimkadimkartpg-0.2.11/lib/RTPG/WWW/Frame/0000775000175000017500000000000011430750153014544 5ustar dimkadimkartpg-0.2.11/lib/RTPG/WWW/Frame/Index.pm0000664000175000017500000000274711417022264016163 0ustar dimkadimkause warnings; use strict; use utf8; =head1 NAME RTPG::WWW::Frame::Index =head1 DESCRIPTION Class for manage frameset =cut package RTPG::WWW::Frame::Index; use RTPG; use RTPG::WWW::Config; =head2 new Get params =cut sub new { my ($class, %opts) = @_; # Get current state $opts{$_} = cfg->get($_) for qw(layout locale horizontal vertical); # Get sysinfo to check for rtorrent started and accessible my $rtpg = RTPG->new(url => cfg->get('rpc_uri'), queue => 1); ($opts{info}, $opts{error}) = $rtpg->system_information; # Get all methods list on debug $opts{methods} =[ $rtpg->_get_list_methods ] if cfg->get('debug'); my $self = bless \%opts, $class; return $self; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Frame/About.pm0000664000175000017500000000241711417022077016162 0ustar dimkadimkause warnings; use strict; use utf8; =head1 NAME RTPG::WWW::Frame::About =head1 DESCRIPTION Class for manage About dialog =cut package RTPG::WWW::Frame::About; use RTPG; use RTPG::WWW::Config; use RTPG::WWW::Locale qw(gettext); =head2 new Get params =cut sub new { my ($class, %opts) = @_; my $rtpg = RTPG->new(url => cfg->get('rpc_uri'), queue => 1); # Get information about system ($opts{info}, $opts{error}) = $rtpg->system_information; return bless \%opts, $class; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Frame/Panel.pm0000664000175000017500000000225611414620606016147 0ustar dimkadimkause warnings; use strict; use utf8; =head1 NAME RTPG::WWW::Frame::Panel =head1 DESCRIPTION Class for manage Panel frame =cut package RTPG::WWW::Frame::Panel; use RTPG::WWW::Config; =head2 new Get params =cut sub new { my ($class, %opts) = @_; # Get current state $opts{$_} = cfg->get($_) for qw(layout locale refresh skin); my $self = bless \%opts, $class; return $self; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Frame/Prop.pm0000664000175000017500000002256611430750153016035 0ustar dimkadimkause warnings; use strict; use utf8; =head1 NAME RTPG::WWW::Frame::Prop =head1 DESCRIPTION Class for manage Properties frame =cut package RTPG::WWW::Frame::Prop; use Tree::Simple; use RTPG; use RTPG::WWW::Config; use RTPG::WWW::Locale; # Masks for special tracker url use constant MASK_TRACKER_DHT => '^dht://$'; use constant MASK_TRACKER_RETRACKER => '^http://retracker\.local'; # Some part of links for favicon use constant URL_FAVICON_PROTO => 'http://'; use constant URL_FAVICON_FILE => '/favicon.ico'; # Some part of links for wikipedia use constant URL_WIKI_PROTO => 'http://'; use constant URL_WIKI_FAVICON => '.wikipedia.org/favicon.ico'; use constant URL_WIKI_DHT => '.wikipedia.org/wiki/Distributed_Hash_Table'; use constant URL_WIKI_RETRACKER => '.wikipedia.org/wiki/Retracker'; use constant URL_WIKI_PEX => '.wikipedia.org/wiki/Peer_exchange'; =head2 new Get params =cut sub new { my ($class, %opts) = @_; # Get current state $opts{$_} = cfg->get($_) for qw(current prop do geo_ip); $opts{prop} ||= 'info'; # Get params from arrays for my $name (qw(index folder expanded)) { $opts{$name} = { map {$_ => 'checked'} cfg->get( $name ) } if cfg->get( $name ); } { # Exit if no current selected last unless $opts{current}; # Get RTPG object my $rtpg = RTPG->new(url => cfg->get('rpc_uri'), queue => 1); my $error; # Check exists current and get info ($opts{info}, $error) = $rtpg->torrent_info( $opts{current} ); if( $error ) { # Drop current if not in list cfg->set('current', '', 1); $opts{current} = ''; last; } # Get info by page name if( $opts{prop} eq 'info') { # Count space for future downloads. And set warning flag in no space my $need = 0; $need += ($_->{size_bytes} - $_->{left_bytes}) for @{ $opts{list} }; $opts{info}{low_space} = $need - $opts{info}{free_diskspace} if $need > $opts{info}{free_diskspace}; } elsif($opts{prop} eq 'peers') { my ($error); ($opts{list}, $error) = $rtpg->peer_list( $opts{current} ); $opts{error} ||= $error; if( $opts{geo_ip} and eval "require Geo::IPfree" and !$@) { my $geo = Geo::IPfree->new; $geo->Faster; ($_->{country_code}, $_->{country_name},) = $geo->LookUp( $_->{address} ) for @{ $opts{list} }; } $opts{wiki}{pex} = URL_WIKI_PROTO. cfg->get('locale') .URL_WIKI_PEX; } elsif($opts{prop} eq 'files') { # If priority command then get priority level if($opts{do} =~ m/^(off|low|normal|high)$/i) { $opts{param} = RTPG::file_priority_num( $opts{do} ); $opts{do} = 'priority'; } # Set priorities if( $opts{do} eq 'priority' and %{ $opts{index} } ) { $rtpg->set_file_priority($opts{current}, $_, $opts{param}) for keys %{ $opts{index} }; $rtpg->update_priorities($opts{current}); } ($opts{list}, $opts{error}) = $rtpg->file_list( $opts{current} ); # Make directory tree $opts{tree} = make_tree( \%opts ); } elsif($opts{prop} eq 'trackers') { ($opts{info}, $opts{error}) = $rtpg->tracker_list( $opts{current} ); for my $tracker( @{ $opts{info} } ) { if( $tracker->{url} =~ m/${\(MASK_TRACKER_DHT)}/ ) { $tracker->{tracker} = URL_WIKI_PROTO. cfg->get('locale') .URL_WIKI_DHT; $tracker->{favicon} = URL_WIKI_PROTO. cfg->get('locale') .URL_WIKI_FAVICON; } elsif( $tracker->{url} =~ m/${\(MASK_TRACKER_RETRACKER)}/ ) { $tracker->{tracker} = URL_WIKI_PROTO. cfg->get('locale') .URL_WIKI_RETRACKER; $tracker->{favicon} = URL_WIKI_PROTO. cfg->get('locale') .URL_WIKI_FAVICON; } else { # Get second domine my $domain = $tracker->{url}; s~^\w+://~~i, s~[/:].*$~~ for $domain; $domain = [ split m/\./, $domain ]; $domain = join '.', $domain->[$#{$domain} -1], $domain->[$#{$domain}]; # Set links on tracker $tracker->{tracker} = URL_FAVICON_PROTO. $domain; $tracker->{favicon} = $tracker->{tracker} .URL_FAVICON_FILE; } } } elsif($opts{prop} eq 'chunks') { } elsif($opts{prop} eq 'transfer') { } else { $opts{error} = RTPG::WWW::Locale::gettext('Unknown property page'); } } my $self = bless \%opts, $class; return $self; } =head2 make_tree $opts Make directory structure tree from rtorrent info and return it. =cut sub make_tree { my ($opts) = @_; # Create folders tree my $tree = Tree::Simple->new("0", Tree::Simple->ROOT); # Index for files operations my ($index, $dir_index, $file_index) = (1, 0, 0); for my $file ( @{ $opts->{list} } ) { # Get current file components my @path = @{ $file->{path_components} }; my $filename = pop @path; my $parent = $tree; # Add dirs for my $dir (@path) { # Find dir my @chilren = $parent->getAllChildren; my ($node) = grep { $_->getNodeValue->{name} eq $dir } @chilren; # Skip add dir if it`s exists if( $node ) { $parent = $node; next; } # Add new dir and set as parent my %data = ( name => $dir, level => $parent->getDepth + 1, type => 'folder', dindex => $dir_index++, index => $index++, parent => ($parent->isRoot) ?0 :$parent->getNodeValue->{'index'}, ); $node = Tree::Simple->new(\%data); $parent->addChild( $node ); $parent = $node; } # Add file my %data = ( name => $filename, level => $parent->getDepth + 1, type => 'file', findex => $file_index++, index => $index++, parent => ($parent->isRoot) ?0 :$parent->getNodeValue->{'index'}, data => $file, ); $data{complete} = 1 if $file->{percent} eq '100%'; if( cfg->get('direct_link') and $data{complete} ) { $data{dlink} = cfg->get('direct_link'); $data{dlink} .= $opts->{info}{base_filename} . '/' if $opts->{info}{is_multi_file}; $data{dlink} .= $file->{path}; } my $node = Tree::Simple->new(\%data); $parent->addChild( $node ); } # Map tree to list my @return; $tree->traverse( sub{ my $node = shift; # Get folder information from subnodes if( $node->getNodeValue->{type} eq 'folder') { my ($size, $chunks, $c_chunks, $count) = (0, 0, 0, 0); $node->traverse( sub{ my $child = shift; return unless $child->getNodeValue->{type} eq 'file'; $size += $child->getNodeValue->{data}{size_bytes}; $chunks += $child->getNodeValue->{data}{size_chunks}; $c_chunks += $child->getNodeValue->{data}{completed_chunks}; $count++; } ); $node->getNodeValue->{data}{size_bytes} = $size; $node->getNodeValue->{data}{size_chunks} = $chunks; $node->getNodeValue->{data}{completed_chunks} = $c_chunks; $node->getNodeValue->{data}{percent} = RTPG::_get_percent_string($c_chunks, $chunks); } push @return, $node->getNodeValue; } ); undef $tree; return \@return; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Frame/Action.pm0000664000175000017500000000451711417022323016322 0ustar dimkadimkause warnings; use strict; use utf8; =head1 NAME RTPG::WWW::Frame::Action =head1 DESCRIPTION Class for manage Action frame =cut package RTPG::WWW::Frame::Action; use CGI; use RTPG::WWW::Config; use RTPG::WWW::Locale qw(gettext); #use RPC::XML::base64; =head2 new Get params =cut sub new { my ($class, %opts) = @_; # Get current state $opts{$_} = cfg->get($_) for qw(action upload download_rate upload_rate); my $error; # Get RTPG object my $rtpg = RTPG->new(url => cfg->get('rpc_uri'), queue => 1); # Get list ($opts{list}, $error) = $rtpg->view_list(full => 1); $opts{error} ||= $error; # removed duplicates @{ $opts{list} } = grep { $_->{name} !~ /^(main|name)$/ } @{ $opts{list} }; # making action and name for (@{ $opts{list} }) { $_->{action} = $_->{name}; $_->{name} = ucfirst $_->{name}; } # Do commands $rtpg->set_download_rate($opts{download_rate}) if $opts{download_rate} =~ m/^\d+$/; $rtpg->set_upload_rate($opts{upload_rate}) if $opts{upload_rate} =~ m/^\d+$/; # Get information about rates ($opts{rates}, $error) = $rtpg->rates; $opts{error} ||= $error; # Sum current rates ($opts{torrents}, $error) = $rtpg->torrents_list; $opts{error} ||= $error; $opts{rates}{current_upload_rate} = 0; $opts{rates}{current_download_rate} = 0; map { $opts{rates}{current_upload_rate} += $_->{up_rate}; $opts{rates}{current_download_rate} += $_->{down_rate}; } @{ $opts{torrents} }; return bless \%opts, $class; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Frame/Add.pm0000664000175000017500000001020211430750153015565 0ustar dimkadimkause warnings; use strict; use utf8; =head1 NAME RTPG::WWW::Frame::Add =head1 DESCRIPTION Class for manage Add dialog =cut package RTPG::WWW::Frame::Add; use RTPG; use RTPG::WWW::Config; use RTPG::WWW::Locale qw(gettext); =head2 new Get params =cut sub new { my ($class, %opts) = @_; map { $opts{$_} = cfg->get($_) // '' } qw(file link start); my $rtpg = RTPG->new(url => cfg->get('rpc_uri'), queue => 1); # Add by links if ($opts{link}) { if (my @urls = grep /\S/, split /\s+/, $opts{link}) { for (@urls) { my ($result, $error) = $rtpg->add($_, $opts{start}); push @{$opts{result}}, { result => $result, error => $error, torrent => $_, type => 'link', }; } } } # Add by uploaded files if ($opts{file}) { my $fh = cfg->upload('file'); my $mime_info = cfg->upload_mime_type('file'); unless ($mime_info) { push @{$opts{result}}, { result => undef, error => gettext('Undefined file type'), torrent => $opts{file}, type => 'file', } } elsif ( !__PACKAGE__->_check_if_bencoded($fh) ) { push @{$opts{result}}, { result => undef, error => gettext('This is not torrent file'), torrent => $opts{file}, type => 'file', } } else { my ($result, $error) = $rtpg->add($fh, $opts{start}); push @{$opts{result}}, { result => $result, error => $error, torrent => $opts{file}, type => 'file', }; } } my $self = bless \%opts, $class; } =head2 _check_if_bencoded private function. returns FALSE if input data isn't torrent file. It will be rewritten if L is added into Debian. =cut sub _check_if_bencoded { my ($self, $data) = @_; return undef unless defined $data; # input data is FILE object if (ref $data) { local $/; binmode $data; my $d = <$data>; seek $data, 0, 0; # reseek for next using return $self->_check_if_bencoded($d); } # TRUE if recurse call is detected my $req_call = (caller 0)[3] ~~ (caller 1)[3]; # bencode parser for (my $i = 0; $i < length $data; $i++) { my $ss = substr $data, $i; # integers if ($ss =~ /^(i-?\d+e)/) { $i += -1 + length $1; next; } # strings if ($ss =~ /^(\d+):/) { my $nl = $1 + 1 + length $1; return undef if $nl >= length $ss; $i += $nl - 1; next; } # lists and hashes if ($ss =~ /^([ld])/) { return undef unless 2 < length $ss; $ss = substr $ss, 1; my $r = $self->_check_if_bencoded($ss); return undef unless defined $r; return undef if $i + $r + 1 >= length $data; return undef unless 'e' eq substr $data, $i + $r + 1, 1; $i += $r + 2 - 1; next; } return $i if $req_call; return undef; } return length $data; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Frame/String.pm0000664000175000017500000000216611403433613016354 0ustar dimkadimkause warnings; use strict; use utf8; =head1 NAME RTPG::WWW::Frame::String =head1 DESCRIPTION Class for javascript localization support =cut package RTPG::WWW::Frame::String; use RTPG::WWW::Locale qw(gettext); =head2 new Just bless object =cut sub new { my ($class, %opts) = @_; my $self = bless \%opts, $class; return $self; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Frame/List.pm0000664000175000017500000000562211430750153016022 0ustar dimkadimkause warnings; use strict; use utf8; =head1 NAME RTPG::WWW::Frame::List =head1 DESCRIPTION Class for manage List frame =cut package RTPG::WWW::Frame::List; use RTPG; use RTPG::WWW::Config; =head2 new Get params =cut sub new { my ($class, %opts) = @_; # Get current state $opts{$_} = cfg->get($_) for qw(action current debug do); $opts{hash} = {}; $opts{hash} = { map { $_ => 'checked' } cfg->get('hash') } if cfg->get('hash'); $opts{do} ||= 'refresh'; # If priority command then get priority level if($opts{do} =~ m/^(off|low|normal|high)$/i) { $opts{param} = RTPG::torrent_priority_num( $opts{do} ); $opts{do} = 'priority'; } # Get RTPG object my $rtpg = RTPG->new(url => cfg->get('rpc_uri'), queue => 1); {{ last if $opts{do} eq 'refresh'; my $error; # Check exists current ($opts{list}, $error) = $rtpg->torrents_list; $opts{error} ||= $error; unless( grep {$_->{hash} eq $opts{current}} @{ $opts{list} } ) { # Drop current if not in list cfg->set('current', '', 1); $opts{current} = ''; } # Skip if not checked last if !('HASH' eq ref $opts{hash} and %{$opts{hash}}) and ! $opts{current}; # Get command name my $command = $opts{do}; # Get torrents hash from checked torrents or current torrent my @torrents = keys %{ $opts{hash} }; push @torrents, $opts{current} unless @torrents; for( @torrents ) { (undef, $error) = $rtpg->$command( $_, $opts{param} ); $opts{error} ||= $error; # Update priorities if needed (undef, $error) = $rtpg->update_priorities($_) if $command eq 'priority'; $opts{error} ||= $error; } # If "delete" command drop current value cfg->set('current', $opts{current} = '', 1) if $command eq 'delete'; }} # Get list ($opts{list}, $opts{error}) = $rtpg->torrents_list( $opts{action} ); my $self = bless \%opts, $class; return $self; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Locale.pm0000664000175000017500000000626411507312473015263 0ustar dimkadimkause warnings; use strict; use utf8; use 5.10.0; =head1 RTPG::WWW::Locale Translate strings use *.po files =cut package RTPG::WWW::Locale; use base qw(Exporter); use Locale::PO; use Encode qw(is_utf8 decode); use RTPG::WWW::Config; our @EXPORT_OK = qw(po gettext); our $po; =head2 po Translate string =cut sub po { # Chache po object return $po if $po; return $po = RTPG::WWW::Locale->new(@_); } =head2 new =cut sub new { my ($class, %opts) = @_; # Set default $opts{language} ||= cfg->get('locale'); # Get available translations my @langs = map {$_->{code}} available(); warn 'No translation files' unless @langs; # Check for pod file and drop to default if not exists unless ($opts{language} ~~ @langs) { warn sprintf('Language %s not found', uc $opts{language}); $opts{language} = 'en'; } my $self = bless \%opts, $class; # Reload locale in first time $self->locale( $self->locale ); return $self; } =head2 locale Set or get current language =cut sub locale { my ($self, $language) = @_; # Return current if not specified return $self->{language} unless defined $language; # Set and reload if new language set $self->{language} = $language || 'en'; $self->{data} = Locale::PO->load_file_ashash( sprintf '%s/%s.po', cfg()->{dir}{po}, $self->{language}); return $self->{language}; } =head2 gettext Get translated string by untranslated string. Can be used as OOP and functional style. =cut sub gettext { my ($param1, $param2) = @_; my ($self, $string); # If OOP if('RTPG::WWW::Locale' eq ref $param1) { $self = $param1; $string = $param2; } # If functional else { $self = po; $string = $param1; } my $id = '"'.$string.'"'; # Return translated string if exists or as is $string = $self->{data}{$id}->dequote( $self->{data}{$id}->msgstr ) || $self->{data}{$id}->dequote( $self->{data}{$id}->msgid ) || $string if exists $self->{data}{$id}; $string = decode utf8 => $string unless is_utf8 $string; return $string; } =head2 available Get available translations =cut sub available { use Locale::Language; # Get available translations return map { { code => $_, name => code2language $_} } map { m|/(\w*?).po$| } glob sprintf '%s/*.po', cfg()->{dir}{po}; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Config.pm0000664000175000017500000002427011507312473015266 0ustar dimkadimkause warnings; use strict; use utf8; use 5.10.0; =head1 NAME RTPG::WWW::Config configuration module. =cut package RTPG::WWW::Config; use base qw(Exporter); use CGI::Simple; # Set CGI file upload parameters $CGI::Simple::POST_MAX = 2097152; #2Mb $CGI::Simple::DISABLE_UPLOADS = 0; use File::Basename; use File::Spec; our @EXPORT = qw(cfg DieDumper Dumper); ################################################################################ # This section contains some paths for use in this program # Edit this for some OS # I think no any place to change. If it`s wrong, please inform me. # (Except config file) ################################################################################ use constant RTPG_SYSTEM_CONFIG_PATH => '/etc/rtpg/rtpg.conf'; use constant RTPG_CONFIG_PATH => '~/.rtpg/rtpg.conf'; ################################################################################ =head2 cfg Get cached config object =cut sub cfg { our $config; # Cache config return $config if $config; $config = RTPG::WWW::Config->new; return $config; } sub new { my $class = shift; my %opts; $opts{dir}{config} = [ RTPG_SYSTEM_CONFIG_PATH, RTPG_CONFIG_PATH, ]; # Redefining config path from server options. $opts{dir}{config} = [ $ENV{RTPG_CONFIG} ] if $ENV{RTPG_CONFIG}; $opts{title} = "RTPG"; $opts{dir}{base} = File::Spec->rel2abs( dirname(__FILE__) . '/../../..' ); # Make clean basedir while( $opts{dir}{base} =~ s{(?:/[^\./]+/\.\.)}{}g ) {;} # Other dirs $opts{dir}{templates} = $opts{dir}{base} . '/templates'; $opts{dir}{po} = $opts{dir}{base} . '/po'; # Absolute resources dirs $opts{dir}{htdocs} = $opts{dir}{base} . '/htdocs'; $opts{dir}{css} = $opts{dir}{htdocs} . '/css'; $opts{dir}{img} = $opts{dir}{htdocs} . '/img'; $opts{dir}{js} = $opts{dir}{htdocs} . '/js'; # Relative resource urls $opts{url}{base} = $ENV{SCRIPT_NAME}; $opts{url}{base} =~ s{/[^/]*$}{/}; $opts{url}{base} = $ENV{SERVER_NAME} . $opts{url}{base}; # Get skin files path $opts{dir}{skin}{files} = $opts{dir}{htdocs} . '/skins'; my $self = bless \%opts, $class; # Load params from file $self->load_from_files or die 'Can`t load config file'; # Load params from cgi $self->load_from_cgi or die 'Can`t load cgi params'; # Get over skin files path $self->{dir}{skin}{current} = $self->{dir}{skin}{files} . '/' . $self->get('skin'); $self->{dir}{skin}{base} = $self->{dir}{templates} . '/' . $self->get('skin'); $self->{dir}{skin}{default} = $self->{dir}{templates} . '/default'; # Get over skin files url $self->{url}{skin}{current} = 'skins/' . $self->get('skin'); $self->{url}{skin}{default} = 'skins/default'; $self->{url}{skin}{panel} = $self->{url}{skin}{current} . '/panel'; $self->{url}{skin}{status} = $self->{url}{skin}{current} . '/status'; $self->{url}{skin}{mime} = $self->{url}{skin}{current} . '/mimetypes'; return $self; } =head2 load_from_files Load params from config file =cut sub load_from_files { my ($self) = @_; # Set default params $self->{param} = {}; # Flag successful loaded my $loaded = 'no'; # Loading: first default config, next over users config for my $config ( @{$self->{dir}{config}} ) { # Get abcoulete path ($config) = glob $config; # Next if file not exists next unless -f $config; # Open config file open my $file, '<', $config or warn sprintf('Can`t read config file %s : %s', $config, $!); next unless $file; # Read and parse file. Next hash write over previus configuration hash %{ $self->{param} } = ( %{ $self->{param} }, ( map{ split m/\s*=\s*/, $_, 2 } grep m/=/, map { s/#\s.*//; s/^\s*#.*//; s/\s+$//; s/^\s+//; $_ } <$file> ) ); # Close file and mark successful loaded close $file; $loaded = 'yes'; } # Cast some params to boolean $self->{param}{$_} = ($self->{param}{$_} =~ m/^(yes|on|enable|1)$/i) ?1 :0 for qw(geo_ip collapse); # Exit if no one config exists die 'Config file not exists' unless $loaded eq 'yes'; # Replace by old parameters from RTPG 0.1.x version if( exists $self->{param}{refresh_timeout} ) { $self->{param}{refresh} = $self->{param}{refresh_timeout}; delete $self->{param}{refresh_timeout}; } if( exists $self->{param}{current_skin} ) { $self->{param}{skin} = $self->{param}{current_skin}; delete $self->{param}{current_skin}; } return 1; } =head2 load_from_cgi Load params from cookie and post/get =cut sub load_from_cgi { my ($self) = @_; # Required params. This params stored in cookie. my @names = qw(action locale horizontal vertical refresh skin layout current prop); # Load params from cookie for my $name ( @names ) { next unless defined $self->cgi->cookie($name); $self->set($name, $self->cgi->cookie($name) ); } # Load params from pos/get for my $name ( $self->cgi->param(), @names ) { next unless defined $self->cgi->param($name); # Get value my $value = ($name =~ m/\[\]$/) ? [$self->cgi->param($name)] : $self->cgi->param($name); # Get clean name my ($c_name) = $name =~ m/^(\w+)(?:\[\])?$/; # Set persist flag my $persist = 0; $persist = 1 if $c_name ~~ @names; # Save param value $self->set($c_name, $value, $persist); } $self->set('action', 'default', 1) unless $self->get('action'); $self->set('horizontal', '190,*', 1) unless $self->get('horizontal'); $self->set('vertical', '*,300', 1) unless $self->get('vertical'); $self->set('refresh', '180', 1) unless $self->get('refresh') =~ m/^\d+$/; $self->set('layout', 'default', 1) unless $self->get('layout'); # Smart get current locale from browser my ($browser_locale) = $ENV{HTTP_ACCEPT_LANGUAGE} =~ m/^(\w+)/; $self->set('locale', $browser_locale||'en', 1) unless $self->get('locale'); # Get current skin and check for skin available $self->set('skin', 'default', 1) unless( $self->get('skin') ~~ @{[ keys %{$self->skins} ]} ); return 1; } =head2 cgi returns CGI object =cut sub cgi { my ($self) = @_; return $self->{'_cgi'} if $self->{'_cgi'}; return $self->{'_cgi'} = new CGI::Simple; } =head2 get $name Get parameter by $name. =cut sub get { my ($self, $name) = @_; return @{$self->{param}{$name}} if wantarray and defined $self->{param}{$name} and 'ARRAY' eq ref $self->{param}{$name}; return $self->{param}{$name} // ''; } =head2 upload $name Get uploaded file handle =cut sub upload { my ($self, $name) = @_; return $self->cgi->upload($name); } =head2 upload_mime_type $name Get uploaded file mime info =cut sub upload_mime_type { my ($self, $name) = @_; return $self->cgi->upload_info($self->cgi->param($name), 'mime'); } =head2 set $name, $value, $persist Set new $value for parameter by $name. If $persist is TRUE (default: TRUE) then store param in cookie. =cut sub set { my ($self, $name, $value, $persist) = @_; my $expires = '+2y'; $expires = 'now' unless $value; # Permanent set new state into cookies push @{ $self->{cookies} }, $self->cgi->cookie( -name => $name, -value => $value, -expires => $expires) if $persist and $value ne $self->cgi->cookie($name); $self->{param}{$name} = $value; return $value; } =head2 cookies Get cookies to response =cut sub cookies { return shift->{cookies}; } =head2 skins Get list of available skins =cut sub skins { my ($self) = @_; # Cache return $self->{skins} if $self->{skins}; # Get paths to skins my @paths = glob sprintf( '%s/*', $self->{dir}{skin}{files}); # Get skins titles my %skins; for my $path ( @paths ) { # Get name as last part of path my ($name) = $path =~ m|^.*/(.*?)$|; # Set fullpath my $file = sprintf '%s/%s/title.txt', $self->{dir}{skin}{files}, $name; # Get title from file if file accessible my $title; if( -f $file and -r _ and -s _ ) { $title = `cat $file`; s/^\s+//, s/\s+$//, s/[^\w\s.,)(]//g for $title; } # Set skin description $skins{$name} = $title || ucfirst( lc $name ); } $self->{skins} = \%skins; return $self->{skins}; } =head2 DieDumper Print all params and die =cut sub DieDumper { require Data::Dumper; $Data::Dumper::Indent = 1; $Data::Dumper::Terse = 1; $Data::Dumper::Useqq = 1; $Data::Dumper::Deepcopy = 1; $Data::Dumper::Maxdepth = 0; my $dump = Data::Dumper->Dump([@_]); $dump=~s/(\\x\{[\da-fA-F]+\})/eval "qq{$1}"/eg; die $dump; } =head2 Dumper Get all params description =cut sub Dumper { require Data::Dumper; $Data::Dumper::Indent = 1; $Data::Dumper::Terse = 1; $Data::Dumper::Useqq = 1; $Data::Dumper::Deepcopy = 1; $Data::Dumper::Maxdepth = 0; my $dump = Data::Dumper->Dump([@_]); return $dump; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG/WWW/Template.pm0000664000175000017500000001176211507312473015636 0ustar dimkadimkause warnings; use strict; use utf8; =head1 Template Module of templates processing =cut package RTPG::WWW::Template; use base qw(Template); use CGI; use Encode qw(is_utf8 decode encode); use RTPG; use RTPG::WWW::Config; use RTPG::WWW::Locale qw(gettext); =head2 process Prepare templates work and return object =cut sub new { my $class = shift; # Set human values functions to use in templates $Template::Stash::SCALAR_OPS->{as_human_size} = $Template::Stash::LIST_OPS->{as_human_size} = sub { my ($digit, $letter, $byte) = RTPG::as_human_size(shift); return 0 unless $digit; my $result = $digit; ($_) ?$result .= gettext($_) :next for $letter, $byte; return $result; }; $Template::Stash::SCALAR_OPS->{as_human_speed} = $Template::Stash::LIST_OPS->{as_human_speed} = sub { my ($digit, $letter, $byte, $div, $time) = RTPG::as_human_speed(shift); return 0 unless $digit; my $result = $digit; ($_) ?$result .= gettext($_) :next for $letter, $byte, $div, $time; return $result; }; $Template::Stash::SCALAR_OPS->{as_human_datetime} = $Template::Stash::LIST_OPS->{as_human_datetime} = sub { return RTPG::as_human_datetime(shift); }; # Other functions $Template::Stash::SCALAR_OPS->{ucfirst} = sub { return ucfirst shift }; # Debug function { no warnings qw(once); $Template::Stash::ROOT_OPS->{dump} = $Template::Stash::SCALAR_OPS->{dump} = $Template::Stash::HASH_OPS->{dump} = $Template::Stash::LIST_OPS->{dump} = sub {'###'.Dumper(@_).'###'}; } my %opts = ( RELATIVE => 1, ABSOLUTE => 1, RECURSION => 1, INCLUDE_PATH => cfg->{dir}{skin}{current} . ':' . cfg->{dir}{templates} . ':' . cfg->{dir}{skin}{default}, # PRE_CHOMP => 1, # POST_CHOMP => 1, # TRIM => 1, ENCODING => 'utf8', WRAPPER => 'main.tt.html', @_ ); # Enable template toolkit cache if( defined cfg->get('cache') and -d cfg->get('cache') ) { $opts{COMPILE_EXT} = '.ttc'; $opts{COMPILE_DIR} = cfg->get('cache'); } my $obj = $class->SUPER::new( %opts ); return $obj; } =head2 process Output template. =cut sub process { my ($self, $template, $opts) = @_; $opts = {} if !defined $opts or !%$opts; # Get output ############################################################### my ($header, $output) = ('', ''); # Get header $header = CGI->new->header( -charset => 'utf-8', -type => 'text/html', -Cache_Control => 'no-cache, no-store, max-age=0, must-revalidate', -expires => 'now', (cfg->cookies) ? (-cookie => cfg->cookies) : (), ); # Add common params $opts = { common => { }, config => cfg(), gettext => sub { return gettext(@_); }, langs => sub { return [RTPG::WWW::Locale::available()]; }, skins => sub { return cfg->skins(); }, %$opts }; # Get body $self->SUPER::process($template, $opts, \$output); # Load error page if error if( $self->error() ) { # Change to error page $template = 'error.tt.html'; # If template not found return 404 status if( $self->error() =~ m/^file error - .* not found$/ ) { $opts->{error} = { message => gettext('File not found'), status => 404 }; } # Get error message else { $opts->{error} = { message => $self->error(), status => 503 }; } # Get error page body or error message only if Template not work $self->SUPER::process($template, $opts, \$output); $output .= $self->error() if $self->error(); } # Be shure output is utf8 $output = decode( utf8 => $output ) unless is_utf8 $output; # Output ################################################################### print $header; print $output; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut rtpg-0.2.11/lib/RTPG.pm0000664000175000017500000005445111507312473013401 0ustar dimkadimka#!/usr/bin/perl use utf8; use strict; use warnings; package RTPG; use Carp; use POSIX qw(strftime); use RTPG::Direct; use RPC::XML::Client; use RPC::XML; use MIME::Types; use Fcntl qw(:flock); # international symbols in our commands $RPC::XML::ENCODING = "UTF-8"; my $SIZE_BY_CHUNKS_LIMIT=1024**3; =head1 NAME RTPG - is a module for accessing to rtorrent's SCGI functions. =head1 VERSION 0.92 =cut our $VERSION=0.93; =head1 SYNOPSIS use RTPG; # standard variant my $h = new RTPG(url=>'http://localhost/RPC2'); # direct connection to rtorrent my $h = new RTPG(url=>'localhost:5000'); my $h = new RTPG(url=>'/path/to/socket.rtorrent'); # arrayref and error (standard version) my ($tlist, $error)=$h->torrents_list; # arrayref (died version) my $tlist=$h->torrents_list; for (@$tlist) { my $file_list=$h->file_list($_->{hash}); .. } # direct commands by RPC my $list_methods=$h->rpc_command('system.listMethods'); my ($list_methods, $error)=$h->rpc_command('system.listMethods'); # system information (library versions, etc) my $hashref=$h->system_information; my ($hashref, $error)=$h->system_information; =head1 METHODS =head2 new The constructor. It receives the next options: =over =item B is an address of rtorrent's SCGI (direct) or rtorrent's RPC (standard). =item B if TRUE, commands will process in queue mode (use flock). =back =cut sub new { my ($class, %opts)=@_; croak 'XMLRPC url must be defined' unless exists $opts{url}; # XML::RPC::Client (standard variant) if ($opts{url} =~ m{^\w+://}) { my $connect=RPC::XML::Client->new($opts{url}); unless (ref $connect) { $!="Error connect to XMLRPC-server: $connect\n"; return undef; } return bless { standard => 1, rtorrent_ctl_url => $opts{url}, connection => $connect, queue_mode => $opts{queue} || 0, }, $class; } my $connect=RTPG::Direct->new(url => $opts{url}); return bless { standard => 0, rtorrent_ctl_url => $opts{url}, connection => $connect, queue_mode => $opts{queue} || 0, }; } =head2 rpc_command(CMD[,ARGS]) You can use this method for send commands to rtorrent. =head3 EXAMPLE # standard version my ($result, $error)=$h->rpc_command('system.listMethods'); # died version my $result=$h->rpc_command('system.listMethods'); =cut sub rpc_command { my $self=shift; my ($cmd, @args)=@_; my $resp; flock DATA, LOCK_EX if $self->{queue_mode}; $resp=$self->{connection}->send_request($cmd, @args); flock DATA, LOCK_UN if $self->{queue_mode}; if (ref $resp) { if ('RPC::XML::fault' eq ref $resp) { my $err_str=sprintf "Fault when execute command: %s\n" . "Fault code: %s\n" . "Fault text: %s\n", join(' ', $cmd, @args), $resp->value->{faultString}, $resp->value->{faultCode}; die $err_str unless wantarray; return (undef, $err_str); } return $resp->value unless wantarray; return $resp->value, ''; } my $err_str=sprintf "Fault when execute command: %s\n" . "Fault text: %s\n", join(' ', $cmd, @args), $resp||''; die $err_str unless wantarray; return undef, $err_str; } =head2 torrents_list([VIEW]) This method returns list of torrents. It is a link to array of hashes. =head3 EXAMPLE # standard version my ($tlist, $err)=$h->torrents_list; my ($tlist, $err)=$h->torrents_list('started'); # died version my $tlist=$h->torrents_list; my $tlist=$h->torrents_list('started'); =head3 views variants =over =item default =item name =item stopped =item started =item complete =item incomplete =back =cut our $exclude_d_mask = qr{^d\.(?:get_mode|get_custom\D*|get_bitfield)$}; sub torrents_list { my ($self, $view)=@_; $view||='default'; my @iary=eval { grep !/$exclude_d_mask/, grep /^d\.(?:get_|is_|views\.has$)/, $self->_get_list_methods; }; if ($@) { return undef, "$@" if wantarray; die $@; } my ($list, $error) = $self->rpc_command('d.multicall', $view, map { "$_=" } @iary); unless (defined $list) { die $error unless wantarray; return undef, $error; } for (@$list) { my %info; for my $i (0 .. $#iary) { my $name=$iary[$i]; $name =~ s/^..(?:get_)?//; $info{$name}=$_->[$i]; } # Set download status if( $info{hashing} ) { $info{status} = 'hashing'; } elsif( $info{complete} ) { if($info{is_active}) { $info{status} = 'seeding'; } else { $info{status} = 'finished'; } } else { if($info{is_active}) { $info{status} = 'downloading'; } else { $info{status} = 'paused'; } } $_ = _normalize_one_torrent_info(\%info); } # Set custom params count if( @$list ) { my $count = 0; for my $name ( keys %{$list->[0]} ) { next unless $name =~ '^custom(\d+)$'; $count = $1 if $1 > $count; } $_->{custom_count} = $count for @$list; } return $list unless wantarray; return $list, ''; } =head2 torrent_info(tid) The method returns the link to hash which contains the information about the torrent (tid); =head3 EXAMPLE my $tlist = $h->torrents_list; my $tinfo_first = $tlist->[0]; my $tinfo_first_second_time = $h->torrent_info($tlist->[0]{hash}); =head4 NOTE Hashes B<$tinfo_first> and B<$tinfo_first_second_time> are equal. This method can use if You know torrent-id and do not know an other information about the torrent. # standard version my ($tinfo, $error)=$h->torrent_info($tid); # died version my $tinfo=$h->torrent_info($tid); =cut sub torrent_info { my ($self, $id)=@_; my @iary=eval { grep !/$exclude_d_mask/, grep /^d\.(get_|is_)/, $self->_get_list_methods; }; if ($@) { return undef, "$@" if wantarray; die $@; } my $info={}; eval { for my $cmd (@iary) { my $name=$cmd; $name=~s/^..(?:get_)?//; $info->{$name}=$self->rpc_command($cmd, $id); } }; if ($@) { return undef, "$@" if wantarray; die $@; } return _normalize_one_torrent_info($info), '' if wantarray; return _normalize_one_torrent_info($info); } =head2 file_list(tid) The method returns the link to array which contains information about each file that belong to the torrent (tid). =head3 EXAMPLE # standard version my ($files, $error)=$h->file_list($tid); # died version my $files=$h->file_list($tid); =cut sub file_list { my ($self, $id)=@_; croak "TorrentID must be defined!\n" unless $id; my @iary=eval { grep /^f\.(get|is)/, $self->_get_list_methods; }; if ($@) { return undef, "$@" if wantarray; die $@; } my ($chunk_size, $error)=$self->rpc_command('d.get_chunk_size', $id); unless (defined $chunk_size) { die $error unless wantarray; return undef, $error; } my $list; ($list, $error) = $self->rpc_command('f.multicall', $id, '', map { "$_=" } @iary); unless (defined $list) { die $error unless wantarray; return undef, $error; } my $mimetypes = MIME::Types->new; my $unknown = MIME::Type->new( encoding => 'base64', simplified => 'unknown/unknown', type => 'x-unknown/x-unknown'); for (@$list) { my %info; for my $i (0 .. $#iary) { my $name=$iary[$i]; $name =~ s/^..(?:get_)?//; $info{$name}=$_->[$i]; } $_ = \%info; my $size_bytes=1.0*$chunk_size*$_->{size_chunks}; $_->{size_bytes}=$size_bytes if $size_bytes > $SIZE_BY_CHUNKS_LIMIT; $_->{priority_str} = ($_->{priority} == 0) ?'off' : ($_->{priority} == 1) ?'normal' : ($_->{priority} == 2) ?'high' :'unknown'; $_->{percent}=_get_percent_string( $_->{completed_chunks}, $_->{size_chunks} ); $_->{mime} = $mimetypes->mimeTypeOf( $_->{path} ) || $unknown; } return $list, '' if wantarray; return $list; } =head2 tracker_list The method returns information about trackers. =cut sub tracker_list { my ($self, $tid) = @_; my @cmd = eval { grep /^t\.(?:get_|is_)/, $self->_get_list_methods }; if ($@) { return undef, $@ if wantarray; die; } my ($r, $e) = $self->rpc_command('t.multicall', $tid, undef, map { "$_=" } @cmd); if ($e) { return undef, $e if wantarray; die $e; } @cmd = map { s/^t\.(?:get_)?//; $_ } @cmd; for my $t (@$r) { $t = { map { ($cmd[$_] => $t->[$_]) } 0 .. $#cmd }; } return ($r, $e) if wantarray; return $r; } =head2 peer_list(tid) The method returns information about peers we are connected (by torrent id). =cut sub peer_list { my ($self, $tid) = @_; my @cmd = eval { grep /^p\.(?:get_|is_)/, $self->_get_list_methods }; if ($@) { return undef, $@ if wantarray; die; } my ($list, $error) = eval { $self->rpc_command('p.multicall', $tid, undef, map { "$_=" } @cmd) }; if ($@) { return undef, $@ if wantarray; die; } unless($error) { for my $item (0 .. $#{$list}) { my %h; for (0 .. $#cmd) { (my $name = $cmd[$_]) =~ s/^p\.(?:get_)?//; $h{$name} = $list->[$item][$_]; } $list->[$item] = { %h }; } } return ($list, $error) if wantarray; return $list unless $error; die $error; } =head2 set_files_priorities(tid, pri) This method updates priorities of all files in one torrent =head3 EXAMPLE # standard version my $error=$h->set_files_priorities($tid, $pri); my ($error)=$h->set_files_priorities($tid, $pri); # died version $h->set_files_priorities($tid, $pri); =cut sub set_files_priorities { my ($self, $id, $pri)=@_; my ($list, $error) = $self->rpc_command('f.multicall', $id, '', "f.set_priority=$pri"); return $error if defined wantarray; die $error if $error; return undef; } =head2 set_file_priority Set file priority =cut sub set_file_priority { my ($self, $id, $file_index, $priority) = @_; my ($res, $error)= $self->rpc_command('f.set_priority', $id, $file_index, $priority); unless (defined $res) { return undef, "$error" if wantarray; die $error; } return $res; } =head2 update_priorities Update priorities before set_file_priority and etc. =cut sub update_priorities { my ($self, $id) = @_; my ($res, $error)= $self->rpc_command('d.update_priorities', $id); unless (defined $res) { return undef, "$error" if wantarray; die $error; } return $res; } =head2 system_information The method returns the link to hash about system information. The hash has the fields: =over =item B the version of rtorrent. =item B the version of librtorrent. =back =cut sub system_information { my $self = shift; my @info_params = qw(client_version library_version); my ($res, $err) = $self->rpc_command( 'system.multicall', [ map { { methodName => "system.$_", params => [] } } @info_params ] ); if ($err) { die $err unless wantarray; return (undef, $err); } my %res; for (0 .. $#info_params) { $res{ $info_params[$_] } = $res->[$_][0]; } return \%res, '' if wantarray; return \%res; } =head2 view_list([ARGS]) The method returns information about views in rtorrent. There are a few additional named arguments: =over =item full if TRUE, method will return additional information about view. =back =cut sub view_list { my ($self, %opts) = @_; my $info; eval { $info = $self->rpc_command('view_list'); }; if ($@) { return undef, "$@" if wantarray; die $@; } if ($opts{full}) { for (@$info) { my ($tl, $err) = $self->rpc_command( 'd.multicall', $_, 'd.get_state=' ); if ($err) { return undef, $err if wantarray; die $err; } $_ = { name => $_, count => scalar(@$tl) } } } return $info; } =head2 start Start torrent (tid) download =cut sub start { my ($self, $id) = @_; my ($res, $err); eval { ($res, $err) = $self->rpc_command('d.start', $id); die $err if $err; ($res, $err) = $self->rpc_command('d.resume', $id); die $err if $err; }; if ($@) { return undef, "$@" if wantarray; die "$@"; } return $res; } =head2 stop Stop torrent (tid) download =cut sub stop { my ($self, $id) = @_; my ($res, $err); eval { ($res, $err) = $self->rpc_command('d.stop', $id); die $err if $err; }; if ($@) { return undef, "$@" if wantarray; die $@; } return $res; } =head2 delete Delete torrent (tid) =cut sub delete { my ($self, $id) = @_; my ($res, $err); eval { ($res, $err) = $self->rpc_command('d.erase', $id); die $err if $err; }; if ($@) { return undef, "$@" if wantarray; die $@; } return $res; } =head2 pause Pause torrent (tid) =cut sub pause { my ($self, $id) = @_; my ($res, $err); eval { ($res, $err) = $self->rpc_command('d.pause', $id); die $err if $err; }; if ($@) { return undef, "$@" if wantarray; die $@; } return $res; } =head2 check Check torrent hash (tid) =cut sub check { my ($self, $id) = @_; my ($res, $err); eval { ($res, $err) = $self->rpc_command('d.check_hash', $id); die $err if $err; }; if ($@) { return undef, "$@" if wantarray; die $@; } return $res; } =head2 priority Set torrent priority (tid, priority) =cut sub priority { my ($self, $id, $priority) = @_; my ($res, $err); eval { ($res, $err) = $self->rpc_command('d.set_priority', $id, $priority); die $err if $err; }; if ($@) { return undef, "$@" if wantarray; die $@; } return $res; } =head2 set_download_rate Set maximum download rate for all torrents =cut sub set_download_rate { my ($self, $rate) = @_; my ($res, $error)=$self->rpc_command('set_download_rate', $rate); unless (defined $res) { return undef, $error if wantarray; die $error; } return $res; } =head2 set_upload_rate Set maximum upload rate for all torrents =cut sub set_upload_rate { my ($self, $rate) = @_; my ($res, $error)=$self->rpc_command('set_upload_rate', $rate); unless (defined $res) { return undef, $error if wantarray; die $error; } return $res; } =head2 rates Return varios current speed rates and etc. =cut sub rates { my ($self, $param)=@_; my (%info, $error); ($info{download_rate}, $error) = $self->rpc_command('get_download_rate') unless $error; ($info{upload_rate}, $error) = $self->rpc_command('get_upload_rate') unless $error; if ($error) { return undef, $error if wantarray; die $error; } return \%info; } =head2 add Add new torrent for download from url list or filehandle. If $start is TRUE then torrent immediately start after load. =cut sub add { my ($self, $param, $start) = @_; $param = [ $param ] unless 'ARRAY' eq ref $param; my ($res, $error); for (@$param) { if(ref $_) { local $/; binmode $_; my $torrent = RPC::XML::base64->new(<$_>); my $sub = 'load_raw'; $sub = 'load_raw_start' if $start; ($res, $error) = $self->rpc_command($sub => $torrent); } else { my $url = RPC::XML::base64->new($_); my $sub = 'load'; $sub = 'load_start' if $start; ($res, $error) = $self->rpc_command($sub => $url); } } if ($error) { return undef, $error if wantarray; die $error; } return $res; } =head1 PRIVATE METHODS =head2 _get_list_methods returns list of rtorrent commands =cut sub _get_list_methods { my $self=shift; return @{ $self->{listMethods} } if $self->{listMethods}; my $list = $self->rpc_command('system.listMethods'); return @$list; } =head2 _get_percent_string(PART_OF_VALUE,VALUE) counts percent by pair values =cut sub _get_percent_string($$) { my ($part, $full)=@_; return undef unless $full; return undef unless defined $part; return undef if $part<0; return undef if $full<0; return undef if $part>$full; my $percent=$part*100/$full; if ($percent<10) { $percent=sprintf '%1.2f', $percent; } else { $percent=sprintf '%1.1f', $percent; } s/(?<=\.\d)0$//, s/\.00?$// for $percent; return "$percent%"; } =head2 _normalize_one_torrent_info(HASHREF) =over =item calculates: percents, ratio, human_size, human_done, human_up_total, human_up_rate, human_down_rate =item fixes: 32bit overflow in libxmlrpc-c3 version < 1.07 =back =cut sub _normalize_one_torrent_info($) { my ($info)=@_; for ($info) { $_->{percent} = _get_percent_string( $_->{completed_chunks}, $_->{size_chunks} ); my ($bytes_done, $size_bytes)= ( 1.0*$_->{completed_chunks}*$_->{chunk_size}, 1.0*$_->{size_chunks}*$_->{chunk_size} ); $_->{size_bytes}=$size_bytes if $size_bytes>$SIZE_BY_CHUNKS_LIMIT; $_->{bytes_done}=$bytes_done if $bytes_done>$SIZE_BY_CHUNKS_LIMIT; $_->{up_total}=1.0*$_->{bytes_done}*($_->{ratio}/1000); $_->{ratio}=sprintf '%1.2f', $_->{ratio}/1000; $_->{ratio}=~s/((\.00)|0)$//; # $_->{human_size} = as_human_size( $_->{size_bytes} ); # $_->{human_done} = as_human_size( $_->{bytes_done} ); # $_->{human_up_total} = as_human_size( $_->{up_total} ); # $_->{human_up_rate} = as_human_speed( $_->{up_rate} ); # $_->{human_down_rate} = as_human_speed( $_->{down_rate} ); } return $info; } =head2 as_human_size(NUM) converts big numbers to small 1024 = 1K, 1024**2 == 1M, etc =cut sub as_human_size($) { my ($size, $sign) = (shift, 1); my %result = ( original => $size, digit => 0, letter => '', human => 'N/A', byte => '', ); {{ last unless $size; last unless $size >= 0; my @suffixes = ('', 'K', 'M', 'G', 'T', 'P', 'E'); my ($limit, $div) = (1024, 1); for (@suffixes) { if ($size < $limit || $_ eq $suffixes[-1]) { $size = $sign * $size / $div; if ($size < 10) { $size = sprintf "%1.2f", $size; } elsif ($size < 50) { $size = sprintf "%1.1f", $size; } else { $size = int($size); } s/(?<=\.\d)0$//, s/\.00?$// for $size; $result{digit} = $size; $result{letter} = $_; $result{byte} = 'B'; last; } $div = $limit; $limit *= 1024; } }} $result{human} = $result{digit} . $result{letter} . $result{byte}; return ($result{digit}, $result{letter}, $result{byte}, $result{human}) if wantarray; return $result{human}; } =head2 as_human_speed As as_human_size, but convert into speed =cut sub as_human_speed { my @result = as_human_size(shift); my $human = pop @result; my $byte = pop @result; push @result, 'b', '/', 's'; $human = join '', @result; push @result, $human; return @result if wantarray; return $human; } =head2 as_human_datetime Return datetime string from timestemp =cut sub as_human_datetime { # return decode utf8 => strftime '%c', localtime shift; return strftime '%F %R', localtime shift; } =head2 torrent_priority_num Convert torrent priority name to int =cut sub torrent_priority_num { my ($name) = @_; # Default normal my $num = ($name eq 'off') ?0 : ($name eq 'low') ?1 : ($name eq 'normal') ?2 : ($name eq 'high') ?3 :2; return $num; } =head2 file_priority_num Convert file priority name to int =cut sub file_priority_num { my ($name) = @_; # Default normal my $num = ($name eq 'off') ?0 : ($name eq 'normal') ?1 : ($name eq 'high') ?2 :1; return $num; } 1; =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut __DATA__ this is lock for this module rtpg-0.2.11/cache/0000775000175000017500000000000011377665570012571 5ustar dimkadimkartpg-0.2.11/htdocs/0000775000175000017500000000000011443116165012773 5ustar dimkadimkartpg-0.2.11/htdocs/robots.txt0000664000175000017500000000003211377665571015057 0ustar dimkadimkaUser-agent: * Disallow: / rtpg-0.2.11/htdocs/index.cgi0000775000175000017500000000760711443116165014603 0ustar dimkadimka#!/usr/bin/perl =head1 NAME index.cgi - controller script =head1 DEBUG For debug use addresses with debug parameter. For example: http://my_page/index.cgi?show=list&debug=1 etc. then you can see all variables for templates. =head1 AUTHORS Copyright (C) 2008 Dmitry E. Oboukhov , Copyright (C) 2008 Roman V. Nikolaev =head1 LICENSE 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 . =cut use warnings; use strict; use utf8; use open qw(:std :utf8); use CGI::Carp qw(fatalsToBrowser); use File::Basename; use File::Spec; our $VERSION = "0.2.11"; our $PROJECT_NAME = "rtpg"; use lib qw(../lib); use RTPG::WWW::Config; use RTPG::WWW::Template; use RTPG::WWW::Locale; use RTPG; # Get params ################################################################### my %params = (version => $VERSION); $params{show} = cfg->get('show') || 'index'; # Load module and get data ##################################################### my $module = 'RTPG::WWW::Frame::' . ucfirst lc $params{show}; eval "require $module"; if( $@ ) { $params{show} = 'error'; $params{error} = { message => $@, status => 503 }; } $params{data} = $module->new; if( $params{data}{error} ) { $params{show} = 'error'; $params{error} = { message => $params{data}{error}, status => 503 }; } # If debug option aviable die with params ###################################### DieDumper \%params if cfg->get('debug'); # IF some actions then redirect ################################################ # Files for this page ########################################################## for (qw(current default)) { if( -f cfg->{dir}{skin}{$_} .'/'. $params{show} .'.css' ) { push @{ cfg->{url}{skin}{css} }, cfg->{url}{skin}{$_} .'/'. $params{show} .'.css'; last; } } for (qw(current default)) { if( -f cfg->{dir}{skin}{$_} .'/'. $params{show} .'.js' ) { push @{ cfg->{url}{skin}{js} }, cfg->{url}{skin}{$_} .'/'. $params{show} .'.js'; last; } } # For some frame type add some resources if( $params{show} eq 'panel' ) { push @{ cfg->{url}{skin}{js} }, 'index.cgi?show=string&'; } elsif( $params{show} eq 'prop' ) { for (qw(current default)) { if( -f cfg->{dir}{skin}{$_} .'/prop.'. $params{data}{prop} .'.css' ) { push @{ cfg->{url}{skin}{css} }, cfg->{url}{skin}{$_} .'/prop.'. $params{data}{prop} .'.css'; last; } } for (qw(current default)) { if( -f cfg->{dir}{skin}{$_} .'/prop.'. $params{data}{prop} .'.js' ) { push @{ cfg->{url}{skin}{js} }, cfg->{url}{skin}{$_} .'/prop.'. $params{data}{prop} .'.js'; last; } } push @{ cfg->{url}{skin}{js} }, 'js/jquery.treetable.min.js'; } elsif( $params{show} eq 'list' ) { push @{ cfg->{url}{skin}{js} }, 'js/jquery.tablesorter.min.js'; } # Output ####################################################################### my ($template, $file); # Output for js strings if($params{show} eq 'string') { $template = RTPG::WWW::Template->new(WRAPPER => undef); $file = $params{show} . '.tt.js'; } # Output for html else { $template = RTPG::WWW::Template->new; $file = $params{show} . '.tt.html'; } $template->process( $file, \%params ); rtpg-0.2.11/htdocs/img/0000775000175000017500000000000011403430345013542 5ustar dimkadimkartpg-0.2.11/htdocs/img/flag0000777000175000017500000000000011403430345022175 2/usr/share/flags/countries/16x11ustar dimkadimkartpg-0.2.11/htdocs/skins/0000775000175000017500000000000011377705420014126 5ustar dimkadimkartpg-0.2.11/htdocs/skins/default/0000775000175000017500000000000011507312473015547 5ustar dimkadimkartpg-0.2.11/htdocs/skins/default/favicon.ico0000664000175000017500000000217611401703512017665 0ustar dimkadimka h(  }|{wwwsuv{WN`&Q JE T1-}qpzsdx9&k d [ RI=: gQOd}wd:!( v$ l c\ RF =5iSRdO501===^ Y ==> ; zyzzz~}}~t9:1==l!==H<eIFgQѰ@?5====XRH P$я]?GC:==f \ RNaBLI?=N Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Add dialog */ /********************************************************************* Global */ body { background-color: Background; color: WindowText; font-size: 10pt; font-family: sans; margin: 2px; } /******************************************************************** Buttons */ button{ white-space: nowrap; } button img{ text-align: center; vertical-align: middle; direction: ltr; } /********************************************************************* Common */ table.source{ width: 100%; margin-top: 10px; } table.source td.add{ text-align: center; } table.source td.close{ text-align: right; } table.source tr td.label, table.source tr td.input, table.source tr td.add, table.source tr td.close{ padding-top: 30px; } /********************************************************************** Forms */ table.source td.input input, table.source td.input textarea{ width: 100%; margin: -3px; } table.source td.note{ font-size: smaller; } /******************************************************************** Message */ div.message{ margin-top: 20pt; padding: 10pt; background-color: InfoBackground; color: InfoText; text-align: center; } div.message span.source{ font-weight: bold; } div.message span.error{ font-weight: bold; color: red; }rtpg-0.2.11/htdocs/skins/default/panel.css0000664000175000017500000000473411414620606017365 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Panel frame */ /********************************************************************* Global */ body { background-color: Menu; color: MenuText; font-size: 10pt; font-family: sans; white-space: nowrap; margin: 0px; padding: 4px; } span.panel.separator { margin-left: 5px; margin-right: 5px; width: 1px; max-width: 1px; background-color: ThreeDShadow; } input, select{ cursor: pointer; } /******************************************************************** Buttons */ #panel { clear: both; float: left; } input.panel { width: 24px; height: 24px; border: none; background-color: Menu; background-repeat: no-repeat; } input.panel.add { background-image: url("panel/add.png"); } input.panel.delete { background-image: url("panel/delete.png"); } input.panel.start { background-image: url("panel/start.png"); } input.panel.pause { background-image: url("panel/pause.png"); } input.panel.stop { background-image: url("panel/stop.png"); } input.panel.check { background-image: url("panel/check.png"); } input.panel.priority.off { background-image: url("panel/off.png"); } input.panel.priority.low { background-image: url("panel/low.png"); } input.panel.priority.normal { background-image: url("panel/normal.png"); } input.panel.priority.high { background-image: url("panel/high.png"); } input.panel.refresh { background-image: url("panel/refresh.png"); } input.panel.about { background-image: url("panel/about.png"); } /******************************************************************* Settings */ #settings { float: right; right: 0px; } div.param { float: left }rtpg-0.2.11/htdocs/skins/default/error.css0000664000175000017500000000205111403433613017403 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Errors */ /********************************************************************* Global */ body { background-color: white; color: GrayText; font-size: 10pt; font-family: sans; padding: 0px; margin: 0px; text-align: center; }rtpg-0.2.11/htdocs/skins/default/action.js0000664000175000017500000000363411414620606017365 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Action frame */ $(document).ready(function(){ $('#action tbody.item td.select :button').bind('click', on_click_action); // Additional params $('#download_rate') .bind('change', on_change_download_rate); $('#upload_rate') .bind('change', on_change_upload_rate); }); function on_click_action() { // Highlight new option $('#action tbody.item').removeClass('selected'); $(this).parent().parent().parent('tbody.item').addClass('selected'); // Set new value $.cookie('action', $(this).attr('class'), { expires: 730 }); // Update List frame with new params // alert( $(window.parent.frames.frm_list).attr('id') ); window.parent.frames['frm_list'].location = 'index.cgi?show=list&action=' + $(this).attr('class'); } function on_change_download_rate() { // Update window with new locale window.document.location = 'index.cgi?show=action&download_rate=' + $(this).val(); } function on_change_upload_rate() { // Update window with new locale window.document.location = 'index.cgi?show=action&upload_rate=' + $(this).val(); }rtpg-0.2.11/htdocs/skins/default/prop.trackers.css0000664000175000017500000000302211403433613021046 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Prop frame */ /************************************************************ Fields Trackers */ div.properties table.trackers thead, div.properties table.trackers thead tr, div.properties table.trackers thead tr th { text-align: center; background-color: ActiveCaption; color: CaptionText; padding: 4px; } div.properties table.trackers tbody, div.properties table.trackers tbody tr, div.properties table.trackers tbody tr td { } div.properties table.trackers tbody td.url { text-align: left; } div.properties table.trackers tbody td.enabled { text-align: right; } div.properties table.trackers tbody td.interval { text-align: right; } div.properties table.trackers tbody td.last_update { text-align: right; } rtpg-0.2.11/htdocs/skins/default/index.js0000664000175000017500000000216311414620606017213 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for frameset */ $(document).ready(function(){ // Save frame position on resize $(window[2]).bind('resize', function(){ $.cookie('horizontal', $('#frms_middle').attr('cols'), { expires: 730 }); $.cookie('vertical', $('#frms_content').attr('rows'), { expires: 730 }); }); }); rtpg-0.2.11/htdocs/skins/default/prop.js0000664000175000017500000000220711403433613017061 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Prop frame */ $(document).ready(function(){ // Show new prop page $('div.inlays div.item').bind('click', on_prop); }); function on_prop() { // Set new value $.cookie('prop', $(this).attr('id'), { expires: 730 }); // Update window with new locale document.location = 'index.cgi?show=prop&prop=' + $(this).attr('id'); } rtpg-0.2.11/htdocs/skins/default/status/0000775000175000017500000000000011507312472017071 5ustar dimkadimkartpg-0.2.11/htdocs/skins/default/status/stopped.png0000664000175000017500000000056211377665570021277 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDAT8Փ_ 0 IKS PЛxq`Ƈc|1Ї>BHIU1%x m^ΗS5CDm7Š@5!jD!'o ʲd"G.9c>h@Db% bȘ@U΃!R|A=9: ɠvDl 6 :.U=f_,xYf^Ճ MIENDB`rtpg-0.2.11/htdocs/skins/default/status/hashing.png0000664000175000017500000000123211377665570021235 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8RMkQ=/3*"i,Pw5EU qي.D`L JQiE.LnTDF'؄Q2ɻR] wq80"B'1>9x+f: 4̀mpv i~diN$1"ٶ]"ګ NzUs|,ÂiX[`j 4MeXq5p0n&o|8Fp~ORbDD Y#zf>c{L lFtqC+ʠ Or3{._όQYn !=r]MQ>rfrwߛfbp(};~>D8tgqEoOEM$GDl89I)m!!(`1=JBT^D*UU#*^PT=Oea.<~WCIENDB`rtpg-0.2.11/htdocs/skins/default/status/started.png0000664000175000017500000000104511377665570021264 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDAT8œKKBQ{3M,oR \#D 7=hr-Z-$K+oJZhCvaeh`aQJP5\^.Oo)lb] s3uY~YʲLEQOw T$Ȑɦ1 Z]; <B@,JB:BШE5 GB` AN*@Н{2ѿ?SÀX%IENDB`rtpg-0.2.11/htdocs/skins/default/status/incomplete.png0000664000175000017500000000130111377665570021750 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDAT8RMoQ= 0@K76Ltm&R!P2R!@B11~TILĸ(qi>9nQ]Z&kjɚקQ]q=tPRw`i?ߚWϜEϰY8m? )go9\PKFB[fxK1}*Udv{ֲd$# 􄮙+˼jcVA2!"B,ьt7 l6H'y,"$jSNs^Q}u [yqI:Bӓp"qlpIENDB`rtpg-0.2.11/htdocs/skins/default/status/sort-ascending.png0000664000175000017500000000114111377665570022533 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDAT8kSQǿ7 ͪ`}n6]}Q8D\ N$/PB_,U(Zĭ. Y_hmqI+} stjbё~j|XV"Kԫ;[O""_һ#~{;$N\KoK㕞<; By/Dmӧ%{ZOİւ80H~},&rNMl|ysowxP_&ipq?FEJ("JaS'X,=| R ߮@i6{Ϩ瀈qaR9޸JDpzn^(o];EM8k upAa63Z P_(au-sm90B633ﵴUCt:5{AXPsRIz&L= hQ$r܄IENDB`rtpg-0.2.11/htdocs/skins/default/status/complete.png0000664000175000017500000000151411377665570021427 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDAT8_HSqǿwMڦ)4'5HI"1#D(Dn֖8gy BD2KiXZiKK*uss߼SC}?pDHj\p0ݰ Fl٬heϤi5Z 4fm5FbiigO(CTa>\jWeW#B\/'{vBۭZW?Αh4ab㔊NJ'efE0'F߽Eށ|dBl_0I(DEk]ҧ_ț}u:; =ϓ^M/p)8R؊ 009R\Dd!{`0PR\b+p+pgsmTzZ/quuw嚂 kjj("9]&jkXXWI$[Ifn@eLqM9m+YjM"ŸvOdzDTc.k5E|uHD ISŃ1$Nf^$mquBBgT.`HB_Iِ Θk8Ibˢ( c ^ыFz`L RyJCnDK@"leu>jG_ ?a}?qIENDB`rtpg-0.2.11/htdocs/skins/default/status/downloading.png0000664000175000017500000000130111377665570022116 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDAT8RMoQ= 0@K76Ltm&R!P2R!@B11~TILĸ(qi>9nQ]Z&kjɚקQ]q=tPRw`i?ߚWϜEϰY8m? )go9\PKFB[fxK1}*Udv{ֲd$# 􄮙+˼jcVA2!"B,ьt7 l6H'y,"$jSNs^Q}u [yqI:Bӓp"qlpIENDB`rtpg-0.2.11/htdocs/skins/default/status/active.png0000664000175000017500000000110111377665570021062 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8MkQ;$()qׅ`v6ƒ VEWh@ XH*4 MAZpaBW#teh24ɼ. սp5eC sGg Pܼ."ϳXle_Jvs[XC[>O Io!CxXc|WX4r)p6Ln1|aiY&2s,&2s',mM#SwΆurA8%C% ?Bo.Z $$Q}K$oGT]GO_[3k)965R0e&- ’臏WTw.㕮N[p$pj5ըTwQV:"q6SVN]%;7<Uu?S2HL2x./#_`ma/h66!EIENDB`rtpg-0.2.11/htdocs/skins/default/status/info.png0000775000175000017500000000152011507312472020533 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<IDAT8}RmHQ=6D?RSҠ !+K@_AHB`AeH"Q@iS6MMʹ\xps8s*1s"IϽsi44[z(>Z- f Ί#U4^}(pdo>T*Ng`Iw- E$*>D1@Vc9@0к$WM:?IcQG)jdl 3H37LpH_t1RϤ9,&ccPb._wQMg88F,_[ AgQ d9s6Q8+T9u3.P) |ǻl(rLdeEQAZ]}&N86%9؂죂p7!ӪȅM,xsGOl'RVC`i+Ր,G^Y٧]~ozۃ@ p1BAN~3ݕHkơׂT-YzIENDB`rtpg-0.2.11/htdocs/skins/default/status/default.png0000664000175000017500000000124711377665570021246 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<$IDAT8KHTa󰌙54AY4RV,rJڴpᾝ"ڢ6B$GJ$;3bՁ:z4\ VP]@4HB[~չ6 +@[4tS@SsjaT ]TK[9oŒ đ5jj 80G07yײ=]c{ܗq(f;U.,XqJ:~V򬸯l [69h +|_{vnx>]V]t{i~#ѱ]E_IENDB`rtpg-0.2.11/htdocs/skins/default/status/question.png0000664000175000017500000000137111414620606021446 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<vIDAT8]HSqƟ%9n2uE xǍؙREu />TtlFӋa$lH$#-[ôږ9v!* z{>/CDH'ScA*om"J)m{BbN>]X7- Jo $(y9b~?-Faz1zC$*v ?7šكSl1#$10FcyjSOkv{RBR;OsP}3LBnE|~`RSr-) _XI0f 1!`8ƬH\66YrztJ\m쁱0~DE( dEh(=!(:Lm^H3m_5, G cx8TCBzIENDB`rtpg-0.2.11/htdocs/skins/default/status/sort-descending.png0000664000175000017500000000116711377665570022713 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDAT8SKA}KIhrPd!^.JEK$B[8HFnDR]vy0HzJ*8_l<t]sECQql6݁JmFPɻ;19o:5i`gS498#i#L&s$)sd2YJVh[F*[!J*{r*--̌qFp",һ7Ap!_ a$)=XA$Y })C?`?x!E R aR H4% +ۗ(6fGIENDB`rtpg-0.2.11/htdocs/skins/default/status/message.png0000664000175000017500000000125311377665570021243 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<(IDAT8ӽkSQssIcJiiuA ɥEqUŗPw7ֿAqpBTZhM4=.*T8<3=GK8oKGv]O} (2a=rq24{.+w.DNT2Tn\: "M-DLbM!Q=?7eOGJrDzFGE1 z*ɼ'&JP!0/PeEuw*a_ZuT sK+| ePn;3mk5tA$yzC+"7Ǜ[Z!?@Es1lPv(dlk?i04~tE2-Kx q*GC=.UF&nڬF51hV^fqzP&T` n>eZ>=뢿yoKUoGfSS\_hO\:g[{B)ECHU6&˼R~Fw+ƽ8'?5.u (G(򾾹t+veD#:4&ۢjUmvM>bAWQ1i,@7lsO4ѹ~XRyݷ,v۱80Fg,l>Þ8I7<گ );"JF]vT>&R"30Fy(rs oQBS: At5tbS=K  %_G7*$K$؎ !P(PV@5^@䱕B))u[iAfl>Åa. X!bI2F$s)[_XW~w'fxB!9U}G7?$tgKU+Yngh wW][SQTOQwpm,!u2kii<5b^_eFeF1/r5 4}qmumoRA!=ȎƦ@N[ƴR [kx0ŮJ/u+@]ױ*WQQX[3YYY%e|jǾ:'$&gU<.ř3$wI&IENDB`rtpg-0.2.11/htdocs/skins/default/status/paused.png0000775000175000017500000000061611507312472021066 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDAT8ՓJ1E{f鷈(~ q'菈XXi\L Q7Mp"Rb!0byN)Zu'|X^S^AJG3@XڞaVwvBu|O9=!F{PUf6463,̆1f'RUo`'n/(PT; sՅ( bw=hiƤIENDB`rtpg-0.2.11/htdocs/skins/default/status/seeding.png0000664000175000017500000000120411377665570021231 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDAT8OkQO͌8Eq~ KQK:bIu_42H`ʄ&JcL&MWRB"(dS !dby<nj̈́{~{79ǰVD R"°d6J|~ķe- ϲLmu@}c{|u@-Nr)-HpܶW̬(I2!ʕ!$IFbfVT}!J\ۭ?ZBmYUăb;tj)s^x06vƅ>L{?1q0iMM$N):]}qp`qpNW/:8(v8<Rmz^TCfrrOcIBH02Fz)mOMN?@)tΩnliwfr1Xe%XNn=z<X&wp.iDQ$!F}[?!|Oɍ ~@”HmIENDB`rtpg-0.2.11/htdocs/skins/default/prop.trackers.js0000664000175000017500000000151311403433613020675 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Prop frame, Trackers view */ rtpg-0.2.11/htdocs/skins/default/title.txt0000664000175000017500000000001011377665570017436 0ustar dimkadimkaDefault rtpg-0.2.11/htdocs/skins/default/panel.js0000664000175000017500000001745211415076733017221 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Panel frame */ var idRefreshTimer; $(document).ready(function(){ // Panel buttons $('input.panel.add') .bind('click', on_add); $('input.panel.delete') .bind('click', function(){ call('delete')}); $('input.panel.start') .bind('click', function(){ call('start') }); $('input.panel.pause') .bind('click', function(){ call('pause') }); $('input.panel.stop') .bind('click', function(){ call('stop') }); $('input.panel.check') .bind('click', function(){ call('check') }); $('input.panel.priority.off') .bind('click', function(){ call('off') }); $('input.panel.priority.low') .bind('click', function(){ call('low') }); $('input.panel.priority.normal').bind('click', function(){ call('normal')}); $('input.panel.priority.high') .bind('click', function(){ call('high') }); $('input.panel.refresh') .bind('click', on_refresh); $('input.panel.about') .bind('click', on_about); // Additional params $('#layout') .bind('change', on_change_layout); $('#locale') .bind('change', on_change_locale); $('#refresh') .bind('change', on_change_refresh); $('#skin') .bind('change', on_change_skin); // Start refresh timer $('#refresh').change(); }); /* Refresh frame by it`s number and send some command */ function refresh_frame( strFrame, strCommand ) { switch( strFrame ) { case 'frm_index': window.parent.document.location.reload(true); break; case 'frm_action': // Nothing to do if frame closed if(! window.parent.frames['frm_action'] ){ break; } window.parent.frames['frm_action'].document.location.reload(true); break; case 'frm_list': var objDoc = $(window.parent.frames['frm_list'].document); // For few checked list send request as GET //////////////////////////// if( objDoc.find('#list table.list tbody > tr') .find('> td:first :checkbox:checked').length <= 64) { objDoc.find('#form').attr('method', 'get'); } //////////////////////////////////////////////////////////////////////// objDoc.find('#do').val(strCommand); objDoc.find('#form').submit(); break; case 'frm_prop': // Nothing to do if frame closed if(! window.parent.frames['frm_prop'] ){ break; } var objDoc = $(window.parent.frames['frm_prop'].document); if( objDoc.find('#form').length ) { // For few checked list send request as GET //////////////////////// if( objDoc.find('table.files tbody > tr') .find('> td:first :checkbox:checked').length <= 256) { objDoc.find('#form').attr('method', 'get'); } //////////////////////////////////////////////////////////////////// objDoc.find('#do').val(strCommand); objDoc.find('#form').submit(); } else { window.parent.frames['frm_prop'].document.location.reload(true); } break; default: throw 'Undefined frame'; break; } } function call( strCommand ) { // Check for command if(! strCommand.length ){ throw "Command not set"; } // Restart refresh timer $('#refresh').change(); var objDocList = $(window.parent.frames['frm_list'].document); // If some checkboxs selected then submit form if( objDocList.find('input[name="hash[]"]:checked').length ){ refresh_frame('frm_list', strCommand); refresh_frame('frm_action', 'refresh'); refresh_frame('frm_prop', 'refresh'); } else{ // Get current torrent hash var objCurrent = objDocList.find('table.list tbody tr.selected'); var objCheckbox = objCurrent.find('> td:first > input[type=checkbox]'); // If have current selected torrent then send them if( objCheckbox.length ){ window.parent.frames['frm_list'].document.location = 'index.cgi?show=list' + '&do=' + strCommand + '¤t=' + objCheckbox.val(); refresh_frame('frm_action', 'refresh'); refresh_frame('frm_prop', 'refresh'); } // If no selected torrents then alert about this else { alert(STR_NO_SELECTED); } } } function on_add() { const WIDTH = 640; const HEIGHT = 480; var iTop = parseInt((screen.availHeight/2) - (HEIGHT/2)); var iLeft = parseInt((screen.availWidth/2) - (WIDTH/2)); var retVal = window.showModalDialog('index.cgi?show=add', 'add', 'resizable:yes;status:no;center:yes;unadorned:yes' + ';dialogHeight:' + HEIGHT + ';dialogWidth:' + WIDTH + ';screenX:' + iLeft + ';left:' + iLeft + ';dialogLeft:' + iLeft + ';screenY:' + iTop + ';top:' + iTop + ';dialogTop:' + iTop ); // If return TRUE then reftesh all frames if(retVal){ refresh_frame('frm_list', 'refresh'); refresh_frame('frm_action', 'refresh'); refresh_frame('frm_prop', 'refresh'); } } function on_refresh() { // Update all frames refresh_frame('frm_index', 'refresh'); } function on_about() { const WIDTH = 640; const HEIGHT = 480; var iTop = parseInt((screen.availHeight/2) - (HEIGHT/2)); var iLeft = parseInt((screen.availWidth/2) - (WIDTH/2)); var retVal = window.showModalDialog('index.cgi?show=about', 'about', 'resizable:yes;status:no;center:yes;unadorned:yes' + ';dialogHeight:' + HEIGHT + ';dialogWidth:' + WIDTH + ';screenX:' + iLeft + ';left:' + iLeft + ';dialogLeft:' + iLeft + ';screenY:' + iTop + ';top:' + iTop + ';dialogTop:' + iTop ); } function on_change_locale() { // Set new value $.cookie('locale', $(this).val(), { expires: 730 }); // Update window with new locale window.parent.document.location = 'index.cgi?locale=' + $(this).val(); } function on_change_refresh() { // Set new timeout $.cookie('refresh', $(this).val(), { expires: 730 }); // Clear interval if it already started if( idRefreshTimer ) { clearInterval(idRefreshTimer); } // Start refresh timer if refresh time selected if( $(this).val() != 0 ) { idRefreshTimer = setInterval( function(){ refresh_frame('frm_action', 'refresh'); refresh_frame('frm_list', 'refresh'); refresh_frame('frm_prop', 'refresh'); }, ($(this).val() || 180 ) * 1000 ); } } function on_change_skin() { // Set new value $.cookie('skin', $(this).val(), { expires: 730 }); // Update window with new skin window.parent.document.location = 'index.cgi?skin=' + $(this).val(); } function on_change_layout() { // Set new value $.cookie('layout', $(this).val(), { expires: 730 }); // Refresh all window.parent.document.location = 'index.cgi?layout=' + $(this).val(); }rtpg-0.2.11/htdocs/skins/default/prop.files.css0000664000175000017500000000500111403433613020331 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Prop frame */ /*************************************************************** Fields Files */ table.files thead, table.files thead tr, table.files thead tr th { text-align: center; background-color: ActiveCaption; color: CaptionText; padding: 4px; } table.files tbody, table.files tbody tr, table.files tbody tr td { } table.files tbody tr.folded{ display: none; } /* Files list */ table.files tbody td.select { text-align: center; } table.files tbody td.path { text-align: left; white-space: nowrap; } table.files tbody td.size { text-align: right; } table.files tbody td.spercent { text-align: right; } table.files tbody td.percent { text-align: center; } table.files tbody td.chunks { text-align: right; } table.files tbody td.priority { text-align: center; } /*********************************************************************** MIME */ table.files tbody tr.file td.path div.mime { white-space: nowrap; clear: none; float: left; margin-left: 2px; margin-right: 2px; text-align: right; width: 16px; } table.files tbody tr.folder td.path div.mime { cursor: pointer; white-space: nowrap; clear: none; float: left; margin-left: 2px; margin-right: 2px; text-align: right; width: 16px; } table.files tbody tr.folder.collapsed td.path div.mime { background-image: url('mimetypes/folder.png'); background-repeat: no-repeat; background-position: right; } table.files tbody tr.folder.expanded td.path div.mime { background-image: url('mimetypes/folder-open.png'); background-repeat: no-repeat; background-position: right; } table.files tbody tr td.path span.expander{ clear: both; float: left; } rtpg-0.2.11/htdocs/skins/default/prop.files.js0000664000175000017500000000724011403433613020164 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Prop frame, Files view */ $(document).ready(function(){ // Select all subdirectories if click on folder checkbox $('table.files tbody tr.folder td.select :checkbox') .bind('click', on_folder_click); // Save expanded state $('table.files tbody tr.folder') .bind('click', on_expanded_click); // Add treeview $("table.files").treeTable({ treeColumn: 1, clickableNodeNames: true, indent: 16 }); // Restore expanded state $.each( $('table.files tbody tr.folder') .find('> td.select:first input[name=expanded\[\]]'), function(i, objExpanded){ $( objExpanded ).parents('td:first').siblings('td.path').click(); }); // On mass select checkbox click $('#all_files').bind('change', on_all_change); // Priority set $('input.inlays.priority.off') .bind('click', function(){call('off') }); $('input.inlays.priority.normal').bind('click', function(){call('normal')}); $('input.inlays.priority.high') .bind('click', function(){call('high') }); }); function on_folder_click() { // Get current row var objCheckbox = $(this); var objTr = objCheckbox.parents('tr.folder:first'); // Get corrent direcory level var reLevel = new RegExp("level(\\d+)"); var iLevel = objTr.attr('class').match(reLevel)[1]; // Select all subdirectories $.each($(objTr).nextAll('tr'), function(i, objRow){ // Get row level var iRowLevel = $(objRow).attr('class').match(reLevel)[1]; // If level <= current level then it`s not subdir and stop check if(iRowLevel <= iLevel ){ return false; } // Check subdir/subfile $(objRow).find('td.select :checkbox') .attr('checked', objCheckbox.attr('checked')); }); } function on_expanded_click() { // Get current row and expahded hidden input var objTr = $(this); var objExpanded = objTr.find('td.select input[type=hidden]'); // Give name for hidden if current folder expanded. With name this hidden // will send on server in next refresh if( objTr.hasClass('expanded') ){ objExpanded.attr('name', 'expanded[]'); } else { objExpanded.attr('name', ''); } } function call( strCommand ) { // Check for command if(! strCommand.length ){ throw "Command not set"; } // Check for selected files if(! $('table.files').find('input[name="index[]"]:checked').length ){ throw "Files not selected"; } // Set priority and submit form $('#do').val(strCommand); $('#form').submit(); } function on_all_change() { // Get all state var boolChecked = $(this).attr('checked'); // Set all checkbox $.each( $('table.files tbody > tr').find('> td:first :checkbox'), function(index, objCheckbox){ $(objCheckbox).attr('checked', boolChecked); }); } rtpg-0.2.11/htdocs/skins/default/logo.png0000664000175000017500000001524611377665570017243 0ustar dimkadimkaPNG  IHDR@@iqsRGBbKGD pHYs B(xtIME1 $*&IDATx{ypu}}}`@QKQDI_rJ#dZ:'NTֺRb"@؎mJNYm9XIY)J%H{ H]USӘtޡcǎعsga`0,%+\`%^)A`9'FFFx{iwuW\Dj0n!(& 8j1'E뺓YRJrJf^^ '"1s":oY A}|ahMiƂ૑H䥎I43e-˚,knK~Gc\.)" IQ"\ŵ]#D]^}',.+6MUht6M$ٶ}^k,3QFk,#0%=NwlIWK$%$$RqT\D:2̪l6{IP) 9R;!?44t;7R)/B2""6CL'#t*MsʘFϛ Y{;'f3[BW;5."JH88-d2ə-_ܵk![cǎ3ضx2L9 S}I610}nί_ƥ{2݅tfTp3F{3Zg]0eYTq )" Z|^2 ;w߱caA^;700 phV" iO#CFcJ"KYFH)R2AD0.WK"n/+7]M=->IHٳg166%>22?ތKЛLm"/G/^,"@\"ɖ|g1p pL3 L p¨Ky%Ҩ20n\iW$FXՄPQ>DZcuD䳣7"7dCCCRsma``""DWL}9DPRutp]`@Z\'K4HJum{6E 1#ZpYHǡcǎP(33]&/͸ۇ!>]b&&3_D5m\?"Li/pax^UaH"L&aÆ j׮]i&߿a=˗/JR"Դp'ZW-$fkR&\+'& XDDaH<͛7o~addxk0k8|]WFGRM0g{,>}:O@j NөS^-Jݽ{7n _ g?~Kj,oNT\xPv  b♸iKW5 [6v̬KcK0z_7p~a&0v֭ ?Ou_Q՛F:]՛Խ,l8{lrL Rjk EQXB$aX(Ykk٫,/62leH>&opnSOUE )|^;D״m["LӼ]D,%"iD"@Pqn綍 F;yC0Dwec% q K0R7b1 :N؄ x@ojv,(ݶvQ":veZ?xW GN\vAT%FhTRhPQR*D "08`5zίFS߅k}? I\j}Kq9Jkg`UXjw+"b6,˒j^?0옏-Pذ{-9Y.`#SiI/~-GOL0jH$"JX Yr%BİPSSbA|Z X nA_&#Gς|6hhqLMA(VF 7 ,YZ ׭D V q̫Ѽ_4ZjGUs5˲0]/~e|ݼDuonIb|bPj$'u w֜:bx^./N=D￈4Cwb -Ѿ׾jp3l@,lJ'*J ",+Nna -Z( x׹V:Ct?}8}T Dk/ۀ? ` 0CnmRa0WP.ǁDղR]+xF b"q?N|kP)7Js?xn4Xpab"OȫE""x \̂vs^ Y|ӂBGƺB{*}hRr}K E1]>3KTU*T>} ,[d T*r zS5պ`ntoDW Bv=eкMjR[CEXj *}珀JAAz e|nU}L>Rv\jy%\y6C6Utȼ ` f<htk>b`_yP1˲^.J?LZS,e]ouWiQV av@SMBث65حo7>S]l>xp{:tb v9;;|>07x(ejjH$$"n*Ky%"irn"iYS`~1}܅Z*j6b\W^<.MMM]vZ̙3`@[/ RN4[#-M6h@dhׂoe ,-P 7 7ϟGPx0`-[G\4{KK?d 9oRsФXbh^uZ rnڀ-[V7gXɓ'ݻg"3BٙO)_ƲBD$,hTirK_]Բ'ۯ) ZtkG[#=@8dax#Dkcǎ9"?GGG:/R3###cW\q dY0 ţ{8zj|L_kb,(|L_׏[opj"8~8_ N,} KJ)q] >r]߂Ñ7+6>tbPallJ;~fFe?qRJ2t[˶ Qay~Q(Dƍrۭ  Ak8?%"Ν; MiӦT*kc)BAVG%7DBY)U:Hz(RJYضRfܹse;GGG]hd(Ƿ²,{nTxWg" ?mLkelkq>n0lS6o,xZP5K'''j#_qU*L&>HeY Gfiڮ}ݑ@:R|]i,vYCH `P(h'Y]3\^DA"3ijj9=MhxxDt@4J(ER쟈}Ԋsna"jm3k -bTM_ovitD!"RDǎsJ?ϿMS-B}frgg窞 3JtmX2V3GOΨ'9bIz<lfh, \ˀcZʍemd5}^vjͩ*u;'''gDfн]c'p3vuu-I&#ȸRjFD2A39 ZӇ^>gxlrll&R%TYeaۦ d"\Xڛ]wY_f^Y:J%QY"ʊȬm˲BMQ\)'8gffn( k<ϫ8GJ_<ݺIqxx8]D0ۈ"ZdI۶k˶m Gcة{gHJRqg8<ϻ=yZkcMީo{o\BDp%uXs&z 3'"O8k Bsk {IENDB`rtpg-0.2.11/htdocs/skins/default/panel/0000775000175000017500000000000011414620606016643 5ustar dimkadimkartpg-0.2.11/htdocs/skins/default/panel/refresh.png0000664000175000017500000000253511377665570021035 0ustar dimkadimkaPNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDATH[lTU=9t  -4MFV by0MI!#4 D( *+F@tvnsg/ZRAV^vqUp$h!A3(H 8<YW<9c6Y*4Yn腒4pe \{3GV%.a =FdZX; MǕ(Ƙ|o)8r媪2zgۿ7swk#2-vH MKaꔩ(--~>Q1/^Z5wn zzp@Qe~ߙ[;^nEZ.T[XX4mhkò #wO>z$)WOU^v򷮋x&l_Xk'i}JӕB0Z[ێ!y^K)r2v#I9wm R;#ᙓwR8c 0$<ܩJb\_-k '˲E1?> +/@A9{CFks$c ^xo>t |st` ݾIבReY `÷H[KmPBR`bRdrk:0/NJEc/P*  6oa 1nv݉(:@u9;|WL.6$ 7|mqꕧ?v<̶2l4ŤiM0"\fk@$@ۯZ7{g IDATH@@_uC209!9(x_PP‚~ xtaqSL%{XNEP;I s D0T=c2}5J0N={qQ`έ{< {E(Aٍ74 of<dve"1׳<'iNTW4s;{HtBDX~ 6JPE4MjE]ר*EQĭ@s1l bUk*V p1l,XW틡e 1kAǶc;ȲlJeqnj{Zz̐@ Q0EIDZXR$Rt>%vJ!btϫ*_+p>wb&$l.<}< Q-Z|6konU  [[Wx?V_8g_GΕ#IENDB`rtpg-0.2.11/htdocs/skins/default/panel/high.png0000664000175000017500000000176711377665570020324 0ustar dimkadimkaPNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< tEXtTitleZoomU+&tEXtAuthorJakub Steiner, Lapo CalamandreiT,IDATHKh$EU=Fްz^$"AD=5늫uWVL6 >V%rD,DՓ0=dǹĂ_"Ir=U?NC6UfֺaDދ/O?pZmȕCXu=I!{scZ R'\(*c !cP'jhA9 B>lfFJ)}v gh4]=̌x'/\{'o Ͷlnma %a)L/)$o~ZZ o=,+xWBQgcc[.]JȀ@˿[YY9䬻? T+c;%_}vn.(z;v$h@ ܎hU}h?Gx@{w$)j {lIENDB`rtpg-0.2.11/htdocs/skins/default/panel/close.png0000664000175000017500000000227011377665570020500 0ustar dimkadimkaPNG  IHDRw=bKGDԂ pHYs oy vpAgxLIDATHoWfʑHSFM]G QJUnbEU).DT?b+63po7¯*Uҧ J}6byFq~?z㉫ZUnj1tx?80c cF@3N8``(<D7]'047G԰%tEXtdate:create2009-11-23T17:29:25+01:00Rj%tEXtdate:modify2009-11-23T17:29:25+01:00tEXtSoftwarewww.inkscape.org<IENDB`rtpg-0.2.11/htdocs/skins/default/panel/delete.png0000664000175000017500000000331211377665570020633 0ustar dimkadimkaPNG  IHDRw=bKGDԂ pHYs oy vpAgxLIDATHǽO[? &6~~$!)Fݴb*3S0jMRiY.k G7I6`_{}o7фY?;G>:y؄YEMhtbŨTUq!' l蚰$Ң AUАd2M/?{Z mX,A /R(ۙLu~aA,kڗQשTj446~WEe__tАhΝ۔2S0J\5ݸ'~f>:5m2(>X\\D*IE<$,}} ~3L{gc|rjjjCFzMNeUEu뉄BH7_g;! # >#Nv]UUrr{": iPQQ"yJ%IBGj0;7ox;J-s ܽ/ux( +2<(. %xj躒djjrlj\*J-b1~q##f' & ~P& "&ҙKӺb3"JFHoO/fs=nr8VV`fPAxk޺ZljŢ 'dxhx2$e~~P8D*iUj_\ jbppD'$C:Zy h3T`#SS)7ۯ}\.꫹ܞM>?_Wvc|dVfgFNMqEzew;],->e#t&| ==^SiZ._bff`(軁lds3b!%IBu@N]m` m@3(83wǒ9nL6櫗dwv$rY%p8)]$K3 N+PQQlid^oo9 ZEՌRVQLv-LiL41XP (g‰6 "6l69AeE*Ra0À.eY^ /7I|քuM'`Ix|"di'gC%tEXtdate:create2009-11-23T15:57:19+01:005%tEXtdate:modify2009-11-23T15:57:19+01:00h:tEXtSoftwarewww.inkscape.org<IENDB`rtpg-0.2.11/htdocs/skins/default/panel/off.png0000664000175000017500000000226611377665570020152 0ustar dimkadimkaPNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDATHT]le=충l ]hIiVA) (} -"X.i$&[$ Pݾc"ERZZeagOr|sΜs3~뾢,"ipqϼW O@L?r! Qs':aCa½_ۡ:y-wvѲ[PKܨ' a*[BQ ]"61=5Mב._Phۦi`EiŌNr-"BxJ߲y.wņғ&}}x<>֒B +m߷MӞ#&&EPb"RTj蓞i&l, `g@ڵ6dl3e-?!$-IENDB`rtpg-0.2.11/htdocs/skins/default/panel/stop.png0000664000175000017500000000102411377665570020354 0ustar dimkadimkaPNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g rIDATH͊@FOU.#wtnVM $B܋ 's|2o0 {lܤn^$悳4t9MIΙ)`MKy07[ȐsJʷ.? א3|yc`igI)ryDPQDU}4)֤ x2@ʙ>{=!XaVl8{t1Ɠ)#mIi\*JN۶L b[wgE ,6AuzA]/ #hݩx"m9/w*XspwTd~+pe QUNw !gvAśק3RKf9POZ?//q1i'IENDB`rtpg-0.2.11/htdocs/skins/default/panel/start.png0000664000175000017500000000157511377665570020537 0ustar dimkadimkaPNG  IHDRw=sBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitleOptical Drive>g IDATHݕMhAlwIZI7DEh Cg W{B)Hă)"(RHS+F[Ŷ*E+V؃kb&Ɏ?@M[A0~{3s_B@`rYoɚfŶㄐoMt\bQ݈2\ =_N% *|XU:N4'tc"`3nJ6E>o4 O&U/XX3}#O744 xF12B./[_RuWÉHSSӰip87e*mX 2aLM|"+duR*jTMFq6$  W`Pa9"HAA* Cln, zEUխ@J t]WXRPQm;*VAx<^QE+8©H!I2"u2\9s&4m@41BD%I2'&xGuKu:o޹皪(Xb,~pJp(*c|&nzx S[eAPQSusf4pbW,_CNܝdhm}ہ)@ xn_il.]ڡw(QXVeNs:AK0 >c&? f5? yWw)IENDB`rtpg-0.2.11/htdocs/skins/default/panel/check.png0000664000175000017500000000275111377665570020454 0ustar dimkadimkaPNG  IHDRw=bKGDԂ pHYs oy vpAgxLIDATHǵmlSUvceM/e` cu KL M̠|01&fʋluelHFdFkWї v˘<>\RQ9(=EVc !8v8yX\oz{3fΗ>m96ܾ-s돞:BL&j/SUes0 t QVYQAyAZLKKcp48w48$,TqfVertVP1+@ГnRҒR M% W^aZT;T坹w2>;; ^:`pj~Q%-._P3rEQ8c*B߯rY{!_:=ߵu[U@]m4o,yڴ Ȳ BgYɵӟFa1[p˿$xH$eW#ꏞ {ê= hOETؐU9ex,*nٲiܔ1J)4bرH~,`Ewo/ޭ|C`p6SU$'%!##/#33(';@ &MBwo&Ң,M}ozUa1aDCsg(V賈$$$@4 m3f~<,k֮,l6`cA1cR6h FA r!;+}>L=~"0z8=7ohLAOҢE.|EQ[ΗZ)?FÝ;e!##^<^7$`T̯iZ==T>8WQ - K˸$IhmmEj< D"m%@dKKJF{]J+W]{a%#%  zep Heƴmg iIDATHݕ=kQ3sgwIZmڤvbH-AlRXJ&(jG@%* bDLX,&kx{=W̌h_ eщKӓFD|ĵg7^gW&_U=̜ COA463Z iUG*YzacLjUUbf l=kk.#naf`#;W`f%𝕵:yƒqYѼ́D4+AIG9-Q.'*@_KPT"J$V $!MʥrkZ&PowӨYJ}q@]ԍc#lcyX4 'bd)2Fd`o.MZ /Fu7uW.Z׌w k- D`|0IENDB`rtpg-0.2.11/htdocs/skins/default/panel/about.png0000664000175000017500000000206611414620606020467 0ustar dimkadimkaPNG  IHDRw=bKGDԂ pHYs oy vpAgxL:IDATHke?>oަIihg Uж*D:ZPapW"QBq7?`^T 2qBR誅ɨukf2-x׋eRtP>{>|ys?J|8.Sq!%HKLc{ay8p-}}ק7@<kV =L`;N7R>WV‡?rB~—9Ko@)cH[&HEPqh^.l @QW=<e_%*B Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Add dialog */ /********************************************************************* Global */ body { background-color: Background; color: WindowText; font-size: 10pt; font-family: sans; margin: 2px; } a, a:visited { color: WindowText; text-decoration: none; } a:hover { text-decoration: underline; } div { clear: both; width: 100%; text-align: center; margin-top: 2%; } /******************************************************************** Buttons */ button { white-space: nowrap; } button img { text-align: center; vertical-align: middle; direction: ltr; } /********************************************************************* Layout */ div.copyright span.nowrap, div.copyright a.nowrap{ white-space: nowrap; } div.logo { margin-top: 10%; } div.version { margin-top: 1%; font-size: 16pt; font-weight: bold; white-space: nowrap; } div.close { margin-top: 20%; }rtpg-0.2.11/htdocs/skins/default/error.js0000664000175000017500000000176511430750153017243 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Error dialog */ $(document).ready(function(){ // Try to update setInterval( function(){ document.location.reload(true) }, ($.cookie('refresh') || 180 ) * 1000 ); }); rtpg-0.2.11/htdocs/skins/default/prop.info.css0000664000175000017500000000624311403433613020173 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Prop frame */ /**************************************************************** Fields Info */ body.info { background-color: Window; } div.properties table.downloaded thead, div.properties table.downloaded thead tr, div.properties table.downloaded thead tr th, div.properties table.transfer thead, div.properties table.transfer thead tr, div.properties table.transfer thead tr th, div.properties table.tracker thead, div.properties table.tracker thead tr, div.properties table.tracker thead tr th, div.properties table.general thead, div.properties table.general thead tr, div.properties table.general thead tr th { text-align: left; color: CaptionText; background-color: ActiveCaption; } div.properties table.downloaded tbody, div.properties table.downloaded tbody tr, div.properties table.downloaded tbody tr td, div.properties table.transfer tbody, div.properties table.transfer tbody tr, div.properties table.transfer tbody tr td, div.properties table.tracker tbody, div.properties table.tracker tbody tr, div.properties table.tracker tbody tr td, div.properties table.general tbody, div.properties table.general tbody tr, div.properties table.general tbody tr td { text-align: left; padding-right: 3%; } div.properties table.downloaded tbody tr th, div.properties table.transfer tbody tr th, div.properties table.tracker tbody tr th, div.properties table.general tbody tr th { text-align: left; padding-left: 1%; font-weight: normal; } div.properties table.downloaded thead td { text-align: center; } div.properties table.downloaded thead td.percent { border: 1px ThreeDShadow solid; height: 36pt; } div.properties table.downloaded thead td.percent div.percent { background-color: Highlight; border: none; height: 100%; min-height: 100%; min-width: 0%; max-width: 100%; } div.properties table.downloaded thead td.spercent { font-size: 30pt; text-align: center; vertical-align: middle; } div.properties table.transfer { } div.properties table.tracker td.message { font-style: italic; } div.properties table.general { } div.properties table.general div.lds { clear: none; float: left; background-position: center; background-repeat: no-repeat; background-image: url("status/message.png"); max-width: 24px; width: 24px; min-width: 24px; margin: 0px; padding-left: 0px; } rtpg-0.2.11/htdocs/skins/default/list.js0000664000175000017500000001006511507312473017062 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for List frame */ var m = 0; $(document).ready(function(){ // On torrent select $('#list table.list tbody > tr').find('> td:gt(0)') .bind('click', on_click_list); // On mass select checkbox click $('#all').bind('change', on_all_change); // Add client side sorting $('#list table.list').tablesorter({ // debug: true, headers: { 0: { sorter: false }, 1: { sorter: false }, 2: { sorter: 'text' }, 3: { sorter: false }, 4: { sorter: false }, 5: { sorter: 'text' }, 6: { sorter: 'digit' }, 7: { sortet: 'procent' }, 8: { sorter: 'text' }, 9: { sorter: 'digit' }, 10: { sorter: 'digit' }, 11: { sorter: 'digit' }, 12: { sorter: 'digit' }, }, cssAsc: 'asc', cssDesc: 'desc', cssHeader: 'sortable', // sortList: [[1,0]], widgets: ['zebra'], textExtraction: function( objTd ) { return $(objTd).find('span.data').text() || $(objTd).text(); } }); }); function on_click_list() { // Check for double click. Need late. var bDouble = false; if( $(this).parents('tr:first').hasClass('selected') ){ bDouble = true; } // Set current selected $('#list table.list tbody tr').removeClass('selected'); $(this).parents('tr:first').addClass('selected'); // Set new current in cookie var strCurrent = $(this).parents('tr:first').find(':input[name="hash[]"]').val(); $.cookie('current', strCurrent, { expires: 730 }); // On double click show prop frame if( bDouble ) { var objPanel = $(window.parent.frames['frm_panel'].document); var objLayout = objPanel.find('#layout'); switch( objLayout.val() ) { case 'default' : case 'list_prop': break; case 'act_list' : $.cookie('layout', 'default', { expires: 730 }); window.parent.document.location = 'index.cgi?layout=default'; break; case 'list' : $.cookie('layout', 'list_prop', { expires: 730 }); window.parent.document.location = 'index.cgi?layout=list_prop'; break; } // Now this good code don`t work becouse jquery bug. // switch( objLayout.val() ) // { // case 'default' : // case 'list_prop': break; // case 'act_list' : objLayout.val('default').change(); break; // case 'list' : objLayout.val('list_prop').change(); break; // } } // Update prop frame if exists if( window.parent.frames['frm_prop'] ) { window.parent.frames['frm_prop'].location = 'index.cgi?show=prop¤t=' + strCurrent; } } function on_all_change() { // Get all state var boolChecked = $(this).attr('checked'); // Save in coockie $.cookie('all', boolChecked, { expires: 730 }); // Set all checkbox $.each( $('#list table.list tbody > tr').find('> td:first :checkbox'), function(index, objCheckbox){ $(objCheckbox).attr('checked', boolChecked); }); } rtpg-0.2.11/htdocs/skins/default/prop.peers.css0000664000175000017500000000502411403433613020352 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Prop frame */ /*************************************************************** Fields Peers */ body.peers { background-color: Window; } div.properties table.peers_info tbody tr th { text-align: left; padding-left: 1%; font-weight: normal; } div.properties table.peers_list { background-color: white; } div.properties table.peers_list thead, div.properties table.peers_list thead tr, div.properties table.peers_list thead tr th { text-align: center; background-color: ActiveCaption; color: CaptionText; padding: 4px; } div.properties table.peers_list tbody, div.properties table.peers_list tbody tr, div.properties table.peers_list tbody tr td { } div.properties table.peers_list tbody td.country { text-align: center; } div.properties table.peers_list tbody td.address { text-align: left; } div.properties table.peers_list tbody td.client { text-align: left; } div.properties table.peers_list tbody td.flag { text-align: center; } div.properties table.peers_list tbody td.done { text-align: right; } div.properties table.peers_list tbody td.percent { text-align: center; } div.properties table.peers_list tbody td.down_speed { text-align: right; } div.properties table.peers_list tbody td.up_speed { text-align: right; } div.properties table.peers_list tbody td.peer_rate { text-align: right; } div.properties table.peers_list tbody td.peer_total { text-align: right; } div.properties table.peers_list tbody td.down_total { text-align: right; } div.properties table.peers_list tbody td.up_total { text-align: right; } div.properties table.peers_list tbody td.peer_total { text-align: right; } div.properties table.peers_list tbody td.id { text-align: center; } rtpg-0.2.11/htdocs/skins/default/about.js0000664000175000017500000000175211414620606017221 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Add dialog */ $(document).ready(function(){ $('button.close') .bind('click', on_close); }); function on_close() { window.returnValue = true; window.close(); } rtpg-0.2.11/htdocs/skins/default/list.css0000664000175000017500000001301211507312473017231 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for List frame */ /********************************************************************* Global */ body { background-color: white; color: WindowText; font-size: 10pt; font-family: sans; padding: 0px; margin: 0px; } table.list { width: 100%; white-space: nowrap; border-collapse: collapse; } /*********************************************************************** Head */ table.list thead th { color: CaptionText; padding: 4px; background-color: ActiveCaption; border-left: 2px white solid; border-right: 2px white solid; } table.list thead th.asc { background-position: right; background-repeat: no-repeat; background-image: url("status/sort-ascending.png"); padding-right: 18px; } table.list thead th.desc { background-position: right; background-repeat: no-repeat; background-image: url("status/sort-descending.png"); padding-right: 18px; } table.list thead th.sortable { cursor: pointer; } /************************************************************** Torrents list */ table.list tbody{ cursor: pointer; } /* Special columns */ table.list tbody td.select { text-align: left; width: 1%; cursor: auto !important; } table.list tbody td.img { text-align: center; width: 16px; padding: 0px; margin: 0px; } table.list tbody td.custom { max-width: 24px; width: 24px; min-width: 24px; padding: 0px; margin: 0px; background-position: center; background-repeat: no-repeat; } table.list tbody td.custom.has_custom { background-image: url("status/info.png"); } table.list tbody td.message { max-width: 24px; width: 24px; min-width: 24px; padding: 0px; margin: 0px; } table.list tbody td.message.warning { background-position: center; background-repeat: no-repeat; background-image: url("status/message.png"); } /* Align classes */ table.list tbody td.digit { text-align: right; } table.list tbody td.info { text-align: center; } /* Rates highlight */ table.list tbody td.rate.positive { color: green; } table.list tbody td.rate.negative { color: #700; } /* Hide original data */ table.list tbody td span.data { display: none; } /*********************************************************** List alternation */ table.list tbody tr.odd td.name, table.list tbody tr.even td.custom, table.list tbody tr.odd td.message { } table.list tbody tr.even td.name, table.list tbody tr.even td.custom, table.list tbody tr.even td.message { background-color: #f0f0f0; } /************************************************************** Status images */ table.list tbody td.img div.img{ width: 16px; height: 16px; border: 0px; background-image: url("status/other.png"); text-align: center; vertical-align: middle; top: 0px; } table.list tbody td.img div.img.hashing{ background-image: url("status/hashing.png"); } table.list tbody td.img div.img.seeding{ background-image: url("status/seeding.png"); } table.list tbody td.img div.img.seeding.paused{ background-image: url("status/paused.png"); } table.list tbody td.img div.img.seeding.stoped{ background-image: url("status/stopped.png"); } table.list tbody td.img div.img.downloading{ background-image: url("status/downloading.png"); } table.list tbody td.img div.img.downloading.paused{ background-image: url("status/paused.png"); } table.list tbody td.img div.img.downloading.stoped{ background-image: url("status/stopped.png"); } /*************************************************************** Selected row */ table.list tbody tr.selected, table.list tbody tr.selected td{ background-color: Highlight !important; color: HighlightText !important; } table.list tbody tr.selected td.img{ background-color: white !important; } /*************************************************************** Inactive row */ table.list tbody tr.inactive{ } /****************************************************************** Hover row */ table.list tbody tr:hover td.num, table.list tbody tr:hover td.size, table.list tbody tr:hover td.done, table.list tbody tr:hover td.status, table.list tbody tr:hover td.peers, table.list tbody tr:hover td.down_speed, table.list tbody tr:hover td.up_speed, table.list tbody tr:hover td.rate { background-color: #f0f0f0; } /********************************************************** Percent indicator */ table.list tbody td.done div.indicator { width: 100%; border: 1px Highlight solid; height: 4px; min-height: 4px; min-width: 100%; max-width: 100%; } table.list tbody td.done div.percent{ background-color: InfoBackground; border-right: 1px Highlight solid; height: 100%; min-height: 100%; min-width: 0%; max-width: 100%; } rtpg-0.2.11/htdocs/skins/default/prop.css0000664000175000017500000001127611414620606017245 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Prop frame */ /********************************************************************* Global */ body { background-color: white; color: WindowText; font-size: 10pt; font-family: sans; padding: 0px; margin: 0px; } div.message { clear: both; width: 100%; height: 100%; min-height: 100%; max-height: 100%; text-align: center; vertical-align: middle; } h4 { white-space: nowrap; margin: 2px; } div.properties a, div.properties a:visited { color: WindowText; text-decoration: none; } div.properties a:hover { color: WindowText; text-decoration: underline; } /*********************************************************** List alternation */ div.properties table tbody tr.odd td.path, div.properties table tbody tr.odd td.url, div.properties table tbody tr.odd td.address { } div.properties table tbody tr.even td.path, div.properties table tbody tr.even td.url, div.properties table tbody tr.even td.address { background-color: #f0f0f0; } /****************************************************************** Hover row */ div.properties table tbody tr:hover td.size, div.properties table tbody tr:hover td.percent, div.properties table tbody tr:hover td.chunks, div.properties table tbody tr:hover td.priority, div.properties table tbody tr:hover td.client, div.properties table tbody tr:hover td.flag, div.properties table tbody tr:hover td.down_speed, div.properties table tbody tr:hover td.up_speed, div.properties table tbody tr:hover td.peer_rate, div.properties table tbody tr:hover td.down_total, div.properties table tbody tr:hover td.up_total, div.properties table tbody tr:hover td.peer_total, div.properties table tbody tr:hover td.enabled, div.properties table tbody tr:hover td.interval, div.properties table tbody tr:hover td.last_update { background-color: #f0f0f0; } /********************************************************** Percent indicator */ div.properties table tbody td.percent div.indicator { width: 100%; border: 1px Highlight solid; height: 4px; min-height: 4px; min-width: 100%; max-width: 100%; } div.properties table tbody td.percent div.percent{ background-color: InfoBackground; border-right: 1px Highlight solid; height: 100%; min-height: 100%; min-width: 0%; max-width: 100%; } /********************************************************************* Inlays */ div.inlays { background-color: Menu; color: MenuText; clear: both; float: left; border-bottom: 1px ThreeDShadow solid; width: 100%; position: fixed; z-index: 1; } div.item { float: left; padding-top: 5px; padding-bottom: 5px; padding-left: 10px; padding-right: 10px; cursor: pointer; } div.item.selected { color: HighlightText; background-color: Highlight; } input.inlays { width: 24px; height: 24px; border: none; background-color: Menu; background-repeat: no-repeat; } input.inlays.priority.off { background-image: url("panel/off.png"); } input.inlays.priority.low { background-image: url("panel/low.png"); } input.inlays.priority.normal { background-image: url("panel/normal.png"); } input.inlays.priority.high { background-image: url("panel/high.png"); } /***************************************************************** Properties */ div.properties { clear: both; float: left; width: 100%; top: 27px; position: relative; z-index: 0; } div.properties table { width: 100%; } /******************************************************************* Priority */ div.priority { float: right; } /***************************************************************** Wiki Links */ div.image.question { background-position: top left; background-image: url("status/question.png"); background-repeat: no-repeat; width: 16px; height: 16px; float: left; margin-left: 5px; } a.question { float: left; }rtpg-0.2.11/htdocs/skins/default/action.css0000664000175000017500000000703211414620606017535 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for Action frame */ /********************************************************************* Global */ body { background-color: white; color: WindowText; font-size: 10pt; font-family: sans; margin: 2px; } a { color: #a00; text-decoration: none; } a:visited { color: #a00; text-decoration: none; } a:hover { color: #a00; text-decoration: underline; } #action { width: 100%; border-collapse: collapse; } /*************************************************************** Items global */ table.action { width: 100%; } table.action tbody.item td { padding-top: 4px; padding-bottom: 4px; } table.action tbody.item.selected, table.action tbody.item.selected tr, table.action tbody.item.selected td { background-color: Highlight; color: HighlightText; border-color: Highlight; } table.action tbody.item td.img { width: 16px; height: 16px; background-image: url("status/other.png"); background-repeat: no-repeat; background-position: center; } table.action tbody.item input { border: none; background-color: white; width: 100%; text-align: left; cursor: pointer; } table.action tbody.item.selected input { background-color: Highlight; color: HighlightText; } table.action tbody.item td.count { padding-right: 5px; color: GrayText; text-align: right; } /*********************************************************** Items by actions */ table.action tbody.item.default td.img { background-image: url("status/default.png"); } table.action tbody.item.active td.img { background-image: url("status/active.png"); } table.action tbody.item.started td.img { background-image: url("status/started.png"); } table.action tbody.item.stopped td.img { background-image: url("status/stopped.png"); } table.action tbody.item.incomplete td.img { background-image: url("status/incomplete.png"); } table.action tbody.item.complete td.img { background-image: url("status/complete.png"); } table.action tbody.item.seeding td.img { background-image: url("status/seeding.png"); } table.action tbody.item.hashing td.img { background-image: url("status/hashing.png"); } /********************************************************************* Speeds */ table.status { position: absolute; bottom: 2px; } table.status td.down_speed_max, table.status td.up_speed_max { white-space: nowrap; } table.status td.down_speed { background-position: center left; background-repeat: no-repeat; background-image: url("status/incomplete.png"); padding-left: 20px; } table.status td.up_speed { background-position: center left; background-repeat: no-repeat; background-image: url("status/seeding.png"); padding-left: 20px; }rtpg-0.2.11/htdocs/skins/default/index.css0000664000175000017500000000163511403433613017370 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain styles for frameset */ #frms_main { border: 1px ActiveBorder solid; } #frms_middle { border: 4px ActiveBorder solid; }rtpg-0.2.11/htdocs/skins/default/prop.peers.js0000664000175000017500000000151011403433613020172 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Prop frame, Peers view */ rtpg-0.2.11/htdocs/skins/default/add.js0000664000175000017500000000206711403433613016635 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Add dialog */ $(document).ready(function(){ $('button.close') .bind('click', on_close); }); function on_close() { if($('div.message').length) { window.returnValue = true; } else { window.returnValue = false;} window.close(); } rtpg-0.2.11/htdocs/skins/default/mimetypes/0000775000175000017500000000000011377705420017566 5ustar dimkadimkartpg-0.2.11/htdocs/skins/default/mimetypes/script.png0000664000175000017500000000162111377705420021600 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitlePaper SheetstEXtAuthorLapo Calamandreiߑ*'tEXtDescriptionwith a HUGE help from JakubTIDAT8[HTQ}/`fw""u(""4! 2ˆ IAHAQ&F>A=tpI 3>f&o-X7%4?lB+4-.nZ6 jqd4}^}mxpx >@$ů߿F 00~B ŅSgd8uޭ )mF)KAڒ~ ` I)o޺v@L(Ņz|QYZ,'l)/}=N;Ѡeނ!p tPߧnڟLi;^m t>-ܜ˗_:[$Fkio Ʉk ئQVsI)fu'gxG]z`kG/;]vu8 mwR_z-IENDB`rtpg-0.2.11/htdocs/skins/default/mimetypes/video.png0000664000175000017500000000166511377705420021412 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<2IDAT8ML\ep03 e 5BE2Jh0F2ApaXchFۘSEK!Z,) Sf.ܹ? '979yEJG8GsjN5GMKgR8ynC-s4u`gN {_3,,.2nLM_m?wˋ/6rG`1Wh4JAAz|z3gϦ2Y/somz<'_ν4rW~O=-~_L2|~f~) ?@0+.rL} S}%G22r@lL2Is燹@JpTz t)p炛}Bh:sTUUjYàc{m3~ᄆ{B<~4  *kIfe|H?e%EߑFp]hShdTt&‘L&I(TTs#:ymԅpT)u5F\_aqa둍mC J{W#JҗWf"*N<u`6i5f,oGxn^E{|6ƿ'xKܼ"pʴ~ TG)nƶLLcO#NadY-oq@Jl!t68D)˙~R:}t5p703i~+V6刖 h92f[򣱯?Jtxd7,,IENDB`rtpg-0.2.11/htdocs/skins/default/mimetypes/unknown.png0000664000175000017500000000121611377665570022006 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDAT8uOkQw4nԢ"4\ VѯV ZmEt- ~fڴ5Mmyd&Sqt{^VY{bX˾kXzg6~Sd:9s@5U+E)uF31 _?3d3'%bA0=u=IENDB`rtpg-0.2.11/htdocs/skins/default/mimetypes/html.png0000664000175000017500000000155311377705420021244 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitlePaper SheetstEXtAuthorLapo Calamandreiߑ*'tEXtDescriptionwith a HUGE help from JakubTtIDAT8KQ ibRh%J̠hUVE-QX. NB(U%A!.LMgt˹p9p}s+O !:6E`b-0F;ZKwϫ߳s!kقd2a'&lOorg7W$];.E,  M1g gN6rn=}ٶр @k A*Lhq8Vܟm'n[h1hy@ @*?ֶ ()"QXC~A>eeqOxVT >"Qj*r()BAɾ\c ?CsAc ×1TX!%WO?i)'R?y>VϫTӴc d<%CNRk @*q2{>_@*֛\.WRxhG**8ʥZ<ׇ%eڸGCm92ĝoFņqؕAJ& "lc-M'B  2b*+ĜT2 \~y2m-X,Fz,>߶JG7JٖmVIENDB`rtpg-0.2.11/htdocs/skins/default/mimetypes/audio.png0000664000175000017500000000126011377705420021374 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<-IDAT8=hav.{I HD,B FB0U ;RA,,F !`$LL.~c+dއwUe;cܭz"aU *Q#`TP5+[LLL'!cEܮPx|0 09UX hG@6Obf|!I Zu*Iwib/oUJ)^ܤf^%1~jA@""<{PZd)b5CQE:ߵH֦Y` 3'ÍkbtuyT* m'{rA* EJJ(-K[@ $H8 l3pX'rLHS'vO?lXIENDB`rtpg-0.2.11/htdocs/skins/default/mimetypes/font.png0000664000175000017500000000171611377705420021247 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org<tEXtTitlePaper SheetstEXtAuthorLapo Calamandreiߑ*'tEXtDescriptionwith a HUGE help from JakubTIDAT8eKhTW&33yuP qcՕ%X,]PiO|c$b)d%v@c ȀAt2sgd2̜{b8,;G(OwBӖe7B)R ` Ām[޹wORodzm\.dB+^qX!4R{}a2?S ?$y[;KWuW4$<8gX| CD4֯\PWsVX@ 6U3~\u[*ڿjw <R+N\xĞ-_k=(Efѹ*ܤ3lm9wgn ( ,]W᧞^WKly@1֑Ķj #eߙ&a҄"!A8F)%V5Ɍu." (n555x\,jm7LjYiPJ;j\) 3_ .#<|mN^SIENDB`rtpg-0.2.11/htdocs/skins/default/mimetypes/folder-open.png0000664000175000017500000000102511377665570022517 0ustar dimkadimkaPNG  IHDRabKGD pHYs  tIME!NBItEXtCommentCreated with The GIMPd%nyIDAT8˭NA]];*I% 56ƠO%F* {M v7P (1I X( Bį9fRxp_0(|~Fit:10ۨm@JH)1-QeVEm~Hq <>C|*P OeOE8` y%4c"t88m-Uqɶ8]ub/@R1]B*5h4!XCJ )/Qz;CKm6a7)l^1!$t݀i|Uq @ᅳ'y.L3tgOJa$?bYf:Т_lCIENDB`rtpg-0.2.11/htdocs/skins/default/mimetypes/folder.png0000664000175000017500000000073711377665570021571 0ustar dimkadimkaPNG  IHDRabKGD pHYs  tIME /O)tEXtCommentCreated with The GIMPd%nCIDAT8˭JA)]M`Z_"bQR yc#`21d;a쎅a`j8sw0W+\.wwtx22=˗[躑=Yb1da@DJ,kE9qqeo$Y-.!B4a膁Bz]q+adY5•[*;v˚"Iq$\U:P6jWi4n)%(_8H>O e$EB,+3bZzJ=!Kg:]?8/Lq74]IENDB`rtpg-0.2.11/htdocs/skins/default/mimetypes/text.png0000664000175000017500000000121611377665570021273 0ustar dimkadimkaPNG  IHDRasBIT|d pHYs B(xtEXtSoftwarewww.inkscape.org< IDAT8uOkQw4nԢ"4\ VѯV ZmEt- ~fڴ5Mmyd&SOf7?WRdsOo-L%`nitr:8>!@.'[e<#O=>oa _|{xK2^k7laSW&l$IENDB`rtpg-0.2.11/htdocs/skins/default/prop.info.js0000664000175000017500000000150711403433613020015 0ustar dimkadimka/* AUTHORS Copyright (C) 2010 Dmitry E. Oboukhov Copyright (C) 2010 Roman V. Nikolaev LICENSE 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 . */ /* This file contain java scripts for Prop frame, Info view */ rtpg-0.2.11/htdocs/js/0000775000175000017500000000000011507312473013410 5ustar dimkadimkartpg-0.2.11/htdocs/js/jquery.tablesorter.min.js0000664000175000017500000003077311403430346020401 0ustar dimkadimka (function($){$.extend({tablesorter:new function(){var parsers=[],widgets=[];this.defaults={cssHeader:"header",cssAsc:"headerSortUp",cssDesc:"headerSortDown",sortInitialOrder:"asc",sortMultiSortKey:"shiftKey",sortForce:null,sortAppend:null,textExtraction:"simple",parsers:{},widgets:[],widgetZebra:{css:["even","odd"]},headers:{},widthFixed:false,cancelSelection:true,sortList:[],headerList:[],dateFormat:"us",decimal:'.',debug:false};function benchmark(s,d){log(s+","+(new Date().getTime()-d.getTime())+"ms");}this.benchmark=benchmark;function log(s){if(typeof console!="undefined"&&typeof console.debug!="undefined"){console.log(s);}else{alert(s);}}function buildParserCache(table,$headers){if(table.config.debug){var parsersDebug="";}var rows=table.tBodies[0].rows;if(table.tBodies[0].rows[0]){var list=[],cells=rows[0].cells,l=cells.length;for(var i=0;i1){arr=arr.concat(checkCellColSpan(table,headerArr,row++));}else{if(table.tHead.length==1||(cell.rowSpan>1||!r[row+1])){arr.push(cell);}}}return arr;};function checkHeaderMetadata(cell){if(($.metadata)&&($(cell).metadata().sorter===false)){return true;};return false;}function checkHeaderOptions(table,i){if((table.config.headers[i])&&(table.config.headers[i].sorter===false)){return true;};return false;}function applyWidget(table){var c=table.config.widgets;var l=c.length;for(var i=0;i');$("tr:first td",table.tBodies[0]).each(function(){colgroup.append($('').css('width',$(this).width()));});$(table).prepend(colgroup);};}function updateHeaderSortCount(table,sortList){var c=table.config,l=sortList.length;for(var i=0;ib)?1:0));};function sortTextDesc(a,b){return((ba)?1:0));};function sortNumeric(a,b){return a-b;};function sortNumericDesc(a,b){return b-a;};function getCachedSortType(parsers,i){return parsers[i].type;};this.construct=function(settings){return this.each(function(){if(!this.tHead||!this.tBodies)return;var $this,$document,$headers,cache,config,shiftDown=0,sortOrder;this.config={};config=$.extend(this.config,$.tablesorter.defaults,settings);$this=$(this);$headers=buildHeaders(this);this.config.parsers=buildParserCache(this,$headers);cache=buildCache(this);var sortCSS=[config.cssDesc,config.cssAsc];fixColumnWidth(this);$headers.click(function(e){$this.trigger("sortStart");var totalRows=($this[0].tBodies[0]&&$this[0].tBodies[0].rows.length)||0;if(!this.sortDisabled&&totalRows>0){var $cell=$(this);var i=this.column;this.order=this.count++%2;if(!e[config.sortMultiSortKey]){config.sortList=[];if(config.sortForce!=null){var a=config.sortForce;for(var j=0;j0){$this.trigger("sorton",[config.sortList]);}applyWidget(this);});};this.addParser=function(parser){var l=parsers.length,a=true;for(var i=0;i0){node.addClass("parent");} if(node.hasClass("parent")){var cell=$(node.children("td")[options.treeColumn]);var padding=getPaddingLeft(cell)+options.indent;childNodes.each(function(){$(this).children("td")[options.treeColumn].style.paddingLeft=padding+"px";});if(options.expandable){cell.prepend('');$(cell[0].firstChild).click(function(){node.toggleBranch();});if(options.clickableNodeNames){cell[0].style.cursor="pointer";$(cell).click(function(e){if(e.target.className!='expander'){node.toggleBranch();}});} if(!(node.hasClass("expanded")||node.hasClass("collapsed"))){node.addClass(options.initialState);} if(node.hasClass("expanded")){node.expand();}}}}};function move(node,destination){node.insertAfter(destination);childrenOf(node).reverse().each(function(){move($(this),node[0]);});};function parentOf(node){var classNames=node[0].className.split(' ');for(key in classNames){if(classNames[key].match(options.childPrefix)){return $("#"+classNames[key].substring(9));}}};})(jQuery);rtpg-0.2.11/htdocs/js/jquery.cookie.js0000664000175000017500000001022611403430346016531 0ustar dimkadimka/** * Cookie plugin * * Copyright (c) 2006 Klaus Hartl (stilbuero.de) * Dual licensed under the MIT and GPL licenses: * http://www.opensource.org/licenses/mit-license.php * http://www.gnu.org/licenses/gpl.html * */ /** * Create a cookie with the given name and value and other optional parameters. * * @example $.cookie('the_cookie', 'the_value'); * @desc Set the value of a cookie. * @example $.cookie('the_cookie', 'the_value', { expires: 7, path: '/', domain: 'jquery.com', secure: true }); * @desc Create a cookie with all available options. * @example $.cookie('the_cookie', 'the_value'); * @desc Create a session cookie. * @example $.cookie('the_cookie', null); * @desc Delete a cookie by passing null as value. Keep in mind that you have to use the same path and domain * used when the cookie was set. * * @param String name The name of the cookie. * @param String value The value of the cookie. * @param Object options An object literal containing key/value pairs to provide optional cookie attributes. * @option Number|Date expires Either an integer specifying the expiration date from now on in days or a Date object. * If a negative value is specified (e.g. a date in the past), the cookie will be deleted. * If set to null or omitted, the cookie will be a session cookie and will not be retained * when the the browser exits. * @option String path The value of the path atribute of the cookie (default: path of page that created the cookie). * @option String domain The value of the domain attribute of the cookie (default: domain of page that created the cookie). * @option Boolean secure If true, the secure attribute of the cookie will be set and the cookie transmission will * require a secure protocol (like HTTPS). * @type undefined * * @name $.cookie * @cat Plugins/Cookie * @author Klaus Hartl/klaus.hartl@stilbuero.de */ /** * Get the value of a cookie with the given name. * * @example $.cookie('the_cookie'); * @desc Get the value of a cookie. * * @param String name The name of the cookie. * @return The value of the cookie. * @type String * * @name $.cookie * @cat Plugins/Cookie * @author Klaus Hartl/klaus.hartl@stilbuero.de */ jQuery.cookie = function(name, value, options) { if (typeof value != 'undefined') { // name and value given, set cookie options = options || {}; if (value === null) { value = ''; options.expires = -1; } var expires = ''; if (options.expires && (typeof options.expires == 'number' || options.expires.toUTCString)) { var date; if (typeof options.expires == 'number') { date = new Date(); date.setTime(date.getTime() + (options.expires * 24 * 60 * 60 * 1000)); } else { date = options.expires; } expires = '; expires=' + date.toUTCString(); // use expires attribute, max-age is not supported by IE } // CAUTION: Needed to parenthesize options.path and options.domain // in the following expressions, otherwise they evaluate to undefined // in the packed version for some reason... var path = options.path ? '; path=' + (options.path) : ''; var domain = options.domain ? '; domain=' + (options.domain) : ''; var secure = options.secure ? '; secure' : ''; document.cookie = [name, '=', encodeURIComponent(value), expires, path, domain, secure].join(''); } else { // only name given, get cookie var cookieValue = null; if (document.cookie && document.cookie != '') { var cookies = document.cookie.split(';'); for (var i = 0; i < cookies.length; i++) { var cookie = jQuery.trim(cookies[i]); // Does this cookie string begin with the name we want? if (cookie.substring(0, name.length + 1) == (name + '=')) { cookieValue = decodeURIComponent(cookie.substring(name.length + 1)); break; } } } return cookieValue; } };rtpg-0.2.11/htdocs/js/jquery.min.js0000777000175000017500000000000011403430346026153 2/usr/share/javascript/jquery/jquery.min.jsustar dimkadimkartpg-0.2.11/po/0000775000175000017500000000000011507363215012126 5ustar dimkadimkartpg-0.2.11/po/ru.po0000664000175000017500000004216711507355055013131 0ustar dimkadimka# RTPG russian translation file. # Copyright (C) 2008 Dmitry E. Oboukhov # Copyright (C) 2008 Roman V. Nikolaev # This file is distributed under the same license as the rtpg package. # Roman V. Nikolaev , 2010. # msgid "" msgstr "" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: 2010-07-15 11:00+04\n" "Last-Translator: Roman V. Nikolaev \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: templates/default/about.tt.html: translate part: #1 msgid "Dmitry E. Oboukhov" msgstr "Dmitry E. Oboukhov" #: templates/default/about.tt.html: translate part: #2 msgid "Roman V. Nikolaev" msgstr "Roman V. Nikolaev" #: templates/default/about.tt.html: translate part: #3 msgid "Official site and bugtracker" msgstr "Официальный сайт и багтрекер" #: templates/default/about.tt.html: translate part: #4 msgid "Used" msgstr "Используется" #: templates/default/about.tt.html: translate part: #5 msgid "library" msgstr "библиотека" #: templates/default/about.tt.html: translate part: #6 #: templates/default/add.tt.html: #8 msgid "Close" msgstr "Закрыть" #: templates/default/action.tt.html: translate part: #1 #: templates/default/list.tt.html: #22 templates/default/prop.info.tt.html: #4 #: templates/default/prop.peers.tt.html: #16 msgid "Down Speed" msgstr "Загрузка" #: templates/default/action.tt.html: translate part: #2 msgid "Max" msgstr "Макс." #: templates/default/action.tt.html: translate part: #3 msgid "Select max download speed" msgstr "Выберите максимальную скорость загрузки" #: templates/default/action.tt.html: translate part: #4 msgid "Unlimited" msgstr "Неограничено" #: templates/default/action.tt.html: translate part: #5 #: templates/default/list.tt.html: #24 templates/default/prop.info.tt.html: #8 #: templates/default/prop.peers.tt.html: #17 msgid "Up Speed" msgstr "Раздача" #: templates/default/action.tt.html: translate part: #7 msgid "Select max upload speed" msgstr "Выберите максимальную скорость раздачи" #: lib/RTPG/WWW/Frame/Add.pm: translate part: #1 msgid "Undefined file type" msgstr "Неопределен тип файла" #: lib/RTPG/WWW/Frame/Add.pm: translate part: #2 msgid "This is not torrent file" msgstr "Это не торрент файл" #: templates/default/add.tt.html: translate part: #1 msgid "Link" msgstr "Ссылка" #: templates/default/add.tt.html: translate part: #2 msgid "One link per line" msgstr "Одна ссылка на строку" #: templates/default/add.tt.html: translate part: #3 msgid "Note: rTorrent don`t notify you about broken links." msgstr "Внимание! rTorrent не уведомляет о сломанных ссылках." #: templates/default/add.tt.html: translate part: #4 msgid "Just attempt to load this links." msgstr "Только пытается загрузить файлы по этим ссылкам." #: templates/default/add.tt.html: translate part: #5 msgid "File" msgstr "Файл" #: templates/default/add.tt.html: translate part: #6 msgid "Start torrent" msgstr "Запустить торрент" #: templates/default/add.tt.html: translate part: #7 msgid "Add" msgstr "Добавить" #: templates/default/add.tt.html: translate part: #9 msgid "Adding file" msgstr "Добавление файла" #: templates/default/add.tt.html: translate part: #10 msgid "Adding link" msgstr "Добавление по ссылке" #: templates/default/add.tt.html: translate part: #11 msgid "Internal error" msgstr "Интервал" #: templates/default/add.tt.html: translate part: #12 #: templates/default/list.tt.html: #16 templates/default/prop.files.tt.html: #: #4 msgid "Done" msgstr "Готово" #: templates/default/error.tt.html: translate part: #1 msgid "Error" msgstr "Ошибка" #: templates/default/error.tt.html: translate part: #2 msgid "rTorrent not started or access restricted." msgstr "rTorrent не запущен или доступ к нему запрещен." #: templates/default/list.tt.html: translate part: #1 msgid "Main torrents list" msgstr "Главный список торрентов" #: templates/default/list.tt.html: translate part: #2 #: templates/default/prop.files.tt.html: #1 msgid "Select/Unselect all" msgstr "Выбрать/Сбросить все" #: templates/default/list.tt.html: translate part: #3 msgid "St" msgstr "Ст" #: templates/default/list.tt.html: translate part: #4 msgid "Status" msgstr "Статус" #: templates/default/list.tt.html: translate part: #5 msgid "Nm" msgstr "Имя" #: templates/default/list.tt.html: translate part: #6 msgid "Name" msgstr "Имя файла" #: templates/default/list.tt.html: translate part: #7 #, fuzzy msgid "Cs" msgstr "с" #: templates/default/list.tt.html: translate part: #8 msgid "Custom" msgstr "Пользовательский параметр" #: templates/default/list.tt.html: translate part: #9 #, fuzzy msgid "Msg" msgstr "Сообщение" #: templates/default/list.tt.html: translate part: #10 #: templates/default/prop.info.tt.html: #11 msgid "Message" msgstr "Сообщение" #: templates/default/list.tt.html: translate part: #11 msgid "Pr" msgstr "Пр" #: templates/default/list.tt.html: translate part: #12 #: templates/default/prop.files.tt.html: #6 msgid "Priority" msgstr "Приоритет" #: templates/default/list.tt.html: translate part: #13 msgid "Sz" msgstr "Рз" #: templates/default/list.tt.html: translate part: #14 #: templates/default/prop.files.tt.html: #3 msgid "Size" msgstr "Размер" #: templates/default/list.tt.html: translate part: #15 msgid "Dn" msgstr "%" #: templates/default/list.tt.html: translate part: #19 msgid "Pe" msgstr "Пиры" #: templates/default/list.tt.html: translate part: #20 #: templates/default/prop.tt.html: #2 msgid "Peers" msgstr "Пиры" #: templates/default/list.tt.html: translate part: #21 msgid "DS" msgstr "СЗ" #: templates/default/list.tt.html: translate part: #23 msgid "US" msgstr "СР" #: templates/default/list.tt.html: translate part: #25 msgid "Rt" msgstr "Р" #: templates/default/list.tt.html: translate part: #26 msgid "Rate" msgstr "Рейтинг" #: templates/default/list.tt.html: translate part: #28 msgid "Hashing" msgstr "Проверка" #: templates/default/list.tt.html: translate part: #29 msgid "Seeding" msgstr "Раздача" #: templates/default/list.tt.html: translate part: #30 msgid "Finished" msgstr "Завершено" #: templates/default/list.tt.html: translate part: #31 msgid "Downloading" msgstr "Закачка" #: templates/default/list.tt.html: translate part: #32 msgid "Paused" msgstr "Пауза" #: templates/default/list.tt.html: translate part: #33 #, fuzzy msgid "Stoped" msgstr "Остановлено" #: templates/default/panel.tt.html: translate part: #1 #: templates/default/string.tt.js: msgid "Add new torrent" msgstr "Добавить новый торрент" #: templates/default/panel.tt.html: translate part: #2 msgid "Delete selected torrents" msgstr "Удалить выделенные торренты" #: templates/default/panel.tt.html: translate part: #3 msgid "Start selected torrents" msgstr "Запустить выделенные торренты" #: templates/default/panel.tt.html: translate part: #4 msgid "Pause selected torrents" msgstr "Приостановить выделенные торренты" #: templates/default/panel.tt.html: translate part: #5 msgid "Stop selected torrents" msgstr "Остановить выделенные торренты" #: templates/default/panel.tt.html: translate part: #6 msgid "Check selected torrents for errors" msgstr "Проверить выделенные торренты на ошибки" #: templates/default/panel.tt.html: translate part: #8 msgid "Set low priority for selected torrents" msgstr "Установить минимальный приоритет для выделенных торрентов" #: templates/default/panel.tt.html: translate part: #9 msgid "Set normal priority for selected torrents" msgstr "Установить обычный приоритет для выделенных торрентов" #: templates/default/panel.tt.html: translate part: #10 msgid "Set high priority for selected torrents" msgstr "Установить высокий приоритет для выделенных торрентов" #: templates/default/panel.tt.html: translate part: #11 msgid "Refresh" msgstr "Обновить" #: templates/default/panel.tt.html: translate part: #12 msgid "About" msgstr "О программе" #: templates/default/panel.tt.html: translate part: #13 msgid "All" msgstr "Все" #: templates/default/panel.tt.html: translate part: #14 msgid "List" msgstr "Список" #: templates/default/panel.tt.html: translate part: #15 msgid "Actions and List" msgstr "Действия и Список" #: templates/default/panel.tt.html: translate part: #16 msgid "List and Props" msgstr "Список и Свойства" #: templates/default/panel.tt.html: translate part: #17 msgid "Select layout" msgstr "Выбрать расположение" #: templates/default/panel.tt.html: translate part: #18 msgid "Select refresh interval" msgstr "Выбрать интервал обновления" #: templates/default/panel.tt.html: translate part: #19 msgid "sec." msgstr "сек." #: templates/default/panel.tt.html: translate part: #20 msgid "min." msgstr "мин." #: templates/default/panel.tt.html: translate part: #21 #: templates/default/prop.trackers.tt.html: #7 msgid "Never" msgstr "Никогда" #: templates/default/panel.tt.html: translate part: #22 msgid "Select skin" msgstr "Выбрать обложку" #: templates/default/panel.tt.html: translate part: #23 msgid "Select language" msgstr "Выбрать язык" #: templates/default/prop.files.tt.html: translate part: #2 msgid "Path" msgstr "Путь" #: templates/default/prop.files.tt.html: translate part: #5 #: templates/default/prop.info.tt.html: #14 templates/default/prop.tt.html: msgid "Chunks" msgstr "Блоков" #: templates/default/prop.info.tt.html: translate part: #1 msgid "Downloaded" msgstr "Скачано" #: templates/default/prop.info.tt.html: translate part: #2 #: templates/default/prop.tt.html: #6 msgid "Transfer" msgstr "Передача" #: templates/default/prop.info.tt.html: translate part: #5 #: templates/default/prop.peers.tt.html: #2 msgid "Peers connected" msgstr "Пиров подключено" #: templates/default/prop.info.tt.html: translate part: #6 msgid "from" msgstr "из" #: templates/default/prop.info.tt.html: translate part: #7 msgid "Uploaded" msgstr "Роздано" #: templates/default/prop.info.tt.html: translate part: #9 #: templates/default/prop.peers.tt.html: #5 msgid "Peers not connected" msgstr "Пиров ожидает" #: templates/default/prop.info.tt.html: translate part: #10 msgid "Tracker" msgstr "Трекер" #: templates/default/prop.info.tt.html: translate part: #12 msgid "General" msgstr "Общий" #: templates/default/prop.info.tt.html: translate part: #13 msgid "Directory" msgstr "Директория" #: templates/default/prop.info.tt.html: translate part: #15 msgid "x" msgstr "x" #: templates/default/prop.info.tt.html: translate part: #16 msgid "done" msgstr "завершено" #: templates/default/prop.info.tt.html: translate part: #17 msgid "Total size" msgstr "Размер" #: templates/default/prop.info.tt.html: translate part: #19 msgid "free diskspace" msgstr "свободно на диске" #: templates/default/prop.info.tt.html: translate part: #20 msgid "need more" msgstr "нужно" #: templates/default/prop.info.tt.html: translate part: #21 msgid "Low disk space" msgstr "На диске осталось мало места" #: templates/default/prop.info.tt.html: translate part: #22 msgid "Hash" msgstr "Хеш" #: templates/default/prop.info.tt.html: translate part: #23 msgid "Created On" msgstr "Создан" #: templates/default/prop.info.tt.html: translate part: #24 msgid "Local ID" msgstr "Локальный ID" #: templates/default/prop.info.tt.html: translate part: #25 msgid "Comment" msgstr "Комментарий" #: templates/default/prop.peers.tt.html: translate part: #1 msgid "Peers properties" msgstr "Свойства пиров" #: templates/default/prop.peers.tt.html: translate part: #3 msgid "Peers accounted" msgstr "Скачивают" #: templates/default/prop.peers.tt.html: translate part: #4 msgid "Peers max" msgstr "Максимум пиров" #: templates/default/prop.peers.tt.html: translate part: #6 msgid "Peers complete" msgstr "Раздают целиком" #: templates/default/prop.peers.tt.html: translate part: #7 msgid "Peers min" msgstr "Минимум пиров" #: templates/default/prop.peers.tt.html: translate part: #8 msgid "Peers exchange" msgstr "Обмен пирами" #: templates/default/prop.peers.tt.html: translate part: #9 msgid "on" msgstr "включено" #: templates/default/prop.peers.tt.html: translate part: #10 msgid "off" msgstr "выключено" #: templates/default/prop.peers.tt.html: translate part: #11 msgid "Peers list" msgstr "Список пиров" #: templates/default/prop.peers.tt.html: translate part: #12 msgid "IP : Port" msgstr "IP : Порт" #: templates/default/prop.peers.tt.html: translate part: #13 msgid "Client" msgstr "Клиент" #: templates/default/prop.peers.tt.html: translate part: #14 msgid "Flags" msgstr "Флаги" #: templates/default/prop.peers.tt.html: translate part: #15 msgid "Available" msgstr "Доступно" #: templates/default/prop.peers.tt.html: translate part: #18 msgid "Peer Rate" msgstr "Скорость пира" #: templates/default/prop.peers.tt.html: translate part: #19 msgid "Down Total" msgstr "Закачано" #: templates/default/prop.peers.tt.html: translate part: #20 msgid "Up Total" msgstr "Роздано" #: templates/default/prop.peers.tt.html: translate part: #21 msgid "Peer Total" msgstr "Всего для пира" #: templates/default/prop.peers.tt.html: translate part: #22 msgid "Id" msgstr "Id" #: templates/default/prop.peers.tt.html: translate part: #23 msgid "Inc" msgstr "Inc" #: templates/default/prop.peers.tt.html: translate part: #24 msgid "Enc" msgstr "Enc" #: templates/default/prop.peers.tt.html: translate part: #25 msgid "Obf" msgstr "Obf" #: templates/default/prop.peers.tt.html: translate part: #26 msgid "Snub" msgstr "Snub" #: lib/RTPG/WWW/Frame/Prop.pm: translate part: #1 #: templates/default/prop.tt.html: #11 msgid "Unknown property page" msgstr "Неизвестная страница свойств" #: templates/default/prop.trackers.tt.html: translate part: #1 msgid "Url" msgstr "Адрес" #: templates/default/prop.trackers.tt.html: translate part: #2 msgid "Enabled" msgstr "Включено" #: templates/default/prop.trackers.tt.html: translate part: #3 msgid "Interval" msgstr "Интервал" #: templates/default/prop.trackers.tt.html: translate part: #4 msgid "Last Update" msgstr "Последнее обновление" #: templates/default/prop.trackers.tt.html: translate part: #5 msgid "Yes" msgstr "Да" #: templates/default/prop.trackers.tt.html: translate part: #6 msgid "No" msgstr "Нет" #: templates/default/prop.tt.html: translate part: #1 msgid "Info" msgstr "Инфо" #: templates/default/prop.tt.html: translate part: #3 msgid "Files" msgstr "Файлы" #: templates/default/prop.tt.html: translate part: #4 msgid "Trackers" msgstr "Трекер" #: templates/default/prop.tt.html: translate part: #7 msgid "Skip selected files" msgstr "Пропустить выбранные файлы" #: templates/default/prop.tt.html: translate part: #8 msgid "Set normal priority for selected files" msgstr "Установить обычный приоритет для выбранных файлов" #: templates/default/prop.tt.html: translate part: #9 msgid "Set high priority for selected files" msgstr "Установить высокий приоритет для выбранных файлов" #: templates/default/prop.tt.html: translate part: #10 msgid "Select torrent to show" msgstr "Выберите торрент для просмотра" #: templates/default/string.tt.js: translate part: #2 msgid "No current torrent selected" msgstr "Не выбран торрент" #: lib/RTPG/WWW/Template.pm: translate part: #1 msgid "File not found" msgstr "Файл не найден" msgid "Active" msgstr "Активные" msgid "Started" msgstr "Запущено" msgid "Stopped" msgstr "Остановлено" msgid "Complete" msgstr "Завершено" msgid "Incomplete" msgstr "Не завершено" msgid "Default" msgstr "По умолчанию" msgid "low" msgstr "низкий" msgid "normal" msgstr "обычный" msgid "high" msgstr "высокий" msgid "unknown" msgstr "неизвестно" msgid "K" msgstr "К" msgid "M" msgstr "М" msgid "G" msgstr "Г" msgid "T" msgstr "Т" msgid "P" msgstr "П" msgid "E" msgstr "Е" msgid "B" msgstr "Б" msgid "b" msgstr "б" msgid "/" msgstr "/" msgid "s" msgstr "с" rtpg-0.2.11/po/TEMPLATE.pot0000664000175000017500000005505311507355055014100 0ustar dimkadimka# #-#-#-#-# about.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# action.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# Add.pm.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# add.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# error.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# list.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# panel.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# prop.files.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# prop.info.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# prop.peers.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# Prop.pm.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# prop.trackers.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# prop.tt.html.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# string.tt.js.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# Template.pm.pot (rtpg) #-#-#-#-# # SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # # #-#-#-#-# STATIC.pot (rtpg) #-#-#-#-# # RTPG static strings translation template file. # Copyright (C) 2008 Dmitry E. Oboukhov # Copyright (C) 2008 Roman V. Nikolaev # This file is distributed under the same license as the rtpg package. # Roman V. Nikolaev , 2010. #, fuzzy msgid "" msgstr "" "#-#-#-#-# about.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# action.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# Add.pm.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# add.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# error.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# list.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# panel.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# prop.files.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# prop.info.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# prop.peers.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# Prop.pm.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# prop.trackers.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# prop.tt.html.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# string.tt.js.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# Template.pm.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" "#-#-#-#-# STATIC.pot (rtpg) #-#-#-#-#\n" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: Roman V. Nikolaev \n" "POT-Creation-Date: 2010-05-20 14:00+04\n" "PO-Revision-Date: 2010-05-20 18:00+04\n" "Last-Translator: Roman V. Nikolaev \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: templates/default/about.tt.html: translate part: #1 msgid "Dmitry E. Oboukhov" msgstr "" #: templates/default/about.tt.html: translate part: #2 msgid "Roman V. Nikolaev" msgstr "" #: templates/default/about.tt.html: translate part: #3 msgid "Official site and bugtracker" msgstr "" #: templates/default/about.tt.html: translate part: #4 msgid "Used" msgstr "" #: templates/default/about.tt.html: translate part: #5 msgid "library" msgstr "" #: templates/default/about.tt.html: translate part: #6 #: templates/default/add.tt.html: #8 msgid "Close" msgstr "" #: templates/default/action.tt.html: translate part: #1 #: templates/default/list.tt.html: #22 templates/default/prop.info.tt.html: #4 #: templates/default/prop.peers.tt.html: #16 msgid "Down Speed" msgstr "" #: templates/default/action.tt.html: translate part: #2 msgid "Max" msgstr "" #: templates/default/action.tt.html: translate part: #3 msgid "Select max download speed" msgstr "" #: templates/default/action.tt.html: translate part: #4 msgid "Unlimited" msgstr "" #: templates/default/action.tt.html: translate part: #5 #: templates/default/list.tt.html: #24 templates/default/prop.info.tt.html: #8 #: templates/default/prop.peers.tt.html: #17 msgid "Up Speed" msgstr "" #: templates/default/action.tt.html: translate part: #7 msgid "Select max upload speed" msgstr "" #: lib/RTPG/WWW/Frame/Add.pm: translate part: #1 msgid "Undefined file type" msgstr "" #: lib/RTPG/WWW/Frame/Add.pm: translate part: #2 msgid "This is not torrent file" msgstr "" #: templates/default/add.tt.html: translate part: #1 msgid "Link" msgstr "" #: templates/default/add.tt.html: translate part: #2 msgid "One link per line" msgstr "" #: templates/default/add.tt.html: translate part: #3 msgid "Note: rTorrent don`t notify you about broken links." msgstr "" #: templates/default/add.tt.html: translate part: #4 msgid "Just attempt to load this links." msgstr "" #: templates/default/add.tt.html: translate part: #5 msgid "File" msgstr "" #: templates/default/add.tt.html: translate part: #6 msgid "Start torrent" msgstr "" #: templates/default/add.tt.html: translate part: #7 msgid "Add" msgstr "" #: templates/default/add.tt.html: translate part: #9 msgid "Adding file" msgstr "" #: templates/default/add.tt.html: translate part: #10 msgid "Adding link" msgstr "" #: templates/default/add.tt.html: translate part: #11 msgid "Internal error" msgstr "" #: templates/default/add.tt.html: translate part: #12 #: templates/default/list.tt.html: #16 templates/default/prop.files.tt.html: #: #4 msgid "Done" msgstr "" #: templates/default/error.tt.html: translate part: #1 msgid "Error" msgstr "" #: templates/default/error.tt.html: translate part: #2 msgid "rTorrent not started or access restricted." msgstr "" #: templates/default/list.tt.html: translate part: #1 msgid "Main torrents list" msgstr "" #: templates/default/list.tt.html: translate part: #2 #: templates/default/prop.files.tt.html: #1 msgid "Select/Unselect all" msgstr "" #: templates/default/list.tt.html: translate part: #3 msgid "St" msgstr "" #: templates/default/list.tt.html: translate part: #4 msgid "Status" msgstr "" #: templates/default/list.tt.html: translate part: #5 msgid "Nm" msgstr "" #: templates/default/list.tt.html: translate part: #6 msgid "Name" msgstr "" #: templates/default/list.tt.html: translate part: #7 msgid "Cs" msgstr "" #: templates/default/list.tt.html: translate part: #8 msgid "Custom" msgstr "" #: templates/default/list.tt.html: translate part: #9 msgid "Msg" msgstr "" #: templates/default/list.tt.html: translate part: #10 #: templates/default/prop.info.tt.html: #11 msgid "Message" msgstr "" #: templates/default/list.tt.html: translate part: #11 msgid "Pr" msgstr "" #: templates/default/list.tt.html: translate part: #12 #: templates/default/prop.files.tt.html: #6 msgid "Priority" msgstr "" #: templates/default/list.tt.html: translate part: #13 msgid "Sz" msgstr "" #: templates/default/list.tt.html: translate part: #14 #: templates/default/prop.files.tt.html: #3 msgid "Size" msgstr "" #: templates/default/list.tt.html: translate part: #15 msgid "Dn" msgstr "" #: templates/default/list.tt.html: translate part: #19 msgid "Pe" msgstr "" #: templates/default/list.tt.html: translate part: #20 #: templates/default/prop.tt.html: #2 msgid "Peers" msgstr "" #: templates/default/list.tt.html: translate part: #21 msgid "DS" msgstr "" #: templates/default/list.tt.html: translate part: #23 msgid "US" msgstr "" #: templates/default/list.tt.html: translate part: #25 msgid "Rt" msgstr "" #: templates/default/list.tt.html: translate part: #26 msgid "Rate" msgstr "" #: templates/default/list.tt.html: translate part: #28 msgid "Hashing" msgstr "" #: templates/default/list.tt.html: translate part: #29 msgid "Seeding" msgstr "" #: templates/default/list.tt.html: translate part: #30 msgid "Finished" msgstr "" #: templates/default/list.tt.html: translate part: #31 msgid "Downloading" msgstr "" #: templates/default/list.tt.html: translate part: #32 msgid "Paused" msgstr "" #: templates/default/list.tt.html: translate part: #33 msgid "Stoped" msgstr "" #: templates/default/panel.tt.html: translate part: #1 #: templates/default/string.tt.js: msgid "Add new torrent" msgstr "" #: templates/default/panel.tt.html: translate part: #2 msgid "Delete selected torrents" msgstr "" #: templates/default/panel.tt.html: translate part: #3 msgid "Start selected torrents" msgstr "" #: templates/default/panel.tt.html: translate part: #4 msgid "Pause selected torrents" msgstr "" #: templates/default/panel.tt.html: translate part: #5 msgid "Stop selected torrents" msgstr "" #: templates/default/panel.tt.html: translate part: #6 msgid "Check selected torrents for errors" msgstr "" #: templates/default/panel.tt.html: translate part: #8 msgid "Set low priority for selected torrents" msgstr "" #: templates/default/panel.tt.html: translate part: #9 msgid "Set normal priority for selected torrents" msgstr "" #: templates/default/panel.tt.html: translate part: #10 msgid "Set high priority for selected torrents" msgstr "" #: templates/default/panel.tt.html: translate part: #11 msgid "Refresh" msgstr "" #: templates/default/panel.tt.html: translate part: #12 msgid "About" msgstr "" #: templates/default/panel.tt.html: translate part: #13 msgid "All" msgstr "" #: templates/default/panel.tt.html: translate part: #14 msgid "List" msgstr "" #: templates/default/panel.tt.html: translate part: #15 msgid "Actions and List" msgstr "" #: templates/default/panel.tt.html: translate part: #16 msgid "List and Props" msgstr "" #: templates/default/panel.tt.html: translate part: #17 msgid "Select layout" msgstr "" #: templates/default/panel.tt.html: translate part: #18 msgid "Select refresh interval" msgstr "" #: templates/default/panel.tt.html: translate part: #19 msgid "sec." msgstr "" #: templates/default/panel.tt.html: translate part: #20 msgid "min." msgstr "" #: templates/default/panel.tt.html: translate part: #21 #: templates/default/prop.trackers.tt.html: #7 msgid "Never" msgstr "" #: templates/default/panel.tt.html: translate part: #22 msgid "Select skin" msgstr "" #: templates/default/panel.tt.html: translate part: #23 msgid "Select language" msgstr "" #: templates/default/prop.files.tt.html: translate part: #2 msgid "Path" msgstr "" #: templates/default/prop.files.tt.html: translate part: #5 #: templates/default/prop.info.tt.html: #14 templates/default/prop.tt.html: msgid "Chunks" msgstr "" #: templates/default/prop.info.tt.html: translate part: #1 msgid "Downloaded" msgstr "" #: templates/default/prop.info.tt.html: translate part: #2 #: templates/default/prop.tt.html: #6 msgid "Transfer" msgstr "" #: templates/default/prop.info.tt.html: translate part: #5 #: templates/default/prop.peers.tt.html: #2 msgid "Peers connected" msgstr "" #: templates/default/prop.info.tt.html: translate part: #6 msgid "from" msgstr "" #: templates/default/prop.info.tt.html: translate part: #7 msgid "Uploaded" msgstr "" #: templates/default/prop.info.tt.html: translate part: #9 #: templates/default/prop.peers.tt.html: #5 msgid "Peers not connected" msgstr "" #: templates/default/prop.info.tt.html: translate part: #10 msgid "Tracker" msgstr "" #: templates/default/prop.info.tt.html: translate part: #12 msgid "General" msgstr "" #: templates/default/prop.info.tt.html: translate part: #13 msgid "Directory" msgstr "" #: templates/default/prop.info.tt.html: translate part: #15 msgid "x" msgstr "" #: templates/default/prop.info.tt.html: translate part: #16 msgid "done" msgstr "" #: templates/default/prop.info.tt.html: translate part: #17 msgid "Total size" msgstr "" #: templates/default/prop.info.tt.html: translate part: #19 msgid "free diskspace" msgstr "" #: templates/default/prop.info.tt.html: translate part: #20 msgid "need more" msgstr "" #: templates/default/prop.info.tt.html: translate part: #21 msgid "Low disk space" msgstr "" #: templates/default/prop.info.tt.html: translate part: #22 msgid "Hash" msgstr "" #: templates/default/prop.info.tt.html: translate part: #23 msgid "Created On" msgstr "" #: templates/default/prop.info.tt.html: translate part: #24 msgid "Local ID" msgstr "" #: templates/default/prop.info.tt.html: translate part: #25 msgid "Comment" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #1 msgid "Peers properties" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #3 msgid "Peers accounted" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #4 msgid "Peers max" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #6 msgid "Peers complete" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #7 msgid "Peers min" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #8 msgid "Peers exchange" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #9 msgid "on" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #10 msgid "off" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #11 msgid "Peers list" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #12 msgid "IP : Port" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #13 msgid "Client" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #14 msgid "Flags" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #15 msgid "Available" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #18 msgid "Peer Rate" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #19 msgid "Down Total" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #20 msgid "Up Total" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #21 msgid "Peer Total" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #22 msgid "Id" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #23 msgid "Inc" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #24 msgid "Enc" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #25 msgid "Obf" msgstr "" #: templates/default/prop.peers.tt.html: translate part: #26 msgid "Snub" msgstr "" #: lib/RTPG/WWW/Frame/Prop.pm: translate part: #1 #: templates/default/prop.tt.html: #11 msgid "Unknown property page" msgstr "" #: templates/default/prop.trackers.tt.html: translate part: #1 msgid "Url" msgstr "" #: templates/default/prop.trackers.tt.html: translate part: #2 msgid "Enabled" msgstr "" #: templates/default/prop.trackers.tt.html: translate part: #3 msgid "Interval" msgstr "" #: templates/default/prop.trackers.tt.html: translate part: #4 msgid "Last Update" msgstr "" #: templates/default/prop.trackers.tt.html: translate part: #5 msgid "Yes" msgstr "" #: templates/default/prop.trackers.tt.html: translate part: #6 msgid "No" msgstr "" #: templates/default/prop.tt.html: translate part: #1 msgid "Info" msgstr "" #: templates/default/prop.tt.html: translate part: #3 msgid "Files" msgstr "" #: templates/default/prop.tt.html: translate part: #4 msgid "Trackers" msgstr "" #: templates/default/prop.tt.html: translate part: #7 msgid "Skip selected files" msgstr "" #: templates/default/prop.tt.html: translate part: #8 msgid "Set normal priority for selected files" msgstr "" #: templates/default/prop.tt.html: translate part: #9 msgid "Set high priority for selected files" msgstr "" #: templates/default/prop.tt.html: translate part: #10 msgid "Select torrent to show" msgstr "" #: templates/default/string.tt.js: translate part: #2 msgid "No current torrent selected" msgstr "" #: lib/RTPG/WWW/Template.pm: translate part: #1 msgid "File not found" msgstr "" msgid "Active" msgstr "" msgid "Started" msgstr "" msgid "Stopped" msgstr "" msgid "Complete" msgstr "" msgid "Incomplete" msgstr "" msgid "Default" msgstr "" msgid "low" msgstr "" msgid "normal" msgstr "" msgid "high" msgstr "" msgid "unknown" msgstr "" msgid "K" msgstr "" msgid "M" msgstr "" msgid "G" msgstr "" msgid "T" msgstr "" msgid "P" msgstr "" msgid "E" msgstr "" msgid "B" msgstr "" msgid "b" msgstr "" msgid "/" msgstr "" msgid "s" msgstr "" rtpg-0.2.11/po/en.po0000664000175000017500000003615011507355055013100 0ustar dimkadimka# RTPG english translation file. # Copyright (C) 2008 Dmitry E. Oboukhov # Copyright (C) 2008 Roman V. Nikolaev # This file is distributed under the same license as the rtpg package. # Roman V. Nikolaev , 2010. # msgid "" msgstr "" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: 2010-07-15 11:00+04\n" "Last-Translator: Roman V. Nikolaev \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: templates/default/about.tt.html: translate part: #1 msgid "Dmitry E. Oboukhov" msgstr "Dmitry E. Oboukhov" #: templates/default/about.tt.html: translate part: #2 msgid "Roman V. Nikolaev" msgstr "Roman V. Nikolaev" #: templates/default/about.tt.html: translate part: #3 msgid "Official site and bugtracker" msgstr "Official site and bugtracker" #: templates/default/about.tt.html: translate part: #4 msgid "Used" msgstr "Used" #: templates/default/about.tt.html: translate part: #5 msgid "library" msgstr "library" #: templates/default/about.tt.html: translate part: #6 #: templates/default/add.tt.html: #8 msgid "Close" msgstr "Close" #: templates/default/action.tt.html: translate part: #1 #: templates/default/list.tt.html: #22 templates/default/prop.info.tt.html: #4 #: templates/default/prop.peers.tt.html: #16 msgid "Down Speed" msgstr "Down Speed" #: templates/default/action.tt.html: translate part: #2 msgid "Max" msgstr "Max" #: templates/default/action.tt.html: translate part: #3 msgid "Select max download speed" msgstr "Select max download speed" #: templates/default/action.tt.html: translate part: #4 msgid "Unlimited" msgstr "Unlimited" #: templates/default/action.tt.html: translate part: #5 #: templates/default/list.tt.html: #24 templates/default/prop.info.tt.html: #8 #: templates/default/prop.peers.tt.html: #17 msgid "Up Speed" msgstr "Up Speed" #: templates/default/action.tt.html: translate part: #7 msgid "Select max upload speed" msgstr "Select max upload speed" #: lib/RTPG/WWW/Frame/Add.pm: translate part: #1 msgid "Undefined file type" msgstr "Undefined file type" #: lib/RTPG/WWW/Frame/Add.pm: translate part: #2 msgid "This is not torrent file" msgstr "This is not torrent file" #: templates/default/add.tt.html: translate part: #1 msgid "Link" msgstr "Link" #: templates/default/add.tt.html: translate part: #2 msgid "One link per line" msgstr "One link per line" #: templates/default/add.tt.html: translate part: #3 msgid "Note: rTorrent don`t notify you about broken links." msgstr "Note: rTorrent don`t notify you about broken links." #: templates/default/add.tt.html: translate part: #4 msgid "Just attempt to load this links." msgstr "Just attempt to load this links." #: templates/default/add.tt.html: translate part: #5 msgid "File" msgstr "File" #: templates/default/add.tt.html: translate part: #6 msgid "Start torrent" msgstr "Start torrent" #: templates/default/add.tt.html: translate part: #7 msgid "Add" msgstr "Add" #: templates/default/add.tt.html: translate part: #9 msgid "Adding file" msgstr "Adding file" #: templates/default/add.tt.html: translate part: #10 msgid "Adding link" msgstr "Adding link" #: templates/default/add.tt.html: translate part: #11 msgid "Internal error" msgstr "Internal error" #: templates/default/add.tt.html: translate part: #12 #: templates/default/list.tt.html: #16 templates/default/prop.files.tt.html: #: #4 msgid "Done" msgstr "Done" #: templates/default/error.tt.html: translate part: #1 msgid "Error" msgstr "Error" #: templates/default/error.tt.html: translate part: #2 msgid "rTorrent not started or access restricted." msgstr "rTorrent not started or access restricted." #: templates/default/list.tt.html: translate part: #1 msgid "Main torrents list" msgstr "Main torrents list" #: templates/default/list.tt.html: translate part: #2 #: templates/default/prop.files.tt.html: #1 msgid "Select/Unselect all" msgstr "Select/Unselect all" #: templates/default/list.tt.html: translate part: #3 msgid "St" msgstr "St" #: templates/default/list.tt.html: translate part: #4 msgid "Status" msgstr "Status" #: templates/default/list.tt.html: translate part: #5 msgid "Nm" msgstr "Nm" #: templates/default/list.tt.html: translate part: #6 msgid "Name" msgstr "Name" #: templates/default/list.tt.html: translate part: #7 #, fuzzy msgid "Cs" msgstr "s" #: templates/default/list.tt.html: translate part: #8 msgid "Custom" msgstr "Custom" #: templates/default/list.tt.html: translate part: #9 #, fuzzy msgid "Msg" msgstr "Message" #: templates/default/list.tt.html: translate part: #10 #: templates/default/prop.info.tt.html: #11 msgid "Message" msgstr "Message" #: templates/default/list.tt.html: translate part: #11 msgid "Pr" msgstr "Pr" #: templates/default/list.tt.html: translate part: #12 #: templates/default/prop.files.tt.html: #6 msgid "Priority" msgstr "Priority" #: templates/default/list.tt.html: translate part: #13 msgid "Sz" msgstr "Sz" #: templates/default/list.tt.html: translate part: #14 #: templates/default/prop.files.tt.html: #3 msgid "Size" msgstr "Size" #: templates/default/list.tt.html: translate part: #15 msgid "Dn" msgstr "Dn" #: templates/default/list.tt.html: translate part: #19 msgid "Pe" msgstr "Pe" #: templates/default/list.tt.html: translate part: #20 #: templates/default/prop.tt.html: #2 msgid "Peers" msgstr "Peers" #: templates/default/list.tt.html: translate part: #21 msgid "DS" msgstr "DS" #: templates/default/list.tt.html: translate part: #23 msgid "US" msgstr "US" #: templates/default/list.tt.html: translate part: #25 msgid "Rt" msgstr "Rt" #: templates/default/list.tt.html: translate part: #26 msgid "Rate" msgstr "Rate" #: templates/default/list.tt.html: translate part: #28 msgid "Hashing" msgstr "Hashing" #: templates/default/list.tt.html: translate part: #29 msgid "Seeding" msgstr "Seeding" #: templates/default/list.tt.html: translate part: #30 msgid "Finished" msgstr "Finished" #: templates/default/list.tt.html: translate part: #31 msgid "Downloading" msgstr "Downloading" #: templates/default/list.tt.html: translate part: #32 msgid "Paused" msgstr "Paused" #: templates/default/list.tt.html: translate part: #33 #, fuzzy msgid "Stoped" msgstr "Stopped" #: templates/default/panel.tt.html: translate part: #1 #: templates/default/string.tt.js: msgid "Add new torrent" msgstr "Add new torrent" #: templates/default/panel.tt.html: translate part: #2 msgid "Delete selected torrents" msgstr "Delete selected torrents" #: templates/default/panel.tt.html: translate part: #3 msgid "Start selected torrents" msgstr "Start selected torrents" #: templates/default/panel.tt.html: translate part: #4 msgid "Pause selected torrents" msgstr "Pause selected torrents" #: templates/default/panel.tt.html: translate part: #5 msgid "Stop selected torrents" msgstr "Stop selected torrents" #: templates/default/panel.tt.html: translate part: #6 msgid "Check selected torrents for errors" msgstr "Check selected torrents for errors" #: templates/default/panel.tt.html: translate part: #8 msgid "Set low priority for selected torrents" msgstr "Set low priority for selected torrents" #: templates/default/panel.tt.html: translate part: #9 msgid "Set normal priority for selected torrents" msgstr "Set normal priority for selected torrents" #: templates/default/panel.tt.html: translate part: #10 msgid "Set high priority for selected torrents" msgstr "Set high priority for selected torrents" #: templates/default/panel.tt.html: translate part: #11 msgid "Refresh" msgstr "Refresh" #: templates/default/panel.tt.html: translate part: #12 msgid "About" msgstr "About" #: templates/default/panel.tt.html: translate part: #13 msgid "All" msgstr "All" #: templates/default/panel.tt.html: translate part: #14 msgid "List" msgstr "List" #: templates/default/panel.tt.html: translate part: #15 msgid "Actions and List" msgstr "Actions and List" #: templates/default/panel.tt.html: translate part: #16 msgid "List and Props" msgstr "List and Props" #: templates/default/panel.tt.html: translate part: #17 msgid "Select layout" msgstr "Select layout" #: templates/default/panel.tt.html: translate part: #18 msgid "Select refresh interval" msgstr "Select refresh interval" #: templates/default/panel.tt.html: translate part: #19 msgid "sec." msgstr "sec." #: templates/default/panel.tt.html: translate part: #20 msgid "min." msgstr "min." #: templates/default/panel.tt.html: translate part: #21 #: templates/default/prop.trackers.tt.html: #7 msgid "Never" msgstr "Never" #: templates/default/panel.tt.html: translate part: #22 msgid "Select skin" msgstr "Select skin" #: templates/default/panel.tt.html: translate part: #23 msgid "Select language" msgstr "Select language" #: templates/default/prop.files.tt.html: translate part: #2 msgid "Path" msgstr "Path" #: templates/default/prop.files.tt.html: translate part: #5 #: templates/default/prop.info.tt.html: #14 templates/default/prop.tt.html: msgid "Chunks" msgstr "Chunks" #: templates/default/prop.info.tt.html: translate part: #1 msgid "Downloaded" msgstr "Downloaded" #: templates/default/prop.info.tt.html: translate part: #2 #: templates/default/prop.tt.html: #6 msgid "Transfer" msgstr "Transfer" #: templates/default/prop.info.tt.html: translate part: #5 #: templates/default/prop.peers.tt.html: #2 msgid "Peers connected" msgstr "Peers connected" #: templates/default/prop.info.tt.html: translate part: #6 msgid "from" msgstr "from" #: templates/default/prop.info.tt.html: translate part: #7 msgid "Uploaded" msgstr "Uploaded" #: templates/default/prop.info.tt.html: translate part: #9 #: templates/default/prop.peers.tt.html: #5 msgid "Peers not connected" msgstr "Peers not connected" #: templates/default/prop.info.tt.html: translate part: #10 msgid "Tracker" msgstr "Tracker" #: templates/default/prop.info.tt.html: translate part: #12 msgid "General" msgstr "General" #: templates/default/prop.info.tt.html: translate part: #13 msgid "Directory" msgstr "Directory" #: templates/default/prop.info.tt.html: translate part: #15 msgid "x" msgstr "x" #: templates/default/prop.info.tt.html: translate part: #16 msgid "done" msgstr "done" #: templates/default/prop.info.tt.html: translate part: #17 msgid "Total size" msgstr "Total size" #: templates/default/prop.info.tt.html: translate part: #19 msgid "free diskspace" msgstr "free diskspace" #: templates/default/prop.info.tt.html: translate part: #20 msgid "need more" msgstr "need more" #: templates/default/prop.info.tt.html: translate part: #21 msgid "Low disk space" msgstr "Low disk space" #: templates/default/prop.info.tt.html: translate part: #22 msgid "Hash" msgstr "Hash" #: templates/default/prop.info.tt.html: translate part: #23 msgid "Created On" msgstr "Created On" #: templates/default/prop.info.tt.html: translate part: #24 msgid "Local ID" msgstr "Local ID" #: templates/default/prop.info.tt.html: translate part: #25 msgid "Comment" msgstr "Comment" #: templates/default/prop.peers.tt.html: translate part: #1 msgid "Peers properties" msgstr "Peers properties" #: templates/default/prop.peers.tt.html: translate part: #3 msgid "Peers accounted" msgstr "Peers accounted" #: templates/default/prop.peers.tt.html: translate part: #4 msgid "Peers max" msgstr "Peers max" #: templates/default/prop.peers.tt.html: translate part: #6 msgid "Peers complete" msgstr "Peers complete" #: templates/default/prop.peers.tt.html: translate part: #7 msgid "Peers min" msgstr "Peers min" #: templates/default/prop.peers.tt.html: translate part: #8 msgid "Peers exchange" msgstr "Peers exchange" #: templates/default/prop.peers.tt.html: translate part: #9 msgid "on" msgstr "on" #: templates/default/prop.peers.tt.html: translate part: #10 msgid "off" msgstr "off" #: templates/default/prop.peers.tt.html: translate part: #11 msgid "Peers list" msgstr "Peers list" #: templates/default/prop.peers.tt.html: translate part: #12 msgid "IP : Port" msgstr "IP : Port" #: templates/default/prop.peers.tt.html: translate part: #13 msgid "Client" msgstr "Client" #: templates/default/prop.peers.tt.html: translate part: #14 msgid "Flags" msgstr "Flags" #: templates/default/prop.peers.tt.html: translate part: #15 msgid "Available" msgstr "Available" #: templates/default/prop.peers.tt.html: translate part: #18 msgid "Peer Rate" msgstr "Peer Rate" #: templates/default/prop.peers.tt.html: translate part: #19 msgid "Down Total" msgstr "Down Total" #: templates/default/prop.peers.tt.html: translate part: #20 msgid "Up Total" msgstr "Up Total" #: templates/default/prop.peers.tt.html: translate part: #21 msgid "Peer Total" msgstr "Peer Total" #: templates/default/prop.peers.tt.html: translate part: #22 msgid "Id" msgstr "Id" #: templates/default/prop.peers.tt.html: translate part: #23 msgid "Inc" msgstr "Inc" #: templates/default/prop.peers.tt.html: translate part: #24 msgid "Enc" msgstr "Enc" #: templates/default/prop.peers.tt.html: translate part: #25 msgid "Obf" msgstr "Obf" #: templates/default/prop.peers.tt.html: translate part: #26 msgid "Snub" msgstr "Snub" #: lib/RTPG/WWW/Frame/Prop.pm: translate part: #1 #: templates/default/prop.tt.html: #11 msgid "Unknown property page" msgstr "Unknown property page" #: templates/default/prop.trackers.tt.html: translate part: #1 msgid "Url" msgstr "Url" #: templates/default/prop.trackers.tt.html: translate part: #2 msgid "Enabled" msgstr "Enabled" #: templates/default/prop.trackers.tt.html: translate part: #3 msgid "Interval" msgstr "Interval" #: templates/default/prop.trackers.tt.html: translate part: #4 msgid "Last Update" msgstr "Last Update" #: templates/default/prop.trackers.tt.html: translate part: #5 msgid "Yes" msgstr "Yes" #: templates/default/prop.trackers.tt.html: translate part: #6 msgid "No" msgstr "No" #: templates/default/prop.tt.html: translate part: #1 msgid "Info" msgstr "Info" #: templates/default/prop.tt.html: translate part: #3 msgid "Files" msgstr "Files" #: templates/default/prop.tt.html: translate part: #4 msgid "Trackers" msgstr "Trackers" #: templates/default/prop.tt.html: translate part: #7 msgid "Skip selected files" msgstr "Skip selected files" #: templates/default/prop.tt.html: translate part: #8 msgid "Set normal priority for selected files" msgstr "Set normal priority for selected files" #: templates/default/prop.tt.html: translate part: #9 msgid "Set high priority for selected files" msgstr "Set high priority for selected files" #: templates/default/prop.tt.html: translate part: #10 msgid "Select torrent to show" msgstr "Select torrent to show" #: templates/default/string.tt.js: translate part: #2 msgid "No current torrent selected" msgstr "No current torrent selected" #: lib/RTPG/WWW/Template.pm: translate part: #1 msgid "File not found" msgstr "File not found" msgid "Active" msgstr "Active" msgid "Started" msgstr "Started" msgid "Stopped" msgstr "Stopped" msgid "Complete" msgstr "Complete" msgid "Incomplete" msgstr "Incomplete" msgid "Default" msgstr "Default" msgid "low" msgstr "low" msgid "normal" msgstr "normal" msgid "high" msgstr "high" msgid "unknown" msgstr "unknown" msgid "K" msgstr "K" msgid "M" msgstr "M" msgid "G" msgstr "G" msgid "T" msgstr "T" msgid "P" msgstr "P" msgid "E" msgstr "E" msgid "B" msgstr "B" msgid "b" msgstr "b" msgid "/" msgstr "/" msgid "s" msgstr "s" rtpg-0.2.11/po/uk.po0000664000175000017500000004215111507355055013113 0ustar dimkadimka# RTPG ukrainian translation file. # Copyright (C) 2008 Dmitry E. Oboukhov # Copyright (C) 2008 Roman V. Nikolaev # This file is distributed under the same license as the rtpg package. # Roman V. Nikolaev , 2010. # msgid "" msgstr "" "Project-Id-Version: rtpg\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: 2010-07-15 11:00+02\n" "Last-Translator: Oleg Matviychuk \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: templates/default/about.tt.html: translate part: #1 msgid "Dmitry E. Oboukhov" msgstr "Dmitry E. Oboukhov" #: templates/default/about.tt.html: translate part: #2 msgid "Roman V. Nikolaev" msgstr "Roman V. Nikolaev" #: templates/default/about.tt.html: translate part: #3 msgid "Official site and bugtracker" msgstr "Офіційний сайт і багтрекер" #: templates/default/about.tt.html: translate part: #4 msgid "Used" msgstr "Використовується" #: templates/default/about.tt.html: translate part: #5 msgid "library" msgstr "бібліотека" #: templates/default/about.tt.html: translate part: #6 #: templates/default/add.tt.html: #8 msgid "Close" msgstr "Закрити" #: templates/default/action.tt.html: translate part: #1 #: templates/default/list.tt.html: #22 templates/default/prop.info.tt.html: #4 #: templates/default/prop.peers.tt.html: #16 msgid "Down Speed" msgstr "Завантаження" #: templates/default/action.tt.html: translate part: #2 msgid "Max" msgstr "Макс." #: templates/default/action.tt.html: translate part: #3 msgid "Select max download speed" msgstr "Оберіть максимальну швидкість завантаження" #: templates/default/action.tt.html: translate part: #4 msgid "Unlimited" msgstr "Необмежено" #: templates/default/action.tt.html: translate part: #5 #: templates/default/list.tt.html: #24 templates/default/prop.info.tt.html: #8 #: templates/default/prop.peers.tt.html: #17 msgid "Up Speed" msgstr "Роздача" #: templates/default/action.tt.html: translate part: #7 msgid "Select max upload speed" msgstr "Оберіть максимальну швидкість роздачі" #: lib/RTPG/WWW/Frame/Add.pm: translate part: #1 msgid "Undefined file type" msgstr "Невизначений тип файлу" #: lib/RTPG/WWW/Frame/Add.pm: translate part: #2 msgid "This is not torrent file" msgstr "Це не торрент файл" #: templates/default/add.tt.html: translate part: #1 msgid "Link" msgstr "Посилання" #: templates/default/add.tt.html: translate part: #2 msgid "One link per line" msgstr "Одне посилання на строку" #: templates/default/add.tt.html: translate part: #3 msgid "Note: rTorrent don`t notify you about broken links." msgstr "Увага! rTorrent не повідомляє про биті посилання." #: templates/default/add.tt.html: translate part: #4 msgid "Just attempt to load this links." msgstr "Тільки намагається заваннтажити файли по цим посиланням." #: templates/default/add.tt.html: translate part: #5 msgid "File" msgstr "Файл" #: templates/default/add.tt.html: translate part: #6 msgid "Start torrent" msgstr "Запустити торрент" #: templates/default/add.tt.html: translate part: #7 msgid "Add" msgstr "Додати" #: templates/default/add.tt.html: translate part: #9 msgid "Adding file" msgstr "Додавання файлу" #: templates/default/add.tt.html: translate part: #10 msgid "Adding link" msgstr "Додавання за посиланням" #: templates/default/add.tt.html: translate part: #11 msgid "Internal error" msgstr "Інтервал" #: templates/default/add.tt.html: translate part: #12 #: templates/default/list.tt.html: #16 templates/default/prop.files.tt.html: #: #4 msgid "Done" msgstr "Готово" #: templates/default/error.tt.html: translate part: #1 msgid "Error" msgstr "Помилка" #: templates/default/error.tt.html: translate part: #2 msgid "rTorrent not started or access restricted." msgstr "rTorrent не запущено, або доступ до нього заборонено." #: templates/default/list.tt.html: translate part: #1 msgid "Main torrents list" msgstr "Головний список торрентів" #: templates/default/list.tt.html: translate part: #2 #: templates/default/prop.files.tt.html: #1 msgid "Select/Unselect all" msgstr "Виділити/Скинути все" #: templates/default/list.tt.html: translate part: #3 msgid "St" msgstr "Ст" #: templates/default/list.tt.html: translate part: #4 msgid "Status" msgstr "Статус" #: templates/default/list.tt.html: translate part: #5 msgid "Nm" msgstr "Ім’я" #: templates/default/list.tt.html: translate part: #6 msgid "Name" msgstr "Ім’я файлу" #: templates/default/list.tt.html: translate part: #7 #, fuzzy msgid "Cs" msgstr "с" #: templates/default/list.tt.html: translate part: #8 msgid "Custom" msgstr "" #: templates/default/list.tt.html: translate part: #9 #, fuzzy msgid "Msg" msgstr "Повідомлення" #: templates/default/list.tt.html: translate part: #10 #: templates/default/prop.info.tt.html: #11 msgid "Message" msgstr "Повідомлення" #: templates/default/list.tt.html: translate part: #11 msgid "Pr" msgstr "Пр" #: templates/default/list.tt.html: translate part: #12 #: templates/default/prop.files.tt.html: #6 msgid "Priority" msgstr "Пріоритет" #: templates/default/list.tt.html: translate part: #13 msgid "Sz" msgstr "Рз" #: templates/default/list.tt.html: translate part: #14 #: templates/default/prop.files.tt.html: #3 msgid "Size" msgstr "Розмір" #: templates/default/list.tt.html: translate part: #15 msgid "Dn" msgstr "%" #: templates/default/list.tt.html: translate part: #19 msgid "Pe" msgstr "Піри" #: templates/default/list.tt.html: translate part: #20 #: templates/default/prop.tt.html: #2 msgid "Peers" msgstr "Піри" #: templates/default/list.tt.html: translate part: #21 msgid "DS" msgstr "СЗ" #: templates/default/list.tt.html: translate part: #23 msgid "US" msgstr "СР" #: templates/default/list.tt.html: translate part: #25 msgid "Rt" msgstr "Р" #: templates/default/list.tt.html: translate part: #26 msgid "Rate" msgstr "Рейтинг" #: templates/default/list.tt.html: translate part: #28 msgid "Hashing" msgstr "Перевірка" #: templates/default/list.tt.html: translate part: #29 msgid "Seeding" msgstr "Роздача" #: templates/default/list.tt.html: translate part: #30 msgid "Finished" msgstr "Завершено" #: templates/default/list.tt.html: translate part: #31 msgid "Downloading" msgstr "Закачка" #: templates/default/list.tt.html: translate part: #32 msgid "Paused" msgstr "Пауза" #: templates/default/list.tt.html: translate part: #33 #, fuzzy msgid "Stoped" msgstr "Зупинено" #: templates/default/panel.tt.html: translate part: #1 #: templates/default/string.tt.js: msgid "Add new torrent" msgstr "Додати новий торрент" #: templates/default/panel.tt.html: translate part: #2 msgid "Delete selected torrents" msgstr "Видалити виділенні торренти" #: templates/default/panel.tt.html: translate part: #3 msgid "Start selected torrents" msgstr "Запустити виділенні торренти" #: templates/default/panel.tt.html: translate part: #4 msgid "Pause selected torrents" msgstr "Призупинити виділенні торренти" #: templates/default/panel.tt.html: translate part: #5 msgid "Stop selected torrents" msgstr "Зуинити виділенні торренти" #: templates/default/panel.tt.html: translate part: #6 msgid "Check selected torrents for errors" msgstr "Перевірити виділенні торренти на помилки" #: templates/default/panel.tt.html: translate part: #8 msgid "Set low priority for selected torrents" msgstr "Встановити мінімальний пріоритет для виділенних торрентів" #: templates/default/panel.tt.html: translate part: #9 msgid "Set normal priority for selected torrents" msgstr "Встановити звичайний пріоритет для виділенних торрентів" #: templates/default/panel.tt.html: translate part: #10 msgid "Set high priority for selected torrents" msgstr "Встановити високий пріоритет для виділенних торрентів" #: templates/default/panel.tt.html: translate part: #11 msgid "Refresh" msgstr "Поновити" #: templates/default/panel.tt.html: translate part: #12 msgid "About" msgstr "Про программу" #: templates/default/panel.tt.html: translate part: #13 msgid "All" msgstr "Все" #: templates/default/panel.tt.html: translate part: #14 msgid "List" msgstr "Список" #: templates/default/panel.tt.html: translate part: #15 msgid "Actions and List" msgstr "Дії та Список" #: templates/default/panel.tt.html: translate part: #16 msgid "List and Props" msgstr "Список та Властивості" #: templates/default/panel.tt.html: translate part: #17 msgid "Select layout" msgstr "Обрати розміщення" #: templates/default/panel.tt.html: translate part: #18 msgid "Select refresh interval" msgstr "Обрати інтервал оновлення" #: templates/default/panel.tt.html: translate part: #19 msgid "sec." msgstr "сек." #: templates/default/panel.tt.html: translate part: #20 msgid "min." msgstr "хв." #: templates/default/panel.tt.html: translate part: #21 #: templates/default/prop.trackers.tt.html: #7 msgid "Never" msgstr "Ніколи" #: templates/default/panel.tt.html: translate part: #22 msgid "Select skin" msgstr "Обрати тему" #: templates/default/panel.tt.html: translate part: #23 msgid "Select language" msgstr "Обрати мову" #: templates/default/prop.files.tt.html: translate part: #2 msgid "Path" msgstr "Шлях" #: templates/default/prop.files.tt.html: translate part: #5 #: templates/default/prop.info.tt.html: #14 templates/default/prop.tt.html: msgid "Chunks" msgstr "Блоків" #: templates/default/prop.info.tt.html: translate part: #1 msgid "Downloaded" msgstr "Скачано" #: templates/default/prop.info.tt.html: translate part: #2 #: templates/default/prop.tt.html: #6 msgid "Transfer" msgstr "Передача" #: templates/default/prop.info.tt.html: translate part: #5 #: templates/default/prop.peers.tt.html: #2 msgid "Peers connected" msgstr "Пірів підключено" #: templates/default/prop.info.tt.html: translate part: #6 msgid "from" msgstr "з" #: templates/default/prop.info.tt.html: translate part: #7 msgid "Uploaded" msgstr "Роздано" #: templates/default/prop.info.tt.html: translate part: #9 #: templates/default/prop.peers.tt.html: #5 msgid "Peers not connected" msgstr "Пірів очікує" #: templates/default/prop.info.tt.html: translate part: #10 msgid "Tracker" msgstr "Трекер" #: templates/default/prop.info.tt.html: translate part: #12 msgid "General" msgstr "Загальний" #: templates/default/prop.info.tt.html: translate part: #13 msgid "Directory" msgstr "Директорія" #: templates/default/prop.info.tt.html: translate part: #15 msgid "x" msgstr "x" #: templates/default/prop.info.tt.html: translate part: #16 msgid "done" msgstr "завершено" #: templates/default/prop.info.tt.html: translate part: #17 msgid "Total size" msgstr "Розмір" #: templates/default/prop.info.tt.html: translate part: #19 msgid "free diskspace" msgstr "вільно на диску" #: templates/default/prop.info.tt.html: translate part: #20 msgid "need more" msgstr "потрібно" #: templates/default/prop.info.tt.html: translate part: #21 msgid "Low disk space" msgstr "На диску лишилось мало місця" #: templates/default/prop.info.tt.html: translate part: #22 msgid "Hash" msgstr "Хеш" #: templates/default/prop.info.tt.html: translate part: #23 msgid "Created On" msgstr "Створений" #: templates/default/prop.info.tt.html: translate part: #24 msgid "Local ID" msgstr "Локальний ID" #: templates/default/prop.info.tt.html: translate part: #25 msgid "Comment" msgstr "Коментар" #: templates/default/prop.peers.tt.html: translate part: #1 msgid "Peers properties" msgstr "Властивості пірів" #: templates/default/prop.peers.tt.html: translate part: #3 msgid "Peers accounted" msgstr "Закачують" #: templates/default/prop.peers.tt.html: translate part: #4 msgid "Peers max" msgstr "Максимум пірів" #: templates/default/prop.peers.tt.html: translate part: #6 msgid "Peers complete" msgstr "Роздають увесь" #: templates/default/prop.peers.tt.html: translate part: #7 msgid "Peers min" msgstr "Мінімум пірів" #: templates/default/prop.peers.tt.html: translate part: #8 msgid "Peers exchange" msgstr "Обмін пірами" #: templates/default/prop.peers.tt.html: translate part: #9 msgid "on" msgstr "ввімкнено" #: templates/default/prop.peers.tt.html: translate part: #10 msgid "off" msgstr "вимкнено" #: templates/default/prop.peers.tt.html: translate part: #11 msgid "Peers list" msgstr "Список пірів" #: templates/default/prop.peers.tt.html: translate part: #12 msgid "IP : Port" msgstr "IP : Порт" #: templates/default/prop.peers.tt.html: translate part: #13 msgid "Client" msgstr "Клієнт" #: templates/default/prop.peers.tt.html: translate part: #14 msgid "Flags" msgstr "Прапорці" #: templates/default/prop.peers.tt.html: translate part: #15 msgid "Available" msgstr "Доступно" #: templates/default/prop.peers.tt.html: translate part: #18 msgid "Peer Rate" msgstr "Швидкість піра" #: templates/default/prop.peers.tt.html: translate part: #19 msgid "Down Total" msgstr "Закачано" #: templates/default/prop.peers.tt.html: translate part: #20 msgid "Up Total" msgstr "Роздано" #: templates/default/prop.peers.tt.html: translate part: #21 msgid "Peer Total" msgstr "Всього для піра" #: templates/default/prop.peers.tt.html: translate part: #22 msgid "Id" msgstr "Id" #: templates/default/prop.peers.tt.html: translate part: #23 msgid "Inc" msgstr "Inc" #: templates/default/prop.peers.tt.html: translate part: #24 msgid "Enc" msgstr "Enc" #: templates/default/prop.peers.tt.html: translate part: #25 msgid "Obf" msgstr "Obf" #: templates/default/prop.peers.tt.html: translate part: #26 msgid "Snub" msgstr "Snub" #: lib/RTPG/WWW/Frame/Prop.pm: translate part: #1 #: templates/default/prop.tt.html: #11 msgid "Unknown property page" msgstr "Невідома сторінка властивостей" #: templates/default/prop.trackers.tt.html: translate part: #1 msgid "Url" msgstr "Адреса" #: templates/default/prop.trackers.tt.html: translate part: #2 msgid "Enabled" msgstr "Ввімкнено" #: templates/default/prop.trackers.tt.html: translate part: #3 msgid "Interval" msgstr "Інтервал" #: templates/default/prop.trackers.tt.html: translate part: #4 msgid "Last Update" msgstr "Останнє оновлення" #: templates/default/prop.trackers.tt.html: translate part: #5 msgid "Yes" msgstr "Так" #: templates/default/prop.trackers.tt.html: translate part: #6 msgid "No" msgstr "Ні" #: templates/default/prop.tt.html: translate part: #1 msgid "Info" msgstr "Інфо" #: templates/default/prop.tt.html: translate part: #3 msgid "Files" msgstr "Файли" #: templates/default/prop.tt.html: translate part: #4 msgid "Trackers" msgstr "Трекер" #: templates/default/prop.tt.html: translate part: #7 msgid "Skip selected files" msgstr "Пропустити обрані файли" #: templates/default/prop.tt.html: translate part: #8 msgid "Set normal priority for selected files" msgstr "Встановити звичайний пріоритет для обраних файлів" #: templates/default/prop.tt.html: translate part: #9 msgid "Set high priority for selected files" msgstr "Встановити високий пріоритет для обраних файлів" #: templates/default/prop.tt.html: translate part: #10 msgid "Select torrent to show" msgstr "Оберіть торрент для перегляду" #: templates/default/string.tt.js: translate part: #2 msgid "No current torrent selected" msgstr "Не обрано торрент" #: lib/RTPG/WWW/Template.pm: translate part: #1 msgid "File not found" msgstr "Файл не знайдено" msgid "Active" msgstr "Активні" msgid "Started" msgstr "Запущено" msgid "Stopped" msgstr "Зупинено" msgid "Complete" msgstr "Завершено" msgid "Incomplete" msgstr "Не завершено" msgid "Default" msgstr "По замовчуванню" msgid "low" msgstr "низький" msgid "normal" msgstr "звичайний" msgid "high" msgstr "високий" msgid "unknown" msgstr "невідомо" msgid "K" msgstr "К" msgid "M" msgstr "М" msgid "G" msgstr "Г" msgid "T" msgstr "Т" msgid "P" msgstr "П" msgid "E" msgstr "Е" msgid "B" msgstr "Б" msgid "b" msgstr "б" msgid "/" msgstr "/" msgid "s" msgstr "с" rtpg-0.2.11/doc/0000775000175000017500000000000011403433613012250 5ustar dimkadimkartpg-0.2.11/doc/INSTALL0000664000175000017500000000221711403430347013304 0ustar dimkadimkaRTPG (rtorrent perl gui) is a simple GUI web for rtorrent. It allows to scan/delete/add torrents and also to set the priority to the certain torrents or their parts. SVN-repo of RTPG: http://svn.rtpg2.rshadow.ru/ Depends: librpc-xml-perl http://search.cpan.org/dist/rpc-xml/ libjson-xs-perl http://search.cpan.org/dist/json-xs/ libjs-jquery http://jquery.com/ libtemplate-perl http://search.cpan.org/dist/template-toolkit/ rtorrent http://libtorrent.rakshasa.no/ apache2 http://httpd.apache.org/ liblocale-po-perl http://search.cpan.org/dist/locale-po/ libmime-types-perl http://search.cpan.org/dist/mime-types/ libtree-simple-perl http://search.cpan.org/dist/tree-simple/ Optional for show peers flags: libgeo-ipfree-perl http://search.cpan.org/dist/geo-ipfree/ famfamfam-flag-png http://www.famfamfam.com/lab/icons/flags/ 1. Unpack tarball 2. Create apache virtual server, example: debian/rtpg.apache.conf Environment value 'RTPG_CONFIG' must provide to config 'rtpg.conf'. 3. Put 'jquery.js' into directory 'htdocs/js/' 4. Tune rtorrent, example: debian/rtorrent.rc rtpg-0.2.11/doc/Localization.txt0000664000175000017500000000141611403430347015444 0ustar dimkadimkaLocalization ~~~~~~~~~~~~ For the rtpg localization you need: 1. Сopy po/TEMPLATE.pot file to 'LANG.po' file (for ex: fr.po, de.po. etc). 2. Translate all english strings in it (fill msgstr fields); 3. Put in the file header translators info. 4. Check translation in browser. New language aviable direct after create 'LANG.po' file. 5. Send me your localization (po-file) files to intergrate it in the basic version. Debian package localization ~~~~~~~~~~~~~~~~~~~~~~~~~~~ 1. Copy debian/po/templates.pot file to 'debian.lang.po' file (for ex: debian.fr.po, debian.de.po, etc) 2. Translate all english strings in it (fill msgstr fields); 3. Put in the file header translators info. 4. Send me your localization (po-file) files to intergrate it in the basic version. rtpg-0.2.11/doc/INSTALL.ru0000664000175000017500000000275611403430347013741 0ustar dimkadimkaRTPG (rtorrent perl gui) - простой веб-GUI для rtorrent. Реализует такие функции, как: добавление/удаление/установка приоритетов для торрентов и отдельных их частей. SVN-репозитарий RTPG можно найти по адресу: http://svn.rtpg2.rshadow.ru/ Зависимости: librpc-xml-perl http://search.cpan.org/dist/rpc-xml/ libjson-xs-perl http://search.cpan.org/dist/json-xs/ libjs-jquery http://jquery.com/ libtemplate-perl http://search.cpan.org/dist/template-toolkit/ rtorrent http://libtorrent.rakshasa.no/ apache2 http://httpd.apache.org/ liblocale-po-perl http://search.cpan.org/dist/locale-po/ libmime-types-perl http://search.cpan.org/dist/mime-types/ libtree-simple-perl http://search.cpan.org/dist/tree-simple/ Необязательные, для показа флагов в списке пиров: libgeo-ipfree-perl http://search.cpan.org/dist/geo-ipfree/ famfamfam-flag-png http://www.famfamfam.com/lab/icons/flags/ 1. Разверните архив 2. Создайте виртуальный сервер, пример: debian/rtpg.apache.conf переменная окружения rtpg_config должна указывать на файл rtpg.conf 3. Положите jquery.js в каталог htdocs/js/ 4. Настройте rtorrent, пример: debian/rtorrent.rc rtpg-0.2.11/doc/README.Debian.ru0000664000175000017500000000431011403430347014735 0ustar dimkadimkaВы можете запускать несколько rtpg-gui использовав разные конфиг-файлы в каждом отдельном случае. Для указания какой конфиг-файл надо использовать поправьте директиву SetEnv в конфиге Вашего вебсервера. пример смотри в examples/rtpg.apache.conf PS: При установке был создан виртуальный сервер для апача. Для его использования введите команды: a2enmod scgi [*] a2ensite rtpg.apache.conf invoke-rc.d apache2 restart и заходите на урл "http://rtpg/" в Вашем браузере. Отредактируйте /etc/apache2/sites-available/rtpg.apache.conf для более тонкой настройки (например для того чтобы разрешить заходить на данный сервер с внешних IP) ********************************************************************* * * * [*] Начиная с версии 0.1.0 rtpg умеет напрямую коннектиться к * * rtorrent. Поэтому шаг установки модуля scgi можно пропустить * * и просто указать хост и номер порта SCGI сервера rtorrent * * в Вашем /etc/rtpg/rtpg.conf. Не забудьте в этом случае * * закоментировать VirtualHost с именем 'rtpg-scgi.localhost' в * * /etc/apache2/sites-available/rtpg.apache.conf. * * * ********************************************************************* См пример конфиг-файла для rtorrent: /usr/share/doc/rtpg-www/examples/rtorrent.rc чтобы сконфигурировать Ваш rtorrent для совместной работы с данным GUI. RTPG в Debian использует файл /etc/rtpg/rtpg.conf в качестве конфига по умолчанию. rtpg-0.2.11/doc/COPYRIGHT0000664000175000017500000000645111403433613013551 0ustar dimkadimkaCopyright (C) 2008 Dmitry E. Oboukhov Copyright (C) 2008 Roman V. Nikolaev 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. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. Logo designed by Vitoshnev K.S. 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. On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL'. htdocs/js/jquery.cookie.js Cookie plugin Copyright (c) 2006 Klaus Hartl (stilbuero.de) Dual licensed under the MIT and GPL licenses: http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html htdocs/js/jquery.tablesorter.min.js TableSorter 2.0 - Client-side table sorting with ease! Copyright (c) 2007 Christian Bach Examples and docs at: http://tablesorter.com Dual licensed under the MIT and GPL licenses: http://www.opensource.org/licenses/mit-license.php http://www.gnu.org/licenses/gpl.html htdocs/js/jquery.treetable.min.js jQuery treeTable Plugin 2.2.2 This plugin is released under the MIT license by Ludo van den Boom http://ludo.cubicphuse.nl/jquery-plugins/treeTable/ htdocs/skins/default/mimetypes htdocs/skins/default/panel htdocs/skins/default/status http://download.gnome.org/sources/gnome-icon-theme/ Copyright © 2002-2008: Ulisse Perusin Riccardo Buzzotta Josef Vybíral Hylke Bons Ricardo González Lapo Calamandrei Rodney Dawes Luca Ferretti Tuomas Kuosmanen Andreas Nilsson Jakub Steiner Copyright: This package 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; version 2 dated June, 1991. This package 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 package; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. rtpg-0.2.11/doc/README.Debian0000664000175000017500000000234711403430347014320 0ustar dimkadimkaуou can start several rtpg-guis simulatansly by using different config files with using SetEnv directive in virtual server config. see example in examples/rtpg.apache.conf PS: Virtual server for apache has been created For enable the virtual server use commands: a2enmod scgi [*] a2ensite rtpg.apache.conf invoke-rc.d apache2 restart Check url "http://rtpg/" in your browser. Edit /etc/apache2/sites-available/rtpg.apache.conf for change any settings. ********************************************************************** * * * [*] NOTE: Beginning from version 0.1.0 rtpg can use direct connec- * * tion to rtorrent SCGI-port/socket. You can leave out this step and * * point to rtorrent's SCGI-port in your /etc/rtpg/rtpg.conf. So * * comment VirtualHost with name 'rtpg-scgi.localhost' in your * * /etc/apache2/sites-available/rtpg.apache.conf. * * * ********************************************************************** See /usr/share/doc/rtpg-www/examples/rtorrent.rc for configure your rtorrent. RTPG uses file /etc/rtpg/rtpg.conf as config by default. rtpg-0.2.11/doc/LICENSE0000664000175000017500000010437411377665571013312 0ustar dimkadimka GNU GENERAL PUBLIC LICENSE Version 3, 29 June 2007 Copyright (C) 2007 Free Software Foundation, Inc. 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 . rtpg-0.2.11/templates/0000775000175000017500000000000011377665571013525 5ustar dimkadimkartpg-0.2.11/templates/default/0000775000175000017500000000000011507312473015132 5ustar dimkadimkartpg-0.2.11/templates/default/action.tt.html0000664000175000017500000001041711414620606017723 0ustar dimkadimka [% FOR row = data.list %] [% SET class = ['item'] %] [% class.push(row.action) %] [% IF data.action == row.action; class.push('selected'); END %] [% END %]
[% row.count %]


[% SET speed = [ 4, 8, 12, 16, 24, 48, 96, 128, 256, 512, 1024, 2048, 3072, 4096, 6144, 8192, 10240, 20480, 40960, 61440, 81920, 102400, 1048576 ]; FOR speed; speed.${loop.index} = speed.${loop.index} * 1024; END; %]
[% gettext('Down Speed') _ ': ' _ data.rates.current_download_rate.as_human_speed %]
[% gettext('Max') _ ':' %]
[% gettext('Up Speed') _ ': ' _ data.rates.current_upload_rate.as_human_speed %]
[% gettext('Max') _ ':' %]
rtpg-0.2.11/templates/default/prop.trackers.tt.html0000664000175000017500000000310311414620606021235 0ustar dimkadimka [% FOR tracker = data.info %] [% SET class = [] %] [% IF loop.index % 2; class.push('odd'); ELSE; class.push('even'); END %] [% END %]
[% gettext('Url') %] [% gettext('Enabled') %] [% gettext('Interval') %] [% gettext('Last Update') %]
[% IF tracker.favicon %]   [% END %] [% tracker.url %] [% IF tracker.is_enabled %][% gettext('Yes') %] [% ELSE %][% gettext('No') %] [% END %] [% tracker.normal_interval %] [% UNLESS tracker.scrape_time_last %][% gettext('Never') %] [% ELSE %][% tracker.scrape_time_last.as_human_datetime %] [% END %]
rtpg-0.2.11/templates/default/add.tt.html0000664000175000017500000000530511430750153017175 0ustar dimkadimka
[% gettext('Note: rTorrent don`t notify you about broken links.') _ ' ' _ gettext('Just attempt to load this links.') %]
[% FOREACH result = data.result %] [% SET class = ['message']; IF one.error; class.push('error'); END; %]
[% SWITCH result.type %] [% CASE 'file' %] [% gettext('Adding file') %]: [% CASE 'link' %] [% gettext('Adding link') %]: [% CASE DEFAULT %] [% gettext('Internal error') %]: [% END %] [% result.torrent %] - [% IF result.error %] [% result.error %] [% ELSE %] ... [% gettext('Done') %] [% END %]
[% END %] rtpg-0.2.11/templates/default/prop.files.tt.html0000664000175000017500000001116311415070110020514 0ustar dimkadimka
[% FOR node = data.tree %] [% SET class = []; IF node.type != 'folder'; IF node.findex % 2; class.push('odd'); ELSE; class.push('even'); END; END; IF node.parent; class.push('child-of-node-' _ node.parent); END; # Reque for folder selection class.push('level' _ node.level); %] [% IF node.type == 'folder' %] [% class.push('folder'); %] [% ELSE %] [% class.push('file'); %] [% END %] [% END %]
[% gettext('Path') %] [% gettext('Size') %] [% gettext('Done') %] [% gettext('Chunks') %] [% gettext('Priority') %]
 
[% node.name %]
[% node.data.size_bytes.as_human_size %] [% node.data.percent %]
[% node.data.size_chunks %]
[% IF node.data.mime %] [% node.data.mime.type | lower %] [% END %]
[% IF node.dlink %] [% END %] [% node.name %] [% IF node.dlink %] [% END %]
[% node.data.size_bytes.as_human_size %] [% node.data.percent %]
[% node.data.size_chunks %] [% gettext(node.data.priority_str) %]
rtpg-0.2.11/templates/default/list.tt.html0000664000175000017500000001656111507312473017432 0ustar dimkadimka
[% FOR torrent = data.list.list %] [% SET class = []; IF loop.index % 2; class.push('odd'); ELSE; class.push('even'); END; IF data.current == torrent.hash; class.push('selected'); END; UNLESS torrent.is_active; class.push('inactive'); END; %] [% SET message = []; SET max_custom = data.list.list.0.custom_count || 5; SET customs = [ 1.. max_custom]; FOR num IN customs; SET c = 'custom' _ num; IF torrent.${c}; message.push(gettext('Custom') _ ' ' _ num _ ': ' _ torrent.${c}); END; END; SET class = ['custom']; class.push('has_custom') IF message.size; %] [% SET class = ['rate', 'digit'] %] [% IF torrent.ratio >= 1.0; class.push('positive'); ELSE; class.push('negative'); END %] [% END %]
[% gettext('Name') %] [% gettext('Priority') %] [% gettext('Size') %] [% gettext('Done') %] [% gettext('Status') %] [% gettext('Peers') %] [% gettext('Down Speed') %] [% gettext('Up Speed') %] [% gettext('Rate') %]
[% IF torrent.hashing %]
[% ELSIF torrent.complete %] [% IF torrent.is_active %]
[% ELSE %] [% IF torrent.state %]
[% ELSE %]
[% END %] [% END %] [% ELSE %] [% IF torrent.is_active %]
[% ELSE %] [% IF torrent.state %]
[% ELSE %]
[% END %] [% END %] [% END %]
[% torrent.name %] [% gettext(torrent.priority_str) %] [% torrent.size_bytes.as_human_size %] [% torrent.size_bytes %] [% torrent.percent %]
[% IF torrent.hashing; gettext('Hashing'); ELSIF torrent.complete; IF torrent.is_active; gettext('Seeding'); ELSE; gettext('Finished'); END; ELSE; IF torrent.is_active; gettext('Downloading'); ELSE; IF torrent.state; gettext('Paused'); ELSE; gettext('Stoped'); END; END; END; %] [% torrent.peers_connected %] [% torrent.down_rate.as_human_speed %] [% torrent.down_rate %] [% torrent.up_rate.as_human_speed %] [% torrent.up_rate %] [% torrent.ratio %]
rtpg-0.2.11/templates/default/about.tt.html0000664000175000017500000000175711414620606017567 0ustar dimkadimka
RTPG v.[% version %]
[% gettext('Used') %]:
rTorrent [% data.info.client_version %]
[% gettext('library') %] [% data.info.library_version %]
rtpg-0.2.11/templates/default/prop.transfer.tt.html0000664000175000017500000000000011377665571021256 0ustar dimkadimkartpg-0.2.11/templates/default/error.tt.html0000664000175000017500000000061411403126214017567 0ustar dimkadimka

[% gettext('Error') _ ' ' _ error.status | html %]



[% gettext(error.message) | html %]
[% IF error.message.match('Can not connect to') %]

[% gettext('rTorrent not started or access restricted.') | html %]
[% END %]
rtpg-0.2.11/templates/default/main.tt.html0000664000175000017500000000432211417251724017374 0ustar dimkadimka[%- # Enable collapse for make html code less by size IF config.get('collapse'); FILTER collapse; INCLUDE Main; END; ELSE; INCLUDE Main; END; -%] [%- BLOCK Main -%] [%- # Set proper type SET type = 'transitional'; IF show == 'index'; type = 'frameset'; END; -%] [% config.title; UNLESS show == 'index'; ' - ' _ show.ucfirst; END; %] [% FOR css = config.url.skin.css.list %] [% END %] [% FOR js = config.url.skin.js.list %] [% END %] [% SWITCH show %] [% CASE 'index' %] [% content %] [% CASE 'prop' %] [% content %] [% CASE DEFAULT %] [% content %] [% END %] [% END %] rtpg-0.2.11/templates/default/prop.chunks.tt.html0000664000175000017500000000000011377665571020725 0ustar dimkadimkartpg-0.2.11/templates/default/prop.info.tt.html0000664000175000017500000001007211377665571020377 0ustar dimkadimka
[% gettext('Downloaded') %]
[% data.info.percent %]

[% gettext('Transfer') %]

[% gettext('Downloaded') %] [% data.info.bytes_done.as_human_size %] [% gettext('Down Speed') %] [% data.info.down_rate.as_human_speed %] [% gettext('Peers connected') %] [% data.info.peers_connected %] [% gettext('from') %] [% data.info.peers_max %]
[% gettext('Uploaded') %] [% data.info.up_total.as_human_size %] [% gettext('Up Speed') %] [% data.info.up_rate.as_human_speed %] [% gettext('Peers not connected') %] [% data.info.peers_not_connected %]

[% gettext('Tracker') %]

[% gettext('Message') %] [% data.info.message %]

[% gettext('General') %]

[% gettext('Directory') %] [% data.info.directory %] [% gettext('Chunks') %] [% data.info.size_chunks %] [% gettext('x') %] [% data.info.chunk_size.as_human_size %] ([% data.info.completed_chunks %] [% gettext('done') %])
[% gettext('Total size') %] [% data.info.size_bytes.as_human_size %] ([% data.info.bytes_done.as_human_size %] [% gettext('done') %] ) [% gettext('Hash') %] [% data.info.hash %]
[% gettext('Created On') %] [% data.info.creation_date.as_human_datetime %] [% gettext('Local ID') %] [% data.info.local_id %]
[% gettext('Comment') %] [% data.info.name %] [%# %] [%# %]
rtpg-0.2.11/templates/default/panel.tt.html0000664000175000017500000000736511443117473017562 0ustar dimkadimka
     
[% SET layout = [ {'default' => gettext('All') }, {'list' => gettext('List') }, {'act_list' => gettext('Actions and List') }, {'list_prop' => gettext('List and Props') }, ]; %] [% IF skins.size > 1 %] [% END %]
rtpg-0.2.11/templates/default/prop.tt.html0000664000175000017500000000405311403126214017417 0ustar dimkadimka
[% # Menu SET menu = [ { name => 'info', description => gettext('Info') }, { name => 'peers', description => gettext('Peers') }, { name => 'files', description => gettext('Files') }, { name => 'trackers', description => gettext('Trackers') }, #{ name => 'chunks', description => gettext('Chunks') }, #{ name => 'transfer', description => gettext('Transfer') }, ]; %] [% FOR item = menu %] [% SET class = ['item', item.name]; IF data.prop == item.name; class.push('selected'); END; %]
[% item.description %]
[% END %] [% IF data.prop == 'files' %]
[% END %]
[% UNLESS data.current && data.info %]
[% UNLESS data.current %]

[% gettext('Select torrent to show') %] [% END %]
[% ELSE %]
[% SWITCH data.prop; CASE 'info'; INCLUDE 'prop.info.tt.html'; CASE 'peers'; INCLUDE 'prop.peers.tt.html'; CASE 'files'; INCLUDE 'prop.files.tt.html'; CASE 'trackers'; INCLUDE 'prop.trackers.tt.html'; CASE 'chunks'; INCLUDE 'prop.chunks.tt.html'; CASE 'transfer'; INCLUDE 'prop.transfer.tt.html'; CASE DEFAULT; gettext('Unknown property page'); END %]
[% END %] rtpg-0.2.11/templates/default/prop.peers.tt.html0000664000175000017500000001113611414620606020542 0ustar dimkadimka

[% gettext('Peers properties') %]

[% gettext('Peers connected') %] [% data.info.peers_connected %] [% gettext('Peers accounted') %] [% data.info.peers_accounted %] [% gettext('Peers max') %] [% data.info.peers_max %]
[% gettext('Peers not connected') %] [% data.info.peers_not_connected %] [% gettext('Peers complete') %] [% data.info.peers_complete %] [% gettext('Peers min') %] [% data.info.peers_min %]
[% gettext('Peers exchange') %]
[% IF data.info.peer_exchange; gettext('on') %] [% ELSE; gettext('off') %] [% END %]

[% gettext('Peers list') %]

[% FOR peer = data.list %] [% SET class = [] %] [% IF loop.index % 2; class.push('odd'); ELSE; class.push('even'); END %] [% IF peer.country_code || peer.country_name %] [% ELSE %] [% END %]
[% gettext('IP : Port') %] [% gettext('Client') %] [% gettext('Flags') %] [% gettext('Available') %] [% gettext('Down Speed') %] [% gettext('Up Speed') %] [% gettext('Peer Rate') %] [% gettext('Down Total') %] [% gettext('Up Total') %] [% gettext('Peer Total') %]
[% peer.country_code | lower %] [% END %] [% peer.address _ ' : ' _ peer.port %] [% peer.client_version %] [% IF peer.is_incoming; ' ' _ gettext('Inc'); END; IF is_encrypted; ' ' _ gettext('Enc'); END; IF peer.is_obfuscated; ' ' _ gettext('Obf'); END; IF peer.is_snubbed; ' ' _ gettext('Snub'); END; %] [% peer.completed_percent %]%
[% peer.down_rate.as_human_speed %] [% peer.up_rate.as_human_speed %] [% peer.peer_rate.as_human_speed %] [% peer.down_total.as_human_size %] [% peer.up_total.as_human_size %] [% peer.peer_total.as_human_size %]
rtpg-0.2.11/templates/default/index.tt.html0000664000175000017500000000225611415070110017545 0ustar dimkadimka[% # Set control variables SET show_action = 1; SET show_prop = 1; SET hr = data.horizontal; SET vr = data.vertical; # Show/hide some frames by "layout" SWITCH data.layout; CASE 'default'; CASE 'list'; hr = ''; show_action = 0; vr = ''; show_prop = 0; CASE 'act_list'; vr = ''; show_prop = 0; CASE 'list_prop'; hr = ''; show_action = 0; END; %] [% IF show_action %] [% END %] [% IF show_prop %] [% END %] rtpg-0.2.11/templates/default/string.tt.js0000664000175000017500000000034411414620606017422 0ustar dimkadimka/* * Translates for strings * */ // Add const STR_WINDOW_ADD_NAME = "[% gettext('Add new torrent') %]"; // Action // Index // List // Panel const STR_NO_SELECTED = "[% gettext('No current torrent selected') %]"; // Prop rtpg-0.2.11/config/0000775000175000017500000000000011415323546012756 5ustar dimkadimkartpg-0.2.11/config/rtpg.conf0000664000175000017500000000307711415076733014613 0ustar dimkadimka################################################################################ # # RTPG config file # # You can set your own configuration parameters in ~/.rtpg/rtpg.conf file. # Parameters in this file replace below globals. # # If parameter has old name option, then use old parameter value if it exists # (from 0.1.x version). You can safely remove old parameters. # ################################################################################ # Address of SCGI-mount point for rtorrent # Default: 127.0.0.1:5000 rpc_uri = 127.0.0.1:5000 # Enable html collapse filter (yes|no). This feature does a html page twice # less. Disable it only for debug. # Default: yes collapse = yes # Cache dir. If set, rtpg use templates cache for increase response speed. # Default: # Example: /var/cache/rtpg cache = # Enable it if you want to know countries of peers. # Default: yes geo_ip = yes # HTTP link for file view/download. If set for all completed files append link # to direct download. # Default: # Example: http://mysite.com/complete/ direct_link = # Next properties can be set by user directly in browser. It`s values stored in # cookies. # Frames layout (default|list|act_list|list_prop). # Default: default layout = default # Refresh timeout (in seconds) # Default: 180 # Old name: refresh_timeout refresh = 180 # Skin name # Default: default # Old name: current_skin skin = default # Glossary: # SCGI http://en.wikipedia.org/wiki/SCGI # rtorrent http://en.wikipedia.org/wiki/Rtorrent # cookies http://en.wikipedia.org/wiki/HTTP_cookie rtpg-0.2.11/config/rtpg.rubin.conf0000664000175000017500000000317211415323546015722 0ustar dimkadimka################################################################################ # # RTPG config file # # You can set your own configuration parameters in ~/.rtpg/rtpg.conf file. # Parameters in this file replace below globals. # # If parameter has old name option, then use old parameter value if it exists # (from 0.1.x version). You can safely remove old parameters. # ################################################################################ # Address of SCGI-mount point for rtorrent # Default: 127.0.0.1:5000 rpc_uri = 10.8.0.1:5000 # Enable html collapse filter (yes|no). This feature does a html page twice # less. Disable it only for debug. # Default: yes collapse = no # Cache dir. If set, rtpg use templates cache for increase response speed. # Disable it only for debug. # Default: /var/cache/rtpg cache = /tmp/rtpg # Enable it if you want to know countries of peers. # Default: yes geo_ip = yes # HTTP link for file view/download. If set for all completed files append link # to direct download. # Default: # Example: http://mysite.com/complete/ direct_link = http://rtpg.rshadow.ru/complete/ # Next properties can be set by user directly in browser. It`s values stored in # cookies. # Frames layout (default|list|act_list|list_prop). # Default: default layout = default # Refresh timeout (in seconds) # Default: 180 # Old name: refresh_timeout refresh = 180 # Skin name # Default: default # Old name: current_skin skin = default # Glossary: # SCGI http://en.wikipedia.org/wiki/SCGI # rtorrent http://en.wikipedia.org/wiki/Rtorrent # cookies http://en.wikipedia.org/wiki/HTTP_cookie rtpg-0.2.11/config/rtpg.dimka.conf0000664000175000017500000000313011415076733015665 0ustar dimkadimka################################################################################ # # RTPG config file # # You can set your own configuration parameters in ~/.rtpg/rtpg.conf file. # Parameters in this file replace below globals. # # If parameter has old name option, then use old parameter value if it exists # (from 0.1.x version). You can safely remove old parameters. # ################################################################################ # Address of SCGI-mount point for rtorrent # Default: 127.0.0.1:5000 rpc_uri = 10.255.1.1:5000 # Enable html collapse filter (yes|no). This feature does a html page twice # less. Disable it only for debug. # Default: yes collapse = no # Cache dir. If set, rtpg use templates cache for increase response speed. # Disable it only for debug. # Default: /var/cache/rtpg cache = # Enable it if you want to know countries of peers. # Default: yes geo_ip = yes # HTTP link for file view/download. If set for all completed files append link # to direct download. # Default: # Example: http://mysite.com/torrents/complete/ direct_link = # Next properties can be set by user directly in browser. It`s values stored in # cookies. # Frames layout (default|list|act_list|list_prop). # Default: default layout = default # Refresh timeout (in seconds) # Default: 60 # Old name: refresh_timeout refresh = 60 # Skin name # Default: default # Old name: current_skin skin = default # Glossary: # SCGI http://en.wikipedia.org/wiki/SCGI # rtorrent http://en.wikipedia.org/wiki/Rtorrent # cookies http://en.wikipedia.org/wiki/HTTP_cookie rtpg-0.2.11/config/rtpg.apache.conf0000664000175000017500000000220111415070110015776 0ustar dimkadimka# This record exists in /etc/apache2/ports.conf by default (Debian system): # NameVirtualHost *:80 ServerName rtpg DocumentRoot /usr/share/rtpg-www/htdocs/ # Path to RTPG config. If not set then used by system default. SetEnv RTPG_CONFIG /etc/rtpg/rtpg.conf # Alias for "direct_link" option in rtpg.conf. If set, all completed files # are accessible by "http:///complete" address. # Alias /complete /mnt/torrent/complete AddHandler cgi-script .cgi DirectoryIndex index.cgi Options FollowSymLinks ExecCGI AddDefaultCharSet utf-8 AllowOverride All # By default access only from localhost Order deny,allow allow from 127.0.0.1 deny from all # Use direct connection instead of XMLRPC over apache # # # ServerName rtpg-scgi.localhost # SCGIMount /RPC2 127.0.0.1:5000 # # # Order deny,allow # allow from 127.0.0.1 # deny from all # # rtpg-0.2.11/config/rtorrent.rc0000664000175000017500000000003311377665571015175 0ustar dimkadimkascgi_port = localhost:5000 rtpg-0.2.11/Makefile0000664000175000017500000000426111443116200013140 0ustar dimkadimkaSVN = http://svn.rtpg2.rshadow.ru RTPGMVERSION = $(shell \ grep '^our[[:space:]]\+\$$VERSION' lib/RTPG.pm \ | sed 's/^[^[:digit:]]\+//' \ | sed 's/[[:space:]]*;.*//' \ ) CPANMODULE = RTPG-$(RTPGMVERSION).tar.gz DEBVERSION = $(shell \ dpkg-parsechangelog|grep ^Version:|awk '{print $$2}' \ |sed 's/-[[:digit:]]\+$$//' ) DEBFULLVERSION = $(shell \ dpkg-parsechangelog|grep ^Version:|awk '{print $$2}') VERSION = $(shell \ grep VERSION htdocs/index.cgi |grep ^our \ |sed 's/^[^[:digit:]]\+//' |sed 's/".*//') SVN_VERSION = $(shell svn info|grep ^Revision:|awk '{print $$2}') SVERSION = $(VERSION)+svn$(SVN_VERSION) LANGS := $(shell ls po/*.po|sed 's/...$$//'|sed 's/^...//') # Extract gettext strings to en.po file .PHONY: i18n cpan i18n: # find all gettext messages and save in *.pot for file in `find templates lib -type f | grep -v '\.svn'`; do \ perl tools/extract_po.pl \ -o "gettext('" -c "')" -q \ $$file build/`basename $$file`.pot; \ done # concat all files in one template msgcat build/*.pot tools/STATIC.pot > po/TEMPLATE.pot # update current transtation files for lang in $(LANGS); do \ msgmerge --suffix=.previous --update po/$$lang.po po/TEMPLATE.pot; \ done clean: rm -fr build/* rm -fr po/*.previous build/$(CPANMODULE): lib/RTPG.pm lib/RTPG/Direct.pm $(wildcard cpan/*) rm -fr build/cpan mkdir -p build/cpan/RTPG cp -ar cpan/* build/cpan cp -a $< build/cpan cp -a lib/RTPG/Direct.pm build/cpan/RTPG cd build/cpan && perl Makefile.PL make -C build/cpan distdir cd build/cpan && tar -czvf ../$(CPANMODULE) RTPG-$(RTPGMVERSION) cpan: build/$(CPANMODULE) all: po SRC = $(shell find .|grep -v '\./build\|\.svn') DEB = build/rtpg-www_$(DEBFULLVERSION)_all.deb ORIG = build/rtpg_$(DEBVERSION).orig.tar.gz deb-package: build/stamp $(DEB) deb-changelog: dch --newversion $(VERSION) build/stamp: mkdir -p build touch $@ $(DEB): $(ORIG) cd build/rtpg-$(DEBVERSION)/ && debuild $(ORIG): $(SRC) rm -fr build/rtpg-$(DEBVERSION) mkdir build/rtpg-$(DEBVERSION) rsync --exclude=.svn --exclude=build -a \ * build/rtpg-$(DEBVERSION)/ cd build && \ tar --exclude=debian -czf \ rtpg_$(DEBVERSION).orig.tar.gz rtpg-$(DEBVERSION)/ rtpg-0.2.11/t/0000775000175000017500000000000011507312472011752 5ustar dimkadimkartpg-0.2.11/t/test.ru.po0000664000175000017500000000223611377665570013740 0ustar dimkadimka# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: \n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #: t/test_for_po.txt: translate part: #1 #, fuzzy msgid "" "text " msgstr "" "" #: t/test_for_po.txt: translate part: #3 #, fuzzy msgid "" "text" msgstr "" "" #: t/test_for_po.txt: translate part: #4 #, fuzzy msgid "" "my name is test" msgstr "" "" #: t/test_for_po.txt: translate part: #5 #, fuzzy msgid "" "Debian is a free operating system (OS) for your computer. An operating " "system is the set of basic programs and utilities that make your computer " "run. Debian uses the Linux kernel (the core of an operating system), but " "most of the basic OS tools come from the GNU project; hence the name " "GNU/Linux." msgstr "" "" rtpg-0.2.11/t/direct.pl0000664000175000017500000000064011377665570013600 0ustar dimkadimka#!/usr/bin/perl use warnings; use strict; use utf8; use open qw(:std :utf8); use RTPG; use RPC::XML::Client; use Data::Dumper; $Data::Dumper::Indent = 1; $Data::Dumper::Terse = 1; $Data::Dumper::Useqq = 1; $Data::Dumper::Deepcopy = 1; $Data::Dumper::Maxdepth = 0; # my $rtpg=new RTPG(url => 'http://rtpg.dhome.lan/RPC2'); my $rtpg=new RTPG(url => '10.255.1.1:5000'); print Dumper $rtpg->torrents_list(); rtpg-0.2.11/t/rpc_test.t0000664000175000017500000000372311507312472013767 0ustar dimkadimkause Test::More tests => 7; BEGIN { use_ok('RPC::XML'); use_ok('RPC::XML::Client'); use_ok('RTPG'); } my $url=$ARGV[0]||'http://apache/RPC2'; use RPC::XML; use RPC::XML::Client; use RTPG; my ($h, $tlist, $flist); sub connect_test() { unless ($h=new RTPG(url=>$url)) { no warnings qw(once); diag($RTPG::ERROR); return 0; } return 1; } sub read_tlist_test() { return 0 unless $h; my $error; ($tlist, $error)=$h->torrents_list; unless (defined $tlist) { diag("Error: $error"); return 0; } for (@$tlist) { diag( sprintf "torrent: %s, size: %s,\n\thash: %s\n", $_->{name}, $_->{human_size}, $_->{hash} ); } return 1; } sub read_file_list() { return 0 unless $h; return 0 unless $tlist; unless(@$tlist) { diag('Torrents not found in torrents list'); return 0; } my $error; ($flist, $error)=$h->file_list($tlist->[0]{hash}); unless(defined $flist) { diag("Error: $error"); return 0; } diag("Torrent: $tlist->[0]{name}"); for (@$flist) { diag(sprintf " +- %s, done: %5s, size: %s", $_->{path}, $_->{percent}, $_->{human_size}); } return 1; } sub read_one_torrent_test() { return 0 unless $h; return 0 unless $tlist; unless(@$tlist) { diag('Torrents not found in torrents list'); return 0; } my $id=$tlist->[0]{hash}; my ($t, $error)=$h->torrent_info($id); unless(defined $t) { diag("Error: $error"); return 0; } for (keys %$t) { diag(sprintf '%15s: %s', $_, $t->{$_}); } return 1; } ok(connect_test(), "create connection to $url"); ok(read_tlist_test(), "read torrents list"); ok(read_one_torrent_test(), "read info about first torrent"); ok(read_file_list(), "read filelist for first torrent");rtpg-0.2.11/t/rpcclient.pl0000664000175000017500000000030511377665570014307 0ustar dimkadimka#!/usr/bin/perl use warnings; use strict; use utf8; use open qw(:std :utf8); use RPC::XML; use Data::Dumper; my $request=new RPC::XML::request('system.listMethods'); print $request->as_string; rtpg-0.2.11/t/test_for_po.txt0000664000175000017500000000066611377665570015065 0ustar dimkadimkatext text text jaskjkdas sajkdasl as daskldj askld asmy name is testtext without space Debian is a free operating system (OS) for your computer. An operating system is the set of basic programs and utilities that make your computer run. Debian uses the Linux kernel (the core of an operating system), but most of the basic OS tools come from the GNU project; hence the name GNU/Linux. rtpg-0.2.11/t/rtpg.t0000664000175000017500000000330111377665570013127 0ustar dimkadimka#!/usr/bin/perl use warnings; use strict; use utf8; use open qw(:std :utf8); use lib qw(lib ../lib); use Test::More tests => 3; use Encode qw(decode encode); use Data::Dumper; BEGIN { # utf-8 my $builder = Test::More->builder; binmode $builder->output, ":utf8"; binmode $builder->failure_output, ":utf8"; binmode $builder->todo_output, ":utf8"; diag("************* RTPG *************"); use_ok 'RTPG'; } my $rtorrent_url = $ARGV[0]; unless ($rtorrent_url) { diag "use perl $0 rtorrent_url"; exit; } my $rtorrent = new RTPG(url => $rtorrent_url); sub check_tarckers { my $test_name = 'check_views'; my ($tl, $terr) = $rtorrent->torrents_list; return fail "$test_name = $terr" if $terr; return fail "$test_name - Torrents not found" unless @$tl; for (@$tl) { my ($r, $e) = $rtorrent->tracker_list($_->{hash}); return fail "$test_name - $e" if $e; for my $t(@$r) { next unless $t->{url}; return ok 1, $test_name if $t->{url} =~ m{^http://}; } } fail "$test_name - url not found"; } sub ckeck_peers { my $test_name = 'check peer list'; my ($tl, $terr) = $rtorrent->torrents_list; return fail "$test_name = $terr" if $terr; return fail "$test_name - Torrents not found" unless @$tl; for (@$tl) { my $id = $_->{hash}; my ($pl, $err) = $rtorrent->peer_list($id); return fail "$test_name - $err" if $err; for my $p (@$pl) { return ok 1, $test_name if ($p->{address} and $p->{address} =~ /^\d+(\.\d+){3}$/); } } fail "$test_name - Peers' addresses not found"; } check_tarckers; ckeck_peers; rtpg-0.2.11/cpan/0000775000175000017500000000000011417024664012433 5ustar dimkadimkartpg-0.2.11/cpan/MANIFEST0000664000175000017500000000006411177625715013573 0ustar dimkadimkaMakefile.PL RTPG.pm RTPG/Direct.pm MANIFEST Changes rtpg-0.2.11/cpan/Makefile.PL0000644000175000017500000000103511404127427014377 0ustar dimkadimka#!/usr/bin/perl use warnings; use strict; use ExtUtils::MakeMaker; WriteMakefile( NAME => 'RTPG', AUTHOR => 'Dmitry E. Oboukhov ', VERSION_FROM => './RTPG.pm', ABSTRACT_FROM => './RTPG.pm', NO_META => 0, PREREQ_PM => { Carp => 0, 'RPC::XML::Client' => 0, 'RPC::XML' => 0, 'RPC::XML::Parser' => 0, 'MIME::Types' => 0, Encode => 0, }, ); rtpg-0.2.11/cpan/Changes0000644000175000017500000000045111417024664013724 0ustar dimkadimka0.1 Added Changes Fixed version number for cpan 0.3 Added set_files_priorities method 0.4 It works with rtorrent 0.8.5 0.5 API XML::Parser was changed, fixed. 0.9 Added a few new commands. Enabled support for non-latin symbols in rpc_command. 0.92 Added queue mode.