PolicyKit/doc/spec Makefile.am, NONE, 1.1 polkit-arch.dia, NONE, 1.1 polkit-arch.png, NONE, 1.1 polkit-spec.html, NONE, 1.1 polkit-spec.xml.in, NONE, 1.1

David Zeuthen david at kemper.freedesktop.org
Tue Mar 28 18:18:58 PST 2006


Update of /cvs/hal/PolicyKit/doc/spec
In directory kemper:/tmp/cvs-serv15001

Added Files:
	Makefile.am polkit-arch.dia polkit-arch.png polkit-spec.html 
	polkit-spec.xml.in 
Log Message:
initial commit

--- NEW FILE: Makefile.am ---


FIGURE_FILES =                        	\
	polkit-arch.png

if DOCBOOK_DOCS_ENABLED

htmldocdir = $(DOCDIR)/spec
htmldoc_DATA = polkit-spec.html $(FIGURE_FILES)

polkit-spec.html : polkit-spec.xml $(FIGURE_FILES)
	$(DOCBOOK) --nochunks polkit-spec.xml -o .

clean-local:
	rm -f *~
	rm -f polkit-spec.html polkit-spec.xml


endif # DOCBOOK_DOCS_ENABLED

EXTRA_DIST = polkit-spec.html    \
	     polkit-spec.xml.in  \
	     polkit-arch.dia	 \
	     $(FIGURE_FILES)

