Return-Path: Delivered-To: apmail-harmony-dev-archive@www.apache.org Received: (qmail 38180 invoked from network); 14 Jan 2009 12:45:19 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Jan 2009 12:45:19 -0000 Received: (qmail 26460 invoked by uid 500); 14 Jan 2009 12:45:17 -0000 Delivered-To: apmail-harmony-dev-archive@harmony.apache.org Received: (qmail 26423 invoked by uid 500); 14 Jan 2009 12:45:17 -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 26412 invoked by uid 99); 14 Jan 2009 12:45:17 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Jan 2009 04:45:17 -0800 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (nike.apache.org: domain of pmcfirst@gmail.com designates 209.85.218.15 as permitted sender) Received: from [209.85.218.15] (HELO mail-bw0-f15.google.com) (209.85.218.15) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 14 Jan 2009 12:45:08 +0000 Received: by bwz8 with SMTP id 8so1292291bwz.12 for ; Wed, 14 Jan 2009 04:44:48 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:message-id:date:from:to :subject:in-reply-to:mime-version:content-type :content-transfer-encoding:content-disposition:references; bh=7kS17ex2aFCoBP3YKHZ83sjhlyxqwFcNfAAoYWKAfT4=; b=YXkjR0XdvXVznjZwc6uIjxOpYPifKv3n7z4AyVNHjdg98inliTZA6kzaToZ4rSGJ+p Yq1wzwjIy6rbw/W90016Th0zYIBXNuOycHzP9agPH+VLzyjN+r//ttY39KfRqGrBpj7B PiTy8GqdURPAiVjZ1CrgoSCCa+G43b/h+QrjI= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=message-id:date:from:to:subject:in-reply-to:mime-version :content-type:content-transfer-encoding:content-disposition :references; b=pBkVniNzMEIWs5EMaV8ybXu6zMtxlR5Mj7rtmFQQYnx1UU7C8qTM6WaAbp61COH+/I KIedqNgx9TJ91T31bwa7FuZI1umDbzpquCH6fBsD5TSU3hOC9P/kVsambJvwL4ixhtpA Fo1NHD6Y/DvBzJdoid65eqWSRY1aGFG6g33vM= Received: by 10.103.131.18 with SMTP id i18mr21295mun.120.1231937088295; Wed, 14 Jan 2009 04:44:48 -0800 (PST) Received: by 10.102.228.13 with HTTP; Wed, 14 Jan 2009 04:44:48 -0800 (PST) Message-ID: Date: Wed, 14 Jan 2009 15:44:48 +0300 From: "Pavel Pervov" To: dev@harmony.apache.org Subject: Re: [VM] On-demand class library parsing is ready to commit In-Reply-To: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: base64 Content-Disposition: inline References: <9623c9a50812260040k3a9bc5fetc2281f3ded5ce4b4@mail.gmail.com> <9623c9a50812260116i10eefbdfi32135ddb20a20511@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org UGxlYXNlLCBhbHNvLCBjaGVjayB0aGF0IGphciBlbnRyeSBjYWNoZXMgc3RpbGwgd29yayBjb3Jy ZWN0bHkgYWZ0ZXIgeW91ciBwYXRjaC4KClBhdmVsLgoKT24gV2VkLCBKYW4gMTQsIDIwMDkgYXQg MTI6MzMgUE0sIFdlbmxvbmcgTGkgPHdlbmxvbmdAZ21haWwuY29tPiB3cm90ZToKPiBBbGwsCj4K PiBJIHN1Ym1pdCBhIG5ldyBwYXRjaCBmb3Igb24tZGVtYW5kIGNsYXNzIGxvYWRpbmcgYW5kIHBh cnNpbmcuIEFsbAo+IGNvZGVzIGFyZSBwdXQgaW4gVk0gc2lkZSwgYW5kIHRoZSBtYXBwaW5nIGlu Zm8gaXMgYXV0b21hdGljYWxseQo+IHByb2R1Y2VkLgo+Cj4gUGxzIHNlZSBodHRwczovL2lzc3Vl cy5hcGFjaGUub3JnL2ppcmEvYnJvd3NlL0hBUk1PTlktNjAzOQo+Cj4gQ29tbWVudHMgYXJlIHdl bGNvbWUuCj4KPiBUaHgsIFdlbmxvbmcKPiBNYW5hZ2VkIFJ1bnRpbWUgVGVjaG5vbG9neSBDZW50 ZXIsIEludGVsCj4KPiBPbiBXZWQsIEphbiA3LCAyMDA5IGF0IDEyOjA4IFBNLCBXZW5sb25nIExp IDx3ZW5sb25nQGdtYWlsLmNvbT4gd3JvdGU6Cj4+IEFsbCwKPj4gQXQgdGhpcyBtb21lbnQsIEkg bW92ZSBhbGwgdXBkYXRlcyBpbiBjbGFzc2xpYiB0byBWTSBzaWRlIHN1Y2ggdGhhdAo+PiB0aGVy ZSBpcyBubyBtb2R1bGFyaXR5IGlzc3VlLiBOZXh0IHN0ZXAgaXMgdG8gcHJvZHVjZSB0aGUgbWFw cGluZwo+PiBiZXR3ZWVuIG1vZHVsZSBhbmQgbGlicmFyeSBlZmZpY2llbnRseSBhbmQgYWNjdXJh dGVseS4KPj4KPj4gQ29tbWVudHMgYXJlIHdlbGNvbWUuCj4+Cj4+IFRoeCwgV2VubG9uZwo+PiBN YW5hZ2VkIFJ1bnRpbWUgVGVjaG5vbG9neSBDZW50ZXIsIEludGVsCj4+Cj4+IE9uIFR1ZSwgSmFu IDYsIDIwMDkgYXQgMTE6MDggUE0sIFdlbmxvbmcgTGkgPHdlbmxvbmdAZ21haWwuY29tPiB3cm90 ZToKPj4+IFRoeCA6KQo+Pj4KPj4+IE9uIFR1ZSwgSmFuIDYsIDIwMDkgYXQgMTA6MzUgUE0sIEFs ZXhlaSBGZWRvdG92Cj4+PiA8YWxleGVpLmZlZG90b3ZAZ21haWwuY29tPiB3cm90ZToKPj4+PiBT dXJlLgo+Pj4+Cj4+Pj4gMS4gSWYgeW91IGRpZyBpbnRvIFNldENsYXNzcGF0aEZyb21TdHJpbmcs IHlvdSB3aWxsIHNlZSB0aGF0IGl0IHN0YXJ0cyBmcm9tCj4+Pj4gc3BsaXR0aW5nIHRoZSBnaXZl biBjbGFzc3BhdGggaW50byBwaWVjZXMuIFlvdSBhbHJlYWR5IGtub3cgdGhlIG5ldyBwaWVjZQo+ Pj4+IHlvdSBhZGQgYW5kIG1heSBza2lwIHNwbGl0dGluZyBzdGVwLgo+Pj4+Cj4+Pj4gMi4gSWYg SSB1bmRlcnN0YW5kIHlvdSBjb2RlIGNvcnJlY3RseSwgdGhlIGNhc2UgInBkZXN0ID4KPj4+PiAo Kml0KS5zZWNvbmQtPmJ5dGVzIiBtaWdodCBiZSBhIHN1YmplY3Qgb2YgYSBuZWdhdGl2ZSBhc3Nl cnRpb24uIEFkZGluZyB0aGlzCj4+Pj4gYXNzcnRpb24gd291bGQgc3BlZWQgdXAgYnVnIGRpc2Nv dmVyeS4KPj4+Pgo+Pj4+IFRoYW5rcy4KPj4+Pgo+Pj4+Cj4+Pj4gT24gVHVlLCBKYW4gNiwgMjAw OSBhdCA1OjA5IEFNLCBXZW5sb25nIExpIDx3ZW5sb25nQGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4K Pj4+Pj4gWWVzLCBYaWFvLUZlbmcncyB1bmRlcnN0YW5kaW5nIGlzIGNvcnJlY3QuIFRoZSBwYXRj aCBsb2FkcyBhbmQgcGFyc2VzCj4+Pj4+IG1vZHVsZXMgb24gZGVtYW5kLiBJZiBubyBjbGFzcyBp biBzd2luZy5qYXIgaXMgbm90IHJlcXVlc3RlZCwgdGhlbgo+Pj4+PiB0aGlzIG1vZHVsZSB3aWxs IG5vdCBiZSBsb2FkZWQuCj4+Pj4+Cj4+Pj4+IGJ0dywgQWxleGVpLCB5b3Ugc2FpZCAiU2V0Q2xh c3NwYXRoRnJvbVN0cmluZyIgYW5kICJwZGVzdCA+Cj4+Pj4+ICgqaXQpLnNlY29uZC0+Ynl0ZXMi IGFyZSBub3QgZWZmaWNpZW50LiBDYW4geW91IHNoYXJlIG1vcmUgY29tbWVudHMgb24KPj4+Pj4g dGhlbT8gSSBqdXN0IHJldXNlZCBzb21lIGNvZGUgaW4gSGFybW9ueSwgYW5kIGRpZG4ndCBvcHRp bWl6ZSB0aGVtCj4+Pj4+IGZ1cnRoZXIuCj4+Pj4+Cj4+Pj4+IFRoeCwgV2VubG9uZwo+Pj4+PiBN YW5hZ2VkIFJ1bnRpbWUgVGVjaG5vbG9neSBDZW50ZXIsIEludGVsCj4+Pj4+Cj4+Pj4+IE9uIEZy aSwgRGVjIDI2LCAyMDA4IGF0IDU6MTYgUE0sIFhpYW8tRmVuZyBMaSA8eGlhb2ZlbmcubGlAZ21h aWwuY29tPgo+Pj4+PiB3cm90ZToKPj4+Pj4gPiBPbiBGcmksIERlYyAyNiwgMjAwOCBhdCA1OjA4 IFBNLCBBbGV4ZWkgRmVkb3Rvdgo+Pj4+PiA+IDxhbGV4ZWkuZmVkb3RvdkBnbWFpbC5jb20+IHdy b3RlOgo+Pj4+PiA+PiBYaWFvIEZlbmcsCj4+Pj4+ID4+IFRoYW5rIHlvdSBmb3IgZXhwbGFpbmlu Zy4KPj4+Pj4gPj4KPj4+Pj4gPj4gSSBnZXQgbW9yZSBtaW5vciBjb21tZW50cyBvbiBtb3JlIGNv bW1lbnRlZCBjb2RlLCBpbmVmZmVjdGl2ZQo+Pj4+PiA+PiBTZXRDbGFzc3BhdGhGcm9tU3RyaW5n IHVzYWdlLCBub24tY292ZXJlZCB1bmV4cGVjdGVkIGNhc2Ugd2hlbiBwZGVzdCA+Cj4+Pj4+ID4+ ICgqaXQpLnNlY29uZC0+Ynl0ZXMuIE9uZSBtYWpvciBjb21tZW50IG9uIGNyb3NzaW5nIHZtIG1v ZHVsZSBib3VuZGFyeQo+Pj4+PiA+PiBzdGlsbCByZW1haW5zLiBCdXQgbm93IEknbSBoYXBweSB3 aXRoIHRoZSBkZXNpZ24uCj4+Pj4+ID4KPj4+Pj4gPiBBbGV4ZWksIHllcywgSSBhZ3JlZSB3aXRo IHlvdXIgY29tbWVudHMuIFRoZXNlIHBhcnRzIHNob3VsZCBiZQo+Pj4+PiA+IGltcHJvdmVkLiAo U3RpbGwsIHRoaXMgaXMgbXkgcGVyc29uYWwgb3Bpbmlvbi4gOikgIExldCdzIHdhaXQgV2VubG9u Zwo+Pj4+PiA+IHNwZWFraW5nLikKPj4+Pj4gPgo+Pj4+PiA+IFRoYW5rcywKPj4+Pj4gPiB4aWFv ZmVuZwo+Pj4+PiA+Cj4+Pj4+ID4+IFNvcnJ5IGZvciBiZWluZyBzbG93Lgo+Pj4+PiA+Pgo+Pj4+ PiA+Pgo+Pj4+PiA+Pgo+Pj4+PiA+PiBPbiBGcmksIERlYyAyNiwgMjAwOCBhdCAxMTo0MCBBTSwg WGlhby1GZW5nIExpIDx4aWFvZmVuZy5saUBnbWFpbC5jb20+Cj4+Pj4+IHdyb3RlOgo+Pj4+PiA+ Pj4gT24gRnJpLCBEZWMgMjYsIDIwMDggYXQgNDowMyBQTSwgQWxleGVpIEZlZG90b3YKPj4+Pj4g Pj4+IDxhbGV4ZWkuZmVkb3RvdkBnbWFpbC5jb20+IHdyb3RlOgo+Pj4+PiA+Pj4+IFhpYW8tRmVu ZywKPj4+Pj4gPj4+PiBDb250aW51aW5nIHdpdGggdGhlIHNlcnZlciBleGFtcGxlIGNvdWxkIHlv dSBwbGVhc2UgZ2l2ZSBtZSBhIGhpbnQKPj4+Pj4gd2hlcmUKPj4+Pj4gPj4+PiBkZWNpc2lvbiB0 byBsb2FkIHN3aW5nLmphciBvciBub3QgaXMgdGFrZW4gaW4gdGhlIHBhdGNoPyBNeSBpbml0aWFs Cj4+Pj4+ID4+Pj4gcGVyY2VwdGlvbiB3YXMgdGhhdCB0aGUgbGlzdCBvZiB3aGF0IHRvIGxvYWQg d2FzIGhhcmRjb2RlZCBhbmQgd2FzIG5vdAo+Pj4+PiA+Pj4+IGNvbnN0cnVjdGVkIGR5bmFtaWNh bGx5IGRlcGVuZGluZyBvbiBhcHBsaWNhdGlvbi4KPj4+Pj4gPj4+Cj4+Pj4+ID4+PiBBbGV4ZWks IGhlcmUgaXMgdGhlIHBhdGNoIGNvZGUgSSBmb3VuZDoKPj4+Pj4gPj4+Cj4+Pj4+ID4+PiBsaW5l IDI0NToKPj4+Pj4gPj4+ICsgICAgICAgICAgICAvLyBGaW5kIHdoaWNoIGphciBleHBvcnRzIHRo aXMgcGFja2FnZQo+Pj4+PiA+Pj4gKyAgICAgICAgICAgIGlmIChwa2dOYW1lICE9IE5VTEwpIHsK Pj4+Pj4gPj4+ICsgICAgICAgICAgICAgICAgY2hhciAqYm9vdF9jbGFzc19wYXRoID0KPj4+Pj4g Pj4+IGVudi0+SmF2YVByb3BlcnRpZXMoKS0+Z2V0KFZNX0JPT1RfQ0xBU1NfRElSKTsKPj4+Pj4g Pj4+ICsgICAgICAgICAgICAgICAgY2hhciAqcGVuZGluZ0NsYXNzUGF0aCA9IE5VTEw7Cj4+Pj4+ ID4+PiArICAgICAgICAgICAgICAgIGFwcl9wb29sX3QgKnRtcF9wb29sOwo+Pj4+PiA+Pj4gKyAg ICAgICAgICAgICAgICBhcHJfcG9vbF9jcmVhdGUoJnRtcF9wb29sLCBOVUxMKTsKPj4+Pj4gPj4+ ICsgICAgICAgICAgICAgICAgd2hpbGUgKGl0ICE9IGVudi0+cGVuZGluZ19qYXJfc2V0LmVuZCgp KSB7Cj4+Pj4+ID4+PiArICAgICAgICAgICAgICAgICAgICBwZGVzdCA9IHN0cnN0ciggKCppdCku c2Vjb25kLT5ieXRlcywgcGtnTmFtZSApOwo+Pj4+PiA+Pj4gKyAgICAgICAgICAgICAgICAgICAg aWYgKHBkZXN0ICE9IE5VTEwpIHsKPj4+Pj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBw ZW5kaW5nQ2xhc3NQYXRoID0KPj4+Pj4gPj4+IChjaGFyKilTVERfTUFMTE9DKHN0cmxlbihib290 X2NsYXNzX3BhdGgpCj4+Pj4+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICArCj4+Pj4+IHN0cmxlbigoKml0KS5maXJzdC0+Ynl0ZXMpICsgMSk7Cj4+ Pj4+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICAgc3RyY3B5KHBlbmRpbmdDbGFzc1BhdGgs IGJvb3RfY2xhc3NfcGF0aCk7Cj4+Pj4+ID4+PiArICAgICAgICAgICAgICAgICAgICAgICAgc3Ry Y2F0KHBlbmRpbmdDbGFzc1BhdGgsICgqaXQpLmZpcnN0LT5ieXRlcyk7Cj4+Pj4+ID4+PiArICAg ICAgICAgICAgICAgICAgICAgICAgLy8gT3BlbiB0aGlzIGZvdW5kIGphciwgYW5kIHJlYWQgYWxs IGNsYXNzZXMKPj4+Pj4gPj4+IGNvbnRhaW5lZCBpbiB0aGlzIGphcgo+Pj4+PiA+Pj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIFNldENsYXNzcGF0aEZyb21TdHJpbmcocGVuZGluZ0NsYXNzUGF0 aCwKPj4+Pj4gdG1wX3Bvb2wpOwo+Pj4+PiA+Pj4gKyAgICAgICAgICAgICAgICAgICAgICAgIC8v IEVyYXNlIHRoZSBmb3VuZCBqYXIgZnJvbSBwZW5kaW5nIGphciBsaXN0Cj4+Pj4+ID4+PiBhcyBp dCBoYXMgYmVlbiBwYXJzZWQKPj4+Pj4gPj4+ICsgICAgICAgICAgICAgICAgICAgICAgICBlbnYt PnBlbmRpbmdfamFyX3NldC5lcmFzZShpdCsrKTsKPj4+Pj4gPj4+ICsgICAgICAgICAgICAgICAg ICAgICAgICBTVERfRlJFRShwZW5kaW5nQ2xhc3NQYXRoKTsKPj4+Pj4gPj4+ICsgICAgICAgICAg ICAgICAgICAgIH0gZWxzZSB7Cj4+Pj4+ID4+Pgo+Pj4+PiA+Pj4gSXQgY2hlY2tzIGlmIGEgSkFS IGhhcyB0aGUgcmVxdWVzdGVkIHBhY2thZ2UsIHRoZW4gbG9hZHMgaXQgaWYgeWVzLiBJCj4+Pj4+ ID4+PiBhbSBub3Qgc3VyZSBpZiB0aGlzIGlzIHdoYXQgeW91IHdlcmUgYXNraW5nLiAoQnR3LCB0 aGlzIGlzIG9ubHkgbXkKPj4+Pj4gPj4+IHVuZGVyc3RhbmRpbmcgb2YgaGlzIHBhdGNoLiBJIGFt IG5vdCBzcGVha2luZyBmb3IgV2VubG9uZy4pCj4+Pj4+ID4+Pgo+Pj4+PiA+Pj4gVGhhbmtzLAo+ Pj4+PiA+Pj4geGlhb2ZlbmcKPj4+Pj4gPj4+Cj4+Pj4+ID4+Pj4gVGhhbmtzLgo+Pj4+PiA+Pj4+ Cj4+Pj4+ID4+Pj4KPj4+Pj4gPj4+PiBPbiBGcmksIERlYyAyNiwgMjAwOCBhdCA0OjE0IEFNLCBY aWFvLUZlbmcgTGkgPHhpYW9mZW5nLmxpQGdtYWlsLmNvbT4KPj4+Pj4gd3JvdGU6Cj4+Pj4+ID4+ Pj4KPj4+Pj4gPj4+Pj4gT24gRnJpLCBEZWMgMjYsIDIwMDggYXQgMTI6NDkgQU0sIEFsZXhlaSBG ZWRvdG92Cj4+Pj4+ID4+Pj4+IDxhbGV4ZWkuZmVkb3RvdkBnbWFpbC5jb20+IHdyb3RlOgo+Pj4+ PiA+Pj4+PiA+IEFsZWtzZXksCj4+Pj4+ID4+Pj4+ID4gSSBsaWtlIHlvdXIgY29uY2x1c2lvbi4K Pj4+Pj4gPj4+Pj4gPgo+Pj4+PiA+Pj4+PiA+IFdlbmxvbmcsCj4+Pj4+ID4+Pj4+ID4gSSdtIHRy eWluZyB0byB1bmRlcnN0YW5kIHRoZSByZWFsIGxpZmUgdmFsdWUgb2YgdGhlICJhYnN0cmFjdCIK Pj4+Pj4gc3RhcnR1cAo+Pj4+PiA+Pj4+PiA+IHRpbWUgbWV0cmljIHlvdSd2ZSBzdWdnZXN0ZWQu IERvZXMgSGFybW9ueSB3aXRoIHlvdXIgcGF0Y2ggbG9hZAo+Pj4+PiA+Pj4+PiA+IHN3aW5nLmph ciBmb3IgYSBzZXJ2ZXIgYXBwbGljYXRpb24/IERvIEkgdW5kZXJzdGFuZCB0aGF0IGxvYWRpbmcK Pj4+Pj4gPj4+Pj4gPiBoYXBwZW5zLCB0aG91Z2ggaXQgaGFwcGVucyBsYXRlciBjb21wYXJlZCB0 byBWTSB3aXRob3V0IHlvdXIgcGF0Y2g/Cj4+Pj4+IEkKPj4+Pj4gPj4+Pj4gPiBiZWxpZXZlIHRo YXQgdGhlIHByb3BlciBkZXNpZ24gb2YgZGVsYXllZCBsb2FkaW5nIHNob3VsZCBhbnN3ZXIKPj4+ Pj4gIm5vIgo+Pj4+PiA+Pj4+PiA+IHRvIHRoaXMgcXVlc3Rpb24uCj4+Pj4+ID4+Pj4+Cj4+Pj4+ ID4+Pj4+IEkgY2hlY2tlZCB0aGUgcGF0Y2gsIGFuZCBJIGZvdW5kIHRoZSBhbnN3ZXIgaXMgaW5k ZWVkICJObyIgYXMgeW91Cj4+Pj4+IGV4cGVjdGVkLgo+Pj4+PiA+Pj4+Pgo+Pj4+PiA+Pj4+PiBU aGFua3MsCj4+Pj4+ID4+Pj4+IHhpYW9mZW5nCj4+Pj4+ID4+Pj4+Cj4+Pj4+ID4+Pj4+ID4gSW4g b3RoZXIgd29yZHMsIEkgYXBwcmVjaWF0ZSBpZiB5b3UgZGVzY3JpYmUgd2hpY2ggcmVhbCB1c2Ug Y2FzZXMKPj4+Pj4gYXJlCj4+Pj4+ID4+Pj4+ID4gaW1wcm92ZWQgYnkgdGhpcyBwYXRjaC4KPj4+ Pj4gPj4+Pj4gPiBUaGFua3MhCj4+Pj4+ID4+Pj4+Cj4+Pj4+ID4+Pj4+ID4gT24gVGh1LCBEZWMg MjUsIDIwMDggYXQgNzoyOSBQTSwgQWxla3NleSBTaGlwaWxldgo+Pj4+PiA+Pj4+PiA+IDxhbGVr c2V5LnNoaXBpbGV2QGdtYWlsLmNvbT4gd3JvdGU6Cj4+Pj4+ID4+Pj4+ID4+IE9rLCBoZXJlJ3Mg dGhlIGNhdGNoLgo+Pj4+PiA+Pj4+PiA+Pgo+Pj4+PiA+Pj4+PiA+PiBib290Y2xhc3NwYXRoLnBy b3BlcnRpZXMgaXMgdGhlIFNvcnRlZFNldDxKQVJmaWxlPiwgd2hpY2gKPj4+Pj4gZW51bWVyYXRl cwo+Pj4+PiA+Pj4+PiA+PiB0aGUgSkFScyBhdmFpbGFibGUgZm9yIGJvb3RjbGFzc2xvYWRlci4g VGhlIHNldCBvZiBzdWNoIHRoZSBKQVJzCj4+Pj4+IGlzCj4+Pj4+ID4+Pj4+ID4+IHJlYWxseSBz dGFibGUgYmVjYXVzZSBtb2R1bGFyIGRlY29tcG9zaXRpb24gb2YgY2xhc3NsaWIgaXMgc3RhYmxl Lgo+Pj4+PiA+Pj4+PiA+PiBUaGF0J3Mgd2h5IG5vYm9keSBib3RoZXJzIHdpdGggYXV0b21hdGlj IGdlbmVyYXRpb24gb2YgaXQ6IGl0IG9ubHkKPj4+Pj4gPj4+Pj4gPj4gc2hvdWxkIGJlIHVwZGF0 ZWQgd2hlbiBuZXcgSkFSIGZpbGUgYXJyaXZlcy4KPj4+Pj4gPj4+Pj4gPj4gTW9kdWxlbGlicmFy eW1hcHBpbmcucHJvcGVydGllcyBpcyBkaWZmZXJlbnQgb24gdGhpcyBwb2ludCwgaXQncwo+Pj4+ PiB0aGUKPj4+Pj4gPj4+Pj4gPj4gTWFwPFBhY2thZ2VOYW1lLEpBUmZpbGU+LCB3aGljaCBzaG91 bGQgYmUgdXBkYXRlZCBlYWNoIHRpbWUgdGhlCj4+Pj4+IG5ldwo+Pj4+PiA+Pj4+PiA+PiAqcGFj a2FnZSogaXMgaW50cm9kdWNlZC4gSSdtIG5vdCB0YWxraW5nIGFib3V0IGphdmEuKiBwYWNrYWdl cwo+Pj4+PiA+Pj4+PiA+PiAodGhleSdyZSBzdGFuZGFyZGl6ZWQpLCByYXRoZXIgYWJvdXQgb3Jn LmFwYWNoZS5oYXJtb255LiouCj4+Pj4+ID4+Pj4+ID4+Cj4+Pj4+ID4+Pj4+ID4+IEF1dG9tYXRp YyBnZW5lcmF0aW9uIG9mIHRoaXMgcHJvcGVydHkgZmlsZSBnaXZlcyB0d28gYWR2YW50YWdlczoK Pj4+Pj4gPj4+Pj4gPj4gIDEuIEVycm9yLXByb25lLiBQcmV2ZW50IHlvdXJzZWxmIGZyb20gaGFu ZC1tZXNzaW5nIHdpdGggbWFwcGluZwo+Pj4+PiBhbmQKPj4+Pj4gPj4+Pj4gPj4gZ2V0dGluZyBz cHVyaW91cyBDbGFzc05vdEZvdW5kRXhjZXB0aW9uLiBCVFcsIHdoYXQncyB0aGUgYmVoYXZpb3Vy Cj4+Pj4+IGluCj4+Pj4+ID4+Pj4+ID4+IGNhc2UgdGhlIG1hcHBpbmcgaXMgd3Jvbmc/Cj4+Pj4+ ID4+Pj4+ID4+ICAyLiAiUmVzZWFyY2hmdWwiLiBUaGVyZSdyZSBsb3Qgb2YgZ3V5cyBhcm91bmQg d2hvIGVuam95cyB0aGUKPj4+Pj4gPj4+Pj4gPj4gbW9kdWxhcml0eSBvZiBIYXJtb255IGNsYXNz bGliIGFuZCBldmVudHVhbGx5IHRoZXkgbWlnaHQgd2FudCB0bwo+Pj4+PiBzcGxpdAo+Pj4+PiA+ Pj4+PiA+PiB0aGUgcGFja2FnZXMgZXZlbiBkZWVwZXIsIGludG8gc21hbGxlciBwaWVjZXMuIFRo ZW4gYXV0b21hdGljCj4+Pj4+ID4+Pj4+ID4+IGdlbmVyYXRpb24gd291bGQgZW5hYmxlIHRoZW0g dG8gcXVpY2tseSByb2xsLWluIGFuZCBleHBlcmltZW50Cj4+Pj4+IHdpdGgKPj4+Pj4gPj4+Pj4g Pj4gZGlmZmVyZW50IHBhY2thZ2UgbGF5b3V0cyBhbmQgdGhlaXIgaW1wYWN0IG9uIHBlcmZvcm1h bmNlLiBUaGV5Cj4+Pj4+IGNvdWxkCj4+Pj4+ID4+Pj4+ID4+IHVzZSBvcmRpbmFyeSBib290Y2xh c3NwYXRoLnByb3BlcnRpZXMsIGJ1dCB5b3VyIGZlYXR1cmUgd291bGRuJ3QKPj4+Pj4gYmUKPj4+ Pj4gPj4+Pj4gPj4gdXNlZCBieSB0aGVtIHRoZW4gOykKPj4+Pj4gPj4+Pj4gPj4KPj4+Pj4gPj4+ Pj4gPj4gVGhhdCdzIG1lcmVseSBhIGhvdXNla2VlcGluZyBwcm9jZWR1cmUuIEkgYmVsaWV2ZSB0 aGF0IGFueXRoaW5nCj4+Pj4+IHdoaWNoCj4+Pj4+ID4+Pj4+ID4+IGNvdWxkIGJlIGRvbmUgbW9y ZSB0aGFuIG9uY2UsIGV2ZW50dWFsbHkgd291bGQgYmUgZG9uZSBtb3JlIHRoYW4KPj4+Pj4gb25j ZS4KPj4+Pj4gPj4+Pj4gPj4gSGVuY2UgaXQgc2hvdWxkIGJlIGF1dG9tYXRlZC4gWW91IHNheSB0 aGF0IHRoZSBmaWxlIHdhcyBnZW5lcmF0ZWQKPj4+Pj4gZnJvbQo+Pj4+PiA+Pj4+PiA+PiBtYW5p ZmVzdHMgb2YgSkFScywgc28gaXMgaXQgaGFyZCB0byBqdXN0IHRpZSB0aGUgc2FtZSB0b29sIGlu dG8KPj4+Pj4gRFJMVk0KPj4+Pj4gPj4+Pj4gPj4gYnVpbGQgcHJvY2Vzcz8KPj4+Pj4gPj4+Pj4g Pj4KPj4+Pj4gPj4+Pj4gPj4gQXMgZm9yIERSTFZNLXNwZWNpZmljLCBteSBvcGluaW9uIHRoYXQg dGhpcyBpcyBiZWNhdXNlIHRoZSBwYXRjaDoKPj4+Pj4gPj4+Pj4gPj4gIGEuIGJyZWFrcyB0aGUg Y29tcGF0aWJpbGl0eSBvZiBjbGFzc2xpYiAoeW91IGNoYW5nZQo+Pj4+PiA+Pj4+PiA+PiBib290 Y2xhc3NwYXRoLnByb3BlcnRpZXMsIHJpZ2h0Pykgd2l0aCBvdGhlciBWTXMuCj4+Pj4+ID4+Pj4+ ID4+ICBiLiB0cmVhdGVkIGluIERSTFZNIGNsYXNzbG9hZGVyIG9ubHkuCj4+Pj4+ID4+Pj4+ID4+ Cj4+Pj4+ID4+Pj4+ID4+IE9mIGNvdXJzZSBldmVudHVhbGx5IHRoaXMgZmVhdHVyZSBtaWdodCBi ZSB1c2VkIGJ5IG90aGVycywgYnV0IElNTwo+Pj4+PiB3ZQo+Pj4+PiA+Pj4+PiA+PiBzaG91bGQg YmUgY2FyZWZ1bCBhYm91dCBvdGhlciBndXlzIHdobyB1c2UgdGhlIHNhbWUgY2xhc3NsaWIuIEkn ZAo+Pj4+PiA+Pj4+PiA+PiByYXRoZXIgd2FpdCBmb3Igc29tZSBpbmN1YmF0aW9uIG9uIERSTFZN IHNpZGUgZmlyc3QuCj4+Pj4+ID4+Pj4+ID4+Cj4+Pj4+ID4+Pj4+ID4+IFRoYW5rcywKPj4+Pj4g Pj4+Pj4gPj4gQWxla3NleS4KPj4+Pj4gPj4+Pj4gPj4KPj4+Pj4gPj4+Pj4gPj4gT24gVGh1LCBE ZWMgMjUsIDIwMDggYXQgNjoxOCBQTSwgV2VubG9uZyBMaSA8d2VubG9uZ0BnbWFpbC5jb20+Cj4+ Pj4+IHdyb3RlOgo+Pj4+PiA+Pj4+PiA+Pj4gSSBzZWUuIEluIGZhY3QsIG15IGZpbGUgZG9lc24n dCBuZWVkIHRyYWNrIGNoYW5nZSBhdCB0aGUgY2xhc3MKPj4+Pj4gPj4+Pj4gPj4+IGdyYW51bGFy aXR5LiBJbnN0ZWFkLCBpdCBvbmx5IG5lZWRzIGtub3cgcGFja2FnZSBpbmZvIHByb3ZpZGVkIGlu Cj4+Pj4+IHRoZQo+Pj4+PiA+Pj4+PiA+Pj4gbWFuaWZlc3QgZmlsZS4gIFdoZW4gY2xhc3MgaXMg YWRkZWQgdG8gYSBsaWJyYXJ5LCBkbyB3ZSBuZWVkCj4+Pj4+IGNoYW5nZQo+Pj4+PiA+Pj4+PiA+ Pj4gdGhlIG1hbmlmZXN0IGFzIHdlbGw/Cj4+Pj4+ID4+Pj4+ID4+Pgo+Pj4+PiA+Pj4+PiA+Pj4g YnR3LCBJIGd1ZXNzIHRoZXJlIGlzIGEgbWlzLXVuZGVyc3RhbmRpbmc6IG15Cj4+Pj4+IG1vZHVs ZWxpYnJhcnltYXBwaW5nCj4+Pj4+ID4+Pj4+ID4+PiBmaWxlIG9ubHkgcmVjb3JkcyBwYWNrYWdl IGluZm8gcHJvdmlkZWQgYnkgbWFuZmllc3QgaW4gZWFjaAo+Pj4+PiBtb2R1bGUuIEl0Cj4+Pj4+ ID4+Pj4+ID4+PiBkb2Vzbid0IHJlbGF0ZSB0byBlYWNoIGNsYXNzLgo+Pj4+PiA+Pj4+PiA+Pj4K Pj4+Pj4gPj4+Pj4gPj4+IHRoeCwKPj4+Pj4gPj4+Pj4gPj4+IFdlbmxvbmcKPj4+Pj4gPj4+Pj4g Pj4+Cj4+Pj4+ID4+Pj4+ID4+PiBPbiBUaHUsIERlYyAyNSwgMjAwOCBhdCAxMDo1NSBQTSwgUGF2 ZWwgUGVydm92IDwKPj4+Pj4gcG1jZmlyc3RAZ21haWwuY29tPgo+Pj4+PiA+Pj4+PiB3cm90ZToK Pj4+Pj4gPj4+Pj4gPj4+PiBDbGFzc2VzIGFyZSBhZGRlZCB0byBjbGFzcyBsaWJyYXJ5IGZyb20g dGltZSB0byB0aW1lLiBJJ20gbm90Cj4+Pj4+IHN1cmUgaG93Cj4+Pj4+ID4+Pj4+ID4+Pj4gaXQg Y2FuIGJlIHBvc3NpYmxlIHRvIHRyYWNrIHRoZXNlIGNoYW5nZXMgbWFudWFsbHkuCj4+Pj4+ID4+ Pj4+ID4+Pj4KPj4+Pj4gPj4+Pj4gPj4+PiBXQlIsCj4+Pj4+ID4+Pj4+ID4+Pj4gICAgUGF2ZWwu Cj4+Pj4+ID4+Pj4+ID4+Pj4KPj4+Pj4gPj4+Pj4gPj4+Pgo+Pj4+PiA+Pj4+PiA+Pj4+IE9uIFRo dSwgRGVjIDI1LCAyMDA4IGF0IDU6MDkgUE0sIFdlbmxvbmcgTGkgPHdlbmxvbmdAZ21haWwuY29t Pgo+Pj4+PiA+Pj4+PiB3cm90ZToKPj4+Pj4gPj4+Pj4gPj4+Pj4gU29ycnksIG9uZSBtb3JlIHF1 ZXN0aW9uOiBib290Y2xhc3NwYXRoLnByb3BlcnRpZXMgaXMgY2xhc3NsaWIKPj4+Pj4gPj4+Pj4g Pj4+Pj4gc3BlY2lmaWMgZmlsZSwgd2h5IHdlIGNvdWxkIG5vdCBtYWtlIGEgdm0gc3BlY2lmaWMg ZmlsZQo+Pj4+PiBtYW51YWxseT8KPj4+Pj4gPj4+Pj4gSnVzdAo+Pj4+PiA+Pj4+PiA+Pj4+PiBj dXJpb3VzIHRvIGtub3cgdGhlIHBvc3NpYmxlIHJlYXNvbi4gOikKPj4+Pj4gPj4+Pj4gPj4+Pj4K Pj4+Pj4gPj4+Pj4gPj4+Pj4gdGh4LAo+Pj4+PiA+Pj4+PiA+Pj4+PiBXZW5sb25nCj4+Pj4+ID4+ Pj4+ID4+Pj4+Cj4+Pj4+ID4+Pj4+ID4+Pj4+IE9uIFRodSwgRGVjIDI1LCAyMDA4IGF0IDEwOjAw IFBNLCBQYXZlbCBQZXJ2b3YgPAo+Pj4+PiBwbWNmaXJzdEBnbWFpbC5jb20+Cj4+Pj4+ID4+Pj4+ IHdyb3RlOgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4gSWYgdGhpcyB3b3VsZCBiZSBWTS1zaWRlIGF1dG9t YXRpY2FsbHkgcHJvZHVjZWQgY29uZmlndXJhdGlvbgo+Pj4+PiA+Pj4+PiBmaWxlLi4uCj4+Pj4+ ID4+Pj4+ID4+Pj4+Pgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4gV0JSLAo+Pj4+PiA+Pj4+PiA+Pj4+Pj4g ICAgUGF2ZWwuCj4+Pj4+ID4+Pj4+ID4+Pj4+Pgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4gT24gVGh1LCBE ZWMgMjUsIDIwMDggYXQgNDo1OCBQTSwgV2VubG9uZyBMaSA8Cj4+Pj4+IHdlbmxvbmdAZ21haWwu Y29tPgo+Pj4+PiA+Pj4+PiB3cm90ZToKPj4+Pj4gPj4+Pj4gPj4+Pj4+PiBidHcsIGJlY2F1c2Ug YWRkaW5nIG5ldyBtb2R1bGUgaXMgcmFyZSBjYXNlLCBtYW51YWxseQo+Pj4+PiBtb2RpZnlpbmcg dGhlCj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4gYm9vdGNsYXNzcGF0aC5wcm9wZXJ0aWVzIGlzIG5vdCBh biBpc3N1ZT8KPj4+Pj4gPj4+Pj4gPj4+Pj4+Pgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+IElmIHNvLCBj YW4gSSBjb25jbHVkZSBhZGRpbmcgYW5vdGhlciBwcm9wZXJ0eSBmaWxlIHdpdGggc2FtZQo+Pj4+ PiB1cGRhdGUKPj4+Pj4gPj4+Pj4gPj4+Pj4+PiBmcmVxdWVuY3kgYXMgYm9vdGNsYXNzcGF0aCB3 b3VsZCBiZSBmaW5lIGFzIHdlbGw/Cj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4KPj4+Pj4gPj4+Pj4gPj4+ Pj4+PiBQbHMga2luZGx5IGNvcnJlY3QgbWUgaWYgbXkgdW5kZXJzdGFuZGluZyBpcyB3cm9uZy4K Pj4+Pj4gPj4+Pj4gPj4+Pj4+Pgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+IE9uIFRodSwgRGVjIDI1LCAy MDA4IGF0IDk6MDUgUE0sIFBhdmVsIFBlcnZvdiA8Cj4+Pj4+IHBtY2ZpcnN0QGdtYWlsLmNvbT4K Pj4+Pj4gPj4+Pj4gd3JvdGU6Cj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+IFdlbmxvbmcsCj4+Pj4+ID4+ Pj4+ID4+Pj4+Pj4+Cj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+IE5vdGUsIHRoYXQgYm9vdGNsYXNzcGF0 aC5wcm9wZXJ0aWVzIGlzIG9ubHkgY2hhbmdlZCBvbgo+Pj4+PiBhZGRpbmcgbmV3Cj4+Pj4+ID4+ Pj4+ID4+Pj4+Pj4+IG1vZHVsZS4gVGhpcyBpcyBwcmV0dHkgcmFyZSBvY2Nhc2lvbiwgSSBiZWxp ZXZlLgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+PiBXQlIsCj4+Pj4+ ID4+Pj4+ID4+Pj4+Pj4+ICAgIFBhdmVsLgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pgo+Pj4+PiA+Pj4+ PiA+Pj4+Pj4+PiBPbiBUaHUsIERlYyAyNSwgMjAwOCBhdCAzOjQ4IFBNLCBXZW5sb25nIExpIDwK Pj4+Pj4gd2VubG9uZ0BnbWFpbC5jb20+Cj4+Pj4+ID4+Pj4+IHdyb3RlOgo+Pj4+PiA+Pj4+PiA+ Pj4+Pj4+Pj4gVGh4IGZvciB5b3VyIGFkdmljZS4gQWxleGV5Lgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+ Pj4KPj4+Pj4gPj4+Pj4gPj4+Pj4+Pj4+IEhlcmUgSSBoYXZlIG9uZSBxdWVzdGlvbjogZG8geW91 IGtub3cgaG93IHRoZQo+Pj4+PiA+Pj4+PiBib290Y2xhc3NwYXRoLnByb3BlcnRpZXMKPj4+Pj4g Pj4+Pj4gPj4+Pj4+Pj4+IGlzIG1haW50YWluZWQsIG1hbnVhbGx5IG9yIGF1dG9tYXRpY2FsbHk/ Cj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pj4gQW5vdGhlciBjb21t ZW50IGlzIEkgd291bGQgbGlrZSB0byB0cmVhdCB0aGUgcGF0Y2ggYXMgRFJMVk0KPj4+Pj4gPj4+ Pj4gc3BlY2lmaWMKPj4+Pj4gPj4+Pj4gPj4+Pj4+Pj4+IG9wdGltaXphdGlvbiwgZS5nLiwgaXQg dGFyZ2V0cyBmb3IgaW1wcm92aW5nIFZNIGNyZWF0aW9uCj4+Pj4+IHRpbWUuIFNvCj4+Pj4+ID4+ Pj4+IHRoYXQKPj4+Pj4gPj4+Pj4gPj4+Pj4+Pj4+IGlzIHBvc3NpYmxlIHRvIG1vdmUgYWxsIHVw ZGF0ZXMgdG8gRFJMVk0gcGFydCB0byBlbGltaW5hdGUKPj4+Pj4gPj4+Pj4gcG90ZW50aWFsCj4+ Pj4+ID4+Pj4+ID4+Pj4+Pj4+PiBtb2R1bGFyaXR5IGFuZCBjb21wYXRpYmlsaXR5IHByb2JsZW0u Cj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pj4gdGh4LAo+Pj4+PiA+ Pj4+PiA+Pj4+Pj4+Pj4gV2VubG9uZwo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pj4KPj4+Pj4gPj4+Pj4g Pj4+Pj4+Pj4+IE9uIFRodSwgRGVjIDI1LCAyMDA4IGF0IDU6MzIgUE0sIEFsZWtzZXkgU2hpcGls ZXYKPj4+Pj4gPj4+Pj4gPj4+Pj4+Pj4+IDxhbGVrc2V5LnNoaXBpbGV2QGdtYWlsLmNvbT4gd3Jv dGU6Cj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4gSGksIFdlbmxvbmcuCj4+Pj4+ID4+Pj4+ID4+Pj4+ Pj4+Pj4KPj4+Pj4gPj4+Pj4gPj4+Pj4+Pj4+PiBPbiBUaHUsIERlYyAyNSwgMjAwOCBhdCAxMTo0 OSBBTSwgV2VubG9uZyBMaSA8Cj4+Pj4+IHdlbmxvbmdAZ21haWwuY29tPgo+Pj4+PiA+Pj4+PiB3 cm90ZToKPj4+Pj4gPj4+Pj4gPj4+Pj4+Pj4+Pj4gYnR3LCBBbGV4ZXksIExldCdzIGdvIGJhY2sg dG8gZGlzY3VzcyB3aGV0aGVyIHRoZXJlIGlzIGEKPj4+Pj4gbmVlZAo+Pj4+PiA+Pj4+PiB0bwo+ Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pj4+PiBpbmNsdWRlIHRoaXMgZmVhdHVyZSBpbiBIYXJtb255LCBn aXZlbiAxNyUgcGVyZm9ybWFuY2UKPj4+Pj4gZ2FpbiBpbgo+Pj4+PiA+Pj4+PiBMaW51eAo+Pj4+ PiA+Pj4+PiA+Pj4+Pj4+Pj4+PiB3aGVuIHVzaW5nIHlvdXIgbWV0aG9kb2xvZ3kuIEZvciB3aW5k b3dzIHRlc3QsIEkgd2lsbAo+Pj4+PiBkb3VibGUKPj4+Pj4gPj4+Pj4gY2hlY2sgdGhlCj4+Pj4+ ID4+Pj4+ID4+Pj4+Pj4+Pj4+IGJhY2tncm91ZCBwcm9jZXNzIGFzIHlvdSBwb2ludGVkIG91dC4K Pj4+Pj4gPj4+Pj4gPj4+Pj4+Pj4+Pgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pj4+IE15IG9waW5pb24g d2FzIGFscmVhZHkgZXhwcmVzc2VkIGFmdGVyIEkgaGFkIGZpbmlzaGVkIHRoZQo+Pj4+PiB0ZXN0 cwo+Pj4+PiA+Pj4+PiBmcm9tCj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4gbXkgc2lkZTogdGhlIGJv b3N0IGNhbiBiZSBhY2hpZXZlZCBpbiBzcGVjaWZpYyBjb25kaXRpb25zLAo+Pj4+PiBzbwo+Pj4+ PiA+Pj4+PiB3aGV0aGVyCj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4gaXQncyB3b3J0aCBpbmNsdWRp bmcgaW50byBIYXJtb255IHJlYWxseSBkZXBlbmRzIG9uIGhvdwo+Pj4+PiBtdWNoCj4+Pj4+ID4+ Pj4+IG1lc3MgdGhlCj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4gcGF0Y2ggd291bGQgaW50cm9kdWNl IGJlc2lkZXMgdGhlICJwZXJmb3JtYW5jZSBib29zdCIuCj4+Pj4+IEZyb20gd2hhdAo+Pj4+PiA+ Pj4+PiBJCj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4gc2VlLCB0aGUgcGF0Y2ggb2JsaWdlcyB0aGUg bWFpbnRhaW5lciB0byBtYWludGFpbiB0aGUKPj4+Pj4gY29ycmVjdAo+Pj4+PiA+Pj4+PiBtYXBw aW5nCj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4gYmV0d2VlbiBqYXJzIGFuZCBKYXZhIHBhY2thZ2Vz LiBUaGlzIG5ldyBmZWF0dXJlIGlzIGFsc28KPj4+Pj4gc3ByZWFkCj4+Pj4+ID4+Pj4+ID4+Pj4+ Pj4+Pj4gYmV0d2VlbiBDbGFzc2xpYiBhbmQgVk0sIGJ1dCBpdCBzZWVtcyBsaWtlIERSTFZNIHNw ZWNpZmljLgo+Pj4+PiBJbgo+Pj4+PiA+Pj4+PiB0aGlzCj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4g Y2FzZSBJIHdvdWxkIHJhdGhlciBzdGF5IHdpdGhvdXQgdGhlIHBhdGNoLgo+Pj4+PiA+Pj4+PiA+ Pj4+Pj4+Pj4+Cj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4gUGVyc29uYWxseSAoaWYgSSdsbCBiZSBj b21taXR0ZXIpIEkgd291bGQgYWNjZXB0IHRoZSBwYXRjaAo+Pj4+PiB3aXRoCj4+Pj4+ID4+Pj4+ IHR3bwo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pj4+IHNlcmlvdXMgbW9kaWZpY2F0aW9uczoKPj4+Pj4g Pj4+Pj4gPj4+Pj4+Pj4+PiAgMS4gU3RheSB3aXRoaW4gRFJMVk0sIGRvIG5vdCBpbnRyb2R1Y2Ug dGhpcyBmZWF0dXJlIGludG8KPj4+Pj4gPj4+Pj4gQ2xhc3NsaWIsCj4+Pj4+ID4+Pj4+ID4+Pj4+ Pj4+Pj4gZ2V0IHRoZSB0aGluZyB0ZXN0ZWQgYW5kIGV2b2x2ZWQgb24gRFJMVk0gc2lkZS4gT3Ro ZXJ3aXNlCj4+Pj4+IGl0Cj4+Pj4+ID4+Pj4+IG1pZ2h0Cj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4g YnJlYWsgdGhlIGNvbXBhdGliaWxpdHkgd2l0aCBvdGhlciBWTXMuCj4+Pj4+ID4+Pj4+ID4+Pj4+ Pj4+Pj4gIDIuIE1ha2UgdGhlIG1hcHBpbmcgZ2VuZXJhdGVkIGF1dG9tYXRpY2FsbHkgKGR1cmlu ZyBidWlsZAo+Pj4+PiA+Pj4+PiBwcm9jZXNzPykKPj4+Pj4gPj4+Pj4gPj4+Pj4+Pj4+PiB0byBm cmVlIHRoZSBidXJkZW4gZm9yIG1haW50YWluZXJzLgo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pj4+Cj4+ Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4gVGhhbmtzLAo+Pj4+PiA+Pj4+PiA+Pj4+Pj4+Pj4+IEFsZWtz ZXkuCj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4+Pj4KPj4+Pj4gPj4+Pj4gPj4+Pj4+Pj4+Cj4+Pj4+ID4+ Pj4+ID4+Pj4+Pj4+Cj4+Pj4+ID4+Pj4+ID4+Pj4+Pj4KPj4+Pj4gPj4+Pj4gPj4+Pj4+Cj4+Pj4+ ID4+Pj4+ID4+Pj4+Cj4+Pj4+ID4+Pj4+ID4+Pj4KPj4+Pj4gPj4+Pj4gPj4+Cj4+Pj4+ID4+Pj4+ ID4+Cj4+Pj4+ID4+Pj4+ID4KPj4+Pj4gPj4+Pj4gPgo+Pj4+PiA+Pj4+PiA+Cj4+Pj4+ID4+Pj4+ ID4gLS0KPj4+Pj4gPj4+Pj4gPiDQoSDRg9Cy0LDQttC10L3QuNC10LwsCj4+Pj4+ID4+Pj4+ID4g 0JDQu9C10LrRgdC10Lkg0KTQtdC00L7RgtC+0LIsCj4+Pj4+ID4+Pj4+ID4g0JfQkNCeIMKr0KLQ tdC70LXQutC+0Lwg0K3QutGB0L/RgNC10YHRgcK7Cj4+Pj4+ID4+Pj4+ID4KPj4+Pj4gPj4+Pj4K Pj4+Pj4gPj4+Pj4KPj4+Pj4gPj4+Pj4KPj4+Pj4gPj4+Pj4gLS0KPj4+Pj4gPj4+Pj4gaHR0cDov L3hpYW8tZmVuZy5ibG9nc3BvdC5jb20KPj4+Pj4gPj4+Pj4KPj4+Pj4gPj4+Pgo+Pj4+PiA+Pj4+ Cj4+Pj4+ID4+Pj4KPj4+Pj4gPj4+PiAtLQo+Pj4+PiA+Pj4+INChINGD0LLQsNC20LXQvdC40LXQ vCwKPj4+Pj4gPj4+PiDQkNC70LXQutGB0LXQuSDQpNC10LTQvtGC0L7QsiwKPj4+Pj4gPj4+PiDQ l9CQ0J4gwqvQotC10LvQtdC60L7QvCDQrdC60YHQv9GA0LXRgdGBwrsKPj4+Pj4gPj4+Pgo+Pj4+ PiA+Pj4KPj4+Pj4gPj4+Cj4+Pj4+ID4+Pgo+Pj4+PiA+Pj4gLS0KPj4+Pj4gPj4+IGh0dHA6Ly94 aWFvLWZlbmcuYmxvZ3Nwb3QuY29tCj4+Pj4+ID4+Pgo+Pj4+PiA+Pgo+Pj4+PiA+Pgo+Pj4+PiA+ Pgo+Pj4+PiA+PiAtLQo+Pj4+PiA+PiDQoSDRg9Cy0LDQttC10L3QuNC10LwsCj4+Pj4+ID4+INCQ 0LvQtdC60YHQtdC5INCk0LXQtNC+0YLQvtCyLAo+Pj4+PiA+PiDQl9CQ0J4gwqvQotC10LvQtdC6 0L7QvCDQrdC60YHQv9GA0LXRgdGBwrsKPj4+Pj4gPj4KPj4+Pj4gPgo+Pj4+PiA+Cj4+Pj4+ID4K Pj4+Pj4gPiAtLQo+Pj4+PiA+IGh0dHA6Ly94aWFvLWZlbmcuYmxvZ3Nwb3QuY29tCj4+Pj4+ID4K Pj4+Pj4KPj4+Pgo+Pj4+Cj4+Pj4KPj4+PiAtLQo+Pj4+INChINGD0LLQsNC20LXQvdC40LXQvCwK Pj4+PiDQkNC70LXQutGB0LXQuSDQpNC10LTQvtGC0L7QsiwKPj4+PiDQl9CQ0J4gwqvQotC10LvQ tdC60L7QvCDQrdC60YHQv9GA0LXRgdGBwrsKPj4+Pgo+Pj4KPj4KPgo=