From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smartserver.smartsharesystems.com (smartserver.smartsharesystems.com [77.243.40.215]) by dpdk.org (Postfix) with ESMTP id B45B62BDF for ; Tue, 25 Oct 2016 16:25:10 +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 Date: Tue, 25 Oct 2016 16:25:08 +0200 Message-ID: <98CBD80474FA8B44BF855DF32C47DC359EA8C1@smartserver.smartshare.dk> In-Reply-To: <2601191342CEEE43887BDE71AB9772583F0CC805@irsmsx105.ger.corp.intel.com> X-MS-Has-Attach: X-MS-TNEF-Correlator: Thread-Topic: [dpdk-dev] mbuf changes Thread-Index: AdIuDi107p4k5g0aQEmWpCYJ+64TpwAPchyA//990wCAASDKgIAACOMAgAAO/wCAAAKTgIAAEXmAgAABBoCAAAPZgIAAAyIAgAABDID//+TqkP//wRWQ References: <98CBD80474FA8B44BF855DF32C47DC359EA8B1@smartserver.smartshare.dk> <7910CF2F-7087-4307-A9AC-DE0287104185@intel.com> <20161024162538.GA34988@bricha3-MOBL3.ger.corp.intel.com> <20161025093915.GJ5733@6wind.com> <98CBD80474FA8B44BF855DF32C47DC359EA8B7@smartserver.smartshare.dk> <20161025110444.GK5733@6wind.com> <20161025111357.GA43504@bricha3-MOBL3.ger.corp.intel.com> <98CBD80474FA8B44BF855DF32C47DC359EA8BA@smartserver.smartshare.dk> <20161025122008.GA54704@bricha3-MOBL3.ger.corp.intel.com> <98CBD80474FA8B44BF855DF32C47DC359EA8BB@smartserver.smartshare.dk> <20161025124508.GA59784@bricha3-MOBL3.ger.corp.intel.com> <4427b23b-e9c0-4e43-9c28-fb7e56da745c@6wind.com> <2601191342CEEE43887BDE71AB9772583F0CC805@irsmsx105.ger.corp.intel.com> From: =?utf-8?B?TW9ydGVuIEJyw7hydXA=?= To: "Ananyev, Konstantin" , "Olivier Matz" , "Richardson, Bruce" Cc: "Adrien Mazarguil" , "Wiles, Keith" , , "Oleg Kuporosov" Subject: Re: [dpdk-dev] mbuf changes X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 25 Oct 2016 14:25:11 -0000 TG90cyBvZiBnb29kIGFyZ3VtZW50cyBmcm9tIEtvbnN0YW50aW4gYmVsb3chDQoNClRob21hcyBh bHNvIHdyb3RlIHNvbWV0aGluZyB3b3J0aCByZXBlYXRpbmc6DQoiVGhlIG1idWYgc3BhY2UgbXVz dCBiZSBrZXB0IGplYWxvdXNseSBsaWtlIGEgRFBESyB0cmVhc3VyZSA6KSINCg0KTWF5YmUgd2Ug c2hvdWxkIHRha2UgYSBzdGVwIGF3YXkgZnJvbSB0aGUga2V5Ym9hcmQgYW5kIGNvbnNpZGVyIHRo ZSBkZWNpc2lvbiBwcm9jZXNzIGFuZCBndWlkYW5jZSBjcml0ZXJpYSBmb3IgbWJ1ZiBtZW1iZXJz Lg0KDQpIZXJlIGlzIGFuIGV4YW1wbGUgb2Ygd2hhdCBJIGFtIHRoaW5raW5nOg0KDQoxLiBJdCBp cyB0aGUgaW50ZW50aW9uIHRvIG9wdGltaXplIG1idWYgaGFuZGxpbmcgZm9yIHRoZSBtb3N0IGxp a2VseSBmYXN0IHBhdGggdGhyb3VnaCB0aGUgZW50aXJlIHN5c3RlbSBvbiB0aGUgbW9zdCBjb21t b24gYXBwbGljYXRpb25zLg0KMi4gSXQgaXMgdGhlIGludGVudGlvbiB0aGF0IHRoZSBtb3N0IGxp a2VseSBmYXN0IHBhdGggdGhyb3VnaCB0aGUgUlggaGFuZGxlciBhbmQgUlggcHJvY2Vzc2luZyBv ZiB0aGUgbW9zdCBjb21tb24gYXBwbGljYXRpb25zIG9ubHkgbmVlZHMgdG8gdG91Y2ggdGhlIGZp cnN0IGNhY2hlIGxpbmUuDQozLiBUaGUgZmlyc3QgY2FjaGUgbGluZSBzaG91bGQgYmUgcHJlZmVy cmVkIGZvciBtZXRhZGF0YSBzZXQgYnkgbW9zdCBjb21tb24gTklDIGhhcmR3YXJlIGluIHRoZSBS WCBoYW5kbGVyLg0KNC4gVGhlIHNlY29uZCBjYWNoZSBsaW5lIHNob3VsZCBiZSBwcmVmZXJyZWQg Zm9yIG1ldGFkYXRhIHJlcXVpcmVkIGJ5IG1vc3QgY29tbW9uIE5JQyBoYXJkd2FyZSBpbiB0aGUg VFggaGFuZGxlci4NCjUuIFRoZSBmaXJzdCBjYWNoZSBsaW5lIGNvdWxkIGJlIHVzZWQgZm9yIG1l dGFkYXRhIHVzZWQgYnkgdGhlIFJYIHByb2Nlc3NpbmcgaW4gdGhlIG1vc3QgbGlrZWx5IGZhc3Qg cGF0aCBvZiBtb3N0IGNvbW1vbiBhcHBsaWNhdGlvbnMuDQo2LiBUaGUgc2Vjb25kIGNhY2hlIGxp bmUgY291bGQgYmUgdXNlZCBmb3IgbWV0YWRhdGEgdXNlZCBieSB0aGUgVFggcHJvY2Vzc2luZyBp biB0aGUgbW9zdCBsaWtlbHkgZmFzdCBwYXRoIG9mIG1vc3QgY29tbW9uIGFwcGxpY2F0aW9ucy4N CjcuIFRoZSBSWCBhbmQgVFggaGFuZGxlcnMgYXJlIGVxdWFsbHkgaW1wb3J0YW50LCBhbmQgdGhl IFJYIGhhbmRsZXIgc2hvdWxkIG5vdCBiZSBvcHRpbWl6ZWQgYXQgdGhlIGNvc3Qgb2YgdGhlIFRY IGhhbmRsZXIuDQoNClBsZWFzZSBub3RlIHRoZSB1c2Ugb2YgIm1vc3QgY29tbW9uIiBhbmQgIm1v c3QgbGlrZWx5Ii4gSXQgc2hvdWxkIGJlIGNsZWFyIHdoaWNoIGNhc2VzIHdlIGFyZSBvcHRpbWl6 aW5nIGZvci4NCg0KV2Ugc2hvdWxkIHByb2JhYmx5IGFsc28gZGVmaW5lICJ0aGUgbW9zdCBjb21t b24gYXBwbGljYXRpb25zIiAoZS5nLiBhIExheWVyIDMgcm91dGVyIHdpdGggb3Igd2l0aG91dCBW UE4pIGFuZCAidGhlIG1vc3QgbGlrZWx5IGZhc3QgcGF0aCIgKGUuZy4gYSBzaW5nbGUgcGFja2V0 IG1hdGNoaW5nIGEgc2VyaWVzIG9mIGxvb2t1cHMgYW5kIHVsdGltYXRlbHkgZm9yd2FyZGVkIHRv IGEgc2luZ2xlIHBvcnQpLg0KDQpJdCBtaWdodCBhbHNvIG1ha2Ugc2Vuc2UgZG9jdW1lbnRpbmcg dGhlIG1idWYgZmllbGRzIGluIG1vcmUgZGV0YWlsIHNvbWV3aGVyZS4gRS5nLiB0aGUgbmVlZCBm b3IgbmJfc2VncyBpbiB0aGUgTklDJ3MgVFggaGFuZGxlci4NCg0KDQpNZWQgdmVubGlnIGhpbHNl biAvIGtpbmQgcmVnYXJkcw0KLSBNb3J0ZW4gQnLDuHJ1cA0KDQoNCj4gLS0tLS1PcmlnaW5hbCBN ZXNzYWdlLS0tLS0NCj4gRnJvbTogQW5hbnlldiwgS29uc3RhbnRpbiBbbWFpbHRvOmtvbnN0YW50 aW4uYW5hbnlldkBpbnRlbC5jb21dDQo+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMjUsIDIwMTYg MzozOSBQTQ0KPiBUbzogT2xpdmllciBNYXR6OyBSaWNoYXJkc29uLCBCcnVjZTsgTW9ydGVuIEJy w7hydXANCj4gQ2M6IEFkcmllbiBNYXphcmd1aWw7IFdpbGVzLCBLZWl0aDsgZGV2QGRwZGsub3Jn OyBPbGVnIEt1cG9yb3Nvdg0KPiBTdWJqZWN0OiBSRTogW2RwZGstZGV2XSBtYnVmIGNoYW5nZXMN Cj4gDQo+IA0KPiANCj4gPiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+IEZyb206IGRl diBbbWFpbHRvOmRldi1ib3VuY2VzQGRwZGsub3JnXSBPbiBCZWhhbGYgT2YgT2xpdmllciBNYXR6 DQo+ID4gU2VudDogVHVlc2RheSwgT2N0b2JlciAyNSwgMjAxNiAxOjQ5IFBNDQo+ID4gVG86IFJp Y2hhcmRzb24sIEJydWNlIDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT47IE1vcnRlbiBCcsO4 cnVwDQo+ID4gPG1iQHNtYXJ0c2hhcmVzeXN0ZW1zLmNvbT4NCj4gPiBDYzogQWRyaWVuIE1hemFy Z3VpbCA8YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb20+OyBXaWxlcywgS2VpdGgNCj4gPiA8a2Vp dGgud2lsZXNAaW50ZWwuY29tPjsgZGV2QGRwZGsub3JnOyBPbGVnIEt1cG9yb3Nvdg0KPiA+IDxv bGVna0BtZWxsYW5veC5jb20+DQo+ID4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gbWJ1ZiBjaGFu Z2VzDQo+ID4NCj4gPg0KPiA+DQo+ID4gT24gMTAvMjUvMjAxNiAwMjo0NSBQTSwgQnJ1Y2UgUmlj aGFyZHNvbiB3cm90ZToNCj4gPiA+IE9uIFR1ZSwgT2N0IDI1LCAyMDE2IGF0IDAyOjMzOjU1UE0g KzAyMDAsIE1vcnRlbiBCcsO4cnVwIHdyb3RlOg0KPiA+ID4+IENvbW1lbnRzIGF0IHRoZSBlbmQu DQo+ID4gPj4NCj4gPiA+PiBNZWQgdmVubGlnIGhpbHNlbiAvIGtpbmQgcmVnYXJkcw0KPiA+ID4+ IC0gTW9ydGVuIEJyw7hydXANCj4gPiA+Pg0KPiA+ID4+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2Ut LS0tLQ0KPiA+ID4+PiBGcm9tOiBCcnVjZSBSaWNoYXJkc29uIFttYWlsdG86YnJ1Y2UucmljaGFy ZHNvbkBpbnRlbC5jb21dDQo+ID4gPj4+IFNlbnQ6IFR1ZXNkYXksIE9jdG9iZXIgMjUsIDIwMTYg MjoyMCBQTQ0KPiA+ID4+PiBUbzogTW9ydGVuIEJyw7hydXANCj4gPiA+Pj4gQ2M6IEFkcmllbiBN YXphcmd1aWw7IFdpbGVzLCBLZWl0aDsgZGV2QGRwZGsub3JnOyBPbGl2aWVyIE1hdHo7DQo+ID4g Pj4+IE9sZWcgS3Vwb3Jvc292DQo+ID4gPj4+IFN1YmplY3Q6IFJlOiBbZHBkay1kZXZdIG1idWYg Y2hhbmdlcw0KPiA+ID4+Pg0KPiA+ID4+PiBPbiBUdWUsIE9jdCAyNSwgMjAxNiBhdCAwMjoxNjoy OVBNICswMjAwLCBNb3J0ZW4gQnLDuHJ1cCB3cm90ZToNCj4gPiA+Pj4+IENvbW1lbnRzIGlubGlu ZS4NCj4gPiA+Pj4+DQo+ID4gPj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+ Pj4+PiBGcm9tOiBkZXYgW21haWx0bzpkZXYtYm91bmNlc0BkcGRrLm9yZ10gT24gQmVoYWxmIE9m IEJydWNlDQo+ID4gPj4+Pj4gUmljaGFyZHNvbg0KPiA+ID4+Pj4+IFNlbnQ6IFR1ZXNkYXksIE9j dG9iZXIgMjUsIDIwMTYgMToxNCBQTQ0KPiA+ID4+Pj4+IFRvOiBBZHJpZW4gTWF6YXJndWlsDQo+ ID4gPj4+Pj4gQ2M6IE1vcnRlbiBCcsO4cnVwOyBXaWxlcywgS2VpdGg7IGRldkBkcGRrLm9yZzsg T2xpdmllciBNYXR6Ow0KPiA+ID4+Pj4+IE9sZWcgS3Vwb3Jvc292DQo+ID4gPj4+Pj4gU3ViamVj dDogUmU6IFtkcGRrLWRldl0gbWJ1ZiBjaGFuZ2VzDQo+ID4gPj4+Pj4NCj4gPiA+Pj4+PiBPbiBU dWUsIE9jdCAyNSwgMjAxNiBhdCAwMTowNDo0NFBNICswMjAwLCBBZHJpZW4gTWF6YXJndWlsDQo+ IHdyb3RlOg0KPiA+ID4+Pj4+PiBPbiBUdWUsIE9jdCAyNSwgMjAxNiBhdCAxMjoxMTowNFBNICsw MjAwLCBNb3J0ZW4gQnLDuHJ1cCB3cm90ZToNCj4gPiA+Pj4+Pj4+IENvbW1lbnRzIGlubGluZS4N Cj4gPiA+Pj4+Pj4+DQo+ID4gPj4+Pj4+PiBNZWQgdmVubGlnIGhpbHNlbiAvIGtpbmQgcmVnYXJk cw0KPiA+ID4+Pj4+Pj4gLSBNb3J0ZW4gQnLDuHJ1cA0KPiA+ID4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+ DQo+ID4gPj4+Pj4+Pj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiA+Pj4+Pj4+PiBG cm9tOiBBZHJpZW4gTWF6YXJndWlsIFttYWlsdG86YWRyaWVuLm1hemFyZ3VpbEA2d2luZC5jb21d DQo+ID4gPj4+Pj4+Pj4gU2VudDogVHVlc2RheSwgT2N0b2JlciAyNSwgMjAxNiAxMTozOSBBTQ0K PiA+ID4+Pj4+Pj4+IFRvOiBCcnVjZSBSaWNoYXJkc29uDQo+ID4gPj4+Pj4+Pj4gQ2M6IFdpbGVz LCBLZWl0aDsgTW9ydGVuIEJyw7hydXA7IGRldkBkcGRrLm9yZzsgT2xpdmllciBNYXR6Ow0KPiA+ ID4+Pj4+Pj4+IE9sZWcgS3Vwb3Jvc292DQo+ID4gPj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtkcGRr LWRldl0gbWJ1ZiBjaGFuZ2VzDQo+ID4gPj4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+PiBPbiBNb24sIE9j dCAyNCwgMjAxNiBhdCAwNToyNTozOFBNICswMTAwLCBCcnVjZSBSaWNoYXJkc29uDQo+ID4gPj4+ IHdyb3RlOg0KPiA+ID4+Pj4+Pj4+PiBPbiBNb24sIE9jdCAyNCwgMjAxNiBhdCAwNDoxMTozM1BN ICswMDAwLCBXaWxlcywgS2VpdGgNCj4gPiA+Pj4gd3JvdGU6DQo+ID4gPj4+Pj4+Pj4gWy4uLl0N Cj4gPiA+Pj4+Pj4+Pj4+PiBPbiBPY3QgMjQsIDIwMTYsIGF0IDEwOjQ5IEFNLCBNb3J0ZW4gQnLD uHJ1cA0KPiA+ID4+Pj4+Pj4+IDxtYkBzbWFydHNoYXJlc3lzdGVtcy5jb20+IHdyb3RlOg0KPiA+ ID4+Pj4+Pj4+IFsuLi5dDQo+ID4gPj4+Pg0KPiA+ID4+Pj4+Pj4+PiBPbmUgb3RoZXIgcG9pbnQg SSdsbCBtZW50aW9uIGlzIHRoYXQgd2UgbmVlZCB0byBoYXZlIGENCj4gPiA+Pj4+Pj4+Pj4gZGlz Y3Vzc2lvbiBvbiBob3cvd2hlcmUgdG8gYWRkIGluIGEgdGltZXN0YW1wIHZhbHVlIGludG8NCj4g PiA+Pj4gdGhlDQo+ID4gPj4+Pj4+Pj4+IG1idWYuIFBlcnNvbmFsbHksIEkgdGhpbmsgaXQgY2Fu IGJlIGluIGEgdW5pb24gd2l0aCB0aGUNCj4gPiA+Pj4+PiBzZXF1ZW5jZQ0KPiA+ID4+Pj4+Pj4+ PiBudW1iZXIgdmFsdWUsIGJ1dCBJIGFsc28gc3VzcGVjdCB0aGF0IDMyLWJpdHMgb2YgYQ0KPiA+ ID4+PiB0aW1lc3RhbXANCj4gPiA+Pj4+Pj4+Pj4gaXMgbm90IGdvaW5nIHRvIGJlIGVub3VnaCBm b3INCj4gPiA+Pj4+Pj4+PiBtYW55Lg0KPiA+ID4+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+PiBUaG91 Z2h0cz8NCj4gPiA+Pj4+Pj4+Pg0KPiA+ID4+Pj4+Pj4+IElmIHdlIGNvbnNpZGVyIHRoYXQgdGlt ZXN0YW1wIHJlcHJlc2VudGF0aW9uIHNob3VsZCB1c2UNCj4gPiA+Pj4+PiBuYW5vc2Vjb25kDQo+ ID4gPj4+Pj4+Pj4gZ3JhbnVsYXJpdHksIGEgMzItYml0IHZhbHVlIG1heSBsaWtlbHkgd3JhcCBh cm91bmQgdG9vDQo+ID4gPj4+IHF1aWNrbHkNCj4gPiA+Pj4+Pj4+PiB0byBiZSB1c2VmdWwuIFdl IGNhbiBhbHNvIGFzc3VtZSB0aGF0IGFwcGxpY2F0aW9ucw0KPiByZXF1ZXN0aW5nDQo+ID4gPj4+ Pj4+Pj4gdGltZXN0YW1wcyBtYXkgY2FyZSBtb3JlIGFib3V0IGxhdGVuY3kgdGhhbiB0aHJvdWdo cHV0LCBPbGVnDQo+ID4gPj4+Pj4gZm91bmQNCj4gPiA+Pj4+Pj4+PiB0aGF0IHVzaW5nIHRoZSBz ZWNvbmQgY2FjaGUgbGluZSBmb3IgdGhpcyBwdXJwb3NlIGhhZCBhDQo+ID4gPj4+Pj4gbm90aWNl YWJsZSBpbXBhY3QgWzFdLg0KPiA+ID4+Pj4+Pj4+DQo+ID4gPj4+Pj4+Pj4gIFsxXSBodHRwOi8v ZHBkay5vcmcvbWwvYXJjaGl2ZXMvZGV2LzIwMTYtDQo+IE9jdG9iZXIvMDQ5MjM3Lmh0bWwNCj4g PiA+Pj4+Pj4+DQo+ID4gPj4+Pj4+PiBJIGFncmVlIHdpdGggT2xlZyBhYm91dCB0aGUgbGF0ZW5j eSB2cy4gdGhyb3VnaHB1dCBpbXBvcnRhbmNlDQo+ID4gPj4+Pj4+PiBmb3INCj4gPiA+Pj4+PiBz dWNoIGFwcGxpY2F0aW9ucy4NCj4gPiA+Pj4+Pj4+DQo+ID4gPj4+Pj4+PiBJZiB5b3UgbmVlZCBo aWdoIHJlc29sdXRpb24gdGltZXN0YW1wcywgY29uc2lkZXIgdGhlbSB0byBiZQ0KPiA+ID4+Pj4+ IGdlbmVyYXRlZCBieSB0aGUgTklDIFJYIGRyaXZlciwgcG9zc2libHkgYnkgdGhlIGhhcmR3YXJl IGl0c2VsZg0KPiA+ID4+Pj4+IChodHRwOi8vdzNuZXcubmFwYXRlY2guY29tL2ZlYXR1cmVzL3Rp bWUtcHJlY2lzaW9uL2hhcmR3YXJlLQ0KPiB0aW1lDQo+ID4gPj4+Pj4gLSBzdGFtcCksIHNvIHRo ZSB0aW1lc3RhbXAgYmVsb25ncyBpbiB0aGUgZmlyc3QgY2FjaGUgbGluZS4gQW5kDQo+ID4gPj4+ Pj4gSSBhbSBwcm9wb3NpbmcgdGhhdCBpdCBzaG91bGQgaGF2ZSB0aGUgaGlnaGVzdCBwb3NzaWJs ZQ0KPiA+ID4+Pj4+IGFjY3VyYWN5LCB3aGljaCBtYWtlcyB0aGUgdmFsdWUgaGFyZHdhcmUgZGVw ZW5kZW50Lg0KPiA+ID4+Pj4+Pj4NCj4gPiA+Pj4+Pj4+IEZ1cnRoZXJtb3JlLCBJIGFtIGFyZ3Vp bmcgdGhhdCB3ZSBsZWF2ZSBpdCB1cCB0byB0aGUNCj4gPiA+Pj4gYXBwbGljYXRpb24NCj4gPiA+ Pj4+Pj4+IHRvDQo+ID4gPj4+Pj4ga2VlcCB0cmFjayBvZiB0aGUgc2xvd2x5IG1vdmluZyBiaXRz IChpLmUuIGNvdW50aW5nIHdob2xlDQo+ID4gPj4+Pj4gc2Vjb25kcywgaG91cnMgYW5kIGNhbGVu ZGFyIGRhdGUpIG91dCBvZiBiYW5kLCBzbyB3ZSBkb24ndCB1c2UNCj4gPiA+Pj4+PiBwcmVjaW91 cw0KPiA+ID4+PiBzcGFjZQ0KPiA+ID4+Pj4+IGluIHRoZSBtYnVmLiBUaGUgYXBwbGljYXRpb24g ZG9lc24ndCBuZWVkIHRoZSBOSUMgUlggZHJpdmVyJ3MNCj4gPiA+Pj4+PiBmYXN0IHBhdGggdG8g Y2FwdHVyZSB3aGljaCBkYXRlIChvciBldmVuIHdoaWNoIHNlY29uZCkgYSBwYWNrZXQNCj4gPiA+ Pj4+PiB3YXMgcmVjZWl2ZWQuIFllcywgaXQgYWRkcyBjb21wbGV4aXR5IHRvIHRoZSBhcHBsaWNh dGlvbiwgYnV0DQo+IHdlDQo+ID4gPj4+Pj4gY2FuJ3Qgc2V0IGFzaWRlIDY0IGJpdCBmb3IgYSBn ZW5lcmljIHRpbWVzdGFtcC4gT3IgYXMgYSB3ZWlyZA0KPiB0cmFkZW9mZjoNCj4gPiA+Pj4+PiBQ dXQgdGhlIGZhc3QgbW92aW5nIDMyIGJpdCBpbiB0aGUgZmlyc3QgY2FjaGUgbGluZSBhbmQgdGhl IHNsb3cNCj4gPiA+Pj4+PiBtb3ZpbmcgMzIgYml0IGluIHRoZSBzZWNvbmQgY2FjaGUgbGluZSwg YXMgYSBwbGFjZWhvbGRlciBmb3INCj4gdGhlDQo+ID4gPj4+IGFwcGxpY2F0aW9uIHRvIGZpbGwg b3V0IGlmIG5lZWRlZC4NCj4gPiA+Pj4+PiBZZXMsIGl0IG1lYW5zIHRoYXQgdGhlIGFwcGxpY2F0 aW9uIG5lZWRzIHRvIGNoZWNrIHRoZSB0aW1lIGFuZA0KPiA+ID4+Pj4+IHVwZGF0ZSBpdHMgdmFy aWFibGUgaG9sZGluZyB0aGUgc2xvdyBtb3ZpbmcgdGltZSBvbmNlIGV2ZXJ5DQo+ID4gPj4+Pj4g c2Vjb25kIG9yIHNvOyBidXQgdGhhdCBzaG91bGQgYmUgZG9hYmxlIHdpdGhvdXQgc2lnbmlmaWNh bnQNCj4gZWZmb3J0Lg0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+PiBUaGF0J3MgYSBnb29kIHBvaW50 LCBob3dldmVyIHdpdGhvdXQgYSA2NCBiaXQgdmFsdWUsIGVsYXBzZWQNCj4gPiA+Pj4+Pj4gdGlt ZSBiZXR3ZWVuIHR3byBhcmJpdHJhcnkgbWJ1ZnMgY2Fubm90IGJlIG1lYXN1cmVkIHJlbGlhYmx5 DQo+ID4gPj4+Pj4+IGR1ZSB0bw0KPiA+ID4+PiBub3QNCj4gPiA+Pj4+Pj4gZW5vdWdoIGNvbnRl eHQsIG9uZSB3YXkgb3IgYW5vdGhlciB0aGUgbG93IHJlc29sdXRpb24gdmFsdWUgaXMNCj4gPiA+ Pj4+Pj4gYWxzbw0KPiA+ID4+Pj4+IG5lZWRlZC4NCj4gPiA+Pj4+Pj4NCj4gPiA+Pj4+Pj4gT2J2 aW91c2x5IGxhdGVuY3ktc2Vuc2l0aXZlIGFwcGxpY2F0aW9ucyBhcmUgdW5saWtlbHkgdG8NCj4g PiA+Pj4+Pj4gcGVyZm9ybSBsZW5ndGh5IGJ1ZmZlcmluZyBhbmQgcmVxdWlyZSB0aGlzIGJ1dCBJ J20gbm90IHN1cmUNCj4gPiA+Pj4+Pj4gYWJvdXQgYWxsIHRoZSBwb3NzaWJsZSB1c2UtY2FzZXMu IENvbnNpZGVyaW5nIG1hbnkgTklDcyBleHBvc2UNCj4gPiA+Pj4+Pj4gNjQgYml0DQo+ID4gPj4+ IHRpbWVzdGFwcywNCj4gPiA+Pj4+Pj4gSSBzdWdnZXN0IHdlIGRvIG5vdCB0cnVuY2F0ZSB0aGVt Lg0KPiA+ID4+Pj4+Pg0KPiA+ID4+Pj4+PiBJJ20gbm90IGEgZmFuIG9mIHRoZSB3ZWlyZCB0cmFk ZW9mZiBlaXRoZXIsIFBNRHMgd2lsbCBiZQ0KPiA+ID4+Pj4+PiB0ZW1wdGVkIHRvIGZpbGwgdGhl IGV4dHJhIDMyIGJpdHMgd2hlbmV2ZXIgdGhleSBjYW4gYW5kIG5lZ2F0ZQ0KPiA+ID4+Pj4+PiB0 aGUgcGVyZm9ybWFuY2UgaW1wcm92ZW1lbnQgb2YgdGhlIGZpcnN0IGNhY2hlIGxpbmUuDQo+ID4g Pj4+Pj4NCj4gPiA+Pj4+PiBJIHdvdWxkIHRlbmQgdG8gYWdyZWUsIGFuZCBJIGRvbid0IHJlYWxs eSBzZWUgYW55IGNvbnZlbmllbnQNCj4gd2F5DQo+ID4gPj4+Pj4gdG8gYXZvaWQgcHV0dGluZyBp biBhIDY0LWJpdCBmaWVsZCBmb3IgdGhlIHRpbWVzdGFtcCBpbiBjYWNoZS0NCj4gbGluZSAwLg0K PiA+ID4+Pj4+IElmIHdlIGFyZSBvayB3aXRoIGhhdmluZyB0aGlzIG92ZXJsYXAvcGFydGlhbGx5 IG92ZXJsYXAgd2l0aA0KPiA+ID4+Pj4+IHNlcXVlbmNlIG51bWJlciwgaXQgd2lsbCB1c2UgdXAg YW4gZXh0cmEgNEIgb2Ygc3RvcmFnZSBpbiB0aGF0DQo+ID4gPj4+IGNhY2hlbGluZS4NCj4gPiA+ Pj4+DQo+ID4gPj4+PiBJIGFncmVlIGFib3V0IHRoZSBsYWNrIG9mIGNvbnZlbmllbmNlISBBbmQg QWRyaWVuIGNlcnRhaW5seSBoYXMNCj4gYQ0KPiA+ID4+PiBwb2ludCBhYm91dCBQTUQgdGVtcHRh dGlvbnMuDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gSG93ZXZlciwgSSBzdGlsbCBkb24ndCB0aGluayB0 aGF0IGEgTklDcyBhYmlsaXR5IHRvIGRhdGUtc3RhbXAgYQ0KPiA+ID4+PiBwYWNrZXQgaXMgc3Vm ZmljaWVudCByZWFzb24gdG8gcHV0IGEgZGF0ZS1zdGFtcCBpbiBjYWNoZSBsaW5lIDANCj4gb2YN Cj4gPiA+Pj4gdGhlIG1idWYuIFN0b3Jpbmcgb25seSB0aGUgZmFzdCBtb3ZpbmcgMzIgYml0IGlu IGNhY2hlIGxpbmUgMA0KPiA+ID4+PiBzZWVtcyBsaWtlIGEgZ29vZCBjb21wcm9taXNlIHRvIG1l Lg0KPiA+ID4+Pj4NCj4gPiA+Pj4+IE1heWJlIHlvdSBjYW4gZmluZCBqdXN0IG9uZSBtb3JlIGJ5 dGUsIHNvIGl0IGNhbiBob2xkIDE3IG1pbnV0ZXMNCj4gPiA+Pj4+IHdpdGggbmFub3NlY29uZCBy ZXNvbHV0aW9uLiAoSSdtIGpva2luZyEpDQo+ID4gPj4+Pg0KPiA+ID4+Pj4gUGxlYXNlIGRvbid0 IHNhY3JpZmljZSB0aGUgc2VxdWVuY2UgbnVtYmVyIGZvciB0aGUNCj4gPiA+Pj4+IHNlY29uZHMv aG91cnMvZGF5cw0KPiA+ID4+PiBwYXJ0IGEgdGltZXN0YW1wLiBNYXliZSBpdCBjb3VsZCBiZSBj b25maWd1cmFibGUgdG8gdXNlIGEgMzIgYml0DQo+ID4gPj4+IG9yIDY0IGJpdCB0aW1lc3RhbXAu DQo+ID4gPj4+Pg0KPiA+ID4+PiBEbyB5b3Ugc2VlIGJvdGggdGltZXN0YW1wIGFuZCBzZXF1ZW5j ZSBudW1iZXJzIGJlaW5nIHVzZWQNCj4gPiA+Pj4gdG9nZXRoZXI/IEkgd291bGQgaGF2ZSB0aG91 Z2h0IHRoYXQgYXBwcyB3b3VsZCBlaXRoZXIgdXNlIG9uZSBvcg0KPiB0aGUgb3RoZXI/DQo+ID4g Pj4+IEhvd2V2ZXIsIHlvdXIgc3VnZ2VzdGlvbiBpcyB3b3JrYWJsZSBpbiBhbnkgY2FzZSwgdG8g YWxsb3cgdGhlDQo+ID4gPj4+IHNlcXVlbmNlIG51bWJlciB0byBvdmVybGFwIGp1c3QgdGhlIGhp Z2ggMzIgYml0cyBvZiB0aGUNCj4gdGltZXN0YW1wLA0KPiA+ID4+PiByYXRoZXIgdGhhbiB0aGUg bG93Lg0KPiA+ID4+DQo+ID4gPj4gSW4gb3VyIGNhc2UsIEkgY2FuIGZvcmVzZWUgc2VxdWVuY2Ug bnVtYmVycyB1c2VkIGZvciBwYWNrZXQNCj4gPiA+PiBwcm9jZXNzaW5nIGFuZCB0aW1lc3RhbXBz IGZvciB0aW1pbmcgYW5hbHlzaXMgKGFuZCBwb3NzaWJseSBmb3INCj4gPiA+PiBwYWNrZXQNCj4g PiBjYXB0dXJpbmcsIHdoZW4gYmVpbmcgdXNlZCkuDQo+IA0KPiBHcmVhdCwgYnV0IHJpZ2h0IG5v dyBub25lIG9mIHRoZXNlIGZpZWxkcyBhcmUgZmlsbGVkIGZyb20gTklDIEhXIGJ5IFBNRA0KPiBS WCBmdW5jdGlvbiAoZXhjZXB0IFJGQyBmb3IgbWVsYW5veCBwcm92aWRlZCBieSBPbGVnLCBidXQg YWdhaW4gaXQgaXMNCj4gcHVyZSBTVyBpbXBsZW1lbnRhdGlvbikuDQo+IFNvIEkgd291bGQgcmVw ZWF0IG15IHF1ZXN0aW9uOiB3aHkgdGhlc2UgZmllbGRzIHNob3VsZCBzdGF5IGluIHRoZQ0KPiBm aXJzdCBjYWNoZS1saW5lPw0KPiBJIHVuZGVyc3RhbmQgdGhhdCAgaXQgd291bGQgc3BlZWQtdXAg c29tZSBwYXJ0aWN1bGFyIGFwcGxpY2F0aW9uLCBidXQNCj4gdGhlcmUgYXJlIHBsZW50eSBvZiBh cHBzIHdoaWNoIGRvIHVzZSBkaWZmZXJlbnQgbWV0YWRhdGEuDQo+IExldCBzYXkgbDIvbDMvbDQg bGVuIC0gaXMgdmVyeSB1c2VmdWwgaW5mb3JtYXRpb24gZm9yIHVwcGVyIGxheWVyDQo+IChMMy9M NCkgcGFja2V0IHByb2Nlc3NpbmcuDQo+IFNob3VsZCBwZW9wbGUgd2hvIGRvIHVzZSBpdCBzdGFy dCB0byBwdXNoIG1vdmluZyB0aGF0IGZpZWxkcyBpbnRvIGZpcnN0DQo+IGNhY2hlLWxpbmUgdG9v Pw0KPiANCj4gPkZvciB0aW1pbmcgYW5hbHlzaXMsIHdlIGRvbuKAmXQgbmVlZCBsb25nIGR1cmF0 aW9ucywgZS5nLiA0IHNlY29uZHMgd2l0aA0KPiAzMiBiaXQgbmFub3NlY29uZCByZXNvbHV0aW9u IHN1ZmZpY2VzLg0KPiA+IEFuZCBmb3IgcGFja2V0IGNhcHR1cmluZyB3ZSBhcmUgcGVyZmVjdGx5 IGNhcGFibGUgb2YgYWRkaW5nIHRoZQ0KPiBzbG93bHkNCj4gPm1vdmluZyAzMiBiaXQgb2YgdGhl IHRpbWVzdGFtcCB0byBvdXIgb3V0cHV0IGRhdGEgc3RyZWFtIHdpdGhvdXQNCj4gZmV0Y2hpbmcg aXQgZnJvbSB0aGUgbWJ1Zi4NCj4gPiA+Pg0KPiA+DQo+ID4gV2Ugc2hvdWxkIGtlZXAgaW4gbWlu ZCB0aGF0IHRvZGF5IHdlIGhhdmUgdGhlIHNlcW4gZmllbGQgYnV0IGl0IGlzDQo+IG5vdA0KPiA+ IHVzZWQgYnkgYW55IFBNRC4gSW4gY2FzZSBpdCBpcyBpbXBsZW1lbnRlZCwgd291bGQgaXQgYmUg YSBwZXItcXVldWUNCj4gPiBzZXF1ZW5jZSBudW1iZXI/IElzIGl0IHVzZWZ1bCBmcm9tIGFuIGFw cGxpY2F0aW9uIHZpZXc/DQo+IA0KPiBFeGFjdGx5IC0gaXQgZGVwZW5kcyBmcm9tIFNXIHRoYXQg dXNlcyB0aGF0IGZpZWxkLCByaWdodD8NCj4gSXQgY291bGQgYmUgcGVyIHByb2Nlc3MgLyBwZXIg Z3JvdXAgb2YgbGNvcmVzIC8gcGVyIHBvcnQgLyBwZXIgcXVldWUsDQo+IGV0Yy4NCj4gRGVwZW5k aW5nIG9uIHdoYXQgYXJlIHVwcGVyIGxheWVyIG5lZWRzLg0KPiANCj4gPg0KPiA+IFRoaXMgZmll bGQgaXMgb25seSB1c2VkIGJ5IHRoZSBsaWJydGVfcmVvcmRlciBsaWJyYXJ5LCBhbmQgaW4gbXkN Cj4gPiBvcGluaW9uLCB3ZSBzaG91bGQgY29uc2lkZXIgbW92aW5nIGl0IGluIHRoZSBzZWNvbmQg Y2FjaGUgbGluZSBzaW5jZQ0KPiA+IGl0IGlzIG5vdCBmaWxsZWQgYnkgdGhlIFBNRC4NCj4gDQo+ ICsxDQo+IA0KPiA+DQo+ID4NCj4gPiA+IEZvciB0aGUgMzItYml0IHRpbWVzdGFtcCBjYXNlLCBp dCBtaWdodCBiZSB1c2VmdWwgdG8gaGF2ZSBhDQo+ID4gPiByaWdodC1zaGlmdCB2YWx1ZSBwYXNz ZWQgaW4gdG8gdGhlIGV0aGRldiBkcml2ZXIuIElmIHdlIGFzc3VtZSBhDQo+IE5JQw0KPiA+ID4g d2l0aCBuYW5vc2Vjb25kIHJlc29sdXRpb24sIChvciBUU0MgdmFsdWUgd2l0aCByZXNvbHV0aW9u IG9mIHRoYXQNCj4gPiA+IG9yZGVyIG9mIG1hZ25pdHVkZSksIHRoZW4gdGhlIGFwcCBjYW4gY2hv b3NlIHRvIGhhdmUgMSBucw0KPiByZXNvbHV0aW9uDQo+ID4gPiB3aXRoIDQgc2Vjb25kIHdyYXBh cm91bmQsIG9yIGFsdGVybmF0aXZlbHkgNG5zIHJlc29sdXRpb24gd2l0aCAxNg0KPiA+ID4gc2Vj b25kIHdyYXBhcm91bmQsIG9yIGV2ZW4gbWljcm9zZWNvbmQgcmVzb2x1dGlvbiB3aXRoIHdyYXAg YXJvdW5kDQo+IG9mIG92ZXIgYW4gaG91ci4NCj4gPiA+IFRoZSBjb3N0IGlzIG9idmlvdXNseSBq dXN0IGEgc2hpZnQgb3AgaW4gdGhlIGRyaXZlciBjb2RlIHBlciBwYWNrZXQNCj4gPiA+IC0gaG9w ZWZ1bGx5IHdpdGggbXVsdGlwbGUgcGFja2V0cyBkb25lIGF0IGEgdGltZSB1c2luZyB2ZWN0b3IN Cj4gb3BlcmF0aW9ucy4NCj4gPg0KPiA+DQo+ID4gQWJvdXQgdGhlIHRpbWVzdGFtcCwgd2UgY2Fu IG1hbmFnZSB0byBmaW5kIDY0IGJpdHMgaW4gdGhlIGZpcnN0IGNhY2hlDQo+ID4gbGluZSwgd2l0 aG91dCBzYWNyaWZ5aW5nIGFueSBmaWVsZCB3ZSBoYXZlIHRvZGF5Lg0KPiANCj4gV2UgY2FuIEkg c3VwcG9zZSwgYnV0IGFnYWluIHdoYXQgZm9yIGFuZCB3aG8gd2lsbCBmaWxsIGl0Pw0KPiBJZiBQ TUQsIHRoZW4gd2hlcmUgaXQgd2lsbCBnZXQgdGhpcyBpbmZvcm1hdGlvbj8NCj4gSWYgaXQgaXMg ZnJvbSBydGVfcmR0c2MoKSBvciBjbG9jaygpLCB0aGVuIHdoeSB1cHBlciBsYXllciBjYW4ndCBk byBpdA0KPiBpdHNlbGY/DQo+IEtvbnN0YW50aW4NCj4gDQo+ID5UaGUgcXVlc3Rpb24gaXMgbW9y ZQ0KPiA+IGZvciB0aGUgZmllbGRzIHdlIG1heSB3YW50IHRvIGFkZCBsYXRlci4NCj4gPg0KPiA+ IFRvIGFuc3dlciB0byB0aGUgcXVlc3Rpb24gb2YgdGhlIHNpemUgb2YgdGhlIHRpbWVzdGFtcCwg dGhlIGZpcnN0DQo+ID4gcXVlc3Rpb24gaXMgdG8ga25vdyB3aGF0IGlzIHRoZSBwcmVjaXNpb24g cmVxdWlyZWQgZm9yIHRoZQ0KPiA+IGFwcGxpY2F0aW9ucyB1c2luZyBpdD8NCj4gPg0KPiA+IEkg ZG9uJ3QgcXVpdGUgbGlrZSB0aGUgaWRlYSBvZiBzcGxpdHRpbmcgdGhlIHRpbWVzdGFtcCBpbiB0 aGUgMiBjYWNoZQ0KPiA+IGxpbmVzLCBJIHRoaW5rIGl0IHdvdWxkIG5vdCBiZSBlYXN5IHRvIHVz ZS4NCj4gPg0KPiA+DQo+ID4gT2xpdmllcg0K