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 C0FDDA2EEB for ; Tue, 10 Sep 2019 17:37:11 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id 952CA1EF79; Tue, 10 Sep 2019 17:37:11 +0200 (CEST) Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by dpdk.org (Postfix) with ESMTP id 5A3051EF73 for ; Tue, 10 Sep 2019 17:37:09 +0200 (CEST) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga001.jf.intel.com ([10.7.209.18]) by fmsmga104.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 10 Sep 2019 08:37:08 -0700 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.64,489,1559545200"; d="scan'208";a="268445974" Received: from fmsmsx103.amr.corp.intel.com ([10.18.124.201]) by orsmga001.jf.intel.com with ESMTP; 10 Sep 2019 08:37:08 -0700 Received: from fmsmsx112.amr.corp.intel.com (10.18.116.6) by FMSMSX103.amr.corp.intel.com (10.18.124.201) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 10 Sep 2019 08:37:07 -0700 Received: from shsmsx154.ccr.corp.intel.com (10.239.6.54) by FMSMSX112.amr.corp.intel.com (10.18.116.6) with Microsoft SMTP Server (TLS) id 14.3.439.0; Tue, 10 Sep 2019 08:37:07 -0700 Received: from shsmsx102.ccr.corp.intel.com ([169.254.2.113]) by SHSMSX154.ccr.corp.intel.com ([169.254.7.195]) with mapi id 14.03.0439.000; Tue, 10 Sep 2019 23:37:05 +0800 From: "Wang, Haiyue" To: "Yigit, Ferruh" , "Richardson, Bruce" CC: Ray Kinsella , "dev@dpdk.org" , "Sun, Chenmin" Thread-Topic: [dpdk-dev] [RFC v2 1/3] ethdev: add the API for getting trace information Thread-Index: AQHVUYTDT/0YGy+MOU67JpkccwCfnab35B0AgACeXoCAJdFBAIABT/vQgAM1LQCAABWGAIAAAtKAgAAHf4CAAYRhMIAALGcAgACJtkD//35RAIAAhlng Date: Tue, 10 Sep 2019 15:37:04 +0000 Message-ID: References: <1565665572-65495-1-git-send-email-haiyue.wang@intel.com> <1565665572-65495-2-git-send-email-haiyue.wang@intel.com> <20190812202436.662e6ca8@hermes.lan> <75f88e4b-97ca-7e1f-1385-8e69f659be7f@intel.com> <20190909124038.GA1889@bricha3-MOBL.ger.corp.intel.com> In-Reply-To: Accept-Language: zh-CN, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-titus-metadata-40: eyJDYXRlZ29yeUxhYmVscyI6IiIsIk1ldGFkYXRhIjp7Im5zIjoiaHR0cDpcL1wvd3d3LnRpdHVzLmNvbVwvbnNcL0ludGVsMyIsImlkIjoiNGM5OWU2ZmEtNjlkNS00MjczLTgxZjgtZDViMzM3ZWZiNTZjIiwicHJvcHMiOlt7Im4iOiJDVFBDbGFzc2lmaWNhdGlvbiIsInZhbHMiOlt7InZhbHVlIjoiQ1RQX05UIn1dfV19LCJTdWJqZWN0TGFiZWxzIjpbXSwiVE1DVmVyc2lvbiI6IjE3LjEwLjE4MDQuNDkiLCJUcnVzdGVkTGFiZWxIYXNoIjoiWDR5Mk51YU1Uc1NjVmxYNmdRYTNLM3BwZHlGM3NBNTNlNTdITFNLVUhqWDRkdmczWEJLY1JlMDVNR3RaQnV2SyJ9 x-ctpclassification: CTP_NT dlp-product: dlpe-windows dlp-version: 11.2.0.6 dlp-reaction: no-action x-originating-ip: [10.239.127.40] Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 Subject: Re: [dpdk-dev] [RFC v2 1/3] ethdev: add the API for getting trace information 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" PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBZaWdpdCwgRmVycnVoDQo+IFNl bnQ6IFR1ZXNkYXksIFNlcHRlbWJlciAxMCwgMjAxOSAyMzozNQ0KPiBUbzogV2FuZywgSGFpeXVl IDxoYWl5dWUud2FuZ0BpbnRlbC5jb20+OyBSaWNoYXJkc29uLCBCcnVjZSA8YnJ1Y2UucmljaGFy ZHNvbkBpbnRlbC5jb20+DQo+IENjOiBSYXkgS2luc2VsbGEgPG1kckBhc2hyb2UuZXU+OyBkZXZA ZHBkay5vcmc7IFN1biwgQ2hlbm1pbiA8Y2hlbm1pbi5zdW5AaW50ZWwuY29tPg0KPiBTdWJqZWN0 OiBSZTogW2RwZGstZGV2XSBbUkZDIHYyIDEvM10gZXRoZGV2OiBhZGQgdGhlIEFQSSBmb3IgZ2V0 dGluZyB0cmFjZSBpbmZvcm1hdGlvbg0KPiANCj4gT24gOS8xMC8yMDE5IDQ6MjEgUE0sIFdhbmcs IEhhaXl1ZSB3cm90ZToNCj4gPj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPj4gRnJv bTogWWlnaXQsIEZlcnJ1aA0KPiA+PiBTZW50OiBUdWVzZGF5LCBTZXB0ZW1iZXIgMTAsIDIwMTkg MjM6MDcNCj4gPj4gVG86IFdhbmcsIEhhaXl1ZSA8aGFpeXVlLndhbmdAaW50ZWwuY29tPjsgUmlj aGFyZHNvbiwgQnJ1Y2UgPGJydWNlLnJpY2hhcmRzb25AaW50ZWwuY29tPg0KPiA+PiBDYzogUmF5 IEtpbnNlbGxhIDxtZHJAYXNocm9lLmV1PjsgZGV2QGRwZGsub3JnOyBTdW4sIENoZW5taW4gPGNo ZW5taW4uc3VuQGludGVsLmNvbT4NCj4gPj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1JGQyB2 MiAxLzNdIGV0aGRldjogYWRkIHRoZSBBUEkgZm9yIGdldHRpbmcgdHJhY2UgaW5mb3JtYXRpb24N Cj4gPj4NCj4gPj4gT24gOS8xMC8yMDE5IDU6MzYgQU0sIFdhbmcsIEhhaXl1ZSB3cm90ZToNCj4g Pj4+IFRoYW5rcyBGZXJydWgsIEJydWNlLg0KPiA+Pj4NCj4gPj4+PiAtLS0tLU9yaWdpbmFsIE1l c3NhZ2UtLS0tLQ0KPiA+Pj4+IEZyb206IFlpZ2l0LCBGZXJydWgNCj4gPj4+PiBTZW50OiBNb25k YXksIFNlcHRlbWJlciA5LCAyMDE5IDIxOjE4DQo+ID4+Pj4gVG86IFJpY2hhcmRzb24sIEJydWNl IDxicnVjZS5yaWNoYXJkc29uQGludGVsLmNvbT4NCj4gPj4+PiBDYzogV2FuZywgSGFpeXVlIDxo YWl5dWUud2FuZ0BpbnRlbC5jb20+OyBSYXkgS2luc2VsbGEgPG1kckBhc2hyb2UuZXU+OyBkZXZA ZHBkay5vcmc7IFN1biwNCj4gQ2hlbm1pbg0KPiA+Pj4+IDxjaGVubWluLnN1bkBpbnRlbC5jb20+ DQo+ID4+Pj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1JGQyB2MiAxLzNdIGV0aGRldjogYWRk IHRoZSBBUEkgZm9yIGdldHRpbmcgdHJhY2UgaW5mb3JtYXRpb24NCj4gPj4+Pg0KPiA+Pj4+IE9u IDkvOS8yMDE5IDE6NTAgUE0sIEZlcnJ1aCBZaWdpdCB3cm90ZToNCj4gPj4+Pj4gT24gOS85LzIw MTkgMTo0MCBQTSwgQnJ1Y2UgUmljaGFyZHNvbiB3cm90ZToNCj4gPj4+Pj4+IE9uIE1vbiwgU2Vw IDA5LCAyMDE5IGF0IDEyOjIzOjM2UE0gKzAxMDAsIEZlcnJ1aCBZaWdpdCB3cm90ZToNCj4gPj4+ Pj4+PiBPbiA5LzcvMjAxOSAzOjQyIEFNLCBXYW5nLCBIYWl5dWUgd3JvdGU6DQo+ID4+Pj4+Pj4+ PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiA+Pj4+Pj4+Pj4gRnJvbTogWWlnaXQsIEZl cnJ1aA0KPiA+Pj4+Pj4+Pj4gU2VudDogRnJpZGF5LCBTZXB0ZW1iZXIgNiwgMjAxOSAyMjoyMg0K PiA+Pj4+Pj4+Pj4gVG86IFJheSBLaW5zZWxsYSA8bWRyQGFzaHJvZS5ldT47IFdhbmcsIEhhaXl1 ZSA8aGFpeXVlLndhbmdAaW50ZWwuY29tPg0KPiA+Pj4+Pj4+Pj4gQ2M6IGRldkBkcGRrLm9yZw0K PiA+Pj4+Pj4+Pj4gU3ViamVjdDogUmU6IFtkcGRrLWRldl0gW1JGQyB2MiAxLzNdIGV0aGRldjog YWRkIHRoZSBBUEkgZm9yIGdldHRpbmcgdHJhY2UgaW5mb3JtYXRpb24NCj4gPj4+Pj4+Pj4+DQo+ ID4+Pj4+Pj4+PiBPbiA4LzEzLzIwMTkgMTo1MSBQTSwgUmF5IEtpbnNlbGxhIHdyb3RlOg0KPiA+ Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBPbiAxMy8wOC8yMDE5IDA0OjI0 LCBTdGVwaGVuIEhlbW1pbmdlciB3cm90ZToNCj4gPj4+Pj4+Pj4+Pj4gT24gVHVlLCAxMyBBdWcg MjAxOSAxMTowNjoxMCArMDgwMA0KPiA+Pj4+Pj4+Pj4+PiBIYWl5dWUgV2FuZyA8aGFpeXVlLndh bmdAaW50ZWwuY29tPiB3cm90ZToNCj4gPj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IEVuaGFu Y2UgdGhlIFBNRCB0byBzdXBwb3J0IHJldHJpZXZpbmcgdHJhY2UgaW5mb3JtYXRpb24gbGlrZQ0K PiA+Pj4+Pj4+Pj4+Pj4gUngvVHggYnVyc3Qgc2VsZWN0aW9uIGV0Yy4NCj4gPj4+Pj4+Pj4+Pj4+ DQo+ID4+Pj4+Pj4+Pj4+PiBTaWduZWQtb2ZmLWJ5OiBIYWl5dWUgV2FuZyA8aGFpeXVlLndhbmdA aW50ZWwuY29tPg0KPiA+Pj4+Pj4+Pj4+Pj4gLS0tDQo+ID4+Pj4+Pj4+Pj4+PiAgbGliL2xpYnJ0 ZV9ldGhkZXYvcnRlX2V0aGRldi5jICAgICAgfCAxOCArKysrKysrKysrKysrKysrKysNCj4gPj4+ Pj4+Pj4+Pj4+ICBsaWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmggICAgICB8ICA5ICsrKysr KysrKw0KPiA+Pj4+Pj4+Pj4+Pj4gIGxpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXZfY29yZS5o IHwgIDQgKysrKw0KPiA+Pj4+Pj4+Pj4+Pj4gIDMgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9u cygrKQ0KPiA+Pj4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+IGRpZmYgLS1naXQgYS9saWIvbGli cnRlX2V0aGRldi9ydGVfZXRoZGV2LmMgYi9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmMN Cj4gPj4+Pj4+Pj4+Pj4+IGluZGV4IDE3ZDE4M2UuLjYwOThmYWQgMTAwNjQ0DQo+ID4+Pj4+Pj4+ Pj4+PiAtLS0gYS9saWIvbGlicnRlX2V0aGRldi9ydGVfZXRoZGV2LmMNCj4gPj4+Pj4+Pj4+Pj4+ ICsrKyBiL2xpYi9saWJydGVfZXRoZGV2L3J0ZV9ldGhkZXYuYw0KPiA+Pj4+Pj4+Pj4+Pj4gQEAg LTQwODMsNiArNDA4MywyNCBAQCBydGVfZXRoX3R4X3F1ZXVlX2luZm9fZ2V0KHVpbnQxNl90IHBv cnRfaWQsIHVpbnQxNl90IHF1ZXVlX2lkLA0KPiA+Pj4+Pj4+Pj4+Pj4gIH0NCj4gPj4+Pj4+Pj4+ Pj4+DQo+ID4+Pj4+Pj4+Pj4+PiAgaW50DQo+ID4+Pj4+Pj4+Pj4+PiArcnRlX2V0aF90cmFjZV9p bmZvX2dldCh1aW50MTZfdCBwb3J0X2lkLCB1aW50MTZfdCBxdWV1ZV9pZCwNCj4gPj4+Pj4+Pj4+ Pj4+ICsJCSAgICAgICBlbnVtIHJ0ZV9ldGhfdHJhY2UgdHlwZSwgY2hhciAqYnVmLCBpbnQgc3op DQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gQmV0dGVyIHRvIHVzZSBzdHJ1Y3QgYXMgYXJndW1l bnQgaW5zdGVhZCBvZiBpbmRpdmlkdWFsIHZhcmlhYmxlcyBiZWNhdXNlIGl0IGlzDQo+ID4+Pj4+ Pj4+PiBlYXNpZXIgdG8gZXh0ZW5kIHRoZSBzdHJ1Y3QgbGF0ZXIgaWYgbmVlZGVkLg0KPiA+Pj4+ Pj4+Pj4NCj4gPj4+Pj4+Pj4+Pj4+ICt7DQo+ID4+Pj4+Pj4+Pj4+PiArCXN0cnVjdCBydGVfZXRo X2RldiAqZGV2Ow0KPiA+Pj4+Pj4+Pj4+Pj4gKw0KPiA+Pj4+Pj4+Pj4+Pj4gKwlSVEVfRVRIX1ZB TElEX1BPUlRJRF9PUl9FUlJfUkVUKHBvcnRfaWQsIC1FTk9ERVYpOw0KPiA+Pj4+Pj4+Pj4+Pj4g Kw0KPiA+Pj4+Pj4+Pj4+Pj4gKwlpZiAoYnVmID09IE5VTEwpDQo+ID4+Pj4+Pj4+Pj4+PiArCQly ZXR1cm4gLUVJTlZBTDsNCj4gPj4+Pj4+Pj4+Pj4+ICsNCj4gPj4+Pj4+Pj4+Pj4+ICsJZGV2ID0g JnJ0ZV9ldGhfZGV2aWNlc1twb3J0X2lkXTsNCj4gPj4+Pj4+Pj4+Pj4+ICsNCj4gPj4+Pj4+Pj4+ Pj4+ICsJUlRFX0ZVTkNfUFRSX09SX0VSUl9SRVQoKmRldi0+ZGV2X29wcy0+dHJhY2VfaW5mb19n ZXQsIC1FTk9UU1VQKTsNCj4gPj4+Pj4+Pj4+Pj4+ICsNCj4gPj4+Pj4+Pj4+Pj4+ICsJcmV0dXJu IGRldi0+ZGV2X29wcy0+dHJhY2VfaW5mb19nZXQoZGV2LCBxdWV1ZV9pZCwgdHlwZSwgYnVmLCBz eik7DQo+ID4+Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+Pj4+IFdoYXQgaWYgcXVldWVpZCBpcyBvdXQg b2YgYm91bmRzPw0KPiA+Pj4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4+PiBUaGUgYmlnZ2VyIHByb2Js ZW0gaXMgdGhhdCB0aGlzIGluZm9ybWF0aW9uIGlzIGxpa2UgYSBsb2cgbWVzc2FnZQ0KPiA+Pj4+ Pj4+Pj4+PiBhbmQgdW5zdHJ1Y3R1cmVkLCB3aGljaCBtYWtlcyBpdCBkZXZpY2Ugc3BlY2lmaWMg YW5kIHVzZWxlc3MgZm9yIGF1dG9tYXRpb24uDQo+ID4+Pj4+Pj4+Pj4NCj4gPj4+Pj4+Pj4+PiBJ TUhPIC0gdGhpcyBpcyBtdWNoIGJldHRlciBpbXBsZW1lbnRlZCBhcyBhIGNhcGFiaWxpdHkgYml0 ZmllbGQsIHRoYXQNCj4gPj4+Pj4+Pj4+PiBjYW4gYmUgcXVlcmllZC4NCj4gPj4+Pj4+Pj4+DQo+ ID4+Pj4+Pj4+PiArMSB0byByZXR1cm4gdGhlIGRhdGFwYXRoIGNhcGFiaWxpdHkgYXMgYml0Zmll bGQuDQo+ID4+Pj4+Pj4+Pg0KPiA+Pj4+Pj4+Pj4gQWxzbyArMSB0byBoYXZlIGEgbmV3IEFQSSwN Cj4gPj4+Pj4+Pj4+IC0gSSBhbSBub3Qgc3VyZSBhYm91dCB0aGUgQVBJIG5hbWUsICdydGVfZXRo X3RyYWNlX2luZm9fZ2V0KCknLCBjYW4gd2UgZmluZA0KPiA+Pj4+Pj4+Pj4gc29tZXRoaW5nIGJl dHRlciBpbnN0ZWFkIG9mICd0cmFjZScgdGhlcmUuDQo+ID4+Pj4+Pj4+PiAtIEkgdGhpbmsgd2Ug c2hvdWxkIGxpbWl0IHRoaXMgQVBJIG9ubHkgdG8gZ2V0IGN1cnJlbnQgZGF0YXBhdGggY29uZmln dXJhdGlvbiwNCj4gPj4+Pj4+Pj4+IGZvciBjbGFyaXR5IG9mIHRoZSBBUEkgZG9uJ3QgcmV0dXJu IGNhcGFiaWxpdHkgb3Igbm90IGRhdGFwYXRoIHJlbGF0ZWQgY29uZmlnLg0KPiA+Pj4+Pj4+Pj4N Cj4gPj4+Pj4+Pj4+IEFsc28gdGhpcyBpbmZvcm1hdGlvbiBub3QgYWx3YXlzIHN1cHBvcnRlZCBp biBxdWV1ZSBsZXZlbCwgd2hhdCBkbyB5b3UgdGhpbmsNCj4gPj4+Pj4+Pj4+IGhhdmluZyBhYmls aXR5IHRvIGdldCB0aGlzIGluZm9ybWF0aW9uIGluIHBvcnQgbGV2ZWwsDQo+ID4+Pj4+Pj4+PiBs aWtlIHRoaXMgQVBJIGNhbiByZXR1cm4gYSBzdHJ1Y3QsIHdoaWNoIG1heSBoYXZlIGEgZmllbGQg dGhhdCBzYXlzIGlmIHRoZQ0KPiA+Pj4+Pj4+Pj4gb3V0cHV0IGlzIGZvciBxdWV1ZSBvciBwb3J0 LCBvciB0aGlzIGNhbiBiZSBhbm90aGVyIGJpdGZpZWxkLCB3aGF0IGRvIHlvdSB0aGluaz8NCj4g Pj4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+DQo+ID4+Pj4+Pj4+ICNkZWZpbmUgUlhfU0NBTEFSCSgxVUxM IDwgMCkNCj4gPj4+Pj4+Pj4gI2RlZmluZSBSWF9WRUNUT1JfQVZYMiAgLi4uDQo+ID4+Pj4+Pj4N Cj4gPj4+Pj4+PiBXaGF0IGFib3V0IGhhdmluZyBSWF9WRUNUT1IgdmFsdWUsIGxhdGVyIGFub3Ro ZXIgYml0IGdyb3VwIGZvciB0aGUgZGV0YWlscyBvZg0KPiA+Pj4+Pj4+IHRoZSB2ZWN0b3JpemF0 aW9uOg0KPiA+Pj4+Pj4+IFNTRQ0KPiA+Pj4+Pj4+IEFWWDINCj4gPj4+Pj4+PiBBVlg1MTINCj4g Pj4+Pj4+PiBORU9ODQo+ID4+Pj4+Pj4gQUxUSVZFQw0KPiA+Pj4+Pj4+DQo+ID4+Pj4+Pj4gU2lu Y2UgYWJvdmUgb3B0aW9ucyBjYW4gZXhpc3QgdG9nZXRoZXIsIHdoYXQgYWJvdXQgdXNpbmcgdmFs dWVzIGZvciB0aGVtIGluc3RlYWQNCj4gPj4+Pj4+PiBvZiBiaXRmaWVsZHM/IFJlc2VydmluZyA0 IGJpdHMsIDJeNCA9IDE2LCBjYW4gYmUgZW5vdWdoIEkgdGhpbmsgZm9yIGxvbmcgdGVybS4NCj4g Pj4+Pj4+Pg0KPiA+Pj4+Pj4gUmF0aGVyIHRoYW4gaGF2aW5nIG5hbWVkIHZlY3RvciB0eXBlcywg d2UganVzdCBuZWVkIHRvIHdvcnJ5IGFib3V0IHRoZSBvbmVzDQo+ID4+Pj4+PiBmb3IgdGhlIGN1 cnJlbnQgYXJjaGl0ZWN0dXJlLiBUaGVyZWZvcmUgSSdkIHN1Z2dlc3QganVzdCB1c2luZyB2ZWN0 b3INCj4gPj4+Pj4+IHdpZHRocywgb25lIGJpdCBlYWNoIGZvciAxNkIsIDMyQiBhbmQgNjRCIHZl Y3RvciBzdXBwb3J0LiBGb3Igc3VwcG9ydGluZw0KPiA+Pj4+Pj4gbXVsdGlwbGUgdmFsdWVzLCAx NiBjb21iaW5hdGlvbnMgaXMgbm90IGVub3VnaCBmb3IgYWxsIHRoZSBwb3NzaWJpbGl0aWVzLg0K PiA+Pj4+Pj4NCj4gPj4+Pj4NCj4gPj4+Pj4gdmVjdG9yIHdpZHRoIGNhbiBiZSBhbiBvcHRpb24g dG9vLCBubyBvYmplY3Rpb24gdGhlcmUuIEJ1dCB0aGlzIGlzIG9ubHkgZm9yDQo+ID4+Pj4+IGN1 cnJlbnQgY29uZmlndXJhdGlvbiwgc28gaXQgY2FuIGJlIGEgY29tYmluYXRpb24sIHdlIGhhdmUg bm93IDUgdHlwZXMgYW5kDQo+ID4+Pj4+IGFsbG9jYXRpbmcgc3BhY2UgZm9yIDE2Lg0KPiA+Pj4+ Pg0KPiA+Pj4+DQo+ID4+Pj4gY29ycmVjdGlvbjogaXQgY2FuICpub3QqIGJlIGEgY29tYmluYXRp b24NCj4gPj4+DQo+ID4+PiBJIHRoaW5rIHdlIGNhbiBtZXJnZSB0aGUgUlhfVkVDVE9SIGFuZCBU WF9WRUNUT1IgdG9nZXRoZXIsIHVzZSA2IGJpdHMgZm9yIHZlY3Rvcg0KPiA+Pj4gbW9kZSBkZXRh aWwuIEFuZCBmb3IgdmVjdG9yIHdpZHRoLCB0aGUgU1NFLCBORU9OIG5hbWUgc2hvdWxkIGluZGlj YXRlcyBpdCA/DQo+ID4+Pg0KPiA+Pj4gSSByZW5hbWVkIHRoZSBkZWZpbml0aW9ucyB0byB0cnkg dG8gbWFrZSB0aGluZ3MgY2xlYXIuDQo+ID4+Pg0KPiA+Pj4gZW51bSBydGVfZXRoX2J1cnN0X21v ZGVfb3B0aW9uIHsNCj4gPj4+IAlCVVJTVF9TQ0FMQVIgPSAoMSA8PCAwKSwNCj4gPj4+IAlCVVJT VF9WRUNUT1IgPSAoMSA8PCAxKSwNCj4gPj4+DQo+ID4+PiAJQlVSU1RfVkVDVE9SX01PREVfTUFT SyA9ICgweDNGIDw8IDIpLA0KPiA+Pj4gCUJVUlNUX0FMVElWRUMgICAgICAgICAgPSAoMSA8PCAy KSwNCj4gPj4+IAlCVVJTVF9ORU9OICAgICAgICAgICAgID0gKDIgPDwgMiksDQo+ID4+PiAJQlVS U1RfU1NFICAgICAgICAgICAgICA9ICgzIDw8IDIpLA0KPiA+Pj4gCUJVUlNUX0FWWDIgICAgICAg ICAgICAgPSAoNCA8PCAyKSwNCj4gPj4+IAlCVVJTVF9BVlg1MTIgICAgICAgICAgID0gKDUgPDwg MiksDQo+ID4+Pg0KPiA+Pj4gCUJVUlNUX1NDQVRURVJFRCA9ICgxIDw8IDgpLA0KPiA+Pj4gCUJV UlNUX0JVTEtfQUxMT0MgPSAoMSA8PCA5KSwNCj4gPj4+IAlCVVJTVF9OT1JNQUwgPSAoMSA8PCAx MCksDQo+ID4+PiAJQlVSU1RfU0lNUExFID0gKDEgPDwgMTEpLA0KPiA+Pj4gfTsNCj4gPj4+DQo+ ID4+PiAvKioNCj4gPj4+ICAqIEV0aGVybmV0IGRldmljZSBSWC9UWCBxdWV1ZSBwYWNrZXQgYnVy c3QgbW9kZSBpbmZvcm1hdGlvbiBzdHJ1Y3R1cmUuDQo+ID4+PiAgKiBVc2VkIHRvIHJldHJpZXZl IGluZm9ybWF0aW9uIGFib3V0IHBhY2tldCBidXJzdCBtb2RlIHNldHRpbmcuDQo+ID4+PiAgKi8N Cj4gPj4+IHN0cnVjdCBydGVfZXRoX2J1cnN0X21vZGUgew0KPiA+Pj4gCXVpbnQzMl90IHBlcl9x dWV1ZV9zdXBwb3J0OjE7IC8qKjwgU3VwcG9ydCB0byBzZXQgcGVyIHF1ZXVlIGJ1cnN0ICovDQo+ ID4+Pg0KPiA+Pj4gCXVpbnQ2NF90IG9wdGlvbnM7DQo+ID4+DQo+ID4+IFdlIGFyZSB1c2luZyBm aXJzdCAzMmJpdHMganVzdCB0byBkZXRlY3QgdGhlIHF1ZXVlIGxldmVsIHN1cHBvcnQsIHdoYXQg ZG8geW91DQo+ID4+IHRoaW5rIGNvbnZlcnRpbmcgdGhpcyBpbnRvIGEgZmllbGQgaW4gJ3J0ZV9l dGhfYnVyc3RfbW9kZV9vcHRpb24nIGFuZCB1c2UNCj4gPj4gJ29wdGlvbnMnIGZpZWxkcywgc28g d2Ugd2lsbCBmaXQgaW50byA2NCBiaXQuDQo+ID4NCj4gPiBZZXMsIGl0J3MgY2xlYXIuDQo+ID4g VGhlbiBkbyB3ZSBzdGlsbCB1c2UgJ3N0cnVjdCBydGVfZXRoX2J1cnN0X21vZGUnIHRvIGhvbGQg b25lIG1lbWJlciAidWludDY0X3Qgb3B0aW9ucyIgPw0KPiA+DQo+ID4gc3RydWN0IHJ0ZV9ldGhf YnVyc3RfbW9kZSB7DQo+ID4gCXVpbnQ2NF90IG9wdGlvbnM7DQo+ID4gfTsNCj4gPg0KPiANCj4g SSBzdWdnZXN0IGtlZXBpbmcgdGhlIHN0cnVjdCwgZm9yIHRoZSBwb3NzaWJpbGl0eSBvZiBmdXR1 cmUgY2hhbmdlcy4NCg0KT0suDQo=