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 4AE24A04AF; Mon, 4 May 2020 10:04:14 +0200 (CEST) Received: from [92.243.14.124] (localhost [127.0.0.1]) by dpdk.org (Postfix) with ESMTP id DF17A1D181; Mon, 4 May 2020 10:04:13 +0200 (CEST) Received: from EUR03-AM5-obe.outbound.protection.outlook.com (mail-eopbgr30055.outbound.protection.outlook.com [40.107.3.55]) by dpdk.org (Postfix) with ESMTP id 95DB41D152 for ; Mon, 4 May 2020 10:04:12 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=nv3vumYq3HbmN6IgaqjiuXv5iQuJp92APNyFzf6WVkhcgOVPbeVzRpr6V+Na7gnZbr2NTkfBMx/1blMl+ZQHJsFClHs9CgjAjajnyL0DQKIQvr2DU5Cam2ULp5iist3zKpI/xfY95sL3pglgEtRm+C2bF2hW5jue62uufWu3/QlMI8tojuRhurvFj9IA6xs04W3za0fsshT15PF5pR5nOo4RFxip84WkHPAmSdKp/JHZbXgIDcNlE0g0hBgYME0Yqlq1sBvc68zXB9PUs5ErULOe+FJ5hNp533MYfeG5jaXrVbXAUTzVLCd5zsFMUn40hk5gmUiVvTilG4KNY8GShg== 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=FGrpVdF2ZxoIkaYfL0lMWZr48Dl0FtoBQAL0GCYcRhs=; b=Fgp0QgHJDyr14XNCI9DqF+QJDI0taeasyfzCP4ah1s1QxLPXFmeo6VQnOqZRs4qddjwVU7bsEao5v18UArUZba4R9slIbCOkf+1U6ZLbCRRry0ljXIqtXqJ/89GH3et4lOTMziAVBDKaPt2ecoLRyP8FRxpbHK4LcxtbekpaJvPjBWEX8eWU3HJQHk43RpgIixpP6U5MD0rvUdWqxvB/q750OK+cC4Zu4uNRwHZ2pfUrMu6m5pA/F/5frA6NSaEg8JGOihGlTQhJBgKRs7xEexsS/DCl4UlsdF1VOf4/CKOfaLbD8Abpc4+1c9j8fKO0RGJdZbfdwBIW+rpUlkm07Q== 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=FGrpVdF2ZxoIkaYfL0lMWZr48Dl0FtoBQAL0GCYcRhs=; b=ejuMpj7ttY+nj61xsFPU/u0agpYeOJ2Az8SzfFqElmy3Ypwl+9BDppji+950svXo/+2HzxN69DNSd7r550V8U+mW9ZUW/OahteUhaYMO/5Sj/uiQ4qKWPhx7rATl4GlAUy8ZrhafzFCmQPlSTM4Dk+nHN+Su3DPCYGltvj9NTqY= Received: from HE1PR07MB4284.eurprd07.prod.outlook.com (2603:10a6:7:9f::29) by HE1PR07MB4284.eurprd07.prod.outlook.com (2603:10a6:7:9f::29) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.2979.24; Mon, 4 May 2020 08:04:11 +0000 Received: from HE1PR07MB4284.eurprd07.prod.outlook.com ([fe80::542b:7b22:1f38:d985]) by HE1PR07MB4284.eurprd07.prod.outlook.com ([fe80::542b:7b22:1f38:d985%5]) with mapi id 15.20.2979.024; Mon, 4 May 2020 08:04:11 +0000 From: =?utf-8?B?TWF0dGlhcyBSw7ZubmJsb20=?= To: Dan Gora , Luca Boccassi CC: "dev@dpdk.org" , David Marchand , Jerin Jacob Thread-Topic: [dpdk-dev] [PATCH 2/2] eal: resolve getentropy at run time for random seed Thread-Index: AQHWGBbnpsAMgpsIskSJw+C3jfMzDaiEz+sAgACbHACAACoRgIAABbyAgADiFgCAAH7sgIAF9xOAgABGwICABCyQgIAAybWAgADnxgCAALCnAIAD3KUA Date: Mon, 4 May 2020 08:04:11 +0000 Message-ID: <7e0c2b55-e842-d5a2-017e-d85194e37452@ericsson.com> References: <20200421195446.1730-1-dg@adax.com> <20200421195446.1730-3-dg@adax.com> <5df15087-781e-d27f-b7d8-50b1b8cb0c94@ericsson.com> <80e5cf97-feae-c753-5c65-4f3b121729f3@ericsson.com> <9782db5b1e5d2dfdcfa8e52410fd166df5db938d.camel@debian.org> 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.7.0 authentication-results: adax.com; dkim=none (message not signed) header.d=none;adax.com; dmarc=none action=none header.from=ericsson.com; x-originating-ip: [95.205.53.71] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 9808f96a-2fd1-40ae-7380-08d7f001baca x-ms-traffictypediagnostic: HE1PR07MB4284: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:9508; x-forefront-prvs: 03932714EB x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: VxOk2TEHeN51cSCa/D2WkqutpGvNM24L063Pf+aFVwG4+T+aalwEK6cdtEfmj411GDL5ZJ0AEDqCYQPv1wqtSn/y13+chZneND88UlEkOKz+EB9GOFmT58jHhzZbeU7AgAq1spmUXZ4AOLwIIELt/su00Q+gVPm2/uZYT7UTB3AL5r8NYqMqAFzK7JIKvC8OFX+BuSK8JE+q3Y1m75qPqSK+/B8aCEDc+qNx46BUvGitVHX4ryZL6pdmSO+q7/0DiGrZZYGG02CUmWVe/NpKSiNRxl09J+M6WTBJN5/u6lai9EMuczKxgDnSkobU8h4XVi+3t8n7oUHW6pazds9ef3K6nlVGw0r7oZHUknjgLRUZ5GPc/oxopvejfXT1GDydUNFAQajRUmiviYBYYwRq4yrq+VgrQAVdnWIv5N7NJW3op6qRUOAT+Sa3Df/mc9Za x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:HE1PR07MB4284.eurprd07.prod.outlook.com; PTR:; CAT:NONE; SFTY:; SFS:(4636009)(396003)(136003)(39860400002)(346002)(366004)(376002)(31696002)(5660300002)(6512007)(2616005)(6506007)(53546011)(85182001)(36756003)(26005)(186003)(71200400001)(76116006)(4326008)(54906003)(66946007)(316002)(86362001)(8676002)(66446008)(2906002)(66476007)(66556008)(64756008)(110136005)(8936002)(478600001)(6486002)(31686004)(85202003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata: qx7YhOLV5zCRrf3cy130VLA+g9/PIC0rFZPNNIi1U4FNrvXV/noPPeBz2Af/YZDiGj8/lsBWwlLcWR4fIfu38UVEPSOvmSw4Vy2wseiD9M4mGFa+VKBu1+CEse47Jqkeo0dDsYn2qsPjSQUzRiQmY4Ttm2sKIB9yMf219ME5RpjN4L7c0hzkQ857+C5Tslvl8Q8jxhcojcddGxtX1WR73IVHk6BC0VPBS4tlGUFVcBbDUC3XPB5JdzIYJAi5oP7ylDnF7PShgCLPhg9lY13h9PBAcDVZI8lBsuAWsHme+fMV2++0Yavqi64opELZllFi/TsgnfC0k+W2T0+hxuvCM4laJb/X0jvuH57i7jeYegDVcyJz8h2+Ez/DJU5SY+0X2JcByRzpyvveo6C0YuttUtddweMbxA1fFEiFjLY3uTcQonnx9twU6M/k+FpCb8eJC9+U4yLOrb8BSlz3leb9l++BSmQNXyc/EdBz/f5Fj/Aq1TkEB3oJ0b3Ql+kazYaDwJFYSM4HQlyMKVYziG59bn5ba1XNQuXe7ftFE4hs85qQHr2D0/QP7QREPUjRWjqFkgJ+1oBzIIV/EYaMF0PIWnnFTP/ULkxNFP/uxMyt3SuBKOAaaUN37q/YSEJ+Lx9DU1DUl+i/VXXw+XKKnROILZcfBs7j9Sgx/pkEinrNM3IByrmIV9zqT0aRjBNm9qxVCNyRSCO8/xBH4jII7IfgALGa22q9nOUtj1hv3pXXQldQNIRdwRxVg2frWvmiq9+ZJUoL9WnkEaEErn/fhjS0QsnTgmuXWHbghYfXh/PEme0= 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: 9808f96a-2fd1-40ae-7380-08d7f001baca X-MS-Exchange-CrossTenant-originalarrivaltime: 04 May 2020 08:04:11.3759 (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: uMhmtNX+0YYLgWkiHeGa5A+PPAs5PU725bUTFIeldYNEHtBw0JMVHDfXvpo50KiBONO5AUI6QcdORi2xZTqRgQfANI+t+7M6Bz8GktPTg8I= X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB4284 Subject: Re: [dpdk-dev] [PATCH 2/2] eal: resolve getentropy at run time for random seed 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" T24gMjAyMC0wNS0wMSAyMzowNSwgRGFuIEdvcmEgd3JvdGU6DQo+IE9uIEZyaSwgTWF5IDEsIDIw MjAgYXQgMToyOSBQTSBMdWNhIEJvY2Nhc3NpIDxibHVjYUBkZWJpYW4ub3JnPiB3cm90ZToNCj4+ PiBXZWxsLCBubywgYmVjYXVzZSByZHNlZWQgaXMgdXNlZCBmaXJzdCBpZiBhdmFpbGFibGUgYW5k IC9kZXYvdXJhbmRvbQ0KPj4+IGlzIHVzZWQgbmV4dC4uDQo+Pj4NCj4+PiBBbmQgdGhpcyBpcyBu b3QgYSBjb3JuZXIgY2FzZSBhdCBhbGwuLiBUaGVyZSBhcmUgbG90cyBvZiBsaW51eA0KPj4+IGRp c3RyaWJ1dGlvbnMgd2hpY2ggRFBESyBjbGFpbXMgdG8gc3VwcG9ydCB3aGljaCBkbyBub3Qgc3Vw cG9ydA0KPj4+IGdldGVudHJvcHkoKS4gIFRoaXMgaXMgaGFyZGx5IGEgbm9uLXN0YW5kYXJkIGJ1 aWxkIHN5c3RlbS4gIFlvdSByZWFsbHkNCj4+PiBjb21waWxlIGFuZCBzdXBwb3J0IGEgc2VwYXJh dGUgYmluYXJ5IGZvciBldmVyeSBwb3NzaWJsZSBzeXN0ZW0gdGhhdA0KPj4+IHlvdXIgY3VzdG9t ZXJzIHdpbGwgdXNlPw0KPj4gWWVzLCB0aGF0J3MgaG93IExpbnV4IGRpc3RyaWJ1dGlvbnMgd29y ay4gQXQgdGhlIHZlcnkgbGVhc3QsIG1vc3QNCj4+IGRlcGxveW1lbnRzIGVuc3VyZSBkZXBlbmRl bmNpZXMgYXJlIG5vdCBkb3duZ3JhZGVkLCBhcyB0aGF0J3MgcmFyZWx5DQo+PiBzdXBwb3J0ZWQs IGZvciB2ZXJ5IGdvb2QgcmVhc29ucy4NCj4gSSBjYW4gYXNzdXJlIHlvdSB0aGF0IG1vc3QgY29t bWVyY2lhbCBjb21wYW5pZXMgZG8gbm90IHdhbnQgdG8gaGF2ZSB0bw0KPiBzdXBwb3J0IGJ1aWxk aW5nIGEgc2VwYXJhdGUgYmluYXJ5IG9mIHRoZWlyIHByb2R1Y3QgZm9yIGV2ZXJ5IHNpbmNlDQo+ IHZlcnNpb24gb2YgZXZlcnkgc2luZ2xlIGxpbnV4IGRpc3RyaWJ1dGlvbi4gIEFuZCBhZ2FpbiBu byBkZXBlbmRlbmNpZXMNCj4gYXJlIGJlaW5nICJkb3duZ3JhZGVkIiBoZXJlLiAgVGhlIGJpbmFy eSB3aWxsIHVzZSB0aGUgX2Jlc3RfIG1ldGhvZA0KPiBhdmFpbGFibGUgb24gdGhlIHRhcmdldCBz eXN0ZW0sIG5vdCB0aGUgbGVhc3QgY29tbW9uIGRlbm9taW5hdG9yIG9mDQo+IHRoZSBidWlsZCBz eXN0ZW0gYXMgaXQgZG9lcyBub3cuDQo+DQo+IEkgZG9uJ3QgcmVhbGx5IGNvbnNpZGVyIHRoYXQg dXNpbmcgJy9kZXYvdXJhbmRvbScgaXMgYSAiZG93bmdyYWRlIg0KPiBmcm9tIGdldGVudHJvcHko KS4gIGdldGVudHJvcHkoKSB3YXMgb25seSBpbnRyb2R1Y2VkIGluIHRoZSBsYXN0DQo+IGNvdXBs ZSBvZiB5ZWFycywgc28gaXQncyBub3QgbGlrZSBpdCB3YXMgc29tZSBzdXBlciBpbXBvcnRhbnQg bmV3DQo+IG1ldGhvZCBvZiBnZXR0aW5nIHJhbmRvbSBudW1iZXJzLCBpdCdzIGp1c3QgYSBtb3Jl IGNvbnZlbmllbnQgbWV0aG9kLg0KPiBVbmRlciB0aGUgaG9vZCwgSSB3b3VsZCBndWVzcyBib3Ro IG1ldGhvZHMgYXJlIGV4YWN0bHkgdGhlIHNhbWUgYW5kDQo+IHdpbGwgZ2l2ZSB5b3UgdGhlIHNh bWUgcXVhbGl0eSBvZiByYW5kb20gbnVtYmVyLiAgSXQncyBqdXN0IHRoZSBBUEkNCj4gaW50ZXJm YWNlIHdoaWNoIGhhcyBiZWVuIGltcHJvdmVkLiAgQW5kIEkgZG9uJ3Qgc2VlIC9kZXYvdXJhbmRv bSBnb2luZw0KPiBhd2F5IGFueSB0aW1lIHNvb24uDQo+DQo+IEFnYWluLCBpZiB5b3UncmUgc3Rp bGwgaHVuZyB1cCBvbiB1c2luZyAvZGV2L3VyYW5kb20gd2UgY2FuIHVzZSB2MyBvZg0KPiBteSBw YXRjaCB0byBzZWFyY2ggZm9yIHRoZSBnZXRlbnRyb3B5KCkgIHN5bWJvbC4NCj4NCj4+PiBBbmQg d2hhdCBpcyB0aGlzIGFib3V0IHRoaXJkIHBhcnRpZXM/ICBMYXN0IEkgY2hlY2tlZCBEUERLIHdh cyBhbiBBUEkNCj4+PiBmcmFtZXdvcmssIG5vdCBhIHByb3ByaWV0YXJ5IHN0YW5kYWxvbmUgYXBw bGljYXRpb24uICBJdCBpcyBkZXNpZ25lZCwNCj4+PiBieSBkZWZpbml0aW9uLCB0byBiZSB1c2Vk IGJ5ICJ0aGlyZCBwYXJ0aWVzIi4gIE9yIGRvZXMgaXQgb25seSBoYXZlIHRvDQo+Pj4gd29yayBp biBJbnRlbCdzIHRvb2xjaGFpbnM/DQo+PiBUaGlyZCBwYXJ0eSB3YXMgdGhlIHdyb25nIGV4cHJl c3Npb24uIERQREsgaXMgYSBzZXQgb2YgbGlicmFyaWVzIHdpdGggYQ0KPj4gYnVpbGQgc3lzdGVt ICh0d28gYWN0dWFsbHkpIHdoaWNoIGxpbmtzIHRoZW0gYWdhaW5zdCB0aGVpcg0KPj4gZGVwZW5k ZW5jaWVzLiBJdCBpcyB0aGUgcmVwb25zaWJpbGl0eSBvZiB3aG8gZG9lcyBkZXBsb3ltZW50IHRv IG1ha2UNCj4+IHN1cmUgdGhvc2UgZGVwZW5kZW5jaWVzLCBhcyBlc3RhYmxpc2hlZCBhdCBidWls ZCB0aW1lLCBhcmUgc2F0aXNmaWVkIGF0DQo+PiBydW50aW1lLiBVcCB1bnRpbCBub3csIGRvd25n cmFkaW5nIGF0IHJ1bnRpbWUgdnMgYnVpbGQgdGltZSB3YXMgbm90DQo+PiBzdXBwb3J0ZWQgYXMg ZmFyIGFzIEkga25vdywNCj4gT2YgY291cnNlIGl0IGlzLi4gVGhhdCB3aHkgdGhlIHJ0ZV9jcHVf Z2V0X2ZsYWdfZW5hYmxlZCgpIGZ1bmN0aW9uDQo+IGV4aXN0cywgc28gdGhhdCB0aGUgY29kZSBj YW4gY2hvb3NlIHRoZSBiZXN0IGZ1bmN0aW9uIGF0IHJ1bi10aW1lLCBub3QNCj4gYXQgYnVpbGQg dGltZS4gIFRoZXJlIGFyZSBudW1lcm91cyBleGFtcGxlcyBvZiB0aGlzIGluIERQREsgYWxyZWFk eS4NCj4NCj4+IHNvIHdoYXQgeW91IGFyZSBlZmZlY3RpdmVseSBhc2tpbmcgaXMgdG8NCj4+IGRv dWJsZSB0aGUgc2l6ZSBvZiB0aGUgc3VwcG9ydCBtYXRyaXgsIGFuZCBmb3IgdGhlIHByb2plY3Qg dG8gZW5zdXJlDQo+PiB0aGF0IGV2ZXJ5IHNpbmdsZSBkZXBlbmRlbmN5IGNhbiBhbHdheXMgYmUg YnVpbHQgYWdhaW5zdCBhIG5ldyB2ZXJzaW9uDQo+PiBhbmQgdXNlZCBhZ2FpbnN0IGFuIG9sZGVy IG9uZS4NCj4gTm8sIHRoaXMgaXMgbm90IGNvcnJlY3QuICBUaGUgc2l6ZSBvZiB0aGUgc3VwcG9y dC90ZXN0IG1hdHJpeCBpcw0KPiBleGFjdGx5IHRoZSBzYW1lLCB3aGF0IGNoYW5nZXMgaXMgdGhl IG51bWJlciBvZiBidWlsZCBzeXN0ZW1zIHRoYXQNCj4gaGF2ZSB0byBiZSBzdXBwb3J0ZWQuDQo+ DQo+IEJlZm9yZSBteSBwYXRjaGVzIHlvdSBoYWQgdG8gdGVzdCB0YXJnZXRzIHdpdGg6DQo+DQo+ IG5vIHJkc2VlZCBhbmQgbm8gZ2V0ZW50cm9weQ0KPiByZHNlZWQgYW5kIG5vIGdldGVudHJvcHkN Cj4gbm8gcmRzZWVkIGFuZCBnZXRlbnRyb3B5DQo+IHJkc2VlZCBhbmQgZ2V0ZW50cm9weS4NCg0K DQpyZHNlZWQgd2lsbCBnbyBhd2F5IGV2ZW50dWFsbHksIHdoZW4gYWxsIHJlYXNvbmFibGUgc3lz dGVtcyBoYXZlIA0KZ2V0ZW50cm9weSgpLiBUaGF0IG1pZ2h0IHdlbGwgdGFrZSBhIGNvdXBsZSBv ZiB5ZWFycy4NCg0KDQo+IEZvciBlYWNoIG9mIHRoZXNlIHRlc3QgY2FzZXMgeW91IGhhZCB0byBo YXZlIGEgc2VwYXJhdGUgYnVpbGQgc3lzdGVtDQo+IHRvIGdlbmVyYXRlIGEgZGlmZmVyZW50IGJp bmFyeSAobGV0J3Mgc2F5IGFwcC90ZXN0KS4NCj4NCj4gT2ggYW5kIHlvdSBhbHNvIGhhZCB0byB0 ZXN0IHdpdGggYnVpbGRpbmcgd2l0aCBtYWtlIGFuZCBidWlsZGluZyB3aXRoDQo+IG1lc29uIGJl Y2F1c2UgZ2V0ZW50cm9weSB3YXMgb25seSBzdXBwb3J0ZWQgd2l0aCBtZXNvbi4NCj4NCj4gTm93 LCB3aXRoIG15IHBhdGNoZXMsIHlvdSBjYW4gYnVpbGQgJ2FwcC90ZXN0JyBvbiAqYW55KiBvZiB0 aGVzZQ0KPiBzeXN0ZW1zLCBhbmQgdXNlIG1ha2UgX29yXyBtZXNvbiwgYW5kIGl0IHdpbGwgcnVu IGV4YWN0bHkgdGhlIHNhbWUNCj4gd2F5IGFzIGlmIHlvdSBjb21waWxlZCBpdCBvbiB0aGUgbWF0 Y2hpbmcgdGVzdCBzeXN0ZW0uDQo+DQo+IFRoYXQgaXMgdGhlIGRpZmZlcmVuY2UuDQo+DQo+IExl dCdzIHRha2UgYW5vdGhlciBleGFtcGxlOiAgU2F5IEkgaGF2ZSBhbiBhcHBsaWNhdGlvbiB3aGlj aCBJIGhhdmUgdG8NCj4gc3VwcG9ydCBvbiBSSEVMIDcuNyBhbmQgNy41LiAgNy43IGhhcyBnZXRl bnRyb3B5LCA3LjUgZG9lcyBub3QgKGlnbm9yZQ0KPiB0aGUgcmRzZWVkIGNhc2UgZm9yIG5vdyku DQo+DQo+IFNvIEkgYW0gZmFjZWQgd2l0aDoNCj4gMSkgQnVpbGQgb24gdGhlIFJIRUwgNy43IHN5 c3RlbS4gIFRoaXMgYWxsb3dzIHRoZSBhcHAgdG8gdXNlDQo+IGdldGVudHJvcHkoKSwgYnV0IGl0 ICBjYW5ub3QgcnVuIG9uIDcuNS4NCj4gMikgQnVpbGQgb24gdGhlIFJIRUwgNy41IHN5c3RlbS4g IFRoaXMgYWxsb3dzIHRoZSBhcHAgdG8gcnVuIG9uIDcuNQ0KPiBhbmQgNy43LCBidXQgb25seSB1 c2VzIHRoZSBUU0MgY291bnRlci4NCj4gMykgQnVpbGQgb24gYm90aCBzeXN0ZW1zLiAgT2ssIG5v dyBJIGhhdmUgdG8gYnVpbGQgYW5kIHN1cHBvcnQgdHdvDQo+IHNlcGFyYXRlIGJpbmFyaWVzLg0K PiA0KSBEZXRlcm1pbmUgaWYgIGdldGVudHJvcHkoKSBleGlzdHMgYXQgcnVuIHRpbWUgb3IgdXNl IC9kZXYvdXJhbmRvbS4NCj4gTm93IEkgY2FuIGJ1aWxkIG9uIGVpdGhlciBzeXN0ZW0gYW5kIGl0 IHdpbGwgdXNlIGdldGVudHJvcHkoKSBvbiA3LjcNCj4gYW5kIHRoZSBUU0MgY291bnRlciBvbiA3 LjUuDQoNCg0KWW91IGJ1aWxkIGFnYWluc3QgdGhlIG9sZGVzdCBsaWJjIHN1cHBvcnRlZC4gVGhl IHJlc3Qgb2YgdGhlIA0KZGVwZW5kZW5jaWVzLCB5b3UgY2Fycnkgd2l0aCB5b3VyIGFwcGxpY2F0 aW9uLiBBZ2FpbiwgSSBiZWxpZXZlIHRoaXMgdG8gDQpiZSBzdGFuZGFyZCBwcmFjdGljZSwgYW5k IGhhcyBiZWVuIHNvIGZvciBhZ2VzLiBDb250YWluZXJzIGFyZSByZWFsbHkgYW4gDQpleHRlbnNp b24gb2YgdGhpcyBtZXRob2QsIGJ1dCBpdCB3YXMgY29tbW9uIHBhdHRlcm4gd2hlbiBjb21tZXJj aWFsIA0KYXBwbGljYXRpb25zIHdlcmUgbW9yZSBjb21tb24gKGVzcGVjaWFsbHkgdHJ1ZSBmb3Ig dGhpbmdzIGxpa2UgU29sYXJpcy0gDQpvciBIUC1VWC1iYXNlZCBhcHBzKS4gWW91IGRpZG4ndCBl dmVuIGNhcmUgYWJvdXQgZ2V0ZW50cm9weSgpLCBzbyBJIA0KY2FuJ3QgdW5kZXJzdGFuZCBob3cg dGhpcyBpcyBhIHByb2JsZW0uDQoNCg0KPiBIb3cgaXMgIzMgImJldHRlciIgdGhhbiAjND8gIFlv dSBzdGlsbCBoYXZlIHRvIHRlc3Qgb24gNy43IGFuZCA3LjUuDQo+IFRoZSBhbW91bnQgb2Ygd29y ayBpbiB0ZXN0aW5nIGhhcyBub3QgY2hhbmdlZCBhdCBhbGwsIG9ubHkgdGhlIG51bWJlcg0KPiBv ZiBidWlsZCBzeXN0ZW1zIGFuZCBiaW5hcnkgdmVyc2lvbnMgdGhhdCB5b3UgaGF2ZSB0byBtYWlu dGFpbi4NCj4NCj4gQW5kIEknbSBub3Qgc2F5aW5nIHRoYXQgdGhpcyBoYXMgdG8gYmUgYSBoYXJk IGFuZCBmYXN0IHJ1bGUgZm9yDQo+IGV2ZXJ5dGhpbmcgZm9yIG5vdyBhbmQgZm9yZXZlci4gIEkg YW0gZml4aW5nIGEgc21hbGwgZnVuY3Rpb24gd2hpY2ggaXMNCj4gdXNlZCBleGFjdGx5IG9uY2Uu ICBUaGUgb3JpZ2luYWwgcGF0Y2ggd2hpY2ggaW50cm9kdWNlZCBnZXRlbnRyb3B5KCkNCj4gaW4g djE5LjA4IGNyZWF0ZWQgYW4gZXh0cmEgZGVwZW5kZW5jeSB0aGF0IHRoZSB0YXJnZXQgc3lzdGVt IGhhdmUNCj4gZ2xpYmMgMi4yNSwgX2V2ZW4gaWYgaXQgZG9lcyBub3QgdXNlIHRoaXMgZnVuY3Rp b24gYXQgYWxsXy4NCj4NCj4gVGhhdCBzYWlkLCBpdCBzZWVtcyB0byBtZSB0byBiZSBhIGdvb2Qg aWRlYSB0byByZW1vdmUgYXMgbWFueSBidWlsZA0KPiB0aW1lIGRlcGVuZGVuY2llcyBhcyBwb3Nz aWJsZSBhbmQgdXNlIHRoaW5ncyBsaWtlDQo+IHJ0ZV9jcHVfZ2V0X2ZsYWdfZW5hYmxlZCgpIHRv IGRldGVybWluZSB0aGUgYmVzdCBjb2RlIHBhdGggYXQgcnVuIHRpbWUNCj4gKHRoYXQgaXMsIGlu aXRpYWxpemF0aW9uIHRpbWUsIG5vdCBpbiB0aGUgZmFzdHBhdGggb2J2aW91c2x5KS4gIEl0DQo+ IGp1c3QgbWFrZXMgbGlmZSBhIGxvdCBlYXNpZXIuLi4gSWYgdGhlIGNvbXBpbGVyIGNhbiBnZW5l cmF0ZSB0aGUgY29kZSwNCj4gdGhlbiBpdCBzaG91bGQgYmUgcG9zc2libGUgaW4gbWFueSBjYXNl cy4NCj4NCj4+Pj4+PiBUaGlzIGlzIGVzcGVjaWFsbHkgdHJ1ZSB3aGVuIGRlYWxpbmcgd2l0aCBS TkcgQVBJcywgd2hlcmUgdGhlIHRpbmllc3QNCj4+Pj4+PiBhbmQgbW9zdCBpbm5vY2VudC1sb29r aW5nIG1pc3Rha2UgY291bGQgaGF2ZSBkaXNhc3Ryb3VzIGNvbnNlcXVlbmNlcy4NCj4+Pj4+IFRo aXMgZG9lcyBub3QgY2hhbmdlIHRoZSBmdW5jdGlvbmFsaXR5IG9mIHRoZSBSTkcgYXQgYWxsLiAg SXQganVzdA0KPj4+Pj4gbWFrZXMgaXQgd29yayBpbiB0aGUgd2F5IHRoYXQgaXQgd2FzIGludGVu ZGVkLiAgVGhlc2UgY2hhbmdlcyB3ZXJlDQo+Pj4+PiBvbmx5IGludHJvZHVjZWQgaW50byAxOS4w OCwgc28gdGhleSBhcmUgbm90IGhpc3RvcmljYWwgYXJ0aWZhY3RzIG9yDQo+Pj4+PiBhbnl0aGlu Zy4NCj4+Pj4gSXQncyByZWltcGxlbWVudGluZyBhIHN5c2NhbGwgdXNpbmcgYSBkaWZmZXJlbnQg aW50ZXJmYWNlIHdoaWNoIGhhcw0KPj4+PiBkaWZmZXJlbnQgc2VtYW50aWNzLiBBIHNtYWxsIG1p c3Rha2UgdGhlcmUgaXMgZ29pbmcgdG8gY29zdCB1cyBkZWFybHkuDQo+Pj4gVGhlIGNvZGUgd2Fz IGNvcGllZCBhbG1vc3QgdmVyYmF0aW0gZnJvbSB0aGUgZ2V0ZW50cm9weSgpIGZ1bmN0aW9uIGlu DQo+Pj4gZ2xpYmMsIGl0J3MgaGFyZCB0byBzZWUgaXQgZ29pbmcgdGhhdCB3cm9uZyB0aGVyZS4g IFRoZSBjb2RlIGNhbiBiZQ0KPj4+IHRlc3RlZCB1c2luZyB0aGUgc2FtZSB0ZXN0IGNhc2VzIHRo YXQgdGhlIG9yaWdpbmFsIHBhdGNoIHVzZWQuICBJDQo+Pj4gZG9uJ3Qgc2VlIGhvdyB0aGVyZSBp cyBhIGRpZmZlcmVuY2UgaW4gdGVzdCBjb3ZlcmFnZSBoZXJlLg0KPj4gQW5kIHdobydzIGdvaW5n IHRvIGtlZXAgaXQgdXBkYXRlZCBhcyB0aGUgaW1wbGVtZW50YXRpb24gaW4gZ2xpYmMNCj4+IGNo YW5nZXMsIGlmL3doZW4gYSBidWcgaXMgZm91bmQgdGhlcmU/DQo+IFdoYXQgaGFwcGVucyB3aGVu IGFueSBidWcgaXMgZm91bmQgaW4gRFBESy4uLiBJdCBnZXRzIGZpeGVkLiAgV2h5IGlzDQo+IHRo aXMgYW55IGRpZmZlcmVudD8NCj4NCj4+IEFsc28sIGdsaWJjIGlzIExHUEwyLjEgbGljZW5zZWQs IHdoaWNoIG1lYW5zIGNvcHlpbmcgYWxtb3N0IHZlcmJhdGltIGENCj4+IG5vbi10cml2aWFsIHBp ZWNlIG9mIGNvZGUgY2FuIHBvc3NpYmx5IHJlc3VsdCBpbiBsaWJydGVfZWFsIGFzIGEgd2hvbGUN Cj4+IHRvIGJlIGNvdmVyZWQgdW5kZXIgdGhlIHRlcm1zIG9mIExHUEwyLjEgKElBTkFMIGRpc2Ns YWltZXIpLiBUaGlzIGlzDQo+PiB1bmxpa2VseSB0byBiZSB3ZWxsIHJlY2VpdmVkLCBnaXZlbiBp dCdzIEJTRC0zLWNsYXVzZSBub3cuDQo+IFdlbGwsIHZlcmJhdGltLCBpcyBhbiBleGFnZ2VyYXRp b24gYW5kIElBTkFMIGVpdGhlciwgYnV0IEkgd291bGQNCj4gY29uc2lkZXIgd2hhdCB3YXMgd3Jp dHRlbiB0byBiZSBnZW5lcmFsIGVub3VnaCB0byBub3QgcmVhbGx5IHJ1biBpbnRvDQo+IGFueSBw cm9ibGVtcy4gIElmIG90aGVycyBkaXNhZ3JlZSwgdGhlIHYzIHBhdGNoIGlzIHRoZXJlIHdhaXRp bmcgdG9vLi4NCj4NCj4+PiBJZiBpdCdzIHN1Y2ggYSBiaWcgZGVhbCB0byB1c2UgL2Rldi91cmFu ZG9tLCB0aGVuIHdoYXQgYWJvdXQgbXkgdjMNCj4+PiBwYXRjaCB3aGljaCB1c2VkIGRsb3Blbigp L2Rsc3ltKCkgdG8gdHJ5IHRvIGZpbmQgZ2V0ZW50cm9weSgpPyAgSXMNCj4+PiB0aGF0IG5vdCB0 aGVuIGFjY2VwdGFibGU/ICAgZGxvcGVuL2Rsc3ltKCkgYXJlIHVzZWQgaW4gc2V2ZXJhbCBwbGFj ZWQNCj4+PiBpbiBEUERLLg0KPj4gSSBkb24ndCBoYXZlIGEgcHJvYmxlbSB3aXRoIHRoYXQgc3Bl Y2lmaWNhbGx5LCBidXQgaXQgbmVlZHMgdG8gYmUgY2xlYXINCj4+IHRvIHRoZSBtYWludGFpbmVy cyB0aGF0IHdoYXQgeW91IGFyZSBlZmZlY3RpdmVseSBhc2tpbmcgaXMgZm9yIGFsbA0KPj4gZGVw ZW5kZW5jaWVzIHRvIHN1cHBvcnQgcnVudGltZS1kb3duZ3JhZGluZyB0cmFuc3BhcmVudGx5IGFu ZCBvdXQgb2YNCj4+IHRoZSBib3guDQo+IEFnYWluLCBJIGFtIG5vdCBhc2tpbmcgZm9yIGFsbCBi dWlsZCB0aW1lIGRlcGVuZGVuY2llcyB0byBiZQ0KPiBlbGltaW5hdGVkLCBqdXN0IHRoaXMgb25l LCB3aGljaCB3YXMgb25seSBpbnRyb2R1Y2VkIGluIHYxOS4wOCwgd2hpY2gNCj4gY3JlYXRlcyBh IGRlcGVuZGVuY3kgb24gZ2xpYmMgMi4yNSwgZXZlbiBpZiB0aGUgYXBwbGljYXRpb24gZG9lcyBu b3QNCj4gdXNlIHRoZSBSTkcgYXQgYWxsLg0KDQoNClRoZXJlJ3Mgbm8gbmV3IGRlcGVuZGVuY3kg aWYgeW91IGJ1aWxkIGFnYWluc3QgYW4gb2xkZXIgZ2xpYmMgdmVyc2lvbi4NCg0KDQo+IFRoaXMg aXMgYWxyZWFkeSBkb25lIGluIG51bWVyb3VzIHBsYWNlcyBpbiB0aGUgRFBESy4gU2VlDQo+IGFl c25pX2djbV9jcmVhdGUoKS4gIFNlZSBydGVfaGFzaF9jcmNfc2V0X2FsZygpLiAgU2VlDQo+IHJ0 ZV9oYXNoX2NyZWF0ZSgpLiAgVGhleSBhbGwgY2hlY2sgdG8gc2VlIGlmIGNlcnRhaW4gQ1BVIGZs YWdzIGFyZQ0KPiBzdXBwb3J0ZWQgYW5kIHVzZSB0aGUgYXBwcm9wcmlhdGUgZnVuY3Rpb24uICBU aGlzIGlzIG5vdCAiZG93bmdyYWRpbmciDQo+IGFueXRoaW5nLiAgSXQgaXMgdXNpbmcgdGhlIGJl c3QgYXZhaWxhYmxlIGZ1bmN0aW9uIHRoYXQgaXMgc3VwcG9ydGVkDQo+IG9uIHRoZSB0YXJnZXQg c3lzdGVtLCBub3QgdGhlIGJ1aWxkIHN5c3RlbS4gIFRoYXQncyBleGFjdGx5IHdoYXQgdGhpcw0K PiAob3IgdGhlIHYzKSBwYXRjaCBkb2VzLg0KPg0KPj4gVGhpcyBjb21lcyB3aXRoIGEgaHVnZSBh ZGRpdGlvbmFsIGNvc3QsIGFuZCBJIGRvIG5vdCBiZWxpZXZlDQo+PiBpdCBpcyBzdXBwb3J0ZWQg YXQgdGhlIG1vbWVudC4NCj4gSXQgZG9lcyBub3QgY29tZSBhdCBhbnkgYWRkaXRpb25hbCBjb3N0 IHJlYWxseSwgYWxsIGl0IGRvZXMgaXMgcmVkdWNlDQo+IHRoZSBudW1iZXIgb2YgYnVpbGQgc3lz dGVtcyB3aGljaCBoYXZlIHRvIGJlIHN1cHBvcnRlZC4gIEl0IGlzIGV4YWN0bHkNCj4gdGhlIHNh bWUgaWRlYSBhcyBteSBmaXJzdCBwYXRjaCB3aGljaCBjaGVja3MgZm9yIHRoZSBSRFNFRUQNCj4g aW5zdHJ1Y3Rpb24gYXQgcnVuIHRpbWUgYW5kIGlmIHRoZSB0YXJnZXQgc3lzdGVtIGRvZXMgbm90 IHN1cHBvcnQgaXQNCj4gImRvd25ncmFkZXMiIHRvIHVzZSB0aGUgVFNDIGNvdW50ZXIuICBFeGNl cHQgbm93IHRoaXMgaXMgZG9uZSBhdA0KPiBydW4tdGltZSwgbm90IGF0IGJ1aWxkIHRpbWUuDQo+ DQpUaGUgbWFrZSBidWlsZCBpcyBnb2luZyBhd2F5IGNvbXBsZXRlbHkuDQoNCg==