From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 134.134.136.65, mailfrom: steven.shi@intel.com) Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) by groups.io with SMTP; Sun, 21 Jul 2019 08:55:21 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga004.fm.intel.com ([10.253.24.48]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 21 Jul 2019 08:55:20 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,291,1559545200"; d="scan'208";a="192485578" Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga004.fm.intel.com with ESMTP; 21 Jul 2019 08:55:20 -0700 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 21 Jul 2019 08:55:20 -0700 Received: from shsmsx151.ccr.corp.intel.com (10.239.6.50) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.439.0; Sun, 21 Jul 2019 08:55:19 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.3]) by SHSMSX151.ccr.corp.intel.com ([169.254.3.55]) with mapi id 14.03.0439.000; Sun, 21 Jul 2019 23:55:18 +0800 From: "Steven Shi" To: "devel@edk2.groups.io" , "lersek@redhat.com" , "Feng, Bob C" CC: =?utf-8?B?UGhpbGlwcGUgTWF0aGlldS1EYXVkw6k=?= Subject: Re: [edk2-devel] [Patch 0/9] Enable multiple process AutoGen Thread-Topic: [edk2-devel] [Patch 0/9] Enable multiple process AutoGen Thread-Index: AQHVPTAa1ervHs4TeUmWOF1lEXqzsabUfnMAgAC803A= Date: Sun, 21 Jul 2019 15:55:17 +0000 Message-ID: <06C8AB66E78EE34A949939824ABE2B314006E088@shsmsx102.ccr.corp.intel.com> References: <20190718061423.30612-1-bob.c.feng@intel.com> In-Reply-To: Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiYjU1Y2UxY2ItNjk2Zi00YmI3LWI4MWYtNzE0ZGMxNWUwNWFlIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiXC9ZQWZFQ1FRXC9uY3JuTXJFUmpUT0p1NzZaSERpelp6RzZqQjNhRktMUEw2TWRPZ1h5Z2l5MFJKZVBcL1F4SFJYZSJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: steven.shi@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 PiAgICAgICAgICBUaGlzIGlzIHRoZSBwcm9ibGVtOiB0aGUgY2hlY2tzdW0gZG9lcyBub3QgbWF0 Y2ggdGhlIG9uZSBmcm9tDQo+ICAgICAgICAgICgzYykuIEFuZCwgdGhlIGJpbmFyeSBmcm9tICgz ZikgaXMgaW4gZmFjdCBtaXMtYnVpbHQsIGl0DQo+ICAgICAgICAgIGNyYXNoZXMgaW1tZWRpYXRl bHkgd2hlbiBsYXVuY2hlZCBvbiBRRU1VL0tWTSwgd2l0aCAiZW11bGF0aW9uDQo+ICAgICAgICAg IGZhaWx1cmUiLg0KDQpJdCBsb29rcyBhbiBpbmNyZW1lbnRhbCBidWlsZCBlcnJvci4gVGhpcyBt dWx0aS1wcm9jZXNzIGJ1aWxkIHRvb2wgZmFpbHMgdG8gcmUtZ2VuZXJhdGUgdGhlIG5ldyBhdXRv Z2VuIGNvZGUgKENyZWF0ZUNvZGVGaWxlKSBhbmQgbWFrZWZpbGUgKENyZWF0ZU1ha2VGaWxlKS4g VGhlIG5ldyBidWlsZCB0b29sIHdyb25nbHkgc2tpcCB0aGVzZSBzdGVwcyBpbiBpbmNyZW1lbnRh bCBidWlsZC4NCg0KDQoNClRoYW5rcw0KU3RldmVuIFNoaQ0KDQoNCj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gRnJvbTogZGV2ZWxAZWRrMi5ncm91cHMuaW8gW21haWx0bzpkZXZlbEBl ZGsyLmdyb3Vwcy5pb10gT24gQmVoYWxmIE9mDQo+IExhc3psbyBFcnNlaw0KPiBTZW50OiBTdW5k YXksIEp1bHkgMjEsIDIwMTkgODoyNiBQTQ0KPiBUbzogRmVuZywgQm9iIEMgPGJvYi5jLmZlbmdA aW50ZWwuY29tPg0KPiBDYzogZGV2ZWxAZWRrMi5ncm91cHMuaW87IFBoaWxpcHBlIE1hdGhpZXUt RGF1ZMOpIDxwaGlsbWRAcmVkaGF0LmNvbT4NCj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBb UGF0Y2ggMC85XSBFbmFibGUgbXVsdGlwbGUgcHJvY2VzcyBBdXRvR2VuDQo+IA0KPiBIaSBCb2Is DQo+IA0KPiBPbiAwNy8xOC8xOSAwODoxNCwgQm9iIEZlbmcgd3JvdGU6DQo+ID4gQlo6IGh0dHBz Oi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3NQ0KPiA+DQo+ID4g SW4gb3JkZXIgdG8gaW1wcm92ZSB0aGUgYnVpbGQgcGVyZm9ybWFuY2UsIHdlIGltcGxlbWVudGVk DQo+ID4gbXVsdGlwbGUtcHJvY2Vzc2VzIEF1dG9HZW4uIFRoaXMgY2hhbmdlIHdpbGwgcmVkdWNl IDIwJSB0aW1lDQo+ID4gZm9yIEF1dG9HZW4gcGhhc2UuDQo+ID4NCj4gPiBUaGUgZGVzaWduIGRv Y3VtZW50IGNhbiBiZSBnb3QgZnJvbToNCj4gPiBodHRwczovL2VkazIuZ3JvdXBzLmlvL2cvZGV2 ZWwvZmlsZXMvRGVzaWducy8yMDE5LzA2MjcvTXVsdGlwbGUtdGhyZWFkLQ0KPiBBdXRvR2VuLnBk Zg0KPiA+DQo+ID4gVGhpcyBwYXRjaCBzZXJpYWwgcGFzcyB0aGUgYnVpbGQgb2YgT3ZtZiwgTWlu S2FieWxha2UsIE1pblB1cmxleSwNCj4gPiBwYWNrYWdlcyB1bmRlciBFZGsyIHJlcG9zaXRvcnkg YW5kIGludGVsIGNsaWVudCBhbmQgc2VydmVyIHBsYXRmb3Jtcy4NCj4gDQo+IEkndmUgZG9uZSBz b21lIGJhc2ljIHJlZ3Jlc3Npb24tdGVzdGluZyB3aXRoIHRoaXMgc2V0LCBhcHBsaWVkIG9uIHRv cCBvZg0KPiBjdXJyZW50IG1hc3RlciAoPSBjb21taXQgOGZmNjhjZDVlNGM5LCAiU2hlbGxQa2c6 IGFjcGl2aWV3OiBEQkcyOiBSZW1vdmUNCj4gcmVkdW5kYW50IGZvcndhcmQgZGVjbGFyYXRpb25z IiwgMjAxOS0wNy0xOSkuDQo+IA0KPiAoMSkgVGhlIGJ1aWxkIHByb2Nlc3Mgbm93IHNlZW1zIHRv IHByb2R1Y2UgZmlsZXMgY2FsbGVkDQo+IA0KPiAgICAgICBHbG9iYWxWYXJfMzdkN2U5ODYtZjdl OS00NWMyLTgwNjctZTM3MTQyMWE2MjZjX0FBUkNINjQuYmluDQo+ICAgICAgIEdsb2JhbFZhcl8z N2Q3ZTk4Ni1mN2U5LTQ1YzItODA2Ny1lMzcxNDIxYTYyNmNfQVJNLmJpbg0KPiAgICAgICBHbG9i YWxWYXJfNWE5ZTc3NTQtZDgxYi00OWVhLTg1YWQtNjllYWE3YjE1MzliX0lBMzIuYmluDQo+ICAg ICAgIEdsb2JhbFZhcl81YTllNzc1NC1kODFiLTQ5ZWEtODVhZC02OWVhYTdiMTUzOWJfWDY0LmJp bg0KPiANCj4gICAgIGluIHRoZSBwcm9qZWN0IHJvb3QgZGlyZWN0b3J5LiAoVGhlIEdVSURzIG1h dGNoIHRoZSBQTEFURk9STV9HVUlEDQo+ICAgICB2YWx1ZXMgZnJvbSBBcm1WaXJ0UWVtdS5kc2Mg YW5kIE92bWZQa2cqLmRzYy4pDQo+IA0KPiAgICAgVGhleSBzZWVtIHRvIGNvbWUgZnJvbSBwYXRj aCAiQmFzZVRvb2xzOiBFbmFibGUgTXVsdGlwbGUgUHJvY2Vzcw0KPiAgICAgQXV0b0dlbiIuDQo+ IA0KPiAgICAgQ2FuIHdlIHBsYWNlIHRoZXNlIGZpbGVzIHVuZGVyIHRoZSBCdWlsZC8gZGlyZWN0 b3J5IHNvbWV3aGVyZSwNCj4gICAgIGluc3RlYWQ/DQo+IA0KPiAoMikgVGhlIFFFTVUgcHJvamVj dCBub3cgYnVuZGxlcyBlZGsyIChhcyBhIGdpdCBzdWJtb2R1bGUgZm9yIHRoZSBlZGsyDQo+ICAg ICB0cmVlLCBhbmQgc29tZSBmaXJtd2FyZSBiaW5hcmllcyBidWlsdCBmcm9tIHRoYXQpLiBUaGUg YnVpbGQgc2NyaXB0cw0KPiAgICAgY2FycmllZCBieSBRRU1VIHNldCBQWVRIT05fQ09NTUFORCB0 byBweXRob24yLCBpbiBvcmRlciB0byB3b3JrDQo+ICAgICBhcm91bmQgVGlhbm9Db3JlIEJaIzE2 MDcuDQo+IA0KPiAgICAgRm9yIHJlZ3Jlc3Npb24tdGVzdGluZyB0aGlzIHNldCwgSSByYW4NCj4g DQo+ICAgICAkIG1ha2UgLUMgcm9tcyBlZmkNCj4gDQo+ICAgICB3aXRoIFFFTVUncyBlZGsyIHN1 Ym1vZHVsZSBhZHZhbmNlZCB0byBjb21taXQgOGZmNjhjZDVlNGM5LCBwbHVzDQo+ICAgICB0aGlz IHNldCBhcHBsaWVkIChzZWUgYWJvdmUpLCBhbmQgd2l0aCBRRU1VIGl0c2VsZiBiZWluZyBhdA0K PiAgICAgZTJiNDc2NjZmZTE1Lg0KPiANCj4gICAgIFRoZSBidWlsZCBpdHNlbGYgcGFzc2VzIGZp bmUsIHNvIHRoYXQncyBnb29kLg0KPiANCj4gICAgIEJ1dCwgc29tZSAobm90IGFsbCkgb2YgdGhl IGZpcm13YXJlIGJpbmFyaWVzIGFyZSAqbWlzYnVpbHQqLiBJJ2xsDQo+ICAgICBlbGFib3JhdGUg YmVsb3cgKGluZGVwZW5kZW50bHkgb2YgUUVNVSkuDQo+IA0KPiAoMykgQ29uc2lkZXIgdGhlIGZv bGxvd2luZyB0ZXN0LiAoTm90ZSB0aGF0IHRoaXMgaXMgaW5kZXBlbmRlbnQgb2YgdGhlDQo+ICAg ICBRRU1VIHByb2plY3QgZW50aXJlbHkuKQ0KPiANCj4gICAgICgzYSkgU2V0IHVwIGEgcHJpc3Rp bmUgYnVpbGQgZW52aXJvbm1lbnQ6DQo+IA0KPiAgICAgICAgICAjIE9wZW4gYSBuZXcgc2hlbGws IHRoZW46DQo+ICAgICAgICAgICQgZ2l0IGNsZWFuIC1mZmR4DQo+ICAgICAgICAgICQgZ2l0IHJl c2V0IC0taGFyZA0KPiAgICAgICAgICAkIGdpdCBzdWJtb2R1bGUgZGVpbml0IC0tZm9yY2UgLS1h bGwNCj4gICAgICAgICAgJCBnaXQgY2hlY2tvdXQgbWFzdGVyDQo+ICAgICAgICAgICQgZ2l0IHN1 Ym1vZHVsZSB1cGRhdGUgLS1pbml0DQo+ICAgICAgICAgICQgZXhwb3J0IFBZVEhPTl9DT01NQU5E PXB5dGhvbjINCj4gICAgICAgICAgJCBzb3VyY2UgZWRrc2V0dXAuc2gNCj4gICAgICAgICAgJCBu aWNlIG1ha2UgLUMgIiRFREtfVE9PTFNfUEFUSCIgXA0KPiAgICAgICAgICAgICAgLWogJChnZXRj b25mIF9OUFJPQ0VTU09SU19PTkxOKQ0KPiANCj4gICAgICgzYikgQnVpbGQgT3ZtZlBrZ0lBMzIg d2l0aCBvbmUgc2V0IG9mIGZlYXR1cmVzLCBhbmQgY2FwdHVyZSBhDQo+ICAgICAgICAgIGNoZWNr c3VtIG9mIHRoZSByZXN1bHRhbnQgZmlybXdhcmUgYmluYXJ5Og0KPiANCj4gICAgICAgICAgJCBu aWNlIGJ1aWxkIC1hIElBMzIgLWIgTk9PUFQgLXAgT3ZtZlBrZy9Pdm1mUGtnSUEzMi5kc2MgXA0K PiAgICAgICAgICAgICAgLXQgR0NDNDgNCj4gICAgICAgICAgJCBtZDVzdW0gQnVpbGQvT3ZtZklh MzIvTk9PUFRfR0NDNDgvRlYvT1ZNRl9DT0RFLmZkDQo+ICAgICAgICAgIDhkNTY1NzVkZDNiNWM4 OWFjNmYxODI5YWU0ZjQxYjU1DQo+IA0KPiAgICAgKDNjKSAqUmUqYnVpbGQgdGhlIHNhbWUgcGxh dGZvcm0gd2l0aCBhIGRpZmZlcmVudCBzZXQgb2YgZmVhdHVyZXMsDQo+ICAgICAgICAgIGFuZCBj YXB0dXJlIGEgY2hlY2tzdW0gYWdhaW46DQo+IA0KPiAgICAgICAgICAkIG5pY2UgYnVpbGQgLWEg SUEzMiAtYiBOT09QVCAtcCBPdm1mUGtnL092bWZQa2dJQTMyLmRzYyBcDQo+ICAgICAgICAgICAg ICAtdCBHQ0M0OCAtRCBTRUNVUkVfQk9PVF9FTkFCTEUgLUQgU01NX1JFUVVJUkUNCj4gICAgICAg ICAgJCBtZDVzdW0gQnVpbGQvT3ZtZklhMzIvTk9PUFRfR0NDNDgvRlYvT1ZNRl9DT0RFLmZkDQo+ ICAgICAgICAgIGVkNzkwNTJlOWFkZDI0MjE3NGNjZWZjNzhhNWJkZGIzDQo+IA0KPiAgICAgT2th eSwgbm93IHJlcGVhdCBhbGwgdGhyZWUgc3RlcHMgZnJvbSB6ZXJvLCBidXQgd2l0aCB0aGUgcHJl c2VudA0KPiAgICAgZmVhdHVyZSBwYXRjaCBzZXQgYXBwbGllZDoNCj4gDQo+ICAgICAoM2QpIFJl cGVhdCAoM2EpLCBidXQgcmF0aGVyIHRoYW4gY2hlY2tpbmcgb3V0IHRoZSBtYXN0ZXIgYnJhbmNo DQo+ICAgICAgICAgIHdpdGggImdpdCBjaGVja291dCIsIGNoZWNrIG91dCB0aGUgdG9waWMgYnJh bmNoIHRoYXQgaXMgdGhlDQo+ICAgICAgICAgIHNhbWUgIm1hc3RlciIgY29tbWl0LCAqcGx1cyog dGhlIHByZXNlbnQgc2VyaWVzIGFwcGxpZWQgb24gdG9wLg0KPiANCj4gICAgICAgICAgRG9uJ3Qg Zm9yZ2V0IHRvIHN0YXJ0IGEgbmV3IHNoZWxsIGZpcnN0IQ0KPiANCj4gICAgICgzZSkgUmVwZWF0 ICgzYik6DQo+IA0KPiAgICAgICAgICAkIG5pY2UgYnVpbGQgLWEgSUEzMiAtYiBOT09QVCAtcCBP dm1mUGtnL092bWZQa2dJQTMyLmRzYyBcDQo+ICAgICAgICAgICAgICAtdCBHQ0M0OA0KPiAgICAg ICAgICAkIG1kNXN1bSBCdWlsZC9Pdm1mSWEzMi9OT09QVF9HQ0M0OC9GVi9PVk1GX0NPREUuZmQN Cj4gICAgICAgICAgOGQ1NjU3NWRkM2I1Yzg5YWM2ZjE4MjlhZTRmNDFiNTUNCj4gDQo+ICAgICAg ICAgIE5vdGljZSB0aGF0IHRoZSBjaGVja3N1bSBpcyBpZGVudGljYWwgdG8gdGhhdCBmcm9tICgz YiksIHNvDQo+ICAgICAgICAgIGFsbCdzIGdvb2QuDQo+IA0KPiAgICAgKDNmKSBSZXBlYXQgKDNj KToNCj4gDQo+ICAgICAgICAgICQgbmljZSBidWlsZCAtYSBJQTMyIC1iIE5PT1BUIC1wIE92bWZQ a2cvT3ZtZlBrZ0lBMzIuZHNjIFwNCj4gICAgICAgICAgICAgIC10IEdDQzQ4IC1EIFNFQ1VSRV9C T09UX0VOQUJMRSAtRCBTTU1fUkVRVUlSRQ0KPiAgICAgICAgICAkIG1kNXN1bSBCdWlsZC9Pdm1m SWEzMi9OT09QVF9HQ0M0OC9GVi9PVk1GX0NPREUuZmQNCj4gICAgICAgICAgYmFmMDhjNWE5ZWNi MGFkYzc1NGY1YjQ4NDEwYjY0NzYNCj4gDQo+ICAgICAgICAgIFRoaXMgaXMgdGhlIHByb2JsZW06 IHRoZSBjaGVja3N1bSBkb2VzIG5vdCBtYXRjaCB0aGUgb25lIGZyb20NCj4gICAgICAgICAgKDNj KS4gQW5kLCB0aGUgYmluYXJ5IGZyb20gKDNmKSBpcyBpbiBmYWN0IG1pcy1idWlsdCwgaXQNCj4g ICAgICAgICAgY3Jhc2hlcyBpbW1lZGlhdGVseSB3aGVuIGxhdW5jaGVkIG9uIFFFTVUvS1ZNLCB3 aXRoICJlbXVsYXRpb24NCj4gICAgICAgICAgZmFpbHVyZSIuDQo+IA0KPiAgICAgVGh1czoNCj4g DQo+ICAgICAtIFdpdGhvdXQgdGhlIHBhdGNoIHNldCwgaWYgSSBidWlsZCBhIHBsYXRmb3JtLCB0 aGVuICpyZWJ1aWxkKiBpdA0KPiAgICAgICB3aXRoIGRpZmZlcmVudCAtRCBmbGFncywgdGhlbiBi b3RoIGJ1aWxkcyBwcm9kdWNlIHByb3BlciBvdXRwdXRzLg0KPiANCj4gICAgIC0gV2l0aCB0aGUg cGF0Y2ggc2VyaWVzIGFwcGxpZWQgaG93ZXZlciwgb25seSB0aGUgaW5pdGlhbCBidWlsZA0KPiAg ICAgICBwcm9kdWNlcyBnb29kIHJlc3VsdHMuIFRoZSAqcmVidWlsZCosIHdpdGggZGlmZmVyZW50 IC1EIGZsYWdzLCBpcw0KPiAgICAgICAicG9pc29uZWQiIGJ5IHRoZSBhcnRpZmFjdHMgc3RpbGwg bGF5aW5nIGFyb3VuZCBmcm9tIHRoZSBmaXJzdA0KPiAgICAgICBidWlsZC4NCj4gDQo+ICAgICBJ biBvdGhlciB3b3JkcywgdGhpcyBpcyBhICJzdGFsZSBjYWNoZSIgcHJvYmxlbS4NCj4gDQo+ICg0 KSBOb3QgYSBzaG93IHN0b3BwZXIsIGJ1dCBhIGRpdmVyZ2VuY2UgZnJvbSBwcmV2aW91cyBiZWhh dmlvcjoNCj4gDQo+ICAgICBXaGVuIG9uZSBwcmVzc2VzIEN0cmwtUyAodGhlICJzdG9wIiBjaGFy YWN0ZXIpIGluIGEgdGVybWluYWwsIHRoZQ0KPiAgICAgdGVybWluYWwgb3V0cHV0IC8gYXV0b3Nj cm9sbGluZyBpcyBzdXNwZW5kZWQsIHVudGlsIEN0cmwtUSAodGhlDQo+ICAgICAic3RhcnQiIGNo YXJhY3RlcikgaXMgcHJlc3NlZC4gVGhpcyBpcyBnZW5lcmFsbHkgdXNlZCBmb3IgdHdvDQo+ICAg ICB0aGluZ3M6IHNjcm9sbGluZyBiYWNrIHRoZSB0ZXJtaW5hbCBoaXN0b3J5IG1hbnVhbGx5LCBm b3IgcmVhZGluZw0KPiAgICAgc29tZXRoaW5nIHRoYXQgc2Nyb2xsZWQgb2ZmIHRoZSBzY3JlZW4s IGFuZCBmb3IgYnJpZWZseSBwYXVzaW5nDQo+ICAgICB3aGF0ZXZlciBwcm9jZXNzaW5nIHRoZSBw cm9ncmFtIGlzIGRvaW5nLg0KPiANCj4gICAgIFRoZSBpZGVhIGJlaW5nLCBpZiB0aGUgcHJvZ3Jh bSBpcyBibG9ja2VkIGluIGEgdGVybWluYWwgd3JpdGUNCj4gICAgIG9wZXJhdGlvbiwgaXQgY2Fu bm90IGRvIGFueXRoaW5nIGVsc2UuDQo+IA0KPiAgICAgVGhlIHByZXNlbnQgcGF0Y2ggc2V0IGNo YW5nZXMgdGhlIGxhc3RseSBtZW50aW9uZWQgYmVoYXZpb3IsIGJlY2F1c2UNCj4gICAgIHRoZSBs b2dnaW5nIGlzIG5vdyBkZWNvdXBsZWQgdG8gYSBzZXBhcmF0ZSB0aHJlYWQgKCJCYXNlVG9vbHM6 IEFkZA0KPiAgICAgTG9nQWdlbnQgdG8gc3VwcG9ydCBtdWx0aXBsZSBwcm9jZXNzIEF1dG9nZW4i KS4gQXMgYSByZXN1bHQsIGlmIHRoZQ0KPiAgICAgKm91dHB1dCogb2YgTG9nQWdlbnQgaXMgYmxv Y2tlZCwgdGhhdCBkb2VzIG5vdCBibG9jayB0aGUgKmlucHV0KiBvZg0KPiAgICAgTG9nQWdlbnQs IGFuZCBzbyB0aGUgcXVldWUgLyBidWZmZXIgaW4gTG9nQWdlbnQgZ3Jvd3Mgd2l0aG91dCBib3Vu ZCwNCj4gICAgIGFuZCB0aGUgYnVpbGQgY29udGludWVzIGV2ZW4gdGhvdWdoIHRoZSB0ZXJtaW5h bCBvdXRwdXQgaXMgc3RvcHBlZC4NCj4gDQo+ICAgICBUaGlzIGlzIGEgY29tbW9uIGluaXRpYWwg c3ltcHRvbSBvZiBwcm9ncmFtcyB3aXRoIGludGVybmFsIHF1ZXVlcyAtLQ0KPiAgICAgaXQncyB1 c3VhbGx5IGdvb2QgdG8gaW1wbGVtZW50IGludGVybmFsIGZsb3cgY29udHJvbCwgdW5kZXIgd2hp Y2gNCj4gICAgIGFueSBnaXZlbiBxdWV1ZSBoYXMgYSBsaW1pdCwgYW5kIGlmIHRoYXQgbGltaXQg aXMgcmVhY2hlZCwgdGhlIHF1ZXVlDQo+ICAgICBibG9ja3MgdGhlIHByb2R1Y2VyIHRocmVhZHMg ZmVlZGluZyBpdC4NCj4gDQo+ICAgICBBZ2FpbiwgdGhpcyBpcyBub3QgYSBzaG93IHN0b3BwZXIs IGp1c3QgYSBkaXZlcmdlbmNlIGZyb20gcHJldmlvdXMNCj4gICAgIGJlaGF2aW9yIHdoaWNoIHdl IHNob3VsZCBiZSBhd2FyZSBvZiwgYW5kIHBvc3NpYmx5IGRvY3VtZW50DQo+ICAgICBzb21ld2hl cmUuDQo+IA0KPiAgICAgSW1wb3J0YW50bHksIEN0cmwtWiAodGhlICJzdXNwZW5kIiBjaGFyYWN0 ZXIpIHdvcmtzIGp1c3QgZmluZSwgZm9yDQo+ICAgICAqYm90aCogcHVycG9zZXMgZGVzY3JpYmVk IGFib3ZlLiAoQW5kIHRoZW4gcGVvcGxlIGNhbiByZXN1bWUgdGhlDQo+ICAgICBidWlsZCB3aXRo ICJmZyIsIGxpa2UgYWx3YXlzLikNCj4gDQo+ICg1KSBUd28gcXVlc3Rpb25zIG91dCBvZiBpbnRl cmVzdDoNCj4gDQo+ICAgICAtIEhhcyB0aGlzIHNlcmllcyBiZWVuIHRlc3RlZCBmb3IgcmVzdGFy dGluZyBidWlsZHMgdGhhdCB3ZXJlDQo+ICAgICAgIGludGVycnVwdGVkIHdpdGggQ3RybC1DPyBD YW4gdGhlIG5ldyBidWlsZCAicGljayB1cCIgd2hlcmUgdGhlDQo+ICAgICAgIHByZXZpb3VzIGJ1 aWxkIHdhcyBpbnRlcnJ1cHRlZD8NCj4gDQo+ICAgICAtIERvIHdlIGludGVuZCB0byBvZmZlciBh IGZsYWcgZm9yIGRpc2FibGluZyB0aGlzIGZlYXR1cmU/IEknbSBub3QNCj4gICAgICAgaW1wbHlp bmcgdGhhdCB0aGUgb2xkIGNvZGUgc2hvdWxkIGJlIHByZXNlcnZlZCBhcyBhbiBhbHRlcm5hdGl2 ZSwNCj4gICAgICAgYnV0IHBlcmhhcHMgc29tZSBpbnRlcm5hbCBjb25zdGFudHMgcmVsYXRlZCB0 byBwYXJhbGxlbGl6YXRpb24gY2FuDQo+ICAgICAgIGJlIHR3ZWFrZWQgc3VjaCB0aGF0IHRoZSB1 bHRpbWF0ZSBiZWhhdmlvciBiZWNvbWVzIHNlcmlhbC4gSXMgdGhlDQo+ICAgICAgICItbiAxIiBv cHRpb24gc3VwcG9zZWQgdG8gaGF2ZSB0aGF0IGVmZmVjdD8NCj4gDQo+ICAgICBUaGUgc2Vjb25k IHF1ZXN0aW9uIGlzIHJlbGV2YW50IGJlY2F1c2UgcGVvcGxlIG1pZ2h0IHdhbnQgdG8gZGlzYWJs ZQ0KPiAgICAgdGhlIG5ldyBmZWF0dXJlIHVudGlsIGl0IHN0YWJpbGl6ZXMgKHNlZSBpc3N1ZSAo MykgZm9yIGV4YW1wbGUpLg0KPiANCj4gVGhhbmtzLA0KPiBMYXN6bG8NCj4gDQo+IA0KDQo=