From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: YAMAMOTO Mitsuharu Newsgroups: gmane.emacs.devel Subject: Automatic composition case is missing in x_compute_glyph_string_overhangs Date: Thu, 11 Jun 2009 09:30:46 +0900 Organization: Faculty of Science, Chiba University Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: multipart/mixed; boundary="Multipart_Thu_Jun_11_09:30:45_2009-1" X-Trace: ger.gmane.org 1244680279 5187 80.91.229.12 (11 Jun 2009 00:31:19 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Thu, 11 Jun 2009 00:31:19 +0000 (UTC) To: emacs-devel@gnu.org Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Thu Jun 11 02:31:16 2009 Return-path: Envelope-to: ged-emacs-devel@m.gmane.org Original-Received: from lists.gnu.org ([199.232.76.165]) by lo.gmane.org with esmtp (Exim 4.50) id 1MEYCC-0001p8-5k for ged-emacs-devel@m.gmane.org; Thu, 11 Jun 2009 02:31:12 +0200 Original-Received: from localhost ([127.0.0.1]:45003 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MEYCB-00057t-BA for ged-emacs-devel@m.gmane.org; Wed, 10 Jun 2009 20:31:07 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1MEYC5-00057O-Hv for emacs-devel@gnu.org; Wed, 10 Jun 2009 20:31:01 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1MEYC0-00056z-W4 for emacs-devel@gnu.org; Wed, 10 Jun 2009 20:31:00 -0400 Original-Received: from [199.232.76.173] (port=53714 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1MEYC0-00056w-Pu for emacs-devel@gnu.org; Wed, 10 Jun 2009 20:30:56 -0400 Original-Received: from ntp.math.s.chiba-u.ac.jp ([133.82.132.2]:63395 helo=mathmail.math.s.chiba-u.ac.jp) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1MEYBz-0001Ui-HQ for emacs-devel@gnu.org; Wed, 10 Jun 2009 20:30:56 -0400 Original-Received: from church.math.s.chiba-u.ac.jp (church [133.82.132.36]) by mathmail.math.s.chiba-u.ac.jp (Postfix) with ESMTP id DAA322C40 for ; Thu, 11 Jun 2009 09:30:48 +0900 (JST) User-Agent: Wanderlust/2.14.0 (Africa) SEMI/1.14.6 (Maruoka) FLIM/1.14.8 (=?ISO-8859-4?Q?Shij=F2?=) APEL/10.6 Emacs/22.3 (sparc-sun-solaris2.8) MULE/5.0 (SAKAKI) X-detected-operating-system: by monty-python.gnu.org: NetBSD 3.0 (DF) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:111422 Archived-At: --Multipart_Thu_Jun_11_09:30:45_2009-1 Content-Type: text/plain; charset=US-ASCII I think the automatic composition case is missing in the current x_compute_glyph_string_overhangs. With some changes like below, I can observe a difference as attached. (The screenshots are those of my own Mac Core Text font backend driver containing the `shape' function, not the ns one.) YAMAMOTO Mitsuharu mituharu@math.s.chiba-u.ac.jp Index: src/xterm.c =================================================================== RCS file: /cvsroot/emacs/emacs/src/xterm.c,v retrieving revision 1.1026 diff -c -p -r1.1026 xterm.c *** src/xterm.c 19 May 2009 00:26:46 -0000 1.1026 --- src/xterm.c 11 Jun 2009 00:04:48 -0000 *************** x_compute_glyph_string_overhangs (s) *** 1194,1209 **** struct glyph_string *s; { if (s->cmp == NULL ! && s->first_glyph->type == CHAR_GLYPH) { - unsigned *code = alloca (sizeof (unsigned) * s->nchars); - struct font *font = s->font; struct font_metrics metrics; - int i; ! for (i = 0; i < s->nchars; i++) ! code[i] = (s->char2b[i].byte1 << 8) | s->char2b[i].byte2; ! font->driver->text_extents (font, code, s->nchars, &metrics); s->right_overhang = (metrics.rbearing > metrics.width ? metrics.rbearing - metrics.width : 0); s->left_overhang = metrics.lbearing < 0 ? - metrics.lbearing : 0; --- 1194,1220 ---- struct glyph_string *s; { if (s->cmp == NULL ! && (s->first_glyph->type == CHAR_GLYPH ! || s->first_glyph->type == COMPOSITE_GLYPH)) { struct font_metrics metrics; ! if (s->first_glyph->type == CHAR_GLYPH) ! { ! unsigned *code = alloca (sizeof (unsigned) * s->nchars); ! struct font *font = s->font; ! int i; ! ! for (i = 0; i < s->nchars; i++) ! code[i] = (s->char2b[i].byte1 << 8) | s->char2b[i].byte2; ! font->driver->text_extents (font, code, s->nchars, &metrics); ! } ! else ! { ! Lisp_Object gstring = composition_gstring_from_id (s->cmp_id); ! ! composition_gstring_width (gstring, s->cmp_from, s->cmp_to, &metrics); ! } s->right_overhang = (metrics.rbearing > metrics.width ? metrics.rbearing - metrics.width : 0); s->left_overhang = metrics.lbearing < 0 ? - metrics.lbearing : 0; --Multipart_Thu_Jun_11_09:30:45_2009-1 Content-Type: image/png Content-Disposition: inline; filename="before.png" Content-Transfer-Encoding: base64 iVBORw0KGgoAAAANSUhEUgAAAVkAAAAjCAYAAAA+PHnIAAACJ2lDQ1BJQ0MgUHJvZmlsZQAAeAGt k89r02AYx79pHRtMy5AxwYs5CDpopV1B7EHI1m6uXayhzXB6S5O0qTZpSNLqpoddvHr04ElERPAP mCDIjh70IMKc/gUehcEuOuLz5jXpDhYvPuF938/78H2f5/3xBEj/0Fy3lwJgO4HXuLYkbty6LU5+ hYATmMFlTGi67y4qikySMXa4R2qyzzkWa4xonDvjUUJAyJJgtsNZYtzirDK+F7gBaSzGuqUZxA+J s57aKBO/Is50OL9h3OL8nvFQ77C1+8R5x+g6QGqK+Iph+jqxRGwavm4Tszi/bLtP8dMviC/qrkdr 0x+Iz7N7oZFs8zUgXSV4PvI114Fnj4G5cOSb3wPO1YC3j0a+g/3oroS5Kb9dXIjCCdM7wMSTMDy4 CUzOA0dfwvDnThgevaTc34DdQ33gDSMtHUT4CPxrzs/MowOf6Axk0Rv9nfm9RKo8QGmxsQ3UdoGn xBfOAGcfAIoEqBJSxWLc+B2SBJiW5ZxaKFUKudVo/l87uzegt4rsNPUnnVb9Bo2z1L67gaLG7A+b yzG3uyvVmA2tshbzllWux9z2Vhox39FqSsyms96M2e1Ftf8n11KiN/3lRLNlqfR2fD/eoEG1wPlu fy3RG2Yl2ZvTq8uxphtUk/1Dpi8HFQWUUKE+h1Vej6TG9RlAZHWJd5lT22w8boF5P2Dzct/d9Lod KxAX6W80s2LV0S9lxYV8voTfgeimxUysvcEAAAAJcEhZcwAACxMAAAsTAQCanBgAABjaSURBVHgB 7V0PcFPHmf/Rs7FNKhNMcDgMtYkJwWlRUlzGDgkkgpucnVyQrwdHipVcKMXQTgZM2sQVF3w9pxef 6KRBTCdn01L3iu02EU0RnYw8bWzmRJrKTeVO5BxyQQ7yBfk4OZFjqeHJSNO9b9/TX1t/LGOSYN7O SO+93f12v+973367++2+b+d4vV6GUFAoFOFb+SpzQOaAzAGZAzPAgc/MQBmzuoiRvh70jwYxOnAG PX1Ds5pWmTiZAzIHZp4DspJNyVM//uvFTVA+sAUFZRuwqbwEJwb9KSHkRJkD15YDPvT39KBvaHSa 1fjQ19OLkWAm4FdbZyZ1pct7tbiko390GvxJgzM3F4R/LFUIeJjVYmWeQKpMydMEl5V1dHQzT/Is KVMEt52ZOjqYxSWkzDfjiV4rUwGsnurW0FVnnS4FMZgFnMzYRrQ43DGR8q3MgfQcsLdpGJRKMvHV M1f67GIOp7mNaVRKplSqmEajIlgls3inCEzZplPn1EvPLOd0cMmIfq+Fm0+ZOQP+pKMgbiTbunEO 5sxJ9NuI3pFzKK8sxztCGq2dJNn56ybU1u7HOV+SDEmjfeg69BjyCstQXavDoDeQNOc1SVAooe+2 4ED1KnDUc2eikqAAy4u1qFxRiDmPHYE8OJ4Jpt4YZWR/9hbAtpCIPQxNzca0RAeHTqFkww60F9Xi YMM2uNpPEwyHn3rItM6pl5x5zkxxyZj+7MxxSgcxJ3bhK+jzwEM6LMv7NnYo1ag0WPHk2oUQgtko KrqEh/K+hWahBxXT1DQ+nx8KRSbAPpzYnY+tRzUw2b+PqlWL0tFz7dL9fdiYV44aqwd71yyYkXr8 I/04sk2JhtNaOALPozRrRoqVC5kNHAjSfD4rCyMDvRgILMb61cUhqvwYHjiP98Y+pOebUVGxOkpt ApjgyADMA2O4+aZ5yJ6XjexAACMjH+Jz69ajeMpNMUWd0dpn9i4BLVIFKXBJAJM5/bT+MuJD3qIF MzOg4kiHTQX8GgmCjalpyKy3xcbxabOamR1WptPw6QqYWtvBohNeDzO1aJlKCZrOqJharWEGO8FT WfU0VVGr1UzTZGQxJUaqS3bjMNSJ9RidiWwUHmbUSekcF0DFWszSBMprN4r4S/E01W8xM4EFmFlP Uy3Kq9Ka6FkKgr2NQdUi4pUYLpxRMhvoQ+YCS4tUNy+LiGSGOokn+m5nCMDLjE1SfRw3o9PNTPXE sxZbKD10CThYPce/3kgYyuHG5gC1oTiZ5nJN8qq3MK/DJJqrwjJdp+8OtaXkMJyXju4W0dwlmRio rDo9480yHPhUmrd1bkLgZSs1OmYLWcQEZzerE9uzkqnUdWRykNqOtS0k+ySz0XbUQfAaZo0pO1zH 1K/Jafkk6Pc6zUzfpGdmJycqwJw2e0b6K0x3EiUbr1DEzII1orjUTR3MbNSLL0UvcpUrGelF6U0W ZrMYo/bLgJtZus3M2MJtSfoMbLJe1qamMpvMYVxjrgLr0PD6VMxgdYoK1NbBX7yKXrKT1ZGw6ELK zmPjLx+sxTbM9FyI1FyY1MwW0miCjdOhpzKSwYWkhujntllJyXqZnoRPJdq36pjBoKUy6pleS/Yu paSwAy6TWC/HqZ7q1JrIJk30KPXWGDqkW3c3h9cwe1hiJ+WQI24EDjhNJAeaFmZ3eUTlFZbdDseI KLtak0Nkgzck03wQlByGhhUOgyiDOqOF1lOoXdotrInkVqmziOUEnEYxXWuwMLvNxuw0gNLzNqcx UP1e1sIVLCnfFqOJmUwm1t1tYQ434cJlv05NaaqIbddraxGfr0bJJqflk6CfMWM9HyzygZGdCU6u R5TMOo02GmeTJWWUNqj1Fpw8uB3rN9eBXgL++6IH/oGf05QeaLG9gb1VFVhd8SDuozQxZC1Cxcb1 eOj+tWRLohlQ2hrCGXx4z0iqpzSRiSAXFbVNlPE0tjZ1ka00C6urt4mAARRD7/XimY3F4vOC21eD emqMB3Kxw2lB7a1iNN585Sc4cKAVb7pot4DyEl79yWnsGk4El2gZVoE6kxU183hZR7F1azP0tkY8 /IV8qXD6z8qeC84CtTof7y/fiZ33LscVb2JrmGIJx9WFsY/Z3BxBVr75VHCguOp5WKuHUFZUgDxa GznuKoCWMLs49leoI5l+vqpUxFOx+gEx3h8IIjmMAOHyMOVXY77zx7SeUgnlNiOW7VTD1tGLUUoR PnDSvwZrrhhRplRi267jyFlHrcU2DAF5uP8HJhgNDRh/+5eorq7GkT9cQemiW0TZr7pMjRP5mEkT ZnJaPgn6gXsefRwXiEzjnjLkleigM53CmimbWIg9oZCRkvVCBW1dRQiUNALZzy0DH8AzfI7itPjy 6uQfMwiZKhBaHLpIpS5bHFVcoYrFS2kZFzgVrD/fDVEN591MT1LIjfuoIgDSbWJQFFfgqf376d6I PbU76PoyNlU3kFA1o/anXiz561j8o3AStPSfMy9PvMldsgbfeOZroaQmPLZ6AQK+cE0UvWgj2luo JqMR7YePodflxdzEpFDmHLGcmRTYEGLy5briwDBeq22GttsN5jXjJCm2ZsKft+t4mS7ESt6DiyE5 DEJtbpzvOiQlioUCIO5AzJEGO9lc7tqxlerkwfbB+xgbp5uFPD0Lq9ZXYfOW7dh7sBU044Ox4V/Q R6u/XPaf+uc2yhgj77yAqw7Jafn46acmXPEEer0eCGTHDrC38UyVNHDLlMyMlKxY+ARluZAk4IPz ZylJwOVQ7f6BV7HHRi8je+rj1kmIZxViDWnN1965NCkpODqA1mdrKZ601gR8JmWeECEEuBSpYTSb sDhPhaZ6qkSph6dnL5ZMyDvxkevIPf92FP2hTYbCZZI4CpqWGiygazwqQbiGSLDrDBDoBW1fdas4 khUBJvwFLs+0sE6oQH68PjjguwQrYWr51c9wxnM32rv5bG1CCI7gzIljOMnbF09KAaO4vYJmU0bk f+nvobbZoGs+gMrCaHmKkrU0jpVCh8UG1xttqObpH0Tz8Dv/cD/+88fH6C4/IuNSO4rmCw8Q4ttA NH1KdyloicB/jPT3te5GXn4B9p10UZczhAM1+8VOJoLLFG8yV7ITCubvo2RdNf0fxstd/Rjq68RD ZVwBApdcHvEa/bsE5/Awhmn1Ln1Q4O4qFWz7jmNgwoz99W+XYQ/I8ko9aaYv1X95TIT7bOm9+Ib2 aWy99670qPAcoYo083po2nVM3M4VBty0riR8G3MdxVvNNqhKCyD4fLRieR7nTk+SX8rvx69e3EeD 8m24PXYgHVOSfHuDcCCkqfLfP4YNJW1QrKuJzM7CHBh+/Xls2PqG+OjnMpkKRnEbdtIYYsemalzQ mvBMxSIExmM6dMVy3EfWASib8ADtUlii4IOimHSxFh+OVithep+mrVCANiiIISi2I8DtGYXPN4rz fxqieDIfhLUtPQ13PSduCd3fOSABpftPRUsI9uOk/6Ox/xMnAEd/cxqdB0rQfGEVlk+jjSZVsnzU lpNmJMonG8tzsqFY/Y/oqKetSPQySsprUWUyo426SMu52C6R526GsqgIRds645RUiH+TLhVfb6Yx 52Fsa+5CrJ4tuZ8UbDsZgTWPY+UUiOa0SNZgH17VknmAbLmbirhA5KFs62GotqwkC9TkEIWjNMXt 0NBSa/tRIzTb7iZxCwcNKkPaMVtRFI6kEca7VAvV1LAJBfn5KChUEvUqHHz4zmgeuhs6RfuH24E2 /faYMuOyyA83CgdylfimXgNjuw1K7UoochdPUrIFNPokKaTxqQb33EZSmBImF/miSNahvbEqxEWS aq4vxZCHhbfSzcLCGNmLTeeZ8vDFWpr5tZ+Gsn4ryqThM15pltpRdUkB8mm0p6R1CZV2D5Riulg4 hD9fFG8O/+jXog1Yik3xn5IWCe7jpH/9Uz+Ebr8eTUvd8K0xw23dLc5YU1CQMClun+zVOojxjY7Q O1lEwpGwrmlFjvQeQWEljfTq9LAe+AqUxYtEe1LQ70dW7gxWNEXs/FRv7gzU6xsZxOmffQfqfe1Q t9Bi4u6KKWIgZ5vtHAj6gyTbfFSZJAT9NP/JRWyWtDBJippq9HTlvufAHGw62wHh5HbJvDGFCtPS 8gnQPwW0k2aZUSWbtJarTBgd6MH3vr0JzbTS12Tx4GAFt4Bex8HXi7vyK2mzhRpt3S/giY3SqvF1 TJGMusyBSRwYInNBSXUjOuwCrUl8/AOiSQh9QhHXhZIN88ZPtk3kKeJ68HDa9XUNkh1LoK/fokaH 6wt/GVuZA+k5MNJ/Bu/OuxsVpTe2nF9XSjb9a5VzyByQOSBz4NPFgaQLX58uNGVsZA7IHJA5cH1y QFay4nsjpxDkvEYOMgeuRw74hwfQdaoLA5k5iU1Kqm+wD70D/GuxxCFdemKoGzc2YyXrH+5DZ2dP /JYM3zB6e/untC3r08RqP3ko6ursxJtvdtA2qzxsfO6URENwEIdq7hL3+F0zfINDOPWTTvQO0o4M OcgcmC4HSFabisrQYjiEssJstPZerTz58Itd5agsK8KcmiMYmjT2SJc+XUJmL1yckk3pTzb0/UAi v7C+8+2orFTibChPZuzyo+8UKZvhSW8zs2Iyyh3vo9ZZ8GUIXjf+ddlruO+xQzjy9JfRdWcDrHZn RqVmlFn2KZsRu+TMSTggDOOsWoe9tfUwW0x4gz7pOnRVilaBJ3oYvG472pYfQ0nebvTHNc106Unw vJGjY10delxO5nA6yaWXUfQ4pTVYmYueHQ6X6BUo7AnJ6413RRPxwBMfHc6e5koerci7VdPVuO9J U0N8sjfkMUzDTPaoo8ZwHq+VvHKpDOHHa34V3DamIxdy5PuBOWRfh9ec37OxAmtbPckPd6fJqXOS PJHbz5k4wYNKc1vbmEqlS3oKQ7r02cjvTGlKvLvA34+aPCU22rzYG3b6QnH7H9LgQv5yKMq/ipcO bo58JeLrb0W+0oRuuxZ/+HYdGow2aHQmvPRMlZTHP4TOpmdR20yfNtE3LHrTD8lbVyn89PGCR7iE Y/SlmPCcDU9+ib6Npk8F828txgJxW90oulq/h0MvNdPXU+TNdnkRNP/+EraUuHDgUQO2vPAwXv/O DjTQFzLk2xY/fH675CwmRa85eGI3VpDLMPJRi83F0Q3fvoEu/IeBPgjHOD4K/gVZN30GOYUPYO/6 AI50/pZipSBgGXY/rcLp77XCXbYFz/ztPLQeNmCMPmhbev9O3PvRr9CFKvxT8WBquC1roljSlG9/ 9gocrjci8OJm8WOLaKJ8d6NwIFYGRXkjmeIy+A+LB9H51nvEhhzkUNz4+DhylpShkEx3ogyKshTE QM8rMPx2kLIJGMM9+NqqYRgGKO/4GJY++DjWjBphcC3BshDc17/gjsh8bH2TZP5KATQNf4ffvyjJ /N51ARw99muqAyhcuxWPLOjF97uy0fDIXLS99i5HU/zwwE+tJve2h/Hg3Lcm43Hpi9j+uUEce/09 rKzeiSeonbU+91O4c0rx+FPbEdM0r/vXH2cuiFIT8kBFrtQiIWsxHn32B/hqtQLtJ5xxn7mKXKUP /TaVVaJ/3UGY2rRob6hGYxf/ntmHzl0lpGBvgdnhhNVQiX3VK3BiKIjzr+yiExeUaCTd1qxW0n0J SkpKcPzsKMH56VSEAlTveQ01OgtsR+uhMLbj3cscp8s4a2xE+YpyvLmyAeTbFsbmWvysj8OlCj6c 4Z/jNpnjFCyHCAYuoaGxAYMkITctzMPFjkY0/G4UgbF3KL4RAkk3F/C8+YtRkFuM0pyzGL91GaE5 hjcovaGhkWCz4X3nZZj+R0gPF4tmVikOdGvJ/YMBjripWWwm+X62cyBWBnPm50RkcNi8A40nLgKe LjR0kRK9eAINv58blUFizNCpp1G26UeACNeMFwaDCFxxo7FhH8nvaSxeNg/nfrkPjTFwyeqbJPOL SrHss2GZV5Avg0qcFKgxnGvEy+cuIzD6Jl74jg2/a91KdfXjw8Eu7CM8B7sase83Q4nxoLaVn+1G c3MjvDfxfbTzMHaikXSGD/nRsc/seOWx5oLIMDjOQXUkVrwJ2CUn17EO0CVzAVhdW9ghtcBaaArM nQNHHAMbHUzghzZ67IzUCVNFTgiQHGBPPKBQPLGA8rVETmegMslZsJgv5ECcfNuGkJPSmsyTp//x 2LtYE5Wp6bDHR/Mnj5lpdVEH4YJFx1Qcf0cHq0vgaDtcgNfWRgfU1bMWHXdKrmMW8jTfYvGkhQvD h6+CXXJ6nMkBd2FY+TpLOJBEBi10WkIHNwVQ29O0kONuB5120BSWfYl2G536oQt5lBasIdklp9z8 AEVuSjBR0xAsTSTT4TZKcEnqSynzBFMfdqQfsLImascBN3cOTrJPeBr44SSEn1pvYw6DhnSAVdQB CfEQ9Qw50A+ZGW16cpLdlqBtSiRet/9JRrLJO5DkfmFV2P1oeAockDyk5maTY+D/FQtrVq8gt2H5 yC8oE31kFlFHmCqk81GbyLftiT/yKVWKkMJHbf/xJ9HcsAE1jx3AqX4aEc8je8WHV2D9RS2O7isX dxrsbu2h8XV8OP8nL5QL38b4PTq425eicsMOuMmxTjq4+FL4k8SQGCdGk7PIMbOaA4ll8AKM/Wvw SDHNCS/n4761RQh7wBKZERxFf18f/nShHQ1NR9Bz5hSavkXOW3L/gvYdaqx89mU4ulXkwvAQzmcX In/8owgPE9eXRuaz5uKC9Y/i7qJhqw2n+y4AC+5AvXY+ftxADuyL7sKBX4yhpmIpiu9Yi4Xjf06J R5FqI5aGvrgNoAjryrjHmtkVMlayUyLf70T3aaByyXw6vE1SHt1uBuqKIr/jT6yOFCXliJ8jTMlH LdlvY0PEuVBsZOx9Uh+1fozk7ESbwYCa1QLUygLs+sFbqPqbUtxyD9mazWYY25pwdM8mPNTaF1si lt+WD98Hp7FvQxF2HXpFTDtx4rdp4eIKoQfZp+xEjtxoz0lkUPV57Pyu5KFNsbwMC2nRIkinfNxe Ol9ikHAOmvJybD1cB3PjPbhE44zKbeSl7rIHc6u0OLe/DN88/yApWvJoWL4H5WvDfjKS1JdO5hV3 Yk/NSlzoeQ5FlTvoYBA1yrccJO/6d+BJqx0u16tYOdhBA42QX7u/+JLjkUuuFu/KiZgel1fch9wr MSbK2SICmZoLvOKZWFpmc7mYyy0ZDSRzgZIZabXe46LVcn5OEOpCZ1ZJU3So9czhEZggeJjN1EEr +2GDg2QuQF0HcwkC8zhtzGxzs7AJQmeyMae1Q9ztQDyns7Jo3iROM6LnCzF+HhE3T6SY1ofnGhYd P3e+ntlTreQHpPO+6ibM3QNOPi2is7hiYD1mOpeJDpSzGuuZst5AVy2ZTeKnPIngwvhI19CZZaED HePT5KcbkgMJZdDDnO4AE+wG1kYmKSkEmFfwMofVFtkB5LXomS7GdOa0SWeDGald1pvDcBO4mrA+ Oj4wgcxzSIF2IoVbsEVL7b0uampjgoMOXKVTwqwtafDwsJb6lshhrB7CWx+D9wQMr9vHpCNZ7ks1 sT9ZPu6c6BeWx9EKf1khCmghq8FLe/acekiOd5ZA6zKj7sI+rCjIQ14e+Z6s1uHPEe++CnylrQ3K o7UoystDQYkSR62XpuijlqoNBY4B922bLiTzURsHl0XnhNkNdPZRvHEgq3gL+PrUO65ob9trIr+5 zZtx59Ll2PLIJiiXF+PzE6Y8ieBi65N9ysZyQ74XORAjg8HhXrQeOoLOU++Ix4TnltyBgsj4L4tc iypQumZ1xJVg9vwliDkAAcWrpdHr5jYr7p0bld04TsfUFxufTHZz6Vy6sNuXikYLtKVzo2C5pVhf mksjbtpdEI2dGh4x+WfNbcKR7DT7jECAj1Rjhnlx5VCP66GRrseb+OhrgvW4PdQrx8NzmAnbcuNK nc6Dm3pMeoHU++qZlY7qjq8xdYkes45Owo0usLnpZFEevDS66CALvkC9d6LeeCKcCON2MGPomHLy KSuWI//JHJjIAa+9g2k0day+jhaSSG7VdB8dyU7MTc8eKzNYojKaIEdGUYlkdyoFeCyJ20IU9sYY ycYbQq+y68jKykVW0hKpx12Q6OTZUKUEu2BRbL8nxaeEmSa+iyr2wmP/guijtrxkX2Y+aufOj+ud Fy2RfNsqVm3BdsJn9Mw4xGNBJuI2AQ7kU/a+wrBPWYfsU3Yiv+TnCAcUq7bj+HEuXRRaj2PoTCfs 85M2NMo0YbFCBLyKv4myO8WiFqy8G0vOTTHzLM6W6k3NYrJpQXTVRjx/kqEx5KN2qsQuuI0Eh/Zb Jw03l0CZPbmzmASnKMcbdMyz7FM2KSflhCQcKF5Pm/WTpInRSSwCqUBSpU2S3VSZY9PS4hEUP/KJ KKErfHf87AuJv/iafXTKFMkckDnwKeRAMEhH7YSnv3SsTJDPhj+FeF4NSkkXvq6mUBlW5oDMAZkD U+FARMHyzLNQwXKyZCXLuSAHmQMyB2QOXCMO/D+1I/84dG/vjQAAAABJRU5ErkJggg== --Multipart_Thu_Jun_11_09:30:45_2009-1 Content-Type: image/png Content-Disposition: inline; filename="after.png" Content-Transfer-Encoding: base64 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 --Multipart_Thu_Jun_11_09:30:45_2009-1--