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.93; helo=mga11.intel.com; envelope-from=yonghong.zhu@intel.com; receiver=edk2-devel@lists.01.org Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) (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 097582035625A for ; Tue, 5 Dec 2017 05:52:25 -0800 (PST) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 05 Dec 2017 05:56:56 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.45,364,1508828400"; d="scan'208";a="181540049" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga005.jf.intel.com with ESMTP; 05 Dec 2017 05:56:56 -0800 Received: from fmsmsx152.amr.corp.intel.com (10.18.125.5) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 5 Dec 2017 05:56:55 -0800 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by FMSMSX152.amr.corp.intel.com (10.18.125.5) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 5 Dec 2017 05:56:55 -0800 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; Tue, 5 Dec 2017 21:56:53 +0800 From: "Zhu, Yonghong" To: Leif Lindholm CC: "edk2-devel@lists.01.org" , "Feng, YunhuaX" , "Gao, Liming" , "Zhu, Yonghong" Thread-Topic: [edk2] [Patch 3/4 V3] BaseTools: Update Gensec to set PROCESSING_REQUIRED value Thread-Index: AQHTaRq9g8Mg0fC9hka98HZtwzTFlKM0JuIAgACoRJA= Date: Tue, 5 Dec 2017 13:56:53 +0000 Message-ID: References: <1511964126-6716-1-git-send-email-yonghong.zhu@intel.com> <1511964126-6716-4-git-send-email-yonghong.zhu@intel.com> <20171205115302.2fbjq7572iqztsgi@bivouac.eciton.net> In-Reply-To: <20171205115302.2fbjq7572iqztsgi@bivouac.eciton.net> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [Patch 3/4 V3] BaseTools: Update Gensec to set PROCESSING_REQUIRED value 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: Tue, 05 Dec 2017 13:52:26 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgTGVpZiwNCg0KVGhhbmtzLiBJIGp1c3Qgc2VudCBvdXQgdGhlIHBhdGNoIHRvIGZpeCB0aGlz IGJ1Zy4gQ291bGQgeW91IGhlbHAgdG8gdHJ5IGl0Pw0KDQpCZXN0IFJlZ2FyZHMsDQpaaHUgWW9u Z2hvbmcNCg0KDQotLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogTGVpZiBMaW5kaG9s bSBbbWFpbHRvOmxlaWYubGluZGhvbG1AbGluYXJvLm9yZ10gDQpTZW50OiBUdWVzZGF5LCBEZWNl bWJlciAwNSwgMjAxNyA3OjUzIFBNDQpUbzogWmh1LCBZb25naG9uZyA8eW9uZ2hvbmcuemh1QGlu dGVsLmNvbT4NCkNjOiBlZGsyLWRldmVsQGxpc3RzLjAxLm9yZzsgRmVuZywgWXVuaHVhWCA8eXVu aHVheC5mZW5nQGludGVsLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVsLmNvbT4N ClN1YmplY3Q6IFJlOiBbZWRrMl0gW1BhdGNoIDMvNCBWM10gQmFzZVRvb2xzOiBVcGRhdGUgR2Vu c2VjIHRvIHNldCBQUk9DRVNTSU5HX1JFUVVJUkVEIHZhbHVlDQoNClRoaXMgcGF0Y2ggaGFzIGJy b2tlbiBCYXNlVG9vbHMgYnVpbGQgd2l0aCBHQ0Mgb24gbWFzdGVyOg0KDQptYWtlIC1DIEdlblNl Yw0KbWFrZVsyXTogRW50ZXJpbmcgZGlyZWN0b3J5ICcvd29yay9naXQvZWRrMi9CYXNlVG9vbHMv U291cmNlL0MvR2VuU2VjJw0KZ2NjICAtYyAtTUQgLWZzaG9ydC13Y2hhciAtZm5vLXN0cmljdC1h bGlhc2luZyAtV2FsbCAtV2Vycm9yIC1Xbm8tZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMgLVduby11 bnVzZWQtcmVzdWx0IC1ub3N0ZGxpYiAtYyAtZyAgLUkgLi4gLUkgLi4vSW5jbHVkZS9Db21tb24g LUkgLi4vSW5jbHVkZS8gLUkgLi4vSW5jbHVkZS9JbmR1c3RyeVN0YW5kYXJkIC1JIC4uL0NvbW1v bi8gLUkgLi4gLUkgLiAtSSAuLi9JbmNsdWRlL1g2NC8gIC1PMiBHZW5TZWMuYyAtbyBHZW5TZWMu byBJbiBmaWxlIGluY2x1ZGVkIGZyb20gLi4vSW5jbHVkZS9Db21tb24vVWVmaUJhc2VUeXBlcy5o OjE5OjAsDQogICAgICAgICAgICAgICAgIGZyb20gR2VuU2VjLmM6MjA6DQpHZW5TZWMuYzogSW4g ZnVuY3Rpb24g4oCYbWFpbuKAmToNCi4uL0luY2x1ZGUvQ29tbW9uL0Jhc2VUeXBlcy5oOjE3ODoz ODogZXJyb3I6IG92ZXJmbG93IGluIGltcGxpY2l0IGNvbnN0YW50IGNvbnZlcnNpb24gWy1XZXJy b3I9b3ZlcmZsb3ddDQogI2RlZmluZSBFTkNPREVfRVJST1IoYSkgICAgICAgICAgICAgIChNQVhf QklUIHwgKGEpKQ0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQouLi9J bmNsdWRlL0NvbW1vbi9CYXNlVHlwZXMuaDoyMDQ6Mzg6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBt YWNybyDigJhFTkNPREVfRVJST1LigJkNCiAjZGVmaW5lIFJFVFVSTl9BQk9SVEVEICAgICAgICAg ICAgICAgRU5DT0RFX0VSUk9SICgyMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXn5+fn5+fn5+fn5+DQouLi9JbmNsdWRlL0NvbW1vbi9VZWZpQmFzZVR5cGVzLmg6MTE5 OjM1OiBub3RlOiBpbiBleHBhbnNpb24gb2YgbWFjcm8g4oCYUkVUVVJOX0FCT1JURUTigJkNCiAj ZGVmaW5lIEVGSV9BQk9SVEVEICAgICAgICAgICAgICAgUkVUVVJOX0FCT1JURUQgICAgICAgICAg ICAgIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fg0K R2VuU2VjLmM6MTMyOToxNjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEVGSV9BQk9S VEVE4oCZDQogICAgICAgICByZXR1cm4gRUZJX0FCT1JURUQ7DQogICAgICAgICAgICAgICAgXn5+ fn5+fn5+fn4NCi4uL0luY2x1ZGUvQ29tbW9uL0Jhc2VUeXBlcy5oOjE3ODozODogZXJyb3I6IG92 ZXJmbG93IGluIGltcGxpY2l0IGNvbnN0YW50IGNvbnZlcnNpb24gWy1XZXJyb3I9b3ZlcmZsb3dd DQogI2RlZmluZSBFTkNPREVfRVJST1IoYSkgICAgICAgICAgICAgIChNQVhfQklUIHwgKGEpKQ0K ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBeDQouLi9JbmNsdWRlL0NvbW1v bi9CYXNlVHlwZXMuaDoyMDQ6Mzg6IG5vdGU6IGluIGV4cGFuc2lvbiBvZiBtYWNybyDigJhFTkNP REVfRVJST1LigJkNCiAjZGVmaW5lIFJFVFVSTl9BQk9SVEVEICAgICAgICAgICAgICAgRU5DT0RF X0VSUk9SICgyMSkNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXn5+fn5+ fn5+fn5+DQouLi9JbmNsdWRlL0NvbW1vbi9VZWZpQmFzZVR5cGVzLmg6MTE5OjM1OiBub3RlOiBp biBleHBhbnNpb24gb2YgbWFjcm8g4oCYUkVUVVJOX0FCT1JURUTigJkNCiAjZGVmaW5lIEVGSV9B Qk9SVEVEICAgICAgICAgICAgICAgUkVUVVJOX0FCT1JURUQgICAgICAgICAgICAgIA0KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBefn5+fn5+fn5+fn5+fg0KR2VuU2VjLmM6MTM0 MzoxNjogbm90ZTogaW4gZXhwYW5zaW9uIG9mIG1hY3JvIOKAmEVGSV9BQk9SVEVE4oCZDQogICAg ICAgICByZXR1cm4gRUZJX0FCT1JURUQ7DQogICAgICAgICAgICAgICAgXn5+fn5+fn5+fn4NCkdl blNlYy5jOjEzNTQ6MjE6IGVycm9yOiBwb2ludGVyIHRhcmdldHMgaW4gcGFzc2luZyBhcmd1bWVu dCAxIG9mIOKAmHN0cmNhc2VjbXDigJkgZGlmZmVyIGluIHNpZ25lZG5lc3MgWy1XZXJyb3I9cG9p bnRlci1zaWduXQ0KICAgICAgICAgaWYgKHN0cmljbXAoRHVtbXlGaWxlQnVmZmVyLCBJbkZpbGVC dWZmZXIgKyAoSW5GaWxlU2l6ZSAtIER1bW15RmlsZVNpemUpKSA9PSAwKXsNCiAgICAgICAgICAg ICAgICAgICAgIF5+fn5+fn5+fn5+fn5+fg0KSW4gZmlsZSBpbmNsdWRlZCBmcm9tIEdlblNlYy5j OjE3OjA6DQovdXNyL2luY2x1ZGUvc3RyaW5nLmg6NTI5OjEyOiBub3RlOiBleHBlY3RlZCDigJhj b25zdCBjaGFyICrigJkgYnV0IGFyZ3VtZW50IGlzIG9mIHR5cGUg4oCYVUlOVDggKiB7YWthIHVu c2lnbmVkIGNoYXIgKn3igJkNCiBleHRlcm4gaW50IHN0cmNhc2VjbXAgKGNvbnN0IGNoYXIgKl9f czEsIGNvbnN0IGNoYXIgKl9fczIpDQogICAgICAgICAgICBefn5+fn5+fn5+DQpHZW5TZWMuYzox MzU0OjM4OiBlcnJvcjogcG9pbnRlciB0YXJnZXRzIGluIHBhc3NpbmcgYXJndW1lbnQgMiBvZiDi gJhzdHJjYXNlY21w4oCZIGRpZmZlciBpbiBzaWduZWRuZXNzIFstV2Vycm9yPXBvaW50ZXItc2ln bl0NCiAgICAgICAgIGlmIChzdHJpY21wKER1bW15RmlsZUJ1ZmZlciwgSW5GaWxlQnVmZmVyICsg KEluRmlsZVNpemUgLSBEdW1teUZpbGVTaXplKSkgPT0gMCl7DQogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF5+fn5+fn5+fn5+fiBJbiBmaWxlIGluY2x1ZGVkIGZyb20gR2Vu U2VjLmM6MTc6MDoNCi91c3IvaW5jbHVkZS9zdHJpbmcuaDo1Mjk6MTI6IG5vdGU6IGV4cGVjdGVk IOKAmGNvbnN0IGNoYXIgKuKAmSBidXQgYXJndW1lbnQgaXMgb2YgdHlwZSDigJhVSU5UOCAqIHth a2EgdW5zaWduZWQgY2hhciAqfeKAmQ0KIGV4dGVybiBpbnQgc3RyY2FzZWNtcCAoY29uc3QgY2hh ciAqX19zMSwgY29uc3QgY2hhciAqX19zMikNCiAgICAgICAgICAgIF5+fn5+fn5+fn4NCmNjMTog YWxsIHdhcm5pbmdzIGJlaW5nIHRyZWF0ZWQgYXMgZXJyb3JzDQouLi9NYWtlZmlsZXMvZm9vdGVy Lm1ha2VmaWxlOjI3OiByZWNpcGUgZm9yIHRhcmdldCAnR2VuU2VjLm8nIGZhaWxlZA0KbWFrZVsy XTogKioqIFtHZW5TZWMub10gRXJyb3IgMQ0KbWFrZVsyXTogTGVhdmluZyBkaXJlY3RvcnkgJy93 b3JrL2dpdC9lZGsyL0Jhc2VUb29scy9Tb3VyY2UvQy9HZW5TZWMnDQpHTlVtYWtlZmlsZTo4NDog cmVjaXBlIGZvciB0YXJnZXQgJ0dlblNlYycgZmFpbGVkDQptYWtlWzFdOiAqKiogW0dlblNlY10g RXJyb3IgMg0KbWFrZVsxXTogTGVhdmluZyBkaXJlY3RvcnkgJy93b3JrL2dpdC9lZGsyL0Jhc2VU b29scy9Tb3VyY2UvQycNCkdOVW1ha2VmaWxlOjI1OiByZWNpcGUgZm9yIHRhcmdldCAnU291cmNl L0MnIGZhaWxlZA0KbWFrZTogKioqIFtTb3VyY2UvQ10gRXJyb3IgMg0KbWFrZTogTGVhdmluZyBk aXJlY3RvcnkgJy93b3JrL2dpdC9lZGsyL0Jhc2VUb29scycNCg0KDQpPbiBXZWQsIE5vdiAyOSwg MjAxNyBhdCAxMDowMjowNVBNICswODAwLCBZb25naG9uZyBaaHUgd3JvdGU6DQo+IFRoaXMgcGF0 Y2ggYWRkIG5ldyBvcHRpb24gLS1kdW1teSBmaWxlLCBhbmQgd2UgY29tcGFyZSB0aGUgZHVtbXB5 IGZpbGUgDQo+IHdpdGggaW5wdXQgZmlsZSB0byBkZWNpZGUgd2hldGhlciB3ZSBuZWVkIHRvIHNl dCBQUk9DRVNTSU5HX1JFUVVJUkVEIA0KPiB2YWx1ZS4NCj4gDQo+IENjOiBMaW1pbmcgR2FvIDxs aW1pbmcuZ2FvQGludGVsLmNvbT4NCj4gQ29udHJpYnV0ZWQtdW5kZXI6IFRpYW5vQ29yZSBDb250 cmlidXRpb24gQWdyZWVtZW50IDEuMQ0KPiBTaWduZWQtb2ZmLWJ5OiBZdW5odWEgRmVuZyA8eXVu aHVheC5mZW5nQGludGVsLmNvbT4NCj4gLS0tDQo+ICBCYXNlVG9vbHMvU291cmNlL0MvR2VuU2Vj L0dlblNlYy5jIHwgNzQgDQo+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr DQo+ICAxIGZpbGUgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKQ0KPiANCj4gZGlmZiAtLWdpdCBh L0Jhc2VUb29scy9Tb3VyY2UvQy9HZW5TZWMvR2VuU2VjLmMgDQo+IGIvQmFzZVRvb2xzL1NvdXJj ZS9DL0dlblNlYy9HZW5TZWMuYw0KPiBpbmRleCBkOWNkYzFmLi45MDQ5MjZjIDEwMDY0NA0KPiAt LS0gYS9CYXNlVG9vbHMvU291cmNlL0MvR2VuU2VjL0dlblNlYy5jDQo+ICsrKyBiL0Jhc2VUb29s cy9Tb3VyY2UvQy9HZW5TZWMvR2VuU2VjLmMNCj4gQEAgLTE4NSwxMCArMTg1LDEzIEBAIFJldHVy bnM6DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VkIGluIFZlciBzZWN0aW9uLlxuIik7 DQo+ICAgIGZwcmludGYgKHN0ZG91dCwgIiAgLS1zZWN0aW9uYWxpZ24gU2VjdGlvbkFsaWduXG5c DQo+ICAgICAgICAgICAgICAgICAgICAgICAgICBTZWN0aW9uQWxpZ24gcG9pbnRzIHRvIHNlY3Rp b24gYWxpZ25tZW50LCB3aGljaCBzdXBwb3J0XG5cDQo+ICAgICAgICAgICAgICAgICAgICAgICAg ICB0aGUgYWxpZ25tZW50IHNjb3BlIDF+MTZNLiBJdCBpcyBzcGVjaWZpZWQgaW4gc2FtZVxuXA0K PiAgICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXIgdGhhdCB0aGUgc2VjdGlvbiBmaWxlIGlz IGlucHV0LlxuIik7DQo+ICsgIGZwcmludGYgKHN0ZG91dCwgIiAgLS1kdW1teSBkdW1teWZpbGVc blwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBhcmUgZHVtbXB5ZmlsZSB3aXRoIGlu cHV0X2ZpbGUgdG8gZGVjaWRlIHdoZXRoZXJcblwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg IG5lZWQgdG8gc2V0IFBST0NFU1NJTkdfUkVRVUlSRUQgDQo+ICsgYXR0cmlidXRlLlxuIik7DQo+ ICAgIGZwcmludGYgKHN0ZG91dCwgIiAgLXYsIC0tdmVyYm9zZSAgICAgICAgIFR1cm4gb24gdmVy Ym9zZSBvdXRwdXQgd2l0aCBpbmZvcm1hdGlvbmFsIG1lc3NhZ2VzLlxuIik7DQo+ICAgIGZwcmlu dGYgKHN0ZG91dCwgIiAgLXEsIC0tcXVpZXQgICAgICAgICAgIERpc2FibGUgYWxsIG1lc3NhZ2Vz IGV4Y2VwdCBrZXkgbWVzc2FnZSBhbmQgZmF0YWwgZXJyb3JcbiIpOw0KPiAgICBmcHJpbnRmIChz dGRvdXQsICIgIC1kLCAtLWRlYnVnIGxldmVsICAgICBFbmFibGUgZGVidWcgbWVzc2FnZXMsIGF0 IGlucHV0IGRlYnVnIGxldmVsLlxuIik7DQo+ICAgIGZwcmludGYgKHN0ZG91dCwgIiAgLS12ZXJz aW9uICAgICAgICAgICAgIFNob3cgcHJvZ3JhbSdzIHZlcnNpb24gbnVtYmVyIGFuZCBleGl0Llxu Iik7DQo+ICAgIGZwcmludGYgKHN0ZG91dCwgIiAgLWgsIC0taGVscCAgICAgICAgICAgIFNob3cg dGhpcyBoZWxwIG1lc3NhZ2UgYW5kIGV4aXQuXG4iKTsNCj4gQEAgLTEwMjYsMTAgKzEwMjksMTcg QEAgUmV0dXJuczoNCj4gICAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICAg IFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgTG9nTGV2ZWw7DQo+ICAgIFVJTlQzMiAgICAgICAg ICAgICAgICAgICAgKklucHV0RmlsZUFsaWduOw0KPiAgICBVSU5UMzIgICAgICAgICAgICAgICAg ICAgIElucHV0RmlsZUFsaWduTnVtOw0KPiAgICBFRklfQ09NTU9OX1NFQ1RJT05fSEVBREVSICpT ZWN0aW9uSGVhZGVyOw0KPiArICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICpEdW1teUZpbGVO YW1lOw0KPiArICBGSUxFICAgICAgICAgICAgICAgICAgICAgICpEdW1teUZpbGU7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgRHVtbXlGaWxlU2l6ZTsNCj4gKyAgVUlOVDggICAgICAg ICAgICAgICAgICAgICAqRHVtbXlGaWxlQnVmZmVyOw0KPiArICBGSUxFICAgICAgICAgICAgICAg ICAgICAgICpJbkZpbGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgKkluRmlsZUJ1 ZmZlcjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBJbkZpbGVTaXplOw0KPiAgDQo+ ICAgIElucHV0RmlsZUFsaWduICAgICAgICA9IE5VTEw7DQo+ICAgIElucHV0RmlsZUFsaWduTnVt ICAgICA9IDA7DQo+ICAgIElucHV0RmlsZU5hbWUgICAgICAgICA9IE5VTEw7DQo+ICAgIE91dHB1 dEZpbGVOYW1lICAgICAgICA9IE5VTEw7DQo+IEBAIC0xMDQ3LDEwICsxMDU3LDE3IEBAIFJldHVy bnM6DQo+ICAgIFN0YXR1cyAgICAgICAgICAgICAgICA9IFNUQVRVU19TVUNDRVNTOw0KPiAgICBM b2dMZXZlbCAgICAgICAgICAgICAgPSAwOw0KPiAgICBTZWN0R3VpZEhlYWRlckxlbmd0aCAgPSAw Ow0KPiAgICBWZXJzaW9uU2VjdCAgICAgICAgICAgPSBOVUxMOw0KPiAgICBVaVNlY3QgICAgICAg ICAgICAgICAgPSBOVUxMOw0KPiArICBEdW1teUZpbGVTaXplICAgICAgICAgPSAwOw0KPiArICBE dW1teUZpbGVOYW1lICAgICAgICAgPSBOVUxMOw0KPiArICBEdW1teUZpbGUgICAgICAgICAgICAg PSBOVUxMOw0KPiArICBEdW1teUZpbGVCdWZmZXIgICAgICAgPSBOVUxMOw0KPiArICBJbkZpbGUg ICAgICAgICAgICAgICAgPSBOVUxMOw0KPiArICBJbkZpbGVTaXplICAgICAgICAgICAgPSAwOw0K PiArICBJbkZpbGVCdWZmZXIgICAgICAgICAgPSBOVUxMOw0KPiAgICANCj4gICAgU2V0VXRpbGl0 eU5hbWUgKFVUSUxJVFlfTkFNRSk7DQo+ICAgIA0KPiAgICBpZiAoYXJnYyA9PSAxKSB7DQo+ICAg ICAgRXJyb3IgKE5VTEwsIDAsIDEwMDEsICJNaXNzaW5nIG9wdGlvbnMiLCAiTm8gb3B0aW9ucyBp bnB1dCIpOyBAQCANCj4gLTExMTcsMTAgKzExMzQsMjAgQEAgUmV0dXJuczoNCj4gICAgICAgIH0N Cj4gICAgICAgIGFyZ2MgLT0gMjsNCj4gICAgICAgIGFyZ3YgKz0gMjsNCj4gICAgICAgIGNvbnRp bnVlOw0KPiAgICAgIH0NCj4gKyAgICBpZiAoc3RyaWNtcCAoYXJndlswXSwgIi0tZHVtbXkiKSA9 PSAwKSB7DQo+ICsgICAgICBEdW1teUZpbGVOYW1lID0gYXJndlsxXTsNCj4gKyAgICAgIGlmIChE dW1teUZpbGVOYW1lID09IE5VTEwpIHsNCj4gKyAgICAgICAgRXJyb3IgKE5VTEwsIDAsIDEwMDMs ICJJbnZhbGlkIG9wdGlvbiB2YWx1ZSIsICJEdW1teSBmaWxlIGNhbid0IGJlIE5VTEwiKTsNCj4g KyAgICAgICAgZ290byBGaW5pc2g7DQo+ICsgICAgICB9DQo+ICsgICAgICBhcmdjIC09IDI7DQo+ ICsgICAgICBhcmd2ICs9IDI7DQo+ICsgICAgICBjb250aW51ZTsNCj4gKyAgICB9DQo+ICANCj4g ICAgICBpZiAoKHN0cmljbXAgKGFyZ3ZbMF0sICItciIpID09IDApIHx8IChzdHJpY21wIChhcmd2 WzBdLCAiLS1hdHRyaWJ1dGVzIikgPT0gMCkpIHsNCj4gICAgICAgIGlmIChhcmd2WzFdID09IE5V TEwpIHsNCj4gICAgICAgICAgRXJyb3IgKE5VTEwsIDAsIDEwMDMsICJJbnZhbGlkIG9wdGlvbiB2 YWx1ZSIsICJHdWlkIHNlY3Rpb24gYXR0cmlidXRlcyBjYW4ndCBiZSBOVUxMIik7DQo+ICAgICAg ICAgIGdvdG8gRmluaXNoOw0KPiBAQCAtMTI5MCwxMCArMTMxNyw1NyBAQCBSZXR1cm5zOg0KPiAg ICAgIGdvdG8gRmluaXNoOw0KPiAgICB9DQo+ICANCj4gICAgVmVyYm9zZU1zZyAoIiVzIHRvb2wg c3RhcnQuIiwgVVRJTElUWV9OQU1FKTsNCj4gIA0KPiArICBpZiAoRHVtbXlGaWxlTmFtZSAhPSBO VUxMKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gT3BlbiBmaWxlIGFuZCByZWFkIGNvbnRl bnRzDQo+ICsgICAgICAvLw0KPiArICAgICAgRHVtbXlGaWxlID0gZm9wZW4gKExvbmdGaWxlUGF0 aCAoRHVtbXlGaWxlTmFtZSksICJyYiIpOw0KPiArICAgICAgaWYgKER1bW15RmlsZSA9PSBOVUxM KSB7DQo+ICsgICAgICAgIEVycm9yIChOVUxMLCAwLCAwMDAxLCAiRXJyb3Igb3BlbmluZyBmaWxl IiwgRHVtbXlGaWxlTmFtZSk7DQo+ICsgICAgICAgIHJldHVybiBFRklfQUJPUlRFRDsNCj4gKyAg ICAgIH0NCj4gKw0KPiArICAgICAgZnNlZWsgKER1bW15RmlsZSwgMCwgU0VFS19FTkQpOw0KPiAr ICAgICAgRHVtbXlGaWxlU2l6ZSA9IGZ0ZWxsIChEdW1teUZpbGUpOw0KPiArICAgICAgZnNlZWsg KER1bW15RmlsZSwgMCwgU0VFS19TRVQpOw0KPiArICAgICAgRHVtbXlGaWxlQnVmZmVyID0gKFVJ TlQ4ICopIG1hbGxvYyAoRHVtbXlGaWxlU2l6ZSk7DQo+ICsgICAgICBmcmVhZChEdW1teUZpbGVC dWZmZXIsIDEsIER1bW15RmlsZVNpemUsIER1bW15RmlsZSk7DQo+ICsgICAgICBmY2xvc2UoRHVt bXlGaWxlKTsNCj4gKyAgICAgIERlYnVnTXNnIChOVUxMLCAwLCA5LCAiRHVtbXkgZmlsZXMiLCAi dGhlIGR1bW15IGZpbGUgbmFtZSBpcyAlcyANCj4gKyBhbmQgdGhlIHNpemUgaXMgJXUgYnl0ZXMi LCBEdW1teUZpbGVOYW1lLCAodW5zaWduZWQpIER1bW15RmlsZVNpemUpOw0KPiArDQo+ICsgICAg ICBJbkZpbGUgPSBmb3BlbihMb25nRmlsZVBhdGgoSW5wdXRGaWxlTmFtZVswXSksICJyYiIpOw0K PiArICAgICAgaWYgKEluRmlsZSA9PSBOVUxMKSB7DQo+ICsgICAgICAgIEVycm9yIChOVUxMLCAw LCAwMDAxLCAiRXJyb3Igb3BlbmluZyBmaWxlIiwgSW5wdXRGaWxlTmFtZVswXSk7DQo+ICsgICAg ICAgIHJldHVybiBFRklfQUJPUlRFRDsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgZnNlZWsg KEluRmlsZSwgMCwgU0VFS19FTkQpOw0KPiArICAgICAgSW5GaWxlU2l6ZSA9IGZ0ZWxsIChJbkZp bGUpOw0KPiArICAgICAgZnNlZWsgKEluRmlsZSwgMCwgU0VFS19TRVQpOw0KPiArICAgICAgSW5G aWxlQnVmZmVyID0gKFVJTlQ4ICopIG1hbGxvYyAoSW5GaWxlU2l6ZSk7DQo+ICsgICAgICBmcmVh ZChJbkZpbGVCdWZmZXIsIDEsIEluRmlsZVNpemUsIEluRmlsZSk7DQo+ICsgICAgICBmY2xvc2Uo SW5GaWxlKTsNCj4gKyAgICAgIERlYnVnTXNnIChOVUxMLCAwLCA5LCAiSW5wdXQgZmlsZXMiLCAi dGhlIGlucHV0IGZpbGUgbmFtZSBpcyAlcyBhbmQgdGhlIHNpemUgaXMgJXUgYnl0ZXMiLCBJbnB1 dEZpbGVOYW1lWzBdLCAodW5zaWduZWQpIEluRmlsZVNpemUpOw0KPiArICAgICAgaWYgKEluRmls ZVNpemUgPiBEdW1teUZpbGVTaXplKXsNCj4gKyAgICAgICAgaWYgKHN0cmljbXAoRHVtbXlGaWxl QnVmZmVyLCBJbkZpbGVCdWZmZXIgKyAoSW5GaWxlU2l6ZSAtIER1bW15RmlsZVNpemUpKSA9PSAw KXsNCj4gKyAgICAgICAgICBTZWN0R3VpZEhlYWRlckxlbmd0aCA9IEluRmlsZVNpemUgLSBEdW1t eUZpbGVTaXplOw0KPiArICAgICAgICB9DQo+ICsgICAgICB9DQo+ICsgICAgICBpZiAoU2VjdEd1 aWRIZWFkZXJMZW5ndGggPT0gMCkgew0KPiArICAgICAgICBTZWN0R3VpZEF0dHJpYnV0ZSB8PSBF RklfR1VJREVEX1NFQ1RJT05fUFJPQ0VTU0lOR19SRVFVSVJFRDsNCj4gKyAgICAgIH0NCj4gKyAg ICAgIGlmIChEdW1teUZpbGVCdWZmZXIgIT0gTlVMTCkgew0KPiArICAgICAgICBmcmVlIChEdW1t eUZpbGVCdWZmZXIpOw0KPiArICAgICAgfQ0KPiArICAgICAgaWYgKEluRmlsZUJ1ZmZlciAhPSBO VUxMKSB7DQo+ICsgICAgICAgIGZyZWUgKEluRmlsZUJ1ZmZlcik7DQo+ICsgICAgICB9DQo+ICsg ICAgfQ0KPiArDQo+ICAgIC8vDQo+ICAgIC8vIFBhcnNlIGFsbCBjb21tYW5kIGxpbmUgcGFyYW1l dGVycyB0byBnZXQgdGhlIGNvcnJlc3BvbmRpbmcgc2VjdGlvbiB0eXBlLg0KPiAgICAvLw0KPiAg ICBWZXJib3NlTXNnICgiU2VjdGlvbiB0eXBlIGlzICVzIiwgU2VjdGlvbk5hbWUpOw0KPiAgICBp ZiAoU2VjdGlvbk5hbWUgPT0gTlVMTCkgew0KPiAtLQ0KPiAyLjYuMS53aW5kb3dzLjENCj4gDQo+ IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+IGVkazIt ZGV2ZWwgbWFpbGluZyBsaXN0DQo+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnDQo+IGh0dHBzOi8v bGlzdHMuMDEub3JnL21haWxtYW4vbGlzdGluZm8vZWRrMi1kZXZlbA0K