Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.mixmin.net!goblin1!goblin2!goblin.stu.neva.ru!newsfeed.xs4all.nl!newsfeed2.news.xs4all.nl!xs4all!post.news.xs4all.nl!not-for-mail Return-Path: X-Original-To: python-list@python.org Delivered-To: python-list@mail.python.org X-Spam-Status: OK 0.002 X-Spam-Evidence: '*H*': 1.00; '*S*': 0.00; 'package,': 0.03; 'static': 0.04; 'subject:Python': 0.06; 'modify': 0.07; '#include': 0.09; 'feature.': 0.09; 'idea?': 0.09; 'imported': 0.09; 'def': 0.12; 'wrote': 0.14; '__future__': 0.16; '__init__.py': 0.16; "module's": 0.16; 'porting': 0.16; 'subject:Dev': 0.16; 'subject:import': 0.16; 'subject:python2.7': 0.16; 'sys.path': 0.16; 'tuple': 0.16; 'fix': 0.17; 'thanks,': 0.17; 'module': 0.19; 'subject:] ': 0.20; 'import': 0.22; 'print': 0.22; 'module,': 0.24; 'skip:{ 20': 0.24; 'source': 0.25; 'skip:" 40': 0.26; 'this:': 0.26; 'pass': 0.26; 'skip:" 20': 0.27; 'correct': 0.29; 'skip:p 30': 0.29; 'related': 0.29; 'absolute': 0.30; 'null;': 0.31; 'python2.7': 0.31; 'relative;': 0.31; 'skip:= 40': 0.31; 'skip:d 70': 0.31; 'skip:s 70': 0.31; 'void': 0.31; 'file': 0.32; 'class': 0.32; 'skip:c 30': 0.32; 'worked': 0.33; 'to:name:python- list': 0.33; 'skip:_ 10': 0.34; 'skip:d 20': 0.34; 'skip:s 30': 0.35; 'beyond': 0.35; 'but': 0.35; 'there': 0.35; 'skip:" 50': 0.36; 'should': 0.36; 'two': 0.37; 'skip:& 10': 0.38; 'to:addr :python-list': 0.38; 'skip:& 20': 0.39; 'subject:[': 0.39; 'to:addr:python.org': 0.39; 'skip:p 20': 0.39; 'how': 0.40; 'name': 0.63; 'skip:n 10': 0.64; 'sample': 0.67; 'export': 0.74; '2.7.': 0.84; 'investigated': 0.84; 'message-id:@qq.com': 0.84; 'received:qq.com': 0.84; 'subject:& ': 0.84; 'x-mailer:qqmail 2.x': 0.84 X-QQ-FEAT: QbRhzDPP8Q5r7veQR8BNqKSWMOpcWZMxTcMRBXn2GvyJ3Bi3zAcfSRipr2O94 5r65+pKgAKMyuaUvHXp4WDZTkvFwxoujTxuP8OSGR8tx63aMLRkO8APjhcXDfdriKnRN7F0 LrWV4TkdiURDpmKURQ== X-QQ-SSF: 000000000000001000000000000000Z X-HAS-ATTACH: no X-QQ-BUSINESS-ORIGIN: 2 X-Originating-IP: 202.108.26.25 X-QQ-STYLE: X-QQ-mid: webmail404t1395294701t613410 From: "=?gb18030?B?sbGx+dHz?=" To: "=?gb18030?B?cHl0aG9uLWxpc3Q=?=" Subject: [Python-Dev] Issues about relative& absolute import way for Portingfrom python2.4 to python2.7 Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_NextPart_532A81ED_08D30A10_1EFA1B3F" Content-Transfer-Encoding: 8Bit Date: Thu, 20 Mar 2014 13:51:41 +0800 X-Priority: 3 X-QQ-MIME: TCMime 1.0 by Tencent X-Mailer: QQMail 2.x X-QQ-Mailer: QQMail 2.x X-QQ-SENDSIZE: 520 X-QQ-Bgrelay: 1 X-BeenThere: python-list@python.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: General discussion list for the Python programming language List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Newsgroups: comp.lang.python Message-ID: Lines: 228 NNTP-Posting-Host: 2001:888:2000:d::a6 X-Trace: 1395294714 news.xs4all.nl 2893 [2001:888:2000:d::a6]:39212 X-Complaints-To: abuse@xs4all.nl Xref: csiph.com comp.lang.python:68567 This is a multi-part message in MIME format. ------=_NextPart_532A81ED_08D30A10_1EFA1B3F Content-Type: text/plain; charset="gb18030" Content-Transfer-Encoding: base64 RGVhciwNCg0KDQpJIGp1c3Qgd3JvdGUgYSBzYW1wbGUgbGlrZSB0aGlzOg0KdGVzdFB5Lw0K ICAgICAgICAgX19pbml0X18ucHkNCiAgICAgICAgIGNsaWVudC5weQ0KICAgICAgICAgU29h bUZhY3RvcnkuYw0KICAgICAgICAgU29hbUZhY3Rvcnkuc28NCiAgICAgICAgIHNvYW1hcGku cHkNCiAgICAgICAgIHNhbXBsZS90ZXN0UC5weQ0KZXhwb3J0IFBZVEhPTlBBVEg9JChURVNU X0xPQ0FUSU9OKTokKFRFU1RfTE9DQVRJT04pL3Rlc3RQeQ0KSGVyZSdzIHRoZSBzb3VyY2Ug Y29kZXM6DQpfX2luaXRfXy5weToNCmltcG9ydCBjbGllbnQNCmNsaWVudC5weQ0KaW1wb3J0 IHNvYW1hcGkNCmNsYXNzIENsaWVudChzb2FtYXBpLlNlc3Npb25DYWxsYmFjayk6DQoNCg0K ICBkZWYgX19pbml0X18oc2VsZik6DQogICAgcHJpbnQgIi0tLS1jbGFzcyBDbGllbnQtLS0t Ig0KICAgIHN1cGVyKENsaWVudCwgc2VsZikuX19pbml0X18oKQ0KICAgIHNvYW1hcGkuaW5p dGlhbGl6ZSgpDQoNCg0KICBkZWYgY3JlYXRlX3Nlc3Npb24oc2VsZik6DQogICAgc2VjX2Ni ID0gc29hbWFwaS5EZWZhdWx0U2VjdXJpdHlDYWxsYmFjaygpDQogICAgc2VsZi5jb25uZWN0 aW9uID0gc29hbWFwaS5jb25uZWN0KHNlY19jYikNCg0Kc29hbWFwaS5weQ0KaW1wb3J0IFNv YW1GYWN0b3J5DQoNCg0KY2xhc3MgQ29ubmVjdGlvblNlY3VyaXR5Q2FsbGJhY2sob2JqZWN0 KTogIA0KICBkZWYgX19pbml0X18oc2VsZik6DQogICAgcHJpbnQgIi0tLS1jbGFzcyBDb25u ZWN0aW9uU2VjdXJpdHlDYWxsYmFjay0tLS0iDQoNCg0KICBkZWYgX19kZWxfXyhzZWxmKToN CiAgICBwYXNzDQoNCg0KICBkZWYgdGVzdF9QKHNlbGYpOg0KICAgIHByaW50ICJ0ZXN0X1Ag aW4gY2xhc3MgQ29ubmVjdGlvblNlY3VyaXR5Q2FsbGJhY2siDQoNCg0KY2xhc3MgRGVmYXVs dFNlY3VyaXR5Q2FsbGJhY2soQ29ubmVjdGlvblNlY3VyaXR5Q2FsbGJhY2spOg0KICBkZWYg X19pbml0X18oc2VsZik6DQogICAgc3VwZXIoRGVmYXVsdFNlY3VyaXR5Q2FsbGJhY2ssIHNl bGYpLl9faW5pdF9fKCkNCiAgICBwcmludCAiLS0tLWNsYXNzIERlZmF1bHRTZWN1cml0eUNh bGxiYWNrLS0tLSINCg0KDQogIGRlZiBfX2RlbF9fKHNlbGYpOg0KICAgIHN1cGVyKERlZmF1 bHRTZWN1cml0eUNhbGxiYWNrLCBzZWxmKS5fX2RlbF9fKCkNCg0KDQogIGRlZiB0ZXN0KHNl bGYpOg0KICAgIHByaW50ICJ0ZXN0IGluIGNsYXNzIERlZmF1bHRTZWN1cml0eUNhbGxiYWNr Ig0KDQoNCmNsYXNzIFNlc3Npb25DYWxsYmFjayhvYmplY3QpOg0KICBkZWYgX19pbml0X18o c2VsZik6DQogICAgcGFzcw0KICANCiAgZGVmIF9fZGVsX18oc2VsZik6DQogICAgcGFzcw0K DQoNCmRlZiBjb25uZWN0KHNlY3VyaXR5X2NhbGxiYWNrKToNCiAgcmV0dXJuIFNvYW1GYWN0 b3J5LlNvYW1GYWN0b3J5X2Nvbm5lY3Qoc2VjdXJpdHlfY2FsbGJhY2spDQoNCg0KZGVmIGlu aXRpYWxpemUoKToNCiAgU29hbUZhY3RvcnkuU29hbUZhY3RvcnlfaW5pdGlhbGl6ZSgpDQoN Cg0KcHJpbnQgImNhbGwgc29hbWFwaSINCg0KU29hbUZhY3RvcnkuYw0KI2luY2x1ZGUgIlB5 dGhvbi5oIg0KI2luY2x1ZGUgIlB5dGhvbkxvb3AuYyINCg0KDQpQeU9iamVjdCogU09BTV9B UElfTU9EVUxFID0gTlVMTDsNClB5T2JqZWN0KiBweU1vZHVsZSA9IE5VTEw7DQoNCg0Kc3Rh dGljIFB5T2JqZWN0KiBTb2FtRmFjdG9yeV9pbml0aWFsaXplKFB5T2JqZWN0KiBzZWxmLCBQ eU9iamVjdCogYXJncyl7DQogICAgUHlFdmFsX0luaXRUaHJlYWRzKCk7DQogICAgaW5pdCgp Ow0KICAgIFB5X1JFVFVSTl9OT05FOw0KfQ0KDQoNCnN0YXRpYyBQeU9iamVjdCogU29hbUZh Y3RvcnlfY29ubmVjdChQeU9iamVjdCogc2VsZiwgUHlPYmplY3QqIGFyZ3Mpew0KICAgIFB5 T2JqZWN0KiBweVNlY0NhbGxiYWNrID0gTlVMTDsNCiAgICBpbnQgb2sgPSBQeUFyZ19QYXJz ZVR1cGxlKGFyZ3MsICJPIiwgJnB5U2VjQ2FsbGJhY2spOw0KICAgIGlmICghb2spew0KICAg ICAgICBwcmludGYoInBhcnNlIHR1cGxlIGVycm9yIVxuIik7DQogICAgICAgIFB5X1JFVFVS Tl9OT05FOw0KICAgIH0NCiAgICBpZiAoISBQeU9iamVjdF9Jc0luc3RhbmNlKHB5U2VjQ2Fs bGJhY2ssIGNvbm5lY3RTZWNDYWxsYmFjaykpew0KICAgICAgICBwcmludGYoInB5U2VjQ2Fs bGJhY2sgaXMgbm90IGFuIGluc3RhbmNlIG9mIENvbm5lY3Rpb25TZWN1cml0eUNhbGxiYWNr IVxuIik7DQogICAgICAgIFB5X1JFVFVSTl9OT05FOw0KICAgIH0NCiAgICBwcmludGYoIlN1 Y2Nlc3NmdWwhXG4iKTsNCiAgICBQeV9SRVRVUk5fTk9ORTsNCn0NCg0KDQpzdGF0aWMgUHlN ZXRob2REZWYgU29hbUZhY3RvcnlbXSA9IHsNCiAgICB7IlNvYW1GYWN0b3J5X2Nvbm5lY3Qi LCBTb2FtRmFjdG9yeV9jb25uZWN0LCBNRVRIX1ZBUkFSR1MsICJjb25uZWN0aW9uIGZ1bmN0 aW9uIn0sDQogICAgeyJTb2FtRmFjdG9yeV9pbml0aWFsaXplIiwgU29hbUZhY3RvcnlfaW5p dGlhbGl6ZSwgTUVUSF9WQVJBUkdTLCAiU29hbUZhY3RvcnlfaW5pdGlhbGl6ZSJ9LA0KICAg IHtOVUxMLCBOVUxMfQ0KfTsNCg0KDQp2b2lkIGluaXRTb2FtRmFjdG9yeSgpew0KICAgIFB5 RXZhbF9Jbml0VGhyZWFkcygpOw0KICAgIFB5X0luaXRpYWxpemUoKTsNCiAgICBweU1vZHVs ZSA9IFB5X0luaXRNb2R1bGUoIlNvYW1GYWN0b3J5IiwgU29hbUZhY3RvcnkpOw0KICAgIFNP QU1fQVBJX01PRFVMRSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgic29hbWFwaSIpOw0KfQ0K DQpzYW1wbGUvdGVzdFAucHkNCmltcG9ydCB0ZXN0UHkNCg0KDQpwcmludCAiPT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSINCnN1Ym1pdHRlciA9IHRlc3RQeS5j bGllbnQuQ2xpZW50KCkNCnN1Ym1pdHRlci5jcmVhdGVfc2Vzc2lvbigpDQpwcmludCAiPT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSINCg0KDQoNCldoZW4gSSBy YW4gaXQgb24gcHl0aG9uMi40LCBpdCB3b3JrZWQgd2VsbCwgYW5kIHRoZSByZXN1bHQgd2Fz DQpjYWxsIHNvYW1hcGkNCmFmdGVyIGltcG9ydCBzb2FtYXBpLS0tLS0tY2xpZW50LnB5DQo9 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQotLS0tY2xhc3MgQ2xp ZW50LS0tLQ0KLS0tLWNsYXNzIENvbm5lY3Rpb25TZWN1cml0eUNhbGxiYWNrLS0tLQ0KLS0t LWNsYXNzIERlZmF1bHRTZWN1cml0eUNhbGxiYWNrLS0tLQ0KU3VjY2Vzc2Z1bCENCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gICANCiAgICAgDQpCdXQgd2hl biBJIHJhbiBpdCBvbiBweXRob24yLjcsIGl0IHdvcmtlZCBiZXlvbmQgbXkgZXhwZWN0YXRp b24sIHRoZSByZXN1bHQgd2FzIA0KY2FsbCBzb2FtYXBpDQpjYWxsIHNvYW1hcGkNCj09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCi0tLS1jbGFzcyBDbGllbnQt LS0tDQotLS0tY2xhc3MgQ29ubmVjdGlvblNlY3VyaXR5Q2FsbGJhY2stLS0tDQotLS0tY2xh c3MgRGVmYXVsdFNlY3VyaXR5Q2FsbGJhY2stLS0tDQpweVNlY0NhbGxiYWNrIGlzIG5vdCBh biBpbnN0YW5jZSBvZiBDb25uZWN0aW9uU2VjdXJpdHlDYWxsYmFjayENCj09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0NCg0KDQoNCkkgZm91bmQgdGhhdCBzb2Ft YXBpIHdhcyBpbXBvcnRlZCB0d2ljZSwgYW5kIEkgaW52ZXN0aWdhdGVkIHRoaXMgaXMgcmVs YXRlZCB0byBhYnNvbHV0ZSZyZWxhdGl2ZSBpbXBvcnQgd2F5LiAgUHlJbXBvcnRfSW1wb3J0 TW9kdWxlIGluIHB5dGhvbjIuNyB1c2VzIGFic29sdXRlIGltcG9ydCB3YXksIGl0IHdpbGwg bG9vayB1cCBzeXMucGF0aCB0byBnZXQgc29hbWFwaSBtb2R1bGUsIGFuZCB3aGVuIHRlc3RQ LnB5IGZpbGUgaW1wb3J0IHRlc3RQeSBtb2R1bGUsIGl0IHdpbGwgZmluZCBsb2NhbCBtb2R1 bGUgc29hbWFwaSB1bmRlciB0ZXN0UHkgcGFja2FnZSwgYW5kIGJpbmRzIG1vZHVsZSdzIG5h bWUgdG8gcGFja2FnZSwgYXMgdGVzdFB5LnNvYW1hcGkuDQpUaGVyZSBhcmUgdHdvIHdheXMg dG8gY29ycmVjdCBpdCBmb3IgcHl0aG9uMi43LCAxKSBEb24ndCB1c2UgaW1wb3J0IHRlc3RQ eSwgdXNlIGltcG9ydCBjbGllbnQgZGlyZWN0bHkgdG8gYXZvaWQgdXNpbmcgcmVsYXRpdmU7 IDIpIFVzZSBmcm9tIF9fZnV0dXJlX18gaW1wb3J0IGFic29sdXRlX2ltcG9ydCB0byBlbmFi bGUgYWJzb2x1dGUgaW1wb3J0IGZlYXR1cmUuDQoNCg0KQnV0IHRoZXJlIGFyZSB0d28gUHJl LWNvbmRpdGlvbnM6DQoxKSBTaG91bGQgbm90IG1vZGlmeSB0ZXN0UC5weTsNCjIpIFNob3Vs ZCBiZSByYW4gb24gYm90aCBweXRob24yLjQgYW5kIDIuNy4NCg0KDQpJIGRvbid0IGtub3cg aG93IHRvIGZpeCBpdC4gSXMgdGhlcmUgYW55IG9mZmljaWFsIHdheSBhYm91dCBob3cgdG8g cG9ydGluZyB0aGlzIHNjZW5hcmlvIG9yIGJldHRlciBpZGVhPw0KDQoNClRoYW5rcywNClZh dGVs ------=_NextPart_532A81ED_08D30A10_1EFA1B3F Content-Type: text/html; charset="gb18030" Content-Transfer-Encoding: base64 PGRpdj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNTsiPkRlYXIsPC9zcGFuPjwvZGl2 PjxkaXY+PGRpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkkganVzdCB3cm90ZSBhIHNhbXBsZSBs aWtlIHRoaXM6PC9kaXY+PGRpdj50ZXN0UHkvPC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7X19pbml0X18ucHk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDtjbGllbnQucHk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsg Jm5ic3A7ICZuYnNwOyAmbmJzcDtTb2FtRmFjdG9yeS5jPC9kaXY+PGRpdj4mbmJzcDsgJm5i c3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7U29hbUZhY3Rvcnkuc288L2Rpdj48ZGl2PiZuYnNw OyAmbmJzcDsgJm5ic3A7ICZuYnNwOyAmbmJzcDtzb2FtYXBpLnB5PC9kaXY+PGRpdj4mbmJz cDsgJm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7c2FtcGxlL3Rlc3RQLnB5PC9kaXY+PGRp dj5leHBvcnQgUFlUSE9OUEFUSD0kKFRFU1RfTE9DQVRJT04pOiQoVEVTVF9MT0NBVElPTikv dGVzdFB5PC9kaXY+PGRpdj5IZXJlJ3MgdGhlIHNvdXJjZSBjb2Rlczo8L2Rpdj48ZGl2Pjxi Pl9faW5pdF9fLnB5OjwvYj48L2Rpdj48ZGl2PmltcG9ydCBjbGllbnQ8L2Rpdj48ZGl2Pjxi PmNsaWVudC5weTwvYj48L2Rpdj48ZGl2PjxkaXY+aW1wb3J0IHNvYW1hcGk8L2Rpdj48ZGl2 PmNsYXNzIENsaWVudChzb2FtYXBpLlNlc3Npb25DYWxsYmFjayk6PC9kaXY+PGRpdj48YnI+ PC9kaXY+PGRpdj4mbmJzcDsgZGVmIF9faW5pdF9fKHNlbGYpOjwvZGl2PjxkaXY+Jm5ic3A7 ICZuYnNwOyBwcmludCAiLS0tLWNsYXNzIENsaWVudC0tLS0iPC9kaXY+PGRpdj4mbmJzcDsg Jm5ic3A7IHN1cGVyKENsaWVudCwgc2VsZikuX19pbml0X18oKTwvZGl2PjxkaXY+Jm5ic3A7 ICZuYnNwOyBzb2FtYXBpLmluaXRpYWxpemUoKTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+ Jm5ic3A7IGRlZiBjcmVhdGVfc2Vzc2lvbihzZWxmKTo8L2Rpdj48ZGl2PiZuYnNwOyAmbmJz cDsgc2VjX2NiID0gc29hbWFwaS5EZWZhdWx0U2VjdXJpdHlDYWxsYmFjaygpPC9kaXY+PGRp dj4mbmJzcDsgJm5ic3A7IHNlbGYuY29ubmVjdGlvbiA9IHNvYW1hcGkuY29ubmVjdChzZWNf Y2IpPC9kaXY+PC9kaXY+PGRpdj48Yj5zb2FtYXBpLnB5PC9iPjwvZGl2PjxkaXY+PGRpdj5p bXBvcnQgU29hbUZhY3Rvcnk8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PmNsYXNzIENvbm5l Y3Rpb25TZWN1cml0eUNhbGxiYWNrKG9iamVjdCk6ICZuYnNwOzwvZGl2PjxkaXY+Jm5ic3A7 IGRlZiBfX2luaXRfXyhzZWxmKTo8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgcHJpbnQgIi0t LS1jbGFzcyBDb25uZWN0aW9uU2VjdXJpdHlDYWxsYmFjay0tLS0iPC9kaXY+PGRpdj48YnI+ PC9kaXY+PGRpdj4mbmJzcDsgZGVmIF9fZGVsX18oc2VsZik6PC9kaXY+PGRpdj4mbmJzcDsg Jm5ic3A7IHBhc3M8L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PiZuYnNwOyBkZWYgdGVzdF9Q KHNlbGYpOjwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBwcmludCAidGVzdF9QIGluIGNsYXNz IENvbm5lY3Rpb25TZWN1cml0eUNhbGxiYWNrIjwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+ Y2xhc3MgRGVmYXVsdFNlY3VyaXR5Q2FsbGJhY2soQ29ubmVjdGlvblNlY3VyaXR5Q2FsbGJh Y2spOjwvZGl2PjxkaXY+Jm5ic3A7IGRlZiBfX2luaXRfXyhzZWxmKTo8L2Rpdj48ZGl2PiZu YnNwOyAmbmJzcDsgc3VwZXIoRGVmYXVsdFNlY3VyaXR5Q2FsbGJhY2ssIHNlbGYpLl9faW5p dF9fKCk8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgcHJpbnQgIi0tLS1jbGFzcyBEZWZhdWx0 U2VjdXJpdHlDYWxsYmFjay0tLS0iPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj4mbmJzcDsg ZGVmIF9fZGVsX18oc2VsZik6PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IHN1cGVyKERlZmF1 bHRTZWN1cml0eUNhbGxiYWNrLCBzZWxmKS5fX2RlbF9fKCk8L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2PiZuYnNwOyBkZWYgdGVzdChzZWxmKTo8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsg cHJpbnQgInRlc3QgaW4gY2xhc3MgRGVmYXVsdFNlY3VyaXR5Q2FsbGJhY2siPC9kaXY+PGRp dj48YnI+PC9kaXY+PGRpdj5jbGFzcyBTZXNzaW9uQ2FsbGJhY2sob2JqZWN0KTo8L2Rpdj48 ZGl2PiZuYnNwOyBkZWYgX19pbml0X18oc2VsZik6PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7 IHBhc3M8L2Rpdj48ZGl2PiZuYnNwOyA8L2Rpdj48ZGl2PiZuYnNwOyBkZWYgX19kZWxfXyhz ZWxmKTo8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgcGFzczwvZGl2PjxkaXY+PGJyPjwvZGl2 PjxkaXY+ZGVmIGNvbm5lY3Qoc2VjdXJpdHlfY2FsbGJhY2spOjwvZGl2PjxkaXY+Jm5ic3A7 IHJldHVybiBTb2FtRmFjdG9yeS5Tb2FtRmFjdG9yeV9jb25uZWN0KHNlY3VyaXR5X2NhbGxi YWNrKTwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+ZGVmIGluaXRpYWxpemUoKTo8L2Rpdj48 ZGl2PiZuYnNwOyBTb2FtRmFjdG9yeS5Tb2FtRmFjdG9yeV9pbml0aWFsaXplKCk8L2Rpdj48 ZGl2Pjxicj48L2Rpdj48ZGl2PnByaW50ICJjYWxsIHNvYW1hcGkiPC9kaXY+PC9kaXY+PGRp dj48Yj5Tb2FtRmFjdG9yeS5jPC9iPjwvZGl2PjxkaXY+PGRpdj4jaW5jbHVkZSAiUHl0aG9u LmgiPC9kaXY+PGRpdj4jaW5jbHVkZSAiUHl0aG9uTG9vcC5jIjwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+UHlPYmplY3QqIFNPQU1fQVBJX01PRFVMRSA9IE5VTEw7PC9kaXY+PGRpdj5Q eU9iamVjdCogcHlNb2R1bGUgPSBOVUxMOzwvZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+c3Rh dGljIFB5T2JqZWN0KiBTb2FtRmFjdG9yeV9pbml0aWFsaXplKFB5T2JqZWN0KiBzZWxmLCBQ eU9iamVjdCogYXJncyl7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IFB5RXZhbF9Jbml0VGhy ZWFkcygpOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBpbml0KCk7PC9kaXY+PGRpdj4mbmJz cDsgJm5ic3A7IFB5X1JFVFVSTl9OT05FOzwvZGl2PjxkaXY+fTwvZGl2PjxkaXY+PGJyPjwv ZGl2PjxkaXY+c3RhdGljIFB5T2JqZWN0KiBTb2FtRmFjdG9yeV9jb25uZWN0KFB5T2JqZWN0 KiBzZWxmLCBQeU9iamVjdCogYXJncyl7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IFB5T2Jq ZWN0KiBweVNlY0NhbGxiYWNrID0gTlVMTDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgaW50 IG9rID0gUHlBcmdfUGFyc2VUdXBsZShhcmdzLCAiTyIsICZhbXA7cHlTZWNDYWxsYmFjayk7 PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IGlmICghb2spezwvZGl2PjxkaXY+Jm5ic3A7ICZu YnNwOyAmbmJzcDsgJm5ic3A7IHByaW50ZigicGFyc2UgdHVwbGUgZXJyb3IhXG4iKTs8L2Rp dj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQeV9SRVRVUk5fTk9ORTs8L2Rp dj48ZGl2PiZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBpZiAoISBQ eU9iamVjdF9Jc0luc3RhbmNlKHB5U2VjQ2FsbGJhY2ssIGNvbm5lY3RTZWNDYWxsYmFjaykp ezwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyAmbmJzcDsgJm5ic3A7IHByaW50ZigicHlTZWND YWxsYmFjayBpcyBub3QgYW4gaW5zdGFuY2Ugb2YgQ29ubmVjdGlvblNlY3VyaXR5Q2FsbGJh Y2shXG4iKTs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7ICZuYnNwOyBQeV9SRVRV Uk5fTk9ORTs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgfTwvZGl2PjxkaXY+Jm5ic3A7ICZu YnNwOyBwcmludGYoIlN1Y2Nlc3NmdWwhXG4iKTs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsg UHlfUkVUVVJOX05PTkU7PC9kaXY+PGRpdj59PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5z dGF0aWMgUHlNZXRob2REZWYgU29hbUZhY3RvcnlbXSA9IHs8L2Rpdj48ZGl2PiZuYnNwOyAm bmJzcDsgeyJTb2FtRmFjdG9yeV9jb25uZWN0IiwgU29hbUZhY3RvcnlfY29ubmVjdCwgTUVU SF9WQVJBUkdTLCAiY29ubmVjdGlvbiBmdW5jdGlvbiJ9LDwvZGl2PjxkaXY+Jm5ic3A7ICZu YnNwOyB7IlNvYW1GYWN0b3J5X2luaXRpYWxpemUiLCBTb2FtRmFjdG9yeV9pbml0aWFsaXpl LCBNRVRIX1ZBUkFSR1MsICJTb2FtRmFjdG9yeV9pbml0aWFsaXplIn0sPC9kaXY+PGRpdj4m bmJzcDsgJm5ic3A7IHtOVUxMLCBOVUxMfTwvZGl2PjxkaXY+fTs8L2Rpdj48ZGl2Pjxicj48 L2Rpdj48ZGl2PnZvaWQgaW5pdFNvYW1GYWN0b3J5KCl7PC9kaXY+PGRpdj4mbmJzcDsgJm5i c3A7IFB5RXZhbF9Jbml0VGhyZWFkcygpOzwvZGl2PjxkaXY+Jm5ic3A7ICZuYnNwOyBQeV9J bml0aWFsaXplKCk7PC9kaXY+PGRpdj4mbmJzcDsgJm5ic3A7IHB5TW9kdWxlID0gUHlfSW5p dE1vZHVsZSgiU29hbUZhY3RvcnkiLCBTb2FtRmFjdG9yeSk7PC9kaXY+PGRpdj4mbmJzcDsg Jm5ic3A7IFNPQU1fQVBJX01PRFVMRSA9IFB5SW1wb3J0X0ltcG9ydE1vZHVsZSgic29hbWFw aSIpOzwvZGl2PjxkaXY+fTwvZGl2PjwvZGl2PjxkaXY+PGI+c2FtcGxlL3Rlc3RQLnB5PC9i PjwvZGl2PjxkaXY+PGRpdj5pbXBvcnQgdGVzdFB5PC9kaXY+PGRpdj48YnI+PC9kaXY+PGRp dj5wcmludCAiPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSI8L2Rp dj48ZGl2PnN1Ym1pdHRlciA9IHRlc3RQeS5jbGllbnQuQ2xpZW50KCk8L2Rpdj48ZGl2PnN1 Ym1pdHRlci5jcmVhdGVfc2Vzc2lvbigpPC9kaXY+PGRpdj5wcmludCAiPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PSI8L2Rpdj48L2Rpdj48ZGl2Pjxicj48L2Rp dj48ZGl2PldoZW4gSSByYW4gaXQgb24gcHl0aG9uMi40LCBpdCB3b3JrZWQgd2VsbCwgYW5k IHRoZSByZXN1bHQgd2FzPC9kaXY+PGRpdj48aT5jYWxsIHNvYW1hcGk8L2k+PC9kaXY+PGRp dj48aT5hZnRlciBpbXBvcnQgc29hbWFwaS0tLS0tLWNsaWVudC5weTwvaT48L2Rpdj48ZGl2 PjxpPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08L2k+PC9kaXY+ PGRpdj48aT4tLS0tY2xhc3MgQ2xpZW50LS0tLTwvaT48L2Rpdj48ZGl2PjxpPi0tLS1jbGFz cyBDb25uZWN0aW9uU2VjdXJpdHlDYWxsYmFjay0tLS08L2k+PC9kaXY+PGRpdj48aT4tLS0t Y2xhc3MgRGVmYXVsdFNlY3VyaXR5Q2FsbGJhY2stLS0tPC9pPjwvZGl2PjxkaXY+PGk+U3Vj Y2Vzc2Z1bCE8L2k+PC9kaXY+PGRpdj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNTsi PjxpPj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT08L2k+PC9zcGFu PiZuYnNwOyAmbmJzcDs8L2Rpdj48ZGl2PiZuYnNwOyAmbmJzcDsgJm5ic3A7PC9kaXY+PGRp dj48c3BhbiBzdHlsZT0ibGluZS1oZWlnaHQ6IDEuNTsiPkJ1dCB3aGVuIEkgcmFuIGl0IG9u IHB5dGhvbjIuNywgaXQgd29ya2VkIGJleW9uZCBteSBleHBlY3RhdGlvbiwgdGhlIHJlc3Vs dCB3YXMgPC9zcGFuPjwvZGl2PjxkaXY+PGRpdj5jYWxsIHNvYW1hcGk8L2Rpdj48ZGl2PmNh bGwgc29hbWFwaTwvZGl2PjxkaXY+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PTwvZGl2PjxkaXY+LS0tLWNsYXNzIENsaWVudC0tLS08L2Rpdj48ZGl2Pi0tLS1j bGFzcyBDb25uZWN0aW9uU2VjdXJpdHlDYWxsYmFjay0tLS08L2Rpdj48ZGl2Pi0tLS1jbGFz cyBEZWZhdWx0U2VjdXJpdHlDYWxsYmFjay0tLS08L2Rpdj48ZGl2PnB5U2VjQ2FsbGJhY2sg aXMgbm90IGFuIGluc3RhbmNlIG9mIENvbm5lY3Rpb25TZWN1cml0eUNhbGxiYWNrITwvZGl2 PjxkaXY+PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PTwvZGl2Pjwv ZGl2PjxkaXY+PGJyPjwvZGl2PjxkaXY+SSBmb3VuZCB0aGF0IHNvYW1hcGkgd2FzIGltcG9y dGVkIHR3aWNlLCBhbmQgSSBpbnZlc3RpZ2F0ZWQgdGhpcyBpcyByZWxhdGVkIHRvIGFic29s dXRlJmFtcDtyZWxhdGl2ZSBpbXBvcnQgd2F5LiAmbmJzcDs8c3BhbiBzdHlsZT0ibGluZS1o ZWlnaHQ6IDEuNTsiPlB5SW1wb3J0X0ltcG9ydE1vZHVsZSBpbiBweXRob24yLjcgdXNlcyBh YnNvbHV0ZSBpbXBvcnQgd2F5LCBpdCB3aWxsIGxvb2sgdXAgc3lzLnBhdGggdG8gZ2V0IHNv YW1hcGkgbW9kdWxlLCBhbmQgd2hlbiB0ZXN0UC5weSBmaWxlIGltcG9ydCB0ZXN0UHkgbW9k dWxlLCBpdCB3aWxsIGZpbmQgbG9jYWwgbW9kdWxlIHNvYW1hcGkgdW5kZXIgdGVzdFB5IHBh Y2thZ2UsIGFuZCBiaW5kcyBtb2R1bGUncyBuYW1lIHRvIHBhY2thZ2UsIGFzIHRlc3RQeS5z b2FtYXBpLjwvc3Bhbj48L2Rpdj48ZGl2PlRoZXJlIGFyZSB0d28gd2F5cyB0byBjb3JyZWN0 IGl0IGZvciBweXRob24yLjcsIDEpIERvbid0IHVzZSBpbXBvcnQgdGVzdFB5LCB1c2UgaW1w b3J0IGNsaWVudCBkaXJlY3RseSB0byBhdm9pZCB1c2luZyByZWxhdGl2ZTsgMikgVXNlIGZy b20gX19mdXR1cmVfXyBpbXBvcnQgYWJzb2x1dGVfaW1wb3J0IHRvIGVuYWJsZSBhYnNvbHV0 ZSBpbXBvcnQgZmVhdHVyZS48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PkJ1dCB0aGVyZSBh cmUgdHdvIFByZS1jb25kaXRpb25zOjwvZGl2PjxkaXY+MSkgU2hvdWxkIG5vdCBtb2RpZnkg dGVzdFAucHk7PC9kaXY+PGRpdj4yKSBTaG91bGQgYmUgcmFuIG9uIGJvdGggcHl0aG9uMi40 IGFuZCAyLjcuPC9kaXY+PGRpdj48YnI+PC9kaXY+PGRpdj5JIGRvbid0IGtub3cgaG93IHRv IGZpeCBpdC4gSXMgdGhlcmUgYW55IG9mZmljaWFsIHdheSBhYm91dCBob3cgdG8gcG9ydGlu ZyB0aGlzIHNjZW5hcmlvIG9yIGJldHRlciBpZGVhPzwvZGl2PjxkaXY+PGJyPjwvZGl2Pjxk aXY+VGhhbmtzLDwvZGl2PjxkaXY+VmF0ZWw8L2Rpdj48L2Rpdj48L2Rpdj4= ------=_NextPart_532A81ED_08D30A10_1EFA1B3F--