From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga17.intel.com (mga17.intel.com [192.55.52.151]) by dpdk.org (Postfix) with ESMTP id 40A5D1B1D6 for ; Tue, 23 Oct 2018 17:22:59 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga007.fm.intel.com ([10.253.24.52]) by fmsmga107.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 23 Oct 2018 08:22:58 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.54,416,1534834800"; d="scan'208";a="80286543" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by fmsmga007.fm.intel.com with ESMTP; 23 Oct 2018 08:22:58 -0700 Received: from fmsmsx118.amr.corp.intel.com (10.18.116.18) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.319.2; Tue, 23 Oct 2018 08:22:58 -0700 Received: from fmsmsx117.amr.corp.intel.com ([169.254.3.34]) by fmsmsx118.amr.corp.intel.com ([169.254.1.230]) with mapi id 14.03.0319.002; Tue, 23 Oct 2018 08:22:57 -0700 From: "Wiles, Keith" To: Wajeeha Javed CC: users Thread-Topic: [dpdk-users] users Digest, Vol 155, Issue 7 Thread-Index: AQHUYijD+ZxQrTQF60unF4XdF7+1zKUhxjcAgABZhQCACsFogIAAmHCA Date: Tue, 23 Oct 2018 15:22:57 +0000 Message-ID: <5B3F4376-CC5A-4204-ABE5-1F3C4ED063D2@intel.com> References: <7BE25A0E-D90B-4B88-A412-F06604ABE018@intel.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.254.48.207] Content-Type: text/plain; charset="utf-8" Content-ID: <644A3FE75E61984E9D5501C45FA8B2D6@intel.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-users] users Digest, Vol 155, Issue 7 X-BeenThere: users@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK usage discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 23 Oct 2018 15:23:00 -0000 DQoNCj4gT24gT2N0IDIyLCAyMDE4LCBhdCAxMToxNyBQTSwgV2FqZWVoYSBKYXZlZCA8d2FqZWVo YS5qYXZlZDEyM0BnbWFpbC5jb20+IHdyb3RlOg0KPiANCj4gSGkgS2VpdGgsIA0KDQpQbGVhc2Ug dHJ5IHRvIHJlcGx5IGlubGluZSB0byB0aGUgdGV4dCBhbmQgZG8gbm90IHRvcCBwb3N0LCBpdCBt YWtlcyBpdHMgaGFyZCB0byBmb2xsb3cgc28gbWFueSBlbWFpbCB0aHJlYWRzLg0KDQo+IA0KPiBU aGFua3MgZm9yIHlvdXIgcmVwbHkuIFBsZWFzZSBmaW5kIGJlbG93IG15IGNvbW1lbnRzDQo+IA0K PiA+PiBZb3UncmUgcmlnaHQsIGluIG15IGFwcGxpY2F0aW9uIGFsbCB0aGUgcGFja2V0cyBhcmUg c3RvcmVkIGluc2lkZSBtYnVmLiBUaGUgcmVhc29uIGZvciBub3QgdXNpbmcgdGhlIG5leHQgcG9p bnRlciBvZiBtYnVmIGlzIHRoYXQgaXQgbWlnaHQgZ2V0IHVzZWQgYnkgdGhlIGZyYWdtZW50ZWQg cGFja2V0cyBoYXZpbmcgc2l6ZSBncmVhdGVyIHRoYW4gTVRVLiANCj4gDQo+ID4+IEkgaGF2ZSB0 cmllZCB1c2luZyBzbWFsbCBidWZmZXIgb2YgU1RBSUxRIGxpbmtlZCBsaXN0IGZvciBlYWNoIHBv cnQgaGF2aW5nIFNUQUlMUSBlbnRyeSBhbmQgcG9pbnRlciB0byBtYnVmIHBhY2tldHMgYnVyc3Qu IEkgYWxsb2NhdGUgdGhlIHN0YWlscSBlbnRyeSwgc2V0IHRoZSBtYnVmIHBvaW50ZXIgaW4gdGhl IHN0YWlscSBlbnRyeSwgdGhlIGxpbmsgdGhlIHN0YWlscSBlbnRyeSB0byB0aGUgc3RhaWxxIGxp c3QgdXNpbmcgc3RhaWxxIG1hY3Jvcy4gSSBvYnNlcnZlIG1pbGxpb25zIG9mIHBhY2tldCBsb3Nz LCB0aGUgc3RhaWxxIGxpbmtlZCBsaXN0IGNvdWxkIG9ubHkgaG9sZCBsZXNzIHRoYW4gMSBtaWxs aW9uIHBhY2tldHMgcGVyIHNlY29uZCBhdCBsaW5lIHJhdGUgb2YgMTBHYml0cy9zZWMuDQo+IA0K PiA+PiBJIHdvdWxkIGxpa2UgdG8gcHJldmVudCBkYXRhIGxvc3MsIGNvdWxkIHlvdSBwbGVhc2Ug Z3VpZGUgbWUgd2hhdCBpcyB0aGUgYmVzdCBvcHRpbWFsIHNvbHV0aW9uIGZvciBpbmNyZWFzaW5n IHRoZSBudW1iZXIgb2YgbWJ1ZnMgd2l0aG91dCBmcmVlaW5nIG9yIG92ZXJ3cml0aW5nIHRoZW0g Zm9yIGEgZGVsYXkgb2YgMiBzZWNzLg0KDQpVc2luZyB0aGUgc3RhaWxxIG1ldGhvZCBpcyBteSBi ZXN0IGd1ZXNzIHRvIHNvbHZlIHlvdXIgcHJvYmxlbS4gSWYgeW91IGFyZSBjYWxsaW5nIG1hbGxv YyBvbiBlYWNoIHBhY2tldCB5b3Ugd2FudCB0byBzYXZlIGF0IHRoZSB0aW1lIHlvdSBuZWVkIHRv IGxpbmsgdGhlIHBhY2tldHMgdGhhdCB3b3VsZCBiZSB0aGUgcmVhc29uIHlvdSBjYW4gbm90IGhv bGQgdGhlIHBhY2tldHMgd2l0aG91dCBkcm9wcGluZyBzb21lIGF0IHRoZSB3aXJlLg0KDQpBbGxv Y2F0ZSBhbGwgb2YgdGhlIHN0YWlscSBibG9ja3MgYW5kIGtlZXAgdGhlbSBpbiBzb21lIHR5cGUg b2YgYXJyYXkgb3IgbGlzdCB0b28gYXZvaWQgZG9pbmcgYW4gYWxsb2NhdGlvbiBjYWxsIGF0IHN0 YXJ0dXAuIE90aGVyIHRoZW4gdGhpcyB0eXBlIG9mIGhlbHAgYW5kIG5vdCBkb2luZyB0aGUgY29k ZSBteXNlbGYgdGhpcyBpcyBhbGwgSSBoYXZlIGZvciB5b3UsIHNvcnJ5LiBUaGUgYW1vdW50IG9m IG1lbW9yeSBhbGxvY2F0ZWQgZm9yIHRoZSBzdGFpbHEgc3RydWN0dXJlcyBpcyBnb2luZyB0byBi ZSBtb3JlIHRoZW4gMjhNIGJsb2NrcyBhbGwgc29ydHMgb2YgY2FjaGUgaXNzdWVzIGNvdWxkIGJl IGNhdXNpbmcgdGhlIHByb2JsZW0uDQoNCj4gDQo+IFRoYW5rcyAmIEJlc3QgUmVnYXJkcywNCj4g DQo+IFdhamVlaGEgSmF2ZWQNCj4gDQo+IA0KPiANCj4gT24gVHVlLCBPY3QgMTYsIDIwMTggYXQg MzowMiBQTSBXaWxlcywgS2VpdGggPGtlaXRoLndpbGVzQGludGVsLmNvbT4gd3JvdGU6DQo+IFNv cnJ5LCB5b3UgbXVzdCBoYXZlIHJlcGxpZWQgdG8gbXkgc2NyZXd1cCBub3Qgc2VuZGluZyB0aGUg cmVwbHkgaW4gcHVyZSB0ZXh0IGZvcm1hdC4gSSBkaWQgc2VuZCBhbiB1cGRhdGVkIHJlcGx5IHRv IGhvcGVmdWxseSBmaXggdGhhdCBwcm9ibGVtLiBNb3JlIGNvbW1lbnRzIGlubGluZSBiZWxvdy4g QWxsIGVtYWlscyB0byB0aGUgbGlzdCBtdXN0IGJlIGluIOKAmHRleHQnIGZvcm1hdCBub3Qg4oCY UmljaCBUZXh04oCZIGZvcm1hdCA6LSgNCj4gDQo+ID4gT24gT2N0IDE1LCAyMDE4LCBhdCAxMTo0 MiBQTSwgV2FqZWVoYSBKYXZlZCA8d2FqZWVoYS5qYXZlZDEyM0BnbWFpbC5jb20+IHdyb3RlOg0K PiA+IA0KPiA+IEhpLA0KPiA+IA0KPiA+IFRoYW5rcywgZXZlcnlvbmUgZm9yIHlvdXIgcmVwbHku IFBsZWFzZSBmaW5kIGJlbG93IG15IGNvbW1lbnRzLg0KPiA+IA0KPiA+ICpJJ3ZlIGZhaWxlZCB0 byBmaW5kIGV4cGxpY2l0IGxpbWl0YXRpb25zIGZyb20gdGhlIGZpcnN0IGdsYW5jZS4qDQo+ID4g KiBOQl9NQlVGIGRlZmluZSBpcyB0eXBpY2FsbHkgaW50ZXJuYWwgdG8gZXhhbXBsZXMvYXBwcy4q DQo+ID4gKiBUaGUgcXVlc3Rpb24gSSdkIGxpa2UgdG8gZG91YmxlLWNoZWNrIGlmIHRoZSBob3N0 IGhhcyBlbm91Z2h0Kg0KPiA+ICogUkFNIGFuZCBodWdlcGFnZXMgYWxsb2NhdGVkPyA1IG1pbGxp b24gbWJ1ZnMgYWxyZWFkeSByZXF1aXJlIGFib3V0Kg0KPiA+ICogMTBHLioNCj4gPiANCj4gPiBU b3RhbCBSYW0gPSAxMjggR0INCj4gPiBBdmFpbGFibGUgTWVtb3J5ID0gMjNHQiBmcmVlDQo+ID4g DQo+ID4gVG90YWwgSHVnZSBQYWdlcyA9IDgwDQo+ID4gDQo+ID4gRnJlZSBIdWdlIFBhZ2UgPSAz OA0KPiA+IEh1Z2UgUGFnZSBTaXplID0gMUdCDQo+ID4gDQo+ID4gKlRoZSBtZW1wb29sIHVzZXMg dWludDMyX3QgZm9yIG1vc3Qgc2l6ZXMgYW5kIHRoZSBudW1iZXIgb2YgbWVtcG9vbCBpdGVtcw0K PiA+IGlzIHVpbnQzMl90IHNvIG9rIHdpdGggdGhlIG51bWJlciBvZiBlbnRyaWVzIGluIGEgY2Fu IGJlIH40RyBhcyBzdGF0ZWQgYmUNCj4gPiBtYWtlIHN1cmUgeW91IGhhdmUgZW5vdWdoICoNCj4g PiANCj4gPiAqbWVtb3J5IGFzIHRoZSBvdmVyIGhlYWQgZm9yIG1idWZzIGlzIG5vdCBqdXN0IHRo ZSBoZWFkZXIgKyB0aGUgcGFja2V0IHNpemUqDQo+ID4gDQo+ID4gUmlnaHQuIEN1cnJlbnRseSwg dGhlcmUgYXJlIHRvdGFsIG9mIDgwIGh1Z2UgcGFnZXMsIDQwIGZvciBlYWNoIG51bWEgbm9kZQ0K PiA+IChOdW1hIG5vZGUgMCBhbmQgTnVtYSBub2RlIDEpLiBJIG9ic2VydmVkIHRoYXQgSSB3YXMg dXNpbmcgb25seSAxNiBodWdlDQo+ID4gcGFnZXMgd2hpbGUgdGhlIG90aGVyIDE2DQo+ID4gDQo+ ID4gaHVnZSBwYWdlcyB3ZXJlIHVzZWQgYnkgb3RoZXIgZHBkayAgYXBwbGljYXRpb24uIEJ5IHJ1 bm5pbmcgb25seSBteSBkcGRrDQo+ID4gYXBwbGljYXRpb24gb24gbnVtYSBub2RlIDAsIEkgd2Fz IGFibGUgdG8gaW5jcmVhc2UgdGhlIG1lbXBvb2wgc2l6ZSB0byAxNE0NCj4gPiB0aGF0IHVzZXMg YWxsIHRoZQ0KPiA+IA0KPiA+IGh1Z2UgcGFnZXMgb2YgTnVtYSBub2RlIDAuDQo+ID4gDQo+ID4g Kk15IHF1ZXN0aW9uIGlzIHdoeSBhcmUgeW91IGNvcHlpbmcgdGhlIG1idWYgYW5kIG5vdCBqdXN0 IGxpbmtpbmcgdGhlIG1idWZzDQo+ID4gaW50byBhIGxpbmsgbGlzdD8gTWF5YmUgSSBkbyBub3Qg dW5kZXJzdGFuZCB0aGUgcmVhc29uLiBJIHdvdWxkIHRyeSB0byBtYWtlDQo+ID4gc3VyZSB5b3Ug ZG8gbm90IGRvIGEgY29weSBvZiB0aGUgKg0KPiA+IA0KPiA+ICpkYXRhIGFuZCBqdXN0IGxpbmsg dGhlIG1idWZzIHRvZ2V0aGVyIHVzaW5nIHRoZSBuZXh0IHBvaW50ZXIgaW4gdGhlIG1idWYNCj4g PiBoZWFkZXIgdW5sZXNzIHlvdSBoYXZlIGNoYWluZWQgbWJ1ZnMgYWxyZWFkeS4qDQo+ID4gDQo+ ID4gVGhlIHJlYXNvbiBmb3IgY29weWluZyB0aGUgTWJ1ZiBpcyBkdWUgdG8gdGhlIE5JQyBsaW1p dGF0aW9ucywgSSBjYW5ub3QNCj4gPiBoYXZlIG1vcmUgdGhhbiAxNjM4NCBSeCBkZXNjcmlwdG9y cywgd2hlcmVhcyAgSSB3YW50IHRvIHdpdGhob2xkIGFsbCB0aGUNCj4gPiBwYWNrZXRzIGNvbWlu ZyBhdCBhIGxpbmUgcmF0ZSBvZiAxMEdCaXRzL3NlYyBmb3IgZWFjaCBwb3J0LiBJIGNyZWF0ZWQg YQ0KPiA+IGNpcmN1bGFyIHF1ZXVlIHJ1bm5pbmcgb24gYSBGSUZPIGJhc2lzLiBJbml0aWFsbHks IEkgdGhvdWdodCBvZiB1c2luZw0KPiA+IHJ0ZV9tYnVmKiBwYWNrZXQgYnVyc3QgZm9yIGEgZGVs YXkgb2YgMiBzZWNzLiBOb3cgYXQgbGluZSByYXRlLCB3ZSByZWNlaXZlDQo+ID4gMTRNaWxsaW9u DQo+IA0KPiBJIGFzc3VtZSBpbiB5b3VyIGRyaXZlciBhIG1idWYgaXMgdXNlZCB0byByZWNlaXZl IHRoZSBwYWNrZXQgZGF0YSwgd2hpY2ggbWVhbnMgdGhlIHBhY2tldCBpcyBpbnNpZGUgYW4gbWJ1 ZiAoaWYgbm90IHRoZW4gd2h5IG5vdD8pLiBUaGUgbWJ1ZiBkYXRhIGRvZXMgbm90IG5lZWQgdG8g YmUgY29waWVkIHlvdSBjYW4gdXNlIHRoZSDigJluZXh04oCZIHBvaW50ZXIgaW4gdGhlIG1idWYg dG8gY3JlYXRlIGEgc2luZ2xlIGxpbmsgbGlzdC4gSWYgeW91IHVzZSBmcmFnbWVudGVkIHBhY2tl dHMgaW4geW91ciBkZXNpZ24sIHdoaWNoIG1lYW5zIHlvdSBhcmUgdXNpbmcgdGhlIOKAmW5leHTi gJkgcG9pbnRlciBpbiB0aGUgbWJ1ZiB0byBjaGFpbiB0aGUgZnJhbWUgZnJhZ21lbnRzIGludG8g YSBzaW5nbGUgcGFja2V0IHRoZW4gdXNpbmcg4oCZbmV4dOKAmSB3aWxsIG5vdCB3b3JrLiBQbHVz IHdoZW4geW91IGNhbGwgcnRlX3BrdG1idWZfZnJlZSgpIHlvdSBuZWVkIHRvIG1ha2Ugc3VyZSB0 aGUgbmV4dCBwb2ludGVyIGlzIE5VTEwgb3IgaXQgd2lsbCBmcmVlIHRoZSBjb21wbGV0ZSBjaGFp biBvZiBtYnVmcyAobm90IHdoYXQgeW91IHdhbnQgaGVyZSkuDQo+IA0KPiBJbiB0aGUgY2FzZSB3 aGVyZSB5b3UgYXJlIHVzaW5nIGNoYWluZWQgbWJ1ZnMgZm9yIGEgc2luZ2xlIHBhY2tldCB0aGVu IHlvdSBjYW4gY3JlYXRlIGEgc2V0IG9mIHNtYWxsIGJ1ZmZlcnMgdG8gaG9sZCB0aGUgU1RBSUxR IHBvaW50ZXJzIGFuZCB0aGUgcG9pbnRlciB0byB0aGUgbWJ1Zi4gVGhlbiBhZGQgdGhlIHNtYWxs IHN0cnVjdHVyZSBvbnRvIGEgbGluayBsaXN0IGFzIHRoaXMgbWV0aG9kIG1heWJlIHRoZSBiZXN0 IHNvbHV0aW9uIGluIHRoZSBsb25nIHJ1biBpbnN0ZWFkIG9mIHRyeWluZyB0byB1c2UgdGhlIG1i dWYtPm5leHQgcG9pbnRlci4NCj4gDQo+IEhhdmUgYSBsb29rIGF0IHRoZSBydGVfdGFpbHEuaCBh bmQgZWFsX2NvbW1vbl90YWlscXMuYyBmaWxlcyBhbmQgcnRlX21lbXBvb2wuYyAocGx1cyBtYW55 IG90aGVyIGxpYnMgaW4gRFBESykuIFVzZSB0aGUgcnRlX3RhaWxxX2VudHJ5IHN0cnVjdHVyZSB0 byBjcmVhdGUgYSBsaW5rZWQgbGlzdCBvZiBtZW1wb29sIHN0cnVjdHVyZXMgZm9yIHNlYXJjaGlu ZyBhbmQgZGVidWdnaW5nIG1lbXBvb2xzIGluIHRoZSBzeXN0ZW0uIFRoZSAnc3RydWN0IHJ0ZV90 YWlscV9lbnRyeeKAmSBpcyBqdXN0IGFkZGluZyBhIHNpbXBsZSBzdHJ1Y3R1cmUgdG8gcG9pbnQg dG8gdGhlIG1lbXBvb2wgc3RydWN0dXJlIGFuZCBhbGxvd3MgaXQgdG8gYnVpbGQgYSBsaW5rZWQg bGlzdCB3aXRoIHRoZSBjb3JyZWN0IHBvaW50ZXIgdHlwZXMuDQo+IA0KPiBZb3UgY2FuIGNyZWF0 ZSBhIG1lbXBvb2wgb2YgcnRlX3RhaWxxX2VudHJ5IHN0cnVjdHVyZXMgaWYgeW91IHdhbnQgYSBm YXN0IGFuZCBjbGVhbiB3YXkgdG8gYWxsb2NhdGUvZnJlZSB0aGUgdGFpbHEgZW50cnkgc3RydWN0 dXJlcy4NCj4gDQo+IFRoZW4geW91IGRvIG5vdCBuZWVkIHRvIGNvcHkgdGhlIHBhY2tldCBtZW1v cnkgYW55cGxhY2UganVzdCBhbGxvY2F0ZSBhIHRhaWxxIGVudHJ5IHN0cnVjdHVyZSwgc2V0IHRo ZSBtYnVmIHBvaW50ZXIgaW4gdGhlIHRhaWxxIGVudHJ5LCB0aGUgbGluayB0aGUgdGFpbHEgZW50 cnkgIHRvIHRoZSB0YWlscSBsaXN0LiBUaGVzZSBtYWNyb3MgZm9yIHRhaWxxIHN1cHBvcnQgYXJl IG5vdCB0aGUgZWFzaWVzdCB0byB1bmRlcnN0YW5kIDotKCwgYnV0IG9uY2UgeW91IHVuZGVyc3Rh bmQgdGhlIGlkZWEgaXQgYmVjb21lcyBjbGVhcmVyLg0KPiANCj4gSSBob3BlIHRoYXQgaGVscHMu DQo+IA0KPiA+IA0KPiA+IFBhY2tldC9zLCBzbyBkZXNjcmlwdG9yIGdldCBmdWxsIGFuZCBJIGRv bid0IGhhdmUgb3RoZXIgb3B0aW9uIGxlZnQgdGhhbg0KPiA+IGNvcHlpbmcgdGhlIG1idWYgdG8g dGhlIGNpcmN1bGFyIHF1ZXVlIHJhdGhlciB0aGFuIHVzaW5nIGEgcnRlX21idWYqDQo+ID4gcG9p bnRlci4gSSBrbm93IEkgaGF2ZSB0byBtYWtlIGENCj4gPiANCj4gPiBjb21wcm9taXNlIG9uIHBl cmZvcm1hbmNlIHRvIGFjaGlldmUgYSBkZWxheSBmb3IgcGFja2V0cy4gU28gZm9yIGNvcHlpbmcN Cj4gPiBtYnVmcywgSSBhbGxvY2F0ZSBtZW1vcnkgZnJvbSBNZW1wb29sIHRvIGNvcHkgdGhlIG1i dWYgcmVjZWl2ZWQgYW5kIHRoZW4NCj4gPiBmcmVlIGl0LiBQbGVhc2UgZmluZCB0aGUNCj4gPiAN Cj4gPiBjb2RlIHNuaXBwZXQgYmVsb3cuDQo+ID4gDQo+ID4gSG93IHdlIGNhbiBjaGFpbiBkaWZm ZXJlbnQgbWJ1ZnMgdG9nZXRoZXI/IEFjY29yZGluZyB0byBteSB1bmRlcnN0YW5kaW5nDQo+ID4g Y2hhaW5lZCBtYnVmcyBpbiB0aGUgQVBJIGFyZSB1c2VkIGZvciBzdG9yaW5nIHNlZ21lbnRzIG9m IHRoZSBmcmFnbWVudGVkDQo+ID4gcGFja2V0cyB0aGF0IGFyZSBncmVhdGVyDQo+ID4gDQo+ID4g dGhhbiBNVFUuIEV2ZW4gSWYgd2UgY2hhaW4gdGhlIG1idWZzIHRvZ2V0aGVyIHVzaW5nIG5leHQg cG9pbnRlciB3ZSBuZWVkIHRvDQo+ID4gZnJlZSB0aGUgbWJ1ZnMgcmVjZWl2ZWQsIG90aGVyd2lz ZSB3ZSB3aWxsIG5vdCBiZSBhYmxlIHRvIGdldCBmcmVlIFJ4DQo+ID4gZGVzY3JpcHRvcnMgYXQg YSBsaW5lIHJhdGUgb2YNCj4gPiANCj4gPiAxMEdCaXRzL3NlYyBhbmQgZXZlbnR1YWxseSBhbGwg dGhlIFJ4IGRlc2NyaXB0b3JzIHdpbGwgYmUgZmlsbGVkIGFuZCBOSUMNCj4gPiB3aWxsIG5vdCBy ZWNlaXZlIGFueSBtb3JlIHBhY2tldHMuDQo+ID4gDQo+ID4gPENvZGU+DQo+ID4gDQo+ID4gZm9y KCBqID0gMDsgaiA8IG5iX3J4OyBqKyspIHsNCj4gPiBtID0gcGt0c19idXJzdFtqXTsNCj4gPiBz dHJ1Y3QgcnRlX21idWYqIGNvcHlfbWJ1ZiA9IHBrdG1idWZfY29weShtLCBwa3RtYnVmX3Bvb2xb c29ja2lkXSk7DQo+ID4gLi4uLg0KPiA+IHJ0ZV9wa3RtYnVmX2ZyZWUobSk7DQo+ID4gfQ0KPiA+ IA0KPiA+IDwvQ29kZT4NCj4gPiANCj4gPiAqVGhlIG90aGVyIHF1ZXN0aW9uIGlzIGNhbiB5b3Ug ZHJvcCBhbnkgcGFja2V0cyBpZiBub3QgdGhlbiB5b3Ugb25seSBoYXZlDQo+ID4gdGhlIGxpbmtp bmcgb3B0aW9uIElNTy4gSWYgeW91IGNhbiBkcm9wIHBhY2tldHMgdGhlbiB5b3UgY2FuIGp1c3Qg c3RhcnQNCj4gPiBkcm9wcGluZyB0aGVtIHdoZW4gdGhlIHJpbmcgaXMgZ2V0dGluZyBmdWxsLiBI b2xkaW5nIG9udG8gMjhtIHBhY2tldHMgZm9yDQo+ID4gdHdvIHNlY29uZHMgY2FuIGNhdXNlIG90 aGVyIHByb3RvY29sIHJlbGF0ZWQgcHJvYmxlbXMgYW5kIFRDUCBjb3VsZCBiZQ0KPiA+IHNlbmRp bmcgcmV0cmFuc21pdHRlZCBwYWNrZXRzIGFuZCBub3cgeW91IGhhdmUgY2F1c2VkIGEgYnVuY2gg b2Ygd29yayBvbg0KPiA+IHRoZSBSWCBzaWRlICoNCj4gPiANCj4gPiAqYXQgKip0aGUgZW5kIHBv aW50LioNCj4gPiBJIHdvdWxkIGxpa2UgbXkgRFBESyBhcHBsaWNhdGlvbiB0byBoYXZlIHplcm8g cGFja2V0IGxvc3MsIGl0IG9ubHkgZGVsYXlzDQo+ID4gYWxsIHRoZSByZWNlaXZlZCBwYWNrZXQg Zm9yIDIgc2VjcyB0aGFuIHRyYW5zbWl0dGVkIHRoZW0gYXMgaXQgaXMgd2l0aG91dA0KPiA+IGFu eSBjaGFuZ2Ugb3IgcHJvY2Vzc2luZyB0byBwYWNrZXRzLg0KPiA+IE1vcmVvdmVyLCBEUERLIGFw cGxpY2F0aW9uIGlzIHJlY2VpdmluZyB0YXAgdHJhZmZpYyhtb25pdG9yaW5nIHRyYWZmaWMpDQo+ ID4gcmF0aGVyIHRoYW4gcmVhbC10aW1lIHRyYWZmaWMuIFNvIHRoZXJlIHdpbGwgbm90IGJlIGFu eSBUQ1Agb3IgYW55IG90aGVyDQo+ID4gcHJvdG9jb2wtcmVsYXRlZCBwcm9ibGVtcy4NCj4gPiAN Cj4gPiBMb29raW5nIGZvcndhcmQgdG8geW91ciByZXBseS4NCj4gPiANCj4gPiANCj4gPiBCZXN0 IFJlZ2FyZHMsDQo+ID4gDQo+ID4gV2FqZWVoYSBKYXZlZA0KPiANCj4gUmVnYXJkcywNCj4gS2Vp dGgNCj4gDQoNClJlZ2FyZHMsDQpLZWl0aA0KDQo=