From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Antonino A. Daplas" Subject: [PATCH]: rivafb DDC2/I2C Date: Mon, 12 Jan 2004 22:59:04 +0800 (PHT) Sender: linux-fbdev-devel-admin@lists.sourceforge.net Message-ID: <1110.203.177.116.240.1073919544.squirrel@webmail.po.com> Reply-To: adaplas@pol.net Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_20040112225904_70246" Return-path: Received: from sc8-sf-mx1-b.sourceforge.net ([10.3.1.11] helo=sc8-sf-mx1.sourceforge.net) by sc8-sf-list1.sourceforge.net with esmtp (Exim 4.24) id 1Ag3X6-00085D-90 for linux-fbdev-devel@lists.sourceforge.net; Mon, 12 Jan 2004 06:59:12 -0800 Received: from webmail1.po.com ([65.112.157.42] helo=webmail.po.com) by sc8-sf-mx1.sourceforge.net with esmtp (Exim 4.30) id 1Ag3X5-0004js-D1 for linux-fbdev-devel@lists.sourceforge.net; Mon, 12 Jan 2004 06:59:11 -0800 Errors-To: linux-fbdev-devel-admin@lists.sourceforge.net List-Unsubscribe: , List-Id: List-Post: List-Help: List-Subscribe: , List-Archive: To: linux-fbdev-devel@lists.sourceforge.net ------=_20040112225904_70246 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit Hi, Attached is a patch against linux-2.6.1 + fbdev.diff. (It's another big patch so it's zipped). 1. fbmon.c - expanded struct fb_monspecs to include almost information parsed from the EDID block, including a pointer to a mode database, manufacture, model, monitor name, serial number, etc. - as suggested by Ben H., the contents of the EDID block can be transferred in one go into struct fb_monspecs with the function fb_edid_to_monspecs(unsigned char *, struct fb_monspecs *) - show_edid() is depreciated. For verbose edid output, just define DEBUG in fbmon.c and call fb_edid_to_monspecs(). 2. modedb.c - removed __init for fb_find_mode(). - added extra field (flag) to struct fb_videomode. As I explained in my previous mail, this field should tell the source of each entry (vesa, detailed, etc) 3. fbcon.c and softcursor.c The cursor is corrupted whether with softcursor or hardware cursor :-( I tried to make some changes without greatly affecting the logic of the cursor framework, but the changes will probably break some drivers with hardware cursors. The logic behind the change is: In fbcon_cursor(), info->image.mask (mask) is just a bitmap of (fontwidth)x(fontheight) dimensions which is filled with 1's. info->cursor.image.data (image) is an "xor" of the bitmap of the current character and a bitmap of the current cursor. The final image (in softcursor.c) is then produced by doing *image++ & *mask++. 3. RIVAFB: - added DDC/I2C support - fixed cursor bugs - fixed accel bugs Any comments welcome. Tony ------=_20040112225904_70246 Content-Type: application/x-gzip; name="fb-linux-2.6.1.diff.gz" Content-Disposition: attachment; filename="fb-linux-2.6.1.diff.gz" Content-Transfer-Encoding: base64 H4sICBanAkAAA2ZiLWxpbnV4LTIuNi4xLmRpZmYAxDxpc9rItp/Jr+hJKhkwiyWBAdvjTLwQm4q3 MsST3Fw/SojG6BokniRsM5P893fO6dYuAZ5J3edKQGqdfetVjMzxmFUv9YXDpqa1eK5qtWZNrf7H 3dYdY7Jt1tvN7aFte9uP5ojbtV4MSh/lQL2qVqub0StoilKvqlpVbTNF29tp72ntmuL/sTJ+viqX y5vxRWqNqqICQaZqew2gtpui9uEDA27t3UqTlem7xT58eMUKDvdesVfM9WyHD/jIHO29Kr8xxyM+ ZsdXlx+7p4POSfdkcNS96gH0fOFOngpvuVuAvzfsPwvXY67+yJk+nTKH35uuxx2XhZD6M0KG98Nn IcmuKiTZ1RRfkrk9FwD+pR5eAkMQi1sjc8z8v+2tlIRsaztU6Q277Z50rga9znnnuF+1remSPeqO qQ+n3H012iAEHrhj8em2y73FvGbkOyMOtzoM4rBJ1+3sKfWXBcJqem0gmR0KShvsXsavXWH+heWa 9xYfMXdiOx6bcuvem+xHHxgT3WEemu+bcgdPfuyvCBXXcxaGxzCiBqY1tsOr/cCTeR6UuBBMAtW/ 2A/JtjVlps/pG1qlSs260Km5I5VihZurq/7gpHPLDpg9HQ1G3LBHHL4ei1c3wNd/XNpH4JFjPnLB 8oCd3HRvO4Pu5ccreuYaDueW/7B3fNPpXMqnK/IlVP+AUbuPsdoABX0+I7Ta0LRdwD28vqCnvjyF wDYHrNvrB82Yi6MB1YUZKApPRQ5cXJ109lfEPGnuuKKibH8ybGts3ieDLhMoK9ozAdOhrm5U8zYi 1trTGplxXm9jmYFPqLQU5owVee2+xnSL6YbBp9zRPYjtL8zlDvApwYMR8ya6x3SHM8v22NjRZ5wN F+Mxd4gARI9p8Kr+hBAzfckMfeFytrD485wbSM3h7mLquTXWHUOzu3B4Bcrkkl3WIFbL0rphnJQL UM6n7PUp96iVLVzTume3qDGjoDCgvr4GuBGfQ+S4zLbYl3aTGsY6sGIW0C2AKyZ8OocvuAHWS3sB SWvbINzXCijFBfUiSDteTNnYdkBrz0NeZF2GMeOW2JMJ1XzIkaRu/O/CdEAlIZIeigMAQIATWVGE GHZKLvNsNndsT1gCKdaAzkfgZdiz+YL6hyfTm7ChYz9wiwhyF8UzXSBssYkOjEB0B2xrTEyL1xjr +w9RpKlro3Q6A38tmTu1n5ChwV0XOAnNfaNL7S/xAZN2/3g0OO7e3HzG/PQcSCQIAPb62HSchcvO 7XvTYO5iPoci+BogIhb/eMTevWPFw4vu6SH7/p1dH3dL2HJ0c/Wpc0nh1qirGG+NRr2itvyA69uk ujnlQkkR0Ux3QQWwz2IaCnrBJtzhe2hUQhWPA4eg3TG8zEd9PIzGEugE5epw0NWOg2g6OTnWtqGB 9XxtynFtCAUVAKDB8dnhDRTCaEglI4qxjkWdJwtIS0NRKFkQr6YOMjojl1xGowL7yaUQETL7uhM1 CBQZXsyFxDHHpqF7pm2BeGPC0T0PIoCiyDJhgIIme+JgCviWnPmISEXC148WsplIRGZa8AzYOPYQ RyxUGg2MM4hpETOMiXxxAl4jGxTF/Pd1RKVzI6rbVpVYPHUtDzICWrfb6k5Ao9j5ct256V50LvuH 56XM+Do8vZZfUNX7nXO8iWLhPUReYeNqDkK69pRvj4dwlR7GrAReX90TCD+nyq8h2tpTWpnVvqk0 cASAX7LcQw8Lln2amMYkVshFeDxxZoP5Ze0RTH8XPbDsXP0xLfSq4+G3oml5JQTUxsMBjD++LSBW 7nAsVHhVLUCHXkS06nsYZtaodxmMp/q9W4IAA0E4ZQ+b65aFtRTAuWUv7icQvY630KdsxiFKl8i/ nCC2hEAe+GDvD1j8CdtiWglkKIBUI9OdT/WlkKwGoxZ7OpVDARi0XJ2fD75eXl1c3XZQaD51+eZ4 N52Tm8M/9snSu021AnFd3m1qFU1WOrAZVIJ7d2KOPUArPhogojGYmIOxbXlgL/ehxH5nu2yPtfd9 eHcwNz1wTgiPwLUncwRdRJm1Suz9e1YPwc0/USQfa4tFkSbcvJ94++CKghwngmLGwnGx86EvGHoJ OoL+AUvzFOwk2IhPPT0T7B1rEVQOI+b7yOcr5TcqzKSbRZttjVyPrlFg8D30xcV3Ar7ClArpao+L SQ6lEiGJm5oMqgOm4jiY4QO0j+EMHK6PnorFhdpkWyVfg7ntIjrpF0SYJDXSQddfDughTrCKNOAH 3JhnEKpcLBrv8Cn5dAsFLZVK7C/ELESpxS3no4LxAmRwIaHvR3HBEuz7AfXUn29gAtfvXhyedgjk B5XrtPDuRJ9zlN4XVrQPvCU0v2PK8zgpoMAIJEzBv0QiliGROdPveW14PzDsKQQEiAb9mTMY3sN9 cSjSBPqTEgwlqK9n4iODxjhJY0w0xiENVI2F0iZY53GWqdyiqeDuruoXzXytjy8Oryn6fvhxi2pn 6T16jjojkjhByj6XSPXyOhp+OG5CjMnIzSK2TAkk6gUQWZayLQgCZOV+yHU/A2eZwAm5SHvvtqh0 qoqqVhraOpOfXfUDiwcGjwC/i8D2uv/qoB1YHsD1VY80BToblMEKFrNBpKpi1VpfEtMSFuMisu9J kfzUhIoIpB9mOHA0ilgYKuz04/XgsH910T2WRQLp/wKQJbrD5Z6FY+2LupBOQ6oyAvJhDHP4jKeS bLIdJBEVmh7jELdoQpuyz0z2W1bHw8xy2dfEL+hAoYLVZFwRxpbMSE4ypZStsIWgZQGDXJ7H7Lff hLUlChqnHPR9ovFHIVEUX2R49l1QhpRJVLbQJdRrRcKAiiJ1DK6DXU2k3EcfQnOFPhXRSjG+1r0s 5l4WdS9L2rTidxw4Nyn4xVpIpGwYRQAaOExEBzLeTwRWgSwc8ifdQv5lsuDK3qJ3dnjdCdXLKk86 hgLLCdMIjKSS/dQPWbEeBpPROi6yKi2tou76haYQejOzUgkGhSGMHx7E9Q/KfRl+WRW0GokQ6tGj IUrueCkiy8i4SBT6mVbdINNCpynJ5yyRidX1mVjNy0TEQx4rU9i3RUzPH1TXob7/1PIezdHkIAwG 1rnDsM26hk27A4QKomdlTlZjqV+NJmA1P/V98msSzyee0TNUV/cM1VU9QxDeVHT2M/sJlFTGq4gB HPbDBPhAVEe4+h9yU7m8LyLgJT0NCU/whoA3AJ7MD5cA4ke0zxLDP8Kvmh3/PnQxGsGlBJ7oeaTl sI6G40Jhr/HQnrv4JYfWZN4KkzOc0n4ImTGV2XRxYzycrV/UkEDrFzMk4M9ZxMgiVt+rN/ZULXPx oqHQ0qGCg0PavNgSy7Vz3XFx5ZnWJV6V3yws3Gw46Rx9PqVNMLgzLbm0iKEAIgxxiSpAxsUGe+HN Fx4tLQT7FUQC7iSBk+ub7mX/U3E8gxTTnXu3VquV2NyBYvBAjW/eUHMJty9w4WA1pr/JgQxppQwK QHwriTZHHlWo6fqIO9/uwPN/QYQqQZmOfEKwpNoIlrah0HztekVT6jCP0Sq79WBvE+oHzYypuuLS nGmwR9scCasOHkFEmPQNoSY9FOPSbVEj5ARmWfyR8a1xh8OOasH4pqDYxSIB4w1OHVsGrVpoJaiz v374dZ8A1QxApV7C/KqXqCCLR6p4xBWisROjoRGNGJw6jkHU76gOwLV03GsY213o1mKsG2AM7uyx ty57LWZ/IdCFDTkOj57xkaAPvMo+L6AKYrZLMZwed0x9+gawFv+2ArRGBG1HokEL4MltW/msSc/U ZikEb1GT1oizAZSvXEe5F+wPzh/i7HaRnbq7q/gN7TvE/oHeSbt7NJ+5A0Of60NzanomdxM+91fr /kagVFi4TgN5jwvaLtRL/IJh3V9xheDv5Pqit8cODQ9KBrikwnoLF1eCxbWnW6PhEq5RVaizRKf6 fhZx5GaRl426Lhaxsq+Lx2zKqyM0G8eP2fApRiO05QdiBNilMAyg8+Kv/IL4i1BfQugFtINgiwA8 YUgeBMGHT/xymJV6FLoZRiilEP2MjGFgYwo0mYgxw6SgM5Mpom1wg5ohNk0uoxlxz73NMqnC/Onl itwo/xUaE6n6sYDDEqICQYTJMjg87uOO/NXHj2IkFcURY74EWCaV3ufedefypLSCggTJRu8fXp4c fV0pgYRJGv6FSc+CgM21wu/s9ZK7r9kee23Z+Si+yvhkUxRfzRRKSXSmhUR5xdo2MCaOPdNz+tFU CK2AXldMGc1QvNlcLM4krHxMhMGINMbEMxbUAMxNb8lo/gPjoGRBjgKBqoQLHCKFcgfrWbGORaJZ omoI1eO7Xz2g+Ir6EWBuwUgWBnf+LUz7dlQt2rXd8NGXPWCt1N4q9RF2vQC3rSrxEiTsVHM4rUb6 EBnRBX8+xSjNNBnaAVihXUNo14hp1/4b2n0NtaMys1q9ZZ56PqUYrTT6OrW0kt85RtTafalaLOPv FM8GgeE3cuQ9Aq93pU8z35WCUFzriNL1mJ76S/Uk/l/3NnQfyZLrQJ/WCgcKApkubK7Ju+HPcOHR dMHR2hu5cAjA6z3ok8z3INFZp3NmNhov1RmF+bq3aTaiYLne9Emt8Cbhk3CrNMtMyNHP8OYfE9Pj mybkEwKvd6dPM9+dglBWQjbTCclfqifxz03I3CmP2Nd/8RRXzm9DFeQ0oS3mAbS0h6MjmHDgclBi cmPemx4Myk8Ec9a15gvvNU3rcOVALFzFUQ4tfWrfxzH2xBe7taeefs9ZlQkaBfeJdv8TM5hmMEUh +oYOnJQ9WqzyeSm1lqLcbiu1OnxJYv5Kt4+iplDUBqJo7WYeihZHUXF9B1Ea+VzqOYIpmSjyTFYc Z2E9WPaTJaF/RG36b9n6I9OHqjBUI/Rh2h/HdLRp4dCSHEYGuHPKH/nUJx0H7y0tY0+6xwjmQ/7U chxw8vlHGR5NdesBT4OJC0EkhFbaMegeh8CmI1ZJuEYM7tiezW3XzALU4gRBdDwkRJ1UGlhNcHcc OqSGGHFDSMOkTHOhP7OzKh1cMS1mzNJmUu9ysumtSHMjyJzoQ/8su++QTMa3Kxlrd9kh8BK+MYL1 u3RonOqzmb6XMNbbUU0yATuXsfKVoJIpeFvGG/aW2qQ9cxZv/Bm/BEtUhYYM9rY4QiSqQqQoJIxl WzaVcb596uhL19BDy4aJGCkQcfSb0yNIGTxsIStYDq6WgXtpW1XEv4AMN43VRKKFIE7ls6gGaZQf YUz6cy5R92XQGNG1E1pEWplXssLLQ6JC3LHtwNSJmS5OBGe6Ewiem3SCykfTcT120ukfds87J6xv zuhgHJLhY8g0PsogpGaJI7sNQD3tf2QUJYH/cnpG1xsNZqN/0DH6NS6Q753oHuOitTTlGfqBDy3l 7M+YNu+wPQ+63U5DaynoZgOg28qHZgZtNR+6lYaGIpsD3dIyoBu50DsZ0FoSuq1gb6182GlmQKt5 0BEt88pnpgd8/CxN0h4IoDM0SXugXdeem1ojEzrtARyrPbea7Q9tcAHuRnrcmeoGH5XW+yPAzXJ2 2iEBeFbcpT0Sgmc5MOUSVWujfnHF87qWTKeo6o723G7F7Zzsv8L10V9dhhuv/oIo0mx9lMkttoCD FMelIfHejTvwqKKsz3HadQ/GLL8c0NaS2GoP1rKjrXI7oxisUGegNMJW0auH21FhpyrblJxZSe4c zJ8MrJiDCQJyvQ7fnEpZR6wQr7QOvUOjaRV1p8HKmoZvN4hjJKHgsb21KHnqG15q+wPfkPiqRWD7 aGvK9hkoddk6HmJrHKMRYpTWuyXWe8SMB92HCC/3/1lH/afqGO0h18dH5u6oKoaBWA/s+RIsBWl9 X5Qru0ZGposdDBgI0V2wT2Ks6L111zDN/4JoG4gyhSjwNgiCOOEz2zH/pLmH1HlUfTtin6gYVtjZ 4KJ7Obg57Hfo+vALXWfId8sd74aPHe5OImQkldsIlds4FYxIbLjufumcD47Pr44/YblSlS3cW88Y YuFs4tp85lMDVUJG7EKyEa9FJKitMJh8xea/4L0L+TLPJb75sVlgbVi1krNlHAZf21ggyA0Ly5zN p3zGoYsfrR+HbtxPAf1nB1+Xo/c+DvAolCO8Dxc4Ma0wGDeLMzRkqGcBFxafMqureNyr7UcBQfx2 wLSdZqRWiP6cSKZ2dA2xftDcj0y6CDI1x5JSIovciZSEEXJswURtu5E7cUrANkrbOxmw9SzYXZhg NlMzo4K0XkrHOu1aN5NHKbAijJ7fjj68HcngD90RuEJMm8kNK6rryPVe5HdTuISaaXkQuSTPiu3Q 0TB5GAKhev2TQb8LZeB0cNLpHd90r/vdq8sBHSWkJM+OwWCGmCc893RzyjeP3KQNsXjgCiqLlAxc AcC/xEoBC/5RYRQ7oOEVuOls0Pt6eYybor1OvxI5bJIHE97/0T3pnyWIHZ0fXn4Ci62S4zaQ4zZE vc2TIw8mvJdyxACz5XDPqNd4697i978tUYLPiMr1Va+L6LQ3XKY92+rrqCDF23y4wN0YbcLNONhJ ehXbohu0j7ozEG/H0ztzW3CfiNpCVlyIaMYChARxuHL5+fwcx8+PeORC3CYHLxLjF8IZGBNuPLiL Gd2VUiOdDGB51iwfQeTNAY3ywAf+0kRGCtEm+U1foCXTsJFMwxWERC6KNWvfHKm5i0gl/8gnWKj6 Xlb24Dp4P/AgiOb9EHoZgV7GoW/T0OHxcLzzjwJX1QiIgxCDme7cmxaxjIR1BGzKxxGoYnaesSoh FIob5mspwmAxn3Mn5BBmDasmcq0qjtcWohkXldR+ihPKVmjiQtYNpjyidJLSYwQkh9ncfDZkqEUK YBbAtr8vlIX76exf2nX3+KpXjD2Rs3ERT4nKIGxA4CimPLhCMGdXN4Oz7ik5YT/Av90Y/7Zz008Q iEwyxBaF6HODlMN6w6Ldi6FPjQGec/InV8VwzINXy+AqGPdESlHwwxdb+CnPiuSWKrgVZ0cbu7uV xg5McHeUSltL/B6Kv+yHm3qrlv1e0dZOUvqWBkO0Bq5st+D/O3z2zVrMyuW71DrUOgLt9goCmlKS 55V8eei1lo0FuhOvS0TI1/BEEOiLvx0y6PYGx4fnx5/PYf5AJ6OSG6TpZc4yvTQTVXCtRDENf5ZE 4VJqXCJNke/8RThgxeOuTvK5cjcjspyX7aFmA+Vvw0eztcJDuI+VljK9hBuXUs23Ww7ff2q39DJx XCJcmlxtt0bMbrh/kM8lXJRNcGms47IT56Kt5LKTw0Vbx6UV56JmcUkvZye4qOu4tOk8eT7lZHQU YrUotQCeqgRsFfPdu0QlWiFInrsa69mo8ZKp5aVTu65BRGsNKFA7K9JJXS1njsO1/HTK4ftP0ym9 Q5CV4CsNF19Lz64j8a2FbrCz8PcyWK1vkMIZOxIvzWG1sUESZ2xlvDSL1Z0N0jhjD+SleaypOYmc tWFSprelVmyZpNN4lYqtPNbpnRahVgJuk+2W4J0akECu/OP4aafZxBdMy/WdRkVTxPjpBwGvW1zB Qc/2ltwIHpvWCAeD1kh3xE9HsbFjz+i3gOh35/CHgW47vUPxSz/ih1ISWmy0OsNSEzakSr+SdnJE 87HgDTv5yw4RQ5t3NTH1EutatFwvf3cgDrWUUEsBlQ0UmOggkE/+EsGW/PmV/2vvS7vbuJFFP9O/ AvF510OKpNTdXCVFntBabN1oO5LsJC9vTh+uEmOSzSEpWUri+9tfLQAa6EaTlOJMxnOuZyKS3QWg ABQKhUItFrwlVfvscYjvyq+JKf0ecyUy4W5dMk9SOi/0FRfSBIucF1Nc0DFgJRruQqqxdFvi9yym aLgTfybiKPPEHw94nocca2kQ3QEJwPmLprtEp4G7EVr7DBcyBBne75P59tNwL+fSDmEUMsivs9td TfndyS7GtGtqqPJZJ9gNdiaWShanFocIjyu/l3NL937OIVUKA45rkCLyFeozo8Rz9GfFL6Y/y0Zk LQVa8Ysp0ExEnqNBK66pQePL1q2NDaauarMU+BgQrl6qMGMEGtjodWQcIy/twHClApsxp0M/oLny ZUhopw5h3b05Ob56F+uVkLRzwJxR54ROFn2tZFbXJJZgk2pcMV82xclq2K1U1hqxNHuNCzxFP018 1ehMrKVeqzMHUke9ojPr6PjSPbI0fGsq+DQNkf5iQHveHnNxIdROk7wlxv0lfUf8m44lkb4M5nfm wPUSVAC9Toq4HOdB6P1B1kKlbV2/c+xVRA3qlAqpoXqrATeTm9TR8eXVtYyNoMbDUxE3BHeCHOPV tkGLartG2pqaF5SCqrRHYD90bKnXUcuwjMuwLDZQ9YMdUfeOfGEryjg2Ot5fNMVQoLjD8Gsq+B1F RGZXanQc4odkZ7FjOSexjglEJzGNyKwHIQnaIIQdevC2D21ntcoCj26PopFOUZCnKIpj3BoNHPDr 1gumJlcXV6nus32rhriDLu5JP+ynowArFb7IUOFzrX+VEl/GiiAk3JHUVMcLz2YIxo2MumQ+13N5 QqPPNq9pOXsp+ApOs+5dgrDvEiwThfguAVeYNBq6HYylHl+ZDACVKYcEE6r9wFDSmMAFdS/ris0P kq+pktgigaVa5U7ZHX1kgGUGCuLvrIhOgjA6GFlhR3GSVL2ZZSw0bxYDxAHkzfDq/cXF+eU17vU+ 12viy06rONQ/k/Pk0Unr7dU/uC69iGQZRTNHapmrA5lxbEu8Ew7pGdlgo1rDuG21ii8jqKvjIWKD UTegzKIfMkvM89J/BfyUzxJcMS0tGfX3NwvBs2jSF617YPyxJa2FpQtAWGcTxpZxrTcp5lkNDoh+ U4ciwuZtmoGB0vxDPXwtbn+VoZESBHb7q2zFsFY5fFjM2tMIDw1a+RFjnX4rw1+CoDSLHtVoxUP0 OXl3/U7a2HwPAvgH+R2+HuyffI+/lE2MuaxIMDcftR/ko/hi1uxZSZgrRf+SBOwW80X8bz0MDQfm FUhaqBnFVmGnz1u8CNSmTNc889voU+btssNZWDHsJ+9oRRRFEnc5Jb1/FTGITVKqxrjcV9eX7/ev w4Pjq4uT1k98CHNvsRIDao3hljlNaSvPIXk2Gb7uXViBplc5A0i3ckAjPDg43hUO/U6ms1XROusn Sq3vb1Vcx9+qGPtbWVwi5XBlMORUD1tnrRDAw4rnJbUWyl4oWbntmrWycr8aAqyz8iBRecqJa1Xl SPhhNQP1Sta4eE8YFy9dufYHsWo3PMOW1fv+7Puz8x/OWC2UVAr+vwkTSuzZ5aLs2JVMUbGD1lb4 khXdHmNxhA8uYa4V3bZN2g5PsnhByWrkffXx27PWCSsI+K+l7FWOZ4n6Ld+z5TVfHV60WLRJVVtN Vmu7qi2vd//8lFQProqDFL4p17YVSJNi5Sx8i9ktHA346QFJuMOtGpRLGBOUU8919QbBcQU6OspD +GBdcVmvHi21uUOZ7XK6K5oSBzVgk+t/WXb0DIClONyVAWj7wDlbT3vepVp/XNX643qt56wlVDGH 6gad7+AVedXtOoJlGN55lq5u08aG6mEPPatm5aaH+547LowySLf3yNW+ekVzQ0kfoTKc9Zbsn6fn Z+cEoLmnsakkGshw51tSO5RwVB64Kl/l77esD+9Pro/tdswdINGQ5RK4pFZzH9D1ftZzajoNJmZR kupw3lXs2eVNuJz7SSlmHYfCuA/UJHfh9PhqP4TKToE3npxfrsMXucl1vQ+zW/WvrqWifgmzXN9T sZg4e/qyVjMC0xO9m0j8fbJ3U/Gp3k1F+05KcSzDu4n68AUMS7lDbFiaFOy1VC/7vNSw1EZZlsjS Sa0ETuqkUgWeoWOiM8eXUAYV1zIsLT7JsFRDr2VYqqGzDUs1yHLDUg22rmFp8YmGpbqBJxmWFtOG pTGmSw1L46HJNCzVINmGpRoky7A0DaANS11lsw1L4zDrScPS4pqGpap80rA0u3zCsLSYsx0n9eHF WHLEb0h9AJyEKH8RPV+LQLrSDBW44kak52qyIWmjSp9SK7eKWQgz1LHaLvbW/Jf0nY1P9LyJonCe R51GIQn53BZga6ALig/92RxrN2I5kCMYaUJNLQpM3xXwo3+UDD8EN+Tl4YdjAi1I3cwTVfkvVLAI K16n5LnQzGnr7P0R0ND7y8PL8Kx1emieOO5lf/aye2BAz/r3wyxw3Q37osDY/veBhNrdRR/zRQ27 8x09xo6gPdl6KVtof9p8GgVXkcyXaGMV0dhzUHpRtCklMeiF1MC6b65TDh0rbq7TnhzPvblew7Uq 0YHMe/9yzhGwYokJAA3805ZBLNYn6VXdoatbK4NG/rz79Gd6zFj+yrbHjMOhWc1DcZ1KZHqHtNep FWw1nETJaxIRezffjTvpILBmwfj23UTI9HR2dSr9np0t0jVl3ALGVTkAdld0nFp3dLp1tX98LN5I X2Gry6qIu7u2c7ALSxdEVpdNb15XXen3WTWl/f1d9aWcOpdXusTHa5mf5XpTI8fJMTmmW3QqKrEu FdvqPVNkSFquLd/8WNmgRbT0vYoRBLnXWXLHacGhtPyHtjAQJLc2gA9OZ/3uEK8NN8UPMh3nrD+O 7oE3oh3qWrdaeMhSQynTA+wYhQqoFeiZLYmjZEB/DuRfAuTiLfIlpp91ibkFzrTKuQI0wyYLNTtn 8cUFHkg4jn7NKwWBKDZ9r+SraB9kjNPDgIa9KQYYGY566nI0Rn9KvTTu/egBNyhzAcDuYjdMWWwz 8yfz4CFZ0EO0jaE3eRrtjd7dePwoo6snBnzKZ/846/QmAUuneBLIGV3DegT1ArvOHpXtHuE5JT5t JOe6kG4URqCssiGsSP2MtoOCkj+QGPC2P+nP2iMQepVkgyQxvhu1yTKhwNfrze0AjVibsZVh7q4S iPtFtOB7VzKO29p4UYR62yBDY2wCMbibdEnWW0RkCYVm1vN/3rUpUWq0QGNrNGW6oYzuRaJyqYTC yoHe5v+cLdg9T9K2ypZJWqpoijZEILVHkz4v4AgJ6GGXAFWcb3w8oaQfFH2eznOfbjFXbh6fv4Zq CoK+vd4TARcw3qMOylBxQAuv0ZB6DnIIvFZqDWoY/pRFPn6nzpGICT8VgdiQ2MqMT/h8i9vNEZ7w o6p0fTz/+TyMRgFrkNyCrT9FbHZ236HbKDY3g8UMIwjiAD8Ett4n2O9uB7P+P3fELYYFiSZ4oYsP OGNc06MMfbWmtPTI3YZT4J5Rj/IqnYYfWidQhQx0EEh7lsJWvgZf8V6eFqUus7FHd/S7goQ9/Rgz Vi54TtUzGiMDQM05y+QGlFF7GTCC+qG7+4hXgbFJIMCaB2E+xGEGWOqMTGAVVPySXxVFP/C2FS96 gclwzy+vw6ufTt+cn+RjdSKiYb/TCxmXcJrvlG3oNJuhYnLZ2rAOZovNO5mqWNbMOXlVyEbKqUbS 9gY4JVn8srhGh+KsLCKjNTKXT7+8By7UU5utE8LajJ0QtpUNYrNej9fNBsT1rkoHpKBW5wNSkF8m IVBWbfWdWsWdvH4blz39ZdLXCXcOj1rvT66Vw8rx2cHhjznPCMPF6XZcjtGMxM//ECHsUMOFTBr3 m2bta5TcI08/wSbCsFuRkyUg/p1oeOLdryVR8Tdr4uO7XwWpNDmfMm6u7HLMbqt4k1jZbgQ+fi8J dLuDjgr8fx1+lpgDVCifM38Q43NpFH93qglLqD38QIbGZ+dnmEr78qS1f3jAqH8uKex9QOXB92qI f53x/zshX2Tsi6R0JY8T7kMd0PUJfywF+AY1wNoPmtwTPyA9lY+flRLsm/Lfcwr/Kf2VXm7Q3WaN utvwNoOqPV84+AHa6nnb6BUPXwLODZtNHoabkiQRbM0j6qjUPJArWaIhavhNDkezJumhgoNR8Rsg wQiiAHLG9ORnlUYDlYeu8cjqOXSaZOSnlClp03RE9nNJjpmi8RW9YKpO9KIKJO75zl6sNYHJbqxV yO6HUB0JlFd8dkfkksQ12fTrSJweEGcFOlMNuCON4K/vSEW5dpdhzaY7Utd8pkl8pt4EnOEH9AZn pYK9UpyGjTC9VVhnAmRgWNUYNgIHho3AwpBphvgAssKAWSFxxj8LwVqMoIsWGjUngh4PIf6XIOov jmBdI7hi1SGCQQP+wUP4WsNprTF++P3Pwq+hvM3LtboDP2y6ieuo7sX4xTNsLKYgm7dxxt7nr7H1 6lJF1u97U/c9c/0Zfa95KroHUXSFu8673l/c96d3fVt3PXNhG133qOu4TIgsoeuVhlxH9a+u674X 9z2LZ5h9h/8hq5A8I5AbIfGTr6/vvu57JjuK++43GnUk8VrAQkDQyBQC/s37rv7hEARaehyWqxUX z6OdlWJo1JHRBUFDMuGmFIRwaOjnHxmDLzoAq2e+orudze2MXvu1SrMq6V5t5jguKEPV/6S9yK/G ODZcODYSOFYqJAVVq/9CHGsGjlnsw8QxqG8reiH+gc9Yavu6lhB1vh53PpN/mJ33aiizBih8V6UA /vV2viGjkNSrS2beR+7RRA7Jp+IA+QYxzID6TvLCV9j5Jkd/2a4vEZYQAmdXqwQqqAKg2eaJVyqB r63z23Hns8k+7ny9USHhuMozX21w5+tfpcgQeHHcn1VTz0tfEn5VLfrm1zz3gW90P3vZG91vVL2G 7D6d02X3q1+d0ETdD4zur6B97n69Ut02ib/6VRN/BTGH7gfLDok+S8sBCc4+aZY81X3J+La/TuKv mt13zX69Zne/Vt9uyu7/J/S/ZvQ/WyI1+x9s+/850183u5/J+4zuV7crzczui6+u/w2j/9nMz+x/ pdb4z5l+kPka28GDX6ku2/kb2DuEwe2+SaqCptKLcf9paP5qZXuwbfQmm5iN3lSaFVzLNSnD0jUC KoDSp5d//c0BCGXNWh06sx0smZomHj4QBqaiRhor1ZlqhTsT/Bvc51R8ozPZM2N0plKlTRY7Q3Tm e9V/o+4EuOCBa1Sry2SGbbqFqJLuP2igSpVEJexO7d9o2VQqRm+ck5PsTaWCkZx5cqrVuDd/9dyQ /ZiZBIuNB8T4MWwvomGeb4XZ/G3SHvcLlrtiNpQyJEAoHSaHTdqqcPTzMXIehhb16e5ZkFUV2siV DRwGnRDjhtLVc36p82CJo/ZoEH6Bf0vCxI1iSkbTBfkhlMnENuvSe6PXKQlt/4dYcWi/1eXY3ZWw ZmC7Fvm6M50W2G3yKd0s5nLiid3EIs/p5qpyVjcROLubJjEMS+IXpIR1DX/gR3vrtP2xP0DLwKVW OBboahMgCxwtdyplPyj7TeEFO7Xmjld7uh1QqkrTGKixU/WdxkDVUhVWQ6kpTYGizi/l/5OXJmCw kC+PP7QKaA6ItQ86mxEuE/5eBti52EHzvV7/fjMikPD2E3yb3IeMG8AXnwItmykPgy4WBRo1TdIk PuFx0LWr1fipgmyM9qRpZrzWGGIGXHOKGTjnbzc8nA3PF563Q/9/5gTLCtedXq8Ev/wSJZ+A4XzO kKwwezMhnzQoX8j8LbPGCg6LH7hN4GBT9yuiSJ+cmcOwQZ7O+3e9KJy2R/3Fos8hsM1El4NRezFt T/oj29qt7O/idVbrbgFsadEHroXxwGa0t5ilo1m3v395vZ8qbW1v6HvRXRC/i//tCbZuTpiEnl5f XlptTKLxYjazG/AMi1CyW51gDbApvz851IVTPNyuQ9qya7N7VSzm0oPhg7lz8LLEp9J4a3PYy+X2 xMvJh2Fv2H7JBnk1v0Ix5/xAGuQpU2dZfBS1e2H3bjaPZuFwzDGk8JngZ4KfLSIB2Pc+tWfS9hmR 3hHtXm/Wn8/x9VgH+BCd4WLcnoq8j/bH0ax/M6MY0eS4UxIehptodz/y0wLHxsQO7ahAnFid2gVp cMgI/rtpe7YjTJgpdmHR5zCfhNUnTK8q2Ec9GthdGE7EFJMhzqXxNoFK53YH7LzbnsDi6Evwzg3C x3jLqBf51uXbN36tVivAsLVH09s29l4gjc7GWFpE03Z3uHjkuYAlgVlZa0GjVK9KCUnst04wmMXR 5fnpjjkzjFG+wCKUldEta+7ybhnirgn7OgwSiy3sg4KL8VOJPm4T0dtW1U7by5R8NkB2iWuXPvVc PTzEePTw2q+Lzg1/Dm5KiYbJE8RVL0YISD0vCOxQ+fUU0wCVyWOicxMOew9kCo9vGN9NwncT3tE0 KdjBEtiBCSuRRxzwe8EugK+0FzmIPSXxUfIAxqgkxiXMAUxVyV53bqQjSwdDhqM5PlUI62Rz1u/9 zL3g8CuDZgEdKxoF8bvyvrbgb5ADuEoEWSU6o7t+qgBH7fmdvTj8msyK5sRu8GTsHCWWY5cs4MRu ysEm7tubJ1H34/sJeda90k+Bt5D7A495Fwe9yzGmYetow3Yzni6QbwDLWgBbUku+G81md8yQP932 YeVToCP026HIvj/yAZDd2sNhlI+x2H9/eXV+SSYSGKAUf6I/RPw1KHASqqTr7K2ZrAAd4zbIJwUo DRdSQcZPHpsvkOjUi1kfN2nYRmYYk+BVh50V2fvFejMmPzyMl4kI/MII/AIIfNoK4ItGIQfUqrax 4UCwzXpP5MPwDbornB0ct844jRi67IxhlvLs/OMXZHYxriDfsV6Jv8M80ATWxQ7MBn/lsKod+CFz nmJP5Y+i0YSKxgPY32CMosENv4clRCGL5E8rO4IEZQgVlpp8v+irgaXP2HUN9LoKPwrYR+5LKl+D +iEyBkHEo/B7xjDsaIzjDn7RHiba1x3ckevAHHRhDjqILjLBtIFaalr9Jf34E7qxtBdqNsypQXwz +5AYFAdNFv8VtJeaGwfxZfdQiZjkP9hg/8EmHEAq7Gght23yUst7JdqzlPNoan8P76bkGnTfnq3Q TWQn6+t12IlQSdCrQhFxGX68mygmYxIpkMcMEKM2EurtpqPBAHi0Dm2kf3pJSCNsjmpRPUqC2kGL FLTxNFkgEQxJlTAfJ4sk4hapIubjFFp2hCKNl/E4WcSMVqTg9bMk8L0D+D4LmHxQYjj8mapPpk/R deGXpPelpGA4H47bD8MxBmMss2dt9gEh6vyCx8EuOmDCaQrDweFj3PBgf5/1Jyw/ik4E5xf2zfQa pW2QwrcrlVKzoiL+gIiAPtm3ME0gHkBL8/kQg58qggPii0Z3JCWQPEAphtJEjnSJ+R8cFIuvZKgA 6VH+/eHlWfhD6/IMQ1RdHP2Ir+SgveTUOTQOd2PRVlG7HfjEQbENKcNOfPQNn6BjmYMZnQWzgSdb sQWbP/QwLk8L81vipKzqQ7kNzpybc5CIiEC2BOcAy3gv44Db8dAd7ZvjYw3Q4eWlGhw9Ot3obtTj /EOYgartmqbFbRtfL+Z4bI8EMS8BSEWzx2++UXFazEDjPx5jYLDD4zN0zu3PZtEsFSO9zG/jfmTx Od2vXQ31mAHFvE4k6eL47Og8SRSOXiKHw+O3JBQ4yVI+LYoXHpdMoVlKUygHT48jXmRQt6QgV8fz DurYIILaoqHOI4VtONYGSsoF2Bf/x+fk8GusD+g3ZWJQVfxoTX0kZKiiFJrSiTwLFUaj4rvGInM5 O8ci/bAIBxndy+ITioEQGWPlJKYnDPxDcuCfO+I/LRnxx+Ujnp4Q9yC/xmikg8GA+Yur4/zemK1n T0g5l8HTbcboQtLB9NbkY7Qr0oKF/8N44l7W721ublpDG9G2RLvecOHgZmqxp1a7MRvyawejBaFY QbqwtVngM6m1+Pwxpasn94Yit7AMloz/Ze7PZrsgVDf97WD9LdnJavL/1aMgMGqWSoJkMFwoek0s Z8SIhFqthF4ZzgE8M64xd4JnzpADuhLsrhqmb2M8HcNjEPJaQzMft0cjlNpu25hZoj3K5MzCNauf dUTGNJ18G9PO0xD96YmIpjZKN6JGkEuVVk60u93+qC+Drs8iaHLCmTDLQ9Iw86HsU3u4CAeoau2N 3JpWW0vLt3Qh6qSmqNuaTTLUs6il7I5mnv7m8zco5elvvtTEyjgtsYrrzd380VCxYchGEuzpsvDo +Og8PLo8PMwbOrgLwKYkqgowrgpflF9TjG5PnQ32CLVloL4F6meAxuHFKQ8bdW41qC9BVXbJMswW ylMYoEtcnl+UYMVQVlWnAh7H/m4aAlzGdJVxRFcNVE2FC7SQvLptT/sqB1HGEFLyOPkvE8xfCZYc urWh/SS0Cld0BUMIo7IpxPWsPZlTMlBgDNGUty54VYF3lPAY8w3IJbFpByxK0DiUDmG9DntLqBxg UCGBk46xfpLLg+C8hyP5b53vBeMYmz2Rlxg3yTdh41GDd+XX8KeCIYuiqYTBc69YShy6TnMKzMq8 h/39XTQ0eSIL+S2OxrR0lbPa6EWK3ImbZVROG3N2n/ZHQ+gU6cSNTuHT8uvraHrSHyzkSvceEoTP QD/gxd47FY8ak/R4XpMCIpdziRWJ+MigmkurQOmRJUiDYmJikzTT7RLS9gBzEzotrQ+olHw0CfC2 a3gDzko5ez8wLbLUNR/FF36SHi6+27PNtp5Yoz60u2smtWZmhGUYvVcsm6kX6koMpIwSChy7OVSq LCQL0PcpfAkLkujjQm6DqPQlqzO8GqegRSrSmNBZJ1zCK5EbZ4QQIDKL5o4+Hs1AiLa1gXQvlXiG N0+bppaQ5tGvVFC16vs1v9SQCYYzxBIZVT62JzACm32TjMCUv2dGBWPL8fdzVodV6gC+riK1Rgc1 UXFSbRlGkXJo6zRwsvyrVyIdRFEiw9eUWBn/DXWmZfr1ID8fYdaGgwH+ps9HEirxP7MQarj7lPWT C6svj1rpzZVg4EGqRQeLl7wRQZL3YSnUta5KKeVj3fK3eza4ViC9eqUJ+pt8CoTymL5yJLsumAXd NZcN1fa3cpD0BYEeBmdZeW2gx0RCGzXKiwLd029U/UYCcL5CwLeyom+U9gFLPW00OQWtRHrFWOb0 keUxa+gfk+DZY2+YByybB/dEYDtlAxVJXbpXOU2FzqJyHnKaJiV4Oe6eBPkcj9I3qo14Kvg1w1hz 8vgvnRPV2T80IX9oPhQ7eG2xlMR0yKd7WaV3DWDUYllTgHdnuQT5J9pikkreZxGftWPK/owFVdbj NNtV6Qg074Vz4KOZyx6LkKAFSMx12O/Oo84KnMWU7S1y82YxSGwRKoJf/ugNJlfl0NlXZFNg7BdL t4tEs2YqE71fKbjlZ/0sLYLFrDJO4kZCkbge152dPMynL3vybK1E3VZCRAHw8wrOHVju1rhLY8DJ ig61qSWA8bwTzqSoB881M2NZwHhrviShwHxXjt+RMDNNSBHyIazpG0qNYj40MfDUJvgHq9rzdtOC JUff9OokuQTbFW11bEjAcC67WrRnixZb7VmWMx0QowpsLOOScmnSiJQBpc3ERav8uWvBPDovY/W0 VSqMajWoqWlL9Ch9LzgYjkYzvOwra2PEWLnSVyZ5CKUD5a64PNQ5wCVS9SaMGyAVh22N763+8ImN j3+Zpww8vbK1UHYbb8iykpsxZ5afqyN/C3UlbMvG3Wo0+GBCnhlskrtGI8mDmmrk/aQLR6lpv3cJ c9Ge3IxQcbCpDnB7pJvN4zyVX/ce2KoBLbnkE5Iqx538kyq3Tm1mA2zqmWiDjTp3v8D5Ore1RTaf SDP75xc/adSLaxwXpf5vgyeh6vlMW9tBaXvlFIxAVK8kh2i00Ofkq1kXz8l5DN8cTfDK3RwE+ewh u/wB7Ldm+Z6jfO8hY6qwHvscreuR9rSpumiecLCdzEU18tkwezYVG91ogkGYw84NB//362wUB78K cnS3mZ3UmvHKzfVA0gDkyBJTXw7YjenpqflVqqDuNWQFjnM1G+S6bWzjp9KscIM/pVbkeSauRct+ NMHNb6NP74a9/j5jlTSDlHy2VvG4X0FVOWXlTKXeZev0oLX/M2aF87yK521Vacj6PGbxGZc7g8kv FiDJg6yy//4yvDoEcaX1VmcsM41k51KDqQvi790UmDR+V1D4Uwk2YmnDKqGISFTI1rw6aZkqbj7e zSikcpvZZSTpytHcpqTofh2kjUpTDucSy+NUbbFJsrvgIKvgwCio0hYmBicfj87+aeuCnaON4RK/ 63Nu/OLi/MoC5AlVlol3TbKu/9lh3rrVpNxKCIIq8qUgpp121nhIuIEbbpCEm4dT0gztxSRizFex wSbEGrynwWPkFPpovZ5h6s1VKqpkw/AVduFSZ4J5JsLO3SAEkRy956RwK3Vm0+ED7bFsNy+Ro5/a in6uHmaSt0rttl5TbI2vm4JulJ7SkpBJGDJJ7upd6+LQIiUkQpUcRTkJrDfOTzOSJ+uC9S3kU+Dr mcfTUD/NPj4DsSzjeDdiKy3jCbG1TOMFW8hm+ncw3bCnSHEJHIk5TLpMVejfAbsUW3rlXFNLq7Ik lkDElEZJSpDWLKj+BO3fCon9SD21drUlW6NfSB2emLM3a6UAExc0QADwlVWg5T/d69+T+7KW+wYd RNApD/whxxZhexYjKbDVpdAnLFTgoAr+6A2aiYVHJy1Mt0Uh5q1jmNjTRpXScfeeW9BmFTEE/EAJ Tb7pRFPS8ROO8BZ+xuVsLz68RLUe7MqsMaYXXFmb/EnvN7LOtnykX2m0mRWVRMqvm3RV7InvlVRY EiPpA7dC831HuZh0p6m5rQ3xQ198whMiGnti+hRoYjgYwlBLWEo5S7cSK0exjNcPcnIkCKlz1DOj Q0R1UL49goVJAOpll5izKkLrNKeEt7rfIOGtETTleV7iNJ/Ohov+JvqoMdM39jW57yVA8Zw8n2vg IAUQU1R4cfwjcO7w+Dw+51i3Ssl5Si8phX8FD5548mzUQAzluxSdWshIqMN5N2SkgITgHfYG05Bz hmBqjDVMIywDd2PGnnfB5spVpPLnEaEhVuyfRIo4mca5bCc8fdI9mgmezObAOzEM3S934ymeS1W+ McH5xmQ6vnm/q2yVVUbF4p6oUSYcKDzrY1PycokX2DzWYVqrtJhYpVnLU4mWtqq4lNZ8m+tWqPO3 MsePk14XjVTXsNM1C/FhnRyEQ+lpEOe8LiaT0w882lyrRtFbTuKji1UcxbxBwd3io9VizSzayGzx PtFi3VHM0eLt+T1edI7ujBabZlHf57JdT0oQRtkrNNRXxxkJv+0qXHHgazWs4GFCgK9UC446vG4K gXsbAaMS1VtHNZUUKqSvG7W7/Z5ZixyzpkeyUCMGR7+DhQPSV1KThqSs8GlAr06AhlrottVdhGR8 KRf7vfGA7A70fiNb30PpTOe5jFt7hVbyMkugXa+/64L2Deh7G5pWMGam0lnv1dqnFayNlhN3D7Ji vGc4vtoP/avrkDN2mvfE+vzy9CvaVVeuR8eXV9f6gkjnBEwWU45WqSs3kgtflDON5HMvOTQADMfB 0YXgKAIY84Rvz5FN78TG8SIe3pidlERitceUcBMtcCeinUHOWZy7ukyYPW0LMveYsiEsuncnJYql ZJDnOk+/KCtjJdNtKzEeuwmoxxTUowMqcXm0Rp1uaGfdS3y8bEjbWARNYZMQhheYrwNZbIl4P0oW SCSwNzeUskhybfUkZoWFZH0JV7FEDUnohJdY3txdZGP3qebvlzSf8CFL1JCENt3Hkj1Lwt4nYe+z YaXzmGfRZBZXFYl/Gk4z1EIaKN1cZqL77Abun9uAFcHLaAFYhkgOm3SSM2lZIxBvhg4MjOLcdDJQ Po4upWeHrSOCc8/s03DeL9EuMhjOlJkR0AEe6/Ey0NhLlELLybA9YtjqOiR1Cx/njctlrkp5Y0tX eSGfQ7gTrf39w5Oj8PrwR3Pg4m+ucx4zZza20wf4mCWrDHvLtfjT7hCP+8BL4S9r8N2JAlnkt2qG 51KRQoVZNSEzyDIH3xGx+xrsIbNh/16miqWN6vxIup0pt2yYsh9//JFOrDR1Ytxf3Ea9eRwDJ5Ff MA7mtB+fJZ569aCmVOYIHAbdsHM3n/fn+taGS86iDr/tRpMJbL/RjPVDPsy+Ph/F8L3+qO+sTgW+ UZ90P+PYVHGc5UacsZumz4JYBrM/LtfXFJ+3BT/3ckdpVF2HXByTgtLVueQIee4u5lxJhPWwl5Jn y4Iy4EjKhobRoFL9uZq1zvzsNQu1AWXOiC2wJkXHcCqJT3191CR3TDqOapZmyVR7KPI6kRtOpnfy 8ufg+OoiPDg4jhV+R9DYBYl68cIn5QOqHOiuphk0S4G8+moDxc0W+WkPrbXwGEq6C/l01h2aj6Uu DOodzNrjfuduAMI2a3DyKFZGg+QEF5Dke+XXuO5poLn4x7GrkKQ/KPP26CJEafaQsSGWIokyl4Mx itATK4zuFoyUmg8mMuu20H7lbtdA1mpY2hEZVdDZ32w//DiAFcG8geOhSE7nlYS7c3y7y6BGzY4S Gq1CoiPQOWTFIEj0TA0oX2tsYgQqo6v1qtiQodkdo+ooKacbl5qzp67H5IZp9N+qkrqm0ZDLBPrY bS/ysaJ1E9OeA72VX1NYTXm92NimrMF+s6GzZ/L+0v/nHRq+oQMc36ibVY3Hwyico2GPVMAn35HO Re49Lwvy0tThJyVedtsT3pRgPcCedHp6fC6v8LW/tHM4nMOk3MzgrzWd3cVsFJKIAdQbzfqoDM3o Do1K0wvYfKXZxEt+adak6R4NjePqeYnYW73ajQuspUvtIpKflQ1zcwthulNozbq3Qzxe3s36huX5 2Yewdbn/LvQqZHwO/PASoP2g+be5wMv14zN0LBtOSNf80mAkL4FhgjAnu9jgW/pt5FnSQMelJ8Vg dKwlLS7V0+vN2zUG1ku9K6oNxbDOMy856DXZ4i0hH3IYFcpPGC9LhnCmk66qsMNod3qLWIbR3QTV 34OOXAbNbTkajbo25ojdQGHl2A+MQAR5XHNq6bnAiK5kNw2N9QsHMjuMzLZXJ7ud7e0KUiEvSgbK u8kau6iqw3VAD70danHUh++r17FwLGGkUHvd7bwo2gsO26BvabaEfU6VlsAmyzdwp5d2lcZrNTxA uZjwO/Bq26XAU6Y3cSDGPZCG4DD6N+9vuzrwRPwWCEr8/rsRtxG1b/KW0KyjLAMxYZiP4eSuzwY9 sX8+umBMuuNpfnE7nKNKGhieFkNelsS2Ynu5OMCkju5kVOqK/biyIY4ICa3UdSsySKSzCXVTJavl AFhGVMg9oepm0+Tljce+Jy+BPnVEKSPEpQMJZcKe1azDl5XyC3sBrczA92vyQopv98KL1uVpeHB4 tZ83hL+Xh3Q5Oxf9B8wYP+5PFsAOEEAp59iSmoK1zDFyJLDYKbCP+abIewIe+nt8v9sraJa85xWI iRgNx/QEbQ6TbyVaBsgRfp+D1IqhHqOBaONBEg4MdyPYTYjggF8Td2/reKM4QoP2cBSjZqAUgxFu RRO3eCIUcsUUchbM+WT0SGe9mG/OYw3mS5YoXHRqtsr0p1p8UmRaZj0U7Xed8LQm+Joxas0iXzB8 r1XtU4P4emSTqTxYqbHMYLhybMqCA62KIcZMFlzytD2kQETsHdCaDMV/R/Pbofi2/Qt+fje/7Y9G m3eT4UMnetjsRuPXuuh+NH1kW3FEHsouIjh8RqK1KQ7a01F7DpX0+Mt302i0Oekv4sJvgFx7Ah3M 24DsRM+Ien8Na1tQqG30c7/joEmwCaNYgrFK56JNQU2BN/FlIKwLfPf27L1425/0Z7ByL+46oyFV KU6G3f5k3t8U4qrP9+hUN9rIYuAEKe+M26hQGs5IK/DIVULzbRSl7vtUES79MQZj5GvMufICRpXG pDu6A/71Lc8G4DYY3mzevk6/gjVyN+o7X33sz4DTOF/Nu7f9nvNNrz9qPzrfTLtD5/NBhx6bL9rz 8dYwSj6WYvjm7Uvz4ebmFgpi9BSec/xF9jg+ONgXOe+h5uGbtGJjijIDcMzuKI9PN6RZDkc5htO7 9Pg1D1mkq8EIB7kN+kgoKvRrDka569Ag5aSCA8FiS9VKQDFaRixhfnjbCn+49JqGl/HF/vE5mkdX enA847K9XpePAkV2oM5xTgEsfHmQUZhCtuBVa+zVorpK7aPy0HsI6NqdNlj5+NWe+B/5/Pn4LS1W K1FOhN/xzrEgg5stmbNe+3/nzJozP2PO/L9ozrQJCk3ZTXKZ/QXzJN2InjwWWr+zzix5VT0tLDuu O8fybMliI1PV8uG0VsB/7HA2E8OZcw6S4vrHwX7YOnl7Tip8IbCCPktByWHkaAdSk54xMPjXTiIi s7389oKd7mddHgBUUU0f89xPlDNAKthE2JKQKqpizn4ZfQKxAAPOX787vgpZ+kxDcUx6q1NpoPbo JgpxChH2lXwHz9KQmIsAxhqOEjGkVhKS5tUoAzVsMqPFepPM1wHYHaUBu6ME4I2jxhtXjTeOGm9c Nd6RwIGAVS/xagHHJjht47sg+Y7sqfENPpN0hTOPahscL3yff2WNHxNyYVffBV62h8Apr/ZPSP67 OmjxvV9qo2I68uN7HFPyMF9yX/KBp7gBXu4SjQ4Rqx7Rqo2UXk0Iu4cqJlwvMJVhr3OTd04ynGyA pATUJf5rTirKOVQE4hyZdmiCVVsJ1vWpPZtkVnYkTegiXZeI609UKpcuLRxaufHWnr4rWxKFhbVG gA96uMGPHN2V71pv/Mw3Ab1RN6EKABeyVGFmqy7xtlB4pKyE44U6hD/2+SDOV4zyaKMO5EwVdvN6 n+WILTWO/uDgTK/MYjDYb95fBS+NK7+irUr1vZ3ko8DbEclnXnXHRsmPUcohQpX6Ggj5EiGfo9yl dLpWC16yhf4aLXiyBY9b+JwimvSN6BKi0XdnBuHQ9qKWGNSWxmDTXGnJ4kLlHimm6vfXqt/Pqt9P 1W+KA+gGwgMQGbfIeA5aspfJYYCypCkVMlaQ3vgRejy/EfDf/Gd0ZSN1GOvESBEKE6fOVWyzit7W 8NCXvzp3A9xZ5AUEKspKYmlxMliQW9wpCANWrWQQcHJ49vb6nawMSWCXe7ABbfGowxfjEsss5Lyj A3Cp51vJ2M7vKLtJHCiSYyBIHibnhd0iccRgxhgXjRrdm8Ggkhf6AJMKJDYULIfOwsi6AzP2AFex ko+/Jw0fs952j+0gyCxzU2HL+mfstMF+JepEUFoichkjLImKBzCcvmQD9d1IeTF5beDPmHS1dSR8 TZpGVkxTSGCqB6xWwQCC4lM0+yiZp6wwg+SN9YR4lX0ZrQLHnzBjvzBtFql8AA3MczndD2gHPzTF xDXERouGrO7JkXyGonDzdm3V3ObtkxSEm7fp5G2V7T+kHOQq10zeVsfkbfLKJ1sZlXrFqiDjMWNx f9N2ao5QTZfxvDx0q6fwFQqAZeDHrF8Stn4Jc7/dvpThJ9++PQZKH0+B53aGo+HiUYzb3VlEWzpH jWAHYXXxqM4hZ+9Pw7eX++Hl4durXA647Lb9rnUdv/NreCUJjaHQRPZIEhDYZAjCJQC2DsLT1tX3 Ul7h5BjILpKQP1weXx8aoAxZS0IetDLqrDgg3XXiKZdG6DYa9ea0ZEknoVSfcLbD3DB9koz7DwsQ VkBExOtdcftJgpJeXg15d5PCTRzhs+9h1KPZ8IZDyWzKRGUxJwIxcw4Mg25VKNxYpYLWKnFcgHc/ hFfXretDbHlX5vMsJnjZLu+mjr0yeZBWjI92HuXLMoomNzAaSqRJ7KKSwQv5mXyLJzaSB/AQIs9q n+liNdnub0aXjs+urunNLpkOoUnjoN1l7q9GkS+4KZVcvRTA0NRqpUBeiqMrr3RFJL9kjAIgKsFW 9R8q+px8iyYMC8uVjk+/hrPORF5Dactvw+aY3samuCVhGLvCDzK6VWD3Bti9CXZvgWkLVXgRf42t OhUcWbzCtjqcd+G0Js2Q5buEraMqYthRpbwH91mCV8Oj78HwwZsoGomrPmr91SOE0SZVxpxbFpFZ F6US9jfODjtrj3f1Nw5NtCs+C7yYiq9BM/Q9tA9W/qEI39CeAisbRxMWtx0GdgBt07e2dAARCH3y nlSk/dDrjj46yzxdgN99xklx94sKN3x1qI1KQtLGHL0J3+GSW3fvn0eDhXTJXXE/aEKu3vlNaEf6 ymds/MtqrO/U6u59n8JJVX3lcPn8KA1xRHpl92DDkos3JcigNEXoYhlNH6VzaBpU23JamPAbT0Y2 W6MShmNPveUV6lQdDkf9/tQRKYOekvFATqaexI2tFsSBR54adOMPRSDJCC2yZpiS1RFILs6vsgOQ OEJY9B6ygn70HtPAj2wMVQ9QLivWm2hloy0CM4OiYAwGMht1O/frGAB0KLB96NEOx+Vxj1Hslo6B tDl5YpVMh6srRqO6LXEwa4PI1b4HFt0GzkkOc2IvUblJUBsiDkWW8DkoCjM4yNJqNrIqieOLAH7k Y4a1QNWxSzYlQYh/8txnNAbUsgRh7buY63GYRPbbJut0ddPlpipVKdqRYTilUEaWK0pHvyfXR7O2 pE6kLhwRmCmK9GHtqxsFkSerW1W9cmOH8dviaGPps3WgD9eU9swnU9DmtuYppsF0ksyQ/JYSmKav K0QYhX6kLhAHepQFQKWI/F9y+4vITfzV9LbdIONPr66jPcXZKBIhSNjpd2srI64NNIG47MaBJch0 Fz+YQXfgbG5H7jHr4A3esK7nPMX015XPVu50C2HFiLDMQo03ZWkiiAV0IKEkfPzCBF8ehylJ/ViA ydcVmAsmXFanoeO4TXnV0lKqh2J80OthtOuNnvGEAzdZQ6UjNjHEcEzhffjH8ghFMTn3Ep4WrLJt XZ+fHu/HKrxvAJijuOo4pmfnp4enBKAcJBBl6Rgh55vHSg3ChgslOXTFeOLiomg+YT+2CFKGn5We LexK6w4epVB64fAMd4ZYM53Dk8ln1RxTAlqWAzZ6IMzv0QzAl1c0WZjsNo7+u16QKxVbSvdSxbiK Q2zhIOuIV/Ktqwuqu6sXq1qfCN1eRONhF46E3byF2mY3upss5KyOp+G4E4btwQIdiuIS/FoaZc9V LKSEIW72OU3qALdiPWTyfJSGcJ3L0lDPPY+tqKmyU6nuBDXnOSyo1Mh9Cz8bnqWZ/HB41QrfkXPt 1furi8OzA1brBQmQi/MfDi8Pzn84i/1kK3icUEDoT3ZxeoV+uccfDsPzoyMG8tMgVjvUVBrkunV2 8OYnDVI1jToM1zXLb9dPg7TOWmHD88KK57ma0iB+NQyaddWUCwSd2sMqV9PMbsiTDfl1F8an52fn JsYVBz6Xb99Yvao7EDp9f3Jt9t0PHCi9P/v+zJyvoJbE6er47VnrJDw7PzuM6/JcIG9OWmff89/U QEuQq8OL1iXqWB0DLUH2z09BUjyWMFVnLUiI52fh28vDw7PEQOuGLqGdYwA6P3MMNMXjuLg8PoXm Ts4vXaSRCNkhMRaoxjki/+0DFQbomkOBDOdGeBC2qDVClGIGnzax5zBEnSoAPezq8STVLHo9st17 NBDsV7Ol4SmQHcWH5d8Yqc74+QntDYzfUP3jrl340S78mCj8mFQnm5GTfosz7aT6xB+G5tKVt3hX 9pKe2R7vgENTiHF7cjdok8XE7OfqP+KhwVKnxkurEMeC/9m3CqhCMlD81WKmI7VwsXl/NmyPwkmU KriFuZTwpTi7G3fsxtrz7nDoaIpK/R0ghR5QM2ZLCtQeAilbGzNNke9TbSQ6dYpAZinuk6tYqk9l ygR1Y/QOyj/22zNno1j+J3hpzlDPLPmp3/+YWfIHeGlOX49z+XLJ2wEsnN0cXeHewh78T87kB3va eLgQ+Xe/FhLQbVgyJjgF6EiAlxHcr4t7o/L7zMoNaKjchHbVrVBBHTXW7uwynek4zMmy7lAd7YeV dbj7qM9dN4uBEDtwPEjVIc2M5uLt9VGiUG86nlMh6q8GxF1VzywMCrmBZ1FibzifjtqPYvE4xaTR 8368qWyYlWBbUIdOCIhlqSFlBhWXxU3dLIrYZtM0vRTXVvOS+1sIrEcIxScRgoK+aY+B9WWM0Ft8 CbgZnH3OrN2z6nDPoHsSVSG8rMpcdKcYd4rDeuiRoe1sw+RnqLcHlNwESEYhEgIzPRnlZv37obsg lANYvLxVMDFXJBb/ELroXbJ4Tqd8G82Gv0bkt0YHqnx3XLD3iYfwcVUlGLt82E1WIW+2jD3+A4ss /HF89hYv3T0fp15mMh894uy14wo5+I+8yK94TbpIrlek16xRtRkWmkySXW85gi+a2zvfHv/fwxz6 T1hyiamEh6JVZ9HWCQosmFaPg6rKfRl6NY3ULXjFx8jtxUqjqsLjy1XXXzBf+ITxIxYRJWhUjAve s/aFQWTk9WiyBWdZEwhTLxBEB7arqYimKh2nuWWR5t+eQZVBnm8JqEKpS0DFgdkmZYlERRpXKXUQ qC1IUoWqk3U3VGdyRG6jxa5RN/wU82m0SADzSZRP9ATO4W6Nij/zHUKNE5rVtn0V2daUu/dPvpdJ ZxjFivUaONj55eHpOcnkSBqeeYJSod1Mud1Lv2aZ9ZCOT376NZ2cWpf0Oki/xrOcGr9q+nWcscg6 5VhR52RpErzJlANO03Qb3sG7ZLqaDjmE3jx/F5JlgIwNVhL8+3YRLTBZL/+65190sSfrZhP7ZGwZ FQdj19EsbkX5VcVo/qoBaiExNYEKDrAkb5/dFMeUIQuzhCUEPjNjnjoi3qTQltmKSOgLaQ+ar6o2 Ee6U/NC5SroMd4WveXaNXxBJ1W/nIQJPG3x/z6K1u3rEZqPXkaozkeh1rw9VR4+qhiWHFVYtoYzT hxNdd0i5bnB5mzXOb6NPmdPMF/9Yg3U/ztWzwQ3RWYP4RB3IjTcQ/IesUYdz242f4SPjJ8Ue2+Vz GYXxh/1eW29IYxEZCfr/A8qx9+vLPQEA ------=_20040112225904_70246-- ------------------------------------------------------- This SF.net email is sponsored by: Perforce Software. Perforce is the Fast Software Configuration Management System offering advanced branching capabilities and atomic changes on 50+ platforms. Free Eval! http://www.perforce.com/perforce/loadprog.html