[Fusionforge-commits] r9517 - in trunk/plugins/coclico: . forumml forumml/PEAR forumml/bin forumml/common forumml/db forumml/debian forumml/debian/dsf-in forumml/debian/po forumml/debian/source forumml/etc forumml/include forumml/packaging forumml/packaging/control forumml/packaging/dirs forumml/packaging/docs forumml/packaging/install forumml/packaging/links forumml/selinux forumml/site-content forumml/site-content/en_US forumml/site-content/fr_FR forumml/tests forumml/tests/_fixtures forumml/tests/_fixtures/samples forumml/translations forumml/utils forumml/www forumml/www/scripts forumml/www/themes forumml/www/themes/default forumml/www/themes/default/css forumml/www/themes/default/images forumml/www/themes/default/images/ic mailman/www mailman/www/admin

Mélanie Le Bail melanelebail at libremir.placard.fr.eu.org
Mon Apr 19 16:51:09 CEST 2010


Author: melanelebail
Date: 2010-04-19 16:51:08 +0200 (Mon, 19 Apr 2010)
New Revision: 9517

Added:
   trunk/plugins/coclico/forumml/
   trunk/plugins/coclico/forumml/PEAR/
   trunk/plugins/coclico/forumml/PEAR/Archive_Tar-1.3.3.tgz
   trunk/plugins/coclico/forumml/PEAR/Console_Getopt-1.2.3.tgz
   trunk/plugins/coclico/forumml/PEAR/Mail-1.1.14.tgz
   trunk/plugins/coclico/forumml/PEAR/Mail_Mbox-0.6.1.tgz
   trunk/plugins/coclico/forumml/PEAR/Mail_Mime-1.5.2.tgz
   trunk/plugins/coclico/forumml/PEAR/Mail_mimeDecode-1.5.0.tgz
   trunk/plugins/coclico/forumml/PEAR/Structures_Graph-1.0.2.tgz
   trunk/plugins/coclico/forumml/PEAR/XML_Util-1.2.1.tgz
   trunk/plugins/coclico/forumml/README.txt
   trunk/plugins/coclico/forumml/TODO
   trunk/plugins/coclico/forumml/bin/
   trunk/plugins/coclico/forumml/bin/db-upgrade.pl
   trunk/plugins/coclico/forumml/bin/installFF.sh
   trunk/plugins/coclico/forumml/bin/mail_2_DBFF.php
   trunk/plugins/coclico/forumml/bin/mail_2_DBFF.pl
   trunk/plugins/coclico/forumml/bin/ml_arch_2_DBFF.pl
   trunk/plugins/coclico/forumml/common/
   trunk/plugins/coclico/forumml/common/forumml-init.php
   trunk/plugins/coclico/forumml/db/
   trunk/plugins/coclico/forumml/db/forumml-init.sql
   trunk/plugins/coclico/forumml/db/install.sql
   trunk/plugins/coclico/forumml/db/upgrades/
   trunk/plugins/coclico/forumml/debian/
   trunk/plugins/coclico/forumml/debian/README.Debian
   trunk/plugins/coclico/forumml/debian/README.source
   trunk/plugins/coclico/forumml/debian/changelog
   trunk/plugins/coclico/forumml/debian/compat
   trunk/plugins/coclico/forumml/debian/control
   trunk/plugins/coclico/forumml/debian/copyright
   trunk/plugins/coclico/forumml/debian/docs
   trunk/plugins/coclico/forumml/debian/dsf-in/
   trunk/plugins/coclico/forumml/debian/dsf-in/plugin-forumml.postinst
   trunk/plugins/coclico/forumml/debian/dsf-in/plugin-forumml.prerm
   trunk/plugins/coclico/forumml/debian/dsf-po/
   trunk/plugins/coclico/forumml/debian/po/
   trunk/plugins/coclico/forumml/debian/po/templates.pot
   trunk/plugins/coclico/forumml/debian/rules
   trunk/plugins/coclico/forumml/debian/source/
   trunk/plugins/coclico/forumml/debian/source/format
   trunk/plugins/coclico/forumml/etc/
   trunk/plugins/coclico/forumml/etc/forumml.inc.dist
   trunk/plugins/coclico/forumml/include/
   trunk/plugins/coclico/forumml/include/ForumMLGroupSearchEngine.class.php
   trunk/plugins/coclico/forumml/include/ForumMLHtmlSearchRenderer.class.php
   trunk/plugins/coclico/forumml/include/ForumMLInsert.class.php
   trunk/plugins/coclico/forumml/include/ForumMLPluginDescriptor.class.php
   trunk/plugins/coclico/forumml/include/ForumMLPluginInfo.class.php
   trunk/plugins/coclico/forumml/include/ForumMLSearchEngine.class.php
   trunk/plugins/coclico/forumml/include/ForumMLSearchQuery.class.php
   trunk/plugins/coclico/forumml/include/ForumML_Attachment.class.php
   trunk/plugins/coclico/forumml/include/ForumML_AttachmentDao.class.php
   trunk/plugins/coclico/forumml/include/ForumML_FileStorage.class.php
   trunk/plugins/coclico/forumml/include/ForumML_HTMLPurifier.class.php
   trunk/plugins/coclico/forumml/include/ForumML_MessageDao.class.php
   trunk/plugins/coclico/forumml/include/ForumML_MessageManager.class.php
   trunk/plugins/coclico/forumml/include/ForumML_mimeDecode.class.php
   trunk/plugins/coclico/forumml/include/forummlPlugin.class.php
   trunk/plugins/coclico/forumml/packaging/
   trunk/plugins/coclico/forumml/packaging/control/
   trunk/plugins/coclico/forumml/packaging/control/000source
   trunk/plugins/coclico/forumml/packaging/control/222plugin-forumml
   trunk/plugins/coclico/forumml/packaging/control/222plugin-forumml.shortdesc
   trunk/plugins/coclico/forumml/packaging/cron.d/
   trunk/plugins/coclico/forumml/packaging/dirs/
   trunk/plugins/coclico/forumml/packaging/dirs/plugin-forumml
   trunk/plugins/coclico/forumml/packaging/docs/
   trunk/plugins/coclico/forumml/packaging/docs/plugin-forumml
   trunk/plugins/coclico/forumml/packaging/install/
   trunk/plugins/coclico/forumml/packaging/install/plugin-forumml
   trunk/plugins/coclico/forumml/packaging/links/
   trunk/plugins/coclico/forumml/packaging/links/plugin-forumml
   trunk/plugins/coclico/forumml/selinux/
   trunk/plugins/coclico/forumml/selinux/forumml0.pp
   trunk/plugins/coclico/forumml/selinux/forumml0.te
   trunk/plugins/coclico/forumml/selinux/forumml1.pp
   trunk/plugins/coclico/forumml/selinux/forumml1.te
   trunk/plugins/coclico/forumml/selinux/forumml2.pp
   trunk/plugins/coclico/forumml/selinux/forumml2.te
   trunk/plugins/coclico/forumml/selinux/forumml3.pp
   trunk/plugins/coclico/forumml/selinux/forumml3.te
   trunk/plugins/coclico/forumml/selinux/forumml4.pp
   trunk/plugins/coclico/forumml/selinux/forumml4.te
   trunk/plugins/coclico/forumml/selinux/forumml5.pp
   trunk/plugins/coclico/forumml/selinux/forumml5.te
   trunk/plugins/coclico/forumml/selinux/forumml6.pp
   trunk/plugins/coclico/forumml/selinux/forumml6.te
   trunk/plugins/coclico/forumml/selinux/forumml7.pp
   trunk/plugins/coclico/forumml/selinux/forumml7.te
   trunk/plugins/coclico/forumml/selinux/forumml8.pp
   trunk/plugins/coclico/forumml/selinux/forumml8.te
   trunk/plugins/coclico/forumml/site-content/
   trunk/plugins/coclico/forumml/site-content/en_US/
   trunk/plugins/coclico/forumml/site-content/en_US/forumml.tab
   trunk/plugins/coclico/forumml/site-content/fr_FR/
   trunk/plugins/coclico/forumml/site-content/fr_FR/forumml.tab
   trunk/plugins/coclico/forumml/tests/
   trunk/plugins/coclico/forumml/tests/ForumML_FileStorageTest.php
   trunk/plugins/coclico/forumml/tests/ForumML_InsertTest.php
   trunk/plugins/coclico/forumml/tests/_fixtures/
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/attachment_only.mbox
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_and_attch_in_html_only.mbox
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_and_attch_in_text_plus_html.mbox
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_in_html_only.mbox
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_in_text_plus_html.mbox
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_html_in_html_only.mbox
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_html_text_plus_html.mbox
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_text.mbox
   trunk/plugins/coclico/forumml/tests/_fixtures/samples/text_plus_attachment.mbox
   trunk/plugins/coclico/forumml/translations/
   trunk/plugins/coclico/forumml/translations/en.po
   trunk/plugins/coclico/forumml/translations/gforge.pot
   trunk/plugins/coclico/forumml/utils/
   trunk/plugins/coclico/forumml/utils/manage-translations.sh
   trunk/plugins/coclico/forumml/www/
   trunk/plugins/coclico/forumml/www/forumml_utils.php
   trunk/plugins/coclico/forumml/www/index.php
   trunk/plugins/coclico/forumml/www/message.php
   trunk/plugins/coclico/forumml/www/scripts/
   trunk/plugins/coclico/forumml/www/scripts/cc_attach_js.php
   trunk/plugins/coclico/forumml/www/scripts/forumml.js
   trunk/plugins/coclico/forumml/www/themes/
   trunk/plugins/coclico/forumml/www/themes/default/
   trunk/plugins/coclico/forumml/www/themes/default/css/
   trunk/plugins/coclico/forumml/www/themes/default/css/style.css
   trunk/plugins/coclico/forumml/www/themes/default/images/
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/attach.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/comment.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/comment_add.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/comments.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/msg.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_first.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_first_disabled.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_last.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_last_disabled.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_next.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_next_disabled.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_previous.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_previous_disabled.png
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/spinner-greenie.gif
   trunk/plugins/coclico/forumml/www/themes/default/images/ic/trash.png
   trunk/plugins/coclico/forumml/www/upload.php
Modified:
   trunk/plugins/coclico/mailman/www/admin/index.php
   trunk/plugins/coclico/mailman/www/mailman_utils.php
Log:
Forumml plugin


Added: trunk/plugins/coclico/forumml/PEAR/Archive_Tar-1.3.3.tgz
===================================================================
--- trunk/plugins/coclico/forumml/PEAR/Archive_Tar-1.3.3.tgz	                        (rev 0)
+++ trunk/plugins/coclico/forumml/PEAR/Archive_Tar-1.3.3.tgz	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,130 @@
+‹      ì}{Û6²èþ[}
+D''’RY/¿ۍã8ïqã\ÛiN·íÏ?J¢d6©%);N7÷³ß™Áƒ 	RÇIw×ên,‘À`0fƒÁÄé}p†n§ñq<úÛ=}Ú­ÖÆÆûcl3õ>íµÍÍŽøÊ2¶±º¶Áþöð¹ÿÏî0ðìÚ
+#/ð÷ÊíF«Ì\¿ô=¸W~wñje«üÃ~iwÂù„‰¿¡Vc«Ñ:;l— `ýh¯|Ç“fsâ:acr5iønÜìÇý¦€³’”݉èCA
+z½ÒNÊŒ<Uúææ¦q³ÚÂa³Ójµ›ÿûÓÉyïÊ;+žÅŽßs¡VäíDôð$è91¡:³16³DãcÔgstsž2«¼_b»¾3v÷ÂÞ•wí^^8án“žÀ›Þ•ãûîh_³Û”O¡@4ðvj±7rÙØñüØõcÖ9Q´Û”E tߍz¡7Ajì_\y/Â&apíÁ;pû#àX, FÌóÙÛ×o¥ã˜EÓÉ$c¨º@TXg#/â_܏qèôð;0Ìé#W±8H 5J?~ò&ƒökÇ9]ÀÛ`#€AÄâ+—}y]„èúÈe¬;õF1Œ.ÂÒ(pún¿Á^|ê°^0ž„nDeÜ(
+$x·Ïn¼øŠ u¡hL Ømêä êŒ\§ÅxüºÃ ¼e/\x]
+	۝Fn¸ßsG£`¸Û¤ø͉ÇÏÕHñ§ø)síîߺ0"â;4Ùm¦ÚþÙ†|1‚¶ãtÛ×]ñ8Õø5¯…­÷ø:‰sð+Wîh" Rƒç±7d/œ\?Bu3Íõ<Õ¨jl·ïÄî>Ìãí•ÖêJg†À‹Øƒ&[Õ͝uxL?᱐<;tùÈÝo7V«»Mù“šxô¸
+ÍÂWl3©¹b¢ë¼øÖ ƒOGnŽ|.éµwGP=rÙ44%T0ÇÁ4ì¹$©D±¨Ùú+âNéòþ÷†½8ÉNøÃ]Y”DC»Ñ~éf&ÈcäeÙL,YQ<*ºlìùAóe8ð>2Ñ|þ”áƒÓ!û¯ííNÛ˜94Oº05;l £±_9ÿžªØn¯o¯±K˜úý“À¾†¿nÈF8A"ÖbÝÛ˜KœìÈ/ì×?àß(r¢,¤ÍmvKOº=+·c;H ¡Ôøuàüá„ÛÛ¿#µ
+@>Ìá8¢qé{!ÃFöÊM¢ð„ä_úK«Àh%ð%÷×Aî•û½ÕÕõ
+wsmkÍÚ[[ƒÍí­õÎv·µ‹‡'$qó‚ËÜ2ƒ<¦¯ÍùšB€«›íõÕÍÍn{«Û8ƒÞ`°½ålo÷zÛΦlªô¢¦&ùñÇX¶ïD{0%<š*M»8‚ ƒ1“)ûöèàL›«³–¶ì³d­ÑÚmâWzä|„Gë¸Îwà)üâ-k­ÁBÌÝÕÁs#1ƒþ1õB·ÏÉMÑ
+fa`É×»ˆ—  %
+£õÆšQ#]ç¨j%¹" xŸ(H„ºÀÒÆt'Øš8I	”Ž!l"…B…¥ÄJ±`±Š–.,›+­6HH%Y¾ä‘ú†x_ÞÇ•Õ"]X"_Ä<¤É¹Öjo”ÎÜqpí²þtå¡E%ôÀ
+C/}/šŒœ[.9ž8“ zöœÿ1A­n·¶Ù;¼r{`UÆÈEõâôüòýñ›—§ïÏA‘Ö›U××Ö;$0ÐÞ“LƒøÙ(ðA3pÀuGAïÈn®\ŸM}Ð2BBÁŠ¤ÌÄ©:ú.«Â`̐“V@ì¸ÍÔ4g׍v£Ó®™Xl¬mm°CÇg@(©áHi¥Šn¯®2m.³j®RVc/=¬ˆú€DrF&´­v{½"ý4)PfÄÿÊ`tK¸DP»‹Ü`ÖÜ^Âá7ì— 88ñS¿‡ŠƒAÁ9 ­Ï‰¯8ÇIËÌ•oÎiÒþKM“uÔ"Ú›_aš¬n­¯	úµòè×úfôkmÜý€n`:p""/V;k›ëuÖYÛÚ‚Û«ø4ƒÚÝÉš#»;ß‚¤k+HÕ­û!éA¿¯*””‰EîÄ	 2‚ðB½1Áè2XC2Ï@C,}—ÅÝ)ž#¾‰XEŠwî‰âOYšæ/þnX¢– ‰êrÁu3˜Æl‘ìŽ¡$ØèÂàÞacÞ÷IôŸÇ(ç«5½þ±/ŸÞ}ÜrÄOë[{¥³vO›ëÐt<Ð|âhÝ•‚­F»µÒµr¿zµ %»nìØàñçóQñkÉÐɆÊà‹XuˆŽ!Wȝím8À±ÐíÚÝ)½m§òö·àÕɘ{R4¦q°ÒwcT6†`˜sÝ´@w'䚝kߎ­û!ä{Ïï7‘pˆì€Àu‘moœØTñ+òXDØWÝ¿ u;vêv¾u;+í{¯Ð¢ò|/öœ®€c/þ’‚uÕNÇÕoDǵ•öêWãÒ>»	Q´ö•¡¨tº"åÞáêØ•»
+û%¾ÿ£Y§+ä2MÁ_fÿoss3gÿ¯½Ù^שׁý?,ÈÚ퍇ý¿¯µÿc\j>e×Þx
+]Ð+åü?ŠƒÉÞ‹®¼A|ãõã+übõj‡=m– þÓ{JΉÃóŸáþF.³1bk¤®®‹W‡Áä6ô†W1«öj¬½½½	¿µUÇwæ^ë.Æ>=‰¨Ú¸-ÙoˆÎܾNܝ’a‰£¨÷|Æ]ðÜæñ|R²ƒpÕ¹ï
+4¡‹#”qÐ÷ß.¬Ã‚ಉ‚PÃÍ$±IÖGÍ&&‹jŒFÁ
+*ð€hß‹©ãX	´÷#¿·‰]„þ/V=SãiCbÇ㦚ÓEO[O
+f:º„Ç ÑÆBÒ÷û)Ì ÝÞÈñÆnØÈGšÕH#с÷§=׆Q‚‰@m)Œïn¬ô¦è$sä6•A;F¥V™(µ»§wFòÃÅëãsv~úêâýÁÙƒïoÏN>~yô’½ø^±ÃÓ·¿œÿøú‚½>=yytvÎÞ¼„§o.ÎŽ_¼»8…åƒs¨Y&΃wo~aGÿûöìèüœž±ãŸÞž<hàìàÍÅñÑy¿9<y÷òø͏u0Ø›ÓvrüÓñ»8­c»,[“¾b?¾†Ÿ/ŽOŽ/~¡&__¼Áæ^A{ìíÁÙÅñồƒ3ööÝÙÛÓó#Cˆ/ÏOŽ:zÙ  ]vôóÑ›vþúàä$ÕÝÓ÷oŽÎ°F__¦/N5½}y|vtxÝJ¾É“:;{txŒ_Žþ÷ztpöK]€=?ú¿ï ¼$ä~:øúXA¡ÃwgG?!â@ów/Î/Ž/Þ]±OO_"ÍÚùÑÙÏLJGçÏØÉé9îÝùQ¹8 æ
+P
+^Ã÷ïΏ‰~Ço.ŽÎÎÞ½½8>}Sƒä!h‡Pû%Ñúô
+õˆuzöÂEzÐPÔÙû×GðüiKT;@Zœõ/´bZz^heoŽ~<9þñèÍá¾=E@ïÏj0xÇçXà˜·üþ š}G}ÇÄà+“—ë4´ìø;xùó1"/Ê?œÞ!ò¾¤s¡=GW>mkÃøå+˜ñNÑKöMU wΤdÈçé"ûy"ÅX"øÙLÛ‚È[–ª~ßBe©T)–"yøóù{|ÜßaBÏ©_³vcm•!2Ív«¹ÚÕdg}kg­ÃúÓÁô;ú8anþ! ¬Q‚jM“b°NŠªK$	«àÖÖ©<+•J}wàù.«V`Òÿ|tyqpvypqqy~³ü X¨RgÛ­V«]{f/|ôæåå‹“ÓÃÿ‚ˆAµì¬·;å:«TjP‡iào²ÆAÃÂ+Tn¿†TæN	‹%£;ïÐê~|æ^{øu‡õqIÑ/0œ:kêT"ó }×…â<úCz—þ$MŸZùž_C‰ˆ|gì
+îPc ð"–hÒ,õø2vBÚ¥­àYàtƒ ÔnCWâpJ‹ Aâ{>7h+]—Ì÷‰ÛÏ‚—²7€e͵7!P½¸¸|aM6íwXÅ|†¿2üTAE¦ÒýÔ©ä·s”=^©°5`ýª%ÊàÈÂT¯ö*,AFØØ``½V!&º5"’úb°Ú‡Œ9«‚·°óúV³Œ¢;žX†²ÉþüóO¾õN{Á
+¥‰É´²
+FÑS˜$ÀÎ’‰´,ðG·Rß&­Ða>ðµ7èþ¶]:ãÇÞà»t÷–Àù	
+H2ª!~Ëvù Ô’þ„¡P¨ÜãK¬#Y7V¼”U(äR|ÕÕ‚ª H½E9D8øcü.Ɖ=V$f$Û5Ü	!lÐ9À/‚¤úÓƒÉhûÓÑ(Åå| ì‡ º1©˜}Ú¾Žp–Ú:)ö>¬`<´3x”A–K¤œˆ‚ Ò3
+|m€²)#®Ñ”°P±Cr$Ÿ;½öx2í‚ Ô™XíÛjŒSMÈ]7¶G´â“€‹>ü<Få|…bCª°4¤ëµ…$Ê+AŠI¢è4`ÕªÇžÀ„ýóŸ,õ†(
+;	à9òÙ%ÅDZ3eeùǃ	 ò|€‹ŠArØ-[k‰y?
+‚äº&v;C¯ã|ð\kÇ}'v68{°Õ:ëhTÔ?ƒÞ(ˆ\,“S€ðæðöXù·ÕÍß:íÕr®9ƒ„<ôlî
+jÌ€Ûžå‘ä
+FM‚ˆòâJÄ\?˜¢¾FûVŠ>°4àc…ð™¹À7fç^üý+õŁ½ÚçRñŽ¶I X™]§;ºMZÏ€$Q0?øœõ„«3
+!¾
+‘Ž  D›ë ŸÒÀé¹VvŽ¦](g0òJ§FóF.”‘q1ÖHÕŠÛ*Ç
+©³<wÜXa׺Ÿ*µû훝=RŒP*d	«xCTìâm˜Ó§¹û3ÿ8	ti楰àsXd)š;‘úž[-¿ó“ˆl]%x
+ïÊo~Ù.`Êç
+Öâ^6RпÄ5¨l‘º¡OC?½°¥=³àI]fOSlÌå.M 5NzÐÝ0æÑëBÑHâÎ2¼•CiÁJفˆ»
+6”Œ„#rÁoÂåcœÁô‘êÌ%¢¯ÊJVŽGcgKÉzI…¼ÑX²-b5T=zWd…
+ðÝtÔ÷+1ª“ƒ`ê÷ù¼ö–ǍŽ._oQÇ—ÖnÀÏ)Ü8?”ÀòÀ{RCAŒþùô³´_>þlØ2`k馌R/uÍ1G7¼äš‹† ]ÁØ`B]r at sêÑ>ßäù¾;rc×:+t›‹="•ÏèÓó©^ky‹†ªk®¹Ýçv…è`bÇ‘¡ÆÃiD~ÀDZ$|%ççU¸§šBpšjãÍs¥AŽ”<èçQäù(°<>ÐŒ2Gz „ƒ:B2-H½¥æ «›Ð£ÝÇ:}dkLF W2ÁhÒ4T\ٝgxhƉÝ8O¯¤¡ªÙGÂÄ‚0tnig‚,±:sÞ•ø!Ààž€¡­Šg|’0bŽd£’žÉÎ{!š{ ¾ëÒñã˜§#;ˆÃP¨‘+
+AªÏcJ„³($‘«(Ý9þÙM´Ðë;+÷Uø˜×µq²I€ÓîŠ6æ4ЄMœ»â)祟pÃè¶Z“C‚ód„èøˆñ$…Õnæ”6ä@£Lƒcj’5ª±Kß=Í×·æ%¤(W‹èËc•­*ø.ûAE‚ÑBGšq]°&<!–T " ¢I¿ùÍ`1Í5â¥Eš@O£­:JÉY:C¬ÀèÊ”±1C`ÀO%Xo6¤SGʧ~ €xð9Õ!I!8w–	jhlqtc‰9$6=]((Ö@÷Ú%_h¾ô£zhFßʺóê¯2¯ÏçžTPxù%bXr
+ù ₱'u†<Dù¬5Oûˆë!?G•Æ!ûJÓ”®/ñõ%ç@P’‰±P-±ª@è–:C‘ÕÙõH½8ÈU$ŸÙJ•ñWY‘Ö¦ùNýȲ-fÿV‘ž«~.eÆà <—–f°ç·ÕÕ$%™¸r–Ž&´3¥Óp
+•r{‚²Û¡ùÕ0Ú3ÚQ
+–Ó_!™Òˆ %bŠ·Ð$¬àpTB½›¼1± YgÃóQÚö>‚Å£“ÁÃãÐû„!@ÈAd Alj}œFÇÑ(F°Âµ‘»Á^ÜÂ
+6p¦#
+ê¹¢
+ŸH5\3(¾åÍHñWÐ`)cîºCÏ÷ùY~MÍX¬3
+ö:¸qñÀ˜GC#-—o/Œ#\©pVGþi›ŽcþâË	4NØŠbÁÌh¤¦8p(¢1AñÀyÈž<Çæ÷&¤§ûj;[L€ Tù05€OÜ8¸!nQê`Ðc(-“ÖŸQI’ÕÎÐG¸Ôà]ž„ ïÃØsçÖL(Æbní¤X™ÀM¸¹æËlXŽ1•RZ
+ï‘hBãBÞ#Õö•l…Ç•ÃÀÍŧ³±ÀÌùëŽøyJP¢gCºâë@n4a0_f·™&9ý˜
+(é¨êGŒú½vü8­@Ê=Çå”H‹ªÈ5KmXf6½0á’ºIm‹’Ú,(( ¥cºdUœP¿z‹3('¦oÉô¤™º™6ÿ¸WÊ¢šyÑ%×ìtm¸–§Nq±,—õÄ
+ˆœ£æéò¥Lªp‹ºÞZÍâø-pø#O`ÈWµ–ïì'V¨VŽýkgäñÓ&Äq•]–¥T¿ÔÊ†€Hç}.à»îIÃ)ᦇQ6‚Ê›û*`ñIw:_¿%:–fRТsdfûæÐ~‹¼
+vg_ö¥º‘é¤yr6ËÁpëÆR)õbÈîkxÐôƽ1OoT ˜µE÷y™^h$
+ Ù{©aÈÎc5}¡¯¡ËMA6ài¤¼©.=Û—dT@³!T%ìÊxÇGÌmǘLZ4<…d
+1ØßwE,~'Ʊ`{cïæ7âØ$"`(;ÕR^O)
+%E½¡„:›)K]‡ÇÍÎ$nX;}JFöÅÛ³š´¶,nÌVé`FâÕ̇óA²z7g›¢w›ó!Å'K¡‰0 ‹z]ØŸ{0æ3æìŽi¥L†Ü0Å,:vÓ¢ÀÆZÞ¼Èz¢¿–áEbo<mDXTֹ̛Òwß}7‹¶yÚmNäÑ¿«=òõL	æ[ÚÒX\¿×ssè÷i¹ŒÑØ©ôutù"1§ò"±MËäÔƒ¹D“)Õ¨8Ñ@£(èyˆÚ| ’½E«P`k¿xlºÈ¡'‰*Ýx¤Ï×¼®}ynÌ_Îûú%¤aÑž•îz±LðyB™æÝbÊ´{À'ó|>Œlv¹šÐ£$h8pC˜]påÁL¾Ã~0Ãœs|Åô×PÈqEäÇ_-+wÌíÐ"Ù#s90÷âì|Pæ‰/×JµSHeL‚6(v]ì½îÌÑÉ‘F&éÖÂgÀÏ]s˜ÒÒ#(‰|&(ÜÆÓ¥£n®šj»n¾OÛ;\ÐÖéè–ÞIÞ‚i}D|ëM€J¹CfA¶m-Z£½dF(<€p(·aú™tÊöw—¦µ]MIÁI`š·_kLbýFxî;œ³·ºÛÆû!1ü˵¨š©G›|¹%OɝXÁ4..Æb\ÔKjGÚ¹µu:·;å.,|Ò•Aýºæ€)Ä­Yr•h¥R!Ò%mFWÁ˜ú”ÿMúÁb4ryY4Íç"–ëç—ªg·ŸåÑ4$
+‰ëD9áO·²¹ã‡¤¯t.¢¿‘²Íh
+’*1vn5¯ Øi;þÄÜ-#×m±â#d™ZS”O)HˈòÀ š©-$’Nau›ˬý(ŽÏ[è±D"%U©çœ4óïHû
+ß«Õç7×nšUÊÞóþ“*c߁Ê		2	:[;Z4âÇ¢"äGÿØJë=K°6#æ±,ËêAÙå:keúýì>‹¨ frÂJˆòwHµ=‡$Ä¡XOiRÓҝ¾C~º’ft'—Z…ŠC’÷Í»““,×¥g aÿ¤EÁD/¶èù<S¦H¡=PŒ¦Är“ Mz­i~Ÿ/H­€M­,´»VÐöûò¢&,æÃÑ­¶gì¡$ê§S†l¹É~€¶ü
+]º7
+i!YJä¹øŒ¶mêÙ´Ý@÷TÀÊ'*µó¦iI-‹ö,ÖPJ.&Ú#méƹE烮åÊ2)«BP­ñWn™
+h!öƒJð¥T‚/î1T‚°”Ôâj¸mE qz©œË£¼ –0‡w†w÷í\·6mwÙ
+æ´9mí> ÏßBqbea2”çóÎkn⯪=Utó<fŧØÐ|Š&n½0]E•(³Q|Œé¥)÷ϵz2#' “iÚÔ3O¬Ê•@åÿ¿×ª±¹ bs+ûò¹9ê¬R—œ¢DÜØûà¯u
+KϦZOq
+áxÜ·˜IÉËÍåfU‡)YYüé¸ëRâ˜l?E—(•^ãúmrLDØ\ 'ÃçÉÞk¥g‹ ˆ)ª>`”mZšK9ò„šº±hÖÖ;œ¸˜«š·§8àÕÇÞ®èâ_JePH?õÑ}Àµ £dš@ïŠÄ‰Ä÷×ÇÞï5{b‡POÕÂd/.ÆRIÑFL–ÒÃãÁ¹L.¦FnӇʝ0A2sÓ† ­¾o×ØþÓ(6+YFJ`Û$*TP2f„c£’Lûü<eµüœù;9Ûw¹Üi½«É{Ìä„ïÛ¿çäŒð¾ÿ>û¦ºÎ‡gY¼düÕNiŠ¿ó?øÁMZŽV)mTòÈ7÷Ž§"ÕœªÁR~G—_¢DïR‡¦ÄSX/鮯aÆâT(^SN:)úéMÐñ"÷(
+lN7Nè'Þ†+ùü[á¥í¦¥0KÞhôZ¾V[]sFìq9£éEÒI,žYò\ ;4Ä‹zNïÊÐ_G<%A6>{ò„=Â7üì~Æúϧ…¶c˜¢EúÍŸ¥%3cÈ¢äHÙcχŸxb(“ 
+Þt·ËiuwÑtéƺ¹-Ø%Ö*nkÛ¯t[¥™
+ïÓ,ŠxãTn–j%«07¬¸7*µJÞAHŽ·EEÉ`ÄCï†D…”ï›ÐÝ]¿UŠpDhT~«,lˆd¥b.涉…‰µ&ƒ*£àÆ
+U"¤ôصêl“ëq‘Ñ°’Ò‡LÅ…¶½´dÚŽ†Í–ìéeŒ¤{¶ãZ£,›úÞ?¼~µO*µF¥'™¤J|«þšÆû’ÜiùÌZ	»Å9’ry‚Rê,±Ot´RY$ø(›bÌ  %ÖÐáfY:dçF.!´¿25¤–})rè=Iô4.©³v«³f‰>cPšzYMèIÆ=ÂÊôá¹Ì½§žY(Œ"Ÿ­3SžÛØÉÜ+žÛ*¬‘T“™c&…íùh–TnÙٍfÚûB«éµïByïi!5Û¹·EtFwþÕPCX6´Þ~­•2_çK¿½½/ü~)v]ˆæ˜ïMн¹Œöª#oìÅêÈ„‘?®6çˆÝ³ži¡ã¿Ã<iþÕ´MáZNÍý©nÉòJ¢‘ÃÐ-ÄÞÐ’R°ç\2/!L=±¼ê€¿PrBX¾pߊA1ðÒ\^Ÿyx})f·ÌÒV±sw–µà†ŽÖ+J»ÜêÅÐLÜuyæZ—‡žCÅ®;áÇé‘È{ ì°‹àe0oBÀÃÍ™pNmuÙ)§øf¦ùæÏ9x‹3(.I&Í×N§Mm”â1ÂO™Œ)ý:‚»ObÛöó•@Rš¬«BE™Z+•gK
+:ÉýxŸxÖ…˜¼z<¹äW$‘ùA»ƒ JíeÓ­/ e…wàh	Óÿ´X”
+bÅ“)¦Q×'œµ>d¬£¥e3Igaª}ásä5Jìå:XšÓu¿„Ÿ!Æ5;Ó~4êÞFZrëWñ»4|—‘/l÷Ûq@)ë)‘W¨¬ÚÅUúd00üºøX\ñlIIµkjM‡r§1`ëmó…%YQo§û…Ú±ržÞÐ`ÎvJ_ˆË–3)¾’ØÏâ­?¦ã‰·’7÷µò•2§dé5kg6'fä*0`äºR6ü»£‘‰ä÷©§8š)×à⬚ADS‰x9î]Ž¿â½Ë±MÓõÇ*Q0Œš <ŸÑÎn­@¢i"Á²-1ž,´,BÊo63–¹Æá=›Žh¼[b>(Î —X’€£…Jòc€IöPv~XO[’H¨d	„‰C·ÂUt¯ëyY-çÅľ¶jOKÐK&wJÓJ%}šÌ<Š^Àx|žÏO¯€½ÝÐs™¶>&Ö㹡qÕ²å^åK'­Ð<ê¡ãG#'vß{þ['¾ª&¥¥ÌìÅu“‚"-ÁÝ8óJÌbðJÑùùäº5s´m~©Ïz{PäÀˆ²RN8YII$Ê6!ka¹æcÎJüG¹	»Tԍu3F
+æùobÒÇâf¸tX©0‘¶&†ñÄ…çgŽD§@¤¯/È©õȸÁJ£Dn~2¢R¦=ŸŠV¥’: ˜¾2"Á ˆ^Z1:t¨xžOû1k`kòt»#j²MÚ¹ña	T0ˆ”Š.) a‹\wÅçºqÓÐ
+wUÝ_*‚˜Ä׎bâ
+j»°#;ÙP±ÿÉÃM#Ò pqoÖ¼µÜ‹Î’Jè‚Å)•zØÈ¿F)ÍÏP¾Ü(×JéIÈ×C1j­ßy8]²qÔ¬4dÓöȵ+¸VÊ	ÇÎϨ«—¾ûnFtw*M‹úäå ±i*üN$ßÖ0IAP®²Ð“wH‹ŸK5¶h žœÃ–øU*¬«Îž 3'wF·ùÚkT*.í-j“fõü­%±ºÎ¨7Å•[$Q磵E''øβæ'+¾¦Épؤ¤‚n±GqØO2™'´²ìY¢Á?›”Õ‹ßÙ¼ N×]VÚ5ªÐ¬X8
+hƒÊdL¹hÒ›VïGüVG}u¡Õ<Ë“†°ÈÒÑÖ„~š4öaÉàLéÚ3“ÆR«œI`5‘º{vêæ°Œ¨ÚȾŸeƒÍ H‚?¨š:…4Ã4gnJÂÈN°RÖÌ·†ËZ
+r•3nMÅwØKX4ƒÔ&1Á­”Dûa¢F¹‚;ÊܐJ0²„õ€Fjy1¤,Yj¯IL§f–ŽµRQÐV)£¡í7Å4—ÉE§×šg«fߌÊ3:åUäe6Ûÿù
+ÐYÌ(.ͲÏúÕ•$?Åã¼Â\pUøþ	m_Äç´ CôÆ
+¾@ò§‡uúˬӥb>QžQÛ#Æ”Î92‹ycPÚêluk
+¦OãЪÕJ3¦²~¸Ê6¥“¥Efd¦óDß×È=W0Ç‹ç·jbi×Ò’¾81;­¾8ë̝df®ý¤EfíÊÿ¶R6eMØ.°Ú¹s¬…“üµPé}#²˜‚Ycûl{ÛæmÑÇá$ð‡’2YµÅ¢˜ ‚ç0ºy„‡HrA@©)Llà¾	ð\<¨–ÿ{#bÀ6/ÝÞiR¿#”_×~¯™µ†óÔZOך¸á8š]¯‚Ëq…*ëµÇÁ¢×n·£¹k£Ë† }™3™Y†~êÁÈ"óz]<®Í9ÇoŒŸ5º¢Q¢UË$ä0|2s¢Y^/ß¹Ý"*DÈ?°4OËjô°\Å`“«ùeç©A„çòò×웩mØ‘‡sž÷Ýë±óR´½ò|ë«I輏–šT½ä¹•ˆn·ZÎý×î ¸.ÍpdÄB]M«º˜Ìšã„ÏÓº¤~]M"sVêÒ–F‚a¸átœUúaº¾îÌFUc”º>=êj<ñ««««1J•Tׇ¤ž‚ØIÉ:[M„òMFÓ±NùÌŒÛ ˜q²Á^ÑøM´Ô)/­¹Ø^Û²íÿéí|¿Ç‚°¯K»Ô{õv­fÁæ˜Rž}i–p“Rf‚÷bÌ^Rÿª”G¥–AV ¹Û^ߘ]€fCèÄ™:ÐׂJ ¨ðfñÙÒ´Bέ?þƒ“ªT°kÇç ôÈ¢åd†‡y@in…IŒÑ~O2aæ/“²P-w&'“x‹kªÊ³ù;Ug³:Còbu}ãËÒ’ÆÁÖî/¨«ýZ¨Å. at MËË	——{<SÉYø^h% Ÿ$ŸLYYÔâ·Lhêd.Ås–Æ9¹ƒª9YZÇ
+¹ŒF m#£ŒÜ]ߘ¥7ð±Ê׊õ[ …t[ÈõZÁ:‹*´‚ûæÕdÿÓ•£I‘V$ÖÔŽ¾ºVÄ'˃Fô =hDÑ×Öˆ´UߪåhÙZ3Öd‹V’^Ãt/ÂIåa}›c}«4šæs£ P…ûya¹’µû‡eìa{XÆþ¥–1ëP
+›Ø‰ÒwŸP˜uqÊÂœ}µÄ:˜sgmù½óEvΗ;‹›9k¹ö*=êOTŒhN$±¥cº·×²…Cùµ¢2·$£™•á2¿Q—%ÎÙÀæ!ú¤½ìÀzjoz™4¹’ÔÁŠÀ¹¸ë±ðÙ Æ¿ðšöý^®”þ÷\ËÌUÌhpA²z$%S?Q%37-ܽ„?S¯ÿñßv9ÿ’›¢Y¶ih
+X$BPTêhM„Ž:ZÓÙ í¬ét„BFpH÷‚º«)oµ3ˆHeL|EU¬,6–‘fYþ=iûó¸WNdùŽ&2,ƒ°VãÐËœTz	ÃDдÌ£=c]\@†ÌHoK‹""â>gúQ+eãÁõÙ¹Ç:°âñp{¿÷R$ù':
+å›j‘¥h2Er2&½µdN©”I$jx7*šFS×òÏ6¬€âîÇ	Ýž´pÊ+ÏLÂ`↱çF¥YCg²Kò*Í-‚jc VϦÑ+Q²j\›‘¤æ'	†5ðKß•wG	ʳFÌHõéžE<ÐàùQŒ÷¾’Õw#ä’C!qèºó’×B5‘7Ï’À	KUHù5éeNÅaQÅaAE	W3' ÷eAGùë´4ÑÙ@
+Њ8]Á+&Oky;ì[3Æ¥³…‹ùc}{*ñKéwÔ癨ˉƒp¬«ê]·çL#Œ„…‡·¬õ@¹5rÆ`ð…;Z32Èñ§VÒ‹Å%SE>·V¢µ'S…?µVZ+ó+ÈÅ,SG½È­†Ÿµ½Ðª=m.¥Ég¥‘y³ {
+ö!Š©0!¦?WÕ’°LQ\ÖJÝO’är1¯SÏdnýлvdvêtv}›ì¤˜U»91	"þ֏f£9SñŒÙœ/~DpoÜúù"³ØÒ*ðœ¦^çYXfÈÄ^yŒNËÁ(ÂjFx4õŒ©Ãåò`¹é˜•¶ò^ñér™ÆžVÑvò$‹ûon›=Jþ‹"=%,.. ;=c¥[۶Řʚ!W*ì5FVJ‰Là_žî¢•]@[™ynu!%‹û×L–	(~¸µîžo­ÓD~Fâ/po:ûˆ1ìZÖì~i«ÝßcŸ³BÂ(¹1-Ncûø]v¥ÌQ\ÛTë¹Õlð²`󨃥-]å¤m±Â¾SëN^?S=-8Å”Ûk#ºÈš+¯ýxfºOñ#ëwç$tª kÃÛ?+
+k•Ïö+<r(Sÿk¡» 5ŒeõÎ9SM3©±7+[Œý ô2‹x9—ôø'î1%2[3„çb=wßÓ‡²¢”è9ã.{ž¤Xê¹Þ¨šÃ yy‰²žþ„õf.~Öl-ÖËÕžˆdêv5$Ó>7nQLpû¥jšˆ·åxg~7±rá§Àé5ý">qkÎé=C…’W8Ÿøâ}“yX´ðC^…3ûç?õ#º¼F«ÎÔùgN€'O˜¥Ðj§]h4Ë”æBÚ²He§¢çH.C†ø©eêBȹr͈kìJöu„_[_^W®‚é¨OY‡@ŸiÖJzV
+±Å…~ÈÌIqÞIí¨x-“1‡`ÈCâÙW**$}p[Œ³dBOº°+¹Y»Â)ÃRgïŽ2w;r¶zupr®Þùj8|yÍ qCT¦ÊÂm`É;5 ÷Ï€Ÿ½Þ*Ç,WQÊ”]¥l ø5•åÒf—ì'yJÚîê’
+œfKbˆ“à5’× àðÀÝdâö¹|¹/n–ʧ­éŒ2Y3µPé[Dá[\Ù›yê—²;iœÈEAúÖSž!Å0,Uï^Ü*&ô6õ?yyÿ7­x>¤A0õû¶	,F<}ÈÝÔŽ’DW	:6})“B›nGÖÆÂLê†7#‡C^ŠdÙFêèHÝÊ)Í:”vÙý dÒXöØ>3Cæ’kr«FÚ6 ©œ(&Qçµ·¶”©3enN>°”*e5ŠŽÅq^PÚ@'LÂ>ø}Ñ©DÚ™u…7õÅNÏ̆ßÌÞXr›eý¤UÃb¸9¢XÈ“N[-Í»¼]:åyÓ[àóõQ²X¨éÿg)*»îý‹,ë»âG#Ï­ðµÒì=ÖÂ&K³oþµ¢ô,ÓyÕkr‹T\êa3ˆK.l)¥0/³K¢úYÔÈd
+Q FnB\ºe”±ûykvó·0©Ì,ˆ"¥LTÓEŸÊ¯7sWë ¥§¥›³ÕQ¼‘ÚDO-¡•YþPžÅÏÞ%Û®8sF¸öÞòÆ£iëË|;±¦X”¶¤Î¹K×ÑÕ2£ïZ&½; «,Ûw•¢°8tù,·ñ~çAK	D0¿MfñQÙaÛ´¡œ¿ºgw¦-zFê†S¶Ã„/ݶ$­K†Lý0ËÇ`¹Î8Ñ\œkÇ9]oäÅ·D(¦@,è”ï¢_ØÑ4(¹
+'7Âëâ:Ñþ¡j®ZȪ¥<¿Ï¹ƒÊ?; ¿(bƒ›í¹¯½&yN·,Û¹j™˜ÀÌâýç¼®_‹Û”fÎóE…«^wü!W¼Â¢³¹¹™›rñ¦ú³bóè-蕝u'õçR±ó®˜´²Ý‡½$mµQæà›œË(ŸG·ã4þQg‹ 2Ó«ítƒ‘×cGk–ºµœC}æÅ“·kP„…ÅÙk m|K7êæ%Œ³„nˆúÂE‡ËŸ+‰e¯ásrµ§È GaS‹ÓãÛï0,åÙO.üTÃTgº[?ÁÏ¥»nJ,ŠòLTçÝ_H%”Õî(U€kyÁ£‡WŽ?ÔÌ[òÄ3RL q0í]å1ºEƒxV*؇~OX«ÝnÛ˜ ð;NîG·7QZÔYÐuoÙtìD²¹™ÉŸ¸GuètužÆóOVý¢Z“(d9âyï
+àåv˜ÜËzM‡ú…c:g†"©Éa•¼n=ÚËøåç©”"Gö"Aå¼j+)®*Ãø•#îçê!®¶IÿÔÝÂðiÌè*G÷X¨ðÞ$T0o­Á„sËUÔ0œNàU£’—2³Piþ\˜ña靶ϥ/4ñá<e/A%?wÝq$\6SÁ°6
+KFTy»EÍpùýË` ÝƒJ~NÛ…††¡ž­9È­¨‡!
+™ wþùÏŒËÊx¤9Ü­Îß“`˜¸©ˆ£’-¹«¸Za†¦^JüHv^5ä¾W?ëÃ}«óûS¤
+€ãNƒüÆŒ„ÈæÆ꯴÷ùý÷"Š‹7þ,}—§Å·NXô‚©¯®Ù	Oõ"Ç?3¼ñsiùce¨L0Y¿õJ`ãÕŸ%»ðL]æwQ…,‡pÅ5Ã3.Ãγê²÷:&ªu(BæÒwä¦oŠ-7âñ¤<ÏEïºIÐqnÑåÍ&HÛ¢(wAx`"ú DÝ‘fa^e~Ú¢‚˜Ùï„Ï×/?—îzU,ô÷IæßÙ,È–¹™ÛðÛ/xq]ªá˶7€äXÅwŽLzXùÙ²JÛ†-‡)UŸò/×\jàYfš_­¯SnúGrÝL†8ßu¡V—Ü%õòÅE²ú;8;|}üóÑåÅÁÙåÑ›——/NNÿ'ß¾"™*[཯ŸÊGTg7.ª
+ÝÒÂA³Áq1 áôq“[Ô~ãIQ€Ôrùƒ—;éœÃÄ{êbjmT‹îm™Sºä³‘Æ 8¤›Ã!èÃm͸¼åŒò¯;jÝ9FͲ(Û/^r
+î»#—_{YU‹®ñVWÄÛ—W
+ï⻓_"|ŽsÄ]ä›?¦xÝV_(Ê`/ä1h<EŠ˜þÁÈt€ßÈm"ã‚™çÀ*ËñH„”ç¥BQlF-˜ÁzzŸ\.ëêxÈÉNýä†A]ïU"ú™]Jïø}'¤M(^§+²ADŠÀ6Œí…Uù
+
+¥n£†úP4¤È«lÛ%ˆ²o+oܳxPò®
+]hZ/ܲ]²}\²«ßç;¦¥p춃x,ŒšôÅ‚2WfrÑËžŒWȉ‡Òm‘¹o4³ÜMeæðÆ4CpÊ+%u1×$Y€ˆj­VJŸä.药mk&»xUÏ¨-`²׏%¨–nòq£øÈà„¬`íŒOÀ˜§ki§	)&(%PD¡)]Ë~ÎCÕ}Þ~šòÅy´éüF"
+=ÉZûy‡ì)þ©–vfLÄ
+d–˜UüÑž Zú%3 =]äš…e6Sjµ´´/àyµï7á¬mÝè3×rÁ_…é”ݵp.û›Ùo-s@¬´|׶{<éøCdXº|õ£ƒ;è¬ÜD›ƒ Às§]',c‡øCüU—ÐBœ6< ºL±ã,ÐWj9)žIH6¦eÏ™¢
+/Ó×"ŸŸ½Í™™ìÀ–I¢ßÉg$¶ÈªÒ–”ÌÂ]!w9—a9&#ܐ£‘pK:’OÅ9R.¯U­4¹ìOÍ*£…óxÚOàz Ñá>ÊÆ´§]%Û^˜Œ$å­ÖVÚ¸)¶Ï·ÈVVr¶ERä‘÷˜fâ:SV’ˆ7æèúI¤Ì‰ãEÖ`U£Ê9ׂºz’3Üçãj’/D2êN}P¹J³Í‡ä^é4æó£îñÓè^’Ü(Ú¶Û@êg‹ %þ訡:`èòäÇõíU3C\“»ªL«6o¯¼Š..	*Í&9u(º/…X¤1g3Ûíü]ßÔEš	y=ýŽ´¤mœ†³cu~ÎUølx€ìŠÃ$è§Î*¿ý†WU7-'	2W_æŠø̘´Â˜HW΢—`ûF’²×jõ݁ç»ýjåôüòýñ›—§ïÏù@ò»(¤œÎܨ[©±9Æ›³…óÙÐ2c÷Š“ òbž©ÔzÀe-?ãdÙX̍;Õ ß®åí»¥·¤¹p[d7±vîûé+±ù‚Å
+»ÄùL›æ²ôGÂwÙÃW’é>—~Ø/ýí_é#6[//œp¥ÝXm¬6ûA/jjñÇønm´[¨²¿¡67ÖŒ¿ðY[ÝØ\å_EAÖîllvØß>÷ÿyô¦c˜—‰	Ò@`-‰˜Æ ¥½ÙŸ¥¹›Nú¨Àï°N«Õ^im­´×Kð9½vÃkϽa;¥õA	Þ­!Ñô•;šÐA²èP6¬pcÇwHëþñÍ;vqp&Î#îñÒb b¡¿¿e\ál0Ño @WeĺNäõÔ"±‘÷ÁÕÛ”©êèWãnpÞ”™´.w©=q+Ê&ƒ %šï‹ý"a-EÆ_{ â:ýkÇG>Á1¾r°Ð(¸áP1Õ“}uÌïÀ1¡¼$ó€~Þ³«Á{h­T:ç†K2&8"‰Ð–tÀf‚îR4*‹à2ø8vÂKQhù0ÒÚ¨VËÒ÷	¹%§•_ُܘü«¯Ñá†Þ¡›éììôìòíÙñ›®¨Û1KrÂJ
+¦õû^ûŽb‹®#“/Úð}ÍMãiGÃr7n‘*%ÈDä€_F&èôÝëf>ðÒŽàÐÌG»“1*•
+tÕrèŽ\'r›0>²&Ÿ¡óoÌÑMÁ>á<ˆ˜µ”`ycn6‡OyYóT¦ýäݵqèÎP«ÜÞ˜Ñ2
+ÛÁwUõWyñ{£\Ùí†ûêþ9^5xòÕT-|˜[ƒß’’®BO±«–(äªePÑÎq¢½b¿°«odf¹Î²•j`æØ[B36Ó<ÌÅ
+/—IW€g¹å‡–òÂò*M~º’|‘ªùÙà”£DêÓ÷(E¯,’ú”Ó*„WU@6,½»d´i‘ŠŒ$‘[oÐU¥¢Ì<¶²¥‡‡4õx¢jH	‡‚l:ÕJ/Å­·(Wñ(´¾`ÒzÓôÉ)ö°Á“­®ƒi(óìhÈè+áájX‹`º:iq)„m]æ
+º¥ty”¯–ÒQá4à`q%qxâMt˶þ’hhªƒŒ¥—Xžv‚».Àõž{Gé¨
+€â![xÜýÔÑ×TZq±%V:ÐFƒ_2ɇTeÉÕ½ô'¼lX2„Dj*dwX\À
+i^§=yD‚vU¸éUÊîbŽa]óÄ‘èCããŇVQô`€™ÆG$S¼knLÙÅû^ÏÁ=0j¶ÞÃÀg=14ù)&¥ŠœéÙ›v,Š
+ÓF²æÞiͼÔÆ¥¨êð$2UŸ•^ƒÆ Ô¹	Â|ÜŽ}1”ÉßÐfˆ\û’m‹ì\Ð3añò‘1÷ig•Ü™”q²kêÞ5RˆP«Ù€­@§<ŸiÍrÝH;ö¾ŠÇóƒÙâàR_Ì€”â4Ô©`ápF èRAÎéÃxêmm”ÍšrÜ —˜Ç¿E»I¶Ý Nâæ#j‘hqs²0Tvı«d ÒTµþk¼*&	馡s‹‚@^ßì:½+ñƒÐDAB9Ô|„fœ”ËTåî’þeo@´rûˆÿ±9£DôZky¿Èñ*mxNp”$¢dwäø¨_ç®ËqºÿôA¼Uk’>(+H…áщQ#+iIè´š¢ì§”G¸Î;ͱA´f`nàÍ(=¸mŠã¼ÂôkÑ”|é"WŒ–MÌõö]gû\2-ç41‘à§+Q|Aå˜UœJ³Â¾r¸~¿¶¼Ú,hÑùKЂ©"
+#"0Õ5›äü?jÑE©ÅVvV)ñB
+UP“8Ê
+YQu¾bJt÷ ŠDñ]D±Ê)µ9ÒŸ%Š¢Èõ,¼P}BPú*$õ™†©©uJ0ÑÍ•ëóí'±­Å‡²a&x¨êFªÁj²Oˆ,_ˆ·˜+
+iø:-^]wèùtú.ÿËb=h0î5j‹4 Ú ­:»™å2ç0á’	0f‚cÊwÊDP%	ìg(F‰Œ¾ˆ¦Hº%L»´IÎgô4B8è&r)•Iâ©*1±'­A”Ñ„ËÀU»Š8Ź t‚  ™‹4`a[¡ù´çLræßÓZm~–Y¹9.’;ÐB‘P®<oôh8`rÊÁâGm8ó`äüU‹ÆqG.7¶8i•°4§Ôœíë3βuWÀ¿4ê4ýhk½=׎jþƒ:³°:#ék‘¸P÷T¾jÁ!—L†˜O
+ŠÃu•“0ý‘·=£
+í¼M¼pÆáùú%:0É¢iwðK¨˜èú_KO[Ÿ:÷`{Zg8|…6ÿ
+Æ]§BVÏ=¸¾–kMCçYþÜЉ¤þK«9-z>…TÀŸÆ/ô$J*ÒXIÄ"’àŒ‹•/–S¹¹`¤ÂJÎ.ŠdÕTàr­Î(2)G>&MÑNV³ù´ì½Y:vmם7¢öc#<ƒŠt¢¿Jã•Ì£ŽäÞ‚²!4`<ð*®±ñ §>è©ÿqzêñ@0)ÆX’ù'LÑ”ôE‘†´&C1Eps.ª)ErI¹¥3]ûbOqHhÏŠ¸ÖízrÝ%!âÆ'eYJ¢º`(ÄfrââPÂs ’ÆÞ'Gîõò®Èãö–…DJ’P'”ì’äã±u÷$æ0ßFðI-N,eûPp»ÛéóÀÞ/ÚçK$ˆ§%<mŠ€iVM¸Wã΀‹pÚE ÜjRAKC’¡!g¶ímî
+ëiœQÜf±ž翨UÄÌ¢¿‚Yô+èm¿[UWÓ‹›Íaú1Gòc¥k§‘2~îF Óom¬$ï5Î÷b<`9ž:e¬JUÊaÕÄV©e‘Áµ:zfàùñ|Èéˆ9ÚéS:í-n[ÓŒ®;¤©z¤™ù¸¿îM*<€cܽUG@§`ŒÒ=¤—\sÄ	“0Áã+g´Óãäf¿©r
+{OhœÐö0àzRL‡WæòKÜÎÍÀ$Ânâr$2©E°^NÃ)wãÜêp0ÔB®¦
+v„‹øˆ…EK‰L}hÊ5†o ˆ#bÐÑþÕ-Vûýä
+Óêœý/dQþÛïBÛ}ÛbãY„kŽ=û½ý×Xû¬GÂüû”YëÎ=èämâ@³ðë\ÛËP/{yº8óÍH驦2ߣ;Ë:ÛT„™ÝP Á9råߌÀm'N|/Qô<šoŠšÉíwŠHЪˆ—×ÚéàÚÊ—¬ w¤×—’`{ìI†¯õÒžÅ狦ÎýRµ~©¿ƒFãŒÀÃ1Ä\à6¯ 'R…â5ãÉpNíÞ¢þT™4V²|ŠØZ4©qÔYG¹ØøýŠä¨¾“mC˜³uq]D&)/Ҳ͉VäaLMƒ(É›5÷Ž¼^"sš·(ªäQÐ×Z\“@5Ï[¨©d;…~ߐ#Ké¤N)ç6éïöÎE’Sæƒié¢Ð™àntèñüÚ6ahÖ¶œðã}E&VåYºr\È&(´¯1vC\**µüd¬y÷ÔJY­{˜M5[¹wg´…™‘C G9˜Æläé{2P8%zÜŠÞÚ¥ÛÔ3õ•«¿®s¹«¡l7ç韮è&«.P´J	Ô^ÃM)ø¢=áW¾¦$·È(+Át©» ¿™ƒí6ëõ¤§\Òx´¹ŸteX]¿.vBòEÿ3¹}µ"èž5SáªÆ¢+qzJ$·%Uœ<%*ËílÒˆ­Qk‘z6˜Lá#1H’–D9Š]Ý­œø·•™ÅÄ5rzc¤ÇŒ[a#	vìøSM·”´„Àæ.é«€5&-\4ÌÜAj1}º¢·€·„Ÿ’k„¿è 2¹¶cê‚´m‘Y؝V²f“ñ˜!í"ËU‹O&n–+×™²	Ò¾3õýyrÄê-™b!Ëó¾ ¹®›L†˜Æw'×­—ëÕKõG¾Óú•B „¤åÜá¡ÞC×wCífÂaÜ{ĝ;>Ò-ÔÒD’‡©NeÃÌóŒz`¿xz¥`É+À¿Èõ߬ÐhZäÞoËš÷–ï¯4‘ð¹9™ŠÍ¥Š†AeyƒIÐÀ4˜ÒLS1‘ãÍÑñ:á™ÆsÆAÉB&ãN7ú"Î÷©.Nt§w¥íJKUMHÑ”¡*ý|¤ð€Gb‹œÌjµT¹$t&R.ß4Dñ–Ò¦£ËŽ:@L|™œÝ:¼!ýÄïg¸”6ÖµJt<*НLx)€Gç³"V‹¦pÂñûDæ*^JBMŠJðúÚ‹!1ƒéÄ|CEá•LM¨#Bg;áÝIF%ÿr
+~c“:S	@Êe[[Çûx¸ñ§Ì}ngfçA–# rë˘jÿÑç|uuäá̯:ó›YååL¶†ZʝHÓÂÙ•Ž!cQ“˜ü÷a@:~²ù#Ź´ùR±4|Keok¢E倪g/Éž×+eYÛEî&º¨…yq‰h›‘¹Ú®ÙlWVI{L?GIì©r~HÛ(©bqœ®–Ñ(â6š“Xóò½Ýó—ty0zþ]ŒšáåZCe=4¢èʱ{³–Š,¢« £¬BÖ¤D‹©ºDõeòLaogè6>ŽG÷–c¨Ýjm¤ò>iùŸÚíõNGå‚ŒmtÖò?}•Ïî0òfT£÷ÊíF«Ì\¿`¬Å^ùÝÅ«•­2ûa¿´ûèåéáÅ/o˜àvþËùÅÑO¬|Ç“fsâ:acr5iønÜìÇý¦(·‚ ¡¾¬f6%ž†ÚÓ­Fëì°
+UØ.Šƒ}MFì6é	¼‰¦ã±Þî_ˆXžŠùQ’§Ý¦,¥ûÉ
+¿O«;Ï%ò,EêÔ	‰W‘âmß¾~Û(ƒ4LÀ*ŠTz¨ºLçdd‘>¤¦	¤FéGL+!€}ϯCÑq	h0àkŸF^!º>’ƒu§Þ(^ñ(tu8ñÂLMÁCŸÁVàõÍLÌb‘  €M ð{ìx´
+ƒ ?õßø“í¢Í´ßsG Üw›ôƒÓ`üºC\A_¸¢!x협¨ö\pÆn“?¥a0r÷G ,w›ô›nšmÛQ¹†%þ¥pùÙó{È/Äë4.×ü="Óàë$þr8EQ7ƒÏyì
+ÙçÃ×Ï"ìS@L‚†äÌE¢iÚ®ÈäDïÄlÚ§„~»Mù_¡³ßiµ¶WZ«+ÍÝ&=À7#h ÞÀºüâü%;á¿w›òÂDØ. Ž¼S,–•ý v£ý±çcî”épà}”©¥JOþz1²ÿÚÞî´
+Þ%NíÂä耂‚¿rvù]¯Äö£›Oøš]ß"°syܝ8@Ö㯠v9Q
+ÌæÆ6;öå•vâTšü8c88áööïD]Þ!üª¤D{eeR@÷Êšl*³¦­¸´†,5vvøÇ25AÊ,SMȪeªj¶þò]åvÃ’¾SeÍ–o=å#¼T~—©¹ñAw§	·IûŒËZCQÖì•A$•17¢+ÔY:×LÁm^ðÕ¾ÜÌÔbú¶ì¢ÈnSC	Ÿ’g»”pݱ äc"é
+e&í61eg=‘vš¼Ãå×&ëò¥]!B„Ú ¿BR 
+ÙFo­ÕÞ ËçšŸNF䆧ؚì{Ñd䈍é'Î$ˆž=çJ¨ÕíÖ6ضü:Ú¬‘NE%©y–3Ǐͪëk Ê£FŸà“LƒøÙ7FðÖUÌòÃwSXҐß"AšaTéƒÉ‹JGOɃêæ
+ˆr·™âHvÝh7:횉ÅÆÚÖ;{ËÚýÔ¸D©¢Û««Fò®j®’Yc/“Ë*BÔ"gdBÛj·×„qÉCÅT³•ØxälÇ _è.òYs{‡ßôK*ïZ€Î4%qnÚ¢5?‡¶ó8t„öæ½rèêÖúúò¨·
+Qom¨ÏÂð‰d@ ’·ÚYÛ\¯³ÎÚÖüÛ^Åï @Ô–E7W¬­ ¾[!{Ðï+k§¿•H%ÑNNN’ŒÎ´‘mšY黤“Ëö%—gV±/Åúò”¥{óâïfî½l	
+LÕ<&ÒM<²sanÁ±È™„7Öôúj÷néÑmP¤½ÒY[ˆ"Bàá‹)]þË‹.‡[«Ñn­tÛ…øY¹¯ëÆÎ<¼Â|¨yu«¶•èJ£Ú²=ØÎþCü¶¹ØÜ™ÆÁJßÅ($ÊöÈ—;ã†á%P\+F±µŠïE~|nHÑ–%’úï,·Å ¯‘RDóuji¼;xwVÚ‹MåW¸0{<¯$Îà±ߝ}W0\[i¯Þ•²}v"[.#(¦ênSÓKw¥»ë_,ýÿÃçáóðùþü   ÿÿ `	• v 
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/PEAR/Console_Getopt-1.2.3.tgz
===================================================================
--- trunk/plugins/coclico/forumml/PEAR/Console_Getopt-1.2.3.tgz	                        (rev 0)
+++ trunk/plugins/coclico/forumml/PEAR/Console_Getopt-1.2.3.tgz	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,34 @@
+‹      ì[ÿsÚÆïÏþ+.®'€0Ø	7iÆM3“¶™Úíë4ãa„tÀ½‰ê$cZç»{wú†ÀNl'oÞ‹¦Ãénoo¿~v.lç½=åÍ«¹÷ÍC=íVë°Ûeß0Ö>êµ²ñi·ºü{xpÐ;궎`ì°Ûë°o¾>ÿ¾ͳKJøÃÝv³µË¸ï®ð§ÃÝßÎh<Ýýîdg°PvÂôß0³â°ÙÞM)tÐôåpwE‹¾e-¸6³EÓç‘åF®¥‰4Ò¹ýÈ–ï·¬ ×v:ÿJŠdör¹l.šA8µ:­VÛúã§7gÎŒÏí†ðedû‡URô%
+¾	;"VoÜŒÝ8£y%]v‹cÞfÒÚ=Ùaߞ󓗁/^ñ(XD‹á¥3³}Ÿ{'YJËŒÂÏçv¸ð×wžð9pdÐ^(y8°Ì˜îré„‚^ŸœÏ„dðŸÍÞþø–‰ùÂãsîG$.LØã¿â :žGê3“ñb„XÑlGÎàƒ}™À˜ÚW6VvØÖã¶õa_ønÈûs.ø¥|/’Ó²AüžØôz`Ñ5
+O?O„ Fñ½íDâ’Ÿ¬¸Xú3ìiéMáÌ—Üšíu‰)ûÞ~ÿžûÅÝ¥¯m-aú–ý ·ov¿ÁŒ{¹_…væö%*&¿³Ã=/˜®m®†?âÜÉ–׎ø	8ÉQ£uØhw€5€‘€ÛÝ~¯Ó?x6°è+k·&â!ùI˜Õì4–ùJû.
+·a[øˆ{¦+àƒcá‰h•#ƒ£_§cÆ
+¡ìê'îKÎâ0ïþÆ¥ôûÝ4à7êËÀŒ’o—'ûl"®Ø÷ñ”}Û†Ìó´Ï~ØÒ^±(`!	[x¶ðµ½7´©kzçØ¡ðPÑBŸüüDÒ\2Tãp×Bo†‘‰ð8›»=ðºáî¤ÉÏîöœ#çÙouÇ®Í{½ñá„RµXû¿¥ü¸ËBîÒG‹ö²`3R†àf¾ —!¦Fööôůëº)ˆ°Á\ø Ñn³5°ð#
+ÙW'íq>ªm3[[-¸ïBö\jUÿ‹»J°}PĻ̓q e^)
+Üž§Ì>ÃÎAnEq"S²#º]Žd@‰¤0Çœæì’hgì¾`ùœÅ–Ù>ËY?+Øÿv(õVð–óãN£}”ø1»»‹°'évz}öÂgö|,¦qKÆÃ0Yà8qòfË÷™\pGLV˜¤˜Ï)hÇAëkîd]¯ÕêõÐõ"6†Ë!†IoÅ`¾J%:ƒ°¹g
+³KÛ‹1Î/dùPrKu¶ÿ«Ô‰1¹Ñzú êüA\ÔÆñT¢>»OYõ
+fh€ —ˆ‡Z ,
+cêTD³¬“©5JðßV=µî$`XoO°Ç/ •Eö´vG=mÐÒ—ÐÑê¨Ý~(a
+‚0%b³ï_*% E‘C¤–Ì	À圈ù̾A²	¸¢Ï—Â]¢U.êÖ—5ø³FûàAD}FL0ÍÝ]dÖj¶K£ˆÿH©yd—Sã·‘X¯Ñ9|‰½ýåìõL¡f2?ñ€!½ƒÛÉE(#ÆUå€EƒNåӏ†€²l‰ë±:¡¤pGá·6¿õE„ŸÕ÷*|ª1š‚¬ï&°gåòzö¿$®×¾ˆ„íÝàÞ
+òj80µøÉÎÿQÿ'ßfhPmg­×Øÿëô:ùþ_ûà ÕúÚÿû<ý?ÐÏ.żÏ$‡Ð}µ€À.¸m,Á †]€âb-…͆Ý>Û·v,‹=iÜËói]SÃéwtX}âs}ÿ|½«PLg«:5Ö~ö쨡«ËÎgœx~ñâðE­:	ØÏáŒúø5ÿq! H¿Ôؘƒ#Í­Ž”õ,_×ðò6¬ǾëÜá¦ë+|"A½yýòôç³Ó:R˜“§e_B5@È*šh¦3Z¸BÏm€ñÆ’lG䄳˜ÓâÐëåuÍ6' ë`ÔjFWQó–6qÍ^OØ*ˆ™+ r@½	ø™ Ø6 ‘ŪDD
+n‡Š|uš ¥Œ#ì‰hËël¡:
+’#!ÜTÉó¥·3Í<P)[ræØ>æñ¬yó9w¤JoÕ|xûzGP~cÍŸëÌB‚Ï5]O>«Ý#¹½×nŸ¥‰©~	ÅQ—a+ÄjZmÈ$Ý~ïi¿wÈT›”^-ØÞÎŽîŒ<¦‚ý0\^9ށ෿ÃöYI¿\RÃ
+Ôñl)›0
+g>·I87ÊFM·vh1ËgZöá%ÚŸ}ö{ó’LÉ)a¥©ç™éç䏈µÓ
+ì‹Üv<UìrÄýœÈzB"Ï’7ä ¥ÇˆØ%y+ņ¹jºLxÈQr´”M±ïë~Ív/cNr' ÓO¹£‹…¸ët~ˆ6¹6O“ÚÎLû£¡¦Û€Œ$ç›è-¹ˆS*ý
+r¨ûP*°!»Š‚¡§MØñ“s×(Ôfn£·j·"Ùï-5¨Ó-((t“$”ÜJ¬2ÒÉÝ¢ C˨¦ÒhTŒž1²1Z;^ìÂb¶³ý7ö‹¶l<LA YydL'+èÊ°¢!C€Ñ‚¾n$5¬”	(äQúª¥Å“H%Z¦´”ýœMÓÍ–›ç@§ÙY~à74w9K¬_Û|!â¦*^Û)Ù‚¬za‹ßÞXCçKôÏ õ2eIB»¹"QO¸ÔóK'¦¶jÈ	rPÜ*jXV'5øz¾•ªhŽ
+Áâ’ŸuJÅH(ŽTÙÀ‚™ql“|öêçßt[`„æZ­‰>§  ÕÈö°#ÉY—k¥@Gǐ=:ÕÈœª 3£®Ò0³1ä>¥wÁ¬gÏ«mXÑ£m˜~ˆÁÛ@ÔÝlY ‡¬ýel·(˜d_Ûq8¤š1áä_Zô7Q ÒW§JʨdY/ˆbÈüØójD៤—£™Ïký¾¨OÕNÝ†zí˜(~Ø)&ÄóœÅAYØVjëÁ¨Ù PUÁXév™‚«R«ª!£•ÇcdouWÕ¥vé íÒ]™oe%³ŸKÎ)ÕŒñß2A>¤Ûw–#¸’Ő^Ö¯ôQtI NÐNà&±¤`7	W{ºÄ¸sŽxr”ƒ8‘îq’+°¹í­è"ù‹pzY­aÏ0
+©°cB‚`á\¿/ä)^J)]Ôj™}2b¦—ÇÉ›9:|¾ˆVÛדWÕ¿µºþZ«•Q܃ë@74óÒi{àÏ#šy™¼…B<Z-¸1«
+ͨdg »yýø• j™…d¬DYJº,u’Mþ¡Ρ+WýCî	JY:x=ès¼(Tm㉸jfÞ[ùs˜ruÀ:Åcà{!AJïZÿ´>ÔØãÇ,ó=ª×&ç50´bss>”É…°>}9Ãú·Šáºº'”á×@} CÆhrä-
+†1•€š<@¨mÎmðl¬¡˜ÄB1˜b?j¯øæiŽNq;8Hš"d‘¢ nÐP,šY$z jl8$îÊd¹f³£9§`¥f¼nčem{ÂÚµ‚ÜñÑÞÕQÊUªcv}ͪ€ <îW•NXÛ˜Ã?íŠÿ
+Ž<Ê[ÿ}žè¶§…KŽ‡¸™ãRöÔ-ûp-9Œ+ ¾Sx¾*ã1lAôëàD…ð[W±HÇêÞK‚(m]«í”ö&–ÒœMGN­©ôlûÔµŠ\áÅ|¼ÄÏ0Ç•‰¼]+É€ŸMæå1,“¯+FzÁB!CqiG|+†\‰’EQõ$
+ Á„SyëcÅ€e}‡ž<)Ú„ä@{âÃñÚËÙaŽãõ€Ò½&ÂÔ]™ÒÀÔÌû‡ºÚ(—Õ=œûÀ2…€°3'˜Øho»ÏäýJ^×ëö¨µ¨ì$´…äÊTvöÉb`S0õÅßI	Á
+ba·vcŒ5"Çó¤ñ	¿™ Õ/uâ²µtmgÛÚ$¾S~(è}Ó­BeoÛZ/ì7Éu¶œC­åò°$¹fMMu™ÔÖÔ‚XAùƒŸDk–P´=ùî"Átø½Îr‘bs:ܯÖ=ýÆH–—TYÏ«\FF›Øûdù|’®ËzŸUòCæØÕ“øQí¶Xä)R‰µ<}~eļomf
+7^Ë5Bš¨ZM¹¹¾f%5Hçmãó£"J°Ùr6E–í¦z£¹~.öJ¼h[€,·ÁDàÅÒïŽI5«{$_Þ-ÈáIˆ±(¡ Ê@àEȧ£¹W¬wvãï?/¬Š%ïÚ÷ƒ2VxKŽO61¬ùJGrš(=Γ=<P ß#ÀÉ loòÐz;¼y®ÊżÉ`d²/py•:ê†ëã\ï`òRà‚‡`"fÖq“ÄþZÉ_ŽŸÌlMä¼Û%pJ5Û†‰”Í’:kÕ^Þ–LQSŽ2
+ù³}ìJ%#ÌÚ:PÓ¹Ë
+¸ô+#Å7Ù« ›Îú"Š"-¶¾KëÙ<P@’K¢vd…óã›âÀˆŠïRIdÄP<ÈËwÞï$`6ñW̽•:§~’U›yc; ì¸&¹–ByõÒÓ3ÔÁÖÏ¥)_lTõærªd‡JeSõ’$4Öü*.Ài×âmµíô¥¨ˆØxâ'xÞ¬u—ÒX;Ÿáøæ©éqjwþ	Ö§ó 3¿Ñ¿
+î_³âF›òÉ®6¬éÔÔI†¾¥o£¶díæ&LpŽ×‹k°
+yAYÚLÁæn†[Èü£L4U¡E7A¿Ú=­¨2	ܯ|växO°ìN¨,EêéÑîÍqL’Q?±ß¢”À!uv›l#FLY<ÞÒµùÔz?+ßöÙggö„ë{r'4îKúÑ“þY¶t3¡_{Dô
+2ãÂIhg~…²Ïþ%<O]û;xL
+Ÿ‚ñp4õ‚±í©»÷dvrF´ð…¾â—\µ©
+%×—é]*ÝV—²
+8Å¥ÿ$1Ñ?ðR;ëZDv¹»¥bSPÛçî)	9Ò% ¾¬•ÝU<zžNþúûé¯ï*8»rQÛQ³k^½ùåûoÎÞU~<?«	Œ~ñëYåb+2ž—ÉÏEÈœ9ý"E²êºÂ†¿L&ßÕÊ|öÃ&׻ͶA C¦ ¾²+¶Ì¥ÞebõðßwÿW?âþú|}¾>_ŸOxþ  ÿÿ ÆYxÕ F  
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/PEAR/Mail-1.1.14.tgz
===================================================================
--- trunk/plugins/coclico/forumml/PEAR/Mail-1.1.14.tgz	                        (rev 0)
+++ trunk/plugins/coclico/forumml/PEAR/Mail-1.1.14.tgz	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,128 @@
+‹      ì}i{Û8’ð|]ÿ
+´ÇI‰nùHä£ã8JG»ŽíµÎö“d¼”ÉœH¤š¤âx'ýþö·ªp$Av’™Ù±¦§Û¢ˆP(ԍÂÔérF¼úe2þÓ÷ú4êõíÍMö'Æ;[uó¿øiÖ··vX£¾Õh5·š­í<ƒ×wØŸ>ßÿ³÷3¬<û̃Ðõ½ýõFµ¾Î¸×÷®7Ú_{ùªòtý|°¶÷ÓËÓ£ËßÎ:l*(†]üvqÙyÃÖ¯£hÚ®Õ¦Ü	ªÓëiÕãQm
+jò½
+‚„öªY²+ù40žnV
+hÀö<gÂÞ8îx¯F£p6™8ÁíÁÑØ	C];›þgwÀC6™#w:æÌõ"><ú¹‡“a| Â½š‚à Y?p§ô|pÖ9<äLýp7dØ©žç€]`9^™ »èm½¡#p˜›yÀÈ8C€ìÚåô¯o«Œu#æŒC?q8›Ný€šg^‡ B>œYäÇ°Ys	ÔÑ, ãñ­‚Áúge<ð6;{}¦fä9‘ûY@*–toeB>,ÃôìâÍå@¿¼vC=ýävþêèi³)°ÉœÁ à°c7ŒØggì„Ëf‘;v£[ÖÇuª¦k&ªá;´ö"ø? ¾šßñ+Û,ýk€×›íÕè+ý@”pt=ëb¯Å¯ýkMð;ZÂϯý`À«~0Ú«‰ÇôFàùÁ˜;ƒ½ý‰Ý×’ýÛ‡¸0 `͹xÎ^ó[fÇ"›=‡½1š3ûxü3ûSÌT-‰´½€Ã,Bñ®Ü?*üos¯¦¾ão°&ü 	<¸Ò¨W
+X|€¿ŒÝ>÷ JíÅÅ˽šz€?†¾ÿî9ìšH5òüˆ‡öÊýÂ&n"ù††.–¾Ç£Î=v
+Æ
+tÕó·@–´-ÆØ  jXñÅlÄþüt§Ù*Ui†6
+šOCø‹E·S¾¿>ý4Zg0ëýõ_7	±ŸˆË_aÖNxt…}!éMþÌ=MÎ.Qé:Ã…Û_ǽ¿Îj¶÷Ô¶1_m·D~p»RÜv+5˜|êüµ@êjM äç¼ïN]`ym38¸š"ø—™ÊÊx¡æs'šíÑ›ïÓ#6_±GÅþîÑ«±jÏ“hzŸ^¡ùÊd$[
+Ü°ï{ïGKV0ýUº-$õ
+1qRâ.0¤`áø°ç¹g
+oq' åÈŸyw†þŠé‚‚#'¤ A>£¿1äâÀ±®a‘'ƒ-Ð9ö×ù³zoóÙÓ>¶Ãù³æ¶ãôv§uÇi·Ÿöf§¨I­×æÃë·6[-¾ÝÛémm:­ífÛé÷†ðú½æ°aÂCÙ±ÐM§Á;Zom?Ýnöš›C§Î§›Ã§½¯óPÜqË }:ØÚÞÙilõêÛÍá ¾åðú Þo<ÛâýVÏiô@Õ†Z0lµžñÖNg{³ßzÚ¬oõ{;õ- at p?Ýä›IÀ@ýË m9`Š8;Û|»Ùlö¶ê|‡Ã2m; ï5“£Ä‘„Yd ¶ÑØqúÃFkm
+œ¦³Õ ÏŽÓzÖÒë…­ÂZ0ìKÀÑBÈÃæ³Ö ±Ój5·;íáàÙΖ³9èµà‡F½•„Œx¸âAàô½šAÄ „hÝb´oÊÉHª+±Ö‘Ö;Z	½#¡yÔŸUP-QšG¾z‘R0®BÇs#÷•äåÔQRü݈
+|zBō‡g¤2ACRêGUèO·Ÿ>-3ñ׳g¥µ
+è¸\+¿JufžÃú>¨Ö}T­o7"•·7v¼OŒÀ*í5™Œ†;Wnm¶Jb:±R“Àë|T6磲uT‡óQ	³ ”ðI³;Ÿ¡2Îbpë>jÌŸPsÅ	Ù´"˜ˆç³±Ô0`ød9,
+$‰óø
+®¡œÐÎæ³&‚UI"P7 kF³ÀC hÌ]upÏ0¿÷W ª®ØC\C›#1$`Ж'n£N¶V _äÈa1<°/gC»”KZ"ØèƏ‚òí¹“ÙF‰@Ðîc|8„±©!mmÓañaY‘biÿ“íŠßøØí`ësæ…Åúúìªsz[Àœ{ÎöS‚sDŒ@@£Ø½Æ¤})7Ò•ŒBñ­ÁG3Vš£ÔLüVqå;ðú
+hÕÑÒX…½ã„¤Ñ­*g„“‹¤Áézˆ|´3ø—éØʶÀ«ŸÝ‡>ësès³ÒÜZ‘>/S–ÎG"‚<	D:€èº+’B†ÂôÌž=½+y–7±­;qš”TÉ_ûOG¬x~ѹ,±›kà‘zš~¿?ÓŒd«Ùh*œÆ¬©ˍuTØ1]û 
+–4Roßí{LFÆVe<,ÕWk§yÔ=ƒº§•æª¨;çP69Fîàz³ÑŸl!.zèÚ ;ߧyá0v˜¢šUãYý³Ú™?«Æ8ñb†çôû|…x"y@ÌÏ`# ^\à­c¿ïŒ+Äåœ7Ÿ¡<5¨ÆÙŠM#Ó Ï Ù6¤7!8# )A<Æ6Dß•+<òݏÐCȆ?¡*‚ò…©±47±äæJbH!ð!Å \ b­#î‘«Vø-»qþ«y““>ÜcS\¼0’è$j‡è3Éíß<“·§—Újp at b=Ð'ù,D©{P{ý€IƒÈÝõ.T8h4ï³³¶çÐàÎêÚÀK?ÖA®j¤Ò	Í›ÕÍÚt|÷!oÍòv¥¹½âßzC< ™O»?„µ ÖÆqAÉ¥&]«œäº±Éª9¼3C'‘;á@p¦8†Å;ç¿Ï€q²?·vv¶‘ŠQȍ@	 ˆÀA[ë¶}`âEšÊŠþ¼¹ÝÚ¾	læásåRýéŠø: ûÄoÒ'€D74¥SQ=‚{¡‹žp˜Ä‘xg¿º¼øýOˆ
+	cèò1hŽE^UË™G}ñ_õýE_>€}¸“(
+§ ABsÐZBÕѪ—ÒÚ+ç–säö„Û|êº@rck}£ôÖ&«±w®×jZÞV:]R“koz[OŸ6à±Zxüè÷™íË%ET|×tˆ
+òcE>ps?8¨:Ò»Œe»Ú¬n!½:bðrIõ¹ý¬¤èö3,?WÑAG¨¤è	ÏC¬µŽ§$UpÁl1ôq›gH§3ÿ=ÐR`‡üI’ÄïÁZs(xsu
+¾ÔË—]º%Œ‘!4š\¡Ùõ.l×,ª€ÆQV%W>'Ù-ú0b5d·þØ©	MžÌWÄQC¸Â\.ã«¢9GCÁ'-Ýí»hN/Õ)Kl<¼ÇºäÚÎ-â,«¹!âU¡rí‡	Žj2HÔ³AŽ{L¤1g"+‹œ7®ç#oû"ue“|Q¶þÝÇZŸ?ÖÆÊHOÄ`Ã.,z u­˜QÏæ5
+¸ƒÌŒâ² éWgkôÚ‘©¾3uˆeºüî3­ç“Wu—æÎVE©¢Â—$n¤~ÅÞŪ4ã…¥€îωp²a8áhåÞ$H‹ú ¤;2Ê™‹/—~:v„ઽò91ýÃî1{u~ú¦
+<HúÅD[éî˜k|KÌ‹P¥Ä8Æ֝Ç8g„ÛðÏJ#좛
+ø¯ìuÊ	D=wŒ{5Ãíº§r)Ö¾yþn³Šˆ×?þÁù?Öæ6æÿÔ·›Íz³…ù?;­ÆæCþϏÉÿÁíR«Á?ìIå›|ž ¬¯dvý*6Ûdwü|ýöã:ò§·;ºŽX±_bgÏ€õ€˜"­	ÇüKàϦ‡qQÖMꦡ*„_gÚT—|‰5«õ¦á°e2e£lŒë«€M9óc$ð#3­G**ÔÑq÷¨srÑ9@ðKÀr>[@Ç ft
+Ø]SÛ?*7`Vnx]€¯¯LæŠÝÜÜèT19þZóªÞ¬F@Y
+÷_•r:pÑO‚Æ Ù® ˜öa-¢Ù¡=8óh6€S
+Ëïa^
+†”ò'XQI|-è· ’—ì Æ«n„žHl³£;™ðjÓãÛê÷§¯CІü ÍRÉSàK$KüHºGpÝA›)ÙSþŒJÝCÏ{­þ¬ÖØbõV{³Ñn<eòï|™²µµ€ÿ>ÃãÊG´€bv×Öj¯±Ç$i¡4ãĽ*{)Óù´‡ÌšÏ‡ ¥ô‰ý27›ÁÈ„> ¯Ü„>x
+ß|Ž^Òöè¬DDOÔ®ß8çŸ]ü«-гA¿ªÍŒ³„µ5ÊÜ_ÿFúa?ÙqJs$·ŸHD'"
+\ªdTUÃç`²“gÑBjô_|¼Ù>[ÿ|ðÖû©>ÏtÞ`:yÒpƒÊ5’QܹÒG  `n†ú¢EŽO9,¶!QäáŸÀôE 	°)óµš#<`lƒ¾…F;VIŸR¾©ð‡& ǐ„}®ú#óÅ‘}Æ!69N±NHsC2Ü•UÏÈª× Sô`à^Q{¤üÏe=‰}1«bIhì‚𣐵Ø‹ü±ÃÕ¼´«_{.
+v¹Ç(Û¡Àªºy•äžÓ€Å´öÅËWÆËñ;0á"½vEáÇ°(•JÆ 	–Ü#ûh§JÈE95cø‘ˆ—-âßþ`|ìúo¶—Ùívà¸!'”oµT"‰© ¥Êé³1úÿcMü;Mø]ÅK’î.½n3r®!þPJ»ã¨âz2=WÁèû“	p˜ªò'dn:fÍ: ä1ò-VdN&ÙŒ!9¿âw¬Ä§(=|è]»°SJe$QÇpÇÊV܁"Á—­*Ôô‘ö}J^5` µ‚‰ý¨n"Õ¢Lò¢ßo—)ÞH‰ÝV*îSf<êç`PÌjC¹ºqÓ뉪‡@$î¥%Xw‡åxÖŽjü¾+²­	Zƒ¡p{	ðè£vI Y!HŒ;`xƒbW¸Z`¡$$N‰\PV ¾‚%\Uæ JUš®øÙ
+ ÄÚ`ÖG	!¢a~ȘԢÙx€/5°¶uTÏ¶)mGrLù3ŠQʤĚ²ôRXÄ»µöÆÞ¸.)ìk.7¾Ø6çÒ—€؍áŒ8­ wÿjïJR²åêÄvXðDÌàÚ›kOí<6Ïžø¶
+m`ôÞ¤’jI²ÀòÙ¥qƒ7”5™—Ò32ƒÊA&7H5+IÙNl®†\ü†(Z¢‘Ã#H¥¢%'¥pÃ+!œŒ1fE€Á)ö¨bh¸lþ–àÆæ G<ÎXiDaôUR—NÝ¢A«Œ2¡¦› HìƒU€á•äÎuÚ
+Ò –ÏnC™l »©I‡<Ò}¯·õÇìÌc –דÒoæåAÍÃËpìDQ*‡
+pÏåE±¼ÛñJ­?Åb±ˆÚjˆš$ÊyI"„ÿ$ú ²ÒôBRe‚ÎÈšRãïÝb”L¯ðnÍà~’É	ˍä9ì6æ#x“ƒåÛ ”eÀ”¸ÓÈ8D:®`9SÒ‚PaJå(žACW?ié‘–EˆŠ…€~³°3…Ìæ~¤/Å
+0’\¯.n€
+”[ûlƒ0“!YE€øÚG¶¿–¶E£+ t7ûÅâÞÑùÁ×½ãW_ë_ꇵ¯â/Ꮧ_?|ðàÿAéÃE©úxß-”×æz0¹¬¶X9»t>Í!%±’‚%¨bŽ¯m”U³tF×Ó‡ÌÅýï§sÈM&
+“,ìJÇ"E#£TXÁ,P4’°¬æ+6¥"ŒMÑÈQ*¬²}è öŒø7žhœydÌ9`vTHÞŽæ£"}¶AtUÔbÈþèÆ·7çRõo³C`EWië“rCGF­µƒQK [ßG‚S«®ÄòxZ#ÁAmEf­Þ>í:ƒë߁i T„†ÉýÉ´ˆ/á Â
+ pö÷Y=Ý‚ZeíÒ8òSØͼ¿AɽhJ>B[ÒHf(–,olj7ûªiå }Œ¥(&£ÕaaÐJˆä,0qžÂâtCanƽ”lS4ÍZýf®!×Ó‹7{_ÿX9˜ˆ£3h´?'K6ù3Ž7”…sNŠ÷ÄùÄ$5«Pr8ÅÓ¶Uë¼a}áŸ"ÐÅ
+‹&LH\n®D¢ï?ât‘Î`rma§Óâ$ao€âTÞÓ<ªÛæmKØu[AóyӍ÷‹àš¸[pByï'a›46Þµ6ýcmñ‹¯d©^-¨¶w Ätx6ÇÌjzäOAݺ˜‚”ðˆ£W ©Ú@;2²;‘
+-‡‘ôÜ&-Õ$(@<ð¤šC_j½¯&<ñ¢FFYþ^²Ñ™“ÐSw(ñ…¢T‹”¢[åÕ2ª¡ÒOó†2Ê`ú‘
+šKˆr÷ø؝¸h-JÅR&„F¬ƒ­Þ‹på2&YZýÊ'…Õ6®ÍŒQ
+š¯à-õ]¯(
+Y°ÕôúÈ!å達+‘°[…_9>ÒΤ,{¶…ÖהƔb†X„}}ƒ¦Ntʳ5ýéikY:•&äµ@„Ÿ
+36à'¬†{œ‚þº½”?ðÒ8W]3óO¨cÅ$fKË9g¤ÿÝR¢@AŸôIöDž-¬¨:¥N	™^ˆ”ú´HIYÆ›RFÅ61©1"ҁ0¤§	6•Jüwp½œÑæ1Mÿ1wÈ8W§Ë0‹Ìs×úÒK¬ŒkÉáeNSzöØáX$Õ|ƼÄ `B©^&˜ðšV݃´ÜâÊ'•oÃucj~s1'½Vp-Éö3Jqöª%¡˜Ù,T	®ïÙÒªäÒX¯äbgt›$Ñäwë3¹‚Nã÷òÔ)Ù©~Ï¢¥âC¡›.+¸šíÿ±öç³lþ—>(þÃò¿ÍVc‹ò¿šõæNk»	êÍÖöCþ×Cþ×Cþ×Cþ×Cþ׿Bþ×$‘ÿõ4Îÿj±úV»Õl×ù_2ËKq„u®ÈâfÉEš0»&“
+fË¢ÊKºzJIWfŽ…cU
+‘ñ󷌑‰.`0̤¥ê±-—ru¥|
+…lÊÕÞfè>I^Ý8
+ýàÚ:IdJõ:*øCœ¥€HÅõæG8ä;_¢À1æ¯Î©åL<eoéÑã¤&ô:§­ÚcâÞ䶗1¸Ô±2qþØLêÒ'ôg¢(NäÂbîq
+©\èæTz``„ð¸¶	Å1|0ñ]…ªšhV½–	N{L†ç5È×Q s,“eõ@e Èvvî1{ÁûÎL8@Ò‹EÙ<Dņ£_:'L,ÐQ=é²ä‚…ˆ
+; r{‘›Tà6¡ˆÔB•¤ˆõ6ˆŽ¡g‚¨ÆÞ³IAW:ÄÎM0FûòE}ÇA± Ë_ò°/Rå[Ë¡[4AóÔ‹ØôôÆwÝéjæ"û¦	“lëDÊLóßò“ËŒ¬‡³‡³‡³‡³d†Ù*ùÄß;s¬ûϐ9öËCæ˜M)0åé!–¦”+Áx.}v“9Si¥áÆS½`
+Jù7ž	,nœÔ>qÐ"òu35¶X–§§séÓLÌEyµ(óM¶î(ñº¯È;?ëmŽc6	,×;›|--ûã„<–ÉÈË4ÍY¬wÈ*Æ·¤,‰u@ÕËeCw¢'ÖSãЉL¡3AôµóâqO—!á!¶7™ä3XæG9Cèv¡}íy|2n‹I=µÄ¾~…æîÕ–¶€@®HÁ¶ãC¬G¶—¬ÃùšÜ!ÏMZKÍs‰×Z•qFLŸ´bU~¡OÇâ™cÂÉV02ÞÜH%+†×óý1w°DCþòi<ÅZm"³‡/ä¤Òs)Øñ»úàƒ›ÿ›úÿUM×æÿg›;;
+tùÃkõÆvc“üÿ›ÿÿƒÿÿÁÿÿàÿðÿ[ÿÿÙ5Œâ?yà¹ýOlo
+ß>=üh8®öýIÕ™ý}üÿJìÿ¿‰îÿÍþ³îÿƳ6lÐØýíTàÍú•]þÙƒÖËšÙ |Q í°‹o*0}àì6#]ê‚ÕO «u†HuŽºGÝ¿ØQÐûzèätq‚Y[)£ÿ›×/ü˜üŸÖ0÷Dý§F£QÈÿyÐÿôÿýÿAÿÿ¿›ÿ£”øuËSäe	¥„&¯¯ƒIkófì¹æ{›ãÓ
+åm“ô÷M€W¬çzNp+#Æáq.2–­²$/ØÀ“ ªÍ l-¯1èßRyGœ²od”¿BùùeŒYèÃòöɬ8f¼Ç\qÓc¼C®R|ÝÚÊùJxçØ÷?ÅYHC«åSš„n—Ð`“xglþò[—Úú1Ö’áU*´¶uMc&1.Â-|âÕ^¼ÀsG–O™2ÇŒ%j*`*gKÚ>.òh:þŸ0xäM2Ke“½vÂë„ÊíÝšó¸Cºn!ÒW8X§*{WÒºħó´Ò‡~âX­xá}!AA¶€­JJnð¼ö¶èà¼^‘>–èUnѼöKD§T¾˜|"ÚSaE'ö—#\h?Á_b[ȵVÉ“)T9¹_K玍rC^ÿô™cyIc6n‘"vŽðàŽzpG=¸£ÜQÆÉY*¿fÎÉÚ¹96s²ÀòN&¥gr8xãÈ”_\óñøh2(êÔ±t昙X´DÜ?C~‘<E¿B’é'©y`ã¼dó=N|±{ÕñìШW-drqd¹Fö“’ìëWK’MªÅîÊ-­ÜâÌK£á•‰ƒX´K`ùÿ oÊ1®ÌIˆQE_RÔ+Å >Ò¸öÕùSn”J0UÏ*,i"+¡
+¢¾Q•ld› U¶Î*C1¦JÅÜ6뀩›BŠ¨¢a-3¬òJú%N"V$ßÛF%§TøHâ™áý…Ú
+¹©ŸïðÒ×D‚`l$önéNuq
+X y€¸}²Eâô¹ªG.#øæ{²þi—Éžz`Y~Š¯ŸCæ+ŸÃéù¢ò‰MjÎ{šøbr©d{bÌ»kÙܬiU¼—Z(éH¹÷kñâôz*Aþ6«Íj‹”SVi¤—1‹T폩ØõTù3ÃD¾ZxíEê­G†&¼©Š;ò/nD÷hVs’ÍÔ_ì){Äê_^½²®½™Ãö“¥P.Aj
+ÔÙkÆåžD”ê‚vɁÏM|³Gr¾Qþ—º5æ‡åµêÖ&Æ­æV}»^§ü¯‡ü¯‡øÏCüç!þóÿù¦ñŸð~ 9Gýù È3¼l“³½¿úžšôÁßÛK×'´Y¬#ªøøÊ85 3V¸ïŠt{ÈÞvF/\uÎÏOϯŽÎ;‡—°ú0+¹^Ú̓/nÕÅ?	º,ÞµúéÉIçèR‚o¤ÀÛ.¯“¦ùBȇo/_K°ÍX0º’µH¯0u~ct¼NBoåâ„îžãtiÊ"x“—s	q3"ÒVÄB ç£îY·s¢Ð»5g¤°“Nä,„ùòðòP‚Û.Å·ÌÐJ-Zš—Ïœ‹kkÂäõÒƒ¼gb¢¥:ÏZ™h¿:ã¢Â€žøi™zi¢JuŸ¨›
+£RßXÝ)¹‘–‹.R»}³ö–½¼’'¾’SnOo‘Löƒ‹4ÒG£#°Ïš[Yø¢´˜m»ö(º0ø9…H’ñÂ牎gyi(ÆD,&+ü
+28InV¬©<új€T_òbîlx.ºæqåæDG¶ÛÍå	½(Bó_Þ¹fÄczXÁÚ5ìO¬Qé†â*^*ZÈ'(
+¤[iŠ|žYœc/l_U‚µ-+Œ- É»-å™5s‘µ×’c^Ž¼4|{‘
+qAP‚†0ø^CÐðíCx
+4/H$`B%¢é(*®"–8fj_
+©ÿi`ãSVc×ðŸ¼æóƪwá¢-™æ7ò’r]mÿäíñ1Ý]ܧÀ¿ç«7¬ÃÉÝ´
+lûywÍ)"%—î×ÎùâTº*nÔ'uò­,ËHÄ5ªé&-G0u¥c‡a>Õëƒu~>Za¡¦sö]7e܆;à½Ùh~¶õªú۠ײÑãüÞºzQn$òÂb¢7–U]ÄÚŒáûÇrô%h@$ãD<¸XÊaeæð-ûDv’;ò»d™€ìú1&´iäç’AÛ3)9"z{UM8$¦8BîåCin%šÇ•‹<ƒi6ö|'škv){O³gD‡[EM4•ö!æ 8žšCŠÃ.%æEqºÎ˜ðL#ªIn¹RQÊá^ÕùÈ¡],?ó	„H9ElOñ9„îQëbñ¶§ÃÕ?/€¡¶
+­²Ø¢¶Ý+_ûùï—ðówOôý¿B’	;̲‘®w)	S¿ï΁ûÕ!ÕÎÔïsAà®0AH-*õû\jßš`UÈòÞüIÉ
+œ˜X¬ÖXÞ›.V,x¦êa{s.D¹Mx±ê}k.,Üæ& )¼S¿ÏA;Ù„¡drQJ¿RúÕùèû8}-,³ õ뉫œFXõ,¸
+¯gÑÀ¿ñ®ÔF)Š2,p™®ôÆ)äW\É•$N[ÍFg”Ž"
+ªà!8)¼D¬8ί˜úXÄâ¶âŒÑë'ÇŽ,!ÅÍÂœÚrñx‹9%mâs'´dBŽé![ê_8[ŠWGÕo˜/%Á=dLýKdL%ï s¯Fü$}‘ÀcQ\ô[L”Uï©Jì}Ãù]VnqÔT-µ(Å[ºòÈÒœº.ÆklÿQÊ$-
+QÙTm–†›ðµH/¥.*Òó#´ÇÅì-³á+ÔZ}«xâÒ%fg,™¯’‹(,Œ9¡Šô54$<tG3ÉÂRRÒŠS	±Öð7Ѓù&ÑK|³ˆqáhc?£C‘E¿Ä8	÷¡m€™\@#£NŽJIð¤vW²^n³!ö|‚g–0jU×V£`RRñª#Si¥½€´Ü¯“Gzb:e6/µÊ:.òv¦|Á:šÄ)¾:˜GRØÔºÒ¡¼bïJ–d“ŸÆM;öŒÞ4D1eä¬À—òZ™3÷&pQÊ¿‡ÉN®ë
+‰öâúJ£Ê!¹ìîÐòÈyóNŠÌ…—IYoùGÍÇ]Œ°{dì¾^®* »pQ‰¢£óòPÜ'4òé̇ÕFü!#¥º	{äwñDQæ™7æTß²*Õ׏a|¸Íø—þ5f¯bj_Dò,L”b
+[ås3bs"6M÷u(\•QMTbª.ñh@²rRW!ÚßÏÍœ›Ò¼ô"Z“žÄß—ÔrCó9ÙÁ˜›«ü1‰ã÷©õYž‰fNBÓeg±”ÚlIm±Pëe³¹;ºç2‘wPZâ:¤ïx>ay~`?Á`¹yÕ¼Ã.4ÚÙ.^]bµñê¹Kß »’Þ´ž“ÀÑ6¶~_åg9)t'"Ñy$¥%®Ÿª‰S즽[wJ«”n\á·w"'Ãã–XlW4™>fÜãé?Q)¿*Èe7eÁ’Sø‘›skò
+ ÒÝi±oÏpë‘è¸t÷ Œ¦{ø·ÌŸ¦Ñ—ÁoÚºÀªÍú —HÉN;=cG&ҁ)Ù:³ °ø,ó*„{‰®3ßÀÞxÌ£#˜FÙtH Ö@¨>[Åma¢"{ÿ†0Á­Î†}þn´´ïáÑ£ô0Æ2ß! ìÄõŽ+*’ÐÐSI‰±h™RbÜriŠÉn÷åE%y4ñbæŽéDˆ<µjª¾¸Ux¡zê n‚Fh-pÄ‘ëÍÂÈŸäÀT'<|·š‚#Ý%’]œs
+µõ¹¶Ïåx2u„ó¨VA†.ï>KƒpwVº¶S2:BL™=³ÐðÅtìùÀ §>&ãõ.äŽÈ$âø'1™AÕ_L”^,e¸øˆGçòÇb)©£â@N– ±–7&áˆàÃüv“O«û¬ÀÞãt仄z#¤TâfwÙdqü ¨Å4Ô,ÚÆ„>®ïf+2Cû‡rÌÿÜõŸã[jÐùŸíí&ÖÞlµ6[;ۍÿ©?œÿù¡ç¾U"¾ý”M³^oà)›f™»xžuÀ^ó[.yÔƒ.üE`!…ƒÏè]¼ÛY¢¯ìÛ|$°sÊpäÞLó¤\POäÁ'².^OŒÇ餸à[&I`€i¾ä®+“fjêčP-Ñ)úO¦–á¡RW(ÅƱ 
+0¶¾Å4¿)ÎüÖèz‰.’±y÷±#]KNoékŠJŽÌó#·O9Ín¨CäJ”íãõ½±ãNè®’ù#ƒ«§F&ª9ƒû&#Sn5
+là÷gqº4­¡â%o¼‹xà‚S‰Žs›Ó©êi^ÊüòP…hq8ˆüò‚ô™¼ªlB?ié ž‰“ °{lQ÷sf¦ãlÃè)Q»JeG…
+÷@àÒ…,0¤ø09‡ÿ@D{ùº{Á.N_]¾;<ï0øûìüô×îËÎKöâ7ø±ÃŽNÏ~;ïþòú’½>=~Ù9¿`‡'/áéÉåy÷ÅÛËSx ­^ ˆuzãðä7Öùï³óÎÅ;=gÝ7gÇ]€
+Ýœž\v;eÖ=9:~û²{òK™$vrziŽì¸û¦{	-.OË4,vúŠ½éœ½†¯‡/ºÇÝËߨëWÝËìöô«8-;;<¿ì½=><ggoÏÏN/:gü²{qt|Ø}ÓyY…ñÀXç×ÎÉ%»x}x|œB€vúî¤sŽ“J`áE†|øâ¸Cýâô_vÏ;G—8Ïø¯#À-Œö¸¬€]œuŽºø½óߘááùoe	ú¢ó_oá]ø‘½<|søL¸˜ƒ2Î`!ÞžwÞàl Qo_\\v/ß^vØ/§§/iQ.:ç¿v:»ìøô‚ÐùKJ`è¿ ± $@)¼¿x{Ñ%ävO.;ççoÏ.»§'% w€7ö!@xI«pzBHÐtÖ9=ÿ
+»@$ÑZ•Ù»×x~Žˆ'T"Ž. ¥G—ækÐ-`ø2žfŒvÒùå¸ûKç䨃¯"¸wÝ‹N	·{/tÅ0ÞBço	¸¨0J½š¯’› LÀº¯ØáË_»8Ùhæ¢+ÉŒzôZ.Lõ{ìÍo¬¸èc’IEe/_ñ„ãhÌ”LOó¦è¦Qu4}†	^:—ª‚$§(çKHš·‘Vñí£6ïäÁb³ƒé	å…‰Sgt"r>‰›QUY²WE¾yÑÅC X(ÎC÷ªF3lkâv)̇éÉ, at .3á(Ìáál‘ÛÓ÷'(šEŽ;á!ªIâwåÈK¨ÂÙƒì| Ò¤Dþ!fAPz²H©ÌQt‹?;$ÆA܃àÂîcu,:t'îØ	„F§…­<óäNœéU0ìN¯h¦WÎ  o@©ÊÞbì1Š=/º
+Š%:Òíòu¸Dª*‘úÚ¿ÏºB™Ô¸Þ˜¡q<lóæVXo³uI°ë1­êœ™V<¤tBNÙ€€çü‹ƒ¹‹xé+^Â,^ŒýÑ(„__8Çowñ:è2Fؾȍb»MS<:&ŸGrteV0ú(”ÉGZ2‘ÃFÄcq ’¶[f÷%Þ_¸Á朝lÑÙIö\qñÒvô2q¸R&GþÍz4LѾ¸:˜¥©D6LºÌÌÓUz•-çâ$ÜüCi2å]Ÿ‹N̼ßg°«)So({ÿÈ• b;)dþ¾ðÈ—8hpÕ—ÏÙÐf•w(^Ý×ØÚCyO‡õºE2>Ñ”:Ê„€~‘[>=Êø7¡ðÏçS'™|Åø°Ö?Çx<ß«8aßuÍBLöá¨Ö–“\
+nÞPY«s¯‘¸¼—ͦ8ºá‚œ’°ºI.åP4I$n—ìcºx% ‰¤]Ex®‡fÌØ–yÚ=òVΦÖ!én©l0–¹CR®áDFf™2¼[;s#áÓèRÀ쇽ø>ù¾?Ã?k”+^M;d®7à_²ÝÐã¹GŸ½Ù¤‡t7”T/_¨8„îuÒ´)™sð®Fæ>˜Ñ»C·€Ö-ÈÀ×\*”‘¼ä„HùÔ@q磢| o|œ`”6~§÷
+* â½ì@ãßì{‡:É1gˆÇ’n®AT lÆé#1„‘/ÑcmP“µÌ9V”·rŒ\؇¸(*d²{òHEí¦”q4t¯¹Î ƃZ.˜Ô„SOŸÿ&Û~©+|S XN˜å³"K&£«æÁH1yu²LJ–%3bn¶:/‹zÖØÅPl|9²­“]%¸¸"ÆÔ!9^MhnäܐïKQBåÝœÐÅyЪ0B’×›fÅÙ#yIî_'lÉ‘á‡Èp°x‹ªUÌ<ƒI«º1=ŽÙŒ{} b[l¦›VÉå"?¸tò´Ïó‚f2gn¡Ãø|ªuSÙ²‰‹†æ€¤]¶ÈpùÜ\ýА^ò‰¹Q搓ݖJ©àlŠ@÷5ÉZÏ3%ÇjžŽJÍ!õ¦˜1A1,	ÌP䐌7­VôìTbU’ÀöcüYÁ*cÅ	ï„bfàˆžäE”/"´DÝ¢k uÅ—bQ
+ˆäT"U]‘¯buÿ|¼éá,Ïp„ÂvÏzk{!ÅjrMÁÆoTÎ&âŽ.6ˆ´EÁ
+³é"@Þ8ÉZõ2COŽÙ¬eNt#Ó"?7õƒ~?šNwºi‹Ø1ŽAËü—„…!»K¦É7„qxÃ,û,,Ìòn)‰î" 0TrÕœÑa×€®äÁûb¡ö!øùƒW+”ååTƒÜyÚ }ðŠ¢¯¬ôቚØi`èá „Š :“mNSï%êk›çF£83Kìt‘Û“-ÞJ…xä	:Ì\’§ç–J^4!çÕ
+þU‘,eâÆöòÀýìfxR/Ÿ Ü2dÕd]¢›Ôõˆ´MPšó åÂÜOÿŠã’úšvh((Í,!hÉNS.&+§ù ÃX µåäŬ(u↖G6^qY–^š;,å8“¨6fVsN¶e\WŒx1ý³’éîm÷{ØÀ¿ÿ¨yÜ©ÆJ¢¤€ä*†¸ÑBÓ%OÞw]:#ÜççÖ¥³
+PCãâ¼5ö[ÍKa½§tÉÛ—<C›NÞK3
+E†6- Q¹\ˆL¥ý–Ù
+Tª:ù®µäs¡_0Zî7$ZŠ‡½þ´ÄØ Ù]¡gý¨»)ºßpC!?IZÄIÆÉ
+ùwè¨<·#YH)ÛÓR¬––‘`–q¢¥¤¢D…%‘Qþ_Lwô…4‰p˜ü‹¸Á˜[™mX›—$„ÏÑ5ï*nȘ“¤”ÉT÷†S­V“˯°f)w­T¿ŸJ™Eºtæ’Ž±Úâ,"™?L·îNÿÂÚï3kS5ƒ¸Á´"<ÝP!ì‘žVXºí+7 û§³Ã6DP=:x0|ÜΰEuÝ´<' ¨®dŠÈtS/—™§¨ÄvµÆNü9ŠÆHKc©ËíÍWTS,«–ÄŒçì^j¤ïdî’È4“>vízh_Ë˧¤.жå°ÇNÚ'Oòö’"2±$è+”¥‘¨ƒ\“š b³5ðU•×mh	(ꪹú/I+¡ /sx§ Øþ°0wRÔH_ª9
+º€|é fSË´Lmãs>!¾‚îwÀ(WÙз.¸xhLgqï>yÒ0Á¸$Ü@4âºé:o’¨â‘¾X÷¥Ù‡³Ìß00áÛ¯ãXaOX£”eA4nÌì'>ŒÌ"ƒ7N¨ˆŽî™ˆˆ¤@t!uòåܸ¡©Äï¡	‚ïšP°ïP —oâ@<ßÓç°H”ˆ™©×Ë0Wà J)µmRŽ¥­
+aûe2„k-§rozÈ…³’– Ý8#_†2|Ü×òÙMV£#>&‚“	&C—àQ|#^`¸¥î­ÕQýì9W§{—))	déA¦u¿Œ^•>´¡¥mìÄ«˜r2sR1ÅÅ8ƒö%(ðîÊ’orÇ¢ÐR¢bn¬‰WÆÒ>ÆÛ­”o´¢&·Þ-hëNÐGr‘«.¤9†å
+Bµ3däé3AH‚
+@:´ÌLnS©!¬H1e$n–FV¯¤›ðÓ.Ø7kQ·ÇÛ“TO»Kí¸ŒŠiß-"ñ (²Šëä
+´£5-&<¸Ó¦‰/)ÄŽá_lÀÒ{Œ¹ˆpã_bTÀÃõXÌJÁ‰’G¯ÈÆvÍË~˜%^3+_S^VÎ{Ù .•4×òJiɤ§ë¥Å[„^{_7KÈ!Á‚ 03p¶ÇLb+á³'Ol”=];á[9§ÿ¢)iQ™Ñ¾~e–V/$õvï pÖï?Þ§u±do­$œz±"E㇛bš,øXÜ‚êð1¿^H¼Lò¯ª$Â*K‚°”ÝÈse,a
+PÒw•)Œ(„ä(H´0·lˆEó¶YàjQ)nR”ñO+ø]L›&W8»T¸] ë< ImLU÷õNòYþ÷2ÞÎ¥³qhXjxéÉü˜GèŠôJEÌã¶h–U÷·3놘Ɉޫ¾‡¡É5ô[sL1ù.«€Ü’|&kù&v쀏ɝ·–³pT•JödÑõ¿³&YÑõÒ=ÈE1ð¸Bù›³ÓóËÓËvâ^½×xm2&ŽÁº¥¤>Yáï3\~õl÷»Q`VÞ…±À™tº.ã]hWÏì›Po–]‹agèMsBí•Pg÷%û¾JžjѤë¸1\`‹7>Ú®µŒúbÖ3§†˜3–Õ¡Á˜s†FR;™½TÛœóú¥Çĉ€P$³Â½ äH± VÂ(”ìa«OÓ®XfçpžÃbµ°—Ò8a‹Î„›þVfÌ’]©ú7£J|„Rùq:¢ßïÏè´8_kMîbQH7³Uwy½à7ÒÕ’·Á_g:Ë¢¨	ÇNx›~°xi²yÊkÚæِ~äŒ8ZN‘ý[®„Q*VRÀäèJŒêF%‹$‚Y¡ZN+Ì6O¼kïÐÙš¡E1‚á䉹Wz'`E±,6Q§JXIºŽ¾¯"›Ed±¡âºx²^ìœô—Döóbë)7~š&@í!Ë^æ¤mkv+_y/ý¤3ìÕ o¤Ï‚_äUªâ­©áœÁô¡µ,ɤµ·¶á9y¯Ý½ÓÕƒ¾ª$¿Š¯`Nª¸éÊQªGòçSͨÖgׁƒwàê—J‹ãâÚHšžº’PS`a¥ Hž)s|IÅme=`•‘&*Ö¨óNØÖÕ´“­YÈÛù컃PŽw‘›”ºfÀÍb“ϏžgÖ“«Âhp„Çgv¼^9HЉþ²¸¤Õ}lÐ#€Û\ÉÆ+±3>DU„†JsÜ»ÊÁ)<»Ü»ç§3yäMÕ`OÄ`Ncü`ôߎÓ8cæci=7)3pR.osƒÚ¼ß©mžë"ÍßèIÎõþã2®Ó¼öÉå[võ¨À¶ç¯R/¥ü:n¶-—žB¶¿<Š8’¡WÐù.î`çVô‰ŽOœb7m³ù/ŠôÚ»æãK$.b7xÍ é”;†ƒQ±3©•Äó/ÍW¸;˜4!ÜËéΉÙ^¢HzuAe™:X_”.luyÄaPƒ·È¬gZ,àâôÅÔG=™a…=ÿKb#½"éŒZ™¨i×³ûö`Ê{#Îÿ—Ïåí?°9̶yŸL«å™oV«Uá‚¿•5„&!Dò0nu±¶ià'×uúS*‘òÀ–ÑX¨”9nÅDM~ꖍ˜~OE]Á!Þ¹I&Z¢óEü|QìÝNŒ':;°»¶’äšËKÓ2ÊTÌây-›þeÊF+õ¹	HÝc'JOÌÚÅ
+Içµ™mæ>¼Ï´Vó¬ÎÏe3͈8wžMIa»›õ ÚŠûÆÄŸ=©Ë箥5Jу%Š)“ôÈ° çEé/å@!O­f-VÊÏ%‘Z,ÔÞ³¾ÔŸ}¤Ü\ÙšXà¢óËÕÅÙq÷òêäôªóæìò·„?I¼{¥ fR›¥‘0vIsH‰ÎB©ÏÒR?Ëï®{0>mÜX†„×î0¶Åç—ÉMÌsbñ/{y›T$¯=׶7ÓÖsC6kƒ,ýÁ…,vO#Éc¶«DDðƒ1A×›-Ì[ҨȰB=3ò'íÅ–Òa„¥ å˜*KÔJµop1y´“tQf¹ñeŠôÆ>k<ÞC!{ôúðëó©¬9ƒ*³‹³Ã£iäG—ÇáAö~;£îE1%BKq¹nœúñ†C3Ïæ1K`¥Dit°4L ×Ñfq¤]ZbT%I(‹·þ,>#ª	GWŽŠe椎ý$ü(0ÅÙdìÌÔ5:%qHUe¸›³ѼJØiuf)ˆ
+;²æøfÖ%³m
+IJf»x·Ól"«wátð¸Õ'Ó¬²kžž?”zùˈ8/Žº]VgùW£¹“œ1nògãþË{dÜõ
+ü{§óñÉFÍ%-8¢òêÂéÞ)Ë6žÚíÄ0£xÿñ}±´wð¼¼ûáC{½Ê>ÖÔ(îÙ7ò À›!Ÿ¢DP¥Õ(Í’ÆKã•kwÏ]ùN‚÷—%û1XŽø½¢Ãê{ëìqñw,ÃZ“¿M7(áwÚl¿çûõ¿ÝvKÊŸßíq[XÒcîÔ1¬’CgØ×c5âw%W˜kÇ;iΝñ€JêÑlÊtEõgl.‘n¥NUÓ«ùSŠV¾Ô_~€Ï:núä|ªtf	‰HM±´¢–)MN!È_`ꌸt7œ¦Ï]¬4]9Ù›ÄjJõ=â|Z‘ÙJ‡~ôÓ;œ¸}´¡F÷]¸vÚÂÔÝY(3±fˆf©»Ycý‘Éê6ú±,[”óØîG„”AŒ9¾Q4 8fÿ’CT„1OPm\ÅKª&”Qˆ¥³I¤4«%«S-›XWDJԍRþn!ܯâ™ÏÓ¤‹iMšì¿ˆŸöÞì¾eul ˨\+ŠÃŠYG°^#tØÐ;.Õ»ÜwºÔ’wç:
+D•°©*]µ»`,óðT*Ìi.
+ùÍr§V`k ¦ 2¾5´Ö4õøÑÉKI‡-â'z‚O”·V?h,k~/›Æ›AñŽã¤)7Þæ
+¯Ç#\—Ë›¥eóR•ŒØ/ñÛvµ˜ß“ëK™]* zP0óÌõÏÂ0ƒMPØ+äìM“æöìó1WqÍù|ZÛ+¤Tš»É“\ˆ
+-¥ÀÓ„¯H¤üÝ&ù‰P4»¢é[e涤"y^³˜ì;ÝöÄX¦ù^i¹[çžAS"0A^KÏù..Í®Bϝ¦Sœ`æòbòj®½ž¢Œ}¢+éÄ”eu¥á€¯HÜïgÛ*½g9÷™	*+trγ“Í,gw/à'ã­û,YŽ®ï{ÂqgT1r¬{ªðv"˜LKp:›»åŠü3Øq0gòN—HŒ+–„+®w!kx_m¼Ýô+Znì«“Ê
+Ý2¨yc;'ð.%öBšuRG†&¿,¯('T!åö•í¨Š‰à4f;‰È´1_qãÂGJ¨/p.<MÃ/¶“gW¬±°ÌT4=­6£Yv"vyA at vW1æ’ِj/à9C¿Î(ñÆoûl}o½§'
+~ý`=¥&Y8ø'oÞ%¿Ù5˜L"vÔç=³"©Gæ¨ïæœ1ø2Êþ¼DUƸY!R'	Ô¨¿;¦ÅØåIÖh0=	c˜Ô±Õ‚<ºúSî½Nö#.Ælk•ŒûÒ`âžæ$È×Ñ7HF`˜X[uüNžÂ3#yg~ŒÜᲨ>?0.àùž¸*!%Ig#ÝOŒ5åëŸy1óK#,!l³ýûŠ®uBG—Åôqe«–§©!AÍ
+!ßB)ÊU.LRWš •LTÉfFé¹Åœ,o~_e"-W³"U T’KØÂÍ—j•sVS¾—ŠŠ§ec9Jq$_ZÑ£Dƒ/çˆ"fü¹¸þ|]–5+±õöúÝÅÂ}%ò›XH˜+²{µ¬9ñO4eè‰bîa:IP’HvmÆ­jˆ¼S!0Eºê•iÙžK?¡èBUÌÚ]{I¯ÆM–vL›D¼4í¨jdx¯ÆèZh®8úû̍0G%
+<¦óÇ€?TÌ}uÒ¤Ér·\ÎK+1~f½Šüò¸¸^]7”îD‘Ø7%I	sy’L­W–(O|™I:p‡t	^DÕ´1e 	ìü.K¦¶ˆñ’A¾UÔ7dŸÙzYêˆnj÷'ýå†Úc@ÐÕïo7º èn™6eü}^“^­Õ‘t¸Í-¹íËĨÞ8ž3¥G²&•çÐG¦³lØaÃ,Œ·ôfÕXjÇÎý–@üQ	øÕÔ—1Uþßí<ˆ†ý}Cµñ¢Ä]Ú‚¶f¬æë_>¼/V—>n|¥Sª]&”JKÐÂK‰›"¶xOG^W8å3'“!žDi)úÅÏҍä>ÃÙ¸zÿÌÅÕä„
+òIR	†žÖ߯{ÐõŸ5–@®¼›æ0Pà¿/Åë©:L‘5èW¬–ÞÔ‘?±V ŒØ9]+¿ ±øÇÂÊ)(JyN‹ÉX«ÞÅ®+tæ ÖÜî|ªEhâßTJƃ]íKZñOb1
+Á MmÙªê=g¡;òâc˜†áq»¯({¾„}ŸŽ"=/äèïÔ&ö`-0ôŸgŽ¦¨ĉP1Ze¢]T	N¦^ˆÂp#A%y¡Gu¡“œˆƼ1[+Áæ¼+Úq¥(å<ƒßÌ÷’F¢­
+ضå«×¹@mz9-\½¦G“ªNÅ߁¤ß’~ÐjÜ
+¬W• ê£IqiFƒ¿œdŸÝøÁ@ªÞøçÝ”îxwæ渗fv¢XtSèÉFÏ8È
+üÇÅ
+R¥Ó7Ô¬ºr^+5[˜ÐzwÛâ7™›Ò:/“<$#·•…øC%œ¨Éšø*JŠ!ÝéÊ2T”@%EaNr™îò
+Õá±*+nW›ÕÍRnyA„'’I(ã×÷uªXOÕZ¸‡ãlNìSÈ&šöli%ƒAT³
+1%汊syò‚é4ð¿¸x«§8ó<âÚ¿aÌf1ËôqyEŒŽ&¸"S7„«ôÒó³óÓÿî¾9¼ìàš“ðߊôÒ0.½©¯mçÖ„S
+ó'=ã©}>•:åiì*;RI"`3Ø
+ÂØ	F 3Mpða2u•B‚Xõ fÒÅ¡õ1µÐÈÐç Bq›§"ü–;SÒ¼P0½X…u"‡š…i	§–ƒê1ý¦WÀÎጅ:L;ËQ]›I¤ìÞû	5×RY¨®Ø¸47¨EÅÔ8ÝקR•±$˜®é+K:ÂœÕÙW½¸i­²n$’Ònð˜ºÓËaQ®¾VTÐR0´Ûã>m¶Ë<ßÂð@f0ã
+³áÐí»\ÖJœø¡Fý”û˜†ÌN§8x+Â+…ÚR)E`†÷ÒúAâ”ð­0{g$:x®Ø§Îxzíx LA›²(†‰UµËìúvjdnÓ½ÍÀ–ƒ°ï|IIšbŠª²9™ò}}„t·Ù'jÆñGû‚‹’™
+Û1"êz6£0ùÁÂl‘šT°0iÙiÛ
+I”ta™õvœvYÏF±Î´ 
+¥–ä{?³Bí/Å÷Õzå™Sùß«'•OJÏ‹Å÷â;|ûP-=‘ß>þ­Yþ£„)ЕÆfŸüT}ô獯Àdû÷5ñÚ_®þçoìÿüÿÚËÁÚÍóEˆ±jW/î¿Å9×Bé0ʸÉûæÇ{Ö®ûcíßÿŽy›•Fþ·Y&…5q´‹°GߨF½¾½¹ÉþÄXcg«nþ—>[›­kÔ7[­ÍÖÎv£?×w¶àý‡Ï÷ÿT*—‹ËJeͼÛSs6ÐÚñµµJåU÷¸oíýt±–¬Ù-k¢¥,Ý¿¶Ar)¥/VÁ
+²VòŒ"+º*E\¶ŠŒÈ¼çY—yW)@×ׇŠN,·ªÄEbÅõ1èw“÷¢±€½ËD	…L¯ßõVÕo2~–,’DÊé䡺60¶Õ2ÓÛ[ÿ`ñ°¸ X×ñNÕ*°ùƒo54/]LbÕÑŃ3ÇÌ:DOˆ¨S³òèvאù‹Û#ÜP^!@§çýkŸÉ¯•Ðî߈k&‹X<`ýƒ·>í¢V›¨1zyü23Ÿ¿úÞsºÿ/t‰Æƒ„¹T*ÿ>ëáÆ?$
+B”òFclÿ@gä±SJæÓb*Yïû½Ê²£6ÉŸä® _cÅødk‡—’FÜ{©ÙdÉ_£ô“±åÖP¥{LLÿ FŠ$ßÑ&ÍJs\b,˱/‚æVóÛ,^Õ‘š™fŠ•ÖæÔ$É~ç7ÐT¡™ôÚŠ}c„à;­ÎßuQbaôMW„Þ’+bۧˮIóÿК¬‚]¡4|O’7Ý“iþ@i`ª/9RA*ÉÉå'±)kÿ"úÖþ'ÑôŠê¹|+pý×hÕwÀäÛª7ë͝Övž4­Öƒý÷Ãí¿6»xsyÆH¡dç|ê‘°þ.þ³{Ö}¥í¿µì¥mµs>­5¸•& ºV軲ñ¥+õÅlD†z5àþ'PS;˜–'<ºÂáàµ<—×ÃOî´WhºÐUvh
+딺ÕÇdŠž?š…bŽ O~Žï,!—þÌ	/✮Wð<Þ׌SH«'Ç^y* »¡H`@WIÍG_ÚBGx.gþ, ^+ÂÙŽ¬¡Ê{u°|¸¢uh~äž
+¸© õ¬L¬(ÂC0tËúÒÉc‹E¼&BÓG#Ë¢0k¸£‘tëÒ®Æ-öWÇŽÐA°E^+3ýG«¨I®É·0Ì?6Æ+ÁmÉùN˜¥: 	”µ›[ì="©Í²o‡>f±·Fë¼Mem`ݦ¾·Òǵ‡üðyøÜáóÿ   ÿÿ ¦Ên R 
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/PEAR/Mail_Mbox-0.6.1.tgz
===================================================================
--- trunk/plugins/coclico/forumml/PEAR/Mail_Mbox-0.6.1.tgz	                        (rev 0)
+++ trunk/plugins/coclico/forumml/PEAR/Mail_Mbox-0.6.1.tgz	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,108 @@
+‹      ì}k{Û6²ð~­~ꓳ–ºÅ‹î¾4¾È‰Û8ök;mÎÉæñC‰Ì
+EjIʶºÛÿþÎ àÔÅ–Ót½ÛXá`0˜ƒ©>ü¢©ô0±þò\?Š,·
+òBH»Å+âoü¨ijK|ä
+	i©
+•üååçùv„™'wÔõLÇÞÛR$y‹P{è¦=ÞÛúp}Rëlý¸_ڝr>!â·ëÑ•”­‚Š ¦íímÝúþ´W¯O©îJÓÛ©dS¿nøF] ©Em{¾î}YЃ=®)QûÏ[ßßßK÷šä¸ãº*ËJýãÙ»«á-è5Óö|ÝRèå™=}ùÎê>CuéË€—¶‘<cA»ØPWk…ð¶öKd×Ö'tÿL7­›³ó°[gÃ÷Ã[ݶ©µ²[¾…Þl2ÑÝùþ%Õ
+¢Û™ÀlŽæäƒm>³ÃóÔÛ­ ½A½¡kN‘&û§>ê6ñ¦–é“	õ<ÀÊ#@FÓ D'ˆI•¸ÔŸ¹6ño)±g“u‰3
+«%BfSC÷)q\ønâÜM‡æÈð©n ¢Ñ4¾KڭDZd-üä¹tàí¾CñߐDdwæQwßÐÝ/Ô2¨»[gã˜ÓŠž¼éÇ`}è›wtŽTŸá½uñâG·®éù&ŒëWjz_h‡á½ø:…øþïGŠî›wkŠ\“»@ üø&¼Xi÷Ô.ü·Îþ„¯ÅÂd ]
+P<º/K-IÙ­²·NMöµ/…øƨç.¬¢	,1O€P_ÏBáß@â=w-sHm’™›\¼c{ÆV¯xîÕ­ñÔ’ný‰µµÿîÍÅ»Ýà	[ŽO½ýRœ ;fcò_J«ÕêôÃážýW}êx;>¹wÜ/À¼Ä›™FÝ›á¼ä‘Owúðö'ŸIÖ–cûÔö=6Ãt	ÎæÞV$|32-J&FÏÞV·¡7h[ѵÛQuÚl5d]šª´´‘Òn‰Î¸„댙a²·ˆëXð%ûXρª7›j€u½Ñ2 ¶:ÔºÜÊJSVõn •>è“©¤2`eð °áó7´«¶Œ»«r{ЩAÓÐ ãFÓP2€'À@M@ãˆÂoZƒ!íhmEh£U›Ý訃Qw¨ëò°™…ϤÒJ°;]j´­©
+FM­
+to)ÎP6d­ÓjÑ,î.,–• «í¶¬ä¦.SE£Iå¶!+J£Ùn¶Brø^ýÀ²®ñC4>ɇ-+Q³;R4¥©Èm¥;Ôš64[EѪš„Jz|Ãj/h
+änWnɲ1*Á¬é½ÝRZM½¥š¢%_€ÿÆ%dˆé²ÕãPSj`˜ÔËþŸ3Ó¥Ç0dÈîÄ´÷’&i»uüȞփǻ¨¦˜¶,.EEj ŠõH7DѾAD@ˆ6
+¦ÇÔrÆ	Å`ÇdàB)˜'IB’”,\$
+sä!IIDR,ÏÉ3H:“u$)¹W¤—ü
+ÑKîÔd5—^§(&ÀÈ9)×è´{䔈룉aÓ{‚dôo]çÞ#÷ºkƒÉK>	ͼj5%5ŸZMd»o‡Zw5›Ín@#$Ò(°ÊÀÊâö1=}Éx¦»:ˆj೩ë³!ÚˆwºìÇZn”˜Ê7CÌ#¦’KÌ Ž†Ît^ŸÙ–iãšô©kƒL›£í£IÆ2¶@£ËDúÀôkƒy
+~Œà ¢êS”wå
+Ì€ëÀ‚6Á‘!¦Ï—¼GF:€s„ÎíeÇ2ð0uåJdæ;— áµ0CSx8ÇÙšè_(Z݈ÃD·ç‘©Ï¡nb¾ä¢ù’ÿ€ùjÕT­x¾,݃‘Sü AÙ±AÇ"ÿ½HàB"M]èvxnéðtï…ëd´fLîYV‰çà¼øJBP)xXŽëΦ¾ôt*kETÖ¾>•5EÉ_1'À}wÀ7ð{¼l
+Ž h¬X,”Ñ›}ˆ-•ÁÜçðƒDÊ?9°ž*O'ZD:õ¤Ó­ém.íăUˆÚ¿•K¼‘ù „BVêõ<ó7
+´CqÍìV¯Ú¦€dà•Ë¤|éŒá>÷*П÷ä8ôµ{¢‡têÝu¡
+jÃW˜Ÿ‚PŸ"µ¬(ð,hà£dÇwºëáz_Ì){,Тä­9¾
+Õª(Z^žçL`é˜6¬"`˦Ôu ›i;ºwM`…ÉÔ9xÓ„¯¨½½=þ$—å%8ç{Ñ#	èÉŒ£HÍ|Æa¾6ã¨5E­©Ý\ƹ¢Cð´Aâ‘2·
+2›èÞd¡“)^Œ¼§Áõü¹ezþXÀôo™
+ð´¾ ëÜCþð‡·Ðü„1%›+„xöÀ’ ætècD™”MÌf‡1xñö"hZ%ìAÿ~#³Ò(š•Æ5+ÜYùÉ	Ç×ó/|=¦1‚MC+"†ömãH0eŒÃÿ™À€þ-
+“ôàqOáõíaÔýÒK\ÕŸ0ìPcîp=­ú*û?ÍfCÓ’û?ŠÜn(/û?_gÿ%Ný‡J?#f³]1*Íu„TÂ&(À…ÔðHƒ‰­&{ðL_:vÜ9AÂ/‚#²~É-¨B¡{©ü~¢u:ÎNvStÖ<ÐB$'¶Œ.—EG~ÆN‹.¦}È;ÑM•„"Æ/ýåªG^<àÂä´ÚiµÚ
+‰<j¢4{j»'«ÿKFäGœ?R°å#HSQ¦^Á®ݼí‹þÁ%¶ßÞ)‰Ù¹|Å[°Î”ÚÂç ‘k=W”ÌùgF¼[gÞáÐrPEÃœ¹´†- ‹„¯6ètRyûìàôÝ
+îÝô//Ï/oÎΏOONûÇÛU¢*²RIàÂXƒ1	Êy9Û>¡0Q¡žœ¾ëß¼?¿¾é<½º>}ÿ†ƒWà]Êãaü#èçŽÍ;Àœo<-ƾuuð&ïUZôª÷:ÓcSŽAŽ!ú'¡g¾ð
+ïÏo.ú—g§WW§çï9èF%;aCÝƀɀFÓRóèà="|~Ñ›!²95ˆ1cfO{¾‹:QhÏU^vôîüªÏßÖZø6W_àeÿ@0M;‚wÃ=¾!Àñ1V„&¨ãêî|9­Tôuÿæúì‚Ãï,Ä ŸÚ« þõòôZР›S½p—°Dlî9	É¥ž3sq©²¥Â#eº=Ÿ8îRF»ì_¸<â(*±µx&ˆ‰û´HƒÜ³%¬à݆̼pµ\½¹9}ÿËÁ»S>s
+[¥ÒêºáÀN}(ᎂN™Zð‹°mNö-ê›y’ðµcnd`Ž9+&Ш>¼åÐÀ²t}ál¸Î„lUÙ(©mˆ¯uôT0xPH0à9ÛÈðèT¸¬#ìÈ€:ÐÀåX_ß"–|túêáFt ÔpûÑCúÊ°°fCßq«dËaBk`˜¶AÈ=“Z¾G:ÀŸÚ€÷q‘Àç¢Ýv €[Ag6¦1õË•*x»A¬]ÓgºW`ÅÞÌòk  o©5Eÿ×GV%sÐà;Œ(ºa Ø0"€hð­úr ŶýùhrHä×Ä l¾†Ç(áEŒTøN 4ä12sÅ9‹tW8r-¸|0Ha–ˆ•†šàÞuàû|šþ]>L‹9Ââ7®öÄÌ#ŽÁê6pHl¢`V\“Þá{ƒi	¨rgêÁÄèÌEÁ¡ò·y–s@î9"Ô…ãGò8Vgæéȸ˜6³-1-
+Sƒ¼{ëÜc<§ÊèŒ;z	ra쇎@\¦`ˆ0‘ÊƁáÈx$ÀÁ«]Z#‰œòyádÁw !f”óGÜJ™³&Xz0!¥á CeÃtL¨qnYÌÚc]"ÐÄÜŒ8Ýß΁^˜Î€’ß ƒÙ˜Í*N&ò>õñ»2¢SáôùUä¯ ò‘Â0ÀVÂňqu€nªda`Y\œ.jC –X~<â]gŒ8`Dc0D®'ÓcÓ-oƒ™æßÖ·Aþy
+Ü<ûv}Ó”‹Çð+°ñ|&xÑH-ý‹EPK0  çq‘†ª®\a {øÓ Ñë;ÝåN_Ð2|",0‚ȇ9†åêì7v|uÂßSв@U¥°Õ"“¤êA&(\¦ÞlÀb Õ —`¤@i!Ëq1H™Pž_=êÈt=.ð=
+ /tÁàÙË3_4n.ÜŠ}m‚˜òõÉq|,D/̪_ˆšiûk!†À)Uˆ[ãˆ@š®¨RW?û‘l ¶¶/Äsà8VÑÙ –JøµG)ûJ™JæÑ8ý(66ŽÅ0ç*+‰’¢*T \"	팈ôÑŸ%aúÛh}Ì0M/”n,LŠ¾ßâšÜàŽµî ØîŸm=³‡ŒI¨™Ç+Pnˆ3;Üœ€~@rßðÖ¹ÏYÞ5Ç·>ÇĬPõÌÊIy{Á,:¼	PÍÔÜ ñØþÐÔ-°Ð(j=@µp:A•€^uBÇ¡´®äMvêYlJýÉÓ»öÈv>nçqªn¡M“ö(A½@CRntƒ\	 pcqÆýX°@q2ôîØFZìä|Ÿ›7&³¯“@&Ì"åÖƒ7ÇDª"IS–$è/³U2˜aT=èÿƒN,Çÿ!Ø+æJí+gv~Ÿ°ÀbtåûÍ,¶°ÇV3ó!R´=
+Ü?Ü[`
+…+˜`«5ä§F/¶^8¹†
+nñágpç»Xœ—È+6s'=4æ^\ªZÎÈÂejÀ2ƒÉùŠë?üy…sXÛ¿aïÛãïÝaOÏÐàI”°®Sø€õSå\¾ÿÞ‹00+ƒYÆx¡G==G#Á ã2¶ÀŸà¾”ЉIÏ7V³Ó/¶qö©nÿUýMŸm÷\£†Eæé=&Ù8_ª$ö¡€õס-›ÉWbBÖ¦	\¯öúˆ/G&~`p¸ó'Fk†ïK…Ý uù{ÓcóRŽOR¥´8¤±	†wàÄ
+¼a¹²“iˆp"½žé1¢”±k%&7êØ&ë÷Ä7¿óÁfáü­®nz”¿8÷…ÛG<Dâd¸lmçö’Ü-‘í­^øcÞ×ÛÕÜþKƒ€™^)²Fd‹I0!îfVcÊ0Á6LŽNrÂN¦_haâôãëS%Ûîv¬cÀfAÇrRfþWž³âùꁟ¸Sì€ì‚™y3±0€Y* ~’ÞqñÃæÅfµpßR8ÉL¦€;-ìeH&ìD ƒCLgäËL®7¼ÔT‰¬PN*TƒDö@·0žAéÆÒ`ªÅÅ›‰…Û‡LÁÄõd¬½ŒHÌ5©C©ʘ”$D^[I¢	šÓ5wJ¥Få¬ä»ó(¢ ŒŸÐŒ³¨&°2K­B‰Î|¦t¶Ñ”qÈdJg4ó¸h;÷RØÝwàYz	>zx×dF—T+­¸mæÁ†“›ÅÔ’ZJ.¥VR–/¹é˜ZJÌTô’«Iƒ7ZEДƒ1ƒÈÎàÉæ"ùqêRp0Bk\déþ	Ëñ¸¢™ÅfQ<»Ó­X
+0ˆ(ŒÓ–¿ÄÆŒC´j%¥u׃K9.9ë!ó–fí8œ8׬#ŠøV3ÀRÔãBëŒM¬ppÒ"ì‹ÎHé`p‚‘¤Ê5~$Ö±ªD0/‡ZϬ©†!"Ób@‡úŒKNÈá~ÊJŠŠo«¬ £ØàF|àÏ=®ª™o8 ¸®˜ã]þ±²Â¸âp+ŒmÎ|ª8{*ÇÆ1PŸeØ€ûL0åßg{¢ßƒSXf^ü¥š·Òe$~lÏ–›ç•u–'8¯n û~‡˜
+æ¡8£dŸ8EóŒè 2-òIWd»JC¤Hû„Y/Eòi	6†X?¹ÀuŹs2¯-cšïÇñm…‚I>ðetdSôM»lt]Ñ‚[ŠEŽóÚGà%òDUnZâ .·
+Äö“P,>šœÆOÁ;??a13²ÜwY%©`5Ãy,=)"DÆ1{pÅx#ò1Scþ$ÞIõèÛsPŠz(Ÿwxè"ª*òÝYÚÀ­sÏx£·ØdÓ”Ÿ“ù£òÖËcÿÙ¸¤¾¿Uª!¼@r?“Zb",¶ÿÎfí–KäŒÉpŒ,ÙaJzóãj^T°;¿+x”~atg“	Û%FØ*C‚E+Ä`My²Rã{úbM0ð««.LõXQ+GüZKpû>‘ÓC "!R¸^¢Mr³LQJ4.sÎ
+òöÀaÀ%Á½eqˆ ÆוD÷WE÷±g!½3XWˆD¶þnoí䚘 r¹¹‡â“ª$Œéy(2ÍÌ
+×)¡zæ<ÄöÄ7¡L£*‰4AÞ“Ê1¶%¦áE½Ú¶—‘ó³V¤.©Ÿ˜¸ÊìŸ?~±œ,J`À#VÀŸRàÕEÎÕ*JEäÙ­&=†Ž}‡‡“‰	,w-ÚNÌ*Ñ€Vi„œ±GR-xŠjÇäŒE‡¯ÁS\/y±X@ßC3#¥Ú¼ñç
+ù÷¿I±‰€-*OŽ’fÂ6†?QJHdûqáÎ¥fÃÏ0#†Ÿä`lÁI ­—0*X›sE"ûX–ÛíØ{\°½ž‰zÄÆ!2‡øšï UHÁ¦Èvn$³qÇÅO›¿xô‡¿6Š¹†XÀÛîÓ× ñ^°gðd/žœÄÄ‘"b`ô[ZûsW[àTã~–5'3àh‹b6T òKé•ëEÖwŸb´Dî(¿ÂŒy‡Àïݨþý·¿å-;Ó–x¸…‚0S´ãÁ·Ôpâx²„«Uæ?<¤x^þ¸×RŽwÌ}=?á%x šxQ]Ù'dÅ%^>Î@Þ†‚©D€‚XC"'¤È&®²bÌœ³‘5>ð:zR¦=Ì05£_˜çä‘¿Û·1
+·ø’š~#E\s$mŠ³H!ñ¬Â‚mYQl‚÷¦÷$ø[ {–‹l±9!v$Åp?ò	Æ…H…|:ʦ¹a´Póx¿ 7Q?Ý;2z·«dA¾îªæ÷®EôkHä9tºÐ´‰íÐ?D5/VÌä¹4ó³©[l¿éټă”
+D%sA3NhaŽÀŠ8¥Â_ôrZ/‹J2Ez™3u¤—Yê/Ï‘pºA9®Á³›‚
+ópSL†fºí)ßØOú3Ý
+»ËѲ‚§Z ¨|I'õs/zÆòQ$;3×sƒ*ÓÇé3‹ОνÓëþ%ë„I!¨2G[d}Vòi‚<ÂPY`?¤l‡XášÓE L#ª	â“c>ö^jll
+ng€‡â×1CD-—`˜ÕgAæcäÛ4Fœ©oN@/„Åx˜!Œ»Å,ñ’%a²‚SÇcùœIºˆIÞ…ÅÿïGsžR9ìYâh!/Þð…Bžx1þl^}Ø$Ôÿ{¡$^Ø‚üõ¯!#mœ¦5v(umJ’%Û¨k[@iÎ0dXsˈ?)Êž|êùÉ•+ØH¹¨¯amÂ:ÊÉ
+-³¡üØà´«&Ùp^lCEçÆV̲ÈËwºŽN0²<w6IV¡ÎØo5Ò¾I3çk&i=òç5DŠØt¡|}5š¥ëY%¶I
+Æ—˜êJ'd3ÙïXC•­‘Y
+ŒÅÒbƒ£æE¼ðdLîÈ×ÔÚÉÜÌ¥™VÑvp<]0'0qÔ™—¨˜DË
+B×1ÌINاÛ«„nò£pBX…‰VØ…¥¤b²õÌÆÝj}`­(<b1Ù«üR˜…‡:Õ©ƒ±Ä²¨£ôçt®ffñçH
+o6 \c^Ž\%Í
+`Ðãnøöª	Í‘Jºv§;íß;Am ïÇuRéÎøî<ã;”â¶(¤Ö~Ì.,ó‰å5;
+ˆËëÈö­k~nçž²ØæÅî\vv	ÔPô"vüÜÄìdŒwzì¨{•ý;‚ÆŽeG‡—”
+má+ž'Ãp­ñà+ÿ#3³bÉùÌŸÎürôóŽ¡o4ççÊÙé",W‘HVCjQzB˜¦ ’Úıô؉ËeGŒ#Î"Á(sÕžÁ.hþtÿ`ç<™Ä÷Á<“Pä5mc¬ìdÎâË$J¶ÒùIhÏ7ý™Ocâ
+7…±òÇ¢ósø–ÇJå‹ÔQ¹tŒx”ïvñ͂ā8\³‰Cs°ò"ÒOã綟÷ÄÜþOÒEŽ‹ó͍Ôtyº9LR~•$¼ËEùw‰ƒê‰zI?n6As1‘—À¦¥´;y³ÉvÙtŽzc3×E‹Ø:U¨ yÃ9¦r"_ƒE;öÃù}}v(\‡Woã¹Òyf“íLj”g?H?÷·8ïåW¬ö/<ÇË™‚†ÜmUr2aÚXÏØÎuX$ˆÛ,zÖUŠM¹Ì¬UPcöp2åXTó­‘<?ž-Ÿ;ºœj¹ÔãSM °ˆiÀ \挲0¼iÓ웂·Œðèový‚Bìuì_ÉG#´÷gùÚtcáp4TÚÁAžü¸ŽW”ä™+¬>}ŽÑB’UƒAÕˆ’)Úð
+ØkóÃÐAe9Q6sëP"Œ‘@2ÁÁÉgke8eÃõBþåŒYÁñ Û ŠbáN‹cÓj"‡;tÂ@_vøõÃ0`|{|,˜Ÿ¦L†`Ñüˆ¹)à³Ga9Ê֍BgiA¹CïÓ„ƒÅ¶úÍ ¼Q‡W à^PXºaÑÙw÷~2»Ò:q“Ì^GJgžMþe˜™¼Í!
+*†,f“;s ¦/Iã‹Âþ³lU†+q†7ªøÁœ§D…¾e„(«dôäTkZ§JJ"‘'~òv¼¡Àüg’À*Aì ÏIÆ!aŒ®×KBMŸH
+눈fgqX\jhDï<ÞzN`föÙ¼ccö~ž0Mìñ°°8û´³ÊaÜ¢äwqp4¿ª×âãL×;e*%
+Áü«Àˆé÷âåÁÏXú8)0¡!JâLvŒ-ýѨ`dwŽiò'ƒRÈž¼poTà%ŒÊˆ^…7ÝYaf¢Ñ2•æY	Õ\'
+¸wÀ¹¡ÍN\¼&SѼ-L[¨I&âö—r}¯Ç̪yÅ‹üH‹f:v¨ù´è59õ–Öšþè…<p6)ÇšpC¢J`‰è»Uø"])8R^À$©ù_N%i›-#É8A’Å”úï¥ÿ‘O×Oß+øüõßI¿LÖWZªöRÿýkü0/·
+uF~šÙDU‰ÒéÉݞ̊œ·Jká3³ýÚÏtÞcéjðG¾ÿpzü®Gà_UÖºxù¦u[J[–áÙ™ó›iYzíÊ×ý™×#²,+™¯Uö=û)qÙR»ÐýÛÙ}€Ÿ×ú`hÐѸÆîÈ:“} pîšcÓÖ­Ú5FøELñ[2hé˜Zæ¸VFQƒµ7.e÷Kô@YúÒnwDÅF,\ƒž”?†V5ERܱ5:rMÕÚ5¥ÑªµTÉ0<éÚÐÞ¨Pw|U¤#!±Ýkhä¨u
+£RÀËèñ~#p}ø¥6yP$Ý·$—Ž±Îà
+>ÅÁ’ò*>µ’ªÂJWê6?WJßúXäRŠ†LÊ€ëÈ|¨ðÈHÿêìú‚˜éªÇ'Mí¤s ËZé;´õw³Û_4¶¿Éð7)ã+é1"€YÑè?þ¤*-Im´%­-5b\+Q­#)ª¤ÀÄ¢²&wêâ‹ôà¿4ÏNþ—¡™ÒT×¾ÒÓš½†LjrƒqnbÜæÄ×eEWs±[ôÏeSR›MI‘cs¹€ŠkVÿp-+jûQ£ÕZù£ý¤ÈþOm&åOªÜ–”.¢£ [~Ž³ÅTŠ£ðõÌwÙÐZªª4µ¦Ö’Î?¼ÿßF[iH€½Žaµ_Jf&=nÔb÷´vz©ÑèvŽ`¨(ÕäFŽ :Ö1$UfP› µ	PQôöÈOúœü¢ß¹:ÙýÇþ~
+Þ:u=Ç®
+ðÞ*òƒGÝÚÁ˜Ú ¸„­7%X}¿ò½òa‡ˆÏäý5&Úóºöáj‡¸w=Eê Aò†¿8uFÕ¦ÒBñmÓ5ê
+ÞÍ'5È™MíÛy]–`ñI0øÓ³~í~'F(ðMl½š±T’ϧ	²‹ãQÃÒß­]ϧ@ Ÿ>øuV~5º`<î^×:f·èāA¸7²œ{jD}]ÝöF@¾¸¦¾GÚxobélÎjúbLïÓõÙçR)«ÜTµ³ ´×Pn
+¥»T¹Ék(·Ùãúݶ_'È›Ðk9Ò·!Ñ{êS‹é€ô aU´÷TUR»ë*Žþa»ñÅÄ—ÕžÚ\¨8>)]a-díC+ÆÜÖ
+Ϫɨ†ÕN­Õ®©
+5Œ
+~ù§,vµ#µÚ 5ÔØp4à‘ËÈnŽˆüY=¿B<›jã1ÃjÃ:cÃÊÈŒ“vãXÒPLËZ8õ’B€T8H!)®ðr÷¸½»‹¥×opk4—±EM‚EȉpéW±°ÏoÉdNÆŽ±ÖBn®»’?ÖXøÈ™Lu|ëÏ¥’M?Î<‚3/õÅÛ€Š¤„ËüÄ595"·zM´Ýu–¹ÚÞè2Ç)8Æüõ\g%ÀÝÙ³°mU~¢ý
+¤«"ÝB”AU¨TsíW0À:R8,Rö&þT}ÂE“\“²¿×/r¿
+ý—‹—bœ‰s
+¦¥Ò›
+DŠt?µfˆà&MaÏ”Öç^³Ñî¶ÉVÿí»óÒwé§[Ç\Ãêý=²@|džÇ[äúÝUíèôâmÿ²‡·ÜÙ°2¿Ãï.úýËÚÑ{%ø–Ulf‰È–$Õ¦µÛ`b~=ùå×'¥ïÊç—G×d×
+;ªº“C”JU@ŽÈ=…nƒ10,«	—'GŒì9»:ˆewú$=Ÿ–3Æ;ú<¼~ÝÜ 7æ
+è°(¡gäÝ¡Òî‚E+·åV|	0÷]–
+¥xS–tîJz”9äÎÚBNÚ&zº=ô–Z–ƒ’Ó ºû=LAß6Ç8ùYbÍº‚`ýp}Rë,·†NùÖâ=^ÑÍjy`hÞ"&¥•â?sB
+*}òM€Kâ?
+¸<©ø¨ÉÆKüç+ÞÿWgY)±”E/H1À8 “T¢,´õ-ï Ÿà*,7Š\Ý‚TJÝk—¸_r{'ùt‹=EÎ;9S¯9z‰«™J¯D–˜aº,5ò†—”¾ÁºLÛAô^@‡·ÙþžQ a¦\XÀ©ôŠÝãõèS5ÞwøÓ¨^h‰Ÿp±Å	›pa-Ä1ø.:å«®#Z±£$vuñŠ¯±øË£ñÇjlýÝ\Å6Ý«èr½ >d>pf-ý³¸^‹¶Ý¸åš Ï{†â‹uÛÔöoa. at n}Úöx‹íωRX¼7—à¸qYÔÕq^Wþç鹿îavþû/ËõëÅÿù-¹v‰üWrúþWUU_äÿW•ÿâŽ-ÝŽ‰ØÅ’:]'n§`ö†Å.dÀü
+!¼RØ Ÿ	©â•ÙꤤUøf̱áõ¶b2eztSÉv$¹£‡+Êã%29*hIÇ7¼ë¼¼]%aYú¡òª>ÙŽÎìá'lE½øñ!1tŸ?eU8êòy’y;´¢o\.þž#qÎô/ìÊLkk®áj® #]œèå—âTÉ6£¯áÉ&žÝÀÉí•gP±9Œ‚÷Èð÷ˆcÔz¼ð]ꐎ*|uþlËAýF$E°LÒí—í·à8~To!–fª<D¼<ƒ¸L<y¦"É~e|«,qr!ÊütG¦¼C?Y_æM|•ÖˆRZã-<6ŒÇs‚¥]ô.žo(ã Šá§íf6†/óƒ³ìá!ÎzÿÇ­ŠBýÏ®úÝÌðKô?iµÛ™ýÿÆËþÿãÿj;Ïÿ+-7	þµ'‹ŒµçñˆÒë71½úe]ã‡Í€¥ñ5ÿQe¥ù²þ¿Þúg‡¾øÍàFyûâíÅÛôoÎNßßœõ¯ßžo‡™ËÁýáyâÅ_nêõ@zØh?þž–FýÄÁ€÷[Ö±ÇÕ7òsÂCaûkúà8e/g¶MÝ@þäÈ'†¶Û¤n³
+7Ùò~<gãïÐyÁA„y„¡)PctaÔë¹3»Œ/÷z¨\IS,xh›ÎÛd_Á¼3¤ÚMHµr4d‚+™ƒÛNú&ðMm_7Œ¼^øÝv^aÖ-Jd“ÃxÐdˆ!5(3&y‰óüö—ÿ™…óŒò_“Ûr6þ¯´^äÿ×´ÿÈÆló¬Éðæ_/V “÷èp†›Küü&m'ôÈVŽ|ØJë‘ÜFU¾Âd+G…l嫐#Ý6Vij¾ÙÀâ*Ã;‰PV‡ –†·xÂ'ߊ•$vO|ÎfF`3ȘKÿÁ7ŠoÑB
+G*•{\
+¿Â•ð${9;ƒ^О«*:˜š(0×ùÞÅMXä¡èžoЁÁÉHàWÔ9‚Æ+Ý¿K^óW&rü*èD’ÞÌçÚ[iIVеIÝŠ+Y—zX=so™}À_VYxxe6Á’Ü@©2ž^zUT\ T}v=øÐØŒRAq+<]•­x4Jç[ÌëÝS±Fü,ʇibVX8áyµäªç¼Èkæ÷Gô¹û¸„àÕLx3Ñ%Lq:$×åÌ{KöY`sêúx¨±x¨…Ó~Mu×#&3ÏüPÜ@¸öÔóCOÏ0ó> }H'&?1îL¡­ü]ªÜHÑŒÒ/y«fžìˆáìùçürËåÏ^ÿŸ3ÝòÊŠRMŽ…Ç
+q`C]í9uX垥Èqa“å%AÓBæ›OÑYÑnWÉ‚îÙq¸±C_Ùk—犆7KÛà Zºör1o¨ŸÄ‚_ù”x)µÓm@¿xà*¥²ŒYìÇ'Gtu9ôl®S.| ©>M&å°ƒÐañqÁ®C|Þ#؆RÅ•emlý¬‘”¤]ÞTl5È…K)àV¹šŒ#&äÙ»IË °2ÿ¼ŠãÒ|ïeœcÍåÜ“Ê’Í°2J™¿ØöK•¨U¢UI£JšUҍNx,£šVL´‚Áaš]KjJ
+I{ÔH–‰¶‚›UŠ™wø&9.ISd^óÞ:Ó©¥¯Êo­Ô?¬›¸8E®f¶/ƒ7TJ9
+æ¿©§Ï|X»ç‡âæÆÒ¹?
+êÀþ9ç¾^6¤ÃŠ¸Ëß+¶ó¦šOÆÊ«_Q×^þqi˜dEù
+C«’š²úð´MOý*ÃCÇ}õ669@­`€Ì1I[Ok¦ÞSYeq­@ª5¡¹I:mVØÙFXnvU…Ç»žò^ߌ죮mÒŠéÛê=…e·±dßÖ/@]2¹jMóþlÚŽXî’å¬6)Ꝝä%Vút¾tn8 ?xR6c‹ÄA‹ââ߸ÎyNô¿p_QÒ©P(ïÞXe¹®+;yÏoZv
+vegPVÿÏ/6ÙY:g†µ³Ùâ3ß©ñ"EÒŠ÷>,ôœ3'P¢V¯š¿Š°Ù€þºN:ÝôÑrå
+¤zÝcaâù¢’8bÅË8ò’¸¼Ô3è“ÕhôͨŠB~`â3ʦRQ×&ì¦æ¬¹*è?·Q*vÿÀÚJˆwþ¦•P4ú3è¡3û^icé&÷.:h‘IÀJôPƒjøJ㧶.$l{ÃОȎ-"Î	j›lûdbqÚí&Ðs$¯(‡ãÜÑÀ®à‰_+u]ê,µŽå…¡¸ö<^Ë+$ëQÍüDeâ¥Ìù6]øŒlrò‹¶Ù«"ã^ŠÃã¹X:Ùóu$,»ò™âÉy;Kò,J§eå‘;j«
+M]¦ÅM—n=%ZGŸåÎ#Züªœ(CÀ#ÂFCƒL·,çžóÒœЂ†Fü²šŒ(‡ñ¼r[ÜÆ™'´—‰X¡˜Œ„ý&PŒ©Áo˵Ž¹) …å—ó4bbó\Ï^9¿&*Ù
+ààû:ü_GÀu ³½L	åõ)BèQÁ WÀa	PüÍsS|QÏXµíoqž';ºÅœŸ_¿:OÉÅßÂ+yïä'Q…¿ÙÝ
++“x5˜Aðá1˜.æȍR¢°}T2¼ “oÓô+j¾"O!úÚDY2S‡³±ÒjtÚ™™ª×™¡i8”o²ðô–9õoîÝÀ«oðov;BO”³
+'©Ë¡SGr×s;êu–DüXmvŠ;‰!ªâægÝæ×ÊhàøUbÒ¸¥Ew1°4V¼¡ÿñôêúôý›ŒŽ'KĆËꄱ»\ÁèçۥѠÄC¼CIŒÜX4âå« 5Γ
+³Öð›û[‡XÌCž;³íl§èhv>ëÞý¸›µC~/%¢r¿%Å¿ìË<ƒ¾J–'˜þ^Ú艂ƒSù‡Òg¦âïÝyr¥úüó?"­zCgL–œÿi459}þ[U”—ó?/õß_ê¿¿Ô©ÿþRÿý¥þûŸ©þ»azÓ³=f¸óz/•ß_*¿¿T~ÿóV~ê’~©ÿRþ¥üK
+øÿ³5àóè×)uvR,ÁYG<vþâñ«JªN«Ñ>y‚¤Ò6$©šrSûÃ%U;TŸ&©TíT-°ÑT•e•ª¾ÈªÊ*´ëÞá¾~€·Ë­u“
+MÙ¸Üâ6ø­ãsA±¡ðdjùÇÀ“ò@Ÿ+r«6R$þIŠ?ýÔjJM\ì°è•5EX¿Û8>~”SzMbí¥@25‡_fSX“î9¤(MâÈ3tÎÌ¡ëxÎÈ'ˆ×Õ/G;¥ïrB(-öJ¡´Ó™ÃƒÿA('‡‡Ç‡Íãf»!w;ÇGòÖ9?D~=½}Æk?dD= 7@
+Œ4©'žaüöúúÌºpÃQ!oή#¦ÀBRµÓ‹èœÑŽ«†RúsªMßÍfLZÅY[^1±Ö#Ù§Bm]à"IÒV!§>F p5Ë-1Ø¿ñ	1'4)lŠeCÒ!ŒVρëšwºu
+ zy„¹‰åË®*wQ¯AÂí}:hŸŸ4Á‚TŽZÝV³õ¹TŠ×ØÍñ¾TºyêO©ÿ0u±0ÎÜ™¹Xà‘˜¶çë¶oÍ'_½'ȘÔS÷{‚%qðxñCŸÓßöÈÉe¿ÿ=)Ýúþ´W¯O‚Æœ¿,X,µ™Ëæª>vêŽ=‘q5ÚŠ~Gë|+±.+õRž|T4ŒÎËkŹêÆåãkÔ€Ïãz€—Jð]XX3"Еó-‹vaHºÑ‘Úòš‚±¡©ê£c»§´QJ-wu@É·[àŸcìJþLÊ·ÔröÂ(ü«F猍!«£ùCÊýs‚5Š'æTÅ1˜º]¾0
+åħÊ?jÐ_í߯µGÒê)]ŽÊ˜Mínë ̦†Ü‘Û¯}Ç̼y,¼UD9Þ:3Ý/ù™šÖ=uaL)úÏp•pJu›ÜúKeE(
+—3X{k,çæfÝ´‰3óèköïü·ç2u¼Qò€>²EɾÑâ_±Å¬À*ú6ZkÍå|¬iG¾œë-‚nOQzÅA%Ëê®NRŽ>~RÔ6ÛŠ
+l²ì0=RŽ@˵:²ª<×%°,DcÃÉ´Ž7&e}¢ß™žQƒ…S%SÇõ1Cm ˜TL¯)+Í X8šÒwNrã ’tÚltú‡']É0§²ä×Ì©¨Çð×PÙ^¥Òê®;5m­ßVÙÔȘšŒHí6TUj$ƒF¯÷µ6Ä@¸çÅ÷^®[üöÁÿqf[¹Kù?uûàӝyµ«¡ÓŒcÔF“[J«6UäP_²hBŠJ¥²Ž« ¡äJ·¨×Ÿ8,ñf2x»@r¯eˆµäÍb¬DêðõÃðnÀÆ>[
+ÖU6¾ÿÐ^Ž.بaBˆô›ãLXeEÛ,>ù¤Â$¢›'©µseäæcUÃBù¡Öɦ1`ø¯…‰ßÂQ‹Ìâ÷*ý¹oÊjSm6×Ýälȸ#™›2™éµFÞ,äÍA#6¦Nþ€4¾g¿r‡Ó9ü ‹¸©hHá‚„–Pµ‘òÌþbc^"­j] +ÎF¸Ë\0ò"g⸥tÚ'
+ù)è‚¡œ§3š.x¹²:¶ù:Ò¢½æbÖbAL^uÚ™âíR?›¨ƺ²6Ošü)tÇúªã TÓwºçOÊ¿\\¹¥6k­*ü®«*R¥JÎgþ $yt$;Ö=ÛGØù¼™êPIŽK1xŠÓY!Ÿ®õ1
+HHN †¼uûÔ¿¸<‡î.ÕaJœ™?v0qýc Ïj‡ CX;R¾¿¿'qÝ…&Sjg&^#ʽB@=EB¯)R\êZ;C­Öf]ÐÕ¯§úT—Æî3n™o\e)r¯¤ëæª, >tT‰ýÂÌ”±KÊ9ß±ý(µÑ•Z $×
+Y¨ííð1!‹óņ¶,@–ºÝÏ\=‰?ØþPÎPò»e*îQµÚŠVÁ8o°c;½&¢£åÅÚÇÇ`$wAീQl}ä ´Cn)0ŽEÚ¦" ŠÈð¹ >K³Ü&Ùž¸ÏŠ½ö
+r.?à·^:|$¹Õíd®í®Ò8nªAÀõ@þ\*Õðç°ÿæô=¹xsA®N߼þÕÕÁ›>{Xz«{°Ä¯Þ(¥ÒÙÕÑåe4«h’æàúÃ¥€æ=»xCîÜç"å3Û¯šZ)•ÌãÎñáÿ;éOZ#c:“ßÓCûʼüry`ÿ<ø©Û×èÕááÕùß>L»ÎÉøÀÒ›ÍóֽӍ.íÁ›ÒÙxd~lvµÉÅá/Gí15.œçWýҞ÷óÃÑë¿?ÎC®X ®µeÕÚlÇÐM﵇kÄ—þ1}>? þΦe*,\
+“ìrÝ€1¬vµ)yN[;0:0>ó¾eû.ªÖ‘ÐûW×Í–o6Ž%X9úK²åšŠ4ñÒÃÈû6†krÇ›5™»Ý£cYnwÔõœ~"DÃ!tq?媆˜á<mÑf{8’<s¬Û¾¬Hú4=T*6¦…ž@Îx󆡿€­Ûiw1¥™FV³œ*’àÛrûõpÔN`S¬]ø¡[h—cÝ;ÙµwI§Öœ­ªä“oÝœÆSk?],l‹m-0L% ËôC‡!¿ªÙ“Ùâ±³Yáè0I÷wPmj×*W@*-m㲁Í|iëàDŒ%÷7à2&ßÒ_|ê° ¨¤4š¸+½¦Xl©ÍG‰EŽ´¶Z`ìÅëv;ÍVã ú’_3LÝ2m‘Ž~Ž*uZR›*cºO‡x– cz{2]º§ƒ	K2	2Ä5©Å£
+­œhÑ~ÕËJWë®=L­3«ó3Äû`ÇJ:š¬&ù°HÞ0¸ššõž3†„_–™ÏԏÊBBžûNlÊ2VšË%Øጺί—<ÓüÈ2¡5"~X­ÀZ9°Çtàøžï89Ñ%2v|g¢?`R>˜ /'K_~^~^~¾õŸÿ  ÿÿ >“  
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/PEAR/Mail_Mime-1.5.2.tgz
===================================================================
--- trunk/plugins/coclico/forumml/PEAR/Mail_Mime-1.5.2.tgz	                        (rev 0)
+++ trunk/plugins/coclico/forumml/PEAR/Mail_Mime-1.5.2.tgz	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,185 @@
+‹      ì½Ëv9²(ÚÓÖZû`–«Hºù~“%ëAÙÜ-Kj‘²«ºìÕd&¥l“Lî̤%ÕãWîÜoØ£}Gý!grÖý³ÖíÁ ùN>,©ìª»Ë"3@ D¹2ú¨\i¹ÛéäOõ)
+µJ…ý‰±b½*ÿñ/~*¥Z¹ÆŠø·Z©UJexV«ÔjìOOŸÇÿììÁȳOšiéƬ(æ
+	¦ÍF†ªÏ®Ú‰Ëþq¶‘ØÛÝÚ™s>aâ¯é©QÃ:Îïþ˜3«¸¶íy+ŸŸkŠ™›_Ïs3ÍΫ¶š@²nÙ–­X—Ô ×Ù¢[þÖҝÒ777¹›rÎ0¯ò¥B¡˜ÿþÍIot­M•¬>³le6Ò –¥·,zxbŒ›P]Ù[Y"wk©ÌûY£Ëë”A¸‰Ý-¶3S¦ÚîEŸÞèSm'O¿áùèZ™Í´É®ÈN^>…Öb:UÌ;·.››Æ']Õ,6š(–mƒLM±56Å÷SͲ y+·“—•T™ú)¶–ª)v£Û×̾Ö8d¨Ä”™Ê¦ÊLŸ/&ü1´·Õµ™2™7›kÆ|¢y0ëL¡M§(3K·l`N ÓÚzÁúÚ­ÍÎÓ¶àÇëþ›çGw6Ñg֝bmx¸oÛÊèzªÍl÷—¦:ð·¶z6TGðÔÁÕ¬˜«ä
+¦#ž–!‘Á›Ë^v¿wØí2 ½i1}ÆÆúDÃQ²2ÌZÿ¡løfj#}®c³¦Ù#úèì%.Ðz¢)*ü£~¨ÏM]™ì•ih3m¦*güÙÎÂÒÌÝÙÉÓw|¨!µøÓ—Sð‡øZÙú'm÷N³vòâ;´šÍî¨@ð]˜Aõl¡–-=| /l®ÝR±U,´Šð˜~ÂcAmj ÅÒv‹¹j®´“—?©Õ¹Ë9¨‰_±E·æLС>Ñí;|:ÑÂpäs	È[{g¢´™¥±…é—
+Æs¤‘ŒŬüÐR³âN¡ÄîAïˆõì;l@<§)hØšµû‚ë·ì`qž)ˍb‹©vÆpD˜n1E22¯1³a°³ºša¶	äGŽº"Ž6³6LRféW3¨ýðÀSã“Æ~¤‘û £LMâ4ç€,"€ª›ÔZ;‘GÙ O×ØD‚n2íÎÒ›ªU˜Åí„Rj4›ÃQ­Y.5GÍj¹\*TmX)•ŠÊ°^¯&HΈV~~
+Õ‰Ì4&ðB5F	–_»=MU<ãÚ¨ZiÖ­4¬ª°²—
+J­®4ËEM¶„ÖH|då”ÁfmÙ.ؤáJ³R-ÕF£bI«hª6ªTµB©PWkMµZW›þ†å7)ÖýÚ-Š5¥¤4KEµR¬Œ«¥1P[-+ |¥:®øÛµ&š6Ü(µÅ|Ð9;ÉWåJ£‘ƒÜ)Þ‘ZqT‡›%­Q¬•´šVjÖ‹ Q)Åj³YP7A¤ôŽÌ`kðàxu Ü?£~¯ö•J˜\Qš#¥Ò Ö+ÖꥡRS•‚Ò¬ŒêöáßÌëA¹0¸ß ”ÔÂP-ʍ’V7GÕ1üÕšÕbiX/ÕZ#¾ÝûÑ»QVË¥Ú°6R€¸ãz¡2—ª$ý°V€Yßnù^íŽJšR)GEµÞ
+KÃFC«T‹µQ¨T”fCo·r?FWÆÕFZS+Z¹ªŽ
+`ûô[­—•¡×nµX¾çkcE©ª
+`&M)+µj­P¯–źZ©V‡Á¹îoù~c\ªÃª@o›•rIj#­Ž\ÞÐ…2üo¼¬åû²:*
+‹C­6V†ÍZ©Ü¨‹µqM­£1p|µëÕZñžÔ©0‰€¯KZ¥	rm\¨Õ›¥‚
+N©•ŠqÔn”J÷çj±Ñh¨ÚH«Œ‡ÕÆxÔh*åZ­^®«ÍblŸ@{¶\©F•0¶Ò¨•«e`Ú42e\)‡åBœìjT+÷¥¶R„¾5FãF©^¯ŒU­\*)£Ê¸<.+u­0ÔbZnV«ûR[QÇÃB­Öh*ÃzI-
+•B½<®VǍb¥2Šk¹^*ݳå"¬”…Q©XRAnWJÃq©¨
+ë…²Vm¨Zs¤Å·\½¯$)Ô›ÀÔ…z]VFcMQ`ñµ¦ZQËu5ŽÃšÍú}9l<Õ4
+‡†¢ÕUuó¹\’7@7Ë1-¥æ}zT«ŒŠÅbÚÑêÀW0ÅFµ±Ú7Ôú¨»@Õæ}{]ДѰ1ª4€Ù€öåa­8ÖJ*Èq­\,UƱM‡Ü³é&è‚…R½ª©Ã‚ÚÔ@€ƒN¦êÕz¥¨eÓh{oúºÁ,*+Ðh]X|‡j±:7kZµZ,A|6†ÞfÐF¾GSÅf¥â¿RoÀ¬
+K1´S¬¡
+Pª:Ì{‹–gNµUÇ–PleC•ÚÚxXV† SW†U´2.óZºéoèÖšD4f¬n’±è1¦vT
+ŒB¬ ]³„åùÝÔTŽ„¾°©>Ûã?WØÉãWz›—¯wÐý"Ðç&¸¨A^1_PÁk1QÑõõài`¡¸,°Êéƒ
+ù¡¢íôý
+¾^c7……M´¢®´‰qå3Æ	°ÇØ÷™ûŸ‘î˜ûi£3Ÿ¹Ïÿr“?Òèg³Ÿ¹Ž‹b¶XÊ–Žã‚Åû¤ßM¼Oìž¿>÷ZýLÚýýk°íáÿèÓÒgº­+&ifŒé1zÄ8nÒ;šs-xæ÷a¬EÒb4I‹_‚¤¥l¡’-”…¤
+C
+LItÑ:DåŽ7˜-ÆÂb`”Žõ[Íâ^D}f˜L›]cyòáÝ“Ð¥hB—¾¡ëÙbåA	m°}UÕTv­Á¢g:~ý-x>±5Ÿb1@§Õ|a³¡±˜©Šyœl‚܁B̘±™vƒ¾T¨wHBeŠª›Æ4•ÆŠ–fó[²AxÒã¾Ozøšw›Ògך©ÛldNÆX’Ü­c @Eî9¢q“§ôŦO=[ª?ð¨ž\\#Õçó‰ŽÃÂÆڍxl1֝è
+·Ï4Ûúxw?ú–s…‹ÃËwRy¨ÙJ@þ|%…« ²¥ÂSøX7-ÛIúŒÐVÊUٝ†~þÔ3âëýÓ\•²4Öxb›°h&RhFð‘!íòÞ#Kþ/ÁáUZ ŠBÿÇ"ýHÏŒ™Æ¬)(eª2eŒ˜˜¥†èè/7+…ô}‡+v¶¿ÐpÁ2ó°ëù¾ ½¦ÖýHÚ¶ò€DS&ókå^4«£ˆ)¬¥V®½Õ˜Üjbîf“\h¥¨‡eÖٝb¢F†)¨—*öwÊÜ°¶-vßùæ+XìÞZ:ªV4´+}6Ã¥Vì2myv´Ê…s6w[l@š‚öšÔRÕp“êâøm¥Ч°Ü(3;	«Z,·˜µ˜Ï
+XìAE†z¥R¹ˆ“W("c]›¨VdíJ­YkáTuwjAQP¬ë¨ÂÕrš:›MîHaÄá„._‹‰
+ýv´æˆ8¼ƒïcPx€ÛÌ6õ«+ìt
+)‰ÃÂ*È|Q-¡7SHê1­–ص8—›¢èDSÝj×Ê'ÔURg§CZÅMk`Ù‰¡¨Qm ß²Åº Ä4As‚NñaPo'ëìŽ:Z‘PÊ
+  íz
+õŽF.Q‹ýJR£XR:
+^µ=÷:
+í««ÚDŸê(/=Þ›QU›åJ½ÅN•Ð-mwùM·>jþ:Õj£ÅLã£6cÓÅÄÖ©µ%n6«5·•¡†d¶¯Mãf]º¥…rêÃ¾Êžâ]`p²0ر¦ iì›R³Zòp@«%P‚ᶔOвvkM¢°Êµ2 ±QÌšk#}¬œØ
+$ UL©²/‡W)Të¾	Z8ß—vÕø1ðâ¡Ø–îßÍWô¶R-Th"#QôS
+ËÃüˆ“wNQæhnÌm|ƒM‡¶Ý\±¯—7Rm”ýh,ô‰ŒAŸjö ÷¦¾pšÐèÚÀEÂéÃTÝ!©•—«Uk
+0’èCâ2°Š48ìõ`&ŒÉ1`Ì,±™?Ÿ(ð>ÞÏÿÜå°ô•-‡ ñUÓåН¿õLÃhÉ벨&Û æ °ÂW"GÿwúL5n0øFÊ.™FŠŠz©Úâ2÷Ä‘dÐa•}§LçÛLAz¦`
+»1
+”í&®m€Š…b滳Œ·(b
+„²q5ÓÒœy½( ”Š]#b?‘©'Ê ½zcü¤O&
+ë_ƒ
+¯™CÝT£•š
+$Ë ™¸¨ü
+iÊÅN…’2qcšÐ’Ä6Zø°XXѐË®ÔK‹¯|G>ØWš+s‰h°$Eª¢à,…”!uƒ¾@u¿µ	—k{:a\õ)ð?¸âéšõpó®ü4ï¾n®¹÷/ñf<œ+c³!.–¾Ø—A¶¾¢ˆK~iÉQ&Á3„gù‚ÿÞ|áklaiêŽEék‹Ò‹zÔîKÐ+¸¯‚èéSo–PÿeOaP|@p‚^S"*šèV\}0;Np“Ê«j̸@µiîݘÊ|Ž^]²“ÐÐGø®Xx@(uPùRÐ(֐nÀÎÚãäóO˜øÈUX
+Á¦B¿ýÍ@嫁Ɨûù1`üÊ°^ÁÔ_ðÂ7Ý7מs€<œ•ðUùa読¬D†g;Cw!|ÄðËjm±(§†©9n ùùësVeyróä°ئñ‰l9÷´ )Øl¼˜Ð¨ó—l¥quÄ¡†ñÜÒt÷W™¸¢„2ªæP‘Š¼AôÐ@5	wlÓzzé Ó+šå«8Ö¯&y„¼Þ¬æ3Z©Îñb2AfäÃëq¾ö¿@îö¼ÀÕ'Ë=å[ÇÎ"B´}8Ï!»ß”cùÙ#9‘
+ÃþC_k•PêÈ„íp˜?ºj½UOtÛžhž¢¾ÝW¾Ñ,:æu»­èb$ÈZ© ÿ}aå%zÎ9&T5®è/H“j®˜+²ÅüÊÄ]àȲµZYzð‚nB6W,Ëë cï•ÅÑ9f}íÔ‘/©¯Ë&ï=<¿ì¡]¿ì¾__ÝFÔR<™$§îb®’I¤¾1µYd͵ÝÆls¿1{<WRØ—ÄÌ™Ä6ów³
+ÞìÞÎ*ö Þ*ö€ViØCz1؃9¿ØÃ{¿0—Ú“ì¾%{‹2 ÷sL¢ ˆ
+µò-g‡ Z{\z¸="öЛDìáw‰Øo²MÄlŸˆ=èFûvŠb*jHçóN}fÐya
+¼#¶¸sFLmÇöpBˆ…÷AÌêW•QË¿¡…ÙÛÿ1Æ­ò1w‚´ïGÙ¯Îý‡¡ì×æÂÖ¿aß<,a‹_aK¿%ÇúÓT@:wLVPEh
+À„7 …噞2˜â'/vòÎŽÇÏÿâ°E–27äCi =ÿ+ËUþŸb	~>åÿù->ß<{9EE¿}™ê3<ØIJ‡ÿ±µ³߶ò/^l½`ç¯÷»',‹¶ïLå¦ úQ‘sàíKea_ã¾1U,ö6÷6whÜbâŠÛ—ºªfšÓÝ­ù-qi` ÒŸ|#,¹ñ"/'Nè-è:–1Ñò¯4!Qdë¹b^}bm&ÞøÛV̐݇·©ôöÖsxhE›äln§J†%Ç­QËjÙ-¥5l%¡š>f©óÎþE«¥[4ÍS(f?“°Z ÊŸewÖ®™¦ÒP÷×­-^ÔuªûZXsqй¸8»u;ˆ¥Åi³ïfڍ+¯··Ð½¬Œ®oáÇÂŒûÄï²ýç¤ÀCM|øcñÃ6=µÀ•µ ’,ŒÔÉ¡›ÉÖ–7wÑsa˜ü˜Ä“ɐ os#{;P[ÿp´º¶[[8+Vƒ°ƒ @'^QE	VAšgw}N㇐Ž1‚Ð-:ÊØf/uk€_% ¶Çls¡±XÛKÛŽjØ¢ÿ}ÿÀPïD­ŒèoÿWä¤çSrìµeeà5bkiQ:/¤á)ßw¡ÅßþŽ8«Õ+#Û0ïRI|œ”šBfœoÔ,”Ùr\Ö‚å5äèôç,Uwž ßïí>‰×¯þ\ÿcÓò<ÞúÏʵR`ýǍ §õÿ·ød³ýN¯ŸÍnõaày67×MÃOÁ”*é­l¶÷×îy÷
+rÕ@],a}Ô猎sÞè“	nz¹~1³AØ8ÌUJlƒ8 (ÇÝ“Žã¥>Mª–âKþ¹äƒô ð„Í@»Õ%y–D¹šìòºìì¯I¯ÎOtkjjR4×ùþ¼sˆ½sKo=ùêùÎŽõˆú?«ÔÁù_)Ÿæÿo:ÿ1
+Z¬±Û§B”k~q˜Ó´üL
+wðQÉíöON@“Éç™~5ð…Π׿èö·ÈŠ“Ì‹úáÏ÷/úƒÃ‹“ãd†%p/'j	r$(6‰×š©%­÷öû™Â 3xë7
+R®á w+Q’ÐÖéš{ÄÔV†ÕÓAñÁÛnoµÍ-j}ë=ÿ×ÈR÷pó¿X¨ó¿V¬VŸæÿo:ÿ{8äùw4ä†œldXya)¸ãŸÇç Àw:Å_\"b¦¥œ’ϧh«:F.¾J%ÄlŸNÉ$Âý$²‰’;¸Ñ¹»“§?IO‘þ­ÍKL”k6„ð-ÙêÂí8Àp#ÅÔRЮx”Jƒh©b:—Øù;IÇ„¨‡Æœ›VS°^˜[èÝhb€Ä‚ßÜ°'T¤
+vË뺶bóÜ¢¾Zš©+ý'-¥˜¦‚F×4ÉÚ»2 Â+ñ‡·?&½{pÉèGx>ž 1º/SIßüÄ\7 1“7Øÿ1FV Šã9˜m!:¬-z„qÅíê0„‘J;ïË'ué_Qÿ[#9èÊÿb±ô$ÿoò¿ä•ÿ(tŸéÖ Ý­¨OEI(GÔzLÇSƒá»œXRØ#ÍF
+˜–#ï×MWÇ|m³4ü’Ô)òÓ¤Ú\`±'\Šb	E·S6ª/¸ñÿÑSb›¤m0†]ù/d²xù#.Bkˆ÷•w5™Àx¤ž_ÓPL»OPgÅ…3ãVëÈ(.J—"J‡W¹2 xÖ,°ÞK¼QìÑu,ìÄ)æñÁPÔ¿^Ð㧅â$ÿãs2ÿ6öµT(=Éÿ'ûÿÉþÿBó?”ýý¥Z!hÿ—‹XþéóÎqš‡Fä³ô¤º½³l£Qmf‹™Ð¹…rà áÓúPL„ßð8'ùþ9ï‡r<xÞewCŒ,Ð>¬õc’7ŸÕGÆìíFãn.ªvúl¾°Ä'	q(ÆÒ§tq
+æÞöØ׺ÕÞûÛÞe«Ûê·:e€¥öÚÁrí½ÞÏ5s¯=¾ö½„¿m|Ïß\™ÿ‡òDM +ó¿ÿ§¶÷Œ/L6ÕÍg{‘5Úá:쓁AKf <òc1íÈ:÷}ÿìYÏdâ•fN•»œN”…m±ÿó¿þ;á[rÌTT˜Ýáó1kŠCÊ0ásAÕx w6ÈÓ’²i2-WŒ™’MÀ#ÏR°À¶RdÉ`(€	³ [¤·±ãÏ•¨P{ϝ=P´]=n—Úåã^ûøˆßðwõXÖ*ÇÔ@1øïx *ÒwzæÖ­DÕ•å¯ÌöqÍÒ4>ôë°}t¬˜g঎ü°ªË`a»1ð0æK©EÁA®V`&!9åd кUƒå"@ªÏz¨Qê…àáàá4ÑîT Nª¥·¾úõ¿ôØë¹Þÿ+VŸöÿ~oë?]ø/¼ÐSÿéÅHò¢…ØLÌ2Økmr¥³þ_“þÿñÏÿ4g–«ßŽº/~’W¶íÒ!šYÒæäUôY ¥Õ9þù_Ë”z­uðWWæ?ÿÓ³žÿó¿þù/Õ<x­vd½åÚG|{®†ñ0eÖÐDþùŸÿüþù_¤Œ<’*"6…â¨/µ°ÇÙFœ–â·Y7VTÚ{¹9™8f œsåj€œ<ø¦4°Œqò }Xn7;ÄÍÎ÷á?øŠ)áàóƒçñA€Ç‚Ç’Çý
+QªåutªJ ?u
+1ŠÔ¨ªá:eJV‹Ò§jšžÒ P	¼º½$ŠÅ«UõxB©Z
+6¨]5à¤bµ6ž®¦1ÀBpêøA­
+Á¯r5]i[ÿݯpp_…Úõ;òÿ”ÝÿS­ÕBú_­ð¤ÿýŽý?x­O­âœLþªµÂ'ÿÏ*ÿOœæK¹ˆHåâLJÚÔ#¨S›û}ö¾ÿ©¿ÌßÞüýûnþüm£½ÄÝ…ïö›Ý£Æ•¨puŽ¿ÝJ•¨J²ðßË'¥QéòJ}Õ´†¯.ñw£\ºÌw{¯Tx?|7¹ëö]`ÕeÀÎ{³Ñ§¿ÿô÷ÞAaXºµþN¿ÃßÒ°T!`K<={ݏêd4-^õƒ·Ãw·×ê÷?uχó‡ÝöçÊÁÞÛÎÛþÛÃý«ݺR§ÍE÷Uq>Òú!¯ÎÁ^þõÁ^­ìD÷ø¼1zõö®ûJ½kÎN' º¯/>
+_ÝN°Hþ´9é¾þû'è–­|ß½îö:ù¯LûX½þWßÿS)‡ý?Oç?žü?OþŸ'ÿÏ¿ŠÿG(#_ÌëkéÛ‹W'ý+X;ßþ¤L‡åîÕ³·³îᛟÞV®º?u¯F¥ÆUïÕ[ë累W7Õê'\´½vüÁÞH?:šM›w?LÍ#{öï‹QùÖ¿ýÆß_¿ªßÏ÷G¯®oN¦Õ‰zT¹úû«ædTªÌ µKÅ?¤á«ãùðªÝ~4ǐзg´¦ŸÿTG;ƒ<ª–(‹ßAéG»€@1’å@	¸©t
+ë¬qSmNÎï:W3,ƒj	)¾¬£ª3@ÔÓ‰Wɸ©ÿt4óª8’5‚C,Õ¥5ðó(.WþÙ´¶·¼Òµ¥Òáí‰Ñßœ•njý£O\w|rõÜKÿÃûãï´úüOhÿ¯ütþï‹èxîš­—×ãïù¥Ïë;þßÿ{øÿ™9ûÖŽèsb»‘SÛ¾ô)ùx]¥Nög|H"6½Ì$0Åbž«]&B÷OzŒw•vs¨â/—„¦iØ7‰´õs&bð¡ÔCý¯]T¨È8ðÔæý
+ -ÿðÜÍ·!‚¹ÜÜuÓíQ\|··œÞ/Ú	æÉãoËðÿᷝš§ò$ÿK,ÿ‹•jHþ—žüÿ_»üÿ\{ßýKL±ßùz@´Á/ªöûZ
+°$päóÞ·‡åoi¯öÛRáʤ_5Kƒ4VîÃCü·y¬åPE õ´ˆüäù‘å©^Ëÿú“üÿèÿ¥B©”ý÷óÏY¦ÃH.L{?q\a©¤hR.ütŽÚN¼º»8¼˜Ýž|tm½º»><™]TÔý6y5ÅšÂò@ÕÜ=é*CGó¿+se¦Yš›äzæiTfÖÎýn—Ý2xgþ1ÇŸ_Õòã÷UÆ™$Þ$¿-|[ª[?üë·ÕÃÆ„4HAxZYYþã
++îÿ©”Ëaùÿ”ÿõÈn¹ÿ÷ ÷œ‡ljý;–Àô§´iÇó«>Q§Í(mVÔÔTRBK¦Ó<s •ãÙT±LGÖˆ(Š.›’ˆ Ñ­<¸wI·ü8ˆN
+u1!]&ټϦ¥>€¥ÃÅ&7QfWå
+ƒy=Ÿä©¶°M…²n†ë`ŠÍ¤ŸS±Y6´€Rya}DÖÀLØ~C†)·ÆªS¹³è=Xyâßniuu‹ñ]Q±]%¶ÔÐö{£ÃJûþö°üþvÿ`Âø·FÓÔG¬g‹çÍù5,Ö¸º›˜ÜwÍC¼Ô„Ì!59Ú>Û‡§ PhÿʆéovëIþ_
+ðfªÇ–ÿåB½–ÿOù_¾€üÇá†Ùä&2.mÝ‹XèâŸäzwþ<vàȃF†ˆÐ€¤BÏûxí›iB1’Cùö¢ÿðôÇù“çóìäìôUl<y8ûxä€Òßûû‡
+ˆ<ífŸ—m`öy¼ä£•ÁzÿOÑc0:Û{>EŒ[á4DÄÍŠî¶ÄËc;ʉېŽÒ\Ô§)QÄŸ\]à4ÁOü=Ûeõj «$&¢mü¶ÖT‚åX ~Ž%Ò-®ÿDÈDÄÓD¸î¯˜dðç­o–átö×UØ|³oÖÇgËÿ
+ÕaQøì¯	¿ûø)“ò¿„þWnÔÝþ/•Âûå§øß/¡ÿÁpÈ|Þ²š*¶?dÈ}m€>Fø¯[ÞsI¹g“éÀ[O¾Úá.–ØÉwý¥^^ÇHÐЇ;ŸOÄýŽycdkv¾¦Lñ–Aw'|§{D¬¼Ä/RŠ…onÀze z6›„å"LOxïÚÎJ-$ý1칋ƒx܃q›x®þM¥ÙP³o4mÆJŒ°~/fj.Xó¹¸;D,v|Mù5à~ZX¾&ù_­<¾ÿ·Pû‹Oû_BþÃpȬ¼ñûs‚>ÄåV¸Ï3 a5÷­ZÁ½µ+Êâ”vy'Õ¯æü‚çÄ{3pïß›\Vyoèãb‹„T;ÄÞ"º6²Kk [U ˜Pç“gM>©óOŸ•ò¿Y­6[þ³z%bÿï)þûÈnôæòKœ¦‹‰­“ø—¾Þß¡‹–\‰xu½þ	/­¿cS¦b3ËÀ»Ï
+ˆôdlSþÌÒÌOšùÈ~µÓ~V'VY5ÿë¥Ò£ÏÿZ5ÿU|Úÿÿó†$zg•N¥’G@“¿mâ@[á±b$*Œ{§ÏTãÆbó‰b
+súXbûé¼Î¶õs§¢…kÝÚEVÙ¢óƒ¹\ŽæN×Fív+ŸÃ{2¹cãÅ,Ÿß²
+6U>j¬•JxòD¬PúÖ¦üž©h½]êxÛo—
+ñlýæë½T}tû¯\xŠÿùjæí?\øѧƒW”+À×ì;¦L(ÔĆˆÝ˜¸Ib˜°ü=¾J ìÆ°>º?7Aûˆ¾WŽ_.øNQU|םâ5¶üå
+/\”÷-|oø
+^ù氏ïð[ðò
+og‡l;!nà=ì‡!öA'@âŒPžÍMíj0ÅK8 5RÉ_¼à[,•{‘ÞþÐÁçTT³ÜèM§ßΐ»'*à‰qÜ“£Ÿ>»S<ò9¥Åé‘|!¾ò<ñð×–öÊ¿âÝ_[qcód·>¦üoÖÿ§P
+ë•'ûïKÈnq»³ßcßè#í‹Kú5;°l†Š'¯F{WžÑ
+m×»Q‘TÃ1å Jc¨ÛKkørw8mÄVHG¼º¸W£nsÃðOOÿüýû­J¶åÈtñeÑÀÙ¯6Oñº÷·=¨Ji1ηg{í'™ú$ÿIþSdÞ}€Õò?´ÿ_)<Ýÿòä?
+·'þ?6þƒ=ÿ†æ-˜¬3•õæÚHW&$äp—<NøÌÔ}ÕÔ,*à•5ä„[ü˜À‘(‡Ê•†,‹É]î±›‡Ykð~Wè“#“í(Dí¥ø›Sµ]Êåð¢Ç“¨™ æE+n¢J)Þ=·ýù¤ûšP¢Ð{’þOòß#ÿ«ÍÚ#ËV-…ý?µ§ýÿ/"ÿa¸=ñÿìû„tyOQУ9Î’…$†ˆéšõ¥eµ÷.ðB2Úý#^Dúmps)EE'…¢–NÏØÁÙÑìøìòô(äâø½í£¯œÿâcÏÿb¹PëOñŸ_dþÃpÐ\În”ú}qKghjÊGÜ豯5PÔT”üáoñùï¹4Þó¹
+=žh³+P«Û,[d/äI09Óð²$b¤C:¯!<Â.4^þœŠ ¸Vä(Ò©zšËåèXƒ‘l±@G<¡O™áU‘û¤±>”ü—së!ÛX*ÿ‹ÅZ¥´ÿOû¿Ñ‡Këü‹[ ú à†`£‰bQÆï…¥‘u?eC	¬“BA6«Q¹Å˜›Æ']%ç;;ctd}¬Œ´ D¬®Ípï\ešvŽáŽ9»Qî؝±`#€#êQ9Ö%ÅÆêªè3F;GYRW¹†šqN4ÐÏÙ…àƒkV×q/û8,ôqŒõ‘|ʉþÓ9Èlt^#ãüõ9ûïAŠ[¬BU«¢èI÷°sÚë´8òâRÄ…ô w«ëH›YH컉–ã
+ÌïLýêÚf©Qš•
+…Rþ)gØžX7UöZ»wLþ3†_-ÌEÎ0¯v#ë—±~-Ã0kÛ™kŠ™½2ÅÜÉ5Žµö'Fµ,†G9ÌOš*{|¡©:z†\ª¨‡ÀØ	ËX˜0Šød¨ÏóÏïM¢DÃÄÚøT̲€ä¤å¥46×Ì©n£Š!øC¥a$ÒŒÉĸ­AªJ	d,ª7Õì–@-@ÎBÅD`Eñ)S\rMxá*Cã¾$BãY`2GÀXÉâm=[^¤´	œ
+næ¢Ñ€æ<‘h@?Õ²ýc`"¸ŠRÑ¹[‘C–7LfÀk“MaÚ˜:(.Ùi¸®·¢g§šNÕð5%KB3ñ_À¸š0Ö G9/‰þ:ðÎCEGi
+“w¨9’´HxàLÄcjÀ\æäÚ0ß(ʍüŠDÂ2Æö
+²€d*g’‚r€	HLä§ç,˝ ©ôºÛc½³ãþ»ý‹ƒïçgo»G#vð¼ì°Ã³ó.º¯^÷Ù볓£ÎEíŸÁÓSPP.ûgð ±ßƒš	š-ðnÿô
+ÈE§×cg¬ûæü¤𠁋ýÓ~·ÓË°îéáÉåQ÷ôU†vzÖ)ð¦Û‡bý³¶‹ÀÂ5ÙÙ1{Ó¹8|
+?÷º'ÝþÔäq·ŠÍC{ûu°îáå	ÌêóË‹ó³AÃþu{‡'û Qr€´Ë:o;§}Ö{
+x »gïN;Ø__:\€íœtxsÐÛ£î¨[Ø-÷Û!<É°èb]üÒù¾=Ú¿ø!`I"ÜûÛ%”ƒ÷ìhÿÍþ+ècju`„//:oñ³c„Ó»<èõ»ýË~‡½:;;"²÷:oA°ö¶ÙÉYw‰©±ŽöûûØ<BªÁkø~pÙë"ýˆè§ýÎÅÅåy¿{vš†1ìCí#¢õÙ)õˆuvñÂEbÐPdØ»×xc~*º×¿ØGrpkÆ[Zzö=e§W'ÝWÓþ=C@ﺽNš^·‡eº¼ñwûÐò%vŸ
+pã_=¼œ¡¡eÝc¶ô¶‹ÈsZay`‰^W°Ôë]¾Ô—Óâ%ÈcíÊ 1Ek6=š+£°
+zï ¡ç|£¾æ_ˆâW"O•¾1U,ö6÷6ëÓ-Û·/AôŒ`ùɍŒi°ø¡Z™ì•ih3ÊêàCߢå©ÑÓ@'84ÜMØ±à‡¿ #gÝqùzøR.ÌŒa¾œV>ss“3æðŒ–ìd^”±òCKÍŠt`Wöþ›€	{ö¶×bÏ»jË90’ùÄŠ¹F«çµ|©ÈŠÍV¡Ñ*5u™unçì¹@jö‘{LRˆ}Nà#—w,`1Êži"ŽV‡ùãT×$݈6¬+
+ ô
+T_Ca7×ðT5	V# F,ƈâ õ·opx|2Ô¡æ…b[£k4HM¶cÓ³—*òŠÎGÇó¡ý(J+¬7º^L•Ù€¼´ÄƒÜè«å·¶¤š+2û8Š+PD2¿ªÁH«Ò†Ø,SсÈ©AÊ`Þ—%e2+ÜÛ	´â‹ÍùžI½Õ"ºæ"êâZI:WwPÓøB=k&,ðâÜ¥ÂH_ÅX(LW¢
+œÚv	óGWߟ$Þo-ñ.´‰‚ åÐy Þ½üL‘–ßâlé>ã"â`ü 
+ä™NÄL|ëb.ÂÔɍ9¥ñ§
+²ÞËOŠ)—9”ÑH£I Z‹Çyú‹¥Ÿì[]W0‰–aA;&Ò>BŽFÀ'UhÅ	çj<DÛtU»2¾“‰³›Ò®n\šMd¤œÀtSLí›{ äL[œ÷I¯…I«À€ü%m £›‘£[³ô\÷jÓë;_Ö´¼#n,lÂ8ß”èì’–; óÏÆŒòåX°Üi¸Ô¥‹¬]ý'-ýŒ§\-Ã3 í
+íaòFa?û›#òÉ´ˆÏGædºú;îæš<;Ã7Z`]3Yˆ<ÒÆ
+ÌË&Þ›ïg‰`s¦f/Ìûdèjð•ìåb"Ü×I‰¼g…cÚ­p"zò:¡yžÝÅ“³^Ø“RH¾Žd ø Êp@åŠÓt™5aùÃ9	V}E@§œþ„6<À”xIú
+°šÍÆFˆ87Ä"žk\6"ǽ¡øo«BYˆ“|58³n”Úbîòå4`~þq1sfvÏM™ZÚçk°")Á¶^n"§xÔt	̈Á€ã’Z5ÄOn¯‚ÝÚ'$<Òç1  ìi£‡&ÇäWÇ	¯%`[~ô@Ò.Hçj(^0ºÖpûÌë¿ëÜ€0Üc\7!¬PÊGrûÜ\"‡£H
+/+S£Ö5¥Õ…?7+$žªØ
+<ïp¢"Ÿ£›8^ÎÁ‡žúD¸_¥ÌhmhÝ¢:Ý1íì
+ ¦e3G{oÈQW ¡ å`‘á„¥‡¢)•Kät>˜ùÖ(/>4®ÈORaò­$‰v:¶Ì÷M	!|n`·mtkÌ0,\¦1‹ÇSÄc{ˆ20©µà“F[bÐAk˜`¾ÉêâÙ\'¶È8ãÕæû݇`âApÒQhQ)Í~eþ{&êßy'¬PÜqO‘$Âã]];]}k) çȽذ †Ý(Ñ.8‚ŠÈdÈS^ëQ<EÕÓQ}Gâ0úLE€Ü„FË0r¿	üy4Fô’°¯ª8ï\ƒ
+äšT6×AZHÅ™h=rc¢\qѪ¢F>¥Ô–7×aÁ‘¢ÃÀË[“×#d_‰{JL—€ô	NdRp"o8g—èI»É•"×ð$ü:çMÞþ:‚a7bæ7P%'KëQ›5UuÌ×ÌMCÁ×Íåç³ñˆóšmi“qœ]2 {ij’Sš »K´wƒÌ­àé³ÙäNê5¢ºåéâ›[>½œyä,£TLTV!áµ¥p¬VÌ!±þLò<&´3’îí%QaKi>m:¡ìNJD1¤¬â;â‚6K9EÛ¢0Û‹˜Y4}×3ø§Å[Ùö	‚p[™í"Æ¿`‡%ªØâ½L¯’8Ta;b•‰’.!é %ƒ,Ï+„wˆ²Îlbç²$Ê“$·Ö2ëVÆ®z+ÓJ±neÎ|dÏ
+F\¿ª®&…ù:U«©ÅLÿ]MÙ™^“m<cºþúOL˜ž}õ„¥ØóÊJ!¾$xr…á²ì­(5ƒµd­ƒÄúׇ·/,áÀZ(ñ’¾ëi6ôy·Rþ®ƒIŒv_º^d÷¥ïÌy¾†ë,ªI~“ÖZÕÎ
+Ë¢ð¯OÊd¡Y-†~œkпN†­ˆôåâôV÷-/£d½Ï‰€üHüM»ïrÍç‘À­/·ãâz"ÜD.ËÃoe„Y%ñ)×f>}b-RŠ¾Gô#о¼ŽG¶ïüŽ?A _œ%€‹ãCVªVë¹
+s^ÅÁŠ6¯Ú¸öGsýb™ö‰¡6û<
+Ä/™HY*û½"„+Ë¡{'~Û½ùniïìhûïÈ[N®ÑK­,íc,ý»ÑÏòyvl˜"x‘Æ¿À„5É-8Ñ55Ã#o0N•ç®(ŠRòäu¤ÕQ×èM»û©yÏd3²BHÁ{>µ®xJ0Í銻„É­,—{0~!i£ëP›Îí»„ß\|®™x…k—3"Lh%`ŸJÍjD*•ž."¿ãWO7¶\›
+©³ü’Ç
+YG…•;豎ë«»žë(°NÝuµØ¤»™#jÊë´êìyÈVùƒ5ª:×ÂɪòÁ:u…qëŠkÔõÈD®î{¬ª½™šþJìf8ª°X¯ôOÚÌ£o+–v‰Â> 
+sƒËÇŽ†>7
+\cE}.°u6~…õ»€Ð%‘N/ÝÀŠ©¢Jç-’<1²"y,TiÜÝ‘€¦ð÷ ÛH–pWܘÜéÒãÁ*Ã’æ0¹>n‡Î5Šè^XQ=KÿI&ǯ©H`´B¹¥Û¬Žñ²DbÅÒA°ÀF×G<e#nÜÙ<ƒf÷¼Q\Ì„)á3´âJÒK]ˆÓ1Ž,ô
+ÖM§kÌ(T7Â&ÀjOüx41,5<ï=.ÏXûœv·¬ÅÐ碗ñŽ\«ÅH=Y‹CFƒ™©š²´ÊcYø1éÅ&ÕwÏ(©ä8Ú5*?/!pȬÚlœ-&ºÚ„N’
+8:·5³¨Æ™Ôá¾Ü×ã­çb¤’ íPfC¹-õ
+]ÔLtÈptBÚ¥<þ*¤!_5qOº;ÁÉípyg•ü ´â¨ÀŽá" É%ó[
+È)ë— \9‘RØÓ°à#\xG'p{œy"ÖŒÄ$FPÁßUŠ'ï;i|þ™ð×Øàúí&ÐÌŸ¦OÌ”èËXÉ{Ïˆ× Å›NÄá3Á(t™àôy¨™àßÃzÔIqŸ¦bæÇ!1’%Ø,À'0=éVg'­(goÅñeÒîÒ4^eâ8ÒÈ‚q㑳HÖ\>™Â|ÄáÞ,ýÁacØ94%=!“kp~ aÿo¹~€CºÆo¨‹þc
+®$áÄÙZÉ0´ƒb‘{Ä
+ÍÈl²N˜€ÂÜS¼šÀ0VþH°•1ÓÒ™hfð²ÐïN²>Kî»dþ,a9`ɍäœäŽ œ‹æ¥ÍX4ŒÏ]ÒÃYµÿ58óK0æ§ð=™RŒÓ”!Eà(µð¨šJùc—ȵ˜NŒ7ç:>ê²ãÉP˜@eZÇ€0´çD•yA}†Gìׁµ”ÍxÑ-)~Ãgrjë³/ÿ£t^~XGÛ”;e½®½T–oÅE–•¾UØÅ…?‹RtUªªþô"BQˆÕ>E=rXkµ_ÁÃ×ü=¸Fvw
+7àd/÷¬Á:^&v‹GGäï’|%mžY¶ <ܶ”~ï8àãá»E<
+¸W¶ ÝôKZpŠx[pFúLï#NB"B·€Xƾ׸#·Æ®bd]Öòm·n?†P˃1©ù®Ãt>ÑÐL¡,Er£ßñS”Àç<Êϝ£ÀÛ.?i&^³e_jŽb†Šá50hF»§&@ç™*ª…BˆÝ“Ôxì^héü0ôTSfüàsFVùá쒽랜°×ûo;˜µ£Öb¯;û”ŽäòôS`™^§Ïº}üzÑëœ;Á&¼SˆÙó[ÛTœcsÎQÀg²dŒÓÒð·Øž¦íP÷¸è ã9ƒƒ<ÏÅ8ßy/„<”_-q&euœ5}¾£twîñ:ÖÓ4zH[´SÌ'ˆ4#Eút~žÈãá|ÝC!»uÐŽ¹ïœ»^B —VÇNPÛŽX^Ú€%nP Å™óÃw.Dv8ÉÜò²~xÖä6	;‘xÃÏûÇïû9¬MÆC&^Ê<\UÜ7Æ«‹ûˆ(bØ·–^ÓàßæóöÃ&°½¨÷–qó'RîÄHñ.ƒÊ¹ãyÞG¯G^6Ä‹Ú·¶s¡—OG½µỈ˄pσhŽ£¾X'öLMñà™o‘B¦r¡š)_„A:ʍíYë\Œ:Ƨ·ŸQB²†&h³+>E0EðþÒYŠ¹R ¨
+BÇ !Œ‘N+GŽbJ~ê½ÐwŒ•±,FN*v0rщ7‘y+Ö
+%äÁœsJÖ
+EbD7Ö†%‚±ãAh10|[?Ë»ç&dؼož`˵+ˠ̈€ËÏ!¢7Æ^¯ÿr"Ð…V¿Çî¯	Ã9ÝÌ)NÓ¡fRF;ô	ÓJÃ;Æä×µñAÀs+Š
+9þœ5›eÃéFf£BVCšût˧¥—M®õ¡³Ã‚ˆ÷¨÷:q’ï< .KôïB±‰Îò]h}jCÔr/l%ßj\îo®1r'…‹\êùGíÎ1¥ñ^?0‡VT÷ßù¶–kã­ÞˆB\nÅñ1ù1yK2˜yé€Â¢SÏmöL±NÑ3É—É€2Ÿç)Ä‹åF±Åº“‰v…{lîl¸|÷(¦Uhs†O”‘&.AIì`ð]üç;ü'…ÿ¤ñ†ÿ¼Oà¿ÉDþÅ9¤ f.üFƒò›Y#KŠ+SGzèæC¢æôéU:~è¼Ç€žë¤ó¬½ª@Nâ¹á ŒÅÌŽÂ8M©ã/¶bCÌç^öÓuàAê¼àèˆþ›Ú•v½ëè/CA¥ÉoRï­t*µ§§-sôËP}Ä´T3õ—kS§ö²z:ýÞzцÿR?&Þ'?쥓,·Ô'A÷`Ò
+•ò»¥2ÐZ‹'ß—¿I®B0>!Þ§¸ù"À{ŸF¢˜¯¤Þœ#	pJí÷e`œ…ày½±,½L.«½{_Œ©ÀKéHü‡_©Çr¾r"f¨L¨tTw¢æŠ:I7ha+N§áñЫ ,‰tsm!ÚÄr<ÛøËc(y•ÁKÿ\öKð³Çu´¸Mé5Ù|飖ÌÛ5a¹HË0÷ Ñ×Ëô/VêŽÂ# Wœè§x}?,˜u£Û(F‚§F
+ž	 –ð3/a[ˆ|a5¶¿sXÄâöœ[öAœü#M©”<hQóϼí;}ÜOFhõÀ£@ÃÂ6®;‘ü‚¯þò—e‹Ø3/1É¢óaùXmI—
+×õȁ
+!=V¿²9ãc^;‰ùÛ
+Eñú×`wEô%šîÁ8šKDêçC ¾@'ë§×MÿÝ^î÷$<õcñ†Dá³á )`´¬°h"ÆŽ@üìñ‚ºé
+Sµ¬3ÞÍYïr¶ÖÌõ漢y6 4߇6™½›ÊÁ'ƹ'ã|uÂþþÂæ÷Ï,¦6Y&@7á› Öa¡HÞ¸ª÷QÐâ牧¯
+x¬#Ê±	írñËàè^E^$»+¼,V£“)ù󻦚y¥ýN™
+Ž8|äí¸VÈt¶ÙdAxPçI®¼*^/`Wm–'C02v¶œt‡’F3Mã)Ñô¦ybÚ·™•ÂMÆì[‘„#žE¤{ÿn®¥sx–{ªðœ)æÕ‚ÇYÎÖÕsj\’/ëØâòù¤ƒ!fK经›eÞ.)³;ÿüZ>b¾¢L¢·ÅãvÅ•	þîŒçBáb¬8ž!œ-IQ#OóuÔÞ¬³IíA=&™Z>ïBƒY]Äм¿iæ9ƒ5{û]>¨òÀZyc•€âßR&¯—øÐs…P,	o‡Â’!fn»›Ó¾ê±1Uîv\"¹µdˆƒÏÊøÛå`]xþréèóô"íúk˜“$Öwéw<0ç ­Ъ£×dåË¡ǯ¼›ZXÚX„pãÝxé§ÜÁÁâx½
+O\Kúw2íƒÁ0Ä°s÷΀Ϙìq¡Lwϼ\q½ApG0Þ.陹®›_6ðíG#˵Yµ¨HÂ{hl,Ë!{=™±¹·à±­^—
+Àe{ü·'s²|c¹ÕéÐ×Íz)PKÉvãò?;²STà;>¢ÒàbÏïK+9õó›éµ¨ÂAô¥&€²ÞÄÞñÉüpä@ìR¼µ•”à;…ti­/t(È"ÂሥFŠ9ÄœßÆü.@–â!F˜jM™LxÚ0V‰áštO ‚wäijz3²©:Þz.2r
+ˆp épC¶%{´‡#Ü¡]¾6ñR4C3¢?‰ÍV7Á?L+N„ì`#6œ(³ì5nбÍ*­3rTì~CÇA¬?v=}6r×vŠ†vz+.Š²H@¹ÊoQºcntÞHŸó´ð©¾Ñƒ›–ÂÚä΍ô£dPN®x¹^á·¦Lr27¹fBm¡à8+}sÖߏdœË£¸r¢Ë‘“ÌËjV0½8‹h#ì´X9¤”•%)–3Ÿä>ÍN•,ŒOu~a:OFéZ®ltĝ<˜&iÖä}¼pZIyÐ
+If}ÆísRÑ7´Ü{jøƒôa‘WS	Xtl>Ôû¡`qžw—p õÆé•
+•úRå’÷‚çà•)U]'ŠP£k‰ÈžéÃ·ãøLÀ¥C³ìlM$Åœc
+îpœ¶âBŸ£¢‚ÜXvpô|­(£_=¶äókÕ¤ì<-vêÉ;Júu°i±c´/ð$ãF¯r‘ÆÂnÑwÓ!TT™|UloQ²ò>+>•ÂÁ.=AftGÆì“È6¸½,RÊŸA¿šÐÈêX;J¦{ ?[ZÕ+Ù£pt5sÎ稗KjÓluHuãEbLF;ùMêÇ÷·Böýíññ‡ôÏÅ_¿ÁS£nõ(Ÿ"ü; »ÉJ%	s:|*8:™fß}çö9
+—7SíÜÔÆÖ²`Ǹd¼ðÝ÷óÒ@‹SqÍùšü1iÑu[ÜmqŒn8Ö?½Þßâàm­ Bcšõdýh³¨ŽG`‹È]—Yß)¸{Ä)šh³+ûš Õ+ëU!ß1ǃêñ›¢¶aR÷¸þÀu}>nžú}G’añ¤ZSÎÜð²vÆÅ.†ã|P}áK‰oþÇÏÐ_ß·Þ³o"¨Ð:a œ“†‘óù*à†Œ_ãEªxòÊÒ& à:ªÑÒŠÂù1³ñöQov½e´à¨ù¨×åØ!Ëç_i3
+5A³És0ÍrB¬lèšVï€àúhrÓ¹5C»»Õ§‹)ãœJ7¾/@jònZqä©WenkÞ_ËËš6Oä›)µñš lI”G
+q˜Ñ‰¼PQèÛœ©†fQvPºÈ
+Ý]bÝcfñœ4SâðD mcæ¹²ˆf™h€§VÀƒZÚÌB:Ë#‰KÄÀº‡÷˜Ç¥ï\'ï]“£ùæ	ªáÀÀí=Š\&h0‚pï`/FP>·ck¯WÆø„/ˆ¡*Ë:ah‘œ“†w¥U@Š–M¶½€]˜rÊX1D|§ñ‹kaaÆ™3Î‡V<ñÍ䛯㺍uÃAáÙÅ)ºå‡Pã^QÓ4nf¹Õ4ñõ#åùõ-«¤?‡ò™š|4º% ÑÜÐùE-A`«„2jt,M>ˆ©àì8&Ñ%„N쇼LÀåj¢ÛÞ™*,4<ÂCƒíö&^m comtERð¼¯ù+d\òÄÐ4’1àÖ‚9ÛKè@9Ía©v„¤8B‡âÌ"ùwŸ–€Ò!bZèÖ>…¡·˜õÎ÷;¹øŠ|χ†xِy9!‡¹?Qó`‰ø¾ýºµ¡Át„ÍFšŸwiÀãt‡Xe t’/^-ˆ[ÇÐ\"øÉŒB©ÙÈ°3°™ß(èçÙ1¦/?éÊO°hÛ¶žSµÝ0‡×Úè#_éšÕX N„$Α¡v¥ÏfâB-ô+ã%˦åxïÜŸèÚÎc<¯,¦=š¤8ð®p« ·³ðXæH¡ë,èK™[q_¤2s©-æùÆ-ÃÚÔøÄõ
+7ñnq¹Û ïü(Ç@KÞ'ÅÔii™€ÎŠ… TÛ‘bG´îÁØHz1vPFxuì¿Žèz%ðÄÛgˬdâW‚r.×yþ³ç,ÕÉ%æ›Ãé?~%%7±ÜPóÎŒ\Ë°â2YæÇZÚdN°õ®ÿ\ÓÍ¢ 㳫;áÒv³Nüaõî'û~÷ß~Cþ+>¬Ö½™Ê[ÜÈ&½à>î,qþóŸJ¤[g†wùkÆÈHKSL`yÇ©•l'3ð<9àöø–ŒSÁ…§ÁS¿|u’íê1ý)ÓŸAr×…÷ ¤@,ã´°Âe±&­´[±pxˆ•"ÇâíñqÚ	ŠÒÍXû½ÃnW\”ÛÐða~³ì^íd¢	@ÛXÌAÛL©ÚèZ»M¦šJ¼/&Òéô’ê>RÅ
+	B Üà%Ê\Üüí<+Wl
+Y×R 	º&Âí/WvIhÐÇ´8™…çì`v¡ñóK*÷s!št¿þø?Þ·?Ð?é_±ÜxU¢vCPÖ©þpª¥«ýø–}Hª7k¨Ü^M!ç}—ó-À1“ぬTt¼Qn#Mí¿Ä‹Øxe+¤³p«v·í´µÜÄ=@Ý
+g=vnÀ•‹_ü9WdÖ–<¸½Ò Š·Ð?ËJ8K]žX·A³ùˆ±C wàdÄÌ¥Î|\O‰pú<F7Že|3	•a!Ý^jÖ51VH{ì!q훺š&,ãøÀRÓÇcP«dr„XxŸÁ– r¯õauqJ’ý-ä Ùr¨¡u7sÓ†ÅÂÓê;&L=Ô21ÆÁ±ìºŒWX,0÷¥)·œ0üÚìÉ*–öºŽ$oüXø°½ºˆÏñ_·jzºëz™ ô
+p+·ÓBôµñ¸.“*Ë]=k°áƒyÀV{ÁV3Ðz~°}a«‰ôù>±¾¶Ð:ç[o§6n^öéÕxòV°í¯ËN-ÑðŽåó!FƒGÐRÅe!¤¶“Â;‰~/5kŒ³qAv>cæ\émÙ⍻ù=žkGãBíŒ	ë œ³1#ÅÅÒþcòx£˜Ò¥Á2`ÃvÎNRØP\H)âÐ&TügžñΩ©¤?9|¡/*—ñ6‘áWÆÑmmýŠ‡):äÙd£‰bY[úýœ$¥Ùb®š+åeNáÜüzþPm…Z¥ÂþÄX±^•‹ø?åz±^fÅB­\«Vj•R^‹åûÓÓçñ?;{0Ð[$P^#·ñ9:Á"_+ÏcËp
+±å	•Y­-&€`º[ª§ÍPÀ8¥Se¦Ï¹‡’‰ãñLÝò Û7‚”gb‹yÎÅ‹²é:8)téØÔAæM`]ë@ób”rP30æøæÚÀct¢SÌTÛuDÒ“™2Á^à'¤DT_Ÿ®42x 2ÀÇð6L>f‚ŒÂÓîq¼œ È¡1+6]™L¦FÞŠs9«)ª¢èI÷°sÚë´xƒâåCãXôŽ@#i3·PîHxcó;S¿º¶Yj”Í¥PÊÂ?å»ÐÑlQÙkímr“ÿ|	#~µ09üڍ¬_ÆúµÝÿÇvæšbfq4æX3=ÕÚ‡ŽS-tÀ8|¢èêÆ…¦ê¸~¶<H33f¼F–†_Ÿ)`«aÚs+Ã)ƒ—Mðäɸ^O
+7Xøå–>G‡´M7g˜Æ'/×Â{06p@(ÖåˆJÙ¨-ª7Õì–@-@Ž®„XQìíÉÃb¦’+C4F’D[tZ	,EýlÄh2ä×Û¨ðô:Hfÿ S™¹h4 9E$ÐOu!"¶ǐB@ª1¢“ Š²<Þ?M»ISô¸ë07\²;>o'DÏN5oBÉ»‚åØWŒ“˜îK¢¿<DsAÆQš*t¦QŠ˜åðŽšSܐãäÚ ëŸðæ^.=t	Â2Æö
+²€d*϶€ðì”
+6q–e‰NДÝí±ÞÙqÿÝþE‡Á÷ó‹³·Ý£Î;ø^vØáÙùÝW¯ûìõÙ	eéÆì ‡g§ý‹îÁeÿ$ö{P3A³ÞíŸþÀ:ߟ_`*ï³Ö}s~ÒxÐÀÅþi¿ÛéeX÷ôðäò¨{ú*à ;=ëƒxÓíC±þYÛE`ášì옽é\¾†ŸûÝ“nÿjò¸Û?Å採½}v¾Ñï^žÀ¬>¿¼8?ë4ìßQ·wx²Bý(8`úñÎÛÎiŸõ^º{öî´sðõõ ÃØþÁI‡7½=ê^tûØ-÷Û!<É€Ô9ìâ—Î÷èÑþÅ KéäÞß.¡¼gGûoö_AS+¨#txyÑyƒˆŸ#œÞåA¯ßí_ö;ìÕÙÙ‘½×¹x‚µ·ÍNÎzD¸Ë^'ô÷±y„Tƒ×ðýà²×EúÑOû‹‹Ëó~÷ì4
+cþ(4؇ÚGDë³Sê3ëìâ„‹Ä ¡È°w¯;ðÆüTt¯±äèûÞ’Ð*гïé,;í¼:é¾êœvðíz×íuÒ|ðº=,Ó卿ۇ–/±û4h€ÿêáå
+-ë³ý£·]DžÓ
+ËKôº‚} ^ïòðµ ¾œ/AkWˆ)FKò·Fùèî2M/ø”'5Ï¿Å/FÞ:‡:ÌRef°W¦¡Í`þ+¶3‡¾•È[¥§)3XÐèƤ~øK:Ò“¹ëÜòeî¥\o¦„µç­|þææ&‡a
+|Ù@Ì󢐕ZjVü@šVìþ› É¹Ø»·½{ÞU[Ì«tg>±b®TEôêùB5_¬°R±U)·
+
+F]gÛ9{.P›}¶Š@
+;‘èçÅ°ä•n­¯­'mï1µ½§	ò`äB›hŠ¥µú
+ÄË—ŸÏý|Xýlÿ3YøÒ©Â'†›µó-£ÓeÜ‹.‹¾ü¤˜Þëh§‡ðy`ÙçNLøv Õ}yîˆb+èf+ÜY·)	f;¢ƒÂ»çíShGa¨a¿)åýƒôUSƒíËT|«!–®õõZfEw•Ò½ø:šÂ­\ú¾ôdˆñÞSŠÎ6”SÃzØèÜûbîñÛÅøàx¢Ì´íï†ÈDB]A_Þì.˜Až5Ë[¹—¸,æ‚kÅfaðÞ2$ø´ðÓB÷®Æv³ä;½¤ÉÏx³ÝVû‘®º?²2
+ëÑáù|r[Õs‘·ªçq†ñëÕ#7AX<@ygÇE¦´`Îcg4ˆ¦£pƒñ 5kdêó®îãx
+9©Ü9…"¹or$5pù¯H²ä¹²0þäcŒ3í•uºnÙ‹u³½@æ
+Ö–À¶º¸ìÄdpãA©w¢îÔï`¸¢Þ»Gûdüݪ|Ú2‹.–ŠÚú¡uþKÀZ1Ñø.ê?&·…Å…v¸‰€¼I‡<YÎ9-)x)›Ü–ÕNPКä¯F9â­`q¡MÁücþn:‡¨bºè=¦Œdy÷":‡»ücÍÌv<§µ–ÂXŽ/&Òn­Ùv÷ˆ,Üq3q#¹v“ŸÓ°÷¶å쀜Êom»g_ÝË ×i0âæÀí5Øv­*+ðtÅáÚcsä©sOŽ¡šëÌÑð½†ÛkPvÝZËñt®7\ш×Átíj+P•÷$®;š'áÛ×o÷טÌdR†…ll.´(¡Q?6ShÄ̈N×^ÄÍvÒ›ÃÉY:·7‚âËJÀUús\ßR­Lä,ΰ
+29ŠÎGtÜs?è^ì‚ç²—¥8Ôäµë½8t/~B´ØéåÉIdRÔ¸¡t{´éh&Üu÷}â稿¾†Ìø.CXÂÕÞµb
+®>ò]ÚŽ\rV1wpµX“$þ¦ïÉç!`ñìî š‰]ïîÍ~1ïå¾à
+ð lÚá†W²ý²l–|É睡D{Y~›A 3;6ÂIáÎÓítÉH+ Ÿ—èøï ÐFc³@yÔÕ$šºqbEý
+ó-Æcò«jt“šŒA´¶"!kjäU2ÁÌ–òH'Ÿ¤·ð>ðdŐá$™ì7àÄprýx®ÜvÝ¥lbÐ+°œôŠNl§ùèlLÐQ¤CÜÈH.…d¯F9¼CWçQ/GçÒž'㮨F{ð¶¥MÆÁêÊpVµ[Måíæ6Ïâ”
+Å=Éî{2eû\i×ù3GK_ˆé,0qÔTŠGا§úÈ4l0ÔSéÅ}Â’37£ñÒ ¥èT­¦
+^däsÈghð0ñÞƳIÙ¼0$lrü¼\àÞ1ÊHGÃH½ÇIòÜçAõâK3o;ô[’|;6òž&{:÷dm’P1
+w\fl¿› ê{²W¯wý–O¼Ñ‹U€`°8¶åªEq`Là‹Pôé|‚ø†‡Ë“N7n8#òÞñ”Ûk¬Î¿úG[N
+ðS6ä’ȆW­„¦mêÓ”ìðzP3.¹Ò™ˆéÏE&Ø|N<ˆ"׊œaŠIμÒl‘äìH±•”WîgBU:vRU÷&mÃio+Œ€ËÒÁæsÜû_‘½ì|ǯç7+VÀ	wÅØÐVæÂÄ3Ϲg]’Õx at g%0äÆ`ÎU¯1~ù W^4—Yá”ï_kފ偧¶¥LãÜÚ
+_BG¢Lß.¼ÆÁw…ôwÌ9ÿ€{µ298ÞNߍºˆu@ñÔ$ôŠ*vÝü/pÁ¦D‹rPDV6ƒ`0ìNyò­°<•Ù@ùae<Ë"ÇÐBMÁH7º¥ñ\ÕÎñ9ŒŒšh"ó'T7)úHâ³Ñzìe©çbˆäy1¡É>a9Ón¢¼à.pÖÄ ˜˜	O½~ˆ›Áyœò^͓А¶Tp¿ÝðfF ‹ï—r>Õe‚÷ýùCìîÀ
+o¨ú7yÄöNìFEĶOn³ ó ¤CÌ3.†ÁÑuüïN€PåN(Üœ
+8 ø‹zø…wбõðRåxâà‚_Z0¯q.+t䥧Ðpz“–EƲØöøš9º^Ì>èhL*HŒZ„q®E®Žkâ¢rÃk]‚Æ%¿&JœÙ"™;”†ÏPÀ’¬ÆmÚŠ<¥QS$X·SåÖÝÄ´±È-È;çc§†€SºGûŒ‘z{ƒ‚È­5Mb؆÷(ãÁ·
+í„D"¾%“’@rvHäß›{ïgyÌ£ÌKgKȼ\¦>׬‘BoIoþ÷„iÒkx“¡
+„Ý<¨„ G~
+‰Î˜'ù%) `J/ì¼ôÎOºýÁéÙ óæ¼ÿCÐøÂx"Ã¢œP”ƒ…b³#$ƒæLØFP—Ø$8à¨Ö!L´2"LU!Nx&žŠGvGƒ2E%ÛmV.ñûƒ	—6KɾÁB”F
+å3j&ÆÕRÞ ›á˜3¹¹ƒi²]*DÝ1ëºH<š«Ðð L»
+…fri>Ghkk›\TNÁk\ØPéCrët«VLc0'ÿ½Ôfžß»¬Xª¥c­<9ÜbbørX$§Æ©ä·…’E[á”Á¦ÓKóW:¨Uj’ä›"Ÿ¦—¤­Ä Íz©Ôr†#å²–mÌ)7”1‰©Ù3@§ÏTŒ®£Câ–#‘ôûÆðewá„NQ„[z‡u¢†7†ëå	ZÑã´ç|>Í~È^Š?Áþb
+DØw"±9I M]šÃŽ\Ë’Ð9Ï Òq·hªQX;_&ørɬMaزñQ‰a}ÙLLN§_€ƒX›S6¸£¸ð\_(·¶âŽz»gL¢Î:ºÒ\žBæD>%XÀäpà1Á´˜zÈtgÍDfdNÆ!ýÚ{¶4Bs9óã´[Úl”}oÎ6oœ £}eyæO˜Y#0X™x*ó¢6Š¨å‹ç¡`-'s‹F‘~Ï=)‡<Jˆpà;Õœ[t=7%¨Î¥ðü‘Oîzõ³4“Ð@=Éeâ_¹†;·Sò·ƒl»^
+ß®ÕcÚ„1È!®<¹Åœˆ´…_´§¾˜ïžüSBeµ|ù<éy)Пó£äœÛhí÷¼Òð<Ͼ…‡p¬¹»^òïèÄßÁF‹ÁÛ'h”=ÿî;J at bxA‡é‰üy†WÊ[YÅézò3qX[q!hm–¤¬ã‡Ù…µYcþ+żÃP‚™ž¾•¹ð:©ƒ
+](·Ó·¥*fsúôüºF°
+0ÃÛ5³9EeròÖ_•;‰%ß®‘#É…lK€OÈQO:Ñt*ö—#øöE2Rö‹l
+ žýLÓúן•¥mÂâ×÷‰mob_^q!ÉŽ7ãNptåÊÀGüAÔc¸ƒÛ‹Bv^ŽÀ4¡ê€¶¯Œ7»Ù›ýïSÅZÆŸå̃DÖ2ËJ‘p.(
+Kd6§o?Ð?”ÍikzwˆÚ‹_É„=‘»2ýHÜÖHd~/úi gyFßî‡;\?»‰á+7mJ8JÂÇþR7XF¤]YûÜÏÅU΁ehÆGzøÇö/Y2­
+6’ÛÉ°góÚMá2{Â/ÿÃ-mΫ¶ú€m,Ïÿ€©jü…Jé)ÿÃo”ÿáv:‘éÚ‰b®p\õíD·w–m4ªÍl1±·ûo[ÿ¶µóÏäö`›%¾û¦ÜØþ¦VØNìzÞ\Ñ›ZÉÿT™ÎeøÏÿjnXô®éŽÎHz^ñ?G;ŸËÛðo^Ÿð£¿üJ¸—?É°mÑýB;¸›ò—tz×[^>ß 
+½N}s~ˆ§†ý¯„2“ÀP®ÿ¿’xþűùÒ/¢*’•¸2òÑ%ÜS$©}§Öé_±ÿQ~%ÀJÿö$ºÿàòÿÖšüvò¿R,ÕCò¿Z{’ÿ_üß¾hQÞëZÓì@5 4³ZP¤ðœ¾)Óùßb³ÙÌß;ÉóÓ6†9•ÆÆÒòü®ú„l]ø	ù¥ím&˜1Õí,@Ë‚U;Á«(	©;ÍJPlÞÌn'fF"/aÌE¾š,ß´‘€†GÂzd#J{ªýo[& ¶Š1lGÑØNÈU‚/Dæeœtÿ¼ŒŒãÁ2þ³(dÈRÈ¿Ç¡Èå9
+²/†/h¼æçRS²O 
+vµ/ÆΩÛ†³L¸Eãr jGvÂÓ†Ó[ TO.‹V\òådÙ<oÆE1ïÅÑ鵿XD!þHÒØK÷P]Š´ht]‚JtÅ@ßÚ»-Æ[£+a¸}v‹:tå[‚ž@²|<A­¸ÊM¨i—4.üPŸC#ì‚Þva÷M¡j`ÙxzéãÙNlÄÏ.”DtW=þAwïEÐÈFW¡BϲYöîZ‡a°
+¦F[qL!b”µˆ<Ý2ªge³»üѵaXš‡Á(4ÊßM)iÂl¢µ#´6#6ê#µuµTpyEàŸý-f³ž–¢qu¢áuP•S&“lœ,ÎÇ	 E>¿lv	7ˆvýÔãÏ܁–µx„“Íò$ðÿºƒß—ã,º˜é{r‡Q(&n/óIÞôû­í“6FŒ^ç|æ_»¨b;Áïö°áJ¢Fa÷k»OŠÕÓçéóôyú|åŸÿ_    ÿÿ Ù¹„ Ö 
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/PEAR/Mail_mimeDecode-1.5.0.tgz
===================================================================
--- trunk/plugins/coclico/forumml/PEAR/Mail_mimeDecode-1.5.0.tgz	                        (rev 0)
+++ trunk/plugins/coclico/forumml/PEAR/Mail_mimeDecode-1.5.0.tgz	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,65 @@
+‹      ì}m{9²è~]ÿ
+
+×›†˜w¿eŒqâØ8á9ŽícðÌä±½<
+è	t³ÝMlŸü÷SU’ºÕo€3ÉîÝ{ÃZR©T*Õ›Jê¹9ødŽyùq6ýË÷úÔªÕ½öÆjû»ê
+ÿÓgw{w—Õª{Û»Ûõ흝]x´·³½Ïþòãóý?‡¯aæÙgîz–c7sµr5Ǹ=p†–=nænºg¥W¹×G‡sÁ'Lþwµ{Ø&ø]Ç_ Óöš¹‰ïÏ*•97Ýò|2/ÛܯýaE)…u|Óû´¤—jaýGÏ
+j?<<”¶ËŽ;®Ô«ÕZå·çÁ„ÏÌ’e{¾i8´ò¬ž;Ó'TWvFì¹²VùѲ¥Uµñ®[æŽ6Ø¡mÎøÑÓšöfÖŒŸr˜~X¡§P:˜˜¶Í§G:¨ÃŠz
+¼ÅlfºOGW®óÙr™l05=ù0†pÙŒ{tí•+ª	´†ך#¹2 ˜Sö`ùæO¸€|ÃL{È,ÛçîÜå>>pF±^6ºËSÌÄ"¸>ò—ëcu„G£þ€ídÅ"ë/|61=¨ÉmæͧVÒ:¦€ø”›Cø/ÉwbÍ]Ë´öÎu¸Íí¡9
+HÈ¡w÷h€U+ô£XSñôM at Wñ‹Ío}æGOÜ;¬ÈïÐkEvtû̧Î\¢žÞqàO΀1§ŽçÙæxÊã8Œ½Ha—1xãÌlË·Êg–‚íDÐÑÑ8š>?‚õ±_ªî•jûPŠ À
+Õ·êûÕÚa…~Âc¹¢	¼Ëad?ª•wËÕÊúI=Ï-x¼]†–ø»
+[Âòë[0KO0øG‡£ž+ at zëé5à¶ÌâFW>ŒÏöœ…;à$d5¯Ò÷†%ùWFîèmç”uü'ì@>§õåøÜ;:³\Ïgb×èŠc&ò½Ç–@5ŏÀw¢9®DÞö=ÌÐrÎm3WÁEOFÖ”³> '‘4Bf<ÇfÃ]XrͯWymo8ä՝ÑöÎþÏ£ÁžÙßyU­VG|—“ ¡CßYáz¼7†ãnï³9]Ð(ýs©¬”c•µ;ïvÍ=“ïU÷ÍWÕZ핹¿·»]Ûìv÷M³ÿs´sÏ¬3uìžvÏšó^1®í×wþ";Ãú«ÚÞþÞ«ííþho·:Ú¯WÍW£ï›?ú<@$œš]Ù}¥Î€¿-âûŠ63°0[† à,îI–üÇÂrùPàÍé;œYöÑ°5p;~¥ÒŠ*>Dq+‡ Ö¨lAÊ0Ò"QQiRÙ*ï(èB‰ÀVËö°Ó½SƒébÈUú)1
+»ÇŒ¥E„6Hµ *J׌AžŒ#k™ j²B+ª–k1i‘&/XDb°˜ÌÐÀ™ÓùÄL,&8X\ôUÑǾ—TaJ®´QXƒŽ¼H‡ò‚E¥ßÔDK£z}RûvísÿÿMzŠU"yUcùæ~â³,K¤á+KUÌ·öÿêûÛÕ¨ÿWÛÝ«ïþðÿþŸR©ÛêtK¥.N99.ëѼ¿§iÿg}£TêüWûª}ÕJ¥³öy¾¾^Øà®ë¸=—Ï
+ý|«w|~^h°J…y‹9èðZ½N÷º}ÒeTÙÛؐZ§ç€g–7+ȁÈ\F¡±±±I6“Ùü!ôòPB¥#ûÝߺoáSÞ@´•[QÆÖ›RÝÏQ›™†dÎj©5ó%×
+ëMÿÁi°à÷6Tž¸œçÌØ`±O9ºÓ̍@®Ý5vîø%§ÁØmŽÀ¿kìB|ÑJöšw†g=Þ+ ïc=°âíÆ>Ô
+¿‚ÇÜOü»Æ«;Ã(c‡Ç¾o&3 @žÀ0²¹”
+dÐàѯ̧¦e7X”Z¹¢ VÙô¡æÙñy§EÒZ)e/cîçéñdèzHa@ ‡C¿,/ë©áåì¸Ã6ѪaÍ#¶	R¤ÀþI#­ËM–£â*¼ƒ)Ùø²–uöäsQs‰ooø£9›O9ºAGÔ&lqæ:³ÖASZxôYý΢ÿ;øìªu|}p:D=ô¨A׆6¨à]|Ö“ÉppØѝM$Ä~E}WgïL>Ò¹™¦‰lº®ù”'Ê–M]`‚­f e»×7­¢(n}P˜^*ç'h»QpÃE£Ð,
+%b¬%ž¯ÀS÷ªÃÒúîÞmí¾t4 w€špºilT*ocövª»ûìD0]	k19BÛy Ïþ3xZdà3Ó÷]Ü}^ÞX€àç#ýÞXɸ|ÀCÿÍ–Ãó×G ¬Z¿]µNP¼#ù6ýnC‰pã	…Xº¨óàÄžo‹ç(#b%;T‚ ±C2!V¾+ÊQ"ì’`ˆ•ïQ9ˆ‡Øó}ñ\ˆƒXÙ+*#™ÐxµQØøú
+/ï[èÿÚ~-ÿ­íïïüˆÿþkõÿ/À’‚Ü”sî1Ëjj¾+§¾ðŸe¬¯
+]7k+i6?åE¹RQ"]„\SMÞ††Ÿq4⃉Ã40ð(ªÕb|ùÍü¿è|}ßý?õ»{1ù_ßÝýáÿý‹öÿPhW^¾Ü`/YWmºho±×cyÁ&Ú5Rë:ØÔT­¬é”‘7	Vk>ˆM Úµ ="—û×ÆF¸Ýãùîb x@Á3ÄÀ³fÖÔt	ÑÄô%¨ØbÖÌœ÷FÜL‚VùBYbŶJË>¬ýáêòº{|ÑeK땶Øì†ÄmTÙ	ƒT²MÜ…a@\*…ۍƒ,@ò›žrôþÀ ‚Là~ã0Š4Ü)˜ÄH¦™ù„[c#n%†|d
+,ÐXeÖ1ó34Æxöä,@r*öòâÝùG  6CñN˜Á<¹£¨•£.èkÐlíÏ–œƒ¤o®bÏðêý•Ú7öØ
+uWV=oŸ´.:­ÁMòŒD£„*Ôèa´°,:˜?¹h³ü ÀêÕj½¶‹ìÚLLwÈÞó'îv?qco¼p‘<Jm¿í÷Š¤ñDÔ¿4vÅ\m	R«c`rjå©=Ü*®»æCË~’Fˆä‡AˆX(=é[¶é>aèeæe[ãWgªL9íZinçܝY>Úks±+;ËI3r¦À8`z!°m†–OÆv f$j¥r2³ÄJ,ðíˆù¦$¹Ùw>c‘$1xm>ÌBQ¬‚)€C(z§ö0Šƒ>aµ€pËéh at wE0ÎábÀ¿&’« ¡3X ‰hª)«À¢t Ø……ZÚ2§^Höpó[„Ù·¨“a'÷µÍÌ«sm;a!Ñßò=2G	Ta%) ”†¥ìHaxÌܐ$ò@k0E@îÙ
+-ÏùÈŠ©¼9 WAS =¸ÈO¶à,Ï“ƒ yþ¾ÝaË³î¯Ç×-߯®/iŸ¶NÙۏPØb'—W¯ÛïÞwÙûËóÓÖu‡_œÂÓ°ñßÞt/áAlÛv'G«ÊŽ/>2°a®[»¼FÙ{ÞxÐÁ5Hàv«Sdí‹“ó›ÓöÅ»"ìâ²RàC»Õº—Eì%[²Ë3ö¡u}ò~¿mŸ·»©Ë³v÷»;ƒþŽÙÕñu·}rs«úêæúê²CÐp|§íÎÉùqûCë¤ëôËZ¿´@+tÞƒî寭k@d¬o[B€¿=o‰î`´§ík°ØpXá· " y^d0çÚø¥õ[Ft|ý±`I"]‚Üûï¨åìôøÃñ;c~u`†Nn®[ñË3„Ó¹yÛ鶻7Ý{wyyJdï´®ÁÚi°óËî¦Ó*B'Ýcì¡ Õ ¾¿½é´‘~Dô‹nëúúæªÛ¾¼(Àœÿ
+CëS¢õ午uyýá"1h*Šì×÷-xs~!‡×½>FrH‡P«	½=»Ú`ÙEëÝyû]ë⤅¥—è×6x^bòڬӝÿz=ßàðiÒ 7ñUãå"M-kŸ±ãÓ_Úˆ¼ Ö–è´%û@»ÎÍÉ{I}µ,Þ€<æcÄ#›‰ž©„ùŒÜ#*KžTkTe+#½MJò;L$„$š¥ä½°ÃHNK¢I‡›èöÃØ<ô	M;Z3º,TËµã¥¦Ã¼§gì’¢?¿	š´ht¿tÀnXÔ])~fµòÎ+Dp¯R«WªÛ¬¶}°³}°½Íhð¬õ8g›9ûËNÞ’óY	ŒbhTÙØPö²ôt‰ ºõ«Ø@쨃d·@v»¦´q2AÓÝef`=ò‘a7ÿ³<f“sf¹YþÃ&ÿ³Éˆ±·“©Ù{²ðÍ×K(Áûq™AœâˆÄ•ˆ-’„Á2(„$Š,VµÞ|6‰Âh좋!ŸšƒvaJ>Íåã
+ýÇ›=Ëž/|i)Š[$ó“j£žøô®)\û½:FàÉnQ<ØB0g0X @òJ“åØþB H!þ0¢^“(Mͱ˜p­œ„	ž‹Ãd•‰(ià)‰–¨w(4\ÎÀ³ï8Àãös¸EÛ>c©	EÛo…Q$VüuÉHò7ÆHBM¢t„t®ãÆç¥ÃÁS\̉ÃÄ́r™U–ÔDЇ…¸Õ¥Z“­`zTW.`Šeà‚Ò×R‚%D<\p.­Aª–7!}¤‘ñö€œóĦ Á*P¥iÈo
+$‹Œö
+ð¸É6qÝ•Žz48Ü<9/
+Œ$)mÁÈš×à ¤\‹W”$Ñ**1¯I‹€r#^/€XodN=ÞHAQ_:Px at Vû’à‘·|lÙ^4yî:Hx2d˜·ŠæXNøýI5´|aE\ŽùÐ Ñ`Í&|wš8ëP #ƒ1h÷†ÛòTENt·I„™,5!òQ­€*öØ;H­#U‰ýš{¾Ò2
+¦$^*ÀÄ'*£e±	ô.%†ì<c«º6˜Ê,ßuMÛDu §°)HR‰Š®8#k¢”Ê7RÇÏ€ÙìÛ¬IDÓK¨föFú(’ëÔ~H¤ÅÔ÷ž#C¢Ûv¸Û¸˜Nã"¤RÑ$»%ÁÔáq”ŒÅ‚kÓò:ôÀÿ”·<JgAöâs¿G›zÖl²^ïäü¸Óéõt)X¼Ç™žÑá덿B6Æq‹éKsŽvჺSO9lå Y>ÄC9WAœ[ƒæÀ¸/àÖt$mmúÈÚ©7nD[†¾d“À¤ì¤ê8‰šÎÙŽÎ(ëñPA›PüH»Ùä—·Ð>ÊÉ.tª6'Ò6ÒÑúl™!ÅcÈĺÏØ	šGö°ï¦yé‚ÉlÊâZc©†‰!Ý.±–l-<”<ÊÂCmÌ"AÓ‘%<A+Õðň±6qŸª)•vœ³ºÔxRõB|¬›/!Ÿ…ÐÌ‚Í2®¸K;O# ,%ªê?i±¡ NŠåk.…¹4è[¸K;F-ÅÏÍ´ÀäÓ*T3ô#ÐÂàÌÈô&–c/µ…™Æ<N<½Î[Â9V#ª4®…²@­7~Ö±Â
+p†d+ic¿!™ÐEò<D*²J/2â*fS"'„¨çOP%4âåAÂPé¢qÃfX¦FËåöuÙæ#©Æ Ï6)Û?ΧÈÏr-Ɛ¹ªûÎÔy@ë™Ú	š°<Q‘üdy=ï³Ú¦.•g  ‹ú+úmü©^oïqäCúGé<‘E觯 èŸ¥ÊÚøýYê§ô²†ä"z„¬ª
+&˜­—îÜ'ŽL²i“!‡mâôQ·Øì^áÍtÜSëÄÁ{°|}­Ä*Ç­"üðüœ¡‹Cã`#UIéI¶é+˜Nc$:—¤-46Rá"Í]>îÍLÀ=oTò·ÕÒÏfé¶Ê¥û­Â]ìwÅ2ŠQ\‚Š8ùc/•ýì!sÛ\Ï’ÇßÖîë6ñíØCl®×3ɺ\^ÑÑv¾q¿t$v›÷pŠ ó^Œçž8La
+ ìŠÖŽì,›`_6ÖÚ9ÿ©±ŠA‡–7w<Ê™XŧZÕ¯c×¥„Ñ¡÷¤t›!V–L¤ñwà‚gÏŽùÿ"Fðe𠤂+Å–lÐS
+¾SHŒWªŽŒõž˜ %ÆuñŸ*ñR§NÐI3å2£Ñ!ŽTœTàÂ,!d€¸+Æ~ßòŒµ“îQ¾L¦§çÓ]¾×1_‡òé•-¢z b¨+i|“ñ&þlúƒvϦÝ<
+C|x>£iDŒW5çó):‹þÌŒW‡h«{%q¢C4¾>;©½ú¹¾²gm>m®Þ]­¬?´ÆÜó×ÎD¤ØÎ_£¶Ë§m\£æÌzL­'„Kþ§eÆÄ­Ñwd® ÜXb!é®<:…S-ñИ=¤S¸+g˜aP`PŒ×ÈÖÒ™L‰²¬0™>ëB’"ÉiÄ…iÈ
+ÌŠ;¼ª×
+\…šäÌ0Y7çêla\ôéàNM°¬VOCúБ¼ùMàWþ²4&<:϶¶–)mi
+@í0D¿ÄÚ^²³$Î~lZY¨£O	<eô3,,,¡¨Uq3ÿÙñ¨TÓF\3ðµñÍ앃eèž~‘ŸN‰Ü-C_Q‹ÈBÚ1£t}RÜø+~ØZŸ´óI©ÊGB
+>釗Òë…Œ‘Ë3·0ØÂó””äÅõeh¦Æ.d3ç:ú¾ùïÓ÷kŒíY–@†ÜNßVP‚›?ΧȣFÅX!"–ùìôè¶z¿´EÄQ-ânþ÷£÷R¦ÄÃÅÿ¬`ø;ÜÚi÷zTÆ>8P_}3SÂ
+7‚}k—ÃÌÃÄs¹Ñ&÷e1ÓbÈEz$%^Ú‹YŸ»ûá*X­í0J›ô1và:‹ñ$Þ\†ÃÅqIÑkÛd=M)íб§Oåx„\"úùâê¥Â_Œ¹µ.D¥ü‹ià@ÛéI<•¹PŒâ„‡cQ«¹\]Û±$Bž|£ã÷ŸÍý'mÃEJíBZ;Ò÷OÔÛÒM™Ò5°èȧB²BfÈø6£Š¨ñ
+štU˜i±$/ i±‘Š)·<°”1|oчªƒp¦EV-²W´«(k#˺
+H¥’aÒI‡&p9K²÷â|•¬—ÝNe†âÈb[¬"Ç£(Fyão^ùoxˆ\¯^”õÒÔlŠ¾	œ\³Qb++1ïhR†k¬C¸®R°÷°oÜûùÄŸâGÐxªÅü:drä¹QǾ@àâW2;i“”X¼ÍÌÅcƒš±l…ý‰¥žFŒì¥Ï3%CˆóW)6S©\¢àÑ]­ñô½ ÁëÊ.ò¤õÄÍ« Óf,¯Žâ
+šªmjÚŸÀM²y!v¢`¶<!°­’E&2wºr:CðÙ‡ñMßµ¶p3R c(¶•’«ü=_~ùºpç¾¾³éü,T¼\Qæ¢,Àš…ŒÔ¹1IuÀbRÕoëº{øe#3rpâ,¦˜˜âKrÅH¡1|2’	@§Ô.0e¹à&½J伶´tp«Øsbå5¶ìÉ¢XðŠ9¥:ÃxÚÙzSÝñŽÌc,щÆõSª ©T؍=r¦ÃxêYÑ%³ÞšŒ–ñÔp`	âƒ
+°@îν³Vˆ›ÜKÚÝù°ÂB1˜‘"ÜìW¦¾êh>SCo>c¿_]>Ò·’(ý/*“Zßœ;žØF…/Aq`¤é;EU’°ÐV-¥†,‚và‡¼gFºk˜ÚCð¬Èji{¤JßGïYá›ÓŽ¯pÉ…Šë´þ_¶?žpt”@
+†AþNðkuŸÙÙB©îc¶‘ýloêL­IµêCe#&DUäà)|¡CÈMYç¦Mâ\ø–ª²ˆ
+æÍ81¬QÛ‚åoy$Í@h¸NO›”„4 ÙçeÖ—.â$V˜5*3}\‚pYÊs ÊìcÂ!zåÙ)ÌÑ,%ÁŽÏ“{"õ«ÅžÜbË}ùغ•ÊÊhÀº%¤©¥ñ†b!I£Vš#åB!]䥷‘ë?¾>Y¨6å¶;bÕÔ<ØÄ	ò¤‚CÖŸY%º§(²vÁ!7APè8§¦¾9øäMMo’òÂy`ŽûÉýÿ!.É¢ñ{
+61)nL3,s×¼AÇd®Þ_¥AIäcþˆ¬jN¡:Ø,}ÇŃûxS>ê\<´èò	ìOyŠ[Šc¼&  
++ùÛ¿7îŒÜýË[ü¿è‡ú_xY çªÒXý~«PÈ7þØ,TR¼£ÐÄé™Ói^ë.nØp/MÎk™ú)b$æÓ6É£=”þ¬„
+‚~E~3¸W)l‚NPºO(wñÓQÛ"+Õ…Wz×0–¦´ˆ®ÊѾ¶¶2{û²c±·¯âàx¥Óná²
+	r-r	E_‚zÎz‘I½¯a4AP€…cÜåwþÝËeÅÏE·J%‹n}70wô$wŠ,B…<èu:$ÃNëTY¹5f8a9hOÁv ~©ž5áJ\ª)mBX–Ù‘€ ‡^B`…Õо|…
+ó	3ôÙATWKQXØôf€ð”PÃÂQ{zë9ë¨Z-N‹ÊÛÏÄ«F\ÿ™GlwRIHõ8ÇT»›h‹ú^øÄ¾Æˆ
+R‘ÕIj5"
+@"
+>¡"¸ËѦ±£LO1Ï'Ønn6C‰¤É°Vfêôoú³¹¾çP*	TÄ“gêB¡V‹
+5 U`%ñ4)Ñ6µ­8¨•ù)IÕW…EÔ®jJ¨Cž€
+³Ý%@[#¿ §]ŸÔ«;ûev¥ŒC´>_òG0g§OA?`Âb’½iûâ6`Šî‰ã8ê´qzhÓ=Œ`è‚)!{)¬;™ÄÌÎØ©JIÙD›Ò}MîûÒ¨	&Œðn €ö9,{4©ûÜÀCL´5Ƈ%°²†ÞFÂXŒxÇ`ê4ï^ßþýõýÖÝëü?þèį—w¯›…üWØ‚bJ`5îjÍ×FÛ6gÀyäë}—Ëåx¦q4k@ç©ëBÐ7ý~YÀÞEÚlÜ8JšÐ²K¦[.‰½2¼IÁã~¤R<õUO‘
+*m'vÝÀµR¡tUi'žë–¤,egÀõ³6Û©Ó&Ió½ðÜ<-|MÂÓ?Vô1(z†Š™,é/fà•fþÖ,ª¥ŸïÿYÿ"çÛ/µsµhJ^›K-ž²$(õ¦QVáÁÄÍOø#NFHÐúYƒ‚KìÈ`Eé}*v‡»†Š×Ž<gKTý̐påƒS¨7†ß?[äjãL_;*û¨Ó¤Ì‹VméhÈËWÊ+䣎\»ÔJ*h+V¤&Ä%å³¢X'¹>RæjÕ‚“‹<Üíi™”-˜	[†©D‹+Õ zÿ9]y‘ÝaLž<§ƒÌ¤”:}YÁÝq*I~„ªü}™ú[1êÒéËÔäx íïÈ€Ç
+ŝ«4ƒ¸¸‘¥–¯Ee¥•jA0£pà¯Í2â’›ã.4ñiÜÝÕÀYÍ¥õ¹–@;AÛXwRÐn],’xƒ¸§Íj0û¦v…í{±xÔçigãùø Æ	›nóKl/jxÎŒ÷t¥^2£Î[’k0’×Löñ¶¶··ÇÀØÁ[$™÷³þ¨ZM@â|–ûGŽmøìwöaž‡`ÙJ~˜ 3aµ'gÆdñ2²çñóÔqj¦ï›“…`Ä©(ƒcÆÑ]\›IÇÚƒ[+—Ÿý±?Ù΃‘Ç’8kœY¨Ó€Â!'È}Çp)ĬŒ\EЏ[íßÿsûKåË[¹o(¿À¤Tn’ˆÜKzN¿ËpÐï¡çšú=%7•YÜ Ü¾¿Ýü=n9*GmÐŒŠHÿ¨E+*&k¦$dNraSH@ßE¨QH¹7 0„†a*LÊ^W,n&[eËdä«–Öœäs€×/Í/äóyp$‚¸ü¡VµXå]Ú®£W‹{Wì«îï§íEIÇ#}m±mvØ$è"û&/#a;øXÅe…Ì3F›ƒ*¦°¤á…𵿳êc½šÂÔ–ت­¢¾D}ÛKAl¯‚دÜ$ã>H™È|°ÃCsô£ÂZ¬ðèˆí²ÎX&a×’°wØõ$ìú3`ד°÷62Ð)R˜	•˜©Év2ˆ5ÄÂíµ¢ÓbG	9¶rì‹ÃnÿÉ°ÿ©Ü&ùb{_ԟɵT¾¨ÿçñÅwšÔ/ËÓÈÔ²¥™Eú†µÒÄaþ’CÓ7Âå>u™e¹ïŒ9ÁkeöŠ4iw¼vœz±,©`4að3ùàªà•ßK&Ù„É(¤Siª•¸8$f]Òu¯ÁÍ^›X_†UÎP[Üc™G`2˜
+¨Ûôþfʽ6™Ïá)ü’¯Ë~çŒì"°·ÃX~ЖÞú£(¨J·â²!Ë“§hDήâø—Úá"—¬9R£\+²œ.ÒbÚ²¡E‚Ô#oýVñf>½m'^ߘtÍî%hÝ  Äki‰Ò‘Lé
+Ä
+x:SO´
+ìÔÂX¸êT\è²+nº=¢Ízfüñ|ªÿK¥C~½1?õ?MÀ1’7ɦÙ÷Ñ	J÷`‰‚›.”éRŠ¤ºðKæ–xÜϺ/LÉ¢WB%nf¡÷4Óïf‰Ü+¤oñÀ*i²\.–í®AÌÈ.LžÚÊ}¯[Z"mP恪yÈ¥¦1Nmã´`ýdÜ´qK…ê^Ú«RÏ맅½ôöÙ1èœïä2NuæƒÌ¢~j™Fìb®¼áUçœVœWìÅa‡8½~1[*XйŒRGÛVô¢¾£MJ…BugfÊW_XB/\KE`²ÇÙ”ÞΡNÏgiTÕDLC,Ÿ2»Â8‚ÖGåéÎ*%QŽm%2b+˜è•ˆ­Hà±³|šPǐ‹œ–‡ÿۇ󼑈»àÁœÓî©Ðn"ì‚)IJ;£·[ÒÅ}2ÃLÞÝ\f—¸Ó6OŸèÚpôJ7lá;=Ÿ½"ŠJÌe
+”Ÿv#µvÿvå‘nƒ§¿å¡?\qÄ(Ø>†úÌ]ú
+”¤–ƒès}:bŸè¡©ŒY&-#”	ôUo¢›B#×>®q¡£š¢ÔÐÍæÀŽÄÜÊ]MÐJô1Dqøy@¢Ñ¼3jåêñúHÊFå´uoþtzyÒýxÕ’ÖGçc§ÛúÀrëÍOn5|»ªZ‚ð½(M²€W$ô”© ÍêDOº˜Õ‘÷Ɓ²0§’<™JuŠULæÁ|OfBŒéÀ1À ãßÿ¸œaWp,æ×…@—]Å
+Ÿ¶OWú;.ýÓÅ*HKq¡j°`øŒEq(‡¸Þì{âòØ!Ȩþ^Á—Æì#ÓI±BìÃV	~Ÿ N¿û:·¯·"Ñ:-åü8û\8§¿V^,¦“1=§9§+ìÝ'0
+O$ÈW-¡fÎxÊÍtꂹànÕYº‘™U¢µ"©N’©ÜÌ\r`ÎMç*}[^¦³‹71{«ˆM.mÐ
+Ž\¹­Þuá9®¿æõmç,|3ïãQ‡%Ÿ¤ÉÌœŠH«%QÛpTR.ªmnnâ„Â"Ǥ¨C%VÉÒ5ejôžèh«VXsŠ•$ŽËSùµë$Rd±%lôgÁþt{‚5²G¥÷‹-ïï+Ô:e_ž«fÞ_†r$­š…B9°?QqúPI]+ö¤Ø…|1›¨U‹R곫ý»UÁšK6C943TC3©‚Ó!†n%lÚü¡§Ÿ½	¡ÃÕòmÄCº&¹’RnӻȰ—vrFÐITŽs$·3‚ŒüY(Ñ,š…\
+’†€B!¶9ÝqІ spOÚUô©¢.BìkàB™Þ€ô%u(Lú•}VK^s|Ž>}E‹‰Ç•Œd]9¸àXˆ?u€W~Ñ‹Í)å¸åÃñI™­ÿ½".ÃHÒ8D)lñÍpR £ä_žÄÜRoÍd¦­QdáEéËÓºƒÆºM§'ñ«{…>Bp5Ö¤€µ„Côu-g$Öæá°Œ)b+4¸ÅECgQSðl\ƒ^tFY•|ÿWËÒ›Pñ6éï»þñùñùñ	?ÿ  ÿÿ 9$?÷ œ  
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/PEAR/Structures_Graph-1.0.2.tgz
===================================================================
--- trunk/plugins/coclico/forumml/PEAR/Structures_Graph-1.0.2.tgz	                        (rev 0)
+++ trunk/plugins/coclico/forumml/PEAR/Structures_Graph-1.0.2.tgz	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,250 @@
+‹      ì½ézÛȵ(ºÿšßÍ;TÔÞ-©CQDj²µ£öÐñ‰»ÛÇvŸœœ¤?(JˆA€@ÉJÇ÷}îs܇¹ßy‹»†ªBaà¨ÁR7˜´E5®ZµæZ5q܏Ιì¶>ƒÿ¸¥O§Ýìí‰ÿ¢³ßoÛñÓÙëô¢ÓîÚ{ûýAož
+ú{ð¾þÜþçÉÁ‹'~>Ýè´ÚB†näùáÙӍŸÞ¿Ü9Øø¯“Æ“	ã‰Pc«Fë˜ß]üm†ÉӍó4íîN¤·&ç“V(Ó]/õvU#;YÙ£ÔI>ΩA¯w:YùO‰oJ_^^¶.{­(>Ûí¶ÛÝÿùýëwî¹;;~˜¤NèJ¨•øG	=|¹NJC]ØáçÂR­O‰7·¤5ÝeËa›'
+ñ$tÆòä]OÝtËäÃw±39²Káµ{î„¡N춞ìê§P ™ŽÇN|uBõ„çÀ¨ucbì„þd4Dàc(ødW׀ʞLÜØŸàûÒ„ŸG£ƒE±pc	M…gÂ	=«mxpVî<i‰W©p‚ ºLÄpêˆp"	Ϗ¥›J¯­LCý“ÛHšâÒO¹)îF¦ýHÒ(†R~(ÂÈÃÖߟK='1‰£žŠÑ4tq6	
+˜‡•Æ!oxÖpq)ƒ@8üÀ;Ðyì'©ï
+ù)ÅŸ¬QE
+=¨&¢IDgW­'»6È ‚t<ø«×ñÿýâ3?ÏœøÂ	Î#³ŽâÉ4‘ñ	ü¯“3÷É.ýÆ€±~ Þ´\Uñ“(N§gN€/[n4~²Ëå°ŽñBž\ÉäÉ®ú#ÙUCyà’'°OöwÚݝv†ŒàEêÃX:ûG{ý£^÷É.ý„ÇjgSÓ±„V(
+EôOêuâÓã6t
+_±Ç¬æ؆C?ðÓ«\3ø4åvôsݐ]ûIà»2L¤˜Æˆ&ð(šÆ®$* Š$»ÁÙ$ØQ¿p{lœ¼þîÍë'º m°(•ÉÉŽøvz&¾:tEWâ‰}D"\'C)b	hŠ
+¯àûHÆ@%ecGŒüOºî È˜"
+‹ûåÃ÷zGDñ‡÷Œ0¾ëGG	¬åÖ6à7u¦2L‚l 1à)`›ÄO76âÍӍ]$Pfä²¢ÐØëÃf~ºÑîºÃƒýƒŽçÈýaÔ‡‘zn÷à°;ö{þn΋Üd÷<»céùÎî©HÜr“dCÄQÀ%6ÄîRŒFîÞÞÁž<pÚíÃÑážsേ{Þáð`Øq½Y&é@ý\ÊtÍŽÎ~·Óö¼î~g¿ÓëF}w¸·7púC9ê:ÃrÇÅ¥*=ha±5†Ò‘^Ûqûý~¯=‰gÏm·½Q¯?êõúr_Žzk%‡F§î•¨ü^&éºCÉÑpÐßï÷½þ¾s°Pë
+d»àtÚ‡ýaûÚC´0ýà9 ÓšuFöìÁ¿‡¡tF^gèvN{ßq{÷ ;Xg ? «Xw<½‘³·¿xx0ìtÚƒNoÐq¹FÃý·ç,1žt
+òàC	ß&ÏÖ—»7ØáCÙïît:ƒÁ¾ç¹ûžtG{íþh‰q}Xé> Ä±ö8û‡mo¯ïy{]Ïío¸ß9<@àíõÝεÇY¼댶
+tàuöG‡ØÍCØ3ƒáá¡Ûowûƒƒ½½µF‹èwAíÈÐw¯çä~Øë{Ž+÷F²sà®5¨kŒˆç TzÃ}	Ä£ÛÛƒ=áö$áQÛíU|7p	%ô~S4÷àð hÿÀuÝŽÛéïw= g‡û‡ÎÈö½Þay |ŒÝú¡'?­Mé¡S Ÿ{{AÏë:COvœŽwàõ»ýngt0¿×›¼#€Õäp8ôº½~g°ûi¯íu½ãzh*ã8Š“µW|Øë¶÷`g@¶8yí½Q·(èxýÑÈ)÷w-(ïI·}°? sÛ)¦=ìyƒCgàÀò:< ðo¶ív¿}Ðqöܾ7h#69ÀF{‡íC9„Î+°[)GkC×Ùw:Ãý½ƒáÐsÞÈÔê¶Î.<¬˜nyQà¯/
+ºā^×9hïíA^tG²»{©”:Ï<4ûJ– €¡­Ã#d×sz‡Þ¤'	BÝþžö%Œ©×qz½ýü^>“ ¬‚*ÓJÎבƒ`IG}§#A²88ð½áÈ©‡òP쵇‡ûº«lf»<U‹åìÚòjjôuI$Û;ìÊÁþþ^oàu»ÝotØó\§Ûte{°Ô0Ê2×zƒÙ—€í ·[NÂúwå ´ïô@Àèõg†äªõúòÑw`‡÷Q§?
+F ²ìõÿ‚üâÍêsÍî€XÜÁ¨=êì!Çìô¼ç`¯Ów{#	kaºÍ,Œ‡ŸA[»ß:‰ï–úÅ×K3À­H@°Ì]Јö çòp`!²—±)îêïзu»óö€¹(ž¶ÛÃn{X"(e‡ ìu÷e¾»·/NŸÿb~äúÀ\ Cè¨{è:ýÞ $kÔß÷Œò›UQG4<·&±rRgiü
+Ý^ï ” yF®7ض÷†ÃÃvOö·{ýêÙ‹Þ½X§àmÝHø @·íËþÞ°¿¿×ÝÛoï÷\3=‹ö¬ÐËð 3ì@7´Û@Üö{ »÷†t±nz4½L‡@ÝÏ«{y²­’¹Ä²<ñäDË
+]_&ÊöòÏ©KèD_Ä“±žìµºh¿Á¯ôvW¿~‚öE5v¶K©Ö^«—«Q,ˆÖÓ#ÚÇrãÁ(ëÍ‚šg¨WÎPDm[†¨¹¦¨*c”È™£DÁ 5ß$Ui”³”ÈÖ:;í}cX7m³÷Ñj%l˜±	Z­ã-4jË}ûœÝÝÙ¦À÷ÿ¡·¯“÷ÿu at qÔþ¿»ø#ïJü®ñü÷hÛô,Ž¦¡·ãÂFÄWÏàóòå1¾;ñ™‰öäýž8úløÁïŸ×ø]c÷ñ-aŠØJ£	p¼x[Žé›],ÑbL¿ñÙú½ºðTÃ2£ôüØî¨Õ—c|0Œbª@G¢;ù$Ðy<ñÕ >§§ÇÔXtË©ŸóUM§òSºãþL$öÏÎSšÊæNâÿKB{í‰õìRbJàå€ÐêÒP¸#í·K€þ¹@(çÀó>ÏŸSS<‹#Ñ13PÞ©âWýcÜÏ—Ýÿy«üÍúÿ»íN·°ÿ,_nÿãÀNÔÈÙë
+‡‡Ç‚6‰'Ý(&×ðÈ¡<ÆýêG´{u¬ñìYEÀz¾©ÈžÈÕkþ®A$ê‘í&µ_Ò‡Jàû¦ éŠÑ¾9c?¸:ßI­|§)Þûc A?ÈKñ6;¡zЉŒýѱ°@ ¶:iŠÀ‡öp ;çŠtöÚÿIÓþøǤö0ÑDxîyðiÄN G©z£(˜zÔÒ!4¹|ƒÞóÀ¹Š¦éî0ú”ÑI?E;ðDüòÙú¥¨™î„íì?Ó’($—"GÇÂ(;A~¾{HðôD,rzHŸc1“+ˆÜÀô*•¨ši(OÇ©vè\ì “ÐËÆ#:À]žû)PT ­‡}	´I¡Jžz[ÓÅF
+“R éh°0¥Ž</Ž.sÈd&õò ÿw\5ƒSú”f øTi)pNòB†ª“ëµDœØŠ‚ìØù´sé{é9@¨Mh¥'ëLӈቦtá~@Aƒk¯ÐöŠ‘
+c'¥¸Œk&ÛìÀ}œõIã"N[9R|ø9_ÕŠ€(¶€)JÅSǍ՘ŠÜçHø UúîqW¬™¦ÀñéªÞ+–ù}òËìÁlälL­^ç\—z[Ú«‹x\#ÊÃ%Ñç—rƒ¦oŽs»¼X¯Ü›Yèç‘;Œ¢ÅõÍ­6—œƒWX°
+¹'£ØøQ˜æœÁš=ÊS¶¶-~ÒÃ'Åúh¡æ5ÝI¯&0øäŸS'fr(;c	ó[ºù*™ÛE,=9òCŸ#Ê´gQ¯]M¾tô³FÌ!C”3o†[ya0×la§¨÷ÿ“Ç’L‡;ÙxtÝe6ÖÒ&|C¬4…IÏýÐN¯ˆqƒÑ(Wq‡(8r)¡j‚°÷ŸÇóØÀÒkX îx~‚Lݳ„ÝH¾¤.š"ÿt¹Ó¤øP0ÃxNŸc¼¹~åè+e#Π\¢6Všíùz*à·E‰Õù2ðª—ï3m`Ä€
+Œ%p !¦²ããÊò‰Ä­†êJ%0ô„µèÓU"NëÒ‰C2 ½Y¿—ƒA»­Æ˜-ZÕH*’`ò,ò¤P>QC°Hö
+§ã¡­0QÛÑâ^ë>ç_ƒØæx¼Øå]¦i¾&J6ùÅmžµ…¶WÛô9ž±FP¨×yäí¨8J¨Y!þU°0UÍŒÙz–‘«Œ£ÜS¼A•C|¬RjNó% ‡"EË$§HӍbÜW’—Õ(—Ó ³'^`<L¬”>ÈÈe0Q`	³‡CEæKÀ¢84­ìÁL>ª¥™"}Vr—L½Œo(V¯Î«.6w¼ˆÊÀêÒ|ühAEØšï®ÂÔù$Îá]€ï-z•Ä.š¬ ùZ¡4ò-å¡ì³Õêxœmº3kCE¶à¥ïé9ЯÐ-lO¥ÒۏòjÎ[ .ÖÛgÏ̲ÐÛ$Í«º.|¬·WãÙ‚.…˜ê÷ä|2o‰°ˆåç‚DÒ´/wÜ J )äx8©,Í,_6ŠaœÄéWK¥ºž"á­ªY(RZHƒ­Ó»n®T±™ƒö³gùKÍeæ6È•º°tÉJÖk…À :œhtâŸó˜h	h\egLã¡¥w:H_ºE†$t¡¾ÃϨùÉ(É‚Ré9ɹœ/Z靕Si¨I‘™ßD“•»’¶É+´ƒ–‚
+FRé¢qƒ›1ùRâfþ¡ý`2'°I ̸L¥ä*Œ&‰o0a]Úô²–Q…IóسGT,2s<¢%eÍ¥¤Þðî¨m¡µÿ¯Âþ¿\pü5ìÿÝΠßÏÛÿáÑ~¿¶ÿùó~íôw:ÿuò»Æ“ß?ÿñÙû¿¾y!pÍÅ›Ÿ¾}ýê™ØØÙÝýKïÙîîó÷ÏÅÿüÓûï_<;÷>v„”'ØÝ}ñƨ8¯÷þíî'l«ƒ•ÕםԪÙòRoºâ	õ™?YhµÔºÊ
+`ñGž f@ß=ùýÎŽ0bˆé ×pHÄ÷NìFâ€Àþ­ã(JÄÎŽªDÄõä9lñd‚g¨ŠòI<.ÆU at lú(€ß=ÝÈüeâøËӍVkÆ—]U²ÑÑÀŒ—¹xºùŒÃxvÞƒè³)TPÏÓMTTikÓµD¦O³eÚäÖžìšÙ?AS®êÂó/Ø&ˆKʲ¼qo`iÏ»úU¦õnœÌšõy÷yÆGE&%ÒµõŸ“'»"ŒÕ£öÐòT½`v¶qò<kcš.Šå•Ó€—§2G¨_jóC¡,r"þ­jd˜ /ÏW8ƒ¼æ¾qò=ýÆct'b«ªh²q¢¬rXf[7ÏЮ{Î]¢±ó©ùˆW('ÑCÐ ýÄ0ˆÜY	ÆÐ'ÝdɈ»q‚gKç5©8`ç‘‘űÎe
+s0³õdw’k?¿¬““SaÿÌ×$£èE{žËOtҁÌ&"pÈG9ñeì&-Á-% £\	é§ç È¥9*`×e@[ ì0w´I
+Á?R¨7D4št6T…@ÑùN4HQ„Zë.+n-,0U
+R‹Ca“¢€Í%5†Ü£'Ó@íäO:œäP•Œ}'n4¹"gÖ‘FÓ-w[tÛí=Ô»ÿS81
+­ÌoÓX¡ñuTÆ3£it´ètéÆÉ’q|}˜a>ٝŒæ¡ÈP© B‡±ùÜ.*75Ä9'TNv«¢€y·¢+ªÀÓ(Èl3¡¤%ãûˆÇK\ɘˆzn'ë¿ü¿G9âW$LÿÍ$€s) ÓñŽSã5ôd1ÌÓ¨ÜÎÍ‘C'OgPPCþZ.I«Z |†JZEŠ0ÌF¨0¾\6³ŒÚÅ‹SÊÙ!7*ŽÓÓíúÙT‹…7-ÒEšöF¡æ›å.œüø¶þ–¡¶Jnœ£ôeͲ¾‡Éä¸T”;y¬i—^¡§¢TRY)7N`@R•ûyÛ^{³Z·ê‹È÷æ‚tQ<-°TUá20gÀÒtÂ×*§AO*ßa·Ë,Ë׏CyÉ2Bs'Ðvâعšî3™âÈ’åàýµ3žë*E¨oÝݼò{¢zf~ò\í†åæ–•ÿ‚[¸=b9Ž.äò;$+ÿ7ÉR;Äb&Fž¦/¸Ì +øpr#8¹E–»ªòQÍ¡
+ë̓qi.Ì38?œ~ÿâé&à7º	<=±T<~[f‡¾gŸÆROOH«M¥¬ªø¨
+%^Ul%öé©UªØ=j‘ž¡ÿ
+û=aK¯’-§òÆɾ-
+2È„×Í«eÖ€×SוIbD{:ä–eíj¨oîlÀ.! UUãMC(ÖdL´	Ü=|ÌÖà_Ùd±G™q!Ó·–öŒ¢Õî³…-GâèÏi$pÂYù†@õÎÔbUjä	óS|J–UfëljVc\Ýò¶Á%›¬VÛÔFÊS#½!Ð?æì}Ž¿¼þÖ7‚àr»¼ÓîÞá6?õ<áÁVMm¢û¼å’È‚m®à_±»€$~£ÛÿÖ&6—’'¶ˆ’ A0T9”–¨Âu6~¦GàÎ7¿î‚ígúÈ’›¿ß¹ÃÍÿ–\Ò®'€'2mrV:è•úî4pbAŽáùè«ôLé¤)¦@ÈeeµÎ_
+<WKë¶!á“ † FØöYczŒãŒiÕB3c"¥ilµM°Dz¨“Õ*ñ¶Yl½#ZZTÃÓœ–]"©[DkþÞ´5aܝÖï;`Ͷ^½Ü=8üûSÉTNY¢º‘í5Wf»G¨Z–^ k¶¼7€©¶u1Õú}œÄ6–,ÉKzwŠ«8>-Kšœ£·'Mά‡y…,Ö¸ÿŸ†>ƤaĶÓ_H$ÍóH¥¿N‘tmy”×Î+¤Õ]I>­0|Ù@-z‰Ü¸ wù)vè1™“!ë\Rè4/c¿)zmñß`Jä–íŽzûGÝñTE/­¹—ÛÞ‹\ŒMÙ©ƒºña8áǍ&	Ô!ÈuV“¨°½Ríkû“]¼ñ„>Nîeü×ÜŒ¤ËäØïÚ…ø¯A¿Sç¨ã¿îü×,äÿmƅ͆F/öÐâÅf­%Ç}±N3¶ŒÿïžJ ß%Es邈¤ŽbMliqŽÈ:õ0XËáQ¨6§	Ç
+‘ÕÂ	üLÏ2m8B<?ýŽ/PCžÂ¬ ³&F™I2ÓÔðP”Ïî­)PßÀ…e“XRpXq[÷ugq_“P—ãÁæeç\'Ö¯ãÄ~ãqbË…(´Z6êD_:<cì2¦´j¥­5Õ!&¤ÂB!6×êŸwa³rIX÷.C&ÌðT&ˤd¹5¢pd’-’¦ò…GÈ­/ýD¶nÒ¤;Ê칎†ÜC6ç*ø.o4»Ašg®M8_àÓÚmíþñuž½õ–úhÏø«óvöú¢-ìÏÞÞþ@üÇëÚ<ó Î.áÏ­Áü›^ÿù?Û½N¯`ÿÝtêüŸµý÷Ù+âR~óVà
+˜Ô¶àm.­([„+lÁø³´¥‘ÒÞÈ·[Œ:sôÉ[¼Q€·ešu!T¬ÜâSÉÚ$}Å}‡R7hµÏQƒóÓM2™†ÿMéXoJ¶íTð³é
+ñkØ€o&ˆ®t
+äÉòŽ™¥çjSõ5LÕsî!\`°®¼Çi‘Ùú 6[ÿÆÍÖ‹O"a\Î^%kSumªVXÁˆƒ†7úvjÆÀeÃ3{wh›Æ‘efiíaÞLt“jyf9q¥0•6¥(’pS³l‚×Óƒ´uzZû D9I®‡ `$-ñÂË\79·b·h$1lÚg·8óÑå]jó‚NÅ郕 õPcûqV¿MÓúáoÞ´þ[±ÿ™âõòÿõ;^1ÿ_wЫã?kûß°ÿqˆüoÒÌÇS¯­yΚGlj*Òò‘uTyîÆ’®^à@J¶¯écªK䨶§5(e`Kü„—|±PzúæU3;0kâ9t~},ß”~s¹Ó8ª‘WÊyî\ ü˜žã]”ÏÁÉÄòŒŽÚR†Bl™3øÑ;áùœÖDã-ØÛ0Èõº Œ¼mªÁòîää­ÝÅ} ¬	äÂw@JŸãsl<áï-ñg=P(Tª¥«N9žUUÿ®cJïÎP‡(?ק¯2_dvÛ¯ÍnuVÁ*þ¸BjÁËçùšyTïghS	`“÷ÑrsÌÊ߆’•Î;OÑ·0㛚õŠ@ZF+ù™fø“–?ê
+Ô"õC²|‘”ˆ6FÌL‰ˆL{µŒˆXãn·^Ù€Y!㩆LeºÓ­{¶àZÔZmjºÖÒ[-IcP£—Êh¢­*×7‘!-œÁ«ÑQ(?ù	êŒË¤J£¸é»O»\ÚR¼ÞdMã%s—æª|A|Ä[’Î0ìeÞ!’ð¹Ä+®–<C¢Jßsv?V»t¡ˆƒK®[©Úíî¶û…Ñ4]Lñ{Mo“UlRÍ[¯/ñ=fÊ}߼d%&›Ìà¯÷DØ[Ò«ÿ`¼ÃOîŽ×ÿJÑz®ô\•/Fô눓ûoúC–-¬úÕ—Î<ýa•|bûuúéÕ-i+æ þP™lõlu¶ýŠ$²ßwWѶ†-‡\Ýýþbå¹ä´äÖ!oι£b\™ín‚“…ÝD(‘•i1½ŒT4“C—Q©§òÝlÙo%Œ¨Â
+ºúŽ(lˆùûáƈ°eù\r?ôî8Ù?ÏÚ°œ¥ã-d¨¯
+ÙCíŒîì/%Æm ËÒ5׫፾E£+öü8UY ‰„KG§þ5å%78qK9 oÕþå’@.k!^qZ‹²@jÜtõV‰®™’œÍ*#9ý¸Æl¼KÆ(wî2Ý1˜‚`˜éÇ4<#rƒ*F2–¡KˆW)ªú¨´LVX¢YÔ—E1‡“˜j7Aüœ/žŒbvø³8qoØ|Ñ(¶dpœÔ
+ª™ãFm…»»“'s -·Ûw½·Co9Oÿ%e†£-›€ó!ä-°ƒ%qºú µ:³')¼6î†ÌgÆ©%Iý~ç®±[{Or¾µâø“@ŠMÝè¦>qÒ+*ò;¥P>¼šwDd>Å8½&FÚùtÇn9¼NÐeTEÇá)Â0ÇÑ3'¡¹LU¬ >˜Í·„1$Ћ@ã#ù˜œè'dC'—~Ð…½ç€!2¡s¾($Oü·ämcŸÃ:¡”ÞµDä0á~¬KMÑLïú”㎛8ÿ¯x•Ê¾jËÍÑQ©äÖvþäñ—f¼zm–W~®ýÕ7rð˜ZE
+ŸMɼFp³·²Í‚ç¢Ñ•ê‰-ûr5‚øöµoY²ÂôUKÙ£»ºoÉ
+¤XÒÖ2èÞý¥.lúËî™'‹#0•ÌÚrM~š;2ùpO%æ–ô&n2ñ+”ÀRÿº‹Û†L,ÌrxÙkߥöýÌ	ð¾¯T’¨‚gh°ˆAú¼ÃR'ñ(UDÚ1Zµ15G4b7AM"!ÎÚ§ÃKaÛ!Ë{ éA©¦¡=ùÏ©h;}4MùÍÍI@¯ª pvQ9BgQöL…}7°…*¢¥p/UÈXw@ò+b°îã]{ärÂ-¡°KˆeT ­—dJÃCU‡JIõiFf¢¨IÖ^Øä¦<À¼¿²?¬„š·,²? Q™(7%uZ_â´‘üd?[ÑŒK2ó;M÷‘gæ0Øu¹¹á¬K°óO~º
+7Ïš&OߥsUàêšÝßSÿ±™«<¼¶žØN©d±SêæÒæ¬è•êí}¯Trm3åÒN©äŽœR0’¾[*™á‘º`ìÕö”åÞJ–po݇JVônuÚ{_ƽŸž"¡Æ4ðÈL>Ä-x8ØH òæO‰ºYôèHÝîÎ÷M;ë^8}çjÛ6­¦P¶H›ÙÝš	zµˆ•d–‡ìÞ†ô?à0{2‹êw2µâ¯ŠzÕúvRôc&Ëù1oR2XÕ‘Ùíì}1Gfò ™Ôr²œÓ	bXA­ÊƒD?‰å…M“àJPçñüÄubïWÁ—Ü¡3î–¥˜_™K­|Ðo	°,Ž¥£¬EM猐žæ݁TX8¸´¤hxx—ÁÈÏe È—ÕáG<L¢Ê×…ãÁ‚+¦ˆ¤Ï™À\ÇH\'qtá±dŠ[Š±GÂHŽÎhbFøjÐÄI6’Z£ÁÄ©h
+ҁ%(*‹ì5õËûI£s_Û_çÒÕ{t_}‘µþÜ@þ×t
+8à;A)™Zkòñ¬2ì‚ûŸ:^§ÿu¯7¨ïªó¿Þƒü¯E$ïúÿj’¾²P|bë‰ã~„"-dîC'‘­$	ƒ-MøлÝ6Ì—¥b>öþä¼Sz³1¤çZé®]m2'QOÅȏ<'4%‹¦8N3Äì":ÞU	,Š¯3Ë–bm¤æšLMæ¾ô¦nÖߤ<Aº IõHò!¿CaSfC†sJZâÔºtV_ 
+ÿC›Ú”«òègáo€ßtE½øÞ]?ÅÔ£”ý4×x^Léb$=g²´ªŒ©èˆ4ybÉ	¸É¹?I@ÜN/¥T¡wª'ª€YYI„Gû2ç¶T^YØà’MW5¡ÏæÒ¥€}™tx7q|
+àƒÒÚÕYj¤õŠö•Û3×
+¥…Ådzú°]ª$¯#V¬¤R%èP3/ h+>F]y˜Ç–N³ÑÙJŽ¶®‹Ne|•ÝtËp	ãåPËi]üÃ(&)Š¶|ì@/˜H!³´Gº ±M*õ‚Ðû:hÎ8©36—1ý™ÁY¡Ì®ŒíÖsƒ¤.©V• ÐþUE7K at pð˜5SŽI{B½3–')a,?DèÖÛ,feEYuó¸Ñx¬—Œç)…s‹P^–²2láíÍÛǍǰÐÏ—®Ä!¼Ç8VÁÉ[ù_|€ë;¡ë9Z“HŒÃãkPuìNfQVî˜~ŸÜú|~!ChóÖ›ÆÜp"$S,12Ýj6‘€'!nUd€;2FغZ¿€’Bˤ¶ê5'7á!ž{°ð8‰ÆRÓœsŠ{INÁ[ÔºÖŠš<»´¬Øݏ€AsÖæûpŽ¹ðûËh…Â笰Lñ‚í`:bí>¢êz¤Øô2EaœKÅQÎÁ=Z Ó	-!RÅE›J–z4G¥·ì‘Í+1g@?D©ÊNÔÉ°¾„O5Î(UøÏŒ†(øy‡&2æÄÍ*JåFéuSæÀJÚvªmP°©Ø$É´í»ŒYÐ|€‰Ž¦D·óZ% ¸¢™ŸG§”ÌRìÃvø†k’-Ÿü\û=˜ÛjqÏSã«,¶òäo}ýÏi”“ƒ^¹x®““ãP¡6°¶U®zçpÛE¹·›ïTp‚¶±lâšÀ·Ôêµ;Æõ§ #ÁeDKä:Wçb·¶+p¯‚S+H+i†äDGdhS%P² 
+ÏàäÙuã,9½9ªÅFË„9n.£ü?¦	]PBÛóO2sŽŠ€›øê6L5ü6MHµš…² W_2V8Ö§3ÆãW&×Êž	mCE”8l‚V!àéG+"‹ÀÖ¦üäï†Ö7›¢„?ïø­.oÐÇ^tÍ€p¸¹ÖÍY8€FôÐÎf
+m»H¼r6ÊBÙj<ºRCbƒµ’Ìüwõ¾(BÍ3qÇC§¾+tÛ:ÊŽº^´®»»”d)˜¾‹Õµý8;€Xe"Kû–\‡¼ÏZ!ýž¶ku&¾nV¦ 5‚“À‘‘-5•¦µ¹A/Á[Ø¢PÍÙOã11¡§%ÔÉμ sGÐn=öŸ¶ûx‘AâÿKF£-ª¼
+Ïþð‡mñaJÅ4
+‰²y`í¿=ö.‘®ÏóÎ¾àVl¿µí·þT}Z»­Ý?¾føÚ?ÞRí…útööD[ØŸ½½ý¾ø×õòÜCûÿ‡e/—6÷ªÔPþm¯ÿ|ÿØÀ¼ÿg¿ß­ý?µÿç¾Üÿ‡¢"ºM„…Ý|)Ô¯ïâ¿‘Hþ0ÿvú,úM€ùôÈʯn?”Ù5ÿ®,î‡n0õ°ü+õ­”Âz©{ ÝÚE€~‚F_ËÆDùuLöo­W.KÝ•…zœ½]óœÀú	ifŒlF˜ø¬âÕÇ ªïh{TÊÿmЛy´vpƒd· |Æ^0]fqPë£v)yúòJæWÁÄñ˜Ût7è7ŒÇ¥ßíüm¤TÅ S›ÍžžW4á›4Q ÕçK–ÏAÑÔ‚¯±5é\÷ç}­ˆ¦²Ãw0Š®#oMñ.ó' ¾s„×›g™ö¿Âë¡ï¦ž5ü¢¾_…
+¹D„¸<÷Ýóòv*hY»±%ÙÊÝ%
+-zø…ËuR;WÜžî^of˜Kú—d>z‹ÎØÓÙ0Kw3¬º?5?¼yqúEùÕB©Ëq¤j)4DˤÉ (MÛ_hOg«²,›8Vò"æ¢Gž#ïç/ïԝÙHµG~”qŽžE¡jl+þ|àÎ%Ue¥0»TµÚ}oÚZr•ö¿ä*íê›bÀ6Xq¥
+wàÎñͯ¾f‡·¿f3"¨Íÿksú½·ÿö»eûï^mÿ}ˆö¿÷Ñ$
+¢3x߁*ãÚ
+ü›_ÿñÿíýRüÿþ ¿_Ûkûï}³ÿ–°û7ož‘Úü«·—Vž{ü¢Và26.a+Uª-µEøZ„oùoÄ:\¦d#®°ãs›È	Õt¾6“j›ó¨c
+I«ãMiÖ…QkU›krmB®Mȵ	¹6!ßȚ͈xù•î¸E‘|UK;'&hõÕÞëü:÷6÷ÊMØÿr»¿¢ñŸƒ~wP°ÿõ ÃÚ8WÛÿî™ýO³±ßœÉ/›xmÙûUZöèL§Ëv‘»µß™kg\X[ãjkܱÆ-ƒÊkÛÖ²šeãAƒߢŽ¹Tv±4wˆ;}'°ŒÚ<öPÍc÷E¡üUÚǦÑåAšÇjåû×ÿ³(ÂkQüÏ^§¨ÿwûõùÏZÿ¿wú¿!®¿5@­ûÏS³ª+PF@'Ä;[Ÿé¯EÍìË,„^ËjðEsoªÍk™	þmaäÊ8\›nß´0é×5(TÙ²ìÃÂd9«m·a3ø÷Ým·: áfnKKžË¬y˲q2ËîQ’n	ú8VÌÃ(ujîÒ"̺Ç%'dd»ûšbFFîá[KÚ˜%Ðd“+›Xס{$ÇÊwïßþôìýOo_¼ûðÝÛÓ7úðâíÛß~øîÅ/Þ¾zv]
+HK;{»ðkFüùÑ"ñSÑi·—™iÏߏ®c¶{´¬é®>eû+=ÿG«šÆ
+T
+¥Kô± þ§Ûô
+ö¿vPÛÿjûß—·ÿ-oèûÒV>6çáTß5¤³Ä®9Õ:Ë8êj©…¾=9ïž¼¢T©‚eí’~O¦ÁIƒÌ8š_ÛFCæ™ÆÂÌÎ`´îÀn:gØ:©8rs#Ó¹áÃoËNu’µg°tøÏ5±ÿË@âÔ0Iü§5ó8Ìçÿ½ýÒý~¯[óÿšÿ×ü%þoT^24+M(óËiÐ5Ÿ4¡>Q÷ÑÑsTÏá“p¤Y6·IÀ‡ÕÝ1Êód4òŠ;4¹ÐM&;Ðǔ݄NÕûŠÑPç_9'Ž&¹+Vu7NÜ5«žmœœ­YÕß8ñ׬:Þ8¯Y5Ü8	׬mœDkV7Nâ5«&'ÉšUAH׬
+88U[§Â}áè}õh&'|#¡eÆS.¢Q9é‘ä(ݨ¬©ìGNÁÊ•¯N&Ë þmvø‡·\UM7N|D· nœ”8O¼@
+¤/­¡,7‚ëÑòÕeyk´ªaxù©ú@ˆ•®œ`•ð€^úA²±ªÒñN
+ªL—Ì}u[ÛdòôC;¨Ã¾›{öÈ,ê©ç™\¾»LQ?«%øá­ß‚õ½”hû®½Î9ÁÒ Ö¥ÇUp‚/Á‰½éÜ;ØtîƒÚtên¾ä}ôå÷]¦Â©Í—
+n†Nwt”ÉöavÆhåmH)ˆ/õ›~Âïù;šps²îFo¯·E+Wã>/Æ⵸¡¥xÆ­YË °wB¾0
+ekÉ=v{þìAíyu›Ø=Ä15²™fîA»ü"^k݅غɍM*þ}aL/æ™o-¾1(s4ƒù†¡¬of¼Ÿ€Ö£›ks·ä»pÉç
+C<»üð~Â<ß<¨ÛW8Þ Üßrº)uŸ$s.¾ýšØ×lvµþ2D¥Ãc_ZWÒ£ªR–ô»›Ñ–ÞfÙ½ô‰Ä&_û*&†JÒýºœÈK¼ŒÔWX]:iâÌúúTa©!x‹4Þ¡~£š—5×/¯seº•5¬yk2[¶òï@¶ò”l¥¯­½‡´Qm&Y̮ܽ	ñݾÛRw« t%õM’D?Q&{ ùy¾a½z¸ËûŠat¥l…æÙA–[(Өʙ˜Ä‹èK×ë y¥ûu€zŽœ Qw´_úÉM/ås?&z¿ø[6®*—½½YWX&<¥ˆôøˆôøAi- ÿY^½øä'é}”dKcœI¶K%oΆç%¶)C—H·Q-¦P.àò/d(>Ê«eÍ1á`cxϱ± f«ôå…ÃÂy‡lhsjöbGw°Øу"=Ñ4½·¢ÛLRcJÜ‚ˆm//#–0-¾L‹¦År]ÈûçQÍÆU%EeooJŠÂö´k•N*,p®–P+¹ÔJj%÷ց,p $·â@HnÜΚÜ_ÿA²ÈÜ’ÿ€¡Ü”›Ç"’óh Y/Å„e®ÒSúQpÕ?%j«›h
+6ï9^ë†Wëû!’%üÉ­ú!naDqzÏ=ÕQóz
+àɪô°*ð7[Ž7$­¼6Øjfë9WÛk“ìɬk1ؘ¾ò§ü¥…ê ÓëJ×J‹p“û¢<¹û$úßU	€Å'7#ÒY`l8º&ʝÏ]êî½ðõ|µÜÙåEZÊK´5˜e꾯ÆûÕvÝŒ}~áýHV|3S™Šû‘R(’ÀwŽo+™÷¶î·nvYKlë~3ìuŽ¹Ý$w¾§×aÝ&“úp?Œ%Á¹²ÀLºòñMEB®Í¼*Gu/€<ç˜æu]·–õzI‹Qz£ôaù8fÇûuaöã3'°,ñŸ,Ó;@–éƒ2/NÃûmPɍo&?È•º>ð\ªZfàÔåÕ\4«OIÖ§$Ö)ÉGu*¥_gþ§Å‡¿¯ÿaÐÛ/äêtö:uþ‡:ÿCÿáFò?ü­¸oj[ç³B8³ÈýÆÉiè:ŠÛÜF>‡j³žè2£­µd™m­%ÜÌhk-igF[k‰?3ÚZKšÑÖZÒŒ¶Ö’˜f´µ–5£­µdªmÕ©(êTu*Š:EŠ¢NEQ§¢¨SQÔ©(êTu*Š:EŠ¢NEQ§¢¨SQÔ©(êTu*Š:EŠ¢NEQ§¢¨SQÔ©(êTu*Š:EŠ¢NEQ§¢¨SQÔ©(êTu*Š:EŠ¢NEQ§¢¨SQÔ©(êTu*Š:EŠ¢NEQ§¢¨SQÔ©(êTu*Š:EŠ¢NEq7©(êžõÏú€çÌžwŸEcqþ‡8Žâd¹Dk坼ÌåèìõúÝ:ÿCÿáËç >û<r§¸‘A-~ƒbñ‚ö„pBOüʼnC UòÐòD(9íM”¤;¨sØ8±‘ä6Œ‰ÌM4™£TÂ`}ä·æ‘2¬5„\3q&C;h€/c¿)zmñß@Të¶Û°ÑG½ý£î¡øC>¸f4Ö¢؁áÂn¨“’O7>'ü¸QX’N«Ûêiz¼;á?u*¢£ÿYÿ¸%úßmwÚEú<¡¦ÿ÷þ#U†Ï*làåÛ
+UkYf0ŠAÇEˉa«qÈ|ghž<!™C¬±bæ `Z_ò×åè`Æ ÂÍ‘uCÔáëË·§ß¿x÷⽈£Ëäé&ì³æ7›4Wz#’Ø}º9q܏Ιdn“M›¨ï ý|S|‡d¢…åßüՍ‚~uHŸ¬Mì
+^BoÝþªÞrÝ~µ¬›ë´þ4¯Ðy®‹’¾Na}'(÷<ùx–ë«LzWÏš~ýð#ÿä!ý©{ò§Ä`‚?uùù›
+0ñ6PÀ½:Ò-„¾¼„Sd´dRg,#éC›y5WÑT$Rò	@xŸÀ:6é©KUÛaò.Ùq	™ë/å8¶}·žì¾áyXCÏM
+†
+[µæ‘5ÿ¯æÿ³öóÍñÿ~»¤ÿí·»û5ÿ¯õ¿:ÿßjze©UlvXÛ|«ª7çó] ¥È~ì
+è™e>
+¼ÌWð<39ÛÖv	¥ímRUl1™%0(ÅO1í“gäz£J95ÐÕm.6¹•Z}…eÑWgg7´ÚÎéËiäE¯C9ŒfªÜïá­xísèF®	mT7-–¿Ìç{%Þ$»ß;áþ¨>² ›5S±^sÛ£Ö=2°Û.7Î86Çõ±X+­$FëùÚΣü(2¿õ£Ìf>³¾çj-:a›Ì:ƒ‰A¸å‚×JHWAXÝj=Í
+;Z8‚yQH7:²ê˜™ÕÆWBsíQ'ÝâÁè0ƒ*ŒZŒZ/ý`uÄZ=ó]i‰ðVÚìøÀRo¹Ô×ï'w¬°Ô™}Êðú}-çÑ/
+b¦ƒšèGÌĘŒÆ\0ºž\ÏLz!rîråJWÆSòó@'4„o|þ×Z7¬õ?Ðÿræ£Ûñÿ
+ö{Eûï [ç¯õ¿_‘þ·¸æÐ	C`w¬5Úú@+å7‹tɵL˜ÚïâIJVJWÁÄñÓ íð7p"WÿVb—¾—žhÿg®l'>QÞë™Íiïvée©B¡§®oœ|“Éñ¢÷' |21p:ךHaèð a¢˜Ô
+žÓ^ÍG7éÖ\Hÿs*ï-ÑÿvÉÿ7دã?júè¿eÓyh†@¢KO7\h©ú“óŽ=øeTónMç+AÎ{w’¤ºëawÓ@‘E€0{ÑàÿÓЇµ#리‚7¨šLƒ:6åvéj쎋W~òñl]ú¿¿ß)øºÝ~¿Žÿ¸úØ
+È_ÑÆù叾'”Æ×Âñ¡“ÈV’-6fiiÄø¼qÒØ:ב– ™V?OžÐ¾¤¯eâ’½³¬½º¦je2'Q"ONÅȏ“T¤Ñ”ÕdG ÍÀ²³käs°*ÃøvsÄ–ñ4Dg	·| UDÓÖA ¯ð‰7uí|;qb¿”¬ÛtÖNuIéÑ€ZÁ¸Ñ•zÖDàAÅL“–8Íòø9ú,^4üÞaÐÔ	,ÔAü,0Ð2àuPû/ç2Ä̵žÀ+	òcJÛ)4p•¥!ÆsT¨IÃÃ6²ÓOÈ	äɹ?IÄP¦—Rªƪ'ªpîPΪŹ-uZ
+¸ý…¤AG!ô…R\:WMždB‘‰ãëÈ	¹°Ô|UµïÐV’`ɬ>Bà
+¦\Ë]½˜³WuG>Â:åÅ€1ıÄé›WØ2­³¤¡éü"âŸS	[Ï „%¹„AòÒ¨¥µ3»ì”ÀÖ@<ˆ/ð3w3ɉkí¡Ó. ¼¿ö`|ÂÜ6xfXgF*oaÊRQâ‚g0	±záf(äàUƨ‰@Ñ–~ÿ·gÏOߟþ­£,Ë&´,¼»Æ½yÜh<Ö‹ÊKöôkÊËÒRna¾ÌíãÆc@ƒçKU L¦PÇôóÏ46€{yÀ¸òX@=Wk’ ‘QàÀcX}|í§æµYOª&·NÍwUèÒGü1hoÞzÓ˜NDàdêeK¼J7‰IÀ 74Šš€U2Æa»3ÿ}zÁ|kftMÀÜMxJŽrRØžDc©©Î?Å]‹DªU§uíUÞÕ> ZjìòGÀ¬k¦ŽÖsÁ÷—Ñ’Ï1¹Ü¢¢DÛÑ÷Rm}­‡…íÍ-#Z\³$Ú؁ L'´bH6—ÙWz¼;Ù½2[öøf¾^rh?D©::K„)61ÌÄDøg”ªMÀ<‰ˆýÙŒ&’ΛSŽ,²'n‰îQÿ L,š£}§I¹>S6ÎjV¦}ßeœ†fx4%BŸg¦rE°8`»ãûV†lŠß$0(É•9m=±ÜŽ«Î[)8w³ou¡ÉH
+¨ñ•Aç?Û cÏð(ÈsöÃÄ“ÖÆÊjt÷¹”½Ú|‡d‚/æI¨‰MÜGø–rOÐ’Ý®~*Ïd|$6DKd™û]cß<¶® ¬Ä $’ˆnNOA¢ð,¶Td
+DÁ±–—ZBŸÜ<É8aöË3ºZ€Þücš`Ú1×Á«|Š¥><“÷£Qhì|TLdÚÄWÔhðØB!INÔ*Šô1åÛÂÎ90žh/ÜêA¡ƒ©6”þ°m¨ˆb§Õœ ÊÿhUD1gW7å'‡ø:4¿Ù6î¼ãæ0,¬›Zv¿Hp€¹æ4úãü-l 1œÍÃvŽzåÚæ.F7HjH,„ösdæ¿«‡óD¬Ùr)îxèÕw…n\'I¥¾—YÛÝ]:{ÌTLçqí¬~LÊR
+VÄ.ø—½•yÝõUÅ%Ë®È0!«eÒÇ«Yye‘rÀP±ÿéQ¡iZ[ÔÌ_…jÄÈz‰=ÍãŽ}ÅËq!¸õØÚ>~ì?IüÉh´EÕ¶áÁþ°-~!xåÇ\¸ùuþöØÿ9O­>¯…hôø“ÆMÛ´±¬•œ_ËÆ°Àþ#úý~Áþßëuúµýç.>_ý~w臻ÉycËõD«uŒ&Máþk$ U,ýKlü‚_?ol7€+켉VkW=ӏZdÒlŒ?‚Ø*v&ú7ÛKÅÎK³(¼P7C¼f+³4B)u1"WÆßHäÄÆüÃ6PHÀ4’
+ô@ñ
+|ìÉ‘3
+RE}Ñ$Š„7+废ÁÅ ÀD\r@ÚÙq†ILS¹Ò鍝OE°m7¾Øè_{¸þ3öI¹²¬»…8²kîÿN¯3(øÿºíý^íÿ»#ÿ¬`c÷qᏏÈä$?M€u‚ˆH>ÑkòtO$çþ(%÷8üÀ`Föñ<;ñG”Á¿ÙEŽû‡›üü›ü·xM®Èµ.¶ÜmtÓôÄ»ÿŸù‘ø.
+ÿ?'¸€÷̉/œà<>ÿ¾µQ’«jä¡‚¿x
+W%'‰Xêóonò&?ªÉ*[ôeµ$‚å©î˜—±äù¨‰
+¼¡â(±òÏ8eæÊj^±\NwÚÊxœh±ò»~¯e‚çåùÔe ÞL‡xKÐkß•!ޝ Â'É9¨U“Xù%Žê•xAD珅ôIKTkÑmut‡ªÙ¦Àüuù‰o9)Î,][Ù†é\	ZMC­UayGË“­Ú9hžç ±Ñ­„hˆJeOh›„Šâ/¯ÞÿéÇŸÞ‹Óþ*þrúöíéïÿzL+ð$Þ¾BlÎãC/ ñØ	Ó+kÕ(¿ñöÙŸ Óo_½~õþ¯í—¯ÞÿðâÝ;ñòÇ·âT¼9}ûþÕ³Ÿ^Ÿ¾o~zûæÇw/ ¸ï$ßÑPÙäbTîÅ轧³)­/°<ÅÓ˜l‚%#3Ò¿@•pH-÷Y“d@`ãAqñÑFiS\Æ~jîtÏoŒŠQf{¥)^…n«)ú‡â½$…öMะ?ÞM±Á^¯ÝßF@á¡ä÷§s&Þîv:N¯½/~zwz°¼|:„^¤¸ƒá	O`%àAËUþˆÚßôÌ	Æ€H-7ŸÜÙ(Ï~ÓßXܘépm)Ã.Žh\Z:kk)akûÁÿþˆˆ—m‡*hßd±RÙ<Š
+žœH ù¡ëïýå—_ˆýó
+þÉ›èß¼8}«,ò•ïg8j–*k›ûaLŸ?ÖÃãKƒ.› /͵såb3+eËz­Þ— -ên=®Lž[bx$ܾt4až@Y'±±ç§ß±ÙO
+MÆ!DlRÆîˆÎ(Ÿ¯8å›Ì.Ñs€íá$™~ˆ}Éð”Æ¡÷èÑ;ê»ZÄ{¤D¼=”
+­-FÍUםì-€/Â(ü~4Ñ{¥ŒO)¸Ä7ôWý+tT’#.ÐYÃJQ/»
+S¡‚Á^Q-à].éT¥HŠ&ü£•ëðŽë?aÓÒ-ú9§ä}¤,áÄSwS¨¶T„µfÝ(Ì
+ñ4GӐ|çUàP'máÂÏc˜*èËâ©hg	ÕØFøôk¶¥íœ°Ž½s’]à›Õ ¾.Ñg±…BÇÕ‡ò*Ù²ZÙF <†§v×øÞ¸µõ{«äß°ÔÏ‹¯Ú:;¸5<6··Å×_‹ŠªÊ‡•h'T³üò6ßTFdU&+ÑÈŠY„I#[vYfŽÍZìâe÷x~Í3±¼ë{@)Ü¿1‡r ë²ÍZÍY$*õgXXm{¨²].–#•`h‹*[±Ú[Yƒ3–7×Òß~†¶ÈÇ~œ/Ú«—,\øf¡Ymµn‹ÑùyÛ^n¬¯Rr…\ÈàJL¤`¯D •Ûõ¢Â„ îKŸ
+⊠„Æ’Žõ±%?aº[´Ëçvîv~ÎXXm°2|W‚±µÂuvÐò—ÎVQ»ÏmñÈHÕøòSFDø:·ìÇ¥Ÿ³é}Á ÏÈm~då×Øaz'Ô8ý“§mü³³S5âÇzñp¤Ùȵµdç4H¹V(ô²ÔFP_ýeàúŒX
+òéVN`­ŽóÛbd‡¤àÑTÒB±2C‰)µ@O Œ>DŸcŒ÷¬™+XM s0ñz´Îº*Ð{¶Ï átb¶)²ïd™QåTp:·¹ìf—™Ïd«¹™k›ó¢ŠI†Q„@z¤[´ñƒû̳»Gdr+yÝ"V÷Q‘=([Â?ùà(¡¢)JÇqÙhß`Fê£ØiQ†Ç­Í5.Ö¶Ì&5Ì‚á„ý8ÿÖk—2b+^mßm&Áˆ‹€ù¡’CY“¢kô*±k¢ž­‹Z–j”üligÿuÒ¨-îßÿSyÎ}}ÿO¿½7(ÆÿwÛ½ÚÿSûjÿOíÿ©ý?µÿ§öÿÔþŸÚÿ³ð7²€¯àù)µð`ý?ËT˜´Ž©þ=IK\×¹’nä&>lŽ/ãS®›S㽺2/TU«<GÞçÃBäWú«HéöÉohBà—NLgõîH¸%ðssÑõ0¥ö=ýÚ}OÖþÙÁ-u_üOtw÷u\Ot¥xíuªð:Í\ò;ô<=¶ñó¹æwɯÆ1µ`{­F˜‹ªŒ§¥U?þ">­Ù‹rÓ~­y[­Ú·µz“”y½½[^ØÒ
+åhúJÞ¶Ûñ?-Z»Ye&?Q\…Þ“GÚLô¡ðjI•¥T-´é•nbý¾:Tt†OUÄ¡ ¨+'¢P;q’\³´¤úœ¬J{¢b©¸-»]#Xc~¨z )ød4)6\í£Æe‘XËM}yÿØ~¬]c´wé« °
+nÛ7¶†ÇNû¯ns²¬fÑ\ñ@ ;S—™œ™Ýʍð"çšËËΆI7r²€Êë ŠQ¡[Ü–haMKä'?I“­U„&åÛM=ýL´þÛÍü<KĹN›‹$‡Õˆ·jµRš\& öÚÖþßJkÛÍŸÿíö»½náüo¿Óm×þßÚÿ[ûkÿoíÿ­ý¿µÿ·öÿÖþ_•bŽ“ó½¼Xî¾8s—ð«Ò´–pŸfÓÏ’¢7ŒžITIEÇR»£ø0Ü™Iç…2NÑýÉÓðv+áiKü¤,Öé›WM“„.[5•5D%HÅ&1릨¢+èT;¯ðà’Œۘ¿”‚”’|æҁaã*Ïj¢îùdåqâ+±…i"uª9L¨Š*è6ç÷ÒØðÖnŽ¢­Ñ|4꧴_”@MåýzNƒû³¬ôJµ°EUÑ$ãR•õïûv0C·¹¨¦Õ]º))Ø/U´æSþ0ýœ^ ˜ ˜<á4P6w¬_¬—«a²°Œ+ªU«UbÏ°hÂ}få!cɵŠUùˆçÙ(g¤ÊTë0Ë´hÇrÐœAÑrò$9«]¥
+¶Øÿ#n÷’©Ð–6™÷–ŸÔ×z|[¶ÁJ[WlhÿóújÓäŒ}-f"¬‡i±m¨˜:“s@ë$Ã@È@èȧ[Å䙩tŠÞ~L06®²6â#ie{%Œ(#§Ô
+èøŠŠ ¼t{Ó¶p…y;àÌ$y¼£ˆ.‚´•%±•÷Aç`×°3/‚¸†ù)LcÈ–	Ý fI8‰i™jÕ„±ÄùÑs+¢Jy¸®r¦¹Ù¨Š“^ˆ©Ëƒ/)oÇ^²6ðLÎÌ•Á§ó”>Æ™Ua!t@ÂÅ@Ôôï²dÏ
+øÁø*œ*½	8 Ó¢³„²C
+äŽÖÒðƒÜâ£R°©[ÛÔ^³¦ ¸˜B&RÎbŠI¢)'©Ãgaæy+H&¨Òºf"Lžh•²#Ð$ÌÜPŠbSØÌ Yœ7¿ý™s˜¦¿U}.mù¥/-×VÑE¡¶QÙAApÒ¢ÛÙ^H¡Œ¨µh›ò¹> ¥‡+•'Ãâ̱ŠxŒgJu>ZŒ_³Â×¼(&‰Þ9cIÏãè2D·*-="ç•/ï¸1ñXª”žô¡T,½S¨D‚Õ«Ñ@¯x‡¦bKi”¦Ÿs÷*‰’Yè
+Ò®€b Rb°¥I­ÆŒïHaiy*úÉÆttÄ-‹æE'^ÙèrEW×gÎIRv –GXª’Æ«àÂ4ª:4M-á
+Æ­xtdô´°N¥gÐ7CÜU<Ú‹†^
+œESrÎÂyTå¹djÑPÀê=ºÂ×J%dÞ¥„`v{®{¤.*;²g±Î"á±IN)’C¢ˆ¡6*q·3Ê.²È†¤í¬š$!/3¬­Bl™G|oí¼_¸È©VÛ¿ÔÖVõ†Ý^((®ÎÅ’‡ÆÅìü‹x˜Ä ni‰¦©úœÄò¦	Æèð`µ	Æó׉×äMÄ^à/ñ••¤Ü"[˜%ïæ±aIÉ÷ƒ¹%¢hp™aÂÈ‚Ž³û%¾~ìÑN"÷ÅÈp5<Ê°­†•/=„³X´ƒ„¹¤$RäóNÈ· {*hŒ¯¬,ë:Ð)K•RL:¡èVse®mqìØ͐ltx!º$ci-^·âê)DËcÇ’K`…e½‚”­Ø³BKQhÄ`WEc–œ-æÊagÜç
+œÚ¤Æ§4kz³IÕT™øn)s#Wc‹0×™ñûØW×ð¨5p¦ZÓÎέeW\5ŠqÒ¦°Û=n°›š FЪfÑüW¢ÖU6E4?ž•ô¨¿ÙÑzÌCÇýXÈÛa¯r1}Gá(B	Âö¸°íã%¥¿Ü=óèÚ[^/sõ›º9Î:³S lJ›Á+†ˆ_
+qšœ]ž¶îZ˜m£B¾	OæÓp²«\ê¶4ÏßÕ@
+œŒ>³UàÙ{•;‡j]FÖ1Šü–_…Ö&Dly96Gþfû§WVè%½"òÒ^Uü¥®4#ü€ú¿^t„{}”	_› “ŸÐÿ–èkaJ§7ÔØ€<¥azPíŸDúú0¼‡ý ‚J®rÖt4ÊÕPð²§MÌÞfÿU1”zLƒ 1S;Oùu¥zi¨8Tj¥¤?W7E«y\YhÈfŸ#ùÜXØG.WÐüLRKœJ|f_ƒTYÝ £œØ–ÑÎŽä7ÅŒèú;í…¡æ0!ù¼èc}iû^FqîšFÅd›ÂŠÒ7 ¶þsêzS›[iª-ÆæL㫪™¬¸ÊÜdSPÁæsûöñ
+\#O­KpŽW;-™ïã¦OK.8ìHìì6;x,½¨ªÏD_{
+-¾Ÿüt9쵐7kŸd}ºÎ1‡Ä»«yr†Ä?VNhy,¶pj]4VOôá¦27*GŸ×1ç÷+þ{ÝÐï%ïéâ¿÷º½:ÿWÿ]Ç×ñßuüwÿ]Ç×ñß¿®øo‡bÕZà*ZßVÅ€_/ü£½ñ¾Xn
+/„[†u/o¡yË­Íù¶ÜÍ&H‹”af@ù±äUaä¬É¨;‡Uñ–0Áâße9Îóe`õÆ“(a.æä²r5-K*¾T÷¦èûÀ1ñ–âhÖÝ,HS3“r
+NAYl²n‰D€ÃÄñ%:) Wqði”
+ƒAÉ!ƒAu Irƒ¡Õ…Ý&E±C³Ca£ÆŽªéC‹_ >#þ»"ü;¬Êx³Rf	r6Å›Ò..éÞȤ}Ϲ)3ìS¥8ñ»?Rᶳ%¶~œhD±£ŸÈŽº~˜øÖc:E›¬	½ÌŠ˜â‹²ãkÚîbN|4K¥¾¯†ê*éï3{_Ù/²¥ºÛ.c>tøœùŸzž9Yò‡Ú_K¹šùœ… Ò«}ä˜wÞËB–™½ÿúq(/縚¡Ül³ªz#¾å,‚þNœÊŠM8ú˜Â7À[’o(êÈ›‚¼Ž÷ókb'o!Pœ ˆ.íô{XD~rð< Û›¤€zÁEÙ¶hb©“VÙM¤L9¶ØÚ+žžˆR~>Ʀ¼¿=HÔ‡šÅ„ó&%ìTRW±#D§ ŒhMùQ@ßIãÈ›º*G”P¶F"ÚZ¢Åàhåû|g¼Jî¹t?Z³c=ʉQÛ¹[î¹+ÉÍPE¶Û£Új+«²ÐV€ökE¾WÇ\wUüÓ{Îg€*:-%QÃ~•¼@¾œ³¹é*&0Ó×Eø4ßÙUÕÚ<Ç—iRy¾f
+½<¢ÏKÌ#[Ålªzºémíd{.IGI6å*ûús£z¢*S+;Ÿ?¡|eŠ/Z ³H<ÇBÒœ¶¦!j÷¯K—Þö|®‡µ4áÅÑxéO#
+núpF®“uÚËz>Ëz^†ad³.$Am	Q@֡ɁÚdëó]:s©r–¡s‡¾ªD‰XÔ tl;J…øÞ¾·bÍκjÍtÎéªEY+Ã5ÞW$&”¶@^9®<ƒ³c4¨±Ú±ó ý?t6‡þ}Ôm÷['ñݵAòÿtÛð£ÿg¿Û­ý?µÿ§öÿÔþŸÚÿSûjÿOíÿù5ø–K™Sp³üéÍO¡¯¯)Ñ.’aÙغ3Y
+Xy*C/ª‰ï•<×øef††2<¹–¹Y!6Ýõ‘ ¶~x†mo=±mKP*A±UNë¥SH?M¬Ü ù·)¨òÏ£ËpN$ýÀçbxj[s²FP­ËVg;x’Ë£,N1Ä{‹MŠv3Õ™“Åìá9žGZÒõ†¦’Èt
+™wgTå”+­#è¥NažÊÜÊšóCm¸%Ø
+w{pï¬6
+¬Ò½±™w–,×-¡cBqõµ#];%´ZŸ¥"„³²øåoíŸËˬne)÷Xª‰Ýo,;+Z“Ÿ>%ã,š3{òh:š“©~Sy(]Í/ŠŽ)33EhksÖô’–f˸ŒMSb’t:ñ=}8%c”ÌšWÇ€¦a
+¤¼u´Lª²lšÍÕ|‰ïòU+·	â܇ÌP~÷ª8/²zRò•¯×¥1jÝ£W|¨rIä.ÔÈ~æ}f1j–SðÌ]\,šÉêÎ[0}÷þ-Z–ž¼¿ÙåÕ[¼,†ZØM]|ú¼ÀZ‡âï#g ‘2윔SÖ Ø¶S†ÊªSµš`(ó¯|J`)È‘û©ªR‚}f	?¯ÅÛ+>‡ô AX¶dgé’ÝŸg­¹»’­vÓ0͝“ìè§æ	ðÈ!%³'‚t›ÕÏ6Åþl.ÛIgµN:kuÒ]­“îZ ¸¬3.ÐKvj膶R7ëƒl¥nfÍ@§ V"íM¢bDzhƝëaâR}\W›Çºx¸ÚLÖEÃÕáµ–{™‰„·M»Kí»kbኝ¬‡†ËuÒ½.vï†vï†滩|²èÙµE“©eŸZö©eŸ_‰ìÓ©eŸ{&ût~{²O·–}î¡ìÓ¹Ù§sÓ²O´÷[ÿs‚`‡¾]+ýÂø?±×Û/åhcùúsûŸ¯~¿;MâÝ¡îb `X‡Öá€u8`X‡Ö့ÍÒ" _È šàÙ©ò¾wÎ¥c¶»ºÁÔ“&NzÞðCÿ&iß´Ÿn6 ¿ny~Œ¡v[>¼|õúŇÛ¢%6v[­
+úrÔ:Ú€¿ØÊY©ôúBgœY²ø˜‚…²/ÚÁ€„zh[ä"dø£@Âê‚›Y¿4¼,µ¡*{tOÃ-n‡/]XqUjç$8T;¬Uš%äÿ·/NŸÿâÚ},ÿáS<ÿÓí¶ëó?_rýÏd¨l´>ƒÖ$¸Íõìïïíõûõúßµþ'ã qyŽZËÖ“íÌ¢<
+»È=Þ}÷ãŸ^¼}±k»¹&@OSñøƒ²ïÒÑ4X÷õ«wï››#?ô,ö&vÒ+]GÀ­Ïb9;¢åÄîùŽï%âß›™™KJ·Dƒ{D°±×O¦cà ÿ[}{üáó; ýãÉ–*±}\¬LAõƒ¦ ñ§×=n|E¥>ˆ§ÿ·Hvÿ¾»û÷¿Ã?gùçªå…«zøõ	)qȧß 6ø÷
+ÁýÀOÕ#<BÖŒ>À÷Ý“¿‡åœîŸ_dÿ¿~õìÅï^ÜLó÷?ìøýAaÿwzýzÿßÅçì
+RQ at a{ñVP²‚Ó× ©}( 4=Rhù?2=»)^Êa<Å›‰;‡‡‡†m›y¶¡¾š©¾³JÂ8¿¬Zbi¨~4ÄPÙ¯0³šZd<öÓT_Z†ˆ[¦(;„®ÇøÒÇl1¤¥AÍ@)c^äNQ
+çô(”ìs7g9(]
+Øoü;•räÇ	ÞEH‡®[VpÒ¶¥ ¾y
+šê«T]ÞpÀkÛu¯å”NôdçmhYüaŒΫŒÍÌÞÑç`Ž5ôS•€©õsVï
+(ãa 1–þ«'J™Æ³=z…Ò¬ÿ,T÷?8á!¦JA«ImD¦gˆ@¦ò”$…ò¢€Ô/Ä·t÷K;xi–žJ^ûm¼ÖÝ;t!'TâÎÎ ¥ø-ÙD3§³FÎXµ³EÆ8ÒS²Hõ„´a‹ruŒ2AIœ´4sëU©°7…3AÛe¸J¢±l$éúÐî•‚šC·èΕ •ì »Ã¬P. uõñ!¯vcÖ¡ùòÝBœ\
+¯ÌŒ #×ç¤xü€ þ×hÚ@[?€W#ñ%Bäì=>hÎcL¤?
+P‚ÑN„	”†hýQ—q6r["bk^{>ÝC>ÃŒ¡6oñ‚P8»2#ÉÈf¥Ëp吶‹J $?M‡/=I !Øh´>§YL¤ówGnÝñ!Àó=‘A(
+Ý7¸u?» õãtÖÒ&%Ô·ÊI@²öОÏPÓ"1LYJÃ[
+qcD\=°ìºF)›¾ô“óíc¶æáoeS‚F¦±‹M{´¸Ê °7*©Š°c`Ñ­ªtUïÉÜVÀQà‚À ]&µ’jNžÄÑY쌓c*jÚãm
+K/ß‹¾H:ÀW[*ÂvRÌžC»˜ØBBK…WnÈ‚ÜpsyÅ©UÎcÕ0 E„G ː¨à®¸=BÍèG~áJÅR Ùàr-¢xI±; 3	'þb,cºUJLà¥?ô?õ™:Òª+ at W.tJä”)5¦tá¢Ê8{!ò’.ñuÃ5—m¬inÇ…Iý¤Å꺁‘„V¨¼o
+¯œÓG›|h‡²Y™£G)‚-@ÿçÃô‚«çqkAÏD>4þe8§	ѱáÒexŽ$@‚„Šð”̘¹É˜ñªk˜6“nœT‰–PhN´i3›_骇¦üÔü7Š	g„–|˜ÒÞ¦US&ÄÛ"q °ÐáYƒ(è)<4ƒLΣKê@¡{3h$0ˆ!¿õ5n3¥’UhÏ pðZ $E‡ÝeGb«³kb’^#0àÂ!nu©D„7*ô·y(FxA¢^/Zyæ
+’‚èj-5mTËûn, w.Ý÷amDÚ¾DiôöҁҗpAìá븑0Ã
+£Ìw0R<„Œî
+ààÅ?~~šÓÐ|ö!ƒEéŽ4KÉ£e4‹(¯¬ñ¸4
+Æwƒ3D³•ÇÌ̹这r(fÞ6˜ãnRšØiÊü˜\,ئ3„uÑ©]j ]“ü£|;Ú€+ÿRì"¸jÚ’BJÁ\²äF“”À}Žç™5
+ÛW7©Úd»EHˆ|¤Ì½¨Éñ«À‚)4$Ð$ M©Žè“\ë4…!JÜZNÃÐÓ#Oræ.GÍEœGeÅB:RüÚ›pfµËTÚˆÔ‡ŠMqŠÒ´ÆÚ¦C$#Ô6`hJ5!@˜Fx¥3]©þñ¿GÕL°`{8N±0ÚšˆJntA9¾øÀh#J²®–.ZU¢fæj,!nj6eə֨`{4 ý’æ”]wjr©-áw Ryù×@÷k:CR–3«]Äø¢À߆]”n€wròE&Ú9½¨×ð£ô4É,1Âw!ËИ$¯Ûm8¬xYiJԍ‡ê=“Áà2¢.Jâ•«(O2"saì7Š?61ÓŸ¤Ä
+ÄüFy’‘ѯ÷Lg¬žH5Þ+(%¨èXQöR¦€
+X+?Î|„ð?½~±ïh¹ÐZ
+ ¯«4
+ÝëNÉ[8Ÿ²†pYÍ(òl»Qd
+Á«wI °ðmpï³”}ôÚOt™2'ŒQ,FÓšÍ$“¦aWbk£„­Z“VòD¢æ‘—»•k
+éöÞ@¢†‰e/€²biÜÆD%ÝÒTÆS-<b®T]+i8±¹œ$"õDŸ_¤(‘¾
+D/Û!ÐÅŸ¢K¼6§~j@›éeÝãöS{RkŸÂõcw:FŽAù[‹2'&GÄAG.h^( 77)9ò2¡R:à£BŒ£4ˆKBŠ¼	¤ã€§K"O®2Vê#uÈ"´`vFŽ‹":Ðsb¯E²ˆ¾$éÕOšeà¯Ì.Z´äFïz!‘à¡jÉú(1=lQ‹U|§7	±ôDC´¿àÜ`NÊÙ¨Æ`/Ï+f
+VZŒ:Bþp†¢b?Înû²Å­”6bâÖ'`Y¸3×ð@k
+#Q»† Ë{œeÒÒ²Tš‰5peèQâÆÜÖ’Â_²«Ë&2š2k3@ÅU##ò–—VÓÊCÒŒî™1hÞ–[w/i~„† QPc
+Îú@Üù
+¸ÿ˜®ô¾”@¦¦™°zN˜™ v_ûáô“0õ\Àz`üËÙùâUÀuÍ©wˆ†e,¢ARÓ¦¦dMÜ „nPÍÖ®ˆâñÞÑŒO¥˜mØ܏ƒ˜\çÊH¨‰$«æ
+ÀD,ÍÃÅӐ%_Ý.ßGï#Q
+“¶äŽK$À(;d±ˆBÏg…™Ð& IK¡P6*%´»ŠoE¸_1Þ8¨<›¢„¦‚n¹PŠKF£K‰’@cpÞ*¤Pxƒ†ã.A³œ&j/ë"L«d¥ˆ³;5ˆ±G·3ËÚ²Rq~ˆÃŒ‰ì4†šÛ+bm(#ÿ ØQ¤_ΖŽ9o_¼ýþ8ýá¹xöãÏ_½õã-õìÇ7}õÃwMñüÕ»÷o_}û¾¢‚ßÿøüÕËWÏNñ.V[]E¯‘òú)|Ä’qrc(ˆ€h2 ”H,¼Ë0E›Ôíð&õv¦¤²Hí4l³¤ÿ/éá.+e3W¬ÅŽZ+‡²´9Ïm±Å¸ 4±‘Z3ßØn5^8$QÑo¾0ÑóðrZÆJÄhƼÉņA¦±th².`ªtµ”h ¥Ïú%Z]Ƭ 29!I3‰Èl¯¯ô¾!ª dصÄ×	g‹Æ¶5kl1¸IA¥‚6"î\ÔÝ6ñÀe ­Òý‰£Ùªjïn4ÙTÚdh¶ð(fV­>ÉÊ7^å
+i:@¶¼1¯ó°T¡˜6ÙBí-¼²…ij…zhd8—G&Ë6Šš?¸¬ÂKÍRí–º¥Î2ŸÅ‚²çŠë`S&³žÆúç‘­Ç Xy(‡DÆïÀ	Ϧ	!ÄÖŸ€R€p‡¦¦i‚¯ih¨è)ÏÄR’, ^‡åņ=žÖ6.èƻ̻¡´^š>ƒ6eÒŒömVŠÇš€S!´Q*sW~®02l½¤
+Á3v7Û®L=5´ÙÐ~£½&ÐöÙ3llM-€ÙÓ„ÙI’ÄG(ºsâǵ™›ŒÈ¸§ÊS ‰LØ£ïzOã(l“£	4p'`‚lè=§ÈÙºÉ)²`¶ÕF
+Ñô=‹Oå ¤.VH9e>#.Çl="imš&èq!
+Z—Jý™i° ¶‰X¯³Êþ¤&xY<9w¦édÊZzƒ6mNÖ#ÓŠ")ƒQȆ"²ù)YõD¶AŠsꎷð²X¾ç)Õ ´be2)#XD(Œ3e2¾Ý"E]—w)ÞnҝàÚÔfCÁ‡ÖϼÉÉ:†uÛåÑÿï´Ø6¢Ãbna›I£½$çQñ9ƒ;	šÒó1 D©Y^æéAðN@Ž¦IÀà ’G“Ñž¨puœ?ÙJÕhV)‹o*¶ªfãŽ?f1P›IÅG)'H| ©ÌNäjJ™!À”ÅüId¡Ê&Ê4ˆskdM€h)Û-eÈ…§}f–„\Xìƒ0†ÝÉùU‚fµ˜4jw÷Õ$l¸R­ä#ð•ÛØ‹µhÍ”S~RŽ,"D^zŒÔn†'ʘMMòÄâjôÐ,I±Ž†béù”äÛ1·,„¾¶­ò+@iç橯âµU'"Þ©ÙuÎ6xùØá†ÏXJ
+9P³H¤%qV	ŸÙªÍ@*d0Rº}AhqåávæbK
+3¦[Dâ+CË B"¢’Ú “‘:í¤Õò¬¦´ºâáŽ`ÔT¥Ô8ÜÊq°®gs:–¸”¨ç!…7ÀX‰l›íT1K£ˆ•'R2¤WCð¶Ñ“hí¸>ÝR£x¶ƒÆ K̲®ÉF̤(¥a”ŒÇ›L'|˜o€«äÂŒ(r#95Ž¦ÍÖœ„ˆÏ(HEûB.ÏÕ¡
+]‡#÷ÐJt}D>“b‰«œÃ”þó:¸Ù吟<–®Ê÷‘+0àÁ´8zÒn‘§Ñ•ÌiÁ$ƒH37>Àô¢°&®,×h6À˜Ç@c˜>9ÅÃ@¿È4&×H,Ǥª È˜7šj
+·rvkyˆµY–d´kÿ9¥Ð(‚æAæe:ÒÜŽ-³0A4/ìð5…ž(sU®ž(ï÷x7âÌãé¢÷‘B浕*¼*VÞ1hccã×4±„óš´VÚÖRV'8Òþµyëæ+#	ƒƒš@ä[V‹V:bµ‡f5f45®8Sž@!"óþ&rÃG(Â{š‚’Ú©èÈ£*,«•yM›Ö…l–…Ö(	%·¸°bX8Auiv€Û-ßc š2Q›Æ¦Œ§ˆ‰DH@¸Œ8&,›'z>Ìð/õ®³øy”¤Ð5Mqü
+Uhä+°­Ò4ëdg
+•OwÍ›ÊêbÉÚ´RÊÔª9^A=Ï\Αv+‰ÍBJSR*x¢2O«¥×Ž
+ꦩ˜Á”((‰Mø@’™¦Ë3ÔÂÐĆÂÑy$.QhP Å{¨Ø´ÂñøHLj¶ ÅÔ¸ÚÌDB–,B‚sBqÎC1Ê»ÐN¶×‡$OX¥sm™W]‘šÚ ­<fk™Ž³°õ˜*`Û^%T€Ùôp¡ñ¯Jâ€9¿¢{ð|Ž˜£éÙ9;C(éfµ¦Jó ×tEC’QqK+Èsžmü툋(˜ŽÙád "§ Eìù±Ñ–a¬ kt¬ú³þ‡«xq/“뀊£å
+V<S:ÇçÚ0ÖZ¼_ÉñJ’.±oŒœsÇõ^gνˆ#›Ð/a8§ upyÑíû,tÅ*3wôUž
+{&ù^Ð2A²K(/­Ã°$1˜4‹Z¢[²Ì%Úº,ái+;ѯxRºq=4+Œ­µ-Äs&,n„WÚq¡"EC6¦ È2ý¨¼ÐÜt1tx@h­—¦~Kò
+T[i\\"YÎ9£i4ðl€ö%±AêSÞŒ¥¦Øê5(UšŸ¨Ã¸7ÐÑ„wš’³Õ“Lqm¥œ0µà(PWLÚÂüÞ|­¹¸ña¬gq#ïíFi€ef­¦t·ÉÞÍQZ:
+13J’æÔ˜­æ$˜Ý†Ó¤íT);®ŠLiøV‡QäÝ(æÀ<
+Æ£Ó0”;Àã=–2=_ÅD543›ozž5@¤y
+EÏ\h);±¯„Èï²Èb4uYªlÃ"Ñ·Á¦±ãhPå%u“orPÑPñ3V„Ç„âišZ(g]8I2¹h“çÌwZN")‚ƒ¯©ŸŒ|eƒ±„6äkEáÆ®:®\e¶–•™ÒÆIvzk@º‘¼}Á
+A¯ß§yT7n‰0*ÄdXZ¼&mFÐÁ°g<-oò2/²À!ú'(L¬ŽtõvÎ	Gv¢D{ª½O¯3ïÓ;²ß58ŠÄÇÝꨃٴEkxžópO52‚žc}œÏ8MŽë˜?Þ8|oé˜Öî¶î¿,EÅ’bEz˜5SËS´Ál7•L¥tÚªA6ò.={8h®À3ÃpÛjhÒ5 û„T";mÞâ%­µèbQ‘IsáGOÆÅÓ:ð
+kc
+`SCCÎ&ò9iܦ
+Ú–Æ”ј-…ý˜7y2Ƶ™íVW¡›©AHÏÎ-à>!ËU˜j}‘½/¤MÙ;¹ipÀ³©á'Úîää#¥Ř ó0»<•Í#z<£Oh:JÁZ6U8—š¸²<´#†yÈ>‚“’îÖ£–†®»DtƒÖ®p;±=W¹Q&ˆdL~Ǎ£Äzà‡  ÙÈ<t[¨(à3Ò*HUÁ ž¥çÛFqÌÙyÀ
+fÚn€¢ÊÃëÅŽŽV³w”ú^dX›÷”¡ báy]
+ÛQ“KŽheå©M÷ØCõ#	$Ù,.÷²ÐÔöÞ"O™‰÷sl¥ƒVãh¾œ5ec'@ÃiÕDš
+
+YÊx–fÎ…ßœÐÍ<E>Á(Í"ê ˜”"‘®œØ
+FšPF]cìæã^J ̪´YEÍa$±b0öìgPÚfY
+TPÒÒš2[ÎÏ#ß-£³Åà`Â|¤GÁÉr‰LÕ]ò$Ž·GIÍg cˆËáôŒŽÙ•è™ëÁt(Z¡T™&g/VhX>8â7§Ù	ÐÚÆCÃα˜FAé2ãRf´j§
+‘ÐCjxS–ߍÉç' ”]%%W‘­x*ç2Í¥äRÒp73G¬yçc¢ëBFu­ S@’BâSàX}3/Š+Æ-Ág2—Ä©è³µX ÖSÍy¢}išYx¶¶kW ø¸DK‰^l3
+1S? &ªÕ‚mò¢•é_NXbRB­·p³¥	gDÚ(ZQ›|ªx†œ”nfЭð	ëЇîÄ°ô™‹Î£-µbͲ•Qô‘A"e>0jyʱa‡À¡mÏœÏ9—™_›Le:r QN$^Ej&ǹ’‡x˜-a%
+Ŧ!
+ê>²hçÁdQ…fV·Ì÷ÈGö…@bZFÊ\¸¹Kœ„ŸŒs1ÕƉj
+˜"iL3Y=äÖ¡¢Îx(ˆVmJS˜³?–Ê·d“7s)@ÔAßlC´‚†vPµ2ÖÇ:D’MûN)NÂ4—É8dxHs¢·9“¤Ð;sá Ê`þˆ+mPœphbPü‘ñt.¨0á8iŠ**¯ÔšŸ(ß”
+4Ù!j“’Èl2Ë–ZdÈQ:8–Ë܏³–cäz7(ݾ:˜Â[|ó)®¤ƒ²$ë3y¤u3Å™(mA¹Ní)–{hà4µÁ±@ʽ	J0†Åê­ª]“¤±k6Ñn[ÍÉù8+] Š˜-²NPüY
+öâϵLð´
+“7@©²U¨¡ËmL>ÀÄ˦!dªT{ :["kѝDqfx¢ƒaº>m ‚5íd=
+ 
+s[Á2œäC²ª´Ù,TÎfæ‡nb:”›²kÔDCc>7݈%“dMomÓBŒ‚¼ŒöO¬^ó!µÙÈáŸÒ½lþGqÿHM­ñ_7áÉ!L“Ϲ[Õ¶0DƒCï`
+ÙäŠpÙÎväØùù=ÆÀó‰Ðo)ú£þ(ãPJCébÛ¨N…@ox§â° r™ é’)e>R]¥TmsLþ¯Í&Ǭž£ñÛ?ÉYÈ8µª›>&©‘;\Œv?	GÉ¡‘‰¢–•÷PµáäHPqÖƺd
+€Ý.!¨Ìóh€Cž6ŒâY¤x¦Fœ)í2¬2ó䝏¬ðìg–e¶fÁî|3!:_.fŠ
+4aí¯v8Í+#Øg$Ôàc´S‘mSVgµ†Ÿ’Æ“h˜q wv¼¶¬ä—ìL©gÕ(
+PSíÛàñUp"*Ð
+“¥DÅ=”¬á^¤¥êËhdmÔ#¥ç…”DKI÷ q¦2¬	Ø~.Ô=s×høå73Òg—´³k9(¯!gAHßÍVì*g©f†'Š2¹R[Ùü´è	¯Œâ¢l$ò8C‡z0âÚW[ÆìGÜ„€lbo`Ks9Èv
+ã(º¡XænbÂ)sò“$mœ^3çF•9Äbҍ䆊ñìÁU†,Èy%-*˜5†jß²CàGÒ˜á0‚N."_á+É}Ν"ú(&®3Yäœ-*ëBõ
+—Ò~Tò	TÙåÖÄl:oq9Üå63%@'æðM$Ðx=2b*Z¦$¢ ÀÑDHèÐ0©f>¢£%=ä%ÕÁ'†ã£WÎ¥õ)ø{}ô`Ñ	²rBä™4ºìÉ€çÚÏ0쑉xþð”Ò×f¯Z_Ó¤äš4‡½ßb:÷uîýÔUM
+ÆRžO>€ixŶÚ9Cz!ÒyKEYÎdÛlJ€†
+™JõÃý;*|µè­÷0Ù{Gt
+ŸUN)ñˆÍð 0TÒŽN»%èp	)a?<ϧº`ʹ|…-¤°?!³¹u’ž]öæè1¾á¬'żÖVùôÚ»ÛžÌi”Ki‘‡_KäH˜?æd˜f`Ó¹¡¼œ²0l
+£ï[fj at 8P9§#­F~W©¬+ìK͸Ú/Ç»QqzË㨎*Û^W:h9JÆà/òä»ú´*`Z*þ1õÎH˜ã£
+V,
+g"høáÕ©Ôò2OT‡~·pìtʃ	‚Êb Ûw*“ífÃÂJò,	/•¶´5zx¥FEÊ`àæ,—>c…d|;sˆ²ð§M&º‹Âži²y›÷vx	Ê…” JëX³ëfY]”LiTúèûQªOض’Ãä9¬Ì™
+ƒÎHvÃXÏ 	$/e¾oUS^”Ò"¢€ª‘sÆVt(dºUι£³R4ô»¤„!äwâqtåéŸKµözùÈ$CŽÂýLL-P#Æ™€$:4¿Òó˜œu0ž"Q"ò^©kˆ0*
+^卭Úæ{TýgìÉQŒL̯Ñ"Ï>†•UøЭð9øzΗŸ³ÅÓ-„¼1%Ç Òºb̆ÕË:„ÎoèI—vóvÖ7ŠðâN»T&ZY¢R8¨¨pøýU.BPÇóV„ÂÒLæ_¼íÕ´”52¶t9‰'ÙúNÑ…:	•
+-dóÏùò±5¸äq¾s}¦7ÁÙY#Ô‡˜§Òaª³XµhN•gé
+ì5Vú±Žm`¢$*E
+=eyP:pI˜ÿžPO[“à‚† ÆFKÁ¶fª£z1¹”ðÔ¼ˆ)JË>:i©
+íDºÔè|653R„ÂÊÞb‡(«Ð_uFûX	õÓ‰9èB§Nw½(dø«„x°Ë)äK$ç„2(»Ïåh3cÕãˈ‘$Ÿ56gJTܐ	19Ë($5¿kl,¥Ð7(öèDI—*,``œla(ËÜŠ9k’V{tº-íW*žqÛ¥Ô(åó]‰uöãïtæÊDIv	eÇ^	ù‡W™kŠ**£+ÓèL:)FªHƒüQ¯
+ž¼¤Hv!©e¾Ë}&#º’üù¹)Z+¯)b3•fC;ArUsIBùLÞ —Y¦Ó¤ÁHïÿgïZ·ÓF’ð=E6gÇÎäKâÜ03d[;ˆ$œp6»¶l°Í	 Ž„“xϾÐ>ǼØÔ¥»%qIìà°{f­6’º«[Õ·ªêꯂG³ÈÔ„þpÌž&dÒUD4‚KCY‘å^”RXЬ»%rxYŠIfyð,îÐ9nóqÿ³!ÞÉ,ôè,’P¸ÅaÿK™
+PSRAE`¡à?@/ÐA<ЈTjïAiè…õä#þ‚ ‹0PMÜ|6›ŠÐ˜Yì›
+ý‘v|IäNMýÒí3¤–„¦¾OÇÏݦ۬ZÞ•æ$!•\ä×Rš13^ ¼àæ\d³ r ú ›Ä<Pª–­³R ^êXƒÞ‰•C[®¨\8ãkqpæ¾=sƒýuE¨…ž<+R/˜Ð”¨¯’ð)œ;ׂÅïg%%<*G×Ìè á=™?y
+©Rðž¡„OäFð¬P=^°õƒˆŸ¹8)¼Z(°HæS=[
+ŠzMЫgvÒ“(Ë‘Œç²ã}æcÿ8Ô^´>Ñ~QŒQjà’–hÈ9€Ðó{i]Ð8xцÆ%ÁøSyßnðò§&¶NßÌ%I;&Zá"­ÑãV'al‘ÿ†\Tt–+žU†(NJ˜áfKG¢éìyITšÝñ9¢áV=Ûë
+×W€uqà9ŽhˆÚ‘í:Lç9˜¢Ù2-‚ÇÈ€T-ºwÞN3mÇ;vƒ ¨U»Ân·¸]m at rû]ÉpÞלv Þ9MÑBêï\¨ŽؘÞmŠwž¸ÍC¢‡ž{xˆ£V£îx„Óaµ<ƒ2r4#Çm¯uâÖóßdÚ>ÔÚÔ–tÝáÛìf×øÍmÖÂq‰ó¾í!NH]À‡¹ÇPa^ºÍZ£S'*Ph¶ É‚qƐiu¬П
+Ę!Ëâ0i&â ~{®ÿ›€/|}Û±5!`.Ð8¶›5j'¬E¦ñsE·ÕÁ
+øîF=Çd”#ê΁SÜh]H	ÅøcÇ`~û1¨ÑM§õÅ\¾ã¸5âƒç´mׄŽâyH¥Õä•r¯„Î9Á.Ði"ð
+¤ہïYА†}
+™	Y
+Õîï\(ãaÍ6~²À‹´ñ»ÐZâØî2$K×àîÅjÌ–|¯ –¦Ó®¶U|MÕ‚Š Cl¢º}l:~¦PÑF¦ ü¶Ssñ¼‡®mÝ€êµ¢·lEx ‰š)`?ä&8±¯5U²å°Ô͹‘–=ßÿD£åSg«Û-¨Æð¿ê@jÃsšÀ/Nv­Öñ`ha
+̵ñ;0ØÜ&7
+v Ì®W×ã	ùlØn£ã©>¦9%·€…H’úZÚ ~ë €qàl¨÷Àð;µ#ÙzH4ÛpGÐU’Ùõ—F—cÁw%OàR0$i^#|zø>J¿ º‡–=}!0l$lÒOِ, »8ë6Aði¨@éÖJVXªãc<"›x–û¶reÜ®djä`Ù”XF²ám’#̏äIœÁtfö'e«¯°ôçbþ¥¨ëÒ@ÈÈÏh
+BeEj\(fŒ&s`2h(-ð9ªqÈУ…e;Fß@ÒÛT€µúx˜*¤€hS¡Ü Nå2}^+š#k‘„—¨l¡ sTbXLyw‰
+åF7yó’™òeÀT
+º•ûÓ @(˜<‘"Ù@r *—’¾aj!Ä$‡c©˜N"ÒÂè`ï[)ÌS¹u†Ç‚Qì[lelTÊŸuM*ÈŠD"IŸC·¼ h„ì‹Ì@~ÏQ!Zù0ety©@	De
+µ*\®Ä;Õúç½ÂK²Û†BѾw`Iéxµ8¸ä]¢JoD–¼C(ÉÅœ¸g$GÞ(])|#‘X-\#ÂîW9°jÀÄ|{f¥œ½K˜D¢óýqgè‹Z­„Ǘ櫱¸æ…€\%;^üÆÑøÅhÖÂ* „A†Cä2ŽxëÔ¹°^Ñ-$ÜP',õz©*úñ&6&í¿&¨Ê
+Ùä=&,w:à.積&Å 1µgmÖ;O¹Tâüx$ñ.CÜqaé,Œ{vOèF·QïÝ÷˜£81ßê‚“>­ Í`}r‡’þjxœÄÑùÏ0¶RW
+¬àg	×ûq'›Ú/ŠøÖAxÀÐh$ŽÂ‹ý˜:]™=ÔðÔô®àæ®h\)ˆmXžãÁ£ÓláÂ/
+#%(<‡èjhݧ?k8}fÙ~2Œ?AÁ%ñŸTð·äú‡Ç»[;/æãÿí>ÆZSü7Œýv&×Æ	h» ÏîŸM‡¡˜Â”YÔ‹_å¯ÛâßMfbý³ôôÃÆß·Š¯þAž~(eo6ŸX¶­+óÌPNë®·_í¸º•yâïŸ-Ž×[
+îÌ}ì
+bQœˆ')
+£4§PT—•y,Êeá´Œò/x#¿iß„žn
+Ä8Fóñ¾éú­âË—Ï_·MñKÅ(Kùô ‘ S™7e‹Ãëäf4‚)«Â±[ѽ3=z6
+ǃɍIJ“s[ÙR9 ³´ÑU‡íFÙRwð¢×g¼<È·‹BC‡*Ð{@ b@þ»$ó«báÁÕ|½’Ciƒ˜œ€1’Aði×ÝÿÉCu¬î™H"4hÖ¬÷tƒ,׌£’2ëÎ:õ5Çs½¦qHG§¬ÌÑú¤ë7¬ú1Z/b$fï–tG[Òˆ&Ñ0ºº-߬<ãÊèêC±â¥ÙÌ=	·etü­pˆàäê¢lÑ=½áfÏGÖ­ïÑ‹hXùVtá²Åé(Ƭ€¬ß+[ô+dåj”½MP¦.Ëc”VvÍ
+ÎÙ»eKÝâ+DÚªìlm½(nmw·€ø€–D<[IÈçúÞT=©©O<Q1ÞˆªÈà‘ŸJÆ»–AZ-ø¼µŽ}&=?Á;‘…´IÒ½?¿¹yõjïùë¾£Ü Fè
+Q0Eݧ#‡’Ò¤oà&e
+—	g…ç•}sòñÊÄJî›W}3;ªwÌJÛ±=ì*“
+wÌ\VSHÅÀɃÓ^Ff
+òã-šŸ¬'ðŒÏLOwO(Õ(üe ¶¿ólžVÏ\1i:å©Îظèñ¯7!;Ó7x$ŠÞå‚	‘Ÿä¨Xéœò§l¯•ä?Ö•×"ÿ‰gÛÛsòßîÖ£ü·Fù¤¿RFè
+r"§…§¥éÕ¿åíW^ÛÔÒ†«Ùkë:õ­ëétÒ³>]G4[ù”ÎJEô‰¤_4_õ¢‹ä ŽA¡›Tj1¦w at s4´žrÁƒáÍ'+âRn5L¿«x‹ÈÏöûÿ×/³*ü°2¾1þ_ì˜ύ±÷lwïqü¯ãúºNÔ	Š/Yú©Þªݶ£µ¿ëα0qô½¶hh•&דҸ?µzÓžšMŠ¬6-V§±8óôùÔ¬¬R°v]ê¿ Jý/jR¿ÿg½ªÔ¬.µ\•ÚYªJí€6•Q¥–iëßR²Š¢JêÏÞËöA£H5Œh¢àK¡/Iô›´¡(._TÞ½m½×3ž3œ«nŧ·"úѽ~ 76—*XùØõ&¬•&fZôÚ}S®7Óu¡ÒBë<kKIbZ«QJ¦·ÀŒë~ºµY¶Ì=(a²H?×öÅít’ ŸL×Zn¦ý}h}h¢]zݸ)† „ÃÓ¹6Íþ¡;½kCžâ’·ÖÂçZs=UÀ&]OI«r1“
+ØÉéø>»Ó#Žô—$õàÕŒã(NV$ò9<ô§IÁlՏ›F½W¼ï'£æ£ä«Ú¿§ŒŒv¼ ?”åùÓ:X\©ÌbeW"¤ò´çW›‡(V” ´„úP-'‚o¡Ááo
+­Õ0\¬J
+žé×
+4<Ç®;‹zhË3ÏmšÝ›‚´ß;_jaºVm‘ä¬Ëlÿ³ý£vÿx=^×ãµüú  ÿÿ 'ß(Á X 
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/PEAR/XML_Util-1.2.1.tgz
===================================================================
--- trunk/plugins/coclico/forumml/PEAR/XML_Util-1.2.1.tgz	                        (rev 0)
+++ trunk/plugins/coclico/forumml/PEAR/XML_Util-1.2.1.tgz	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,127 @@
+‹     ì}ÝzÉ’à\óÙ´O>ˆ’%ÙXÂ63²¤d··íÖWT%¢Æ@ÑT!Y}ÜÏ2{±Wû û³±—û{5‘™U•õÅŸeõ_·U™?™9QÔÏÊ5Í}
+ÿe[Ÿb¡P«TÈ¿RÜ­ä¿ø)×
+å*)Âg·°[­ÔváY­R­’yülÿsðzžÜЩ©ãÃd1WH:V
+M_&/»¯vêÉçG‰ƒ	—"þN¥»¹RÒm¡„-@›có09°¬É~>?¡Ê47Lrcjå5KË‹Fvܲû–b~žSƒ½Þ)ºå¿˜ºSúöö6w[ÎÓë|©P(æy{ÚQt¤ìècÓRÆ*…Z¦¾o²‡§†ªXÕ…À˜|.,•ûbjsKJäÆ-‡m&ä`¬ŒètuiéÃ<û	Õ2Óá‘ÜÆAÞ~
+ÌÙh¤Lï°*™AUݺ#êP1̓¼ý
+JiÔT§úÙqÔ¡Cªâ7bôɈZC3‰5P,¢L)<³è˜Œ)Õ¨FnðýÖ˜~!!·º5 F3ÔÙˆŽ-3GÈ«Ù˜µ¥0ÀúXÎ Q§x• „bYS½7³(ê¦e’þÔ¨©rgfEAŽ‹¥\ÓhJsž!<ä…I”±FFÆ”æò25@ܐ*ü<<ÌÔÏäålzM‘	‚‘ä`fÒé‘bÆÊ×yöƒ èCûù‡Ãü1P€¾ztG¡1ñ`æPðŽE'Ð7Är¤k–<¦i€³§zÇ2Œ¡ÀØ…? Ã‰hÁ:Qnèé”¾þÙ^ÃwðìéÊ}€€ÐKôb}§XÚ)ìB¿àxaé µ¸·_)îyöÕÁÚž‚*&”Ê•rŃ¼ý“èì1ÔįÓ­y ã¼Ç¤ÜÓ>Ò`;ös»!¹öÁPWéؤd6uUŒ1GÆlªR¦fD3ß3µñ#yô²sBNù»ÆEÍ£Wú:/g×äÇbe·VØgßõ1¹¦Ö‰¡vï&ô„2!OgȯBú¾ö'†9ÑM}ø	zŽµ…À[8ØMš>%= é»á~&aˆ$Ù9LæQ•@±¾>¤áåFZÔÂa²PëÕjµRo¯Ø+*•ZîöªÅb¹_ÞÕ*»¥jßn‘~QF“!0@|A”$Scï@$I>.ÄÝÝrµº[(©{´^+jå¾ZPªåb*µú¥4
+biu¥_PûýÂ^©\Rjji·Z/”{½r­T,«š¶gƒN[f¾1vñ‹ß,Cc¹P¯9ZµÞÛ-ªZ¥_¯ V~–JÅš þûR1uõ
+Äóqn­½Ò+¿Ûïõ{Å^¯Ô/÷kåíi@»ÚÓ"¡Û
+Úìø:¾^M­”
+¥~±Rh¯VRª=uW«Ö”]uw·¢Fa¡á21is4±îº0¬Å
+µ¾Û×”½J_ë÷v•ÝzO©WööêZ–êýJ5	œŽèñ‰b)>I®ƒ…Z,ëÐu`G­V-«Õ=µ^ÜÛ­@,ªõX#œe×A §ìVµô~¿ÐïÅTPw‹ýrOÕŠýZ…öJóhŽµæ®‹ƒ¢íÖký^­¾K‹”* ¹¾WPv+¥ÊnaOÝÝ›CÇR¦Ö°¨B§—©¦h´§(åJ¹ªÖi
+4ƒRV೧ÎÇÄq­!QÚÝ+iJAÛS« 8A+Õúî^±T(îô…À_ÉÔ@‹i,êÅÝz½¤”^¹Lk…~ÐØ-Öw+Š¶·xEa:m­Õ=µ¸Wª)•z]i¨LUÐRµ^_íjJµ ÌAä—ÑpCH(»%Ë‚V­ªÅJ…Òï+õòžR…ÿ*‘ÜÐÍwh žÁËuÀ—¥\èïªj­¿ÛSËZ½_ªîÖ`¦•^$ø©¢ƒŠœNé:Ðim·= QÜÝ­ªªªUK=­ZÜ«B”h4t:**(K·tºž††©æà¸R*—÷jÊ^¿PØ+V5­Ô£À˜hÐÜ
+J¯ &I¹R©•U…ÖUu¯P¦{…]Lëz¿O£P0'`Aþ<1èëtmI 6€5…~M­iý*­+j¯X£ÅB½ †a1»¾ªìUkÍ•"Ƚ¬õ+äM+î–kŠV+¥Ji©µZÞ+­uŒ’ZFš–YM­×T¥ªVêýj¡\«ƒÃiCEX6Ãð+ƒ¾zãûB™/y˜|!üƒIb‡Iñ~€Î‚ÊÂÛÖÇ}ÃÁ5È2“:h2ß@2´Á_?@£cU§¦p4~ŸéSªñÚ€@g¤*¹2:+ø•·m¿>@¯]0ƒ»\¢F1u<5èÀÆö—lïnS‚ëÕAEO)ô4ÑMöXÿˆqÅ®éиö¸R¬]ÉU›ë¬…¹kÄã°ŸË6ßiuÛˆÏq#Ñ®'Ù¼WG¶ãׯ³“û…ïŒû…ݝRí›pÿ˜	«Fl –AÎè-‘ª‘t›þ}S®—jï?e
+
+CY
+A]EÌ™nQ¢\+8Ú7Ò¸h9Q0§V¢s«[ê ¡LÜÀ9¹)IEx»6ÌòÞ>y«›&½~yÓ}{J(:2,¨…ÍØî+Útz÷)!Ij×}'(‹Ñ¯Vç|§^¯î퉎1:JŒñðˆ˜LŒ©õœÂ.ZRƒ8Iì“”™NÁ›!Ç'nƒ˜tªÃÜõ‡\M ³³CÒÖ @õõ/DÓaœŠx‡MQÜo˜¼)ÅÌÚÂÜ>Þ 6éQK	k?'ËÅÒ£,?ÊòJ²¬”6'ÊÊp2•eñ"Ž0WwJÂü(Ì+
+sñ{æBåŸT˜W“šWrš1RÖ´7ÁM	—öâÛÛ›5´ö‹íM\&¶—[ž¿xs1·çwçt9½W­÷É™ÁúθEÖÎÀ“ššÀzjâXéš6¤öªåºl.E±¹tol.·Äæ¾Ëæj¥ÊYŠ¨Ó46n‰: êgÐoƾ‚?¥Ztʵ©™Ø!:.a@ÚA‡G܏õâ^mŸ(l¾$
+£j
+­bmbàÿg —)_|&&hjìYœì@+ ºÂC\|¤Ó™u;¾ÕñÅûèø
+v|©¼õŽ‡ñã‹$
+û‚{ðŠªÆøßE–“ƒpuÙm^5Ϻ­n«Ù¹ÂiCîF·Ç|]‰¦¨*X!
+Á“løã«vóçËV»y’€öüìü¬É0q^1}Õiw[çgD1É'\™]W¶
+Q²U¸'Ù*î÷¶$[|ö
+,!’ôDÁ	¶wG:´§˜–®ŒÉK:½)ã1ë˜î ¦I“œÌÀ¤º[s8¢X^¸7–vJõ­²<8bÓŽJ.ÕÊ{k±´«…kHñâ¯ÉR6û±ÉL'i
+zf1Ô¡¡ò‰Í"Pâw{‚•ãê2Lé¥Ù|[,ÔËkwH!ªCîIÆÁ\Y ^Û$,VÊu’f™h`ªƒš£qȦ(å1c2è®)ãÏÌÃd	V˜ŸæY'Á	kÒ¾¾úx&µÐÚ¤ö4áVYÐp0»Cn;‹9~L¶œ–́1ÕÔ 9c™¦Jqh)C“„­yq°ó÷÷£°hÐ7Ìp!<'æj3’@ƒ|è¼­™	Hë}rg̸Ӎ¹Šø9„œ;ÑrÁ#júØšÚ)q1qWR9ʍ¡k¬1…61ŸÎS—‹f£B,ÓÁ£c°{ÔÎyö	ÅæÖ`±ŒT{öÛo­°€Råq˜=³¿Æ0«†ûÜâÅ·ŸÇÊh/ŽØ®4À˜KͬSD at U\h,KŽ…¦Yêp&›éch·Ý⣐ynÎûuù^Œâ{ñ~ø^Ø‹±„¹ß¹º  Ì†q”š4fÓ¶.a–[0¯D2§#ušýÑ÷×å-ö…ˆÏ³‰dH€Þw•%öB˜ê̺VõÓÈh¯«>€¦›b"þ`¢˜Æ
+ƒ‰j±#âµ 3³	Ž–'ßs½þ¬„÷gåþú³¸Åþ¦ë¦¦Ê}ÍJà”ɧ9ÙKzj‡å³	)2Y*Ë?#Ææz=Uï©ò½õT±´õžòO¥q䦯ËÖRÔSºÇ	¦PÝ
+k]	eqQP)†0l ’ÙÂÞàèšüŽàö=ñº¾]1víÚˆ¤¯õ˜YŒÞâ½	o}§°†‚Ø‚üîƒ÷32n\E”Ö5YÁÐûcçv&Dpä,ðIv<ã;GEÎ災õ(ñ¸=ú/ÿ±5×Kâ͇íëÛòþÿî5öÿ×àu©R*<îÿÿ6ûÿ¡‡‰üSr£öY‡~™€! ª
+,†ži“Ã
+1zߺÕ5k€?Œ¾å¼Ú'OóXÿi‚<%M!>$Í’þ,fà)¾0q=ô-_|c@ä¾§›‰"–ÇÿQµ	l’
+3Nª¢¹ÓÖqó¬ÓÜ?ÉÝT¿€¯¥fÓ¨˜ D|Û®A‰Û[ªQ‰aÕÆ”#V5AGšx®–­¶©¦›ÜéÃ5f„?3YFÏ'bOzúX™Þ!9#3Ëí-’À_cfa+#C߀9e[é't:Ò-t'SãFGûm³Gvô
+;±Ãx:óK°¬¬²	†?ÆB˜jhP|fZ@ÆòXÓJæSx%X%š!J…i#KXnÅdž\èŒJ/j L}D§¹Hd ¨Ä™	n
+ÂiuÚ²$PìÌCç,à:‚¹=nÓíÖ{Ø´LŠKbƒ“¸ì†Ù=HÀ:ºcáèEñ`±P:ÖŒ)ˆ
+¼…ÆG0åN¹eº¨t´oD¶ЊÃê;ZH8—TEفÊ:
+Õ¥fÌåÇ4nØ`÷M«C:篺ïí&ïíów­“æ	yù^6ÉñùŇvëõ›.ys~zÒlwHãìžžuÛ­——Ýsxlt°©V'ÉÞ5Î>æ/íf§CÎÛ¤õöâ´í€vã“²¤uv|zyÒ:{%Ð9;ï¸|ÛêB±îy–ãÕ©IÎ_‘·ÍöñøÙxÙ:mu?0¯ZÝ3÷
+à5ÈE£Ým_ž6ÚL\¶/Î;M‚ô´:ǧÖÛæIp ¸¤ù®yÖ%7ÓS¹çïÏšm €i	™Ü—M@¶ñò´ÉÁµ'­vó¸‹d¹ßŽ‰€äi–t.šÇ-ø´Ü/M ªÑþEÖ@³æÏ—˜ÜÑ8%'·×@cz1w “Ž/ÛÍ·ˆ;°¤sù²Ómu/»Mòúüü„±½Ól¿U×yFNÏ;Œq—f–`²HVP­ ã yÙi1¶ÎºÍvûò³I2ÐçïC€ijŸ0^ŸŸ1šYçíØ4ü`½‘%ïß4áUÙ˸Ö@vt€{Ç]¹€fv%b±©³æëÓÖëæÙqœcCï[f:¯ø½ÆVøûÆr~ÉhÇNÜø×D[œ³¬wIëiœ¼k!þ¢<ÈC§%ć±ïøà¾=,^€Ö¥×è ‚“{dŸcÃ9óÍsÖ³_Ù“{.9~bÌ&/uF–›†^Ø¿{<LŒÄU*kIL™ØÒñ»Î>yÒÒö‰dÎeo¸»ˆ_=_¨Â¤¸·_¨î—êDä‰&ä‰Àkü™+¬ÐckÏò/ÁÀÒÌ"àŠ“¸6C†`Åã<ûËžãRžu—n^Á Î<ãmˆmkWfç¥ FÞÞ˜zÆ
+ø!ñ%3–ҍ	ÝbMÍtéØ"){§ \nÿ 7=-óbÒz•o0Õe*›‚í%3“ŸÈQ.•‘ÛH~c»øÿÇqòY"ˆ3ë±­àìMÂ	Çù§¡õŒüâÿ^[ϖľ7Ó‡š¼æ†<Âð*¤a`†löS†˜éi¦=øá	®,Fx|æW4nb€™êû×Ä-UÌRY’biÁk:£™ÕlÛ2lûjlV‹`Ô:ì‰g¥Ä¸ŠB;Ô¢c­+ôU¼¿&³èAÒ:!iÍ9ô˜n™-QÈÖÇÓ©ÙTO‘ãxKÕ“t×ÝÉçÁ¿švþ¤{öÎñ¿ÁÜE
+¹"piƒl‚btŠB
+P‚ŒIL¦ô¾¤A.ðCó”ÛBî8lûIÿxÁ²c3G>éIä¸/MÎdŠ´¢'T¢g=·äPt¹‹eß0R„u`O™¦²îez=à=kàZ)ö*ãí,й ‘9|pǼ	{žYyDìæ‹È2„s9Á5Ï”úlÞ'#HÚMù`«°¥L,É]È3®€…^Z–v
+.þq"¤ŒK;;3L-»5‚åãPx5•cÈÚcê‹9´öMëÌ×¥Vü³
+…$=6Üü…̲ûªo„~Ë%i^ƒä,ÌÎVH&‡pÜ©¶<ORÎHÊ‘Ô’À6ÆÁ,Õë1¸Þ¿³­-†o7ÜbSoïðé
+xmȐ©¥	Y€cF	´v!Zë*×+LŽ‡‚êÎ[ÜI°.Š¼•
+ÏkÈn`ŸW‹£€µ¸#EB—³Îw_³¤òejE¨zGÉ2…/Ì£ÏôŽëÿe8C›@šúÓ™nýtCÁŽÀµ±TFjM,M§ð–m}LÀx1uÇ‚ð¹Ä!"6—¹££…nn|¸ahûRR/…dË#—3ÝWì”ßû”ýSt˾÷…—>kÊæTcÕOdÃ=µ~_y÷*°“‰{ ]vßÝ5Ÿûc7ÁÓ‰6»c¦çùõ=ô—<æ×EÌ\VÁ-Òp‹TܦGNÔÀ	x¯G‰Y¤àO¤X9ôÄ"ýV©ðBÑ™×'()$ÿÈŠ"’ûDþß²ƒ8DT¾ßÙΓƸîXÍFlJýõ‹õ_ÖÍëï¸iMƒçÇï°|xHêQ‘¤I»0Úqãç‰Ø[:D
+g?Çÿ&ÿ—üòÿÈÁQ.v{ZÜ`{ö*/ÑÇsºØšZûa¤9å—'+ݝ™û#fE#u,HakõŒmb‘püϧzƒ,~¹€ÊÖ`؏qb˜þá`Mï<G
+‡…½ûF1íÍ¥†FÈÔåµ;(¼ü°EOêžUð\ÚŠ¥ø—òÏ–à4Z:J0>ÁßpÝâ«øèbqÜ{Îòûä•6‘ 6?ÿ«X¬TŠü¯Úîcþ×ÃÏÿ*=æ=æ=æ=æ=æ=æ=æÝ{þWÉM +úÀÊûÅòƒJ ‹Ž97Ê·†­:E•]Òõl\\Î]Ù¿üÉ¥x¿	‰©/ëQííçlH>D&V!,Ul¥$OÐL§X¬ó]R8¤=»òˆX¹Ç=ÑÍ=¾N$Ô³]<Õ"ÊÈŽpäVG^å›÷ -J-‹0¯%puZY[hß9	|úϳrI~²“c‰†»"§ÆÌdŽšÛ[Ó\V…„t*Øn»	VêqÓ‰ñ®¬SÂ$†Ff’¡ëâ&b#SC“š1Ët„(…ç‹0[
+5­ùùNd%¿™Yê ûX\oÊË4^{3•åŽðã•õæÕ8‘y<%¼Ê!ÔÖîÈ@Á³—¨s©{PF¤œ™RÏðä³>8?ᇄ.7’g¦ÍpÆÓó¤øµ„^²ÝÞX™
+rY`WfF±w©õü/¿Úÿ
+^y¹õû¿Én¡VðÇà‹<g¿eü—yÌoÏŸºëA	 vb=æÚÉ!Z¶Œf“æ×ɇܳ*`Î*cýP¯,†9òÓºýåØà/ѐâ 3(ÌKØ«§³1+Õ»#ƒ	úђD‡ßï0é%;³dŽˆ€Cv‚Ç+†$ò„eŠ{#ž»¥ÉïÖè(þN>ÂøŽ¾<t™£_uüü2Ž²ýjy¿°·?¸££_ÎWqøýÜý·Åé˜Y+õA.—szï¦üwÛ¿‡é×"x…ÅWñ&Ö”Þ'iQ÷
+O§S¦4
+E®Þ5۝ÖùY–$YÙd†B†üƒO‰yrseQj\iãUIa‰@&OAÄu~¹˜ˆKóüô™Ôð%tr@$'xmý^ÄždgGÎxLªw	/¢éxyÃðNn6!Úý¢[é"LUº¬=aácÖHr¦jR¬¤ˆ¥Mèg߇Íð[v°ä@¹¡üøJfš$|yõ¶Ñ:»zÛì¾9?Á·øø¬Õ•;‘knÊd¤|¦<r=3q€Œ¨8÷´ã2ð–_ÆhðÐ)Í9½û?	SK§BPWFô)/^(ËBCL,¯lùßßG®¤¦!ö¯P×ØwØ»z„¡â4	(ùWx"^t/BN᥺ô‹uÙÊ#Üöl¢éÜÒMûj>30•Â´¬Õâ¸~0f|ÑDÑÀWTÏö4¦E#t.r—Q£ :([;Ž°
+Líb±s4Qáj`èªnbíÅ´ÅŽK)êÎ[Ö¶$ÀÓé ƒo÷˜cz´ÚWXúša	ÐWW¯Z§Í«+´ÃÌA|æXnâuîk’Ƽ3ýçž6?Fhß!äʾvsÓó
+ï¶ÀPOü#à	*³±: ü
+&><ywOÙøÅìÒ/¦ÔšMÁ4tÍy6V8Ú‘7qåŽpo@‡oD4q™Q¡—R ^Ö?ç$²Åý}À-mÒaŸ‰œ³¯õÏ`P¯¡if¨$£Kk|e#ö8‚`GÍ]9ÚœhÑ€Û¸]=ÎG:E8Ïp>‡ bsšÌcµ`˜×OøÐ=•;„/¡Ö0ò
+‡?ç†Ñw’™²#@¼WÜÚ«©m6/rµí4”wÛߨÇ‘u5y(Oðz_+Ý™ìÊ3“¥*_H²Û);xpž[µ.sU(/lƒ?]ÃeŠ9^ºÄ-½OÄ]h0
+Â_ú…ª3$Ý6­’Y†ÀááCGÈ}Äû47„ÖLóyþx$Ü?EüǽÓ\™èï„ë†Ct+ñ²[ðçÿUªåÇü¿oòÙÙé6;ݝ„buú<Á{Ûa¢åóÂÎÎq»yÒêv ø"³óG'AMvû
+JâÞÛ­¡íMñT`©ý`ž‰sÞþpÕi^4Ú
+øŠñ{)	€û܇øYL+&ùײÏ[J"7ö‰¨äiG…9')×`"€JÅ@iîì4¹ B€Øe0M$æc“(抉-ÿ@¸}=°0þ[ÝõÿZ¹üÿ½·ñvIÈÃÔ(™«<_$û†‘Ä…¤dO™&³ðÇýýGŒ«'xmdÑ»&žrVÐÙ_ýãoô±&ïþځK’râ`µ’¿%íîŠVø’»¥ElÜUn„œ°‘,}HfÂ.³˜ç*Ùˆ³Pâèt0xÁwKû#ã°‰]šXG_
+&[ï]	(«¹,T7‰cÐÒÂõ:¬ÅïÕ¸Îe`;i))’®¾[5³&2Y©Õesâö eàj³ÑèŽ%›l ·ßâ!5Qø-èBDùþ.£ïÜþÄ¡âž%S¨–•ã:rs8á©_㔃ÛÚ¨•b¡¦±èŠâä¶xÀ>„ÃæŽ?ù&£6{ÄAs:ÍzH˜ìBP…ŽÈtˆC™MWä3¿_ÒàÉR”±0™°0´‡C£sÉðRÄz¶¿ô±ÇátÍwâw>ŠÙ	2Ã
+ŒRömšt
+:*Z6–¬Â8pKºµCêfè¸Àü3«T±z^ÝùÓ¢¿¥E­-œËä¶dkû%& ¹E4LWk4|YÜvÄ`WÄa#†CÊ©¥`ízxþ*Ç*ÕÆœ»¢™ƒC¼†<Jb1ó?Wü7puú*aàñŸr¥PöÇŠ…Òcüçžâ?>¨áŸ„̏þPQ	¦´ähÁ£Ü p”ë‰m ¶_Á¼p3Å»ÄÞ~ÁÌeç-Tëáã•¢A´2ñ£Ø|Rãk¶ÍalŒwœã¿Vµ6ÄBÅ 3Å*6ÊŸŸž6.:lÇ.I®ˆ‹|b‘ÔâòhEñh³èʬÛê~ÙyEWçg§6ÌX·áíñw#È#›¡¸€å‰šëˆÄQ3¡~ª’?
+{Å*»ŽWí8-Äe°ëŒuðñvsBR²ë¡Ý®PÇ>dí¿9ö_`käæ×ÿÈnµ°ÿŠëÿ÷fÿ…Üžü@
+À”,›°Ø`Lzv'ã§ÄB>|^ùáWvtã¯П>…©ºxã_ì,^1háø/ù×ÿ«¥bíqüßïø»ËöÐ#b[£^À²<2ËøH”#ÆúÎñ@$;;KØ4±Æ¿{¤ÃJ*`Áø/–výû?«µÊãø¿ßñ/ãñ U@+i’f‡™dk	l’ÕI.±ç%;Gð[BÒî™*K£aWL®äæ.fg¨'+X–8ȳ/áîîbZY}û×cú7õÿ䓏¶ÿY
+Üÿ]+Uïÿ¾_ýï9íêAÏ Ñ”ÄŸPášëbëÆVÏeÅ›ÈÄ…Æ5¢“ã°.`‘~–Íš‰² 묬§Rx¸{ÖŽ2½^MϹyüIje>yÏZÚ&×8ªÉ¨Ü–íjÎt	ɒہaRϹQ¸«
+ó¾3y-2S^†‹¿xzÝʼÏÊ—•a?,“û¹íîàïy&ô&èóÓÆ)vòjÒ%‘LÃÆLæû \t2ü·-DÑϹãËúÞ˜"¾ývÜñq†³“‘®fÛú
+lkX‹‰Ûpë²sa>üwÈOž!¸ºÿ¶Àrœ3{¶OÈ^W"º¯ä‚n²àQ Á¹æClhÞi>6¿1Ƨgæa4ÏCÀ¬3#*ˆƒ}Èäa.!çÌpÚ<'¬JçFf¶Hü¶ŽÕRsM8š¿Ý+šñ•¾{'9õ7ò°(áº+ª#d²b’òè¾›øtÕÛÿÝÿS®”+þýÿåÚcüÿ~ã?x»ÚƒûX.ÚãU‹­D·¥¨‹¦[Å¢þÐï’á7ä­ÀÊÚ(g—Ðlš‚
+ÇmÂ(ô™tþs¸¿9Í‹Ûä'ò‚á¹×º•ŒçŽD'¾yFy.} \òаYÏs÷;1=Ú!^1üÝm±1^œåqq(L\&Æu39ήV]Ç!ü]1Öú`™¾vØvÃÜßd,wÙN	†¿·NºO…´Fwmif}(ýµnØ9Ü›‹ŠéæçůdÏ("ÎVojQbi'f­øóÆPZàulIGq³¸¸æÁÝã\0×'ÂkM¯C“¿ÌÈúôéh=bšì®oâÙÐ[»ø>HŒm᮹&ò½R×Ö\s­åA‘/k8Amzmh,z\ÿ¹
+Þ6¸ñüßR©X.òç¿Þûú{ÃäC_Š dþ	 =Eó•êsÝ؉ª T|§¾&Ù-¨IéÔ¤¸Õ­RZ¢
++ §žp¼—¦ºM—·Ð4+'ç"Kw±’ägzÇ뱫4Ñ¥ÅËXù#ße¬I’q­|÷ˆ²Öœ•6­VàÆX—ûÕe‰ºOdkÛêåÐØõ¡ñ½÷3Cºî;E9p³°txV\úîTÞóU^to²{g²ïä±Yä÷¯Î¦záŒÍ’ó $A,| ã%&ƒeCƽ†ÊÔ=ÑrÛ-.l7nKþs©ƒå/ó/‘†6úsO˜/X|c]ãpcE÷¤[—a~XuOŸ•¤YïÇM\ü\Ü þ{ªWÁ§´9|²d¸ãàúU+o9)‹NŠC®‚ee“Xn¯êv»v
+ÌjÁlkºûíÅ.K&Ù¹Zê‰O³Ñ+÷F—çpë5‰Zþ ì
+S´É¼Žø}·ÌyþßœàØ«£ËÐûþ€­“»Ù\‰eyÀÎæN}¯œØhFÃj¬‰wÂ÷Ÿ
+ç¬Á¶ï{˜}“€µ¸·X)§ûTefâ=­x¢	¾’2%t:5¦àJ0‡Up×Ôòh×cá0 V
+ÑqpXw}UÒ£¸Ï÷{Qmöb¡À]Ý$»]#}hÄÅ‚üHžäòîUa
+$ÀÌ»[z1tÿÆ´k at aœ% ¹ø†µU(­•÷1/ö:ç,ŸsžpnÖ¥:žäJÌÙd2¼ñÿ}¥ú:宫м–›±Ÿ-ûð7Nwdró¡‰rÎÙI¢•‰:³u	ÇÚm‹/g±Å._˜ki0üe&†ÃE(×À¤pØgzw(âf[E-B‹oÇ£ÖOÊÄ0Ÿ™5ÄÒ$l
+éÍcíLÇ´
+â³—ïs0¯éA׺ºNÖ
+$¥¾=5±“¬þ=7ñj1©n–Ds—˜õ½¿DJV,ŽxYñPy?Qk1S~ó0å·¿S–IßzäÕ‰\6³¼ü˜Ëº0k	§8ÑA«ƒÙna†*žK‚–†KžXÚÛõ›]c³x˜ÄEÚ¤ó Ä”<¶ô¾lâÀ»`ëwLâx¤‰_¥%I~óƒ8æÄ»øÊHzL­ú+äÿÁð<1ÔîÝ„žPƇ²ÊÎÿ,íVýç?ÔjµÇûî+ÿ/´Ïj
+`bâŸ1cçVM
+ÃZxh8Ü$֍}´Ž…rˆÉ®9%—íÖ ³¸7MÈi–‰Ë˜ž|993_¶Í„‚Ɲ‡¶ò0A|;´IÁNÕÑ5^e'Ÿ‡¶áŸf£?鞐‹Æñ¿5^7I!Wdé:O æØšÞ¡}qðCó´ùl¢hšŽ(ÃÖ¸oôlOæ(µˆ_ö4½.¿+u˜„€ý@‹b
+´ä Ej×F
+þµ9·J 6îqŒß(Hüpr~ÜýpÑ$¯£°¢~	V#nó­_<£[“ØÒÚÅåËÓÖ1IΓ»¤“[8O’ã¡ÝÃÛEŽüšˆ1XŸÂM²Åóÿ/£ásœù¿TôßÿR+Tïÿ¼ÇùßÛçxîŸGȲóþ
+šÐHœ©~x6ŽÓÌòP£Ð±jhðpˆ0Ó_v_íÔW uà
+7ß‚ñþ=JúCe-d–HrcxŒgÃá\$M—…Ê7]È‚b>³ý萡ôü(¢‚Üÿa—‡‚·Q--èÎXmK•“wÔœv!
+>*äïËÿ×Íwj<SFtõ ÍÿµBÉþc­üxþã}ÍÿRŸ?Ô™?’„øs>±ûoÈ~2¥ælˆ‘ñp`Ie8(;_®î®þÈKå$øµzŸ¤uóJI‹ÊY’Bsÿª‰qéT&CþÁå	xFI¶DÖ´Ïb®ûUwŽ`úyã?1{ýIèФÞFßyšÌ%#júX`'à,ÍQçk XD3¨9NY8sM-{1fH-ðø–ãˆF¥¯ßЇƞ¹¦ÑüQçO>°N	‰ï‰ ½ö7“Œp
+Œ*¶P£è`yàèÏFt
+ Õ25³d?-Kw“.f¨ÆPØ(³±öˆj ïÂ@/ìòx¸Iy5ÌfqA'¾ëùªè&e‚¸ÆÐï­ùï®Tïÿº·ùßíó‡:ýGQ0¿?_'–U¶Ô¿ÕUóÕdð"QƒW=Ú›½™¯¼ña¯„Úfu¢´6jܹ
+w.‰„̓~"þø§“¡¢ÒæØÒ-š«)ã¿€ÿþ×êãùï÷7þ½}þ`•À<2ækM±\„b‡‰%abðâŽr õÉÌêםb¬ŽSÈœPUW†Ü!Cý3%Yr”…ºhy$1Ãä–‡ø÷?ÿG–üçÿ‚ÿÿþÿïìýþÏÔŠwQû©f´,½>˜ÅÒ3®g&ùøÄ×좫þB± Õغj¼½zyþú²³âö*'g`­€@pÏ'<YÖg"J¶œ€W¬½xlb‚¸Yܰɍà6—qWíæÏ—0¼O6Å7§Á
+â¶ùÞušÞ\7¯‹íœþ^Ûhæ¾énhðbCÀeÃŒMn¨c×À.ªCã`7ßè\8¯†e®&BçRé><„/|'‡o2
+›‹sfêè<ZYÈ×ÀoŽÊ]²Õxz<ÏÞ@(Y +€a?ý>3 ú"ó#¡ŽfXHgÜnQcË´½¤†\Š“GÛa#ŽÇ	ŸW_lJúÂZݘøý¤ÌFC,cˆ¿æCýšUºž*7TÔƒö§*èÍGíÛÆÿ(.ÙnÛÿ¯øÏÿ¬ÖJÕGÿÿÞüOŸ?\ÿkøÿ~ý¹|$`+ªqõ€—M÷0ÁâÛB¸ç€A|œ¾}ÀÀ‡Ûw0ˆÏ·û¬€å=â÷÷=b²ò–Àê1;tƒEqü€Á—~å0ÁjNþú!‡EŽš¯­"#–tÇ6%@2—à{ìA°ÝíDSnû܌ļ8!‚¸’·R``¹u°G‡ÿ^ýs2Ô­ŸíCyVL^àÿwKý?¥rñÑÿ¿'ÿ?Øç5°ˆ’øÙÀ~}jÈ'"øS?­ÙtìÉ#
+Á#ùÅZû¦u7¤æ€RA9D÷ ¼„€çvb‹¿Jgë
+vI÷d5÷øÃ`µ¸æïz´Jdfù͘÷Mî\ƒ5–ØDNµÑHxÈÃ>Ox0w9=uG4†lŒllúv}UÙ«ÖÈûŒ«ÿK•²Oÿ—ªåÇóîGÿsgÚD€üˆ2€Yçª1RÕâ7r“NÁ¬ÓÿÀ‰e>Xž²øó6MTŤd25ntâ!dà’^pC©ïæà$6*’¹]y,Ž+b‘âÛ#2 Súƒ¸‡oet|vÏm©žDÒy
+oE¾¸7. =qÀw.`uiBªì§^ú\z—üîÉþý_-¯ÿK úƒúÿñþ¿ïCÿ£¤½<kuÎwêõêÞNÃCÕø>—ÙG;•¶¬?Ô™aš·4gx×$·llÇK5ïˆÕ’Þx{,ìëoÏu¶¡Æj“±ÏEÔ?¥º WœùÖî÷øsâ}&Ñ<Æé?ó¿­'7
+cþü¿[.Wýû Âãþ¿oòáSi"ÿ”Üè£}°ò-B¿L`L[JÀÿ¦eL+Äè}ëV׬þ0ú–ójŸ<Ícý§	òÔQôð]ü$ø“/À‰C«ðþÚ>Ä$¦Fª¢Þië¸yÖiî‹ŸÇÆänª_,’V3h”wÐ* ‹âv_ÒQ#@˜êÀ´\‹ª6 at e±ª&(^pan¨–­¶©¦›üàZûÐ<:Ô´i̦*¿´¡§•éÎ#3ËÃ10Yˆ0¶2íß×Uv:n÷tçGõ³Ä8yôáиk-ü¤.[Áz#jÙÃǏŸ‰³‘@fʏϟR¶í›VzÆ
+¾¬Í<ªUÇûÛ-TúChr¡3*½¨Xu¨è#:ÍE"ƒ“™Ë X›©tkøN«Ó–f¨³¸’ŠÝƒy<è—Ý(0KVÓíÖ{Ø´LŠKbÞðË>úœ€tò”íãœI¢x nÌùšfJ4>2,6Ëå–é¢&ŸºËhÅQs‹m	Ùœ²ƒ›CQ¨¦(5c.?¦)pûoZÒ9Õ}ßh7Á$!íów­“æ	yù^6ÉñùŇvëõ›.ys~zÒlwHãìžžuÛ­——`wH²ÑÁ¦Z${×8û@À&j7;rëíÅiÚ íÆ?ºuv|zyÒ:{%Ð9;ï¸|ÛêB±îy–ãÕ©IÎ_‘·ÍöñøÙxÙ:mu?0¯ZÝ3÷
+à5ØæÝÖñåi£ÍtÁeûâ¼Ó$HßI«s|Úh½mžä €Kšïðh»Î›Æ驏Üó÷gÍ6À´„LîË& ÛxyÚäà€Zî Yî·c`" 	FfÌÃ|Á†š¿4¨FûCYÍvš?_¢QÚ8%'·×@cz1w “Ž/ÛüX>`IçòeìÚËn“¼>??alï4Ûï@Õuž‘ÓócÜe§™%É
+ª `”€â//;-ÆÂÖY·Ùn_^ð0Ï›ó÷À!À´µO¯ÏÏÍÀ,ð„°hùÁz#KÞ¿i«6²—q­ìè ÷Ž»r1 	ÌìJÄbSgÍק­×ͳã&8dž޷:Ít^ð{­"ð÷äü’ÑŽ¸ñ¯-&ˆ¶8gYï’Ö+Ò8y×BüEy‡NKˆcßñÁ}{X¼ ­K¯
+ÐA8Ñ°'bŠ!Dž‰È1”ácÊxáè¬å¦šCÐkc‹c	üf*OÅ΋÷f¾gj;vá3zK^vNÈ)ÿͲÏÑ"äø]gŸ<iiûÄ6̲7¤˜+×™[œ/óÅ2)öå}x&\jÒü2!OJãÏ\…$)¸•—xåNå|7<›jÐ?²ÏÅàèaû¤VI£}}LÓ)ׇk·ÏÛW­³wÓÖÉè‚v'•%Õ"zq[ Ðé‚:A ¥h Ò!ïòÙîsZ?;?»ê7@\á0 j…hLoÃŒeßR3¿ñ«nãõÕYãm[•9#\Æ*<åð¦ügùCKzTsÎþG¦*äø¿UqöoÕFF®JMj›
+m9zV~ž+f ¥B•
+˜h.¥¼)ÂÓR¨e!;ou´âDqî–&ñÎ<æÓ. Œa!/S솘#/bHÚ’$ãÂvÒŠ ‰R,ƒÆ—Y1\oooÑ:°FÃùÒà	œ À²ðÌ)ebrvÓÑĺC)5sp~zÚ¸è4¯`Êõ±Ïiˆñ·ô#Ûã¦î@ÓoÌ%|º«~u~vúÁÇ¥óî˜&ÓÜÓϼCÀ–Ã>³M at dIâŸdVhÓ!ULºO˜Ï¾ª¢çLuñsJã¹=,Öö-ÛMoì/D	‘=öÄF0Xx­ªõÌz@¢óÔDËÝþ™gû³±Ê­ù‰þŽ7’ΰ7ÿpî&pSÅ\1õŒ=ý3Ä>L‡zðoûÆ„™ÃpT§ ¼ÁÈ’;¼¨< X®Zàtu`7`·Þ±1jè"رɜÖÎG.r¾Èu^ŠO{+æóAR¨¹o¿~"˜?/f;÷‹Ì3żŒc4“À™™†òo>áw¬À®¨xÒ•sxévØ€3‹/Å»,;>š7‹£æY¹¥ˆðµdۏ±þã±3¼Ä_ç#~ßâz)cŠ7†+žó	Š®<ž[Ÿ@:µ=5¢VvZöe@ü*Øˆ¤ñ¨Xp½#vÄleÑ~„•›a;"zÆY0ç7¿L(­÷Abî2¹\.&xNéQç¢'§A¯ó±0 at 0v;jÁ§wÇ¥l>¤3Žž¯ÓmC%à,»0ùZF³ÃOŠòåÛ®÷+N‡lP#dÅ™'ÜŽ9$)w%'åŸOL O´BF*ÃÖrBáí'dn»ü³¦.îÒò'õSŠ°»1ØÚN*,pd¸¶BßØï‡áï“ö{¶dVâc*%PÀ¶R$c«%[|ðƯg1øàŒ²52—©EäJÔ®HõP<CÈ!ê)ûö¢Ñͺ7ðŸ~SF4mÌ°¡ó퍾œºYcÆGÊBcÆ«5bîÉ}HfM€!qÍ/g›5>.INJ®œ×z¹­Ç†Ð£!ô ¡+ÖQwWEy»'sÈwŒR”9äK˜ùK›ClÚKØüÎÌ Â…ºBÓ $C; mtÏöÐBŽ,Gð6L"ß`ú–†Qo¦Ù¥[x¹ˆæÞɲAƒåšâU_<Öèpgæ/ü2ÏÔ¼z&Å.ij'>qûÌrÓžÿ#ÒU*‹5q´Ù"êôcˆêAº²ÅŽªfE8ÓlÅÊÌ×’á}S5ÎLܪí\(Ü5:¬QPÑ–áä ‹÷Úa±dïë¤pì‡µ‡Dô“¬*yŽ½«E%~ð—~ýùD‘ïCÙ)
+J¸;t¥!ò§hš¯ãàƒ‡N»8þp(‘ð!òkÊ.úH9uÆž êÒ™Ex"[Ážmm$$nÄBÃ-Ï‘ê?'©;j¦È>I”Œ™_+˜ì8í~:Ånú›ùæ’Ø-l,†ÈÒùrlv_µ­#5Œ;"¬»	ݦªAH~µMÈŽ)qÕ`*›òܧ˜ZRí°»ÅGNaÏñ‚†ðjxw¨ýÁK\_³ŒŸ8–(ê~Ï"3½°=t?¸&!ºeÚW1žXš{-#ð€]Ëô¡}z,¤#–4ótìöB®©ˆBú1œ_ìé(!áJÇ>†živai`Ni*;cǹƒòof’ý“âPÅ[?ÙßñÆ×O’Fâ·‡ ´ØÚ_LXöÕž.˜@›áM¤Â" àK¼	àÐÎEœ3ÿf¢Ö°Ù
+Ðaäk,émŒüúqü7óãøÓQÒÓª·÷2~…Ô8|„-„˜TGM'ÇÍè³;G×è6¨{Ê…Àñp¼ðMj¾‘›ê†0HIª§L½Á·˜2½¤D1Ë)–‘
+)˜ñ#‰œbÖàábSÓq͘º]°!FÓW^ó‰iLmɾz»‡_JÓ£ ”áð.®ë¡'˜šæþB‡˜¦¡
+TE@Å#^[¨y?Ó;“¤?´CG³!®­Ã,?ô±–Š‹Y
+ë1ݧ`¤ì¨G*Ü°dŒu –eë4a2ãbdLѦSÆ1Q at sÁå2©×ú
+°…xN¢.bÉœ<ñH“‡WÌÞqÈq%fx‡Ü x—….¢UÂï!²é`Ut¬
+~â
+ÔZ‘®Íºæǹ懃‚*Ú띬à ÏØï',¥!¬ïœ¦,C30ßǸz	Õ‰ekù6=ÚÍŸƒ±Àvæšïy³YyŒr³Zv›Ä„é¬<(Iòã8™•$5"˜å·zòOÝúi`ŃéP¡>]"%Bƒ†°"x:üý¯’öü(ìÓv‡$XÇùs>,¡œ# 9\õ•^
+„«Ïã“#ÕY
+–3WD€’$ Pc)@l¦‹ "ÄÖSÒ×x˜(×E‘ÂçO9X Ömd;Ö+rî€ÊŸ~"¶Y-=“G.©!~Æžê‹ØF~:øëW0/fco<ûb0˜F¨ÂbŲád’'`mðàj¤°šRCtø‡ÓHTõ`‡‡‡‘‡!D·á—»PÍó,²úŸ‘o8õó÷Ó²"’æË„
+b‹Wµ*î9f|Ï‘Ôa’ýâðsø
+6ûgLïëS3\â¿	Ø:“ŽŒ	sÑX§+|¼&öüfTW…à"M²9g¶X¹?IÏÊ|;Øô&%Ï‹Ha|™çö†®ÏŽ0ÿý€²m``í¨á™Ï$šíœ™k/âö2L{æ	Ïéy©ÌtR‚¤x-H™ŠXÖ!3éؽ~DzCfc¥7¤H¥rcèIòÓ¡”>»ft‚»É”)›Iq6±q°õŠô¦ÊØÉñÙ€6ûšÈ¹.0.|–õ­ÌEž5ªÈl
+º€…}m_F²L–?HÊמbÒôóý>8È™ç_{Ó¯€ý×>šƒ_Ó¯úèú«>žÌ¬¯º‰CáËWL›þ
+¶¢ò5h†¬Lú×ߎ>=Í|ÌüX<Ê›¡‰IðêãÇɇ-K"ÇbF—<„"]oÿ†b ÂüØ’"níW,cX104¾ÝA3ü§½š£†}@‘'…@G¾?¤_tËMæ
+Ù˜ó•8@ߍ‰ãn›ÃÐó”RxFÚþ莅Á=ž ·½x¬
+WF1P•ñá94øßØÔ5¾ädJI;5nË*KéG¨?.gÿ×ÝÏïöùs”½Këcu8c+>ÎAp™ðX–<»ôځ£ëè°ÁHÿÉ{ːArvL…âï tÉ#ÿ—í–í
+»ØÅ˨¹u•·ìózÓzô¸±"﬽J÷ì„2ùN¨¸ñd,èÑ3¬AÄRªíb‰"gºeP€yöRL$˜Ååºý×Ô2íÃ8Ü…6äQ¶È¥Mî_OX
+š¯%1Š›½t¥ÌœúòJ.ÁØÀÚ÷aÇlNì›7QþA—ÏF㨵)ÄæsãlQËßà75¤a#™Ìçó/9³¥ð…Ó»g‰,vrP˜²õFˆÂJHâ%”UÄ”î(H®u²¡KÖ 5\÷wgjNN’«¢ÜXHàHŠ1‰
+%<nyC&‚eXøWæùT¶$Ï‘â?ÐmáŒñ–q™ÄWîýZ”¯Wø×Ñ=›MesÈfnäº9Ôü5%JñÕrñ#tIL€sÏ…žñôôÙ|¨rQZ~2om~®Å€ÅDúÖñ…ȝŸõwväÚ½líðƒ¼‘À§ü`aô(·ŠŽK±Íc÷
+<éBq¦¿°Ô[&¸½áÎàòº¹¤dÁsdΦܧYD›nïø¾þ…¤íf¶ŽÂ[ÐM7[ƒë©ƒwØe¸­G"ÀœE¯Â’âæÉL¼Y;Ø‡ìüÌFB¬}¡}*é-¾oÐ:ºm“¥Õª=*òŽ£ßpèát„œc‹VR—FÀòŒEo?akNµknJ¢¹¶í¢3ŸU&O@sz?°äÄ߶™¡xN5F¾âr‡·ËRŸé¯Í¢èñ%dx:Ó­Ÿn(XBèƒ)Þ[¦­©QÀ°æ£ÛŽ7n§aŠodã"¨L伬ý¥¸ÜR5ëÏ/üvSjÍìf6³Ÿc[ fö_ÞÌö[׫& ÊX°†B’‡†0ÕOšJ=„%ùøtL˜ñÏ–8ÈÃOÀTÑMÚĘ_ÔÆ‚ØÖÙ\#þÛÛðÒBŸ×>æ«gºyÅy	¼Žˆ,JË.ÏRÙz™ïžãäŠ)Û¾`ßÂd2‘Ùl?ÈDñ©Õ!É}!]n°Ap7:nx‚éð. g$4šfødp0r¡µ¸!i¡LΟƒÊçЛL”Ì ƒU[å†ô(è\`C–eñ(~ˆû`¤dL 7¿~e¢8Òî+îÉE\ï8²#eðΘkÝ]:”e+hc“{˜+¶.Àí×Ô—Ñplî³%±É¼¶™ì¬ùWjËŸpЫÏâùWþ²ê€ªŸùáKÞà"vÙ¢/ÖÂ/£"0GÚýµP’9süC)îÚ(„èvB’fC©e>vp¬Ï#Øã
+b¨•V”e·àÉþž·Ožàlc.º¯Å+Ï!cB¾dåP4;‡é¢h¼Þ”{Ï#=)Ü‹Ø*gü}ç×ŠÄ~)÷p{r9Ðým £ÂsBˆ‹)÷@2?¼‰ÇKÐéTø–hx¬À¼1¼çb6FЊ˜%\՝é¬;º¦É¡0*Â2jlkåбWæ§\õ‰+u`F¥S˜Ð–†C:ö
+Ÿ¿—2™˜$	—%$¹[¤&ÇJ|0ÜRóšYÞà[x¼Í¿ôYôÌ!™c0Û¦¹…ž	„21!*l¶•7
+°´z¾¼)³4ëðbÑšjœ¬sv=bêÉ~@ |[ƒõ=‰Gû#Bëú£ÃÞÏÖgqãr9à´oÙë.,¬Á?÷üÑß̃¼Ø¤ÞýY?9ÙùSvfÞFS(¸0ŽÌ}j:¤#wtó‹Û(‹–¹;X¸ÉË.»ÞM²ÛZ½Þèâuܵ눕èÑñ¤-„“6MZLòF‰–ÄÐJZ9F´nˆhC¢°Á»t¬¨9ÖìÁ–ɆďBƒ,ž1ºhÉ5laõÛGY6è‡ËyÄ^|NŠs(w"]nÿÊføÂf<߇‡:ž=@³“cÓތͶ%ý÷Nöxâzò–qÉÙ	VŸ³6½=Ÿ&€]jÛ5ù{rdó>¾•#ÔÖ—$ç‰Ð”A»Œ¤Ä|†¸P¼NýEFÕ˜ü]ÙT’’—-ª•L¢å,¡9ÓWKKO^žy(þô%±CèZM˜¨äeI	ÊG|ñ@âUcôýˆÇ1G&j4Zmä–•;ÃÀþ+lÔpRCÂ[p•#–½äØzW òôî;;œóÖÇvÍ`/‹º=+Ï"ñº9@dËþ7ïeAanÙNf·¬±D÷Î#Ô×ÉÞ…s–xàOÁ]¹Ï=Ä/âŒm©ÇÅ=­3?}
+·âËZÿøé㧣<¦høîx…G@܍2@3vt9(Ì6Ë´˜¹ö>t×R7(<~¤ÕÝxÆdÊwÉ{¤ôðUa Ç>ê“ð¹×K¬[ÃVOîy™RÐ|Ù]_®°g%$LÃÎfI+Šx¸æ]Âönn™AÃ+˜å)œSÌ°²±Ê¸‰t²2	Ñg³ ¹&ø&ê¤öS!«£	´@¿L†xŽ	™>¥±ufœ/©Zýµóu>+Wü”;}#,`–DëƒìðÅ—Gëü»+.̐¹]¯¬”ò¶;?Ò½.Æ;þ'Gö“]³æ„!„=–•¬oQ
+dæF™êÆÌ	P°;Ų‡	 ?Û±³?ãH×p¯®aÐÙ†1NSÜuÆŽÏFtª«îál¦305F Øí3°ÎMÕ˜
+Œ&PÞÐà9þ ¯b³…Í
+ gA;ÆS´m°)kDÆrºñÐéß÷@Ç°¬uóö׈âš0:ŸKÚÐޝõa€à&·+–¼ ”§|²ÁŒ¶Tkìíø}¾í’7°stM­·Ð]Ê5M»pþ\å Yñ‡ÝlâžËÄÑ9{Ô¯˜ø>~.žæ«â×,ßÍÇ/bbv«›t…MâJZ&Úü
+<–ÀG-3îæÁzu«€:‚iuž8O'÷‘bEí”ûWð,$œäFN<7=yCF.(°"~ûõ×}6Xö?]}z‚æ„hý…?—K~q5€3 ¥¡ÃNxæ ëŽ¡T–Ì»*FÐ(6éi™vþTÆþ§;sŸžfžïgžG•¸beþžyŽ,K„ìθºvM&ÚÖ‰G¥…ò‘œJ,Kw“g1Žl_½épÙŒ‘Gä¹X,qˆ¡£…í9Â?…¹;Ú#ïaŽö\O|c¿£ˆÇÆ‡-^]„£kx«Ü™¶~µKã8Då:_Ìk"”Èk³ˆä^v™{Y„Zr•êZÛŽ…d‘3~g*F4ÄÔ¡M‹*ÚóˆóŒ]‰Bâ²ó ÷!ÏE6«Rÿßx¤TnÓîÚ?ñ
+ðÇ›~Ã?âj¨œ©_o
+ÆüûŸ	)ªÎýÏU(HH­\+=Þÿü->;øyÙ|Ý:#¯/H§õú¬Ñ½l7Ù󄸁kŸ¼Ï.^“›b®’Û#é×g—ùS}<û’I$ôæ‡fãeó¸Ñøðªñùs–~n_þYýýí`fþë«ú/—§ÿíúøº ß¾;}?£Så_ÿø·ªYlPóäó»?n¯gjc\*™›òÏz·sùþõÞË‘òY¿7xeö*ï‡×¥Ñ4Ájž„¡ù؍ŸÇÏãçñ³ôçÿ   ÿÿ 7l \ â 
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/README.txt
===================================================================
--- trunk/plugins/coclico/forumml/README.txt	                        (rev 0)
+++ trunk/plugins/coclico/forumml/README.txt	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,46 @@
+ForumML
+
+ForumML is a contraction of "Forum - Mailing List".
+The goal of the plugin is to add forum-like behaviors to mailing lists.
+
+ForumML is a plugin that adds a web interface to mailing list archives.
+It makes it easier to browse and search mailing lists.
+It also provides a way to post to a list from the web interface.
+In this case, Codendi uses your login email adress to post to the list.
+The actual acceptance/distribution/archival of the message still 
+depends on mailman configuration.
+
+
+==== INSTALLATION ===
+
+bin/installFF.sh should do whatever is necessary for the plugin works
+* creation of directory with good rights
+* installation of pear packages
+* config mailman
+
+==== Importing existing list archives in Codendi ====
+
+## To import ML archives of specific projects, into ForumML DB, 
+run 'mail_2_DB.php' script.
+1st argument: list name
+2nd argument: 2
+$> /usr/share/codendi/src/utils/php-launcher /usr/share/codendi/plugins/forumml/bin/mail_2_DB.php codex-support 2
+
+## To import ML archives of all Codendi projects, for which the plugin is enabled
+run 'ml_arch_2_DB.pl' script:
+$> /usr/share/codendi/plugins/forumml/bin/ml_arch_2_DB.pl
+
+
+==== Importing existing list archives in iFusionForge ====
+
+## To import ML archives of specific projects, into ForumML DB, 
+run 'mail_2_DBFF.php' script.
+1st argument: list name
+2nd argument: 2
+$> /usr/bin/php -q -d include_path=.:/etc/gforge:/usr/share/gforge:/usr/share/gforge/www/include:/usr/share/gforge/plugins forumml/bin/mail_2_DBFF.php mylistname 2
+
+## To import ML archives of all projects, for which the plugin is enabled
+run 'ml_arch_2_DBFF.pl' script:
+$> forumml/bin/ml_arch_2_DBFF.pl
+
+

Added: trunk/plugins/coclico/forumml/TODO
===================================================================
--- trunk/plugins/coclico/forumml/TODO	                        (rev 0)
+++ trunk/plugins/coclico/forumml/TODO	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,11 @@
+==== Current limitations ====
+- For HTML emails send in Text+HTML (aka multipart/alternative) we can display
+  the HTML version only because it's the first attachment we treat.
+
+==== For a future release ====
+- Refactor DB:
+-- Mime messages tables (esp. multipart/alternative)
+-- Store often used headers as table columns (date, ctype, subject, message_id)
+- Insert "Reply" form with Javascript to avoid page reload+move to anchor, which is a bit disturbing...
+- provide way to post to mailing list in the main List page.
+- extend search to message bodies (now only on subjects)

Added: trunk/plugins/coclico/forumml/bin/db-upgrade.pl
===================================================================
--- trunk/plugins/coclico/forumml/bin/db-upgrade.pl	                        (rev 0)
+++ trunk/plugins/coclico/forumml/bin/db-upgrade.pl	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,301 @@
+#!/usr/bin/perl -w
+#
+# Debian-specific script to upgrade the database between releases
+# Roland Mas <lolando at debian.org>
+
+use strict ;
+use diagnostics ;
+
+use DBI ;
+use MIME::Base64 ;
+use HTML::Entities ;
+
+use vars qw/$dbh @reqlist $query/ ;
+use vars qw/$sys_default_domain $sys_cvs_host $sys_download_host
+    $sys_shell_host $sys_users_host $sys_docs_host $sys_lists_host
+    $sys_dns1_host $sys_dns2_host $FTPINCOMING_DIR $FTPFILES_DIR
+    $sys_urlroot $sf_cache_dir $sys_name $sys_themeroot
+    $sys_news_group $sys_dbhost $sys_dbname $sys_dbuser $sys_dbpasswd
+    $sys_ldap_base_dn $sys_ldap_host $admin_login $admin_password
+    $server_admin $domain_name $newsadmin_groupid $statsadmin_groupid
+    $skill_list/ ;
+use vars qw/$pluginname/ ;
+
+sub is_lesser ( $$ ) ;
+sub is_greater ( $$ ) ;
+sub debug ( $ ) ;
+sub parse_sql_file ( $ ) ;
+
+require ("/usr/share/gforge/lib/include.pl") ; # Include a few predefined functions 
+require ("/usr/share/gforge/lib/sqlparser.pm") ; # Our magic SQL parser
+
+debug "You'll see some debugging info during this installation." ;
+debug "Do not worry unless told otherwise." ;
+
+&db_connect ;
+
+# debug "Connected to the database OK." ;
+
+$pluginname = "forumml" ;
+
+$dbh->{AutoCommit} = 0;
+$dbh->{RaiseError} = 1;
+eval {
+    my ($sth, @array, $version, $path, $target) ;
+
+    &create_metadata_table ("0") ;
+    
+    $version = &get_db_version ;
+    $target = "0.1" ;
+    if (is_lesser $version, $target) {
+	my @filelist = ( "/usr/share/gforge/plugins/$pluginname/db/$pluginname-init.sql" ) ;
+	
+	foreach my $file (@filelist) {
+	    debug "Processing $file" ;
+	    @reqlist = @{ &parse_sql_file ($file) } ;
+	    
+	    foreach my $s (@reqlist) {
+		$query = $s ;
+		# debug $query ;
+		$sth = $dbh->prepare ($query) ;
+		$sth->execute () ;
+		$sth->finish () ;
+	    }
+	}
+	@reqlist = () ;
+	
+	&update_db_version ($target) ;
+	debug "Committing." ;
+	$dbh->commit () ;
+    }
+    
+#    $version = &get_db_version ;
+#    $target = "0.2" ;
+#    if (is_lesser $version, $target) {
+#	debug "Adding local data." ;
+#	
+#	do "/etc/gforge/local.pl" or die "Cannot read /etc/gforge/local.pl" ;
+#	
+#	my $ip_address = qx/host $domain_name | awk '{print \}'/ ;
+#	
+#	@reqlist = (
+#		    "INSERT INTO plugin_".$pluginname."_sample_data (domain, ip_address) VALUES ('$domain_name', '$ip_address')",
+#		    ) ;
+#	
+#	foreach my $s (@reqlist) {
+#	    $query = $s ;
+#	    # debug $query ;
+#	    $sth = $dbh->prepare ($query) ;
+#	    $sth->execute () ;
+#	    $sth->finish () ;
+#	}
+#	@reqlist = () ;
+#	
+#	&update_db_version ($target) ;
+#	debug "Committing." ;
+#	$dbh->commit () ;
+#    }
+
+    debug "It seems your database install/upgrade went well and smoothly.  That's cool." ;
+    debug "Please enjoy using Debian FusionForge." ;
+
+    # There should be a commit at the end of every block above.
+    # If there is not, then it might be symptomatic of a problem.
+    # For safety, we roll back.
+    $dbh->rollback ();
+};
+
+if ($@) {
+    warn "Transaction aborted because $@" ;
+    debug "Transaction aborted because $@" ;
+    debug "Last SQL query was:\n$query\n(end of query)" ;
+    $dbh->rollback ;
+    debug "Please report this bug on the Debian bug-tracking system." ;
+    debug "Please include the previous messages as well to help debugging." ;
+    debug "You should not worry too much about this," ;
+    debug "your DB is still in a consistent state and should be usable." ;
+    exit 1 ;
+}
+
+$dbh->rollback ;
+$dbh->disconnect ;
+
+sub is_lesser ( $$ ) {
+    my $v1 = shift || 0 ;
+    my $v2 = shift || 0 ;
+
+    my $rc = system "dpkg --compare-versions $v1 lt $v2" ;
+
+    return (! $rc) ;
+}
+
+sub is_greater ( $$ ) {
+    my $v1 = shift || 0 ;
+    my $v2 = shift || 0 ;
+
+    my $rc = system "dpkg --compare-versions $v1 gt $v2" ;
+
+    return (! $rc) ;
+}
+
+sub debug ( $ ) {
+    my $v = shift ;
+    chomp $v ;
+    print STDERR "$v\n" ;
+}
+
+sub create_metadata_table ( $ ) {
+    my $v = shift || "0" ;
+    my $tablename = "plugin_" .$pluginname . "_meta_data" ;
+    # Do we have the metadata table?
+
+    $query = "SELECT count(*) FROM pg_class WHERE relname = '$tablename' and relkind = 'r'";
+    # debug $query ;
+    my $sth = $dbh->prepare ($query) ;
+    $sth->execute () ;
+    my @array = $sth->fetchrow_array () ;
+    $sth->finish () ;
+
+    # Let's create this table if we have it not
+
+    if ($array [0] == 0) {
+	debug "Creating $tablename table." ;
+	$query = "CREATE TABLE $tablename (key varchar primary key, value text not null)" ;
+	# debug $query ;
+	$sth = $dbh->prepare ($query) ;
+	$sth->execute () ;
+	$sth->finish () ;
+    }
+
+    $query = "SELECT count(*) FROM $tablename WHERE key = 'db-version'";
+    # debug $query ;
+    $sth = $dbh->prepare ($query) ;
+    $sth->execute () ;
+    @array = $sth->fetchrow_array () ;
+    $sth->finish () ;
+
+    # Empty table?  We'll have to fill it up a bit
+
+    if ($array [0] == 0) {
+	debug "Inserting first data into $tablename table." ;
+	$query = "INSERT INTO $tablename (key, value) VALUES ('db-version', '$v')" ;
+	# debug $query ;
+	$sth = $dbh->prepare ($query) ;
+	$sth->execute () ;
+	$sth->finish () ;
+    }
+}
+
+sub update_db_version ( $ ) {
+    my $v = shift or die "Not enough arguments" ;
+    my $tablename = "plugin_" .$pluginname . "_meta_data" ;
+
+    debug "Updating $tablename table." ;
+    $query = "UPDATE $tablename SET value = '$v' WHERE key = 'db-version'" ;
+    # debug $query ;
+    my $sth = $dbh->prepare ($query) ;
+    $sth->execute () ;
+    $sth->finish () ;
+}
+
+sub get_db_version () {
+    my $tablename = "plugin_" .$pluginname . "_meta_data" ;
+
+    $query = "SELECT value FROM $tablename WHERE key = 'db-version'" ;
+    # debug $query ;
+    my $sth = $dbh->prepare ($query) ;
+    $sth->execute () ;
+    my @array = $sth->fetchrow_array () ;
+    $sth->finish () ;
+
+    my $version = $array [0] ;
+
+    return $version ;
+}
+
+sub drop_table_if_exists ( $ ) {
+    my $tname = shift or die  "Not enough arguments" ;
+    $query = "SELECT count(*) FROM pg_class WHERE relname='$tname' AND relkind='r'" ;
+    my $sth = $dbh->prepare ($query) ;
+    $sth->execute () ;
+    my @array = $sth->fetchrow_array () ;
+    $sth->finish () ;
+
+    if ($array [0] != 0) {
+	# debug "Dropping table $tname" ;
+	$query = "DROP TABLE $tname" ;
+	# debug $query ;
+	$sth = $dbh->prepare ($query) ;
+	$sth->execute () ;
+	$sth->finish () ;
+    }
+}
+
+sub drop_sequence_if_exists ( $ ) {
+    my $sname = shift or die  "Not enough arguments" ;
+    $query = "SELECT count(*) FROM pg_class WHERE relname='$sname' AND relkind='S'" ;
+    my $sth = $dbh->prepare ($query) ;
+    $sth->execute () ;
+    my @array = $sth->fetchrow_array () ;
+    $sth->finish () ;
+
+    if ($array [0] != 0) {
+	# debug "Dropping sequence $sname" ;
+	$query = "DROP SEQUENCE $sname" ;
+	# debug $query ;
+	$sth = $dbh->prepare ($query) ;
+	$sth->execute () ;
+	$sth->finish () ;
+    }
+}
+
+sub drop_index_if_exists ( $ ) {
+    my $iname = shift or die  "Not enough arguments" ;
+    $query = "SELECT count(*) FROM pg_class WHERE relname='$iname' AND relkind='i'" ;
+    my $sth = $dbh->prepare ($query) ;
+    $sth->execute () ;
+    my @array = $sth->fetchrow_array () ;
+    $sth->finish () ;
+
+    if ($array [0] != 0) {
+	# debug "Dropping index $iname" ;
+	$query = "DROP INDEX $iname" ;
+	# debug $query ;
+	$sth = $dbh->prepare ($query) ;
+	$sth->execute () ;
+	$sth->finish () ;
+    }
+}
+
+sub drop_view_if_exists ( $ ) {
+    my $iname = shift or die  "Not enough arguments" ;
+    $query = "SELECT count(*) FROM pg_class WHERE relname='$iname' AND relkind='v'" ;
+    my $sth = $dbh->prepare ($query) ;
+    $sth->execute () ;
+    my @array = $sth->fetchrow_array () ;
+    $sth->finish () ;
+
+    if ($array [0] != 0) {
+	# debug "Dropping view $iname" ;
+	$query = "DROP VIEW $iname" ;
+	# debug $query ;
+	$sth = $dbh->prepare ($query) ;
+	$sth->execute () ;
+	$sth->finish () ;
+    }
+}
+
+sub bump_sequence_to ( $$ ) {
+    my ($sth, @array, $seqname, $targetvalue) ;
+
+    $seqname = shift ;
+    $targetvalue = shift ;
+
+    do {
+	$query = "select nextval ('$seqname')" ;
+	$sth = $dbh->prepare ($query) ;
+	$sth->execute () ;
+	@array = $sth->fetchrow_array () ;
+	$sth->finish () ;
+    } until $array[0] >= $targetvalue ;
+}


Property changes on: trunk/plugins/coclico/forumml/bin/db-upgrade.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/plugins/coclico/forumml/bin/installFF.sh
===================================================================
--- trunk/plugins/coclico/forumml/bin/installFF.sh	                        (rev 0)
+++ trunk/plugins/coclico/forumml/bin/installFF.sh	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,26 @@
+#! /bin/sh
+
+echo "#"
+echo "# ForumML Plugin install"
+echo "#"
+
+## Chown ForumMl temp and data dir
+touch /var/log/gforge/forumml_hook.log
+chown root.list /var/log/gforge/forumml_hook.log
+chmod 664 /var/log/gforge/forumml_hook.log
+chown gforge.gforge /var/spool/forumml /var/lib/gforge/forumml
+chown gforge.gforge /usr/share/gforge/plugins/forumml/bin/mail_2_DBFF.pl
+chmod 06755 /usr/share/gforge/plugins/forumml/bin/mail_2_DBFF.pl
+
+## Update Mailman config to enable the Hook
+if ! grep -q ^PUBLIC_EXTERNAL_ARCHIVER /usr/lib/mailman/Mailman/mm_cfg.py
+then
+        cat <<EOF >> /usr/lib/mailman/Mailman/mm_cfg.py
+# ForumML Plugin
+PUBLIC_EXTERNAL_ARCHIVER = '/usr/share/gforge/plugins/forumml/bin/mail_2_DBFF.pl %(listname)s ;'
+PRIVATE_EXTERNAL_ARCHIVER = '/usr/share/gforge/plugins/forumml/bin/mail_2_DBFF.pl %(listname)s ;'
+EOF
+fi
+
+## restart mailman
+invoke-rc.d mailman restart


Property changes on: trunk/plugins/coclico/forumml/bin/installFF.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/plugins/coclico/forumml/bin/mail_2_DBFF.php
===================================================================
--- trunk/plugins/coclico/forumml/bin/mail_2_DBFF.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/bin/mail_2_DBFF.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,143 @@
+#! /usr/bin/php5
+<?php
+#
+# Copyright (c) STMicroelectronics, 2005. All Rights Reserved.
+
+ # Originally written by Jean-Philippe Giola, 2005
+ #
+ # This file is a part of codendi.
+ #
+ # codendi is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.
+ #
+ # codendi is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with codendi; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ #
+ # $Id$
+ #
+
+/* This script allows the transfer of an mbox-formatted mail to ForumML database.
+ *  First argument: mailing-list name
+ *  Second argument: type of transfer, depending on the input
+ * 		'1': transfer from '/var/spool/forumml/mail_tmp_xyz' temporary file (1-message mbox file)
+ * 		'2': transfer from whole list archive (real mbox file)
+ *  Third argument: temporary file name (used when 2nd arg = 1)
+*/
+
+ini_set('max_execution_time', 0);
+ini_set('memory_limit', -1);
+require_once('env.inc.php');
+require_once('pre.php');
+require_once('preplugins.php');
+require 'Mail/Mbox.php';
+require_once(dirname(__FILE__).'/../include/ForumML_mimeDecode.class.php');
+require_once(dirname(__FILE__).'/../include/ForumMLInsert.class.php');
+require_once(dirname(__FILE__).'/../include/ForumML_FileStorage.class.php');
+require_once('mailman/www/mailman_utils.php');
+//require_once('utils.php');
+$list = $argv[1];
+// get list id and group id from list name
+$sql = sprintf('SELECT group_id, group_list_id'.
+				' FROM mail_group_list'.
+				' WHERE list_name = $1');
+$res = db_query_params($sql,array($list));
+if (db_numrows($res) > 0) {
+	$id_list = db_result($res,0,'group_list_id');
+	$gr_id = db_result($res,0,'group_id');
+} else {
+	$stderr = fopen('php://stderr', 'w');
+	fwrite($stderr, "Invalid mailing-list $list \n");
+	fclose($stderr);
+	exit;
+}
+$plugin_manager =& PluginManager::instance();
+$p =& $plugin_manager->getPluginByName('forumml');
+if ($p && $plugin_manager->isPluginAvailable($p) ) {
+	if ($argv[2] == 2) {
+		// get list archive		
+		$forumml_arch = $GLOBALS['forumml_arch'];;
+		$mbox_file = $forumml_arch."/private/".$list.".mbox/".$list.".mbox";
+		// check if mbox file exists
+		if (! is_file($mbox_file)) {
+			$stderr = fopen('php://stderr', 'w');
+			fwrite($stderr, "Invalid mbox file $mbox_file \n");
+			fclose($stderr);
+			exit;	
+		}
+        // Do not import from archives if there are already messages for this list
+        $sql = 'SELECT NULL FROM plugin_forumml_message WHERE id_list = $1 LIMIT 1';
+        $res = db_query_params($sql,array($id_list));
+        if ($res && db_numrows($res) > 0) {
+            $stderr = fopen('php://stderr', 'w');
+			fwrite($stderr, "Cannot import messages from archive.\nThere are already messages in the database for $list ($mbox_file)\n");
+			fclose($stderr);
+			exit;
+        }
+	} else {
+		// get 3rd argument
+		$temp_file = $argv[3];
+		// get temp file parent dir
+		$forumml_tmp = $GLOBALS['forumml_tmp'];
+		$mbox_file = $forumml_tmp."/".$temp_file;
+	}
+	// Open the mail that has been temporary stored
+    $mbox = new Mail_Mbox($mbox_file);
+	$mbox->open();
+	if (PEAR::isError($mbox)) {
+		print "Unable to open mbox: ".$mbox->getMessage().PHP_EOL;
+	} else {
+        $nbMailInserted = 0;
+		$num_msg        = $mbox->size();
+		for ($i = 0; $i < $num_msg; $i++) {
+			$thisMessage = $mbox->get($i);
+			if (PEAR::isError($thisMessage)) {
+				print "Unable to get message $i: ".$thisMessage->getMessage().PHP_EOL;
+			} else {
+                // Decode email
+				$args['include_bodies'] = TRUE;
+				$args['decode_bodies']  = TRUE;
+				$args['decode_headers'] = TRUE;
+				$args['crlf']           = "\r\n";
+				$decoder = new ForumML_mimeDecode($thisMessage, "\r\n");
+				$structure = $decoder->decode($args);
+
+                // Get ForumML storage
+                $forumml_dir     = $GLOBALS['forumml_dir'];
+                $forumml_storage = new ForumML_FileStorage($forumml_dir);
+
+                // Store email
+				$insert = new ForumMLInsert($id_list);
+                $msgId  = $insert->storeEmail($structure, $forumml_storage);
+                if ($msgId) {
+                    $nbMailInserted++;
+                }
+			}
+		}
+
+        // Display message when importing a mail archive
+        if ($argv[2] == 2) {
+            if ($num_msg == $nbMailInserted) {
+                echo 'Operation Completed.'.$num_msg.' imported'.PHP_EOL;
+            } else {
+                echo '*** Error: '.$num_msg.' in '.$mbox_file.' file but '. $nbMailInserted.' stored in database'.PHP_EOL;
+            }
+        }
+	}
+}
+
+// delete temporary file
+/*if ($argv[2] == 1) {
+	if (is_file($mbox_file)) {
+		unlink($mbox_file);
+	}
+}
+*/
+?>


Property changes on: trunk/plugins/coclico/forumml/bin/mail_2_DBFF.php
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/plugins/coclico/forumml/bin/mail_2_DBFF.pl
===================================================================
--- trunk/plugins/coclico/forumml/bin/mail_2_DBFF.pl	                        (rev 0)
+++ trunk/plugins/coclico/forumml/bin/mail_2_DBFF.pl	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,106 @@
+#!/usr/bin/perl -UT
+
+# Copyright (c) STMicroelectronics, 2005. All Rights Reserved.
+#
+# Originally written by Jean-Philippe Giola, 2005
+#
+# This file is a part of codendi.
+#
+# codendi is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# codendi is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with codendi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+# Taint mode enabled
+
+# mailing-list name should contain only alphabetical characters, '-' and '.' 
+sub validate_listname {
+    my $arg = shift;
+    my $listname = "";
+    my $match = 0;
+
+    if($arg =~ /^([-.\w]+)$/) {
+        if ($match == 0) {
+	    $listname = $1;
+	}
+    }
+    return $listname;
+}
+
+use strict;
+
+# Set default path (required by taint mode)
+$ENV{'PATH'} = '/usr/bin:/bin';
+my $debug;
+open ( $debug , '>> /tmp/debugperl' );
+# Hook log file
+my $logfile = "/var/log/gforge/forumml_hook.log";
+
+# Redirect outputs
+open STDOUT, ">>", $logfile or die "cannot append to '$logfile': $!\n";
+open STDERR, ">&STDOUT" or die "cannot append STDERR to STDOUT: $!\n";
+
+# Search if there are lists we shouldn't treat
+my $conf = '/usr/share/gforge/plugins/forumml/etc/forumml.inc';
+if (-f $conf) {
+    # Get the variable defined in forumml.inc
+    my @exc_lists;
+    open(FORUMML_INC, "<$conf");
+    while (<FORUMML_INC>) {
+	if (m/^\$forumml_excluded_lists[ ]*=[ ]*"(.*)"[ ]*;[ ]*$/) {
+	    @exc_lists = split(/[ ]*,[ ]*/, $1);
+	}
+    }
+    close(FORUMML_INC);
+
+    # Test if given list is excluded or not
+    foreach my $list (@exc_lists) {
+	if ($list eq $ARGV[0]) {
+	    exit 2;
+	}
+    }
+}
+
+# First argument is mandatory (list name)
+my $listname = $ARGV[0];
+chomp($listname);
+if($listname eq "") {
+    exit 1
+}
+
+# Get mail from STDIN, store it in a temporary file, then pass it to php script
+my $range = 100;
+my $random = int(rand($range));
+my $temp = "mail_tmp_".$random."_".time();
+my $path = "/var/spool/forumml/".$temp;
+open(OUT, ">>$path");
+while (defined($_ = <STDIN>)) {
+    print OUT $_;
+}
+close(OUT);
+
+# Get PHP_PARAMS variable from php-laucher.sh
+my $PHP_PARAMS="-q -d include_path=.:/etc/gforge:/usr/share/gforge:/usr/share/gforge/www/include:/usr/share/gforge/plugins";
+#open(PHP_LAUNCHER, "</usr/share/codendi/src/utils/php-launcher.sh");
+#while (<PHP_LAUNCHER>) {
+#    if (m/^[ ]*PHP_PARAMS="(.*)"$/) {
+#	$PHP_PARAMS=$1;
+#	last;
+#    }
+#}
+#close(PHP_LAUNCHER);
+
+# store mail in ForumML DB
+exec "/usr/bin/php $PHP_PARAMS /usr/share/gforge/plugins/forumml/bin/mail_2_DBFF.php $listname 1 $temp";
+
+close STDOUT;
+close STDERR;


Property changes on: trunk/plugins/coclico/forumml/bin/mail_2_DBFF.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/plugins/coclico/forumml/bin/ml_arch_2_DBFF.pl
===================================================================
--- trunk/plugins/coclico/forumml/bin/ml_arch_2_DBFF.pl	                        (rev 0)
+++ trunk/plugins/coclico/forumml/bin/ml_arch_2_DBFF.pl	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,71 @@
+#!/usr/bin/perl
+
+#
+# Copyright (c) STMicroelectronics, 2007. All Rights Reserved.
+#
+# Originally written by Mohamed CHAARI, 2007
+#
+# This file is a part of codendi.
+#
+# codendi is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# codendi is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with codendi; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+
+
+=pod
+
+This script aims at achieving the migration of archives, of all _active_ mailing-lists, to the ForumML database.
+Only projects that enabled ForumML plugin are concerned by this migration.
+
+=cut
+
+# Search if there are lists we shouldn't treat
+my $conf = '/usr/share/gforge/plugins/forumml/etc/forumml.inc';
+my %excluded_list;
+if (-f $conf) {
+    # Get the variable defined in forumml.inc
+    my @exc_lists;
+    open(FORUMML_INC, "<$conf");
+    while (<FORUMML_INC>) {
+	if (m/^\$forumml_excluded_lists[ ]*=[ ]*"(.*)"[ ]*;[ ]*$/) {
+	    @exc_lists = split(/[ ]*,[ ]*/, $1);
+	}
+    }
+    close(FORUMML_INC);
+
+    # Test if given list is excluded or not
+    foreach my $list (@exc_lists) {
+	$excluded_list{$list} = 0;
+    }
+}
+
+# Get PHP_PARAMS variable from php-laucher.sh
+my $PHP_PARAMS="-q -d include_path=.:/etc/gforge:/usr/share/gforge:/usr/share/gforge/www/include:/usr/share/gforge/plugins";
+
+#use strict;
+use DBI;
+
+require "/etc/gforge/local.pl";
+my $dbh = DBI->connect("DBI:Pg:host=localhost ;dbname=$sys_dbname ; user= $sys_dbuser ; password=$sys_dbpasswd") or die "Couldn't connect to database: " . DBI->errstr;
+
+
+# get all active mailing-lists
+my $query = "SELECT list_name, group_id FROM mail_group_list WHERE status = 3";
+my $req = $dbh->prepare($query);
+$req->execute();
+while (my ($list_name,$group_id) = $req->fetchrow()) {
+    if(! exists $excluded_list{$list_name}) {
+	print "Processing ".$list_name." mailing-list ...\n ";
+	system("/usr/bin/php $PHP_PARAMS /usr/share/gforge/plugins/forumml/bin/mail_2_DBFF.php $list_name 2");
+    }
+}


Property changes on: trunk/plugins/coclico/forumml/bin/ml_arch_2_DBFF.pl
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/plugins/coclico/forumml/common/forumml-init.php
===================================================================
--- trunk/plugins/coclico/forumml/common/forumml-init.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/common/forumml-init.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,36 @@
+<?php
+
+/**
+ *
+ * This file is part of GForge.
+ *
+ * GForge is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * GForge is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with GForge; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+ * 
+ * Portions Copyright 2010 (c) Mélanie Le Bail
+ */
+
+global $gfplugins;
+require_once $gfplugins.'forumml/include/forummlPlugin.class.php' ;
+define('SEARCH__TYPE_IS_LIST', 'forumml');
+$forummlPluginObject = new forummlPlugin() ;
+
+register_plugin ($forummlPluginObject) ;
+
+// Local Variables:
+// mode: php
+// c-file-style: "bsd"
+// End:
+
+?>

Added: trunk/plugins/coclico/forumml/db/forumml-init.sql
===================================================================
--- trunk/plugins/coclico/forumml/db/forumml-init.sql	                        (rev 0)
+++ trunk/plugins/coclico/forumml/db/forumml-init.sql	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,104 @@
+-- alter table plugin_forumml_message add column last_thread_update int unsigned not null default 0 after body;
+CREATE SEQUENCE plugin_forumml_pk_seq
+    START WITH 1
+    INCREMENT BY 1
+    MAXVALUE 2147483647
+    NO MINVALUE
+    CACHE 1;
+
+CREATE TABLE plugin_forumml_attachment (
+  id_attachment INTEGER DEFAULT nextval('plugin_forumml_pk_seq'::text) NOT NULL,
+  id_message INTEGER  NOT NULL,
+  file_name TEXT NOT NULL,
+  file_type character varying(80) NOT NULL,
+  file_size INTEGER  NOT NULL,
+  file_path character varying(255) NOT NULL,
+  content_id character varying(255) not null default '',
+  PRIMARY KEY(id_attachment)
+);
+
+
+
+CREATE SEQUENCE plugin_forumml_header_pk_seq
+    START WITH 1
+    INCREMENT BY 1
+    MAXVALUE 2147483647
+    NO MINVALUE
+    CACHE 1;
+
+CREATE TABLE plugin_forumml_header (
+  id_header INTEGER DEFAULT nextval('plugin_forumml_header_pk_seq'::text) NOT NULL,
+  name character varying(255) NOT NULL,
+  PRIMARY KEY(id_header)
+);
+
+CREATE SEQUENCE plugin_forumml_message_pk_seq
+    START WITH 1
+    INCREMENT BY 1
+    MAXVALUE 2147483647
+    NO MINVALUE
+    CACHE 1;
+
+CREATE TABLE plugin_forumml_message (
+  id_message INTEGER DEFAULT nextval('plugin_forumml_message_pk_seq'::text) NOT NULL,
+  id_list INTEGER  NOT NULL,
+  id_parent INTEGER  NOT NULL,
+  body TEXT NULL,
+  last_thread_update INTEGER    NOT NULL DEFAULT 0,
+  msg_type character varying(30) not null default '',
+  cached_html text default null,
+  PRIMARY KEY(id_message)
+);
+
+CREATE TABLE plugin_forumml_messageheader (
+  id_message INTEGER  NOT NULL,
+  id_header INTEGER  NOT NULL,
+  value TEXT NOT NULL,
+  PRIMARY KEY(id_message, id_header)
+);
+
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('1','message-id');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('2','date');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('3','from');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('4','subject');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('5','return-path');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('6','delivered-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('7','to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('8','in-reply-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('9','references');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('10','x-mailer');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('11','mime-version');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('12','content-type');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('13','content-transfer-encoding');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('14','sender');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('15','errors-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('16','x-beenthere');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('17','x-mailman-version');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('18','precedence');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('19','list-help');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('20','list-post');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('21','list-subscribe');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('22','list-id');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('23','list-unsubscribe');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('24','list-archive');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('25','x-original-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('26','x-priority');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('27','x-msmail-priority');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('28','importance');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('29','x-mimeole');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('30','reply-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('31','x-list-received-date');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('32','user-agent');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('33','x-mailman-approved-at');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('34','cc');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('35','x-mozilla-status');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('36','x-mozilla-status2');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('37','thread-index');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('38','x-accept-language');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('39','keywords');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('40','organization');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('41','x-reply-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('42','x-enigmail-version');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('43','x-enigmail-supports');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('44','x-ms-tnef-correlator');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('45','x-pgp-universal');

Added: trunk/plugins/coclico/forumml/db/install.sql
===================================================================
--- trunk/plugins/coclico/forumml/db/install.sql	                        (rev 0)
+++ trunk/plugins/coclico/forumml/db/install.sql	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,85 @@
+-- alter table plugin_forumml_message add column last_thread_update int unsigned not null default 0 after body;
+CREATE TABLE plugin_forumml_attachment (
+  id_attachment INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+  id_message INTEGER UNSIGNED NOT NULL,
+  file_name TEXT NOT NULL,
+  file_type VARCHAR(80) NOT NULL,
+  file_size INTEGER UNSIGNED NOT NULL,
+  file_path VARCHAR(255) NOT NULL,
+  content_id varchar(255) not null default '',
+  PRIMARY KEY(id_attachment),
+  KEY idx_fk_id_message (id_message, content_id(10))
+);
+
+CREATE TABLE plugin_forumml_header (
+  id_header INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+  name VARCHAR(255) NOT NULL,
+  PRIMARY KEY(id_header),
+  KEY idx_name (name (20))
+);
+
+CREATE TABLE plugin_forumml_message (
+  id_message INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
+  id_list INTEGER UNSIGNED NOT NULL,
+  id_parent INTEGER UNSIGNED NOT NULL,
+  body TEXT NULL,
+  last_thread_update INTEGER   UNSIGNED NOT NULL DEFAULT 0,
+  msg_type varchar(30) not null default '',
+  cached_html mediumtext default null,
+  PRIMARY KEY(id_message),
+  KEY idx_fk_id_list (id_list),
+  KEY idx_fk_id_parent (id_parent)
+);
+
+CREATE TABLE plugin_forumml_messageheader (
+  id_message INTEGER UNSIGNED NOT NULL,
+  id_header INTEGER UNSIGNED NOT NULL,
+  value TEXT NOT NULL,
+  PRIMARY KEY(id_message, id_header)
+);
+
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('1','message-id');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('2','date');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('3','from');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('4','subject');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('5','return-path');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('6','delivered-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('7','to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('8','in-reply-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('9','references');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('10','x-mailer');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('11','mime-version');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('12','content-type');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('13','content-transfer-encoding');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('14','sender');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('15','errors-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('16','x-beenthere');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('17','x-mailman-version');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('18','precedence');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('19','list-help');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('20','list-post');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('21','list-subscribe');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('22','list-id');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('23','list-unsubscribe');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('24','list-archive');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('25','x-original-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('26','x-priority');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('27','x-msmail-priority');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('28','importance');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('29','x-mimeole');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('30','reply-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('31','x-list-received-date');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('32','user-agent');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('33','x-mailman-approved-at');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('34','cc');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('35','x-mozilla-status');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('36','x-mozilla-status2');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('37','thread-index');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('38','x-accept-language');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('39','keywords');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('40','organization');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('41','x-reply-to');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('42','x-enigmail-version');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('43','x-enigmail-supports');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('44','x-ms-tnef-correlator');
+INSERT INTO plugin_forumml_header (id_header, name) VALUES ('45','x-pgp-universal');

Added: trunk/plugins/coclico/forumml/debian/README.Debian
===================================================================
--- trunk/plugins/coclico/forumml/debian/README.Debian	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/README.Debian	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,6 @@
+fusionforge-plugin-forumml for Debian
+---------------------
+
+See README.Debian in fusionforge-common package
+
+ -- Christian Bayle <bayle at debian.org>  Mon, 08 Mar 2010 16:37:51 +0100

Added: trunk/plugins/coclico/forumml/debian/README.source
===================================================================
--- trunk/plugins/coclico/forumml/debian/README.source	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/README.source	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,9 @@
+forumml for Debian
+---------------------
+
+<this file describes information about the source package, see Debian policy
+manual section 4.14. You WILL either need to modify or delete this file>
+
+
+
+

Added: trunk/plugins/coclico/forumml/debian/changelog
===================================================================
--- trunk/plugins/coclico/forumml/debian/changelog	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/changelog	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,11 @@
+fusionforge-plugin-forumml (1.1-1) karmic; urgency=low
+
+  * Bump new version
+
+ -- Mélanie Le Bail <melanie.lebail at orange-ftgroup.com>  Fri, 16 Apr 2010 17:14:10 +0200
+
+fusionforge-plugin-forumml (1.0-1) unstable; urgency=low
+
+  * Initial release (Closes: #nnnn)  <nnnn is the bug number of your ITP>
+
+ -- Christian Bayle <bayle at debian.org>  Mon, 08 Mar 2010 16:37:51 +0100

Added: trunk/plugins/coclico/forumml/debian/compat
===================================================================
--- trunk/plugins/coclico/forumml/debian/compat	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/compat	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1 @@
+7

Added: trunk/plugins/coclico/forumml/debian/control
===================================================================
--- trunk/plugins/coclico/forumml/debian/control	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/control	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,20 @@
+Source: fusionforge-plugin-forumml
+Section: devel
+Priority: optional
+Maintainer: Christian Bayle <bayle at debian.org>
+Uploaders: Roland Mas <lolando at debian.org>
+Build-Depends-Indep: devscripts
+Build-Depends: debhelper (>= 7), perl, gettext
+Standards-Version: 3.8.4
+Homepage: http://fusionforge.org/
+Vcs-Bzr: http://scm.fusionforge.org/bzr/fusionforge/svn-trunk-ro/
+
+Package: fusionforge-plugin-forumml
+Architecture: all
+Depends: gforge-common, gforge-db-postgresql | gforge-db, gforge-web-apache2 | gforge-web, php5-cli, php-mail, php-mail-mime, php-mail-mbox, php-mail-mimedecode, ${misc:Depends}
+Description: collaborative development tool - ForumML plugin
+ .
+ This plugin contains the ForumML subsystem of FusionForge. It allows each
+ FusionForge project to have its own ForumML, and gives some
+ control over it to the project's administrator.
+

Added: trunk/plugins/coclico/forumml/debian/copyright
===================================================================
--- trunk/plugins/coclico/forumml/debian/copyright	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/copyright	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,63 @@
+The "sourceforge" package was first debianised on Wed, 22 Nov 2000
+22:06:35 +0100 by Roland Mas <lolando at debian.org>.  Work has been
+constant since then, and the package evolved a great deal.  It began
+to work, for a start, and then it evolved into GForge, what with the
+more recent versions of the Sourceforge software having been made
+proprietary.  And then in early 2009 it evolved into FusionForge, what
+with the more recent versions of GForge having been rewritten as
+proprietary software without a name change.
+
+FusionForge is Copyright © 2009-2010 by several people, including:
+Alain Peyrat            <aljeux at free.fr>
+Alexandre Neymann       <alexandre.neymann at dgfip.finances.gouv.fr>
+Christian Bayle         <bayle at debian.org>
+Roland Mas              <lolando at debian.org>
+Gonéri Le Bouder        <goneri.lebouder at atosorigin.com>
+Julien Heyman 		<julien.heyman at atosorigin.com>
+Olivier Meunier 	<olivier.meunier at centraliens.net>
+
+GForge itself is Copyright © 2000-2008 by a fair number of people,
+including:
+Tim Perdue              <tim at gforge.org>
+Roland Mas              <99.roland.mas at aist.enst.fr>
+Christian Bayle         <gforge at free.fr>
+Tom Copeland            <tom at infoether.com>
+Guillaume Smet          <guillaume-gforge at smet.org>
+Francisco Gimeno        <kikov at kikov.org>
+Sung Kim                <hunkims at gmail.com>
+Alain Peyrat            <aljeux at free.fr>
+
+Past Members of the development team include:
+Reinhard Spisser
+Ryan T. Sammartino
+Edward Ritter
+Michael Jennings
+
+Since FusionForge, and GForge before it, was initially a fork of
+Sourceforge, here's the copyright info for the Sourceforge software:
+,----
+| The original sources were downloaded from http://www.sourceforge.net/
+| 
+| Authors: The Sourceforge crew at VA Linux.  They are many, they
+| change as time goes by, and they are listed on the Sourceforge
+| website.  Let them be thanked for their work.
+| 
+| Copyright:
+| 
+| This software is Copyright © 1999-2000 by VA Linux.
+| 
+| You are free to distribute this software under the terms of the GNU
+| General Public License.
+`----
+
+The packaging and installing scripts (in the debian/ and deb-specific/
+directories amongst others) are Copyright © 2000-2010 by Christian
+Bayle <bayle at aist.enst.fr> and Roland Mas <lolando at debian.org>.  You
+are free to use and redistribute them under the terms of the GNU
+General Public License, version 2 or (at your option) any later
+version published by the Free Software Foundation.
+
+See Also Copyright file in fusionforge package
+
+On Debian systems, the complete text of the GNU General Public License
+can be found in the /usr/share/common-licenses directory.

Added: trunk/plugins/coclico/forumml/debian/dsf-in/plugin-forumml.postinst
===================================================================
--- trunk/plugins/coclico/forumml/debian/dsf-in/plugin-forumml.postinst	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/dsf-in/plugin-forumml.postinst	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,55 @@
+#! /bin/sh
+# postinst script for @OLDPACKAGE at -plugin-forumml
+#
+# see: dh_installdeb(1)
+
+set -e
+
+# summary of how this script can be called:
+#        * <postinst> `configure' <most-recently-configured-version>
+#        * <old-postinst> `abort-upgrade' <new version>
+#        * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+#          <new-version>
+#        * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+#          <failed-install-package> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+#
+# quoting from the policy:
+#     Any necessary prompting should almost always be confined to the
+#     post-installation script, and should be protected with a conditional
+#     so that unnecessary prompting doesn't happen if a package's
+#     installation fails and the `postinst' is called with `abort-upgrade',
+#     `abort-remove' or `abort-deconfigure'.
+
+case "$1" in
+    configure)
+	@OLDPACKAGE at -config
+
+	# Prepare database
+	su -s /bin/sh @OLDPACKAGE@ -c '/usr/share/@OLDPACKAGE@/bin/register-plugin forumml "ForumML"'
+	/usr/share/gforge/plugins/forumml/bin/installFF.sh
+	su -s /bin/sh @OLDPACKAGE@ -c '/usr/share/@OLDPACKAGE@/plugins/forumml/bin/db-upgrade.pl'
+	/usr/share/@OLDPACKAGE@/plugins/forumml/bin/ml_arch_2_DBFF.pl
+
+    ;;
+
+    abort-upgrade|abort-remove|abort-deconfigure)
+
+    ;;
+
+    *)
+        echo "postinst called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+#DEBHELPER#
+
+exit 0
+
+

Added: trunk/plugins/coclico/forumml/debian/dsf-in/plugin-forumml.prerm
===================================================================
--- trunk/plugins/coclico/forumml/debian/dsf-in/plugin-forumml.prerm	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/dsf-in/plugin-forumml.prerm	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,45 @@
+#! /bin/sh
+# prerm script for @OLDPACKAGE at -plugin-forumml
+#
+# see: dh_installdeb(1)
+set -e
+
+#DEBHELPER#
+
+# summary of how this script can be called:
+#        * <prerm> `remove'
+#        * <old-prerm> `upgrade' <new-version>
+#        * <new-prerm> `failed-upgrade' <old-version>
+#        * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
+#        * <deconfigured's-prerm> `deconfigure' `in-favour'
+#          <package-being-installed> <version> `removing'
+#          <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+
+case "$1" in
+    remove|deconfigure)
+	if [ -f /var/run/postgresql/.s.PGSQL.5432 ]
+	then
+		/usr/share/@OLDPACKAGE@/bin/unregister-plugin forumml
+	else
+		echo "WARNING: database not available to unregister ForumML plugin"
+	fi
+        ;;
+    upgrade|failed-upgrade)
+        ;;
+    *)
+        echo "prerm called with unknown argument \`$1'" >&2
+        exit 1
+    ;;
+esac
+
+# dh_installdeb will replace this with shell code automatically
+# generated by other debhelper scripts.
+
+
+
+exit 0
+
+

Added: trunk/plugins/coclico/forumml/debian/rules
===================================================================
--- trunk/plugins/coclico/forumml/debian/rules	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/rules	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,90 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# This file was originally written by Joey Hess and Craig Small.
+# As a special exception, when this file is copied by dh-make into a
+# dh-make output file, you may use that output file without restriction.
+# This special exception was added by Craig Small in version 0.37 of dh-make.
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+SRCPACKAGE=$(shell head -1 $(CURDIR)/debian/changelog | sed 's/\(.[^ ]*\) .*/\1/')
+MAJOR=$(shell head -1 $(CURDIR)/debian/changelog | sed 's/.*(\(.*\)-[^-]*).*/\1/')
+ORIGFILE=$(SRCPACKAGE)_$(MAJOR).orig.tar.gz
+OLDPACKAGE=gforge
+PACKAGE=fusionforge
+FORGENAME=FusionForge
+
+SED_REPLACE=sed -e 's/@PACKAGE@/$(PACKAGE)/g' -e 's/@SRCPACKAGE@/$(SRCPACKAGE)/g' -e 's/@FORGENAME@/$(FORGENAME)/g' -e 's/@OLDPACKAGE@/$(OLDPACKAGE)/g'
+
+CRONDFILES=$(patsubst packaging/cron.d/%,debian/$(PACKAGE)-%.cron.d,$(wildcard packaging/cron.d/[a-z]*))
+DIRSFILES=$(patsubst packaging/dirs/%,debian/$(PACKAGE)-%.dirs,$(wildcard packaging/dirs/[a-z]*))
+LINKSFILES=$(patsubst packaging/links/%,debian/$(PACKAGE)-%.links,$(wildcard packaging/links/[a-z]*))
+INSTALLFILES=$(patsubst packaging/install/%,debian/$(PACKAGE)-%.install,$(wildcard packaging/install/[a-z]*))
+DOCSFILES=$(patsubst packaging/docs/%,debian/$(PACKAGE)-%.docs,$(wildcard packaging/docs/[a-z]*))
+POFILES=$(patsubst debian/dsf-po/%,debian/po/%,$(wildcard debian/dsf-po/*) debian/po/POTFILES.in)
+DSFINFILES=$(patsubst debian/dsf-in/%,debian/$(PACKAGE)-%,$(wildcard debian/dsf-in/[a-z]*))
+
+.PHONY: conffiles
+conffiles: $(CRONDFILES) $(DIRSFILES) $(LINKSFILES) $(INSTALLFILES) $(DOCSFILES) $(DSFINFILES) debian/control
+
+debian/$(PACKAGE)-%.cron.d:
+	(cat $(CURDIR)/packaging/cron.d/00phpcron ; sed -e 's/\$$FFUSER/$(PACKAGE)/g' $(CURDIR)/packaging/cron.d/$*) > $@
+
+debian/$(PACKAGE)-%.dirs:
+	cp $(CURDIR)/packaging/dirs/$* $@ 
+
+debian/$(PACKAGE)-%.links:
+	cp $(CURDIR)/packaging/links/$* $@ 
+
+debian/$(PACKAGE)-%.install:
+	cp $(CURDIR)/packaging/install/$* $@ 
+
+debian/$(PACKAGE)-%.docs:
+	cp $(CURDIR)/packaging/docs/$* $@
+
+debian/control: $(wildcard packaging/control/*)
+	ls $(CURDIR)/packaging/control/[0-9][0-9][0-9]* | grep -v shortdesc | grep -v scmcpold | while read file ; do cat $${file}; if [ -f $${file}.shortdesc ] ; then cat $(CURDIR)/packaging/control/AAAdesc; echo ' .'; cat $${file}.shortdesc; fi; echo '';  done | $(SED_REPLACE) > $@
+
+debian/po/templates.pot: $(wildcard debian/dsf-in/*.templates.dsfh-in) $(wildcard debian/dsf-helper/*.templates)
+        @debconf-updatepo --podir=debian/dsf-po
+
+debian/po/%:
+	cat $(patsubst debian/po/%,debian/dsf-po/%,$@) | $(SED_REPLACE) > $@
+
+# postinst and prerm files
+debian/$(PACKAGE)-%:
+	cat $(patsubst debian/$(PACKAGE)-%,debian/dsf-in/%,$@) | $(SED_REPLACE) > $@
+
+build: debian/po/templates.pot conffiles
+	dh $@
+	# Build gettext *.mo files
+	utils/manage-translations.sh build
+
+clean:
+	dh $@
+	rm -f $(CURDIR)/debian/*.cron.d
+	rm -f $(CURDIR)/debian/*.dirs
+	rm -f $(CURDIR)/debian/*.links
+	rm -f $(CURDIR)/debian/*.install
+	rm -f $(CURDIR)/debian/*.docs
+	rm -f $(CURDIR)/debian/*.postinst
+	rm -f $(CURDIR)/debian/*.prerm
+	rm -rf locales
+	rm -f $(POFILES)
+
+makeorig: 
+	find $(PKGDIR) -type f -or -type l | grep -v '/CVS/' | \
+	grep -v '/.svn/' | grep -v '/.testbox/' | \
+	grep -v rpm-specific | grep -v docs/phpdoc/docs | \
+	grep -v ^./debian/ | grep -v \\.jar$$ | \
+	grep -v \\.pdf$$ | grep -v plugins/fckeditor/www/_samples | \
+	cpio -o -H ustar | gzip > ../$(ORIGFILE)
+
+#binary:
+	#dh $@
+	#ls $(CURDIR)/debian/$(SRCPACKAGE)/
+	#chmod 06755 $(CURDIR)/debian/$(SRCPACKAGE)/usr/share/gforge
+
+%:
+	dh  $@


Property changes on: trunk/plugins/coclico/forumml/debian/rules
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/plugins/coclico/forumml/debian/source/format
===================================================================
--- trunk/plugins/coclico/forumml/debian/source/format	                        (rev 0)
+++ trunk/plugins/coclico/forumml/debian/source/format	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1 @@
+1.0

Added: trunk/plugins/coclico/forumml/etc/forumml.inc.dist
===================================================================
--- trunk/plugins/coclico/forumml/etc/forumml.inc.dist	                        (rev 0)
+++ trunk/plugins/coclico/forumml/etc/forumml.inc.dist	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,15 @@
+<?php
+
+// Where the attachments are located
+$forumml_dir = "/var/lib/codendi/forumml";
+
+// Where the temporary mail file is stored
+$forumml_tmp = "/var/spool/forumml";
+
+// Where Mailman archives are stored
+$forumml_arch = "/var/lib/mailman/archives";
+
+// You can exclude some lists from forumml archival (comma separted values)
+$forumml_excluded_lists = "";
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumMLGroupSearchEngine.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumMLGroupSearchEngine.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumMLGroupSearchEngine.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,30 @@
+<?php
+/**
+ * Wiki Search Engine for GForge
+ *
+ * Copyright 2006 (c) Alain Peyrat
+ *
+ * @version $Id: GroupSearchEngine.class,v 1.2 2004/12/12 23:34:46 gsmet Exp $
+ */
+
+require_once $gfwww.'search/include/engines/GroupSearchEngine.class.php';
+
+class ForumMLGroupSearchEngine extends GroupSearchEngine {
+	
+	function ForumMLGroupSearchEngine() {
+		$this->GroupSearchEngine(SEARCH__TYPE_IS_LIST,
+					 'ForumMLHtmlSearchRenderer', 
+					 _('ForumML'));
+	}
+	
+	function isAvailable($parameters) {
+		if (parent::isAvailable($parameters)) {
+			if ($this->Group->usesPlugin('forumml')) {
+				return true;
+			}
+		}
+		return false;
+	}
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumMLHtmlSearchRenderer.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumMLHtmlSearchRenderer.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumMLHtmlSearchRenderer.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,123 @@
+<?php
+/**
+ * MailingList Search Engine for GForge
+ *
+ * Copyright 2006 (c) Alain Peyrat
+ *
+ * @version $Id: NewsHtmlSearchRenderer.class,v 1.1 2004/10/16 16:36:31 gsmet Exp $
+ */
+global $gfwww,$gfcommon; 
+require_once 'preplugins.php';
+require_once $gfwww.'search/include/renderers/HtmlGroupSearchRenderer.class.php';
+require_once(dirname(__FILE__).'/../include/ForumML_HTMLPurifier.class.php');
+require_once(dirname(__FILE__).'/../include/ForumML_MessageDao.class.php');
+require_once 'ForumMLSearchQuery.class.php';
+
+class ForumMLHtmlSearchRenderer extends HtmlGroupSearchRenderer {
+
+        var $groupId;
+        /**
+         * Constructor
+         *
+         * @param string $words words we are searching for
+         * @param int $offset offset
+         * @param boolean $isExact if we want to search for all the words or if only one matching the query is sufficient
+         * @param int $groupId group id
+         * @param array $sections array of all sections to search in (array of strings)
+         *
+         */
+        function ForumMLHtmlSearchRenderer($words, $offset, $isExact, $groupId) {
+                $this->groupId = $groupId;
+
+                $searchQuery = new ForumMLSearchQuery($words, $offset, $isExact, $groupId);
+
+                //init the searchrendererr
+                $this->HtmlGroupSearchRenderer(SEARCH__TYPE_IS_LIST, $words, $isExact, 
+                                $searchQuery, $groupId, 'list');
+
+               // $this->tableHeaders = array(_('Thread'),_('Submitted on'), _('Author'));
+                
+
+
+        }
+
+        /**
+         * getRows - get the html output for result rows
+         *
+         * @return string html output
+         */
+        function getRows() {
+                $plugin_manager =& PluginManager::instance();
+                $p =& $plugin_manager->getPluginByName('forumml');
+                $rowsCount = $this->searchQuery->getRowsCount();
+                $result =& $this->searchQuery->getResult();
+                $dateFormat = _('Y-m-d H:i');
+
+                $group = group_get_object($this->groupId);
+                $group_name = $group->getUnixName();
+
+                $data = unserialize(db_result($result, 0, 'versiondata'));
+
+                $return = "<table width='100%'>
+                        <tr>
+                        <th class=forumml>".
+                        _('Thread')."
+                        </th>
+                        <th class=forumml>".
+                        _('Submitted on')."
+                        </th>
+                        <th class=forumml>".
+                        _('Author')."
+                        </th>
+                        </tr>";
+                $idx=0;
+                while ($rows = db_fetch_array($result)) {
+                        $idx++;
+                        if ($idx % 2 == 0) {
+                                $class="boxitemalt bgcolor-white";
+                        } else {
+                                $class="boxitem bgcolor-grey";
+                        }
+                        $subject=$rows['subject'];
+
+                        $res2 = $this->getForumMLDao()->getHeaderValue($rows['id_message'],array(2,3));
+                        $k = 1;
+                        while ($rows2 =$res2->getRow()) {
+                                $header[$k] = $rows2['value'];
+                                $k++;
+                        }
+                        $from = mb_decode_mimeheader($header[1]);
+
+                        // Replace '<' by '&lt;' and '>' by '&gt;'. Otherwise the email adress won't be displayed 
+                        // because it will be considered as an xhtml tag.
+                        $from = preg_replace('/\</', '&lt;', $from);
+                        $from = preg_replace('/\>/', '&gt;', $from);
+                        $date = date("Y-m-d H:i",strtotime($header[2]));
+                        // purify message subject (CODENDI_PURIFIER_FORUMML level)
+                        $hp =& ForumML_HTMLPurifier::instance();
+                        $subject = $hp->purify($subject,CODENDI_PURIFIER_FORUMML);
+
+                        // display the resulting threads in rows 
+                        $return .= "<tr class='".$class."'>
+                                <td class='subject'>
+                                &nbsp;<img src='".$p->getThemePath()."/images/ic/comment.png'/>
+                                <a href='/plugins/forumml/message.php?group_id=".$this->groupId."&topic=".$rows['id_message']."&list=".$rows['id_list']."'><b>".$subject."</b></a>                                            
+                                </td>
+                                <td>                                            
+                                <font class='info'>".$date."</font>
+                                </td>
+                                <td>
+                                <font class='info'>".$from."</font>
+                                </td>
+                                </tr>";
+                }
+                $return .='</table>';
+                return $return;
+        }
+
+        function getForumMLDao() {
+                return new ForumML_MessageDao(CodendiDataAccess::instance());
+        }
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumMLInsert.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumMLInsert.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumMLInsert.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,356 @@
+<?php
+#
+# Copyright (c) STMicroelectronics, 2005. All Rights Reserved.
+
+ # Originally written by Jean-Philippe Giola, 2005
+ #
+ # This file is a part of codendi.
+ #
+ # codendi is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.
+ #
+ # codendi is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with codendi; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ #
+ # $Id$
+ #
+
+
+// ForumML Database Query Class
+class ForumMLInsert {
+    var $id_message;
+    var $mail;
+    var $id_list;
+	
+    // Class Constructor
+	function __construct($list_id) {
+		// set id_list
+		$this->id_list = $list_id;
+	}
+    
+    // Insert values into forumml_messageheader table
+    function insertMessageHeader($id_header,$value) {
+        
+    	$qry = sprintf('INSERT INTO plugin_forumml_messageheader'.
+    					' (id_message, id_header, value)'.
+    					' VALUES ($1,$2,$3)');
+    	db_query_params($qry,array($this->id_message , $id_header , $value));
+    }
+
+    // Insert values into forumml_attachment table 
+    function insertAttachment($id_message, $filename,$filetype,$filepath,$content_id="") {
+        if (is_file($filepath)) {
+            $filesize = filesize($filepath);
+        } else {
+            $filesize = 0;
+        }
+    	$qry = sprintf('INSERT INTO plugin_forumml_attachment'.
+                       ' (id_message, file_name, file_type, file_size, file_path, content_id)'.
+                       ' VALUES ($1,$2,$3,$4,$5,$6)');
+    	db_query_params($qry,array($id_message , $filename , $filetype , $filesize , $filepath , $content_id));
+    }
+
+    // Insert values into forumml_header table
+    function insertHeader($header) {
+        
+    	// Search if the header is already in the table
+        $qry = sprintf('SELECT id_header'.
+        				' FROM plugin_forumml_header'.
+        				' WHERE name = $1');
+    	$result = db_query_params($qry,array($header));
+        
+        // If not, insert it
+        if (db_result($result,0,'id_header') == "") {
+            $sql = sprintf('INSERT INTO plugin_forumml_header'.
+            				' (name)'.
+            				' VALUES  ($1)');
+        	$res = db_query_params($sql,array($header));
+            return (db_insertid($res,'plugin_forumml_header','id_header'));
+        } else {
+            return (db_result($result,0,'id_header'));
+        }
+    }
+
+    function getParentMessageFromHeader($messageIdHeader) {
+        $qry = 'SELECT id_message'.
+            ' FROM plugin_forumml_messageheader'.
+            ' WHERE id_header = 1'.
+            ' AND value = $1 ';
+        $result = db_query_params($qry,array($messageIdHeader));
+        if ($result && !db_error($result)) {
+            $row = db_fetch_array($result);
+            return $row['id_message'];
+        }
+        return false;
+    }
+
+    function updateParentDate($messageId, $date) {
+	    if ($messageId != 0) {
+		    $sql = 'SELECT id_parent, last_thread_update FROM plugin_forumml_message WHERE id_message = $1';
+		    $dar = db_query_params($sql,array($messageId));
+		    if ($dar && !db_error($dar)) {
+			    $row = db_fetch_array($dar);
+			    if ($date > $row['last_thread_update']) {
+				    $sql = 'UPDATE plugin_forumml_message'.
+					    ' SET last_thread_update =$1 '.
+					    ' WHERE id_message=$2';
+				    db_query_params($sql,array($date,$messageId));
+
+				    $this->updateParentDate($row['id_parent'], $date);
+			    }
+		    }
+	    }
+    }
+
+    // Insert values into forumml_message table
+    function insertMessage($structure,$body,$ctype="") {
+
+	    $this->mail = $structure;
+
+	    if (isset($structure["in-reply-to"])) {
+		    // special case: 'in-reply-to' header may contain "Message from ... " 
+		    if (preg_match('/^Message from.*$/',$structure["in-reply-to"])) {
+			    $arr = explode(" ",$structure["in-reply-to"]);
+			    $reply_to = $arr[count($structure["in-reply-to"]) - 1];
+		    } else {
+			    $reply_to = $structure["in-reply-to"];
+		    }	
+	    } else {
+		    if (isset($structure["references"])) {
+			    // special case: 'in-reply-to' header is not set, but 'references' - which contain list of parent messages ids - is set
+			    $ref_arr = explode(" ",$structure["references"]);
+			    $reply_to = $ref_arr[count($structure["references"]) - 1];
+		    } else {
+			    $reply_to = "";
+		    }	
+	    }
+
+	    // Message date
+	    // Cannot rely on server's date because it might be different
+	    // and it doesn't work when it comes to load mail archives!
+	    $messageDate = strtotime($structure['date']);
+
+	    $id_parent = 0;
+	    // If the current message is an answer
+	    if ($reply_to != "") {
+		    $id_parent = $this->getParentMessageFromHeader($reply_to);
+	    }
+
+	    if ($id_parent != 0) {
+		    $this->updateParentDate($id_parent, $messageDate);
+	    }
+
+	    $sql = sprintf('INSERT INTO plugin_forumml_message'.
+			    ' ( id_list, id_parent, body, last_thread_update, msg_type)'.
+			    ' VALUES ($1, $2, $3, $4, $5)');
+	    $res = db_query_params($sql,array($this->id_list , $id_parent , $body , $messageDate , $ctype));
+	    $this->id_message = db_insertid($res,'plugin_forumml_message','id_message');
+
+	    // All headers of the current mail are stored in the forumml_messageheader table
+	    $k=0;
+	    foreach ($structure as $header => $value_header) {
+		    $k++;
+		    if ($k != 1) {
+			    if ($header != "received") {
+				    $id_header = $this->insertHeader($header);
+				    if (is_array($value_header)) {
+					    $value_header = implode(",",$value_header);
+				    }
+				    $this->insertMessageHeader($id_header,$value_header);
+			    }
+		    }
+	    }
+
+	    return $this->id_message;
+    }
+
+    /**
+     * Encode string in UTF8 if source charset given or if detected
+     */
+    function getUtf8String($string,$charset=null) {
+	    if ($charset == null) {
+		    $charset = mb_detect_encoding($string);
+	    }
+	    if ($charset) {
+		    return mb_convert_encoding($string, 'UTF-8', $charset);
+	    } else {
+		    return $string;
+	    }
+    }
+
+    /**
+     * Convert structure body to utf8 if charset defined in structure headers
+     */
+    function getUtf8Body($structure) {
+	    $charset = null;
+	    if (isset($structure->headers["content-type"]) && isset($structure->ctype_parameters['charset'])) {
+		    $charset = $structure->ctype_parameters['charset'];
+	    }
+	    if (isset($structure->body)) {
+		    return $this->getUtf8String($structure->body, $charset);
+	    } else {
+		    return '';
+	    }
+    }
+
+    /**
+     * Extract from given structure the content and store it as an attachment of the given message
+     *
+     * @param Integer             $messageId   Message id
+     * @param Object              $struct      Subpart of a Mime message to treat
+     * @param Object              $mailHeaders Headers of the message (not the subpart)
+     * @param ForumML_FileStorage $storage     Object that manage the file storage on FS
+     */
+    function storePart($messageId, $struct, $mailHeaders, $storage) {
+	    if (isset($struct->body) && trim($struct->body) != "") {
+		    $body = $struct->body;
+		    $filetype = $struct->headers["content-type"];
+		    if ($struct->ctype_primary == 'text' && $struct->ctype_secondary == 'html') {
+			    $filename = "message_".substr($mailHeaders["message-id"], 1, strpos($mailHeaders["message-id"], '@') - 1).".html";
+		    } else {
+			    if (! isset($struct->d_parameters["filename"])) {
+				    // special case where a content is attached, without filename
+				    $pos = strpos($filetype,"name=");
+				    if ($pos === false) {
+					    // set filename to 'attachment_<k>'
+					    $filename = "attachment";
+				    } else {
+					    // get filename from 'name' section
+					    $filename = substr(substr($filetype,$pos),6,-1);			
+				    }
+			    } else {
+				    $filename = $struct->d_parameters["filename"];
+			    }
+		    }
+		    $basename = basename($filename);
+
+		    // For multipart/related emails
+		    $content_id = '';
+		    if (isset($struct->headers['content-id'])) {
+			    $content_id = $struct->headers['content-id'];
+		    }
+
+		    // store attachment in /var/lib/codendi/forumml/<listname>/<Y_M_D>
+		    $date  = date("Y_m_d",strtotime($mailHeaders["date"]));
+		    $fpath = $storage->store($basename, $struct->body, $this->id_list, $date);
+
+		    // insert attachment in the DB
+		    $this->insertAttachment($messageId, $basename, $filetype, $fpath, $content_id);	
+	    }
+    }
+
+    /**
+     * Parse recursively Mime message to create the message and it's attachments in DB
+     *
+     * A MIME message is a hierarchical organization that maybe very
+     * simple for a text message (just one structure with headers and
+     * a text body) to a very complex HTML mail with inline images,
+     * attachments sent in Text+HTML.
+     *
+     * The main challenge of this method is to find the "root" of the
+     * MIME message to store it as a message in the DB, all the other
+     * stuff will be attached to this message as an attachment.
+     *
+     * The root message can be either:
+     * - The text version of the message. This applies for
+     *   -> mail in plain text (with or without attachments)
+     *   -> mail in HTML sent in Text+HTML
+     * - If no text version available:
+     *   -> if their is an HTML version of the mail, we store it
+     *      (happens with mail sent in HTML only).
+     *   -> if their is no HTML, we store an empty body.
+     *
+     * How do we detect the root message:
+     * -> We crawl the hierarchy and we take the first text/plain or
+     *    text/html part.
+     * -> Otherwise, if we are about to store an attachment (an
+     *    attachment is everything but first text/plain or first
+     *    text/html) we create a empty message.
+     *
+     * @see http://en.wikipedia.org/wiki/MIME
+     *
+     * @param Object              $struct      Subpart of a Mime message to treat
+     * @param Object              $mailHeaders Headers of the message (not the subpart)
+     * @param ForumML_FileStorage $storage     Object that manage the file storage on FS
+     * @param Integer             $messageId   Message id
+     */
+    function storeMime($struct, $mailHeaders, $storage, $messageId=0) {
+	    if ($struct->ctype_primary == 'multipart') {
+		    foreach ($struct->parts as $part) {
+			    $messageId = $this->storeMime($part, $mailHeaders, $storage, $messageId);
+		    }
+	    } else {
+		    $inserted = false;
+		    if ($struct->ctype_primary == 'text') {
+			    switch ($struct->ctype_secondary) {
+				    case 'html':
+				    case 'plain':
+					    if ($messageId == null) {
+						    $body      = $this->getUtf8Body($struct);
+						    if (isset($struct->headers["content-type"])) {
+							    $ctype = $struct->headers["content-type"];
+						    } else {
+							    $ctype = "";
+						    }
+						    $messageId = $this->insertMessage($mailHeaders, $body, $ctype);
+						    $inserted  = true;
+					    }
+					    break;
+			    }
+		    }
+
+		    if ($messageId == 0) {
+			    if (isset($struct->headers["content-type"])) {
+				    $ctype = $struct->headers["content-type"];
+			    } else {
+				    $ctype = "";
+			    }
+			    $messageId = $this->insertMessage($mailHeaders, "", $ctype);
+		    }
+
+		    if (!$inserted) {
+			    $this->storePart($messageId, $struct, $mailHeaders, $storage);
+		    }
+	    }
+	    return $messageId;
+    }
+
+    /**
+     * Abandon all hope you who enter here! Mail & MIME is at best a nightmare, take a couple of 
+     * bottles before diving into this code...
+     * http://en.wikipedia.org/wiki/MIME
+     *
+     * List (not comprehensive) of email possibilities
+     * Text                                                         text/plain
+     * -> pure_text.mbox
+     * Text + attached files                                        multipat/mixed (text/plain, other/mime)
+     * -> text_plus_attachment.mbox
+     * HTML (sent in Text + HTML)                                   multipart/alternative (text/plain, text/html)
+     * -> pure_html_text_plus_html.mbox
+     * HTML (sent in HTML)                                          text/html
+     * -> pure_html_in_html_only.mbox
+     * HTML + inline image (sent in Text + HTML)                    multipart/alternative(text/plain, multipart/related(text/html, image/png))
+     * -> html_with_inline_content_in_text_plus_html.mbox
+     * HTML + inline image (sent in HTML)                           multipart/related(text/html, image/png)
+     * -> html_with_inline_content_in_html_only.mbox
+     * HTML + attached file (sent in Text + HTML)                   multipart/mixed(multipart/alternative(text/plain, text/html), other/mime))
+     * HTML + attached file (sent in HTML)                          multipart/mixed(text/html, other/mime)
+     * HTML + inline image + attached file (sent in Text + HTML)    multipart/mixed(multipart/alternative(text/plain, multipart/related(text/html, image/png)), other/mime)
+     * -> html_with_inline_content_and_attch_in_text_plus_html.mbox
+     * HTML + inline image + attached file (sent in HTML)           multipart/mixed(multipart/related(text/html, image/png), other/mime)
+     * -> html_with_inline_content_and_attch_in_html_only.mbox
+     */
+    public function storeEmail($email, $storage) {
+	    return $this->storeMime($email, $email->headers, $storage);
+    }
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumMLPluginDescriptor.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumMLPluginDescriptor.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumMLPluginDescriptor.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,29 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2004-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once('common/plugin/PluginDescriptor.class.php');
+
+class ForumMLPluginDescriptor extends PluginDescriptor {
+    
+    function __construct() {
+        parent::__construct('ForumML', 'v2.0', $GLOBALS['Language']->getText('plugin_forumml', 'descriptor_description'));
+    }
+}
+?>

Added: trunk/plugins/coclico/forumml/include/ForumMLPluginInfo.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumMLPluginInfo.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumMLPluginInfo.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,135 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2004-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once('common/plugin/PluginInfo.class.php');
+require_once('ForumMLPluginDescriptor.class.php');
+require_once('common/include/PropertyDescriptor.class.php');
+
+class ForumMLPluginInfo extends PluginInfo {
+    
+    function __construct($plugin) {
+        parent::__construct($plugin);
+        $this->setPluginDescriptor(new ForumMLPluginDescriptor());
+        $this->_conf_path = $plugin->getPluginEtcRoot() .'/forumml.inc';
+        $this->loadProperties();
+        
+    }
+    
+	function loadProperties() {
+        if (is_file($this->_conf_path)) {
+            $this->checkConfigurationFiles($this->_conf_path);
+            $variables = $this->_getVariablesFromConfigurationFile($this->_conf_path);
+            foreach($variables as $variable) {
+                $key =& $variable['name'];
+                if (preg_match('`^"(.*)"$`', $variable['value'], $match) || 
+                    preg_match('`^\'(.*)\'$`', $variable['value'], $match)) 
+                {
+                    $value = $match[1];
+                } 
+                else 
+                {
+                    $value = $variable['value'];
+                }
+                $descriptor =& new PropertyDescriptor($key, $value);
+                $this->_addPropertyDescriptor($descriptor);
+            }
+        }	
+	}
+	
+	function saveProperties() {
+        copy($this->_conf_path, $this->_conf_path .'.'. date('YmdHis'));
+        $content = file_get_contents($this->_conf_path);
+        $descs =& $this->getPropertyDescriptors();
+        $keys  =& $descs->getKeys();
+        $iter  =& $keys->iterator();
+        while($iter->valid()) {
+            $key   =& $iter->current();
+            $desc  =& $descs->get($key);
+            $desc_name =& $desc->getName();
+            if (is_bool($desc->getValue())) {
+                $replace = '$1'. ($desc->getValue() ? 'true' : 'false') .';';
+            } else {
+                $replace = '$1"'.addslashes($desc->getValue()).'";';
+            }
+            $content = preg_replace(
+                '`((?:^|\n)\$'. preg_quote($desc_name) .'\s*=\s*)(.*)\s*;`', 
+                $replace, 
+                $content
+            );
+            $iter->next();
+        }
+        $f = fopen($this->_conf_path, 'w');
+        if ($f) {
+            fwrite($f, $content);
+            fclose($f);
+        }	
+	}
+    
+	function getPropertyValueForName($name) {
+        $desc = $this->getPropertyDescriptorForName($name);
+        return $desc ? $desc->getValue() : $desc;
+    }
+    
+    function _getVariablesFromConfigurationFile($file) {
+        $tokens = token_get_all(file_get_contents($file));
+
+        $variables = array();
+        $current = 0;
+        foreach($tokens as $token) {
+            switch ($token[0]) {
+                case T_VARIABLE:
+                    $variables[$current] = array('name' => substr($token[1], 1), 'value' => '');
+                    break;
+                case T_STRING:
+                case T_CONSTANT_ENCAPSED_STRING:
+                case T_DNUMBER:
+                case T_LNUMBER:
+                case T_NUM_STRING:
+                    if (T_STRING == $token[0] && (!strcasecmp($token[1], "false") || !strcasecmp($token[1], "true"))) {
+                        $val = (bool)strcasecmp($token[1], "false");
+                        if (isset($variables[$current])) {
+                            $variables[$current]['value'] = $val;
+                        }
+                    } else {
+                        if (isset($variables[$current])) {
+                            $variables[$current]['value'] .= $token[1];
+                        }
+                    }
+                    break;
+                case '*':
+                    if (isset($variables[$current])) {
+                        $variables[$current]['value'] .= $token[0];
+                    }
+                    break;
+                case ';':
+                    $current++;
+                    break;
+                default:
+                    break;
+            }
+        }
+        return $variables;
+    }
+	
+	function checkConfigurationFiles() {
+        require($this->_conf_path);
+    }        
+}
+?>

Added: trunk/plugins/coclico/forumml/include/ForumMLSearchEngine.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumMLSearchEngine.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumMLSearchEngine.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,43 @@
+<?php
+/**
+ * Wiki search plugin
+ *
+ * Copyright 2004 (c) Guillaume Smet
+ *
+ * http://gforge.org
+ *
+ * @version $Id: ExternalSearchEngine.class 3933 2005-02-19 13:04:45Z gsmet $
+ */
+
+require_once $GLOBALS['gfwww'].'search/include/engines/GroupSearchEngine.class.php';
+
+class ForumMLSearchEngine extends GroupSearchEngine {
+	
+	/**
+	* name of the external site
+	*
+	* @var string $name
+	*/
+	var $rendererClassName;
+	var $groupId;
+	
+	function ForumMLSearchEngine($type, $rendererClassName, $label, $groupId) {
+		$this->groupId = $groupId;
+		$this->rendererClassName = $rendererClassName;
+		
+		$this->GroupSearchEngine($type, $rendererClassName, $label);
+	}
+	
+	function isAvailable($parameters) {
+		return true;
+	}
+	
+	function & getSearchRenderer($words, $offset, $exact) {
+		require_once($this->rendererClassName.'.class.php');
+		$renderer = new $this->rendererClassName($words, $offset, $exact, 
+			$this->groupId);
+		return $renderer;
+	}
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumMLSearchQuery.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumMLSearchQuery.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumMLSearchQuery.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,59 @@
+<?php
+/**
+ * GForge Search Engine
+ *
+ * Copyright 2004 (c) Dominik Haas, GForge Team
+ *
+ * http://gforge.org
+ *
+ * @version $Id: NewsSearchQuery.class,v 1.2 2005/01/28 20:36:44 ruben Exp $
+ */
+global $gfcommon;
+require_once $gfcommon.'search/SearchQuery.class.php';
+
+class ForumMLSearchQuery extends SearchQuery {
+	
+	/**
+	* group id
+	*
+	* @var int $groupId
+	*/
+	var $groupId;
+	
+	/**
+	 * Constructor
+	 *
+	 * @param string $words words we are searching for
+	 * @param int $offset offset
+	 * @param boolean $isExact if we want to search for all the words or if only one matching the query is sufficient
+	 * @param int $groupId group id
+	 */
+	function ForumMLSearchQuery($words, $offset, $isExact, $groupId) {	
+		$this->groupId = $groupId;
+		
+		$this->SearchQuery($words, $offset, $isExact);
+	}
+
+	/**
+	 * getQuery - get the query built to get the search results
+	 *
+	 * @return array query+params array
+	 */
+	function getQuery() {
+		
+		$pat = '_g'.$this->groupId.'_';
+		$len = strlen($pat)+1;
+		$qpa = db_construct_qpa () ;
+		$qpa = db_construct_qpa ($qpa,
+					  'SELECT mh.id_message, mh.value as subject, m.id_list '.
+                        ' FROM plugin_forumml_message m, plugin_forumml_messageheader mh'.
+                        ' WHERE mh.id_header = $1'.
+                        ' AND m.id_parent = 0'.
+                        ' AND m.id_message = mh.id_message AND ',
+					 array (4)) ;
+	$qpa=$this->addIlikeCondition($qpa, 'mh.value');	
+		return $qpa ;
+	}
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumML_Attachment.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumML_Attachment.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumML_Attachment.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,95 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2004-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once 'ForumML_AttachmentDao.class.php';
+
+class ForumML_Attachment {
+    private $_dao;
+
+    function getById($id) {
+        $attach = null;
+        $dar    = $this->getDao()->getById($id);
+        if ($dar && !$dar->isError()) {
+            $attch = $dar->current();
+            $attch['type'] = $this->getType($attch);
+        }
+        return $attch;
+    }
+
+    /**
+     * Return attachment mime type
+     *
+     * Try to get it from the db and if it fails, try with filename
+     */
+    function getType($row) {
+        /*if (preg_match('/^[ ]*(.*\/.*)[ ]*;?.*$/', $row['file_type'], $matches)) {
+            $type = $matches[1];
+        } else {
+            // Retrieve the uploaded file type
+            switch(strtoupper(strrchr($row['file_name'], "."))) {
+            case ".GZ":
+                $type = "application/x-gzip";
+                break;
+            case ".TGZ":
+                $type = "application/x-gzip";
+                break;
+            case ".ZIP":
+                $type = "application/zip";
+                break;
+            case ".PDF":
+                $type = "application/pdf";
+                break;
+            case ".PNG":
+                $type = "image/png";
+                break;
+            case ".GIF":
+                $type = "image/gif";
+                break;
+            case ".JPG":
+                $type = "image/jpeg";
+                break;
+            case ".TXT":
+                $type = "text/plain";
+                break;
+            case ".HTM":
+                $type = "text/html";
+                break;
+            case ".HTML":
+                $type = "text/html";
+                break;
+            default:
+                $type = "application/octet-stream";
+                break;
+            }
+        }
+        return $type;*/
+	return mime_content_type($row['file_path']);
+    }
+
+    function getDao() {
+        if (!isset($this->_dao)) {
+            $this->_dao = new ForumML_AttachmentDao(CodendiDataAccess::instance());
+        }
+        return $this->_dao;
+    }
+
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumML_AttachmentDao.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumML_AttachmentDao.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumML_AttachmentDao.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,36 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2004-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once 'common/dao/include/DataAccessObject.class.php';
+
+class ForumML_AttachmentDao extends DataAccessObject {
+
+    function __construct($da) {
+        parent::__construct($da);
+    }
+    
+    function getById($id) {
+        $sql = 'SELECT * FROM plugin_forumml_attachment WHERE id_attachment = $1';
+        return $this->retrieve($sql,array($id));
+    }
+
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumML_FileStorage.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumML_FileStorage.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumML_FileStorage.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,144 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2007. All Rights Reserved.
+ *
+ * Originally written by Mohamed CHAARI, 2007
+ *
+ * This file is a part of codendi.
+ *
+ * codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with codendi; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * $Id$
+ */
+
+/**
+ * A class to handle mails attachments storage
+ * 
+ */
+class ForumML_FileStorage {
+    
+    // Root directory to host mails attachments 
+	var $root;
+    
+    /**
+     * ForumML_FileStorage Constructor
+     * 
+     * @param root: The ForumML attachments directory 
+     */
+    function __construct($root) {
+        $this->root = $root;
+    }
+    
+    /**
+     * Store - stores attached files in the ForumML root dir
+     * 
+     * @param filename: name of attached file
+     * @param content: content of attached file
+     * @param list: mailing-list name
+     * @param date: date of attachment in YYYY_MM_DD format
+     * @param encod: encoding of attachment
+     * 
+     * @return int size of attached file
+     */
+    function store($filename, $content, $list, $date, $encod="") {
+        $path = $this->_getPath($filename, $list, $date, "store");
+        $ret = file_put_contents($path, $content);
+        if ($ret !== false) {
+            return $path;
+        } else {
+            return false;
+        }
+    }
+    
+    /**
+    * Store:
+    *  +---------------------------------------------------------------------------------+
+    *  |                             +-----------------------------------------+         |
+    *  |                             |                                         |         |
+    * _|__              _______     _|__                                       |         |
+    * name              list_id     date                                       v         v
+    * Attach.doc           7      2007_10_19              =>  foruuml_dir/<listname>/2007_10_19/Attach_doc 
+    *                      |                                              ^ 
+    *                      +---------------------------------------------+|
+    *                     
+    *
+    * Upload (to temporary location):
+    *  +-----------------------------------------------------------------------+
+    *  |                                                                       |
+    *  |                                                                       |
+    * _|__                                                                     |
+    * name                                                                     v
+    * Attach.doc                                     =>  foruuml_dir/upload/Attach_doc     
+    * 
+    */
+
+    /**
+     * _getPath - Get the absolute path where to Upload/Store attached file
+     * 
+     * @param name: basename of attached file
+     * @param list: mailing-list name
+     * @param date: attachment date (YYYY_MM_DD)
+     * @param string type: upload/store 
+     * 
+     * @return string path
+     */
+    function _getPath($name, $list, $date, $type) {
+        $name = trim($name);
+
+        if (trim($name) == '') {
+            $name = 'attachment';
+        } else {
+            $name = mb_convert_encoding($name, 'ascii', 'utf-8');
+            // restrict file name to 64 characters (maximum)
+            if (strlen($name) > 64) {
+                $name = substr($name, 0, 64);
+            }
+    	
+            $name = preg_replace('`[^a-z0-9_-]`i', '_', $name);
+            $name = preg_replace('`_{2,}`', '_', $name);
+        }
+
+        if ($type == "upload") {
+        	$path_elements = array($this->root, $type);
+        } else if ($type == "store") {
+        	$path_elements = array($this->root, $list, $date);	
+        }
+        
+        $path = '';
+        foreach($path_elements as $elem) {
+            $path .= $elem .'/';
+            if (!is_dir($path)) {
+                mkdir($path, 0755);
+            }
+        }
+
+        // Ensure that same file doesn't exists yet
+        $ext = '';
+        $i   = 1;
+        while($this->fileExists($path.$name.$ext)) {
+            $ext = '_'.$i;
+            $i++;
+        }
+
+        return $path.$name.$ext;
+    }
+
+    function fileExists($path) {
+        return is_file($path);
+    }
+    
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumML_HTMLPurifier.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumML_HTMLPurifier.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumML_HTMLPurifier.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,103 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2007. All Rights Reserved.
+ * 
+ * Originally written by Mohamed CHAARI, 2007.
+ * 
+ * This file is a part of codendi.
+ * 
+ * codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with codendi; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * 
+ */
+
+define('CODENDI_PURIFIER_FORUMML', 20);
+
+class ForumML_HTMLPurifier extends Codendi_HTMLPurifier {
+
+    /**
+     * Hold an instance of the class
+     */
+    private static $ForumML_HTMLPurifier_instance;
+	
+    /**
+     * Constructor
+     */
+    protected function __construct() {
+    }
+	
+	/**
+     * Singleton access.
+     * Override parent method
+     * @access: static
+     */
+	public static function instance() {
+		//static $purifier;
+		if (!isset(self::$ForumML_HTMLPurifier_instance)) {
+            $c = __CLASS__;
+			self::$ForumML_HTMLPurifier_instance = new $c;
+		}
+		return self::$ForumML_HTMLPurifier_instance;
+	}
+	
+	/**
+	 * No basic HTML markups, no forms, no javascript
+	 * Allow urls, auto-magic links, <blockquote> and CSS styles 
+	 */
+	function getForumMLConfig() {
+
+        $config = $this->getCodendiConfig();
+        // allow <blockquote> html tag, used to display ForumML messages replies
+        $config->set('HTML.AllowedElements', 'blockquote');
+        // support CSS
+        $config->set('CSS.DefinitionRev', 1);
+        return $config;
+    }
+	
+    /**
+     * HTML Purifier configuration factory
+     */
+    function getHPConfig($level) {
+        $config = null;
+        switch($level) {              
+        	case CODENDI_PURIFIER_FORUMML:
+        		$config = $this->getForumMLConfig();
+        		break;
+        	
+        	default:
+        		$config = parent::getHPConfig($level);	
+        }	 
+        return $config;
+    }
+	
+    /**
+    * Perform HTML purification depending of level purification required and create links. 
+    */
+    function purify($html, $level=0, $groupId=0) {
+        $clean = '';
+        switch($level) {        
+            case CODENDI_PURIFIER_FORUMML:
+                require_once($GLOBALS['htmlpurifier_dir'].'HTMLPurifier.auto.php');
+                $hp = HTMLPurifier::getInstance();
+                $config = $this->getHPConfig($level);
+                $clean = util_make_links($hp->purify($html, $config), $groupId);        	
+                break;
+            default:
+                $clean = parent::purify($html,$level,$groupId);
+        }
+        return $clean;
+    }
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumML_MessageDao.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumML_MessageDao.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumML_MessageDao.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,162 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2004-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once 'common/dao/include/DataAccessObject.class.php';
+
+define('FORUMML_MESSAGE_ID', 1);
+define('FORUMML_DATE', 2);
+define('FORUMML_FROM', 3);
+define('FORUMML_SUBJECT', 4);
+define('FORUMML_CONTENT_TYPE', 12);
+define('FORUMML_CC', 34);
+class ForumML_MessageDao extends DataAccessObject {
+
+	function __construct($da) {
+		parent::__construct($da);
+	}
+
+	function searchHeaderValue($messageId, $headerId) {
+		$sql = 'SELECT mh.value'.
+			' FROM plugin_forumml_message m'.
+			'  JOIN plugin_forumml_messageheader mh'.
+			'   ON (mh.id_message = m.id_message)'.
+			'  JOIN plugin_forumml_header h'.
+			'   ON (h.id_header = mh.id_header)'.
+			' WHERE m.id_message = $1'.
+			'  AND h.id_header = $2';
+		return $this->retrieve($sql,array($messageId,$headerId));
+	}
+
+	function getMessageHeaders($id_message) {
+		$sql = 'SELECT value'.
+			' FROM plugin_forumml_messageheader'.
+			' WHERE id_message = $1'.
+			' AND id_header < 5'.
+			' ORDER BY id_header';
+		return  $this->retrieve($sql,array($id_message));
+	}
+
+	function getSpecificMessage($id_message,$list_id) {
+		$sql ='SELECT value, body'.
+			' FROM plugin_forumml_message m, plugin_forumml_messageheader mh'.
+			' WHERE m.id_message =$1 '.
+			' AND mh.id_message = m.id_message'.
+			' AND m.id_list = $2'.
+			' AND mh.id_header = $3';
+		return $this->retrieve($sql,array($id_message,$list_id,FORUMML_SUBJECT));
+	}
+
+	function getHeaderValue($id, $ids) {
+		if (!isset($ids)) {
+			$ids = 'SELECT id_header FROM plugin_forumml_messageheader';
+		}
+		$sql = 'SELECT value , id_header FROM plugin_forumml_messageheader'.
+			' WHERE id_message =$1 and id_header IN ($2,$3) ORDER BY id_header DESC';
+		return $this->retrieve($sql,array($id,$ids[0],$ids[1]));
+	}
+
+	function getAllThreadsFromList($list_id,$offset,$chunks) {
+		$sql = 'SELECT m.id_message, m.last_thread_update as lastup, mh_d.value as date, mh_f.value as sender, mh_s.value as subject'.
+			' FROM plugin_forumml_message m'.
+			' LEFT JOIN plugin_forumml_messageheader mh_d ON (mh_d.id_message = m.id_message AND mh_d.id_header = $1)'.
+			' LEFT JOIN plugin_forumml_messageheader mh_f ON (mh_f.id_message = m.id_message AND mh_f.id_header = $2) '.
+			' LEFT JOIN plugin_forumml_messageheader mh_s ON (mh_s.id_message = m.id_message AND mh_s.id_header = $3) '.
+			' WHERE m.id_parent = 0'.
+			' AND id_list = $4 '.
+			' ORDER BY m.last_thread_update DESC'.
+			' OFFSET $5'.
+			' LIMIT $6';
+		return $this->retrieve($sql,array(FORUMML_DATE,FORUMML_FROM,FORUMML_SUBJECT,$list_id,$offset,$chunks));
+	}
+
+	function countAllThreadsFromList($list_id) {
+		$sql = 'SELECT COUNT(*) as nb'.
+			' FROM plugin_forumml_message m'.
+			' LEFT JOIN plugin_forumml_messageheader mh_d ON (mh_d.id_message = m.id_message AND mh_d.id_header = $1)'.
+			' LEFT JOIN plugin_forumml_messageheader mh_f ON (mh_f.id_message = m.id_message AND mh_f.id_header = $2) '.
+			' LEFT JOIN plugin_forumml_messageheader mh_s ON (mh_s.id_message = m.id_message AND mh_s.id_header = $3) '.
+			' WHERE m.id_parent = 0'.
+			' AND id_list = $4 GROUP BY m.last_thread_update'.
+			' ORDER BY m.last_thread_update DESC';
+		return $this->retrieve($sql,array(FORUMML_DATE,FORUMML_FROM,FORUMML_SUBJECT,$list_id));
+	}
+
+	function countChildrenFromParents ($parents) {
+		$sql = 'SELECT id_message'.
+			' FROM plugin_forumml_message m'.
+			' WHERE m.id_parent IN ($1)';
+		return $this->retrieve($sql,array($parents));
+	}
+
+	function getChildrenFromDepthLevel($parents) {
+		$sql = 'SELECT m.*, mh_d.value as date, mh_f.value as sender, mh_s.value as subject, mh_ct.value as content_type, mh_cc.value as cc, a.id_attachment, a.file_name, a.file_type, a.file_size, a.file_path, a.content_id'.
+			' FROM plugin_forumml_message m'.
+			' LEFT JOIN plugin_forumml_messageheader mh_d ON (mh_d.id_message = m.id_message AND mh_d.id_header = $1)'.
+			' LEFT JOIN plugin_forumml_messageheader mh_f ON (mh_f.id_message = m.id_message AND mh_f.id_header = $2) '.
+			' LEFT JOIN plugin_forumml_messageheader mh_s ON (mh_s.id_message = m.id_message AND mh_s.id_header = $3) '.
+			' LEFT JOIN plugin_forumml_messageheader mh_ct ON (mh_ct.id_message = m.id_message AND mh_ct.id_header = $4) '.
+			' LEFT JOIN plugin_forumml_messageheader mh_cc ON (mh_cc.id_message = m.id_message AND mh_cc.id_header = $5) '.
+			" LEFT JOIN plugin_forumml_attachment a ON (a.id_message = m.id_message AND a.content_id = '')".
+			' WHERE m.id_parent IN ($6)';
+
+		return $this->retrieve($sql,array(FORUMML_DATE,FORUMML_FROM,FORUMML_SUBJECT,FORUMML_CONTENT_TYPE,FORUMML_CC,$parents));
+	}
+
+	function getFlattenedThread($topic) {
+		$sql = 'SELECT m.*, mh_d.value as date, mh_f.value as sender, mh_s.value as subject, mh_ct.value as content_type, mh_cc.value as cc, a.id_attachment, a.file_name, a.file_type, a.file_size, a.file_path, a.content_id'.
+			' FROM plugin_forumml_message m'.
+			' LEFT JOIN plugin_forumml_messageheader mh_d ON (mh_d.id_message = m.id_message AND mh_d.id_header = $1)'.
+			' LEFT JOIN plugin_forumml_messageheader mh_f ON (mh_f.id_message = m.id_message AND mh_f.id_header = $2)'.
+			' LEFT JOIN plugin_forumml_messageheader mh_s ON (mh_s.id_message = m.id_message AND mh_s.id_header = $3)'.
+			' LEFT JOIN plugin_forumml_messageheader mh_ct ON (mh_ct.id_message = m.id_message AND mh_ct.id_header = $4)'.
+			' LEFT JOIN plugin_forumml_messageheader mh_cc ON (mh_cc.id_message = m.id_message AND mh_cc.id_header = $5)'.
+			" LEFT JOIN plugin_forumml_attachment a ON (a.id_message = m.id_message AND a.content_id = '')".
+			' WHERE m.id_message =$6 ';
+		return $this->retrieve($sql,array(FORUMML_DATE,FORUMML_FROM,FORUMML_SUBJECT,FORUMML_CONTENT_TYPE,FORUMML_CC,$topic));
+	}
+
+	function updateCacheHTML($cache,$id) {
+		return $this->update('UPDATE plugin_forumml_message SET cached_html= $1 WHERE id_message= $2',array($cache,$id));
+	}
+
+	function getAttachment($id_message,$match) {
+		$sql = 'SELECT id_attachment FROM plugin_forumml_attachment WHERE id_message=$1 and content_id=<$2>';
+		return $this->retrieve($sql,array($id_message , $match));
+	}
+	function searchArchives($list_id,$pattern) {
+		$sql = 'SELECT mh.id_message, mh.value'.
+			' FROM plugin_forumml_message m, plugin_forumml_messageheader mh'.
+			' WHERE mh.id_header = $1'.
+			' AND m.id_list = $2'.
+			' AND m.id_parent = 0'.
+			' AND m.id_message = mh.id_message'.
+			' AND mh.value LIKE $3';
+		return $this->retrieve($sql,array(FORUMML_SUBJECT,$list_id,$pattern));
+
+	}
+
+	function hasArchives($list_id) {
+		$qry = 'SELECT NULL FROM plugin_forumml_message WHERE id_list = $1 LIMIT 1';
+		return $this->retrieve($qry,array($list_id));
+	}
+
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/ForumML_MessageManager.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumML_MessageManager.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumML_MessageManager.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,44 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2004-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once 'ForumML_MessageDao.class.php';
+
+class ForumML_MessageManager {
+    private $_dao;
+
+    function getHeaderValue($messageId, $headerId) {
+        $dar = $this->getDao()->searchHeaderValue($messageId, $headerId);
+        if ($dar && !$dar->isError()) {
+            $row = $dar->current();
+            return $row['value'];
+        }
+        return false;
+    }
+
+    function getDao() {
+        if (!isset($this->_dao)) {
+            $this->_dao = new ForumML_MessageDao(CodendiDataAccess::instance());
+        }
+        return $this->_dao;
+    }
+
+}
+
+?>
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/include/ForumML_mimeDecode.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/ForumML_mimeDecode.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/ForumML_mimeDecode.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,106 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2004-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+require_once('Mail/mimeDecode.php');
+
+class ForumML_mimeDecode extends Mail_mimeDecode {
+
+    /**
+     * Redfined here just to avoid breakage on isStatic test (first line).
+     * It's just a copy/paste of parent's method
+     */
+    function decode($params = null)
+    {
+        // determine if this method has been called statically
+        $isStatic = !(isset($this) && get_class($this) == __CLASS__);
+
+        // Have we been called statically?
+	// If so, create an object and pass details to that.
+        if ($isStatic AND isset($params['input'])) {
+
+            $obj = new Mail_mimeDecode($params['input']);
+            $structure = $obj->decode($params);
+
+        // Called statically but no input
+        } elseif ($isStatic) {
+            return PEAR::raiseError('Called statically and no input given');
+
+        // Called via an object
+        } else {
+            $this->_include_bodies = isset($params['include_bodies']) ?
+	                             $params['include_bodies'] : false;
+            $this->_decode_bodies  = isset($params['decode_bodies']) ?
+	                             $params['decode_bodies']  : false;
+            $this->_decode_headers = isset($params['decode_headers']) ?
+	                             $params['decode_headers'] : false;
+
+            $structure = $this->_decode($this->_header, $this->_body);
+            if ($structure === false) {
+                $structure = $this->raiseError($this->_error);
+            }
+        }
+
+        return $structure;
+    }
+
+    /**
+     * Redefined to convert headers to utf8 automatically. Same method than
+     * parent except code between // +++ Codendi: UTF8
+     */
+    function _decodeHeader($input)
+    {
+        // Remove white space between encoded-words
+        $input = preg_replace('/(=\?[^?]+\?(q|b)\?[^?]*\?=)(\s)+=\?/i', '\1=?', $input);
+
+        // For each encoded-word...
+        while (preg_match('/(=\?([^?]+)\?(q|b)\?([^?]*)\?=)/i', $input, $matches)) {
+
+            $encoded  = $matches[1];
+            $charset  = $matches[2];
+            $encoding = $matches[3];
+            $text     = $matches[4];
+
+            switch (strtolower($encoding)) {
+                case 'b':
+                    $text = base64_decode($text);
+                    break;
+
+                case 'q':
+                    $text = str_replace('_', ' ', $text);
+                    preg_match_all('/=([a-f0-9]{2})/i', $text, $matches);
+                    foreach($matches[1] as $value)
+                        $text = str_replace('='.$value, chr(hexdec($value)), $text);
+                    break;
+            }
+
+            // +++ Codendi: UTF8
+            if (function_exists('mb_convert_encoding')) {
+                $text = mb_convert_encoding($text, 'UTF-8', $charset);
+            }
+            // --- Codendi: UTF8
+
+            $input = str_replace($encoded, $text, $input);
+        }
+
+        return $input;
+    }
+}
+
+?>

Added: trunk/plugins/coclico/forumml/include/forummlPlugin.class.php
===================================================================
--- trunk/plugins/coclico/forumml/include/forummlPlugin.class.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/include/forummlPlugin.class.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,235 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2004-2009. All rights reserved
+ *
+ * This file is a part of Codendi.
+ *
+ * Codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * Codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with Codendi. If not, see <http://www.gnu.org/licenses/>.
+ */
+require_once('preplugins.php');
+require_once('ForumMLSearchEngine.class.php');
+
+
+class ForumMLPlugin extends Plugin {
+
+	function __construct($id=0) {
+		parent::__construct($id);
+		$this->name = "forumml" ;
+		$this->text = "ForumML" ; // To show in the tabs, use...
+		$this->_addHook("user_personal_links");//to make a link to the user�s personal part of the plugin
+		$this->_addHook("usermenu") ;
+		$this->_addHook("groupisactivecheckbox") ; // The "use ..." checkbox in editgroupinfo
+		$this->_addHook("groupisactivecheckboxpost") ; //
+		$this->_addHook("userisactivecheckbox") ; // The "use ..." checkbox in user account
+		$this->_addHook("userisactivecheckboxpost") ; //
+		$this->_addHook("project_admin_plugins"); // to show up in the admin page fro group
+		$this->_addHook('browse_archives','forumml_browse_archives',false);
+		$this->_addHook('cssfile','cssFile',false);
+		$this->_addHook('javascript_file',                   'jsFile',                            false);
+		$this->_addHook('search_type', 'search_type', false);
+		$this->_addHook('layout_searchbox_options', 'forumml_searchbox_option', false);
+		$this->_addHook('layout_searchbox_hiddenInputs', 'forumml_searchbox_hiddenInput', false);
+		$this->_addHook('plugins_powered_search', 'forumml_search', false);
+		$this->_addHook('cssfile');
+		$this->_addHook('search_engines');
+		$this->_addHook('full_search_engines');
+		// Set ForumML plugin scope to 'Projects' wide 
+		//$this->setScope(Plugin::SCOPE_PROJECT);
+		$this->allowedForProject = array();
+	}
+
+	function CallHook ($hookname, $params) {
+		global $use_mailmanplugin,$G_SESSION,$HTML,$gfcommon,$gfwww,$gfplugins;
+		if ($hookname == "usermenu") {
+			$text = $this->text; // this is what shows in the tab
+			if ($G_SESSION->usesPlugin("mailman")) {
+				$param = '?type=user&id=' . $G_SESSION->getId() . "&pluginname=" . $this->name; // we indicate the part we�re calling is the user one
+				echo ' | ' . $HTML->PrintSubMenu (array ($text),
+						array ('/plugins/mailman/index.php' . $param ));				
+			}
+		} elseif ($hookname =='cssfile') {
+			echo '<link rel="stylesheet" type="text/css" href="/plugins/forumml/themes/default/css/style.css" />';
+		} elseif ($hookname == "groupisactivecheckbox") {
+			//Check if the group is active
+			// this code creates the checkbox in the project edit public info page to activate/deactivate the plugin
+			$group_id=$params['group'];
+			$group = &group_get_object($group_id);
+			echo "<tr>";
+			echo "<td>";
+			echo ' <input type="CHECKBOX" name="use_forummlplugin" value="1" ';
+			// CHECKED OR UNCHECKED?
+			if ( $group->usesPlugin ( $this->name ) ) {
+				echo "CHECKED";
+			}
+			echo "><br/>";
+			echo "</td>";
+			echo "<td>";
+			echo "<strong>Use ".$this->text." Plugin</strong>";
+			echo "</td>";
+			echo "</tr>";
+
+		} elseif ($hookname == "groupisactivecheckboxpost") {
+			// this code actually activates/deactivates the plugin after the form was submitted in the project edit public info page
+			$group_id=$params['group'];
+			$group = &group_get_object($group_id);
+			$use_mailmanplugin = getStringFromRequest('use_forummlplugin');
+			if ( $use_mailmanplugin == 1 ) {
+				$group->setPluginUse ( $this->name );
+			} else {
+				$group->setPluginUse ( $this->name, false );
+			}
+		} elseif ($hookname == "userisactivecheckbox") {
+			//check if user is active
+			// this code creates the checkbox in the user account manteinance page to activate/deactivate the plugin
+			$user = $params['user'];
+			echo "<tr>";
+			echo "<td>";
+			echo ' <input type="CHECKBOX" name="use_forummlplugin" value="1" ';
+			// CHECKED OR UNCHECKED?
+			if ( $user->usesPlugin ( $this->name ) ) {
+				echo "CHECKED";
+			}
+			echo ">    Use ".$this->text." Plugin";
+			echo "</td>";
+			echo "</tr>";
+		} elseif ($hookname == "userisactivecheckboxpost") {
+			// this code actually activates/deactivates the plugin after the form was submitted in the user account manteinance page
+			$user = $params['user'];
+			$use_mailmanplugin = getStringFromRequest('use_forummlplugin');
+			if ( $use_mailmanplugin == 1 ) {
+				$user->setPluginUse ( $this->name );
+			} else {
+				$user->setPluginUse ( $this->name, false );
+			}
+			echo "<tr>";
+			echo "<td>";
+			echo ' <input type="CHECKBOX" name="use_forummlplugin" value="1" ';
+			// CHECKED OR UNCHECKED?
+			if ( $user->usesPlugin ( $this->name ) ) {
+				echo "CHECKED";
+			}
+			echo ">    Use ".$this->text." Plugin";
+			echo "</td>";
+			echo "</tr>";
+		} elseif ($hookname == 'search_engines') {
+			$myfile=fopen('/tmp/hook','a');
+			// FIXME: when the hook is called, the group_id is not set.
+			// So I use the global variable instead.
+			$request =& HTTPRequest::instance();
+			$group_id = (int) $request->get('group_id');
+			if ($group_id) {
+				$group =& group_get_object($group_id);
+				if ($group->usesPlugin('forumml')) {
+					$params->addSearchEngine(
+							SEARCH__TYPE_IS_LIST,
+							new ForumMLSearchEngine(SEARCH__TYPE_IS_LIST, 
+								'ForumMLHtmlSearchRenderer', 
+								_("This project's mailing lists"), $group_id)
+							);
+				}
+			}
+		}  elseif ($hookname == "browse_archives") {
+			$this->forumml_browse_archives($params);
+		} elseif ($hookname == "cssfile") {
+			$this->cssFile($params);
+		} elseif ($hookname == "javascript_file") {
+			$this->jsFile($params);
+		} elseif ($hookname == "search_type") {
+			$this->search_type($params);
+		} elseif ($hookname == "layout_searchbox_options") {
+			$this->forumml_searchbox_option($params);
+		} elseif ($hookname == "layout_searchbox_hiddenInputs") {
+			$this->forumml_searchbox_hiddenInput($params);
+		} elseif ($hookname == "plugins_powered_search") {
+			$this->forumml_search($params);
+
+		}											
+	}
+
+	function &getPluginInfo() {
+		if (!is_a($this->pluginInfo, 'ForumMLPluginInfo')) {
+			require_once('ForumMLPluginInfo.class.php');
+			$this->pluginInfo =& new ForumMLPluginInfo($this);
+		}
+		return $this->pluginInfo;
+	}
+
+	/**
+	 * Return true if current project has the right to use this plugin.
+	 */
+	function isAllowed($group_id=false) {
+		if(!$group_id) {
+			$request =& HTTPRequest::instance();
+			$group_id = (int) $request->get('group_id');
+		}
+		$pm = ProjectManager::instance();
+		$Group = $pm->getProject($group_id);
+		return $Group->usesPlugin('forumml');
+	}
+
+	function forumml_searchbox_option($params) {
+		$request =& HTTPRequest::instance();
+		$group_id = (int) $request->get('group_id');
+		if(isset($_REQUEST['list']) && isset($group_id)) {
+			$params['option_html'] .= "\t<OPTION value=\"mail\"".( $params['type_of_search'] == "mail" ? " SELECTED" : "" ).">"._('This List')."</OPTION>\n";
+		}
+	}
+
+	function forumml_searchbox_hiddenInput($params) {
+		if(isset($_REQUEST['list'])) {
+			$params['input_html'] .= "\t<INPUT TYPE=\"HIDDEN\" VALUE=\"". $_REQUEST['list'] ."\" NAME=\"list\">\n";
+		}
+	}
+
+	function forumml_browse_archives($params) {
+		if ($this->isAllowed()) {
+			$request =& HTTPRequest::instance();
+			$group_id = (int) $request->get('group_id');
+			$params['html'] = '<A href="/plugins/forumml/message.php?group_id='.$group_id.'&list='.$params['group_list_id'].'"> '._('Archives').'</A>';
+		}
+	}
+
+	function cssFile($params) {
+		$request =& HTTPRequest::instance();
+		if (strpos($_SERVER['REQUEST_URI'], $this->getPluginPath()) === 0) {
+			echo '<link rel="stylesheet" type="text/css" href="'.$this->getThemePath().'/css/style.css" />'."\n";
+		}
+	}
+
+	function jsFile($params) {
+		//$request =& HTTPRequest::instance();
+		if (strpos($_SERVER['REQUEST_URI'], $this->getPluginPath()) === 0) {
+			//echo '<link rel="stylesheet" type="text/css" href="'.$this->getThemePath().'/css/style.css" />'."\n";
+			echo '<script type="text/javascript" src="'.$this->getPluginPath().'/scripts/forumml.js"></script>'."\n";
+		}
+	}
+
+	function forumml_search($params) {
+		if($params['type_of_search'] == 'mail') {
+			$params['plugins_powered_search'] = true;
+		}
+	}
+
+	function search_type($params) {
+		if(isset($params['type_of_search']) && $params['type_of_search'] == 'mail') {
+			$request =& HTTPRequest::instance();
+			$group_id = (int) $request->get('group_id');
+			$list = (int) $request->get('list');
+			util_return_to('/plugins/forumml/message.php?group_id='.$group_id.'&list='.$list.'&search='.urlencode($params['words']));
+		}
+	}
+
+}
+
+?>

Added: trunk/plugins/coclico/forumml/packaging/control/000source
===================================================================
--- trunk/plugins/coclico/forumml/packaging/control/000source	                        (rev 0)
+++ trunk/plugins/coclico/forumml/packaging/control/000source	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,10 @@
+Source: @SRCPACKAGE@
+Section: devel
+Priority: optional
+Maintainer: Christian Bayle <bayle at debian.org>
+Uploaders: Roland Mas <lolando at debian.org>
+Build-Depends-Indep: devscripts
+Build-Depends: debhelper (>= 7), perl, gettext
+Standards-Version: 3.8.4
+Homepage: http://fusionforge.org/
+Vcs-Bzr: http://scm.fusionforge.org/bzr/fusionforge/svn-trunk-ro/

Added: trunk/plugins/coclico/forumml/packaging/control/222plugin-forumml
===================================================================
--- trunk/plugins/coclico/forumml/packaging/control/222plugin-forumml	                        (rev 0)
+++ trunk/plugins/coclico/forumml/packaging/control/222plugin-forumml	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,4 @@
+Package: @SRCPACKAGE@
+Architecture: all
+Depends: @OLDPACKAGE at -common, @OLDPACKAGE at -db-postgresql | @OLDPACKAGE at -db, @OLDPACKAGE at -web-apache2 | @OLDPACKAGE at -web, php5-cli, php-mail, php-mail-mime, php-mail-mbox, php-mail-mimedecode, ${misc:Depends}
+Description: collaborative development tool - ForumML plugin

Added: trunk/plugins/coclico/forumml/packaging/control/222plugin-forumml.shortdesc
===================================================================
--- trunk/plugins/coclico/forumml/packaging/control/222plugin-forumml.shortdesc	                        (rev 0)
+++ trunk/plugins/coclico/forumml/packaging/control/222plugin-forumml.shortdesc	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,3 @@
+ This plugin contains the ForumML subsystem of FusionForge. It allows each
+ FusionForge project to have its own ForumML, and gives some
+ control over it to the project's administrator.

Added: trunk/plugins/coclico/forumml/packaging/dirs/plugin-forumml
===================================================================
--- trunk/plugins/coclico/forumml/packaging/dirs/plugin-forumml	                        (rev 0)
+++ trunk/plugins/coclico/forumml/packaging/dirs/plugin-forumml	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,8 @@
+etc/gforge/httpd.d
+etc/gforge/plugins/forumml
+usr/share/gforge/plugins/forumml/cgi-bin
+usr/share/gforge/plugins/forumml/common
+usr/share/gforge/plugins/forumml/www
+var/spool/forumml
+var/lib/gforge/forumml
+var/log/gforge

Added: trunk/plugins/coclico/forumml/packaging/docs/plugin-forumml
===================================================================
--- trunk/plugins/coclico/forumml/packaging/docs/plugin-forumml	                        (rev 0)
+++ trunk/plugins/coclico/forumml/packaging/docs/plugin-forumml	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1 @@
+debian/README.Debian

Added: trunk/plugins/coclico/forumml/packaging/install/plugin-forumml
===================================================================
--- trunk/plugins/coclico/forumml/packaging/install/plugin-forumml	                        (rev 0)
+++ trunk/plugins/coclico/forumml/packaging/install/plugin-forumml	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,6 @@
+common/*                  usr/share/gforge/plugins/forumml/common/
+include/*                 usr/share/gforge/plugins/forumml/include/
+db/*                      usr/share/gforge/plugins/forumml/db/
+bin/*                     usr/share/gforge/plugins/forumml/bin/
+www/*                     usr/share/gforge/plugins/forumml/www/
+etc/*                     usr/share/gforge/plugins/forumml/etc/

Added: trunk/plugins/coclico/forumml/packaging/links/plugin-forumml
===================================================================
--- trunk/plugins/coclico/forumml/packaging/links/plugin-forumml	                        (rev 0)
+++ trunk/plugins/coclico/forumml/packaging/links/plugin-forumml	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1 @@
+/usr/share/gforge/plugins/forumml/www /usr/share/gforge/www/plugins/forumml

Added: trunk/plugins/coclico/forumml/selinux/forumml0.pp
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml0.pp	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml0.pp	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,15 @@
+ÿ|ù         ÿ|ù   SE Linux Module                   forumml0   1.0              
+                    tcp_socket      write      read                    dir      write      remove_name      getattr      add_name      search                    lnk_file      getattr      read                    process      signal	                    fifo_file      write      ioctl      getattr      read          	   	       file   	   append      create      execute      write      unlink      ioctl      getattr      read      execute_no_trans                    unix_stream_socket      write	      connectto      read	                    sock_file      write            object_r@           @           @               !   !                @           mysqld_var_run_t             @           httpd_sys_content_t             @           postfix_bounce_t             @           postfix_cleanup_t
+             @           ifconfig_t             @           initrc_t             @           avahi_t             @           xfs_t             @           mysqld_etc_t
+             @           logwatch_t             @           mailman_mail_t             @           setroubleshootd_t             @           postfix_master_t             @           postfix_pickup_t   
+          @           mysqld_db_t             @           postfix_smtpd_t
+             @           groupadd_t             @           mysqld_t             @           crond_t   !          @           httpd_t             @           lib_t             @           named_t             @           nscd_t   
+          @           tmp_t             @           usr_t              @           postfix_qmgr_t             @           postfix_smtp_t
+             @           system_mail_t   	          @           system_dbusd_t
+             @           semanage_t             @           unconfined_t	             @           var_run_t	             @           useradd_t                                                 G          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     @          @   @                 @               @   @          €       @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @             @    @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     „         @   @                 @               @   @          €       @                               @   @           @      @               @   @          €       @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @            @     @                               @   @                 @               @   @                  @                               @   @                 @               @   @                  @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     ¤         @   @                 @               @           @                               @   @                 @               @   @                 @                     [          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     L         @   @            €     @               @   @                 @                               @   @            €     @               @   @                 @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @             €    @               @   @          €       @                               @   @             €    @               @   @                 @                               @   @             €    @               @   @                 @                     @          @   @           €      @               @   @          €       @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @           €      @               @   @            @     @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @                  @               @   @          €       @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                     B          @   @                  @               @   @            @     @                               @   @                  @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @             @    @               @   @                  @                               @   @             @    @               @   @                 @                               @   @             @    @               @   @          €       @                               @   @          @       @               @   @            @     @                                    @           @   @          ÿ       @           @   @          ÿÿÿÿ   @           @           @           @              @   @                 @   @                 @   @                 @   @                 @   @          ÿ      @   @                 @   @                 @   @                 @           @           @           @           @           @           @           @                                                                                      
+   tcp_socket            dir            lnk_file            process         	   fifo_file            file            unix_stream_socket         	   sock_file               object_r         !      mysqld_var_run_t            httpd_sys_content_t            postfix_bounce_t            postfix_cleanup_t         
+   ifconfig_t            initrc_t            avahi_t            xfs_t            mysqld_etc_t         
+   logwatch_t            mailman_mail_t            setroubleshootd_t            postfix_master_t            postfix_pickup_t            mysqld_db_t            postfix_smtpd_t         
+   groupadd_t            mysqld_t            crond_t            httpd_t            lib_t            named_t            nscd_t            tmp_t            usr_t            postfix_qmgr_t            postfix_smtp_t         
+   system_mail_t            system_dbusd_t         
+   semanage_t            unconfined_t         	   var_run_t         	   useradd_t                             
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/selinux/forumml0.te
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml0.te	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml0.te	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,157 @@
+
+module forumml0 1.0;
+
+require {
+	type mailman_mail_t;
+	type unconfined_t;
+	type semanage_t;
+	type usr_t;
+	type var_run_t;
+	type postfix_smtpd_t;
+	type xfs_t;
+	type initrc_t;
+	type system_dbusd_t;
+	type tmp_t;
+	type mysqld_etc_t;
+	type avahi_t;
+	type mysqld_db_t;
+	type httpd_sys_content_t;
+	type logwatch_t;
+	type postfix_smtp_t;
+	type postfix_bounce_t;
+	type ifconfig_t;
+	type lib_t;
+	type mysqld_var_run_t;
+	type nscd_t;
+	type useradd_t;
+	type mysqld_t;
+	type named_t;
+	type postfix_cleanup_t;
+	type postfix_master_t;
+	type setroubleshootd_t;
+	type postfix_pickup_t;
+	type groupadd_t;
+	type crond_t;
+	type system_mail_t;
+	type postfix_qmgr_t;
+	type httpd_t;
+	class fifo_file { write read ioctl getattr };
+	class process signal;
+	class unix_stream_socket { connectto read write };
+	class tcp_socket { read write };
+	class file { execute read create ioctl execute_no_trans write getattr unlink append };
+	class sock_file write;
+	class lnk_file { read getattr };
+	class dir { write search getattr remove_name add_name };
+}
+
+#============= avahi_t ==============
+allow avahi_t mysqld_db_t:dir search;
+allow avahi_t mysqld_etc_t:file getattr;
+
+#============= groupadd_t ==============
+allow groupadd_t initrc_t:unix_stream_socket connectto;
+
+#============= httpd_t ==============
+allow httpd_t crond_t:unix_stream_socket { read write };
+allow httpd_t initrc_t:unix_stream_socket connectto;
+allow httpd_t mysqld_etc_t:file { read getattr };
+allow httpd_t system_mail_t:process signal;
+allow httpd_t tmp_t:file { read getattr };
+allow httpd_t unconfined_t:unix_stream_socket { read write };
+allow httpd_t usr_t:file { create unlink append };
+
+#============= ifconfig_t ==============
+allow ifconfig_t initrc_t:tcp_socket { read write };
+
+#============= logwatch_t ==============
+allow logwatch_t initrc_t:unix_stream_socket connectto;
+allow logwatch_t mysqld_etc_t:file read;
+allow logwatch_t mysqld_t:unix_stream_socket connectto;
+
+#============= mailman_mail_t ==============
+allow mailman_mail_t httpd_sys_content_t:dir { search getattr };
+allow mailman_mail_t httpd_sys_content_t:file { read getattr };
+allow mailman_mail_t httpd_sys_content_t:lnk_file { read getattr };
+allow mailman_mail_t initrc_t:unix_stream_socket connectto;
+allow mailman_mail_t lib_t:dir { write remove_name add_name };
+allow mailman_mail_t lib_t:file { write create unlink };
+allow mailman_mail_t self:fifo_file { write read ioctl getattr };
+allow mailman_mail_t usr_t:file { read getattr ioctl execute execute_no_trans };
+allow mailman_mail_t usr_t:lnk_file { read getattr };
+allow mailman_mail_t var_run_t:dir { write add_name };
+allow mailman_mail_t var_run_t:file { create ioctl append getattr };
+
+#============= named_t ==============
+allow named_t mysqld_db_t:dir search;
+allow named_t mysqld_etc_t:file { read getattr };
+
+#============= nscd_t ==============
+allow nscd_t useradd_t:unix_stream_socket { read write };
+
+#============= postfix_bounce_t ==============
+allow postfix_bounce_t initrc_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_db_t:dir search;
+allow postfix_bounce_t mysqld_etc_t:file { read getattr };
+allow postfix_bounce_t mysqld_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_cleanup_t ==============
+allow postfix_cleanup_t initrc_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_db_t:dir search;
+allow postfix_cleanup_t mysqld_etc_t:file { read getattr };
+allow postfix_cleanup_t mysqld_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_var_run_t:sock_file write;
+allow postfix_cleanup_t usr_t:file { read getattr };
+
+#============= postfix_master_t ==============
+allow postfix_master_t initrc_t:unix_stream_socket connectto;
+allow postfix_master_t mysqld_etc_t:file { read getattr };
+
+#============= postfix_pickup_t ==============
+allow postfix_pickup_t initrc_t:unix_stream_socket connectto;
+allow postfix_pickup_t mysqld_db_t:dir search;
+allow postfix_pickup_t mysqld_etc_t:file { read getattr };
+allow postfix_pickup_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_qmgr_t ==============
+allow postfix_qmgr_t initrc_t:unix_stream_socket connectto;
+allow postfix_qmgr_t mysqld_db_t:dir search;
+allow postfix_qmgr_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtp_t ==============
+allow postfix_smtp_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_db_t:dir search;
+allow postfix_smtp_t mysqld_etc_t:file { read getattr };
+allow postfix_smtp_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_var_run_t:sock_file write;
+allow postfix_smtp_t usr_t:file { read getattr };
+
+#============= postfix_smtpd_t ==============
+allow postfix_smtpd_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_db_t:dir search;
+allow postfix_smtpd_t mysqld_etc_t:file { read getattr };
+allow postfix_smtpd_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_var_run_t:sock_file write;
+
+#============= semanage_t ==============
+allow semanage_t httpd_sys_content_t:lnk_file read;
+allow semanage_t initrc_t:unix_stream_socket connectto;
+allow semanage_t mysqld_t:unix_stream_socket connectto;
+allow semanage_t mysqld_var_run_t:sock_file write;
+
+#============= setroubleshootd_t ==============
+allow setroubleshootd_t httpd_sys_content_t:lnk_file read;
+
+#============= system_dbusd_t ==============
+allow system_dbusd_t initrc_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_var_run_t:sock_file write;
+
+#============= system_mail_t ==============
+allow system_mail_t crond_t:unix_stream_socket { read write };
+allow system_mail_t httpd_t:file read;
+allow system_mail_t initrc_t:unix_stream_socket connectto;
+
+#============= xfs_t ==============
+allow xfs_t mysqld_t:unix_stream_socket connectto;

Added: trunk/plugins/coclico/forumml/selinux/forumml1.pp
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml1.pp	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml1.pp	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,15 @@
+ÿ|ù         ÿ|ù   SE Linux Module                   forumml1   1.0              
+                    tcp_socket      write      read                    dir      write      remove_name      getattr      add_name      search                    lnk_file      getattr      read                    process      signal	                    fifo_file      write      ioctl      getattr      read          	   	       file   	   append      create      execute      write      unlink      ioctl      getattr      read      execute_no_trans                    unix_stream_socket      write	      connectto      read	                    sock_file      write            object_r@           @           @               !   !                @           mysqld_var_run_t             @           httpd_sys_content_t             @           postfix_bounce_t             @           postfix_cleanup_t
+             @           ifconfig_t             @           initrc_t             @           avahi_t             @           xfs_t             @           mysqld_etc_t
+             @           logwatch_t             @           mailman_mail_t             @           setroubleshootd_t             @           postfix_master_t             @           postfix_pickup_t   
+          @           mysqld_db_t             @           postfix_smtpd_t
+             @           groupadd_t             @           mysqld_t             @           crond_t   !          @           httpd_t             @           lib_t             @           named_t             @           nscd_t   
+          @           tmp_t             @           usr_t              @           postfix_qmgr_t             @           postfix_smtp_t
+             @           system_mail_t   	          @           system_dbusd_t
+             @           semanage_t             @           unconfined_t	             @           var_run_t	             @           useradd_t                                                 G          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     @          @   @                 @               @   @          €       @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @             @    @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     „         @   @                 @               @   @          €       @                               @   @           @      @               @   @          €       @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @            @     @                               @   @                 @               @   @                  @                               @   @                 @               @   @                  @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     ¤         @   @                 @               @           @                               @   @                 @               @   @                 @                     [          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     L         @   @            €     @               @   @                 @                               @   @            €     @               @   @                 @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @             €    @               @   @          €       @                               @   @             €    @               @   @                 @                               @   @             €    @               @   @                 @                     @          @   @           €      @               @   @          €       @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @           €      @               @   @            @     @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @                  @               @   @          €       @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                     B          @   @                  @               @   @            @     @                               @   @                  @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @             @    @               @   @                  @                               @   @             @    @               @   @                 @                               @   @             @    @               @   @          €       @                               @   @          @       @               @   @            @     @                                    @           @   @          ÿ       @           @   @          ÿÿÿÿ   @           @           @           @              @   @                 @   @                 @   @                 @   @                 @   @          ÿ      @   @                 @   @                 @   @                 @           @           @           @           @           @           @           @                                                                                      
+   tcp_socket            dir            lnk_file            process         	   fifo_file            file            unix_stream_socket         	   sock_file               object_r         !      mysqld_var_run_t            httpd_sys_content_t            postfix_bounce_t            postfix_cleanup_t         
+   ifconfig_t            initrc_t            avahi_t            xfs_t            mysqld_etc_t         
+   logwatch_t            mailman_mail_t            setroubleshootd_t            postfix_master_t            postfix_pickup_t            mysqld_db_t            postfix_smtpd_t         
+   groupadd_t            mysqld_t            crond_t            httpd_t            lib_t            named_t            nscd_t            tmp_t            usr_t            postfix_qmgr_t            postfix_smtp_t         
+   system_mail_t            system_dbusd_t         
+   semanage_t            unconfined_t         	   var_run_t         	   useradd_t                             
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/selinux/forumml1.te
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml1.te	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml1.te	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,157 @@
+
+module forumml1 1.0;
+
+require {
+	type mailman_mail_t;
+	type unconfined_t;
+	type semanage_t;
+	type usr_t;
+	type var_run_t;
+	type postfix_smtpd_t;
+	type xfs_t;
+	type initrc_t;
+	type system_dbusd_t;
+	type tmp_t;
+	type mysqld_etc_t;
+	type avahi_t;
+	type mysqld_db_t;
+	type httpd_sys_content_t;
+	type logwatch_t;
+	type postfix_smtp_t;
+	type postfix_bounce_t;
+	type ifconfig_t;
+	type lib_t;
+	type mysqld_var_run_t;
+	type nscd_t;
+	type useradd_t;
+	type mysqld_t;
+	type named_t;
+	type postfix_cleanup_t;
+	type postfix_master_t;
+	type setroubleshootd_t;
+	type postfix_pickup_t;
+	type groupadd_t;
+	type crond_t;
+	type system_mail_t;
+	type postfix_qmgr_t;
+	type httpd_t;
+	class fifo_file { write read ioctl getattr };
+	class process signal;
+	class unix_stream_socket { connectto read write };
+	class tcp_socket { read write };
+	class file { execute read create ioctl execute_no_trans write getattr unlink append };
+	class sock_file write;
+	class lnk_file { read getattr };
+	class dir { write search getattr remove_name add_name };
+}
+
+#============= avahi_t ==============
+allow avahi_t mysqld_db_t:dir search;
+allow avahi_t mysqld_etc_t:file getattr;
+
+#============= groupadd_t ==============
+allow groupadd_t initrc_t:unix_stream_socket connectto;
+
+#============= httpd_t ==============
+allow httpd_t crond_t:unix_stream_socket { read write };
+allow httpd_t initrc_t:unix_stream_socket connectto;
+allow httpd_t mysqld_etc_t:file { read getattr };
+allow httpd_t system_mail_t:process signal;
+allow httpd_t tmp_t:file { read getattr };
+allow httpd_t unconfined_t:unix_stream_socket { read write };
+allow httpd_t usr_t:file { create unlink append };
+
+#============= ifconfig_t ==============
+allow ifconfig_t initrc_t:tcp_socket { read write };
+
+#============= logwatch_t ==============
+allow logwatch_t initrc_t:unix_stream_socket connectto;
+allow logwatch_t mysqld_etc_t:file read;
+allow logwatch_t mysqld_t:unix_stream_socket connectto;
+
+#============= mailman_mail_t ==============
+allow mailman_mail_t httpd_sys_content_t:dir { search getattr };
+allow mailman_mail_t httpd_sys_content_t:file { read getattr };
+allow mailman_mail_t httpd_sys_content_t:lnk_file { read getattr };
+allow mailman_mail_t initrc_t:unix_stream_socket connectto;
+allow mailman_mail_t lib_t:dir { write remove_name add_name };
+allow mailman_mail_t lib_t:file { write create unlink };
+allow mailman_mail_t self:fifo_file { write read ioctl getattr };
+allow mailman_mail_t usr_t:file { read getattr ioctl execute execute_no_trans };
+allow mailman_mail_t usr_t:lnk_file { read getattr };
+allow mailman_mail_t var_run_t:dir { write add_name };
+allow mailman_mail_t var_run_t:file { create ioctl append getattr };
+
+#============= named_t ==============
+allow named_t mysqld_db_t:dir search;
+allow named_t mysqld_etc_t:file { read getattr };
+
+#============= nscd_t ==============
+allow nscd_t useradd_t:unix_stream_socket { read write };
+
+#============= postfix_bounce_t ==============
+allow postfix_bounce_t initrc_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_db_t:dir search;
+allow postfix_bounce_t mysqld_etc_t:file { read getattr };
+allow postfix_bounce_t mysqld_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_cleanup_t ==============
+allow postfix_cleanup_t initrc_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_db_t:dir search;
+allow postfix_cleanup_t mysqld_etc_t:file { read getattr };
+allow postfix_cleanup_t mysqld_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_var_run_t:sock_file write;
+allow postfix_cleanup_t usr_t:file { read getattr };
+
+#============= postfix_master_t ==============
+allow postfix_master_t initrc_t:unix_stream_socket connectto;
+allow postfix_master_t mysqld_etc_t:file { read getattr };
+
+#============= postfix_pickup_t ==============
+allow postfix_pickup_t initrc_t:unix_stream_socket connectto;
+allow postfix_pickup_t mysqld_db_t:dir search;
+allow postfix_pickup_t mysqld_etc_t:file { read getattr };
+allow postfix_pickup_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_qmgr_t ==============
+allow postfix_qmgr_t initrc_t:unix_stream_socket connectto;
+allow postfix_qmgr_t mysqld_db_t:dir search;
+allow postfix_qmgr_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtp_t ==============
+allow postfix_smtp_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_db_t:dir search;
+allow postfix_smtp_t mysqld_etc_t:file { read getattr };
+allow postfix_smtp_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_var_run_t:sock_file write;
+allow postfix_smtp_t usr_t:file { read getattr };
+
+#============= postfix_smtpd_t ==============
+allow postfix_smtpd_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_db_t:dir search;
+allow postfix_smtpd_t mysqld_etc_t:file { read getattr };
+allow postfix_smtpd_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_var_run_t:sock_file write;
+
+#============= semanage_t ==============
+allow semanage_t httpd_sys_content_t:lnk_file read;
+allow semanage_t initrc_t:unix_stream_socket connectto;
+allow semanage_t mysqld_t:unix_stream_socket connectto;
+allow semanage_t mysqld_var_run_t:sock_file write;
+
+#============= setroubleshootd_t ==============
+allow setroubleshootd_t httpd_sys_content_t:lnk_file read;
+
+#============= system_dbusd_t ==============
+allow system_dbusd_t initrc_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_var_run_t:sock_file write;
+
+#============= system_mail_t ==============
+allow system_mail_t crond_t:unix_stream_socket { read write };
+allow system_mail_t httpd_t:file read;
+allow system_mail_t initrc_t:unix_stream_socket connectto;
+
+#============= xfs_t ==============
+allow xfs_t mysqld_t:unix_stream_socket connectto;

Added: trunk/plugins/coclico/forumml/selinux/forumml2.pp
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml2.pp	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml2.pp	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,15 @@
+ÿ|ù         ÿ|ù   SE Linux Module                   forumml2   1.0              
+                    tcp_socket      write      read                    dir      write      remove_name      getattr      add_name      read      search                    lnk_file      getattr      read                    process      signal	                    fifo_file      write      ioctl      getattr      read          	   	       file   	   append      create      execute      write      unlink      ioctl      getattr      read      execute_no_trans                    unix_stream_socket      write	      connectto      read	                    sock_file      write            object_r@           @           @               !   !                @           mysqld_var_run_t             @           httpd_sys_content_t             @           postfix_bounce_t             @           postfix_cleanup_t
+             @           ifconfig_t             @           initrc_t             @           avahi_t             @           xfs_t             @           mysqld_etc_t
+             @           logwatch_t             @           mailman_mail_t             @           setroubleshootd_t             @           postfix_master_t             @           postfix_pickup_t   
+          @           mysqld_db_t             @           postfix_smtpd_t
+             @           groupadd_t             @           mysqld_t             @           crond_t   !          @           httpd_t             @           lib_t             @           named_t             @           nscd_t   
+          @           tmp_t             @           usr_t              @           postfix_qmgr_t             @           postfix_smtp_t
+             @           system_mail_t   	          @           system_dbusd_t
+             @           semanage_t             @           unconfined_t	             @           var_run_t	             @           useradd_t                                                 H          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     @          @   @                 @               @   @          €       @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @             @    @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     „         @   @                 @               @   @          €       @                               @   @           @      @               @   @          €       @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @            @     @                               @   @                 @               @   @                  @                               @   @                 @               @   @                  @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     ¤         @   @                 @               @           @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                     [          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     N         @   @            €     @               @   @                 @                               @   @            €     @               @   @                 @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @             €    @               @   @          €       @                               @   @             €    @               @   @                 @                               @   @             €    @               @   @                 @                     @          @   @           €      @               @   @          €       @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @           €      @               @   @            @     @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @                  @               @   @          €       @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                     B          @   @                  @               @   @            @     @                               @   @                  @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @             @    @               @   @                  @                               @   @             @    @               @   @                 @                               @   @             @    @               @   @          €       @                               @   @          @       @               @   @            @     @                                    @           @   @          ÿ       @           @   @          ÿÿÿÿ   @           @           @           @              @   @                 @   @                 @   @                 @   @                 @   @          ÿ      @   @                 @   @                 @   @          ?       @           @           @           @           @           @           @           @                                                                                      
+   tcp_socket            dir            lnk_file            process         	   fifo_file            file            unix_stream_socket         	   sock_file               object_r         !      mysqld_var_run_t            httpd_sys_content_t            postfix_bounce_t            postfix_cleanup_t         
+   ifconfig_t            initrc_t            avahi_t            xfs_t            mysqld_etc_t         
+   logwatch_t            mailman_mail_t            setroubleshootd_t            postfix_master_t            postfix_pickup_t            mysqld_db_t            postfix_smtpd_t         
+   groupadd_t            mysqld_t            crond_t            httpd_t            lib_t            named_t            nscd_t            tmp_t            usr_t            postfix_qmgr_t            postfix_smtp_t         
+   system_mail_t            system_dbusd_t         
+   semanage_t            unconfined_t         	   var_run_t         	   useradd_t                             
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/selinux/forumml2.te
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml2.te	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml2.te	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,158 @@
+
+module forumml2 1.0;
+
+require {
+	type mailman_mail_t;
+	type unconfined_t;
+	type semanage_t;
+	type usr_t;
+	type var_run_t;
+	type postfix_smtpd_t;
+	type xfs_t;
+	type initrc_t;
+	type system_dbusd_t;
+	type tmp_t;
+	type mysqld_etc_t;
+	type avahi_t;
+	type mysqld_db_t;
+	type httpd_sys_content_t;
+	type logwatch_t;
+	type postfix_smtp_t;
+	type postfix_bounce_t;
+	type ifconfig_t;
+	type lib_t;
+	type mysqld_var_run_t;
+	type nscd_t;
+	type useradd_t;
+	type mysqld_t;
+	type named_t;
+	type postfix_cleanup_t;
+	type postfix_master_t;
+	type setroubleshootd_t;
+	type postfix_pickup_t;
+	type groupadd_t;
+	type crond_t;
+	type system_mail_t;
+	type postfix_qmgr_t;
+	type httpd_t;
+	class fifo_file { write read ioctl getattr };
+	class process signal;
+	class unix_stream_socket { connectto read write };
+	class tcp_socket { read write };
+	class file { execute read create ioctl execute_no_trans write getattr unlink append };
+	class sock_file write;
+	class lnk_file { read getattr };
+	class dir { write search getattr read remove_name add_name };
+}
+
+#============= avahi_t ==============
+allow avahi_t mysqld_db_t:dir search;
+allow avahi_t mysqld_etc_t:file getattr;
+
+#============= groupadd_t ==============
+allow groupadd_t initrc_t:unix_stream_socket connectto;
+
+#============= httpd_t ==============
+allow httpd_t crond_t:unix_stream_socket { read write };
+allow httpd_t initrc_t:unix_stream_socket connectto;
+allow httpd_t mysqld_etc_t:file { read getattr };
+allow httpd_t system_mail_t:process signal;
+allow httpd_t tmp_t:file { read getattr };
+allow httpd_t unconfined_t:unix_stream_socket { read write };
+allow httpd_t usr_t:file { create unlink append };
+
+#============= ifconfig_t ==============
+allow ifconfig_t initrc_t:tcp_socket { read write };
+
+#============= logwatch_t ==============
+allow logwatch_t initrc_t:unix_stream_socket connectto;
+allow logwatch_t mysqld_etc_t:file read;
+allow logwatch_t mysqld_t:unix_stream_socket connectto;
+
+#============= mailman_mail_t ==============
+allow mailman_mail_t httpd_sys_content_t:dir { read search getattr };
+allow mailman_mail_t httpd_sys_content_t:file { read getattr };
+allow mailman_mail_t httpd_sys_content_t:lnk_file { read getattr };
+allow mailman_mail_t initrc_t:unix_stream_socket connectto;
+allow mailman_mail_t lib_t:dir { write remove_name add_name };
+allow mailman_mail_t lib_t:file { write create unlink };
+allow mailman_mail_t self:fifo_file { write read ioctl getattr };
+allow mailman_mail_t tmp_t:file { read getattr };
+allow mailman_mail_t usr_t:file { read getattr ioctl execute execute_no_trans };
+allow mailman_mail_t usr_t:lnk_file { read getattr };
+allow mailman_mail_t var_run_t:dir { write remove_name add_name };
+allow mailman_mail_t var_run_t:file { read create ioctl append getattr };
+
+#============= named_t ==============
+allow named_t mysqld_db_t:dir search;
+allow named_t mysqld_etc_t:file { read getattr };
+
+#============= nscd_t ==============
+allow nscd_t useradd_t:unix_stream_socket { read write };
+
+#============= postfix_bounce_t ==============
+allow postfix_bounce_t initrc_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_db_t:dir search;
+allow postfix_bounce_t mysqld_etc_t:file { read getattr };
+allow postfix_bounce_t mysqld_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_cleanup_t ==============
+allow postfix_cleanup_t initrc_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_db_t:dir search;
+allow postfix_cleanup_t mysqld_etc_t:file { read getattr };
+allow postfix_cleanup_t mysqld_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_var_run_t:sock_file write;
+allow postfix_cleanup_t usr_t:file { read getattr };
+
+#============= postfix_master_t ==============
+allow postfix_master_t initrc_t:unix_stream_socket connectto;
+allow postfix_master_t mysqld_etc_t:file { read getattr };
+
+#============= postfix_pickup_t ==============
+allow postfix_pickup_t initrc_t:unix_stream_socket connectto;
+allow postfix_pickup_t mysqld_db_t:dir search;
+allow postfix_pickup_t mysqld_etc_t:file { read getattr };
+allow postfix_pickup_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_qmgr_t ==============
+allow postfix_qmgr_t initrc_t:unix_stream_socket connectto;
+allow postfix_qmgr_t mysqld_db_t:dir search;
+allow postfix_qmgr_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtp_t ==============
+allow postfix_smtp_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_db_t:dir search;
+allow postfix_smtp_t mysqld_etc_t:file { read getattr };
+allow postfix_smtp_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_var_run_t:sock_file write;
+allow postfix_smtp_t usr_t:file { read getattr };
+
+#============= postfix_smtpd_t ==============
+allow postfix_smtpd_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_db_t:dir search;
+allow postfix_smtpd_t mysqld_etc_t:file { read getattr };
+allow postfix_smtpd_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_var_run_t:sock_file write;
+
+#============= semanage_t ==============
+allow semanage_t httpd_sys_content_t:lnk_file read;
+allow semanage_t initrc_t:unix_stream_socket connectto;
+allow semanage_t mysqld_t:unix_stream_socket connectto;
+allow semanage_t mysqld_var_run_t:sock_file write;
+
+#============= setroubleshootd_t ==============
+allow setroubleshootd_t httpd_sys_content_t:lnk_file read;
+
+#============= system_dbusd_t ==============
+allow system_dbusd_t initrc_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_var_run_t:sock_file write;
+
+#============= system_mail_t ==============
+allow system_mail_t crond_t:unix_stream_socket { read write };
+allow system_mail_t httpd_t:file read;
+allow system_mail_t initrc_t:unix_stream_socket connectto;
+
+#============= xfs_t ==============
+allow xfs_t mysqld_t:unix_stream_socket connectto;

Added: trunk/plugins/coclico/forumml/selinux/forumml3.pp
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml3.pp	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml3.pp	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,15 @@
+ÿ|ù         ÿ|ù   SE Linux Module                   forumml3   1.0              
+                    tcp_socket      write      read                    dir      write      remove_name      getattr      add_name      read      search                    lnk_file      getattr      read                    process      signal	                    fifo_file      write      ioctl      getattr      read          	   	       file   	   append      create      execute      write      unlink      ioctl      getattr      read      execute_no_trans                    unix_stream_socket      write	      connectto      read	                    sock_file      write            object_r@           @           @               !   !                @           mysqld_var_run_t             @           httpd_sys_content_t             @           postfix_bounce_t             @           postfix_cleanup_t
+             @           ifconfig_t             @           initrc_t             @           avahi_t             @           xfs_t             @           mysqld_etc_t
+             @           logwatch_t             @           mailman_mail_t             @           setroubleshootd_t             @           postfix_master_t             @           postfix_pickup_t   
+          @           mysqld_db_t             @           postfix_smtpd_t
+             @           groupadd_t             @           mysqld_t             @           crond_t   !          @           httpd_t             @           lib_t             @           named_t             @           nscd_t   
+          @           tmp_t             @           usr_t              @           postfix_qmgr_t             @           postfix_smtp_t
+             @           system_mail_t   	          @           system_dbusd_t
+             @           semanage_t             @           unconfined_t	             @           var_run_t	             @           useradd_t                                                 H          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     @          @   @                 @               @   @          €       @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @             @    @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     „         @   @                 @               @   @          €       @                               @   @           @      @               @   @          €       @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @            @     @                               @   @                 @               @   @                  @                               @   @                 @               @   @                  @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     ¤         @   @                 @               @           @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                     [          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     Î         @   @            €     @               @   @                 @                               @   @            €     @               @   @                 @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @             €    @               @   @          €       @                               @   @             €    @               @   @                 @                               @   @             €    @               @   @                 @                     @          @   @           €      @               @   @          €       @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @           €      @               @   @            @     @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @                  @               @   @          €       @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                     B          @   @                  @               @   @            @     @                               @   @                  @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @             @    @               @   @                  @                               @   @             @    @               @   @                 @                               @   @             @    @               @   @          €       @                               @   @          @       @               @   @            @     @                                    @           @   @          ÿ       @           @   @          ÿÿÿÿ   @           @           @           @              @   @                 @   @                 @   @                 @   @                 @   @          ÿ      @   @                 @   @                 @   @          ?       @           @           @           @           @           @           @           @                                                                                      
+   tcp_socket            dir            lnk_file            process         	   fifo_file            file            unix_stream_socket         	   sock_file               object_r         !      mysqld_var_run_t            httpd_sys_content_t            postfix_bounce_t            postfix_cleanup_t         
+   ifconfig_t            initrc_t            avahi_t            xfs_t            mysqld_etc_t         
+   logwatch_t            mailman_mail_t            setroubleshootd_t            postfix_master_t            postfix_pickup_t            mysqld_db_t            postfix_smtpd_t         
+   groupadd_t            mysqld_t            crond_t            httpd_t            lib_t            named_t            nscd_t            tmp_t            usr_t            postfix_qmgr_t            postfix_smtp_t         
+   system_mail_t            system_dbusd_t         
+   semanage_t            unconfined_t         	   var_run_t         	   useradd_t                             
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/selinux/forumml3.te
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml3.te	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml3.te	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,158 @@
+
+module forumml3 1.0;
+
+require {
+	type mailman_mail_t;
+	type unconfined_t;
+	type semanage_t;
+	type usr_t;
+	type var_run_t;
+	type postfix_smtpd_t;
+	type xfs_t;
+	type initrc_t;
+	type system_dbusd_t;
+	type tmp_t;
+	type mysqld_etc_t;
+	type avahi_t;
+	type mysqld_db_t;
+	type httpd_sys_content_t;
+	type logwatch_t;
+	type postfix_smtp_t;
+	type postfix_bounce_t;
+	type ifconfig_t;
+	type lib_t;
+	type mysqld_var_run_t;
+	type nscd_t;
+	type useradd_t;
+	type mysqld_t;
+	type named_t;
+	type postfix_cleanup_t;
+	type postfix_master_t;
+	type setroubleshootd_t;
+	type postfix_pickup_t;
+	type groupadd_t;
+	type crond_t;
+	type system_mail_t;
+	type postfix_qmgr_t;
+	type httpd_t;
+	class fifo_file { write read ioctl getattr };
+	class process signal;
+	class unix_stream_socket { connectto read write };
+	class tcp_socket { read write };
+	class file { execute read create ioctl execute_no_trans write getattr unlink append };
+	class sock_file write;
+	class lnk_file { read getattr };
+	class dir { write search getattr read remove_name add_name };
+}
+
+#============= avahi_t ==============
+allow avahi_t mysqld_db_t:dir search;
+allow avahi_t mysqld_etc_t:file getattr;
+
+#============= groupadd_t ==============
+allow groupadd_t initrc_t:unix_stream_socket connectto;
+
+#============= httpd_t ==============
+allow httpd_t crond_t:unix_stream_socket { read write };
+allow httpd_t initrc_t:unix_stream_socket connectto;
+allow httpd_t mysqld_etc_t:file { read getattr };
+allow httpd_t system_mail_t:process signal;
+allow httpd_t tmp_t:file { read getattr };
+allow httpd_t unconfined_t:unix_stream_socket { read write };
+allow httpd_t usr_t:file { create unlink append };
+
+#============= ifconfig_t ==============
+allow ifconfig_t initrc_t:tcp_socket { read write };
+
+#============= logwatch_t ==============
+allow logwatch_t initrc_t:unix_stream_socket connectto;
+allow logwatch_t mysqld_etc_t:file read;
+allow logwatch_t mysqld_t:unix_stream_socket connectto;
+
+#============= mailman_mail_t ==============
+allow mailman_mail_t httpd_sys_content_t:dir { read search getattr };
+allow mailman_mail_t httpd_sys_content_t:file { read getattr };
+allow mailman_mail_t httpd_sys_content_t:lnk_file { read getattr };
+allow mailman_mail_t initrc_t:unix_stream_socket connectto;
+allow mailman_mail_t lib_t:dir { write remove_name add_name };
+allow mailman_mail_t lib_t:file { write create unlink };
+allow mailman_mail_t self:fifo_file { write read ioctl getattr };
+allow mailman_mail_t tmp_t:file { read getattr };
+allow mailman_mail_t usr_t:file { read getattr ioctl execute execute_no_trans };
+allow mailman_mail_t usr_t:lnk_file { read getattr };
+allow mailman_mail_t var_run_t:dir { write remove_name add_name };
+allow mailman_mail_t var_run_t:file { getattr read create unlink ioctl append };
+
+#============= named_t ==============
+allow named_t mysqld_db_t:dir search;
+allow named_t mysqld_etc_t:file { read getattr };
+
+#============= nscd_t ==============
+allow nscd_t useradd_t:unix_stream_socket { read write };
+
+#============= postfix_bounce_t ==============
+allow postfix_bounce_t initrc_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_db_t:dir search;
+allow postfix_bounce_t mysqld_etc_t:file { read getattr };
+allow postfix_bounce_t mysqld_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_cleanup_t ==============
+allow postfix_cleanup_t initrc_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_db_t:dir search;
+allow postfix_cleanup_t mysqld_etc_t:file { read getattr };
+allow postfix_cleanup_t mysqld_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_var_run_t:sock_file write;
+allow postfix_cleanup_t usr_t:file { read getattr };
+
+#============= postfix_master_t ==============
+allow postfix_master_t initrc_t:unix_stream_socket connectto;
+allow postfix_master_t mysqld_etc_t:file { read getattr };
+
+#============= postfix_pickup_t ==============
+allow postfix_pickup_t initrc_t:unix_stream_socket connectto;
+allow postfix_pickup_t mysqld_db_t:dir search;
+allow postfix_pickup_t mysqld_etc_t:file { read getattr };
+allow postfix_pickup_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_qmgr_t ==============
+allow postfix_qmgr_t initrc_t:unix_stream_socket connectto;
+allow postfix_qmgr_t mysqld_db_t:dir search;
+allow postfix_qmgr_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtp_t ==============
+allow postfix_smtp_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_db_t:dir search;
+allow postfix_smtp_t mysqld_etc_t:file { read getattr };
+allow postfix_smtp_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_var_run_t:sock_file write;
+allow postfix_smtp_t usr_t:file { read getattr };
+
+#============= postfix_smtpd_t ==============
+allow postfix_smtpd_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_db_t:dir search;
+allow postfix_smtpd_t mysqld_etc_t:file { read getattr };
+allow postfix_smtpd_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_var_run_t:sock_file write;
+
+#============= semanage_t ==============
+allow semanage_t httpd_sys_content_t:lnk_file read;
+allow semanage_t initrc_t:unix_stream_socket connectto;
+allow semanage_t mysqld_t:unix_stream_socket connectto;
+allow semanage_t mysqld_var_run_t:sock_file write;
+
+#============= setroubleshootd_t ==============
+allow setroubleshootd_t httpd_sys_content_t:lnk_file read;
+
+#============= system_dbusd_t ==============
+allow system_dbusd_t initrc_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_var_run_t:sock_file write;
+
+#============= system_mail_t ==============
+allow system_mail_t crond_t:unix_stream_socket { read write };
+allow system_mail_t httpd_t:file read;
+allow system_mail_t initrc_t:unix_stream_socket connectto;
+
+#============= xfs_t ==============
+allow xfs_t mysqld_t:unix_stream_socket connectto;

Added: trunk/plugins/coclico/forumml/selinux/forumml4.pp
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml4.pp	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml4.pp	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,15 @@
+ÿ|ù         ÿ|ù   SE Linux Module                   forumml4   1.0              
+                    tcp_socket      write      read                    dir      write      remove_name      getattr      add_name      read      search                    lnk_file      getattr      read                    process      signal	                    fifo_file      write      ioctl      getattr      read          	   	       file   	   append      create      execute      write      unlink      ioctl      getattr      read      execute_no_trans                    unix_stream_socket      write	      connectto      read	                    sock_file      write            object_r@           @           @               !   !                @           mysqld_var_run_t             @           httpd_sys_content_t             @           postfix_bounce_t             @           postfix_cleanup_t
+             @           ifconfig_t             @           initrc_t             @           avahi_t             @           xfs_t             @           mysqld_etc_t
+             @           logwatch_t             @           mailman_mail_t             @           setroubleshootd_t             @           postfix_master_t             @           postfix_pickup_t   
+          @           mysqld_db_t             @           postfix_smtpd_t
+             @           groupadd_t             @           mysqld_t             @           crond_t   !          @           httpd_t             @           lib_t             @           named_t             @           nscd_t   
+          @           tmp_t             @           usr_t              @           postfix_qmgr_t             @           postfix_smtp_t
+             @           system_mail_t   	          @           system_dbusd_t
+             @           semanage_t             @           unconfined_t	             @           var_run_t	             @           useradd_t                                                 H          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     @          @   @                 @               @   @          €       @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @             @    @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     „         @   @                 @               @   @          €       @                               @   @           @      @               @   @          €       @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @            @     @                               @   @                 @               @   @                  @                               @   @                 @               @   @                  @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     ¤         @   @                 @               @           @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                     [          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     Î         @   @            €     @               @   @                 @                               @   @            €     @               @   @                 @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @             €    @               @   @          €       @                               @   @             €    @               @   @                 @                               @   @             €    @               @   @                 @                     @          @   @           €      @               @   @          €       @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @           €      @               @   @            @     @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @                  @               @   @          €       @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                     B          @   @                  @               @   @            @     @                               @   @                  @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @             @    @               @   @                  @                               @   @             @    @               @   @                 @                               @   @             @    @               @   @          €       @                               @   @          @       @               @   @            @     @                                    @           @   @          ÿ       @           @   @          ÿÿÿÿ   @           @           @           @              @   @                 @   @                 @   @                 @   @                 @   @          ÿ      @   @                 @   @                 @   @          ?       @           @           @           @           @           @           @           @                                                                                      
+   tcp_socket            dir            lnk_file            process         	   fifo_file            file            unix_stream_socket         	   sock_file               object_r         !      mysqld_var_run_t            httpd_sys_content_t            postfix_bounce_t            postfix_cleanup_t         
+   ifconfig_t            initrc_t            avahi_t            xfs_t            mysqld_etc_t         
+   logwatch_t            mailman_mail_t            setroubleshootd_t            postfix_master_t            postfix_pickup_t            mysqld_db_t            postfix_smtpd_t         
+   groupadd_t            mysqld_t            crond_t            httpd_t            lib_t            named_t            nscd_t            tmp_t            usr_t            postfix_qmgr_t            postfix_smtp_t         
+   system_mail_t            system_dbusd_t         
+   semanage_t            unconfined_t         	   var_run_t         	   useradd_t                             
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/selinux/forumml4.te
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml4.te	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml4.te	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,158 @@
+
+module forumml4 1.0;
+
+require {
+	type mailman_mail_t;
+	type unconfined_t;
+	type semanage_t;
+	type usr_t;
+	type var_run_t;
+	type postfix_smtpd_t;
+	type xfs_t;
+	type initrc_t;
+	type system_dbusd_t;
+	type tmp_t;
+	type mysqld_etc_t;
+	type avahi_t;
+	type mysqld_db_t;
+	type httpd_sys_content_t;
+	type logwatch_t;
+	type postfix_smtp_t;
+	type postfix_bounce_t;
+	type ifconfig_t;
+	type lib_t;
+	type mysqld_var_run_t;
+	type nscd_t;
+	type useradd_t;
+	type mysqld_t;
+	type named_t;
+	type postfix_cleanup_t;
+	type postfix_master_t;
+	type setroubleshootd_t;
+	type postfix_pickup_t;
+	type groupadd_t;
+	type crond_t;
+	type system_mail_t;
+	type postfix_qmgr_t;
+	type httpd_t;
+	class fifo_file { write read ioctl getattr };
+	class process signal;
+	class unix_stream_socket { connectto read write };
+	class tcp_socket { read write };
+	class file { execute read create ioctl execute_no_trans write getattr unlink append };
+	class sock_file write;
+	class lnk_file { read getattr };
+	class dir { write search getattr read remove_name add_name };
+}
+
+#============= avahi_t ==============
+allow avahi_t mysqld_db_t:dir search;
+allow avahi_t mysqld_etc_t:file getattr;
+
+#============= groupadd_t ==============
+allow groupadd_t initrc_t:unix_stream_socket connectto;
+
+#============= httpd_t ==============
+allow httpd_t crond_t:unix_stream_socket { read write };
+allow httpd_t initrc_t:unix_stream_socket connectto;
+allow httpd_t mysqld_etc_t:file { read getattr };
+allow httpd_t system_mail_t:process signal;
+allow httpd_t tmp_t:file { read getattr };
+allow httpd_t unconfined_t:unix_stream_socket { read write };
+allow httpd_t usr_t:file { create unlink append };
+
+#============= ifconfig_t ==============
+allow ifconfig_t initrc_t:tcp_socket { read write };
+
+#============= logwatch_t ==============
+allow logwatch_t initrc_t:unix_stream_socket connectto;
+allow logwatch_t mysqld_etc_t:file read;
+allow logwatch_t mysqld_t:unix_stream_socket connectto;
+
+#============= mailman_mail_t ==============
+allow mailman_mail_t httpd_sys_content_t:dir { read write search getattr };
+allow mailman_mail_t httpd_sys_content_t:file { read getattr };
+allow mailman_mail_t httpd_sys_content_t:lnk_file { read getattr };
+allow mailman_mail_t initrc_t:unix_stream_socket connectto;
+allow mailman_mail_t lib_t:dir { write remove_name add_name };
+allow mailman_mail_t lib_t:file { write create unlink };
+allow mailman_mail_t self:fifo_file { write read ioctl getattr };
+allow mailman_mail_t tmp_t:file { read getattr };
+allow mailman_mail_t usr_t:file { read getattr ioctl execute execute_no_trans };
+allow mailman_mail_t usr_t:lnk_file { read getattr };
+allow mailman_mail_t var_run_t:dir { write remove_name add_name };
+allow mailman_mail_t var_run_t:file { getattr read create unlink ioctl append };
+
+#============= named_t ==============
+allow named_t mysqld_db_t:dir search;
+allow named_t mysqld_etc_t:file { read getattr };
+
+#============= nscd_t ==============
+allow nscd_t useradd_t:unix_stream_socket { read write };
+
+#============= postfix_bounce_t ==============
+allow postfix_bounce_t initrc_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_db_t:dir search;
+allow postfix_bounce_t mysqld_etc_t:file { read getattr };
+allow postfix_bounce_t mysqld_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_cleanup_t ==============
+allow postfix_cleanup_t initrc_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_db_t:dir search;
+allow postfix_cleanup_t mysqld_etc_t:file { read getattr };
+allow postfix_cleanup_t mysqld_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_var_run_t:sock_file write;
+allow postfix_cleanup_t usr_t:file { read getattr };
+
+#============= postfix_master_t ==============
+allow postfix_master_t initrc_t:unix_stream_socket connectto;
+allow postfix_master_t mysqld_etc_t:file { read getattr };
+
+#============= postfix_pickup_t ==============
+allow postfix_pickup_t initrc_t:unix_stream_socket connectto;
+allow postfix_pickup_t mysqld_db_t:dir search;
+allow postfix_pickup_t mysqld_etc_t:file { read getattr };
+allow postfix_pickup_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_qmgr_t ==============
+allow postfix_qmgr_t initrc_t:unix_stream_socket connectto;
+allow postfix_qmgr_t mysqld_db_t:dir search;
+allow postfix_qmgr_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtp_t ==============
+allow postfix_smtp_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_db_t:dir search;
+allow postfix_smtp_t mysqld_etc_t:file { read getattr };
+allow postfix_smtp_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_var_run_t:sock_file write;
+allow postfix_smtp_t usr_t:file { read getattr };
+
+#============= postfix_smtpd_t ==============
+allow postfix_smtpd_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_db_t:dir search;
+allow postfix_smtpd_t mysqld_etc_t:file { read getattr };
+allow postfix_smtpd_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_var_run_t:sock_file write;
+
+#============= semanage_t ==============
+allow semanage_t httpd_sys_content_t:lnk_file read;
+allow semanage_t initrc_t:unix_stream_socket connectto;
+allow semanage_t mysqld_t:unix_stream_socket connectto;
+allow semanage_t mysqld_var_run_t:sock_file write;
+
+#============= setroubleshootd_t ==============
+allow setroubleshootd_t httpd_sys_content_t:lnk_file read;
+
+#============= system_dbusd_t ==============
+allow system_dbusd_t initrc_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_var_run_t:sock_file write;
+
+#============= system_mail_t ==============
+allow system_mail_t crond_t:unix_stream_socket { read write };
+allow system_mail_t httpd_t:file read;
+allow system_mail_t initrc_t:unix_stream_socket connectto;
+
+#============= xfs_t ==============
+allow xfs_t mysqld_t:unix_stream_socket connectto;

Added: trunk/plugins/coclico/forumml/selinux/forumml5.pp
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml5.pp	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml5.pp	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,15 @@
+ÿ|ù         ÿ|ù   SE Linux Module                   forumml5   1.0              
+                    tcp_socket      write      read                    dir      write      remove_name      getattr      add_name      read      search                    lnk_file      getattr      read                    process      signal	                    fifo_file      write      ioctl      getattr      read          	   	       file   	   append      create      execute      write      unlink      ioctl      getattr      read      execute_no_trans                    unix_stream_socket      write	      connectto      read	                    sock_file      write            object_r@           @           @               !   !                @           mysqld_var_run_t             @           httpd_sys_content_t             @           postfix_bounce_t             @           postfix_cleanup_t
+             @           ifconfig_t             @           initrc_t             @           avahi_t             @           xfs_t             @           mysqld_etc_t
+             @           logwatch_t             @           mailman_mail_t             @           setroubleshootd_t             @           postfix_master_t             @           postfix_pickup_t   
+          @           mysqld_db_t             @           postfix_smtpd_t
+             @           groupadd_t             @           mysqld_t             @           crond_t   !          @           httpd_t             @           lib_t             @           named_t             @           nscd_t   
+          @           tmp_t             @           usr_t              @           postfix_qmgr_t             @           postfix_smtp_t
+             @           system_mail_t   	          @           system_dbusd_t
+             @           semanage_t             @           unconfined_t	             @           var_run_t	             @           useradd_t                                                 H          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     @          @   @                 @               @   @          €       @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @             @    @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     „         @   @                 @               @   @          €       @                               @   @           @      @               @   @          €       @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @            @     @                               @   @                 @               @   @                  @                     /          @   @                 @               @   @                  @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     ¤         @   @                 @               @           @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                     [          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     Î         @   @            €     @               @   @                 @                               @   @            €     @               @   @                 @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @             €    @               @   @          €       @                               @   @             €    @               @   @                 @                               @   @             €    @               @   @                 @                     @          @   @           €      @               @   @          €       @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @           €      @               @   @            @     @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @                  @               @   @          €       @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                     B          @   @                  @               @   @            @     @                               @   @                  @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @             @    @               @   @                  @                               @   @             @    @               @   @                 @                               @   @             @    @               @   @          €       @                               @   @          @       @               @   @            @     @                                    @           @   @          ÿ       @           @   @          ÿÿÿÿ   @           @           @           @              @   @                 @   @                 @   @                 @   @                 @   @          ÿ      @   @                 @   @                 @   @          ?       @           @           @           @           @           @           @           @                                                                                      
+   tcp_socket            dir            lnk_file            process         	   fifo_file            file            unix_stream_socket         	   sock_file               object_r         !      mysqld_var_run_t            httpd_sys_content_t            postfix_bounce_t            postfix_cleanup_t         
+   ifconfig_t            initrc_t            avahi_t            xfs_t            mysqld_etc_t         
+   logwatch_t            mailman_mail_t            setroubleshootd_t            postfix_master_t            postfix_pickup_t            mysqld_db_t            postfix_smtpd_t         
+   groupadd_t            mysqld_t            crond_t            httpd_t            lib_t            named_t            nscd_t            tmp_t            usr_t            postfix_qmgr_t            postfix_smtp_t         
+   system_mail_t            system_dbusd_t         
+   semanage_t            unconfined_t         	   var_run_t         	   useradd_t                             
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/selinux/forumml5.te
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml5.te	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml5.te	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,158 @@
+
+module forumml5 1.0;
+
+require {
+	type mailman_mail_t;
+	type unconfined_t;
+	type semanage_t;
+	type usr_t;
+	type var_run_t;
+	type postfix_smtpd_t;
+	type xfs_t;
+	type initrc_t;
+	type system_dbusd_t;
+	type tmp_t;
+	type mysqld_etc_t;
+	type avahi_t;
+	type mysqld_db_t;
+	type httpd_sys_content_t;
+	type logwatch_t;
+	type postfix_smtp_t;
+	type postfix_bounce_t;
+	type ifconfig_t;
+	type lib_t;
+	type mysqld_var_run_t;
+	type nscd_t;
+	type useradd_t;
+	type mysqld_t;
+	type named_t;
+	type postfix_cleanup_t;
+	type postfix_master_t;
+	type setroubleshootd_t;
+	type postfix_pickup_t;
+	type groupadd_t;
+	type crond_t;
+	type system_mail_t;
+	type postfix_qmgr_t;
+	type httpd_t;
+	class fifo_file { write read ioctl getattr };
+	class process signal;
+	class unix_stream_socket { connectto read write };
+	class tcp_socket { read write };
+	class file { execute read create ioctl execute_no_trans write getattr unlink append };
+	class sock_file write;
+	class lnk_file { read getattr };
+	class dir { write search getattr read remove_name add_name };
+}
+
+#============= avahi_t ==============
+allow avahi_t mysqld_db_t:dir search;
+allow avahi_t mysqld_etc_t:file getattr;
+
+#============= groupadd_t ==============
+allow groupadd_t initrc_t:unix_stream_socket connectto;
+
+#============= httpd_t ==============
+allow httpd_t crond_t:unix_stream_socket { read write };
+allow httpd_t initrc_t:unix_stream_socket connectto;
+allow httpd_t mysqld_etc_t:file { read getattr };
+allow httpd_t system_mail_t:process signal;
+allow httpd_t tmp_t:file { read getattr };
+allow httpd_t unconfined_t:unix_stream_socket { read write };
+allow httpd_t usr_t:file { create unlink append };
+
+#============= ifconfig_t ==============
+allow ifconfig_t initrc_t:tcp_socket { read write };
+
+#============= logwatch_t ==============
+allow logwatch_t initrc_t:unix_stream_socket connectto;
+allow logwatch_t mysqld_etc_t:file read;
+allow logwatch_t mysqld_t:unix_stream_socket connectto;
+
+#============= mailman_mail_t ==============
+allow mailman_mail_t httpd_sys_content_t:dir { read write search getattr add_name };
+allow mailman_mail_t httpd_sys_content_t:file { read getattr };
+allow mailman_mail_t httpd_sys_content_t:lnk_file { read getattr };
+allow mailman_mail_t initrc_t:unix_stream_socket connectto;
+allow mailman_mail_t lib_t:dir { write remove_name add_name };
+allow mailman_mail_t lib_t:file { write create unlink };
+allow mailman_mail_t self:fifo_file { write read ioctl getattr };
+allow mailman_mail_t tmp_t:file { read getattr };
+allow mailman_mail_t usr_t:file { read getattr ioctl execute execute_no_trans };
+allow mailman_mail_t usr_t:lnk_file { read getattr };
+allow mailman_mail_t var_run_t:dir { write remove_name add_name };
+allow mailman_mail_t var_run_t:file { getattr read create unlink ioctl append };
+
+#============= named_t ==============
+allow named_t mysqld_db_t:dir search;
+allow named_t mysqld_etc_t:file { read getattr };
+
+#============= nscd_t ==============
+allow nscd_t useradd_t:unix_stream_socket { read write };
+
+#============= postfix_bounce_t ==============
+allow postfix_bounce_t initrc_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_db_t:dir search;
+allow postfix_bounce_t mysqld_etc_t:file { read getattr };
+allow postfix_bounce_t mysqld_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_cleanup_t ==============
+allow postfix_cleanup_t initrc_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_db_t:dir search;
+allow postfix_cleanup_t mysqld_etc_t:file { read getattr };
+allow postfix_cleanup_t mysqld_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_var_run_t:sock_file write;
+allow postfix_cleanup_t usr_t:file { read getattr };
+
+#============= postfix_master_t ==============
+allow postfix_master_t initrc_t:unix_stream_socket connectto;
+allow postfix_master_t mysqld_etc_t:file { read getattr };
+
+#============= postfix_pickup_t ==============
+allow postfix_pickup_t initrc_t:unix_stream_socket connectto;
+allow postfix_pickup_t mysqld_db_t:dir search;
+allow postfix_pickup_t mysqld_etc_t:file { read getattr };
+allow postfix_pickup_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_qmgr_t ==============
+allow postfix_qmgr_t initrc_t:unix_stream_socket connectto;
+allow postfix_qmgr_t mysqld_db_t:dir search;
+allow postfix_qmgr_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtp_t ==============
+allow postfix_smtp_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_db_t:dir search;
+allow postfix_smtp_t mysqld_etc_t:file { read getattr };
+allow postfix_smtp_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_var_run_t:sock_file write;
+allow postfix_smtp_t usr_t:file { read getattr };
+
+#============= postfix_smtpd_t ==============
+allow postfix_smtpd_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_db_t:dir search;
+allow postfix_smtpd_t mysqld_etc_t:file { read getattr };
+allow postfix_smtpd_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_var_run_t:sock_file write;
+
+#============= semanage_t ==============
+allow semanage_t httpd_sys_content_t:lnk_file read;
+allow semanage_t initrc_t:unix_stream_socket connectto;
+allow semanage_t mysqld_t:unix_stream_socket connectto;
+allow semanage_t mysqld_var_run_t:sock_file write;
+
+#============= setroubleshootd_t ==============
+allow setroubleshootd_t httpd_sys_content_t:lnk_file read;
+
+#============= system_dbusd_t ==============
+allow system_dbusd_t initrc_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_var_run_t:sock_file write;
+
+#============= system_mail_t ==============
+allow system_mail_t crond_t:unix_stream_socket { read write };
+allow system_mail_t httpd_t:file read;
+allow system_mail_t initrc_t:unix_stream_socket connectto;
+
+#============= xfs_t ==============
+allow xfs_t mysqld_t:unix_stream_socket connectto;

Added: trunk/plugins/coclico/forumml/selinux/forumml6.pp
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml6.pp	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml6.pp	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,15 @@
+ÿ|ù         ÿ|ù   SE Linux Module                   forumml6   1.0              
+                    tcp_socket      write      read                    dir      write      remove_name      getattr      add_name      read      search                    lnk_file      getattr      read                    process      signal	                    fifo_file      write      ioctl      getattr      read          	   	       file   	   append      create      execute      write      unlink      ioctl      getattr      read      execute_no_trans                    unix_stream_socket      write	      connectto      read	                    sock_file      write            object_r@           @           @               !   !                @           mysqld_var_run_t             @           httpd_sys_content_t             @           postfix_bounce_t             @           postfix_cleanup_t
+             @           ifconfig_t             @           initrc_t             @           avahi_t             @           xfs_t             @           mysqld_etc_t
+             @           logwatch_t             @           mailman_mail_t             @           setroubleshootd_t             @           postfix_master_t             @           postfix_pickup_t   
+          @           mysqld_db_t             @           postfix_smtpd_t
+             @           groupadd_t             @           mysqld_t             @           crond_t   !          @           httpd_t             @           lib_t             @           named_t             @           nscd_t   
+          @           tmp_t             @           usr_t              @           postfix_qmgr_t             @           postfix_smtp_t
+             @           system_mail_t   	          @           system_dbusd_t
+             @           semanage_t             @           unconfined_t	             @           var_run_t	             @           useradd_t                                                 H          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     @          @   @                 @               @   @          €       @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @             @    @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     „         @   @                 @               @   @          €       @                               @   @           @      @               @   @          €       @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @            @     @                               @   @                 @               @   @                  @                     /          @   @                 @               @   @                  @                     F          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     ¤         @   @                 @               @           @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                     [          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     Î         @   @            €     @               @   @                 @                               @   @            €     @               @   @                 @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @             €    @               @   @          €       @                               @   @             €    @               @   @                 @                               @   @             €    @               @   @                 @                     @          @   @           €      @               @   @          €       @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @           €      @               @   @            @     @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @                  @               @   @          €       @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                     B          @   @                  @               @   @            @     @                               @   @                  @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @             @    @               @   @                  @                               @   @             @    @               @   @                 @                               @   @             @    @               @   @          €       @                               @   @          @       @               @   @            @     @                                    @           @   @          ÿ       @           @   @          ÿÿÿÿ   @           @           @           @              @   @                 @   @                 @   @                 @   @                 @   @          ÿ      @   @                 @   @                 @   @          ?       @           @           @           @           @           @           @           @                                                                                      
+   tcp_socket            dir            lnk_file            process         	   fifo_file            file            unix_stream_socket         	   sock_file               object_r         !      mysqld_var_run_t            httpd_sys_content_t            postfix_bounce_t            postfix_cleanup_t         
+   ifconfig_t            initrc_t            avahi_t            xfs_t            mysqld_etc_t         
+   logwatch_t            mailman_mail_t            setroubleshootd_t            postfix_master_t            postfix_pickup_t            mysqld_db_t            postfix_smtpd_t         
+   groupadd_t            mysqld_t            crond_t            httpd_t            lib_t            named_t            nscd_t            tmp_t            usr_t            postfix_qmgr_t            postfix_smtp_t         
+   system_mail_t            system_dbusd_t         
+   semanage_t            unconfined_t         	   var_run_t         	   useradd_t                             
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/selinux/forumml6.te
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml6.te	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml6.te	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,158 @@
+
+module forumml6 1.0;
+
+require {
+	type mailman_mail_t;
+	type unconfined_t;
+	type semanage_t;
+	type usr_t;
+	type var_run_t;
+	type postfix_smtpd_t;
+	type xfs_t;
+	type initrc_t;
+	type system_dbusd_t;
+	type tmp_t;
+	type mysqld_etc_t;
+	type avahi_t;
+	type mysqld_db_t;
+	type httpd_sys_content_t;
+	type logwatch_t;
+	type postfix_smtp_t;
+	type postfix_bounce_t;
+	type ifconfig_t;
+	type lib_t;
+	type mysqld_var_run_t;
+	type nscd_t;
+	type useradd_t;
+	type mysqld_t;
+	type named_t;
+	type postfix_cleanup_t;
+	type postfix_master_t;
+	type setroubleshootd_t;
+	type postfix_pickup_t;
+	type groupadd_t;
+	type crond_t;
+	type system_mail_t;
+	type postfix_qmgr_t;
+	type httpd_t;
+	class fifo_file { write read ioctl getattr };
+	class process signal;
+	class unix_stream_socket { connectto read write };
+	class tcp_socket { read write };
+	class file { execute read create ioctl execute_no_trans write getattr unlink append };
+	class sock_file write;
+	class lnk_file { read getattr };
+	class dir { write search getattr read remove_name add_name };
+}
+
+#============= avahi_t ==============
+allow avahi_t mysqld_db_t:dir search;
+allow avahi_t mysqld_etc_t:file getattr;
+
+#============= groupadd_t ==============
+allow groupadd_t initrc_t:unix_stream_socket connectto;
+
+#============= httpd_t ==============
+allow httpd_t crond_t:unix_stream_socket { read write };
+allow httpd_t initrc_t:unix_stream_socket connectto;
+allow httpd_t mysqld_etc_t:file { read getattr };
+allow httpd_t system_mail_t:process signal;
+allow httpd_t tmp_t:file { read getattr };
+allow httpd_t unconfined_t:unix_stream_socket { read write };
+allow httpd_t usr_t:file { create unlink append };
+
+#============= ifconfig_t ==============
+allow ifconfig_t initrc_t:tcp_socket { read write };
+
+#============= logwatch_t ==============
+allow logwatch_t initrc_t:unix_stream_socket connectto;
+allow logwatch_t mysqld_etc_t:file read;
+allow logwatch_t mysqld_t:unix_stream_socket connectto;
+
+#============= mailman_mail_t ==============
+allow mailman_mail_t httpd_sys_content_t:dir { read write search getattr add_name };
+allow mailman_mail_t httpd_sys_content_t:file { read getattr create };
+allow mailman_mail_t httpd_sys_content_t:lnk_file { read getattr };
+allow mailman_mail_t initrc_t:unix_stream_socket connectto;
+allow mailman_mail_t lib_t:dir { write remove_name add_name };
+allow mailman_mail_t lib_t:file { write create unlink };
+allow mailman_mail_t self:fifo_file { write read ioctl getattr };
+allow mailman_mail_t tmp_t:file { read getattr };
+allow mailman_mail_t usr_t:file { read getattr ioctl execute execute_no_trans };
+allow mailman_mail_t usr_t:lnk_file { read getattr };
+allow mailman_mail_t var_run_t:dir { write remove_name add_name };
+allow mailman_mail_t var_run_t:file { getattr read create unlink ioctl append };
+
+#============= named_t ==============
+allow named_t mysqld_db_t:dir search;
+allow named_t mysqld_etc_t:file { read getattr };
+
+#============= nscd_t ==============
+allow nscd_t useradd_t:unix_stream_socket { read write };
+
+#============= postfix_bounce_t ==============
+allow postfix_bounce_t initrc_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_db_t:dir search;
+allow postfix_bounce_t mysqld_etc_t:file { read getattr };
+allow postfix_bounce_t mysqld_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_cleanup_t ==============
+allow postfix_cleanup_t initrc_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_db_t:dir search;
+allow postfix_cleanup_t mysqld_etc_t:file { read getattr };
+allow postfix_cleanup_t mysqld_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_var_run_t:sock_file write;
+allow postfix_cleanup_t usr_t:file { read getattr };
+
+#============= postfix_master_t ==============
+allow postfix_master_t initrc_t:unix_stream_socket connectto;
+allow postfix_master_t mysqld_etc_t:file { read getattr };
+
+#============= postfix_pickup_t ==============
+allow postfix_pickup_t initrc_t:unix_stream_socket connectto;
+allow postfix_pickup_t mysqld_db_t:dir search;
+allow postfix_pickup_t mysqld_etc_t:file { read getattr };
+allow postfix_pickup_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_qmgr_t ==============
+allow postfix_qmgr_t initrc_t:unix_stream_socket connectto;
+allow postfix_qmgr_t mysqld_db_t:dir search;
+allow postfix_qmgr_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtp_t ==============
+allow postfix_smtp_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_db_t:dir search;
+allow postfix_smtp_t mysqld_etc_t:file { read getattr };
+allow postfix_smtp_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_var_run_t:sock_file write;
+allow postfix_smtp_t usr_t:file { read getattr };
+
+#============= postfix_smtpd_t ==============
+allow postfix_smtpd_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_db_t:dir search;
+allow postfix_smtpd_t mysqld_etc_t:file { read getattr };
+allow postfix_smtpd_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_var_run_t:sock_file write;
+
+#============= semanage_t ==============
+allow semanage_t httpd_sys_content_t:lnk_file read;
+allow semanage_t initrc_t:unix_stream_socket connectto;
+allow semanage_t mysqld_t:unix_stream_socket connectto;
+allow semanage_t mysqld_var_run_t:sock_file write;
+
+#============= setroubleshootd_t ==============
+allow setroubleshootd_t httpd_sys_content_t:lnk_file read;
+
+#============= system_dbusd_t ==============
+allow system_dbusd_t initrc_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_var_run_t:sock_file write;
+
+#============= system_mail_t ==============
+allow system_mail_t crond_t:unix_stream_socket { read write };
+allow system_mail_t httpd_t:file read;
+allow system_mail_t initrc_t:unix_stream_socket connectto;
+
+#============= xfs_t ==============
+allow xfs_t mysqld_t:unix_stream_socket connectto;

Added: trunk/plugins/coclico/forumml/selinux/forumml7.pp
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml7.pp	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml7.pp	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,15 @@
+ÿ|ù         ÿ|ù   SE Linux Module                   forumml7   1.0              
+                    tcp_socket      write      read                    dir      write      remove_name      getattr      add_name      read      search                    lnk_file      getattr      read                    process      signal	                    fifo_file      write      ioctl      getattr      read          	   	       file   	   append      create      execute      write      unlink      ioctl      getattr      read      execute_no_trans                    unix_stream_socket      write	      connectto      read	                    sock_file      write            object_r@           @           @               !   !                @           mysqld_var_run_t             @           httpd_sys_content_t             @           postfix_bounce_t             @           postfix_cleanup_t
+             @           ifconfig_t             @           initrc_t             @           avahi_t             @           xfs_t             @           mysqld_etc_t
+             @           logwatch_t             @           mailman_mail_t             @           setroubleshootd_t             @           postfix_master_t             @           postfix_pickup_t   
+          @           mysqld_db_t             @           postfix_smtpd_t
+             @           groupadd_t             @           mysqld_t             @           crond_t   !          @           httpd_t             @           lib_t             @           named_t             @           nscd_t   
+          @           tmp_t             @           usr_t              @           postfix_qmgr_t             @           postfix_smtp_t
+             @           system_mail_t   	          @           system_dbusd_t
+             @           semanage_t             @           unconfined_t	             @           var_run_t	             @           useradd_t                                                 H          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     @          @   @                 @               @   @          €       @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @             @    @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     „         @   @                 @               @   @          €       @                               @   @           @      @               @   @          €       @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @            @     @                               @   @                 @               @   @                  @                     /          @   @                 @               @   @                  @                     f          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     ¤         @   @                 @               @           @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                     [          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     1          @   @                 @               @   @                 @                     Î         @   @            €     @               @   @                 @                               @   @            €     @               @   @                 @                     B          @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     B          @   @                 @               @   @                 @                               @   @             €    @               @   @          €       @                               @   @             €    @               @   @                 @                               @   @             €    @               @   @                 @                     @          @   @           €      @               @   @          €       @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @           €      @               @   @            @     @                               @   @           €      @               @   @                 @                               @   @           €      @               @   @                 @                     B          @   @                  @               @   @          €       @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                     B          @   @                  @               @   @            @     @                               @   @                  @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @                 @               @   @                  @                               @   @                 @               @   @          €       @                               @   @                 @               @   @            @     @                               @   @                 @               @   @                 @                               @   @             @    @               @   @                  @                               @   @             @    @               @   @                 @                               @   @             @    @               @   @          €       @                               @   @          @       @               @   @            @     @                                    @           @   @          ÿ       @           @   @          ÿÿÿÿ   @           @           @           @              @   @                 @   @                 @   @                 @   @                 @   @          ÿ      @   @                 @   @                 @   @          ?       @           @           @           @           @           @           @           @                                                                                      
+   tcp_socket            dir            lnk_file            process         	   fifo_file            file            unix_stream_socket         	   sock_file               object_r         !      mysqld_var_run_t            httpd_sys_content_t            postfix_bounce_t            postfix_cleanup_t         
+   ifconfig_t            initrc_t            avahi_t            xfs_t            mysqld_etc_t         
+   logwatch_t            mailman_mail_t            setroubleshootd_t            postfix_master_t            postfix_pickup_t            mysqld_db_t            postfix_smtpd_t         
+   groupadd_t            mysqld_t            crond_t            httpd_t            lib_t            named_t            nscd_t            tmp_t            usr_t            postfix_qmgr_t            postfix_smtp_t         
+   system_mail_t            system_dbusd_t         
+   semanage_t            unconfined_t         	   var_run_t         	   useradd_t                             
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/selinux/forumml7.te
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml7.te	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml7.te	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,158 @@
+
+module forumml7 1.0;
+
+require {
+	type mailman_mail_t;
+	type unconfined_t;
+	type semanage_t;
+	type usr_t;
+	type var_run_t;
+	type postfix_smtpd_t;
+	type xfs_t;
+	type initrc_t;
+	type system_dbusd_t;
+	type tmp_t;
+	type mysqld_etc_t;
+	type avahi_t;
+	type mysqld_db_t;
+	type httpd_sys_content_t;
+	type logwatch_t;
+	type postfix_smtp_t;
+	type postfix_bounce_t;
+	type ifconfig_t;
+	type lib_t;
+	type mysqld_var_run_t;
+	type nscd_t;
+	type useradd_t;
+	type mysqld_t;
+	type named_t;
+	type postfix_cleanup_t;
+	type postfix_master_t;
+	type setroubleshootd_t;
+	type postfix_pickup_t;
+	type groupadd_t;
+	type crond_t;
+	type system_mail_t;
+	type postfix_qmgr_t;
+	type httpd_t;
+	class fifo_file { write read ioctl getattr };
+	class process signal;
+	class unix_stream_socket { connectto read write };
+	class tcp_socket { read write };
+	class file { execute read create ioctl execute_no_trans write getattr unlink append };
+	class sock_file write;
+	class lnk_file { read getattr };
+	class dir { write search getattr read remove_name add_name };
+}
+
+#============= avahi_t ==============
+allow avahi_t mysqld_db_t:dir search;
+allow avahi_t mysqld_etc_t:file getattr;
+
+#============= groupadd_t ==============
+allow groupadd_t initrc_t:unix_stream_socket connectto;
+
+#============= httpd_t ==============
+allow httpd_t crond_t:unix_stream_socket { read write };
+allow httpd_t initrc_t:unix_stream_socket connectto;
+allow httpd_t mysqld_etc_t:file { read getattr };
+allow httpd_t system_mail_t:process signal;
+allow httpd_t tmp_t:file { read getattr };
+allow httpd_t unconfined_t:unix_stream_socket { read write };
+allow httpd_t usr_t:file { create unlink append };
+
+#============= ifconfig_t ==============
+allow ifconfig_t initrc_t:tcp_socket { read write };
+
+#============= logwatch_t ==============
+allow logwatch_t initrc_t:unix_stream_socket connectto;
+allow logwatch_t mysqld_etc_t:file read;
+allow logwatch_t mysqld_t:unix_stream_socket connectto;
+
+#============= mailman_mail_t ==============
+allow mailman_mail_t httpd_sys_content_t:dir { read write search getattr add_name };
+allow mailman_mail_t httpd_sys_content_t:file { read write getattr create };
+allow mailman_mail_t httpd_sys_content_t:lnk_file { read getattr };
+allow mailman_mail_t initrc_t:unix_stream_socket connectto;
+allow mailman_mail_t lib_t:dir { write remove_name add_name };
+allow mailman_mail_t lib_t:file { write create unlink };
+allow mailman_mail_t self:fifo_file { write read ioctl getattr };
+allow mailman_mail_t tmp_t:file { read getattr };
+allow mailman_mail_t usr_t:file { read getattr ioctl execute execute_no_trans };
+allow mailman_mail_t usr_t:lnk_file { read getattr };
+allow mailman_mail_t var_run_t:dir { write remove_name add_name };
+allow mailman_mail_t var_run_t:file { getattr read create unlink ioctl append };
+
+#============= named_t ==============
+allow named_t mysqld_db_t:dir search;
+allow named_t mysqld_etc_t:file { read getattr };
+
+#============= nscd_t ==============
+allow nscd_t useradd_t:unix_stream_socket { read write };
+
+#============= postfix_bounce_t ==============
+allow postfix_bounce_t initrc_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_db_t:dir search;
+allow postfix_bounce_t mysqld_etc_t:file { read getattr };
+allow postfix_bounce_t mysqld_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_cleanup_t ==============
+allow postfix_cleanup_t initrc_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_db_t:dir search;
+allow postfix_cleanup_t mysqld_etc_t:file { read getattr };
+allow postfix_cleanup_t mysqld_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_var_run_t:sock_file write;
+allow postfix_cleanup_t usr_t:file { read getattr };
+
+#============= postfix_master_t ==============
+allow postfix_master_t initrc_t:unix_stream_socket connectto;
+allow postfix_master_t mysqld_etc_t:file { read getattr };
+
+#============= postfix_pickup_t ==============
+allow postfix_pickup_t initrc_t:unix_stream_socket connectto;
+allow postfix_pickup_t mysqld_db_t:dir search;
+allow postfix_pickup_t mysqld_etc_t:file { read getattr };
+allow postfix_pickup_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_qmgr_t ==============
+allow postfix_qmgr_t initrc_t:unix_stream_socket connectto;
+allow postfix_qmgr_t mysqld_db_t:dir search;
+allow postfix_qmgr_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtp_t ==============
+allow postfix_smtp_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_db_t:dir search;
+allow postfix_smtp_t mysqld_etc_t:file { read getattr };
+allow postfix_smtp_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_var_run_t:sock_file write;
+allow postfix_smtp_t usr_t:file { read getattr };
+
+#============= postfix_smtpd_t ==============
+allow postfix_smtpd_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_db_t:dir search;
+allow postfix_smtpd_t mysqld_etc_t:file { read getattr };
+allow postfix_smtpd_t mysqld_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_var_run_t:sock_file write;
+
+#============= semanage_t ==============
+allow semanage_t httpd_sys_content_t:lnk_file read;
+allow semanage_t initrc_t:unix_stream_socket connectto;
+allow semanage_t mysqld_t:unix_stream_socket connectto;
+allow semanage_t mysqld_var_run_t:sock_file write;
+
+#============= setroubleshootd_t ==============
+allow setroubleshootd_t httpd_sys_content_t:lnk_file read;
+
+#============= system_dbusd_t ==============
+allow system_dbusd_t initrc_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_var_run_t:sock_file write;
+
+#============= system_mail_t ==============
+allow system_mail_t crond_t:unix_stream_socket { read write };
+allow system_mail_t httpd_t:file read;
+allow system_mail_t initrc_t:unix_stream_socket connectto;
+
+#============= xfs_t ==============
+allow xfs_t mysqld_t:unix_stream_socket connectto;

Added: trunk/plugins/coclico/forumml/selinux/forumml8.pp
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml8.pp	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml8.pp	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,8 @@
+ÿ|ù         ÿ|ù   SE Linux Module                   forumml8   1.0                                  dir      create      write      remove_name      add_name      read      search                    lnk_file      read                    process      signal	                    fifo_file      write      ioctl      getattr      read                    file      create      write      unlink      getattr      read                    unix_stream_socket	      connectto	                    sock_file      write            object_r@           @           @                                  @           mysqld_var_run_t             @           httpd_sys_content_t             @           postfix_bounce_t             @           postfix_cleanup_t   
+          @           initrc_t             @           avahi_t             @           xfs_t   	          @           mysqld_etc_t
+   
+          @           logwatch_t             @           mailman_mail_t             @           setroubleshootd_t             @           postfix_master_t             @           postfix_pickup_t             @           mysqld_db_t             @           postfix_smtpd_t             @           mysqld_t             @           httpd_t             @           named_t             @           tmp_t             @           usr_t             @           postfix_qmgr_t             @           postfix_smtp_t
+             @           system_mail_t             @           system_dbusd_t	             @           var_run_t                                                 *          @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @            €     @               @   @                  @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                     5          @   @                 @               @   @                 @                     
+          @   @                 @               @   @                 @                              @   @                 @               @           @                               @   @                 @               @   @          €       @                               @   @                 @               @   @                 @                               @   @                 @               @   @           €      @                     	          @   @                 @               @   @           €      @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @                 @                               @   @           @      @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @            @     @               @   @                 @                               @   @            @     @               @   @                 @                               @   @            @     @               @   @                 @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                               @   @                  @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                 @               @   @                 @                               @   @                  @               @   @                 @                               @   @          @       @               @   @                 @                               @   @          @       @               @   @                 @                               @   @                 @               @   @                 @                                    @           @   @                 @           @   @          ÿÿÿ    @           @           @           @              @   @                 @   @                 @   @                 @   @                 @   @                 @   @                 @   @          ?       @           @           @           @           @           @           @           @                                                                                         dir            lnk_file            process         	   fifo_file            file            unix_stream_socket         	   sock_file               object_r               mysqld_var_run_t            httpd_sys_content_t            postfix_bounce_t            postfix_cleanup_t            initrc_t            avahi_t            xfs_t            mysqld_etc_t         
+   logwatch_t            mailman_mail_t            setroubleshootd_t            postfix_master_t            postfix_pickup_t            mysqld_db_t            postfix_smtpd_t            mysqld_t            httpd_t            named_t            tmp_t            usr_t            postfix_qmgr_t            postfix_smtp_t         
+   system_mail_t            system_dbusd_t         	   var_run_t                             
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/selinux/forumml8.te
===================================================================
--- trunk/plugins/coclico/forumml/selinux/forumml8.te	                        (rev 0)
+++ trunk/plugins/coclico/forumml/selinux/forumml8.te	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,109 @@
+
+module forumml8 1.0;
+
+require {
+	type mailman_mail_t;
+	type usr_t;
+	type mysqld_t;
+	type postfix_smtpd_t;
+	type xfs_t;
+	type setroubleshootd_t;
+	type system_dbusd_t;
+	type tmp_t;
+	type mysqld_etc_t;
+	type initrc_t;
+	type mysqld_db_t;
+	type httpd_sys_content_t;
+	type logwatch_t;
+	type postfix_smtp_t;
+	type postfix_bounce_t;
+	type var_run_t;
+	type mysqld_var_run_t;
+	type named_t;
+	type postfix_cleanup_t;
+	type postfix_master_t;
+	type postfix_pickup_t;
+	type system_mail_t;
+	type postfix_qmgr_t;
+	type httpd_t;
+	type avahi_t;
+	class fifo_file { write read getattr ioctl };
+	class process signal;
+	class unix_stream_socket connectto;
+	class file { write getattr read create unlink };
+	class sock_file write;
+	class lnk_file read;
+	class dir { write search read remove_name create add_name };
+}
+
+#============= avahi_t ==============
+allow avahi_t mysqld_db_t:dir search;
+allow avahi_t mysqld_etc_t:file getattr;
+
+#============= httpd_t ==============
+allow httpd_t system_mail_t:process signal;
+
+#============= logwatch_t ==============
+allow logwatch_t initrc_t:unix_stream_socket connectto;
+allow logwatch_t mysqld_etc_t:file read;
+allow logwatch_t mysqld_t:unix_stream_socket connectto;
+
+#============= mailman_mail_t ==============
+allow mailman_mail_t httpd_sys_content_t:dir { read write create add_name };
+allow mailman_mail_t httpd_sys_content_t:file { read write create };
+allow mailman_mail_t httpd_sys_content_t:lnk_file read;
+allow mailman_mail_t self:fifo_file { write read getattr ioctl };
+allow mailman_mail_t tmp_t:file { read getattr };
+allow mailman_mail_t usr_t:file read;
+allow mailman_mail_t var_run_t:dir { write remove_name };
+allow mailman_mail_t var_run_t:file { read unlink };
+
+#============= named_t ==============
+allow named_t mysqld_db_t:dir search;
+allow named_t mysqld_etc_t:file { read getattr };
+
+#============= postfix_bounce_t ==============
+allow postfix_bounce_t initrc_t:unix_stream_socket connectto;
+allow postfix_bounce_t mysqld_db_t:dir search;
+allow postfix_bounce_t mysqld_etc_t:file getattr;
+allow postfix_bounce_t mysqld_t:unix_stream_socket connectto;
+
+#============= postfix_cleanup_t ==============
+allow postfix_cleanup_t initrc_t:unix_stream_socket connectto;
+allow postfix_cleanup_t mysqld_db_t:dir search;
+allow postfix_cleanup_t mysqld_etc_t:file getattr;
+
+#============= postfix_master_t ==============
+allow postfix_master_t initrc_t:unix_stream_socket connectto;
+allow postfix_master_t mysqld_etc_t:file getattr;
+
+#============= postfix_pickup_t ==============
+allow postfix_pickup_t initrc_t:unix_stream_socket connectto;
+allow postfix_pickup_t mysqld_db_t:dir search;
+allow postfix_pickup_t mysqld_etc_t:file { read getattr };
+allow postfix_pickup_t mysqld_var_run_t:sock_file write;
+
+#============= postfix_qmgr_t ==============
+allow postfix_qmgr_t initrc_t:unix_stream_socket connectto;
+allow postfix_qmgr_t mysqld_db_t:dir search;
+allow postfix_qmgr_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtp_t ==============
+allow postfix_smtp_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtp_t mysqld_db_t:dir search;
+allow postfix_smtp_t mysqld_etc_t:file getattr;
+
+#============= postfix_smtpd_t ==============
+allow postfix_smtpd_t initrc_t:unix_stream_socket connectto;
+allow postfix_smtpd_t mysqld_db_t:dir search;
+allow postfix_smtpd_t mysqld_etc_t:file getattr;
+
+#============= setroubleshootd_t ==============
+allow setroubleshootd_t httpd_sys_content_t:lnk_file read;
+
+#============= system_dbusd_t ==============
+allow system_dbusd_t mysqld_t:unix_stream_socket connectto;
+allow system_dbusd_t mysqld_var_run_t:sock_file write;
+
+#============= xfs_t ==============
+allow xfs_t mysqld_t:unix_stream_socket connectto;

Added: trunk/plugins/coclico/forumml/site-content/en_US/forumml.tab
===================================================================
--- trunk/plugins/coclico/forumml/site-content/en_US/forumml.tab	                        (rev 0)
+++ trunk/plugins/coclico/forumml/site-content/en_US/forumml.tab	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,100 @@
+#/**
+#  *
+#  * Plugin forumml scripts message catalog (English)
+#  *
+#  * 
+#  * Copyright (c) STMicroelectronics, 2007. All Rights Reserved.
+#  *
+#  * Originally written by Mohamed CHAARI, 2007. STMicroelectronics.
+#  *
+#  * This file is a part of codendi.
+#  *
+#  * codendi is free software; you can redistribute it and/or modify
+#  * it under the terms of the GNU General Public License as published by
+#  * the Free Software Foundation; either version 2 of the License, or
+#  * (at your option) any later version.
+#  *
+#  * codendi is distributed in the hope that it will be useful,
+#  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  * GNU General Public License for more details.
+#  *
+#  * You should have received a copy of the GNU General Public License
+#  * along with codendi; if not, write to the Free Software
+#  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#  *
+#  *
+#  *
+#  *
+#  */
+#
+#
+#-----------------------------------------------
+# Script:plugins/forumml/www/index.php
+#
+plugin_forumml	descriptor_description	ForumML provide a nice view of GNU Mailman archives.
+plugin_forumml	post	Post a New Thread
+plugin_forumml	archives	Archives
+plugin_forumml	browse_arch	Browse Archives
+plugin_forumml	attach_file	Attach file
+plugin_forumml	title_root	Mailing-List '$1'
+plugin_forumml	list_arch	Archives
+plugin_forumml	list_new_thread	Mailing-List '$1' - New Thread
+plugin_forumml	new_thread	Submit a new Thread:
+plugin_forumml	subject_exist	Your subject already exist, please Change it...
+plugin_forumml	last_by	last by
+plugin_forumml	subject	Subject
+plugin_forumml	add_cc	Add cc
+plugin_forumml	attach	Attach:
+plugin_forumml	message	Message:
+plugin_forumml	cc	Cc:
+plugin_forumml	from	From:
+plugin_forumml	reply	Reply
+plugin_forumml	erase	Erase
+plugin_forumml	wrong_list	The mailing-list does not exist or is inactive.
+plugin_forumml	specify_list	You must specify the mailing-list id.
+plugin_forumml	type_subject	Submit failed. You must specify the mail subject.
+plugin_forumml	email_delay	There can be some delay before to see the message in the archives.
+plugin_forumml	back_to_list	Back to the list
+plugin_forumml	warn_permission	Please check that you are allowed to post to this list. Otherwise, your message may not be distributed.
+#
+#-----------------------------------------------
+# Script:plugins/forumml/www/message.php
+#
+plugin_forumml	post_thread	Post a new Thread
+plugin_forumml	original_archive	Mailman Archives
+plugin_forumml	thread	Thread
+plugin_forumml	submitted_on	Submitted on
+plugin_forumml	author	Author
+plugin_forumml	empty_archives	Empty Archives
+plugin_forumml	search_result	Search results for '$1'
+plugin_forumml	found	thread(s) found
+#
+#-----------------------------------------------
+# Script:plugins/forumml/www/upload.php
+#
+plugin_forumml	missing_param	Missing 'date' and/or 'filename' parameters.
+plugin_forumml	attchment_not_found	Attachment not found
+#
+#-----------------------------------------------
+# Script:plugins/forumml/www/forumml_utils.php
+#
+plugin_forumml	show_message_from	From:
+plugin_forumml	show_message_cc	Cc:
+plugin_forumml	show_message_date	on $1
+plugin_forumml	show_message_subject	Subject:
+plugin_forumml	begin	First messages
+plugin_forumml	previous	Previous $1 messages
+plugin_forumml	threads	Threads
+plugin_forumml	next	Next $1 messages
+plugin_forumml	end	Last messages
+plugin_forumml	invalid_mail	Submit failed. Invalid e-mail address in CC List.<br>'$1'
+plugin_forumml	mail_succeed	Mail Sent successfully.
+plugin_forumml	mail_fail	Sending Mail failed.
+plugin_forumml	msg_html_format	Message (in HTML format)
+plugin_forumml	toggle_font	Toggle font familly (typewriter/normal)
+#
+#-----------------------------------------------
+# Script:plugins/forumml/include/forummlPlugin.class.php
+#
+plugin_forumml	this_list	This Mailing-List

Added: trunk/plugins/coclico/forumml/site-content/fr_FR/forumml.tab
===================================================================
--- trunk/plugins/coclico/forumml/site-content/fr_FR/forumml.tab	                        (rev 0)
+++ trunk/plugins/coclico/forumml/site-content/fr_FR/forumml.tab	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,100 @@
+#/**
+#  *
+#  * Plugin forumml scripts message catalog (French)
+#  *
+#  * 
+#  * Copyright (c) STMicroelectronics, 2007. All Rights Reserved.
+#  *
+#  * Originally written by Mohamed CHAARI, 2007. STMicroelectronics.
+#  *
+#  * This file is a part of codendi.
+#  *
+#  * codendi is free software; you can redistribute it and/or modify
+#  * it under the terms of the GNU General Public License as published by
+#  * the Free Software Foundation; either version 2 of the License, or
+#  * (at your option) any later version.
+#  *
+#  * codendi is distributed in the hope that it will be useful,
+#  * but WITHOUT ANY WARRANTY; without even the implied warranty of
+#  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+#  * GNU General Public License for more details.
+#  *
+#  * You should have received a copy of the GNU General Public License
+#  * along with codendi; if not, write to the Free Software
+#  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+#  *
+#  *
+#  *
+#  *
+#  */
+#
+#
+#-----------------------------------------------
+# Script:plugins/forumml/www/index.php
+#
+plugin_forumml	descriptor_description	ForumML fournit une interface plus conviviale pour naviger dans des archives Mailman.
+plugin_forumml	post	Soumettre un nouveau fil de discussion
+plugin_forumml	archives	Archives
+plugin_forumml	browse_arch	Naviguer dans les archives
+plugin_forumml	attach_file	Attacher un fichier
+plugin_forumml	title_root	Liste de diffusion '$1'
+plugin_forumml	list_arch	Archives
+plugin_forumml	list_new_thread	Liste de diffusion '$1' - Nouveau fil de discussion
+plugin_forumml	new_thread	Soumettre un nouveau fil de discussion:
+plugin_forumml	subject_exist	Le sujet choisi existe déjà, veuillez le changer...
+plugin_forumml	last_by	Dernier auteur
+plugin_forumml	subject	Sujet
+plugin_forumml	add_cc	Ajouter Cc
+plugin_forumml	attach	Attacher:
+plugin_forumml	message	Message:
+plugin_forumml	cc	Cc:
+plugin_forumml	from	Envoyé par:
+plugin_forumml	reply	Répondre
+plugin_forumml	erase	Effacer
+plugin_forumml	wrong_list	Cette liste de diffusion n'existe pas ou bien elle est inactive.
+plugin_forumml	specify_list	Vous devez spécifier l'identificateur (id) de la liste de diffusion.
+plugin_forumml	type_subject	L'envoi a échoué. Vous devez spécifier le sujet du mail.
+plugin_forumml	email_delay	Il peut y avoir un délai avant de le voir apparaître dans les archives.
+plugin_forumml	back_to_list	Retour à la liste
+plugin_forumml	warn_permission	Veillez vérifier que vous êtes autorisé à poster dans cette liste, sans quoi votre message pourrait ne pas être distribué
+#
+#-----------------------------------------------
+# Script:plugins/forumml/www/message.php
+#
+plugin_forumml	post_thread	Soumettre un nouveau fil de discussion
+plugin_forumml	original_archive	Archives Mailman
+plugin_forumml	thread	Fil de discussion
+plugin_forumml	submitted_on	Date
+plugin_forumml	author	Auteur
+plugin_forumml	empty_archives	Archives vides
+plugin_forumml	search_result	Résultat de recherche pour '$1'
+plugin_forumml	found	Fil(s) trouvé(s)
+#
+#-----------------------------------------------
+# Script:plugins/forumml/www/upload.php
+#
+plugin_forumml	missing_param	Les paramètres 'date' et/ou 'filename' sont manquants.
+plugin_forumml	attchment_not_found	Attachement manquant
+#
+#-----------------------------------------------
+# Script:plugins/forumml/www/forumml_utils.php
+#
+plugin_forumml	show_message_from	De :
+plugin_forumml	show_message_cc	Cc :
+plugin_forumml	show_message_date	le $1
+plugin_forumml	show_message_subject	Sujet :
+plugin_forumml	begin	Premiers fils
+plugin_forumml	previous	Les $1 fils précédents
+plugin_forumml	threads	Fils
+plugin_forumml	next	Les $1 fils suivants
+plugin_forumml	end	Derniers fils
+plugin_forumml	invalid_mail	Echec d'envoi. Adresse courriel en Cc non valide.<br>'$1'
+plugin_forumml	mail_succeed	E-mail envoyé avec succès.
+plugin_forumml	mail_fail	Echec d'envoi de l'e-mail.
+plugin_forumml	msg_html_format	Message (en format HTML)
+plugin_forumml	toggle_font	Changer la police (courier/normal)
+#
+#-----------------------------------------------
+# Script:plugins/forumml/include/forummlPlugin.class.php
+#
+plugin_forumml	this_list	Cette Liste

Added: trunk/plugins/coclico/forumml/tests/ForumML_FileStorageTest.php
===================================================================
--- trunk/plugins/coclico/forumml/tests/ForumML_FileStorageTest.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/ForumML_FileStorageTest.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,185 @@
+<?php
+
+/**
+ * Copyright (c) STMicroelectronics, 2006. All Rights Reserved.
+ * 
+ * Originally written by Mohamed CHAARI, 2007.
+ * 
+ * This file is a part of codendi.
+ * 
+ * codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ * 
+ * codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ * 
+ * You should have received a copy of the GNU General Public License
+ * along with codendi; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ * 
+ * $Id$
+ */
+
+require_once(dirname(__FILE__).'/../include/ForumML_FileStorage.class.php');
+
+Mock::generatePartial('ForumML_FileStorage', 'ForumML_FileStorageTestVersion', array('fileExists'));
+
+class ForumML_FileStorageTest extends UnitTestCase {
+	private $_fixture;
+    private $_namePattern;
+
+	// Class constructor
+	function __construct($name="ForumML Mail Attachments Storage Test") {
+        parent::__construct($name);
+        $this->_fixture     = dirname(__FILE__).'/_fixtures';
+        // validchar for attachment name
+        $this->_namePattern = "`[^a-z0-9_-]`i";
+	}
+
+    private function _deleteIfExists($path) {
+        if (is_dir($path)) {
+            rmdir($path);
+        } elseif (file_exists($path)) {
+            unlink($path);
+        }
+    }
+
+    private function _getFileStorage($path) {
+        $fs = new ForumML_FileStorageTestVersion($this);
+        $fs->root = $path;
+        $fs->setReturnValue('fileExists', false);
+        return $fs;
+    }
+
+    function setUp() {
+    }
+	
+    function tearDown() {
+        $this->_deleteIfExists($this->_fixture.'/gpig-interest/2007_10_24/Screenshot_jpg');
+        $this->_deleteIfExists($this->_fixture.'/gpig-interest/2007_10_24');
+        $this->_deleteIfExists($this->_fixture.'/gpig-interest');
+
+    }
+
+	function testForumML_FileStorage() {
+		$fstorage = $this->_getFileStorage($this->_fixture);
+		$this->assertNotNull($fstorage->root);
+		$this->assertIsA($fstorage->root, 'string');
+		$this->assertEqual($fstorage->root,$this->_fixture);
+		$this->assertNoErrors();
+	}
+	
+    // case 1: an attachment file whose name has more than 64 characters  		
+	function test_getPathFileNameWithMoreThan64Char() {
+		$fs1 = $this->_getFileStorage($this->_fixture);
+		$name1 = "a string with more than 64 characters, which is the limit allowed for ForumML attachments";
+		$list1 = "gpig-interest";
+		$date1 = "2007_10_24";
+		$type1 = "store";
+
+		// check returned path
+		$path1 = $fs1->_getPath($name1,$list1,$date1,$type1);
+		$this->assertNotNull($path1);
+		$this->assertIsA($path1, 'string');
+		$this->assertNoErrors();		
+		// check filename length is restricted to 64 characters
+		$path_array1 = explode("/",$path1);
+		$fname1 = $path_array1[count($path_array1) - 1];
+		$this->assertNotEqual($name1,$fname1);
+		$this->assertEqual(strlen($fname1),63);
+		// check other path components
+		$flist1 = $path_array1[count($path_array1) - 3];
+		$this->assertEqual($flist1,$list1);
+		$fdate1 = $path_array1[count($path_array1) - 2];
+		$this->assertEqual($fdate1,$date1);
+		// check regexp
+		$this->assertWantedPattern($this->_namePattern,$name1);
+    }
+
+    // case 2: an attachment file whose name has less than 64 characters
+    function test_getPathFileNameWithLessThan64Char() {
+        $fs1 = $this->_getFileStorage($this->_fixture);
+		$name2 = "filename less than 64 chars";
+		$list1 = "gpig-interest";
+		$date1 = "2007_10_24";
+		$type1 = "store";
+
+		$path2 = $fs1->_getPath($name2,$list1,$date1,$type1);
+		$this->assertNotNull($path2);
+		$this->assertIsA($path2, 'string');
+		$this->assertNoErrors();				
+		$path_array2 = explode("/",$path2);
+		$fname2 = $path_array2[count($path_array2) - 1];		
+		$this->assertEqual($fname2,"filename_less_than_64_chars");				
+		$this->assertNotEqual(strlen($fname2),64);
+		// check path components
+		$flist2 = $path_array2[count($path_array2) - 3];
+		$this->assertEqual($flist2,$list1);
+		$fdate2 = $path_array2[count($path_array2) - 2];
+		$this->assertEqual($fdate2,$date1);		
+		// check regexp		
+		$this->assertWantedPattern($this->_namePattern,$name2);
+    }
+
+    // case 3: attachment filename with only alphanumeric characters
+    function test_getPathFileNameWithAlphaNumCharsOnly() {
+        $fs1 = $this->_getFileStorage($this->_fixture);
+		$name3 = "Cx2008-requirements";
+		$list1 = "gpig-interest";
+		$date1 = "2007_10_24";
+		$type1 = "store";
+
+		$path3 = $fs1->_getPath($name3,$list1,$date1,$type1);
+		$this->assertNotNull($path3);
+		$this->assertIsA($path3, 'string');
+		$this->assertNoErrors();		
+		$path_array3 = explode("/",$path3);
+		$fname3 = $path_array3[count($path_array3) - 1];
+		$this->assertNoUnwantedPattern($this->_namePattern,$name3);
+    }
+
+    // case 4: attachment filename is an empty string
+    function test_getPathFileNameEmpty() {
+        $fs1 = $this->_getFileStorage($this->_fixture);
+		$name4 = "";
+		$list1 = "gpig-interest";
+		$date1 = "2007_10_24";
+		$type1 = "store";
+
+		$path4 = $fs1->_getPath($name4,$list1,$date1,$type1);
+		$this->assertNoErrors();
+		$this->assertNotNull($path4);
+		$this->assertIsA($path4, 'string');
+		$path_array4 = explode("/",$path4);
+		$fname4 = $path_array4[count($path_array4) - 1];
+		$this->assertWantedPattern('/^attachment.*/', $fname4);
+	}
+	
+    // case 5: same attachment name submitted 2 times same day for same list
+    function testGetPathWithSameFileName() {
+        $fs = new ForumML_FileStorageTestVersion($this);
+        $fs->root = $this->_fixture;
+        $fs->setReturnValueAt(0, 'fileExists', false);
+        $fs->setReturnValueAt(1, 'fileExists', true);
+ 
+        $list = "gpig-interest";
+		$date = "2007_10_24";
+		$type = "store";
+        $name = 'Screenshot.jpg';
+
+        // First file stored that day
+        $path1 = $fs->_getPath($name,$list,$date,$type);
+
+        // Second file with same name
+        $path2 = $fs->_getPath($name,$list,$date,$type);
+
+        $this->assertNotEqual($path1, $path2);
+    }
+
+}
+
+?>
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/tests/ForumML_InsertTest.php
===================================================================
--- trunk/plugins/coclico/forumml/tests/ForumML_InsertTest.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/ForumML_InsertTest.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,221 @@
+<?php
+
+require_once(dirname(__FILE__).'/../include/ForumML_mimeDecode.class.php');
+require_once(dirname(__FILE__).'/../include/ForumMLInsert.class.php');
+require_once(dirname(__FILE__).'/../include/ForumML_FileStorage.class.php');
+
+Mock::generatePartial('ForumMLInsert', 'ForumMLInsertTest', array('insertMessage', 'insertAttachment'));
+Mock::generate('ForumML_FileStorage');
+
+
+class ForumML_InsertTest extends UnitTestCase {
+	private $_fixture;
+
+	function __construct($name="ForumML Mail DB insert tests") {
+        parent::__construct($name);
+        $this->_fixture     = dirname(__FILE__).'/_fixtures/samples';
+	}
+
+
+    function getEmailStructure($path) {
+        $message                = file_get_contents($this->_fixture.'/'.$path);
+        $args['include_bodies'] = TRUE;
+        $args['decode_bodies']  = TRUE;
+        $args['decode_headers'] = TRUE;
+        $args['crlf']           = "\r\n";
+        $decoder                = new ForumML_mimeDecode($message, "\r\n");
+        $structure              = $decoder->decode($args);
+        return $structure;
+    }
+
+    /**
+     * Text only
+     */
+    function testInsertTextOnly() {
+        $structure = $this->getEmailStructure('pure_text.mbox');
+
+        $storage = new MockForumML_FileStorage($this);
+
+        $i = new ForumMLInsertTest($this);
+        $i->setReturnValue('insertMessage', 2);
+
+        $txtBody='Pure text
+';
+        $i->expectOnce('insertMessage', array('*', $txtBody, 'text/plain; charset=ISO-8859-1; format=flowed'));
+        $i->expectNever('insertAttachment');
+
+        $i->storeEmail($structure, $storage);
+    }
+
+    /**
+     * Attachment only
+     */
+    function testInsertAttachmentOnly() {
+        $structure = $this->getEmailStructure('attachment_only.mbox');
+
+        $storage = new MockForumML_FileStorage($this);
+        $storage->setReturnValue('store', '/a/b/c');
+
+        $i = new ForumMLInsertTest($this);
+        $i->setReturnValue('insertMessage', 2);
+
+        $txtBody='
+
+';
+        $i->expectOnce('insertMessage', array('*', $txtBody, 'text/plain; charset=ISO-8859-1; format=flowed'));
+        $i->expectOnce('insertAttachment', array(2, 'lock.png', 'image/png; name="lock.png"', '/a/b/c', ''));
+
+        $i->storeEmail($structure, $storage);
+    }
+
+
+    /**
+     * Text + attachment
+     */
+    function testInsertTextWithAttachment() {
+        $structure = $this->getEmailStructure('text_plus_attachment.mbox');
+
+        $storage = new MockForumML_FileStorage($this);
+        $storage->setReturnValue('store', '/a/b/c');
+
+        $i = new ForumMLInsertTest($this);
+        $i->setReturnValue('insertMessage', 2);
+
+        $txtBody='Some text
+
+';
+        $i->expectOnce('insertMessage', array('*', $txtBody, 'text/plain; charset=ISO-8859-1; format=flowed'));
+        $i->expectOnce('insertAttachment', array(2, 'lock.png', 'image/png; name="lock.png"', '/a/b/c', ''));
+
+        $i->storeEmail($structure, $storage);
+    }
+
+    /**
+     * Pure HTML sent in Text+HTML
+     */
+    function testInsertHTMLInTextHtmlMode() {
+        $structure = $this->getEmailStructure('pure_html_text_plus_html.mbox');
+
+        $storage = new MockForumML_FileStorage($this);
+        $storage->setReturnValue('store', '/a/b/c');
+
+        $i = new ForumMLInsertTest($this);
+        $i->setReturnValue('insertMessage', 2);
+
+        $txtBody='My *fault
+
+*
+
+';
+        $i->expectOnce('insertMessage', array('*', $txtBody, 'text/plain; charset=ISO-8859-1; format=flowed'));
+        $i->expectOnce('insertAttachment', array(2, 'message_4ACB049C.6020506.html', 'text/html; charset=ISO-8859-1', '/a/b/c', ''));
+
+        $i->storeEmail($structure, $storage);
+    }
+
+    /**
+     * Pure HTML sent in HTML Only
+     */
+    function testInsertHTMLInHtmlOnlyMode() {
+        $structure = $this->getEmailStructure('pure_html_in_html_only.mbox');
+
+        $storage = new MockForumML_FileStorage($this);
+        $storage->setReturnValue('store', '/a/b/c');
+
+        $i = new ForumMLInsertTest($this);
+        $i->setReturnValue('insertMessage', 2);
+
+        $i->expectOnce('insertMessage', array('*', '*', 'text/html; charset=ISO-8859-1'));
+        $i->expectNever('insertAttachment');
+
+        $i->storeEmail($structure, $storage);
+    }
+
+    /**
+     * HTML with inline content in Text+HTML mode
+     */
+    function testInsertHtmlWithInlineContentInTextPlusHtml() {
+        $structure = $this->getEmailStructure('html_with_inline_content_in_text_plus_html.mbox');
+
+        $storage = new MockForumML_FileStorage($this);
+        $storage->setReturnValue('store', '/a/b/c');
+
+        $i = new ForumMLInsertTest($this);
+        $i->setReturnValue('insertMessage', 2);
+
+        $txtBody='My *test
+
+*
+
+';
+        $i->expectOnce('insertMessage', array('*', $txtBody, 'text/plain; charset=ISO-8859-1; format=flowed'));
+        $i->expectAt(0, 'insertAttachment', array(2, '*', 'text/html; charset=ISO-8859-1', '/a/b/c', ''));
+        $i->expectAt(1, 'insertAttachment', array(2, 'lock.png', 'image/png; name="lock.png"', '/a/b/c', '<part1.02040105.07020502 at codendi.org>'));
+        $i->expectCallCount('insertAttachment', 2);
+
+        $i->storeEmail($structure, $storage);
+    }
+
+    /**
+     * HTML with inline content in HTML Only mode
+     */
+    function testInsertHtmlWithInlineContentInHtmlOnly() {
+        $structure = $this->getEmailStructure('html_with_inline_content_in_html_only.mbox');
+
+        $storage = new MockForumML_FileStorage($this);
+        $storage->setReturnValue('store', '/a/b/c');
+
+        $i = new ForumMLInsertTest($this);
+        $i->setReturnValue('insertMessage', 2);
+
+        $i->expectOnce('insertMessage', array('*', '*', 'text/html; charset=ISO-8859-1'));
+        $i->expectOnce('insertAttachment', array(2, 'attachment', 'image/png', '/a/b/c', '<part1.04090204.04000103 at codendi.org>'));
+
+        $i->storeEmail($structure, $storage);
+    }
+
+    function testInsertHtmlWithInlineContentAndAttachmentInTextPlusHtml() {
+        $structure = $this->getEmailStructure('html_with_inline_content_and_attch_in_text_plus_html.mbox');
+
+        $storage = new MockForumML_FileStorage($this);
+        $storage->setReturnValue('store', '/a/b/c');
+
+        $i = new ForumMLInsertTest($this);
+        $i->setReturnValue('insertMessage', 2);
+
+        $txtBody='My *test
+
+*
+
+';
+        $i->expectOnce('insertMessage', array('*', $txtBody, 'text/plain; charset=ISO-8859-1; format=flowed'));
+        $i->expectAt(0, 'insertAttachment', array(2, '*', 'text/html; charset=ISO-8859-1', '/a/b/c', ''));
+        $i->expectAt(1, 'insertAttachment', array(2, 'attachment', 'image/png', '/a/b/c', '<part1.05020200.07040300 at codendi.org>'));
+        $i->expectAt(2, 'insertAttachment', array(2, 'new_trk_severity_migr.png', 'image/png; name="new_trk_severity_migr.png"', '/a/b/c', ''));
+        $i->expectCallCount('insertAttachment', 3);
+        
+        $i->storeEmail($structure, $storage);
+    }
+
+    function testInsertHtmlWithInlineContentAndAttachmentInHtmlOnly() {
+        $structure = $this->getEmailStructure('html_with_inline_content_and_attch_in_html_only.mbox');
+
+        $storage = new MockForumML_FileStorage($this);
+        $storage->setReturnValue('store', '/a/b/c');
+
+        $i = new ForumMLInsertTest($this);
+        $i->setReturnValue('insertMessage', 2);
+
+        $i->expectOnce('insertMessage', array('*', '*', 'text/html; charset=ISO-8859-1'));
+        $i->expectAt(0, 'insertAttachment', array(2, 'attachment', 'image/png', '/a/b/c', '<part1.05000804.09080906 at codendi.org>'));
+        $i->expectAt(1, 'insertAttachment', array(2, 'new_trk_severity_migr.png', 'image/png; name="new_trk_severity_migr.png"', '/a/b/c', ''));
+        $i->expectCallCount('insertAttachment', 2);
+
+        $i->storeEmail($structure, $storage);
+    } 
+
+
+
+}
+
+?>

Added: trunk/plugins/coclico/forumml/tests/_fixtures/samples/attachment_only.mbox
===================================================================
--- trunk/plugins/coclico/forumml/tests/_fixtures/samples/attachment_only.mbox	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/_fixtures/samples/attachment_only.mbox	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,238 @@
+From john.doh at codendi.org  Tue Oct  6 13:14:43 2009
+Return-Path: <john.doh at codendi.org>
+X-Original-To: gpig-test at codendi.org
+Delivered-To: gpig-test at codendi.org
+Received: from alpha.codendi.org (ns2.codendi.org [192.168.1.2])
+	by codendi.org (Postfix) with ESMTP id B2FC7AD70A
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 13:14:43 +0200 (CEST)
+Received: from mail2.foobar.org (mail2.foobar.org [192.168.1.3])
+	by alpha.codendi.org (FooBar) with ESMTP id 46082AA3
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 11:14:43 +0000 (GMT)
+Received: from [192.168.1.4] (yoyo.foobar.org [192.168.1.4])
+	by mail2.foobar.org (MOS 3.8.7a)
+	with ESMTP id CTB94911 (AUTH johndoh);
+	Tue, 6 Oct 2009 13:14:08 +0200 (CEST)
+Message-ID: <4ACB26A3.8010602 at codendi.org>
+Date: Tue, 06 Oct 2009 13:14:43 +0200
+From: Manuel VACELET <john.doh at codendi.org>
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
+	rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666
+MIME-Version: 1.0
+To: gpig-test at codendi.org
+Content-Type: multipart/mixed; boundary="------------080307020605020807030502"
+Subject: [Gpig-testsabri] attchement only
+X-BeenThere: gpig-test at codendi.org
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <gpig-test.codendi.org>
+List-Unsubscribe: <http://codendi.org/mailman/listinfo/gpig-test>, 
+	<mailto:gpig-test-request at codendi.org?subject=unsubscribe>
+List-Archive: <http://codendi.org/pipermail/gpig-test>
+List-Post: <mailto:gpig-test at codendi.org>
+List-Help: <mailto:gpig-test-request at codendi.org?subject=help>
+List-Subscribe: <http://codendi.org/mailman/listinfo/gpig-test>,
+	<mailto:gpig-test-request at codendi.org?subject=subscribe>
+X-List-Received-Date: Tue, 06 Oct 2009 11:14:43 -0000
+
+This is a multi-part message in MIME format.
+--------------080307020605020807030502
+Content-Type: text/plain; charset=ISO-8859-1; format=flowed
+Content-Transfer-Encoding: 7bit
+
+
+
+--------------080307020605020807030502
+Content-Type: image/png;
+ name="lock.png"
+Content-Transfer-Encoding: base64
+Content-Disposition: inline;
+ filename="lock.png"
+
+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
+EoQAAAL4YkJQbolQTkcNChoKAAAADUlIRFIAAADHAAABDggCAAAAsveUWQAAAr9JREFUeNrt
+0kEJADAMwMDVv+mZCBTKnYI8Mg9qsx3AQa6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnofXqoBD6rh
+8GQAAAAASUVORK5CYIJIZtRDAAAAAElFTkSuQmCC
+--------------080307020605020807030502--

Added: trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_and_attch_in_html_only.mbox
===================================================================
--- trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_and_attch_in_html_only.mbox	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_and_attch_in_html_only.mbox	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,391 @@
+From john.doh at codendi.org  Tue Oct  6 13:45:32 2009
+Return-Path: <john.doh at codendi.org>
+X-Original-To: gpig-test at codendi.org
+Delivered-To: gpig-test at codendi.org
+Received: from alpha.codendi.org (ns2.codendi.org [192.168.1.2])
+	by codendi.org (Postfix) with ESMTP id 469A6AD70A
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 13:45:32 +0200 (CEST)
+Received: from mail2.foobar.org (mail2.foobar.org [192.168.1.3])
+	by alpha.codendi.org (FooBar) with ESMTP id 0A2D7AC6
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 11:45:32 +0000 (GMT)
+Received: from [192.168.1.4] (yoyo.foobar.org [192.168.1.4])
+	by mail2.foobar.org (MOS 3.8.7a)
+	with ESMTP id CTB95761 (AUTH johndoh);
+	Tue, 6 Oct 2009 13:44:56 +0200 (CEST)
+Message-ID: <4ACB2DDC.1090507 at codendi.org>
+Date: Tue, 06 Oct 2009 13:45:32 +0200
+From: Manuel VACELET <john.doh at codendi.org>
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
+	rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666
+MIME-Version: 1.0
+To: gpig-test at codendi.org
+Content-Type: multipart/mixed; boundary="------------020002020307040308020901"
+Subject: [Gpig-testsabri] HTML with inline content and attachment in HTML
+	only mode
+X-BeenThere: gpig-test at codendi.org
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <gpig-test.codendi.org>
+List-Unsubscribe: <http://codendi.org/mailman/listinfo/gpig-test>, 
+	<mailto:gpig-test-request at codendi.org?subject=unsubscribe>
+List-Archive: <http://codendi.org/pipermail/gpig-test>
+List-Post: <mailto:gpig-test at codendi.org>
+List-Help: <mailto:gpig-test-request at codendi.org?subject=help>
+List-Subscribe: <http://codendi.org/mailman/listinfo/gpig-test>,
+	<mailto:gpig-test-request at codendi.org?subject=subscribe>
+X-List-Received-Date: Tue, 06 Oct 2009 11:45:32 -0000
+
+This is a multi-part message in MIME format.
+--------------020002020307040308020901
+Content-Type: multipart/related;
+	boundary="------------010008070805010506010307"
+
+
+--------------010008070805010506010307
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: 7bit
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+</head>
+<body bgcolor="#ffffff" text="#000000">
+My <b>test<br>
+<img alt="" src="cid:part1.05000804.09080906 at codendi.org" height="270"
+ width="199"><br>
+</b>
+<br>
+</body>
+</html>
+
+--------------010008070805010506010307
+Content-Type: image/png
+Content-Transfer-Encoding: base64
+Content-ID: <part1.05000804.09080906 at codendi.org>
+
+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
+EoQAAAL4YkJQbolQTkcNChoKAAAADUlIRFIAAADHAAABDggCAAAAsveUWQAAAr9JREFUeNrt
+0kEJADAMwMDVv+mZCBTKnYI8Mg9qsx3AQa6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnofXqoBD6rh
+8GQAAAAASUVORK5CYIJIZtRDAAAAAElFTkSuQmCC
+--------------010008070805010506010307--
+
+--------------020002020307040308020901
+Content-Type: image/png;
+ name="new_trk_severity_migr.png"
+Content-Transfer-Encoding: base64
+Content-Disposition: inline;
+ filename="new_trk_severity_migr.png"
+
+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
+--------------020002020307040308020901--

Added: trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_and_attch_in_text_plus_html.mbox
===================================================================
--- trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_and_attch_in_text_plus_html.mbox	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_and_attch_in_text_plus_html.mbox	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,406 @@
+From john.doh at codendi.org  Tue Oct  6 13:44:25 2009
+Return-Path: <john.doh at codendi.org>
+X-Original-To: gpig-test at codendi.org
+Delivered-To: gpig-test at codendi.org
+Received: from alpha.codendi.org (ns2.codendi.org [192.168.1.2])
+	by codendi.org (Postfix) with ESMTP id C1C9CAD70A
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 13:44:25 +0200 (CEST)
+Received: from mail2.foobar.org (mail2.foobar.org [192.168.1.3])
+	by alpha.codendi.org (FooBar) with ESMTP id E84AB41E
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 11:44:24 +0000 (GMT)
+Received: from [192.168.1.4] (yoyo.foobar.org [192.168.1.4])
+	by mail2.foobar.org (MOS 3.8.7a)
+	with ESMTP id CTB95731 (AUTH johndoh);
+	Tue, 6 Oct 2009 13:43:49 +0200 (CEST)
+Message-ID: <4ACB2D99.3080203 at codendi.org>
+Date: Tue, 06 Oct 2009 13:44:25 +0200
+From: Manuel VACELET <john.doh at codendi.org>
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
+	rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666
+MIME-Version: 1.0
+To: gpig-test at codendi.org
+Content-Type: multipart/mixed; boundary="------------040401030508020408000101"
+Subject: [Gpig-testsabri] HTML with inline content and attachment in
+	HTML+Text mode
+X-BeenThere: gpig-test at codendi.org
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <gpig-test.codendi.org>
+List-Unsubscribe: <http://codendi.org/mailman/listinfo/gpig-test>, 
+	<mailto:gpig-test-request at codendi.org?subject=unsubscribe>
+List-Archive: <http://codendi.org/pipermail/gpig-test>
+List-Post: <mailto:gpig-test at codendi.org>
+List-Help: <mailto:gpig-test-request at codendi.org?subject=help>
+List-Subscribe: <http://codendi.org/mailman/listinfo/gpig-test>,
+	<mailto:gpig-test-request at codendi.org?subject=subscribe>
+X-List-Received-Date: Tue, 06 Oct 2009 11:44:26 -0000
+
+This is a multi-part message in MIME format.
+--------------040401030508020408000101
+Content-Type: multipart/alternative;
+	boundary="------------090705050704060401010401"
+
+
+--------------090705050704060401010401
+Content-Type: text/plain; charset=ISO-8859-1; format=flowed
+Content-Transfer-Encoding: 7bit
+
+My *test
+
+*
+
+--------------090705050704060401010401
+Content-Type: multipart/related;
+	boundary="------------060704030302020603080603"
+
+
+--------------060704030302020603080603
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: 7bit
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+</head>
+<body bgcolor="#ffffff" text="#000000">
+My <b>test<br>
+<img alt="" src="cid:part1.05020200.07040300 at codendi.org" height="270"
+ width="199"><br>
+</b>
+<br>
+</body>
+</html>
+
+--------------060704030302020603080603
+Content-Type: image/png
+Content-Transfer-Encoding: base64
+Content-ID: <part1.05020200.07040300 at codendi.org>
+
+iVBORw0KGgoAAAANSUhEUgAAAMcAAAEOCAIAAACy95RZAAAjKUlEQVR42u2dCXzUxP7AJ7vb
++9qW3tBylFLuS+QBRQ4Bn9wqPtQHqA+eyOmJoj5BQXy+98QDDxDwzyEgCKJSQBFaQG6w0IMW
+bAu9ocdut9vtdu/jnxKMcTfJZtM0u53O9+NnnZ1MJkn3y28myWSC2e12gGizYBiGf3rbj4h5
+2w4hIABZhRAeZBVCeJBVCOHhaRWGrbXbl7Xk09MHjmhFWmQV/60isaCG0aqcHMWKFWcOHrz5
+5pvDHn00hUy/885IT+8zwtthtGratO9xjYiIQk3fXQ3FKgQzjFbhPzxovry2zCGNQLgEA+B9
+4GQPkXCGFMtlsGG/5otiFdzQWwVaFqtwpcxVqfqsiNBJB9GVi3YIT6tYgg2ulEVxn/mS36Kt
+tVu/zaW1CsUquBE4VjUrVZNqzgx8ZW/9Z9szUaBqnwgZq3CljCXDzVeDXtpn2rTjFItSKFbB
+DbZgwdEvvsipqVmUl6ccN24v4BurcKV0uUON5TFLNxfvPJCPolR7BsvOrl2x4kzHjsGvv/6X
+zp03Ab6xCrfq+nfLPtyX/ti8FZ4+KP707XuPp3dBMPLyLuOf48Y9Iv6mhbm7jCs1fWzUgRMK
+PJ2evh+m36bt0vascohV1KtTGRnfIau8gbZnFQvIKi+h7VnFchKHrCKJjd2Hf1ZX/41Mk1+J
+HDLNr0522p5VLCCrSEhvqALRZvKrlp22ZxXLiLz09G7IKgJ2gRxUA38OY0SCGufcDXJtzyoW
+UKwi4WiVQ8KhMFMxl1tHVsEJP6sAQ4eMmtPmrWK5sF5bq/v00ytr1lzA07t3T3n88Z4AWUWB
+Y7+KST7a0AWgt2rhwmPE3R48HROznhALWUXi3HMCDN0jl2eL1BwYrOJa0e/yIatIeJ/lCVKt
+V1hFaFFWNn/Jkgw88c47IwcMiAIUXajt3dq1Y+bM6R0dHUisW16u6dx509SpSWlpDyOrSLhf
+W2qNOj1pVUZG2f33J4Lf7Tl/fla3bmF4c0YoAihWEe0doRdegPq8DbEIX3fYsDhklZfgSasW
+LDi6YcMEwGFwFfGkDfEgFxHGCD74IHPZspN49Hr55SEA9da9Bk9aBcD7HIfskU8I4l/xSEY0
+kRcuVA0fvosMbABZ5TV4Ub/K5eCqwsL6K1dqnnjiEG7Sjh2T5PJP8cSXX/6V7GMhq7yEttEC
+4oEK76rX1Czy85PiMi1YMGD06ARcL6I7RdaIrPISPGlVTU0TEWZcWtXQYNy7t2D+/KP4V7x3
+tXTp4H/+82eiQSRBVxa8B69oAYUCWeUlwGnV5MkziJzDh/eLf2Ak+G447ACXHOoih6NgyXE4
+WLc2JDjQWkX8BcX8UzrDZetMZaj5RNo5h2l1QjUHyYCI/8Ygt8o5DZj/3M4/FTUSELD8VA6B
+hDZeOu+M89ZpS9IGHtpAxaQgilU8YbfKZYJ7SXcTJFzKOJQEzP8wWMxDLaBg8LaKe0naMNYa
+VtFuwrkephxklWCw96taKVaRtHas4tjTov0KkFXg9ytVBAsWDHjxxSE9eoS7rNHlOaDLbixT
+X4dJU5eFAd9+Fe1RcMlx3hBTTuvhRVaVl2v27Ssk7hNTr4Vu3pw7f/7RmppF5J0ZJtD1Ki/B
+i6xiusJOjKAihxGzgKzyEjw8ZgH8PgovJmY9uYCcx5E6ayPeDhI3DcHv0QtPpKU9PHVqElkG
+PbnlJXg4VlFH4bGMVqB+3bPnN+K+ckCAbODA7RkZM8mhf8gqL8GTVr355mnqKDyOVlHnyqbG
+MO5WfbylC/45c9Ku+NhU8Q+7PeD5FpAchcdulcOwYyrkKhytWv91t3Gj4zN+uT11zK6E+OHi
+Hzn0eNKqggIVOQoPN4bJqsLC+pSU/yN7687z+t+tjtkqs1l3+tIKVV12pfLu4JmJD8Tjnz8d
+vT3jwd0sYvF+IE4EvGdPnPHw+CpyFB7eijFZ5XBlgexXEY9OuGwBSytOHju1JDaiY2KiLL6j
+ytfXx263WiyqojJ7REQEu1jOT5V482/pPXi+BSRG4eHG5OQo8N43tedOgOfMmdOHehWUEAv8
++SkuWquuF/5w6tJrfZMtffp2UDdqqIvq6uwWO5DLIzJOVU+/f2/H2CHOu+j8CC+yigtedL2q
+5Thcr7pVnZlxeklCp7q+vWQYBrT6P0pqG+yNRmC1Ax8p6Bgb/W1a+QtzS50rZLeK5bleFhGZ
+HlGnVuW8aS7PH9OuDoR+KpALMFt16Mh0KaYeMcrfZq1u0JqITDxEEQmDDdhtoEvHZqWYGkGO
+ExO4lI/dKhbP3Jorgcvq4gCzVVt39x50T/9uiYYGbZVKrQ4LlpCLwkPjrxbdYlcKuGkV+LMl
+TBNgALo4xD5xGcd5XdxavVWB2aqPt3R5eNL9Mt/yc79WqZRNeuMfJR+d1nzhlF0pwBpXqLPw
+gD9HBR5WMVVFXYW6FCCrGBDDqmdmP5x+5lC9wm/EoOc7xaUGhvQm8nGr0o5WurxexW4Vuy78
+YhXtpmnzkVW0iGHVo9NTDx85O3ns9k7xo6n5+Offpx2MjuzHXiFtwODeN2f5OV2uwr0AsoqK
+GFbN+duEI0czZs0o5lch+1VQ51YJ8LIKsDZwXAq4XIqs4o+DVT8cHpzUPfrajeJh/dZ2Tpwm
+/hG2W2C2KjNz+c2K/ffd16sg1zQydYePX7T4B9k+gdkqhKdAViGEx9kq9pdhCwiWlnaDHMmJ
+c/Dgzc2bc/FP8u4e+6we2dlPrVhxBk+88EKzSR9/fPn55+20VlksltLSSpVKbTAYbTabTCYN
+Dw/r0aObj4+PR//40OJglZgvw26+u0yO5MRlmjbte3IkAjF9HrtVeOFevSLk8k9Bc5Sa2bdv
+5NWrR5yt0mi02dn54eERYWFhEokEt0qv1yuaqR01aniHDq4f3UG4C9UqLi/DFpBmq8hxLLSj
+prjMlkZNO7eAeJQ6d+5yXFy8yWSqqKhoamqyWq0ymSwmJgZfWllZMWPGFPwr0y628Jycy+qt
+NC0sj+urAkJaJf7LsBnfu/xHiRZbVVJSrtHo8ZauoqJ85Mih/v7+eCYeqw4dOhoTE6vT6eLi
+IgcPHuDy5+GHy9VFm79a5EtWhFXjx8/g+DJsAREjVmVm5oSFRdy8eXPEiHtCQ0PI/Pp69YED
+R7p06dLYqJ469UGmXURW8YOwakT0f8V/GTZbv4oYu0e+AILj676drTp9+mJ8fKcrV6488sgk
+qVRK5uMt4xdfbOvfv//t25WPP854AsxyM45IuHX52/mXppZ3OcSK4w4432FkHwfGtFHQgnaZ
+sKqj5vyH+9I3784W8/3qNOeAuFiAMsKTmLqY++u+HawyFr597mZKTUMA3pea3idTajfbrRa7
+pfk/s9m6LXsw3nOP8a+f0jFT/tAPtLvI5TVo7g6Boq3K5Rgp7jtAe7PSrX0GLR6YRbaAQJSr
+CVRa/XqVseCtjoMXYUCCSQMwIAU2DMjwfpUdWM1WS6PNogU2M17sxu7nImb+SFshP6scSnK5
+G+jWuyFbqLUIt6VhvgpquPavTvcutSq/lflFSrBgYPMBAfLmAaC6BpOmyKS/ZbPoArouKdqx
+sMPsDNoKW24VkRDcKupXZBWVVrdKn7s84S8vWBW7tcVVEkmQvM+IiuOb7LboxNETvjv+yzmt
+j8ZoNJv1A/SlTyw8RluhILEKtKAFdBmrOO4Vsoo/DlbprryUOOJlS81On4AIiW8kwAJKD2/M
+VXbD+sVdadTe03tIQkTy8bwfLuSdHhj1wNwJzzlX6PF+FWoB3aXVrWq6uDRx1CvWqq+0JVVS
+v1D5gNTifZsvKxJ+8jdOnzQJSCXTez23Nv0ZKZDsTzuy/1+nnCt0aGsA8/kabSb3secuV2fa
+MdodAHS9deDOOaDLHWAHZqu0ZxZ0vv81y60tPv4h0sAOwF8OfPyB2TLlgy2L/r54Up9/EsXS
+rn7+7hdr0lZeEP9PACswW9V4Ym6XCW+aKjbpS6ulgSHAPxjIfIHNMn3vL1OmTLAA2+sPbHvv
+56f9pX5MsQrBD5it0hyd3WXiWxIAJFIp5usHZAFA4gNs1g0Hv0wvPTai/8jkuEFFVVnncs8M
+iZ1M269C8MOLrKLO4MgPNL7KS/Aiq1je3c0RZJWX4PnZO2hncORaxZ9HGCKrvAQvncGR0/pO
+Iwxxq95/f5P4R4Kgsm7dusrKfOCFMzi6XpluhCGKVQKiVht4r+tJq1hmcHSxJsMIQ2SVl+Cl
+MziyrYZhTCMM3bWq4uIKZdmlwODhKZPeFv/4IcZLZ3BkXAfDdLlDmUYYcrTKbqzC/OKUhTsU
+1/YEYkFXc1RTVqaLf/wQ4/lzQNoZHBnXwbDr3y1jGmHo0qra/E/qKy+Y9E1mkz7I36+6sAnY
+fGTx96bOXkNbviVDdV3OyOAu4k+XwBsvul7legUMmz426sAJBWAYYchiFd63z//5qYDIPsEx
+k4DdZqw+Zqm+UXdLFzrg78n3zWbaYqybs80K/kxLGzKJShuzCrCOWGWyyqC8UHLlvcCoMUHh
+fYzV39h0Gktdgx3zB/7+ZaUBY5dsZ6rQeTAnsooLbckqlzhbJQXa0ktrTBZlYPhEmdRoUh6y
+GU12o/nO6HUr8AuvvlY37OWjTBWyW8X+OIPzkwhcZilyWSHT6kxPMQjS+LoLvFaZFUUnlxi0
+qtCE0UGxk6yaYwZFlk1vshotxgaTj6/dR2a3B0QUZ9eP/9fPTBWyDH9rydC5Fo6h4/4Ug6dm
+sYLWqpJTyyWBysCI0TbTTWBUYuYmnVqrrdWZdRaL3hYsx/z9MZtfRMF1MGn5HqYKRbCK43Zb
+nikm0FqVu/uxyAEdAYgquXQSj0wyu58fAIFhoKpQJ7GDiCjgFxmp15jqLANTZ7/FVKHzT9Wq
+VrEM5uS+FeCqrRQBaK0qOfmxVv2LvNug2t9uVOSr/cN87CZV5y5+ISGSmgJ9YLDdPy5aUaLu
+Nvl/UUkDmSoU06rWaBaZ6m9toLUK58rupWZLccI9Q89uOz/qHxONjarcjAtyqbFziqyxxuob
+E3XzquGvb6axVOjwS8RynlkftKD1bOFWXGaKgDdaNWTIkMzMTPYcWpzPAU9teArzUQB7fIeE
+6A6JIbWFxcd+yOudKBsw0E9jCSkqlk95bStLhexXQWlPxABzl5njOWC101TsLXmKAbWAdxHQ
+Kpxfv3m7rvyizebTpDJEdwrL/rVCq7WPG+kfGhVytSDosTXfiH/k0ON5q3BjiO+ENw5fuRQg
+M//73zdor4KqSrOPffFCbKfAuAHhMqv1VmFdbCyoL5NWNnV95LUN4h859HjYKmoQItMssYq9
+PBoJ4yV4kVUkyKq2jte1gMCVVdR8h1aS2gJeupSdlZXjcifGjx+VlNRV/IOHG89bReJuC+gM
+NVZt3Lh95cqVLndi9erVzz77lPgHDzde1AIK268irEpPbx6ON3jQYICBrKwsPD3oThq7UyY8
+PJzdKpYrC210NIE4eD5WMZ30OZ/iuXUOSLEKGzRoEHbXKmzw4IHNY2qaJ0fDwsPlvK1ip507
+53mrBIQmVmWk44Gprk6ZefnX6ppqPL9nSs8pU6YnJCTgYsnlyKpWAXar0jNUKmXaoQPvrnkv
+MaF5WtvyivKVb7257KVXcbFaYhX3gVaA+VK4u6MC2wqQW5WRkfHz0SOLFy/pnNgZw+5usay8
+bNeuHYsWLpXLw1xa5ZzJe0gMcOdmX5sGcquOZ2T837Yvd371NXYHYov451P/mPPpx5+FCRGr
+uA9AYFnLOWi1aSC3qr6+/vkXl27fugNXKjs7G++22+/QbNW6z8PCXMcqHi0gQFZBbpW6fsOG
+z2fNmoO3gKD5NV3ZAwcObG4Bv965eOESoaxiX4qsEhNRWsATJ5RK5eEf01avWkPtrb/y8nL8
+a2hYqLAtIG+rACw9KgL4rcIAiIqMTDuclp+fh+f36dN3+pTpnRIT8fzQUAGsAq4GWgFXTSRT
+TtsFcqvUanXzlsir6Xf/jxGfIaEh3nPHBlklCGJY5XIVZFVrAK1VCA+CrEIID7IKITztxapt
+23YcPnxEp9PjaR8f2RtvvDp0KP8puBHswG9VQ0PDxo1bAgKCH3vssYCAADynrKwsPT3dZNK9
++upL7BUyvcdGEHh0z9tKjx5+q9av3+TnFzRixIhVq1aVlpbiOf379583b961a9csFv0zz8xl
+qRDuq0qtB/xWzZgx67333ps3b+7p039M0/jggw+98cYbn3zy0bff7mapEFnFD/itmjBh6qef
+fvrUU09evPjH+48GDx6+++vds2bPysw8y1Ihj2eXHUZNOYx4Acx3oB2qAhxuWjNt3WU9rQ3k
+Vu3Zs+8///7PO6tWvfvv/yhUCqOh+UXLGIb1Tk58/Y0VL72w9NUVbz/+uBtz57k1iRRTWsBJ
+i1i27sHBW5BbFRvbZde6V1Pv6W0HUvyr2aQn8i0Wk15ZfujQ4be+zq+uLmWqkKW3zu+mMnCl
+CHXT7o6J8J4prOC3qvzsdp1aoam9UV6tNptNxKYtRkNciE1dc+vRj3LZrWL6SWI5v1IbcJOA
+Wg9TZluZwgp+qyrOfaWpvlFUUpacnGwyGogtWwy6hop8VfWtmevyeVvFYwgoEChEefkUVp6d
+b11g0tP3O1tVdmZbfXmevkldUdNgMhmJfItRFx9i09QpWxKrWqMFbGG/ykumsCKsGj9+hgjb
+ckCkWFV26su68rySGi0eq8ym5hYQw4DNZFAWnG5q1M744Ao/qwCvgcVAoBbQ3a07V96qwN8C
+lp7aoq0tMpqayqvUljtW4VHSatRG+poMesOU1adYrELwA36rsvcs06lqDPpG0Hzq13xlQSqV
+2m02m8Vcq6if/dElZJXgsFhFPunElEmmqQliEbswRHk0ZgFa3LWKzHfWi1Y4WpBVkEPtrVOd
+IBLUCMTkkHOCivO6ZM0iWdV0+fufDmzEFDfMUlm3rv169r8vdMJznv6zQw41VtHqQisNeztI
+wl6VGFbhShmz9kiiOhiDo2wGjVajvX39xoj5n/h06ufpvzzMcLGKLMxumzdadXH9P/p2i6gy
+2S1Go7GxWqrW+DQogpvUwC8woMcoWXxvjnHL40MV+O2Ap66Fco9VJNR89gDmeau2LewxbuLk
+Bq3G6hMRWnvVqijvNuKv8l7DrY1VTUplbXZe+COrXcYtb3iwmJ8fnrWKS7+K+OqgDvjz6Z7z
+OaCH+1UbF6aMHZOq06rsMrl/RXbfUZP9OyUbdFqzqiAguqc6+3xjTWP08wfYq0VWuQvk16v+
+98ZfH0qJqtPrzfr6PnWl3eetbNRpZeHJupJj1qZqSXCX6u92dlxbyl4trVW0g5nYM2lnt2IZ
+0wJcPevsXIZ2LXfHdbUcmK06e+nciQ8+j4psure/zGgxRVRdG/jEYm3tdWtwkq36DOYXbg3p
+pT68J34N21TH7LdBnG/PccwEdLKyTJLGez4j4Oa4LkGA1ipcqY1fbUpJqNdqaxPMKfW1l8wd
+AldMGOsX3UFbdkoaGK0L6G6oVqtvlKe8tpelzpbc2nNrJg/uA6po983lWsgqnlCtenLJ0wNT
+mgyW6tjY7vjXysJa/6s9EjupZ0yKMgX4W6Vh9SrjhWNFjQp74tR5DzxxH22FsRzm2gOtYFUs
+64sCqbtHezea407SDhETBMit0uhLEhP6VRbVan5NHfDivIL9u1Niq8c2fquyhdwwdG8Eodfv
+edXy3f77/zZi0pNjnCvkMcK45VYJ2wK6OwZVEOC3Ck9rTz8y6KW535yulEh9XpsYf2DDwQdn
+ploDgj5Kr7RajP2TYnGx1h58w6E29vbFrX4V76EygHOs4tiN47JjLQdyqypUSn9JtTn7IdmU
+p/NKVRKZ76LJ3YcmR6zZe61nfHDa+VKLyRAUGt71/BEeVrl1DkhdnUg4n1E6lGEKYM7FWNYi
+C6NzQJ44WyWVSXQaU92Ze6UPP5xXrMSkMgyTvPVE710ny4puqW1WK14yICiE1ip2PDuE18uB
+1iriHJBIR5f1kEybkl/WENSgaAqLHJYScf63OmC3BjXU4V8DgsOQVcICrVUkZrPl9Uf+Z5o8
+3WYH5lu3zJGxOqOVWOSvqjV2iJbJpDEnDiGrBAR+qxDig6xCCA+yCiE8yCqE8MBm1fvvbxL/
+SBBU1q1bV1mZD2CyCrJYpVYbPL0LfEBWIYQHthYQWeUNQG7V7dtVR4+mP/DAePzz6afniH+Q
+7ROYrdq2bQfVJNyw+Pg4tyqcPHnG4cP7uecjCKC1itYh3DMibuGfYWFhQUGB7BXi9uCfDgLR
+ZiKoQGuVQ6ByxmUBgKziC7RWuWzvuDSIREtHbe9oc4gEkeNc2LkM9EBrlUMoio3tQqaJqYU4
+xip2q1wKR5sj/t9aZKC1ihqKcKUqbxXXq5V4Ojf38qwnFuJicY9VgFkmpsjEbp7If+gdj49x
+zpyz5yRtYeo/PxKmKb6YaobWKjIU4X+mRq36yNFvIiIi7TZrk64pIyPjk492kmutXfve7NlP
+0FYolFXUOoW1Cv9dmfxwKEb9ynEV3jVDaxUZinCrblfdDAuLbmioJRbZbDarzUokbt0qHTli
+EtO/RcFjlbCQv6hbP78IhaG1qqlJt2/f/gceGD948HC9XnejJKt5cgfbHexWk8nYrJbdlnXl
+16WL1ri0CrAKxLEwENQwkcOPWzVDaxUJHqvqVNU3S3KaNbpjEu6WyWy0Wa24ZTm5Wa+8+CFv
+qwDD+Z2DPYKfA7rVVWq9mpk6Ye3CKqWqqrAok/CJwGw2WO88YJOXn8tiFYIf7cIqXJqi4izb
+780fHqWIyYwBsqp1gN8qhPggqxDC076sKlFof8yumj82yUcmEf+A2w/ty6qfc6vqjb4PDZT7
++0iJHLyfJZEI/56mdk77supITpVVEjqqu29IgA/+9UaN5lBWzQsPJrNXK/7bhdo67cuqw9lV
+cnlMktwYKw8oVWivVtnqGzVPpnZiWcWt6XjQE/EE7cuqQ1m3kxK6BGP1PlLJ1ds2i80+JFEW
+FerPVJ5lVjSO5dsn7cuqHy7fHtorJfP6NV+/0G7x0frGqgGdI1jKu/XWSdRQkrQvq77PrBrZ
+v3dGTvGUoT1OXsmeMqgje4UteZdpe6a9WGWz2SQSyYGs6vGD+12rrCu5VTlzaLzLCpFV/IDf
+qhpV4+ZjJRqbr9zXEi4PfTi1//4zV54d20UmdX3JClnFD8itUqi17x6q8EtINuubAiPihvip
+Jg7usvnHU0PiJcP6dXdZYUvmMG7PQG7Vu3tzGiKSH09UNWgNR3Q9U+WGwPAOp2qArr4mVXb9
+4dGDXNbJexb/9gzkVi38ujgxxPj61F6f/XS1Rj4kVFPRGNax8crJkIS4ogLNtuf6+Pn6uKyW
+6eSOdtZ8gM4Bobdq0Ve/deiciNWX2xOG1F46pW3CIrtHrXuo09fpVw5c9V83Jz42Ui7+kUMP
+5FYdu1x05HaoLTAMlBS8/kjXV7cWhfdJemWQ9duLpeeKfDc+mxQWHMh3awhGILcK4RGQVQjh
+gdaqispbSmUdS+EOHcITExLEP+z2ALRW5eReHTF8JEvhM2dPDxrYX/zDbg9AbpXBYADAYSvN
+Y/T8/f25W4VuG7sL/FYplcqc3JzSsjKWFbt17TrqvhG0i1rvdWcQA79VeHrr9m2vvPway4r/
+ff/fTz85yznf3fFVCAL4rcJjVdqhg68ue72hQU27VliYnLtVDkuJhFvvZG8PUsJvFd6v2rp9
+Ox6rcKuuX7/usEqvXr34WcXjnewAWdX6iGOVXqFQHjx8SPBYxeMVy+1EKQC9VXq9Ho9V2776
+ijZW4YEKIKtaAZitGj4sFbcK71cd+vEwU6wKDAwyGo2fb/jE3d46sooFmK36y9DhuDH4Vr7a
+uYM2VqWk9AwI8M+8fPnsuVO0VgHh3urefpQCcFs15J57ia1s2baVsIpa+Mstf7ydy2KxMFkF
+OIyvYj8HpC4S76/rUaC1qqLyVl3d3fuAObl5r7y8XKPRkCXxhm/Lts1zn37GZrMqlIpdX+9g
+sYo7HPth0AOtVVS+2rn7hede0ul0xFdcKfyTsKqmpnrX7h0RERHTpkxs+Q4gqwjai1WLFiyV
+SiX4Fn19ffHNFhQUnDl3avKkKXiUGtC/n1C3mZleHA/a2T3EdmEVQmSQVQjhQVYhhAc2q9Db
+vD0Oept3m8T7X/GNrEIID2wtoLNVGBaQn5+/cuXK3r17+/r66vX6hoaGmzdvrl+/PiYmJjAQ
+TTsrPJBbVVGhmD9/Pp5YtPDvM/82QyINsVgtZaUlO3buOH78Ap7/wQcf9O7dTfyDhxuYrSop
+qVq+fPmHHyzHt3PhwpXffiu7dVsRHOQ3dszQyMgIiRSTYJI3V368f/9+pohFnUkBcLiS2a4u
+oLMAs1WLF7/83rvL/Pz8fHwCSkpupKefLy4pl0htiQlx/fqlxMR0sFptWm3TipXrfvrpe9oK
+3R13gGYNJYDZqokTHz764zcBQeF2YDEaDRazqbFRrdGo1Gp1aGiIzMevqanxyuX8rdu/42gV
+aJk3yCoREMOq5557csZDk/z9I2w2mb25lbPbLGajUdek02b+mpmTm683GI4ePcvPKqaRMLRL
+aQs75EADzFbt3ZtWVno9Pi4uqXvSX4b2lUl9zRaLRgt+vXRGWVfbpNVVVFQpFKoxYx+YOXMa
+bYW8x4LyGCkq/g/QesBsFc7cuc+Gh8sj5PKY2Fg/P5nFapMAk0qtqa5WVFbWSqWYTCrZsnUz
+U4XIKn5AbtXixUuffHLW8ePpdXWNer1BJpPdvl1ttVplMmlycpLB0NTYqN+0aT1ThexWUfOd
+rWJZCtw/u2xbQG/Vc3P/MSc0LPzChfMpKUk3igqvXS/q2rVzYeHNHj16FBcXK5XqjRs/Z6qQ
+Y6xydymAMT5RgdyqJUuef/bZf3bv3uOXX46PTB196nRGQcHNgQP7nT17Njk5ubS0pKzs9vr1
+nzFVyHJlAbWALLQTq1LOnDk+evS4gt+yT/5yYejQIcePZyQlJZWUuLaK+pXj0xAsSwE6B2xl
+RGoBx40b++CDE8+cOTFmDG5VDmlVt25J165dr61VbdjwGd8NIuiB3KoFCxbHxMSMHDmioKBg
+3ry5N4rycKv69u154cLF4OCwa9cKLBbL5s1fiH/wcAO5VdeuFb/2WvMcQwMH9Lpv1BC1WpuX
+V9ilS8e8vN/MZltRUcn69eu7do0T/+DhBnKrEB4BWYUQHmQVQnhgswo9DeFx0NMQ7ZTWfp4C
+WYUQHthaQNKqrKzrly5dcrnKtGnT4uLCxT94uIHWqo0bt69cudLlKqtXr3722afEP3i4gdyq
+uro6m83WvDEMu7vVOwn8UyqVhoWFsVvlcB8QiHvPru3edYbcKoVCUVhYSJr0x7Yx7M6c2GFE
+ZnV1KW2F4s/i33ZNogK/VQ5KkV8lEolcLjdXpeqzIkInHaQVC1nFD8itUiqVZKz607YxbPjw
+4RbFfeZLfou21m79NtddqxymJeY+Ryh7Seoi9nE1wIvH0sBvFaDEpztLDHa7X2RkpKUm1ZwZ
++Mre+s+2Z/JoAZmmK+bxngguVXEfA+gNwG9VUVERWaBnz574Z0REhLFkuPlq0Ev7TJt2nGJS
+CrD21rmPC+WX6dZa3gbkVhHTGFNjFa6ULneosTxm6ebinQfyV61axX4O6Na7IQC3sETC3Srn
+tQBqAekQySq8X3V3e3eswrtT179b9uG+9M27s/EdcHllQXCruD8lwT0seVvcgt8q7A7gjlXh
+4eHTx0YdOKHAvzY0NISGhraqVYBzv0qoxtRLgNwqlUpVUFBAWjVs2DBwxyfia0hIiCBWASHO
+AalL0Tkgb0SyCtwRiNq1Ir+6tKoleFv8EBPIrXK5CrKqNYDWqosXc7Kzs12ucu+99w4e3Ls1
+Dg9ZBaFVCBaIX721gccq8Q8DwQQkViEQyCqE8CCrEMKDrEIID7IKITzIKoTwIKsQwoOsQggP
+sgohPMgqhPAgqxDCg6xCCA+yCiE8yCqE8CCrEMKDrEIID7IKITzIKoTwIKsQwoOsQggPsgoh
+PMgqhPAgqxDCg6xCCA+yCiE8/w+GtIox2wV5IAAAABR6VFh0VkVSU0lPTgAAeNoz1LMAAAEq
+AJhdFnmcAAAAInpUWHRDUkVBVE9SAAB42gt2DnJ19Qv28A+JDw4JdfH0BwAueQU2Da2OpwAA
+ABF6VFh0R05PVEVTAAB42lMAAAAhACElwVWwAAAAEWJCSW4CAAAAAAAAAADHAAAADgEAABEw
+EoQAAAL4YkJQbolQTkcNChoKAAAADUlIRFIAAADHAAABDggCAAAAsveUWQAAAr9JREFUeNrt
+0kEJADAMwMDVv+mZCBTKnYI8Mg9qsx3AQa6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnofXqoBD6rh
+8GQAAAAASUVORK5CYIJIZtRDAAAAAElFTkSuQmCC
+--------------060704030302020603080603--
+
+--------------090705050704060401010401--
+
+--------------040401030508020408000101
+Content-Type: image/png;
+ name="new_trk_severity_migr.png"
+Content-Transfer-Encoding: base64
+Content-Disposition: inline;
+ filename="new_trk_severity_migr.png"
+
+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
+--------------040401030508020408000101--

Added: trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_in_html_only.mbox
===================================================================
--- trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_in_html_only.mbox	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_in_html_only.mbox	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,248 @@
+From john.doh at codendi.org  Tue Oct  6 13:38:07 2009
+Return-Path: <john.doh at codendi.org>
+X-Original-To: gpig-test at codendi.org
+Delivered-To: gpig-test at codendi.org
+Received: from alpha.codendi.org (ns2.codendi.org [192.168.1.2])
+	by codendi.org (Postfix) with ESMTP id ACCA5AD70A
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 13:38:07 +0200 (CEST)
+Received: from mail2.foobar.org (mail2.foobar.org [192.168.1.3])
+	by alpha.codendi.org (FooBar) with ESMTP id 51FCDAF5
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 11:38:07 +0000 (GMT)
+Received: from [192.168.1.4] (yoyo.foobar.org [192.168.1.4])
+	by mail2.foobar.org (MOS 3.8.7a)
+	with ESMTP id CTB95497 (AUTH johndoh);
+	Tue, 6 Oct 2009 13:37:31 +0200 (CEST)
+Message-ID: <4ACB2C1F.8030704 at codendi.org>
+Date: Tue, 06 Oct 2009 13:38:07 +0200
+From: Manuel VACELET <john.doh at codendi.org>
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
+	rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666
+MIME-Version: 1.0
+To: gpig-test at codendi.org
+Content-Type: multipart/related;
+	boundary="------------000600080502000100090303"
+Subject: [Gpig-testsabri] HTML with inline content in HTML mode
+X-BeenThere: gpig-test at codendi.org
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <gpig-test.codendi.org>
+List-Unsubscribe: <http://codendi.org/mailman/listinfo/gpig-test>, 
+	<mailto:gpig-test-request at codendi.org?subject=unsubscribe>
+List-Archive: <http://codendi.org/pipermail/gpig-test>
+List-Post: <mailto:gpig-test at codendi.org>
+List-Help: <mailto:gpig-test-request at codendi.org?subject=help>
+List-Subscribe: <http://codendi.org/mailman/listinfo/gpig-test>,
+	<mailto:gpig-test-request at codendi.org?subject=subscribe>
+X-List-Received-Date: Tue, 06 Oct 2009 11:38:08 -0000
+
+This is a multi-part message in MIME format.
+--------------000600080502000100090303
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: 7bit
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+</head>
+<body bgcolor="#ffffff" text="#000000">
+My <b>test<br>
+<img alt="" src="cid:part1.04090204.04000103 at codendi.org" height="270"
+ width="199"><br>
+</b>
+<br>
+</body>
+</html>
+
+--------------000600080502000100090303
+Content-Type: image/png
+Content-Transfer-Encoding: base64
+Content-ID: <part1.04090204.04000103 at codendi.org>
+
+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
+EoQAAAL4YkJQbolQTkcNChoKAAAADUlIRFIAAADHAAABDggCAAAAsveUWQAAAr9JREFUeNrt
+0kEJADAMwMDVv+mZCBTKnYI8Mg9qsx3AQa6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnofXqoBD6rh
+8GQAAAAASUVORK5CYIJIZtRDAAAAAElFTkSuQmCC
+--------------000600080502000100090303--

Added: trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_in_text_plus_html.mbox
===================================================================
--- trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_in_text_plus_html.mbox	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/_fixtures/samples/html_with_inline_content_in_text_plus_html.mbox	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,265 @@
+From john.doh at codendi.org  Tue Oct  6 13:30:52 2009
+Return-Path: <john.doh at codendi.org>
+X-Original-To: gpig-test at codendi.org
+Delivered-To: gpig-test at codendi.org
+Received: from alpha.codendi.org (ns2.codendi.org [192.168.1.2])
+	by codendi.org (Postfix) with ESMTP id 6924DAD70A
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 13:30:52 +0200 (CEST)
+Received: from mail2.foobar.org (mail2.foobar.org [192.168.1.3])
+	by alpha.codendi.org (FooBar) with ESMTP id 097BEAD2
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 11:30:51 +0000 (GMT)
+Received: from [192.168.1.4] (yoyo.foobar.org [192.168.1.4])
+	by mail2.foobar.org (MOS 3.8.7a)
+	with ESMTP id CTB95305 (AUTH johndoh);
+	Tue, 6 Oct 2009 13:30:16 +0200 (CEST)
+Message-ID: <4ACB2A6C.10802 at codendi.org>
+Date: Tue, 06 Oct 2009 13:30:52 +0200
+From: Manuel VACELET <john.doh at codendi.org>
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
+	rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666
+MIME-Version: 1.0
+To: gpig-test at codendi.org
+Content-Type: multipart/alternative;
+	boundary="------------010203040608090400030709"
+Subject: [Gpig-testsabri] HTML with inline content in Text+HTML mode
+X-BeenThere: gpig-test at codendi.org
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <gpig-test.codendi.org>
+List-Unsubscribe: <http://codendi.org/mailman/listinfo/gpig-test>, 
+	<mailto:gpig-test-request at codendi.org?subject=unsubscribe>
+List-Archive: <http://codendi.org/pipermail/gpig-test>
+List-Post: <mailto:gpig-test at codendi.org>
+List-Help: <mailto:gpig-test-request at codendi.org?subject=help>
+List-Subscribe: <http://codendi.org/mailman/listinfo/gpig-test>,
+	<mailto:gpig-test-request at codendi.org?subject=subscribe>
+X-List-Received-Date: Tue, 06 Oct 2009 11:30:52 -0000
+
+This is a multi-part message in MIME format.
+--------------010203040608090400030709
+Content-Type: text/plain; charset=ISO-8859-1; format=flowed
+Content-Transfer-Encoding: 7bit
+
+My *test
+
+*
+
+--------------010203040608090400030709
+Content-Type: multipart/related;
+	boundary="------------090608030705080500080106"
+
+
+--------------090608030705080500080106
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: 7bit
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+</head>
+<body bgcolor="#ffffff" text="#000000">
+My <b>test<br>
+<img alt="" src="cid:part1.02040105.07020502 at codendi.org" height="270"
+ width="199"><br>
+</b>
+</body>
+</html>
+
+--------------090608030705080500080106
+Content-Type: image/png;
+ name="lock.png"
+Content-Transfer-Encoding: base64
+Content-ID: <part1.02040105.07020502 at codendi.org>
+Content-Disposition: inline;
+ filename="lock.png"
+
+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
+EoQAAAL4YkJQbolQTkcNChoKAAAADUlIRFIAAADHAAABDggCAAAAsveUWQAAAr9JREFUeNrt
+0kEJADAMwMDVv+mZCBTKnYI8Mg9qsx3AQa6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnofXqoBD6rh
+8GQAAAAASUVORK5CYIJIZtRDAAAAAElFTkSuQmCC
+--------------090608030705080500080106--
+
+--------------010203040608090400030709--

Added: trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_html_in_html_only.mbox
===================================================================
--- trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_html_in_html_only.mbox	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_html_in_html_only.mbox	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,49 @@
+From john.doh at codendi.org  Tue Oct  6 13:26:30 2009
+Return-Path: <john.doh at codendi.org>
+X-Original-To: gpig-test at codendi.org
+Delivered-To: gpig-test at codendi.org
+Received: from alpha.codendi.org (ns2.codendi.org [192.168.1.2])
+	by codendi.org (Postfix) with ESMTP id 6255FAD70A
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 13:26:30 +0200 (CEST)
+Received: from mail2.foobar.org (mail2.foobar.org [192.168.1.3])
+	by alpha.codendi.org (FooBar) with ESMTP id E7A72AC1
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 11:26:29 +0000 (GMT)
+Received: from [192.168.1.4] (yoyo.foobar.org [192.168.1.4])
+	by mail2.foobar.org (MOS 3.8.7a)
+	with ESMTP id CTB95171 (AUTH johndoh);
+	Tue, 6 Oct 2009 13:25:54 +0200 (CEST)
+Message-ID: <4ACB2965.7050004 at codendi.org>
+Date: Tue, 06 Oct 2009 13:26:29 +0200
+From: Manuel VACELET <john.doh at codendi.org>
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
+	rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666
+MIME-Version: 1.0
+To: gpig-test at codendi.org
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: 7bit
+Subject: [Gpig-testsabri] HTML only
+X-BeenThere: gpig-test at codendi.org
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <gpig-test.codendi.org>
+List-Unsubscribe: <http://codendi.org/mailman/listinfo/gpig-test>, 
+	<mailto:gpig-test-request at codendi.org?subject=unsubscribe>
+List-Archive: <http://codendi.org/pipermail/gpig-test>
+List-Post: <mailto:gpig-test at codendi.org>
+List-Help: <mailto:gpig-test-request at codendi.org?subject=help>
+List-Subscribe: <http://codendi.org/mailman/listinfo/gpig-test>,
+	<mailto:gpig-test-request at codendi.org?subject=subscribe>
+X-List-Received-Date: Tue, 06 Oct 2009 11:26:30 -0000
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+</head>
+<body bgcolor="#ffffff" text="#000000">
+My <b>fault<br>
+<br>
+</b>
+</body>
+</html>

Added: trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_html_text_plus_html.mbox
===================================================================
--- trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_html_text_plus_html.mbox	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_html_text_plus_html.mbox	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,64 @@
+From john.doh at codendi.org  Tue Oct  6 10:49:32 2009
+Return-Path: <john.doh at codendi.org>
+X-Original-To: gpig-test at codendi.org
+Delivered-To: gpig-test at codendi.org
+Received: from zeta.codendi.org (ns2.codendi.org [192.168.1.2])
+	by codendi.org (Postfix) with ESMTP id 508FEAD70A
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 10:49:32 +0200 (CEST)
+Received: from mail2.codendi.org (mail2.codendi.org [192.168.1.3])
+	by alpha.codendi.org (FooBar) with ESMTP id E53E0841
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 08:49:31 +0000 (GMT)
+Received: from [192.168.1.5] (toto.codendi.org [192.168.1.4])
+	by mail2.codendi.org (MOS 3.8.7a)
+	with ESMTP id CTB90634 (AUTH johndoh);
+	Tue, 6 Oct 2009 10:48:56 +0200 (CEST)
+Message-ID: <4ACB049C.6020506 at codendi.org>
+Date: Tue, 06 Oct 2009 10:49:32 +0200
+From: John DOH <john.doh at codendi.org>
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
+	rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666
+MIME-Version: 1.0
+To: gpig-test at codendi.org
+Content-Type: multipart/alternative;
+	boundary="------------010402000506030002060206"
+Subject: [Gpig-test] HTML T+H
+X-BeenThere: gpig-test at codendi.org
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <gpig-test.codendi.org>
+List-Unsubscribe: <http://codendi.org/mailman/listinfo/gpig-test>, 
+	<mailto:gpig-test-request at codendi.org?subject=unsubscribe>
+List-Archive: <http://codendi.org/pipermail/gpig-test>
+List-Post: <mailto:gpig-test at codendi.org>
+List-Help: <mailto:gpig-test-request at codendi.org?subject=help>
+List-Subscribe: <http://codendi.org/mailman/listinfo/gpig-test>,
+	<mailto:gpig-test-request at codendi.org?subject=subscribe>
+X-List-Received-Date: Tue, 06 Oct 2009 08:49:32 -0000
+
+This is a multi-part message in MIME format.
+--------------010402000506030002060206
+Content-Type: text/plain; charset=ISO-8859-1; format=flowed
+Content-Transfer-Encoding: 7bit
+
+My *fault
+
+*
+
+--------------010402000506030002060206
+Content-Type: text/html; charset=ISO-8859-1
+Content-Transfer-Encoding: 7bit
+
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+<html>
+<head>
+</head>
+<body bgcolor="#ffffff" text="#000000">
+My <b>fault<br>
+<br>
+</b>
+</body>
+</html>
+
+--------------010402000506030002060206--

Added: trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_text.mbox
===================================================================
--- trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_text.mbox	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/_fixtures/samples/pure_text.mbox	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,40 @@
+From john.doh at codendi.org  Tue Oct  6 13:10:02 2009
+Return-Path: <john.doh at codendi.org>
+X-Original-To: gpig-test at codendi.org
+Delivered-To: gpig-test at codendi.org
+Received: from alpha.codendi.org (ns2.codendi.org [192.168.1.2])
+	by codendi.org (Postfix) with ESMTP id 052DFAD70A
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 13:10:01 +0200 (CEST)
+Received: from mail2.foobar.org (mail2.foobar.org [192.168.1.3])
+	by alpha.codendi.org (FooBar) with ESMTP id 97F4DA9F
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 11:10:01 +0000 (GMT)
+Received: from [192.168.1.4] (yoyo.foobar.org [192.168.1.4])
+	by mail2.foobar.org (MOS 3.8.7a)
+	with ESMTP id CTB94795 (AUTH johndoh);
+	Tue, 6 Oct 2009 13:09:25 +0200 (CEST)
+Message-ID: <4ACB2585.5020501 at codendi.org>
+Date: Tue, 06 Oct 2009 13:09:57 +0200
+From: Manuel VACELET <john.doh at codendi.org>
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
+	rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666
+MIME-Version: 1.0
+To: gpig-test at codendi.org
+Content-Type: text/plain; charset=ISO-8859-1; format=flowed
+Content-Transfer-Encoding: 7bit
+Subject: [Gpig-testsabri] Test Pure Text
+X-BeenThere: gpig-test at codendi.org
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <gpig-test.codendi.org>
+List-Unsubscribe: <http://codendi.org/mailman/listinfo/gpig-test>, 
+	<mailto:gpig-test-request at codendi.org?subject=unsubscribe>
+List-Archive: <http://codendi.org/pipermail/gpig-test>
+List-Post: <mailto:gpig-test at codendi.org>
+List-Help: <mailto:gpig-test-request at codendi.org?subject=help>
+List-Subscribe: <http://codendi.org/mailman/listinfo/gpig-test>,
+	<mailto:gpig-test-request at codendi.org?subject=subscribe>
+X-List-Received-Date: Tue, 06 Oct 2009 11:10:02 -0000
+
+Pure text

Added: trunk/plugins/coclico/forumml/tests/_fixtures/samples/text_plus_attachment.mbox
===================================================================
--- trunk/plugins/coclico/forumml/tests/_fixtures/samples/text_plus_attachment.mbox	                        (rev 0)
+++ trunk/plugins/coclico/forumml/tests/_fixtures/samples/text_plus_attachment.mbox	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,238 @@
+From john.doh at codendi.org  Tue Oct  6 13:22:47 2009
+Return-Path: <john.doh at codendi.org>
+X-Original-To: gpig-test at codendi.org
+Delivered-To: gpig-test at codendi.org
+Received: from alpha.codendi.org (ns2.codendi.org [192.168.1.2])
+	by codendi.org (Postfix) with ESMTP id 6C634AD70A
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 13:22:47 +0200 (CEST)
+Received: from mail2.foobar.org (mail2.foobar.org [192.168.1.3])
+	by alpha.codendi.org (FooBar) with ESMTP id 0FE67AC3
+	for <gpig-test at codendi.org>;
+	Tue,  6 Oct 2009 11:22:46 +0000 (GMT)
+Received: from [192.168.1.4] (yoyo.foobar.org [192.168.1.4])
+	by mail2.foobar.org (MOS 3.8.7a)
+	with ESMTP id CTB95087 (AUTH johndoh);
+	Tue, 6 Oct 2009 13:22:11 +0200 (CEST)
+Message-ID: <4ACB2886.8080300 at codendi.org>
+Date: Tue, 06 Oct 2009 13:22:46 +0200
+From: Manuel VACELET <john.doh at codendi.org>
+User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US;
+	rv:1.8.1.6) Gecko/20070728 Thunderbird/2.0.0.6 Mnenhy/0.7.5.666
+MIME-Version: 1.0
+To: gpig-test at codendi.org
+Content-Type: multipart/mixed; boundary="------------000903020203080700000508"
+Subject: [Gpig-testsabri] Text + attachment
+X-BeenThere: gpig-test at codendi.org
+X-Mailman-Version: 2.1.9
+Precedence: list
+List-Id: <gpig-test.codendi.org>
+List-Unsubscribe: <http://codendi.org/mailman/listinfo/gpig-test>, 
+	<mailto:gpig-test-request at codendi.org?subject=unsubscribe>
+List-Archive: <http://codendi.org/pipermail/gpig-test>
+List-Post: <mailto:gpig-test at codendi.org>
+List-Help: <mailto:gpig-test-request at codendi.org?subject=help>
+List-Subscribe: <http://codendi.org/mailman/listinfo/gpig-test>,
+	<mailto:gpig-test-request at codendi.org?subject=subscribe>
+X-List-Received-Date: Tue, 06 Oct 2009 11:22:47 -0000
+
+This is a multi-part message in MIME format.
+--------------000903020203080700000508
+Content-Type: text/plain; charset=ISO-8859-1; format=flowed
+Content-Transfer-Encoding: 7bit
+
+Some text
+
+--------------000903020203080700000508
+Content-Type: image/png;
+ name="lock.png"
+Content-Transfer-Encoding: base64
+Content-Disposition: inline;
+ filename="lock.png"
+
+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
+EoQAAAL4YkJQbolQTkcNChoKAAAADUlIRFIAAADHAAABDggCAAAAsveUWQAAAr9JREFUeNrt
+0kEJADAMwMDVv+mZCBTKnYI8Mg9qsx3AQa6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i
+5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnqu
+oucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6
+rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucq
+eq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLn
+Knquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnquoucqeq6i5yp6rqLnKnofXqoBD6rh
+8GQAAAAASUVORK5CYIJIZtRDAAAAAElFTkSuQmCC
+--------------000903020203080700000508--

Added: trunk/plugins/coclico/forumml/utils/manage-translations.sh
===================================================================
--- trunk/plugins/coclico/forumml/utils/manage-translations.sh	                        (rev 0)
+++ trunk/plugins/coclico/forumml/utils/manage-translations.sh	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,56 @@
+#! /bin/sh -e
+
+if [ -e gforge/translations/gforge.pot ] ; then        # We're in the parent dir
+    cd gforge
+elif [ -e translations/gforge.pot ] ; then             # probably in gforge/ (or a renamed gforge/)
+    cd . # do nothing, but shell syntax requires an instruction in a then-block
+elif [ -e ../gforge/translations/gforge.pot ] ; then   # in tools/ or tests/ or something
+    cd ../gforge
+elif [ -e ../translations/gforge.pot ] ; then          # In a subdir of gforge/
+    cd ..
+else
+    echo "Couldn't find translations directory..."
+    exit 1
+fi
+
+locales=$(ls translations/*.po \
+    | xargs -n1 -iFILE basename FILE .po \
+    | egrep '^[a-z][a-z](_[A-Z][A-Z]$)?' \
+    | sort)
+
+print_stats () {
+    for l in $(echo $locales | xargs -n 1 | sort) ; do
+	printf "* %5s: " $l
+	msgfmt --statistics -o /dev/null translations/$l.po
+    done
+}
+
+case $1 in
+    stats)
+	print_stats
+	;;
+    refresh)
+	rm translations/gforge.pot
+	
+	find -type f -\( -name \*.php -or -name users -or -name projects -\) \
+	    | grep -v -e {arch} -e svn-base \
+	    | grep -v ^./plugins/wiki \
+	    | LANG=C sort \
+	    | xargs xgettext -d gforge -o translations/gforge.pot -L PHP --from-code=iso-8859-1
+	    
+	for l in $locales ; do
+	    echo "Processing $l..."
+	    msgmerge -U translations/$l.po translations/gforge.pot
+	done
+	;;
+    build)
+	for l in $locales ; do
+	    mkdir -p locales/$l/LC_MESSAGES
+	    msgfmt -o locales/$l/LC_MESSAGES/gforge.mo translations/$l.po
+	done
+	;;
+    *)
+	echo "Unknown operation"
+	exit 1
+	;;
+esac


Property changes on: trunk/plugins/coclico/forumml/utils/manage-translations.sh
___________________________________________________________________
Added: svn:executable
   + *

Added: trunk/plugins/coclico/forumml/www/forumml_utils.php
===================================================================
--- trunk/plugins/coclico/forumml/www/forumml_utils.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/forumml_utils.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,742 @@
+<?php
+#
+# Copyright (c) STMicroelectronics, 2005. All Rights Reserved.
+
+ # Originally written by Jean-Philippe Giola, 2005
+ #
+ # This file is a part of codendi.
+ #
+ # codendi is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.
+ #
+ # codendi is distributed in the hope that it will be useful,
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ # GNU General Public License for more details.
+ #
+ # You should have received a copy of the GNU General Public License
+ # along with codendi; if not, write to the Free Software
+ # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ #
+ # $Id$
+ #
+
+define('FORUMML_MESSAGE_ID', 1);
+define('FORUMML_DATE', 2);
+define('FORUMML_FROM', 3);
+define('FORUMML_SUBJECT', 4);
+define('FORUMML_CONTENT_TYPE', 12);
+define('FORUMML_CC', 34);
+
+require_once(dirname(__FILE__).'/../include/ForumML_Attachment.class.php');
+require_once(dirname(__FILE__).'/../include/ForumML_MessageDao.class.php');
+//require_once('common/include/Toggler.class.php');
+require_once('Mail/RFC822.php');
+require_once('common/mail/Mail.class.php');
+require_once('PEAR.php');
+global $feedback;
+
+
+function getForumMLDao() {
+	return new ForumML_MessageDao(CodendiDataAccess::instance());
+}
+
+// Get message headers 
+function plugin_forumml_get_message_headers($id_message) {
+
+	return getForumMLDao()->getMessageHeaders($id_message)->getRow();	
+}
+
+// Display search results
+function plugin_forumml_show_search_results($p,$result,$group_id,$list_id) {
+	
+	echo "<table width='100%'>
+			<tr>
+				<th class=forumml>".
+					_('Thread')."
+				</th>
+				<th class=forumml>".
+					_('Submitted on')."
+				</th>
+				<th class=forumml>".
+					_('Author')."
+				</th>
+			</tr>";
+					
+	$idx = 0;
+	// Build a table full of search results
+	while ($rows = $result->getRow()) {
+		$idx++;
+		if ($idx % 2 == 0) {
+			$class="boxitemalt bgcolor-white";
+		} else {
+			$class="boxitem bgcolor-grey";
+		}
+	
+		$res1 = getForumMLDao()->getSpecificMessage($rows['id_message'],$list_id)->getRow();
+		$subject = mb_decode_mimeheader($res1['value']);	
+		$res2 = getForumMLDao()->getHeaderValue($rows['id_message'],array(2,3));
+    	$k = 1;
+        while ($rows2 =$res2->getRow()) {
+        	$header[$k] = $rows2['value'];
+        	$k++;
+        }
+	    $from = mb_decode_mimeheader($header[1]);
+
+        // Replace '<' by '&lt;' and '>' by '&gt;'. Otherwise the email adress won't be displayed 
+        // because it will be considered as an xhtml tag.
+        $from = preg_replace('/\</', '&lt;', $from);
+        $from = preg_replace('/\>/', '&gt;', $from);
+
+		$date = date("Y-m-d H:i",strtotime($header[2]));
+		// purify message subject (CODENDI_PURIFIER_FORUMML level)
+		$hp =& ForumML_HTMLPurifier::instance();
+		$subject = $hp->purify($subject,CODENDI_PURIFIER_FORUMML);
+		
+		// display the resulting threads in rows 
+		printf ("<tr class='".$class."'>
+					<td class='subject'>
+						&nbsp;<img src='".$p->getThemePath()."/images/ic/comment.png'/>
+    					<a href='message.php?group_id=".$group_id."&topic=".$rows['id_message']."&list=".$list_id."'><b>".$subject."</b></a>						
+					</td>
+					<td>						
+         				<font class='info'>".$date."</font>
+					</td>
+					<td>
+						<font class='info'>".$from."</font>
+					</td>
+				</tr>");
+	}										
+	echo "</table>";				
+	
+}
+
+// List all threads
+function plugin_forumml_show_all_threads($p,$list_id,$list_name,$offset) {
+	
+	$chunks = 30;
+	$request =& HTTPRequest::instance();
+
+	// all threads
+	$result = getForumMLDao()->getAllThreadsFromList($list_id,$offset,$chunks);
+	$nbRowFound = $result->rowCount();
+
+	// Total number of threads
+	$nbThreads = 0;
+$res = getForumMLDao()->countAllThreadsFromList($list_id);
+	if ($res && !db_error($res)) {
+		$row = $res->getRow();
+		$nbThreads = $row['nb'];
+	}
+
+	$start = $offset;
+	$end   = min($start + $chunks - 1, $nbRowFound - 1);
+
+	// all threads to be displayed
+	$colspan = "";
+	$item = _('Thread');
+
+	if (isset($offset) && $offset != 0) {
+		$begin = "<a href=\"/plugins/forumml/message.php?group_id=".$request->get('group_id')."&list=".$list_id.
+			"\"><img src='".$p->getThemePath()."/images/ic/resultset_first.png' title='begin')'/></a>";
+		$previous = "<a href=\"/plugins/forumml/message.php?group_id=".$request->get('group_id')."&list=".$list_id."&offset=".($offset - $chunks).
+			"\"><img src='".$p->getThemePath()."/images/ic/resultset_previous.png' title='".
+			_('Previous ').$chunks.(' messages')."'/></a>";
+	} else {
+		$begin = "<img src='".$p->getThemePath()."/images/ic/resultset_first_disabled.png' alt='".$p->getThemePath()."/images/ic/resultset_first_disabled.png'/>";
+		$previous = "<img src='".$p->getThemePath()."/images/ic/resultset_previous_disabled.png' 
+			title='"._('Previous ').$chunks.(' messages')."'/>"; 
+	}	 
+
+	if (($offset + $chunks ) < $nbThreads) {
+		$next = "<a href=\"/plugins/forumml/message.php?group_id=".$request->get('group_id')."&list=".$list_id."&offset=".($offset + $chunks)."\"><img src='".$p->getThemePath()."/images/ic/resultset_next.png' title='"._('Next ').$chunks.(' messages')."'/></a>";
+		$finish = "<a href=\"/plugins/forumml/message.php?group_id=".$request->get('group_id')."&list=".$list_id."&offset=".($chunks * (int) (($nbThreads - 1) / $chunks))."\"><img src='".$p->getThemePath()."/images/ic/resultset_last.png' title='".$_('Last messages')."'/></a>";
+	} else {
+		$next = "<img src='".$p->getThemePath()."/images/ic/resultset_next_disabled.png' title='".$chunks."'/>"; 
+		$finish = "<img src='".$p->getThemePath()."/images/ic/resultset_last_disabled.png'/>";
+	}
+
+	// display page-splitting information, at the top of threads table
+	echo "<table width='100%'>
+		<tr>
+		<td align='left' width='10%'>".
+		$begin
+		."</td>
+		<td align='left' width='15%'>".
+		$previous
+		."</td>
+		<td align='center' width='55%'>".
+		_('Threads')." ".($start + 1)." - ".($end + 1)." <b>(".$nbThreads.")</b>
+		</td>
+		<td align='right' width='10%'>
+		$next
+		</td>
+		<td align='right' width='10%'>
+		$finish
+		</td>														
+		</tr>	
+		</table>";
+
+	if ($nbRowFound > 0) {
+
+		echo "<table class='border' width='100%' border='0'>
+			<tr class='boxtable'>
+			<th class='forumml' ".$colspan." width='40%'>".$item."</th>
+			<th class='forumml' width='15%'>"._('Last updated')."</th>
+			<th class='forumml' width='15%'>"._('Submitted on')."</th>
+			<th class='forumml' width='25%'>"._('Author')."</th>
+			</tr>";
+
+
+
+		$hp =& ForumML_HTMLPurifier::instance();
+		$i = 0;
+		while (($msg = $result->getRow())) {
+			$i++;
+			if ($i % 2 == 0) {
+				$class="boxitemalt bgcolor-white";
+				$headerclass="headerlabelalt";
+			} else {
+				$class="boxitem bgcolor-grey";
+				$headerclass="headerlabel";
+			}
+
+			// Get the number of messages in thread
+			// nb of children + message
+			$count = 1 + plugin_forumml_nb_children(array($msg['id_message']));
+
+
+			// all threads
+			print "<tr class='".$class."'><a name='".$msg['id_message']."'></a>
+				<td class='subject'>";
+			if ($count > 1) {
+				print "<img src='".$p->getThemePath()."/images/ic/comments.png'/>";
+			} 
+			else {
+				print "<img src='".$p->getThemePath()."/images/ic/comment.png'/>";
+			}
+
+			// Remove listname from suject
+			$subject = preg_replace('/^[ ]*\['.$list_name.'\]/i', '', $msg['subject']);
+
+			print "<a href='message.php?group_id=".$request->get('group_id')."&topic=".$msg['id_message']."&list=".$request->get('list')."'>
+				".$hp->purify($subject, CODENDI_PURIFIER_CONVERT_HTML)."
+				</a> <b><i>(".$count.")</i></b>						 
+				</td>".
+				"<td class='info'>".strftime("%a, %e %h %G  %R",$msg['lastup'])."</td>".
+				"<td class='info'>".strftime("%a, %e %h %G  %R",strtotime($msg['date']))."</td>
+				<td class='info'>".$hp->purify($msg['sender'], CODENDI_PURIFIER_CONVERT_HTML)."</td>
+				</tr>";	
+		}
+
+		echo '</table>';
+		// display page-splitting information, at the bottom of threads table
+		echo "<table width='100%'>
+			<tr>
+			<td align='left' width='10%'>".
+			$begin
+			."</td>
+			<td align='left' width='15%'>".
+			$previous
+			."</td>
+			<td align='center' width='55%'>".
+			_('Threads')." ".($start + 1)." - ".($end + 1)." <b>(".$nbThreads.")</b>
+			</td>
+			<td align='right' width='10%'>
+			$next
+			</td>
+			<td align='right' width='10%'>
+			$finish
+			</td>														
+			</tr>	
+			</table>";
+	}
+
+}
+
+function plugin_forumml_nb_children($parents) {
+	if (count($parents) == 0) {
+		return 0;
+	} else {
+		$result = getForumMLDao()->countChildrenFromParents(implode(',',$parents));
+		if ($result && !$result->isError()) {
+			$p = array();
+			while (($row = $result->getRow())) {
+				$p[] = $row['id_message'];
+			}
+			$num = $result->rowCount();
+			return $num + plugin_forumml_nb_children($p);
+		}
+	}
+}
+
+/**
+ * Extract attachment info from a database result
+ *
+ * @see plugin_forumml_build_flattened_thread
+ */
+function plugin_forumml_new_attach($row) {
+	if (isset($row['id_attachment']) && $row['id_attachment']) {
+		return array('id_attachment' => $row['id_attachment'],
+				'file_name' => $row['file_name'],
+				'file_type' => $row['file_type'],
+				'file_size' =>$row['file_size'],
+				'file_path' =>$row['file_path'],
+				'content_id' =>$row['content_id']);
+	} else {
+		return null;
+	}
+}
+
+/**
+ * Insert a message in the thread list with a unique date
+ *
+ * @see plugin_forumml_build_flattened_thread
+ */
+function plugin_forumml_insert_in_thread(&$thread, $row) {
+	$date = strtotime($row['date']);
+	while (isset($thread[$date])) {
+		$date++;
+	}
+	$thread[$date] = $row;
+	return $date;
+}
+
+/**
+ * Insert all messages returned by a SQL query in the thread list with
+ * the attachments
+ *
+ * @see plugin_forumml_build_flattened_thread
+ */
+function plugin_forumml_insert_msg_attach(&$thread, $result) {
+	$parents = array();
+	$prev    = -1;
+	while ($row = $result->getRow()) {
+		if ($row['id_message'] != $prev) {
+			// new message
+			$parents[] = $row['id_message'];
+			$curMsg = plugin_forumml_insert_in_thread($thread, $row);
+			$thread[$curMsg]['attachments'] = array();
+		}
+
+		$attch = plugin_forumml_new_attach($row);
+		if ($attch) {
+			$thread[$curMsg]['attachments'][] = $attch;
+		}
+		$prev = $row['id_message'];
+	}
+	return $parents;
+}
+
+/**
+ * Search all chilrens at a given level of depth
+ *
+ * @see plugin_forumml_build_flattened_thread
+ */
+function plugin_forumml_build_flattened_thread_children(&$thread, $parents) {
+	if (count($parents) > 0) {
+		$result = getForumMLDao()->getChildrenFromDepthLevel(implode(',',$parents));
+		if ($result && !$result->isError()){
+			$p = plugin_forumml_insert_msg_attach($thread, $result);
+			plugin_forumml_build_flattened_thread_children($thread, $p);
+		}
+	}
+}
+
+/**
+ * Entry point to create a flattened view of a message thread.
+ *
+ * In order to display the messages in the right order, we fetch the
+ * all the messages with the needed hearders and attachments.
+ * To lower the number of SQL queries, there is 1 query per message
+ * tree depth level.
+ * All the messages are stored in an array indexed by the message
+ * date. If dates conflict we add +1s to the message date.
+ * Once all the messages are fetched, we just sort the array based on
+ * the keys values.
+ * The thread array looks like:
+ * array (
+ *   123342334 => array(
+ *                  'message_id'  => '1234',
+ *                  'subject'     => 'toto',
+ *                  ...
+ *                  'attachments' => array(
+ *                                     'id_attachment' => '5678',
+ *                                     ...
+ *                                   )
+ *                ),
+ *   ...
+ * );
+ * 
+ */
+function plugin_forumml_build_flattened_thread($topic) {
+	$thread = array();
+	$result = getForumMLDao()->getFlattenedThread($topic);
+	if ($result && !$result->isError()) {
+		$p = plugin_forumml_insert_msg_attach($thread, $result);
+		plugin_forumml_build_flattened_thread_children($thread, $p);
+	}
+	ksort($thread, SORT_NUMERIC);
+	return $thread;
+}
+
+// List all messages inside a thread
+function plugin_forumml_show_thread($p, $list_id, $parentId, $purgeCache) {
+	$hp     = ForumML_HTMLPurifier::instance();
+	$thread = plugin_forumml_build_flattened_thread($parentId);
+	foreach ($thread as $message) {
+		plugin_forumml_show_message($p, $hp, $message, $parentId, $purgeCache);
+	}
+}
+
+
+// Display a message
+function plugin_forumml_show_message($p, $hp, $msg, $id_parent, $purgeCache) {
+	$body    = $msg['body'];
+	$request = HTTPRequest::instance();
+
+	// Is "ready to display" body already in cache or not
+	$bodyIsCached = false;
+	if (isset($msg['cached_html']) && !$purgeCache) {
+		$bodyIsCached = true;
+	}
+
+	if (PEAR::isError($from_info = Mail_RFC822::parseAddressList($msg['sender'], $GLOBALS['sys_default_domain'])) || !isset($from_info[0]) || !$from_info[0]->personal) {
+		$from_info = $hp->purify($msg['sender'], CODENDI_PURIFIER_CONVERT_HTML);
+	} else {
+		$from_info = '<abbr title="'.  $hp->purify($from_info[0]->mailbox .'@'. $from_info[0]->host, CODENDI_PURIFIER_CONVERT_HTML)  .'">'.  $hp->purify($from_info[0]->personal, CODENDI_PURIFIER_CONVERT_HTML)  .'</abbr>';
+	}
+
+	echo '<div class="plugin_forumml_message">';
+	// specific thread  
+	echo '<div class="plugin_forumml_message_header boxitemalt" id="plugin_forumml_message_'. $msg['id_message'] .'">';
+	echo '<div class="plugin_forumml_message_header_subject">'. $hp->purify($msg['subject'], CODENDI_PURIFIER_CONVERT_HTML) .'</div>';
+
+	echo '<a href="#'. $msg['id_message'] .'" title="message #'. $msg['id_message'] .'">';
+	echo '<img src="'. $p->getThemePath() .'/images/ic/comment.png" id="'. $msg['id_message'] .'" style="vertical-align:middle" alt="#'. $msg['id_message'] .'" />';
+	echo '</a>';
+
+	echo ' <span class="plugin_forumml_message_header_from">'.  $from_info  .'</span>';
+	echo ' <span class="plugin_forumml_message_header_date">'. _('On ').$msg['date'] .'</span>';
+
+	echo '&nbsp;<a href="#" id="plugin_forumml_toogle_msg_'.$msg['id_message'].'" class="plugin_forumml_toggle_font">'._('Toggle font family (typewriter/normal)').'</a>';
+
+	// get CC
+	$cc = trim($msg['cc']);
+	if ($cc) {
+		if (PEAR::isError($cc_info = Mail_RFC822::parseAddressList($cc, $GLOBALS['sys_default_domain']))) {
+			$ccs = $hp->purify($cc, CODENDI_PURIFIER_CONVERT_HTML);
+		} else {
+			$ccs = array();
+			foreach($cc_info as $c) {
+				if (!$c->personal) {
+					$ccs[] = $hp->purify($c->mailbox .'@'. $c->host, CODENDI_PURIFIER_CONVERT_HTML);
+				} else {
+					$ccs[] = '<abbr title="'. $hp->purify($c->mailbox .'@'. $c->host, CODENDI_PURIFIER_CONVERT_HTML) .'">'.  $hp->purify($c->personal, CODENDI_PURIFIER_CONVERT_HTML)  .'</abbr>';
+				}
+			}
+			$ccs = implode(', ', $ccs);
+		}
+		print '<div class="plugin_forumml_message_header_cc">'. _('Cc :') .' '. $ccs .'</div>';
+	}
+
+	// Message content
+	if (strpos($msg['content_type'], 'multipart/') !== false) {
+		$content_type = $msg['msg_type'];
+	} else {
+		$content_type = $msg['content_type'];
+	}
+	$is_html = strpos($content_type, "text/html") !== false;
+
+	// get attached files
+	if (count($msg['attachments'])) {
+		print '<div class="plugin_forumml_message_header_attachments">';
+		$first = true;
+		foreach($msg['attachments'] as $attachment) {
+			// Special case, this is an HTML email
+			if (preg_match('/.html$/i',$attachment['file_name'])) {
+				// By default, the first html attachment replaces the default body (text)
+				if ($first) {
+					if (!$bodyIsCached && is_file($attachment['file_path'])) {
+						$body = file_get_contents($attachment['file_path']);
+						$is_html = true;
+					}
+					continue;
+				} else {
+					$flink = $attachment['file_name'];
+				}
+			} else {
+				$flink = $attachment['file_name'];
+			}
+			if (!$first) {
+				echo ',&nbsp;&nbsp;';
+			}
+
+			echo "<img src='".$p->getThemePath()."/images/ic/attach.png'/>  <a href='upload.php?group_id=".$request->get('group_id')."&list=".$request->get('list')."&id=".$attachment['id_attachment']."&topic=".$id_parent."'>".$flink."</a>";
+			$first = false;
+		}
+		echo '</div>';
+	}
+	echo '</div>';
+
+	print '<div id="plugin_forumml_message_content_'.$msg['id_message'].'" class="plugin_forumml_message_content_std">';
+	$body = str_replace("\r\n","\n", $body);
+
+	// If there is no cached html of if user requested to regenerate the cache, do it, otherwise use cached HTML.
+	if (!$bodyIsCached) {
+		// Purify message body, according to the content-type
+		if ($is_html) {
+			// Update attachment links
+			$body = plugin_forumml_replace_attachment($msg['id_message'], $request->get('group_id'), $request->get('list'), $id_parent, $body);
+
+			// Use CODENDI_PURIFIER_FULL for html mails
+			$msg['cached_html'] = $hp->purify($body,CODENDI_PURIFIER_FULL,$request->get('group_id'));
+		} else {
+			// CODENDI_PURIFIER_FORUMML level : no basic html markups, no forms, no javascript, 
+			// Allowed: url + automagic links + <blockquote>
+			$purified_body = $hp->purify($body,CODENDI_PURIFIER_CONVERT_HTML,$request->get('group_id'));
+			$purified_body = str_replace('&gt;', '>', $purified_body);
+			$tab_body = '';
+			$level = 0;
+			$current_level = 0;
+			$search_for_quotes = false;
+			$maxi = strlen($purified_body);
+			for($i = 0 ; $i < $maxi ; ++$i) {
+				if ($search_for_quotes) {
+					if($purified_body{$i} == ">") {
+						++$current_level;
+						if($level < $current_level) {
+							$tab_body .= '<blockquote class="grep">';
+							++$level;
+						}
+					} else {
+						$search_for_quotes = false;
+						if($level > $current_level) {
+							$tab_body .= '</blockquote>';
+							--$level;
+						}
+						if($purified_body{$i} == "\n" && $i < $maxi - 1) {
+							$search_for_quotes = true;
+							$current_level = 0;
+						}
+						$tab_body .= $purified_body{$i};
+					}
+				} else {
+					if($purified_body{$i} == "\n" && $i < $maxi - 1) {
+						$search_for_quotes = true;
+						$current_level = 0;
+					}
+					$tab_body .= $purified_body{$i};
+				}
+			}
+			$purified_body = str_replace('>', '&gt;', $purified_body);
+			$msg['cached_html'] = nl2br($tab_body);
+		}
+		getForumMLDao()->updateCacheHTML($msg['cached_html'] , $msg['id_message']);
+	}
+	echo $msg['cached_html'];
+	echo '</div>';
+
+	// Reply
+	echo '<div class="plugin_forumml_message_footer">';
+
+	// If you click on 'Reply', load reply form
+	$vMess = new Valid_UInt('id_mess');
+	$vMess->required();
+	if ($request->valid($vMess) && $request->get('id_mess') == $msg['id_message']) {			
+		$vReply = new Valid_WhiteList('reply',array(0,1));
+		$vReply->required();            	
+		if ($request->valid($vReply) && $request->get('reply') == 1) {
+			if ($is_html) {
+				$body = $hp->purify($body, CODENDI_PURIFIER_STRIP_HTML);
+			} else {
+				$body = $hp->purify($body, CODENDI_PURIFIER_CONVERT_HTML);
+			}
+			plugin_forumml_reply($hp,$msg['subject'],$msg['id_message'],$id_parent,$body,$msg['sender']);            		
+		}
+	} else {
+
+		print "<a href='message.php?group_id=".$request->get('group_id')."&topic=".$id_parent."&id_mess=".$msg['id_message']."&reply=1&list=".$request->get('list')."#reply-".$msg['id_message']."'>
+			<img src='".$p->getThemePath()."/images/ic/comment_add.png'/>
+			"._('Reply')."
+			</a>";
+	}
+
+	echo '</div>';
+	echo '</div>';
+}
+
+// Display the post form under the current post
+function plugin_forumml_reply($hp,$subject,$in_reply_to,$id_parent,$body,$author) {
+
+	$request =& HTTPRequest::instance();
+	$tab_tmp = explode("\n",$body);
+	$tab_tmp = array_pad($tab_tmp,-count($tab_tmp)-1,"$author wrote :");
+
+	echo '<script type="text/javascript" src="scripts/cc_attach_js.php"></script>';
+	echo ' <div id="reply-'. $in_reply_to .'" class="plugin_forumml_message_reply">'."
+		<form id='".$in_reply_to."' action='?group_id=".$request->get('group_id')."&list=".$request->get('list')."&topic=".$id_parent."' name='replyform' method='post' enctype='multipart/form-data'>
+		<input type='hidden' name='reply_to' value='".$in_reply_to."'/>
+		<input type='hidden' name='subject' value='".$subject."'/>
+		<input type='hidden' name='list' value='".$request->get('list')."'/>
+		<input type='hidden' name='group_id' value='".$request->get('group_id')."'/>";
+	echo   '<a href="javascript:;" onclick="addHeader(\'\',\'\',1);">['._('Add cc :').']</a>
+		- <a href="javascript:;" onclick="addHeader(\'\',\'\',2);">['._('Attach :').']</a>
+		<input type="hidden" value="0" id="header_val" />
+		<div id="mail_header"></div>';
+	echo "<p><textarea name='message' rows='15' cols='100'>";
+
+	foreach($tab_tmp as $k => $line) {
+		$line = trim($line);
+		if ($k == 0) {
+			print($line."\n");
+		} else {
+			$indent = substr($line, 0, 4) == '&gt;' ? '>' : '> ';
+			print($indent . $line."\n");
+		}
+	}
+
+	echo        "</textarea></p>
+		<p>
+		<input type='submit' name='send_reply' value='"._('Submit')."'/>
+		<input type='reset' value='"._('Erase')."'/>
+		</p>
+		</form>
+		</div>";
+}
+
+// Search & replace reference to attached content
+// This happens for images attached to html messages (multipart/related)
+function plugin_forumml_replace_attachment($id_message, $group_id, $list, $id_parent, $body) {
+	if (preg_match_all('/"cid:([^"]*)"/m', $body, $matches)) {
+		$search_parts  = array();
+	$replace_parts = array();
+	foreach ($matches[1] as $match) {
+		$result = getForumMLDao()->getAttachment($id_mesage , $match) ;
+		if ($res && $res->rowCount() == 1) {
+			$row = $res->getRow();
+			$url = "upload.php?group_id=".$group_id."&list=".$list."&id=".$row['id_attachment']."&topic=".$id_parent;
+			$search_parts[] = 'cid:'.$match;
+			$replace_parts[] = $url;
+		}
+	}
+	if (count($replace_parts) > 0) {
+		$body = str_replace($search_parts, $replace_parts, $body);
+	}
+}
+return $body;
+}
+
+// Build Mail headers, and send the mail
+function plugin_forumml_process_mail($plug,$reply=false) {
+	global $feedback;
+	$request = HTTPRequest::instance();
+	$hp = ForumML_HTMLPurifier::instance();
+
+	// Instantiate a new Mail class
+	$mail = new Mail();
+
+	// Build mail headers
+	$list = new MailmanList($request->get('group_id') , $request->get('list'));
+	$to = $list->getName()."@".$GLOBALS['sys_lists_host'];
+	$mail->setTo($to);
+
+	$mail->setFrom(UserManager::instance()->getCurrentUser()->getEmail());
+
+	$vMsg = new Valid_Text('message');
+	if ($request->valid($vMsg)) {
+		$message = $request->get('message');
+	}
+
+	$subject = $request->get('subject');
+	$mail->setSubject($subject);
+
+	if ($reply) {
+		// set In-Reply-To header
+		$hres = plugin_forumml_get_message_headers($request->get('reply_to'));
+		$reply_to = $hres['value'];			
+		$mail->addAdditionalHeader("In-Reply-To",$reply_to);
+	} 
+	$continue = true;
+
+	if ($request->validArray(new Valid_Email('ccs')) && $request->exist('ccs')) {
+		$cc_array = array();
+		$idx = 0;
+		foreach ($request->get('ccs') as $cc) {
+			if (trim($cc) != "") {
+				$cc_array[$idx] = $hp->purify($cc,CODENDI_PURIFIER_FULL);
+				$idx++;
+			}
+		}
+		// Checks sanity of CC List
+		$err = '';
+		$valid=true;
+		foreach ($cc_array as $key => $cc) {
+			$umanager = UserManager::instance();
+			$user = $umanager->existEmail($cc);
+			if (!$user) {
+				$valid = false;
+				$err .= $cc.'<br>';
+			}
+		}
+		if (!$valid) {
+			$continue=false;
+			$feedback .=_('Invalid email ').$err;
+		} else {
+			// add list of cc users to mail mime
+			if (count($cc_array) > 0) {
+				$cc_list = implode(',',$cc_array);
+				$mail->setCc($cc_list,true);
+			}
+		}
+	}
+
+	if ($continue) {
+		// Process attachments
+
+		// Define boundaries as specified in RFC:
+		// http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html
+		$boundary      = '----=_NextPart';
+		$boundaryStart = '--'.$boundary;
+		$boundaryEnd   = '--'.$boundary.'--';
+
+		// Attachments headers
+		if (isset($_FILES["files"]) && count($_FILES["files"]['name']) > 0) {			
+			$attachment = "";
+			$text = "This is a multi-part message in MIME format.\n";
+			$text = "$boundaryStart\n";
+			$text .= "Content-Type: text/plain; charset=\"UTF-8\"\n";
+			$text .= "Content-Transfer-Encoding: 8bit\n\n";
+			$text .= $message;
+			$text .= "\n\n";
+			foreach($_FILES["files"]['name'] as $i => $fileName) {
+				$attachment .= "$boundaryStart\n";
+				$attachment .= "Content-Type:".$_FILES["files"]["type"][$i]."; name=".$fileName."\n";
+				$attachment .= "Content-Transfer-Encoding: base64\n";
+				$attachment .= "Content-Disposition: attachment; filename=".$fileName."\n\n";
+				$attachment .= chunk_split(base64_encode(file_get_contents($_FILES["files"]["tmp_name"][$i])));
+			}
+			$attachment .= "\n$boundaryEnd\n";
+			$body = $text.$attachment;
+			// force MimeType to multipart/mixed as default (when instantiating new Mail object) is text/plain
+			$mail->setMimeType('multipart/mixed; boundary="'.$boundary.'"');
+			$mail->addAdditionalHeader("MIME-Version","1.0");
+		} else {
+			$body = $message;
+		}
+
+		$mail->setBody($body);
+
+		if ($mail->send()) {
+			$feedback .= _('Mail successfully sent');
+		} else {
+			$feedback .= _('Sending mail failed');
+			$continue = false;
+		}
+	}
+	return $continue;
+
+}
+?>

Added: trunk/plugins/coclico/forumml/www/index.php
===================================================================
--- trunk/plugins/coclico/forumml/www/index.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/index.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,137 @@
+<?php
+ /**
+ * Copyright (c) STMicroelectronics, 2005. All Rights Reserved.
+ *
+ * Originally written by Jean-Philippe Giola, 2005
+ *
+ * This file is a part of codendi.
+ *
+ * codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with codendi; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * $Id$
+ */
+
+/*
+ * ForumML New Thread submission form
+ * 
+ */ 
+require_once('env.inc.php'); 
+require_once('pre.php');
+require_once('preplugins.php');
+require_once('forumml_utils.php');
+require_once('mailman/www/mailman_utils.php');
+require_once('mailman/include/MailmanList.class.php');
+//require_once('common/plugin/PluginManager.class.php');
+require_once(dirname(__FILE__).'/../include/ForumML_FileStorage.class.php');
+require_once(dirname(__FILE__).'/../include/ForumML_HTMLPurifier.class.php');
+
+$plugin_manager =& PluginManager::instance();
+$p =& $plugin_manager->getPluginByName('forumml');
+if ($p && $plugin_manager->isPluginAvailable($p) && $p->isAllowed()) {
+
+	$request =& HTTPRequest::instance();
+	
+	if ($request->valid(new Valid_UInt('group_id'))) {
+		$group_id = $request->get('group_id');
+	} else {
+		$group_id = "";
+	}
+	
+	// Checks 'list' parameter
+	if (! $request->valid(new Valid_UInt('list'))) {
+		exit_error(_('Error'),_('No list specified'));
+	} else {
+		$list_id = $request->get('list');
+$list = new MailmanList($group_id,$list_id);
+		if (!isLogged() || ($list->isPublic()!=1 && !$current_user->isMember($group_id))) {
+			exit_error(_('error'),_('You are not allowed to access this page'));
+		}		
+		if ($list->getStatus() !=3) {
+			exit_error(_('Error'),_('The mailing  list does not exist or is inactive'));
+		}
+	}
+
+	// If message is posted, send a mail
+	if ($request->isPost() && $request->get('post')) {
+		// Checks if mail subject is empty
+		$vSub = new Valid_String('subject');
+		$vSub->required();
+		if (! $request->valid($vSub)) {		
+			$feedback .=_('Submit failed you must specify the mail subject.');
+		} else {
+			// process the mail
+			$return = plugin_forumml_process_mail($p);
+			if ($return) {
+				$feedback .=_('There can be some delay before to see the message in the archives.')._(' Redirecting to archive page, please wait ...');
+				//htmlRedirect('/plugins/forumml/message.php?'. http_build_query(array(
+				//    'group_id' => $group_id,
+				//    'list'     => $list_id,
+				    //'topic'    => 0
+             //   )));
+			}
+		}
+	}
+
+	$params['title'] = 'ForumML';
+	$params['group'] = $group_id;
+	$params['toptab'] = 'mail';
+	$params['help'] = "CommunicationServices.html#MailingLists";
+	mailman_header($params);
+		
+	if ($request->isPost() && $request->get('post') && $request->valid($vSub)) {
+		if (isset($return) && $return) {
+			// wait few seconds before redirecting to archives page
+			echo "<script> setTimeout('window.location=\"/plugins/forumml/message.php?group_id=".$group_id."&list=".$list_id."\"',3000) </script>";
+		}
+	}
+
+	$list_link = '<a href="/plugins/forumml/message.php?group_id='.$group_id.'&list='.$list_id.'">'.$list->getName().'</a>';
+	echo '<H2><b>'._('Mailing List ').$list_link._(' - New Thread').'</b></H2>
+	<a href="/plugins/forumml/message.php?group_id='.$group_id.'&list='.$list_id.'">['._('Browse Archives').']</a><br><br>
+	<H3><b>'._('Submit a new thread').'</b></H3>';
+
+	// New thread form
+	echo '<script type="text/javascript" src="scripts/cc_attach_js.php"></script>';
+	echo "<form name='form' method='post' enctype='multipart/form-data'>
+	<table>
+    <tr>
+		<td valign='top' align='left'><b> "._('Subject').":&nbsp;</b></td>
+		<td align='left'><input type=text name='subject' size='80'></td>
+	</tr></table>";
+	echo '<table>
+    <tr>
+		<td align="left">
+			<p><a href="javascript:;" onclick="addHeader(\'\',\'\',1);">['.('Add cc').']</a>
+			- <a href="javascript:;" onclick="addHeader(\'\',\'\',2);">['._('Attach :').']</a></p>
+			<input type="hidden" value="0" id="header_val" />
+			<div id="mail_header"></div></td></tr></table>';
+	echo "<table><tr>
+			<td valign='top' align='left'><b>"._('Message :')."&nbsp;</b></td>
+			<td align='left'><textarea rows='20' cols='100' name='message'></textarea></td>
+		</tr>
+		<tr>
+			<td></td>
+			<td><input type='submit' name='post' value='"._('Submit')."'>
+				<input type='reset' value='"._('Erase')."'></td>
+		</tr>
+	</table></form>";
+
+	mail_footer($params);
+
+} else {
+	header('Location: '.get_server_url());
+}
+
+?>

Added: trunk/plugins/coclico/forumml/www/message.php
===================================================================
--- trunk/plugins/coclico/forumml/www/message.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/message.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,224 @@
+<?php
+/**
+ * Copyright (c) STMicroelectronics, 2005. All Rights Reserved.
+ *
+ * Originally written by Jean-Philippe Giola, 2005
+ *
+ * This file is a part of codendi.
+ *
+ * codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with codendi; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * $Id$
+ */
+
+/*
+ * ForumML Archives Browsing page
+ *  
+ */
+
+require_once('env.inc.php');
+require_once('pre.php');
+require_once 'preplugins.php';
+require_once('forumml_utils.php');
+require_once('mailman/www/mailman_utils.php');
+require_once('mailman/include/MailmanList.class.php');
+//require_once('common/plugin/PluginManager.class.php');
+require_once(dirname(__FILE__).'/../include/ForumML_FileStorage.class.php');
+require_once(dirname(__FILE__).'/../include/ForumML_HTMLPurifier.class.php');
+require_once(dirname(__FILE__).'/../include/ForumML_MessageManager.class.php');
+global $feedback;
+
+
+$pm = ProjectManager::instance();
+$Group = $pm->getProject($group_id);
+$plugin_manager =& PluginManager::instance();
+$p =& $plugin_manager->getPluginByName('forumml');
+if ($p && $plugin_manager->isPluginAvailable($p) && $p->isAllowed()) {
+
+	$current_user=UserManager::instance()->getCurrentUser();
+	$request =& HTTPRequest::instance();
+
+	$vGrp = new Valid_UInt('group_id');
+	$vGrp->required();
+	if ($request->valid($vGrp)) {		
+		$group_id = $request->get('group_id');
+	} else {
+		$group_id = "";
+	}
+
+	$vTopic = new Valid_UInt('topic');
+	$vTopic->required();
+	if ($request->valid($vTopic)) {
+		$topic         = $request->get('topic');
+		$fmlMessageMgr = new ForumML_MessageManager();
+		$topicSubject  = $fmlMessageMgr->getHeaderValue($topic, FORUMML_SUBJECT);
+	} else {
+		$topic        = 0;
+		$topicSubject = '';
+	}
+
+	$vOff = new Valid_UInt('offset');
+	$vOff->required();
+	if ($request->valid($vOff)) {
+		$offset = $request->get('offset');
+	} else {
+		$offset = 0;
+	}
+
+	// Do we need to pure html cache
+	$vPurge = new Valid_WhiteList('purge_cache', array('true'));
+	$vPurge->required();
+	if ($request->valid($vPurge)) {
+		$purgeCache = true;
+	} else {
+		$purgeCache = false;
+	}
+
+	// Checks 'list' parameter
+	$vList = new Valid_UInt('list');
+	$vList->required();
+	if (! $request->valid($vList)) {
+		exit_error(_('Error'),_('No list specified'));
+	} else {
+		$list_id = $request->get('list');
+		$list = new MailmanList($group_id,$list_id);
+		if (!isLogged() || ($list->isPublic()!=1 && !$current_user->isMember($group_id))) {
+			exit_error(_('error'),_('You are not allowed to access this page'));
+		}		
+		if ($list->getStatus() !=3) {
+			exit_error(_('error'),_('This list is not active'));
+		}
+	}
+
+	// If the list is private, search if the current user is a member of that list. If not, permission denied
+	$list_name = $list->getName();
+	if ($list->isPublic()==0) {
+		exec("{$GLOBALS['mailman_bin_dir']}/list_members ".$list_name , $members);
+		$user = $current_user->getEmail();
+		if (! in_array($user,$members)) {
+			exit_permission_denied();
+		}
+	}
+
+	// Build the mail to be sent
+	if ($request->get('send_reply')) {
+		// process the mail
+		$ret = plugin_forumml_process_mail($p,true);
+		if ($ret) {
+			$feedback .=_('Email succefully sent. It can take some time before being displayed');
+			//htmlRedirect('/plugins/forumml/message.php?'. http_build_query(array(
+			//    'group_id' => $group_id,
+			//    'list'     => $list_id,
+			//    'topic'    => $topic
+			//)));
+			echo "ok";
+		}
+		else { echo "erreur"; }
+	}
+
+	$params['title'] = $Group->getPublicName().' - ForumML - '.$list_name;
+	if ($topicSubject) {
+		$params['title'] .= ' - '.$topicSubject;   
+	}
+	$params['group'] = $group_id;
+	$params['toptab']='mail';
+	$params['help'] = "CommunicationServices.html#MailingLists";
+	if ($request->valid(new Valid_Pv('pv'))) {
+		$params['pv'] = $request->get('pv');
+	}
+	mailman_header($params);
+
+	if ($request->get('send_reply') && $request->valid($vTopic)) {
+		if (isset($ret) && $ret) {
+			// wait few seconds before redirecting to archives page
+			echo "<script> setTimeout('window.location=\"/plugins/forumml/message.php?group_id=".$group_id."&list=".$list_id."&topic=".$topic."\"',3000) </script>";
+		}		
+	}
+
+	$list_link = '<a href="/plugins/forumml/message.php?group_id='.$group_id.'&list='.$list_id.'">'.$list_name.'</a>';
+	$title     = _('Mailing List '.$list_link);
+	if ($topic) {
+		$fmlMessageMgr = new ForumML_MessageManager();
+		$value = $fmlMessageMgr->getHeaderValue($topic, FORUMML_SUBJECT);
+		if ($value) {
+			$title = $value;
+		}
+	} else {
+		$title .= _(' Archives');
+	}
+	echo '<h2>'.$title.'</h2>';
+
+	if (! $request->exist('pv') || ($request->exist('pv') && $request->get('pv') == 0)) {
+		echo "<table border=0 width=100%>
+			<tr>";
+
+		echo "<td align='left'>";
+		if ($topic) {
+			echo '[<a href="/plugins/forumml/message.php?group_id='.$group_id.'&list='.$list_id.'">'._('Back to the list').'</a>] ';
+		} else {
+			echo "		[<a href='/plugins/forumml/index.php?group_id=".$group_id."&list=".$list_id."'>
+				"._('Post a new thread')."
+				</a>]";
+			if ($list->isPublic()==1) {
+				echo ' [<A HREF="'.util_make_url('/pipermail/'.$list->getName()).'/">'._('Original Archives').'</A>]';
+			} else {
+				echo ' ['._('Original list archives').': <A HREF="http://'.$GLOBALS['sys_lists_host'].'/pipermail/'.$list->getName().'/">'._('Public archives').'</A>/<A HREF="http://'.$GLOBALS['sys_lists_host'].'/mailman/private/'.$list->getName().'/">'._('Private Archives').'</A>]';
+			}
+		}
+		echo "</td>";
+
+		echo "
+			<td align='right'>
+			(<a href='/plugins/forumml/message.php?group_id=".$group_id."&list=".$list_id."&topic=".$topic."&offset=".$offset."&search=".($request->exist('search') ? $request->get('search') : "")."&pv=1'>
+			 <img src='".$p->getThemePath()."/images/ic/msg.png' border='0'>&nbsp;"._('Printer version')."
+			 </a>)
+			</td>
+			</tr>
+			</table><br>";
+	}
+
+	$vSrch = new Valid_String('search');
+	$vSrch->required();
+	if (! $request->valid($vSrch)) {
+		// Check if there are archives to browse
+		$res = getForumMLDao()->hasArchives($list_id);
+		if ($res->rowCount() > 0) {
+			// Call to show_thread() function to display the archives			
+			if (isset($topic) && $topic != 0) {
+				// specific thread
+				plugin_forumml_show_thread($p, $list_id, $topic, $purgeCache);
+			} else {
+				plugin_forumml_show_all_threads($p,$list_id,$list_name,$offset);
+			}	
+		} else {
+			echo "<H2>"._('Empty archives')."</H2>";
+		}
+	} else {
+		// search archives		
+		$pattern = "%".$request->get('search')."%";
+		$result = getForumMLDao()->searchArchives($list_id,$pattern);
+		echo "<H3>"._('Search result for ').$request->get('search')." (".$result->rowCount()." "._('Thread(s) found').")</H3>";
+		if ($result->rowCount() > 0) {
+			plugin_forumml_show_search_results($p,$result,$group_id,$list_id);
+		}
+	}
+
+	mail_footer($params);
+
+} else {
+	header('Location: '.get_server_url());
+}
+
+?>

Added: trunk/plugins/coclico/forumml/www/scripts/cc_attach_js.php
===================================================================
--- trunk/plugins/coclico/forumml/www/scripts/cc_attach_js.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/scripts/cc_attach_js.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,71 @@
+<?php
+ /**
+ * Copyright (c) STMicroelectronics, 2007. All Rights Reserved.
+ *
+ * Originally written by Mohamed CHAARI, 2007
+ *
+ * This file is a part of codendi.
+ *
+ * codendi is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * codendi is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with codendi; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+ *
+ * $Id$
+ */
+
+header("content-type: application/x-javascript");
+require_once('env.inc.php');
+require_once('pre.php');
+?>
+
+function addHeader(cc,file,header_type)
+{
+  var ni = document.getElementById('mail_header');
+  var numi = document.getElementById('header_val');
+  var num = (document.getElementById('header_val').value -1)+ 2;
+  numi.value = num;
+  var divIdName = "mail_header_"+num+"_div";
+  var newdiv = document.createElement('div');
+
+  newdiv.setAttribute("id",divIdName);
+  if (header_type == 1) {
+  	newdiv.innerHTML += "<table><tr><td width='65' align='right'><b><i><?php echo _('CC :') ?> </i></b></td><td align=center width=350><input name='ccs["
+  					+num
+  					+"]' type='text' value='"
+  					+cc
+  					+"'size=41></td><td align=center><a href=\"javascript:;\" onclick=\"removeHeader(\'"
+  					+divIdName
+  					+"\')\"><img border='0' src=\"<?php echo getImage("ic/trash.png"); ?>\"></a></td></tr></table>";
+  } else {
+  	newdiv.innerHTML += "<table><tr><td width='65' align='right'><b><i><?php echo _('Attach :') ?> </i></b></td><td align=center width=350><input name='files["
+  					+num
+  					+"]'' type='file' value='"
+  					+file
+  					+"'size=30></td><td align=center><a href=\"javascript:;\" onclick=\"removeHeader(\'"
+  					+divIdName
+  					+"\')\"><img border='0' src=\"<?php echo getImage("ic/trash.png"); ?>\"></a></td></tr></table>";  
+  }					
+  ni.appendChild(newdiv);
+}
+
+function removeHeader(divNum)
+{
+  var d = document.getElementById('mail_header');
+  var olddiv = document.getElementById(divNum);
+  d.removeChild(olddiv);
+}
+
+<?php
+// Waiting for a better script, this comment just to make test
+// BlankAfterClosingPhpTag happy...
+?>

Added: trunk/plugins/coclico/forumml/www/scripts/forumml.js
===================================================================
--- trunk/plugins/coclico/forumml/www/scripts/forumml.js	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/scripts/forumml.js	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,53 @@
+/**
+* Copyright (c) STMicroelectronics, 2004-2009. All rights reserved
+*
+* Originally written by Manuel VACELET, 2009
+*
+* This file is a part of Codendi.
+*
+* Codendi is free software; you can redistribute it and/or modify
+* it under the terms of the GNU General Public License as published by
+* the Free Software Foundation; either version 2 of the License, or
+* (at your option) any later version.
+*
+* Codendi is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with Codendi; if not, write to the Free Software
+* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+*/
+
+var codendi = codendi || { };
+
+/**
+ *
+ */
+codendi.PluginForumml = Class.create({
+    initialize: function(element) {
+        // Toggle mail class name when click on the right button
+        element.observe('click', function (event) {
+            var link = Event.element(event);
+            if (link) {
+                var msgId = link.id.replace('plugin_forumml_toogle_msg_', '');
+                var content = $('plugin_forumml_message_content_'+msgId);
+                if (content) {
+                    if (content.className == 'plugin_forumml_message_content_pre') {
+                        content.className = 'plugin_forumml_message_content_std';
+                    } else {
+                        content.className = 'plugin_forumml_message_content_pre';
+                    }
+                }
+            }
+            event.stop();
+        });
+    },
+});
+
+document.observe('dom:loaded', function() {
+    $$('.plugin_forumml_toggle_font').each(function (elmt) {
+        new codendi.PluginForumml(elmt);
+    });
+});
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/css/style.css
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/css/style.css	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/css/style.css	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,110 @@
+/*
+// Copyright (c) STMicroelectronics, 2007. All Rights Reserved.
+// Originally written by Mohamed CHAARI, 2007
+//
+// This file is a part of codendi.
+//
+// codendi is free software; you can redistribute it and/or modify
+// it under the terms of the GNU General Public License as published by
+// the Free Software Foundation; either version 2 of the License, or
+// (at your option) any later version.
+//
+// codendi is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with codendi; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
+//
+*/
+
+
+/* {{{ ForumML */
+th.forumml {
+	background-color: #cdcdc1;
+	text-align: left;
+	font-size: medium;
+}
+
+.subject {font-size: small;}
+.info {font-size: small;}
+
+blockquote.grep {
+    color: #848696;
+    margin: 0;
+    margin-left: 1em;
+    padding: 0;
+    border: 0;
+}
+
+font.headerlabel {
+    color: #83731a;
+}
+
+font.headerlabelalt {
+    color: #8a604a
+}
+
+.plugin_forumml_message {
+	border: 2px solid #cdcdc1;
+    margin-bottom: 1em;
+}
+.plugin_forumml_message_header {
+    color:#999;
+}
+.plugin_forumml_message_header_subject {
+    float:right;
+    padding-right:1em;
+}
+.plugin_forumml_message_header_cc,
+.plugin_forumml_message_header_attachments {
+    padding-left:20px;
+}
+.plugin_forumml_message_header_from {
+    white-space:nowrap;
+    font-size:1.2em;
+    font-weight:bold;
+    color:#666;
+}
+
+.plugin_forumml_toggle_font {
+    font-size: x-small;
+}
+
+.plugin_forumml_message_content_pre {
+    padding: 0.5em;
+    font-family: courier, monospace;
+}
+
+.plugin_forumml_message_content_std {
+    padding: 0.5em;
+}
+
+.plugin_forumml_message_footer {
+    border-top: 1px solid #cdcdc1;
+}
+
+.plugin_forumml_message_reply {
+    padding-left: 1em;
+}
+
+
+.plugin_forumml_message_content_std blockquote, .plugin_forumml_message_content_pre blockquote{
+    border-left:1px solid blue;
+    padding-left:1em;
+    margin-left:0.5em;
+}
+.plugin_forumml_message_content_std blockquote blockquote                                  { border-color:red; }
+.plugin_forumml_message_content_std blockquote blockquote blockquote                       { border-color:green; }
+.plugin_forumml_message_content_std blockquote blockquote blockquote blockquote            { border-color:darkorange; }
+.plugin_forumml_message_content_std blockquote blockquote blockquote blockquote blockquote { border-color:#8A2BE2; }
+
+.plugin_forumml_message_content_pre blockquote blockquote                                  { border-color:red; }
+.plugin_forumml_message_content_pre blockquote blockquote blockquote                       { border-color:green; }
+.plugin_forumml_message_content_pre blockquote blockquote blockquote blockquote            { border-color:darkorange; }
+.plugin_forumml_message_content_pre blockquote blockquote blockquote blockquote blockquote { border-color:#8A2BE2; }
+
+
+/* }}} */

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/attach.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/attach.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/attach.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,8 @@
+‰PNG
+
+   
+IHDR         µú7ê   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  IDAT(ÏcøÏ€bZ*=çå”SÝ6M†X,VœýrÒõ®G
+[ûþçÕa(X$=óþčë‚þ3äX$CS0_dƽþÍ­ëkýA¼íˆç(
+æ‰Oýг¥e~uP!wæÁø–°­>È
+æÈOyÛ½¡iVEjPÚÑØŽà)Þ7ÝDá
+f«NzÒ5¿azy\gÊ­˜® …ž\%ᾘ©8ñAÇŒºî2ïÎ䛑õ‹<^¹ÊÃÃa†zÿûÖ嵌Åk²®'<‹hð_àñÆ…) zÜ[UK€8ña1>3Ýo»¡„d“^ÅËQ'XÕ{±ÛMg1´ .çÎÛš²%F5ÈÚó²ë=',q‘ÌépÞã©kž£ ‘E¢ DRú%úHO    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/comment.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/comment.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/comment.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,10 @@
+‰PNG
+
+   
+IHDR         óÿa   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  /IDAT8Ëcøÿÿ?%˜jD´ïâ¥@üˆÿãÁ»€X›W¼õÿ÷Ÿ¿ÿñ-'ïƒ¹
+Älp€ þó÷ß¿ÿ¾ýûÿòÓ¿ÿÏ>þûÿäý¿ÿßýûïÍ¿ÿ·_ýýçÄðêÇA†˜! —3õ XòPã³ÿþ?j~ðößÿ»PÍ×_üýõÄ€ÎUgAxc5à)Pó£wPͯÿý¿õ¢ù
+PóÅ'¸
+€{äüû@[ï¼þûÿ&Póµçÿ_j¾ðdÀ°µ‹N€°Äˆ CÈ5ÿŒˆœ¸¢ñ,Êæî¸
+7èýç`>Pü2ÖhƁ
+ï<÷¦ñ;םŠ{gn»ÒøˆIJÊ@
+J@|ˆSè—Ì  ÷‹"¾âj    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/comment_add.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/comment_add.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/comment_add.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,5 @@
+‰PNG
+
+   
+IHDR         óÿa   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  ¤IDAT8Ë­’O(ƒaÇwRÊÉMÊA.”íè¢D98à@h(vpT8Ðj“ÍDSŠ9à4iñځƒpPÐm6l^ÿ‡åOÚÞçë÷¼›ÅÚ^Š§¾==ïû~>Ïïý=
+€ê/Qý› V¿œI™¥¼S ’—L`[w!‘ 4–¶}\⦤Å´È D$ÆðøÊpbŸgAïƒûF‚ç&*ïžÚä’⯂­eM~yE øÈà'øôžá$]I8£‚ù.¨H*¸ ø<ƒo\×QØIðn µ þ¼|í깕pLð᥄}‚.ˆÈ‚Þé-.P'm"—|¼‡_’Å	MLOuŒ‘Ï#›\>ˆ‹¬èk@ëPêt¥Ïå]…=?^$’x.ƒ/èŸEßB–œ8DæÕvÔ˜PÒ‘eT‚Mã6'¯ä¹^_¶îÃz8"Wc´·Àloã‚·Tp.ÅKÑðuewlΉo½YܳpÁïî»Z›ý6(4C/4Ê°~¥Q¹‚ÄЇºjc>L‚FÞ™Ï|­Øƒ$%ÄËŽÍþüút\»;    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/comments.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/comments.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/comments.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,8 @@
+‰PNG
+
+   
+IHDR         óÿa   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  ¿IDAT8ˍ’½OÂPÅYMLœÜŒ‰ƒ‰ƒ‹Îþ&.ꠁÆ]$$ꨓHÔAÄ<–CXÐàGù((…¶âõÜGIÄÐêðKû^ï9ïÞÓçYð†§€œ:pVÀ8y~ãÁ‡Ýh"+jº)´Í.UP¬ê"KÔm:œ±¸‚ârÃuS”ê†(ÕQÔÚr?£ÔÙàÐÑ€Oe±b‹
+Õ¶ÈUZ"[nÉõ_çµ–)TœÌÅyˆ¯“¹Ûõ½XyÉwe-~¢Î ›,ØæüØ  BhX)æ“7öoªÈ…0i=š]!B.m
+V}¸ˆ§a~v$‹;‹Å˜Ÿ0!B.„\]Ê}ŒÅr¼ÌNüò.ÃóZ|*‹[„\Ýr‘ë>Ûä —â0¨#B.²8ÿCœQuÊãý]m°ÁKO<Äa‚0	
+È…ÚV§OÌ](ØG^ôZ¬±Aªg0
+¶À„½öúC÷”x.2‘°Ù[©AOyŽ¢)ë`Í3èßÚ&ó@Ótƒ¾@$ùö‚yœl“äÂâ6˜x‘\ÄÃÜhY§:7ƒ1Ón]ºŽð¾ÁŸ	”zÓ<·    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/msg.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/msg.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/msg.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,5 @@
+‰PNG
+
+   
+IHDR   
+      ©E1“   0PLTEÿÿÿøøø      ÌÌÌÀÀÀ†††      UUU   999         ÿÿÿ HÖr   tRNS @æØf   tEXtSoftware gif2png 2.4.2£^G   tEXtComment Made with GIMP~e•   BIDATxÚcHKKK``Èÿÿ?Læ_`ȍ¿{Èþ(âː”’ÿäÌ™3¤ ˜½{÷n_†_†»   *´² I`é    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_first.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_first.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_first.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,7 @@
+‰PNG
+
+   
+IHDR         óÿa   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  œIDAT8ËÅS;HBQþo™Wéa…T8Ô.Ñ9DmB´ô€ÖÖju(£Á±Ñ¥Z¢ˆ¨h‹¢­‚
+±­¡@DÊW÷žwçB4º.8pÎÿÿ|¯Ã1„PÏj€:—«ò=Ìh9œs@Œ_mÍuWö#ñ—£°r¼lqPÀ!Ô¦U™íTÌ¢°V"¢ÙÑ‚E8PƁÈ-ËõéÍd<Ða®OµE;[P¬„	@Ȳ¸®Mn$½]Þ¥ ßLö
+ˆ9‡¨X1åàaGŸ÷>si°Ç„"[Öó?À*P¬HxMrˆ÷µš=íMÎÈ—(øZ\@-â¬@±bÅn3ø²hS¦YmÌu>êÌ)¨( å_@:G”ק“»ìÑåãxÝ ì	;¨„‘ì2(éU¼î„"Ï©ÜÁÍÃ'4{u>Âfµ0 YÙëûþèlê1»{{ŸÕùðZ!ª„mõ
+ r0}žï»àÑA¨3€bMœ½IŸR*«Ì\O-úB§Ü®åʺñï¿ñôҍ€,(§    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_first_disabled.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_first_disabled.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_first_disabled.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,8 @@
+‰PNG
+
+   
+IHDR         óÿa   sRGB ®Îé   bKGD ÿ ÿ ÿ ½§“   	pHYs     šœ   tIMEÙ,9œ´1  ˜IDAT8ËÅ“=K\A†ß•uŒ¢—Õ!MšÔ)Óø$°ØÇÖ„4
+	
+Sh¢(Ú$hg—"¶6I•%ˆì*jí×½gÎÇLŠY]®žnæ0ÏyŸ“	!à.Uƒ;V¶ò°²¶ À{U]ïïë}^ÙŸü²4B~=ð %GOwÚÛ"0ó•ÎØç…q1{ãXR˜f3ƒ¹¼ÿði~*5¿}úäq&N(]™af`Q0+ àýÔÜ|[>ìx˜‡÷	¹ôOt"PU¨*ˆ#3Ëù¨y°óQ+Î/bˆH {]AԐ«Í"&zÖÓÝUµ4áäôqLhll€T¨U% ¢òtÇ âsU…ˆ”•TÁ¢ðêo 8†¨áäô	¹­?Û«›;»ÈÕ–ƒª(¼i: N"ç	¹0ûñÝ‹béèÇNaõu9¨Þ’ !…c¹t]˜}Y*.
+{3x» R~\9iùëØÀ~éhq÷_f–üüµßU®ß'_ìþêòeî}ÿ¤‰
+™)—#    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_last.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_last.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_last.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,6 @@
+‰PNG
+
+   
+IHDR         óÿa   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  žIDAT8ËÅ“¿kQ…¿7º;	’*,‚¢•¨Eô/°AÑ^T°I%XØØX,‚,¤æ?HŒ6¶ɨAQLÐ&›qßÜ÷ã>‹X„Ù&…§»_q8÷À1)%v£Œ]jïð1ûúW¥ÊóÙ«G
+ó;ïËÞéEñŠøÀÂý¦)Á¾¨<¸×ýñdZ«œšãÒé	JIÍ/X¯œ9–›Ã“퇷^|{¶Ãâq^©¬k6P`ú`›©ýí»—Ÿ®½(%a]B¼RJlîàO¸ ômäøT‹M›ß<ÿøCµ£núV›
+¬U$(½A 3pòè8-¸¶Xôdr<C|$Xßl0‡óJí"{d&Q¥­Ê:æ £”’Ÿ AžÞ[¬|í/8ô{Ó͘h‘dD‰•Ýn;o–Vû¬¬õævÎ^Q«I$â‚’ê8*AD¼ò®èQ|)»ëÝs×’8‚Ûîgä}«,=>}Þzµ>wáÆOuÄ{ÅG%ùÐl¬çãjÙÙ˜Ÿ¹=ÌÕ*ïßl‚òïøÌ_ã_’vù$ð>l    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_last_disabled.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_last_disabled.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_last_disabled.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,9 @@
+‰PNG
+
+   
+IHDR         óÿa   sRGB ®Îé   bKGD ÿ ÿ ÿ ½§“   	pHYs     šœ   tIMEÙ/’*Ö  ™IDAT8ËÅ“=OTQ†ß³÷*"A‚›l± 1ñG`aMEG‚XXY
+4V*ÑØÙ- A”Ž°­ñ?ð!›•a­vïœ33çX\0ã]
+
+¦;ïIžÌû$cB¸Ìäpɉ[åÍϧÁ‡ÒØèƒç­ùâZù‹¨¿ÏŽÁ̘zòÐdmÐB˜^]ß|Û:',äqïî0Ⱥì
+ÌŒ;CÓ×Ûýlaecö<'"03DÍ„²Ö1Bèïíޞ§ïŠŸ> YÇEbm¶çXD„üí~œ4^ÌÌ]‡É9íODí A£™ÀƒÁBQo}­ÚÎ)Äq6€ˆ "°ŽåÌ_/ÖÚÓ„l‡1^}€M+ @ÇØ­Ôpðý¸`à×гÿÿJl&©íkq„í½o¨­/¾9æÕçR‰m7H¬3c·RÃQýçÚRñÕ ¨(T"rA"ììíã¸þce©ôzò<÷ê!’
+VÕl ;ÆáaýÃòü›Ç­¹Wí*¼zü{|æʯñ/þKj÷šÆ    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_next.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_next.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_next.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,5 @@
+‰PNG
+
+   
+IHDR         óÿa   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  IDAT8Ëcøÿÿ?%˜ê4¬~ñ¥nå‹v
+xõ¿få‹%‹µ“e@åògÿמxÿ¿}Ëÿ	Sïö‘l@Þ‚GÿW÷ñ¡·ÿK—<þïÞrmI$MøáÁ7ÿ'mñæî—ÿ§ßý¯Stv	Ñ÷Ýj|õ¿aÕãÿ«ÿïÚøä¿wǵÿRIÇe€s˵ÿ¶>ÿ_²øÁÿò%€†<úï\ù¿dä±ÍD`Z~éûú'ÿ‹ÞÆÆÃÿöUþKX#꺝…(”óÎþ¯[ñðå²ÿmË/üØ»’¤@”J:ù¿tñýÿ6%çÿ‹yí]Dr4JDùo]x濨ëÎd%$1¿ÿE·Ï¸ÌD* ìèë¿€ ±    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_next_disabled.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_next_disabled.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_next_disabled.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,8 @@
+‰PNG
+
+   
+IHDR         óÿa   sRGB ®Îé   bKGD ÿ ÿ ÿ ½§“   	pHYs     šœ   tIMEÙ.	ˆ[  #IDAT8ËÅÓ;KÃPðÿM²Õ¶ÖR_~,AÜEÄMZºŠoluðÑEt«B¡T+RlW‘ô&7çÞpݍJÒþÇç7œÓZc0 v{ß»¾©ûXJC¯U¯îŠ}RILOM°l:µ¾{rQNø"@†È
+g‘I­l•ŽD©BpÎ1VÈc$—Y\ÝØ>‹
+¸=RJ¸ÜÇǧ‹ÉñQ
+ù¹¥åMç'Àú^ð|I!`4( hÍâž Ak
+Ó4ñØhÁqº5³± —s,ËB£ùÛî\VöJ3¿Í  $ñÜjÃqºÕÊ~iþ¯-D ¥šO¯°íÎéùÑÎBâ;Uˆ·öûaœf `ÿþ_鎊Ö+!±$    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_previous.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_previous.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_previous.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,5 @@
+‰PNG
+
+   
+IHDR         óÿa   gAMA  ¯È7Šé   tEXtSoftware Adobe ImageReadyqÉe<  IDAT8Ëcøÿÿ?%˜.dÏ~Øž:óá²Hy¿=iúÑîþ'Ù€„©wûª–=ý?kï«ÿ^í7I3 jÂíy¥KÿŸ¹ûåÿ©;_ü·ª¹B¼Á½7—.x ÖܶþéÿÞMÏþk'΀€Î›²ç>ø?uÇ‹ÿ«ÿ/ZxÿóÚÇÿ¥SOg€cõÍñSïüïÞüôù’ÿÓgÝù_µìáɘcÄ UpšE=ïìÖkÿkV>üŸ6ãöÿÂ…÷þ‹ -%cŽ¬´-¿ð?oþÝÿ™³ïüußKz4Šyí]dž}òÒÔ[ÿEvþ'+!	[nY`ä¿°åöÿd'eAƒ
+³…Œ·ü¸Ì„ ЊçþÑOŸ    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_previous_disabled.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_previous_disabled.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/resultset_previous_disabled.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,7 @@
+‰PNG
+
+   
+IHDR         óÿa   sRGB ®Îé   bKGD ÿ ÿ ÿ ½§“   	pHYs     šœ   tIMEÙ++ Lw¾  "IDAT8ËÅ“OKÃ@Ä'Æ‹ÿšÆP{±Pô	¢7±àÙ«
+Å‚`EQZLk­(*~ñP5HikñfÓìfw³ë]
+nèÁ¹>Þð{Ã<C)…A4„¥eàÖîó¥ê­ßo6ü×rñü&`†ÌˆMpâ^¬ÄÄúl6cB‹à°X;sl+çØD$áû~…ãòE21žK§ø½ œsôt	vÜÖ¤Ì¤§Rè~}ƒ‚±Ñ}‚  ”R„aÆhÈÀ¸€Œ¤žÁG÷sîÙkÜ=Ö=˜¦	¥cˆ×;ao{C ˜_Yݼ¦„.Ìd§Á¸€2^‘J[‹­æ[µþô
+Î9TÅobùtg©ÝìT¼—†~¿uYÙ_î´ßKRö70þý &YM …    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/spinner-greenie.gif
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/spinner-greenie.gif	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/spinner-greenie.gif	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,32 @@
+GIF89a$ $ Õ= ÒÞÎéïæðôîÛåØâêßÄÔ¿ô÷óéïçäëáàéÝÝçÚ÷ú÷·Ë°ô÷òøú÷íòëðôïÓßÏûüûÉØÄöøõ¬Â£èïæyžl”±‰ùûù‘¯‡Æ×Àîóí¼Î¶Ñßͧ¿ŸäìâÀѺ¶Ê¯Úä×ìòꂤvØâÔ™µÙäÕÌÚÇãëàÊÙÄÈÖ±Ʃ º—¯Å§·Ê¯ÍÜÉÂÒ¼‹«€¸“ÝçÙÕáѽϷÍÛÈp—bŠªÂÔ¼¦¾ÿÿÿ      !ÿNETSCAPE2.0   !ù	  = ,    $ $  ÿÀžpH,È¤rÉTJ‚EsJ´lv»…:•\±X)wiƒAc"‚†Á „$3ÝØ<6A‘ë÷ßr;RqfzK4~}3Be`[=r6LŠ}C  b=‚;L‰Š%J’fL—oI…`$M 393¬J$1;1°i½I!¾
+&G~i
+<Ð<
+EËŠÃTÑÑÈCª—!\ÏÛÒDߊâäåCÕ—ØSÚäÝCÊÌÎÛÓFÀÂÄ&
+ô|	2Â…#˜¨€Á†Š&tH”˜0‰
+r—¼˜(ñ„†Û:0ùÀQâ)R@²®“=öˆÀ1‚äd09P2!„7’:V^ܠɁ>T¤Y2… 2:È(êkP§‹8ÐPreÖ"¸êÐ`ó«80˶­’  !ù	  = ,    $ $  ÿÀžpH,È¤rÉLRJsJœ\r¹Ë€:}\±Y)wƒCK"±ËæÜDÛÙ7&b†¥Iq9= v†+L^fBpXs=††LŽ`BƒB(“vL[H LbH	†M|`/LyS!4h\  mnL“Gn ²D:Øc¯ E×ØØÏT…ÝDááÁÒÔBèé:ë\ÈwÊDàáÐ$îD"¤›gL	„øq	À¢ƒ‰T pÀD‹<`4qðA’0^TÀDD¼Iˆ¼LI<¶„0€ƒÌ•<Z&yùAˆEDŒ${tYÁ “ñÖ)Òf†¡<Z¨hb-œŠ*Wê¡@{di¢ +š=€i… kd bÜ»x§ !ù	  = ,    $ $  ÿÀžpH,È¤rÉL"ÍhQÊå0i”r±ZKS¨¶òzB@÷šf+úŸI‡pÏAáqmJ.::B<f/o}hK†“B<<= }K““J‹^L¡†£JšKª‰R
+	 I¡R(;Á
+IµQÁÌ+nK5ÌÌÄFnÑÒ;ÔC'“ÉQÛÎE…¡•ZÚ;ÃE ª¬Zºïª:7ÏJà¡âLàZäÀ,C"´ cF¢XŠ#´,“¶!
+  ,I°m‡ &
+0ab¡„ã¶nH2T‰)À ]ö '-“ ,1R$É=w¬@‰„CN;
+•Iïc”9
+ôÀ™sç3PyTÐ8õ¨	~B8È’S©``5«"­±nãÊ• !ù	  = ,    $ $  ÿÀžpH,È¤rÉl:Ÿ‘îTp<Ž“n«ûCÌäZLq¹!&ÇÎñÈÃÂyKèÚm¼™ë =xlNu=.g"Bƒ9…LR[.V".C%x%Mfg/Jk9M~dH®sO3m3´F¤\^N<ƒoF¶S€N©mI#VOÌlÎ{I‚xÅF{4m½D<é,{zG,éò ØIòéd 
+Iøùž,X±£ 
+$2 âxâ¡ CGÜK#Ç= É`€‹1îÐÈÄ@B2@"iˆ"ø`IàÁC	=4ØD@@„ ÀCˆ	ü5ð“^‘;,ìáð“CP`C'O_N¨R±™èÐÁ–Wà¬wDÂÐ6°K·®Ý  !ù	  = ,    $ $  ÿÀžpH,È¤rÉl:Ÿ‘׍`$PŸG‘n«K
+§­æ€%Ž¸\HÏ¡Akea½¥žé‘xoN§Fè:zm\.B€dM& B#a:‹{h"N
+<,_jEW!HœO 9´<G®® O%´¾F¸¹<»M¾¾G­®ÆÈ´ÊFÌ
+X3ЪGe½´!zMJÝåL8®0ßXçI*ÃX!¾G,Ãl9 ­ÄŸ0€–Ã_ÃZ(d¨­ÀNœ™ƒvÁ ò$HÐÀÈ‚Cxð«¸ÅŽ—;,iàá劒=0‘®‰ @˜0%YtƒÐ8	€¾Ðã§Rz@(ÝÁÔ)Ðz(Ý D«R¦z,l°‰³G
+ (Ú	 –ˆ (dªK·nÝ  !ù	  = ,    $ $  ÿÀžpH,È¤rÉl:™@ÀH‰"Ï£¢Âãµ8Ûn¬e‰n—WÉô d2á,4­×SB|\ ÷ w]y{:)~<B'q~=,w
+C.c'B)J* &‹=  `E B"d#HkªM#{Gvw-O„sE2‰¥LÁ{›E“nMzq'GˆwY°ËF8k0ÏOIR‘éOJg%9÷/H
+;ýYöîÝp„_¿~
+œ (&PÈðžÃ"#î˜è$ À	F$<(`݁<YcHƒyE0`@°Çƒ4•, ‘ aH+úÅðÙ#Ô~hŒ!äAÅü$и£ä„§ÏLÕXÀStHPGá¤À"¡ˆbH½{¢¦³€¢Fɘ5ÕéÝËwo !ù	  = ,    $ $  ÿÀžpH,È¤rÉl:ŸÆ«Â“ F@§ Âx`^+ƒʼŽ0€+Ê=N›Çé±ÛݲiÞ•·ße*s*B,h0B#O_aˆCZ\d':˜"NgUdI˜¢)H 	P¢¢G
+;²1ªN¬˜®F6²¼(O¡¬¤F¼¼O—™H±ÄÆP)H(Ä;	pJ¼5pJ
+e/­ØI·šH$	$µNÀ¢GÚ¼+åõ·øF at TsÖD„»#Ûª=qàB”uFá@„$‰ÙP‚ CŽ8¡6K00B¡ÄǏ%žŒ „ÂŒ—9x€óã 48zæ@ЃÐŸeŒöü9@(Ñ2A{>õøR'œ–81	‘rºh\(ñ‚Â׳hÓª5 !ù	  = ,    $ $  ÿÀžpH,È¤rÉlrÍh‘Óâñ**)²!(V­Wƒ–؈ív‹0 ›ÆCóù¼è±Û< ¼×˜Ï=x<P…L~g€=
+m,BV-L‹$C  Yvx-M~(J ƒ–L
+		›¨ƒˆE ¯Z“`H$™g§R,m F+‹jR bG}‹{G‹;ÐRGrs]Z7:âF
+ÆgÈRâí'HucííåÑGõö:øFLЁ߻#r(ÌÁC‹ˆvä\X¨p ”Rl;2€¢BK"Ü(@ É9@&yØ.B™`EütlTBa†ÂCyP|!dŸ½’M   Ê=ŒÞÛà ¥Lü\Daõæ	qü¡0qa‰" ä‚ „BÖ*y U®Ý»p‚  !ù  = ,    $ $  ÿÀžpH,È¤rÉ\J‚EsJllvXu*¹b±Ò-q‘HX$BÁ÷­ßZ½Þ%ÜÂUýÞ­7z<<-Mu;Bkw=‚ƒ<Lˆ6C 	=‘‘ L(u$IŸƒ¡N_ŽI¨
+ShK
+Ÿ0J!b,&I9È9xJÉÈ¿b
+
+ÅEÐÈË[¸ƒ²DÙÚÜSžŸ×CÏÐ[ ¨<†Dì9bð¨óDJÇ,‰·AáŽP†**L˜ ”d´L80å˜6
+J
+èéÂÚrHB`¤ËLB¤”v @ŽBD¸tÉ䁽G„DØAȇ#› (HHu@è‘é	f"‘íáÂ¥œn†jÁæTf4ìÔ`²à‘juhá6‰FmëêÝK% ;
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/themes/default/images/ic/trash.png
===================================================================
--- trunk/plugins/coclico/forumml/www/themes/default/images/ic/trash.png	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/themes/default/images/ic/trash.png	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,11 @@
+‰PNG
+
+   
+IHDR         óÿa   bKGD ÿ ÿ ÿ ½§“  ¿IDATxÚm“OOSY†ŸÛ{ïáRúÇ;P¨EÁl€Ç`bÔ¡Æ7ºPÇd’1î4nܘÌc\Íz¾ WJB&3$# Q'Ñ` 4±b)­TiKio‹ÜÛÛãÆVÞÍï$ç÷>É{ò…-B˜ÀqÃ0þÄ0,Ë"ŸÏ377‡"
+¼·m;É÷B$ ïܾ)¹7²¸¾"ó¹%ùâùCùóÅ3²~/„8[÷)_ÌC^¯wêï±?‘<|Âôtœäb†` ™ç‡Ù½»Uõàñx¸|å7„lÛNz zzz¦žNÝ'éfÿþ^¢C'ØÓÙɦ‰hÒy;ŸÂ¶ÚÚLAümÛ @,#ÔځÏßN
+‡£¿ï0…B–üÚ
+ÙlÓÜ…ÅbXl¾]«FîŽpýê¼-4i­È€Bk(¾ªÍÆF‰b©ÈÄãÇ<ñ’r¹Ò ¨õé÷û¢³³q–WV	‡›q6-ŠÅ<–KŒ299A2™fa!Í»w)²ÙµÛÀ„R'uwwÊP(DG¨½]]††S­¡*›¬þŸ'•þÀBb	USÐ5•Tú£òM„–ƒ7®1:zé×ÓXV]×X\|OµZE×5ú¨TJ
+Ö¶´··þ~*úCC§qìO\ºt_‹Ž”.ÃÃ'q]‡~Ö××(—7Èå
+· <B(
+F³—éstð$m¡0Ꮍ½ý˜f€`ЇiPÕ†í+`+HS=4‚C»Ð…ŠßïCUUEÙÖà@JÉÌÌ,µZš¬·ö[I)±¬
+Rî ¨V]ž=ûññ™™‰áºncɲÖÈd–YZZÅqœíX*U^¥Ó™_=šdWЏ⩐H¤‰Ç@x<A&³J,6O¹ü)êºnŠ$„øE!¥®ë;þº>çø#<(Hþ    IEND®B`‚
\ No newline at end of file

Added: trunk/plugins/coclico/forumml/www/upload.php
===================================================================
--- trunk/plugins/coclico/forumml/www/upload.php	                        (rev 0)
+++ trunk/plugins/coclico/forumml/www/upload.php	2010-04-19 14:51:08 UTC (rev 9517)
@@ -0,0 +1,92 @@
+<?php
+#
+# Copyright (c) STMicroelectronics, 2005. All Rights Reserved.
+
+ # Originally written by Jean-Philippe Giola, 2005
+ #
+ # This file is a part of codendi.
+ #
+ # codendi is free software; you can redistribute it and/or modify
+ # it under the terms of the GNU General Public License as published by
+ # the Free Software Foundation; either version 2 of the License, or
+ # (at your option) any later version.