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 2420CA054D; Wed, 25 May 2022 16:45:40 +0200 (CEST) Received: from [217.70.189.124] (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id BF3C040146; Wed, 25 May 2022 16:45:39 +0200 (CEST) Received: from EUR04-DB3-obe.outbound.protection.outlook.com (mail-eopbgr60048.outbound.protection.outlook.com [40.107.6.48]) by mails.dpdk.org (Postfix) with ESMTP id A4BD4400EF for ; Wed, 25 May 2022 16:45:38 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=GmUj381SGKPfeEkvaIckCEruQnVGrCZiyW6RBjyxiR7ATu0KV4QhW2PB0k58VQKNp5xoOE3sJNN8SaZcZGsHk0P8hAP8OZHMBoUgm1kgtGv6k2FOcbJrpL04rBVqnBrV9FzQs1v8WKNrpMhK7Z7NLrPxuXmluCDPQ6D0ygqI+dRqHr7t+Lo1WdBIShi2ZbHXKOezi+yioDQKIFbL5crJ87JmXdxFVvapOUvroXfDs3fuR8wg//i3nm+b2CfrRSoR3uZvhPFe9HTra1ebMEsCfhfeSnhLFFRGtHLRee41CvCKjn5E5J+tcppaYPLC4sSux2V4gEHROc2mXuvnIgcZow== 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-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=rnrbJxAoBYj24pKDn/yglnH5oiEKbENAYoOBlz2U8G8=; b=ZGGQCmUkc3PKzgsm6FN3xaIa6cvTh9YtIdg0uTp9LEDul6mbC5qZsTzSjQh5ClKgnj763/ianJgmG8mNYizhkz6C0wmHkkG8WmpwLpCPOG6lK/PSmGT/8pHOpmwjs457lATTcfrjZ15WXKPyEM60FLdWHFydQd90HVRKPE+bcXH+mknJEKMOlshho4ps95fHwm1OT70Hr0aC7sZfWxMqDRRIIiP7/EHQxzfTURh+Tv4q1h0sU7kvpgmbekoMLnNZUhqiuvwStUKHrNTmf8PqH3BEyMZTWUMczQg8aX8UFhqg+ZAcMcm9lWqwynTXrlucILTImIAFXp3aJw4GIeH3Ig== 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=rnrbJxAoBYj24pKDn/yglnH5oiEKbENAYoOBlz2U8G8=; b=bll5Cl0HY0yDsZcmCrmGPt5m1kMdM/Ay0FYmU/ryb2KMjc0YxbX1JhT+SbUdKxPvX90kswfEjqrSH+4F6w9AZNwof2515+n82L5Pgk9B/lslHVfdIzMUM+ctb26e0uJU32kZisHg1nD2CZ63r996fVdgq+9Nr5GXDExx6KYsQcY= Received: from DB7PR07MB5978.eurprd07.prod.outlook.com (2603:10a6:10:80::15) by AM6PR07MB5222.eurprd07.prod.outlook.com (2603:10a6:20b:61::25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5314.5; Wed, 25 May 2022 14:45:37 +0000 Received: from DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::5c39:e6ec:f2ca:a620]) by DB7PR07MB5978.eurprd07.prod.outlook.com ([fe80::5c39:e6ec:f2ca:a620%6]) with mapi id 15.20.5293.012; Wed, 25 May 2022 14:45:37 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Stephen Hemminger , "dev@dpdk.org" CC: Ray Kinsella Subject: Re: [RFT v2 1/3] random: add rte_rand_float() Thread-Topic: [RFT v2 1/3] random: add rte_rand_float() Thread-Index: AQHYb7w5qUpejtnX+0iM2t5Fqx8mZK0vrLiA Date: Wed, 25 May 2022 14:45:37 +0000 Message-ID: <589158f3-e42a-8e10-c5ad-5b05b4e6db04@ericsson.com> References: <20220524184623.480646-1-stephen@networkplumber.org> <20220524221824.1037693-1-stephen@networkplumber.org> <20220524221824.1037693-2-stephen@networkplumber.org> In-Reply-To: <20220524221824.1037693-2-stephen@networkplumber.org> Accept-Language: en-US, sv-SE Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=ericsson.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0c701f78-65d2-481a-5ea3-08da3e5d3b40 x-ms-traffictypediagnostic: AM6PR07MB5222:EE_ x-microsoft-antispam-prvs: x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: Jkyg88Qp2QeQ5Ip1mZeZnknpzeQCP1PV0F1ShDN+zUuGjuvI+dhHtikmcXlODpLfTJiiEKWIHWrSxyri+dAU5xXCMH/e8ICMV9rdr/D08rhszbGkKqWXVgf4ABqEgZ1y9r/clEs5AkmydYMtgUkyetXbm8rAAa6MHOAjYUdlTGqEwsAy2dlKaq/pRhdAanebhXlleE/gRC/fbdF7bJ6mO9ZEKXXh2nfsGeuQy5Y5Pc7AKX8muk+p5M+1kAaz9grc89OoOlApVYzSaemhvo5k7Kf5qYrYszX4p96n4oiWlTgYL5MNyawsF8gh07nKT4rvAZtvCHrHp+GHo99lyfsncEiRfwxbDIqmClomdNTq0mR5OrKPqCAl9v7DxcLLmWydQQS/n5UolJRb77M76n5Xisyt7p0ZdFURJpYzhWXfp8/vC87w60BE82l7J3IniCLjHmrMHImBU5/6EetX9Rh3oJv/CnUyV17IH2XPMj9CXjmJG3Bn8pUIXlxNjxjnKs3D57/QTa74VSkr1bxIfMyPxgFIFKt102/0xVZoMrcGAoeFL+E/K7jhdwl5761zq6HBJt3yabgJsuiTnUpvXUMdbK3FLWZoHY5TrjjkF1ZmqbWJY9peDBdXoBG06HTbpK4vGsQSoJC53B+BRY0vJelNiETayDNyUZyl1nr4zE7FVuYlivZ4E3Iva3bL/PJ7mQEcfKVMLDVYAVFv5vNQLpYQHMShcg93m2hjN6xY5t8dReFG8NsOJ/LmATMro6qNTlwq+5btJOaJl0Uq4VBuNg8YAg== x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:DB7PR07MB5978.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230001)(4636009)(366004)(31696002)(2906002)(86362001)(83380400001)(85182001)(36756003)(186003)(110136005)(38070700005)(31686004)(2616005)(26005)(85202003)(8936002)(53546011)(38100700002)(82960400001)(66946007)(66556008)(76116006)(6512007)(5660300002)(4326008)(66446008)(8676002)(66476007)(64756008)(91956017)(71200400001)(6506007)(316002)(122000001)(6486002)(508600001)(43740500002)(45980500001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?VVlzckl2bGVUTmNlUTVtSEZibzdiYWgzVHUxQUhRazlYd1pkMWFCUEFXL0lD?= =?utf-8?B?NnZsTXh4elhDaU53WkRkSWtDeU80YjY1Vyt0eDZtdXpzS1dXSm1tNGtjdS9E?= =?utf-8?B?UjQwS09SbWt3NHVvbW01VW1tZmZKVlBzU09WQ2dTaEhKaUZ6bHlRVnFBU29B?= =?utf-8?B?ZmFFc284cW5va0I2dFY4VzkvSGNSL01MNk52LzcwZUdnUGNKZW5BenJaVXFY?= =?utf-8?B?REZ1U0VSdklQWFg5WDE1Qk10UkhDQ0szT1pZbTdEQmI2SVpkY3B2a2E4bDNY?= =?utf-8?B?UDhhTDZhaHg3RTdBOC81bDJpTjdyU21WM3ZMbmNPSXBwMTVaRUVaUkhsckky?= =?utf-8?B?TWxSRFdodGl2NW9zem04RVlrMFM5TllEUWxPTzk3cnVuQ0JzeGZhMFFQalkr?= =?utf-8?B?aDV6dlp3Ym14cFpqbnE0SmdiVnVHSnhRM2JCY2RBYnJPSXJYUWFlYXBDY2NP?= =?utf-8?B?dGhDUnlCeWs4YTJNMTVUeGJ1OTFaSm5iS29sZ2Nsd3pIQmFNdTFCbXN1dkRm?= =?utf-8?B?cjR5N0V4L1ZJWVJzbXpjYlUybEVJUlljUWFOZ3luV2VMT3lTSnkwa3lCcms4?= =?utf-8?B?bGVPdXRBdHFwVFNQK1FTcnpjcDVXR2xmUmgzQ3pUdzVBTXhqSGNKQ2poMDQ4?= =?utf-8?B?WS94bVRFMkdxMGJNc0FMbUFzeUhIZGFsY2lWUDVvVmhnaEl1R3dEbFl1R1hN?= =?utf-8?B?WnFRZnd4bEY3MUJGcTIySk0rSW9wTzVlbjl2bDU1aTVUYWJwak05aEZSQmFh?= =?utf-8?B?dW4wOHRMZlh5ZFdldll0UUVKTkl6eE9MZU4vRFEvSGsxNXVrYnBpSDhLVmQx?= =?utf-8?B?QUgyL1NWRFFnUnhZUTVkcE5KdDhLYXVnQW5mOERPeTd3NSt4MWxNNWtPTUFQ?= =?utf-8?B?WGtkek82S0pzVXdQRmRLWGdBeGxZL2oralArZ1NYdTNDWkNnT1M0SEpKMGZy?= =?utf-8?B?UUNzblVhR3JrV2ExUVIrL052bTEwc2NRZzNTVjVlUTFWQmY2dlo3bkxXemNs?= =?utf-8?B?a2M4cmVSTFBYRDl0QUlBZUpVd1lrSDVmeVg1eVFqNjhCRldnTDdqWDJqdldV?= =?utf-8?B?UHVuUzRnMExUWXpJZXZsdzRQNlF6R0ZlZkxmWHVVZDhHM21wbDJpNmNCQ3VM?= =?utf-8?B?dVU3QWo4cTYxbU1ZMVBVSFJyY3BrNWM4UnJXd0FyT2tjN21RMmkyNjBGRnVa?= =?utf-8?B?RkFpcWxHOFFCTmFXU0xHeUZPTUhhZ2ZBTTd3dHY5dXNxZE5wdm4zTGJCQnlU?= =?utf-8?B?VHVxS3VSajZPKzZqeGZEUzN0QWdTR0ZvSG53emg4V2NENTZtbUZuN0piL1py?= =?utf-8?B?OXArbkV0d2x0dld3dEYrT1Rhdld5dHgvS3psT2JvMURyUTY5S21VZ2RzR29H?= =?utf-8?B?MFBkdFFSTTJRaW5ra2JSUWVKcVRjQzR0aWt6SUh1cW80bG5DMlY0cDA4eVp2?= =?utf-8?B?Q2l4RHE4QmNzUGMzVDNjc2ZEMXFwNHhQM2hTM3crTC9waVNTZ1hWemw1aWtk?= =?utf-8?B?dmxDeHU1R0tCZzJaNk1RdTkvWU9jWjhDUnlibGJBL0pGSUdaOXYrQ2o4Z3pT?= =?utf-8?B?T3FBVzdjMmptaCt3MGNFd1grWTRwS21nc1VCWCtGN1BsTmtMZ1lUTWJtZzJK?= =?utf-8?B?M3FhaU4zSStobWFRbDV6cmRnaUY3c1U4cThCbXdzSXRIdTg5T0E0TkZCaWQw?= =?utf-8?B?RG95YjVoSjNPTTdrSUM5d2tPNjV4ZFFUVFR2VERtVTRIUUtIZzAyVnFVSGpK?= =?utf-8?B?aWhYR1IrdFN2NWxFNnFka3FKZ29wQmFjMHN4RE1sSFlYMmdQSUE0RzcwTXpw?= =?utf-8?B?aUxGRXNXWDBsa1FOUHBBcU5iaHpicnFYdlZOVFRIb2RjdWM5R1BoTFhCb2hj?= =?utf-8?B?VGg0bDlnSERQYUFqYzhwM3JXZm0rK3ZwZFZNdVZXRm9KTnAyUlNlc0xBN3Fq?= =?utf-8?B?cS85L3FtNVVjTWl0aTdENTZLSlM3SnhRcFNwOU9yaUtlOUFXaUk4RUV1aEJz?= =?utf-8?B?TTU2YnlZK0JoN0FJRWhTdkw0L3I5ZGFrZDlSUWZzWFVjYjhQZkxaSk8xcHNI?= =?utf-8?B?V2o1cGZ4amJYdzlDM2pkSXdSeEZqK1ZTWU94STRjUVRXRWREcVZDOXNUQXgy?= =?utf-8?B?aTZLMEFJbWVGZDRja3g3UWF2SkNkb09lZUdncnhMcmJhbWF5ODExMi9TS2ZE?= =?utf-8?B?RjhVbXZ4N1Yvc0RmL1NaN0dTQnhsc3NGUDlvSlJDRm1Vek1SZEQ5b0R5ZGNS?= =?utf-8?B?SlBnSm1BeXBTY3ZmY3MwMS9WZnhxYlgzMmdrQTBNNzdJcVF4YVJURjU0Q2U1?= =?utf-8?B?M0diamFCeFFiSkVwUzZVRDEvblgwV3lQaE04dlJXU1UyVUxSbmZQSlA1WmF5?= =?utf-8?Q?TB7kpv7QivmihFG8=3D?= 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-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DB7PR07MB5978.eurprd07.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 0c701f78-65d2-481a-5ea3-08da3e5d3b40 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 May 2022 14:45:37.3145 (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: bZmSVFHzPcGiJplpom5x/diRVIuQybOJlTrO1cndSugiSt+nEAOw1mtcG2ndAMpxlTZdLYbj4Aua2OMxj8i6RMxoRsX0pPQhWMhJSp6T+mQ= X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR07MB5222 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 T24gMjAyMi0wNS0yNSAwMDoxOCwgU3RlcGhlbiBIZW1taW5nZXIgd3JvdGU6DQo+IFRoZSBQSUUg Y29kZSBhbmQgb3RoZXIgYXBwbGljYXRpb25zIGNhbiBiZW5lZml0IGZyb20gaGF2aW5nIGENCj4g ZmFzdCB3YXkgdG8gZ2V0IGEgcmFuZG9tIGZsb2F0aW5nIHBvaW50IHZhbHVlLiBUaGlzIG5ldyBm dW5jdGlvbg0KPiBpcyBlcXVpdmFsZW50IHRvIGVyYW5kNDhfciBpbiB0aGUgc3RhbmRhcmQgbGli cmFyeS4NCj4gDQoNClNlZW1zIGxpa2UgYSBnb29kIGFkZGl0aW9uIHRvIHRoZSBBUEkuDQoNCj4g U2lnbmVkLW9mZi1ieTogU3RlcGhlbiBIZW1taW5nZXIgPHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIu b3JnPg0KPiAtLS0NCj4gICBhcHAvdGVzdC90ZXN0X3JhbmRfcGVyZi5jICAgICAgICAgICAgICB8 ICA3ICsrKysrKysNCj4gICBkb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdCB8 ICA1ICsrKysrDQo+ICAgbGliL2VhbC9jb21tb24vcnRlX3JhbmRvbS5jICAgICAgICAgICAgfCAy MSArKysrKysrKysrKysrKysrKysrKysNCj4gICBsaWIvZWFsL2luY2x1ZGUvcnRlX3JhbmRvbS5o ICAgICAgICAgICB8IDE3ICsrKysrKysrKysrKysrKysrDQo+ICAgbGliL2VhbC92ZXJzaW9uLm1h cCAgICAgICAgICAgICAgICAgICAgfCAgMSArDQo+ICAgNSBmaWxlcyBjaGFuZ2VkLCA1MSBpbnNl cnRpb25zKCspDQo+IA0KPiBkaWZmIC0tZ2l0IGEvYXBwL3Rlc3QvdGVzdF9yYW5kX3BlcmYuYyBi L2FwcC90ZXN0L3Rlc3RfcmFuZF9wZXJmLmMNCj4gaW5kZXggZmU3OTdlYmZhMWNhLi5mMzYwMmRh NWIyZDQgMTAwNjQ0DQo+IC0tLSBhL2FwcC90ZXN0L3Rlc3RfcmFuZF9wZXJmLmMNCj4gKysrIGIv YXBwL3Rlc3QvdGVzdF9yYW5kX3BlcmYuYw0KPiBAQCAtMjAsNiArMjAsNyBAQCBzdGF0aWMgdm9s YXRpbGUgdWludDY0X3QgdnN1bTsNCj4gICANCj4gICBlbnVtIHJhbmRfdHlwZSB7DQo+ICAgCXJh bmRfdHlwZV82NCwNCj4gKwlyYW5kX3R5cGVfZmxvYXQsDQo+ICAgCXJhbmRfdHlwZV9ib3VuZGVk X2Jlc3RfY2FzZSwNCj4gICAJcmFuZF90eXBlX2JvdW5kZWRfd29yc3RfY2FzZQ0KPiAgIH07DQo+ IEBAIC0zMCw2ICszMSw4IEBAIHJhbmRfdHlwZV9kZXNjKGVudW0gcmFuZF90eXBlIHJhbmRfdHlw ZSkNCj4gICAJc3dpdGNoIChyYW5kX3R5cGUpIHsNCj4gICAJY2FzZSByYW5kX3R5cGVfNjQ6DQo+ ICAgCQlyZXR1cm4gIkZ1bGwgNjQtYml0IFtydGVfcmFuZCgpXSI7DQo+ICsJY2FzZSByYW5kX3R5 cGVfZmxvYXQ6DQo+ICsJCXJldHVybiAiRmxvYXRpbmcgcG9pbnQgW3J0ZV9yYW5kX2Zsb2F0KCld IjsNCj4gICAJY2FzZSByYW5kX3R5cGVfYm91bmRlZF9iZXN0X2Nhc2U6DQo+ICAgCQlyZXR1cm4g IkJvdW5kZWQgYXZlcmFnZSBiZXN0LWNhc2UgW3J0ZV9yYW5kX21heCgpXSI7DQo+ICAgCWNhc2Ug cmFuZF90eXBlX2JvdW5kZWRfd29yc3RfY2FzZToNCj4gQEAgLTU1LDYgKzU4LDkgQEAgdGVzdF9y YW5kX3BlcmZfdHlwZShlbnVtIHJhbmRfdHlwZSByYW5kX3R5cGUpDQo+ICAgCQljYXNlIHJhbmRf dHlwZV82NDoNCj4gICAJCQlzdW0gKz0gcnRlX3JhbmQoKTsNCj4gICAJCQlicmVhazsNCj4gKwkJ Y2FzZSByYW5kX3R5cGVfZmxvYXQ6DQo+ICsJCQlzdW0gKz0gcnRlX3JhbmRfZmxvYXQoKSAqIFVJ TlQ2NF9NQVg7DQo+ICsJCQlicmVhazsNCj4gICAJCWNhc2UgcmFuZF90eXBlX2JvdW5kZWRfYmVz dF9jYXNlOg0KPiAgIAkJCXN1bSArPSBydGVfcmFuZF9tYXgoQkVTVF9DQVNFX0JPVU5EKTsNCj4g ICAJCQlicmVhazsNCj4gQEAgLTgzLDYgKzg5LDcgQEAgdGVzdF9yYW5kX3BlcmYodm9pZCkNCj4g ICAJcHJpbnRmKCJQc2V1ZG8tcmFuZG9tIG51bWJlciBnZW5lcmF0aW9uIGxhdGVuY2llczpcbiIp Ow0KPiAgIA0KPiAgIAl0ZXN0X3JhbmRfcGVyZl90eXBlKHJhbmRfdHlwZV82NCk7DQo+ICsJdGVz dF9yYW5kX3BlcmZfdHlwZShyYW5kX3R5cGVfZmxvYXQpOw0KPiAgIAl0ZXN0X3JhbmRfcGVyZl90 eXBlKHJhbmRfdHlwZV9ib3VuZGVkX2Jlc3RfY2FzZSk7DQo+ICAgCXRlc3RfcmFuZF9wZXJmX3R5 cGUocmFuZF90eXBlX2JvdW5kZWRfd29yc3RfY2FzZSk7DQo+ICAgDQo+IGRpZmYgLS1naXQgYS9k b2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdCBiL2RvYy9ndWlkZXMvcmVsX25v dGVzL3JlbGVhc2VfMjJfMDcucnN0DQo+IGluZGV4IGU0OWNhY2VjZWZkNC4uMTI4ZDRmY2E4NWIz IDEwMDY0NA0KPiAtLS0gYS9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdA0K PiArKysgYi9kb2MvZ3VpZGVzL3JlbF9ub3Rlcy9yZWxlYXNlXzIyXzA3LnJzdA0KPiBAQCAtMTA0 LDYgKzEwNCwxMSBAQCBOZXcgRmVhdHVyZXMNCj4gICAgICogYGBSVEVfRVZFTlRfUVVFVUVfQVRU Ul9XRUlHSFRgYA0KPiAgICAgKiBgYFJURV9FVkVOVF9RVUVVRV9BVFRSX0FGRklOSVRZYGANCj4g ICANCj4gKyogKiogQWRkZWQgZnVuY3Rpb24gZ2V0IHJhbmRvbSBmbG9hdGluZyBwb2ludCBudW1i ZXIuKioNCj4gKw0KPiArICBBZGRlZCB0aGUgZnVuY3Rpb24gYGBydGVfcmFuZF9mbG9hdCgpYGAg dG8gcHJvdmlkZSBhIHBzZXVkby1yYW5kb20NCj4gKyAgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLg0K PiArDQo+ICAgDQo+ICAgUmVtb3ZlZCBJdGVtcw0KPiAgIC0tLS0tLS0tLS0tLS0NCj4gZGlmZiAt LWdpdCBhL2xpYi9lYWwvY29tbW9uL3J0ZV9yYW5kb20uYyBiL2xpYi9lYWwvY29tbW9uL3J0ZV9y YW5kb20uYw0KPiBpbmRleCA0NTM1Y2M5ODBjZWMuLjAyNGMzYzQxZGMxNiAxMDA2NDQNCj4gLS0t IGEvbGliL2VhbC9jb21tb24vcnRlX3JhbmRvbS5jDQo+ICsrKyBiL2xpYi9lYWwvY29tbW9uL3J0 ZV9yYW5kb20uYw0KPiBAQCAtNiw2ICs2LDcgQEANCj4gICAjaW5jbHVkZSA8eDg2aW50cmluLmg+ DQo+ICAgI2VuZGlmDQo+ICAgI2luY2x1ZGUgPHVuaXN0ZC5oPg0KPiArI2luY2x1ZGUgPGllZWU3 NTQuaD4NCj4gICANCg0KSXMgdGhpcyBBUEkgYXZhaWxhYmxlIGluIEZyZWVCU0Q/IEluIFdpbmRv d3M/DQoNCj4gICAjaW5jbHVkZSA8cnRlX2JyYW5jaF9wcmVkaWN0aW9uLmg+DQo+ICAgI2luY2x1 ZGUgPHJ0ZV9jeWNsZXMuaD4NCj4gQEAgLTE3Myw2ICsxNzQsMjYgQEAgcnRlX3JhbmRfbWF4KHVp bnQ2NF90IHVwcGVyX2JvdW5kKQ0KPiAgIAlyZXR1cm4gcmVzOw0KPiAgIH0NCj4gICANCj4gK2Rv dWJsZQ0KPiArcnRlX3JhbmRfZmxvYXQodm9pZCkNCj4gK3sNCj4gKwlzdHJ1Y3QgcnRlX3JhbmRf c3RhdGUgKnN0YXRlID0gX19ydGVfcmFuZF9nZXRfc3RhdGUoKTsNCj4gKwl1bmlvbiBpZWVlNzU0 X2RvdWJsZSB1ID0gew0KPiArCQkuaWVlZSA9IHsNCj4gKwkJCS5uZWdhdGl2ZSA9IDAsDQo+ICsJ CQkuZXhwb25lbnQgPSBJRUVFNzU0X0RPVUJMRV9CSUFTLA0KPiArCQl9LA0KPiArCX07DQo+ICsJ dWludDY0X3QgdmFsOw0KPiArDQo+ICsJLyogVGFrZSA2NCBiaXQgcmFuZG9tIHZhbHVlIGFuZCBw dXQgaXQgaW50byB0aGUgbWFudGlzc2EgKi8NCj4gKwl2YWwgPSBfX3J0ZV9yYW5kX2xmc3IyNTgo c3RhdGUpOw0KPiArCXUuaWVlZS5tYW50aXNzYTAgPSB2YWwgPj4gMzI7CS8qIG9ubHkgMjAgYml0 cyB1c2VkICovDQo+ICsJdS5pZWVlLm1hbnRpc3NhMSA9ICh1aW50MzJfdCl2YWw7DQoNCldoeSBk byB5b3UgaGF2ZSBhIGNhc3QgaGVyZSwgYW5kIG5vdCBmb3IgbWFudGlzc2EwPyBCb3RoIHdpbGwg aW5jdXIgYSANCjY0LT4zMiBjb252ZXJzaW9uLCBhc3N1bWluZyB1bnNpZ25lZCBpbnQgaXMgMzIt Yml0ICh3aGljaCBpdCBpcyBvbiBhbGwgDQpwbGF0Zm9ybXMgRFBESyBzdXBwb3J0cz8pLg0KDQpU aGUgbmFpdmUgaW1wbGVtZW50YXRpb24gKGkuZS4sIChkb3VibGUpcnRlX3JhbmQoKSAvIChkb3Vi bGUpVUlOVDY0X01BWCkgDQp3b3VsZCBjb3N0IGEgZmxvYXRpbmcgcG9pbnQgbXVsdGlwbGljYXRp b24uIFRoYXQncyB3aHkgeW91IGFjY2VzcyB0aGUgDQp1bmRlcmx5aW5nIElFRUU3NTQgYml0cyBk aXJlY3RseS4gQ29ycmVjdD8NCg0KPiArDQo+ICsJcmV0dXJuIHUuZCAtIDEuMDsNCj4gK30NCj4g Kw0KPiAgIHN0YXRpYyB1aW50NjRfdA0KPiAgIF9fcnRlX3JhbmRvbV9pbml0aWFsX3NlZWQodm9p ZCkNCj4gICB7DQo+IGRpZmYgLS1naXQgYS9saWIvZWFsL2luY2x1ZGUvcnRlX3JhbmRvbS5oIGIv bGliL2VhbC9pbmNsdWRlL3J0ZV9yYW5kb20uaA0KPiBpbmRleCAyOWY1ZjEzMjVhMzAuLjU1M2Jl YjJkOWM2ZiAxMDA2NDQNCj4gLS0tIGEvbGliL2VhbC9pbmNsdWRlL3J0ZV9yYW5kb20uaA0KPiAr KysgYi9saWIvZWFsL2luY2x1ZGUvcnRlX3JhbmRvbS5oDQo+IEBAIC02NSw2ICs2NSwyMyBAQCBy dGVfcmFuZCh2b2lkKTsNCj4gICB1aW50NjRfdA0KPiAgIHJ0ZV9yYW5kX21heCh1aW50NjRfdCB1 cHBlcl9ib3VuZCk7DQo+ICAgDQo+ICsvKioNCj4gKyAqIEB3YXJuaW5nDQo+ICsgKiBAYiBFWFBF UklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UNCj4gKyAq DQo+ICsgKiBHZW5lcmF0ZXMgYSBwc2V1ZG8tcmFuZG9tIGZsb2F0aW5nIHBvaW50IG51bWJlci4N Cj4gKyAqDQo+ICsgKiBUaGlzIGZ1bmN0aW9uIHJldHVybnMgYSBub25uZWdhdGl2ZSBkb3VibGUt cHJlY2lzb24gZmxvYXRpbmcgcmFuZG9tDQo+ICsgKiBudW1iZXIgdW5pZm9ybWx5IGRpc3RyaWJ1 dGVkIG92ZXIgdGhlIGludGVydmFsIFswLjAsIDEuMCkuDQo+ICsgKg0KPiArICogSWYgY2FsbGVk IGZyb20gbGNvcmUgdGhyZWFkcywgdGhpcyBmdW5jdGlvbiBpcyB0aHJlYWQtc2FmZS4NCj4gKyAq DQo+ICsgKiBAcmV0dXJuDQo+ICsgKiAgIEEgcHNldWRvLXJhbmRvbSB2YWx1ZSBiZXR3ZWVuIDAg YW5kIDEuMC4NCj4gKyAqLw0KPiArX19ydGVfZXhwZXJpbWVudGFsDQo+ICtkb3VibGUgcnRlX3Jh bmRfZmxvYXQodm9pZCk7DQo+ICsNCg0KTmV3bGluZSBhZnRlciAiZG91YmxlIiBtaXNzaW5nLg0K DQpJIHdvdWxkIGNhbGwgaXQgc29tZXRoaW5nIGVsc2UgdGhhbiAiZmxvYXQiLCBpbiBwYXJ0aWN1 bGFyIHNpbmNlIGl0IA0KZG9lc24ndCByZXR1cm4gImZsb2F0IiBidXQgYSAiZG91YmxlIiB0eXBl IGZsb2F0aW5nIHBvaW50IHZhbHVlLg0KDQpydGVfZHJhbmQoKSBtYXliZT8gU2hvcnQsIGJ1dCBt aWdodCBiZSBjb25mdXNlZCB3aXRoIHJ0ZV9yYW5kKCksIGdpdmVuIA0KdGhlIHZpc3VhbCBzaW1p bGFyaXR5LiBJIHN0aWxsIEkgd291bGQgc3RpbGwgcHJlZmVyIHRoYXQgb3ZlciANCnJ0ZV9yYW5k X2RvdWJsZSgpLg0KDQo+ICAgI2lmZGVmIF9fY3BsdXNwbHVzDQo+ICAgfQ0KPiAgICNlbmRpZg0K PiBkaWZmIC0tZ2l0IGEvbGliL2VhbC92ZXJzaW9uLm1hcCBiL2xpYi9lYWwvdmVyc2lvbi5tYXAN Cj4gaW5kZXggZDQ5ZTMwYmQwNDJmLi44NjE5MDZhZjI5OTkgMTAwNjQ0DQo+IC0tLSBhL2xpYi9l YWwvdmVyc2lvbi5tYXANCj4gKysrIGIvbGliL2VhbC92ZXJzaW9uLm1hcA0KPiBAQCAtNDIyLDYg KzQyMiw3IEBAIEVYUEVSSU1FTlRBTCB7DQo+ICAgCXJ0ZV9pbnRyX3R5cGVfc2V0Ow0KPiAgIA0K PiAgIAkjIGFkZGVkIGluIDIyLjA3DQo+ICsgICAgICAgIHJ0ZV9yYW5kX2Zsb2F0Ow0KPiAgIAly dGVfdGhyZWFkX2dldF9hZmZpbml0eV9ieV9pZDsNCj4gICAJcnRlX3RocmVhZF9zZWxmOw0KPiAg IAlydGVfdGhyZWFkX3NldF9hZmZpbml0eV9ieV9pZDsNCg0K