By default, Bugzilla does not search the list of RESOLVED bugs.
You can force it to do so by putting the upper-case word ALL in front of your search query, e.g.: ALL tdelibs
We recommend searching for bugs this way, as you may discover that your bug has already been resolved and fixed in a later release. View | Details | Raw Unified | Return to bug 1860
Collapse All | Expand All

(-)tdevelop/doc/Makefile.am (-1 / +1 lines)
Lines 1-2 Link Here
1
SUBDIRS = tdevelop std extras kde_app_devel kdevdesigner
1
SUBDIRS = tdevelop std extras tde_app_devel kdevdesigner
2
2
(-)tdevelop/doc/kde_app_devel/CMakeLists.txt (-12 lines)
Lines 1-12 Link Here
1
#################################################
2
#
3
#  (C) 2010-2011 Serghei Amelian
4
#  serghei (DOT) amelian (AT) gmail.com
5
#
6
#  Improvements and feedback are welcome
7
#
8
#  This file is released under GPL >= 2
9
#
10
#################################################
11
12
tde_create_handbook( DESTINATION kde_app_devel )
(-)tdevelop/doc/kde_app_devel/Makefile.am (-3 lines)
Lines 1-3 Link Here
1
KDE_LANG = en
2
KDE_DOCS = AUTO
3
(-)tdevelop/doc/kde_app_devel/appwizard.png (-134 lines)
Lines 1-134 Link Here
1
‰PNG
2
3
IHDRuš	ç” IDATxœìÝw\Sgð²{¹.wÝUë'U«¸÷ªÚ·ÖѺ[¥bъ÷ŠR·Öbhë*PDd	Êd¼\c"ü¾Ÿ÷ƒ÷ž<ãÜ`óŸÜÁмw±Ië^PL‘÷.jYDt¥¬3€OÞJ¢+ÚJLóÇ#Ý=£gNPn7ز׸i@	«B+n9÷å_áúåmm¯%̜@D|>ÏÎֆˆÒ32Åb	9¡ÊøHŠU¡·œ+Vû³:Ö/ëË«ÒfN°¶¶¬S»VMÇꖖæD”››ÿæmÚ³ç1Yö(1à?l[÷Ï7üÔÌ£›•µIæƒë7¾øïµä²L`¹Bñxf‹c[¨Fˆh5‹õáƒ/ÎÍã˜
4
Hš—y÷‘ÿÊ«»4?/‹0è~R}:¿¡Õ¤O XZq˹⶿¬ÿûñü÷£Â™ªV±¯W·võjUìlmx<.›Í¶µ±¶µµæñx?I›9AðþýŠùîÀ§ëœÊ6Û¼Ù´g·jY¤wmñ̤÷ùëõ÷»¶ï§øÂwW#ÿ†ÕlßÔÿÖ«Gu®…¥¨óuµ.ž¹}oîÜ~ßÝA;¯Øs›þ¾5²X#ÈLXÄb7]ï>l*•sïï«B+n9W‚òO—ÂúR¨ñ‚cjæl6[,‘ˆ%"R(2™ÌÜLPËÉ1++J­Ë†½MPpT¶ëýúGmAì‚AßyEDÇ:×QȤ>E¯ÿM"mMº°L}/ވ¯ç™ü®3¼{‘òÄ×¾þ~ÐÈCÖíníT¬¾-j”`F]ï>l*ŽFDY¡¹·÷ï͛ÕZ¡«1¿ü+"mÕւ™š6qµ³³áóx]{ ¢ëQ—^Éè©ýö¶Ö{:s‚ß’TJ*۟­MDŸ~Œ¨—Û
5
":täáÐ.)_WïmbZwж-‡t53ɉ>ê¿sê9r"šõ6¿…½@.ÎI¹ÿ×ÉñãîGg3‰h“B1ÅÒÕQ;à‚	÷¯®;èHÆD„Dš}Dgô¨mµ¯†EØë<~õI›“w©n‹býæÖ™§9¸H”všˆX\¡¶£cqlúøèùU3Vγ£þ;§þ˜+•+›‘Îañ:­
6
øÂk@uçªâäçg
ù3Ví(Ño	*ÕÏ[=ZǞjšZ㡇™Ï™L¦ÙXmp"’H${'¢+ç‡Ã)Vù§­¾$ªVÕÁÖÆšË-|•©,ææ‡-•ʈ^¨öšRÌ÷>];U¶Úð‰ènºH×?j«ïê÷ÌEHÔþèåþýïŽnz0û[ß?W~Ç
ÿÎë$ù:˜±l[õ»·o\ÈÒ°ºÇ²Xû
7
"Ëb‘îŽj.OéPïqÌ‹k¿ù|Ñ:©÷ô3=Ώêõc›Ð©Wkÿø©nߟ¾^끉8Vˆ(ûÖrÕÊ£k²ùưiMƺ“.ñ=½rAAØ¢i¡Ì!0Ǣ먳üòøeãÖ9}å
Ï«ìZ¶þ«ö¨Â‡-@¥¢úy«Z¡Ý½~J­¥Z…¦lüyŸ‘ªDÿ\=ñÙçCþ:¤ZΩÎãrÛtÄ´ïÖ÷«®žàr9ZË?]´?nmeiiaÎãqŸ=¸ìêÞ]¸{A.Wˆxb¹\®Ö_ÙTªÿí3åO¶BQ ½-í>“ÿçK"ôy
"
8
<ñìµlѤ*Ã~ÒI¶YÃQÛüºèdkcFD‚ZS„´Pm"­5'ʗemé8È'þ¯åþáÊîš}“Æ5{™ëY{Ôfù¬cGÕ#¢jÿmKsî\Ji;
9
	ת˯þ
10
™0hÂÕÃWÝH¯Dôû¹—i´ŠhbÕ¯~Nk£ö¦i=‘ó[ÑöŸNgåKv·u×óV3ðaP©èªÐx<‹Åb³Mê6íJ:*4¦1YYY2e2¹T*eÚXZZ¨•sÊÁÝÚöQô³Ï‡<º¢µüÓEûõ=V–––\.‡Ãf«•X"a±H"1UëcÀdPñ<Β´¶3u²àEdK´6x++üª×ьCD~ù……(ËÄ,ŸèË¿®ù¬Ú¥	7í¿uJ¦`qlU?XòuwԔOD7õZºïÆeD³ož,÷WßÇ~+Z͙ö»³9÷Ö×':lÂl?_9-ý¿lÕ¦ç¿
11
ß?²å™ø\­GçlÁ%¢x±LN	DĶh®–¤Ödò‰Zñ‰èaŽD¦ë Þ‡[€ÊLµBãp8Õë¶%¢¤çÿÈårÍ
12
iLDfS‡Ãf³år¹L&cÊD)_­œcÚ7hÞMsÞfíú<¾¢Yþé¢}ý’Ãáðx\s3ûZ-UãN®£ÿV(ùB‘Z¯•LÃJ•íƒçâ[{5ÒµÆÝ?㈈-h F«Öhʊè܂F–¼ÑÎÓVv’Só¥D4¬•ùþþ·Èāi&a‘LA
13
…‚Åb‰ˆ::jb&Þò™¿¤›ÿº~LDkß'¿L.½Óá·!Ò¼Ç?nëÿsz‡ß†(d9>¾tý»¼Gó$û÷ŽîYޤ‰ßʔÊªODҜ{B–Z“y–+ibů*à¼Ì—²8|…TÌ´W}T­Ô‘!TH+ßßUVh‡Ãa‹Ò£är¹L&/((`±XjӘˆ,--8öõ¥¼  €ˆLMùj圲½VšíõÐ^_&%§ØÚZsþû<UäÆÈår¶U="L¥2ٛ7i„ïÇ*+Õÿöÿ™51nèå¶ûoÚnè£tû^mrsöÔoj6Þ°íáöm¾[Ðïçß<Üôò–¥?|³ÓûÐËuc´¬mõ¼ÙZ¦Y«S1ÙQ¹,yu¬xÙ­õduÏgÀæ®±_pꘔrï{‡&®îS+ñàœô‚\Ÿƒ/¶Li”:ýa®®/ùu~ž*ã›÷=Ûòu3¯^.fkˆèUàbÍúRk2~ûwç÷íçþ¯÷Üõ»ô¨Uôš™ˆHõP¶•Š®
14
Ïçq9¦6“f=çpØD¤V¡1³’Y×h&Ë~abb"—Ë
15
…eµ¦é	á9¹yj圲=3¸²}T*Š4ۑ@GÚZêË+[ö‘cj6ÖVL6Ddbb¢Èa&xû6=$ôڕ÷¯ºQÌ÷*avØ(÷Á‹7¯Zû ɂ#M~rçtDŠêGŠrûŸE]VK·O˜õûÁêæo"oÜ<ö§èÂäεÄû—=й´zë‰'
p­ãb!ŒÉ^ö}Ю_ÆnOIm%°ÑÚQK&ï6»‡ulöò©PǤD:ý—Õ±›v/»+$úwÙzš²kÏtíÃj®=~ë›.~‚CcDôbe…íúaáükšõ¥Ödî,ý|™të¤û/¯¶Nþç·o3UßÕqðaPi©VhLýÇÄÙl¶\¡`³ÙªšZ9ÇT¢If´f9§upæ§æàJºêËÂç÷¨]Øæ„fn:~ÖʵA]ÕS0¤ÒgÑ/Ãþ¾ùììûhYL€
16
17
—0ƒ‰ Z–/“¤6âz¯xýðaP©|H…VÜr®åŸ“þçCziçÌ	DÔ©C›zuœk99Q|Bҋ˜Wa·îÑQ[
ÖõÆ@…£åâmÐÆ„kÞòË_NÍH:?©]¿=F¶•Šæçm±*´â–sÅmß@}9LÇQMš7U"yßqOuü‘ŠÓ⣯ŸÞ¿|Áúd‰–{”L±*´â–s†·o®¿¾Äm X>ÓQ_rˆh%ÑgeŸTD"º¬P<¹ê¿}ÿÇN>¿mÝÇTW¶j¾úރgO[VY@Ådò±€
18
õ%“ö'êBóԗPr¾Þ?¨EP_@ɽŒy¥Áù—`L¨/À˜Ê{}Ù¤u¯ƒAç_JóãwnÚ{úZxüÛ|«ÎCÆÍ^ðeóÒÎ>EE¯_ÊDq3G{sÜûï=|ðßëü<¹ã­óO”¯J²â.œ¿r?.·Èqo	Ÿ®¢ëË[kVõùÕgJÿÖU,xlSË΃ÇÝ9’yI”þψá?¿veîW^Û#2™`óŽNnZÕ©S¿6½&nû'MOË&­{å&\ÑÈgƒü™ÈÁMÛôþ¬ßÔ-7Þù@ L]_î‰êù¥‹…Ö—Î-Ü4uߦ
kWù¥ó®%'˜ TœøÔeÐÅ«§,vßöÃ6=-‰èÒ
î·OmŸÌìþðçɈ»‚6Þ±Üïƒ>’¢ëËX‹Êí&­{1ÿcvOm; †Uýlj~êYe³Eƒ[šq8®Ý§Š³Âô·ìàÙъǭVÝTuƺ]§Šsî–ü˜àã)úúžª¹	Dm™íÈ{Iåšîè¤sMZ‹&l3µŽ,s…\¢¿eU.K¹-Jð]”Ʊ–§E)äÒ|tEח#­Nü•Ú¯GUS͗ZYp×]<]kBDÂ$¡žAi¹ÜkI¿?4°ÌK>uÁc³Aé@9Sô÷ã½×LüÑkÁKÒó%2Iþ¿—Ž(_Z0²î²£QD$“¼ž7Ã[Ï †´¼›)±dHóS6ýð ‡5Ÿ	ºð9<Ë2üxàã*zýÒ¬Z·£¿ÊWÿºù×â$³º
›Î_µyÉmú/×­1I(³º/Z¤gCZn[2xÆä±+Ìj-ØèÓíà·LÐwn¯é“G¸~Vk(oXD¤P(žÜõß¾ö´±;(ï·êÉTþۙësT•÷çCÀ§õ%êK0&ԗ`L¨/À˜P_€1¡¾c*âþêþÛ÷—MP>÷éEԗ¾Þ?|@2ðÉ{óªX틨/‹;Tr8ÿŒ	õ%êK0¦"οÐCóvC¨/ ä4ï^„ïÇÀ˜P_€1¡¾cB}	ƄúŒ	õ%êK0&ԗ`L¨/À˜P_€1}èó!5Ÿ8	ðiñõþáeÌ+µ þ*	­ÿ?ž?®ùÐI€
19
À[àÇN t½‰»_á¾$¢Æ­ze€÷ä~¨Km'ÇÆ%èy5òÞEcdP¹§¾ÔÅb)Š2˜@IáÈHH|íT³z$P©”Åõ=R\†ÅH¿?-n¿¢èÏ(Ê¢¾d±XÅjÿì•øê߉Y¹£ö$ËHnǘY²wŸyQJ逕»õË[w£]ùŸ·¯É’IYKOÞÍ|!¶25ÙúF³qfä‰Ý›[	x6Žæl5^ÊPB¥uþåé#»t½4ðËɺ^ºÝ¡MqžhÓõ̌<Yg·ªñÙü§	²Ôä—9Âü˜„ô:NvÊÆ¢´6ígNÛ{lOH»Ü؛‹'Ÿ¢ÿá2#ЮIë^¸X l”âõ=ZëH=uçƒO[·h´ñZ–P"ÞÁ.>Û$&U––%&©ÔŠ'‘›ËæmŒ<åÛùÝP^Sky_Z8¬	™»vÙs­KiTMZ÷"”˜e¥¼œùàa¤»{£aûS¿éj5³»M®Ô$W(—ËX‘$ùURT\ª9;?*&VµËÚ°”5cë«Lcì¼ B`ŠKÍm(%åâù™™î͛QkG.+Wª(’BÁÊJÒÞæ¼HÉ6³Üþ÷}=§å[){=Î+hgÉûxYÀ'@³ D‰	PÚJ÷þ—Ê•KfCy¡sGLå}1ù<^lT¤KíZ£[Û\~!lèÂ/+DRy^¾øé˔ôYu֖ÿuèVK>hCÎꙅƒ»˜²£…ÒÆfeqOøDáq€²WºÅS>jÞ_ÙUfæU›¬>ÿ¬õ¼+)5>«W]ÆbeçŠnÞO¶µ7÷ëoÖ®º45Cœ+-ø¢¡4$ìUŸNÎD4·ÍÒ	G‡¸”ê!€uë8«EÊËâ_†œúwrµ²¦ì“¯Æe<ÃNMÊY3¶Ž{uÊȊÄ[ès$ív’ýÐîùL—сvì»çÏc£»Ôõϑo6åüùÇô{•͢Wj‘²¨/
¹ÿe;{
20
}Q’¥˜6Èyϟ	?r²ncED2‰ØÖŠïw,eÛÉÄn–;W»)»Ø»/º½S<iJ÷©q™UëºOZ¸¡´ñß¾_-RŠõ¥ž[iÕ³7<Yz?2τ͵æ³9ã~Žq4ˋØÛN³K³QËïŒZþá©@É̞6V-RZõ¥ž›¨ëÑ¢ÇÞTñ º øVÚÈö“^?z}õW÷â>a*¹7ï~ì*‹Æ­ÔpSߏk^ߣG-[®Ï§NJWÌyòϚšÖÖ-J57¨xƒÔT´ZI€ÌŒ­¼œ©fÍ`ΚÁK#¨$®|ì*­òòü¨Ê¢¾,Áú%|¢°~	ÆTÞ×/Ãb¤ßŸ·_‘`Ä| ô”ÇõËg¯ÄWÿNÌÊ-µ'YFrs¾Ä̒½û̋RJŒ¨Ü­_ÞºíêÌÿ¼}M–LÚÈZzònæë±•©ÉÞÐ7š3#OŒèÞÜJÀ³ql4gC¨ñR€*­ûéyxž[¯ßîЦ8O´ézfFž¬³[ÕølþÓYjòËa~LBz';ecQZH›ö3§í=¶'¤]nìÍœOÑÿÔoï	e¬ï©µŽÔSw>xð´u‹F¯e	%²áìâ³MbReiYb’J­x¹¹lÞÆÈS¾ß
å5µ–÷¥…Ú‘¹k—=׺¨Ž¦õ¦îźÓ;©{naaa|>ÛÆÆŽˆ23ÓËâþê†xð0Òݽɰý©ÇÆVɐ)b3å¹B¹\ƒˆÄɯ^GÅ¥ÖuȏzžBô®¾\–âÿGýwCà"u€2—–ö†).ë×wB¡°\ԗ™™î͛QkG.+W*/’BÁʊÓÞæ¼HÉ6³Üþ÷E³õ—oy´zf3¦×㼂v–<Íє—1̂¥Ö | ¿MþII‰DÔ¡CGÀL"—îõ=¬÷©ÆI¥æãóx±Q‘$ÊÝÚæò!›Ã*“H*ÏË?}™’^ ³6gmù_‡?ÆÛÿy'G9ˆ‹);Z(՜T¡P0å£rCW>PçÎ]†Ú¿ÿ"JK{+‘HJ·¾T¼O5N*‹ˆ3ó‚ªMVŸON{~åq–
ÛDÆbgçܼŸlkoî7ÒñÄäj-ªsr¥¬/JCÂ^1½æ6°Yz÷Åø˜$±D"a³ÙÕªU«Y³¦‹K²¸?‘!2äÔ¿“«U«–ÙÉøŒç	9©IYkÆÖ9<³f§º¦26Ç–ÿr,-$ÚΒ›Ït¸à¬Wß=—#ÅRItXÇˆmªj]¤ÄÊ%€q…‡‡ÇÆÆ¾}û6&&F$s8ìrqþ%µ³§Ð)YŠiƒœ÷ü™ðà 'ë6VD$“ˆm­ø~ÇR¶]Lìf¹sµ›²‹½û¢Û;œ¦tŸ—Yµ®û¤…>^ú•Ô„IcMù¦ööUªV©êææfffVŠõ¥ž[iÕ³7<Yz?2τ͵æ³9ã~Žq4ˋØÛN³K³QËïŒZþá©@ÉxÎldfeF?ŸTZõ¥ž›¨ëÑ¢ÇÞTñ º øVÚÈö“^?z}õW÷â>aʆ·÷ÏÊ휜œ¼¼ür÷üñZ¶\ŸNS­Íy²ÑËìÚ¦(.Ê-©T¦ü›Í¶²²,‹ó/KpU͚Áœ5ƒ—F2`\[*•QvvN|ü«²¨/ñTF€ŠJ"ËdìÜÜÜû÷ïoüuãGÊéú%|þúë¯3gÿŒ‹‹{ôèAB|2•÷õK¬}”gÿþ{ë–w·!g±Xå}ýòCú†ÅHÏ<–ýu÷Íß«œJ<葟ŸÏb±:thÇã›zð8vìHE[¿|öJœœô¶…[ՇßÎìfoǘY²wŸy1i@½’%zˆ%âÏ»uݽk›ÍvvvnÞܽ,îOTf뗷îF»:ó?o_“%“6²–ž¼›ù:Clej²7ôZKå=^‡-ªÑi³meaÎã²9|Ë&îø+^µ±ª@Å#
21
•••³³ó«W¯lllÊãú¥žÿè¹mû½ðèmˆóD›®gfäÉ:»UÏæ?M¥&¿ÌæÇ$¤×q²S뢐eMöÜ»ãq,³›“—Ÿ'–òdÙw.œ>´Yþ—óšvÁ9 Z¥§¥Ñ£GZ´háààÀf—ÉóÇKPœi­#õԝ<mÝ¢ÑÆkYB‰lx»øl“˜TYZ–˜¤R+žDn.›·1ò”ogµ^÷}<½‚=ʈMdÛaЬsÇï6¹m^ä’âfP©¼ŒyÎãòž>}Z¥J•š5k:88”»ç÷”Àƒ‡‘îíOý¦«ÕÌî6¹R“\¡\.cID’äWIQq©æìü¨˜Xµ^’ìƒ×ÏxwÑ:fõN+²^l.Õ´*—÷ðQøƒ‡áD”——'
22
Ëûù—EÊÌÌpoބˆZ;r‰X¹RE”
23
V¾P’ö6çEJ¶™àö¿oìë9-ßòHµcà„ÕŽ”‘S uX6¯†\š®ÜÅɗºäåJÒÓÒcbbd2™L&+¿ë—º®ªa¶•>I¢œÑ­m.¿²9¬9‰¤ò¼|ñӗ)é2ks֖ÿuøc¼ýŸwrTÇ¿5fûñ?¾ÓgµÖâWœugÑJ¹«øO	 {ÿJ¡P<y‘’’_~×/ïSM˜™Tm²ú|rÚÓð+³lØ&2;;·àæýd[{s¿‘Ž'&WkQ“+e}ÑPöJ9ήa.5{úþääuà¹æìOw/wh=¯iT6NµjdddQJJÊéÓ§Êïú¥á2äÔ¿“«U«–ÙÉøŒç	9©IYkÆÖ9<³f§º¦26Ç–ÿr,-$ÚΒ›¯ÖwRй¨ù÷r¿%IÒüôÐ}Ë{,}¾a¿G©¦
PÔ¯ïJDùœ¼¼Üìì¬ÃG‚Ëïú¥áÚÙSfvAô+É´AÎÇîæyº[ý0´¦»³¹Œ8¶VüÃ×3†n5ªkùp§[ÇvÔúr̟ì=Ä3€ÙpM,ª5ü>èÅÖ#jš+›áþ—Zåæf'Ä'§¿Í=vìHvvŸÏ/÷¿$½·"Òªg=nx²ô~dž	›kÍ-&fsÆýãh–±·Z{Õ|œúùÅ÷Sêjª<(¼„úæÍš»·hÓ¦]y¼ÿ¥ž›¨ëÑ¢ÇÞTñ º øVÚÈö“^?z}õWw¬8”ž‰”ˆX,VM§ê6Ö6DTN×/KÖ·–-×g„Ó'¥+æ<ùgMMkë%›Äåq,­L¹6mذ±™™YFfFy\¿üÀ¾ksÖn\âÀp:uB¡ðuÊë×)¯--,+Ôú%”±Zµß¾ÍHK{CD"±È”oZÞ¯Gq	PžÍ˜>ÇÒÂR$edd¤¥¥&&½*ï÷¿üX}À·nݼy놵•õ¯qúÌHË«€ç_¥/âÛo|ûíånྠ¬_~(ÕYzÕëý£}ø¯¯ù6®jaç2òÇ)UXZ¨À*òù—ö¾9Äb±½–x"%¹B^Ü.^Ý~àj&YÚcǽ׏ö}à8%ƒõKzà3è×>OK<‘Ò¥—¡Åítåَ J*|’!òؐgiú!㨧E9•iÄ1 ¢Âú%mÜË>0s¿h×Õ ‹Åš3eƸ‘Û}1áa^ž j—w­BøóšÅs'¹×n8{C›ëbmb¶urûñL¼²‹jGÕd¢˜Yz?¶wÏqṅsñÌ\zV1çYVk¸æb’æ±p͑€ýnÀìÁíœmlëÍՕWP÷Úîuí̪Õïz21/õ¦“j¶µš¯¿T8¾0åL[·‘‡OÖÂÙûv*
t0[™ADrI‹Å:™&""QÚI3‡º2×Ìä?òƒßZ¸û¦þß|B*ûú¥ðÍ¡ºùXðl×µ¸®öùª­Á§ƒ¦f{;¢?ÈP-gï¬ì–8bÎÏ~»o‡HºÇýb³ärYØæÞãg«vQ(Ê
åç&öz3eÇïûöï[Æ<ò,F‡7š“™w# ÛZ¯o5Gm@":q–ò,åÑeo]9HE1Û3»=|vaSŸÉ}6†½i{/1í¼w»#¦2
‚‡Ï\ò÷ÍàƒÇïó\7j3-èçä;—ˆ$9wˆhýÑX"Š=²Þ©ÿwº2×̄ˆrá¶¥c¶øLê¨åwŸ&)Š'÷dë‚À IDATCý·ïŸ=mlqû3½·êY
24
¹•…Wµº=õútGóŒ¨%_qEK&®¼¯»TøÔÌÁS’QdPu»»­à÷”¼š<-å»BšÎæ×ËÄj]Ôv[ZòƒRò›qd¢—‡!’܇ª¯*dYl^u¹LË9£jù$ŠeŽi¨æ 5…\ÈæXÊåR"jUwÚý—Û‰H^Ê³h.¿Nœkßtóšˆô9f¾ö_}¼¯wÆóe?Ö·}{êŦ&vº2Ẅ́ÅbÉ$)k¿Þ6nÓ÷Î|¶Á¿.ƒ<¹šÚº×Z^!
25
¸w±nç—1¯Ô^òß¾ß[`佋ÆÏ Ü¨â`oii®ù÷¿H[õdªGÿmšßWüõK]?¿n3Ýќˆl]W[þª9Ç´žTmHPUX¶¸úûU05ìëáFzÞ§³B.)2ùˆü‚±ùÎRa”ú¡±­rQ‘ƒ‘jqix,B!c¶Çîd¾¸góª)äB"²q]iÏeûŽð¥ES÷ó³Ì¨u	œ®6z2W+s§téúèɾ³Ï²9
26
ø„Tüó/uý$"á›C»#v0Å˄wõe æUäù\s7C‚ªÜ̸ß?AsJ«¾Í–í>°oÏîÙj¥Ú±©7V,%"©ð	GÐPK‹âӓƒ¬ùñb)ó{vt"™pìV4°IXóãÍ/Ú6\\›7å·)¦õWØqLÏüsÿABÏr7§èj>!ýR§>I¹Šÿä$lT½Š¼@ADu`q-õ]ÜmÞ¨¼Þ«þüíáDDráÊ!k‰èú[‘5KR·ÔëÊ`{²e3s®xŠfnË¿pôþ;•ˆâÏ­pì±ÂÐcÖKWúùÌqŸºõÉD1ž=¼˜`¿%nDô/¿
ÿ®éõe7š-î[¬ÌÇ·v`ó]\˜1ºÛ792Ü	 â¨ÔÏïñ	ˆúiÑ»ûø˜Ú
ˆ
27
XN+2»³fÌeÄGçÖ½x¬¯²fðкñý»ÔšžýÞ·Õ=~»~sêèþ_ÚÙ$Ùw_FDg·ÌÐ¥Î4‹FëO…zlú\Ù2è—q]Û;-·o—•¦:ÂÀ S'O»§J|¢õÙSƒKrütå _ÛU—ûÌölÛ)Ï\Îäȝú/ ºú§¹|ùÍ[Ðß©™[Õ}zޅŽÓ<Ú9¦„GåLY\ߣv	Kñò+O}?d@(3¸¾À@Ÿðõ=åvýŒ®RŸ	F‡õËbôł(@‘°~	ƄõK0&¬_€1aýÊ3ùG™5*_úQ樰~ù¡TgéU¯÷Žöá#¼¾æÛ¸ª…ËȧTô«QHF7°+ý\´èÔñ[ÙG™ BÀú%	ßb±XšO/¹¢Øëm^Ýß{Bw	FP3aÈÒ;î½~´ïÇùèҟ.9+ŸÊl+ëÑ×a‹jtZÇl[™ZújÌÈ¡ýFû0§@û(:¨½íj&fï›sKËC;ÀX¿¤§>ƒ~ úäñ»ô2´¸]‚®<ûÀTI…OC2D¾ò,M‹nm0qZ䑃ÁaQ™F³HQ›Î¹¯š®QȲ&{îÝqr.³›“/
28
?uè÷àã&÷ìöK±W{ÛÕL[å~jáâ&¬_ÒÆ½ì3÷‹vmP
²X¬9SfŒ9°Ýæè	ªvyWÑ*$?¯Y<w’{톳7„0±¹.Ö&&l['·ÏÄ+»¨vTA&Š™5 ×˜ñc{÷ž[8ÏÌ5p¡gsžeµ†k.&i׬1	ØïÌ~ÜÎÙÆ¶Þ\]9pu¯í^P×άZý®'óRoú7©fa[«ùúK…ãSδuyøÔ¡a-œ½o§Ñ@³µ‘D$—$±X¬“i""¥4s¨+sÍLþ#?øý¨…»ojKhHÒàîÕU#÷}<½‚=j-]¿ôK{à­ÜÕú>«Î®önßß:¯^ß­ÛJ¦}ƒ3£k¦†¨ìë—Â7‡þéæcÁ³]×âºÚWä«¶Ÿšší1ìˆþ Cµœ½³²[âˆ9?ûí¾~ évô‹Í’Ëea›;xŸ­ÚE¡P(7”#œ›Øë͔¿ïÛ¿oðÈL°@ÞhVLfލ€nk½¾Õ<µ‰èÄY~ȳ”G—½uå ÅlÏìöðuڅM}&÷Ùö¦í½Ä´óÞíVŒ(ün:xøÌ%ß>xüî1Ïu£6т~N¾#|‰H’s‡ˆÖ%¢Ø#ëú§+sÍLˆH!n[º@0f‹Ï¤ŽšÇr&]ÔËöÝ*¬$ûÆàõÂ3Þ]´µ\hµUîj£Úìjï’Ç<ÿ›qRqîã++™Æ|›^’Ü;š€!XD¤P(˜'”Ïž6¶¸ý™^[õ,…ÜÊ¿«Zݞz}º£yFԒ/¸¿¢%g±XLñ!>5sð”äETÝîn+ø=%¯&OKù®¦³ù5ä2±ZµÝ––ü ”¼Æf™è¥Àaˆ$÷¡ê«
29
Y›W].ÓrΨZ>‰b™£Fª9hÍ_!²9–r¹”ˆZ՝vÿåv"’¤ò,šKůÓ#çÚ7ݼ&"}Ž™ï€ýWïëñ|ُõmߞz±©‰®ÌU3a±X2IÊÚ¯·Ûô½3Ÿ­õWcÅa¿–HÍL
30
×wíµýJÄOÑ/zۛ*‘+,¢ÈÀa}öŽ¿8^Ï1ª½ªG=¹Žµtþ¾ßæ¶dþƒD!ÏãðªÊ¤yZ€òïÉýÐÔÖ½®Ðò
31
QÀ½‹uë8¿Œy¥ö’ÿöýþÛ#ï]4~~åF{KKsÍ¿ÿEjܪ'S=úoÔüƸâ¯_êúÉøíp›éŽæDdëºÚ*ðWÍA8¦õ¤ÂhC‚ªÂ²ÅÕ߯ꄩa_0Òküð>rI‘ÉGä4pˆˆÍw–
32
£Ôm­‹Š„ˆT‹*Ãs`™ŠÂK¨Çîd¾Jfóª)äB"²q]iÏeûŽð¥ES÷ó³Ì¨u	œ®6z2W+s§téúèɾ³Ï²tå ’+LMÞý¦nÙ~ü¯ÆôY­úW¸Q×a£‡œûgíÐS^úQ³ÈV
33
¸ÿ—íuŸšµÚl¾’¬røÅ»`”*þù—º~‘ðÍ¡Ý;˜â‰e»ú2Pó*ò‚ü®¹›!AUnfÜÇ9¥UßfËöØ·g÷lµÆRm‡ØÔŒ+–‘Tø„#Ðw±³áôä G'k~¼XÊ|›œHD&»
lÒ#Öüxóˆ¶
׿MùmŠiývÃ3ÿÜÿFЅÐ3C‡ÜÍÑ^éÚqMòeïޚ]Ã\jöôýÉ)ÈëÀse0êÚ± Ã§CÿØØPÀ)î1*ßv¾më_ÜŒ¹`Ð &¢å™p>έ‘*€Š¿~©Çӟ€¤\År6ª^E^  "Š:°¸–Ǐz‚®î¶oÔF^ïUþöp""¹p吵Dtý­Èš%)ȍ[êue°ý»+Tš™sýõÜ
34
gùŽÞ§Qü¹Ž=VzÌzéÊA?Ÿ9îS·Þ!"™(ƳGá2a¿%nDô/¿
ÿ®éõe7š-î[¬ÌÇ·v`ó]\˜1ºÛ792-%vS3n¬Xý6”“‚ÎEÍ÷¸—«sqÑÀcÔ|Û­j»Éҙm™8–k¦ïß GÅ_¿ÔÃ' ª·Ê$¦v¢|”»³fÌ;bÀ”u/îé«'xhÝø•]j©Üã·ë=.ëÿåèÑCû¥uûŒˆÎn™³°K‡FCšúm= ®²eÐ/ãVµw²vì¤6ÂÀ S²5Ǝ÷š¸Åúì¡ÁÅ8lÝtå _ÛU—û<YݶÓç_tŸØÛ3t꿀ˆ¾ót!"—/¿#¢ýJ¹UÝѧçåuœ~@ó¥¾v¦7²ÄjAŽY㓁½‡x|à1ª¾íkz4±0åÖl÷õœßN2¯Š³ÂLíúéÏt)‹ë{Ô.a)^~å©ï‡Åõ÷ì¦+ú
ñ¨]öSÇý٧ȪˆÍíË~j0
35
\ß` Oøúžr»~	åY£ùÃî-þ8O!Ú·øÞ—ó”©*NÌQ®Ö áSaÓ`õ,§FDËË~êN³¢ê[—ý¼Ö/‹ÑÕjÙb­>¯~c¦²u~õG™ b¨Ô׏€ÑaýŒ	ë—`LX¿cÂúåGPnû@ú«¢5¨Áú%eFžÑ½¹•€gãØhΆÐLäÕÝ8Ï/?™”Xe_¿¥…´i?³Í×ے³„QWvä)ÁDAWž• —ᙈÓ"‹Ê,n&†wü
36
yþý¿o>KÞ¥l€¢²¯_žöšZËûÒÂaÌyìj®]ö\[ÏÄe¢˜Yz?¶wÏqá¹Lgæ¸Ð³Š9ϲZÃ5“˜ SŲX,åFö‹àvÎ6¶õæê§X™SδuyøÔ¡a-œ½o§ž‰ÖŽjé©â
37
ê^Û½ ®Yµú]O&æ¥ÞôoRͶVóõ—’ô¼'2ÑË­Úº¼|ˆr(ÕÊ^³ÊךT•}ýrmXʚ±õUúþynb¯7Svü¾oÿ¾eüÁ#O0Áatx£Y1™y7º­õú–	2U¬B¡P–³'ÎòCž¥<ºì­kœbe<|撿o<~÷˜çºQ›
ÏDkGµôTIE1Û3»=|vaSŸÉ}6†½i{/1í¼w»#¦êyO®Ìà”Ïw³–m9¥çèTéJ*)
38
æ	å³§-n¦WãV=K!·²À51ÊäB´¥%?(%¯±G&z)p"É}H*œTȲؼêr™i¬ú J‹•(–9òLǐLZ՝vÿåv"’¤ò,šKů
ÌDWGÕôT©Eáør!›c)—KuKGkÓ-I9îæ\Õ^Z‡RnhMÀˆžÜMmÝëŠ-¯Ü»X·Žó˘Wj/ùoßï¿-0òÞEãçPnTq°·´4×üû_¤Æ­z2Õ£ÿ¶@ͪ¦â¯_êúÉp1eG¥š}#ò8DÄæ;K…êO)d±­r§ªVoúÇQ¥+“DZ;™¯¼Ù¼j
39
¹ÐðLtuÔZ\êÂ2(2=Çr7GÒČkø€z€Š¡âŸ©ë'cn›¥4û65ãÆŠ¥D$>ኾ([ª#MÃÇѕI'k~¼XÊ|띝hx&ÅíX$­ÇâjÆyœ¯~^)‡Å’¦!×Çè‰@¹Rñ×/õ¸à¬Wß=—#ÅRItXÇˆmL|ùŽÞ§Qü¹Ž=V褙9×?<EëKZÇqp·=xc`&>sܧn½CD2QŒg/Ã3)VGCh=–U_Ô\ü{)dYʖ}lM¿?ûT*Ê<²öÝE?Ê£6zbP®pÊ`Žò|ý¸½û¢Û;œ¦tŸ—Yµ®û¤…˜øÀ S'O»§J|¢õÙSƒõô˸®í–Û·ËJ
40
S{Ië8‡ÖïߥÖôì÷¾×֕IÛU—ûÌölÛ)Ï\Îähx&Åêh­Ç2øàÙSýGö¹Ø²®­©²åÖß÷œÐvsžEÿÉ?V;j£'åJY\ߣõrCóûH}àӅë{ô	_ßSž×/À¸*ûù—`\X¿cÂú%Ö/À˜°~	ƄõK0&¬_B¡^õzì "¨ìë—ÊôuØ¢Ö1ÛVæ<.›Ã·lÒaàŽ¿âU«ÒMWG"ʌ<1¢{s+ÏÆ±Ñœ
¡ÊxÔQïÏÔàqxN;üxàßwC™ZújÌÈ¡ýFû0GýßDôöv`ÿ¶®f<6—oÞ¨ëê"´Hr…–g…Ö/‰ˆ²¬Éž{wœœËìæäågæID™¯v-é·yh³MÒßµT¡9ޮޢ´6íg¶ùz[r–0êʎ¼ã!L<ó©_û™!Kÿ¸'ʾ´ëççv^þOjáPù¢ðS‡~>¾q`rÏn¿hÎÕ¯çÔ¦‹‚2D²qÞÓk˕qqZ䑃ÁaQ™»Ò¥—¡z^-ñ°PÙTöõKÆ}D¯`2bÆcs¶Í:w|Øê‘ÛŸTkÇÓ^Sky_Z8¬ƒ9]͵˞kë™ø!¯5CŽØ²—cÚ°ãð£'Gùß«6 ë—~i¼5'’)hÎÀ–ü÷Â”3mÝF>uhXgïۅ¥*‹ÅÊ~ÜÎÙÆ¶Þ\"è`v2MDD¢´“f•mޕã
41
IàÏkϝä^»áì
!º†Ð
42
ë—$ɾ1x½ðŒw­¯Vï´"ëÅæÌ®ÚqmXʚ±õU2+üÓ÷Iú’¶U”a‡Ö³ã¶¨£M¸¶šãß?·Ç 9¡O²TƒÁÃg.ùûfðÁãwy®õ.ígù!ÏR]ö&¢ýœÖ%¢Ø#ëúW8‹J-~ge·Äs~öÛ};ü@Òí8=ÃhÂú%NXíHÉÚÎq$"6¯†\úîûq='_êéø8¯ %O³M¬HæbÊQîrLëÊĉïò'"¢¨àyÕ;k9½²öõG¿2Ÿýysßó1Ê _BßQµ-‰¨fÏu¹	;”ñžÓٚòœÍ‰¨Ù’¾>‡‰èðúˆ~‹Ý4G^è÷ï8'K"âÛ¶9~hšža4UüõK]?•nÙ~ü¯ÆôY­µg]çY´Rîê9ùROGSv´PªÙÆUÀ	Ï}W×äGpõ”»º=|àÜ?k‡žòÒ:E‹‰¿<I¼kyaҔͷ™ÈãØLùËæUSȅʖ޼w¿hוœ„uÏ2£Ö%pV¸Úh–-®Î{ï/†®a4UüõK]?•v
s©ÙÓ÷'§ ¯Ï5yº{¹Cëy%˜]µãÜ6K/$h¶™×Øvõùw—™'†®²®7[¹uíXÐáÓ¡ll(àhöe˜p«Lñ9²wAái”¬ùñb)SgG'jï±[^ÏtÊoSL믰ãhùàfÆ}œ÷Þj®!Ã0*þú¥&‹šïqï¿ÕD‘T!ÍOÝ·¼ÇÒçö{>ŽÖŽ£œõê»çr¤X*‰òQxÝÏðÀE—'
ýãvLTôè¯=ý½Î}8Êð¹ˆH!Ë¿¶ç;¾uf×gŽûÔ­wˆH&Šñì¡}Փˆú-q»¾ìF³Å}µ¾ºÞ«þüíáDDráÊ!k
€ˆt.ŒQ9?ÿ’Á1k|2°wπøyD$àšð-šwì½õFÄðšæÊfª5«Öñµv´w_t{§xҔîSã2«ÖuŸ´p·mò¿[[³&Œh;êUV†mgìüçûö&ìÛ·ùò¿"%&æM;
8òÏ~&ØvÕå>³=ÛvÊ3—³ùêêëÔÑÕý´¾Úã·ë7§Žîÿ¥MA’}÷e†@eS_²X¬—‰¥ÝWµS?¿ø~êA]‹Û Ù¨åwF-׌7÷ZußkU	æúöüÃo5£&‚ù[ÎÎ/j(S;Í 2ÂâØ-Ûs¾Èa´ªøç_@YÂù—`LX¿cÂú%Ö/À˜°~	ƄõK0&¬_€1UöõKe
ú:lQNë˜m+s—Íá[6é0pÇ_ñªUiŽööv`ÿ¶®f<6—oÞ¨ëêg^b=€Êþü†B–5ÙsïŽÇ±ÌnN^~žXʓeß¹xpúÐfù7^ÎkfWØRï€ýzNí¶;ìø°6übÖíâ´ÈÓÕhÕ§SCýAýJœÀ‡L
43
 ª²¯_2îûx$z{8”3›#°í0hÖ¹ãÃVÜfà82ÍØR½¶SH^³xî$÷Ú
go!"‹•ý"¸³m½¹D$L9ÓÖmäáS‡†µpö¾ÊtÒ䙹.ô¬bγ¬ÖpÍÅ$C šëbmb¶urûñLárì@³“i""¥4s¨gRµlôÃù—$ɾ1x½ðŒw­¯Vï´"ëÅfg<¾nAsBŸd©ï¬ì–8bÎÏ~»o‡HºÇOœå‡<Kytٛˆ‚‡Ï\ò÷ÍàƒÇïó\7ªp.­Áatx£Y1™y7º­õÒòøq­	‘_l–\.ÛÜÁ{ül&² ŸÓú£±D{d½SÿïôLª–-€~X¿¤À	«)9"§@ë«l^
¹4]¹«çäK"ª=dýѯÌgÞÜ÷|Œ2¸ÐïßqN–DÄ·msüÐ4&Øsú [S¾“³9ù%ôUےˆjö\—›°ƒi 5HD&}aÁå6â#L;a`J®e„0Û͖ôð9LD‡×Gô[ì¦RÕlô«øë—º~*ݳýø_é³Zk5*κγh¥ÜUüGפ-&þò$ñ®å…IS6ßf"aÙâê<õ÷ÙQ%ò8v'S³²yÕr¡žà»Cc[+ä"¦†}=|ÀH¯ñÃûtVÈ%LÐÆu%'aݳ̨u	œ®6ú'uÔÈ@—Š¿~©ë§Ò®a.5{úþääuà¹æ Ow/wh=¯Xóšp«Lñ9²wAáInfÜÇyÚG¬ùñb)S¶fG'ê	–,)­ú6[¶?øÀ¾=»g¿kñ[^ÏtÊoSL믰ã˜|ø¤ŒŠ¿~i IAç¢æ{ÜË-,ER…4?=tßòKŸoØïQ¬y²ük{¾ã[w`v×{՟¿=œˆH.\9d­f{Ÿ9îS·Þ!"™(Ƴ‡—ž`ɸþVd͒äÆ-õº2ØþÝ5Lý–¸]_v£Ùâ¾ú3Ð#ICYܟ¨œŸÉà˜5>Ø»ƒg@|È<"pMøÍ;öÞz#bxÍwçªÖ¬šãûöm¾ü¯H‰‰yÓNŽü³Ÿ	öøíúÍ©£ûigSdß}™æÔmW]î3Û³m§<s9k ž`‘´&pv˜]êL³h´þT¨Ç¦Ï•ú/ ºº ¿“þLô¸ë¦©ì÷¿TmàÔÏ/¾ŸzPWc­¾=ÿPó¢nÇnٞóúÆ1Ìßrv¾Z7mAՎZ“Ñš€Ûčq7îì{¬Œ›Úy’	³	ÅRñÏ¿€²„ó/À˜°~	ƄõK0&¬_€1aýŒ	ë—`LX¿¬øJö>ôª×Ûè™@ePÙ×/•µ×ë°E5:­Sª5ciÃ4Šž×uF­×™QõŸ‹¤Z$"+sA‹A_9´ßèoæè{@¹&¯î
‹Õ¾ä
44
yiOÖ/‰ˆ²¬Éž{wœœ[D³ÿ¨m‘(ýlìÑñ‘ùReci~äø£±gÓEºFËɅŸ:ô{ðñ“{vûÅÀTAWž«}	\zZÚS@…TÙ×/÷}<½‚=%ž+/ñ²¬ m¯ÊÈãÒ
45
d—óŠìëú¥_Úoåî\k¶­“ۏg♋ÅÊ~ÜÎÙÆ¶Þ\z1Um(‹5gʌq#¶ûbÂÃ<õ5QÕöÊmqƝ©ýÛX™rÍíœú>É7Tmpž™kàBÏ*æ<Ëj
×\L2èí€Jë—$ɾ1x½ðŒw—ODD)—¬Ù?ðž˜-S‘B–5éçö¬.¥ÙW!špm•»~±Yr¹,lsïñ³•Ágù!ÏR]ö¦ÿêfÕÕSU«¶Ÿšší1ìˆ!™¯èÔW4Ä757÷¼O×mvۓÞ/̈́ÑáfÅdæÝè¶ÖKóñæïÁú%NXíHÉõ$K=’.¼î´%´+bâé8"Š;51Ҥ奀ޝ/è[ðcò‹
46
žW½ójµ—\'ÊQîöœ>È֔ïäl^d&ö"r¼öõŸŠlLD~Qþ“»šrø'þ–—¤µÍ†I_Xp¹Í‡øÓN2&TfýR×O¥[c¶ÿã«1}V«V£Š÷9×ÍÙ]ëÕ;´{XÈÌ¥
47
Rü0ó°ÝëÖïšýò–ž^º=|àÜ?k‡žòb"ÂÔ°¯‡é5~xŸÎ
48
¹DÙґW¼ßÇ´žTmHËAö‚»®‹eÿ˜gá4AOKÛZ!×y:)ƒSs|ÜõK]?•v
s!òýÉÉÅëÀ¤ ¯ú%›ë\†h§iÏýÿµ›8í4xú°:Šü~¢ô©D«tõŠºvL-2¥UßÏÏÆMkn—çÔeŽž¥
49
â讽ò#¸ænjA‹%QEDï®
ßü§O‹®=3µÜûü~õ=3¢â¯_hRй¨ù÷r‹wŸ †¼ åÄÁݜK,Î/§î¿sÑé_8,⚷p<H-(ƍ~®¿Y³$¹qK½®¶×y½Q3s®¸ö3;DDQ×òø‘‰¸
50
¸Û¼!¢>¶¦ßŸ}*eY;DÙ~Ùÿ|Fþ¼ëA|vÜ¿gÖ¶0<U­pþe!ŽY㓁½‡x”`"Qú9žmfÛÞ}iðªàšÛ3»}lyçÒEôþ	z†:»eÎÂ.u
iê·uö€ººšý2nU{'kÇNšF<É' IDAT/͚1cìˆSNÔ½¸§/9´nüÊ.µˆhëïÿœÜÖ¼J㩃”í­Ì­ü¿ØÜÉÂĄcWËmÉþ'Å;x€÷•Å÷ã,«Äebi÷UmàÔÏ/¾ŸzP³™æ®Yµ	¹É”»#–PnïNÎ%¢ñÚÒК›Ûčq7îì{¬«¥ÛŒé3vjv'¢Û¶ªEZ~½#ùëDäÔwéÓ×K£¿Naþô	yäS’'>8ìÒ¾¿÷ØÕIUgÇ#7 HÿüKÐïèôvç]æ.áYÓTôìÁž•ûÇÎ>%_¸<V‹àüËÊ΢U¿Øc?6­niY­á²#Ù§ïøØÀ§
ë—J	¹ÏôU}¦ë¼Â ¸°~	ƄëÇÀ˜°~	ƄõK0&¬_j׫^ïÒֈÊIj*ûú¥²J{¶¨F§uʸ\QŒ‡:–ŒðÍ!‹u荰”Æ÷êÞ°”FÐë—DD
51
YÖdϽ;NÎUF.½-îtâ´È#ƒÃ¢2
lÿ4ÀgЯ|žw"§ºòìÃG(®Ê¾~ɸïã‘èìá `vß{J¸BøóšÅs'¹×n8{CÈûý俵p÷M"¦œië6òð©CÃZ8{ßNUŽ“ý"¸³m½¹¤aã^ö™ûE»6¨Y,֜)3ƍØî‹	ó
52
ô•tM­~ e¢²?œˆ$Ù7¯þóº‹2¢P(”eٝ•Ýǟû¹®õªUw¿šyÿ]¹pûòªÙâÓƈ‚‡Ï\òwĨږñç&6µyɋ™f'ÎòCž¥ä¥JÕ&¾9ôO7žíº×½~UE |iÕÖ{ŽÉóCÃz;ò*d”ž CëÔÌ!à
53
'({X¿¤À	«)9"G}]±ÐïßqN–DÄ·msüÐ4&(/H]3ë—~ËÖibÃDüúŽªmID5{®ËMØ¡ìÞsú [S¾“³¹Ú°O|þ·¦u^?Jí+r{Ž	¹^ûúÆOúƒú§ø(*þù—º~*ݳýø_é³Zk5–-®ÎS—¦téúèɾ³Ï²”‘DZ;™/£Ù¼j
54
ù»Kv5ú2~;Üfº£9Ùº®¶
55
üU³Ç´žTmHP×ÔEÅ_¿ÔõSi×0—š=}r
56
ò:ð\s73îcS?÷¿t!ôÌÐ!ws$L¤“5?^,U(
57
…";:QbÂ7‡vGì`ŠB–	ïêË@Í«Èò#¸æn†õL-Å×ãPæ*þú¥&‹šïq/W½”\ïUþöp""¹p吵Lp|k6ßåÀ…£»}“#S‘Ï÷©[ï‘LãÙÃKÿ\O|’rÿÉIبúy‚ˆ(êÀâZ?ê	º
58
¸Û¼Ñ3u3s®xŠáï€Q”Åõ=åüüKǬñÉÀÞ<âCæ©Æ{üvýæÔÑý¿´³)H²ï¾Lõ%«º£OÏ»ÐqúG;Ç´]u¹Ïl϶òÌå¬Aþúçò	ˆúi‘©r×Ôn@TÀrZqÙ5c†(#>:·îÅc}•m4ƒ‡ÖïߥÖôl‘®©ƒ~×µ½ÓrûvYIa†¿¨²_?®ÚÀ©Ÿ_|?õ8‹c·lÏy]]ŽÛûh™æo9;_÷દä©îr
òR*wwlÛªÙE3ØòëÉ_ïÐ55¹Íؙ>c§ÖJÖ/´{w¿èF ¡²¯_håëýÃÇNàS…õËòEkΟâ|ê^ƼúØ)|ªpý8SÅ¿ÿ%”%¬_€1aýŒ	뗥«§P9UöëǕ÷0z¶¨åB»ä°E¤qc£¨£Þãûý“VµAëéK–yµ,qJð©ðß¾ÿc§P|½0úÝpÿK""…,k²çޏc5_Ê|ê×~fH`Èí¾Íª¼¼}zÒÀÎõcVVµd)Iœyú£­útjhSJS€fOû±Sø$UöõKÆ}D¯`æK‡¼Ö9>°e
"jØqøÑ“!MÇï]ýt¡ú[ç
_¶+.›uXðøÊJµWçºXÿö*×Ú±ñÿ¶[6 
t0›•>ØÞT”vÒ®áÎü·§‰H˜r泋w«eÒÔùWŸ/iWZU,¨q«ž;€Rôä~hi‹ó/I’}cðzáï.Z_õ}’¾¤må®Cë…Ùq[4›yÌó÷¿'çj—Dä›%—ËÂ6wð?›‰,èç´þh,ÅYïÔÿ;&<|撿o<~÷˜çºQ›
I ¼Áõã8aµ#%Gäh}5V$s1}·ÊË1­+'j6ëçh~ðìõ™¾\'Êa¶›-éás˜ˆ¯è·Ø	ú%ôUےˆjö\—›°ÃäʛŠ¿~©ë§Ò­1ۏÿñ՘>«µÖ†®Nxî»Ò³ ?‚#¨§Ù,àþ_¶×}jÖj³ùJ²ÚKÂÔ°¯‡é5~xŸÎ
59
¹„	Ú¸®ä$¬{–µ.³ÂµðTËDZ;Y,‹Åbóª)ä’5ÀÇUñ×/uýTÚ5Ì¥fOߟœ‚¼<×d^cÛÕç㕻‰¡«¬ëÍÖlÆ·mýöî;¬©{ø›
‰lë@¤ND‹‚¢VŠZ÷ÀAÕªUêÞ£êm­£Ö…UµV¬{cԍ[i¨×UQAˆ"Fvrÿˆ÷˜†Ùü~ž>ÜsÞ󛟇÷þÎúíÐõÈ}ƒgöíkphl‹Mçï	Ù»{çŽ÷Ù\ûõ-Æþ>Ö¢ÁB{î»ß‚· A®ÒjµZ­Vcd•ÀüUþõ˽ïLôŒÞw³
¯’ž}qt¿?oÅ*U²‡ïôñ;óŸà!ù5bý©›FùV·íbÉÛñšˆ®¾‘Ù°ÊìøŸý.ù:¼„¨ç\·«ó¯5Óƒ‰Nu·é6©e±:ù|ðæÏ¿Ã6>ÜÍkÀ†„sÓõãvM¾¿±)sä VC^fÖlÔjâ¶ÿþäᐷúÒNM®Ç•óÔߏë"VŒðiW{‚DvzãÔ^íꎯâº24¬÷Ú/™*N>3‰.Ïôqb"­_ì>e@+Õw}páf`>ö÷_êpê”ÐÓ0HDÍüßó[lºyGÍûw¤ùw[“¿ÛJDn£ÖďZó.ºûSÀ¾·áðؖ36žžaº'óVù￀²„û/ $aýJÖ/ $aýJÖ/ $aýJÖ/-åÊêÆÕªØ×lt·kýn¥Ñ)@Eñ±¯_29hJøìšÞ+˜xôá€ÏÖäsùN½–ìýG¿Êȯ~î´õnÊÃÝFw5ZM‘l-²ôèûÍ·ƒûõúÃ,Ã/Ušæ×±Q‘û(Aû÷{t´êÌ1vm}§ÛÍxÔfÒ¹às·z4ýäÅ­£û´U6ˆõÿ¼©¤OΥˤ}ñٔw—ˆþzf¢#yZԉók¶èîÝÈ6ïѬ\ÙýÐDôdÿÐöV‰ïÎ-ð\iߥ§{^ Ô|ìë—:÷{'ù…ô®j©Û=à·ô«Cûû4¯ÍãZ4úbàáãC֏إ;Ä6&"KK·ði°Ëb±Þ_”×*‚—/3m´û§¦üzŽˆ¤©§Z¹
>z ¿‡sÀ-±‰ñ¸|”ÀìN«cÃfsìœÜ–œJÐEX,–äyHkg[»úÓèÿ«°ÿꠜàþKRH®ù®”ž
60
hÇDV?~;·Õ'ÌnUÏY’øºm]ΪÕj™¼»:·uH4uyЎ[÷÷¾ºOD!'ͽy=dÿÑ;G¬²ÎĐ´)›gÇìÅej4êðu^#¦0Ác§çž¦>¼wåë—<Òߑ’#õîwŒ“©ëX¼¿s€kQO-O*lﳂþîdED»–GŒ'¢ ÄC>µ"¢Z]Vd'n5>f""Š™^£­¿Á¡Æ}VÈÒÏ1»]&ôµ³89‹
61
;0€RUùï¿Ìï'SìÆ·[ŽN^×¼»êeºOKîýlek+ž®€27’kY¿°½‡Kä5øÿJßÅmc±Þ¥•l®µÑZ®íû{VWŠY
ÂBýt©8|֔eb~UuÊm­FÁ”tä—Åÿ7(¬²È/Ëwý2¿ŸŒíýë­þÅ©ŽßÞÑûüÑôÆvþgN¬§+¶Ø¦þ*$7!ïQŽÒ]Äc"Þ6‚=©ÙN|åÄe­}åˆAdl‹_žŽßÌ>+~ýá:SMô¨Ò·_@yÃý—ïŒÞw&zFï»ÙJ"<ûâè~ފUªdÿÞéãwæ?ÁC
62
ÛûJ¿3¶Ü'"ÒH}µŒˆ§ºÛt›ˆÔ²Øü
63
ØÎÕ72–B™ÿ³ß%_ËüŠ5ñÖßO-ì J\å_¿, ®°ññàn^6$œ›n×äû›2Gj5äefÍF­&nûïO…í½ÓïW¯êóµ½­ò•CÇùDÔjñÅîS´òÎiX}×°Ó§öjWw|ו¡a½×~™_±}«†·oã´À¡uæ«ð Uþû/M—Ñ/àÔ3(¡ç»íf~‹ïù-þ`»,®ýügÿU“m9cãéÃmԚøQkÞíì~”_I·‰ÛÞNܖÛeϏ@IÂý—P’°~	%	ë—P’°~	%	ë—P’°~	%	뗻®õ»™I#%«à¿ý¢ý;1Ã)˜‰}ý’É-RÂg×ô^Qä¾Ê‹Åò¦¿[„F4ZMjùulTüFÖ"K¾ß|;¸_Ï¡?<ÈR§©2먘S¨Ä°~ID¤UgްkëñiEî« äiQ‡ö‡„Gg”`›k,*f½+B­}—ž¿FV®ì~è?BŽ®é“ܥê"´PÀs[üŽÅœ2@%ö±¯_êÜìäÒ»ª¥nW-‹Ü«ë·#†uë2ü~ö»U.¾Ð%xրOD|«ê–^x¥j)3û·ë5xø”)SݪðuAý¼–Ù–¦žjå6ø`èþηÄÌQÉóÖζvõ§åׯA³N¿–’7>­Ž
›Í±sr[r*AéSUx<MFD²´ãª}˜Æ™ÊÓoóiimÁÙ;ù8zuX~Méª0uõ)ø©3Êåë ´ˆ³0ڔÑskšAGúó2Ø6zZô§\ðÙ|$°~I
64
É5ߕÒSí˜È™Q]_ÝúÇî=»ç|ӕҘû®“c3r®mè°Ìï]ðÂø/o}±æTHðïëVD昺Þ2pÒܛ×Cö½sdÀŠ!ë˜ø±Ó‚sOS^ȯ_ƒ2¦_¿ÈLUžD:(.S£Q‡¯ó
65
1E™ÙÓiåá8"Š;´ÒÉçG]P?_èÝCöÕjqvöÙÀN×®Úîø¡K~MéjiµZf£§Î(­FÊæÙ™˜…Ѧò;·ïÈ£§EʟÀG‚EDZ­öñ½°õ[öL?¬°õuµ·èR
66
c+,kk¿®[.Eþ󼛃….ØÜJ°/5§±«–½°¬ú•"û®ä»tJÉá×Ш¥Däi%Øø*«µ_¿³¡¿Ý¢Þø{/¶‘F)æWi¦’§èŽ&ÉՎ|¶é~õË^«Õž™ÐdŸ³Á½õûÕѪÞr55j9½šV¿ï'éÏæ/i`÷&ôùÚ&ö#rØ)
67
µ5‡¥UK¸‚šjUN~MÌQ·à§Î`"­–EÜ¿û߄#òëÚhSùÛ¼ØF;2ý‹Ëï´ä­•ßì ì=¾&öìz©%/m¸{¡^]ç±/
Uô?pñø^˜ÑÿÔ¸E]ö¸~spRR’ÁQn	
Ï£éË ®~y2n|»åèäuÍ»û§ÞY¦[ðŒÌU6´äG଒F6ȱÑjdºí9Jÿ_7íQÜ6k«n›Íµfâú‰c~ýM.];6§á”Ü—¡LD*Ÿ5e™˜_Ur[«Q肶.‹¸‰ÎO3­Hä¾t±ÍÛN_ˉۯîãõÏÞéUœFšhʄ‚Ÿ:®íû{VWŠY
ÂBý
68
Òµ~SùÛvdšÑÓb”‰Ù|TÊ"¿,ßwXê_ÃÍ{=—ˆ¶÷¯C´ú§:~{Gïók@DŸ	yqrU®Jú˜kÙÈH£ÿ×HȍÌU6ñôƒ\K¡%>‹ˆÞ?bìm#ؓšíÄçQN\¶ÑÖ
69
Þ³t	Y þfïs&2¶E/OǏofŸ¿þp©º ›k¿ ¾ÅØßÇZ4XhÏ5’°®;èѾ“åDmm÷î\þÓDS:*-qó܀P´)Qô•#](ȹ5ÑÃè/Îèi*óý—…2zߙè½ïf+‰hAgǀ›b"J8³Ð±ÓBµæ·¯ùãîÇDDZìngñÓé'*YÆ¡e_1ÁÀ©îã6Ý&"µ,v@'ã+gï׀ëØÃ"ÿñÌîÕ72–B™ÿ³ß%_K&Þs®ÛÕùךÎéa|.ß^¾="AÿÏé>ŸV1ÝTSoýýԜB^ùu—ÑsëbÉÛñº 1%þ⌞0¡2??^(\aããÁݾ°ˆúìU/9l„ߨ6§øš¨ÕÿàIÇ?‡ù1eÚû;6íýéä˜V¢Oï÷e‚­_ìþØ¿•÷—;Žê¶Þø3(ï×Ûrím˜½Ó§ÎjW·ªëWŸmšÒ«wò™ID3}œŒ¶a-²^ÿèfNUØl®}m·¹{›hjߪá‹Û8Ù8z—Øòȯ뼌žÛ+F,jW» 1%þ⌞0¡,žï)ßû/ËLê‡h’"Öi3G)-œ€
70
Ï÷P)=߃õKxçð„ÖãþˆO—ª¤™O#nó­ÝË{Df§ °pÿ%¼S¥Eϸ#K>«aeU½ÑüC’w÷–÷ˆÌN@aUþçÇËLªQÝ',î>aqyÂìà´Ö/ $áþK(IX¿€’T™×/ÃcU?·Y˜Xä °*ÛúåӗòË7“2³•Cv&«I#(„Vœ§ž¸f©Á,|T*Õúå;1.΂/ÛÔb©U®6ªãw2RÒåÖì]a†ß	dr¾”ðÙ5½Wè¶­«ˆø<W`ÕÄ«ÏÖ¿Š<f€YY¼Ÿ¨°¶9qh{~‡ú|=&¿CwïÇxµl(ϑ­½š‘ž£nëV-A"x’¨'¿È’æÆ&¾­ëdoPE«Î3`×ÖGqºÝ¬œÜ¹Š¯–ܾ°B¿¦¹×^Loú®Š<-êÄù‡5[t÷ndkzð/	P)™éû/æ‘&òΈˆ'ž®k®dJê^ö	v¬X–)'•Êš¯ÐˆÔÓ×D…®nkPë^`ï$¿ÞU-™ˆÏ!²óê;ùÌÑ;Íož5—ˆ¤©§>÷˜Ó¸CƒK£Ç͸ülnëjDÔ§ªplô[_YÚqûFÛrߜȯ$C-‹ýnÀxIÕâ$Và±íUxDÄb±¦Œ™ ÉJzòÆa[èÖf"^aπY©÷_F<ˆrwwí¿GüŸö֓:Úf«ØÙRFÍRÈÉ/_ENjEœÜèØ8ƒZ
71
É5ߕÒS팶YÃ{aæóuºí“æÞ¼²ÿè#VyœÙÓiåá8"Š;´ÒÉçG%gFu}=vë»÷ìž/ð|Œ‰/Þ´!8äľq’Þý}p²fÎÜï¿ü ŒŒt÷fMˆÈӑGÄÊVi•*ÒjY¹REڛ¬ç©¡­å­^;ÔwZ°ñ¡~Åà‘þŽ”™¥4Ú,‡_S£z«ÛJì1äS+"ªÕeEvâV]°éܑ‰èàÊȞsÜL”dÌ?™àß݉ˆª}>7ùò&îÀeQße)×~)æÙ(wæ»~Éb±t™
ý֘ˆ€Ï‹Ž"YÖPOۋϥ.K©!™J““+ò"õ­Rm#bmüÞëÏ'ogé·ãÛ-GÿüæÛîþF“_yæU~•ºíGqÛtcàð«k5R]ÐÖe7qÅӌè‰Ü….¶&J2"s•
-¹DÄ8«¤ÑG¹õUҘŸ'ób¾ë—Z­VW‘ÙÐo‰X
72
EÊjMüÏ&§=¹éQ¦-‡­fq$ÙÊë÷’íDAƒ©îQƒ›­bun¤:þ’ig{ÿ:µº¬þÅiŸßÞgy{²cAUÏéºmoA‚\¥†$&IdsíÔ·ûûX‹í¹l%Ÿ	yqr©¤¹–Ž*s#y"·"œ(³b¾ë——®!oëÍ%
73
Ńøôg‰YâW™K‡Õ=8©–w=5‡ÏçhVI;coÅË5¨;zߙè½ïf¿»J.SiU¹oÃv/èôó³_÷ôÖ§ºÛt›ˆÔ²Øü˜º=çº]­éœLÄhIKÞæˆ×D´ ³cÀM1%œYèØi!SK©%"ŠÞ;§vï÷Í*(3}~¼Pu[;PØsej¦v|_ç'çõu²iiMDj…ÜÎZt$uóyŨVÛü¬r…wó°!áÜt"²ä±Uª6û¢Û¦k‘k‰teZ-¾Ø}ʀVÞ9"
«ïú`¦®“ÏL¢Ë3}œ˜ˆÑ’VŒðiW{‚DÖg_èqߑÃv~’ds:ԗ©5yâDYzBLv½GÞ§ª”9¾ÿ’L¾ŠÈ¨.õy÷“U÷¢r؞Íÿßð“$á_ë(̉ÜÕÚ ¼þxœz%ô4þÛrÆÆÓ3ò„-ì{V1V²ùw[“¿ÛJD\aÓ]Îçm~ëæM¦æP¡˜ãú¥‰—¨›àQ“ë`¡ˆQ†ÜHìå0zCʳè”Ë¿¹ãóŒeÉÜï¿,TÝÚv¼ÀANÄ6®S¯ñ^Yëä Œ™ïóãE®»Ô—ûä÷Æ66ÖEî´,•êËAÊ^¥Z¿€rW	×/ aýJRe^¿UýtBÞfab‘[€Âªlë—O_Ê/ßLÊÌVٙ¬&H Zqvœz^äDÙ/²v­ß­Œ{( Jµ~yãNŒ‹³àË6µXj•«êøŒ”t¹µ{WØë¼…£|Þ°&ŸËwjìµdï?L\%{Ö`È)ƒÂ§†4x&Sm
74
¥A£Õ¡–_GϞ”8sü~‰÷˜xõúÝû1^-Êsdk¯f¤ç¨ÛºUKž$ªÅÉ/²¤¹±‰oë:Ù3…3¢×µ™t.øÜ­M?yqëÄè>m•
bý?¯FD²·§ãûGå¦4¾;9ªÜ¨‡ã¬–Ms¬RðY‘<-êÄù‡5[t÷nd[¨Šô׋°"t´ïÒÓ½%;€<Ìtý²Ï×còþg¢|DÄO†k®d®¾‘ÛÏ˾këê)ٔ–)'•Ìš¯‰ÔÓ×Dé—ñûå«Cûû4¯ÍãZ4úbàáãC֏إ;”“tQ­Lù[$SøÑš‘iJõŤÝî´:6l6ÇÎÉmÉ©„<ÑìÿiȬ׉Hšzª•Ûàƒ¡ú{8Üç3‹Åš:vâðÁ}Zwù GÉ%ÏCZ;ÛÚ՟FDjYìä^]¿1¬[—á÷³ß—Ñ¿"o¼#­"xùÒ9ÓF»Úhʯçèÿñ
ꔸÊpÿeă(ww×þ{Äÿio=©£m¶Š-ÕhÔ,…L‘üòUt¼XÄɍŽÓ¯²:*}n«O˜Ýªž³$ñuÛ©%Z»:DŒ’¨µD¤UgŽ^áàjøWª®@P\¦F£_ç0bŠ~›ZtóÏ3-¿Ý8ú"
75
8iîÍë!ûÞ92`ŐuFG¾xӆàûÆIz÷?{šúðbÕõõØ­ìÞ³{¾Àwð±wý;_7ÚÑíE’M]´ãÖý½¯nÅ3µ´Z-^ù¥ÊL×/.##ݽY"òtä±²UZ¥Š´ZV®T‘ö&ëyªDhkyëŸ×õl|ÈԊ•©êX¼¿7€kQO­HÒm¿:Ÿâ½1̃9êD<ҎŠb7ÿkÃ)ç_é÷Û¸Ï
76
Yú9fW£/¼ªçü•_5yw…:(±ÇO­ˆ¨V—Ù‰[ÞË&¢:¾ËR®ý»Lèkg!prÑü“	þݝˆ¨Úçs“//1ڈюfý3ÜɊˆv-ÿáóP$Źüg¾ë—Ì•\ƒKºLP·+àó㢣H–5ÔÓöâs)‡ËRjH¦Òääʟ¼H}«TۈX¿÷ús„ÃÉÛYL#.–\ær3)s#¹õuÛןKÚׯ`Gÿs“~֒vÞ¤óýwì¯× ½äÅ
"’ŠÃ¿Øk°ßˆÝÛj5
77
¦…±íÚ?|¼ûôÓL&ò(n›nä~u­Fjb¦\‹ú*i³ëÈÿK‰ÌU6´äG଒F­n´£p‰¼¿,~¹Ìwý’¹’kpI—	êv-…"eµ&þg“Ó斖 IDATžÜ¿ô(ӖÃV³8’låõ{Év¢ ÁŽÇÆT÷¨ÁÍV±:7R©«5½±ÿÙ÷wO¾ú{‰M½Iºí3鲞öuìÈ<þ„``pÿºö=eoOÑØ=šÎß²w÷Îÿº8þåúkû·ê÷՝¬wI§· A®Ò
^“db¦ÊÜHžÈÍè¡Ï„¼8¹ŠˆTÒÇ\KãOíÈMÈ{”£Ì[X…kãPÊÌwý²àÒ5äãíbÝ¢¹D¡xŸþ,1Kü*sé°º'Õò®g¡æðùͪ#içbì­x¹º*ƒg_ÝïÏ[±J•ìÑÅ]½†œš¾{(i”©Šªî"±¸«Bgm±mö‰U\ñDUb¥æê™
K¡ÌŽÿÙƒ%3†žU9‚:{ÏOÚá?Yj-Nu·é6©e±:ù¹RKD½wNíÞÆ¯}/èìpSLD	g:vZh´ŒÑŽVú5˜±å>‘Fºè«eº`SoýýÔB[€Â*‹÷•öû/[;PØsej¦v|_ç'çõu²iiMDj…ÜÎZt$uóyŨVÛü߯Ú5ùþƦ̑ƒZ}ó2ƒËÒ´XvõçU‰Hööß®»®ŒƒûÏ!‹]5sÐív·ãŸy+;½qj¯vuÇWq]Ö{í—#±®7ôÄôó_LØûpÛ·­_ì>e@+Õw}°Ñ‘Ož8Q–ž“]ï‘FôÙzÜw䰝Ÿ$$ٜõ5ZÆhG~¿z}ÜPŸ¯ím•¯:Î×÷­Þ¾Ó‡Ö™¯Â?xVŠÆßI&_iT—ú¼ûɪ{Q9lφ÷.˜$á_ë(̉ÜÕ:o•f~‹ïù-&¢K?~î»é·›ƒ?kSÇVX}dvòH¦Ì ƒ˜íÉÙDD£ÖďZó.´û‘îõg×hø®‡Ã‰ˆˆm9cãé&‡½uó&ƒˆÁ‰â
78
›îºpÞ°Œ:‹Í±z¿o¬#×~þγÝ&n{;q›É—9®_š~Õe~<jr,´1ʐiƒ½FoHyrù7÷^ï¾Åá?Sº}öôµsVú"t]–4Š¬Ë»'ÚԟVÞ0ÎÜï¿,TÝÚv¼ÀANÄ6®S¯ñ^YëQ ê,îà9ëî>M2ÿ䒈øVŽÓ÷ª\œ[Þ0Î×/‹Yw©/w©oã"÷XfŠvZTò¬(?•jýʝù¾ÿ²øu ìaýJÖ/ $UæõË®õ»¹n1».`Ëe¶:k´#¬
@i¨ë—onû´rò9<Èµ½?×h5Eî·Pò&jHÝà£UÖ/{v÷Ùì}é2µRžóäÊ&þ׋°"÷k@žuhHxtF×-
ZMןŠeå=¨œ*Ãú¥ZKSû4ü{*,‹ÉMy–õ®ì˜YÏ^X½AûãI9âëë›T¯bW»ÙÊ¿^1…§Ž8|pŸÖG>ÈQ´/M=ÕÊmðÁÐý=œn‰5þÖUËb'÷êúíˆaݺ¿Ÿm8€>U…Ë¢Ò‰H£xÅb±Ž§ÉˆH–v\XµO~uY,–äyHkg[»éG-{1¨EËWï‡,øÊèHŒž
79
ƒÖŒö(O¿=Χ¥µOdïä3tàèÕaF‡1­Ž
›Í±sr[r*Aùào*–ʰ~ytÏ´N}§†=ÎÔê'¦*Y얌RÒίí>¦ûšð×­î&¥
h½pÐ8¦ÌâM‚CNì'éÝÿAû!'ͽy=dÿÑ;G¬²®Pã/`Ý3£º¾»õÝ{vÏø>fptfO§ÕƒV‘"ë6­<GDq‡V:ùüh¢î±Ó‚sOS^Ðoêҟܙ¡?Nž¿14¿Á=ú­íq¡wÙW«ÅÙÙg;]»j»ã‡.F‡—©Ñ¨Ã×yŒ˜¢‹ä·‹ˆ´Zíã{aë·ì™2~Xaëëj5nÑ¥ÆV÷wÎ<ûàøàK?ô¨ËY,–.Ëd6ô·µ)‡k¥Ñ¨ôƒ*éaՊœHý`‹zãï½ØBD¥˜_¥™JžbлÑ$ØDݼkn%ؗšÓXÈUË^XVýJ‘ý@¿©·QÓ>[·4òíTáê^{.?ÚÝ-ýÙü%
ìބ>_ÛÄÞh]‹•$W;òÙ³þÂÆbã«,wÏà´ä=i§B¿5£=
80
9ì…ÚšÃÒª%\AMµ*'oÅ÷'Gõ–#¨©QËòÛ(¬Ç÷ÂĞ]/ ä%¢
w/Ô«ëü"ö¥Á!3ùPªß3úïÿƒ·è¢Ë×o·38jîë—ú-äýÉðµêqÒ«ó£Ç®»UÐ6ٖZ­Ú ȵ¨¯’ÆÅmÓ]mçð«k5R£­iÿ­Pu‰(2WÙВKD³JmpÔÖe‘³zÐjYZ̶©Ûñ˟fD¯Hä.t±5Q7oVGDw²M„¼ü†¡ÏàTè·f´Ç¾–·_•«•ÿÝ;½ŠÓH£¥âðïöì7b`÷¶ZÂDïF;P!˜û÷Çõ[ÈûS›÷ÉØÀC“EM¶}—Z䎔¹‘<‘›AÐÛF°'5ۉÏ!¢œ¸ìB5XÀºŸ	yqrU®Jú˜kÙÈà(›k¿°¡í´È¥K®ÿ¹Î³ÑœOùckÑ`¡=—ýÁº\„ÜG¹Ê梧˜FO…‰Ñ®;èѾ“åDmm÷î\þÓhű-z|y:~|3û¬øõ‡ëLýàÀüu®óÈ R1Ö/B«Î½²óGWѪ+µDDÑ{çÔî½Dq±ämŽxMDSÝÇmºMDjYì€N~…jÖh]¦efcAgǀ›b"J8³Ð±Ó¼íôœëFDÿšÑÀ?»:ÿZÓ9=t‡>XW¿£ÅkÍù#šˆ´êL£%ž
81
F{œÿ}ààåÛ#$ñÿœîói£¯¾‘Ù°ÊìøŸý.ù:Xæ7¨Ð*Æú¥i«{4[ðw”‚-ú̻סÿî)Z#“'N”¥'Äd×»pä]Þv`şvµ'Hd­_ì>e@+Õw}p¡š5Z—i™Ùè³/ô¸ïÈa;?IH²9꛷'Ÿ™D—P‡ˆê|ý#MŸéã¤;ôÁºú=úî?ê3¸û…æõì,
82
~*íÑZd½ö‡Qkþ3’ÅâØÖr°ì`À°ÆOoœÚ«]ÝñU\W††õ^û¥‰óWY<ßcô9³bþ#,3%q*4I봙£”Ɩ̘
83
	Ï÷P‰<ߓ””dpÔÜß	Åá	­ÇüŸ.UI3ŸFÜæ[»—÷ˆ |Tžû/¡|UiÑ3îȒÏjXYUo4ÿäÄݽå="(•áþËâ3ÿ–™"ŸŠîwŸ°¸dÖ/ $áþK(IX¿€’dîë—ᱪŸNÈÛ,L,Áñ@é1Çõ˧/å—o&ef+‡ìLV“F$P­8;N=/¥á@	2»õËwb\œ_¶©ÅR«\mTÇïd¤¤Ë­-Ø»Â^çW×ßÌGi½ŸèÄ¡íùêóõ˜üݽãÕ²¡<G¶öjFzŽº­[µ‰àI¢Zœü"K𛸶®“}éŒJF)¾ÿÒhi"xâéáºæJ¦T¡èeŸ aNJÕi™rR©¬ù
84
H=}MTè궦;VÇæ÷—Ù6Ž¿ß|f~¯ÚDÔ§ªplô[_YÚqûFÛrߜȯ$_Y\/ˆˆQîî®ý÷ˆÿÓÞzRGÛl;[ªÑ¨Y
85
™"ùå«èx±ˆ“÷Áv‚â25uø:¯€St‘™=VŽ#¢¸C+|~4QŠÏ,òˌŒt÷fMˆÈӑGÄÊVi•*ÒjY¹REڛ¬ç©¡­å­^;ÔwZ°ñaAlÜg…,ýœn»éܑ‰èàÊȞsÜL”€â+ÝïC<yÃ<èÃb±´Z­î'	øü¸è¨:ŸÖêi{ñ¹´QR£•©49¹ò'/Rß*Õ5ª°6~ïÕ¡¶¦ï¯Yþ“òöÂÑmHÅ᳦,ó«ªSnk5
86
]ÐÖe7ÑùiÆ ‰Ü—.¶&J@ñ•n~™ß“ãº8sÔR(RVkâö©OœK©5?¯_CÍbI²e×ï%Û9ˆ‚|„­k¨Äéòl•²s#Õ¹ð—ݽ™¦4ʎàSÝöØ=¾<?¾™}VüúÃu¦ê‚l®ý‚úckÑ`¡=—m¢$ŸY\'¢t
ùx»X·h.Q(ħ?KÌ¿Ê\:¬îÁIµ¼ëY¨9|>G³êHÚ¹{+^.}acñۍJzçÈ<[—ït\}#³a)”Ùñ?û]òu°dï9×íêükMçô`"ù•€b2—ü²µeH”1/ãû:¹“3ÀÝz^¿ZîÎ"5qí¬¯¦÷ûUæZÏêÁ6·/Z»ÑŸûlíÿÏÂþÛÕ©;OÓ5rzãÔYíêVuýê³ MSzÕcwò™ID3}œ˜H~% ˜Jñú¸‰WÕ¥>ï~²ê^T›Ã³á½&I¸Ã—Ç:
87
s"wµÖ/ìäóSdòO-¸Z?jÍ»Ý˜¸…}oƒ+õù•€b*­üÒÄKÔMð¨Éu°ÐFÄ(Cn¤
ör½!åYtÊåßÜñ…€ŠÂì¾?^ێ8È遨Æuêã5~Â+k=\T f÷ýq¥¾Ü'¿7¶±±.ñ@é1»õK¨ÐÌtý*(s_¿ÄÚ'@Åbîë—Å©«ú鄼ÍÂÄ"·…UÙÖ/Ÿ¾”_¾™”™­²3YM‘@!´âì8õ¼È€B©Të—7îĸ8¾lS‹¥V¹Ú¨ŽßÉHI—[[°w…½6(ɤ­)á³kz¯Ðm[Wñy®Àª‰WŸ­'èÖWä¹|Jñû=‹U¨4ÑćL¼¶ýîý¯–
å9²µW3ÒsÔmݪ%HOÕâäYÒÜØÄ·uì
ªhՙcìÚú(N·›•“›#WñՒÛöOè×4÷ڋéMßUÁ#JTùe’3£y¤‰¼3"≧‡ëš+™R…z —}‚„+V§eÊI¥²æ+4"õô5Q¡«ÛÔºØ;É/¤wUK&"äsˆì¼úN>sôN³Á›§GÍ-ìÈ>ræ¸~Yغ¢Üݛôß#>2ì“tµ6.C“-ÕhÔ,…Lžü2%:^\¯jnô³T¢å—
88
É5ߕÒÿ¦´3Úf
Ͻˆ_޹ßùAéî͚‘§#ˆ•­Ò*U¤Õ²r¥Š´7YÏS%B[Ë[ÿ¼v¨ï´`ãCýŠÁ#ý)92Ki´Y¿¦Fõ–ÙÅ͗d¾Ï3ùœAbÇu»>?.:ŠdYC=m/>—r¸,¥†d*MN®üɋԷJµˆµñ{¯?G8œ¼¥ßþo·ýó›o»ûM~å™WùUZ0»Úÿ+ÂD>*æ»~Éäs‰ÔíZ
89
EÊjMüÏ&§=¹éQ¦-‡­fq$ÙÊë÷’íDAƒ©îQƒ›­bun¤:þ’ig{ÿ:µº¬þÅiŸßÞgy{²cAUÏéE6ÀGÎÜï¿,ˆt
ùx»XېäøËñéÏ^sį²–«ë^ƒÒ3¤2¹‚Ï‘J»õÊ¡_Ç\ƒº£÷Ùüi﻾=«ðˆH¦Òré—þ6øçgcz—Þ˜*+ó]¿,xÝ֔!QƼTŒïë|äNÎwëyýj¹;‹Ôĵ³¼šÞïW™k=«ÛܾhíjP—+l|<¸ÛW6èv-yì*Õý´ïù¦k‘ƒj‰˜bxÿ%@™éú¥‰WÕ¥>ï~²ê^T›Ã³á½&I¸Ã—Ç:
90
s"wµ6(¯?§žA	=
ƒùÓÌñý—&^¢n‚GM®ƒ…6"Fr#m°—Ãè
)Ï¢S.ÿæŽG€²d¾Ï¡nm;^à §bש×ø	¯¬õ@r	PÆ*Ãý—–úrŸüÞØÆÆºÈ@‘UªõK(w•pýÊÖ/ $UæõËðXÕO'äm&¹(¬Ê¶~ùô¥üòͤÌl吝Éj҈
91
¡gÇ©çE@ña	>*•jýòƝgÁ—mj±Ô*WÕñ;)érkö®°×%™œ/%|vMïºmë*">ÃX5ñê³õï„"àcfŽßï1ññ¯^¿{?Æ«eCyŽlíՌôu[·j	Á“Dµ8ùE–476ñm]'{ƒ*Zu昻¶>ŠÓífåäæÈU|µäö…ýú5ͽöbzÓwUäiQ'Î?¬Ù¢»w#[Ӄ/xI€JÉ¿ßCùä‘&òΈˆ'ž®k®dJê^ö	v¬X–)'•Êš¯ÐˆÔÓ×D…®nkPë^`ï$¿ÞU-™ˆÏ!²óê;ùÌÑ;Íož5—ˆ¤©§>÷˜Ó¸CƒK£Ç͸ülnëjDÔ§ªplô[_YÚqûFÛrߜȯ$C-‹ýnÀxIÕâ$Và±íUxDÄb±¦Œ™ ÉJzòÆa[èÖf"Td•áþˈQîî®ý÷ˆÿÓÞzRGÛl;[ªÑ¨Y
92
™"ùå«èx±ˆ“gPK!¹æ»Rz* Ñ6kx/Ì|¾N·2pÒܛ×Cö½sdÀŠ!ï‚3{:­<GDq‡V:ùüh¢$ą̃®¯Çnýc÷žÝ󾃏1ñś6‡œØ7NÒ»ÿ¡NÀ̙ûý—”‘‘îÞ¬	y:òˆXÙ*­REZ-+WªH{“õ<U"´µ¼õÏk‡úN6>Ô¯<Òߑ’#³”F›åðkjTouÛA‰=†|jEDµº¬ÈNܪ6Û#2ð \ÙsŽ›‰’Œù'ü»;QµÏç&_^Âĸl"ªã»,åÚ/Å<åÎ|×/Y,–®"³¡ßðùqÑQ$Ëêi{ñ¹”Ãe)5$SirråO^¤¾UªmD¬ß{ý9Âáäí,ýöo|»åèŸß|ÛÝßhò+ϼʯÒB·ý(n›n~u­FªÚº,â&®xš½"‘»ÐÅÖDIFd®²¡%—ˆ8g•4Úà(×¢¾JSøó`^ÌwýR«Õê*2ú­1K¡HY­‰ÿÙä´'÷/=Ê´å°Õ,Ž$[yý^²ƒ(h°ã±1Õ=jp³U¬ÎTçÂ_2ílï_§V—Õ¿8íóÛû,oïOv,¨ê9]·ím#H«tÐÄ$é‚l®ý‚úckÑ`¡=—m¢$ã3!/N®""•ô1ײ‘ÁQen$OäV„`VÌwý²àÒ5äãíbÝ¢¹D¡xŸþ,1Kü*sé°º'Õò®g¡æðùͪ#içbì­x¹uGï;=£÷ÝìwWÉe*­*÷mØî~~öëžÞº`àT÷q›n‘Z; “S·ç\·«ó¯5Óƒ‰-ébÉÛñšˆtv¸)&¢„3;-dj)µDDÑ{çÔîýþ¢9@e¦Ïªnk
93
{®LÍԎïë¼ódâ¼¾N6-­‰H­ÛY‚ޤn>¯ÕÁj›¿‘ÕA®°ññàn^6$œ›ND–<¶ JÕf_tÛt-r`-‘®L«Å»OÐÊ;G¤aõ]ÌÔuò™Ity¦1ZòÀŠ>íjOÈúì=î;rØÎO’lN‡ú2µ&Oœ(KOˆÉ®wáÈûT ‚2Ç÷_’ÉWÕ¥>ï~²ê^T›Ã³ùÿ~’$ÜáËc…9‘»Z”׏SÏ „ž†Áa[ÎØxzFž°…}oÃ*ÆJ6ÿnkòw[‰ˆ+lºëÂù¼ÍoݼÉÔÜ*s\¿4ñu<jr,´1ʐiƒ½FoHyrù7w|ž ,™éúeÑÔ¶ãršw\µpêãÿ.­ecãQ€ZTÞø˜™ãúe1-õå.õm\–=GŸ€Äé7X2.>±TGðªT뗌‚$މI)Nµj”Á`>*æûþK¨ˆ*Ãû/À|˜ûúex¬ê§ò6qs@Å`Žë—O_Ê/ßLÊÌVٙ¬&H Zqvœz^JÀdvϏ߸ãÕ²¡‹s-I¦ÔÕFuüN†Bö¶`ï
94
{=ºW}ý’Ö"Ëz}Ý,åiœz+6/ofÅ#cÏ1£å d•V~iâ<&^Ÿ~÷~ŒWˆòÙÚ«é9ê¶nÕ$‚'‰jqò‹,inlâÛºNöLá¬\ÙýÐDôdÿÐöV‰ïÎ5=¤Â–€"(ÅõK£y¤‰¼3"≧‡ëš+™R…z —}‚„+V§eÊI¥²æ+4"õô5Q¡«Ûæ­èòuPÚ°zDÍ[
95
®,®Dă(w÷&ý÷ˆû$]­ËÐdK55K!“'¿L‰Ž×«šý,•ÈH~©ÕHÙ<»‚÷UØòPpeñ|Ïed¤»7kBDžŽ<"V¶J«T‘VËʕ*ÒÞd=O•m-oýóÚ¡¾Ó‚õ+ên´Œ™^£­?dýÛË@	*ÝõKÃôîÿOÞ螹až¼ðùqÑQu>­=ÔÓöâsi£:¥F+SirråO^¤¾UªkTamüÞ«CmMß_³ü'½oе}ÏêJ1«AX¨_Þ^òŽÁhy(A¥›_æ÷ä¸.εŠ”ÕšøŸ}êS#çRjÍÏë×P³X’lÙõ{Év¢ aë*qº<[¥ìÜHu.üewog]Åè+G
96
5žÂ–€Â2—û/Ó5äãíbmC’ã/ħ?{Í¿ÊZ:¬®{
JϐÊä
97
>Gx(íÖ+‡~sË{°/sÉ/[;PØsej¦v|_ç'çõu²iiMDj…ÜÎZt$uóyŨVÛüÝÊ{¤`J)æ—&^EdT—ú¼ûɪ{Q9lÏæÿï>O’p‡/uæDîjmPÞèÅ÷¼A&RœÏT@•V~iâ%ê&xÔä:Xh#b”!7Ò{9ŒÞò,:åòoî…ýÂ$”³ûþxm;^à §bש×ø	¯¬õ@r	P”E~Y„ÓK}¹O~olcc]ã€ÒSÏ÷0ï¹(×®ß)ï!|¼Ê"¿Dr	e¬í-X2.>±TGð2÷õK¬}@Ñ$qLLJqªU£ðQ1Óû/K¤.”=³{~¼ëv­ß­Èu‹Ùu¹(æ|JDeX¿|s+ا•‹Ïá	D®íý™¸F«)r¿…b-²ôèûÍ·ƒûõúÃ,¥.˜7=e"FËßçë×±QIõŸÊ°~ٳ˸ÏfïK—©•òœ'W0ñ¿^„¹_ò´¨CûC£3ŒÍʕÝ=ðGÈÑ5}’»tXõÁÖ
98
[¾€>8ß}—ž–T_NÏ®å=€EeX¿TkijŸæ‚O…Åb1¹)ϲޕ3ëÙ«7h<)G|}}“êUìj7[ù×+¦ðÔ±‡îÓºóÈ9†ŠÒÔS­Ü=ÐßÃ9à–ØÄH\¾J‹(øìò+oÓôúŸTá
99
ª¸uXô.¤U/_:gÚh÷OMùõœn̒ç!­míêO3˜¯ÑéèŽêøxè’K¤˜e£2¬_Ý3­Sß©a3õƒú‰©J»%£Ãƒ”´ók»é¾&üu«»IigZ/4Ž)³xӆàûÆIz÷?dÐ~ÈÀIso^ÙôΑ+†¬31­FÊæÙhb&Ë÷ž¾~ýõx•<ûÑ¥EºÈíE’M]´ãÖý½¯nÅë‚ÇNÎ=M}x1€ò$ây§£+ ÕjñÈ|lôÓJ¤˜e 2¬_~úÕÊÃ߈¦|ÙlõÙØüÊüñ}ï*|K÷^óÒ"ç÷ómmÉ´ºN–~Ž)àÀeQße)×~1¨”ØcȧVDT«ËŠìÄ­ÆÇIDDÑ!Ók´}(ëß>XžÑÓQ´ÿôÕ,õû¹Ï
100
úg¸“	ìZ=0^ì2¡¯…ÀÉY”·Óø¨äM(‘b”6sÿ¥~y2<F­züíìm³Y±í»Öj“m©Õª
‚\‹ú*iŒAðQÜ6ë]ZÉæÿd¥kûþžÕ•bVƒ°P?&h0kýÓhyƆ{Ï÷]­K–î;ù]‡šD.‘×àþŸÇ<‘‚Là£u÷Byà£S1¾ßÃ\Û5ø©Íûdlà¡É¢&Û¾K-rGÊÜHžÈÍ èm#ؓšíÄçQN\¶ÑŠÑWŽª#Óåvž¿ºþÃ¥À}û~'¹MDnBÞ£¥»ˆW¨^òNG¥%.n¿€Òdî÷_œV{e珯¢UWj‰ˆ¢÷ΩÝ{‰.âbÉÛñšˆ§ºÛt›ˆÔ²ØŒ,7–ëOÝ4Ê·ºí•~
fl¹OD¤‘.újÙëæ5ñÖß/zò
PcýÒ´Õ=š-ø;JÁ}æÝëÐ÷­‘É'ÊÒb²ë]8ÒC9°b„O»Ú$²V‹/v©±ðj IDATŸ2 •wŽHÃê»>¸äž¯¥š\!+ç©¿×E:ý~õú¸¡>_ÛÛ*_9tœÿÁòN‡ˆö­Þ¾Ó‡Ö™¯ÂKkèðÑ«÷_šöÃÙ?‹3ê÷žßöÖ͛ª7ÿnkòw[‰ˆØ–36žž‘ÿŒÎ.oÐèxŒš÷wÔ¼GX\ûù;ϰ}26"r›¸ííÄm¦»(¦Ê°~	`àÚõ;å=€WeX¿0Ðö‹–,ŸXª#øaý’¨"Œ°P*ÙtЦ ‰cbRŠS­e0€Jåy~́¹¿*¬_@I2÷û/ÃcU§©ÿ¾óúæb§|$Œ~m(Uæ¸~ùô¥üòͤÌl吝Éj҈
101
¡gÇ©çå2¨Ðò¦’H.J›ÙÝyãNŒ‹³àË6µXj•«êøŒ”t¹µ{WØkƒ’Ö"K¾ß|;¸_Ï¡?<ÈRšhÓ¯c£¢Œ*ý„É%@(­ëã'mÏïPŸ¯Çäwèîý¯–
å9²µW3ÒsÔmݪ%HOÕâäYÒÜØÄ·uì™ÂY¹²û¡ˆèÉþ¡í;¬ß›_³û.=Ý[ԉ@%u÷BÏ®H.ÊF)Þi44‘wFD<ñôp]s%SªPô²O°cÅê´L9©TÖ|…F¤ž¾&*tuÛ¼]¾JVOö¶¹sÓâ¤]º <ã‚}£9©ûuÄu?u+©A“z-Ù¦©Ú,ðø¹1îöD¤–Å~7`¼¤j
q+ðØv*<"â]¶MmúÃú²*uçüqq^WÇbŸ(7H.ÊLY\/ˆˆQîî®ý÷ˆÿÓÞzRGÛl;[ªÑ¨Y
102
™"ùå«èx±ˆ“g´®V#eóì,ì{líþÛË,]0åʪF“gÑÿsJ­VË\¦ñ˜þâ­ääB×½~ÒEΌêúzìÖ?vïÙ=_à;ø˜.¨”ÆÜw›‘smC‡e~F¿p†Ì"¿ÌÈHwoքˆ<yD¬l•V©"­–•+U¤½Ézž*ÚZÞúçµC}§êWÔ%ŒÑ!Ók´õ'¢žwîþþ²îЍågMv5Úݺ	ݬø‚6#6å$ë"óO&øww"¢jŸÏM¾¼„)ùëèÎUx¼f_Jӎ•ô¤*§ÒÍ/Yÿ¦'½G¹|~\tɲ†zÚ^|.åpYJ
ÉTšœ\ù“©o•jkã÷^Žp8y;K¿}×öý‡ì3íä§a¡~DÄ·n»ºæê¹šHókr—o>±456¶H«‘ê¶#s•
-¹DÄ8«¤Ñ†%96Z¬¸çàãPºï¿ÌïÉq暵n×R(RVkâö©OœK©5?¯_CÍbI²e×ï%Û9ˆ‚|„­k¨Äéòl•²s#Õ¹ð—ݽu£¯1h¹Ýò5ãN%¬ÿ"L5â?úq•–¸ù¿˜è3!/N®j`ÁUIs-ñ°9@ѕÅûÕ"]C>Þ.Ö6$9þòA|ú³×ñ«¬¥Ãêº× ô©L®às¤‡Òn½rè×1×D;<‘ÇŒ¸õ	¯÷ý8ŏ	6ñÖßOÞ¼z~µtv¸)ÞÞÁ1áÌBÇNKrbP®]¿SÞCøx½{ªúñ½°õ[öL?¬°õ‹VÀ|Ô«ëü"ö¥Aàà#aôßÿ5nÑE—=®ßœ””dp´¸ë—«æ³3„?pEVÜü²	/€ùÃ8€"3‹÷@¥üJòK(IÈ/ $!¿€’„üJòK(IE~9¦ïœòÀÇ¢Ô¿?ÞÊ»—Së/
103
”œš?ÌÓHX_<Ÿ5~Tà–Ì®†4eÐ)P¬_æÈG×Ì\¾hN»´1ã¿AEfüù³—îÅg›(sòn¢þîÎÐÀBU€"+»ëãuºLÉxz@·Ýijkvâ¥A>_}Þw=©)þÓfÏZ¸|ì¤OrUL™_–¬3gþ ‰+£¥ï‚²·ÿ4ð—³W.MûÆoKd†Ñ֚xvÕý4ØÈ¯zÔ¡
Ý;÷iÚ¦OßñÁes**±²¸Z­£Õ(XÜ*Ìî_×xێ”¾UÑÕE³ßöü­cõ×wýfÎõ¿‚ÚëÊLýiš-‡õòÜ¢‘3¯þ½¾#™µvÜîm½j
104
SÂWúÎ=6>tdÞÖ¢î^hâÙ5êîÝ!Ý®nÛhõI«Ž/ýó`[gë29
•\qóËõ[öO?ŒÙÖ±ˆâί¯Ú|ôð…5e]ƒGDAWÅ«T%"û¦C^ß[Hô.¿´å°ˆ¨V‡1oüu$¢?Ä­×QµÏÇåŠÇÌۚ	F«·ûÄâTøÃæN_ˆØ¬Î 2Y0ïEì˒m³Ö/WÌËÔh¯±‹>sP§‘ãŽ5™`5Þûdî™Lý©€CD^5µ<Á )¿¦Zž¤ÛŽyu¦‰çiÝ6›#4ښ	F«/Ø»jõ/¿wصwƲ_ü<íML
105
 2ùaîÒÒh¶d®›N{Oo[dºzN’RíÌç¨å/9‚ÚGU²x®eÝv‹*¼NT籉HúJj¢Mµ–8yrN£ÕùÖ
ç®u7¤ûŒù~W×dF³xÿåäÖ[fQrøîj­Þ_XWi‰ˆbÏl«Ñn¤.2sp½ù‡£‰H­H™>1 ¿],¹ûž¦ç›¨.ªQW£Ê*öT>ve÷|	—.ùûû•³CmRÄ¢Ík¾`âþËÖÊ%âxiÍí«Zé"nVµ]á?h´ÔRÃê8{v~
®œÑu؈!ël\oûM?n´úæ	c¶<H"a5¿Ùþ¥09€K©ç—ÌsÜ&‚‹ºË6,Ï[ÌÞtÃ[0|îÒáê¢á×ßßüú{#ŒUŸ°yû„|‡…c×Ç Ò@~	%É|óK£ÖÀ̙o~	òK(IÈ/ $!¿€’„üJ’Y|¿Šfý–=å=(´Õó^ľ,ïQ”"ä—Û”ñÃ>\ !¿¬ð·èRÞC€‚z|/¬¼‡Pêpÿ%”$ä—P’*F~Ùij+³=¦ïœb¶Vü ?e”_ÊÒ/6ñìz:]^ü¦4¤)l•YãG³( 2Ê/cþÙqæçÛ&¿©¡…­rònb1[(=ŠÌøóg/݋Ï.Œ2Ê/wŸ`¯üzŽüØ!ý`Ï®¿,Y;gÎüAWFKU&‚úUÞ_+תŽïÚ÷ëÊUýzZòÇ]lioßÏZvû¼ç¸×^3Uô+ê· V¤øO›=káò±“V<É}×W³/F_»ØÛ»gË®£6ÿ7-ï\ò+·ë¦^ÃîßÜ­cï¶¾ßÿ-–½íݵÏç>ãwÜzWKöö¿ƒþröÊ¥ißøm‰Ì`šÂ|¨¸Ê"¿”¥_|à9NÈ«òC£G—ȧþ4mùò%«úåLšyÕtP'êîfûÑæR»ú~ÿã̐ýső©ºà¼“Ç#ïœß7«ñÖAúU¢î^`6˜®.šý¶ß÷‹çŒåM™s]TɓžÔé{áò‰½sÜ7Ïۜw:ùÈÛµZ‘òg–û±ó‡·ÿØò穇糧:{dëT×ßgÿª+pfÖÚq»×þºlÑ¡Um·Ï=Và3
106
`¾Ê"¿Œ=øçÈ)®Dä9££Á%r[‹ˆjuóæþ^ÓÁ¼Vxæ[MHD|k—u½ôÕk?Nžu烺*žæU•ˆì›y}ï&>Û·¹Ëué8Nžn´¢‰]~ÛFÈ4j;4ãù®.\-8¼¦=¦0þ·êUSHDÕ>—+>ÍÔÚºüƒƒ0Oeñ~õ½a.¿Œ· "kçUNþJãgàðkªåI	껗£¬ÊcéGdo#W¯Ø—ƵѤEk5†×Öóz&S*à‡WM-7¼7”Åi5
107
Õõ¼k[ Õ¾{À(æÕ™&žïÒJ6GøÁ˜¿RÏ/eé<?}ÄóýâÜéôé>vý2*Y<ײŽAE£A}
-8ϤªF–ï§°ÀonË ½óZå$‡žï½N¿°ZK–a
,8IJµ3Ÿ£–¿äj|Ry™èڄUx+.œ¨Îc‘ô•´80¥~}<öàŸÎÐÝþu÷3“ô/‘«´DD±g¶Õh7ÒD°Ž€ûçÓLƒ–ìY+àÈs""|ýû‰èN†ÂŠ¥T妮ÑÉæ}
108
ëbÉÝ÷4=ïØ&·vØò0ƒˆ’ÃwWkU¬yç×µi3כ8šˆÔŠ”é˜8žï€Š«Ô×/·L˜>’Ïì
109
l>=¸›Æÿ¤Ûõ_¶V.ÇKkn_Պ)“7¸zZ×	c†ºzZ¿åÏg¯ùgɲ	³¬¬Ui¶-¿%¢Ís}'޶PX{æšÀû`J®œÑu؈!ël\oûM¿…ŽK—üýýÊÙ¡6)bÑæ5_gšùumšÛ„UmWø-µÔ°:Ξ]œ˜	iµÚÇ÷ÂÖoÙ3e|¡×ðÖoÙ³:`ދؗE軉gWý§¹MÁ(ݯ¬q‹.å=(¨Ç÷ÂêÕu.ZîT⊜È5nÑE—=®ßœ”døÀLY<ßS™è©’„€ü²pJ˜VFßï1Êh®† B+Ïü*\¯ðß+ï!¼‡ü²[0¯¼‡`ùef&¯6Їû/ $!¿€’„üJòK(IÈ/ $áùñ
110
lý–=å=(´Õóò¾¦ôþ¬O?¬”ZÎòˊ­ìÿÅ@))ñ7[Ÿÿëê¹°+%ÛfA ¿¬ð·èRÞC€‚2ýá½ÊñrkÜ	%	ù%”¤J’_Žé;§¼‡De“_6ñìZâmÎ?JWCšï¢`±Xå=øèTÔõ˓wõww†–×H̊ôõ­·UôNËeÿkï¾ã¢¸¶8€Ÿm,Ko‚‚‚ÅKElIԀÆH$‰Q£Æ.5O±Å‚5$A£ÆØKŒXÑ
𢤨R¥7)ÛwÞC֕]av—òû~Þ罙»wΜ!y—ݹ³À³Õ—jEæ²a¡‹WMšºúV™ª¼•QÅ~½wýÚ¨·_¾û2Û¶"(øù®ýý†|ñkÛÂNˆ¶ïXa£²°zŽ‹Ý¸´W¯]ÇÇüž§Í¡áÝU¿õùš€uƒŒ\žwãð¾ñ·}R£^›ÙêËKÂòߞ½fé¼ÈI¢éó.²×bædÏþxî}áÙ×³ØÆˆ±×/ŸÙÚnë¢Mlˍ+qìk7ª«’§ßj98î—ã{æuމˆ1Ù5šÞº­Eº»é¶lš:¨‰Ø¹¥ß¶òÙµìÁ´AïÝ?`Ìß%J¶Q$ñ9¿}®“•[«WbÓK³/F·w³qlÑií¹‡liÖI¿ÃÛÿΞ‘d<©,ÿ{WqÚvyaœµÛˆÊΨ{ï¾Â}|ý«€zÄlõå¦Ù3z¸‘SÇ9	»Ùƨý÷‚]­ˆÈÂÎwsä3X>¯„È‹/×,,…¿h%úö
‘Åk·[ÅÅ¥ÔҜý?·^ÑDôÄ?Ó»/ÌLÌtbqÛYƒæ³-§ÇæLÚº{箝ÅÁϲ*ك-…}þÍÌ;³qÀÄâsü®¤ç}Ùmñ°¶Ã¡Sûx`ßw—Y=b³Á“Z:½¾µOü§)ÅìG™ç£ÚL­ìŒÏtP˜íýê÷dj/±€ˆ"Wµ<•mL(Uºˆž˜Ê’å__·zožÐ^“w›Ñ¨ªFX-ߚÑ(¸¹€ºçÖçk¯ÿ¡Bãæ)ý‰¨ûØ/K'5!ú’ˆžHÝ»­9¹ú‡güòÑP¶çîÙADÔyPD^ïíàDÔmäfÙ[öÓMi¯'xّGÀ꒴NDË
žtà;ü'ü2ëp]Zu54¶mg¬þU@=b¶Y¢V–‚t¥šˆÔò¸ÛØÚRpOúD¹hTxëIóÖ¯]±8¸B5SݰÄúíªÕ\~Äã[3)»}½LÙZ"$"ØS%½]E@_Â0jvûZÒW<Çã	,Ü´¡ôOja×{]³u©r5‘f}FÀ{M$Ïtƪ¯ê³Õ—Óº9o¹ZHDñ;]ýÊ¿DûけGîiäÑsöÑåB…-O©*ËÚñO?{±öp_‰pj†­LCZß#ÍÙÿ둶‚§¿èy+Q’\ED*éM¡¤M5ã÷²§ÊUÃ0óènz'}yՆ…'SK3·«Æ~TŅ<ž¢ü/„ÇþU4j•gÚ5#՗ìo݅Þ}W,×l[¶82â°uLdO¶Ñ?lƒÿݯ§„®üxîüÂ.m‰(&<8jâèžC·
111
9òåfڀkgFÑmÀ¬
112
'2¶1¸õùšá««u½‹^sü-›ˆRO/vï·¸šñ×|Ø9äË?‰H-{0¤ß¨*N*²~aVÒÉÔØOo[Å8ZÎ?uK%+<¼ò­\ÔY¦xþRw}·–ÀÒ{åç—×ð¶S—Dê¶´<õÜà©å;K·>nwöoïÎÖ?…Á°º	èn7¤õ=Ÿî”l]äXžoî=<nôŽ&©éö§ŽU|ê 2~K0}ˆ_¯Rk
opô7UŸ´Ã}†û_ùvФŠ3~¹g~À8¿Í¥6oL\NtüY¯ 1¨P«<Ó®½¾4øå=+N¨‰ñúÃèo­:~w¦:=ŸØæKf}qªÂt±Á“QYÖÅä!ÿÓî<có×ÜÊ\P¾ó餪@=bôú¥dc#Í»÷Éè¥ócïš;0¼e8æÚ~ zô‘wœ%æNÌÃlᅣ†ª83—êËzïfÂYs§8sSàêËzl]d„¹SÎüpö¼¹SàêËz,ñAйSnLŸü”ï…©G°¾¸„ú¸„ûãPsç’:ThÁü%p	õ%p	÷Çë±è-»Ì@ã².2¢A¾·ƒ	€‰5ÔÁDõeý֐Þef„Á8„ú²Þk÷R€¹Shüwea00?˜ž¿n¡¾.Õõú²}—@s§`RÏc70@=e¢ç/e?½°2êì‰7ÅOí:yüš-;L'*‚7®ÄÕ&š†4µKǜJ’â£cöüvõ¾”$>üGNžÞÛÇÎÜI€©™hþòÁ¡ƒ}çúo;”ZÎ'®¤;Ÿfí«î³|¨ÝM?û‘û«k¹
113
Îãñ–ý›§»ËUd€†äƕ8íjjDZ5œ¤dz7ö„µ~y¾µß°˜=ߝ8´kZP»º…î½cî¼ÀÔLT_î<Î_ûî<ùÑúºñk·Ùö]µ-»##zõØ#hú·wŠÙµ"sٌ°ÐÅ«&M]}«L¥=°$íçao¼å?8šmÑÞcjðfýfÿ°ai
114
5©åÉï?°ëèão²„Ãhò¼‡÷ˆ¿]ÈaL€:¨cÑ—ccú÷
ê<ûÇlYþ?ǂßôcòö?ÿÁ¶"(øù®ýý†|ñkÛ¢;úéªûZqòŽÓΝº÷á;}Vökgãì½éF›¯~LPmx*_fîìÀ¤LQ_Ê
115
~ú·Kˆ•ÈfN›k§
116
äUwfÿôםHö}çÌOǾ˜Ü"ræv¶å’°ü·g¯Y:/r’hú¼‹ÚcÏý*úêè¡c[&ç:ê.±cÀÑY4`Æi":úAÁG±¯9ЉH-{0mPàûcG÷ów‰’í¬;©ÝæñxîèæéàøœÂ4ÔùÐÌ_3õÛg´´çóŽÍ;,?Y>3-’øœß>×ÇÉÊ­Õ+±é¥Ù£Û»Ù8¶è´ö\ùôª4ë¤_‡á‡ŽíçÏÈ?²9ûÔ=jEæÁâÎGÏ|»íã®>ü6¡À÷ð÷G¶~Øö³°õÚ>'b¯_>³7´ÝÖE›Ø–ÚO֘,ÿ{WqÚ]yaœµÛªöH;zAÏ/¼hgADŸ^Iλ³í›°©<¾Õâ“f~´¦6‘
`߬Z1oƄÎ^m¦¯ÿ¡²PO‘ÀHLQ_>8tpÜô¶DÔeVßjÞ"×1¤‹µHÔ9h–4·|ØÝt!{F"rê8"'a·¶g!=í,DnM-ÙÝmÇVq}=á~²åw£VY<îd«“á]ÙÆÓãs&mݽs×΅âàáG«Žpô”ø‡;YWŠÔÿhflô¾sULÅöMIE:~sÈ±ÓٕìÁ–Â>ÿfæÙ8`â€
ñ9~WÒó¾ì¶xXÛáÀЩá¿]<°ï»ËG†¬±¹6—P§°óަ׼ßÝJ$nÓ{dáý¯ú´µˆ:¾>]^|¹Â±>¯„è7V`‚ÍÒéõ­}â?M)¿S”y>ªÍ´PªöHõWîü DTpíàW:º·ª(ºHDvžSóó¨Md}.é“>ìÃU›¶ÿñ÷ž‡$Wê©#‰)Ö÷ì9ëûÉdK"²óksb=M­AߒєÏ}ޓ©½Ä"ˆ\ÕòÇ««¨ñ>ÈØïˆáÖcقKYö‚òŸÃ©{·5'"WÿðŒ_Þ"ZE„€)ƒ-øŽž`Y¹
ÙùÆÂ	'S¾	òÔÿ´Ý›«eÍ´»»gQçAyA¼·ƒQ·‘›eclÙO7¥½žàeKD«KÒ:-¯ÙõÔ5՜wäñÅS¾|G–}Ýê½yB{MÞmF£2fvÕ5ð‹þ~™u8ˆˆ.­ºÛ–ª=’Ü*SvµÑÈWÇJØß·ŸGDu‘ª6‘õ…núkw„-‰»~·¿k¡ª‘ÀHŒ^_Ê
117
~:rÿԑ.§´-§
118
f²«È<ž’!ˆ*Ό©T^+¶²¤+՞µ<E na”¼ë!×îˉ>YÞÝUÛr½LÙZ"$"ØS%½]õáîUMf~zt^ëée)Ç´-ÒìøÐé+³-\ԙ2EÇòø†Q³Ûג¾âñ¶²Û|!V•B£¶hTx×M{"Zۖf;T'¦ó-ìz¯kÖ7U>°…˜·>#à&ªöHÒJ"L•«}%Â+ÅÊ1.NòÌ"ú5õ‘åÙ9mB[Øu¬qd}ñäMŸ²ªJwD#1úýñ‡.úá¸vYååÓSµ·È{ÛZ|ŸªV”œÙ¾H÷_‰p*bNëæ¼åj!eÄïtõ«ô;sëþãðÆö¼•(I®""•ô¦P҆mòxŠòzþށ"”øX¤~oÏ}mˤ—^ï¸pׁ=;wlŸ^ý8½ìÅ©rÃ0Ã<º›^ýžË…
119
[žRU–µ1âŸ~ön´Þ)b·M6 ½¼jÓ©¥™ÛUc?b[ª9’Ìhë¸ñfí
<Í¿e§ÁK:4ïëÝdü~·£3Ÿ¯Md}¬D×J•º-C€¹½¾Üv(µ—…vWlïÿàÐAv{Ɋ?/þÒkç÷Ô=dí¬Àè±#º
˜UY̾+–k¶­
[qØ:&²geÝ`ÑkeQêéÅîý³-矺¥’^ùÖ3Ek;é[ëe“µ»reö<…²$yÁ¨Ÿƒ%Õ²æÃÎ!_þIDjك!ýF=Su™öùËê¿=&<8jâèžC·
120
9òåfúÖÍülâNÓ|:‘õ³’N¦Æîøxz[¶¥š#ÉНsŽ^.g(`ù‘©4ñÏØ¸«©J•üêÑ®"~m"³Ÿë¯Ý^;ªÕ¬-i¤KÞZYY(0£ßŠ;¡»+{$ÄÍg·ÝzŽ:÷_…1w ¶Oëwgÿöîlv[÷‘&í¶ÀÒ{åçu×ø©Q­ï1èͽÇbƒÇÞÑ$5ÝþÔ±`¶ñË=óÆùm.µycâr¢ãώ/Ù¸»ûþî?±{§¾øpÐËޓmÚ®=v6hã«ÕŒá·ô§Ó‡øõ*µÖðGó,WPw|øÒàð¥»ÝzðÔsƒ§–·.ݪߡÝ{³Ï¿W>šr@ëðAŸáþW¾Rþwc5GÇç?>:yB—·f¾b¶;ž¬ðîÕ?ʚöôki[ËÈúú}vábÈÈ7ÞurP>tî»°²P`.F¯/+ûSތïàhÀæ‰'Y…V¿Ž;S¡Oó×ÜÊ\P¾óé$ƒVÓÕ%ìd·;Œß<~Cù;¯éw6¼Í—ÌúâT¥SÓõÁQ®^qeY“‡üO»[ý‘¤×Ìí¿<ÿõ¾Ïö¤æðÄv^¾ž¬ôj™ˆâî?îÉ:-Üñ½îQC=}Dã0z}Y¯Y€§j`£œ4ïÞ'£—Ώ½[³Ã|_™µøcD€:뵖×*´˜èû{ ^pm?P=úÈ;Õ~¨º.D€ºÆï¿€ú¢8ËXó‹Æ‹öŽ8ږIDATu
êËzïfÂYs§
à
121
êËzl]d„¹S€†ƒ	põe=–ø ÅÜ)@C€Á¸…õ=À%ԗÀ%ԗÀ%ԗÀ%ԗÀ%¬¯Ç¢·ì2w
122
ËºÈˆ°ÔC€Ù5ŒÁ¤
123
¨/ë·é“G›;¨0t€Q¡¾¬÷Ú½`î…öõ6:¸"Í»õLý“’ÓŒ”I݁ú æ’’ÓZz5¯f՘–žÙÜ£©±S2;¬ï.Õ¿úrâàyæN Z0^@ãdôúrn`ЙB¹vWVxá¥À•µ	¨!M­“àRû.Û1^@ãdôúrâÐÛOghwÓNô:ŒÝV%Ÿùþç„ä’g
124
¸ãØ.ók(îŸÙ2vHPàÀ·l>^Å/4iö…ÞÎӥиU=^ÕlÔ=vÿŬš¦V‘²äö'ӆ¶mîb!´põy!ô‹_Øv;kɃß{øÛGÎù·XÉ6òx<®Î
’ÑëKï¡ÃwÑî~·+eâÐD$Ëÿ}ØÐO¾?ÿóŒ÷Fm¹^È~Ú¾K`IÚÏÃÞxËp4Ý8üù€×ÞìØýÍÁ“¿ÑvÐΨ™Ëf„….^5iêê[e*¶±SÏq±—öê5°kàø˜ßó´çmØw©r.¯|iäÎîÃ>øxÚÐÛÑcÞØ|Ã`·«Ç7vmŸ/3qz“îxEŒ*öë½ë×F½=hüòݗ©’1Ðà¦?jýä£CŽ'kÏØÃHÍRU•Ýzq”¨gÈO×ÓÊeîZ|vßoìGÅe²¿íß}à»
ofô‰ªY|hlŒ¾~ÜÒ±ï«ÊO¯•Mè`%T•Ý9¨ôÿÓQLD§C7†ìüjP3«ÌøµÁáG'Çö?÷«è«£‡¤ùj"š»âà¡ÞžvÚh7®ÄiÇëKÂòß^ói_·œ+ëߛwñܦWˆH%O¿ÕrfÜ/©¿|6""fÊÙùƾÀºà«÷׍9}sªŸ+õèœãþ·U¿Û»®|rúî°^^&O 1Ò¯®ÅÌÉzsålë§Ü™y—*
Ž`ú#¡öؽǎøäSzsC-S=7eÈÐã—&µu ""˖˜P±ï»›òFû…×ò\
Oû.e¹7uwõûܸgŒÌÏë{&ußx)—ˆ2/m÷üïæøîl¿AͬˆÈÕ?¤,û”¶s!=í,DnM-‰èå&–'㯖jƒa7]ȞÑňœ:ŽÈIØ­m~ÑJ(ôí"/Š×6n;¶Šû«3¢“Šævrf·­ÝGKóìvûÇo†öô4a^P.jÿ½`W+"²°óÝ9ˆ*õG0ý‘P{lûÑËÕãû—~ÿ¶†éýýþÅe¥”/r¬Y|€†­Bí¨_J6¶â’LS_zv=æ"ýs—½9NDwžfouðÊh/r=~¬gў(»¿ö8}ϕ|ý°÷dj/±€ˆ"Wµ<µÂ§<¾5£Qp~-uS¦Bãa!`·ù;2¯êþ`b	¥JÑÏ,V6²tG0ý‘P{l§^“ˆÿþLîØwy|êÿh[ØÜ>0³iïeµ?@c [P6Ââ’Ló~uKǾ½‹†¥•öÜZÔõ‚£˜m|ÉF´:ˆOD҇RƒZص_³qü•f-u!ºÂ§­,éJµ§…@-Oˆ[õê8Á}™ªDHD*y’À²¥¹3€'´¶Ü“–ÿŸ”U1¥?ê›ÿwAíÓs/ºCô:»Í0=¹‚§í+ïtqSfóZ=6ªöçh$Ø'dgqI&{ÿåø!ÎF¹ªm™;Ügá··‰H­ÈœùAdÇZ7õÖ¨ŠõÛ§usÞrµˆ2âwºú=å»töúž`ÉúËç,on¶kùyó€
125
>èyä>‘F=g=ËÈÒ	µÇ*K®¾9yжO×÷|à¸)6½´²OoŸ?²÷Ðñ³7èÖÇðT¶¸$“}?¤÷Ða¬Œ:ûx–±Ã”¨Þ«—
› •hx}ÃÂ3eâ–ÓÉÊuT˜›2}W,ÿqöÚ°cö™ÙÖ1z+õú`ڂ—_
126
Þ}kxEÒÚÿm››¨ý(ð¹þq÷ÏTq,pB÷‰~ý_*þaþZ¾rJ¨­*Ï¡ëûT½1¥?jM¾›Ø5äéµéS
Ù»¢]—¾©ÑQÃts)~?a` @õ™¨¾´tì{ãJß'šøâ1á+Æ<٭ <%fÛªHÛG`é½òóŠ«v*{â¡a¯ïiûÁñÚ¥_m‰*8½õù¥º»š;#€Æ¥²Y
127
m;O`;uɓ…àÓÆ@í¶‘ÐбT‹õ=6͇'WOûáü‘7ä"»v/ö\¹ó—ªyâM†ƒg@ !1z}‰Uú&ÁcÚÒ7¦ø@ò¿	L êéÌ:¨‰ßÈÿŒÔo78b`€ª½¾¬+·0ô@cf¢õ=ÐH`1 @Í¥¥g¦¥gš;‹ºõe½w3ᬹS€úCWš{45w
128
uêËzl]d„¹S€úCêËz,ñAйS€úCÖ÷—P_—P_—P_—P_—P_—P_—P_—8x¿úœðµ
CmëK|Ïèªm}‰ï]xþ¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸$¬úãè-»L“ÔMÓ'~¦þO©/×EFÔ"¨÷¤<Sÿ§Ô—Ï9<	\B}	\B}	\B}	\zÊúž´ôLÓäQG4÷hjîL¿èõµïh‚LêŽWâ8ù”ú’ˆbOrÖºiíŠð¤ä4sg`RøE¯oú”1ÆN¦ŽˆŽùÆaŸ^_R#xæ™s~8{ÞÜY˜~ÑëÃϤ6ªU_^„	Рá½>üLjë{€K¨/€K¨/€K
§¾llohðî%&›;¨	SԗʼnñMžì×c ÿ€	ŸìN0Á ŽHLJ½Ÿ”z?)%9=»T©yÖÃ}¼=‘•QÝKLÎWhtwk$ëáCî225£×—ò¢ËïŽÝÔá½Yçϟ<µå#éO—9	«(J>óýÏ	É%œD€ZbT²œL%‘F£é÷jÏ×úôìâ딕Uf#j8÷N«Pœ¯v´x|¥Ú*™Ñ(KKJ¥Õ¨³‹eJצîúí©™ùRÃUžFbôÆ?G¬oö¿5ûµ—ˆøÎ^W|5Yûъ àç»ö÷òů9lK§žãb7.íÕk`×Àñ1¿ç•÷cT±_ï]¿6êíAã—ï¾LD²ü߇
ýäûó?ÏxoÔ–ë…Æ¾¨’æQA^JÖ#K'wg·fúø¼¤¤´ÜR¡F™ïÒ̑mÌII¹—˜œ˜’‘_¦Öö,.,ÊËËKMy˜S(­¤8?7·Xf¼kà–—07Sl]¡Q£–¦¥æ”H¥YééÔå5b~zZ¾BMDjEáƒô"¶‘ò¼xñ’þܧ›½…47+·¨ô™§‚MÈèõeÌ?3y<Þç=ތ8{ýò™½¡í¶.Ú͍äé·ZŽûåøžyc"bØÆk1s²ƒg<÷À¾ðìëYDt:tcÈ΍ëW.9Õ{[øQc_TFQVü0-[%´iß¡m{ï&ŠG¹ú}"†Ñ”åð¶|ÛØÄÓÓÿÕ^ÝÛ9å•:Z	‰H^©´±ózΧSG‘ÐÆÅÎò¿ã™G|疞͝l,LueµâÕù¹Œ›™N–OZ%YyŽžÞ]ºtìì똟Í8ˆDäØÔ©8Wá æçf•¸y5÷r·#¢V>^DÔÿµ—û¿ör…',$6M½Ÿkîd™“™[,Ušðš*塃m1z}yWªîdUÕ[Ü}^	‘?¾iü¢•PèÛ7D^϶Dí¿ìjEDv¾›#Ñîl¿AͬˆÈÕ?¤,û”³€*¥æ”5mÕêù6žJiZzŽÁŠ'î܅ûRæ•9´ôÒ¨Jµíy©iÙ¥"µªÐÁوr‹MœÝ„¥ÅE2G;ÀRHDŒFQWdåàÔÌ͉)ÉÏ/Q˜ìÒjC`áâ&)NØèL¬Q‘ZÒÔݹðaf¡\¢–e84±!"žÀÊU\t¿$W&qñjf—›õij‰Rô_󮐖ÊÔ/E^¦•Èèó4ÃܸwãJÜô)cسºßßScüd¹ÚÇRP¡]–}Ýê½yB{MÞmF£ªð)oÍhÊÿJ(UºˆtÿéÐ݇§Ûw)/+µ€é5obU˜’Rœ+±³‘ð*éЯ71êüô{ÿ$e–ˆm‰H£–ç穈Oj1O !"ø:ˆ³1DÄhYÙ
129
"º~å_¹BekíQVX¨bêús‡º$NÎi·Ó¼Z;Ýý¯E¡,ù;þ»Í#_hCTDD–ŽéIY_l#–æå¨«sߛ)+~”ž&³qnníâö(¥Z_ªnJF¯/G{Úlü-wc·
130
í‹F…wÝ´'¢µmiƱ3A›«ˆÐÚRpOªj#yœêK6¢ÕqÇÝD|"’>¬ø|˜ŒØÊÖÖÅJõ('%#×ÞÁÞVb`:Ïã=HÎ ²R+Smšxæ¦äæ¤gKܽÛz82²¬ßÿJeŸŸ³à‘’!õ“E¤S›ÎžŠÛ	÷,[8S_×òžÈ;ð®úñD˜%Ÿç÷j/K>ˆÔRµö©AYaØVü _¡Éu¼Z¥´$7¿H`åàÝÖ·‰¸87ËxWPcF¿?>hÙÐóáß]NV¨UÉÿü85ìÛ~¹PaËSªÊ²6FüÓÏ^\E„zD¹OD¤‘GÏÙGDs‡û,üö6©™3?ˆd»µÞ)2굀>EY™Fdëûœ‡H^`°¾dˆ†QɊx|K¾@BDR5ãàæ"Ë˺u#ßFP^f¹Øˆn¦‹yD“Ÿõˆmt·Éò]%ÉKEüÊfHë(‘‹êA’v×Å^t-­8%)õ~bâ¥?ÿJJK'"ZšU"z®M'‹Œ›<›Ç?=1Ÿ—R¬Ð¿àÌ"E¯V:´vª33²•Õ‰G0+0úü¥ƒïð•–Í]”QâÔü¹wÆ~À¶Ç„0qôb«s7¬é³oNüÃ6üµ|å”P[;UžC×÷‰¨Ã”¨Þ«—
› •hx}ÃÂØnëfN™8bØ<Ž	`rŒ¦¬LnåÒBlçT,ͨðáϗþh”†ïîå­QK‰ÈÝÅ&å¯?$riÖÌIžUªfˆHâÒTU˜œ¡P+U
131
¥££›=%•È5|¥›mQJ‰ÄÚ4õh“Çsrᥗ*“ÒË*•ÆÚ¥©[3—ŒÔœ¢Ì<»fÞÍl™«õ­De;7^™š!"7'ëû—ÿ`øboÏ'n·hêÔÜÙ2'+C^‡gs^_‘ïëï|ýý
132
­O=7xjùÎÒ­ìÿÞ¸§í Ýæ	l§.‰|â`¾xLøŠ1Ol÷ÞìóïÍæ.kx6•<7«bqÙÊÇËÇÛS£R(ÔÄcT9ó‰ÈÂÖÉÇý¹¦N6|F™—Å{$eWbðmí]ĵ†Ù#v5K(±÷´qv“ÈÒrJ©nÓM[ vhÓ®eùgcëèáÝÄÆ‚¢ÒÜ|"rôhîÐÌ­8+ƒoaïãaßÄIœQLDvξ¾Íœ­yERJ¦nü´¬“]KÍ·¾¬ì;uëHh¨Ø×7Vx‰#[~)ŠRŠÿ«“rþ«JMAn¶ngÝÕÓʒ¼´:ÿÍ*†.9ùöMmÑÉåfWxž¯0£|ŽZ^˜¬SŸ+Šó’‹ó¨2n}‰: 1c'/õÛõß¹Ó`TvÉÔ ¯Z—»»»)î@£ÕHŠ*]ð’+hß
133
&S­ùË3ç.;0ü¢×‡ŸImT«¾üáìycçæ‚_ôúð3©§Ô—½{víݳ«iRÃ/zƒ¢c¾1w
134
õÛSêˤä:÷–Àü¢×‡·ßÔÖ÷—P_—P_—P_—P_—¯ÿì˝f̆Çõå̈́³f̆òú2zË.óæ
ƒagî4 ÞL8‹÷Ô46í»2Ãy؛	g…>ޞœÇ€ºÏËo|¼=…‰R8Sâƒ!Vö4Nƨ£·ìâááK€Æ©}—@n²…%êKàÒÿgyëýËó¯IEND®B`‚
(-)tdevelop/doc/kde_app_devel/index.docbook (-1549 lines)
Lines 1-1549 Link Here
1
<?xml version="1.0" ?>
2
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
3
  <!ENTITY tdevelop "<application>KDevelop</application>">
4
  <!ENTITY kappname "&tdevelop;">
5
  <!ENTITY % addindex "INCLUDE">
6
  <!ENTITY % English "INCLUDE" > <!-- change language only here -->
7
]>
8
9
<book lang="&language;">
10
11
<bookinfo>
12
<title>The &tdevelop; Programming Handbook</title>
13
14
<date>2002-12-05</date>
15
<releaseinfo>2.0</releaseinfo>
16
17
<authorgroup>
18
<author>
19
<firstname>Ralf</firstname>
20
<surname>Nolden</surname>
21
<affiliation><address><email>Ralf.Nolden@post.rwth-aachen.de</email></address></affiliation>
22
</author>
23
<author>
24
<firstname>Caleb</firstname>
25
<surname>Tennis</surname>
26
<affiliation><address><email>caleb@aei-tech.com</email></address></affiliation>
27
</author>
28
</authorgroup>
29
30
<copyright>
31
<year>1999</year>
32
<holder>Ralf Nolden</holder>
33
</copyright>
34
<copyright>
35
<year>2002</year>
36
<holder>Caleb Tennis</holder>
37
</copyright>
38
39
<!-- ROLES_OF_TRANSLATORS -->
40
41
<legalnotice>&FDLNotice;</legalnotice>
42
43
<abstract>
44
<para>The User Guide to C++ Application Design for the Trinity Desktop Environment (TDE) with
45
the &tdevelop; IDE</para>
46
</abstract>
47
48
<keywordset>
49
<keyword>KDE</keyword>
50
<keyword>KDevelop</keyword>
51
<keyword>IDE</keyword>
52
<keyword>development</keyword>
53
<keyword>programming</keyword>
54
</keywordset>
55
56
</bookinfo>
57
58
<chapter id="chapter1">
59
<title>Introduction</title>
60
<para>
61
As Unix Systems are becoming more and more popular to even beginners working with computer machines 
62
due to its advantages in regards of stability and functionality, most are somehow disappointed, because 
63
those applications don't have a consistent look and each one behaves different from another. With KDE, 
64
developers have an almost perfect way to create first-class applications for Unix desktop systems to get 
65
a wider user community by the mere quality their applications have to offer. Therefore, KDE becomes more 
66
and more popular as a base for programming design, and developers want to take advantage of the 
67
possibilities that the system has to offer.
68
</para>
69
70
<sect1 id="c1s1">
71
<title>What you should know already</title>
72
<para>
73
For making the best use of this programming handbook, we assume that you already know about the 
74
C++ programming language; if not, you should make yourself familiar with that first. Information about 
75
C++ is available through various sources either in printed form at your local bookstore or by tutorials 
76
found on the Internet. Knowledge about the design of Graphical User Interfaces is not required, as this 
77
handbook tries to cover the application design for KDE programs, which also includes an introduction into 
78
the Qt toolkit as well as the KDE libraries and the design of User Interfaces. Also, you should have made 
79
yourself comfortable with &tdevelop; by reading The User Manual to &tdevelop;, which contains a descriptive 
80
review of the functionality provided by the IDE. 
81
</para>
82
</sect1>
83
84
<sect1 id="c1s2">
85
<title>About this Handbook</title>
86
<para>
87
This handbook has been written to give developers an introduction into KDE application development by 
88
using the KDevelop Integrated Development Environment. 
89
</para>
90
<para>
91
The following chapters therefore give an introduction on how to create projects, explains the sourcecode 
92
already generated and shows how to extend the given sources on various topics such as toolbars, menu bars 
93
and view areas. 
94
</para>
95
<para>
96
Then the dialogeditor is discussed in detail, explaining how widgets are created and covers widget 
97
properties settings in detail for all provided widgets. 
98
</para>
99
<para>
100
Finally, you will learn about several topics that will complete your knowledge in regards of project design
101
and helps you work out additional issues besides coding such as adding API documentation and extending 
102
online-manuals.
103
</para>
104
<sect2 id="c1s2s1">
105
<title>In the next chapter</title>
106
<para>
107
We'll take a look at the Qt and KDE libraries, showing basic concepts and why things are the way they are. 
108
Also, we will discuss how to create the tutorial applications provided with the Qt toolkit by using 
109
tdevelop;, so beginners can already see first results with a few steps, and thereby will learn how to make 
110
use of some of &tdevelop;'s best features. 
111
</para>
112
</sect2>
113
114
<sect2 id="c1s2s2">
115
<title>In the following chapters</title>
116
<para>
117
You will learn how to:
118
<itemizedlist>
119
<listitem><para>create an application with the KAppWizard</para></listitem>
120
<listitem><para>What the project skeleton already provides</para></listitem>
121
<listitem><para>What the code already create means</para></listitem>
122
<listitem><para>How to create your own views</para></listitem>
123
<listitem><para>How to extend your application's functionality by dialog, menu bars, and toolbars</para></listitem>
124
<listitem><para>How to make your application user friendly by providing help functions</para></listitem>
125
<listitem><para>How to write online documentation</para></listitem>
126
</itemizedlist>
127
</para>
128
</sect2>
129
130
</sect1>
131
132
<sect1 id="c1s3">
133
<title>Additional Information</title>
134
<para>
135
Additional information about Qt/KDE programming is available by various sources:
136
<itemizedlist>
137
<listitem><para>Programming with Qt by Matthias Kalle Dalheimer</para></listitem>
138
<listitem><para><ulink url="www.kdevelop.org">The User Manual to KDevelop, provided with the TDevelop IDE</ulink></para></listitem>
139
<listitem><para><ulink url="doc.trolltech.com">The Online Reference to the Qt library</ulink></para></listitem>
140
<listitem><para><ulink url="developer.kde.org">The KDE Developer web site</ulink></para></listitem>
141
</itemizedlist>
142
</para>
143
<para>
144
Additionally, you should look for help by subscribing to the various mailing lists, whose addresses 
145
are available on the mentioned web sites, and on the Usenet newsgroups dedicated to users of KDE and 
146
Unix Systems as well as about the C and C++ programming language. 
147
</para>
148
<para>
149
For obtaining help about the TDevelop IDE, you should send requests to our mailinglist at 
150
<email>kdevelop@kdevelop.org</email>. Mind that the KDevelop team is dedicated to provide the means to enable you to 
151
program applications and therefore is not intended as a technical support team in cases where the 
152
applications you're developing don't work due to implementation errors or misconfigurations of your 
153
operating system. By this, we ask all users to take advantage of the mailinglist in any case you're running 
154
into problems with the use of the IDE itself, as well as for bug reports and suggestions for improving the 
155
functionality of the development environment. 
156
</para>
157
</sect1>
158
159
</chapter>
160
161
<chapter id="chapter2">
162
<title>The KDE and Qt Libraries</title>
163
<para>
164
The Norwegian company TrollTech (<ulink url="http://www.trolltech.com">http://www.trolltech.com</ulink>) 
165
provides a so-called GUI toolkit, named Qt. GUI means "Graphical User Interface", and therefore, Qt-based 
166
applications represent themselves with buttons, windows etc, allowing user input by visualizing the functions 
167
an application provides. Such a toolkit is needed for developing graphical applications that run on the X-Window 
168
interface on Unix Systems, because X does not contain a pre-defined user interface itself. Although other 
169
toolkits are also available to create User Interfaces, Qt offers some technical advantages that make 
170
application design very easy. Additionally, the Qt toolkit is also available for Microsoft Windows systems, 
171
which allows developers to provide their applications for both platforms. 
172
</para>
173
<para>
174
The KDE Team (<ulink url="http://www.kde.org">http://www.kde.org</ulink>) joined together with the goal 
175
to make using Unix Systems more friendly, and decided to use the Qt toolkit for the development of a window
176
manager on X-Windows, plus a variety of tools included with the KDE packages. The K Desktop Environment 
177
therefore contains the window manager kwm, the file manager kfm and the launch panel kpanel as the main 
178
components plus a variety of first-class utilities and applications. After KDE was out, a lot of developers 
179
turned their eyes towards the new environment and what it has to offer them. The KDE libraries are providing
180
essential methods and classes that make all applications designed with them look similar and consistent, 
181
so the user has the great advantage that he only has to get accustomed with an application's specific 
182
usage, not with handling dialogs or buttons. Also, KDE programs integrate themselves into the desktop and 
183
are able to interact with the file manager via drag'n drop, offer session management and many more, if all 
184
features offered by the KDE libraries are used.  Both, the Qt toolkit and the KDE libraries, are implemented
185
in the C++ programming language; therefore applications that make use of these libraries are also mostly 
186
written in C++. In the following chapter, we'll make a short trip through the libraries to see what already
187
is provided and how Qt and TDE applications are created in general. 
188
</para>
189
<para>
190
Both, the Qt toolkit and the KDE libraries, are implemented in the C++ programming language; 
191
therefore applications that make use of these libraries are also mostly written in C++. In the following 
192
chapter, we'll make a short trip through the libraries to see what already is provided and how Qt and KDE 
193
applications are created in general. 
194
</para>
195
196
<sect1 id="c2s1">
197
<title>The Qt GUI Toolkit</title>
198
<para>
199
As said, the Qt library is a toolkit that offers graphical elements that are used for creating GUI 
200
applications and are needed for X-Window programming. Additionally, the toolkit offers: 
201
<itemizedlist>
202
<listitem><para>A complete set of classes and methods ready to use even for non-graphical programming issues</para></listitem>
203
<listitem><para>A good solution towards user interaction by virtual methods and the signal/slot mechanism</para></listitem>
204
<listitem><para>A set of predefined GUI-elements, called "widgets", that can be used easily for creating the visible elements</para></listitem>
205
<listitem><para>Additional completely pre-defined dialogs that are often used in applications such as progress and file dialogs</para></listitem>
206
</itemizedlist>
207
</para>
208
<para>
209
Therefore knowing the Qt classes is very essential, even if you only want to program KDE-applications. 
210
To have an impression on the basic concept how GUI-applications are constructed and compiled, we'll first
211
have a look at a sample Qt-only program; then we'll extend it to a KDE program.
212
</para>
213
214
<sect2 id="c2s1s1">
215
<title>The first Qt Application</title>
216
<para>
217
As usual, programs in C++ have to contain a <function>main()</function> function, which is the starting point for application
218
execution. As we want them to be graphically visible in windows and offering user interaction, 
219
we first have to know, how they can show themselves to the user. For an example, we'll have a look
220
at the first tutorial included with the Qt Online Reference Documentation and explain the basic execution
221
steps; also why and how the application window appears: 
222
<programlisting>
223
#include &lt;qapplication.h>
224
#include &lt;qpushbutton.h>
225
226
int main( int argc, char **argv )
227
{
228
QApplication a( argc, argv );
229
230
QPushButton hello( "Hello world!", 0 );
231
hello.resize( 100, 30 );
232
233
a.setMainWidget( &amp;hello );
234
hello.show();
235
return a.exec();
236
}
237
</programlisting>
238
</para>
239
<para>
240
This application merely paints a window containing a button with "Hello world" as its text. As for 
241
all Qt-based applications, you first have to create an instance of the class <classname>QApplication</classname>, represented by
242
variable a. 
243
</para>
244
<para>
245
Next, the program creates an instance of the class <classname>QPushButton</classname> called hello, this will be the button. 
246
The constructor of hello gets a string as a parameter, which is the contents of the widget visible as 
247
the buttons text.
248
</para>
249
<para>
250
Then the <methodname>resize()</methodname> method is called on the hello button. This changes the default size a widget 
251
(which is in this case the <classname>QPushButton</classname>) has when created to the length of 100 pixels and the height of 
252
30 pixels. Finally, the setMainWidget() method is called for a and the show() method for hello. The 
253
QApplication is finally executed by <methodname>a.exec()</methodname>, enters the main event loop and waits until it has to return 
254
an integer value to the overlaying Operating System signaling that the application is exited. 
255
</para>
256
</sect2>
257
258
<sect2 id="c2s1s2">
259
<title>The Reference Documentation for Qt</title>
260
<para>
261
Now, let's have a quick look at the reference documentation of the Qt library. To do this, start 
262
&tdevelop; and select "Qt" from the tree in the Documentation tab. The documentation browser opens 
263
and shows you the start page of the Qt reference. This will be your first place to get information 
264
about Qt, it's classes and the available functions they provide. Also, the above program is the first 
265
that is included in the tutorials section. To get to the classes we want to have a look at, 
266
<classname>QApplication</classname> and <classname>QPushButton</classname>, select "Alphabetical Class List" 
267
and search for the according names. Follow either of them to have a look at the class documentation.
268
</para>
269
<para>
270
Alternatively, you can use the online documentation from Trolltech's <ulink url="doc.trolltech.com">Qt Documentation</ulink>
271
</para>
272
<para>
273
For <classname>QApplication</classname>, you will see the constructor and all other methods that this 
274
class provides. If you follow a link, you will get more information about the usage and meaning of the 
275
methods, which is very useful when you sometimes can't detect the correct use or want to have an example. 
276
This also counts for the KDE library documentation, which uses a similar documentation type; therefore 
277
this is almost all you have to know about using the class-references with the documentation browser. 
278
</para>
279
<sect3 id="c2s1s2s1">
280
<title>Interpretation of the Sample</title>
281
<para>
282
Starting with <classname>QApplication</classname>, you will find all the methods used in our first example: 
283
<itemizedlist>
284
<listitem><para>the constructor <methodname>QApplication()</methodname></para></listitem>
285
<listitem><para>the <methodname>setMainWidget()</methodname> method</para></listitem>
286
<listitem><para>the <methodname>exec()</methodname> method</para></listitem>
287
</itemizedlist>
288
</para>
289
<para>
290
The interpretation why we use these methods is very simple: 
291
<orderedlist>
292
<listitem><para>Create an instance of the class <classname>QApplication</classname> with the constructor,
293
so we can make use of the GUI elements provided by Qt</para></listitem>
294
<listitem><para>Create a widget which will be the contents of our program window</para></listitem>
295
<listitem><para>Set the widget as the main widget for a</para></listitem>
296
<listitem><para>Execute the a instance of <classname>QApplication</classname></para></listitem>
297
</orderedlist> 
298
</para>
299
<para>
300
The second object of our program is the pushbutton, an instance of the class <classname>QPushButton</classname>. 
301
From the two constructors given to create an instance, we used the second: this accepts a text, 
302
which is the label contents of the button; here, it is the string "Hello world!". Then we called the 
303
<methodname>resize()</methodname> method to change the size of the button according to it's contents - 
304
the button has to be larger to make the string completely visible. 
305
</para>
306
<para>
307
But what about the <methodname>show()</methodname> method? Now, you see that like most other widgets, 
308
<classname>QPushButton</classname> is based on a single inheritance, the documentation says, Inherits 
309
<classname>QButton</classname>. Follow the link to the <classname>QButton</classname> class. 
310
This shows you a lot of other widgets that are inherited by <classname>QPushButton</classname>, 
311
which we'll use later to explain the signal/slot mechanism. Anyway, the <methodname>show()</methodname> 
312
method is not listed, therefore, it must be a method that is provided by inheritance as well. The class 
313
that <classname>QButton</classname> inherits is <classname>QWidget</classname>. Just follow the link
314
again, and you will see a whole bunch of methods that the QWidget class provides; including 
315
the <methodname>show()</methodname> method. Now we understand what was done in the sample with the button: 
316
<orderedlist>
317
<listitem><para>Create an instance of <classname>QPushButton</classname>, use the second constructor to set the button text</para></listitem>
318
<listitem><para>Resize the widget to its contents</para></listitem>
319
<listitem><para>Set the widget as the main widget of the <classname>QApplication</classname> instance a</para></listitem>
320
<listitem><para>Tell the widget to display itself on the screen by calling <methodname>show()</methodname>, an inherited method from <classname>QWidget</classname></para></listitem>
321
</orderedlist>
322
</para>
323
<para>
324
After calling the <methodname>exec()</methodname> method, the application is visible to the user, 
325
showing a window with the button showing "Hello world!". Note: GUI programs behave somewhat differently
326
than procedural applications. The main thing here is that the application enters a so-called 
327
"main event loop". This means that the program has to wait for user actions and then react to it, also
328
that for a Qt application, the program has to be in the main event loop to start the event handling.
329
The next section tells you in short what this means to the programmer and what Qt offers to process
330
user events.
331
</para>
332
<note><para>
333
For already advanced users: The button has no parent declared in the constructor, therefore it
334
is a top-level widget alone and runs in a local event loop which doesn't need to wait for the main
335
event loop.  See the QWidget class documentation and The KDE Library Reference Guide</para>
336
</note> 
337
338
</sect3>
339
</sect2>
340
341
<sect2 id="c2s1s3">
342
<title>User Interaction</title>
343
<para>
344
After reading the last sections, you should already know: 
345
<itemizedlist>
346
<listitem><para>What the Qt-library provides in terms of GUI applications</para></listitem>
347
<listitem><para>How a program using Qt is created and</para></listitem>
348
<listitem><para>Where and how to find information about classes that you want to use with the documentation browser</para></listitem>
349
</itemizedlist> 
350
</para>
351
<para>
352
Now we'll turn to give the application "life" by processing user events. Generally, the user has two ways
353
to interact with a program: the mouse and the keyboard. For both ways, a graphical user interface has to
354
provide methods that detect actions and methods that do something as a reaction to these actions.
355
</para> 
356
<para>
357
The Window system therefore sends all interaction events to the according application. The 
358
<classname>QApplication</classname> then sends them to the active window as a <classname>QEvent</classname>
359
and the widgets themselves have to decide what to do with them. A widget receives the event and processes
360
<methodname>QWidget::event(QEvent*)</methodname>, which then decides which event has been executed
361
and how to react; <methodname>event()</methodname> is therefore the main event handler. Then, 
362
the <methodname>event()</methodname> method passes the event to so-called event filters 
363
that determine what happened and what to do with the event. If no filter signs responsible for the 
364
event, the specialized event handlers are called. Thereby we can decide between: 
365
<itemizedlist>
366
<listitem><para>
367
Keyboard events -- TAB and Shift-TAB keys:</para>
368
<itemizedlist>
369
<listitem><para><methodname>virtual void focusInEvent(QFocusEvent *)</methodname></para></listitem>
370
<listitem><para><methodname>virtual void focusOutEvent(QFocusEvent *)</methodname></para></listitem>
371
</itemizedlist>
372
</listitem>
373
374
<listitem><para>
375
All other keyboard input:</para>
376
<itemizedlist>
377
<listitem><para><methodname>virtual void keyPressEvent(QKeyEvent *)</methodname></para></listitem>
378
<listitem><para><methodname>virtual void keyReleaseEvent(QKeyEvent *)</methodname></para></listitem>
379
</itemizedlist>
380
</listitem>
381
382
<listitem><para>
383
Mouse movements:</para>
384
<itemizedlist>
385
<listitem><para><methodname>virtual void mouseMoveEvent(QMouseEvent *)</methodname></para></listitem>
386
<listitem><para><methodname>virtual void enterEvent(QEvent *)</methodname></para></listitem>
387
<listitem><para><methodname>virtual void leaveEvent(QEvent *)</methodname></para></listitem>
388
</itemizedlist>
389
</listitem>
390
391
<listitem><para>
392
Mouse button actions</para>
393
<itemizedlist>
394
<listitem><para><methodname>virtual void mousePressEvent(QMouseEvent *)</methodname></para></listitem>
395
<listitem><para><methodname>virtual void mouseReleaseEvent(QMouseEvent *)</methodname></para></listitem>
396
<listitem><para><methodname>virtual void mouseDoubleClickEvent(QMouseEvent *)</methodname></para></listitem>
397
</itemizedlist>
398
</listitem>
399
400
<listitem><para>
401
Window events containing the widget</para>
402
<itemizedlist>
403
<listitem><para><methodname>virtual void moveEvent(QMoveEvent *)</methodname></para></listitem>
404
<listitem><para><methodname>virtual void resizeEvent(QResizeEvent *)</methodname></para></listitem>
405
<listitem><para><methodname>virtual void closeEvent(QCloseEvent *)</methodname></para></listitem>
406
</itemizedlist>
407
</listitem>
408
409
</itemizedlist>
410
</para>
411
<para>
412
Note that all event functions are virtual and protected; therefore you can re-implement the events 
413
that you need in your own widgets and specify how your widget has to react. <classname>QWidget</classname>
414
also contains some other virtual methods that can be useful in your programs; anyway, it is sufficient
415
to know about <classname>QWidget</classname> very well. 
416
</para>
417
</sect2>
418
<sect2 id="c1s2s4">
419
<title>Object Interaction by Signals and Slots</title>
420
<para>
421
Now we're coming to the most obvious advantages of the Qt toolkit: the signal/slot mechanism. 
422
This offers a very handy and useful solution to object interaction, which usually is solved by 
423
callback functions for X-Window toolkits. As this communication requires a strict programming and 
424
sometimes makes user interface creation very difficult (as referred by the Qt documentation and explained 
425
in Programming with Qt by K.Dalheimer), Troll Tech invented a new system where objects can emit signals
426
that can be connected to methods declared as slots. For the C++ part of the programmer, he only has to know 
427
some things about this mechanism: 
428
<itemizedlist>
429
<listitem><para>
430
the class declaration of a class using signals/slots has to contain the Q_OBJECT macro at the beginning
431
(without a semicolon); and have to be derved from the <classname>QObject</classname> class
432
</para></listitem>
433
<listitem><para>
434
a signal can be emitted by the keyword emit, e.g. emit signal(parameters); from within any member function
435
of a class that allows signals/slots
436
</para></listitem>
437
438
<listitem><para>
439
all signals used by the classes that are not inherited have to be added to the class declaration by a
440
signals section
441
</para></listitem>
442
<listitem><para>
443
all methods that can be connected with a signal are declared in sections with the additional keyword slot,
444
e.g. public slots: within the class declaration
445
</para></listitem>
446
<listitem><para>
447
the meta-object compiler moc has to run over the header file to expand the macros and to produce the
448
implementation (which is not necessary to know).  The output files of moc are compiled also by the C++ compiler.
449
</para></listitem>
450
</itemizedlist>
451
</para>
452
<para>
453
Another way to use signals without deriving from <classname>QObject</classname> is to use the 
454
<classname>QSignal</classname> class- see the reference documentation for more information and example
455
usage. In the following, we assume you're deriving from <classname>QObject</classname>. 
456
</para>
457
<para>
458
This way, your class is able to send signals anywhere and to provide slots that signals can connect 
459
to. By using the signals, you don't have to care about who's receiving it- you just have to emit the 
460
signal and whatever slot you want to connect to it can react to the emission. Also the slots can be used 
461
as normal methods during implementation. 
462
</para>
463
<para>
464
Now, to connect a signal to a slot, you have to use the <methodname>connect()</methodname> methods that 
465
are provided by <classname>QObject</classname> or, where available, special methods that objects provide 
466
to set the connection for a certain signal. 
467
</para>
468
469
<sect3 id="c1s2s4s1">
470
<title>Sample Usage</title>
471
<para>
472
To explain the way how to set up object-interaction, we'll take our first example again and extend it by a
473
simple connection:
474
<programlisting>
475
#include &lt;qapplication.h>
476
#include &lt;qpushbutton.h>
477
478
int main( int argc, char **argv )
479
{
480
QApplication a( argc, argv );
481
482
QPushButton hello( "Hello world!" , 0);
483
hello.resize( 100, 30 );
484
485
a.setMainWidget( &amp;hello );
486
487
QObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
488
489
hello.show();
490
return a.exec();
491
}
492
</programlisting>
493
</para>
494
<para>
495
You see, the only addition to give the button more interaction is to use a <methodname>connect()
496
</methodname> method: <methodname>connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ))</methodname>;
497
is all you have to add. What is the meaning now? The class declaration of QObject says about the 
498
<methodname>connect()</methodname> method: 
499
</para>
500
<para><methodname>
501
bool connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member ) 
502
</methodname></para>
503
<para>
504
This means you have to specify a <classname>QObject</classname> instance pointer that is the sender 
505
of the signal, meaning that it can emit this signal as first parameter; then you have to specify the signal 
506
that you want to connect to. The last two parameters are the receiver object that provides a slot, followed 
507
by the member function which actually is the slot that will be executed on signal emission. 
508
</para>
509
<para>
510
By using signals and slots, your program's objects can interact with each other easily without explicitly 
511
depending on the type of the receiver object. You will learn more about using this mechanism for productive 
512
usage later in this handbook. More information about the Signals/Slot mechanism can also be found in 
513
<ulink url="developer.kde.org/documentation/library/libraryref.html">The KDE Library Reference Guide</ulink> 
514
and the <ulink url="doc.trolltech.com">Qt online reference</ulink>.
515
</para>
516
</sect3>
517
</sect2>
518
</sect1>
519
520
<sect1 id="c2s3">
521
<title>What KDE provides</title>
522
<sect2 id="c2s3s1">
523
<title>The KDE 3.x libraries</title>
524
<para>
525
The main KDE libraries you'll be using for creating your own TDE applications are:
526
<itemizedlist>
527
<listitem><para>
528
the tdecore library, containing all classes that are non-visible elements to provide application functionality
529
</para></listitem>
530
<listitem><para>
531
the tdeui library, containing user interface elements like menubars, toolbars, etc.
532
</para></listitem>
533
<listitem><para>
534
the tdefile library, containing the file selection dialogs
535
</para></listitem>
536
</itemizedlist>
537
</para>
538
<para>
539
Additionally, for specific solutions KDE offers the following libraries:
540
<itemizedlist>
541
<listitem><para>
542
the tdefx library, containing pixmaps, image effects the TDEStyle extension to QStyle
543
</para></listitem>
544
<listitem><para>
545
the tdehtml library, containing KDE's html component
546
</para></listitem>
547
<listitem><para>
548
the kjs library, containing KDE's Javascript support
549
</para></listitem>
550
<listitem><para>
551
the tdeio library, containing low level access to network files
552
</para></listitem>
553
<listitem><para>
554
the tdeparts library, containing support for re-usable embeddable extendable applications
555
</para></listitem>
556
</itemizedlist>
557
</para>
558
<para>
559
Next we'll have a look at what is needed to turn out first Qt Application into a KDE one.
560
</para>
561
</sect2>
562
<sect2 id="c2s3s2">
563
<title>Example KDE Application</title>
564
<para>
565
In the following, you will see that writing a KDE application is not much more difficult than a 
566
Qt application. For the use of KDE's features, you just have to use some other classes, and you're almost 
567
done. As an example, we'll discuss the changed version of the Qt example from above: 
568
<programlisting>
569
#include &lt;tdeapplication.h>
570
#include &lt;qpushbutton.h>
571
572
int main( int argc, char **argv )
573
{
574
TDEApplication a( argc, argv );
575
576
QPushButton hello( "Hello world!", 0 );
577
hello.resize( 100, 30 );
578
579
a.setTopWidget( &amp;hello );
580
581
QObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
582
583
hello.show();
584
return a.exec();
585
}
586
</programlisting>
587
</para> 
588
<para>
589
You see that first we have changed from <classname>QApplication</classname> to <classname>TDEApplication
590
</classname>. Further, we had to change the previously used <methodname>setMainWidget()</methodname> method 
591
to <methodname>setTopWidget</methodname>, which <classname>TDEApplication</classname> uses to set the main 
592
widget. That's it! Your first KDE application is ready - you only have to tell the compiler the KDE 
593
include path and the linker to link in the tdecore library with -ltdecore. 
594
</para>
595
<para>
596
As you now know what at least the <function>main()</function> function provides generally and how an 
597
application gets visible and allows user and object interaction, we'll go on with the next chapter, 
598
where our first application is made with &tdevelop;.  There you can also test everything which was 
599
mentioned before and see the effects. 
600
</para>
601
<para>
602
What you should have looked into additionally until now is the reference documentation for Qt, 
603
especially the <classname>QApplication</classname>, <classname>QWidget</classname> and <classname>QObject
604
</classname> class and the tdecore library documentation for the <classname>TDEApplication</classname> class. 
605
The <ulink url="developer.kde.org/documentation/library/libraryref.html">KDE Library Reference handbook</ulink> 
606
also covers a complete description about the invocation of the <classname>QApplication</classname> and 
607
<classname>TDEApplication</classname> constructors including command-line argument processing. 
608
</para>
609
</sect2>
610
</sect1>
611
612
</chapter>
613
614
<chapter id="chapter3">
615
<title>Creating New Applications</title>
616
617
<sect1 id="c3s1">
618
<title>The Application Wizard</title>
619
<para>
620
&tdevelop;'s Application Wizard is intended to let you start working on new project with &tdevelop;.  Therefore 
621
all of your projects are first created by the wizard, and then you can start building them and extend what is 
622
already provided by the source skeleton.  You can choose from several project types according to your project goals:
623
<itemizedlist>
624
<listitem><para>
625
KDE Application Framework: includes source code for a complete frame structre of a standard KDE application
626
</para></listitem>
627
<listitem><para>
628
QMake Project: Creates an application framework based around Trolltech's qmake configuration system
629
</para></listitem>
630
<listitem><para>
631
Simple hello world program: Creates a C++ terminal based program with no GUI support
632
</para></listitem>
633
<listitem><para>
634
A multitude of other program skeletons
635
</para></listitem>
636
</itemizedlist>
637
</para>
638
<para>
639
In this chapter we'll see how the Application Wizard can be invoked and what has to be done to generate 
640
a KDE application project.  This will also be the initial step of our coverage, where we will create the 
641
initial version of a sample project.  For all other project types the steps are usualyl the same, but you 
642
may not have as many options available.
643
</para>
644
</sect1>
645
646
<sect1 id="c3s2">
647
<title>Invoking the Application Wizard and Project Generation</title>
648
<sect2 id="c3s2s1">
649
<title>Starting the Application Wizard and the First Page</title>
650
<para>
651
To start with your KDE application, open &tdevelop;.  From the Project menu, selection New Project.  The 
652
Application Wizard starts, and you'll see the selection tree on the first page containing available project 
653
types that can be created.  Choose the C++ subtree, then KDE, then Application Framework.
654
</para>
655
<para>
656
For our sample project, we are going to create the application KScribble.  Enter this as the application 
657
name, and change any other information at the bottom of this screen that may need it.  Then, select Next.
658
<screenshot><mediaobject><imageobject>
659
<imagedata fileref="appwizard.png" format="PNG"/>
660
</imageobject><textobject><phrase>Application Wizard</phrase></textobject>
661
</mediaobject></screenshot>
662
</para>
663
</sect2>
664
<sect2 id="c3s2s2">
665
<title>Version control information</title>
666
<para>
667
On this screen you have the ability to decide if your project will use a version control system like
668
CVS.  For our sample project we will not use source control, so make sure the selection box reads None 
669
and select Next.
670
</para>
671
</sect2>
672
<sect2 id="c3s2s3">
673
<title>Header and Source Templates</title>
674
<para>
675
The next two pages show example headers that will go at the top of each of the header and source files that 
676
you create using &tdevelop;.  For now, just leave these as the default, and select Next, then Finish.  If the
677
Finish button is not activated, you haven't set all of the options correct.  Use the Back button to return
678
to earlier menus and correct any mistakes.
679
</para>
680
</sect2>
681
<sect2 id="c3s2s4">
682
<title>Finishing Up</title>
683
<para>
684
Upon completion, the Application Wizard should close and the messages window should popup displaying
685
information about the tasks that &tdevelop; is currently doing.  At the end of all of the tasks, you
686
should see **** Success *****.  This means the application framework was successfully loaded.
687
</para>
688
</sect2>
689
</sect1>
690
691
<sect1 id="c3s3">
692
<title>The First Build</title>
693
<para>
694
After our project is generated, we'll first make a trip through the source code to get a general understanding
695
of how the application framework looks.  This won't only help us get started, but we'll know where to change 
696
what in later steps.
697
</para>
698
<para>
699
This chapter makes the assumption that you understand the basic navigation of &tdevelop;.  Consult the
700
KDevelop User Manual for information if you need it.
701
</para>
702
<para>
703
The Automake manager shows the project files as follows:
704
<screenshot><mediaobject><imageobject>
705
<imagedata fileref="kscribblefiles.png" format="PNG"/>
706
</imageobject><textobject><phrase>Files in our project</phrase></textobject>
707
</mediaobject></screenshot>
708
</para>
709
<para>
710
Before diving into the sources, we'll let &tdevelop; build an run our new application.  To do this, select
711
Build Project from the Build menu, or press F8.  The output window opens and displays output messages during
712
the compilation phase.
713
<programlisting>
714
1 cd /home/caleb/kscribble &amp;&amp; WANT_AUTOCONF_2_5=1 WANT_AUTOMAKE_1_6=1 gmake k
715
2 gmake all-recursive
716
3 gmake[1]: Entering directory `/home/caleb/kscribble'
717
4 Making all in doc
718
5 gmake[2]: Entering directory `/home/caleb/kscribble/doc'
719
6 Making all in .
720
7 gmake[3]: Entering directory `/home/caleb/kscribble/doc'
721
8 gmake[3]: Nothing to be done for `all-am'.
722
9 gmake[3]: Leaving directory `/home/caleb/kscribble/doc'
723
10 Making all in en
724
11 gmake[3]: Entering directory `/home/caleb/kscribble/doc/en'
725
12 /usr/local/trinity/bin/meinproc --check --cache index.cache.bz2 /home/caleb/kscribble/doc/en/index.docbook
726
13 gmake[3]: Leaving directory `/home/caleb/kscribble/doc/en'
727
14 gmake[2]: Leaving directory `/home/caleb/kscribble/doc'
728
15 Making all in po
729
16 gmake[2]: Entering directory `/home/caleb/kscribble/po'
730
17 gmake[2]: Nothing to be done for `all'.
731
18 gmake[2]: Leaving directory `/home/caleb/kscribble/po'
732
19 Making all in src
733
20 gmake[2]: Entering directory `/home/caleb/kscribble/src'
734
21 source='main.cpp' object='main.o' libtool=no \
735
22 depfile='.deps/main.Po' tmpdepfile='.deps/main.TPo' \
736
23 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
737
24 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
738
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
739
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
740
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
741
   -c -o main.o `test -f 'main.cpp' || echo '/home/caleb/kscribble/src/'`main.cpp
742
25 /usr/lib/qt/bin/moc /home/caleb/kscribble/src/kscribble.h -o kscribble.moc
743
26 source='kscribble.cpp' object='kscribble.o' libtool=no \
744
27 depfile='.deps/kscribble.Po' tmpdepfile='.deps/kscribble.TPo' \
745
28 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
746
29 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
747
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
748
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
749
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
750
   -c -o kscribble.o `test -f 'kscribble.cpp' || echo '/home/caleb/kscribble/src/'`kscribble.cpp
751
30 kscribble.cpp: In member function `void KScribble::setupActions()'
752
31 kscribble.cpp:107: warning: unused variable `TDEAction*custom'
753
32 /usr/lib/qt/bin/moc /home/caleb/kscribble/src/kscribbleview.h -o kscribbleview.moc
754
33 source='kscribbleview.cpp' object='kscribbleview.o' libtool=no \
755
34 depfile='.deps/kscribbleview.Po' tmpdepfile='.deps/kscribbleview.TPo' \
756
35 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
757
36 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
758
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
759
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi 
760
   -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -c 
761
   -o kscribbleview.o `test -f 'kscribbleview.cpp' || echo '/home/caleb/kscribble/src/'`kscribbleview.cpp
762
37 kscribbleview.cpp: In member function `void KScribbleView::print(QPainter*,
763
38  int, int)':
764
39 kscribbleview.cpp:79: warning: unused parameter `QPainter*p'
765
40 kscribbleview.cpp:79: warning: unused parameter `int height'
766
41 kscribbleview.cpp:79: warning: unused parameter `int width'
767
42 /usr/lib/qt/bin/moc /home/caleb/kscribble/src/pref.h -o pref.moc
768
43 source='pref.cpp' object='pref.o' libtool=no \
769
44 depfile='.deps/pref.Po' tmpdepfile='.deps/pref.TPo' \
770
45 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
771
46 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
772
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
773
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
774
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
775
   -c -o pref.o `test -f 'pref.cpp' || echo '/home/caleb/kscribble/src/'`pref.cpp
776
47 /usr/local/trinity/bin/dcopidl /home/caleb/kscribble/src/kscribbleiface.h > kscribbleiface.kidl || 
777
   ( rm -f kscribbleiface.kidl ; /bin/false )
778
48 /usr/local/trinity/bin/dcopidl2cpp --c++-suffix cpp --no-signals --no-stub kscribbleiface.kidl
779
49 source='kscribbleiface_skel.cpp' object='kscribbleiface_skel.o' libtool=no \
780
50 depfile='.deps/kscribbleiface_skel.Po' tmpdepfile='.deps/kscribbleiface_skel.TPo' \
781
51 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
782
52 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
783
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
784
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
785
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
786
   -c -o kscribbleiface_skel.o `test -f 'kscribbleiface_skel.cpp' || 
787
   echo '/home/caleb/kscribble/src/'`kscribbleiface_skel.cpp
788
53 /bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall 
789
   -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 
790
   -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -o kscribble -R 
791
   /usr/local/trinity/lib -R /usr/lib/qt/lib -R /usr/X11R6/lib -L/usr/X11R6/lib -L/usr/lib/qt/lib 
792
   -L/usr/local/trinity/lib main.o kscribble.o kscribbleview.o pref.o kscribbleiface_skel.o -ltdeio 
793
54 source='kscribble_client.cpp' object='kscribble_client.o' libtool=no \
794
55 depfile='.deps/kscribble_client.Po' tmpdepfile='.deps/kscribble_client.TPo' \
795
56 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
796
57 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
797
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
798
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
799
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
800
   -c -o kscribble_client.o `test -f 'kscribble_client.cpp' || echo 
801
   '/home/caleb/kscribble/src/'`kscribble_client.cpp
802
58 /bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor -Wno-long-long -Wundef 
803
   -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 
804
   -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -o kscribble_client -R 
805
   /usr/local/trinity/lib -R /usr/lib/qt/lib -R /usr/X11R6/lib -L/usr/X11R6/lib -L/usr/lib/qt/lib 
806
   -L/usr/local/trinity/lib kscribble_client.o -ltdecore 
807
59 gmake[2]: Leaving directory `/home/caleb/kscribble/src'
808
60 gmake[2]: Entering directory `/home/caleb/kscribble'
809
61 gmake[2]: Nothing to be done for `all-am'.
810
62 gmake[2]: Leaving directory `/home/caleb/kscribble'
811
63 gmake[1]: Leaving directory `/home/caleb/kscribble'
812
64 *** Success ***
813
</programlisting>
814
</para>
815
<para>
816
As you can see, we've put line numbers in front of each line which won't appear on your output but it makes it
817
easier to describe what is happening during the build.  First of all, gmake works recursively.  This means
818
that it starts from the directory it is invoked and goes into the subdirectories first, one at a time, then
819
returns to the directory it was started, processes it, then finishes.
820
</para>
821
<para>
822
Our first line of interest is 24.  Notice on this line that g++, which is our C++ compiler, gets called by make
823
to compile the first source code file in our project - in this case main.cpp.  Many extra command line options
824
are also being used with the g++ compiler; some of which are defaults and some of which can be configured 
825
via &tdevelop;.
826
</para>
827
<para>
828
Before the next file (kscribble.cpp, line 29) is compiled, the moc (meta object compiler) is first
829
invoked on kscribble.h (line 25).  This is because KScribble classes use signals/slots, so the 
830
Q_OBJECT macro must be expanded, and the moc does this for us.  The resultant file, kscribble.moc, is
831
used by kscribble.cpp via an #include statement inside of the file.
832
</para>
833
</sect1>
834
835
<sect1 id="c3s4">
836
<title>The source skeleton</title>
837
<para>
838
To conceptualize how a KDE application works, we'll first have a very close look at the source 
839
skeleton already provided by the Application Wizard. As we already saw, we're having a set of source 
840
and header files that build the initial code for the application and make it ready-to-run. Therefore, 
841
the easiest way to explain the code is to follow the implementation line by line as it is processed 
842
during executing the program until it enters the main event loop and is ready to accept user input. 
843
Then, we'll have a look at the functionality that enables user interaction and how certain things work. 
844
This is probably the best way to explain the framework and, as it is similar to almost all KDE 
845
applications, will enable you to read source codes from other projects as well; additionally, you will 
846
know where to change what part of the code to make your applications behave the way they are designed for. 
847
</para>
848
849
<sect2 id="c3s4s1">
850
<title>The main() function</title>
851
<para>
852
As the application begins its execution with entering the <function>main()</function> function, 
853
this will be the start for our code examination. The <function>main()</function> function of 
854
KScribble is implemented in the file main.cpp and can also be found using the Class Browser 
855
by selecting the "Global Functions" folder.
856
<programlisting>
857
1  int main(int argc, char **argv)
858
2  {
859
3      TDEAboutData about("kscribble", I18N_NOOP("KScribble"), version, description,
860
4                       TDEAboutData::License_GPL, "(C) 2002 Your Name", 0, 0, "you@you.com");
861
5      about.addAuthor( "Your Name", 0, "you@you.com" );
862
6      TDECmdLineArgs::init(argc, argv, &amp;about);
863
7      TDECmdLineArgs::addCmdLineOptions(options);
864
8      TDEApplication app;
865
9  
866
10    // register ourselves as a dcop client
867
11    app.dcopClient()->registerAs(app.name(), false);
868
12 
869
13    // see if we are starting with session management
870
14    if (app.isRestored())
871
15        RESTORE(KScribble)
872
16    else
873
17    {
874
18        // no session.. just start up normally
875
19        TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
876
20        if (args->count() == 0)
877
21        {
878
22            KScribble *widget = new KScribble;
879
23            widget->show();
880
24        }
881
25        else
882
26        {
883
27            int i = 0;
884
28            for (; i &lt; args->count(); i++)
885
29            {
886
30                KScribble *widget = new KScribble;
887
31                widget->show();
888
32                widget->load(args->url(i));
889
33            }
890
34        }
891
35        args->clear();
892
36    }
893
37
894
38    return app.exec();
895
39 }
896
</programlisting>
897
</para> 
898
<para>
899
Now, what happens first is the usual creation of a <classname>TDEApplication</classname> object, but we've
900
added some KDE methods that set program and author information for this application.
901
</para>
902
</sect2>
903
<sect2>
904
<title>User Application Start</title>
905
906
<para>... (not written yet)</para>
907
908
</sect2>
909
<sect2>
910
<title>The Constructor</title>
911
<para>
912
Let's have a look at the constructor and see how this instance is called
913
<programlisting>
914
1  KScribble::KScribble()
915
2      : TDEMainWindow( 0, "KScribble" ),
916
3        m_view(new KScribbleView(this)),
917
4        m_printer(0)
918
5  {
919
6      // accept dnd
920
7      setAcceptDrops(true);
921
8  
922
9      // tell the TDEMainWindow that this is indeed the main widget
923
10     setCentralWidget(m_view);
924
11 
925
12     // then, setup our actions
926
13     setupActions();
927
14 
928
15     // and a status bar
929
16     statusBar()->show();
930
17 
931
18     // allow the view to change the statusbar and caption
932
19     connect(m_view, SIGNAL(signalChangeStatusbar(const QString&amp;)),
933
20             this,   SLOT(changeStatusbar(const QString&amp;)));
934
21     connect(m_view, SIGNAL(signalChangeCaption(const QString&amp;)),
935
22             this,   SLOT(changeCaption(const QString&amp;)));
936
23
937
24  }
938
</programlisting>
939
</para>
940
<para>
941
Notice that <classname>KScribble</classname> inherits the <classname>TDEMainWindow</classname> class - a 
942
commonly used base class for TDE applications.  We initialize a class called <classname>KScribbleView</classname>
943
as our central widget, create a <classname>KStatusBar</classname> via the <methodname>statusBar()</methodname>
944
method (line 16), and connect some signals and slots together.
945
</para>
946
</sect2>
947
</sect1>
948
</chapter>
949
950
951
<chapter id="chapter4">
952
<title>Application View Design</title>
953
<sect1 id="c4s1">
954
<title>Introduction</title>
955
<para>
956
When developing an application with a graphical user interface, the main work takes place in 
957
providing a so-called "view" for the application. A view generally is a widget that displays the data 
958
of a document and provides methods to manipulate the document contents. This can be done by the user via
959
the events he emits by the keyboard or the mouse; more complex operations are often processed by toolbars
960
and menubars which interact with the view and the document. The statusbar then provides information about
961
the document, view or application status. As an example, we look at how an editor is constructed and where
962
we can find which part. 
963
</para>
964
<para>
965
An editor generally is supposed to provide an interface to view and/or change the contents of a text
966
document for the user. If you start Kate, you see the visual interface as the following: 
967
<itemizedlist>
968
<listitem><para>
969
The menubar: providing complex operations as well as opening, saving and closing files and 
970
exiting the application.
971
</para></listitem>
972
<listitem><para>
973
The toolbar: offers icons which allow quicker access for most needed functions,
974
</para></listitem>
975
<listitem><para>
976
The statusbar: displays the status of the cursor position by the current row and column,
977
</para></listitem>
978
<listitem><para>
979
The view in the center of the window, displaying a document and offering a cursor connected to 
980
the keyboard and the mouse to operate on the data.
981
</para></listitem>
982
</itemizedlist>
983
</para>
984
<para>
985
Now it's easy to understand that a view is the most unique part of the application and the design
986
of the view decides about the usability and acceptability of an application. This means that one of
987
the first steps in development is to determine the purpose of the application and what kind of view
988
design would match best to allow any user to work with the application with a minimum of work 
989
learning how to handle the user interface. 
990
</para>
991
<para>
992
For some purposes like text editing and displaying HTML files, views are provided by the Qt and KDE
993
libraries; we will discuss certain aspects of these high-level widgets in the next section. 
994
But for most applications new widgets have to be designed and implemented. It is that what makes a 
995
programmer also a designer and where his abilities on creativity are asked. Nevertheless, you should 
996
watch for intuitivity first. Remember, a lot of users won't accept an application that isn't:
997
<itemizedlist>
998
<listitem><para>
999
graphically nice.
1000
</para></listitem>
1001
<listitem><para>
1002
offering a lot of features
1003
</para></listitem>
1004
<listitem><para>
1005
easy to handle
1006
</para></listitem>
1007
<listitem><para>
1008
fast to learn how to use it
1009
</para></listitem>
1010
</itemizedlist>
1011
</para>
1012
<para>
1013
Needless to say that stability is a major design goal. Nobody can prevent bugs, but a minimum can
1014
be reached at least by clever design goals and wide use of object-oriented design. C++ makes programming
1015
a joy if you know how to exploit it's capabilities- inheritance, information hiding and reusablitity of
1016
already existing code. 
1017
</para>
1018
<para>
1019
When creating a KDE or Qt project, you always have to have a view that inherits QWidget, either by 
1020
direct inheritance or because the library widget you want to use inherits QWidget. Therefore, the 
1021
Application Wizard already constructed a view that is an instance of a class yourappView, which 
1022
inherits QWidget already.
1023
</para>
1024
<para>
1025
This chapter therefore describes how to use library widgets for creating views of KDE or 
1026
Qt applications that are generated with &tdevelop;, then we look at the libraries and what kind of 
1027
views are already offered. 
1028
</para>
1029
</sect1>
1030
<sect1 id="c4s2">
1031
<title>Using Library Views</title>
1032
<para>
1033
When your application design has been set up, you first should look for already existing code that 
1034
will make your life a lot easier. A part of this search is to look for a widget that can be used as 
1035
a view or at least as a part of it; either directly or by inheritance. The KDE and Qt libraries already 
1036
contain a set of widgets that can be used for this purpose. To use them, you have two options: 
1037
<orderedlist>
1038
<listitem><para>
1039
Remove the new view class and create an instance of a library widget; then set this as the view,
1040
</para></listitem>
1041
<listitem><para>
1042
Change the inheritance of the provided view class to the class of the library widget to use.
1043
</para></listitem>
1044
</orderedlist>
1045
</para>
1046
<para>
1047
In either way, it is important to know that if the application framework is currently not linked 
1048
against the library that contains the widget, the linker will fail. After you decided to use a 
1049
certain widget, look for the library to link to; then open "Project"->"Options" from the &tdevelop; 
1050
menubar. Switch to the "Linker Options" page and look for the checkmarks indicating the libraries 
1051
that are currently used. If the library of your view widget is already checked, you can leave the 
1052
project options untouched and start doing the necessary changes due to your choice. If not, and the 
1053
linker options offer to add the library by a check box, check it and press "OK" to leave the project 
1054
options dialog again. In any other case, add the library in the edit line below with the -l option. 
1055
For libraries that your application has to search for before preparing the Makefiles by the 
1056
configure script on the end-user machine, add the according search macro to the configure.in file 
1057
located at the root directory of your project and add the macro to the edit line. Mind that you have 
1058
to run "Build"->"Autoconf and automake" and "Build"->"Configure" before the Makefiles contain the 
1059
correct expansion for the library macro. 
1060
</para>
1061
<para>
1062
Also, if the include files for the library to add are not in the current include path 
1063
(which can be seen by the -I options in the output window on "Make"), you have to add the path to the 
1064
Project Options dialog -"Compiler Options" page with the -I option or the according automake macro at 
1065
the edit line for "Additional Options". 
1066
</para>
1067
<sect2 id="c4s3s1">
1068
<title>Qt Views</title>
1069
<para>
1070
Looking at the first page of the Qt online documentation, you will find a link to 
1071
"Widget Screenshots" where you can have a look at how the widgets Qt contains look like. 
1072
These are ready to use and can be combined together to form complex widgets to create application 
1073
views or dialogs. In the following, we'll discuss some of these which are very usable for creating 
1074
application views, but keep in mind that the KDE libraries sometimes contain other widgets for the 
1075
same purpose; those will be reviewed in the next section. 
1076
</para>
1077
<para>
1078
Here are a set of hints for what purpose you could use which Qt component: 
1079
<orderedlist>
1080
<listitem><para>
1081
If your view area isn't big enough to display all your data, the user must be enabled to scroll
1082
over the document with bars on the left and bottom of the view. For this, Qt provides the class
1083
<classname>QScrollView</classname>, which offers a scrollable child area. As explained, you could 
1084
inherit your own widget from <classname>QScrollView</classname> or use an instance to manage your 
1085
document's view widget.
1086
</para></listitem> 
1087
<listitem><para>
1088
to create a ScrollView yourself, inherit the View widget from  <classname>QWidget</classname> 
1089
and add vertical and horizontal  <classname>QScrollBars </classname>. 
1090
(This is done by KDE`s TDEHTMLView widget.)
1091
</para></listitem> 
1092
<listitem><para> 
1093
For text processing, use <classname>QTextEdit</classname>. This class provides a complete 
1094
text editor widget that is already capable to cut, copy and paste text and is managed by a scrollview.
1095
</para></listitem> 
1096
<listitem><para> 
1097
Use <classname>QTable</classname> to display data that is arranged in a table. 
1098
As <classname>QTable</classname> is managed by scrollbars as well, it offers a good solution for 
1099
table calculation applications.
1100
</para></listitem> 
1101
<listitem><para> 
1102
To display two different widgets or two widget instances at the same time, use <classname>QSplitter
1103
</classname>. This allows to tile views by horizontal or vertical dividers. 
1104
KMail is a good example what this would look like- the main view is separated by a
1105
splitter vertically, the right window then is divided again horizontally.
1106
</para></listitem> 
1107
<listitem><para> 
1108
<classname>QListView</classname> displays information in a list and tree. 
1109
This is useful for creating file trees or any other hierarchical information you want to interact with.
1110
</para></listitem> 
1111
</orderedlist>
1112
</para>
1113
<para>
1114
You see that Qt alone offers a whole set of widgets which are ready to use so you don't have to invent
1115
new solutions if these match your needs. The sideffect when using standard widgets is that users already
1116
know how to handle them and only have to concentrate on the displayed data.
1117
</para>
1118
</sect2>
1119
<sect2 id="c4s3s2">
1120
<title>KDE Views</title>
1121
<para>
1122
The KDE libraries were invented to make designing applications for the K Desktop Environment easier
1123
and capable of more functionality than what Qt alone is offering. The tdeui library offers: 
1124
<orderedlist>
1125
<listitem><para>
1126
TDEListView: a more powerful version of <classname>QListView</classname>
1127
</para></listitem>
1128
<listitem><para>
1129
TDEIconView: a graphical viewer of icon files
1130
</para></listitem>
1131
</orderedlist>
1132
</para>
1133
<para>
1134
The tdehtml library, on the other hand, offers a complete HTML-interpreting widget that is ready to use.
1135
It is scrollable already, so you don't even have to take care for that. A possible use could be to
1136
integrate it as a preview widget for an HTML editor; used by applications such as Konqueror to display HTML files. 
1137
</para>
1138
</sect2>
1139
</sect1>
1140
<sect1 id="c4s4">
1141
<title>Creating your own Views</title>
1142
<para>
1143
Not yet written
1144
</para>
1145
</sect1>
1146
</chapter>
1147
1148
<chapter id="chapter5">
1149
<title>Configuring Menubars and Toolbars</title>
1150
<sect1 id="c5s1">
1151
<title>Introduction</title>
1152
<para>
1153
Menubars and toolbars are one of the most important parts of an application to provide methods to
1154
work with a document structure. As a general rule, you should make all functions available by the menubar.
1155
Those methods that should not be available at a current stage of the application process should be
1156
disabled. 
1157
</para>
1158
<para>
1159
Further, an application can only contain one menubar, but several toolbars. 
1160
Toolbars on the other hand should contain only the most frequently used commands by pixmap 
1161
icons or provide quick access methods like combos to select values.
1162
</para>
1163
</sect1>
1164
<sect1 id="c5s2">
1165
<title>How does it work?</title>
1166
<para>
1167
Our application inherits the <classname>TDEMainWindow</classname> class, which automatically handles creating
1168
a menu bar and tool bars for us.  In the <methodname>KScribble::setupActions()</methodname> method there is
1169
a call to <methodname>TDEMainWindow::createGUI()</methodname>.  This method loads a resource file, in this
1170
case kscribbleui.rc, to initialize menus at startup.  Note that kscribbleui.rc is listed as one of the
1171
project files in the Automake Manager.  Opening that file up reveals this:
1172
<programlisting>
1173
1 &lt;!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
1174
2 &lt;kpartgui name="kscribble" version="1">
1175
3 &lt;MenuBar>
1176
4   &lt;Menu name="custom">&lt;text>C&amp;ustom&lt;/text>
1177
5     &lt;Action name="custom_action" />
1178
6   &lt;/Menu>
1179
7 &lt;/MenuBar>
1180
8 &lt;/kpartgui>
1181
</programlisting>
1182
</para>
1183
<para>
1184
Explanation...
1185
</para>
1186
<para>
1187
Another way to modify the contents of the menu and tool bars is to directly manipulate them through the
1188
methods provided by their class.  For example, the <methodname>menuBar()</methodname> method returns the
1189
<classname>KMenuBar</classname> widget that the menubar for our program.  Looking at the documentation for
1190
<classname>KMenuBar</classname> and its inheritor class <classname>QMenuBar</classname>, you will find
1191
a large number of <methodname>insertItem()</methodname> methods which allow you to add items to the
1192
menu bar.
1193
</para>
1194
<para>
1195
<classname>TDEMainWindow</classname>'s methods <methodname>statusBar()</methodname> and <methodname>
1196
toolBar()</methodname> will also provide you with applicable widgets.
1197
</para>
1198
</sect1>
1199
<sect1 id="c5s3">
1200
<title>Keyboard Accelerator Configuration</title>
1201
<para>
1202
A very professional thing you should always add to your application are keyboard accelerators.
1203
Those are mainly used by experienced users that want to work fast with their applications and 
1204
are willing to learn shortcuts. For this, the KDE libraries provide the class <classname>
1205
TDEAction</classname>, which provides the keyboard accelerator keys and access to global configured
1206
standard keyboard accelerators. 
1207
</para>
1208
<para>
1209
By default, frame applications generated by &tdevelop; only use standard keyboard accelerators
1210
such as F1 for accessing online-help, Ctrl+N for New File etc.
1211
</para>
1212
<para>
1213
If your application contains a lot of accelerators, you should make them configurable
1214
by an Options-menu; either it could be combined with other application configuration in a QWidget
1215
or stand alone. The KDE library already provides a <classname>KKeyChooser</classname>
1216
for use in tab dialogs, whereas <classname>KKeyDialog</classname> provides a ready-to use 
1217
key-configuration dialog. 
1218
</para>
1219
1220
</sect1>
1221
</chapter>
1222
1223
<!-- 
1224
<chapter id="chapter6">
1225
<title>Other Features</title>
1226
</chapter>
1227
1228
<chapter id="chapter7">
1229
<title>Printing Support</title>
1230
</chapter>
1231
-->
1232
<chapter id="chapter8">
1233
<title>Help Functions</title>
1234
<sect1 id="c8s1">
1235
<title>Introduction</title>
1236
<para>
1237
A very important part of the development process is to provide help functionality to the user
1238
wherever possible. Most developers tend to delay this, but you should remember that a normal user
1239
isn't necessarily a Unix expert. He may come from the the dark side of computer software usage offering
1240
all sweets that a user may need to work himself into using an application even without ever touching the
1241
manuals. Therefore, the KDE and Qt library provide all means usually considered making an application
1242
professional in the eyes of the normal user by help functions that are ready to use. 
1243
Within the application, those are:</para>
1244
<itemizedlist>
1245
<listitem><para>Tool-Tips</para></listitem>
1246
<listitem><para>Statusbar help</para></listitem>
1247
<listitem><para>What's this...? buttons</para></listitem>
1248
</itemizedlist>
1249
<para>
1250
Additionally, the application should provide means to access a HTML-based online manual directly
1251
using the standard help key F1.  This context based help system is provided automatically through the
1252
<classname>TDEMainWindow</classname> class, though as the author you must provide the content.
1253
</para>
1254
<para>
1255
As &tdevelop; also offers all types of help as well as the KDE framework generated by the 
1256
application wizard already contains support for this, this chapter will help you find out where 
1257
and how to add your help functionality. </para>
1258
<para>
1259
During the development of your application you should try to be consistent whatever you're doing;
1260
therefore you should do the necessary steps directly while extending the code. This will prevent you
1261
from diving into the code again and figuring out what your application does or what you intended by 
1262
certain parts of the code. 
1263
</para>
1264
</sect1>
1265
1266
<sect1 id="c8s2">
1267
<title>Tool-Tips</title>
1268
<para>
1269
A very easy means of providing help are tool-tips. Those are small help messages popping up while
1270
the user moves the mouse over a widget that provides a tool-tip and disappears when the mouse moves away.
1271
The most popular usage of tool-tips is made in toolbars where your tool-tips should be kept as small
1272
as possible because toolbars can be configured to display their contents in various ways: 
1273
either displaying the button, button with text on the right, button with text below, text only. 
1274
This possibility should be made configurable by the user, but isn't a must-be. The text is shown
1275
as a tool-tip anyway and a toolbar usually consists of buttons and other widgets like lineedits and 
1276
combo boxes. For a complete reference, see the <classname>TDEToolBar</classname> class reference located 
1277
in the tdeui library. 
1278
</para>
1279
<para>
1280
As an example, we have a look at the "New File" button in a generic application:
1281
</para>
1282
<para>
1283
There, the part i18n("New File") provides a tool-tip message. It is enclosed by the i18n()
1284
macro provided by kapp.h to translate the tool-tip towards the currently selected language. 
1285
</para>
1286
<para>
1287
Tool-tips can also be added to any custom widget by using the <classname>QToolTip</classname> 
1288
provided by Qt. An example of that would be:
1289
</para>
1290
</sect1>
1291
<sect1 id="c8s3">
1292
<title>Extending the Statusbar</title>
1293
<para>
1294
As the applications that inherit <classname>TDEMainWindow</classname> contain a statusbar as well, 
1295
it also offers a set of statusbar messages already for all menu and toolbar items. A statusbar 
1296
help message is a short message that extends the meaning of a tool-tip or can be seen as a replacement 
1297
for a tool-tip over menubar items and is (as the name suggests) displayed in the statusbar when the user 
1298
enters a menu and highlights the menu entry.
1299
</para>
1300
</sect1>
1301
<sect1 id="c8s4">
1302
<title>The <guibutton>What's This...?</guibutton> Button</title>
1303
<para>
1304
The <guibutton>What's This...?</guibutton> button provides help windows with the intention 
1305
that the user wants to get help about a certain widget within the working view or a toolbar item. 
1306
It is placed in the toolbar and gets activated once the user hits the button. The cursor changes 
1307
to an arrow cursor with a question mark like the button itself looks like. The the user can press on 
1308
a visible widget item and gets a help window. As an exercise, you could try this behavior with the 
1309
<guibutton>What's this...?</guibutton> button within &tdevelop;. 
1310
</para>
1311
<para>
1312
To add the What's This...? help to one of your widgets, use the static method 
1313
<methodname>QWhatsThis::add(QWidget *widget, const QString &amp;text)</methodname> 
1314
</para>
1315
</sect1>
1316
</chapter>
1317
1318
<chapter id="chapter9">
1319
<title>Documentation</title>
1320
<sect1 id="c9s1">
1321
<title>Introduction</title>
1322
<para>
1323
Due to the fact that projects often lack a complete set of user documentation, 
1324
all &tdevelop; projects contain a pre-build handbook that can be easily adapted; 
1325
therefore fulfiling another goal of KDE: providing enough online-help to support users that 
1326
are not familiar with an application. This chapter therefore introduces you on how to extend 
1327
the provided documentation template and what you have to do to make it available to the user. 
1328
</para>
1329
</sect1>
1330
<sect1 id="c9s2">
1331
<title>User Documentation</title>
1332
<para>
1333
The documentation for your project lies in projectdir/doc/en, or perhaps another directory if English
1334
isn't your native language.  Therein lies a file, index.docbook, in which the documentation is stored.
1335
The format for editing this file is explained on 
1336
<ulink url="http://i18n.kde.org/doc/markup/">KDE's documentation website</ulink>.
1337
</para>
1338
</sect1>
1339
<sect1 id="c9s3">
1340
<title>Programmer Documentation</title>
1341
<para>
1342
Another important part of the documentation is including a descriptive help for your class interfaces. 
1343
This will allow you and other programmers to use your classes by reading the HTML class documentation 
1344
that can be created with KDoc. &tdevelop; supports the use of KDoc completely by creating the 
1345
KDE-library documentation, also your application frameworks are already documented. To work yourself 
1346
into the provided code, it would be a good start to read the included documentation online. 
1347
The following describes what to do to get the API documentation, where &tdevelop; helps you add it 
1348
and what kind of special tags KDoc provides.
1349
</para>
1350
</sect1>
1351
</chapter>
1352
1353
<chapter id="chapter10">
1354
<title>Internationalization</title>
1355
<sect1 id="c10s1">
1356
<title>Introdction</title>
1357
<para>
1358
i18n is an internationalization system that is used to offer internationalized versions of an 
1359
application or project. The difficulty with writing applications is that they only support the 
1360
language they originally are composed with; visually this can be seen on labels, menu entries and the 
1361
like. The goal of the internationalization is to provide applications and library functions in the 
1362
language of the user; therefore enabling users that are not native speakers the original language to make 
1363
use of the provided functionality and feel more comfortable.
1364
</para>
1365
</sect1>
1366
<!-- 
1367
<sect1 id="c10s2">
1368
<title>How KDE support Internationalization</title>
1369
<para>
1370
</para>
1371
</sect1> -->
1372
</chapter>
1373
<!-- 
1374
<chapter id="chapter11">
1375
<title>Finding Errors</title>
1376
</chapter>
1377
1378
<chapter id="chapter12">
1379
<title>Licensing</title>
1380
</chapter>
1381
1382
<chapter id="chapter13">
1383
<title>References</title>
1384
</chapter>
1385
-->
1386
<chapter id="credits">
1387
<title>Credits</title>
1388
1389
<para>
1390
(... to be written ...)
1391
</para>
1392
1393
<!--CREDITS_FOR_TRANSLATORS-->
1394
1395
</chapter> <!-- credits -->
1396
1397
<appendix id="bibliography">
1398
<title>Bibliography</title>
1399
<bibliography>
1400
1401
<biblioentry>
1402
<title><ulink url="info://make/Top">GNU Make Manual</ulink></title>
1403
<authorgroup>
1404
<author><firstname>Richard M.</firstname><surname>Stallman</surname></author>
1405
<author><firstname>Roland</firstname><surname>McGrath</surname></author>
1406
</authorgroup>
1407
</biblioentry>
1408
1409
<biblioentry>
1410
<title><ulink url="info://automake/Top">GNU Automake</ulink></title>
1411
<authorgroup>
1412
<author><firstname>David</firstname><surname>MacKenzie</surname></author>
1413
<author><firstname>Tom</firstname><surname>Tromey</surname></author>
1414
</authorgroup>
1415
</biblioentry>
1416
1417
<biblioentry>
1418
<title><ulink url="info://autoconf/Top">GNU Autoconf</ulink></title>
1419
<authorgroup>
1420
<author><firstname>David</firstname><surname>MacKenzie</surname></author>
1421
<author><firstname>Ben</firstname><surname>Elliston</surname></author>
1422
</authorgroup>
1423
</biblioentry>
1424
1425
<biblioentry>
1426
<title><ulink url="info://gcc/Top">Using the GNU Compiler Collection</ulink></title>
1427
<author><firstname>Richard M.</firstname><surname>Stallman</surname></author>
1428
</biblioentry>
1429
1430
<biblioentry>
1431
<title><ulink url="info://libtool/Top">GNU Libtool</ulink></title>
1432
<authorgroup>
1433
<author><firstname>Gordon</firstname><surname>Matzigkeit</surname></author>
1434
<author><firstname>Alexandre</firstname><surname>Oliva</surname></author>
1435
<author><firstname>Thomas</firstname><surname>Tanner</surname></author>
1436
<author><firstname>Gary V.</firstname><surname>Vaughan</surname></author>
1437
</authorgroup>
1438
</biblioentry>
1439
1440
<biblioentry>
1441
<title>GNU Autoconf, Automake, and Libtool</title>
1442
<edition>1st edition</edition>
1443
<pubdate>October 2000</pubdate>
1444
<authorgroup>
1445
<author><firstname>Gary V.</firstname><surname>Vaughan</surname></author>
1446
<author><firstname>Ben</firstname><surname>Elliston</surname></author>
1447
<author><firstname>Tom</firstname><surname>Tromey</surname></author>
1448
<author><firstname>Ian Lance</firstname><surname>Taylor</surname></author>
1449
</authorgroup>
1450
<publisher><publishername>New Riders Publishing</publishername></publisher>
1451
<isbn>ISBN 1578701902</isbn>
1452
</biblioentry>
1453
1454
1455
<biblioentry>
1456
<title>Advanced Programming in the UNIX(R) Environment</title>
1457
<edition>1st edition</edition>
1458
<pubdate>June 1992</pubdate>
1459
<author><firstname>W. Richard</firstname><surname>Stevens</surname></author>
1460
<publisher><publishername>Addison-Wesley Pub Co</publishername></publisher>
1461
<isbn>ISBN 0201563177</isbn>
1462
</biblioentry>
1463
1464
<biblioentry>
1465
<title>Thinking in C++, Volume 1: Introduction to Standard C++</title>
1466
<edition>2nd Edition</edition>
1467
<pubdate>April 15, 2000</pubdate>
1468
<author><firstname>Bruce</firstname><surname>Eckel</surname></author>
1469
<publisher><publishername>Prentice Hall</publishername></publisher>
1470
<isbn>ISBN 0139798099</isbn>
1471
</biblioentry>
1472
1473
<biblioentry>
1474
<title>Open Source Development with CVS</title>
1475
<edition>2nd Edition</edition>
1476
<pubdate>October 12, 2001</pubdate>
1477
<authorgroup>
1478
<author><firstname>Karl</firstname><surname>Fogel</surname></author>
1479
<author><firstname>Moshe</firstname><surname>Bar</surname></author>
1480
</authorgroup>
1481
<publisher><publishername>The Coriolis Group</publishername></publisher>
1482
<isbn>ISBN 158880173X</isbn>
1483
</biblioentry>
1484
1485
<biblioentry>
1486
<title>Programming PHP</title>
1487
<edition>1st edition</edition>
1488
<pubdate>March 2002</pubdate>
1489
<authorgroup>
1490
<author><firstname>Rasmus</firstname><surname>Lerdorf</surname></author>
1491
<author><firstname>Kevin</firstname><surname>Tatroe</surname></author>
1492
</authorgroup>
1493
<publisher><publishername>O'Reilly &amp; Associates</publishername></publisher>
1494
<isbn>ISBN 1565926102</isbn>
1495
</biblioentry>
1496
1497
<biblioentry>
1498
<title>Programming Python</title>
1499
<edition>2nd Edition</edition>
1500
<pubdate>March 2001</pubdate>
1501
<author><firstname>Mark</firstname><surname>Lutz</surname></author>
1502
<publisher><publishername>O'Reilly &amp; Associates</publishername></publisher>
1503
<isbn>ISBN 0596000855</isbn>
1504
</biblioentry>
1505
1506
<biblioentry>
1507
<title>Gui Programming With Python : Using the Qt Toolkit</title>
1508
<edition>Bk&amp;Cd-r edition</edition>
1509
<pubdate>January 2002</pubdate>
1510
<author><firstname>Boudewijn</firstname><surname>Rempt</surname></author>
1511
<publisher><publishername>Opendocs Llc</publishername></publisher>
1512
<isbn>ISBN 0970033044</isbn>
1513
</biblioentry>
1514
1515
<biblioentry>
1516
<title>Programming Perl</title>
1517
<subtitle>The Camel book</subtitle>
1518
<edition>3rd Edition</edition>
1519
<pubdate>July 2000</pubdate>
1520
<authorgroup>
1521
<author><firstname>Larry</firstname><surname>Wall</surname></author>
1522
<author><firstname>Tom</firstname><surname>Christiansen</surname></author>
1523
<author><firstname>Jon</firstname><surname>Orwant</surname></author>
1524
</authorgroup>
1525
<publisher><publishername>O'Reilly &amp; Associates</publishername></publisher>
1526
<isbn>ISBN 0596000278</isbn>
1527
</biblioentry>
1528
1529
<biblioentry>
1530
<title>Learning Perl</title>
1531
<subtitle>The Lama book</subtitle>
1532
<edition>3rd Edition</edition>
1533
<pubdate>July 15, 2001</pubdate>
1534
<authorgroup>
1535
<author><firstname>Randal L.</firstname><surname>Schwartz</surname></author>
1536
<author><firstname>Tom</firstname><surname>Phoenix</surname></author>
1537
</authorgroup>
1538
<publisher><publishername>O'Reilly &amp; Associates</publishername></publisher>
1539
<isbn>ISBN 0596001320</isbn>
1540
</biblioentry>
1541
1542
</bibliography>
1543
1544
&underFDL;
1545
1546
1547
</appendix>
1548
1549
</book>
(-)tdevelop/doc/kde_app_devel/kscribblefiles.png (-69 lines)
Lines 1-69 Link Here
1
‰PNG
2
3
IHDRï”R€âXgAMA±üabKGDÿÿÿ ½§“	pHYsÒÝ~ütIMEÒÖ¼îh IDATxœíy\TÕûǟ;w–÷Ü*@Å%3·RÃ
K³Ô\’Ô\ëë·ÒM-͖oßJË
4
L3—~ùµRÃÜ
5
\@”EAÜEEf˜íÞ{~\ǹ÷îÌpÏûå‹.ϜóœçÜ9Μ9ŸûsfNÆ+PÀœ/×uŒP²ÿy,êéZ»˜;kŠ‹‚Á`$¡Sˆ „“kÖm´]gg—ð–ÉÈȟ>ýٚĆÁÔQ£ÙùPæÌ^X,ˆ¢½¾J¡P@BÂ< 1îC!¦AµóN’I*Hòn+½z…%$쩝«ZðL‡!k#DæÍÍw_H^Õ3yUOöW‚v4gdä?ž¶¨õW«H¥&àñ>#øûbµž'0ˆ©QyL}Gp¥±k{‚ÐK#ÇNz)yUÏþ¿K(ý’Wõì÷v(
6
&&扊
7
ƒNg8}ú[¸ÒPe0SjZ—¾ëÌ1UGÎ/ˆr떤‚ÍÕ÷è>ϨIqLýgÎÌÉy'ö#;çyísfNf/’VF£›;ÐÕ-)ÿB¦CHÿwÒÊhŠB:¹¼ÜPPp53³(#£0>>‘-6'—Nzl¥í×yí	BѰUØòÝl…m•±Ç¾¤Ê·ÓÆ7Ÿkâ§Ò6ëüá¾Ë¼…+Îm‹nÓ aÈ<„bÌW}øö¼i]Úvžýù_¼÷#CD­4Đ¼ªgÿW£ÒB¯_Ûõñ™ß¾ñkÞùÈ'=	hY­´RI*•ü
Zô]ZQôµíׯJ*†>úuŸUSæØÆ¥mt
8
•qñ¶k«±0ëÑÙÅwG¾°râBÞ~OÔì-¸~úŸUþÁ€Ë/Ìýø«õiY›¯¤•Öæv`êQ{b!(¸UØ-º´•üG^o4›)F…’¦ùײ¤º%C•;¹Út»¥ó6Ŕ€ÿ¼2ºÄ~b|¡o§gŽj¤V4j«€·¾:ùó» iÔã·m=ªuŽ‘	Ռf‡ÝۄÇî@;îCÓzðñ…KÙ
9
óm¸™*ð„@¥"€aÐöˆ¹â°ZÅ^ˎ¾5ge™º	}-1ÞòbÊðt‡l€ïK¨ïÿ™:ª3·P»ì¯ÆcT3š‘Àn†íïþVÓM`,ÔÒ_€¨ý@©$†Šb
10
þÑ|fý’&ݰ×qQÃú'–ÎèTYºöÁsí‹Q”D5e¤î§Ê1X#ýU®u‹q7.Œ7ÀtèJPkA£?h´@„B¡ ‚$‡²‰BTUùK½wî?›F°ÆÃ7M
‹U_úÞĤэ}m…#üUk³®;/ã>Øñõï³ã±+]ëã>\6šû/NKޑ¦[`ºqw(«´É[ÿŒ|-™-@@„ÃJÃW¥Ð6}gKѺ#¹/´òg‰ßÎ}«_û&Æ†}µnÎð[á-ŸM^Ö»uƒGú:)ã­9<èÔû1c'Lóì­½\ëã>ˆ93'ϙñ2÷ԑøýæ¹³¦ØÎi$¯êÙÿ)4‘"ðÐÞôns#„†¡(†¦i†AÅìß¿q‚ëf'_‘8¡ÿâ´äUÑg jî†aBÃ.²k$#
11
ל¡³§a̯ááÁF£ÅV‘­Jx@c܋ëÏÐedägdä×6¦ö¸fn®éý¹éÛjTƒƒæfû£úLâúusíꦦæñÚ33Ï̙ó\íšÆ<l¸E{R»ºÑÑ¡4ÍPm±X)ŠÑë
12
…àѵkwàƒ{µ'5­{<«0-û܉ÓE™¹ç³óKXctôãk×îpaHØ$*¼>ÅÅ7„q2š› W×N4ÍX­Ã0UUfŠb23ϰ/¹o†ö˜Dka܍\ÖÍ,ÇN0¢iša‹™Šm7thoÎ ÓUåæÕ.€j‘(Q1ßÊÛµït˨¡}Cºµ!Lµ¸^(¥n¯®zuíÔ«kç^];÷èґ$	ƒÁh4š¹Ç•ì`¶¾óÒ[ëS s݂MµJ6|À÷š·üôñG‹æ¿Ù.tÎöAº¢_z¶mبÃ|öWûeùó'ÆzbÌÂ+ƹ‘ÅxýÏèðñ¿îÜö\×¶«ÒÊX£½CÛ5÷ŒŠ}û¸1cÄ"¤¤²ì$O5Edݔ”\‹Åš”šó÷ÑÓgïO>¹{_úŽÝ©ë7íýacbJJîš5ÿãºeèªuï¾ñ[îmÖØRMî)¸i_,mIŸ•EwB¦òôØñß±7~õ[¹Ñt±Tï!TRBèЊ>'ïqnd/~ì×fK‰!t!qjƒ÷¸]ºvè‹}Hܘ1"5š=@JJ®ÙlÑë:]Uy¹®¬ìιs—óòJO:Ÿ]”™YÈÍ´åúŠ™ËKM”ÍøJpàäÿþ¦£›e@CŸKfÚ¡âeŽÅáÂR™¦ÖFŠ1vkÿ*{A[®“êæ¯:¹v7fŒHܾ§aïûӊbŽ,8žUpìdaʉü̜ó9gKs
13
Js
14
.(•$×g\¿§NçoL,¨°Y¾Éü»ÑáOZµéñuÒUÖ«"y¤:]‰Ê?ÒZå¸ÿÍkÌ)‰g—¤º9bŒÎÝ:+_\‚Û÷4ì=p:л[g‹Åj4ZØC¤ÃÐ4CÓoáþkL
15
×džÅö8y G€4ºÿw{ʤO:Ž5O—µU‘PÆ"µÖQÈkìÛ@³éº¾µšC‰ž5*	‚@M@m61°ò¥ÖxhnƒBA¤fžM=q63ç|fîù“¹ÅYy%YyŧÎó–ŸÒ½	©	Þ¼oքoTÒ÷‡{`»pÆzW0[S	ëçBâ’öãV81vöU}—}>™ùêºt MÅϚȾ:´‘Ï;‰g(ӝí+c…r²÷Œ•/µÆCs³HzDt0›­s÷€?BìnRz@`Ȅ]ö=1sóéøI
z|UJ!´»æöÕAk§¼:!flPCë•ÆßwÞz`ðK³'O'˜ÛWéNÿlèĸmõ”˜~mfêLÑËþ:çù辆µö'öÕu›ßyzjô×mÌô»jzj3ÆAíɅ$ì7‹$55¯K—CÇr™{áÄÐb1(âÑàƒÓñ÷ÛçÈhnFE…‡ ¬b…¦†AE³×SߑѺ™²¬öDNщÓçÙ_1‘ÈenÎÌ<c;’aãJÉw·‹ñ&Ü~NC$xMŒ‘ŽÛÏi`0Ãõs3Î{‚©+pތ÷àUyO¤ì½¸I‚õ&ž¤.óžpŸg¶yq“0¤nkšÞc£.óž8G¼¦1U'Ó²´!Qµ«Îâ&aH-ÜÖ4½æ>ÒóžØ’÷ÄÁRumwD‹ð^Œmæ°òøu[n®ÊX46ò±7?Y»|æPçÕÁ!¹ÉƒíÚêV›$…·e<ÿZÌÓ'OzfðË'+-"ݞøv~HRíÖ©}ûŠñ¸l4'­ŒF7~FePÙýÁ‰WÉß46-abÒÊèÊJóúÜÜK§N•de‹Í¼š¹;â|d¯¼³©!„³óêÀQð6
o$¨´X²¶Ïðkú"oIn]/v»£!t%)®mÌÿ‰tËËðތH\:šon@gÞAy‹tÆ¢¼E(ïM”ûFÒÊè«WÜ<wîzaáµ3g®Øf.ìK¼šŒõ¡P³×}5Yúûs¡“êÀQ<p#8
16
†ºC(|œ”´/ÐU«Î3XB”±Hå!Ò-W,ƒðh–@5Ÿ‰±·÷C›÷¤üÜݼ'€6Á½¼'J%I’¤ƒŠÄ!›WÓa,;:oÜðñ§Œú¤-×IF¥åq?ǃíB’jU'ô]8I
17
·@n•µ“¯HM[ÊxVd-®X#…jÞ]¡Ñ†óž!¨¥¿ŸÅ!ï	I*T*’$¼š(.}h.šï
18
þt…—Yc\Ô°ˆ÷7ý²yãëï§Tëì§Ì©²Š©îVÂüT%f
19
(c¾ÒWì¦+–ÉÝ2þߣFÙÛ)üÝk­¨ã¼'Bðj:xs,ÜjÑÏgÑΫ»•%ƒYu¬.îYúÈ ¥5ªk/–Ó»`j„Ëòö_œ–¼ªgÿam€6;ä=¡¨ûG=Eî(ój:¿;¼_ûÚG?Ýy`ėýYã證;cÆÝß-¤‘óêne䖝ŒžúòM/^n¸s´ÈZ\±lùlòS½[/iܳâÊQ÷뵸 ï‰=8ï	¦ÁyO0ÞÎ{‚ñpތ÷àú¹¯‰1u֞`¼¹<¿ç=ÁHGFÏÖÇyO0©¯yO¤píÐç5ӏç¾T‡rŒtd47ƒ§òžL}oЏY_jçoù —u3‹Ëóžp(”ñÌÞÛ&ãÈPüˆdæ=!bnܬÉãGö<õ”Áj3Ú'áMJ¢ò{|IÁ#_½6¼©VÓ88:!»œ·F¶ÈhnFÏ*d„†a³™²X¨;·u4C‡uâY,[÷Mc¥âܶç=·ýÂޗXã½×
eü2îµÅÇr_jpqÏ´ˆ—¾^\´‚mÅyH…]œÿrGÎæ¸!Ãߙ~i]múŒ©#D=ñÖ¤¦æuïÞÉjeO&QÅèt‹…²=#4%å”ýºÙ6")ã¿&Ï[¹¬ñ²™¶É
20
™‘yþ{`¬ejmÊ|Í¡.ÛKˆ1ª¦]åÎNc\Œ‡æf¡Ÿö%Ù¼'!«•¶X,3Q4D„
21
~bSút Œ…¶_íÕ%9%ññ{­PÖ,l…¿”<&˜:ÁC{B?¨QÞkU®Ê?œ÷%Þ¤$/FFëf…‚8’~ÆÂfŠ@M!„MÓ1¡ÁÜòV*În^ÔfÄ
22
î«pO²g~oÚTüü ×ÿ:ÿo±g:Ù_´Ot‡0òE^ûÍ5Ê{2{Ö,Ó틅úý;†ñzó¼S·Èhn¦i&õÄY¡¼'Üò?|ç¸áàØÂ÷õo_çTt(f?1s•¼˜z„Œæf„óž`¤!£s8ï	F"r™›kš÷/0\ä²nÆg>1ґ×9
F
23
r™›±ö#¹¬›kO0’‘ÑžÔD{âB‘ˆ-5	¯OñFñ
Id„ÑܞҞ8ঌ'uØÐC‹\ÖÍ,.מˆAbÆñ	VìªiZŒäµ§!^{b³õ—ÞZŸ™ëthªUj´á>¸×¼å§?Z4ÿ•Èv¡sþ³8ú‡Ç–.œ;bì 'Æ,¼baœYxå-#›øýq˦[ø5ÉíâÖÙÄoeÞm`,W‚àVwdøÊáðrç¤×MIɵX¬I©9=}ðpöþ䓻÷¥ï؝º~ÓÞ6&¦¤ä®Yó?®[†®Z÷î¿åÞfÜ4"iKú¬,ºƒ2•§ÇŽÿñe?±E•ƒ:´¢OçÉ{œÙÞ+I“:õý.!”¿®o§—“¹·‚[+iR§ °wBƛ¿ou{?s×íՙM)ë'i[Ís{Df’’k6[ôz£NWU^®++»sîÜå¼¼ÒS§ÎggefrG3m¹¾bæòRe3rӈhèséÁ\'ÀÉ~b?šÙKešZ)ÆÈ›`åV–#„–wh8?÷·!n­[¹óà£ÜòŠâwŸ\þ$ou®†Ö
24
_n‡QJ*hORSó"#;¤fžEړC‡N:(©¦õ
25
5h¨kÒfE±Fóío¿:o}Šù£-»ç
h	jRa¤’oï,
26
¥–¡-ÕÕ
27
…õž7…2¶VC•7×¶=zíDT‹'/è¯)
qk1Ty3¿f¨ó¢ü…·C–G5‹:y#Ó¡:o¤¼5ÞG=֞ô_{dR¸>6,¶ÇÉ=Ôp/È¤O:Ž5O—á~ªƒ5Òß1͏s(c‘ZÛCŒ‘WÞ¢P-éà·&ΧãRîXä­¥P-íÔp~îG+RþïëکTÇ!£ýf…‚HÍ<›zâlfÎùÌÜó's‹³òJ²òŠO)æ-?¥{R¼y߬	Þ¨¤ïwû4"ŸNìøú÷YŒñƒØ•ÕÆÀú¹¸¤ý¸NŒ}Ußeßá+Ï.?üþ‘ˆEü2ÞZÏ.€“š÷f˜Cuœ¯[òÚo®‘ö„%0d®ûž˜¹ùtü$n‘Ak§¼:!flPCë•ÆßwÞz`ðK³'O'˜ÛWéNÿlèĸmõ”˜~mfêLBò–Ö1ÿHþwLkކxk±UÞ|>‚Ǿ	³Ž
28
UÇá¡usµÅRSóºt	9t,WH{rð`:þ~ãÍÍkO0ҐѺkO0‘ËÜ\Sí	ÃE.ç4ðš#yÓÀ`¤ —¹kO0ґ˺°ö#íi€—jO°TÄcÈhnoמ`܍\ÖÍ,Þ­=Á¸yíix‡ö„–Šx¬=±E.Ҟpx¬=q½öÄ[a,q7nßÓ°÷Àýi›÷äxVÁ±“…)'ò3sÎçœ-Í)(Í)¸ T’\Ÿqýž:¿1± Âfù&óïF‡?iÕ¦Ç×IWYËQ¹'1à#Õ¥
29
TùGZ«÷¿y9%ñìZ…T7¯6O
30
Î¥ânܾ§aïûÓïО`ê
31
ÍÍbð&í	–ŠÔ	š›Eâ5ÚLàví‰H°ö#ÍÍkO0ҐѺkO0‘Ë܌µ'é¸ýœ†Hðš#·ŸÓÀ`<†ëçæìì^{FFþôéϊt‚ÁÔ·¬›##ƒÙ‹Q£×W)
32
HH؃4Æ}¸wOƒ$	’TäÝVzõ
33
KHØS;Wµ@ürÕvÐy)¯b\ˆë×Íw_H^Õ3yUOöW‚v4gdä?ž¶¨õW«H¥&àñ>#øûbµž'`QÉÇàJc×ö¡—FŽ.ôRòªžý~	–*Pú%¯êÙïí4P(LL̝Îpúô9¶p¥¡Ê`¦Ô´.}ÿ֙c"ªŽœ_pïI̼lI*Ø\}î#QTˆ©:™–¥
‰²7b±‰|:ß¼ó×xÞ#¤Bv„PÒÊhtsºº¥"å_ÈtéÿNZMQH§3——
34
35
®ffedÆÇ'²åÁî ÿ¥ƒÓ‚[iûu^»@‚P4l¶|÷[aBeì±/©òí´ñÍçšø©´Í:¸ï2oá{—ô–Å/¾™p!D‹ÆF>öæ'k—Ïj+PumwD‹ð^Œmæ°òøu‡ê¼
ñ:Ǹ—æ¤•ÑèÆÏ¨l*Û ?8ñê¯1ù›Æ¦%LLZ]Yi¾qCŸ›{éÔ©’¬¬bÞÑL™JHuKŸ¹;â|¼+ŸŒÅ¡Ì}³;†ÿFJ‹%kû¿¦/
36
•tP²x%4fS!B1fp*6qÞ¯sŒ;µ§!‚‚[À0ŒÉÐ"¬K QÉèõF³™ÒhT)…N\ê–娙{läjÓí–ÎÛSþóÊ`èû‰ñ…¼kÙÊyßMþòÓ¶š»Ê€÷·—|ûU;Bm+öÕ¥a™í ÕÓ«õ—º¬pðÃÛ×9ÆT3š>£Óm8îCÓzðñ…KÙ
37
óm¸™*ð„@¥"€aÐ|sÅaµöîòÔXvô­9+ËÔMèk鈱ð–S†§;dĘx_Šë÷”AC%̱eQɨ´<îçxÌ?§$ž ~`¯Ê@‘
qcÜA5{3¹½¸{¦›À!¨¥¿Ÿ€¨ý@©$IR¡R‘$©àÕDÀ™õKšt_À^ÇE
‹xÓ/›7þ¸~ŽC1ê^ƒNÊԎþklÙwàÏ1±•wÿßèì§Ì©²:ëÛ@sÑ|W‰¨+¼\kçwàÒ$1Æ`ºt%¨µ Ñ‚Æ4Z B¡PÁ}€‰BTUùK½wî?›F°ÆÃ7M
‹U_úÞĤэ}m…#üUk³®;/Sk¸J–eƒ[-úù, ú¾ôWlb“¢ˆwŽq.Íý§%ïHÓ-0ݸ;”UÚä­F¾–Ì`z:¬4|U
38
móÐw¶­;’ûB+֘øíÜ·úµoòhlØWëæ±ÞòÙäe½[7x¤¯“2	™°ká‰™›`ôÖÄ[';eö¬·l¢—ý34ytßþƒN²ökÖ¸mõ”úµ©‘sŒ;ԞÔ~¿ù)4‘"ðÐÞôns#tWÅj¢(ŠÙ¿ÿ8þ~ã?:²Nè¿8-yU4ÀYˆš{„U‘0»È®uŒ(\†®a̯ááÁFãýœ§lU‚Àã^\†.##?##¿¶ñ`0µÇõs3^cê
39
¬=Áxry~3Î{‚‘ŽŒž­óž`$‚óž¸=ŠX·R#d47Î{"š‰C7ÿs¶®£rY7³xkޗkXj*ÃyHÀyOܞ÷„6!ªÇ¶ÃY¿,‰u^‘'~¾nÚçÎ^ЦâÙߙ4åå!OOÎÒß=ôGÄܸY“Ǐì9xê)ƒãI@¯ç=;åˆ;òžˆ×°pãçí&zð®îz±ÃØÅ¡+IqmcþÏVকFnÓfÈÞÀ¼œ÷ÄíyOúj²ô1¹ñóv=8š»jÕy+Bˆ2©ü#
40
X«òU~óæ}à¼'<¸6†Å±"7~Þn:[eíä«RӖ2:~4Tút Œ…‚]õ2ä37&½ÞX^®»|ùæÅ‹eÅÅ׊Š®\ÊÏ¿—Wʝ›7dÜ LÅ#:ôKיí_ºðÏju@öº›Vm›mšÎÜl5äiûˆ1hèc“¢è‹+y»æ¯ÊäÌÍN*ÚÇ/ÔM°Þ›Á»jՅF+BÈj8ŝ›-ú“jm7ÞÀ¼=¿Ù[óžˆ×°pãꦽgÉàGV+€‹{–>2h©­¢œÝ¼¨ÍG)®·"—ç7³xeޓÑ[wƌº¿[H#›‘·"7~ÞnÀ–Ï&?Õ»õ’Æ=+®¹e磧¾ücӋ—$îm«2{Ö,Ó틅úý;†9ï¸×€óžx'xËdˆŒæf„óž`¤!£u3Î{‚‘ˆ\æfœ÷ĵ<„ËÀyO0Þ֞`¼WÎÍ8ã	¦nqñºg<q5Œ‹Ÿ®Vo9[E…úU3\ݵ§!&ãI=Տ9ŸfE,È2¡S½y¦¨ô,3Î=ô}b!]gw­›7lØã$ã‰Ë‘ƒ~¤v18IæR~fq"ó*{èïÛuԋ“ƏyvÂÂS•r<¯,ý-pîašnãÜÔëÎ=¸8ï	‹mÔ
41
e<q9ЏÔ(ñ¨HÎ~¹'rÙNöº²Ê”µsœÙ:᩟•X\ë8݄ô,3Î=ÌX9à­#ß~ޙæ=ÉÊ*¶]ÇÇ':ÉxÂ|	AN|;?¤‰?©öë¿ôÞwÜæ«>|{Þ´.m;Ïþü/¶bŹmÑm4™gû»aóù¯9ó&ŒØ'ö_¶sÌBFö‚7•	?|‘ؼ9w(”Å·µåÁ
>¿Té-m¹¡ lFûû@Ï¿óôÄɓžüòÉÊ»§öLåiqÏvÐ(ýµzö¥±Ó>ÛÏ­ˆø’È(}Ú'',lßÈ·Y‡~¿_Ò_?ºæ±fþ
[G|r€?qŒ-B1Yfxßç*/}î×t¼Àsϳ;Fs||"ûO(㉭¨žèGœDâÐ!‡ {…w³ô
42
Ԝ2XŠQ¦JŸ¶6£ý}ࡼýXФVÓ¡^hÇ[ц}˜øù®JsUÖØñûñ*«éئé¾A1¼ÑÚ¿Õf™á¾Õz°èO)}C„îÕ݊î̓ÌfÆ` ®^½SRróܹ녅×Μ¹ÂÍõE?â$î5¯CÛ«u‡Pøðzp €ThÆVŒ½ÊÝ8¦õÓlFûûÀ+BñUƒb¨
43
éÇ[Ñc½E(ÔNºÆÐUAòFË}zÊ-iÿvT끡õ¶ø…¨æS ñ övøpŠ 4Ìf3›ñD©$I’¬×ú'‘pqîÐIîLòQܿÏ>õ܄q#çïnw`çýóÐö÷W„2ª±ï¬„ÃfÚz|óm멼eGç>~â”qCŸtžD†Pø"TíÖ½ÂÕõ”÷íò@(|ªîã¯;æf³™‰O,/7”•U^»VŸXZz«¤ä&wn®/ú1‘8wÈ[=¨"q ¹š¬¤n^?H@„Rv|Í#’ m»>»³„'„ЄVÚï²o!„t%k¸wÒÉ5o0Õæ};ªõÀP:ç9‘HíI`Ø´é¯qãíØ‘LÄîÝG@èr֏páF›ñD¼CxPEâ@˜ŸªÄ,v"ÊûÿúdüÇ	Ùu¥'G¶ÓòVty™já}œC›KT~áÎ˸4_ Ûêƒ÷Ô¨~;wæf<±Gþú¡HlN싉wªH^äs¤Â^Ý`6xE(þ_.œöÅS	‚lØêљ+]õòc¿;¼_ûÚG?Ýy`ėýE6Wkxߎj1Wõ	ªæëdWæ=ÉÎ.‰Œ®ª¢†þ嗃cÇdfǎ»Y|žy¦ÎxR#ŽÍ	[úlâÞí\䏹œýkpïEV#¿^è4˜ IDATÎRæ”î³wYî×½”qqÞ`!;v BˆaШQýXýEÕý×u"øtë郄¾þ܉1aÄ)Nþ7³ç_Áóߛõ|+SAvº:0ÒUáy˜‹NŒýÝñ¯Š.>§Á.3XýÜËÜSïô#BŸr<LÃNËg·–ú¸9mÔ³%;V„µhúþvÝ®õõùu›[Ï^Ö±ó2¢T®"s¯40îÕç›ñHÅÔ-X{‚ñäòüfœ÷#=[ç=ÁHç=ñNÝÊÙ0EFs3<ÄyOj­[ÁÙOì‘˺™Å[óžÔ(—èVNpÞ·ç=ŠÄ†}¼Õ~zëù¦þê€æ¡í¿b«Åßž¯^ÞT«i]Î[ÀÁyOÀî ¢×èV`:³)eý$m«™Nó&dôl}oÍ{â$t+÷«ÐzBáë$0oÂC{sÞ'‘pq•nå~…¿óÀ¼	íiýt w·Î‹Õh´°ÏÖg†¦šfx÷_{dR¸>6,¶ÇÉ=Ô iÔý¿ÛS&}ÒqÔ¨yºt÷S嬑þŽItœC‹ÔÚbŒ}h6]×·V“`(Ñ;ñ)2ñïF…@ù0îÅñ#£ýfoÊ{Âź×?l©¾!¯ýf¯Ì{"‰[u+'nÏ{"þœÎ{‚‘ˆŒæfäyOd¢[y8‘ÑwöyO2NŸ£)Ô-¬=A@ý	xàÖ!r™›qތtä27ã51F:ò:§ÁHA.s3֞`¤#—u3`í	F22ú.°ö#
Í̀µ'5kOËº™kOjäkO×žÖž¸L{Â×ñ¹q³&ÙsðÔS«Í	×XÁÚ[„àEÚÞænZi„PáÖ1m†l±yàë/X{âÚ'ÍY«òU~;1Ö_ܾ§aïkOœ·[­CñÚ'Í)}:PÆB1Æz‡Û÷4ì=p:€µ'®Òž8iÎZ•«òwL¹Àk¬wxhn֞ÔÈ!8՞ðv܊În^ÔfÄýÞñë)š›E‚µ'®Òžðv|ö¬Y¦Ûõ!ûw³•ä5ÖSÜ®=	֞¸Þ7Ñï¬'‘Ñ܌°ö#
·(¬=ÁHD.s3֞¸Þ7ÑËþߓË܌×Äéà¼'ïÁ•ssvv	¯=##§«Âx¯›##ƒÙ‹Q£×W)
44
HH؃ôÃCæ
STSÏ·ë®ïI’ IIÞõß«W˜CnÌFêøHís™Ö­å#Q¯8w^S»W“>n§U³×Z•R¡ò	è5ðƒ„äšî!ìî‰?½ƒ»üxªî®uó†
{ØÑœ‘‘üx.<˜ìõ×?ÿ)ºZ!X¿æÐbÚ¹óšÚyAtE쨥Ͱ¿Vª(+.Ìë|aY܀±ëøåºuŽýýƒÐ=ãgAó²Y}çWQ5Q2‚+]ۄ^ª6¡¼mÔ*
45
&&扊
46
ƒNg8}ú\í¢ÃOÙ×ÜçܞkGç¤UZžZ;ÃÞ¨Ô4Šûzåü_^Üýö«0KŽÏ8tÕýãgƲ.ŸM><qõéÌeÝ\Ò¨X„Î7ïü5ž÷©!”•Ul»ŽO¤(¤Ó™ËË
W33‹22
47
ããmØÖBQÞc>Üsá¯/F¶÷Q©y¼ÿú”ë!Ę׿?½KHRÔ¦Ûê]ÅöÕ¿ÛEÛüû?ö¯m¡öo<lÆgF‰±#„(cÑ»“‡´ôÑh›>=åƒ2ËG„Yþ×ïøüR¥C]†6€Ê·3o„ŒõöÇ3bZúhš>3õƒV!d¾ñjLRÛ$ø©¨Öƒg}Ï[!4º±/(5÷½½ ‚-3þ·ÏF¶Q©ýÂL<ý¿Ñ½:ú(Õm"oÎ)wˆ™{ú¼>=¬MRåÚ{̾+n7yï•H?•—>€À6‹¸n݊[Fs||"û¯²Ò|ã†>7÷Ò©S%YYÅÜÑÌPº^#bÂçI¡Ž¾J8S~á¹ÎÝ^[þB(ãƒ' Û›Û
†k{t™±|«}õ¸]E{Þ9ho±¿Î.¯Jùv8<±"SŒ!´-¦-ŒÙ’[´ûè4áwn7G4ö€Sz‹C]ÓíÐjÐ6ÞÎ
48
€—+8·k<öê~„лá`ÉÁó%IK  õ<¡Þ!„b.Ø
Ú¿i+óïWO~Ë^o<yíRÚçàßb7lîýùþØå˩ˠQçw„Ê;¹WNüXôÙ òçºu+n̓ÌfÆ` ®^½SRróܹ녅×Μ¹Âͳûµ€ž&±ÆM|`áÞ[±
}àh…Ù1n¸c'3áÞe„{Ý·ñH‘ö0œ­²R拠ô	æv³¡Rzš±¯k±T|;%” }¼ðÀœm‹°{€JLe*u@w„/I@]¶%u­†3oOÒª‘?ûq\¡l$Ô_ÄX€ TܰùËÓU  ý”ºWNü0´ÒÓùVªùH<ˆ½OØB@ÓÈl6#*©T’$IòêGÖ¥ póv
49
ü|äç¡áMþ3¬c¡¶¤Ý€£:3ôPó†×À™ú€Ô€éö>‘ö³U„ú©”š6€˜*®O=ÀWñ@ÓZß ÷iWürrj-o„§ôVh­!IMk°êOÀ¸fþ°òÈÅkÿmëɼu¿ÔõÏû±ßL1ÀP·;L(!ÑzU…/°k$!„î•?„€ñ¸lÖs³ÙÌÄÇ'–—ÊÊ*¯]«ˆO,-½URr“;7{äZÂsí 6þ̽W¨ß͕B¨w N¬!Æjr¨nߺ½Åvm5ä©iU­P¨BÑj8o¤Ì·Ó.¬¼Ýl磛ú	¯íÈy#e­:šÀÞ¡ò܄ •¤¦sŸ1‰¥Žkq–¦**)†¶Þ=ÝoeæHqñÔ¨¼Ð=trÍP:øËæVDíÐՆM›þ7nЎÉAìÞ}„!0«oóÉ?ÿÕU«Þ=wÈñJË⨶ÏÎÿ±÷˜8 |1·ÌþÏ>£¹üƒ!¦}#>’¬òªcހ&‘‹œÛ[ªI…2È‚à‹™]`êg{Š/jÔzüñ\·ƒj Ä\ƒÝ.øxJgX¶¿äÜÎw óä`ÁKo•[™uG
50
,”élʎgÛjyë~ÿb$–ê
51
þ|‡µl(ÑÕ¨õZ#tC›K@Óp ›¢Äås³Å‚âã+*Lññ‰7nèËÊ*ãã/_¾]ZzK`O]Ü3Z?ýÅáÏ&7ñW+Hup—kÿ¹‚BŒyÒi¶
52
Rd‹ÎOħ•q«s-é;ix´VEú6ïÿü¼Œ;fçö­níë;rşˆ6~¿èåN-(eë°ë]åvsOL;øæŠžÛ®P<!†º³2nX³FÛlØôØ5ñÒØh­úîŒP¨[tˆzç§n]Úrýø!~~†Æ}±4¶›Få?ïïËöe„®…âS^è^‰ñ£¿ò
´‹ÙÃuëVµ'µØoÎÎ.‰Œ®ª¢†þ嗃cÇdfǎ»_=óL¯ýû{Á÷Ûe3›G?dgÉޑí$ºª8—0ó؀m“:À­‚MBG“šV”é’+¬KJw
	µFúõïz4ód»‚ßžTû‰C#cÇD15ª«¡¨z£qN³¨ÿoúó±Åa䉮–û÷ÿ.®þgJï…Ùià×l€B¬k6.Îôk6â¿QÊàòs4͖¿[…ýûãÅ·Qøn=ös$½Fº§åI»þõBøò1ÝԚ#ÞøuÌ«ï&gþI¬G¬¡#NÝâëúeÕàÊ3tùùÒ⩄Œ9˜?FºÿÖO®þéÏÕÒɌ²üƒuÒ®+Ï7{ÁšS¯Áڌ÷ —ç7ã¼'éÈèÙú8ï	F"8ï‰[òžØ?îÚ¡Ïk¦
53
/!FQˆ¿'žy° ç‘ÑÜ^”÷ÄÞçÔØ÷ý˜õÅ ©_µ`ªE.ëf¯É{bóIÏì½m2Žñìæêݺ0B¯ç=q}Þ{Ÿ*¿ÇÀ—¼o™Ü@¡ µ_ñçE¡ ŤSáé,ß=©Af/ç=»s3®Ê{bßkÞ;»#Îvþ¤˜t*ÜÎòÞ¡D*¼>ë;8ïÉ£™½ž÷¤ÚÑÌXo±'ªyƒ“N…ÛYÞ{â<‘Š—á¡=
œ÷„ÅXvtÞ¸áã'N7ôIÄX„‚ã–ÛYà»'5°~#Ÿ¹Ù`0éõÆòrÝåË7/^,+.¾VTt¥ àR~þ…¼¼Rîܼ!ãe*Ñ¡_ºîÕà…V«z°×Ý´ê¬{rT[E‡¦37[
yšÀ>bŒú\4ߝõŕ¼­Ø_Oh¥ý.ûBHW²Æfç)䖋}gyï	¯+îMðd´ßìÝyOXß45 ,V}é{“؇
54
ð)䖛ŽÛ¾³¼÷„×oÊ/@^ûÍ^œ÷„%ñÛ¹ÃûµŸ¡}ôӝF|Ù_(H1n¹å½'¼®xS®xnÏ{"þœÎ{‚‘ˆŒæfäyO0uˆŒÖÍöyONä8}¼O·‚q'r™›qތtärN¯‰1ґ×9
F
55
r™›±ö#¹¬›kO0’‘ÑžÔD{"'boe<$ÈhnOiO°Ä[‘˺™ÅåÚ®ì¢ÖbŒü‘מ†xí	AsãfM?²çà©§V›Ñ^WÂ+»àŠAøêµáMµšÆÁÑ	Ùu##ÍÍ¡ãY…ƒÃ0c6Su綎fè°N<«‚eë¾i¬TœÛöÜ ç¶_Øûkü=Q³·àº¡Œ€_ƽ¶øXîKí.î™ñÒ׋‹V°­8©°ë‚ó_îÈÙ7dø;Ó/­«MŸ1u„¨SG 55¯{÷NV+Í0ˆ¢(Šbt:ƒÅBÙÎi¤¤œ²_7ÛF$e<ã×äy‹!—5^6Ó¶ÃøQ!32όµL­íB™¯9Ôåb{	1RՔ¡y2E`d‹‡æf¡Ÿö%Yí	BÈj¥-‹ÅLBM#¡‚ŸØ”>Ø43,öº’œ’x‚ø½V(k¶Âßû•^‡‡ö4„~:л[g‹Åj4ZØóÍÃÐ4Cӌ“¬U¹*ÿpޗú6Ðlº®o­&ÀP¢¯u0õ­›
56
âHú{Z14…ØÓú1¡ÁÜòV*În^ÔfÄ
57
î«pOv±g~oÚTüü ×ÿ:ïxªå™Cö9M¸„©'Èk¿¹Fړٳf™n_,ԇìß1Œ×[M…!˜úŽŒæfšfROœÒžpËÿðã†ƒcC
58
ß׿M|SÑ¡˜ýÄlÿ>/UïÑ܌µ'‰ÈèœÖž`$"—¹¹¦Ú¼Àp‘˺ŸùÄHG^ç40)ÈenÆÚŒtä²n¬=ÁHFF{ í	¦^#£¹°ö#
¹¬›Y°ö#ÙÍÍ쩆aŒFEQwîjOæLŸ©«¼|æfãø?tñW±ÆŠs۞8³P5ùvÑWÆëöêºè±“^yõõäs‹{6;í	lÈòÓêOó®íùã蓾Zû¯¡B
q˜:GFs³´'é¸<eÏÇ!
–-ËxñµL'
ñ1uŒ|ž­_Ó¼'셵*_å÷¸ÍhŸÓDLRxó¤ð6Ä5bê¬=yÞ<)¼
91bê
59
¬=y€p?UŽÁÉ·æmÈIëÏ#£ýæšæ=±"¨^{Õ%%±O&›'…·¡j[ÇxyíiÔ¹ö„7O
60
oCÕ¶Žñ<õ5joCkS#d47#¬=ÁHCFëf¬=ÁHD.s³lµ'¼
áe†<‘ËwøÌ'F:X{‚ñä27cí	F:rY7֞`$#£=
¨‰öą	JlßòúoߐDpr!d47ƒ§´'0ÈC›Ùkè¡E.ëf—kOÄpðü)Õ¹ò1
‰¯…¼ö4Äç=±ƒÙúÎKo­O€Ìu:4Õ*5ÚðÜkÞòÓÇ-šÿJd»Ð9ÿٜÜ(ñ@”…sçOŒôʅW,Œs#oj•‘Müþ¸eÓ­?üšŒdö
qklâ·2ï60–+Ap«;€“³ð#æ´>o¯‘uSRr-kRjÎßGO<œ½?ùäî}é;v§®ß´÷‡‰))¹¼§õºjÝ»oü–{›5¶T“{
61
nÚK[Ògeф©<=vüwlō_ýVn4],Õ;D•ƒ:´¢OçÉ{œÙ‹ûµÙR¢C]HœÚ ä=֘4©SßïòBùëúvz9™{+¸µ’&u
62
63
{!d¼ù;ðV·÷3wÝ^Ù”²~’¶ÕL1·÷!¡kOhËõ3——š(›ñ•àÀÉÿýMG16¯–ä²€ºÄva©LSk#Åyå-·rç5ì°!´¼CÃù¹·¸
qkÝʝå–W¿ûäò'y«sý0´žPør<´xè]µÚ“ÔÔ¼ÈÈ©™g‘€öäС“gè¦õ
64
5h¨kÒfE±Fóío¿:o}Šù£-»ç
h	jRa¤Òi_l–û/!‹B©ehKµFµBa½çM¡¤­ÀPå͵m^;ÕâÉúëAJ…CCÜZUÞ̯ê¼(cáíåQÍ¢NÞÈt¨ÎÛ|šÏžz¬=é¿öȤp}lXl“z¨@Ó¨û·§,Lú¤ã¨QótéàTKâÊX¤Ööc䕷(”AK:øÄ­‰ó鸔;yk)”AK;5œŸûъ”ÿûº{è¢vj'Õ1BÈh¿¹¦Ú“)ݛšàÍûfMðF%}¸¶g¬w?ñjIœÀú¹¸¤ý¸NŒ}Ußeßay˳‹Ã¿$bÿA~ÞZÏ.€“š÷f˜CuWíU{7òÚo®‘ö„%0d®ûž˜¹ùtü¤=¾*¥ÚÎ]s7a¯–DÐUðK³'O'˜ÛWéNÿlèĸmõ”˜~mfêLBò–Ö1ÿHþwLkކxk±UÞ|>‚Ǿ	³Ž
65
UÇQ_µ'ÍÍkO0ҐѺkO0‘ËÜ\Sí	ÃE.ç4ðš#yÓÀ`¤ —¹kO0ґ˺°ö#íi֞`¤!£¹°ö#
¹¬›Y°ö#yíi`í‰(í	_§æÆÍš<~dÏÁSO¬¶¹F/kOlB=ўðvꦕFnÓfÈ[s\£wƒµ'õO{‚“³µ'õO{â¬SȪ ýÆ"dôn°ö„™kOpr!d´ßŒµ' N{‚“³!¯ýf¬=£=ÁÉY„ÀÚo'ga‘Ñ܌°ö#
­›±ö#¹ÌÍX{"ޛü°-3@>ç4ðš#yÓÀ`¤ —¹kO0ґ˺°ö#íi€—jOpš!£¹¼]{‚q7rY7³x·öãnäµ§áÚ.8M‰‡ÀÚ[„à"í	÷à4%žkO\¯=qÀV§)q7ÚÓúiE1ÇNÏ*8v²0åD~fÎùœ³¥9¥9”J’ãâú=u:cbA…ÍòMæßÒªM¯“®²–£:sµcáXPùGZ«÷¿y9%ñìZ…T7GŒÑ¹[Bá_mŒ°ö„‰ÚL]!£ýfoҞàÇÕ	òÚoöí	¦NÀڌ÷ £¹aí	F2Z7cí	F"r™›±ö#¹œÓÀkbŒtäuNƒ‘‚\æf¬=ÁHG.ëfÀڌdd´§^ª=ÁxÍ̀µ'iÈeÝ̂µ')ÈkOÃ;µ'8M‰ÇÀÚ÷jOpšµ'nמà4%kOxp­ö„7¥OÊX(ƈ֞ðàZí	NSâ1d´ßì­Úœ¦ÄcÈk¿Ù+µ'8M‰ÇÀړ:§)q2š›Öž`¤!£u3֞`$"—¹ù¡Òžð޼̐Ž\Îix͚S‡Èëœ#¹ÌÍX{‚‘Ž\Ö̀µ'ÉÈhOj¢=©55zB֘Ô/d47ƒG´'XiâÅÈeÝÌâí‰D¥	FÎÈkOC¼öDårhý¿C‚üšw|êË†²”µ7×6jÓåӃ÷·¨ç7P(ÈF­ÃWüy‘µØ+MÔ~zëù¦þê€æ¡íÜØÆ)Kê2Z7#„ŽgÏ*LÏ.LÏ.<qº(=»(ótQ~ÑE¥Òñoe*þþ΀S×níûrèô¡_½}âò­¿Võ\ú«¶2_•T0}ôë>«¦Ì±5a{Õj,ÌztvñÑo¬œ¸P(ªÂ®Î—ëv/}ôõáïˆí3¦ŽuêȤ¦æuïÞÉj¥QEQŒNg°X(Û9””SöëfûŒí1FRÀ0”½gD•“š–mv(|¿]Aª[04ÏY{;ÏRՔ¡«ÜÒyŒ‹ðкYè§}IV{‚²Zi‹Åb1S€EÓADh;Qm)|¢ÙkcÙÑ·æ¬,S7¡¯¥#Æâ¬Ù1¦ê<ã”%õ€z¬=qN\Ô°þ‰¥3ºU–®ý_ðÜZǏ©GÈhOC¡ ޤŸ±°§õCSˆ=­\Óvß4",V}é{“F7ö_ñ™Cöí«is9 ¯ýæZhO„Hüvîð~íghýtç_ö¯iuL}DFs3M3©'Î
66
iO
67
Ûû佟öEé´/îZ7æpy°Ÿ˜…Ê`䉌æf¬=ÁHDFûÍX{‚‘ˆ\ææ‡J{‚qrY7ã3ŸéÈëœ#¹ÌÍX{‚‘Ž\Ö̀µ'ÉÈhOä§=ÁÔ/d47֞`¤!—u3֞`¤ ¯=
ÙiOpʒúEýÍ{2ñó]•檬Ý6[±ã÷ãUVÓ±MÓ}ƒb<çîˆóm<’¼‘p ÒbÉÚ>ï鋼Qá”%õ¬=q¦=ØÈ÷çë†Vvylµ(ã¿&Ï[¹BFŒçqûºÙÞC½Óžà”%õ·ïiØ{àþt@nڜ²¤~áöýfñÔ4ï‰sß45¨­öÄvS–Ô/<47‹Dnڜ²¤~áö¼'"©/yOpÊ9#£¹aí	F2Z7cí	F"r™›ë‹ö„÷Vàe†LðÐ~sµÈaMŒ©ï¸ýœã1\?7gg—ðÚ32ò§OV¤¦¸eÝÌ^X,ˆ¢½¾J¡P@BÂ< 1îý{$I¤‚$ï¶Ò«WXBžڹª.ߊ¯[©¶éÚņ…3ÎqýºùNâÉ«z&¯êÉþJÀŽæŒŒüãÇsÀ6 ë<GÎā¡5*_纕:@æ®4vmOziäØéB/%¯êÙá—`©¥_òªžýÞN…BÀÄÄ<QQaÐé§OŸ“´sSu2-KUmÉ-I›kâYºn…76ó­¼]ûN·ŒÚ7´¡»ðnœÍÍ#ÇNçþsR>yUÏþ3Cy‰ît"Tÿù«¯îI’A$IèõF£ÑÄU‘Ü…£ò Mų‡?3iÊËCžžœ¥¿+è¨V0B›Î¿ÕcÛá¬_–ÄÚÛyu(ð …[ƞZäLfë;/½µ>E(6ãõ?£ÃÇÿºsÛs]Û®J+sâÈ>WÝ.oCH{²ó×xÛ5ØéGìíö$­ŒF7~FePÙýÁ‰WÉß46-abÒÊèÊJóúÜÜK§N•deÇÇ'rÝrU»^ì0vG1BèJR\ۘÿ³Uq.9ðJh̦B„bÌÀ‘½éPœ”±DëVؒ]µîÝ7~˽í$¶ûµÙR¢C]HœÚ ä=Þv¹¸êvy.Í77 3ï ¼Eº?cQÞ"”÷&Ê}#ieôÕ«wJJnž;w½°ðڙ3WxGó€†>—Ì´½Ã®ZužÁŠ¢ŒE*ÿ‡*u‡PøpÃè¨ÉÒ[¸þïÖ²Þ"jÞ~	•±Ç~4;hËõ3——š(ç±ukÿ*{A[®“êæ¼írpÕíò2ªÙ¡³ýic/Ѓâ%Ç}hZ>¾p)[a¾
7óAåþA€¨T$0úäÇUyäVY;ù*€Ô´¥ŒgŒdTZ÷s<\/F‡"^«"&ˆë÷”AC%̙ä$¶œ’x‚ø½V(E¶ëªÛåeT³§Áyû›¸{¦›À!¨¥¿Ÿ€¨ý@©$IR¡R‘$©P*IކX•‡½%ÌOUb¦€2æ+}Ån>töSæT9ª¦ã¢†E¼¿é—Í\?Çá%
68
U_¦vô_{d˾Ž‰Í¨´8‰­oÍEóÝù[WxY¤sWÝ./CԝXŒ7ÀtèJPkA£?h´@„B¡`?
69
Uåª<–~dÕ±2¸¸gé#ƒ–ŠaÙàV‹~>ˆ®°…t(þªµYם—©5Sº7!5Á›÷͚0àJ	ÅöÉÜÈW×¥m*~~ÐD‘Î]u»¼—}ØqZòªžý‡µÚ|w(«´É[ÿŒ|-™¢îõZipU#·ìücôԗlzñrƒÄ£EögôÖĝ1ã‡îïÒÈÇfÒ¡lùlòS½[/iܳâÊQ7åI	™°kÁ¾'fn>?‰7¶èeÿó|t_ƒ?CŒZû“H·®`mÝh©IDATº]^† ö¤öûÍO‘ éˆ‡ö¦w›s¡»²(VEQÌþýÇñ÷Ûw 87;ßZ¢ÿâ´äUÑg jîVEÂ0ì"»ÖA>\ðþùóç#j¥Q#Æül4ZàÞÖûFТÀ·Ö¸~4gdägdä»Ü-S-®ÍxMŒ©+\ºC‡ÁÔ)x4c¼<š1ÞÍïfŒ÷€G3Æ{ø’ÖFÔ¼?^IEND®B`‚
(-)tdevelop/doc/tde_app_devel/CMakeLists.txt (+12 lines)
Line 0 Link Here
1
#################################################
2
#
3
#  (C) 2010-2011 Serghei Amelian
4
#  serghei (DOT) amelian (AT) gmail.com
5
#
6
#  Improvements and feedback are welcome
7
#
8
#  This file is released under GPL >= 2
9
#
10
#################################################
11
12
tde_create_handbook( DESTINATION tde_app_devel )
(-)tdevelop/doc/tde_app_devel/Makefile.am (+2 lines)
Line 0 Link Here
1
KDE_LANG = en
2
KDE_DOCS = AUTO
(-)tdevelop/doc/tde_app_devel/appwizard.png (+134 lines)
Line 0 Link Here
1
‰PNG
2
3
IHDRuš	ç” IDATxœìÝw\Sgð²{¹.wÝUë'U«¸÷ªÚ·ÖѺ[¥bъ÷ŠR·Öbhë*PDd	Êd¼\c"ü¾Ÿ÷ƒ÷ž<ãÜ`óŸÜÁмw±Ië^PL‘÷.jYDt¥¬3€OÞJ¢+ÚJLóÇ#Ý=£gNPn7ز׸i@	«B+n9÷å_áúåmm¯%̜@D|>ÏÎֆˆÒ32Åb	9¡ÊøHŠU¡·œ+Vû³:Ö/ëË«ÒfN°¶¶¬S»VMÇꖖæD”››ÿæmÚ³ç1Yö(1à?l[÷Ï7üÔÌ£›•µIæƒë7¾øïµä²L`¹Bñxf‹c[¨Fˆh5‹õáƒ/ÎÍã˜
4
Hš—y÷‘ÿÊ«»4?/‹0è~R}:¿¡Õ¤O XZq˹⶿¬ÿûñü÷£Â™ªV±¯W·võjUìlmx<.›Í¶µ±¶µµæñx?I›9AðþýŠùîÀ§ëœÊ6Û¼Ù´g·jY¤wmñ̤÷ùëõ÷»¶ï§øÂwW#ÿ†ÕlßÔÿÖ«Gu®…¥¨óuµ.ž¹}oîÜ~ßÝA;¯Øs›þ¾5²X#ÈLXÄb7]ï>l*•sïï«B+n9W‚òO—ÂúR¨ñ‚cjæl6[,‘ˆ%"R(2™ÌÜLPËÉ1++J­Ë†½MPpT¶ëýúGmAì‚AßyEDÇ:×QȤ>E¯ÿM"mMº°L}/ވ¯ç™ü®3¼{‘òÄ×¾þ~ÐÈCÖíníT¬¾-j”`F]ï>l*ŽFDY¡¹·÷ï͛ÕZ¡«1¿ü+"mÕւ™š6qµ³³áóx]{ ¢ëQ—^Éè©ýö¶Ö{:s‚ß’TJ*۟­MDŸ~Œ¨—Û
5
":täáÐ.)_WïmbZwж-‡t53ɉ>ê¿sê9r"šõ6¿…½@.ÎI¹ÿ×ÉñãîGg3‰h“B1ÅÒÕQ;à‚	÷¯®;èHÆD„Dš}Dgô¨mµ¯†EØë<~õI›“w©n‹býæÖ™§9¸H”všˆX\¡¶£cqlúøèùU3Vγ£þ;§þ˜+•+›‘Îañ:­
6
øÂk@uçªâäçg
ù3Ví(Ño	*ÕÏ[=ZǞjšZ㡇™Ï™L¦ÙXmp"’H${'¢+ç‡Ã)Vù§­¾$ªVÕÁÖÆšË-|•©,ææ‡-•ʈ^¨öšRÌ÷>];U¶Úð‰ènºH×?j«ïê÷ÌEHÔþèåþýïŽnz0û[ß?W~Ç
ÿÎë$ù:˜±l[õ»·o\ÈÒ°ºÇ²Xû
7
"Ëb‘îŽj.OéPïqÌ‹k¿ù|Ñ:©÷ô3=Ώêõc›Ð©Wkÿø©nߟ¾^끉8Vˆ(ûÖrÕÊ£k²ùưiMƺ“.ñ=½rAAØ¢i¡Ì!0Ǣ먳üòøeãÖ9}å
Ï«ìZ¶þ«ö¨Â‡-@¥¢úy«Z¡Ý½~J­¥Z…¦lüyŸ‘ªDÿ\=ñÙçCþ:¤ZΩÎãrÛtÄ´ïÖ÷«®žàr9ZË?]´?nmeiiaÎãqŸ=¸ìêÞ]¸{A.Wˆxb¹\®Ö_ÙTªÿí3åO¶BQ ½-í>“ÿçK"ôy
"
8
<ñìµlѤ*Ã~ÒI¶YÃQÛüºèdkcFD‚ZS„´Pm"­5'ʗemé8È'þ¯åþáÊîš}“Æ5{™ëY{Ôfù¬cGÕ#¢jÿmKsî\Ji;
9
	ת˯þ
10
™0hÂÕÃWÝH¯Dôû¹—i´ŠhbÕ¯~Nk£ö¦i=‘ó[ÑöŸNgåKv·u×óV3ðaP©èªÐx<‹Åb³Mê6íJ:*4¦1YYY2e2¹T*eÚXZZ¨•sÊÁÝÚöQô³Ï‡<º¢µüÓEûõ=V–––\.‡Ãf«•X"a±H"1UëcÀdPñ<Β´¶3u²àEdK´6x++üª×ьCD~ù……(ËÄ,ŸèË¿®ù¬Ú¥	7í¿uJ¦`qlU?XòuwԔOD7õZºïÆeD³ož,÷WßÇ~+Z͙ö»³9÷Ö×':lÂl?_9-ý¿lÕ¦ç¿
11
ß?²å™ø\­GçlÁ%¢x±LN	DĶh®–¤Ödò‰Zñ‰èaŽD¦ë Þ‡[€ÊLµBãp8Õë¶%¢¤çÿÈårÍ
12
iLDfS‡Ãf³år¹L&cÊD)_­œcÚ7hÞMsÞfíú<¾¢Yþé¢}ý’Ãáðx\s3ûZ-UãN®£ÿV(ùB‘Z¯•LÃJ•íƒçâ[{5ÒµÆÝ?㈈-h F«Öhʊè܂F–¼ÑÎÓVv’Só¥D4¬•ùþþ·Èāi&a‘LA
13
…‚Åb‰ˆ::jb&Þò™¿¤›ÿº~LDkß'¿L.½Óá·!Ò¼Ç?nëÿsz‡ß†(d9>¾tý»¼Gó$û÷ŽîYޤ‰ßʔÊªODҜ{B–Z“y–+ibů*à¼Ì—²8|…TÌ´W}T­Ô‘!TH+ßßUVh‡Ãa‹Ò£är¹L&/((`±XjӘˆ,--8öõ¥¼  €ˆLMùj圲½VšíõÐ^_&%§ØÚZsþû<UäÆÈår¶U="L¥2ٛ7i„ïÇ*+Õÿöÿ™51nèå¶ûoÚnè£tû^mrsöÔoj6Þ°íáöm¾[Ðïçß<Üôò–¥?|³ÓûÐËuc´¬mõ¼ÙZ¦Y«S1ÙQ¹,yu¬xÙ­õduÏgÀæ®±_pꘔrï{‡&®îS+ñàœô‚\Ÿƒ/¶Li”:ýa®®/ùu~ž*ã›÷=Ûòu3¯^.fkˆèUàbÍúRk2~ûwç÷íçþ¯÷Üõ»ô¨Uôš™ˆHõP¶•Š®
14
Ïçq9¦6“f=çpØD¤V¡1³’Y×h&Ë~abb"—Ë
15
…eµ¦é	á9¹yj圲=3¸²}T*Š4ۑ@GÚZêË+[ö‘cj6ÖVL6Ddbb¢Èa&xû6=$ôڕ÷¯ºQÌ÷*avØ(÷Á‹7¯Zû ɂ#M~rçtDŠêGŠrûŸE]VK·O˜õûÁêæo"oÜ<ö§èÂäεÄû—=й´zë‰'
p­ãb!ŒÉ^ö}Ю_ÆnOIm%°ÑÚQK&ï6»‡ulöò©PǤD:ý—Õ±›v/»+$úwÙzš²kÏtíÃj®=~ë›.~‚CcDôbe…íúaáükšõ¥Ödî,ý|™të¤û/¯¶Nþç·o3UßÕqðaPi©VhLýÇÄÙl¶\¡`³ÙªšZ9ÇT¢If´f9§upæ§æàJºêËÂç÷¨]Øæ„fn:~ÖʵA]ÕS0¤ÒgÑ/Ãþ¾ùììûhYL€
16
17
—0ƒ‰ Z–/“¤6âz¯xýðaP©|H…VÜr®åŸ“þçCziçÌ	DÔ©C›zuœk99Q|Bҋ˜Wa·îÑQ[
ÖõÆ@…£åâmÐÆ„kÞòË_NÍH:?©]¿=F¶•Šæçm±*´â–sÅmß@}9LÇQMš7U"yßqOuü‘ŠÓ⣯ŸÞ¿|Áúd‰–{”L±*´â–s†·o®¿¾Äm X>ÓQ_rˆh%ÑgeŸTD"º¬P<¹ê¿}ÿÇN>¿mÝÇTW¶j¾úރgO[VY@Ådò±€
18
õ%“ö'êBóԗPr¾Þ?¨EP_@ɽŒy¥Áù—`L¨/À˜Ê{}Ù¤u¯ƒAç_JóãwnÚ{úZxüÛ|«ÎCÆÍ^ðeóÒÎ>EE¯_ÊDq3G{sÜûï=|ðßëü<¹ã­óO”¯J²â.œ¿r?.·Èqo	Ÿ®¢ëË[kVõùÕgJÿÖU,xlSË΃ÇÝ9’yI”þψá?¿veîW^Û#2™`óŽNnZÕ©S¿6½&nû'MOË&­{å&\ÑÈgƒü™ÈÁMÛôþ¬ßÔ-7Þù@ L]_î‰êù¥‹…Ö—Î-Ü4uߦ
kWù¥ó®%'˜ TœøÔeÐÅ«§,vßöÃ6=-‰èÒ
î·OmŸÌìþðçɈ»‚6Þ±Üïƒ>’¢ëËX‹Êí&­{1ÿcvOm; †Uýlj~êYe³Eƒ[šq8®Ý§Š³Âô·ìàÙъǭVÝTuƺ]§Šsî–ü˜àã)úúžª¹	Dm™íÈ{Iåšîè¤sMZ‹&l3µŽ,s…\¢¿eU.K¹-Jð]”Ʊ–§E)äÒ|tEח#­Nü•Ú¯GUS͗ZYp×]<]kBDÂ$¡žAi¹ÜkI¿?4°ÌK>uÁc³Aé@9Sô÷ã½×LüÑkÁKÒó%2Iþ¿—Ž(_Z0²î²£QD$“¼ž7Ã[Ï †´¼›)±dHóS6ýð ‡5Ÿ	ºð9<Ë2üxàã*zýÒ¬Z·£¿ÊWÿºù×â$³º
›Î_µyÉmú/×­1I(³º/Z¤gCZn[2xÆä±+Ìj-ØèÓíà·LÐwn¯é“G¸~Vk(oXD¤P(žÜõß¾ö´±;(ï·êÉTþۙësT•÷çCÀ§õ%êK0&ԗ`L¨/À˜P_€1¡¾c*âþêþÛ÷—MP>÷éEԗ¾Þ?|@2ðÉ{óªX틨/‹;Tr8ÿŒ	õ%êK0¦"οÐCóvC¨/ ä4ï^„ïÇÀ˜P_€1¡¾cB}	ƄúŒ	õ%êK0&ԗ`L¨/À˜P_€1}èó!5Ÿ8	ðiñõþáeÌ+µ þ*	­ÿ?ž?®ùÐI€
19
À[àÇN t½‰»_á¾$¢Æ­ze€÷ä~¨Km'ÇÆ%èy5òÞEcdP¹§¾ÔÅb)Š2˜@IáÈHH|íT³z$P©”Åõ=R\†ÅH¿?-n¿¢èÏ(Ê¢¾d±XÅjÿì•øê߉Y¹£ö$ËHnǘY²wŸyQJ逕»õË[w£]ùŸ·¯É’IYKOÞÍ|!¶25ÙúF³qfä‰Ý›[	x6Žæl5^ÊPB¥uþåé#»t½4ðËɺ^ºÝ¡MqžhÓõ̌<Yg·ªñÙü§	²Ôä—9Âü˜„ô:NvÊÆ¢´6ígNÛ{lOH»Ü؛‹'Ÿ¢ÿá2#ЮIë^¸X l”âõ=ZëH=uçƒO[·h´ñZ–P"ÞÁ.>Û$&U––%&©ÔŠ'‘›ËæmŒ<åÛùÝP^Sky_Z8¬	™»vÙs­KiTMZ÷"”˜e¥¼œùàa¤»{£aûS¿éj5³»M®Ô$W(—ËX‘$ùURT\ª9;?*&VµËÚ°”5cë«Lcì¼ B`ŠKÍm(%åâù™™î͛QkG.+Wª(’BÁÊJÒÞæ¼HÉ6³Üþ÷}=§å[){=Î+hgÉûxYÀ'@³ D‰	PÚJ÷þ—Ê•KfCy¡sGLå}1ù<^lT¤KíZ£[Û\~!lèÂ/+DRy^¾øé˔ôYu֖ÿuèVK>hCÎꙅƒ»˜²£…ÒÆfeqOøDáq€²WºÅS>jÞ_ÙUfæU›¬>ÿ¬õ¼+)5>«W]ÆbeçŠnÞO¶µ7÷ëoÖ®º45Cœ+-ø¢¡4$ìUŸNÎD4·ÍÒ	G‡¸”ê!€uë8«EÊËâ_†œúwrµ²¦ì“¯Æe<ÃNMÊY3¶Ž{uÊȊÄ[ès$ív’ýÐîùL—сvì»çÏc£»Ôõϑo6åüùÇô{•͢Wj‘²¨/
¹ÿe;{
20
}Q’¥˜6Èyϟ	?r²ncED2‰ØÖŠïw,eÛÉÄn–;W»)»Ø»/º½S<iJ÷©q™UëºOZ¸¡´ñß¾_-RŠõ¥ž[iÕ³7<Yz?2τ͵æ³9ã~Žq4ˋØÛN³K³QËïŒZþá©@É̞6V-RZõ¥ž›¨ëÑ¢ÇÞTñ º øVÚÈö“^?z}õW÷â>a*¹7ï~ì*‹Æ­ÔpSߏk^ߣG-[®Ï§NJWÌyòϚšÖÖ-J57¨xƒÔT´ZI€ÌŒ­¼œ©fÍ`ΚÁK#¨$®|ì*­òòü¨Ê¢¾,Áú%|¢°~	ÆTÞ×/Ãb¤ßŸ·_‘`Ä| ô”ÇõËg¯ÄWÿNÌÊ-µ'YFrs¾Ä̒½û̋RJŒ¨Ü­_ÞºíêÌÿ¼}M–LÚÈZzònæë±•©ÉÞÐ7š3#OŒèÞÜJÀ³ql4gC¨ñR€*­ûéyxž[¯ßîЦ8O´ézfFž¬³[ÕølþÓYjòËa~LBz';ecQZH›ö3§í=¶'¤]nìÍœOÑÿÔoï	e¬ï©µŽÔSw>xð´u‹F¯e	%²áìâ³MbReiYb’J­x¹¹lÞÆÈS¾ß
å5µ–÷¥…Ú‘¹k—=׺¨Ž¦õ¦îźÓ;©{naaa|>ÛÆÆŽˆ23ÓËâþê†xð0Òݽɰý©ÇÆVɐ)b3å¹B¹\ƒˆÄɯ^GÅ¥ÖuȏzžBô®¾\–âÿGýwCà"u€2—–ö†).ë×wB¡°\ԗ™™î͛QkG.+W*/’BÁʊÓÞæ¼HÉ6³Üþ÷E³õ—oy´zf3¦×㼂v–<Íє—1̂¥Ö | ¿MþII‰DÔ¡CGÀL"—îõ=¬÷©ÆI¥æãóx±Q‘$ÊÝÚæò!›Ã*“H*ÏË?}™’^ ³6gmù_‡?ÆÛÿy'G9ˆ‹);Z(՜T¡P0å£rCW>PçÎ]†Ú¿ÿ"JK{+‘HJ·¾T¼O5N*‹ˆ3ó‚ªMVŸON{~åq–
ÛDÆbgçܼŸlkoî7ÒñÄäj-ªsr¥¬/JCÂ^1½æ6°Yz÷Åø˜$±D"a³ÙÕªU«Y³¦‹K²¸?‘!2äÔ¿“«U«–ÙÉøŒç	9©IYkÆÖ9<³f§º¦26Ç–ÿr,-$ÚΒ›Ït¸à¬Wß=—#ÅRItXÇˆmªj]¤ÄÊ%€q…‡‡ÇÆÆ¾}û6&&F$s8ìrqþ%µ³§Ð)YŠiƒœ÷ü™ðà 'ë6VD$“ˆm­ø~ÇR¶]Lìf¹sµ›²‹½û¢Û;œ¦tŸ—Yµ®û¤…>^ú•Ô„IcMù¦ööUªV©êææfffVŠõ¥ž[iÕ³7<Yz?2τ͵æ³9ã~Žq4ˋØÛN³K³QËïŒZþá©@ÉxÎldfeF?ŸTZõ¥ž›¨ëÑ¢ÇÞTñ º øVÚÈö“^?z}õW÷â>aʆ·÷ÏÊ휜œ¼¼ür÷üñZ¶\ŸNS­Íy²ÑËìÚ¦(.Ê-©T¦ü›Í¶²²,‹ó/KpU͚Áœ5ƒ—F2`\[*•QvvN|ü«²¨/ñTF€ŠJ"ËdìÜÜÜû÷ïoüuãGÊéú%|þúë¯3gÿŒ‹‹{ôèAB|2•÷õK¬}”gÿþ{ë–w·!g±Xå}ýòCú†ÅHÏ<–ýu÷Íß«œJ<葟ŸÏb±:thÇã›zð8vìHE[¿|öJœœô¶…[ՇßÎìfoǘY²wŸy1i@½’%zˆ%âÏ»uݽk›ÍvvvnÞܽ,îOTf뗷îF»:ó?o_“%“6²–ž¼›ù:Clej²7ôZKå=^‡-ªÑi³meaÎã²9|Ë&îø+^µ±ª@Å#
21
•••³³ó«W¯lllÊãú¥žÿè¹mû½ðèmˆóD›®gfäÉ:»UÏæ?M¥&¿ÌæÇ$¤×q²S뢐eMöÜ»ãq,³›“—Ÿ'–òdÙw.œ>´Yþ—óšvÁ9 Z¥§¥Ñ£GZ´háààÀf—ÉóÇKPœi­#õԝ<mÝ¢ÑÆkYB‰lx»øl“˜TYZ–˜¤R+žDn.›·1ò”ogµ^÷}<½‚=ʈMdÛaЬsÇï6¹m^ä’âfP©¼ŒyÎãòž>}Z¥J•š5k:88”»ç÷”Àƒ‡‘îíOý¦«ÕÌî6¹R“\¡\.cID’äWIQq©æìü¨˜Xµ^’ìƒ×ÏxwÑ:fõN+²^l.Õ´*—÷ðQøƒ‡áD”——'
22
Ëûù—EÊÌÌpoބˆZ;r‰X¹RE”
23
V¾P’ö6çEJ¶™àö¿oìë9-ßòHµcà„ÕŽ”‘S uX6¯†\š®ÜÅɗºäåJÒÓÒcbbd2™L&+¿ë—º®ªa¶•>I¢œÑ­m.¿²9¬9‰¤ò¼|ñӗ)é2ks֖ÿuøc¼ýŸwrTÇ¿5fûñ?¾ÓgµÖâWœugÑJ¹«øO	 {ÿJ¡P<y‘’’_~×/ïSM˜™Tm²ú|rÚÓð+³lØ&2;;·àæýd[{s¿‘Ž'&WkQ“+e}ÑPöJ9ήa.5{úþääuà¹æìOw/wh=¯iT6NµjdddQJJÊéÓ§Êïú¥á2äÔ¿“«U«–ÙÉøŒç	9©IYkÆÖ9<³f§º¦26Ç–ÿr,-$ÚΒ›¯ÖwRй¨ù÷r¿%IÒüôÐ}Ë{,}¾a¿G©¦
PÔ¯ïJDùœ¼¼Üìì¬ÃG‚Ëïú¥áÚÙSfvAô+É´AÎÇîæyº[ý0´¦»³¹Œ8¶VüÃ×3†n5ªkùp§[ÇvÔúr̟ì=Ä3€ÙpM,ª5ü>èÅÖ#jš+›áþ—Zåæf'Ä'§¿Í=vìHvvŸÏ/÷¿$½·"Òªg=nx²ô~dž	›kÍ-&fsÆýãh–±·Z{Õ|œúùÅ÷Sêjª<(¼„úæÍš»·hÓ¦]y¼ÿ¥ž›¨ëÑ¢ÇÞTñ º øVÚÈö“^?z}õWw¬8”ž‰”ˆX,VM§ê6Ö6DTN×/KÖ·–-×g„Ó'¥+æ<ùgMMkë%›Äåq,­L¹6mذ±™™YFfFy\¿üÀ¾ksÖn\âÀp:uB¡ðuÊë×)¯--,+Ôú%”±Zµß¾ÍHK{CD"±È”oZÞ¯Gq	PžÍ˜>ÇÒÂR$edd¤¥¥&&½*ï÷¿üX}À·nݼy놵•õ¯qúÌHË«€ç_¥/âÛo|ûíånྠ¬_~(ÕYzÕëý£}ø¯¯ù6®jaç2òÇ)UXZ¨À*òù—ö¾9Äb±½–x"%¹B^Ü.^Ý~àj&YÚcǽ׏ö}à8%ƒõKzà3è×>OK<‘Ò¥—¡Åítåَ J*|’!òؐgiú!㨧E9•iÄ1 ¢Âú%mÜË>0s¿h×Õ ‹Åš3eƸ‘Û}1áa^ž j—w­BøóšÅs'¹×n8{C›ëbmb¶urûñL¼²‹jGÕd¢˜Yz?¶wÏqṅsñÌ\zV1çYVk¸æb’æ±p͑€ýnÀìÁíœmlëÍՕWP÷Úîuí̪Õïz21/õ¦“j¶µš¯¿T8¾0åL[·‘‡OÖÂÙûv*
t0[™ADrI‹Å:™&""QÚI3‡º2×Ìä?òƒßZ¸û¦þß|B*ûú¥ðÍ¡ºùXðl×µ¸®öùª­Á§ƒ¦f{;¢?ÈP-gï¬ì–8bÎÏ~»o‡HºÇýb³ärYØæÞãg«vQ(Ê
åç&öz3eÇïûöï[Æ<ò,F‡7š“™w# ÛZ¯o5Gm@":q–ò,åÑeo]9HE1Û3»=|vaSŸÉ}6†½i{/1í¼w»#¦2
‚‡Ï\ò÷ÍàƒÇïó\7j3-èçä;—ˆ$9wˆhýÑX"Š=²Þ©ÿwº2×̄ˆrá¶¥c¶øLê¨åwŸ&)Š'÷dë‚À IDATCý·ïŸ=mlqû3½·êY
24
¹•…Wµº=õútGóŒ¨%_qEK&®¼¯»TøÔÌÁS’QdPu»»­à÷”¼š<-å»BšÎæ×ËÄj]Ôv[ZòƒRò›qd¢—‡!’܇ª¯*dYl^u¹LË9£jù$ŠeŽi¨æ 5…\ÈæXÊåR"jUwÚý—Û‰H^Ê³h.¿Nœkßtóšˆô9f¾ö_}¼¯wÆóe?Ö·}{êŦ&vº2Ẅ́ÅbÉ$)k¿Þ6nÓ÷Î|¶Á¿.ƒ<¹šÚº×Z^!
25
¸w±nç—1¯Ô^òß¾ß[`佋ÆÏ Ü¨â`oii®ù÷¿H[õdªGÿmšßWüõK]?¿n3Ýќˆl]W[þª9Ç´žTmHPUX¶¸úûU05ìëáFzÞ§³B.)2ùˆü‚±ùÎRa”ú¡±­rQ‘ƒ‘jqix,B!c¶Çîd¾¸góª)äB"²q]iÏeûŽð¥ES÷ó³Ì¨u	œ®6z2W+s§téúèɾ³Ï²9
26
ø„Tüó/uý$"á›C»#v0Å˄wõe æUäù\s7C‚ªÜ̸ß?AsJ«¾Í–í>°oÏîÙj¥Ú±©7V,%"©ð	GÐPK‹âӓƒ¬ùñb)ó{vt"™pìV4°IXóãÍ/Ú6\\›7å·)¦õWØqLÏüsÿABÏr7§èj>!ýR§>I¹Šÿä$lT½Š¼@ADu`q-õ]ÜmÞ¨¼Þ«þüíáDDráÊ!k‰èú[‘5KR·ÔëÊ`{²e3s®xŠfnË¿pôþ;•ˆâÏ­pì±ÂÐcÖKWúùÌqŸºõÉD1ž=¼˜`¿%nDô/¿
ÿ®éõe7š-î[¬ÌÇ·v`ó]\˜1ºÛ792Ü	 â¨ÔÏïñ	ˆúiÑ»ûø˜Ú
ˆ
27
XN+2»³fÌeÄGçÖ½x¬¯²fðкñý»ÔšžýÞ·Õ=~»~sêèþ_ÚÙ$Ùw_FDg·ÌÐ¥Î4‹FëO…zlú\Ù2è—q]Û;-·o—•¦:ÂÀ S'O»§J|¢õÙSƒKrütå _ÛU—ûÌölÛ)Ï\Îäȝú/ ºú§¹|ùÍ[Ðß©™[Õ}zޅŽÓ<Ú9¦„GåLY\ߣv	Kñò+O}?d@(3¸¾À@Ÿðõ=åvýŒ®RŸ	F‡õËbôł(@‘°~	ƄõK0&¬_€1aýÊ3ùG™5*_úQ樰~ù¡TgéU¯÷Žöá#¼¾æÛ¸ª…ËȧTô«QHF7°+ý\´èÔñ[ÙG™ BÀú%	ßb±XšO/¹¢Øëm^Ýß{Bw	FP3aÈÒ;î½~´ïÇùèҟ.9+ŸÊl+ëÑ×a‹jtZÇl[™ZújÌÈ¡ýFû0§@û(:¨½íj&fï›sKËC;ÀX¿¤§>ƒ~ úäñ»ô2´¸]‚®<ûÀTI…OC2D¾ò,M‹nm0qZ䑃ÁaQ™F³HQ›Î¹¯š®QȲ&{îÝqr.³›“/
28
?uè÷àã&÷ìöK±W{ÛÕL[å~jáâ&¬_ÒÆ½ì3÷‹vmP
²X¬9SfŒ9°Ýæè	ªvyWÑ*$?¯Y<w’{톳7„0±¹.Ö&&l['·ÏÄ+»¨vTA&Š™5 ×˜ñc{÷ž[8ÏÌ5p¡gsžeµ†k.&i׬1	ØïÌ~ÜÎÙÆ¶Þ\]9pu¯í^P×άZý®'óRoú7©fa[«ùúK…ãSδuyøÔ¡a-œ½o§Ñ@³µ‘D$—$±X¬“i""¥4s¨+sÍLþ#?øý¨…»ojKhHÒàîÕU#÷}<½‚=j-]¿ôK{à­ÜÕú>«Î®önßß:¯^ß­ÛJ¦}ƒ3£k¦†¨ìë—Â7‡þéæcÁ³]×âºÚWä«¶Ÿšší1ìˆþ Cµœ½³²[âˆ9?ûí¾~ évô‹Í’Ëea›;xŸ­ÚE¡P(7”#œ›Øë͔¿ïÛ¿oðÈL°@ÞhVLfލ€nk½¾Õ<µ‰èÄY~ȳ”G—½uå ÅlÏìöðuڅM}&÷Ùö¦í½Ä´óÞíVŒ(ün:xøÌ%ß>xüî1Ïu£6т~N¾#|‰H’s‡ˆÖ%¢Ø#ëú§+sÍLˆH!n[º@0f‹Ï¤ŽšÇr&]ÔËöÝ*¬$ûÆàõÂ3Þ]´µ\hµUîj£Úìjï’Ç<ÿ›qRqîã++™Æ|›^’Ü;š€!XD¤P(˜'”Ïž6¶¸ý™^[õ,…ÜÊ¿«Zݞz}º£yFԒ/¸¿¢%g±XLñ!>5sð”äETÝîn+ø=%¯&OKù®¦³ù5ä2±ZµÝ––ü ”¼Æf™è¥Àaˆ$÷¡ê«
29
Y›W].ÓrΨZ>‰b™£Fª9hÍ_!²9–r¹”ˆZ՝vÿåv"’¤ò,šKůÓ#çÚ7ݼ&"}Ž™ï€ýWïëñ|ُõmߞz±©‰®ÌU3a±X2IÊÚ¯·Ûô½3Ÿ­õWcÅa¿–HÍL
30
×wíµýJÄOÑ/zۛ*‘+,¢ÈÀa}öŽ¿8^Ï1ª½ªG=¹Žµtþ¾ßæ¶dþƒD!ÏãðªÊ¤yZ€òïÉýÐÔÖ½®Ðò
31
QÀ½‹uë8¿Œy¥ö’ÿöýþÛ#ï]4~~åF{KKsÍ¿ÿEjܪ'S=úoÔüƸâ¯_êúÉøíp›éŽæDdëºÚ*ðWÍA8¦õ¤ÂhC‚ªÂ²ÅÕ߯ꄩa_0Òküð>rI‘ÉGä4pˆˆÍw–
32
£Ôm­‹Š„ˆT‹*Ãs`™ŠÂK¨Çîd¾Jfóª)äB"²q]iÏeûŽð¥ES÷ó³Ì¨u	œ®6z2W+s§téúèɾ³Ï²tå ’+LMÞý¦nÙ~ü¯ÆôY­úW¸Q×a£‡œûgíÐS^úQ³ÈV
33
¸ÿ—íuŸšµÚl¾’¬røÅ»`”*þù—º~‘ðÍ¡Ý;˜â‰e»ú2Pó*ò‚ü®¹›!AUnfÜÇ9¥UßfËöØ·g÷lµÆRm‡ØÔŒ+–‘Tø„#Ðw±³áôä G'k~¼XÊ|›œHD&»
lÒ#Öüxóˆ¶
׿MùmŠiývÃ3ÿÜÿFЅÐ3C‡ÜÍÑ^éÚqMòeïޚ]Ã\jöôýÉ)ÈëÀse0êÚ± Ã§CÿØØPÀ)î1*ßv¾më_ÜŒ¹`Ð &¢å™p>έ‘*€Š¿~©Çӟ€¤\År6ª^E^  "Š:°¸–Ǐz‚®î¶oÔF^ïUþöp""¹p吵Dtý­Èš%)ȍ[êue°ý»+Tš™sýõÜ
34
gùŽÞ§Qü¹Ž=VzÌzéÊA?Ÿ9îS·Þ!"™(ƳGá2a¿%nDô/¿
ÿ®éõe7š-î[¬ÌÇ·v`ó]\˜1ºÛ792-%vS3n¬Xý6”“‚ÎEÍ÷¸—«sqÑÀcÔ|Û­j»Éҙm™8–k¦ïß GÅ_¿ÔÃ' ª·Ê$¦v¢|”»³fÌ;bÀ”u/îé«'xhÝø•]j©Üã·ë=.ëÿåèÑCû¥uûŒˆÎn™³°K‡FCšúm= ®²eÐ/ãVµw²vì¤6ÂÀ S²5Ǝ÷š¸Åúì¡ÁÅ8lÝtå _ÛU—û<YݶÓç_tŸØÛ3t꿀ˆ¾ót!"—/¿#¢ýJ¹UÝѧçåuœ~@ó¥¾v¦7²ÄjAŽY㓁½‡x|à1ª¾íkz4±0åÖl÷õœßN2¯Š³ÂLíúéÏt)‹ë{Ô.a)^~å©ï‡Åõ÷ì¦+ú
ñ¨]öSÇý٧ȪˆÍíË~j0
35
\ß` Oøúžr»~	åY£ùÃî-þ8O!Ú·øÞ—ó”©*NÌQ®Ö áSaÓ`õ,§FDËË~êN³¢ê[—ý¼Ö/‹ÑÕjÙb­>¯~c¦²u~õG™ b¨Ô׏€ÑaýŒ	ë—`LX¿cÂúåGPnû@ú«¢5¨Áú%eFžÑ½¹•€gãØhΆÐLäÕÝ8Ï/?™”Xe_¿¥…´i?³Í×ے³„QWvä)ÁDAWž• —ᙈÓ"‹Ê,n&†wü
36
yþý¿o>KÞ¥l€¢²¯_žöšZËûÒÂaÌyìj®]ö\[ÏÄe¢˜Yz?¶wÏqá¹Lgæ¸Ð³Š9ϲZÃ5“˜ SŲX,åFö‹àvÎ6¶õæê§X™SδuyøÔ¡a-œ½o§ž‰ÖŽjé©â
37
ê^Û½ ®Yµú]O&æ¥ÞôoRͶVóõ—’ô¼'2ÑË­Úº¼|ˆr(ÕÊ^³ÊךT•}ýrmXʚ±õUúþynb¯7Svü¾oÿ¾eüÁ#O0Áatx£Y1™y7º­õú–	2U¬B¡P–³'ÎòCž¥<ºì­kœbe<|撿o<~÷˜çºQ›
ÏDkGµôTIE1Û3»=|vaSŸÉ}6†½i{/1í¼w»#¦êyO®Ìà”Ïw³–m9¥çèTéJ*)
38
æ	å³§-n¦WãV=K!·²À51ÊäB´¥%?(%¯±G&z)p"É}H*œTȲؼêr™i¬ú J‹•(–9òLǐLZ՝vÿåv"’¤ò,šKů
ÌDWGÕôT©Eáør!›c)—KuKGkÓ-I9îæ\Õ^Z‡RnhMÀˆžÜMmÝëŠ-¯Ü»X·Žó˘Wj/ùoßï¿-0òÞEãçPnTq°·´4×üû_¤Æ­z2Õ£ÿ¶@ͪ¦â¯_êúÉp1eG¥š}#ò8DÄæ;K…êO)d±­r§ªVoúÇQ¥+“DZ;™¯¼Ù¼j
39
¹ÐðLtuÔZ\êÂ2(2=Çr7GÒČkø€z€Š¡âŸ©ë'cn›¥4û65ãÆŠ¥D$>ኾ([ª#MÃÇѕI'k~¼XÊ|띝hx&ÅíX$­ÇâjÆyœ¯~^)‡Å’¦!×Çè‰@¹Rñ×/õ¸à¬Wß=—#ÅRItXÇˆmL|ùŽÞ§Qü¹Ž=V褙9×?<EëKZÇqp·=xc`&>sܧn½CD2QŒg/Ã3)VGCh=–U_Ô\ü{)dYʖ}lM¿?ûT*Ê<²öÝE?Ê£6zbP®pÊ`Žò|ý¸½û¢Û;œ¦tŸ—Yµ®û¤…˜øÀ S'O»§J|¢õÙSƒõô˸®í–Û·ËJ
40
S{Ië8‡ÖïߥÖôì÷¾×֕IÛU—ûÌölÛ)Ï\Îähx&Åêh­Ç2øàÙSýGö¹Ø²®­©²åÖß÷œÐvsžEÿÉ?V;j£'åJY\ߣõrCóûH}àӅë{ô	_ßSž×/À¸*ûù—`\X¿cÂú%Ö/À˜°~	ƄõK0&¬_B¡^õzì "¨ìë—ÊôuØ¢Ö1ÛVæ<.›Ã·lÒaàŽ¿âU«ÒMWG"ʌ<1¢{s+ÏÆ±Ñœ
¡ÊxÔQïÏÔàqxN;üxàßwC™ZújÌÈ¡ýFû0GýßDôöv`ÿ¶®f<6—oÞ¨ëê"´Hr…–g…Ö/‰ˆ²¬Éž{wœœËìæäågæID™¯v-é·yh³MÒßµT¡9ޮޢ´6íg¶ùz[r–0êʎ¼ã!L<ó©_û™!Kÿ¸'ʾ´ëççv^þOjáPù¢ðS‡~>¾q`rÏn¿hÎÕ¯çÔ¦‹‚2D²qÞÓk˕qqZ䑃ÁaQ™»Ò¥—¡z^-ñ°PÙTöõKÆ}D¯`2bÆcs¶Í:w|Øê‘ÛŸTkÇÓ^Sky_Z8¬ƒ9]͵˞kë™ø!¯5CŽØ²—cÚ°ãð£'Gùß«6 ë—~i¼5'’)hÎÀ–ü÷Â”3mÝF>uhXgïۅ¥*‹ÅÊ~ÜÎÙÆ¶Þ\"è`v2MDD¢´“f•mޕã
41
IàÏkϝä^»áì
!º†Ð
42
ë—$ɾ1x½ðŒw­¯Vï´"ëÅæÌ®ÚqmXʚ±õU2+üÓ÷Iú’¶U”a‡Ö³ã¶¨£M¸¶šãß?·Ç 9¡O²TƒÁÃg.ùûfðÁãwy®õ.ígù!ÏR]ö&¢ýœÖ%¢Ø#ëúW8‹J-~ge·Äs~öÛ};ü@Òí8=ÃhÂú%NXíHÉÚÎq$"6¯†\úîûq='_êéø8¯ %O³M¬HæbÊQîrLëÊĉïò'"¢¨àyÕ;k9½²öõG¿2Ÿýysßó1Ê _BßQµ-‰¨fÏu¹	;”ñžÓٚòœÍ‰¨Ù’¾>‡‰èðúˆ~‹Ý4G^è÷ï8'K"âÛ¶9~hšža4UüõK]?•nÙ~ü¯ÆôY­µg]çY´Rîê9ùROGSv´PªÙÆUÀ	Ï}W×äGpõ”»º=|àÜ?k‡žòÒ:E‹‰¿<I¼kyaҔͷ™ÈãØLùËæUSȅʖ޼w¿hוœ„uÏ2£Ö%pV¸Úh–-®Î{ï/†®a4UüõK]?•v
s©ÙÓ÷'§ ¯Ï5yº{¹Cëy%˜]µãÜ6K/$h¶™×Øvõùw—™'†®²®7[¹uíXÐáÓ¡ll(àhöe˜p«Lñ9²wAái”¬ùñb)SgG'jï±[^ÏtÊoSL믰ãhùàfÆ}œ÷Þj®!Ã0*þú¥&‹šïqï¿ÕD‘T!ÍOÝ·¼ÇÒçö{>ŽÖŽ£œõê»çr¤X*‰òQxÝÏðÀE—'
ýãvLTôè¯=ý½Î}8Êð¹ˆH!Ë¿¶ç;¾uf×gŽûÔ­wˆH&Šñì¡}Փˆú-q»¾ìF³Å}µ¾ºÞ«þüíáDDráÊ!k
€ˆt.ŒQ9?ÿ’Á1k|2°wπøyD$àšð-šwì½õFÄðšæÊfª5«Öñµv´w_t{§xҔîSã2«ÖuŸ´p·mò¿[[³&Œh;êUV†mgìüçûö&ìÛ·ùò¿"%&æM;
8òÏ~&ØvÕå>³=ÛvÊ3—³ùêêëÔÑÕý´¾Úã·ë7§Žîÿ¥MA’}÷e†@eS_²X¬—‰¥ÝWµS?¿ø~êA]‹Û Ù¨åwF-׌7÷ZußkU	æúöüÃo5£&‚ù[ÎÎ/j(S;Í 2ÂâØ-Ûs¾Èa´ªøç_@YÂù—`LX¿cÂú%Ö/À˜°~	ƄõK0&¬_€1UöõKe
ú:lQNë˜m+s—Íá[6é0pÇ_ñªUiŽööv`ÿ¶®f<6—oÞ¨ëêg^b=€Êþü†B–5ÙsïŽÇ±ÌnN^~žXʓeß¹xpúÐfù7^ÎkfWØRï€ýzNí¶;ìø°6übÖíâ´ÈÓÕhÕ§SCýAýJœÀ‡L
43
 ª²¯_2îûx$z{8”3›#°í0hÖ¹ãÃVÜfà82ÍØR½¶SH^³xî$÷Ú
go!"‹•ý"¸³m½¹D$L9ÓÖmäáS‡†µpö¾ÊtÒ䙹.ô¬bγ¬ÖpÍÅ$C šëbmb¶urûñLárì@³“i""¥4s¨gRµlôÃù—$ɾ1x½ðŒw­¯Vï´"ëÅfg<¾nAsBŸd©ï¬ì–8bÎÏ~»o‡HºÇOœå‡<Kytٛˆ‚‡Ï\ò÷ÍàƒÇïó\7ªp.­Áatx£Y1™y7º­õÒòøq­	‘_l–\.ÛÜÁ{ül&² ŸÓú£±D{d½SÿïôLª–-€~X¿¤À	«)9"§@ë«l^
¹4]¹«çäK"ª=dýѯÌgÞÜ÷|Œ2¸ÐïßqN–DÄ·msüÐ4&Øsú [S¾“³9ù%ôUےˆjö\—›°ƒi 5HD&}aÁå6â#L;a`J®e„0Û͖ôð9LD‡×Gô[ì¦RÕlô«øë—º~*ݳýø_é³Zk5*κγh¥ÜUüGפ-&þò$ñ®å…IS6ßf"aÙâê<õ÷ÙQ%ò8v'S³²yÕr¡žà»Cc[+ä"¦†}=|ÀH¯ñÃûtVÈ%LÐÆu%'aݳ̨u	œ®6ú'uÔÈ@—Š¿~©ë§Ò®a.5{úþääuà¹æ Ow/wh=¯Xóšp«Lñ9²wAáInfÜÇyÚG¬ùñb)S¶fG'ê	–,)­ú6[¶?øÀ¾=»g¿kñ[^ÏtÊoSL믰ã˜|ø¤ŒŠ¿~i IAç¢æ{ÜË-,ER…4?=tßòKŸoØïQ¬y²ük{¾ã[w`v×{՟¿=œˆH.\9d­f{Ÿ9îS·Þ!"™(Ƴ‡—ž`ɸþVd͒äÆ-õº2ØþÝ5Lý–¸]_v£Ùâ¾ú3Ð#ICYܟ¨œŸÉà˜5>Ø»ƒg@|È<"pMøÍ;öÞz#bxÍwçªÖ¬šãûöm¾ü¯H‰‰yÓNŽü³Ÿ	öøíúÍ©£ûigSdß}™æÔmW]î3Û³m§<s9k ž`‘´&pv˜]êL³h´þT¨Ç¦Ï•ú/ ºº ¿“þLô¸ë¦©ì÷¿TmàÔÏ/¾ŸzPWc­¾=ÿPó¢nÇnٞóúÆ1Ìßrv¾Z7mAՎZ“Ñš€Ûčq7îì{¬Œ›Úy’	³	ÅRñÏ¿€²„ó/À˜°~	ƄõK0&¬_€1aýŒ	ë—`LX¿¬øJö>ôª×Ûè™@ePÙ×/•µ×ë°E5:­Sª5ciÃ4Šž×uF­×™QõŸ‹¤Z$"+sA‹A_9´ßèoæè{@¹&¯î
‹Õ¾ä
44
yiOÖ/‰ˆ²¬Éž{wœœ[D³ÿ¨m‘(ýlìÑñ‘ùReci~äø£±gÓEºFËɅŸ:ô{ðñ“{vûÅÀTAWž«}	\zZÚS@…TÙ×/÷}<½‚=%ž+/ñ²¬ m¯ÊÈãÒ
45
d—óŠìëú¥_Úoåî\k¶­“ۏg♋ÅÊ~ÜÎÙÆ¶Þ\z1Um(‹5gʌq#¶ûbÂÃ<õ5QÕöÊmqƝ©ýÛX™rÍíœú>É7Tmpž™kàBÏ*æ<Ëj
×\L2èí€Jë—$ɾ1x½ðŒw—ODD)—¬Ù?ðž˜-S‘B–5éçö¬.¥ÙW!špm•»~±Yr¹,lsïñ³•Ágù!ÏR]ö¦ÿêfÕÕSU«¶Ÿšší1ìˆ!™¯èÔW4Ä757÷¼O×mvۓÞ/̈́ÑáfÅdæÝè¶ÖKóñæïÁú%NXíHÉõ$K=’.¼î´%´+bâé8"Š;51Ҥ奀ޝ/è[ðcò‹
46
žW½ójµ—\'ÊQîöœ>È֔ïäl^d&ö"r¼öõŸŠlLD~Qþ“»šrø'þ–—¤µÍ†I_Xp¹Í‡øÓN2&TfýR×O¥[c¶ÿã«1}V«V£Š÷9×ÍÙ]ëÕ;´{XÈÌ¥
47
Rü0ó°ÝëÖïšýò–ž^º=|àÜ?k‡žòb"ÂÔ°¯‡é5~xŸÎ
48
¹DÙґW¼ßÇ´žTmHËAö‚»®‹eÿ˜gá4AOKÛZ!×y:)ƒSs|ÜõK]?•v
s!òýÉÉÅëÀ¤ ¯ú%›ë\†h§iÏýÿµ›8í4xú°:Šü~¢ô©D«tõŠºvL-2¥UßÏÏÆMkn—çÔeŽž¥
49
â讽ò#¸ænjA‹%QEDï®
ßü§O‹®=3µÜûü~õ=3¢â¯_hRй¨ù÷r‹wŸ †¼ åÄÁݜK,Î/§î¿sÑé_8,⚷p<H-(ƍ~®¿Y³$¹qK½®¶×y½Q3s®¸ö3;DDQ×òø‘‰¸
50
¸Û¼!¢>¶¦ßŸ}*eY;DÙ~Ùÿ|Fþ¼ëA|vÜ¿gÖ¶0<U­pþe!ŽY㓁½‡x”`"Qú9žmfÛÞ}iðªàšÛ3»}lyçÒEôþ	z†:»eÎÂ.u
iê·uö€ººšý2nU{'kÇNšF<É' IDAT/͚1cìˆSNÔ½¸§/9´nüÊ.µˆhëïÿœÜÖ¼J㩃”í­Ì­ü¿ØÜÉÂĄcWËmÉþ'Å;x€÷•Å÷ã,«Äebi÷UmàÔÏ/¾ŸzP³™æ®Yµ	¹É”»#–PnïNÎ%¢ñÚÒК›Ûčq7îì{¬«¥ÛŒé3vjv'¢Û¶ªEZ~½#ùëDäÔwéÓ×K£¿Naþô	yäS’'>8ìÒ¾¿÷ØÕIUgÇ#7 HÿüKÐïèôvç]æ.áYÓTôìÁž•ûÇÎ>%_¸<V‹àüËÊ΢U¿Øc?6­niY­á²#Ù§ïøØÀ§
ë—J	¹ÏôU}¦ë¼Â ¸°~	ƄëÇÀ˜°~	ƄõK0&¬_j׫^ïÒֈÊIj*ûú¥²J{¶¨F§uʸ\QŒ‡:–ŒðÍ!‹u荰”Æ÷êÞ°”FÐë—DD
51
YÖdϽ;NÎUF.½-îtâ´È#ƒÃ¢2
lÿ4ÀgЯ|žw"§ºòìÃG(®Ê¾~ɸïã‘èìá `vß{J¸BøóšÅs'¹×n8{CÈûý俵p÷M"¦œië6òð©CÃZ8{ßNUŽ“ý"¸³m½¹¤aã^ö™ûE»6¨Y,֜)3ƍØî‹	ó
52
ô•tM­~ e¢²?œˆ$Ù7¯þóº‹2¢P(”eٝ•Ýǟû¹®õªUw¿šyÿ]¹pûòªÙâÓƈ‚‡Ï\òwĨږñç&6µyɋ™f'ÎòCž¥ä¥JÕ&¾9ôO7žíº×½~UE |iÕÖ{ŽÉóCÃz;ò*d”ž CëÔÌ!à
53
'({X¿¤À	«)9"G}]±ÐïßqN–DÄ·msüÐ4&(/H]3ë—~ËÖibÃDüúŽªmID5{®ËMØ¡ìÞsú [S¾“³¹Ú°O|þ·¦u^?Jí+r{Ž	¹^ûúÆOúƒú§ø(*þù—º~*ݳýø_é³Zk5–-®ÎS—¦téúèɾ³Ï²”‘DZ;™/£Ù¼j
54
ù»Kv5ú2~;Üfº£9Ùº®¶
55
üU³Ç´žTmHP×ÔEÅ_¿ÔõSi×0—š=}r
56
ò:ð\s73îcS?÷¿t!ôÌÐ!ws$L¤“5?^,U(
57
…";:QbÂ7‡vGì`ŠB–	ïêË@Í«Èò#¸æn†õL-Å×ãPæ*þú¥&‹šïq/W½”\ïUþöp""¹p吵Lp|k6ßåÀ…£»}“#S‘Ï÷©[ï‘LãÙÃKÿ\O|’rÿÉIبúy‚ˆ(êÀâZ?ê	º
58
¸Û¼Ñ3u3s®xŠáï€Q”Åõ=åüüKǬñÉÀÞ<âCæ©Æ{üvýæÔÑý¿´³)H²ï¾Lõ%«º£OÏ»ÐqúG;Ç´]u¹Ïl϶òÌå¬Aþúçò	ˆúi‘©r×Ôn@TÀrZqÙ5c†(#>:·îÅc}•m4ƒ‡ÖïߥÖôl‘®©ƒ~×µ½ÓrûvYIa†¿¨²_?®ÚÀ©Ÿ_|?õ8‹c·lÏy]]ŽÛûh™æo9;_÷દä©îr
òR*wwlÛªÙE3ØòëÉ_ïÐ55¹Íؙ>c§ÖJÖ/´{w¿èF ¡²¯_håëýÃÇNàS…õËòEkΟâ|ê^ƼúØ)|ªpý8SÅ¿ÿ%”%¬_€1aýŒ	뗥«§P9UöëǕ÷0z¶¨åB»ä°E¤qc£¨£Þãûý“VµAëéK–yµ,qJð©ðß¾ÿc§P|½0úÝpÿK""…,k²çޏc5_Ê|ê×~fH`Èí¾Íª¼¼}zÒÀÎõcVVµd)Iœyú£­útjhSJS€fOû±Sø$UöõKÆ}D¯`æK‡¼Ö9>°e
"jØqøÑ“!MÇï]ýt¡ú[ç
_¶+.›uXðøÊJµWçºXÿö*×Ú±ñÿ¶[6 
t0›•>ØÞT”vÒ®áÎü·§‰H˜r泋w«eÒÔùWŸ/iWZU,¨q«ž;€Rôä~hi‹ó/I’}cðzáï.Z_õ}’¾¤må®Cë…Ùq[4›yÌó÷¿'çj—Dä›%—ËÂ6wð?›‰,èç´þh,ÅYïÔÿ;&<|撿o<~÷˜çºQ›
I ¼Áõã8aµ#%Gäh}5V$s1}·ÊË1­+'j6ëçh~ðìõ™¾\'Êa¶›-éás˜ˆ¯è·Ø	ú%ôUےˆjö\—›°ÃäʛŠ¿~©ë§Ò­1ۏÿñ՘>«µÖ†®Nxî»Ò³ ?‚#¨§Ù,àþ_¶×}jÖj³ùJ²ÚKÂÔ°¯‡é5~xŸÎ
59
¹„	Ú¸®ä$¬{–µ.³ÂµðTËDZ;Y,‹Åbóª)ä’5ÀÇUñ×/uýTÚ5Ì¥fOߟœ‚¼<×d^cÛÕç㕻‰¡«¬ëÍÖlÆ·mýöî;¬©{ø›
‰lë@¤ND‹‚¢VŠZ÷ÀAÕªUêÞ£êm­£Ö…UµV¬{cԍ[i¨×UQAˆ"Fvrÿˆ÷˜†Ùü~ž>ÜsÞ󛟇÷þÎúíÐõÈ}ƒgöíkphl‹Mçï	Ù»{çŽ÷Ù\ûõ-Æþ>Ö¢ÁB{î»ß‚· A®ÒjµZ­Vcd•ÀüUþõ˽ïLôŒÞw³
¯’ž}qt¿?oÅ*U²‡ïôñ;óŸà!ù5bý©›FùV·íbÉÛñšˆ®¾‘Ù°ÊìøŸý.ù:¼„¨ç\·«ó¯5Óƒ‰Nu·é6©e±:ù|ðæÏ¿Ã6>ÜÍkÀ†„sÓõãvM¾¿±)sä VC^fÖlÔjâ¶ÿþäᐷúÒNM®Ç•óÔߏë"VŒðiW{‚DvzãÔ^íꎯâº24¬÷Ú/™*N>3‰.Ïôqb"­_ì>e@+Õw}páf`>ö÷_êpê”ÐÓ0HDÍüßó[lºyGÍûw¤ùw[“¿ÛJDn£ÖďZó.ºûSÀ¾·áðؖ36žžaº'óVù￀²„û/ $aýJÖ/ $aýJÖ/ $aýJÖ/-åÊêÆÕªØ×lt·kýn¥Ñ)@Eñ±¯_29hJøìšÞ+˜xôá€ÏÖäsùN½–ìýG¿Êȯ~î´õnÊÃÝFw5ZM‘l-²ôèûÍ·ƒûõúÃ,Ã/Ušæ×±Q‘û(Aû÷{t´êÌ1vm}§ÛÍxÔfÒ¹às·z4ýäÅ­£û´U6ˆõÿ¼©¤OΥˤ}ñٔw—ˆþzf¢#yZԉók¶èîÝÈ6ïѬ\ÙýÐDôdÿÐöV‰ïÎ-ð\iߥ§{^ Ô|ìë—:÷{'ù…ô®j©Û=à·ô«Cûû4¯ÍãZ4úbàáãC֏إ;Ä6&"KK·ði°Ëb±Þ_”×*‚—/3m´û§¦üzŽˆ¤©§Z¹
>z ¿‡sÀ-±‰ñ¸|”ÀìN«cÃfsìœÜ–œJÐEX,–äyHkg[»úÓèÿ«°ÿꠜàþKRH®ù®”ž
60
hÇDV?~;·Õ'ÌnUÏY’øºm]ΪÕj™¼»:·uH4uyЎ[÷÷¾ºOD!'ͽy=dÿÑ;G¬²ÎĐ´)›gÇìÅej4êðu^#¦0Ác§çž¦>¼wåë—<Òߑ’#õîwŒ“©ëX¼¿s€kQO-O*lﳂþîdED»–GŒ'¢ ÄC>µ"¢Z]Vd'n5>f""Š™^£­¿Á¡Æ}VÈÒÏ1»]&ôµ³89‹
61
;0€RUùï¿Ìï'SìÆ·[ŽN^×¼»êeºOKîýlek+ž®€27’kY¿°½‡Kä5øÿJßÅmc±Þ¥•l®µÑZ®íû{VWŠY
ÂBýt©8|֔eb~UuÊm­FÁ”tä—Åÿ7(¬²È/Ëwý2¿ŸŒíýë­þÅ©ŽßÞÑûüÑôÆvþgN¬§+¶Ø¦þ*$7!ïQŽÒ]Äc"Þ6‚=©ÙN|åÄe­}åˆAdl‹_žŽßÌ>+~ýá:SMô¨Ò·_@yÃý—ïŒÞw&zFï»ÙJ"<ûâè~ފUªdÿÞéãwæ?ÁC
62
ÛûJ¿3¶Ü'"ÒH}µŒˆ§ºÛt›ˆÔ²Øü
63
ØÎÕ72–B™ÿ³ß%_ËüŠ5ñÖßO-ì J\å_¿, ®°ññàn^6$œ›n×äû›2Gj5äefÍF­&nûïO…í½ÓïW¯êóµ½­ò•CÇùDÔjñÅîS´òÎiX}×°Ó§öjWw|ו¡a½×~™_±}«†·oã´À¡uæ«ð Uþû/M—Ñ/àÔ3(¡ç»íf~‹ïù-þ`»,®ýügÿU“m9cãéÃmԚøQkÞíì~”_I·‰ÛÞNܖÛeϏ@IÂý—P’°~	%	ë—P’°~	%	ë—P’°~	%	뗻®õ»™I#%«à¿ý¢ý;1Ã)˜‰}ý’É-RÂg×ô^Qä¾Ê‹Åò¦¿[„F4ZMjùulTüFÖ"K¾ß|;¸_Ï¡?<ÈR§©2먘S¨Ä°~ID¤UgްkëñiEî« äiQ‡ö‡„Gg”`›k,*f½+B­}—ž¿FV®ì~è?BŽ®é“ܥê"´PÀs[üŽÅœ2@%ö±¯_êÜìäÒ»ª¥nW-‹Ü«ë·#†uë2ü~ö»U.¾Ð%xրOD|«ê–^x¥j)3û·ë5xø”)SݪðuAý¼–Ù–¦žjå6ø`èþηÄÌQÉóÖζvõ§åׯA³N¿–’7>­Ž
›Í±sr[r*AéSUx<MFD²´ãª}˜Æ™ÊÓoóiimÁÙ;ù8zuX~Méª0uõ)ø©3Êåë ´ˆ³0ڔÑskšAGúó2Ø6zZô§\ðÙ|$°~I
64
É5ߕÒSí˜È™Q]_ÝúÇî=»ç|ӕҘû®“c3r®mè°Ìï]ðÂø/o}±æTHðïëVD昺Þ2pÒܛ×Cö½sdÀŠ!ë˜ø±Ó‚sOS^ȯ_ƒ2¦_¿ÈLUžD:(.S£Q‡¯ó
65
1E™ÙÓiåá8"Š;´ÒÉçG]P?_èÝCöÕjqvöÙÀN×®Úîø¡K~MéjiµZf£§Î(­FÊæÙ™˜…Ѧò;·ïÈ£§EʟÀG‚EDZ­öñ½°õ[öL?¬°õuµ·èR
66
c+,kk¿®[.Eþ󼛃….ØÜJ°/5§±«–½°¬ú•"û®ä»tJÉá×Ш¥Däi%Øø*«µ_¿³¡¿Ý¢Þø{/¶‘F)æWi¦’§èŽ&ÉՎ|¶é~õË^«Õž™ÐdŸ³Á½õûÕѪÞr55j9½šV¿ï'éÏæ/i`÷&ôùÚ&ö#rØ)
67
µ5‡¥UK¸‚šjUN~MÌQ·à§Î`"­–EÜ¿û߄#òëÚhSùÛ¼ØF;2ý‹Ëï´ä­•ßì ì=¾&öìz©%/m¸{¡^]ç±/
Uô?pñø^˜ÑÿÔ¸E]ö¸~spRR’ÁQn	
Ï£éË ®~y2n|»åèäuÍ»û§ÞY¦[ðŒÌU6´äG଒F6ȱÑjdºí9Jÿ_7íQÜ6k«n›Íµfâú‰c~ýM.];6§á”Ü—¡LD*Ÿ5e™˜_Ur[«Q肶.‹¸‰ÎO3­Hä¾t±ÍÛN_ˉۯîãõÏÞéUœFšhʄ‚Ÿ:®íû{VWŠY
ÂBý
68
Òµ~SùÛvdšÑÓb”‰Ù|TÊ"¿,ßwXê_ÃÍ{=—ˆ¶÷¯C´ú§:~{Gïók@DŸ	yqrU®Jú˜kÙÈH£ÿ×HȍÌU6ñôƒ\K¡%>‹ˆÞ?bìm#ؓšíÄçQN\¶ÑÖ
69
Þ³t	Y þfïs&2¶E/OǏofŸ¿þp©º ›k¿ ¾ÅØßÇZ4XhÏ5’°®;èѾ“åDmm÷î\þÓDS:*-qó܀P´)Qô•#](ȹ5ÑÃè/Îèi*óý—…2zߙè½ïf+‰hAgǀ›b"J8³Ð±ÓBµæ·¯ùãîÇDDZìngñÓé'*YÆ¡e_1ÁÀ©îã6Ý&"µ,v@'ã+gï׀ëØÃ"ÿñÌîÕ72–B™ÿ³ß%_K&Þs®ÛÕùךÎéa|.ß^¾="AÿÏé>ŸV1ÝTSoýýԜB^ùu—ÑsëbÉÛñº 1%þ⌞0¡2??^(\aããÁݾ°ˆúìU/9l„ߨ6§øš¨ÕÿàIÇ?‡ù1eÚû;6íýéä˜V¢Oï÷e‚­_ìþØ¿•÷—;Žê¶Þø3(ï×Ûrím˜½Ó§ÎjW·ªëWŸmšÒ«wò™ID3}œŒ¶a-²^ÿèfNUØl®}m·¹{›hjߪá‹Û8Ù8z—Øòȯ뼌žÛ+F,jW» 1%þ⌞0¡,žï)ßû/ËLê‡h’"Öi3G)-œ€
70
Ï÷P)=߃õKxçð„ÖãþˆO—ª¤™O#nó­ÝË{Df§ °pÿ%¼S¥Eϸ#K>«aeU½ÑüC’w÷–÷ˆÌN@aUþçÇËLªQÝ',î>aqyÂìà´Ö/ $áþK(IX¿€’T™×/ÃcU?·Y˜Xä °*ÛúåӗòË7“2³•Cv&«I#(„Vœ§ž¸f©Á,|T*Õúå;1.΂/ÛÔb©U®6ªãw2RÒåÖì]a†ß	dr¾”ðÙ5½Wè¶­«ˆø<W`ÕÄ«ÏÖ¿Š<f€YY¼Ÿ¨°¶9qh{~‡ú|=&¿CwïÇxµl(ϑ­½š‘ž£nëV-A"x’¨'¿È’æÆ&¾­ëdoPE«Î3`×ÖGqºÝ¬œÜ¹Š¯–ܾ°B¿¦¹×^Loú®Š<-êÄù‡5[t÷ndkzð/	P)™éû/æ‘&òΈˆ'ž®k®dJê^ö	v¬X–)'•Êš¯ÐˆÔÓ×D…®nkPë^`ï$¿ÞU-™ˆÏ!²óê;ùÌÑ;Íož5—ˆ¤©§>÷˜Ó¸CƒK£Ç͸ülnëjDÔ§ªplô[_YÚqûFÛrߜȯ$C-‹ýnÀxIÕâ$Và±íUxDÄb±¦Œ™ ÉJzòÆa[èÖf"^aπY©÷_F<ˆrwwí¿GüŸö֓:Úf«ØÙRFÍRÈÉ/_ENjEœÜèØ8ƒZ
71
É5ߕÒS팶YÃ{aæóuºí“æÞ¼²ÿè#VyœÙÓiåá8"Š;´ÒÉçG%gFu}=vë»÷ìž/ð|Œ‰/Þ´!8äľq’Þý}p²fÎÜï¿ü ŒŒt÷fMˆÈӑGÄÊVi•*ÒjY¹REڛ¬ç©¡­å­^;ÔwZ°ñ¡~Åà‘þŽ”™¥4Ú,‡_S£z«ÛJì1äS+"ªÕeEvâV]°éܑ‰èàÊȞsÜL”dÌ?™àß݉ˆª}>7ùò&îÀeQße)×~)æÙ(wæ»~Éb±t™
ý֘ˆ€Ï‹Ž"YÖPOۋϥ.K©!™J““+ò"õ­Rm#bmüÞëÏ'ogé·ãÛ-GÿüæÛîþF“_yæU~•ºíGqÛtcàð«k5R]ÐÖe7qÅӌè‰Ü….¶&J2"s•
-¹DÄ8«¤ÑG¹õUҘŸ'ób¾ë—Z­VW‘ÙÐo‰X
72
EÊjMüÏ&§=¹éQ¦-‡­fq$ÙÊë÷’íDAƒ©îQƒ›­bun¤:þ’ig{ÿ:µº¬þÅiŸßÞgy{²cAUÏéºmoA‚\¥†$&IdsíÔ·ûûX‹í¹l%Ÿ	yqr©¤¹–Ž*s#y"·"œ(³b¾ë——®!oëÍ%
73
Ńøôg‰YâW™K‡Õ=8©–w=5‡ÏçhVI;coÅË5¨;zߙè½ïf¿»J.SiU¹oÃv/èôó³_÷ôÖ§ºÛt›ˆÔ²Øü˜º=çº]­éœLÄhIKÞæˆ×D´ ³cÀM1%œYèØi!SK©%"ŠÞ;§vï÷Í*(3}~¼Pu[;PØsej¦v|_ç'çõu²iiMDj…ÜÎZt$uóyŨVÛü¬r…wó°!áÜt"²ä±Uª6û¢Û¦k‘k‰teZ-¾Ø}ʀVÞ9"
«ïú`¦®“ÏL¢Ë3}œ˜ˆÑ’VŒðiW{‚DÖg_èqߑÃv~’ds:ԗ©5yâDYzBLv½GÞ§ª”9¾ÿ’L¾ŠÈ¨.õy÷“U÷¢r؞Íÿßð“$á_ë(̉ÜÕÚ ¼þxœz%ô4þÛrÆÆÓ3ò„-ì{V1V²ùw[“¿ÛJD\aÓ]Îçm~ëæM¦æP¡˜ãú¥‰—¨›àQ“ë`¡ˆQ†ÜHìå0zCʳè”Ë¿¹ãóŒeÉÜï¿,TÝÚv¼ÀANÄ6®S¯ñ^Yëä Œ™ïóãE®»Ô—ûä÷Æ66ÖEî´,•êËAÊ^¥Z¿€rW	×/ aýJRe^¿UýtBÞfab‘[€Âªlë—O_Ê/ßLÊÌVٙ¬&H Zqvœz^äDÙ/²v­ß­Œ{( Jµ~yãNŒ‹³àË6µXj•«êøŒ”t¹µ{WØë¼…£|Þ°&ŸËwjìµdï?L\%{Ö`È)ƒÂ§†4x&Sm
74
¥A£Õ¡–_GϞ”8sü~‰÷˜xõúÝû1^-Êsdk¯f¤ç¨ÛºUKž$ªÅÉ/²¤¹±‰oë:Ù3…3¢×µ™t.øÜ­M?yqëÄè>m•
bý?¯FD²·§ãûGå¦4¾;9ªÜ¨‡ã¬–Ms¬RðY‘<-êÄù‡5[t÷nd[¨Šô׋°"t´ïÒÓ½%;€<Ìtý²Ï×còþg¢|DÄO†k®d®¾‘ÛÏ˾këê)ٔ–)'•Ìš¯‰ÔÓ×Dé—ñûå«Cûû4¯ÍãZ4úbàáãC֏إ;”“tQ­Lù[$SøÑš‘iJõŤÝî´:6l6ÇÎÉmÉ©„<ÑìÿiȬ׉Hšzª•Ûàƒ¡ú{8Üç3‹Åš:vâðÁ}Zwù GÉ%ÏCZ;ÛÚ՟FDjYìä^]¿1¬[—á÷³ß—Ñ¿"o¼#­"xùÒ9ÓF»Úhʯçèÿñ
ꔸÊpÿeă(ww×þ{Äÿio=©£m¶Š-ÕhÔ,…L‘üòUt¼XÄɍŽÓ¯²:*}n«O˜Ýªž³$ñuÛ©%Z»:DŒ’¨µD¤UgŽ^áàjøWª®@P\¦F£_ç0bŠ~›ZtóÏ3-¿Ý8ú"
75
8iîÍë!ûÞ92`ŐuFG¾xӆàûÆIz÷?{šúðbÕõõØ­ìÞ³{¾Àwð±wý;_7ÚÑíE’M]´ãÖý½¯nÅ3µ´Z-^ù¥ÊL×/.##ݽY"òtä±²UZ¥Š´ZV®T‘ö&ëyªDhkyëŸ×õl|ÈԊ•©êX¼¿7€kQO­HÒm¿:Ÿâ½1̃9êD<ҎŠb7ÿkÃ)ç_é÷Û¸Ï
76
Yú9fW£/¼ªçü•_5yw…:(±ÇO­ˆ¨V—Ù‰[ÞË&¢:¾ËR®ý»Lèkg!prÑü“	þݝˆ¨Úçs“//1ڈюfý3ÜɊˆv-ÿáóP$Źüg¾ë—Ì•\ƒKºLP·+àó㢣H–5ÔÓöâs)‡ËRjH¦Òääʟ¼H}«TۈX¿÷ús„ÃÉÛYL#.–\ær3)s#¹õuÛןKÚׯ`Gÿs“~֒vÞ¤óýwì¯× ½äÅ
"’ŠÃ¿Øk°ßˆÝÛj5
77
¦…±íÚ?|¼ûôÓL&ò(n›nä~u­Fjb¦\‹ú*i³ëÈÿK‰ÌU6´äG଒F­n´£p‰¼¿,~¹Ìwý’¹’kpI—	êv-…"eµ&þg“Ó斖 IDATžÜ¿ô(ӖÃV³8’låõ{Év¢ ÁŽÇÆT÷¨ÁÍV±:7R©«5½±ÿÙ÷wO¾ú{‰M½Iºí3鲞öuìÈ<þ„``pÿºö=eoOÑØ=šÎß²w÷Îÿº8þåúkû·ê÷՝¬wI§· A®Ò
^“db¦ÊÜHžÈÍè¡Ï„¼8¹ŠˆTÒÇ\KãOíÈMÈ{”£Ì[X…kãPÊÌwý²àÒ5äãíbÝ¢¹D¡xŸþ,1Kü*sé°º'Õò®g¡æðùͪ#içbì­x¹º*ƒg_ÝïÏ[±J•ìÑÅ]½†œš¾{(i”©Šªî"±¸«Bgm±mö‰U\ñDUb¥æê™
K¡ÌŽÿÙƒ%3†žU9‚:{ÏOÚá?Yj-Nu·é6©e±:ù¹RKD½wNíÞÆ¯}/èìpSLD	g:vZh´ŒÑŽVú5˜±å>‘Fºè«eº`SoýýÔB[€Â*‹÷•öû/[;PØsej¦v|_ç'çõu²iiMDj…ÜÎZt$uóyŨVÛü߯Ú5ùþƦ̑ƒZ}ó2ƒËÒ´XvõçU‰Hööß®»®ŒƒûÏ!‹]5sÐív·ãŸy+;½qj¯vuÇWq]Ö{í—#±®7ôÄôó_LØûpÛ·­_ì>e@+Õw}°Ñ‘Ož8Q–ž“]ï‘FôÙzÜw䰝Ÿ$$ٜõ5ZÆhG~¿z}ÜPŸ¯ím•¯:Î×÷­Þ¾Ó‡Ö™¯Â?xVŠÆßI&_iT—ú¼ûɪ{Q9lφ÷.˜$á_ë(̉ÜÕ:o•f~‹ïù-&¢K?~î»é·›ƒ?kSÇVX}dvòH¦Ì ƒ˜íÉÙDD£ÖďZó.´û‘îõg×hø®‡Ã‰ˆˆm9cãé&‡½uó&ƒˆÁ‰â
78
›îºpÞ°Œ:‹Í±z¿o¬#×~þγÝ&n{;q›É—9®_š~Õe~<jr,´1ʐiƒ½FoHyrù7÷^ï¾Åá?Sº}öôµsVú"t]–4Š¬Ë»'ÚԟVÞ0ÎÜï¿,TÝÚv¼ÀANÄ6®S¯ñ^YëQ ê,îà9ëî>M2ÿ䒈øVŽÓ÷ª\œ[Þ0Î×/‹Yw©/w©oã"÷XfŠvZTò¬(?•jýʝù¾ÿ²øu ìaýJÖ/ $UæõË®õ»¹n1».`Ëe¶:k´#¬
@i¨ë—onû´rò9<Èµ½?×h5Eî·Pò&jHÝà£UÖ/{v÷Ùì}é2µRžóäÊ&þ׋°"÷k@žuhHxtF×-
ZMןŠeå=¨œ*Ãú¥ZKSû4ü{*,‹ÉMy–õ®ì˜YÏ^X½AûãI9âëë›T¯bW»ÙÊ¿^1…§Ž8|pŸÖG>ÈQ´/M=ÕÊmðÁÐý=œn‰5þÖUËb'÷êúíˆaݺ¿Ÿm8€>U…Ë¢Ò‰H£xÅb±Ž§ÉˆH–v\XµO~uY,–äyHkg[»éG-{1¨EËWï‡,øÊèHŒž
79
ƒÖŒö(O¿=Χ¥µOdïä3tàèÕaF‡1­Ž
›Í±sr[r*Aùào*–ʰ~ytÏ´N}§†=ÎÔê'¦*Y얌RÒίí>¦ûšð×­î&¥
h½pÐ8¦ÌâM‚CNì'éÝÿAû!'ͽy=dÿÑ;G¬²®Pã/`Ý3£º¾»õÝ{vÏø>fptfO§ÕƒV‘"ë6­<GDq‡V:ùüh¢î±Ó‚sOS^Ðoêҟܙ¡?Nž¿14¿Á=ú­íq¡wÙW«ÅÙÙg;]»j»ã‡.F‡—©Ñ¨Ã×yŒ˜¢‹ä·‹ˆ´Zíã{aë·ì™2~Xaëëj5nÑ¥ÆV÷wÎ<ûàøàK?ô¨ËY,–.Ëd6ô·µ)‡k¥Ñ¨ôƒ*éaՊœHý`‹zãï½ØBD¥˜_¥™JžbлÑ$ØDݼkn%ؗšÓXÈUË^XVýJ‘ý@¿©·QÓ>[·4òíTáê^{.?ÚÝ-ýÙü%
ìބ>_ÛÄÞh]‹•$W;òÙ³þÂÆbã«,wÏà´ä=i§B¿5£=
80
9ì…ÚšÃÒª%\AMµ*'oÅ÷'Gõ–#¨©QËòÛ(¬Ç÷ÂĞ]/ ä%¢
w/Ô«ëü"ö¥Á!3ùPªß3úïÿƒ·è¢Ë×o·38jîë—ú-äýÉðµêqÒ«ó£Ç®»UÐ6ٖZ­Ú ȵ¨¯’ÆÅmÓ]mçð«k5R£­iÿ­Pu‰(2WÙВKD³JmpÔÖe‘³zÐjYZ̶©Ûñ˟fD¯Hä.t±5Q7oVGDw²M„¼ü†¡ÏàTè·f´Ç¾–·_•«•ÿÝ;½ŠÓH£¥âðïöì7b`÷¶ZÂDïF;P!˜û÷Çõ[ÈûS›÷ÉØÀC“EM¶}—Z䎔¹‘<‘›AÐÛF°'5ۉÏ!¢œ¸ìB5XÀºŸ	yqrU®Jú˜kÙÈà(›k¿°¡í´È¥K®ÿ¹Î³ÑœOùckÑ`¡=—ýÁº\„ÜG¹Ê梧˜FO…‰Ñ®;èѾ“åDmm÷î\þÓhű-z|y:~|3û¬øõ‡ëLýàÀüu®óÈ R1Ö/B«Î½²óGWѪ+µDDÑ{çÔî½Dq±ämŽxMDSÝÇmºMDjYì€N~…jÖh]¦efcAgǀ›b"J8³Ð±Ó¼íôœëFDÿšÑÀ?»:ÿZÓ9=t‡>XW¿£ÅkÍù#šˆ´êL£%ž
81
F{œÿ}ààåÛ#$ñÿœîói£¯¾‘Ù°ÊìøŸý.ù:Xæ7¨Ð*Æú¥i«{4[ðw”‚-ú̻סÿî)Z#“'N”¥'Äd×»pä]Þv`şvµ'Hd­_ì>e@+Õw}p¡š5Z—i™Ùè³/ô¸ïÈa;?IH²9꛷'Ÿ™D—P‡ˆê|ý#MŸéã¤;ôÁºú=úî?ê3¸û…æõì,
82
~*íÑZd½ö‡Qkþ3’ÅâØÖr°ì`À°ÆOoœÚ«]ÝñU\W††õ^û¥‰óWY<ßcô9³bþ#,3%q*4I봙£”Ɩ̘
83
	Ï÷P‰<ߓ””dpÔÜß	Åá	­ÇüŸ.UI3ŸFÜæ[»—÷ˆ |Tžû/¡|UiÑ3îȒÏjXYUo4ÿäÄݽå="(•áþËâ3ÿ–™"ŸŠîwŸ°¸dÖ/ $áþK(IX¿€’dîë—ᱪŸNÈÛ,L,Áñ@é1Çõ˧/å—o&ef+‡ìLV“F$P­8;N=/¥á@	2»õËwb\œ_¶©ÅR«\mTÇïd¤¤Ë­-Ø»Â^çW×ßÌGi½ŸèÄ¡íùêóõ˜üݽãÕ²¡<G¶öjFzŽº­[µ‰àI¢Zœü"K𛸶®“}éŒJF)¾ÿÒhi"xâéáºæJ¦T¡èeŸ aNJÕi™rR©¬ù
84
H=}MTè궦;VÇæ÷—Ù6Ž¿ß|f~¯ÚDÔ§ªplô[_YÚqûFÛrߜȯ$_Y\/ˆˆQîî®ý÷ˆÿÓÞzRGÛl;[ªÑ¨Y
85
™"ùå«èx±ˆ“÷Áv‚â25uø:¯€St‘™=VŽ#¢¸C+|~4QŠÏ,òˌŒt÷fMˆÈӑGÄÊVi•*ÒjY¹REڛ¬ç©¡­å­^;ÔwZ°ñaAlÜg…,ýœn»éܑ‰èàÊȞsÜL”€â+ÝïC<yÃ<èÃb±´Z­î'	øü¸è¨:ŸÖêi{ñ¹´QR£•©49¹ò'/Rß*Õ5ª°6~ïÕ¡¶¦ï¯Yþ“òöÂÑmHÅ᳦,ó«ªSnk5
86
]ÐÖe7ÑùiÆ ‰Ü—.¶&J@ñ•n~™ß“ãº8sÔR(RVkâö©OœK©5?¯_CÍbI²e×ï%Û9ˆ‚|„­k¨Äéòl•²s#Õ¹ð—ݽ™¦4ʎàSÝöØ=¾<?¾™}VüúÃu¦ê‚l®ý‚úckÑ`¡=—m¢$ŸY\'¢t
ùx»X·h.Q(ħ?KÌ¿Ê\:¬îÁIµ¼ëY¨9|>G³êHÚ¹{+^.}acñۍJzçÈ<[—ït\}#³a)”Ùñ?û]òu°dï9×íêükMçô`"ù•€b2—ü²µeH”1/ãû:¹“3ÀÝz^¿ZîÎ"5qí¬¯¦÷ûUæZÏêÁ6·/Z»ÑŸûlíÿÏÂþÛÕ©;OÓ5rzãÔYíêVuýê³ MSzÕcwò™ID3}œ˜H~% ˜Jñú¸‰WÕ¥>ï~²ê^T›Ã³á½&I¸Ã—Ç:
87
s"wµÖ/ìäóSdòO-¸Z?jÍ»Ý˜¸…}oƒ+õù•€b*­üÒÄKÔMð¨Éu°ÐFÄ(Cn¤
ör½!åYtÊåßÜñ…€ŠÂì¾?^ێ8È遨Æuêã5~Â+k=\T f÷ýq¥¾Ü'¿7¶±±.ñ@é1»õK¨ÐÌtý*(s_¿ÄÚ'@Åbîë—Å©«ú鄼ÍÂÄ"·…UÙÖ/Ÿ¾”_¾™”™­²3YM‘@!´âì8õ¼È€B©Të—7îĸ8¾lS‹¥V¹Ú¨ŽßÉHI—[[°w…½6(ɤ­)á³kz¯Ðm[Wñy®Àª‰WŸ­'èÖWä¹|Jñû=‹U¨4ÑćL¼¶ýîý¯–
å9²µW3ÒsÔmݪ%HOÕâäYÒÜØÄ·uì
ªhՙcìÚú(N·›•“›#WñՒÛöOè×4÷ڋéMßUÁ#JTùe’3£y¤‰¼3"≧‡ëš+™R…z —}‚„+V§eÊI¥²æ+4"õô5Q¡«ÛÔºØ;É/¤wUK&"äsˆì¼úN>sôN³Á›§GÍ-ìÈ>ræ¸~Yغ¢Üݛôß#>2ì“tµ6.C“-ÕhÔ,…Lžü2%:^\¯jnô³T¢å—
88
É5ߕÒÿ¦´3Úf
Ͻˆ_޹ßùAéî͚‘§#ˆ•­Ò*U¤Õ²r¥Š´7YÏS%B[Ë[ÿ¼v¨ï´`ãCýŠÁ#ý)92Ki´Y¿¦Fõ–ÙÅ͗d¾Ï3ùœAbÇu»>?.:ŠdYC=m/>—r¸,¥†d*MN®üɋԷJµˆµñ{¯?G8œ¼¥ßþo·ýó›o»ûM~å™WùUZ0»Úÿ+ÂD>*æ»~Éäs‰ÔíZ
89
EÊjMüÏ&§=¹éQ¦-‡­fq$ÙÊë÷’íDAƒ©îQƒ›­bun¤:þ’ig{ÿ:µº¬þÅiŸßÞgy{²cAUÏéE6ÀGÎÜï¿,ˆt
ùx»XېäøËñéÏ^sį²–«ë^ƒÒ3¤2¹‚Ï‘J»õÊ¡_Ç\ƒº£÷Ùüi﻾=«ðˆH¦Òré—þ6øçgcz—Þ˜*+ó]¿,xÝ֔!QƼTŒïë|äNÎwëyýj¹;‹Ôĵ³¼šÞïW™k=«ÛܾhíjP—+l|<¸ÛW6èv-yì*Õý´ïù¦k‘ƒj‰˜bxÿ%@™éú¥‰WÕ¥>ï~²ê^T›Ã³á½&I¸Ã—Ç:
90
s"wµ6(¯?§žA	=
ƒùÓÌñý—&^¢n‚GM®ƒ…6"Fr#m°—Ãè
)Ï¢S.ÿæŽG€²d¾Ï¡nm;^à §bש×ø	¯¬õ@r	PÆ*Ãý—–úrŸüÞØÆÆºÈ@‘UªõK(w•pýÊÖ/ $UæõËðXÕO'äm&¹(¬Ê¶~ùô¥üòͤÌl吝Éj҈
91
¡gÇ©çE@ña	>*•jýòƝgÁ—mj±Ô*WÕñ;)érkö®°×%™œ/%|vMïºmë*">ÃX5ñê³õï„"àcfŽßï1ññ¯^¿{?Æ«eCyŽlíՌôu[·j	Á“Dµ8ùE–476ñm]'{ƒ*Zu昻¶>ŠÓífåäæÈU|µäö…ýú5ͽöbzÓwUäiQ'Î?¬Ù¢»w#[Ӄ/xI€JÉ¿ßCùä‘&òΈˆ'ž®k®dJê^ö	v¬X–)'•Êš¯ÐˆÔÓ×D…®nkPë^`ï$¿ÞU-™ˆÏ!²óê;ùÌÑ;Íož5—ˆ¤©§>÷˜Ó¸CƒK£Ç͸ülnëjDÔ§ªplô[_YÚqûFÛrߜȯ$C-‹ýnÀxIÕâ$Và±íUxDÄb±¦Œ™ ÉJzòÆa[èÖf"Td•áþˈQîî®ý÷ˆÿÓÞzRGÛl;[ªÑ¨Y
92
™"ùå«èx±ˆ“gPK!¹æ»Rz* Ñ6kx/Ì|¾N·2pÒܛ×Cö½sdÀŠ!ï‚3{:­<GDq‡V:ùüh¢$ą̃®¯Çnýc÷žÝ󾃏1ñś6‡œØ7NÒ»ÿ¡NÀ̙ûý—”‘‘îÞ¬	y:òˆXÙ*­REZ-+WªH{“õ<U"´µ¼õÏk‡úN6>Ô¯<Òߑ’#³”F›åðkjTouÛA‰=†|jEDµº¬ÈNܪ6Û#2ð \ÙsŽ›‰’Œù'ü»;QµÏç&_^Âĸl"ªã»,åÚ/Å<åÎ|×/Y,–®"³¡ßðùqÑQ$Ëêi{ñ¹”Ãe)5$SirråO^¤¾UªmD¬ß{ý9Âáäí,ýöo|»åèŸß|ÛÝßhò+ϼʯÒB·ý(n›n~u­FªÚº,â&®xš½"‘»ÐÅÖDIFd®²¡%—ˆ8g•4Úà(×¢¾JSøó`^ÌwýR«Õê*2ú­1K¡HY­‰ÿÙä´'÷/=Ê´å°Õ,Ž$[yý^²ƒ(h°ã±1Õ=jp³U¬ÎTçÂ_2ílï_§V—Õ¿8íóÛû,oïOv,¨ê9]·ím#H«tÐÄ$é‚l®ý‚úckÑ`¡=—m¢$ã3!/N®""•ô1ײ‘ÁQen$OäV„`VÌwý²àÒ5äãíbÝ¢¹D¡xŸþ,1Kü*sé°º'Õò®g¡æðùͪ#içbì­x¹uGï;=£÷ÝìwWÉe*­*÷mØî~~öëžÞº`àT÷q›n‘Z; “S·ç\·«ó¯5Óƒ‰-ébÉÛñšˆtv¸)&¢„3;-dj)µDDÑ{çÔîýþ¢9@e¦Ïªnk
93
{®LÍԎïë¼ódâ¼¾N6-­‰H­ÛY‚ޤn>¯ÕÁj›¿‘ÕA®°ññàn^6$œ›ND–<¶ JÕf_tÛt-r`-‘®L«Å»OÐÊ;G¤aõ]ÌÔuò™Ity¦1ZòÀŠ>íjOÈúì=î;rØÎO’lN‡ú2µ&Oœ(KOˆÉ®wáÈûT ‚2Ç÷_’ÉWÕ¥>ï~²ê^T›Ã³ùÿ~’$ÜáËc…9‘»Z”׏SÏ „ž†Áa[ÎØxzFž°…}oÃ*ÆJ6ÿnkòw[‰ˆ+lºëÂù¼ÍoݼÉÔÜ*s\¿4ñu<jr,´1ʐiƒ½FoHyrù7w|ž ,™éúeÑÔ¶ãršw\µpêãÿ.­ecãQ€ZTÞø˜™ãúe1-õå.õm\–=GŸ€Äé7X2.>±TGðªT뗌‚$މI)Nµj”Á`>*æûþK¨ˆ*Ãû/À|˜ûúex¬ê§ò6qs@Å`Žë—O_Ê/ßLÊÌVٙ¬&H Zqvœz^JÀdvϏ߸ãÕ²¡‹s-I¦ÔÕFuüN†Bö¶`ï
94
{=ºW}ý’Ö"Ëz}Ý,åiœz+6/ofÅ#cÏ1£å d•V~iâ<&^Ÿ~÷~ŒWˆòÙÚ«é9ê¶nÕ$‚'‰jqò‹,inlâÛºNöLá¬\ÙýÐDôdÿÐöV‰ïÎ5=¤Â–€"(ÅõK£y¤‰¼3"≧‡ëš+™R…z —}‚„+V§eÊI¥²æ+4"õô5Q¡«Ûæ­èòuPÚ°zDÍ[
95
®,®Dă(w÷&ý÷ˆû$]­ËÐdK55K!“'¿L‰Ž×«šý,•ÈH~©ÕHÙ<»‚÷UØòPpeñ|Ïed¤»7kBDžŽ<"V¶J«T‘VËʕ*ÒÞd=O•m-oýóÚ¡¾Ó‚õ+ên´Œ™^£­?dýÛË@	*ÝõKÃôîÿOÞ螹až¼ðùqÑQu>­=ÔÓöâsi£:¥F+SirråO^¤¾UªkTamüÞ«CmMß_³ü'½oе}ÏêJ1«AX¨_Þ^òŽÁhy(A¥›_æ÷ä¸.εŠ”ÕšøŸ}êS#çRjÍÏë×P³X’lÙõ{Év¢ aë*qº<[¥ìÜHu.üewog]Åè+G
96
5žÂ–€Â2—û/Ó5äãíbmC’ã/ħ?{Í¿ÊZ:¬®{
JϐÊä
97
>Gx(íÖ+‡~sË{°/sÉ/[;PØsej¦v|_ç'çõu²iiMDj…ÜÎZt$uóyŨVÛüÝÊ{¤`J)æ—&^EdT—ú¼ûɪ{Q9lÏæÿï>O’p‡/uæDîjmPÞèÅ÷¼A&RœÏT@•V~iâ%ê&xÔä:Xh#b”!7Ò{9ŒÞò,:åòoî…ýÂ$”³ûþxm;^à §bש×ø	¯¬õ@r	P”E~Y„ÓK}¹O~olcc]ã€ÒSÏ÷0ï¹(×®ß)ï!|¼Ê"¿Dr	e¬í-X2.>±TGð2÷õK¬}@Ñ$qLLJqªU£ðQ1Óû/K¤.”=³{~¼ëv­ß­Èu‹Ùu¹(æ|JDeX¿|s+ا•‹Ïá	D®íý™¸F«)r¿…b-²ôèûÍ·ƒûõúÃ,¥.˜7=e"FËßçë×±QIõŸÊ°~ٳ˸ÏfïK—©•òœ'W0ñ¿^„¹_ò´¨CûC£3ŒÍʕÝ=ðGÈÑ5}’»tXõÁÖ
98
[¾€>8ß}—ž–T_NÏ®å=€EeX¿TkijŸæ‚O…Åb1¹)ϲޕ3ëÙ«7h<)G|}}“êUìj7[ù×+¦ðÔ±‡îÓºóÈ9†ŠÒÔS­Ü=ÐßÃ9à–ØÄH\¾J‹(øìò+oÓôúŸTá
99
ª¸uXô.¤U/_:gÚh÷OMùõœn̒ç!­míêO3˜¯ÑéèŽêøxè’K¤˜e£2¬_Ý3­Sß©a3õƒú‰©J»%£Ãƒ”´ók»é¾&üu«»IigZ/4Ž)³xӆàûÆIz÷?dÐ~ÈÀIso^ÙôΑ+†¬31­FÊæÙhb&Ë÷ž¾~ýõx•<ûÑ¥EºÈíE’M]´ãÖý½¯nÅë‚ÇNÎ=M}x1€ò$ây§£+ ÕjñÈ|lôÓJ¤˜e 2¬_~úÕÊÃ߈¦|ÙlõÙØüÊüñ}ï*|K÷^óÒ"ç÷ómmÉ´ºN–~Ž)àÀeQße)×~1¨”ØcȧVDT«ËŠìÄ­ÆÇIDDÑ!Ók´}(ëß>XžÑÓQ´ÿôÕ,õû¹Ï
100
úg¸“	ìZ=0^ì2¡¯…ÀÉY”·Óø¨äM(‘b”6sÿ¥~y2<F­züíìm³Y±í»Öj“m©Õª
‚\‹ú*iŒAðQÜ6ë]ZÉæÿd¥kûþžÕ•bVƒ°P?&h0kýÓhyƆ{Ï÷]­K–î;ù]‡šD.‘×àþŸÇ<‘‚Là£u÷Byà£S1¾ßÃ\Û5ø©Íûdlà¡É¢&Û¾K-rGÊÜHžÈÍ èm#ؓšíÄçQN\¶ÑŠÑWŽª#Óåvž¿ºþÃ¥À}û~'¹MDnBÞ£¥»ˆW¨^òNG¥%.n¿€Òdî÷_œV{e珯¢UWj‰ˆ¢÷ΩÝ{‰.âbÉÛñšˆ§ºÛt›ˆÔ²ØŒ,7–ëOÝ4Ê·ºí•~
fl¹OD¤‘.újÙëæ5ñÖß/zò
PcýÒ´Õ=š-ø;JÁ}æÝëÐ÷­‘É'ÊÒb²ë]8ÒC9°b„O»Ú$²V‹/v©±ðj IDATŸ2 •wŽHÃê»>¸äž¯¥š\!+ç©¿×E:ý~õú¸¡>_ÛÛ*_9tœÿÁòN‡ˆö­Þ¾Ó‡Ö™¯ÂKkèðÑ«÷_šöÃÙ?‹3ê÷žßöÖ͛ª7ÿnkòw[‰ˆØ–36žž‘ÿŒÎ.oÐèxŒš÷wÔ¼GX\ûù;ϰ}26"r›¸ííÄm¦»(¦Ê°~	`àÚõ;å=€WeX¿0Ðö‹–,ŸXª#øaý’¨"Œ°P*ÙtЦ ‰cbRŠS­e0€Jåy~́¹¿*¬_@I2÷û/ÃcU§©ÿ¾óúæb§|$Œ~m(Uæ¸~ùô¥üòͤÌl吝Éj҈
101
¡gÇ©çå2¨Ðò¦’H.J›ÙÝyãNŒ‹³àË6µXj•«êøŒ”t¹µ{WØkƒ’Ö"K¾ß|;¸_Ï¡?<ÈRšhÓ¯c£¢Œ*ý„É%@(­ëã'mÏïPŸ¯Çäwèîý¯–
å9²µW3ÒsÔmݪ%HOÕâäYÒÜØÄ·uì™ÂY¹²û¡ˆèÉþ¡í;¬ß›_³û.=Ý[ԉ@%u÷BÏ®H.ÊF)Þi44‘wFD<ñôp]s%SªPô²O°cÅê´L9©TÖ|…F¤ž¾&*tuÛ¼]¾JVOö¶¹sÓâ¤]º <ã‚}£9©ûuÄu?u+©A“z-Ù¦©Ú,ðø¹1îöD¤–Å~7`¼¤j
q+ðØv*<"â]¶MmúÃú²*uçüqq^WÇbŸ(7H.ÊLY\/ˆˆQîî®ý÷ˆÿÓÞzRGÛl;[ªÑ¨Y
102
™"ùå«èx±ˆ“g´®V#eóì,ì{líþÛË,]0åʪF“gÑÿsJ­VË\¦ñ˜þâ­ääB×½~ÒEΌêúzìÖ?vïÙ=_à;ø˜.¨”ÆÜw›‘smC‡e~F¿p†Ì"¿ÌÈHwoքˆ<yD¬l•V©"­–•+U¤½Ézž*ÚZÞúçµC}§êWÔ%ŒÑ!Ók´õ'¢žwîþþ²îЍågMv5Úݺ	ݬø‚6#6å$ë"óO&øww"¢jŸÏM¾¼„)ùëèÎUx¼f_Jӎ•ô¤*§ÒÍ/Yÿ¦'½G¹|~\tɲ†zÚ^|.åpYJ
ÉTšœ\ù“©o•jkã÷^Žp8y;K¿}×öý‡ì3íä§a¡~DÄ·n»ºæê¹šHókr—o>±456¶H«‘ê¶#s•
-¹DÄ8«¤Ñ†%96Z¬¸çàãPºï¿ÌïÉq暵n×R(RVkâö©OœK©5?¯_CÍbI²e×ï%Û9ˆ‚|„­k¨Äéòl•²s#Õ¹ð—ݽu£¯1h¹Ýò5ãN%¬ÿ"L5â?úq•–¸ù¿˜è3!/N®j`ÁUIs-ñ°9@ѕÅûÕ"]C>Þ.Ö6$9þòA|ú³×ñ«¬¥Ãêº× ô©L®às¤‡Òn½rè×1×D;<‘ÇŒ¸õ	¯÷ý8ŏ	6ñÖßOÞ¼z~µtv¸)ÞÞÁ1áÌBÇNKrbP®]¿SÞCøx½{ªúñ½°õ[öL?¬°õ‹VÀ|Ô«ëü"ö¥Aàà#aôßÿ5nÑE—=®ßœ””dp´¸ë—«æ³3„?pEVÜü²	/€ùÃ8€"3‹÷@¥üJòK(IÈ/ $!¿€’„üJòK(IE~9¦ïœòÀÇ¢Ô¿?ÞÊ»—Së/
103
”œš?ÌÓHX_<Ÿ5~Tà–Ì®†4eÐ)P¬_æÈG×Ì\¾hN»´1ã¿AEfüù³—îÅg›(sòn¢þîÎÐÀBU€"+»ëãuºLÉxz@·Ýijkvâ¥A>_}Þw=©)þÓfÏZ¸|ì¤OrUL™_–¬3gþ ‰+£¥ï‚²·ÿ4ð—³W.MûÆoKd†Ñ֚xvÕý4ØÈ¯zÔ¡
Ý;÷iÚ¦OßñÁes**±²¸Z­£Õ(XÜ*Ìî_×xێ”¾UÑÕE³ßöü­cõ×wýfÎõ¿‚ÚëÊLýiš-‡õòÜ¢‘3¯þ½¾#™µvÜîm½j
104
SÂWúÎ=6>tdÞÖ¢î^hâÙ5êîÝ!Ý®nÛhõI«Ž/ýó`[gë29
•\qóËõ[öO?ŒÙÖ±ˆâί¯Ú|ôð…5e]ƒGDAWÅ«T%"û¦C^ß[Hô.¿´å°ˆ¨V‡1oüu$¢?Ä­×QµÏÇåŠÇÌۚ	F«·ûÄâTøÃæN_ˆØ¬Î 2Y0ïEì˒m³Ö/WÌËÔh¯±‹>sP§‘ãŽ5™`5Þûdî™Lý©€CD^5µ<Á )¿¦Zž¤ÛŽyu¦‰çiÝ6›#4ښ	F«/Ø»jõ/¿wصwƲ_ü<íML
105
 2ùaîÒÒh¶d®›N{Oo[dºzN’RíÌç¨å/9‚ÚGU²x®eÝv‹*¼NT籉HúJj¢Mµ–8yrN£ÕùÖ
ç®u7¤ûŒù~W×dF³xÿåäÖ[fQrøîj­Þ_XWi‰ˆbÏl«Ñn¤.2sp½ù‡£‰H­H™>1 ¿],¹ûž¦ç›¨.ªQW£Ê*öT>ve÷|	—.ùûû•³CmRÄ¢Ík¾`âþËÖÊ%âxiÍí«Zé"nVµ]á?h´ÔRÃê8{v~
®œÑu؈!ël\oûM?n´úæ	c¶<H"a5¿Ùþ¥09€K©ç—ÌsÜ&‚‹ºË6,Ï[ÌÞtÃ[0|îÒáê¢á×ßßüú{#ŒUŸ°yû„|‡…c×Ç Ò@~	%É|óK£ÖÀ̙o~	òK(IÈ/ $!¿€’„üJ’Y|¿Šfý–=å=(´Õó^ľ,ïQ”"ä—Û”ñÃ>\ !¿¬ð·èRÞC€‚z|/¬¼‡Pêpÿ%”$ä—P’*F~Ùij+³=¦ïœb¶Vü ?e”_ÊÒ/6ñìz:]^ü¦4¤)l•YãG³( 2Ê/cþÙqæçÛ&¿©¡…­rònb1[(=ŠÌøóg/݋Ï.Œ2Ê/wŸ`¯üzŽüØ!ý`Ï®¿,Y;gÎüAWFKU&‚úUÞ_+תŽïÚ÷ëÊUýzZòÇ]lioßÏZvû¼ç¸×^3Uô+ê· V¤øO›=káò±“V<É}×W³/F_»ØÛ»gË®£6ÿ7-ï\ò+·ë¦^ÃîßÜ­cï¶¾ßÿ-–½íݵÏç>ãwÜzWKöö¿ƒþröÊ¥ißøm‰Ì`šÂ|¨¸Ê"¿”¥_|à9NÈ«òC£G—ȧþ4mùò%«úåLšyÕtP'êîfûÑæR»ú~ÿã̐ýső©ºà¼“Ç#ïœß7«ñÖAúU¢î^`6˜®.šý¶ß÷‹çŒåM™s]TɓžÔé{áò‰½sÜ7Ïۜw:ùÈÛµZ‘òg–û±ó‡·ÿØò穇糧:{dëT×ßgÿª+pfÖÚq»×þºlÑ¡Um·Ï=Và3
106
`¾Ê"¿Œ=øçÈ)®Dä9££Á%r[‹ˆjuóæþ^ÓÁ¼Vxæ[MHD|k—u½ôÕk?Nžu烺*žæU•ˆì›y}ï&>Û·¹Ëué8Nžn´¢‰]~ÛFÈ4j;4ãù®.\-8¼¦=¦0þ·êUSHDÕ>—+>ÍÔÚºüƒƒ0Oeñ~õ½a.¿Œ· "kçUNþJãgàðkªåI	껗£¬ÊcéGdo#W¯Ø—ƵѤEk5†×Öóz&S*à‡WM-7¼7”Åi5
107
Õõ¼k[ Õ¾{À(æÕ™&žïÒJ6GøÁ˜¿RÏ/eé<?}ÄóýâÜéôé>vý2*Y<ײŽAE£A}
-8ϤªF–ï§°ÀonË ½óZå$‡žï½N¿°ZK–a
,8IJµ3Ÿ£–¿äj|Ry™èڄUx+.œ¨Îc‘ô•´80¥~}<öàŸÎÐÝþu÷3“ô/‘«´DD±g¶Õh7ÒD°Ž€ûçÓLƒ–ìY+àÈs""|ýû‰èN†ÂŠ¥T妮ÑÉæ}
108
ëbÉÝ÷4=ïØ&·vØò0ƒˆ’ÃwWkU¬yç×µi3כ8šˆÔŠ”é˜8žï€Š«Ô×/·L˜>’Ïì
109
l>=¸›Æÿ¤Ûõ_¶V.ÇKkn_Պ)“7¸zZ×	c†ºzZ¿åÏg¯ùgɲ	³¬¬Ui¶-¿%¢Ís}'޶PX{æšÀû`J®œÑu؈!ël\oûM¿…ŽK—üýýÊÙ¡6)bÑæ5_gšùumšÛ„UmWø-µÔ°:Ξ]œ˜	iµÚÇ÷ÂÖoÙ3e|¡×ðÖoÙ³:`ދؗE軉gWý§¹MÁ(ݯ¬q‹.å=(¨Ç÷ÂêÕu.ZîT⊜È5nÑE—=®ßœ”døÀLY<ßS™è©’„€ü²pJ˜VFßï1Êh®† B+Ïü*\¯ðß+ï!¼‡ü²[0¯¼‡`ùef&¯6Їû/ $!¿€’„üJòK(IÈ/ $áùñ
110
lý–=å=(´Õóò¾¦ôþ¬O?¬”ZÎòˊ­ìÿÅ@))ñ7[Ÿÿëê¹°+%ÛfA ¿¬ð·èRÞC€‚2ýá½ÊñrkÜ	%	ù%”¤J’_Žé;§¼‡De“_6ñìZâmÎ?JWCšï¢`±Xå=øèTÔõ˓wõww†–×H̊ôõ­·UôNËeÿkï¾ã¢¸¶8€Ÿm,Ko‚‚‚ÅKElIԀÆH$‰Q£Æ.5O±Å‚5$A£ÆØKŒXÑ
𢤨R¥7)ÛwÞC֕]av—òû~Þ罙»wΜ!y—ݹ³À³Õ—jEæ²a¡‹WMšºúV™ª¼•QÅ~½wýÚ¨·_¾û2Û¶"(øù®ýý†|ñkÛÂNˆ¶ïXa£²°zŽ‹Ý¸´W¯]ÇÇüž§Í¡áÝU¿õùš€uƒŒ\žwãð¾ñ·}R£^›ÙêËKÂòߞ½fé¼ÈI¢éó.²×bædÏþxî}áÙ×³ØÆˆ±×/ŸÙÚnë¢Mlˍ+qìk7ª«’§ßj98î—ã{æuމˆ1Ù5šÞº­Eº»é¶lš:¨‰Ø¹¥ß¶òÙµìÁ´AïÝ?`Ìß%J¶Q$ñ9¿}®“•[«WbÓK³/F·w³qlÑií¹‡liÖI¿ÃÛÿΞ‘d<©,ÿ{WqÚvyaœµÛˆÊΨ{ï¾Â}|ý«€zÄlõå¦Ù3z¸‘SÇ9	»Ùƨý÷‚]­ˆÈÂÎwsä3X>¯„È‹/×,,…¿h%úö
‘Åk·[ÅÅ¥ÔҜý?·^ÑDôÄ?Ó»/ÌLÌtbqÛYƒæ³-§ÇæLÚº{箝ÅÁϲ*ك-…}þÍÌ;³qÀÄâsü®¤ç}Ùmñ°¶Ã¡Sûx`ßw—Y=b³Á“Z:½¾µOü§)ÅìG™ç£ÚL­ìŒÏtP˜íýê÷dj/±€ˆ"Wµ<•mL(Uºˆž˜Ê’å__·zožÐ^“w›Ñ¨ªFX-ߚÑ(¸¹€ºçÖçk¯ÿ¡Bãæ)ý‰¨ûØ/K'5!ú’ˆžHÝ»­9¹ú‡güòÑP¶çîÙADÔyPD^ïíàDÔmäfÙ[öÓMi¯'xّGÀ꒴NDË
žtà;ü'ü2ëp]Zu54¶mg¬þU@=b¶Y¢V–‚t¥šˆÔò¸ÛØÚRpOúD¹hTxëIóÖ¯]±8¸B5SݰÄúíªÕ\~Äã[3)»}½LÙZ"$"ØS%½]E@_Â0jvûZÒW<Çã	,Ü´¡ôOja×{]³u©r5‘f}FÀ{M$Ïtƪ¯ê³Õ—Óº9o¹ZHDñ;]ýÊ¿DûけGîiäÑsöÑåB…-O©*ËÚñO?{±öp_‰pj†­LCZß#ÍÙÿ둶‚§¿èy+Q’\ED*éM¡¤M5ã÷²§ÊUÃ0óènz'}yՆ…'SK3·«Æ~TŅ<ž¢ü/„ÇþU4j•gÚ5#՗ìo݅Þ}W,×l[¶82â°uLdO¶Ñ?lƒÿݯ§„®üxîüÂ.m‰(&<8jâèžC·
111
9òåfڀkgFÑmÀ¬
112
'2¶1¸õùšá««u½‹^sü-›ˆRO/vï·¸šñ×|Ø9äË?‰H-{0¤ß¨*N*²~aVÒÉÔØOo[Å8ZÎ?uK%+<¼ò­\ÔY¦xþRw}·–ÀÒ{åç—×ð¶S—Dê¶´<õÜà©å;K·>nwöoïÎÖ?…Á°º	èn7¤õ=Ÿî”l]äXžoî=<nôŽ&©éö§ŽU|ê 2~K0}ˆ_¯Rk
opô7UŸ´Ã}†û_ùvФŠ3~¹g~À8¿Í¥6oL\NtüY¯ 1¨P«<Ó®½¾4øå=+N¨‰ñúÃèo­:~w¦:=ŸØæKf}qªÂt±Á“QYÖÅä!ÿÓî<có×ÜÊ\P¾ó餪@=bôú¥dc#Í»÷Éè¥ócïš;0¼e8æÚ~ zô‘wœ%æNÌÃlᅣ†ª83—êËzïfÂYs§8sSàêËzl]d„¹SÎüpö¼¹SàêËz,ñAйSnLŸü”ï…©G°¾¸„ú¸„ûãPsç’:ThÁü%p	õ%p	÷Çë±è-»Ì@ã².2¢A¾·ƒ	€‰5ÔÁDõeý֐Þef„Á8„ú²Þk÷R€¹Shüwea00?˜ž¿n¡¾.Õõú²}—@s§`RÏc70@=e¢ç/e?½°2êì‰7ÅOí:yüš-;L'*‚7®ÄÕ&š†4µKǜJ’â£cöüvõ¾”$>üGNžÞÛÇÎÜI€©™hþòÁ¡ƒ}çúo;”ZÎ'®¤;Ÿfí«î³|¨ÝM?û‘û«k¹
113
Îãñ–ý›§»ËUd€†äƕ8íjjDZ5œ¤dz7ö„µ~y¾µß°˜=ߝ8´kZP»º…î½cî¼ÀÔLT_î<Î_ûî<ùÑúºñk·Ùö]µ-»##zõØ#hú·wŠÙµ"sٌ°ÐÅ«&M]}«L¥=°$íçao¼å?8šmÑÞcjðfýfÿ°ai
114
5©åÉï?°ëèão²„Ãhò¼‡÷ˆ¿]ÈaL€:¨cÑ—ccú÷
ê<ûÇlYþ?ǂßôcòö?ÿÁ¶"(øù®ýý†|ñkÛ¢;úéªûZqòŽÓΝº÷á;}Vökgãì½éF›¯~LPmx*_fîìÀ¤LQ_Ê
115
~ú·Kˆ•ÈfN›k§
116
äUwfÿôםHö}çÌOǾ˜Ü"ræv¶å’°ü·g¯Y:/r’hú¼‹ÚcÏý*úêè¡c[&ç:ê.±cÀÑY4`Æi":úAÁG±¯9ЉH-{0mPàûcG÷ów‰’í¬;©ÝæñxîèæéàøœÂ4ÔùÐÌ_3õÛg´´çóŽÍ;,?Y>3-’øœß>×ÇÉÊ­Õ+±é¥Ù£Û»Ù8¶è´ö\ùôª4ë¤_‡á‡ŽíçÏÈ?²9ûÔ=jEæÁâÎGÏ|»íã®>ü6¡À÷ð÷G¶~Øö³°õÚ>'b¯_>³7´ÝÖE›Ø–ÚO֘,ÿ{WqÚ]yaœµÛªöH;zAÏ/¼hgADŸ^Iλ³í›°©<¾Õâ“f~´¦6‘
`߬Z1oƄÎ^m¦¯ÿ¡²PO‘ÀHLQ_>8tpÜô¶DÔeVßjÞ"×1¤‹µHÔ9h–4·|ØÝt!{F"rê8"'a·¶g!=í,DnM-ÙÝmÇVq}=á~²åw£VY<îd«“á]ÙÆÓãs&mݽs×΅âàáG«Žpô”ø‡;YWŠÔÿhflô¾sULÅöMIE:~sÈ±ÓٕìÁ–Â>ÿfæÙ8`â€
ñ9~WÒó¾ì¶xXÛáÀЩá¿]<°ï»ËG†¬±¹6—P§°óަ׼ßÝJ$nÓ{dáý¯ú´µˆ:¾>]^|¹Â±>¯„è7V`‚ÍÒéõ­}â?M)¿S”y>ªÍ´PªöHõWîü DTpíàW:º·ª(ºHDvžSóó¨Md}.é“>ìÃU›¶ÿñ÷ž‡$Wê©#‰)Ö÷ì9ëûÉdK"²óksb=M­AߒєÏ}ޓ©½Ä"ˆ\ÕòÇ««¨ñ>ÈØïˆáÖcقKYö‚òŸÃ©{·5'"WÿðŒ_Þ"ZE„€)ƒ-øŽž`Y¹
ÙùÆÂ	'S¾	òÔÿ´Ý›«eÍ´»»gQçAyA¼·ƒQ·‘›eclÙO7¥½žàeKD«KÒ:-¯ÙõÔ5՜wäñÅS¾|G–}Ýê½yB{MÞmF£2fvÕ5ð‹þ~™u8ˆˆ.­ºÛ–ª=’Ü*SvµÑÈWÇJØß·ŸGDu‘ª6‘õ…núkw„-‰»~·¿k¡ª‘ÀHŒ^_Ê
117
~:rÿԑ.§´-§
118
f²«È<ž’!ˆ*Ό©T^+¶²¤+՞µ<E na”¼ë!×îˉ>YÞÝUÛr½LÙZ"$"ØS%½]õáîUMf~zt^ëée)Ç´-ÒìøÐé+³-\ԙ2EÇòø†Q³Ûג¾âñ¶²Û|!V•B£¶hTx×M{"Zۖf;T'¦ó-ìz¯kÖ7U>°…˜·>#à&ªöHÒJ"L•«}%Â+ÅÊ1.NòÌ"ú5õ‘åÙ9mB[Øu¬qd}ñäMŸ²ªJwD#1úýñ‡.úá¸vYååÓSµ·È{ÛZ|ŸªV”œÙ¾H÷_‰p*bNëæ¼åj!eÄïtõ«ô;sëþãðÆö¼•(I®""•ô¦P҆mòxŠòzþށ"”øX¤~oÏ}mˤ—^ï¸pׁ=;wlŸ^ý8½ìÅ©rÃ0Ã<º›^ýžË…
119
[žRU–µ1âŸ~ön´Þ)b·M6 ½¼jÓ©¥™ÛUc?b[ª9’Ìhë¸ñfí
<Í¿e§ÁK:4ïëÝdü~·£3Ÿ¯Md}¬D×J•º-C€¹½¾Üv(µ—…vWlïÿàÐAv{Ɋ?/þÒkç÷Ô=dí¬Àè±#º
˜UY̾+–k¶­
[qØ:&²geÝ`ÑkeQêéÅîý³-矺¥’^ùÖ3Ek;é[ëe“µ»reö<…²$yÁ¨Ÿƒ%Õ²æÃÎ!_þIDjك!ýF=Su™öùËê¿=&<8jâèžC·
120
9òåfúÖÍülâNÓ|:‘õ³’N¦Æîøxz[¶¥š#ÉНsŽ^.g(`ù‘©4ñÏØ¸«©J•üêÑ®"~m"³Ÿë¯Ý^;ªÕ¬-i¤KÞZYY(0£ßŠ;¡»+{$ÄÍg·ÝzŽ:÷_…1w ¶Oëwgÿöîlv[÷‘&í¶ÀÒ{åçu×ø©Q­ï1èͽÇbƒÇÞÑ$5ÝþÔ±`¶ñË=óÆùm.µycâr¢ãώ/Ù¸»ûþî?±{§¾øpÐËޓmÚ®=v6hã«ÕŒá·ô§Ó‡øõ*µÖðGó,WPw|øÒàð¥»ÝzðÔsƒ§–·.ݪߡÝ{³Ï¿W>šr@ëðAŸáþW¾Rþwc5GÇç?>:yB—·f¾b¶;ž¬ðîÕ?ʚöôki[ËÈúú}vábÈÈ7ÞurP>tî»°²P`.F¯/+ûSތïàhÀæ‰'Y…V¿Ž;S¡Oó×ÜÊ\P¾óé$ƒVÓÕ%ìd·;Œß<~Cù;¯éw6¼Í—ÌúâT¥SÓõÁQ®^qeY“‡üO»[ý‘¤×Ìí¿<ÿõ¾Ïö¤æðÄv^¾ž¬ôj™ˆâî?îÉ:-Üñ½îQC=}Dã0z}Y¯Y€§j`£œ4ïÞ'£—Ώ½[³Ã|_™µøcD€:뵖×*´˜èû{ ^pm?P=úÈ;Õ~¨º.D€ºÆï¿€ú¢8ËXó‹Æ‹öŽ8ږIDATu
êËzïfÂYs§
à
121
êËzl]d„¹S€†ƒ	põe=–ø ÅÜ)@C€Á¸…õ=À%ԗÀ%ԗÀ%ԗÀ%ԗÀ%¬¯Ç¢·ì2w
122
ËºÈˆ°ÔC€Ù5ŒÁ¤
123
¨/ë·é“G›;¨0t€Q¡¾¬÷Ú½`î…öõ6:¸"Í»õLý“’ÓŒ”I݁ú æ’’ÓZz5¯f՘–žÙÜ£©±S2;¬ï.Õ¿úrâàyæN Z0^@ãdôúrn`ЙB¹vWVxá¥À•µ	¨!M­“àRû.Û1^@ãdôúrâÐÛOghwÓNô:ŒÝV%Ÿùþç„ä’g
124
¸ãØ.ók(îŸÙ2vHPàÀ·l>^Å/4iö…ÞÎӥиU=^ÕlÔ=vÿŬš¦V‘²äö'ӆ¶mîb!´põy!ô‹_Øv;kɃß{øÛGÎù·XÉ6òx<®Î
’ÑëKï¡ÃwÑî~·+eâÐD$Ëÿ}ØÐO¾?ÿóŒ÷Fm¹^È~Ú¾K`IÚÏÃÞxËp4Ý8üù€×ÞìØýÍÁ“¿ÑvÐΨ™Ëf„….^5iêê[e*¶±SÏq±—öê5°kàø˜ßó´çmØw©r.¯|iäÎîÃ>øxÚÐÛÑcÞØ|Ã`·«Ç7vmŸ/3qz“îxEŒ*öë½ë×F½=hüòݗ©’1Ðà¦?jýä£CŽ'kÏØÃHÍRU•Ýzq”¨gÈO×ÓÊeîZ|vßoìGÅe²¿íß}à»
ofô‰ªY|hlŒ¾~ÜÒ±ï«ÊO¯•Mè`%T•Ý9¨ôÿÓQLD§C7†ìüjP3«ÌøµÁáG'Çö?÷«è«£‡¤ùj"š»âà¡ÞžvÚh7®ÄiÇëKÂòß^ói_·œ+ëߛwñܦWˆH%O¿ÕrfÜ/©¿|6""fÊÙùƾÀºà«÷׍9}sªŸ+õèœãþ·U¿Û»®|rúî°^^&O 1Ò¯®ÅÌÉzsålë§Ü™y—*
Ž`ú#¡öؽǎøäSzsC-S=7eÈÐã—&µu ""˖˜P±ï»›òFû…×ò\
Oû.e¹7uwõûܸgŒÌÏë{&ußx)—ˆ2/m÷üïæøîl¿AͬˆÈÕ?¤,û”¶s!=í,DnM-‰èå&–'㯖jƒa7]ȞÑňœ:ŽÈIØ­m~ÑJ(ôí"/Š×6n;¶Šû«3¢“Šævrf·­ÝGKóìvûÇo†öô4a^P.jÿ½`W+"²°óÝ9ˆ*õG0ý‘P{lûÑËÕãû—~ÿ¶†éýýþÅe¥”/r¬Y|€†­Bí¨_J6¶â’LS_zv=æ"ýs—½9NDwžfouðÊh/r=~¬gў(»¿ö8}ϕ|ý°÷dj/±€ˆ"Wµ<µÂ§<¾5£Qp~-uS¦Bãa!`·ù;2¯êþ`b	¥JÑÏ,V6²tG0ý‘P{l§^“ˆÿþLîØwy|êÿh[ØÜ>0³iïeµ?@c [P6Ââ’Ló~uKǾ½‹†¥•öÜZÔõ‚£˜m|ÉF´:ˆOD҇RƒZص_³qü•f-u!ºÂ§­,éJµ§…@-Oˆ[õê8Á}™ªDHD*y’À²¥¹3€'´¶Ü“–ÿŸ”U1¥?ê›ÿwAíÓs/ºCô:»Í0=¹‚§í+ïtqSfóZ=6ªöçh$Ø'dgqI&{ÿåø!ÎF¹ªm™;Ügá··‰H­ÈœùAdÇZ7õÖ¨ŠõÛ§usÞrµˆ2âwºú=å»töúž`ÉúËç,on¶kùyó€
125
>èyä>‘F=g=ËÈÒ	µÇ*K®¾9yжO×÷|à¸)6½´²OoŸ?²÷Ðñ³7èÖÇðT¶¸$“}?¤÷Ða¬Œ:ûx–±Ã”¨Þ«—
› •hx}ÃÂ3eâ–ÓÉÊuT˜›2}W,ÿqöÚ°cö™ÙÖ1z+õú`ڂ—_
126
Þ}kxEÒÚÿm››¨ý(ð¹þq÷ÏTq,pB÷‰~ý_*þaþZ¾rJ¨­*Ï¡ëûT½1¥?jM¾›Ø5äéµéS
Ù»¢]—¾©ÑQÃts)~?a` @õ™¨¾´tì{ãJß'šøâ1á+Æ<٭ <%fÛªHÛG`é½òóŠ«v*{â¡a¯ïiûÁñÚ¥_m‰*8½õù¥º»š;#€Æ¥²Y
127
m;O`;uɓ…àÓÆ@í¶‘ÐбT‹õ=6͇'WOûáü‘7ä"»v/ö\¹ó—ªyâM†ƒg@ !1z}‰Uú&ÁcÚÒ7¦ø@ò¿	L êéÌ:¨‰ßÈÿŒÔo78b`€ª½¾¬+·0ô@cf¢õ=ÐH`1 @Í¥¥g¦¥gš;‹ºõe½w3ᬹS€úCWš{45w
128
uêËzl]d„¹S€úCêËz,ñAйS€úCÖ÷—P_—P_—P_—P_—P_—P_—P_—8x¿úœðµ
CmëK|Ïèªm}‰ï]xþ¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸„ú¸$¬úãè-»L“ÔMÓ'~¦þO©/×EFÔ"¨÷¤<Sÿ§Ô—Ï9<	\B}	\B}	\B}	\zÊúž´ôLÓäQG4÷hjîL¿èõµïh‚LêŽWâ8ù”ú’ˆbOrÖºiíŠð¤ä4sg`RøE¯oú”1ÆN¦ŽˆŽùÆaŸ^_R#xæ™s~8{ÞÜY˜~ÑëÃϤ6ªU_^„	Рá½>üLjë{€K¨/€K¨/€K
§¾llohðî%&›;¨	SԗʼnñMžì×c ÿ€	ŸìN0Á ŽHLJ½Ÿ”z?)%9=»T©yÖÃ}¼=‘•QÝKLÎWhtwk$ëáCî225£×—ò¢ËïŽÝÔá½Yçϟ<µå#éO—9	«(J>óýÏ	É%œD€ZbT²œL%‘F£é÷jÏ×úôìâ딕Uf#j8÷N«Pœ¯v´x|¥Ú*™Ñ(KKJ¥Õ¨³‹eJצîúí©™ùRÃUžFbôÆ?G¬oö¿5ûµ—ˆøÎ^W|5Yûъ àç»ö÷òů9lK§žãb7.íÕk`×Àñ1¿ç•÷cT±_ï]¿6êíAã—ï¾LD²ü߇
ýäûó?ÏxoÔ–ë…Æ¾¨’æQA^JÖ#K'wg·fúø¼¤¤´ÜR¡F™ïÒ̑mÌII¹—˜œ˜’‘_¦Öö,.,ÊËËKMy˜S(­¤8?7·Xf¼kà–—07Sl]¡Q£–¦¥æ”H¥YééÔå5b~zZ¾BMDjEáƒô"¶‘ò¼xñ’þܧ›½…47+·¨ô™§‚MÈèõeÌ?3y<Þç=ތ8{ýò™½¡í¶.Ú͍äé·ZŽûåøžyc"bØÆk1s²ƒg<÷À¾ðìëYDt:tcÈ΍ëW.9Õ{[øQc_TFQVü0-[%´iß¡m{ï&ŠG¹ú}"†Ñ”åð¶|ÛØÄÓÓÿÕ^ÝÛ9å•:Z	‰H^©´±ózΧSG‘ÐÆÅÎò¿ã™G|疞͝l,LueµâÕù¹Œ›™N–OZ%YyŽžÞ]ºtìì똟Í8ˆDäØÔ©8Wá æçf•¸y5÷r·#¢V>^DÔÿµ—û¿ör…',$6M½Ÿkîd™“™[,Ušðš*塃m1z}yWªîdUÕ[Ü}^	‘?¾iü¢•PèÛ7D^϶Dí¿ìjEDv¾›#Ñîl¿AͬˆÈÕ?¤,û”³€*¥æ”5mÕêù6žJiZzŽÁŠ'î܅ûRæ•9´ôÒ¨Jµíy©iÙ¥"µªÐÁوr‹MœÝ„¥ÅE2G;ÀRHDŒFQWdåàÔÌ͉)ÉÏ/Q˜ìÒjC`áâ&)NØèL¬Q‘ZÒÔݹðaf¡\¢–e84±!"žÀÊU\t¿$W&qñjf—›õij‰Rô_󮐖ÊÔ/E^¦•Èèó4ÃܸwãJÜô)cسºßßScüd¹ÚÇRP¡]–}Ýê½yB{MÞmF£ªð)oÍhÊÿJ(UºˆtÿéÐ݇§Ûw)/+µ€é5obU˜’Rœ+±³‘ð*éЯ71êüô{ÿ$e–ˆm‰H£–ç穈Oj1O !"ø:ˆ³1DÄhYÙ
129
"º~å_¹BekíQVX¨bêús‡º$NÎi·Ó¼Z;Ýý¯E¡,ù;þ»Í#_hCTDD–ŽéIY_l#–æå¨«sߛ)+~”ž&³qnníâö(¥Z_ªnJF¯/G{Úlü-wc·
130
í‹F…wÝ´'¢µmiƱ3A›«ˆÐÚRpOªj#yœêK6¢ÕqÇÝD|"’>¬ø|˜ŒØÊÖÖÅJõ('%#×ÞÁÞVb`:Ïã=HÎ ²R+Smšxæ¦äæ¤gKܽÛz82²¬ßÿJeŸŸ³à‘’!õ“E¤S›ÎžŠÛ	÷,[8S_×òžÈ;ð®úñD˜%Ÿç÷j/K>ˆÔRµö©AYaØVü _¡Éu¼Z¥´$7¿H`åàÝÖ·‰¸87ËxWPcF¿?>hÙÐóáß]NV¨UÉÿü85ìÛ~¹PaËSªÊ²6FüÓÏ^\E„zD¹OD¤‘GÏÙGDs‡û,üö6©™3?ˆd»µÞ)2굀>EY™Fdëûœ‡H^`°¾dˆ†QɊx|K¾@BDR5ãàæ"Ë˺u#ßFP^f¹Øˆn¦‹yD“Ÿõˆmt·Éò]%ÉKEüÊfHë(‘‹êA’v×Å^t-­8%)õ~bâ¥?ÿJJK'"ZšU"z®M'‹Œ›<›Ç?=1Ÿ—R¬Ð¿àÌ"E¯V:´vª33²•Õ‰G0+0úü¥ƒïð•–Í]”QâÔü¹wÆ~À¶Ç„0qôb«s7¬é³oNüÃ6üµ|å”P[;UžC×÷‰¨Ã”¨Þ«—
› •hx}ÃÂØnëfN™8bØ<Ž	`rŒ¦¬LnåÒBlçT,ͨðáϗþh”†ïîå­QK‰ÈÝÅ&å¯?$riÖÌIžUªfˆHâÒTU˜œ¡P+U
131
¥££›=%•È5|¥›mQJ‰ÄÚ4õh“Çsrᥗ*“ÒË*•ÆÚ¥©[3—ŒÔœ¢Ì<»fÞÍl™«õ­De;7^™š!"7'ëû—ÿ`øboÏ'n·hêÔÜÙ2'+C^‡gs^_‘ïëï|ýý
132
­O=7xjùÎÒ­ìÿÞ¸§í Ýæ	l§.‰|â`¾xLøŠ1Ol÷ÞìóïÍæ.kx6•<7«bqÙÊÇËÇÛS£R(ÔÄcT9ó‰ÈÂÖÉÇý¹¦N6|F™—Å{$eWbðmí]ĵ†Ù#v5K(±÷´qv“ÈÒrJ©nÓM[ vhÓ®eùgcëèáÝÄÆ‚¢ÒÜ|"rôhîÐÌ­8+ƒoaïãaßÄIœQLDvξ¾Íœ­yERJ¦nü´¬“]KÍ·¾¬ì;uëHh¨Ø×7Vx‰#[~)ŠRŠÿ«“rþ«JMAn¶ngÝÕÓʒ¼´:ÿÍ*†.9ùöMmÑÉåfWxž¯0£|ŽZ^˜¬SŸ+Šó’‹ó¨2n}‰: 1c'/õÛõß¹Ó`TvÉÔ ¯Z—»»»)î@£ÕHŠ*]ð’+hß
133
&S­ùË3ç.;0ü¢×‡ŸImT«¾üáìycçæ‚_ôúð3©§Ô—½{víݳ«iRÃ/zƒ¢c¾1w
134
õÛSêˤä:÷–Àü¢×‡·ßÔÖ÷—P_—P_—P_—P_—¯ÿì˝f̆Çõå̈́³f̆òú2zË.óæ
ƒagî4 ÞL8‹÷Ô46í»2Ãy؛	g…>ޞœÇ€ºÏËo|¼=…‰R8Sâƒ!Vö4Nƨ£·ìâááK€Æ©}—@n²…%êKàÒÿgyëýËó¯IEND®B`‚
(-)tdevelop/doc/tde_app_devel/index.docbook (+1549 lines)
Line 0 Link Here
1
<?xml version="1.0" ?>
2
<!DOCTYPE book PUBLIC "-//KDE//DTD DocBook XML V4.2-Based Variant V1.1//EN" "dtd/kdex.dtd" [
3
  <!ENTITY tdevelop "<application>TDevelop</application>">
4
  <!ENTITY kappname "&tdevelop;">
5
  <!ENTITY % addindex "INCLUDE">
6
  <!ENTITY % English "INCLUDE" > <!-- change language only here -->
7
]>
8
9
<book lang="&language;">
10
11
<bookinfo>
12
<title>The &tdevelop; Programming Handbook</title>
13
14
<date>2002-12-05</date>
15
<releaseinfo>2.0</releaseinfo>
16
17
<authorgroup>
18
<author>
19
<firstname>Ralf</firstname>
20
<surname>Nolden</surname>
21
<affiliation><address><email>Ralf.Nolden@post.rwth-aachen.de</email></address></affiliation>
22
</author>
23
<author>
24
<firstname>Caleb</firstname>
25
<surname>Tennis</surname>
26
<affiliation><address><email>caleb@aei-tech.com</email></address></affiliation>
27
</author>
28
</authorgroup>
29
30
<copyright>
31
<year>1999</year>
32
<holder>Ralf Nolden</holder>
33
</copyright>
34
<copyright>
35
<year>2002</year>
36
<holder>Caleb Tennis</holder>
37
</copyright>
38
39
<!-- ROLES_OF_TRANSLATORS -->
40
41
<legalnotice>&FDLNotice;</legalnotice>
42
43
<abstract>
44
<para>The User Guide to C++ Application Design for the Trinity Desktop Environment (TDE) with
45
the &tdevelop; IDE</para>
46
</abstract>
47
48
<keywordset>
49
<keyword>KDE</keyword>
50
<keyword>KDevelop</keyword>
51
<keyword>IDE</keyword>
52
<keyword>development</keyword>
53
<keyword>programming</keyword>
54
</keywordset>
55
56
</bookinfo>
57
58
<chapter id="chapter1">
59
<title>Introduction</title>
60
<para>
61
As Unix Systems are becoming more and more popular to even beginners working with computer machines 
62
due to its advantages in regards of stability and functionality, most are somehow disappointed, because 
63
those applications don't have a consistent look and each one behaves different from another. With KDE, 
64
developers have an almost perfect way to create first-class applications for Unix desktop systems to get 
65
a wider user community by the mere quality their applications have to offer. Therefore, KDE becomes more 
66
and more popular as a base for programming design, and developers want to take advantage of the 
67
possibilities that the system has to offer.
68
</para>
69
70
<sect1 id="c1s1">
71
<title>What you should know already</title>
72
<para>
73
For making the best use of this programming handbook, we assume that you already know about the 
74
C++ programming language; if not, you should make yourself familiar with that first. Information about 
75
C++ is available through various sources either in printed form at your local bookstore or by tutorials 
76
found on the Internet. Knowledge about the design of Graphical User Interfaces is not required, as this 
77
handbook tries to cover the application design for KDE programs, which also includes an introduction into 
78
the Qt toolkit as well as the KDE libraries and the design of User Interfaces. Also, you should have made 
79
yourself comfortable with &tdevelop; by reading The User Manual to &tdevelop;, which contains a descriptive 
80
review of the functionality provided by the IDE. 
81
</para>
82
</sect1>
83
84
<sect1 id="c1s2">
85
<title>About this Handbook</title>
86
<para>
87
This handbook has been written to give developers an introduction into KDE application development by 
88
using the KDevelop Integrated Development Environment. 
89
</para>
90
<para>
91
The following chapters therefore give an introduction on how to create projects, explains the sourcecode 
92
already generated and shows how to extend the given sources on various topics such as toolbars, menu bars 
93
and view areas. 
94
</para>
95
<para>
96
Then the dialogeditor is discussed in detail, explaining how widgets are created and covers widget 
97
properties settings in detail for all provided widgets. 
98
</para>
99
<para>
100
Finally, you will learn about several topics that will complete your knowledge in regards of project design
101
and helps you work out additional issues besides coding such as adding API documentation and extending 
102
online-manuals.
103
</para>
104
<sect2 id="c1s2s1">
105
<title>In the next chapter</title>
106
<para>
107
We'll take a look at the Qt and KDE libraries, showing basic concepts and why things are the way they are. 
108
Also, we will discuss how to create the tutorial applications provided with the Qt toolkit by using 
109
tdevelop;, so beginners can already see first results with a few steps, and thereby will learn how to make 
110
use of some of &tdevelop;'s best features. 
111
</para>
112
</sect2>
113
114
<sect2 id="c1s2s2">
115
<title>In the following chapters</title>
116
<para>
117
You will learn how to:
118
<itemizedlist>
119
<listitem><para>create an application with the KAppWizard</para></listitem>
120
<listitem><para>What the project skeleton already provides</para></listitem>
121
<listitem><para>What the code already create means</para></listitem>
122
<listitem><para>How to create your own views</para></listitem>
123
<listitem><para>How to extend your application's functionality by dialog, menu bars, and toolbars</para></listitem>
124
<listitem><para>How to make your application user friendly by providing help functions</para></listitem>
125
<listitem><para>How to write online documentation</para></listitem>
126
</itemizedlist>
127
</para>
128
</sect2>
129
130
</sect1>
131
132
<sect1 id="c1s3">
133
<title>Additional Information</title>
134
<para>
135
Additional information about Qt/KDE programming is available by various sources:
136
<itemizedlist>
137
<listitem><para>Programming with Qt by Matthias Kalle Dalheimer</para></listitem>
138
<listitem><para><ulink url="www.kdevelop.org">The User Manual to KDevelop, provided with the TDevelop IDE</ulink></para></listitem>
139
<listitem><para><ulink url="doc.trolltech.com">The Online Reference to the Qt library</ulink></para></listitem>
140
<listitem><para><ulink url="developer.kde.org">The KDE Developer web site</ulink></para></listitem>
141
</itemizedlist>
142
</para>
143
<para>
144
Additionally, you should look for help by subscribing to the various mailing lists, whose addresses 
145
are available on the mentioned web sites, and on the Usenet newsgroups dedicated to users of KDE and 
146
Unix Systems as well as about the C and C++ programming language. 
147
</para>
148
<para>
149
For obtaining help about the TDevelop IDE, you should send requests to our mailinglist at 
150
<email>kdevelop@kdevelop.org</email>. Mind that the KDevelop team is dedicated to provide the means to enable you to 
151
program applications and therefore is not intended as a technical support team in cases where the 
152
applications you're developing don't work due to implementation errors or misconfigurations of your 
153
operating system. By this, we ask all users to take advantage of the mailinglist in any case you're running 
154
into problems with the use of the IDE itself, as well as for bug reports and suggestions for improving the 
155
functionality of the development environment. 
156
</para>
157
</sect1>
158
159
</chapter>
160
161
<chapter id="chapter2">
162
<title>The KDE and Qt Libraries</title>
163
<para>
164
The Norwegian company TrollTech (<ulink url="http://www.trolltech.com">http://www.trolltech.com</ulink>) 
165
provides a so-called GUI toolkit, named Qt. GUI means "Graphical User Interface", and therefore, Qt-based 
166
applications represent themselves with buttons, windows etc, allowing user input by visualizing the functions 
167
an application provides. Such a toolkit is needed for developing graphical applications that run on the X-Window 
168
interface on Unix Systems, because X does not contain a pre-defined user interface itself. Although other 
169
toolkits are also available to create User Interfaces, Qt offers some technical advantages that make 
170
application design very easy. Additionally, the Qt toolkit is also available for Microsoft Windows systems, 
171
which allows developers to provide their applications for both platforms. 
172
</para>
173
<para>
174
The KDE Team (<ulink url="http://www.kde.org">http://www.kde.org</ulink>) joined together with the goal 
175
to make using Unix Systems more friendly, and decided to use the Qt toolkit for the development of a window
176
manager on X-Windows, plus a variety of tools included with the KDE packages. The K Desktop Environment 
177
therefore contains the window manager kwm, the file manager kfm and the launch panel kpanel as the main 
178
components plus a variety of first-class utilities and applications. After KDE was out, a lot of developers 
179
turned their eyes towards the new environment and what it has to offer them. The KDE libraries are providing
180
essential methods and classes that make all applications designed with them look similar and consistent, 
181
so the user has the great advantage that he only has to get accustomed with an application's specific 
182
usage, not with handling dialogs or buttons. Also, KDE programs integrate themselves into the desktop and 
183
are able to interact with the file manager via drag'n drop, offer session management and many more, if all 
184
features offered by the KDE libraries are used.  Both, the Qt toolkit and the KDE libraries, are implemented
185
in the C++ programming language; therefore applications that make use of these libraries are also mostly 
186
written in C++. In the following chapter, we'll make a short trip through the libraries to see what already
187
is provided and how Qt and TDE applications are created in general. 
188
</para>
189
<para>
190
Both, the Qt toolkit and the KDE libraries, are implemented in the C++ programming language; 
191
therefore applications that make use of these libraries are also mostly written in C++. In the following 
192
chapter, we'll make a short trip through the libraries to see what already is provided and how Qt and KDE 
193
applications are created in general. 
194
</para>
195
196
<sect1 id="c2s1">
197
<title>The Qt GUI Toolkit</title>
198
<para>
199
As said, the Qt library is a toolkit that offers graphical elements that are used for creating GUI 
200
applications and are needed for X-Window programming. Additionally, the toolkit offers: 
201
<itemizedlist>
202
<listitem><para>A complete set of classes and methods ready to use even for non-graphical programming issues</para></listitem>
203
<listitem><para>A good solution towards user interaction by virtual methods and the signal/slot mechanism</para></listitem>
204
<listitem><para>A set of predefined GUI-elements, called "widgets", that can be used easily for creating the visible elements</para></listitem>
205
<listitem><para>Additional completely pre-defined dialogs that are often used in applications such as progress and file dialogs</para></listitem>
206
</itemizedlist>
207
</para>
208
<para>
209
Therefore knowing the Qt classes is very essential, even if you only want to program KDE-applications. 
210
To have an impression on the basic concept how GUI-applications are constructed and compiled, we'll first
211
have a look at a sample Qt-only program; then we'll extend it to a KDE program.
212
</para>
213
214
<sect2 id="c2s1s1">
215
<title>The first Qt Application</title>
216
<para>
217
As usual, programs in C++ have to contain a <function>main()</function> function, which is the starting point for application
218
execution. As we want them to be graphically visible in windows and offering user interaction, 
219
we first have to know, how they can show themselves to the user. For an example, we'll have a look
220
at the first tutorial included with the Qt Online Reference Documentation and explain the basic execution
221
steps; also why and how the application window appears: 
222
<programlisting>
223
#include &lt;qapplication.h>
224
#include &lt;qpushbutton.h>
225
226
int main( int argc, char **argv )
227
{
228
QApplication a( argc, argv );
229
230
QPushButton hello( "Hello world!", 0 );
231
hello.resize( 100, 30 );
232
233
a.setMainWidget( &amp;hello );
234
hello.show();
235
return a.exec();
236
}
237
</programlisting>
238
</para>
239
<para>
240
This application merely paints a window containing a button with "Hello world" as its text. As for 
241
all Qt-based applications, you first have to create an instance of the class <classname>QApplication</classname>, represented by
242
variable a. 
243
</para>
244
<para>
245
Next, the program creates an instance of the class <classname>QPushButton</classname> called hello, this will be the button. 
246
The constructor of hello gets a string as a parameter, which is the contents of the widget visible as 
247
the buttons text.
248
</para>
249
<para>
250
Then the <methodname>resize()</methodname> method is called on the hello button. This changes the default size a widget 
251
(which is in this case the <classname>QPushButton</classname>) has when created to the length of 100 pixels and the height of 
252
30 pixels. Finally, the setMainWidget() method is called for a and the show() method for hello. The 
253
QApplication is finally executed by <methodname>a.exec()</methodname>, enters the main event loop and waits until it has to return 
254
an integer value to the overlaying Operating System signaling that the application is exited. 
255
</para>
256
</sect2>
257
258
<sect2 id="c2s1s2">
259
<title>The Reference Documentation for Qt</title>
260
<para>
261
Now, let's have a quick look at the reference documentation of the Qt library. To do this, start 
262
&tdevelop; and select "Qt" from the tree in the Documentation tab. The documentation browser opens 
263
and shows you the start page of the Qt reference. This will be your first place to get information 
264
about Qt, it's classes and the available functions they provide. Also, the above program is the first 
265
that is included in the tutorials section. To get to the classes we want to have a look at, 
266
<classname>QApplication</classname> and <classname>QPushButton</classname>, select "Alphabetical Class List" 
267
and search for the according names. Follow either of them to have a look at the class documentation.
268
</para>
269
<para>
270
Alternatively, you can use the online documentation from Trolltech's <ulink url="doc.trolltech.com">Qt Documentation</ulink>
271
</para>
272
<para>
273
For <classname>QApplication</classname>, you will see the constructor and all other methods that this 
274
class provides. If you follow a link, you will get more information about the usage and meaning of the 
275
methods, which is very useful when you sometimes can't detect the correct use or want to have an example. 
276
This also counts for the KDE library documentation, which uses a similar documentation type; therefore 
277
this is almost all you have to know about using the class-references with the documentation browser. 
278
</para>
279
<sect3 id="c2s1s2s1">
280
<title>Interpretation of the Sample</title>
281
<para>
282
Starting with <classname>QApplication</classname>, you will find all the methods used in our first example: 
283
<itemizedlist>
284
<listitem><para>the constructor <methodname>QApplication()</methodname></para></listitem>
285
<listitem><para>the <methodname>setMainWidget()</methodname> method</para></listitem>
286
<listitem><para>the <methodname>exec()</methodname> method</para></listitem>
287
</itemizedlist>
288
</para>
289
<para>
290
The interpretation why we use these methods is very simple: 
291
<orderedlist>
292
<listitem><para>Create an instance of the class <classname>QApplication</classname> with the constructor,
293
so we can make use of the GUI elements provided by Qt</para></listitem>
294
<listitem><para>Create a widget which will be the contents of our program window</para></listitem>
295
<listitem><para>Set the widget as the main widget for a</para></listitem>
296
<listitem><para>Execute the a instance of <classname>QApplication</classname></para></listitem>
297
</orderedlist> 
298
</para>
299
<para>
300
The second object of our program is the pushbutton, an instance of the class <classname>QPushButton</classname>. 
301
From the two constructors given to create an instance, we used the second: this accepts a text, 
302
which is the label contents of the button; here, it is the string "Hello world!". Then we called the 
303
<methodname>resize()</methodname> method to change the size of the button according to it's contents - 
304
the button has to be larger to make the string completely visible. 
305
</para>
306
<para>
307
But what about the <methodname>show()</methodname> method? Now, you see that like most other widgets, 
308
<classname>QPushButton</classname> is based on a single inheritance, the documentation says, Inherits 
309
<classname>QButton</classname>. Follow the link to the <classname>QButton</classname> class. 
310
This shows you a lot of other widgets that are inherited by <classname>QPushButton</classname>, 
311
which we'll use later to explain the signal/slot mechanism. Anyway, the <methodname>show()</methodname> 
312
method is not listed, therefore, it must be a method that is provided by inheritance as well. The class 
313
that <classname>QButton</classname> inherits is <classname>QWidget</classname>. Just follow the link
314
again, and you will see a whole bunch of methods that the QWidget class provides; including 
315
the <methodname>show()</methodname> method. Now we understand what was done in the sample with the button: 
316
<orderedlist>
317
<listitem><para>Create an instance of <classname>QPushButton</classname>, use the second constructor to set the button text</para></listitem>
318
<listitem><para>Resize the widget to its contents</para></listitem>
319
<listitem><para>Set the widget as the main widget of the <classname>QApplication</classname> instance a</para></listitem>
320
<listitem><para>Tell the widget to display itself on the screen by calling <methodname>show()</methodname>, an inherited method from <classname>QWidget</classname></para></listitem>
321
</orderedlist>
322
</para>
323
<para>
324
After calling the <methodname>exec()</methodname> method, the application is visible to the user, 
325
showing a window with the button showing "Hello world!". Note: GUI programs behave somewhat differently
326
than procedural applications. The main thing here is that the application enters a so-called 
327
"main event loop". This means that the program has to wait for user actions and then react to it, also
328
that for a Qt application, the program has to be in the main event loop to start the event handling.
329
The next section tells you in short what this means to the programmer and what Qt offers to process
330
user events.
331
</para>
332
<note><para>
333
For already advanced users: The button has no parent declared in the constructor, therefore it
334
is a top-level widget alone and runs in a local event loop which doesn't need to wait for the main
335
event loop.  See the QWidget class documentation and The KDE Library Reference Guide</para>
336
</note> 
337
338
</sect3>
339
</sect2>
340
341
<sect2 id="c2s1s3">
342
<title>User Interaction</title>
343
<para>
344
After reading the last sections, you should already know: 
345
<itemizedlist>
346
<listitem><para>What the Qt-library provides in terms of GUI applications</para></listitem>
347
<listitem><para>How a program using Qt is created and</para></listitem>
348
<listitem><para>Where and how to find information about classes that you want to use with the documentation browser</para></listitem>
349
</itemizedlist> 
350
</para>
351
<para>
352
Now we'll turn to give the application "life" by processing user events. Generally, the user has two ways
353
to interact with a program: the mouse and the keyboard. For both ways, a graphical user interface has to
354
provide methods that detect actions and methods that do something as a reaction to these actions.
355
</para> 
356
<para>
357
The Window system therefore sends all interaction events to the according application. The 
358
<classname>QApplication</classname> then sends them to the active window as a <classname>QEvent</classname>
359
and the widgets themselves have to decide what to do with them. A widget receives the event and processes
360
<methodname>QWidget::event(QEvent*)</methodname>, which then decides which event has been executed
361
and how to react; <methodname>event()</methodname> is therefore the main event handler. Then, 
362
the <methodname>event()</methodname> method passes the event to so-called event filters 
363
that determine what happened and what to do with the event. If no filter signs responsible for the 
364
event, the specialized event handlers are called. Thereby we can decide between: 
365
<itemizedlist>
366
<listitem><para>
367
Keyboard events -- TAB and Shift-TAB keys:</para>
368
<itemizedlist>
369
<listitem><para><methodname>virtual void focusInEvent(QFocusEvent *)</methodname></para></listitem>
370
<listitem><para><methodname>virtual void focusOutEvent(QFocusEvent *)</methodname></para></listitem>
371
</itemizedlist>
372
</listitem>
373
374
<listitem><para>
375
All other keyboard input:</para>
376
<itemizedlist>
377
<listitem><para><methodname>virtual void keyPressEvent(QKeyEvent *)</methodname></para></listitem>
378
<listitem><para><methodname>virtual void keyReleaseEvent(QKeyEvent *)</methodname></para></listitem>
379
</itemizedlist>
380
</listitem>
381
382
<listitem><para>
383
Mouse movements:</para>
384
<itemizedlist>
385
<listitem><para><methodname>virtual void mouseMoveEvent(QMouseEvent *)</methodname></para></listitem>
386
<listitem><para><methodname>virtual void enterEvent(QEvent *)</methodname></para></listitem>
387
<listitem><para><methodname>virtual void leaveEvent(QEvent *)</methodname></para></listitem>
388
</itemizedlist>
389
</listitem>
390
391
<listitem><para>
392
Mouse button actions</para>
393
<itemizedlist>
394
<listitem><para><methodname>virtual void mousePressEvent(QMouseEvent *)</methodname></para></listitem>
395
<listitem><para><methodname>virtual void mouseReleaseEvent(QMouseEvent *)</methodname></para></listitem>
396
<listitem><para><methodname>virtual void mouseDoubleClickEvent(QMouseEvent *)</methodname></para></listitem>
397
</itemizedlist>
398
</listitem>
399
400
<listitem><para>
401
Window events containing the widget</para>
402
<itemizedlist>
403
<listitem><para><methodname>virtual void moveEvent(QMoveEvent *)</methodname></para></listitem>
404
<listitem><para><methodname>virtual void resizeEvent(QResizeEvent *)</methodname></para></listitem>
405
<listitem><para><methodname>virtual void closeEvent(QCloseEvent *)</methodname></para></listitem>
406
</itemizedlist>
407
</listitem>
408
409
</itemizedlist>
410
</para>
411
<para>
412
Note that all event functions are virtual and protected; therefore you can re-implement the events 
413
that you need in your own widgets and specify how your widget has to react. <classname>QWidget</classname>
414
also contains some other virtual methods that can be useful in your programs; anyway, it is sufficient
415
to know about <classname>QWidget</classname> very well. 
416
</para>
417
</sect2>
418
<sect2 id="c1s2s4">
419
<title>Object Interaction by Signals and Slots</title>
420
<para>
421
Now we're coming to the most obvious advantages of the Qt toolkit: the signal/slot mechanism. 
422
This offers a very handy and useful solution to object interaction, which usually is solved by 
423
callback functions for X-Window toolkits. As this communication requires a strict programming and 
424
sometimes makes user interface creation very difficult (as referred by the Qt documentation and explained 
425
in Programming with Qt by K.Dalheimer), Troll Tech invented a new system where objects can emit signals
426
that can be connected to methods declared as slots. For the C++ part of the programmer, he only has to know 
427
some things about this mechanism: 
428
<itemizedlist>
429
<listitem><para>
430
the class declaration of a class using signals/slots has to contain the Q_OBJECT macro at the beginning
431
(without a semicolon); and have to be derved from the <classname>QObject</classname> class
432
</para></listitem>
433
<listitem><para>
434
a signal can be emitted by the keyword emit, e.g. emit signal(parameters); from within any member function
435
of a class that allows signals/slots
436
</para></listitem>
437
438
<listitem><para>
439
all signals used by the classes that are not inherited have to be added to the class declaration by a
440
signals section
441
</para></listitem>
442
<listitem><para>
443
all methods that can be connected with a signal are declared in sections with the additional keyword slot,
444
e.g. public slots: within the class declaration
445
</para></listitem>
446
<listitem><para>
447
the meta-object compiler moc has to run over the header file to expand the macros and to produce the
448
implementation (which is not necessary to know).  The output files of moc are compiled also by the C++ compiler.
449
</para></listitem>
450
</itemizedlist>
451
</para>
452
<para>
453
Another way to use signals without deriving from <classname>QObject</classname> is to use the 
454
<classname>QSignal</classname> class- see the reference documentation for more information and example
455
usage. In the following, we assume you're deriving from <classname>QObject</classname>. 
456
</para>
457
<para>
458
This way, your class is able to send signals anywhere and to provide slots that signals can connect 
459
to. By using the signals, you don't have to care about who's receiving it- you just have to emit the 
460
signal and whatever slot you want to connect to it can react to the emission. Also the slots can be used 
461
as normal methods during implementation. 
462
</para>
463
<para>
464
Now, to connect a signal to a slot, you have to use the <methodname>connect()</methodname> methods that 
465
are provided by <classname>QObject</classname> or, where available, special methods that objects provide 
466
to set the connection for a certain signal. 
467
</para>
468
469
<sect3 id="c1s2s4s1">
470
<title>Sample Usage</title>
471
<para>
472
To explain the way how to set up object-interaction, we'll take our first example again and extend it by a
473
simple connection:
474
<programlisting>
475
#include &lt;qapplication.h>
476
#include &lt;qpushbutton.h>
477
478
int main( int argc, char **argv )
479
{
480
QApplication a( argc, argv );
481
482
QPushButton hello( "Hello world!" , 0);
483
hello.resize( 100, 30 );
484
485
a.setMainWidget( &amp;hello );
486
487
QObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
488
489
hello.show();
490
return a.exec();
491
}
492
</programlisting>
493
</para>
494
<para>
495
You see, the only addition to give the button more interaction is to use a <methodname>connect()
496
</methodname> method: <methodname>connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ))</methodname>;
497
is all you have to add. What is the meaning now? The class declaration of QObject says about the 
498
<methodname>connect()</methodname> method: 
499
</para>
500
<para><methodname>
501
bool connect ( const QObject * sender, const char * signal, const QObject * receiver, const char * member ) 
502
</methodname></para>
503
<para>
504
This means you have to specify a <classname>QObject</classname> instance pointer that is the sender 
505
of the signal, meaning that it can emit this signal as first parameter; then you have to specify the signal 
506
that you want to connect to. The last two parameters are the receiver object that provides a slot, followed 
507
by the member function which actually is the slot that will be executed on signal emission. 
508
</para>
509
<para>
510
By using signals and slots, your program's objects can interact with each other easily without explicitly 
511
depending on the type of the receiver object. You will learn more about using this mechanism for productive 
512
usage later in this handbook. More information about the Signals/Slot mechanism can also be found in 
513
<ulink url="developer.kde.org/documentation/library/libraryref.html">The KDE Library Reference Guide</ulink> 
514
and the <ulink url="doc.trolltech.com">Qt online reference</ulink>.
515
</para>
516
</sect3>
517
</sect2>
518
</sect1>
519
520
<sect1 id="c2s3">
521
<title>What KDE provides</title>
522
<sect2 id="c2s3s1">
523
<title>The KDE 3.x libraries</title>
524
<para>
525
The main KDE libraries you'll be using for creating your own TDE applications are:
526
<itemizedlist>
527
<listitem><para>
528
the tdecore library, containing all classes that are non-visible elements to provide application functionality
529
</para></listitem>
530
<listitem><para>
531
the tdeui library, containing user interface elements like menubars, toolbars, etc.
532
</para></listitem>
533
<listitem><para>
534
the tdefile library, containing the file selection dialogs
535
</para></listitem>
536
</itemizedlist>
537
</para>
538
<para>
539
Additionally, for specific solutions KDE offers the following libraries:
540
<itemizedlist>
541
<listitem><para>
542
the tdefx library, containing pixmaps, image effects the TDEStyle extension to QStyle
543
</para></listitem>
544
<listitem><para>
545
the tdehtml library, containing KDE's html component
546
</para></listitem>
547
<listitem><para>
548
the kjs library, containing KDE's Javascript support
549
</para></listitem>
550
<listitem><para>
551
the tdeio library, containing low level access to network files
552
</para></listitem>
553
<listitem><para>
554
the tdeparts library, containing support for re-usable embeddable extendable applications
555
</para></listitem>
556
</itemizedlist>
557
</para>
558
<para>
559
Next we'll have a look at what is needed to turn out first Qt Application into a KDE one.
560
</para>
561
</sect2>
562
<sect2 id="c2s3s2">
563
<title>Example KDE Application</title>
564
<para>
565
In the following, you will see that writing a KDE application is not much more difficult than a 
566
Qt application. For the use of KDE's features, you just have to use some other classes, and you're almost 
567
done. As an example, we'll discuss the changed version of the Qt example from above: 
568
<programlisting>
569
#include &lt;tdeapplication.h>
570
#include &lt;qpushbutton.h>
571
572
int main( int argc, char **argv )
573
{
574
TDEApplication a( argc, argv );
575
576
QPushButton hello( "Hello world!", 0 );
577
hello.resize( 100, 30 );
578
579
a.setTopWidget( &amp;hello );
580
581
QObject::connect(&amp;hello, SIGNAL( clicked() ), &amp;a, SLOT( quit() ));
582
583
hello.show();
584
return a.exec();
585
}
586
</programlisting>
587
</para> 
588
<para>
589
You see that first we have changed from <classname>QApplication</classname> to <classname>TDEApplication
590
</classname>. Further, we had to change the previously used <methodname>setMainWidget()</methodname> method 
591
to <methodname>setTopWidget</methodname>, which <classname>TDEApplication</classname> uses to set the main 
592
widget. That's it! Your first KDE application is ready - you only have to tell the compiler the KDE 
593
include path and the linker to link in the tdecore library with -ltdecore. 
594
</para>
595
<para>
596
As you now know what at least the <function>main()</function> function provides generally and how an 
597
application gets visible and allows user and object interaction, we'll go on with the next chapter, 
598
where our first application is made with &tdevelop;.  There you can also test everything which was 
599
mentioned before and see the effects. 
600
</para>
601
<para>
602
What you should have looked into additionally until now is the reference documentation for Qt, 
603
especially the <classname>QApplication</classname>, <classname>QWidget</classname> and <classname>QObject
604
</classname> class and the tdecore library documentation for the <classname>TDEApplication</classname> class. 
605
The <ulink url="developer.kde.org/documentation/library/libraryref.html">KDE Library Reference handbook</ulink> 
606
also covers a complete description about the invocation of the <classname>QApplication</classname> and 
607
<classname>TDEApplication</classname> constructors including command-line argument processing. 
608
</para>
609
</sect2>
610
</sect1>
611
612
</chapter>
613
614
<chapter id="chapter3">
615
<title>Creating New Applications</title>
616
617
<sect1 id="c3s1">
618
<title>The Application Wizard</title>
619
<para>
620
&tdevelop;'s Application Wizard is intended to let you start working on new project with &tdevelop;.  Therefore 
621
all of your projects are first created by the wizard, and then you can start building them and extend what is 
622
already provided by the source skeleton.  You can choose from several project types according to your project goals:
623
<itemizedlist>
624
<listitem><para>
625
KDE Application Framework: includes source code for a complete frame structre of a standard KDE application
626
</para></listitem>
627
<listitem><para>
628
QMake Project: Creates an application framework based around Trolltech's qmake configuration system
629
</para></listitem>
630
<listitem><para>
631
Simple hello world program: Creates a C++ terminal based program with no GUI support
632
</para></listitem>
633
<listitem><para>
634
A multitude of other program skeletons
635
</para></listitem>
636
</itemizedlist>
637
</para>
638
<para>
639
In this chapter we'll see how the Application Wizard can be invoked and what has to be done to generate 
640
a KDE application project.  This will also be the initial step of our coverage, where we will create the 
641
initial version of a sample project.  For all other project types the steps are usualyl the same, but you 
642
may not have as many options available.
643
</para>
644
</sect1>
645
646
<sect1 id="c3s2">
647
<title>Invoking the Application Wizard and Project Generation</title>
648
<sect2 id="c3s2s1">
649
<title>Starting the Application Wizard and the First Page</title>
650
<para>
651
To start with your KDE application, open &tdevelop;.  From the Project menu, selection New Project.  The 
652
Application Wizard starts, and you'll see the selection tree on the first page containing available project 
653
types that can be created.  Choose the C++ subtree, then KDE, then Application Framework.
654
</para>
655
<para>
656
For our sample project, we are going to create the application KScribble.  Enter this as the application 
657
name, and change any other information at the bottom of this screen that may need it.  Then, select Next.
658
<screenshot><mediaobject><imageobject>
659
<imagedata fileref="appwizard.png" format="PNG"/>
660
</imageobject><textobject><phrase>Application Wizard</phrase></textobject>
661
</mediaobject></screenshot>
662
</para>
663
</sect2>
664
<sect2 id="c3s2s2">
665
<title>Version control information</title>
666
<para>
667
On this screen you have the ability to decide if your project will use a version control system like
668
CVS.  For our sample project we will not use source control, so make sure the selection box reads None 
669
and select Next.
670
</para>
671
</sect2>
672
<sect2 id="c3s2s3">
673
<title>Header and Source Templates</title>
674
<para>
675
The next two pages show example headers that will go at the top of each of the header and source files that 
676
you create using &tdevelop;.  For now, just leave these as the default, and select Next, then Finish.  If the
677
Finish button is not activated, you haven't set all of the options correct.  Use the Back button to return
678
to earlier menus and correct any mistakes.
679
</para>
680
</sect2>
681
<sect2 id="c3s2s4">
682
<title>Finishing Up</title>
683
<para>
684
Upon completion, the Application Wizard should close and the messages window should popup displaying
685
information about the tasks that &tdevelop; is currently doing.  At the end of all of the tasks, you
686
should see **** Success *****.  This means the application framework was successfully loaded.
687
</para>
688
</sect2>
689
</sect1>
690
691
<sect1 id="c3s3">
692
<title>The First Build</title>
693
<para>
694
After our project is generated, we'll first make a trip through the source code to get a general understanding
695
of how the application framework looks.  This won't only help us get started, but we'll know where to change 
696
what in later steps.
697
</para>
698
<para>
699
This chapter makes the assumption that you understand the basic navigation of &tdevelop;.  Consult the
700
KDevelop User Manual for information if you need it.
701
</para>
702
<para>
703
The Automake manager shows the project files as follows:
704
<screenshot><mediaobject><imageobject>
705
<imagedata fileref="kscribblefiles.png" format="PNG"/>
706
</imageobject><textobject><phrase>Files in our project</phrase></textobject>
707
</mediaobject></screenshot>
708
</para>
709
<para>
710
Before diving into the sources, we'll let &tdevelop; build an run our new application.  To do this, select
711
Build Project from the Build menu, or press F8.  The output window opens and displays output messages during
712
the compilation phase.
713
<programlisting>
714
1 cd /home/caleb/kscribble &amp;&amp; WANT_AUTOCONF_2_5=1 WANT_AUTOMAKE_1_6=1 gmake k
715
2 gmake all-recursive
716
3 gmake[1]: Entering directory `/home/caleb/kscribble'
717
4 Making all in doc
718
5 gmake[2]: Entering directory `/home/caleb/kscribble/doc'
719
6 Making all in .
720
7 gmake[3]: Entering directory `/home/caleb/kscribble/doc'
721
8 gmake[3]: Nothing to be done for `all-am'.
722
9 gmake[3]: Leaving directory `/home/caleb/kscribble/doc'
723
10 Making all in en
724
11 gmake[3]: Entering directory `/home/caleb/kscribble/doc/en'
725
12 /usr/local/trinity/bin/meinproc --check --cache index.cache.bz2 /home/caleb/kscribble/doc/en/index.docbook
726
13 gmake[3]: Leaving directory `/home/caleb/kscribble/doc/en'
727
14 gmake[2]: Leaving directory `/home/caleb/kscribble/doc'
728
15 Making all in po
729
16 gmake[2]: Entering directory `/home/caleb/kscribble/po'
730
17 gmake[2]: Nothing to be done for `all'.
731
18 gmake[2]: Leaving directory `/home/caleb/kscribble/po'
732
19 Making all in src
733
20 gmake[2]: Entering directory `/home/caleb/kscribble/src'
734
21 source='main.cpp' object='main.o' libtool=no \
735
22 depfile='.deps/main.Po' tmpdepfile='.deps/main.TPo' \
736
23 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
737
24 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
738
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
739
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
740
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
741
   -c -o main.o `test -f 'main.cpp' || echo '/home/caleb/kscribble/src/'`main.cpp
742
25 /usr/lib/qt/bin/moc /home/caleb/kscribble/src/kscribble.h -o kscribble.moc
743
26 source='kscribble.cpp' object='kscribble.o' libtool=no \
744
27 depfile='.deps/kscribble.Po' tmpdepfile='.deps/kscribble.TPo' \
745
28 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
746
29 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
747
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
748
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
749
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
750
   -c -o kscribble.o `test -f 'kscribble.cpp' || echo '/home/caleb/kscribble/src/'`kscribble.cpp
751
30 kscribble.cpp: In member function `void KScribble::setupActions()'
752
31 kscribble.cpp:107: warning: unused variable `TDEAction*custom'
753
32 /usr/lib/qt/bin/moc /home/caleb/kscribble/src/kscribbleview.h -o kscribbleview.moc
754
33 source='kscribbleview.cpp' object='kscribbleview.o' libtool=no \
755
34 depfile='.deps/kscribbleview.Po' tmpdepfile='.deps/kscribbleview.TPo' \
756
35 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
757
36 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
758
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
759
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi 
760
   -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -c 
761
   -o kscribbleview.o `test -f 'kscribbleview.cpp' || echo '/home/caleb/kscribble/src/'`kscribbleview.cpp
762
37 kscribbleview.cpp: In member function `void KScribbleView::print(QPainter*,
763
38  int, int)':
764
39 kscribbleview.cpp:79: warning: unused parameter `QPainter*p'
765
40 kscribbleview.cpp:79: warning: unused parameter `int height'
766
41 kscribbleview.cpp:79: warning: unused parameter `int width'
767
42 /usr/lib/qt/bin/moc /home/caleb/kscribble/src/pref.h -o pref.moc
768
43 source='pref.cpp' object='pref.o' libtool=no \
769
44 depfile='.deps/pref.Po' tmpdepfile='.deps/pref.TPo' \
770
45 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
771
46 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
772
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
773
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
774
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
775
   -c -o pref.o `test -f 'pref.cpp' || echo '/home/caleb/kscribble/src/'`pref.cpp
776
47 /usr/local/trinity/bin/dcopidl /home/caleb/kscribble/src/kscribbleiface.h > kscribbleiface.kidl || 
777
   ( rm -f kscribbleiface.kidl ; /bin/false )
778
48 /usr/local/trinity/bin/dcopidl2cpp --c++-suffix cpp --no-signals --no-stub kscribbleiface.kidl
779
49 source='kscribbleiface_skel.cpp' object='kscribbleiface_skel.o' libtool=no \
780
50 depfile='.deps/kscribbleiface_skel.Po' tmpdepfile='.deps/kscribbleiface_skel.TPo' \
781
51 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
782
52 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
783
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
784
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
785
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
786
   -c -o kscribbleiface_skel.o `test -f 'kscribbleiface_skel.cpp' || 
787
   echo '/home/caleb/kscribble/src/'`kscribbleiface_skel.cpp
788
53 /bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor -Wno-long-long -Wundef -Wall 
789
   -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 
790
   -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -o kscribble -R 
791
   /usr/local/trinity/lib -R /usr/lib/qt/lib -R /usr/X11R6/lib -L/usr/X11R6/lib -L/usr/lib/qt/lib 
792
   -L/usr/local/trinity/lib main.o kscribble.o kscribbleview.o pref.o kscribbleiface_skel.o -ltdeio 
793
54 source='kscribble_client.cpp' object='kscribble_client.o' libtool=no \
794
55 depfile='.deps/kscribble_client.Po' tmpdepfile='.deps/kscribble_client.TPo' \
795
56 depmode=gcc3 /bin/sh /home/caleb/kscribble/admin/depcomp \
796
57 g++ -DHAVE_CONFIG_H -I. -I/home/caleb/kscribble/src -I.. -I/usr/local/trinity/include 
797
   -I/usr/lib/qt/include -I/usr/X11R6/include -DQT_THREAD_SUPPORT -D_REENTRANT -Wnon-virtual-dtor 
798
   -Wno-long-long -Wundef -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings 
799
   -ansi -D_XOPEN_SOURCE=500 -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new 
800
   -c -o kscribble_client.o `test -f 'kscribble_client.cpp' || echo 
801
   '/home/caleb/kscribble/src/'`kscribble_client.cpp
802
58 /bin/sh ../libtool --silent --mode=link --tag=CXX g++ -Wnon-virtual-dtor -Wno-long-long -Wundef 
803
   -Wall -pedantic -W -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -ansi -D_XOPEN_SOURCE=500 
804
   -D_BSD_SOURCE -Wcast-align -Wconversion -O2 -fno-exceptions -fno-check-new -o kscribble_client -R 
805
   /usr/local/trinity/lib -R /usr/lib/qt/lib -R /usr/X11R6/lib -L/usr/X11R6/lib -L/usr/lib/qt/lib 
806
   -L/usr/local/trinity/lib kscribble_client.o -ltdecore 
807
59 gmake[2]: Leaving directory `/home/caleb/kscribble/src'
808
60 gmake[2]: Entering directory `/home/caleb/kscribble'
809
61 gmake[2]: Nothing to be done for `all-am'.
810
62 gmake[2]: Leaving directory `/home/caleb/kscribble'
811
63 gmake[1]: Leaving directory `/home/caleb/kscribble'
812
64 *** Success ***
813
</programlisting>
814
</para>
815
<para>
816
As you can see, we've put line numbers in front of each line which won't appear on your output but it makes it
817
easier to describe what is happening during the build.  First of all, gmake works recursively.  This means
818
that it starts from the directory it is invoked and goes into the subdirectories first, one at a time, then
819
returns to the directory it was started, processes it, then finishes.
820
</para>
821
<para>
822
Our first line of interest is 24.  Notice on this line that g++, which is our C++ compiler, gets called by make
823
to compile the first source code file in our project - in this case main.cpp.  Many extra command line options
824
are also being used with the g++ compiler; some of which are defaults and some of which can be configured 
825
via &tdevelop;.
826
</para>
827
<para>
828
Before the next file (kscribble.cpp, line 29) is compiled, the moc (meta object compiler) is first
829
invoked on kscribble.h (line 25).  This is because KScribble classes use signals/slots, so the 
830
Q_OBJECT macro must be expanded, and the moc does this for us.  The resultant file, kscribble.moc, is
831
used by kscribble.cpp via an #include statement inside of the file.
832
</para>
833
</sect1>
834
835
<sect1 id="c3s4">
836
<title>The source skeleton</title>
837
<para>
838
To conceptualize how a KDE application works, we'll first have a very close look at the source 
839
skeleton already provided by the Application Wizard. As we already saw, we're having a set of source 
840
and header files that build the initial code for the application and make it ready-to-run. Therefore, 
841
the easiest way to explain the code is to follow the implementation line by line as it is processed 
842
during executing the program until it enters the main event loop and is ready to accept user input. 
843
Then, we'll have a look at the functionality that enables user interaction and how certain things work. 
844
This is probably the best way to explain the framework and, as it is similar to almost all KDE 
845
applications, will enable you to read source codes from other projects as well; additionally, you will 
846
know where to change what part of the code to make your applications behave the way they are designed for. 
847
</para>
848
849
<sect2 id="c3s4s1">
850
<title>The main() function</title>
851
<para>
852
As the application begins its execution with entering the <function>main()</function> function, 
853
this will be the start for our code examination. The <function>main()</function> function of 
854
KScribble is implemented in the file main.cpp and can also be found using the Class Browser 
855
by selecting the "Global Functions" folder.
856
<programlisting>
857
1  int main(int argc, char **argv)
858
2  {
859
3      TDEAboutData about("kscribble", I18N_NOOP("KScribble"), version, description,
860
4                       TDEAboutData::License_GPL, "(C) 2002 Your Name", 0, 0, "you@you.com");
861
5      about.addAuthor( "Your Name", 0, "you@you.com" );
862
6      TDECmdLineArgs::init(argc, argv, &amp;about);
863
7      TDECmdLineArgs::addCmdLineOptions(options);
864
8      TDEApplication app;
865
9  
866
10    // register ourselves as a dcop client
867
11    app.dcopClient()->registerAs(app.name(), false);
868
12 
869
13    // see if we are starting with session management
870
14    if (app.isRestored())
871
15        RESTORE(KScribble)
872
16    else
873
17    {
874
18        // no session.. just start up normally
875
19        TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs();
876
20        if (args->count() == 0)
877
21        {
878
22            KScribble *widget = new KScribble;
879
23            widget->show();
880
24        }
881
25        else
882
26        {
883
27            int i = 0;
884
28            for (; i &lt; args->count(); i++)
885
29            {
886
30                KScribble *widget = new KScribble;
887
31                widget->show();
888
32                widget->load(args->url(i));
889
33            }
890
34        }
891
35        args->clear();
892
36    }
893
37
894
38    return app.exec();
895
39 }
896
</programlisting>
897
</para> 
898
<para>
899
Now, what happens first is the usual creation of a <classname>TDEApplication</classname> object, but we've
900
added some KDE methods that set program and author information for this application.
901
</para>
902
</sect2>
903
<sect2>
904
<title>User Application Start</title>
905
906
<para>... (not written yet)</para>
907
908
</sect2>
909
<sect2>
910
<title>The Constructor</title>
911
<para>
912
Let's have a look at the constructor and see how this instance is called
913
<programlisting>
914
1  KScribble::KScribble()
915
2      : TDEMainWindow( 0, "KScribble" ),
916
3        m_view(new KScribbleView(this)),
917
4        m_printer(0)
918
5  {
919
6      // accept dnd
920
7      setAcceptDrops(true);
921
8  
922
9      // tell the TDEMainWindow that this is indeed the main widget
923
10     setCentralWidget(m_view);
924
11 
925
12     // then, setup our actions
926
13     setupActions();
927
14 
928
15     // and a status bar
929
16     statusBar()->show();
930
17 
931
18     // allow the view to change the statusbar and caption
932
19     connect(m_view, SIGNAL(signalChangeStatusbar(const QString&amp;)),
933
20             this,   SLOT(changeStatusbar(const QString&amp;)));
934
21     connect(m_view, SIGNAL(signalChangeCaption(const QString&amp;)),
935
22             this,   SLOT(changeCaption(const QString&amp;)));
936
23
937
24  }
938
</programlisting>
939
</para>
940
<para>
941
Notice that <classname>KScribble</classname> inherits the <classname>TDEMainWindow</classname> class - a 
942
commonly used base class for TDE applications.  We initialize a class called <classname>KScribbleView</classname>
943
as our central widget, create a <classname>KStatusBar</classname> via the <methodname>statusBar()</methodname>
944
method (line 16), and connect some signals and slots together.
945
</para>
946
</sect2>
947
</sect1>
948
</chapter>
949
950
951
<chapter id="chapter4">
952
<title>Application View Design</title>
953
<sect1 id="c4s1">
954
<title>Introduction</title>
955
<para>
956
When developing an application with a graphical user interface, the main work takes place in 
957
providing a so-called "view" for the application. A view generally is a widget that displays the data 
958
of a document and provides methods to manipulate the document contents. This can be done by the user via
959
the events he emits by the keyboard or the mouse; more complex operations are often processed by toolbars
960
and menubars which interact with the view and the document. The statusbar then provides information about
961
the document, view or application status. As an example, we look at how an editor is constructed and where
962
we can find which part. 
963
</para>
964
<para>
965
An editor generally is supposed to provide an interface to view and/or change the contents of a text
966
document for the user. If you start Kate, you see the visual interface as the following: 
967
<itemizedlist>
968
<listitem><para>
969
The menubar: providing complex operations as well as opening, saving and closing files and 
970
exiting the application.
971
</para></listitem>
972
<listitem><para>
973
The toolbar: offers icons which allow quicker access for most needed functions,
974
</para></listitem>
975
<listitem><para>
976
The statusbar: displays the status of the cursor position by the current row and column,
977
</para></listitem>
978
<listitem><para>
979
The view in the center of the window, displaying a document and offering a cursor connected to 
980
the keyboard and the mouse to operate on the data.
981
</para></listitem>
982
</itemizedlist>
983
</para>
984
<para>
985
Now it's easy to understand that a view is the most unique part of the application and the design
986
of the view decides about the usability and acceptability of an application. This means that one of
987
the first steps in development is to determine the purpose of the application and what kind of view
988
design would match best to allow any user to work with the application with a minimum of work 
989
learning how to handle the user interface. 
990
</para>
991
<para>
992
For some purposes like text editing and displaying HTML files, views are provided by the Qt and KDE
993
libraries; we will discuss certain aspects of these high-level widgets in the next section. 
994
But for most applications new widgets have to be designed and implemented. It is that what makes a 
995
programmer also a designer and where his abilities on creativity are asked. Nevertheless, you should 
996
watch for intuitivity first. Remember, a lot of users won't accept an application that isn't:
997
<itemizedlist>
998
<listitem><para>
999
graphically nice.
1000
</para></listitem>
1001
<listitem><para>
1002
offering a lot of features
1003
</para></listitem>
1004
<listitem><para>
1005
easy to handle
1006
</para></listitem>
1007
<listitem><para>
1008
fast to learn how to use it
1009
</para></listitem>
1010
</itemizedlist>
1011
</para>
1012
<para>
1013
Needless to say that stability is a major design goal. Nobody can prevent bugs, but a minimum can
1014
be reached at least by clever design goals and wide use of object-oriented design. C++ makes programming
1015
a joy if you know how to exploit it's capabilities- inheritance, information hiding and reusablitity of
1016
already existing code. 
1017
</para>
1018
<para>
1019
When creating a KDE or Qt project, you always have to have a view that inherits QWidget, either by 
1020
direct inheritance or because the library widget you want to use inherits QWidget. Therefore, the 
1021
Application Wizard already constructed a view that is an instance of a class yourappView, which 
1022
inherits QWidget already.
1023
</para>
1024
<para>
1025
This chapter therefore describes how to use library widgets for creating views of KDE or 
1026
Qt applications that are generated with &tdevelop;, then we look at the libraries and what kind of 
1027
views are already offered. 
1028
</para>
1029
</sect1>
1030
<sect1 id="c4s2">
1031
<title>Using Library Views</title>
1032
<para>
1033
When your application design has been set up, you first should look for already existing code that 
1034
will make your life a lot easier. A part of this search is to look for a widget that can be used as 
1035
a view or at least as a part of it; either directly or by inheritance. The KDE and Qt libraries already 
1036
contain a set of widgets that can be used for this purpose. To use them, you have two options: 
1037
<orderedlist>
1038
<listitem><para>
1039
Remove the new view class and create an instance of a library widget; then set this as the view,
1040
</para></listitem>
1041
<listitem><para>
1042
Change the inheritance of the provided view class to the class of the library widget to use.
1043
</para></listitem>
1044
</orderedlist>
1045
</para>
1046
<para>
1047
In either way, it is important to know that if the application framework is currently not linked 
1048
against the library that contains the widget, the linker will fail. After you decided to use a 
1049
certain widget, look for the library to link to; then open "Project"->"Options" from the &tdevelop; 
1050
menubar. Switch to the "Linker Options" page and look for the checkmarks indicating the libraries 
1051
that are currently used. If the library of your view widget is already checked, you can leave the 
1052
project options untouched and start doing the necessary changes due to your choice. If not, and the 
1053
linker options offer to add the library by a check box, check it and press "OK" to leave the project 
1054
options dialog again. In any other case, add the library in the edit line below with the -l option. 
1055
For libraries that your application has to search for before preparing the Makefiles by the 
1056
configure script on the end-user machine, add the according search macro to the configure.in file 
1057
located at the root directory of your project and add the macro to the edit line. Mind that you have 
1058
to run "Build"->"Autoconf and automake" and "Build"->"Configure" before the Makefiles contain the 
1059
correct expansion for the library macro. 
1060
</para>
1061
<para>
1062
Also, if the include files for the library to add are not in the current include path 
1063
(which can be seen by the -I options in the output window on "Make"), you have to add the path to the 
1064
Project Options dialog -"Compiler Options" page with the -I option or the according automake macro at 
1065
the edit line for "Additional Options". 
1066
</para>
1067
<sect2 id="c4s3s1">
1068
<title>Qt Views</title>
1069
<para>
1070
Looking at the first page of the Qt online documentation, you will find a link to 
1071
"Widget Screenshots" where you can have a look at how the widgets Qt contains look like. 
1072
These are ready to use and can be combined together to form complex widgets to create application 
1073
views or dialogs. In the following, we'll discuss some of these which are very usable for creating 
1074
application views, but keep in mind that the KDE libraries sometimes contain other widgets for the 
1075
same purpose; those will be reviewed in the next section. 
1076
</para>
1077
<para>
1078
Here are a set of hints for what purpose you could use which Qt component: 
1079
<orderedlist>
1080
<listitem><para>
1081
If your view area isn't big enough to display all your data, the user must be enabled to scroll
1082
over the document with bars on the left and bottom of the view. For this, Qt provides the class
1083
<classname>QScrollView</classname>, which offers a scrollable child area. As explained, you could 
1084
inherit your own widget from <classname>QScrollView</classname> or use an instance to manage your 
1085
document's view widget.
1086
</para></listitem> 
1087
<listitem><para>
1088
to create a ScrollView yourself, inherit the View widget from  <classname>QWidget</classname> 
1089
and add vertical and horizontal  <classname>QScrollBars </classname>. 
1090
(This is done by KDE`s TDEHTMLView widget.)
1091
</para></listitem> 
1092
<listitem><para> 
1093
For text processing, use <classname>QTextEdit</classname>. This class provides a complete 
1094
text editor widget that is already capable to cut, copy and paste text and is managed by a scrollview.
1095
</para></listitem> 
1096
<listitem><para> 
1097
Use <classname>QTable</classname> to display data that is arranged in a table. 
1098
As <classname>QTable</classname> is managed by scrollbars as well, it offers a good solution for 
1099
table calculation applications.
1100
</para></listitem> 
1101
<listitem><para> 
1102
To display two different widgets or two widget instances at the same time, use <classname>QSplitter
1103
</classname>. This allows to tile views by horizontal or vertical dividers. 
1104
KMail is a good example what this would look like- the main view is separated by a
1105
splitter vertically, the right window then is divided again horizontally.
1106
</para></listitem> 
1107
<listitem><para> 
1108
<classname>QListView</classname> displays information in a list and tree. 
1109
This is useful for creating file trees or any other hierarchical information you want to interact with.
1110
</para></listitem> 
1111
</orderedlist>
1112
</para>
1113
<para>
1114
You see that Qt alone offers a whole set of widgets which are ready to use so you don't have to invent
1115
new solutions if these match your needs. The sideffect when using standard widgets is that users already
1116
know how to handle them and only have to concentrate on the displayed data.
1117
</para>
1118
</sect2>
1119
<sect2 id="c4s3s2">
1120
<title>KDE Views</title>
1121
<para>
1122
The KDE libraries were invented to make designing applications for the K Desktop Environment easier
1123
and capable of more functionality than what Qt alone is offering. The tdeui library offers: 
1124
<orderedlist>
1125
<listitem><para>
1126
TDEListView: a more powerful version of <classname>QListView</classname>
1127
</para></listitem>
1128
<listitem><para>
1129
TDEIconView: a graphical viewer of icon files
1130
</para></listitem>
1131
</orderedlist>
1132
</para>
1133
<para>
1134
The tdehtml library, on the other hand, offers a complete HTML-interpreting widget that is ready to use.
1135
It is scrollable already, so you don't even have to take care for that. A possible use could be to
1136
integrate it as a preview widget for an HTML editor; used by applications such as Konqueror to display HTML files. 
1137
</para>
1138
</sect2>
1139
</sect1>
1140
<sect1 id="c4s4">
1141
<title>Creating your own Views</title>
1142
<para>
1143
Not yet written
1144
</para>
1145
</sect1>
1146
</chapter>
1147
1148
<chapter id="chapter5">
1149
<title>Configuring Menubars and Toolbars</title>
1150
<sect1 id="c5s1">
1151
<title>Introduction</title>
1152
<para>
1153
Menubars and toolbars are one of the most important parts of an application to provide methods to
1154
work with a document structure. As a general rule, you should make all functions available by the menubar.
1155
Those methods that should not be available at a current stage of the application process should be
1156
disabled. 
1157
</para>
1158
<para>
1159
Further, an application can only contain one menubar, but several toolbars. 
1160
Toolbars on the other hand should contain only the most frequently used commands by pixmap 
1161
icons or provide quick access methods like combos to select values.
1162
</para>
1163
</sect1>
1164
<sect1 id="c5s2">
1165
<title>How does it work?</title>
1166
<para>
1167
Our application inherits the <classname>TDEMainWindow</classname> class, which automatically handles creating
1168
a menu bar and tool bars for us.  In the <methodname>KScribble::setupActions()</methodname> method there is
1169
a call to <methodname>TDEMainWindow::createGUI()</methodname>.  This method loads a resource file, in this
1170
case kscribbleui.rc, to initialize menus at startup.  Note that kscribbleui.rc is listed as one of the
1171
project files in the Automake Manager.  Opening that file up reveals this:
1172
<programlisting>
1173
1 &lt;!DOCTYPE kpartgui SYSTEM "kpartgui.dtd">
1174
2 &lt;kpartgui name="kscribble" version="1">
1175
3 &lt;MenuBar>
1176
4   &lt;Menu name="custom">&lt;text>C&amp;ustom&lt;/text>
1177
5     &lt;Action name="custom_action" />
1178
6   &lt;/Menu>
1179
7 &lt;/MenuBar>
1180
8 &lt;/kpartgui>
1181
</programlisting>
1182
</para>
1183
<para>
1184
Explanation...
1185
</para>
1186
<para>
1187
Another way to modify the contents of the menu and tool bars is to directly manipulate them through the
1188
methods provided by their class.  For example, the <methodname>menuBar()</methodname> method returns the
1189
<classname>KMenuBar</classname> widget that the menubar for our program.  Looking at the documentation for
1190
<classname>KMenuBar</classname> and its inheritor class <classname>QMenuBar</classname>, you will find
1191
a large number of <methodname>insertItem()</methodname> methods which allow you to add items to the
1192
menu bar.
1193
</para>
1194
<para>
1195
<classname>TDEMainWindow</classname>'s methods <methodname>statusBar()</methodname> and <methodname>
1196
toolBar()</methodname> will also provide you with applicable widgets.
1197
</para>
1198
</sect1>
1199
<sect1 id="c5s3">
1200
<title>Keyboard Accelerator Configuration</title>
1201
<para>
1202
A very professional thing you should always add to your application are keyboard accelerators.
1203
Those are mainly used by experienced users that want to work fast with their applications and 
1204
are willing to learn shortcuts. For this, the KDE libraries provide the class <classname>
1205
TDEAction</classname>, which provides the keyboard accelerator keys and access to global configured
1206
standard keyboard accelerators. 
1207
</para>
1208
<para>
1209
By default, frame applications generated by &tdevelop; only use standard keyboard accelerators
1210
such as F1 for accessing online-help, Ctrl+N for New File etc.
1211
</para>
1212
<para>
1213
If your application contains a lot of accelerators, you should make them configurable
1214
by an Options-menu; either it could be combined with other application configuration in a QWidget
1215
or stand alone. The KDE library already provides a <classname>KKeyChooser</classname>
1216
for use in tab dialogs, whereas <classname>KKeyDialog</classname> provides a ready-to use 
1217
key-configuration dialog. 
1218
</para>
1219
1220
</sect1>
1221
</chapter>
1222
1223
<!-- 
1224
<chapter id="chapter6">
1225
<title>Other Features</title>
1226
</chapter>
1227
1228
<chapter id="chapter7">
1229
<title>Printing Support</title>
1230
</chapter>
1231
-->
1232
<chapter id="chapter8">
1233
<title>Help Functions</title>
1234
<sect1 id="c8s1">
1235
<title>Introduction</title>
1236
<para>
1237
A very important part of the development process is to provide help functionality to the user
1238
wherever possible. Most developers tend to delay this, but you should remember that a normal user
1239
isn't necessarily a Unix expert. He may come from the the dark side of computer software usage offering
1240
all sweets that a user may need to work himself into using an application even without ever touching the
1241
manuals. Therefore, the KDE and Qt library provide all means usually considered making an application
1242
professional in the eyes of the normal user by help functions that are ready to use. 
1243
Within the application, those are:</para>
1244
<itemizedlist>
1245
<listitem><para>Tool-Tips</para></listitem>
1246
<listitem><para>Statusbar help</para></listitem>
1247
<listitem><para>What's this...? buttons</para></listitem>
1248
</itemizedlist>
1249
<para>
1250
Additionally, the application should provide means to access a HTML-based online manual directly
1251
using the standard help key F1.  This context based help system is provided automatically through the
1252
<classname>TDEMainWindow</classname> class, though as the author you must provide the content.
1253
</para>
1254
<para>
1255
As &tdevelop; also offers all types of help as well as the KDE framework generated by the 
1256
application wizard already contains support for this, this chapter will help you find out where 
1257
and how to add your help functionality. </para>
1258
<para>
1259
During the development of your application you should try to be consistent whatever you're doing;
1260
therefore you should do the necessary steps directly while extending the code. This will prevent you
1261
from diving into the code again and figuring out what your application does or what you intended by 
1262
certain parts of the code. 
1263
</para>
1264
</sect1>
1265
1266
<sect1 id="c8s2">
1267
<title>Tool-Tips</title>
1268
<para>
1269
A very easy means of providing help are tool-tips. Those are small help messages popping up while
1270
the user moves the mouse over a widget that provides a tool-tip and disappears when the mouse moves away.
1271
The most popular usage of tool-tips is made in toolbars where your tool-tips should be kept as small
1272
as possible because toolbars can be configured to display their contents in various ways: 
1273
either displaying the button, button with text on the right, button with text below, text only. 
1274
This possibility should be made configurable by the user, but isn't a must-be. The text is shown
1275
as a tool-tip anyway and a toolbar usually consists of buttons and other widgets like lineedits and 
1276
combo boxes. For a complete reference, see the <classname>TDEToolBar</classname> class reference located 
1277
in the tdeui library. 
1278
</para>
1279
<para>
1280
As an example, we have a look at the "New File" button in a generic application:
1281
</para>
1282
<para>
1283
There, the part i18n("New File") provides a tool-tip message. It is enclosed by the i18n()
1284
macro provided by kapp.h to translate the tool-tip towards the currently selected language. 
1285
</para>
1286
<para>
1287
Tool-tips can also be added to any custom widget by using the <classname>QToolTip</classname> 
1288
provided by Qt. An example of that would be:
1289
</para>
1290
</sect1>
1291
<sect1 id="c8s3">
1292
<title>Extending the Statusbar</title>
1293
<para>
1294
As the applications that inherit <classname>TDEMainWindow</classname> contain a statusbar as well, 
1295
it also offers a set of statusbar messages already for all menu and toolbar items. A statusbar 
1296
help message is a short message that extends the meaning of a tool-tip or can be seen as a replacement 
1297
for a tool-tip over menubar items and is (as the name suggests) displayed in the statusbar when the user 
1298
enters a menu and highlights the menu entry.
1299
</para>
1300
</sect1>
1301
<sect1 id="c8s4">
1302
<title>The <guibutton>What's This...?</guibutton> Button</title>
1303
<para>
1304
The <guibutton>What's This...?</guibutton> button provides help windows with the intention 
1305
that the user wants to get help about a certain widget within the working view or a toolbar item. 
1306
It is placed in the toolbar and gets activated once the user hits the button. The cursor changes 
1307
to an arrow cursor with a question mark like the button itself looks like. The the user can press on 
1308
a visible widget item and gets a help window. As an exercise, you could try this behavior with the 
1309
<guibutton>What's this...?</guibutton> button within &tdevelop;. 
1310
</para>
1311
<para>
1312
To add the What's This...? help to one of your widgets, use the static method 
1313
<methodname>QWhatsThis::add(QWidget *widget, const QString &amp;text)</methodname> 
1314
</para>
1315
</sect1>
1316
</chapter>
1317
1318
<chapter id="chapter9">
1319
<title>Documentation</title>
1320
<sect1 id="c9s1">
1321
<title>Introduction</title>
1322
<para>
1323
Due to the fact that projects often lack a complete set of user documentation, 
1324
all &tdevelop; projects contain a pre-build handbook that can be easily adapted; 
1325
therefore fulfiling another goal of KDE: providing enough online-help to support users that 
1326
are not familiar with an application. This chapter therefore introduces you on how to extend 
1327
the provided documentation template and what you have to do to make it available to the user. 
1328
</para>
1329
</sect1>
1330
<sect1 id="c9s2">
1331
<title>User Documentation</title>
1332
<para>
1333
The documentation for your project lies in projectdir/doc/en, or perhaps another directory if English
1334
isn't your native language.  Therein lies a file, index.docbook, in which the documentation is stored.
1335
The format for editing this file is explained on 
1336
<ulink url="http://i18n.kde.org/doc/markup/">KDE's documentation website</ulink>.
1337
</para>
1338
</sect1>
1339
<sect1 id="c9s3">
1340
<title>Programmer Documentation</title>
1341
<para>
1342
Another important part of the documentation is including a descriptive help for your class interfaces. 
1343
This will allow you and other programmers to use your classes by reading the HTML class documentation 
1344
that can be created with KDoc. &tdevelop; supports the use of KDoc completely by creating the 
1345
KDE-library documentation, also your application frameworks are already documented. To work yourself 
1346
into the provided code, it would be a good start to read the included documentation online. 
1347
The following describes what to do to get the API documentation, where &tdevelop; helps you add it 
1348
and what kind of special tags KDoc provides.
1349
</para>
1350
</sect1>
1351
</chapter>
1352
1353
<chapter id="chapter10">
1354
<title>Internationalization</title>
1355
<sect1 id="c10s1">
1356
<title>Introdction</title>
1357
<para>
1358
i18n is an internationalization system that is used to offer internationalized versions of an 
1359
application or project. The difficulty with writing applications is that they only support the 
1360
language they originally are composed with; visually this can be seen on labels, menu entries and the 
1361
like. The goal of the internationalization is to provide applications and library functions in the 
1362
language of the user; therefore enabling users that are not native speakers the original language to make 
1363
use of the provided functionality and feel more comfortable.
1364
</para>
1365
</sect1>
1366
<!-- 
1367
<sect1 id="c10s2">
1368
<title>How KDE support Internationalization</title>
1369
<para>
1370
</para>
1371
</sect1> -->
1372
</chapter>
1373
<!-- 
1374
<chapter id="chapter11">
1375
<title>Finding Errors</title>
1376
</chapter>
1377
1378
<chapter id="chapter12">
1379
<title>Licensing</title>
1380
</chapter>
1381
1382
<chapter id="chapter13">
1383
<title>References</title>
1384
</chapter>
1385
-->
1386
<chapter id="credits">
1387
<title>Credits</title>
1388
1389
<para>
1390
(... to be written ...)
1391
</para>
1392
1393
<!--CREDITS_FOR_TRANSLATORS-->
1394
1395
</chapter> <!-- credits -->
1396
1397
<appendix id="bibliography">
1398
<title>Bibliography</title>
1399
<bibliography>
1400
1401
<biblioentry>
1402
<title><ulink url="info://make/Top">GNU Make Manual</ulink></title>
1403
<authorgroup>
1404
<author><firstname>Richard M.</firstname><surname>Stallman</surname></author>
1405
<author><firstname>Roland</firstname><surname>McGrath</surname></author>
1406
</authorgroup>
1407
</biblioentry>
1408
1409
<biblioentry>
1410
<title><ulink url="info://automake/Top">GNU Automake</ulink></title>
1411
<authorgroup>
1412
<author><firstname>David</firstname><surname>MacKenzie</surname></author>
1413
<author><firstname>Tom</firstname><surname>Tromey</surname></author>
1414
</authorgroup>
1415
</biblioentry>
1416
1417
<biblioentry>
1418
<title><ulink url="info://autoconf/Top">GNU Autoconf</ulink></title>
1419
<authorgroup>
1420
<author><firstname>David</firstname><surname>MacKenzie</surname></author>
1421
<author><firstname>Ben</firstname><surname>Elliston</surname></author>
1422
</authorgroup>
1423
</biblioentry>
1424
1425
<biblioentry>
1426
<title><ulink url="info://gcc/Top">Using the GNU Compiler Collection</ulink></title>
1427
<author><firstname>Richard M.</firstname><surname>Stallman</surname></author>
1428
</biblioentry>
1429
1430
<biblioentry>
1431
<title><ulink url="info://libtool/Top">GNU Libtool</ulink></title>
1432
<authorgroup>
1433
<author><firstname>Gordon</firstname><surname>Matzigkeit</surname></author>
1434
<author><firstname>Alexandre</firstname><surname>Oliva</surname></author>
1435
<author><firstname>Thomas</firstname><surname>Tanner</surname></author>
1436
<author><firstname>Gary V.</firstname><surname>Vaughan</surname></author>
1437
</authorgroup>
1438
</biblioentry>
1439
1440
<biblioentry>
1441
<title>GNU Autoconf, Automake, and Libtool</title>
1442
<edition>1st edition</edition>
1443
<pubdate>October 2000</pubdate>
1444
<authorgroup>
1445
<author><firstname>Gary V.</firstname><surname>Vaughan</surname></author>
1446
<author><firstname>Ben</firstname><surname>Elliston</surname></author>
1447
<author><firstname>Tom</firstname><surname>Tromey</surname></author>
1448
<author><firstname>Ian Lance</firstname><surname>Taylor</surname></author>
1449
</authorgroup>
1450
<publisher><publishername>New Riders Publishing</publishername></publisher>
1451
<isbn>ISBN 1578701902</isbn>
1452
</biblioentry>
1453
1454
1455
<biblioentry>
1456
<title>Advanced Programming in the UNIX(R) Environment</title>
1457
<edition>1st edition</edition>
1458
<pubdate>June 1992</pubdate>
1459
<author><firstname>W. Richard</firstname><surname>Stevens</surname></author>
1460
<publisher><publishername>Addison-Wesley Pub Co</publishername></publisher>
1461
<isbn>ISBN 0201563177</isbn>
1462
</biblioentry>
1463
1464
<biblioentry>
1465
<title>Thinking in C++, Volume 1: Introduction to Standard C++</title>
1466
<edition>2nd Edition</edition>
1467
<pubdate>April 15, 2000</pubdate>
1468
<author><firstname>Bruce</firstname><surname>Eckel</surname></author>
1469
<publisher><publishername>Prentice Hall</publishername></publisher>
1470
<isbn>ISBN 0139798099</isbn>
1471
</biblioentry>
1472
1473
<biblioentry>
1474
<title>Open Source Development with CVS</title>
1475
<edition>2nd Edition</edition>
1476
<pubdate>October 12, 2001</pubdate>
1477
<authorgroup>
1478
<author><firstname>Karl</firstname><surname>Fogel</surname></author>
1479
<author><firstname>Moshe</firstname><surname>Bar</surname></author>
1480
</authorgroup>
1481
<publisher><publishername>The Coriolis Group</publishername></publisher>
1482
<isbn>ISBN 158880173X</isbn>
1483
</biblioentry>
1484
1485
<biblioentry>
1486
<title>Programming PHP</title>
1487
<edition>1st edition</edition>
1488
<pubdate>March 2002</pubdate>
1489
<authorgroup>
1490
<author><firstname>Rasmus</firstname><surname>Lerdorf</surname></author>
1491
<author><firstname>Kevin</firstname><surname>Tatroe</surname></author>
1492
</authorgroup>
1493
<publisher><publishername>O'Reilly &amp; Associates</publishername></publisher>
1494
<isbn>ISBN 1565926102</isbn>
1495
</biblioentry>
1496
1497
<biblioentry>
1498
<title>Programming Python</title>
1499
<edition>2nd Edition</edition>
1500
<pubdate>March 2001</pubdate>
1501
<author><firstname>Mark</firstname><surname>Lutz</surname></author>
1502
<publisher><publishername>O'Reilly &amp; Associates</publishername></publisher>
1503
<isbn>ISBN 0596000855</isbn>
1504
</biblioentry>
1505
1506
<biblioentry>
1507
<title>Gui Programming With Python : Using the Qt Toolkit</title>
1508
<edition>Bk&amp;Cd-r edition</edition>
1509
<pubdate>January 2002</pubdate>
1510
<author><firstname>Boudewijn</firstname><surname>Rempt</surname></author>
1511
<publisher><publishername>Opendocs Llc</publishername></publisher>
1512
<isbn>ISBN 0970033044</isbn>
1513
</biblioentry>
1514
1515
<biblioentry>
1516
<title>Programming Perl</title>
1517
<subtitle>The Camel book</subtitle>
1518
<edition>3rd Edition</edition>
1519
<pubdate>July 2000</pubdate>
1520
<authorgroup>
1521
<author><firstname>Larry</firstname><surname>Wall</surname></author>
1522
<author><firstname>Tom</firstname><surname>Christiansen</surname></author>
1523
<author><firstname>Jon</firstname><surname>Orwant</surname></author>
1524
</authorgroup>
1525
<publisher><publishername>O'Reilly &amp; Associates</publishername></publisher>
1526
<isbn>ISBN 0596000278</isbn>
1527
</biblioentry>
1528
1529
<biblioentry>
1530
<title>Learning Perl</title>
1531
<subtitle>The Lama book</subtitle>
1532
<edition>3rd Edition</edition>
1533
<pubdate>July 15, 2001</pubdate>
1534
<authorgroup>
1535
<author><firstname>Randal L.</firstname><surname>Schwartz</surname></author>
1536
<author><firstname>Tom</firstname><surname>Phoenix</surname></author>
1537
</authorgroup>
1538
<publisher><publishername>O'Reilly &amp; Associates</publishername></publisher>
1539
<isbn>ISBN 0596001320</isbn>
1540
</biblioentry>
1541
1542
</bibliography>
1543
1544
&underFDL;
1545
1546
1547
</appendix>
1548
1549
</book>
(-)tdevelop/doc/tde_app_devel/kscribblefiles.png (+69 lines)
Line 0 Link Here
1
‰PNG
2
3
IHDRï”R€âXgAMA±üabKGDÿÿÿ ½§“	pHYsÒÝ~ütIMEÒÖ¼îh IDATxœíy\TÕûǟ;w–÷Ü*@Å%3·RÃ
K³Ô\’Ô\ëë·ÒM-͖oßJË
4
L3—~ùµRÃÜ
5
\@”EAÜEEf˜íÞ{~\ǹ÷îÌpÏûå‹.ϜóœçÜ9Μ9ŸûsfNÆ+PÀœ/×uŒP²ÿy,êéZ»˜;kŠ‹‚Á`$¡Sˆ „“kÖm´]gg—ð–ÉÈȟ>ýٚĆÁÔQ£ÙùPæÌ^X,ˆ¢½¾J¡P@BÂ< 1îC!¦AµóN’I*Hòn+½z…%$쩝«ZðL‡!k#DæÍÍw_H^Õ3yUOöW‚v4gdä?ž¶¨õW«H¥&àñ>#øûbµž'0ˆ©QyL}Gp¥±k{‚ÐK#ÇNz)yUÏþ¿K(ý’Wõì÷v(
6
&&扊
7
ƒNg8}ú[¸ÒPe0SjZ—¾ëÌ1UGÎ/ˆr떤‚ÍÕ÷è>ϨIqLýgÎÌÉy'ö#;çyísfNf/’VF£›;ÐÕ-)ÿB¦CHÿwÒÊhŠB:¹¼ÜPPp53³(#£0>>‘-6'—Nzl¥í×yí	BѰUØòÝl…m•±Ç¾¤Ê·ÓÆ7Ÿkâ§Ò6ëüá¾Ë¼…+Îm‹nÓ aÈ<„bÌW}øö¼i]Úvžýù_¼÷#CD­4Đ¼ªgÿW£ÒB¯_Ûõñ™ß¾ñkÞùÈ'=	hY­´RI*•ü
Zô]ZQôµíׯJ*†>úuŸUSæØÆ¥mt
8
•qñ¶k«±0ëÑÙÅwG¾°râBÞ~OÔì-¸~úŸUþÁ€Ë/Ìýø«õiY›¯¤•Öæv`êQ{b!(¸UØ-º´•üG^o4›)F…’¦ùײ¤º%C•;¹Út»¥ó6Ŕ€ÿ¼2ºÄ~b|¡o§gŽj¤V4j«€·¾:ùó» iÔã·m=ªuŽ‘	Ռf‡ÝۄÇî@;îCÓzðñ…KÙ
9
óm¸™*ð„@¥"€aÐöˆ¹â°ZÅ^ˎ¾5ge™º	}-1ÞòbÊðt‡l€ïK¨ïÿ™:ª3·P»ì¯ÆcT3š‘Àn†íïþVÓM`,ÔÒ_€¨ý@©$†Šb
10
þÑ|fý’&ݰ×qQÃú'–ÎèTYºöÁsí‹Q”D5e¤î§Ê1X#ýU®u‹q7.Œ7ÀtèJPkA£?h´@„B¡ ‚$‡²‰BTUùK½wî?›F°ÆÃ7M
‹U_úÞĤэ}m…#üUk³®;/ã>Øñõï³ã±+]ëã>\6šû/NKޑ¦[`ºqw(«´É[ÿŒ|-™-@@„ÃJÃW¥Ð6}gKѺ#¹/´òg‰ßÎ}«_û&Æ†}µnÎð[á-ŸM^Ö»uƒGú:)ã­9<èÔû1c'Lóì­½\ëã>ˆ93'ϙñ2÷ԑøýæ¹³¦ØÎi$¯êÙÿ)4‘"ðÐÞôns#„†¡(†¦i†AÅìß¿q‚ëf'_‘8¡ÿâ´äUÑg jî†aBÃ.²k$#
11
ל¡³§a̯ááÁF£ÅV‘­Jx@c܋ëÏÐedägdä×6¦ö¸fn®éý¹éÛjTƒƒæfû£úLâúusíꦦæñÚ33Ï̙ó\íšÆ<l¸E{R»ºÑÑ¡4ÍPm±X)ŠÑë
12
…àѵkwàƒ{µ'5­{<«0-û܉ÓE™¹ç³óKXctôãk×îpaHØ$*¼>ÅÅ7„q2š› W×N4ÍX­Ã0UUfŠb23ϰ/¹o†ö˜Dka܍\ÖÍ,ÇN0¢iša‹™Šm7thoÎ ÓUåæÕ.€j‘(Q1ßÊÛµït˨¡}Cºµ!Lµ¸^(¥n¯®zuíÔ«kç^];÷èґ$	ƒÁh4š¹Ç•ì`¶¾óÒ[ëS s݂MµJ6|À÷š·üôñG‹æ¿Ù.tÎöAº¢_z¶mبÃ|öWûeùó'ÆzbÌÂ+ƹ‘ÅxýÏèðñ¿îÜö\×¶«ÒÊX£½CÛ5÷ŒŠ}û¸1cÄ"¤¤²ì$O5Edݔ”\‹Åš”šó÷ÑÓgïO>¹{_úŽÝ©ë7íýacbJJîš5ÿãºeèªuï¾ñ[îmÖØRMî)¸i_,mIŸ•EwB¦òôØñß±7~õ[¹Ñt±Tï!TRBèЊ>'ïqnd/~ì×fK‰!t!qjƒ÷¸]ºvè‹}Hܘ1"5š=@JJ®ÙlÑë:]Uy¹®¬ìιs—óòJO:Ÿ]”™YÈÍ´åúŠ™ËKM”ÍøJpàäÿþ¦£›e@CŸKfÚ¡âeŽÅáÂR™¦ÖFŠ1vkÿ*{A[®“êæ¯:¹v7fŒHܾ§aïûӊbŽ,8žUpìdaʉü̜ó9gKs
13
Js
14
.(•$×g\¿§NçoL,¨°Y¾Éü»ÑáOZµéñuÒUÖ«"y¤:]‰Ê?ÒZå¸ÿÍkÌ)‰g—¤º9bŒÎÝ:+_\‚Û÷4ì=p:л[g‹Åj4ZØC¤ÃÐ4CÓoáþkL
15
×džÅö8y G€4ºÿw{ʤO:Ž5O—µU‘PÆ"µÖQÈkìÛ@³éº¾µšC‰ž5*	‚@M@m61°ò¥ÖxhnƒBA¤fžM=q63ç|fîù“¹ÅYy%YyŧÎó–ŸÒ½	©	Þ¼oքoTÒ÷‡{`»pÆzW0[S	ëçBâ’öãV81vöU}—}>™ùêºt MÅϚȾ:´‘Ï;‰g(ӝí+c…r²÷Œ•/µÆCs³HzDt0›­s÷€?BìnRz@`Ȅ]ö=1sóéøI
z|UJ!´»æöÕAk§¼:!flPCë•ÆßwÞz`ðK³'O'˜ÛWéNÿlèĸmõ”˜~mfêLÑËþ:çù辆µö'öÕu›ßyzjô×mÌô»jzj3ÆAíɅ$ì7‹$55¯K—CÇr™{áÄÐb1(âÑàƒÓñ÷ÛçÈhnFE…‡ ¬b…¦†AE³×SߑѺ™²¬öDNщÓçÙ_1‘ÈenÎÌ<c;’aãJÉw·‹ñ&Ü~NC$xMŒ‘ŽÛÏi`0Ãõs3Î{‚©+pތ÷àUyO¤ì½¸I‚õ&ž¤.óžpŸg¶yq“0¤nkšÞc£.óž8G¼¦1U'Ó²´!Qµ«Îâ&aH-ÜÖ4½æ>ÒóžØ’÷ÄÁRumwD‹ð^Œmæ°òøu[n®ÊX46ò±7?Y»|æPçÕÁ!¹ÉƒíÚêV›$…·e<ÿZÌÓ'OzfðË'+-"ݞøv~HRíÖ©}ûŠñ¸l4'­ŒF7~FePÙýÁ‰WÉß46-abÒÊèÊJóúÜÜK§N•de‹Í¼š¹;â|d¯¼³©!„³óêÀQð6
o$¨´X²¶Ïðkú"oIn]/v»£!t%)®mÌÿ‰tËËðތH\:šon@gÞAy‹tÆ¢¼E(ïM”ûFÒÊè«WÜ<wîzaáµ3g®Øf.ìK¼šŒõ¡P³×}5Yúûs¡“êÀQ<p#8
16
†ºC(|œ”´/ÐU«Î3XB”±Hå!Ò-W,ƒðh–@5Ÿ‰±·÷C›÷¤üÜݼ'€6Á½¼'J%I’¤ƒŠÄ!›WÓa,;:oÜðñ§Œú¤-×IF¥åq?ǃíB’jU'ô]8I
17
·@n•µ“¯HM[ÊxVd-®X#…jÞ]¡Ñ†óž!¨¥¿ŸÅ!ï	I*T*’$¼š(.}h.šï
18
þt…—Yc\Ô°ˆ÷7ý²yãëï§Tëì§Ì©²Š©îVÂüT%f
19
(c¾ÒWì¦+–ÉÝ2þߣFÙÛ)üÝk­¨ã¼'Bðj:xs,ÜjÑÏgÑΫ»•%ƒYu¬.îYúÈ ¥5ªk/–Ó»`j„Ëòö_œ–¼ªgÿam€6;ä=¡¨ûG=Eî(ój:¿;¼_ûÚG?Ýy`ėýYã證;cÆÝß-¤‘óêne䖝ŒžúòM/^n¸s´ÈZ\±lùlòS½[/iܳâÊQ÷뵸 ï‰=8ï	¦ÁyO0ÞÎ{‚ñpތ÷àú¹¯‰1u֞`¼¹<¿ç=ÁHGFÏÖÇyO0©¯yO¤píÐç5ӏç¾T‡rŒtd47ƒ§òžL}oЏY_jçoù —u3‹Ëóžp(”ñÌÞÛ&ãÈPüˆdæ=!bnܬÉãGö<õ”Áj3Ú'áMJ¢ò{|IÁ#_½6¼©VÓ88:!»œ·F¶ÈhnFÏ*d„†a³™²X¨;·u4C‡uâY,[÷Mc¥âܶç=·ýÂޗXã½×
eü2îµÅÇr_jpqÏ´ˆ—¾^\´‚mÅyH…]œÿrGÎæ¸!Ãߙ~i]múŒ©#D=ñÖ¤¦æuïÞÉjeO&QÅèt‹…²=#4%å”ýºÙ6")ã¿&Ï[¹¬ñ²™¶É
20
™‘yþ{`¬ejmÊ|Í¡.ÛKˆ1ª¦]åÎNc\Œ‡æf¡Ÿö%Ù¼'!«•¶X,3Q4D„
21
~bSút Œ…¶_íÕ%9%ññ{­PÖ,l…¿”<&˜:ÁC{B?¨QÞkU®Ê?œ÷%Þ¤$/FFëf…‚8’~ÆÂfŠ@M!„MÓ1¡ÁÜòV*În^ÔfÄ
22
î«pO²g~oÚTüü ×ÿ:ÿo±g:Ù_´Ot‡0òE^ûÍ5Ê{2{Ö,Ó틅úý;†ñzó¼S·Èhn¦i&õÄY¡¼'Üò?|ç¸áàØÂ÷õo_çTt(f?1s•¼˜z„Œæf„óž`¤!£s8ï	F"r™›kš÷/0\ä²nÆg>1ґ×9
F
23
r™›±ö#¹¬›kO0’‘ÑžÔD{âB‘ˆ-5	¯OñFñ
Id„ÑܞҞ8ঌ'uØÐC‹\ÖÍ,.מˆAbÆñ	VìªiZŒäµ§!^{b³õ—ÞZŸ™ëthªUj´á>¸×¼å§?Z4ÿ•Èv¡sþ³8ú‡Ç–.œ;bì 'Æ,¼baœYxå-#›øýq˦[ø5ÉíâÖÙÄoeÞm`,W‚àVwdøÊáðrç¤×MIɵX¬I©9=}ðpöþ䓻÷¥ï؝º~ÓÞ6&¦¤ä®Yó?®[†®Z÷î¿åÞfÜ4"iKú¬,ºƒ2•§ÇŽÿñe?±E•ƒ:´¢OçÉ{œÙÞ+I“:õý.!”¿®o§—“¹·‚[+iR§ °wBƛ¿ou{?s×íՙM)ë'i[Ís{Df’’k6[ôz£NWU^®++»sîÜå¼¼ÒS§ÎggefrG3m¹¾bæòRe3rӈhèséÁ\'ÀÉ~b?šÙKešZ)ÆÈ›`åV–#„–wh8?÷·!n­[¹óà£ÜòŠâwŸ\þ$ou®†Ö
24
_n‡QJ*hORSó"#;¤fžEړC‡N:(©¦õ
25
5h¨kÒfE±Fóío¿:o}Šù£-»ç
h	jRa¤’oï,
26
¥–¡-ÕÕ
27
…õž7…2¶VC•7×¶=zíDT‹'/è¯)
qk1Ty3¿f¨ó¢ü…·C–G5‹:y#Ó¡:o¤¼5ÞG=֞ô_{dR¸>6,¶ÇÉ=Ôp/È¤O:Ž5O—á~ªƒ5Òß1͏s(c‘ZÛCŒ‘WÞ¢P-éà·&ΧãRîXä­¥P-íÔp~îG+RþïëکTÇ!£ýf…‚HÍ<›zâlfÎùÌÜó's‹³òJ²òŠO)æ-?¥{R¼y߬	Þ¨¤ïwû4"ŸNìøú÷YŒñƒØ•ÕÆÀú¹¸¤ý¸NŒ}Ußeßá+Ï.?üþ‘ˆEü2ÞZÏ.€“š÷f˜Cuœ¯[òÚo®‘ö„%0d®ûž˜¹ùtü$n‘Ak§¼:!flPCë•ÆßwÞz`ðK³'O'˜ÛWéNÿlèĸmõ”˜~mfêLBò–Ö1ÿHþwLkކxk±UÞ|>‚Ǿ	³Ž
28
UÇá¡usµÅRSóºt	9t,WH{rð`:þ~ãÍÍkO0ҐѺkO0‘ËÜ\Sí	ÃE.ç4ðš#yÓÀ`¤ —¹kO0ґ˺°ö#íi€—jO°TÄcÈhnoמ`܍\ÖÍ,Þ­=Á¸yíix‡ö„–Šx¬=±E.Ҟpx¬=q½öÄ[a,q7nßÓ°÷Àýi›÷äxVÁ±“…)'ò3sÎçœ-Í)(Í)¸ T’\Ÿqýž:¿1± Âfù&óïF‡?iÕ¦Ç×IWYËQ¹'1à#Õ¥
29
TùGZ«÷¿y9%ñìZ…T7¯6O
30
Î¥ânܾ§aïûÓïО`ê
31
ÍÍbð&í	–ŠÔ	š›Eâ5ÚLàví‰H°ö#ÍÍkO0ҐѺkO0‘Ë܌µ'é¸ýœ†Hðš#·ŸÓÀ`<†ëçæìì^{FFþôéϊt‚ÁÔ·¬›##ƒÙ‹Q£×W)
32
HH؃4Æ}¸wOƒ$	’TäÝVzõ
33
KHØS;Wµ@ürÕvÐy)¯b\ˆë×Íw_H^Õ3yUOöW‚v4gdä?ž¶¨õW«H¥&àñ>#øûbµž'`QÉÇàJc×ö¡—FŽ.ôRòªžý~	–*Pú%¯êÙïí4P(LL̝Îpúô9¶p¥¡Ê`¦Ô´.}ÿ֙c"ªŽœ_pïI̼lI*Ø\}î#QTˆ©:™–¥
‰²7b±‰|:ß¼ó×xÞ#¤Bv„PÒÊhtsºº¥"å_ÈtéÿNZMQH§3——
34
35
®ffedÆÇ'²åÁî ÿ¥ƒÓ‚[iûu^»@‚P4l¶|÷[aBeì±/©òí´ñÍçšø©´Í:¸ï2oá{—ô–Å/¾™p!D‹ÆF>öæ'k—Ïj+PumwD‹ð^Œmæ°òøu‡ê¼
ñ:Ǹ—æ¤•ÑèÆÏ¨l*Û ?8ñê¯1ù›Æ¦%LLZ]Yi¾qCŸ›{éÔ©’¬¬bÞÑL™JHuKŸ¹;â|¼+ŸŒÅ¡Ì}³;†ÿFJ‹%kû¿¦/
36
•tP²x%4fS!B1fp*6qÞ¯sŒ;µ§!‚‚[À0ŒÉÐ"¬K QÉèõF³™ÒhT)…N\ê–娙{läjÓí–ÎÛSþóÊ`èû‰ñ…¼kÙÊyßMþòÓ¶š»Ê€÷·—|ûU;Bm+öÕ¥a™í ÕÓ«õ—º¬pðÃÛ×9ÆT3š>£Óm8îCÓzðñ…KÙ
37
óm¸™*ð„@¥"€aÐ|sÅaµöîòÔXvô­9+ËÔMèk鈱ð–S†§;dĘx_Šë÷”AC%̱eQɨ´<îçxÌ?§$ž ~`¯Ê@‘
qcÜA5{3¹½¸{¦›À!¨¥¿Ÿ€¨ý@©$IR¡R‘$©àÕDÀ™õKšt_À^ÇE
‹xÓ/›7þ¸~ŽC1ê^ƒNÊԎþklÙwàÏ1±•wÿßèì§Ì©²:ëÛ@sÑ|W‰¨+¼\kçwàÒ$1Æ`ºt%¨µ Ñ‚Æ4Z B¡PÁ}€‰BTUùK½wî?›F°ÆÃ7M
‹U_úÞĤэ}m…#üUk³®;/Sk¸J–eƒ[-úù, ú¾ôWlb“¢ˆwŽq.Íý§%ïHÓ-0ݸ;”UÚä­F¾–Ì`z:¬4|U
38
móÐw¶­;’ûB+֘øíÜ·úµoòhlØWëæ±ÞòÙäe½[7x¤¯“2	™°ká‰™›`ôÖÄ[';eö¬·l¢—ý34ytßþƒN²ökÖ¸mõ”úµ©‘sŒ;ԞÔ~¿ù)4‘"ðÐÞôns#tWÅj¢(ŠÙ¿ÿ8þ~ã?:²Nè¿8-yU4ÀYˆš{„U‘0»È®uŒ(\†®a̯ááÁFãýœ§lU‚Àã^\†.##?##¿¶ñ`0µÇõs3^cê
39
¬=Áxry~3Î{‚‘ŽŒž­óž`$‚óž¸=ŠX·R#d47Î{"š‰C7ÿs¶®£rY7³xkޗkXj*ÃyHÀyOܞ÷„6!ªÇ¶ÃY¿,‰u^‘'~¾nÚçÎ^ЦâÙߙ4åå!OOÎÒß=ôGÄܸY“Ǐì9xê)ƒãI@¯ç=;åˆ;òžˆ×°pãçí&zð®îz±ÃØÅ¡+IqmcþÏVকFnÓfÈÞÀ¼œ÷ÄíyOúj²ô1¹ñóv=8š»jÕy+Bˆ2©ü#
40
X«òU~óæ}à¼'<¸6†Å±"7~Þn:[eíä«RӖ2:~4Tút Œ…‚]õ2ä37&½ÞX^®»|ùæÅ‹eÅÅ׊Š®\ÊÏ¿—Wʝ›7dÜ LÅ#:ôKיí_ºðÏju@öº›Vm›mšÎÜl5äiûˆ1hèc“¢è‹+y»æ¯ÊäÌÍN*ÚÇ/ÔM°Þ›Á»jՅF+BÈj8ŝ›-ú“jm7ÞÀ¼=¿Ù[óžˆ×°pãꦽgÉàGV+€‹{–>2h©­¢œÝ¼¨ÍG)®·"—ç7³xeޓÑ[wƌº¿[H#›‘·"7~ÞnÀ–Ï&?Õ»õ’Æ=+®¹e磧¾ücӋ—$îm«2{Ö,Ó틅úý;†9ï¸×€óžx'xËdˆŒæf„óž`¤!£u3Î{‚‘ˆ\æfœ÷ĵ<„ËÀyO0Þ֞`¼WÎÍ8ã	¦nqñºg<q5Œ‹Ÿ®Vo9[E…úU3\ݵ§!&ãI=Տ9ŸfE,È2¡S½y¦¨ô,3Î=ô}b!]gw­›7lØã$ã‰Ë‘ƒ~¤v18IæR~fq"ó*{èïÛuԋ“ƏyvÂÂS•r<¯,ý-pîašnãÜÔëÎ=¸8ï	‹mÔ
41
e<q9ЏÔ(ñ¨HÎ~¹'rÙNöº²Ê”µsœÙ:᩟•X\ë8݄ô,3Î=ÌX9à­#ß~ޙæ=ÉÊ*¶]ÇÇ':ÉxÂ|	AN|;?¤‰?©öë¿ôÞwÜæ«>|{Þ´.m;Ïþü/¶bŹmÑm4™gû»aóù¯9ó&ŒØ'ö_¶sÌBFö‚7•	?|‘ؼ9w(”Å·µåÁ
>¿Té-m¹¡ lFûû@Ï¿óôÄɓžüòÉÊ»§öLåiqÏvÐ(ýµzö¥±Ó>ÛÏ­ˆø’È(}Ú'',lßÈ·Y‡~¿_Ò_?ºæ±fþ
[G|r€?qŒ-B1Yfxßç*/}î×t¼Àsϳ;Fs||"ûO(㉭¨žèGœDâÐ!‡ {…w³ô
42
Ԝ2XŠQ¦JŸ¶6£ý}ࡼýXФVÓ¡^hÇ[ц}˜øù®JsUÖØñûñ*«éئé¾A1¼ÑÚ¿Õf™á¾Õz°èO)}C„îÕ݊î̓ÌfÆ` ®^½SRróܹ녅×Μ¹ÂÍõE?â$î5¯CÛ«u‡Pøðzp €ThÆVŒ½ÊÝ8¦õÓlFûûÀ+BñUƒb¨
43
éÇ[Ñc½E(ÔNºÆÐUAòFË}zÊ-iÿvT끡õ¶ø…¨æS ñ övøpŠ 4Ìf3›ñD©$I’¬×ú'‘pqîÐIîLòQܿÏ>õ܄q#çïnw`çýóÐö÷W„2ª±ï¬„ÃfÚz|óm멼eGç>~â”qCŸtžD†Pø"TíÖ½ÂÕõ”÷íò@(|ªîã¯;æf³™‰O,/7”•U^»VŸXZz«¤ä&wn®/ú1‘8wÈ[=¨"q ¹š¬¤n^?H@„Rv|Í#’ m»>»³„'„ЄVÚï²o!„t%k¸wÒÉ5o0Õæ};ªõÀP:ç9‘HíI`Ø´é¯qãíØ‘LÄîÝG@èr֏páF›ñD¼CxPEâ@˜ŸªÄ,v"ÊûÿúdüÇ	Ùu¥'G¶ÓòVty™já}œC›KT~áÎ˸4_ Ûêƒ÷Ô¨~;wæf<±Gþú¡HlN싉wªH^äs¤Â^Ý`6xE(þ_.œöÅS	‚lØêљ+]õòc¿;¼_ûÚG?Ýy`ėýE6Wkxߎj1Wõ	ªæëdWæ=ÉÎ.‰Œ®ª¢†þ嗃cÇdfǎ»Y|žy¦ÎxR#ŽÍ	[úlâÞí\䏹œýkpïEV#¿^è4˜ IDATÎRæ”î³wYî×½”qqÞ`!;v BˆaШQýXýEÕý×u"øtë郄¾þ܉1aÄ)Nþ7³ç_Áóߛõ|+SAvº:0ÒUáy˜‹NŒýÝñ¯Š.>§Á.3XýÜËÜSïô#BŸr<LÃNËg·–ú¸9mÔ³%;V„µhúþvÝ®õõùu›[Ï^Ö±ó2¢T®"s¯40îÕç›ñHÅÔ-X{‚ñäòüfœ÷#=[ç=ÁHç=ñNÝÊÙ0EFs3<ÄyOj­[ÁÙOì‘˺™Å[óžÔ(—èVNpÞ·ç=ŠÄ†}¼Õ~zëù¦þê€æ¡í¿b«Åßž¯^ÞT«i]Î[ÀÁyOÀî ¢×èV`:³)eý$m«™Nó&dôl}oÍ{â$t+÷«ÐzBáë$0oÂC{sÞ'‘pq•nå~…¿óÀ¼	íiýt w·Î‹Õh´°ÏÖg†¦šfx÷_{dR¸>6,¶ÇÉ=Ô iÔý¿ÛS&}ÒqÔ¨yºt÷S嬑þŽItœC‹ÔÚbŒ}h6]×·V“`(Ñ;ñ)2ñïF…@ù0îÅñ#£ýfoÊ{Âź×?l©¾!¯ýf¯Ì{"‰[u+'nÏ{"þœÎ{‚‘ˆŒæfäyOd¢[y8‘ÑwöyO2NŸ£)Ô-¬=A@ý	xàÖ!r™›qތtä27ã51F:ò:§ÁHA.s3֞`¤#—u3`í	F22ú.°ö#
Í̀µ'5kOËº™kOjäkO×žÖž¸L{Â×ñ¹q³&ÙsðÔS«Í	×XÁÚ[„àEÚÞænZi„PáÖ1m†l±yàë/X{âÚ'ÍY«òU~;1Ö_ܾ§aïkOœ·[­CñÚ'Í)}:PÆB1Æz‡Û÷4ì=p:€µ'®Òž8iÎZ•«òwL¹Àk¬wxhn֞ÔÈ!8՞ðv܊În^ÔfÄýÞñë)š›E‚µ'®Òžðv|ö¬Y¦Ûõ!ûw³•ä5ÖSÜ®=	֞¸Þ7Ñï¬'‘Ñ܌°ö#
·(¬=ÁHD.s3֞¸Þ7ÑËþߓË܌×Äéà¼'ïÁ•ssvv	¯=##§«Âx¯›##ƒÙ‹Q£×W)
44
HH؃ôÃCæ
STSÏ·ë®ïI’ IIÞõß«W˜CnÌFêøHís™Ö­å#Q¯8w^S»W“>n§U³×Z•R¡ò	è5ðƒ„äšî!ìî‰?½ƒ»üxªî®uó†
{ØÑœ‘‘üx.<˜ìõ×?ÿ)ºZ!X¿æÐbÚ¹óšÚyAtE쨥Ͱ¿Vª(+.Ìë|aY܀±ëøåºuŽýýƒÐ=ãgAó²Y}çWQ5Q2‚+]ۄ^ª6¡¼mÔ*
45
&&扊
46
ƒNg8}ú\í¢ÃOÙ×ÜçܞkGç¤UZžZ;ÃÞ¨Ô4Šûzåü_^Üýö«0KŽÏ8tÕýãgƲ.ŸM><qõéÌeÝ\Ò¨X„Î7ïü5ž÷©!”•Ul»ŽO¤(¤Ó™ËË
W33‹22
47
ããmØÖBQÞc>Üsá¯/F¶÷Q©y¼ÿú”ë!Ę׿?½KHRÔ¦Ûê]ÅöÕ¿ÛEÛüû?ö¯m¡öo<lÆgF‰±#„(cÑ»“‡´ôÑh›>=åƒ2ËG„Yþ×ïøüR¥C]†6€Ê·3o„ŒõöÇ3bZúhš>3õƒV!d¾ñjLRÛ$ø©¨Öƒg}Ï[!4º±/(5÷½½ ‚-3þ·ÏF¶Q©ýÂL<ý¿Ñ½:ú(Õm"oÎ)wˆ™{ú¼>=¬MRåÚ{̾+n7yï•H?•—>€À6‹¸n݊[Fs||"û¯²Ò|ã†>7÷Ò©S%YYÅÜÑÌPº^#bÂçI¡Ž¾J8S~á¹ÎÝ^[þB(ãƒ' Û›Û
†k{t™±|«}õ¸]E{Þ9ho±¿Î.¯Jùv8<±"SŒ!´-¦-ŒÙ’[´ûè4áwn7G4ö€Sz‹C]ÓíÐjÐ6ÞÎ
48
€—+8·k<öê~„лá`ÉÁó%IK  õ<¡Þ!„b.Ø
Ú¿i+óïWO~Ë^o<yíRÚçàßb7lîýùþØå˩ˠQçw„Ê;¹WNüXôÙ òçºu+n̓ÌfÆ` ®^½SRróܹ녅×Μ¹Âͳûµ€ž&±ÆM|`áÞ[±
}àh…Ù1n¸c'3áÞe„{Ý·ñH‘ö0œ­²R拠ô	æv³¡Rzš±¯k±T|;%” }¼ðÀœm‹°{€JLe*u@w„/I@]¶%u­†3oOÒª‘?ûq\¡l$Ô_ÄX€ TܰùËÓU  ý”ºWNü0´ÒÓùVªùH<ˆ½OØB@ÓÈl6#*©T’$IòêGÖ¥ póv
49
ü|äç¡áMþ3¬c¡¶¤Ý€£:3ôPó†×À™ú€Ô€éö>‘ö³U„ú©”š6€˜*®O=ÀWñ@ÓZß ÷iWürrj-o„§ôVh­!IMk°êOÀ¸fþ°òÈÅkÿmëɼu¿ÔõÏû±ßL1ÀP·;L(!ÑzU…/°k$!„î•?„€ñ¸lÖs³ÙÌÄÇ'–—ÊÊ*¯]«ˆO,-½URr“;7{äZÂsí 6þ̽W¨ß͕B¨w N¬!Æjr¨nߺ½Åvm5ä©iU­P¨BÑj8o¤Ì·Ó.¬¼Ýl磛ú	¯íÈy#e­:šÀÞ¡ò܄ •¤¦sŸ1‰¥Žkq–¦**)†¶Þ=ÝoeæHqñÔ¨¼Ð=trÍP:øËæVDíÐՆM›þ7nЎÉAìÞ}„!0«oóÉ?ÿÕU«Þ=wÈñJË⨶ÏÎÿ±÷˜8 |1·ÌþÏ>£¹üƒ!¦}#>’¬òªcހ&‘‹œÛ[ªI…2È‚à‹™]`êg{Š/jÔzüñ\·ƒj Ä\ƒÝ.øxJgX¶¿äÜÎw óä`ÁKo•[™uG
50
,”élʎgÛjyë~ÿb$–ê
51
þ|‡µl(ÑÕ¨õZ#tC›K@Óp ›¢Äås³Å‚âã+*Lññ‰7nèËÊ*ãã/_¾]ZzK`O]Ü3Z?ýÅáÏ&7ñW+Hup—kÿ¹‚BŒyÒi¶
52
Rd‹ÎOħ•q«s-é;ix´VEú6ïÿü¼Œ;fçö­níë;rşˆ6~¿èåN-(eë°ë]åvsOL;øæŠžÛ®P<!†º³2nX³FÛlØôØ5ñÒØh­úîŒP¨[tˆzç§n]Úrýø!~~†Æ}±4¶›Få?ïïËöe„®…âS^è^‰ñ£¿ò
´‹ÙÃuëVµ'µØoÎÎ.‰Œ®ª¢†þ嗃cÇdfǎ»_=óL¯ýû{Á÷Ûe3›G?dgÉޑí$ºª8—0ó؀m“:À­‚MBG“šV”é’+¬KJw
	µFúõïz4ód»‚ßžTû‰C#cÇD15ª«¡¨z£qN³¨ÿoúó±Åa䉮–û÷ÿ.®þgJï…Ùià×l€B¬k6.Îôk6â¿QÊàòs4͖¿[…ýûãÅ·Qøn=ös$½Fº§åI»þõBøò1ÝԚ#ÞøuÌ«ï&gþI¬G¬¡#NÝâëúeÕàÊ3tùùÒ⩄Œ9˜?FºÿÖO®þéÏÕÒɌ²üƒuÒ®+Ï7{ÁšS¯Áڌ÷ —ç7ã¼'éÈèÙú8ï	F"8ï‰[òžØ?îÚ¡Ïk¦
53
/!FQˆ¿'žy° ç‘ÑÜ^”÷ÄÞçÔØ÷ý˜õÅ ©_µ`ªE.ëf¯É{bóIÏì½m2Žñìæêݺ0B¯ç=q}Þ{Ÿ*¿ÇÀ—¼o™Ü@¡ µ_ñçE¡ ŤSáé,ß=©Af/ç=»s3®Ê{bßkÞ;»#Îvþ¤˜t*ÜÎòÞ¡D*¼>ë;8ïÉ£™½ž÷¤ÚÑÌXo±'ªyƒ“N…ÛYÞ{â<‘Š—á¡=
œ÷„ÅXvtÞ¸áã'N7ôIÄX„‚ã–ÛYà»'5°~#Ÿ¹Ù`0éõÆòrÝåË7/^,+.¾VTt¥ àR~þ…¼¼Rîܼ!ãe*Ñ¡_ºîÕà…V«z°×Ý´ê¬{rT[E‡¦37[
yšÀ>bŒú\4ߝõŕ¼­Ø_Oh¥ý.ûBHW²Æfç)䖋}gyï	¯+îMðd´ßìÝyOXß45 ,V}é{“؇
54
ð)䖛ŽÛ¾³¼÷„×oÊ/@^ûÍ^œ÷„%ñÛ¹ÃûµŸ¡}ôӝF|Ù_(H1n¹å½'¼®xS®xnÏ{"þœÎ{‚‘ˆŒæfäyO0uˆŒÖÍöyONä8}¼O·‚q'r™›qތtärN¯‰1ґ×9
F
55
r™›±ö#¹¬›kO0’‘ÑžÔD{"'boe<$ÈhnOiO°Ä[‘˺™ÅåÚ®ì¢ÖbŒü‘מ†xí	AsãfM?²çà©§V›Ñ^WÂ+»àŠAøêµáMµšÆÁÑ	Ùu##ÍÍ¡ãY…ƒÃ0c6Su綎fè°N<«‚eë¾i¬TœÛöÜ ç¶_Øûkü=Q³·àº¡Œ€_ƽ¶øXîKí.î™ñÒ׋‹V°­8©°ë‚ó_îÈÙ7dø;Ó/­«MŸ1u„¨SG 55¯{÷NV+Í0ˆ¢(Šbt:ƒÅBÙÎi¤¤œ²_7ÛF$e<ã×äy‹!—5^6Ó¶ÃøQ!32όµL­íB™¯9Ôåb{	1RՔ¡y2E`d‹‡æf¡Ÿö%Yí	BÈj¥-‹ÅLBM#¡‚ŸØ”>Ø43,öº’œ’x‚ø½V(k¶Âßû•^‡‡ö4„~:л[g‹Åj4ZØóÍÃÐ4Cӌ“¬U¹*ÿpޗú6Ðlº®o­&ÀP¢¯u0õ­›
56
âHú{Z14…ØÓú1¡ÁÜòV*În^ÔfÄ
57
î«pOv±g~oÚTüü ×ÿ:ïxªå™Cö9M¸„©'Èk¿¹Fړٳf™n_,ԇìß1Œ×[M…!˜úŽŒæfšfROœÒžpËÿðã†ƒcC
58
ß׿M|SÑ¡˜ýÄlÿ>/UïÑ܌µ'‰ÈèœÖž`$"—¹¹¦Ú¼Àp‘˺ŸùÄHG^ç40)ÈenÆÚŒtä²n¬=ÁHFF{ í	¦^#£¹°ö#
¹¬›Y°ö#ÙÍÍ쩆aŒFEQwîjOæLŸ©«¼|æfãø?tñW±ÆŠs۞8³P5ùvÑWÆëöêºè±“^yõõäs‹{6;í	lÈòÓêOó®íùã蓾Zû¯¡B
q˜:GFs³´'é¸<eÏÇ!
–-ËxñµL'
ñ1uŒ|ž­_Ó¼'셵*_å÷¸ÍhŸÓDLRxó¤ð6Ä5bê¬=yÞ<)¼
91bê
59
¬=y€p?UŽÁÉ·æmÈIëÏ#£ýæšæ=±"¨^{Õ%%±O&›'…·¡j[ÇxyíiÔ¹ö„7O
60
oCÕ¶Žñ<õ5joCkS#d47#¬=ÁHCFëf¬=ÁHD.s³lµ'¼
áe†<‘ËwøÌ'F:X{‚ñä27cí	F:rY7֞`$#£=
¨‰öą	JlßòúoߐDpr!d47ƒ§´'0ÈC›Ùkè¡E.ëf—kOÄpðü)Õ¹ò1
‰¯…¼ö4Äç=±ƒÙúÎKo­O€Ìu:4Õ*5ÚðÜkÞòÓÇ-šÿJd»Ð9ÿٜÜ(ñ@”…sçOŒôʅW,Œs#oj•‘Müþ¸eÓ­?üšŒdö
qklâ·2ï60–+Ap«;€“³ð#æ´>o¯‘uSRr-kRjÎßGO<œ½?ùäî}é;v§®ß´÷‡‰))¹¼§õºjÝ»oü–{›5¶T“{
61
nÚK[Ògeф©<=vüwlō_ýVn4],Õ;D•ƒ:´¢OçÉ{œÙ‹ûµÙR¢C]HœÚ ä=֘4©SßïòBùëúvz9™{+¸µ’&u
62
63
{!d¼ù;ðV·÷3wÝ^Ù”²~’¶ÕL1·÷!¡kOhËõ3——š(›ñ•àÀÉÿýMG16¯–ä²€ºÄva©LSk#Åyå-·rç5ì°!´¼CÃù¹·¸
qkÝʝå–W¿ûäò'y«sý0´žPør<´xè]µÚ“ÔÔ¼ÈÈ©™g‘€öäС“gè¦õ
64
5h¨kÒfE±Fóío¿:o}Šù£-»ç
h	jRa¤Òi_l–û/!‹B©ehKµFµBa½çM¡¤­ÀPå͵m^;ÕâÉúëAJ…CCÜZUÞ̯ê¼(cáíåQÍ¢NÞÈt¨ÎÛ|šÏžz¬=é¿öȤp}lXl“z¨@Ó¨û·§,Lú¤ã¨QótéàTKâÊX¤Ööc䕷(”AK:øÄ­‰ó鸔;yk)”AK;5œŸûъ”ÿûº{è¢vj'Õ1BÈh¿¹¦Ú“)ݛšàÍûfMðF%}¸¶g¬w?ñjIœÀú¹¸¤ý¸NŒ}Ußeßay˳‹Ã¿$bÿA~ÞZÏ.€“š÷f˜CuWíU{7òÚo®‘ö„%0d®ûž˜¹ùtü¤=¾*¥ÚÎ]s7a¯–DÐUðK³'O'˜ÛWéNÿlèĸmõ”˜~mfêLBò–Ö1ÿHþwLkކxk±UÞ|>‚Ǿ	³Ž
65
UÇQ_µ'ÍÍkO0ҐѺkO0‘ËÜ\Sí	ÃE.ç4ðš#yÓÀ`¤ —¹kO0ґ˺°ö#íi֞`¤!£¹°ö#
¹¬›Y°ö#yíi`í‰(í	_§æÆÍš<~dÏÁSO¬¶¹F/kOlB=ўðvꦕFnÓfÈ[s\£wƒµ'õO{‚“³µ'õO{â¬SȪ ýÆ"dôn°ö„™kOpr!d´ßŒµ' N{‚“³!¯ýf¬=£=ÁÉY„ÀÚo'ga‘Ñ܌°ö#
­›±ö#¹ÌÍX{"ޛü°-3@>ç4ðš#yÓÀ`¤ —¹kO0ґ˺°ö#íi€—jOpš!£¹¼]{‚q7rY7³x·öãnäµ§áÚ.8M‰‡ÀÚ[„à"í	÷à4%žkO\¯=qÀV§)q7ÚÓúiE1ÇNÏ*8v²0åD~fÎùœ³¥9¥9”J’ãâú=u:cbA…ÍòMæßÒªM¯“®²–£:sµcáXPùGZ«÷¿y9%ñìZ…T7GŒÑ¹[Bá_mŒ°ö„‰ÚL]!£ýfoҞàÇÕ	òÚoöí	¦NÀڌ÷ £¹aí	F2Z7cí	F"r™›±ö#¹œÓÀkbŒtäuNƒ‘‚\æf¬=ÁHG.ëfÀڌdd´§^ª=ÁxÍ̀µ'iÈeÝ̂µ')ÈkOÃ;µ'8M‰ÇÀÚ÷jOpšµ'nמà4%kOxp­ö„7¥OÊX(ƈ֞ðàZí	NSâ1d´ßì­Úœ¦ÄcÈk¿Ù+µ'8M‰ÇÀړ:§)q2š›Öž`¤!£u3֞`$"—¹ù¡Òžð޼̐Ž\Îix͚S‡Èëœ#¹ÌÍX{‚‘Ž\Ö̀µ'ÉÈhOj¢=©55zB֘Ô/d47ƒG´'XiâÅÈeÝÌâí‰D¥	FÎÈkOC¼öDårhý¿C‚üšw|êË†²”µ7×6jÓåӃ÷·¨ç7P(ÈF­ÃWüy‘µØ+MÔ~zëù¦þê€æ¡íÜØÆ)Kê2Z7#„ŽgÏ*LÏ.LÏ.<qº(=»(ótQ~ÑE¥Òñoe*þþ΀S×níûrèô¡_½}âò­¿Võ\ú«¶2_•T0}ôë>«¦Ì±5a{Õj,ÌztvñÑo¬œ¸P(ªÂ®Î—ëv/}ôõáïˆí3¦ŽuêȤ¦æuïÞÉj¥QEQŒNg°X(Û9””SöëfûŒí1FRÀ0”½gD•“š–mv(|¿]Aª[04ÏY{;ÏRՔ¡«ÜÒyŒ‹ðкYè§}IV{‚²Zi‹Åb1S€EÓADh;Qm)|¢ÙkcÙÑ·æ¬,S7¡¯¥#Æâ¬Ù1¦ê<ã”%õ€z¬=qN\Ô°þ‰¥3ºU–®ý_ðÜZǏ©GÈhOC¡ ޤŸ±°§õCSˆ=­\Óvß4",V}é{“F7ö_ñ™Cöí«is9 ¯ýæZhO„Hüvîð~íghýtç_ö¯iuL}DFs3M3©'Î
66
iO
67
Ûû佟öEé´/îZ7æpy°Ÿ˜…Ê`䉌æf¬=ÁHDFûÍX{‚‘ˆ\ææ‡J{‚qrY7ã3ŸéÈëœ#¹ÌÍX{‚‘Ž\Ö̀µ'ÉÈhOä§=ÁÔ/d47֞`¤!—u3֞`¤ ¯=
ÙiOpʒúEýÍ{2ñó]•檬Ý6[±ã÷ãUVÓ±MÓ}ƒb<çîˆóm<’¼‘p ÒbÉÚ>ï鋼Qá”%õ¬=q¦=ØÈ÷çë†Vvylµ(ã¿&Ï[¹BFŒçqûºÙÞC½Óžà”%õ·ïiØ{àþt@nڜ²¤~áöýfñÔ4ï‰sß45¨­öÄvS–Ô/<47‹Dnڜ²¤~áö¼'"©/yOpÊ9#£¹aí	F2Z7cí	F"r™›ë‹ö„÷Vàe†LðÐ~sµÈaMŒ©ï¸ýœã1\?7gg—ðÚ32ò§OV¤¦¸eÝÌ^X,ˆ¢½¾J¡P@BÂ< 1îý{$I¤‚$ï¶Ò«WXBžڹª.ߊ¯[©¶éÚņ…3ÎqýºùNâÉ«z&¯êÉþJÀŽæŒŒüãÇsÀ6 ë<GÎā¡5*_纕:@æ®4vmOziäØéB/%¯êÙá—`©¥_òªžýÞN…BÀÄÄ<QQaÐé§OŸ“´sSu2-KUmÉ-I›kâYºn…76ó­¼]ûN·ŒÚ7´¡»ðnœÍÍ#ÇNçþsR>yUÏþ3Cy‰ît"Tÿù«¯îI’A$IèõF£ÑÄU‘Ü…£ò Mų‡?3iÊËCžžœ¥¿+è¨V0B›Î¿ÕcÛá¬_–ÄÚÛyu(ð …[ƞZäLfë;/½µ>E(6ãõ?£ÃÇÿºsÛs]Û®J+sâÈ>WÝ.oCH{²ó×xÛ5ØéGìíö$­ŒF7~FePÙýÁ‰WÉß46-abÒÊèÊJóúÜÜK§N•deÇÇ'rÝrU»^ì0vG1BèJR\ۘÿ³Uq.9ðJh̦B„bÌÀ‘½éPœ”±DëVؒ]µîÝ7~˽í$¶ûµÙR¢C]HœÚ ä=Þv¹¸êvy.Í77 3ï ¼Eº?cQÞ"”÷&Ê}#ieôÕ«wJJnž;w½°ðڙ3WxGó€†>—Ì´½Ã®ZužÁŠ¢ŒE*ÿ‡*u‡PøpÃè¨ÉÒ[¸þïÖ²Þ"jÞ~	•±Ç~4;hËõ3——š(ç±ukÿ*{A[®“êæ¼írpÕíò2ªÙ¡³ýic/Ѓâ%Ç}hZ>¾p)[a¾
7óAåþA€¨T$0úäÇUyäVY;ù*€Ô´¥ŒgŒdTZ÷s<\/F‡"^«"&ˆë÷”AC%̙ä$¶œ’x‚ø½V(E¶ëªÛåeT³§Áyû›¸{¦›À!¨¥¿Ÿ€¨ý@©$IR¡R‘$©P*IކX•‡½%ÌOUb¦€2æ+}Ån>töSæT9ª¦ã¢†E¼¿é—Í\?Çá%
68
U_¦vô_{d˾Ž‰Í¨´8‰­oÍEóÝù[WxY¤sWÝ./CԝXŒ7ÀtèJPkA£?h´@„B¡`?
69
Uåª<–~dÕ±2¸¸gé#ƒ–ŠaÙàV‹~>ˆ®°…t(þªµYם—©5Sº7!5Á›÷͚0àJ	ÅöÉÜÈW×¥m*~~ÐD‘Î]u»¼—}ØqZòªžý‡µÚ|w(«´É[ÿŒ|-™¢îõZipU#·ìücôԗlzñrƒÄ£EögôÖĝ1ã‡îïÒÈÇfÒ¡lùlòS½[/iܳâÊQ7åI	™°kÁ¾'fn>?‰7¶èeÿó|t_ƒ?CŒZû“H·®`mÝh©IDATº]^† ö¤öûÍO‘ éˆ‡ö¦w›s¡»²(VEQÌþýÇñ÷Ûw 87;ßZ¢ÿâ´äUÑg jîVEÂ0ì"»ÖA>\ðþùóç#j¥Q#Æül4ZàÞÖûFТÀ·Ö¸~4gdägdä»Ü-S-®ÍxMŒ©+\ºC‡ÁÔ)x4c¼<š1ÞÍïfŒ÷€G3Æ{ø’ÖFÔ¼?^IEND®B`‚
(-)tdevelop/parts/documentation/documentation_part.cpp (+11 lines)
Lines 250-255 Link Here
250
                                    "all possible sources of documentation like "
250
                                    "all possible sources of documentation like "
251
                                    "table of contents, index, man and info databases, "
251
                                    "table of contents, index, man and info databases, "
252
                                    "Google, etc."));
252
                                    "Google, etc."));
253
    action = new TDEAction(i18n("TDevelop Programming Handbook"), 0,
254
                         this, TQT_SLOT(programmingHandbook()),
255
                         actionCollection(), "help_programming_handbook" );
256
    action->setToolTip(i18n("Open the TDevelop Programming Handbook"));
257
    action->setWhatsThis(i18n("<b>Open the TDevelop Programming Handbook</b><p>Opens Open the TDevelop Programming Handbook."));
258
253
}
259
}
254
260
255
void DocumentationPart::emitBookmarkLocation(const TQString &title, const KURL &url)
261
void DocumentationPart::emitBookmarkLocation(const TQString &title, const KURL &url)
Lines 297-302 Link Here
297
        searchInDocumentation(m_contextStr);
303
        searchInDocumentation(m_contextStr);
298
}
304
}
299
305
306
void DocumentationPart::programmingHandbook()
307
{
308
  kapp->invokeHelp (TQString::null, "tde_app_devel");
309
}
310
300
void DocumentationPart::manPage()
311
void DocumentationPart::manPage()
301
{
312
{
302
     TQString word = KDevEditorUtil::currentWord( dynamic_cast<KTextEditor::Document*>( partController()->activePart() ) );
313
     TQString word = KDevEditorUtil::currentWord( dynamic_cast<KTextEditor::Document*>( partController()->activePart() ) );
(-)tdevelop/parts/documentation/documentation_part.h (+1 lines)
Lines 69-74 Link Here
69
    void searchInDocumentation();
69
    void searchInDocumentation();
70
    void searchInDocumentation(const TQString &term);
70
    void searchInDocumentation(const TQString &term);
71
    void contextSearchInDocumentation();
71
    void contextSearchInDocumentation();
72
    void programmingHandbook();
72
    void manPage();
73
    void manPage();
73
    void manPage(const TQString &term);
74
    void manPage(const TQString &term);
74
    void contextManPage();
75
    void contextManPage();
(-)tdevelop/parts/documentation/kdevpart_documentation.rc (+1 lines)
Lines 6-11 Link Here
6
  <Action name="plugin_action"/>
6
  <Action name="plugin_action"/>
7
 </Menu> -->
7
 </Menu> -->
8
 <Menu name="help">
8
 <Menu name="help">
9
  <Action name="help_programming_handbook"/>
9
  <Action name="help_look_in_index"/>
10
  <Action name="help_look_in_index"/>
10
  <Action name="help_search_in_doc"/>
11
  <Action name="help_search_in_doc"/>
11
  <Action name="help_manpage"/>
12
  <Action name="help_manpage"/>

Return to bug 1860