From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6F284C43600 for ; Mon, 19 Apr 2021 22:55:49 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 4BBF6613AF for ; Mon, 19 Apr 2021 22:55:49 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230035AbhDSW4S (ORCPT ); Mon, 19 Apr 2021 18:56:18 -0400 Received: from mail-bn8nam11on2049.outbound.protection.outlook.com ([40.107.236.49]:32992 "EHLO NAM11-BN8-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229723AbhDSW4R (ORCPT ); Mon, 19 Apr 2021 18:56:17 -0400 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=F/0CpuIrQou6REnxYXKs7npvuvQlfL1gWyKlHuE1gVYSORueaZZGP4tg+lc/O3+8MsT0xHHCOTi10A/xHxE/f0ozwsPUTcNfA1ANxQ3m5DAVyMwdjapbI8ODSulyfToMXkM3eDMp+6pxf6V4EvIjEUkAwM0poDG6ScPUvUzx5PeI+/bokm69uTBdCnZXhN5gbret4pKUh/CrIf1jqRP6olGtlcOGf3orhuf5mrvCNopexxCsCxw35pMlVaXpvUQoGxuIF2qpHhMJoPZH8ZyMNKLuinETOEyer4mETijdpN0YKryzk9Yujc6lPTe1XNV7dHcrbQiB+0ZCq0ozDViOSQ== 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=EWpu43a6px105GIUaNH2HUnqBN/LkWZbFVRrPjYXGTg=; b=iMhSssmtCDa8q3GjsyEsNj9NU8yEcLrIx34PKb6rVm60z0pJdOLnJyu4mLNzfuKsDu6HZNOYbmFtxou/K877U+hMrwNH4apgFz+iulaoYoPi2uLt0tk2YQFbzzHCxEElDUaL7vcY3Wxqymr5zSz4BwLv27WmU9FC9KHJUFKp4vcvA3rhLSKkUVFilhPBuXND1aMCn+NA33QHK05dToyL0ihaw7t8bcPjs39CK7ae5BiXihcu3kzJNtUY4ddxJiEft5XvcH13pkV3uyS6EamoMBCeypW/O+OiY80/6vOVxkXqwTpRrhATTFHfsmBFA4wMutLJJnYbLPzIn9Qw381y2g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nvidia.com; dmarc=pass action=none header.from=nvidia.com; dkim=pass header.d=nvidia.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Nvidia.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=EWpu43a6px105GIUaNH2HUnqBN/LkWZbFVRrPjYXGTg=; b=PdAZgAnwt0MC/DJD78xNuKoZLZVdYtWKtler3H3W9NAIygUxUVRnfQvmIwpuuBPiQTXoUsMWcVOonr3osfcWFGatm6SlVlsPrBM1ErFg4Sd3gfPwZ6AuJaLC1SAOoG/6T/zhui9qavA6dMP8QBqS4qnMHg34GEYqYpkTYSdkMp7D+mN+mQOiTbI4PJtObJtB1DrsInVoq4hYy9ILpCxc3zzy+vOFKOIv2B4WZeIAA7Q8v9m7OxPQP5qJU13QkY76D3QvZaZJcSdQUaF2ZPOyLRPMzA+m2NsgmhwV9Uo6qNi3t1Ucxz4YVNKSey4jf+yU1MSdxIPX8zrKqopy2zEpdA== Received: from BL0PR12MB2532.namprd12.prod.outlook.com (2603:10b6:207:4a::20) by MN2PR12MB4517.namprd12.prod.outlook.com (2603:10b6:208:267::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4042.16; Mon, 19 Apr 2021 22:55:43 +0000 Received: from BL0PR12MB2532.namprd12.prod.outlook.com ([fe80::5105:e8df:9631:bf0f]) by BL0PR12MB2532.namprd12.prod.outlook.com ([fe80::5105:e8df:9631:bf0f%5]) with mapi id 15.20.4042.024; Mon, 19 Apr 2021 22:55:43 +0000 From: Vikram Sethi To: "Williams, Dan J" , "linux-cxl@vger.kernel.org" , "linux-acpi@vger.kernel.org" CC: "Natu, Mahesh" , "Jonathan.Cameron@huawei.com" , "Douglas, Chet R" , "Verma, Vishal L" , "Widawsky, Ben" , Samer El-Haj-Mahmoud , Thanu Rangarajan Subject: RE: [ACPI Code First ECN v2]: Generic Port, performace data for hotplug memory Thread-Topic: [ACPI Code First ECN v2]: Generic Port, performace data for hotplug memory Thread-Index: AQHXLcst0OqV1gbZbka3uZ3UykiE86q3on2w Date: Mon, 19 Apr 2021 22:55:43 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: intel.com; dkim=none (message not signed) header.d=none;intel.com; dmarc=none action=none header.from=nvidia.com; x-originating-ip: [12.97.180.36] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a91c3bc0-38bc-49bc-a1ce-08d90386432b x-ms-traffictypediagnostic: MN2PR12MB4517: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:10000; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VOiIZ7Zce7Kmpfm61XhsNAIe4+4ZdVXWE46JB/0j/l5D1KcaYmfMGXtm2Gnp+lX6O8kf16YfLCcAEu92a5uJX0JitK/Pi/W3TFYRTZzx3/X8vTRZUQxHlZ2aZg8BtLo/6lyvhTWSzs4Cx5tf++tAPGKnOIn/grrx1nH9nY/khTF7RrRTNTovaKFLR3/Rhq7TgTNeVqgNXag4ijb5BuyRAewbjeHo+sp46p1y/R2gHKyTF5hkwInh+cY0gQyBBI7wHFDHts/uWvsathN+Ls61BYgTyPWQz+1MnpzzL8FRahR9lX9po0t9WPZuupX210q7Yi1fVldCmsWmCM4Ryymk2q+wDxtbGms7k9u54vEkBJkF14DDVTTJBii33QdKJKkHhwZplm3At1XratdihpnFpAXeGNANjKHtLEq7qILgZy6FMBZfxyh3IC4guKw7ohCkPWOPv6pnu9MKpBMsnq/O0nm5zK5jFvM6AugUdKulR3+Wl0c8KD5McotdULetCG6pKjbjFEZDSgiu7p4926Mxe+jOg8tWG20eEQ74mh831bKDT4MwhXOI7LFijkZBkpGmrAlojHUaSPVlBqXsSMkqI9a2q4thBg1S1TGBm9kx4hS6aUdxrqvBuXYCPRa6q+9QnVPsUjakH23ljl7zWlT+kxZB2sbVa4VCN+Dnqcp3xEFOEQSm6tU8hSDXTKMaMXMsjSZiq5mYM5LPbAq3wvqNO5RigEKbQhLU2f7pwX83pAA= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:BL0PR12MB2532.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(346002)(376002)(39860400002)(396003)(366004)(136003)(71200400001)(26005)(4326008)(54906003)(52536014)(122000001)(186003)(38100700002)(33656002)(8936002)(8676002)(2906002)(7696005)(478600001)(55016002)(64756008)(110136005)(6506007)(316002)(9686003)(66446008)(5660300002)(66946007)(66476007)(86362001)(83380400001)(7416002)(76116006)(66556008)(41533002);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?VU9FV2dBb0U3NnpVSk0xWHF0MldkRHYrYUZCTFRTUVlLRHFOVUhyY1dEN3NF?= =?utf-8?B?M09lMmNYMFM2bE92QTcvTWFlRTNTcEZrbThtNUppUHlFK25VYmdzME9FYUtG?= =?utf-8?B?L1p0UmQ5VzVzeDkxUWRGUjgvRmhCY1VEaFVwcllRU0dnTno0NDR6Wk1wTmdR?= =?utf-8?B?WlhFTXNWQ0NlcGVXbXdESk9jc2Vuc0FBZmRtQmZqNVhwOFhpL1dqT2NLbndS?= =?utf-8?B?VWpabXBaOG84aWdTMVg0TmVVM2g3ejNNejNhRXc0RXRGeGVKblNPTFQzWFJS?= =?utf-8?B?UTdndEVjbUhDbEg1T0k0VGlaaHIzLzNqcEw2VWZhVncwdWhwSHRDams0Mkh6?= =?utf-8?B?Y3A3My9FVHp4OHVrWnV1U2ZYSDZYL0ZVc1cvWFcvZ1N0Z0VFZ0doYnN5emV1?= =?utf-8?B?dWk3VEpoM29GL3V2VzNnOFZLZGJnZFkyZlJyRm5LSmxZWUZhdVJWWjJiM0pl?= =?utf-8?B?MUhEb3Rrb3BNRjFJanlIR0x4YjJCVU5ZUTFEaEFLTTRGa21pamkyNjYyZUhC?= =?utf-8?B?TGg3WkgrK2JVMnRPazA5ejNmUWV1UDBFNjdQOGNqSUpkV1lDWElZaE9ldGNY?= =?utf-8?B?MXNpRENwb0N1L3Bkd0I3TmZZVStrU3FZNXFxaUI0Ty9SL2VRa0dwQ3hnNFFs?= =?utf-8?B?Q1BCUVFydkFCUytoZ05vOVFVRHluYml2L0tiVEdtWnRHYlVmYjJXYkltb3pK?= =?utf-8?B?NExrVytRUWE1Rm1za0RJWHdtSWN4L2JWbmZObTlrd1FSWERSS1BuYmROM3Jq?= =?utf-8?B?aFlYTDZ2WHNZK21mVTBKTGZCSjVZUmplcXZvbGFlY3FreGh5OVhHOE9nNDh0?= =?utf-8?B?THNSeTQ3UWZraGp5ZmdJNlJmZUYvSnFJSFZ5Y0xRUFA3RlpMT05jUmxHcnlo?= =?utf-8?B?RDhxc3Zwc0lvSTk3MTZlRlZzZ0g1cU1tS3F1RnhISFFweUdSZ0lpWFFZS1lx?= =?utf-8?B?TStucXZNelBBWjJPZERtalV5ZXZNNGhnZFFHZ0lYRnVsV1RHZEpVbUdLWGQ5?= =?utf-8?B?Z3BTZWVVMGplNXBzVU0yYjA3N0NLUjVaYmNPbHBtdmxWSTNqYWRZYWd5MW1a?= =?utf-8?B?WXV4WHAzckU2QlZ5ejRSSElJbGZ1QUEvQ0dXRU1DZHhRbXJ6UGptRGNjU0Fp?= =?utf-8?B?MFE0NSsyMk04RlplV2xxaXlnbWE5QWFlVURiVnd0dFhzMmNFLzFRNHdTcnpY?= =?utf-8?B?VWlrM1djMEovQjlRc2FXdTFmcnhEMndFaFVYMEFpZjF6Mi8wYnpiTUh6WlZP?= =?utf-8?B?WHVOK3NnVEZrZVdpb1RiMG1KdGwzTXQwMWFrYythVDd4RkpTenlqQk1nU0pw?= =?utf-8?B?cEJsYzJYWXRRS2hFZHRGV0dTcnNkaENHaVNJZTE2MGlrbnd3K0VRemkvZksr?= =?utf-8?B?Sjh6OGxUNmZPaWQ5c09KWTVkb1pONDhIVUcyL2tGdDlRU0MyK1FsWDNjZ2Mx?= =?utf-8?B?V0hwVVd5Q2RRU1h0Q2RMOWxWMGpIV1REOVFnQjJ0L3FFUmVXMlFjOFVVZVdH?= =?utf-8?B?dXhtTVBscFY0RlNuQzR5Z1dtUXprZ3lDNTgvR3lTTEpCWW9NNUROQUxjdElJ?= =?utf-8?B?N3I0VjE1dmljd3BxQkQ1dzVNT0F4RXFPcU9yTXZ4QkJIU2ZHZ1lMNXNZZy9m?= =?utf-8?B?MjNpUzBuVHZMcGVvVzJrWEJrSzZhdDlkYmRhN1hvM2d5eUJiN1VBNTdueE95?= =?utf-8?B?L2VBTHVqWWQvK0YzZVVKeHJEQ0ZCVnNBVWowUnIzNGdtRlMwelV6VFpyNkZO?= =?utf-8?Q?NUeNAFZ+DCg1OvhU5l3/1vQ+SV4l5e9N6aVlbR1?= x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Nvidia.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: BL0PR12MB2532.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: a91c3bc0-38bc-49bc-a1ce-08d90386432b X-MS-Exchange-CrossTenant-originalarrivaltime: 19 Apr 2021 22:55:43.4611 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 43083d15-7273-40c1-b7db-39efd9ccc17a X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: mSfr2Y3vpOghXk1PX8FZpbvaS8sxNY56QIySQlEVyzTaihL2CttTiY7IH1FJJ2Nat9Ny8+lSXgBe9SIcM2fqIw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR12MB4517 Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org SGkgRGFuLCANCj4gRnJvbTogV2lsbGlhbXMsIERhbiBKIDxkYW4uai53aWxsaWFtc0BpbnRlbC5j b20+DQo+IFdoaWxlIHRoZSBwbGF0Zm9ybSBCSU9TIGlzIGFibGUgdG8gZGVzY3JpYmUgdGhlIHBl cmZvcm1hbmNlDQo+IGNoYXJhY3RlcmlzdGljcyBvZiBDWEwgbWVtb3J5IHRoYXQgaXMgcHJlc2Vu dCBhdCBib290LCBpdCBpcyB1bmFibGUgdG8NCj4gc3RhdGljYWxseSBlbnVtZXJhdGUgdGhlIHBl cmZvcm1hbmNlIG9mIENYTCBtZW1vcnkgaG90IGluc2VydGVkDQo+IHBvc3QtYm9vdC4gVGhlIE9T IGNhbiBlbnVtZXJhdGUgbW9zdCBvZiB0aGUgY2hhcmFjdGVyaXN0aWNzIGZyb20gbGluaw0KPiBy ZWdpc3RlcnMgYW5kIENEQVQsIGJ1dCB0aGUgcGVyZm9ybWFuY2UgZnJvbSB0aGUgQ1BVIHRvIHRo ZSBob3N0DQo+IGJyaWRnZSwgZm9yIGV4YW1wbGUsIGlzIG5vdCBlbnVtZXJhdGVkIGJ5IFBDSUUg b3IgQ1hMLiBJbnRyb2R1Y2UgYW4NCj4gQUNQSSBtZWNoYW5pc20gZm9yIHRoaXMgcHVycG9zZS4N Cj4gDQo+IC0tLQ0KPiANCj4gIyBUaXRsZTogSW50cm9kdWNlIGEgR2VuZXJpYyBQb3J0IGZvciBo b3RwbHVnIG1lbW9yeSBidXNlcyBsaWtlIENYTA0KPiANCj4gIyBTdGF0dXM6IERyYWZ0IHYyDQo+ IA0KPiAjIERvY3VtZW50OiBBQ1BJIFNwZWNpZmljYXRpb24gNi40DQo+IA0KPiAjIExpY2Vuc2UN Cj4gU1BEWC1MaWNlbnNlIElkZW50aWZpZXI6IENDLUJZLTQuMA0KPiANCj4gIyBTdWJtaXR0ZXI6 DQo+ICogU3BvbnNvcjogRGFuIFdpbGxpYW1zLCBJbnRlbA0KPiAqIENyZWF0b3JzL0NvbnRyaWJ1 dG9yczoNCj4gICAgICogTWFoZXNoIE5hdHUsIEludGVsDQo+ICAgICAqIENoZXQgRG91Z2xhcywg SW50ZWwNCj4gICAgICogRGVlcGFrIFNoaXZha3VtYXIsIEludGVsDQo+ICAgICAqIEpvbmF0aGFu IENhbWVyb24sIEh1YXdlaQ0KPiANCj4gIyBDaGFuZ2VzIHNpbmNlIHYxDQo+ICAgKiBSZW5hbWUg R2VuZXJpYyBUYXJnZXQgdG8gR2VuZXJpYyBQb3J0IGFuZCBtYWtlIGEgbmV3IGRpc3RpbmN0IFNS QVQNCj4gICAgIHR5cGUgaW5kZXBlbmRlbnQgb2YgR2VuZXJpYyBJbml0aWF0b3IgKEpvbmF0aGFu KQ0KPiAgICogQ2xhcmlmeSB0aGF0IHRoaXMgbmV3ICJQb3J0IiBjb25jZXB0IGlzIG5vdCBsaW1p dGVkIHRvIENYTC4gSXQgaXMgYQ0KPiAgICAgZ2VuZXJpYyB3YXkgdG8gZGVzY3JpYmUgdGhlIHBl cmZvcm1hbmNlIG9mIHN0YXRpYyBwYXRocyB0bw0KPiAgICAgZHluYW1pY2FsbHkgYWRkZWQgc3lz dGVtIG1lbW9yeSAoTWFoZXNoKQ0KPiANCj4gIyBTdW1tYXJ5IG9mIHRoZSBDaGFuZ2UNCj4gSW50 cm9kdWNlIGEgbmV3ICJHZW5lcmljIFBvcnQiIHR5cGUgdG8gdGhlIFNSQVQgdG8gZGVzY3JpYmUg dGhlDQo+IHBlcmZvcm1hbmNlIGZyb20gQ1BVIGFuZCBvdGhlciBpbml0aWF0b3IgZG9tYWlucyB0 byB0aGUgcm9vdCBvZiBhIENYTA0KPiB0b3BvbG9neSwgb3IgYW55IG90aGVyIHRvcG9sb2d5IHRo YXQgbWlnaHQgZHluYW1pY2FsbHkgYWRkIHN5c3RlbSBtZW1vcnkNCj4gYmVoaW5kIHRoZSAiUG9y dCIuIFRoaXMgaXMgaW4gc3VwcG9ydCBvZiwgYnV0IG5vdCBsaW1pdGVkIHRvLCB0aGUgT1MNCj4g YmVpbmcgYWJsZSB0byBlbnVtZXJhdGUgdGhlIHBlcmZvcm1hbmNlIHRvcG9sb2d5IGZvciBkeW5h bWljYWxseSBhZGRlZCAvDQo+IGRpc2NvdmVyZWQgQ1hMIE1lbW9yeSBEZXZpY2UgZW5kcG9pbnRz Lg0KPiANCj4gIyBCZW5lZml0cyBvZiB0aGUgQ2hhbmdlDQo+IENvbnNpZGVyIHRoZSBjYXNlIG9m IGEgc3lzdGVtIHdpdGggYSBzZXQgb2YgQ1hMIEhvc3QgQnJpZGdlcyAoQUNQSTAwMTYpLA0KPiBh bmQgc29tZSBlbmRwb2ludHMgYXR0YWNoZWQgYXQgYm9vdC4gSW4gdGhhdCBzY2VuYXJpbyB0aGUg cGxhdGZvcm0NCj4gZmlybXdhcmUgaXMgYWJsZSB0byBlbnVtZXJhdGUgdGhvc2UgZGV2aWNlcywg ZW51bWVyYXRlIGFuZCBtYXAgQ1hMDQo+IG1lbW9yeSBpbnRvIHRoZSBzeXN0ZW0gcGh5c2ljYWwg bWVtb3J5IGFkZHJlc3Mgc3BhY2UsIGFuZCBnZW5lcmF0ZSB0aGUNCj4gdHlwaWNhbCBzdGF0aWMg U1JBVC9TTElUL0hNQVQgc2V0IG9mIHRhYmxlcyBkZXNjcmliaW5nIENYTCBhdHRhY2hlZA0KPiBt ZW1vcnkuIE5vdywgY29uc2lkZXIgdGhlIGNhc2Ugd2hlcmUgZGV2aWNlcyBhcmUgZHluYW1pY2Fs bHkgYWRkZWQgYW5kDQo+IGVudW1lcmF0ZWQgcG9zdCBib290LCBpLmUuIHBvc3QgZ2VuZXJhdGlv biBvZiB0aGUgc3RhdGljIG1lbW9yeSB0YWJsZXMuDQo+IEluIHRoaXMgc2NlbmFyaW8gcGxhdGZv cm0gZmlybXdhcmUgaXMgdW5hYmxlIHRvIHBlcmZvcm0gdGhlIGVuZC10by1lbmQNCj4gZW51bWVy YXRpb24gbmVjZXNzYXJ5IHRvIHBvcHVsYXRlIFNSQVQgYW5kIEhNQVQgZm9yIHRoZSBlbmRwb2lu dHMgdGhhdA0KPiBtYXkgYmUgaG90LWluc2VydGVkIGJlaGluZCB0aG9zZSBicmlkZ2VzIHBvc3Qg cG93ZXItb24uIFRoZQ0KPiBhZGRyZXNzLXJhbmdlIGlzIHVua25vd24gc28gU1JBVCBjYW4gbm90 IGJlIHByZS1wb3B1bGF0ZWQgaW4gdGhlIHR5cGljYWwNCj4gd2F5IHRoYXQgaG90cGx1ZyBzeXN0 ZW0gbWVtb3J5IGlzIGVudW1lcmF0ZWQuIEV2ZW4gaWYgYSBzdGF0aWMgYWRkcmVzcw0KPiByYW5n ZSB3YXMgc2V0IGFzaWRlIGZvciBmdXR1cmUgaG90cGx1ZyB0aGUgcGVyZm9ybWFuY2UgaXMgdW5r bm93biAobm8NCj4gQ0RBVCBub3IgaW50ZXJsZWF2ZSBjb25maWd1cmF0aW9uKSBzbyBITUFUIGNh biBub3QgYmUgcHJlLXBvcHVsYXRlZC4NCj4gDQo+IEhvd2V2ZXIsIHdoYXQgaXMga25vd24gdG8g cGxhdGZvcm0gZmlybXdhcmUgdGhhdCBnZW5lcmF0ZXMgdGhlDQo+IFNSQVQvU0xJVC9ITUFUIGFu ZCBpcyB0aGUgcGVyZm9ybWFuY2UgY2hhcmFjdGVyaXN0aWNzIG9mIHRoZSBwYXRoDQo+IGJldHdl ZW4gQ1BVIGFuZCBHZW5lcmljIEluaXRpYXRvcnMgdG8gdGhlIEdlbmVyaWMgUG9ydCAoZS5nLiBD WEwgSG9zdA0KPiBCcmlkZ2UpLiBXaXRoIHRoZSBhZGRpdGlvbiBvZiBhIEdlbmVyaWMgUG9ydCBw cm94aW1pdHkgZG9tYWluIHRvIHRoZQ0KPiBTUkFUIHRoZW4gdGhlIFNMSVQgYW5kIEhNQVQgY2Fu IGVudW1lcmF0ZSB0aGUgcGxhdGZvcm0tc3RhdGljIGNvbXBvbmVudA0KPiBvZiBhIGdpdmVuIGVk Z2UgaW4gdGhlIHBsYXRmb3JtLXBlcmZvcm1hbmNlIHRvcG9sb2d5IGdyYXBoLiBJdCBlbmFibGVz DQo+IHRoZSBPUyB0byBidWlsZCBvdXQgYSBwZXJmb3JtYW5jZSBtYXBwaW5nIGZvciBzeXN0ZW0g bWVtb3J5IGFkZHJlc3MNCj4gcmFuZ2VzIGR5bmFtaWNhbGx5IGRpc2NvdmVyZWQsIG9yIHByb3Zp c2lvbmVkLCBiZWhpbmQgYSBHZW5lcmljIFBvcnQuDQo+IFRoZSBPUyBtYXBwaW5nIHRha2VzIGlu dG8gYWNjb3VudCB0aGUgR2VuZXJpYyBQb3J0IHBlcmZvcm1hbmNlIChhcw0KPiBlaXRoZXIgYW4g aW5pdGlhdG9yIG9yIGEgdGFyZ2V0KSwgdGhlIGludGVybGVhdmUgY29uZmlndXJhdGlvbiwgYW5k IHRoZQ0KPiBidXMgZW51bWVyYWJsZSBwZXJmb3JtYW5jZSBjaGFyYWN0ZXJpc3RpY3MgKGxpbmsg bGF0ZW5jeSwgYmFuZHdpZHRoLA0KPiBzd2l0Y2ggdHJhdmVyc2FscykgdG8gc3VwcGxlbWVudCB0 aGUgc3RhdGljIEhNQVQgZGF0YSBlbnVtZXJhdGVkIGF0DQo+IGJvb3QuDQo+IA0KPiAjIEltcGFj dCBvZiB0aGUgQ2hhbmdlDQo+IEEgbmV3IFNSQVQgdHlwZSByZXF1aXJlcyBub24tY29uZm9ybWlu ZyBzeXN0ZW0gc29mdHdhcmUgdG8gaWdub3JlIHRoZQ0KPiBuZXcgdHlwZSBpbiB0aGUgU1JBVCwg aWdub3JlIGFueSBjb29yZGluYXRlIGluIHRoZSBTTElUIHRoYXQgaW5jbHVkZXMNCj4gdGhlIGFz c29jaWF0ZWQgcG9ydCdzIHByb3hpbWl0eSBkb21haW4sIGFuZCBpZ25vcmUgYW55IGNvb3JkaW5h dGUgaW4gdGhlDQo+IEhNQVQgdGhhdCBpbmNsdWRlcyB0aGUgcG9ydCdzIHByb3hpbWl0eSBkb21h aW4gYXMgZWl0aGVyIGFuIGluaXRpYXRvciBvcg0KPiBhIHRhcmdldC4NCj4gDQo+IEluIGNvbnRy YXN0LCBjb25mb3JtaW5nIHN5c3RlbSBzb2Z0d2FyZSBuZWVkIG9ubHkgY29uc3VsdCB0aGUgR2Vu ZXJpYw0KPiBQb3J0IGRhdGEgdG8gb3B0aW9uYWxseSBleHRlbmQgdGhlIGVudW1lcmF0aW9uIGFu ZCBkaXN0aW5ndWlzaCBQb3J0DQo+IGF0dGFjaGVkIGluaXRpYXRvcnMgYW5kIG1lbW9yeSB0YXJn ZXRzIGZyb20gdGhlIGV4aXN0aW5nIHNldCBvZg0KPiBlbnVtZXJhdGVkIHByb3hpbWl0eSBkb21h aW5zLg0KPiANCj4gQSBjb25mb3JtaW5nIGltcGxlbWVudGF0aW9uIGFsc28gaGFzIHRoZSBvcHRp b24gdG8gaWdub3JlIHRoZSBHZW5lcmljIFBvcnQNCj4gY29udHJpYnV0aW9uIHRvIHRoZSBwZXJm b3JtYW5jZSwNCj4gDQo+IGluIGVpdGhlciBhIHJvdywgb3IgY29sICB0byBiZSBjb25zaWRlcmVk IGJ5IHN5c3RlbSBzb2Z0d2FyZSB0aGF0IHBhcnNlcw0KPiBTUkFULCBTTElULCBhbmQgSE1BVC4g R2l2ZW4gdGhhdCB0aGUgT1Mgc3RpbGwgbmVlZHMgdG8gZHluYW1pY2FsbHkNCj4gZW51bWVyYXRl IGFuZCBpbnN0YW50aWF0ZSB0aGUgbWVtb3J5IHJhbmdlcyBhbmQgaW5pdGlhdG9ycyBiZWhpbmQg dGhlDQo+IEdlbmVyaWMgUG9ydC4gVGhlIGFzc3VtcHRpb24gaXMgdGhhdCBvcGVyYXRpbmcgc3lz dGVtcyB0aGF0IGRvIG5vdA0KPiBzdXBwb3J0IG5hdGl2ZSBDWEwgZW51bWVyYXRpb24gd2lsbCBp Z25vcmUgdGhpcyBkYXRhIGluIHRoZSBITUFULCB3aGlsZQ0KPiBDWEwgbmF0aXZlIGVudW1lcmF0 aW9uIGF3YXJlIGVudmlyb25tZW50cyB3aWxsIHVzZSB0aGlzIGZyYWdtZW50IG9mIHRoZQ0KPiBw ZXJmb3JtYW5jZSBwYXRoIHRvIGNhbGN1bGF0ZSB0aGUgcGVyZm9ybWFuY2UgY2hhcmFjdGVyaXN0 aWNzLg0KPiANCj4gIyBSZWZlcmVuY2VzDQo+ICogQ29tcHV0ZSBFeHByZXNzIExpbmsgU3BlY2lm aWNhdGlvbiB2Mi4wLA0KPiA8aHR0cHM6Ly93d3cuY29tcHV0ZWV4cHJlc3NsaW5rLm9yZy8+DQo+ IA0KPiAjIERldGFpbGVkIERlc2NyaXB0aW9uIG9mIHRoZSBDaGFuZ2UNCj4gDQo+ICogU2VjdGlv biA1LjIuMTYgU3lzdGVtIFJlc291cmNlIEFmZmluaXR5IFRhYmxlIChTUkFUKSBhZGQgYW5vdGhl cg0KPiAgIGJ1bGxldCBmb3IgR2VuZXJpYyBQb3J0czoNCj4gDQo+ICAgICAgICAgKiBnZW5lcmlj IHBvcnRzIChlLmcuIGhvc3QgYnJpZGdlcyB0aGF0IGNhbiBkeW5hbWljYWxseSBkaXNjb3Zlcg0K PiAgICAgICAgICAgbmV3IGluaXRpYXRvcnMgYW5kIGluc3RhbnRpYXRlIG5ldyBtZW1vcnkgcmFu Z2UgdGFyZ2V0cykNCj4gDQo+ICogQWRkIG5ldyBzZWN0aW9uIDUuMi4xNi43IEdlbmVyaWMgUG9y dCBBZmZpbml0eSBTdHJ1Y3R1cmU6DQo+ICAgVGhlIEdlbmVyaWMgUG9ydCBBZmZpbml0eSBTdHJ1 Y3R1cmUgcHJvdmlkZXMgYW4gYXNzb2NpYXRpb24gYmV0d2VlbiBhDQo+ICAgcHJveGltaXR5IGRv bWFpbiBudW1iZXIgYW5kIGEgZGV2aWNlIGhhbmRsZSByZXByZXNlbnRpbmcgYSBHZW5lcmljDQo+ ICAgUG9ydCAoZS5nLiBDWEwgSG9zdCBCcmlkZ2UsIG9yIHNpbWlsYXIgZGV2aWNlIHRoYXQgaG9z dHMgYSBkeW5hbWljDQo+ICAgdG9wb2xvZ3kgb2YgbWVtb3J5IHJhbmdlcyBhbmQvb3IgaW5pdGlh dG9ycykuDQo+IA0KPiAgIFN1cHBvcnQgb2YgR2VuZXJpYyBQb3J0IEFmZmluaXR5IFN0cnVjdHVy ZXMgYnkgYW4gT1NQTSBpcyBvcHRpb25hbC4NCj4gDQo+ICogQWRkIGEgdGFibGUgZGVzY3JpYmlu ZyB0aGUgR2VuZXJpYyBQb3J0IEFmZmluaXR5IFN0cnVjdHVyZSAoVGFibGUNCj4gICA1Lnh4KToN Cj4gDQo+IA0KPiB8IEZpZWxkICB8IEJ5dGUgTGVuZ3RoIHwgQnl0ZSBPZmZzZXQgfCBEZXNjcmlw dGlvbiAgICAgICAgICAgICAgICAgIHwNCj4gfCA6LS0tLS0gfCA6LS0tICAgICAgICB8IDotLS0g ICAgICAgIHwgOi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8DQo+IHwgVHlwZSAgIHwgMSAg ICAgICAgICAgfCAwICAgICAgICAgICB8IDYgR2VuZXJpYyBQb3J0IFN0cnVjdHVyZSAgICAgfA0K PiB8IExlbmd0aCB8IDEgICAgICAgICAgIHwgMSAgICAgICAgICAgfCAzMiAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwNCj4gfCBSZXNlcnZlZCB8IDEgICAgICAgICB8IDIgICAgICAgICAgIHwg UmVzZXJ2ZWQgYW5kIG11c3QgYmUgemVybyAgICB8DQo+IHwgRGV2aWNlIEhhbmRsZSBUeXBlIHwg MSB8IDMgfCBEZXZpY2UgSGFuZGxlIFR5cGU6IFNlZSA1LjIuMTYuNiBHZW5lcmljIEluaXRpYXRv cg0KPiBBZmZpbml0eSBTdHJ1Y3R1cmUgZm9yIHRoZSBwb3NzaWJsZSBkZXZpY2UgaGFuZGxlIHR5 cGVzIGFuZCB0aGVpciBmb3JtYXQuIHwNCj4gfCBQcm94aW1pdHkgRG9tYWluIHwgNCB8IDQgfCBU aGUgcHJveGltaXR5IGRvbWFpbiB0byBpZGVudGlmeSB0aGUgcGVyZm9ybWFuY2Ugb2YNCj4gdGhp cyBwb3J0IGluIHRoZSBITUFULiB8DQo+IHwgRGV2aWNlIEhhbmRsZSB8IDE2ICAgfCA4ICAgICAg ICAgICB8IERldmljZSBIYW5kbGUgb2YgdGhlIEdlbmVyaWMgUG9ydCwgc2VlIFRhYmxlDQo+IDUu NTcgYW5kIDUuNTggZm9yIGEgZGVzY3JpcHRpb24gb2YgdGhpcyBmaWVsZC4gfA0KPiB8IEZsYWdz ICB8IDQgICAgICAgICAgIHwgMjQgICAgICAgICAgfCBTZWUgdGFibGUgNS41OSBmb3IgYSBkZXNj cmlwdGlvbiBvZiB0aGlzIGZpZWxkLiB8DQo+IHwgUmVzZXJ2ZWQgfCA0ICAgICAgICAgfCAyOCAg ICAgICAgICB8IFJlc2VydmVkIGFuZCBtdXN0IGJlIHplcm8uICAgfA0KPiANCj4gKiBSZXBsYWNl IGFsbCBpbnN0YW5jZXMgb2YgIkluaXRpYXRvciIgd2l0aCAiSW5pdGlhdG9yIC8gUG9ydCIgaW4g IlRhYmxlDQo+ICAgNS41OSBGbGFncyAtIEdlbmVyaWMgSW5pdGlhdG9yIEFmZmluaXR5IFN0cnVj dHVyZSIsIGluY2x1ZGluZyB0aGUNCj4gICB0YWJsZSBuYW1lLg0KDQpJIHdhbnRlZCB0byBkaXNj dXNzIHRoZSBpbXBsaWNhdGlvbnMgb2YgYSBDWEwgaG9zdCBicmlkZ2UgaW1wbGVtZW50YXRpb24g dGhhdCANCmRvZXMgbm90IHNldCB0aGUgIkFyY2hpdGVjdHVyYWwgVHJhbnNhY3Rpb25zIiBiaXQv ZmxhZyBpbiB0aGUgYWZvcmVtZW50aW9uZWQgDQpGbGFncyBpbiBUYWJsZSA1LjU5Lg0KDQpTaW5j ZSB0aGUga2VybmVsIHdvdWxkIGJlIGV4cGVjdGluZyBhbGwgIlN5c3RlbSBSQU0iIHRvIGhhdmUg ZXF1aXZhbGVudCANCkZ1bmN0aW9uYWwgcHJvcGVydGllcywgaWYgSERNIGNhbm5vdCBoYXZlIGFs bCB0aGUgc2FtZSBmdW5jdGlvbmFsaXR5LCB0aGVuIGluDQp0aGUgYWJzZW5jZSBvZiBJU0Egc3Bl Y2lmaWMgQUNQSSB0YWJsZXMgY2xhcmlmeWluZyB3aGF0IGFyY2hpdGVjdHVyYWwgZmVhdHVyZSBp c24ndA0Kc3VwcG9ydGVkLCB0aGUga2VybmVsIG1heSBiZSBmb3JjZWQgdG8gbm90IG9ubGluZSB0 aGUgSERNIG1lbW9yeSBhcyBzeXN0ZW0gDQpSQU0uIElmIHRoZXJlIGlzIG1vcmUgZ3JhbnVsYXIg ZXhwcmVzc2lvbiBvZiB3aGF0IGZlYXR1cmVzIGFyZSBsYWNraW5nIGluIGEgSVNBDQpTcGVjaWZp YyB0YWJsZSAoZWcgTWVtb3J5IFRhZ2dpbmcvTWVtb3J5IFByb3RlY3Rpb24ga2V5cyBub3Qgc3Vw cG9ydGVkKSwNCnRoZSBrZXJuZWwgY291bGQgY2hvb3NlIHRvIG5vdCBlbmFibGUgdGhhdCBmZWF0 dXJlIGluIGFsbCBvZiBzeXN0ZW0gUkFNIChpZiANCmRpc2NyZXBhbmN5IGRpc2NvdmVyZWQgYXQg Ym9vdCksIGJ1dCBzdGlsbCBvbmxpbmUgdGhlIEhETSBhcyBTeXN0ZW0gUkFNLg0KDQpUbyB0aGF0 IGVuZCwgaXQgbWF5IGJlIHVzZWZ1bCB0byBjbGFyaWZ5IHRoaXMgdG8gaG9zdCB2ZW5kb3JzIGJ5 IHdheSBvZiBhbiANCkltcGxlbWVudGF0aW9uIG5vdGUgKGlkZWFsbHkgaW4gdGhlIENYTCBzcGVj aWZpY2F0aW9uKS4gU29tZXRoaW5nIGxpa2U6DQoiQ1hMIGhvc3RzIGFyZSBlbmNvdXJhZ2VkIHRv IHN1cHBvcnQgYWxsIGFyY2hpdGVjdHVyYWwgZmVhdHVyZXMgaW4gSERNIA0KYXMgdGhleSBkbyBp biBDUFUgYXR0YWNoZWQgbWVtb3J5IHRvIGF2b2lkIGVpdGhlciB0aGUgbWVtb3J5IGZyb20gDQpi ZWluZyBvbmxpbmVkIGFzIFN5c3RlbSBSQU0sIG9yIHRoZSBhcmNoaXRlY3R1cmFsIGZlYXR1cmUg YmVpbmcgZGlzYWJsZWQuIA0KSG9zdHMgbXVzdCBpbmRpY2F0ZSBhcmNoaXRlY3R1cmFsIHBhcml0 eSBmb3IgSERNIGluIEFDUEkgU1JBVCANCuKAnEdlbmVyaWMgUG9ydOKAnSBmbGFncyDigJxBcmNo aXRlY3R1cmFsIHRyYW5zYWN0aW9uc+KAnSBiaXQgYnkgc2V0dGluZyBpdCB0byAxLiANCkEgcG9y dCB0aGF0IHNldHMgdGhpcyBiaXQgdG8gMCB3aWxsIG5lZWQgSVNBIHNwZWNpZmljIHdheXMvQUNQ SSB0YWJsZXMgdG8gDQpkZXNjcmliZSB3aGljaCBzcGVjaWZpYyBJU0EgZmVhdHVyZXMgd291bGQg bm90IHdvcmsgaW4gSERNLCBzbyBhbiBPUyANCmNvdWxkIGRpc2FibGUgdGhhdCBtZW1vcnkgb3Ig dGhhdCBmZWF0dXJlLiINCg0KVGhvdWdodHM/DQoNClRoYW5rcywNClZpa3JhbQ0K