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 E649FA0565; Mon, 23 Mar 2020 15:46:06 +0100 (CET) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id BD2521C069; Mon, 23 Mar 2020 15:46:05 +0100 (CET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-eopbgr70050.outbound.protection.outlook.com [40.107.7.50]) by dpdk.org (Postfix) with ESMTP id 182011C05C for ; Mon, 23 Mar 2020 15:46:04 +0100 (CET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Se+d//C3+MC78msYCc9XMwzaRTe8ylFNEo4OTiSqGVkgk2ieF2lBSYEogQgV4rNRbBqpJR/odhMna4eV3Edf0XDJX13lPKnDcz2ePZVKWr7IC6w3ZNuhYw8HO8yhTkKkXh4IoXb0xHvLwkJsWzVx92mwnmzJBJ02qgKuTXfGlne709J6XSeCzTKa5fffD8f+n72CBLP8iU3YdEskIPPWmlGTWJ8i/ghri4pxr5bq5Gotz4j+bX8AvppwwsgOsMSNsU8yTiQIdYwIKvgR4H4yyHciAgeiJpgr7OquzItvHNfc2y3FA0I5iYtDcnZp2GNh/NrEL9jKwRFhuoq4twjV5g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Le/5H3BLEUg4wos1B6MjcDTGJXJQRk7up41F7FoDj74=; b=W1zSgkgEQFgCfKNEEe97Xz2UnB+q18B3pomNJudae2usIK1LpLvK+SgOByTTzaKFMgPvPloxPcQNoHKtKX+9blU1/WPWS2C5iyqvv+/MqhaT2HZXGsgfMXDQKTRFLo5BF3mrKPvt2KYVUnOhiVL0skncaIJUotihn+6rVFWi+kYFMmFjyYowdaRzdblfmsSIFuBuDotQe1kvqt6U0J4lGOWVrka2LKkoe0/uv//RHWuxczzbfW3ufztrFY1UDAat2zsVTle5RJojp4uqzJbQByLezwLUOzPn6Y5UzpvpX7nGUlqwQ+fqhN3cPQ+/4ofsnZyfsTUzkzJUQoFghL4Olg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ericsson.com; dmarc=pass action=none header.from=ericsson.com; dkim=pass header.d=ericsson.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Le/5H3BLEUg4wos1B6MjcDTGJXJQRk7up41F7FoDj74=; b=uZe70sxun4IU7Je4qp7N154SJmSDbs3KkMeoDbZVd+YvcjQurJIWBFmMdVZwX0YUAFSl8HiMu6q3v1L9NzxFzzcuTFApk35kNg2Svl4xdKgyt8eYd6FlMfa1N3ptzv9L1pBCrOfduw3NoDKUUvTabhVGPia4wN9fvXgMvh94eCw= Received: from AM6PR07MB4069.eurprd07.prod.outlook.com (52.134.116.150) by AM6PR07MB3846.eurprd07.prod.outlook.com (52.134.118.31) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2835.18; Mon, 23 Mar 2020 14:46:02 +0000 Received: from AM6PR07MB4069.eurprd07.prod.outlook.com ([fe80::3571:9cc1:f037:cd3c]) by AM6PR07MB4069.eurprd07.prod.outlook.com ([fe80::3571:9cc1:f037:cd3c%7]) with mapi id 15.20.2835.021; Mon, 23 Mar 2020 14:46:02 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Jerin Jacob CC: "jerinj@marvell.com" , Thomas Monjalon , Bruce Richardson , John McNamara , Marko Kovacevic , Sunil Kumar Kori , "dev@dpdk.org" , "david.marchand@redhat.com" Thread-Topic: [dpdk-dev] [PATCH v1 02/32] eal: define the public API for trace support Thread-Index: AQHV/VfnPVCpZYAnuU6EFknAIj9v5qhO1TeAgAdu7ACAAAS3gA== Date: Mon, 23 Mar 2020 14:46:02 +0000 Message-ID: References: <20200318190241.3150971-1-jerinj@marvell.com> <20200318190241.3150971-3-jerinj@marvell.com> <8b318680-e291-5530-a52e-1f545e48e374@ericsson.com> In-Reply-To: Accept-Language: sv-SE, en-US Content-Language: sv-SE X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.6.0 authentication-results: spf=none (sender IP is ) smtp.mailfrom=mattias.ronnblom@ericsson.com; x-originating-ip: [95.205.117.126] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: b112b4ab-7879-462b-4b6b-08d7cf38e8d3 x-ms-traffictypediagnostic: AM6PR07MB3846: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 0351D213B3 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(4636009)(346002)(39860400002)(396003)(366004)(376002)(136003)(199004)(86362001)(186003)(71200400001)(85202003)(53546011)(2906002)(6506007)(66446008)(26005)(85182001)(6486002)(36756003)(8936002)(6916009)(66946007)(31696002)(91956017)(31686004)(76116006)(81156014)(5660300002)(66476007)(66556008)(8676002)(81166006)(54906003)(316002)(478600001)(64756008)(4326008)(6512007)(2616005)(66574012); DIR:OUT; SFP:1101; SCL:1; SRVR:AM6PR07MB3846; H:AM6PR07MB4069.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: pJeOdgfvsdUlxF/bvUh4/iro6bmXW2rVauUf1YJZn6egX8CZUfpZctpTz0the5nmKxy4mjIcFU7bVSXlIKud1bPTdoqZAnNIr5PPG0dKZ4uLk0tO+9n+cvBTZQmDpoX57xsn2KJLgs13mkLATlmlTyXjmTimPzteekhV7hNsonelASeQBn3MscO/2jm3jF10C73X76bxqNgqno/EdSXwkUqQ02DH0Wi4PAs9Irky/pJWLrtMwMQZX8H1ak00LyyXhAF9Dn40UiXqeFiJaz73PsJyJKoDD/UKek42azrH7o694B0w5+EaxnxiH1M6GKQo+ZfeEg15jKAhAj/N1GB2ZrmM+aIWXTWXO7izCnHGASt09i9sL7XQpvth/4SGh9Ew+VKIYFfn9DYL72KNzqeO10sTxUtbSVpMrjR6FKNvUm3RIM9aWJ2vIXmXXroNl511 x-ms-exchange-antispam-messagedata: kuxkKOjNBXwa6kkSoAg9yQG4gOQy01GNZAfAzJr+rEoWb53opj0Y7IXyXuVfB/Z34QUYSfGzZ+oOExWKC1aibxmlWfGqbq5n55YzyOWUJkZ/MrDHbw7yWtJ/ZdvkaQVkkRu/OK90CAhPMtrWsa6JkA== x-ms-exchange-transport-forked: True Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: ericsson.com X-MS-Exchange-CrossTenant-Network-Message-Id: b112b4ab-7879-462b-4b6b-08d7cf38e8d3 X-MS-Exchange-CrossTenant-originalarrivaltime: 23 Mar 2020 14:46:02.6794 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 4wFjbI64MYfZXthT098JfcKvLC2HsVo+oicHHx5bayTiSW9pc+axpooTD+jBgcfTAHNh7ShxEVpbuSTaycVpWqWjApKgI3SwYTXSse7bh8A= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR07MB3846 Subject: Re: [dpdk-dev] [PATCH v1 02/32] eal: define the public API for trace support 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" T24gMjAyMC0wMy0yMyAxNToyOSwgSmVyaW4gSmFjb2Igd3JvdGU6DQo+IE9uIFRodSwgTWFyIDE5 LCAyMDIwIGF0IDI6MjggQU0gTWF0dGlhcyBSw7ZubmJsb20NCj4gPG1hdHRpYXMucm9ubmJsb21A ZXJpY3Nzb24uY29tPiB3cm90ZToNCj4+IE9uIDIwMjAtMDMtMTggMjA6MDIsIGplcmluakBtYXJ2 ZWxsLmNvbSB3cm90ZToNCj4+PiBGcm9tOiBKZXJpbiBKYWNvYiA8amVyaW5qQG1hcnZlbGwuY29t Pg0KPj4+ICsNCj4+PiArI2luY2x1ZGUgPHJ0ZV9jb21tb24uaD4NCj4+PiArI2luY2x1ZGUgPHJ0 ZV9jb21wYXQuaD4NCj4+PiArDQo+Pj4gKy8qKiBUaGUgdHJhY2Ugb2JqZWN0LiBUaGUgdHJhY2Ug QVBJcyBhcmUgYmFzZWQgb24gdGhpcyBvcGFxdWUgb2JqZWN0LiAqLw0KPj4+ICt0eXBlZGVmIHVp bnQ2NF90ICpydGVfdHJhY2VfdDsNCj4+IFdvdWxkbid0IGEgZm9yd2FyZC1kZWNsYXJlZCBzdHJ1 Y3QsIHdpdGggdGhlIGRlZmluaXRpb24gaGlkZGVuIGZyb20gdGhlDQo+PiB1c2VyLCBiZSBtb3Jl IGFwcHJvcHJpYXRlPyBBcyBhIGJvbnVzLCB5b3UnbGwgZ2V0IHNvbWUgdHlwZSBjaGVja2luZy4N Cj4+DQo+PiAic3RydWN0IHJ0ZV90cmFjZTsiIGhlcmUgYW5kICJzdHJ1Y3QgcnRlX3RyYWNlKiIg aW4gYWxsIHRoZSBBUElzLg0KPj4gInN0cnVjdCBydGVfdHJhY2UgeyB1aW50NjRfdCB2YWw7IH07 IGluIHRoZSBpbXBsZW1lbnRhdGlvbi4gT3IganVzdCBjYXN0DQo+PiBpdCB0byBhIHVpbnQ2NF90 ICouDQo+IE9LLiBJIHdpbGwgcmVtb3ZlIHRoZSB0eXBlZGVmIHRoZW4uDQo+DQo+PiB0eXBkZWY6 aW5nIHBvaW50ZXJzIGlzIGdlbmVyYWxseSBjb25zaWRlcmVkIGEgbm8tbm8sIGF0IGxlYXN0IGlm IHlvdQ0KPj4gZm9sbG93IHRoZSBMaW51eCBrZXJuZWwgY29kaW5nIGNvbnZlbnRpb25zLg0KPj4N Cj4+PiArDQo+Pj4gKy8qKg0KPj4+ICsgKiBAd2FybmluZw0KPj4+ICsgKiBAYiBFWFBFUklNRU5U QUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UNCj4+PiArICoNCj4+ PiArICogRW51bWVyYXRlIHRyYWNlIG1vZGUgb3BlcmF0aW9uLg0KPj4+ICsgKi8NCj4+PiArZW51 bSBydGVfdHJhY2VfbW9kZV9lIHsNCj4+PiArICAgICAvKioNCj4+PiArICAgICAgKiBJbiB0aGlz IG1vZGUsIFdoZW4gbm8gc3BhY2UgbGVmdCBpbiB0cmFjZSBidWZmZXIsIHRoZSBzdWJzZXF1ZW50 DQo+Pj4gKyAgICAgICogZXZlbnRzIG92ZXJ3cml0ZSB0aGUgb2xkIGV2ZW50cyBpbiB0aGUgdHJh Y2UgYnVmZmVyLg0KPj4+ICsgICAgICAqLw0KPj4+ICsgICAgIFJURV9UUkFDRV9NT0RFX09WRVJX UklURSwNCj4+PiArICAgICAvKioNCj4+PiArICAgICAgKiBJbiB0aGlzIG1vZGUsIFdoZW4gbm8g c3BhY2UgbGVmdCBvbiB0cmFjZSBidWZmZXIsIHRoZSBzdWJzZXF1ZW50DQo+Pj4gKyAgICAgICog ZXZlbnRzIHNoYWxsIG5vdCBiZSByZWNvcmRlZCBpbiB0aGUgdHJhY2UgYnVmZmVyLg0KPj4+ICsg ICAgICAqLw0KPj4+ICsgICAgIFJURV9UUkFDRV9NT0RFX0RJU0NBUkQsDQo+Pj4gK307DQo+PiBI YXZlIHlvdSBjb25zaWRlcmVkIGhhdmluZyBhIGJsb2NraW5nIG1vZGUgYXMgd2VsbCwgd2hlcmUg dGhlIHRocmVhZA0KPj4gd2lsbCBqdXN0IHdhaXQgZm9yIHNwYWNlIHRvIGJlIGZyZWVkPw0KPiBU aGUgdHJhY2UgYnVmZmVyIGlzIHBlciB0aHJlYWQuIFNvIHRoZXJlIGlzIG5vIHdhaXRpbmcuDQo+ DQo+IFRoZSBuZXcgZmVhdHVyZXMgY2FuIGJlIGFkZGVkIGxhdGVyIGFzIG5lZWRlZCBieSBleHRl bmRpbmcgdGhlIG1vZGUuDQo+DQo+PiBSZW1vdmUgdGhlICJfZSIgZnJvbSB0aGUgbmFtZS4gImVu dW0iIGFscmVhZHkgdGVsbHMgdXMgaXQncyBhbiBlbnVtZXJhdGlvbi4NCj4gT0suIEkgd2lsbCBy ZW1vdmUgaXQgaW4gdjIuDQo+DQo+Pj4gKw0KPj4+ICsvKioNCj4+PiArICogQHdhcm5pbmcNCj4+ PiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Ig bm90aWNlDQo+Pj4gKyAqDQo+Pj4gKyAqIFRlc3QgaWYgZ2xvYmFsIHRyYWNlIGlzIGVuYWJsZWQu DQo+Pj4gKyAqDQo+Pj4gKyAqIEByZXR1cm4NCj4+PiArICogICAgdHJ1ZSBpZiBnbG9iYWwgdHJh Y2UgaXMgZW5hYmxlZCwgZmFsc2Ugb3RoZXJ3aXNlLg0KPj4+ICsgKi8NCj4+PiArX19ydGVfZXhw ZXJpbWVudGFsDQo+Pj4gK2Jvb2wgcnRlX3RyYWNlX2dsb2JhbF9pc19lbmFibGVkKHZvaWQpOw0K Pj4gTXkgaW1wcmVzc2lvbiBpcyB0aGF0IERQREsgZG9lczoNCj4+DQo+Pg0KPj4gX19ydGVfZXhw ZXJpbWVudGFsIGJvb2wNCj4+DQo+PiBydGVfdHJhY2VfZ2xvYmFsX2lzX2VuYWJsZWQodm9pZCk7 DQo+Pg0KPj4NCj4+IE5vdyB3aGVuIEkgY2hlY2sgdGhlIGNvZGluZyBjb252ZW50aW9ucywgdGhh dCdzIG9ubHkgZm9yIGZ1bmN0aW9uDQo+PiBkZWZpbml0aW9uLiBXaHkgZGVjbGFyYXRpb24gYW5k IGRlZmluaXRpb24gc2hvdWxkIGJlIGRpZmZlcmVudCwgSSBkb24ndA0KPj4ga25vdy4NCj4gSSBz ZWUgdHdvIHBhdHRlcm5zLihCb3RoIGNhc2VzIF9fcnRlX2V4cGVyaW1lbnRhbCBpbiBhIG5ldyBs aW5lKQ0KPg0KPiBfX3J0ZV9leHBlcmltZW50YWwNCj4gYm9vbA0KPiBydGVfdHJhY2VfZ2xvYmFs X2lzX2VuYWJsZWQodm9pZCk7DQo+DQo+IG9yDQo+DQo+IF9fcnRlX2V4cGVyaW1lbnRhbA0KPiBi b29sIHJ0ZV90cmFjZV9nbG9iYWxfaXNfZW5hYmxlZCh2b2lkKTsNCj4NCj4gRm9yIHRoZSBwcm90 b3R5cGUgY2FzZSwgSSBwcmVmZXIgYSBsYXRlciBvcHRpb24gYW5kIGZvciBkZWZpbml0aW9uDQo+ IGNhc2UgdGhlIGZpcnN0IG9wdGlvbi4NCj4gSWYgdGhlcmUgYXJlIG5vIHNwZWNpZmljIG9waW5p b25zLCBJIHdvdWxkIGxpa2UgdG8gc3RpY2sgdG8gdGhpcyBtb2RlbA0KPg0KPg0KPg0KPj4+ICsg KiBAd2FybmluZw0KPj4+ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ug d2l0aG91dCBwcmlvciBub3RpY2UNCj4+PiArICoNCj4+PiArICogU2V0IHRoZSBnbG9iYWwgdHJh Y2UgbGV2ZWwuDQo+Pj4gKyAqDQo+Pj4gKyAqIEFmdGVyIHRoaXMgY2FsbCwgdHJhY2Ugd2l0aCBh IGxldmVsIGxvd2VyIG9yIGVxdWFsIHRoYW4gdGhlIGxldmVsDQo+Pj4gKyAqIHBhc3NlZCBhcyBh cmd1bWVudCB3aWxsIGJlIGNhcHR1cmVkIGluIHRoZSB0cmFjZSBidWZmZXIuDQo+Pj4gKyAqDQo+ Pj4gKyAqIEBwYXJhbSBsZXZlbA0KPj4+ICsgKiAgIFRyYWNlIGxldmVsLiBBIHZhbHVlIGJldHdl ZW4gUlRFX0xPR19FTUVSRyAoMSkgYW5kIFJURV9MT0dfREVCVUcgKDgpLg0KPj4+ICsgKi8NCj4+ PiArX19ydGVfZXhwZXJpbWVudGFsDQo+Pj4gK3ZvaWQgcnRlX3RyYWNlX2dsb2JhbF9sZXZlbF9z ZXQodWludDMyX3QgbGV2ZWwpOw0KPj4gdWludDMyX3QgbWVhbnMgYSBsb3Qgb2YgbGV2ZWxzLg0K PiBZZXMuIEkgZGlkIHRoaXMgdG8gbWFrZSBjb21wYXRpYmx5IHdpdGggcnRlX2xvZyBsZXZlbCBk YXRhdHlwZS4NCj4NCj4NCj4+PiArICoNCj4+PiArICogQHBhcmFtIHRyYWNlDQo+Pj4gKyAqICAg IFRoZSB0cmFjZSBvYmplY3QuDQo+Pj4gKyAqIEByZXR1cm4NCj4+PiArICogICAtIFplcm8gb3Ig cG9zaXRpdmU6IE1vZGUgZW5jb2RlZCBhcyBlbnVtIHJ0ZV90cmFjZV9tb2RlX2UuDQo+Pj4gKyAq ICAgLSAoLUVJTlZBTCk6IFRyYWNlIG9iamVjdCBpcyBub3QgcmVnaXN0ZXJlZC4NCj4+PiArICov DQo+Pj4gK19fcnRlX2V4cGVyaW1lbnRhbA0KPj4+ICtpbnQgcnRlX3RyYWNlX21vZGVfZ2V0KHJ0 ZV90cmFjZV90IHRyYWNlKTsNCj4+PiArDQo+Pj4gKy8qKg0KPj4+ICsgKiBAd2FybmluZw0KPj4+ ICsgKiBAYiBFWFBFUklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBu b3RpY2UNCj4+PiArICoNCj4+PiArICogRW5hYmxlL0Rpc2FibGUgYSBzZXQgb2YgdHJhY2Vwb2lu dHMgYmFzZWQgb24gc2hlbGwgcGF0dGVybi4NCj4+IFNoZWxsIHBhdHRlcm4gbWVhbnMgd2hhdCBJ IHRoaW5rIGlzIHVzdWFsbHkgcmVmZXJyZWQgdG8gYXMgYSBnbG9iPw0KPiBBY2NvcmRpbmcsICJt YW4gMyBmbm1hdGNoIiwgaXQgY2FuIGJlIGJvdGguDQo+IE5vIHByZWZlcmVuY2UgaGVyZSwgVGhl IHJ0ZV9sb2cgaXMgdXNpbmcgc2hlbGwgcGF0dGVybiBhcyB0aGUgY29tbWVudA0KPiBzbyBJIHRo b3VnaHQgb2YNCj4gdXNpbmcgdGhlIHNhbWUuDQo+DQo+IFRob3VnaHRzPw0KPg0KSWYgd2UncmUg dXNpbmcgInNoZWxsIHBhdHRlcm4iIGFscmVhZHksIGl0IHdvdWxkIG1ha2Ugc2Vuc2UgdG8gc3Rp Y2sgDQp3aXRoIHRoaXMuDQo+Pj4gKyAqDQo+Pj4gKyAqIEBwYXJhbSBwYXR0ZXJuDQo+Pj4gKyAq ICAgVGhlIG1hdGNoIHBhdHRlcm4gaWRlbnRpZnlpbmcgdGhlIHRyYWNlcG9pbnQuDQo+Pj4gKyAq IEBwYXJhbSBlbmFibGUNCj4+PiArICogICAgdHJ1ZSB0byBlbmFibGUgdHJhY2Vwb2ludCwgZmFs c2UgdG8gZGlzYWJsZSB0aGUgdHJhY2Vwb2ludCwgdXBvbiBtYXRjaC4NCj4+PiArICogQHBhcmFt W291dF0gZm91bmQNCj4+PiArICogICAgTlVMTCB2YWx1ZSBhbGxvd2VkLCBpZiBub3QgTlVMTCwg dHJ1ZSBpZiBtYXRjaCBmb3VuZCwgZmFsc2Ugb3RoZXJ3aXNlLg0KPj4+ICsgKiBAcmV0dXJuDQo+ Pj4gKyAqICAgLSAwOiBTdWNjZXNzLg0KPj4+ICsgKiAgIC0gKC1FUkFOR0UpOiBUcmFjZSBvYmpl Y3QgaXMgbm90IHJlZ2lzdGVyZWQuDQo+Pj4gKyAqLw0KPj4+ICtfX3J0ZV9leHBlcmltZW50YWwN Cj4+PiAraW50IHJ0ZV90cmFjZV9wYXR0ZXJuKGNvbnN0IGNoYXIgKnBhdHRlcm4sIGJvb2wgZW5h YmxlLCBib29sICpmb3VuZCk7DQo+Pj4gKw0KPj4+ICsvKioNCj4+PiArICogQHdhcm5pbmcNCj4+ PiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Ig bm90aWNlDQo+Pj4gKyAqDQo+Pj4gKyAqIEVuYWJsZS9EaXNhYmxlIGEgc2V0IG9mIHRyYWNlcG9p bnRzIGJhc2VkIG9uIHJlZ3VsYXIgZXhwcmVzc2lvbi4NCj4+PiArICoNCj4+PiArICogQHBhcmFt IHJlZ2V4DQo+Pj4gKyAqICAgQSByZWd1bGFyIGV4cHJlc3Npb24gaWRlbnRpZnlpbmcgdGhlIHRy YWNlcG9pbnQuDQo+Pj4gKyAqIEBwYXJhbSBlbmFibGUNCj4+PiArICogICAgdHJ1ZSB0byBlbmFi bGUgdHJhY2Vwb2ludCwgZmFsc2UgdG8gZGlzYWJsZSB0aGUgdHJhY2Vwb2ludCwgdXBvbiBtYXRj aC4NCj4+PiArICogQHBhcmFtW291dF0gZm91bmQNCj4+PiArICogICAgTlVMTCB2YWx1ZSBhbGxv d2VkLCBpZiBub3QgTlVMTCwgdHJ1ZSBpZiBtYXRjaCBmb3VuZCwgZmFsc2Ugb3RoZXJ3aXNlLg0K Pj4gV2hhdCdzIHRoZSByZWFzb24gb2YgaGF2aW5nIHRoaXMgb3V0cHV0IHBhcmFtZXRlciwgYXMg b3Bwb3NlZCB0byBjb2RpbmcNCj4+IHRoZSBpbmZvcm1hdGlvbiBpbnRvIHRoZSByZXR1cm4gY29k ZT8NCj4gSSB0aG91Z2h0IG1ha2luZyBleHBsaWNpdCBpcyBnb29kIC4gTm8gc3Ryb25nIG9waW5p b24gaGVyZS4NCj4gSG93IGFib3V0Pw0KPg0KPiAwOiBTdWNjZXNzIGJ1dCBubyBwYXR0ZXJuIGZv dW5kDQo+PiAwOiBTdWNlc3MgYW5kIHBhdHRlcm4gZm91bmQNCj4gPDA6IGVycm9yDQo+DQpTb3Vu ZHMgbGlrZSBhbiBpbXByb3ZlbWVudCB0byBtZS4NCg0KPg0KPj4+ICsvKioNCj4+PiArICogQHdh cm5pbmcNCj4+PiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhv dXQgcHJpb3Igbm90aWNlDQo+Pj4gKyAqDQo+Pj4gKyAqIFNlYXJjaCBhIHRyYWNlIG9iamVjdCBm cm9tIGl0cyBuYW1lLg0KPj4+ICsgKg0KPj4+ICsgKiBAcGFyYW0gbmFtZQ0KPj4+ICsgKiAgIFRo ZSBuYW1lIG9mIHRoZSB0cmFjZXBvaW50Lg0KPj4+ICsgKiBAcmV0dXJuDQo+Pj4gKyAqICAgVGhl IHRyYWNlcG9pbnQgb2JqZWN0IG9yIE5VTEwgaWYgbm90IGZvdW5kLg0KPj4+ICsgKi8NCj4+PiAr X19ydGVfZXhwZXJpbWVudGFsDQo+Pj4gK3J0ZV90cmFjZV90IHJ0ZV90cmFjZV9mcm9tX25hbWUo Y29uc3QgY2hhciAqbmFtZSk7DQo+PiBXb3VsZCAicnRlX3RyYWNlX2J5X25hbWUiIGJlIGEgYmV0 dGVyIG5hbWU/DQo+IE5vIHN0cm9uZyBwcmVmZXJlbmNlLiBJIHdpbGwgY2hhbmdlIHRvIHJ0ZV90 cmFjZV9ieV9uYW1lKCkuDQo+DQo+Pj4gKw0KPj4+ICsvKioNCj4+PiArICogQHdhcm5pbmcNCj4+ PiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Ig bm90aWNlDQo+Pj4gKyAqDQo+Pj4gKyAqIER1bXAgdGhlIHRyYWNlIG1ldGFkYXRhIHRvIGEgZmls ZS4NCj4+PiArICoNCj4+PiArICogQHBhcmFtIGYNCj4+PiArICogICBBIHBvaW50ZXIgdG8gYSBm aWxlIGZvciBvdXRwdXQNCj4+PiArICogQHJldHVybg0KPj4+ICsgKiAgIC0gMDogU3VjY2Vzcy4N Cj4+PiArICogICAtIDwwIDogRmFpbHVyZS4NCj4+PiArICovDQo+Pj4gK19fcnRlX2V4cGVyaW1l bnRhbA0KPj4+ICtpbnQgcnRlX3RyYWNlX21ldGFkYXRhX2R1bXAoRklMRSAqZik7DQo+Pj4gKw0K Pj4+ICsvKioNCj4+PiArICogQHdhcm5pbmcNCj4+PiArICogQGIgRVhQRVJJTUVOVEFMOiB0aGlz IEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlDQo+Pj4gKyAqIER1bXAgdGhlIHRy YWNlIHN1YnN5c3RlbSBzdGF0dXMgdG8gYSBmaWxlLg0KPj4+ICsgKg0KPj4+ICsgKiBAcGFyYW0g Zg0KPj4+ICsgKiAgIEEgcG9pbnRlciB0byBhIGZpbGUgZm9yIG91dHB1dA0KPj4+ICsgKi8NCj4+ PiArX19ydGVfZXhwZXJpbWVudGFsDQo+Pj4gK3ZvaWQgcnRlX3RyYWNlX2R1bXAoRklMRSAqZik7 DQo+Pj4gKw0KPj4+ICsvKioNCj4+PiArICogQHdhcm5pbmcNCj4+PiArICogQGIgRVhQRVJJTUVO VEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90aWNlDQo+Pj4gKyAqDQo+ Pj4gKyAqIFRlc3QgaWYgdGhlIHRyYWNlIGRhdGFwYXRoIGNvbXBpbGUtdGltZSBvcHRpb24gaXMg ZW5hYmxlZC4NCj4+PiArICoNCj4+PiArICogQHJldHVybg0KPj4+ICsgKiAgIEEgcG9zaXRpdmUg dmFsdWUgaWYgdHJhY2UgZGF0YXBhdGggZW5hYmxlZCwgdmFsdWUgemVybyBvdGhlcndpc2UuDQo+ PiBTd2l0Y2ggdG8gYSBib29sIHJldHVybiB0eXBlLg0KPiBJIHRob3VnaHQgb2YgYXZvaWRpbmcg ImJvb2wiIGluIGZhc3RwYXRoLCBJIHdpbGwgY2hhbmdlIHRvIGJvb2wgaWYNCj4gdGhlcmUgaXMg bm8gcGVyZm9ybWFuY2UNCj4gaW1wYWN0Lg0KPg0KPg0KPj4+ICsgKi8NCj4+PiArc3RhdGljIF9f cnRlX2Fsd2F5c19pbmxpbmUgaW50DQo+Pj4gK3J0ZV90cmFjZV9pc19kcF9lbmFibGVkKHZvaWQp DQo+Pj4gK3sNCj4+PiArI2lmZGVmIFJURV9FTkFCTEVfVFJBQ0VfRFANCj4+PiArICAgICByZXR1 cm4gUlRFX0VOQUJMRV9UUkFDRV9EUDsNCj4+PiArI2Vsc2UNCj4+PiArICAgICByZXR1cm4gMDsN Cj4+PiArI2VuZGlmDQo+Pj4gK30NCj4+PiArDQoNCg0K