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 5D098A0562; Sun, 1 Mar 2020 16:58:04 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BCCD51BE81; Sun, 1 Mar 2020 16:58:03 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by dpdk.org (Postfix) with ESMTP id 1287123D for ; Sun, 1 Mar 2020 16:58:01 +0100 (CET) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 021Fsm5D000804; Sun, 1 Mar 2020 07:57:50 -0800 Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-0016f401.pphosted.com with ESMTP id 2yfp6vv0wj-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 01 Mar 2020 07:57:50 -0800 Received: from m0045849.ppops.net (m0045849.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 021FqLMY012225; Sun, 1 Mar 2020 07:57:50 -0800 Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0a-0016f401.pphosted.com with ESMTP id 2yfp6vv0wg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 01 Mar 2020 07:57:50 -0800 Received: from SC-EXCH04.marvell.com (10.93.176.84) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sun, 1 Mar 2020 07:57:48 -0800 Received: from NAM11-CO1-obe.outbound.protection.outlook.com (104.47.56.175) by SC-EXCH04.marvell.com (10.93.176.84) with Microsoft SMTP Server (TLS) id 15.0.1497.2 via Frontend Transport; Sun, 1 Mar 2020 07:57:48 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JDqR3EpxTylBwT5LpCIaA2Rx84VWDAIjpbY7Oqj/Kvt79UDLGGj2aarHGmIdUeDcdEBpvdr8mpaZeiY8IhTo4ueqsiiCR22fTLTjCtLl/wht29C5HqQib8CKnyilUfZIOEUH18jZsi+DeuB796j65lCdWmuSSmJbtfKsphD9pKUUyY6P4UiNuxQaBHtU0Nevij18sfKEGOR/81jWkUD4s/6V00LzKexkoVQi0h+rUlzP2AAAViNGKfPFEsNecH8vjZHjyVB324A2/li9XaMJfiqrAbM9fD9SErIcKH/KfsJkJl8eaACwGHG6SFoO0RsDrPJ9yz6NGK1Nr7sDB3kcQQ== 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=mBww4AoS76pz31EX7oyEX57jN/7tPH5ViWo5eFvR5mI=; b=Rlf6MftYJyN/oEM1s2Pqf7XBusKfhHafkeJPuifWCtAlqkNAscA5u7Gfz4MdfTGy0U2Lw+RhC8+fRF35cPsua+QyfeI+bRoH52sTILesgTdpWTA6/CAS/5pSzibDoDP8XPrlPsg7rPY9BJ5KuYB4OArdx4zOGc0dztROQNd89Q88ezuTFir81opYUAtiD+LIwbh9F6/A0+NbQ70ajgGSuNq2/A6b48AHPPI6wNNE4tGSa3Nsv9PRPCPXKgubnXyYuSqilZN22A+RComXg43qWTWWC67u7/Ty2BcA5sULnjcTHzfEGkQ8HhmrF/V5G+4+BXzAmIMP+Bu33bwqfq8+Dg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=marvell.com; dmarc=pass action=none header.from=marvell.com; dkim=pass header.d=marvell.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.onmicrosoft.com; s=selector1-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mBww4AoS76pz31EX7oyEX57jN/7tPH5ViWo5eFvR5mI=; b=hhMGJaxsPzuOXL+ut9EDj163yvTqrsEGeP7sdCq02aNZpx9RMZxjCVABN4wigURg0nobnlKNpSlAUQCZeF7RyYpAq2+B4krLlv+REbdLeZWkPtzAf/JrZ5PMk2svnDW2VkXJ7DAPO+jHyZ7nmJMobmDIo69QzWaxBmenhCJsrHg= Received: from CY4PR1801MB1863.namprd18.prod.outlook.com (2603:10b6:910:7b::32) by CY4PR1801MB1814.namprd18.prod.outlook.com (2603:10b6:910:78::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.18; Sun, 1 Mar 2020 15:57:47 +0000 Received: from CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::f937:9594:323b:29d0]) by CY4PR1801MB1863.namprd18.prod.outlook.com ([fe80::f937:9594:323b:29d0%7]) with mapi id 15.20.2772.018; Sun, 1 Mar 2020 15:57:47 +0000 From: Pavan Nikhilesh Bhagavatula To: Ori Kam , Jerin Jacob Kollanukkaran , "xiang.w.wang@intel.com" CC: "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" , "Thomas Monjalon" Thread-Topic: [EXT] [RFC v5] regexdev: introduce regexdev subsystem Thread-Index: AQHV7X/V1bE2uge9v026nqt38aqwHagzRE1QgAAXigCAAGFG8IAADiQAgAAGbRCAABMsgIAAAaDw Date: Sun, 1 Mar 2020 15:57:46 +0000 Message-ID: References: <20190627155036.56940-1-jerinj@marvell.com> <1582816115-95871-1-git-send-email-orika@mellanox.com> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [122.172.21.97] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 1ede62a5-dfb0-48be-95ed-08d7bdf94955 x-ms-traffictypediagnostic: CY4PR1801MB1814: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0329B15C8A x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(366004)(39840400004)(346002)(396003)(376002)(136003)(199004)(189003)(66556008)(66476007)(33656002)(66446008)(64756008)(53546011)(6506007)(52536014)(2906002)(71200400001)(478600001)(66946007)(110136005)(54906003)(8936002)(9686003)(4326008)(7696005)(55016002)(81156014)(81166006)(7416002)(76116006)(8676002)(316002)(86362001)(26005)(186003)(5660300002); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4PR1801MB1814; H:CY4PR1801MB1863.namprd18.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: marvell.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ejIFMMg4t/UC7rokAsryAEFXhilmI29erlzX+OlWXYg18ZimC9Qn6pF2OTaulp+E6JfPcY3F5nHyfj3E+4y5NsGqIYRm5OEcuFIsy3qDquLYqSP0NIF/8IPEemPXzdMpBJwemRy4U53Gxo84lFUUfNsQM2wOpd4YvUr26huWbTSBHGgGC1uNepAS4qPTRBks3He4GOlRsJfn8saQGoRZC3TXRPw7FuvHbrOBPFN88z4Xib/P/hRTo7/OtgoQzl42qfNhNvfW7bJx66ZOA+mF9iVLh4xAQtaEBCAKPEQ8rsMMZEcRwTqLs1kDCRBHwIeC+gI3HldPG6Ifil227mPLqZwbqsxK5WpNguKJ21YRgq90TDQwSQThKGPb5DmNabA00P8KnK6G4Hb2cv+lNX0SWDp6YdqosAadECLKzof8dRK/O6/JZA7BRc1vcXnjyKv6 x-ms-exchange-antispam-messagedata: HZBbcJyJt3jJcEbHSbrGCO7YUFTdLNZkF9keDRI3bEjHTHSPOjpmNqFP1ZqxOLdqEbgBAWVH0xDCgkzGhIzNkpO2pqFNSOxuigaBJEXpfEzDnUQ0F5Y76bHOs5UslrgwatrcELYrjmITuUMe4NT+Uw== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 1ede62a5-dfb0-48be-95ed-08d7bdf94955 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2020 15:57:46.9467 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 70e1fb47-1155-421d-87fc-2e58f638b6e0 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: SVUxTQx1XFAVU1/uos7yVITXHC+Oh/CKSerM26NwwQtBxxeXW9KDWryk68wgTI9PxY4uN+qK8UwhtK4xzVl1VjB88N74rLBL9u/ROcTgxX0= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4PR1801MB1814 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.138, 18.0.572 definitions=2020-03-01_04:2020-02-28, 2020-03-01 signatures=0 Subject: Re: [dpdk-dev] [EXT] [RFC v5] regexdev: introduce regexdev subsystem 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" SGkgT3JJLA0KDQo+DQo+SGkgUGF2YW4sDQo+DQo+DQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPj4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFBh dmFuIE5pa2hpbGVzaA0KPkJoYWdhdmF0dWxhDQo+PiBTZW50OiBTdW5kYXksIE1hcmNoIDEsIDIw MjAgNDozOCBQTQ0KPj4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IEplcmluIEph Y29iIEtvbGxhbnVra2FyYW4NCj4+IDxqZXJpbmpAbWFydmVsbC5jb20+OyB4aWFuZy53LndhbmdA aW50ZWwuY29tDQo+PiBDYzogZGV2QGRwZGsub3JnOyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1l bGxhbm94LmNvbT47DQo+PiBoZW1hbnQuYWdyYXdhbEBueHAuY29tOyBPcGhlciBSZXZpdiA8b3Bo ZXJAbWVsbGFub3guY29tPjsNCj5BbGV4DQo+PiBSb3NlbmJhdW0gPGFsZXhyQG1lbGxhbm94LmNv bT47IERvdnJhdCBaaWZyb25pDQo+PGRvdnJhdEBtYXJ2ZWxsLmNvbT47DQo+PiBQcmFzdW4gS2Fw b29yIDxwa2Fwb29yQG1hcnZlbGwuY29tPjsgbmlwdW4uZ3VwdGFAbnhwLmNvbTsNCj4+IGJydWNl LnJpY2hhcmRzb25AaW50ZWwuY29tOyB5YW5nLmEuaG9uZ0BpbnRlbC5jb207DQo+aGFycnkuY2hh bmdAaW50ZWwuY29tOw0KPj4gZ3UuamlhbjFAenRlLmNvbS5jbjsgc2hhbmppYW5naEBjaGluYXRl bGVjb20uY247DQo+PiB6aGFuZ3kueXVuQGNoaW5hdGVsZWNvbS5jbjsgbGl4aW5nZnVAaHVhY2hl bnRlbC5jb207DQo+d3VzaHVhaUBpbnNwdXIuY29tOw0KPj4geXV5aW5neGlhQHl4bGluay5jb207 IGZhbmNoZW5nZ2FuZ0BzdW55YWluZm8uY29tOw0KPj4gZGF2aWRmZ2FvQHRlbmNlbnQuY29tOyBs aXV6aG9uZzFAY2hpbmF1bmljb20uY247DQo+PiB6aGFveW9uZzExQGh1YXdlaS5jb207IG9jQHl1 bmlmeS5jb207IGppbUBuZXRnYXRlLmNvbTsNCj4+IGhvbmdqdW4ubmlAaW50ZWwuY29tOyBqLmJy b21oZWFkQHRpdGFuLWljLmNvbTsgZGVyaUBudG9wLm9yZzsNCj4+IGZjQG5hcGF0ZWNoLmNvbTsg YXJ0aHVyLnN1QGxpb25pYy5jb207IFRob21hcyBNb25qYWxvbg0KPj4gPHRob21hc0Btb25qYWxv bi5uZXQ+DQo+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbRVhUXSBbUkZDIHY1XSByZWdleGRl djogaW50cm9kdWNlIHJlZ2V4ZGV2DQo+c3Vic3lzdGVtDQo+Pg0KPj4gSGkgT3JpLA0KPj4NCj4+ ID4NCj4+ID5IaSBQYXZhbiwNCj4+ID4NCj4+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0t DQo+PiA+PiBGcm9tOiBkZXYgPGRldi1ib3VuY2VzQGRwZGsub3JnPiBPbiBCZWhhbGYgT2YgUGF2 YW4NCj5OaWtoaWxlc2gNCj4+ID5CaGFnYXZhdHVsYQ0KPj4gPj4gU2VudDogU3VuZGF5LCBNYXJj aCAxLCAyMDIwIDM6MjMgUE0NCj4+ID4+IFRvOiBPcmkgS2FtIDxvcmlrYUBtZWxsYW5veC5jb20+ OyBKZXJpbiBKYWNvYiBLb2xsYW51a2thcmFuDQo+PiA+PiA8amVyaW5qQG1hcnZlbGwuY29tPjsg eGlhbmcudy53YW5nQGludGVsLmNvbQ0KPj4gPj4gQ2M6IGRldkBkcGRrLm9yZzsgU2hhaGFmIFNo dWxlciA8c2hhaGFmc0BtZWxsYW5veC5jb20+Ow0KPj4gPj4gaGVtYW50LmFncmF3YWxAbnhwLmNv bTsgT3BoZXIgUmV2aXYgPG9waGVyQG1lbGxhbm94LmNvbT47DQo+PiA+QWxleA0KPj4gPj4gUm9z ZW5iYXVtIDxhbGV4ckBtZWxsYW5veC5jb20+OyBEb3ZyYXQgWmlmcm9uaQ0KPj4gPjxkb3ZyYXRA bWFydmVsbC5jb20+Ow0KPj4gPj4gUHJhc3VuIEthcG9vciA8cGthcG9vckBtYXJ2ZWxsLmNvbT47 IG5pcHVuLmd1cHRhQG54cC5jb207DQo+PiA+PiBicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbTsg eWFuZy5hLmhvbmdAaW50ZWwuY29tOw0KPj4gPmhhcnJ5LmNoYW5nQGludGVsLmNvbTsNCj4+ID4+ IGd1LmppYW4xQHp0ZS5jb20uY247IHNoYW5qaWFuZ2hAY2hpbmF0ZWxlY29tLmNuOw0KPj4gPj4g emhhbmd5Lnl1bkBjaGluYXRlbGVjb20uY247IGxpeGluZ2Z1QGh1YWNoZW50ZWwuY29tOw0KPj4g Pnd1c2h1YWlAaW5zcHVyLmNvbTsNCj4+ID4+IHl1eWluZ3hpYUB5eGxpbmsuY29tOyBmYW5jaGVu Z2dhbmdAc3VueWFpbmZvLmNvbTsNCj4+ID4+IGRhdmlkZmdhb0B0ZW5jZW50LmNvbTsgbGl1emhv bmcxQGNoaW5hdW5pY29tLmNuOw0KPj4gPj4gemhhb3lvbmcxMUBodWF3ZWkuY29tOyBvY0B5dW5p ZnkuY29tOyBqaW1AbmV0Z2F0ZS5jb207DQo+PiA+PiBob25nanVuLm5pQGludGVsLmNvbTsgai5i cm9taGVhZEB0aXRhbi1pYy5jb207IGRlcmlAbnRvcC5vcmc7DQo+PiA+PiBmY0BuYXBhdGVjaC5j b207IGFydGh1ci5zdUBsaW9uaWMuY29tOyBUaG9tYXMgTW9uamFsb24NCj4+ID4+IDx0aG9tYXNA bW9uamFsb24ubmV0Pg0KPj4gPj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW0VYVF0gW1JGQyB2 NV0gcmVnZXhkZXY6IGludHJvZHVjZQ0KPnJlZ2V4ZGV2DQo+PiA+c3Vic3lzdGVtDQo+PiA+Pg0K Pj4gPj4gSGkgT3JpLA0KPj4gPj4NCj4+ID4+ID4NCj4+ID4+ID5IaSBQYXZhbiwNCj4+ID4+ID5U aGFua3MgZm9yIHRoZSBjb21tZW50cyBwbGVhc2Ugc2VlIGJlbG93Lg0KPj4gPj4gPg0KPj4gPj4g Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+ID4+ID4+IEZyb206IGRldiA8ZGV2LWJv dW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBQYXZhbg0KPj4gPk5pa2hpbGVzaA0KPj4gPj4g PkJoYWdhdmF0dWxhDQo+PiA+PiA+PiBTZW50OiBTdW5kYXksIE1hcmNoIDEsIDIwMjAgODoxMyBB TQ0KPj4gPj4gPj4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IEplcmluIEphY29i IEtvbGxhbnVra2FyYW4NCj4+ID4+ID4+IDxqZXJpbmpAbWFydmVsbC5jb20+OyB4aWFuZy53Lndh bmdAaW50ZWwuY29tDQo+PiA+PiA+PiBDYzogZGV2QGRwZGsub3JnOyBTaGFoYWYgU2h1bGVyIDxz aGFoYWZzQG1lbGxhbm94LmNvbT47DQo+PiA+PiA+PiBoZW1hbnQuYWdyYXdhbEBueHAuY29tOyBP cGhlciBSZXZpdg0KPjxvcGhlckBtZWxsYW5veC5jb20+Ow0KPj4gPj4gPkFsZXgNCj4+ID4+ID4+ IFJvc2VuYmF1bSA8YWxleHJAbWVsbGFub3guY29tPjsgRG92cmF0IFppZnJvbmkNCj4+ID4+ID48 ZG92cmF0QG1hcnZlbGwuY29tPjsNCj4+ID4+ID4+IFByYXN1biBLYXBvb3IgPHBrYXBvb3JAbWFy dmVsbC5jb20+Ow0KPm5pcHVuLmd1cHRhQG54cC5jb207DQo+PiA+PiA+PiBicnVjZS5yaWNoYXJk c29uQGludGVsLmNvbTsgeWFuZy5hLmhvbmdAaW50ZWwuY29tOw0KPj4gPj4gPmhhcnJ5LmNoYW5n QGludGVsLmNvbTsNCj4+ID4+ID4+IGd1LmppYW4xQHp0ZS5jb20uY247IHNoYW5qaWFuZ2hAY2hp bmF0ZWxlY29tLmNuOw0KPj4gPj4gPj4gemhhbmd5Lnl1bkBjaGluYXRlbGVjb20uY247IGxpeGlu Z2Z1QGh1YWNoZW50ZWwuY29tOw0KPj4gPj4gPnd1c2h1YWlAaW5zcHVyLmNvbTsNCj4+ID4+ID4+ IHl1eWluZ3hpYUB5eGxpbmsuY29tOyBmYW5jaGVuZ2dhbmdAc3VueWFpbmZvLmNvbTsNCj4+ID4+ ID4+IGRhdmlkZmdhb0B0ZW5jZW50LmNvbTsgbGl1emhvbmcxQGNoaW5hdW5pY29tLmNuOw0KPj4g Pj4gPj4gemhhb3lvbmcxMUBodWF3ZWkuY29tOyBvY0B5dW5pZnkuY29tOyBqaW1AbmV0Z2F0ZS5j b207DQo+PiA+PiA+PiBob25nanVuLm5pQGludGVsLmNvbTsgai5icm9taGVhZEB0aXRhbi1pYy5j b207DQo+ZGVyaUBudG9wLm9yZzsNCj4+ID4+ID4+IGZjQG5hcGF0ZWNoLmNvbTsgYXJ0aHVyLnN1 QGxpb25pYy5jb207IFRob21hcyBNb25qYWxvbg0KPj4gPj4gPj4gPHRob21hc0Btb25qYWxvbi5u ZXQ+DQo+PiA+PiA+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbRVhUXSBbUkZDIHY1XSByZWdl eGRldjogaW50cm9kdWNlDQo+PiA+cmVnZXhkZXYNCj4+ID4+ID5zdWJzeXN0ZW0NCj4+ID4+ID4+ DQo+PiA+PiA+PiBIaSBPcmksDQo+PiA+PiA+Pg0KPj4gPj4gPj4gTWlub3IgY29tbWVudHMgYmVs b3cuDQo+PiA+PiA+Pg0KPj4gPj4gPj4gPHNuaXA+DQo+PiA+PiA+Pg0KPj4gPj4gPj4gPisvKioN Cj4+ID4+ID4+ID4rICogVGhlIGdlbmVyaWMgKnJ0ZV9yZWdleF9vcHMqIHN0cnVjdHVyZSB0byBo b2xkIHRoZSBSZWdFeA0KPj4gPj4gPmF0dHJpYnV0ZXMNCj4+ID4+ID4+ID4rICogZm9yIGVucXVl dWUgYW5kIGRlcXVldWUgb3BlcmF0aW9uLg0KPj4gPj4gPj4gPisgKi8NCj4+ID4+ID4+ID4rc3Ry dWN0IHJ0ZV9yZWdleF9vcHMgew0KPj4gPj4gPj4gPisJLyogVzAgKi8NCj4+ID4+ID4+ID4rCXVp bnQxNl90IHJlcV9mbGFnczsNCj4+ID4+ID4+ID4rCS8qKjwgUmVxdWVzdCBmbGFncyBmb3IgdGhl IFJlZ0V4IG9wcy4NCj4+ID4+ID4+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09QU19SRVFfKg0KPj4g Pj4gPj4gPisJICovDQo+PiA+PiA+PiA+Kwl1aW50MTZfdCByc3BfZmxhZ3M7DQo+PiA+PiA+PiA+ KwkvKio8IFJlc3BvbnNlIGZsYWdzIGZvciB0aGUgUmVnRXggb3BzLg0KPj4gPj4gPj4gPisJICog QHNlZSBSVEVfUkVHRVhfT1BTX1JTUF8qDQo+PiA+PiA+PiA+KwkgKi8NCj4+ID4+ID4+ID4rCXVp bnQxNl90IG5iX2FjdHVhbF9tYXRjaGVzOw0KPj4gPj4gPj4gPisJLyoqPCBUaGUgdG90YWwgbnVt YmVyIG9mIGFjdHVhbCBtYXRjaGVzIGRldGVjdGVkIGJ5DQo+dGhlDQo+PiA+PiA+PiA+UmVnZXgg ZGV2aWNlLiovDQo+PiA+PiA+PiA+Kwl1aW50MTZfdCBuYl9tYXRjaGVzOw0KPj4gPj4gPj4gPisJ LyoqPCBUaGUgdG90YWwgbnVtYmVyIG9mIG1hdGNoZXMgcmV0dXJuZWQgYnkgdGhlDQo+UmVnRXgN Cj4+ID4+ID4+ID5kZXZpY2UgZm9yIHRoaXMNCj4+ID4+ID4+ID4rCSAqIHNjYW4uIFRoZSBzaXpl IG9mICpydGVfcmVnZXhfb3BzOjptYXRjaGVzKiB6ZXJvDQo+bGVuZ3RoDQo+PiBhcnJheQ0KPj4g Pj4gPj4gPndpbGwgYmUNCj4+ID4+ID4+ID4rCSAqIHRoaXMgdmFsdWUuDQo+PiA+PiA+PiA+Kwkg Kg0KPj4gPj4gPj4gPisJICogQHNlZSBzdHJ1Y3QgcnRlX3JlZ2V4X29wczo6bWF0Y2hlcywgc3Ry dWN0DQo+PiA+PiA+PiA+cnRlX3JlZ2V4X21hdGNoDQo+PiA+PiA+PiA+KwkgKi8NCj4+ID4+ID4+ ID4rDQo+PiA+PiA+PiA+KwkvKiBXMSAqLw0KPj4gPj4gPj4gPisJc3RydWN0IHJ0ZV9tYnVmIG1i dWY7IC8qKjwgc291cmNlIG1idWYsIHRvIHNlYXJjaCBpbi4NCj4qLw0KPj4gPj4gPj4NCj4+ID4+ ID4+IFRoaXMgc2hvdWxkIGJlICptYnVmLg0KPj4gPj4gPg0KPj4gPj4gPlllcyB5b3UgYXJlIGNv cnJlY3Qgd2lsbCBmaXguDQo+PiA+PiA+DQo+PiA+PiA+Pg0KPj4gPj4gPj4gPisNCj4+ID4+ID4+ ID4rCS8qIFcyICovDQo+PiA+PiA+PiA+Kwl1aW50MTZfdCBncm91cF9pZDA7DQo+PiA+PiA+Pg0K Pj4gPj4gPj4gVGhpcyBzaG91bGQgYmUgZ3JvdXBfaWQxLg0KPj4gPj4gPj4NCj4+ID4+ID5ObyB0 aGlzIGlzIGNvcnJlY3QgaXMgc2hvdWxkIGJlIGlkMC4gV2UgYXJlIHN0YXJ0aW5nIGZyb20gZ3Jv dXAgMC4NCj4+ID4+ID5UaGUgY29tbWVudCBiZWxvdyBzdGF0ZXMgdGhhdCB0aGUgZmlyc3QgZ3Jv dXAsIG1lYW5pbmcgZ3JvdXAgMA0KPj4gPm11c3QNCj4+ID4+ID5iZQ0KPj4gPj4gPnZhbGlkIGdy b3VwIHdoaWxlIGdyb3VwIDEgZG9lc27igJl0IGhhdmUgdG8gYmUgdmFpbGQuDQo+PiA+Pg0KPj4g Pj4gV291bGQgdGhhdCBtZWFuIHRoYXQgZ3JvdXBfaWQwIGlzIGFsd2F5cyB2YWxpZD8NCj4+ID4+ IFNpbmNlIHRoZXJlIGlzIG5vIGBSVEVfUkVHRVhfT1BTX1JFUV9HUk9VUF9JRDBfVkFMSURfRmAN Cj5mbGFnLg0KPj4gPj4NCj4+ID5ZZXMsIHlvdSBtdXN0IGhhdmUgYXQgbGVhc3Qgb25lIGdyb3Vw Lg0KPj4NCj4+IE1ha2VzIHNlbnNlLCBJIHRoaW5rIHdlIG5lZWQgdG8gdXBkYXRlIHRoZSBjb21t ZW50IGEgYml0IGFzIGl0IG9ubHkNCj5tZW50aW9ucw0KPj4gdGhhdA0KPj4gYXQgbGVhc3Qgb25l IGdyb3VwIGJ1dCBpdCBzaG91bGQgYmUgZ3JvdXBfaWQwIGhhcyB0byBiZSBhbHdheXMgdmFsaWQu DQo+Pg0KPj4gKEFuIGFwcGxpY2F0aW9uIGNhbiBlcnJvbmVvdXNseSBzZXQgdmFsaWQgZ3JvdXBf aWQxIGluc3RlYWQgb2YNCj5ncm91cF9pZDApDQo+Pg0KPg0KPldoYXQgYWJvdXQgdGhlIG5leHQg Y29tbWVudD8NCj4vKio8IEZpcnN0IGdyb3VwX2lkIHRvIG1hdGNoIHRoZSBydWxlIGFnYWluc3Qu IFRoaXMgZ3JvdXAgbXVzdCBiZSB2YWxpZC4NCj5Jbg0KPiAgKiBvcmRlciB0byBzdXBwb3J0IG1v cmUgZ3JvdXAgKHVwIHRvIDQgZ3JvdXBzKS4gVGhlIGdyb3VwIG51bWJlcg0KPnNob3VsZA0KPiAg KiBiZSBzZXQuIEZvciBleGFtcGxlIHRvIGVuYWJsZSBncm91cCAxIGdyb3VwX2lkMSBzaG91bGQg YmUgc2V0DQo+ICAqIHdpdGggdGhlIGdyb3VwIHZhbHVlIGFuZCAgYW5kIHRoZQ0KPlJURV9SRUdF WF9PUFNfUkVRX0dST1VQX0lEMV9WQUxJRF9GIGZsYWcgc2hvdWxkIGJlIHNldC4NCj4gICogUmVz cGVjdGl2ZWx5IHNpbWlsYXIgZmxhZ3MgZm9yIGdyb3VwX2lkMiBhbmQgZ3JvdXBfaWQzLg0KPiAg KiBVcG9uIHRoZSBtYXRjaCwgc3RydWN0IHJ0ZV9yZWdleF9tYXRjaDo6Z3JvdXBfaWQgc2hhbGwg YmUgdXBkYXRlZA0KPiAgKiB3aXRoIG1hdGNoaW5nIGdyb3VwIElEIGJ5IHRoZSBkZXZpY2UuIEdy b3VwIElEIHNjaGVtZSBwcm92aWRlcw0KPiAgKiBydWxlIGlzb2xhdGlvbiBhbmQgZWZmZWN0aXZl IHBhdHRlcm4gbWF0Y2hpbmcuDQo+Ki8NCg0KTG9va3MgZ29vZCB3aXRoIG1pbm9yIGNvcnJlY3Rp b25zIGFzIGJlbG93DQoNCi8qKjwgRmlyc3QgZ3JvdXBfaWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdh aW5zdC4gVGhpcyBncm91cCBtdXN0IGJlIHZhbGlkLiANCiAgKiBJbiBvcmRlciB0byBzdXBwb3J0 IG1vcmUgdGhhbiBvbmUgZ3JvdXAgcGVyIGVhY2ggb3AgKHVwIHRvIDQgZ3JvdXBzKSwgYW55IG9m IHRoZSBncm91cF9pZDwxLTM+IHNob3VsZCANCiAgKiBob2xkIGEgdmFsaWQgZ3JvdXAgaWQgYWxv bmcgd2l0aCBSVEVfUkVHRVhfT1BTX1JFUV9HUk9VUF9JRDwxLTM+X1ZBTElEX0YgZmxhZyBzZXQu DQogICogRm9yIGV4YW1wbGUsIHRvIG1hdGNoIGFnYWluc3QgZ3JvdXAgMTAwIGFuZCAxMDEsIGdy b3VwX2lkMCBzaG91bGQgYmUgc2V0IHRvIDEwMCBhbmQgZ3JvdXBfaWQxIHNob3VsZCANCiAgKiBi ZSBzZXQgdG8gMTAxIGFuZCB0aGUgUlRFX1JFR0VYX09QU19SRVFfR1JPVVBfSUQxX1ZBTElEX0Yg ZmxhZyBzaG91bGQgYmUgc2V0LiAgICANCiAgKiBSZXNwZWN0aXZlbHkgc2ltaWxhciBmbGFncyBm b3IgZ3JvdXBfaWQyIGFuZCBncm91cF9pZDMuICAgICAgDQogICogVXBvbiB0aGUgbWF0Y2gsIHN0 cnVjdCBydGVfcmVnZXhfbWF0Y2g6Omdyb3VwX2lkIHNoYWxsIGJlIHVwZGF0ZWQgICAgICANCiAg KiB3aXRoIG1hdGNoaW5nIGdyb3VwIElEIGJ5IHRoZSBkZXZpY2UuIEdyb3VwIElEIHNjaGVtZSBw cm92aWRlcyAgICAgICAgIA0KICAqIHJ1bGUgaXNvbGF0aW9uIGFuZCBlZmZlY3RpdmUgcGF0dGVy biBtYXRjaGluZy4gICAgICAgICAgICAgICAgICAgICAgICAgDQoqLw0KDQpUaGFua3MsDQpQYXZh bi4NCg0KPg0KPi8qKjwgRmlyc3QgZ3JvdXBfaWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdhaW5zdC4g TWluaW11bSBvbmUgZ3JvdXAgaWQNCj4gICogbXVzdCBiZSBwcm92aWRlZCBieSBhcHBsaWNhdGlv bi4NCj4gICogV2hlbiBSVEVfUkVHRVhfT1BTX1JFUV9HUk9VUF9JRDFfVkFMSURfRiBzZXQgdGhl bg0KPmdyb3VwX2lkMQ0KPiAgKiBpcyB2YWxpZCwgcmVzcGVjdGl2ZWx5IHNpbWlsYXIgZmxhZ3Mg Zm9yIGdyb3VwX2lkMiBhbmQgZ3JvdXBfaWQzLg0KPiAgKiBVcG9uIHRoZSBtYXRjaCwgc3RydWN0 IHJ0ZV9yZWdleF9tYXRjaDo6Z3JvdXBfaWQgc2hhbGwgYmUgdXBkYXRlZA0KPiAgKiB3aXRoIG1h dGNoaW5nIGdyb3VwIElEIGJ5IHRoZSBkZXZpY2UuIEdyb3VwIElEIHNjaGVtZSBwcm92aWRlcw0K PiAgKiBydWxlIGlzb2xhdGlvbiBhbmQgZWZmZWN0aXZlIHBhdHRlcm4gbWF0Y2hpbmcuDQo+DQo+ PiA+DQo+PiA+PiA+DQo+PiA+PiA+PiA+KwkvKio8IEZpcnN0IGdyb3VwX2lkIHRvIG1hdGNoIHRo ZSBydWxlIGFnYWluc3QuIE1pbmltdW0NCj5vbmUNCj4+ID4+ID4+ID5ncm91cCBpZA0KPj4gPj4g Pj4gPisJICogbXVzdCBiZSBwcm92aWRlZCBieSBhcHBsaWNhdGlvbi4NCj4+ID4+ID4+ID4rCSAq IFdoZW4gUlRFX1JFR0VYX09QU19SRVFfR1JPVVBfSUQxX1ZBTElEX0YNCj5zZXQgdGhlbg0KPj4g Pj4gPj4gPmdyb3VwX2lkMQ0KPj4gPj4gPj4gPisJICogaXMgdmFsaWQsIHJlc3BlY3RpdmVseSBz aW1pbGFyIGZsYWdzIGZvciBncm91cF9pZDIgYW5kDQo+PiBncm91cF9pZDMuDQo+PiA+PiA+PiA+ KwkgKiBVcG9uIHRoZSBtYXRjaCwgc3RydWN0IHJ0ZV9yZWdleF9tYXRjaDo6Z3JvdXBfaWQNCj5z aGFsbCBiZQ0KPj4gPj4gPj4gPnVwZGF0ZWQNCj4+ID4+ID4+ID4rCSAqIHdpdGggbWF0Y2hpbmcg Z3JvdXAgSUQgYnkgdGhlIGRldmljZS4gR3JvdXAgSUQNCj5zY2hlbWUNCj4+ID4+ID4+ID5wcm92 aWRlcw0KPj4gPj4gPj4gPisJICogcnVsZSBpc29sYXRpb24gYW5kIGVmZmVjdGl2ZSBwYXR0ZXJu IG1hdGNoaW5nLg0KPj4gPj4gPj4gPisJICovDQo+PiA+PiA+PiA+Kwl1aW50MTZfdCBncm91cF9p ZDE7DQo+PiA+PiA+PiA+KwkvKio8IFNlY29uZCBncm91cF9pZCB0byBtYXRjaCB0aGUgcnVsZSBh Z2FpbnN0Lg0KPj4gPj4gPj4gPisJICoNCj4+ID4+ID4+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09Q U19SRVFfR1JPVVBfSUQxX1ZBTElEX0YNCj4+ID4+ID4+ID4rCSAqLw0KPj4gPj4gPj4NCj4+ID4+ ID4+IFRoZSBhYm92ZSBgZ3JvdXBfaWQxYCBzaG91bGQgYmUgcmVtb3ZlZCBhcyBpdHMgZHVwbGlj YXRlLg0KPj4gPj4gPj4NCj4+ID4+ID4NCj4+ID4+ID5UaGlzIGlzIG5vdCBkdXBsaWNhdGUsIHNl ZSBhYm92ZSBjb21tZW50Lg0KPj4gPj4gPg0KPj4gPj4gPj4gPisJdWludDE2X3QgZ3JvdXBfaWQy Ow0KPj4gPj4gPj4gPisJLyoqPCBUaGlyZCBncm91cF9pZCB0byBtYXRjaCB0aGUgcnVsZSBhZ2Fp bnN0Lg0KPj4gPj4gPj4gPisJICoNCj4+ID4+ID4+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09QU19S RVFfR1JPVVBfSUQyX1ZBTElEX0YNCj4+ID4+ID4+ID4rCSAqLw0KPj4gPj4gPj4gPisJdWludDE2 X3QgZ3JvdXBfaWQzOw0KPj4gPj4gPj4gPisJLyoqPCBGb3J0aCBncm91cF9pZCB0byBtYXRjaCB0 aGUgcnVsZSBhZ2FpbnN0Lg0KPj4gPj4gPj4gPisJICoNCj4+ID4+ID4+ID4rCSAqIEBzZWUgUlRF X1JFR0VYX09QU19SRVFfR1JPVVBfSUQzX1ZBTElEX0YNCj4+ID4+ID4+ID4rCSAqLw0KPj4gPj4g Pj4gPisNCj4+ID4+ID4+ID4rCS8qIFczICovDQo+PiA+PiA+PiA+KwlSVEVfU1REX0MxMQ0KPj4g Pj4gPj4gPisJdW5pb24gew0KPj4gPj4gPj4gPisJCXVpbnQ2NF90IHVzZXJfaWQ7DQo+PiA+PiA+ PiA+KwkJLyoqPCBBcHBsaWNhdGlvbiBzcGVjaWZpYyBvcGFxdWUgdmFsdWUuIEFuDQo+YXBwbGlj YXRpb24NCj4+ID4+ID4+ID5tYXkgdXNlDQo+PiA+PiA+PiA+KwkJICogdGhpcyBmaWVsZCB0byBo b2xkIGFwcGxpY2F0aW9uIHNwZWNpZmljIHZhbHVlIHRvDQo+c2hhcmUNCj4+ID4+ID4+ID4rCQkg KiBiZXR3ZWVuIGRlcXVldWUgYW5kIGVucXVldWUgb3BlcmF0aW9uLg0KPj4gPj4gPj4gPisJCSAq IEltcGxlbWVudGF0aW9uIHNob3VsZCBub3QgbW9kaWZ5IHRoaXMgZmllbGQuDQo+PiA+PiA+PiA+ KwkJICovDQo+PiA+PiA+PiA+KwkJdm9pZCAqdXNlcl9wdHI7DQo+PiA+PiA+PiA+KwkJLyoqPCBQ b2ludGVyIHJlcHJlc2VudGF0aW9uIG9mICp1c2VyX2lkKiAqLw0KPj4gPj4gPj4gPisJfTsNCj4+ ID4+ID4+ID4rDQo+PiA+PiA+PiA+KwkvKiBXNCAqLw0KPj4gPj4gPj4gPisJc3RydWN0IHJ0ZV9y ZWdleF9tYXRjaCBtYXRjaGVzW107DQo+PiA+PiA+PiA+KwkvKio8IFplcm8gbGVuZ3RoIGFycmF5 IHRvIGhvbGQgdGhlIG1hdGNoIHR1cGxlcy4NCj4+ID4+ID4+ID4rCSAqIFRoZSBzdHJ1Y3QgcnRl X3JlZ2V4X29wczo6bmJfbWF0Y2hlcyB2YWx1ZSBob2xkcw0KPnRoZQ0KPj4gPj4gPj4gPm51bWJl ciBvZg0KPj4gPj4gPj4gPisJICogZWxlbWVudHMgaW4gdGhpcyBhcnJheS4NCj4+ID4+ID4+ID4r CSAqDQo+PiA+PiA+PiA+KwkgKiBAc2VlIHN0cnVjdCBydGVfcmVnZXhfb3BzOjpuYl9tYXRjaGVz DQo+PiA+PiA+PiA+KwkgKi8NCj4+ID4+ID4+ID4rfTsNCg==