From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: "Tom Breton (Tehom)" Newsgroups: gmane.emacs.devel Subject: Re: ewoc patch (Was wrong patch, right one attached) Date: Tue, 8 Dec 2009 23:19:39 -0500 Message-ID: References: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: multipart/mixed;boundary="----=_20091208231939_55411" X-Trace: ger.gmane.org 1260332457 8983 80.91.229.12 (9 Dec 2009 04:20:57 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Wed, 9 Dec 2009 04:20:57 +0000 (UTC) Cc: emacs-devel@gnu.org To: "Tom Breton (Tehom)" Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Wed Dec 09 05:20:50 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 1NIE1q-0003wS-6F for ged-emacs-devel@m.gmane.org; Wed, 09 Dec 2009 05:20:49 +0100 Original-Received: from localhost ([127.0.0.1]:41945 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NIE1p-0001DS-Lz for ged-emacs-devel@m.gmane.org; Tue, 08 Dec 2009 23:19:53 -0500 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1NIE1g-0001BG-Kf for emacs-devel@gnu.org; Tue, 08 Dec 2009 23:19:44 -0500 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1NIE1c-00018S-ES for emacs-devel@gnu.org; Tue, 08 Dec 2009 23:19:44 -0500 Original-Received: from [199.232.76.173] (port=44711 helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1NIE1c-00018M-Ad for emacs-devel@gnu.org; Tue, 08 Dec 2009 23:19:40 -0500 Original-Received: from mail1.panix.com ([166.84.1.72]:55623) by monty-python.gnu.org with esmtp (Exim 4.60) (envelope-from ) id 1NIE1c-00053K-7h for emacs-devel@gnu.org; Tue, 08 Dec 2009 23:19:40 -0500 Original-Received: from mailbackend.panix.com (mailbackend.panix.com [166.84.1.89]) by mail1.panix.com (Postfix) with ESMTP id B0B151F099; Tue, 8 Dec 2009 23:19:39 -0500 (EST) Original-Received: from mail.panix.com (localhost [127.0.0.1]) by mailbackend.panix.com (Postfix) with ESMTP id A0F952D623; Tue, 8 Dec 2009 23:19:39 -0500 (EST) X-Panix-Received: from 96.252.49.112 (SquirrelMail authenticated user tehom@panix.com) by mail.panix.com with HTTP; Tue, 8 Dec 2009 23:19:39 -0500 In-Reply-To: User-Agent: SquirrelMail/1.4.19 X-Priority: 3 (Normal) Importance: Normal X-detected-operating-system: by monty-python.gnu.org: Genre and OS details not recognized. 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:118431 Archived-At: ------=_20091208231939_55411 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Oops, the diff I attached has an error. The right one is attached to thi= s message. Tom Breton (Tehom) ------=_20091208231939_55411 Content-Type: application/octet-stream; name="ewoc.el.4.diff" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="ewoc.el.4.diff" Y2QgL2hvbWUvdGVob20vcHJvamVjdHMvZW10ZXN0L2xpc3Avdmlld2Vycy8KZGlmZiAtYyAtYiAv aG9tZS90ZWhvbS9lbWFjcy0yMS40L2xpc3AvZW1hY3MtbGlzcC9ld29jLmVsIC9ob21lL3RlaG9t L3Byb2plY3RzL2VtdGVzdC9saXNwL3ZpZXdlcnMvZXdvYy5lbAoqKiogL2hvbWUvdGVob20vZW1h Y3MtMjEuNC9saXNwL2VtYWNzLWxpc3AvZXdvYy5lbAkyMDAxLTA3LTE2IDA4OjIyOjU5LjAwMDAw MDAwMCAtMDQwMAotLS0gL2hvbWUvdGVob20vcHJvamVjdHMvZW10ZXN0L2xpc3Avdmlld2Vycy9l d29jLmVsCTIwMDktMTItMDggMjM6MTU6MTYuMDAwMDAwMDAwIC0wNTAwCioqKioqKioqKioqKioq KgoqKiogMTI5LDEzNCAqKioqCi0tLSAxMjksMTM2IC0tLS0KICAKICAoZXZhbC13aGVuLWNvbXBp bGUgKHJlcXVpcmUgJ2NsKSkJO2JlY2F1c2Ugb2YgQ0wgY29tcGlsZXIgbWFjcm9zCiAgCisgKGRl ZmNvbnN0IGV3b2MtdmVyc2lvbiAiMi4wIikKKyAKICA7OyBUaGUgZG91Ymx5IGxpbmtlZCBsaXN0 IGlzIGltcGxlbWVudGVkIGFzIGEgY2lyY3VsYXIgbGlzdAogIDs7IHdpdGggYSBkdW1teSBub2Rl IGZpcnN0IGFuZCBsYXN0LiBUaGUgZHVtbXkgbm9kZSBpcyB1c2VkIGFzCiAgOzsgInRoZSBkbGwi IChvciByYXRoZXIgaXMgdGhlIGRsbCBoYW5kbGUgcGFzc2VkIGFyb3VuZCkuCioqKioqKioqKioq KioqKgoqKiogMTk3LDIxNSAqKioqCiAgICAgICAgKHNldHEgbiAoMS0gbikpKQogICAgICAodW5s ZXNzIChlcSBkbGwgbm9kZSkgbm9kZSkpKQogIAotIChkZWZ1biBld29jLWxvY2F0aW9uIChub2Rl KQotICAgIlJldHVybiB0aGUgc3RhcnQgbG9jYXRpb24gb2YgTk9ERS4iCi0gICAoZXdvYy0tbm9k ZS1zdGFydC1tYXJrZXIgbm9kZSkpCi0gCiAgDAogIDs7OyBUaGUgZXdvYyBkYXRhIHR5cGUKICAK ICAoZGVmc3RydWN0IChld29jCiAgCSAgICAoOmNvbnN0cnVjdG9yIG5pbCkKICAJICAgICg6Y29u c3RydWN0b3IgZXdvYy0tY3JlYXRlCiEgCQkJICAoYnVmZmVyIHByZXR0eS1wcmludGVyIGhlYWRl ciBmb290ZXIgZGxsKSkKICAJICAgICg6Y29uYy1uYW1lIGV3b2MtLSkpCiEgICBidWZmZXIgcHJl dHR5LXByaW50ZXIgaGVhZGVyIGZvb3RlciBkbGwgbGFzdC1ub2RlKQogIAogIChkZWZtYWNybyBl d29jLS1zZXQtYnVmZmVyLWJpbmQtZGxsLWxldCogKGV3b2MgdmFybGlzdCAmcmVzdCBmb3JtcykK ICAgICJFeGVjdXRlIEZPUk1TIHdpdGggZXdvYy0tYnVmZmVyIHNlbGVjdGVkIGFzIGN1cnJlbnQg YnVmZmVyLAotLS0gMTk5LDIxNiAtLS0tCiAgICAgICAgKHNldHEgbiAoMS0gbikpKQogICAgICAo dW5sZXNzIChlcSBkbGwgbm9kZSkgbm9kZSkpKQogIAogIAwKICA7OzsgVGhlIGV3b2MgZGF0YSB0 eXBlCiAgCiAgKGRlZnN0cnVjdCAoZXdvYwogIAkgICAgKDpjb25zdHJ1Y3RvciBuaWwpCiAgCSAg ICAoOmNvbnN0cnVjdG9yIGV3b2MtLWNyZWF0ZQohIAkJCSAgKGJ1ZmZlciBwcmV0dHktcHJpbnRl ciBoZWFkZXIgZm9vdGVyIGRsbAohIAkJCSAgICAgc2VwYXJhdG9yKSkKICAJICAgICg6Y29uYy1u YW1lIGV3b2MtLSkpCiEgICBidWZmZXIgcHJldHR5LXByaW50ZXIgaGVhZGVyIGZvb3RlciBkbGwg bGFzdC1ub2RlIHNlcGFyYXRvcikKISAKISAKICAKICAoZGVmbWFjcm8gZXdvYy0tc2V0LWJ1ZmZl ci1iaW5kLWRsbC1sZXQqIChld29jIHZhcmxpc3QgJnJlc3QgZm9ybXMpCiAgICAiRXhlY3V0ZSBG T1JNUyB3aXRoIGV3b2MtLWJ1ZmZlciBzZWxlY3RlZCBhcyBjdXJyZW50IGJ1ZmZlciwKKioqKioq KioqKioqKioqCioqKiAyMzgsMzI5ICoqKioKICAJICAgICAgKGVxIG5vZGUgKGV3b2MtLWZvb3Rl ciBld29jKSkpCiAgICAgIG5vZGUpKQogIAotIAotIChkZWZ1biBld29jLS1jcmVhdGUtbm9kZSAo ZGF0YSBwcmV0dHktcHJpbnRlciBwb3MpCi0gICAiQ2FsbCBQUkVUVFktUFJJTlRFUiB3aXRoIHBv aW50IHNldCBhdCBQT1MgaW4gY3VycmVudCBidWZmZXIuCi0gUmVtZW1iZXIgdGhlIHN0YXJ0IHBv c2l0aW9uLiBDcmVhdGUgYSB3cmFwcGVyIGNvbnRhaW5pbmcgdGhhdAotIHN0YXJ0IHBvc2l0aW9u IGFuZCB0aGUgZWxlbWVudCBEQVRBLiIKLSAgIChzYXZlLWV4Y3Vyc2lvbgotICAgICA7OyBSZW1l bWJlciB0aGUgcG9zaXRpb24gYXMgYSBudW1iZXIgc28gdGhhdCBpdCBkb2Vzbid0IG1vdmUKLSAg ICAgOzsgd2hlbiB3ZSBpbnNlcnQgdGhlIHN0cmluZy4KLSAgICAgKHdoZW4gKG1hcmtlcnAgcG9z KSAoc2V0cSBwb3MgKG1hcmtlci1wb3NpdGlvbiBwb3MpKSkKLSAgICAgKGdvdG8tY2hhciBwb3Mp Ci0gICAgIChsZXQgKChpbmhpYml0LXJlYWQtb25seSB0KSkKLSAgICAgICA7OyBJbnNlcnQgdGhl IHRyYWlsaW5nIG5ld2xpbmUgdXNpbmcgaW5zZXJ0LWJlZm9yZS1tYXJrZXJzCi0gICAgICAgOzsg c28gdGhhdCB0aGUgc3RhcnQgcG9zaXRpb24gZm9yIHRoZSBuZXh0IGVsZW1lbnQgaXMgdXBkYXRl ZC4KLSAgICAgICAoaW5zZXJ0LWJlZm9yZS1tYXJrZXJzID9cbikKLSAgICAgICA7OyBNb3ZlIGJh Y2ssIGFuZCBjYWxsIHRoZSBwcmV0dHktcHJpbnRlci4KLSAgICAgICAoYmFja3dhcmQtY2hhciAx KQotICAgICAgIChmdW5jYWxsIHByZXR0eS1wcmludGVyIGRhdGEpCi0gICAgICAgKGV3b2MtLW5v ZGUtY3JlYXRlIChjb3B5LW1hcmtlciBwb3MpIGRhdGEpKSkpCi0gCi0gCiAgKGRlZnVuIGV3b2Mt LWRlbGV0ZS1ub2RlLWludGVybmFsIChld29jIG5vZGUpCiAgICAiRGVsZXRlIGEgZGF0YSBzdHJp bmcgZnJvbSBFV09DLgogIENhbiBub3QgYmUgdXNlZCBvbiB0aGUgZm9vdGVyLiBSZXR1cm5zIHRo ZSB3cmFwcGVyIHRoYXQgaXMgZGVsZXRlZC4KICBUaGUgc3RhcnQtbWFya2VyIGluIHRoZSB3cmFw cGVyIGlzIHNldCB0byBuaWwsIHNvIHRoYXQgaXQgZG9lc24ndAogIGNvbnN1bWUgYW55IG1vcmUg cmVzb3VyY2VzLiIKICAgIChsZXQgKChkbGwgKGV3b2MtLWRsbCBld29jKSkKICAJKGluaGliaXQt cmVhZC1vbmx5IHQpKQohICAgICA7OyBJZiB3ZSBhcmUgYWJvdXQgdG8gZGVsZXRlIHRoZSBub2Rl IHBvaW50ZWQgYXQgYnkgbGFzdC1ub2RlLAohICAgICA7OyBzZXQgbGFzdC1ub2RlIHRvIG5pbC4K ICAgICAgKGlmIChlcSAoZXdvYy0tbGFzdC1ub2RlIGV3b2MpIG5vZGUpCiAgCShzZXRmIChld29j LS1sYXN0LW5vZGUgZXdvYykgbmlsKSkKISAKISAgICAgKGRlbGV0ZS1yZWdpb24gKGV3b2MtLW5v ZGUtc3RhcnQtbWFya2VyIG5vZGUpCiEgCQkgICAoZXdvYy0tbm9kZS1zdGFydC1tYXJrZXIgKGV3 b2MtLW5vZGUtbmV4dCBkbGwgbm9kZSkpKQohICAgICAoc2V0LW1hcmtlciAoZXdvYy0tbm9kZS1z dGFydC1tYXJrZXIgbm9kZSkgbmlsKQohICAgICA7OyBEZWxldGUgdGhlIG5vZGUsIGFuZCByZXR1 cm4gdGhlIHdyYXBwZXIuCiEgICAgIChld29jLS1ub2RlLWRlbGV0ZSBub2RlKSkpCiEgCiAgCiAg KGRlZnVuIGV3b2MtLXJlZnJlc2gtbm9kZSAocHAgbm9kZSkKICAgICJSZWRpc3BsYXkgdGhlIGVs ZW1lbnQgcmVwcmVzZW50ZWQgYnkgTk9ERSB1c2luZyB0aGUgcHJldHR5LXByaW50ZXIgUFAuIgog ICAgKGxldCAoKGluaGliaXQtcmVhZC1vbmx5IHQpKQogICAgICAoc2F2ZS1leGN1cnNpb24KISAg ICAgICA7OyBGaXJzdCwgcmVtb3ZlIHRoZSBzdHJpbmcgZnJvbSB0aGUgYnVmZmVyOgohICAgICAg IChkZWxldGUtcmVnaW9uIChld29jLS1ub2RlLXN0YXJ0LW1hcmtlciBub2RlKQohIAkJICAgICAo MS0gKG1hcmtlci1wb3NpdGlvbgohIAkJCSAgKGV3b2MtLW5vZGUtc3RhcnQtbWFya2VyIChld29j LS1ub2RlLXJpZ2h0IG5vZGUpKSkpKQohICAgICAgIDs7IENhbGN1bGF0ZSBhbmQgaW5zZXJ0IHRo ZSBzdHJpbmcuCiEgICAgICAgKGdvdG8tY2hhciAoZXdvYy0tbm9kZS1zdGFydC1tYXJrZXIgbm9k ZSkpCiEgICAgICAgKGZ1bmNhbGwgcHAgKGV3b2MtLW5vZGUtZGF0YSBub2RlKSkpKSkKICAMCiAg Ozs7ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PQogIDs7OyAgICAgICAgICAgICAgICAgIFB1YmxpYyBtZW1i ZXJzIG9mIHRoZSBFd29jIHBhY2thZ2UKICAKICAKISAoZGVmdW4gZXdvYy1jcmVhdGUgKHByZXR0 eS1wcmludGVyICZvcHRpb25hbCBoZWFkZXIgZm9vdGVyKQogICAgIkNyZWF0ZSBhbiBlbXB0eSBl d29jLgogIAogIFRoZSBld29jIHdpbGwgYmUgaW5zZXJ0ZWQgaW4gdGhlIGN1cnJlbnQgYnVmZmVy IGF0IHRoZSBjdXJyZW50IHBvc2l0aW9uLgogIAogIFBSRVRUWS1QUklOVEVSIHNob3VsZCBiZSBh IGZ1bmN0aW9uIHRoYXQgdGFrZXMgb25lIGFyZ3VtZW50LCBhbgogIGVsZW1lbnQsIGFuZCBpbnNl cnRzIGEgc3RyaW5nIHJlcHJlc2VudGluZyBpdCBpbiB0aGUgYnVmZmVyIChhdAohIHBvaW50KS4g VGhlIHN0cmluZyBQUkVUVFktUFJJTlRFUiBpbnNlcnRzIG1heSBiZSBlbXB0eSBvciBzcGFuCiEg c2V2ZXJhbCBsaW5zZS4gQSB0cmFpbGluZyBuZXdsaW5lIHdpbGwgYWx3YXlzIGJlIGluc2VydGVk CiEgYXV0b21hdGljYWxseS4gVGhlIFBSRVRUWS1QUklOVEVSIHNob3VsZCB1c2UgaW5zZXJ0LCBh bmQgbm90CiEgaW5zZXJ0LWJlZm9yZS1tYXJrZXJzLgogIAohIE9wdGlvbmFsIHRoaXJkIGFyZ3Vt ZW50IEhFQURFUiBpcyBhIHN0cmluZyB0aGF0IHdpbGwgYWx3YXlzIGJlCiAgcHJlc2VudCBhdCB0 aGUgdG9wIG9mIHRoZSBld29jLiBIRUFERVIgc2hvdWxkIGVuZCB3aXRoIGEKISBuZXdsaW5lLiAg T3B0aW9uYWx5IGZvdXJ0aCBhcmd1bWVudCBGT09URVIgaXMgc2ltaWxhciwgYW5kIHdpbGwKISBi ZSBpbnNlcnRlZCBhdCB0aGUgYm90dG9tIG9mIHRoZSBld29jLiIKISAgIChsZXQgKChuZXctZXdv YwohIAkgKGV3b2MtLWNyZWF0ZSAoY3VycmVudC1idWZmZXIpCiEgCQkgICAgICAgcHJldHR5LXBy aW50ZXIgbmlsIG5pbCAoZXdvYy0tZGxsLWNyZWF0ZSkpKQogIAkocG9zIChwb2ludCkpKQogICAg ICAoZXdvYy0tc2V0LWJ1ZmZlci1iaW5kLWRsbCBuZXctZXdvYwogICAgICAgIDs7IFNldCBkZWZh dWx0IHZhbHVlcwogICAgICAgICh1bmxlc3MgaGVhZGVyIChzZXRxIGhlYWRlciAiIikpCiAgICAg ICAgKHVubGVzcyBmb290ZXIgKHNldHEgZm9vdGVyICIiKSkKICAgICAgICAoc2V0ZiAoZXdvYy0t bm9kZS1zdGFydC1tYXJrZXIgZGxsKSAoY29weS1tYXJrZXIgcG9zKSkKISAgICAgICAobGV0ICgo Zm9vdCAoZXdvYy0tY3JlYXRlLW5vZGUgZm9vdGVyIChsYW1iZGEgKHgpIChpbnNlcnQgZm9vdGVy KSkgcG9zKSkKISAJICAgIChoZWFkIChld29jLS1jcmVhdGUtbm9kZSBoZWFkZXIgKGxhbWJkYSAo eCkgKGluc2VydCBoZWFkZXIpKSBwb3MpKSkKISAJKGV3b2MtLW5vZGUtZW50ZXItZmlyc3QgZGxs IGhlYWQpCiEgCShld29jLS1ub2RlLWVudGVyLWxhc3QgIGRsbCBmb290KQogIAkoc2V0ZiAoZXdv Yy0taGVhZGVyIG5ldy1ld29jKSBoZWFkKQogIAkoc2V0ZiAoZXdvYy0tZm9vdGVyIG5ldy1ld29j KSBmb290KSkpCiAgICAgIDs7IFJldHVybiB0aGUgZXdvYwogICAgICBuZXctZXdvYykpCiAgCi0t LSAyMzksNDMwIC0tLS0KICAJICAgICAgKGVxIG5vZGUgKGV3b2MtLWZvb3RlciBld29jKSkpCiAg ICAgIG5vZGUpKQogIAogIChkZWZ1biBld29jLS1kZWxldGUtbm9kZS1pbnRlcm5hbCAoZXdvYyBu b2RlKQogICAgICJEZWxldGUgYSBkYXRhIHN0cmluZyBmcm9tIEVXT0MuCiAgQ2FuIG5vdCBiZSB1 c2VkIG9uIHRoZSBmb290ZXIuIFJldHVybnMgdGhlIHdyYXBwZXIgdGhhdCBpcyBkZWxldGVkLgog IFRoZSBzdGFydC1tYXJrZXIgaW4gdGhlIHdyYXBwZXIgaXMgc2V0IHRvIG5pbCwgc28gdGhhdCBp dCBkb2Vzbid0CiAgY29uc3VtZSBhbnkgbW9yZSByZXNvdXJjZXMuIgorICAgICh3aGVuIChld29j LS1ub2RlLXN0YXJ0LW1hcmtlciBub2RlKQogICAgICAgIChsZXQgKChkbGwgKGV3b2MtLWRsbCBl d29jKSkKICAJICAgICAgKGluaGliaXQtcmVhZC1vbmx5IHQpKQohIAkgOzsgSWYgd2UgYXJlIGFi b3V0IHRvIGRlbGV0ZSB0aGUgbm9kZSBwb2ludGVkIGF0IGJ5CiEgCSA7OyBsYXN0LW5vZGUsIHNl dCBsYXN0LW5vZGUgdG8gbmlsLgogIAkgKGlmIChlcSAoZXdvYy0tbGFzdC1ub2RlIGV3b2MpIG5v ZGUpCiAgCSAgICAoc2V0ZiAoZXdvYy0tbGFzdC1ub2RlIGV3b2MpIG5pbCkpCiEgCSAoZXdvYy0t ZGVsZXRlLW5vZGUtdGV4dCBub2RlKQohIAkgOzsgRGVsZXRlIHRoZSBub2RlIGZyb20gdGhlIGRs bCBhbmQgcmV0dXJuIHRoZSB3cmFwcGVyLgohIAkgKGV3b2MtLW5vZGUtZGVsZXRlIG5vZGUpKSkp CiAgCiAgKGRlZnVuIGV3b2MtLXJlZnJlc2gtbm9kZSAocHAgbm9kZSkKICAgICAgICAiUmVkaXNw bGF5IHRoZSBlbGVtZW50IHJlcHJlc2VudGVkIGJ5IE5PREUgdXNpbmcgdGhlIHByZXR0eS1wcmlu dGVyIFBQLiIKKyAgICAgICAoYXNzZXJ0IG5vZGUpCiAgICAgICAgKGxldCAoKGluaGliaXQtcmVh ZC1vbmx5IHQpKQogIAkgKHNhdmUtZXhjdXJzaW9uCiEgCSAgICAoZ290by1jaGFyIChld29jLWxv Y2F0aW9uLXNhZmUgbm9kZSkpCiEgCSAgICAoZXdvYy0tZGVsZXRlLW5vZGUtdGV4dCBub2RlKQoh IAkgICAgKGV3b2MtLXByaW50LWFuZXcgbm9kZSBwcCkpKSkKISAKISAMCiEgOzs7ID09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PQohIDs7OyAgICAgICAgICAgICAgICAgIE5vZGUgbG9jYXRpb24KISAKISAoZGVm dW4gZXdvYy0tcmF3LWxvY2F0aW9uIChub2RlKQohICAgICAgICJSZXR1cm4gdGhlIHN0YXJ0IGxv Y2F0aW9uIG9mIE5PREUuCiEgSWYgTk9ERSBpcyBlbXB0eSwgcmV0dXJuIG5pbC4iCiEgICAgICAg KGV3b2MtLW5vZGUtc3RhcnQtbWFya2VyIG5vZGUpKQohIAohIChkZWZ1biBld29jLS1uZXh0LXBy aW50ZWQtbm9kZSAobm9kZSkKISAgICAiUmV0dXJuIHRoZSBuZXh0IG5vbi1lbXB0eSBub2RlIGFm dGVyIE5PREUuIgohICAgIDs7VGhpcyBsb29wIHdpbGwgdGVybWluYXRlIGJlY2F1c2Ugd2Ugc2V0 IGF0IGxlYXN0IG9uZQohICAgIDs7c3RhcnQtbWFya2VyIGluIHRoZSBld29jIHdoZW4gY3JlYXRp bmcgaXQuCiEgICAgKGRvCiEgICAgICAgKChub2RlLWFmdGVyIAohIAkgIChld29jLS1ub2RlLXJp Z2h0IG5vZGUpIAohIAkgIChld29jLS1ub2RlLXJpZ2h0IG5vZGUtYWZ0ZXIpKSkKISAgICAgICAo CiEgCSAoZXdvYy0tbm9kZS1zdGFydC1tYXJrZXIgbm9kZS1hZnRlcikKISAJIG5vZGUtYWZ0ZXIp KSkKISAgICAKISAoZGVmdW4gZXdvYy0tbmV4dC1zdGFydC1tYXJrZXIgKG5vZGUpCiEgICAgIlJl dHVybiB0aGUgZmlyc3Qgc3RhcnQgbWFya2VyIGFmdGVyIE5PREUuIgohICAgIChld29jLS1ub2Rl LXN0YXJ0LW1hcmtlcgohICAgICAgIChld29jLS1uZXh0LXByaW50ZWQtbm9kZSBub2RlKSkpCiEg CiEgKGRlZnVuIGV3b2MtbG9jYXRpb24gKG5vZGUpCiEgICAgIlJldHVybiB0aGUgc3RhcnQgbG9j YXRpb24gb2YgTk9ERS4KISBJZiBOT0RFIGlzIGVtcHR5LCByZXR1cm4gdGhlIHN0YXJ0IG1hcmtl ciBvZiB0aGUgbmV4dCBub24tZW1wdHkgbm9kZS4iCiEgICAgKG9yCiEgICAgICAgKGV3b2MtLXJh dy1sb2NhdGlvbiBub2RlKQohICAgICAgIChld29jLS1uZXh0LXN0YXJ0LW1hcmtlciBub2RlKSkp CiEgCiEgOztBIHN0YXJ0LW1hcmtlcidzIGluc2VydGlvbi10eXBlIHNob3VsZCBhbHJlYWR5IGJl IGB0JywgYnV0IHNvbWUKISA7O2NhbGxlcnMgd2FudCB0byBiZSAxMDAlIHN1cmUgaXQgaXMsIHNv IHRoaXMgZnVuY3Rpb24gZXhpc3RzLgohIChkZWZ1biBld29jLWxvY2F0aW9uLXNhZmUgKG5vZGUp CiEgICAgIkdldCBOT0RFJ3Mgc3RhcnQgbG9jYXRpb24uICAKISBBbHNvIHNldCB0aGUgc3RhcnQt bWFya2VyJ3MgaW5zZXJ0aW9uIHR5cGUgdG8gYHQnIHNvIHRoYXQgaXQgd2lsbCBzdGF5CiEgYWZ0 ZXIgYW55IHRleHQgaW5zZXJ0ZWQgYXQgdGhhdCBwb2ludC4iCiEgCiEgICAgKGxldAohICAgICAg ICgobmV4dC1zdGFydC1tYXJrZXIgKGV3b2MtbG9jYXRpb24gbm9kZSkpKQohICAgICAgIChzZXQt bWFya2VyLWluc2VydGlvbi10eXBlIG5leHQtc3RhcnQtbWFya2VyIHQpCiEgICAgICAgbmV4dC1z dGFydC1tYXJrZXIpKQohIAohIAwKISA7OzsgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiEgOzs7ICAgICAg ICAgICAgICAgICAgUHJpbnRpbmcgYW5kIHVucHJpbnRpbmcKISAKISAoZGVmdW4gZXdvYy0tbWFy ay1ub2RlLWVtcHR5IChub2RlKQohICAgICJNYXJrIE5PREUgZW1wdHkgKGJ1dCBkb24ndCBlbXB0 eSBpdCwgYXNzdW1lIGl0IHdhcyBlbXB0aWVkKQohIElOVEVSTkFMIFVTRSBPTkxZLiIKISAgICAo bGV0CiEgICAgICAgKChzdGFydC1tYXJrZXIgKGV3b2MtLW5vZGUtc3RhcnQtbWFya2VyIG5vZGUp KSkKISAgICAgICAod2hlbiBzdGFydC1tYXJrZXIKISAJIChzZXQtbWFya2VyIHN0YXJ0LW1hcmtl ciBuaWwpCiEgCSAoc2V0ZgohIAkgICAgKGV3b2MtLW5vZGUtc3RhcnQtbWFya2VyIG5vZGUpCiEg CSAgICBuaWwpKSkpCiEgCiEgKGRlZnVuIGV3b2MtLWRlbGV0ZS1ub2RlLXRleHQgKG5vZGUpCiEg ICAgIkRlbGV0ZSBhIG5vZGUncyB0ZXh0LiIKISAgICAod2hlbgohICAgICAgIChld29jLS1ub2Rl LXN0YXJ0LW1hcmtlciBub2RlKQohICAgICAgIChkZWxldGUtcmVnaW9uCiEgCSAoZXdvYy0tbm9k ZS1zdGFydC1tYXJrZXIgbm9kZSkKISAJIChld29jLS1uZXh0LXN0YXJ0LW1hcmtlciBub2RlKSkK ISAgICAgICAoZXdvYy0tbWFyay1ub2RlLWVtcHR5IG5vZGUpKSkKISAKISAoZGVmdW4gZXdvYy0t cHJpbnQtYW5ldyAobm9kZSBwcCkKISAgICAiUHJpbnQgYSBub2RlIHRoYXQgd2FzIGVyYXNlZC4i CiEgICAgKGV3b2MtLW1hcmstbm9kZS1lbXB0eSBub2RlKQohICAgIChld29jLS1wcmludC1ub2Rl IG5vZGUgcHApKQohIAohICAgIAohIChkZWZ1biBld29jLS1wcmludC1ub2RlIChub2RlIHByaW50 ZXIpCiEgICAgIlByaW50IE5PREUgYXQgcG9pbnQgdXNpbmcgUFJJTlRFUi4KISBTZXQgTk9ERSdz IHN0YXJ0LW1hcmtlciBhY2NvcmRpbmdseS4iCiEgICAgOztPbmx5IHByaW50IGlmIG5vZGUgaXMg Y3VycmVudGx5IGVtcHR5CiEgICAgKHdoZW4gKGV3b2MtLW5vZGUtc3RhcnQtbWFya2VyIG5vZGUp CiEgICAgICAgKGVycm9yICJld29jLS1wcmludC1ub2RlIGNhbGxlZCB3aXRoIGEgbm9kZSB0aGF0 J3MgYWxyZWFkeSBwcmludGVkIikpCiEgCiEgICAgKGxldAohICAgICAgICgKISAJIChzdGFydC1w b3MgKHBvaW50KSkKISAJIChpbmhpYml0LXJlYWQtb25seSB0KSkKISAKISAgICAgICAoZnVuY2Fs bCBwcmludGVyIChld29jLWRhdGEgbm9kZSkpCiEgICAgICAgKGxldAohIAkgKChzZXBhcmF0b3Ig KGV3b2MtLXNlcGFyYXRvciBld29jKSkpCiEgCSAod2hlbiBzZXBhcmF0b3IgKGluc2VydCBzZXBh cmF0b3IpKSkKISAKISAgICAgICA7O09ubHkgc2V0IHVwIHRoaXMgbm9kZSBhcyBub24tZW1wdHkg aWYgaXQgYWN0dWFsbHkgaXMKISAgICAgICA7O25vbi1lbXB0eS4KISAgICAgICAodW5sZXNzCiEg CSAoPSBzdGFydC1wb3MgKHBvaW50KSkKISAJIDs7U2V0IGl0cyBzdGFydC1tYXJrZXIgdG8gdGhl IHBvc2l0aW9uIHdlIHN0YXJ0ZWQKISAJIDs7cHJpbnRpbmcgZnJvbS4KISAJIChzZXRmIAohIAkg ICAgKGV3b2MtLW5vZGUtc3RhcnQtbWFya2VyIG5vZGUpCiEgCSAgICAoY29weS1tYXJrZXIgc3Rh cnQtcG9zIHQpKSkpKQohIAogIAwKICA7OzsgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09CiAgOzs7ICAgICAg ICAgICAgICAgICAgUHVibGljIG1lbWJlcnMgb2YgdGhlIEV3b2MgcGFja2FnZQogIAogIAohIChk ZWZ1biBld29jLWNyZWF0ZSAocHJldHR5LXByaW50ZXIgJm9wdGlvbmFsIGhlYWRlciBmb290ZXIg c2VwYXJhdG9yKQohICAgIAogICAgIkNyZWF0ZSBhbiBlbXB0eSBld29jLgogIAogIFRoZSBld29j IHdpbGwgYmUgaW5zZXJ0ZWQgaW4gdGhlIGN1cnJlbnQgYnVmZmVyIGF0IHRoZSBjdXJyZW50IHBv c2l0aW9uLgogIAogIFBSRVRUWS1QUklOVEVSIHNob3VsZCBiZSBhIGZ1bmN0aW9uIHRoYXQgdGFr ZXMgb25lIGFyZ3VtZW50LCBhbgogIGVsZW1lbnQsIGFuZCBpbnNlcnRzIGEgc3RyaW5nIHJlcHJl c2VudGluZyBpdCBpbiB0aGUgYnVmZmVyIChhdAohIHBvaW50KS4gVGhlIHN0cmluZyBQUkVUVFkt UFJJTlRFUiBpbnNlcnRzIG1heSBiZSBlbXB0eSBvciBzcGFuIHNldmVyYWwKISBsaW5zZS4gU0VQ QVJBVE9SIHdpbGwgYmUgaW5zZXJ0ZWQgYXV0b21hdGljYWxseS4gVGhlIFBSRVRUWS1QUklOVEVS CiEgc2hvdWxkIHVzZSBpbnNlcnQsIGFuZCBub3QgaW5zZXJ0LWJlZm9yZS1tYXJrZXJzLgogIAoh IE9wdGlvbmFsIHNlY29uZCBhcmd1bWVudCBIRUFERVIgaXMgYSBzdHJpbmcgdGhhdCB3aWxsIGFs d2F5cyBiZQogIHByZXNlbnQgYXQgdGhlIHRvcCBvZiB0aGUgZXdvYy4gSEVBREVSIHNob3VsZCBl bmQgd2l0aCBhCiEgbmV3bGluZS4gIE9wdGlvbmFsIHRoaXJkIGFyZ3VtZW50IEZPT1RFUiBpcyBz aW1pbGFyLCBhbmQgd2lsbAohIGJlIGluc2VydGVkIGF0IHRoZSBib3R0b20gb2YgdGhlIGV3b2Mu CiEgCiEgT3B0aW9uYWwgZm91cnRoIGFyZ3VtZW50IFNFUEFSQVRPUiBpcyBhIHN0cmluZy4gIEl0 IHdpbGwgYmUgaW5zZXJ0ZWQKISBhZnRlciBlYWNoIGVudHJ5IGFuZCBhZnRlciBoZWFkZXIgYW5k IGZvb3Rlci4gIEl0IGRlZmF1bHRzIHRvIG9uZQohIG5ld2xpbmUuIgohIAohICAgKGxldCogKAoh IAkgICAoc2VwYXJhdG9yCiEgCSAgICAgIChjb25kCiEgCQkgKChudWxsIHNlcGFyYXRvcikgIlxu IikKISAJCSAoKHN0cmluZ3Agc2VwYXJhdG9yKQohIAkJICAgIChpZiAoc3RyaW5nPSBzZXBhcmF0 b3IgIiIpIG5pbCBzZXBhcmF0b3IpKQohIAkJICh0IChlcnJvciAiZXdvYy1jcmVhdGU6IHNlcGFy YXRvciAlcyBpcyBub3QgYSBzdHJpbmciCiEgCQkgICAgICAgc2VwYXJhdG9yKSkpKQohIAkgICAo bmV3LWV3b2MKISAJICAgICAgKGV3b2MtLWNyZWF0ZSAKISAJCSAoY3VycmVudC1idWZmZXIpCiEg CQkgcHJldHR5LXByaW50ZXIKISAJCSBuaWwgbmlsIChld29jLS1kbGwtY3JlYXRlKQohIAkJIHNl cGFyYXRvcikpCiAgCSAgIChwb3MgKHBvaW50KSkpCiAgICAgICAoZXdvYy0tc2V0LWJ1ZmZlci1i aW5kLWRsbCBuZXctZXdvYwogIAk7OyBTZXQgZGVmYXVsdCB2YWx1ZXMKICAJKHVubGVzcyBoZWFk ZXIgKHNldHEgaGVhZGVyICIiKSkKICAJKHVubGVzcyBmb290ZXIgKHNldHEgZm9vdGVyICIiKSkK ICAJKHNldGYgKGV3b2MtLW5vZGUtc3RhcnQtbWFya2VyIGRsbCkgKGNvcHktbWFya2VyIHBvcykp CiEgCiEgCShsZXQqCiEgCSAgICgoZm9vdCAKISAJICAgICAgIChld29jLWVudGVyLWJlZm9yZQoh IAkJICBuZXctZXdvYyBkbGwgZm9vdGVyICMnaW5zZXJ0KSkKISAJICAgICAgCiEgCSAgICAgICho ZWFkIAohIAkJIChld29jLWVudGVyLWJlZm9yZQohIAkJICAgIG5ldy1ld29jIGZvb3QgaGVhZGVy ICMnaW5zZXJ0KSkpCiEgCSAgIAogIAkgICAoc2V0ZiAoZXdvYy0taGVhZGVyIG5ldy1ld29jKSBo ZWFkKQogIAkgICAoc2V0ZiAoZXdvYy0tZm9vdGVyIG5ldy1ld29jKSBmb290KSkpCisgICAgICAK ICAgICAgIDs7IFJldHVybiB0aGUgZXdvYwogICAgICAgbmV3LWV3b2MpKQogIAoqKioqKioqKioq KioqKioKKioqIDM0NiwzNjEgKioqKgogICAgKGV3b2MtLXNldC1idWZmZXItYmluZC1kbGwgZXdv YwogICAgICAoZXdvYy1lbnRlci1iZWZvcmUgZXdvYyAoZXdvYy0tbm9kZS1uZXh0IGRsbCBub2Rl KSBkYXRhKSkpCiAgCiEgKGRlZnVuIGV3b2MtZW50ZXItYmVmb3JlIChld29jIG5vZGUgZGF0YSkK ISAgICJFbnRlciBhIG5ldyBlbGVtZW50IERBVEEgYmVmb3JlIE5PREUgaW4gRVdPQy4KICBSZXR1 cm5zIHRoZSBuZXcgTk9ERS4iCiAgICAoZXdvYy0tc2V0LWJ1ZmZlci1iaW5kLWRsbCBld29jCiEg ICAgIChld29jLS1ub2RlLWVudGVyLWJlZm9yZQohICAgICAgbm9kZQohICAgICAgKGV3b2MtLWNy ZWF0ZS1ub2RlCiEgICAgICAgZGF0YQohICAgICAgIChld29jLS1wcmV0dHktcHJpbnRlciBld29j KQohICAgICAgIChld29jLS1ub2RlLXN0YXJ0LW1hcmtlciBub2RlKSkpKSkKICAKICAoZGVmdW4g ZXdvYy1uZXh0IChld29jIG5vZGUpCiAgICAiR2V0IHRoZSBuZXh0IG5vZGUuCi0tLSA0NDcsNDY5 IC0tLS0KICAgIChld29jLS1zZXQtYnVmZmVyLWJpbmQtZGxsIGV3b2MKICAgICAgKGV3b2MtZW50 ZXItYmVmb3JlIGV3b2MgKGV3b2MtLW5vZGUtbmV4dCBkbGwgbm9kZSkgZGF0YSkpKQogIAohIChk ZWZ1biBld29jLWVudGVyLWJlZm9yZSAoZXdvYyBub2RlIGRhdGEgJm9wdGlvbmFsIHByaW50ZXIp CiEgICAgIkNyZWF0ZSBhIG5ldyBlbGVtZW50IERBVEEgYmVmb3JlIE5PREUgaW4gRVdPQy4KICBS ZXR1cm5zIHRoZSBuZXcgTk9ERS4iCiAgICAgKGV3b2MtLXNldC1idWZmZXItYmluZC1kbGwgZXdv YwohICAgICAgIChsZXQKISAJICgobmV3LW5vZGUKISAJICAgICAoZXdvYy0tbm9kZS1jcmVhdGUg CiEgCQluaWwKISAJCWRhdGEpKSkKISAJIChld29jLS1ub2RlLWVudGVyLWJlZm9yZSBub2RlIG5l dy1ub2RlKQohIAkgOztQcmludCB0aGUgbm9kZSBvbmx5IGFmdGVyIGl0IGhhcyBiZWVuIGluc2Vy dGVkLgohIAkgKHNhdmUtZXhjdXJzaW9uCiEgCSAgICAoZ290by1jaGFyIChld29jLWxvY2F0aW9u LXNhZmUgbm9kZSkpCiEgCSAgICAoZXdvYy0tcHJpbnQtbm9kZSAKISAJICAgICAgIG5ldy1ub2Rl IAohIAkgICAgICAgKG9yIHByaW50ZXIgKGV3b2MtLXByZXR0eS1wcmludGVyIGV3b2MpKSkpCiEg CSBuZXctbm9kZSkpKQogIAogIChkZWZ1biBld29jLW5leHQgKGV3b2Mgbm9kZSkKICAgICJHZXQg dGhlIG5leHQgbm9kZS4KKioqKioqKioqKioqKioqCioqKiA0MDQsNDA5ICoqKioKLS0tIDUxMiw1 MTggLS0tLQogICAgICAgIChpZiAoYXBwbHkgbWFwLWZ1bmN0aW9uIChld29jLS1ub2RlLWRhdGEg bm9kZSkgYXJncykKICAJICAoZXdvYy0tcmVmcmVzaC1ub2RlIChld29jLS1wcmV0dHktcHJpbnRl ciBld29jKSBub2RlKSkKICAgICAgICAoc2V0cSBub2RlIChld29jLS1ub2RlLW5leHQgZGxsIG5v ZGUpKSkpKQorIChkZWZhbGlhcyAnZXdvYy1mb3JlYWNoICdld29jLW1hcCkKICAKICAoZGVmdW4g ZXdvYy1maWx0ZXIgKGV3b2MgcHJlZGljYXRlICZyZXN0IGFyZ3MpCiAgICAiUmVtb3ZlIGFsbCBl bGVtZW50cyBpbiBFV09DIGZvciB3aGljaCBQUkVESUNBVEUgcmV0dXJucyBuaWwuCioqKioqKioq KioqKioqKgoqKiogNDQwLDQ1MCAqKioqCiAgICAgICAgbmlsKQogIAogICAgICAgOzsgQmVmb3Jl IHNlY29uZCBlbGVtPwohICAgICAgKCg8IHBvcyAoZXdvYy0tbm9kZS1zdGFydC1tYXJrZXIgKGV3 b2MtLW5vZGUtbnRoIGRsbCAyKSkpCiAgICAgICAgKGV3b2MtLW5vZGUtbnRoIGRsbCAxKSkKICAK ICAgICAgIDs7IEFmdGVyIG9uZS1iZWZvcmUtbGFzdCBlbGVtPwohICAgICAgKCg+PSBwb3MgKGV3 b2MtLW5vZGUtc3RhcnQtbWFya2VyIChld29jLS1ub2RlLW50aCBkbGwgLTIpKSkKICAgICAgICAo ZXdvYy0tbm9kZS1udGggZGxsIC0yKSkKICAKICAgICAgIDs7IFdlIG5vdyBrbm93IHRoYXQgcG9z IGlzIHdpdGhpbiBhIGVsZW0uCi0tLSA1NDksNTU5IC0tLS0KICAJICAgIG5pbCkKICAKICAJIDs7 IEJlZm9yZSBzZWNvbmQgZWxlbT8KISAJICgoPCBwb3MgKGV3b2MtbG9jYXRpb24gKGV3b2MtLW5v ZGUtbnRoIGRsbCAyKSkpCiAgCSAgICAoZXdvYy0tbm9kZS1udGggZGxsIDEpKQogIAogIAkgOzsg QWZ0ZXIgb25lLWJlZm9yZS1sYXN0IGVsZW0/CiEgCSAoKD49IHBvcyAoZXdvYy1sb2NhdGlvbiAo ZXdvYy0tbm9kZS1udGggZGxsIC0yKSkpCiAgCSAgICAoZXdvYy0tbm9kZS1udGggZGxsIC0yKSkK ICAKICAJIDs7IFdlIG5vdyBrbm93IHRoYXQgcG9zIGlzIHdpdGhpbiBhIGVsZW0uCioqKioqKioq KioqKioqKgoqKiogNDUyLDQ3MyAqKioqCiAgICAgICAgOzsgTWFrZSBhbiBlZHVjYXRlZCBndWVz cyBhYm91dCB3aGljaCBvZiB0aGUgdGhyZWUga25vd24KICAgICAgICA7OyBub2RlJ2VzICh0aGUg Zmlyc3QsIHRoZSBsYXN0LCBvciBHVUVTUykgaXMgbmVhcmVzdC4KICAgICAgICAobGV0KiAoKGJl c3QtZ3Vlc3MgKGV3b2MtLW5vZGUtbnRoIGRsbCAxKSkKISAJICAgICAoZGlzdGFuY2UgKGFicyAo LSBwb3MgKGV3b2MtLW5vZGUtc3RhcnQtbWFya2VyIGJlc3QtZ3Vlc3MpKSkpKQogIAkod2hlbiBn dWVzcwohIAkgIChsZXQgKChkIChhYnMgKC0gcG9zIChld29jLS1ub2RlLXN0YXJ0LW1hcmtlciBn dWVzcykpKSkpCiAgCSAgICAod2hlbiAoPCBkIGRpc3RhbmNlKQogIAkgICAgICAoc2V0cSBkaXN0 YW5jZSBkKQogIAkgICAgICAoc2V0cSBiZXN0LWd1ZXNzIGd1ZXNzKSkpKQogIAogIAkobGV0KiAo KGcgKGV3b2MtLW5vZGUtbnRoIGRsbCAtMSkpCTtDaGVjayB0aGUgbGFzdCBlbGVtCiEgCSAgICAg ICAoZCAoYWJzICgtIHBvcyAoZXdvYy0tbm9kZS1zdGFydC1tYXJrZXIgZykpKSkpCiAgCSAgKHdo ZW4gKDwgZCBkaXN0YW5jZSkKICAJICAgIChzZXRxIGRpc3RhbmNlIGQpCiAgCSAgICAoc2V0cSBi ZXN0LWd1ZXNzIGcpKSkKICAKICAJKHdoZW4gKGV3b2MtLWxhc3Qtbm9kZSBld29jKSA7Q2hlY2sg InByZXZpb3VzIi4KICAJICAobGV0KiAoKGcgKGV3b2MtLWxhc3Qtbm9kZSBld29jKSkKISAJCSAo ZCAoYWJzICgtIHBvcyAoZXdvYy0tbm9kZS1zdGFydC1tYXJrZXIgZykpKSkpCiAgCSAgICAod2hl biAoPCBkIGRpc3RhbmNlKQogIAkgICAgICAoc2V0cSBkaXN0YW5jZSBkKQogIAkgICAgICAoc2V0 cSBiZXN0LWd1ZXNzIGcpKSkpCi0tLSA1NjEsNTgyIC0tLS0KICAJICAgIDs7IE1ha2UgYW4gZWR1 Y2F0ZWQgZ3Vlc3MgYWJvdXQgd2hpY2ggb2YgdGhlIHRocmVlIGtub3duCiAgCSAgICA7OyBub2Rl J2VzICh0aGUgZmlyc3QsIHRoZSBsYXN0LCBvciBHVUVTUykgaXMgbmVhcmVzdC4KICAJICAgIChs ZXQqICgoYmVzdC1ndWVzcyAoZXdvYy0tbm9kZS1udGggZGxsIDEpKQohIAkJICAgICAoZGlzdGFu Y2UgKGFicyAoLSBwb3MgKGV3b2MtbG9jYXRpb24gYmVzdC1ndWVzcykpKSkpCiAgCSAgICAgICAo d2hlbiBndWVzcwohIAkJICAobGV0ICgoZCAoYWJzICgtIHBvcyAoZXdvYy1sb2NhdGlvbiBndWVz cykpKSkpCiAgCQkgICAgICh3aGVuICg8IGQgZGlzdGFuY2UpCiAgCQkJKHNldHEgZGlzdGFuY2Ug ZCkKICAJCQkoc2V0cSBiZXN0LWd1ZXNzIGd1ZXNzKSkpKQogIAogIAkgICAgICAgKGxldCogKChn IChld29jLS1ub2RlLW50aCBkbGwgLTEpKSA7Q2hlY2sgdGhlIGxhc3QgZWxlbQohIAkJCShkIChh YnMgKC0gcG9zIChld29jLWxvY2F0aW9uIGcpKSkpKQogIAkJICAod2hlbiAoPCBkIGRpc3RhbmNl KQogIAkJICAgICAoc2V0cSBkaXN0YW5jZSBkKQogIAkJICAgICAoc2V0cSBiZXN0LWd1ZXNzIGcp KSkKICAKICAJICAgICAgICh3aGVuIChld29jLS1sYXN0LW5vZGUgZXdvYykgO0NoZWNrICJwcmV2 aW91cyIuCiAgCQkgIChsZXQqICgoZyAoZXdvYy0tbGFzdC1ub2RlIGV3b2MpKQohIAkJCSAgIChk IChhYnMgKC0gcG9zIChld29jLWxvY2F0aW9uIGcpKSkpKQogIAkJICAgICAod2hlbiAoPCBkIGRp c3RhbmNlKQogIAkJCShzZXRxIGRpc3RhbmNlIGQpCiAgCQkJKHNldHEgYmVzdC1ndWVzcyBnKSkp KQoqKioqKioqKioqKioqKioKKioqIDQ3OSw0OTQgKioqKgogIAkoY29uZAogIAkgOzsgSXMgcG9z IGFmdGVyIHRoZSBndWVzcz8KICAJICgoPj0gcG9zCiEgCSAgICAgIChld29jLS1ub2RlLXN0YXJ0 LW1hcmtlciBiZXN0LWd1ZXNzKSkKICAJICA7OyBMb29wIHVudGlsIHdlIGFyZSBleGFjdGx5IG9u ZSBub2RlIHRvbyBmYXIgZG93bi4uLgohIAkgICh3aGlsZSAoPj0gcG9zIChld29jLS1ub2RlLXN0 YXJ0LW1hcmtlciBiZXN0LWd1ZXNzKSkKICAJICAgIChzZXRxIGJlc3QtZ3Vlc3MgKGV3b2MtLW5v ZGUtbmV4dCBkbGwgYmVzdC1ndWVzcykpKQogIAkgIDs7IC4uLmFuZCByZXR1cm4gdGhlIHByZXZp b3VzIG5vZGUuCiAgCSAgKGV3b2MtLW5vZGUtcHJldiBkbGwgYmVzdC1ndWVzcykpCiAgCiAgCSA7 OyBQb3MgaXMgYmVmb3JlIGJlc3QtZ3Vlc3MKICAJICh0CiEgCSAgKHdoaWxlICg8IHBvcyAoZXdv Yy0tbm9kZS1zdGFydC1tYXJrZXIgYmVzdC1ndWVzcykpCiAgCSAgICAoc2V0cSBiZXN0LWd1ZXNz IChld29jLS1ub2RlLXByZXYgZGxsIGJlc3QtZ3Vlc3MpKSkKICAJICBiZXN0LWd1ZXNzKSkpKSkp KQogIAotLS0gNTg4LDYwMyAtLS0tCiAgCSAgICAgICAoY29uZAogIAkJICA7OyBJcyBwb3MgYWZ0 ZXIgdGhlIGd1ZXNzPwogIAkJICAoKD49IHBvcwohIAkJICAgICAgKGV3b2MtbG9jYXRpb24gYmVz dC1ndWVzcykpCiAgCQkgICAgIDs7IExvb3AgdW50aWwgd2UgYXJlIGV4YWN0bHkgb25lIG5vZGUg dG9vIGZhciBkb3duLi4uCiEgCQkgICAgICh3aGlsZSAoPj0gcG9zIChld29jLWxvY2F0aW9uIGJl c3QtZ3Vlc3MpKQogIAkJCShzZXRxIGJlc3QtZ3Vlc3MgKGV3b2MtLW5vZGUtbmV4dCBkbGwgYmVz dC1ndWVzcykpKQogIAkJICAgICA7OyAuLi5hbmQgcmV0dXJuIHRoZSBwcmV2aW91cyBub2RlLgog IAkJICAgICAoZXdvYy0tbm9kZS1wcmV2IGRsbCBiZXN0LWd1ZXNzKSkKICAKICAJCSAgOzsgUG9z IGlzIGJlZm9yZSBiZXN0LWd1ZXNzCiAgCQkgICh0CiEgCQkgICAgICh3aGlsZSAoPCBwb3MgKGV3 b2MtbG9jYXRpb24gYmVzdC1ndWVzcykpCiAgCQkJKHNldHEgYmVzdC1ndWVzcyAoZXdvYy0tbm9k ZS1wcmV2IGRsbCBiZXN0LWd1ZXNzKSkpCiAgCQkgICAgIGJlc3QtZ3Vlc3MpKSkpKSkpCiAgCioq KioqKioqKioqKioqKgoqKiogNTA3LDUxMyAqKioqCiAgICAgICAgKChub2RlIChld29jLWxvY2F0 ZSBld29jIChwb2ludCkpKSkKICAgICAgKHdoZW4gbm9kZQogICAgICAgIDs7IElmIHdlIHdlcmUg cGFzdCB0aGUgbGFzdCBlbGVtZW50LCBmaXJzdCBqdW1wIHRvIGl0LgohICAgICAgICh3aGVuICg+ PSAocG9pbnQpIChld29jLS1ub2RlLXN0YXJ0LW1hcmtlciAoZXdvYy0tbm9kZS1yaWdodCBub2Rl KSkpCiAgCShzZXRxIGFyZyAoMS0gYXJnKSkpCiAgICAgICAgKHdoaWxlIChhbmQgbm9kZSAoPiBh cmcgMCkpCiAgCShzZXRxIGFyZyAoMS0gYXJnKSkKLS0tIDYxNiw2MjIgLS0tLQogICAgICAgICgo bm9kZSAoZXdvYy1sb2NhdGUgZXdvYyAocG9pbnQpKSkpCiAgICAgICAgKHdoZW4gbm9kZQogIAkg OzsgSWYgd2Ugd2VyZSBwYXN0IHRoZSBsYXN0IGVsZW1lbnQsIGZpcnN0IGp1bXAgdG8gaXQuCiEg CSAod2hlbiAoPj0gKHBvaW50KSAoZXdvYy1sb2NhdGlvbiAoZXdvYy0tbm9kZS1yaWdodCBub2Rl KSkpCiAgCSAgICAoc2V0cSBhcmcgKDEtIGFyZykpKQogIAkgKHdoaWxlIChhbmQgbm9kZSAoPiBh cmcgMCkpCiAgCSAgICAoc2V0cSBhcmcgKDEtIGFyZykpCioqKioqKioqKioqKioqKgoqKiogNTMz LDUzOSAqKioqCiAgKGRlZnVuIGV3b2MtZ290by1ub2RlIChld29jIG5vZGUpCiAgICAiTW92ZSBw b2ludCB0byBOT0RFLiIKICAgIChld29jLS1zZXQtYnVmZmVyLWJpbmQtZGxsIGV3b2MKISAgICAg KGdvdG8tY2hhciAoZXdvYy0tbm9kZS1zdGFydC1tYXJrZXIgbm9kZSkpCiAgICAgIChpZiBnb2Fs LWNvbHVtbiAobW92ZS10by1jb2x1bW4gZ29hbC1jb2x1bW4pKQogICAgICAoc2V0ZiAoZXdvYy0t bGFzdC1ub2RlIGV3b2MpIG5vZGUpKSkKICAKLS0tIDY0Miw2NDggLS0tLQogIChkZWZ1biBld29j LWdvdG8tbm9kZSAoZXdvYyBub2RlKQogICAgICJNb3ZlIHBvaW50IHRvIE5PREUuIgogICAgIChl d29jLS1zZXQtYnVmZmVyLWJpbmQtZGxsIGV3b2MKISAgICAgICAoZ290by1jaGFyIChld29jLWxv Y2F0aW9uIG5vZGUpKQogICAgICAgIChpZiBnb2FsLWNvbHVtbiAobW92ZS10by1jb2x1bW4gZ29h bC1jb2x1bW4pKQogICAgICAgIChzZXRmIChld29jLS1sYXN0LW5vZGUgZXdvYykgbm9kZSkpKQog IAoqKioqKioqKioqKioqKioKKioqIDU0NSw1NjIgKioqKgogIG51bWJlciBvZiBlbGVtZW50cyBu ZWVkcyB0byBiZSByZWZyZXNoZWQuIgogICAgKGV3b2MtLXNldC1idWZmZXItYmluZC1kbGwtbGV0 KiBld29jCiAgICAgICAgKChmb290ZXIgKGV3b2MtLWZvb3RlciBld29jKSkpCiEgICAgIChsZXQg KChpbmhpYml0LXJlYWQtb25seSB0KSkKISAgICAgICAoZGVsZXRlLXJlZ2lvbiAoZXdvYy0tbm9k ZS1zdGFydC1tYXJrZXIgKGV3b2MtLW5vZGUtbnRoIGRsbCAxKSkKISAJCSAgICAgKGV3b2MtLW5v ZGUtc3RhcnQtbWFya2VyIGZvb3RlcikpCiEgICAgICAgKGdvdG8tY2hhciAoZXdvYy0tbm9kZS1z dGFydC1tYXJrZXIgZm9vdGVyKSkKISAgICAgICAobGV0ICgobm9kZSAoZXdvYy0tbm9kZS1udGgg ZGxsIDEpKSkKICAJKHdoaWxlIChub3QgKGVxIG5vZGUgZm9vdGVyKSkKISAJICAoc2V0LW1hcmtl ciAoZXdvYy0tbm9kZS1zdGFydC1tYXJrZXIgbm9kZSkgKHBvaW50KSkKISAJICAoZnVuY2FsbCAo ZXdvYy0tcHJldHR5LXByaW50ZXIgZXdvYykKISAJCSAgIChld29jLS1ub2RlLWRhdGEgbm9kZSkp CiEgCSAgKGluc2VydCAiXG4iKQogIAkgIChzZXRxIG5vZGUgKGV3b2MtLW5vZGUtbmV4dCBkbGwg bm9kZSkpKSkpCiEgICAgIChzZXQtbWFya2VyIChld29jLS1ub2RlLXN0YXJ0LW1hcmtlciBmb290 ZXIpIChwb2ludCkpKSkKICAKICAoZGVmdW4gZXdvYy1jb2xsZWN0IChld29jIHByZWRpY2F0ZSAm cmVzdCBhcmdzKQogICAgIlNlbGVjdCBlbGVtZW50cyBmcm9tIEVXT0MgdXNpbmcgUFJFRElDQVRF LgotLS0gNjU0LDY3NCAtLS0tCiAgbnVtYmVyIG9mIGVsZW1lbnRzIG5lZWRzIHRvIGJlIHJlZnJl c2hlZC4iCiAgICAgKGV3b2MtLXNldC1idWZmZXItYmluZC1kbGwtbGV0KiBld29jCiAgICAgICAg KChmb290ZXIgKGV3b2MtLWZvb3RlciBld29jKSkpCiEgICAgICAgKGxldCAoKGluaGliaXQtcmVh ZC1vbmx5IHQpCiEgCSAgICAgIChmaXJzdC1ub2RlIChld29jLS1ub2RlLW50aCBkbGwgMSkpKQoh IAkgKGRlbGV0ZS1yZWdpb24gCiEgCSAgICAoZXdvYy1sb2NhdGlvbiBmaXJzdC1ub2RlKQohIAkg ICAgKGV3b2MtbG9jYXRpb24gZm9vdGVyKSkKISAJIChnb3RvLWNoYXIgKGV3b2MtbG9jYXRpb24g Zm9vdGVyKSkKISAJIChsZXQgKChub2RlIGZpcnN0LW5vZGUpCiEgCQkgKHBwIChld29jLS1wcmV0 dHktcHJpbnRlciBld29jKSkpCiAgCSAgICAod2hpbGUgKG5vdCAoZXEgbm9kZSBmb290ZXIpKQoh IAkgICAgICAgKGV3b2MtLXByaW50LWFuZXcgbm9kZSBwcCkKICAJICAgICAgIChzZXRxIG5vZGUg KGV3b2MtLW5vZGUtbmV4dCBkbGwgbm9kZSkpKSkpCiEgCiEgICAgICAgOztGaW5hbGx5LCBzZXQg dGhlIGxhc3QgbWFya2VyLiAgSXQgaXMgbm90IG5lY2Nlc3NhcmlseQohICAgICAgIDs7Zm9vdGVy J3Mgb3duIG1hcmtlciBiZWNhdXNlIGZvb3RlciBtYXkgYmUgYmxhbmsuCiEgICAgICAgKHNldC1t YXJrZXIgKGV3b2MtbG9jYXRpb24gZm9vdGVyKSAocG9pbnQpKSkpCiAgCiAgKGRlZnVuIGV3b2Mt Y29sbGVjdCAoZXdvYyBwcmVkaWNhdGUgJnJlc3QgYXJncykKICAgICJTZWxlY3QgZWxlbWVudHMg ZnJvbSBFV09DIHVzaW5nIFBSRURJQ0FURS4KKioqKioqKioqKioqKioqCioqKiA1OTUsNjAyICoq KioKICAgICJTZXQgdGhlIEhFQURFUiBhbmQgRk9PVEVSIG9mIEVXT0MuIgogICAgKHNldGYgKGV3 b2MtLW5vZGUtZGF0YSAoZXdvYy0taGVhZGVyIGV3b2MpKSBoZWFkZXIpCiAgICAoc2V0ZiAoZXdv Yy0tbm9kZS1kYXRhIChld29jLS1mb290ZXIgZXdvYykpIGZvb3RlcikKISAgIChld29jLS1yZWZy ZXNoLW5vZGUgKGxhbWJkYSAoeCkgKGluc2VydCBoZWFkZXIpKSAoZXdvYy0taGVhZGVyIGV3b2Mp KQohICAgKGV3b2MtLXJlZnJlc2gtbm9kZSAobGFtYmRhICh4KSAoaW5zZXJ0IGZvb3RlcikpIChl d29jLS1mb290ZXIgZXdvYykpKQogIAogIAwKICAocHJvdmlkZSAnZXdvYykKLS0tIDcwNyw3MTQg LS0tLQogICAgIlNldCB0aGUgSEVBREVSIGFuZCBGT09URVIgb2YgRVdPQy4iCiAgICAoc2V0ZiAo ZXdvYy0tbm9kZS1kYXRhIChld29jLS1oZWFkZXIgZXdvYykpIGhlYWRlcikKICAgIChzZXRmIChl d29jLS1ub2RlLWRhdGEgKGV3b2MtLWZvb3RlciBld29jKSkgZm9vdGVyKQohICAgKGV3b2MtLXJl ZnJlc2gtbm9kZSAjJ2luc2VydCAoZXdvYy0taGVhZGVyIGV3b2MpKQohICAgKGV3b2MtLXJlZnJl c2gtbm9kZSAjJ2luc2VydCAoZXdvYy0tZm9vdGVyIGV3b2MpKSkKICAKICAMCiAgKHByb3ZpZGUg J2V3b2MpCgpEaWZmIGZpbmlzaGVkIGF0IFR1ZSBEZWMgIDggMjM6MTU6NDIK ------=_20091208231939_55411--