Return-Path: Delivered-To: apmail-lucene-hadoop-user-archive@locus.apache.org Received: (qmail 43633 invoked from network); 27 Oct 2007 00:22:35 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 27 Oct 2007 00:22:35 -0000 Received: (qmail 71900 invoked by uid 500); 27 Oct 2007 00:22:22 -0000 Delivered-To: apmail-lucene-hadoop-user-archive@lucene.apache.org Received: (qmail 71320 invoked by uid 500); 27 Oct 2007 00:22:21 -0000 Mailing-List: contact hadoop-user-help@lucene.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: hadoop-user@lucene.apache.org Delivered-To: mailing list hadoop-user@lucene.apache.org Received: (qmail 71311 invoked by uid 99); 27 Oct 2007 00:22:21 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 26 Oct 2007 17:22:21 -0700 X-ASF-Spam-Status: No, hits=-4.0 required=10.0 tests=MIME_BASE64_BLANKS,RCVD_IN_DNSWL_MED,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of vercego@us.ibm.com designates 32.97.182.142 as permitted sender) Received: from [32.97.182.142] (HELO e2.ny.us.ibm.com) (32.97.182.142) by apache.org (qpsmtpd/0.29) with ESMTP; Sat, 27 Oct 2007 00:22:26 +0000 Received: from d01relay04.pok.ibm.com (d01relay04.pok.ibm.com [9.56.227.236]) by e2.ny.us.ibm.com (8.13.8/8.13.8) with ESMTP id l9R0M0u5005010 for ; Fri, 26 Oct 2007 20:22:00 -0400 Received: from d01av02.pok.ibm.com (d01av02.pok.ibm.com [9.56.224.216]) by d01relay04.pok.ibm.com (8.13.8/8.13.8/NCO v8.5) with ESMTP id l9R0M0mw128592 for ; Fri, 26 Oct 2007 20:22:00 -0400 Received: from d01av02.pok.ibm.com (loopback [127.0.0.1]) by d01av02.pok.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id l9R0LxWg011196 for ; Fri, 26 Oct 2007 20:21:59 -0400 Received: from d01ml604.pok.ibm.com (d01ml604.pok.ibm.com [9.56.227.90]) by d01av02.pok.ibm.com (8.12.11.20060308/8.12.11) with ESMTP id l9R0Lxqw011188 for ; Fri, 26 Oct 2007 20:21:59 -0400 In-Reply-To: Subject: Re: Poly-reduce? To: hadoop-user@lucene.apache.org X-Mailer: Lotus Notes Release 7.0 HF277 June 21, 2006 Message-ID: From: Vuk Ercegovac Date: Fri, 26 Oct 2007 17:21:58 -0700 X-MIMETrack: Serialize by Router on D01ML604/01/M/IBM(Release 8.0|August 02, 2007) at 10/26/2007 20:21:59 MIME-Version: 1.0 Content-type: text/plain; charset=UTF-8 Content-transfer-encoding: base64 X-Virus-Checked: Checked by ClamAV on apache.org V2UgZm91bmQgTWFwL1JlZHVjZSBqb2IgY29tcG9zaXRpb24gdG8gYmUgdXNlZnVsIHdoZW4gaW50 ZXJtZWRpYXRlIHJlc3VsdA0Kc2l6ZXMgd2VyZSBjb21wYXJhYmxlIG9yIGxhcmdlciB0aGFuIHRo ZSBzaXplIG9mIHRoZWlyIGlucHV0Lg0KDQpXZSBpbXBsZW1lbnRlZCBhIHByb3RvdHlwZSB3aGVy ZSBpbnRlcm1lZGlhdGUgTWFwL1JlZHVjZSBzdGVwcyBhcmUgY29tcG9zZWQNCmludG8gIGEgc2lu Z2xlIHRhc2suIFBpY3RvcmlhbGx5LCB3ZSB0cmFuc2Zvcm0gYSBzZXF1ZW5jZSBvZiBNYXAgYW5k IFJlZHVjZQ0Kam9iczoNCiAgICBNIC0+IFIsIE0gLT4gUiwgTSAtPiBSICAgICAgLy8gZGVmYXVs dCBiZWhhdmlvcg0KaW50bzoNCiAgICBNIC0+IFJ8TSAtPiBSfE0gLT4gUiAgICAgICAgLy8gd2l0 aCBjb21wb3NpdGlvbg0KDQpIZXJlLCAg4oCcUnxN4oCdICBkZW5vdGVzIHRoZSBjb21wb3NpdGlv biBvZiBhIFJlZHVjZSAoUikgd2l0aCBhIHN1YnNlcXVlbnQgTWFwDQooTSksICBhbGxvd2luZyAg dGhlICBvdXRwdXQgIG9mICBSICB0byAgYmUgIGRpcmVjdGx5ICBjb25zdW1lZCBieSBNLiBJbiBv dXINCnByb3RvdHlwZSwgIHRoZSAgcHJvZ3JhbW1lciAgcHJvdmlkZXMgIHRoZSAgc2FtZSAgTWFw IGFuZCBSZWR1Y2UgY2xhc3NlcyBhcw0KYmVmb3JlLCAgYXMgd2VsbCBhcyB0aGUgc2VxdWVuY2Ug b2YgTWFwL1JlZHVjZSBqb2JzIHRvIHJ1bi4gVGhlbiwgdW5kZXIgdGhlDQpjb3ZlcnMsICB0aGUg c3lzdGVtIHRha2VzIGNhcmUgb2YgY29tcG9zaW5nIHRoZSBpbnRlcm1lZGlhdGUgTWFwIGFuZCBS ZWR1Y2UNCnN0ZXBzLg0KDQpUbyAgaWxsdXN0cmF0ZSBob3cgdGhpcyBjYW4gaW1wcm92ZSBwZXJm b3JtYW5jZSwgZGVub3RlIGEgcmVhZCBhbmQgd3JpdGUgdG8NCkhERlMgIGFzICDigJxyaOKAnSAg YW5kICDigJx3aOKAnSwgcmVzcGVjdGl2ZWx5LCBhbmQgZGVub3RlIGEgcmVhZCBhbmQgd3JpdGUg dG8gdGhlDQpsb2NhbCAgZmlsZSAgc3lzdGVtICByZWFkICBhcyAg4oCccmzigJ0sICBhbmQgIOKA nHds4oCdLiAgRmluYWxseSwgZGVub3RlIGEgbmV0d29yaw0KdHJhbnNmZXIgIGJ5ICDigJxu4oCd LiAgVGhlbiwgIGluICB0ZXJtcyBvZiBkaXNrIGFuZCBuZXR3b3JrIEkvTywgdGhlIHR3byBjYXNl cw0KYWJvdmUgY2FuIGJlIGRlc2NyaWJlZCBpbiBtb3JlIGRldGFpbCBhczoNCiAgICBNKHJoLCAg d2wsICBuKSAgLT4gIFIod2wsIHJsLCB3aCksICBNKHJoLCB3bCwgbikgLT4gUih3bCwgcmwsIHdo KSAgICAvLw0KZGVmYXVsdCBiZWhhdmlvcg0KdmVyc2VzOg0KICAgIE0ocmgsIHdsLCBuKSAtPiBS fE0od2wsIHJsLCB3bCwgbikgLT4gUih3bCwgcmwsIHdoKSAgICAgICAgICAgICAgICAgIC8vDQp3 aXRoIGNvbXBvc2l0aW9uDQoNCkNvbXBhcmluZyAgdGhlICB0d28gIGNhc2VzLCAgdGhlcmUgIGFy ZSAgdHdvICBrZXkgcG9pbnRzIHRvIG5vdGljZTogMSkgRWFjaA0KY29tcG9zZWQgIFJ8TSAgdGFz ayBlbGltaW5hdGVzIGFuIEhERlMgcmVhZCBhbmQgd3JpdGUsIDIpIElmIGEgbm9kZSB3aXRoIGFu DQpSfE0gIHRhc2sgIGZhaWxzICBiZWZvcmUgIGl0cyAgb3V0cHV0ICBpcyAgY29uc3VtZWQsIHRo ZSB3aG9sZSB0YXNrIG11c3QgYmUNCnJlLWV2YWx1YXRlZCwgIHNpbmNlICBkYXRhICBpcyAgbm90 IHdyaXR0ZW4gdG8gSERGUy4gVGhpcyByZS1ldmFsdWF0aW9uIGNhbg0KcG90ZW50aWFsbHkgIGNh c2NhZGUgYmFjayB0byBhIE1hcCB0YXNrIGZyb20gdGhlIGZpcnN0IHN0ZXAgYnV0IGl0IGRvZXMg bm90DQpuZWNlc3NhcmlseSByZXF1aXJlIHRoYXQgdGhlIHdob2xlIGpvYiBiZSByZS1ldmFsdWF0 ZWQuDQoNClRvICBjb21wYXJlICB0aGUgIHR3byBjYXNlcyBhbmFseXRpY2FsbHksIGFzc3VtZSBm b3IgdGhlIHNha2Ugb2Ygc2ltcGxpY2l0eQ0KdGhhdCAgdGhlICBzaXplICBvZiB0aGUgaW5wdXQg ZGF0YSBpcyBlcXVhbCB0byB0aGUgc2l6ZSBvZiBpbnRlcm1lZGlhdGUgYW5kDQpvdXRwdXQgIGRh dGEuIExldCBhIOKAnHBhc3PigJ0gb3ZlciB0aGUgZGF0YSBkZW5vdGUgcmVhZGluZyBvciB3cml0 aW5nIHRoZSBkYXRhDQp0byAgZGlzayAgb3IgdHJhbnNmZXJyaW5nIHRoZSBkYXRhIG92ZXIgdGhl IG5ldHdvcmsuIFRoZW4gd2l0aCBOIE1hcC9SZWR1Y2UNCmpvYnMsIHdlIGhhdmU6DQogICAgKE4g IGpvYnMqIDIgdGFza3Mvam9iICogMyBwYXNzZXMvam9iKSA9IDYqTiBwYXNzZXMgICAgICAgICAg IC8vIGRlZmF1bHQNCmJlaGF2aW9yDQp2ZXJzZXM6DQogICAgMyAgICAgICAgICAgICAgICsgICAg ICAgICAgICAgICA0KihOLTEpICAgICAgICAgICAgICAgKyAgICAgICAgICAgICAgIDMNCnBhc3Nl cyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyAgICAgd2l0aA0KY29tcG9zaXRpb24NCg0KQ29tcGFyaW5nICB0aGUgIHR3byAgY2FzZXMs ICB3ZSAgaGF2ZSA2ICsgNiooTi0xKSBwYXNzZXMgdmVyc2VzIDYgKyA0KihOLTEpDQpwYXNzZXMs IHdoaWNoIGlzIGEgc2F2aW5ncyBvZiAzMyUgd2l0aCBjb21wb3NpdGlvbi4NCg0KV2l0aCAgb3Vy ICBwcm90b3R5cGUgIHJ1bm5pbmcgb24gYSAxMC1ub2RlIGNsdXN0ZXIsIHdlIGFjaGlldmVkIGEg MTUgdG8gMjAlDQpzcGVlZHVwICBvbiBhIHdvcmtsb2FkIHdpdGggMy0gdG8gNS13YXkgam9pbnMg dXNpbmcgTWFwL1JlZHVjZSBjb21wb3NpdGlvbi4NCk5vdGUgIHRoYXQgIHdlICB1c2VkICBhICBy ZXBsaWNhdGlvbiAgZmFjdG9yIG9mIDEgd2hlbiB3cml0aW5nIEhERlMgaW4gYm90aA0KY2FzZXMu ICBXaGlsZSAgd2UgIGhhdmUgIG5vdCB5ZXQgZXhwbG9yZWQgc2NoZWR1bGluZyBhbmQgb3RoZXIg b3B0aW1pemF0aW9uDQppc3N1ZXMsICBrbm93aW5nICB0aGF0ICBtdWx0aXBsZSAgam9icyAgYXJl ICByZWxhdGVkICBtYXkgIGxlYWQgIHRvIGZ1cnRoZXINCmltcHJvdmVtZW50cyBpbiBwZXJmb3Jt YW5jZS4NCg0KT3VyIHByb3RvdHlwZSBkaWQgYWRkIGNvbXBsZXhpdHkgdG8gdGhlIEpvYlRyYWNr ZXIsIHNpbmNlIG5vdyBhIHNlcXVlbmNlIG9mDQpNYXAvUmVkdWNlICBqb2JzICBtdXN0ICBiZSAg Y29uZmlndXJlZCBhbmQgdHJhY2tlZC4gVGhpcyBtYWtlcyBqb2IueG1sIG1vcmUNCmNvbXBsaWNh dGVkLiAgQWxzbywgIGFzICBub3RlZCBlYXJsaWVyLCBhbiBpbnRlcm1lZGlhdGUgUnxNIHN0ZXAg d3JpdGVzIGl0cw0Kb3V0cHV0ICB0byB0aGUgbG9jYWwgZmlsZSBzeXN0ZW0gaW5zdGVhZCBvZiBI REZTLiBTbyBpZiBpdHMgbm9kZSBmYWlscywgdGhlDQpvdXRwdXQgIG9uIHRoYXQgbm9kZSBpcyBs b3N0LiBCdXQgaWYgdGhlIG91dHB1dCBvZiBSfE0gc3RlcHMgYXJlIHdyaXR0ZW4gdG8NCkhERlMg IGluc3RlYWQsICB0aGVuICB3ZSAgY2FuICBzdGlsbCAgYXZvaWQgIDIgIHBhc3NlcyBvdmVyIHRo ZSBkYXRhLCB3aGlsZQ0KYmVuZWZpdGluZyAgZnJvbSAgdGhlIGZhdWx0IHRvbGVyYW5jZSB0aGF0 IEhERlMgcHJvdmlkZXMgdG8gYXZvaWQgY2FzY2FkaW5nDQpyZS1ldmF1bGF0aW9uLiBXZSBkaWQg bm90IGltcGxlbWVudCB0aGlzLCBob3dldmVyLg0KDQpUbyBzdW1tYXJpemUsIE1hcC9SZWR1Y2Ug Y29tcG9zaXRpb24gY2FuIGltcHJvdmUgdGhlIHBlcmZvcm1hbmNlIG9mIGENCnNlcXVlbmNlIG9m IE1hcC9SZWR1Y2Ugam9icyBieSBlbGltaW5hdGluZyBkaXNrIEkvTyBmb3IgaW50ZXJtZWRpYXRl DQpyZXN1bHRzLiBIb3dldmVyLCBpdCBjb21lcyB3aXRoIGluY3JlYXNlZCBzeXN0ZW0gY29tcGxl eGl0eSBhbmQgcG9zc2libHkNCm1vcmUgcmUtZXZhbHVhdGlvbnMgaW4gdGhlIGZhY2Ugb2Ygbm9k ZSBmYWlsdXJlcy4gV2Ugd291bGQgYmUgaW50ZXJlc3RlZCBpbg0KZ2V0dGluZyBtb3JlIGZlZWRi YWNrIG9uIHdoZXRoZXIgcGVvcGxlIHRoaW5rIHNvbWUgb2YgdGhlIGlkZWFzIHJlZ2FyZGluZw0K TWFwL1JlZHVjZSBjb21wb3NpdGlvbiBhcmUgd29ydGggY29uc2lkZXJpbmcgaW4gSGFkb29wLg0K DQpUaGFua3MhDQoNClZ1aw0KDQoNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAg TWlsaW5kIEJoYW5kYXJrYXIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICANCiAgICAgICAgICAgICA8bWlsaW5kYkB5YWhvby1pbiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgIGMuY29tPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVG8gDQogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aGFkb29wLXVzZXJAbHVjZW5lLmFwYWNoZS5v cmc+ICAgICANCiAgICAgICAgICAgICAwOC8yOS8yMDA3IDExOjEwICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNjIA0KICAgICAgICAgICAgIFBNICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3ViamVjdCANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlOiBQ b2x5LXJlZHVjZT8gICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgIFBsZWFzZSByZXNw b25kIHRvICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQogICAg ICAgICAgICAgaGFkb29wLXVzZXJAbHVjZW4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgIGUuYXBhY2hlLm9yZyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgDQog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICANCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIA0KDQoNCg0KDQpJIGFncmVlIHdp dGggT3dlbiBhbmQgRG91Zy4gQXMgbG9uZyBhcyB0aGUgaW50ZXJtZWRpYXRlIG91dHB1dHMgKGku ZS4gRGF0YQ0KaW4gYmV0d2VlbiBwaGFzZXMpIGFyZSBzdG9yZWQgb24gdGFza3RyYWNrZXJzJyBs b2NhbCBkaXNrcywgcHJvbmUgdG8NCmZhaWx1cmUsIGhhdmluZyBtb3JlIHRoYW4gdHdvIHBoYXNl cyB3aWxsIGJlIGNvdW50ZXJwcm9kdWN0aXZlLiBJZg0KaW50ZXJtZWRpYXRlIGRhdGEgc3RvcmFn ZSB3ZXJlIG9uIGEgZmF1bHQtdG9sZXJhbnQgREZTLCBvbmUgd291bGQgc2VlIG1vcmUNCmJlbmVm aXRzIG9mIGNoYWluaW5nIGFyYml0cmFyeSBzZXF1ZW5jZSBvZiBwaGFzZXMuIChCdXQgdGhlbiB0 aGUgcmVhc29uaW5nDQppbiB0aGUgb3JpZ2luYWwgZW1haWwgZm9yIGhhdmluZyBtdWx0aXBsZS1w aGFzZXMsIGkuZSBub3QgaGF2aW5nIHRvIHVwbG9hZA0KZGF0YSB0byBERlMsIHdvdWxkIG5vIGxv bmdlciBiZSB2YWxpZC4pDQoNCi0gbWlsaW5kDQoNCg0KT24gOC8yNC8wNyA5OjUzIEFNLCAiRG91 ZyBDdXR0aW5nIiA8Y3V0dGluZ0BhcGFjaGUub3JnPiB3cm90ZToNCg0KPiBUZWQgRHVubmluZyB3 cm90ZToNCj4+IEl0IGlzbid0IGhhcmQgdG8gaW1wbGVtZW50IHRoZXNlIHByb2dyYW1zIGFzIG11 bHRpcGxlIGZ1bGx5IGZsZWRnZWQNCj4+IG1hcC1yZWR1Y2VzLCBidXQgaXQgYXBwZWFycyB0byBt ZSB0aGF0IG1hbnkgb2YgdGhlbSB3b3VsZCBiZSBiZXR0ZXINCj4+IGV4cHJlc3NlZCBhcyBzb21l dGhpbmcgbW9yZSBsaWtlIGEgbWFwLXJlZHVjZS1yZWR1Y2UgcHJvZ3JhbS4NCj4+DQo+PiBbIC4u LiBdDQo+Pg0KPj4gRXhwcmVzc2VkIGNvbnZlbnRpb25hbGx5LCB0aGlzIHdvdWxkIGhhdmUgd3Jp dGUgYWxsIG9mIHRoZSB1c2VyIHNlc3Npb25zDQp0bw0KPj4gSERGUyBhbmQgYSBzZWNvbmQgbWFw IHBoYXNlIHdvdWxkIGdlbmVyYXRlIHRoZSBwYWlycyBmb3IgY291bnRpbmcuICBUaGUNCj4+IG9w cG9ydHVuaXR5IGZvciBlZmZpY2llbmN5IHdvdWxkIGNvbWUgZnJvbSB0aGUgYWJpbGl0eSB0byBh dm9pZCB3cml0aW5nDQo+PiBpbnRlcm1lZGlhdGUgcmVzdWx0cyB0byB0aGUgZGlzdHJpYnV0ZWQg ZGF0YSBzdG9yZS4NCj4+DQo+PiBIYXMgYW55Ym9keSBsb29rZWQgYXQgd2hldGhlciB0aGlzIHdv dWxkIGhlbHAgYW5kIHdoZXRoZXIgaXQgd291bGQgYmUNCmhhcmQNCj4+IHRvIGRvPw0KPg0KPiBJ dCB3b3VsZCBqb2IgdHJhY2tlciBtb3JlIGNvbXBsaWNhdGVkLCBhbmQgbWlnaHQgbm90IGhlbHAg am9iIGV4ZWN1dGlvbg0KPiB0aW1lIHRoYXQgbXVjaC4NCj4NCj4gQ29uc2lkZXIgaW1wbGVtZW50 aW5nIHRoaXMgYXMgbXVsdGlwbGUgbWFwIHJlZHVjZSBzdGVwcywgYnV0IHVzaW5nIGENCj4gcmVw bGljYXRpb24gbGV2ZWwgb2Ygb25lIGZvciBpbnRlcm1lZGlhdGUgZGF0YS4gIFRoYXQgd291bGQg bW9zdGx5IGhhdmUNCj4gdGhlIHBlcmZvcm1hbmNlIGNoYXJhY3RlcmlzdGljcyB5b3Ugd2FudC4g IEJ1dCBpZiBhIG5vZGUgZGllZCwgdGhpbmdzDQo+IGNvdWxkIG5vdCBpbnRlbGxpZ2VudGx5IGF1 dG9tYXRpY2FsbHkgcmUtY3JlYXRlIGp1c3QgdGhlIG1pc3NpbmcgZGF0YS4NCj4gSW5zdGVhZCB0 aGUgYXBwbGljYXRpb24gd291bGQgaGF2ZSB0byByZS1ydW4gdGhlIGVudGlyZSBqb2IsIG9yIHN1 YnNldHMNCj4gb2YgaXQsIGluIG9yZGVyIHRvIHJlLWNyZWF0ZSB0aGUgdW4tcmVwbGljYXRlZCBk YXRhLg0KPg0KPiBVbmRlciBwb2x5LXJlZHVjZSwgaWYgYSBub2RlIGZhaWxlZCwgYWxsIHRhc2tz IHRoYXQgd2VyZSBpbmNvbXBsZXRlIG9uDQo+IHRoYXQgbm9kZSB3b3VsZCBuZWVkIHRvIGJlIHJl c3RhcnRlZC4gIEJ1dCBmaXJzdCwgdGhlaXIgaW5wdXQgZGF0YSB3b3VsZA0KPiBuZWVkIHRvIGJl IGxvY2F0ZWQuICBJZiB5b3Ugc2F2ZWQgYWxsIGludGVybWVkaWF0ZSBkYXRhIGluIHRoZSBjb3Vy c2Ugb2YNCj4gYSBqb2IgKHdoaWNoIHdvdWxkIGJlIGV4cGVuc2l2ZSkgdGhlbiB0aGUgaW5wdXRz IHRoYXQgbmVlZCByZS1jcmVhdGlvbg0KPiB3b3VsZCBtb3N0bHkganVzdCBiZSB0aG9zZSB0aGF0 IHdlcmUgY3JlYXRlZCBvbiB0aGUgZmFpbGVkIG5vZGUuICBCdXQNCj4gdGhpcyBmYWlsdXJlIHdv dWxkIGdlbmVyYWxseSBjYXNjYWRlIGFsbCB0aGUgd2F5IGJhY2sgdG8gdGhlIGluaXRpYWwgbWFw DQo+IHN0YWdlLiAgU28gYSBzaW5nbGUgbWFjaGluZSBmYWlsdXJlIGluIHRoZSBsYXN0IHBoYXNl IGNvdWxkIGRvdWJsZSB0aGUNCj4gcnVuIHRpbWUgb2YgdGhlIGpvYiwgd2l0aCBtb3N0IG9mIHRo ZSBjbHVzdGVyIGlkbGUuDQo+DQo+IElmLCBpbnN0ZWFkLCB5b3UgdXNlZCBub3JtYWwgbWFwcmVk dWNlLCB3aXRoIGludGVybWVkaWF0ZSBkYXRhDQo+IHJlcGxpY2F0ZWQgaW4gdGhlIGZpbGVzeXN0 ZW0sIGEgc2luZ2xlIG1hY2hpbmUgZmFpbHVyZSBpbiB0aGUgbGFzdCBwaGFzZQ0KPiB3b3VsZCBv bmx5IHJlcXVpcmUgcmUtcnVubmluZyB0YXNrcyBmcm9tIHRoZSBsYXN0IGpvYi4NCj4NCj4gUGVy aGFwcywgd2hlbiBjaGFpbmluZyBtYXByZWR1Y2VzLCBvbmUgc2hvdWxkIHVzZSBhIGxvd2VyIHJl cGxpY2F0aW9uDQo+IGxldmVsIGZvciBpbnRlcm1lZGlhdGUgZGF0YSwgbGlrZSB0d28uICBBZGRp dGlvbmFsbHksIG9uZSBtaWdodCB3aXNoIHRvDQo+IHJlbGF4IHRoZSBvbmUtcmVwbGljYS1vZmYt cmFjayBjcml0ZXJpb24gZm9yIHN1Y2ggZmlsZXMsIHNvIHRoYXQNCj4gcmVwbGljYXRpb24gaXMg ZmFzdGVyLCBhbmQgc2luY2Ugd2hvbGUtcmFjayBmYWlsdXJlcyBhcmUgcmFyZS4gIFRoaXMNCj4g bWlnaHQgZ2l2ZSBnb29kIGNoYWluZWQgcGVyZm9ybWFuY2UsIGJ1dCBrZWVwIG1hY2hpbmUgZmFp bHVyZXMgZnJvbQ0KPiBrbm9ja2luZyB0YXNrcyBiYWNrIHRvIHRoZSBzdGFydCBvZiB0aGUgY2hh aW4uICBDdXJyZW50bHkgaXRzIG5vdA0KPiBwb3NzaWJsZSB0byBkaXNhYmxlIHRoZSBvbmUtcmVw bGljYS1vZmYtcmFjayBwcmVmZXJlbmNlLCBidXQgdGhhdCBtaWdodA0KPiBiZSBhIHJlYXNvbmFi bGUgZmVhdHVyZSByZXF1ZXN0Lg0KPg0KPiBEb3VnDQo+DQoNCi0tDQpNaWxpbmQgQmhhbmRhcmth cg0KNDA4LTM0OS0yMTM2DQoobWlsaW5kYkB5YWhvby1pbmMuY29tKQ0KDQo=