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 819C9A2EDB for ; Wed, 2 Oct 2019 10:52:59 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 6AA301BE92; Wed, 2 Oct 2019 10:52:58 +0200 (CEST) Received: from EUR02-HE1-obe.outbound.protection.outlook.com (mail-eopbgr10071.outbound.protection.outlook.com [40.107.1.71]) by dpdk.org (Postfix) with ESMTP id 04CF31BDFD for ; Wed, 2 Oct 2019 10:52:56 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=OQfIa7AsU89Obte//bPhyY955a21FsTrED2MBaYd24mpgX3upqjebGd3PMdpOuzEg/lwvbh5Sk4/1KMy0l6gvAzGZfBzwSYvy3qZYiEIM1j2K81Nvb6gbCSYVwX9LBwkASfUibaanpEqWNjNP37xqc75+qQ7ya4lCgf4aJj+bXij/SA7MRUkr+ysxIDXyKR/+Jx6nvRqhxIRmuLVA/CO3v/nBUUAMsjhvf231hTPvkRX82iHHBgkNpS3c8OciypOKScdXxG9bYmEavg+xfOJ7J/SjqEOFs8+3oTJHsXJOkk3nuCgxtMP7soNjJ+wzTNcjfNshAHVldwUFXAbsG++4g== 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=9PV4MtlLmdlpqDebtMv56SXa1fQpIHApVtNchNvw6Ts=; b=dUKGu9GKfHTQwLLl6GqyW/z8wCPbAHWj1mxMqhGwY0+nzBYdBuF963AbqF7rNG991TeiDmfb1laKotHs1oDymTwWnQQxwnfMUnyPGQ5Hpj/9nh0yAtoZfVilke/1YVzPLd2EaD9f1cjuY7a5eCDw1fpEKEpyniNHr/D6mOk94f0ckMLUsRkiYXq1ojkYRT2z6sIMH4YYX+eSgCJf4ABGPfSNHCz1VFrw94LR2nfXOy1ZWkkcd4igUYcT56l+xe+LFAYgC397Xcs22ziZVkp6dkG8dXjZhbAd7+4oZ9nXL1C24Mkbuni1QvGkzUhh/GwSfLHtVEmlA1RB3ncRxYOCYQ== 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=selector2; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=9PV4MtlLmdlpqDebtMv56SXa1fQpIHApVtNchNvw6Ts=; b=EBBf4zKhNKHlViOhXGQT/n3SKln23HGfyCehYKer4cCyiaduIV9eiiIL+0QiXzDiWGr2/qSnRJm9jjXXzGRTYjfi3ijsueUhLR5jhwDSSs55vIzyRmoRkh1rLLLqGsbQBWGrUtQni++6/FCKj6fC0/iHWxBjR3j3d3fAKN6RhQ8= Received: from AM0PR0502MB3795.eurprd05.prod.outlook.com (52.133.45.150) by AM0PR0502MB3969.eurprd05.prod.outlook.com (52.133.36.150) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2305.17; Wed, 2 Oct 2019 08:52:50 +0000 Received: from AM0PR0502MB3795.eurprd05.prod.outlook.com ([fe80::683e:2a0f:9e1:e50c]) by AM0PR0502MB3795.eurprd05.prod.outlook.com ([fe80::683e:2a0f:9e1:e50c%7]) with mapi id 15.20.2305.017; Wed, 2 Oct 2019 08:52:50 +0000 From: Shahaf Shuler To: Jerin Jacob Kollanukkaran , Thomas Monjalon , "'dev@dpdk.org'" CC: Pavan Nikhilesh Bhagavatula , 'Hemant Agrawal' , Opher Reviv , Alex Rosenbaum , Dovrat Zifroni , Prasun Kapoor , 'Nipun Gupta' , "'Wang, Xiang W'" , "'Richardson, Bruce'" , "'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'" Thread-Topic: [dpdk-dev] [RFC PATCH v1] regexdev: introduce regexdev subsystem Thread-Index: AQHVU11phJzTGKaamk+WjoI+trNqP6cFGk1ggB/NhQCAGvXsAIAHRYZggAAts4CAAAWbYA== Date: Wed, 2 Oct 2019 08:52:50 +0000 Message-ID: References: <20190627155036.56940-1-jerinj@marvell.com> <8285913.8xKIzI91KM@xps> <1922242.dABWq9CbNQ@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=shahafs@mellanox.com; x-originating-ip: [31.154.10.105] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 44b03c49-4a7d-48d0-aac9-08d74715e813 x-ms-office365-filtering-ht: Tenant x-ms-traffictypediagnostic: AM0PR0502MB3969:|AM0PR0502MB3969: 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:8882; x-forefront-prvs: 0178184651 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(39860400002)(346002)(396003)(376002)(366004)(136003)(13464003)(199004)(189003)(26005)(186003)(446003)(6436002)(486006)(305945005)(476003)(7736002)(11346002)(74316002)(7416002)(102836004)(9686003)(53546011)(86362001)(7696005)(81156014)(6506007)(55016002)(76176011)(8676002)(229853002)(81166006)(110136005)(6246003)(256004)(3846002)(316002)(52536014)(66066001)(14454004)(71200400001)(71190400001)(66556008)(25786009)(99286004)(8936002)(4326008)(54906003)(2906002)(5660300002)(76116006)(66946007)(478600001)(64756008)(66476007)(6116002)(66446008)(33656002)(14444005)(491001); DIR:OUT; SFP:1101; SCL:1; SRVR:AM0PR0502MB3969; H:AM0PR0502MB3795.eurprd05.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; 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: k79wXdGw2w3gciSp1d2nyGFj72CE8UtoHnEcmtEckE24Vx+sKnJ+GOVn7Q65P+LA3gxfSg/e2C7ppXbwF+tmnwMgga+XWJLJpICjpE/xOO5O/EiX10mudFJDOOYBkZwDjlN8Qq1TJPAOJ+/t1N+qpe6V2AENiGh6SHJGo0MBMtEDYtA80xfnVf6kySCQP09Z+JuZ4J1dR9XqCBmDleNT2nNqBDN9rxBVgzpCCEZPyK68k5UYsoVu+X4l9OLQass3ecXG3AgIfpCR+aAKovlGwOIsGnHIPs1Vn6RYl+7fPq3XlQysJ6xNNQVKTxw/RdTy8I8no/qmv+DGv4gDSYi+wqo90RzKsvORsRLhojcSIR04hf18l7cWCemzuV1X6aa7g0xwEvIFDPUuBnF2flul8pZE3reZxQcrR7WOgR6jWvw= 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: 44b03c49-4a7d-48d0-aac9-08d74715e813 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Oct 2019 08:52:50.7594 (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: 9eYKBXldErjomj2yRu1Gj1tzU18x002AiFN9wo8571ahG6ttVWcRpQv8hZ+TYhoXqPagm12ZwWiMLsiGCWLA7w== X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM0PR0502MB3969 Subject: Re: [dpdk-dev] [RFC PATCH v1] 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" V2VkbmVzZGF5LCBPY3RvYmVyIDIsIDIwMTkgMTE6MzIgQU0sIEplcmluIEphY29iIEtvbGxhbnVr a2FyYW46DQo+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIFtSRkMgUEFUQ0ggdjFdIHJlZ2V4ZGV2 OiBpbnRyb2R1Y2UgcmVnZXhkZXYNCj4gc3Vic3lzdGVtDQo+IA0KPiA+IC0tLS0tT3JpZ2luYWwg TWVzc2FnZS0tLS0tDQo+ID4gRnJvbTogU2hhaGFmIFNodWxlciA8c2hhaGFmc0BtZWxsYW5veC5j b20+DQo+ID4gU2VudDogV2VkbmVzZGF5LCBPY3RvYmVyIDIsIDIwMTkgMTE6MjMgQU0NCj4gPiBU bzogSmVyaW4gSmFjb2IgS29sbGFudWtrYXJhbiA8amVyaW5qQG1hcnZlbGwuY29tPjsgVGhvbWFz IE1vbmphbG9uDQo+ID4gPHRob21hc0Btb25qYWxvbi5uZXQ+OyAnZGV2QGRwZGsub3JnJyA8ZGV2 QGRwZGsub3JnPg0KPiA+IENjOiBQYXZhbiBOaWtoaWxlc2ggQmhhZ2F2YXR1bGEgPHBiaGFnYXZh dHVsYUBtYXJ2ZWxsLmNvbT47ICdIZW1hbnQNCj4gPiBBZ3Jhd2FsJyA8aGVtYW50LmFncmF3YWxA bnhwLmNvbT47IE9waGVyIFJldml2DQo+IDxvcGhlckBtZWxsYW5veC5jb20+Ow0KPiA+IEFsZXgg Um9zZW5iYXVtIDxhbGV4ckBtZWxsYW5veC5jb20+OyBEb3ZyYXQgWmlmcm9uaQ0KPiA+IDxkb3Zy YXRAbWFydmVsbC5jb20+OyBQcmFzdW4gS2Fwb29yIDxwa2Fwb29yQG1hcnZlbGwuY29tPjsgJ05p cHVuDQo+ID4gR3VwdGEnIDxuaXB1bi5ndXB0YUBueHAuY29tPjsgJ1dhbmcsIFhpYW5nIFcnDQo+ ID4gPHhpYW5nLncud2FuZ0BpbnRlbC5jb20+OyAnUmljaGFyZHNvbiwgQnJ1Y2UnDQo+IDxicnVj ZS5yaWNoYXJkc29uQGludGVsLmNvbT47ICd5YW5nLmEuaG9uZ0BpbnRlbC5jb20nDQo+ID4gPHlh bmcuYS5ob25nQGludGVsLmNvbT47ICdoYXJyeS5jaGFuZ0BpbnRlbC5jb20nDQo+ID4gPGhhcnJ5 LmNoYW5nQGludGVsLmNvbT47ICdndS5qaWFuMUB6dGUuY29tLmNuJyA8Z3UuamlhbjFAenRlLmNv bS5jbj47DQo+ICdzaGFuamlhbmdoQGNoaW5hdGVsZWNvbS5jbicNCj4gPiA8c2hhbmppYW5naEBj aGluYXRlbGVjb20uY24+OyAnemhhbmd5Lnl1bkBjaGluYXRlbGVjb20uY24nDQo+ID4gPHpoYW5n eS55dW5AY2hpbmF0ZWxlY29tLmNuPjsgJ2xpeGluZ2Z1QGh1YWNoZW50ZWwuY29tJw0KPiA+IDxs aXhpbmdmdUBodWFjaGVudGVsLmNvbT47ICd3dXNodWFpQGluc3B1ci5jb20nDQo+IDx3dXNodWFp QGluc3B1ci5jb20+Ow0KPiA+ICd5dXlpbmd4aWFAeXhsaW5rLmNvbScgPHl1eWluZ3hpYUB5eGxp bmsuY29tPjsNCj4gPiAnZmFuY2hlbmdnYW5nQHN1bnlhaW5mby5jb20nIDxmYW5jaGVuZ2dhbmdA c3VueWFpbmZvLmNvbT47DQo+ID4gJ2RhdmlkZmdhb0B0ZW5jZW50LmNvbScgPGRhdmlkZmdhb0B0 ZW5jZW50LmNvbT47DQo+ID4gJ2xpdXpob25nMUBjaGluYXVuaWNvbS5jbicgPGxpdXpob25nMUBj aGluYXVuaWNvbS5jbj47DQo+ID4gJ3poYW95b25nMTFAaHVhd2VpLmNvbScgPHpoYW95b25nMTFA aHVhd2VpLmNvbT47ICdvY0B5dW5pZnkuY29tJw0KPiA+IDxvY0B5dW5pZnkuY29tPjsgJ2ppbUBu ZXRnYXRlLmNvbScgPGppbUBuZXRnYXRlLmNvbT47DQo+ID4gJ2hvbmdqdW4ubmlAaW50ZWwuY29t JyA8aG9uZ2p1bi5uaUBpbnRlbC5jb20+OyAnai5icm9taGVhZEB0aXRhbi0NCj4gaWMuY29tJw0K PiA+IDxqLmJyb21oZWFkQHRpdGFuLWljLmNvbT47ICdkZXJpQG50b3Aub3JnJyA8ZGVyaUBudG9w Lm9yZz47DQo+ID4gJ2ZjQG5hcGF0ZWNoLmNvbScgPGZjQG5hcGF0ZWNoLmNvbT47ICdhcnRodXIu c3VAbGlvbmljLmNvbScNCj4gPiA8YXJ0aHVyLnN1QGxpb25pYy5jb20+DQo+ID4gU3ViamVjdDog UkU6IFtkcGRrLWRldl0gW1JGQyBQQVRDSCB2MV0gcmVnZXhkZXY6IGludHJvZHVjZSByZWdleGRl dg0KPiA+IHN1YnN5c3RlbQ0KPiA+DQo+ID4gPiA+ID4gSSB0aGluayB0aGUgZnVuY3Rpb24gbmFt ZSBpcyBub3QgdG9vIGluZm9ybWF0aXZlLiBJZiB0aGlzDQo+ID4gPiA+ID4gZnVuY3Rpb24gbWVh bnQgdG8gY29tcGlsZSB0aGUgcnVsZSB0aGVuIGl0IHNob3VsZCBiZSBleHBsaWNpdCBvbg0KPiA+ ID4gPiA+IHRoZSBmdW5jdGlvbg0KPiA+ID4gbmFtZS4NCj4gPiA+ID4NCj4gPiA+ID4gSXQgaXMg bWVhbnQgdG8gYmUgY29tcGlsZSB0aGUgcnVsZXMgYW5kIHRoZW4gIHVwZGF0ZSB0aGUgcnVsZSBk YXRhYmFzZS4NCj4gPiA+ID4NCj4gPiA+ID4gSSB0aGluaywgd2UgY2FuIGhhdmUgZWl0aGVyIDEg b3IgMi4gTGV0IG1lIGtub3cgeW91ciBwcmVmZXJlbmNlIG9yDQo+ID4gPiA+IElmIHlvdSBoYXZl IGFueSBuYW1lIHN1Z2dlc3Rpb24uIEkgd2lsbCBjaGFuZ2UgaXQgYWNjb3JkaW5nbHkuDQo+ID4g PiA+DQo+ID4gPiA+IDEuIHJ0ZV9yZWdleF9ydWxlX2RiX2NvbXBpbGUoKQ0KPiA+ID4gPiAyLiBy dGVfcmVnZXhfcnVsZV9kYl9jb21waWxlX3VwZGF0ZSgpDQo+ID4gPg0KPiA+ID4NCj4gPiA+IEBT aGFoYWYgU2h1bGVyLCBUaG91Z2h0cz8NCj4gPg0KPiA+IElNTyB3ZSBzaG91bGQgaGF2ZSB0d28g c2VwYXJhdGUgZnVuY3Rpb25zIC0gb25lIHRvIG9ubHkgY29tcGlsZS4gT25lDQo+ID4gdG8gb25s eSB1cGRhdGUuDQo+ID4NCj4gPiBTbyBJIHdvdWxkIHByZWZlciAjMSwgd2l0aCBhZGRpdGlvbiAo aWYgbm90IGFscmVhZHkgcHJlc2VudCkgb2YgQVBJIHRvDQo+ID4gdXBkYXRlIHJ1bGVzLg0KPiAN Cj4gDQo+IE9LLiBXaWxsIGNoYW5nZSBpdCBpbiBuZXh0IHZlcnNpb24uDQo+IA0KPiANCj4gPg0K PiA+ID4NCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+ID4gPiArDQo+ID4gPiA+ID4g PiArICovDQo+ID4gPiA+ID4gPiArc3RydWN0IHJ0ZV9yZWdleF9vcHMgew0KPiA+ID4gPiA+ID4g Kw0KPiA+ID4gPiA+ID4gKwkvKiBXNCAqLw0KPiA+ID4gPiA+ID4gKwlSVEVfU1REX0MxMQ0KPiA+ ID4gPiA+ID4gKwl1bmlvbiB7DQo+ID4gPiA+ID4gPiArCQl1aW50NjRfdCB1c2VyX2lkOw0KPiA+ ID4gPiA+ID4gKwkJLyoqPCBBcHBsaWNhdGlvbiBzcGVjaWZpYyBvcGFxdWUgdmFsdWUuIEFuDQo+ IGFwcGxpY2F0aW9uDQo+ID4gbWF5DQo+ID4gPiA+ID4gPiB1c2UNCj4gPiA+ID4gPiA+ICsJCSAq IHRoaXMgZmllbGQgdG8gaG9sZCBhcHBsaWNhdGlvbiBzcGVjaWZpYyB2YWx1ZSB0byBzaGFyZQ0K PiA+ID4gPiA+ID4gKwkJICogYmV0d2VlbiBkZXF1ZXVlIGFuZCBlbnF1ZXVlIG9wZXJhdGlvbi4N Cj4gPiA+ID4gPiA+ICsJCSAqIEltcGxlbWVudGF0aW9uIHNob3VsZCBub3QgbW9kaWZ5IHRoaXMg ZmllbGQuDQo+ID4gPiA+ID4gPiArCQkgKi8NCj4gPiA+ID4gPiA+ICsJCXZvaWQgKnVzZXJfcHRy Ow0KPiA+ID4gPiA+ID4gKwkJLyoqPCBQb2ludGVyIHJlcHJlc2VudGF0aW9uIG9mICp1c2VyX2lk KiAqLw0KPiA+ID4gPiA+ID4gKwl9Ow0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gU2luY2Ugd2UgdGFy Z2V0IHRoZSByZWdleCBzdWJzeXN0ZW0gZm9yIGJvdGggcmVnZXggYW5kIERQSSBJDQo+ID4gPiA+ ID4gdGhpbmsgaXQgd2lsbCBiZSBnb29kIHRvIGFkZCBhbm90aGVyIHVpbnQ2NF90IGZpZWxkIGNh bGxlZA0KPiBjb25uZWN0aW9uX2lkLg0KPiA+ID4gPiA+IERldmljZSB0aGF0IHN1cHBvcnQgRFBJ IGNhbiByZWZlciB0byBpdCBhcyBhbm90aGVyIG1hdGNoIGFibGUNCj4gPiA+ID4gPiBmaWVsZCB3 aGVuIGxvb2tpbmcgdXAgZm9yIG1hdGNoZXMgb24gdGhlIGdpdmVuIGJ1ZmZlci4NCj4gPiA+ID4g Pg0KPiA+ID4gPiA+IFRoaXMgZmllbGQgaXMgZGlmZmVyZW50IGZyb20gdGhlIHVzZXJfaWQsIGFz IGl0IGlzIG5vdCBvcGFxdWUgZm9yIHRoZQ0KPiBkZXZpY2UuDQo+ID4gPiA+DQo+ID4gPiA+IElz IHRoaXMgZHJpdmVyIHNwZWNpZmljIHN0b3JhZ2UgcGxhY2Ugd2hlcmUgYXBwbGljYXRpb24gc2hv dWxkIG5vdCB0b3VjaA0KPiBpdD8NCj4gPiA+ID4NCj4gPiA+ID4gSWYgbm90LCBDb3VsZCB5b3Ug c2hhcmUgdGhlIGRhdGEgZmxvdyBvZiB0aGlzIGZpZWxkPyBJZS4gV2hvICJ3cml0ZSINCj4gPiA+ ID4gdGhpcyBGaWVsZCBhbmQgd2hvICJyZWFkIiB0aGlzIGZpZWxkLg0KPiA+DQo+ID4gQXBwbGlj YXRpb24gd3JpdGVzIHRvIHRoZSBmaWVsZC4gRGV2aWNlIHJlYWRzIGZyb20gdGhpcyBmaWVsZHMu DQo+ID4gVW5saWtlIHRoZSB1c2VyX3B0ciB3aGljaCBpcyBjb21wbGV0ZSBvcGFxdWUgdG8gdGhl IGRldmljZSwNCj4gPiBjb25uZWN0aW9uX2lkIGZpZWxkIHdpbGwgaGF2ZSBzb21lIG1lYW5pbmcg KGUuZy4gRFBJIHJ1bGVzIGNhbiBhcHBseSBvbiBpdCkuDQo+IA0KPiBXaWxsIHlvdSBiZSBjb25u ZWN0aW5nIHRoZSB2YWx1ZSB0byBydGVfZmxvdyBldGMgdG8gZ2V0IHRoZSBjb21wbGV0ZSBkYXRh DQo+IGZsb3cuDQo+IEkgdW5kZXJzdGFuZCBhcHBsaWNhdGlvbnMgd3JpdGVzIHRvIHRoaXMgZmll bGQsIEJ1dCBJIGFtIG5vdCBzdXJlIHdoYXQgdmFsdWVzDQo+IE5lZWRzIHRvIGJlIHdyaXR0ZW4g YW5kIGhvdyBpdCB3aWxsIGJlIGNvbm5lY3RlZCBpbiBvdmVyYWxsIHNjaGVtZSBvZiB0aGluZ3Mu DQo+IEkgYW0gbm90IHN1cmUgZXZlbiB3aGF0IHRvIHdyaXRlIGRveGd5Z2VuIGNvbW1lbnQgZm9y IHRoaXMgZmllbGQuDQo+IA0KPiBDYW4gd2UgYWRkIHRoaXMgZmllbGQgb25jZSB3ZSBoYXZlIHRo ZSBjb21wbGV0ZSBkYXRhIGZsb3c/LiBTaW5jZSBpdCBpcw0KPiBFeHBlcmltZW50YWwgd2UgY2Fu IGFsd2F5cyBhZGQgbmV3IGZpZWxkLg0KDQpZZXMuIFdlIGNhbiByZXZpc2l0IGl0IGxhdGVyLCBz byBsb25nIHdlIGFncmVlIHRoYXQgc3VjaCBmaWVsZCBjYW4gYmUgYWRkZWQuIA0KDQo+IA0KDQo=