From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received-SPF: Pass (sender SPF authorized) identity=mailfrom; client-ip=134.134.136.65; helo=mga03.intel.com; envelope-from=star.zeng@intel.com; receiver=edk2-devel@lists.01.org Received: from mga03.intel.com (mga03.intel.com [134.134.136.65]) (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 BC07A220C2A4C for ; Mon, 12 Mar 2018 17:38:24 -0700 (PDT) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga103.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Mar 2018 17:44:45 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.47,463,1515484800"; d="scan'208";a="34444423" Received: from fmsmsx106.amr.corp.intel.com ([10.18.124.204]) by orsmga003.jf.intel.com with ESMTP; 12 Mar 2018 17:44:44 -0700 Received: from fmsmsx126.amr.corp.intel.com (10.18.125.43) by FMSMSX106.amr.corp.intel.com (10.18.124.204) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 12 Mar 2018 17:44:43 -0700 Received: from shsmsx103.ccr.corp.intel.com (10.239.4.69) by FMSMSX126.amr.corp.intel.com (10.18.125.43) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 12 Mar 2018 17:44:41 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.80]) by SHSMSX103.ccr.corp.intel.com ([169.254.4.235]) with mapi id 14.03.0319.002; Tue, 13 Mar 2018 08:44:26 +0800 From: "Zeng, Star" To: "Kinney, Michael D" , Ming Huang , "Ni, Ruiyu" , "leif.lindholm@linaro.org" , "linaro-uefi@lists.linaro.org" , "edk2-devel@lists.01.org" , "graeme.gregory@linaro.org" , "Dong, Eric" CC: "huangming23@huawei.com" , "wanghuiqiang@huawei.com" , "ard.biesheuvel@linaro.org" , "zhangjinsong2@huawei.com" , "Gao, Liming" , "guoheyi@huawei.com" , "waip23@126.com" , "mengfanrong@huawei.com" , "huangdaode@hisilicon.com" , "Zeng, Star" Thread-Topic: [edk2] [RFC v1 1/1] MdeModulePkg/Usb: Use Pcd for UsbBootIoBlocks Thread-Index: AQHTrVIR6XEPuY7xLkSsYD69WAKkHaO3Nd8AgABDTYCAAAoSgIAEfZiAgA+tgwCAAKOmgIABG9EA Date: Tue, 13 Mar 2018 00:44:25 +0000 Message-ID: <0C09AFA07DD0434D9E2A0C6AEB0483103BA62A36@shsmsx102.ccr.corp.intel.com> References: <1519464575-38109-1-git-send-email-ming.huang@linaro.org> <1519464575-38109-2-git-send-email-ming.huang@linaro.org> <734D49CCEBEEF84792F5B80ED585239D5BBC26C6@SHSMSX104.ccr.corp.intel.com> <8fb46727-76ea-6a86-d936-ea3cec9df3d8@linaro.org> <3d24a3f3-a704-b4bd-4d7d-6f1fdc46f78b@linaro.org> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [RFC v1 1/1] MdeModulePkg/Usb: Use Pcd for UsbBootIoBlocks X-BeenThere: edk2-devel@lists.01.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: EDK II Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 13 Mar 2018 00:38:25 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 TWlrZSwNCg0KVGhlcmUgd2FzIHNvbWUgZGlzY3Vzc2lvbiBhdCBodHRwczovL2xpc3RzLjAxLm9y Zy9waXBlcm1haWwvZWRrMi1kZXZlbC8yMDE3LUphbnVhcnkvMDA2NzA3Lmh0bWwuDQpTZWVtaW5n LCB0aGVyZSBpcyBubyBkZXRhaWxlZCBpbmZvcm1hdGlvbiBhYm91dCB3aHkgaXQgd2FzIGNoYW5n ZWQgdG8gMTI4IGFjY29yZGluZyB0byB0aGUgY29tbWl0IGxvZy4NCg0KDQpUaGFua3MsDQpTdGFy DQoNCi0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQpGcm9tOiBLaW5uZXksIE1pY2hhZWwgRCAN ClNlbnQ6IE1vbmRheSwgTWFyY2ggMTIsIDIwMTggMTE6NDcgUE0NClRvOiBNaW5nIEh1YW5nIDxt aW5nLmh1YW5nQGxpbmFyby5vcmc+OyBOaSwgUnVpeXUgPHJ1aXl1Lm5pQGludGVsLmNvbT47IGxl aWYubGluZGhvbG1AbGluYXJvLm9yZzsgbGluYXJvLXVlZmlAbGlzdHMubGluYXJvLm9yZzsgZWRr Mi1kZXZlbEBsaXN0cy4wMS5vcmc7IGdyYWVtZS5ncmVnb3J5QGxpbmFyby5vcmc7IFplbmcsIFN0 YXIgPHN0YXIuemVuZ0BpbnRlbC5jb20+OyBEb25nLCBFcmljIDxlcmljLmRvbmdAaW50ZWwuY29t PjsgS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29tPg0KQ2M6IGh1 YW5nbWluZzIzQGh1YXdlaS5jb207IHdhbmdodWlxaWFuZ0BodWF3ZWkuY29tOyBhcmQuYmllc2hl dXZlbEBsaW5hcm8ub3JnOyB6aGFuZ2ppbnNvbmcyQGh1YXdlaS5jb207IEdhbywgTGltaW5nIDxs aW1pbmcuZ2FvQGludGVsLmNvbT47IGd1b2hleWlAaHVhd2VpLmNvbTsgd2FpcDIzQDEyNi5jb207 IG1lbmdmYW5yb25nQGh1YXdlaS5jb207IGh1YW5nZGFvZGVAaGlzaWxpY29uLmNvbQ0KU3ViamVj dDogUkU6IFtlZGsyXSBbUkZDIHYxIDEvMV0gTWRlTW9kdWxlUGtnL1VzYjogVXNlIFBjZCBmb3Ig VXNiQm9vdElvQmxvY2tzDQoNCkRvZXMgYW55b25lIGtub3cgd293IHdhcyB0aGUgb3JpZ2luYWwg I2RlZmluZSBvZiAxMjggc2VsZWN0ZWQ/DQoNCklmIHdlIGFyZSBzZWVpbmcgY29tcGF0aWJpbGl0 eSBpc3N1ZXMgd2l0aCAxMjggYW5kIHdlIGhhdmUgZ3JlYXRlciBjb21wYXRpYmlsaXR5IHdpdGgg NjQsIHdoYXQgd291bGQgYmUgdGhlIGltcGFjdCBvZiBqdXN0IGNoYW5naW5nIHRoZSAjZGVmaW5l IHRvIDY0Pw0KDQpUaGFua3MsDQoNCk1pa2UNCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPiBGcm9tOiBNaW5nIEh1YW5nIFttYWlsdG86bWluZy5odWFuZ0BsaW5hcm8ub3JnXQ0KPiBT ZW50OiBTdW5kYXksIE1hcmNoIDExLCAyMDE4IDExOjAxIFBNDQo+IFRvOiBOaSwgUnVpeXUgPHJ1 aXl1Lm5pQGludGVsLmNvbT47DQo+IGxlaWYubGluZGhvbG1AbGluYXJvLm9yZzsgbGluYXJvLXVl ZmlAbGlzdHMubGluYXJvLm9yZzsgDQo+IGVkazItZGV2ZWxAbGlzdHMuMDEub3JnOyBncmFlbWUu Z3JlZ29yeUBsaW5hcm8ub3JnOyBaZW5nLCBTdGFyIA0KPiA8c3Rhci56ZW5nQGludGVsLmNvbT47 IERvbmcsIEVyaWMgPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+IENjOiBodWFuZ21pbmcyM0BodWF3 ZWkuY29tOyB3YW5naHVpcWlhbmdAaHVhd2VpLmNvbTsgDQo+IGFyZC5iaWVzaGV1dmVsQGxpbmFy by5vcmc7IHpoYW5namluc29uZzJAaHVhd2VpLmNvbTsgS2lubmV5LCBNaWNoYWVsIEQgDQo+IDxt aWNoYWVsLmQua2lubmV5QGludGVsLmNvbT47IEdhbywgTGltaW5nIDxsaW1pbmcuZ2FvQGludGVs LmNvbT47IA0KPiBndW9oZXlpQGh1YXdlaS5jb207IHdhaXAyM0AxMjYuY29tOyBtZW5nZmFucm9u Z0BodWF3ZWkuY29tOyANCj4gaHVhbmdkYW9kZUBoaXNpbGljb24uY29tDQo+IFN1YmplY3Q6IFJl OiBbZWRrMl0gW1JGQyB2MSAxLzFdIE1kZU1vZHVsZVBrZy9Vc2I6IFVzZSBQY2QgZm9yIA0KPiBV c2JCb290SW9CbG9ja3MNCj4gDQo+IEFueSBjb21tZW50cyBhYm91dCB0aGlzIHBhdGNoPw0KPiAN Cj4gDQo+IE9uIDIwMTgvMy8yIDE0OjM2LCBNaW5nIEh1YW5nIHdyb3RlOg0KPiA+DQo+ID4gT24g MjAxOC8yLzI3IDE4OjAxLCBOaSwgUnVpeXUgd3JvdGU6DQo+ID4+IE9uIDIvMjcvMjAxOCA1OjI1 IFBNLCBNaW5nIEh1YW5nIHdyb3RlOg0KPiA+Pj4NCj4gPj4+IE9uIDIwMTgvMi8yNyAxMzoyNSwg TmksIFJ1aXl1IHdyb3RlOg0KPiA+Pj4+IEkgZG9uJ3QgcHJlZmVyIHRvIGFkZCBQQ0QsIHVubGVz cyB3ZSBjYW5ub3QgZmluZDoNCj4gPj4+PiAxLiBzcGVjIGNvbnRlbnTCoCB0byBkZXNjcmliZSB0 aGUgbWF4L21pbiBibG9ja3MNCj4gPj4+IFRoZXJlIGlzIG5vIHNwZWMgYWJvdXQgdGhlIG1heC9t aW4gYmxvY2tzIGluIG15DQo+IG1pbmQuIEkgaGFkIGNoZWNrZWQgdGhpcyBpbg0KPiA+Pj4gc2V2 ZXJhbCBwZGYgZG9jdW1lbnQgbGlrZQ0KPiA+Pj4gVW5pdmVyc2FsIFNlcmlhbCBCdXMgTWFzcyBT dG9yYWdlIENsYXNzDQo+IFNwZWNpZmljYXRpb24gT3ZlcnZpZXcsDQo+ID4+PiBVbml2ZXJzYWwg U2VyaWFsIEJ1cyBNYXNzIFN0b3JhZ2UgU3BlY2lmaWNhdGlvbiBGb3INCj4gQm9vdGFiaWxpdHks DQo+ID4+PiBVbml2ZXJzYWwgU2VyaWFsIEJ1cyBNYXNzIFN0b3JhZ2UgQ2xhc3MgQnVsay1Pbmx5 DQo+IFRyYW5zcG9ydC4NCj4gPj4+PiAyLiBlcnJvciBoYW5kbGluZyB3aGVuIHRoZSBibG9ja3Mg bnVtYmVyIGlzIGJpZ2dlcg0KPiB0aGFuIEhXIGV4cGVjdHMuDQo+ID4+PiBXaGVyZSBzaG91bGQg ZXJyb3IgaGFuZGxpbmcgYWRkIHRvP8KgIEVycm9yIGhhbmRpbmcNCj4gY2FuJ3QgYWRkIHRvIEhX IChlbmQtcG9pbnQgZGV2aWNlKSwNCj4gPj4+IGJlY2F1c2UgSFcgaXMgbm90IGluIG91ciBjb250 cm9sIHNjb3BlLg0KPiA+PiBJIG1lYW4gbWF5YmUgc3BlYyBkZXNjcmliZXMgYW4gZXJyb3Igc3Rh dHVzIGNvdWxkIGJlDQo+IHJldHVybmVkIGZyb20gSFcgd2hlbiB1c2luZyAxMjguIFNvIHRoYXQg d2UgY2FuIHVzZSA2NCwgMzIsIGFuZCANCj4gc21hbGxlciB2YWx1ZSB1bnRpbCBIVyBpcyBoYXBw eS4NCj4gPj4NCj4gPj4gSSBhbSBjdXJpb3VzIGhvdyB0aGUgb3RoZXIgVVNCIHN0b3JhZ2UgZHJp dmVycyBoYW5kbGUNCj4gdGhpcy4NCj4gPj4gUENEIGlzIGEgc3RhdGljIHdheS4gRHluYW1pYyB3 YXkgaXMgbW9yZSBwcmVmZXJyZWQuDQo+ID4+DQo+ID4gV2hlbiB1c2luZyAxMjgswqAgYWZ0ZXIg d2FpdGluZw0KPiA1eDUoVVNCX0JPT1RfQ09NTUFORF9SRVRSWT01LA0KPiBVU0JfQk9PVF9HRU5F UkFMX0NNRF9USU1FT1VUPTUpIHNlY29uZHMsDQo+ID4gdGhlIFVzYkJvb3RSZWFkQmxvY2tzIC0+ VXNiQm9vdEV4ZWNDbWRXaXRoUmV0cnkgcmV0cnVuDQo+IFRpbWVPdXQuIEkgZG9uJ3Qga25vdyB3 aHkgSFcgcmV0dXJuIFRpbWVvdXQuDQo+ID4gQm9vdGluZyB0aW1lIGlzIHRvIGxvbmcgaWYgdXNp bmcgRHluYW1pYyB3YXkgdG8gZml4DQo+IHRoZSBpc3N1ZS4NCj4gPiBXaGVuIHVzaW5nIDY0LCBJ dCB3b3JrcyBhbmQgYm9vdGluZyBmcm9tIEhXIHN1Y2NlZWQuDQo+ID4gTWF5IGJlIHVzaW5nIFBD RCBpcyBhIHNpbXBsZSBhbmQgZWZmZWN0aXZlIG1lYW4uDQo+ID4NCj4gPiBUaGFua3MNCj4gPiBN aW5nDQo+ID4+Pj4gVGhhbmtzL1JheQ0KPiA+Pj4+DQo+ID4+Pj4+IC0tLS0tT3JpZ2luYWwgTWVz c2FnZS0tLS0tDQo+ID4+Pj4+IEZyb206IGVkazItZGV2ZWwgW21haWx0bzplZGsyLWRldmVsLQ0K PiBib3VuY2VzQGxpc3RzLjAxLm9yZ10gT24gQmVoYWxmIE9mDQo+ID4+Pj4+IE1pbmcgSHVhbmcN Cj4gPj4+Pj4gU2VudDogU2F0dXJkYXksIEZlYnJ1YXJ5IDI0LCAyMDE4IDU6MzAgUE0NCj4gPj4+ Pj4gVG86IGxlaWYubGluZGhvbG1AbGluYXJvLm9yZzsgbGluYXJvLQ0KPiB1ZWZpQGxpc3RzLmxp bmFyby5vcmc7IGVkazItDQo+ID4+Pj4+IGRldmVsQGxpc3RzLjAxLm9yZzsgZ3JhZW1lLmdyZWdv cnlAbGluYXJvLm9yZzsNCj4gWmVuZywgU3Rhcg0KPiA+Pj4+PiA8c3Rhci56ZW5nQGludGVsLmNv bT47IERvbmcsIEVyaWMNCj4gPGVyaWMuZG9uZ0BpbnRlbC5jb20+DQo+ID4+Pj4+IENjOiBodWFu Z21pbmcyM0BodWF3ZWkuY29tOw0KPiBhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnOyBNaW5nIEh1 YW5nDQo+ID4+Pj4+IDxtaW5nLmh1YW5nQGxpbmFyby5vcmc+OyBHYW8sIExpbWluZw0KPiA8bGlt aW5nLmdhb0BpbnRlbC5jb20+Ow0KPiA+Pj4+PiBtZW5nZmFucm9uZ0BodWF3ZWkuY29tOyBndW9o ZXlpQGh1YXdlaS5jb207IA0KPiA+Pj4+PiB6aGFuZ2ppbnNvbmcyQGh1YXdlaS5jb207IEtpbm5l eSwgTWljaGFlbCBEIA0KPiA+Pj4+PiA8bWljaGFlbC5kLmtpbm5leUBpbnRlbC5jb20+OyB3YWlw MjNAMTI2LmNvbTsgDQo+ID4+Pj4+IHdhbmdodWlxaWFuZ0BodWF3ZWkuY29tOyBodWFuZ2Rhb2Rl QGhpc2lsaWNvbi5jb20NCj4gPj4+Pj4gU3ViamVjdDogW2VkazJdIFtSRkMgdjEgMS8xXSBNZGVN b2R1bGVQa2cvVXNiOiBVc2UNCj4gUGNkIGZvcg0KPiA+Pj4+PiBVc2JCb290SW9CbG9ja3MNCj4g Pj4+Pj4NCj4gPj4+Pj4gQm9vdGluZyBmcm9tIFVTQiBtYXkgZmFpbCB3aGlsZSB0aGUgbWFjcm8N Cj4gVVNCX0JPT1RfSU9fQkxPQ0tTIHNldCB0byAxMjgNCj4gPj4+Pj4gYmVjYXVzZSAxMjggYmxv Y2tzIGlzIGV4Y2VlZGVkIHRoZSBtYXhpbXVuIGJsb2Nrcw0KPiBvZiBzb21lIFVTQg0KPiA+Pj4+ PiBkZXZpY2VzLGxpa2Ugc29tZSB2aXJ0dWFsIENELVJPTSBmcm9tIEJNQy4gU28sDQo+IGdpdmUg YSBjaGFuY2UgdG8gc2V0IHRoZQ0KPiA+Pj4+PiB2YWx1ZSBvZiBVU0JfQk9PVF9JT19CTE9DS1Mg YnkgYWRkaW5nIGEgUGNkLg0KPiA+Pj4+Pg0KPiA+Pj4+PiBDb250cmlidXRlZC11bmRlcjogVGlh bm9Db3JlIENvbnRyaWJ1dGlvbg0KPiBBZ3JlZW1lbnQgMS4xDQo+ID4+Pj4+IFNpZ25lZC1vZmYt Ynk6IE1pbmcgSHVhbmcgPG1pbmcuaHVhbmdAbGluYXJvLm9yZz4NCj4gPj4+Pj4gLS0tDQo+ID4+ Pj4+IMKgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1hc3NTdG9yYWdlRHhlL1VzYk1hc3NCbw0K PiBvdC5owqDCoMKgwqDCoMKgwqDCoCB8IDcNCj4gPj4+Pj4gKysrKystLQ0KPiA+Pj4+PiDCoCBN ZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JNYXNzU3RvcmFnZUR4ZS9Vc2JNYXNzU3QNCj4gb3JhZ2VE eGUuaW5mIHwgNA0KPiA+Pj4+PiArKysrDQo+ID4+Pj4+IMKgIE1kZU1vZHVsZVBrZy9NZGVNb2R1 bGVQa2cuZGVjDQo+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCB8IDQgKysrKw0KPiA+Pj4+PiDC oCBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLnVuaQ0KPiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqAgfCA0ICsrKysNCj4gPj4+Pj4gwqAgNCBmaWxlcyBjaGFuZ2VkLCAxNyBpbnNlcnRpb25zKCsp LCAyIGRlbGV0aW9ucygtDQo+ICkNCj4gPj4+Pj4NCj4gPj4+Pj4gZGlmZiAtLWdpdA0KPiBhL01k ZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1hc3NTdG9yYWdlRHhlL1VzYk1hc3NCb290LmgNCj4gPj4+ Pj4NCj4gYi9NZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JNYXNzU3RvcmFnZUR4ZS9Vc2JNYXNzQm9v dC5oDQo+ID4+Pj4+IGluZGV4IDVlZTUwYWM1MmEyMS4uY2E5MjQwYWRiZDVmIDEwMDY0NA0KPiA+ Pj4+PiAtLS0NCj4gYS9NZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JNYXNzU3RvcmFnZUR4ZS9Vc2JN YXNzQm9vdC5oDQo+ID4+Pj4+ICsrKw0KPiBiL01kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1hc3NT dG9yYWdlRHhlL1VzYk1hc3NCb290LmgNCj4gPj4+Pj4gQEAgLTE2LDYgKzE2LDggQEAgV0lUSE9V VCBXQVJSQU5USUVTIE9SDQo+IFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkNCj4gPj4+Pj4gS0lORCwg RUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRC4NCj4gPj4+Pj4gwqAgI2lmbmRlZiBfRUZJX1VTQl9N QVNTX0JPT1RfSF8NCj4gPj4+Pj4gwqAgI2RlZmluZSBfRUZJX1VTQl9NQVNTX0JPT1RfSF8NCj4g Pj4+Pj4NCj4gPj4+Pj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BjZExpYi5oPg0KPiA+Pj4+PiArDQo+ ID4+Pj4+IMKgIC8vDQo+ID4+Pj4+IMKgIC8vIFRoZSBvcGNvZGVzIG9mIHZhcmlvdXMgVVNCIGJv b3QgY29tbWFuZHM6DQo+ID4+Pj4+IMKgIC8vIElOUVVJUlkvUkVRVUVTVF9TRU5TRSBhcmUgIk5v IFRpbWVvdXQNCj4gQ29tbWFuZHMiIGFzIHNwZWNpZmllZCBAQA0KPiA+Pj4+PiAtNjYsOSArNjgs MTAgQEAgV0lUSE9VVCBXQVJSQU5USUVTIE9SDQo+IFJFUFJFU0VOVEFUSU9OUyBPRiBBTlkNCj4g Pj4+Pj4gS0lORCwgRUlUSEVSIEVYUFJFU1MgT1IgSU1QTElFRC4NCj4gPj4+Pj4gwqAgI2RlZmlu ZQ0KPiBVU0JfUERUX1NJTVBMRV9ESVJFQ1TCoMKgwqDCoMKgwqDCoMKgwqDCoCAweDBFwqDCoMKg wqDCoMKgIC8vLzwgU2ltcGxpZmllZCBkaXJlY3QgDQo+IGFjY2Vzcw0KPiA+Pj4+PiBkZXZpY2UN Cj4gPj4+Pj4NCj4gPj4+Pj4gwqAgLy8NCj4gPj4+Pj4gLS8vIE90aGVyIHBhcmFtZXRlcnMsIE1h eCBjYXJyaWVkIHNpemUgaXMgNTEyQiAqDQo+IDEyOCA9IDY0S0INCj4gPj4+Pj4gKy8vIE90aGVy IHBhcmFtZXRlcnMsIE1heCBjYXJyaWVkIHNpemUgaXMgZGVwYW5kZWQNCj4gb24gUGNkLg0KPiA+ Pj4+PiArLy8gVGhlIGRlZmF1bHQgb2YgUGNkVXNiQm9vdElvQmxvY2tzIGlzIDEyOC4gNTEyQg0K PiAqIDEyOCA9IDY0S0INCj4gPj4+Pj4gwqAgLy8NCj4gPj4+Pj4gLSNkZWZpbmUgVVNCX0JPT1Rf SU9fQkxPQ0tTwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqAgMTI4DQo+ID4+Pj4+ICsjZGVmaW5l DQo+IFVTQl9CT09UX0lPX0JMT0NLU8KgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIChGaXhlZFBj ZEdldDMyDQo+ID4+Pj4+IChQY2RVc2JCb290SW9CbG9ja3MpKQ0KPiA+Pj4+Pg0KPiA+Pj4+PiDC oCAvLw0KPiA+Pj4+PiDCoCAvLyBSZXRyeSBtYXNzIGNvbW1hbmQgdGltZXMsIHNldCBieSBleHBl cmllbmNlDQo+IGRpZmYgLS1naXQNCj4gPj4+Pj4NCj4gYS9NZGVNb2R1bGVQa2cvQnVzL1VzYi9V c2JNYXNzU3RvcmFnZUR4ZS9Vc2JNYXNzU3RvcmFnZUQNCj4geGUuaW5mDQo+ID4+Pj4+DQo+IGIv TWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTWFzc1N0b3JhZ2VEeGUvVXNiTWFzc1N0b3JhZ2VEDQo+ IHhlLmluZg0KPiA+Pj4+PiBpbmRleCAyNmQxNWM3Njc5YmYuLjQwNDI2NTEyZjg4NCAxMDA2NDQN Cj4gPj4+Pj4gLS0tDQo+ID4+Pj4+DQo+IGEvTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTWFzc1N0 b3JhZ2VEeGUvVXNiTWFzc1N0b3JhZ2VEDQo+IHhlLmluZg0KPiA+Pj4+PiArKysNCj4gPj4+Pj4N Cj4gYi9NZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JNYXNzU3RvcmFnZUR4ZS9Vc2JNYXNzU3RvcmFn ZUQNCj4geGUuaW5mDQo+ID4+Pj4+IEBAIC02MCw2ICs2MCw3IEBAIFtTb3VyY2VzXQ0KPiA+Pj4+ PiDCoMKgwqAgVXNiTWFzc0Rpc2tJbmZvLmMNCj4gPj4+Pj4NCj4gPj4+Pj4gwqAgW1BhY2thZ2Vz XQ0KPiA+Pj4+PiArwqAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gPj4+Pj4gwqDC oMKgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ID4+Pj4+DQo+ID4+Pj4+IMKgIFtMaWJyYXJ5Q2xhc3Nl c10NCj4gPj4+Pj4gQEAgLTgzLDUgKzg0LDggQEAgW1Byb3RvY29sc10NCj4gPj4+Pj4gwqAgIyBF VkVOVF9UWVBFX1JFTEFUSVZFX1RJTUVSwqDCoMKgwqDCoMKgwqAgIyMgQ09OU1VNRVMNCj4gPj4+ Pj4gwqAgIw0KPiA+Pj4+Pg0KPiA+Pj4+PiArW0ZpeGVkUGNkXQ0KPiA+Pj4+Pg0KPiArwqAgZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVzYkJvb3RJb0Jsb2Nrcw0KPiA+Pj4+PiAr DQo+ID4+Pj4+IMKgIFtVc2VyRXh0ZW5zaW9ucy5UaWFub0NvcmUuIkV4dHJhRmlsZXMiXQ0KPiA+ Pj4+PiDCoMKgwqAgVXNiTWFzc1N0b3JhZ2VEeGVFeHRyYS51bmkNCj4gPj4+Pj4gZGlmZiAtLWdp dCBhL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjIA0KPiA+Pj4+PiBiL01kZU1vZHVsZVBr Zy9NZGVNb2R1bGVQa2cuZGVjIGluZGV4DQo+IDQ1NTk3OTM4NmUzZi4uZmM0MDc0NTMxNWEwDQo+ ID4+Pj4+IDEwMDY0NA0KPiA+Pj4+PiAtLS0gYS9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRl Yw0KPiA+Pj4+PiArKysgYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiA+Pj4+PiBA QCAtOTk5LDYgKzk5OSwxMCBAQCBbUGNkc0ZpeGVkQXRCdWlsZF0NCj4gPj4+Pj4gwqDCoMKgICMg QFByb21wdCBFbmFibGUgVUVGSSBTdGFjayBHdWFyZC4NCj4gPj4+Pj4NCj4gPj4+Pj4NCj4gZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENwdVN0YWNrR3VhcmR8RkFMU0V8Qk8NCj4g T0xFQU58MA0KPiA+Pj4+PiB4MzAwMDEwNTUNCj4gPj4+Pj4NCj4gPj4+Pj4gKyMjIFRoZSBNYXgg YmxvY2tzIG9mIHVzYiB0cmFuc2Zlci4gVGhlIGRlZmF1bHQgaXMNCj4gMTI4Lg0KPiA+Pj4+PiAr IyBAUHJvbXB0IFRoZSBNYXggYmxvY2tzIG9mIHVzYiB0cmFuc2Zlcg0KPiA+Pj4+Pg0KPiArZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVzYkJvb3RJb0Jsb2Nrc3wxMjh8VQ0KPiBJ TlQzMnwweDANCj4gPj4+Pj4gMDAwMDEwQg0KPiA+Pj4+PiArDQo+ID4+Pj4+IMKgIFtQY2RzRml4 ZWRBdEJ1aWxkLCBQY2RzUGF0Y2hhYmxlSW5Nb2R1bGVdDQo+ID4+Pj4+IMKgwqDCoCAjIyBEeW5h bWljIHR5cGUgUENEIGNhbiBiZSByZWdpc3RlcmVkIGNhbGxiYWNrDQo+IGZ1bmN0aW9uIGZvciBQ Y2Qgc2V0dGluZw0KPiA+Pj4+PiBhY3Rpb24uDQo+ID4+Pj4+IMKgwqDCoCAjwqAgUGNkTWF4UGVp UGNkQ2FsbEJhY2tOdW1iZXJQZXJQY2RFbnRyeQ0KPiBpbmRpY2F0ZXMgdGhlIG1heGltdW0NCj4g Pj4+Pj4gbnVtYmVyIG9mIGNhbGxiYWNrIGZ1bmN0aW9uIGRpZmYgLS1naXQNCj4gYS9NZGVNb2R1 bGVQa2cvTWRlTW9kdWxlUGtnLnVuaQ0KPiA+Pj4+PiBiL01kZU1vZHVsZVBrZy9NZGVNb2R1bGVQ a2cudW5pIGluZGV4DQo+IGYzZmE2MTY0MzhiMC4uYzk5NmQ2YjRlYmUwDQo+ID4+Pj4+IDEwMDY0 NA0KPiA+Pj4+PiAtLS0gYS9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLnVuaQ0KPiA+Pj4+PiAr KysgYi9NZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLnVuaQ0KPiA+Pj4+PiBAQCAtMTI0MywzICsx MjQzLDcgQEANCj4gPj4+Pj4gwqAgI3N0cmluZw0KPiA+Pj4+Pg0KPiBTVFJfZ0VmaU1kZU1vZHVs ZVBrZ1Rva2VuU3BhY2VHdWlkX1BjZEVka2lpRnBkdFN0cmluZ1JlYw0KPiBvcmRFbmFibGVPDQo+ ID4+Pj4+IG5seV9IRUxQwqDCoMKgICNsYW5ndWFnZSBlbi1VUyAiQ29udHJvbCB3aGljaCBGUERU DQo+IHJlY29yZCBmb3JtYXQgd2lsbCBiZSB1c2VkDQo+ID4+Pj4+IHRvIHN0b3JlIHRoZSBwZXJm b3JtYW5jZSBlbnRyeS5cbiINCj4gPj4+Pj4NCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoCAiTyBuIFRSVUUsIHRoZSANCj4gc3RyaW5nIEZQRFQNCj4g Pj4+Pj4gcmVjb3JkIHdpbGwgYmUgdXNlZCB0byBzdG9yZSBldmVyeSBwZXJmb3JtYW5jZQ0KPiBl bnRyeS5cbiINCj4gPj4+Pj4NCj4gwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCAiTyBuIEZBTFNFLCB0aGUgDQo+IGRpZmZlcmVudA0KPiA+Pj4+PiBGUERU IHJlY29yZCB3aWxsIGJlIHVzZWQgdG8gc3RvcmUgdGhlIGRpZmZlcmVudA0KPiBwZXJmb3JtYW5j ZSBlbnRyaWVzLiINCj4gPj4+Pj4gKw0KPiA+Pj4+PiArI3N0cmluZw0KPiA+Pj4+Pg0KPiBTVFJf Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkX1BjZFVzYkJvb3RJb0Jsb2Nrc19QUg0KPiBP TVBUDQo+ID4+Pj4+ICNsYW5ndWFnZSBlbi1VUyAiVGhlIE1heCBibG9ja3Mgb2YgdXNiIHRyYW5z ZmVyLiINCj4gPj4+Pj4gKw0KPiA+Pj4+PiArI3N0cmluZw0KPiA+Pj4+Pg0KPiBTVFJfZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkX1BjZFVzYkJvb3RJb0Jsb2Nrc19IRQ0KPiBMUA0KPiA+ Pj4+PiAjbGFuZ3VhZ2UgZW4tVVMgIlRoZSBNYXggYmxvY2tzIG9mIHVzYiB0cmFuc2Zlci4NCj4g VGhlIGRlZmF1bHQgaXMgMTI4LiINCj4gPj4+Pj4gLS0NCj4gPj4+Pj4gMS45LjENCj4gPj4+Pj4N Cj4gPj4+Pj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18N Cj4gPj4+Pj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPj4+Pj4gZWRrMi1kZXZlbEBsaXN0 cy4wMS5vcmcNCj4gPj4+Pj4gaHR0cHM6Ly9saXN0cy4wMS5vcmcvbWFpbG1hbi9saXN0aW5mby9l ZGsyLWRldmVsDQo+ID4+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXw0KPiA+Pj4gZWRrMi1kZXZlbCBtYWlsaW5nIGxpc3QNCj4gPj4+IGVkazItZGV2ZWxA bGlzdHMuMDEub3JnDQo+ID4+PiBodHRwczovL2xpc3RzLjAxLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2VkazItZGV2ZWwNCj4gPj4+DQo+ID4+DQoNCg==