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 478B6A0C41; Thu, 15 Jul 2021 14:34:52 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id B211E4014D; Thu, 15 Jul 2021 14:34:51 +0200 (CEST) Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05on2070.outbound.protection.outlook.com [40.107.22.70]) by mails.dpdk.org (Postfix) with ESMTP id 4D0C240143 for ; Thu, 15 Jul 2021 14:34:50 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ddrAGcn9Z81HFnMwR99B9gV+HFJWZmU/en36+bLu2wHQ6j7BxMzD3/WvX/2YfB77nn368FtqojoHBPQ7MvK7V8VR2I196RMd58Bbd6kPw7BO5azrI3Y9EeSpth7ai6q5ZewgkAD+lCVmfg6uuWC30ViWOsIgXxxXf+3ggHaZ6pVNJDz2828ZvkNJgCHJB96VCZgJxU1n4s5I179RnSZuHaCSQAVY0FDIaZ8DSfLzMNsJxEXsCHdBmW1cqRwX58eSMLzTjpLodPTEQrJUDx5FoFFom3qMIhjZBvUUl7lhlCoAVoWZGbayhs6VcJ9Laqd13afZQ31+zUwU9R6K9RBIVw== 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=5cnFlqXItqxWKZL83/+tyygFZceYa35f3fXe9LuagZE=; b=Ad31xZwbzXpNl5j1POKFrzFQesFdw9Pae1crrh2HXt3igDOttEJOGvgEXLh86ARkbSBFByjI1MxtmuGWOPuOj+xh+oOhq2jTHKVoEhGveTBTVgCFO7r+m7Rv3m8zIfMsf+P9coS154Ha+U1i19T2HF/TFjHuPq1F5iBN6IZF4vx6sy+0x+8VIJdMeDSdkirBAf5bs0MZZSLdQ5eMPaM53KLr3EdUHih5775PHr77V/NCQH32VL+Rmux6/LReLC53jJzi2zLvzzZXa/ybpgmZQsbMMx1GqJpREEdwvAs2x5hw0ILJDYTV9Ye7C1JHzM9MMU+bvPx5keQb/G+kzwQNBg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=nxp.com; dmarc=pass action=none header.from=nxp.com; dkim=pass header.d=nxp.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=nxp.com; s=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=5cnFlqXItqxWKZL83/+tyygFZceYa35f3fXe9LuagZE=; b=gSq+tDpkiCis04uDwpFGEKSTYyXO0XiccstXQ13OuMcdF4O9YXoBHHA5kgV2rlEaHzCaQArdabexWuoDtDJryIwGJeEX26hV9GELBb4gP/7rl1CbodMX1iIQ8+jwBjLX2Sseu4oWmGJNkZXLHE+cPI613yFQSxsrP3KeUO0d8S8= Received: from DB9PR04MB8429.eurprd04.prod.outlook.com (2603:10a6:10:24e::23) by DB7PR04MB4956.eurprd04.prod.outlook.com (2603:10a6:10:1a::23) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4331.23; Thu, 15 Jul 2021 12:34:43 +0000 Received: from DB9PR04MB8429.eurprd04.prod.outlook.com ([fe80::b19a:bb85:9b54:24cb]) by DB9PR04MB8429.eurprd04.prod.outlook.com ([fe80::b19a:bb85:9b54:24cb%6]) with mapi id 15.20.4331.021; Thu, 15 Jul 2021 12:34:43 +0000 From: Nipun Gupta To: Jerin Jacob , Bruce Richardson CC: fengchengwen , "thomas@monjalon.net" , "ferruh.yigit@intel.com" , "jerinj@marvell.com" , "andrew.rybchenko@oktetlabs.ru" , "dev@dpdk.org" , "mb@smartsharesystems.com" , Hemant Agrawal , "maxime.coquelin@redhat.com" , "honnappa.nagarahalli@arm.com" , "david.marchand@redhat.com" , "sburla@marvell.com" , "pkapoor@marvell.com" , "konstantin.ananyev@intel.com" , Gagandeep Singh Thread-Topic: [PATCH v3] dmadev: introduce DMA device library Thread-Index: AQHXd+MA5zghZWbV1UWj2Bo4DD2ocatCZO+AgAFSQgCAAARfwIAAOdMAgAAFogCAAAB/0A== Date: Thu, 15 Jul 2021 12:34:43 +0000 Message-ID: References: <1625231891-2963-1-git-send-email-fengchengwen@huawei.com> <1626179263-14645-1-git-send-email-fengchengwen@huawei.com> <04d6b19d-ba8e-7c12-b76c-d7e8c7e0a923@huawei.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=nxp.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 125f6634-402c-4847-4477-08d9478cec25 x-ms-traffictypediagnostic: DB7PR04MB4956: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:8882; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: oQ4mMMumuKNRWsn0DTpymzZ3E6EBII3xQjKtZH60lksTD3dgvHD7dQvop6dNxt1JLB5OWSCOwL7fjmSpLHfY82bQkQypCZ0z18KMy/5kjOSRfjlR9eTlHEJHXOCc2fqmV2IgJbDlgNrlXfgSKuioqFbSy0/PY6HaBbZB3XcaHulvSQptdjoR4a3BnN/78Z5l43V8FiBv70tuEwmrHLZW9Ki/Uqp4frL/dQgry/19fDM8hQUYbyALziOTPIPt0F2Ms2CC3ZqTUT2g7qrGt74gBfoktZ3A7hkCY3FrhJ8v1zpZ22/W9Q1cu/n5bnAWRkSidTdpfW0NDvdLtKpw0Qny8l3YdgwxsInDfNLkfs6x9kEPqHIzhIVCjdei/7V+9ZqOCdHjGMDdQZFMxGacEPgOITT/ODzME/fLOGuRu0uitTPM66N8iBb2kT5i05oNhnmpGFIfoJgn7gxaiCC8vc7USiMPB6JmDLRsfo72v8mt3NzukJN+WVwuwSc/J9SbOdJ5lNFKIiifhkzFD7aTNCaJGtLHBbExgbw6Wg1PbKlZPIdoN/axqZh7dWGmoukx7TElWJYR2HOhiC1ix02JlIx8d7nIfz69XbMuvLQYPzQBIOWsVNQ5713BDHrymeCrpBZVTJ7lceZyZX1n+MiquZu7cNIHVa/cz0Z31ObTvWmz29oP/H1DAVoUaksw+B36UBSdNIbNXJIXYUOLPdWxKHP9hw== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB9PR04MB8429.eurprd04.prod.outlook.com; PTR:; CAT:NONE; SFS:(4636009)(376002)(39850400004)(366004)(396003)(136003)(346002)(66476007)(83380400001)(55016002)(66946007)(64756008)(66556008)(66446008)(44832011)(53546011)(316002)(186003)(71200400001)(86362001)(38100700002)(4326008)(122000001)(6506007)(52536014)(9686003)(76116006)(33656002)(110136005)(478600001)(26005)(8936002)(54906003)(7416002)(2906002)(8676002)(7696005)(5660300002)(38070700004); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?REpwb29HNHNDZjZETkgxTGpONDlUOEl0MVoxaDZxWlVHWlZLbnBoaWhwUHc3?= =?utf-8?B?ZmNvOHdLT2gxTERkNmtmcmlrWGFkTmYzbVhvMzJ4VTBwQkpCc3BrWndvZnRP?= =?utf-8?B?NVlvTnlLVVNKbVZ5blg3eHNYOTNBK25EcXFwczhNS3NUdkhGL29XTUc2OWFl?= =?utf-8?B?eHcvakhoUFZXa0oyZjUyY2xiZGx5WVo2WmZEeXM4UmVTR1JrV1FITnowaFlw?= =?utf-8?B?WDhpSi9scUhJYzEwWXd6U0ZPNlpva0RWcmQ4SFhGZm9YRkF3bDdTeEZzNUNY?= =?utf-8?B?b0FiVUs0NW44Z0VHSkpVQllUWFlPRWRmTEpkSmhxMkFic0pnWkFlOGFDZXdD?= =?utf-8?B?MVM1M1B0K2cwQmhKdUtmbjZGY3FWN2VlNTJjc0VPZUhYaGtiMCtMTFRVSkpS?= =?utf-8?B?SlJxL1JWUzNJOFI2ZjJtRVExWlVKYVFwZ0xKeG9CNGIrNmRSblBkbHNLMEdE?= =?utf-8?B?dkFDdERBMXdWcDRQYW9CSlZUSFRmV1BmL1kzOVRmenprYytBVmx4dFVvbVFD?= =?utf-8?B?OXR6NDFRc05qNmdmZlpSU3cxQWNxdUZJV0lnUVJwT1ErYjJ5cFdqWjl1cXRi?= =?utf-8?B?T3phSGdMOFNnek96UVdma0hRaTFGMHJxczdGV01vTy9rUG0rYXdRU1B6MUlB?= =?utf-8?B?R1VoOXVnMDZTc3F0M2F6Z2VkM2RsWmZuOVluN2RhTm5oU2x5TUlPZUlDNXlw?= =?utf-8?B?V2FlWVR1citSVGM3S0ZnejRvbE1tVk9ibG5UdVNJTU9NbmhqRVlRQlc2aUtH?= =?utf-8?B?M2RhcytIRmtrZGdSVWFLNjduRDJTYVNVYTF5ZzlGQ3lQdGxYWHBvOFp0Y0hL?= =?utf-8?B?WWF5ZkFOdTdERDBPU3k4ZkFLUk1lc3BpeGR2VGlnMzI4MmR1ZXp3RUVPblF4?= =?utf-8?B?bkZZWWxyRWtKK20wU0R3bUIwc2tqVktFTVNmeHBYTVo4ajI0UkYvMVRKN2dO?= =?utf-8?B?ODFnT1g2RVdSN0EzaE1nZEd5NFltcGlnMktFNWdSZVgxbUNXaWxuSzFRMVVE?= =?utf-8?B?dFBEVkN3NE5INDdWekRMYnM3TWZveFdFVmh6U3IraGlpaFd1dkxDbDd4djJi?= =?utf-8?B?dEVKWEhFMEtRRGVjN0pVa0JhOTZtZUlMT1JCRFZoTEF2aWQ4UG52RmVCV0RB?= =?utf-8?B?L2oxQWp6RFBuSHRNZitGSTlPZUo5TEIxTE50MzVaekRqYjlxaEo2elZHam5P?= =?utf-8?B?UXgyMzFnMnNqNURFanRoWUxGT2pHNlVRengzUStHaW5sNVkvOVk5a0RCZm9C?= =?utf-8?B?Q2VSTFVEV09vb0NZME1LK3QrZ2NCUklKOCttSEZUc256eU5ubUlGZFF6Zmts?= =?utf-8?B?WG9wcnhDbUttdmJGTkNYK2FFdUpqZ2QzWVlpWWpQNVZ6K0dyL3ZWUUNOVVQ2?= =?utf-8?B?L1ZPN3lJMnNiY3d1UVZlK0ZxTkM5NWNZeTE4RlZZQkJQTVV6cWUzbWU0VDAw?= =?utf-8?B?aTRvMUZyVlJQZlBXRng5TmxQWU1SaHNVNlB5NmNlQS9pa0Jrc1RmdlFGTWFz?= =?utf-8?B?dDV4a3R4eGhZOUpOeW80bjgrWXFjTVhEMnRKQWNqZHZQL052WjF1Q2QvRGdC?= =?utf-8?B?VXllaXE5SU50aDJmNGMrTkVBQVJ1V1o4dE9ENkEzRHpZOUZFTjZ6Z2JweHVX?= =?utf-8?B?eUhENVFSeE9OcXF2blhaV0tQYVlaVkJZdjlkYWEvRFRVTFoxSjYzdUN5aUJ6?= =?utf-8?B?anIrbVByOE40QlNtdDdOazgzZGxqSmlKTmROaWJzMGtMTE1YV0I0UmJCQjVv?= =?utf-8?Q?aSTFU+baRIwQ3NfxT50uLrg9+XbU62I8Nr888h9?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: nxp.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB9PR04MB8429.eurprd04.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 125f6634-402c-4847-4477-08d9478cec25 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Jul 2021 12:34:43.1927 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 686ea1d3-bc2b-4c6f-a92c-d99c5c301635 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: Kbq22A6F4MaUkl1nddvTRr5pW8NrS1agwbwj2xqTpbJo2ASpMBM2J6VZsIOMdJ+Df6nJWhjdjGDd89n8gsO+bQ== X-MS-Exchange-Transport-CrossTenantHeadersStamped: DB7PR04MB4956 Subject: Re: [dpdk-dev] [PATCH v3] dmadev: introduce DMA device 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 cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogVGh1cnNkYXksIEp1bHkgMTUsIDIwMjEgNjow MiBQTQ0KPiBUbzogQnJ1Y2UgUmljaGFyZHNvbiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+ DQo+IENjOiBOaXB1biBHdXB0YSA8bmlwdW4uZ3VwdGFAbnhwLmNvbT47IGZlbmdjaGVuZ3dlbg0K PiA8ZmVuZ2NoZW5nd2VuQGh1YXdlaS5jb20+OyB0aG9tYXNAbW9uamFsb24ubmV0OyBmZXJydWgu eWlnaXRAaW50ZWwuY29tOw0KPiBqZXJpbmpAbWFydmVsbC5jb207IGFuZHJldy5yeWJjaGVua29A b2t0ZXRsYWJzLnJ1OyBkZXZAZHBkay5vcmc7DQo+IG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbTsg SGVtYW50IEFncmF3YWwgPGhlbWFudC5hZ3Jhd2FsQG54cC5jb20+Ow0KPiBtYXhpbWUuY29xdWVs aW5AcmVkaGF0LmNvbTsgaG9ubmFwcGEubmFnYXJhaGFsbGlAYXJtLmNvbTsNCj4gZGF2aWQubWFy Y2hhbmRAcmVkaGF0LmNvbTsgc2J1cmxhQG1hcnZlbGwuY29tOyBwa2Fwb29yQG1hcnZlbGwuY29t Ow0KPiBrb25zdGFudGluLmFuYW55ZXZAaW50ZWwuY29tOyBHYWdhbmRlZXAgU2luZ2ggPEcuU2lu Z2hAbnhwLmNvbT4NCj4gU3ViamVjdDogUmU6IFtQQVRDSCB2M10gZG1hZGV2OiBpbnRyb2R1Y2Ug RE1BIGRldmljZSBsaWJyYXJ5DQo+IA0KPiBPbiBUaHUsIEp1bCAxNSwgMjAyMSBhdCA1OjQxIFBN IEJydWNlIFJpY2hhcmRzb24NCj4gPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPiB3cm90ZToN Cj4gPg0KPiA+IE9uIFRodSwgSnVsIDE1LCAyMDIxIGF0IDExOjE2OjU0QU0gKzAwMDAsIE5pcHVu IEd1cHRhIHdyb3RlOg0KPiA+ID4NCj4gPiA+DQo+ID4gPiA+IC0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQo+ID4gPiA+IEZyb206IGZlbmdjaGVuZ3dlbiA8ZmVuZ2NoZW5nd2VuQGh1YXdlaS5j b20+DQo+ID4gPiA+IFNlbnQ6IFRodXJzZGF5LCBKdWx5IDE1LCAyMDIxIDE6NTkgUE0NCj4gPiA+ ID4gVG86IE5pcHVuIEd1cHRhIDxuaXB1bi5ndXB0YUBueHAuY29tPjsgdGhvbWFzQG1vbmphbG9u Lm5ldDsNCj4gPiA+ID4gZmVycnVoLnlpZ2l0QGludGVsLmNvbTsgYnJ1Y2UucmljaGFyZHNvbkBp bnRlbC5jb207IGplcmluakBtYXJ2ZWxsLmNvbTsNCj4gPiA+ID4gamVyaW5qYWNvYmtAZ21haWwu Y29tOyBhbmRyZXcucnliY2hlbmtvQG9rdGV0bGFicy5ydQ0KPiA+ID4gPiBDYzogZGV2QGRwZGsu b3JnOyBtYkBzbWFydHNoYXJlc3lzdGVtcy5jb207IEhlbWFudCBBZ3Jhd2FsDQo+ID4gPiA+IDxo ZW1hbnQuYWdyYXdhbEBueHAuY29tPjsgbWF4aW1lLmNvcXVlbGluQHJlZGhhdC5jb207DQo+ID4g PiA+IGhvbm5hcHBhLm5hZ2FyYWhhbGxpQGFybS5jb207IGRhdmlkLm1hcmNoYW5kQHJlZGhhdC5j b207DQo+ID4gPiA+IHNidXJsYUBtYXJ2ZWxsLmNvbTsgcGthcG9vckBtYXJ2ZWxsLmNvbTsNCj4g a29uc3RhbnRpbi5hbmFueWV2QGludGVsLmNvbTsNCj4gPiA+ID4gR2FnYW5kZWVwIFNpbmdoIDxH LlNpbmdoQG54cC5jb20+DQo+ID4gPiA+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjNdIGRtYWRldjog aW50cm9kdWNlIERNQSBkZXZpY2UgbGlicmFyeQ0KPiA+ID4gPg0KPiA+ID4gPiBPbiAyMDIxLzcv MTQgMjA6MjIsIE5pcHVuIEd1cHRhIHdyb3RlOg0KPiA+ID4gPiA+IDxzbmlwPg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4+ICsvKioNCj4gPiA+ID4gPj4gKyAqIEEgc3RydWN0dXJlIHVzZWQgdG8gY29u ZmlndXJlIGEgdmlydHVhbCBETUEgY2hhbm5lbC4NCj4gPiA+ID4gPj4gKyAqLw0KPiA+ID4gPiA+ PiArc3RydWN0IHJ0ZV9kbWFkZXZfdmNoYW5fY29uZiB7DQo+ID4gPiA+ID4+ICsgICAgICAgIHVp bnQ4X3QgZGlyZWN0aW9uOw0KPiA+ID4gPiA+PiArICAgICAgICAvKio8IFNldCBvZiBzdXBwb3J0 ZWQgdHJhbnNmZXIgZGlyZWN0aW9ucw0KPiA+ID4gPiA+PiArICAgICAgICAgKiBAc2VlIFJURV9E TUFfTUVNX1RPX01FTQ0KPiA+ID4gPiA+PiArICAgICAgICAgKiBAc2VlIFJURV9ETUFfTUVNX1RP X0RFVg0KPiA+ID4gPiA+PiArICAgICAgICAgKiBAc2VlIFJURV9ETUFfREVWX1RPX01FTQ0KPiA+ ID4gPiA+PiArICAgICAgICAgKiBAc2VlIFJURV9ETUFfREVWX1RPX0RFVg0KPiA+ID4gPiA+PiAr ICAgICAgICAgKi8NCj4gPiA+ID4gPj4gKyAgICAgICAgLyoqIE51bWJlciBvZiBkZXNjcmlwdG9y IGZvciB0aGUgdmlydHVhbCBETUEgY2hhbm5lbCAqLw0KPiA+ID4gPiA+PiArICAgICAgICB1aW50 MTZfdCBuYl9kZXNjOw0KPiA+ID4gPiA+PiArICAgICAgICAvKiogMSkgVXNlZCB0byBkZXNjcmli ZXMgdGhlIHBvcnQgcGFyYW1ldGVyIGluIHRoZSBkZXZpY2UtdG8tDQo+IG1lbW9yeQ0KPiA+ID4g PiA+PiArICAgICAgICAgKiB0cmFuc2ZlciBzY2VuYXJpby4NCj4gPiA+ID4gPj4gKyAgICAgICAg ICogMikgVXNlZCB0byBkZXNjcmliZXMgdGhlIHNvdXJjZSBwb3J0IHBhcmFtZXRlciBpbiB0aGUN Cj4gPiA+ID4gPj4gKyAgICAgICAgICogZGV2aWNlLXRvLWRldmljZSB0cmFuc2ZlciBzY2VuYXJp by4NCj4gPiA+ID4gPj4gKyAgICAgICAgICogQHNlZSBzdHJ1Y3QgcnRlX2RtYWRldl9wb3J0X3Bh cmFtZXRlcnMNCj4gPiA+ID4gPj4gKyAgICAgICAgICovDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBU aGVyZSBzaG91bGQgYWxzbyBiZSBhIGNvbmZpZ3VyYXRpb24gdG8gc3VwcG9ydCBubyByZXNwb25z ZSAocGVyIFZpcnR1YWwNCj4gPiA+ID4gQ2hhbm5lbCksDQo+ID4gPiA+ID4gQW5kIGlmIHRoYXQg aXMgZW5hYmxlZCwgdXNlciB3aWxsIG5vdCBiZSByZXF1aXJlZCB0byBjYWxsDQo+ICdydGVfZG1h ZGV2X2NvbXBsZXRlZCcNCj4gPiA+ID4gQVBJLg0KPiA+ID4gPiA+IFRoaXMgc2hhbGwgYWxzbyBi ZSBwYXJ0IG9mIGNhcGFiaWxpdHkuDQo+ID4gPiA+DQo+ID4gPiA+IERvIHlvdSBtZWFuIHNvbWUg c2lsZW50IG1vZGU/IFRoZSBhcHBsaWNhdGlvbiBvbmx5IG5lZWRzIHRvIHN1Ym1pdA0KPiByZXF1 ZXN0cw0KPiA+ID4gPiB0byB0aGUNCj4gPiA+ID4gaGFyZHdhcmUuDQo+ID4gPiA+DQo+ID4gPiA+ IENvdWxkIHlvdSBicmllZmx5IGRlc2NyaWJlIHRoZSB3b3JraW5nIHByaW5jaXBsZXMgYW5kIGFw cGxpY2F0aW9uIHNjZW5hcmlvcw0KPiBvZg0KPiA+ID4gPiB0aGUNCj4gPiA+ID4gY29ycmVzcG9u ZGluZyBkZXZpY2U/DQo+ID4gPg0KPiA+ID4gSXQgaXMga2luZCBvZiBhIHNpbGVudCBtb2RlIHcu ci50LiB0aGUgY29tbWFuZCBjb21wbGV0aW9uIGZyb20gUURNQS4NCj4gPiA+DQo+ID4gPiBUaGVy ZSBjb3VsZCBiZSBsZXZlbCBvZiBzeW5jaHJvbml6YXRpb24gaW4gdGhlIGFwcGxpY2F0aW9ucyBh dCBhIGhpZ2hlciBsZXZlbA0KPiBkdWUNCj4gPiA+IFRvIHdoaWNoIFFETUEgc3RhdHVzIGRlcXVl dWUgd291bGQgbm90IGJlIG5lY2Vzc2FyeSBhbmQgYmUgYW4gb3ZlcmhlYWQuDQo+ID4gPiBJbiB0 aGlzIG1vZGUgZXh0cmEgZGF0YS9ieXRlcyBjb3VsZCBiZSBwYXNzZWQgd2l0aCBETUEgd2hpY2gg d291bGQNCj4gaW5kaXJlY3RseQ0KPiA+ID4gaW5kaWNhdGUgaWYgRE1BIGlzIGNvbXBsZXRlIG9y IG5vdC4NCj4gPiA+DQo+ID4gSSdtIHdvbmRlcmluZyBpZiBzdWNoIGEgc2V0dGluZyBjb3VsZCBi ZSBwZXItZGV2aWNlIChpLmUuIHBlciBIVyBxdWV1ZSkNCj4gPiByYXRoZXIgdGhhbiBwZXIgdmly dHVhbCBjaGFubmVsPyBTb21ldGhpbmcgbGlrZSB0aGlzIHdvdWxkIGJlIGVhc2llciB0bw0KPiA+ IHN1cHBvcnQgaW4gdGhhdCB3YXksIGJlY2F1c2Ugd2UgY291bGQgdXNlIGRpZmZlcmVudCBmdW5j dGlvbiBwb2ludGVycyBmb3INCj4gPiB0aGUgZmFzdHBhdGggb3BlcmF0aW9ucyBkZXBlbmRpbmcg b24gd2hldGhlciBjb21wbGV0aW9ucyBhcmUgdG8gYmUgdHJhY2tlZA0KPiA+IG9yIG5vdC4gRm9y IGV4YW1wbGU6IG9ubHkgb2NjYXNpb25hbCBkZXNjcmlwdG9ycyB3aWxsIG5lZWQgY29tcGxldGlv bg0KPiA+IGFkZHJlc3NlcyBzcGVjaWZpZWQgaW4gdGhlICJlbnF1ZXVlIiBjYWxscywgYW5kIHRo ZSAic3VibWl0IiBmdW5jdGlvbiB3b3VsZA0KPiA+IGFsc28gZG8gYW55IHJpbmcgY2xlYW51cCB0 aGF0IHdvdWxkIG90aGVyd2lzZSBiZSBkb25lIGJ5ICJjb21wbGV0ZWQiIGNhbGwuDQo+ID4gSGF2 aW5nIHNlcGFyYXRlIGZ1bmN0aW9uIGNhbGxzIHdvdWxkIHJlZHVjZSB0aGUgbnVtYmVyIG9mIGJy YW5jaGVzIHRoYXQNCj4gPiBuZWVkIHRvIGJlIGV2YWx1YXRlZCBpbiB0aGlzIG1vZGUsIGFzIHdl bGwgYXMgc2ltcGxpZnlpbmcgdGhlIGNvZGUuDQoNCkFncmVlLCBhZGRpbmcgY29uZmlnIGZvciB0 aGUgZGV2aWNlIG1ha2VzIHNlbnNlLg0KDQo+IA0KPiANCj4gKzEgdG8gYWRkIGluIGNvbmZpZyBw YXJhbSBpZS4gZm9yIHRoZSBkZXZpY2UuDQo+IA0KPiA+DQo+ID4gL0JydWNlDQo=