From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: 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 07B7120958BD8 for ; Mon, 11 Sep 2017 06:23:16 -0700 (PDT) Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Sep 2017 06:26:11 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.42,378,1500966000"; d="scan'208";a="147839813" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga005.jf.intel.com with ESMTP; 11 Sep 2017 06:26:10 -0700 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 11 Sep 2017 06:26:09 -0700 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx118.amr.corp.intel.com (10.18.116.18) with Microsoft SMTP Server (TLS) id 14.3.319.2; Mon, 11 Sep 2017 06:26:09 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.117]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.93]) with mapi id 14.03.0319.002; Mon, 11 Sep 2017 21:26:07 +0800 From: "Ni, Ruiyu" To: "Shi, Steven" , Paulo Alcantara , Laszlo Ersek , edk2-devel-01 CC: "Dong, Eric" , "Zeng, Star" , Ard Biesheuvel Thread-Topic: [edk2] [PATCH 0/5] MdeModulePkg: UDF fixes and cleanups Thread-Index: AQHTKcma/ctGWKtpMUemNcH0n+S0G6Ks/8iAgABG6wCAAFeRgIAACe6AgAAXf4CAAWSAgIAAizEQ Date: Mon, 11 Sep 2017 13:26:06 +0000 Message-ID: <734D49CCEBEEF84792F5B80ED585239D5BA2A8CE@SHSMSX104.ccr.corp.intel.com> References: <20170910001304.8628-1-lersek@redhat.com> <06C8AB66E78EE34A949939824ABE2B313B57E700@shsmsx102.ccr.corp.intel.com> <5d0d40da-5d93-2be7-f8ef-73e981b48f49@redhat.com> <06C8AB66E78EE34A949939824ABE2B313B57EAA3@shsmsx102.ccr.corp.intel.com> <06C8AB66E78EE34A949939824ABE2B313B57F227@shsmsx102.ccr.corp.intel.com> In-Reply-To: <06C8AB66E78EE34A949939824ABE2B313B57F227@shsmsx102.ccr.corp.intel.com> Accept-Language: en-US, zh-CN X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-version: 11.0.0.116 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH 0/5] MdeModulePkg: UDF fixes and cleanups 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: Mon, 11 Sep 2017 13:23:16 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 U3RldmVuLA0KVGhhbmtzIGZvciBjYXB0dXJpbmcgdGhlIGJ1ZyB1c2luZyBBU0FOIQ0KDQotLS0t LU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KRnJvbTogU2hpLCBTdGV2ZW4gDQpTZW50OiBNb25kYXks IFNlcHRlbWJlciAxMSwgMjAxNyA5OjA4IFBNDQpUbzogUGF1bG8gQWxjYW50YXJhIDxwY2FjanJA enl0b3IuY29tPjsgTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT47IGVkazItZGV2ZWwt MDEgPGVkazItZGV2ZWxAbGlzdHMuMDEub3JnPg0KQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50 ZWwuY29tPjsgRG9uZywgRXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IFplbmcsIFN0YXIgPHN0 YXIuemVuZ0BpbnRlbC5jb20+OyBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJv Lm9yZz4NClN1YmplY3Q6IFJFOiBbZWRrMl0gW1BBVENIIDAvNV0gTWRlTW9kdWxlUGtnOiBVREYg Zml4ZXMgYW5kIGNsZWFudXBzDQoNCkhpIExhc3psbywNCllvdXIgY29kZSBpcyBnb29kLiBCdXQg dGhlcmUgaXMgYSAiTnVsbCBQb2ludGVyIFVzZSIgaXNzdWUsIHdoaWNoIGlzIGEgdW5kZWZpbmVk IGJlaGF2aW9yIGluIEMgc3BlYywgaW4gZWRrMi9NZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2sv VWRmRHhlL0ZpbGUuYywgbGluZTo2OTYsIGNvbHVtbjogNyBhbmQgbGluZTo3MDcsIGNvbHVtbjog MTQuDQoNCkxpbmU2OTU6DQogIEZpbGVJZGVudGlmaWVyRGVzYyA9IFByaXZGaWxlRGF0YS0+Rmls ZS5GaWxlSWRlbnRpZmllckRlc2M7DQogIGlmIChJU19GSURfRElSRUNUT1JZX0ZJTEUgKEZpbGVJ ZGVudGlmaWVyRGVzYykpIHsNCiAgIC4uLg0KDQpUaGUgYWJvdmUgRmlsZUlkZW50aWZpZXJEZXNj IGNhbiBiZSBOVUxMIGlmIHlvdSBydW4gYSAuZWZpIGluIGEgVWRmIHBhcnRpdGlvbi4gQW5kIHRo ZSBsYXRlciBJU19GSURfRElSRUNUT1JZX0ZJTEUgKEZpbGVJZGVudGlmaWVyRGVzYykgaXMgdW5z YWZlIGlmIEZpbGVJZGVudGlmaWVyRGVzYyA9PSBOVUxMLiBZb3UgY2FuIHRlc3QgaXQgd2l0aCBi ZWxvdyBleHRyYSBjb2RlIHdoaWNoIGFkZCBkZWJ1ZyBvdXRwdXQgd2hlbiBGaWxlSWRlbnRpZmll ckRlc2MgPT0gTlVMTCwgYW5kIGNoZWNrIHRoZSBsb2cgYWZ0ZXIgbG9hZCBhbmQgcnVuIHNvbWV0 aGluZyBpbiBhIFVkZiBwYXJ0aXRpb24uDQoNCisrKyBiL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv RGlzay9VZGZEeGUvRmlsZS5jDQpAQCAtNjkzLDYgKzY5MywxMSBAQCBVZGZTZXRQb3NpdGlvbiAo DQogICBQcml2RmlsZURhdGEgPSBQUklWQVRFX1VERl9GSUxFX0RBVEFfRlJPTV9USElTIChUaGlz KTsNCg0KICAgRmlsZUlkZW50aWZpZXJEZXNjID0gUHJpdkZpbGVEYXRhLT5GaWxlLkZpbGVJZGVu dGlmaWVyRGVzYzsNCisgIGlmIChGaWxlSWRlbnRpZmllckRlc2MgPT0gTlVMTCkgew0KKyAgICBE RUJVRyAoKEVGSV9EX0VSUk9SLCAiRmlsZUlkZW50aWZpZXJEZXNjID09IE5VTEwhXG4iKSk7DQor ICAgIHJldHVybiBTdGF0dXM7DQorICB9DQorDQogICBpZiAoSVNfRklEX0RJUkVDVE9SWV9GSUxF IChGaWxlSWRlbnRpZmllckRlc2MpKSB7DQogICAgIC8vDQogICAgIC8vIElmIHRoZSBmaWxlIGhh bmRsZSBpcyBhIGRpcmVjdG9yeSwgdGhlIF9vbmx5XyBwb3NpdGlvbiB0aGF0IG1heSBiZSBzZXQg aXMNCg0KSSBmb2xsb3dlZCB0aGUgUGF1bG8ncyBzdWdnZXN0aW9uLCBhbmQgZm91bmQgdGhpcyBp c3N1ZSB3aGVuIHVzaW5nIHRoZSBVZGYgcGFydGl0aW9uIG9mIFdpbmRvd3MgMTAgRW50ZXJwcmlz ZSBJU08gaW1hZ2Ugb24gcWVtdS4gQmVsb3cgaXMgbXkgcWVtdSBjb21tYW5kOg0KL3Vzci9sb2Nh bC9iaW4vcWVtdS1zeXN0ZW0teDg2XzY0IC1tIDUxMjAgLWVuYWJsZS1rdm0gIC1tYWNoaW5lIHBj LXEzNS0yLjkgLWJpb3MgT1ZNRi5mZCAtc2VyaWFsIGZpbGU6c2VyaWFsLmxvZyAgLWNkcm9tIC9t ZWRpYS9qc2hpMTkvTXlcIFBhc3Nwb3J0L09TSW1hZ2UvSVNPL3dpbnNlcnZlci9lbl93aW5kb3dz X3NlcnZlcl8yMDE2X3g2NF9kdmRfOTMyNzc1MS5pc28NCg0KSSd2ZSBzdWJtaXR0ZWQgYSBidWcg Zm9yIHRoaXMgaXNzdWU6IGh0dHBzOi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5j Z2k/aWQ9NzA0LiANCg0KSSBmb3VuZCB0aGlzIGlzc3VlIGJ5IGVkazIgbGx2bSB1bmRlZmluZWQg YmVoYXZpb3Igc2FuaXRpemVyLCBhbmQgYmVsb3cgaXMgdGhlIHNhbml0aXplciBvdXRwdXQuIEZZ SS4NCi9ob21lL2pzaGkxOS93a3NwX2VmaS9lZGsyL01kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlz ay9VZGZEeGUvRmlsZS5jLCBsaW5lOjB4MDJCOCwgY29sdW1uOjB4MDAwNyBFcnJvclR5cGUgPSBO dWxsUG9pbnRlclVzZTogbWVtYmVyIGFjY2VzcyB3aXRoaW4gbnVsbCBwb2ludGVyIG9mIHR5cGUg J1VERl9GSUxFX0lERU5USUZJRVJfREVTQ1JJUFRPUicNCkFTQU4gTUVNT1JZIEFDQ0VTUyBjaGVj ayBmYWlsISBfX3Vic2FuX2hhbmRsZV90eXBlX21pc21hdGNoX3YxIGlzIGNhbGxlZDogDQpVZGZT ZXRQb3NpdGlvbg0KL2hvbWUvanNoaTE5L3drc3BfZWZpL2VkazIvTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9EaXNrL1VkZkR4ZS9GaWxlLmM6Njk2OjcNCkVmaVNoZWxsRmluZEZpbGVzSW5EaXINCi9o b21lL2pzaGkxOS93a3NwX2VmaS9lZGsyL1NoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxs UHJvdG9jb2wuYzoyMTM2OjE4DQpTaGVsbFNlYXJjaEhhbmRsZQ0KL2hvbWUvanNoaTE5L3drc3Bf ZWZpL2VkazIvU2hlbGxQa2cvQXBwbGljYXRpb24vU2hlbGwvU2hlbGxQcm90b2NvbC5jOjI0MTM6 MTQNCkVmaVNoZWxsRmluZEZpbGVzDQovaG9tZS9qc2hpMTkvd2tzcF9lZmkvZWRrMi9TaGVsbFBr Zy9BcHBsaWNhdGlvbi9TaGVsbC9TaGVsbFByb3RvY29sLmM6MjU4NjoxOA0KRWZpU2hlbGxPcGVu RmlsZUxpc3QNCi9ob21lL2pzaGkxOS93a3NwX2VmaS9lZGsyL1NoZWxsUGtnL0FwcGxpY2F0aW9u L1NoZWxsL1NoZWxsUHJvdG9jb2wuYzoyNjY2OjEyDQpTaGVsbE9wZW5GaWxlTWV0YUFyZw0KL2hv bWUvanNoaTE5L3drc3BfZWZpL2VkazIvU2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxMaWIvVWVm aVNoZWxsTGliLmM6MTU3MDoxNA0KDQovaG9tZS9qc2hpMTkvd2tzcF9lZmkvZWRrMi9NZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0Rpc2svVWRmRHhlL0ZpbGUuYywgbGluZToweDAyQzMsIGNvbHVtbjow eDAwMEUgRXJyb3JUeXBlID0gTnVsbFBvaW50ZXJVc2U6IG1lbWJlciBhY2Nlc3Mgd2l0aGluIG51 bGwgcG9pbnRlciBvZiB0eXBlICdVREZfRklMRV9JREVOVElGSUVSX0RFU0NSSVBUT1InDQpBU0FO IE1FTU9SWSBBQ0NFU1MgY2hlY2sgZmFpbCEgX191YnNhbl9oYW5kbGVfdHlwZV9taXNtYXRjaF92 MSBpcyBjYWxsZWQ6DQouLi4NCg0KU3RldmVuIFNoaQ0KSW50ZWxcU1NHXFNUT1xVRUZJIEZpcm13 YXJlDQoNClRlbDogKzg2IDAyMS02MTE2NjUyMg0KaU5ldDogODIxLTY1MjINCg0KPiAtLS0tLU9y aWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBQYXVsbyBBbGNhbnRhcmEgW21haWx0bzpwY2Fj anJAenl0b3IuY29tXQ0KPiBTZW50OiBTdW5kYXksIFNlcHRlbWJlciAxMCwgMjAxNyAxMTo1MiBQ TQ0KPiBUbzogU2hpLCBTdGV2ZW4gPHN0ZXZlbi5zaGlAaW50ZWwuY29tPjsgTGFzemxvIEVyc2Vr IA0KPiA8bGVyc2VrQHJlZGhhdC5jb20+Ow0KPiBlZGsyLWRldmVsLTAxIDxlZGsyLWRldmVsQGxp c3RzLjAxLm9yZz4NCj4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgRG9uZywg RXJpYyA8ZXJpYy5kb25nQGludGVsLmNvbT47IA0KPiBaZW5nLCBTdGFyIDxzdGFyLnplbmdAaW50 ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwgDQo+IDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0K PiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCAwLzVdIE1kZU1vZHVsZVBrZzogVURGIGZpeGVz IGFuZCBjbGVhbnVwcw0KPiANCj4gDQo+IA0KPiBPbiAxMC8wOS8yMDE3IDExOjI3LCBTaGksIFN0 ZXZlbiB3cm90ZToNCj4gPiBPSy4gRG9lcyB0aGUgVURGIGltYWdlIHlvdSBjcmVhdGVkIGNvcnJl Y3RseSBzaG93IHVwIGFzIENELVJPTQ0KPiBjb250ZW50IGluIExpbnV4LCBlLmcgRmVkb3JhPw0K PiANCj4gVGhlIEZlZG9yYSBpbWFnZSBJIGhhdmUgKEZlZG9yYS1Xb3Jrc3RhdGlvbi1MaXZlLXg4 Nl82NC0yNi0xLjUuaXNvKSANCj4gZG9lcyBub3QgY29udGFpbiBhIHZhbGlkIFVERiBmaWxlIHN5 c3RlbSwgc28geW91IGNhbm5vdCB1c2UgaXQgZm9yIHRlc3RpbmcuDQo+IA0KPiBUbyBtYWtlIHN1 cmUgaXQgcmVhbGx5IGRvZXNuJ3QsIEkgdXNlZCBhICJQaGlsaXBzIFVERiBDb25mb3JtYW5jZSBU b29sIg0KPiB0aGF0IHlvdSBjYW4gZ3JhYiBpbiBbMV0sIGFuZCB0aGUgdG9vbCBkaWRuJ3QgZmlu ZCBhbnkgdmFsaWQgVURGIGZpbGUgDQo+IHN5c3RlbSBpbiBpdC4NCj4gDQo+IEkndmUgYmVlbiB1 c2luZyBhbiB1bm1vZGlmaWVkIFdpbmRvd3MgMTAgRW50ZXJwcmlzZSBpbWFnZSB0aGF0IGRvZXMg DQo+IGNvbnRhaW4gYSB2YWxpZCBVREYgYnJpZGdlIGRpc2sgaW1hZ2UgKElTTzk2NjArRWxUb3Jp dG8rVURGKSB0byANCj4gcGVyZm9ybSBteSB0ZXN0cy4NCj4gDQo+IEFkZGl0aW9uYWxseSwgSSB1 c2UgYW4gVVNCIHN0aWNrIHRoYXQgSSBmb3JtYXQgaXQgd2l0aCAnc3VkbyBta3VkZmZzIA0KPiAt Yg0KPiA1MTIgLS1tZWRpYS10eXBlPWhkIC9kZXYvc2RYJyBhbmQgY29weSBzb21lIGZpbGVzIHRv IGl0IGZvciB0ZXN0aW5nDQo+IA0KPiBCVFcsIHdoZW4gdGVzdGluZyB3aXRoIE9WTUYgQUFSQ0g2 NCwgSSB3YXMgdXNpbmcgbXkgVVNCIHN0aWNrIHRoYXQgDQo+IHNob3dlZCB1cCBjb3JyZWN0bHkg YXMgJ2ZzWCcgaW4gVUVGSSBzaGVsbCwgYnV0IHdpdGggdGhlIFdpbmRvd3MgMTAgDQo+IEVudGVy cHJpc2UgSVNPIGltYWdlLCBpdCBkaWRuJ3QuIEkgbG9va2VkIGF0IHRoZSBsb2dzIHRvIHNlZSB3 aGF0IHdhcyANCj4gZ29pbmcgb24gYW5kIEkgZm91bmQgb3V0IHRoYXQgdGhlIGVtdWxhdGVkIENE LVJPTSBkcml2ZSBpcyByZXBvcnRpbmcgYSANCj4gYmxvY2sgc2l6ZSBvZiA1MTIgaW5zdGVhZCBv ZiAyMDQ4IC0tIHdoaWNoIHNlZW1zIHdyb25nIHRvIG1lLiBXaXRoDQo+ICdxZW11LXN5c3RlbS14 ODZfNjQgLWNkcm9tJywgaXQgcmVwb3J0cyBhIGJsb2NrIHNpemUgb2YgMjA0OC4NCj4gDQo+IFRo ZSBQYXJ0aXRpb24gZHJpdmVyIGlzIHN0aWxsIGFibGUgdG8gZmluZCBhIHZhbGlkIEVsVG9yaXRv IHBhcnRpdGlvbiANCj4gYmVjYXVzZSwgcmVnYXJkbGVzcyB0aGUgZGV2aWNlIGJsb2NrIHNpemUs IGl0IGFsd2F5cyB1c2UgYSBsb2dpY2FsIA0KPiBibG9jayBzaXplIG9mIDIwNDggc3RhcnRpbmcg YXQgMzJLLiBJbiBVREYsIHdoZW4gc2VhcmNoaW5nIGZvciBBVkRQcyANCj4gKEFuY2hvciBWb2x1 bWUgRGVzY3JpcHRvciBQb2ludGVycyksIHdlIHNlYXJjaCBmb3IgdGhlbSBhdCBmaXhlZCANCj4g bG9jYXRpb25zOiAyNTYsIE4gLSAyNTYsIE4gYW5kIDUxMiAtLSBidXQsIHdpdGggYSBibG9jayBz aXplIG9mIDUxMiwgDQo+IHRoZSBsb2NhdGlvbnMgY2hhbmdlIHRvIDEwMjQsIE4gLSAxMDI0LCBO IGFuZCAyMDQ4IC0tIHRodXMgYnJlYWtpbmcgDQo+IHRoZSB2b2x1bWUgcmVjb2duaXRpb24gc2Vx dWVuY2UuDQo+IA0KPiBGb3IgdGVzdGluZyB0aGUgV2luZG93cyBpbWFnZSB3aXRoIGEgYmxvY2sg c2l6ZSBvZiA1MTIsIEkgdXNlZCB0aGUgDQo+IGNvbWZvcm1hbmNlIHRvb2wgd2l0aCAnLi91ZGZf dGVzdCAtdmVyYm9zZSA2MCAtYmxvY2tzaXplIDUxMiANCj4gfi9pbWcvd2luX2VudDEwLmlzbycg YW5kIGl0IGZhaWxlZCB0byBmaW5kIGEgdmFsaWQgVURGIGZpbGUgc3lzdGVtLiANCj4gQnV0IHdp dGggYSBibG9jayBzaXplIG9mIDIwNDgsIGl0IHdvcmtlZC4NCj4gDQo+IElzIHRoZXJlIGFueSBy ZWFzb24gZm9yIHJlcG9ydGluZyBhIGJsb2NrIHNpemUgb2YgNTEyIHdoZW4gdXNpbmcgDQo+ICct Y2Ryb20nIG9wdGlvbiBpbiBxZW11LXN5c3RlbS1hYXJjaDY0PyBJcyB0aGF0IGEgYnVnPyBPciBh bSBJIG1pc3NpbmcgDQo+IHNvbWV0aGluZyBoZXJlPw0KPiANCj4gVGhhbmtzIQ0KPiBQYXVsbw0K PiANCj4gWzFdIC0gaHR0cHM6Ly93d3cubHNjZHdlYi5jb20vcmVnaXN0ZXJlZC91ZGZfdmVyaWZp ZXIuaHRtbA0KPiANCj4gPg0KPiA+DQo+ID4gU3RldmVuIFNoaQ0KPiA+IEludGVsXFNTR1xTVE9c VUVGSSBGaXJtd2FyZQ0KPiA+DQo+ID4gVGVsOiArODYgMDIxLTYxMTY2NTIyDQo+ID4gaU5ldDog ODIxLTY1MjINCj4gPg0KPiA+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+PiBGcm9t OiBMYXN6bG8gRXJzZWsgW21haWx0bzpsZXJzZWtAcmVkaGF0LmNvbV0NCj4gPj4gU2VudDogU3Vu ZGF5LCBTZXB0ZW1iZXIgMTAsIDIwMTcgOTo1MiBQTQ0KPiA+PiBUbzogU2hpLCBTdGV2ZW4gPHN0 ZXZlbi5zaGlAaW50ZWwuY29tPjsgZWRrMi1kZXZlbC0wMSA8ZWRrMi0gDQo+ID4+IGRldmVsQGxp c3RzLjAxLm9yZz4NCj4gPj4gQ2M6IE5pLCBSdWl5dSA8cnVpeXUubmlAaW50ZWwuY29tPjsgRG9u ZywgRXJpYyANCj4gPj4gPGVyaWMuZG9uZ0BpbnRlbC5jb20+Ow0KPiBaZW5nLA0KPiA+PiBTdGFy IDxzdGFyLnplbmdAaW50ZWwuY29tPjsgQXJkIEJpZXNoZXV2ZWwgDQo+ID4+IDxhcmQuYmllc2hl dXZlbEBsaW5hcm8ub3JnPg0KPiA+PiBTdWJqZWN0OiBSZTogW2VkazJdIFtQQVRDSCAwLzVdIE1k ZU1vZHVsZVBrZzogVURGIGZpeGVzIGFuZCANCj4gPj4gY2xlYW51cHMNCj4gPj4NCj4gPj4gSGkg U3RldmVuLA0KPiA+Pg0KPiA+PiBPbiAwOS8xMC8xNyAxMDozOCwgTGFzemxvIEVyc2VrIHdyb3Rl Og0KPiA+Pj4gT24gMDkvMTAvMTcgMDY6MjQsIFNoaSwgU3RldmVuIHdyb3RlOg0KPiA+Pj4+IEhp IExhc3psbywNCj4gPj4+PiBIb3cgY291bGQgd2UgY29uZmlndXJlIHRoZSBRZW11IGFuZCB0ZXN0 IHRoZSBVREYgZHJpdmVyIG9uIE9WTUY/DQo+ID4+Pg0KPiA+Pj4gSSBndWVzcyB5b3Ugd291bGQg Zm9ybWF0IGUuZy4gYSBEVkQgaW1hZ2Ugd2l0aCBVREYsIGFuZCBhdHRhY2ggaXQgDQo+ID4+PiB0 byBRRU1VIGxpa2UgYW55IG90aGVyIENELVJPTS4NCj4gPj4NCj4gPj4gSSB0cmllZCB0byBsb29r IGludG8gdGhpcyAtLSBJIHRyaWVkIHNldmVyYWwgdGhpbmdzLCBidXQgbm90aGluZyANCj4gPj4g cHJvZHVjZWQgYW4gVURGIGltYWdlIGZpbGUgdGhhdCwgd2hlbiBhdHRhY2hlZCB0byB0aGUgVk0s IHdvdWxkIA0KPiA+PiBzaG93DQo+IHVwDQo+ID4+IGluIHRoZSBVRUZJIHNoZWxsIGFzIEZTbjoN Cj4gPj4NCj4gPj4gR29vZ2xlIHJldHVybmVkIGEgYnVuY2ggb2YgcGFnZXMsIGJ1dCBhbGwgSSBm b3VuZCB3YXM6DQo+ID4+IC0gdGlwcyB0aGF0IGRpZG4ndCB3b3JrIChzZWUgYWJvdmUpLA0KPiA+ PiAtIGNvbmZ1c2VkIHVzZXJzIChsaWtlIG1lKSBsb29raW5nIGZvciBzb2x1dGlvbnMuDQo+ID4+ DQo+ID4+IFNvLCBhdCB0aGUgbW9tZW50LCBJIGhhdmUgbm8gaWRlYSBob3cgYXV0aG9yaW5nIFVE RiBEVkQgaW1hZ2VzIGlzIA0KPiA+PiBwb3NzaWJsZSBvbiBMaW51eCwgc28gdGhhdCB0aGV5J2Qg YmUgcmVjb2duaXplZCBpbiBlZGsyLg0KPiA+Pg0KPiA+PiAoSSdtIGludGVyZXN0ZWQgaW4gdGhl IGVkazIgVURGIGRyaXZlciBub3QgYmVjYXVzZSBJIHdhbnQgdG8gImF1dGhvciINCj4gPj4gVURG IERWRCBpbWFnZXMgKElTTzk2NjArRWxUb3JpdG8gd29ya3MganVzdCBmaW5lKSwgYnV0IGJlY2F1 c2Ugc29tZSANCj4gPj4gb3B0aWNhbCBtZWRpYSBpbWFnZXMgdGhhdCB3ZXJlIGdpdmVuIHRvIG1l IGFyZSBmb3JtYXR0ZWQgVURGLW9ubHkuDQo+IFRoZXkNCj4gPj4gY2FuIGJlIHRyYW5zbGF0ZWQg aW50byBJU085NjYwK0VsVG9yaXRvIG9mZi1saW5lLCBidXQgdGhhdCdzIGEgDQo+ID4+IGNob3Jl LikNCj4gPj4NCj4gPj4gVGhhbmtzLA0KPiA+PiBMYXN6bG8NCj4gPiBfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+IGVkazItZGV2ZWwgbWFpbGluZyBs aXN0DQo+ID4gZWRrMi1kZXZlbEBsaXN0cy4wMS5vcmcNCj4gPiBodHRwczovL2xpc3RzLjAxLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2VkazItZGV2ZWwNCj4gPg0K