From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=192.55.52.43; helo=mga05.intel.com; envelope-from=jian.j.wang@intel.com; receiver=edk2-devel@lists.01.org Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ml01.01.org (Postfix) with ESMTPS id 948782034A891 for ; Thu, 2 Nov 2017 19:26:49 -0700 (PDT) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga105.fm.intel.com with ESMTP; 02 Nov 2017 19:30:43 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.44,336,1505804400"; d="scan'208";a="917067380" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by FMSMGA003.fm.intel.com with ESMTP; 02 Nov 2017 19:30:41 -0700 Received: from fmsmsx119.amr.corp.intel.com (10.18.124.207) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 2 Nov 2017 19:30:41 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX119.amr.corp.intel.com (10.18.124.207) with Microsoft SMTP Server (TLS) id 14.3.319.2; Thu, 2 Nov 2017 19:30:40 -0700 Received: from shsmsx103.ccr.corp.intel.com ([169.254.4.213]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.218]) with mapi id 14.03.0319.002; Fri, 3 Nov 2017 10:30:38 +0800 From: "Wang, Jian J" To: "Yao, Jiewen" , "Kinney, Michael D" , Fan Jeff , "edk2-devel@lists.01.org" CC: "Dong, Eric" , "Zeng, Star" Thread-Topic: [PATCH 3/3] UefiCpuPkg/CpuExceptionHandlerLib: Add stack switch support Thread-Index: AQHTUlQt7kMmlPjLfkaS9nSj0Ju2aqL+wnPg//+GSQCAANyYAIACuK3wgAAHbhCAAAmroIAAA59g Date: Fri, 3 Nov 2017 02:30:38 +0000 Message-ID: References: <20171031142412.21680-1-jian.j.wang@intel.com> <20171031142412.21680-4-jian.j.wang@intel.com>, <74D8A39837DF1E4DA445A8C0B3885C503AA0AED6@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA0DA30@shsmsx102.ccr.corp.intel.com> <74D8A39837DF1E4DA445A8C0B3885C503AA0DB7C@shsmsx102.ccr.corp.intel.com> In-Reply-To: <74D8A39837DF1E4DA445A8C0B3885C503AA0DB7C@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNTM2YmZkNzYtMmRhMC00NGZhLThiNDgtOTdiODcwODExMTI2IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX0lDIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjIuNS4xOCIsIlRydXN0ZWRMYWJlbEhhc2giOiJYcDNsOVlnU1lyT0hcL2JyaUNhdzlITkxxSzRNNUNtOEpHZFBFR1pnM3YzYTJmR2xFQXZJYWppNDRrT0tIRko0aCJ9 x-ctpclassification: CTP_IC dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 3/3] UefiCpuPkg/CpuExceptionHandlerLib: Add stack switch support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.22 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Fri, 03 Nov 2017 02:26:49 -0000 Content-Language: en-US Content-Type: text/plain; charset="gb2312" Content-Transfer-Encoding: base64 SSBzZWUuIFRoYW5rcyBmb3IgdGhlIGV4cGxhbmF0aW9uLg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+IEZyb206IFlhbywgSmlld2VuDQo+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIg MDMsIDIwMTcgMTA6MjcgQU0NCj4gVG86IFdhbmcsIEppYW4gSiA8amlhbi5qLndhbmdAaW50ZWwu Y29tPjsgS2lubmV5LCBNaWNoYWVsIEQNCj4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsg RmFuIEplZmYgPHZhbmplZmZfOTE5QGhvdG1haWwuY29tPjsgZWRrMi0NCj4gZGV2ZWxAbGlzdHMu MDEub3JnDQo+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgWmVuZywgU3Rh ciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gU3ViamVjdDogUkU6IFtQQVRDSCAzLzNdIFVlZmlD cHVQa2cvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYjogQWRkIHN0YWNrIHN3aXRjaA0KPiBzdXBwb3J0 DQo+IA0KPiBKaWFuDQo+IFRoYXQgaXMgZm9yIGNvbXBhdGliaWxpdHkgY29uc2lkZXJhdGlvbi4N Cj4gDQo+IE9uY2UgdGhlcmUgaXMgVURLIHJlbGVhc2UsIHdlIG5ldmVyIGNoYW5nZSBBUEkuIFdl IGNhbiBvbmx5IGFkZCBuZXcgb25lLg0KPiBPciB5b3UgbWF5IGJyZWFrIGFuIG9sZCBwbGF0Zm9y bSwgdGhhdCBtYXkgdXNlIG5ldyBVREsgcmVsZWFzZS4NCj4gDQo+IFRoYW5rIHlvdQ0KPiBZYW8g Smlld2VuDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogV2Fu ZywgSmlhbiBKDQo+ID4gU2VudDogRnJpZGF5LCBOb3ZlbWJlciAzLCAyMDE3IDEwOjEwIEFNDQo+ ID4gVG86IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IEtpbm5leSwgTWljaGFl bCBEDQo+ID4gPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgRmFuIEplZmYgPHZhbmplZmZf OTE5QGhvdG1haWwuY29tPjsNCj4gPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+IENjOiBE b25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsgWmVuZywgU3RhciA8c3Rhci56ZW5nQGlu dGVsLmNvbT4NCj4gPiBTdWJqZWN0OiBSRTogW1BBVENIIDMvM10gVWVmaUNwdVBrZy9DcHVFeGNl cHRpb25IYW5kbGVyTGliOiBBZGQgc3RhY2sNCj4gc3dpdGNoDQo+ID4gc3VwcG9ydA0KPiA+DQo+ ID4gSGkgSmlld2VuLA0KPiA+DQo+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ ID4gRnJvbTogWWFvLCBKaWV3ZW4NCj4gPiA+IFNlbnQ6IEZyaWRheSwgTm92ZW1iZXIgMDMsIDIw MTcgOToyNSBBTQ0KPiA+ID4gVG86IEtpbm5leSwgTWljaGFlbCBEIDxtaWNoYWVsLmQua2lubmV5 QGludGVsLmNvbT47IEZhbiBKZWZmDQo+ID4gPiA8dmFuamVmZl85MTlAaG90bWFpbC5jb20+OyBX YW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVsLmNvbT47IGVkazItDQo+ID4gPiBkZXZlbEBs aXN0cy4wMS5vcmcNCj4gPiA+IENjOiBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29tPjsg WmVuZywgU3RhciA8c3Rhci56ZW5nQGludGVsLmNvbT4NCj4gPiA+IFN1YmplY3Q6IFJFOiBbUEFU Q0ggMy8zXSBVZWZpQ3B1UGtnL0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWI6IEFkZCBzdGFjaw0KPiA+ IHN3aXRjaA0KPiA+ID4gc3VwcG9ydA0KPiA+ID4NCj4gPiA+IEhJIEppYW4NCj4gPiA+IFRoZXJl IGlzIGFub3RoZXIgcG90ZW50aWFsIHByb2JsZW0uDQo+ID4gPg0KPiA+ID4gVGhpcyBmZWF0dXJl IGlzIGVuYWJsZWQgaW4gSW5pdGlhbGl6ZUNwdUludGVycnVwdEhhbmRsZXJzKCkuIEhvd2V2ZXIs IHdlDQo+IGV4cGVjdA0KPiA+ID4gdGhpcyBpcyBlbmFibGVkIGluIEluaXRpYWxpemVDcHVFeGNl cHRpb25IYW5kbGVycygpLg0KPiA+ID4NCj4gPiA+IEluIG9yZGVyIHRvIGdldCB0aGUgZXhjZXB0 aW9uIHN0YWNrIGluIEluaXRpYWxpemVDcHVFeGNlcHRpb25IYW5kbGVycygpLiBXZQ0KPiBjYW4N Cj4gPiA+IGhhdmUgMiB3YXlzOg0KPiA+ID4gQSkgTGV0IEluaXRpYWxpemVDcHVFeGNlcHRpb25I YW5kbGVycygpIGFsbG9jYXRlIHRoZSBleGNlcHRpb24gc3RhY2suDQo+ID4gPiBCKSBMZXQgY2Fs bGVyIHRvIHBhc3MgdGhlIGV4Y2VwdGlvbiBzdGFjayB0byBJbml0aWFsaXplQ3B1RXhjZXB0aW9u SGFuZGxlcnMoKS4NCj4gPiA+DQo+ID4gPiBGb3IgQSksIGl0IGlzIGhhcmQsIGJlY2F1c2UgRHhl Q29yZSBjYWxscyBJbml0aWFsaXplQ3B1RXhjZXB0aW9uSGFuZGxlcnMoKQ0KPiBlYXJsaWVyDQo+ ID4gPiB0aGFuIENvcmVJbml0aWFsaXplTWVtb3J5U2VydmljZXMoKS4NCj4gPiA+IEZvciBCKSwg SW5pdGlhbGl6ZUNwdUV4Y2VwdGlvbkhhbmRsZXJzKCkgaW50ZXJmYWNlIGRvZXMgbm90IGNvbnRh aW4gc3VjaA0KPiA+ID4gaW5mb3JtYXRpb24uIFdlIG1pZ2h0IG5lZWQgYWRkIGEgbmV3IEFQSSB0 byBhZGQgdGhlIGV4Y2VwdGlvbiBzdGFjaw0KPiA+ID4gaW5mb3JtYXRpb24sIHN1Y2ggYXMgSW5p dGlhbGl6ZUNwdVN3aXRjaFN0YWNrRXhjZXB0aW9uSGFuZGxlcnMgKCkuDQo+ID4NCj4gPiBZb3Un cmUgcmlnaHQuIEVuYWJsaW5nIHN0YWNrIHN3aXRjaCBpbiBJbml0aWFsaXplQ3B1RXhjZXB0aW9u SGFuZGxlcnMoKSBpcyBhIGJpdA0KPiA+IGxhdGUgZm9yIGV4Y2VwdGlvbiBoYW5kbGluZy4gQnV0 IEkgZG9uJ3Qgc2VlIHRoZSBkaWZmZXJlbmNlIGJldHdlZW4gYWRkaW5nDQo+ID4gcGFyYW1ldGVy cyB0byBleGlzdGluZyBBUEkgKEluaXRpYWxpemVDcHVFeGNlcHRpb25IYW5kbGVycykgYW5kIGFk ZGluZyBhIG5ldw0KPiA+IEFQSSAoSW5pdGlhbGl6ZUNwdVN3aXRjaFN0YWNrRXhjZXB0aW9uSGFu ZGxlcnMpIGluIHRoaXMgY2FzZS4gSWYgd2UgaGF2ZSB0bw0KPiA+IGNoYW5nZSBsaWJyYXJ5IGlu dGVyZmFjZSBhbnl3YXksIEknZCBzdWdnZXN0IHRvIGFkZCBwYXJhbWV0ZXJzIHRvIGV4aXN0aW5n DQo+ID4gQVBJIHRvIGNhcnJ5IGluZm9ybWF0aW9uIG5lZWRlZCB0byBzZXR1cCBuZXcgc3RhY2sg Zm9yIGV4Y2VwdGlvbnMuDQo+ID4NCj4gPiA+DQo+ID4gPiBPbmNlIHRoaXMgZmVhdHVyZSBpcyBk b25lLCBjYW4gd2UgY2xlYW4gdXAgdGhlIFNNTSBjb2RlIHRvIHVzZSB0aGUgbmV3IEFQSSwNCj4g PiA+IGluc3RlYWQgb2YgZHVwbGljYXRlIHRoZSBTTU0gY29weSBvZiBleGNlcHRpb24gaGFuZGxl ciA/IFRoZSBleGlzdGluZyBTTU0NCj4gPiA+IGNvcHkgaGFzIHNvbWUgYXNzdW1wdGlvbiBvbiBD UjQgYW5kIEZYU0FWRS9SRVNUT1JFLCBhbmQgaXQgYnJva2UgUXVhcmsNCj4gPiA+IHBsYXRmb3Jt Lg0KPiA+DQo+ID4gSSBhZ3JlZS4NCj4gPg0KPiA+ID4NCj4gPiA+IFRoYW5rIHlvdQ0KPiA+ID4g WWFvIEppZXdlbg0KPiA+ID4NCj4gPiA+DQo+ID4gPg0KPiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRA0KPiA+ID4gPiBTZW50 OiBXZWRuZXNkYXksIE5vdmVtYmVyIDEsIDIwMTcgMTE6NDMgUE0NCj4gPiA+ID4gVG86IEZhbiBK ZWZmIDx2YW5qZWZmXzkxOUBob3RtYWlsLmNvbT47IFlhbywgSmlld2VuDQo+ID4gPiA8amlld2Vu Lnlhb0BpbnRlbC5jb20+Ow0KPiA+ID4gPiBXYW5nLCBKaWFuIEogPGppYW4uai53YW5nQGludGVs LmNvbT47IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBLaW5uZXksDQo+ID4gPiBNaWNoYWVsDQo+ ID4gPiA+IEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiBDYzogRG9uZywg RXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IFplbmcsIFN0YXIgPHN0YXIuemVuZ0BpbnRlbC5j b20+DQo+ID4gPiA+IFN1YmplY3Q6IFJFOiBbUEFUQ0ggMy8zXSBVZWZpQ3B1UGtnL0NwdUV4Y2Vw dGlvbkhhbmRsZXJMaWI6IEFkZCBzdGFjaw0KPiA+ID4gc3dpdGNoDQo+ID4gPiA+IHN1cHBvcnQN Cj4gPiA+ID4NCj4gPiA+ID4gSSBhZ3JlZSB0aGF0IGFkZGluZyBBc21Xcml0ZVRyLCBJQTMyX1RB U0tfU1RBVEVfU0VHTUVOVCwNCj4gPiA+ID4gSUEzMl9UU1NfREVTQ1JJUFRPUiB0byBNZGVQa2cg QmFzZUxpYiBpcyBhIGdvb2QgaWRlYS4NCj4gPiA+ID4NCj4gPiA+ID4gTWlrZQ0KPiA+ID4gPg0K PiA+ID4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiBGcm9tOiBlZGsyLWRl dmVsIFttYWlsdG86ZWRrMi1kZXZlbC1ib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmIE9m DQo+IEZhbg0KPiA+ID4gPiBKZWZmDQo+ID4gPiA+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMzEs IDIwMTcgNzozMyBQTQ0KPiA+ID4gPiBUbzogWWFvLCBKaWV3ZW4gPGppZXdlbi55YW9AaW50ZWwu Y29tPjsgV2FuZywgSmlhbiBKDQo+ID4gPiA8amlhbi5qLndhbmdAaW50ZWwuY29tPjsNCj4gPiA+ ID4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+ID4gQ2M6IEtpbm5leSwgTWljaGFlbCBE IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IERvbmcsIEVyaWMNCj4gPiA+ID4gPGVyaWMu ZG9uZ0BpbnRlbC5jb20+OyBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50ZWwuY29tPg0KPiA+ID4g PiBTdWJqZWN0OiBbZWRrMl0gtPC4tDogW1BBVENIIDMvM10gVWVmaUNwdVBrZy9DcHVFeGNlcHRp b25IYW5kbGVyTGliOg0KPiBBZGQNCj4gPiA+ID4gc3RhY2sgc3dpdGNoIHN1cHBvcnQNCj4gPiA+ ID4NCj4gPiA+ID4gUGVyIGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5j Z2k/aWQ9MTA5LCBUUiBzaG91bGQgYmUNCj4gc2V0dXANCj4gPiA+ID4gKFN1Y2ggYXMgaW4gRHhl SXBsUGVpbSkgZXZlbiB0aG91Z2ggTlVMTCBDcHUgRXhjZXB0aW9uIEhhbmRsZXIgaW5zdGFuY2UN Cj4gaXMNCj4gPiA+ID4gY2hvc2VuLg0KPiA+ID4gPg0KPiA+ID4gPiBGb3IgbG9uZyB0ZXJtLCBJ IGFncmVlIHdlIG5lZWQgdG8gbW92ZSBBc21Xcml0ZVRyLA0KPiA+ID4gPiBJQTMyX1RBU0tfU1RB VEVfU0VHTUVOVCwgSUEzMl9UU1NfREVTQ1JJUFRPUiB0byBNZGVQa2coU3VjaCBhcw0KPiA+ID4g QmFzZUxpYikNCj4gPiA+ID4gRm9yIHRoaXMgcGF0Y2gsIEkgaGF2ZSBubyBzdHJvbmcgb3Bpbmlv bi4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gt6K8/sjLOiBZYW8sIEppZXdlbjxtYWlsdG86 amlld2VuLnlhb0BpbnRlbC5jb20+DQo+ID4gPiA+ILeiy83KsbzkOiAyMDE3xOoxMdTCMcjVIDk6 NTYNCj4gPiA+ID4gytW8/sjLOiBXYW5nLCBKaWFuIEo8bWFpbHRvOmppYW4uai53YW5nQGludGVs LmNvbT47DQo+ID4gPiA+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPG1haWx0bzplZGsyLWRldmVs QGxpc3RzLjAxLm9yZz4NCj4gPiA+ID4gs63LzTogS2lubmV5LCBNaWNoYWVsIEQ8bWFpbHRvOm1p Y2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPjsgRG9uZywNCj4gPiA+ID4gRXJpYzxtYWlsdG86ZXJp Yy5kb25nQGludGVsLmNvbT47IFplbmcsIFN0YXI8bWFpbHRvOnN0YXIuemVuZ0BpbnRlbC5jb20+ DQo+ID4gPiA+INb3zOI6IFJlOiBbZWRrMl0gW1BBVENIIDMvM10gVWVmaUNwdVBrZy9DcHVFeGNl cHRpb25IYW5kbGVyTGliOiBBZGQNCj4gPiBzdGFjaw0KPiA+ID4gPiBzd2l0Y2ggc3VwcG9ydA0K PiA+ID4gPg0KPiA+ID4gPiBIaSBKaWFuDQo+ID4gPiA+IFRoYW5rcyBmb3IgdGhlIHBhdGNoLg0K PiA+ID4gPg0KPiA+ID4gPiBDYW4gd2UgbW92ZSBhbGwgSUEzMiBkZWZpbmVkIGRhdGEgc3RydWN0 dXJlIG9yIGZ1bmN0aW9uIHRvIE1kZVBrZz8NCj4gPiA+ID4gU3VjaCBhczogQXNtV3JpdGVUciwg SUEzMl9UQVNLX1NUQVRFX1NFR01FTlQsDQo+IElBMzJfVFNTX0RFU0NSSVBUT1INCj4gPiA+ID4N Cj4gPiA+ID4gSSBhbSBhbHNvIGN1cmlvdXMgd2h5IHdlIHVzZSBkaWZmZXJlbnQgcG9saWN5IGZv ciBvdGhlciBib290IG1vZGUuDQo+ID4gPiA+IENhbiB3ZSB1c2UgY29uc2lzdGVudCBwb2xpY3k/ DQo+ID4gPiA+ID4gKyAgaWYgKFBjZEdldEJvb2wgKFBjZENwdVN0YWNrR3VhcmQpKSB7DQo+ID4g PiA+ID4gKyAgICAvLw0KPiA+ID4gPiA+ICsgICAgLy8gU3RhY2sgR3VhcmQgd29ya3Mgd2l0aCB0 aGUgc3VwcG9ydCBvZiBwYWdlIHRhYmxlIGVzdGFibGlzaGVkIGFuZA0KPiA+ID4gPiA+ICsgICAg Ly8gbWVtb3J5IG1hbmFnZW1lbnQuIFNvIHdlIGhhdmUgdG8gZXhjbHVkZSB0aG9zZSBib290IG1v ZGVzDQo+ID4gPiA+ID4gd2l0aG91dA0KPiA+ID4gPiA+ICsgICAgLy8gdGhlbS4NCj4gPiA+ID4g PiArICAgIC8vDQo+ID4gPiA+ID4gKyAgICBzd2l0Y2ggKEdldEJvb3RNb2RlSG9iKCkpIHsNCj4g PiA+ID4gPiArICAgIGNhc2UgQk9PVF9PTl9GTEFTSF9VUERBVEU6DQo+ID4gPiA+ID4gKyAgICBj YXNlIEJPT1RfSU5fUkVDT1ZFUllfTU9ERToNCj4gPiA+ID4gPiArICAgIGNhc2UgQk9PVF9PTl9T M19SRVNVTUU6DQo+ID4gPiA+ID4gKyAgICAgIGJyZWFrOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4g PiArICAgIGRlZmF1bHQ6DQo+ID4gPiA+ID4gKyAgICAgIEFyY2hTZXR1cEV4Y3BldGlvblN0YWNr IChJZHRUYWJsZSk7DQo+ID4gPiA+ID4gKyAgICAgIGJyZWFrOw0KPiA+ID4gPiA+ICsgICAgfQ0K PiA+ID4gPiA+ICsgIH0NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gVGhhbmsgeW91DQo+ID4g PiA+IFlhbyBKaWV3ZW4NCj4gPiA+ID4NCj4gPiA+ID4NCj4gPiA+ID4gPiAtLS0tLU9yaWdpbmFs IE1lc3NhZ2UtLS0tLQ0KPiA+ID4gPiA+IEZyb206IFdhbmcsIEppYW4gSg0KPiA+ID4gPiA+IFNl bnQ6IFR1ZXNkYXksIE9jdG9iZXIgMzEsIDIwMTcgMTA6MjQgUE0NCj4gPiA+ID4gPiBUbzogZWRr Mi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiA+ID4gPiBDYzogWmVuZywgU3RhciA8c3Rhci56ZW5n QGludGVsLmNvbT47IERvbmcsIEVyaWMNCj4gPiA+ID4gPiA8ZXJpYy5kb25nQGludGVsLmNvbT47 IFlhbywgSmlld2VuIDxqaWV3ZW4ueWFvQGludGVsLmNvbT47IEtpbm5leSwNCj4gPiA+ID4gPiBN aWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KPiA+ID4gPiA+IFN1YmplY3Q6 IFtQQVRDSCAzLzNdIFVlZmlDcHVQa2cvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYjogQWRkIHN0YWNr DQo+ID4gPiA+ID4gc3dpdGNoIHN1cHBvcnQNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IElmIFN0YWNr IEd1YXJkIGlzIGVuYWJsZWQgYW5kIHRoZXJlJ3MgcmVhbGx5IGEgc3RhY2sgb3ZlcmZsb3cgaGFw cGVuZWQNCj4gPiA+ID4gPiBkdXJpbmcgYm9vdCwgYSBQYWdlIEZhdWx0IGV4Y2VwdGlvbiB3aWxs IGJlIHRyaWdnZXJlZC4gQmVjYXVzZSB0aGUNCj4gPiA+ID4gPiBzdGFjayBpcyBvdXQgb2YgdXNh Z2UsIHRoZSBleGNlcHRpb24gaGFuZGxlciwgd2hpY2ggc2hhcmVzIHRoZSBzdGFjaw0KPiA+ID4g PiA+IHdpdGggbm9ybWFsIFVFRkkgZHJpdmVyLCBjYW5ub3QgYmUgZXhlY3V0ZWQgYW5kIGNhbm5v dCBkdW1wIHRoZQ0KPiA+IHByb2Nlc3Nvcg0KPiA+ID4gPiBpbmZvcm1hdGlvbi4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IFdpdGhvdXQgdGhvc2UgaW5mb3JtYXRpb24sIGl0J3MgdmVyeSBkaWZmaWN1 bHQgZm9yIHRoZSBCSU9TIGRldmVsb3BlcnMNCj4gPiA+ID4gPiBsb2NhdGUgdGhlIHJvb3QgY2F1 c2Ugb2Ygc3RhY2sgb3ZlcmZsb3cuIEFuZCB3aXRob3V0IGEgd29ya2FibGUgc3RhY2ssDQo+ID4g PiA+ID4gdGhlIGRldmVsb3BlciBjYW5ub3QgZXZlbnQgdXNlIHNpbmdsZSBzdGVwIHRvIGRlYnVn IHRoZSBVRUZJIGRyaXZlciB3aXRoDQo+ID4gPiBKVEFHDQo+ID4gPiA+IGRlYnVnZ2VyLg0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gSW4gb3JkZXIgdG8gbWFrZSBzdXJlIHRoZSBleGNlcHRpb24gaGFu ZGxlciB0byBleGVjdXRlIG5vcm1hbGx5IGFmdGVyDQo+ID4gPiA+ID4gc3RhY2sgb3ZlcmZsb3cu IFdlIG5lZWQgc2VwYXJhdGUgc3RhY2tzIGZvciBleGNlcHRpb24gaGFuZGxlcnMgaW4gY2FzZQ0K PiA+ID4gPiA+IG9mIHVudXNhYmxlIHN0YWNrLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSUEgcHJv Y2Vzc29yIGFsbG93cyB0byBzd2l0Y2ggdG8gYSBuZXcgc3RhY2sgZHVyaW5nIGhhbmRsaW5nIGlu dGVycnVwdA0KPiA+ID4gPiA+IGFuZCBleGNlcHRpb24uIEJ1dCBYNjQgYW5kIElBMzIgcHJvdmlk ZXMgZGlmZmVyZW50IHdheXMgdG8gbWFrZSBpdC4NCj4gPiA+ID4gPiBYNjQgcHJvdmlkZXMgaW50 ZXJydXB0IHN0YWNrIHRhYmxlIChJU1QpIHRvIGFsbG93IG1heGltdW0gNyBkaWZmZXJlbnQNCj4g PiA+ID4gPiBleGNlcHRpb25zIHRvIGhhdmUgbmV3IHN0YWNrIGZvciBpdHMgaGFuZGxlci4gSUEz MiBkb2Vzbid0IGhhdmUgSVNUDQo+ID4gPiA+ID4gbWVjaGFuaXNtIGFuZCBjYW4gb25seSB1c2Ug dGFzayBnYXRlIHRvIGRvIGl0IHNpbmNlIHRhc2sgc3dpdGNoIGFsbG93cw0KPiA+ID4gPiA+IHRv IGxvYWQgYSBuZXcgc3RhY2sgdGhyb3VnaCBpdHMgdGFzay1zdGF0ZSBzZWdtZW50IChUU1MpLg0K PiA+ID4gPiA+DQo+ID4gPiA+ID4gTm90ZTogU3RhY2sgc3dpdGNoIG5lZWRzIHRvIGFsbG9jYXRl IG1lbW9yeSBwYWdlcyB0byBiZSBuZXcgc3RhY2tzLiBTbw0KPiA+IHRoaXMNCj4gPiA+ID4gPiAg ICAgICBmdW5jdGlvbmFsaXR5IHdvcmtzIG9ubHkgaW4gdGhlIGJvb3QgcGhhc2VzIGNhcGFibGUg b2YgbWVtb3J5DQo+ID4gPiA+ID4gICAgICAgYWxsb2NhdGlvbiAoYmVzaWRlcyB0aGUgcGFnaW5n LCBmb3IgdGhlIHNha2Ugb2YgU3RhY2sgR3VhcmQpLiBJbg0KPiA+ID4gPiA+ICAgICAgIG90aGVy IHdvcmRzLCBvbmx5IERYRSBwaGFzZSBjYW4gc3VwcG9ydHMgU3RhY2sgR3VhcmQgd2l0aCBzdGFj aw0KPiA+ID4gPiBzd2l0Y2guDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBDYzogU3RhciBaZW5nIDxz dGFyLnplbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBFcmljIERvbmcgPGVyaWMuZG9uZ0Bp bnRlbC5jb20+DQo+ID4gPiA+ID4gQ2M6IEppZXdlbiBZYW8gPGppZXdlbi55YW9AaW50ZWwuY29t Pg0KPiA+ID4gPiA+IENjOiBNaWNoYWVsIEtpbm5leSA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5j b20+DQo+ID4gPiA+ID4gU3VnZ2VzdGVkLWJ5OiBBeWVsbGV0IFdvbG1hbiA8YXllbGxldC53b2xt YW5AaW50ZWwuY29tPg0KPiA+ID4gPiA+IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29u dHJpYnV0aW9uIEFncmVlbWVudCAxLjENCj4gPiA+ID4gPiBTaWduZWQtb2ZmLWJ5OiBKaWFuIEog V2FuZyA8amlhbi5qLndhbmdAaW50ZWwuY29tPg0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+ICAu Li4vQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9DcHVFeGNlcHRpb25Db21tb24uaCAgICB8ICAyMiAr Kw0KPiA+ID4gPiA+ICAuLi4vRHhlQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5pbmYgICAgICAgICAg ICAgICAgICB8ICAgNSArDQo+ID4gPiA+ID4gIC4uLi9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRs ZXJMaWIvRHhlRXhjZXB0aW9uLmMgIHwgIDE5ICsNCj4gPiA+ID4gPiAgLi4uL0lhMzIvQXJjaEV4 Y2VwdGlvbkhhbmRsZXIuYyAgICAgICAgICAgICAgICAgICAgfCAxMzUgKysrKysrKw0KPiA+ID4g PiA+ICAuLi4vSWEzMi9BcmNoSW50ZXJydXB0RGVmcy5oICAgICAgICAgICAgICAgICAgICAgICB8 IDEzNiArKysrKysrDQo+ID4gPiA+ID4gIC4uLi9JYTMyL0V4Y2VwdGlvblRzc0VudHJ5QXNtLm5h c20gICAgICAgICAgICAgICAgIHwgMzk4DQo+ID4gPiA+ID4gKysrKysrKysrKysrKysrKysrKysr DQo+ID4gPiA+ID4gIC4uLi9QZWlDcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZiAgICAgICAgICAg ICAgICAgIHwgICAxICsNCj4gPiA+ID4gPiAgLi4uL1NlY1BlaUNwdUV4Y2VwdGlvbkhhbmRsZXJM aWIuaW5mICAgICAgICAgICAgICAgfCAgIDMgKw0KPiA+ID4gPiA+ICAuLi4vU21tQ3B1RXhjZXB0 aW9uSGFuZGxlckxpYi5pbmYgICAgICAgICAgICAgICAgICB8ICAgMSArDQo+ID4gPiA+ID4gIC4u Li9YNjQvQXJjaEV4Y2VwdGlvbkhhbmRsZXIuYyAgICAgICAgICAgICAgICAgICAgIHwgMTA4ICsr KysrKw0KPiA+ID4gPiA+ICAuLi4vQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvQXJjaEludGVy cnVwdERlZnMuaCB8ICA0MCArKysNCj4gPiA+ID4gPiAgLi4uL1g2NC9FeGNlcHRpb25IYW5kbGVy QXNtLlMgICAgICAgICAgICAgICAgICAgICAgfCAgMTIgKw0KPiA+ID4gPiA+ICAuLi4vWDY0L0V4 Y2VwdGlvbkhhbmRsZXJBc20uYXNtICAgICAgICAgICAgICAgICAgICB8ICAxMiArDQo+ID4gPiA+ ID4gIC4uLi9YNjQvRXhjZXB0aW9uSGFuZGxlckFzbS5uYXNtICAgICAgICAgICAgICAgICAgIHwg IDEyICsNCj4gPiA+ID4gPiAgMTQgZmlsZXMgY2hhbmdlZCwgOTA0IGluc2VydGlvbnMoKykNCj4g PiA+ID4gPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ID4gPiA+ID4NCj4gPiBVZWZpQ3B1UGtnL0xp YnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9JYTMyL0V4Y2VwdGlvblRzc0VudHJ5QXNtLm5h DQo+ID4gPiA+ID4gc20NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4g PiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0NwdUV4Y2VwdGlv bkNvbW1vbi5oDQo+ID4gPiA+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi9DcHVFeGNlcHRpb25Db21tb24uaA0KPiA+ID4gPiA+IGluZGV4IDc0MGE1ODgyOGIu LmZkNGEyNmE0NTggMTAwNjQ0DQo+ID4gPiA+ID4gLS0tDQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJh cnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9DcHVFeGNlcHRpb25Db21tb24uaA0KPiA+ID4gPiA+ ICsrKw0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvQ3B1 RXhjZXB0aW9uQ29tbW9uLmgNCj4gPiA+ID4gPiBAQCAtMjUsNiArMjUsNyBAQA0KPiA+ID4gPiA+ ICAjaW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ID4gPiA+ID4gICNpbmNsdWRl IDxMaWJyYXJ5L1N5bmNocm9uaXphdGlvbkxpYi5oPiAgI2luY2x1ZGUNCj4gPiA+ID4gPiA8TGli cmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliLmg+DQo+ID4gPiA+ID4gKyNpbmNsdWRlIDxMaWJy YXJ5L01lbW9yeUFsbG9jYXRpb25MaWIuaD4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAjZGVmaW5l ICBDUFVfRVhDRVBUSU9OX05VTSAgICAgICAgICAzMg0KPiA+ID4gPiA+ICAjZGVmaW5lICBDUFVf SU5URVJSVVBUX05VTSAgICAgICAgIDI1Ng0KPiA+ID4gPiA+IEBAIC0yODgsNSArMjg5LDI2IEBA IENvbW1vbkV4Y2VwdGlvbkhhbmRsZXJXb3JrZXIgKA0KPiA+ID4gPiA+ICAgIElOIEVYQ0VQVElP Tl9IQU5ETEVSX0RBVEEgICAgICAqRXhjZXB0aW9uSGFuZGxlckRhdGENCj4gPiA+ID4gPiAgICAp Ow0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ICsgIExvYWQgZ2l2ZW4gc2Vs ZWN0b3IgaW50byBUUiByZWdpc3Rlcg0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICBAcGFyYW0g U2VsZWN0b3IgICAgICAgICBUYXNrIHNlZ21lbnQgc2VsZWN0b3INCj4gPiA+ID4gPiArKiovDQo+ ID4gPiA+ID4gK1ZPSUQNCj4gPiA+ID4gPiArQXNtV3JpdGVUciAoDQo+ID4gPiA+ID4gKyAgVUlO VDE2IFNlbGVjdG9yDQo+ID4gPiA+ID4gKyAgKTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKy8q Kg0KPiA+ID4gPiA+ICsgIFNldHVwIHNlcGFyYXRlIHN0YWNrIGZvciBzcGVjaWZpYyBleGNlcHRp b25zLg0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICBAcGFyYW1baW5dIElkdFRhYmxlICAgICAg ICBJRFQgdGFibGUgYmFzZS4NCj4gPiA+ID4gPiArKiovDQo+ID4gPiA+ID4gK1ZPSUQNCj4gPiA+ ID4gPiArRUZJQVBJDQo+ID4gPiA+ID4gK0FyY2hTZXR1cEV4Y3BldGlvblN0YWNrICgNCj4gPiA+ ID4gPiArICBJTiBJQTMyX0lEVF9HQVRFX0RFU0NSSVBUT1IgICAgICAgICAgICpJZHRUYWJsZQ0K PiA+ID4gPiA+ICsgICk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICAjZW5kaWYNCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4gPg0KPiA+IGEvVWVmaUNwdVBrZy9MaWJy YXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi4NCj4g PiA+ID4gPiBpbmYNCj4gPiA+ID4gPg0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2Vw dGlvbkhhbmRsZXJMaWIvRHhlQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi4NCj4gPiA+ID4gPiBpbmYN Cj4gPiA+ID4gPiBpbmRleCBmNGE4ZDAxYzgwLi5iMDk5ZWY0ZGFkIDEwMDY0NA0KPiA+ID4gPiA+ IC0tLQ0KPiA+ID4gPiA+DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi9EeGVDcHVFeGNlcHRpb25IYW5kbGVyTGliLg0KPiA+ID4gPiA+IGluZg0KPiA+ID4g PiA+ICsrKw0KPiA+ID4gPiA+DQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9u SGFuZGxlckxpYi9EeGVDcHVFeGNlcHRpb25IYW5kbGVyTGliLg0KPiA+ID4gPiA+IGluZg0KPiA+ ID4gPiA+IEBAIC0zMCw2ICszMCw3IEBADQo+ID4gPiA+ID4gIFtTb3VyY2VzLklhMzJdDQo+ID4g PiA+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5kbGVyQXNtLmFzbQ0KPiA+ID4gPiA+ICAgIElhMzIv RXhjZXB0aW9uSGFuZGxlckFzbS5uYXNtDQo+ID4gPiA+ID4gKyAgSWEzMi9FeGNlcHRpb25Uc3NF bnRyeUFzbS5uYXNtDQo+ID4gPiA+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5kbGVyQXNtLlMNCj4g PiA+ID4gPiAgICBJYTMyL0FyY2hFeGNlcHRpb25IYW5kbGVyLmMNCj4gPiA+ID4gPiAgICBJYTMy L0FyY2hJbnRlcnJ1cHREZWZzLmgNCj4gPiA+ID4gPiBAQCAtNDcsNiArNDgsOSBAQA0KPiA+ID4g PiA+ICAgIFBlaUR4ZVNtbUNwdUV4Y2VwdGlvbi5jDQo+ID4gPiA+ID4gICAgRHhlRXhjZXB0aW9u LmMNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICtbUGNkXQ0KPiA+ID4gPiA+ICsgIGdFZmlNZGVNb2R1 bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDcHVTdGFja0d1YXJkDQo+ID4gPiA+ID4gKw0KPiA+ID4g PiA+ICBbUGFja2FnZXNdDQo+ID4gPiA+ID4gICAgTWRlUGtnL01kZVBrZy5kZWMNCj4gPiA+ID4g PiAgICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiA+ID4gPiA+IEBAIC02MSwzICs2 NSw0IEBADQo+ID4gPiA+ID4gICAgUGVDb2ZmR2V0RW50cnlQb2ludExpYg0KPiA+ID4gPiA+ICAg IE1lbW9yeUFsbG9jYXRpb25MaWINCj4gPiA+ID4gPiAgICBEZWJ1Z0xpYg0KPiA+ID4gPiA+ICsg IEhvYkxpYg0KPiA+ID4gPiA+IGRpZmYgLS1naXQgYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhj ZXB0aW9uSGFuZGxlckxpYi9EeGVFeGNlcHRpb24uYw0KPiA+ID4gPiA+IGIvVWVmaUNwdVBrZy9M aWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhlRXhjZXB0aW9uLmMNCj4gPiA+ID4gPiBp bmRleCAzMWZlYmVjOTc2Li5lOWRjZDAwZTAyIDEwMDY0NA0KPiA+ID4gPiA+IC0tLSBhL1VlZmlD cHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0R4ZUV4Y2VwdGlvbi5jDQo+ID4g PiA+ID4gKysrIGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvRHhl RXhjZXB0aW9uLmMNCj4gPiA+ID4gPiBAQCAtMTYsNiArMTYsNyBAQA0KPiA+ID4gPiA+ICAjaW5j bHVkZSAiQ3B1RXhjZXB0aW9uQ29tbW9uLmgiDQo+ID4gPiA+ID4gICNpbmNsdWRlIDxMaWJyYXJ5 L0RlYnVnTGliLmg+DQo+ID4gPiA+ID4gICNpbmNsdWRlIDxMaWJyYXJ5L01lbW9yeUFsbG9jYXRp b25MaWIuaD4NCj4gPiA+ID4gPiArI2luY2x1ZGUgPExpYnJhcnkvSG9iTGliLmg+DQo+ID4gPiA+ ID4NCj4gPiA+ID4gPiAgQ09OU1QgVUlOVE4gICAgbURvRmFyUmV0dXJuRmxhZyAgPSAwOw0KPiA+ ID4gPiA+DQo+ID4gPiA+ID4gQEAgLTE1NSw2ICsxNTYsMjQgQEAgSW5pdGlhbGl6ZUNwdUludGVy cnVwdEhhbmRsZXJzICgNCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAgIFVwZGF0ZUlkdFRhYmxlIChJ ZHRUYWJsZSwgJlRlbXBsYXRlTWFwLCAmbUV4Y2VwdGlvbkhhbmRsZXJEYXRhKTsNCj4gPiA+ID4g Pg0KPiA+ID4gPiA+ICsgIGlmIChQY2RHZXRCb29sIChQY2RDcHVTdGFja0d1YXJkKSkgew0KPiA+ ID4gPiA+ICsgICAgLy8NCj4gPiA+ID4gPiArICAgIC8vIFN0YWNrIEd1YXJkIHdvcmtzIHdpdGgg dGhlIHN1cHBvcnQgb2YgcGFnZSB0YWJsZSBlc3RhYmxpc2hlZCBhbmQNCj4gPiA+ID4gPiArICAg IC8vIG1lbW9yeSBtYW5hZ2VtZW50LiBTbyB3ZSBoYXZlIHRvIGV4Y2x1ZGUgdGhvc2UgYm9vdCBt b2Rlcw0KPiA+ID4gPiA+IHdpdGhvdXQNCj4gPiA+ID4gPiArICAgIC8vIHRoZW0uDQo+ID4gPiA+ ID4gKyAgICAvLw0KPiA+ID4gPiA+ICsgICAgc3dpdGNoIChHZXRCb290TW9kZUhvYigpKSB7DQo+ ID4gPiA+ID4gKyAgICBjYXNlIEJPT1RfT05fRkxBU0hfVVBEQVRFOg0KPiA+ID4gPiA+ICsgICAg Y2FzZSBCT09UX0lOX1JFQ09WRVJZX01PREU6DQo+ID4gPiA+ID4gKyAgICBjYXNlIEJPT1RfT05f UzNfUkVTVU1FOg0KPiA+ID4gPiA+ICsgICAgICBicmVhazsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gKyAgICBkZWZhdWx0Og0KPiA+ID4gPiA+ICsgICAgICBBcmNoU2V0dXBFeGNwZXRpb25TdGFj ayAoSWR0VGFibGUpOw0KPiA+ID4gPiA+ICsgICAgICBicmVhazsNCj4gPiA+ID4gPiArICAgIH0N Cj4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICAgIC8vDQo+ID4gPiA+ID4g ICAgLy8gTG9hZCBJbnRlcnJ1cHQgRGVzY3JpcHRvciBUYWJsZQ0KPiA+ID4gPiA+ICAgIC8vDQo+ ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+DQo+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0Nw dUV4Y2VwdGlvbkhhbmRsZXJMaWIvSWEzMi9BcmNoRXhjZXB0aW9uSGFuZGxlci4NCj4gPiA+ID4g PiBjDQo+ID4gPiA+ID4NCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5k bGVyTGliL0lhMzIvQXJjaEV4Y2VwdGlvbkhhbmRsZXIuDQo+ID4gPiA+ID4gYw0KPiA+ID4gPiA+ IGluZGV4IGYyYzM5ZWIxOTMuLjNkNDFkZjc1YTUgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tDQo+ID4g PiA+ID4NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9JYTMy L0FyY2hFeGNlcHRpb25IYW5kbGVyLg0KPiA+ID4gPiA+IGMNCj4gPiA+ID4gPiArKysNCj4gPiA+ ID4gPg0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvSWEz Mi9BcmNoRXhjZXB0aW9uSGFuZGxlci4NCj4gPiA+ID4gPiBjDQo+ID4gPiA+ID4gQEAgLTE0LDYg KzE0LDE5IEBADQo+ID4gPiA+ID4NCj4gPiA+ID4gPiAgI2luY2x1ZGUgIkNwdUV4Y2VwdGlvbkNv bW1vbi5oIg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKy8vDQo+ID4gPiA+ID4gKy8vIExpc3Qgb2Yg ZXhjZXB0aW9ucyBuZWVkaW5nIHNlcGFyYXRlIHN0YWNrIC8vIFNUQVRJQw0KPiA+ID4gPiA+ICtJ QTMyX0VYQ0VQVElPTl9UU19FTlRSWSBtRXhjZXB0aW9uc1dpdGhTdGFja1tdID0gew0KPiA+ID4g PiA+ICsgIHs2LCAgRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5Nn0sICAvLyNVRDogSW52YWxpZCBP cGNvZGUgRXhjZXB0aW9uDQo+ID4gPiA+ID4gKyAgezgsICBFeGNlcHRpb25UYXNrU3d0aWNoRW50 cnk4fSwgIC8vI0RGOiBEb3VibGUgRmF1bHQgRXhjZXB0aW9uDQo+ID4gPiA+ID4gKyAgezEyLCBF eGNlcHRpb25UYXNrU3d0aWNoRW50cnkxMn0sIC8vI1NTOiBTdGFjayBGYXVsdCBFeGNlcHRpb24N Cj4gPiA+ID4gPiArICB7MTMsIEV4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTEzfSwgLy8jR1A6IEdl bmVyYWwgUHJvdGVjdGlvbg0KPiA+ID4gPiA+ICtFeGNlcHRpb24NCj4gPiA+ID4gPiArICB7MTQs IEV4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTE0fSwgLy8jUEY6IFBhZ2UtRmF1bHQgRXhjZXB0aW9u DQo+ID4gPiA+ID4gKyAgezE3LCBFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkxN30sIC8vI0FDOiBB bGlnbm1lbnQgQ2hlY2sgRXhjZXB0aW9uDQo+ID4gPiA+ID4gKyAgezE4LCBFeGNlcHRpb25UYXNr U3d0aWNoRW50cnkxOH0gIC8vI01DOiBNYWNoaW5lLUNoZWNrIEV4Y2VwdGlvbiB9Ow0KPiA+ID4g PiA+ICsNCj4gPiA+ID4gPiAgLyoqDQo+ID4gPiA+ID4gICAgUmV0dXJuIGFkZHJlc3MgbWFwIG9m IGV4Y2VwdGlvbiBoYW5kbGVyIHRlbXBsYXRlIHNvIHRoYXQgQyBjb2RlIGNhbg0KPiA+ID4gPiA+ IGdlbmVyYXRlDQo+ID4gPiA+ID4gICAgZXhjZXB0aW9uIHRhYmxlcy4NCj4gPiA+ID4gPiBAQCAt MTA3LDYgKzEyMCwxMjggQEAgQXJjaFJlc3RvcmVFeGNlcHRpb25Db250ZXh0ICgNCj4gPiA+ID4g PiAgICBTeXN0ZW1Db250ZXh0LlN5c3RlbUNvbnRleHRJYTMyLT5FeGNlcHRpb25EYXRhID0NCj4g PiA+ID4gPiBSZXNlcnZlZFZlY3RvcnNbRXhjZXB0aW9uVHlwZV0uRXhjZXB0aW9uRGF0YTsNCj4g PiA+ID4gPiAgfQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ICsgIFNldHVw IHNlcGFyYXRlIHN0YWNrIGZvciBzcGVjaWZpYyBleGNlcHRpb25zLg0KPiA+ID4gPiA+ICsNCj4g PiA+ID4gPiArICAgQHBhcmFtW2luXSBJZHRUYWJsZSAgICAgICAgSURUIHRhYmxlIGJhc2UuDQo+ ID4gPiA+ID4gKyoqLw0KPiA+ID4gPiA+ICtWT0lEDQo+ID4gPiA+ID4gK0VGSUFQSQ0KPiA+ID4g PiA+ICtBcmNoU2V0dXBFeGNwZXRpb25TdGFjayAoDQo+ID4gPiA+ID4gKyAgSU4gSUEzMl9JRFRf R0FURV9ERVNDUklQVE9SICAgICAgICAgICAqSWR0VGFibGUNCj4gPiA+ID4gPiArICApDQo+ID4g PiA+ID4gK3sNCj4gPiA+ID4gPiArICBWT0lEICAgICAgICAgICAgICAgICAgICAgICpOZXdHZHQ7 DQo+ID4gPiA+ID4gKyAgSUEzMl9ERVNDUklQVE9SICAgICAgICAgICBHZHREZXNjOw0KPiA+ID4g PiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgT2xkR2R0U2l6ZTsNCj4gPiA+ID4gPiAr ICBUU1NfRU5UUklFUyAgICAgICAgICAgICAgICpUc3NFbnRyeTsNCj4gPiA+ID4gPiArICBJQTMy X1RTU19ERVNDUklQVE9SICAgICAgICpUc3NEZXNjOw0KPiA+ID4gPiA+ICsgIElBMzJfVEFTS19T VEFURV9TRUdNRU5UICAgKlRzczsNCj4gPiA+ID4gPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgIFN0YWNrQmFzZTsNCj4gPiA+ID4gPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFN0 YWNrVG9wOw0KPiA+ID4gPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgU3RhY2tTaXpl Ow0KPiA+ID4gPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ID4gPiA+ ID4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBWZWN0b3I7DQo+ID4gPiA+ID4gKyAgVUlO VE4gICAgICAgICAgICAgICAgICAgICBUc3NCYXNlOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiAr ICAvLw0KPiA+ID4gPiA+ICsgIC8vIEFsbG9jYXRlIFJ1bnRpbWUgRGF0YSBmb3IgdGhlIEdEVCAg Ly8gIEFzbVJlYWRHZHRyKCZHZHREZXNjKTsNCj4gPiA+ID4gPiArIE9sZEdkdFNpemUgPSBHZHRE ZXNjLkxpbWl0ICsgMTsgIE5ld0dkdCA9DQo+ID4gPiA+ID4gKyBBbGxvY2F0ZVJ1bnRpbWVaZXJv UG9vbChPbGRHZHRTaXplICsgc2l6ZW9mKFRTU19FTlRSSUVTKQ0KPiA+ID4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICsgSUEzMl9HRFRfQUxJR05NRU5UKTsgIGlmDQo+ ID4gPiA+IChOZXdHZHQNCj4gPiA+ID4gPiArID09IE5VTEwpIHsNCj4gPiA+ID4gPiArICAgIHJl dHVybjsNCj4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gKyAgTmV3R2R0ID0gQUxJR05fUE9JTlRF UiAoTmV3R2R0LCBJQTMyX0dEVF9BTElHTk1FTlQpOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiAr ICAvLw0KPiA+ID4gPiA+ICsgIC8vIEluaXRpYWxpemUgbmV3IEdEVCBlbnRyaWVzDQo+ID4gPiA+ ID4gKyAgLy8NCj4gPiA+ID4gPiArICBDb3B5TWVtKE5ld0dkdCwgKFZPSUQgKilHZHREZXNjLkJh c2UsIE9sZEdkdFNpemUpOw0KPiA+IEdkdERlc2MuQmFzZSA9DQo+ID4gPiA+ID4gKyAoVUlOVE4p KFZPSUQqKU5ld0dkdDsgIEdkdERlc2MuTGltaXQgPSAoVUlOVDE2KShPbGRHZHRTaXplICsNCj4g PiA+ID4gPiArIFRTU19PRkZTRVQgLSAxKTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgLy8N Cj4gPiA+ID4gPiArICAvLyBSZXNlcnZlIHN0YXRjayBtZW1vcnkgZm9yIGdpdmVuIGV4Y2VwdGlv bnMgIC8vICBTdGFja1NpemUgPQ0KPiA+ID4gPiA+ICsgQVJSQVlfU0laRSAobUV4Y2VwdGlvbnNX aXRoU3RhY2spICogRVhDRVBUSU9OX1NUQUNLX1NJWkU7DQo+ID4gU3RhY2tTaXplDQo+ID4gPiA+ ID4gKyA9IEVGSV9QQUdFU19UT19TSVpFIChFRklfU0laRV9UT19QQUdFUyAoU3RhY2tTaXplKSk7 ICBTdGFja0Jhc2UgPQ0KPiA+ID4gPiA+ICsgKFVJTlQ2NCkoVUlOVE4pQWxsb2NhdGVQYWdlcyAo RUZJX1NJWkVfVE9fUEFHRVMNCj4gPiA+ID4gPiAoU3RhY2tTaXplKSk7DQo+ID4gPiA+ID4gKyAg aWYgKFN0YWNrQmFzZSA9PSAwKSB7DQo+ID4gPiA+ID4gKyAgICBGcmVlUG9vbCAoTmV3R2R0KTsN Cj4gPiA+ID4gPiArICAgIHJldHVybjsNCj4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gKyAgLy8gRml4dXAgVFNTIGRlc2NyaXB0b3JzIGFuZCBz ZWdtZW50cyAgLy8gIFRzc0VudHJ5ID0gKFZPSUQNCj4gPiA+ID4gPiArICopKEdkdERlc2MuQmFz ZSArIE9sZEdkdFNpemUpOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICBUc3NCYXNlID0gKFVJ TlROKShWT0lEICopJlRzc0VudHJ5LT5Uc3M7DQo+ID4gPiA+ID4gKyAgVHNzRW50cnktPlRzc1Nl Zy5MaW1pdDE1XzAgICAgICAgICAgICA9DQo+ID4gPiA+ID4gc2l6ZW9mKElBMzJfVEFTS19TVEFU RV9TRUdNRU5UKSAtIDE7DQo+ID4gPiA+ID4gKyAgVHNzRW50cnktPlRzc1NlZy5CYXNlMTVfMCAg ICAgICAgICAgICA9IChVSU5UMTYpVHNzQmFzZTsNCj4gPiA+ID4gPiArICBUc3NFbnRyeS0+VHNz U2VnLkJhc2UyM18xNiAgICAgICAgICAgID0gKFVJTlQ4KShUc3NCYXNlID4+IDE2KTsNCj4gPiA+ ID4gPiArICBUc3NFbnRyeS0+VHNzU2VnLlR5cGUgICAgICAgICAgICAgICAgID0gSUEzMl9HRFRf VFlQRV9UU1M7DQo+ID4gPiA+ID4gKyAgVHNzRW50cnktPlRzc1NlZy5MaW1pdDE5XzE2X2FuZF9m bGFncyA9IDA7DQo+ID4gPiA+ID4gKyAgVHNzRW50cnktPlRzc1NlZy5CYXNlMzFfMjQgICAgICAg ICAgICA9IChVSU5UOCkoVHNzQmFzZSA+PiAyNCk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsg IFN0YWNrVG9wICA9IFN0YWNrQmFzZSArIFN0YWNrU2l6ZSAtIENQVV9TVEFDS19BTElHTk1FTlQ7 DQo+ID4gU3RhY2tUb3ANCj4gPiA+ID4gPiArID0gKFVJTlROKUFMSUdOX1BPSU5URVIgKFN0YWNr VG9wLCBDUFVfU1RBQ0tfQUxJR05NRU5UKTsgIGZvcg0KPiA+ID4gKEluZGV4DQo+ID4gPiA+ID4g KyA9IDA7IEluZGV4IDwgQVJSQVlfU0laRSAobUV4Y2VwdGlvbnNXaXRoU3RhY2spOyArK0luZGV4 KSB7DQo+ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4gPiA+ICsgICAgLy8gRml4dXAgVFNTIGRlc2Ny aXB0b3INCj4gPiA+ID4gPiArICAgIC8vDQo+ID4gPiA+ID4gKyAgICBUc3NCYXNlID0gKFVJTlRO KShWT0lEICopJlRzc0VudHJ5LT5FeGNlcHRpb25Uc3NbSW5kZXhdOw0KPiA+ID4gPiA+ICsgICAg VHNzRGVzYyA9ICZUc3NFbnRyeS0+RXhjZXB0aW9uVHNzU2VnW0luZGV4XTsNCj4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gKyAgICBUc3NEZXNjLT5MaW1pdDE1XzAgICAgICAgICAgICA9DQo+ID4gc2l6 ZW9mKElBMzJfVEFTS19TVEFURV9TRUdNRU5UKSAtDQo+ID4gPiA+IDE7DQo+ID4gPiA+ID4gKyAg ICBUc3NEZXNjLT5CYXNlMTVfMCAgICAgICAgICAgICA9IChVSU5UMTYpVHNzQmFzZTsNCj4gPiA+ ID4gPiArICAgIFRzc0Rlc2MtPkJhc2UyM18xNiAgICAgICAgICAgID0gKFVJTlQ4KShUc3NCYXNl ID4+IDE2KTsNCj4gPiA+ID4gPiArICAgIFRzc0Rlc2MtPlR5cGUgICAgICAgICAgICAgICAgID0g SUEzMl9HRFRfVFlQRV9UU1M7DQo+ID4gPiA+ID4gKyAgICBUc3NEZXNjLT5MaW1pdDE5XzE2X2Fu ZF9mbGFncyA9IDA7DQo+ID4gPiA+ID4gKyAgICBUc3NEZXNjLT5CYXNlMzFfMjQgICAgICAgICAg ICA9IChVSU5UOCkoVHNzQmFzZSA+PiAyNCk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAg Ly8NCj4gPiA+ID4gPiArICAgIC8vIEZpeHVwIFRTUw0KPiA+ID4gPiA+ICsgICAgLy8NCj4gPiA+ ID4gPiArICAgIFRzcyA9ICZUc3NFbnRyeS0+RXhjZXB0aW9uVHNzW0luZGV4XTsNCj4gPiA+ID4g PiArICAgIFRzcy0+Q1IzICAgID0gQXNtUmVhZENyMygpOw0KPiA+ID4gPiA+ICsgICAgVHNzLT5F SVAgICAgPSAoVUlOVDMyKW1FeGNlcHRpb25zV2l0aFN0YWNrW0luZGV4XS5FbnRyeVBvaW50Ow0K PiA+ID4gPiA+ICsgICAgVHNzLT5FRkxBR1MgPSAweDI7DQo+ID4gPiA+ID4gKyAgICBUc3MtPkVT UCAgICA9IFN0YWNrVG9wOw0KPiA+ID4gPiA+ICsgICAgVHNzLT5FUyAgICAgPSBBc21SZWFkRXMo KTsNCj4gPiA+ID4gPiArICAgIFRzcy0+Q1MgICAgID0gQXNtUmVhZENzKCk7DQo+ID4gPiA+ID4g KyAgICBUc3MtPlNTICAgICA9IEFzbVJlYWRTcygpOw0KPiA+ID4gPiA+ICsgICAgVHNzLT5EUyAg ICAgPSBBc21SZWFkRHMoKTsNCj4gPiA+ID4gPiArICAgIFRzcy0+RlMgICAgID0gQXNtUmVhZEZz KCk7DQo+ID4gPiA+ID4gKyAgICBUc3MtPkdTICAgICA9IEFzbVJlYWRHcygpOw0KPiA+ID4gPiA+ ICsgICAgU3RhY2tUb3AgICAtPSBFWENFUFRJT05fU1RBQ0tfU0laRTsNCj4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4gPiA+ICsgICAgLy8gQ2hhbmdlIHNwZWNpZmllZCBleGNl cHRpb25zIGluIElEVCB0byB1c2UgVFNTDQo+ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4gPiA+ICsg ICAgVmVjdG9yID0gbUV4Y2VwdGlvbnNXaXRoU3RhY2tbSW5kZXhdLlZlY3RvcjsNCj4gPiA+ID4g PiArDQo+ID4gPiA+ID4gKyAgICBJZHRUYWJsZVtWZWN0b3JdLkJpdHMuT2Zmc2V0TG93ICA9IDA7 DQo+ID4gPiA+ID4gKyAgICBJZHRUYWJsZVtWZWN0b3JdLkJpdHMuU2VsZWN0b3IgICA9IE9sZEdk dFNpemUgKw0KPiA+ID4gPiA+IEVYQ0VQVElPTl9UU1NfU0VMKEluZGV4KTsNCj4gPiA+ID4gPiAr ICAgIElkdFRhYmxlW1ZlY3Rvcl0uQml0cy5SZXNlcnZlZF8wID0gMDsNCj4gPiA+ID4gPiArICAg IElkdFRhYmxlW1ZlY3Rvcl0uQml0cy5HYXRlVHlwZSAgID0gSUEzMl9JRFRfR0FURV9UWVBFX1RB U0s7DQo+ID4gPiA+ID4gKyAgICBJZHRUYWJsZVtWZWN0b3JdLkJpdHMuT2Zmc2V0SGlnaCA9IDA7 ICB9DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gKyAgLy8gUHVibGlz aCB0aGUgY2hhbmdlcw0KPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gKyAgQXNtV3JpdGVHZHRy KCZHZHREZXNjKTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gPiArICAv LyBMb2FkIHRhc2sgcmVnaXN0ZXINCj4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ICsgIEFzbVdy aXRlVHIgKChVSU5UMTYpKE9sZEdkdFNpemUgKyBUU1NfU0VMKSk7IH0NCj4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+ICAgIERpc3BsYXkgcHJvY2Vzc29yIGNvbnRleHQuDQo+ ID4gPiA+ID4NCj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4gYS9VZWZpQ3B1UGtnL0xp YnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9JYTMyL0FyY2hJbnRlcnJ1cHREZWZzLmgNCj4g PiA+ID4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0lhMzIv QXJjaEludGVycnVwdERlZnMuaA0KPiA+ID4gPiA+IGluZGV4IGE4ZDM1NTZhODAuLjc3Y2M2Zjk5 MTkgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkv Q3B1RXhjZXB0aW9uSGFuZGxlckxpYi9JYTMyL0FyY2hJbnRlcnJ1cHREZWZzLmgNCj4gPiA+ID4g PiArKysNCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0lh MzIvQXJjaEludGVycnVwdERlZnMNCj4gPiA+ID4gPiArKysgLmgNCj4gPiA+ID4gPiBAQCAtNDEs NCArNDEsMTQwIEBAIHR5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gPiAgICBVSU5UOCAgICAgICBI b29rQWZ0ZXJTdHViSGVhZGVyQ29kZVtIT09LQUZURVJfU1RVQl9TSVpFXTsNCj4gPiA+ID4gPiAg fSBSRVNFUlZFRF9WRUNUT1JTX0RBVEE7DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArI3ByYWdtYSBw YWNrICgxKQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArI2RlZmluZSBFWENFUFRJT05fTElTVF9N QVggICAgICAgICAgNw0KPiA+ID4gPiA+ICsjZGVmaW5lIEVYQ0VQVElPTl9TVEFDS19TSVpFICAg ICAgICBFRklfUEFHRV9TSVpFDQo+ID4gPiA+ID4gKyNkZWZpbmUgSUEzMl9HRFRfVFlQRV9UU1Mg ICAgICAgICAgIDB4ODkNCj4gPiA+ID4gPiArI2RlZmluZSBJQTMyX0dEVF9BTElHTk1FTlQgICAg ICAgICAgOA0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArLy8NCj4gPiA+ID4gPiArLy8gSUEzMiBU U1MgRGVmaW5pdGlvbg0KPiA+ID4gPiA+ICsvLw0KPiA+ID4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7 DQo+ID4gPiA+ID4gKyAgVUlOVDE2ICAgIFByZXZpb3VzVGFza0xpbms7IC8vIDAwDQo+ID4gPiA+ ID4gKyAgVUlOVDE2ICAgIFJlc2VydmVkXzI7DQo+ID4gPiA+ID4gKyAgVUlOVDMyICAgIEVTUDA7 ICAgICAgICAgICAgIC8vIDA0DQo+ID4gPiA+ID4gKyAgVUlOVDE2ICAgIFNTMDsgICAgICAgICAg ICAgIC8vIDA4DQo+ID4gPiA+ID4gKyAgVUlOVDE2ICAgIFJlc2VydmVkXzEwOw0KPiA+ID4gPiA+ ICsgIFVJTlQzMiAgICBFU1AxOyAgICAgICAgICAgICAvLyAwQw0KPiA+ID4gPiA+ICsgIFVJTlQx NiAgICBTUzE7ICAgICAgICAgICAgICAvLyAxMA0KPiA+ID4gPiA+ICsgIFVJTlQxNiAgICBSZXNl cnZlZF8xODsNCj4gPiA+ID4gPiArICBVSU5UMzIgICAgRVNQMjsgICAgICAgICAgICAgLy8gMTQN Cj4gPiA+ID4gPiArICBVSU5UMTYgICAgU1MyOyAgICAgICAgICAgICAgLy8gMTgNCj4gPiA+ID4g PiArICBVSU5UMTYgICAgUmVzZXJ2ZWRfMjY7DQo+ID4gPiA+ID4gKyAgVUlOVDMyICAgIENSMzsg ICAgICAgICAgICAgIC8vIDFDDQo+ID4gPiA+ID4gKyAgVUlOVDMyICAgIEVJUDsgICAgICAgICAg ICAgIC8vIDIwDQo+ID4gPiA+ID4gKyAgVUlOVDMyICAgIEVGTEFHUzsgICAgICAgICAgIC8vIDI0 DQo+ID4gPiA+ID4gKyAgVUlOVDMyICAgIEVBWDsgICAgICAgICAgICAgIC8vIDI4DQo+ID4gPiA+ ID4gKyAgVUlOVDMyICAgIEVDWDsgICAgICAgICAgICAgIC8vIDJDDQo+ID4gPiA+ID4gKyAgVUlO VDMyICAgIEVEWDsgICAgICAgICAgICAgIC8vIDMwDQo+ID4gPiA+ID4gKyAgVUlOVDMyICAgIEVC WDsgICAgICAgICAgICAgIC8vIDM0DQo+ID4gPiA+ID4gKyAgVUlOVDMyICAgIEVTUDsgICAgICAg ICAgICAgIC8vIDM4DQo+ID4gPiA+ID4gKyAgVUlOVDMyICAgIEVCUDsNCj4gPiA+ID4gPiArICBV SU5UMzIgICAgRVNJOw0KPiA+ID4gPiA+ICsgIFVJTlQzMiAgICBFREk7DQo+ID4gPiA+ID4gKyAg VUlOVDE2ICAgIEVTOw0KPiA+ID4gPiA+ICsgIFVJTlQxNiAgICBSZXNlcnZlZF83NDsNCj4gPiA+ ID4gPiArICBVSU5UMTYgICAgQ1M7DQo+ID4gPiA+ID4gKyAgVUlOVDE2ICAgIFJlc2VydmVkXzc4 Ow0KPiA+ID4gPiA+ICsgIFVJTlQxNiAgICBTUzsNCj4gPiA+ID4gPiArICBVSU5UMTYgICAgUmVz ZXJ2ZWRfODI7DQo+ID4gPiA+ID4gKyAgVUlOVDE2ICAgIERTOw0KPiA+ID4gPiA+ICsgIFVJTlQx NiAgICBSZXNlcnZlZF84NjsNCj4gPiA+ID4gPiArICBVSU5UMTYgICAgRlM7DQo+ID4gPiA+ID4g KyAgVUlOVDE2ICAgIFJlc2VydmVkXzkwOw0KPiA+ID4gPiA+ICsgIFVJTlQxNiAgICBHUzsNCj4g PiA+ID4gPiArICBVSU5UMTYgICAgUmVzZXJ2ZWRfOTQ7DQo+ID4gPiA+ID4gKyAgVUlOVDE2ICAg IExEVFNlZ21lbnRTZWxlY3RvcjsNCj4gPiA+ID4gPiArICBVSU5UMTYgICAgUmVzZXJ2ZWRfOTg7 DQo+ID4gPiA+ID4gKyAgVUlOVDE2ICAgIFQ7DQo+ID4gPiA+ID4gKyAgVUlOVDE2ICAgIElPTWFw QmFzZUFkZHJlc3M7DQo+ID4gPiA+ID4gK30gSUEzMl9UQVNLX1NUQVRFX1NFR01FTlQ7DQo+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ID4gPiA+ID4gKyAgVUlOVDE2 ICAgIExpbWl0MTVfMDsNCj4gPiA+ID4gPiArICBVSU5UMTYgICAgQmFzZTE1XzA7DQo+ID4gPiA+ ID4gKyAgVUlOVDggICAgIEJhc2UyM18xNjsNCj4gPiA+ID4gPiArICBVSU5UOCAgICAgVHlwZTsN Cj4gPiA+ID4gPiArICBVSU5UOCAgICAgTGltaXQxOV8xNl9hbmRfZmxhZ3M7DQo+ID4gPiA+ID4g KyAgVUlOVDggICAgIEJhc2UzMV8yNDsNCj4gPiA+ID4gPiArfSBJQTMyX1RTU19ERVNDUklQVE9S Ow0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ID4gPiA+ICsg IElBMzJfVFNTX0RFU0NSSVBUT1IgICAgICAgICAgIFRzc1NlZzsNCj4gPiA+ID4gPiArICBJQTMy X1RTU19ERVNDUklQVE9SDQo+ID4gPiA+IEV4Y2VwdGlvblRzc1NlZ1tFWENFUFRJT05fTElTVF9N QVhdOw0KPiA+ID4gPiA+ICsgIElBMzJfVEFTS19TVEFURV9TRUdNRU5UICAgICAgIFRzczsNCj4g PiA+ID4gPiArICBJQTMyX1RBU0tfU1RBVEVfU0VHTUVOVA0KPiA+IEV4Y2VwdGlvblRzc1tFWENF UFRJT05fTElTVF9NQVhdOw0KPiA+ID4gPiA+ICt9IFRTU19FTlRSSUVTOw0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiArI3ByYWdtYSBwYWNrICgpDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsjZGVm aW5lIFRTU19TRUwgICAgICAgICAgICAgICBPRkZTRVRfT0YgKFRTU19FTlRSSUVTLCBUc3NTZWcp DQo+ID4gPiA+ID4gKyNkZWZpbmUgRVhDRVBUSU9OX1RTU19TRUwobikgIE9GRlNFVF9PRiAoVFNT X0VOVFJJRVMsDQo+ID4gPiA+ID4gRXhjZXB0aW9uVHNzU2VnW25dKQ0KPiA+ID4gPiA+ICsjZGVm aW5lIFRTU19PRkZTRVQgICAgICAgICAgICBPRkZTRVRfT0YgKFRTU19FTlRSSUVTLCBUc3MpDQo+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICt0eXBlZGVmIFZPSUQgKCpFWENFUFRJT05fRU5UUlkpIChW T0lEKTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4g PiArICBVSU5UTiAgICAgICAgICAgICBWZWN0b3I7DQo+ID4gPiA+ID4gKyAgRVhDRVBUSU9OX0VO VFJZICAgRW50cnlQb2ludDsNCj4gPiA+ID4gPiArfSBJQTMyX0VYQ0VQVElPTl9UU19FTlRSWTsN Cj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ICsgRXhjZXB0aW9uIGhhbmRs aW5nIGVudHJ5IHRocm91Z2ggdGFzayBnYXRlIGZvciBleGNlcHRpb24gI1VELg0KPiA+ID4gPiA+ ICsgKiovDQo+ID4gPiA+ID4gK1ZPSUQNCj4gPiA+ID4gPiArRXhjZXB0aW9uVGFza1N3dGljaEVu dHJ5NiAoDQo+ID4gPiA+ID4gKyAgVk9JRA0KPiA+ID4gPiA+ICsgICk7DQo+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ICsvKioNCj4gPiA+ID4gPiArIEV4Y2VwdGlvbiBoYW5kbGluZyBlbnRyeSB0aHJv dWdoIHRhc2sgZ2F0ZSBmb3IgZXhjZXB0aW9uICNERi4NCj4gPiA+ID4gPiArICoqLw0KPiA+ID4g PiA+ICtWT0lEDQo+ID4gPiA+ID4gK0V4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTggKA0KPiA+ID4g PiA+ICsgIFZPSUQNCj4gPiA+ID4gPiArICApOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArLyoq DQo+ID4gPiA+ID4gKyBFeGNlcHRpb24gaGFuZGxpbmcgZW50cnkgdGhyb3VnaCB0YXNrIGdhdGUg Zm9yIGV4Y2VwdGlvbiAjU1MuDQo+ID4gPiA+ID4gKyAqKi8NCj4gPiA+ID4gPiArVk9JRA0KPiA+ ID4gPiA+ICtFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkxMiAoDQo+ID4gPiA+ID4gKyAgVk9JRA0K PiA+ID4gPiA+ICsgICk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsvKioNCj4gPiA+ID4gPiAr IEV4Y2VwdGlvbiBoYW5kbGluZyBlbnRyeSB0aHJvdWdoIHRhc2sgZ2F0ZSBmb3IgZXhjZXB0aW9u ICNHUC4NCj4gPiA+ID4gPiArICoqLw0KPiA+ID4gPiA+ICtWT0lEDQo+ID4gPiA+ID4gK0V4Y2Vw dGlvblRhc2tTd3RpY2hFbnRyeTEzICgNCj4gPiA+ID4gPiArICBWT0lEDQo+ID4gPiA+ID4gKyAg KTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ICsgRXhjZXB0aW9uIGhh bmRsaW5nIGVudHJ5IHRocm91Z2ggdGFzayBnYXRlIGZvciBleGNlcHRpb24gI1BGLg0KPiA+ID4g PiA+ICsgKiovDQo+ID4gPiA+ID4gK1ZPSUQNCj4gPiA+ID4gPiArRXhjZXB0aW9uVGFza1N3dGlj aEVudHJ5MTQgKA0KPiA+ID4gPiA+ICsgIFZPSUQNCj4gPiA+ID4gPiArICApOw0KPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiArLyoqDQo+ID4gPiA+ID4gKyBFeGNlcHRpb24gaGFuZGxpbmcgZW50cnkg dGhyb3VnaCB0YXNrIGdhdGUgZm9yIGV4Y2VwdGlvbiAjQUMuDQo+ID4gPiA+ID4gKyAqKi8NCj4g PiA+ID4gPiArVk9JRA0KPiA+ID4gPiA+ICtFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkxNyAoDQo+ ID4gPiA+ID4gKyAgVk9JRA0KPiA+ID4gPiA+ICsgICk7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ ICsvKioNCj4gPiA+ID4gPiArIEV4Y2VwdGlvbiBoYW5kbGluZyBlbnRyeSB0aHJvdWdoIHRhc2sg Z2F0ZSBmb3IgZXhjZXB0aW9uICNNQy4NCj4gPiA+ID4gPiArICoqLw0KPiA+ID4gPiA+ICtWT0lE DQo+ID4gPiA+ID4gK0V4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeTE4ICgNCj4gPiA+ID4gPiArICBW T0lEDQo+ID4gPiA+ID4gKyAgKTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gICNlbmRpZg0KPiA+ ID4gPiA+IGRpZmYgLS1naXQNCj4gPiA+ID4gPg0KPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0Nw dUV4Y2VwdGlvbkhhbmRsZXJMaWIvSWEzMi9FeGNlcHRpb25Uc3NFbnRyeUFzbS4NCj4gPiA+ID4g PiBuYXMNCj4gPiA+ID4gPiBtDQo+ID4gPiA+ID4NCj4gPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9D cHVFeGNlcHRpb25IYW5kbGVyTGliL0lhMzIvRXhjZXB0aW9uVHNzRW50cnlBc20uDQo+ID4gPiA+ ID4gbmFzDQo+ID4gPiA+ID4gbQ0KPiA+ID4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ID4g PiA+ID4gaW5kZXggMDAwMDAwMDAwMC4uZGJmYmNmY2Y1MQ0KPiA+ID4gPiA+IC0tLSAvZGV2L251 bGwNCj4gPiA+ID4gPiArKysNCj4gPiA+ID4gPg0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0Nw dUV4Y2VwdGlvbkhhbmRsZXJMaWIvSWEzMi9FeGNlcHRpb25Uc3NFbnRyeUFzbS4NCj4gPiA+ID4g PiBuYXMNCj4gPiA+ID4gPiBtDQo+ID4gPiA+ID4gQEAgLTAsMCArMSwzOTggQEANCj4gPiA+ID4g PiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gKy0tLS0tLS0tLS0gOyA7IENvcHlyaWdodCAoYykg MjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMNCj4gPiA+ID4gPiArcmVzZXJ2ZWQu PEJSPiA7IFRoaXMgcHJvZ3JhbSBhbmQgdGhlIGFjY29tcGFueWluZyBtYXRlcmlhbHMgOyBhcmUN Cj4gPiA+ID4gPiArbGljZW5zZWQgYW5kIG1hZGUgYXZhaWxhYmxlIHVuZGVyIHRoZSB0ZXJtcyBh bmQgY29uZGl0aW9ucyBvZiB0aGUgQlNEDQo+ID4gPiA+ID4gTGljZW5zZQ0KPiA+ID4gPiA+ICs7 IHdoaWNoIGFjY29tcGFuaWVzIHRoaXMgZGlzdHJpYnV0aW9uLiAgVGhlIGZ1bGwgdGV4dCBvZiB0 aGUgbGljZW5zZQ0KPiA+ID4gPiA+ICttYXkgYmUgZm91bmQNCj4gPiA+ID4gPiBhdA0KPiA+ID4g PiA+ICs7IGh0dHA6Ly9vcGVuc291cmNlLm9yZy9saWNlbnNlcy9ic2QtbGljZW5zZS5waHAuDQo+ ID4gPiA+ID4gKzsNCj4gPiA+ID4gPiArOyBUSEUgUFJPR1JBTSBJUyBESVNUUklCVVRFRCBVTkRF UiBUSEUgQlNEIExJQ0VOU0UgT04gQU4gIkFTDQo+IElTIg0KPiA+ID4gPiA+ICtCQVNJUywgOyBX SVRIT1VUIFdBUlJBTlRJRVMgT1IgUkVQUkVTRU5UQVRJT05TIE9GIEFOWSBLSU5ELA0KPiA+ID4g RUlUSEVSDQo+ID4gPiA+ID4gK0VYUFJFU1MNCj4gPiA+ID4gPiBPUiBJTVBMSUVELg0KPiA+ID4g PiA+ICs7DQo+ID4gPiA+ID4gKzsgTW9kdWxlIE5hbWU6DQo+ID4gPiA+ID4gKzsNCj4gPiA+ID4g PiArOyAgIEV4Y2VwdGlvblRzc0VudHJ5QXNtLkFzbQ0KPiA+ID4gPiA+ICs7DQo+ID4gPiA+ID4g KzsgQWJzdHJhY3Q6DQo+ID4gPiA+ID4gKzsNCj4gPiA+ID4gPiArOyAgIElBMzIgQ1BVIEV4Y2Vw dGlvbiBIYW5kbGVyIHdpdGggU2VwYXJhdGUgU3RhY2sNCj4gPiA+ID4gPiArOw0KPiA+ID4gPiA+ ICs7IE5vdGVzOg0KPiA+ID4gPiA+ICs7DQo+ID4gPiA+ID4gKzstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4g PiA+ICstLS0tLS0tLS0tDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICs7DQo+ID4gPiA+ID4gKzsg SUEzMiBUU1MgTWVtb3J5IExheW91dCBEZXNjcmlwdGlvbg0KPiA+ID4gPiA+ICs7DQo+ID4gPiA+ ID4gK3N0cnVjIElBMzJfVFNTDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAx DQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAxDQo+ID4gPiA+ID4gKyAgLkVT UDA6ICAgIHJlc2QgMQ0KPiA+ID4gPiA+ICsgIC5TUzA6ICAgICByZXN3IDENCj4gPiA+ID4gPiAr ICAgICAgICAgICAgICAgICAgICByZXN3IDENCj4gPiA+ID4gPiArICAuRVNQMTogICAgcmVzZCAx DQo+ID4gPiA+ID4gKyAgLlNTMTogICAgIHJlc3cgMQ0KPiA+ID4gPiA+ICsgICAgICAgICAgICAg ICAgICAgIHJlc3cgMQ0KPiA+ID4gPiA+ICsgIC5FU1AyOiAgICByZXNkIDENCj4gPiA+ID4gPiAr ICAuU1MyOiAgICAgcmVzdyAxDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAx DQo+ID4gPiA+ID4gKyAgLl9DUjM6ICAgIHJlc2QgMQ0KPiA+ID4gPiA+ICsgIC5FSVA6ICAgICBy ZXNkIDENCj4gPiA+ID4gPiArICAuRUZMQUdTOiAgcmVzZCAxDQo+ID4gPiA+ID4gKyAgLl9FQVg6 ICAgIHJlc2QgMQ0KPiA+ID4gPiA+ICsgIC5fRUNYOiAgICByZXNkIDENCj4gPiA+ID4gPiArICAu X0VEWDogICAgcmVzZCAxDQo+ID4gPiA+ID4gKyAgLl9FQlg6ICAgIHJlc2QgMQ0KPiA+ID4gPiA+ ICsgIC5fRVNQOiAgICByZXNkIDENCj4gPiA+ID4gPiArICAuX0VCUDogICAgcmVzZCAxDQo+ID4g PiA+ID4gKyAgLl9FU0k6ICAgIHJlc2QgMQ0KPiA+ID4gPiA+ICsgIC5fRURJOiAgICByZXNkIDEN Cj4gPiA+ID4gPiArICAuX0VTOiAgICAgcmVzdyAxDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgcmVzdyAxDQo+ID4gPiA+ID4gKyAgLl9DUzogICAgIHJlc3cgMQ0KPiA+ID4gPiA+ICsg ICAgICAgICAgICAgICAgICAgIHJlc3cgMQ0KPiA+ID4gPiA+ICsgIC5fU1M6ICAgICByZXN3IDEN Cj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICByZXN3IDENCj4gPiA+ID4gPiArICAuX0RT OiAgICAgcmVzdyAxDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAxDQo+ID4g PiA+ID4gKyAgLl9GUzogICAgIHJlc3cgMQ0KPiA+ID4gPiA+ICsgICAgICAgICAgICAgICAgICAg IHJlc3cgMQ0KPiA+ID4gPiA+ICsgIC5fR1M6ICAgICByZXN3IDENCj4gPiA+ID4gPiArICAgICAg ICAgICAgICAgICAgICByZXN3IDENCj4gPiA+ID4gPiArICAuTERUOiAgICAgcmVzdyAxDQo+ID4g PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAxDQo+ID4gPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgcmVzdyAxDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgcmVzdyAxDQo+ ID4gPiA+ID4gK2VuZHN0cnVjDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICs7DQo+ID4gPiA+ID4g KzsgQ29tbW9uRXhjZXB0aW9uSGFuZGxlcigpDQo+ID4gPiA+ID4gKzsNCj4gPiA+ID4gPiArZXh0 ZXJuIEFTTV9QRlgoQ29tbW9uRXhjZXB0aW9uSGFuZGxlcikNCj4gPiA+ID4gPiArDQo+ID4gPiA+ ID4gK1NFQ1RJT04gLmRhdGENCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gK1NFQ1RJT04gLnRleHQN Cj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gK0FMSUdOICAgOA0KPiA+ID4gPiA+ICsNCj4gPiA+ID4g PiArOw0KPiA+ID4gPiA+ICs7IGV4Y2VwdGlvbiBoYW5kbGVyIHN0dWIgdGFibGUNCj4gPiA+ID4g PiArOw0KPiA+ID4gPiA+ICslbWFjcm8gRGVmRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5IDENCj4g PiA+ID4gPiArJSVEb0lyZXQ6DQo+ID4gPiA+ID4gKyAgICBpcmV0ZA0KPiA+ID4gPiA+ICsNCj4g PiA+ID4gPiArZ2xvYmFsIEFTTV9QRlgoRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5JTEpDQo+ID4g PiA+ID4gK0FTTV9QRlgoRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5JTEpOg0KPiA+ID4gPiA+ICsg ICAgZGIgICAgICAweDZhICAgICAgICA7IHB1c2ggICNWZWN0b3JOdW0NCj4gPiA+ID4gPiArICAg IGRiICAgICAgJTEgICAgICAgICAgOyBWZWN0b3JOdW0NCj4gPiA+ID4gPiArICAgIG1vdiAgICAg ZWF4LCBBU01fUEZYKENvbW1vblRhc2tTd3RpY2hFbnRyeVBvaW50KQ0KPiA+ID4gPiA+ICsgICAg Y2FsbCAgICBlYXgNCj4gPiA+ID4gPiArICAgIG1vdiAgICAgZXNwLCBlYXggICAgOyBSZXN0b3Jl IHN0YWNrIHRvcA0KPiA+ID4gPiA+ICsgICAgam1wICAgICAlJURvSXJldA0KPiA+ID4gPiA+ICsl ZW5kbWFjcm8NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gK2dsb2JhbCBBU01fUEZYKENvbW1vblRh c2tTd3RpY2hFbnRyeVBvaW50KQ0KPiA+ID4gPiA+ICtBU01fUEZYKENvbW1vblRhc2tTd3RpY2hF bnRyeVBvaW50KToNCj4gPiA+ID4gPiArICAgIDsNCj4gPiA+ID4gPiArICAgIDsgU3RhY2s6DQo+ ID4gPiA+ID4gKyAgICA7ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0rIDwtLSBFQlAgLSA4DQo+ID4g PiA+ID4gKyAgICA7ICsgICAgICAgVFNTIEJhc2UgICAgICArDQo+ID4gPiA+ID4gKyAgICA7ICst LS0tLS0tLS0tLS0tLS0tLS0tLS0rIDwtLSBFQlAgLSA0DQo+ID4gPiA+ID4gKyAgICA7ICsgICAg ICBDUFVJRC5FRFggICAgICArDQo+ID4gPiA+ID4gKyAgICA7ICstLS0tLS0tLS0tLS0tLS0tLS0t LS0rIDwtLSBFQlANCj4gPiA+ID4gPiArICAgIDsgKyAgICAgICAgIEVJUCAgICAgICAgICsNCj4g PiA+ID4gPiArICAgIDsgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLSsgPC0tIEVCUCArIDQNCj4gPiA+ ID4gPiArICAgIDsgKyAgICBWZWN0b3IgTnVtYmVyICAgICsNCj4gPiA+ID4gPiArICAgIDsgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLSsgPC0tIEVCUCArIDgNCj4gPiA+ID4gPiArICAgIDsgKyAgICBF cnJvciBDb2RlICAgICAgICsNCj4gPiA+ID4gPiArICAgIDsgKy0tLS0tLS0tLS0tLS0tLS0tLS0t LSsNCj4gPiA+ID4gPiArICAgIDsNCj4gPiA+ID4gPiArOw0KPiA+ID4gPiA+ICs7IEdldCBUU1Mg b2YgaW50ZXJydXB0ZWQgdGFzaw0KPiA+ID4gPiA+ICs7DQo+ID4gPiA+ID4gKyAgICBtb3YgICAg IGVicCwgZXNwICAgICAgICAgICAgICAgICAgICA7IFN0YWNrIGZyYW1lDQo+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ICs7IFVzZSBDUFVJRCB0byBkZXRlcm1pbmUgaWYgRlhTQVZFL0ZYUkVTVE9SIGFu ZCBERSBhcmUgc3VwcG9ydGVkDQo+ID4gPiA+ID4gKyAgICBtb3YgICAgIGVheCwgMQ0KPiA+ID4g PiA+ICsgICAgY3B1aWQNCj4gPiA+ID4gPiArICAgIHB1c2ggICAgZWR4DQo+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ICs7IEdldCBUU1MgYmFzZSBvZiBpbnRlcnJ1cHRlZCB0YXNrIHRocm91Z2ggUHJl dmlvdXNUYXNrTGluayBmaWVsZCBpbg0KPiA+ID4gPiA+ICs7IGN1cnJlbnQgVFNTIGJhc2UNCj4g PiA+ID4gPiArICAgIHN1YiAgICAgZXNwLCA4DQo+ID4gPiA+ID4gKyAgICBzZ2R0ICAgIFtlc3Ag KyAyXQ0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBlYXgsIFtlc3AgKyA0XSAgICAgICAgICAgICAg OyBHRFQgYmFzZQ0KPiA+ID4gPiA+ICsgICAgYWRkICAgICBlc3AsIDgNCj4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gKyAgICB4b3IgICAgIGVieCwgZWJ4DQo+ID4gPiA+ID4gKyAgICBzdHIgICAgIGJ4 ICAgICAgICAgICAgICAgICAgICAgICAgICA7IEN1cnJlbnQgVFINCj4gPiA+ID4gPiArDQo+ID4g PiA+ID4gKyAgICBtb3YgICAgIGVjeCwgW2VheCArIGVieCArIDJdDQo+ID4gPiA+ID4gKyAgICBz aGwgICAgIGVjeCwgOA0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBjbCwgW2VheCArIGVieCArIDdd DQo+ID4gPiA+ID4gKyAgICByb3IgICAgIGVjeCwgOCAgICAgICAgICAgICAgICAgICAgICA7IGVj eCA9IEN1cnJlbnQgVFNTIGJhc2UNCj4gPiA+ID4gPiArICAgIHB1c2ggICAgZWN4ICAgICAgICAg ICAgICAgICAgICAgICAgIDsga2VlcCBpdCBpbiBzdGFjayBmb3IgbGF0ZXINCj4gPiB1c2UNCj4g PiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICBtb3Z6eCAgIGVieCwgd29yZCBbZWN4XSAgICAgICAg ICAgICA7IFByZXZpb3VzIFRhc2sgTGluaw0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBlY3gsIFtl YXggKyBlYnggKyAyXQ0KPiA+ID4gPiA+ICsgICAgc2hsICAgICBlY3gsIDgNCj4gPiA+ID4gPiAr ICAgIG1vdiAgICAgY2wsIFtlYXggKyBlYnggKyA3XQ0KPiA+ID4gPiA+ICsgICAgcm9yICAgICBl Y3gsIDggICAgICAgICAgICAgICAgICAgICAgOyBlY3ggPSBQcmV2aW91cyBUU1MgYmFzZQ0KPiA+ ID4gPiA+ICsNCj4gPiA+ID4gPiArOw0KPiA+ID4gPiA+ICs7IEFsaWduIHN0YWNrIHRvIG1ha2Ug c3VyZSB0aGF0IEVGSV9GWF9TQVZFX1NUQVRFX0lBMzIgb2YNCj4gPiA+ID4gPiBFRklfU1lTVEVN X0NPTlRFWFRfSUEzMg0KPiA+ID4gPiA+ICs7IGlzIDE2LWJ5dGUgYWxpZ25lZA0KPiA+ID4gPiA+ ICs7DQo+ID4gPiA+ID4gKyAgICBhbmQgICAgIGVzcCwgMHhmZmZmZmZmMA0KPiA+ID4gPiA+ICsg ICAgc3ViICAgICBlc3AsIDEyDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICs7OyBVSU5UMzIgIEVk aSwgRXNpLCBFYnAsIEVzcCwgRWJ4LCBFZHgsIEVjeCwgRWF4Ow0KPiA+ID4gPiA+ICsgICAgcHVz aCAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuX0VBWF0NCj4gPiA+ID4gPiArICAgIHB1c2ggICAg ZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FQ1hdDQo+ID4gPiA+ID4gKyAgICBwdXNoICAgIGR3b3Jk IFtlY3ggKyBJQTMyX1RTUy5fRURYXQ0KPiA+ID4gPiA+ICsgICAgcHVzaCAgICBkd29yZCBbZWN4 ICsgSUEzMl9UU1MuX0VCWF0NCj4gPiA+ID4gPiArICAgIHB1c2ggICAgZHdvcmQgW2VjeCArIElB MzJfVFNTLl9FU1BdDQo+ID4gPiA+ID4gKyAgICBwdXNoICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RT Uy5fRUJQXQ0KPiA+ID4gPiA+ICsgICAgcHVzaCAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuX0VT SV0NCj4gPiA+ID4gPiArICAgIHB1c2ggICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FREldDQo+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICs7OyBVSU5UMzIgIEdzLCBGcywgRXMsIERzLCBDcywgU3M7 DQo+ID4gPiA+ID4gKyAgICBtb3Z6eCAgIGVheCwgd29yZCBbZWN4ICsgSUEzMl9UU1MuX1NTXQ0K PiA+ID4gPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiA+ID4gPiArICAgIG1vdnp4ICAgZWF4LCB3 b3JkIFtlY3ggKyBJQTMyX1RTUy5fQ1NdDQo+ID4gPiA+ID4gKyAgICBwdXNoICAgIGVheA0KPiA+ ID4gPiA+ICsgICAgbW92enggICBlYXgsIHdvcmQgW2VjeCArIElBMzJfVFNTLl9EU10NCj4gPiA+ ID4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gPiA+ID4gKyAgICBtb3Z6eCAgIGVheCwgd29yZCBb ZWN4ICsgSUEzMl9UU1MuX0VTXQ0KPiA+ID4gPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiA+ID4g PiArICAgIG1vdnp4ICAgZWF4LCB3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRlNdDQo+ID4gPiA+ID4g KyAgICBwdXNoICAgIGVheA0KPiA+ID4gPiA+ICsgICAgbW92enggICBlYXgsIHdvcmQgW2VjeCAr IElBMzJfVFNTLl9HU10NCj4gPiA+ID4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ICs7OyBVSU5UMzIgIEVpcDsNCj4gPiA+ID4gPiArICAgIHB1c2ggICAgZHdvcmQg W2VjeCArIElBMzJfVFNTLkVJUF0NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKzs7IFVJTlQzMiAg R2R0clsyXSwgSWR0clsyXTsNCj4gPiA+ID4gPiArICAgIHN1YiAgICAgZXNwLCA4DQo+ID4gPiA+ ID4gKyAgICBzaWR0ICAgIFtlc3BdDQo+ID4gPiA+ID4gKyAgICBtb3YgICAgIGVheCwgW2VzcCAr IDJdDQo+ID4gPiA+ID4gKyAgICB4Y2hnICAgIGVheCwgW2VzcF0NCj4gPiA+ID4gPiArICAgIGFu ZCAgICAgZWF4LCAweEZGRkYNCj4gPiA+ID4gPiArICAgIG1vdiAgICAgW2VzcCs0XSwgZWF4DQo+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgc3ViICAgICBlc3AsIDgNCj4gPiA+ID4gPiArICAg IHNnZHQgICAgW2VzcF0NCj4gPiA+ID4gPiArICAgIG1vdiAgICAgZWF4LCBbZXNwICsgMl0NCj4g PiA+ID4gPiArICAgIHhjaGcgICAgZWF4LCBbZXNwXQ0KPiA+ID4gPiA+ICsgICAgYW5kICAgICBl YXgsIDB4RkZGRg0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBbZXNwKzRdLCBlYXgNCj4gPiA+ID4g PiArDQo+ID4gPiA+ID4gKzs7IFVJTlQzMiAgTGR0ciwgVHI7DQo+ID4gPiA+ID4gKyAgICBtb3Yg ICAgIGVheCwgZWJ4ICAgIDsgZWJ4IHN0aWxsIGtlZXBzIHNlbGVjdG9yIG9mIGludGVycnVwdGVk IHRhc2sNCj4gPiA+ID4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gPiA+ID4gKyAgICBtb3Z6eCAg IGVheCwgd29yZCBbZWN4ICsgSUEzMl9UU1MuTERUXQ0KPiA+ID4gPiA+ICsgICAgcHVzaCAgICBl YXgNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKzs7IFVJTlQzMiAgRUZsYWdzOw0KPiA+ID4gPiA+ ICsgICAgcHVzaCAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuRUZMQUdTXQ0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiArOzsgVUlOVDMyICBDcjAsIENyMSwgQ3IyLCBDcjMsIENyNDsNCj4gPiA+ID4g PiArICAgIG1vdiAgICAgZWF4LCBjcjQNCj4gPiA+ID4gPiArICAgIHB1c2ggICAgZWF4ICAgICAg ICAgICAgIDsgcHVzaCBjcjQgZmlyc3RseQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgIG1v diAgICAgZWR4LCBbZWJwIC0gNF0gIDsgY3B1aWQuZWR4DQo+ID4gPiA+ID4gKyAgICB0ZXN0ICAg IGVkeCwgQklUMjQgICAgICA7IFRlc3QgZm9yIEZYU0FWRS9GWFJFU1RPUiBzdXBwb3J0DQo+ID4g PiA+ID4gKyAgICBqeiAgICAgIC4xDQo+ID4gPiA+ID4gKyAgICBvciAgICAgIGVheCwgQklUOSAg ICAgICA7IFNldCBDUjQuT1NGWFNSDQo+ID4gPiA+ID4gKy4xOg0KPiA+ID4gPiA+ICsgICAgdGVz dCAgICBlZHgsIEJJVDIgICAgICAgOyBUZXN0IGZvciBEZWJ1Z2dpbmcgRXh0ZW5zaW9ucyBzdXBw b3J0DQo+ID4gPiA+ID4gKyAgICBqeiAgICAgIC4yDQo+ID4gPiA+ID4gKyAgICBvciAgICAgIGVh eCwgQklUMyAgICAgICA7IFNldCBDUjQuREUNCj4gPiA+ID4gPiArLjI6DQo+ID4gPiA+ID4gKyAg ICBtb3YgICAgIGNyNCwgZWF4DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBl YXgsIGNyMw0KPiA+ID4gPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiA+ID4gPiArICAgIG1vdiAg ICAgZWF4LCBjcjINCj4gPiA+ID4gPiArICAgIHB1c2ggICAgZWF4DQo+ID4gPiA+ID4gKyAgICB4 b3IgICAgIGVheCwgZWF4DQo+ID4gPiA+ID4gKyAgICBwdXNoICAgIGVheA0KPiA+ID4gPiA+ICsg ICAgbW92ICAgICBlYXgsIGNyMA0KPiA+ID4gPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiA+ID4g PiArDQo+ID4gPiA+ID4gKzs7IFVJTlQzMiAgRHIwLCBEcjEsIERyMiwgRHIzLCBEcjYsIERyNzsN Cj4gPiA+ID4gPiArICAgIG1vdiAgICAgZWF4LCBkcjcNCj4gPiA+ID4gPiArICAgIHB1c2ggICAg ZWF4DQo+ID4gPiA+ID4gKyAgICBtb3YgICAgIGVheCwgZHI2DQo+ID4gPiA+ID4gKyAgICBwdXNo ICAgIGVheA0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBlYXgsIGRyMw0KPiA+ID4gPiA+ICsgICAg cHVzaCAgICBlYXgNCj4gPiA+ID4gPiArICAgIG1vdiAgICAgZWF4LCBkcjINCj4gPiA+ID4gPiAr ICAgIHB1c2ggICAgZWF4DQo+ID4gPiA+ID4gKyAgICBtb3YgICAgIGVheCwgZHIxDQo+ID4gPiA+ ID4gKyAgICBwdXNoICAgIGVheA0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBlYXgsIGRyMA0KPiA+ ID4gPiA+ICsgICAgcHVzaCAgICBlYXgNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKzs7IEZYX1NB VkVfU1RBVEVfSUEzMiBGeFNhdmVTdGF0ZTsNCj4gPiA+ID4gPiArOzsgQ2xlYXIgVFMgYml0IGlu IENSMCB0byBhdm9pZCBEZXZpY2UgTm90IEF2YWlsYWJsZSBFeGNlcHRpb24gKCNOTSkNCj4gPiA+ ID4gPiArOzsgd2hlbiBleGVjdXRpbmcgZnhzYXZlL2Z4cnN0b3IgaW5zdHJ1Y3Rpb24NCj4gPiA+ ID4gPiArICAgIHRlc3QgICAgZWR4LCBCSVQyNCAgOyBUZXN0IGZvciBGWFNBVkUvRlhSRVNUT1Ig c3VwcG9ydC4NCj4gPiA+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgOyBlZHggc3RpbGwg Y29udGFpbnMgcmVzdWx0IGZyb20gQ1BVSUQgYWJvdmUNCj4gPiA+ID4gPiArICAgIGp6ICAgICAg LjMNCj4gPiA+ID4gPiArICAgIGNsdHMNCj4gPiA+ID4gPiArICAgIHN1YiAgICAgZXNwLCA1MTIN Cj4gPiA+ID4gPiArICAgIG1vdiAgICAgZWRpLCBlc3ANCj4gPiA+ID4gPiArICAgIGRiICAgICAg MHhmLCAweGFlLCAweDcgO2Z4c2F2ZSBbZWRpXQ0KPiA+ID4gPiA+ICsuMzoNCj4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gKzs7IFVJTlQzMiAgRXhjZXB0aW9uRGF0YTsNCj4gPiA+ID4gPiArICAgIHB1 c2ggICAgZHdvcmQgW2VicCArIDhdDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICs7OyBVRUZJIGNh bGxpbmcgY29udmVudGlvbiBmb3IgSUEzMiByZXF1aXJlcyB0aGF0IERpcmVjdGlvbiBmbGFnIGlu IEVGTEFHcw0KPiBpcw0KPiA+ID4gY2xlYXINCj4gPiA+ID4gPiArICAgIGNsZA0KPiA+ID4gPiA+ ICsNCj4gPiA+ID4gPiArOzsgY2FsbCBpbnRvIGV4Y2VwdGlvbiBoYW5kbGVyDQo+ID4gPiA+ID4g KyAgICBtb3YgICAgIGVzaSwgZWN4ICAgICAgICAgICAgOyBLZWVwIFRTUyBiYXNlIHRvIGF2b2lk IG92ZXJ3cml0ZQ0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBlYXgsIEFTTV9QRlgoQ29tbW9uRXhj ZXB0aW9uSGFuZGxlcikNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKzs7IFByZXBhcmUgcGFyYW1l dGVyIGFuZCBjYWxsDQo+ID4gPiA+ID4gKyAgICBtb3YgICAgIGVkeCwgZXNwDQo+ID4gPiA+ID4g KyAgICBwdXNoICAgIGVkeCAgICAgICAgICAgICAgICAgOyBFRklfU1lTVEVNX0NPTlRFWFQNCj4g PiA+ID4gPiArICAgIHB1c2ggICAgZHdvcmQgW2VicCArIDRdICAgICA7IEVGSV9FWENFUFRJT05f VFlQRSAodmVjdG9yDQo+ID4gbnVtYmVyKQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICAgIDsN Cj4gPiA+ID4gPiArICAgIDsgQ2FsbCBFeHRlcm5hbCBFeGNlcHRpb24gSGFuZGxlcg0KPiA+ID4g PiA+ICsgICAgOw0KPiA+ID4gPiA+ICsgICAgY2FsbCAgICBlYXgNCj4gPiA+ID4gPiArICAgIGFk ZCAgICAgZXNwLCA4ICAgICAgICAgICAgICA7IFJlc3RvcmUgc3RhY2sgYmVmb3JlIGNhbGxpbmcN Cj4gPiA+ID4gPiArICAgIG1vdiAgICAgZWN4LCBlc2kgICAgICAgICAgICA7IFJlc3RvcmUgVFNT IGJhc2UNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKzs7IFVJTlQzMiAgRXhjZXB0aW9uRGF0YTsN Cj4gPiA+ID4gPiArICAgIGFkZCAgICAgZXNwLCA0DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICs7 OyBGWF9TQVZFX1NUQVRFX0lBMzIgRnhTYXZlU3RhdGU7DQo+ID4gPiA+ID4gKyAgICBtb3YgICAg IGVkeCwgW2VicCAtIDRdICA7IGNwdWlkLmVkeA0KPiA+ID4gPiA+ICsgICAgdGVzdCAgICBlZHgs IEJJVDI0ICAgICAgOyBUZXN0IGZvciBGWFNBVkUvRlhSRVNUT1Igc3VwcG9ydA0KPiA+ID4gPiA+ ICsgICAganogICAgICAuNA0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBlc2ksIGVzcA0KPiA+ID4g PiA+ICsgICAgZGIgICAgICAweGYsIDB4YWUsIDB4ZSAgOyBmeHJzdG9yIFtlc2ldDQo+ID4gPiA+ ID4gKy40Og0KPiA+ID4gPiA+ICsgICAgYWRkICAgICBlc3AsIDUxMg0KPiA+ID4gPiA+ICsNCj4g PiA+ID4gPiArOzsgVUlOVDMyICBEcjAsIERyMSwgRHIyLCBEcjMsIERyNiwgRHI3OyA7OyBTa2lw IHJlc3RvcmF0aW9uIG9mIERSeA0KPiA+ID4gPiA+ICtyZWdpc3RlcnMgdG8gc3VwcG9ydCBkZWJ1 Z2dlcnMgOzsgdGhhdCBzZXQgYnJlYWtwb2ludHMgaW4NCj4gPiA+ID4gPiAraW50ZXJydXB0L2V4 Y2VwdGlvbiBjb250ZXh0DQo+ID4gPiA+ID4gKyAgICBhZGQgICAgIGVzcCwgNCAqIDYNCj4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gKzs7IFVJTlQzMiAgQ3IwLCBDcjEsIENyMiwgQ3IzLCBDcjQ7DQo+ ID4gPiA+ID4gKyAgICBwb3AgICAgIGVheA0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBjcjAsIGVh eA0KPiA+ID4gPiA+ICsgICAgYWRkICAgICBlc3AsIDQgICAgOyBub3QgZm9yIENyMQ0KPiA+ID4g PiA+ICsgICAgcG9wICAgICBlYXgNCj4gPiA+ID4gPiArICAgIG1vdiAgICAgY3IyLCBlYXgNCj4g PiA+ID4gPiArICAgIHBvcCAgICAgZWF4DQo+ID4gPiA+ID4gKyAgICBtb3YgICAgIGR3b3JkIFtl Y3ggKyBJQTMyX1RTUy5fQ1IzXSwgZWF4DQo+ID4gPiA+ID4gKyAgICBwb3AgICAgIGVheA0KPiA+ ID4gPiA+ICsgICAgbW92ICAgICBjcjQsIGVheA0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArOzsg VUlOVDMyICBFRmxhZ3M7DQo+ID4gPiA+ID4gKyAgICBwb3AgICAgIGR3b3JkIFtlY3ggKyBJQTMy X1RTUy5FRkxBR1NdDQo+ID4gPiA+ID4gKyAgICBtb3YgICAgIGVieCwgZHdvcmQgW2VjeCArIElB MzJfVFNTLkVGTEFHU10NCj4gPiA+ID4gPiArICAgIGJ0ciAgICAgZWJ4LCA5ICAgICAgOyBEbyAn Y2xpJw0KPiA+ID4gPiA+ICsgICAgbW92ICAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuRUZMQUdT XSwgZWJ4DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICs7OyBVSU5UMzIgIExkdHIsIFRyOw0KPiA+ ID4gPiA+ICs7OyBVSU5UMzIgIEdkdHJbMl0sIElkdHJbMl07DQo+ID4gPiA+ID4gKzs7IEJlc3Qg bm90IGxldCBhbnlvbmUgbWVzcyB3aXRoIHRoZXNlIHBhcnRpY3VsYXIgcmVnaXN0ZXJzLi4uDQo+ ID4gPiA+ID4gKyAgICBhZGQgICAgIGVzcCwgMjQNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKzs7 IFVJTlQzMiAgRWlwOw0KPiA+ID4gPiA+ICsgICAgcG9wICAgICBkd29yZCBbZWN4ICsgSUEzMl9U U1MuRUlQXQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArOzsgVUlOVDMyICBHcywgRnMsIEVzLCBE cywgQ3MsIFNzOw0KPiA+ID4gPiA+ICs7OyBOT1RFIC0gbW9kaWZpZWQgc2VnbWVudCByZWdpc3Rl cnMgY291bGQgaGFuZyB0aGUgZGVidWdnZXIuLi4gIFdlDQo+ID4gPiA+ID4gKzs7ICAgICAgICBj b3VsZCBhdHRlbXB0IHRvIGluc3VsYXRlIG91cnNlbHZlcyBhZ2FpbnN0IHRoaXMgcG9zc2liaWxp dHksDQo+ID4gPiA+ID4gKzs7ICAgICAgICBidXQgdGhhdCBwb3NlcyByaXNrcyBhcyB3ZWxsLg0K PiA+ID4gPiA+ICs7Ow0KPiA+ID4gPiA+ICsgICAgcG9wICAgICBlYXgNCj4gPiA+ID4gPiArbzE2 IG1vdiAgICAgW2VjeCArIElBMzJfVFNTLl9HU10sIGF4DQo+ID4gPiA+ID4gKyAgICBwb3AgICAg IGVheA0KPiA+ID4gPiA+ICtvMTYgbW92ICAgICBbZWN4ICsgSUEzMl9UU1MuX0ZTXSwgYXgNCj4g PiA+ID4gPiArICAgIHBvcCAgICAgZWF4DQo+ID4gPiA+ID4gK28xNiBtb3YgICAgIFtlY3ggKyBJ QTMyX1RTUy5fRVNdLCBheA0KPiA+ID4gPiA+ICsgICAgcG9wICAgICBlYXgNCj4gPiA+ID4gPiAr bzE2IG1vdiAgICAgW2VjeCArIElBMzJfVFNTLl9EU10sIGF4DQo+ID4gPiA+ID4gKyAgICBwb3Ag ICAgIGVheA0KPiA+ID4gPiA+ICtvMTYgbW92ICAgICBbZWN4ICsgSUEzMl9UU1MuX0NTXSwgYXgN Cj4gPiA+ID4gPiArICAgIHBvcCAgICAgZWF4DQo+ID4gPiA+ID4gK28xNiBtb3YgICAgIFtlY3gg KyBJQTMyX1RTUy5fU1NdLCBheA0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArOzsgVUlOVDMyICBF ZGksIEVzaSwgRWJwLCBFc3AsIEVieCwgRWR4LCBFY3gsIEVheDsNCj4gPiA+ID4gPiArICAgIHBv cCAgICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FREldDQo+ID4gPiA+ID4gKyAgICBwb3AgICAg IGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRVNJXQ0KPiA+ID4gPiA+ICsgICAgYWRkICAgICBlc3As IDQgICA7IG5vdCBmb3IgZWJwDQo+ID4gPiA+ID4gKyAgICBhZGQgICAgIGVzcCwgNCAgIDsgbm90 IGZvciBlc3ANCj4gPiA+ID4gPiArICAgIHBvcCAgICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9F QlhdDQo+ID4gPiA+ID4gKyAgICBwb3AgICAgIGR3b3JkIFtlY3ggKyBJQTMyX1RTUy5fRURYXQ0K PiA+ID4gPiA+ICsgICAgcG9wICAgICBkd29yZCBbZWN4ICsgSUEzMl9UU1MuX0VDWF0NCj4gPiA+ ID4gPiArICAgIHBvcCAgICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FQVhdDQo+ID4gPiA+ID4g Kw0KPiA+ID4gPiA+ICs7IFNldCBzaW5nbGUgc3RlcCBEQiMgdG8gYWxsb3cgZGVidWdnZXIgdG8g YWJsZSB0byBnbyBiYWNrIHRvIHRoZSBFSVANCj4gPiA+ID4gPiArOyB3aGVyZSB0aGUgZXhjZXB0 aW9uIGlzIHRyaWdnZXJlZC4NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKzs7IENyZWF0ZSByZXR1 cm4gY29udGV4dCBmb3IgaXJldGQgaW4gc3R1YiBmdW5jdGlvbg0KPiA+ID4gPiA+ICsgICAgbW92 ICAgIGVheCwgZHdvcmQgW2VjeCArIElBMzJfVFNTLl9FU1BdICAgICAgOyBHZXQgb2xkIHN0YWNr DQo+ID4gcG9pbnRlcg0KPiA+ID4gPiA+ICsgICAgbW92ICAgIGVieCwgZHdvcmQgW2VjeCArIElB MzJfVFNTLkVJUF0NCj4gPiA+ID4gPiArICAgIG1vdiAgICBbZWF4IC0gMHhjXSwgZWJ4ICAgICAg ICAgICAgICAgICAgICAgIDsgY3JlYXRlIEVJUCBpbiBvbGQNCj4gPiBzdGFjaw0KPiA+ID4gPiA+ ICsgICAgbW92enggIGVieCwgd29yZCBbZWN4ICsgSUEzMl9UU1MuX0NTXQ0KPiA+ID4gPiA+ICsg ICAgbW92ICAgIFtlYXggLSAweDhdLCBlYnggICAgICAgICAgICAgICAgICAgICAgOyBjcmVhdGUg Q1MgaW4gb2xkDQo+ID4gc3RhY2sNCj4gPiA+ID4gPiArICAgIG1vdiAgICBlYngsIGR3b3JkIFtl Y3ggKyBJQTMyX1RTUy5FRkxBR1NdDQo+ID4gPiA+ID4gKyAgICBidHMgICAgZWJ4LCA4DQo+ID4g PiA+ID4gKyAgICBtb3YgICAgW2VheCAtIDB4NF0sIGVieCAgICAgICAgICAgICAgICAgICAgICA7 IGNyZWF0ZSBlZmxhZ3MgaW4gb2xkDQo+ID4gPiA+IHN0YWNrDQo+ID4gPiA+ID4gKyAgICBtb3Yg ICAgZHdvcmQgW2VjeCArIElBMzJfVFNTLkVGTEFHU10sIGVieCAgICA7IHVwZGF0ZSBlZmxhZ3Mg aW4NCj4gPiBvbGQNCj4gPiA+ID4gVFNTDQo+ID4gPiA+ID4gKyAgICBtb3YgICAgZWF4LCBkd29y ZCBbZWN4ICsgSUEzMl9UU1MuX0VTUF0gICAgICA7IEdldCBvbGQgc3RhY2sNCj4gPiBwb2ludGVy DQo+ID4gPiA+ID4gKyAgICBzdWIgICAgZWF4LCAweGMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA7IG1pbnVzIDEyIGJ5dGUNCj4gPiA+ID4gPiArICAgIG1vdiAgICBkd29yZCBbZWN4ICsg SUEzMl9UU1MuX0VTUF0sIGVheCAgICAgIDsgU2V0IG5ldyBzdGFjaw0KPiA+IHBvaW50ZXINCj4g PiA+ID4gPiArDQo+ID4gPiA+ID4gKzs7IFJlcGxhY2UgdGhlIEVJUCBvZiBpbnRlcnJ1cHRlZCB0 YXNrIHdpdGggc3R1YiBmdW5jdGlvbg0KPiA+ID4gPiA+ICsgICAgbW92ICAgIGVheCwgQVNNX1BG WChTaW5nbGVTdGVwU3R1YkZ1bmN0aW9uKQ0KPiA+ID4gPiA+ICsgICAgbW92ICAgIGR3b3JkIFtl Y3ggKyBJQTMyX1RTUy5FSVBdLCBlYXgNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICBtb3Yg ICAgIGVjeCwgW2VicCAtIDhdICAgICAgICAgICAgICAgICAgICAgICA7IEdldCBjdXJyZW50IFRT Uw0KPiA+IGJhc2UNCj4gPiA+ID4gPiArICAgIG1vdiAgICAgZWF4LCBkd29yZCBbZWN4ICsgSUEz Ml9UU1MuX0VTUF0gICAgIDsgUmV0dXJuIGN1cnJlbnQNCj4gPiBzdGFjaw0KPiA+ID4gPiB0b3AN Cj4gPiA+ID4gPiArICAgIG1vdiAgICAgZXNwLCBlYnANCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4g KyAgICByZXQNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gK2dsb2JhbCBBU01fUEZYKFNpbmdsZVN0 ZXBTdHViRnVuY3Rpb24pDQo+ID4gPiA+ID4gK0FTTV9QRlgoU2luZ2xlU3RlcFN0dWJGdW5jdGlv bik6DQo+ID4gPiA+ID4gKzsNCj4gPiA+ID4gPiArOyB3ZSBuZWVkIGNsZWFuIFRTIGJpdCBpbiBD UjAgdG8gZXhlY3V0ZSA7IHg4Nw0KPiA+ID4gPiA+ICtGUFUvTU1YL1NTRS9TU0UyL1NTRTMvU1NT RTMvU1NFNCBpbnN0cnVjdGlvbnMuDQo+ID4gPiA+ID4gKzsNCj4gPiA+ID4gPiArICAgIGNsdHMN Cj4gPiA+ID4gPiArICAgIGlyZXRkDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICs7LS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gPiA+ID4gPiArLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ICs7IFZPSUQNCj4gPiA+ID4gPiAr OyBBc21Xcml0ZVRyICgNCj4gPiA+ID4gPiArOyAgIFVJTlQxNiBTZWxlY3Rvcg0KPiA+ID4gPiA+ ICs7ICAgKTsNCj4gPiA+ID4gPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ID4gPiA+ID4gKy0tLS0tLS0tLS0N Cj4gPiA+ID4gPiArZ2xvYmFsIEFTTV9QRlgoQXNtV3JpdGVUcikNCj4gPiA+ID4gPiArQVNNX1BG WChBc21Xcml0ZVRyKToNCj4gPiA+ID4gPiArICAgIG1vdiAgICAgZWF4LCBbZXNwKzRdDQo+ID4g PiA+ID4gKyAgICBsdHIgICAgIGF4DQo+ID4gPiA+ID4gKyAgICByZXQNCj4gPiA+ID4gPiArDQo+ ID4gPiA+ID4gK0RlZkV4Y2VwdGlvblRhc2tTd3RpY2hFbnRyeSA2DQo+ID4gPiA+ID4gK0RlZkV4 Y2VwdGlvblRhc2tTd3RpY2hFbnRyeSA4DQo+ID4gPiA+ID4gK0RlZkV4Y2VwdGlvblRhc2tTd3Rp Y2hFbnRyeSAxMg0KPiA+ID4gPiA+ICtEZWZFeGNlcHRpb25UYXNrU3d0aWNoRW50cnkgMTMNCj4g PiA+ID4gPiArRGVmRXhjZXB0aW9uVGFza1N3dGljaEVudHJ5IDE0DQo+ID4gPiA+ID4gK0RlZkV4 Y2VwdGlvblRhc2tTd3RpY2hFbnRyeSAxNw0KPiA+ID4gPiA+ICtEZWZFeGNlcHRpb25UYXNrU3d0 aWNoRW50cnkgMTgNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+ DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9QZWlDcHVF eGNlcHRpb25IYW5kbGVyTGliLg0KPiA+ID4gPiA+IGluZg0KPiA+ID4gPiA+DQo+ID4gYi9VZWZp Q3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9QZWlDcHVFeGNlcHRpb25IYW5k bGVyTGliLg0KPiA+ID4gPiA+IGluZg0KPiA+ID4gPiA+IGluZGV4IDc1NDQzMjg4YTkuLjRjMGQ0 MzUxMzYgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4NCj4gPiBhL1VlZmlDcHVQa2cv TGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1BlaUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIu DQo+ID4gPiA+ID4gaW5mDQo+ID4gPiA+ID4gKysrDQo+ID4gPiA+ID4NCj4gPiBiL1VlZmlDcHVQ a2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1BlaUNwdUV4Y2VwdGlvbkhhbmRsZXJM aWIuDQo+ID4gPiA+ID4gaW5mDQo+ID4gPiA+ID4gQEAgLTMwLDYgKzMwLDcgQEANCj4gPiA+ID4g PiAgW1NvdXJjZXMuSWEzMl0NCj4gPiA+ID4gPiAgICBJYTMyL0V4Y2VwdGlvbkhhbmRsZXJBc20u YXNtDQo+ID4gPiA+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5kbGVyQXNtLm5hc20NCj4gPiA+ID4g PiArICBJYTMyL0V4Y2VwdGlvblRzc0VudHJ5QXNtLm5hc20NCj4gPiA+ID4gPiAgICBJYTMyL0V4 Y2VwdGlvbkhhbmRsZXJBc20uUw0KPiA+ID4gPiA+ICAgIElhMzIvQXJjaEV4Y2VwdGlvbkhhbmRs ZXIuYw0KPiA+ID4gPiA+ICAgIElhMzIvQXJjaEludGVycnVwdERlZnMuaA0KPiA+ID4gPiA+IGRp ZmYgLS1naXQNCj4gPiA+ID4gPg0KPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlv bkhhbmRsZXJMaWIvU2VjUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckwNCj4gPiA+ID4gPiBpYi5pDQo+ ID4gPiA+ID4gbmYNCj4gPiA+ID4gPg0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2Vw dGlvbkhhbmRsZXJMaWIvU2VjUGVpQ3B1RXhjZXB0aW9uSGFuZGxlckwNCj4gPiA+ID4gPiBpYi5p DQo+ID4gPiA+ID4gbmYNCj4gPiA+ID4gPiBpbmRleCBkNzBhOTljMTAwLi5hZGI0MTViYTVhIDEw MDY0NA0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkv Q3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TZWNQZWlDcHVFeGNlcHRpb25IYW5kbGVyTA0KPiA+ID4g PiA+IGliLmkNCj4gPiA+ID4gPiBuZg0KPiA+ID4gPiA+ICsrKw0KPiA+ID4gPiA+DQo+ID4gYi9V ZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TZWNQZWlDcHVFeGNlcHRp b25IYW5kbGVyTA0KPiA+ID4gPiA+IGliLmkNCj4gPiA+ID4gPiBuZg0KPiA+ID4gPiA+IEBAIC0z MCw2ICszMCw3IEBADQo+ID4gPiA+ID4gIFtTb3VyY2VzLklhMzJdDQo+ID4gPiA+ID4gICAgSWEz Mi9FeGNlcHRpb25IYW5kbGVyQXNtLmFzbQ0KPiA+ID4gPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFu ZGxlckFzbS5uYXNtDQo+ID4gPiA+ID4gKyAgSWEzMi9FeGNlcHRpb25Uc3NFbnRyeUFzbS5uYXNt DQo+ID4gPiA+ID4gICAgSWEzMi9FeGNlcHRpb25IYW5kbGVyQXNtLlMNCj4gPiA+ID4gPiAgICBJ YTMyL0FyY2hFeGNlcHRpb25IYW5kbGVyLmMNCj4gPiA+ID4gPiAgICBJYTMyL0FyY2hJbnRlcnJ1 cHREZWZzLmgNCj4gPiA+ID4gPiBAQCAtNTcsMyArNTgsNSBAQA0KPiA+ID4gPiA+ICAgIFByaW50 TGliDQo+ID4gPiA+ID4gICAgTG9jYWxBcGljTGliDQo+ID4gPiA+ID4gICAgUGVDb2ZmR2V0RW50 cnlQb2ludExpYg0KPiA+ID4gPiA+ICsgIE1lbW9yeUFsbG9jYXRpb25MaWINCj4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gZGlmZiAtLWdpdA0KPiA+ID4gPiA+DQo+ID4gPg0KPiBhL1VlZmlDcHVQa2cv TGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1NtbUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIu DQo+ID4gPiA+ID4gaW5mDQo+ID4gPiA+ID4NCj4gPiA+DQo+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5 L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvU21tQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi4NCj4gPiA+ ID4gPiBpbmYNCj4gPiA+ID4gPiBpbmRleCA2MzRmZmNiMjFkLi41NmI4NzViN2M4IDEwMDY0NA0K PiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+DQo+ID4gPg0KPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9D cHVFeGNlcHRpb25IYW5kbGVyTGliL1NtbUNwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuDQo+ID4gPiA+ ID4gaW5mDQo+ID4gPiA+ID4gKysrDQo+ID4gPiA+ID4NCj4gPiA+DQo+IGIvVWVmaUNwdVBrZy9M aWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvU21tQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi4N Cj4gPiA+ID4gPiBpbmYNCj4gPiA+ID4gPiBAQCAtMzAsNiArMzAsNyBAQA0KPiA+ID4gPiA+ICBb U291cmNlcy5JYTMyXQ0KPiA+ID4gPiA+ICAgIElhMzIvRXhjZXB0aW9uSGFuZGxlckFzbS5hc20N Cj4gPiA+ID4gPiAgICBJYTMyL0V4Y2VwdGlvbkhhbmRsZXJBc20ubmFzbQ0KPiA+ID4gPiA+ICsg IElhMzIvRXhjZXB0aW9uVHNzRW50cnlBc20ubmFzbQ0KPiA+ID4gPiA+ICAgIElhMzIvRXhjZXB0 aW9uSGFuZGxlckFzbS5TDQo+ID4gPiA+ID4gICAgSWEzMi9BcmNoRXhjZXB0aW9uSGFuZGxlci5j DQo+ID4gPiA+ID4gICAgSWEzMi9BcmNoSW50ZXJydXB0RGVmcy5oDQo+ID4gPiA+ID4gZGlmZiAt LWdpdA0KPiA+ID4gPiA+DQo+ID4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi9YNjQvQXJjaEV4Y2VwdGlvbkhhbmRsZXIuYw0KPiA+ID4gPiA+DQo+ID4gYi9VZWZp Q3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvQXJjaEV4Y2VwdGlvbkhh bmRsZXIuYw0KPiA+ID4gPiA+IGluZGV4IDY1ZjBjZmY2ODAuLjI0ZjJhODQ4NmEgMTAwNjQ0DQo+ ID4gPiA+ID4gLS0tDQo+ID4gPiA+ID4NCj4gPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNl cHRpb25IYW5kbGVyTGliL1g2NC9BcmNoRXhjZXB0aW9uSGFuZGxlci5jDQo+ID4gPiA+ID4gKysr DQo+ID4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvQXJj aEV4Y2VwdGlvbkhhbmRsDQo+ID4gPiA+ID4gKysrIGVyLmMNCj4gPiA+ID4gPiBAQCAtMTQsNiAr MTQsMTkgQEANCj4gPiA+ID4gPg0KPiA+ID4gPiA+ICAjaW5jbHVkZSAiQ3B1RXhjZXB0aW9uQ29t bW9uLmgiDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiArLy8NCj4gPiA+ID4gPiArLy8gTGlzdCBvZiBl eGNlcHRpb25zIG5lZWRpbmcgc2VwYXJhdGUgc3RhY2sgLy8gU1RBVElDIFVJTlRODQo+ID4gPiA+ ID4gK21FeGNlcHRpb25zV2l0aFN0YWNrW10gPSB7DQo+ID4gPiA+ID4gKyAgNiwgIC8vI1VEOiBJ bnZhbGlkIE9wY29kZSBFeGNlcHRpb24NCj4gPiA+ID4gPiArICA4LCAgLy8jREY6IERvdWJsZSBG YXVsdCBFeGNlcHRpb24NCj4gPiA+ID4gPiArICAxMiwgLy8jU1M6IFN0YWNrIEZhdWx0IEV4Y2Vw dGlvbg0KPiA+ID4gPiA+ICsgIDEzLCAvLyNHUDogR2VuZXJhbCBQcm90ZWN0aW9uIEV4Y2VwdGlv bg0KPiA+ID4gPiA+ICsgIDE0LCAvLyNQRjogUGFnZS1GYXVsdCBFeGNlcHRpb24NCj4gPiA+ID4g PiArICAxNywgLy8jQUM6IEFsaWdubWVudCBDaGVjayBFeGNlcHRpb24NCj4gPiA+ID4gPiArICAx OCAgLy8jTUM6IE1hY2hpbmUtQ2hlY2sgRXhjZXB0aW9uDQo+ID4gPiA+ID4gKyAgfTsNCj4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gIC8qKg0KPiA+ID4gPiA+ICAgIFJldHVybiBhZGRyZXNzIG1hcCBv ZiBleGNlcHRpb24gaGFuZGxlciB0ZW1wbGF0ZSBzbyB0aGF0IEMgY29kZSBjYW4NCj4gPiA+ID4g PiBnZW5lcmF0ZQ0KPiA+ID4gPiA+ICAgIGV4Y2VwdGlvbiB0YWJsZXMuDQo+ID4gPiA+ID4gQEAg LTExMiw2ICsxMjUsMTAxIEBAIEFyY2hSZXN0b3JlRXhjZXB0aW9uQ29udGV4dCAoDQo+ID4gPiA+ ID4gICAgU3lzdGVtQ29udGV4dC5TeXN0ZW1Db250ZXh0WDY0LT5FeGNlcHRpb25EYXRhID0NCj4g PiA+ID4gPiBSZXNlcnZlZFZlY3RvcnNbRXhjZXB0aW9uVHlwZV0uRXhjZXB0aW9uRGF0YTsNCj4g PiA+ID4gPiAgfQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKy8qKg0KPiA+ID4gPiA+ICsgIFNldHVw IHNlcGFyYXRlIHN0YWNrIGZvciBzcGVjaWZpYyBleGNlcHRpb25zLg0KPiA+ID4gPiA+ICsNCj4g PiA+ID4gPiArICBAcGFyYW1baW5dIElkdFRhYmxlICAgICAgICBJRFQgdGFibGUgYmFzZS4NCj4g PiA+ID4gPiArKiovDQo+ID4gPiA+ID4gK1ZPSUQNCj4gPiA+ID4gPiArRUZJQVBJDQo+ID4gPiA+ ID4gK0FyY2hTZXR1cEV4Y3BldGlvblN0YWNrICgNCj4gPiA+ID4gPiArICBJTiBJQTMyX0lEVF9H QVRFX0RFU0NSSVBUT1IgICAgICAgICAgICpJZHRUYWJsZQ0KPiA+ID4gPiA+ICsgICkNCj4gPiA+ ID4gPiArew0KPiA+ID4gPiA+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgKk5ld0dkdDsN Cj4gPiA+ID4gPiArICBJQTMyX0RFU0NSSVBUT1IgICAgICAgICAgIEdkdERlc2M7DQo+ID4gPiA+ ID4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBPbGRHZHRTaXplOw0KPiA+ID4gPiA+ICsg IFRTU19FTlRSSUVTICAgICAgICAgICAgICAgKlRzc0VudHJ5Ow0KPiA+ID4gPiA+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgU3RhY2tCYXNlOw0KPiA+ID4gPiA+ICsgIFVJTlROICAgICAg ICAgICAgICAgICAgICAgU3RhY2tUb3A7DQo+ID4gPiA+ID4gKyAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICBTdGFja1NpemU7DQo+ID4gPiA+ID4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICBUc3NCYXNlOw0KPiA+ID4gPiA+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgSW5kZXg7 DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gKyAgLy8gQWxsb2NhdGUg UnVudGltZSBEYXRhIGZvciB0aGUgR0RUICAvLyAgQXNtUmVhZEdkdHIoJkdkdERlc2MpOw0KPiA+ ID4gPiA+ICsgT2xkR2R0U2l6ZSA9IEdkdERlc2MuTGltaXQgKyAxOyAgTmV3R2R0ID0NCj4gPiA+ ID4gPiArIEFsbG9jYXRlUnVudGltZVplcm9Qb29sKE9sZEdkdFNpemUgKyBzaXplb2YoVFNTX0VO VFJJRVMpDQo+ID4gPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKyBJQTMy X0dEVF9BTElHTk1FTlQpOyAgaWYNCj4gPiAoTmV3R2R0DQo+ID4gPiA+ID09DQo+ID4gPiA+ID4g KyBOVUxMKSB7DQo+ID4gPiA+ID4gKyAgICByZXR1cm47DQo+ID4gPiA+ID4gKyAgfQ0KPiA+ID4g PiA+ICsgIE5ld0dkdCA9IEFMSUdOX1BPSU5URVIgKE5ld0dkdCwgSUEzMl9HRFRfQUxJR05NRU5U KTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gPiArICAvLyBJbml0aWFs aXplIG5ldyBHRFQgZW50cmllcw0KPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gKyAgQ29weU1l bShOZXdHZHQsIChWT0lEICopR2R0RGVzYy5CYXNlLCBPbGRHZHRTaXplKTsNCj4gPiBHZHREZXNj LkJhc2UgPQ0KPiA+ID4gPiA+ICsgKFVJTlROKShWT0lEKilOZXdHZHQ7ICBHZHREZXNjLkxpbWl0 ID0gKFVJTlQxNikoT2xkR2R0U2l6ZSArDQo+ID4gPiA+ID4gKyBUU1NfT0ZGU0VUIC0gMSk7DQo+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gKyAgLy8gUmVzZXJ2ZSBzdGF0 Y2sgbWVtb3J5IGZvciBzdXBwb3J0ZWQgZXhjZXB0aW9ucyAgLy8gIFN0YWNrU2l6ZSA9DQo+ID4g PiA+ID4gKyBBUlJBWV9TSVpFIChtRXhjZXB0aW9uc1dpdGhTdGFjaykgKiBFWENFUFRJT05fU1RB Q0tfU0laRTsNCj4gPiBTdGFja1NpemUNCj4gPiA+ID4gPiArID0gRUZJX1BBR0VTX1RPX1NJWkUg KEVGSV9TSVpFX1RPX1BBR0VTIChTdGFja1NpemUpKTsgIFN0YWNrQmFzZSA9DQo+ID4gPiA+ID4g KyAoVUlOVDY0KUFsbG9jYXRlUGFnZXMgKEVGSV9TSVpFX1RPX1BBR0VTIChTdGFja1NpemUpKTsg IGlmDQo+ID4gPiA+ID4gKyAoU3RhY2tCYXNlID09IDApIHsNCj4gPiA+ID4gPiArICAgIEZyZWVQ b29sIChOZXdHZHQpOw0KPiA+ID4gPiA+ICsgICAgcmV0dXJuOw0KPiA+ID4gPiA+ICsgIH0NCj4g PiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gPiArICAvLyBGaXh1cCBUU1MgZGVz Y3JpcHRvcnMNCj4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ICsgIFRzc0VudHJ5ID0gKFZPSUQg KikoR2R0RGVzYy5CYXNlICsgT2xkR2R0U2l6ZSk7ICBUc3NCYXNlID0NCj4gPiA+ID4gPiArIChV SU5UTikoVk9JRCAqKSZUc3NFbnRyeS0+VHNzOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArICBU c3NFbnRyeS0+VHNzU2VnLkxpbWl0MTVfMCAgICAgICAgICAgID0NCj4gPiA+ID4gPiBzaXplb2Yo SUEzMl9UQVNLX1NUQVRFX1NFR01FTlQpIC0gMTsNCj4gPiA+ID4gPiArICBUc3NFbnRyeS0+VHNz U2VnLkJhc2UxNV8wICAgICAgICAgICAgID0gKFVJTlQxNilUc3NCYXNlOw0KPiA+ID4gPiA+ICsg IFRzc0VudHJ5LT5Uc3NTZWcuQmFzZTIzXzE2ICAgICAgICAgICAgPSAoVUlOVDgpKFRzc0Jhc2Ug Pj4gMTYpOw0KPiA+ID4gPiA+ICsgIFRzc0VudHJ5LT5Uc3NTZWcuVHlwZSAgICAgICAgICAgICAg ICAgPSBJQTMyX0dEVF9UWVBFX1RTUzsNCj4gPiA+ID4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkxp bWl0MTlfMTZfYW5kX2ZsYWdzID0gMDsNCj4gPiA+ID4gPiArICBUc3NFbnRyeS0+VHNzU2VnLkJh c2UzMV8yNCAgICAgICAgICAgID0gKFVJTlQ4KShUc3NCYXNlID4+IDI0KTsNCj4gPiA+ID4gPiAr ICBUc3NFbnRyeS0+VHNzU2VnLkJhc2U2M18zMiAgICAgICAgICAgID0gKFVJTlQzMikoVHNzQmFz ZSA+PiAzMik7DQo+ID4gPiA+ID4gKyAgVHNzRW50cnktPlRzc1NlZy5SZXNlcnZlZCAgICAgICAg ICAgICA9IDA7DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gKyAgLy8g RW5hYmxlIEludGVycnVwdCBTdGFjayBUYWJsZSAoSVNUKSBmb3IgZWFjaCByZXF1aXJlZCBleGNl cHRpb24NCj4gPiA+ID4gPiArIC8vICBTdGFja1RvcCAgPSBTdGFja0Jhc2UgKyBTdGFja1NpemUg LSBDUFVfU1RBQ0tfQUxJR05NRU5UOw0KPiA+ID4gPiA+ICsgU3RhY2tUb3AgID0gKFVJTlROKUFM SUdOX1BPSU5URVIgKFN0YWNrVG9wLA0KPiA+IENQVV9TVEFDS19BTElHTk1FTlQpOw0KPiA+ID4g PiA+ICsgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQVJSQVlfU0laRSAobUV4Y2VwdGlvbnNXaXRo U3RhY2spOyArK0luZGV4KSB7DQo+ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4gPiA+ICsgICAgLy8g Rml4dXAgVFNTDQo+ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4gPiA+ICsgICAgVHNzRW50cnktPlRz cy5JU1RbSW5kZXhdID0gU3RhY2tUb3A7DQo+ID4gPiA+ID4gKyAgICBTdGFja1RvcCAtPSBFWENF UFRJT05fU1RBQ0tfU0laRTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKyAgICAvLw0KPiA+ID4g PiA+ICsgICAgLy8gU2V0IHRoZSBJU1QgZmllbGQgdG8gMSB0byBlbmFibGUgY29ycmVzcG9uZGlu ZyBJU1QNCj4gPiA+ID4gPiArICAgIC8vDQo+ID4gPiA+ID4gKyAgICBJZHRUYWJsZVttRXhjZXB0 aW9uc1dpdGhTdGFja1tJbmRleF1dLkJpdHMuUmVzZXJ2ZWRfMCA9DQo+ID4gPiA+ID4gKyAoVUlO VDgpKEluZGV4ICsNCj4gPiA+ID4gPiAxKTsNCj4gPiA+ID4gPiArICB9DQo+ID4gPiA+ID4gKw0K PiA+ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gKyAgLy8gUHVibGlzaCB0aGUgY2hhbmdlcw0KPiA+ ID4gPiA+ICsgIC8vDQo+ID4gPiA+ID4gKyAgQXNtV3JpdGVHZHRyKCZHZHREZXNjKTsNCj4gPiA+ ID4gPiArDQo+ID4gPiA+ID4gKyAgLy8NCj4gPiA+ID4gPiArICAvLyBMb2FkIHRhc2sgcmVnaXN0 ZXINCj4gPiA+ID4gPiArICAvLw0KPiA+ID4gPiA+ICsgIEFzbVdyaXRlVHIgKChVSU5UMTYpKE9s ZEdkdFNpemUgKyBUU1NfU0VMKSk7IH0NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gIC8qKg0KPiA+ ID4gPiA+ICAgIERpc3BsYXkgQ1BVIGluZm9ybWF0aW9uLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g ZGlmZiAtLWdpdA0KPiA+ID4gPiA+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhh bmRsZXJMaWIvWDY0L0FyY2hJbnRlcnJ1cHREZWZzLmgNCj4gPiA+ID4gPiBiL1VlZmlDcHVQa2cv TGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9BcmNoSW50ZXJydXB0RGVmcy5oDQo+ ID4gPiA+ID4gaW5kZXggOTA2NDgwMTM0YS4uNWE5MTNiYWU3YiAxMDA2NDQNCj4gPiA+ID4gPiAt LS0NCj4gPiA+ID4gPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGli L1g2NC9BcmNoSW50ZXJydXB0RGVmcy5oDQo+ID4gPiA+ID4gKysrDQo+ID4gYi9VZWZpQ3B1UGtn L0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvQXJjaEludGVycnVwdERlZnMuDQo+ ID4gPiA+ID4gKysrIGgNCj4gPiA+ID4gPiBAQCAtNDMsNCArNDMsNDQgQEAgdHlwZWRlZiBzdHJ1 Y3Qgew0KPiA+ID4gPiA+ICAgIFVJTlQ4ICAgICAgIEhvb2tBZnRlclN0dWJIZWFkZXJDb2RlW0hP T0tBRlRFUl9TVFVCX1NJWkVdOw0KPiA+ID4gPiA+ICB9IFJFU0VSVkVEX1ZFQ1RPUlNfREFUQTsN Cj4gPiA+ID4gPg0KPiA+ID4gPiA+ICsjcHJhZ21hIHBhY2sgKDEpDQo+ID4gPiA+ID4gKw0KPiA+ ID4gPiA+ICsjZGVmaW5lIEVYQ0VQVElPTl9MSVNUX01BWCAgICAgICAgNw0KPiA+ID4gPiA+ICsj ZGVmaW5lIEVYQ0VQVElPTl9TVEFDS19TSVpFICAgICAgRUZJX1BBR0VfU0laRQ0KPiA+ID4gPiA+ ICsjZGVmaW5lIElBMzJfR0RUX1RZUEVfVFNTICAgICAgICAgMHg4OQ0KPiA+ID4gPiA+ICsjZGVm aW5lIElBMzJfR0RUX0FMSUdOTUVOVCAgICAgICAgOA0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiAr dHlwZWRlZiBzdHJ1Y3Qgew0KPiA+ID4gPiA+ICsgIFVJTlQzMiAgICBSZXNlcnZlZF8wOw0KPiA+ ID4gPiA+ICsgIFVJTlQ2NCAgICBSU1AwOw0KPiA+ID4gPiA+ICsgIFVJTlQ2NCAgICBSU1AxOw0K PiA+ID4gPiA+ICsgIFVJTlQ2NCAgICBSU1AyOw0KPiA+ID4gPiA+ICsgIFVJTlQ2NCAgICBSZXNl cnZlZF8yODsNCj4gPiA+ID4gPiArICBVSU5UNjQgICAgSVNUWzddOw0KPiA+ID4gPiA+ICsgIFVJ TlQ2NCAgICBSZXNlcnZlZF85MjsNCj4gPiA+ID4gPiArICBVSU5UMTYgICAgUmVzZXJ2ZWRfMTAw Ow0KPiA+ID4gPiA+ICsgIFVJTlQxNiAgICBJT01hcEJhc2VBZGRyZXNzOw0KPiA+ID4gPiA+ICt9 IElBMzJfVEFTS19TVEFURV9TRUdNRU5UOw0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArdHlwZWRl ZiBzdHJ1Y3Qgew0KPiA+ID4gPiA+ICsgIFVJTlQxNiAgICBMaW1pdDE1XzA7DQo+ID4gPiA+ID4g KyAgVUlOVDE2ICAgIEJhc2UxNV8wOw0KPiA+ID4gPiA+ICsgIFVJTlQ4ICAgICBCYXNlMjNfMTY7 DQo+ID4gPiA+ID4gKyAgVUlOVDggICAgIFR5cGU7DQo+ID4gPiA+ID4gKyAgVUlOVDggICAgIExp bWl0MTlfMTZfYW5kX2ZsYWdzOw0KPiA+ID4gPiA+ICsgIFVJTlQ4ICAgICBCYXNlMzFfMjQ7DQo+ ID4gPiA+ID4gKyAgVUlOVDMyICAgIEJhc2U2M18zMjsNCj4gPiA+ID4gPiArICBVSU5UMzIgICAg UmVzZXJ2ZWQ7DQo+ID4gPiA+ID4gK30gSUEzMl9UU1NfREVTQ1JJUFRPUjsNCj4gPiA+ID4gPiAr DQo+ID4gPiA+ID4gK3R5cGVkZWYgc3RydWN0IHsNCj4gPiA+ID4gPiArICBJQTMyX1RTU19ERVND UklQVE9SICAgICAgICAgICBUc3NTZWc7DQo+ID4gPiA+ID4gKyAgSUEzMl9UQVNLX1NUQVRFX1NF R01FTlQgICAgICAgVHNzOw0KPiA+ID4gPiA+ICt9IFRTU19FTlRSSUVTOw0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiArI3ByYWdtYSBwYWNrICgpDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsjZGVm aW5lIFRTU19TRUwgICAgICAgICAgIE9GRlNFVF9PRiAoVFNTX0VOVFJJRVMsIFRzc1NlZykNCj4g PiA+ID4gPiArI2RlZmluZSBUU1NfT0ZGU0VUICAgICAgICBPRkZTRVRfT0YgKFRTU19FTlRSSUVT LCBUc3MpDQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICAjZW5kaWYNCj4gPiA+ID4gPiBkaWZmIC0t Z2l0DQo+ID4gPiA+ID4NCj4gPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5k bGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLlMNCj4gPiA+ID4gPg0KPiA+IGIvVWVmaUNw dVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvWDY0L0V4Y2VwdGlvbkhhbmRsZXJB c20uUw0KPiA+ID4gPiA+IGluZGV4IGVkZDM2M2NkYWEuLmJkYWYxMzJjZjUgMTAwNjQ0DQo+ID4g PiA+ID4gLS0tDQo+ID4gPiA+ID4NCj4gPiBhL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRp b25IYW5kbGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLlMNCj4gPiA+ID4gPiArKysNCj4g PiA+ID4gPg0KPiA+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIv WDY0L0V4Y2VwdGlvbkhhbmRsZXJBc20uUw0KPiA+ID4gPiA+IEBAIC00MjksNiArNDI5LDE4IEBA IEFTTV9QRlgoQXNtVmVjdG9yTnVtRml4dXApOg0KPiA+ID4gPiA+ICAgICAgcG9wcSAgICAgICVy YnANCj4gPiA+ID4gPiAgICAgIHJldA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKyMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiA+ID4gPiA+ICstLS0tLS0tLS0tDQo+ID4gPiA+ID4gKyMgVk9JRA0KPiA+ID4gPiA+ICsj IEFzbVdyaXRlVHIgKA0KPiA+ID4gPiA+ICsjICAgVUlOVDE2IFNlbGVjdG9yDQo+ID4gPiA+ID4g KyMgICApOw0KPiA+ID4gPiA+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4gPiArLS0tLS0tLS0tLQ0K PiA+ID4gPiA+ICtBU01fR0xPQkFMIEFTTV9QRlgoQXNtV3JpdGVUcikNCj4gPiA+ID4gPiArQVNN X1BGWChBc21Xcml0ZVRyKToNCj4gPiA+ID4gPiArICAgIG1vdmwgICAgJWVjeCwgJWVheA0KPiA+ ID4gPiA+ICsgICAgbHRydyAgICAlYXgNCj4gPiA+ID4gPiArICAgIHJldA0KPiA+ID4gPiA+ICsN Cj4gPiA+ID4gPiAgI0VORA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBkaWZmIC0t Z2l0DQo+ID4gPiA+ID4NCj4gPiA+DQo+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlv bkhhbmRsZXJMaWIvWDY0L0V4Y2VwdGlvbkhhbmRsZXJBc20uYXMNCj4gPiA+ID4gPiBtDQo+ID4g PiA+ID4NCj4gPiA+DQo+IGIvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJM aWIvWDY0L0V4Y2VwdGlvbkhhbmRsZXJBc20uYXMNCj4gPiA+ID4gPiBtDQo+ID4gPiA+ID4gaW5k ZXggNzI2YzY0YTE0MC4uYWVjNTZlZjRiZiAxMDA2NDQNCj4gPiA+ID4gPiAtLS0NCj4gPiA+ID4g Pg0KPiA+ID4NCj4gYS9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9Y NjQvRXhjZXB0aW9uSGFuZGxlckFzbS5hcw0KPiA+ID4gPiA+IG0NCj4gPiA+ID4gPiArKysNCj4g PiA+ID4gPg0KPiA+ID4gPg0KPiA+ID4NCj4gPg0KPiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVF eGNlcHRpb25IYW5kbGVyTGliL1g2NC9FeGNlcHRpb25IYW5kbGVyQXNtLmFzbQ0KPiA+ID4gPiA+ IEBAIC0zODYsNCArMzg2LDE2IEBAIEFzbVZlY3Rvck51bUZpeHVwICAgUFJPQw0KPiA+ID4gPiA+ ICAgICAgcmV0DQo+ID4gPiA+ID4gIEFzbVZlY3Rvck51bUZpeHVwICAgRU5EUA0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ICstLS0tLS0tLS0tDQo+ID4gPiA+ ID4gKzsgVk9JRA0KPiA+ID4gPiA+ICs7IEFzbVdyaXRlVHIgKA0KPiA+ID4gPiA+ICs7ICAgVUlO VDE2IFNlbGVjdG9yDQo+ID4gPiA+ID4gKzsgICApOw0KPiA+ID4gPiA+ICs7LS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gPiA+ID4gPiArLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ICtBc21Xcml0ZVRyIFBST0MgUFVCTElD DQo+ID4gPiA+ID4gKyAgICBtb3YgICAgIGVheCwgZWN4DQo+ID4gPiA+ID4gKyAgICBsdHIgICAg IGF4DQo+ID4gPiA+ID4gKyAgICByZXQNCj4gPiA+ID4gPiArQXNtV3JpdGVUciBFTkRQDQo+ID4g PiA+ID4gKw0KPiA+ID4gPiA+ICBFTkQNCj4gPiA+ID4gPiBkaWZmIC0tZ2l0DQo+ID4gPiA+ID4N Cj4gPiA+DQo+IGEvVWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvWDY0 L0V4Y2VwdGlvbkhhbmRsZXJBc20ubmENCj4gPiA+ID4gPiBzbQ0KPiA+ID4gPiA+DQo+ID4gPg0K PiBiL1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9FeGNlcHRp b25IYW5kbGVyQXNtLm5hDQo+ID4gPiA+ID4gc20NCj4gPiA+ID4gPiBpbmRleCBiYTg5OTNkODRi Li4xZTJhYzQxMWIwIDEwMDY0NA0KPiA+ID4gPiA+IC0tLQ0KPiA+ID4gPiA+DQo+ID4gPg0KPiBh L1VlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1g2NC9FeGNlcHRpb25I YW5kbGVyQXNtLm5hDQo+ID4gPiA+ID4gc20NCj4gPiA+ID4gPiArKysNCj4gPiA+ID4gPg0KPiA+ ID4NCj4gYi9VZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9YNjQvRXhj ZXB0aW9uSGFuZGxlckFzbS5uYQ0KPiA+ID4gPiA+IHNtIEBAIC0zODUsMyArMzg1LDE1IEBAIEFT TV9QRlgoQXNtVmVjdG9yTnVtRml4dXApOg0KPiA+ID4gPiA+ICAgICAgbW92ICAgICBbcmN4ICsg KEBWZWN0b3JOdW0gLSBIb29rQWZ0ZXJTdHViSGVhZGVyQmVnaW4pXSwgYWwNCj4gPiA+ID4gPiAg ICAgIHJldA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ICst LS0tLS0tLS0tDQo+ID4gPiA+ID4gKzsgVk9JRA0KPiA+ID4gPiA+ICs7IEFzbVdyaXRlVHIgKA0K PiA+ID4gPiA+ICs7ICAgVUlOVDE2IFNlbGVjdG9yDQo+ID4gPiA+ID4gKzsgICApOw0KPiA+ID4g PiA+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gPiA+ID4gPiArLS0tLS0tLS0tLQ0KPiA+ID4gPiA+ICtnbG9i YWwgQVNNX1BGWChBc21Xcml0ZVRyKQ0KPiA+ID4gPiA+ICtBU01fUEZYKEFzbVdyaXRlVHIpOg0K PiA+ID4gPiA+ICsgICAgbW92ICAgICBlYXgsIGVjeA0KPiA+ID4gPiA+ICsgICAgbHRyICAgICBh eA0KPiA+ID4gPiA+ICsgICAgcmV0DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+IC0tDQo+ID4gPiA+ ID4gMi4xNC4xLndpbmRvd3MuMQ0KPiA+ID4gPg0KPiA+ID4gPiBfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+ID4gPiBlZGsyLWRldmVsIG1haWxpbmcg bGlzdA0KPiA+ID4gPiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPiA+ID4gPiBodHRwczovL2xp c3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCj4gPiA+ID4NCj4gPiA+ID4g X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gPiA+ID4g ZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPiA+ID4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcN Cj4gPiA+ID4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9lZGsyLWRldmVs DQo=