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 483EFA052E; Sun, 1 Mar 2020 15:38:49 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id C08311BFC7; Sun, 1 Mar 2020 15:38:47 +0100 (CET) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id 676411BF76 for ; Sun, 1 Mar 2020 15:38:46 +0100 (CET) Received: from pps.filterd (m0045851.ppops.net [127.0.0.1]) by mx0b-0016f401.pphosted.com (8.16.0.42/8.16.0.42) with SMTP id 021EZmF8005712; Sun, 1 Mar 2020 06:38:31 -0800 Received: from pps.reinject (localhost [127.0.0.1]) by mx0b-0016f401.pphosted.com with ESMTP id 2yfrbtub57-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Sun, 01 Mar 2020 06:38:31 -0800 Received: from m0045851.ppops.net (m0045851.ppops.net [127.0.0.1]) by pps.reinject (8.16.0.36/8.16.0.36) with SMTP id 021EcVL5032002; Sun, 1 Mar 2020 06:38:31 -0800 Received: from sc-exch04.marvell.com ([199.233.58.184]) by mx0b-0016f401.pphosted.com with ESMTP id 2yfrbtub54-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Sun, 01 Mar 2020 06:38:31 -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 06:38:28 -0800 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.56) 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 06:38:28 -0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ZuCw7BvQGV4Cda3QJKMDGGEJwcMbgvp46ER7DuboCflQsmDYGDmvOX+AhaFgroaSM+EV0CyzRsi3ZXXzXa1SYtrSa7ZWlVsnfW/Idb/ahJrRcPlY10Se0IcesOjBfq2RSeX8k9mhZP8Hibnb0PwVn+SaNPzOEwEpZcnP8gu800kfi9RMrSDweTcRkoUn7GfR2WlFPUyLgnRBmzVk3PHMhyQr0KM80rLfixpPyO/ogPxArv2XYxyMshjmiy20OPUqs9bLbZYCBEqy5Ka9/dgFSdMH1bck93g5jfX6OcmLy1ozqc6sXshsHmyJU+vMUk+umOuLJOC2BR/vb/3NXSlfTQ== 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=xznrMuXQyGs6+JPVJsFifYYeJ8mAJYXS0wbeO3y0D7o=; b=CefY/YNrJsIYP4oYTyaTsKPesBAJBboYFY3n5Gy5l8BoKtPQ6IxdMJXRTcfwG3cZfuJd07fETQDu8NGjVjHDJic+MhNSVXr/C2+ZsNl/sV3ZFvEaO8izphnbq5QQRcosbrnXZIUkkvfCvkBk0/5SUFjToBvDb/saPQEmO+Gvz6fQ73bTLpAecfOfB7LH07PiFBezT/AyZQwe8c3wIZNDbLms0u8aTuLyJMH0lsJVNefxFQx5epgTxEJ1v5Ge6yH9FILHfpokcpBEK7VJHiHcXq2s06NG9ctmJlGwk0s8jG6QfEQRrg9pi0ul9ZRe4rT9jKL/LCW0tH7q8cUM9zH9jA== 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=xznrMuXQyGs6+JPVJsFifYYeJ8mAJYXS0wbeO3y0D7o=; b=peoUFUw3wVpo96KZEvpw1tKAVxI7oAgpPmgSSMUAUW+XJumE+cUy84v7IRgXfzxCdNZLo2ba5iU/RjTuNLYnHh2e/PbLuzmTBBgnyLvsTRmULwvpATdV9sKomunuOrgcHFo23PggUJEss1hIbK0vpw/X9sqxvrmGkW9nAam3wkY= Received: from CY4PR1801MB1863.namprd18.prod.outlook.com (2603:10b6:910:7b::32) by CY4SPR01MB05.namprd18.prod.outlook.com (2603:10b6:910:8b::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2772.14; Sun, 1 Mar 2020 14:38:26 +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 14:38:26 +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/V1bE2uge9v026nqt38aqwHagzRE1QgAAXigCAAGFG8IAADiQAgAAGbRA= Date: Sun, 1 Mar 2020 14:38:25 +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: 3823db98-f944-4a96-baef-08d7bdee3385 x-ms-traffictypediagnostic: CY4SPR01MB05: 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)(136003)(346002)(366004)(396003)(39850400004)(376002)(199004)(189003)(26005)(186003)(8936002)(52536014)(316002)(110136005)(478600001)(54906003)(2906002)(7696005)(33656002)(86362001)(71200400001)(8676002)(55016002)(7416002)(81156014)(81166006)(9686003)(53546011)(6506007)(4326008)(66556008)(66476007)(64756008)(66446008)(66946007)(5660300002)(76116006); DIR:OUT; SFP:1101; SCL:1; SRVR:CY4SPR01MB05; 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: 2C8GMkJfCG+Un5/8wJ2cxzDOh6DVSTRf3gbGCzqCJKDRsrZsyUByQDbpoD82Y2VujijfmHKmP+HtjB/Ro80JRsPHbqrKnKKmwf+ZZapnFbk1hbAt0N9bERWpjmQ+ijR9MCVF+YEQMWgdf9mr79afLJ9Ggj4/1jsxBEBFbvONpO/DF2Tsvcw3kA1T6BXDZp/xks2dh8td2ZzEh1kQyz5z9X1dEZVGOCjw88TAOe+1Oftwnkm9EuRvdImnsw2mJ66jDe3cXXZgv0gbKOPJGuriM7gfNjV4GTaI/LWxQ5llDbzuLW0QqLWuTrWGUSI/ZKF71bp+GCUssA91CyuBelirUInH31S48MgKv8dS3yYNaA4GshJkhjjo8fl98pmCvtcmCu2Y4YdSWidUjq7LnxJ35Gd/kK0mCd+wtkxhGr/WYvgEhE8q8VAIYV662IDBH/Io x-ms-exchange-antispam-messagedata: SdbgG0azz+/FW25zkyO5GG/TCdeXe3bIE5mjCy7oVE0F3yMAqpIbm3kJXhG9Q05DpkYro0UijuAJqnbRPdSz4TnvP//3GkhhuYfxvNvYD0OiEIx6v7Sw52J4HpsCeDL/MPZ+6joIuSmQPNym22nDyQ== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 3823db98-f944-4a96-baef-08d7bdee3385 X-MS-Exchange-CrossTenant-originalarrivaltime: 01 Mar 2020 14:38:25.8643 (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: +RvY39CCE9SDXxPFu0jXIgkh78zSebE487qWH7a8bpdb6QoZ2X+hlCpLiKp0LAZTvWi34topGj9UkYMXTMAUxmJgJUm13k6MVCJQFs77EEo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: CY4SPR01MB05 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" SGkgT3JpLA0KDQo+DQo+SGkgUGF2YW4sDQo+DQo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0t LQ0KPj4gRnJvbTogZGV2IDxkZXYtYm91bmNlc0BkcGRrLm9yZz4gT24gQmVoYWxmIE9mIFBhdmFu IE5pa2hpbGVzaA0KPkJoYWdhdmF0dWxhDQo+PiBTZW50OiBTdW5kYXksIE1hcmNoIDEsIDIwMjAg MzoyMyBQTQ0KPj4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IEplcmluIEphY29i IEtvbGxhbnVra2FyYW4NCj4+IDxqZXJpbmpAbWFydmVsbC5jb20+OyB4aWFuZy53LndhbmdAaW50 ZWwuY29tDQo+PiBDYzogZGV2QGRwZGsub3JnOyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZzQG1lbGxh bm94LmNvbT47DQo+PiBoZW1hbnQuYWdyYXdhbEBueHAuY29tOyBPcGhlciBSZXZpdiA8b3BoZXJA bWVsbGFub3guY29tPjsNCj5BbGV4DQo+PiBSb3NlbmJhdW0gPGFsZXhyQG1lbGxhbm94LmNvbT47 IERvdnJhdCBaaWZyb25pDQo+PGRvdnJhdEBtYXJ2ZWxsLmNvbT47DQo+PiBQcmFzdW4gS2Fwb29y IDxwa2Fwb29yQG1hcnZlbGwuY29tPjsgbmlwdW4uZ3VwdGFAbnhwLmNvbTsNCj4+IGJydWNlLnJp Y2hhcmRzb25AaW50ZWwuY29tOyB5YW5nLmEuaG9uZ0BpbnRlbC5jb207DQo+aGFycnkuY2hhbmdA aW50ZWwuY29tOw0KPj4gZ3UuamlhbjFAenRlLmNvbS5jbjsgc2hhbmppYW5naEBjaGluYXRlbGVj b20uY247DQo+PiB6aGFuZ3kueXVuQGNoaW5hdGVsZWNvbS5jbjsgbGl4aW5nZnVAaHVhY2hlbnRl bC5jb207DQo+d3VzaHVhaUBpbnNwdXIuY29tOw0KPj4geXV5aW5neGlhQHl4bGluay5jb207IGZh bmNoZW5nZ2FuZ0BzdW55YWluZm8uY29tOw0KPj4gZGF2aWRmZ2FvQHRlbmNlbnQuY29tOyBsaXV6 aG9uZzFAY2hpbmF1bmljb20uY247DQo+PiB6aGFveW9uZzExQGh1YXdlaS5jb207IG9jQHl1bmlm eS5jb207IGppbUBuZXRnYXRlLmNvbTsNCj4+IGhvbmdqdW4ubmlAaW50ZWwuY29tOyBqLmJyb21o ZWFkQHRpdGFuLWljLmNvbTsgZGVyaUBudG9wLm9yZzsNCj4+IGZjQG5hcGF0ZWNoLmNvbTsgYXJ0 aHVyLnN1QGxpb25pYy5jb207IFRob21hcyBNb25qYWxvbg0KPj4gPHRob21hc0Btb25qYWxvbi5u ZXQ+DQo+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbRVhUXSBbUkZDIHY1XSByZWdleGRldjog aW50cm9kdWNlIHJlZ2V4ZGV2DQo+c3Vic3lzdGVtDQo+Pg0KPj4gSGkgT3JpLA0KPj4NCj4+ID4N Cj4+ID5IaSBQYXZhbiwNCj4+ID5UaGFua3MgZm9yIHRoZSBjb21tZW50cyBwbGVhc2Ugc2VlIGJl bG93Lg0KPj4gPg0KPj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4+ID4+IEZyb206 IGRldiA8ZGV2LWJvdW5jZXNAZHBkay5vcmc+IE9uIEJlaGFsZiBPZiBQYXZhbg0KPk5pa2hpbGVz aA0KPj4gPkJoYWdhdmF0dWxhDQo+PiA+PiBTZW50OiBTdW5kYXksIE1hcmNoIDEsIDIwMjAgODox MyBBTQ0KPj4gPj4gVG86IE9yaSBLYW0gPG9yaWthQG1lbGxhbm94LmNvbT47IEplcmluIEphY29i IEtvbGxhbnVra2FyYW4NCj4+ID4+IDxqZXJpbmpAbWFydmVsbC5jb20+OyB4aWFuZy53LndhbmdA aW50ZWwuY29tDQo+PiA+PiBDYzogZGV2QGRwZGsub3JnOyBTaGFoYWYgU2h1bGVyIDxzaGFoYWZz QG1lbGxhbm94LmNvbT47DQo+PiA+PiBoZW1hbnQuYWdyYXdhbEBueHAuY29tOyBPcGhlciBSZXZp diA8b3BoZXJAbWVsbGFub3guY29tPjsNCj4+ID5BbGV4DQo+PiA+PiBSb3NlbmJhdW0gPGFsZXhy QG1lbGxhbm94LmNvbT47IERvdnJhdCBaaWZyb25pDQo+PiA+PGRvdnJhdEBtYXJ2ZWxsLmNvbT47 DQo+PiA+PiBQcmFzdW4gS2Fwb29yIDxwa2Fwb29yQG1hcnZlbGwuY29tPjsgbmlwdW4uZ3VwdGFA bnhwLmNvbTsNCj4+ID4+IGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tOyB5YW5nLmEuaG9uZ0Bp bnRlbC5jb207DQo+PiA+aGFycnkuY2hhbmdAaW50ZWwuY29tOw0KPj4gPj4gZ3UuamlhbjFAenRl LmNvbS5jbjsgc2hhbmppYW5naEBjaGluYXRlbGVjb20uY247DQo+PiA+PiB6aGFuZ3kueXVuQGNo aW5hdGVsZWNvbS5jbjsgbGl4aW5nZnVAaHVhY2hlbnRlbC5jb207DQo+PiA+d3VzaHVhaUBpbnNw dXIuY29tOw0KPj4gPj4geXV5aW5neGlhQHl4bGluay5jb207IGZhbmNoZW5nZ2FuZ0BzdW55YWlu Zm8uY29tOw0KPj4gPj4gZGF2aWRmZ2FvQHRlbmNlbnQuY29tOyBsaXV6aG9uZzFAY2hpbmF1bmlj b20uY247DQo+PiA+PiB6aGFveW9uZzExQGh1YXdlaS5jb207IG9jQHl1bmlmeS5jb207IGppbUBu ZXRnYXRlLmNvbTsNCj4+ID4+IGhvbmdqdW4ubmlAaW50ZWwuY29tOyBqLmJyb21oZWFkQHRpdGFu LWljLmNvbTsgZGVyaUBudG9wLm9yZzsNCj4+ID4+IGZjQG5hcGF0ZWNoLmNvbTsgYXJ0aHVyLnN1 QGxpb25pYy5jb207IFRob21hcyBNb25qYWxvbg0KPj4gPj4gPHRob21hc0Btb25qYWxvbi5uZXQ+ DQo+PiA+PiBTdWJqZWN0OiBSZTogW2RwZGstZGV2XSBbRVhUXSBbUkZDIHY1XSByZWdleGRldjog aW50cm9kdWNlDQo+cmVnZXhkZXYNCj4+ID5zdWJzeXN0ZW0NCj4+ID4+DQo+PiA+PiBIaSBPcmks DQo+PiA+Pg0KPj4gPj4gTWlub3IgY29tbWVudHMgYmVsb3cuDQo+PiA+Pg0KPj4gPj4gPHNuaXA+ DQo+PiA+Pg0KPj4gPj4gPisvKioNCj4+ID4+ID4rICogVGhlIGdlbmVyaWMgKnJ0ZV9yZWdleF9v cHMqIHN0cnVjdHVyZSB0byBob2xkIHRoZSBSZWdFeA0KPj4gPmF0dHJpYnV0ZXMNCj4+ID4+ID4r ICogZm9yIGVucXVldWUgYW5kIGRlcXVldWUgb3BlcmF0aW9uLg0KPj4gPj4gPisgKi8NCj4+ID4+ ID4rc3RydWN0IHJ0ZV9yZWdleF9vcHMgew0KPj4gPj4gPisJLyogVzAgKi8NCj4+ID4+ID4rCXVp bnQxNl90IHJlcV9mbGFnczsNCj4+ID4+ID4rCS8qKjwgUmVxdWVzdCBmbGFncyBmb3IgdGhlIFJl Z0V4IG9wcy4NCj4+ID4+ID4rCSAqIEBzZWUgUlRFX1JFR0VYX09QU19SRVFfKg0KPj4gPj4gPisJ ICovDQo+PiA+PiA+Kwl1aW50MTZfdCByc3BfZmxhZ3M7DQo+PiA+PiA+KwkvKio8IFJlc3BvbnNl IGZsYWdzIGZvciB0aGUgUmVnRXggb3BzLg0KPj4gPj4gPisJICogQHNlZSBSVEVfUkVHRVhfT1BT X1JTUF8qDQo+PiA+PiA+KwkgKi8NCj4+ID4+ID4rCXVpbnQxNl90IG5iX2FjdHVhbF9tYXRjaGVz Ow0KPj4gPj4gPisJLyoqPCBUaGUgdG90YWwgbnVtYmVyIG9mIGFjdHVhbCBtYXRjaGVzIGRldGVj dGVkIGJ5IHRoZQ0KPj4gPj4gPlJlZ2V4IGRldmljZS4qLw0KPj4gPj4gPisJdWludDE2X3QgbmJf bWF0Y2hlczsNCj4+ID4+ID4rCS8qKjwgVGhlIHRvdGFsIG51bWJlciBvZiBtYXRjaGVzIHJldHVy bmVkIGJ5IHRoZSBSZWdFeA0KPj4gPj4gPmRldmljZSBmb3IgdGhpcw0KPj4gPj4gPisJICogc2Nh bi4gVGhlIHNpemUgb2YgKnJ0ZV9yZWdleF9vcHM6Om1hdGNoZXMqIHplcm8gbGVuZ3RoIGFycmF5 DQo+PiA+PiA+d2lsbCBiZQ0KPj4gPj4gPisJICogdGhpcyB2YWx1ZS4NCj4+ID4+ID4rCSAqDQo+ PiA+PiA+KwkgKiBAc2VlIHN0cnVjdCBydGVfcmVnZXhfb3BzOjptYXRjaGVzLCBzdHJ1Y3QNCj4+ ID4+ID5ydGVfcmVnZXhfbWF0Y2gNCj4+ID4+ID4rCSAqLw0KPj4gPj4gPisNCj4+ID4+ID4rCS8q IFcxICovDQo+PiA+PiA+KwlzdHJ1Y3QgcnRlX21idWYgbWJ1ZjsgLyoqPCBzb3VyY2UgbWJ1Ziwg dG8gc2VhcmNoIGluLiAqLw0KPj4gPj4NCj4+ID4+IFRoaXMgc2hvdWxkIGJlICptYnVmLg0KPj4g Pg0KPj4gPlllcyB5b3UgYXJlIGNvcnJlY3Qgd2lsbCBmaXguDQo+PiA+DQo+PiA+Pg0KPj4gPj4g PisNCj4+ID4+ID4rCS8qIFcyICovDQo+PiA+PiA+Kwl1aW50MTZfdCBncm91cF9pZDA7DQo+PiA+ Pg0KPj4gPj4gVGhpcyBzaG91bGQgYmUgZ3JvdXBfaWQxLg0KPj4gPj4NCj4+ID5ObyB0aGlzIGlz IGNvcnJlY3QgaXMgc2hvdWxkIGJlIGlkMC4gV2UgYXJlIHN0YXJ0aW5nIGZyb20gZ3JvdXAgMC4N Cj4+ID5UaGUgY29tbWVudCBiZWxvdyBzdGF0ZXMgdGhhdCB0aGUgZmlyc3QgZ3JvdXAsIG1lYW5p bmcgZ3JvdXAgMA0KPm11c3QNCj4+ID5iZQ0KPj4gPnZhbGlkIGdyb3VwIHdoaWxlIGdyb3VwIDEg ZG9lc27igJl0IGhhdmUgdG8gYmUgdmFpbGQuDQo+Pg0KPj4gV291bGQgdGhhdCBtZWFuIHRoYXQg Z3JvdXBfaWQwIGlzIGFsd2F5cyB2YWxpZD8NCj4+IFNpbmNlIHRoZXJlIGlzIG5vIGBSVEVfUkVH RVhfT1BTX1JFUV9HUk9VUF9JRDBfVkFMSURfRmAgZmxhZy4NCj4+DQo+WWVzLCB5b3UgbXVzdCBo YXZlIGF0IGxlYXN0IG9uZSBncm91cC4NCg0KTWFrZXMgc2Vuc2UsIEkgdGhpbmsgd2UgbmVlZCB0 byB1cGRhdGUgdGhlIGNvbW1lbnQgYSBiaXQgYXMgaXQgb25seSBtZW50aW9ucyB0aGF0DQphdCBs ZWFzdCBvbmUgZ3JvdXAgYnV0IGl0IHNob3VsZCBiZSBncm91cF9pZDAgaGFzIHRvIGJlIGFsd2F5 cyB2YWxpZC4NCg0KKEFuIGFwcGxpY2F0aW9uIGNhbiBlcnJvbmVvdXNseSBzZXQgdmFsaWQgZ3Jv dXBfaWQxIGluc3RlYWQgb2YgZ3JvdXBfaWQwKSANCg0KPg0KPj4gPg0KPj4gPj4gPisJLyoqPCBG aXJzdCBncm91cF9pZCB0byBtYXRjaCB0aGUgcnVsZSBhZ2FpbnN0LiBNaW5pbXVtIG9uZQ0KPj4g Pj4gPmdyb3VwIGlkDQo+PiA+PiA+KwkgKiBtdXN0IGJlIHByb3ZpZGVkIGJ5IGFwcGxpY2F0aW9u Lg0KPj4gPj4gPisJICogV2hlbiBSVEVfUkVHRVhfT1BTX1JFUV9HUk9VUF9JRDFfVkFMSURfRiBz ZXQgdGhlbg0KPj4gPj4gPmdyb3VwX2lkMQ0KPj4gPj4gPisJICogaXMgdmFsaWQsIHJlc3BlY3Rp dmVseSBzaW1pbGFyIGZsYWdzIGZvciBncm91cF9pZDIgYW5kIGdyb3VwX2lkMy4NCj4+ID4+ID4r CSAqIFVwb24gdGhlIG1hdGNoLCBzdHJ1Y3QgcnRlX3JlZ2V4X21hdGNoOjpncm91cF9pZCBzaGFs bCBiZQ0KPj4gPj4gPnVwZGF0ZWQNCj4+ID4+ID4rCSAqIHdpdGggbWF0Y2hpbmcgZ3JvdXAgSUQg YnkgdGhlIGRldmljZS4gR3JvdXAgSUQgc2NoZW1lDQo+PiA+PiA+cHJvdmlkZXMNCj4+ID4+ID4r CSAqIHJ1bGUgaXNvbGF0aW9uIGFuZCBlZmZlY3RpdmUgcGF0dGVybiBtYXRjaGluZy4NCj4+ID4+ ID4rCSAqLw0KPj4gPj4gPisJdWludDE2X3QgZ3JvdXBfaWQxOw0KPj4gPj4gPisJLyoqPCBTZWNv bmQgZ3JvdXBfaWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdhaW5zdC4NCj4+ID4+ID4rCSAqDQo+PiA+ PiA+KwkgKiBAc2VlIFJURV9SRUdFWF9PUFNfUkVRX0dST1VQX0lEMV9WQUxJRF9GDQo+PiA+PiA+ KwkgKi8NCj4+ID4+DQo+PiA+PiBUaGUgYWJvdmUgYGdyb3VwX2lkMWAgc2hvdWxkIGJlIHJlbW92 ZWQgYXMgaXRzIGR1cGxpY2F0ZS4NCj4+ID4+DQo+PiA+DQo+PiA+VGhpcyBpcyBub3QgZHVwbGlj YXRlLCBzZWUgYWJvdmUgY29tbWVudC4NCj4+ID4NCj4+ID4+ID4rCXVpbnQxNl90IGdyb3VwX2lk MjsNCj4+ID4+ID4rCS8qKjwgVGhpcmQgZ3JvdXBfaWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdhaW5z dC4NCj4+ID4+ID4rCSAqDQo+PiA+PiA+KwkgKiBAc2VlIFJURV9SRUdFWF9PUFNfUkVRX0dST1VQ X0lEMl9WQUxJRF9GDQo+PiA+PiA+KwkgKi8NCj4+ID4+ID4rCXVpbnQxNl90IGdyb3VwX2lkMzsN Cj4+ID4+ID4rCS8qKjwgRm9ydGggZ3JvdXBfaWQgdG8gbWF0Y2ggdGhlIHJ1bGUgYWdhaW5zdC4N Cj4+ID4+ID4rCSAqDQo+PiA+PiA+KwkgKiBAc2VlIFJURV9SRUdFWF9PUFNfUkVRX0dST1VQX0lE M19WQUxJRF9GDQo+PiA+PiA+KwkgKi8NCj4+ID4+ID4rDQo+PiA+PiA+KwkvKiBXMyAqLw0KPj4g Pj4gPisJUlRFX1NURF9DMTENCj4+ID4+ID4rCXVuaW9uIHsNCj4+ID4+ID4rCQl1aW50NjRfdCB1 c2VyX2lkOw0KPj4gPj4gPisJCS8qKjwgQXBwbGljYXRpb24gc3BlY2lmaWMgb3BhcXVlIHZhbHVl LiBBbiBhcHBsaWNhdGlvbg0KPj4gPj4gPm1heSB1c2UNCj4+ID4+ID4rCQkgKiB0aGlzIGZpZWxk IHRvIGhvbGQgYXBwbGljYXRpb24gc3BlY2lmaWMgdmFsdWUgdG8gc2hhcmUNCj4+ID4+ID4rCQkg KiBiZXR3ZWVuIGRlcXVldWUgYW5kIGVucXVldWUgb3BlcmF0aW9uLg0KPj4gPj4gPisJCSAqIElt cGxlbWVudGF0aW9uIHNob3VsZCBub3QgbW9kaWZ5IHRoaXMgZmllbGQuDQo+PiA+PiA+KwkJICov DQo+PiA+PiA+KwkJdm9pZCAqdXNlcl9wdHI7DQo+PiA+PiA+KwkJLyoqPCBQb2ludGVyIHJlcHJl c2VudGF0aW9uIG9mICp1c2VyX2lkKiAqLw0KPj4gPj4gPisJfTsNCj4+ID4+ID4rDQo+PiA+PiA+ KwkvKiBXNCAqLw0KPj4gPj4gPisJc3RydWN0IHJ0ZV9yZWdleF9tYXRjaCBtYXRjaGVzW107DQo+ PiA+PiA+KwkvKio8IFplcm8gbGVuZ3RoIGFycmF5IHRvIGhvbGQgdGhlIG1hdGNoIHR1cGxlcy4N Cj4+ID4+ID4rCSAqIFRoZSBzdHJ1Y3QgcnRlX3JlZ2V4X29wczo6bmJfbWF0Y2hlcyB2YWx1ZSBo b2xkcyB0aGUNCj4+ID4+ID5udW1iZXIgb2YNCj4+ID4+ID4rCSAqIGVsZW1lbnRzIGluIHRoaXMg YXJyYXkuDQo+PiA+PiA+KwkgKg0KPj4gPj4gPisJICogQHNlZSBzdHJ1Y3QgcnRlX3JlZ2V4X29w czo6bmJfbWF0Y2hlcw0KPj4gPj4gPisJICovDQo+PiA+PiA+K307DQo=