From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 65769A0C55; Mon, 6 Sep 2021 18:12:32 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id EEDE3410F0; Mon, 6 Sep 2021 18:12:31 +0200 (CEST) Received: from NAM12-BN8-obe.outbound.protection.outlook.com (mail-bn8nam12on2056.outbound.protection.outlook.com [40.107.237.56]) by mails.dpdk.org (Postfix) with ESMTP id D09B2410ED; Mon, 6 Sep 2021 18:11:10 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=n4oPAEkQjdIMrQLhG7RJF+AlcmQ8xYwuRAnFvhk2kBsfCrlV6YHHWQWOCjkiHjux3vzS2tOs/TLdpsVSzvzA3TNjp0gloD3ed5tbfCL8a+WvaB9ippFYCrf5PP17NHD/0ggQHFKV8VwJ3gQosVsGOV2xfS/EseArvBmdowR2HhFef4TPGqXwHIjQE6SUNvK9L7SCtCNaG99nz7sWLR621Ka9YK2Pbwci7QUdJPu+KyZcHLBunu1aFAp+a4ocOEuM9lR5F9is0moR3AppgvirH2Pqpl/ziiNQPQK7Lg/DoHynHfuDcM6uMiMdluu+RQYgw6nQ9Gks0rvGyFyCYJEzbg== 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; bh=V9YiwZQCJNCvevbKN8DAWQ7STgU6V1ubdHfHiSdBqbo=; b=HRVaRMwpoKQatck8BVa7UUXMqeHBSaXaCA7X4OkAPm1MIZtdDuJlNv00TLgoZrUy49ewwMCUGzrT4avayTNwpXkJEoBoiFIf37E0NmX2910FqWW8yXfTGXaakhrKAFoIIW69TKs74E24U7EkuxB+tSEFjrtu2jcVTv4uFEUZEOy5hIeSW1xcrQZA/AERBUOgVAMKFyC5RjleUKD8FUwFFsP0GOgbrafz/A9AfEzarlCQKm6Gg1CGxr3aon6ma5FGerJeJGErfZKwgE508ikEk4wXwepIoa5AvBa+Rv9BBSGEIPlZhdhsXFcrTLrCcDEgq77C8KsOp0n9yJzvQ/UzTw== 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=V9YiwZQCJNCvevbKN8DAWQ7STgU6V1ubdHfHiSdBqbo=; b=bZ5q2EX4Iny1rAGeoELAcLC5XWF5BUsj+iGL/Xxe+YcZgd1dVj8GovFlBRGCEu/Pm0OCzgta+nN+42N3bA4N0ogQY6fXgRlb9NMkyFg5k/Nli1h8D4WDxdm6vQh/RzKAFsGUiNFLZgaOzK5J9MAjnPnQsXwAcaho6S9tmiRUQcYnU1yB6Kr3fFKOugRfaTgb7QZDRBk1727M1E9ko7ouY5bKst5SoPnrNBAR/MNI8J3Elo8nev6yO+3i3h/gSIb4EDCXUAeS1HO6UFL/fnfTcOu0ir8Cng8E/gsc41iROS4XfHdrR1YAC+aVs0bmdzJ0bI1W60bgKbn938n3RrXHOw== Received: from DM6PR12MB4107.namprd12.prod.outlook.com (2603:10b6:5:218::7) by DM5PR12MB1211.namprd12.prod.outlook.com (2603:10b6:3:79::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.22; Mon, 6 Sep 2021 16:11:07 +0000 Received: from DM6PR12MB4107.namprd12.prod.outlook.com ([fe80::1556:93f2:3c85:3769]) by DM6PR12MB4107.namprd12.prod.outlook.com ([fe80::1556:93f2:3c85:3769%3]) with mapi id 15.20.4478.025; Mon, 6 Sep 2021 16:11:07 +0000 From: Elena Agostini To: Jerin Jacob CC: "Wang, Haiyue" , NBU-Contact-Thomas Monjalon , Jerin Jacob , dpdk-dev , Stephen Hemminger , David Marchand , Andrew Rybchenko , Honnappa Nagarahalli , "Yigit, Ferruh" , "techboard@dpdk.org" Thread-Topic: [dpdk-dev] [RFC PATCH v2 0/7] heterogeneous computing library Thread-Index: AQHXmygsE2g136TDxUCI8rp76gsZ7KuHRToAgAKzFoCABU6M0IABew0AgAZuR2A= Date: Mon, 6 Sep 2021 16:11:07 +0000 Message-ID: References: <20210602203531.2288645-1-thomas@monjalon.net> <2204873.CS8KgQhqXy@thomas> <4431702.ObvnSNnLSN@thomas> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Enabled=True; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SiteId=43083d15-7273-40c1-b7db-39efd9ccc17a; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Owner=eagostini@nvidia.com; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_SetDate=2021-09-06T16:12:07.7259280Z; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Name=Unrestricted; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Application=Microsoft Azure Information Protection; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_ActionId=337119a2-0a5a-44f8-bd40-0cdeb8ea9c7b; MSIP_Label_6b558183-044c-4105-8d9c-cea02a2a3d86_Extended_MSFT_Method=Automatic authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nvidia.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: e363b6dd-d2d0-49e6-3c5c-08d97150ef2f x-ms-traffictypediagnostic: DM5PR12MB1211: x-ld-processed: 43083d15-7273-40c1-b7db-39efd9ccc17a,ExtAddr x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: cCYbLOLWxzRfZCteZCQBPgSBJCze7MvN0tzaUSMLpVe2f7daz30ridNwyX6I/TSNtppp74zDfT5NgYcGvk1knYBgmxkJmhU8tyrGL3d3/w984QS9EfuQ/psG9B6QUGVel6n0ApJmpFsZTkA+yQew4xeALs+I4itEy+K9zMREIh6DRQhBBjV0q8NmD7Y3ai3wqJlkhlKUHxLa+jtRpkdLYtZsuTAKb82yB2rloFuBy1BRgwkaTQs50bIxA1dyUOeiqcemDLG3vk3uIaf0neMub0rOLlgo38pZywRbnoWlmnZAdgoAyYb4g0AewaTQjOYxTrfv5RBhMZiNdBLS6yDqqeVeoWKGW4I6VR6WeUCAoj45aNQEHRvjUyixudlpUi5gHOY7szIqh+g/+drr/EAkmqyoXy0kihq+5o0HMa8+S+dMQXHsTgw5vPeIexamO6cFwkzSChwjVs5KOv0+2rE4xAr67MGHFpXAgGaf0ja+FJ53rwvdmpFm3xT62HS9BZIgqi9VXEijAyFX33RRhS1hCYxMdWzVa4IzQ2/qgeJbE6G8KZiqD7bVGJWl3gtZdTA2omuu1zMMlpI0UcNTA/ZWMvkCG4nQDEB22qbyhg3RYmBncjBGai0bXMrM9Beu/9mabPPajvoUsyzXSxqvJ95ViRqyC6dIi4DGGAG90hkbI4+zdUrPg52VEWrL0Cy/yN6X45G3ur/NvfVBd92SP7V7TGSG1evNlABxLBp5LUJ6qynXPZ37keOTQ4oEoZ2HNOx/6zLHyoewBI9AEOynqhzH1e1hkUz6ScxHDLu9l2kzCys= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DM6PR12MB4107.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(39860400002)(136003)(396003)(376002)(366004)(346002)(5660300002)(53546011)(966005)(30864003)(6916009)(9686003)(33656002)(83380400001)(86362001)(4326008)(38070700005)(8936002)(54906003)(316002)(52536014)(71200400001)(55016002)(8676002)(76116006)(2906002)(478600001)(66946007)(7416002)(66446008)(38100700002)(66556008)(64756008)(7696005)(6506007)(66476007)(122000001)(186003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dVJKbmRsOEVZQ2ZJSUdxa0x1cCttVERUajZRWEUrZGsrMWR4bThRVGZLdjBq?= =?utf-8?B?UWNSRENpaEduUWR5TWYvcm85anBJNElwMjZKSzV3VE9DbzJ0MHBwVjlEWlgx?= =?utf-8?B?LzVuYUhmN3ZyOXVTcytXaTBJQ2ZLVVFGcytITGwzaGE4ZUgzTENNZmNSYTh1?= =?utf-8?B?MjZSSlpWaTJIL0RGUkx0dEtUbjVDZGF5MnE1YW5Md3ZEdHIzTGZ2UU9mbnNL?= =?utf-8?B?MmFwaWFEOXNaMHdXZ1h2UHprSnk0a3czOHJadnArSHpmT1Zwd3lrYTdVcW41?= =?utf-8?B?L1BYdHR2bHVzRFNVOThFTTA3WGFicG53Z2lzVGpOQUVaOEkxYnlZSjJXTitG?= =?utf-8?B?OVlFSVljWXNBNHBHK3hSYzhQUmVZcmdQczQyOGU2dStncFowU1dWS2VoRVpL?= =?utf-8?B?ODlPQVpZV0RWaWYvTi8zNXA1V1VwWXdleVp3aHR4MUpPUEhseE1ReXJjN3lO?= =?utf-8?B?NW9MRVdHc1d5WkxZUHpYZzhsZWxDeHFOcFJMMHFxSnZtdHg4K25QaGw0SFlJ?= =?utf-8?B?ZnJ0eTBia0lvbkFJUUFvRkJuUDRkcTRJNG5TVTFMNGNDRkxPMHpscjFzdzcv?= =?utf-8?B?a3ZtU1hjbnRjVkMzUnREdnJVSWJ1ZGx3SzBYaE5rb3Zua2tYZWdJNlZrY0g4?= =?utf-8?B?cUl3cTcwQ09aL2o1eWovajlGSVduS0NJRGl6VHMyMFB0YWVtZWQ1bXVTWXBu?= =?utf-8?B?TUowMHRBd21ZM2RvdE5rWUdmajNmaGZ0cy9ZSU9rOVgzSHFqMEEySmRUZHpP?= =?utf-8?B?MzQvanl4TXcybFRQVFBmM2pycDQyU0t0RSt1YmV4QllBb0M2bUFWUXU5S3Jv?= =?utf-8?B?bGVTM1VzRHE1OG96S2Nqak81cTJ5dXh5Y0ExZHRQMzRqUFgxSGVDelo4S0VI?= =?utf-8?B?MU1ic2w3ODgwV0FGUTdCL2dXNFNaeFNsMG93aDArc1V6L1FkU0dldCtpd1Y3?= =?utf-8?B?VTFHYkdTcHpySUdBZGFXTktwaVNsWGpOdUNadXZwNXdQOWs2bGsyOHdaSkh1?= =?utf-8?B?QzJJeVBWQnVwU25IcWEwY1VIUVNoQm5ETisxWm9IbHMyMEtuUjlicC90U3Vt?= =?utf-8?B?Qys2YWZEcFIxY3BpeFh3Z1pjempCVCtCa29tbXV6d2UvSE5wMFJvRGlIblRy?= =?utf-8?B?NjQ4NzlSUFVidVc0NDY1TGNoaStxdm9EZUhPRWRzdlppZng1NUJiNUVhZENu?= =?utf-8?B?eHA4U3ZHbHNieGZ3MnZuaXFGZkFOYllOV1BJQjJwaFBaU3NnS2c5QWl0WXlO?= =?utf-8?B?Sktza2t2dUhqL2E0SG96bjVLMndkeGJLWEZsM2ZyTXd0T25KclRyT2lHd0Y5?= =?utf-8?B?Z1FvR0JYcXFBbjNWbE9zdlNSRWRZS0ZSZFJwekhzZHZJSkFkWm9GQnN3eXhu?= =?utf-8?B?dEszcmFXSXBOUndSTEZrTnZ2ekM3dlRxbFA3MHRhZFZiK2lCRGdOZklqeG9S?= =?utf-8?B?dngyS3Q4VGxJOXIrNnlZeTFnK2NBaElTTXNxcG9RN2dvRld6UXd6QlJ1eE9o?= =?utf-8?B?eHdkNk5zVzEzVWxDcktMN0RrMjhkYlo5bnZQdm1DV1dBajZCcnIxdC9XV0Rh?= =?utf-8?B?MUxPWUZWY2VPNXdCRGMwa3REcDl4eGowK3hjNUlIc3lmWTRiN0VnY21tSW9x?= =?utf-8?B?TWxhZ3M3bEhnTXRBRHVKVTV3czlpcnhuajlmM285eW9zZHBmbGxjRjRJVEli?= =?utf-8?B?M2JRQ3BkOUtxdWpIcVpmZDBuM3dhbkFkdUx2MzY1cU14dTFxZkxsdnFrRW5m?= =?utf-8?B?ZnVzSEpkRnlMTUtBQXIwVHpIb2ZzRzhvU2pWTnBkV3ZxZGxWT1ZUK0lwbGdW?= =?utf-8?Q?1whsUdxgVQtE7XrmjnI66+4KwEyWYMUgqwhJc=3D?= 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: DM6PR12MB4107.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: e363b6dd-d2d0-49e6-3c5c-08d97150ef2f X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Sep 2021 16:11:07.1906 (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: qSOjPqGY85Bd7j+sbH/pTSjO3tzzRYbmZ07UhZu9nDnTji4bCaxXJXh6nRS1TGTEUncSfxaLVDeOPytXnuEWoQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR12MB1211 X-Mailman-Approved-At: Mon, 06 Sep 2021 18:12:30 +0200 Subject: Re: [dpdk-dev] [RFC PATCH v2 0/7] heterogeneous computing library X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIFNlcHRlbWJlciAyLCAyMDIx IDM6MTIgUE0NCj4gVG86IEVsZW5hIEFnb3N0aW5pIDxlYWdvc3RpbmlAbnZpZGlhLmNvbT4NCj4g Q2M6IFdhbmcsIEhhaXl1ZSA8aGFpeXVlLndhbmdAaW50ZWwuY29tPjsgTkJVLUNvbnRhY3QtVGhv bWFzDQo+IE1vbmphbG9uIDx0aG9tYXNAbW9uamFsb24ubmV0PjsgSmVyaW4gSmFjb2IgPGplcmlu akBtYXJ2ZWxsLmNvbT47DQo+IGRwZGstZGV2IDxkZXZAZHBkay5vcmc+OyBTdGVwaGVuIEhlbW1p bmdlcg0KPiA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBEYXZpZCBNYXJjaGFuZA0KPiA8 ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IEFuZHJldyBSeWJjaGVua28NCj4gPGFuZHJldy5y eWJjaGVua29Ab2t0ZXRsYWJzLnJ1PjsgSG9ubmFwcGEgTmFnYXJhaGFsbGkNCj4gPGhvbm5hcHBh Lm5hZ2FyYWhhbGxpQGFybS5jb20+OyBZaWdpdCwgRmVycnVoIDxmZXJydWgueWlnaXRAaW50ZWwu Y29tPjsNCj4gdGVjaGJvYXJkQGRwZGsub3JnDQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtS RkMgUEFUQ0ggdjIgMC83XSBoZXRlcm9nZW5lb3VzIGNvbXB1dGluZw0KPiBsaWJyYXJ5DQo+IA0K PiANCj4gT24gV2VkLCBTZXAgMSwgMjAyMSBhdCA5OjA1IFBNIEVsZW5hIEFnb3N0aW5pIDxlYWdv c3RpbmlAbnZpZGlhLmNvbT4NCj4gd3JvdGU6DQo+ID4NCj4gPg0KPiA+ID4gLS0tLS1PcmlnaW5h bCBNZXNzYWdlLS0tLS0NCj4gPiA+IEZyb206IFdhbmcsIEhhaXl1ZSA8aGFpeXVlLndhbmdAaW50 ZWwuY29tPg0KPiA+ID4gU2VudDogU3VuZGF5LCBBdWd1c3QgMjksIDIwMjEgNzozMyBBTQ0KPiA+ ID4gVG86IEplcmluIEphY29iIDxqZXJpbmphY29ia0BnbWFpbC5jb20+OyBOQlUtQ29udGFjdC1U aG9tYXMNCj4gTW9uamFsb24NCj4gPiA+IDx0aG9tYXNAbW9uamFsb24ubmV0Pg0KPiA+ID4gQ2M6 IEplcmluIEphY29iIDxqZXJpbmpAbWFydmVsbC5jb20+OyBkcGRrLWRldiA8ZGV2QGRwZGsub3Jn PjsNCj4gPiA+IFN0ZXBoZW4gSGVtbWluZ2VyIDxzdGVwaGVuQG5ldHdvcmtwbHVtYmVyLm9yZz47 IERhdmlkIE1hcmNoYW5kDQo+ID4gPiA8ZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNvbT47IEFuZHJl dyBSeWJjaGVua28NCj4gPiA+IDxhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IEhvbm5h cHBhIE5hZ2FyYWhhbGxpDQo+ID4gPiA8aG9ubmFwcGEubmFnYXJhaGFsbGlAYXJtLmNvbT47IFlp Z2l0LCBGZXJydWgNCj4gPiA+IDxmZXJydWgueWlnaXRAaW50ZWwuY29tPjsgdGVjaGJvYXJkQGRw ZGsub3JnOyBFbGVuYSBBZ29zdGluaQ0KPiA+ID4gPGVhZ29zdGluaUBudmlkaWEuY29tPg0KPiA+ ID4gU3ViamVjdDogUkU6IFtkcGRrLWRldl0gW1JGQyBQQVRDSCB2MiAwLzddIGhldGVyb2dlbmVv dXMgY29tcHV0aW5nDQo+ID4gPiBsaWJyYXJ5DQo+ID4gPg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+ IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4gPiA+IEZyb206IEplcmluIEphY29iIDxq ZXJpbmphY29ia0BnbWFpbC5jb20+DQo+ID4gPiA+IFNlbnQ6IEZyaWRheSwgQXVndXN0IDI3LCAy MDIxIDIwOjE5DQo+ID4gPiA+IFRvOiBUaG9tYXMgTW9uamFsb24gPHRob21hc0Btb25qYWxvbi5u ZXQ+DQo+ID4gPiA+IENjOiBKZXJpbiBKYWNvYiA8amVyaW5qQG1hcnZlbGwuY29tPjsgZHBkay1k ZXYgPGRldkBkcGRrLm9yZz47DQo+ID4gPiA+IFN0ZXBoZW4NCj4gPiA+IEhlbW1pbmdlcg0KPiA+ ID4gPiA8c3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc+OyBEYXZpZCBNYXJjaGFuZA0KPiA+ID4g PGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5jb20+OyBBbmRyZXcgUnliY2hlbmtvDQo+ID4gPiA+IDxh bmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydT47IFdhbmcsIEhhaXl1ZQ0KPiA+ID4gPiA8aGFp eXVlLndhbmdAaW50ZWwuY29tPjsNCj4gPiA+IEhvbm5hcHBhIE5hZ2FyYWhhbGxpDQo+ID4gPiA+ IDxob25uYXBwYS5uYWdhcmFoYWxsaUBhcm0uY29tPjsgWWlnaXQsIEZlcnJ1aA0KPiA+ID4gPiA8 ZmVycnVoLnlpZ2l0QGludGVsLmNvbT47DQo+ID4gPiB0ZWNoYm9hcmRAZHBkay5vcmc7IEVsZW5h DQo+ID4gPiA+IEFnb3N0aW5pIDxlYWdvc3RpbmlAbnZpZGlhLmNvbT4NCj4gPiA+ID4gU3ViamVj dDogUmU6IFtkcGRrLWRldl0gW1JGQyBQQVRDSCB2MiAwLzddIGhldGVyb2dlbmVvdXMgY29tcHV0 aW5nDQo+ID4gPiA+IGxpYnJhcnkNCj4gPiA+ID4NCj4gPiA+ID4gT24gRnJpLCBBdWcgMjcsIDIw MjEgYXQgMzoxNCBQTSBUaG9tYXMgTW9uamFsb24NCj4gPiA+ID4gPHRob21hc0Btb25qYWxvbi5u ZXQ+DQo+ID4gPiB3cm90ZToNCj4gPiA+ID4gPg0KPiA+ID4gPiA+IDMxLzA3LzIwMjEgMTU6NDIs IEplcmluIEphY29iOg0KPiA+ID4gPiA+ID4gT24gU2F0LCBKdWwgMzEsIDIwMjEgYXQgMTo1MSBQ TSBUaG9tYXMgTW9uamFsb24NCj4gPiA+IDx0aG9tYXNAbW9uamFsb24ubmV0PiB3cm90ZToNCj4g PiA+ID4gPiA+ID4gMzEvMDcvMjAyMSAwOTowNiwgSmVyaW4gSmFjb2I6DQo+ID4gPiA+ID4gPiA+ ID4gT24gRnJpLCBKdWwgMzAsIDIwMjEgYXQgNzoyNSBQTSBUaG9tYXMgTW9uamFsb24NCj4gPiA+ IDx0aG9tYXNAbW9uamFsb24ubmV0PiB3cm90ZToNCj4gPiA+ID4gPiA+ID4gPiA+IEZyb206IEVs ZW5hIEFnb3N0aW5pIDxlYWdvc3RpbmlAbnZpZGlhLmNvbT4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+ID4gPiBJbiBoZXRlcm9nZW5lb3VzIGNvbXB1dGluZyBzeXN0ZW0sIHByb2Nl c3NpbmcgaXMgbm90DQo+ID4gPiA+ID4gPiA+ID4gPiBvbmx5IGluIHRoZQ0KPiA+ID4gQ1BVLg0K PiA+ID4gPiA+ID4gPiA+ID4gU29tZSB0YXNrcyBjYW4gYmUgZGVsZWdhdGVkIHRvIGRldmljZXMg d29ya2luZyBpbiBwYXJhbGxlbC4NCj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4g PiBUaGUgZ29hbCBvZiB0aGlzIG5ldyBsaWJyYXJ5IGlzIHRvIGVuaGFuY2UgdGhlDQo+ID4gPiA+ ID4gPiA+ID4gPiBjb2xsYWJvcmF0aW9uIGJldHdlZW4gRFBESywgdGhhdCdzIHByaW1hcmlseSBh IENQVQ0KPiA+ID4gPiA+ID4gPiA+ID4gZnJhbWV3b3JrLCBhbmQgb3RoZXIgdHlwZSBvZiBkZXZp Y2VzDQo+ID4gPiBsaWtlIEdQVXMuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ ID4gV2hlbiBtaXhpbmcgbmV0d29yayBhY3Rpdml0eSB3aXRoIHRhc2sgcHJvY2Vzc2luZyBvbiBh DQo+ID4gPiA+ID4gPiA+ID4gPiBub24tQ1BVDQo+ID4gPiBkZXZpY2UsDQo+ID4gPiA+ID4gPiA+ ID4gPiB0aGVyZSBtYXkgYmUgdGhlIG5lZWQgdG8gcHV0IGluIGNvbW11bmljYXRpb24gdGhlIENQ VQ0KPiA+ID4gPiA+ID4gPiA+ID4gd2l0aCB0aGUNCj4gPiA+IGRldmljZQ0KPiA+ID4gPiA+ID4g PiA+ID4gaW4gb3JkZXIgdG8gbWFuYWdlIHRoZSBtZW1vcnksIHN5bmNocm9uaXplIG9wZXJhdGlv bnMsDQo+ID4gPiA+ID4gPiA+ID4gPiBleGNoYW5nZQ0KPiA+ID4gaW5mbywgZXRjLi4NCj4gPiA+ ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBUaGlzIGxpYnJhcnkgcHJvdmlkZXMgYSBu dW1iZXIgb2YgbmV3IGZlYXR1cmVzOg0KPiA+ID4gPiA+ID4gPiA+ID4gLSBJbnRlcm9wZXJhYmls aXR5IHdpdGggZGV2aWNlIHNwZWNpZmljIGxpYnJhcnkgd2l0aA0KPiA+ID4gPiA+ID4gPiA+ID4g Z2VuZXJpYyBoYW5kbGVycw0KPiA+ID4gPiA+ID4gPiA+ID4gLSBQb3NzaWJpbGl0eSB0byBhbGxv Y2F0ZSBhbmQgZnJlZSBtZW1vcnkgb24gdGhlIGRldmljZQ0KPiA+ID4gPiA+ID4gPiA+ID4gLSBQ b3NzaWJpbGl0eSB0byBhbGxvY2F0ZSBhbmQgZnJlZSBtZW1vcnkgb24gdGhlIENQVSBidXQNCj4g PiA+ID4gPiA+ID4gPiA+IHZpc2libGUgZnJvbQ0KPiA+ID4gdGhlIGRldmljZQ0KPiA+ID4gPiA+ ID4gPiA+ID4gLSBDb21tdW5pY2F0aW9uIGZ1bmN0aW9ucyB0byBlbmhhbmNlIHRoZSBkaWFsb2cg YmV0d2Vlbg0KPiA+ID4gPiA+ID4gPiA+ID4gdGhlIENQVQ0KPiA+ID4gYW5kIHRoZSBkZXZpY2UN Cj4gPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gPiBUaGUgaW5mcmFzdHJ1Y3R1cmUg aXMgcHJlcGFyZWQgdG8gd2VsY29tZSBkcml2ZXJzIGluDQo+ID4gPiA+ID4gPiA+ID4gPiBkcml2 ZXJzL2hjLyBhcyB0aGUgdXBjb21pbmcgTlZJRElBIG9uZSwgaW1wbGVtZW50aW5nIHRoZQ0KPiBo Y2RldiBBUEkuDQo+ID4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+ID4gU29tZSBwYXJ0 cyBhcmUgbm90IGNvbXBsZXRlOg0KPiA+ID4gPiA+ID4gPiA+ID4gICAtIGxvY2tzDQo+ID4gPiA+ ID4gPiA+ID4gPiAgIC0gbWVtb3J5IGFsbG9jYXRpb24gdGFibGUNCj4gPiA+ID4gPiA+ID4gPiA+ ICAgLSBtZW1vcnkgZnJlZWluZw0KPiA+ID4gPiA+ID4gPiA+ID4gICAtIGd1aWRlIGRvY3VtZW50 YXRpb24NCj4gPiA+ID4gPiA+ID4gPiA+ICAgLSBpbnRlZ3JhdGlvbiBpbiBkZXZ0b29scy9jaGVj ay1kb2MtdnMtY29kZS5zaA0KPiA+ID4gPiA+ID4gPiA+ID4gICAtIHVuaXQgdGVzdHMNCj4gPiA+ ID4gPiA+ID4gPiA+ICAgLSBpbnRlZ3JhdGlvbiBpbiB0ZXN0cG1kIHRvIGVuYWJsZSBSeC9UeCB0 by9mcm9tIEdQVQ0KPiBtZW1vcnkuDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+ID4gPiBT aW5jZSB0aGUgYWJvdmUgbGluZSBpcyB0aGUgY3J1eCBvZiB0aGUgZm9sbG93aW5nIHRleHQsIEkN Cj4gPiA+ID4gPiA+ID4gPiB3aWxsIHN0YXJ0IGZyb20gdGhpcyBwb2ludC4NCj4gPiA+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+ICsgVGVjaGJvYXJkDQo+ID4gPiA+ID4gPiA+ID4NCj4gPiA+ ID4gPiA+ID4gPiBJICBjYW4gZ2l2ZSBteSBob25lc3QgZmVlZGJhY2sgb24gdGhpcy4NCj4gPiA+ ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEkgY2FuIG1hcCBzaW1pbGFyICBzdHVmZiAgaW4g TWFydmVsbCBIVywgd2hlcmUgd2UgZG8NCj4gPiA+ID4gPiA+ID4gPiBtYWNoaW5lIGxlYXJuaW5n IGFzIGNvbXB1dGUgb2ZmbG9hZCBvbiBhIGRpZmZlcmVudCBjbGFzcw0KPiA+ID4gPiA+ID4gPiA+ IG9mIENQVS4NCj4gPiA+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEluIHRlcm1zIG9mIFJG QyBwYXRjaCBmZWF0dXJlcw0KPiA+ID4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiA+ID4gMSkgbWVt b3J5IEFQSSAtIFVzZSBjYXNlcyBhcmUgYWxpZ25lZA0KPiA+ID4gPiA+ID4gPiA+IDIpIGNvbW11 bmljYXRpb24gZmxhZyBhbmQgY29tbXVuaWNhdGlvbiBsaXN0IE91ciBzdHJ1Y3R1cmUNCj4gPiA+ ID4gPiA+ID4gPiBpcyBjb21wbGV0ZWx5IGRpZmZlcmVudCBhbmQgd2UgYXJlIHVzaW5nIEhXIHJp bmcga2luZCBvZg0KPiA+ID4gPiA+ID4gPiA+IGludGVyZmFjZSB0byBwb3N0IHRoZSBqb2IgdG8g Y29tcHV0ZSBpbnRlcmZhY2UgYW5kIHRoZSBqb2INCj4gPiA+ID4gPiA+ID4gPiBjb21wbGV0aW9u IHJlc3VsdCBoYXBwZW5zIHRocm91Z2ggdGhlIGV2ZW50IGRldmljZS4NCj4gPiA+ID4gPiA+ID4g PiBLaW5kIG9mIHNpbWlsYXIgdG8gdGhlIERNQSBBUEkgdGhhdCBoYXMgYmVlbiBkaXNjdXNzZWQg b24NCj4gPiA+ID4gPiA+ID4gPiB0aGUgbWFpbGluZw0KPiA+ID4gbGlzdC4NCj4gPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+ID4gSW50ZXJlc3RpbmcuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4g SXQgaXMgaGFyZCB0byBnZW5lcmFsaXplIHRoZSBjb21tdW5pY2F0aW9uIG1lY2hhbmlzbS4NCj4g PiA+ID4gPiA+IElzIG90aGVyIEdQVSB2ZW5kb3JzIGhhdmUgYSBzaW1pbGFyIGNvbW11bmljYXRp b24gbWVjaGFuaXNtPw0KPiA+ID4gPiA+ID4gQU1ELA0KPiA+ID4gSW50ZWwgPz8NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IEkgZG9uJ3Qga25vdyB3aG8gdG8gYXNrIGluIEFNRCAmIEludGVsLiBBbnkg aWRlYXM/DQo+ID4gPiA+DQo+ID4gPiA+IEdvb2QgcXVlc3Rpb24uDQo+ID4gPiA+DQo+ID4gPiA+ IEF0IGxlYXN0IGluIE1hcnZlbGwgSFcsIHRoZSBjb21tdW5pY2F0aW9uIGZsYWcgYW5kIGNvbW11 bmljYXRpb24NCj4gPiA+ID4gbGlzdCBpcyBvdXIgc3RydWN0dXJlIGlzIGNvbXBsZXRlbHkgZGlm ZmVyZW50IGFuZCB3ZSBhcmUgdXNpbmcgSFcNCj4gPiA+ID4gcmluZyBraW5kIG9mIGludGVyZmFj ZSB0byBwb3N0IHRoZSBqb2IgdG8gY29tcHV0ZSBpbnRlcmZhY2UgYW5kDQo+ID4gPiA+IHRoZSBq b2IgY29tcGxldGlvbiByZXN1bHQgaGFwcGVucyB0aHJvdWdoIHRoZSBldmVudCBkZXZpY2UuDQo+ ID4gPiA+IGtpbmQgb2Ygc2ltaWxhciB0byB0aGUgRE1BIEFQSSB0aGF0IGhhcyBiZWVuIGRpc2N1 c3NlZCBvbiB0aGUgbWFpbGluZw0KPiBsaXN0Lg0KPiA+DQo+ID4gUGxlYXNlIGNvcnJlY3QgbWUg aWYgSSdtIHdyb25nIGJ1dCB3aGF0IHlvdSBhcmUgZGVzY3JpYmluZyBpcyBhDQo+ID4gc3BlY2lm aWMgd2F5IHRvIHN1Ym1pdCB3b3JrIG9uIHRoZSBkZXZpY2UuIENvbW11bmljYXRpb24gZmxhZy9s aXN0DQo+ID4gaGVyZSBpcyBhIGRpcmVjdCBkYXRhIGNvbW11bmljYXRpb24gYmV0d2VlbiB0aGUg Q1BVIGFuZCBzb21lIGtpbmQgb2YNCj4gPiB3b3JrbG9hZCAoZS5nLiBHUFUga2VybmVsKSB0aGF0 J3MgYWxyZWFkeSBydW5uaW5nIG9uIHRoZSBkZXZpY2UuDQo+IA0KPiBFeGFjdGx5LiBXaGF0IEkg bWVhbnQgaXMgQ29tbXVuaWNhdGlvbiBmbGFnL2xpc3QgaXMgbm90IGdlbmVyaWMgZW5vdWdoIHRv DQo+IGV4cHJlc3MgYW5kIGdlbmVyaWMgY29tcHV0ZSBkZXZpY2UuIElmIGFsbCBHUFUgd29ya3Mg aW4gdGhpcyB3YXksIHdlIGNvdWxkDQo+IG1ha2UgdGhlIGxpYnJhcnkgbmFtZSBhcyBHUFUgc3Bl Y2lmaWMgYW5kIGFkZCBHUFUgc3BlY2lmaWMgY29tbXVuaWNhdGlvbg0KPiBtZWNoYW5pc20uDQoN CkknbSBpbiBmYXZvciBvZiByZXZlcnRpbmcgdGhlIG5hbWUgb2YgdGhlIGxpYnJhcnkgd2l0aCBh IG1vcmUgc3BlY2lmaWMgZ3B1ZGV2IG5hbWUNCmluc3RlYWQgb2YgaGNkZXYuIFRoaXMgbGlicmFy eSAoYm90aCBtZW1vcnkgYWxsb2NhdGlvbnMgYW5kIGZhbmN5IGZlYXR1cmVzIGxpa2UNCmNvbW11 bmljYXRpb24gbGlzdHMpIGNhbiBiZSB0ZXN0ZWQgb24gdmFyaW91cyBHUFVzIGJ1dCBJJ20gbm90 IHN1cmUgYWJvdXQNCm90aGVyIHR5cGUgb2YgZGV2aWNlcy4gDQoNCkFnYWluLCBhcyBpbml0aWFs IHN0ZXAsIEkgd291bGQgbm90IGNvbXBsaWNhdGUgdGhpbmdzDQpMZXQncyBoYXZlIGEgR1BVIG9y aWVudGVkIGxpYnJhcnkgZm9yIG5vdy4NCg0KPiANCj4gDQo+ID4NCj4gPiBUaGUgcmF0aW9uYWxl IGhlcmUgaXMgdGhhdDoNCj4gPiAtIHNvbWUgd29yayBoYXMgYmVlbiBhbHJlYWR5IHN1Ym1pdHRl ZCBvbiB0aGUgZGV2aWNlIGFuZCBpdCdzIHJ1bm5pbmcNCj4gPiAtIENQVSBuZWVkcyBhIHJlYWwt dGltZSBkaXJlY3QgaW50ZXJhY3Rpb24gdGhyb3VnaCBtZW1vcnkgd2l0aCB0aGUNCj4gPiBkZXZp Y2UNCj4gPiAtIHRoZSB3b3JrbG9hZCBvbiB0aGUgZGV2aWNlIG5lZWRzIHNvbWUgaW5mbyBmcm9t IHRoZSBDUFUgaXQgY2FuJ3QgZ2V0DQo+ID4gYXQgc3VibWlzc2lvbiB0aW1lDQo+ID4NCj4gPiBU aGlzIGlzIGdvb2QgZW5vdWdoIGZvciBOVklESUEgYW5kIEFNRCBHUFUuDQo+ID4gTmVlZCB0byBk b3VibGUgY2hlY2sgZm9yIEludGVsIEdQVS4NCj4gPg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4g PiA+ID4gPiA+ID4gTm93IHRoZSBiaWdnZXIgcXVlc3Rpb24gaXMgd2h5IG5lZWQgdG8gVHggYW5k IHRoZW4gUngNCj4gPiA+ID4gPiA+ID4gPiBzb21ldGhpbmcgdG8gY29tcHV0ZSB0aGUgZGV2aWNl IElzbid0ICBvdCBvZmZsb2FkDQo+ID4gPiA+ID4gPiA+ID4gc29tZXRoaW5nPyBJZiBzbywgd2h5 IG5vdCBhZGQgdGhlIHRob3NlIG9mZmxvYWQgaW4NCj4gPiA+ID4gPiA+ID4gPiByZXNwZWN0aXZl IHN1YnN5c3RlbSB0byBpbXByb3ZlIHRoZSBzdWJzeXN0ZW0oZXRoZGV2LA0KPiA+ID4gPiA+ID4g PiA+IGNyeXB0aW9kZXYgZXRjKSBmZWF0dXJlcyBzZXQgdG8gYWRhcHQgbmV3IGZlYXR1cmVzIG9y DQo+ID4gPiA+ID4gPiA+ID4gaW50cm9kdWNlIG5ldyBzdWJzeXN0ZW0gKGxpa2UgTUwsIElubGlu ZSBCYXNlYmFuZA0KPiA+ID4gPiA+ID4gPiA+IHByb2Nlc3NpbmcpIHNvIHRoYXQgaXQgd2lsbCBi ZSBhbiBvcHBvcnR1bml0eSB0byBpbXBsZW1lbnQNCj4gPiA+ID4gPiA+ID4gPiB0aGUgc2FtZSBp biAgSFcgb3IgY29tcHV0ZSBkZXZpY2UuIEZvciBleGFtcGxlLCBpZiB3ZSB0YWtlDQo+ID4gPiA+ ID4gPiA+ID4gdGhpcyBwYXRoLCBNTCBvZmZsb2FkaW5nIHdpbGwgYmUgYXBwbGljYXRpb24gY29k ZSBsaWtlDQo+ID4gPiA+ID4gPiA+ID4gdGVzdHBtZCwgd2hpY2ggZGVhbHMgd2l0aCAic3BlY2lm aWMiIGRldmljZSBjb21tYW5kcyhha2ENCj4gPiA+ID4gPiA+ID4gPiBnbG9yaWZpZWQgcmF3ZGV2 KSB0byBkZWFsIHdpdGggc3BlY2lmaWMgY29tcHV0aW5nIGRldmljZQ0KPiA+ID4gPiA+ID4gPiA+ IG9mZmxvYWQgIkNPTU1BTkRTIg0KPiA+ID4gPiA+ID4gPiA+IChUaGUgY29tbWFuZHMgd2lsbCBi ZSBzcGVjaWZpYyB0byAgb2ZmbG9hZCBkZXZpY2UsIHRoZQ0KPiA+ID4gPiA+ID4gPiA+IHNhbWUg Y29kZSB3b250IHJ1biBvbiAgb3RoZXIgY29tcHV0ZSBkZXZpY2UpDQo+ID4gPiA+ID4gPiA+DQo+ ID4gPiA+ID4gPiA+IEhhdmluZyBzcGVjaWZpYyBmZWF0dXJlcyBBUEkgaXMgY29udmVuaWVudCBm b3IgY29tcGF0aWJpbGl0eQ0KPiA+ID4gPiA+ID4gPiBiZXR3ZWVuIGRldmljZXMsIHllcywgZm9y IHRoZSBzZXQgb2YgZGVmaW5lZCBmZWF0dXJlcy4NCj4gPiA+ID4gPiA+ID4gT3VyIGFwcHJvYWNo IGlzIHRvIHN0YXJ0IHdpdGggYSBmbGV4aWJsZSBBUEkgdGhhdCB0aGUNCj4gPiA+ID4gPiA+ID4g YXBwbGljYXRpb24gY2FuIHVzZSB0byBpbXBsZW1lbnQgYW55IHByb2Nlc3NpbmcgYmVjYXVzZSB3 aXRoDQo+ID4gPiA+ID4gPiA+IEdQVSBwcm9ncmFtbWluZywgdGhlcmUgaXMgbm8gcmVzdHJpY3Rp b24gb24gd2hhdCBjYW4gYmUNCj4gYWNoaWV2ZWQuDQo+ID4gPiA+ID4gPiA+IFRoaXMgYXBwcm9h Y2ggZG9lcyBub3QgY29udHJhZGljdCB3aGF0IHlvdSBwcm9wb3NlLCBpdCBkb2VzDQo+ID4gPiA+ ID4gPiA+IG5vdCBwcmV2ZW50IGV4dGVuZGluZyBleGlzdGluZyBjbGFzc2VzLg0KPiA+ID4gPiA+ ID4NCj4gPiA+ID4gPiA+IEl0IGRvZXMgcHJldmVudCBleHRlbmRpbmcgdGhlIGV4aXN0aW5nIGNs YXNzZXMgYXMgbm8gb25lIGlzDQo+ID4gPiA+ID4gPiBnb2luZyB0byBleHRlbnQgaXQgdGhlcmUg aXMgdGhlIHBhdGggb2Ygbm90IGRvaW5nIGRvLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gSSBkaXNh Z3JlZS4gU3BlY2lmaWMgQVBJIGlzIG1vcmUgY29udmVuaWVudCBmb3Igc29tZSB0YXNrcywgc28N Cj4gPiA+ID4gPiB0aGVyZSBpcyBhbiBpbmNlbnRpdmUgdG8gZGVmaW5lIG9yIGV4dGVuZCBzcGVj aWZpYyBkZXZpY2UgY2xhc3MgQVBJcy4NCj4gPiA+ID4gPiBCdXQgaXQgc2hvdWxkIG5vdCBmb3Ji aWQgZG9pbmcgY3VzdG9tIHByb2Nlc3NpbmcuDQo+ID4gPiA+DQo+ID4gPiA+IFRoaXMgaXMgdGhl IHNhbWUgYXMgdGhlIHJhdyBkZXZpY2UgaXMgaW4gRFBESyB3aGVyZSB0aGUgZGV2aWNlDQo+ID4g PiA+IHBlcnNvbmFsaXR5IGlzIG5vdCBkZWZpbmVkLg0KPiA+ID4gPg0KPiA+ID4gPiBFdmVuIGlm IGRlZmluZSBhbm90aGVyIEFQSSBhbmQgaWYgdGhlIHBlcnNvbmFsaXR5IGlzIG5vdCBkZWZpbmVk LA0KPiA+ID4gPiBpdCBjb21lcyBzaW1pbGFyIHRvIHRoZSByYXcgZGV2aWNlIGFzIHNpbWlsYXIg dG8gcmF3ZGV2IGVucXVldWUNCj4gPiA+ID4gYW5kIGRlcXVldWUuDQo+ID4gPiA+DQo+ID4gPiA+ IFRvIHN1bW1hcml6ZSwNCj4gPiA+ID4NCj4gPiA+ID4gMSkgIE15IF9wZXJzb25hbF8gcHJlZmVy ZW5jZSBpcyB0byBoYXZlIHNwZWNpZmljIHN1YnN5c3RlbXMgdG8NCj4gPiA+ID4gaW1wcm92ZSB0 aGUgRFBESyBpbnN0ZWFkIG9mIHRoZSByYXcgZGV2aWNlIGtpbmQgb2YgcGF0aC4NCj4gPiA+DQo+ ID4gPiBTb21ldGhpbmcgbGlrZSBydGVfbWVtZGV2IHRvIGZvY3VzIG9uIGRldmljZSAoR1BVKSBt ZW1vcnkNCj4gbWFuYWdlbWVudCA/DQo+ID4gPg0KPiA+ID4gVGhlIG5ldyBEUERLIGF1eGlsaWFy eSBidXMgbWF5YmUgbWFrZSBsaWZlIGVhc2llciB0byBzb2x2ZSB0aGUNCj4gPiA+IGNvbXBsZXgg aGV0ZXJvZ2VuZW91cyBjb21wdXRpbmcgbGlicmFyeS4gOy0pDQo+ID4NCj4gPiBUbyBnZXQgYSBj b25jcmV0ZSBpZGVhIGFib3V0IHdoYXQncyB0aGUgYmVzdCBhbmQgbW9zdCBjb21wcmVoZW5zaXZl DQo+ID4gYXBwcm9hY2ggd2Ugc2hvdWxkIHN0YXJ0IHdpdGggc29tZXRoaW5nIHRoYXQncyBmbGV4 aWJsZSBhbmQgc2ltcGxlDQo+IGVub3VnaC4NCj4gPg0KPiA+IEEgZGVkaWNhdGVkIGxpYnJhcnkg aXQncyBhIGdvb2Qgc3RhcnRpbmcgcG9pbnQ6IGVhc3kgdG8gaW1wbGVtZW50IGFuZA0KPiA+IGVt YmVkIGluIERQREsgYXBwbGljYXRpb25zLCBpc29sYXRlZCBmcm9tIG90aGVyIGNvbXBvbmVudHMg YW5kIHVzZXJzDQo+IGNhbiBwbGF5IHdpdGggaXQgbGVhcm5pbmcgZnJvbSB0aGUgY29kZS4NCj4g PiBBcyBhIHNlY29uZCBzdGVwIHdlIGNhbiB0aGluayB0byBlbWJlZCB0aGUgZnVuY3Rpb25hbGl0 eSBpbiBzb21lIG90aGVyDQo+ID4gd2F5IHdpdGhpbiBEUERLIChlLmcuIHNwbGl0IG1lbW9yeSBt YW5hZ2VtZW50IGFuZCBjb21tdW5pY2F0aW9uDQo+IGZlYXR1cmVzKS4NCj4gPg0KPiA+ID4NCj4g PiA+ID4gMikgSWYgdGhlIGRldmljZSBwZXJzb25hbGl0eSBpcyBub3QgZGVmaW5lZCwgdXNlIHJh d2Rldg0KPiA+ID4gPiAzKSBBbGwgY29tcHV0aW5nIGRldmljZXMgZG8gbm90IHVzZSAgImNvbW11 bmljYXRpb24gZmxhZyIgYW5kDQo+ID4gPiA+ICJjb21tdW5pY2F0aW9uIGxpc3QiDQo+ID4gPiA+ IGtpbmQgb2Ygc3RydWN0dXJlLiBJZiBhcmUgdGFyZ2V0aW5nIGEgZ2VuZXJpYyBjb21wdXRpbmcg ZGV2aWNlDQo+ID4gPiA+IHRoZW4gdGhhdCBpcyBub3QgYSBwb3J0YWJsZSBzY2hlbWUuDQo+ID4g PiA+IEZvciBHUFUgYWJzdHJhY3Rpb24gaWYgImNvbW11bmljYXRpb24gZmxhZyIgYW5kICJjb21t dW5pY2F0aW9uDQo+IGxpc3QiDQo+ID4gPiA+IGlzIHRoZSByaWdodCBraW5kIG9mIG1lY2hhbmlz bQ0KPiA+ID4gPiB0aGVuIHdlIGNhbiBoYXZlIGEgc2VwYXJhdGUgbGlicmFyeSBmb3IgR1BVIGNv bW11bmljYXRpb24gc3BlY2lmaWMNCj4gPiA+ID4gdG8gR1BVIDwtDQo+ID4gPiA+DQo+ID4gPiA+ IERQREsgY29tbXVuaWNhdGlvbiBuZWVkcyBhbmQgZXhwbGljaXQgZm9yIEdQVS4NCj4gPiA+ID4N Cj4gPiA+ID4gSSB0aGluayBnZW5lcmljIERQREsgYXBwbGljYXRpb25zIGxpa2UgdGVzdHBtZCBz aG91bGQgbm90IHBvbGx1dGUNCj4gPiA+ID4gd2l0aCBkZXZpY2Utc3BlY2lmaWMgZnVuY3Rpb25z LiBMaWtlLCBjYWxsIGRldmljZS1zcGVjaWZpYw0KPiA+ID4gPiBtZXNzYWdlcyBmcm9tIHRoZSBh cHBsaWNhdGlvbiB3aGljaCBtYWtlcyB0aGUgYXBwbGljYXRpb24gcnVucw0KPiA+ID4gPiBvbmx5 IG9uZSBkZXZpY2UuIEkgZG9uJ3QgaGF2ZSBhIHN0cm9uZyBvcGluaW9uKGV4cGVjdA0KPiA+ID4g PiBzdGFuZGFyZGl6aW5nICAiY29tbXVuaWNhdGlvbiBmbGFnIiBhbmQgImNvbW11bmljYXRpb24g bGlzdCIgYXMNCj4gPiA+ID4gZ2VuZXJpYyBjb21wdXRpbmcgZGV2aWNlIGNvbW11bmljYXRpb24g bWVjaGFuaXNtKSBvZiBvdGhlcnMgdGhpbmsNCj4gPiA+ID4gaXQgaXMgT0sgdG8gZG8gdGhhdCB3 YXkgaW4gRFBESy4NCj4gPg0KPiA+IEknZCBsaWtlIHRvIGludHJvZHVjZSAod2l0aCBhIGRlZGlj YXRlZCBvcHRpb24pIHRoZSBtZW1vcnkgQVBJIGluDQo+ID4gdGVzdHBtZCB0byBwcm92aWRlIGFu IGV4YW1wbGUgb2YgaG93IHRvIFRYL1JYIHBhY2tldHMgdXNpbmcgZGV2aWNlDQo+IG1lbW9yeS4N Cj4gDQo+IE5vdCBzdXJlIHdpdGhvdXQgZW1iZWRkaW5nIHNpZGViYW5kIGNvbW11bmljYXRpb24g bWVjaGFuaXNtIGhvdyBpdA0KPiBjYW4gbm90aWZ5IHRvIEdQVSBhbmQgYmFjayB0byBDUFUuIElm IHlvdSBjb3VsZCBzaGFyZSB0aGUgZXhhbXBsZSBBUEkNCj4gc2VxdWVuY2UgdGhhdCBoZWxwcyB0 byB1cyB1bmRlcnN0YW5kIHRoZSBsZXZlbCBvZiBjb3VwbGluZyB3aXRoIHRlc3RwbWQuDQo+IA0K DQpUaGVyZSBpcyBubyBuZWVkIG9mIGNvbW11bmljYXRpb24gbWVjaGFuaXNtIGhlcmUuDQpBc3N1 bWluZyB0aGVyZSBpcyBub3Qgd29ya2xvYWQgdG8gcHJvY2VzcyBuZXR3b3JrIHBhY2tldHMgKHRv IG5vdCBjb21wbGljYXRlDQp0aGluZ3MpLCB0aGUgc3RlcHMgYXJlOg0KMSkgQ3JlYXRlIGEgRFBE SyBtZW1wb29sIHdpdGggZGV2aWNlIGV4dGVybmFsIG1lbW9yeSB1c2luZyB0aGUgaGNkZXYgKG9y IGdwdWRldikgbGlicmFyeQ0KMikgVXNlIHRoYXQgbWVtcG9vbCB0byB0eC9yeC9md2QgcGFja2V0 cw0KDQpBcyBhbiBleGFtcGxlLCB5b3UgbG9vayBhdCBteSBsMmZ3ZC1udiBhcHBsaWNhdGlvbiBo ZXJlOiBodHRwczovL2dpdGh1Yi5jb20vTlZJRElBL2wyZndkLW52DQoNCj4gDQo+ID4NCj4gPiBJ IGFncmVlIHRvIG5vdCBlbWJlZCBjb21tdW5pY2F0aW9uIGZsYWcvbGlzdCBmZWF0dXJlcy4NCj4g Pg0KPiA+ID4gPg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBJZiBhbiBhcHBsaWNhdGlvbiBjYW4g cnVuIG9ubHkgb24gYSBzcGVjaWZpYyBkZXZpY2UsIGl0IGlzDQo+ID4gPiA+ID4gPiBzaW1pbGFy IHRvIGEgcmF3IGRldmljZSwgd2hlcmUgdGhlIGRldmljZSBkZWZpbml0aW9uIGlzIG5vdA0KPiA+ ID4gPiA+ID4gZGVmaW5lZC4gKGkuZSBKT0IgbWV0YWRhdGEgaXMgbm90IGRlZmluZWQNCj4gPiA+ IGFuZA0KPiA+ID4gPiA+ID4gaXQgaXMgc3BlY2lmaWMgdG8gdGhlIGRldmljZSkuDQo+ID4gPiA+ ID4gPg0KPiA+ID4gPiA+ID4gPiA+IEp1c3QgbXkgX3BlcnNvbmFsXyBwcmVmZXJlbmNlIGlzIHRv IGhhdmUgc3BlY2lmaWMNCj4gPiA+ID4gPiA+ID4gPiBzdWJzeXN0ZW1zIHRvIGltcHJvdmUgdGhl IERQREsgaW5zdGVhZCBvZiByYXcgZGV2aWNlIGtpbmQNCj4gPiA+ID4gPiA+ID4gPiBvZiBwYXRo LiBJZiB3ZSBkZWNpZGUgYW5vdGhlciBwYXRoIGFzIGEgY29tbXVuaXR5IGl0IGlzDQo+ID4gPiA+ ID4gPiA+ID4gX2ZpbmVfIHRvbyhhcyBhIF9wcm9qZWN0IG1hbmFnZXJfIHBvaW50IG9mIHZpZXcg aXQgd2lsbCBiZQ0KPiA+ID4gPiA+ID4gPiA+IGFuIGVhc3kgcGF0aCB0byBkdW1wIFNESyBzdHVm ZiB0byBEUERLIHdpdGhvdXQgaW50cm9kdWNpbmcNCj4gPiA+ID4gPiA+ID4gPiB0aGUgcGFpbiBv ZiB0aGUgc3Vic3lzdGVtIG5vciBpbXByb3ZpbmcgdGhlIERQREspLg0KPiA+ID4gPiA+ID4gPg0K PiA+ID4gPiA+ID4gPiBBZGRpbmcgYSBuZXcgY2xhc3MgQVBJIGlzIGFsc28gaW1wcm92aW5nIERQ REsuDQo+ID4gPiA+ID4gPg0KPiA+ID4gPiA+ID4gQnV0IHRoZSBjbGFzcyBpcyBzaW1pbGFyIGFz IHJhdyBkZXYgY2xhc3MuIFRoZSByZWFzb24gSSBzYXksDQo+ID4gPiA+ID4gPiBKb2Igc3VibWlz c2lvbiBhbmQgcmVzcG9uc2UgaXMgY2FuIGJlIGFic3RyYWN0ZWQgYXMNCj4gcXVldWUvZGVxdWV1 ZSBBUElzLg0KPiA+ID4gPiA+ID4gVGFrcy9Kb2IgbWV0YWRhdGEgaXMgc3BlY2lmaWMgdG8gY29t cHV0ZSBkZXZpY2VzIChhbmQgaXQgY2FuDQo+ID4gPiA+ID4gPiBub3QgYmUgZ2VuZXJhbGl6ZWQp Lg0KPiA+ID4gPiA+ID4gSWYgd2UgZ2VuZXJhbGl6ZSBpdCBtYWtlcyBzZW5zZSB0byBoYXZlIGEg bmV3IGNsYXNzIHRoYXQgZG9lcw0KPiA+ID4gPiA+ID4gInNwZWNpZmljIGZ1bmN0aW9uIi4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IENvbXB1dGluZyBkZXZpY2UgcHJvZ3JhbW1pbmcgaXMgYWxyZWFk eSBnZW5lcmFsaXplZCB3aXRoDQo+ID4gPiA+ID4gbGFuZ3VhZ2VzIGxpa2UNCj4gPiA+IE9wZW5D TC4NCj4gPiA+ID4gPiBXZSBzaG91bGQgbm90IHRyeSB0byByZWludmVudCB0aGUgc2FtZS4NCj4g PiA+ID4gPiBXZSBhcmUganVzdCB0cnlpbmcgdG8gcHJvcGVybHkgaW50ZWdyYXRlIHRoZSBjb25j ZXB0IGluIERQREsgYW5kDQo+ID4gPiA+ID4gYWxsb3cgYnVpbGRpbmcgb24gdG9wIG9mIGl0Lg0K PiA+DQo+ID4gQWdyZWUuDQo+ID4NCj4gPiA+ID4NCj4gPiA+ID4gU2VlIGFib3ZlLg0KPiA+ID4g Pg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCg==