From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) (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 19F2D81D77 for ; Tue, 28 Feb 2017 00:06:11 -0800 (PST) Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by orsmga104.jf.intel.com with ESMTP; 28 Feb 2017 00:06:10 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.35,218,1484035200"; d="scan'208";a="829228160" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by FMSMGA003.fm.intel.com with ESMTP; 28 Feb 2017 00:06:10 -0800 Received: from fmsmsx122.amr.corp.intel.com (10.18.125.37) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 28 Feb 2017 00:06:10 -0800 Received: from shsmsx101.ccr.corp.intel.com (10.239.4.153) by fmsmsx122.amr.corp.intel.com (10.18.125.37) with Microsoft SMTP Server (TLS) id 14.3.248.2; Tue, 28 Feb 2017 00:06:10 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.59]) by SHSMSX101.ccr.corp.intel.com ([169.254.1.177]) with mapi id 14.03.0248.002; Tue, 28 Feb 2017 16:06:07 +0800 From: "Ni, Ruiyu" To: Ard Biesheuvel , "Carsey, Jaben" CC: "edk2-devel@lists.01.org" , "Chen, Chen A" Thread-Topic: [edk2] [PATCH 2/2] ShellPkg/comp: Add "-n "/"-s " support Thread-Index: AQHSkRez3gxzIiSQ5kuc6PGW4Pz9raF9gz6AgACNjOA= Date: Tue, 28 Feb 2017 08:06:06 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5B8B8C51@SHSMSX104.ccr.corp.intel.com> References: <20170222074630.545800-1-ruiyu.ni@intel.com> <20170222074630.545800-3-ruiyu.ni@intel.com> In-Reply-To: Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 2/2] ShellPkg/comp: Add "-n "/"-s " support X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 28 Feb 2017 08:06:11 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhhbmtzIGZvciB0aGUgcmVwb3J0aW5nLg0KSnVzdCBmaXhlZCBpdC4NCg0KVGhhbmtzL1JheQ0K DQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFyZCBCaWVzaGV1dmVsIFtt YWlsdG86YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZ10NCj4gU2VudDogVHVlc2RheSwgRmVicnVh cnkgMjgsIDIwMTcgMzozOSBQTQ0KPiBUbzogQ2Fyc2V5LCBKYWJlbiA8amFiZW4uY2Fyc2V5QGlu dGVsLmNvbT4NCj4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgZWRrMi1kZXZl bEBsaXN0cy4wMS5vcmc7IENoZW4sIENoZW4gQQ0KPiA8Y2hlbi5hLmNoZW5AaW50ZWwuY29tPg0K PiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCAyLzJdIFNoZWxsUGtnL2NvbXA6IEFkZCAiLW4g PGRpZmYtY291bnQ+Ii8iLXMNCj4gPGRpZmYtYnl0ZT4iIHN1cHBvcnQNCj4gDQo+IE9uIDI3IEZl YnJ1YXJ5IDIwMTcgYXQgMTY6MzYsIENhcnNleSwgSmFiZW4gPGphYmVuLmNhcnNleUBpbnRlbC5j b20+DQo+IHdyb3RlOg0KPiA+IFJldmlld2VkLWJ5OiBKYWJlbiBDYXJzZXkgPGphYmVuLmNhcnNl eUBpbnRlbC5jb20+DQo+ID4NCj4gDQo+IFRoaXMgcGF0Y2ggYnJlYWtzIHRoZSBidWlsZCBvbiBH Q0M6DQo+IA0KPiA8aHR0cHM6Ly9jaS5saW5hcm8ub3JnL2plbmtpbnMvam9iL2xlZy12aXJ0LXRp YW5vY29yZS1lZGsyLQ0KPiB1cHN0cmVhbS93cy9lZGsyL1NoZWxsUGtnL0xpYnJhcnkvVWVmaVNo ZWxsRGVidWcxQ29tbWFuZHNMaWIvQ29tcC5jDQo+ID46DQo+IEluIGZ1bmN0aW9uICdTaGVsbENv bW1hbmRSdW5Db21wJzoNCj4gPGh0dHBzOi8vY2kubGluYXJvLm9yZy9qZW5raW5zL2pvYi9sZWct dmlydC10aWFub2NvcmUtZWRrMi0NCj4gdXBzdHJlYW0vd3MvZWRrMi9TaGVsbFBrZy9MaWJyYXJ5 L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL0NvbXAuYw0KPiA+OjMyODozNjoNCj4gZXJyb3I6 ICdEaWZmUG9pbnRBZGRyZXNzJyBtYXkgYmUgdXNlZCB1bmluaXRpYWxpemVkIGluIHRoaXMgZnVu Y3Rpb24gWy0NCj4gV2Vycm9yPW1heWJlLXVuaW5pdGlhbGl6ZWRdDQo+ICAgICAgICAgICAgICAg ICAgICBEaWZmUG9pbnRBZGRyZXNzICs9IEluZGV4Ow0KPiANCj4gDQo+ID4+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZyb206IE5pLCBSdWl5dQ0KPiA+PiBTZW50OiBUdWVzZGF5 LCBGZWJydWFyeSAyMSwgMjAxNyAxMTo0NyBQTQ0KPiA+PiBUbzogZWRrMi1kZXZlbEBsaXN0cy4w MS5vcmcNCj4gPj4gQ2M6IENoZW4sIENoZW4gQSA8Y2hlbi5hLmNoZW5AaW50ZWwuY29tPjsgQ2Fy c2V5LCBKYWJlbg0KPiA+PiA8amFiZW4uY2Fyc2V5QGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDog W1BBVENIIDIvMl0gU2hlbGxQa2cvY29tcDogQWRkICItbiA8ZGlmZi1jb3VudD4iLyItcyA8ZGlm Zi0NCj4gYnl0ZT4iDQo+ID4+IHN1cHBvcnQNCj4gPj4gSW1wb3J0YW5jZTogSGlnaA0KPiA+Pg0K PiA+PiBGcm9tOiBDaGVuIEEgQ2hlbiA8Y2hlbi5hLmNoZW5AaW50ZWwuY29tPg0KPiA+Pg0KPiA+ PiBDb250cmlidXRlZC11bmRlcjogVGlhbm9Db3JlIENvbnRyaWJ1dGlvbiBBZ3JlZW1lbnQgMS4w DQo+ID4+IFNpZ25lZC1vZmYtYnk6IENoZW4gQSBDaGVuIDxjaGVuLmEuY2hlbkBpbnRlbC5jb20+ DQo+ID4+IFNpZ25lZC1vZmYtYnk6IFJ1aXl1IE5pIDxydWl5dS5uaUBpbnRlbC5jb20+DQo+ID4+ IENjOiBKYWJlbiBDYXJzZXkgPGphYmVuLmNhcnNleUBpbnRlbC5jb20+DQo+ID4+IC0tLQ0KPiA+ PiAgU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9Db21wLmMgfCAz NTcNCj4gPj4gKysrKysrKysrKysrKy0tLS0tLS0tDQo+ID4+ICAuLi4vVWVmaVNoZWxsRGVidWcx Q29tbWFuZHNMaWIudW5pICAgICAgICAgICAgICAgICB8ICAyNyArLQ0KPiA+PiAgMiBmaWxlcyBj aGFuZ2VkLCAyMjkgaW5zZXJ0aW9ucygrKSwgMTU1IGRlbGV0aW9ucygtKQ0KPiA+Pg0KPiA+PiBk aWZmIC0tZ2l0IGEvU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9D b21wLmMNCj4gPj4gYi9TaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGli L0NvbXAuYw0KPiA+PiBpbmRleCA4MjljNDlhLi42MmI1OWQ3IDEwMDY0NA0KPiA+PiAtLS0gYS9T aGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL0NvbXAuYw0KPiA+PiAr KysgYi9TaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL0NvbXAuYw0K PiA+PiBAQCAtMTUsNiArMTUsNzEgQEANCj4gPj4NCj4gPj4gICNpbmNsdWRlICJVZWZpU2hlbGxE ZWJ1ZzFDb21tYW5kc0xpYi5oIg0KPiA+Pg0KPiA+PiArU1RBVElDIENPTlNUIFNIRUxMX1BBUkFN X0lURU0gUGFyYW1MaXN0W10gPSB7DQo+ID4+ICsgIHtMIi1uIiwgVHlwZVZhbHVlfSwNCj4gPj4g KyAge0wiLXMiLCBUeXBlVmFsdWV9LA0KPiA+PiArICB7TlVMTCwgIFR5cGVNYXh9DQo+ID4+ICsg IH07DQo+ID4+ICsNCj4gPj4gK3R5cGVkZWYgZW51bSB7DQo+ID4+ICsgIE91dE9mRGlmZlBvaW50 LA0KPiA+PiArICBJbkRpZmZQb2ludCwNCj4gPj4gKyAgSW5QcmV2RGlmZlBvaW50DQo+ID4+ICt9 IFJFQURfU1RBVFVTOw0KPiA+PiArDQo+ID4+ICsvKioNCj4gPj4gKyAgRnVuY3Rpb24gdG8gcHJp bnQgZGlmZmVybnQgcG9pbnQgZGF0YS4NCj4gPj4gKw0KPiA+PiArICBAcGFyYW1baW5dICBGaWxl TmFtZSAgICAgICAgRmlsZSBuYW1lDQo+ID4+ICsgIEBwYXJhbVtpbl0gIEJ1ZmZlciAgICAgICAg ICBEYXRhIGJ1ZmZlciB0byBiZSBwcmludGVkLg0KPiA+PiArICBAcGFyYW1baW5dICBCdWZmZXJT aXplICAgICAgU2l6ZSBvZiB0aGUgZGF0YSB0byBiZSBwcmludGVkLg0KPiA+PiArICBAcGFyYW1b aW5dICBBZGRyZXNzICAgICAgICAgQWRkcmVzcyBvZiB0aGUgZGlmZmVybnQgcG9pbnQuDQo+ID4+ ICsgIEBwYXJhbVtpbl0gIERpZmZlcmVudEJ5dGVzICBUb3RhbCBzaXplIG9mIHRoZSBidWZmZXIu DQo+ID4+ICsNCj4gPj4gKyoqLw0KPiA+PiArVk9JRA0KPiA+PiArUHJpbnREaWZmZXJlbnRQb2lu dCgNCj4gPj4gKyAgQ09OU1QgQ0hBUjE2ICAqRmlsZU5hbWUsDQo+ID4+ICsgIFVJTlQ4ICAgICAg ICAgKkJ1ZmZlciwNCj4gPj4gKyAgVUlOVDY0ICAgICAgICBEYXRhU2l6ZSwNCj4gPj4gKyAgVUlO VE4gICAgICAgICBBZGRyZXNzLA0KPiA+PiArICBVSU5UNjQgICAgICAgIEJ1ZmZlclNpemUNCj4g Pj4gKyAgKQ0KPiA+PiArew0KPiA+PiArICBVSU5UTiBJbmRleDsNCj4gPj4gKw0KPiA+PiArICBT aGVsbFByaW50RXggKC0xLCAtMSwgTCIlczogJXNcclxuICAlMDh4OiIsIEwiRmlsZTEiLCBGaWxl TmFtZSwNCj4gPj4gKyBBZGRyZXNzKTsNCj4gPj4gKw0KPiA+PiArICAvLw0KPiA+PiArICAvLyBQ cmludCBkYXRhIGluIGhleC1mb3JtYXQuDQo+ID4+ICsgIC8vDQo+ID4+ICsgIGZvciAoSW5kZXgg PSAwOyBJbmRleCA8IERhdGFTaXplOyBJbmRleCsrKSB7DQo+ID4+ICsgICAgU2hlbGxQcmludEV4 ICgtMSwgLTEsIEwiICUwMngiLCBCdWZmZXJbSW5kZXhdKTsgIH0NCj4gPj4gKw0KPiA+PiArICBp ZiAoRGF0YVNpemUgPCBCdWZmZXJTaXplKSB7DQo+ID4+ICsgICAgU2hlbGxQcmludEhpaUV4ICgt MSwgLTEsIE5VTEwsIFNUUklOR19UT0tFTg0KPiA+PiArIChTVFJfQ09NUF9FTkRfT0ZfRklMRSks DQo+ID4+IGdTaGVsbERlYnVnMUhpaUhhbmRsZSk7DQo+ID4+ICsgIH0NCj4gPj4gKw0KPiA+PiAr ICBTaGVsbFByaW50RXggKC0xLCAtMSwgTCIgICAgKiIpOw0KPiA+PiArDQo+ID4+ICsgIC8vDQo+ ID4+ICsgIC8vIFByaW50IGRhdGEgaW4gY2hhci1mb3JtYXQuDQo+ID4+ICsgIC8vDQo+ID4+ICsg IGZvciAoSW5kZXggPSAwOyBJbmRleCA8IERhdGFTaXplOyBJbmRleCsrKSB7DQo+ID4+ICsgICAg aWYgKEJ1ZmZlcltJbmRleF0gPj0gMHgyMCAmJiBCdWZmZXJbSW5kZXhdIDw9IDB4N0UpIHsNCj4g Pj4gKyAgICAgIFNoZWxsUHJpbnRFeCAoLTEsIC0xLCBMIiVjIiwgQnVmZmVyW0luZGV4XSk7DQo+ ID4+ICsgICAgfSBlbHNlIHsNCj4gPj4gKyAgICAgIC8vDQo+ID4+ICsgICAgICAvLyBQcmludCBk b3RzIGZvciBjb250cm9sIGNoYXJhY3RlcnMNCj4gPj4gKyAgICAgIC8vDQo+ID4+ICsgICAgICBT aGVsbFByaW50RXggKC0xLCAtMSwgTCIuIik7DQo+ID4+ICsgICAgfQ0KPiA+PiArICB9DQo+ID4+ ICsNCj4gPj4gKyAgU2hlbGxQcmludEV4ICgtMSwgLTEsIEwiKlxyXG4iKTsNCj4gPj4gK30NCj4g Pj4gKw0KPiA+PiAgLyoqDQo+ID4+ICAgIEZ1bmN0aW9uIGZvciAnY29tcCcgY29tbWFuZC4NCj4g Pj4NCj4gPj4gQEAgLTM1LDMyICsxMDAsNDEgQEAgU2hlbGxDb21tYW5kUnVuQ29tcCAoDQo+ID4+ ICAgIENIQVIxNiAgICAgICAgICAgICAgKkZpbGVOYW1lMjsNCj4gPj4gICAgQ09OU1QgQ0hBUjE2 ICAgICAgICAqVGVtcFBhcmFtOw0KPiA+PiAgICBTSEVMTF9TVEFUVVMgICAgICAgIFNoZWxsU3Rh dHVzOw0KPiA+PiAtICBVSU5UTiAgICAgICAgICAgICAgIExvb3BWYXI7DQo+ID4+ICAgIFNIRUxM X0ZJTEVfSEFORExFICAgRmlsZUhhbmRsZTE7DQo+ID4+ICAgIFNIRUxMX0ZJTEVfSEFORExFICAg RmlsZUhhbmRsZTI7DQo+ID4+IC0gIFVJTlQ4ICAgICAgICAgICAgICAgRGlmZmVyZW50Q291bnQ7 DQo+ID4+ICAgIFVJTlQ2NCAgICAgICAgICAgICAgU2l6ZTE7DQo+ID4+ICAgIFVJTlQ2NCAgICAg ICAgICAgICAgU2l6ZTI7DQo+ID4+IC0gIFVJTlQ4ICAgICAgICAgICAgICAgRGF0YUZyb21GaWxl MTsNCj4gPj4gLSAgVUlOVDggICAgICAgICAgICAgICBEYXRhRnJvbUZpbGUyOw0KPiA+PiAtICBV SU5UOCAgICAgICAgICAgICAgIEFERl9GaWxlMTE7DQo+ID4+IC0gIFVJTlQ4ICAgICAgICAgICAg ICAgQURGX0ZpbGUxMjsNCj4gPj4gLSAgVUlOVDggICAgICAgICAgICAgICBBREZfRmlsZTEzOw0K PiA+PiAtICBVSU5UOCAgICAgICAgICAgICAgIEFERl9GaWxlMjE7DQo+ID4+IC0gIFVJTlQ4ICAg ICAgICAgICAgICAgQURGX0ZpbGUyMjsNCj4gPj4gLSAgVUlOVDggICAgICAgICAgICAgICBBREZf RmlsZTIzOw0KPiA+PiArICBVSU5UNjQgICAgICAgICAgICAgIERpZmZlcmVudEJ5dGVzOw0KPiA+ PiArICBVSU5UNjQgICAgICAgICAgICAgIERpZmZlcmVudENvdW50Ow0KPiA+PiArICBVSU5UOCAg ICAgICAgICAgICAgIERpZmZQb2ludE51bWJlcjsNCj4gPj4gKyAgVUlOVDggICAgICAgICAgICAg ICBPbmVCeXRlRnJvbUZpbGUxOw0KPiA+PiArICBVSU5UOCAgICAgICAgICAgICAgIE9uZUJ5dGVG cm9tRmlsZTI7DQo+ID4+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgKkRhdGFGcm9tRmlsZTE7DQo+ ID4+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgKkRhdGFGcm9tRmlsZTI7DQo+ID4+ICsgIFVJTlRO ICAgICAgICAgICAgICAgSW5zZXJ0UG9zaXRpb24xOw0KPiA+PiArICBVSU5UTiAgICAgICAgICAg ICAgIEluc2VydFBvc2l0aW9uMjsNCj4gPj4gICAgVUlOVE4gICAgICAgICAgICAgICBEYXRhU2l6 ZUZyb21GaWxlMTsNCj4gPj4gICAgVUlOVE4gICAgICAgICAgICAgICBEYXRhU2l6ZUZyb21GaWxl MjsNCj4gPj4gKyAgVUlOVE4gICAgICAgICAgICAgICBUZW1wQWRkcmVzczsNCj4gPj4gKyAgVUlO VE4gICAgICAgICAgICAgICBJbmRleDsNCj4gPj4gICAgVUlOVE4gICAgICAgICAgICAgICBEaWZm UG9pbnRBZGRyZXNzOw0KPiA+PiArICBSRUFEX1NUQVRVUyAgICAgICAgIFJlYWRTdGF0dXM7DQo+ ID4+DQo+ID4+IC0gIERpZmZlcmVudENvdW50ICAgICAgICAgID0gMDsNCj4gPj4gICAgU2hlbGxT dGF0dXMgICAgICAgICA9IFNIRUxMX1NVQ0NFU1M7DQo+ID4+ICAgIFN0YXR1cyAgICAgICAgICAg ICAgPSBFRklfU1VDQ0VTUzsNCj4gPj4gICAgRmlsZU5hbWUxICAgICAgICAgICA9IE5VTEw7DQo+ ID4+ICAgIEZpbGVOYW1lMiAgICAgICAgICAgPSBOVUxMOw0KPiA+PiAgICBGaWxlSGFuZGxlMSAg ICAgICAgID0gTlVMTDsNCj4gPj4gICAgRmlsZUhhbmRsZTIgICAgICAgICA9IE5VTEw7DQo+ID4+ IC0gIFNpemUxICAgICAgICAgICAgICAgPSAwOw0KPiA+PiArICBEYXRhRnJvbUZpbGUxICAgICAg ID0gTlVMTDsNCj4gPj4gKyAgRGF0YUZyb21GaWxlMiAgICAgICA9IE5VTEw7DQo+ID4+ICsgIFJl YWRTdGF0dXMgICAgICAgICAgPSBPdXRPZkRpZmZQb2ludDsNCj4gPj4gKyAgRGlmZmVyZW50Q291 bnQgICAgICA9IDEwOw0KPiA+PiArICBEaWZmZXJlbnRCeXRlcyAgICAgID0gNDsNCj4gPj4gKyAg RGlmZlBvaW50TnVtYmVyICAgICA9IDA7DQo+ID4+ICsgIEluc2VydFBvc2l0aW9uMSAgICAgPSAw Ow0KPiA+PiArICBJbnNlcnRQb3NpdGlvbjIgICAgID0gMDsNCj4gPj4gKyAgVGVtcEFkZHJlc3Mg ICAgICAgICA9IDA7DQo+ID4+DQo+ID4+ICAgIC8vDQo+ID4+ICAgIC8vIGluaXRpYWxpemUgdGhl IHNoZWxsIGxpYiAod2UgbXVzdCBiZSBpbiBub24tYXV0by1pbml0Li4uKSBAQA0KPiA+PiAtNzQs NyArMTQ4LDcgQEAgU2hlbGxDb21tYW5kUnVuQ29tcCAoDQo+ID4+ICAgIC8vDQo+ID4+ICAgIC8v IHBhcnNlIHRoZSBjb21tYW5kIGxpbmUNCj4gPj4gICAgLy8NCj4gPj4gLSAgU3RhdHVzID0gU2hl bGxDb21tYW5kTGluZVBhcnNlIChFbXB0eVBhcmFtTGlzdCwgJlBhY2thZ2UsDQo+ID4+ICZQcm9i bGVtUGFyYW0sIFRSVUUpOw0KPiA+PiArICBTdGF0dXMgPSBTaGVsbENvbW1hbmRMaW5lUGFyc2Ug KFBhcmFtTGlzdCwgJlBhY2thZ2UsDQo+ID4+ICsgJlByb2JsZW1QYXJhbSwNCj4gPj4gVFJVRSk7 DQo+ID4+ICAgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiA+PiAgICAgIGlmIChTdGF0dXMg PT0gRUZJX1ZPTFVNRV9DT1JSVVBURUQgJiYgUHJvYmxlbVBhcmFtICE9IE5VTEwpIHsNCj4gPj4g ICAgICAgIFNoZWxsUHJpbnRIaWlFeCgtMSwgLTEsIE5VTEwsIFNUUklOR19UT0tFTiAoU1RSX0dF Tl9QUk9CTEVNKSwNCj4gPj4gZ1NoZWxsRGVidWcxSGlpSGFuZGxlLCBMImNvbXAiLCBQcm9ibGVt UGFyYW0pOyBAQCAtMTE4LDE0MiArMTkyLDE2NQ0KPiA+PiBAQCBTaGVsbENvbW1hbmRSdW5Db21w ICgNCj4gPj4gICAgICAgICAgfQ0KPiA+PiAgICAgICAgfQ0KPiA+PiAgICAgICAgaWYgKFNoZWxs U3RhdHVzID09IFNIRUxMX1NVQ0NFU1MpIHsNCj4gPj4gLSAgICAgICAgU2hlbGxQcmludEhpaUV4 KC0xLCAtMSwgTlVMTCwgU1RSSU5HX1RPS0VOIChTVFJfQ09NUF9IRUFERVIpLA0KPiA+PiBnU2hl bGxEZWJ1ZzFIaWlIYW5kbGUsIEZpbGVOYW1lMSwgRmlsZU5hbWUyKTsNCj4gPj4gICAgICAgICAg U3RhdHVzID0gZ0VmaVNoZWxsUHJvdG9jb2wtPkdldEZpbGVTaXplKEZpbGVIYW5kbGUxLCAmU2l6 ZTEpOw0KPiA+PiAgICAgICAgICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ID4+ICAgICAg ICAgIFN0YXR1cyA9IGdFZmlTaGVsbFByb3RvY29sLT5HZXRGaWxlU2l6ZShGaWxlSGFuZGxlMiwg JlNpemUyKTsNCj4gPj4gICAgICAgICAgQVNTRVJUX0VGSV9FUlJPUihTdGF0dXMpOw0KPiA+PiAt ICAgICAgICBpZiAoU2l6ZTEgIT0gU2l6ZTIpIHsNCj4gPj4gLSAgICAgICAgICBTaGVsbFByaW50 SGlpRXgoLTEsIC0xLCBOVUxMLCBTVFJJTkdfVE9LRU4gKFNUUl9DT01QX1NJWkVfRkFJTCksDQo+ ID4+IGdTaGVsbERlYnVnMUhpaUhhbmRsZSk7DQo+ID4+IC0gICAgICAgICAgRGlmZmVyZW50Q291 bnQrKzsNCj4gPj4gLSAgICAgICAgICBTaGVsbFN0YXR1cyA9IFNIRUxMX05PVF9FUVVBTDsNCj4g Pj4gKw0KPiA+PiArICAgICAgICBpZiAoU2hlbGxDb21tYW5kTGluZUdldEZsYWcgKFBhY2thZ2Us IEwiLW4iKSkgew0KPiA+PiArICAgICAgICAgIFRlbXBQYXJhbSA9IFNoZWxsQ29tbWFuZExpbmVH ZXRWYWx1ZSAoUGFja2FnZSwgTCItbiIpOw0KPiA+PiArICAgICAgICAgIGlmIChUZW1wUGFyYW0g PT0gTlVMTCkgew0KPiA+PiArICAgICAgICAgICAgU2hlbGxQcmludEhpaUV4ICgtMSwgLTEsIE5V TEwsIFNUUklOR19UT0tFTg0KPiA+PiArIChTVFJfR0VOX05PX1ZBTFVFKSwNCj4gPj4gZ1NoZWxs RGVidWcxSGlpSGFuZGxlLCBMImNvbXAiLCBMIi1uIik7DQo+ID4+ICsgICAgICAgICAgICBTaGVs bFN0YXR1cyA9IFNIRUxMX0lOVkFMSURfUEFSQU1FVEVSOw0KPiA+PiArICAgICAgICAgIH0gZWxz ZSB7DQo+ID4+ICsgICAgICAgICAgICBpZiAoZ1VuaWNvZGVDb2xsYXRpb24tPlN0cmlDb2xsIChn VW5pY29kZUNvbGxhdGlvbiwNCj4gPj4gKyAoQ0hBUjE2DQo+ID4+ICopVGVtcFBhcmFtLCBMImFs bCIpID09IDApIHsNCj4gPj4gKyAgICAgICAgICAgICAgRGlmZmVyZW50Q291bnQgPSBNQVhfVUlO VE47DQo+ID4+ICsgICAgICAgICAgICB9IGVsc2Ugew0KPiA+PiArICAgICAgICAgICAgICBTdGF0 dXMgPSBTaGVsbENvbnZlcnRTdHJpbmdUb1VpbnQ2NCAoVGVtcFBhcmFtLA0KPiA+PiArICZEaWZm ZXJlbnRDb3VudCwNCj4gPj4gRkFMU0UsIFRSVUUpOw0KPiA+PiArICAgICAgICAgICAgICBpZiAo RUZJX0VSUk9SKFN0YXR1cykgfHwgRGlmZmVyZW50Q291bnQgPT0gMCkgew0KPiA+PiArICAgICAg ICAgICAgICAgIFNoZWxsUHJpbnRIaWlFeCAoLTEsIC0xLCBOVUxMLCBTVFJJTkdfVE9LRU4NCj4g Pj4gKFNUUl9HRU5fUFJPQkxFTV9WQUwpLCBnU2hlbGxEZWJ1ZzFIaWlIYW5kbGUsIEwiY29tcCIs DQo+IFRlbXBQYXJhbSwNCj4gPj4gTCItbiIpOw0KPiA+PiArICAgICAgICAgICAgICAgIFNoZWxs U3RhdHVzID0gU0hFTExfSU5WQUxJRF9QQVJBTUVURVI7DQo+ID4+ICsgICAgICAgICAgICAgIH0N Cj4gPj4gKyAgICAgICAgICAgIH0NCj4gPj4gKyAgICAgICAgICB9DQo+ID4+ICsgICAgICAgIH0N Cj4gPj4gKw0KPiA+PiArICAgICAgICBpZiAoU2hlbGxDb21tYW5kTGluZUdldEZsYWcgKFBhY2th Z2UsIEwiLXMiKSkgew0KPiA+PiArICAgICAgICAgIFRlbXBQYXJhbSA9IFNoZWxsQ29tbWFuZExp bmVHZXRWYWx1ZSAoUGFja2FnZSwgTCItcyIpOw0KPiA+PiArICAgICAgICAgIGlmIChUZW1wUGFy YW0gPT0gTlVMTCkgew0KPiA+PiArICAgICAgICAgICAgU2hlbGxQcmludEhpaUV4ICgtMSwgLTEs IE5VTEwsIFNUUklOR19UT0tFTg0KPiA+PiArIChTVFJfR0VOX05PX1ZBTFVFKSwNCj4gPj4gZ1No ZWxsRGVidWcxSGlpSGFuZGxlLCBMImNvbXAiLCBMIi1zIik7DQo+ID4+ICsgICAgICAgICAgICBT aGVsbFN0YXR1cyA9IFNIRUxMX0lOVkFMSURfUEFSQU1FVEVSOw0KPiA+PiArICAgICAgICAgIH0g ZWxzZSB7DQo+ID4+ICsgICAgICAgICAgICBTdGF0dXMgPSBTaGVsbENvbnZlcnRTdHJpbmdUb1Vp bnQ2NCAoVGVtcFBhcmFtLA0KPiA+PiArICZEaWZmZXJlbnRCeXRlcywNCj4gPj4gRkFMU0UsIFRS VUUpOw0KPiA+PiArICAgICAgICAgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpIHx8IERpZmZlcmVu dEJ5dGVzID09IDApIHsNCj4gPj4gKyAgICAgICAgICAgICAgU2hlbGxQcmludEhpaUV4ICgtMSwg LTEsIE5VTEwsIFNUUklOR19UT0tFTg0KPiA+PiAoU1RSX0dFTl9QUk9CTEVNX1ZBTCksIGdTaGVs bERlYnVnMUhpaUhhbmRsZSwgTCJjb21wIiwNCj4gVGVtcFBhcmFtLA0KPiA+PiBMIi1zIik7DQo+ ID4+ICsgICAgICAgICAgICAgIFNoZWxsU3RhdHVzID0gU0hFTExfSU5WQUxJRF9QQVJBTUVURVI7 DQo+ID4+ICsgICAgICAgICAgICB9IGVsc2Ugew0KPiA+PiArICAgICAgICAgICAgICBpZiAoRGlm ZmVyZW50Qnl0ZXMgPiBNQVggKFNpemUxLCBTaXplMikpIHsNCj4gPj4gKyAgICAgICAgICAgICAg ICBEaWZmZXJlbnRCeXRlcyA9IE1BWCAoU2l6ZTEsIFNpemUyKTsNCj4gPj4gKyAgICAgICAgICAg ICAgfQ0KPiA+PiArICAgICAgICAgICAgfQ0KPiA+PiArICAgICAgICAgIH0NCj4gPj4gICAgICAg ICAgfQ0KPiA+PiAgICAgICAgfQ0KPiA+PiArDQo+ID4+ICAgICAgICBpZiAoU2hlbGxTdGF0dXMg PT0gU0hFTExfU1VDQ0VTUykgew0KPiA+PiAtICAgICAgICBmb3IgKExvb3BWYXIgPSAwIDsgTG9v cFZhciA8IFNpemUxICYmIERpZmZlcmVudENvdW50IDw9IDEwIDsNCj4gTG9vcFZhcisrKQ0KPiA+ PiB7DQo+ID4+ICsgICAgICAgIERhdGFGcm9tRmlsZTEgPSBBbGxvY2F0ZVplcm9Qb29sICgoVUlO VE4pRGlmZmVyZW50Qnl0ZXMpOw0KPiA+PiArICAgICAgICBEYXRhRnJvbUZpbGUyID0gQWxsb2Nh dGVaZXJvUG9vbCAoKFVJTlROKURpZmZlcmVudEJ5dGVzKTsNCj4gPj4gKyAgICAgICAgaWYgKERh dGFGcm9tRmlsZTEgPT0gTlVMTCB8fCBEYXRhRnJvbUZpbGUyID09IE5VTEwpIHsNCj4gPj4gKyAg ICAgICAgICBTaGVsbFN0YXR1cyA9IFNIRUxMX09VVF9PRl9SRVNPVVJDRVM7DQo+ID4+ICsgICAg ICAgICAgU0hFTExfRlJFRV9OT05fTlVMTCAoRGF0YUZyb21GaWxlMSk7DQo+ID4+ICsgICAgICAg ICAgU0hFTExfRlJFRV9OT05fTlVMTCAoRGF0YUZyb21GaWxlMik7DQo+ID4+ICsgICAgICAgIH0N Cj4gPj4gKyAgICAgIH0NCj4gPj4gKw0KPiA+PiArICAgICAgaWYgKFNoZWxsU3RhdHVzID09IFNI RUxMX1NVQ0NFU1MpIHsNCj4gPj4gKyAgICAgICAgd2hpbGUgKERpZmZQb2ludE51bWJlciA8IERp ZmZlcmVudENvdW50KSB7DQo+ID4+ICAgICAgICAgICAgRGF0YVNpemVGcm9tRmlsZTEgPSAxOw0K PiA+PiAgICAgICAgICAgIERhdGFTaXplRnJvbUZpbGUyID0gMTsNCj4gPj4gLSAgICAgICAgICBT dGF0dXMgPSBnRWZpU2hlbGxQcm90b2NvbC0+UmVhZEZpbGUoRmlsZUhhbmRsZTEsDQo+ICZEYXRh U2l6ZUZyb21GaWxlMSwNCj4gPj4gJkRhdGFGcm9tRmlsZTEpOw0KPiA+PiAtICAgICAgICAgIEFT U0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4gPj4gLSAgICAgICAgICBTdGF0dXMgPSBnRWZpU2hl bGxQcm90b2NvbC0+UmVhZEZpbGUoRmlsZUhhbmRsZTIsDQo+ICZEYXRhU2l6ZUZyb21GaWxlMiwN Cj4gPj4gJkRhdGFGcm9tRmlsZTIpOw0KPiA+PiAtICAgICAgICAgIEFTU0VSVF9FRklfRVJST1Io U3RhdHVzKTsNCj4gPj4gLSAgICAgICAgICBpZiAoRGF0YUZyb21GaWxlMSAhPSBEYXRhRnJvbUZp bGUyKSB7DQo+ID4+IC0gICAgICAgICAgICBEaWZmUG9pbnRBZGRyZXNzID0gTG9vcFZhcjsNCj4g Pj4gLSAgICAgICAgICAgIEFERl9GaWxlMTEgPSAwOw0KPiA+PiAtICAgICAgICAgICAgQURGX0Zp bGUxMiA9IDA7DQo+ID4+IC0gICAgICAgICAgICBBREZfRmlsZTEzID0gMDsNCj4gPj4gLSAgICAg ICAgICAgIEFERl9GaWxlMjEgPSAwOw0KPiA+PiAtICAgICAgICAgICAgQURGX0ZpbGUyMiA9IDA7 DQo+ID4+IC0gICAgICAgICAgICBBREZfRmlsZTIzID0gMDsNCj4gPj4gKyAgICAgICAgICBPbmVC eXRlRnJvbUZpbGUxID0gMDsNCj4gPj4gKyAgICAgICAgICBPbmVCeXRlRnJvbUZpbGUyID0gMDsN Cj4gPj4gKyAgICAgICAgICBTdGF0dXMgPSBnRWZpU2hlbGxQcm90b2NvbC0+UmVhZEZpbGUgKEZp bGVIYW5kbGUxLA0KPiA+PiArICZEYXRhU2l6ZUZyb21GaWxlMSwNCj4gPj4gJk9uZUJ5dGVGcm9t RmlsZTEpOw0KPiA+PiArICAgICAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ID4+ ICsgICAgICAgICAgU3RhdHVzID0gZ0VmaVNoZWxsUHJvdG9jb2wtPlJlYWRGaWxlIChGaWxlSGFu ZGxlMiwNCj4gPj4gKyAmRGF0YVNpemVGcm9tRmlsZTIsDQo+ID4+ICZPbmVCeXRlRnJvbUZpbGUy KTsNCj4gPj4gKyAgICAgICAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiA+Pg0KPiA+ PiAtICAgICAgICAgICAgLy8NCj4gPj4gLSAgICAgICAgICAgIC8vIE5vdyBjaGVjayB0aGUgbmV4 dCAzIGJ5dGVzIGlmIHBvc3NpYmxlLiAgVGhpcyB3aWxsIG1ha2Ugb3V0cHV0DQo+ID4+IC0gICAg ICAgICAgICAvLyBjbGVhbmVyIHdoZW4gdGhlcmUgYXJlIGEgc2VxdWVuY2Ugb2YgZGlmZmVyZW5j ZXMuDQo+ID4+IC0gICAgICAgICAgICAvLw0KPiA+PiAtICAgICAgICAgICAgaWYgKExvb3BWYXIg KyAxIDwgU2l6ZTEpIHsNCj4gPj4gLSAgICAgICAgICAgICAgTG9vcFZhcisrOw0KPiA+PiAtICAg ICAgICAgICAgICBEYXRhU2l6ZUZyb21GaWxlMSA9IDE7DQo+ID4+IC0gICAgICAgICAgICAgIERh dGFTaXplRnJvbUZpbGUyID0gMTsNCj4gPj4gLSAgICAgICAgICAgICAgU3RhdHVzID0gZ0VmaVNo ZWxsUHJvdG9jb2wtPlJlYWRGaWxlKEZpbGVIYW5kbGUxLA0KPiA+PiAmRGF0YVNpemVGcm9tRmls ZTEsICZBREZfRmlsZTExKTsNCj4gPj4gLSAgICAgICAgICAgICAgQVNTRVJUX0VGSV9FUlJPUihT dGF0dXMpOw0KPiA+PiAtICAgICAgICAgICAgICBTdGF0dXMgPSBnRWZpU2hlbGxQcm90b2NvbC0+ UmVhZEZpbGUoRmlsZUhhbmRsZTIsDQo+ID4+ICZEYXRhU2l6ZUZyb21GaWxlMiwgJkFERl9GaWxl MjEpOw0KPiA+PiAtICAgICAgICAgICAgICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ID4+ IC0gICAgICAgICAgICAgIGlmIChMb29wVmFyICsgMSA8IFNpemUxKSB7DQo+ID4+IC0gICAgICAg ICAgICAgICAgTG9vcFZhcisrOw0KPiA+PiAtICAgICAgICAgICAgICAgIERhdGFTaXplRnJvbUZp bGUxID0gMTsNCj4gPj4gLSAgICAgICAgICAgICAgICBEYXRhU2l6ZUZyb21GaWxlMiA9IDE7DQo+ ID4+IC0gICAgICAgICAgICAgICAgU3RhdHVzID0gZ0VmaVNoZWxsUHJvdG9jb2wtPlJlYWRGaWxl KEZpbGVIYW5kbGUxLA0KPiA+PiAmRGF0YVNpemVGcm9tRmlsZTEsICZBREZfRmlsZTEyKTsNCj4g Pj4gLSAgICAgICAgICAgICAgICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ID4+IC0gICAg ICAgICAgICAgICAgU3RhdHVzID0gZ0VmaVNoZWxsUHJvdG9jb2wtPlJlYWRGaWxlKEZpbGVIYW5k bGUyLA0KPiA+PiAmRGF0YVNpemVGcm9tRmlsZTIsICZBREZfRmlsZTIyKTsNCj4gPj4gLSAgICAg ICAgICAgICAgICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ID4+IC0gICAgICAgICAgICAg ICAgaWYgKExvb3BWYXIgKyAxIDwgU2l6ZTEpIHsNCj4gPj4gLSAgICAgICAgICAgICAgICAgIExv b3BWYXIrKzsNCj4gPj4gLSAgICAgICAgICAgICAgICAgIERhdGFTaXplRnJvbUZpbGUxID0gMTsN Cj4gPj4gLSAgICAgICAgICAgICAgICAgIERhdGFTaXplRnJvbUZpbGUyID0gMTsNCj4gPj4gLSAg ICAgICAgICAgICAgICAgIFN0YXR1cyA9IGdFZmlTaGVsbFByb3RvY29sLT5SZWFkRmlsZShGaWxl SGFuZGxlMSwNCj4gPj4gJkRhdGFTaXplRnJvbUZpbGUxLCAmQURGX0ZpbGUxMyk7DQo+ID4+IC0g ICAgICAgICAgICAgICAgICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ID4+IC0gICAgICAg ICAgICAgICAgICBTdGF0dXMgPSBnRWZpU2hlbGxQcm90b2NvbC0+UmVhZEZpbGUoRmlsZUhhbmRs ZTIsDQo+ID4+ICZEYXRhU2l6ZUZyb21GaWxlMiwgJkFERl9GaWxlMjMpOw0KPiA+PiAtICAgICAg ICAgICAgICAgICAgQVNTRVJUX0VGSV9FUlJPUihTdGF0dXMpOw0KPiA+PiAtICAgICAgICAgICAg ICAgIH0NCj4gPj4gKyAgICAgICAgICBUZW1wQWRkcmVzcysrOw0KPiA+PiArDQo+ID4+ICsgICAg ICAgICAgLy8NCj4gPj4gKyAgICAgICAgICAvLyAxLldoZW4gZW5kIG9mIGZpbGUgYW5kIG5vIGNo YXJzIGluIERhdGFGcm9tRmlsZSBidWZmZXIsDQo+ID4+ICsgdGhlbiBicmVhaw0KPiA+PiB3aGls ZS4NCj4gPj4gKyAgICAgICAgICAvLyAyLklmIG5vIG1vcmUgY2hhciBpbiBGaWxlMSBvciBGaWxl MiwgVGhlIFJlYWRTdGF0dXMgaXMNCj4gPj4gKyBJblByZXZEaWZmUG9pbnQNCj4gPj4gZm9yZXZl ci4NCj4gPj4gKyAgICAgICAgICAvLyAgIFNvIHRoZSBwcmV2aW91cyBkaWZmZXJlbnQgcG9pbnQg aXMgdGhlIGxhc3Qgb25lLCB0aGVuIGJyZWFrIHRoZQ0KPiB3aGlsZQ0KPiA+PiBibG9jay4NCj4g Pj4gKyAgICAgICAgICAvLw0KPiA+PiArICAgICAgICAgIGlmICggKERhdGFTaXplRnJvbUZpbGUx ID09IDAgJiYgSW5zZXJ0UG9zaXRpb24xID09IDAgJiYNCj4gPj4gRGF0YVNpemVGcm9tRmlsZTIg PT0gMCAmJiBJbnNlcnRQb3NpdGlvbjIgPT0gMCkgfHwNCj4gPj4gKyAgICAgICAgICAgICAgIChS ZWFkU3RhdHVzID09IEluUHJldkRpZmZQb2ludCAmJiAoRGF0YVNpemVGcm9tRmlsZTENCj4gPj4g KyA9PSAwIHx8DQo+ID4+IERhdGFTaXplRnJvbUZpbGUyID09IDApKQ0KPiA+PiArICAgICAgICAg ICAgICkgew0KPiA+PiArICAgICAgICAgICAgYnJlYWs7DQo+ID4+ICsgICAgICAgICAgfQ0KPiA+ PiArDQo+ID4+ICsgICAgICAgICAgaWYgKFJlYWRTdGF0dXMgPT0gT3V0T2ZEaWZmUG9pbnQpIHsN Cj4gPj4gKyAgICAgICAgICAgIGlmIChPbmVCeXRlRnJvbUZpbGUxICE9IE9uZUJ5dGVGcm9tRmls ZTIpIHsNCj4gPj4gKyAgICAgICAgICAgICAgUmVhZFN0YXR1cyA9IEluRGlmZlBvaW50Ow0KPiA+ PiArICAgICAgICAgICAgICBEaWZmUG9pbnRBZGRyZXNzID0gVGVtcEFkZHJlc3M7DQo+ID4+ICsg ICAgICAgICAgICAgIGlmIChEYXRhU2l6ZUZyb21GaWxlMSA9PSAxKSB7DQo+ID4+ICsgICAgICAg ICAgICAgICAgRGF0YUZyb21GaWxlMVtJbnNlcnRQb3NpdGlvbjErK10gPSBPbmVCeXRlRnJvbUZp bGUxOw0KPiA+PiArICAgICAgICAgICAgICB9DQo+ID4+ICsgICAgICAgICAgICAgIGlmIChEYXRh U2l6ZUZyb21GaWxlMiA9PSAxKSB7DQo+ID4+ICsgICAgICAgICAgICAgICAgRGF0YUZyb21GaWxl MltJbnNlcnRQb3NpdGlvbjIrK10gPSBPbmVCeXRlRnJvbUZpbGUyOw0KPiA+PiAgICAgICAgICAg ICAgICB9DQo+ID4+ICAgICAgICAgICAgICB9DQo+ID4+ICsgICAgICAgICAgfSBlbHNlIGlmIChS ZWFkU3RhdHVzID09IEluRGlmZlBvaW50KSB7DQo+ID4+ICsgICAgICAgICAgICBpZiAoRGF0YVNp emVGcm9tRmlsZTEgPT0gMSkgew0KPiA+PiArICAgICAgICAgICAgICBEYXRhRnJvbUZpbGUxW0lu c2VydFBvc2l0aW9uMSsrXSA9IE9uZUJ5dGVGcm9tRmlsZTE7DQo+ID4+ICsgICAgICAgICAgICB9 DQo+ID4+ICsgICAgICAgICAgICBpZiAoRGF0YVNpemVGcm9tRmlsZTIgPT0gMSkgew0KPiA+PiAr ICAgICAgICAgICAgICBEYXRhRnJvbUZpbGUyW0luc2VydFBvc2l0aW9uMisrXSA9IE9uZUJ5dGVG cm9tRmlsZTI7DQo+ID4+ICsgICAgICAgICAgICB9DQo+ID4+ICsgICAgICAgICAgfSBlbHNlIGlm IChSZWFkU3RhdHVzID09IEluUHJldkRpZmZQb2ludCkgew0KPiA+PiArICAgICAgICAgICAgaWYg KE9uZUJ5dGVGcm9tRmlsZTEgPT0gT25lQnl0ZUZyb21GaWxlMikgew0KPiA+PiArICAgICAgICAg ICAgICBSZWFkU3RhdHVzID0gT3V0T2ZEaWZmUG9pbnQ7DQo+ID4+ICsgICAgICAgICAgICB9DQo+ ID4+ICsgICAgICAgICAgfQ0KPiA+PiArDQo+ID4+ICsgICAgICAgICAgLy8NCj4gPj4gKyAgICAg ICAgICAvLyBSZWFkU3RhdHVzIHNob3VsZCBiZSBhbHdheXMgZXF1YWwgSW5EaWZmUG9pbnQuDQo+ ID4+ICsgICAgICAgICAgLy8NCj4gPj4gKyAgICAgICAgICBpZiAoIEluc2VydFBvc2l0aW9uMSA9 PSBEaWZmZXJlbnRCeXRlcyB8fA0KPiA+PiArICAgICAgICAgICAgICAgSW5zZXJ0UG9zaXRpb24y ID09IERpZmZlcmVudEJ5dGVzIHx8DQo+ID4+ICsgICAgICAgICAgICAgICAoRGF0YVNpemVGcm9t RmlsZTEgPT0gMCAmJiBEYXRhU2l6ZUZyb21GaWxlMiA9PSAwKQ0KPiA+PiArICAgICAgICAgICAg ICkgew0KPiA+PiArDQo+ID4+ICsgICAgICAgICAgICBTaGVsbFByaW50SGlpRXggKC0xLCAtMSwg TlVMTCwgU1RSSU5HX1RPS0VODQo+ID4+IChTVFJfQ09NUF9ESUZGRVJFTkNFX1BPSU5UKSwgZ1No ZWxsRGVidWcxSGlpSGFuZGxlLA0KPiA+PiArK0RpZmZQb2ludE51bWJlcik7DQo+ID4+ICsgICAg ICAgICAgICBQcmludERpZmZlcmVudFBvaW50IChGaWxlTmFtZTEsIERhdGFGcm9tRmlsZTEsDQo+ ID4+ICsgSW5zZXJ0UG9zaXRpb24xLA0KPiA+PiBEaWZmUG9pbnRBZGRyZXNzLCBEaWZmZXJlbnRC eXRlcyk7DQo+ID4+ICsgICAgICAgICAgICBQcmludERpZmZlcmVudFBvaW50IChGaWxlTmFtZTIs IERhdGFGcm9tRmlsZTIsDQo+ID4+ICsgSW5zZXJ0UG9zaXRpb24yLA0KPiA+PiBEaWZmUG9pbnRB ZGRyZXNzLCBEaWZmZXJlbnRCeXRlcyk7DQo+ID4+DQo+ID4+ICAgICAgICAgICAgICAvLw0KPiA+ PiAtICAgICAgICAgICAgLy8gUHJpbnQgb3V0IGJhc2VkIG9uIGhpZ2hlc3Qgb2YgdGhlIDQgYnl0 ZXMgdGhhdCBhcmUgZGlmZmVyZW50Lg0KPiA+PiArICAgICAgICAgICAgLy8gT25lIG9mIHR3byBi dWZmdWVycyBpcyBlbXB0eSwgaXQgbWVhbnMgdGhpcyBpcyB0aGUNCj4gPj4gKyBsYXN0IGRpZmZl cmVudA0KPiA+PiBwb2ludC4NCj4gPj4gICAgICAgICAgICAgIC8vDQo+ID4+IC0gICAgICAgICAg ICBpZiAoQURGX0ZpbGUxMyAhPSBBREZfRmlsZTIzKSB7DQo+ID4+IC0gICAgICAgICAgICAgIFNo ZWxsUHJpbnRIaWlFeCgNCj4gPj4gLSAgICAgICAgICAgICAgICAtMSwNCj4gPj4gLSAgICAgICAg ICAgICAgICAtMSwNCj4gPj4gLSAgICAgICAgICAgICAgICBOVUxMLA0KPiA+PiAtICAgICAgICAg ICAgICAgIFNUUklOR19UT0tFTiAoU1RSX0NPTVBfU1BPVF9GQUlMNCksDQo+ID4+IC0gICAgICAg ICAgICAgICAgZ1NoZWxsRGVidWcxSGlpSGFuZGxlLA0KPiA+PiAtICAgICAgICAgICAgICAgICsr RGlmZmVyZW50Q291bnQsDQo+ID4+IC0gICAgICAgICAgICAgICAgRmlsZU5hbWUxLA0KPiA+PiAt ICAgICAgICAgICAgICAgIERpZmZQb2ludEFkZHJlc3MsDQo+ID4+IC0gICAgICAgICAgICAgICAg RGF0YUZyb21GaWxlMSwgQURGX0ZpbGUxMSwgQURGX0ZpbGUxMiwgQURGX0ZpbGUxMywNCj4gPj4g LSAgICAgICAgICAgICAgICBEYXRhRnJvbUZpbGUxLCBBREZfRmlsZTExLCBBREZfRmlsZTEyLCBB REZfRmlsZTEzLA0KPiA+PiAtICAgICAgICAgICAgICAgIEZpbGVOYW1lMiwNCj4gPj4gLSAgICAg ICAgICAgICAgICBEaWZmUG9pbnRBZGRyZXNzLA0KPiA+PiAtICAgICAgICAgICAgICAgIERhdGFG cm9tRmlsZTIsIEFERl9GaWxlMjEsIEFERl9GaWxlMjIsIEFERl9GaWxlMjMsDQo+ID4+IC0gICAg ICAgICAgICAgICAgRGF0YUZyb21GaWxlMiwgQURGX0ZpbGUyMSwgQURGX0ZpbGUyMiwgQURGX0Zp bGUyMw0KPiA+PiAtICAgICAgICAgICAgICAgKTsNCj4gPj4gLSAgICAgICAgICAgIH0gZWxzZSBp ZiAoQURGX0ZpbGUxMiAhPSBBREZfRmlsZTIyKSB7DQo+ID4+IC0gICAgICAgICAgICAgIFNoZWxs UHJpbnRIaWlFeCgNCj4gPj4gLSAgICAgICAgICAgICAgICAtMSwNCj4gPj4gLSAgICAgICAgICAg ICAgICAtMSwNCj4gPj4gLSAgICAgICAgICAgICAgICBOVUxMLA0KPiA+PiAtICAgICAgICAgICAg ICAgIFNUUklOR19UT0tFTiAoU1RSX0NPTVBfU1BPVF9GQUlMMyksDQo+ID4+IC0gICAgICAgICAg ICAgICAgZ1NoZWxsRGVidWcxSGlpSGFuZGxlLA0KPiA+PiAtICAgICAgICAgICAgICAgICsrRGlm ZmVyZW50Q291bnQsDQo+ID4+IC0gICAgICAgICAgICAgICAgRmlsZU5hbWUxLA0KPiA+PiAtICAg ICAgICAgICAgICAgIERpZmZQb2ludEFkZHJlc3MsDQo+ID4+IC0gICAgICAgICAgICAgICAgRGF0 YUZyb21GaWxlMSwgQURGX0ZpbGUxMSwgQURGX0ZpbGUxMiwNCj4gPj4gLSAgICAgICAgICAgICAg ICBEYXRhRnJvbUZpbGUxLCBBREZfRmlsZTExLCBBREZfRmlsZTEyLA0KPiA+PiAtICAgICAgICAg ICAgICAgIEZpbGVOYW1lMiwNCj4gPj4gLSAgICAgICAgICAgICAgICBEaWZmUG9pbnRBZGRyZXNz LA0KPiA+PiAtICAgICAgICAgICAgICAgIERhdGFGcm9tRmlsZTIsIEFERl9GaWxlMjEsIEFERl9G aWxlMjIsDQo+ID4+IC0gICAgICAgICAgICAgICAgRGF0YUZyb21GaWxlMiwgQURGX0ZpbGUyMSwg QURGX0ZpbGUyMg0KPiA+PiAtICAgICAgICAgICAgICAgKTsNCj4gPj4gLSAgICAgICAgICAgIH0g ZWxzZSBpZiAoQURGX0ZpbGUxMSAhPSBBREZfRmlsZTIxKSB7DQo+ID4+IC0gICAgICAgICAgICAg IFNoZWxsUHJpbnRIaWlFeCgNCj4gPj4gLSAgICAgICAgICAgICAgICAtMSwNCj4gPj4gLSAgICAg ICAgICAgICAgICAtMSwNCj4gPj4gLSAgICAgICAgICAgICAgICBOVUxMLA0KPiA+PiAtICAgICAg ICAgICAgICAgIFNUUklOR19UT0tFTiAoU1RSX0NPTVBfU1BPVF9GQUlMMiksDQo+ID4+IC0gICAg ICAgICAgICAgICAgZ1NoZWxsRGVidWcxSGlpSGFuZGxlLA0KPiA+PiAtICAgICAgICAgICAgICAg ICsrRGlmZmVyZW50Q291bnQsDQo+ID4+IC0gICAgICAgICAgICAgICAgRmlsZU5hbWUxLA0KPiA+ PiAtICAgICAgICAgICAgICAgIERpZmZQb2ludEFkZHJlc3MsDQo+ID4+IC0gICAgICAgICAgICAg ICAgRGF0YUZyb21GaWxlMSwgQURGX0ZpbGUxMSwNCj4gPj4gLSAgICAgICAgICAgICAgICBEYXRh RnJvbUZpbGUxLCBBREZfRmlsZTExLA0KPiA+PiAtICAgICAgICAgICAgICAgIEZpbGVOYW1lMiwN Cj4gPj4gLSAgICAgICAgICAgICAgICBEaWZmUG9pbnRBZGRyZXNzLA0KPiA+PiAtICAgICAgICAg ICAgICAgIERhdGFGcm9tRmlsZTIsIEFERl9GaWxlMjEsDQo+ID4+IC0gICAgICAgICAgICAgICAg RGF0YUZyb21GaWxlMiwgQURGX0ZpbGUyMQ0KPiA+PiAtICAgICAgICAgICAgICAgKTsNCj4gPj4g KyAgICAgICAgICAgIGlmIChJbnNlcnRQb3NpdGlvbjEgPT0gMCB8fCBJbnNlcnRQb3NpdGlvbjIg PT0gMCkgew0KPiA+PiArICAgICAgICAgICAgICBicmVhazsNCj4gPj4gKyAgICAgICAgICAgIH0N Cj4gPj4gKw0KPiA+PiArICAgICAgICAgICAgZm9yIChJbmRleCA9IDE7IEluZGV4IDwgSW5zZXJ0 UG9zaXRpb24xICYmIEluZGV4IDwNCj4gPj4gKyBJbnNlcnRQb3NpdGlvbjI7DQo+ID4+IEluZGV4 KyspIHsNCj4gPj4gKyAgICAgICAgICAgICAgaWYgKERhdGFGcm9tRmlsZTFbSW5kZXhdID09IERh dGFGcm9tRmlsZTJbSW5kZXhdKSB7DQo+ID4+ICsgICAgICAgICAgICAgICAgUmVhZFN0YXR1cyA9 IE91dE9mRGlmZlBvaW50Ow0KPiA+PiArICAgICAgICAgICAgICAgIGJyZWFrOw0KPiA+PiArICAg ICAgICAgICAgICB9DQo+ID4+ICsgICAgICAgICAgICB9DQo+ID4+ICsNCj4gPj4gKyAgICAgICAg ICAgIGlmIChSZWFkU3RhdHVzID09IE91dE9mRGlmZlBvaW50KSB7DQo+ID4+ICsgICAgICAgICAg ICAgIC8vDQo+ID4+ICsgICAgICAgICAgICAgIC8vIFRyeSB0byBmaW5kIGEgbmV3IGRpZmZlcmVu dCBwb2ludCBpbiB0aGUgcmVzdCBvZiBEYXRhRnJvbUZpbGUuDQo+ID4+ICsgICAgICAgICAgICAg IC8vDQo+ID4+ICsgICAgICAgICAgICAgIGZvciAoOyBJbmRleCA8IE1BWCAoSW5zZXJ0UG9zaXRp b24xLEluc2VydFBvc2l0aW9uMik7IEluZGV4KyspIHsNCj4gPj4gKyAgICAgICAgICAgICAgICBp ZiAoRGF0YUZyb21GaWxlMVtJbmRleF0gIT0gRGF0YUZyb21GaWxlMltJbmRleF0pIHsNCj4gPj4g KyAgICAgICAgICAgICAgICAgIFJlYWRTdGF0dXMgPSBJbkRpZmZQb2ludDsNCj4gPj4gKyAgICAg ICAgICAgICAgICAgIERpZmZQb2ludEFkZHJlc3MgKz0gSW5kZXg7DQo+ID4+ICsgICAgICAgICAg ICAgICAgICBicmVhazsNCj4gPj4gKyAgICAgICAgICAgICAgICB9DQo+ID4+ICsgICAgICAgICAg ICAgIH0NCj4gPj4gICAgICAgICAgICAgIH0gZWxzZSB7DQo+ID4+IC0gICAgICAgICAgICAgIFNo ZWxsUHJpbnRIaWlFeCgNCj4gPj4gLSAgICAgICAgICAgICAgICAtMSwNCj4gPj4gLSAgICAgICAg ICAgICAgICAtMSwNCj4gPj4gLSAgICAgICAgICAgICAgICBOVUxMLA0KPiA+PiAtICAgICAgICAg ICAgICAgIFNUUklOR19UT0tFTiAoU1RSX0NPTVBfU1BPVF9GQUlMMSksDQo+ID4+IC0gICAgICAg ICAgICAgICAgZ1NoZWxsRGVidWcxSGlpSGFuZGxlLA0KPiA+PiAtICAgICAgICAgICAgICAgICsr RGlmZmVyZW50Q291bnQsDQo+ID4+IC0gICAgICAgICAgICAgICAgRmlsZU5hbWUxLA0KPiA+PiAt ICAgICAgICAgICAgICAgIERpZmZQb2ludEFkZHJlc3MsDQo+ID4+IC0gICAgICAgICAgICAgICAg RGF0YUZyb21GaWxlMSwNCj4gPj4gLSAgICAgICAgICAgICAgICBEYXRhRnJvbUZpbGUxLA0KPiA+ PiAtICAgICAgICAgICAgICAgIEZpbGVOYW1lMiwNCj4gPj4gLSAgICAgICAgICAgICAgICBEaWZm UG9pbnRBZGRyZXNzLA0KPiA+PiAtICAgICAgICAgICAgICAgIERhdGFGcm9tRmlsZTIsDQo+ID4+ IC0gICAgICAgICAgICAgICAgRGF0YUZyb21GaWxlMg0KPiA+PiAtICAgICAgICAgICAgICAgKTsN Cj4gPj4gKyAgICAgICAgICAgICAgLy8NCj4gPj4gKyAgICAgICAgICAgICAgLy8gRG9lc24ndCBm aW5kIGEgbmV3IGRpZmZlcmVudCBwb2ludCwgc3RpbGwgaW4gdGhlIHNhbWUgZGlmZmVyZW50DQo+ IHBvaW50Lg0KPiA+PiArICAgICAgICAgICAgICAvLw0KPiA+PiArICAgICAgICAgICAgICBSZWFk U3RhdHVzID0gSW5QcmV2RGlmZlBvaW50Ow0KPiA+PiAgICAgICAgICAgICAgfQ0KPiA+PiAtICAg ICAgICAgICAgU2hlbGxTdGF0dXMgPSBTSEVMTF9OT1RfRVFVQUw7DQo+ID4+ICsNCj4gPj4gKyAg ICAgICAgICAgIENvcHlNZW0gKERhdGFGcm9tRmlsZTEsIERhdGFGcm9tRmlsZTEgKyBJbmRleCwN Cj4gPj4gKyBJbnNlcnRQb3NpdGlvbjEgLQ0KPiA+PiBJbmRleCk7DQo+ID4+ICsgICAgICAgICAg ICBDb3B5TWVtIChEYXRhRnJvbUZpbGUyLCBEYXRhRnJvbUZpbGUyICsgSW5kZXgsDQo+ID4+ICsg SW5zZXJ0UG9zaXRpb24yIC0NCj4gPj4gSW5kZXgpOw0KPiA+PiArDQo+ID4+ICsgICAgICAgICAg ICBTZXRNZW0gKERhdGFGcm9tRmlsZTEgKyBJbnNlcnRQb3NpdGlvbjEgLSBJbmRleCwNCj4gPj4g KFVJTlROKURpZmZlcmVudEJ5dGVzIC0gSW5zZXJ0UG9zaXRpb24xICsgSW5kZXgsIDApOw0KPiA+ PiArICAgICAgICAgICAgU2V0TWVtIChEYXRhRnJvbUZpbGUyICsgSW5zZXJ0UG9zaXRpb24yIC0g SW5kZXgsDQo+ID4+IChVSU5UTilEaWZmZXJlbnRCeXRlcyAtIEluc2VydFBvc2l0aW9uMiArIElu ZGV4LCAwKTsNCj4gPj4gKw0KPiA+PiArICAgICAgICAgICAgSW5zZXJ0UG9zaXRpb24xIC09IElu ZGV4Ow0KPiA+PiArICAgICAgICAgICAgSW5zZXJ0UG9zaXRpb24yIC09IEluZGV4Ow0KPiA+PiAg ICAgICAgICAgIH0NCj4gPj4gICAgICAgICAgfQ0KPiA+PiAtICAgICAgICBpZiAoRGlmZmVyZW50 Q291bnQgPT0gMCkgew0KPiA+PiArDQo+ID4+ICsgICAgICAgIFNIRUxMX0ZSRUVfTk9OX05VTEwg KERhdGFGcm9tRmlsZTEpOw0KPiA+PiArICAgICAgICBTSEVMTF9GUkVFX05PTl9OVUxMIChEYXRh RnJvbUZpbGUyKTsNCj4gPj4gKw0KPiA+PiArICAgICAgICBpZiAoRGlmZlBvaW50TnVtYmVyID09 IDApIHsNCj4gPj4gICAgICAgICAgICBTaGVsbFByaW50SGlpRXgoLTEsIC0xLCBOVUxMLCBTVFJJ TkdfVE9LRU4NCj4gPj4gKFNUUl9DT01QX0ZPT1RFUl9QQVNTKSwgZ1NoZWxsRGVidWcxSGlpSGFu ZGxlKTsNCj4gPj4gICAgICAgICAgfSBlbHNlIHsNCj4gPj4gICAgICAgICAgICBTaGVsbFByaW50 SGlpRXgoLTEsIC0xLCBOVUxMLCBTVFJJTkdfVE9LRU4NCj4gPj4gKFNUUl9DT01QX0ZPT1RFUl9G QUlMKSwgZ1NoZWxsRGVidWcxSGlpSGFuZGxlKTsgZGlmZiAtLWdpdA0KPiA+Pg0KPiBhL1NoZWxs UGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvVWVmaVNoZWxsRGVidWcxQ29t bWFuDQo+ID4+IGRzTGliLnVuaQ0KPiA+Pg0KPiBiL1NoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxs RGVidWcxQ29tbWFuZHNMaWIvVWVmaVNoZWxsRGVidWcxQ29tbWFuDQo+ID4+IGRzTGliLnVuaQ0K PiA+PiBpbmRleCA3YzBjYTk4Li4yZDVkMTZmIDEwMDY0NA0KPiA+PiAtLS0NCj4gPj4NCj4gYS9T aGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERlYnVnMUNvbW1hbmRzTGliL1VlZmlTaGVsbERlYnVn MUNvbW1hbg0KPiA+PiBkc0xpYi51bmkNCj4gPj4gKysrDQo+ID4+DQo+IGIvU2hlbGxQa2cvTGli cmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9VZWZpU2hlbGxEZWJ1ZzFDb21tYW4NCj4g Pj4gZHNMaWIudW5pDQo+ID4+IEBAIC02NSwzMSArNjUsOCBAQA0KPiA+PiAgI3N0cmluZyBTVFJf REJMS19IRUFERVIgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiTEJBICUwMTZMWCBTaXplICUw OHgNCj4gPj4gYnl0ZXMgQmxrSW8gJTB4XHJcbiINCj4gPj4NCj4gPj4gICNzdHJpbmcgU1RSX0NP TVBfSEVBREVSICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkNvbXBhcmUgJXMNCj4gdG8gJXMu XHJcbiINCj4gPj4gLSNzdHJpbmcgU1RSX0NPTVBfU0laRV9GQUlMICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMgIkRpZmZlcmVuY2UgIyAxOiBGaWxlDQo+IHNpemUNCj4gPj4gbWlzbWF0Y2guXHJcbiIN Cj4gPj4gLSNzdHJpbmcgU1RSX0NPTVBfU1BPVF9GQUlMMSAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg IiINCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIkRpZmZlcmVuY2UgIyUgMmQ6XHJcbiINCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZpbGUxOiAlc1xyXG4iDQo+ID4+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICUwOHg6ICUwMngg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKiVjKlxyXG4iDQo+ID4+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGaWxlMjogJXNcclxuIg0K PiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi ICAlMDh4OiAlMDJ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIColYypcclxuIg0KPiA+ PiAtI3N0cmluZyBTVFJfQ09NUF9TUE9UX0ZBSUwyICAgICAgICNsYW5ndWFnZSBlbi1VUyAiIg0K PiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi RGlmZmVyZW5jZSAjJSAyZDpcclxuIg0KPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAiRmlsZTE6ICVzXHJcbiINCj4gPj4gLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgJTA4eDogJTAyeCAlMDJ4 ICAgICAgICAgICAgICAgICAgICAgICAgICAgIColYyVjKlxyXG4iDQo+ID4+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJGaWxlMjogJXNcclxuIg0K PiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi ICAlMDh4OiAlMDJ4ICUwMnggICAgICAgICAgICAgICAgICAgICAgICAgICAgKiVjJWMqXHJcbiIN Cj4gPj4gLSNzdHJpbmcgU1RSX0NPTVBfU1BPVF9GQUlMMyAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg IiINCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIkRpZmZlcmVuY2UgIyUgMmQ6XHJcbiINCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZpbGUxOiAlc1xyXG4iDQo+ID4+IC0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICUwOHg6ICUwMngg JTAyeCAlMDJ4DQo+ID4+IColYyVjJWMqXHJcbiINCj4gPj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZpbGUyOiAlc1xyXG4iDQo+ID4+IC0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICIgICUwOHg6ICUw MnggJTAyeCAlMDJ4DQo+ID4+IColYyVjJWMqXHJcbiINCj4gPj4gLSNzdHJpbmcgU1RSX0NPTVBf U1BPVF9GQUlMNCAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiINCj4gPj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIkRpZmZlcmVuY2UgIyUgMmQ6XHJc biINCj4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIkZpbGUxOiAlc1xyXG4iDQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICIgICUwOHg6ICUwMnggJTAyeCAlMDJ4ICUwMngNCj4gPj4gKiVj JWMlYyVjKlxyXG4iDQo+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJGaWxlMjogJXNcclxuIg0KPiA+PiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiICAlMDh4OiAlMDJ4ICUwMnggJTAyeCAlMDJ4 DQo+ID4+IColYyVjJWMlYypcclxuIg0KPiA+PiArI3N0cmluZyBTVFJfQ09NUF9ESUZGRVJFTkNF X1BPSU5UICNsYW5ndWFnZSBlbi1VUyAiRGlmZmVyZW5jZSAjJQ0KPiA+PiAydTpcclxuIg0KPiA+ PiArI3N0cmluZyBTVFJfQ09NUF9FTkRfT0ZfRklMRSAgICAgICNsYW5ndWFnZSBlbi1VUyAiIDxF T0Y+Ig0KPiA+Pg0KPiA+PiAgI3N0cmluZyBTVFJfQ09NUF9GT09URVJfRkFJTCAgICAgICNsYW5n dWFnZSBlbi1VUyAiW2RpZmZlcmVuY2UocykNCj4gPj4gZW5jb3VudGVyZWRdIFxyXG4iDQo+ID4+ ICAjc3RyaW5nIFNUUl9DT01QX0ZPT1RFUl9QQVNTICAgICAgI2xhbmd1YWdlIGVuLVVTICJbbm8g ZGlmZmVyZW5jZXMNCj4gPj4gZW5jb3VudGVyZWRdXHJcbiINCj4gPj4gLS0NCj4gPj4gMi45LjAu d2luZG93cy4xDQo+ID4NCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXw0KPiA+IGVkazItZGV2ZWwgbWFpbGluZyBsaXN0DQo+ID4gZWRrMi1kZXZlbEBs aXN0cy4wMS5vcmcNCj4gPiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2Vk azItZGV2ZWwNCg==