From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by mx.groups.io with SMTP id smtpd.web10.5437.1689289399263497523 for ; Thu, 13 Jul 2023 16:03:19 -0700 Authentication-Results: mx.groups.io; dkim=fail reason="unable to parse pub key" header.i=@intel.com header.s=intel header.b=ARvLwzRP; spf=pass (domain: intel.com, ip: 192.55.52.93, mailfrom: michael.d.kinney@intel.com) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1689289399; x=1720825399; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=gpvEsiA5x+DoG1PzzDcQTF89rM5j/yXntWt13YTcVYk=; b=ARvLwzRPk3B8j5DzTrH75yQ3Fj667ugoFoXG+xfK+xWMtKp+sHtocQCz eStSPMtSRmXcOIxw05/aVg7VKeN+T9DoZohK3eqWo8ViTVpB10QMfgN7s VQDFljWyyAYfDTds9GxSy8DBQXcdwyULZx1eGeXmqVd2JvDH25NF5s0FH j7WeH2BEoXCMIfspNqGom8BXTs68AUxoAgSYroOJKLndRrESVDoWCITYR pYidq+3cyi/TS6nbHVpz+iLk3lyKTjj6VfjgLiZqShqOnTa0jcdXyqauZ CrOdHK4KuKrbpyTpIselNi8JBdi8ZRAHTXclSSDj5LakOi0qFwMlHjPYr w==; X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="362797367" X-IronPort-AV: E=Sophos;i="6.01,204,1684825200"; d="scan'208";a="362797367" Received: from fmsmga003.fm.intel.com ([10.253.24.29]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 13 Jul 2023 16:03:18 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=McAfee;i="6600,9927,10770"; a="812201156" X-IronPort-AV: E=Sophos;i="6.01,204,1684825200"; d="scan'208";a="812201156" Received: from fmsmsx601.amr.corp.intel.com ([10.18.126.81]) by FMSMGA003.fm.intel.com with ESMTP; 13 Jul 2023 16:03:18 -0700 Received: from fmsmsx601.amr.corp.intel.com (10.18.126.81) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27; Thu, 13 Jul 2023 16:03:17 -0700 Received: from FMSEDG603.ED.cps.intel.com (10.1.192.133) by fmsmsx601.amr.corp.intel.com (10.18.126.81) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.27 via Frontend Transport; Thu, 13 Jul 2023 16:03:17 -0700 Received: from NAM10-MW2-obe.outbound.protection.outlook.com (104.47.55.106) by edgegateway.intel.com (192.55.55.68) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.1.2507.27; Thu, 13 Jul 2023 16:03:17 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=AWAA6VndcLAo1fKf/YyEJ5I56Arlhzm5T6K/VN04WIP8x6BWjFU/WffLrulVV8vxvKDphPgc/3bWV10XeZi9j1Zcq6fpYEZ1SyNZDwP5+SbK6bSGwpqhgmSRcfdqOilh655DotCiLSI1OAiSjuDHSKMZFyRxCvwvjopXcbBwwgioXAc6/nbMUnknMbxpSuFxwb/E8BGabNExVkCPA4jgC7eWyKM1jsNF85SIOWCCp5d++qVUztcFtQWBOjO/lWpv2RJ2hSXmSFQy6Kj5CScmsJsnGS8LBN1jdSDIHwLqDDFafgMTIFjnACX54Yxc1JhP7qeqmL09XKvo4aHefAXcAA== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=gpvEsiA5x+DoG1PzzDcQTF89rM5j/yXntWt13YTcVYk=; b=DDf8qVrvyGgSQxUl0l6FGZCXuT8KDY+gYJH5q0g477fN/nle2DzLgH8eJiyToD0+6XZwpcfsw/Rdr0VwJRjanJ6jNr3RXnYUFPyQh9RP+tBoKlw4jxeEnF91QEwVyWChXDlCuHH/coyZut/VTLzWe+6yZT2a8sY21Ekw9NYDiJMWQKdDGdqImyQJD7L3phGsELTl9JEcCNwVXC3k2wHxSzrxNFt8Gui2pEF8VrWV5lqKzANT2cEmlowZ4d/ZMUTi5l3QBTgPAZGqZm0068dCCin8tIoAUE3j+LNgw6DgIFTNTG/kXCkMPMsM8OcCwsv59HrlATRhcZi/SgCX0dM/zA== 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 Received: from CO1PR11MB4929.namprd11.prod.outlook.com (2603:10b6:303:6d::19) by SA3PR11MB8023.namprd11.prod.outlook.com (2603:10b6:806:2ff::11) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6565.30; Thu, 13 Jul 2023 23:03:15 +0000 Received: from CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::71b9:8bdb:d675:985b]) by CO1PR11MB4929.namprd11.prod.outlook.com ([fe80::71b9:8bdb:d675:985b%6]) with mapi id 15.20.6588.027; Thu, 13 Jul 2023 23:03:15 +0000 From: "Michael D Kinney" To: "devel@edk2.groups.io" , "osde@linux.microsoft.com" , "pedro.falcato@gmail.com" , Ard Biesheuvel CC: Gerd Hoffmann , "osy@turing.llc" , Leif Lindholm , dann frazier , "Kinney, Michael D" Subject: Re: [edk2-devel] ArmVirtPkg: non-executable EFI_LOADER_DATA breaks GRUB on Ubuntu 22.04 Thread-Topic: [edk2-devel] ArmVirtPkg: non-executable EFI_LOADER_DATA breaks GRUB on Ubuntu 22.04 Thread-Index: AQHZszJqs/+SIevaAE25MAzK6tRwsK+zKEeAgAD7agCAA8wCgIAABm4AgAAF64CAAAuKgIAATPIg Date: Thu, 13 Jul 2023 23:03:15 +0000 Message-ID: References: <3e95a9b9-a0d7-7178-db3c-28db31b95ecd@linux.microsoft.com> In-Reply-To: <3e95a9b9-a0d7-7178-db3c-28db31b95ecd@linux.microsoft.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CO1PR11MB4929:EE_|SA3PR11MB8023:EE_ x-ms-office365-filtering-correlation-id: 5415cd67-34b3-4a23-5085-08db83f556d6 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: c9urPqtofTDbOp4Af7m8yCg2o/gyaTdVcsfOdrxdDE2nbiDbbn2byIkqNow1VrUgZqleme4dbsUtBzvzPR+nsEVzwd671cFu0UP6gwRphxwNLW3xnrOSvL13bwZXGLLFuZhq0Taln2DjFc4vt4WKZjOx8OIvXpD2SDqyqtrrBVUwgmzm0BUtrEmuRNsI74op4y+EJlJbo+L+FTeDj94nqjfwh/w3AobLdbnayXUtMHoIe3/dSstC0un+zC5XqIwhw3qcSl+TXNouTI0EEuBqVNaTlItI0Wu7ix4DCGCgSWlt2PH7QZZlNWhKnMptRPjc1U6zkTdIG1dCnleSfByFp3+ci3iS9O27R4WahESpkChyDBG1MkSbwy/ALGr7t+4NpCOXc0kDOAfDQZKQYC2rTYiRF0hJ710C8VYSKio54cbzstUTx47MRBu+lMO8wA7V1X0QHeI/VeS7dLAFaPzdZY8QYHb3KHGswnsltPibngrIJha2BuxVDuz4voLQFrnTGYzNnGBO0jIAT1WkVrESvMO0R0QldBRGuDemVP2fgBVpSZZwpe8PFoTab3yKAlgw1NUvdmpiGGO0hcY7rQsQ9Ik9zOMGCdC9BmAGYz3nlS25MFWqwDTJz043z6q2O3vB9d3DSqsOcSt+zXcUifYHrw== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CO1PR11MB4929.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(346002)(39860400002)(366004)(376002)(396003)(136003)(451199021)(6506007)(26005)(186003)(107886003)(53546011)(41300700001)(9686003)(966005)(83380400001)(66899021)(82960400001)(7696005)(478600001)(122000001)(54906003)(110136005)(71200400001)(4326008)(66476007)(76116006)(66556008)(64756008)(38100700002)(66946007)(316002)(55016003)(66446008)(8936002)(33656002)(52536014)(5660300002)(8676002)(38070700005)(86362001)(2906002);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?V3pzYjdNQmVXNlBud2NYY3BHQ0pPSlF2SnpENlh1bzBwbnJWQVhSbjVkbVl3?= =?utf-8?B?QXBRM0xRNllvNEp0VEl1aU12aCt5azNhUDZ0Ukg0MHN2Y2JtZ25HZk15c2ZJ?= =?utf-8?B?WGU0cUdhNjN4M1p2RisyTTlIVUt5aDdlUkVEMjRWaEJ1SjJ4dTl5NklnUno0?= =?utf-8?B?c3o3ZHc2REVEQjNONXltcEJ3NmtQTlFEWEt0R0tsMFdWQU1LRnpVS0o3d09h?= =?utf-8?B?WXVxdzlYekF6TGhTbFk3RmpFd01ocEkwWENEblFjaUdIbEpoeEFXdyt1SGdB?= =?utf-8?B?eGp3c2ovVkZVcEhXYWRGczdZMkFMU0RCZlBRbTVoOU1lenlRdnlMWVE0QVps?= =?utf-8?B?RGZnMC90cTB0aVpEVXV3NUZTTmh4OG90ejZ2SzFtT0hhdUpBRWF1Rm1wMmxL?= =?utf-8?B?b3FyZGYwM0MxazRoRnVBMnpDYXlSSVZGQ0xNbUFsNDl4MW1GenFrZ3V4Vktp?= =?utf-8?B?MnBZdm1jbDdYNkpLT2RmYjZ1YkdZMTdnL3B5SEhTbHJKZUxIc3FVWGxtVHAy?= =?utf-8?B?M0FVenBHKy84aVFPZlRxeFZ4OUc4L090aGdHY2QwR1BVS2FSZjZEY2Y5djdq?= =?utf-8?B?L3o3bis0YUhVVUtLTHc4VG9naDhzZGVvVnJGZGRuekpMQ1o2K0o0dUNwNUdL?= =?utf-8?B?Z1VnUEU5cEhpNDVOb1lhQ3ErTWRpdWRFTURxWDVCNEkwcytWbDdZOWFKbFRk?= =?utf-8?B?OXZFU0VtSFlOL2l1K2pFL1dONURac3NZaUEyT3o4VXRoUFZQM3d6Tm9lbXlY?= =?utf-8?B?c1doK3FYR1I4anl1dnRDQ1IxcG1mTXI0VmdVZHJrR25hR3IzOStMWE1JaG9x?= =?utf-8?B?TGdFZVpmT2ZjZHJiRmRrbkdCZ282dHFqOEpVWUdrNW5JWFAyWVBNam9lTEdY?= =?utf-8?B?ek5udUlxQWovVjNRWngyV2w0TDZrNkRDMW5XRmZLVkgyRlJqUXUrazNoL3Zm?= =?utf-8?B?VGRnTzZ4YkFOQ1hvWkRrcW04VjJxR0xkd0ZucGx0K3ZGVHV2aUI4RElUc1BH?= =?utf-8?B?UmVFalpTek1iZG5hQjNEbTIrTnFzbHF1ZjlOTE9lZEU4Y1FVZXdEZnpZalZJ?= =?utf-8?B?aEFKaEtzK1dUL2ZJVlY0SWxYbS9JUTAyZmcrV21PUEtZaVh1ZjF3L1Q5bnc5?= =?utf-8?B?NkdaeGtjN1BUVHJSRjNFbVFXZGRvOUMvcnRPUmtrZzNPZjhndTc0RENrRUlP?= =?utf-8?B?TDR1SmRlTzY3S1JZM0MrbFVKR1VKaExTVFVMSTNyc0p4UldJQVZkS2VTZWg1?= =?utf-8?B?cWR5Q0JzZkkrQzNZWWI3cVRJcEJLUVA2a0wwaXErYWV3OTdFTkdFeVlhSGZ0?= =?utf-8?B?dXpzaDJVSG5HOGJTdGxoZFhkc0Y1dUNDL0tsVzRGdVhFNlJRNWU1TDZRL2Nt?= =?utf-8?B?ajVGbW15Skd1SUhnRzBEYmd6ckZ4L1BzVlNTUkJaZzFOeFo1a2h2YUgxYXZZ?= =?utf-8?B?QTNmbUxlMllJa2dWbjhIUkEwdmlQS3oxU0psVUZPbVRjSlcyb0J2RitDRGRi?= =?utf-8?B?WnROcTE0eU5MTFRhbVV5d2RnZnVES2swZmZSd0JyOGRpQVJ3VFArN1pCOHJF?= =?utf-8?B?czRlOFF3R0x3OUYyVnlmc0pVcFJoV21wb0dlaHgrdEZCcG56ZmV5N0w3cEo1?= =?utf-8?B?SElEKzkyL2hNK0dJejN4TDdId2JaVlV5UVBhV29Rd09GWFh2b081YTlRS3U3?= =?utf-8?B?ZEdWQ01ubnp0WWFqcGZPVzhTSFpGYnlTLzNoQk42K294aHMyVVhOZ2wzUFl2?= =?utf-8?B?OStJdVZVQjNLRXpzeTQ2ZjYwS0dRV245cmx1TXE2Q3B4N1BjaGVoL3MyQmJq?= =?utf-8?B?Wk5lcGovNE91bjdkZHdLeU1PUytVYnFZcXVKZkMrSFF4ZEdyNDJhN0R2MHdZ?= =?utf-8?B?dkFvbjNMOXhzYTJrVGZ1azdkTVcxM2wvWFVsWFZNaFlTKy9IKzFEYVRDdlB5?= =?utf-8?B?VGloK3k0WlBZRkRwSEg1VGw4Tk5LR0draHFBVlNBR25zTEs4QkpZWUxvbzhp?= =?utf-8?B?YjZIOGdQMEV2ejNkUG5WR1RZMlEyN0R0VVpYcXhGTTVBYnNmdGRQak84VG1Y?= =?utf-8?B?dThyK1pvajZHSkRhZDlNSmoxZVZlTEQyeGcwVG4zMjkxL0t0cDdwd3MxVEZS?= =?utf-8?B?eUlqQ2VTZXo2MXk0aG54bFZ3UFVaYm9CTnUyUGYxZUprOGF4Y29uZHdvS05n?= =?utf-8?B?TEE9PQ==?= MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CO1PR11MB4929.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 5415cd67-34b3-4a23-5085-08db83f556d6 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Jul 2023 23:03:15.0130 (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: u5U4A2VaZz4px2TZ/yrw8b7XsKuhB4KgbjRKH0om2K/4TVBErsTBymvEzFaUmXswHKyAgFlVI7SiJ8GlX85QeC4IvSfqeHU8lZnrf7Kz82E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA3PR11MB8023 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 QSBnZW5lcmFsIGFwcHJvYWNoIHRvIHRoaXMgdHlwZSBvZiBpc3N1ZXMgaXMgdG8gZW5hYmxlIHRo ZSBuZXcgZmVhdHVyZSBieSBkZWZhdWx0DQphbmQgb3B0aW9uYWxseSBwcm92aWRlIGEgc2V0dXAg b3B0aW9uIHRvIGRpc2FibGUgdGhlIG5ldyBmZWF0dXJlLg0KDQpJZiB0aGVyZSBpcyBhIHdheSB0 byBkZXRlY3QgdGhlIGZhaWx1cmUgY2FzZSBhbmQgZmFpbCBncmFjZWZ1bGx5IGJhY2sgdG8gdGhl IA0KYm9vdCBtYW5hZ2VyIHdpdGggYW4gZXJyb3IgbWVzc2FnZSB0aGF0IGluZGljYXRlcyB0aGUg dHlwZSBvZiBpc3N1ZSBhbmQgYWxzbw0KaW5kaWNhdGVzIGlmIHRoZXJlIGlzIGEgc2V0dXAgb3B0 aW9uIHRvIGRpc2FibGUgYSBmZWF0dXJlIHRvIGFsbG93IHRoYXQgT1MNCnRvIGJvb3QsIHRoZW4g dGhlIHVzZXIgY2FuIGNob29zZSB0byBvcHQtaW4gdG8gZGlzYWJsaW5nIHRoZSBmZWF0dXJlLg0K DQpDYW4gYWxzbyBjb25zaWRlciBhIHdhcm5pbmcgbWVzc2FnZSB3aGVuIGEgc3lzdGVtIGlzIGlu IGEgZGVmZWF0dXJlZCBzdGF0ZQ0Kc28gdGhlIHVzZXIga25vd3MgdGhhdCBldmVyeSB0aW1lIHRo ZXkgYm9vdCBzbyB0aGV5IGNhbiByZS1lbmFibGUgaWYgdGhleQ0Kb25seSBuZWVkZWQgdG8gZGlz YWJsZSBmb3IgYSBzaG9ydCBwZXJpb2Qgb2YgdGltZS4NCg0KTWlrZQ0KDQo+IC0tLS0tT3JpZ2lu YWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IGRldmVsQGVkazIuZ3JvdXBzLmlvIDxkZXZlbEBlZGsy Lmdyb3Vwcy5pbz4gT24gQmVoYWxmIE9mIE9saXZlcg0KPiBTbWl0aC1EZW5ueQ0KPiBTZW50OiBU aHVyc2RheSwgSnVseSAxMywgMjAyMyAxMToyMyBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91cHMu aW87IHBlZHJvLmZhbGNhdG9AZ21haWwuY29tOyBBcmQgQmllc2hldXZlbA0KPiA8YXJkYkBrZXJu ZWwub3JnPg0KPiBDYzogR2VyZCBIb2ZmbWFubiA8a3JheGVsQHJlZGhhdC5jb20+OyBvc3lAdHVy aW5nLmxsYzsgTGVpZiBMaW5kaG9sbQ0KPiA8cXVpY19sbGluZGhvbEBxdWljaW5jLmNvbT47IGRh bm4gZnJhemllciA8ZGFubi5mcmF6aWVyQGNhbm9uaWNhbC5jb20+DQo+IFN1YmplY3Q6IFJlOiBb ZWRrMi1kZXZlbF0gQXJtVmlydFBrZzogbm9uLWV4ZWN1dGFibGUgRUZJX0xPQURFUl9EQVRBDQo+ IGJyZWFrcyBHUlVCIG9uIFVidW50dSAyMi4wNA0KPiANCj4gT24gNy8xMy8yMDIzIDEwOjQxIEFN LCBQZWRybyBGYWxjYXRvIHdyb3RlOg0KPiA+IE9uIFRodSwgSnVsIDEzLCAyMDIzIGF0IDY6MjDi gK9QTSBBcmQgQmllc2hldXZlbCA8YXJkYkBrZXJuZWwub3JnPiB3cm90ZToNCj4gPj4NCj4gPj4g T24gVGh1LCAxMyBKdWwgMjAyMyBhdCAxODo1NywgUGVkcm8gRmFsY2F0byA8cGVkcm8uZmFsY2F0 b0BnbWFpbC5jb20+DQo+IHdyb3RlOg0KPiA+Pj4NCj4gPj4+IE9uIFR1ZSwgSnVsIDExLCAyMDIz IGF0IDc6NTjigK9BTSBHZXJkIEhvZmZtYW5uIDxrcmF4ZWxAcmVkaGF0LmNvbT4NCj4gd3JvdGU6 DQo+ID4+Pj4NCj4gPj4+PiBPbiBNb24sIEp1bCAxMCwgMjAyMyBhdCAwNDo1ODoxNVBNICswMTAw LCBQZWRybyBGYWxjYXRvIHdyb3RlOg0KPiA+Pj4+PiBPbiBNb24sIEp1bCAxMCwgMjAyMyBhdCAy OjI44oCvUE0gPG9zeUB0dXJpbmcubGxjPiB3cm90ZToNCj4gPj4+Pj4+DQo+ID4+Pj4+PiBJIGhh dmUgYW4gZXhpc3RpbmcgaW5zdGFsbCBvZiBVYnVudHUgMjIuMDQgb24gYSBRRU1VIHZpcnR1YWwN Cj4gbWFjaGluZSB3aGljaCBJJ3ZlIGRlY2lkZWQgdG8gdXBkYXRlIHRoZSBVRUZJIGZpcm13YXJl LiBBZnRlciBkb2luZyBzbywNCj4gR1JVQiBubyBsb25nZXIgYm9vdHMgKCJTeW5jaHJvbm91cyBF eGNlcHRpb24iIG1lc3NhZ2Ugc2VlbikuIEFmdGVyIGEgZ2l0DQo+IGJpc2VjdCBzZXNzaW9uLCBJ IGZvdW5kIHRoZSBwcm9ibGVtYXRpYw0KPiAyOTk3YWUzODczOTc1NmVjYmE5YjBkZTE5ZTg2MDMy ZWJjNjg5ZWY5LiBUaGUgY29tbWVudCBzYXlzIEdSVUIgc2hvdWxkDQo+IGhhdmUgYmVlbiBmaXhl ZCBpbiAyMDE3LCBidXQgZm9yIG9uZSByZWFzb24gb3IgYW5vdGhlciwgbXkgVk0gd2hpY2ggd2Fz DQo+IGJ1aWx0IGluIDIwMjIgc3RpbGwgaGFkIHRoZSBpc3N1ZS4gUmVnYXJkbGVzcywgSSBkb24n dCB0aGluayBpdCdzIGEgZ29vZA0KPiBpZGVhIHRvIGJyZWFrIEdSVUIsIGV2ZW4gaWYgaXQncyBm aXhlZCBpbiAyMDE3LiBJbiB0aGUgdmVyeSBsZWFzdCwgYQ0KPiBiZXR0ZXIgZXJyb3IgbWVzc2Fn ZSB3b3VsZCBiZSBwcmVmZXJhYmxlIHRvIGNyYXNoaW5nIHdpdGggYW4NCj4gIlN5bmNocm9ub3Vz IEV4Y2VwdGlvbi4iIEdvb2dsaW5nIHRoaXMgZXJyb3IgbWVzc2FnZSBzaG93cyB0aGF0IG90aGVy DQo+IHBlb3BsZSBtYXkgYmUgaGl0dGluZyB0aGlzIGlzc3VlIGFzIHdlbGwgYnV0IHRoZSB2YWd1 ZSBlcnJvciBzeW1wdG9tDQo+IG1lYW5zIGl0cyBpbXBvc3NpYmxlIHRvIGtub3cgaWYgaXQncyB0 aGUgc2FtZSBpc3N1ZSBvciBub3QuDQo+ID4+Pj4+DQo+ID4+Pj4+ICtDQyBTb21lIG9mIHRoZSBm b2xrcyBpbnZvbHZlZCBpbiB0aGUgb3JpZ2luYWwgZGlzY3Vzc2lvbg0KPiA+Pj4+Pg0KPiA+Pj4+ PiBJbiB0aGUgb3JpZ2luYWwgdGhyZWFkLCBwZW9wbGUgZGlzY3Vzc2VkIHNvbWUgYWx0ZXJuYXRp dmUgYmVoYXZpb3INCj4gdG8NCj4gPj4+Pj4ganVzdCBjcmFzaGluZyBvbiBhIE5YIGZhdWx0LiBJ cyB0aGlzIHN0aWxsIGFuIGFsdGVybmF0aXZlPw0KPiA+Pj4+DQo+ID4+Pj4gVGhlIGlkZWEgaXM6 IEltcHJvdmUgcGFnZSBmYXVsdCBoYW5kbGVyIHRvIChhKSBwcmludCBhIGJpZyduJ2ZhdA0KPiA+ Pj4+IHdhcm5pbmcsIGFuZCAoYikgbG9vc2VuaW5nIHVwIG1lbW9yeSBwZXJtaXNzaW9ucyBmb3Ig dGhlIGZhdWx0aW5nDQo+ID4+Pj4gcGFnZSBhZGRyZXNzLg0KPiA+Pj4+DQo+ID4+Pj4gTm8gcGF0 Y2ggZm9yIHRoYXQgZW1lcmdlZCAoeWV0PykuDQo+ID4+Pg0KPiA+Pj4gQWNrLiBJIGNhbiB3b3Jr IG9uIHRoYXQuDQo+ID4+Pg0KPiA+Pj4+PiBJJ20ga2luZCBvZiB0aGlua2luZyB0aGlzIHNob3Vs ZCBiZSBhZGRyZXNzZWQgYnkgZGlzdHJvcw0KPiBhbnl3YXkuLi4uDQo+ID4+Pj4+IEhvdyBpcyAk Q1VSUkVOVF9ZRUFSIFVidW50dSBzdGlsbCBzaGlwcGluZyBiYWQgR1JVQnM/IEkga25vdyB0aGUN Cj4gPj4+Pj4gc2l0dWF0aW9uIGFyb3VuZCBHUlVCIGFuZCBkaXN0cm8gcGF0Y2hpbmcgaXMgY29t cGxpY2F0ZWQgYnV0Li4uDQo+ID4+Pj4+IERvIHdlIGhhdmUgYW55IGlkZWEgb2YgaG93IG1hbnkg ZGlzdHJvcy9HUlVCcyBhcmUgYWZmZWN0ZWQgYnkNCj4gdGhpcz8NCj4gPj4+Pg0KPiA+Pj4+IFRv byBtYW55IDooDQo+ID4+Pg0KPiA+Pj4gVWdoLCBldmVuIHRoZSBsYXRlc3QgcmVsZWFzZXM/DQo+ ID4+Pg0KPiA+Pj4+PiBQZXJzb25hbGx5LCBJIHdvdWxkIGxpa2UgdG8gYXZvaWQgbG9vc2VuaW5n IHVwIG1lbW9yeSBwZXJtaXNzaW9ucy4NCj4gPj4+Pg0KPiA+Pj4+IFdlbGwsIHlvdSBjYW4ndCBo YXZlIGJvdGguICBZb3UgaGF2ZSB0byBwaWNrIGJldHdlZW4gc3RyaWN0IG54DQo+IGhhbmRsaW5n DQo+ID4+Pj4gYW5kIGdydWIgYnVnIGNvbXBhdGliaWxpdHkgLi4uDQo+ID4+Pg0KPiA+Pj4gWWVz LiBJTU8gaXQgc2hvdWxkIGJlIG9rIHRvIGFkZCBhIGhhY2sgYXJvdW5kIE5YIGhhbmRsaW5nIGlm IHRoZXJlJ3MNCj4gYQ0KPiA+Pj4gc29saWQgcGxhbiBmb3IgZGVhbGluZyB3aXRoIHRoaXMgZnJv bSB0aGUgZGlzdHJvcycgc2lkZSAoYW5kIHBoYXNpbmcNCj4gPj4+IHRoaXMgb3V0KS4gQW5kIEkn bSBhc3N1bWluZyB1cHN0cmVhbSBHUlVCIGhhcyB0aGlzIGZpeGVkLg0KPiA+Pj4gVGhpcyB3aG9s ZSBzaXR1YXRpb24gaXMga2luZCBvZiBtZXNzeSBhcyBmaXJtd2FyZSBwZW9wbGUgYWRkIG5ldw0K PiA+Pj4gcmVzdHJpY3Rpb25zIHRoYXQgd2VyZW4ndCByZWFsbHkgdGhlcmUgaW4gdGhlIGZpcnN0 IHBsYWNlLg0KPiA+Pj4NCj4gPj4+IEFsc28sIHdoYXQncyB0aGUgc2l0dWF0aW9uIG9uIHRoaXMg Zm9yIHg4Nj8gSSBhc3N1bWUgaXQncyBhIGxvdA0KPiB3b3JzZSB0aGVyZT8NCj4gPj4+DQo+ID4+ DQo+ID4+IFRvIGJlIGhvbmVzdCwgSSBoYXZlIGxpdHRsZSBzeW1wYXRoeSBmb3IgdGhlIGdpZ2Fu dGljIG1lc3MgdGhhdCB0aGUNCj4gPj4gZGlzdHJvcyBoYXZlIGNyZWF0ZWQgZm9yIHRoZW1zZWx2 ZXMgd2l0aCBHUlVCLCBzaGltLCBldGMuIE1haW5saW5lDQo+ID4+IEdSVUIgd29ya3MgZmluZSB3 aXRoIG1haW5saW5lIEVESzIsIGFuZCBzZWN1cmUgYm9vdCBpbiBhIGFybTY0IFZNIGlzDQo+ID4+ IHJhdGhlciBwb2ludGxlc3MsIGdpdmVuIHRoYXQgdGhlIFtlbXVsYXRlZF0gTk9SIGZsYXNoIGlz IHdyaXRhYmxlIGJ5DQo+ID4+IHRoZSBndWVzdCBPUy4gVGhlIGJyZWFrYWdlIGlzIGluIHRoZSBk b3duc3RyZWFtIEdSVUIgY2hhbmdlcyB0aGF0DQo+IG1ha2UNCj4gPj4gaXQgaW50ZXJvcGVyYXRl IHdpdGggc2hpbSwgYW5kIGl0cyBoYWNrZWQgdXAgUEUgbG9hZGVyLg0KPiA+Pg0KPiA+PiBJZiB3 ZSBhcmUgZ29pbmcgdG8gYWNjb21tb2RhdGUgZXZlcnkgYnJva2VuIEdSVUIgYnVpbGQgdGhhdCB0 aGUNCj4gPj4gZGlzdHJvcyBldmVyIHJlbGVhc2VkLCB3ZSB3b24ndCBiZSBhYmxlIHRvIG1ha2Ug YW55IHByb2dyZXNzIG9uIHRoaXMNCj4gPj4gZnJvbnQuIEkgdW5kZXJzdGFuZCB0aGF0IHRoZSBk aXN0cm9zIG5lZWQgdG8gc3VwcG9ydCB0aGVpciBleGlzdGluZw0KPiA+PiB1c2VyIGJhc2VzLCBz byBJIGFtIHdpbGxpbmcgdG8gY29uc2lkZXIgZmFjaWxpdGllcyB0aGF0IG1ha2UgaXQNCj4gZWFz aWVyDQo+ID4+IHRvIGNyZWF0ZSBidWlsZHMgdGhhdCB3b3JrIGFyb3VuZCBzdWNoIGlzc3Vlcy4N Cj4gPj4NCj4gPj4gSG93ZXZlciwganVzdCB0dXJuaW5nIG9mZiBOWCBzdXBwb3J0IGlzIG5vdCBv bmUgb2YgdGhlIG9wdGlvbnMuDQo+ID4+IFVwc3RyZWFtIGlzIG5vdCB3aGF0IHRoZSBkaXN0cm9z IGFyZSBzaGlwcGluZywgdGhpcyBhcHBsaWVzIHRvIEdSVUINCj4gPj4gYW5kIHNoaW0gYXMgd2Vs bCBhcyBFREsyOiBzbyBpZiB0aGVpciBkb3duc3RyZWFtIEdSVUIgYnJlYWtzIEVESzIsDQo+ID4+ IHRoZXkgY2FuIGZpeCBpdCBpbiB0aGVpciBFREsyIGJ1aWxkcywgZWl0aGVyIGJ5IGNhcnJ5aW5n IGEgY29kZQ0KPiA+PiBjaGFuZ2UsIG9yIGJ5IGVuYWJsaW5nIGFuIHVwc3RyZWFtIGJ1aWxkIGZs YWcgdGhhdCBpcyBvZmYgYnkgZGVmYXVsdC4NCj4gPg0KPiA+IEkgdW5kZXJzdGFuZCB5b3VyIHNl bnRpbWVudCwgYnV0IEkgZG9uJ3Qgc2VlIGhvdyB0aGlzIGNhbiB3b3JrLiBMZXQncw0KPiA+IHNh eSBGZWRvcmEgaGFzIGEgZml4ZWQgR1JVQiAoSSBoYXZlIG5vIGlkZWEgaWYgdGhpcyBpcyB0aGUg Y2FzZSksIHNvDQo+ID4gdGhleSBoYXZlIGEgZnVsbHktTlgnZCBlZGsyLiBUaGVuIHNvbWVvbmUg dHJpZXMgdG8gYm9vdCBVYnVudHUgMjIuMDQgLQ0KPiA+IGl0IGNyYXNoZXMgYmVjYXVzZSBVYnVu dHUncyBHUlVCIGlzIGJvcmtlZDsgd2hhdCBub3c/IEkgZG9uJ3Qga25vdyBpZg0KPiA+IHRoaXMg Y2FzZSBpcyBzdXBlciBwcmV2YWxlbnQgaW4gdmlydHVhbGl6YXRpb24sIGJ1dCBpdCdzIGRlZmlu aXRlbHkgYQ0KPiA+IHByb2JsZW0gKGFuZCBpdCBzZWVtcyB0byBoYXZlIGhhcHBlbmVkIHRvIG9z eSBoZXJlPykuDQo+ID4NCj4gPiBJIGFncmVlIHRoYXQgdHVybmluZyBvZmYgTlggc3Vja3MsIGJ1 dCBzbyBkb2VzIG5vdCBiZWluZyBhYmxlIHRvIGJvb3QNCj4gPiBpbnRvIGRpc3Ryb3MgYXMgcmVj ZW50IGFzIFVidW50dSAyMi4wNC4gSXQgbWlnaHQgYmUgdGhhdCBhIHNpbmdsZQ0KPiA+IFNsZWVw KDEwKTsgKyAgYSBuaWNlIGxvdWQgZXJyb3IgbWVzc2FnZSBnZXRzIHRoZSBpZGVhIGFjcm9zcz8g bWF5YmUNCj4gPiBvdmVyIGEgc3RhYmxlIHRhZyBvciBzbywgdGhlbiB3ZSByZW1vdmUgdGhlIGhh Y2sgYW5kIGFkZCBmdWxsLU5YLiBXaGF0DQo+ID4gZG8geW91IHRoaW5rPw0KPiA+DQo+IA0KPiBJ IGFncmVlIHdpdGggQXJkIGhlcmUuIElmIG90aGVyIHNvZnR3YXJlIGlzIGJ1Z2d5IGFuZCBvdXRk YXRlZCwgb3VyDQo+IGdlbmVyYWwgYXBwcm9hY2ggc2hvdWxkIGJlIGZpeCB5b3VyIG91dGRhdGVk IGFuZCBidWdneSBzb2Z0d2FyZSwNCj4gZXNwZWNpYWxseSB3aGVuIHRoZXJlIGFyZSBzZWN1cml0 eSBhbmQgc2FmZXR5IGltcGxpY2F0aW9ucyB0byBiZW5kaW5nDQo+IGJhY2t3YXJkcyBmb3IgYnJv a2VuIGNvZGUuDQo+IA0KPiBBIGRvd25zdHJlYW0gcGxhdGZvcm0gbWF5IHdlbGwgbmVlZCB0byBz dXBwb3J0IGJ1Z2d5IE9TZXMsIGV0Yy4gZm9yIHRoZQ0KPiBsaWZlc3BhbiBvZiB0aGUgZGV2aWNl LCBidXQgdXBzdHJlYW0gZWRrMiBpcyBub3QgdGhlIHJpZ2h0IHBsYWNlIHRvIGFkZA0KPiBoYWNr cyBmb3IgYnVnZ3kgZXh0ZXJuYWwgc29mdHdhcmUuIGVkazIgaXMgb3VyIG9wcG9ydHVuaXR5IHRv IGRvIHRoZQ0KPiByaWdodCB0aGluZyBhbmQgaGVscCBlbmNvdXJhZ2UgdGhlIGNvbW11bml0eSB0 byB0aGUgcmlnaHQgcGxhY2UuDQo+IA0KPiBXaGVuIGRpc3Ryb3MgaGF2ZSB0aGUgbWFpbnRlbmFu Y2UgYnVyZGVuIG9mIHdvcmtpbmcgd2l0aCBkb3duc3RyZWFtDQo+IHBsYXRmb3JtcyB0byBzdXBw b3J0IHRoZWlyIGxhY2sgb2YgdXBkYXRpbmcgZ3J1YiBldGMuLCB0aGV5IG1heSBkZWNpZGUNCj4g aXQgaXMgd29ydGh3aGlsZSB0byBhY3R1YWxseSB1cGRhdGUgZ3J1Yi4uLg0KPiANCj4gVGhhbmtz LA0KPiBPbGl2ZXINCj4gDQo+IA0KPiANCj4gDQoNCg==