From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by mx.groups.io with SMTP id smtpd.web10.13025.1591801766250305015 for ; Wed, 10 Jun 2020 08:09:26 -0700 Authentication-Results: mx.groups.io; dkim=pass header.i=@intel.onmicrosoft.com header.s=selector2-intel-onmicrosoft-com header.b=YF9W+VWS; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: michael.d.kinney@intel.com) IronPort-SDR: vQCPlNZNl+M5yVVfpVj4yB03H8pWAAHV6fAAFp7VmfxYIZHhUnEBtSR0H2ravfcEni5xvgTOYH ctHU9fYYspXQ== X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga002.fm.intel.com ([10.253.24.26]) by fmsmga105.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Jun 2020 08:09:25 -0700 IronPort-SDR: pNfOIVpLbqudknWlLd4D7Zvl38+przBwYynaM9LuRcJ4kxQQNKT6T4O5NUVlG/BUzNdBf1berG teusTYWraDuA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.73,496,1583222400"; d="scan'208";a="306616660" Received: from orsmsx108.amr.corp.intel.com ([10.22.240.6]) by fmsmga002.fm.intel.com with ESMTP; 10 Jun 2020 08:09:25 -0700 Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by ORSMSX108.amr.corp.intel.com (10.22.240.6) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 10 Jun 2020 08:09:24 -0700 Received: from orsmsx605.amr.corp.intel.com (10.22.229.18) by ORSMSX601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1713.5; Wed, 10 Jun 2020 08:09:24 -0700 Received: from ORSEDG002.ED.cps.intel.com (10.7.248.5) by orsmsx605.amr.corp.intel.com (10.22.229.18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256) id 15.1.1713.5 via Frontend Transport; Wed, 10 Jun 2020 08:09:24 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.109) by edgegateway.intel.com (134.134.137.101) with Microsoft SMTP Server (TLS) id 14.3.439.0; Wed, 10 Jun 2020 08:09:23 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=dGZgOyYdGQTc1YDFBOQra/dvadNwDENwPzDvZrEgNJzeSfXo81OKV1d+fDhyRmJo/LzULrAAwTiX2V3ga849+d9nmXQJneJV06adMCyeyhEKBqaJvw+JsAaRPHnGsuZHz6if8oFA5dwqbZJbpiZz2ua/HlDW4toJXRmtA49tcANHKW2oaz8Pf0Bt115NxDZVMHuusC9E+6Hlwh9AvLo33J9NnDHiLtqemlE7eFM/XFOmLb0cW0G9rmVtcQsIok+DQ3It3QGcdNMXRRN/s1r+ulUUV6DcDJf+4f198X0tDZstQopuiCcj6GyaWdbiZnbcL9WIFCyw9lVZcck/CXvD8Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vKsuzz2/1nmY9Q6hQOBjVVUYPoWR/N+A/2imyOjHm0I=; b=MgOWN3XBePBlG8iwS7HVByMPreLVCguAYOT0TV3qjbuvlyNFOs5ybfYHnX5kqCFZncg7MCMvIoyA8nJCcbqgjgZ/3hejwq+E2fO0AOEfiiHRyXn33vk2HUqTOjphHrcZqdFn8p3oQyxOw7QSdkaAw+vghp9AMIATjOseQk7rUyZBSRpbu6ONelwnRR9Sf50vl1zEV9BasvrvVfpXYy8vMGEAFPourvP2x42/wZ5aiOa6JFsJDRq3EdCcw65lkV+In/OTW5/kRooYfGLYsSK6sia9rQ0g4PX2lh2eKBZtd4mtMOxZYNyKfJMk8DLuPrDvfUSgrMH6liOSzxHr1ZJ+Xw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; s=selector2-intel-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=vKsuzz2/1nmY9Q6hQOBjVVUYPoWR/N+A/2imyOjHm0I=; b=YF9W+VWSA/vpldZHRRtBQGx7P98IhPyGsVPSCclAIIoJP2lx7aR2d1Sug27t2LDBJMHkQZtH8m69S3Wa7sDzk7DLLkc9+Je2HnDRv/ibSS3zsvuqEkk7nR39KMLRvuEe39vnqQcv6mtt01012Q117TscrleTI0+650Q/uVeHpyA= Received: from MN2PR11MB4461.namprd11.prod.outlook.com (2603:10b6:208:192::29) by MN2PR11MB4174.namprd11.prod.outlook.com (2603:10b6:208:154::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3088.18; Wed, 10 Jun 2020 15:09:22 +0000 Received: from MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1]) by MN2PR11MB4461.namprd11.prod.outlook.com ([fe80::10bc:1a4e:4745:ffc1%3]) with mapi id 15.20.3066.023; Wed, 10 Jun 2020 15:09:21 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "ard.biesheuvel@arm.com" , "Kinney, Michael D" CC: "Gao, Liming" , "Yao, Jiewen" , Sami Mujawar , Ilias Apalodimas Subject: Re: [edk2-devel] [PATCH 1/5] MdePkg/BasePrintLib: avoid absolute addresses for error strings Thread-Topic: [edk2-devel] [PATCH 1/5] MdePkg/BasePrintLib: avoid absolute addresses for error strings Thread-Index: AQHWPv+onRyd9nALkUKF5zOnej7AQajRhq8AgABsgZA= Date: Wed, 10 Jun 2020 15:09:21 +0000 Message-ID: References: <20200610081740.54581-1-ard.biesheuvel@arm.com> <20200610081740.54581-2-ard.biesheuvel@arm.com> <4d970dd2-4b28-046b-40e7-685b6b680c61@arm.com> In-Reply-To: <4d970dd2-4b28-046b-40e7-685b6b680c61@arm.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: dlp-product: dlpe-windows dlp-reaction: no-action dlp-version: 11.2.0.6 authentication-results: edk2.groups.io; dkim=none (message not signed) header.d=none;edk2.groups.io; dmarc=none action=none header.from=intel.com; x-originating-ip: [24.19.191.44] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6ca6a17f-3579-4560-3800-08d80d50416d x-ms-traffictypediagnostic: MN2PR11MB4174: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8273; x-forefront-prvs: 0430FA5CB7 x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: UZSlZy0hwObJIjMQcXwJxi9l5aNLhmvqLz4HbLYZRFx8vNLZLsONMr4ryUT1W1U0yJ8O92rf+cY4vhfL+SpWpkG2JLLqqvydvL4mTcMYoCjnVnTVxwHqDK/Tswc2Vow+BpZ1UilboiELBVKUMbGF4ctWjjicmb4oPuMBFnURt4L5Hb5cyUZ6vJkSC6d4Z+KzGm5NEZ+zqXRPEW/M5JyshXHak469vkmdbqRT85gmdOA54AcpXXHJKMoemFMke66somEKRFwJ1GCZnjXCkE+8VXiGJq9i3iZ27Mb1R3JrpToDhVwIkUY2Hxtg1Uk5RTbo2Dt8LgyTXJgpybyZRbu3E9QmNoKNb6Av0S03HOBIZcGS79J9Jnk97PFqpqfR/wz5qAPx1aLgumMTkVDV8KMOpQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR11MB4461.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFTY:;SFS:(136003)(376002)(346002)(396003)(366004)(39860400002)(8936002)(66556008)(55016002)(66446008)(66946007)(64756008)(478600001)(76116006)(66476007)(71200400001)(110136005)(26005)(53546011)(33656002)(4326008)(186003)(7696005)(6506007)(9686003)(8676002)(316002)(5660300002)(52536014)(83380400001)(2906002)(966005)(86362001)(54906003);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata: XvC3Yfmjq37zZyd9BTQVC5YiH9UEcfE60yeV74GEVwZXFHQmWGtnO1OXu9cPuiNKnryupHLaRXYe30XxuSOnMHLUIv6P1cv3vZ1+mMgGC9T+Cgxgb5j88JAL0JQaIlvzP6rKHauB5pSQDGeTSSb7/fR7TgzS4+6sTBvytmUBFiaE1xEoynwex1SezLbjXDAsevkZTWbFZiX2ogUm+U68pD7BH2l/vX9LMh/mto3ZQLZuLVBa9GkWqX+6qcJHcviKws2TrlYF2IljMZ07Nv/N0viW4eMG5zRFANuDbzbmA2k5JUSPDuU12RnFQrSloiuGuweP3GyXxrs6hnVugbWYLVY44Nv57uF9MtoK1gsMart91W1rV0vr8kmhsABAL3SyS7StlGP7iBK5gKKlg6BATFkw7EN6WuB1/X+stfoKa/KrvqemHKT6AZhzEBueYws0AvMGm5jIDu6ft1KuDBRcJ0cWqhmpEOW2lQMS01f8J2c= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 6ca6a17f-3579-4560-3800-08d80d50416d X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Jun 2020 15:09:21.7587 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: gKtN/HNI8di4Ms4pbU0i0v7uqJu6AREfK23gVxcIeKEm/jEuzVJCIQZHtHMhQSGF6tX5SKRJNDG5zOoIiieAALA5subxBHzzvBRDUdU5o4A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR11MB4174 Return-Path: michael.d.kinney@intel.com X-OriginatorOrg: intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgQXJkLA0KDQpUaGUgc2l6ZSByZWR1Y3Rpb24gaXMgdmVyeSBpbnRlcmVzdGluZy4gIFdvdWxk IGJlIGdvb2QgdG8gDQpzZWUgdW5jb21wcmVzc2VkIHNpemUgZGlmZmVyZW5jZXMgYXMgd2VsbCBi ZWNhdXNlIHRoaXMgbGliDQppcyBhbHNvIHVzZWQgaW4gcHJlLW1lbW9yeSBYSVAgbW9kdWxlcyB0 aGF0IGFyZSBmaXhlZCB1cA0KYnkgdGhlIGJ1aWxkIHRvb2xzIHRoYXQgaGFuZGxlIHRoZSByZWxv Y2F0aW9uIGZpeHVwcy4NCg0KVGhlIG1vcmUgZ2VuZXJhbCBjb25jZXJuIEkgaGF2ZSBpcyBpZiB0 aGVyZSBhcmUgc3RhbmRhcmQNCkMgY29kaW5nIHByYWN0aWNlcyAoc3VjaCBhcyBhIHByZS1pbml0 aWFsaXplZCBhcnJheSBvZg0KcG9pbnRlcnMgdG8gc3RyaW5ncykgdGhhdCBhcmUgbm90IGNvbXBh dGlibGUgd2l0aA0KU3RhbmRhbG9uZU1tUGtnIHVzZSBjYXNlcy4NCg0KTWlrZQ0KDQo+IC0tLS0t T3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZl bEBlZGsyLmdyb3Vwcy5pbz4gT24NCj4gQmVoYWxmIE9mIEFyZCBCaWVzaGV1dmVsDQo+IFNlbnQ6 IFdlZG5lc2RheSwgSnVuZSAxMCwgMjAyMCAxOjM3IEFNDQo+IFRvOiBkZXZlbEBlZGsyLmdyb3Vw cy5pbw0KPiBDYzogS2lubmV5LCBNaWNoYWVsIEQgPG1pY2hhZWwuZC5raW5uZXlAaW50ZWwuY29t PjsgR2FvLA0KPiBMaW1pbmcgPGxpbWluZy5nYW9AaW50ZWwuY29tPjsgWWFvLCBKaWV3ZW4NCj4g PGppZXdlbi55YW9AaW50ZWwuY29tPjsgU2FtaSBNdWphd2FyDQo+IDxzYW1pLm11amF3YXJAYXJt LmNvbT47IElsaWFzIEFwYWxvZGltYXMNCj4gPGlsaWFzLmFwYWxvZGltYXNAbGluYXJvLm9yZz4N Cj4gU3ViamVjdDogUmU6IFtlZGsyLWRldmVsXSBbUEFUQ0ggMS81XQ0KPiBNZGVQa2cvQmFzZVBy aW50TGliOiBhdm9pZCBhYnNvbHV0ZSBhZGRyZXNzZXMgZm9yIGVycm9yDQo+IHN0cmluZ3MNCj4g DQo+IE9uIDYvMTAvMjAgMTA6MTcgQU0sIEFyZCBCaWVzaGV1dmVsIHdyb3RlOg0KPiA+IFRoZSBt U3RhdHVzU3RyaW5nW10gaXMgY29uc3RydWN0ZWQgYXMgYW4gYXJyYXkgb2YNCj4gcG9pbnRlci10 by1jaGFyLCB3aGljaA0KPiA+IG1lYW5zIHRoYXQgb24gWDY0IG9yIEFBUkNINjQsIGl0IGlzIGVt aXR0ZWQgYXMgYQ0KPiBzaW5nbGUgbGluZWFyIGxpc3Qgb2YNCj4gPiA2NC1iaXQgcXVhbnRpdGll cywgZWFjaCBjb250YWluaW5nIHRoZSBhYnNvbHV0ZQ0KPiBhZGRyZXNzIG9mIG9uZSBvZiB0aGUN Cj4gPiBzdHJpbmcgbGl0ZXJhbHMgaW4gbWVtb3J5Lg0KPiA+DQo+ID4gVGhpcyBtZWFucyB0aGF0 IGVhY2ggc3RyaW5nIHRha2VzIHVwIDggYnl0ZXMgb2YNCj4gYWRkaXRpb25hbCBzcGFjZSwgYWxv bmcNCj4gPiB3aXRoIDIgYnl0ZXMgb2YgcmVsb2NhdGlvbiBkYXRhLiBJdCBhbHNvIG1lYW5zIHRo YXQNCj4gdGhlIGFycmF5IGNhbm5vdCBiZQ0KPiA+IHVzZWQgdW50aWwgUEUvQ09GRiByZWxvY2F0 aW9uIGhhcyBjb21wbGV0ZWQsIGFuZCBzbw0KPiB0aGUgZm9sbG93aW5nDQo+ID4gaW52b2NhdGlv bg0KPiA+DQo+ID4gICAgICBTdGF0dXMgPSBQZUNvZmZMb2FkZXJSZWxvY2F0ZUltYWdlDQo+ICgm SW1hZ2VDb250ZXh0KTsNCj4gPiAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ID4N Cj4gPiB0aGF0IHdlIHdpbGwgYmUgaW50cm9kdWNpbmcgaW50byBTdGFuZGFsb25lTW1Db3JlDQo+ IGVudHJ5cG9pbnQgZm9yIEFBUkNINjQNCj4gPiB0byByZWxvY2F0ZSB0aGUgZXhlY3V0YWJsZSBv biB0aGUgZmx5IGlzIGd1YXJhbnRlZWQgdG8NCj4gcmV0dXJuIGJvZ3VzIG91dHB1dA0KPiA+IG9y IGNyYXNoLCB3aGljaCBpcyBsZXNzIHRoYW4gaGVscGZ1bC4NCj4gPg0KPiA+IFNvIGZpeCBib3Ro IGlzc3VlcywgYnkgZW1pdHRpbmcgbVN0YXR1c1N0cmluZyBhcyBhbg0KPiBhcnJheSBvZiBjaGFy IGFycmF5cw0KPiA+IGluc3RlYWQuIFRoZSBtZW1vcnkgZm9vdHByaW50IGluY3JlYXNlcyBmcm9t IDk1NSB0bw0KPiA5NzUgYnl0ZXMsIGJ1dCBnaXZlbg0KPiA+IHRoYXQgaW4gdGhlIGxhdHRlciBj YXNlLCB0aGUgb3ZlcmhlYWQgY29uc2lzdHMgb2YgNDEwDQo+IE5VTCBjaGFyYWN0ZXJzDQo+ID4g cmF0aGVyIHRoYW4gMzkwIGJ5dGVzIHdvcnRoIG9mIGFic29sdXRlIGFkZHJlc3NlcyBhbmQNCj4g cmVsb2NhdGlvbiByZWNvcmRzLA0KPiA+IHRoZSBpbXBhY3Qgb24gYSBjb21wcmVzc2VkIGltYWdl IGlzIGFjdHVhbGx5IHBvc2l0aXZlLg0KPiBGb3IgZXhhbXBsZSwgd2hlbg0KPiA+IGJ1aWxkaW5n IEFybVZpcnRRZW11LmRzYyBpbiBSRUxFQVNFIG1vZGUgZm9yIEFBUkNINjQNCj4gd2l0aCB0aGUg R0NDNSBwcm9maWxlLA0KPiA+IEkgZ2V0Og0KPiA+DQo+ID4gICAgQmVmb3JlDQo+ID4NCj4gPiAg ICBGViBTcGFjZSBJbmZvcm1hdGlvbg0KPiA+ICAgIEZWTUFJTiBbOTklRnVsbF0gNDc4NDc2OCB0 b3RhbCwgNDc4NDcyMCB1c2VkLCA0OA0KPiBmcmVlDQo+ID4gICAgRlZNQUlOX0NPTVBBQ1QgWzM4 JUZ1bGxdIDIwOTMwNTYgdG90YWwsIDgxMTU2MA0KPiB1c2VkLCAxMjgxNDk2IGZyZWUNCj4gPg0K PiA+ICAgIEFmdGVyDQo+ID4NCj4gPiAgICBGViBTcGFjZSBJbmZvcm1hdGlvbg0KPiA+ICAgIEZW TUFJTiBbOTklRnVsbF0gNDc4MDY3MiB0b3RhbCwgNDc4MDYyNCB1c2VkLCA0OA0KPiBmcmVlDQo+ ID4gICAgRlZNQUlOX0NPTVBBQ1QgWzM4JUZ1bGxdIDIwOTMwNTYgdG90YWwsIDgxMzQ4OA0KPiB1 c2VkLCAxMjc5NTY4IGZyZWUNCj4gPg0KPiA+IFNvIHRoZSBjb21wcmVzc2VkIGltYWdlIGlzIDQg S0Igc21hbGxlciwgd2hlcmVhcyB0aGUNCj4gZW50aXJlIGltYWdlIGlzDQo+ID4gPCAyIEtCIGxh cmdlciwgd2hpY2ggaXMgaW4gdGhlIG9yZGVyIG9mIDAuMiAlDQo+ID4NCj4gPiBTaWduZWQtb2Zm LWJ5OiBBcmQgQmllc2hldXZlbCA8YXJkLmJpZXNoZXV2ZWxAYXJtLmNvbT4NCj4gDQo+IEFjdHVh bGx5LCBJIGZvdW5kIGEgc2xpZ2h0bHkgYmV0dGVyIHdheSBvZiBkb2luZyB0aGlzLA0KPiBieSBh cHBseWluZyB0aGUNCj4gZm9sbG93aW5nIGRlbHRhIG9uIHRvcCwgaS5lLiwgc3BsaXQgdGhlIGVy cm9ycyBhbmQNCj4gd2FybmluZ3MsIGFuZCB1c2UgYW4NCj4gYXJyYXkgb2YgMjEgYnl0ZSBjaGFy YWN0ZXIgYXJyYXlzIGZvciB0aGUgZm9ybWVyLg0KPiANCj4gTXkgYnVpbGQgd2VudCBmcm9tDQo+ IA0KPiBGViBTcGFjZSBJbmZvcm1hdGlvbg0KPiANCj4gRlZNQUlOIFs5OSVGdWxsXSA0Nzg0NzY4 IHRvdGFsLCA0Nzg0NzIwIHVzZWQsIDQ4IGZyZWUNCj4gRlZNQUlOX0NPTVBBQ1QgWzM3JUZ1bGxd IDIwOTMwNTYgdG90YWwsIDc5Mjk4NCB1c2VkLA0KPiAxMzAwMDcyIGZyZWUNCj4gDQo+IHRvDQo+ IA0KPiBGViBTcGFjZSBJbmZvcm1hdGlvbg0KPiBGVk1BSU4gWzk5JUZ1bGxdIDQ3ODA2NzIgdG90 YWwsIDQ3ODA2MjQgdXNlZCwgNDggZnJlZQ0KPiBGVk1BSU5fQ09NUEFDVCBbMzclRnVsbF0gMjA5 MzA1NiB0b3RhbCwgNzkxMDcyIHVzZWQsDQo+IDEzMDE5ODQgZnJlZQ0KPiANCj4gDQo+IGluIHRo aXMgY2FzZSwgaS5lLiwgYm90aCBjb21wcmVzc2VkIGFuZCBub24tY29tcHJlc3NlZA0KPiBpbWFn ZXMgYXJlDQo+IHNsaWdodGx5IHNtYWxsZXIuDQo+IA0KPiANCj4gDQo+IC0tLSBhL01kZVBrZy9M aWJyYXJ5L0Jhc2VQcmludExpYi9QcmludExpYkludGVybmFsLmMNCj4gKysrIGIvTWRlUGtnL0xp YnJhcnkvQmFzZVByaW50TGliL1ByaW50TGliSW50ZXJuYWwuYw0KPiBAQCAtMjcsMTMgKzI3LDE2 IEBADQo+IA0KPiAgIEdMT0JBTF9SRU1PVkVfSUZfVU5SRUZFUkVOQ0VEIENPTlNUIENIQVI4IG1I ZXhTdHJbXSA9DQo+IHsnMCcsJzEnLCcyJywnMycsJzQnLCc1JywnNicsJzcnLCc4JywnOScsJ0En LCdCJywnQycsJ0QnDQo+ICwnRScsJ0YnfTsNCj4gDQo+IC1HTE9CQUxfUkVNT1ZFX0lGX1VOUkVG RVJFTkNFRCBDT05TVCBDSEFSOA0KPiBtU3RhdHVzU3RyaW5nW11bMjVdID0gew0KPiArR0xPQkFM X1JFTU9WRV9JRl9VTlJFRkVSRU5DRUQgQ09OU1QgQ0hBUjgNCj4gbVdhcm5pbmdTdHJpbmdbXVsy NV0gPSB7DQo+ICAgICAiU3VjY2VzcyIsICAgICAgICAgICAgICAgICAgICAgIC8vICBSRVRVUk5f U1VDQ0VTUw0KPiA9IDANCj4gICAgICJXYXJuaW5nIFVua25vd24gR2x5cGgiLCAgICAgICAgLy8N Cj4gUkVUVVJOX1dBUk5fVU5LTk9XTl9HTFlQSCAgICAgPSAxDQo+ICAgICAiV2FybmluZyBEZWxl dGUgRmFpbHVyZSIsICAgICAgIC8vDQo+IFJFVFVSTl9XQVJOX0RFTEVURV9GQUlMVVJFICAgID0g Mg0KPiAgICAgIldhcm5pbmcgV3JpdGUgRmFpbHVyZSIsICAgICAgICAvLw0KPiBSRVRVUk5fV0FS Tl9XUklURV9GQUlMVVJFICAgICA9IDMNCj4gICAgICJXYXJuaW5nIEJ1ZmZlciBUb28gU21hbGwi LCAgICAgLy8NCj4gUkVUVVJOX1dBUk5fQlVGRkVSX1RPT19TTUFMTCAgPSA0DQo+ICAgICAiV2Fy bmluZyBTdGFsZSBEYXRhIiwgICAgICAgICAgIC8vDQo+IFJFVFVSTl9XQVJOX1NUQUxFX0RBVEEg ICAgICAgID0gNQ0KPiArfTsNCj4gKw0KPiArR0xPQkFMX1JFTU9WRV9JRl9VTlJFRkVSRU5DRUQg Q09OU1QgQ0hBUjgNCj4gbUVycm9yU3RyaW5nW11bMjFdID0gew0KPiAgICAgIkxvYWQgRXJyb3Ii LCAgICAgICAgICAgICAgICAgICAvLw0KPiBSRVRVUk5fTE9BRF9FUlJPUiAgICAgICAgICAgICA9 DQo+IDEgIHwgTUFYX0JJVA0KPiAgICAgIkludmFsaWQgUGFyYW1ldGVyIiwgICAgICAgICAgICAv Lw0KPiBSRVRVUk5fSU5WQUxJRF9QQVJBTUVURVIgICAgICA9DQo+IDIgIHwgTUFYX0JJVA0KPiAg ICAgIlVuc3VwcG9ydGVkIiwgICAgICAgICAgICAgICAgICAvLw0KPiBSRVRVUk5fVU5TVVBQT1JU RUQgICAgICAgICAgICA9DQo+IDMgIHwgTUFYX0JJVA0KPiBAQCAtOTk2LDEyICs5OTksMTIgQEAg QmFzZVByaW50TGliU1ByaW50TWFya2VyICgNCj4gICAgICAgICAgICAgLy8NCj4gICAgICAgICAg ICAgSW5kZXggPSBTdGF0dXMgJiB+TUFYX0JJVDsNCj4gICAgICAgICAgICAgaWYgKEluZGV4ID4g MCAmJiBJbmRleCA8PQ0KPiBFUlJPUl9TVEFUVVNfTlVNQkVSKSB7DQo+IC0gICAgICAgICAgICBB cmd1bWVudFN0cmluZyA9IG1TdGF0dXNTdHJpbmcgW0luZGV4ICsNCj4gV0FSTklOR19TVEFUVVNf TlVNQkVSXTsNCj4gKyAgICAgICAgICAgIEFyZ3VtZW50U3RyaW5nID0gbUVycm9yU3RyaW5nIFtJ bmRleCAtIDFdOw0KPiAgICAgICAgICAgICB9DQo+ICAgICAgICAgICB9IGVsc2Ugew0KPiAgICAg ICAgICAgICBJbmRleCA9IFN0YXR1czsNCj4gICAgICAgICAgICAgaWYgKEluZGV4IDw9IFdBUk5J TkdfU1RBVFVTX05VTUJFUikgew0KPiAtICAgICAgICAgICAgQXJndW1lbnRTdHJpbmcgPSBtU3Rh dHVzU3RyaW5nIFtJbmRleF07DQo+ICsgICAgICAgICAgICBBcmd1bWVudFN0cmluZyA9IG1XYXJu aW5nU3RyaW5nIFtJbmRleF07DQo+ICAgICAgICAgICAgIH0NCj4gICAgICAgICAgIH0NCj4gICAg ICAgICAgIGlmIChBcmd1bWVudFN0cmluZyA9PSBWYWx1ZUJ1ZmZlcikgew0KPiANCj4gDQo+ID4g LS0tDQo+ID4gICBNZGVQa2cvTGlicmFyeS9CYXNlUHJpbnRMaWIvUHJpbnRMaWJJbnRlcm5hbC5j IHwgMg0KPiArLQ0KPiA+ICAgMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0 aW9uKC0pDQo+ID4NCj4gPiBkaWZmIC0tZ2l0DQo+IGEvTWRlUGtnL0xpYnJhcnkvQmFzZVByaW50 TGliL1ByaW50TGliSW50ZXJuYWwuYw0KPiBiL01kZVBrZy9MaWJyYXJ5L0Jhc2VQcmludExpYi9Q cmludExpYkludGVybmFsLmMNCj4gPiBpbmRleCBiNmVjNWFjNGZiYjkuLmM4YjkzMmM3ZTA3YSAx MDA2NDQNCj4gPiAtLS0gYS9NZGVQa2cvTGlicmFyeS9CYXNlUHJpbnRMaWIvUHJpbnRMaWJJbnRl cm5hbC5jDQo+ID4gKysrIGIvTWRlUGtnL0xpYnJhcnkvQmFzZVByaW50TGliL1ByaW50TGliSW50 ZXJuYWwuYw0KPiA+IEBAIC0yNyw3ICsyNyw3IEBADQo+ID4NCj4gPiAgIEdMT0JBTF9SRU1PVkVf SUZfVU5SRUZFUkVOQ0VEIENPTlNUIENIQVI4IG1IZXhTdHJbXQ0KPiA9DQo+IHsnMCcsJzEnLCcy JywnMycsJzQnLCc1JywnNicsJzcnLCc4JywnOScsJ0EnLCdCJywnQycsJ0QnDQo+ICwnRScsJ0Yn fTsNCj4gPg0KPiA+IC1HTE9CQUxfUkVNT1ZFX0lGX1VOUkVGRVJFTkNFRCBDT05TVCBDSEFSOCAq IENPTlNUDQo+IG1TdGF0dXNTdHJpbmdbXSA9IHsNCj4gPiArR0xPQkFMX1JFTU9WRV9JRl9VTlJF RkVSRU5DRUQgQ09OU1QgQ0hBUjgNCj4gbVN0YXR1c1N0cmluZ1tdWzI1XSA9IHsNCj4gPiAgICAg IlN1Y2Nlc3MiLCAgICAgICAgICAgICAgICAgICAgICAvLyAgUkVUVVJOX1NVQ0NFU1MNCj4gPSAw DQo+ID4gICAgICJXYXJuaW5nIFVua25vd24gR2x5cGgiLCAgICAgICAgLy8NCj4gUkVUVVJOX1dB Uk5fVU5LTk9XTl9HTFlQSCAgICAgPSAxDQo+ID4gICAgICJXYXJuaW5nIERlbGV0ZSBGYWlsdXJl IiwgICAgICAgLy8NCj4gUkVUVVJOX1dBUk5fREVMRVRFX0ZBSUxVUkUgICAgPSAyDQo+ID4NCj4g DQo+IA0KPiANCg0K