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.24; helo=mga09.intel.com; envelope-from=liming.gao@intel.com; receiver=edk2-devel@lists.01.org Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) (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 30B59211982E0 for ; Tue, 11 Dec 2018 05:34:47 -0800 (PST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga004.jf.intel.com ([10.7.209.38]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 11 Dec 2018 05:34:46 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.56,342,1539673200"; d="scan'208";a="258556922" Received: from fmsmsx104.amr.corp.intel.com ([10.18.124.202]) by orsmga004.jf.intel.com with ESMTP; 11 Dec 2018 05:34:46 -0800 Received: from fmsmsx111.amr.corp.intel.com (10.18.116.5) by fmsmsx104.amr.corp.intel.com (10.18.124.202) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 11 Dec 2018 05:34:46 -0800 Received: from shsmsx152.ccr.corp.intel.com (10.239.6.52) by fmsmsx111.amr.corp.intel.com (10.18.116.5) with Microsoft SMTP Server (TLS) id 14.3.408.0; Tue, 11 Dec 2018 05:34:45 -0800 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.203]) by SHSMSX152.ccr.corp.intel.com ([169.254.6.222]) with mapi id 14.03.0415.000; Tue, 11 Dec 2018 21:34:43 +0800 From: "Gao, Liming" To: Laszlo Ersek , Ard Biesheuvel CC: "edk2-devel@lists.01.org" Thread-Topic: [edk2] [PATCH] BaseTools/tools_def AARCH64: move GCC49/GGC5 to 4 KB section alignment Thread-Index: AQHUkJKSqvNNj2UYckGZXNsMYWR/QaV3v5EAgAABFACAAAHEgIAByOvQ Date: Tue, 11 Dec 2018 13:34:42 +0000 Message-ID: <4A89E2EF3DFEDB4C8BFDE51014F606A14E38A23B@SHSMSX104.ccr.corp.intel.com> References: <20181210141339.17108-1-ard.biesheuvel@linaro.org> <530714fc-c9f2-d38e-0ad1-0a67b967c52a@redhat.com> In-Reply-To: <530714fc-c9f2-d38e-0ad1-0a67b967c52a@redhat.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ctpclassification: CTP_NT x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNDU1N2QzNzUtYjk4YS00YmM5LTg0YzItMzQ5MTY3ZDBlYTI0IiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWWVZZmtRUzVwNWJhVWphZWdXWnRncGpzZG50TTltaUxnOXo4d0ZOUkVJdm91c29tU3ErMnBQaXVlY3k3cVIzcyJ9 dlp-product: dlpe-windows dlp-version: 11.0.400.15 dlp-reaction: no-action x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Subject: Re: [PATCH] BaseTools/tools_def AARCH64: move GCC49/GGC5 to 4 KB section alignment 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: Tue, 11 Dec 2018 13:34:47 -0000 Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SSBoYXZlIG5vIGNvbW1lbnRzIGZvciB0aGlzIGNoYW5nZS4gUmV2aWV3ZWQtYnk6IExpbWluZyBH YW8gPGxpbWluZy5nYW9AaW50ZWwuY29tPg0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+IEZyb206IExhc3psbyBFcnNlayBbbWFpbHRvOmxlcnNla0ByZWRoYXQuY29tXQ0KPiBTZW50 OiBUdWVzZGF5LCBEZWNlbWJlciAxMSwgMjAxOCAyOjE5IEFNDQo+IFRvOiBBcmQgQmllc2hldXZl bCA8YXJkLmJpZXNoZXV2ZWxAbGluYXJvLm9yZz4NCj4gQ2M6IGVkazItZGV2ZWxAbGlzdHMuMDEu b3JnOyBHYW8sIExpbWluZyA8bGltaW5nLmdhb0BpbnRlbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBb ZWRrMl0gW1BBVENIXSBCYXNlVG9vbHMvdG9vbHNfZGVmIEFBUkNINjQ6IG1vdmUgR0NDNDkvR0dD NSB0byA0IEtCIHNlY3Rpb24gYWxpZ25tZW50DQo+IA0KPiBPbiAxMi8xMC8xOCAxOToxMiwgQXJk IEJpZXNoZXV2ZWwgd3JvdGU6DQo+ID4gT24gTW9uLCAxMCBEZWMgMjAxOCBhdCAxOTowOCwgTGFz emxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4gd3JvdGU6DQo+ID4+DQo+ID4+IE9uIDEyLzEw LzE4IDE1OjEzLCBBcmQgQmllc2hldXZlbCB3cm90ZToNCj4gPj4+IFNpbmNlIDQgS0Igc2VjdGlv biBhbGlnbm1lbnQgaXMgcmVxdWlyZWQgd2hlbiBtYXBwaW5nIFBFL0NPRkYgaW1hZ2VzDQo+ID4+ PiB3aXRoIHN0cmljdCBwZXJtaXNzaW9ucywgdXBkYXRlIHRoZSBkZWZhdWx0IHNlY3Rpb24gYWxp Z25tZW50IHdoZW4NCj4gPj4+IHVzaW5nIEdDQzQ5IGFuZCBHQ0M1IGluIFJFTEVBU0UgbW9kZS4g Tm90ZSB0aGF0IFhJUCBtb2R1bGVzIHN1Y2ggYXMNCj4gPj4+IFNFQywgUEVJTXMgb3IgUEVJIGNv cmUgYXJlIG5vdCBhZmZlY3RlZCBieSB0aGlzIGNoYW5nZSwgc2luY2UgdGhlDQo+ID4+PiBvdmVy cmlkZSB0byAzMiBieXRlIGFsaWdtZW50IHJlbWFpbnMgaW4gZWZmZWN0Lg0KPiA+Pj4NCj4gPj4+ IENvbnRyaWJ1dGVkLXVuZGVyOiBUaWFub0NvcmUgQ29udHJpYnV0aW9uIEFncmVlbWVudCAxLjEN Cj4gPj4+IFNpZ25lZC1vZmYtYnk6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5h cm8ub3JnPg0KPiA+Pj4gLS0tDQo+ID4+PiAgQmFzZVRvb2xzL0NvbmYvdG9vbHNfZGVmLnRlbXBs YXRlIHwgMjQgKysrKysrKysrKystLS0tLS0tLS0NCj4gPj4+ICAxIGZpbGUgY2hhbmdlZCwgMTMg aW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pDQo+ID4+Pg0KPiA+Pj4gZGlmZiAtLWdpdCBh L0Jhc2VUb29scy9Db25mL3Rvb2xzX2RlZi50ZW1wbGF0ZSBiL0Jhc2VUb29scy9Db25mL3Rvb2xz X2RlZi50ZW1wbGF0ZQ0KPiA+Pj4gaW5kZXggZTBlNjhmZDdmYjQ5Li41ZDM0MzMzZGM1NGYgMTAw NzU1DQo+ID4+PiAtLS0gYS9CYXNlVG9vbHMvQ29uZi90b29sc19kZWYudGVtcGxhdGUNCj4gPj4+ ICsrKyBiL0Jhc2VUb29scy9Db25mL3Rvb2xzX2RlZi50ZW1wbGF0ZQ0KPiA+Pj4gQEAgLTQyNjMs MTEgKzQyNjMsMTEgQEAgREVGSU5FIEdDQzQ5X0FSTV9BU01fRkxBR1MgICAgICAgICAgID0gREVG KEdDQzQ4X0FSTV9BU01fRkxBR1MpDQo+ID4+PiAgREVGSU5FIEdDQzQ5X0FBUkNINjRfQVNNX0ZM QUdTICAgICAgID0gREVGKEdDQzQ4X0FBUkNINjRfQVNNX0ZMQUdTKQ0KPiA+Pj4gIERFRklORSBH Q0M0OV9BUk1fQ0NfRkxBR1MgICAgICAgICAgICA9IERFRihHQ0M0OF9BUk1fQ0NfRkxBR1MpDQo+ ID4+PiAgREVGSU5FIEdDQzQ5X0FSTV9DQ19YSVBGTEFHUyAgICAgICAgID0gREVGKEdDQzQ4X0FS TV9DQ19YSVBGTEFHUykNCj4gPj4+IC1ERUZJTkUgR0NDNDlfQUFSQ0g2NF9DQ19GTEFHUyAgICAg ICAgPSAkKEFSQ0hDQ19GTEFHUykgJChQTEFURk9STV9GTEFHUykgREVGKEdDQzQ0X0FMTF9DQ19G TEFHUykNCj4gREVGKEdDQ19BQVJDSDY0X0NDX0ZMQUdTKQ0KPiA+Pj4gK0RFRklORSBHQ0M0OV9B QVJDSDY0X0NDX0ZMQUdTICAgICAgICA9ICQoQVJDSENDX0ZMQUdTKSAkKFBMQVRGT1JNX0ZMQUdT KSBERUYoR0NDNDRfQUxMX0NDX0ZMQUdTKQ0KPiBERUYoR0NDX0FBUkNINjRfQ0NfRkxBR1MpIC1t Y21vZGVsPXNtYWxsDQo+ID4+PiAgREVGSU5FIEdDQzQ5X0FBUkNINjRfQ0NfWElQRkxBR1MgICAg ID0gREVGKEdDQzQ4X0FBUkNINjRfQ0NfWElQRkxBR1MpDQo+ID4+PiAgREVGSU5FIEdDQzQ5X0FS TV9ETElOS19GTEFHUyAgICAgICAgID0gREVGKEdDQzQ4X0FSTV9ETElOS19GTEFHUykNCj4gPj4+ ICBERUZJTkUgR0NDNDlfQVJNX0RMSU5LMl9GTEFHUyAgICAgICAgPSBERUYoR0NDNDhfQVJNX0RM SU5LMl9GTEFHUykNCj4gPj4+IC1ERUZJTkUgR0NDNDlfQUFSQ0g2NF9ETElOS19GTEFHUyAgICAg PSBERUYoR0NDNDhfQUFSQ0g2NF9ETElOS19GTEFHUykNCj4gPj4+ICtERUZJTkUgR0NDNDlfQUFS Q0g2NF9ETElOS19GTEFHUyAgICAgPSBERUYoR0NDNDhfQUFSQ0g2NF9ETElOS19GTEFHUykgLXog Y29tbW9uLXBhZ2Utc2l6ZT0weDEwMDANCj4gPj4+ICBERUZJTkUgR0NDNDlfQUFSQ0g2NF9ETElO SzJfRkxBR1MgICAgPSBERUYoR0NDNDhfQUFSQ0g2NF9ETElOSzJfRkxBR1MpDQo+ID4+PiAgREVG SU5FIEdDQzQ5X0FSTV9BU0xETElOS19GTEFHUyAgICAgID0gREVGKEdDQzQ4X0FSTV9BU0xETElO S19GTEFHUykNCj4gPj4+ICBERUZJTkUgR0NDNDlfQUFSQ0g2NF9BU0xETElOS19GTEFHUyAgPSBE RUYoR0NDNDhfQUFSQ0g2NF9BU0xETElOS19GTEFHUykNCj4gPj4+IEBAIC01MDM0LDE1ICs1MDM0 LDE2IEBAIFJFTEVBU0VfR0NDNDlfQVJNX0NDX0ZMQUdTICAgICAgID0gREVGKEdDQzQ5X0FSTV9D Q19GTEFHUykgLVduby11bnVzZWQtYnV0LXNldC12DQo+ID4+PiAgKl9HQ0M0OV9BQVJDSDY0X1ZG UlBQX0ZMQUdTICAgICAgPSAkKEFSQ0hDQ19GTEFHUykgJChQTEFURk9STV9GTEFHUykgREVGKEdD Q19WRlJQUF9GTEFHUykNCj4gPj4+ICAqX0dDQzQ5X0FBUkNINjRfQ0NfWElQRkxBR1MgICAgICA9 IERFRihHQ0M0OV9BQVJDSDY0X0NDX1hJUEZMQUdTKQ0KPiA+Pj4NCj4gPj4+IC0gIERFQlVHX0dD QzQ5X0FBUkNINjRfQ0NfRkxBR1MgICAgID0gREVGKEdDQzQ5X0FBUkNINjRfQ0NfRkxBR1MpIC1P MCAtbWNtb2RlbD1zbWFsbA0KPiA+Pj4gLSAgREVCVUdfR0NDNDlfQUFSQ0g2NF9ETElOS19GTEFH UyAgPSBERUYoR0NDNDlfQUFSQ0g2NF9ETElOS19GTEFHUykgLXogY29tbW9uLXBhZ2Utc2l6ZT0w eDEwMDANCj4gPj4+ICsgIERFQlVHX0dDQzQ5X0FBUkNINjRfQ0NfRkxBR1MgICAgID0gREVGKEdD QzQ5X0FBUkNINjRfQ0NfRkxBR1MpIC1PMA0KPiA+Pj4gKyAgREVCVUdfR0NDNDlfQUFSQ0g2NF9E TElOS19GTEFHUyAgPSBERUYoR0NDNDlfQUFSQ0g2NF9ETElOS19GTEFHUykNCj4gPj4+ICAgIERF QlVHX0dDQzQ5X0FBUkNINjRfRExJTktfWElQRkxBR1MgPSAteiBjb21tb24tcGFnZS1zaXplPTB4 MjANCj4gPj4+DQo+ID4+PiAtUkVMRUFTRV9HQ0M0OV9BQVJDSDY0X0NDX0ZMQUdTICAgICA9IERF RihHQ0M0OV9BQVJDSDY0X0NDX0ZMQUdTKSAtV25vLXVudXNlZC1idXQtc2V0LXZhcmlhYmxlDQo+ IC1Xbm8tdW51c2VkLWNvbnN0LXZhcmlhYmxlIC1tY21vZGVsPXRpbnkNCj4gPj4+ICtSRUxFQVNF X0dDQzQ5X0FBUkNINjRfQ0NfRkxBR1MgICAgID0gREVGKEdDQzQ5X0FBUkNINjRfQ0NfRkxBR1Mp IC1Xbm8tdW51c2VkLWJ1dC1zZXQtdmFyaWFibGUNCj4gLVduby11bnVzZWQtY29uc3QtdmFyaWFi bGUNCj4gPj4+ICBSRUxFQVNFX0dDQzQ5X0FBUkNINjRfRExJTktfRkxBR1MgID0gREVGKEdDQzQ5 X0FBUkNINjRfRExJTktfRkxBR1MpDQo+ID4+PiArUkVMRUFTRV9HQ0M0OV9BQVJDSDY0X0RMSU5L X1hJUEZMQUdTID0gLXogY29tbW9uLXBhZ2Utc2l6ZT0weDIwDQo+ID4+Pg0KPiA+Pj4gLSAgTk9P UFRfR0NDNDlfQUFSQ0g2NF9DQ19GTEFHUyAgICAgPSBERUYoR0NDNDlfQUFSQ0g2NF9DQ19GTEFH UykgLU8wIC1tY21vZGVsPXNtYWxsDQo+ID4+PiAtICBOT09QVF9HQ0M0OV9BQVJDSDY0X0RMSU5L X0ZMQUdTICA9IERFRihHQ0M0OV9BQVJDSDY0X0RMSU5LX0ZMQUdTKSAteiBjb21tb24tcGFnZS1z aXplPTB4MTAwMCAtTzANCj4gPj4+ICsgIE5PT1BUX0dDQzQ5X0FBUkNINjRfQ0NfRkxBR1MgICAg ID0gREVGKEdDQzQ5X0FBUkNINjRfQ0NfRkxBR1MpIC1PMA0KPiA+Pj4gKyAgTk9PUFRfR0NDNDlf QUFSQ0g2NF9ETElOS19GTEFHUyAgPSBERUYoR0NDNDlfQUFSQ0g2NF9ETElOS19GTEFHUykgLU8w DQo+ID4+PiAgICBOT09QVF9HQ0M0OV9BQVJDSDY0X0RMSU5LX1hJUEZMQUdTID0gLXogY29tbW9u LXBhZ2Utc2l6ZT0weDIwIC1PMA0KPiA+Pj4NCj4gPj4+ICAjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMNCj4gPj4+IEBAIC01MTg5LDE0ICs1MTkwLDE1IEBAIFJFTEVBU0VfR0NDNV9BUk1fRExJ TktfRkxBR1MgICAgID0gREVGKEdDQzVfQVJNX0RMSU5LX0ZMQUdTKSAtZmx0byAtT3MgLUwkKFdP UktTDQo+ID4+PiAgKl9HQ0M1X0FBUkNINjRfVkZSUFBfRkxBR1MgICAgICAgPSAkKEFSQ0hDQ19G TEFHUykgJChQTEFURk9STV9GTEFHUykgREVGKEdDQ19WRlJQUF9GTEFHUykNCj4gPj4+ICAqX0dD QzVfQUFSQ0g2NF9DQ19YSVBGTEFHUyAgICAgICA9IERFRihHQ0M1X0FBUkNINjRfQ0NfWElQRkxB R1MpDQo+ID4+Pg0KPiA+Pj4gLSAgREVCVUdfR0NDNV9BQVJDSDY0X0NDX0ZMQUdTICAgID0gREVG KEdDQzVfQUFSQ0g2NF9DQ19GTEFHUykgLWZsdG8gLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJs ZQ0KPiAtV25vLXVudXNlZC1jb25zdC12YXJpYWJsZSAtbWNtb2RlbD1zbWFsbA0KPiA+Pj4gLSAg REVCVUdfR0NDNV9BQVJDSDY0X0RMSU5LX0ZMQUdTID0gREVGKEdDQzVfQUFSQ0g2NF9ETElOS19G TEFHUykgLXogY29tbW9uLXBhZ2Utc2l6ZT0weDEwMDAgLWZsdG8gLU9zDQo+IC1MJChXT1JLU1BB Q0UpL0FybVBrZy9MaWJyYXJ5L0djY0x0byAtbGx0by1hYXJjaDY0IC1XbCwtcGx1Z2luLW9wdD0t cGFzcy10aHJvdWdoPS1sbHRvLWFhcmNoNjQgLVduby1sdG8tdHlwZS1taXNtYXRjaA0KPiAtbWNt b2RlbD1zbWFsbA0KPiA+Pj4gKyAgREVCVUdfR0NDNV9BQVJDSDY0X0NDX0ZMQUdTICAgID0gREVG KEdDQzVfQUFSQ0g2NF9DQ19GTEFHUykgLWZsdG8gLVduby11bnVzZWQtYnV0LXNldC12YXJpYWJs ZQ0KPiAtV25vLXVudXNlZC1jb25zdC12YXJpYWJsZQ0KPiA+Pj4gKyAgREVCVUdfR0NDNV9BQVJD SDY0X0RMSU5LX0ZMQUdTID0gREVGKEdDQzVfQUFSQ0g2NF9ETElOS19GTEFHUykgLWZsdG8gLU9z DQo+IC1MJChXT1JLU1BBQ0UpL0FybVBrZy9MaWJyYXJ5L0djY0x0byAtbGx0by1hYXJjaDY0IC1X bCwtcGx1Z2luLW9wdD0tcGFzcy10aHJvdWdoPS1sbHRvLWFhcmNoNjQgLVduby1sdG8tdHlwZS1t aXNtYXRjaA0KPiA+Pj4gICAgREVCVUdfR0NDNV9BQVJDSDY0X0RMSU5LX1hJUEZMQUdTID0gLXog Y29tbW9uLXBhZ2Utc2l6ZT0weDIwDQo+ID4+Pg0KPiA+Pj4gLVJFTEVBU0VfR0NDNV9BQVJDSDY0 X0NDX0ZMQUdTICAgID0gREVGKEdDQzVfQUFSQ0g2NF9DQ19GTEFHUykgLWZsdG8gLVduby11bnVz ZWQtYnV0LXNldC12YXJpYWJsZQ0KPiAtV25vLXVudXNlZC1jb25zdC12YXJpYWJsZSAtbWNtb2Rl bD10aW55DQo+ID4+PiArUkVMRUFTRV9HQ0M1X0FBUkNINjRfQ0NfRkxBR1MgICAgPSBERUYoR0ND NV9BQVJDSDY0X0NDX0ZMQUdTKSAtZmx0byAtV25vLXVudXNlZC1idXQtc2V0LXZhcmlhYmxlDQo+ IC1Xbm8tdW51c2VkLWNvbnN0LXZhcmlhYmxlDQo+ID4+PiAgUkVMRUFTRV9HQ0M1X0FBUkNINjRf RExJTktfRkxBR1MgPSBERUYoR0NDNV9BQVJDSDY0X0RMSU5LX0ZMQUdTKSAtZmx0byAtT3MNCj4g LUwkKFdPUktTUEFDRSkvQXJtUGtnL0xpYnJhcnkvR2NjTHRvIC1sbHRvLWFhcmNoNjQgLVdsLC1w bHVnaW4tb3B0PS1wYXNzLXRocm91Z2g9LWxsdG8tYWFyY2g2NCAtV25vLWx0by10eXBlLW1pc21h dGNoDQo+ID4+PiArUkVMRUFTRV9HQ0M1X0FBUkNINjRfRExJTktfWElQRkxBR1MgPSAteiBjb21t b24tcGFnZS1zaXplPTB4MjANCj4gPj4+DQo+ID4+PiAtICBOT09QVF9HQ0M1X0FBUkNINjRfQ0Nf RkxBR1MgICAgPSBERUYoR0NDNV9BQVJDSDY0X0NDX0ZMQUdTKSAtTzAgLW1jbW9kZWw9c21hbGwN Cj4gPj4+ICsgIE5PT1BUX0dDQzVfQUFSQ0g2NF9DQ19GTEFHUyAgICA9IERFRihHQ0M1X0FBUkNI NjRfQ0NfRkxBR1MpIC1PMA0KPiA+Pj4gICAgTk9PUFRfR0NDNV9BQVJDSDY0X0RMSU5LX0ZMQUdT ID0gREVGKEdDQzVfQUFSQ0g2NF9ETElOS19GTEFHUykgLXogY29tbW9uLXBhZ2Utc2l6ZT0weDEw MDAgLU8wDQo+ID4+PiAgICBOT09QVF9HQ0M1X0FBUkNINjRfRExJTktfWElQRkxBR1MgPSAteiBj b21tb24tcGFnZS1zaXplPTB4MjAgLU8wDQo+ID4+Pg0KPiA+Pj4NCj4gPj4NCj4gPj4gTG9va2lu ZyBhdCB0aGlzIHBhdGNoIHdpdGggIi0td29yZC1kaWZmIiBoZWxwcyBhIGxpdHRsZSAoaXQncyB0 b28gYmFkIHdlDQo+ID4+IGNhbid0IGJyZWFrIHRoZXNlIG1pbGUgbG9uZyBvcHRpb24gc2VxdWVu Y2VzIHRvIG11bHRpcGxlIGxpbmVzKS4gU286DQo+ID4+DQo+ID4+ICogRm9yIEdDQzQ5Og0KPiA+ Pg0KPiA+PiAtIFRoZSBjb21waWxlciBvcHRpb24gIi1tY21vZGVsPXNtYWxsIiBpcyB1cHN0cmVh bWVkIGZyb20gYm90aA0KPiA+PiBOT09QVF9HQ0M0OV9BQVJDSDY0X0NDX0ZMQUdTIGFuZCBERUJV R19HQ0M0OV9BQVJDSDY0X0NDX0ZMQUdTIHRvDQo+ID4+IEdDQzQ5X0FBUkNINjRfQ0NfRkxBR1Mu IFRoaXMgaXMgYSBuby1vcCBmb3IgREVCVUcgYW5kIE5PT1BULCBob3dldmVyIHRoZQ0KPiA+PiBv cHRpb24gd2lsbCBub3cgYWxzbyBhcHBseSB0byBSRUxFQVNFLg0KPiA+Pg0KPiA+PiAtIEFzIGEg Y29uc2VxdWVuY2UsICItbWNtb2RlbD10aW55IiBpcyBub3QgdXNhYmxlIGZvciBSRUxFQVNFLCBh bmQgaXQgaXMNCj4gPj4gcmVtb3ZlZC4NCj4gPj4NCj4gPj4gLSBUaGUgc2FtZSB1cHN0cmVhbWlu ZyBvY2N1cnMgZm9yICIteiBjb21tb24tcGFnZS1zaXplPTB4MTAwMCIsIGluDQo+ID4+IEdDQzQ5 X0FBUkNINjRfRExJTktfRkxBR1MuIFJFTEVBU0UgbmVlZHMgbm8gZml4dXAsIGl0IHNpbXBseSBi ZW5lZml0cw0KPiA+PiBmcm9tIHRoZSBjaGFuZ2UuIEhvd2V2ZXIsIFJFTEVBU0VfR0NDNDlfQUFS Q0g2NF9ETElOS19YSVBGTEFHUyBuZWVkcyBhbg0KPiA+PiBvdmVycmlkZSwgdG8gc3RpY2sgd2l0 aCB0aGUgb3JpZ2luYWwgMHgyMCBhbGlnbm1lbnQuDQo+ID4+DQo+ID4+ICogRm9yIEdDQzU6DQo+ ID4+DQo+ID4+IC0gR0NDNV9BQVJDSDY0X0NDX0ZMQUdTIGlzIGRlZmluZWQgYXMgR0NDNDlfQUFS Q0g2NF9DQ19GTEFHUywgdGhlcmVmb3JlDQo+ID4+IHRoZSAiLW1jbW9kZWw9c21hbGwiIGluaGVy aXRhbmNlIGZyb20gdGhlIGFib3ZlIGlzIGF1dG9tYXRpYy4gT25seSB0aGUNCj4gPj4gREVCVUcv Tk9PUFQgcmVtb3ZhbHMsIGFuZCB0aGUgUkVMRUFTRSBmaXh1cCBhcmUgbmVlZGVkLg0KPiA+Pg0K PiA+PiAtIEdDQzVfQUFSQ0g2NF9ETElOS19GTEFHUyBpcyBkZWZpbmVkIGFzIEdDQzQ5X0FBUkNI NjRfRExJTktfRkxBR1MsDQo+ID4+IHRoZXJlZm9yZSB0aGUgc2FtZSBpbmhlcml0YW5jZSBwYXR0 ZXJuIGFwcGxpZXMgdG8gIi16DQo+ID4+IGNvbW1vbi1wYWdlLXNpemU9MHgxMDAwIi4gSSdtIG5v dGljaW5nIGFuIG9taXNzaW9uIGhlcmUgaG93ZXZlcjogIi16DQo+ID4+IGNvbW1vbi1wYWdlLXNp emU9MHgxMDAwIiBzaG91bGQgaGF2ZSBiZWVuIHJlbW92ZWQgZnJvbQ0KPiA+PiBOT09QVF9HQ0M1 X0FBUkNINjRfRExJTktfRkxBR1MgYXMgd2VsbC4NCj4gPj4NCj4gPj4gLSBUaGUgUkVMRUFTRV9H Q0M1X0FBUkNINjRfRExJTktfWElQRkxBR1Mgb3ZlcnJpZGUgaXMgc3BlbGxlZCBvdXQgdGhlIHNh bWUuDQo+ID4+DQo+ID4+DQo+ID4+IFNvLi4uIGRvIHlvdSBhZ3JlZSB0aGF0IE5PT1BUX0dDQzVf QUFSQ0g2NF9ETElOS19GTEFHUyBzaG91bGQgaGF2ZSBiZWVuDQo+ID4+IHRyaW1tZWQgYXMgd2Vs bD8NCj4gPj4NCj4gPg0KPiA+IFllcywgd2VsbCBzcG90dGVkLg0KPiA+DQo+ID4+IEZ1cnRoZXJt b3JlLCBJIHN1Z2dlc3Qgc3F1ZWV6aW5nIHRoZSB3b3JkIFJFTEVBU0UgaW50byB0aGUgc3ViamVj dCwNCj4gPj4gZ2l2ZW4gdGhhdCB0aGUgY2hhbmdlIGlzIG9ubHkgb2JzZXJ2YWJsZSBpbiBSRUxF QVNFIGJ1aWxkcy4NCj4gPj4NCj4gPg0KPiA+IFN1cmUsIEknbGwgYWRkIHRoYXQgYXMgd2VsbC4N Cj4gPg0KPiANCj4gVGhhbmtzISBQZXJzb25hbGx5IEkgZG9uJ3QgbmVlZCB0byBzZWUgYSByZXBv c3QgdG8gYmVsaWV2ZSB5b3UuIDopDQo+IA0KPiBXaXRoIHRob3NlIHVwZGF0ZXM6DQo+IA0KPiBS ZXZpZXdlZC1ieTogTGFzemxvIEVyc2VrIDxsZXJzZWtAcmVkaGF0LmNvbT4NCj4gDQo+IFRoYW5r cyENCj4gTGFzemxvDQo=