Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 75137 invoked from network); 3 Apr 2007 08:35:39 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 3 Apr 2007 08:35:39 -0000 Received: (qmail 42202 invoked by uid 500); 3 Apr 2007 08:35:43 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 42179 invoked by uid 500); 3 Apr 2007 08:35:43 -0000 Mailing-List: contact dev-help@harmony.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@harmony.apache.org Delivered-To: mailing list dev@harmony.apache.org Received: (qmail 42170 invoked by uid 99); 3 Apr 2007 08:35:43 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Apr 2007 01:35:43 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of firepure@gmail.com designates 209.85.132.245 as permitted sender) Received: from [209.85.132.245] (HELO an-out-0708.google.com) (209.85.132.245) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 03 Apr 2007 01:35:35 -0700 Received: by an-out-0708.google.com with SMTP id b2so1625706ana for ; Tue, 03 Apr 2007 01:35:14 -0700 (PDT) DKIM-Signature: a=rsa-sha1; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=HTW6vU4XZd1T471JgNA4dm4HtXgDHzcYP50Nl8OKjzulfRXGCaZf9IPW/tHHCoOrD7F567p7Lt4MUbWyvgQ2yBx0RFprSQYACK0AlpC8UwI80jWcIILVNF/Af0cSpXTVh6gmKozL0ZpXiEzFXzJ/wrl0+irhWB8KKku06AU7F4U= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:content-transfer-encoding:content-disposition:references; b=E2teAS4ywnjEjyBxOSlNxhSHnC4vFyNsTEnmoq1tcgkz2tVMJCFRdDgbBVSQyrK2e5ErqPzFgVNBiFCfrmz5jlC+y/bllTthJ5Xh8ZL7E1Bo0HR7XV7plWPJQjuDoCsefJUCwL6R0vvq4Ugn/rosbU7xe7NhS3uyY6QiPKuxe98= Received: by 10.114.13.1 with SMTP id 1mr2169914wam.1175589313824; Tue, 03 Apr 2007 01:35:13 -0700 (PDT) Received: by 10.114.92.8 with HTTP; Tue, 3 Apr 2007 01:35:13 -0700 (PDT) Message-ID: <5c8e69f0704030135i18b8bf3yd1a5d57e6de843f7@mail.gmail.com> Date: Tue, 3 Apr 2007 16:35:13 +0800 From: "=?GB2312?B?THZKaW1teaOsSmluZw==?=" To: dev@harmony.apache.org Subject: Re: [Classlib][General] Looking for some profiler tools to use In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=GB2312; format=flowed Content-Transfer-Encoding: base64 Content-Disposition: inline References: <5c8e69f0703291929l3c24824et533743bffe98dc98@mail.gmail.com> <5c8e69f0703292024x10096b31k7a2b410a00c19e20@mail.gmail.com> <5c8e69f0703300307v4134e653nc661ca80714de947@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org VGhhbmtzIENocmlzIGFuZCBJdmFuLCBpdCB3b3JrcyBmb3IgSlZNVEkgKFRQVFAgdjQuNCkgOikK U29ycnkgZm9yIGxhdGUgcmVwbHksIGhvd2V2ZXIgSSd2ZSB0cnkgYWdhaW4gYW5kIGFnYWluIGJ1 dCByZWNlaXZlCnNvbWUgZW1wdHkgb3Igd3JvbmcgcmVwb3J0IGZyb20gSGFybW9ueSB3aXRoIElC TVZNRSwgSSBoYXZlbid0IGRlYnVnCmluLCBidXQgZG91YnQgaWYgdGhlcmUncyBzb21ldGhpbmcg d3Jvbmcgd2l0aCBWTSBvciBjbGFzc2xpYihlLmcsCmphdmEubGFuZy5tYW5hZ2VtZW50LCBJSVJD LCBpdCBsYWNrcyBuYXRpdmUgY29kZSBjdXJyZW50bHkpLgpJIGhhdmVuJ3QgdHJ5IERSTFZNLCBp cyBKVk1USSBvZiBEUkxWTSBpbXBsZW1lbnRlZD8gU29ycnkgdGhhdCBJCmhhdmVuJ3QgdGFrZSBh IGRlZXBlciBsb29rLiBJZiBzbywgbWF5YmUgd2UgY2FuIGFsc28gdHJ5IG9uIGl0LgpJJ2xsICBn byBvbiB0byB0cnkgdG8gZ2V0IHRoZSBjb3JyZWN0IHJlcG9ydC4KCjIwMDcvMy8zMSwgRWxmb3Jk LCBDaHJpcyBMIDxjaHJpcy5sLmVsZm9yZEBpbnRlbC5jb20+Ogo+IE5vdGUgYWxzbyB0aGF0IGlm IHlvdSBhcmUgdXNpbmcgdGhlICJFeHRlcm5hbCBKYXZhIEFwcGxpY2F0aW9uIiBsYXVuY2ggY29u ZmlndXJhdGlvbiBmcm9tIHdpdGhpbiB0aGUgd29ya2JlbmNoLCBpdCB3aWxsIHVzZSB3aGF0ZXZl ciBKVk0geW91IGNvbmZpZ3VyZWQgeW91ciBhZ2VudCBjb250cm9sbGVyIHRvIHVzZSAod2hpY2gg eW91IGNhbiBwb2ludCB0byBhIEhhcm1vbnkgSlZNKS4gIFlvdSBjYW4gY29uZmlndXJlIHRoaXMg d2hlbiB5b3UgcnVuIHNldENvbmZpZy5iYXQuCj4KPiAxKSBDb25maWd1cmUgYW5kIHN0YXJ0IHlv dXIgZXh0ZXJuYWwgYWdlbnQgY29udHJvbGxlcjoKPiBUaGVuIGZyb20gd2l0aGluIHRoZSB3b3Jr YmVuY2gKPiAyKSBSdW4tPm9wZW4gcHJvZmlsZSBkaWFsb2cKPiAzKSBDcmVhdGUgYW4gZXh0ZXJu YWwgamF2YSBhcHBsaWNhdGlvbiBjb25maWd1cmF0aW9uIG1ha2luZyBzdXJlIHRvIHRlc3QgdGhl IGNvbm5lY3Rpdml0eSB0byB0aGUgYWdlbnQgY29udHJvbGxlcgo+IDQpIENvbmZpZ3VyaW5nIHRo ZSB0eXBlIG9mIEphdmE1KyAoSlZNVEkpIHByb2ZpbGluZyB5b3Ugd2FudCAoaW4gdGhlIG1vbml0 b3IgdGFiKQo+ICAgICAgICAgZXhlY3V0aW9uIHRpbWUgKGNhbGxncmFwaCksIG1lbW9yeSBhbmFs eXNpcyAoaGVhcCksIG9yIHRocmVhZCBhbmFseXNpcyAodGhyZWFkKQo+Cj4gSlZNVEkgYmFzZWQg cHJvZmlsaW5nIGhhcyBiZWVuIGluIHRlY2ggcHJldmlldyBpbiBFY2xpcHNlL1RQVFAgZm9yIGEg d2hpbGUgbm93IGFuZCBpcyB0YXJnZXRpbmcgR0EgaW4gdGhlIEV1cm9wYSBzaW11bHRhbmVvdXMg cmVsZWFzZSBpbiBhIGZldyBtb250aHMgKGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvdHB0cC9ob21l L3Byb2plY3RfaW5mby9kZXZwbGFucy9FY2xpcHNlJTIwVFBUUCUyMFByb2plY3QlMjA0LjQlMjBS ZWxlYXNlJTIwUGxhbi5odG0jRmVhdHVyZXMpLgo+Cj4gVGhhbmtzLAo+Cj4gQ2hyaXMKPgo+IC0t LS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogRWxmb3JkLCBDaHJpcyBMCj4gU2VudDog RnJpZGF5LCBNYXJjaCAzMCwgMjAwNyA1OjU1IFBNCj4gVG86ICdkZXZAaGFybW9ueS5hcGFjaGUu b3JnJwo+IFN1YmplY3Q6IFJFOiBbQ2xhc3NsaWJdW0dlbmVyYWxdIExvb2tpbmcgZm9yIHNvbWUg cHJvZmlsZXIgdG9vbHMgdG8gdXNlCj4KPiBIaSBKaW1teSwKPgo+ICAgSWYgeW91IHdhbnQgdG8g cnVuIFRQVFAgSlZNVEkgYmFzZWQgcHJvZmlsaW5nIHN0YW5kYWxvbmUgYW5kIGltcG9ydCB0aGUg cmVzdWx0cyBpbnRvIEVjbGlwc2UsIHlvdSdsbCBuZWVkIHRvIGZvbGxvdyB0aGUgaW5zdHJ1Y3Rp b25zIGZvciBzZXR0aW5nIHlvdXIgY29tbWFuZCBsaW5lLgo+Cj4gICBUaGUgcmVhZG1lIGZvciB0 aGlzIHdpbGwgYmUgaW4gYSBzdWJkaXJlY3RvcnkgdW5kZXIgd2hlcmUgeW91IGluc3RhbGxlZCB5 b3VyIGFnZW50IGNvbnRyb2xsZXIuLi4uICBVc2UgaW5zdHJ1Y3Rpb25zIGxvb2sgbGlrZSB0aGlz Ogo+Cj4gVG8gcnVuIHRoZSBuZXcgSmF2YSBQcm9maWxlciBpbiBzdGFuZGFsb25lIG1vZGUgb24g V2luZG93czoKPiBhKSBTZXQgVFBUUF9BQ19IT01FPTw8QWdlbnQgQ29udHJvbGxlciBIb21lPj4K PiBiKSBTZXQgSkFWQV9QUk9GSUxFUl9IT01FPSVUUFRQX0FDX0hPTUUlXHBsdWdpbnNcb3JnLmVj bGlwc2UudHB0cC5qYXZhcHJvZmlsZXIKPiBjKSBTZXQgUEFUSD0lSkFWQV9QUk9GSUxFUl9IT01F JTslUEFUSCU7JVRQVFBfQUNfSE9NRSVcYmluCj4gZCkgU2V0IFBBVEg9JVBBVEglOyVKQVZBX0hP TUUlXGJpbgo+IGUpIEV4ZWN1dGUgdGhlIGZvbGxvd2luZyBjb21tYW5kOgo+ICAgIGphdmEgLWFn ZW50bGliOkpQSUJvb3RMb2FkZXI9SlBJQWdlbnQ6c2VydmVyPXN0YW5kYWxvbmU7Q0dQcm9mIDw8 WW91cgo+ICAgIEFwcGxpY2F0aW9uIHRvIHByb2ZpbGU+Pgo+Cj4gVG8gcnVuIHRoZSBuZXcgSmF2 YSBQcm9maWxlciBpbiBzdGFuZGFsb25lIG1vZGUgb24gTGludXg6Cj4gYSkgU2V0IFRQVFBfQUNf SE9NRT08PEFnZW50IENvbnRyb2xsZXIgSG9tZT4+Cj4gYikgU2V0IEpBVkFfUFJPRklMRVJfSE9N RT0lVFBUUF9BQ19IT01FJS9wbHVnaW5zL29yZy5lY2xpcHNlLnRwdHAuamF2YXByb2ZpbGVyCj4g YykgQWRkIHRoZSBmb2xsb3dpbmcgZGlyZWN0b3JpZXMgdG8gTERfTElCUkFSWV9QQVRIOgo+ICAg ICVKQVZBX1BST0ZJTEVSX0hPTUUlOiVUUFRQX0FDX0hPTUUlL2xpYgo+IGQpIEV4ZWN1dGUgdGhl IGZvbGxvd2luZyBjb21tYW5kOgo+ICAgIGphdmEgJy1hZ2VudGxpYjpKUElCb290TG9hZGVyPUpQ SUFnZW50OnNlcnZlcj1zdGFuZGFsb25lO0NHUHJvZicgPDxZb3VyCj4gICAgQXBwbGljYXRpb24g dG8gcHJvZmlsZT4+Cj4KPiBUaGUgcHJvZmlsaW5nIG91dHB1dCB3aWxsIGJlIHdyaXR0ZW4gdG8g YSBmaWxlIG5hbWVkIHRyYWNlLnRyY3htbCBpbiB0aGUgY3VycmVudAo+IGRpcmVjdG9yeSB0aGF0 IGNhbiB0aGVuIGJlIGxvYWRlZCBpbnRvIHRoZSBUUFRQIEdVSS4uCj4KPiBUaGVyZSBpcyBhIHdh eSB0byBzZWxlY3QgdGhlIEpSRSB0byB1c2UgZnJvbSB0aGUgR1VJIHNvIHRoYXQgeW91IGNhbiBy dW4gZGlyZWN0bHkgZnJvbSB0aGUgd29ya2JlbmNoLiAgVGhlIGxhdW5jaCBjb25maWd1cmF0aW9u cyBoYXZlIGJlZW4gdW5kZXJnb2luZyBzb21lIHVwZGF0ZXMgcmVjZW50bHkgYW5kIEkgZG9uJ3Qg c2VlIHRoZSBkaWFsb2cgYXQgdGhlIG1vbWVudC4KPgo+IFJlZ2FyZHMsCj4KPiBDaHJpcyBFbGZv cmQKPiBJbnRlbCBTU0cvRW50ZXJwcmlzZSBTb2x1dGlvbnMgU29mdHdhcmUgRGl2aXNpb24KPgo+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogTHZKaW1teSxKaW5nIFttYWlsdG86 ZmlyZXB1cmVAZ21haWwuY29tXQo+IFNlbnQ6IEZyaWRheSwgTWFyY2ggMzAsIDIwMDcgMzowOCBB TQo+IFRvOiBkZXZAaGFybW9ueS5hcGFjaGUub3JnCj4gU3ViamVjdDogUmU6IFtDbGFzc2xpYl1b R2VuZXJhbF0gTG9va2luZyBmb3Igc29tZSBwcm9maWxlciB0b29scyB0byB1c2UKPgo+IDIwMDcv My8zMCwgSXZhbiBQb3BvdiA8aXZhbi5nLnBvcG92QGdtYWlsLmNvbT46Cj4gPiBZb3UgbWF5IHdh bnQgdG8gdXNlIEVjbGlwc2UgVFBUUCBKYXZhIHByb2ZpbGVyIGZyb20gRWNsaXBzZSBUZXN0ICYK PiA+IFBlcmZvcm1hbmNlIFRvb2xzIFBsYXRmb3JtIFByb2plY3QgWzFdLiBDdXJyZW50IHZlcnNp b24gNC40LjAgaW5jbHVkZXMKPiA+IG5ldyBKVk1USSBwcm9maWxlciwgd2hpY2ggc3VwcG9ydHMg RXhlY3V0aW9uIHRpbWUgYW5hbHlzaXMsIFRocmVhZHMKPiA+IHN0YXR1cyBhbmFseXNpcywgYW5k IE9iamVjdHMgYWxsb2NhdGlvbiBhbmFseXNpcy4gSXQgc3VwcG9ydHMKPiA+IHByb2ZpbGluZyBi b3RoIGFwcGxpY2F0aW9uIGFuZCBzeXN0ZW0gY2xhc3NlcywganVzdCBzZXQgYXBwcm9wcmlhdGUK PiA+IGZpbHRlcnMgaW4gTW9uaXRvciB0YWIgb2YgbGF1bmNoaW5nIGNvbmZpZ3VyYXRpb24uCj4g Pgo+ID4gVGhpcyBpcyBkZXZlbG9wbWVudCB2ZXJzaW9uLCB3aGljaCBpcyBub3QgeWV0IG11Y2gg c3RhYmxlIGFuZAo+ID4gY29udmVuaWVudCwgYnV0IGl0IGJlY2FtZSBtdWNoIGJldHRlciBsYXN0 IHRpbWUuIFlvdSBtYXkgZG93bmxvYWQKPiA+IHN0YWJsZSBvciBjYW5kaWRhdGUgYnVpbGQgaGVy ZSBbMl0uIFNlZSBnb29kIGluc3RydWN0aW9uIGhvdyB0byBzZXR1cAo+ID4gVFBUUCBKVk1USSBw cm9maWxlciBpbiBbM10uIFRoaXMgaW5zdHJ1Y3Rpb24gaXMgc2xpZ2h0bHkgb3V0ZGF0ZWQsIGJ1 dAo+ID4gc3RpbGwgdXNlZnVsLiBVcGRhdGVkIGluc3RydWN0aW9uIHdpbGwgYXBwZWFyIHNob3J0 bHkuIEFsc28gdmVyeQo+ID4gdXNlZnVsIGNoYW5nZXMgaW4gbGF1bmNoaW5nIGNvbmZpZ3VyYXRp b24gYXJlIGV4cGVjdGVkIHNvb24sIHdoaWNoCj4gPiB3aWxsIGdyZWF0bHkgZmFjaWxpdGF0ZSBs YXVuY2hpbmcgYXBwbGljYXRpb24gdW5kZXIgcHJvZmlsZXIuCj4gPgo+ID4gSSBjaGVja2VkIFRQ VFAgcHJvZmlsZXIgd2l0aCBIYXJtb255IEpESyBhbmQgaXQgYXBwZWFyZWQgd29ya2luZyBxdWl0 ZQo+ID4gd2VsbC4gTGV0IG1lIGtub3cgaWYgeW91J2xsIGV4cGVyaWVuY2UgYW55IHByb2JsZW1z IHdpdGggVFBUUAo+ID4gcHJvZmlsZXIuCj4gPgo+Cj4gVGhhbmtzIEl2YW4hIEkndmUgZG93bmxv YWQgVFBUUCBhbmQgaGF2ZSBhIHRyeS4gSXQgaXMgcHJvcGVybHkgYSB2ZXJ5Cj4gZ29vZCBwcm9m aWxlciwgbmljZS1sb29raW5nIFVJLCBlYXN5IHRvIHVzZS4gIEhvd2V2ZXIgSSBjYW4gbm90IGZp bmQKPiBob3cgdG8gc2V0IGEgY2VydGFpbiBWTSBpbiBUUFRQPyBJIG1lYW4sIHdoZW4gSSB0cnkg dG8gcHJvZmlsZSBzb21lCj4gY29kZXMgdW5kZXIgUkksIGl0IHdvcmtzIChJIHN0YXJ0IGVjbGlw c2Ugd2l0aCBSSSksIGJ1dCB3aGVuIEkgdHJ5IHRvCj4gcHJvZmlsZXIgdW5kZXIgRFJMVk0gb3Ig SUJNVk1FLCBJIGNhbiBub3QgZmluZCB0aGUgcmlnaHQgcGxhY2UgdG8gc2V0Cj4gdGhlIHByb3Bl ciBKUkU/IEkndmUgdHJpZWQgdG8gbW9kaWZ5IEpSRSBpbiAiUnVuIiBWaWV3LCBidXQgaXQgZG9l cwo+IG5vdCBlZmZlY3QgcHJvZmlsZXIgYXQgYWxsLCBTeXN0ZW0uZ2V0UHJvcGVydHkoImphdmEu dm0ubmFtZSIpIHNob3cKPiB0aGF0IGlzIFJJLgo+IEJ1dCBtYXliZSB3ZSBjYW4gc3RhcnQgZWNs aXBzZSB3aXRoIEhhcm1vbnkgYW5kIHJ1biBwcm9maWxlcj8KPgo+ID4gVGhhbmtzLgo+ID4gSXZh bgo+ID4KPiA+IFsxXSBodHRwOi8vd3d3LmVjbGlwc2Uub3JnL3RwdHAvCj4gPiBbMl0gaHR0cDov L3d3dy5lY2xpcHNlLm9yZy90cHRwL2hvbWUvZG93bmxvYWRzLz92ZXI9NC40LjAKPiA+IFszXSBo dHRwOi8vd3d3LmVjbGlwc2Uub3JnL3RwdHAvcGxhdGZvcm0vZG9jdW1lbnRzL3R1dG9yaWFscy9q dm10aS9KYXZhX0FwcGxpY2F0aW9uX1Byb2ZpbGluZ191c2luZ19UUFRQLXI0LTMuaHRtbAo+ID4K PiA+Cj4gPiBPbiAzLzMwLzA3LCBMdkppbW15o6xKaW5nIDxmaXJlcHVyZUBnbWFpbC5jb20+IHdy b3RlOgo+ID4gPiAyMDA3LzMvMzAsIEx2SmltbXmjrEppbmcgPGZpcmVwdXJlQGdtYWlsLmNvbT46 Cj4gPiA+ID4gSGkgQWxsLAo+ID4gPiA+ICAgICBIYXJtb255IGhhcyByZWFjaCA5NSUgQVBJIGNv dmVyYWdlLCBJTUhPIGl0IG1heSBiZSBhIGdvb2QgdGltZSB0bwo+ID4gPiA+IHN0YXJ0IHBlcmZv cm1hbmNlIHByb2ZpbGVyL3R1bmluZy4gSWYgc28sIEknZCBsaWtlICB0byBkbyBzb21lCj4gPiA+ ID4gcGVyZm9ybWFuY2UgcHJvZmlsZXIgb24gSGFybW9ueSBDbGFzc2xpYiBmcm9tIG5vdyBvbiA7 KQo+ID4gPiA+ICAgICBJbiBvcmRlciB0byBsb29rIGZvciBwZXJmb3JtYW5jZSBib3R0bGVuZWNr LCB3ZSBuZWVkIHNvbWUgcHJvZmlsZXIKPiA+ID4gPiB0b29scy4gSSd2ZSBsb29rZWQgZm9yIHNv bWUgcHJvZmlsZXIgdG8gdXNlIGluIHRoZSB3aGlsZSwgYnV0IG5vbmUgb2YKPiA+ID4gPiB0aGVt IHdvcmsgcGVyZmVjdGx5Lgo+ID4gPiA+ICAgICBJJ3ZlIHRyaWVkIHlvdXJraXQgKHdpdGggYSBl dmFsdWF0aW9uIGtleSwgSSB0cnkgdGhpcyBiZWNhdXNlIGl0Cj4gPiA+ID4gbG9va3MgcG93ZXJm dWwgYW5kIG1heSBvZmZlciBhIE9wZW4gc291cmNlIHByb2plY3QgbGljZW5zZSBmb3IgZnJlZSks Cj4gPiA+ID4gc2VlbXMgaXQgY2hlY2sgVk0gdmVyc2lvbiBhbmQgYXNrIGZvciBzdW4ncyBqZGsg b3IgSUJNIHNkazUsIHNvCj4gPiA+ID4gSGFybW9ueSBmYWlscyBvbiBpdCAod2l0aCBEUkxWTSBv ciBJQk1WTUUsIEkgaGF2ZW4ndCB0cnkgb3RoZXIgVk0geWV0Lgo+ID4gPiA+ICAgICBUaGVyZSdz IGFsc28gc29tZSBvcGVuIHNvdXJjZSBwcm9maWxlci4gSlJhdCB3b3JrcyB3ZWxsIHdpdGggc29t ZQo+ID4gPiA+IG9mIGJlbmNobWFya3MsIGJ1dCB3ZSBjYW4gbm90IHVzZSBpdCB3aXRoIEhhcm1v bnkga2VybmVsIGNsYXNzZXMgYW5kCj4gPiA+ID4gc29tZSBrZXJuZWwtcmVsYXRlZCBjbGFzcyhl LmcuIEhhc2h0YWJsZSksIGFzIGl0IHVzZXMgYQo+ID4gPiA+IGluc3RydW1lbnRhdGlvbiBtYWNo bmlzbSBhbmQgY2F1c2VzIGEgY2lyY3VsYXIgcmVmZXJlbmNlLiBBbmQgc29tZQo+ID4gPiA+IG90 aGVyIG9wZW4gc291cmNlIHByb2ZpbGVycyB1c2UgSlZNUEkgYnV0IEhhcm1vbnkgZXZlbiBjYW4g bm90IHJ1biBvbgo+ID4gPiA+IGl0IGF0IGFsbCAoaWYgSSBkbyBub3QgbWlzLWNvbmZpZ3VyZSBz b21ldGhpbmcpLgo+ID4gPiA+ICAgICBJbiBhbGwsIEkgdGhpbmsgd2UgbmVlZCBhIHByb2ZpbGVy IHRoYXQ6Cj4gPiA+ID4gICAgIDEuIHVzZSBKVk1USSwgYXZvaWQgaW5zdHJ1bWVudGF0aW9uIHRo YXQgbWF5IGNhdXNlcyBhIGNpcmN1bGFyCj4gPiA+ID4gcmVmZXJlbmNlLCBhbmQgaXQgaXMgYmV0 dGVyIHRoYXQgaXQgZG8gbm90IHVzZSBvbGQgSlZNUEksIGZvciBIYXJtb255Cj4gPiA+ID4gaXMg SjJTRTUgY2xhc3NsaWI7Cj4gPiA+ID4gICAgIDIuIERvIG5vdCBjaGVjayBWTSB2ZXJzaW9uLCB0 aGF0IG1lYW5zLCB1c2UgcHVibGljIEFQSSBhcyBKVk1USSwKPiA+ID4gPiBpbiB0aGlzIHdheSBI YXJtb255LWNvbXBhdGlibGUgVk0gY2FuIHdvcmsgd2VsbCBvbiBpdAo+ID4gPiA+ICAgICAzLiBz dGFibGUgYW5kIHBvd2VyZnVsICA6KQo+ID4gPgo+ID4gPiBJIGZvcmdldCBvbmUgaW1wb3J0YW50 IHRoaW5nOiAgNC4gZm9yIGZyZWUgdXNlLCBhbmQgaXQnbGwgYmUgYmV0dGVyIGlmCj4gPiA+IGl0 IGlzIG9wZW4tc291cmNlICA6KQo+ID4gPgo+ID4gPiA+ICAgICBPZiBjb3Vyc2UgaXQnbGwgYmUg YmV0dGVyIGlmIHRoZSBwcm9maWxlciBoYXMgYSBVSSwgYnV0IGl0IGlzIG5vdCBuZWNlc3Nhcnku Cj4gPiA+ID4KPiA+ID4gPiAgICAgRG8gc29tZW9uZSBoYXZlIHNvbWUgZXhwZXJpZW5jZSBvbiBw cm9maWxlcnM/IENhbiBzb21lb25lIHRlbGwgaWYKPiA+ID4gPiB0aGVyZSdzIGEgZ29vZCBwcm9m aWxlciBmb3IgSGFybW9ueSBjbGFzc2xpYj8gVGhhbmtzIQo+ID4gPiA+Cj4gPiA+ID4gLS0KPiA+ ID4gPgo+ID4gPiA+IEJlc3QgUmVnYXJkcyEKPiA+ID4gPgo+ID4gPiA+IEppbW15LCBKaW5nIEx2 Cj4gPiA+ID4gQ2hpbmEgU29mdHdhcmUgRGV2ZWxvcG1lbnQgTGFiLCBJQk0KPiA+ID4gPgo+ID4g Pgo+ID4gPgo+ID4gPiAtLQo+ID4gPgo+ID4gPiBCZXN0IFJlZ2FyZHMhCj4gPiA+Cj4gPiA+IEpp bW15LCBKaW5nIEx2Cj4gPiA+IENoaW5hIFNvZnR3YXJlIERldmVsb3BtZW50IExhYiwgSUJNCj4g PiA+Cj4gPgo+Cj4KPiAtLQo+Cj4gQmVzdCBSZWdhcmRzIQo+Cj4gSmltbXksIEppbmcgTHYKPiBD aGluYSBTb2Z0d2FyZSBEZXZlbG9wbWVudCBMYWIsIElCTQo+CgoKLS0gCgpCZXN0IFJlZ2FyZHMh CgpKaW1teSwgSmluZyBMdgpDaGluYSBTb2Z0d2FyZSBEZXZlbG9wbWVudCBMYWIsIElCTQo=