Revision 23480

View differences:

tags/v2_0_0_Build_2000/frameworks/_fwAndami/castor.properties
1
org.exolab.castor.indent=true
0 2

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/images/splash.png
1
?PNG
2

3

+IHDR????bKGD???????	pHYsaa???itIME?
4
6???P IDATx??y?mWU%<?Z???>/
+I^H?4"(H??DA?>??BP@);,?R??P???,;T?,K?)K>K?z?BB:IH????f????c?}?????R
5
^???ws????k?;?\c?)$??????ABBB"?????DX			??a%$$$$?JHHH??????+!!!!VBBB"?????DX				??a%$$$$?JHHHH?????+!!!!VBBBB"????DX				??a%$$$?JHHHH??????+!!!VBBBB"?????DX			??a%$$$?JHHHH??????+!!!VBBBB"?????DX			??a%$$$$?JHHH??????+!!!!VBBB"?????DX				??a%$$$$?JHHHH?????+!!!!VBBBB"????DX				??a%$$$?JHHHH??????+!!!VBBBB"????DX				??a%$$<4??C??O?:F????e?????;v.?????K?B!$?QH???(?Y??<???"P#Da?o?#??&+?(?8
6
Y&p?h?? ???q?PWv???^:?	????@C~??0:	?0!"4S
7
a??juCfp??A?(??g?
8
????w??+?o????'$?J?????? ?Y!#??Q1??&ST?7U??IMm??JL????	?????<?????????Y????=}eeG:	?????7???DS??BL? 0SPG?(
+J??*?BD@3B?8?
9
?b??31@???(???=?-bGgF?.|?/??t~a%$??lB?*?2??L??D???U,?:?B?A(F?+k",h~?U?8?fu?<_I4?E??E?Y?j????=?I/?oo:c??z???`|? ?  f???%b??-??&bU????&;"????l? f???&??%?AdBv?s?_??{?u???7??)OO'0V?Ca??????x?? ??Fu?4?FQh	1???????*?M`5??j! ?<?-??&"???R	U??.?????}?w???+??Eq???6!L?@U?
10
*hBU?G0TAuTB????Th?)m?&?@4!TU9iHJ?$??@?	??V??d?U?????p?2v?}??z?=???M??p?Q?i??6??????0j??g4Dh?i4F ?j?@W??FX?9?j?l`?#? 1y88
11
E?9%??@?@ix?????`h?\?E??y?e????O???N'9V?W<?v???LD?uH??FC??RT??Ta(?*??Z?V??`40?
12
(h"F3???3f?9??#?? ?"@q@?sN?L?y'?k?b??,L?U????=?x??????x"???T??9???i?@JQ3Dh?E 8
+j?[a? V?FX?? ,???B 
13
?p????
14
??.?M?j?>%???FR?9??<? ?!=8V??9?H????E6?150?s=?d???_O|?7?S?+?+*???!?J????nL?E???KX??\?J??(a??????`fAD??B4w?]?]8??????%<?9?2s?A<??zN??d?=?Az
+?98????:?EU???G??}??_[\\H? V?Xx? ?@?4??
15
?
16
H??`@,?Bbn?
17
????\?4
+@KcSHUn'?	[ueV?1??O
18
RM??I???U?U?B?8?{d??3??`?Cu?A%???Tcs?3\???w\????i9$?J?2???9>VWy?r?
19
??E??4?9X"?c??t,V??B,7+???V?v?(6?P?7??Ia%?<Z??HpR?\?M??
20
??x'??d??Kz?????ye?
+?M-??jk???k.???.a%|?e???{??g?ZU?f????bK?#h	?rX.66+?%?%!V??X?K&k??7?nT??-w?A<?
+?T?j?4???8H???d5s????U)??\???8??f???????wi}$?J???????	??wB"??4?????kn???L?:??XnV?Jj??
+?Y-%a??N?dd5?t?Wl?	??????Z=$?p	???"=??xJ?f.?$??@?dMu??F????I?7??4??7?u?+???VoF?
21
@ATt#??E? i,??L??:??c?H47-?0?"?[?????I?7??&\?5x7e???K[???a0H??:Ol1W??X??C2HO?Oi
22
?N@??u.?,?r?r`??g????6-?DX	??`??#U?BB"hu???:-L??a(?????,7-%X?V??A?j??nRd?Xf?eh???j?p???N?kBm?z?ko3
23
??y	?A'?J??dd???,#z?ALtl?B???R?1???^??$?V"??/}`eAN?=)Sy??X0+??#??rC?:??C??YnV???FH?;???:?????5A;???%?MC????pkF)U,6?n??????2?|?Y?????fc????I?=n???????[i?$?J??U?&?7?vJ0?U`?%t?471??t$64????U??3X??;???BWeUU?&?!?\6? W?*??7;?jZ+4?yN???:??h?y?????jo1?h?#o1???Q?????????s?VQ"??/I8|@6>]w?	J??1???
+r?a?0?
+`?Y.V?6.?
24
T??????b1?:????Z??[?o?gBDU???K?RU?%1	???$qmUe??N??9??eq????+? >?7fy?#??0Z?=?]i-%?J?g??6??}??h?hZq?ud?KX#l????l?X9X??h??	???p?`gRibsc+C??W?q6???t3?O?o?
25
??<??V?$????n??]Hs?u<,??q)0???Q?Q??s?'?;??DX	?ll????	9?Xi?
+$?-7aC)7?9?(`?X??)k?A%?w?@??l!??> [???b??KT?:?t???vKf??\\??jim?Ea?"`??-???:?Y??V?0D????~/{?S???0?D???/???z8?????tV???+?z?F???s%`?.??Pa%??n?????g?a?m?0???8@???(??DG
26
??le?NHe-AC????W??m??n?-?.?	f?]3?????)K????FX??0O??:?{?m?{???X?"	P/????^}?/??}??^??G????bs?Z?T??4??W?g?xcm?=|??'?8????????n??]?v???O?4??+???W??08?Q,X,L?#?M???c???rM?f?I??????b??ILk??Le
+?Z*?0m?A?<??35?n=?&??$I??51???
+*Z|I?"??W*??0*?r]??;?x????>?Y?G?f(?7yz?g~~y???m??[??]??o???c????????A?p\?'?"?"?e?V??@oz{0???????Q?>???k??????co~?o$??'G????????{sK?}?1:?????S?bd)ZTE+?!?&??tSl?@??I?5-y??>??2??u???!5?*??1?5???&???Y??7?\???5?Ft-N4?A FU?I??`?R???|?????(l}?^U/?x?
+{??????~??w??l??i??????I??G??N????K?3?]q?5??????;v?E]??m"??(?????o??	?????pN???,%?1?q?8?8 7$,??ca??hM*?
+s?n?2?WU??M?J-e????Jy#UoGg?Eg???*???)?[???M jU:???2e????a??y3Vs?FBX??G??8}???{???/???9?}?z:v??=??!F=v???3g???6?????F??
+7?_?????wye9-?DX]|??v,?]p?&??? ?EX),???1???
+??,?Fu?
27
???WU?\???=6z?i??f??\??4.U.1?u??'?-n?I?(U??????&?5?UGk"/#???RZVZoT?FEF?a	???|?;??7??7^??:?????~????\??l{:?=s??SgV????l?v????qS?'}??w...???!??p?+??Ble(D`?(As?c?????N?00??@	SX??l??[? ?]?&?????[??Iko?]N?>?f??}@m2Mk?Gh???&????Z>?Kl?Fd0q?e??i??
28
??F?jB?];]?????m??^??7??_/?<u????'O?>s???????7?<ya|????x?{?:u??>-?DXy?8q}RH@D,?F?UT?8@?n??hc??7?a?	[?a?]??:I?_lw?5A???.*?-?28?1i??^i?d6+)?eZc7m???N??Hz?b??E?J????`??$?????o??_??o?u?????????K?????q??yvmcu????g76WGEVO^??????????w???+?]??????|?g?X!:?8??uS?M?@t?4?????VdC?2T[?$???M?:PjJH??m??&?wy??t?cbF/Z?7?f????J?Wk,j??!??`?R?"fyp?\,C?uQ???=????S????l??]g??+???O-N?1??V???????J_?N\???????[%?J?????B????c???M???M?????B5l?-?j"?????{?3un??????????*?imrU??????*?s?m?ik??j?D?2f?f????J%?aX??4??n9r????,??????/??_
+?????6?:uyv???~?n^??[?:?? ??A??-?Q?P?bn6?rhq?b??i:-???Ahs?????:?m??d!?qL??m????ni???3?|Gq???7D(]j?V?7	?&_?M?`?9A5??E???1+co\?q?< 6e/#/????~??3????g=?|??:??c??m8X?c???4??7????=?L?4V????'?Xe???:?0?8d?6??X?Ha=??u#?I]??Y#?S-??l?????\?g??Ms??|7?JM?+?DS
29
7?B???DH!(?0det????C?edi?f?X??k???{?x??y??U??w>0?????!_????????CG??xgZ????'????EY???tY34u+????=???&????d3??V??L?5m=*?T???T?]i?k?R?nKg?Oq?R?k??3??7:2Sz?^??TW???b&&`?w???_??_????^????=??????t??[?s??I?4??:??1????8BK?2??M?@B?'???Fle?X??@???iF??f????o?_3?`?&?wns?t7p??h?8??	/P?i9??i?v?nA????Us??
30
Q?>F_B?"????D?????????/?t??,???\??O]????r08?Vi???????\=E?0???Bn:??L???1????A??-?????$t%??y???%?na1?x[:?k"s?sCw?y6?2y?v??tU??^l?6??W?L??}i?Y0??%6?{?;o????8#??=?z?pp?????????M???????:??`??B?%????X,? ?( ?~F ?-??????0c(:3?u?V?kf?s??NA????~u???n?5???HQ??t
31
c/j?[/??VD5S1"?|Q???<??O???????y?'O???:oa%L?q??QC>
32
???#?1,??}????i??m)qOY??.??Rc??@?-??)?M????I??d?G??&?;T??d???>?4?"?<?`N?~??????/6?-^y??}???'??DX	
+!?+?????c?Z@???bN?f??h?u?pm?l+????"4?4[?o8?m?O?I*g[?i?e14CttK??k3E4?Z???A?(??_Z??[V??RF55??2??yQ|q??G?b????G=????o?nZ?????.??f
33
,?t4,,??!b.62`Z39??.?J??39??;??6?????e??)?[?gS??????Bf?K?[?<t}G?N5oD???Sf?fE???(et??,\Y?????u^~???}y???????*?eZ???????h?`????|,:????j??i??0S??6??X?4?c
+%I7?q????Pt?|???l;{?		
34
????U?8RO??m+???D@??????W?+J	?! D(?<?{???|??]f????7~?D6?|`q?????~y?s~??i?&?z?#??yO?
35
?h??6???th62?P??`??M)?[?G??jm????V?!*B??v1?2/??is?k}??{j?h???q?`Ak}(?G??GfA3???,???Q??Qw?Z???>??z%??Rx?'??r??:??">?????=???;o?%??/=???	?>D?*?p'"P?r?# ?,?P???e>?N???Ur????n?%?.-e_?'??_?A?d%T?""?\???????T???????|y??y?*_HRx?g??*v???"???????????_?5i?&?z??????3S@]?c???@?.?????l?>??>Y?v?jR?6??f??p???iK?^MHm???v??L??t????0mg????D??[??P,???8?;=7??yiQy??7???????+??????????????AY?Q3'?<?;o???g>??i?~)???|?@??#/???C??y?+>?{???hms?q??D9??N@??:?;xxP?g?{??e(???V????????}?????f??wm????zvT??(?,o?7??o?=?z?k8?DX9???k?9E??1\??-f???????????????k?\Ik???sV8wv???_x??u??g?/????"?t?>?u.?~?Y}^???SR
+;?:x??;?????(??s??????O?K??OJ&4?ImP?A8>(?m?????????K?;o???=/-??>????.??q?K??/8?8D`q?Q?E??|??%???U????Z?#??Au
36
f075>F?k?[????mK?I??????o??
+'V????=?A??0^X?W???QomS???[Q@?.?d????????}??<?????}??????/?>u*?s???n<? H4
+j!X4?6?vZm??o????=?U"???X??S??%?-???!_????c9:]?3XSkG?5s??B?fj|?%??mC?H???s??V[??Zo????-?h??<M?J???Be?f??????7??F??y?@?,d???%?5_?X?\s?v??`???l???S1ij?`1*m???ly)?<}x???????Y?~NZ??28?.'
37
#?? A??F??x:?Y??D?^???:????J?w?[??m?F}?<k?}G???w???7?-??Id?s?V??I???LO????7?T???Uof8??????_???U;??T?`4|?Sq????BF?d0+????b??v?(wK????????[a}?tX_??03FP???j????JX+?]????4???qm?%???c?Y!???&????t???x5?`?????f3??x?Y-????$*?v???"?R]?1?d=	A?6??O??? ??5?8;8??0D?EEmlTrX? r#????H?y?X;<w?Sn??Mi'?zH???2?4W?:k4?%
38
 IDAT????a9,F%Da[?7?5`?.??Mj??	?????7?;5?????u?m??+?T??i???U?U?
39
???[5*???D?!f?\%F??E???+??w?{??/~Q??C?"???a?eaF???5/-/8(?fiyOG?/`tb*B)
40
?-???uZ???u?C4?T?F?*??+aV?b????n@4????`?1????????Vd?k!4d??jI?????5??C?4v?M??C?p~a?? ?a?hDR@?f?????Ri4(!???Gn??{???;??y??-?x???hTH4??8`l?? pS??+Z%@????!???|g?Xd^!?????4
41
P?r??PGP??d???$???i-?y?%?XM:?'???yM?U?i?a????j???6Wc???T??0???t/??[??t?@W?S?]??
42
?,???v\p??x?????7???QD??A??n?8
43
q??2BD?4B?k?^?????i='?:???G5TE?j?|D ?h?C-?K??);???c???N?E??L??;^?}?nA???
44
Lgfm??z?k2?t????????3??/ ?T`t
45
???J??r?^^??x?E/??m??v9?g???)M?L#?iQ????%G?????f;?&-?pj??????z? ???D<?I?a???BSS?V?`)V
46
? ?bO7?app??YJ??^?_????
47
Y??K?X?O?b?pp"?????????:?
48
??R??????mv?r?
49
?Z?yM	?L??h.???EX?????>y????o????????y}???&A??12?????Q? ?f?Ai?hg?P.
50
???r?:N\?<???'?{??W^}MZ???[xQ??`J+`??hy???a?	`???m".??g???????Y>?T|??0?4?.?3????_?&w???<??7c?Rx??E??????~E??????k?:???M,|?P??j-?Z?qO?O(f??	_??"?7:??L"%!B+?`???a?z???m???K?????"f??P?6.utlm?l?8e5?
51
???A&???????o?O?????a????rZTUb?4(UKa?????)8? ???[?'??????As_???;???kJ???}????O{???[????P????g?@???w???>??9?x??????]?\?
52
?o???-???u;?C????
53
"?SH?^??b40?/?[??g<}k2?o?>??m?A?b?QF-??j?`?`?7#Gj?fcO???Nf6?T?|?pZ??u?b?????sq
54
Uh?T0Y?T?";?q7v>??a+?VnEd?q??"?}??DI?qt?_????C0Y??lJ??Z?Z??Wm?n???k?????u)OBq?.?$*???3??????s??n=?w?l'???8MT?Q?fyi??F????a??r?????Nbp???0??z=??ia??<E?V????)?h?j?Wl??v??@+???1?/??s\?$?
55
k???{?g?4??Co?|??C?x9??U?,??c?pq-S
+4dW????y}=?Acg???L;]??o??z?<???U?%??????yU??A???Np???k???[#??????"??f?7??2?????eF?
+?J? !?# ??y(???`y?%?z?~??^??v"??
+1_?2????%?U(??R???[Uq0?8?f?M???Z{?f?0?%?k#?p!??mBjq??Co??'?5/?M?
+&(O??+??J?????|1h?=4[?=?]_-W?<m???L
56
????N?6?U?F??@?b??W#? UC2?7F?a?o_?????X=[????%?Q?f#?q?a?q??0rlnH??j7ABnr??s?Go????N)???p??P?%*FS?n?QP?%!?i????q${?T?w?cz?f??X?+Wc?j,]?????1w?9RD???z?k?mAv^??L?A?qt??+??n???qd????l??V????SZ<?&??,6?e?5?????*V???"????@R@`n?<?????????????3???j?,?(m9?6?b+r??Z?????b+q?:?t?b<??S$?:17???UEY??7?0
57
??X???v?UUy???:
58
?C?1D?*?B??X%?s??~??5?\?r?NC(?????????p??!?i?2???h??Z?j*DK??-?????=k?F?r6M`???ZU?s?????&??3?~?e$?????<?J?`G???#G1#r?(rd?X?2D??+???.m<?y?w?q{Z???7??L5?]??(u5??F ??X%?"?i????~?S??R???R3&'???'u]??#-!???/8??d?B??f7
+????n??)????????5??@?S?H?PcE?????g_?????~??F@4?\5????E?a?y?(????8$W9%&?Q$?UqV??e9\??7??w"??
+?%4S	?udD??|g??????I?n????p?B??}z?o*?=??2?k????k??????>
+m?wte???D{?W+Pr?j?$5K??Q??Bh??j?U?????v???a?????????:TQ?FEi?????h?\16?????????@??ca
+Y??O}&-?DX?6N?/1?Q]4aU?F??A?Mt?b=??H9G?el(?0????1?Y??e???@???&?d???M?C?=?h??&[??n
+?l??b???-s^?1???2}0s0?8k???R-???Qw??\G~?y????z?D?D?T-??
+???)]?LF??ixUwzG '??G0???cg?
59
O?u^?_?h ??T???$W?????\????mjX?p?9d??]??A????2?<??j??????z&?k???
+??g?????MR??T&4??^?~??e??a??? ??????h??2?0?As??b?scn?k??????%t????0Z?q?mH?u~!??id?U???J8Z???0?/????<gl_?j?X???j?&{??T????l????kF??????????V'?u??U???|??v??[??-U??M}???qN??y?????E2m??????,??i?0+??h??@9&??>'G??JW???S?PK?>u*-?DX??AjM???H-k?*??D??%?9??C?m3??5?
60
???z?Z?$?}'??W6??w?R??(?F?I???$N?????S?R7m??-Y-;M?]Z;?jo*V?T??s?^?e?????_????????X_+M?iP+?2W+??\'??o?n??6p	?b~i???Ci?'?:??1?J	'?aP?1r???1?})???)?l[??U??8?]?Z????V ??????,]<?Nt??fV???7d??4?;?B??4#?h???6dHq?W?'[???{??s???/EYD-
61
?B??Z?17????X?[nJUU?PC??-9??
62
a?G?%?IZ#?:?2??XF@??Dkn???<uz??????Kpj?p?~C??v<f?_?????8???kd????=??L??U?v?Y?????|??:??'??H??;??eX^Z>g2^?y?P+T?\??d5??9?^?8?u?=?F?Ie????G??E??<??zX??B#iu??O5}??B??????Te?????
63
G?5??e??]?~?fE%?@m(?????p???Z???? 8???S??}?'kR?wn??[?q%a???7q?9???377?w??bY??E`??AY(???X?%1$?,?O?`??4??"#?DhF??:u2??DX?	?>?}=j????D?a
+bM???$t?D?????????8??A<?C?I?=???<????d????CY??V*`;??NE?=?????v?M[h:	?|3??m2?B??d?A??z???a=??	???(???edP?DX?ZI-MKcI??ix????W?J??V?6?:O?u?`?_??8??3sR9^,?}3?NV?J????=Z?i??J?_???OO???;x???k??bp?,??5???8S??????.???"?mp7??A3Sgk6mMv6?@?(?dK??a?6'L%f??8:?uB??x? ??K??????r???2?*???,MJ???U	2?a?9e?B??"??(??&$??/5b~.??H?i? 1ee>`????EQ??E<u??????u?k~$;?b=?n?W??H??,_s?V3K?Jd????????O??u?<,??N6M<?????{7??+?N7M??G??-???+[-+p?????;?N??s??hf{V?3g?3%,????"F
+?sci??(T?=???
64
)n203g???:????n???n?>?)N(???z??????%????w=?W??n?>?x?
65
?C?P?D?????|UCX?#?T2?V??M?M?E4meVo4??DO??M?t?d?G??ZT;MLaf??\?D???f?	u??8z?V?3??Fa?5Z?dI|0?j}???j???j?\???y"???|????sF?RB(??&?S
+??n>??3C7l??/?{?gd???0??pQ?????????
66
??
67
?m?g??G?us=C?Qf?m?z&??????3?????-??qoO?NK$`?????2@?=
68
????}?E?X??{??7,?#?A??O?x?#?X?j?REX3Cr?(?e????????*w3+?"??DX?	??W??j???]??vv???\
+^?f
+???X|?d??<B???_?M???B???Q?3?7????Q??:|?{O?{?Z???\?]???????oz????n???t%?p???ZS?f?M???7???_u?]7o??K??????(????gY???X?[?j??<t??1?????D<??c?????[??}???^u??s??a?vbc???:?9Yn?f?n??5{??gCJk??(BU?dZ????4.??T?,?q*???;}V??zyDo????????/?Zd?a=?a?aqx?????S??7?\??~/??'\?_?????oG??????	?+??m???@???x??o=?E?e???1s?}???f?m?c?
69
Zbq??????????|?Y????f?????|??]??:???9x????G???'0?@???????
70
]?? ?P??J?E?bZ??PhM?H?z-Peg-?!?uS?4??fq?"??:???,?-u~??Z??1w<???nS???x???g???f???K?????a6?'z?u??????]????f??"??????Qu??x??.????_??&??????x?? ?0??c???O???'<n??/??#?f???V??1"???????X?g???qFHL????:?gB?5|?x???^O??Z?5?
+?u?e
+?EKYM?VD??V??b?~|?J?U<xl?5ayk???y?a????64J3ezb;????4?Z??`?<` ??
71
p?<?V?Q?}'??4?6???AQ??yb(?q??l?#???G^DbO?p???bd?%h@?h
72
??X9?r??Ip)"?@?A?*??????%?J?y???#??co???l??X=?y*??M_("??/??&?????{^?S?=?x?c???/?{??2?t?:T^???
+?\???? ????.?)??????*s?V,?iL2??????ZFZ?????z?|?S????\????oJ`s??6_?a??}?????l:q?}=}??m~)s.?????Y\??	x???&????ps??z?W}?=??DLT(?4R?
73
D?L?:O?u?`i??!??Z!lr?f???????v?G8^????8???????T????`??|???????(??q~7?????>c?g~a?
+??|??N????c?s??8?oy??2M?p?a_????>QHLu????m9????	?}?u_u??p{??A?$?????BU?<?qcd??,??y8???6e,"?r?=???????? 
74
	???5?b?S?*????I ????V!??H????a?'85????Y?5?X#?j]`SR?T???C????x????AT?X?#?????X??C????z??/????
75
??r?MiIP??g~??}?y5r"???g??.??v????~??L?a?g???_w?$?z???e??
+??8T2UU???TW??0??Y???@??u????w?[??i]?"h???K?z?G?3??X!?$P??N?7h?I?5(0??B???
76
?@R?U?????}???+-%?e??uZ$RKL;v
77
$??J?????R?????9??~?w'??_???^j?ob????
+?9?Y??D?E?[? ]?o?<}?j??^???L?n????6'???????}?O???=??'???s?qaW_?????:CX??7\????6;s?R??dt?7??#?0	???`3 ??KD ?:r`?(M|OB1?wZ??l%??/-v??*Xi??5??t???U-???|n??_5??)???
++
+?M?3??P??+b?c?G?q^6i?R?>????lJ??v?dEU??????<y??
78
???^Z?d?h"?=4s?I?K?e??0?f?g?=(T??/x??]??9?>?????E?%?%?]?e??N???L?<DL?????T"?L??=??R?u?????fM?T?Z??nU?O??$~!??ir??????l?'??7x7?{&e??.??H3?AZ?????d??e?	c??@??g?MMD?%?r??qF?0?????oE(3?8???yO?7?y?3*3/fB????/??????g~?????/?h????u???x????3oYf???
+??? ?L?))?????B??Q$?r?w???a?/?=?:!????6b?*??*;3,\b???t??&,??`?X\?7??DD??g??%??s????3s????UB!	P????m0?c?g?`c?16`??lL?`QIFd???P??Vqs??7L?p?z?{?V2?!??~W??s{zz?k???S?}i6?r?? T?x?e=>?g??XQ??u^?[???"/JLlr?#?U	??B	???????o???;~???x??ic?f???Qc:???6dND?M???E? #b@?(HI?$*B
79
%??????J?:Tl|???P???^???"??(?Q??
80
????????H???f?????&?X[D?
81
*??
82
???N???_??????v8(?vV?~7?+????"GM>?(Pq??'D?)???? ?????Zkm8???S?_?|??]?oZ?x?z?@ ??I?$??P???&dWU2D?
83
?	??z???C?????l??????!b?xg8?^i?"??^.f???????t4?2x? ?A$?U?????{?.<c8$[????b??sB-?I$?*W&???_I???yf?????6?????CD%'t?1????!;??[?O>::???c!p?[_^?FT6>3??X#6[WC6_S77??&:?: R!?DH??
84
k?sQ????mM/Z?????!k8
85
??vu??3?i?v10iS?????1?????]???w?}?u{?g??????aw??[???[??V(??~kX(4mQw??^??)}?JT*???ft?.\?%?r\?????
+	i???/9?x??el?j????"uIC?>?!?vP??!?C?+??????z?c?kXJDpIs??6?:? IDAT????u??QD"?z%%??g??i???u?r?)??DHv???T?q?x?????n_t??H?)C??F????W}??q?,?_x?,??_?M??D{????!????????I39??h?nx?k? R5??>`?+??????g?S8????g??x?Uc+?V??I-?8?i????dUu5M??????5*?{VG?"m
+?w??*???5?C?n???'l?I5?'?E{?N%?g?j?S????G???ZW?p--?Y??}??q?X???F????
+as??p
86
b?TsQ?^??CC??Q?z??#?e????O????6
87
????????7?x?????'$N?+??~??O?????>????????#N??? b%eu?4?,0C?CYI?g??y?"?????Ec????u?Xx2j`x?#UQ!?@?Y??0bW??????uKN?/b????n?i?B(m?4??w?=???1T[b4S?[?W{b?#???<???????L????T?e?'/?*?U_???s6b?"????7?M;?????cg[?Fy?????????^?FmfDX2??Y?@??;?]?>P
+?u?
88
??N!]e6?Y2}?a??^?!e??~2?fJ"?T J?n[V???E??_?????4??d2FZ{?{???q??
+?a??=?O?O?????b???9?s=????&?S?????P?/v???l???wY??????s?0f6??@??bH!0???Y?????????????k??C???*???F???@??D?D?EU?N8/`A?0l????O,=??C?V?9??Q?P?a???G??@w????Lay?H????,>_????nl????n>???Y(D1?;?2g??????x?`m??V{??<?Rq??;X???H?Hzh?s???*fIw?S?.???^???>o??p?^? ?.?HrL??`m???????G????/??GV+b!`R??S??@?m2Ds?"y@T??DS;O|?????u???U? a? eH???
+???
89
)!?p???
+a?sMu??x??
+???n>???vl?p??}?s???V#??>N?^L?s?Mg???tN????F???^??(?M??/???????o+???????5?:,???i@?&
+H?L?'Y?????>@?Xm`?[?x??[/_p?Id%6?%I/?l?4????k?9=q??G??]?f??G?x?????(uf???/??w???~b>?#??Z??????7????y?j?/??7N??o??9S?CA??:1s\F?7?8???9|??D??_??+u?X0?M.?#??H??'}?4C??$W-$"%??/?/s?uF(d???????z?[???#?
+rF????gU??u+??*?r???C??gb? 9G??u:?X?q>???9?f?-???d`"$?_??????M?|?o???W~d?^?38u??C_??u??b???9dA??(??m?S2??????3	L?V??0??	w?????%?1?8???>????e?h?lX"K?+Yek?$???(AP???????K?:??<!?m{????	?(?}????M??t???by?p????[?&?????]?????l1?O^???WO?-t{?&??P6?Q???<+?+?????-?<?????Ky?D|d????5????????<b?O????X???L???P???3u?!A?2?c????o??u???v?J5UI?$3?!?^????-DR??{!:1\+~??v?A
90
!I??E??????B??cV?t1???``?b????6?C?|?4? 8?,?????|?%??H)?a??1??Y??%UVP3%??w?	W????????x???5MbK?d?;???)2???{?|?SJ?.??{?<?9Qe??U?~???Yh.T???t-???B??q?????I ??9?T?a???J??Y?`
91
+?v??=\x?.M???H1??????E
+?!????$?[??Q?@??s???C?Lo}?{????y????;}_4?@P??N?w??",)?K?:Tmb???#!? ?f????????
92
?????%?\1??L??Dc??C????#?U???x????R??o}X??,??p???:?CK??~??
93
1H??$Di???p?^?%??????????J,???&H?g????K?:d?3?
+_3&?q???e?l1??~???H?XF???igg?{??rpl?C?]??yCa??I_????b0?K????Q?5?6V??????N????C?Qe?d??#??~??V??0???+?q??
+???C??????{???^]?l?#'?????A}?[}v?!?dR?????e 
94
??L????d`=P??h{m~???b??????@}?<??bol'????jX?sQx,?r?a"{%(DY?'??=[1?%?`x???G??P???7?t??;8?4T??Y???????v?K??u(??0Xa(eRqh
95
?*B?????!?????mu?k?Wk??|?QE5????<?N??I???.?2????g?????"????(?????P;v??	???
96
?E?<??j2$??SG?S?lj??8???2}???p?N?sOT?,?*,.?5a5iL??a?.]?lg?????Sk#'???,?v?T_??=^?bS??O?"??????~?#?X98pbX	!?R??KT@????#BT??B
97
I????'??_?B?X^Go)???3/?f?j????ct?y R?PVe??I??(ua?Ml?e??RN?????K?????@??s?o?VjQP	!?a??x?W??????^???-???C?~???A???#??
+???]WT????h???????U???????O???t?//?0??k?*???"8?A?0P?4?;???v?0??@b?E??-??0?]\?l?xL?8??IGw??~?K3tj
+I{?E=?B??RfU??B'?? S??e?fj??I2m%h9?Bwoj??K/??k?4??j}??{?G?lT?i?Xe?O?e"	???h?]?x??q??%`?fW?+^H4?J????#??.?b?????N8
98
?Y%?
99
?@?????????;.?z???=?Z[aj??????????w^q?D?s??X????????;?X?;??9?O?????????~????{w^?Uo?????U??3D??j?T?^t? x?X&?????V?T?	?RXq?+?
+]}???\?_n????Fd0C???2???QM????jZ?<r?????K?:?????m?jU85?????1K:??&_?7?M
100
Z(EA@"??\???b?:???V??????bI?XQ?'???]_???>?5X??zg^H?a??W???N<g?????M???????w??Ow??XU??*???GX\??????$$?|?J-?A#	?)7Rm&?8??u???(?????_???.??wOn??# ?E3+??mL?Z?K?R???hpx?????USz??+G?v???Z?M???2?????e???8?\lj???"???C??<????????|g?g????A?a???f??????4fV??g?H?nu**+????nr??Z?\q${k?????8?{;
101
?$?r?f??!??fbc4????F?V??J?(?EZ?h?m???o?w????=?;6N?m	{?9U5q?ZWCc??&??D????y????o?n\FX?????GT???5p?8!??y
+?]^?nf
102
L^??2?FD?
+?>7???????A?3:lAB9~??u?:w6]7?,?P?????W~??B???Z??????^?f??Sf???"????@d?$Sd????YTOM+E+???zxm/tFa?S_??E/~?????{-??M?N?xx?Wr??4c????_???d-?L???'?=??????K?z?b???????#1????c!F1G4?x????A`@??t????K???>?wk+?j?r????W??W???a??Bojq???5KzK???Cd??b?fO0Z=4?m'???7???H?9???3q????	??8??*
103
????????????h?io??PQ????o9???dWO??6??&ur????20??????o.}?L	[??i??{5v??5?9???QDA,??S?.j???L?+w&D?@~?5oy??p??????_?l?-?8??IG???g>g?]?? ?n?W.Dp?k???i???!???f???/????G^?d?M?S6???Q"???0Z???d?[?X?{??????_?{[. ??????FQp?O]???`&?fL?L?\A
+?)
+??}S-@?????'?t?D3U??M?3????/??????:C?4?
+u)?????????>?t??[?b??u?3?-?Nzb	#????a!?]?1??9(?'SgTP???;? D8b?<?z?"???X1??;i?`q?M??V???.?"???3??N{?y?????v??.?96?)??? ? 7???y??=qja??D?*pU????q?v??s#????bl??_????J+?.?;7M???j?O2m?n*???.??N???????x??G?q?x??J?-?1i???A?.?h	?????iV?v_V/?)?
+?B^?[?)?d ?x??$?P??N:?}I?@:??@nC?$??1 ??4????4???j??(????@?q??ku0?s,p????!v<?P=	S	?1?	2+NU!	?`|???????|?_???o??????D?8+?V5??2?t???;SvM6y????$?xuA??5??N???e??a=&????????j?Xo?Q??Wa%B??O??@S??@szJ-??`???	????r??S?:?l$?E?p??/????w?]???&??bI?2NAh%??l????	2+YN/F???+?u?m?y?_??e??{?7Nd??6u?N4?hY?j??fz?si???????R?U???{o????xO?%`=v?<?C??X?@
104
"?Dy?C?>?C??6r?????????_??o,?????WWa?d]?+!Rae??n??J???]F?vZ?"U?A"??k??0qA#3qF?D3??????y?D=??7???v??????x[E?$??T?5Z?u?L???4gS7?O ? ?di3???????iK?z????_??3????9Ve??A?HUI?s??^k.Qz???(
105
??B????hi??]??V?].?Ec%?qH??*?(0????I??/Rq??? ?0v?8
+Y??L(?l-<@?"~??????.??M7?@?^O??5???k?C?b?f?gV???}M?T?L
+?I?g??? ?Yt??~???p?%`=?m??~<^X????@Y??TUU?)k??Ia@g?1
106
+q?O&?-T?@:@4[t?+???\}??s????<[@??=J??a(1HD?c?F????4h?J3?F?q&????@k?0?V>????????;YZ?v4?1*??,??u??????V??Z7??:?x???V?#??=R????|^?%`=?m??e^????j?g???X1N^>p????GP??k ?M=?????~?9??6?H_??8?|??Y
107
??ydo?yI????vJ+???2?x1NH$t9fY??i[?I??B?r???z?zb^?h???????q?????/??j??6L?Z?S'???Xf??
+I??4)?4?3??|?SUF????>?????ZVi?'?9's#UJ%5?|?i???{%?T?s?x0??\??e,)??,???6w?T?Js????(??#a?B?E???v??n?1??u?Dj?,j2d&>j?j#?17bj??S??z:l????3??????y??????;
108
"?pN3Abu*??$?U?????)?N#?#?rR??6?h???\=~?g??ZVim?z?ek??N???&S?;#?@a?'???q7r?*?Y??????D=????(?z?\??????tKT???~?.??/l_?sI_a?N?Pt8??a??V?Y4????1?2v?UEt???y?N???}?/?$Z?x?9?@#???u??J=?3??<?NO??vR???sK"&4Q?q?????????UZ?~?9??z?ZfI$?>??qX	=?j??,b|'=e?/?v?b0e?I???X7[?E@l:]]Tx^
109
!?<Ih??9rQ???p??a?
+/"y??@?q`?Qj??F?,h?A#?T[N?Q"???????k???n??g??^?cc?~??l?zx?Xi?~*v{[??u{???'}ZGZ??P%_y?-???u?/]?????W]UkUN=g??????Ih%?$?0^???Si.?6?
+L??L\????(,6???BW/-??<kZ?a}?_?%s*xVR?F???J??G?:?F?$?'?$?2x!??ZF???_???7\?<?o???r?w=?#i?8u>vn&s?$?????i4?lI]?jA????????S??|?;???????\?????c~t??|?0vA&[?9Tx{b??f%????0???{????M?'?=_? .??P(E??r!??{+?t??!?Ue%?=?{N5?\???U??p&?z"????x!f?+F????????<???OUui?nk-o????????k??k???V??:???
+r????"jLm`??????t??J????????y?'?oi[(???3?+?0,???<H?J@?^H?j?9?t7??^9??]???>???3?mH??H	??6l??Vm??c?P??P?Dt??o????E?{??????`}?M??3?!??k?J?&?;w'?<S???$?d??3h???`??_}?_??+?;???-K?*?g?v?R?J?"?/Zt????o?yf37?on???YDg?F???I???,???????????[???*???B(??'??*??dRy?v?vRH ?????={hA??j?2#hO???!???wD?y?2????ZNgZ??q?%?G??2?Nu?p????3??}???OOM?VU??388?{??E?9??[??.M?63;g?Z??~?4?.??iJ?")`U?C??????;???*??7n???Yx????`??AP1D??Y^(????????u?NMD??c????Z??
+!>???/[?`|A5?1$?E?????j4&?M???	U?%?~s?6?=H?#
110
??/??m###?I/#???l??M??kD?Z?AP2??W????\???u???zFZa?.
111
l??(t,?HA
112
?
113
VP?%?-???h????oNnxP????[???#???? ??fRm$?????k?-i???[?D=P
+y???|?=????sQ??p
114
?%A?(?)o??%qk&?z?.???]|?L?3??m? .??8G^s????o?hUFX?=??D???,???"??Ad\d|5??J??U?l
+?0?'m?w`)??G?359?<??J?=???6kLw7?)`??P_W?t:??T???? '??,"U?b2a?*?V?:?j????nP=ElE<?"?$z?a?=?????W???^?sx?????'??"??f??z????As?k??M???k????'~?#?XFX?=4[?)>???v??Ca?????J?*a??4
115
?
+	bbC????41??b_h????&(<??
116
?n&s????tn~??- ? IDAT???rV???K?	?*??r?M???4?N?dS?bm$HR8??xw?????|?U??(Z?nb|????,ke?^o??????q{?n?oNPR???]2????o?zQ?K?*???~?8??S?W?.Y0?k2?^	b???4`01??&g?
117
Y=??????x???????F?x???????{?\?9??????<X????G-Wk???F?TR' ??Qq+?????g??y?zo??7m??'q&[b??a??g??Sdc?G??~d???????eg?{?(+G6P??~????cAT???M????V&??J???ih?8	=??"?(?:$PQ??w??Xtb?u?X?~?ZOO-?z?ThO?O@??1J?H??I?j?J%?Q3??gh??,??W$I?
+?c??o^{?/?;?????l?$?g~w?/m??l?H??xY?? U??????7|???_wO?x%`??p?;?s???]?????P-L3????,?6l?i?4??%>?\??Z1^X<?BI ?;??GQt?[
+?~H??5kvzfu?k?h6k "/mw??2HE?k`??F?G??6??L?$?lqb???
+U
+?`???????w?????6?
118
q??z??K?(?9E?4??dF??@P'??Eik??o}????
+??WVi?h??-?:??????C?J?Z?Bi????FM?Y5q???W??5?z??s?'?,Z?v??????
+@?T????]#??J???K? ?a?F???R=?V&?AD??"Z?l???5?}?Yg?????o?#jy??}??%n=]?)??d???CI???.?K?<?CW????-}????]u?????~?K????)?V?W*?X?S??rlM?F
+&6J\-?(?Q?+?E??a5??r?%????<???vIA??DA?E.0_??3t?r?dS?3?y_??B???X1??d???L5??db]>-H
119
?EW/???,X????x???:?N?L*3??;C=????M!??	?U?jc??&?>????U?Pv??R???)xT???z?i?v}?+^~?yX???]??8??W%/?%???P5<?P9R?
120
@?!?D`Vh??n?Ou?j?8t;?v?
+|5?}??9=?	X?+DQ?4H5L$jd?
+?i4??"???0"?l???]s????????nnZ?`?k??L<O?9??!?CU?-Z??L]???~??+?|?i????U??^?/??+X??3]?7?UC!?P/????l???"??Y&8X?BA aa?"oD?@???'??hU????[????%RR?8????Ub5?p&
+fR4R?x??R??@?<???k?????Q?>???/????$'????bd?????~????'?rJ?Z%`??????/_~??????`?fhX???5??D?\?Uu?a??Ds???j?O?$?bea?n0? ??{??]?_??mA??????=b?N?]?'?,???G??Y?????j=??f????????+?-;?S?n{?euG?76&N}?M}?6??v%?-=l??????soZw??n??????Qo?]w???????????!d??F?U???V?W?,2?,"kXBc
+???I@j??Z?D??m?#?1s??n{??8*q?K?z?5*??S?b?J??????t+?l?}1ZM?u???????????>???????y????ui?L???Z%?r???????V?{?e[?????
+??TFX?????>???_??O^??	i(0L>`??G?z?
121
[???G!{???mh?3?L?G[?""?HY???_?25???t^n?BC?!?K)/?????d??da#?fRSO8?$??x??"kV?]y?=??<$??y?^?a?x?hM?{?P?r?Uk?#~??//_P???}?X?Jx(????}??]???V?0v?x???Z?i:??????4?I????L???????J?V???	?7?$D??DU??C#??*i??;?W]?jKNw?D?U?0??7??bGIJ-??
122
??P?x|`???]??+?n?se???TmEv*H?)K?%??1W?C??S?w????)ai?{???|??$?vO4?0?(?1T	$0?Z
+%d?>???7?BxfO9??z"??a??,????`???
+O?[????"?v????j#?L+???T?Z??@u??j?w?{??q?????8??K??2??N?x
123
? ?:?d?}????/?<?????2%,?7f??9???'???+n?>e?L??#?y
124
+eNR?sUL?:?_1?6??5??8C????zbb??????B;?? |??/?&O	??+??X?X1VMf9sd?Z???[?Y?p???^???P?
125
?:?O??kRZG<]?Eat??_????w??K?)S??~??????%o??^???5????4E??hfh??J???????f&?N'????LY???Z?g-WMm%??L??j???????'?Se?0?@E9	S?F???? %?????*y?P?*?????}??[??/x????O?l?
126
?WJ??:?dt?;=q?????????uO?VeJX?#?????-???.?m?1?`f	??P`P	40Z	??_1>$?	83?
+?c#???7R!VR?N'ea%? Y?rdQ?<?f????LR?N?Sq8??t?8???^???;??y???u??????N?S??P??]?>??_??????J?(S??q?????~??s??Qo?{gZ??a?L??BRh4???RhP?aDzP
+??$?2???#!?'RrJ?%U???.c?M?2?U?B`T?{???J?X?ZG?1T??????????????????Y?|???O.??Y?|???SzEa??H?w??=??G?^?so???Cl?@?	A??
+F?PC??h`| "	??Kh???QC??3?	?=??????:Ke?@????K??(v?zVi$??$??i???EbQ	????{???UW]v???;???_??"wm??6??????i??^zB	X?=:l??-?|??????`??u???????? ??? ?!???? ?m?[c??"?&oH?'?$e@???<??H?@?? ?????4??M=?z?-?,?*V?Z???]??????x????G}U?w??~?????;>???t??J{??????~?OYS??ff=3#G.????W??!??2k?j???
+?2?I?(????@u??vJ?)?i;?J????r?J??._6?_??r????=??9u?????????_?tiy?K?*?Ql??????7?v????;?JRg?09EV`? ??1??a2Cj??2e?0S^?Q?E?????E?3?Cl)M??8KaE???Hu?={?&]t???h~??f??zET{?W?????k]Vi??}?????K?r?a?#??f?8U???s????W??????	?y"2?G(?!????(??
127
?G?5s?????(?? 
128
W??/y????????9<??_]u?7o?????W???);?s_??w?y??-Y4h??????+??R?(?%??+8????b??
129
???y??|???E9???xx?p^rZyR2?f|Ws????Um???.\?b,<	?????=/???^^??J;4?????_??g???<?L?LfZ?:???????=1??T???F???J^?@*??
130
(D?aJy???gK?=b?H??_??/????=???Sm)?yL???w??q????_?tqyYK?*?P?-[?~??_??MW?v??UM?I+m?.?<????b?Z??
+???'eC{~:'e???;?9]??<??V?\????????D????	????/@?6~????g\p???YVi???.????7?~??????j?s???6U??? ???t????Plp(u?-i?	=|k?"OI9?0X	N>z??^???'?x??4Y?Zc??=?x????e_?p??=?/???????S^??J{??5????/?k?????.?V??C\f??+T??0?6?PI?8?K?=??S?L5
131
?!U?,??l???t6???3?z5???i?A??k:k??????????U?c?n?z?W_{?5?a???V,X?ppx?f?*??y??????-?3??!6?@?c??0S`?^??d?&[[wNo?o????y??g<?Y?{?YO'?~?_??% x?.??xj??s?????????}_??g.:??'????Jk?]????o??
+w???Q?;4\?????jU?a?0??bXU??*H2o?????t#??>3?G??,??q?<?<?w??a?z???G????v??G??	?-?n?9?0j5????9q??7????J?e??c??-[?l?c?;vLNN??Y??i?*?e?? ?cH?R?
+
+?.]?d??+W?X?f???+???\?f??b??7o??]?Y?^?[??_?????_T^??J+?d7n??S?:re?m|v??w?x?W??i}yrJ?*??G?m??????O???????????R?k~???J?????f??O}????N4????`r?$e?U??>???>?'?~?????<H	X????4MT*??T????????{?????R???G?????7_??w??Q???????????3????+??G?m???
+?`??u??V????????X?~?[??M???k~???d??K?*??g????k?;??2,??}???T?J?~f?}W??:?}`z????U???4?o??~oe`,\j??c#?-[6;??j??t??$?Ou???Dv7?Q??????~??<?q??R???wI?{o??,?2?Yk?s?9'SUfff"2&? ?(?0
132
?0c????????????l?pkF9?,?????v?Z?r?Y??*N??J??f?GP???K*?L}?^N?O?h?????%?%`????9?$I?f??l?I????N??o?%???w???P@?? fc?0+?Je`phppp`p``` ?????m???2???C??O??,0Y:?p??????-[v???(??&? ??Q??????	-?????$?lN??
+Q??1K?*??R?fsff?>3?j6?M ? ???!!
133
??:???????????"Y??O?!A?60822:2:2<<\????q??6?`T?N???Y???4Kc?o?grrj??C???ozm*?I?h?P?V9??????>?j?|9???;?C??t?????GzeVi????8???????j?K!?????S???{z??U?{??EH)[?h?0/?u??,8?I}??I?f???-wie?I'???/??\???Jtn?V?z?E=(D?<?9Q??Aau?I?M?X???)E?=???Vis??jMMNNN?KZ3?Rc0T?????V#?(??????????b??M????	B`?????Y?t??w??????U?t?yb???OS;[#*??z?[??7t????5??&q??n]:|?J?*???M??w?VcZ}?L??.R?H<? ?A?9}<?ma?Q?k??
134
??????	?F?BD? &?J?B?j|bb??F?*Vs?jv,??tP??????Y??_:?
135
k???^??S=?l?L	KC???g???	?!%???3>?y???}?????#t??xw???F?Ys??sv$pM??S?F??T8?[;oY?@??SN|4V?F}V?mh/l'f??S?=j??*]???5OD}???t?C???[?*?1]?????????d?U)?V7j????P?%?_??O???Rh??R
+&???5G-Z??@@,?fS??*??5?????c?:??G?U?4t?*?A???v?H"????R??S??5?A???v?kT???[Z?c????&v?J?iRG?~??0?[o?T?h>??X?m??
136
???????G}?????~;?d$??x??;6????I???"
+,V??9i?i_??)os?6xq?0?? ??<?S???5??,?*kX?9????{g?fC?uk?^????P?(??b?\?S????????6f?+??V6<6t?h?????"????Z?\2lff?p??7
+,???m@?T^??DTU?""?1????w)?,2??^????)??????[f??B@*#?????]?v???{?????I	D?9<qTi??H?P???X?	+H?????mE'g????r??j[?&\k?T6.J?? xD?U!???q?v??????4 ?2??k`r?nf??????????!?M"?*?1a???v?'Xm?e(&t?g??????#?v@*?|???-J??Z,?R!"U??^?{?B??	yQ??{???2?\?{?D}?
137
?5k,X?@?>x????
+hsE???1????L??0?!?i???/-kX??w????qw???V\??.$1??L ?H??U2????)???wR%?K?zvB???(??Y????xy????V%????????+W=B2D??]?B?P,-???g??yfV????-IrY??jf???U?????n???????}??}????i?*/?nf??jfnY6@?X?P??FFx??z??Q	?!??O??:BG?K?k6??|?????[??o?W??"H?S????{D??*N??J?U????]g'j?,uY(f1&f`U ????????e???????8H???????_|??^??WH?U???W?T?
138
???D???#>?s??G2?~g?_	??????7????o?dn??g?J	??`<5????????9q???wDm?Y?X\JB?)??Y?%??????????@?D???y?S
139
????????>y?????	S?v????T??????W"?H?;G,???;%???!?H?!(:*?,?y?????w
+??/???w????"????*5???F?*?"T????7??\X???O/L?[?N!Y??V?.%.U!?zI#??1}?????w????????y??I"a????????W?|??Z??Zu?4U6q]?T3.?Qf?,c?1e?^E?0G@?????k?6R???7??x<????J?i?)?T?
140
?b?J?ZX?)S?-?l?Ud?,??X,?D????????W?N??{<h5'F?Q????~??????Jj???O?RP?2?D1???w4?cp)1"??1?]p?'sc?U?Ft????o?|????{?|I?*??P?kP?J???';?
141
?2%K(?)Y??XZV??8i???????X?????)?A8h&I U4NO?????_??,Zmz??????D?^8???@??????Y???#?]?v?cf=?a?D??08????K?w????XD~???yz]\;?5???6?_i?Y??????F?DI
142
?,?JU?d1?iJ??????O?ch???????e?	9?f??i????|???`K?`N2.Y??
143
j??E0fvDs??"1???8??????c???#??i?!"?y;???X[??X????9?????G?m+??U??g??J?8?S?<???^0K)???B|<?O>????p??????tu?{e??P?BW?Y????}??_?_	?*?Z??M1bh???bfADQ??4wZ1x?tZtD? IDAT?w???K$???<?np?'??I??ZU?1h???????D`???????,o?e?"Wm?U??!?UJ?P?aKE??63iP?dE@????A??????????????
+????N??
144
?????w???b???O*i?nf'?2p??
145
[?EA?XD23&f??L1??8?1??$??????/?a?YEnv~P3{???o?~Z?z/U???,?_
146
:????C]+?/?_????????QlF??r???BB=`??.?????????????3?T$ p??J]]?"?????}7???? ????h?,?=R???p??????~??7!???zb?r?N??:^D+UVeC1??q??O?Xv?<?????)???c?cJ9?8?Ht????nL???f?%?O[R?/UzF??q?????~??0M??????n?l?h???Z??B???(?V?C?e+f?C,>???cJ,???????X????Dg?8=????????A2?;?v?????o?a???ATt??T??iX??
147
?Ep??;w???dIi7??????y????.e????#?1????w??q;???/,??b??!J?????q~T?????????tz?57~?U??N?tVu???%???^y_?B??'??r???*R??,l?:??B??E?n?{?9??w_}??
148
O????Yq???????????dTV????????_??q???\????]E+e1l???$kf??????9f?!?7?'D?;?O?3z?GP????g??#BM?_??/8?????2??k?G???"??K}???gp??~???RJ9??ngOd:?N?F?8?
149
??r+?
+`??r?(???	,)@?(??em???u??W?}?????K??)3`?O???O??vDN
150
?p?J?SN?b?z7Z?TU???a-?<?\????1-<N?f7>M ????Eu??8/)r?c?%????/?P??vTL?o??.l????_{?W??:??c?^??`?	?,5z???Z?????5???J?U??'/f???w???_???<OO??"v5`7?l??D<_???7m?R??}???&????7?p?f?www??C???^?x?!;??H????$4#?????~??W[?K?a????
151
?R??
152
?bU@??+fm?????|??????w??D?????????%??_?|??!?*d"p v?t???O?[?wM?NV??}???b^NB???D?????^.^Ak???:G?.?/a?jm?q?n????W?^Q?qz?????v?:zU6?V?????i?
153
NM?j??%??{??* ?:|???!??????7??0?8??e????*-??cN???}??/??p
+^?J??)V???~+E]?;?("???\9???8??,r???a?p??????iZ??n^?L??_???g???% G?`
+??????C??(?>_T?????_(???+$O??+?1D}?%??&?-?b????h]!????wS??4???}??????GBQ??*,?Unf??XUy???9?uw?mdAD$?5???J7?w?*???????C6??NQ??9?		q??"`?@????q??????w_|????p)(????2-Xa?`??3"?1?O??{?"!bJ???&%V?W??7O?i????}<?9????}???\m?(x?*c)t???5?;O??.???XW?J?P?n?a??s??9A??G?3!\o?????wT??????A???b??z?J??@u???{8z?Tuzz?0+?l6?l????T?.??NC?50?_A??T?@Dd??~?,????_?/7??:f??G?D5?????E???_??????+?o???hU?LYUb)?????wL?UH???3&?%?n?????0??x????r??????9?????^?%?C?S ?B?L??AE?n	?I??|???N??(???H/????~'o8_c?W0???}?~???J??
154
?i6`??2`Q@a"$?4K?Z?I-??g????o
+Nf?<?v@PA+?????^?O???Vy!T=??7?"??[??
+?2}???}???)??[?,?^????;M?????gw??@/??oi???
155
V?
156
l`?:	V???e??iv?)??i9???iy?4}zws??qI?????3 ???dh????
157
B 
158
????D???h^???Bq???z{?6???%?????C??*h???,??=6?Q?d?(????????(?T?N/	???y?WTa"bfEB??j?k????o?B??0g????????lB?l?u?S[S???w?????L?v[D?b?????Bx?$?w8??s????Y?????A???xB???}??~???V??????z?Y?Rb$Z??0?t?1?|????i????/o??????W??/_xf???q???@?b?U???v!^[?????d??`K?v???"?K3?.?z??M??+P???S???+$??H{jdy?
159
??A?|+Q???^?gX????rM?5?x????I?????HT?%???
160
?"????g?W
+???????<????????vKk?}y?z6????z???z???w???????f??????0???????-8???UrF$,U=?*?@?Z1K@???a?x?!\.???t?Uh_?yU?2?| ?R?"=L3??a7??x??????f???9???_?"VH#H ??RBR ??????j??`??????;?.?w??????t?q{J4?+??9?X?xVa??W??????nO?Q?????,????	????^?^?lj??9??'??TE-D??w?J?m>?;^a??O???????o???$?:ZKN??
+??Q????D???kpe????UE?8?s?;_?D""rP#=E?Ygq?7w?0???
161
{?O???9w^B?`h?V?X???l?RH,??2+b??S?c??e????a??wC?????????/v6_?v??fP=?d?}JeH?BU?@?%??ym?^?.v??#0????=?_:????.w??uEk??uq]??DTP??gV??X4??7	?V? Z??N?????r?K???M?H??MS??9????AD??9rd??z@9-??n??n;4?????B?A? ???1v?y?m??[?oh?u?v!?5?A/*?"???dFA??j?+??]U*??$BDr??b?]???_?|?}?,W?????l?Z??.(@pD?%o??????sr?e?)??7????H???G???<AxX 3@?UN??Z5?R????-	K?????<?s?z?????y???Ka??].|??@yJE?iXM DD?~3??????=:op	?.t??Mj????	,?`?J?]??-?nQ/?????<?J???k???Ij??s??dB??HH?R???????x?w/^?:???|t?9?q????Zp?f??[??,?ThA4???!a??c?$???91+?RD"????Up?(?UU?Zb}W?0?K?????P??f???Je?X??PX#b?<???!8G?iZ^??%.1????yy???r??0%?????`qZ???E???>?
+???_??~l?M?@?7:??wL]???fo??????S????~e?R???tWPD?3//aS????:?d0?n??{Z?H??M
162
???B?DQAA@h+?W%?Cz??d????4?
+l5R??????y)??hfv$?wjJ?3?????Y?x?"?"?I???
163

  
164
b????odV?
165
e?@Xq7]??????s???(G???.A	f???X???p???q?}?0?1???T???f??]3+ ffDb@????????iC???O_???r{?=???\???4?Cm?????????Qh?:CU??[??2ktZ+;z??RuIMg?K?????D%?*fu???jYEwPQQ??`?&???Q??v???8?
166
??$!IWN*???V:VC6???T????l
+??*?;S??Gu??<?c???????7??/???Wh?,?f??E<?s<??S????w\o[?j?%"???Hs?w?k??g?????"*J??S1?+?C ?+nRDt?2Ph?9?Q!?R0?\?(???????zfe8k????PjU@Huf?9w?S?4?q?s?v??x?0??8-?????F|J5????sZt???????
167
I?,?m?$?
168
?1?U????M???????UJ?"  ?3?r??:???M5?m=??D?U??-???U?F?D?U?????l?uLA=?*?????#??/h?7????`OE???ZK??k???_????9h
+L?I?i?????g??{?)A??w???#???j??]DB?l/-?H;M?2yUBT????????V?????????Q?; ?v?????x<???{>k??Cd?z?kf:H
169
???m????!??,???5?4?{???[?|?Q>d?<sd_b>??iq?
+??}?,??i?c?c?S?%?U??f?=?>?f?E?+??Yo???W? t??U?X?h??n??*?J?0=????XYU?X??]Ihv?D??MR??@G+O]?)??
++? ?????????)K???j{],?['?E=??V?@?W[???;?6?????0k?q??[y??@e?,?9ZU?2=?Hu?SY??1U?	?Gbiru?[?R??S??3T?3???J?s????iz&??W??Y????,\L+??
+9????} ?n?MvJa?-??E0eQ???%B??q8.?f??((?w??8?>????x???<???????/8VI???Ea???%?$?tZ+Ri?L????5P+K?CK???????6?
+?v?v?1T?Ut??RU@P	??K*-/?%!?,v??(fa?\?r?<???m4@Q2??:?0?T?]?*?????Z??cR???b?j!?JQ7pm0n+|?
170
??7?"?6???????PR??8e??9??;k :?(?I	???? y??j-,kc???h?u]?k????z? ?J????!????K1??[??@?: ?S????6?nM$?qYv????a?h???I?K3?(?b.q?9?bv?MK$??ia?`Z??as?Bx???r??sD??0?Uq?mVD????u6?wY?=??+;?QaF?`m?%??%????????P?D6???*?Y?Mtm?C?B?Ku?U?`??J?H?,V?ef{c?#"JY??f6???r?U?$HYZ+Y?#.?/,???hR??32 ??Dm????h,?|a=b?????.?=Z??g????"?@??j(?;?!???, 1&fq$?p??#@???9~??hh ??28Up?T0?L?H?Y'???{?
171
??Y/2???:i??{???L???Ap?x3B?]? (J7?dG~I)?L?o?????`X??C?R??4$?Y???????? ?????w????n?,?%???^?SWO???"RE<Xf-??B[	W?????u??????Yig?JaQ?I0?T??Hs??n]]X?f?w6??&a,$??1???*?Y;I{I?3???/????m!BeG?u???x?D???pX?*?X?FV?gX ??ed?^lmGVwyi???_???#?s??z?aY]???H??a}m@HB?????@?w?'B??8?%?j??B.?:D???p??l??????=V&=???z??4?????"z??f?M??????
+??????etUM????W???P??%s?.f?4???qN??OKT??0?=N?r????!??i???????a?t??z?,ll?+?>?????U?8??:S?[e?M?????&QYAJ??IXd-?3r???7?q?K?????8?%???F?3?y????9g?8Wx?@????+?k????	 ???28??	?U?bIG`;u2 p
+?P@?K?6??A6?????{??S??????/UV??A?H??9?Wm\X?Y5??hfjb?B???b??j-_b?v???*?]???:????`?y??F"?.??????;L???NJEV%@?f%/??p???|J??
+{C"?e??-V?XLdA?9??+?	1?a?OsF?q?N?w?1?}?cJ??{?#apIV?[??D1^??H?
172
-??R????M'`u?`?P?P?jQC*?`????FS?B???"@6???O,?e????h??z?s???rs??9x?rD"??LK???LTU{?J	X?ps??+B$r??
173
1?=oV	?????;R#P???
174
C??h2u??u?^K0?YbhEk??0<?$H<bp???R????d?Gh?h?v
+MD`?kt<6Y?J\p6y?w?1??/???X|Vt??Z?q?W???i?03??q????u?,??>j?*f?w??s(?8?\s?[?!W??
175
wrDsfD??1fB8N?n??<"yG????x???8-)??7_???-???ei?h??k?M??Z?)6??[?\u?h??@+&??f??)GI?;Y??v,i?PU????l??	x??DI?K?\|?&??B?n???Um?????,?????w)q?_??5?bb?*Dd??U?"??ek?+k )?Y?Cf??@?f???Q;???Y|?U????rG??}3???@\!G,?\?????w??H?@f?-mT?r???!'\??????H?gN?kV??3??8f?E??]??;?9;Wg	7???K?k??Xl????&??]!?xf$?up?=???r??m?1???Cp?%??K??2[????i?s?,????7?q7??P^???ST9???H???B^i??-?rE'???b??dtk?	?2??N?M? ?a????;,?B?{?a??@?skc?H?`\?????C?,?X?JU????;7?d?7!G"???%e&$?%?9?bf??@qox???A??F??x?Y?s`z|D??RQ??K\?????????+???|n?6???Q??	??x#S?[gV??,fx/????W|?? ?P@v?Q??i	?m?Y5??2d?E?Eln??k????????w'[??;?t?RJ???E?#????fTl??hY#?cw?\??i%a???Sf!"-???w??????vOStH?7?'????q>???!??s?'V?5?Nz_?U???Pe?Y?\???|?CZjF?,*?3!?LZI?6?4R?1Q???.?g3??eG=R?ck????_?*"j???Q???????#'?????%?qH(?lYK?C?h"???%?~6Ts??{??B@H,?Q?????l??0d"????uTUW]?!X]?7??$?>???Z~y?????W?m?
176
?X?pL?E???p?;rdf+P???UP?-%P??}?-U$;??s??J?3????K?????uQb??????g?3?a?n??(f??????"?s??P?T?R41?2?["?y???a?#??GUH9??O?o??????}?p??>??
177
??)o???^???'j,F?????Ja??$???"?lE?[?f??Jc?)t???%cG6?S??Jimjqt^n????IfaIc?G??,?r??!LK:-??yAl?`ZRot?)??3???#??Kb"Zrn??????u??9JY???????????jV??G?U??\?}(?I???z?m!? IDAT2C??????U?<)$??5&^r?s?t?w???`?]?????.???m????m	?+IQP.???gr??L62?f:???M??????x??EyUh7???+????g???^,s?h?2??W=_?/?vL??3?'??q^?weQ.W??@f?@??,?9 ????????nw???{Bw???i^R?????ap??y?ZG>B?b`?nR??t??
178
U7?T?
+K??1?b3??Z??.??q?@;??F?
179
b??zY?b?o????R??V?=`?<?iZi????$??<??F??3Y?HD?.
180
8?"`?^UU?;r??v(?8G)?]?)?s??z?
181
?(?r???????cZ????:kM?VG?????JcH?+,?%????Rf?XD?????lG?.@PAr6rTn?T?7[DE?I?T?l)??n???M?i.X??l'U???4?`u^`g???6A??\?W??\??????X?????????o????|>;!H??fF?n{TuDUA"???*D??fY?:??6<H?{?v!??t?
+?y?q?K??????G???? ?y????p??D?`???
+?/?.'k??*-tDE?i?6?")sfY???S?A(???|????@u??g?gy<%0???n?c???j?Q3??s???^???c???e??@??iN?H??xZ?~??KbDp?B?%f?}???nh??3?????)?#?,*Qe??1???(?
182
R?iv?:YY?K]?B?$?b?{_??N????R^R2??Y43?"????8?	?%k7?$UX??0???'??5???!???>???2?]nw?25?4$m?B??:?n+??u??,?6?\{???b????Qk?h???w?LU??????????d?1Qj?D??Pq?kj????2DpH?@??#K????1?%fDD?9.7?q^??????n?i?????wK??+?}p8:??`Y?S???
183
?*X??xV???G?lPQ??hO??????C=5?V	4?:3??)Sr??t%????l'?X`??-*?$?????a?;x?DaI??Tt???Z?I????h?{-?9???PP??
+f???S????Q??s^!??2X&??"P?2xJuH?F??hU??rX???n?Eqt0z?{0?^?R1-?uNS?9????c?c?rp???uk9U?D??'?op]??U?/??b
+PQZ???(R???sE?vzC|f??C@?@????{??=???]?v??2?w??&???GD("?Y??6[ViE1?_C?t???|?J??hf?g?<??/c7r???8?
184
??nvs?,z;????x????7?????@?$???R???;??YYDDX?23{i?????B??e?RZ?T??S?H??v?YQ?7?Y2?H?\H?w8??a????9??*X?a7???Ls??qp?mAt??Dt?i^?>???yI?1???,??)(??3????}?#?,??
185
??s?6
+NX?$X?/
+??{???g?-W?98?8?rX??Y 2?c?1?)??LKZb?,?bc:?9?D???V??	(a???	j-???Dn???O?^r??????&?~????n????	p??????sUt???????????&???W???l??k6??5?b?mp?5E??tG?P???P@????????6FOK$r??????R??0?9?FD|:??QT?v????^?U?5U???8'l?y1?o?
186
MS7GBbi0T????UR=??????Nw???f,?u?5;VU?;???u[?"??4?!??sD??z??????POs??!?dDj?i>?v!("x??rfB???Dh??<'B?c*r
+???CG?
187
1e?d;?f??93?"B	H?? BQ???%4!?KU>????9 ?wC??R!Q?I`?S^b:??4?y?????UW?<B??????S-9???o??d??iW?+L??*?C??????????p6!???|AW??; ?+?????&?Wm??w5???x?>?l,?y|H
188
?;????l ?
189
???????sk47?? ?((J??<??.?)Y,?H,?Df???,????y??,)??9L1???????	>y8??j???-?b?agP?k??"?XRf.v'M????)Z?bHiw??-"??????d????{???S??Q?.e???9W?????????R??.<M?Z?b?=????Y??? ?T??0>??e?7?1??a~???9???j?????b?Z?s??<?6O?AQ?,`<??#d?%??H
190
????*j?\A?T???@b?9['?4-??%M1q?y?? Q????u"????Pw??]?????Q??t??+???T?8?(mC?q+m????L???5??1=?N?i?z/?????O????6????????????q????5k@?V??W?Mq??sU???NK????;???????0?%>??O??y7??<?A??g???v}4a?R!??D?Yc??d^?.?KEU?pV?:??T?wkK?lG61??????W?f??CB??T??H??/{?}??m<??i?9???9??'???,z???2??nOd;?O?rZ?~??r???-?f???b?~8???sDH??f?bq??0?*K`v?g?vA??6p??6?b*???"?]7T?s????????;_#R??????K????????E???{?#%?EUe??G;?)?Z??v??R??f??nd?ed??%?q??mVfT?????Tt??~N??KUKM6??N??l&???*)?L?C4,??P??'q?^o&??????BK?-?2&UqA????f?????_???gzG?4x?wC8??zOo???X???ia?O?]????je?,?`?9ePMY@?8Jb?y+??*???N?*?+f?V?.y?G?.???Um"???uBEu?#?YT????e0??5??;????.<?b	6pe?~?????<-1??3?U??~x8?%?@A??r??cf@u?p??E????h?YV?M?#????3??^?s??R2??9vf??n]???x?iUY@D???4/SL?OKZb?c>?1&?iM?Dm?Q????yQ???M???j&??;(ckk?V7?y?0??_?t9?U??q??J??>7?^zg?::?2?????F?1???w?^?pr??l?|???D?H??)?(?(?D??e"G?J`?nKf?.??N?BL??3???Ua??8?????AH??Y?Hf???? ,??<?6?#?NK?,????8??HW??jzP?2?n)[4
+k?\??t?65??AQ??1???m? V?"BR$??r???%U?.I???G<'i)X?0???p\""???G]?q??AD???;7??L?o?"?
191
?s?1????++?v???-x??m?J?r?o]?r?q??b??/.??bsWi??%??$?b?iNSL?bv??$DE??/??z3sa??ZNV?nm?T???fh{k??:X??[R?h]P???7z??m??U??????~??P??m[o??????L?_?~??z?9?:t??U3???B??????U	???U(?U4/???$?UN?~O?;@??G??b????????"?X`?T???^PF$x7?4/??yI	dk??LX?V?UM??	t?W?)?de??^?hG??MojRg	??l%y???????{???;8?a?8?9?%3????.????s-??N??}pn?)x??0O?Ej?
192
????drh???B?d????.???+?]??j%'v??=????f??rU(X?T??y?q?9?|????%??8?3?=?v#?'??
+42a?rTPf??,?2"?#4?<??????/?8
193
He?%b?y?+^??B?7??T`h?ul6Q?;6???c^?!??X??1-??{?u?G?l????j?t?&\?;?(H?I??fr*??7?????;?2?????~\?!8 ?#s/???f?)??c3??LE????O?????]Y?9?W??
+?*ut???V??M2??????????T??c{uwo?/p?#?#?;7\dmf	?'????r??<?H?n?)?????8E?b<S???tw?Y@?s?1?i????%??D?4????P-Z?{cFG?!?!?M#?????-e??Q???x???vO??l?-?*+?s????i??Os:N???k`>?Za???-?)??XD]??Q?n??z?#???z"??[B
+?N??????)??{Y?????An?L:???????a?U?*X???? ???_??H????o????9B?i9?X???k*?a?9{B(i??A???hu??T???S??\`????????^??h?Sf?:Z????m?)?kpU?vB{?
194
?m??Q??:???C???yUQ?Rp???e"?0V?s?:p\r?bv2.c?j??s??}????fw????E?C?;???iZR??Z???~Zrf&?m?????c?O???Ms+s?UD?&?8??R???d?6??b?@??EOU?Q`aM?S?K?%?9?iIO?e???iIeM??y,???"!?w??D47??????{?D?;Bp?"?Wd??#???M*???oQ????.?JF?????D?9????@px=?/?5??^?sd?????j??@?`\???e1^?'lMI??EuGCJ?:??2G?<??d?????O??i)!6d#6`?"j-B3?????R??Z??@?Vm?>1??B??G?:??r?]???,D?I,??O-?7n???M?6?9?q,:-???t??y8??;Qf?S??eq7??
195
O??~?8???	D????#<?S>3?!???C??Y??T?_??A?b=~z??/n?J?Z?53???X???Os\b6+??0??v?@???;T53??N?NET?,-?????X?=?PE?@??j_Z??Xce?&B??o;?A:k/??????Sc???\??#|wy?}?4????r???z?-<??Wc~?k??}??&??S<K??uq-;??????p}?????,?em?S`s|??{??,l?j4?'??\6`?H?r??%qp?Kf????u-???ze?Ot?????hd??<?Fe>?3?4_?|?Zd?????>:???Z???W??`??]?\2m??.?r3/1@p|@"Pyy?~<=<?!?L?w???i??-H?z??f7>g?uB?????0/yZ?
+???5:LcN?=???rB???^kyz??;z1?f??]@X0?&??`??</???%.?3?
+??Rv??hQ?K?K?J.{(?GBg???9g????	??/?S?U?????M~???c?u?^??j5Z?{?>=AMY]]?j{?<??%?}L??|??h???k???w?FhhuNX*t# 
196
?q??????p??? ????v;????Oa??5?+????'?!??????d'???"*??,??3gfY/)???YR???b?n?y???|m)??hK???I;??b?/+?.!????;??+??e
+^???j????M??Q??U????H?"??0?1eQQ??<%????~???1???PX???"O??0;9?w??%?a&~??.xf?,??7???%?u??-L?-w?E?3?n<~z?1?*%H???`bM????%?1???!?sb??Tc???3DG?wM???vC??sCp??{<9*???????t???J?6[$?%??E?wY?u????78?w??KVC????c[ob?Q?????????
197
????&e???y?I???b??:?})?]??,????ZrV??_?J??i]???Ux?|,??c^#?}?%fn?
198
elY4e??_1??6{??m??!g}?+b?9??y?}??Y?b?.Xw???vms?s7W&V?M?	;?????????*8??%?C?H???0??y8?K?B?LS<r??v?????D?(??<??;G???y??
+0???=?1j?7????H??<????????>??		Ar???1!?'???*?z?H???Q(??f?????%Ms|Z??OK6?X?|}?%t??w?vPl??D??$TX?%O?"??-Y?Hx???????j????$?Nyl?v???uY?m?[???B???9pH???%l?^}?|X?2[?E?;???i?????K???2????]d?z?f??j?Y?N??p
+?\?N?U[ln*eMJ?uT?J?(???y?;2??v??,????2?-?51??]??V ???S??7}lV?}DZJ?tt?P?"ue?@/o?"1?F??U??Ey?HbAuk?2??,?-#????33???&M?????HK??On????????>??_?@??D4?St??r8?HVI3???
199
????R?G???q`?*`?2??9I.}@w;??
+?)???S?f??9??sL?<M?i?s??%"!??r?J??Xg????qzP"????8e@RAER'
+f??|c??K??Q`5???,?C?s?(v+?L??v?z????V1??????w?^?????l??:?aY?R????^?D?CA?!8O?8:??:p??pu??????mE??P???]???UW???5h?+ZV?k????v????`x??(?Z?QfM"?????J
+????7_??y?"*?ROL????8:g}?\???I'ZV??O??;???UP?.B??G?C???;???*Q%?"? ??5(???h?~???7[?J&???<@?x??????y9?????q??????^??Q???>?0?w
200
?0???????9??-;'??(/^????9???R$I????0???QZ8?C`V?K????99??^?uf:?%?T@???Xa?zT?8s?Ns:-y?2%e?Q???)gHu??SZ??`?.	m.?(?Z??iUfRR,61a@?
201
??-????E???f
202
b???A6h??}!$???z;?A?6i?\K]????M????????sn????c8?!x7?????0?U?4?v??<??ls?;8??;n????U?+,K???]U?#D7??ZqS]?F?ZadG?`]?@m??d??CU???T???D_?\'e??h?Z??d.e]???l?:??K????)?????%????nBL???i?3M?j7^?M?L?h???????Z?\??g?U?N??#??u	C?PQ(???[?P?2??Sr????,INU?dwJJ?qw{????k?}??$:<??/_?/~8N?b??7??^}N)????iZ??H?t?=?4??????)?FUX?"?<gF?h:e??????H1???$`a???oo?\G?\i??wD?	2?T??*
+e??2?~???????z?V]?nN??)"?v?~?C?8?+Q?k?$?s<|X?[f*T?2?B<?9???m?)??|??y?U
+H?d?Yv??,?9?kXM??C-wbIu*?Z4???X3?=fU?H2k#wO?J?4?*'?-Jw?J?R??F)??Yl]I?h	????o?o??/?~x<??8e?}??{}?????????????'?\u?}a?5????"?!C,??u7?j?l?m?H?]?0?-?????,?E??????sH??@??<}???G????r@; IDATO
+??^?:(/??jF?6=!?Qh???u?L?jMtj??,????j01??	?O?M?JNbK?4i?K,5";P~???B??T?=?N~?
+2? ??hc?0ivJBT0?.w??h?aq]??p?????0????<?x:???f??(?j?t????????8?cU?F??vR???DhL????fT?8?~s?y??8].????(*iY(??C|:?i?y??y/???0?P#??????S??V?N?~uum???I
+]z??&?Y?p?r?n?1??
203
Q{???"*?]?Dc?>?A???z??6J?0?%??'??Y??????o?o?????<??s?_?"?|IO?g"??w????
+????)f???Ex???' ?e??WU^??????????*7???B{??.[?t?????l?Y??
+? ??e~:0?;??W?????O???v? ????o_?0???I????`6?HX&?,]b?M?T????C	X-'?Tr????_Q?2/???m??
204
?D??m?s??+V?~?@??P4??sC7NQ?)"???$???vs??8]x~b?????8/?b?!^L/?v????/?%??0}<?????w??
+?h?{??4N?z?4???w?(F????n{P???#"??U??M?<S???L?#of???=???S<;?$*?H?L?	R??Y????%B?49Q{T?9????Q(!???-???L?	???d?? L ??9Ve
+W??*SHz+??`\FBm??-
205
??)??9i3???_w????????f?8??Q?)??|I?]?{??]?3V?n{u?j?I?H1?$?]]??K?-?W?B?[?,/??T??Q?v?vO???+?s?\??[ndl?qB???	?#K??B?a?W2N^v d`@?&??oo?i??W?+??!???*R?????I6??vEs?`;7?c+?z?S??? I???g???B???n*}?4}??`m????L????(???n?>?.?m???W?w??gr4]???????????a??4?~???3????????z????mw;%????O??I?y{'o?Nx???x9_?~???????A45??f8&????F?)?Y`?????y??????Mno<K?I?c???ES%#'?fh???_?E@H?+/??{Mv!???J?o??<n5FP2NT<M?`
206
)b??7?H?f?d?z[?w?Li-eL???NVH#????????????????/???D?v??[??d?5S?e???q?w???{??FUa$b]u?'?jr??zA?,0?		/?1;)j$v>-?Y?2v?M???.{??QP	shT|s?vUy=??V?l?K"@?L?s??V<)+????'"?#$&G?1??7w;???D?j%??J??z??????????r]????u??{?[vQ??@???x?`Y?^?(kGL??"z(??8Rg?7##???O???<??Q7?-?z98v?O?o^????|?????4?>?}~????^[??E=o??_?o???v~??#???p????????????1N?m??O?/t#???~s?
+7??~?g??pQ??^c??1??p>???<?7<?y?$?`EE?Gg?
207
???	}s???3g?????{71?tyT5?L?????h??["D??2?
208
D??M??AyC&t?t??F(,\{???""??-?
209
FI?
210
"?Y?}??????|{???>~9:??????? !j2?/?L??h{x:
+]w????;?b2?ub??Xu???On???RUq(6??~???0U>?p!,?|J???X??v???&O\1?@?De??
+?J?^???.?1uU)j????1??????????T?I?Q.??b?2r?.\ch?????Y/)??Z??P???3f-[2	e0Yk?I?T+?K&?e???
+g?/j?W??}?;=??
211
[?2???VMn?p9|???'?/??nt???p?p????g}??/?v???(#???fhh]??K?%F?x?H?w?[???????c?G?*h?i?2??|~{??zo????_?rb
+?$?8O=?/_Nw{??^??<?q??H}??D?u>????L????lv ?:*?2?q?j????F??/G57?b??u?R?{FMTb?IQ#?jo?XW`??h??J??D?n_?D??g?r?????o???????????pf??.q??j?JM?y?O???M???[???[?b?_??Vk?r???VM.l??5?y??3??x?l?+?oi??VZ???`F??Z$??{???1???|?C???<R?z^.?>f?D?0$5?b??U^K?L?g?????U~D?UE
+????JSz??X???>?R?QS=j3u??~U?W??c?N???MA?f???o?t??????u7?C??r??q??n????nkw?7???????~9????n?e?/ov??8??89Oj2?3zw????b???w????_??A-
212
??o??j?1?K??M?????p???:?	?N`s?E$?Mc?bp}?n?p?	$8??J?????_?????(?&(?n?*?I?Q$0?*2P"5F#?L?"?"??I?N,?J??.?E_j?^3?<?????Y?h?|??ZL?`????/^???????????q????K?CI?B?QO?1|??}??K?,?I?Y?j?v???Z?**V?F?_{??~^?q?r????k????\<?%?i~?5i&?j?x?C?(?.p?1a?R??y??HX,?c?????2?*??T?LT???s????@?????m*?jV-SPd????,
+?????V?p?-K??K????6?l?u?7S[?`L*?????Cr??8N????
+??????i????~G??d6h@?<?a?~P?z:?LOfp/4???q?O?Af????????M??,`?????=
+{???/p|:???S??g?D$?s|?l???????+???k??
213
~2r?o?<F??`?h,o????`K?g5B??VBTSB4ECTP2Te?2??TSrt-
+??)mD??6?????'=A??N?e?P!jR?;#
214
?d???????on?|8???
+??l?4??Y
+M e?$??Z}?bQL[?8kX8?)???ij???FU??????2C?G?6??.??????hikU?X????MR!?4<?????2\?X??fS?,??3x*?*?EL?dz??3!??z?l5??F]??]?&?r'?<'??-K??==?YTtX?? N?????&8"?!??1?w?P?
+_~r???????p8>???.OO_N3Xe?L????w?????i???v?????v?E?x??=?zR#?????|??p??S@cQt#?x???s07?
+???_P	??D
+?$??_B??m??xK.P??R?G!????h??"A???CU??^4?????P:^D6?`??I??L
+)????T,o??R?z??????]?p??a??/???]? ??V?-D58?9O???@?i4C???nv?n:????pQEr?-2Y?N)aP????P"????V;.l?VI???????
+?U?<??O?6\?hsoU???fK?q?L/?2?7{??(???!5?o2M?%?+????)?V?,mT	???@5???P_a"?X???XTct??f????>
+???5F?J%2???8?C?.KG
+"?s(??????,?????`????C??U?t&???8???[?)??
+G8?Tha??!s??{>???]??w??]??Y?{?Y??
+1ND?{R6???????????c?("1?q#z???<u?BT?4S@3v]??7??,^?|L?Z?T??GN5??@p?a??,rd?*_??03????5??B?????(nl?
+T??J|N;
215
,>??6'?`? ?|i
216
Q??????rz?X?????????x?<???<?tV,??b?9??$?1#?Ye??S6??J?R,??B]VA8??h?5m?5?ha?F?????R??????\?*????,??U???H
+Q:???PT,?qOT?Z???!??\??(MJ???I??V}? B2?IrB??
217
?????A?V?J+I??`uz@P
+?????.toLf?IdV&
+!?G;$???9????o????J3Z???>???j????Q	7|v?M???U???l???Kw????w???^??
+?E???????c?	IL? F?y3????!L??b?S???/?n>lu?s??v`&	1??V?J?B??W????3,\?{y
218
???JH ??D???HZ?????T?1%hg??hh[?)iq^??/l?9X???n??.;1Y?J&s?(5??.?????????????<>????K?P??U1??U&{???q?C?U?J?Y??8!?,lf?0?6:?*"??l?T\-t???"?l?a)?hen?J?&@???,??k??.2%d?h?[?_?@?Jn(????B?5O??t???,????E?A?6h[1?KX?E-??QM?R4k?2XP?$Xg?	o????nw? ?wQ"??=?N?8G?&??>? ?g!?GS?}=?????L7??s?????{???<}q?????o_???-?????7?%?$??|?f???W?????}???~?>??mI??	??y&VLH2??"r&,?9?"???????H??????j?(?l(ioe?j???a??????(f??ei{?u kV?ZR[?E??]???t??>m??'?G??[~"236?/?Y?X?<?Lt????7??|<_?S?17???H? m?U?????3??4[7,?!??
+-G??M?	?c5?y?2V>s????=?*???@l?&???QCA????5??"??m?%'t?E+??? ??Fd?{?R?
219
??w{??z???G,?,isLI?Yx???0??8S?K?GQ?H?,qDB2?Mm?????#? ????????????2?k??????C?{?????O?H???n?7O??:?????'MCH[5?U?YR??dll?6o?N???sx?-?tg'?8'?r???Hd?Y?@!?????@?Y?E?I?E?'??XS?O???],;??B??=?L)]4?~(?E?A@MS???D?;?L-b?e?[*???]/??mRt???h?Dv?b9?B5(??????B(?)?7?v???9???4"???s?.	?r8????L??(???E?d???C?"?Za??o?fN??????ke?????u??,?r?B[M@???*??a-?|?J??&??+????r?R?	(????RL!??s??n
+S[?<^HVIsv9s??ku?(/B???2"?
220
??c???j?(??'"?h
221
?w"`@H^??w?????y?x??}??o?d?w7??2^F???t_>?~s???_??????????4?b ??,*g{3D?K?
222
3?q?D?@?y??]6zI???U]???w?PB????0T??yPC25#??R?d???D	-
223
0??)A?!)!?q??DGYH?
+?u???L
+W?j?q6???{j?????6??T?8a?
224
??f\ ??W7???q??????x>?C?|?
225
T?t???HzK?NQ?0??.?9?T?!?D?5??????h?/??V?:\????_???/??
226
???Y??V???`*?IgZ???F?"O?<??p????M??J???l??N???a?|Rxig??MU?>L?2h4?yS8???u??V"?
227
Q?ef&H????m
228
??E$<~zO?;?w?????!??v??q?#?}??/??O?ix7?=?????7Ma?d2vQt??*??????PBTeg??@???????;?0?v?	KdQ5?h%??( ?&L??
229
?e???@?4???c?4_*@U??cTt??j.
230
DY??y?L???O??pmO?	?%Z=5eW?????[?XN?i?b?N<???O_Fr???  ?v3l???~?`???r?H2?)
231
 a?M?cPC??"^j???%???2??>?
232
?e?i??Gk?JF?6??i????.?n???5?u?ZT?tm?OEK????J???0???!G!?/uRSH*@??|U|???gj?%????o?_-???J???\??n?L???>?~??_?Y?O1?vyd?e?T
+D??/4?????8??a???(Jot:=|???
+w????i<[7?e????HPT???)???L?P?<?(??(P5SD??????v?/???@?*?J? ?w??8?|z?R?????YLi?0Ue?lO??F?>?"bM???m[???dh?~%+??2P%????\)?j|?"???PhjcaM?J??Z?[?$/w?????s?K%O!],?KY~?:??? /*
233
???|?%?C`1?{?c?u??Vu?dk?s?z????W??#?rl??????s??l]??H3?????oD?G??1Ba????4??Kj?f???1???5q??<?^?z?.???|??D???%?{[&b?
234
H?T??`?R?z	I?$&?HX?E??n^J???6??&?y????)N?<?X.?t?O?Q??O?w???E?F?@?De?
235
E?L:?U?l??tw?r!?=^?w?V?ZCa??I8?p$????b?????????s?e
236
H?-??@??T)
+?b
237
)7G	???2?3?*-24R4d?????9/k??6Dv?N?l?i??j ???l??%pY?ccX?f?C??,???EZz?J?h?,??????M????eT?!?@m???_.Sk??
238
?l-????????}?Qi????F???%B?u??y1?????????)O??DP?)F"a?LQ@?S,?S?:??I???%?^?c?W?>???????E??E.????c?L!??jSS???3?!U?d?z????{????pY?i?@?)D??t?M?K?(?????(???nc?D???\|????????4_&??,??]d1P?St?#???	? ?	?o?fV=<?2?.Z??jTd)?\?????D???n{>V?????Jq+?Dj????9,??+?"0?h^@3bB?"*A???;???sL??????`)?Bw6i:?~?2.?S?"??O???[1?*j?gUWH}h??x?RT??	? ??!?V?;PIB?8??6?n~??BW??????]???g??????}?G?r?n+?i???>?s????PF0Q????@??
239
&???(?d?=Q???J????:???Wq5u?n?W????T?*v)m?EZ??M?w??pu?mQ6 ??]?DW??
+2?\2??o?Lc@4B?]?s?,?M??l??8?JD?s8???!???????????x?__N?<??D#????n???8g?`?kD???????q<??{%?h?v?m?[??/?j?X^`U`????&}?(6??,?b?~EU?,?O:?2!h
240
? 5T4b????H?[M?MJ??,\%P?>????C?r??%??O?c?T????j`?f?S}?W"O)??Ub???R2???R'}<??.?L??;.	V`-??W?@X?#^|_??ME?R%?459c???U??+?+wWC[8?????L	M@??QU?@?#9?/_?z>ElK?2?\??V@|9p???\?N?)L?Y??X?|$Vr ?Q?S??????|??\?/?k??x?'?"?r?t???8?J??=?CQ????Q?`??yK???A
+?-??<>m?~????.???n;%
+DD?j0T?8??~+?8????yE?l<M ??? IDAT???????	?,`?uc??$
+?!r*B/?/)???RB??)tT?Q???fYwTp@?A:t????C?zH???*?8Li;????_|????
+???$~v?_~?h?j?g})??v??C9U??clP!?/?{?w:V?a??+?\?????7k:???]Qi?Q??U?``d?
241
AW?_[x^?i7???Hc2??Y7???wX??m?]??q??,?HF?J??J???????Ef??/mA?k{?Lx?
+[>?5??4?up?6})???lje??
242
Jh???|??2U?Q#A@ ????M@2?nn??x?8}??7??4?e:?Js?'?YGQ?$3
+fJ????3?????1??}?q?b?????>?a?m?c?<?Lh'?w?e?.??S??????j???t?$??d4)?,?/&G?E?6D_?t??X3%&M6?dMJ`?jMEf215&P???)??U-WB?<P?4 ?4??:!?D??J}??m??U>e???zH?R,G???[??R???x?9mA6.$??Pm??B?8????z?R?G%?\????R]Y/????)Q?x
243
h'&?F`kM>O${q?ewZ,:6??
244
??q?h?MV?4?
245
:????v?/?_?????B?Q?hK?????OyQX??=?V??"b??/????W??zY/u??B??V????Di?????D?A?M??64???Y?3??@ST=??j?p???????fc??v?1?????3?}7???????4G?<DP%
246
?wC<????????????9?w?<>?77PC
247
? L????L?Qb???d?6E?+ujvro??j???jI???N? I?@P?????C?t&Q-??-?d@&\7?O?)?\??~;?f??^?E?1??X?XU????N???)?PR?{??/?z?|?2?f?5??7?9?x?????)??F0]?K!H????}???D|%NO????f???[M?g?V???D?3???A??,?????A??(?_J)Y15?@k`j??>@??????kl???a?Y?e?????`??a?????r??!,#Z??&?~9gG;?W???8??c??	?`o?)?9F????x?p ??G1$E?JI?
+Nz>D???;?<?i????????x??G|????t??8x?/O??t?a?e&??????#??]?p??A?????%h7??xp?a:oIDm???~???]?]m?;f???.?%/<?j????V?m?.-F??T(???2??)?(a*
+d?)RG?deV??(?NI??*???[?>?A??????jI?btDsQuD?<'?b??(??yC4PF?ozs?s?w??9v??b(v?zo8,?<Ym?B??
+1?*???Z??u??'?n?[.????????G???C)h??m-??S{?,J,?"??"8?E??6?~i????P???@Q?)nGR??E???&R?$l??X%?????_?C?x-cc?
+h?6	a?P?bA?	??v??????j???H??_??B??B???[O??!?)????8O??A??V?;??i&?ZvdC???v?h?a??'???v???'?????n?w:??x????)<????V??????{?????Y ?!Rg???q?>??T???4}?||????P??Q0?]??1???w???($B??A-0P{??P?YTU$JZvm???L?dI!I???I??Q:?a??(?E?D??tTd??9D????????L?o???C@`?4?3"zf0???;'j?9Q?c?,?S0"?$q?U5?M6???Y??v8??X]????h??/=??
+??\{_?O??m%a-6SL62h??H4s??*????vgU??f?"O??|?l+j????+(?%????Q?,j??`XR?5F??`*bAV?\??7?ee??Wy???R??]??o??D??_?z??m?K????f?&~!-S???@X?i?????U?1*3v?????o??2O?~?/???L?0'x?#7?9??6?N??xg:?/H?o:{?vs9??7?o:????c?L??3?|?U5?Y?];?K8D8~???|?v???oxp<????,???y????????JI?U?g?Q????H)???? "?jR?+e?C??b??? ?2?Y???L?????	?H8???? ?f??#"??B???&Q?/c5%u?0I???ATs)'?
+?6\??????
248
??x??_0?k_{??mO?&?}?B?S??C"?`??'m??9	|??x5d??	n??P_??\]@?i?!w?E?ZC^????[5?y?(&"!J?1?)H?R3??+1??I????=?"~??^??_I???A j??E]U?-b???2"2g?.f?T? ?2,??{?x[n1?
+?B?r0@???*#??u??~???0~??@@dL`?4?g??,z?;????v?X??ud?j???m?-???q??=L?>?s?""z?8?l?D7{???o>?o?9????????????od??a??f?!??h~???"D@?9??,?F$0?f?JgZ?????@???)??N<
249
J$=	AD2?K?RBk?[??????T?M9H??9H????I:??s?h?bz/1c
250
?u4N?#
251
Q??a??$t??<X????X5Y
+?_j?^??Z??D?.?2lpUR?O\?Dl???M???Qlk`.???H?+rr?a??B????P,k??g?9V???r???:[n??BW??'HL?""??!?!?(!j??FSI????7????k"???5gm?,y???DU??NQ?Bm???=??i'??.%qPV?????R??k?8??????:	.??D?1}????????M??????~??k??7j*!<E?N???h?:DD??0??W?"s?A??B40E?v?^O~#7??x|:??????[=!?PC<?*]???K????I?L}V???+?U(
252
?v9??"Ry	*?)?tHd2%Eu?7*?D ??3&???"X?g??*S??f	?:?z<2Uc"-RpS0?<?1??s?D8????8FSTTC3%tK?????
253
?Q??]????`???_?.^?l??O????8k\?Q:?8fm$?2?TB?
254
z???2?_???J?????lX?^VU?f`Z?	??^X3?A
255
s??X|7$9?
256
p]???[???>????B??*F????iE???iA??:??u$?.73PQF"@O??e?\??_?a)?S&?Y?????W^?%1@T?ox??|?7?k?[S1"w???s>???p?d.?/??D?]d?#(?c?b?;&$????x{??? ??????b?X????y?????}??????Lra43?ps?ft?Z;&BX?F??I\;?+???9&????T[?e?j?
257
?h??)???o?dbj"?bG??|???U?????`hJ??$+?E?Z???	????<Bp??w?0t??????O
258
j^
+????????5?? ?j??M??|???.e??ta??3?????????e1?.???[??O?>s? 9??n%UPCK??,?,J??j#???? ^E?.-?R>???V???/??l???$?{?g??eW??1S??jTd??ES?"?qo?N?Z?Q?23????Q?
259
}?`??3Vt??E?bL?j?????NA?I??w;??DQ[?'???t???????D`??T?@?T?Y}?{??O?S??>????yr?7???3?Wqx7?]c8? H,*Z?b??i??m???$z????????|@T@Z:l#?( UED5??I?`M?T?*?(?QqVL?R?yj??qN???(U???b??s?Bf0?CtD??d??]?{ctLJ?L&G7?oa?k?TU?????Z?n??????n[?T??X?Z???5?%?)?
260
?n5??^?!?	?DMP????-??B?p?(?P	EQ?z?H?3??vX??2???yK????L??~W????Q|??&W??AXZ-Z?|T??+?DY??l?s???[??=?F?"[?f??~%????w?????^9p?*@?lA?H????????????????4???w???;??K??L?IAN'?|??j&w?4lYM???</&?u?
261
?;??3??ZR??,4?JR(??UT?U?U?&,???10??=3PP??Lx5????+
262
L0?"????E?X?????wi?0M?{1*"?1g?{r?)B???s?????#??A?=??????o?????_0?5z?}????W??????T?ft??K?cQ??W????bh??[??WK???,?%??a?j???J-$???h????`_?3?????W??0?`^??????!?en?T?TQ?YPc	B?rM?L$* r?YsPa??K<0??0?=?&?8D???I7???26T??PT`4`r6:???
263
l???H?.?az*??k?{??1??Bq?-?{?.?Lxr?qv????8??t?|:?????]Q.????=;?? ?%9?)?R3?Ji?Yy??$M??L????`Y?N?CR1PAB??:T%2? ?*D?f???S??iN????-Mo!Q??xG	\?f8?JsG*?j???<??#?(Er? ????W4?-???e???o??#?????h?lM??EZ??????Rj?Um3k?##f????%m????*??Y%???R?J?UUC?P??7?TW?X??Ww?[??????????F?M??}}??????|*k?bK????K`;U"w
+?[???b?8MP?
264
?M[??`??v%???????M<??P~??9???!~?tz??n?^???&????r?~??v?@??/4??f?<?
+&@????S!@d???7?r?v?Q?????'S??????LN??_??w??
265
?;?P?@??HQ?!Y?Hs"?Y???kmq???}>??q??I?D4URm?b3:w?10?+???S??w?y?"F?(us	Oh??p??|????;?RB?u?????e/???6??B?BF ?-?bcL??&??????=?#?&??????^???AG?-?????R9?xaX???.+v?%??I?w^u?1?U^????U?S?9)[PD#?X?m??L?+?+!?Ko*Qq/??("l5Zn????2$+??'???C?y???j???H??K?????O???;?2XD@r??0jr?N?z?}G*?O3q???*m????w|T61p??C?a?}???w?t
+?mxwG?&sJ"Y?BY?d??-?=O/?rB?OUs~1?%?K
266
a
+(i??4G3?6>??????e??NL????La?)3?i?S?b?W?B?Q?{ff<?s?JD?{fD??HD
+	UK6Y?]?W??????hs_{??h??I??w?B?t.?hEV?a??8p??w??0???Uk?C"??
267
???? ?(??????Y?????[?TTM????H?*?d???I?D?$???k?hsiR??k?hZ?d?R?????????B?-!????J?)Mj???`??e????QS?
268
???FS?a?3??V?
269
?T?2l?????T?m??4????M?:g=???????=?&R??s?KEq??[??)???????7,"??[~v??:AUd?v??v??nP1?=???i????~??;?#:?L?X???[??????[:?BJBV4??J???A?A??)/?q?SV??~H????_?Mb????r?(!?9???c?n
270
q
271
?????9?fQw}?&$? ^??u???g?$???B/,{I0n/??5M????#n???x?yf?55??L??3?f??bW???#+??Jf}?=NA?`????>???)TDm???????],?bL??P?kr?q??2~M????N????!??.?10s??
272
?x???kxui?(??*}W?C!??]}"????h???vX??1?HS??-???&aC?es???z/s?5D.?Z52Q???|<nn?w[?<3t}r<?F#????<?~5 "u?s??	7?`?????l???<??j;}???? ??9?.?Y?Kk?Lb24S??A??9!??Q??V!z??Y??S??aR3R?Rb6RK1:O?9r?]??j?)??/???i????1?)?M!? ?yJY? j??l;ts?d?Ht?Bj?XM!2a?)?f1??Xr^??????B??D??0??1?WW^?????J??PS?X?h?h?=??kpD!*?<?`Q?Ym??c??0?3HYC?UD???r??j??F?)?0?,q?b??e???Ar????
273
!*4???j???~U?i?D;*J??"W?2"#A??BS?3".2??1f](6j?42"1R)vIY?W??K:x??Rs?LA z?5???j???U???(?&?i???+?4?W<?A?J?E0??>u????;???u}?jl??HT????4lpR$?;??:r??tr?????vf?LYP?>}?w??**?F?n?!lz'????8`?8??ScB??zU????b5W??Jl,??%?3??0AA@S&T????0??6=!A{?)J?q??b"4??@?9F$???}?*????)?#=??q?L?w?	q?c?9??L??Ogc$+[?9E}n??????????l?WH???{??&F4NFBD5j?$?z??#?	$j*[	?????akEJ?KY?????7DE?W?c^??%??Q??4?4G?BQ$
274
????H??YU\f?k!R?U?Y?]1???V?hD$02B?"DD?*?T?-??P??????n???ZO???PH3=??r?J!??H[??'@Z??vX"?S-c#???QDb20?:@5Rp????eJc7!??8?j?@@???g???????<M?|:n??	v?.(??1?a?uf%P<???W	#?j?z??$
275
??{?t:?~s?o{6??s?"?;?G?l"8c6LwLP3?^U??????@	?l???)???P,L????G5?dV?W?:???u"?v???$??????YEC???
+?IT1??4+ ?<3?o?)?i???K?o	??B?7?c"q?!!? ???f?Q??v?}??H?}Vr?~E?????_|???**?????????s????"/QO1?6E+??%?2
276
???<?|?@??)i?M????
277
??a?TM?S???? 1?,t??e?:o	Vl??qe?F??^??8y?{O?????~??]Y?^>a?(a??3?o>?M??,^L& .
278
.~&5??u?bN????IOSI?????B???.?b`?z?]?x???|???D5?????3^?Wo?$????i?#Ir%?????#?N6????#{???????ve????????????`??W??C?luKIVF ???T??C???7????????p9??}v?1??????8t}:?RBP?b>q??n|"?5?J%?;?N????X?$?H7C???P=?????R?,Qk?ywv?B!X7[??p?I???o??Y	??8?b?1?a?Q((???,?Q????rb&+e?D??p?B8???hT3?;?C??<(???$?G?.?4U	X???X?? J??v???,????\?s|$???W?_V?~?hP&jyH? WFP?TZ???eJ?5??N:?iPj?&???>???:3??;?sQ\?ZW IDATq ?`.?g???XMv??{v?,?3??C??aQ?Edv????EW?k?4+"?y??TOZ&????<w.???BQ?????WV+s??4???,??)+u??Z	?O~R??Rc
+'"?D???'B`?#r8{?
279
?<&=??}??d;K??C??v]?|??_???~??'H????f?|<?????c8????.MS"?7??	l?$>?n/???\
280
??C???x?w?=(%?Cx{?8?FR??r??y.M???P?n?<?60?i?j*?]?2?p5??o??J?T?YU???!???f???cUB"TR??4???bw????,?????Q????Z'?a????}0?.?} ??]
281
?????? ??\=??B?J*?L???+m???E#V??KK~U`?_?X}?>?&r?#?????A%eQ?A??f???o{D????Y?R?MMu
282
?x??^YZ?n?w?????*;??u??????v???7?l5?/?h???????y?]fH^?o??
+?6?|??U?Xbm]7??-c?7&??d?=?YW'?z?Ov?.:?x?]????vS?b??gq?????(??c?7????s?iJwP??p??)	??8?o?
283
Tc<%?
284
,?wo?%J???:??x?q?????`*f z>?????h
285
(V??))?@ uQH@sa?:???;2?V9{? ??<?r??C???n?I=???J?E?,?2?]????C???:=<+L{???e??????p?/t?p???S??DT?*??z?HC??f??{EIE?s???$??????y??????.???W???Wx?]??>??Wss|5?kA^Q?????F/?*?nFkj%??593????\/WZ?4???$???PoW?h?s??"?fo????mrl????-???s.????X???
+?????r),Z?????FD#M?Gu????Y?4????h?g&rg
+???i:??;?????+.as/??N???Sn??Y6???l0?LY?S?qJ???^??????RS?T???9????T<??]Mi$g%?Mv?x%????K????Nk{?%??J???[e_q3?\XEIT?????EYE?3?0?S??r?8iP??>2???b?Gq?0??2Qjn 
286
*?jnDB`"Q?0?*R?*	T??Ff?????:}a??u?,5L?d??B????c?<??????|jf>g?7????oq?%??6?2??%ZBI??A?R?????]_.a3?*?|[/??????Jq?`???v??V?D/h???/^?2?\??16??3????/??{??XU?P?tdNr?*??Z?BZ??
287
?~U:?3HS??:?X???7gs?2????.?lC?{J??bff}?!Rb	?Tx=???	Gi?In??F??)?8????"?c ???????????P???????9???}?????????0O)?%%7?n?Y??C????f)??bT???b-?;??l???????????B??74??V/0?Z]?@?#3?K??HSY????
288
fNc???L?z?X%_??y??o??Dd"?W?6n?)K?@u???0?b???e[c.T5W?9??K?_+=?%?.???J??????{??e0c?t???HP0g?l??sb??Yj??Q?&?GX?}?Xa8???m??1B??m7?vNe?z??Y;$??wp??~????s??)g????[???^?<H?%??s??d]?x??To6???g?
+?Dt?????[?????n?cF?)?}?H??<?f?@??Q?yuq%??s?u???v[H?]G??^?45&?
+M2k?yk????X[??G?W^/???????C\?(????%u?3j??N???"o?
+?Y+8$????V??Y????f!?3??-5?U???#?5??X?k??I????3?>??u??/?q??k???????Ei??o??J?7?i	]????j]?"=.h
+q ?0????0???1???2?o?M???Z(?b-?X???t1??R?j+(yL????55??"???s??+?Bi? bSS,h??0K?aiy?k???8????TjKRi??u?u?3)p)?Y?yN?Oa+?????????y???4e????\X??0?,????RJA!&?yDQ7w??TkZ??I?}|?N?QK?8?a/?? /z\_p???h|???/}??????4?X??#Mt-??6U???8`%??????;?X?????dnY???????;F?]???Kk6???*u
+.???lg?u?d?y4??:?qX?m??6:?6i?[?[??	:?.m?????&??m5??=f*EL?	e?U6???L???UN???6"3??6h?y??y?n??*Z?a?Ng&2R?i??})?1[??I????X?+?V,N?410f?^?N??ND`????
289
'vw&W??y?L?N?T????5?????bjbD-2"?H?6?U??NS?8??????9???s >??t<????a???QE?ig?K????4=GfR??R??]_??6?J?? ???c("(h*?*?kQ?|D?LE6?7?2,????g[?W?.???~F?????v]?/"??&?Fc??l???"???+.?<C-T??%33w?SQ?i?!???'?H}??YV???u?w1jPU???0?vI?*m?+q}E?dm?f?????
290
%??XX'	??hmH?m??\?1?m??]??????*??*0C?bx?tb??D%???HDAC?X9=?a?????B?????|??u?
+??????S?[&??b??s?`??D?+?|?8N??T????P /????K????8vl?)??#??????{?B0???????>???fR?T?#;Q2??3?j????r?>?2e?;(?XiqL????0|??TP????"?????.>??4?????-*b?rJ?><s"j???8=??!??s??_????u?x<??? ??<V??CP5s?!? ???T???B???0??J?c???/???\~)3f???'_???V??&m?W?x?$??_3???ri?cB6T??RC?????????T?9[.6M?z?S?)??????p@O?<???SJc???w?.?!?-$C?"A?????T?O??"??x]5~??????"????Dy?)/?S??`?.?"?O??MmH??
291
??3c?d.X??,?<!u?FH?mz|z??i:???4Nv.!?"s8??|?O???>????U????.???Y(??T?
+6??$X????'!?Y??????????w??,?<??X?ez>???#?H	*(wb8
292
???eBuMQr+T1k???????nr0?t]?l???\,[*?r1?????m{}4{j+?1(?TR.q??_??'?b?S????F s?{v???=?b](1?????7{&z??a?b????4t???&f??*<?-DY???3??'?0e'2?Z?6VR??K??b????}?U?^?o??.?/???????~?Q?^???i2L?pP??i@???WN?%??R&?????,^a???r+vz???U?Y%????F???'+?O(?EE???C??;??w?q?^?*?Z?*G`?V?dQ?*???0??Lk?H'lVXf??*??+5??YX???;?????zItQ>????Y?BY82???o????K?@??,5J?0??{????????n?????B*c?????B<?L????}??U?Q?b`?	?y?Do?~???o?$,N?5?~L?&?XI4??<?0?pw ?
+??Arq&
293
??????( ?Tm?%??p?+Z????X??5??[??X<#??Wb?P????7??N?????????y?1qhT/????R??^?y?c????~|?????4?Jo?B?(?a??u ?{P?w?Ge?1+?)??h??gIK(??i?$ui?Ws????O? o?B???up	?[@>c8?_?????
294
?[?s)????3??????S??sq"f?]? Jl&?T(M#?~???@n??.?i???tS?9?e???????ed?KT	?*S??U'??"?f=YhVA?~W?*o???5jN??}??
+??@o??6?w?p??s???T{?C?d?~???uF??D:?,M?Y=d??XLT0f??????? ?????9??U????u?????????????t?)%ge??E??m??);??4?_}??????c-??1?cg1?CLu?hO?H%[?????f?4,"?????>?ZzZ,x???P-??V?;?5OH?D6??E?  ?r??w??~D
+?|??]-P-?r?\?8N]P"?x??a?k|{P?5??4ta???Ue?;T?j??%?E?*???uV?[?UD???U?L?>?>??D???Bq???|]^??l&?%???L???E??/?E??93??(?R+??7{?{??*>j?2??b^5:@N??Z?N????+????l7W?|?l@?N????WrIc???^?? x?A%?]?7?A[????,?[?"\$?oZ?3?@x??Y???!?7~??{?bAC?@gqj????)G
295
??Y?[?K??Uc??I???|>u]?K???S??&_??jE?)?-??????Z??ACsCI"???L(f???7??&u?n?c&???-??(?j???6D???%P6u?J,?D9?>?THUg??j?w????f?y??<8??N?1"B?5?????n??????+???HG)????????|??n8???*?
296
@P?1?kP??? ??U?h3was?]&?/S^4?????	?/B????J_<??2?<??Kf??.l?+q??2g@+?a9?>wa(?????h?|v??pX??TE?Q X???0?x???*???mH?)0??????y?E?3?-+Wa??-?_?F???-?????_???Ro?s9)I )T?Z??\??,?|/ V??4M}??5?6G?KV?bBp!??Gf???X?F,??D?
297
?	???'+??R:???? ?????;R??$Q?+?Nb??-???
298
?LDkT???gZ?Y?*?,??*?u??E*?Wg??m`?>?[i?{wxPf3?
+??%.???e?4E??f?E??^???&???("?X,?????L??q56??vn?^I?J?a??:?D`?b??bg?/?_z???7u.?????p??}N??)Z?i?????n?$@?I?mD??|{Y?5?I??~??+_??q?L????e??:??:?t?v???D??^?x??/J??N?+?$?2???~?k?T%?2?y	?+%?????eC2uj?>?2?|zb?~?yMZ?2??`X%1???RR??$??g???? ?s??????I?H?u?2???+i??,?Y?f#wg??r%"??y)55??)????????W?G??T??D?La??5?X???R|??t.L???\?V?jnn??Pi???[?)m_-?????\%???m????/?>??_?6??~>?]??E?6?'?L?k??u1???Z??(??4?!???^~?[&?z?R%9???I+?$B???	??.??j?__?l_??? m?8??t????$W??LZ???;???*?
299
,??`+Un)\?	?-?o&?;???T????b)Hn^??C????9??z?E????~???0??	??zU`??qhX$0?6I??j???5yq??cVi0??o?+??? ??j?:}?2?5h]J?_????F??`?p?~}??-???i??H?K?a????????k)mMu4?'?&k?T:?(??>U??n?jM?_>0?h??y??????6Rb??p???>?8?<????`?<?3?%?h)?5|sf?QEt4?9????x6/"l??Ie`?lv3??	d?`?+P??S%?C??E??9?IQs"?R&-??????D???@8??s??]"^S?(raa??qyC?*z??i?Rl?r.h??,s?tS(gU????&Q??6???p???C????k???0+????xS??b??w?$4?????x??!??+???_X0???w???GC?H????x?P`??????(?H]??U?E?\7q?g??/7??dbUF??
+?F??.???!??)On)???C??_?P O?LDd????'??.d?`???K,?????????r9?y?L0/f?]?&p`?v ?t??`Bq?3?l%??H`a#?y??????ef1QV?d?lED?J?E?????wO??????',2??hR????k?Y?fvP3????n'.???g?x?S?Rsk??=??d?u???D??W??????lE7??_a?^	U??Q??M??D??u?W?:pkMA?????_(????y?/?r??h?_?MnK$!?xuTh?e???X??)???>??	?z?S????N????2????z/?~??;g~:?????]???*?Q??rNc:??K9k???Y??i?6!????~(>I>?g??f????$x8????q??!l???S*T??]??s?i?)??yz?????|4?2????b[Z?iu?'>?y?\????x?+??gA?,G?m?jFH??b???]???T???y????r?dQ
300
?<?9Wq?_?=Xgb?????7H??>!v??5??C??N??S??pL|????
301
??????_????>M?4cR???????????0W@??on?????n??????C??;5+???t??cz??1;????-?;??=??iz???~?'eq&>=????xsw??7#?h???L??X??8N9??8'?'x6?+???q??u]?j???X<????I???|???FVM????????{?
+?>????s?R?E??e??t?&?9;?*3??Z	.??x%?KG'Q;/M?YK?;W???7?S?_c_#???I?????4?e??\???y?????o?W??X?<O)?Sz?2??E????c7t??????~???d?_?????x?B??9?<M?`r7w???pz??"?{?7_??=;?????x???
+?J??I??????|:F9XO~@rK;?8S???v?1?l??q>>?????_??????????????1????]?????S6dp?v!v
+?-?N???{??u??Q^%AB??
+?1?8?++3????{???????k@???\D???#?????????!?Ja??9kZ??m}???Kw?z
302
?x?O???:a|?#??o0?8???[???????????ys_??y2K???v??????????n??lb?DCge???!?&?$????_X????7<rz????P?Jk??5????a?9?o?N???B(??F8?%?v2?m7???J??K???????i?????~?)????~??Un???? !Q???>?S7??????4>}???5z??Ca??%A??!???sf?*u???R
303
*}asw/%??I[?e??L"DV?j?K-??:?U?6hsJ????F??W???n???????7??A???????8l??5??D)y|???v???t~v?
+??Fj??P???] ?S??EDl?p????f??????G9???S?
304
+BT]$9?T5O??
+??}???%+??t?~?5?????:>y?S?y?{z?
+7?L?????7?????z???????X??8??J????9????a7h?L\?iP?bb7d]??MO??0?yq? IDATj?]??WYrl????2o?Ss?p#l?Vb8 ?M$?*?aA???V?op? ?J|Y????i?U ??Z?????<?-??C???x???w??h?*L?"?crG.9Oc?(?QwA?4????f
+???}?@?=?.??^??9r?C ????
+??z!Q?w??y:CQ???'twr???x??T!?,%?~?i???@L
305
?x????<??8??tz???n??O??>???????D??*A?3?3;?%ez{???s)?DX?*??s
+????C?|??CGB??,53?uY?U?k??????,b'?N??)#I??P!? DT???H[X+D?fZ?,?1????RZ????:?_l)1?.????????k?^?|???a?????????95?,?o@?B???[	?f??C???o????"y"?;??=??q??e?e? "??%?=??%a}??}??`?~??!	f??p????nis.??<????LQ?AI?????.}?????
306
??m:?C7|??vP??~?????R?U??3????????o?ZqF???J?????cT!q0?\baAW(??m???\?:??l??\?)?U???l	????[
307
??{$]?m6d^??9>R@j???K?V?<\???'?????W??????????sI?Xo?A???D?????F??
+2/???if?0??K?O?y_?????>?p
+????*??cg???o`??!?????%?!???{?h??7?jn?*q?Y??1?U?;y????y??X?????	3y13f#D?Pm|??D?,;??
308
?$(?L?????t???????6X?DC@\)?]?p?Ak???(???d??K?7????u32
309
1?9B?xe???f???
310
W??|??+??5?????Q=????B??,?<?f|?Xl7g?,b?y?-??D?+/p?)??>?g??C???>?q???????g?}?qQ????:?&?HnE1????a?\8n?H???f???@??7?H?S?M?a???8????-:???U??U???J??<z?*?l?+?^?y?:?? ?K??2(??pxsuQK????D????R\?X???eB???jL|??g)j?5
311
??"J?Q'???L?	LD^ ?B???O)y?^C?a`b?I?DC?C???9??????ZY?X?Og????eN?2M	??ac??Y7qNs??j|C??9B??q??`aiW?,r??_+"/t8W~??????f?TV?????KX??????O??2?y?^???_??5??a??o7wT?x?%/?J,???|OD???r??X??3?9????Qv0??h?~s?~??o?z?%/|q????f-????.z^^?3?4?????f??	?	?,????w????#?`uRA@a?R??}xY?
+?????h??[??x?T!??????2???Ci`???NcT}h??.?hi4X??f?DD???X?br?\
312
??&?z?9?[8?L??e?-???n2 _eT??????,A?<'?,?k<??P??:??,?rR?|?U???????~n??t.$_9??^??Y??.F%?qV+~??>?'?Sqs??{e?P??g?B?I$2?2?M?
313
?!?P
314
yQ
+?
+?????4 JL???-?{???$G?(0]tc??\R?J*?2???>i5?k?K???9??8??I0???ks?-6 DLQ???9(????LL?=}???`W!?r?????Y]?Wq???????T?"]????{???L?i????5*?c??Z?i?m^sr????0???*w?YBP43#?v"?1G_?2?5?\w??V"?h??,?@?R_O???"z??2??m"??O?
+^1?n?X??????tcz?+?C???H?+?y????5.????.???O~??>?Bkssr?@??Kqw3"3???S????U?F??D?$?)????@V?????????w~J?K??'???n???;i?y?w2g?@??33?]D?6gO?&1#?8?????9.y?	?????q(?hE9x??,?I??0?54??
315
~(??.?C?Af?????A?E*?v?\?]??t??8o?7g??9???\<?Ti?t?Z?????|i{??
316
A?????_^??#jUY^?*????d
+y&n?!???iU^b`?~?&~j?Q????v]??Xk?!?[????L????%c?%??KZ?K[\C
317
KG?? c%?????|??y?^{????#|?T}?????b??uCT????????l?xv???????[?%???3?|J?gU??N????^?s~????m??7???P:M??or*z~?7?N&??????R?8????????K?dY?4U?O?!?7??<f@#DB|R]?hf'pr	+K?????" ?v*p?q*c?0?8??]??sX9t?@???>Z??@?kR?+???X?S?e?????pi?Kk????)u??_??????Z
+??B?r
+4?bgY?Z6??_???
318
Pq_,??}????`?s??g??y???]e?c?;k???,9???S?/??ZB_????:?
+????_?32'k\ ?W?,?n'?O^\]????????C=??]U?v???<????q??)?}??=9?2??????*9?a?s+??I????? ??)???obV~|?????T]??D=?r?a~<?J???on????rJ???e???,e?)?%ez???????|????wEL]H"l?)!u??%@j???*d?>?s?N?\??@t?lN)?X?5??hGb?b?\,??<D?qf??E??
+',Q?v?&????Z#H?@??s}a?MnF?Dg??aiR6?J_?MVr3Z?%!v???.?o?V??F?E???????7???L?A*??? ?}1?i?"UC???a???f?a?^?07?7o?]?}?Z}??<?s*?/?o\i_????6??f?+P???<h"E+X??jm]??j???}p???)B?s??N???~?n????u[???_$??,X?qG	??Q????K,???t|????S?????A?n???|w???????x?
+F1?????7?	C?+???x?T?w?2
+?M?????&?b9?? #}u?k?t~<??7??????N?F?Qw???8???J?]??i?G??? ???u??>L?=??A???????B?H?]?9?p????s?e?#?????????/z?v	?Y)BX???3??}2uS?)?FF?qP?y????4?????)n0?"??$???
+??l??Rs??"?CV??Xb?B2????U03??????\?-????]???ze?nnf?f?h??~???_??C2a2???P??bR9G??/??+-?????Hp?h^???7??+??????T??>iBz?]??Nx??.|?????W??????[J?Bkk??.Q??*~Z?????x|??
+Q&?????1H????m????
+Y?F????/?7o?fH?"???]c?y?R??9w?j??}?dd;?1?O1?????a???;WiM?|??1P?:l??V???z?c??`mP-u?@?E?^fR??Y}_+??*W???c??H?lq????a^?]?}?4???n??9??(?kW????.v?e??m?e?p&???9???r???wh@???UW(q??>pO??9???JAlN"???????L?s~?f??	Q?@5??%n?|@??Y?i???????uQR!z:???b??Zg??3?
319
???????j?????????%?D?/-??Cs?????6?@+??&?+???F?.??????i?DD??\?l??R???????y?<??~????????(n?JTyLVl?p#?y?^??B f1x)?*?????1?????p???bE???$jy7?~??????=3$8??4(???__k.lO??VY?k#Q?F??+?Ur8w{V-PX? ?Ex??~z7_&???ma3w&???f--o:?|?,
320
7??u??:i?^<'W???A~!8?2??8Q???@f?<????????3T?	Q'????C?R|? ?lff???S?a?x<R?d??;R?j?LD?????	???F<???9Sa2nLti?U??9?!??w?u#tN?V?80?8???????(?l??????l9UJ?????8?W&????x??%f\??x?H??=???F6k?xk.Q???????&?5???
321
????Ew??K????T-?8??l5?b?n??7??hK`???????Z??}%??d???{??+5O?y?R? )?|??RAdf???NBshm???w}??E??.????#??d?G?;1!?2@1?A?a?d?]??V???_w{??ZgKP?PK?J???:?xp?	S??f?????#f?$"&WdE?%L@????R>??;J ?????4???-??????Q?v???`:?XP ???u???4??????;???4???s?FI$dG?i?@"?A??R|????pw?N?t>?1??dLE????\
+?,???????Y???l9???=M&pM9???qPN,?
322
R??q??9?i?9?4?b?wga?pL???Wj<o?T? P???<_?/]x)7??u?s?[?w?WC??T{?5[?B?B??????LzE"?Op?>d`??.?C??[|Y??j????*W0?5*??y>?Q?????i??s?JN?? BD??w03??!??)J ????pxC@??#?L?J?$??FG2Q)?f:?*$??j<?um?P_??\G??P?????z<????w?|??cu??????q_??%???OAN????)iV?vD?
323
T?SL?&?B,d'eQ?E??i?????dJf???(?%??wL?????iz???o?9?%w??H5??lwwR?+s?Zr?M?(?}??=1?i?7o??w?2?.L???????????)	Y????:????Yc/
324
????????q|;?W?w??B?!?????L?B?l,?d??8M?RJ?4???????7?s^+??}Qyz?OE??	LAH??????Q?!??????"???|???p??p???
+?L??A[?^)?C???~q?U??]???,gz?TS?J???v????5=?(?&MU(BT?3i?4,?|I?1KP??????p?????#,2???*]???Iv??Hl
325
/g???}??1??}?-j??E(????H??#n|[??Y?????q?`?7??;?{?3p*??<q\@??3<?????{?^)q~~??????c	7?Tc???~?y?a7???:?P???<}w?????W?F??}~z>??N?2>>?_?U)????????7Ue??)????L?=
+??T?2JpQ????ur??ZYR?_
326
??f?s3S	3f0????.??!??{L??>?R<;|?p?wQ??t??TR?s???????wc2?a??Z??QfsW6h??"
327
J????<?7?z,?\J#???J^???a??e?nKi? n?&?
328
?5-?%<????????>3?u#????????g|3^??u?_??YZ???*??t-%"UT??Y??s??Uq??gs??}????/$=?B???d??T?????U4??o???????Si@???q?????E??? ??HJ|Cm:?C>??X?-v?A?l?	?#8?Q??????p??]??? P??.pV??D??????s?c?*?O????/??`O????????O???t??O??E?? :??-?q??1e????w?L?Tx??N??:}?=??{w0????T???j????1?w?T???f?N??=??s6&?F?f???N???|"?.??pw{????????Je?,x??"??n??"!x?,h?Fv?c???r?b\]??4?????????m<?juo?????2?-d?U?l?i????|??N??????~??e??u???|HnIW,??? J???9-???ak??n!D+%s?J?e?R??k??#v???7??m???@c?>??-A?X?<?K?7Tm?V?l7#w??{]????&???h?u????e?W|?_?l??uX???{? >{??)??I??x??t?Q??bG?UL?k??h??w?S~??o|?;??Q!?\??Si3?g?wt||?6?A`F)?????S*?Pl?vw6?)C????????Xr??YJ?????????}o?)????y?9?????>?}=4q9C?d=?E??c??,9{?7_?k?<??s?E??q.V?C?Ocf?@?KN?t<N)???S???????}Y?$Ir??y????3???(H?@z???~???@!
329
\Q?rwgg?w?????w73=xDddVVu??f?????????^?P	@???6)?2NH9"?s?}??}???D?q4>??5??J?A?a?}?2x&P#??62eGI???d???
+??a.?????6[??ON?8?'?]???q???????M?;"&?S??T?lK???%?~?%?d???$?G????dX??dr??2???<*?`?Q? Y????}N??j'??????p??h?tj?5~????? S: ?X.?N?9? ?<??????;???M?}i?y?D????3J????z@5??,?tm?b????XC`b????H?0?9UU`Z<?? ??U?t???9?-.f?-??Tww???1*03???%>_.?1????E???f???\?W?wW;1???
+iuY?!??????H?1??l?77O^,^<*??%?y~?RJ???"#pKm??o?|w?j~?\O?sV??N??7Wu?????]?e?e?c?u???>{qv??v?J-?DK?\<?m
330
4?9?!s?&?j?X?0E?j?Y?0?(???9?j?????9?
331
@f?h?J?dHe??:H??6t?V?Gb?y?G?v<)??\3????A?`h???;?,x;Q???R??y?}EU@??Q???|???T?4+?$?35?`RR?????????,?2"????A?????|f)?c???4/???U(?hET3P??J????S?????Ll?2?Hb??X???41??| 1:&???`}??r???mP??y<n_i?B?lO
332
?5?????]???0???B??n?P\????o??Al???e?4!T?yf@T???
+P:T'?z??F?E??1E??9&?-?YL
333
M?????;xw?O???T?????;?Z?5?^?a?vu?.?wO^^T???m?z????>?/???
334
WH?AR?P???????o.???^???]???A6??????i??????3eQBt?\?/^?m{??N??kBT?"1?1v???>??cR?"*?j?]?`N?@?Xa?q:??8??-pEU??.?A?4??c?R5U?S?);??)?c??{??{4???Q???????O????m}?O???w??%??w??d???$:4?Dj??2#k??;~b?9???TMc??S?@?`$!]~?Q@R|????b??W?Ll?YZ?r???j1>????M?X??`?
+)?.?> ??!???c?" ?r??
+??&g@%s?U?t????U?'?A'G?!?????4??2
335
?Uu?~??'"?UD???????m??.??GO???9o6??w7????z~q??A&?rd?Z?:???.a?I?y????,n	??@X[???^??e????	 IDAT}w??C@??D???Z,????:???I???E`}Q9????U5V?W)
336
?^p?r?}???
337
?	 ?`9?I4??F=y??????t?B?R~v?????]b?;P?y??/????r???j?*"j?C???????j?u??Q???EsU?"?XqE5??=??????H???){?Jb?|O3??a??????k?#	??(??B????X=???nMIE$FI??.G??f?}???M\?pywy63c???|H}O?Ye?PE?new?Yx?	:2?x?W[?|??	LhH????Q?T????????r?7j?b??*3??[?R?
338
C?8)-`?dN?LPx?5?_	?????g?
+?yU
339
?jui&??Fb0A???7?Uu????W>??R??=+,'?y?m?{???U~?:[Ve??T\???y????q?;?3{?Qh??kW????zL????gv?.?l?E????1W?nn*&???Y??W??M?Y??L?o??s??#rU&??\??'??v{w?????:`-d)2W?sTt??x}?k????s?+?w?upw?r?E??6??CX.???????,?dd 
340
?@?:n?'??"?F?@?n06??
341
"??StU???{_?h=J?t???>FY?~"C=e???????k:???f??C?b,px????yy?E5[)?????
342
?}h?f? {<&?KAAB???O20Ix?O?]?a??????Pp*?`??,??h?@?.%?#p?.+?4?F'6b????8$4?m????$?q?@\?
343

  
344
dfif????"
+j???[??/??Il4?????He`(?*??????'r
345
j? ?)`>?t?5dC?6?,]x?^>Y???W?wm?.?P9????\??j?}?)?;W?[???-,??|?i??yu?????O?8???$rN???????D?Y??h?%?]8???]??/\@???!p???W/^??e???|U?????a??H??}?w??'?X?U]?5?????
346
)??"`??]S9???OWM???f??????Vnk
347
???{y?j)??cB$G??3OF?
+$5?m?8?v5????@?'[.?9???i??U`??v??;??p7}H????a??O3??\hN???%?8?v"?fm??????L
+$?g4+?_j?/TnJ?l"?H"?
+?R-(Rq?Ua?@ ??8,-r{?M?DP3*5?? %$???.?xb???P8??D?{lCBUm?Z??T?PG???^????(?`F5l?'?????[????U?^???b9D@(*?Z??)??]6???|?8o??v??7??v0@#?Z???A??T?????I?H??6?jL9E?T?P?|p??!0????y0d0?F?sT??????.?%e??}??!T???P???RU?T?d8=?L?s0dv??1?.?[??'?f???CW9(N??????}]?????I
+?????@??2;?? ?{?????P=?w+m??G'3???	?X???????S4x???C3??X??$43???@{Y;??92<A_???? ??:?I?????j????=^?EZ?X??`&??e???=K?3	D+J?^s???HEM?HM ?!iB?f???%3 $???/L??`x??????w?	:?`b?`4?HH30??Wcf5M?$22!?hbX?qFvC?g ?H?d?J?H8?@{b3X9?E ?1?e4*?????TQ?K?*8?
348
??W???G?M??????????)!???#z?L????D?Ck?f??Eo?i?)?
349
RF?!<??)!?A6
+?i2D?!?E???\?????W?"?????|?p?8Gzp?/e?D?G?qoT???????NxxT? ??,+<?|*R?????????W?3Hg?a???E@TM?XWZ????=?????V.????? ??a?6?:?.	??`??2?$sX?A?'m????????S???d??M?????=??L??A???Z????Q??8,?R@?q??
350
?s9???h??J"B?,?W?????$?^s???9?G???ZG??? ?f??7??V?HI1k"4v??_~*I!G?F?!????<?AN??C6#_%???!2yg??oo
+?ua??F
+T c#??"??.j??"U??wN4??jo?K?C?PP}?)Y??K5?,(c?*?3P???M01???C????\5?]?Ki?K?*4????	":???????R?b????+\??!?	cY5 ??Pd?m??\?QQ?3=???(?*f??g??i??V??1??J?^z5 R5?AdG?	?L?&??^???l??}=?=???????&1???????=??0?a?%????
+:$f?B?}?+???PTSJM?C?X???xS??	g?}A+??q?????M???KC???C ?6?S?Ji;e:jc?9dYR.`?2??l?tn?ZZ)?*??LS????????I4D?@Wy??l?D??vm???O?4ga?v?D?j ????g??E5??\????????0???_???_?Y3???*?v???>???Z?B?^)`H}[af?r?]?Y????_?????b4P??H??(?d	T{?*$OC-]?@?! B???????*'?MU???2?!Q?4?%?Iq `?????"?"?????ti??7?Sj?I_j `N?D?dD??K?L???i???]??e??G?)??Gb?????QJR?C ????p?fcUH??CG<?h?.84?.Ia~?	;7.Wu????>???jOGBUDK9!{D??????????(?T+??S?K?gu?NHFa?????,E?a?=?kG??Qi???v??N"?cv???<?|?r)??8?1?n???(
351
?!1??F?-?Ly??????b?r??&$?\O?dcX??R?*??E???l[-k???EBB?B??ww??W??L?????W???S_y?>P PW]??$?v??H?#1??sv\nA!?a?E2gb?<((C??V??E:%
+?K????)H?:?C`]T@1?	?	Z?[#41???Nv?????G?T3
+?%??*4uq??~??dP??'=?,
352
??B??wJ?\Uf??????S??n????.c??X?rOG???H&C??R???M??X?h???
+???y?	?|2t?	?;?S???yi??Pf???7?_??rL?]m=?6#?:???}?g???p3?M?R&4K???v?94??f?:?m#?,???????????????????>?8)Zm??]l(F?
353
??Uu??r??_???LLu&??)???s????#3????#L2?1?9?>^??Z]?6??j?O??????W/???g???38"?]???z5?|5P?y5???$?x?(>??5?zx?wX"y??{?|(?4o+?=??F?h,V?1?I&v7pQ??m%????ly?<k?,Q$aU?.27k??3?YcNYrv??g????K??{?^????a??]??iD?R??5rpfV?=_??w??%?<H
354
???W?{M1b?=?a?f?C0G?<Zd?<?zo?W?"[3$@??qM??%?[???",??l2?(??`???j<w??j)F`?$U],?f?wmU7???'??t?0!(?????????X??????gLX/???}yv?G>?U?*?b????x???9?"??z???j?z?\?m?q?????l???]K?<????oS?gh?T??\]]??Vc??/? '??????~???'}\7UV?%{?Sy??m?~??w???3????b?????C?,Xt??Q???*????,??I4?m??c??E???|???6?e?????rv?????I???\V?8???]????5u?gU?9?i?w??:^}???????????Q?3-j_?h?U????Q?zOC?S??]?cJ??je?,E?+?????<K?qJ??+???7??v?':*Q?9Q??@??@????/y??????"??:?v??f?j?=X?TSP?,jI]?	?:}%?w?O???????\???
355
?E??u?fb$??>8fL?
356
W?w?;???>8*??????1V?0??c??-?w??Nw???sP???=k?D??\??,?^L?=????,g;A23f?9'?=J6???T???Hn?R%???	q??;5ES
+???v.8S??(?????W?g??~?????DFDPu	+??u7o??^?(??M????oD"??_k????h??b'L????o.?\,??IZc??????5???????????c??SP?2?:F?X???o?7?6}??^?m?!1S????:??8?H??f??{NRZ?l????\48
+?,D?R??Gz?Q3Qf*{1?c??{??@SJ7?;[?DheeH??o}?~??~??)??`???,]J??N?????^6???|??b?K???????)?x,??@?cK??wXj???q!?=V???b`2?#ja???HUy 4c;??????{?B.?U5HU?~?4S?}p???#???c)H???
+=}??X??*?*??D???yG?B???=?T?@??*??@?31??120?NS?.?'  8??<??^!l?]FG??s4?-?????????
+2X????z]?X?F
357
??E ??gB"V?yp?Q?3?Lw?Q?>TV@??? ??????Yl5???? CUoP?*???%9??dw?\U%FW-???z??UF\??%vX?g??Q???R??w???r?X,W?O????suJ?Z??m?/d???kK[??x?T!??7???l&O?:+rC?
+oc?
+:?\???x??AT%@?P?TMurO???h??p??H????B*?L?????
358
b????{?d9?????W~AcX??f?>q#??>????W!??
359
!gVS???~?`5?ER???k@??x&tLHD??EX2?E~X?A????=1P????J??n??
360
?]?&??? l?\$2??L-,???Il??(v?I???r??g?????S??O?kP???v|y6%V?JG?fj???????Q20 ?D?3g??????+D????:tU???fn?l?6X``?uF_n?=y????! p?5G?L???'b?Atf&&D<a?tg?J{TU$??w???Cx???v????y:???Ev?]???j0?@PQW?HO?f(*F?????????!?4?9k?Q??U?8HfdQ?n?vb??+????]??1????XU?*?z&??S???
+????&v^??yg?1I??-.6?z?i<4b?}??????=?]?4?
+?!y?)K?G???yE?AU5???oC?<?x y?Z??I?Iv\?Z?]h?
361
xv?????5???qb??QB????????	?-Wt?^?Z<!???H6????rsv$?
362
??(?f:&???#?.?>?ep??L??a?T/JN=?}???o?I3???	@?????<???N??U?1?|LS????A?70?w`dA?L?c?Y?P?W)X????=??:dS0D?A??#?0"t]_3?c3??b??&?b????D???aBL?4?q]?X~??}??T???*4b5?v2C:tL???X?q????P?dH%EDO(??Em?5????h???z?j?<???>?>03p?)?e?i?:ffb&?W???^????"????9
363
?6??=i?pl?2'??<?E?>>??z??n?.???r?????Y?}?Qa????"??D?`???G?_?????h??jY?B!g???}~
364
?5}p2	??H?^$??V9?6U???c??{??p6???7ev??1?uoB?,59?qFU?u??JT??>?l?5E"d?c9?@P(q?@?rp???%?+?8?h?????t
365
??&????S?D?Z?D?B??}l??>?!?"KVK?!M???5|:s^??V]d?%?i?%P|??R??.b???????S)?=DmA8??A??h????;??A?a???`?e?}???/?WZ?F{P{?<??<??+??Mx??;?(?-6???*6ER??,?1]n%?v?=xN#,S)Tx?.Xx?u?IFav/>?1OT??`?l???I?L
+????*}??V?3m???N?}:=:D
+??G?){I?S13?X?f?E?}\?`????l?=^?D???
+??.??l"f?*?@?G??X?v??.u???;?`?@???~?x??a
366
???????S?N4b??MUAl??z?
+????
+???[?C????a
+'??????.v??,???d??x??Jg?Zf??*?GQ8?M?GM~@;|t?!?Bu??5d?v4?2?~?N??C?=?gD8U!??{??S%??{?B???????z??>??55x????9{??h?E+3???t?'?v?W0?I??T??ZA|I:I?????}$?i??a???TB????Xn?OS???????%Dv&??0?,f?&???P?#w	8x?L??P<bd?q?!V??@ ?AV??&?),!???6$z?B??64??@?	>+?|T?
+?5B%8??b?yZ?iQ?O'??V_S?Xt?{?????=????xv|?w??O???ZetkT-n?~???{??><???????01yZX?n?{C????s?
+?1????_???A>?^7j-?G?N?V?a??T??&?#????????e
367
F?A2?`'?Oo3[V?????)????u?l&????+5@FS?@??y@?^Jx??????d??iV?PdH]FB?F?$??a?q??FM?%d??
368
K?#pXz3?????_d?D
+??:?????:???Hf?r??w?\??=?]63)??-v?E????^?-sw?y?0?3f???Fg?????#??=??A???O????<zxN???????x44???(???V????? ????T?????Ug?IU?O?*@??????:??????????~?bWH??r)????q?????fd?? ????v???wa??7Uz??|?????G?\K?^``?Z?\?|
+q?$?X/\Q?;??"<?V?3e??F?7??'t?Ht????.'??Mt]?X?ln?+?d??#?E???=?S?`?????3??v??A??v??
+?/d??'???m??T???Ss??|???vl?rTO7FU<QU??7??H?{Z:??33?1??/????
369
?????(p2S?b???@SQ?*?m?(???^???.???6??AJ9mc???FN??????F?[!2?n?7)Kv
+???????h1???._??r:O??i?}???x??jq??d?0???D??R[?6#?[?l@\~?s??.?6Xz???	A???r????????% r?)?vw?]?a??_??_U??_???W?.T????j?V??37?????Re?o????? B??N.???@??F??t??????I??u???5X'3b???s?`?g!>???nG-??oO?C??$`~??1?#G?D?#??&?x94s????U??????T?x}?II??F?v?]???f?Ha4??qKr`?O?l?vB?w??-?`&)?w}X9Y*??????
370
%s???IDAT?^????xw????????}^<?mk???^????'?{{qY?_.???r?A.x*?M?g/????;w???????/???O??(?r?F5%?N]??[$M?????j??v???n??o??61?tW???_?m???X??_??????ZU?}??V?Mo?yU5??#!~HCt2?OW??W?????N?h^ff??o~=??h65?L?t??a?Pa???D??;?*??/???wq???C??"?*??6a?{:?,??&|??nD?U?v???? )??#???i?????1M1{G?]T]\??
+n?rM%-m?=??~???s??????5?/???h????]???!9n??<_???????o???ov??r?Z!???C??w???(g=4_???Q?7????7??F???Rw???!?
371
???3?|K?t?7?	?o????????_??kB@???5???./=??d?R?4?????_???y???????????O^???|?????????yv???m'?o?~yq?C??~Y??n{??t?{ ???????'?<?lx??,j{?)??K??|3? V4c3??gf??kG?a?87<?{??d???c?8nu???dE?_??-?4???l?n??:?S1F???_*?
+??2?%(M???6~C???????QE?\?????AdG??CO
372
?b??+??uQi??RM??f?I?|?\?>?uc?^>\?bXg??L/?????*,??+????[??^|?????????y?g?O>zY??t?o7Y?l?}?M??7TK_]?????:?!tT]??C?E???????????t?????>{???IT
+?mMT!??Q?oo?[??'?????????_????>;;?"??v?????~?z??"(?6W????????????^??????a??l?IEND?B`?
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/log4j.properties
1
log4j.rootLogger=debug, stdout
2

  
3
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
4
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
5

  
6
# Pattern to output the caller's file name and line number.
7
log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) - %m%n
8

  
0 9

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/com/iver/andami/messages/NotificationManager.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.andami.messages;
42

  
43
import java.awt.Component;
44
import java.awt.event.ActionEvent;
45
import java.awt.event.ActionListener;
46
import java.util.ArrayList;
47
import java.util.Vector;
48

  
49
import javax.swing.JOptionPane;
50
import javax.swing.Timer;
51

  
52
import org.apache.log4j.Logger;
53

  
54
import com.iver.andami.PluginServices;
55

  
56

  
57
/**
58
 * Clase que recibe los mensajes de error, warning e informaci?n y dispara los
59
 * eventos en los listeners que escuchan dichos eventos
60
 *
61
 * @version $Revision$
62
 */
63
public class NotificationManager {
64
	private static int SIZE_MESSAGE=4;
65
    /** DOCUMENT ME! */
66
    private static Logger logger = Logger.getLogger(NotificationManager.class.getName());
67

  
68
    /** Timer de espera de nuevos mensajes */
69
    private static Timer timer;
70

  
71
    /** Indica si se han a?adido mensajes desde la ?ltima vez que se comprob? */
72
    private static boolean addedMessage = false;
73

  
74
    /** DOCUMENT ME! */
75
    private static ArrayList info = new ArrayList();
76
    private static ArrayList infoExceptions = new ArrayList();
77

  
78
    /** DOCUMENT ME! */
79
    private static ArrayList warnings = new ArrayList();
80
    private static ArrayList warningsExceptions = new ArrayList();
81

  
82
    /** DOCUMENT ME! */
83
    private static ArrayList errors = new ArrayList();
84
    private static ArrayList errorsExceptions = new ArrayList();
85

  
86
    /** DOCUMENT ME! */
87
    private static Vector listeners = new Vector();
88
    private static boolean isFirst = true;
89

  
90
    /**
91
     * A?ade un objeto que escucha los mensajes de error, warning e informaci?n
92
     *
93
     * @param nl objeto que recibir? los eventos
94
     */
95
    public static synchronized void addNotificationListener(NotificationListener nl) {
96
        logger.info("Se a?ade un listener al manager de notificaciones");
97
        listeners.add(nl);
98
    }
99

  
100
    /**
101
     * @see com.iver.mdiApp.Notification#addError(java.lang.String)
102
     */
103
    public static synchronized void addError(final String err, Throwable e) {
104
    	logger.debug(err,e);
105
        errors.add(err);
106
        errorsExceptions.add(e);
107

  
108
        if (isFirst) {
109
            AddError((String[]) errors.toArray(new String[0]),
110
                (Throwable[]) errorsExceptions.toArray(new Throwable[0]));
111
            errors.clear();
112
            errorsExceptions.clear();
113
            isFirst = false;
114
        }
115

  
116
        dispatchMessages();
117
    }
118

  
119
    /**
120
     * @see com.iver.mdiApp.Notification#addWarning(java.lang.String)
121
     */
122
    public static synchronized void addWarning(final String warn, final Throwable e) {
123
		logger.debug(warn,e);
124
        warnings.add(warn);
125
        warningsExceptions.add(e);
126

  
127
        if (isFirst) {
128
            AddWarning((String[]) warnings.toArray(new String[0]),
129
                (Throwable[]) warningsExceptions.toArray(new Throwable[0]));
130
            warnings.clear();
131
            warningsExceptions.clear();
132
            isFirst = false;
133
        }
134

  
135
        dispatchMessages();
136
    }
137
    /*
138
     * @see com.iver.mdiApp.Notification#addWarning(java.lang.String)
139
     */
140
    public static synchronized void addWarning(final String warn) {
141
		addWarning(warn,null);
142
    }
143

  
144
    /*
145
     * @see com.iver.mdiApp.Consola#addInfo(java.lang.String)
146
     */
147
    public static synchronized void addInfo(final String inf, final Throwable e) {
148
		logger.debug(inf,e);
149
        info.add(inf);
150
        infoExceptions.add(e);
151

  
152
        if (isFirst) {
153
            AddInfo((String[]) info.toArray(new String[0]),
154
                (Throwable[]) infoExceptions.toArray(new Throwable[0]));
155
            info.clear();
156
            infoExceptions.clear();
157
            isFirst = false;
158
        }
159

  
160
        dispatchMessages();
161
    }
162
    /*
163
     * @see com.iver.mdiApp.Consola#addInfo(java.lang.String)
164
     */
165
    public static synchronized void addInfo(final String inf) {
166
		addInfo(inf,null);
167
    }
168
    /**
169
     * M?todo que es ejecutado en el thread de la interfaz y que se encarga de
170
     * avisar del mensaje de error a todos los listeners registrados
171
     *
172
     * @param error Mensaje de error
173
     * @param e s que van a recibir las notificaciones
174
     */
175
    private static void AddError(String[] error, Throwable[] e) {
176
        for (int i = 0; i < listeners.size(); i++) {
177
            ((NotificationListener) listeners.get(i)).errorEvent(new MessageEvent(
178
                    error, e));
179
        }
180
    }
181

  
182
    /**
183
     * M?todo que es ejecutado en el thread de la interfaz y que se encarga de
184
     * avisar del mensaje de error a todos los listeners registrados
185
     *
186
     * @param warn Mensaje de warning
187
     * @param e objetos que van a recibir las notificaciones
188
     */
189
    private static void AddWarning(String[] warn, Throwable[] e) {
190
        for (int i = 0; i < listeners.size(); i++) {
191
            ((NotificationListener) listeners.get(i)).warningEvent(new MessageEvent(
192
                    warn, e));
193
        }
194
    }
195

  
196
    /**
197
     * M?todo que es ejecutado en el thread de la interfaz y que se encarga de
198
     * avisar del mensaje de informaci?n a todos los listeners registrados
199
     *
200
     * @param info Mensaje de informaci?n
201
     * @param e objetos que van a recibir las notificaciones
202
     */
203
    private static void AddInfo(String[] info, Throwable[] e) {
204
        for (int i = 0; i < listeners.size(); i++) {
205
            ((NotificationListener) listeners.get(i)).infoEvent(new MessageEvent(
206
                    info, e));
207
        }
208
    }
209

  
210
    /**
211
     * DOCUMENT ME!
212
     */
213
    private static void dispatchMessages() {
214
        addedMessage = true;
215

  
216
        if (timer == null) {
217

  
218
            timer = new Timer(1000, new ActionListener() {
219
				public void actionPerformed(ActionEvent e) {
220

  
221
			        if (errors.size() > 0) {
222
			            AddError((String[]) errors.toArray(new String[0]),
223
			                (Throwable[]) errorsExceptions.toArray(new Throwable[0]));
224
			            errors.clear();
225
			            errorsExceptions.clear();
226
			        }
227

  
228
			        if (warnings.size() > 0) {
229
			            AddWarning((String[]) warnings.toArray(new String[0]),
230
			                (Throwable[]) warningsExceptions.toArray(new Throwable[0]));
231
			            warnings.clear();
232
			            warningsExceptions.clear();
233
			        }
234

  
235
			        if (info.size() > 0) {
236
			            AddInfo((String[]) info.toArray(new String[0]),
237
			                (Throwable[]) infoExceptions.toArray(new Throwable[0]));
238
			            info.clear();
239
			            infoExceptions.clear();
240
			        }
241

  
242
			        if (!addedMessage) {
243
			            if (timer != null) {
244
			                timer.stop();
245
			            }
246

  
247
			            timer = null;
248
			        }
249

  
250
			        addedMessage = false;
251
			        isFirst = true;
252
				}
253
			});
254
            timer.start();
255
        }
256
    }
257

  
258
	public static void addError(Throwable e1) {
259
		addError(e1.toString(), e1);
260

  
261
	}
262

  
263
	public static void showMessageError(String message,Exception e) {
264
		message=splitMessage(message);
265
		JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(),message);
266
		NotificationManager.addWarning(message,e);
267
	}
268
	public static void showMessageWarning(String message,Exception e) {
269
		message=splitMessage(message);
270
		JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(),message);
271
		NotificationManager.addWarning(message,e);
272
	}
273
	public static void showMessageInfo(String message,Exception e) {
274
		message=splitMessage(message);
275
		JOptionPane.showMessageDialog((Component)PluginServices.getMainFrame(),message);
276
		NotificationManager.addInfo(message,e);
277
	}
278
	private static String splitMessage(String message) {
279
		String[] messages=message.split("\n");
280
		String resultMessage="";
281
		for (int i=0;i<messages.length && i<=SIZE_MESSAGE;i++){
282
			resultMessage+=(messages[i]);
283
			resultMessage+=("\n");
284
		}
285
		return resultMessage;
286
	}
287
}
0 288

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/com/iver/andami/messages/MessageEvent.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.andami.messages;
42

  
43
public class MessageEvent {
44
	private String[] messages;
45
	private Throwable[] exceptions;
46

  
47
	public MessageEvent(String[] msgs, Throwable[] excps){
48
		messages = msgs;
49
		exceptions = excps;
50
	}
51

  
52
	/**
53
	 * @return
54
	 */
55
	public Throwable[] getExceptions() {
56
		return exceptions;
57
	}
58

  
59
	/**
60
	 * @return
61
	 */
62
	public String[] getMessages() {
63
		return messages;
64
	}
65

  
66
	/**
67
	 * @param throwables
68
	 */
69
	public void setExceptions(Throwable[] throwables) {
70
		exceptions = throwables;
71
	}
72

  
73
	/**
74
	 * @param strings
75
	 */
76
	public void setMessages(String[] strings) {
77
		messages = strings;
78
	}
79

  
80
}
0 81

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/com/iver/andami/messages/Messages.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.andami.messages;
42

  
43
import java.util.Locale;
44
import java.util.ResourceBundle;
45

  
46

  
47
/**
48
 * Clase que accede a los recursos para la i18n
49
 */
50
public class Messages {
51
    /** DOCUMENT ME! */
52
    private static final String BUNDLE_NAME = "com.iver.andami.text";
53

  
54
    /** DOCUMENT ME! */
55
    private static ResourceBundle RESOURCE_BUNDLE = null;
56

  
57
    /**
58
     * Inicializa la clase con el locale adecuado
59
     *
60
     * @param loc Locale de la aplicaci?n
61
     */
62
    public static void init(Locale loc) {
63
    	return;
64
    }
65

  
66
    /**
67
     * @param strLocale. Ejemplo: va para valenciano
68
     * Se trata de permitir coexistir el valenciano con el catal?n.
69
     * El m?todo buscar? un fichero properties llamado "text_va.properties"
70
     * para usarlo con RESOURCE_BUNDLE de donde sacar los mensajes
71
     * traducidos.
72
     */
73
    public static void init(String strLocale) {
74
    	return;
75
    }
76
    
77
    
78
    /**
79
     * Obtiene el valor del recurso con clave 'key'
80
     *
81
     * @param key clave del recurso que se quiere obtener
82
     *
83
     * @return recurso que se quiere obtener o !key! en caso de no encontrarlo.
84
     *         En dicho caso no se notifica al framework ya que  estos son los
85
     *         mensajes propios de la aplicaci?n y deben de estar todos
86
     */
87
    public static String getString(String key) {
88
        return org.gvsig.i18n.Messages.getText(key, "com.iver.andami.messages.Messages");
89
    }
90
    
91
    public static String get(String key) {
92
        return org.gvsig.i18n.Messages.getText(key, "com.iver.andami.messages.Messages");
93
    }
94
}
0 95

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/com/iver/andami/messages/ProgressListener.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.andami.messages;
42

  
43
import java.util.EventListener;
44

  
45

  
46
/**
47
 * Interfaz implementada por las extensiones que quieran informar del estado de
48
 * su ejecuci?n. Por ejemplo un extension que tarda mucho en ejecutarse puede
49
 * implementar esta interfaz y a?adirse como ProgressListener de la
50
 * aplicacion. De esta manera la aplicaci?n le pedir? su estado a intervalos
51
 * regulares de tiempo y mostrar? esta informaci?n en la barra de estado
52
 *
53
 * @author Fernando Gonz?lez Cort?s
54
 */
55
public interface ProgressListener extends EventListener {
56
    /**
57
     * M?todo invocado a intervalos regulares por la aplicaci?n y en el que se
58
     * debe devolver el estado de una supuesta ejecuci?n
59
     *
60
     * @return Cadena que se env?a a la aplicaci?n
61
     */
62
    public String getProgress();
63

  
64
    /**
65
     * Devuelve un porcentaje que indica el progreso de la tarea
66
     *
67
     * @return n?mero del 0 al 100
68
     */
69
    public int getProgressValue();
70
}
0 71

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/com/iver/andami/messages/NotificationListener.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
18
 *
19
 * For more information, contact:
20
 *
21
 *  Generalitat Valenciana
22
 *   Conselleria d'Infraestructures i Transport
23
 *   Av. Blasco Ib??ez, 50
24
 *   46010 VALENCIA
25
 *   SPAIN
26
 *
27
 *      +34 963862235
28
 *   gvsig@gva.es
29
 *      www.gvsig.gva.es
30
 *
31
 *    or
32
 *
33
 *   IVER T.I. S.A
34
 *   Salamanca 50
35
 *   46005 Valencia
36
 *   Spain
37
 *
38
 *   +34 963163400
39
 *   dac@iver.es
40
 */
41
package com.iver.andami.messages;
42

  
43
/**
44
 * Interfaz que deber?n de implementar todas las clases que quieran recibir
45
 * informaci?n sobre los mensajes de informaci?n, de warning y de error que
46
 * recibe la aplicaci?n
47
 */
48
public interface NotificationListener {
49
    /**
50
     * M?todo invocado cuando la aplicaci?n recibe mensajes de error
51
     *
52
     * @param app contexto de la aplicaci?n
53
     * @param text Texto del mensaje
54
     */
55
    public void errorEvent(MessageEvent e);
56

  
57
    /**
58
     * M?todo invocado cuando la aplicaci?n recibe mensajes de warning
59
     *
60
     * @param app contexto de la aplicaci?n
61
     * @param text Texto del mensaje
62
     */
63
    public void warningEvent(MessageEvent e);
64

  
65
    /**
66
     * M?todo invocado cuando la aplicaci?n recibe mensajes de informaci?n
67
     *
68
     * @param app contexto de la aplicaci?n
69
     * @param text Texto del mensaje
70
     */
71
    public void infoEvent(MessageEvent e);
72
}
0 73

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/com/iver/andami/help/AndamiHelpPanel.java
1
package com.iver.andami.help;
2

  
3
import javax.help.HelpSet;
4

  
5
import com.iver.andami.PluginServices;
6
import com.iver.andami.ui.mdiManager.IWindow;
7
import com.iver.andami.ui.mdiManager.MDIManager;
8
import com.iver.andami.ui.mdiManager.WindowInfo;
9

  
10

  
11
public class AndamiHelpPanel extends HelpPanel implements IWindow {
12

  
13
	private static final long serialVersionUID = 2683827167020046672L;
14

  
15
	private WindowInfo info = null ;
16

  
17
	public AndamiHelpPanel(HelpSet hs){
18
		super(hs);
19
	}
20

  
21
	public AndamiHelpPanel(HelpSet hs, String id){
22
		super(hs,id);
23
	}
24

  
25
	public void showWindow() {
26
		MDIManager mdim = PluginServices.getMDIManager();
27
		mdim.addWindow((IWindow) this);
28
	}
29

  
30
	public WindowInfo getWindowInfo() {
31
		if( info == null ) {
32
			info = new WindowInfo( WindowInfo.RESIZABLE |
33
	                WindowInfo.MAXIMIZABLE | WindowInfo.MODELESSDIALOG);
34
			info.setHeight(HEIGHT);
35
			info.setWidth(WIDTH);
36
			info.setTitle(getTitle());
37
		}
38
		return info;
39
	}
40

  
41
}
0 42

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/com/iver/andami/help/Help.java
1
package com.iver.andami.help;
2

  
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
5
import java.awt.event.KeyEvent;
6
import java.io.File;
7
import java.net.MalformedURLException;
8
import java.net.URL;
9
import java.net.URLClassLoader;
10
import java.text.MessageFormat;
11
import java.util.ArrayList;
12
import java.util.Iterator;
13
import java.util.Locale;
14

  
15
import javax.help.HelpSet;
16
import javax.swing.JComponent;
17
import javax.swing.KeyStroke;
18

  
19
import org.apache.log4j.Logger;
20

  
21
public class Help  {
22

  
23
	private static Help help = null;
24

  
25
	private HelpSet mainHS = null;
26
	private ArrayList resources = new ArrayList();
27
	private ArrayList helps = new ArrayList();
28

  
29
	private HelpPanel window=null;
30

  
31
	public static Help getHelp() {
32
		if( help == null ) {
33
			help = new Help();
34
		}
35
		return help;
36
	}
37

  
38
	private Logger log() {
39
		return Logger.getLogger("org.gvsig");
40
	}
41

  
42
	public void show() {
43
		log().info("show()");
44
		show(null);
45
	}
46

  
47
	public void show(String id) {
48
		try {
49
			log().info("show(id) id="+id);
50
			initHelp();
51
			try {
52
				window.showWindow(id);
53
			}catch(NullPointerException e) {
54
				window = new AndamiHelpPanel(mainHS, id);
55
				window.showWindow();
56
			}
57
		} catch (Exception ex) {
58
			log().error("Se ha producido un error mostrando la ventana de ayuda.",ex);
59
		}
60
	}
61

  
62
	public void enableHelp(JComponent comp, String id)
63
	{
64
		try{
65
			initHelp();
66
			comp.registerKeyboardAction(new DisplayHelpFromFocus(id), KeyStroke.getKeyStroke(KeyEvent.VK_F1, 0), JComponent.WHEN_ANCESTOR_OF_FOCUSED_COMPONENT);
67
		}
68
		catch(Exception except){
69
			log().error("ID: "+id+" erronea");
70
		}
71
	}
72

  
73
	public boolean addResource(String path) {
74
		URL url = null;
75
		try {
76
			url =  (new File(path)).toURL();
77
		} catch (MalformedURLException e) {
78
			return false;
79
		}
80
		resources.add(url);
81
		return true;
82
	}
83

  
84

  
85
	public boolean addHelp(String helpName) {
86
		helps.add(helpName);
87
		return true;
88
	}
89

  
90
	private void initHelp()
91
	{
92
		if ( mainHS != null ) {
93
			return;
94
		}
95

  
96
		//
97
		// Obtenemos un array de URLs de array list de URLs
98
		//
99
		URL urls[] = new URL[resources.size()];
100
		int i=0;
101
	    for( Iterator it=resources.iterator(); it.hasNext() ;) {
102
	    	urls[i++] = (URL) it.next();
103
	    }
104

  
105
	    //
106
	    // Creamos la lista de helpsets que han de componer
107
	    // la ayuda
108
	    //
109
	    ArrayList helpSets = new ArrayList();
110

  
111
	    for( Iterator it=helps.iterator(); it.hasNext() ;) {
112
	    	String name = (String) it.next();
113
	    	String lang = Locale.getDefault().getLanguage();
114
	    	HelpSet hs = createHelpSet(urls, name + "/" + lang + "/help.hs");
115
	    	if( hs == null ) {
116
	    		lang = "en";
117
	    		hs = createHelpSet(urls, name + "/" + lang + "/help.hs");
118
	    	}
119
	    	if( hs != null ) {
120
	    		helpSets.add(hs);
121
	    	}
122
	    }
123

  
124
	    //
125
	    // Fijamos el primer helpset de la lista como master y
126
	    // le a?adimos (merge) a este los demas helpsets
127
	    //
128
	    Iterator it=helpSets.iterator();
129
	    if( ! it.hasNext() ) {
130
	    	return;
131
	    }
132
	    mainHS = (HelpSet) it.next();
133
	    while( it.hasNext() ) {
134
			try {
135
		    	mainHS.add( (HelpSet) it.next() );
136
			} catch (Exception ex) {
137
				log().error(ex);
138
			}
139
	    }
140
	}
141

  
142
	private HelpSet createHelpSet(URL resources[], String hsName) {
143
		HelpSet hs = null;
144

  
145
		ClassLoader loader = ClassLoader.getSystemClassLoader();
146
	    loader = new URLClassLoader(resources, loader);
147
	    URL url = HelpSet.findHelpSet(loader, hsName);
148
		if (url == null) {
149
			log().error(
150
					MessageFormat.format(
151
							"No se ha encontrado el helpset ''{0}''.",
152
							new Object[] { hsName }
153
					)
154
			);
155
			return null;
156
		}
157
		log().info("createHelpSet:  url="+url);
158

  
159
		try {
160
			hs = new HelpSet(null, url);
161
		} catch (Exception ex) {
162
			log().error(
163
				MessageFormat.format(
164
					"No se ha podido cargar el helpset desde ''{0}''.",
165
					new Object[] { url }
166
				),
167
			    ex
168
			);
169
			return null;
170
		}
171
		return hs;
172
	}
173

  
174

  
175
    public class DisplayHelpFromFocus implements ActionListener {
176

  
177
	private String id = null;
178

  
179
        public DisplayHelpFromFocus(String id) {
180
        	log().info("DisplayHelpFromFocus(id) id="+id);
181
            this.id=id;
182
        }
183

  
184
		public void actionPerformed(ActionEvent e) {
185
			Help.getHelp().show(this.id);
186
	    }
187
    }
188
}
189

  
0 190

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/com/iver/andami/help/HelpPanel.java
1
package com.iver.andami.help;
2

  
3
import java.awt.BorderLayout;
4
import java.awt.Frame;
5
import java.awt.event.ComponentEvent;
6
import java.awt.event.ComponentListener;
7

  
8
import javax.help.BadIDException;
9
import javax.help.HelpSet;
10
import javax.help.JHelp;
11
import javax.swing.JPanel;
12

  
13
import org.apache.log4j.Logger;
14

  
15
public class HelpPanel extends JPanel  {
16

  
17
	private static final long serialVersionUID = 4164482247505362337L;
18

  
19
	public static int WIDTH = 645;
20
	public static int HEIGHT = 495;
21
	private String title = null;
22
	private JHelp jh;
23

  
24
	private Logger log() {
25
		return Logger.getLogger("org.gvsig");
26
	}
27

  
28
	public HelpPanel(HelpSet hs){
29
		log().info("HelpPanel(hs)");
30
		init(hs,null);
31
	}
32

  
33
	public HelpPanel(HelpSet hs, String id){
34
		log().info("HelpPanel(hs,id) id="+id);
35
		init(hs,id);
36
	}
37

  
38
	private void init(HelpSet hs, String id){
39
		jh = new JHelp(hs);
40
		log().info("init() ID "+ id);
41
		if (id != null) {
42
			try {
43
				log().info("init() setCurrentID "+ id);
44
				jh.setCurrentID(id);
45
			} catch (BadIDException ex) {
46
				log().error(ex);
47

  
48
			} catch (NullPointerException ex) {
49
				log().error(ex);
50
			}
51
		}
52
		String hsTitle = hs.getTitle();
53
		if (hsTitle == null || hsTitle.equals("")) {
54
			hsTitle = "gvSIG Help";
55
		}
56
		title = hsTitle;
57
		setLayout(new BorderLayout());
58
		add(jh,BorderLayout.CENTER);
59
	}
60

  
61
	public void showWindow() {
62

  
63
		log().info("showWindow()");
64
		Frame frame = new Frame();
65
        frame.add(this);
66
        frame.setSize(WIDTH, HEIGHT + 30);
67
        frame.setTitle(getTitle());
68
        frame.setResizable(true);
69
		this.setVisible(true);
70
		frame.show();
71
	}
72

  
73
	public void showWindow(String id) {
74
		if (id != null) {
75
			try {
76
				log().info("showWindow(id) -> setCurrentID "+ id);
77
				jh.setCurrentID(id);
78
			} catch (BadIDException ex) {
79
				log().error(ex);
80
			}
81
		}
82
		String hsTitle = jh.getHelpSetPresentation().getTitle();
83
		if (hsTitle == null || hsTitle.equals("")) {
84
			hsTitle = "gvSIG Help";
85
		}
86
		title = hsTitle;
87
		showWindow();
88
	}
89

  
90
	public String getTitle() {
91
		return this.title;
92
	}
93

  
94
}
0 95

  
tags/v2_0_0_Build_2000/frameworks/_fwAndami/src/com/iver/andami/Utilities.java
1
/* gvSIG. Sistema de Informaci?n Geogr?fica de la Generalitat Valenciana
2
 *
3
 * Copyright (C) 2004-2007 IVER T.I. and Generalitat Valenciana.
4
 *
5
 * This program is free software; you can redistribute it and/or
6
 * modify it under the terms of the GNU General Public License
7
 * as published by the Free Software Foundation; either version 2
8
 * of the License, or (at your option) any later version.
9
 *
10
 * This program is distributed in the hope that it will be useful,
11
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13
 * GNU General Public License for more details.
14
 *
15
 * You should have received a copy of the GNU General Public License
16
 * along with this program; if not, write to the Free Software
17
 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307,USA.
... This diff was truncated because it exceeds the maximum size that can be displayed.

Also available in: Unified diff