From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id CA2B2A00C4; Fri, 1 Jul 2022 22:28:54 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 75C0440A80; Fri, 1 Jul 2022 22:28:54 +0200 (CEST) Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by mails.dpdk.org (Postfix) with ESMTP id 50E3E40A7D for ; Fri, 1 Jul 2022 22:28:53 +0200 (CEST) X-MimeOLE: Produced By Microsoft Exchange V6.5 Content-class: urn:content-classes:message MIME-Version: 1.0 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: base64 Subject: RE: [PATCH v1 0/5] Direct re-arming of buffers on receive side Date: Fri, 1 Jul 2022 22:28:50 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC35D8719F@smartserver.smartshare.dk> In-Reply-To: X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [PATCH v1 0/5] Direct re-arming of buffers on receive side Thread-Index: AQHYaOu4EddlA+nThkio6GVpTNxEK60tSI6AgAEaNPCABeakgIAFaLvAgATATQCAAI/5AIAoK1bAgAEkOkCAAdLbQIAAFeJQ References: <20220420081650.2043183-1-feifei.wang2@arm.com> <20220516061012.618787-1-feifei.wang2@arm.com> <5320c9dd-8f53-155e-7900-ff02bfa11b4d@yandex.ru> <48994ee9-74b4-7fcc-f61b-c8f45686a031@yandex.ru> <98CBD80474FA8B44BF855DF32C47DC35D870EA@smartserver.smartshare.dk> <98CBD80474FA8B44BF855DF32C47DC35D87199@smartserver.smartshare.dk> From: =?UTF-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Honnappa Nagarahalli" , "Konstantin Ananyev" , "Feifei Wang" Cc: "nd" , , "Ruifeng Wang" , , "nd" X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org PiBGcm9tOiBIb25uYXBwYSBOYWdhcmFoYWxsaSBbbWFpbHRvOkhvbm5hcHBhLk5hZ2FyYWhhbGxp QGFybS5jb21dDQo+IFNlbnQ6IEZyaWRheSwgMSBKdWx5IDIwMjIgMjEuMzENCj4gDQo+IDxzbmlw Pg0KPiANCj4gPiA+ID4gPiA+Pj4+DQo+ID4gPiA+ID4gPj4+PiAxNi8wNS8yMDIyIDA3OjEwLCBG ZWlmZWkgV2FuZyDQv9C40YjQtdGCOg0KPiA+ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4gPj4+Pj4+ PiBDdXJyZW50bHksIHRoZSB0cmFuc21pdCBzaWRlIGZyZWVzIHRoZSBidWZmZXJzIGludG8gdGhl DQo+ID4gPiBsY29yZQ0KPiA+ID4gPiA+ID4+Pj4+Pj4gY2FjaGUgYW5kIHRoZSByZWNlaXZlIHNp ZGUgYWxsb2NhdGVzIGJ1ZmZlcnMgZnJvbSB0aGUNCj4gPiA+ID4gPiA+Pj4+Pj4+IGxjb3JlDQo+ ID4gPiA+ID4gY2FjaGUuDQo+ID4gPiA+ID4gPj4+Pj4+PiBUaGUgdHJhbnNtaXQgc2lkZSB0eXBp Y2FsbHkgZnJlZXMgMzIgYnVmZmVycyByZXN1bHRpbmcNCj4gaW4NCj4gPiA+ID4gPiA+Pj4+Pj4+ IDMyKjg9MjU2QiBvZiBzdG9yZXMgdG8gbGNvcmUgY2FjaGUuIFRoZSByZWNlaXZlIHNpZGUNCj4g PiA+IGFsbG9jYXRlcw0KPiA+ID4gPiA+IDMyDQo+ID4gPiA+ID4gPj4+Pj4+PiBidWZmZXJzIGFu ZCBzdG9yZXMgdGhlbSBpbiB0aGUgcmVjZWl2ZSBzaWRlIHNvZnR3YXJlDQo+IHJpbmcsDQo+ID4g PiA+ID4gPj4+Pj4+PiByZXN1bHRpbmcgaW4gMzIqOD0yNTZCIG9mIHN0b3JlcyBhbmQgMjU2QiBv ZiBsb2FkIGZyb20NCj4gdGhlDQo+ID4gPiA+ID4gbGNvcmUgY2FjaGUuDQo+ID4gPiA+ID4gPj4+ Pj4+Pg0KPiA+ID4gPiA+ID4+Pj4+Pj4gVGhpcyBwYXRjaCBwcm9wb3NlcyBhIG1lY2hhbmlzbSB0 byBhdm9pZCBmcmVlaW5nDQo+ID4gPiB0by9hbGxvY2F0aW5nDQo+ID4gPiA+ID4gPj4+Pj4+PiBm cm9tIHRoZSBsY29yZSBjYWNoZS4gaS5lLiB0aGUgcmVjZWl2ZSBzaWRlIHdpbGwgZnJlZQ0KPiB0 aGUNCj4gPiA+ID4gPiBidWZmZXJzDQo+ID4gPiA+ID4gPj4+Pj4+PiBmcm9tIHRyYW5zbWl0IHNp ZGUgZGlyZWN0bHkgaW50byBpdCdzIHNvZnR3YXJlIHJpbmcuDQo+IFRoaXMNCj4gPiA+IHdpbGwN Cj4gPiA+ID4gPiA+Pj4+Pj4+IGF2b2lkIHRoZSAyNTZCIG9mIGxvYWRzIGFuZCBzdG9yZXMgaW50 cm9kdWNlZCBieSB0aGUNCj4gbGNvcmUNCj4gPiA+ID4gPiBjYWNoZS4NCj4gPiA+ID4gPiA+Pj4+ Pj4+IEl0IGFsc28gZnJlZXMgdXAgdGhlIGNhY2hlIGxpbmVzIHVzZWQgYnkgdGhlIGxjb3JlDQo+ IGNhY2hlLg0KPiA+ID4gPiA+ID4+Pj4+Pj4NCj4gPiA+ID4gPiA+Pj4+Pj4+IEhvd2V2ZXIsIHRo aXMgc29sdXRpb24gcG9zZXMgc2V2ZXJhbCBjb25zdHJhaW50czoNCj4gPiA+ID4gPiA+Pj4+Pj4+ DQo+ID4gPiA+ID4gPj4+Pj4+PiAxKVRoZSByZWNlaXZlIHF1ZXVlIG5lZWRzIHRvIGtub3cgd2hp Y2ggdHJhbnNtaXQgcXVldWUNCj4gaXQNCj4gPiA+ID4gPiBzaG91bGQNCj4gPiA+ID4gPiA+Pj4+ Pj4+IHRha2UgdGhlIGJ1ZmZlcnMgZnJvbS4gVGhlIGFwcGxpY2F0aW9uIGxvZ2ljIGRlY2lkZXMN Cj4gd2hpY2gNCj4gPiA+ID4gPiA+Pj4+Pj4+IHRyYW5zbWl0IHBvcnQgdG8gdXNlIHRvIHNlbmQg b3V0IHRoZSBwYWNrZXRzLiBJbiBtYW55DQo+IHVzZQ0KPiA+ID4gPiA+ID4+Pj4+Pj4gY2FzZXMg dGhlIE5JQyBtaWdodCBoYXZlIGEgc2luZ2xlIHBvcnQgKFsxXSwgWzJdLCBbM10pLA0KPiBpbg0K PiA+ID4gPiA+ID4+Pj4+Pj4gd2hpY2ggY2FzZQ0KPiA+ID4gPiA+IGENCj4gPiA+ID4gPiA+Pj4+ Pj4+IGdpdmVuIHRyYW5zbWl0IHF1ZXVlIGlzIGFsd2F5cyBtYXBwZWQgdG8gYSBzaW5nbGUNCj4g cmVjZWl2ZQ0KPiA+ID4gPiA+ID4+Pj4+Pj4gcXVldWUNCj4gPiA+ID4gPiA+Pj4+Pj4+ICgxOjEg UnggcXVldWU6IFR4IHF1ZXVlKS4gVGhpcyBpcyBlYXN5IHRvIGNvbmZpZ3VyZS4NCj4gPiA+ID4g PiA+Pj4+Pj4+DQo+ID4gPiA+ID4gPj4+Pj4+PiBJZiB0aGUgTklDIGhhcyAyIHBvcnRzICh0aGVy ZSBhcmUgc2V2ZXJhbCByZWZlcmVuY2VzKSwNCj4gPiA+ID4gPiA+Pj4+Pj4+IHRoZW4NCj4gPiA+ IHdlDQo+ID4gPiA+ID4gPj4+Pj4+PiB3aWxsIGhhdmUNCj4gPiA+ID4gPiA+Pj4+Pj4+IDE6MiAo UlggcXVldWU6IFRYIHF1ZXVlKSBtYXBwaW5nIHdoaWNoIGlzIHN0aWxsIGVhc3kgdG8NCj4gPiA+ ID4gPiBjb25maWd1cmUuDQo+ID4gPiA+ID4gPj4+Pj4+PiBIb3dldmVyLCBpZiB0aGlzIGlzIGdl bmVyYWxpemVkIHRvICdOJyBwb3J0cywgdGhlDQo+ID4gPiA+ID4gPj4+Pj4+PiBjb25maWd1cmF0 aW9uIGNhbiBiZSBsb25nLiBNb3JlIG92ZXIgdGhlIFBNRCB3b3VsZCBoYXZlDQo+IHRvDQo+ID4g PiA+ID4gPj4+Pj4+PiBzY2FuIGEgbGlzdCBvZiB0cmFuc21pdCBxdWV1ZXMgdG8gcHVsbCB0aGUg YnVmZmVycw0KPiBmcm9tLg0KPiA+ID4gPiA+ID4+Pj4+DQo+ID4gPiA+ID4gPj4+Pj4+IEp1c3Qg dG8gcmUtaXRlcmF0ZSBzb21lIGdlbmVyaWMgY29uY2VybnMgYWJvdXQgdGhpcw0KPiA+ID4gcHJv cG9zYWw6DQo+ID4gPiA+ID4gPj4+Pj4+ICAgICAtIFdlIGVmZmVjdGl2ZWx5IGxpbmsgUlggYW5k IFRYIHF1ZXVlcyAtIHdoZW4gdGhpcw0KPiA+ID4gZmVhdHVyZQ0KPiA+ID4gPiA+IGlzIGVuYWJs ZWQsDQo+ID4gPiA+ID4gPj4+Pj4+ICAgICAgIHVzZXIgY2FuJ3Qgc3RvcCBUWCBxdWV1ZSB3aXRo b3V0IHN0b3BwaW5nIGxpbmtlZA0KPiBSWA0KPiA+ID4gcXVldWUNCj4gPiA+ID4gPiBmaXJzdC4N Cj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgUmlnaHQgbm93IHVzZXIgaXMgZnJlZSB0byBzdGFydC9z dG9wIGFueSBxdWV1ZXMgYXQNCj4gPiA+ID4gPiA+Pj4+Pj4gaGlzDQo+ID4gPiA+ID4gd2lsbC4N Cj4gPiA+ID4gPiA+Pj4+Pj4gICAgICAgSWYgdGhhdCBmZWF0dXJlIHdpbGwgYWxsb3cgdG8gbGlu ayBxdWV1ZXMgZnJvbQ0KPiA+ID4gZGlmZmVyZW50DQo+ID4gPiA+ID4gcG9ydHMsDQo+ID4gPiA+ ID4gPj4+Pj4+ICAgICAgIHRoZW4gZXZlbiBwb3J0cyB3aWxsIGJlY29tZSBkZXBlbmRlbnQgYW5k IHVzZXINCj4gd2lsbA0KPiA+ID4gaGF2ZQ0KPiA+ID4gPiA+IHRvIHBheSBleHRyYQ0KPiA+ID4g PiA+ID4+Pj4+PiAgICAgICBjYXJlIHdoZW4gbWFuYWdpbmcgc3VjaCBwb3J0cy4NCj4gPiA+ID4g PiA+Pj4+Pg0KPiA+ID4gPiA+ID4+Pj4+IFtGZWlmZWldIFdoZW4gZGlyZWN0IHJlYXJtIGVuYWJs ZWQsIHRoZXJlIGFyZSB0d28gcGF0aA0KPiBmb3INCj4gPiA+ID4gPiA+Pj4+PiB0aHJlYWQNCj4g PiA+ID4gPiB0bw0KPiA+ID4gPiA+ID4+Pj4+IGNob29zZS4gSWYgdGhlcmUgYXJlIGVub3VnaCBU eCBmcmVlZCBidWZmZXJzLCBSeCBjYW4gcHV0DQo+ID4gPiBidWZmZXJzDQo+ID4gPiA+ID4gPj4+ Pj4gZnJvbSBUeC4NCj4gPiA+ID4gPiA+Pj4+PiBPdGhlcndpc2UsIFJ4IHdpbGwgcHV0IGJ1ZmZl cnMgZnJvbSBtZW1wb29sIGFzIHVzdWFsLg0KPiBUaHVzLA0KPiA+ID4gPiA+ID4+Pj4+IHVzZXJz DQo+ID4gPiA+ID4gZG8NCj4gPiA+ID4gPiA+Pj4+PiBub3QgbmVlZCB0byBwYXkgbXVjaCBhdHRl bnRpb24gbWFuYWdpbmcgcG9ydHMuDQo+ID4gPiA+ID4gPj4+Pg0KPiA+ID4gPiA+ID4+Pj4gV2hh dCBJIGFtIHRhbGtpbmcgYWJvdXQ6IHJpZ2h0IG5vdyBkaWZmZXJlbnQgcG9ydCBvcg0KPiA+ID4g PiA+ID4+Pj4gZGlmZmVyZW50DQo+ID4gPiA+ID4gcXVldWVzDQo+ID4gPiA+ID4gPj4+PiBvZiB0 aGUgc2FtZSBwb3J0IGNhbiBiZSB0cmVhdGVkIGFzIGluZGVwZW5kZW50IGVudGl0aWVzOg0KPiA+ ID4gPiA+ID4+Pj4gaW4gZ2VuZXJhbCB1c2VyIGlzIGZyZWUgdG8gc3RhcnQvc3RvcCAoYW5kIGV2 ZW4NCj4gcmVjb25maWd1cmUNCj4gPiA+ID4gPiA+Pj4+IGluDQo+ID4gPiA+ID4gc29tZQ0KPiA+ ID4gPiA+ID4+Pj4gY2FzZXMpIG9uZSBlbnRpdHkgd2l0aG91dCBuZWVkIHRvIHN0b3Agb3RoZXIg ZW50aXR5Lg0KPiA+ID4gPiA+ID4+Pj4gSS5FIHVzZXIgY2FuIHN0b3AgYW5kIHJlLWNvbmZpZ3Vy ZSBUWCBxdWV1ZSB3aGlsZSBrZWVwDQo+ID4gPiByZWNlaXZpbmcNCj4gPiA+ID4gPiA+Pj4+IHBh Y2tldHMgZnJvbSBSWCBxdWV1ZS4NCj4gPiA+ID4gPiA+Pj4+IFdpdGggZGlyZWN0IHJlLWFybSBl bmFibGVkLCBJIHRoaW5rIGl0IHdvdWxkbid0IGJlDQo+IHBvc3NpYmxlDQo+ID4gPiBhbnkNCj4g PiA+ID4gPiBtb3JlOg0KPiA+ID4gPiA+ID4+Pj4gYmVmb3JlIHN0b3BwaW5nL3JlY29uZmlndXJp bmcgVFggcXVldWUgdXNlciB3b3VsZCBoYXZlDQo+IG1ha2UNCj4gPiA+IHN1cmUNCj4gPiA+ID4g PiB0aGF0DQo+ID4gPiA+ID4gPj4+PiBjb3JyZXNwb25kaW5nIFJYIHF1ZXVlIHdvdWxkbid0IGJl IHVzZWQgYnkgZGF0YXBhdGguDQo+ID4gPiA+ID4gPj4+IEkgYW0gdHJ5aW5nIHRvIHVuZGVyc3Rh bmQgdGhlIHByb2JsZW0gYmV0dGVyLiBGb3IgdGhlIFRYDQo+IHF1ZXVlDQo+ID4gPiB0bw0KPiA+ ID4gPiA+IGJlIHN0b3BwZWQsDQo+ID4gPiA+ID4gPj4gdGhlIHVzZXIgbXVzdCBoYXZlIGJsb2Nr ZWQgdGhlIGRhdGEgcGxhbmUgZnJvbSBhY2Nlc3NpbmcgdGhlDQo+IFRYDQo+ID4gPiA+ID4gcXVl dWUuDQo+ID4gPiA+ID4gPj4NCj4gPiA+ID4gPiA+PiBTdXJlbHkgaXQgaXMgdXNlciByZXNwb25z aWJpbGl0eSB0bm90IHRvIGNhbGwgdHhfYnVyc3QoKSBmb3INCj4gPiA+ID4gPiBzdG9wcGVkL3Jl bGVhc2VkIHF1ZXVlLg0KPiA+ID4gPiA+ID4+IFRoZSBwcm9ibGVtIGlzIHRoYXQgd2hpbGUgVFgg Zm9yIHRoYXQgcXVldWUgaXMgc3RvcHBlZCwgUlgNCj4gZm9yDQo+ID4gPiA+ID4gcmVsYXRlZCBx dWV1ZSBzdGlsbA0KPiA+ID4gPiA+ID4+IGNhbiBjb250aW51ZS4NCj4gPiA+ID4gPiA+PiBTbyBy eF9idXJzdCgpIHdpbGwgdHJ5IHRvIHJlYWQvbW9kaWZ5IFRYIHF1ZXVlIGRhdGEsIHRoYXQNCj4g bWlnaHQNCj4gPiA+IGJlDQo+ID4gPiA+ID4gYWxyZWFkeSBmcmVlZCwNCj4gPiA+ID4gPiA+PiBv ciBzaW11bHRhbmVvdXNseSBtb2RpZmllZCBieSBjb250cm9sIHBhdGguDQo+ID4gPiA+ID4gPiBV bmRlcnN0b29kLCBhZ3JlZSBvbiB0aGUgaXNzdWUNCj4gPiA+ID4gPiA+DQo+ID4gPiA+ID4gPj4N Cj4gPiA+ID4gPiA+PiBBZ2FpbiwgaXQgYWxsIGNhbiBiZSBtaXRpZ2F0ZWQgYnkgY2FyZWZ1bGx5 IHJlLWRlc2lnbmluZyBhbmQNCj4gPiA+ID4gPiBtb2RpZnlpbmcgY29udHJvbCBhbmQNCj4gPiA+ ID4gPiA+PiBkYXRhLXBhdGggaW5zaWRlIHVzZXIgYXBwIC0gYnkgZG9pbmcgZXh0cmEgY2hlY2tz IGFuZA0KPiA+ID4gPiA+IHN5bmNocm9uaXphdGlvbnMsIGV0Yy4NCj4gPiA+ID4gPiA+PiBCdXQg ZnJvbSBwcmFjdGljYWwgcG9pbnQgLSBJIHByZXN1bWUgbW9zdCBvZiB1c2VycyBzaW1wbHkNCj4g d291bGQNCj4gPiA+ID4gPiBhdm9pZCB1c2luZyB0aGlzDQo+ID4gPiA+ID4gPj4gZmVhdHVyZSBk dWUgYWxsIHBvdGVudGlhbCBwcm9ibGVtcyBpdCBtaWdodCBjYXVzZS4NCj4gPiA+ID4gPiA+IFRo YXQgaXMgc3ViamVjdGl2ZSwgaXQgYWxsIGRlcGVuZHMgb24gdGhlIHBlcmZvcm1hbmNlDQo+ID4g PiBpbXByb3ZlbWVudHMNCj4gPiA+ID4gPiB1c2VycyBzZWUgaW4gdGhlaXIgYXBwbGljYXRpb24u DQo+ID4gPiA+ID4gPiBJTU8sIHRoZSBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBzZWVuIHdpdGgg dGhpcyBwYXRjaCBpcw0KPiB3b3J0aA0KPiA+ID4gZmV3DQo+ID4gPiA+ID4gY2hhbmdlcy4NCj4g PiA+ID4gPg0KPiA+ID4gPiA+IFllcywgaXQgaXMgc3ViamVjdGl2ZSB0aWxsIHNvbWUgZXh0ZW50 LCB0aG91Z2ggbXkgZmVlbGluZyB0aGF0DQo+IGl0DQo+ID4gPiA+ID4gbWlnaHQgZW5kLXVwIGJl aW5nIHNvcnQgb2Ygc3ludGhldGljIGltcHJvdmVtZW50IHVzZWQgb25seSBieQ0KPiBzb21lDQo+ ID4gPiA+ID4gc2hvdy1jYXNlIGJlbmNobWFya3MuDQo+ID4gPiA+DQo+ID4gPiA+IEkgYmVsaWV2 ZSB0aGF0IG9uZSBzcGVjaWZpYyBpbXBvcnRhbnQgdXNlIGNhc2UgaGFzIGFscmVhZHkgYmVlbg0K PiA+ID4gbWVudGlvbmVkLCBzbyBJDQo+ID4gPiA+IGRvbid0IHRoaW5rIHRoaXMgaXMgYSBiZW5j aG1hcmsgb25seSBmZWF0dXJlLg0KPiA+ID4gKzENCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+ID4g IEZyb20gbXkgcGVyc3BlY3RpdmUsIGl0IHdvdWxkIGJlIG11Y2ggbW9yZSBwbGF1c2libGUsIGlm IHdlDQo+IGNhbg0KPiA+ID4gPiA+IGludHJvZHVjZSBzb21lIHNvcnQgb2YgZ2VuZXJpYyBpbXBy b3ZlbWVudCwgdGhhdCBkb2Vzbid0IGltcG9zZQ0KPiA+ID4gPiA+IGFsbCB0aGVzZSBleHRyYSBj b25zdHJhaW50cyBhbmQgaW1wbGljYXRpb25zLg0KPiA+ID4gPiA+IExpa2Ugb25lLCBkaXNjdXNz ZWQgYmVsb3cgaW4gdGhhdCB0aHJlYWQgd2l0aCBaQyBtZW1wb29sDQo+IGFwcHJvYWNoLg0KPiA+ ID4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IENvbnNpZGVyaW5nIHRoaXMgZmVhdHVyZSBmcm9tIGEg aGlnaCBsZXZlbCBwZXJzcGVjdGl2ZSwgSSBhZ3JlZQ0KPiB3aXRoDQo+ID4gPiBLb25zdGFudGlu J3MNCj4gPiA+ID4gY29uY2VybnMsIHNvIEknbGwgYWxzbyBzdXBwb3J0IGhpcyB2aWV3cy4NCj4g PiA+IFdlIGRpZCBoYWNrIHRoZSBaQyBtZW1wb29sIGFwcHJvYWNoIFsxXSwgbGV2ZWwgb2YgaW1w cm92ZW1lbnQgaXMNCj4gPiA+IHByZXR0eSBzbWFsbCBjb21wYXJlZCB3aXRoIHRoaXMgcGF0Y2gu DQo+ID4gPg0KPiA+ID4gWzFdDQo+IGh0dHA6Ly9wYXRjaGVzLmRwZGsub3JnL3Byb2plY3QvZHBk ay9wYXRjaC8yMDIyMDYxMzA1NTEzNi4xOTQ5Nzg0LQ0KPiA+ID4gMS1mZWlmZWkud2FuZzJAYXJt LmNvbS8NCj4gPiA+DQo+ID4gPiA+DQo+ID4gPiA+IElmIHRoaXMgcGF0Y2ggaXMgc3VwcG9zZWQg dG8gYmUgYSBnZW5lcmljIGZlYXR1cmUsIHBsZWFzZSBhZGQNCj4gPiA+ID4gc3VwcG9ydA0KPiA+ ID4gZm9yIGl0IGluIGFsbA0KPiA+ID4gPiBOSUMgUE1Ecywgbm90IGp1c3Qgb25lLiAoUmVnYXJk bGVzcyBpZiB0aGUgZmVhdHVyZSBpcyBkZWZpbmVkIGFzDQo+IDE6MQ0KPiA+ID4gbWFwcGluZyBv cg0KPiA+ID4gPiBOOk0gbWFwcGluZy4pIEl0IGlzIHB1cmVseSBzb2Z0d2FyZSwgc28gaXQgc2hv dWxkIGJlIGF2YWlsYWJsZQ0KPiBmb3INCj4gPiA+IGFsbCBQTURzLCBub3QNCj4gPiA+ID4ganVz dCB5b3VyIGZhdm9yaXRlIGhhcmR3YXJlISBDb25zaWRlciB0aGUgImZhc3QgbWJ1ZiBmcmVlIg0K PiBmZWF0dXJlLA0KPiA+ID4gd2hpY2ggaXMNCj4gPiA+ID4gcHVyZSBzb2Z0d2FyZTsgd2h5IGlz IHRoYXQgZmVhdHVyZSBub3QgaW1wbGVtZW50ZWQgaW4gYWxsIFBNRHM/DQo+ID4gPiBBZ3JlZSwg aXQgaXMgZ29vZCB0byBoYXZlIGl0IHN1cHBvcnRlZCBpbiBhbGwgdGhlIGRyaXZlcnMuIFdlIGRv DQo+IG5vdA0KPiA+ID4gaGF2ZSBhIGZhdm9yaXRlIGhhcmR3YXJlLCBqdXN0IHBpY2tlZCBhIFBN RCB3aGljaCB3ZSBhcmUgbW9yZQ0KPiBmYW1pbGlhcg0KPiA+ID4gd2l0aC4gV2UgZG8gcGxhbiB0 byBpbXBsZW1lbnQgaW4gb3RoZXIgcHJvbWluZW50IFBNRHMuDQo+ID4gPg0KPiA+ID4gPg0KPiA+ ID4gPiBBIHNlY29uZGFyeSBwb2ludCBJJ20gbWFraW5nIGhlcmUgaXMgdGhhdCB0aGlzIHNwZWNp ZmljIGZlYXR1cmUNCj4gd2lsbA0KPiA+ID4gbGVhZCB0byBhbg0KPiA+ID4gPiBlbm9ybW91cyBh bW91bnQgb2YgY29weS1wYXN0ZSBjb2RlLCBpbnN0ZWFkIG9mIGEgZ2VuZXJpYyBsaWJyYXJ5DQo+ ID4gPiBmdW5jdGlvbg0KPiA+ID4gPiBlYXNpbHkgYXZhaWxhYmxlIGZvciBhbGwgUE1Ecy4NCj4g PiA+IEFyZSB5b3UgdGFsa2luZyBhYm91dCB0aGUgaTQwZSBkcml2ZXIgY29kZSBpbiBzcGVjaWZp Yz8gSWYgeWVzLA0KPiBhZ3JlZQ0KPiA+ID4gd2Ugc2hvdWxkIGF2b2lkIGNvcHktcGFzdGUgYW5k IHdlIHdpbGwgbG9vayB0byByZWR1Y2UgdGhhdC4NCj4gPg0KPiA+IFllcywgSSBhbSB0YWxraW5n IGFib3V0IHRoZSBjb2RlIHRoYXQgbmVlZHMgdG8gYmUgY29waWVkIGludG8gYWxsDQo+IHByb21p bmVudA0KPiA+IFBNRHMuIFBlcmhhcHMgeW91IGNhbiBtb3ZlIHRoZSBtYWpvcml0eSBvZiBpdCBp bnRvIGEgY29tbW9uDQo+IGRpcmVjdG9yeSwgaWYgbm90DQo+ID4gaW4gYSBnZW5lcmljIGxpYnJh cnksIHNvIHRoZSBtb2RpZmljYXRpb24gcGVyIFBNRCBiZWNvbWVzIHNtYWxsZXIuIChJDQo+IHNl ZSB0aGUNCj4gPiBzYW1lIGNvcHktcGFzdGUgaXNzdWUgd2l0aCB0aGUgImZhc3QgbWJ1ZiBmcmVl IiBmZWF0dXJlLCBpZiB0byBiZQ0KPiBzdXBwb3J0ZWQgYnkNCj4gPiBvdGhlciB0aGFuIHRoZSBp NDBlIFBNRC4pDQo+IFRoZSBjdXJyZW50IGFic3RyYWN0aW9uIGRvZXMgbm90IGFsbG93IGZvciBj b21tb24gY29kZSBhdCB0aGlzIChsb3dlcikNCj4gbGV2ZWwgYWNyb3NzIGFsbCB0aGUgUE1Ecy4g SWYgd2UgbG9vayBhdCAiZmFzdCBmcmVlIiwgaXQgaXMgYWNjZXNzaW5nDQo+IHRoZSBkZXZpY2Ug cHJpdmF0ZSBzdHJ1Y3R1cmUgZm9yIHRoZSBsaXN0IG9mIGJ1ZmZlcnMgdG8gZnJlZS4gSWYgaXQN Cj4gbmVlZHMgdG8gYmUgY29tbW9uIGNvZGUsIHRoaXMgbmVlZHMgdG8gYmUgbGlmdGVkIHVwIGFs b25nIHdpdGggb3RoZXINCj4gZGVwZW5kZW50IGNvbmZpZ3VyYXRpb24gdGhyZXNob2xkcyBldGMu DQoNCkV4YWN0bHkuIFRoZSAiZGlyZWN0IHJlLWFybSIgZmVhdHVyZSBoYXMgc29tZSBvZiB0aGUg c2FtZSBkZXNpZ24gcHJvcGVydGllcyBhcyAiZmFzdCBmcmVlIjogVGhleSBhcmUgYm90aCBwdXJl bHkgc29mdHdhcmUgZmVhdHVyZXMsIGFuZCB0aGV5IGFyZSBib3RoIGVtYmVkZGVkIGRlZXBseSBp biB0aGUgUE1EIGNvZGUuDQoNCkkgZG9uJ3Qga25vdyBpZiBpdCBpcyBwb3NzaWJsZSwgYnV0IHBl cmhhcHMgd2UgY291bGQgcmVkZXNpZ24gdGhlIHByaXZhdGUgYnVmZmVyIHN0cnVjdHVyZXMgb2Yg dGhlIFBNRHMsIHNvIHRoZSBmaXJzdCBwYXJ0IG9mIGl0IGlzIGNvbW1vbiBhY3Jvc3MgUE1Ecywg YW5kIHRoZSBmb2xsb3dpbmcgcGFydCBpcyB0cnVseSBwcml2YXRlLiBUaGUgY29tbW9uIHBhcnQg d291bGQgb2J2aW91c2x5IGhvbGQgdGhlIG1idWYgcG9pbnRlci4gVGhhdCB3YXksIGEgY29tbW9u IGxpYnJhcnkgY291bGQgbWFuaXB1bGF0ZSB0aGUgcHVibGljIHBhcnQuDQoNCk9yIHBlcmhhcHMg c29tZSBvdGhlciBtZWFucyBjb3VsZCBiZSBwcm92aWRlZCBmb3IgYSBjb21tb24gbGlicmFyeSB0 byBtYW5pcHVsYXRlIHRoZSBjb21tb24gcGFydHMgb2YgYSBwcml2YXRlIHN0cnVjdHVyZSwgZS5n LiBhIGNvbW1vbiBmYXN0X2ZyZWUgZnVuY3Rpb24gY291bGQgdGFrZSBhIGZldyBwYXJhbWV0ZXJz IHRvIHdvcmsgb24gcHJpdmF0ZSBidWZmZXIgc3RydWN0dXJlczogdm9pZCAqIGJ1ZmZlcl9hcnJh eSwgc2l6ZV90IGVsZW1lbnRfc2l6ZSwgc2l6ZV90IG1idWZfb2Zmc2V0X2luX2VsZW1lbnQsIHVu c2lnbmVkIGludCBudW1fZWxlbWVudHMuDQoNCj4gDQo+ID4NCj4gPiBQbGVhc2Ugbm90ZSB0aGF0 IEkgZG8gbm90IGV4cGVjdCB5b3UgdG8gaW1wbGVtZW50IHRoaXMgZmVhdHVyZSBpbg0KPiBvdGhl ciBQTURzDQo+ID4gdGhhbiB5b3UgbmVlZC4gSSB3YXMgdHJ5aW5nIHRvIG1ha2UgdGhlIHBvaW50 IHRoYXQgaW1wbGVtZW50aW5nIGENCj4gc29mdHdhcmUNCj4gPiBmZWF0dXJlIGluIGEgUE1EIHJl cXVpcmVzIGNvcHktcGFzdGluZyB0byBvdGhlciBQTURzLCB3aGljaCBjYW4NCj4gcmVxdWlyZSBh IGJpZw0KPiA+IGVmZm9ydDsgd2hpbGUgaW1wbGVtZW50aW5nIGl0IGluIGEgbGlicmFyeSBhbmQg Y2FsbGluZyB0aGUgbGlicmFyeQ0KPiBmcm9tIHRoZSBQTURzDQo+ID4gcmVxdWlyZSBhIHNtYWxs ZXIgZWZmb3J0IHBlciBQTUQuIEkgaW50ZW50aW9uYWxseSBwaHJhc2VkIGl0IHNvbWV3aGF0DQo+ ID4gcHJvdm9raW5nbHksIGFuZCB3YXMgbHVja3kgbm90IHRvIG9mZmVuZCBhbnlvbmUuIDotKQ0K DQpVbmxlc3Mgd2UgZmluZCBhIGJldHRlciBzb2x1dGlvbiwgY29weS1wYXN0ZSBjb2RlIGFjcm9z cyBQTURzIHNlZW1zIHRvIGJlIHRoZSBvbmx5IHdheSB0byBpbXBsZW1lbnQgc3VjaCBmZWF0dXJl cy4gQW5kIEkgYWdyZWUgdGhhdCB0aGV5IHNob3VsZCBub3QgYmUgYmxvY2tlZCBkdWUgdG8gImNv ZGUgY29tcGxleGl0eSIgb3IgImNvcHktcGFzdGUiIGFyZ3VtZW50cywgaWYgdGhleSBhcmUgaW1w b3NzaWJsZSB0byBpbXBsZW1lbnQgaW4gYSBtb3JlICJjb3JyZWN0IiB3YXkuDQoNClRoZSBEUERL IGNvbW11bml0eSBzaG91bGQgYWNjZXB0IHN1Y2ggY29udHJpYnV0aW9ucyB0byB0aGUgY29tbW9u IGNvZGUsIGFuZCBiZSBncmF0ZWZ1bCB0aGF0IHRoZXkgZG9uJ3QganVzdCBnbyBpbnRvIHByaXZh dGUgZm9ya3Mgb2YgRFBESyENCg0K