--- NEW FILE: polkit-arch.dia ---
‹
ŽÔ¥¦ÍŒ)€.î9¸ ¿ÿáó$
îLQ&yvÕ#÷“
ó8ÉFW½~¼Ð½Þ¼ú>N¢ïàÿQM¸#+í_W½qUM¿»¼¼¿¿G鼌ª¼@i2C¥¹üo”¦Ñ%ºì½y+ˆ£*²×W£ª*’›Ye‚,š˜«ÞM4ü4*òY÷êR‹rÃ<Í‹à.J¯zßܺOïrQÍåJ=OÔ=Fæ¦0ѧíUcø„á!UOM±^ídš—	©æӍ"[ê±ÿ>*³(UB¡lôæ›·ü›ºI‹u55t«‘j£$Û´c“ÖA‘¦”Â`ˆP‡XqE¾ŒÉþæn^Ö\ú²æŠ—5—”×Ó¼¨Š(©6MÞäyj¢¬¶Z3s¸r¥àbOu«E/n“ªÊŸiÿm”–»t ¾¼œmûÎÜQ‘ÄOOÜ•[j¹Oâj|ýÙÓpÕµÏ=Õ~—”ÉMjšZŸdÕѪŸ§úõ_ÇEï‡Û[zC]ÛVxˆµFì£Y›ò7[-³¥¦ñ¢Øås£¾^nׁ©/­µ3‘FsS,ª÷
5%-lM2Wۍ1Dì
 ”y®+¼ú!-ŒÙ`0ÛøÖ$Ƈ™¸MÒt«üw?å8¿¿n ÙÏ3ˆ½Çª¬æ©Y7`²ÙdñÃlÄ°F4ÛÇle>W½gðb­Ì¶ar{¥ÜÏ‹º-Œ û©Ê§è÷<M†ó_’jE׶yCžUM-°×ƒÛh’¤shh”•½À
µ¢õ­?›ôÎTÉ0z<Æû·`cæ6Î/½6¿x;£«á½)
ˆ}}‘T¢©U´ßqBb¸ô(›˜æßóaJ­4bùž¡&M¦×ã¼HþÞHüTXcâ{›·¾ØÞH}±¦-yiË3(EŒ)a‘˜SÂ=2
°Dum‰)ÂL"ªµdƒ+-}ҍ£tr'ÂÁÖâáðÈ78ÂX,•&DKÁ•êØGÇ>΋}ü1/+3	~5w&
Þ_¼ûøGPšâ.šW¯
¡`žü¥ßvÌÄ73¡!„j«9¢´#'9y‚œ¼Ë?7ðÚ–—
ó:•œ‚‘l`¹¥Åe£ô€™¢`¹±þV~,Mñûƒ°~íný|ú¹¸¿–º/Jk!}q›|6q‡æ/ §›|ºt€®Z‡!bÑŽûEsε´è­B«§	D!F¢XøFóþ5rÐ:£ƒujúÏÜúÀ]{¯Öž‘{1I¤…nbŸtŸ(„Õ9 at 7CÁ?òþt’2Èòêžcwç-Äòå¥`±;À~Ànðå±="vØZ‚‡nÓ‚øM0·¹W2”}+?±ä°JL¬ÝúVàM=lêºo—|piÓµ¤P Â5¥a'ÀOÇIë³”#çß^¸3BÀ…$F‘Ún-ñ³Ðßô·Mb-íп7YbâwóZ‘?§¶;ìö¾tÞà¾r{DnÒ:k›
eL±0<ÂBîv¯1ó½{½ÙÁÍ2Û6‡xÆ튰]/À–!Q
‹°îS
À¡Çš+†ŠjÂCÞi÷“ 
¢ò“=IßÕé@p»ÛW4	\*‚qRù}À{{9›ÂEWh•å}^ÄË6ÂwÓt^WwA£ì-#3.¹ò§Ðìr6šòv–ºÖÃZôºß|£½/͇QšÎasÐNP.ª¾œ
yÿ#FÀ¦0›¯ÁëõM)_ U¹¹§
kQ\ïß*åûÜА吇”•„P.:Ùu
²K!÷€kð"ëð‚r¯'ŠL…
\È>x‡À˜0ÂLà3xJ†îŽ}Å'alñÓ»}bwëäJw´Õ”Bø`Y´ÛâŽ=a7FRs{Ìc–5búЭÂÝ‘{[?3˜±Cn‰(õŽÜɐ0©ÂXSL;è>èn6~͵e¦Úzžô9³,1Fô€j›zÀú#Âô
ðÞìϼû„÷öšÂ>±ƒº< ¿2â¡Zô/8šÓpÀBËÚ½£‚…Ì7Âoíhã1cˆ3Ô­IQÅ=§>·' g’3B4î2ŸNâ[gڍ­uÿ‚çù]‚_šâˆÔKð è…’Ö6‘<Ï
Ü<÷ß~é
--- NEW FILE: polkit-arch.png ---
‰PNG



…T…Éù3rIMMMPPаaÃÖ­[·råJ„Pxxøõë׋‹‹#""Á¼yó:;;ÅbqJJJ||üÌ™3åê€1.((ضm›‡‡BÈÃÃã¯ýkAAÕ\ãÅ‹‡††._¾\£fOKXeç	\í@{ÀNÌûUSÕhÊ@ÇŽÃá477{{{«X"—þܹsÑÑÑ·oß:th@@@eeå³Ï>K !!!ï½÷Þüùó?øàƒS§N7Ž¬*™-BhܸqÉÉÉ;vìhhh˜1cÆÕ«WÉ4ßÿ}bbbcc#—Ë}õÕWŸ~úéû÷ï?zôhçΝÌZݾ}{̘1‰ÄÁÁ\"‘Hoß¾íææÆápÒÒÒ~ûí·/¿üÒÆF³Ù·A6 `eŸu0~M,ŒÜ³æßÐÈ
…«RSS/\¸ðã?FGGS]]]ƒƒƒkjjBÕÕÕQQQvvv¡û÷ï*+…Œðzzzâââêëë<xàëëëëëëää$jkkByyyr[q8œ¬¬¬·ÞzëÖ­[¡ÖÖÖ•+WfffÒáwÞ™?~LLL{{»ú{
Q€Ïí³Š²OxAx€^@<g=t‰í²²²ÂÃÃBsæÌY´hsI{{{ZZšÂmÝÜÜöìÙ³cÇ[[[zéûöíÛ¼y3ŸÏ¯®®Þ±cǘ1c¦OŸîïïO=¥eâñxqqqááá~~~•••iiiááá[·nÍÏÏ?qâŸÏ4HÁsÑ+V¤§§GEEyzzNŸ>}Ñ¢Eo½õ=‡Ãùàƒ&Nœ8{öì®®.5›>-Á^
¿‘Ä$5ªÁ‘@/ày«5ƒ£¯Õ±tn3
˜è±Àä BT§Г€!@¿æ¦I

…äڝ;w>õÔS¾¾¾uuurÒWѳ¢Š›5kVii)¹Éºuëòóó©Uô*…‡‡GDD̝;·££c¼}ûöèèèŒ;6++Ka’Œ†ÌóرcNNNk׮ŗ””Lœ8qìر)))A0›‚ªÌ¶mÛœ.\xôèѱcÇzzz^½z•L °eè‚YtBBB(,,¬©©‰*háÂ…¡   /¾ø‚ÌaÛ¶m¡¡¡}}}b±ØÏÏïúõë̝íêêJNNŽ‹‹›1cY}¯ì*ì'>P:
ðø


6lغuëV®\‰
¿~ýúΝ;ÉÜ^}õÕìììU«V-_¾!ÔÒÒÂåríííSRRâããgÎœI•X\\!æÍ›×ÙÙ9{öìÝ»w“«Ö¯__PP at mN>]¥-‹™îܹsÒ¤Iîîî©©©c777r¹D"!£O¹º%&&îܹSÓf§˜ì¾›	óª-
¼4¢ãæúþûï·nÝzèÐ!òI®^gxdï\<ÊÀLÁÉLˆ£]6²±±Ù¿¿L&£–\¹r%66Vë˜LÇÍ„1Þ¿¿C:Š¡ûKïNàu:
Ü hke¸±‘EQ\
€và׊€vûÕö4¯…Ñû¬[¢:“W

åÆh‡#
uχ¹ª§§çøñãZUS^ii©X,–+ÂËËËÝÝ}ôèÑÓ¦M;r䈚Yõöö~óÍ7ô%R©´©©I»ŠõööŽ1âõ×_×h+ªeT4#UO¶@k0igŒÕÁD
ӏ£î}
3‘CßS™Lùæ›ofddlÚ´iÀJÒ1#
!r
_&a?ý	¸ÚQÆ™u2ÐD#œk at SÐg€ÞÁŒq¨yòÂïÀP[[Û¬Y³L]
dddÜ»wÏÈ…r~'·\᧻͔šû_
‹ Võôô?~\ï» ©TJ~å•j¥¥¥b±Øõ¡·?}¹Å„qZƒ1‘=Lr“cUÞÿ}~ÀAXS*m½$öòò"¿â{Ú´iGŽÑoAäàL&ööööòòâñxþþþÔ/0©Ù€ÔuJ£]f¢mÄjàæUïkíÔeˆ<õ‹ ˆþß9r$::šú²x:DûÔS§NÙÚÚvuuÑH¥ÒÛ·o+,‚Z¥Î—‚‡š5AO~õ«Þ¡²Ÿ:ç­FY´¶Æg’³Fa¡ÌÓ!äø;¡Pˆ1‰DS§N
HHHèîîV¸„UØÓgÎœ9¬¢2šR1h똘Þúûû?ÿüóáÇWVVê± ²5ä:ê±cǬzòo
Hå©Ñ.«(”=}Ìò¨Ó¶úœ«3‹Ãá4hРA‰dýúõûÛ߬¶@ ÉdÝÝÝä­Ì†
fÎœyóæMòwÍgÏž½{÷n2åúõë

¨UtÅÅŁ`Þ¼y¡¢¢¢˜˜˜ÄÄDww÷5kÖ(LC‘KL¯	BhçΝ“&MrwwOMMÅ“kkjj‚‚‚†
¶nݺ•+W"„ÂÃï_¿.WŠX,NII‰'³2æ´³›Z	uÎkk9ä/Ʋ³Ðîßyyy!„V®\såÊ•§žzjóæÍ
—
×îß¿ÿßÿþwCCÃŒ3/^¬p‰Âı±±yyy¿üò‹ƒƒÃ²eËä²MHHÈÈȸÿþÈ‘#ɹ„’’’{÷î1‚ 5kþî»ï:99íÛ·)êÉ“&M?~<ùŠRhhh[[[oo¯‡‡BÈÓÓóƍÌ%j–kUöîÝkoo¿páBæP)‡93G°?þñèÉa9==<vË–-³µµ3f}D5*22rêÔ©üãÿô§?1‚¹„J|÷îÝÆÆÆ9sæ „bccsrrÈå
XŠL&2dˆ²Úê88cŒ{{{/]º´jÕªåË——––R—¡üq„	£GVÖ€¿ýö›ÂÝ¡»{÷n}}ý©S§Èf´³³S–¿2¾ñÄ0°_˜¯·¨ŽýŸ“ H¥Ò7ÞxãÝwßµ³³S‘¬¹¹ÙÛÛ›¹œÒ!„¸\îܹs8PWW—žž®0+{{{êüqtt¬ªª"Ÿø`Œþùg@ÀLCmîää$—˜^™Lùæ›ofddlÚ´‰^(b\™˜¥Lž<™ÌGý+Ÿ2zùf]KeU­!wç#‡yISq¤¯Rv{C’»·ñððPvV¡¦¦FÅMÎùóç1ÆûÛßâããoܸ!·cæu
µ6%%%ÿýïÉÐ!ÄápnÞ¼éîîÎLÉ„™#Ùgè-O
DÊ®¶¶¶§OŸ>~üxYYÙîÝ»¯\¹bgg'·dÀ½P8ÀRN:õì³Ï*«­îƒó!C&NœXTTôÌ3Ï”––’—¡¿ÿýïßÿýo¼A%SvS½Peù«
]2LNN.++;þ<yÄW__ÿàÁ______''§„„„–––Õ«W'&&Þ¼yÓÆƆ™†Úœ™˜žy[[[ccãüùó%	Bˆü¿réééa–"jkkByyyÚí¾²×æ´Ë
X
3±r?üð9DPüžzê)5aã¤ú$IGGGlllYYÙ/¿üÒÑÑÁ\B%vuu
®©©AUWWGEE©Î\&“}ùå—ï¿ÿþ¦M›4ª­¦ƒ3Ƹ¾¾ÞÕÕ•ügrrò®]».]º£¢uvÇÕÕU |øá‡AÈd²û÷ï«Ÿ¿\
É?à;½SѤú‰êÌë˜9r$66–š¨kooOKKÓ%Ãèèh±Xœ””¤lò/((¨²²2---000<<|ëÖ­<ïÂ…nnnK–,yæ™g†
ÆLCmÎLLÏœÇã-X°    777)))>>žYîçç'WJ~~þ‰'ø|þ AOÜ*û„¦ù
kkkÓÒÒòòò¨rÉð]\\ÒÒÒ’’’|||ÚÚÚBCCCBBüüürssé•TQ±+W®†„„Ïaå>-ñôÓOóù|@ðí·ß’KD"Ñ”)SçΝK¾çÎ\Â*,ì3@/º»»]\\÷ÕTºäýRݘúyàmF/Õ±DUUÕòåËoݺ5jÔ¨+V¬]»VÅ­ŒF‰
Þœck;ï®]»fkk;nܸŸ~ú)&&æСC>r¬­ÏX]»vUUUýóŸÿdgþVõq1CS}ë!ªƒaÂ@<ÇBÖvê±çöÆ|éØg¬­Ë™¡P8dÈ777Ö恝©8!ª€xŽµàÔšÒºÏȽA«Ï:«¾¨8‘­ôûê€: žÀÊÁ×O=Âj|ÝБ®Ÿ…Ù‹ßT€5c~]	Æ #²Al§#Ísuà	0?€Õ‚k-0rƾØ@tš«ƒ!ÀÂÀü
…Ê*@­êéé9~ü¸~Ëmkkkiiimm‰Db±¸´´TuzCÔA!©TÚÔÔÄ\þÞ{ï}õÕW/¿ü²vÇ«´´T,Ó÷Zçš>Fu6ìôÎ1ÐA<ô¢¿¿?11‘Ç㙺"¬@]eG˜˜Èüi2vÒh0açááAþvœF«tçDc "´ÓÚÚêïïÏ\ÞÞÞîíí=~üx]ÚÄ@{
Ž”¾Z§ñ·ÿN÷€ié¥
…HQ³HîíLzÑ
RèêÕ«ÎÎÎýýýäQ`îøäÉ“ÉF&BÍŠé|׉¦°¢ïˆÑéÓp
…ÂqãƨžUUUË—/¿uëÖ¨Q£V¬X±víZxðÇpÍÒóŒ†ßµXpz
<Œ
ÓVèÞBDuìEM¨BH(0¨ ì,	De ªc)x{
;³GMDu¬
¾µŽí`~ÎÜ@`g¾àÑ
ÕÁ§„t
ç¸YI;3¯£È¨Îd `öàý90SÕ™¼Ntw¨&¦~<ç¸y‚ÀÎ\À`HQ	@H
0_=

è- at aQTT“˜˜èîî¾fÍf‚ Þ{};wFDDÀÁÁáøµïdM˜»Æl…͸sçΨ{ìuñúëèðaTR‚~ùýô*.FÞޏWbcÕÍG£Äº»qƒFŽDNN/ËȻ̆ì€	©ú:À´j«I“&MŸ>ýÇTQtss3A¿ýöÛÒ¥K‚ "88øðáÃãÂÂÂØØXj6ˆ>-‘ŸŸO¦ôèQeeå´iÓ0ÆýýýžžžwîÜ!óOKK‹•ÉdT¡
s“«¹*99¹££ãìÙ³ƒfnEß\$Þ‚P¯
¿øâ‹ÿ÷ÿþ•vv¶››[SS•Rý¨®¯¯c|ãÆ
r¡Š¨®«««¢¢bãƍôÍ1ƹ¹¹îîîÉÉÉÉÉÉ			ÊöšÜ„¤¨Í©:vìØܹs–Î,¢  à…^ +FFuÌ4­­­!2ÎÓ5§çLÅÁ
wMaËP~ýõWz*½Šê:u
{zb„ðSOáE‹0õY*}Áô÷ã[·ð©SX"Á—/c„ð„	d
0B83ÿðÉŸ¬%æppZÞ³#„ÃÃñÇc„pY‰°£#^³F>+…	äЋûàŒ^·wvâµk1BøÃçIê&ûê+Œþá¼mFÏžûûñðḱQqYêï‘V`Ôµp(MΪDuzC…†+¢··!tëÖ-e`¾Ä¦~T×ÑÑAßð•W^Ù²eK||ü±cÇèùxyyݼy“\¨~TGO¯"ª“J¥ÁÁÁ¥¥¥·oß–Û¼°°pÚ´iM¿‰DÊöšY"µSyyy/¿ürUU•ÂÒ™E”””„††bŒ	‚ˆŽŽÎÊÊb¦‘J¥ÎÎÎdž*šEÅ®1[†B>FWøŠ$½õÖñ=ÂGâÔTìä„ú_\BFýýøÿÀo½…-z"Zòõ¥WHÁgaL˜ 'X¶ìqGþGFÏô¬&P´ÿ‹#ç;;1Ƹ£#„'Mz"ù‡ÂdØÆoÝŠçÎű±ø©§ð¹sxìXLŠËR´¯e0Â¥¨fUíOî,¼W§7˜vëÑ£GB'Nœpqqquuíî¨PgCWW×àààšš„PuuuTT”Â4àÃ?$B&“Ý¿!”œœ¼k×®K—.ÅÄÄпóÎ;óçϏ‰‰!#RìííB===ê׍¾µ¤­­­±±qþüù‰!$‘H¨4qqqõõõ<ðõõõõõuÒü%ªäää²²²óçÏÏ™3Gaf			---«W¯NLL¼y󦍍
3­­íÛo¿½dÉ’ÚÚZ²Èd2fæÌ]S§AACCƒ¦;«%;;‡>ù	…ÈÙ1?I½lJLD..(%å‰å¶¶jeÎá ê5£Q£BèÛoÿ–Ã?ÿ)Ÿ•²êPóL¤’
†ôÍ7èÌ”™‰::PQzþy¤ú¥(5÷X1]
¾|_»†kjä“)Lð‡?à…çL>Z]¿‹Å?e&[½s8X ÀR)ær1‡ƒ÷í“o"ú®©¹GÚ‚×’ÀÑ4!ëi|jO!ªÓ•å5Qww·‹‹‹Â0Ѫ\½zµ©©I*•ÖÕՍ9’œ32™Löâ‹/~ÿý÷Êè­û%&b77Ìá`[[<v,~åüË/WmÞŒ‡ÁO=…¿øƒííñŸÿŒ“’°
Þ¸Q>ª£?YKùc|⎈À¶¶˜ËÅo¼!ŸLô%2ÎÍÅØÖ{zâÍ›•~ZBa²£G1BxõjŒ1ž1#„™ß‰Cß55÷H[–7ªX3CßùÕ¬¤ñ©Ýä`ZŸc‚Ÿ4Uúàº%5Ñ®]»ªªªþiõªªª–/_~ëÖ­Q£F­X±bíÚµ&ùž‚žžžºº:òÛR˜¬ë­¬Dû÷[ÃÃMë:¬V
Z·…„˜ºg]‡Õ:À15+iyˆêôÀ"'ê€y3Ô"Áaµ<p½0+9›¨Ý„ÏÀêÊâû

I¥Òææf???¹å®®®tqq	Ó¢§¹¹ùèÑ£Ô^¿ûî»zªò
åF'‡C%îíí1bÄ믿®"½Ü¶ôa||¼.£ŸT*%H!Ôßߟ˜˜ÈãñÚÚÚZZZZ[[E"¹*;;»²²’Úª´´T,«_JvvvIIIii©²Ê2œ4iRpp0ŸÏ		9xð Bˆ^·Ñ£G'&&J¥Rõk¢ŒÇ€
 ªÓ{ÎLrhÞµk—³³³ŸŸ_}}=¹dÆ
3gμyó&ÇCÍž={÷îÝä&ëׯ/(( VÑGDD‚yóæuvv"„ŠŠŠbbbÝÝÝ׬Y£0
Ó«¯¾š½jÕªåË—“Kjjj‚‚‚†
¶nÝ:„ÐΝ;'Mšäîîžššª¬1Éù裏FŒñÊ+¯TWW»»»{yy]»vLpñâʼn'òùü¨¨¨––úUŠ¼ž‘KèE¯\¹!~ýúuª W^y!ûÕW_‘mòÑG………=zô¨»»Ûßßÿ—_~aî¸X,NII‰Ÿ9s¦²½@_¸\î;ï¼Cï·9r䈭­í>|¨æ&"‘èìÙ³äß­­­§OŸÖ®h*ê†j÷îÝááá!!!Ì¡cÇŽ)û±fuh½ù—_~ÙØØxéÒ¥ÂÂÂ×^{
=y“ÆçóǏ_VV¦uŘÌk‚ÀXKƒ«ù€Â¶6!EtÉ’%½½½ÙÙÙS¦L!—Èd2ê÷F+++§M›†1–J¥^^^"‘ˆù[¨çΝóðð‹ÅãÔÔÔœœœ3gÎðx<‰D‚1^ºtiVV3MQQ‘\§ºýä¯-‘ù'''wttœ={vðàÁc‘HDD{{;Bˆ^æ†{öì¹sçBhÕªUR©4>>~Ë–-c‚ ‚ƒƒ>Œ1.,,Œ¥g‚h?DK/ZaAré1Æ2™lêÔ©ÙÙÙ™™™¹¹¹
gÅŠôÍõr@է箈ö÷ÇÛ¶aWWìä„?þøñBòç°0U™ò7°½=^¼—–â‘#1—‹÷îýßÚuëðС8"ÿú+–Éð»ïbWWlocbþ÷Sª¾¾ø…ðûï+HÐÓƒÿô'ìä„züÝõëxòdìèˆmmñøñø›oä3dæ¿eöòƒa//œ—‡e2œ™‰‡
ÃR)þé'Œ~ï=Œ1NHÀ}„1ÆÅŏBmäH|ò¤ÞYmÊ®ŠžÆìÛôÄÓ§Oÿä“OÜÜÜ>&¬’•¦oû§?ý)--üç¦M›þüç?Séëëë'L˜òÜsÏ	…Be§Þ±cǝœœÖ®]›€
kjj?~üÿû_Œ±Œc,
§M›ÖÕÕ•œœ7cÆjŠŠŠÂÃÃ#""æΝÛÑÑ1kÖ¬ÒÒR²ÄuëÖåççS›3‹V˜aIIÉĉÇŽ›’’Bµã‡̺ýç?ÿáS?Ž¬3¶]G,že78}ï ªÓ„¤R)ÆøòåËöööär$¢F[±XÌår…Bá±cÇæΝ‹ýÂ}nn®»»{rrrrrrDDDBBBAAÁ/¼@DFuÌ4jÖ°¯¯c|ãÆ
²¬®®®ŠŠŠ7Ê…Sëׯ'ùóÏ?§~öcŒºqãÆøõ×_߸q#Ƹ­­
!DFœ


C‡Uvi¡­° ̈ê0ÆMMM|>¿··Waãøùù}öÙgôât=–ÒTÇáà´4¼gF‡‡?^¨0ªãpð¶mxøpŒNJÂ{÷>±	‡ƒ7lÀë×c„pz:þøcŒ.+Ã"vtÄkÖ<N†ÎÌÄ?ü  ANÎã%½½øé§å£º[·ð©SX"Á—/c„ð„	òÊýóƒ0BxÝ:Üى׮Åá?Ä_}…Â?ü€·mÃáÙ³q?>76bŒñ!ØÙ··ã_ÅmmzkdM(<¾FurÈÄMMMÎÎΉ$++‹¼»ÃjDuçΝsttìêê’J¥O?ýô¹sçÈô:ÞPuuu!„º»»™…ðÁÌû%æ=ó6•ÚœY´Â0¹K‘H”‘‘{—¼ñxYm²º£^r²ìÖ†¨N{,lúxzéÒ¥aÆїÐÿ~å•Wòòò^~ù媪*¬(ª+,,œ6mZÓïD"QIIIhh(Ƙ ˆèè謬,f5çêèK¥ÒàààÒÒRò%6¹pJá†ÔX¬NT×ßßÏÌ–ü[͹:ŒñÑ£GÇŒØÓÓ£°q<<<ȈP&“YHTçãƒ	Äÿ‚9eQ¯/Æûûc„p¿ü&äÚînŒ
ÅË–ýoÊ
!LÞ'PÉ0V`Ò$Œîé‘/šÔߏÿñüÖ[xÑ"åÊUc<aFwvbŒqGFOš„;;±
Þºϝ‹ccñSOásçðر˜œ¶™>#„\Y‰¥R½5²&´‹ê&^»ví’%K0ÆW¯^E555)L/·-Aeee555/¾ø"•^Ǫ_ýý~Û)'&&æêÕ«Ìû%æ=ó6•ÚœY´Â0¹ËG	…Âï¾û.>>>99™Y7ò¥º›7o*k1M±ðjbÁ,¸µåv
Þ«Ó
ÊUöOuþ†ôÍ7èÌ”™‰::PQzþùÇÕ>qíߏ0F©©èÏVùJ¥%%%'00!¤æ7ïp8œôôôòòòÝ»w/^¼XͲèÿ$O7¹÷™FŒb¾Þ'‹ïܹÐÛÛkccƒ"È€½½½ONNNNNÎÁƒKJJ¸\îܹs8°wï^òóÔæÌ¢™Êd²ÈÈȾ¾>êK—ììì¼¼¼¦Nºoß¾ýû÷“‘+]ww7‡Ã!+¯GÖò²0ˆê,„··whhèåË—™3g”èèh±Xœ””DF?LAAA•••iiiÿŸ½3‹ê:ÿÜ@ce”M
# ëD
¦. ‘Š€`cE&…¤ù¢¨ù[\H‚ˆ¶~ÅRµ.ÁF“h\(4‘&nÕô7@Ŧ(ŠŠƒ 0sÏïÓÜïÍÜ™Ë0ë½wÞÏãã3œ{–÷¬÷½ïÙüýýÃÂÂ6nÜ(•J/]ºäææ¶`Á‚qãÆ
0€íÇ
îi#¹qãFMMJ¥*//<xpYY™™%sæÌ1kü&nôT&ó÷;ï`GGœ™ùßÉV§Ó²ôL(ù׿?~ë­ÿ΢––âðploœðüùšÉ±=(84÷éƒW¬øEÒ„cÇð°aØÑÿáxÎlg‡×­ÓŒù§Z³³±‡¶·ÇžžxýzL¦ÿŽÇá%K0ÆxòdŒ¦Œ{÷ƽzáÑ£ñ…Æ–­AhÔï²eËBCCBo¾ù&»ã뚁ß¹s'íØÚÚ:pàÀ'Nÿ^®_¿NÇ@ÿسgOqq±Füååår¹<((h„	µµµEEEE¹¸¸+ ÖÅEÅÅÅÉd²®®®={ö°müo¼ñÆ÷ߏ1®®®ö÷÷

ÊÉÉA?O˜=ztÔ¨Q#GŽ

%k0:;;]]]—-[¦œ4;BŠ¢fÏžíââ’šš:gΟQ£F?ãǏÿ׿þÅ®ŽùóçïÝ»WŸŠÓý_Ä€‘ˆ¸œ5²ÖÍ)ÄHÓŽ–·å`Öó{=ºhÑ¢»wï2dñâÅ+W®„ù=imm=räˆÖƒUMoÛ$`*ÄZÅEÍš5kÙ²eÄE­V]»vM«å»[ŒÞ-.\ظqãáÇÉL®	kó
—³FÖ@«ÓÞ–EQíííNNNÖ°(¼m€	q-wtt”——ÿú׿&^¿~}ïÞ½†­è0>x·œ?^.—÷éÓÇä1ÃUC”½‰)Ðêô:À7 cÚP˶
…‚øY»ví”)SB;vì;v¬»»û¼yó0Æ̧111D¤U«V±/’Ëåjµº­­ª¾¾žÜîÅþÁäææҏ˜hd!”ŸŸ””äîî¾bÅ
­~@"‘DDD<yòÄ°à


•J¥ôÄ(GûöíÒ·o_?_}õÕÂ…õ/FZ¸¸8Ú|ÈD£=ÔÖÖZeV(Í
!´oß>wwwÚɦ­­mïÞ½”
¥R©Ö¨BµµµÌ,]ºtûöíADÜ&ý–`;@]›”§>Y€XÁCLAk×®2e
BhëÖ­ááár¹<!!¡¥¥cœ‘‘!“ÉBBB–,Y‚ÊÌÌD………}óÍ7tÀúúz©TJ"¬©©‰ŠŠòöö–ÉdGŽ¡ýß¾}[«


Øð/•9æìÛo¿Mûõë‡"y§“ð}€f

zá…†VTT¤+uf¦Ø.ìRê6×ú”¼ÆŸ*•ê7¿ùÍŒ3Ôjueeå¤I“†
6|øð_ÿú×åååÄBhøðá^*++1ÆóçÏß»w/íGX
°
|æ
,§¬‹°d
`«
þN›O6siu|.M
¨tZáÃG³.l¼¦hÅ
ëê`„Ž-¨t¢×ä8`æQÜÌÀɱ®Ë¢Z˜ë
à"xa3eνTEÖÈE	¼¤h˜_ <)žô ³ßË&Â@äœEòÛ꣆ñ0³CÀ‹ _|€]’ìÒæ3Ð

1Xûë"}Žþ-Dùmæ´,ß¾ûáŠX at pX¬¡òy¡/lu+N
ªAƒ=ztèСW®\‰ˆˆ˜9sfÿþýµú<{ö¬··7Bèûï¿Ÿ<yò[o½åìì¬+Z{÷îõT˜®®®Y³f¥¥¥%$$0#¹sçŽL&³Jqçš#›†•@O)((

âö¦1j™’%°)ªÒ!>ÛêW”€…Ñõš¨}™bǾ‡‡ÇСCB>>>Ïž={úôi·Aär¹Z­nkkC]¾|y̘1ÁÁÁ‘‘‘
…‚öS__Ojjj¢¢¢¼½½e2Ù‘#Gbbb


È£U«VåååÑYxçwBBB-Z¤Iff&B(,,ìöíÛÂ`Œ322d2YHHÈ’%K8ÄÖêsëÖ­ááár¹<!!¡¥¥…ØÖ®];eÊ]¹fú¡%dfêƒ>ÈÍÍe–
h!iuÝZb”@ôè9q
À”šÆPÌó6Ø,-Ó¦Tahu0v
BèÞ½{'Nô÷÷Ÿ9s&¹×‹íXƒès€à°MÝNZ¡Ûס-T Øö>¿=<<Ȧ=¢íg¼¼¼B™™™ÑÑÑÕÕÕ/¼ðÂúõ뵺
Øbµu­¶ëLlA·6lXTT”L&“J¥rrrJKKƒƒƒ{õêfmF```HHHVVÖ_|AÔÄM›6•––Ü¿õêÕl—G¥¦¦š)S€I
8vì‰aóæÍ!!!ÏŸ?W*•~~~·oßfg¼µµ5999..nòäÉ$9f®1Æ?üðCpp°	ê¸;„ØnÀò±§LÜa#š+`E„Øƈâ²`Á‚gÏž­Y³füøñÄ%77—Ö¨0Æû÷ïŸ8q"ÆX¥Ryyy544°µºóçÏ{xx(•JŒñ¼y󲲲Ξ=+•JÛÛÛ1ÆË—/gûÉÏÏ×ø¶¼wï[ÂäääæææsçÎõîÝcÜÐÐ@QÔ£GBLaØ?ýôÓû÷ï#„Þ{ï=•JÿÇ?þcLQT``à‘#G0Æyyy±±±º´:fÒZÒð1V«Õ&LX³fͲe˲³³µÎâÅ‹ÓÓÓ™Á5âlmmE‘ æCˆ
…¢ªª*44T*•ÖÕÕiDrúôiŒ1ÙÙPUU¥T*ûöíÒ·o_?_}õÕÂ…»•p÷îÝŽŽŽR©ôùóç!''§}ûö-Š¸V¯^½~ýz„ÐW_}†JKK#•²páB{{ûaÆÿ>¬ªªš>}:B(666++KϤÙ	;;»Ý»w‡„„øúúþðÃZ3^YY™““Ñå~ýú!„š››œœº-#
̤µ&¤•7n4¨««‹´vÆ_~ùeRÈEi¡­­M"‘¼øâ‹zŠ
”ÆÆÆ7ß|óïÿ»µDˆÈwKëEA·±C‡ÅÄÄèzšœœ\XXxñâEbßbWQQñäÉ______ggçÄÄD…B±dÉ’¤¤¤úúz;;;¶Ÿ…jL°U:
«ªª^{íµööv„ù¿§¸ºº#„Nœ8éàà€züøq^^ž®PDÃëèèàŽüéӧ˖-;sæŒT*]»v-ÒV8r¹¼¬¬!´aí‘TVV¾ôÒKÄb袨¨hÔ¨Q^^^Ç—Édû÷ï×3 ®íÌúñC¼G°wp“˜½¼¼ÜÝ݇:qâÄ/¿üRkêÞÞÞ^^^R©T&“mß¾]«T‰„|á\Vzbªá3Xh›aÅi«P
½¢¸¸xæÌ™,Л1e¥'f݈%ïYg
à'jrº–ÿ›„7nÔÔÔ¨TªòòòÁƒ—••™)!ñqþüùßþö·d3¬ùPCÕJsss¯^½Î;§áÎܲ½råÊÜÜ\Š¢,XàççüÞ{ïaŒ™Û™5¶'w»{š µïhDÅÞ<ÎöÃŽ‡í²uëÖ   ­~T*ÕþóŸwß}7!!AkX„Pmm­®²¢a‘.QÉyŽ}ñã[·nEFFzyyùùù>|˜•.1€:Ž0¤ì)ª
{‹7B¨OŸ>cÆŒÉÏÏ7nÜ®]»ú÷ïêèè '
‘e²½{÷ÖUVtì"Ò%*Ù»Ýí¾xæænvTÝf0
V²š±æà9Ý6<Ñw=€çˆ á555ýío£i<xÐ××—ü>yò¤§§§···J¥Â?}úôáÇã „<xp÷î]„P{{{UU•³³ó¥K—H@¥RÉ>cü?ÿó?ëÖ­c¦ÎžëdGE$ññññôôìììÔê‡{V¥R;vlȐ!.\Ð凢¨Ý»w{xxàŸ×Þ¸q#™Eݶm›»»»Z­æ(+»ˆºU#ķr¹|Íš5jµZ¥R555i-á" ¾#6[8¦
…‚X•Ö®];eÊ„P~~~tttRR’»»ûŠ+èP¯¿þ:B(66ö믿fúߺukxx¸\.OHHhiia»(•Ê”””øøx⟠ácœ‘‘!“ÉBBB–,Y”öË/¿œ<y2EQ™™™¡°°°Û·okÍÂΝ;
äççWQQ¡+ïr¹\­V·µµ±ËöS__O©©‰ŠŠòöö–ÉdGŽ‰‰‰)(( V­ZE_å„1~çwBBBè=\t$´ØÕ_Ðeº€ôSñmY¥Cy{{w{õ
²|ÍÑÑ!ÔÑÑÁ…C‡ÅÄÄp‹Ým9Ð~ärù¦M›(ŠR«Õ?F%''ïܹóÚµkÑÑÑLÏï¿ÿþk¯½ýèÑ#¦;-6‡0"€ic§a¤XÑZ³lT:­´´´üãÿ°¢
V¸§‰Z±ùé²Õñ¹/
Übok! ¾#ª=°46~ƺ9°³³srr²LZµÒñÓFw
ñØ&"ËÉd3˜i晴•%îá‘ì#GG±x¢½és”mžQ…9K~899íÛ·(sÏŸ?gúïׯB¨¹¹Ùb/€±iu˜ß‡›
nLLLAA	òÁäææҏ˜lݺ5<<\.—'$$´´´ „òóó£££“’’ÜÝÝW¬XÁöÓ£400
ÛÌ5`*Ô~ÒÓÓ£££ccc>|¨ËB¨¹¹ÙÍÍí‹/¾ bŒ)Š
<räÆ8///66–ã"óÅ‹§§§3åççk;÷îÝÏ;6   **êÊ•+ãúúz„Pgg'ÆøæÍ›l¶
…bÉ’%IIIõõõvvvl?ì´vN

?~ü¿þõ/üË•p4L¢Ÿ‘ßååår¹<((h„	Ì5s4EEEE¹¸¸ìÞ½ýr]]uu5I:''q.ûÕ¯~,—ËÿùÏ—†††ñãÇûûûϘ1ƒ,5c»èäCBB‚‚‚üüü²³³™ñ3Ŧkd¢¨¸¸8™LÖÕÕÅôéå圐ðàÁ­ñ`Œ;;;]]]—-[¦ñˆéçèÑ££F9rdhhèºuë0Æ7oÞÌËË+++KMMÝ°aۏþhr„ÛàÀ`DÖìmÝÞ®ñaj㥠U°™;wnQQ‘µ¥°uuu#FŒ0S¥ß¼yÓÞÞ~ĈW¯^ŽŽ>|øpdd¤92!®7
%2 ¢ [Äýþl
[hÏ Õq6ô
4H‚ÍÝ
/\¸ÀÎlNNNiiippp¯^0£

V®\ioo/‘H^|ñE]^?ýôS¢Ï}ñÅÄåõ×_GÅÆÆN™2!vûöí­[·†‡‡Ëåò„„„––bAY»v-ñCÀgddÈd²%K– „233¹cعsç Aƒüüü***4ã~ù1cF0`ÕªU!´èPLÏD"©««#.ÌàlÁ˜™­¯¯'çZÅÄШ>øàƒÜÜ\ú¶$ùùùÑÑÑIIIîîî+V¬`ûQ*•)))ñññ̲%h}¤œ]4_~ùåäÉ“)Šb–ÞåË—ÇŒ©P(¸ëeÇŽcÇŽuwwŸ7oÆXWYi
Î,Ÿššš¨¨(ooo™LväÈvÌ´„eeet(­¢jT½0u;ÃbÐ'	
»ŒŒ

4Q@Zõ
keØuvv"„úöíûàÁƒwÞy'##CkeìÞ½{îܹ}ûöMMMýþûï‰Ý‹
}GuJJÊõë×/_¾LÜ5îÿ2dHDDÄ„	òòòš››õ‰aË–-½{÷NJJºtéÓÿÅ‹+++_ýõøøxµZ­U*Œ8\Å­+-=ƒëŒ}Ùyyy¹B¡(--%—ëSnçΝÓuÙ9í§¸¸xêÔ©Zåd?b×Uiii+W®ôôôd׸ìœÜe¤5ûr½:¹~€£¬t§­¨¨X°`±‹
´Æ¬¨ìº3l©ùÒEé?ÁðÖ¨ÑV‡yt
40@¸GB,VÆÞ-˜	¸ì\(`ÆT¬…§Dé3¦
Œÿ˜E«Ûµk—R©dºH$www///77777·Í›7k
ØÑÑQRR‚ª««ëÑ›F"‘ÔÕÕ!„ZZZÂÃÃÉUt$*•ŠQK£T*wíÚÕ³\	ºzZ¼ÁM%G-èã‡ÿðP±#€z'z@™L̺
˝WwöìY…BqÿþýÏ?ÿ|éÒ¥jŸäÔÑÕÕ5kÖ¬´´´„„f$wîÜ‘ÉdK.èr0¬xMUŒúÄ#š*ã­bGàPïø)0ÀÖºe0	 Ò	}µº;vŒ;ÖÝÝ}Þ¼ycbì)..0`ÀªU«”JeJJJ||ü”)S¸£’Ëåjµº­­
!tùòå1cÆGFF*
ÚO}}½T*%¿kjj¢¢¢¼½½e2Ù‘#Gbbb


È£U«VÑ÷´bŒßy睐E‹iD’™™‰
»}û6S¦üì<2úàƒrssB[·n
—Ëå			---EÄ|¤‘vÆÙå©Oê$ÔÚµk§L™‚1ÎÈȐÉd!!!K–,Ñ*]eeetñv+	f1êª8]M…<"&Uêè6-¶]µÀNKk±p#2V<¦X´¾ûA½Z«	”9ÀTèsÈ0À#°~444PõèÑ#„PCC¹L399¹¹¹ùܹs½{÷^¼xqzz:=Ž0ï$¥](ŠzðàAFFÆÈ‘#)Š¢(*00ðÈ‘#ã¼¼¼ØØX­7†‡‡çääÿû÷ïŸ8q"Ƹ««ËÓÓóþýû$þÔÔÔØØXµZM'ª56æ#¦üì<Ò	©T*//¯†††óçÏ{xx(•JŒñ¼yó²²²8ŠˆùH#º2ΔGŸÔI¨ÜÜ\µZÝÐЀjjjÂÓ… µÖ˜¢$ìòd‡ê¶©0›†Üi±ýpÔ;-v±p#6'=ítVǘ0+P5€e€Ö%8ô­ªÖÖÖ½{÷®[·Žùb~þü9Æø§Ÿ~Bùùù}ñÅÿT›VGprrš6mڍ70ƍ¡öövŒqeee¿~ýØjǃB­­­tTJ¥ÒÉÉ©®®îرc¿ýíoéø׬YãææVSSCûìV«cÊÏÎ#Ð©S§f̘1ÎÎÎvwwONNNNNOLLä("ڝ]gÊ£Oê$ÑET*UDDD```nn.QbtÕ³@ô‘„]žìPÝ6fÃЃ;-¶ŽZ`§Å.îb47"µê‚˅ЁZ
ÇŒãíí°~ýzqݤ]0ä8׶v[çÖª®®V(þþþR©4##C¯IlÈGC„»
û`‚½àÂ}
¯^wnÒÖÖö·¿ý-11qÎœ9\%½89öº×§—ûöíô÷÷ïé†ú#°D7à0f[±”””
6`Œ
…ƒƒÃ;wŠ‹‹CBBÈšqqqµµµ/^4hwKÍ   ÌÌL†a†imm¥…YýäÐþýû>|ˆJMMÕjµ‘‘‘›7o&jµša˜'Ož „ÔjuAAÁäÉ“1Æmmmnnn>ä©bÿà5§×$üçMHBwîÜY¶lYRR·äÒ¥K®®®c¼hÑ¢ôôtc5¦Û„¡x&''777§¥¥Mœ8‘”deeét:V­Vëîî®V«i×hK.\¸ ‘HI:µzõjZ†Žw`ðúյ܁êjµ!TSSƒ1Öét¬ñjµÚÓÓ³ªªJ8Ô´;]ì >HGÏ\ÀHîÝ»‡jmmÅ———»»»ëãž$³Q«Õã’’’àà`ÿ)S¦¨T*½–7n„„„¸»»K¥Ò£GÎœ9377—Z³fMVVÑûöí7ß|355•m”U
¨¬¬ä™Ä0Lrr²T*•Ëå¤.½»±!IŒqNNN```PPPTTTmm-©›––6uêTC^seض¸N­]»633So(xÍaŒwìØãììLÎ\žL}}}\\\DDÄÔ©Séј1cþýï·ßÍ¸\LŒÚ1lòäÉ{÷î½qã†D";vìwß}÷äÉ“Y³f‘£ùùù–––‰¤¥¥…­òøñã’’’ü‘L,,,„	‰‰‰D8%%ÅÜÜÜÉɉ•‹Å‡"×…–––èèè%K–TUUýòË/ÁÁÁ†,ç6gÈ$½effrKΞ=‹1&ÏÚ—••	Ìѹ_KouR²cÇssóØØج¬,R²råJ3³ÿ¿Îʤ¬¬,  @"‘зZhK¬­­
…µµµ€Lii)/\xýbÈZºDouWW×ñãÇOš4é7Þxë­·FŒAÄ׬Yãææ&«‹/òÜ1D;¨Ás×w1̼»‰#FXYY>|8&&æóÏ?'Iž!0ÆOž<Ù°aƒ···££#Æ8..nãƍóæÍÛºuëÒ¥KwîÜI׊]µjBH«Õ677çåå½ýöÛZ­öóÏ?¿rå
ûç?ÿùøñãO?ý”ÖðñÇ^½z•>ôðáÃÝ»w×ÔÔŒ1‚aãiÉË—/ggg—••‰ÅâÅ‹oß¾ý7Þ@‰Åbî“j<¯«ªªX™ßÿÈÄÅŧt:ÝçŸ~ùòeú:O77}úô-[¶ÜºuËÚÚ:%%E¯ÌÓ§Omll>ûì3D=Š@.SÞÞÞ^@`‰nÀbTVG~h==bĈ£G>zô(''‡µ´´Dú¡¯/ÂÜŸ+n¹N§?~ü{ï½—””´aĐX,ŽŠŠúâ‹/._¾¼dÉËéæ„/yZ­–üÑÜÜLÒ&VÞÒÒÒÓÓ3==üwȐ!Æ4jL-¶QC6›››#„0ÆVVV¤„›Ò¡ç9|øpqqqbb¢!«x–’›#ã7n(•JZæ?þã?xq`¡ûŐµt‰ÞêæææçÏŸ?}út^^Þ¾}ûÊËˉ¤L&;}úôßÿþwzØpceccÃsGoPÇ;¨Oÿ¼u,‚Kvw`mm½k×®åË—/_¾<55uРA†$G‹Å'N<qâ„H$zôèQYYÙìÙ³BáááìXâBO)
MM]\\ŠŠŠnß¾íååe¼ý£FÒ;#ba	-IOlHVǝ:Ò^“ò¾0½¬­­E3 @>7À1ê¹:GGGWW׏?þ8**júôégÏžýý÷ßår¹@{{{¥RùÑG1£Óéž>}Úi«««ËÊÊæÍ›×Ø؈"ÿÆÅÅíÝ»÷·ß~›1c†‘zL"ëvOŸ>eÑS*•çΝCmÙ²…”DDD”””üñÇ^^^^^^666lu’%455э
Ô¢æË/¿d×GiÈ,ù§Ÿ~"¿.ÆX]UUµbÅŠØØØ»wïš™™Ñ2tXôö‹€µ¼ºzcccmmmxxx^^Þ­[·ÈÅ!´uëÖªªªv£D»Ãê\õeÈJ;ùž´ëkjjjjjžÐ"÷þ4MQQQGׇ¸S#vjºÿþ·Þz‹kÆòå˧OŸ.¼^ȃ̈²³³/]º4nܸ¶¶62?aÇü³gÏBƒ
¢%Ù‰Mzzú‘#GvïÞMªpÏ C^š^8p Ýé%Ûo>¦W†žf³–8À[€±ïÀNž<ÙËËËÉÉiĈR©tÚ´iíþ–>|øûï¿5j”——×™3g:m¢D"‰‰‰ñööÎÈȘ?~dd$B(,,¬©©iñâÅdÈH™äää*“ÉØ7233Ïœ9#—Ë_zéÿ–3}}}

|||·mÛƵ0"""00·ê&\‹nÔ
…âÚµkìú(MXX˜F£™?¾¡;Ë´%‰äÊ•+ŽŽŽÉÉɯ¼òŠ­­--Cǁë5Ý/z­Õk?]½¡¡aÚ´ir¹|„	öööDÒÒÒòÈ‘#Û¶mþrí÷P':¨ïƒá-ŠîƒLóš››·nÝúÎ;ï444<xИŠööö~~~EEE¡“'O†„„è•¡§”†¦¦ï¿ÿþ¼yóf̘A9ea''´môŒhäÈ‘~~~»wï&iСC‡\\\hÉîØ¼øéå!C”JeiiiWÌ6à[tÀÿÑ“íõ 


vvv¼gfMú‘çnäúõë•••Z­¶¸¸xäÈ‘çΝë¢BÚÚµŸG·»Ó03º×!/øK¥Ò
60£wè"ê9}Bqq±R©ô÷÷Ÿ4iûÚþóø¯¨¨xõÕWíìì<<<>Œ1nmmµ··_·n­_§Ó-^¼888¸®®ŽUÂ0LDD„L&#ß7áV©®®V(þþþR©4##ƒ*--2eŠ“““³³ó„	Š‹‹1Æz%ÇŒãíí°~ýzžïz½æÊpÿ&N­ZµŠwˆ+ÃkŽ';;ûܹs			[¶l¡eÊËË}||üýýÉ}Xž=HIIÑÓ©8ý.ýuìÙ³çµ×^ëm+zœÍŠŽ?îââ"‰6mÚÄ0LönV×íîô/àÊÞï SÓvéú|L§Ó͝;÷òåË=`]_N|€G}N¥RYYY9::ö¶!=Ã0b±¸·
1
ÚÚþe¿	
t;p‚@V
¤t@»ôBV·qãÆS§N½ÿþû«®R©È(×jµä»M&77·ªèŠ¬ò>B×}Œ!77·ï
ù`$½Õ=yòÄÃÃûéÿáêêJ¶—¹wïžL&ëVÓþ¿ò>BOøXxs}ÈíºˆÞI ðA$‰ŸSUU…zðàÁäÉ“}||æΝK¶½¢KºnïPSSÓéÓ§;ªY˜êêꪪª{÷î©Õjcf¡=aƒ^ع1²¾ðúë¯wî, ÍõÚÁÁ!66–ÞÀ¦£Ðù¤t€ñ•Õq/"‘H¥RaŒ—.]*“É
ÅŠ+È¡;w)•Ê9sæÔÕÕ‘ZëÖ­›6m«jáÂ…¡ððð_ýõêÕ«cÇŽ•Ëå!!!UUUzåiµwïÞ%[l-_¾!xóæM„PQQ‘¯¯¯­­íÚµk4†À­È*×ë Ïò€€€ü!D>ObÆÍÍí×_‰D<Ã)Ñka‡|dkÑÆÓ=HJöîÝ;|øp©TZRRbdкq0èµaÏž=ãƍsqqY´h¹œñ”Ó%†â___/dFI	Ó†Îízј~Mç&
ÏqwwG-_¾|ÆŒåååÆ
Û´i“ޒGg­6z¨‰ÎahnLÖƌӕ˜p½–ËåcÆŒÉËË낱üGè Ÿ:Œ1Ÿ*æsçŽZ­FÕÔÔ`Œu:ÆøÒ¥K®®®c¼hÑ¢ôôtR+++‹°
Ãøùù;vcœ®WސZLíEW[[{ñâÅAƒi]‘ÕI;ÈB[ž’’²aÃŒ±B¡ppp¸sçNqqqHH­_@‰€…FúÈÖ¢§{”$''777§¥¥Mœ8±CAë–Á@Û@Œg†ì€©V«iåt‰¡øyÙ²eIII\Gøã~
üœƒ@VGÏrrrПyðàÆxܸq¾¾¾¡¡¡¿üòÆøîÝ»¡ÖÖVŒqEE………]bÈîtˆ;]a­*((˜<y2ÆX«Õº»»«ÕjúâIOÀ.\¸ ‘HÈY³téÒÕ«WÓ2†¼ãYÈ›Ðò&lYÝþýû>|ˆJMMÕjµ‘‘‘›7oƆ'Ãt§è«óàu¢N§›4iRZZÚªU«È¹´ãíNëëëB¤ŠñÀ	t#/¡ŽÀ>1`nn~þüùÓ§OçååíÛ·¯¼¼ÜÒÒÒÓÓ3==2¤¥¥!dfÖ±G÷xò†ÔÒXZZ¢çË×2†[‘…vА͓&Mzã7Ž==bĈ£G>zôˆ½ðéÕoáp	û(`<{ˆ÷̇¹¹9BcleeÕÑì®ÁÀµA§Ó?þ½÷ÞKJJÚ°aƒ^å¼áøÓ3š››ÉÃ’ `ŒÑóqEþÅpߧ#‘]çYRRRRRRhÉŸ~ú	cü駟FFFÞ¾}›wF`ŒéCîرÃÜÜ<666++‹”¬\¹’[=::zÉ’%UUUeee‰D¥Rñ”œ={cLÞl(++Óh4ÖÖÖ
…ÂÚÚZ@æøñãz½ã‘ŸŸoii)‘HÈé/‹:ÄNPY±üãäFóñãÇB‰‰‰d¦¤¤˜››;99ùǏ—••Íž=!Î^aÚmšnˆ,àq133ËÏÏW(^^^ÿú׿ô:^ZZÊëhƒFÕÖÖ¹M"¼t;F¥\$¡yúôivv6)ill¬­­
ÏËË»uëVmmmDDDIIÉüáåååååÕî£ööö~~~EEE¡“'O†„„èPKRœ¦¦¦Õ2ÚAË]]]?þø㨨¨éÓ§Ÿ={ö÷ß—Ëå]w¿s>ÒÆÓ=ÈåË/¿œ5k–‘Aë‰ÁÀÚP]]]VV6oÞ¼ÆÆF¢™VN—Š¿p•Jå¹sçB[¶li×¼
èÇáéÂΝ;E†,>!„D"Ñ¢E‹~ÿý÷êêêQ£FY[[“õ¹û÷ï{zzÒ%†ÌàN‡H	/#‹ÅQQQ‡>pà@bb¢^%ì,ÙÂ"

644ˆD¢#F´k0|²è!ŒÊꜜœBCCe2y“
ï¶Ùïµµµ!tæÌ;;;{{û—^z)::úóÏ?G}ùå—sçÎ¥K<hÈ*22t4...//履~"ë[4ô,::ºªªjÅŠ±±±wïÞ533£ey'
}Á ]Èüý/Ü–}ÁÔ×ׇ……½°æÊËËCCC-,,fÍšµ|ùò)S¦¼°¦û;ãÏ?ÿœ›ÒÁ÷„¬Õ
x£0mèq/C
ÙêkB‘Häâââîîîèèèèè¸}ûv½blL:‘HD¶ª««

"[\³J„]ë¡þú5ì×’ØÈí
T!.\¸PUUõðáÃ#GŽ¬\¹R8‘ê\ÚÚÚþö·¿%&&Ι3‡«¤+fXºLXœúÆfu{öì7nœ‹‹Ë¢E‹0ÆdQ§¨¨È×××ÖÖvíÚµ&>>>22rÚ´i¼ºã¥K—Êd2…B±bÅ
ôç…%²hDJöîÝ;|øp©TZRRB—°
gÍšµoß>ò÷Úµk³³³ïÞ½K6°¢
Cåää̘1#66ÖÅÅåƒ>`õ,_¾!xóæM„·«6^oõ«W¯Ž;V.—‡„„TUUÓBhçΝAAAJ¥rÎœ9uuu†‚¯T*u:]CCBÈPC¬Á¡ÊÊÊÐÐP™LvìØ1:\l¿¼ýöÛ
…âÝwßå)ᙍÒÛ¿¼QA{Dºã“O>1bÄÂ…Ož<I +**ˆž;z»èÀÒ`2ÀâП0r
µZÍ0Ì“'OBjµšì²W[[{ñâÅAƒ-[¶,))‰ëÜ­TÔj5B¨¦¦c¬Óé°¾maHIrrrsssZZÚĉ
•`Œ

&OžŒ1nkksss{øð!o'®a.\H$$?[½z5k˜@-öm<]a??¿cÇŽaŒ³³³ÃÃÍiâÒ¥K®®®d E‹¥§§s•“°0óèÑ£¥K—z{{3C7¤w    ÌÌL"ßÚÚJ‡‹èOHHç:¥WAoÿòFíѳÿ~²ùwjjªV«ŒŒÜ¼y³Þ¸ÑQjo`ýƒN_y
…µµu»>rkuÈøǏ—••‘ý³ÃÃÃÉöÏí6qöìYŒqRRR||üµk×®^½Ê=z´™™™§§ç­[·Nœ8!‰ŒièñãÇ%%%ÉÉÉd~iaaa(\...ÿþ÷¿oß¾ÝndBzû—7*y”˜˜HMII177wrr"6äŽÞŽ
ôÀƒ•9 ÿbTV'‘Hbbb¼½½322æÏŸIËdffž9sF.—¿ôý¯¡¡aÚ´ir¹|„	öööNNN¡¡¡2™Œ}ÀŸàáá¡P(®]»Fnêé-!„……555-^¼˜,æ	åÊGGÇäääW^yÅÖÖ–{("""00·d(l<]]§Ó}öÙg›6m’Ëå'OžÜµk—1Møúú$$$øøønÛ¶MØ„H$2Ô—Çÿý÷£Fòòò:sæ2.‘H´uëÖ±cÇΚ5«¾¾^ÀlºéQÑQŒt0aàÎ,Ð[ÀVÀ$é+{K¨TªÑ£Gs¡K¸<{öÌÝÝýçŸn÷eEE…¹¹ùèÑ£ýõ×3f=zt
˜õ¶

ŠŠŠª­­e&99Y*•ÊåòÔÔT½ª¸g1ƒ-©¯¯‹‹‹ˆˆ˜:uªðàG1Ãþ—öBÀ/¶9k‰Ìž={†
æååU\\LJÒÒÒ¦NÊj˜9sfnn.©²víÚÌÌL½
^”0Æ;v싉‰qvv^½z5-c|(
½òÄ„„„‡‡ûúú644ÂK—.¹ººj4Œñ¢E‹ÒÓÓÕj5B¨¦¦c¬ÓéôªÈê–-[–””Ä=”““Û´“gܸq¾¾¾¡¡¡¿üò‹^/üb›°–È$''777§¥¥Mœ8‘”deeét:VCAAÁäÉ“1ÆZ­ÖÝÝ]­VÓ":J.\H$ã¥K—®^½š–¡CadÏ€éÑ¥;°ä©ˆ½{÷>\*•–”” „®^½:vìX¹\RUUEdŠŠŠ|}}mmm×®]ËVÇ/]ºT&“)Š+V ??!‰È³,•••¡¡¡2™ìرczKvîܤT*çÌ™CVãxš.\ˆ
ÿúë¯é&höìÙ3nÜ8—E‹aŒiÖ/_Ž
$wgxò졃ÀV?wîœD"!ši¿xfè­e|ÀY:d¼¡ÞW*•:®¡¡¶•¹{÷®!ïfÍšµoß>rhíÚµÙÙÙì¨xûí·
Å»ï¾ËSÂ3!¤Ñhâãã###§M›f¨ïuÇ'Ÿ|2bĈ…ž<yÒÅÅÅÝݽ¢¢¢Ó!ffº`bŸp‰Dûöí;uêÔŽ;†B
Ïž=‹1NJJŠ¿víÚÕ«WG5~üøI“&egg×ÖÖvÔ˜¢¢¢°°0nIJJ
ïúîèèˆú駟JKK.\©Óéh/Œñ«]kwìØ1hРØØØ+W®’•+Wr5GGGWUU9s&  €½2p¡£tñâE…Bamm- C‡
Ož<9gÎœ—_~™œò<¸ð®<®®®ÇÇët:$¸VGhnnFÝ¿ŸöBÀ/îIgÈZ®Ìo¿ýfkkË-áþ½páÂ-[¶¼þú뼇+Ø?è(íÞ½[¡P`Œ†	[½z5-C‡B°?À”éLVÇ0÷ú¢Õj1Æ×®]³´´¬®®F‘ÕòÒÒÒÁƒ™––ŒñíÛ·¹z´Zíøñãýüü²²²HF'O=BqoóÑ%...qqqqqqAAAÑÑÑ´fÜÁ¬®¾¾þàÁƒëׯo·í m-C_Îh¿Ì`ÿèPÀé5ÆxnEö×B,Ïœ9óúõë6{§ÑhÄb±J¥:qâÄ_ÿúWVZZš££cee¥!k¹öH¥Ò¯¾úŠÛ/tÐuyÒ=¿/ÿÎ;ï¬_¿¾Ó!Ln¢°`Á‚7bŒß~ûíÕ«Wk4š´[c\VVfccsåÊò_FóìٳǏãçgÇ£Ghm÷îÝ#Tò÷"0gÎœeË–aŒ322„S2t¿þúk;;;’ñ¼Ð[B`›£­¥e0Æ~øall¬¡¬îÔ©SžžžnnnÄúÔ¦£¤V«‡šššúúë¯ûøø¬Y³†–1>
©Tš‘‘1f&44ÔÎÎ.??Ÿý¹­¨¨xõÕWíìì<<<>¬·¤°°p̘1ÞÞÞëׯ§5cNÆÀk‚¾$1cgg—0þ|OOOºÃ02™¬²²’vg½Õy~é5ƒ®ÕnÀõ:h¼ñ.în²Û4Ýk­­­öööëÖ­£õëtºÅ‹×ÕÕqSXbv[[‘///÷ñññ÷÷ÏÌÌdû…4áî ³ºa
*•ÊÊÊŠ|R
7BÜoZ[[­¬¬nݺ…1þî»ï¼½½é^/›Úi—
Mß¹¾ód„'åô
=xxݧwؐ£¦ï,u
ÉVÈ×®]³´´äŠ±ƒS£ÑˆÅb•Jõí·ßFEEa}󴌌—¸¸¸¸¸¸   èè謬¬×^{4D²:ZF¯DgKKÆøöíÛìÅíàÁƒëׯç]ô>üðCrççøñãwžïˆHâpûömÌÙŽÏPL¸q£›ÖÛ¦®½ãÊÊJkkk¹\ÞÜܬ7 R©”lñŒ!«L”ŽeuôLc”™™IRŠÖÖVlxJGÏ;ÛÚÚÜÜÜ>|ȶ¥V«Bd÷wÞuMxîKOËhU´G›’
duÂsÁqãÆùúú†††þòË/ã»wï"„HÐ***,,,è^£Â¦vÎeé»À2€ð¤œ^hwéBoØÉQÓ7—:€ŒpVÇæþöÛo¶¶¶Üîß.ܲeË믿^XXˆõeuÙÙÙ“'O®|ŽZ­Þ½{·B¡À3¶zõjZF¯´
Z­ÖÏÏ/77—<ÄÆK§ôVDÔ&Ë1ikk£ÕÞ1°“5W?÷è7ß|ãäääããÓÔÔ¤7 ®®®$#ÔétÕ&IǾlòøñã²²²Ù³g#„ÂÃÃϝ;÷øñã’’’ääd‘H$‰,,,Bb±øСC999dÊE뉎Ž...®ªªúöÛoƒƒƒØC£F?~ü¤I“²³³kkk…['å+W®433;{ö,Æ8)))>>þÚµkW¯^PÅ#??èС‰„XÛ®ý	lÏõÓO?•––.\¸022R§Ó™™ý)þcº¤C¦vÎe:t´¼!™ÄÄDÒ})))æææNNN܈íرcРA±±±W®\î>ÚîQC7ÄSK`5œ9s&  @"‘ããÅ‹
…µµu»q
‡B«"WrÕ‰DFÚÏ¢Õjy%ÍÍÍÄnL¸ˆD¢E‹ýçþguuõ¨Q£¬­­ïÞ½ëééyÿþ}OOOº¤C¦vÎe:tzåy2$ñ"¸p177GaŒ­¬¬ôšžwŸ¡°³	Ÿ¡c¨!^~L4>|¸¸¸811Q¯%´………dec|ãÆ
¥RiL¬
‡


•Éd[·nh:"""00°´´ô¥—þfmܸ1>>ÞÓÓóÀsçÎ}å•WxÎfffΝ;W.—ÇÇÇwÔx
³ÕïÝ»‡ª©©Ù´iúó]€9sæ,[¶cœ‘‘¨~ò°È×_mggGn³.X°`ãƍã·ß~›<¶E—ðzAÀÔιL‡Ž®EËßjáýðÃccc…»O`غ!C7°N:åéééææF"OKÚGµZ=tèÐÔÔÔ×_ÝÇÇgÍš5±€N`èöb·pýúõÊÊJ­V[\\<räÈsçÎõPC

²¿Í·ß~ëããccc³fÍŒñîݻǎëììÏ0ŒÞ=pHáöíÛ‡¾`Á‚o¾ùÆÙÙÙÍÍíúõëD ¤¤$88ØßßÊ”)*•ŠÞŠn:::!PYYÉ6´`Á„¯¯ï‰'ˆ†íÛ·+Š––F#•JoÞ¼‰1ÎÉÉ	

ŠŠŠª­­­¯¯‹‹‹ˆˆ˜:u*iŽëuvï
?wMjèONš™åççoÛ¶­¨¨håÊ•¡³gÏbŒ“’’âãã¯]»võêÕ¢¢¢°°°ÎE
@V
@V
@V
@V
@V
@V
ü?܆<˜KNzé
--- NEW FILE: polkit-spec.html ---
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/loose.dtd">
<HTML
><HEAD
><TITLE
>PolicyKit 0.1 Specification</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.79"></HEAD
><BODY
CLASS="book"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><DIV
CLASS="BOOK"
><A
NAME="index"
></A
><DIV
CLASS="TITLEPAGE"
><H1
CLASS="title"
><A
NAME="AEN2"
>PolicyKit 0.1 Specification</A
></H1
><H3
CLASS="author"
><A
NAME="AEN7"
></A
>David Zeuthen</H3
><DIV
CLASS="affiliation"
><DIV
CLASS="address"
><P
CLASS="address"
><br>
	&nbsp;&nbsp;&nbsp;&nbsp;<CODE
CLASS="email"
>&#60;<A
HREF="mailto:david at fubar.dk"
>david at fubar.dk</A
>&#62;</CODE
><br>
	&nbsp;&nbsp;</P
></DIV
></DIV
><SPAN
CLASS="releaseinfo"
>Version 0.1<BR></SPAN
><HR></DIV
><DIV
CLASS="TOC"
><DL
><DT
><B
>Table of Contents</B
></DT
><DT
><A
HREF="#introduction"
>Introduction</A
></DT
><DD
><DL
><DT
><A
HREF="#AEN15"
>About</A
></DT
></DL
></DD
><DT
><A
HREF="#privileges"
>Theory of operation</A
></DT
><DD
><DL
><DT
><A
HREF="#AEN20"
>Privileges</A
></DT
><DT
><A
HREF="#AEN26"
>Architecture</A
></DT
><DT
><A
HREF="#AEN37"
>Example</A
></DT
></DL
></DD
></DL
></DIV
><DIV
CLASS="chapter"
><HR><H1
><A
NAME="introduction"
></A
>Introduction</H1
><DIV
CLASS="sect1"
><H2
CLASS="sect1"
><A
NAME="AEN15"
>About</A
></H2
><P
>&#13;	PolicyKit is a system for enabling unprivileged desktop
	applications to invoke privileged methods on system-wide
	components in a controlled manner.
      </P
></DIV
></DIV
><DIV
CLASS="chapter"
><HR><H1
><A
NAME="privileges"
></A
>Theory of operation</H1
><DIV
CLASS="sect1"
><H2
CLASS="sect1"
><A
NAME="AEN20"
>Privileges</A
></H2
><P
>&#13;	One major concept of the PolicyKit system is the notion of
	privileges; a <I
CLASS="emphasis"
>PolicyKit privilege</I
>
	(referred to simply as
	<I
CLASS="emphasis"
>privilege</I
> in the following) is something
	that a given user may or may not possess. The thinking behind
	PolicyKit is that privileged system level components offer
	functionality to unprivileged desktop applications as D-BUS
	method calls through the system message bus. In order to have
	a flexible security policy defining the set of users that are
	allowed to invoke a method, the system level component defines
	a set of
	<I
CLASS="emphasis"
>privileges</I
>. 
      </P
></DIV
><DIV
CLASS="sect1"
><HR><H2
CLASS="sect1"
><A
NAME="AEN26"
>Architecture</A
></H2
><P
>&#13;	The PolicyKit system is basically client/server and is
	implemented as the
	system-wide <TT
CLASS="literal"
>org.freedesktop.PolicyKit</TT
> D-BUS
	service. This D-BUS service serves two purposes
      </P
><P
></P
><UL
><LI
><P
>&#13;	    System-level components may used D-BUS methods on this
	    service to determine if a given caller of their methods
	    are privileged.
          </P
></LI
><LI
><P
>&#13;	    Desktop level applications may initiate a dialogue with
	    this service to (temporarily) obtain a privilege through
	    authorization.
          </P
></LI
></UL
><P
>&#13;	In addition, the PolicyKit system includes client side
	libraries and command-line utilities wrapping the D-BUS API of
	the <TT
CLASS="literal"
>org.freedesktop.PolicyKit</TT
> service.
      </P
></DIV
><DIV
CLASS="sect1"
><HR><H2
CLASS="sect1"
><A
NAME="AEN37"
>Example</A
></H2
><P
>&#13;	As an example, HAL exports the method <TT
CLASS="literal"
>Mount</TT
>
	on the
	<TT
CLASS="literal"
>org.freedesktop.Hal.Device.Volume</TT
> interface
	for each hal device object of
	capability <I
CLASS="emphasis"
>volume</I
>. HAL defines a number
	of privileges for mounting
	including <I
CLASS="emphasis"
>hal-storage-fixed-mount</I
>
	and <I
CLASS="emphasis"
>hal-storage-removable-mount</I
>. Depending
	on the whether the volume stems from a fixed hard disk or a
	hotpluggable/removable drive, HAL requires the calling user to
	possess either
	the <I
CLASS="emphasis"
>hal-storage-fixed-mount</I
>
	or <I
CLASS="emphasis"
>hal-storage-removable-mount</I
> privilege
	in order to carry out the <TT
CLASS="literal"
>Mount</TT
> method. 
      </P
><P
>&#13;	Upon a user invoking the <TT
CLASS="literal"
>Mount</TT
> method, HAL
	simply asks the <TT
CLASS="literal"
>org.freedesktop.PolicyKit</TT
>
	D-BUS service if the calling user posses this privilege and if
	this is not the case the <TT
CLASS="literal"
>Mount</TT
> method
	throws
	the <TT
CLASS="literal"
>org.freedesktop.Hal.Device.PermissionDeniedByPolicy</TT
>
	exception. Notably, this exception will tell the caller what
	privilege the calling user needs to possess,
	e.g. either <I
CLASS="emphasis"
>hal-storage-fixed-mount</I
>
	or <I
CLASS="emphasis"
>hal-storage-removable-mount</I
>.
      </P
><P
>&#13;	Should the <TT
CLASS="literal"
>Mount</TT
> method fail with the
	exception <TT
CLASS="literal"
>PermissionDeniedByPolicy</TT
> the
	caller now knows what privilege is required. The caller can
	now initiate a dialogue with the <TT
CLASS="literal"
>PolicyKit</TT
>
	service to obtain this privilege. This conversation is
	basically equivalent to a PAM authentication; in fact the 
	<TT
CLASS="literal"
>PolicyKit</TT
> service uses PAM under the hood
	and wraps it in D-BUS calls. For details (like what user to
	authenticate as) see XXX. When the caller obtains the
	privilege (after successful authentication) he can now
	invoke <TT
CLASS="literal"
>Mount</TT
> and after this succeeds he may
	tell the <TT
CLASS="literal"
>PolicyKit</TT
> service to release the
	privilege for the user as it is no longer needed.
      </P
><P
>&#13;	Hence, <TT
CLASS="literal"
>PolicyKit</TT
> has the notion of
	both <I
CLASS="emphasis"
>permament</I
>
	and <I
CLASS="emphasis"
>temporary</I
> privileges. The latter may
	even be restricted such that only callers from the D-BUS
	connection (remember, D-BUS connections has unique names)
	obtaining the privilege may use the obtained privilege.
      </P
><P
>&#13;	<IMG
SRC="polkit-arch.png">
      </P
><P
>&#13;	The whole example is outlined in the diagram above.
      </P
></DIV
></DIV
></DIV
></BODY
></HTML
>
--- NEW FILE: polkit-spec.xml.in ---
<?xml version="1.0" encoding="ISO-8859-1"?>
<!-- CVSID: $Id: polkit-spec.xml.in,v 1.1 2006/03/29 02:18:56 david Exp $ -->
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<!-- THIS FILE IS AUTOGENERATED FROM polkit-spec.xml.in -->

<book id="index">
  <bookinfo>
    <title>PolicyKit 0.1 Specification</title>
    <releaseinfo>Version 0.1</releaseinfo>
    <date>March 28th, 2006</date> <!-- Update this manually -->
    <authorgroup>
      <author>
	<firstname>David</firstname>
	<surname>Zeuthen</surname>
	<affiliation>
	  <address>
	    <email>david at fubar.dk</email>
	  </address>
	</affiliation>
      </author>
    </authorgroup>
  </bookinfo>
  
  <chapter id="introduction">
    <title>Introduction</title>

    <sect1>
      <title>About</title>

      <para>
	PolicyKit is a system for enabling unprivileged desktop
	applications to invoke privileged methods on system-wide
	components in a controlled manner.
      </para>

    </sect1>
  </chapter>

  <chapter id="privileges">
    <title>Theory of operation</title>

    <sect1>
      <title>Privileges</title>

      <para>
	One major concept of the PolicyKit system is the notion of
	privileges; a <emphasis>PolicyKit privilege</emphasis>
	(referred to simply as
	<emphasis>privilege</emphasis> in the following) is something
	that a given user may or may not possess. The thinking behind
	PolicyKit is that privileged system level components offer
	functionality to unprivileged desktop applications as D-BUS
	method calls through the system message bus. In order to have
	a flexible security policy defining the set of users that are
	allowed to invoke a method, the system level component defines
	a set of
	<emphasis>privileges</emphasis>. 
      </para>

    </sect1>

    <sect1>
      <title>Architecture</title>

      <para>
	The PolicyKit system is basically client/server and is
	implemented as the
	system-wide <literal>org.freedesktop.PolicyKit</literal> D-BUS
	service. This D-BUS service serves two purposes
      </para>


      <itemizedlist>
        <listitem>
	  <para>
	    System-level components may used D-BUS methods on this
	    service to determine if a given caller of their methods
	    are privileged.
          </para>
	</listitem>

        <listitem>
	  <para>
	    Desktop level applications may initiate a dialogue with
	    this service to (temporarily) obtain a privilege through
	    authorization.
          </para>
	</listitem>
      </itemizedlist>

      <para>
	In addition, the PolicyKit system includes client side
	libraries and command-line utilities wrapping the D-BUS API of
	the <literal>org.freedesktop.PolicyKit</literal> service.
      </para>

    </sect1>

    <sect1>
      <title>Example</title>

      <para>
	As an example, HAL exports the method <literal>Mount</literal>
	on the
	<literal>org.freedesktop.Hal.Device.Volume</literal> interface
	for each hal device object of
	capability <emphasis>volume</emphasis>. HAL defines a number
	of privileges for mounting
	including <emphasis>hal-storage-fixed-mount</emphasis>
	and <emphasis>hal-storage-removable-mount</emphasis>. Depending
	on the whether the volume stems from a fixed hard disk or a
	hotpluggable/removable drive, HAL requires the calling user to
	possess either
	the <emphasis>hal-storage-fixed-mount</emphasis>
	or <emphasis>hal-storage-removable-mount</emphasis> privilege
	in order to carry out the <literal>Mount</literal> method. 
      </para>

      <para>
	Upon a user invoking the <literal>Mount</literal> method, HAL
	simply asks the <literal>org.freedesktop.PolicyKit</literal>
	D-BUS service if the calling user posses this privilege and if
	this is not the case the <literal>Mount</literal> method
	throws
	the <literal>org.freedesktop.Hal.Device.PermissionDeniedByPolicy</literal>
	exception. Notably, this exception will tell the caller what
	privilege the calling user needs to possess,
	e.g. either <emphasis>hal-storage-fixed-mount</emphasis>
	or <emphasis>hal-storage-removable-mount</emphasis>.
      </para>

      <para>
	Should the <literal>Mount</literal> method fail with the
	exception <literal>PermissionDeniedByPolicy</literal> the
	caller now knows what privilege is required. The caller can
	now initiate a dialogue with the <literal>PolicyKit</literal>
	service to obtain this privilege. This conversation is
	basically equivalent to a PAM authentication; in fact the 
	<literal>PolicyKit</literal> service uses PAM under the hood
	and wraps it in D-BUS calls. For details (like what user to
	authenticate as) see XXX. When the caller obtains the
	privilege (after successful authentication) he can now
	invoke <literal>Mount</literal> and after this succeeds he may
	tell the <literal>PolicyKit</literal> service to release the
	privilege for the user as it is no longer needed.
      </para>

      <para>
	Hence, <literal>PolicyKit</literal> has the notion of
	both <emphasis>permament</emphasis>
	and <emphasis>temporary</emphasis> privileges. The latter may
	even be restricted such that only callers from the D-BUS
	connection (remember, D-BUS connections has unique names)
	obtaining the privilege may use the obtained privilege.
      </para>

      <para>
	<inlinegraphic fileref="polkit-arch.png" format="PNG"/>
      </para>

      <para>
	The whole example is outlined in the diagram above.
      </para>

    </sect1>
  </chapter>
  
</book>




More information about the hal-commit mailing list