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 60D00A32A2 for ; Fri, 25 Oct 2019 11:20:28 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 2E9E21D168; Fri, 25 Oct 2019 11:20:28 +0200 (CEST) Received: from mx0b-0016f401.pphosted.com (mx0b-0016f401.pphosted.com [67.231.156.173]) by dpdk.org (Postfix) with ESMTP id D35721C2A1 for ; Fri, 25 Oct 2019 11:20:25 +0200 (CEST) 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 x9P9ARNJ026047; Fri, 25 Oct 2019 02:20:24 -0700 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : references : in-reply-to : content-type : content-transfer-encoding : mime-version; s=pfpt0818; bh=8CVMEJ7IhPGI/BIJ7sRl4Oyw3xMpOfU5UThIBGQeE0w=; b=zOUIEWsLr/c6qhUow/eUNYc1rTk4dVlU5GwpkqsZSfXn9Pb7YhbxCV6qQIfg8iRcmLKu UESulXs/B658shZFO7GonrWDFpn0HHrfUx2m4+958uG9McazWtWVmDI5DLdYWVv75WGU pO7I2MnnSQSCWKhupL+2CSQmvhM0KmOz0Nox8osWtUTg1r9PDEHKdVulagGRyh+pXsqV QFN0v2FrjnP9cWpwMZLo3Kz6HfZJOV4UvtUqf1QCsUA/WiX2X+qdLrMqWW2EUq1uqwbX i9lXHMbE2hE/6dgCFEvhOBmUYSil/zBrvdxrnDxMTqIFMmCklXSVh2jleoJQpNlOIaHA ug== Received: from sc-exch03.marvell.com ([199.233.58.183]) by mx0b-0016f401.pphosted.com with ESMTP id 2vt9uju8xq-2 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Fri, 25 Oct 2019 02:20:24 -0700 Received: from SC-EXCH02.marvell.com (10.93.176.82) by SC-EXCH03.marvell.com (10.93.176.83) with Microsoft SMTP Server (TLS) id 15.0.1367.3; Fri, 25 Oct 2019 02:20:23 -0700 Received: from NAM02-SN1-obe.outbound.protection.outlook.com (104.47.36.59) by SC-EXCH02.marvell.com (10.93.176.82) with Microsoft SMTP Server (TLS) id 15.0.1367.3 via Frontend Transport; Fri, 25 Oct 2019 02:20:22 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LbRi83FfUpmEoWDGzkwjI4eOoGsM1dvykZ9tieDc8cIuT0+aDLbn2CtRSthW5DGE19J7AoyPrAYe5Y3WuUv6M5SQH0GlpOqOaPVeL/Hxb3QYg576qw9sA7PjAzhlXCFGAbYN/VqQ+uNyND6B3trV6cR+G9qFn/ttn2gO6opnOdly0iaz1o9XxoX/R2I1Q7UTLyPULGiJwOahTvBOC8PM1uPX8OPJbh79SfSprut2HewbBxhDtyL8Gx1wN1Sv+xtsbBQF1P5KnR7uek3PurZkzRuozkkGqrIfXQgFJXudwzX7D2hwh16bcRoE9qr47MlMTZCt8eoWdK5drDcF/Fo0ow== 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=8CVMEJ7IhPGI/BIJ7sRl4Oyw3xMpOfU5UThIBGQeE0w=; b=RAXt4VcX8Bn8DIn5uAcAUYAtjm11t+CBpg86wJSYlbFFJc5OTxGitVTvwJIY8Rn90uzj7ke69z9siuX8TrUBjvVFbjvWfHqFSqWhvvlZA1MSWoUx36sppdfngKy8bijR8KjZfWi1ZLOOp26/7U5qrjvP5Ast9X6eKpGkpTGQazd/WmWjmnTr46c5E2DDeijMZmM2+bvRyYo0xbyPfxmVOYI6ceMc2bLS/1odRGb7tLUGMznqYL7f8hgKUVu33kxX/OUYGBpvHjDMRBQnrpzui5F+x7FwhALwZAzp6Scrm8KrYkleTAWrPDzquUhqFNEFClJZ5TYMsuLuHTvazvwAvg== 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=selector2-marvell-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=8CVMEJ7IhPGI/BIJ7sRl4Oyw3xMpOfU5UThIBGQeE0w=; b=P2aPsY1RlacLq5lTl2jCXVQcndi5ggNYZ2fLjmvzPsBqxL3N7HnFN24j0aw4yGkrxcozZU9R+D6BTaFpW/sVfVLFVRQmLtQXe0TIEA3XXLolCrJhNrw74HpD8ZGbqecPy8pFthR/o3jV3OlfDik7jJJTwePNP6wXAlU8IjgAZgQ= Received: from MWHPR18MB1645.namprd18.prod.outlook.com (10.173.241.137) by MWHPR18MB1599.namprd18.prod.outlook.com (10.173.244.13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2387.25; Fri, 25 Oct 2019 09:20:21 +0000 Received: from MWHPR18MB1645.namprd18.prod.outlook.com ([fe80::b4fd:71ce:2bc4:7afb]) by MWHPR18MB1645.namprd18.prod.outlook.com ([fe80::b4fd:71ce:2bc4:7afb%3]) with mapi id 15.20.2347.030; Fri, 25 Oct 2019 09:20:21 +0000 From: Vamsi Krishna Attunuru To: Jerin Jacob , Olivier Matz CC: Andrew Rybchenko , Ferruh Yigit , "thomas@monjalon.net" , "Jerin Jacob Kollanukkaran" , Kiran Kumar Kokkilagadda , "anatoly.burakov@intel.com" , "stephen@networkplumber.org" , "dev@dpdk.org" Thread-Topic: [dpdk-dev] [EXT] Re: [PATCH v11 2/4] eal: add legacy kni option Thread-Index: AQHViYp0eXahEdAVlE6WOaNh/KWwTKdoTnsAgAAEHQCAAb0SAIAAIE8AgADZW8A= Date: Fri, 25 Oct 2019 09:20:20 +0000 Message-ID: References: <20191021080324.10659-3-vattunuru@marvell.com> <4bd1acf5-2da2-b2da-2b0c-7ee243d5aeb9@intel.com> <77f8eaf0-52ca-1295-973d-c8085f7b7736@intel.com> <08c426d1-6fc9-1c3f-02d4-8632a8e3c337@solarflare.com> <20191023144724.GO25286@glumotte.dev.6wind.com> <20191024173506.GU25286@glumotte.dev.6wind.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [14.140.231.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 41438e17-5968-46ad-0a37-08d7592c8f17 x-ms-traffictypediagnostic: MWHPR18MB1599: x-ms-exchange-purlcount: 1 x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:6108; x-forefront-prvs: 02015246A9 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(136003)(346002)(366004)(376002)(39860400002)(396003)(13464003)(199004)(189003)(51914003)(45074003)(76176011)(6246003)(86362001)(66476007)(76116006)(66556008)(64756008)(66446008)(66946007)(6506007)(102836004)(53546011)(186003)(3846002)(316002)(55236004)(478600001)(52536014)(66066001)(14454004)(4326008)(26005)(7696005)(6116002)(14444005)(486006)(7736002)(5660300002)(6436002)(55016002)(74316002)(9686003)(8936002)(6306002)(229853002)(33656002)(2906002)(8676002)(81166006)(81156014)(446003)(54906003)(11346002)(110136005)(99286004)(966005)(71200400001)(19627235002)(25786009)(476003)(256004)(305945005)(71190400001); DIR:OUT; SFP:1101; SCL:1; SRVR:MWHPR18MB1599; H:MWHPR18MB1645.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: 8YaamOf7hcSOIQQMnkc3L8L6IydCaiAL4ZFUrm8/GiQmJvHUwCtjHPjgfrjM7VTqTolBKKxRtKPG06hwQ+ymS0/lqHE7IxP6vUtPlLYTBgC0LrosGQIYpMBP9PndVdMC/uDXHZjZh0ci0wD/a/S7Z7NQ1CTCqdMVkhkhbmHN7Md2YV7iH0HHdl6a2Bi8BxwYBZPna5f1/k0cGZ4iHBpB8+Em97WNLTejnEQNpibZUbxa95QFQEK4V1zM5WzQOqQ9E2IeLBpRog2WkXcz8UJ/HqJATggyzxALvRytV4LfUP4ns1hzjn43NCpZNbQi+Rrq5Yu+bbzFZZBr7tOks8vsY6sIS9XUUl5cBkyML52Hlk9Dh85v4oErJ7jvt3ygsnKsypBu/XZx8IWz2QBy1B3kJu2WGaPxHsp45zZQOXAsWjRW6SVs4wx4PbZoYHF1n35/ff6DPWKqIKSuOBCmm4zdZbgKhsoLB9y2vBebAaq9qx4= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-Network-Message-Id: 41438e17-5968-46ad-0a37-08d7592c8f17 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Oct 2019 09:20:20.8600 (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: dEMPEx05+wKBlYk18zb+zbi0MvGNwmOd0mDg/fVVHakUARXJmTrngCKQ3g7k62YiddV/zENLjYMGkVhBbgCkXA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MWHPR18MB1599 X-OriginatorOrg: marvell.com X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10434:6.0.95,1.0.8 definitions=2019-10-25_05:2019-10-23,2019-10-25 signatures=0 Subject: Re: [dpdk-dev] [EXT] Re: [PATCH v11 2/4] eal: add legacy kni option 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" DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogSmVyaW4gSmFjb2IgPGpl cmluamFjb2JrQGdtYWlsLmNvbT4NCj4gU2VudDogRnJpZGF5LCBPY3RvYmVyIDI1LCAyMDE5IDE6 MDEgQU0NCj4gVG86IE9saXZpZXIgTWF0eiA8b2xpdmllci5tYXR6QDZ3aW5kLmNvbT4NCj4gQ2M6 IFZhbXNpIEtyaXNobmEgQXR0dW51cnUgPHZhdHR1bnVydUBtYXJ2ZWxsLmNvbT47IEFuZHJldyBS eWJjaGVua28NCj4gPGFyeWJjaGVua29Ac29sYXJmbGFyZS5jb20+OyBGZXJydWggWWlnaXQgPGZl cnJ1aC55aWdpdEBpbnRlbC5jb20+Ow0KPiB0aG9tYXNAbW9uamFsb24ubmV0OyBKZXJpbiBKYWNv YiBLb2xsYW51a2thcmFuIDxqZXJpbmpAbWFydmVsbC5jb20+OyBLaXJhbg0KPiBLdW1hciBLb2tr aWxhZ2FkZGEgPGtpcmFua3VtYXJrQG1hcnZlbGwuY29tPjsgYW5hdG9seS5idXJha292QGludGVs LmNvbTsNCj4gc3RlcGhlbkBuZXR3b3JrcGx1bWJlci5vcmc7IGRldkBkcGRrLm9yZw0KPiBTdWJq ZWN0OiBSZTogW2RwZGstZGV2XSBbRVhUXSBSZTogW1BBVENIIHYxMSAyLzRdIGVhbDogYWRkIGxl Z2FjeSBrbmkgb3B0aW9uDQo+IA0KPiBPbiBUaHUsIE9jdCAyNCwgMjAxOSBhdCAxMTowNSBQTSBP bGl2aWVyIE1hdHogPG9saXZpZXIubWF0ekA2d2luZC5jb20+DQo+IHdyb3RlOg0KPiA+DQo+ID4g SGksDQo+ID4NCj4gPiBPbiBXZWQsIE9jdCAyMywgMjAxOSBhdCAwODozMjowOFBNICswNTMwLCBK ZXJpbiBKYWNvYiB3cm90ZToNCj4gPiA+IE9uIFdlZCwgT2N0IDIzLCAyMDE5IGF0IDg6MTcgUE0g T2xpdmllciBNYXR6IDxvbGl2aWVyLm1hdHpANndpbmQuY29tPg0KPiB3cm90ZToNCj4gPiA+ID4N Cj4gPiA+ID4gSGksDQo+ID4gPiA+DQo+ID4gPiA+IE9uIFdlZCwgT2N0IDIzLCAyMDE5IGF0IDAz OjQyOjM5UE0gKzA1MzAsIEplcmluIEphY29iIHdyb3RlOg0KPiA+ID4gPiA+IE9uIFR1ZSwgT2N0 IDIyLCAyMDE5IGF0IDc6MDEgUE0gVmFtc2kgS3Jpc2huYSBBdHR1bnVydQ0KPiA+ID4gPiA+IDx2 YXR0dW51cnVAbWFydmVsbC5jb20+IHdyb3RlOg0KPiA+ID4gPiA+ID4NCj4gPiA+ID4gPiA+IEhp IEZlcnJ1aCwNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPiBDYW4geW91IHBsZWFzZSBleHBsYWlu IHRoZSBwcm9ibGVtcyBpbiB1c2luZyBrbmkgZGVkaWNhdGVkIG1idWYgYWxsb2MNCj4gcm91dGlu ZXMgd2hpbGUgZW5hYmxpbmcga25pIGlvdmE9dmEgbW9kZS4gUGxlYXNlIHNlZSB0aGUgYmVsb3cg ZGlzY3Vzc2lvbiB3aXRoDQo+IEFuZHJldy4gSGUgd2FudGVkIHRvIGtub3cgdGhlIHByb2JsZW1z IGluIGhhdmluZyBuZXdlciBBUElzLg0KPiA+ID4gPiA+DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBX aGlsZSB3YWl0aW5nICBmb3IgdGhlIEZlcnJ1aCByZXBseSwgSSB3b3VsZCBsaWtlIHRvIHN1bW1h cmlzZQ0KPiA+ID4gPiA+IHRoZSBjdXJyZW50IHN0YXR1cw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4g IyBJbiBvcmRlciB0byBtYWtlIEtOSSB3b3JrIHdpdGggSU9WQSBhcyBWQSwgV2UgbmVlZCB0byBt YWtlDQo+ID4gPiA+ID4gc3VyZSBtZW1wb29sIHBvb2wgX29iamVjdF8gc2hvdWxkIG5vdCBzcGFu IGFjcm9zcyB0d28gaHVnZSBwYWdlcw0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gIyBUaGlzIHByb2Js ZW0gY2FuIGJlIGZpeGVkIGJ5LCBlaXRoZXIgb2Y6DQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBhKSBJ bnRyb2R1Y2UgYSBmbGFnIGluIG1lbXBvb2wgdG8gZGVmaW5lIHRoaXMgY29uc3RyYWludCwgc28N Cj4gPiA+ID4gPiB0aGF0LCB3aGVuIG9ubHkgbmVlZGVkLCB0aGlzIGNvbnN0cmFpbnQgZW5mb3Jj ZWQgYW5kIHRoaXMgaXMgaW4NCj4gPiA+ID4gPiBsaW5lIHdpdGggZXhpc3Rpbmcgc2VtYW50aWNz IG9mIGFkZHJlc3Npbmcgc3VjaCBwcm9ibGVtcyBpbg0KPiA+ID4gPiA+IG1lbXBvb2wNCj4gPiA+ ID4gPg0KPiA+ID4gPiA+IGIpIEluc3RlYWQgb2YgY3JlYXRpbmcgYSBmbGFnLCBNYWtlIHRoaXMg YmVoYXZpb3IgYnkgZGVmYXVsdCBpbg0KPiA+ID4gPiA+IG1lbXBvb2wgZm9yIElPVkEgYXMgVkEg Y2FzZQ0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVXBzaWRlOg0KPiA+ID4gPiA+IGIxKSBUaGVyZSBp cyBubyBuZWVkIGZvciBzcGVjaWZpYyBtZW1wb29sX2NyZWF0ZSBmb3IgS05JLg0KPiA+ID4gPiA+ DQo+ID4gPiA+ID4gRG93bnNpZGU6DQo+ID4gPiA+ID4gYjIpIE5vdCBhbGlnbiB3aXRoIGV4aXN0 aW5nIG1lbXBvb2wgQVBJIHNlbWFudGljcw0KPiA+ID4gPiA+IGIzKSBUaGVyZSB3aWxsIGJlIGEg dHJpdmlhbCBhbW91bnQgb2YgbWVtb3J5IHdhc3RlIGFzIHdlIGNhbiBub3QNCj4gPiA+ID4gPiBh bGxvY2F0ZSBmcm9tIHRoZSBlZGdlLiBDb25zaWRlcmluZyB0aGUgbm9ybWFsIGh1Z2UgcGFnZSBt ZW1vcnkNCj4gPiA+ID4gPiBzaXplIGlzIDFHIG9yIDUxMk1CIHRoaXMgbm90IGEgcmVhbCBpc3N1 ZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IGMpIE1ha2UgSU9WQSBhcyBQQSB3aGVuIEtOSSBrZXJu ZWwgbW9kdWxlIGlzIGxvYWRlZA0KPiA+ID4gPiA+DQo+ID4gPiA+ID4gVXBzaWRlOg0KPiA+ID4g PiA+IGMxKSBEb2luZyBvcHRpb24gKGEpIHdvdWxkIGNhbGwgZm9yIG5ldyBLTkkgc3BlY2lmaWMg bWVtcG9vbA0KPiA+ID4gPiA+IGNyZWF0ZSBBUEkgaS5lIGV4aXN0aW5nIEtOSSBhcHBsaWNhdGlv bnMgbmVlZCBhIG9uZS1saW5lIGNoYW5nZQ0KPiA+ID4gPiA+IGluIGFwcGxpY2F0aW9uIHRvIG1h a2UgaXQgd29yayB3aXRoIHJlbGVhc2UgMTkuMTEgb3IgbGF0ZXIuDQo+ID4gPiA+ID4NCj4gPiA+ ID4gPiBEb3duc2xpZGU6DQo+ID4gPiA+ID4gYzIpIERyaXZlciB3aGljaCBuZWVkcyBSVEVfUENJ X0RSVl9ORUVEX0lPVkFfQVNfVkEgY2FuIG5vdCB3b3JrDQo+ID4gPiA+ID4gd2l0aCBLTkkNCj4g PiA+ID4gPiBjMykgTmVlZCByb290IHByaXZpbGVnZSB0byBydW4gS05JIGFzIElPVkEgYXMgUEEg bmVlZCByb290DQo+ID4gPiA+ID4gcHJpdmlsZWdlDQo+ID4gPiA+ID4NCj4gPiA+ID4gPiBGb3Ig dGhlIG5leHQgeWVhciwgd2UgZXhwZWN0IGFwcGxpY2F0aW9ucyB0byB3b3JrIDE5LjExIHdpdGhv dXQNCj4gPiA+ID4gPiBhbnkgY29kZSBjaGFuZ2UuIE15IHBlcnNvbmFsIG9waW5pb24gdG8gbWFr ZSBnbyB3aXRoIG9wdGlvbiAoYSkNCj4gPiA+ID4gPiBhbmQgdXBkYXRlIHRoZSByZWxlYXNlIG5v dGVzIHRvIGRvY3VtZW50IHRoZSBjaGFuZ2UgYW55IGl0DQo+ID4gPiA+ID4gc2ltcGxlIG9uZS1s aW5lIGNoYW5nZS4NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFRoZSBzZWxlY3Rpb24gb2YgKGEpIHZz IChiKSBpcyBiZXR3ZWVuIEtOSSBhbmQgTWVtcG9vbCBtYWludGFpbmVycy4NCj4gPiA+ID4gPiBD b3VsZCB3ZSBwbGVhc2UgcmVhY2ggYSBjb25zZW5zdXM/IE9yIGNhbiB3ZSBkaXNjdXNzIHRoaXMg VEIgbWVldGluZz8NCj4gPiA+ID4gPg0KPiA+ID4gPiA+IFdlIGFyZSBnb2luZyBiYWNrIGFuZCBm b3J0aCBvbiB0aGlzIGZlYXR1cmUgb24gZm9yIHRoZSBsYXN0IDMNCj4gPiA+ID4gPiByZWxlYXNl cy4gTm93IHRoYXQsIHdlIHNvbHZlZCBhbGwgdGhlIHRlY2huaWNhbCBwcm9ibGVtcywgcGxlYXNl DQo+ID4gPiA+ID4gaGVscCB1cyB0byBkZWNpZGUgKGEpIHZzIChiKSB0byBtYWtlIGZvcndhcmQg cHJvZ3Jlc3MuDQo+ID4gPiA+DQo+ID4gPiA+IFRoYW5rIHlvdSBmb3IgdGhlIHN1bW1hcnkuDQo+ ID4gPiA+IFdoYXQgaXMgbm90IGNsZWFyIHRvIG1lIGlzIGlmIChhKSBvciAoYikgbWF5IGJyZWFr IGFuIGV4aXN0aW5nDQo+ID4gPiA+IGFwcGxpY2F0aW9uLCBhbmQgaWYgeWVzLCBpbiB3aGljaCBj YXNlLg0KPiA+ID4NCj4gPiA+IFRoYW5rcyBmb3IgdGhlIHJlcGx5Lg0KPiA+ID4NCj4gPiA+IFRv IGJlIGNsZWFyIHdlIGFyZSB0YWxraW5nIGFib3V0IG91dCBvZiB0cmVlIEtOSSB0cmVlIGFwcGxp Y2F0aW9uLg0KPiA+ID4gV2hpY2ggdGhleSBkb24ndCB3YW50IHRvDQo+ID4gPiBjaGFuZ2UgcnRl X3BrdG1idWZfcG9vbF9jcmVhdGUoKSB0byBydGVfa25pX3BrdG1idWZfcG9vbF9jcmVhdGUoKQ0K PiA+ID4gYW5kIGJ1aWxkIGZvciB2MTkuMTENCj4gPiA+DQo+ID4gPiBTbyBpbiBjYXNlIChiKSB0 aGVyZSBpcyBubyBpc3N1ZSBhcyBJdCB3aWxsIGJlIHVzaW5nIHJ0ZV9wa3RtYnVmX3Bvb2xfY3Jl YXRlICgpLg0KPiA+ID4gQnV0IGluIGNhc2Ugb2YgKGEpIGl0IHdpbGwgY3JlYXRlIGFuIGlzc3Vl IGlmIG91dCBvZiB0cmVlIEtOSQ0KPiA+ID4gYXBwbGljYXRpb24gaXMgdXNpbmcgcnRlX3BrdG1i dWZfcG9vbF9jcmVhdGUoKSB3aGljaCBpcyBub3QgdXNpbmcNCj4gPiA+IHRoZSBORVcgZmxhZy4N Cj4gPg0KPiA+IEZvbGxvd2luZyB5ZXN0ZXJkYXkncyBkaXNjdXNzaW9uIGF0IHRlY2hib2FyZCwg SSBsb29rZWQgYXQgdGhlIG1lbXBvb2wNCj4gPiBjb2RlIGFuZCBhdCBteSBwcmV2aW91cyBSRkMg cGF0Y2guIEl0IHRvb2sgc29tZSB0aW1lIHRvIHJlbWluZCBtZSB3aGF0DQo+ID4gd2FzIG15IHdv cnJpZXMuDQo+IA0KPiBUaGFua3MgZm9yIHRoZSByZXZpZXcgT2xpdmllci4NCj4gDQo+IEp1c3Qg dG8gbWFrZSBzdXJlIHRoZSBjb3JyZWN0IG9uZSBpcyByZXZpZXdlZC4NCj4gDQo+IDEpIHY3IGhh ZCBzaW1pbGFyIGlzc3VlIG1lbnRpb25lZA0KPiBodHRwczovL3VybGRlZmVuc2UucHJvb2Zwb2lu dC5jb20vdjIvdXJsP3U9aHR0cC0NCj4gM0FfX3BhdGNoZXMuZHBkay5vcmdfcGF0Y2hfNTY1ODVf JmQ9RHdJQmFRJmM9bktqV2VjMmI2UjBtT3lQYXo3eHRmDQo+IFEmcj1XbGxyWWF1bVZreGFXamdL dG82RV9ydERRc2hoSWhpazJqa3Z6RnlSaFc4Jm09TU13QVplNzZZTVZIZQ0KPiA4VWNIakw0SUJu Zlg1WXZ0Ym9jd0lDQVpHQlk5N0Emcz1tZk5fYWZueUZtNjVzUVl6YUFnXy0NCj4gdU05bzIyQTVq MzkyVGRCWlktYktLNCZlPQ0KPiANCj4gMikgdjExIGFkZHJlc3NlZCB0aGUgcmV2aWV3IGNvbW1l bnRzIGFuZCB5b3UgaGF2ZSBnaXZlbiB0aGUgQWNrZWQtYnkgZm9yDQo+IG1lbXBvb2wgY2hhbmdl IGh0dHBzOi8vdXJsZGVmZW5zZS5wcm9vZnBvaW50LmNvbS92Mi91cmw/dT1odHRwLQ0KPiAzQV9f cGF0Y2hlcy5kcGRrLm9yZ19wYXRjaF82MTU1OV8mZD1Ed0lCYVEmYz1uS2pXZWMyYjZSMG1PeVBh ejd4dGYNCj4gUSZyPVdsbHJZYXVtVmt4YVdqZ0t0bzZFX3J0RFFzaGhJaGlrMmprdnpGeVJoVzgm bT1NTXdBWmU3NllNVkhlDQo+IDhVY0hqTDRJQm5mWDVZdnRib2N3SUNBWkdCWTk3QSZzPWZyRnZL T0hGRFJoVGFtNmpEWlpjNm9tSzJnYjFSVTYyDQo+IHh6QWlpQk1uZjBJJmU9DQo+IA0KPiBNeSB0 aG91Z2h0IHByb2Nlc3MgaW4gdGhlIFRCIG1lZXRpbmcgd2FzLCBzaW5jZQ0KPiBydGVfbWVtcG9v bF9wb3B1bGF0ZV9mcm9tX3BnX3N6X2NodW5rcygpIHJldml3ZWQgcmVwbGFjZQ0KPiBydGVfcGt0 bWJ1Zl9wb29sX2NyZWF0ZSdzICBydGVfbWVtcG9vbF9wb3B1bGF0ZV9kZWZhdWx0KCkgd2l0aA0K PiBydGVfbWVtcG9vbF9wb3B1bGF0ZV9mcm9tX3BnX3N6X2NodW5rcygpDQo+IGluIElPVkEgPT0g VkEgY2FzZSB0byBhdm9pZCBhIG5ldyBLTkkgbWVtcG9vbF9jcmVhdGUgQVBJLg0KPiANCj4gPg0K PiA+IEN1cnJlbnRseSwgaW4gcnRlX21lbXBvb2xfcG9wdWxhdGVfZGVmYXVsdCgpLCB3aGVuIHRo ZSBtZW1wb29sIGlzDQo+ID4gcG9wdWxhdGVkLCB3ZSBmaXJzdCB0cnkgdG8gYWxsb2NhdGUgb25l IGlvdmEtY29udGlndW91cyBibG9jayBvZiAobiAqDQo+ID4gZWx0X3NpemUpLiBPbiBzdWNjZXNz LCB3ZSB1c2UgdGhpcyBtZW1vcnkgdG8gZnVsbHkgcG9wdWxhdGUgdGhlDQo+ID4gbWVtcG9vbCB3 aXRob3V0IHRha2luZyBjYXJlIG9mIGNyb3NzaW5nIHBhZ2UgYm91bmRhcmllcy4NCj4gPg0KPiA+ IElmIHdlIGNoYW5nZSB0aGUgYmVoYXZpb3IgdG8gcHJldmVudCBvYmplY3RzIGZyb20gY3Jvc3Np bmcgcGFnZXMsIHRoZQ0KPiA+IGFzc3VtcHRpb24gdGhhdCBhbGxvY2F0aW5nIChuICogZWx0X3Np emUpIGlzIGFsd2F5cyBlbm91Z2ggYmVjb21lcw0KPiA+IHdyb25nLiAgQnkgbHVjaywgdGhlcmUg aXMgbm8gcmVhbCBpbXBhY3QsIGJlY2F1c2UgaWYgdGhlIG1lbXBvb2wgaXMNCj4gPiBub3QgZnVs bHkgcG9wdWxhdGVkIGFmdGVyIHRoaXMgZmlyc3QgaXRlcmF0aW9uLCBpdCB3aWxsIGFsbG9jYXRl IGEgbmV3DQo+ID4gY2h1bmsuDQo+ID4NCj4gPiBUbyBiZSByaWdvcm91cywgd2UgbmVlZCB0byBi ZXR0ZXIgY2FsY3VsYXRlIHRoZSBhbW91bnQgb2YgbWVtb3J5IHRvDQo+ID4gYWxsb2NhdGUsIGFj Y29yZGluZyB0byBwYWdlIHNpemUuDQoNCkhpIE9saXZpZXIsDQoNClRoYW5rcyBmb3IgdGhlIHJl dmlldywgSSB0aGluayB0aGUgYmVsb3cgbWVudGlvbmVkIHByb2JsZW1zIGV4aXN0IHdpdGggDQpj dXJyZW50IG1lbXBvb2xfcG9wdWxhdGVfZGVmYXVsdCgpIGFwaSBhbmQgd2lsbCB0aGVyZSBiZSBo aWdoIGNoYW5jZXMgb2YgaGl0dGluZyANCnRob3NlIHByb2JsZW1zIHdoZW4gd2UgcHJlY2FsY3Vs YXRlIHRoZSBtZW1vcnkgc2l6ZShhZnRlciBwcmV2ZW50aW5nIG9ianMgZnJvbSANCnBnIGJvdW5k YXJ5IGFuZCBmaXQgY29tcGxldGUgbWVtcG9vbCBtZW1vcnkgaW4gc2luZ2xlIG1lbSBjaHVuaykg YW5kIGlmDQptZW1wb29sIHNpemUgZ29lcyBiZXlvbmQgcGFnZSBzaXplIGFzIGJlbG93IGV4YW1w bGUuID8sICANCg0KUmVnYXJkcywNClZhbXNpDQoNCj4gPg0KPiA+IExvb2tpbmcgYXQgdGhlIGNv ZGUsIEkgZm91bmQgYW5vdGhlciBwcm9ibGVtIGluIHRoZSBzYW1lIGFyZWE6IGxldCdzDQo+ID4g c2F5IHdlIHBvcHVsYXRlIGEgbWVtcG9vbCB0aGF0IHJlcXVpcmVzIDEuMUdCIChhbmQgd2UgdXNl IDFHIGh1Z2UgcGFnZXMpOg0KPiA+CQ0KPiA+IDEvIG1lbXBvb2wgY29kZSB3aWxsIGZpcnN0IHRy aWVzIHRvIGFsbG9jYXRlIGFuIGlvdmEtY29udGlndW91cyB6b25lDQo+ID4gICAgb2YgMS4xRyAt PiBmYWlsDQo+ID4gMi8gaXQgdGhlbiB0cmllcyB0byBhbGxvY2F0ZSBhIHBhZ2UtYWxpZ25lZCBu b24gaW92YS1jb250aWd1b3VzDQo+ID4gICAgem9uZSBvZiAxLjFHLCB3aGljaCBpcyAyRy4gT24g c3VjY2VzcywgYSBsb3Qgb2YgbWVtb3J5IGlzIHdhc3RlZC4NCj4gPiAzLyBvbiBlcnJvciwgd2Ug dHJ5IHRvIGFsbG9jYXRlIHRoZSBiaWdnZXN0IHpvbmUsIGl0IGNhbiBzdGlsbCByZXR1cm4NCj4g PiAgICBhIHpvbmUgYmV0d2VlbiAxLjFHIGFuZCAyRywgd2hpY2ggY2FuIGFsc28gd2FzdGUgbWVt b3J5Lg0KPiA+DQo+ID4gSSB3aWxsIHJld29yayBteSBtZW1wb29sIHBhdGNoc2V0IHRvIHByb3Bl cmx5IGFkZHJlc3MgdGhlc2UgaXNzdWVzLA0KPiA+IGhvcGVmdWxseSB0b21vcnJvdy4NCj4gDQo+ IE9LLg0KPiANCj4gDQo+ID4NCj4gPiBBbHNvLCBJIHRob3VnaHQgYWJvdXQgYW5vdGhlciBpZGVh IHRvIHNvbHZlIHlvdXIgaXNzdWUsIG5vdCBzdXJlIGl0IGlzDQo+ID4gYmV0dGVyIGJ1dCBpdCB3 b3VsZCBub3QgaW1wbHkgdG8gY2hhbmdlIHRoZSBtZW1wb29sIGJlaGF2aW9yLiBJZiBJDQo+ID4g dW5kZXJzdG9vZCB0aGUgcHJvYmxlbSwgd2hlbiBhIG1idWYgaXMgYWNjcm9zcyAyIHBhZ2VzLCB0 aGUgY29weSBvZg0KPiA+IHRoZSBkYXRhIGNhbiBmYWlsIGluIGtuaSBiZWNhdXNlIHRoZSBtYnVm IGlzIG5vdCB2aXJ0dWFsbHkgY29udGlndW91cw0KPiA+IGluIHRoZQ0KPiANCj4gRm9yIEtOSSB1 c2UgY2FzZSwgd2Ugd291bGQgbmVlZCBfcGh5c2ljYWxseV8gY29udGlndW91cyB0byBtYWtlIHN1 cmUgdGhhdA0KPiB1c2luZywgZ2V0X3VzZXJfcGFnZXNfcmVtb3RlKCkgd2UgZ2V0ICBwaHlzaWNh bGx5IGNvbnRpZ3VvdXMgbWVtb3J5IG1hcCwgc28NCj4gdGhhdCBib3RoIEtOSSBrZXJuZWwgdGhy ZWFkIGFuZCBLTkkga2VybmVsIGNvbnRleHQgYW5kIERQREsgdXNlcnNwYWNlIGNhbiB1c2UNCj4g dGhlIHNhbWUgbWVtb3J5IGluIGRpZmZlcmVudCBjb250ZXh0cy4NCj4gDQo+IA0KPiANCj4gPiBr ZXJuZWwuIFNvIHdoeSBub3QgaW4gdGhpcyBjYXNlIHNwbGl0dGluZyB0aGUgbWVtY3B5KCkgaW50 byBzZXZlcmFsLA0KPiA+IGVhY2ggb2YgdGhlbSBiZWluZyBvbiBhIHNpbmdsZSBwYWdlIChhbmQg Y2FsbGluZyBwaHlzMnZpcnQoKSBmb3IgZWFjaA0KPiA+IHBhZ2UpPyBUaGUgc2FtZSB3b3VsZCBo YXZlIHRvIGJlIGRvbmUgd2hlbiBhY2Nlc3NpbmcgdGhlIGZpZWxkcyBvZiB0aGUNCj4gPiBtYnVm IHN0cnVjdHVyZSBpZiBpdCBjcm9zc2VzIGEgcGFnZSBib3VuZGFyeS4gV291bGQgdGhhdCB3b3Jr PyBUaGlzDQo+IA0KPiBJZiB0aGUgYWJvdmUgaXMgdGhlIHJlcXVpcmVtZW50LCBEb2VzIHRoaXMg bG9naWMgbmVlZCB0byBiZSBpbiBzbG93IHBhdGggb3IgZmFzdA0KPiBwYXRoPw0KPiANCj4gPiBj b3VsZCBiZSBhIEIgcGxhbi4NCj4gDQo+IE9LLg0KPiANCj4gPg0KPiA+IE9saXZpZXINCg==