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 F30FA45BD6; Fri, 25 Oct 2024 14:08:37 +0200 (CEST) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id 02F13402E3; Fri, 25 Oct 2024 14:08:25 +0200 (CEST) Received: from NAM02-DM3-obe.outbound.protection.outlook.com (mail-dm3nam02on2065.outbound.protection.outlook.com [40.107.95.65]) by mails.dpdk.org (Postfix) with ESMTP id 7DFAF402DA for ; Fri, 25 Oct 2024 14:08:23 +0200 (CEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=up+yQtzsXslbTau+cS56cm/zihWarEv7JIg5NT1+Fv7Bcp25rIIHEkVvyTTHl44B2/oelP1hvYmGFbNs71RWBPtBM3hWNVxXA6VEmbakRnHs8GiBP67I/4Wd8I+lRgmP0o4j2r/9Ohde4Cnx1D9GvivaJaq/ULj2XAcXpnOoArIAT1i9u0snDD1npV8BEbLteKyKiJJyXLBevRvOWk7OkRau+/Qx1+a1Dduq7myyOznzx7R9uGyZ38nXpyYHXuOG64INuM8wHkS4k5pC9oJgbqC1Rjt8YADO7b0iapZjnehmTRcSbFEFU1BPoHwgDrHwRoIvF7mrWRdwhqAD/1UScA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=mp+aeF+a9VFhc2wiTfDEcpEIMnwA3Vm+99SE21MbpYA=; b=ZuP1iEus0U/wnHq/aAsFNrLzgKY7hQe8XTXzGnOt8bHwexbeRkjWZ5iTOMfafvCKQsioxdKg7H825Lz/lDTT0kJOnZhL3IjMQwpatAgW4Mx9XUAmxN/RIRGLAF97uqmNaX7PyAvZAa3TNysHrMIeBlDKiwCK5kEsFh221os4vLHtlndR0wRWBn3Qc6yWGw44TqQHXY0TYLDSLaLz7nPhj2YkeYanI1F+j67KNLTlYhqxR8Wyfda4E16MRmcD4VGpIqRVB+PxlxYia+nZBUQfaahyXUYUv2HboxHypVF8GMhGIL0c5qYO7dthzmXo+fdagjpoTFw6CdWtmgEz9c7J5g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=mp+aeF+a9VFhc2wiTfDEcpEIMnwA3Vm+99SE21MbpYA=; b=lm91P5nNJTCIG+biwdBJ1vBykgl2XlkCPLm/HnYvQJyDa0JsT3pFtt1ShzeTYmXfeoL8++N/hg0QFOTTvMxqAydKB18Y/PuP8WNOxWKEM1wqUfCz6rTyan/HLrkrXLU/AVhadJhIYHUV15maxONiqmxdr94uhChpzQ2TnoydgsU= Received: from CH3PR12MB8233.namprd12.prod.outlook.com (2603:10b6:610:129::15) by CH2PR12MB4246.namprd12.prod.outlook.com (2603:10b6:610:a9::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8093.18; Fri, 25 Oct 2024 12:08:20 +0000 Received: from CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::278f:5cc5:549c:3515]) by CH3PR12MB8233.namprd12.prod.outlook.com ([fe80::278f:5cc5:549c:3515%4]) with mapi id 15.20.8093.018; Fri, 25 Oct 2024 12:08:19 +0000 From: "Tummala, Sivaprasad" To: Huisong Li , "dev@dpdk.org" CC: "mb@smartsharesystems.com" , "thomas@monjalon.net" , "Yigit, Ferruh" , "anatoly.burakov@intel.com" , "david.hunt@intel.com" , "stephen@networkplumber.org" , "konstantin.ananyev@huawei.com" , "david.marchand@redhat.com" , "fengchengwen@huawei.com" , "liuyonglong@huawei.com" Subject: RE: [PATCH v13 1/3] power: introduce PM QoS API on CPU wide Thread-Topic: [PATCH v13 1/3] power: introduce PM QoS API on CPU wide Thread-Index: AQHbJsBuwrcZdQzoGkWPWVvwGtIECbKXXyOQ Date: Fri, 25 Oct 2024 12:08:19 +0000 Message-ID: References: <20240320105529.5626-1-lihuisong@huawei.com> <20241025091851.19919-1-lihuisong@huawei.com> <20241025091851.19919-2-lihuisong@huawei.com> In-Reply-To: <20241025091851.19919-2-lihuisong@huawei.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ActionId=39979577-e279-448d-a052-e62839641e86; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_ContentBits=0; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Enabled=true; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Method=Standard; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_Name=AMD Internal Distribution Only; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SetDate=2024-10-25T12:06:27Z; MSIP_Label_dce362fe-1558-4fb5-9f64-8a6240d76441_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH3PR12MB8233:EE_|CH2PR12MB4246:EE_ x-ms-office365-filtering-correlation-id: 2270c317-5b15-4c3a-bf5e-08dcf4edb744 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|7416014|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?Q2ovdEdHVU04eFg1RGVuTUhocTYvM3hORFV3UlE3dk9xaWlIMkV6bjlLWnJ1?= =?utf-8?B?ZjQ5dEVUNi9wa0lCcUNRSWhvZDZjY1orMHZNdi9KTUU4QlFhcnM1MGpTUER3?= =?utf-8?B?SGQydmNMQmhGRTRCOEpjVWhMeG92aTlTRTZNOXQ1MUFOaWRVQXUwcEROODNz?= =?utf-8?B?NnRod3ErOHNNWHJnYUI5ckxpL0h0Q01FcGhrNGJsUEFRMk9yRkIxanhVNnFW?= =?utf-8?B?YmcyQ0FZOE5HSU9ZSlE1OVBRbnRrUm5tajhtRnZRYW5YWUM2NUxtNWc1RTIw?= =?utf-8?B?bDhXdEZSMlhwYzd1V0lLN1A5RFhBMFRCTDl5Z0w1a251c2pjeFZIeFd3OU1W?= =?utf-8?B?UEo2blVITUwvVmpBUFVOUytCQjl0K3FjRmZKbkUvcnpjOHB0R3YvNWZtRlZX?= =?utf-8?B?dERaZFlXWjloTHRpRnhLVkloRnQ3RWc0ZEovTTJHU3psdnZhZHVYZXQ0REZj?= =?utf-8?B?dTdIZ1M4akN2ZGplc3ZHWkhYSERpbDI4ZnlvcE5mYzFFVjk3MFhVa0pWMG9D?= =?utf-8?B?TVl3SlhDRmpjUmNpSmYvRXJzSzRZN3ZieGluSGdBWFdPeDRDbzhRM0g3aFlQ?= =?utf-8?B?WDVMSHFqSUdvU2JiMG54WHludWNhSjhWYTVRSFlOMC9TZ3NvTHJOb2l0aWw4?= =?utf-8?B?cjhhSnBmRUJhbTFMTnJRa2xJQ3ZMKzhnYlJlMXNJYjRkdlIzcm85dlF3Sjlz?= =?utf-8?B?bENVM25GWXpPYjl6S1JEdUpWcmcxRkNWcFhjMFI5MEVvU3c2MmlYNnFPdnZm?= =?utf-8?B?QTcrYzZCTW9zejVBeWhhT1ZKOENYclFiRFVrYUt6VlF2OFcvMFkrSmQ3eUZx?= =?utf-8?B?QUNUWWh5ZlVuNVpsY0tlb2JwL0tXajQvOFBzTWNEczB5L3lDQUErU2JIWDdI?= =?utf-8?B?Yk5aV2hMdE9va0c4K3AxSzhpTzRTMjFUcjdzOEsxSU9ITmtLWjF2K0ZWMi8w?= =?utf-8?B?NDFvT1hJODR5U3V6WlNseW9iMVBsVzlDUjhNRVNxZXdiMWJpZy9KcmtTVDB4?= =?utf-8?B?Wk1rQ1N0RUkvV0UrR2hkUTVGOVpsdFdZbGwxVkpGNTF0U1ViTEl2bGZiaVh2?= =?utf-8?B?Qi9RTkhmeXdUZFJUMjNUMHBqTGx2eVNFOVRwNXlTZjFGZmpxV2QzMDBEdUVC?= =?utf-8?B?bFppYWpTRXdQWDZ2cUQzV0JaeFYzS3ZhOTltS1E0NW1YUlZTZjRlQlB2UjA2?= =?utf-8?B?dnNMd2dGUnc4M0FYM2tHeUJySVJKWURGNERFRzR5YVJsejdZWGVhTkliUzFt?= =?utf-8?B?ekhzelpmWEhvYW5RaVo3Ykw2NjNWeUR3ZXJwQWx6bUdVTFJHOGVRVDdWbldS?= =?utf-8?B?ZVpremFTZVdsTnNodVdIMURoUTRMSDNKM1Y1NlExVE9sR2puaHdPSVl5U21P?= =?utf-8?B?Mk0xWlo2cDRJWVNGQnhsdFFwQTFGSTY2RmRiUTBUYlhEQzhHSTJERzl0K0Zm?= =?utf-8?B?MG9jMTZQWGVFcTNHbks2L29XdHBkdE16c3hGM2ZrTURzQU1mRThRMWFBNXhL?= =?utf-8?B?T2puS3pwV3RIS01GN3dTc0RUaEc4emNiT01KcFhaQkR3KzBTRisyZEl5WHRK?= =?utf-8?B?OHVDWkRGb0xVQmxIUDU5Z3QxckNMNXZCYXR4TnRtZXF4UkI4djA3Wko2UmFH?= =?utf-8?B?YUFqenN2cmdreVQvMk55dktWd21wRFJqWEZmWXZMWlhDdzlHZU5LYWYxS3Fw?= =?utf-8?B?Wk5ZZVliSkhjay9oZERHOU9ZRDdCZUVuUkZIY2RuaEd0bW0rbEV4azB0Z2JH?= =?utf-8?B?ZGJBZlJTSFNlYThOTmxWQmlwNm4wbFphQ3lWOEVlc2FUQkhHaVdYZEsyTXNw?= =?utf-8?B?M0g2SDZsL1ZtZzlYUHRKVjZHS3RXUGRXbFM1Ump4N0M3bzdSU0R0Y1R1UUVv?= =?utf-8?Q?GxvlW+6ttc17I?= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:CH3PR12MB8233.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(7416014)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?d0M0RDhISktKOWdjMmJzRm03UTA3c2VZTUxmTEpIdDhaQS9Wd0Evb2w5UC9z?= =?utf-8?B?RVhNRjVjTVZLaFdoOWpjYjM5UUQvOWN4cnpwYytnWENmS0pJS1RKbzUyNEln?= =?utf-8?B?bi9TcFk3OTg0SGMwMlIrZ2ZDSlR4dkZ2bjMrOFhZMWRqdFlQNm1DRjFSUDQ3?= =?utf-8?B?QlRzcm1qREdkeE5OWXY4R1l2MWt3SW8yUGVtNFVERkNIaDh2UHZQUU1qckU5?= =?utf-8?B?b29aTXErNnpTL1BXY1o0VTNWVmIxY0czODBOOUFYY3pqelJFS1FIOEIrd1Ft?= =?utf-8?B?TURoU29vbEw3emdkR2R4VU9qUzM1UDJnbXFoVDRkQkVXK1pLL0owNXpNVmtJ?= =?utf-8?B?MHN5VGRTOHVxTjRoZEtUV29rekdDenBlWG9WRWVVZ2laREl6ODhlaitSM2du?= =?utf-8?B?T1hVcDdSRUI3b3drUGtTeFVkVG5ZZXpkemFFeDRXdXVMYzU0M00wcGZUTE1p?= =?utf-8?B?cEhwN2xNMXNzVXROV1pKa2tiNGhkS01oYkM1M01ZdlYwUFRTS3cyVmNBLy9t?= =?utf-8?B?Q0lOZ3QrcU51ZDBuY0xVeUlJTWlZa2NmSW4vb2htRUoxeGRBUHJMajdHL3Q4?= =?utf-8?B?djVvM3ZzRFZpeEJDVzVhU1c5cWJXcHRzUlk3eHU4VmptU0hXNFlLTXUwOStM?= =?utf-8?B?OHF3OFdNbXhiMGExU2IvNHlieFRWQmFKVEkvaXB6QXRSNmpoaHVHT3ZkaHpL?= =?utf-8?B?WlhHM0JiY0pJQ1JrenhnaXZ5aGthSzlaUmo0bmh1a3Z4ZGV2VFFFSS9QRDdS?= =?utf-8?B?WThqMEQwZDArWTRjSWZhWTlpZlZ5NEpvZXpqTzRueldvdmlHWEpKRkdESS9n?= =?utf-8?B?UWNwMlR4NjBiVEkyeDhOaVRaTHB0dXIrcFM4VjJneDlsb3ZSZ1dMNjVQY2hl?= =?utf-8?B?Z0pqNFJzd1lqQS9UM1piRUU0dmNtbFl6U3JlNHVVZFJKRFBFcS9PLzJ1czFj?= =?utf-8?B?WUhaYjhCdjNBM2hERWNoMCtZejIwdTBvcHZMY0NHSjRWU3V0bGo5bmF6d3NS?= =?utf-8?B?WTVWTENSalFBWFBmMXZpN3Nmb2gxSkFQeEhROWwwemUrV3NuWDdmL1hMVDVF?= =?utf-8?B?ZUpJMTZySEZlT3dWREpleTRRbGlwTnZYemdnNkhUclNuTUxpVVFBM0VqekRm?= =?utf-8?B?Q2h6clY2d21UZEZpYlhxemhIRkx1OWdaWHZqMmF4Yk1CNDJSUVBkQWxIWG1Z?= =?utf-8?B?bWVWZmwxSWVsWUJmSG5sb2NsUjlmNEsrMzB6SnZ6MStQMTg5UzRwc0F4ZDk4?= =?utf-8?B?SE1aUldBc1lQSFlkbFVWV0gxcHBZZFd5eThla3lwS1lwRXNpditjNVZjR2FC?= =?utf-8?B?SVdzaVhlU0w0dEMzUllHT3pQUzc1S2FiTnJhMlc1L0poVXRVQTFVT0RWVVVs?= =?utf-8?B?M09EcGZIZGU3WUNGK244alZLU0w2RDY2akFqOGtjeU5IbkdwZ2RIREpCMnF2?= =?utf-8?B?bkdHT3RXb2xwOUEzUVE3aU1kL3dxWFFsMDlaeHlCWnBVakVvYjM1d3ZtRUsr?= =?utf-8?B?RUtlZk9HYjBDc24zbVBrdFNCRWtVZUk2S3ptU0hwcVlnQXh0b3pwS0piUkpk?= =?utf-8?B?eU0yNnF5bHJjZ0czY1BLVWR3bWloMjErMi9MYk9laDhJc0dTbWMySFVTVWFL?= =?utf-8?B?SFM1MkZMRCtpWGlhZ25KcWFtOFBBUWZNTDkvcGs5MjFaMmpGMk5SMHdIU09Y?= =?utf-8?B?Q2tDdE9GREZPYUJGK3FmamgyeDZxa21yM1BZaGkvZjRmVHNiRlhadkFiMkpw?= =?utf-8?B?eDdxSnJqL2QraVFSb0swTHJHSy8wSnNsdElnNkZVUjlCSmVIcDhiOWo5RG5n?= =?utf-8?B?aHZIcUd1ZkhDOTJGODBlRGRrU3pQSThWd3cxNncwWnZRRUpOQ1Blai9vSTNU?= =?utf-8?B?dDJoTThmM1Vzc0JFTzFNMkRUeko1NUovems4QU5ValFEM0M2VlZsN2Zmcmkz?= =?utf-8?B?VkVxelpIYU1Fam9BVTRpalBxYm9VU0Z6WlZadUlzZU1FRktTQ1VxbkN1TnZ2?= =?utf-8?B?Yzh2L0cvUEoraWtvLzRBL0pvRWZFZ20vdTRQSk1NWm9EYXFVWlJGcUhndUpC?= =?utf-8?B?Smh1QnF3OXlpdnptNmVXRUgrdGhNK2NYS3hDOWo2K0dPd2MwT2hZWGJDTFo0?= =?utf-8?Q?UDtY=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH3PR12MB8233.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 2270c317-5b15-4c3a-bf5e-08dcf4edb744 X-MS-Exchange-CrossTenant-originalarrivaltime: 25 Oct 2024 12:08:19.8380 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 7hpeAXKhFpI8F8sSeEW6OIiQMNxZW051UPPVJ8IG/b5pDdDVYl3a1QOjaqC6b8/R0SsR4nkdJUuak4oxoXBrpA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: CH2PR12MB4246 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 W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEFNRCBJbnRlcm5hbCBEaXN0cmlidXRpb24gT25seV0N Cg0KSGkgSHVpc29uZywNCg0KTEdUTSEgT25lIGNvbW1lbnQgdG8gdXBkYXRlIHRoZSBkb3h5Z2Vu IGRvY3VtZW50YXRpb24gZm9yIHRoZSBuZXcgQVBJcy4NCg0KPiAtLS0tLU9yaWdpbmFsIE1lc3Nh Z2UtLS0tLQ0KPiBGcm9tOiBIdWlzb25nIExpIDxsaWh1aXNvbmdAaHVhd2VpLmNvbT4NCj4gU2Vu dDogRnJpZGF5LCBPY3RvYmVyIDI1LCAyMDI0IDI6NDkgUE0NCj4gVG86IGRldkBkcGRrLm9yZw0K PiBDYzogbWJAc21hcnRzaGFyZXN5c3RlbXMuY29tOyB0aG9tYXNAbW9uamFsb24ubmV0OyBZaWdp dCwgRmVycnVoDQo+IDxGZXJydWguWWlnaXRAYW1kLmNvbT47IGFuYXRvbHkuYnVyYWtvdkBpbnRl bC5jb207IGRhdmlkLmh1bnRAaW50ZWwuY29tOw0KPiBUdW1tYWxhLCBTaXZhcHJhc2FkIDxTaXZh cHJhc2FkLlR1bW1hbGFAYW1kLmNvbT47DQo+IHN0ZXBoZW5AbmV0d29ya3BsdW1iZXIub3JnOyBr b25zdGFudGluLmFuYW55ZXZAaHVhd2VpLmNvbTsNCj4gZGF2aWQubWFyY2hhbmRAcmVkaGF0LmNv bTsgZmVuZ2NoZW5nd2VuQGh1YXdlaS5jb207DQo+IGxpdXlvbmdsb25nQGh1YXdlaS5jb207IGxp aHVpc29uZ0BodWF3ZWkuY29tDQo+IFN1YmplY3Q6IFtQQVRDSCB2MTMgMS8zXSBwb3dlcjogaW50 cm9kdWNlIFBNIFFvUyBBUEkgb24gQ1BVIHdpZGUNCj4NCj4gQ2F1dGlvbjogVGhpcyBtZXNzYWdl IG9yaWdpbmF0ZWQgZnJvbSBhbiBFeHRlcm5hbCBTb3VyY2UuIFVzZSBwcm9wZXIgY2F1dGlvbg0K PiB3aGVuIG9wZW5pbmcgYXR0YWNobWVudHMsIGNsaWNraW5nIGxpbmtzLCBvciByZXNwb25kaW5n Lg0KPg0KPg0KPiBUaGUgZGVlcGVyIHRoZSBpZGxlIHN0YXRlLCB0aGUgbG93ZXIgdGhlIHBvd2Vy IGNvbnN1bXB0aW9uLCBidXQgdGhlIGxvbmdlciB0aGUNCj4gcmVzdW1lIHRpbWUuIFNvbWUgc2Vy dmljZSBhcmUgZGVsYXkgc2Vuc2l0aXZlIGFuZCB2ZXJ5IGV4Y2VwdCB0aGUgbG93IHJlc3VtZQ0K PiB0aW1lLCBsaWtlIGludGVycnVwdCBwYWNrZXQgcmVjZWl2aW5nIG1vZGUuDQo+DQo+IEFuZCB0 aGUgIi9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdVgvcG93ZXIvcG1fcW9zX3Jlc3VtZV9sYXRl bmN5X3VzIiBzeXNmcw0KPiBpbnRlcmZhY2UgaXMgdXNlZCB0byBzZXQgYW5kIGdldCB0aGUgcmVz dW1lIGxhdGVuY3kgbGltaXQgb24gdGhlIGNwdVggZm9yIHVzZXJzcGFjZS4NCj4gRWFjaCBjcHVp ZGxlIGdvdmVybm9yIGluIExpbnV4IHNlbGVjdCB3aGljaCBpZGxlIHN0YXRlIHRvIGVudGVyIGJh c2VkIG9uIHRoaXMgQ1BVDQo+IHJlc3VtZSBsYXRlbmN5IGluIHRoZWlyIGlkbGUgdGFzay4NCj4N Cj4gVGhlIHBlci1DUFUgUE0gUW9TIEFQSSBjYW4gYmUgdXNlZCB0byBjb250cm9sIHRoaXMgQ1BV J3MgaWRsZSBzdGF0ZSBzZWxlY3Rpb24NCj4gYW5kIGxpbWl0IGp1c3QgZW50ZXIgdGhlIHNoYWxs b3dlc3QgaWRsZSBzdGF0ZSB0byBsb3cgdGhlIGRlbGF5IHdoZW4gd2FrZSB1cCBmcm9tIGJ5DQo+ IHNldHRpbmcgc3RyaWN0IHJlc3VtZSBsYXRlbmN5ICh6ZXJvIHZhbHVlKS4NCj4NCj4gU2lnbmVk LW9mZi1ieTogSHVpc29uZyBMaSA8bGlodWlzb25nQGh1YXdlaS5jb20+DQo+IEFja2VkLWJ5OiBN b3J0ZW4gQnLDuHJ1cCA8bWJAc21hcnRzaGFyZXN5c3RlbXMuY29tPg0KPiBBY2tlZC1ieTogQ2hl bmd3ZW4gRmVuZyA8ZmVuZ2NoZW5nd2VuQGh1YXdlaS5jb20+DQo+IEFja2VkLWJ5OiBLb25zdGFu dGluIEFuYW55ZXYgPGtvbnN0YW50aW4uYW5hbnlldkBodWF3ZWkuY29tPg0KPiAtLS0NCj4gIGRv Yy9ndWlkZXMvcHJvZ19ndWlkZS9wb3dlcl9tYW4ucnN0ICAgIHwgIDE5ICsrKysNCj4gIGRvYy9n dWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjRfMTEucnN0IHwgICA1ICsNCj4gIGxpYi9wb3dlci9t ZXNvbi5idWlsZCAgICAgICAgICAgICAgICAgIHwgICAyICsNCj4gIGxpYi9wb3dlci9ydGVfcG93 ZXJfcW9zLmMgICAgICAgICAgICAgIHwgMTIzICsrKysrKysrKysrKysrKysrKysrKysrKysNCj4g IGxpYi9wb3dlci9ydGVfcG93ZXJfcW9zLmggICAgICAgICAgICAgIHwgIDczICsrKysrKysrKysr KysrKw0KPiAgbGliL3Bvd2VyL3ZlcnNpb24ubWFwICAgICAgICAgICAgICAgICAgfCAgIDQgKw0K PiAgNiBmaWxlcyBjaGFuZ2VkLCAyMjYgaW5zZXJ0aW9ucygrKQ0KPiAgY3JlYXRlIG1vZGUgMTAw NjQ0IGxpYi9wb3dlci9ydGVfcG93ZXJfcW9zLmMgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBsaWIv cG93ZXIvcnRlX3Bvd2VyX3Fvcy5oDQo+DQo+IGRpZmYgLS1naXQgYS9kb2MvZ3VpZGVzL3Byb2df Z3VpZGUvcG93ZXJfbWFuLnJzdA0KPiBiL2RvYy9ndWlkZXMvcHJvZ19ndWlkZS9wb3dlcl9tYW4u cnN0DQo+IGluZGV4IGY2Njc0ZWZlMmQuLjkxMzU4YjA0ZjMgMTAwNjQ0DQo+IC0tLSBhL2RvYy9n dWlkZXMvcHJvZ19ndWlkZS9wb3dlcl9tYW4ucnN0DQo+ICsrKyBiL2RvYy9ndWlkZXMvcHJvZ19n dWlkZS9wb3dlcl9tYW4ucnN0DQo+IEBAIC0xMDcsNiArMTA3LDI1IEBAIFVzZXIgQ2FzZXMNCj4g IFRoZSBwb3dlciBtYW5hZ2VtZW50IG1lY2hhbmlzbSBpcyB1c2VkIHRvIHNhdmUgcG93ZXIgd2hl biBwZXJmb3JtaW5nIEwzDQo+IGZvcndhcmRpbmcuDQo+DQo+DQo+ICtQTSBRb1MNCj4gKy0tLS0t LQ0KPiArDQo+ICtUaGUgIi9zeXMvZGV2aWNlcy9zeXN0ZW0vY3B1L2NwdVgvcG93ZXIvcG1fcW9z X3Jlc3VtZV9sYXRlbmN5X3VzIiBzeXNmcw0KPiAraW50ZXJmYWNlIGlzIHVzZWQgdG8gc2V0IGFu ZCBnZXQgdGhlIHJlc3VtZSBsYXRlbmN5IGxpbWl0IG9uIHRoZSBjcHVYDQo+ICtmb3IgdXNlcnNw YWNlLiBFYWNoIGNwdWlkbGUgZ292ZXJub3IgaW4gTGludXggc2VsZWN0IHdoaWNoIGlkbGUgc3Rh dGUNCj4gK3RvIGVudGVyIGJhc2VkIG9uIHRoaXMgQ1BVIHJlc3VtZSBsYXRlbmN5IGluIHRoZWly IGlkbGUgdGFzay4NCj4gKw0KPiArVGhlIGRlZXBlciB0aGUgaWRsZSBzdGF0ZSwgdGhlIGxvd2Vy IHRoZSBwb3dlciBjb25zdW1wdGlvbiwgYnV0IHRoZQ0KPiArbG9uZ2VyIHRoZSByZXN1bWUgdGlt ZS4gU29tZSBzZXJ2aWNlIGFyZSBsYXRlbmN5IHNlbnNpdGl2ZSBhbmQgdmVyeQ0KPiArZXhjZXB0 IHRoZSBsb3cgcmVzdW1lIHRpbWUsIGxpa2UgaW50ZXJydXB0IHBhY2tldCByZWNlaXZpbmcgbW9k ZS4NCj4gKw0KPiArQXBwbGljYXRpb25zIGNhbiBzZXQgYW5kIGdldCB0aGUgQ1BVIHJlc3VtZSBs YXRlbmN5IGJ5IHRoZQ0KPiArYGBydGVfcG93ZXJfcW9zX3NldF9jcHVfcmVzdW1lX2xhdGVuY3ko KWBgIGFuZA0KPiArYGBydGVfcG93ZXJfcW9zX2dldF9jcHVfcmVzdW1lX2xhdGVuY3koKWBgDQo+ ICtyZXNwZWN0aXZlbHkuIEFwcGxpY2F0aW9ucyBjYW4gc2V0IGEgc3RyaWN0IHJlc3VtZSBsYXRl bmN5ICh6ZXJvIHZhbHVlKQ0KPiArYnkgdGhlIGBgcnRlX3Bvd2VyX3Fvc19zZXRfY3B1X3Jlc3Vt ZV9sYXRlbmN5KClgYCB0byBsb3cgdGhlIHJlc3VtZQ0KPiArbGF0ZW5jeSBhbmQgZ2V0IGJldHRl ciBwZXJmb3JtYW5jZSAoaW5zdGVhZCwgdGhlIHBvd2VyIGNvbnN1bXB0aW9uIG9mIHBsYXRmb3Jt DQo+IG1heSBpbmNyZWFzZSkuDQo+ICsNCj4gKw0KPiAgRXRoZXJuZXQgUE1EIFBvd2VyIE1hbmFn ZW1lbnQgQVBJDQo+ICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4NCj4gZGlm ZiAtLWdpdCBhL2RvYy9ndWlkZXMvcmVsX25vdGVzL3JlbGVhc2VfMjRfMTEucnN0DQo+IGIvZG9j L2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yNF8xMS5yc3QNCj4gaW5kZXggZmE0ODIyZDkyOC4u ZDllMjY4Mjc0YiAxMDA2NDQNCj4gLS0tIGEvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8y NF8xMS5yc3QNCj4gKysrIGIvZG9jL2d1aWRlcy9yZWxfbm90ZXMvcmVsZWFzZV8yNF8xMS5yc3QN Cj4gQEAgLTIzNyw2ICsyMzcsMTEgQEAgTmV3IEZlYXR1cmVzDQo+ICAgIFRoaXMgZmllbGQgaXMg dXNlZCB0byBwYXNzIGFuIGV4dHJhIGNvbmZpZ3VyYXRpb24gc2V0dGluZ3Mgc3VjaCBhcyBhYmls aXR5DQo+ICAgIHRvIGxvb2t1cCBJUHY0IGFkZHJlc3NlcyBpbiBuZXR3b3JrIGJ5dGUgb3JkZXIu DQo+DQo+ICsqICoqSW50cm9kdWNlIHBlci1DUFUgUE0gUW9TIGludGVyZmFjZS4qKg0KPiArDQo+ ICsgICogQWRkIHBlci1DUFUgUE0gUW9TIGludGVyZmFjZSB0byBsb3cgdGhlIHJlc3VtZSBsYXRl bmN5IHdoZW4gd2FrZSB1cCBmcm9tDQo+ICsgICAgaWRsZSBzdGF0ZS4NCj4gKw0KPiAgKiAqKkFk ZGVkIG5ldyBBUEkgdG8gcmVnaXN0ZXIgdGVsZW1ldHJ5IGVuZHBvaW50IGNhbGxiYWNrcyB3aXRo IHByaXZhdGUNCj4gYXJndW1lbnRzLioqDQo+DQo+ICAgIEEgbmV3IGBgcnRlX3RlbGVtZXRyeV9y ZWdpc3Rlcl9jbWRfYXJnYGAgZnVuY3Rpb24gaXMgYXZhaWxhYmxlIHRvIHBhc3MgYW4gb3BhcXVl DQo+IHZhbHVlIHRvIGRpZmYgLS1naXQgYS9saWIvcG93ZXIvbWVzb24uYnVpbGQgYi9saWIvcG93 ZXIvbWVzb24uYnVpbGQgaW5kZXgNCj4gMmYwZjNkMjZlOS4uOWI1ZDNlODMxNSAxMDA2NDQNCj4g LS0tIGEvbGliL3Bvd2VyL21lc29uLmJ1aWxkDQo+ICsrKyBiL2xpYi9wb3dlci9tZXNvbi5idWls ZA0KPiBAQCAtMjMsMTIgKzIzLDE0IEBAIHNvdXJjZXMgPSBmaWxlcygNCj4gICAgICAgICAgJ3J0 ZV9wb3dlci5jJywNCj4gICAgICAgICAgJ3J0ZV9wb3dlcl91bmNvcmUuYycsDQo+ICAgICAgICAg ICdydGVfcG93ZXJfcG1kX21nbXQuYycsDQo+ICsgICAgICAgJ3J0ZV9wb3dlcl9xb3MuYycsDQo+ ICApDQo+ICBoZWFkZXJzID0gZmlsZXMoDQo+ICAgICAgICAgICdydGVfcG93ZXIuaCcsDQo+ICAg ICAgICAgICdydGVfcG93ZXJfZ3Vlc3RfY2hhbm5lbC5oJywNCj4gICAgICAgICAgJ3J0ZV9wb3dl cl9wbWRfbWdtdC5oJywNCj4gICAgICAgICAgJ3J0ZV9wb3dlcl91bmNvcmUuaCcsDQo+ICsgICAg ICAgJ3J0ZV9wb3dlcl9xb3MuaCcsDQo+ICApDQo+DQo+ICBkZXBzICs9IFsndGltZXInLCAnZXRo ZGV2J10NCj4gZGlmZiAtLWdpdCBhL2xpYi9wb3dlci9ydGVfcG93ZXJfcW9zLmMgYi9saWIvcG93 ZXIvcnRlX3Bvd2VyX3Fvcy5jIG5ldyBmaWxlIG1vZGUNCj4gMTAwNjQ0IGluZGV4IDAwMDAwMDAw MDAuLjRkZDA1MzJiMzYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9saWIvcG93ZXIvcnRlX3Bv d2VyX3Fvcy5jDQo+IEBAIC0wLDAgKzEsMTIzIEBADQo+ICsvKiBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTMtQ2xhdXNlDQo+ICsgKiBDb3B5cmlnaHQoYykgMjAyNCBIaVNpbGljb24gTGlt aXRlZA0KPiArICovDQo+ICsNCj4gKyNpbmNsdWRlIDxlcnJuby5oPg0KPiArI2luY2x1ZGUgPHN0 ZGxpYi5oPg0KPiArI2luY2x1ZGUgPHN0cmluZy5oPg0KPiArDQo+ICsjaW5jbHVkZSA8cnRlX2xj b3JlLmg+DQo+ICsjaW5jbHVkZSA8cnRlX2xvZy5oPg0KPiArDQo+ICsjaW5jbHVkZSAicG93ZXJf Y29tbW9uLmgiDQo+ICsjaW5jbHVkZSAicnRlX3Bvd2VyX3Fvcy5oIg0KPiArDQo+ICsjZGVmaW5l IFBNX1FPU19TWVNGSUxFX1JFU1VNRV9MQVRFTkNZX1VTICAgICAgIFwNCj4gKyAgICAgICAiL3N5 cy9kZXZpY2VzL3N5c3RlbS9jcHUvY3B1JXUvcG93ZXIvcG1fcW9zX3Jlc3VtZV9sYXRlbmN5X3Vz Ig0KPiArDQo+ICsjZGVmaW5lIFBNX1FPU19DUFVfUkVTVU1FX0xBVEVOQ1lfQlVGX0xFTiAgICAg IDMyDQo+ICsNCj4gK2ludA0KPiArcnRlX3Bvd2VyX3Fvc19zZXRfY3B1X3Jlc3VtZV9sYXRlbmN5 KHVpbnQxNl90IGxjb3JlX2lkLCBpbnQgbGF0ZW5jeSkgew0KPiArICAgICAgIGNoYXIgYnVmW1BN X1FPU19DUFVfUkVTVU1FX0xBVEVOQ1lfQlVGX0xFTl07DQo+ICsgICAgICAgdWludDMyX3QgY3B1 X2lkOw0KPiArICAgICAgIEZJTEUgKmY7DQo+ICsgICAgICAgaW50IHJldDsNCj4gKw0KPiArICAg ICAgIGlmICghcnRlX2xjb3JlX2lzX2VuYWJsZWQobGNvcmVfaWQpKSB7DQo+ICsgICAgICAgICAg ICAgICBQT1dFUl9MT0coRVJSLCAibGNvcmUgaWQgJXUgaXMgbm90IGVuYWJsZWQiLCBsY29yZV9p ZCk7DQo+ICsgICAgICAgICAgICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKyAgICAgICB9DQo+ICsg ICAgICAgcmV0ID0gcG93ZXJfZ2V0X2xjb3JlX21hcHBlZF9jcHVfaWQobGNvcmVfaWQsICZjcHVf aWQpOw0KPiArICAgICAgIGlmIChyZXQgIT0gMCkNCj4gKyAgICAgICAgICAgICAgIHJldHVybiBy ZXQ7DQo+ICsNCj4gKyAgICAgICBpZiAobGF0ZW5jeSA8IDApIHsNCj4gKyAgICAgICAgICAgICAg IFBPV0VSX0xPRyhFUlIsICJsYXRlbmN5IHNob3VsZCBiZSBncmVhdGVyIHRoYW4gYW5kIGVxdWFs IHRvIDAiKTsNCj4gKyAgICAgICAgICAgICAgIHJldHVybiAtRUlOVkFMOw0KPiArICAgICAgIH0N Cj4gKw0KPiArICAgICAgIHJldCA9IG9wZW5fY29yZV9zeXNmc19maWxlKCZmLCAidyIsDQo+IFBN X1FPU19TWVNGSUxFX1JFU1VNRV9MQVRFTkNZX1VTLCBjcHVfaWQpOw0KPiArICAgICAgIGlmIChy ZXQgIT0gMCkgew0KPiArICAgICAgICAgICAgICAgUE9XRVJfTE9HKEVSUiwgIkZhaWxlZCB0byBv cGVuDQo+ICJQTV9RT1NfU1lTRklMRV9SRVNVTUVfTEFURU5DWV9VUyIgOiAlcyIsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgY3B1X2lkLCBzdHJlcnJvcihlcnJubykpOw0KPiArICAgICAg ICAgICAgICAgcmV0dXJuIHJldDsNCj4gKyAgICAgICB9DQo+ICsNCj4gKyAgICAgICAvKg0KPiAr ICAgICAgICAqIEJhc2VkIG9uIHRoZSBzeXNmcyBpbnRlcmZhY2UgcG1fcW9zX3Jlc3VtZV9sYXRl bmN5X3VzIHVuZGVyDQo+ICsgICAgICAgICogQFBNX1FPU19TWVNGSUxFX1JFU1VNRV9MQVRFTkNZ X1VTIGRpcmVjdG9yeSBpbiBrZXJuZWwsIHRoZWlyDQo+IG1lYW5pbmcNCj4gKyAgICAgICAgKiBp cyBhcyBmb2xsb3dzIGZvciBkaWZmZXJlbnQgaW5wdXQgc3RyaW5nLg0KPiArICAgICAgICAqIDE+ IHRoZSByZXN1bWUgbGF0ZW5jeSBpcyAwIGlmIHRoZSBpbnB1dCBpcyAibi9hIi4NCj4gKyAgICAg ICAgKiAyPiB0aGUgcmVzdW1lIGxhdGVuY3kgaXMgbm8gY29uc3RyYWludCBpZiB0aGUgaW5wdXQg aXMgIjAiLg0KPiArICAgICAgICAqIDM+IHRoZSByZXN1bWUgbGF0ZW5jeSBpcyB0aGUgYWN0dWFs IHZhbHVlIHRvIGJlIHNldC4NCj4gKyAgICAgICAgKi8NCj4gKyAgICAgICBpZiAobGF0ZW5jeSA9 PSBSVEVfUE9XRVJfUU9TX1NUUklDVF9MQVRFTkNZX1ZBTFVFKQ0KPiArICAgICAgICAgICAgICAg c25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiVzIiwgIm4vYSIpOw0KPiArICAgICAgIGVsc2Ug aWYgKGxhdGVuY3kgPT0NCj4gUlRFX1BPV0VSX1FPU19SRVNVTUVfTEFURU5DWV9OT19DT05TVFJB SU5UKQ0KPiArICAgICAgICAgICAgICAgc25wcmludGYoYnVmLCBzaXplb2YoYnVmKSwgIiV1Iiwg MCk7DQo+ICsgICAgICAgZWxzZQ0KPiArICAgICAgICAgICAgICAgc25wcmludGYoYnVmLCBzaXpl b2YoYnVmKSwgIiV1IiwgbGF0ZW5jeSk7DQo+ICsNCj4gKyAgICAgICByZXQgPSB3cml0ZV9jb3Jl X3N5c2ZzX3MoZiwgYnVmKTsNCj4gKyAgICAgICBpZiAocmV0ICE9IDApDQo+ICsgICAgICAgICAg ICAgICBQT1dFUl9MT0coRVJSLCAiRmFpbGVkIHRvIHdyaXRlDQo+ICJQTV9RT1NfU1lTRklMRV9S RVNVTUVfTEFURU5DWV9VUyIgOiAlcyIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgY3B1 X2lkLCBzdHJlcnJvcihlcnJubykpOw0KPiArDQo+ICsgICAgICAgZmNsb3NlKGYpOw0KPiArDQo+ ICsgICAgICAgcmV0dXJuIHJldDsNCj4gK30NCj4gKw0KPiAraW50DQo+ICtydGVfcG93ZXJfcW9z X2dldF9jcHVfcmVzdW1lX2xhdGVuY3kodWludDE2X3QgbGNvcmVfaWQpIHsNCj4gKyAgICAgICBj aGFyIGJ1ZltQTV9RT1NfQ1BVX1JFU1VNRV9MQVRFTkNZX0JVRl9MRU5dOw0KPiArICAgICAgIGlu dCBsYXRlbmN5ID0gLTE7DQo+ICsgICAgICAgdWludDMyX3QgY3B1X2lkOw0KPiArICAgICAgIEZJ TEUgKmY7DQo+ICsgICAgICAgaW50IHJldDsNCj4gKw0KPiArICAgICAgIGlmICghcnRlX2xjb3Jl X2lzX2VuYWJsZWQobGNvcmVfaWQpKSB7DQo+ICsgICAgICAgICAgICAgICBQT1dFUl9MT0coRVJS LCAibGNvcmUgaWQgJXUgaXMgbm90IGVuYWJsZWQiLCBsY29yZV9pZCk7DQo+ICsgICAgICAgICAg ICAgICByZXR1cm4gLUVJTlZBTDsNCj4gKyAgICAgICB9DQo+ICsgICAgICAgcmV0ID0gcG93ZXJf Z2V0X2xjb3JlX21hcHBlZF9jcHVfaWQobGNvcmVfaWQsICZjcHVfaWQpOw0KPiArICAgICAgIGlm IChyZXQgIT0gMCkNCj4gKyAgICAgICAgICAgICAgIHJldHVybiByZXQ7DQo+ICsNCj4gKyAgICAg ICByZXQgPSBvcGVuX2NvcmVfc3lzZnNfZmlsZSgmZiwgInIiLA0KPiBQTV9RT1NfU1lTRklMRV9S RVNVTUVfTEFURU5DWV9VUywgY3B1X2lkKTsNCj4gKyAgICAgICBpZiAocmV0ICE9IDApIHsNCj4g KyAgICAgICAgICAgICAgIFBPV0VSX0xPRyhFUlIsICJGYWlsZWQgdG8gb3Blbg0KPiAiUE1fUU9T X1NZU0ZJTEVfUkVTVU1FX0xBVEVOQ1lfVVMiIDogJXMiLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgIGNwdV9pZCwgc3RyZXJyb3IoZXJybm8pKTsNCj4gKyAgICAgICAgICAgICAgIHJldHVy biByZXQ7DQo+ICsgICAgICAgfQ0KPiArDQo+ICsgICAgICAgcmV0ID0gcmVhZF9jb3JlX3N5c2Zz X3MoZiwgYnVmLCBzaXplb2YoYnVmKSk7DQo+ICsgICAgICAgaWYgKHJldCAhPSAwKSB7DQo+ICsg ICAgICAgICAgICAgICBQT1dFUl9MT0coRVJSLCAiRmFpbGVkIHRvIHJlYWQNCj4gIlBNX1FPU19T WVNGSUxFX1JFU1VNRV9MQVRFTkNZX1VTIiA6ICVzIiwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICBjcHVfaWQsIHN0cmVycm9yKGVycm5vKSk7DQo+ICsgICAgICAgICAgICAgICBnb3RvIG91 dDsNCj4gKyAgICAgICB9DQo+ICsNCj4gKyAgICAgICAvKg0KPiArICAgICAgICAqIEJhc2VkIG9u IHRoZSBzeXNmcyBpbnRlcmZhY2UgcG1fcW9zX3Jlc3VtZV9sYXRlbmN5X3VzIHVuZGVyDQo+ICsg ICAgICAgICogQFBNX1FPU19TWVNGSUxFX1JFU1VNRV9MQVRFTkNZX1VTIGRpcmVjdG9yeSBpbiBr ZXJuZWwsIHRoZWlyDQo+IG1lYW5pbmcNCj4gKyAgICAgICAgKiBpcyBhcyBmb2xsb3dzIGZvciBk aWZmZXJlbnQgb3V0cHV0IHN0cmluZy4NCj4gKyAgICAgICAgKiAxPiB0aGUgcmVzdW1lIGxhdGVu Y3kgaXMgMCBpZiB0aGUgb3V0cHV0IGlzICJuL2EiLg0KPiArICAgICAgICAqIDI+IHRoZSByZXN1 bWUgbGF0ZW5jeSBpcyBubyBjb25zdHJhaW50IGlmIHRoZSBvdXRwdXQgaXMgIjAiLg0KPiArICAg ICAgICAqIDM+IHRoZSByZXN1bWUgbGF0ZW5jeSBpcyB0aGUgYWN0dWFsIHZhbHVlIGluIHVzZWQg Zm9yIG90aGVyIHN0cmluZy4NCj4gKyAgICAgICAgKi8NCj4gKyAgICAgICBpZiAoc3RyY21wKGJ1 ZiwgIm4vYSIpID09IDApDQo+ICsgICAgICAgICAgICAgICBsYXRlbmN5ID0gUlRFX1BPV0VSX1FP U19TVFJJQ1RfTEFURU5DWV9WQUxVRTsNCj4gKyAgICAgICBlbHNlIHsNCj4gKyAgICAgICAgICAg ICAgIGxhdGVuY3kgPSBzdHJ0b3VsKGJ1ZiwgTlVMTCwgMTApOw0KPiArICAgICAgICAgICAgICAg bGF0ZW5jeSA9IGxhdGVuY3kgPT0gMCA/DQo+IFJURV9QT1dFUl9RT1NfUkVTVU1FX0xBVEVOQ1lf Tk9fQ09OU1RSQUlOVCA6IGxhdGVuY3k7DQo+ICsgICAgICAgfQ0KPiArDQo+ICtvdXQ6DQo+ICsg ICAgICAgZmNsb3NlKGYpOw0KPiArDQo+ICsgICAgICAgcmV0dXJuIGxhdGVuY3kgIT0gLTEgPyBs YXRlbmN5IDogcmV0OyB9DQo+IGRpZmYgLS1naXQgYS9saWIvcG93ZXIvcnRlX3Bvd2VyX3Fvcy5o IGIvbGliL3Bvd2VyL3J0ZV9wb3dlcl9xb3MuaCBuZXcgZmlsZSBtb2RlDQo+IDEwMDY0NCBpbmRl eCAwMDAwMDAwMDAwLi43YThkYWI5MjcyDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvbGliL3Bv d2VyL3J0ZV9wb3dlcl9xb3MuaA0KPiBAQCAtMCwwICsxLDczIEBADQo+ICsvKiBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTMtQ2xhdXNlDQo+ICsgKiBDb3B5cmlnaHQoYykgMjAyNCBIaVNp bGljb24gTGltaXRlZA0KPiArICovDQo+ICsNCj4gKyNpZm5kZWYgUlRFX1BPV0VSX1FPU19IDQo+ ICsjZGVmaW5lIFJURV9QT1dFUl9RT1NfSA0KPiArDQo+ICsjaW5jbHVkZSA8c3RkaW50Lmg+DQo+ ICsNCj4gKyNpbmNsdWRlIDxydGVfY29tcGF0Lmg+DQo+ICsNCj4gKyNpZmRlZiBfX2NwbHVzcGx1 cw0KPiArZXh0ZXJuICJDIiB7DQo+ICsjZW5kaWYNCj4gKw0KPiArLyoqDQo+ICsgKiBAZmlsZSBy dGVfcG93ZXJfcW9zLmgNCj4gKyAqDQo+ICsgKiBQTSBRb1MgQVBJLg0KPiArICoNCj4gKyAqIFRo ZSBDUFUtd2lkZSByZXN1bWUgbGF0ZW5jeSBsaW1pdCBoYXMgYSBwb3NpdGl2ZSBpbXBhY3Qgb24g dGhpcw0KPiArQ1BVJ3MgaWRsZQ0KPiArICogc3RhdGUgc2VsZWN0aW9uIGluIGVhY2ggY3B1aWRs ZSBnb3Zlcm5vci4NCj4gKyAqIFBsZWFzZSBzZWUgdGhlIFBNIFFvUyBvbiBDUFUgd2lkZSBpbiB0 aGUgZm9sbG93aW5nIGxpbms6DQo+ICsgKg0KPiAraHR0cHM6Ly93d3cua2VybmVsLm9yZy9kb2Mv aHRtbC9sYXRlc3QvYWRtaW4tZ3VpZGUvYWJpLXRlc3RpbmcuaHRtbD9oaWcNCj4gK2hsaWdodD1w bV9xb3NfcmVzdW1lX2xhdGVuY3lfdXMjYWJpLXN5cy1kZXZpY2VzLXBvd2VyLXBtLXFvcy1yZXN1 bWUtbGF0DQo+ICtlbmN5LXVzDQo+ICsgKg0KPiArICogVGhlIGRlZXBlciB0aGUgaWRsZSBzdGF0 ZSwgdGhlIGxvd2VyIHRoZSBwb3dlciBjb25zdW1wdGlvbiwgYnV0IHRoZQ0KPiArICogbG9uZ2Vy IHRoZSByZXN1bWUgdGltZS4gU29tZSBzZXJ2aWNlIGFyZSBkZWxheSBzZW5zaXRpdmUgYW5kIHZl cnkNCj4gK2V4Y2VwdCB0aGUNCj4gKyAqIGxvdyByZXN1bWUgdGltZSwgbGlrZSBpbnRlcnJ1cHQg cGFja2V0IHJlY2VpdmluZyBtb2RlLg0KPiArICoNCj4gKyAqIEluIHRoZXNlIGNhc2UsIHBlci1D UFUgUE0gUW9TIEFQSSBjYW4gYmUgdXNlZCB0byBjb250cm9sIHRoaXMgQ1BVJ3MNCj4gK2lkbGUN Cj4gKyAqIHN0YXRlIHNlbGVjdGlvbiBhbmQgbGltaXQganVzdCBlbnRlciB0aGUgc2hhbGxvd2Vz dCBpZGxlIHN0YXRlIHRvDQo+ICtsb3cgdGhlDQo+ICsgKiBkZWxheSBhZnRlciBzbGVlcCBieSBz ZXR0aW5nIHN0cmljdCByZXN1bWUgbGF0ZW5jeSAoemVybyB2YWx1ZSkuDQo+ICsgKi8NCj4gKw0K PiArI2RlZmluZSBSVEVfUE9XRVJfUU9TX1NUUklDVF9MQVRFTkNZX1ZBTFVFICAgICAgICAgICAg IDANCj4gKyNkZWZpbmUgUlRFX1BPV0VSX1FPU19SRVNVTUVfTEFURU5DWV9OT19DT05TVFJBSU5U DQo+IElOVDMyX01BWA0KPiArDQo+ICsvKioNCj4gKyAqIEB3YXJuaW5nDQo+ICsgKiBAYiBFWFBF UklNRU5UQUw6IHRoaXMgQVBJIG1heSBjaGFuZ2Ugd2l0aG91dCBwcmlvciBub3RpY2UuDQo+ICsg Kg0KPiArICogQHBhcmFtIGxjb3JlX2lkDQo+ICsgKiAgIHRhcmdldCBsb2dpY2FsIGNvcmUgaWQN Cj4gKyAqDQo+ICsgKiBAcGFyYW0gbGF0ZW5jeQ0KPiArICogICBUaGUgbGF0ZW5jeSBzaG91bGQg YmUgZ3JlYXRlciB0aGFuIGFuZCBlcXVhbCB0byB6ZXJvIGluIG1pY3Jvc2Vjb25kcyB1bml0Lg0K PiArICoNCj4gKyAqIEByZXR1cm4NCj4gKyAqICAgMCBvbiBzdWNjZXNzLiBPdGhlcndpc2UgbmVn YXRpdmUgdmFsdWUgaXMgcmV0dXJuZWQuDQo+ICsgKi8NCj4gK19fcnRlX2V4cGVyaW1lbnRhbA0K PiAraW50IHJ0ZV9wb3dlcl9xb3Nfc2V0X2NwdV9yZXN1bWVfbGF0ZW5jeSh1aW50MTZfdCBsY29y ZV9pZCwgaW50DQo+ICtsYXRlbmN5KTsNCj4gKw0KPiArLyoqDQo+ICsgKiBAd2FybmluZw0KPiAr ICogQGIgRVhQRVJJTUVOVEFMOiB0aGlzIEFQSSBtYXkgY2hhbmdlIHdpdGhvdXQgcHJpb3Igbm90 aWNlLg0KPiArICoNCj4gKyAqIEdldCB0aGUgY3VycmVudCByZXN1bWUgbGF0ZW5jeSBvZiB0aGlz IGxvZ2ljYWwgY29yZS4NCj4gKyAqIFRoZSBkZWZhdWx0IHZhbHVlIGluIGtlcm5lbCBpcyBAc2Vl DQo+ICtSVEVfUE9XRVJfUU9TX1JFU1VNRV9MQVRFTkNZX05PX0NPTlNUUkFJTlQNCj4gKyAqIGlm IGRvbid0IHNldCBpdC4NCj4gKyAqDQo+ICsgKiBAcmV0dXJuDQo+ICsgKiAgIE5lZ2F0aXZlIHZh bHVlIG9uIGZhaWx1cmUuDQo+ICsgKiAgID49IDAgbWVhbnMgdGhlIGFjdHVhbCByZXN1bWUgbGF0 ZW5jeSBsaW1pdCBvbiB0aGlzIGNvcmUuDQo+ICsgKi8NCj4gK19fcnRlX2V4cGVyaW1lbnRhbA0K PiAraW50IHJ0ZV9wb3dlcl9xb3NfZ2V0X2NwdV9yZXN1bWVfbGF0ZW5jeSh1aW50MTZfdCBsY29y ZV9pZCk7DQo+ICsNCj4gKyNpZmRlZiBfX2NwbHVzcGx1cw0KPiArfQ0KPiArI2VuZGlmDQo+ICsN Cj4gKyNlbmRpZiAvKiBSVEVfUE9XRVJfUU9TX0ggKi8NCj4gZGlmZiAtLWdpdCBhL2xpYi9wb3dl ci92ZXJzaW9uLm1hcCBiL2xpYi9wb3dlci92ZXJzaW9uLm1hcCBpbmRleA0KPiBjOWEyMjY2MTRl Li4wOGYxNzhhMzlkIDEwMDY0NA0KPiAtLS0gYS9saWIvcG93ZXIvdmVyc2lvbi5tYXANCj4gKysr IGIvbGliL3Bvd2VyL3ZlcnNpb24ubWFwDQo+IEBAIC01MSw0ICs1MSw4IEBAIEVYUEVSSU1FTlRB TCB7DQo+ICAgICAgICAgcnRlX3Bvd2VyX3NldF91bmNvcmVfZW52Ow0KPiAgICAgICAgIHJ0ZV9w b3dlcl91bmNvcmVfZnJlcXM7DQo+ICAgICAgICAgcnRlX3Bvd2VyX3Vuc2V0X3VuY29yZV9lbnY7 DQo+ICsNCj4gKyAgICAgICAjIGFkZGVkIGluIDI0LjExDQo+ICsgICAgICAgcnRlX3Bvd2VyX3Fv c19nZXRfY3B1X3Jlc3VtZV9sYXRlbmN5Ow0KPiArICAgICAgIHJ0ZV9wb3dlcl9xb3Nfc2V0X2Nw dV9yZXN1bWVfbGF0ZW5jeTsNCj4gIH07DQo+IC0tDQo+IDIuMjIuMA0KDQpBY2tlZC1ieTogU2l2 YXByYXNhZCBUdW1tYWxhIDxzaXZhcHJhc2FkLnR1bW1hbGFAYW1kLmNvbT4NCg==