From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail.windriver.com (mail.windriver.com [147.11.1.11]) by dpdk.org (Postfix) with ESMTP id CCFB22A9 for ; Tue, 4 Nov 2014 15:35:23 +0100 (CET) Received: from ALA-HCA.corp.ad.wrs.com (ala-hca.corp.ad.wrs.com [147.11.189.40]) by mail.windriver.com (8.14.9/8.14.5) with ESMTP id sA4EidB6000939 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 4 Nov 2014 06:44:41 -0800 (PST) Received: from ALA-MBB.corp.ad.wrs.com ([169.254.1.158]) by ALA-HCA.corp.ad.wrs.com ([147.11.189.40]) with mapi id 14.03.0174.001; Tue, 4 Nov 2014 06:44:39 -0800 From: "Wiles, Roger Keith" To: Neil Horman Thread-Topic: [dpdk-dev] [PATCH] Add external parser support for unknown commands. Thread-Index: AQHP9uxdDSP7jrkqd0+Hu6BUZuES8JxPPbcAgAA56ICAAAJMAIAAAnoAgAAb/wCAAAxagIAAbs4AgAAEYQCAAFaxgIAAblcAgAA3BQA= Date: Tue, 4 Nov 2014 14:44:39 +0000 Message-ID: <6F5C8CE3-5882-4222-BF8F-B8A29A3EB1BD@windriver.com> References: <1414967308-69530-1-git-send-email-keith.wiles@windriver.com> <20141103104129.GA4840@bricha3-MOBL3> <307F2C60-7638-40C8-A9BC-DC3EE3D59F8C@windriver.com> <20141103141658.GA6964@bricha3-MOBL3> <7D39110F-D305-4C48-8BD6-37F6DCD2E434@windriver.com> <20141103160602.GA6625@localhost.localdomain> <6F166021-567F-4B30-8EAE-EDB68A86C6CC@windriver.com> <20141103152650.262e4da3@urahara> <20141103234230.GA2660@localhost.localdomain> <35090085-66D7-4F23-9867-A0DCC09E7DDD@windriver.com> <20141104112742.GB9995@hmsreliant.think-freely.org> In-Reply-To: <20141104112742.GB9995@hmsreliant.think-freely.org> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [172.25.40.162] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 Cc: "dev@dpdk.org" Subject: Re: [dpdk-dev] [PATCH] Add external parser support for unknown commands. 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, 04 Nov 2014 14:35:24 -0000 DQo+IE9uIE5vdiA0LCAyMDE0LCBhdCA1OjI3IEFNLCBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhk cml2ZXIuY29tPiB3cm90ZToNCj4gDQo+IE9uIFR1ZSwgTm92IDA0LCAyMDE0IGF0IDA0OjUyOjQ4 QU0gKzAwMDAsIFdpbGVzLCBSb2dlciBLZWl0aCB3cm90ZToNCj4+IA0KPj4+IE9uIE5vdiAzLCAy MDE0LCBhdCA1OjQyIFBNLCBOZWlsIEhvcm1hbiA8bmhvcm1hbkB0dXhkcml2ZXIuY29tPiB3cm90 ZToNCj4+PiANCj4+PiBPbiBNb24sIE5vdiAwMywgMjAxNCBhdCAwMzoyNjo1MFBNIC0wODAwLCBT dGVwaGVuIEhlbW1pbmdlciB3cm90ZToNCj4+Pj4gT24gTW9uLCAzIE5vdiAyMDE0IDE2OjUwOjE1 ICswMDAwDQo+Pj4+ICJXaWxlcywgUm9nZXIgS2VpdGgiIDxrZWl0aC53aWxlc0B3aW5kcml2ZXIu Y29tPiB3cm90ZToNCj4+Pj4gDQo+Pj4+PiANCj4+Pj4+PiBPbiBOb3YgMywgMjAxNCwgYXQgMTA6 MDYgQU0sIE5laWwgSG9ybWFuIDxuaG9ybWFuQHR1eGRyaXZlci5jb20+IHdyb3RlOg0KPj4+Pj4+ IA0KPj4+Pj4+IE9uIE1vbiwgTm92IDAzLCAyMDE0IGF0IDAyOjI1OjUxUE0gKzAwMDAsIFdpbGVz LCBSb2dlciBLZWl0aCB3cm90ZToNCj4+Pj4+Pj4gDQo+Pj4+Pj4+PiBPbiBOb3YgMywgMjAxNCwg YXQgODoxNiBBTSwgQnJ1Y2UgUmljaGFyZHNvbiA8YnJ1Y2UucmljaGFyZHNvbkBpbnRlbC5jb20+ IHdyb3RlOg0KPj4+Pj4+Pj4gDQo+Pj4+Pj4+PiBPbiBNb24sIE5vdiAwMywgMjAxNCBhdCAwMjow ODo0NlBNICswMDAwLCBXaWxlcywgUm9nZXIgS2VpdGggd3JvdGU6DQo+Pj4+Pj4+Pj4gDQo+Pj4+ Pj4+Pj4+IE9uIE5vdiAzLCAyMDE0LCBhdCA0OjQxIEFNLCBCcnVjZSBSaWNoYXJkc29uIDxicnVj ZS5yaWNoYXJkc29uQGludGVsLmNvbT4gd3JvdGU6DQo+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+PiBP biBTdW4sIE5vdiAwMiwgMjAxNCBhdCAwNDoyODoyOFBNIC0wNjAwLCBLZWl0aCBXaWxlcyB3cm90 ZToNCj4+Pj4+Pj4+Pj4+IEFsbG93IGZvciBhIGV4dGVybmFsIHBhcnNlciB0byBoYW5kbGUgdGhl IGNvbW1hbmQgbGluZSBpZiB0aGUNCj4+Pj4+Pj4+Pj4+IGNvbW1hbmQgaXMgbm90IGZvdW5kIGFu ZCB0aGUgZGV2ZWxvcGVyIGhhcyBjYWxsZWQgdGhlIHJvdXRpbmUNCj4+Pj4+Pj4+Pj4+IGludCBj bWRsaW5lX3NldF9leHRlcm5hbF9wYXJzZXIoc3RydWN0IGNtZGxpbmUgKiBjbCwNCj4+Pj4+Pj4+ Pj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNtZGxpbmVfZXh0ZXJuYWxfcGFyc2VyX3Qg cGFyc2VyKTsNCj4+Pj4+Pj4+Pj4+IGZ1bmN0aW9uIHRvIHNldCB0aGUgZnVuY3Rpb24gcG9pbnRl ci4NCj4+Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+Pj4gVGhlIGZ1bmN0aW9uIGZvciB0aGUgZXh0ZXJu YWwgcGFyc2VyIGZ1bmN0aW9uIHNob3VsZCByZXR1cm4gQ01ETElORV9QQVJTRV9OT01BVENIDQo+ Pj4+Pj4+Pj4+PiBpZiBub3QgYWJsZSB0byBtYXRjaCB0aGUgY29tbWFuZCByZXF1ZXN0ZWQgb3Ig emVybyBpcyBoYW5kbGVkLg0KPj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+PiBQcm90b3R5cGUgb2Yg ZXh0ZXJuYWwgcm91dGluZToNCj4+Pj4+Pj4+Pj4+IGludCAoKmNtZGxpbmVfZXh0ZXJuYWxfcGFy c2VyX3QpKHN0cnVjdCBjbWRsaW5lICogY2wsIGNvbnN0IGNoYXIgKiBidXkpOw0KPj4+Pj4+Pj4+ Pj4gDQo+Pj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBLZWl0aCBXaWxlcyA8a2VpdGgud2lsZXNA d2luZHJpdmVyLmNvbT4NCj4+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4+IEhpIEtlaXRoLA0KPj4+Pj4+ Pj4+PiANCj4+Pj4+Pj4+Pj4gd2hhdCBpcyB0aGUgZXhwZWN0ZWQgdXNlIGNhc2UgZm9yIHRoaXM/ IElzIGl0IGZvciBlbWJlZGRpbmcgb3RoZXIgcHJvZ3JhbW1pbmcgbGFuZ3VhZ2VzIGFsb25nc2lk ZSB0aGUgZXhpc3RpbmcgRFBESyBjb21tYW5kLWxpbmUgb3Igc29tZSBvdGhlciBwdXJwb3NlPyBb UGVyaGFwcyB0aGUgdXNlIGNhc2UgY291bGQgYmUgY2FsbGVkIG91dCBpbiB0aGUgcGF0Y2ggZGVz Y3JpcHRpb25dDQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gSGkgQnJ1Y2UsDQo+Pj4+Pj4+Pj4gDQo+ Pj4+Pj4+Pj4gSSBndWVzcyB0aGUgZXh0ZXJuYWwgcGFyc2VyIGNvdWxkIGJlIHVzZWQgZm9yIG90 aGVyIHByb2dyYW1taW5nIGxhbmd1YWdlcywgYnV0IHRoZSBjYXNlIEkgd2FzIGxvb2tpbmcgYXQg d2FzIHRvIHByb3ZpZGUgYSBkZWZhdWx0IGVzY2FwZSBmcm9tIHRoZSBjb21tYW5kIGxpbmUgcGFy c2VyIHRvIGFsbG93IG15IGFwcGxpY2F0aW9uIHRvIGhhbmRsZSB0aGUgY29tbWFuZHMgbm90IHVu ZGVyc3Rvb2QgYnkgdGhlIHBhcnNlci4gTm93IHRoYXQgeW91IHBvaW50IGl0IG91dCBJIGNvdWxk IHVzZSBzb21ldGhpbmcgbGlrZSDigJglPGxpbmUtb2Ytc2NyaXB0LWNvZGU+4oCZIHRvIGV4ZWN1 dGUgYSBzaW5nbGUgbGluZSBvZiBzY3JpcHQgY29kZSwgd2hpY2ggaXMgYSBnb29kIGlkZWEgKHRo YW5rcykuDQo+Pj4+Pj4+Pj4gDQo+Pj4+Pj4+Pj4gT25lIGNhc2UgSSBhbSBsb29raW5nIGF0IGlz IHdoZW4geW91IHdhbnQgdG8gZXhlY3V0ZSBhIGNvbW1hbmQgYW5kIGRvIG5vdCB3YW50IHRvIGFk ZCB0aGUgc3VwcG9ydCBpbnRvIHRoZSBjb21tYW5kcy5jIGZpbGUgZm9yIGV2ZXJ5IHBvc3NpYmxl IGNvbW1hbmQuIFRha2UgdGhlIGNhc2Ugd2hlcmUgeW91IGhhdmUgYSBidW5jaCBvZiBzY3JpcHRz IChMdWEpIGluIGEgZGlyZWN0b3J5IG11Y2ggbGlrZSBhIGJpbiBkaXJlY3RvcnkuIFRoZW4geW91 IGNvdWxkIHR5cGUgZm9vLmx1YSBvciBmb28gb24gdGhlIGNvbW1hbmQgbGluZSBhbmQgZXhlY3V0 ZSB0aGUgZm9vLmx1YSBoYXZpbmcgdGhlIGFwcGxpY2F0aW9uIGRldGVjdCB5b3Ugd2FudCB0byBs b2FkIGFuZCBydW4gYSBMdWEgc2NyaXB0IGFmdGVyIGl0IGhhcyBmaW5pc2hlZCBwYXJzaW5nIGZv ciB0aGUgYnVpbHRpbiBjb21tYW5kcy4NCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+PiBGb3IgUGt0Z2Vu IEkgaGFkIHRvIGFkZCBhIGNvbW1hbmQgY2FsbGVkIOKAmHJ1biA8ZmlsZW5hbWU+IDxhcmdz4oCm PuKAmSB0byBzdXBwb3J0IHJ1bm5pbmcgYSBzY3JpcHQgd2l0aCBhcmd1bWVudHMuIEkgYWxzbyBu ZWVkZWQgdG8gYWRkIGEgYXJndmxpc3QgdHlwZSB0byBjbWRsaW5lIHRvIG5vdCBlcnJvciBvdXQg b24gdGhhdCBjb21tYW5kIGFuZCBzcGxpdCB1cCB0aGUgYXJncyBpbnRvIGEgYXJndiBsaXN0IGxp a2UgZm9ybWF0LiAoTWF5YmUgSSBuZWVkIHRvIHN1Ym1pdCB0aGF0IGNvZGU/PykgSXQgc2VlbWVk IG1vcmUgc3RyYWlnaHQgZm9yd2FyZCB0byBqdXN0IHBhc3MgdGhlIGNvbW1hbmQgbGluZSB0byB0 aGUgYXBwbGljYXRpb24gdG8gcnVuIHRoZSBjb21tYW5kLiBJIHVuZGVyc3RhbmQgdGhhdCBzZWVt cyBsaWtlIGEgbWlub3IgcG9pbnQsIGJ1dCBpdCBkb2VzIG1ha2UgaXQgZWFzaWVyIHRvIHVzZSBh bmQgdG8gc3VwcG9ydCB0aGUgZmVhdHVyZXMgSSB3YW50IHRvIHN1cHBvcnQgaW4gbXkgUG9DLg0K Pj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4+IFVzaW5nIHRoaXMgbWV0aG9kIHlvdSBjYW4ganVzdCB0eXBl IHRoZSBuYW1lIGluc3RlYWQgb2Ygc29tZXRoaW5nIGxpa2Ug4oCYcnVuIGZvby5sdWHigJkgb3Ig anVzdCDigJhydW4gZm9v4oCZIGFuZCBsZXQgdGhlIGNvZGUgZmlndXJlIG91dCB3aGF0IHRvIHJ1 bi4gSSBoYXZlIG1vcmUgcGxhbnMgZm9yIHRoaXMgZmVhdHVyZXMgYXMgd2VsbCBhbmQgaGF2ZSBu b3QgZmluaXNoZWQgdGhlIGJhc2ljIFBvQyB5ZXQuIElmIHlvdSB3YW50IGEgcGVlayBJIGNhbiBz aG93IHlvdSB3aGF0IEkgYW0gd29ya2luZyBvbiBjdXJyZW50bHkuDQo+Pj4+Pj4+Pj4gDQo+Pj4+ Pj4+Pj4gRG9lcyB0aGlzIGhlbHAgYW5kIGRvIEkgcmVhbGx5IG5lZWQgdG8gYWRkIGFsbCBvZiB0 aGlzIHRvIHRoZSBjb21taXQgbWVzc2FnZSA6LSkNCj4+Pj4+Pj4+PiANCj4+Pj4+Pj4+IFRoYW5r cyBmb3IgdGhlIGV4cGxhbmF0aW9uLiBIb3dldmVyLCBpZiB5b3UgYXJlIGxvb2tpbmcgdG8gaGF2 ZSB0aGUgYXBwbGljYXRpb24gaGFuZGxlIGEgYnVuY2ggb2YgY29tbWFuZHMgaXRzZWxmLCB3aHkg ZG9lcyBpdCBuZWVkIHRvIHVzZSB0aGUgY29tbWFuZGxpbmUgbGlicmFyeSBhdCBhbGw/IFdoeSBu b3QganVzdCBoYXZlIHRoZSBhcHAgaGFuZGxlIGFsbCB0aGUgY29tbWFuZHMgaW5zdGVhZCBvZiBz b21lIG9mIHRoZW0/DQo+Pj4+Pj4+IA0KPj4+Pj4+PiBJIGd1ZXNzIHRoYXQgd291bGQgYmUgcmVh c29uYWJsZSwgYnV0IHRoZW4gSSB3b3VsZCBoYXZlIHRvIGFkZCBzdXBwb3J0IGZvciBhbGwgb2Yg dGhlIGNvbW1hbmQgbGluZSBwYXJzaW5nIGJlaW5nIGRvbmUgaW4gdGhlIGNtZGxpbmUgY29kZS4g VGhpbmsgb2YgdGhpcyBhcyBhIGRlZmF1bHQgY2FzZSBmb3IgdGhlIHBhcnNlciBhbmQgdG8gbWUg dGhhdCBtYWtlcyBtb3JlIHNlbnNlIHRoZW4ganVzdCBkb2luZyBteSBvd24gY29tbWFuZCBsaW5l IGRlc2lnbi4gSW4gdGhlIGNtZGxpbmUgY29kZSB5b3UgZ3V5cyBwcm92aWRlZCBpcyBhIGxvdCBv ZiBmZWF0dXJlcyBsaWtlIGhpc3RvcnksIGNvbnRyb2wga2V5IHN1cHBvcnQsIGFyZyBwYXJzaW5n IChJUCwgTUFDKSBhbmQgbWFueSBvdGhlcnMuIEkgd291bGQgcmF0aGVyIG5vdCBoYXZlIHRvIHdy aXRlIHRoYXQgY29kZSBteXNlbGYuDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBUaGUgZGVmYXVsdCBjYXNl IGlzIHRoZSBzYW1lIGJlaGF2aW9yIHRvZGF5LCB3aXRoIGdpdmluZyBhIG5vIG1hdGNoIGVycm9y IHVubGVzcyB0aGV5IGFkZCB0aGUgZXh0ZXJuYWwgcGFyc2VyLg0KPj4+Pj4+IA0KPj4+Pj4+IEl0 IHNlZW1zIGFsb3Qgc2ltcGxlciB0aGFuIHRoYXQgdG8gbWUuICBMb29raW5nIGF0IHRoZSB0ZXN0 IGFwcGxpY2F0aW9ucywgdGhlDQo+Pj4+Pj4gY29tbWFuZCBsaW5lIHBhcnNlciBleHBlY3RzIHRo ZSBhcHBsaWNhdGlvbiB0byBjcmVhdGUgYW4gYXJyYXkgb2YNCj4+Pj4+PiBjbWRsaW5lX3BhcnNl X2N0eF90IHN0cnVjdHVyZXMgdG8gc3VwcG9ydCBuZXcgb3B0aW9uIHBhcnNpbmcuICBJZiB5b3Vy IGdvYWwgaXMNCj4+Pj4+PiB0byBzdXBwb3J0IG90aGVyIGxhbmd1YWdlcywgaXQgc2VlbXMgdG8g bWFrZSBtb3JlIHNlbnNlIHRvIGp1c3QgdXNlIGZvcmVpZ24NCj4+Pj4+PiBsYW5ndWFnZSBiaW5k aW5ncyB0byBtZXJnZSB5b3VyIGNvZGluZyBsYW5ndWFnZSBzdXBwb3J0IHdpdGggdGhlIERQREsN Cj4+Pj4+PiAob3N0ZW5zaWJseSB5b3Ugd2lsbCBhbHJlYWR5IGhhdmUgdG8gZG8gdGhhdCBpZiB5 b3Ugd2FudCB0byB1c2Ugb3RoZXIgcGFydHMgb2YNCj4+Pj4+PiB0aGUgRFBESykuDQo+Pj4+PiBI aSBOZWlsLA0KPj4+Pj4gDQo+Pj4+PiBBIHRydWUgbGFuZ3VhZ2UgYmluZGluZyBsaWtlIEx1YSBv ciBvbmUgb2YgdGhvc2Ugb3RoZXIgbGFuZ3VhZ2VzIDotKSB5b3UgYXJlIGNvcnJlY3QgdG8gYmVs aWV2ZSBiaW5kaW5nIGRpcmVjdGx5IHVzaW5nIOKAmEPigJkgY29kZSBpcyB0aGUgcmlnaHQgc29s dXRpb24gLiBJbiBQa3RnZW4gSSB1c2UgTHVhIGFzIHRoZSBkaXJlY3QgbGFuZ3VhZ2UgYmluZGlu ZyBhbmQgZXh0ZW5kIEx1YSB3aXRoIHNwZWNpZmljIFBrdGdlbiBmdW5jdGlvbnMuDQo+Pj4+PiAN Cj4+Pj4+IFdoYXQgSSBhbSBkb2luZyBoZXJlIGlzIHRvIGFkZCBhIGRlZmF1bHQgY2FzZSB0byBj bWRsaW5lIGNvZGUsIHdoaWNoIGp1c3QgaGFwcGVucyB0byBhbGxvdyBtZSB0byBwYXJzZSB0aGUg Y21kbGluZSBpbiB0aGUgYXBwbGljYXRpb24uIEJlaW5nIGFibGUgdG8gZXhlY3V0ZSBzYXkgYSBs aW5lIG9mIHNjcmlwdCBjb2RlIGlzIG5vdCByZWFsbHkgdGhlIHJlcXVpcmVtZW50IElNTy4gQmVp bmcgYWJsZSB0byBleHRlbmQgdGhlIGNtZGxpbmUgY29kZSB3aXRoIGEgZGVmYXVsdCBjYXNlIGlz IGEgZ29vZCBmZWF0dXJlIGFuZCBhbGxvd3MgdGhlIGRldmVsb3BlciB0byBleHRlbmQgY21kbGlu ZSBmb3Igc29tZSBzaW1wbGUgY2FzZXMuIFRoZSBjbWRsaW5lIGNvZGUgaXMga2luZCBvZiBzaW1w bGUsIGJ1dCBkb2VzIHJlcXVpcmUgYSBmYWlyIGFtb3VudCBvZiBzdHJ1Y3R1cmVzLCBjb2RlIGFu ZCB1bmRlcnN0YW5kaW5nIHRvIHdyaXRlIGEgY29tcGxleCBleHRlbmRhYmxlIGNvbW1hbmQgbGlu ZSBpbnRlcmZhY2UuIEl0IGRvZXMgc2VlbSBoYXJkIHRvIGZpbmQgYSBjbGVhbiwgc2ltcGxlIGFu ZCB1c2FibGUgZW1iZWRkZWQgY29tbWFuZCBsaW5lIGNvZGUgYmFzZSBpcyBub3QgdmVyeSBlYXN5 IHRvIGxvY2F0ZS4gDQo+Pj4+PiANCj4+Pj4+IEFkZGluZyBhIHRydWUgbGFuZ3VhZ2UgYmluZGlu ZyByZWFsbHkgcmVxdWlyZXMgdXNpbmcgY29kZSB0byBleHRlbmQgdGhlIGxhbmd1YWdlIGFzIEkg ZGlkIHdpdGggTHVhIGFuZCBQa3RnZW4uIEl0IGNvdWxkIGhhdmUgYmVlbiBkb25lIHdpdGggYW55 IGxhbmd1YWdlIEkganVzdCBwaWNrZWQgTHVhLCBidXQgdGhlIHBhdGNoIGRvZXMgbm90IHJlYWxs eSBhZGQgc3VwcG9ydCBmb3IgYSBsYW5ndWFnZSBvdGhlciB0aGVuIGdpdmluZyBzb21lIHN1cHBv cnQgZm9yIHNvbWVvbmUgdG8gaGFuZGxlIHRoZSBub19tYXRjaCBjYXNlLg0KPj4+Pj4gDQo+Pj4+ PiBUaGUgdXNlIGNhc2UgZm9yIHRoaXMgZmVhdHVyZSBpcyBub3QganVzdCBmb3IgUGt0Z2VuLCBi dXQgYW5vdGhlciBzb2x1dGlvbiBJIGhvcGUgZXZlcnlvbmUgd2lsbCBmaW5kIHVzZWZ1bCB3aGVu IEkgZ2V0IGl0IG1vcmUgY29tcGxldGUuDQo+Pj4+PiANCj4+Pj4+IFRoYW5rcw0KPj4+Pj4gKytL ZWl0aA0KPj4+Pj4gDQo+Pj4+PiBQUy4gb24gYSBkaWZmZXJlbnQgdG9waWMgSSB3YXMgdGhpbmtp bmcgYWJvdXQgc3VnZ2VzdGluZyBhbmQgd3JpdGluZyBhIHBhdGNoIHRvIGFkZCBMdWEgd2l0aCBE UERLIHNwZWNpZmljIGJpbmRpbmcgYW5kIGV4dGVuc2lvbnMuIChhbHNvIGFsbG93aW5nIHRob3Nl IGBvdGhlcmAgbGFuZ3VhZ2VzIHRvbyA6LSkgQmVpbmcgYWJsZSB0byB1c2UgYSBzY3JpcHRpbmcg bGFuZ3VhZ2UgYW5kIGJlIGFibGUgdG8gY2FsbCBEUERLIEFQSeKAmXMgY291bGQgYmUgdXNlZnVs LiBIb3cgdXNlZnVsIG5vdCBzdXJlIGF0IHRoaXMgdGltZS4gKElmIHlvdSB3YW50IHRvIHRhbGsg YWJvdXQgdGhpcyB0b3BpYyBwbGVhc2Ugc3RhcnQgYSBuZXcgdGhyZWFkKS4NCj4+Pj4+PiANCj4+ Pj4+PiBBbSBJIG1pc3Npbmcgc29tZXRoaW5nPw0KPj4+Pj4+IE5laWwNCj4+Pj4+PiANCj4+Pj4+ PiANCj4+Pj4+Pj4+IA0KPj4+Pj4+Pj4gL0JydWNlDQo+Pj4+Pj4+IA0KPj4+Pj4+PiBLZWl0aCBX aWxlcywgUHJpbmNpcGFsIFRlY2hub2xvZ2lzdCB3aXRoIENUTyBvZmZpY2UsIFdpbmQgUml2ZXIg bW9iaWxlIDk3Mi0yMTMtNTUzMw0KPj4+Pj4gDQo+Pj4+PiBLZWl0aCBXaWxlcywgUHJpbmNpcGFs IFRlY2hub2xvZ2lzdCB3aXRoIENUTyBvZmZpY2UsIFdpbmQgUml2ZXIgbW9iaWxlIDk3Mi0yMTMt NTUzMw0KPj4+PiANCj4+Pj4gSSB3b3VsZG4ndCBpbnZlc3QgYSBsb3Qgb2Ygc3dlYXQgaW4gdGhl IGNvbW1hbmQgbGluZSBwYXJzZXIuDQo+Pj4+IFRoZSBvbmUgaW4gdGhlIERQREsgaXMgImdvb2Qg ZW5vdWdoIiBmb3Igd2hhdCBpdCBuZWVkcyB0byBkbywgYnV0IHJlYWxseSBpc24ndA0KPj4+PiB2 ZXJ5IGNvbXBsZXRlIGFuZCBmbGV4aWJsZS4gU2VlbXMgbGlrZSB0aGUga2luZCBvZiB0aGluZyB0 aGF0IGRvZXNuJ3QgcmVhbGx5IGV2ZW4NCj4+Pj4gbmVlZCB0byBiZSBpbiBEUERLLiBCZXR0ZXIg b2ZmIGJlaW5nIHBhcnQgb2Ygc29tZSBvdGhlciBsaWJyYXJ5Lg0KPj4+PiANCj4+PiBXZWxsLCBz b21ldGhpbmcgbmVlZHMgdG8gYmUgdGhlcmUgdG8gcGFyc2UgdGhlIGxpYnJhcmllcycgY29tbW9u IG9wdGlvbnMsIHRob3VnaA0KPj4+IEkgYWdyZWUsIG1ha2luZyBlYWxfY21kbGluZSBqdXN0IGEg cmVnaXN0cmF0aW9uIGZyb250ZW5kIHRvIGdldG9wdCBvcg0KPj4+IGdldG9wdF9sb25nIHdvdWxk IGJlIHN1ZmZpY2llbnQuDQo+PiANCj4+IFVudGlsIHdlIGhhdmUgYSBiZXR0ZXIgY29tbWFuZCBs aW5lIHNvbHV0aW9uLCB3aGljaCBJIHRoaW5rIHdvdWxkIGJlIGdyZWF0LCBidXQgaW4gdGhlIG1l YW4gdGltZSBJIHdvdWxkIGxpa2UgdG8gc2VlIHRoaXMgcGF0Y2ggYXBwbGllZCBpZiBubyBvbmUg aGFzIGEgdGVjaG5pY2FsIHJlYXNvbiBvciBiZXR0ZXIgc3VnZ2VzdGlvbi4NCj4+IA0KPj4gSSB0 aGluayB0aGlzIHBhdGNoIGlzIGZhaXJseSBzaW1wbGUgYW5kIEkgdGhpbmsgd2UgbmVlZCBhIHdh eSB0byBoYW5kbGUgdGhlIGRlZmF1bHQgY2FzZS4gSWYgc29tZW9uZSBjb3VsZCBwbGVhc2UgcmV2 aWV3IHRoZSBwYXRjaCwgdGhhdCB3b3VsZCBiZSBncmVhdC4NCj4+IA0KPiBJIGhhdmUgYW4gb2Jq ZWN0aW9uLCBzcGVjaWZpY2FsbHksIHRoYXQgaXRzIG5vdCBuZWNlc3NlY2FyeS4gIFlvdSBjYW4g YWxyZWFkeQ0KPiBhY2NvbXBsaXNoIHdoYXQgeW91IHdhbnQgdG8gZG8gYnkgYWRkaW5nIHN0cnVj dHVyZXMgdG8gdGhlIGNvbnRleHQgYXJyYXkgaW4gdGhlDQo+IGNtZGxpbmUgc3RydWN0dXJlLiAg SSByZWFsaXplIGl0cyBub3QgYXMgZWFzeSBhcyBqdXN0IGFkZGluZyBhbiBleHRlcm5hbCBwYXJz ZXINCj4gZnVuY3Rpb24sIGJ1dCBpdHMgdGhlIGRlc2lnbmVkIHdheSB0byBhZGQgb3B0aW9ucy4g IFRoaXMgZG9lcyBsaXR0bGUgbW9yZSB0aGFuDQo+IGFkZCBhZGRpdGlvbiBBUEkgc3VyZmFjZSB3 aXRob3V0IGFueSByZWFsIG5lZWQuDQo+IE5laWwNCg0KTmVpbA0KDQpJIGRvIG5vdCBhZ3JlZSB3 aXRoIHlvdXIgY29tbWVudHMgYXMgSSBzZWUgaXQgdG8gYmUgYSBzbWFsbCBleHRlbnNpb24gdG8g Y21kbGluZSB0byBoYW5kbGUgdGhlIGNhc2Ugd2hlcmUgSSB3aWxsIGhhdmUgdG8gcG9zc2libHkg YWRkIGEgaHVnZSBudW1iZXIgb2YgY29tbWFuZHMvY29kZSB0byB0aGUgY21kbGluZSBzdHJ1Y3R1 cmVzLiBVc2luZyB0aGlzIG1ldGhvZCBJIGFtIGFibGUgdG8gYWRkIHRoZXNlIHZlcnkgc2ltcGxl IGNvbW1hbmRzIHdpdGhvdXQgaGF2aW5nIHRvIGFkZCBtb3JlIGNvZGUgZm9yIHRoaXMgdXNlIGNh c2UuDQoNCkxldHMgc2F5IHlvdSBoYXZlIGEgZGlyZWN0b3J5IG9uIHRoZSBkaXNrIHRoYXQgaGFz IHBvc3NpYmx5IGEgMTAwIGxpdHRsZSBjb21tYW5kcywgd2l0aG91dCB0aGlzIG1pbm9yIGNoYW5n ZSBJIHdvdWxkIGhhdmUgdG8gd3JpdGUgMTAwIGxpdHRsZSBzdHJ1Y3R1cmVzL2NvZGUgZm9yIGNt ZGxpbmUgdG8gaGFuZGxlIGVhY2ggY2FzZS4gQW5vdGhlciBvcHRpb24gaXMgdG8gd3JpdGUgYSBz aW5nbGUgY29tbWFuZCB0byBoYW5kbGUgdGhlc2UgY29tbWFuZHMuIEkgdXNlZCB0aGlzIG1ldGhv ZCBpbiBQa3RnZW4gYW5kIGNvdWxkIGRvIOKAmHJ1biBmb28gPGFyZ3M+4oCZIHN0eWxlIGNvbW1h bmRzLCBidXQgaXQgd291bGQgYmUgbXVjaCBzaW1wbGVyIGZvciB0aGUgdXNlciB0byBqdXN0IHR5 cGUg4oCYZm9vIDxhcmdzPuKAmSBpbnN0ZWFkLg0KDQpIYXZpbmcgYSBkZWZhdWx0IGhhbmRsZXIg Zm9yIGNvbW1hbmRzIGp1c3QgbWFrZXMgYSBsb3Qgb2Ygc2Vuc2UgdG8gbWUgYW5kIEkgZG8gbm90 IGJ1eSB0aGUgJ2FkZGVkIEFQSSBzdXJmYWNlIHdpdGhvdXQgYW55IHJlYWwgbmVlZCcgc3RhdGVt ZW50Lg0KDQpUaGFua3MNCisrS2VpdGgNCj4gDQo+IA0KPj4gKytLZWl0aCANCj4+IA0KPj4+IA0K Pj4+IE5laWwNCj4+PiANCj4+IA0KPj4gS2VpdGggV2lsZXMsIFByaW5jaXBhbCBUZWNobm9sb2dp c3Qgd2l0aCBDVE8gb2ZmaWNlLCBXaW5kIFJpdmVyIG1vYmlsZSA5NzItMjEzLTU1MzMNCg0KS2Vp dGggV2lsZXMsIFByaW5jaXBhbCBUZWNobm9sb2dpc3Qgd2l0aCBDVE8gb2ZmaWNlLCBXaW5kIFJp dmVyIG1vYmlsZSA5NzItMjEzLTU1MzMNCg0K