PERFORCE change 215204 for review
Brooks Davis
brooks at FreeBSD.org
Wed Aug 1 00:21:24 UTC 2012
http://p4web.freebsd.org/@@215204?ac=10
Change 215204 by brooks at brooks_ecr_current on 2012/08/01 00:21:21
Add a show sandboxes toggle that lets you see what areas are
derived from data generated in a sandbox.
Affected files ...
.. //depot/projects/ctsrd/beribsd/src/ctsrd/browser/browser.c#17 edit
.. //depot/projects/ctsrd/beribsd/src/ctsrd/browser/images/browser.png#5 edit
Differences ...
==== //depot/projects/ctsrd/beribsd/src/ctsrd/browser/browser.c#17 (text+ko) ====
@@ -64,11 +64,17 @@
#define vred(v) fb_colour((v), 0, 0)
#define vgreen(v) fb_colour(0, (v), 0)
#define vblue(v) fb_colour(0, 0, (v))
+#define vyellow(v) fb_colour((v), (v), 0)
+#define vcyan(v) fb_colour(0, (v), (v))
+#define vmagenta(v) fb_colour((v), 0, (v))
#define black vwhite(0)
#define white vwhite(0xFF)
#define red vred(0xFF)
#define green vgreen(0xFF)
#define blue vblue(0xFF)
+#define yellow vyellow(0xFF)
+#define cyan vcyan(0xFF)
+#define magenta vmagenta(0xFF)
/*
* Each file is displayed in a 266x40 box:
@@ -119,6 +125,9 @@
#define SB_MINROW (fb_height - 38)
#define SB_MAXROW (fb_height - 1)
+#define SB_SHOW_MINCOL 606
+#define SB_SHOW_MAXCOL 793
+
/* Start offsets for browser columns */
const int colstart[] = {0, 267, 534};
@@ -179,6 +188,15 @@
{ 0, 0, 0, 0 }
};
+static int sbshow = 0;
+
+/*
+ * baseimage is the black and white background image with any disabled
+ * protection modes grayed out. After init_bgimage() runs it will not
+ * be modified. bgimage starts equal to baseimage and is updated as
+ * the sandbox mode changes and showing sandboxes is toggled.
+ */
+static u_int32_t *baseimage;
static u_int32_t *bgimage;
static u_int32_t *icons;
static magic_t magic;
@@ -433,7 +451,10 @@
bgimage = malloc(sizeof(u_int32_t) * fb_height * fb_width);
if (bgimage == NULL)
err(1, "malloc");
- read_png_file(BASEIMG, bgimage, fb_width, fb_height);
+ baseimage = malloc(sizeof(u_int32_t) * fb_height * fb_width);
+ if (baseimage == NULL)
+ err(1, "malloc");
+ read_png_file(BASEIMG, baseimage, fb_width, fb_height);
for (sb = 0; sbdata[sb].sbtype != 0; sb++) {
if (sbdata[sb].enabled)
@@ -441,10 +462,13 @@
for (j = SB_MINROW; j < SB_MAXROW; j++) {
for (i = sbdata[sb].bcol; i <= sbdata[sb].ecol; i++) {
pixel = (j * fb_width) + i;
- bgimage[pixel] = vwhite(((bgimage[pixel] >> 24) & 0xFF) / 2);
+ baseimage[pixel] = vwhite(
+ ((baseimage[pixel] >> 24) & 0xFF) / 2);
}
}
}
+
+ memcpy(bgimage, baseimage, sizeof(u_int32_t) * fb_height * fb_width);
}
static void
@@ -464,22 +488,33 @@
for (j = SB_MINROW; j < SB_MAXROW; j++) {
for (i = SB_MINCOL; i <= SB_MAXCOL; i++) {
pixel = (j * fb_width) + i;
- if (bgimage[pixel] != black) {
- /* XXX: Assuming we're either blue or white */
- value = (bgimage[pixel] >> 24) & 0xFF;
- if (value == 0) {
- printf("unexpected zero value, pixel %08x\n",
- bgimage[pixel]);
- value = 0xff;
- }
+ if (baseimage[pixel] != black) {
+ value = (baseimage[pixel] >> 24) & 0xFF;
bgimage[pixel] = (i >= bcol && i <= ecol) ?
vblue(value) : vwhite(value);
}
}
+ for (i = SB_SHOW_MINCOL; i <= SB_SHOW_MAXCOL; i++) {
+ pixel = (j * fb_width) + i;
+ if (bgimage[pixel] != black) {
+ value = (baseimage[pixel] >> 16) & 0xFF;
+ bgimage[pixel] = (sbtype == SB_NONE) ?
+ vwhite(value / 2) : (sbshow ?
+ vyellow(value) : vwhite(value));
+ }
+ }
}
fb_post(bgimage);
}
+static void
+toggle_sbshow(void)
+{
+
+ sbshow = (sbshow + 1) % 2;
+ update_sandbox(sbtype);
+}
+
static const char *
get_desc(int dfd, struct dirent *entry)
{
@@ -555,6 +590,10 @@
fb_post_region(textbuf, colstart[(s/NROW)] + TEXT_OFFSET,
FROW + (RHEIGHT * (s % NROW)) + BORDER, TEXTSPACE,
CHAR_HEIGHT);
+ if (sbshow && sbtype != SB_NONE)
+ fb_fill_region(yellow, colstart[(s/NROW)] + BORDER - 1,
+ FROW + (RHEIGHT * (s % NROW)) + BORDER - 1,
+ ICON_WH + 2, ICON_WH + 2);
fb_post_region(icon, colstart[(s/NROW)] + BORDER,
FROW + (RHEIGHT * (s % NROW)) + BORDER, ICON_WH, ICON_WH);
}
@@ -595,7 +634,8 @@
} else {
if (ts->ts_x1 >= SB_MINCOL &&
ts->ts_x1 <= SB_MAXCOL) {
- for (i =0 ; ts->ts_x1 < sbdata[i].bcol ||
+ for (i = 0;
+ ts->ts_x1 < sbdata[i].bcol ||
ts->ts_x1 > sbdata[i].ecol; i++)
/* do nothing */;
assert(sbdata[i].sbtype != 0);
@@ -605,6 +645,11 @@
update_sandbox(sbdata[i].sbtype);
return (ACT_REFRESH);
}
+ if (ts->ts_x1 >= SB_SHOW_MINCOL &&
+ ts->ts_x1 <= SB_SHOW_MAXCOL) {
+ toggle_sbshow();
+ return (ACT_REFRESH);
+ }
}
} else if(ts->ts_gesture == TSG2_ZOOM_OUT) {
if (ts->ts_count != 0)
==== //depot/projects/ctsrd/beribsd/src/ctsrd/browser/images/browser.png#5 (text+ko) ====
@@ -1,10 +1,46 @@
PNG
--È2¼¿?ø#ã9Ã&¼@ü|ªª±ûíî·OÆþÞ*""-÷üò¿,ûRÉ{î¹'"VÜ´å[®ÑúPÊ{@-äé§(ÊÊÊ:g?V¶lÙ²xî¹çÓn³Í61hÐ 8õÔSãg?ûY\{íµ1kÖ¬={vlµÕV1cƸ뮻Öhý×kkkcÔ¨Q%몪b·Ýv¶mÛFÛ¶mãàã?>FùûÀæiKáÈÙg]v|óæÍÓUW]UüÕëÂ/Ü j-¶(û\®ZÕò·Ùf´×^{¥êêê47t|¤àÈ#¬·½3 _ÔXüÌ{î¹´ÓN;´©ªªJwÜqGJ)¥ÚÚÚU~¶R}ö±í×÷7ß|sÖ£pdîܹõ¶©¨¨H={öLÓ§OO)¥ôÊ+¯´qD)¥¾µÞoBÿì³Ïâk®¿ÿýïqäG®ïEl6fΣGÉ'oì®dõÔSOEDÄí·ßM4ÙȽÙôýêW¿×ÔvØaeï¡Z¶lY\vÙeññÇGeee0 w7×É×uXSÿÉÛþËRJñÏþ³ØÿýöÛ/5k¶{ÀÆ°Î`Î?þñ8â#¢sçÎÅaûï¿zê©ñÊ+¯Ä<gyfqÆñÎ;ïÄE]Tl׺uë¸øâãßøFtéÒ%¦Lo¼ñFüú׿I&Ûýð?.]ºÿ{àÀ±`ÁøùÏ^çfÇ8í´ÓâànݺÅ)Sbøðáñè£Æ)SÊö»í¶K.¹$zôè»í¶[L:5F555ÅKV·ü<08â7n\Üÿýu濦ëXpýõ×Ç[l_~yl¹åqöÙgÇþûï[n¹e¼úê«ñཡ]»vѯ_¿¸÷Þ{cáÂ
å7ØztÑEÅ?þñèСC\yåqÅW¬Õô¹>uûn¬OÇ{l|ðÁqåW®òrÅùóçÇbÐ A±ï¾ûF³fÍbÁÅñmÛ¶óÏ??ºwï;ì°CÌ93&Lüãã¥^ª3¯-[Æ%\-o¼1öÙg8î¸ãâÈ#
Æ+¯¼¿þõ¯®¬²²2Î<óÌøö·¿»í¶[Ì??FûÛßâñǯÓvUûÀìc+~Ä8ꨣâõ×_!Cô稣#<2F>ø`qxá{qÝu×EãÆãÄO
o}ë[1cÆxäGbØ°a±páÂØe]⬳Î^½zEeeeüãÿ»ï¾{oÿõ¹í7'¯½öZD|qYÖo¼±{ÀÆ°V§LVw V¡~ûÛߦR1bDqعçRJéî»ïN×\sMñÒaÃÛôìÙ3M4©8nñâÅÅ¿?ûì³tÞyçÛ>õÔS%ý¤ê\Æ°ÕV[¥G}´l»Ù³g§~ýúô½wïÞéÃ?,¶[¾|yñïO?ý4í¹çk´üúnÀ]u,Ô§~RZqÅ)SJ¹hÑ¢tÄGLwꩧ۴iÓfJ[ù¬-Z¤óÎ;/¥Ò%K×ÊUß%X9?uùn¬ïª©©I)¥4vìد4c=6-]º´ØÿÏ?ÿ¼ÎúÔÔÔÔi¿Ë.»×ó¬³ÎJµµµ%ÁÄS×®]ëL×°aÃôÂ/¬r9+?¡¾}`M÷±HL)¥tï½÷]÷¥bõV-S-J'NLßúÖ·R6mRïÞ½Ó¿ÿýïRJÓ¦M+y×Æ
- ÅÏ~øðá%ý*@r6kûÝØõÈ#|GÖ¶6m>ûì³RJ×]w]Új«REEEêÒ¥KúÅ/~QÜ.ݺu+NS µµµiùòåéþûïO}úôI[o½uêß¿zã7RJ)3¦ÎþtåW¦R=ztêÕ«WjØ°ajÚ´iêß¿9sfJ)¥N:©Ø¾Ü>°6ûXÄW /NÏ<óL:øàSuuuºøâkÉ%i é¤NJ;vLgyfúøãSJ)ÝpÃ
ü¶_9xâi§vZe½õÖ[)¥@xàRJO>ùdÉ8D)¥¾6µvÈ
7ÜúôéS§Î<óÌô?ü¡xáÒ.»ìR¶@RJiÐ A%7ÞxcJ)¥§~:UVV,û7¿ùMñ±0lU7rÊ))¥&O7o^ïü~øáâ°ÂÁç¿ÿýïÔ¤I:íwÛm·âKÇW»ür_ë²_L7.5k֬θ½÷Þ»ØÎ;×ײeËÔ¥KÔ¥K:뻾@""í±ÇÅ3ç{nöåHÎÏf]¾¢ÆRJéÖ[o]çytÐA)¥ò¿¤WVV¦·ß~;¥Ò~ðâðB-÷ÜsÏ*÷µÝǾj¼AwUË__ëøUtëÖ-n¾ùæ¸ùæ£U«V_y~_Å_þòxì±Ç¢Q£FÅ{>V>(ÎùÙ¬ËwcCùÑ~3gÎN:Å«¯¾=zô(ióÍo~3þùhÔ¨Q¼òÊ+që·FÄË
-÷P4iþó£iÓ¦«\þÍ7ß»ì²Ka^xaì·ß~1{öìøãÿ'O¥KFuuu|ûÛß.Ï{ì1}úôzoRXû}¬p£ò>ûì{ï½w±mEEEüéO-Z¬rý6e_eÛo
4-Z¬QîÞúÎnn±Å«ýnðkµ¦oB/W
Çð{ôeÄGÚÞYðÑG¥[o½5þùé¶Ûn+¾Øðå_.yügáÝ&LHCóØÔÂc,Xî¸ãtÑE¥o¼±Îóè[¶lYlß°aÃôÏþ³Ø»îº+
8°ø(Ó¥K¼q¸¾å{麮cá¢:u*ûÙM81¥ÒGYgøÆza}ívÝu×⺤ÒÕW_½Ñ>µýnlÈ:áN)¥éÓ§§aÃ¥G}4Í1£8|Ä©ºººÎ´×_}ññ¦>ø`ºäKÒþð4eÊ4gÎôøã§Rúç?ÿYÜoW~ï'|>ùä4dÈtÅW¤Ç{¬8îôÓO¯³¬ÿøÇÅý`ðàÁéÜsÏMçw^:thñ߯[nXÛ}¬ªª*M<9¥´âñÞCMCIÓ§OOË//¾Íþ®»îZãïÅàÁSJ¥£Ô·oßâ²6õm¿¾ß¾6VÞÖæEp at q=zô(»Oz¯RJýÇ×ÚM°!HD¤-ZÑÿe·ß~{jÔ¨QÉ4§~zZ²dI±ÝÊÚiÀuƧ´âÙ7ÝtSÚzëKæ׸qãôÿ÷Ågæ3&}ôÑk¼ür_ëºÿ)$"Ò%\Rl»r\ No newline at end of file
+++9_÷îÝ¡¹sçêÈ#kýjÕª)66VûöíÓºuëüá
6T
+BÎ¥
6hß¾}®ª +
B¡ä_4ibkÖ¬±¼lݺÕn¾ùæó<xÐÌÌ4hP¬Û0|øp33ûÏþ0|ÆyngË-öòË/[DDD±
+
B¡\Ü
; +
r!ääd33[½zõY-Ç{ë{îñÿÛáÃsçÎAóÝpÃ
¶ÿþ/
¿÷Þ{V¦Léï¾ûn330a=óÌ3þ´)))&ù%ô¼Ád%K´Í7Ùÿüçq[¶l13³¶mÛÚ;üõ¶iÓÆ$Y©R¥ìµ×^ógeeÙ©S§üÿýõ׶=ñÄff6oÞ¼ züüóÏffvüøq+[¶lÀ¸#GÙo¾é×ù믿ö×sìر}laaa˸äKlúôé!÷yFFuïÞ=¨NgÚ~
+
B¡b¯+
T½
+
rAÕ«WÙ믿~VËñÈÚµkT©RãüêË/¿Ü$Y%lÙ²effvÿý÷-/66Ö_fóæÍýá^+ dzÌÌÌÛ¼yó¬B
+Aõñ.À333^´¿ì²ËüºvéÒ%hÞøøx=×^{I²°°0Û¾}{Pȸí¶ÛÌÌlÃ
fföÌ3Ïøã"##íøñãväÈ? yw?î¸ã õz¡hâÄþ°n¸ÁÌÌ6nÜhQQQAó¼ñÆfföñÇxû)
+
\x+ùâyQ¼òÊ+:qâDÀ°uëÖùÃ.»ì2IR=Ô´iSíܹScÆ ZÎÆ5{ölI9MîÀzäGdf
ª_xxxP9uê?>))IcÆ zÄЯ$ÝrË-ÒÂ
õõ×_Í®yóæIzõê%I23}öÙg¤.]ºøÓzÿ~úé§%I]»võÇuìØQ¥JÒìÙ³uôèQI9GJÒo~ó,Y2`½Ï>û¬*V¬¨!CøüwG^xá
JN8QRλA*U*Ðö+SjjªvîÜ0>¯;)§ß©ð.Ä[¶l©Ï?ÿ<ßuFGG
;pà@ê[§NÒºuë´nÝ:-[¶L/V6mÔ§O}úé§g\o½zõ$I7oÎsëÖ$Õ¬YÓöå_êÔ©SjÛ¶J.K/½Tñññú裥Y³fiàÀjß¾½fÎ2;Vááá9r¤ªVªÁkðàÁÊÊÊÒ4vìXM<Yt饪bÅrîdÉùÞï+
T½
+
rÁØØXûè£,Úc=t§Â+E ¬A¶pá õ-Y²Äúôé´s@NwòäI[µj}ðÁ6dÈ »;RÁ.À¯ºê*ÛµkWÐò7oÞlIIIyÎ׿Z¯£F¯\zé¥~°¹ë®»æ
·#GÚÑ£GÖ{àÀ{øáCÎ3bÄ;qâDÀôGµ_~Ù*W®\¤í§P(Ê/%ìÿÿg Y²DûöíS||¼®¿þzÕ¯__ï¾û®6l¨#Gwq\HÇþÔ©SÚ¹sg¦
õ¹¥E
P½zõ§¸¸8uìØQýúõÓüùóϺÎÀÅ*!!A_|ñ
Ê-«õë×kÚ´iÚ´i*V¬¨
¨ÿþJLLÔôéÓÕµkW-X° ¸«|Þ;V
RVV¦L¢¥KjÿþýªW¯Úµk§öíÛëPZµtÝu×ÉÌ»Ê8
+X¼; wÜqGÈñQQQöäOú©õþûï?¯ ªtéÒ!sUò[*U¬I&[ìIó|Üw@<½{÷ÎszîüRÚµkçï³Ù³g[5¦°·ß~ÛÌ̲²²òÝ·Rù5ÅqìÏõeËi;¼; yNfmÚ´±íÛ·Ù¦áå×T,X`ffS§Nµ%K¯]»¶ýðÃff¶yóæqÿKw@úôécffdz¶mÛfðàÁþgÝÝwß]ìuU¸R¸rÎ_B?tèyæ}ùå¤Þ½{ëU\4öìÙ£+VhãÆÅ]§fÌ!Izë·T¶lÙb®Í
ïÅ_óL}=B¾CuêÔ)=òÈ#Ú¹s§ÂÃÃ5bÄ×Õ,_ë9PPÿËÇþtf¦ï¿ÿÞ¯«VY̵GùòåÕ¦MIÒ°aÃü÷©rÛ´i|òIIRÍ5ýÖÅ¢gϤÉ'ë»ï¾9Íرcýq:tpV7?E~ëL¾ûî;õêÕK
6ôµmÛV7Þx£,X ©S§jÐ Aºå[´fÍ=ðÀþt+VÔ>¨+®¸.#××+s¬Ê/ïOûÍ7ß|(QÂoöìÙî+ÊuPß¾}êû:à§~
+ºnȧî@$T©RÅ¿üÛßþæ÷HZZeggÛܹsíÉ'´k®¹Æ$Y¥Jü
÷Þ{Ï6lhaaaV¿~}ûë_ÿjf9Ï@'%%$³ÄÄDûuëf7¶©©©ff¶téRëÖU¨PÁZ¶li¯¾úªåü¡vëÖ;råÊif9MíÚµ³R¥JYãÆý?ðåËhý¡.¾
+»^ñ.¦=j6l°ßüæ7ÐƶmÛZâ*®+ ®÷Maÿ6ÎGùäOþF
+[Ê+çI<ûì³vÉ%XXX%$$بQ£üãÒ¢EïC1++˲³³íý÷ß·.]ºXåÊmÀ¶téR33[¹reÀùôÄOÙ+¬}ûöV²dI+W®
0ÀöìÙcff×]w?}¨s 0çtöäøñã6sæLëر£ÅÆÆÚ>è®'NXZZ]wÝuV¿~}4híܹÓÌÌþùþØç ×^{Õ¨Q#ß²|ùr3+Þ+#¯+Õ/òk*ÕªU³´´´ óóç¶wß}×î½÷^«X±bÈy½ÏV3³Ûn»-hü|`ffï¾û®?¬(ß±üãÍ,8d¤§§[FFíÛ·Ï?ðY>zôh33û¿ÿû¿ï~8èîÀÑ£G-55Õ^xá
w¼òå_ÙÀÆÝtÓMflòÚ¹¿½òáYÎÅ¿7ìå_6³qúwfåÊmß¾}ff6þ|xîïÚÜËòJ*Uüär7ÚTÔë¡W^yÅÌr$µFùw(n¹åirÔ[7ÿoôôkø¨¨(ÿ{7..® ǽp'LAú1˹uÓ¿ÿy½+ .÷MQþ6ÎGÙ²e1¢È˨Q£õéÓÇ4irüW_}effCõåþPìׯ_ÈùÆcffï¿ÿ¾?ìÛo¿53³?ü0èØûÕ)wÿ?¡ÎÂcg@B}¹L<ÙÌÿôJ¯^½Ì,øëB<ö¹È#GìÀù/Üm? ¹ïrIëÄsüøqkÔ¨QÈí!P~m¥téÒvÇwØôéÓýϬÜ9bÿøÇ?~(ñ>[·mÛr¹Þ]3gúÃòë·eÊ1)§u.³Ó?þØÌÌzôèá/gþüùffÖºuëBí{åWüÍN·lÙ²-`uîÜÙúôéã×/wéر£ßõö_zzzÈ|ïqªY³fóýæ>}ú¬¿÷jA^$¯þ¼GÀ¦NzVÇJÊyüÍÛ_|ñ
-÷÷¸Wrä}??~<d(´
+*ýèªù%ô+WjË-AÃ7oÞ¬U«Vé>ȳëå˽@YZ5/_^f¦¯¾ú*ä|Ë-Ó©S§¡
h×®]ùÖ±Q£Frz¢¼òÊ+Æ
éرc*S¦6l¨ôôtEEEùë
+婧Êwù9Ûª7鬬,íرCñññ*S¦Lëw><÷ÜsºñÆÕ°aC%''ëÖ[o
9ë}SØ¿óÕ_AZZbbbTµjÕ"/cÛ¶m~ëIÑÑÑjÕªâââ¯nݺù/:çeÍ5!{/Ö«WÏ6iÒ$µoß^жmÛ4uêTÍ5K³fÍRFFFÈÖs«VÚy=ÇB9ýe<I~#¡58uê$÷ÜÎűÏíÊ+¯Tjjj¾Ó,Z´Hy_»vß"M~òzaòäÉú÷¿ÿ4<22R_~¹6l¨²eËjæÌêׯ.\xÆuÿË?®wÞyGï¼óJ,©-Z¨}ûöêÞ½»zôè¡ÈÈHÝqÇêر£Ú¶m«}ûöÌûeâܼïïs¬¨ß±7nÔÊ+Õ¸qc%%%iÎ9êÚµ«$iöìÙÊÊÊRÿþýÕµkWÍ9SÑÑÑjݺµvíÚUèó{ÕªU6l
¦jÕª©}ûöêر£ßK|Ó¦M5aÂ)SFo¾ù¦?_îÞâ7n¬Ë/¿\qqqªW¯
ï:ׯ_²ïúÕ»nõ¿»NoÔŪ$ÏáÃó<V^ë^uêÔtv×CÇÓ·ÞªøÐnݺUüãQë o¿ýVééé×ܹsªO>ùD³gÏÖ%K
+Õ8JHrr²Þyç"Í»
*w³{÷n?~<ä|ÇÓæͯ5kæ»K/½T+Vôëz&ÑÑѪ[·®$ÉÌZt8ÎÅ6ÞÇ.ÐNy?®{ï½WsæÌÑ-·Ü¢'jæÌAÓ¹Ü7EùÛ8_Ö¬Y£®]»*>>¾@Ó
iÀ
+SjjªßZTóæÍ5dÈýþ÷¿h!dïÞ½Ú¶mjÔ¨ryYYY!/Â¥Q)çÃÐ3vìX
käȪZµª¬Á+++K,Ðرc5yòä<ë>α%Jä;>¿U=zNêPçêØK'NùÃRA9rDwÝuWã5j¤9sæ¨zõê9r¤ßj+¶nݪ6mÚ¨\¹rêÑ£$éÓO?-P}5j¤{î¹GGÑO<çt.ÔôóÏ?+""Búæo¡Ù³g«M6Ú¿¿>øàÍ3Gëׯ×Ò¥KUµjU¿¡tÿyÓ.]:ÏiÊ/ç¸5j(,,,d=*Uª$)øº¦¨×CuëÖÕõ×_ïÿÿÁÔ¿þõ¯0s6×A6mR>}£«¯¾ZݺuS=tÙeiÈ!êׯò|
+ÊsÁ´´4IRåÊ2a¶nÝÚ? ?ýôS¾ËÛ»w¯222tÉ%h÷îÝ?~üëpâÄ I9½S§N!O k¯½Vqqqúâ/´jÕª3.3·s½GyD}ûöUýúõõØcw¹oò·q¾x·lãââ4pà@M2%ßéï¾ûnI9¯ÞÉ=zôhI9?þéO
+Çû#²e˪N:!Sò:½ò.s;uêfÏÙ³gKªT©¢1cÆèÆoÔC=¤Ñ£Gü`÷+Ê9ºßÔË/¿<Ïí»c1òúýð¾t_£¤¤$
8P5jÔ8ã£ÞÝâü>ËÏäl¾cçΫ*))IuêÔQݺu5mÚ4ÿbzæÌ4hÚµk§îÝ»ëÔ©S~Ägbfúóÿ,)çß¼ ¤7êСCò÷Eß¾}Õ¦M8p at W\qEÐwYýúõT3ñö_dd¤ªVªÝ»wMãP"##ò.wÜÛçgs¬ÂÃÃõ¯ýK9s¦Zµj¥ÆkôèÑzøáýéÎÅuÐÖ[5aÂM0AaaaêÑ£þûßÿªfͺùæõòË/ç;ÿ9ï ½¨vîÜé?W|ã7¦]»vrÛ.È°wÒ^sÍ5!Ç·hÑBûöíÓÆUªT)íرÃ\û[õêÕ5eʽòÊ+Eúõö|lãÅ"33S>ø $iÄþíLë}SØ¿ó%55US§N$ÿ±¦¼´jÕJýû÷$7NRÎ÷ç{ï½4O©R¥Ô¾}{Iyß!HJJ
+9ü[nôK+ÕJAA;"U¼V°Bµ<#Ézè!3Ëiùô¶°cccýVcr·a'N03³+®¸"`={YN')Í5W¡B¿ýã·ÞzË~ß}÷ÙæÍêàu³aÃ?T@EÙFé}4hrßmØ°ÁÌ;jÑ¢
½òÊ+öÊ+¯X
+
+}Ì
+Zòjëôòßÿþ×r{ꩧeßåoã|ªU«ÚîÝ»Í,§9¼P-\}õÕþvÎ?? Õ¯ÏÓ;,[¶¬M6Íß×yµµk×®æ²%Ùý÷ßof9ånÝÍ«çé I9m¶Êê(ì9Ö¢E3Ëiu£iÓ¦þð°°°¿§ñãÇøïbìرfÜôK3ü±?×®\¹ÒÊ/_ »Âô»ÍÿÜ-¦I´EùõêÕ«û}'-X° dǧöè£ú}zänfÖûlÍ«u@ïÌÝ'EQ¿cs/ÏkÒ5w³ö111ffþµPa[ö{öÙgýùs÷»»4iÒÄ.\hfMÎ{õ:zôhP§½zõò¸Í«¬¼öß·Þ´ÿ¼þ4¶lÙÔ±áõ×_ï®åÕ
+VFFFPó´úÓÌ,§³ÄÜMåX5kÖÌïú w+)))þ²r7·{6×È.ê§%<<ÜfÎifÍ÷çS
+wÒÏ+#÷ùT+RJ,iß}÷?ÿªU«ì½÷Þ³Q£FÙ¸qãì믿ö/¬·mÛÐmµjÕlïÞ½fÓá¨Q£lÔ¨Q6gÎ;yò¤}üñÇvôèQ3Ëé±ÝNE eÊñûoÚ½{·7În'O¶¬¬,ÿ»3T+ì =!!!àËÃÌìÀ6|øð u
ÛÈ#ýôÓçyøá¦Ïë(ì9V»ví ¶áwíÚe·ß~»Ýyçfvñ³9öc+\ No newline at end of file
More information about the p4-projects
mailing list