From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from dpdk.org (dpdk.org [92.243.14.124]) by inbox.dpdk.org (Postfix) with ESMTP id F4021A0577; Mon, 6 Apr 2020 21:11:41 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 15E662B96; Mon, 6 Apr 2020 21:11:41 +0200 (CEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10043.outbound.protection.outlook.com [40.107.1.43]) by dpdk.org (Postfix) with ESMTP id BE0B02B83 for ; Mon, 6 Apr 2020 21:11:38 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=PycGpExcsF73ueISbJi5yse28NHJOtCJlKxGhW4rSW3bGzQXhTQOe5hjnRPcu+U0THYLNpa7vw6SDuZJOE4KILOAh12g1al7PW/ZmJK7p5QEtuRuN0AvompdfUPU/s1NQLRxJw4Hl8neWlQJo0IEH50VvJ1PrPFhiZfIpRoun3ey1ilfx0rAGWrpjH+E+hhzBCLzmbkRb9LZGSCq+/DkSy4UX1YVVrtYkxuhwTlGpV83KAkhUi4yvME8A/ERJhWGRQ7JgP/junU8iUgPNZgMsI5ETC675vKSHMFoS5Q6j8w8G508xBFLSnMZJyn7zayfDgFqCCNe+kLCt0k3CG0OwQ== 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=JUkfz4xWzvniB/mAf94ylV50Nk882uxp4JPb1e0tErY=; b=VG2ySXkGC9aEfkb5pwJ+9PaiRY3qw+Gn+9HThLfRlcbyZNUmnihS7etzrBYgPb4aTknLilGflFoy2bD1BIiOUbUUW8Lt8WzAitFYKjN/erX/zjbTxpvQOgq0hAbNH11pX7iZwJ+5WDl7O/1vf06Ph5DLR7/lARUQ8NXRpbH/Lmicoz+3gQCi9xCqToC4ilwFLHGirsYljp0HiH3oo/JjOmpWexSL0Q17pKUnQhAJlFQnJX9yPDI9nrlxmIfamTELElNosYkVKReQFp9Ray9C/5mfArMikhfIEk+rtbetkkEdCbgcHEMLXf5uQ5TRd028+rVbjFG0duOTsQJo1cFYqA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mellanox.com; dmarc=pass action=none header.from=mellanox.com; dkim=pass header.d=mellanox.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=JUkfz4xWzvniB/mAf94ylV50Nk882uxp4JPb1e0tErY=; b=OaE9LvpVhNjGLD1LmXnd83bxK+jQIbMyoFDo9zEPoQjXJKDclLjM2h62uuOOrk4uPn5alC7VhlTtOocvuncmc5vYM5OavfIZkH8Hl6WMs+KYl5GK2InMXZy/4jrzzPLWTg9FMMnPk4FFV0sHbJLzT5QvaY1t7F7+vyCW8DhaW/M= Received: from AM6PR05MB5176.eurprd05.prod.outlook.com (2603:10a6:20b:63::30) by AM6PR05MB6247.eurprd05.prod.outlook.com (2603:10a6:20b:b0::16) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2878.17; Mon, 6 Apr 2020 19:11:36 +0000 Received: from AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::f5cd:b10f:5f1b:4b22]) by AM6PR05MB5176.eurprd05.prod.outlook.com ([fe80::f5cd:b10f:5f1b:4b22%7]) with mapi id 15.20.2878.018; Mon, 6 Apr 2020 19:11:36 +0000 From: Ori Kam To: Jerin Jacob , Thomas Monjalon CC: Jerin Jacob Kollanukkaran , "xiang.w.wang@intel.com" , Pavan Nikhilesh Bhagavatula , "dev@dpdk.org" , Shahaf Shuler , "hemant.agrawal@nxp.com" , Opher Reviv , Alex Rosenbaum , Dovrat Zifroni , Prasun Kapoor , "nipun.gupta@nxp.com" , "bruce.richardson@intel.com" , "yang.a.hong@intel.com" , "harry.chang@intel.com" , "gu.jian1@zte.com.cn" , "shanjiangh@chinatelecom.cn" , "zhangy.yun@chinatelecom.cn" , "lixingfu@huachentel.com" , "wushuai@inspur.com" , "yuyingxia@yxlink.com" , "fanchenggang@sunyainfo.com" , "davidfgao@tencent.com" , "liuzhong1@chinaunicom.cn" , "zhaoyong11@huawei.com" , "oc@yunify.com" , "jim@netgate.com" , "hongjun.ni@intel.com" , "j.bromhead@titan-ic.com" , "deri@ntop.org" , "fc@napatech.com" , "arthur.su@lionic.com" , Parav Pandit Thread-Topic: [dpdk-dev] [EXT] [PATCH v1 3/4] regexdev: add regexdev core functions Thread-Index: AQHWDBi+1fTFZvTb40uKgjZnxnlvJ6hsccog Date: Mon, 6 Apr 2020 19:11:35 +0000 Message-ID: References: <1585464438-111285-1-git-send-email-orika@mellanox.com> <2061995.157zFVKu8G@xps> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: spf=none (sender IP is ) smtp.mailfrom=orika@mellanox.com; x-originating-ip: [185.149.253.12] x-ms-publictraffictype: Email x-ms-office365-filtering-ht: Tenant x-ms-office365-filtering-correlation-id: 0b4a9c93-e9a4-4019-b107-08d7da5e53a4 x-ms-traffictypediagnostic: AM6PR05MB6247:|AM6PR05MB6247: x-ld-processed: a652971c-7d2e-4d9b-a6a4-d149256f461b,ExtAddr x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0365C0E14B x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:AM6PR05MB5176.eurprd05.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(10009020)(4636009)(136003)(366004)(39860400002)(396003)(376002)(346002)(186003)(4326008)(8676002)(6506007)(316002)(9686003)(8936002)(66446008)(7406005)(7416002)(107886003)(66556008)(66476007)(76116006)(64756008)(53546011)(5660300002)(7696005)(81166006)(81156014)(66946007)(33656002)(86362001)(2906002)(52536014)(55016002)(54906003)(478600001)(71200400001)(26005)(110136005); DIR:OUT; SFP:1101; received-spf: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NRk9T0f301hhrpXn8/w2niZ3RX5BOvfi1nY74sh7dsiXlfYUmowPWBCp1X+jIfz61ioguIhM3VxAvXgTQAglukev7Kn6tow5jJ66to4dj+BwDZmI/RWoI9I1WqbS1fjFx+qjxVFUaTtlW36vsr3FXNV3b8CGwqiCkOja6xHpHYBiEg0xmYAxKuWRYJHSEmKBh7NGZEh9qn9fEZ8KCijv8CUlhlR4grA48cGAY/Km3cTiTZkmIDfI9feLyU3OpTOBxAMSayadVTx2HlQOYCcID8dxOAdv7TwujicKMygLozownKJ0bS4ha5GDvpUbZ8fgQGOejxbUugOqUDdJ6kPY1GBLxWMUkokMVmDh5JaFjQkY0zGKg50DcDbhuR0Zr2rHpYJqs3o+QyuDkrjToepvDNsfzua+7Uo7XOJUFu3Bxsl04rydUetvm1935alqc10v x-ms-exchange-antispam-messagedata: V4pha47q5Ns0MSeNarK6/RxivYiKBHA51sMBY0Lnfw8lD/AwNAC1WXqjiqe+T2oDyi/szrpic6YmNdxCL0PwwaDJPoVTRHlW18mV4sWMS9ZWCaO0x4VDXVXZNbpSa/hlfSG0EyETyQL5aA0lw9QPLA== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0b4a9c93-e9a4-4019-b107-08d7da5e53a4 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Apr 2020 19:11:35.9668 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: YWukUhCFcyJRui2+ocS4QZAS5mY0LSb9HB5zcaIXDMjPkpD73MxqhiIQg9vbZsrYu6RsLnyj9d+kZ9XOWHa+1w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB6247 Subject: Re: [dpdk-dev] [EXT] [PATCH v1 3/4] regexdev: add regexdev core functions X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 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" SGkgDQoNCkJlc3QsDQpPcmkNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTog SmVyaW4gSmFjb2IgPGplcmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogTW9uZGF5LCBBcHJp bCA2LCAyMDIwIDQ6MzkgUE0NCj4gVG86IFRob21hcyBNb25qYWxvbiA8dGhvbWFzQG1vbmphbG9u Lm5ldD4NCj4gQ2M6IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IEplcmluIEphY29iIEtv bGxhbnVra2FyYW4NCj4gPGplcmluakBtYXJ2ZWxsLmNvbT47IHhpYW5nLncud2FuZ0BpbnRlbC5j b207IFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZhdHVsYQ0KPiA8cGJoYWdhdmF0dWxhQG1hcnZlbGwu Y29tPjsgZGV2QGRwZGsub3JnOyBTaGFoYWYgU2h1bGVyDQo+IDxzaGFoYWZzQG1lbGxhbm94LmNv bT47IGhlbWFudC5hZ3Jhd2FsQG54cC5jb207IE9waGVyIFJldml2DQo+IDxvcGhlckBtZWxsYW5v eC5jb20+OyBBbGV4IFJvc2VuYmF1bSA8YWxleHJAbWVsbGFub3guY29tPjsgRG92cmF0DQo+IFpp ZnJvbmkgPGRvdnJhdEBtYXJ2ZWxsLmNvbT47IFByYXN1biBLYXBvb3IgPHBrYXBvb3JAbWFydmVs bC5jb20+Ow0KPiBuaXB1bi5ndXB0YUBueHAuY29tOyBicnVjZS5yaWNoYXJkc29uQGludGVsLmNv bTsgeWFuZy5hLmhvbmdAaW50ZWwuY29tOw0KPiBoYXJyeS5jaGFuZ0BpbnRlbC5jb207IGd1Lmpp YW4xQHp0ZS5jb20uY247IHNoYW5qaWFuZ2hAY2hpbmF0ZWxlY29tLmNuOw0KPiB6aGFuZ3kueXVu QGNoaW5hdGVsZWNvbS5jbjsgbGl4aW5nZnVAaHVhY2hlbnRlbC5jb207IHd1c2h1YWlAaW5zcHVy LmNvbTsNCj4geXV5aW5neGlhQHl4bGluay5jb207IGZhbmNoZW5nZ2FuZ0BzdW55YWluZm8uY29t Ow0KPiBkYXZpZGZnYW9AdGVuY2VudC5jb207IGxpdXpob25nMUBjaGluYXVuaWNvbS5jbjsNCj4g emhhb3lvbmcxMUBodWF3ZWkuY29tOyBvY0B5dW5pZnkuY29tOyBqaW1AbmV0Z2F0ZS5jb207DQo+ IGhvbmdqdW4ubmlAaW50ZWwuY29tOyBqLmJyb21oZWFkQHRpdGFuLWljLmNvbTsgZGVyaUBudG9w Lm9yZzsNCj4gZmNAbmFwYXRlY2guY29tOyBhcnRodXIuc3VAbGlvbmljLmNvbTsgUGFyYXYgUGFu ZGl0IDxwYXJhdkBtZWxsYW5veC5jb20+DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtFWFRd IFtQQVRDSCB2MSAzLzRdIHJlZ2V4ZGV2OiBhZGQgcmVnZXhkZXYgY29yZQ0KPiBmdW5jdGlvbnMN Cj4gDQo+IE9uIE1vbiwgQXByIDYsIDIwMjAgYXQgNzowMCBQTSBUaG9tYXMgTW9uamFsb24gPHRo b21hc0Btb25qYWxvbi5uZXQ+DQo+IHdyb3RlOg0KPiA+DQo+ID4gMDYvMDQvMjAyMCAxNDo0OCwg UGF2YW4gTmlraGlsZXNoIEJoYWdhdmF0dWxhOg0KPiA+ID4gPiBGcm9tOiBQYXZhbiBOaWtoaWxl c2ggQmhhZ2F2YXR1bGENCj4gPiA+ID4+ID4+IEZyb206IFBhdmFuIE5pa2hpbGVzaCBCaGFnYXZh dHVsYQ0KPiA+ID4gPj4gPj4NCj4gPiA+ID4+ID4+IExvb2tzIGxpa2UgdGhpcyBpbXBsZW1lbnRh dGlvbiBpcyBpbmNvbXBsZXRlPw0KPiA+ID4gPj4gPj4gSSBkb24ndCBzZWUgYW55IHBtZCBzcGVj aWZpYyBoZWxwZXIgZnVuY3Rpb25zIGZvciBAc2VlDQo+ID4gPiA+PiA+cnRlX2NyeXB0b2Rldl9w bWQuYywNCj4gPiA+ID4+ID4+IHJ0ZV9ldmVudGRldl9wbWQqDQo+ID4gPiA+PiA+Pg0KPiA+ID4g Pj4gPkkgdGhpbmsgdGhlIGN1cnJlbnQgaW1wbGVtZW50YXRpb24gaW5jbHVkZXMgYWxsIG5lZWRl ZCBmdW5jdGlvbnMsDQo+ID4gPiA+PiA+YXQgbGVhc3QgZm9yIHRoZSBmaXJzdCBzdGFnZS4NCj4g PiA+ID4+ID5Zb3UgY2FuIGZpbmQgaW4gcnRlX3JlZ2V4ZGV2X2RyaXZlci5oIHRoZSBmdW5jdGlv bnMgdGhhdCBzaG91bGQgYmUNCj4gPiA+ID4+ID5jYWxsZWQNCj4gPiA+ID4+ID5ieSB0aGUgUE1E LiBXZSBoYXZlIHRoZSByZWdpc3RlciAvIHVucmVnaXN0ZXIgd2hpY2ggYWN0cyB0aGUgc2FtZQ0K PiA+ID4gPmFzDQo+ID4gPiA+PiA+Y3JlYXRlDQo+ID4gPiA+PiA+YW5kIGRlc3Ryb3kuIEZvciBw YXJzaW5nIGFyZ3VtZW50IHRoZSBQTUQgbWF5IGNhbGwNCj4gPiA+ID5ydGVfa3ZhcmdzX3BhcnNl Lg0KPiA+ID4gPj4gPg0KPiA+ID4gPj4NCj4gPiA+ID4+IF9kcml2ZXIuaCBzaG91bGQgYXRsZWFz dCBpbmNsdWRlDQo+ID4gPiA+PiBydGVfcmVnZXhfZGV2X3BjaV9nZW5lcmljX3Byb2JlL3J0ZV9y ZWdleF9wbWRfdmRldl9pbml0DQo+ID4gPiA+PiBlbHNlIHRoZXJlIHdvdWxkIGJlIGEgbG90IG9m IGNvZGUgcmVwZXRpdGlvbiBhbmQgcG9zc2libHkgdWRlZmluZWQNCj4gPiA+ID5iZWhhdmlvcg0K PiA+ID4gPj4gYXQgdGhlIGRyaXZlciBsYXllci4NCj4gPiA+ID4+DQo+ID4gPiA+V2h5IHNob3Vs ZCB0aGV5IGJlIGluY2x1ZGVkPyBBdCBsZWFzdCBpbiB0aGlzIHN0YWdlLCB0aGVyZSBpcyBubyBj b2RlIHRvDQo+ID4gPiA+c2hhcmUNCj4gPiA+ID5ldGhkZXYgd2h5IHNob3VsZCB3ZSBhZGQgY29k ZSBmb3IgdGhlIHZkZXY/DQo+ID4gPg0KPiA+ID4gT2sgSSB0aGluayBJIGZhaWxlZCB0byBjb21t dW5pY2F0ZSBteSBjb25jZXJucyBhY3Jvc3MuDQo+ID4gPiBMZXQgbWUgcmV0cnkNCj4gPiA+DQo+ ID4gPiAxLiBTVyBiYXNlZCByZWdleCBkZXZpY2VzIHN1Y2ggYXMgUENSRS9IeXBlcnNjYW4gcmVs eSBvbiB2ZGV2IGZyYW1ld29yaw0KPiA+ID4gaS5lLiB1c2VyIG5lZWRzIHRvIHBhc3MgYW4gRUFM IGFyZ3VtZW50IC0tdmRldj0icmVnZXhfcGNyZSIgZm9yIHRoZSBkcml2ZXINCj4gdG8NCj4gPiA+ IGluaXRpYWxpemUgYWxsIHRoZSBvdGhlciBFQUwgc3Vic3lzdGVtcyAoZXRoZGV2LCBldmVudGRl diwgY3J5cHRvZGV2LA0KPiBldGMuLilzdXBwb3J0IHRoaXMuDQo+ID4NCj4gPiB2ZGV2IGhlbHBl cnMgZG8gbm90IGhhdmUgdG8gYmUgcGFydCBvZiB0aGUgZmlyc3QgcGF0Y2hlcyB3aGljaCBkZWZp bmUgQVBJLg0KPiA+IEl0IHNob3VsZCBiZSBhZGRlZCB3aGVuIGFkZGluZyB0aGUgZmlyc3QgdmRl diBkcml2ZXIuDQo+IA0KPiBZZXMuIFdoZW4gd2UgYWRkIHZkZXYsIHdlIHNob3VsZCBub3QgcmV3 cml0ZSBhZ2FpbiB0byBzdXBwb3J0IHZkZXYuDQo+IFNvIGNhcmUgbXVzdCB0YWtlbiBmb3IgcHJv cGVyIGltcGxlbWVudGF0aW9uIGluIHRoZSBmaXJzdCBwbGFjZSBhdm9pZCByZXdvcmsuDQo+IA0K PiBJZiBpdCBhYnN0cmFjdHMgaXQgcHJvcGVybHkgYWRkaW5nIHZkZXYgYW5kIFBDSSBpcyBhIHNp bXBsZSBjaGFuZ2UuDQo+IFNlZQ0KPiANCj4gbGliL2xpYnJ0ZV9ldmVudGRldi9ydGVfZXZlbnRk ZXZfcG1kX3ZkZXYuaA0KPiBsaWIvbGlicnRlX2V2ZW50ZGV2L3J0ZV9ldmVudGRldl9wbWRfcGNp LmgNCj4gDQo+IEkgdGhpbmssIHRoZSBjb21tb24gY29kZSBzaG91bGQgdGFrZSBmcm9tIG90aGVy IG1hdHVyZWQgc3Vic3lzdGVtIGluc3RlYWQgaWYNCj4gd3JpdGluZyBmcm9tIHNjcmF0Y2gsDQo+ IA0KSSBhZ3JlZSB3aXRoIHlvdSBhYm91dCB0aGUgcmV3cml0ZSwgYnV0IHRoaXMgaXMgd2h5IEkg ZG9uJ3Qgd2FudCB0byBhZGQgdGhpcyBjb2RlDQp1bnRpbCBJIGtub3cgd2hhdCB0aGlzIGNvZGUg c2hvdWxkIGRvIGFuZCBob3cgaXQgc2hvdWxkIGJlIHVzZWQuDQpJICBkb24ndCBhZ3JlZSwgdGhh dCBvbmUgc3Vic3lzdGVtIGlzIGxpa2Ugb3RoZXIgb25lIGJ5IGRlZmF1bHQsIGFuZCB0aGF0IGlm IHNvbWV0aGluZw0KaXMgZG9uZSBmb3Igb25lIHN1YnN5c3RlbSBpdCBzaG91bGQgYmUgZG9uZSBm b3Igb3RoZXIuDQpOb3QgYWx3YXlzIHdoYXQgd2FzIGRvbmUgYmVmb3JlIGlzIHRoZSBiZXN0Lg0K DQpTb21lIHRpbWUgYmFjayB0aGVyZSB3YXMgYSBsb25nIHRocmVhZCBhYm91dCBldGhkZXYgYW5k IHRoZSBydGUgZGV2aWNlDQp3aGVyZSBzaG91bGQgaXQgYmUgcmVsZWFzZWQgYW5kIGJ5IHdob20u IA0KTXkgYmFzaWMgdGhpbmtpbmcgaXMgdGhhdCB1bmxlc3MgcHJvdmVuIG90aGVyd2lzZSB0aGUg Y29kZSBzaG91bGQgYmUgaW4gdGhlIFBNRA0KdGhpcyBpcyBhbHNvIHdoeSBpdCBpcyBpbXBvcnRh bnQgZm9yIG1lIHRvIGdldCB0aGlzIHJ0ZSBsZXZlbCBBUEkgYWNrZWQuDQp3aGVuIHN0YXJ0aW5n IHRvIGltcGxlbWVudCB0aGUgY29kZSBmb3IgdGhlIFBNRCBpdCB3aWxsIGJlIGNsZWFyZWQgd2hh dCANCmlzIHRoZSBzaGFyZWQgY29kZSBhbmQgaG93IGl0IGlzIGJlc3QgdG8gY29uZmlndXJlIHRo ZSBzeXN0ZW0uDQpBbHNvIHRoaXMgaXMgbm90IGV4dGVybmFsIEFQSSBzbyBpdCBjYW4gYmUgY2hh bmdlZCBhdCBhbnkgdGltZS4gDQpTYXlpbmcgdGhhdCBJIGRvbid0IHRoaW5rIHdlIHNob3VsZCB3 YWl0IGxvbmcgYmVmb3JlIGFkZGluZyBzdWNoIGNvZGUuDQpJIHRoaW5rIHRoYXQgd2hlbiB3ZSB3 aWxsIGhhdmUgb3VyIGZpcnN0IFBNRCB3ZSBrbm93IGJldHRlciBpZiBzdWNoIA0KZnVuY3Rpb24g aXMgbmVlZGVkLg0KQWxzbyB0aGluayBhYm91dCB0aGF0IG1heWJlIHRoaXMgUE1EIHdpbGwgYmUg c2hhcmVkIHdpdGggdGhlIA0KbmV0IFBNRCBzbyBzdWNoIGZ1bmN0aW9uIHdpbGwgYWxzbyBpbnRy b2R1Y2UgbW9yZSBjb21wbGV4aXR5Lg0KDQo+IA0KPiA+DQo+ID4gPiAyLiBIVyBiYXNlZCBpbmRl cGVuZGVudCByZWdleCBkZXZpY2VzIHRoYXQgYXJlIGV4cG9zZWQgYXMgUENJIGRldmljZXMNCj4g d291bGQgbmVlZA0KPiA+ID4gIHBjaSBwcm9iZSBoZWxwZXJzLg0KPiA+DQo+ID4gU2FtZSwgUENJ IGhlbHBlcnMgY2FuIGJlIGFkZGVkIHdoaWxlIGFkZGluZyB0aGUgZmlyc3QgUENJIGRyaXZlci4N Cj4gPg0KPiA+IFdlIGNhbiBzeW5jaHJvbml6ZSBhYm91dCBob3cgdG8gc3BsaXQgdGhlIHdvcmss IGF2b2lkaW5nIHR3byBkZXZlbG9wZXJzDQo+ID4gZG9pbmcgdGhlIHNhbWUgdGhpbmcuIEJ1dCBs ZXQncyBub3QgbWFuZGF0ZSB0aGlzIHdvcmsgdG8gYmUgZG9uZQ0KPiA+IGFzIHBhcnQgb2YgdGhp cyBmaXJzdCBzZXJpZXMuDQo+ID4NCj4gPg0KPiA+DQo=