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=liming.gao@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 4FC8C211958EE for ; Sun, 25 Nov 2018 19:31:58 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga006.jf.intel.com ([10.7.209.51]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 25 Nov 2018 19:31:57 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,280,1539673200"; d="scan'208";a="93925048" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by orsmga006.jf.intel.com with ESMTP; 25 Nov 2018 19:31:57 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 25 Nov 2018 19:31:57 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.117]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.214]) with mapi id 14.03.0415.000; Mon, 26 Nov 2018 11:31:54 +0800 From: "Gao, Liming" To: Laszlo Ersek , "Fu, Siyuan" , "edk2-devel@lists.01.org" CC: "Ni, Ruiyu" , "Ye, Ting" , "Justen, Jordan L" , "Wu, Hao A" , "Wu, Jiaxin" , Anthony Perard , "Wei, David" , "Gao, Liming" Thread-Topic: [edk2] [PATCH v2 0/6] Add DSC/FDF include segment files for network stack Thread-Index: AQHUgiNe2T8mxBBfo027Kbjh/cfKxKVbR7kAgAAjbwCAASaRwIAAmqOAgAQVRpA= Date: Mon, 26 Nov 2018 03:31:54 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E371E57@SHSMSX104.ccr.corp.intel.com> References: <20181122052153.89464-1-siyuan.fu@intel.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E36FFDD@SHSMSX104.ccr.corp.intel.com> <5d2be195-63c4-f0d6-7102-22f0da2d1464@redhat.com> <4A89E2EF3DFEDB4C8BFDE51014F606A14E371852@SHSMSX104.ccr.corp.intel.com> In-Reply-To: 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 v2 0/6] Add DSC/FDF include segment files for network stack X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 26 Nov 2018 03:31:58 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TGFzemxvOg0KICANClRoYW5rcw0KTGltaW5nDQo+LS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0N Cj5Gcm9tOiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj5TZW50OiBT YXR1cmRheSwgTm92ZW1iZXIgMjQsIDIwMTggMjozNiBBTQ0KPlRvOiBHYW8sIExpbWluZyA8bGlt aW5nLmdhb0BpbnRlbC5jb20+OyBGdSwgU2l5dWFuIDxzaXl1YW4uZnVAaW50ZWwuY29tPjsNCj5l ZGsyLWRldmVsQGxpc3RzLjAxLm9yZw0KPkNjOiBOaSwgUnVpeXUgPHJ1aXl1Lm5pQGludGVsLmNv bT47IFllLCBUaW5nIDx0aW5nLnllQGludGVsLmNvbT47IEp1c3RlbiwNCj5Kb3JkYW4gTCA8am9y ZGFuLmwuanVzdGVuQGludGVsLmNvbT47IFd1LCBIYW8gQSA8aGFvLmEud3VAaW50ZWwuY29tPjsg V3UsDQo+SmlheGluIDxqaWF4aW4ud3VAaW50ZWwuY29tPjsgQW50aG9ueSBQZXJhcmQgPGFudGhv bnkucGVyYXJkQGNpdHJpeC5jb20+Ow0KPldlaSwgRGF2aWQgPGRhdmlkLndlaUBpbnRlbC5jb20+ DQo+U3ViamVjdDogUmU6IFtlZGsyXSBbUEFUQ0ggdjIgMC82XSBBZGQgRFNDL0ZERiBpbmNsdWRl IHNlZ21lbnQgZmlsZXMgZm9yDQo+bmV0d29yayBzdGFjaw0KPg0KPk9uIDExLzIzLzE4IDE3OjAy LCBHYW8sIExpbWluZyB3cm90ZToNCj4+IExhc3psbzoNCj4+ICAgSSBhZGQgbXkgY29tbWVudHMu DQo+Pg0KPj4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+Pj4gRnJvbTogTGFzemxvIEVy c2VrIFttYWlsdG86bGVyc2VrQHJlZGhhdC5jb21dDQo+Pj4gU2VudDogVGh1cnNkYXksIE5vdmVt YmVyIDIyLCAyMDE4IDExOjQ4IFBNDQo+Pj4gVG86IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGlu dGVsLmNvbT47IEZ1LCBTaXl1YW4NCj48c2l5dWFuLmZ1QGludGVsLmNvbT47IGVkazItZGV2ZWxA bGlzdHMuMDEub3JnDQo+Pj4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgWWUs IFRpbmcgPHRpbmcueWVAaW50ZWwuY29tPjsgSnVzdGVuLA0KPkpvcmRhbiBMIDxqb3JkYW4ubC5q dXN0ZW5AaW50ZWwuY29tPjsgV3UsIEhhbyBBDQo+Pj4gPGhhby5hLnd1QGludGVsLmNvbT47IFd1 LCBKaWF4aW4gPGppYXhpbi53dUBpbnRlbC5jb20+OyBBbnRob255DQo+UGVyYXJkIDxhbnRob255 LnBlcmFyZEBjaXRyaXguY29tPjsgV2VpLCBEYXZpZA0KPj4+IDxkYXZpZC53ZWlAaW50ZWwuY29t Pg0KPj4+IFN1YmplY3Q6IFJlOiBbZWRrMl0gW1BBVENIIHYyIDAvNl0gQWRkIERTQy9GREYgaW5j bHVkZSBzZWdtZW50IGZpbGVzIGZvcg0KPm5ldHdvcmsgc3RhY2sNCj4+Pg0KPj4+IE9uIDExLzIy LzE4IDA3OjE0LCBHYW8sIExpbWluZyB3cm90ZToNCj4+Pj4gU2l5dWFuOg0KPj4+PiAgIFRoYW5r cyBmb3IgeW91ciBjb250cmlidXRpb24uIEkgcmVhbGx5IGxpa2UgdGhpcyBpZGVhIHRvIHNoYXJl IHRoZQ0KPj4+PiAgIGNvbW1vbiBEU0MvRkRGIGJldHdlZW4gYWxsIHBsYXRmb3JtIERTQy9GREZz LiAgTm93LCBGaXhlZEF0QnVpbGQNCj5QQ0QNCj4+Pj4gICBjYW4gYWxzbyBiZSB1c2VkIGluIHRo ZSBjb25kaXRpb25hbCBzdGF0ZW1lbnQuIEl0cyB2YWx1ZSBjYW4gYmUNCj4+Pj4gICBzcGVjaWZp ZWQgYnkgYnVpbGQgY29tbWFuZCB3aXRoIC0tcGNkIG9wdGlvbi4gU28sIEkgc3VnZ2VzdCB0byB1 c2UNCj4+Pj4gICBGaXhlZEF0QnVpbGQgUENEIGZvciBuZXR3b3JrIGZlYXR1cmUgaW5zdGVhZCBv ZiBNQUNSTy4gSSB3b3VsZCBsaWtlDQo+Pj4+ICAgdG8gcmVjb21tZW5kIHRvIHVzZSBQQ0QgYm90 aCBmb3IgdGhlIGJ1aWxkIGFuZCBmaXJtd2FyZQ0KPj4+PiAgIGNvbmZpZ3VyYXRpb24uIEZvciB0 aGlzIGNhc2UsIG9uZSBVSU5UMTYgRml4ZWRBdEJ1aWxkUGNkIGNhbiBiZQ0KPj4+PiAgIGludHJv ZHVjZWQgaW4gTmV0d29ya1BrZy5kZWMuICBJdHMgZGlmZmVyZW50IGJpdCB3aWxsIGJlIGZvciB0 aGUNCj4+Pj4gICBkaWZmZXJlbnQgbmV0d29yayBmZWF0dXJlcy4gQmVsb3cgaXMgdGhlIGV4YW1w bGUuDQo+Pj4NCj4+PiBJIGRpc2FncmVlLg0KPj4+DQo+Pj4gQSBiaXRtYXNrIGlzIGEgdmVyeSBn b29kIHJlcHJlc2VudGF0aW9uIGZvciAqY29tcHV0ZXJzKiwgdG8gaGFuZGxlIGEgc2V0DQo+Pj4g b2YgZmVhdHVyZXMuIE9uIHRoZSBvdGhlciBoYW5kLCBhIGJpdG1hc2sgaXMgYSBjYXRhc3Ryb3Bo aWNhbGx5IGJhZA0KPj4+IHJlcHJlc2VudGF0aW9uIGZvciAqaHVtYW5zKiwgd2hlbiB0aGV5IGFy ZSB0cnlpbmcgdG8gY29uZmlndXJlIGENCj4+PiBwbGF0Zm9ybSBidWlsZCAodGhhdCBpcywgd3Jp dGluZyBhIGJ1aWxkIGNvbW1hbmQgbGluZSksIHNlbGVjdGluZyB0aGUNCj4+PiBmaXJtd2FyZSBm ZWF0dXJlcyB0aGV5IHdhbnQuIEl0IGlzIGhhcmQgdG8gY29tcHV0ZSwgYW5kIGl0IGlzIGV4dHJl bWVseQ0KPj4+IGhhcmQgdG8gZ3JlcCBmb3IuDQo+Pj4NCj4+PiBJdCBpcyB0cml2aWFsIHRvIGdy ZXAgYSBidWlsZCBzY3JpcHQgZm9yICJORVRXT1JLX1RMU19FTkFCTEUiLiBJdCBpcw0KPj4+IG11 Y2ggaGFyZGVyIHRvIGdyZXAgdGhlIHNhbWUgc2NyaXB0IGZvciBQY2ROZXR3b3JrRmVhdHVyZU1h c2ssIGFuZA0KPnRoZW4NCj4+PiBjaGVjayB3aGV0aGVyIGJpdCM0IGlzIHNldCBpbiB0aGUgdmFs dWUuDQo+PiBJZiBCaXRNYXNrIGlzIG5vdCBnb29kIGZvciB0aGlzIGNhc2UsIEJPT0xFQU4gdHlw ZSBGaXhlZEF0QnVpbGRQY2QgY2FuIGJlDQo+ZGVmaW5lZCB0byBtYXRjaCBjdXJyZW50IG1hY3Jv IG9uZSBieSBvbmUuDQo+PiBGb3IgZXhhbXBsZSwgZ0VmaU5ldHdvcmtQa2dUb2tlblNwYWNlR3Vp ZC5QY2ROZXR3b3JrRW5hYmxlIGlzIGFkZGVkDQo+dG8gbWFwIG1hY3JvIE5FVFdPUktfRU5BQkxF Lg0KPg0KPkkgYWdyZWUgdGhhdCB0aGlzIGlzIHRlY2huaWNhbGx5IGRvYWJsZSwgYW5kIHRoYXQg dGhlIHJlc3VsdHMgKHJlZ2FyZGluZw0KPnRoZSBidWlsZCBzY3JpcHQgc3ludGF4KSBhcmUgdmVy eSBzaW1pbGFyLg0KPg0KPkJ1dCwgaG93IGlzIHRoaXMgYW4gaW1wcm92ZW1lbnQgb3ZlciB0aGUg Y3VycmVudCAtRCBmbGFncz8NCj4NClBDRCBoYXMgYmVlbiB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUg ZmlybXdhcmUgc2V0dGluZy4gSXQgY2FuIGFsc28gYmUgdXNlZCBmb3IgdGhlIGZpcm13YXJlIGJ1 aWxkIGNvbmZpZ3VyYXRpb24uIA0KSSB3b3VsZCBsaWtlIHRvIGludHJvZHVjZSBQQ0QgYXMgdGhl IHNhbWUgY29uZmlndXJhdGlvbiB3YXkuIElmIHNvLCAgbmV3IHVzZXJzIGRvbid0IG5lZWQgdG8g cmVtZW1iZXIgb3RoZXIgc3ludGF4DQoNCj4+DQo+Pj4NCj4+Pj4gQmVzaWRlcywgSSB0aGluayAq LmRzYy5pbmMgZmlsZXMgbmVlZCB0byBpbmNsdWRlIHNlY3Rpb24gaGVhZGVyLiBJZg0KPj4+PiBz bywgKi5kc2MuaW5jIGlzIHRoZSBzdGFuZGFsb25lIGRzYyBmaWxlLiBJdCBjYW4gZWFzaWx5IGJl IGluY2x1ZGVkIGluDQo+Pj4+IHBsYXRmb3JtIERTQyBmaWxlLg0KPj4+DQo+Pj4gSSBkaXNhZ3Jl ZS4gRm9yIGEgcGxhdGZvcm0sIHNwZWxsaW5nIG91dCB0aGUgc2VjdGlvbiBoZWFkZXIgaXMgbm90 IGEgYmlnDQo+Pj4gYnVyZGVuLCBidXQgaXQgcHJvdmlkZXMgYSBsb3Qgb2YgZmxleGliaWxpdHku IEZvciBleGFtcGxlLCBpdCBjYW4NCj4+PiByZXN0cmljdCB0aGUgc2NvcGUgb2YgdGhlIGluY2x1 ZGVkIHRleHQgKGUuZy4sIGNvbXBvbmVudCBsaXN0KSB0byBhDQo+Pj4gc3BlY2lmaWMgYXJjaGl0 ZWN0dXJlIG9ubHkuIEZvciBhbm90aGVyIGV4YW1wbGUsIHRoZSBwbGF0Zm9ybSdzIHNlY3Rpb24N Cj4+PiBoZWFkZXIgY2FuIHNwZWNpZnkgdGhlIGZsYXZvciBvZiB0aGUgUENEcyBmb3Igd2hpY2gg dGhlIGluY2x1ZGVkIHRleHQNCj4+PiBwcm92aWRlcyB0aGUgZGVmYXVsdCB2YWx1ZXMgKGZpeGVk IFBDRCwgcGF0Y2hhYmxlIFBDRCwgZXZlbiBkeW5hbWljKGV4KQ0KPj4+IFBDRCkuDQo+Pj4NCj4+ PiBTdGFuZGFsb25lIERTQyBmaWxlIGlzIHRoZSB3cm9uZyB0aGluZyB0byBhaW0gZm9yLCBpbiB0 aGlzIGluc3RhbmNlIC0tDQo+Pj4gaW4gbXkgb3BpbmlvbiBhbnl3YXkuIFllcywgaXQgYXBwZWFy cyBzaW1wbGVyLCBidXQgaXQgbG9zZXMgdG9vIG11Y2gNCj4+PiBmbGV4aWJpbGl0eS4gSW4gbXkg ZWFybGllciBjb21tZW50cyBJIHBvaW50ZWQgb3V0IHRoYXQgdGhlICJhbGxvdw0KPj4+IHBsYWlu dGV4dCBIVFRQIGNvbm5lY3Rpb25zIiBQQ0Qgd2FzIGRlY2xhcmVkIGluIE5ldHdvcmtQa2cuZGVj IGFzIGVpdGhlcg0KPj4+IGZpeGVkIG9yIHBhdGNoYWJsZS4gVGhlIGRzYy5pbmMgZmlsZSBzaG91 bGQgbm90IHNxdWFuZGVyIHRoYXQNCj4+PiBmbGV4aWJpbGl0eSBhbmQgZGljdGF0ZSBmaXhlZCBv bmx5Lg0KPj4gVGhpcyBpcyBub3QgVFJVRS4gRHluYW1pYyBQQ0QgaGFzIHRoZSBkaWZmZXJlbnQg dmFsdWUgZm9ybWF0LCBzdWNoIGFzDQo+RHluYW1pY0hpaSBQQ0QuDQo+DQo+SSB0aGluayBEeW5h bWljSElJIGlzIHRoZSBvbmx5IGV4Y2VwdGlvbiBoZXJlLCB0aGUgcmVzdCBjYW4gYmUgZGVzY3Jp YmVkDQo+d2l0aA0KPg0KPiAgVG9rZW5TcGFjZUd1aWQuUGNkTmFtZXxWYWx1ZQ0KPg0KPlRoaXMg Zm9ybWF0IHNob3VsZCB3b3JrIGluIFtQY2RzRHluYW1pY0RlZmF1bHRdLCBbUGNkc0ZpeGVkQXRC dWlsZF0sIGFuZA0KPltQY2RzUGF0Y2hhYmxlSW5Nb2R1bGVdIHNlY3Rpb25zIHRvby4gU28gcGxh dGZvcm1zIHNob3VsZCBoYXZlIHRoZQ0KPmZyZWVkb20gdG8gY2hvb3NlLg0KPg0KSSB3YW50IHRv IGRpc2N1c3MgdGhlIGdlbmVyYWwgcnVsZXMgb24gaG93IHRvIHNoYXJlIHRoZSBwYWNrYWdlIGNv bmZpZ3VyYXRpb24gDQppbiB0aGUgZGlmZmVyZW50IHBsYXRmb3JtIERTQy9GREYuIE5ldHdvcmtQ a2cgaXMgdGhlIGZpcnN0IGNhc2UuIEFmdGVyIGl0LCANCm90aGVyIHBhY2thZ2UgbWFpbnRhaW5l ciBtYXkgcHJvdmlkZSBoaXMgcGFja2FnZSBzZXR0aW5nIHdpdGggdGhlIHNpbWlsYXIgc3R5bGUu IA0KSW4gbXkgaWRlYSwgZWFjaCBwYWNrYWdlIGhhcyBvbmUgKlBjZHMuZHNjLmluYywgKkxpYnMu ZHNjLmluYywgDQoqQ29tcG9uZW50c1BlaS5kc2MuaW5jIGFuZCAqQ29tcG9uZW50c0R4ZS5kc2Mu aW5jLiBOb3JtYWwgcGxhdGZvcm0gDQpkZXZlbG9wZXJzIGp1c3QgbmVlZCB0byBpbmNsdWRlIHRo ZW0gaW4gdGhlIHBsYXRmb3JtIERTQy4gQWR2YW5jZWQgcGxhdGZvcm0NCnVzZXIgbWF5IG1vZGlm eSBQY2QgdHlwZS92YWx1ZSBhbmQgTGlicmFyeSBjbGFzcyBzZWxlY3Rpb24gaW4gcGxhdGZvcm0g RFNDLg0KSXRzIHB1cnBvc2UgaXMgdG8gc2ltcGx5IHRoZSBwbGF0Zm9ybSBEU0MuIEkgYWdyZWUg dGhpcyBzdHlsZSB3aWxsIG5vdCBoYXZlIHRoZSANCnNhbWUgZmxleGliaWxpdHkuIEJ1dCwgdG8g a2VlcCB0aGUgZmxleGliaWxpdHksIGV2ZXJ5IFBDRCBtYXkgaGF2ZSBpdHMgUGNkcy5kc2MuaW5j LCANCmJlY2F1c2UgdGhlIGRpZmZlcmVudCBQQ0QgbWF5IGJlIGNvbmZpZ3VyZWQgdG8gdGhlIGRp ZmZlcmVudCB0eXBlLiANCk5ldHdvcmtQa2cgcHJvdmlkZXMgb25lIG9ubHkgUENELiBTbywgaXQg aGFzIG9uZSBQY2RzLmRzYy5pbmMuIElmIG90aGVyIHBhY2thZ2UgDQpwcm92aWRlcyAzIFBDRHMs IHRoZXJlIHdpbGwgYmUgdGhyZWUgKlBjZHMuZHNjLmluYyBmaWxlcy4gSWYgc28sIEkgZG9uJ3Qg dGhpbmsgd2UNCm5lZWQgdG8gYWRkIHRob3NlICpQY2RzLmRzYy5pbmMuIFVzZXIgY2FuIGRpcmVj dGx5IGFkZCBQY2QgaW4gUGxhdGZvcm0gRFNDIGZpbGUgDQppbnN0ZWFkIG9mIGluY2x1ZGUgKlBj ZHMuZHNjLmluYyBmaWxlLiANCg0KPkluIHRoZSBvdGhlciBjYXNlLCBpZiB0aGUgRFNDIGluY2x1 ZGUgZmlsZSBjb250YWlucyB0aGUgc2VjdGlvbiBoZWFkZXINCj5hcyB3ZWxsLCB0aGVuIHRoZSBw bGF0Zm9ybSBsb3NlcyB0aGlzIGNob2ljZS4gVGhlIGNvbmNyZXRlIGV4YW1wbGUgd2FzDQo+dGhh dCBOZXR3b3JrUGtnLmRlYyBkZWNsYXJlcyAiUGNkQWxsb3dIdHRwQ29ubmVjdGlvbnMiIGFzIGJv dGgNCj5bUGNkc0ZpeGVkQXRCdWlsZF0gYW5kIFtQY2RzUGF0Y2hhYmxlSW5Nb2R1bGVdLCBidXQg aW4gdjEsIHRoZSBEU0MNCj5pbmNsdWRlIGZpbGUgcmVzdHJpY3RlZCBpdCB0byBbUGNkc0ZpeGVk QXRCdWlsZF0gb25seS4gSU1PLCBpZiB0aGUgREVDDQo+ZmlsZSBwZXJtaXRzIHNldmVyYWwgdHlw ZXMsIHRoZW4gdGhlIERTQyBpbmNsdWRlIGZpbGUgc2hvdWxkIHJlc3RyaWN0DQo+dGhvc2UgdHlw ZXMgYXMgbGl0dGxlIGFzIHBvc3NpYmxlLg0KPg0KPj4gV2l0aG91dCBzZWN0aW9uIGhlYWRlciwg RHluYW1pY0hpaSBQQ0QgY2FuJ3QgYmUgc3BlY2lmaWVkIHRvZ2V0aGVyIHdpdGgNCj5GaXhlZEF0 QnVpbGQgUGNkLg0KPg0KPkluZGVlZCwgYnV0IGl0J3Mgc3RpbGwgYmV0dGVyIHRvIGxvc2Ugb25s eSBEeW5hbWljSGlpICh3aGVuIHVzaW5nIGEgRFNDDQo+aW5jbHVkZSBmaWxlKSB0aGFuIHRvIGxv c2UgZXZlcnkgdHlwZSBwZXJtaXR0ZWQgYnkgdGhlIERFQyBmaWxlLCBleGNlcHQNCj50aGUgb25l IHR5cGUgcGlja2VkIGJ5IHRoZSBEU0MgaW5jbHVkZSBmaWxlLg0KPg0KPj4gUGFja2FnZSBsZXZl bCAqLnBjZC5pbmMgcHJvdmlkZXMgdGhlIHJlY29tbWVuZGVkIHR5cGUgYW5kIHNldHRpbmcuDQo+ PiBQbGF0Zm9ybSBjYW4gb3ZlcnJpZGUgUGNkIHZhbHVlIGFuZCB0eXBlIEluIHRoZWlyIERTQyBm aWxlLiBCYXNlVG9vbHMNCj5zdXBwb3J0cyBQQ0QgdmFsdWUgb3ZlcnJpZGUsDQo+PiBkb2Vzbid0 IHN1cHBvcnQgUENEIHR5cGUgb3ZlcnJpZGUuIFRoaXMgY2FuIGJlIHN1cHBvcnRlZC4NCj4NCj5U aGVuIEkgZG9uJ3QgdGhpbmsgdGhhdCBpbnRyb2R1Y2luZyBhIHNlcGFyYXRlIC1EIGZsYWcgKG9y IGEgc2VwYXJhdGUNCj5maXhlZC1hdC1idWlsZCBib29sZWFuIFBDRCkgZm9yIGNvbnRyb2xsaW5n IHRoZSBkZWZhdWx0IHZhbHVlIG9mDQo+IlBjZEFsbG93SHR0cENvbm5lY3Rpb25zIiBidXlzIHVz IG11Y2guDQo+DQpGb3IgdGhpcyBjYXNlLCBQY2RBbGxvd0h0dHBDb25uZWN0aW9ucyBjYW4gYmUg dXNlZCB0byBjb250cm9sIHRoZSBidWlsZCBjb25maWd1cmF0aW9uIGFuZCBmaXJtd2FyZSBmdW5j dGlvbmFsaXR5LiANCldlIGRvbid0IG5lZWQgdG8gaW50cm9kdWNlIHRoZSBhZGRpdGlvbmFsIE1B Q1JPIGZvciBpdC4gVGhpcyBpcyBhbm90aGVyIGJlbmVmaXQgb2YgUENELiANCj4+Pj4gRXNwZWNp YWxseSBmb3IgbGlicmFyeSBpbnN0YW5jZSwgdGhlIGRpZmZlcmVudCBsaWJyYXJ5IGluc3RhbmNl IG1heSBiZQ0KPj4+PiBmb3IgdGhlIGRpZmZlcmVudCBtb2R1bGUgdHlwZS4gV2l0aG91dCBzZWN0 aW9uIGhlYWRlciwgdGhleSBjYW4gYmUNCj4+Pj4gcGxhY2VkIGludG8gb25lICpMaWJzLmRzYy5p bmMgZmlsZS4NCj4+Pg0KPj4+IFVnaC4uLiBJJ20gbm93IGNvbmRmdXNlZC4gTm93IGl0IHNlZW1z IHRoYXQgeW91IGFuZCBJIGFyZSBhc2tpbmcgZm9yIHRoZQ0KPj4+IHNhbWUgdGhpbmcgYWN0dWFs bHkuIERpZCB5b3UgcGVyaGFwcyBtZWFuLCBhYm92ZSwgdGhhdCAiKi5kc2MuaW5jIGZpbGVzDQo+ Pj4gbmVlZCAqTk9UKiBpbmNsdWRlIHNlY3Rpb24gaGVhZGVyIj8NCj4+Pg0KPj4gSSBtaXNzIG5v dC4NCj4NCj5XYWl0LCBub3cgSSBhbSBldmVuIG1vcmUgY29uZnVzZWQuIERpZCB5b3UgbWVhbiB0 aGF0IHlvdSBkaWQgKm5vdCogbWlzcw0KPnRoZSB3b3JkICJub3QiLCBvciB0aGF0IHlvdSBtaXNz ZWQgaXQ/DQo+DQpJIGxvc3QgJ25vdCcgaW4gcHJldmlvdXMgc3RhdGVtZW50LiANClByZXZpb3Vz OiBXaXRob3V0IHNlY3Rpb24gaGVhZGVyLCB0aGV5IGNhbiBiZSBwbGFjZWQgaW50byBvbmUgKkxp YnMuZHNjLmluYyBmaWxlLg0KQ29ycmVjdDogIFdpdGhvdXQgc2VjdGlvbiBoZWFkZXIsIHRoZXkg Y2FuJ3QgYmUgcGxhY2VkIGludG8gb25lICpMaWJzLmRzYy5pbmMgZmlsZS4NCj4+IEkgbWVhbiB3 aXRob3V0IHNlY3Rpb24gaGVhZGVyLCB0aGV5IGNhbid0IGJlIHBsYWNlZCBpbnRvIG9uZSAqTGli cy5kc2MuaW5jDQo+ZmlsZS4NCj4+IEJlbG93IGlzIG9uZSBleGFtcGxlLiBPbmUgTGlicy5kc2Mu aW5jIGNhbiBsaXN0IHRoZSBkaWZmZXJlbnQgbGlicmFyeSBpbnN0YW5jZQ0KPmZvciB0aGUgZGlm ZmVyZW50IG1vZHVsZSB0eXBlLg0KPj4NCj4+IFtMaWJyYXJ5Q2xhc3Nlc10NCj4+ICAgVGltZXJM aWJ8UGNBdENoaXBzZXRQa2cvTGlicmFyeS9BY3BpVGltZXJMaWIvRHhlQWNwaVRpbWVyTGliLmlu Zg0KPj4gW0xpYnJhcnlDbGFzc2VzLmNvbW1vbi5TRUNdDQo+PiAgIFRpbWVyTGlifFBjQXRDaGlw c2V0UGtnL0xpYnJhcnkvQWNwaVRpbWVyTGliL0Jhc2VBY3BpVGltZXJMaWIuaW5mDQo+PiBbTGli cmFyeUNsYXNzZXMuY29tbW9uLlBFSV9DT1JFLCBMaWJyYXJ5Q2xhc3Nlcy5jb21tb24uUEVJTV0N Cj4+ICAgVGltZXJMaWJ8UGNBdENoaXBzZXRQa2cvTGlicmFyeS9BY3BpVGltZXJMaWIvUGVpQWNw aVRpbWVyTGliLmluZg0KPg0KPkkgdW5kZXJzdGFuZCB0aGUgZXhhbXBsZSwgYnV0IHRoaXMgaXMg YSB0b3RhbGx5IGRpZmZlcmVudCB1c2UgY2FzZSwgZnJvbQ0KPnRoZSBOZXR3b3JrUGtnIGxpYnJh cmllcy4gRm9yIHRoZSBUaW1lckxpYiBjbGFzcywgaXQgaXMgZXhwZWN0ZWQgKGJ5DQo+ZGVzaWdu KSB0aGF0IGRpZmZlcmVudCBmaXJtd2FyZSBwaGFzZXMgLyBtb2R1bGUgdHlwZXMgdXNlIGRpZmZl cmVudA0KPmxpYnJhcnkgaW5zdGFuY2VzLg0KPg0KPlRoYXQncyBub3QgdGhlIGNhc2UgZm9yIHRo ZSBzaXggTmV0d29ya1BrZyBsaWIgY2xhc3NlcyBpbiBxdWVzdGlvbi4gRWFjaA0KPm9mIHRob3Nl IGNsYXNzZXMgaGFzIGEgc2luZ2xlIGluc3RhbmNlLCBhbmQgdGhlcmUncyBubyByZWFzb24gZm9y DQo+aW1wbGVtZW50aW5nIG90aGVyIGluc3RhbmNlcy4gUGxhdGZvcm1zIGhhdmUgbm8gbmVlZCB0 byBjdXN0b21pemUgdGhlbSwNCj5hbmQgdGhleSBhcmUgdXNlZCBieSBEWEUgcGhhc2UgKGFuZCBs YXRlciksIGJvb3QgdGltZSBvbmx5LCBtb2R1bGVzDQo+YW55d2F5LiBUaGV5IG9ubHkgZXhpc3Qg YXMgbGlicmFyeSBjbGFzc2VzIGZvciBiZXR0ZXIgY29kZSBzdHJ1Y3R1cmluZyAvDQo+Y29kZSBz aGFyaW5nLCBub3QgZm9yIGN1c3RvbWl6YXRpb24uDQo+DQo+U28gdGhlIGFjdHVhbCBjbGFzcyAt PiBpbnN0YW5jZSByZXNvbHV0aW9ucyB3aWxsIG5ldmVyIGNoYW5nZS4gV2hhdCBtYXkNCj5jaGFu Z2UgaG93ZXZlciBpcyBob3cgd2lkZWx5IGEgcGxhdGZvcm0gd2FudHMgdG8gZW1wbG95IHRoZXNl DQo+cmVzb2x1dGlvbnMuIE1heWJlIERYRV9EUklWRVIgYW5kIFVFRklfRFJJVkVSIG1vZHVsZXMg b25seS4gTWF5YmUNCj5VRUZJX0FQUExJQ0FUSU9OIHRvby4gTWF5YmUgWDY0IG9ubHkuIE1heWJl IElBMzIgYW5kIFg2NCBib3RoLiBBbmQgc28NCj5vbi4NCj4NCj5JZiB3ZSBwdXQgdGhlIHNlY3Rp b24gaGVhZGVycyBpbiB0aGUgRFNDIGluY2x1ZGUgZmlsZSwgdGhlbiB0aGUgcGxhdGZvcm0NCj5s b3NlcyB0aGlzIGN1c3RvbWl6YXRpb24gcG9zc2liaWxpdHkuDQpOZXR3b3JrUGtnIGNhc2UgaXMg c2ltcGxlLiBUaG9zZSBzaXggbGlicmFyeSBpbnN0YW5jZXMgYXJlIGZvciB0aGUgc2FtZSBtb2R1 bGUgdHlwZSBhbmQgQVJDSHMuIA0KSSBkb24ndCBzZWUgdGhlIGRpZmZlcmVudCB1c2FnZSBpbiB0 aGUgcGxhdGZvcm0gRFNDLiBTaW1pbGFyIHRvIFBDRCwgdG8ga2VlcCB0aGUgZmxleGliaWxpdHks IGV2ZXJ5DQpMaWJyYXJ5IGluc3RhbmNlIG1heSBoYXZlIGl0cyAqLkxpYnMuZHNjLmluYy4gSWYg c28sIGl0IGlzIG5vdCBuZWNlc3NhcnkgdG8gYWRkICouTGlicy5kc2MuaW5jLg0KPj4NCj4+Pj4g W0RlZmluZXNdDQo+Pj4+ICAgIERFRklORSBORVRXT1JLX0VOQUJMRSAgICAgICAgICAgICAgICAg PSAweDENCj4+Pj4gICAgREVGSU5FIE5FVFdPUktfU05QX0VOQUJMRSAgICAgICAgICAgICA9IDB4 Mg0KPj4+PiAgICBERUZJTkUgTkVUV09SS19JUDRfRU5BQkxFICAgICAgICAgICAgID0gMHg0DQo+ Pj4+ICAgIERFRklORSBORVRXT1JLX0lQNl9FTkFCTEUgICAgICAgICAgICAgPSAweDgNCj4+Pj4g ICAgREVGSU5FIE5FVFdPUktfVExTX0VOQUJMRSAgICAgICAgICAgICA9IDB4MTANCj4+Pj4gICAg REVGSU5FIE5FVFdPUktfSFRUUF9CT09UX0VOQUJMRSAgICAgICA9IDB4MjANCj4+Pj4gICAgREVG SU5FIE5FVFdPUktfQUxMT1dfSFRUUF9DT05ORUNUSU9OUyA9IDB4NDANCj4+Pj4gICAgREVGSU5F IE5FVFdPUktfSVBTRUNfRU5BQkxFICAgICAgICAgICA9IDB4ODANCj4+Pj4gICAgREVGSU5FIE5F VFdPUktfSVNDU0lfRU5BQkxFICAgICAgICAgICA9IDB4MTAwDQo+Pj4+ICAgIERFRklORSBORVRX T1JLX1ZMQU5fRU5BQkxFICAgICAgICAgICAgPSAweDIwMA0KPj4+Pg0KPj4+PiBbUGNkc0ZpeGVk QXRCdWlsZF0NCj4+Pj4gICAgZ0VmaU5ldHdvcmtQa2dUb2tlblNwYWNlR3VpZC5QY2ROZXR3b3Jr RmVhdHVyZU1hc2t8MHhGRkZGDQo+Pj4+DQo+Pj4+IFtQY2RzRml4ZWRBdEJ1aWxkXQ0KPj4+PiAh aWYgZ0VmaU5ldHdvcmtQa2dUb2tlblNwYWNlR3VpZC5QY2ROZXR3b3JrRmVhdHVyZU1hc2sgJg0K Pk5FVFdPUktfQUxMT1dfSFRUUF9DT05ORUNUSU9OUyA9PQ0KPj4+IE5FVFdPUktfQUxMT1dfSFRU UF9DT05ORUNUSU9OUw0KPj4+PiAgIGdFZmlOZXR3b3JrUGtnVG9rZW5TcGFjZUd1aWQuUGNkQWxs b3dIdHRwQ29ubmVjdGlvbnN8VFJVRQ0KPj4+PiAhZW5kaWYNCj4+Pg0KPj4+IFN1cmUsIHRoaXMg bG9va3MgZ29vZCBpbiB0aGUgRFNDIGluY2x1ZGUgZmlsZSwgYnV0IGl0IGxvb2tzIHZlcnkgYmFk IG9uDQo+Pj4gdGhlIGJ1aWxkIGNvbW1hbmQgbGluZS4gQ29tcGFyZToNCj4+Pg0KPj4+ICAgYnVp bGQgLWEgWDY0IC1wIE92bWZQa2cvT3ZtZlBrZ1g2NC5kc2MgLXQgR0NDNDggLWIgTk9PUFQgXA0K Pj4+ICAgICAtRCBTRUNVUkVfQk9PVF9FTkFCTEUgLUQgU01NX1JFUVVJUkUgXA0KPj4+ICAgICAt RCBORVRXT1JLX0VOQUJMRSAtRCBORVRXT1JLX0lQNF9FTkFCTEUgXA0KPj4+ICAgICAtRCBORVRX T1JLX0hUVFBfQk9PVF9FTkFCTEUgLUQgTkVUV09SS19UTFNfRU5BQkxFDQo+Pj4NCj4+PiB2ZXJz dXMNCj4+Pg0KPj4+ICAgYnVpbGQgLWEgWDY0IC1wIE92bWZQa2cvT3ZtZlBrZ1g2NC5kc2MgLXQg R0NDNDggLWIgTk9PUFQgXA0KPj4+ICAgICAtRCBTRUNVUkVfQk9PVF9FTkFCTEUgLUQgU01NX1JF UVVJUkUgXA0KPj4+ICAgICAtLXBjZA0KPmdFZmlOZXR3b3JrUGtnVG9rZW5TcGFjZUd1aWQuUGNk TmV0d29ya0ZlYXR1cmVNYXNrPTB4MDAzNQ0KPj4NCj4+IEFmdGVyIGRlZmluZSBGaXhlZEF0QnVp bGQgQk9PTEVBTiB0eXBlIFBDRCwgYnVpbGQgY29tbWFuZCBjYW4gYmUNCj5zcGVjaWZpZWQgYXMg YmVsb3cuDQo+PiAtLXBjZCBzdXBwb3J0cyBQY2ROYW1lIHdpdGhvdXQgUGNkVG9rZW5TcGFjZUd1 aWQgb25seSBpZiBQY2ROYW1lIGhhcw0KPm5vIGNvbmZsaWN0aW9uLg0KPj4NCj4+ICAgIGJ1aWxk IC1hIFg2NCAtcCBPdm1mUGtnL092bWZQa2dYNjQuZHNjIC10IEdDQzQ4IC1iIE5PT1BUIFwNCj4+ ICAgICAgLUQgU0VDVVJFX0JPT1RfRU5BQkxFIC1EIFNNTV9SRVFVSVJFIFwNCj4+ICAgICAgLS1w Y2QgUGNkTmV0d29ya0VuYWJsZT1UUlVFDQo+DQo+WWVzLCBJIGFncmVlIHRoYXQgdGhpcyByZWFk cyBuaWNlbHksIGFuZCBpdCBpcyBlYXN5IHRvIGdyZXAgZm9yLg0KPg0KPkJ1dCwgYWdhaW4sIHdo YXQgZG9lcyBpdCBidXkgdXMgb3ZlciAiLUQiPw0KPg0KPlRoYW5rcyENCj5MYXN6bG8NCg==