From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mx0b-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id DEDCB3858D33 for ; Thu, 2 May 2024 14:42:05 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org DEDCB3858D33 Authentication-Results: sourceware.org; dmarc=pass (p=reject dis=none) header.from=ibm.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=ibm.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org DEDCB3858D33 Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=148.163.158.5 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714660930; cv=fail; b=Eooctke8YBFP6sLAIhHH+jZcDoUYbY1VBr88Q3HW3Z436feCo7Mzl7aImmTVLpbK/cPko1zoV/Ca3ul/EpKZy8KcNziQGSvD7CaphZaBeVI2L/mUpAzHy7peNuNmRgcF8BUAn9CnGEonwpbbULOK66IUHn21QlfuklPfmQ6M2ec= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1714660930; c=relaxed/simple; bh=N+ig2Dreot7hQnaW9UKM3d19CahJeMHjjDgvkT82qNc=; h=DKIM-Signature:From:To:Date:Message-ID:MIME-Version:Subject; b=PBUlSMc8/M5rvWFev4SWF/4rF7qOkB/lsWlqCNkVnK7xp1GlAfj1nhJoBa6YJyxzDwM2GREDxGa6G3JCIceCi6YxI4ugKkZLULYBZAzwge9bTJN7wTCQgjIcjsgVDA0AYmyBV5k0rO6lTRtHUzUYJcg6mMr69ZZKqIahSMfqJB4= ARC-Authentication-Results: i=2; server2.sourceware.org Received: from pps.filterd (m0353723.ppops.net [127.0.0.1]) by mx0a-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 442EY8IA018249; Thu, 2 May 2024 14:42:02 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ibm.com; h=from : to : cc : date : message-id : references : in-reply-to : content-type : mime-version : subject; s=pp1; bh=N+ig2Dreot7hQnaW9UKM3d19CahJeMHjjDgvkT82qNc=; b=hSmgIu4W3T938I7CAXq1j0TJoJZ6azhu9XFKvy8hOt19bmYnmD28s/DCKcwJTHB2QKmN RHfE58qtFvhAfXx+AS8lu3UElpOKM2zlRkvT5klyCoMpb/E7l0Nr3OkwBA9jmikhY5Q9 T3iQfkPcSP2S+k1x2B64sIYZGZ9DiGDBnhNfnwFHMdfM8v1c1ItI5StDCVunEiHNl7GU OY4Ya91V8rV7TY9d7aXUZxfy4Z3av+5EWoA/r2gOMTgPJPZN5VZto4rmzJonL1zVLAJu k5U7BHDfktqaf48A3UoWvEsvhtKdYgHyiraSxvN5xIrFlR27QzpFzWuJNG0jfs37YtbU jQ== Received: from pps.reinject (localhost [127.0.0.1]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xvcptr0kh-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 02 May 2024 14:42:01 +0000 Received: from m0353723.ppops.net (m0353723.ppops.net [127.0.0.1]) by pps.reinject (8.17.1.5/8.17.1.5) with ESMTP id 442Ecn6Q025282; Thu, 2 May 2024 14:42:01 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2100.outbound.protection.outlook.com [104.47.70.100]) by mx0a-001b2d01.pphosted.com (PPS) with ESMTPS id 3xvcptr0kg-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Thu, 02 May 2024 14:42:01 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Krd4LcS/z1ncCSWsBFHJvStPB13whZUAE4WNX0t6K+EfJlpaEISh7Mpp9Z1DTSpgLWDd7s4kwEIuWr+EDIzsKK11DjkWTHlZDGb3eA65zqom/+dXJ0/FO4965oeketo09L8xFrrpR4cGCR1mR+NAJOMEAr6VPZVMg5pbqewYoJBVyMym3jct0Pdr3+gs+6S0KqeKKlteksfr4iS9Ech4T1wgcP+gwiX/G29VTu3rWyNzJtxFOKdlKyq/AlVgFl04LQRu1Z27zRMAZ5oela3Jtc2fgEJ5ahNcPrUvUw8iUwclQ9zSioN3pj/siPo8EyW5QGOP12MQ6G+qT1t9CHwLlQ== 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=N+ig2Dreot7hQnaW9UKM3d19CahJeMHjjDgvkT82qNc=; b=Az1crJcXbRywEIzxvrKsYe8c4a71NvGUuvZ+ydKeY9s1oC+aW2ZDtreWprWoXh5L8gKBWydIAsHrh6ix6HqIj7kIjwXuTYiUyUIi25uZuStvz+cGrHBWCRC6q5fu0VhG0cnaG1FQUVEv5Ul/rSGdXLJB6GrOvCflWv0nrNKuPLLjts+oH77gkHc3AiKAEh5SY/0lMtqhx32qCIeBfFVDwbMcyjkUZcpkkk0TqdKLjwMZqMQZdpR/4qH/gkHfpnhpi2Y30ul3uXkeqo+kIzHRJuLJeH4jPA1vlaQyqQQ27B87cUBEJ0C8IjbS6uCb+Mmo+OB7Awe1vh0GxAHCkKH9qA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=ibm.com; dmarc=pass action=none header.from=ibm.com; dkim=pass header.d=ibm.com; arc=none Received: from CH2PR15MB3544.namprd15.prod.outlook.com (2603:10b6:610:5::26) by MW3PR15MB3979.namprd15.prod.outlook.com (2603:10b6:303:4b::22) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7544.28; Thu, 2 May 2024 14:41:57 +0000 Received: from CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::86ba:f8f8:c478:6919]) by CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::86ba:f8f8:c478:6919%3]) with mapi id 15.20.7544.023; Thu, 2 May 2024 14:41:57 +0000 From: Aditya Kamath1 To: Aditya Vidyadhar Kamath , "tom@tromey.com" CC: Ulrich Weigand , "gdb-patches@sourceware.org" , Sangamesh Mallayya , "jhb@freebsd.org" Thread-Topic: [EXTERNAL] [PATCH v3] [RFC] Fix AIX thread exit events not being reported and UI to show kernel thread ID. Thread-Index: AQHanJ1lvqkzpUiF5U6yPRdyFZHpG7GEAbMg Date: Thu, 2 May 2024 14:41:57 +0000 Message-ID: References: <20240502142944.14445-1-akamath996@gmail.com> In-Reply-To: <20240502142944.14445-1-akamath996@gmail.com> Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR15MB3544:EE_|MW3PR15MB3979:EE_ x-ms-office365-filtering-correlation-id: af14b037-763b-49db-2bb7-08dc6ab6046e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230031|376005|366007|1800799015|38070700009; x-microsoft-antispam-message-info: =?utf-8?B?K2kxMC9aVVh2bVpZczE5dVBscDYraGJ6ZWQ2RjdUZkNiQW9JS3pvd0VHODJZ?= =?utf-8?B?c2NOazdNR2hocmJQMGtsM243Vzg3NUJVeXlETFlxUHNlY1psMk5QbWZ5ZHpD?= =?utf-8?B?cmxYSGJDclRFRWNFYTZXa25IcFNweDdMKzRQMlVHdTdodDRRR2NSVEx0dm9T?= =?utf-8?B?QVk2Z3cyd0I2Z0RJWHNNMlNPWkdRcjB2bmE0Mi82b0tCSFZ1cklYdEpoUHQy?= =?utf-8?B?RDJmR0wzQUprVEtITUNNNHAvc09Yek1scTlHajlMUVVNZytmdEVvN2ptN1NF?= =?utf-8?B?N2k1Nzl5T25SU2tiQ0tzWkhqVlEycjNiQm5haTJ6OUhMU05CMjRiMkJROWIw?= =?utf-8?B?Tm5QYklZNEVnRXNEK1gvbEVwUitCTlBweS9FclpYVDZBcFl0eVJhUlVRWENZ?= =?utf-8?B?ZDRqRWVxR3RvU0pXNGNWMnhWY0FMNnJuRlBHZGFkRXRNUDQyTzRrdGw4ZTJE?= =?utf-8?B?Tkg5bllGUlRpamFZZDFyeFZub1BUWlJjUkJiUlNYUFR5TXdwTGEvNGk5N2ox?= =?utf-8?B?KytZeFZKUllrd080MGFReFpLWGQyWnVreVBGVWRXWVI4aTNOZ2ljRG9Ta0xj?= =?utf-8?B?MDBjbUxMUTA2V0VEV21BZE8wWnd5dmJ5Ymw1UGtqTENZUDduUHFCUFNFMnZt?= =?utf-8?B?UHY1Z09vMVYwY0VXaHdlTTNOMXY4cUk4anR0aWpBZENzQW5GVmMzSzRha0Rl?= =?utf-8?B?WDdrVEZHSmhLbm5aeDYvL2JTK1FDTnpHSHVWaFZZdGdOQ3NHN2ZEQi9yZTAv?= =?utf-8?B?eUZscFFaMEFIUWcvRENuSGlpR0ExZENCdFNlUjdYNGdaRndRcURpM0RCcXVP?= =?utf-8?B?eGQ4S28zYTJZLzE5S3pObE9aRXpwMXYvMXBPbW1lMXFicVJTZ0FnbXMyODJZ?= =?utf-8?B?aGc4N2t4VGFhUFJtd0szV2VYMmx6VEY2VElCYkNIY2J6S25TeloyRG1MdXFH?= =?utf-8?B?aHQ1ZmRsM0JtYkszM0s3RXBNd2huQ0llZlhhQ3RWNUg0NXE4WTViWHVtYTRh?= =?utf-8?B?dG5PWERaTS9VcXpKZzhVaFBzak1oWmtVb0RWR0k2VW5PNlQ5VWQySGdjaEND?= =?utf-8?B?R3ZOZ2Q0N2FnRFlJVDYzODZibWlVSGptVHYxZTFsbldackJKanNBWDZ6Y0ts?= =?utf-8?B?WXJKbmIwb3ovK3lkNHI0SkFBODlXZUJBYnVCSzdBVlZXZWdWMmhOazhERXhp?= =?utf-8?B?Y1lrd0pIcFRVZDZyb1VNMENNVVFCWFhPR1JaK0FPb1VwcUpkRHFxM2RtZ0lU?= =?utf-8?B?MktMajArWEpEQWJBcHhQY01OaHg3NkxHVEJYeWZ3OWZSdC9RZHB1cEd6K090?= =?utf-8?B?VEh2Z0tVMmppbkxxUWFhcE84MmFISXo1RWVzd2llckI3UitQWDVHNlB2aUgw?= =?utf-8?B?QTNEbjV1UlRxVFdiSlByS25wNXRuTy9FT2dtVlkwOTJYY1dxbGEyTC9JMVQ2?= =?utf-8?B?K1dlVVZnL0N4WStSRHN0NElvVG5vUUZlV1VOVWN6VXIxZUh6c1R0anhwTW9Z?= =?utf-8?B?ak04Rlpuc0ZOODQ2WW1oNkEwb1d2WTJKemUzc0RUYnNXWE0vUjNpUlZpbDVx?= =?utf-8?B?L1FiM1JwcnkzOWhxajNWSnduaGtmeGVNc3VKdThVYzhmN3hQSW02V1lxN0cw?= =?utf-8?B?SmZVVkRuQVUzcEJENngrNnJoRkpxeXZJSGtDbnJ5UlRySENvWWYrZ28zSmdI?= =?utf-8?B?U3RGZkt2Vzk1blJ1dHZpWS9BUmFMcmtEVFl4UjlMakpWMmovNXIzV0pBPT0=?= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:CH2PR15MB3544.namprd15.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230031)(376005)(366007)(1800799015)(38070700009);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MVdFb2JITVFyenBDSExsOG1qd3Qxb1pxZFNoYmI0OGlFU3pjeTdQb1FWeE1w?= =?utf-8?B?bmZOTGwwTTJ4Uys4S3U2N2dTMllwN2tGODBqdmNGZjVjaGFpQnE0QlR2M2pS?= =?utf-8?B?TkxoYUlxbGpPQjVYS2YxUEVsdHc0UFlGTmF2TUpzV0YwUTVnNFU3NWJyTkdW?= =?utf-8?B?U3BCaUo2K3BUaUdMTnNnK1dlTzFxTHlpaDdWZzNtYit3aGJaamlFODBQUTE1?= =?utf-8?B?Y1V1U3JEM0VESFN3RU5uU1ZBTFBjUGhSZnZsODN5SWhOazdyRm9uWGdkS3R4?= =?utf-8?B?UkJhWVQzOUVZY1NpSXQ1WTdBUC96OHBHK0tES01Ob045VXA4NHhLcVIvZWcv?= =?utf-8?B?TE54Qys0dEwvNHVSeEt6a2gyQ3JTdHpzWVBscjRvUXJDa2dlSW9Sd1NPNGZV?= =?utf-8?B?Z2pTbjRWZXdiOE9LZUVKYldjbE5BL0RKcVNXZ25Ra2tjeVJVbDNVeGRMbURK?= =?utf-8?B?QTVJdmorM2NPQlRPZEU0MEhIeXg5cmpZZkc3RzFoL0pEUE9NT01kWWFDSVRu?= =?utf-8?B?ZzFjZWlxNk9uenN4VVBFdjkxcm51VEFIak1GR1JHSldqYXZIRGZ4dzBJN3Av?= =?utf-8?B?SzBXeVlGRGdhL29aWDJOYjFFaGc5THNCa1BwbFZvVHlUTFNGQnRHVCtyYndI?= =?utf-8?B?QnhLY2dmSm1Eb3dGRVdwUVp1YWdtS2Rid1FNdEFORERnSWVzSHRGMUhLL3Yr?= =?utf-8?B?SldWK2l1c1FiNWF2cDliaHpEYWtscWpjZjhkcElLWGVLWGtuNkhzZVR3Q0lL?= =?utf-8?B?aGZuczg0M1ViU2dVRVZaUFVaOWJIUjR0bVJsZ2Y4SXFGcGlDNUFyVjQ1Y2hC?= =?utf-8?B?aTc0ODQ1d0UxWW1ZZ1I4YkIwZnJWVVF2WXJhQnBVTVlxWDFtZkJjMlJsTVhP?= =?utf-8?B?ZGorQ0V1cDBnWW5GTEJ1UVl3L2FiSi96NzdPcEhHRUhheTk3bGU3U3dZK3d0?= =?utf-8?B?b2xROUVHdXpDRHFnOXBjcll1NTBlc1pzSjBJWXNaT2ZDVURUWDU4TlR5RzhF?= =?utf-8?B?a2UzNHRlVmlUanVUVGgzSklrLzdTai83NHNJdnF3Z0FNOEgzc2x2VW1tQWRh?= =?utf-8?B?NGZkM0UySTlVaExxbVU1R0tlZ2xhdCt5QzlhbEdyU1IwVGdyOVdsdGVWM3lS?= =?utf-8?B?aU54R2phNEROTzhUYzA0R1NseFV6U0E4SnovTGZ3cXdVSm5lSGVYQ2RWdGpB?= =?utf-8?B?Qm5ZN29Qa1V1M2MzaGNRc3JwaHozRWhoSlZabWZQNVhYN0pUNUZYYWFRM3BW?= =?utf-8?B?Rllmckhza2hnaDRPOWtYbUQ0MHdYRWl0eEt0aVBCQjUwRWVvOG13b00ydHA3?= =?utf-8?B?NkUrUHNGTUdYR2ppVWVIMEM0SkhCTzBiU0FJK1ZSRlR0N0VkMFE5b0JlbVZB?= =?utf-8?B?cVpjM3Z1TWdnSHVSbU90b29xcWwyY1VlSXZHZUFCNnFKcGhOMmtqY3k3VVFu?= =?utf-8?B?ZzhIbzRQa1FWbzNaQy93WjBKZkN5dkt2Y09uNEpFWmMwUnVzUjNHZlc5WnBX?= =?utf-8?B?WjBHUFlKVGhrN3ZYVXc4Rk9yeHpSbGpwUVAwb0d0MkUrQ2ZVQ21LYWtzTG84?= =?utf-8?B?di9Obk9zMzhXZHNId2d2VWE3Y2tjbUFidSthRTBsMXluSW5CMjV6SGtzMVVY?= =?utf-8?B?Rk42a3Y4Nzh6QlpRdVorT1Q4YXJZai9qM1dqTElUb0IvNXh2aTdYSGdtQ1No?= =?utf-8?B?SG9HNVBvNWZhRDFlMitJeXQwL2wrWUZvSWt2WVQvVkI5QlBIT1h3cG82Z3lr?= =?utf-8?B?UEpuWWtHQXhQaUYzM2JaQWhLZkVqWktmVVhldU9XMDAvY010Vk9IdHhJdUJK?= =?utf-8?B?ZUFVTUIzeXdSZzNEZTdzcFA2a21OOE5Sdjd3dGoweEJvWE5GVi9jcTFkdFdO?= =?utf-8?B?KzcybzFpRDRGL1J5QzhWNDZHZ3JMSjRYaEF4WHV4OWxQai9JQVh5dFFkOXMv?= =?utf-8?B?WDIxcjdzMUxVbUNUaXZkZlpCS3UyLytTMzlQaFV0dFV2aHJCc09UbW1uQ1Zu?= =?utf-8?B?eTRBR2tDK0piM2xpMWVBWmRGU1FxMitjc1JrUmZQZG4yOGIwTW0rdFY0VWMw?= =?utf-8?B?L3NmR0I3MlFUNTdSZmZrZnJMY24yWTRZQ0ZnZGo3bEFrVCt0UXNLc2xHZUxl?= =?utf-8?B?bDl1UVJMYlRob0MvR0hqZUFFVjJUaWdJakZNd1pUMXVkNHQxb3RzR2ExVlFE?= =?utf-8?B?TFNhU1g0Qkd6aDNRdTVwT2I3ZG9ZN1dHdzJXaFU3cEdOOWc1eTh4N3NnSnZa?= =?utf-8?B?Rm5xQS9aWUdRSnVHTy84OERVelhRPT0=?= Content-Type: multipart/alternative; boundary="_000_CH2PR15MB3544F263AA653265BA9A956ED6182CH2PR15MB3544namp_" X-OriginatorOrg: ibm.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: CH2PR15MB3544.namprd15.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: af14b037-763b-49db-2bb7-08dc6ab6046e X-MS-Exchange-CrossTenant-originalarrivaltime: 02 May 2024 14:41:57.0359 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: fcf67057-50c9-4ad4-98f3-ffca64add9e9 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: WJH07YiJDfWb0gLuX+om7C1Gp90Fm+/iV7WLQJmth8Qm/5C5qG0aa37PLK31u2/qQVRuE8r0hCk+0Log5YqOSw== X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW3PR15MB3979 X-Proofpoint-GUID: c7HcGhuFSLvxr25xRnUKmKTPX3i3qCtB X-Proofpoint-ORIG-GUID: 9WzUtzGySBsQeUPH0FL5g7BJNkqmH_cx X-Proofpoint-UnRewURL: 0 URL was un-rewritten MIME-Version: 1.0 Subject: Re: [PATCH v3] [RFC] Fix AIX thread exit events not being reported and UI to show kernel thread ID. X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1011,Hydra:6.0.650,FMLib:17.11.176.26 definitions=2024-05-02_05,2024-05-02_02,2023-05-22_02 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 phishscore=0 clxscore=1011 suspectscore=0 mlxscore=0 lowpriorityscore=0 impostorscore=0 mlxlogscore=999 adultscore=0 bulkscore=0 malwarescore=0 priorityscore=1501 spamscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2404010000 definitions=main-2405020095 X-Spam-Status: No, score=-9.0 required=5.0 tests=BAYES_00,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,GIT_PATCH_0,HTML_MESSAGE,RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE,TXREP autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: --_000_CH2PR15MB3544F263AA653265BA9A956ED6182CH2PR15MB3544namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmVzcGVjdGVkIGNvbW11bml0eSBtZW1iZXJzLA0KDQpUaGlzIGlzIHRoZSBw YXRjaCB2ZXJzaW9uIDMgb2YgdGhlIGZpeC4NCg0KVGhpcyBwYXRjaCBjbGVh cnMgdGhlIGdkYi50aHJlYWQvdGhyZWFkX2V2ZW50cy5leHAgdGVzdCBjYXNl Lg0KDQogICAgICAgICAgICAgICAgPT09IGdkYiBTdW1tYXJ5ID09PQ0KDQoj IG9mIGV4cGVjdGVkIHBhc3NlcyAgICAgICAgICAgIDExDQovY3VycmVudF9n ZGIvYmludXRpbHMtZ2RiL2dkYi9nZGIgdmVyc2lvbiAgMTUuMC41MC4yMDI0 MDMyNS1naXQgLW53IC1ueCAtcSAtaWV4ICJzZXQgaGVpZ2h0IDAiIC1pZXgg InNldCB3aWR0aCAwIiAtZGF0YS1kaXJlY3RvcnkgL2N1cnJlbnRfZ2RiL2Jp bnV0aWxzLWdkYi9nZGIvZGF0YS1kaXJlY3RvcnkNCg0KQW5kIGNsZWFycyBw cm9ncmFtIDEgYXR0YWNoZWQgYmVsb3cgdGhpcyBlbWFpbCBhcyB3ZWxsLiBT ZWUgdGhlIEdEQiBvdXRwdXQgZm9yIHRoZSBzYW1lIGFzIHdlbGwgaW4gQUlY Lg0KDQpXZSBoYXZlIG9ubHkgb25lIHNtYWxsIHByb2JsZW0uDQoNCkNvbnNp ZGVyIHRoZSBnZGIudGhyZWFkcy90aHJlYWRfZXZlbnRzLmV4cCB0ZXN0IGNh c2UuIFNlZSBwcm9ncmFtIDIgYmVsb3cgdGhpcyBlbWFpbCAoc2FtZSBhcyB0 aGUgLmMgZmlsZSBpbiB0aGUgdGVzdCBjYXNlKS4NCg0KSGVyZSBpcyB0aGUg b3V0cHV0IG9mIEdEQiBpbiBBSVguDQoNClJlYWRpbmcgc3ltYm9scyBmcm9t IHRlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRfZXZlbnRzLi4uDQooZ2Ri KSBiIG1haW4NCkJyZWFrcG9pbnQgMSBhdCAweDEwMDAwN2RjOiBmaWxlIGdk Yi50aHJlYWRzL3RocmVhZF9ldmVudHMuYywgbGluZSA0MS4NCihnZGIpIHIN ClN0YXJ0aW5nIHByb2dyYW06IC9jdXJyZW50X2dkYi9iaW51dGlscy1nZGIv Z2RiL3Rlc3RzdWl0ZS9nZGIudGhyZWFkcy90aHJlYWRfZXZlbnRzDQpCcmVh a3BvaW50IDEsIG1haW4gKGFyZ2M9MSwgYXJndj0weDJmZjIyOTQwKSBhdCBn ZGIudGhyZWFkcy90aHJlYWRfZXZlbnRzLmM6NDENCjQxICAgICAgICBpZiAo cHRocmVhZF9jcmVhdGUgKCZ0aHJlYWQsIE5VTEwsIHRocmVhZGZ1bmMsIE5V TEwpICE9IDApDQooZ2RiKSBiIGFmdGVyX2pvaW5fZnVuYw0KQnJlYWtwb2lu dCAyIGF0IDB4MTAwMDA3Nzg6IGZpbGUgZ2RiLnRocmVhZHMvdGhyZWFkX2V2 ZW50cy5jLCBsaW5lIDM0Lg0KKGdkYikgYiB0aHJlYWRmdW5jDQpCcmVha3Bv aW50IDMgYXQgMHgxMDAwMDcxODogZmlsZSBnZGIudGhyZWFkcy90aHJlYWRf ZXZlbnRzLmMsIGxpbmUgMjcuDQooZ2RiKSBjDQpDb250aW51aW5nLg0KW05l dyBUaHJlYWQgMjU4ICh0aWQgMjUyMzE3NTkpXQ0KW1N3aXRjaGluZyB0byBU aHJlYWQgMjU4ICh0aWQgMjUyMzE3NTkpXQ0KDQpUaHJlYWQgMiBoaXQgQnJl YWtwb2ludCAzLCB0aHJlYWRmdW5jIChhcmc9MHgwKSBhdCBnZGIudGhyZWFk cy90aHJlYWRfZXZlbnRzLmM6MjcNCjI3ICAgICAgICBwcmludGYgKCJpbiB0 aHJlYWRmdW5jXG4iKTsNCihnZGIpDQpDb250aW51aW5nLg0KaW4gdGhyZWFk ZnVuYw0KW1RocmVhZCAyNTggKHRpZCAyNTIzMTc1OSkgZXhpdGVkXQ0KW1N3 aXRjaGluZyB0byBUaHJlYWQgMSAodGlkIDI4MTE1MzIzKV0NCg0KVGhyZWFk IDEgaGl0IEJyZWFrcG9pbnQgMiwgYWZ0ZXJfam9pbl9mdW5jICgpIGF0IGdk Yi50aHJlYWRzL3RocmVhZF9ldmVudHMuYzozNA0KMzQgICAgICAgIHByaW50 ZiAoImZpbmlzaGVkXG4iKTsNCihnZGIpIGluZm8gdGhyZWFkcw0KLi8uLi9n ZGJzdXBwb3J0L2ludHJ1c2l2ZV9saXN0Lmg6NDY4OiBpbnRlcm5hbC1lcnJv cjogZXJhc2VfZWxlbWVudDogQXNzZXJ0aW9uIGBlbGVtX25vZGUtPnByZXYg IT0gbnVsbHB0cicgZmFpbGVkLg0KQSBwcm9ibGVtIGludGVybmFsIHRvIEdE QiBoYXMgYmVlbiBkZXRlY3RlZCwNCg0KDQpXaGVuIEkgZG8gaW5mbyB0aHJl YWRzIGhlcmUgdGhpcyBmYWlscy4gRGlkIHRoaXMgaGFwcGVuIGJlY2F1c2Ug d2UgZGVsZXRlIHRoZSB0aHJlYWQ/PyBJIGFtIG5vdCBzdXJlIHdoeSB0aGlz IGhhcHBlbmVkPz8NCg0KS2luZGx5IGxldCBtZSBrbm93IHdoYXQgd2UgbWlz c2VkIG9yIHdoZXJlIEkgd2VudCB3cm9uZyBpbiB0aGUgcGF0Y2guIEF3YWl0 aW5nIGEgcmVwbHkuDQoNCkhhdmUgYSBuaWNlIGRheSBhaGVhZC4NCg0KVGhh bmtzIGFuZCByZWdhcmRzLA0KQWRpdHlhLg0KDQpQcm9ncmFtIDENCg0KI2lu Y2x1ZGUgPHN0ZGlvLmg+DQojaW5jbHVkZSA8dW5pc3RkLmg+DQojaW5jbHVk ZSA8c3RkbGliLmg+DQojaW5jbHVkZSA8cHRocmVhZC5oPg0KI2luY2x1ZGUg PGFzc2VydC5oPg0KDQpwdGhyZWFkX2JhcnJpZXJfdCBiYXJyaWVyOw0KDQoj ZGVmaW5lIE5VTV9USFJFQURTIDMNCg0Kdm9pZCAqDQp0aHJlYWRfZnVuY3Rp b24gKHZvaWQgKmFyZykNCnsNCiAgLyogVGhpcyBlbnN1cmVzIHRoYXQgdGhl IGJyZWFrcG9pbnQgaXMgb25seSBoaXQgYWZ0ZXIgYm90aCB0aHJlYWRzDQog ICAgIGFyZSBjcmVhdGVkLCBzbyB0aGUgdGVzdCBjYW4gYWx3YXlzIHN3aXRj aCB0byB0aGUgbm9uLWV2ZW50DQogICAgIHRocmVhZCB3aGVuIHRoZSBicmVh a3BvaW50IHRyaWdnZXJzLiAgKi8NCi8vICBwdGhyZWFkX2JhcnJpZXJfd2Fp dCAoJmJhcnJpZXIpOw0KDQogIHByaW50ZiAoIkhlbGxvIFdvcmxkIFxuIik7 IC8qIGJyZWFrIGhlcmUgKi8NCn0NCg0KaW50DQptYWluICh2b2lkKQ0Kew0K ICBpbnQgaTsNCg0KICBhbGFybSAoMzAwKTsNCg0KICBwdGhyZWFkX2JhcnJp ZXJfaW5pdCAoJmJhcnJpZXIsIE5VTEwsIE5VTV9USFJFQURTKTsNCg0KICBm b3IgKGkgPSAwOyBpIDwgTlVNX1RIUkVBRFM7IGkrKykNCiAgICB7DQogICAg ICBwdGhyZWFkX3QgdGhyZWFkOw0KICAgICAgaW50IHJlczsNCg0KICAgICAg cmVzID0gcHRocmVhZF9jcmVhdGUgKCZ0aHJlYWQsIE5VTEwsDQogICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhyZWFkX2Z1bmN0aW9uLCBOVUxMKTsN CiAgICAgIGFzc2VydCAocmVzID09IDApOw0KICAgIH0NCg0KICBwcmludGYg KCJNb3JlIHRocmVhZHMgXG4iKTsNCiAgZm9yIChpID0gMDsgaSA8IE5VTV9U SFJFQURTOyBpKyspDQogICAgew0KICAgICAgcHRocmVhZF90IHRocmVhZDsN CiAgICAgIGludCByZXM7DQoNCiAgICAgIHJlcyA9IHB0aHJlYWRfY3JlYXRl ICgmdGhyZWFkLCBOVUxMLA0KICAgICAgICAgICAgICAgIHRocmVhZF9mdW5j dGlvbiwgTlVMTCk7DQogICAgICBhc3NlcnQgKHJlcyA9PSAwKTsNCiAgICB9 DQogIHdoaWxlICgxKQ0KICAgIHNsZWVwICgxKTsNCg0KICByZXR1cm4gMDsN Cn0NCg0KDQpHREIgb3V0cHV0IGZvciBwcm9ncmFtIDE6DQoNClJlYWRpbmcg c3ltYm9scyBmcm9tIC8vZ2RiX3Rlc3RzL2NvbnRpbnVlLXBlbmRpbmctc3Rh dHVzX2V4aXRfdGVzdC4uLg0KKGdkYikgcg0KU3RhcnRpbmcgcHJvZ3JhbTog L2dkYl90ZXN0cy9jb250aW51ZS1wZW5kaW5nLXN0YXR1c19leGl0X3Rlc3QN Ck1vcmUgdGhyZWFkcw0KSGVsbG8gV29ybGQNCkhlbGxvIFdvcmxkDQpIZWxs byBXb3JsZA0KSGVsbG8gV29ybGQNCkhlbGxvIFdvcmxkDQpIZWxsbyBXb3Js ZA0KW05ldyBUaHJlYWQgMjU4ICh0aWQgMjgxMTUzNDUpXQ0KW1RocmVhZCAy NTggKHRpZCAyODExNTM0NSkgZXhpdGVkXQ0KW05ldyBUaHJlYWQgNTE1ICh0 aWQgMjcwMDEyODkpXQ0KW1RocmVhZCA1MTUgKHRpZCAyNzAwMTI4OSkgZXhp dGVkXQ0KW05ldyBUaHJlYWQgNzcyICh0aWQgMTkxMzY3NzEpXQ0KW1RocmVh ZCA3NzIgKHRpZCAxOTEzNjc3MSkgZXhpdGVkXQ0KW05ldyBUaHJlYWQgMTAy OSAodGlkIDE4NjEyNTY5KV0NCltUaHJlYWQgMTAyOSAodGlkIDE4NjEyNTY5 KSBleGl0ZWRdDQpbTmV3IFRocmVhZCAxMjg2ICh0aWQgMzE0NTc1OTUpXQ0K W1RocmVhZCAxMjg2ICh0aWQgMzE0NTc1OTUpIGV4aXRlZF0NCltOZXcgVGhy ZWFkIDE1NDMgKHRpZCAzMDczNjgyMyldDQpbVGhyZWFkIDE1NDMgKHRpZCAz MDczNjgyMykgZXhpdGVkXQ0KDQpUaHJlYWQgMSByZWNlaXZlZCBzaWduYWwg U0lHSU5ULCBJbnRlcnJ1cHQuDQoweGQwNjExZDcwIGluIF9wX25zbGVlcCAo KSBmcm9tIC91c3IvbGliL2xpYnB0aHJlYWQuYShfc2hyX3hwZzUubykNCihn ZGIpIGluZm8gdGhyZWFkcw0KICBJZCAgIFRhcmdldCBJZCAgICAgICAgICAg ICAgICAgICAgICAgICAgIEZyYW1lDQoqIDEgICAgVGhyZWFkIDEgKHRpZCAy NTIzMTc5MykgKFtydW5uaW5nXSkgMHhkMDYxMWQ3MCBpbiBfcF9uc2xlZXAg KCkgZnJvbSAvdXNyL2xpYi9saWJwdGhyZWFkLmEoX3Nocl94cGc1Lm8pDQoN ClByb2dyYW0gMjoNCg0KVGhpcyBmaWxlIHdhcyB3cml0dGVuIGJ5IENocmlz IERlbWV0cmlvdSAoY2dkQGdvb2dsZS5jb208bWFpbHRvOmNnZEBnb29nbGUu Y29tPikuICAqLw0KDQovKiBTaW1wbGUgdGVzdCB0byB0cmlnZ2VyIHRocmVh ZCBldmVudHMgKHRocmVhZCBzdGFydCwgdGhyZWFkIGV4aXQpLiAgKi8NCg0K I2luY2x1ZGUgPHB0aHJlYWQuaD4NCiNpbmNsdWRlIDxzdGRsaWIuaD4NCiNp bmNsdWRlIDxzdGRpby5oPg0KDQpzdGF0aWMgdm9pZCAqDQp0aHJlYWRmdW5j ICh2b2lkICphcmcpDQp7DQogIHByaW50ZiAoImluIHRocmVhZGZ1bmNcbiIp Ow0KICByZXR1cm4gTlVMTDsNCn0NCg0Kc3RhdGljIHZvaWQNCmFmdGVyX2pv aW5fZnVuYyAodm9pZCkNCnsNCiAgcHJpbnRmICgiZmluaXNoZWRcbiIpOw0K fQ0KDQppbnQgbWFpbiAoaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkNCnsNCiAg cHRocmVhZF90IHRocmVhZDsNCg0KICBpZiAocHRocmVhZF9jcmVhdGUgKCZ0 aHJlYWQsIE5VTEwsIHRocmVhZGZ1bmMsIE5VTEwpICE9IDApDQogICAgew0K ICAgICAgcHJpbnRmICgicHRocmVhZF9jcmVhdGUgZmFpbGVkXG4iKTsNCiAg ICAgIGV4aXQgKDEpOw0KICAgIH0NCg0KICBpZiAocHRocmVhZF9qb2luICh0 aHJlYWQsIE5VTEwpICE9IDApDQogICAgew0KICAgICAgcHJpbnRmICgicHRo cmVhZF9qb2luIGZhaWxlZFxuIik7DQogICAgICBleGl0ICgxKTsNCiAgICB9 DQoNCiAgYWZ0ZXJfam9pbl9mdW5jICgpOw0KICByZXR1cm4gMDsNCn0NCkZy b206IEFkaXR5YSBWaWR5YWRoYXIgS2FtYXRoIDxha2FtYXRoOTk2QGdtYWls LmNvbT4NCkRhdGU6IFRodXJzZGF5LCAyIE1heSAyMDI0IGF0IDg6MDHigK9Q TQ0KVG86IHRvbUB0cm9tZXkuY29tIDx0b21AdHJvbWV5LmNvbT4NCkNjOiBV bHJpY2ggV2VpZ2FuZCA8VWxyaWNoLldlaWdhbmRAZGUuaWJtLmNvbT4sIGdk Yi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnIDxnZGItcGF0Y2hlc0Bzb3VyY2V3 YXJlLm9yZz4sIEFkaXR5YSBLYW1hdGgxIDxBZGl0eWEuS2FtYXRoMUBpYm0u Y29tPiwgU2FuZ2FtZXNoIE1hbGxheXlhIDxzYW5nYW1lc2guc3dhbXlAaW4u aWJtLmNvbT4sIGpoYkBmcmVlYnNkLm9yZyA8amhiQGZyZWVic2Qub3JnPg0K U3ViamVjdDogW0VYVEVSTkFMXSBbUEFUQ0ggdjNdIFtSRkNdIEZpeCBBSVgg dGhyZWFkIGV4aXQgZXZlbnRzIG5vdCBiZWluZyByZXBvcnRlZCBhbmQgVUkg dG8gc2hvdyBrZXJuZWwgdGhyZWFkIElELg0KRnJvbTogQWRpdHlhIFZpZHlh ZGhhciBLYW1hdGggPEFkaXR5YS5LYW1hdGgxQGlibS5jb20+DQoNCkluIEFJ WCB3aGVuIGEgdGhyZWFkIGV4aXRzIHdlIHdlcmUgbm90IHNob3dpbmcgdGhh dCBhIHRocmVhZCBleGl0IGV2ZW50IGhhcHBlbmVkDQphbmQgR0RCIGNvbnRp bnVlZCB0byBrZWVwIHRoZSB0ZXJtaW5hdGVkIHRocmVhZHMuDQoNCklmIHdl IGhhdmUgdGVybWluYXRlZCB0aHJlYWRzIHRoZW4gdGhlIFVJIG9uIGluZm8g dGhyZWFkcyBjb21tYW5kIHdpbGwgbG9vayBsaWtlDQooZ2RiKSBpbmZvIHRo cmVhZHMNCiAgSWQgICBUYXJnZXQgSWQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBGcmFtZQ0KKiAxICAgIFRocmVhZCAxICh0 aWQgMjY2MDc5NzksIHJ1bm5pbmcpICAgIDB4ZDA2MTFkNzAgaW4gX3BfbnNs ZWVwICgpIGZyb20gL3Vzci9saWIvbGlicHRocmVhZHMuYShfc2hyX3hwZzUu bykNCiAgMiAgICBUaHJlYWQgMjU4ICh0aWQgMzA5OTg3OTksIGZpbmlzaGVk KSBhaXgtdGhyZWFkOiBwdHJhY2UgKDUyLCAzMDk5ODc5OSkgcmV0dXJuZWQg LTEgKGVycm5vID0gMyBUaGUgcHJvY2VzcyBkb2VzIG5vdCBleGlzdC4pDQoN CklmIHdlIHNlZSB0aGUgZnJhbWUgaXMgbm90IGdldHRpbmcgZGlzcGxheWVk IGNvcnJlY3RseS4NCg0KVGhlIHJlYXNvbiBmb3IgdGhlIHNhbWUgaXMgdGhh dCBpbiBBSVggd2Ugd2VyZSBub3QgbWFuYWdpbmcgdGhyZWFkIHN0YXRlcy4g SW4gcGFydGljdWxhciB3ZSBkbyBub3Qga25vdw0Kd2hlbiBhIHRocmVhZCB0 ZXJtaW5hdGVzLg0KDQpUaGUgcmVhc29uIGJlaW5nIGluIHN5bmNfdGhyZWFk bGlzdHMgKCkgdGhlIHBidWYgYW5kIGdidWYgbGlzdHMgcmVtYWluIHRoZSBz YW1lIHRob3VnaCBjZXJ0YWluIHRocmVhZHMgZXhpdC4NCg0KVGhpcyBwYXRj aCBpcyBhIGZpeCB0byB0aGUgc2FtZS4NCg0KQWxzbyBjZXJ0YWluIFVJIGlz IGNoYW5nZWQuDQoNCk9uIGEgbmV3IHRocmVhZCBib3JuIGFuZCBleGl0IHRo ZSBVSSBpbiBBSVggd2lsbCBiZSBzaW1pbGFyIHRvIExpbnV4IHdpdGggYm90 aCB1c2VyIGFuZCBrZXJuZWwgdGhyZWFkIGluZm9ybWF0aW9uLg0KDQpbTmV3 IFRocmVhZCAyNTggKHRpZCAzMjE3ODUzMyldDQpbTmV3IFRocmVhZCA1MTUg KHRpZCAzMDM0MzY1MSldDQpbTmV3IFRocmVhZCA3NzIgKHRpZCAzMzU1NDkw OSldDQpbTmV3IFRocmVhZCAxMDI5ICh0aWQgMjQ5Njk0ODkpXQ0KW05ldyBU aHJlYWQgMTI4NiAodGlkIDE4MTUzOTQ1KV0NCltOZXcgVGhyZWFkIDE1NDMg KHRpZCAzMDczNjczOSldDQpbVGhyZWFkIDI1OCAodGlkIDMyMTc4NTMzKSBl eGl0ZWRdDQpbVGhyZWFkIDUxNSAodGlkIDMwMzQzNjUxKSBleGl0ZWRdDQpb VGhyZWFkIDc3MiAodGlkIDMzNTU0OTA5KSBleGl0ZWRdDQpbVGhyZWFkIDEw MjkgKHRpZCAyNDk2OTQ4OSkgZXhpdGVkXQ0KW1RocmVhZCAxMjg2ICh0aWQg MTgxNTM5NDUpIGV4aXRlZF0NCltUaHJlYWQgMTU0MyAodGlkIDMwNzM2NzM5 KSBleGl0ZWRdDQoNCmFuZCBpbmZvIHRocmVhZHMgd2lsbCBsb29rIGxpa2UN CihnZGIpIGluZm8gdGhyZWFkcw0KICBJZCAgIFRhcmdldCBJZCAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZyYW1lDQoqIDEgICAgVGhyZWFkIDEgKHRp ZCAzMTMyNjU3OSkgKFtydW5uaW5nXSkgMHhkMDYxMWQ3MCBpbiBfcF9uc2xl ZXAgKCkgZnJvbSAvdXNyL2xpYi9saWJwdGhyZWFkLmEoX3Nocl94cGc1Lm8p DQotLS0NCiBnZGIvYWl4LXRocmVhZC5jIHwgMjQ4ICsrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQogMSBmaWxlIGNo YW5nZWQsIDgxIGluc2VydGlvbnMoKyksIDE2NyBkZWxldGlvbnMoLSkNCg0K ZGlmZiAtLWdpdCBhL2dkYi9haXgtdGhyZWFkLmMgYi9nZGIvYWl4LXRocmVh ZC5jDQppbmRleCBjNzBiZDgyYmMyNC4uYmQ3NGMwYzgwNWIgMTAwNjQ0DQot LS0gYS9nZGIvYWl4LXRocmVhZC5jDQorKysgYi9nZGIvYWl4LXRocmVhZC5j DQpAQCAtNTUsNiArNTUsNyBAQA0KICNpbmNsdWRlIDxzeXMvcmVnLmg+DQog I2luY2x1ZGUgPHNjaGVkLmg+DQogI2luY2x1ZGUgPHN5cy9wdGhkZWJ1Zy5o Pg0KKyNpbmNsdWRlIDx1bm9yZGVyZWRfc2V0Pg0KDQogI2lmICFIQVZFX0RF Q0xfR0VUVEhSRFMNCiBleHRlcm4gaW50IGdldHRocmRzIChwaWRfdCwgc3Ry dWN0IHRocmRzaW5mbzY0ICosIGludCwgdGlkX3QgKiwgaW50KTsNCkBAIC0x OTAsNiArMTkxLDEyIEBAIHN0cnVjdCBhaXhfdGhyZWFkX3ZhcmlhYmxlcw0K ICAgLyogV2hldGhlciB0aGUgY3VycmVudCBhcmNoaXRlY3R1cmUgaXMgNjQt Yml0Lg0KICAgIE9ubHkgdmFsaWQgd2hlbiBwZF9hYmxlIGlzIHRydWUuICAq Lw0KICAgaW50IGFyY2g2NDsNCisNCisgIC8qIERlc2NyaWJlcyB0aGUgbnVt YmVyIG9mIHRocmVhZCBleGl0IGV2ZW50cyByZXBvcnRlZC4gICovDQorICBz dGQ6OnVub3JkZXJlZF9zZXQ8cHRoZGJfcHRocmVhZF90PiBleGl0ZWRfdGhy ZWFkczsNCisNCisgIC8qIERlc2NyaWJlcyBpZiB0aHJlYWQgaXMgc3RpbGwg aW4gcXVldWUgYW5kIG5vdCBpbiB1bmtub3duIHN0YXRlLiAgKi8NCisgIHN0 ZDo6dmVjdG9yPHB0aGRiX3B0aHJlYWRfdD4gaW5fcXVldWVfdGhyZWFkczsN CiB9Ow0KDQogLyogS2V5IHRvIG91ciBwZXItaW5mZXJpb3IgZGF0YS4gICov DQpAQCAtNzM3LDQ3ICs3NDQsNiBAQCBzdGF0ZTJzdHIgKHB0aGRiX3N0YXRl X3Qgc3RhdGUpDQogICAgIH0NCiB9DQoNCi0vKiBxc29ydCgpIGNvbXBhcmlz b24gZnVuY3Rpb24gZm9yIHNvcnRpbmcgcGRfdGhyZWFkIHN0cnVjdHMgYnkg cHRoaWQuICAqLw0KLQ0KLXN0YXRpYyBpbnQNCi1wY21wIChjb25zdCB2b2lk ICpwMXYsIGNvbnN0IHZvaWQgKnAydikNCi17DQotICBzdHJ1Y3QgcGRfdGhy ZWFkICpwMSA9IChzdHJ1Y3QgcGRfdGhyZWFkICopIHAxdjsNCi0gIHN0cnVj dCBwZF90aHJlYWQgKnAyID0gKHN0cnVjdCBwZF90aHJlYWQgKikgcDJ2Ow0K LSAgcmV0dXJuIHAxLT5wdGhpZCA8IHAyLT5wdGhpZCA/IC0xIDogcDEtPnB0 aGlkID4gcDItPnB0aGlkOw0KLX0NCi0NCi0vKiBwdGlkIGNvbXBhcmlzb24g ZnVuY3Rpb24gKi8NCi0NCi1zdGF0aWMgaW50DQotcHRpZF9jbXAgKHB0aWRf dCBwdGlkMSwgcHRpZF90IHB0aWQyKQ0KLXsNCi0gIGlmIChwdGlkMS5waWQg KCkgPCBwdGlkMi5waWQgKCkpDQotICAgIHJldHVybiAtMTsNCi0gIGVsc2Ug aWYgKHB0aWQxLnBpZCAoKSA+IHB0aWQyLnBpZCAoKSkNCi0gICAgcmV0dXJu IDE7DQotICBlbHNlIGlmIChwdGlkMS50aWQgKCkgPCBwdGlkMi50aWQgKCkp DQotICAgIHJldHVybiAtMTsNCi0gIGVsc2UgaWYgKHB0aWQxLnRpZCAoKSA+ IHB0aWQyLnRpZCAoKSkNCi0gICAgcmV0dXJuIDE7DQotICBlbHNlIGlmIChw dGlkMS5sd3AgKCkgPCBwdGlkMi5sd3AgKCkpDQotICAgIHJldHVybiAtMTsN Ci0gIGVsc2UgaWYgKHB0aWQxLmx3cCAoKSA+IHB0aWQyLmx3cCAoKSkNCi0g ICAgcmV0dXJuIDE7DQotICBlbHNlDQotICAgIHJldHVybiAwOw0KLX0NCi0N Ci0vKiBxc29ydCgpIGNvbXBhcmlzb24gZnVuY3Rpb24gZm9yIHNvcnRpbmcg dGhyZWFkX2luZm8gc3RydWN0cyBieSBwaWQuICAqLw0KLQ0KLXN0YXRpYyBp bnQNCi1nY21wIChjb25zdCB2b2lkICp0MXYsIGNvbnN0IHZvaWQgKnQydikN Ci17DQotICBzdHJ1Y3QgdGhyZWFkX2luZm8gKnQxID0gKihzdHJ1Y3QgdGhy ZWFkX2luZm8gKiopIHQxdjsNCi0gIHN0cnVjdCB0aHJlYWRfaW5mbyAqdDIg PSAqKHN0cnVjdCB0aHJlYWRfaW5mbyAqKikgdDJ2Ow0KLSAgcmV0dXJuIHB0 aWRfY21wICh0MS0+cHRpZCwgdDItPnB0aWQpOw0KLX0NCi0NCiAvKiBTZWFy Y2ggdGhyb3VnaCB0aGUgbGlzdCBvZiBhbGwga2VybmVsIHRocmVhZHMgZm9y IHRoZSB0aHJlYWQNCiAgICB0aGF0IGhhcyBzdG9wcGVkIG9uIGEgU0lHVFJB UCBzaWduYWwsIGFuZCByZXR1cm4gaXRzIFRJRC4NCiAgICBSZXR1cm4gMCBp ZiBub25lIGZvdW5kLiAgKi8NCkBAIC04MjIsMjIgKzc4OCwxNiBAQCBzdGF0 aWMgdm9pZA0KIHN5bmNfdGhyZWFkbGlzdHMgKHBpZF90IHBpZCkNCiB7DQog ICBpbnQgY21kLCBzdGF0dXM7DQotICBpbnQgcGNvdW50LCBwc2l6ZSwgcGks IGdjb3VudCwgZ2k7DQotICBzdHJ1Y3QgcGRfdGhyZWFkICpwYnVmOw0KLSAg c3RydWN0IHRocmVhZF9pbmZvICoqZ2J1ZiwgKipnLCAqdGhyZWFkOw0KICAg cHRoZGJfcHRocmVhZF90IHBkdGlkOw0KICAgcHRocmVhZF90IHB0aGlkOw0K ICAgcHRoZGJfdGlkX3QgdGlkOw0KICAgcHJvY2Vzc19zdHJhdHVtX3Rhcmdl dCAqcHJvY190YXJnZXQgPSBjdXJyZW50X2luZmVyaW9yICgpLT5wcm9jZXNz X3RhcmdldCAoKTsNCiAgIHN0cnVjdCBhaXhfdGhyZWFkX3ZhcmlhYmxlcyAq ZGF0YTsNCiAgIGRhdGEgPSBnZXRfdGhyZWFkX2RhdGFfaGVscGVyX2Zvcl9w aWQgKHBpZCk7DQotDQorICBwdGhkYl9zdGF0ZV90IHN0YXRlOw0KKyAgZGF0 YS0+aW5fcXVldWVfdGhyZWFkcy5jbGVhciAoKTsNCiAgIC8qIEFjY3VtdWxh dGUgYW4gYXJyYXkgb2YgbGlicHRoZGVidWcgdGhyZWFkcyBzb3J0ZWQgYnkg cHRocmVhZCBpZC4gICovDQoNCi0gIHBjb3VudCA9IDA7DQotICBwc2l6ZSA9 IDE7DQotICBwYnVmID0gWE5FV1ZFQyAoc3RydWN0IHBkX3RocmVhZCwgcHNp emUpOw0KLQ0KICAgZm9yIChjbWQgPSBQVEhEQl9MSVNUX0ZJUlNUOzsgY21k ID0gUFRIREJfTElTVF9ORVhUKQ0KICAgICB7DQogICAgICAgc3RhdHVzID0g cHRoZGJfcHRocmVhZCAoZGF0YS0+cGRfc2Vzc2lvbiwgJnBkdGlkLCBjbWQp Ow0KQEAgLTg0OCwxMTggKzgwOCw2OCBAQCBzeW5jX3RocmVhZGxpc3RzIChw aWRfdCBwaWQpDQogICAgICAgaWYgKHN0YXR1cyAhPSBQVEhEQl9TVUNDRVNT IHx8IHB0aGlkID09IFBUSERCX0lOVkFMSURfUFRJRCkNCiAgICAgICAgIGNv bnRpbnVlOw0KDQotICAgICAgaWYgKHBjb3VudCA9PSBwc2l6ZSkNCi0gICAg ICAgew0KLSAgICAgICAgIHBzaXplICo9IDI7DQotICAgICAgICAgcGJ1ZiA9 IChzdHJ1Y3QgcGRfdGhyZWFkICopIHhyZWFsbG9jIChwYnVmLA0KLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHNp emUgKiBzaXplb2YgKnBidWYpOw0KLSAgICAgICB9DQotICAgICAgcGJ1Zltw Y291bnRdLnBkdGlkID0gcGR0aWQ7DQotICAgICAgcGJ1ZltwY291bnRdLnB0 aGlkID0gcHRoaWQ7DQotICAgICAgcGNvdW50Kys7DQotICAgIH0NCi0NCi0g IGZvciAocGkgPSAwOyBwaSA8IHBjb3VudDsgcGkrKykNCi0gICAgew0KLSAg ICAgIHN0YXR1cyA9IHB0aGRiX3B0aHJlYWRfdGlkIChkYXRhLT5wZF9zZXNz aW9uLCBwYnVmW3BpXS5wZHRpZCwgJnRpZCk7DQotICAgICAgaWYgKHN0YXR1 cyAhPSBQVEhEQl9TVUNDRVNTKQ0KLSAgICAgICB0aWQgPSBQVEhEQl9JTlZB TElEX1RJRDsNCi0gICAgICBwYnVmW3BpXS50aWQgPSB0aWQ7DQotICAgIH0N Ci0NCi0gIHFzb3J0IChwYnVmLCBwY291bnQsIHNpemVvZiAqcGJ1ZiwgcGNt cCk7DQotDQotICAvKiBBY2N1bXVsYXRlIGFuIGFycmF5IG9mIEdEQiB0aHJl YWRzIHNvcnRlZCBieSBwaWQuICAqLw0KLQ0KLSAgLyogZ2NvdW50IGlzIEdE QiB0aHJlYWQgY291bnQgYW5kIHBjb3VudCBpcyBwdGhyZWFkbGliIHRocmVh ZCBjb3VudC4gICovDQorICAgICAgcHRpZF90IHB0aWQgKHBpZCwgMCwgcHRo aWQpOw0KKyAgICAgIHN0YXR1cyA9IHB0aGRiX3B0aHJlYWRfc3RhdGUgKGRh dGEtPnBkX3Nlc3Npb24sIHBkdGlkLCAmc3RhdGUpOw0KKyAgICAgIGRhdGEt PmluX3F1ZXVlX3RocmVhZHMucHVzaF9iYWNrIChwZHRpZCk7DQoNCi0gIGdj b3VudCA9IDA7DQotICBmb3IgKHRocmVhZF9pbmZvICp0cCA6IGFsbF90aHJl YWRzIChwcm9jX3RhcmdldCwgcHRpZF90IChwaWQpKSkNCi0gICAgZ2NvdW50 Kys7DQotICBnID0gZ2J1ZiA9IFhORVdWRUMgKHN0cnVjdCB0aHJlYWRfaW5m byAqLCBnY291bnQpOw0KLSAgZm9yICh0aHJlYWRfaW5mbyAqdHAgOiBhbGxf dGhyZWFkcyAocHJvY190YXJnZXQsIHB0aWRfdCAocGlkKSkpDQotICAgICpn KysgPSB0cDsNCi0gIHFzb3J0IChnYnVmLCBnY291bnQsIHNpemVvZiAqZ2J1 ZiwgZ2NtcCk7DQotDQotICAvKiBBcHBseSBkaWZmZXJlbmNlcyBiZXR3ZWVu IHRoZSB0d28gYXJyYXlzIHRvIEdEQidzIHRocmVhZCBsaXN0LiAgKi8NCi0N Ci0gIGZvciAocGkgPSBnaSA9IDA7IHBpIDwgcGNvdW50IHx8IGdpIDwgZ2Nv dW50OykNCi0gICAgew0KLSAgICAgIGlmIChwaSA9PSBwY291bnQpDQorICAg ICAgLyogSWYgdGhpcyB0aHJlYWQgaGFzIHJlcG9ydGVkIGFuZCBleGl0ZWQs IGRvIG5vdCBhZGQgaXQgYWdhaW4uICAqLw0KKyAgICAgIGlmIChzdGF0ZSA9 PSBQU1RfVEVSTSkNCiAgICAgICAgIHsNCi0gICAgICAgICBkZWxldGVfdGhy ZWFkIChnYnVmW2dpXSk7DQotICAgICAgICAgZ2krKzsNCisgICAgICAgICBp ZiAoZGF0YS0+ZXhpdGVkX3RocmVhZHMuY291bnQgKHBkdGlkKSAhPSAwKQ0K KyAgICAgICAgICAgIGNvbnRpbnVlOw0KICAgICAgICAgfQ0KLSAgICAgIGVs c2UgaWYgKGdpID09IGdjb3VudCkNCi0gICAgICAgew0KLSAgICAgICAgIGFp eF90aHJlYWRfaW5mbyAqcHJpdiA9IG5ldyBhaXhfdGhyZWFkX2luZm87DQot ICAgICAgICAgcHJpdi0+cGR0aWQgPSBwYnVmW3BpXS5wZHRpZDsNCi0gICAg ICAgICBwcml2LT50aWQgPSBwYnVmW3BpXS50aWQ7DQotDQotICAgICAgICAg dGhyZWFkID0gYWRkX3RocmVhZF93aXRoX2luZm8gKHByb2NfdGFyZ2V0LA0K LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdGlk X3QgKHBpZCwgMCwgcGJ1ZltwaV0ucHRoaWQpLA0KLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2YXRlX3RocmVhZF9pbmZv X3VwIChwcml2KSk7DQoNCi0gICAgICAgICBwaSsrOw0KLSAgICAgICB9DQot ICAgICAgZWxzZQ0KKyAgICAgIC8qIElmIHRoaXMgdGhyZWFkIGhhcyBuZXZl ciBiZWVuIHJlcG9ydGVkIHRvIEdEQiwgYWRkIGl0LiAgKi8NCisgICAgICBp ZiAoIWluX3RocmVhZF9saXN0IChwcm9jX3RhcmdldCwgcHRpZCkpDQogICAg ICAgICB7DQotICAgICAgICAgcHRpZF90IHBwdGlkLCBncHRpZDsNCi0gICAg ICAgICBpbnQgY21wX3Jlc3VsdDsNCi0NCi0gICAgICAgICBwcHRpZCA9IHB0 aWRfdCAocGlkLCAwLCBwYnVmW3BpXS5wdGhpZCk7DQotICAgICAgICAgZ3B0 aWQgPSBnYnVmW2dpXS0+cHRpZDsNCi0gICAgICAgICBwZHRpZCA9IHBidWZb cGldLnBkdGlkOw0KLSAgICAgICAgIHRpZCA9IHBidWZbcGldLnRpZDsNCi0N Ci0gICAgICAgICBjbXBfcmVzdWx0ID0gcHRpZF9jbXAgKHBwdGlkLCBncHRp ZCk7DQotDQotICAgICAgICAgaWYgKGNtcF9yZXN1bHQgPT0gMCkNCi0gICAg ICAgICAgIHsNCi0gICAgICAgICAgICAgYWl4X3RocmVhZF9pbmZvICpwcml2 ID0gZ2V0X2FpeF90aHJlYWRfaW5mbyAoZ2J1ZltnaV0pOw0KLQ0KLSAgICAg ICAgICAgICBwcml2LT5wZHRpZCA9IHBkdGlkOw0KLSAgICAgICAgICAgICBw cml2LT50aWQgPSB0aWQ7DQotICAgICAgICAgICAgIHBpKys7DQotICAgICAg ICAgICAgIGdpKys7DQotICAgICAgICAgICB9DQotICAgICAgICAgZWxzZSBp ZiAoY21wX3Jlc3VsdCA+IDApDQorICAgICAgICAgYWl4X3RocmVhZF9pbmZv ICpwcml2ID0gbmV3IGFpeF90aHJlYWRfaW5mbzsNCisgICAgICAgICAvKiBp bml0IHByaXYgKi8NCisgICAgICAgICBwcml2LT5wZHRpZCA9IHBkdGlkOw0K KyAgICAgICAgIHN0YXR1cyA9IHB0aGRiX3B0aHJlYWRfdGlkIChkYXRhLT5w ZF9zZXNzaW9uLCBwZHRpZCwgJnRpZCk7DQorICAgICAgICAgcHJpdi0+dGlk ID0gdGlkOw0KKyAgICAgICAgIC8qIENoZWNrIGlmIHRoaXMgaXMgdGhlIG1h aW4gdGhyZWFkLiAgSWYgaXQgaXMsIHRoZW4gY2hhbmdlDQorICAgICAgICAg ICAgaXRzIHB0aWQgYW5kIGFkZCBpdHMgcHJpdmF0ZSBkYXRhLiAgKi8NCisg ICAgICAgICBpZiAoZ2V0X3NpZ25hbGVkX3RocmVhZCAocGlkKSA9PSB0aWQN CisgICAgICAgICAgICAgICAmJiBpbl90aHJlYWRfbGlzdCAocHJvY190YXJn ZXQsIHB0aWRfdCAocGlkKSkpDQogICAgICAgICAgICAgew0KLSAgICAgICAg ICAgICAvKiBUaGlzIGlzIHRvIG1ha2UgdGhlIG1haW4gcHJvY2VzcyB0aHJl YWQgbm93IGxvb2sNCi0gICAgICAgICAgICAgICAgbGlrZSBhIHRocmVhZC4g ICovDQotDQotICAgICAgICAgICAgIGlmIChncHRpZC5pc19waWQgKCkpDQot ICAgICAgICAgICAgICAgew0KLSAgICAgICAgICAgICAgICAgdGhyZWFkX2lu Zm8gKnRwID0gcHJvY190YXJnZXQtPmZpbmRfdGhyZWFkIChncHRpZCk7DQot ICAgICAgICAgICAgICAgICB0aHJlYWRfY2hhbmdlX3B0aWQgKHByb2NfdGFy Z2V0LCBncHRpZCwgcHB0aWQpOw0KLSAgICAgICAgICAgICAgICAgYWl4X3Ro cmVhZF9pbmZvICpwcml2ID0gbmV3IGFpeF90aHJlYWRfaW5mbzsNCi0gICAg ICAgICAgICAgICAgIHByaXYtPnBkdGlkID0gcGJ1ZltwaV0ucGR0aWQ7DQot ICAgICAgICAgICAgICAgICBwcml2LT50aWQgPSBwYnVmW3BpXS50aWQ7DQot ICAgICAgICAgICAgICAgICB0cC0+cHJpdi5yZXNldCAocHJpdik7DQotICAg ICAgICAgICAgICAgICBnaSsrOw0KLSAgICAgICAgICAgICAgICAgcGkrKzsN Ci0gICAgICAgICAgICAgICB9DQotICAgICAgICAgICAgIGVsc2UNCi0gICAg ICAgICAgICAgICB7DQotICAgICAgICAgICAgICAgICBkZWxldGVfdGhyZWFk IChnYnVmW2dpXSk7DQotICAgICAgICAgICAgICAgICBnaSsrOw0KLSAgICAg ICAgICAgICAgIH0NCisgICAgICAgICAgICAgdGhyZWFkX2luZm8gKnRwID0g cHJvY190YXJnZXQtPmZpbmRfdGhyZWFkIChwdGlkX3QgKHBpZCkpOw0KKyAg ICAgICAgICAgICB0aHJlYWRfY2hhbmdlX3B0aWQgKHByb2NfdGFyZ2V0LCBw dGlkX3QgKHBpZCksIHB0aWQpOw0KKyAgICAgICAgICAgICB0cC0+cHJpdi5y ZXNldCAocHJpdik7DQogICAgICAgICAgICAgfQ0KICAgICAgICAgICBlbHNl DQotICAgICAgICAgICB7DQotICAgICAgICAgICAgIHRocmVhZCA9IGFkZF90 aHJlYWQgKHByb2NfdGFyZ2V0LCBwcHRpZCk7DQorICAgICAgICAgICBhZGRf dGhyZWFkX3dpdGhfaW5mbyAocHJvY190YXJnZXQsIHB0aWQsDQorICAgICAg ICAgICAgICAgcHJpdmF0ZV90aHJlYWRfaW5mb191cCAocHJpdikpOw0KKyAg ICAgICB9DQoNCi0gICAgICAgICAgICAgYWl4X3RocmVhZF9pbmZvICpwcml2 ID0gbmV3IGFpeF90aHJlYWRfaW5mbzsNCi0gICAgICAgICAgICAgdGhyZWFk LT5wcml2LnJlc2V0IChwcml2KTsNCi0gICAgICAgICAgICAgcHJpdi0+cGR0 aWQgPSBwZHRpZDsNCi0gICAgICAgICAgICAgcHJpdi0+dGlkID0gdGlkOw0K LSAgICAgICAgICAgICBwaSsrOw0KLSAgICAgICAgICAgfQ0KKyAgICAgIC8q IFRoZSB0aHJlYWQgaXMgdGVybWluYXRlZC4gUmVtb3ZlIGl0LiAgKi8NCisg ICAgICBpZiAoc3RhdGUgPT0gUFNUX1RFUk0pDQorICAgICAgIHsNCisgICAg ICAgICB0aHJlYWRfaW5mbyAqdGhyID0gcHJvY190YXJnZXQtPmZpbmRfdGhy ZWFkIChwdGlkKTsNCisgICAgICAgICBnZGJfYXNzZXJ0ICh0aHIgIT0gbnVs bHB0cik7DQorICAgICAgICAgZGVsZXRlX3RocmVhZCAodGhyKTsNCisgICAg ICAgICBkYXRhLT5leGl0ZWRfdGhyZWFkcy5pbnNlcnQgKHBkdGlkKTsNCiAg ICAgICAgIH0NCiAgICAgfQ0KDQotICB4ZnJlZSAocGJ1Zik7DQotICB4ZnJl ZSAoZ2J1Zik7DQorICAgIC8qIFNvbWV0aW1lcyB0aGVyZSBjYW4gYmUgc2Nl bmFyaW9zIHdoZXJlIHRoZSB0aHJlYWQgc3RhdHVzIGlzDQorICAgICAgIHVu a25vd24gYW5kIHdlIGl0IHdpbGwgbmV2ZXIgaXRlcmF0ZSBpbiB0aGUgZm9y IGxvb3AgYWJvdmUsDQorICAgICAgIHNpbmNlIGNtZCB3aWxsIGJlIG5vIGxv bmdlciBiZSBwb2ludGluZyB0byB0aGF0IHRocmVhZHMuICBPbmUNCisgICAg ICAgc3VjaCBzY2VuYXJpbyBpcyB0aGUgZ2RiLnRocmVhZHMvdGhyZWFkX2V2 ZW50cy5leHAgdGVzdGNhc2UNCisgICAgICAgd2hlcmUgaW4gdGhlIGVuZCBh ZnRlciB0aGUgdGhyZWFkZnVuYyBicmVha3BvaW50IGlzIGhpdCwgdGhlDQor ICAgICAgIHRocmVhZCBleGl0cyBhbmQgZ2V0cyBpbnRvIGEgUFNUX1VOS05P V04gc3RhdGUuICBTbyB0aGlzIHRocmVhZA0KKyAgICAgICB3aWxsIG5vdCBy dW4gaW4gdGhlIGFib3ZlIGZvciBsb29wLiAgVGhlcmVmb3JlIHRoZSBiZWxv dyBmb3IgbG9vcA0KKyAgICAgICBpcyB0byBtYW51YWxseSBkZWxldGUgc3Vj aCB0aHJlYWRzLiAgKi8NCisgICAgZm9yIChzdHJ1Y3QgdGhyZWFkX2luZm8g Kml0IDogYWxsX3RocmVhZHMgKCkpDQorICAgICAgew0KKyAgICAgICBhaXhf dGhyZWFkX2luZm8gKnByaXYgPSBnZXRfYWl4X3RocmVhZF9pbmZvIChpdCk7 DQorICAgICAgIGF1dG8gaXRyID0gc3RkOjpmaW5kIChkYXRhLT5pbl9xdWV1 ZV90aHJlYWRzLmJlZ2luICgpLA0KKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkYXRhLT5pbl9xdWV1ZV90aHJlYWRzLmVuZCAoKSwgcHJpdi0+ cGR0aWQpOw0KKyAgICAgICBpZiAoaXRyID09IGRhdGEtPmluX3F1ZXVlX3Ro cmVhZHMuZW5kICgpKQ0KKyAgICAgICAgIHsNCisgICAgICAgICAgIGRlbGV0 ZV90aHJlYWQgKGl0KTsNCisgICAgICAgICAgIGRhdGEtPmV4aXRlZF90aHJl YWRzLmluc2VydCAocHJpdi0+cGR0aWQpOw0KKyAgICAgICAgIH0NCisgICAg ICB9DQogfQ0KDQogLyogSXRlcmF0ZV9vdmVyX3RocmVhZHMoKSBjYWxsYmFj ayBmb3IgbG9jYXRpbmcgYSB0aHJlYWQsIHVzaW5nDQpAQCAtMTAxMyw4ICs5 MjMsOCBAQCBwZF91cGRhdGUgKHBpZF90IHBpZCkNCiB9DQoNCiAvKiBUcnkg dG8gc3RhcnQgZGVidWdnaW5nIHRocmVhZHMgaW4gdGhlIGN1cnJlbnQgcHJv Y2Vzcy4NCi0gICBJZiBzdWNjZXNzZnVsIGFuZCB0aGVyZSBleGlzdHMgYW5k IHdlIGNhbiBmaW5kIGFuIGV2ZW50IHRocmVhZCwgcmV0dXJuIGEgcHRpZA0K LSAgIGZvciB0aGF0IHRocmVhZC4gIE90aGVyd2lzZSwgcmV0dXJuIGEgcHRp ZC1vbmx5IHB0aWQgdXNpbmcgUElELiAgKi8NCisgICBJZiBzdWNjZXNzZnVs IGFuZCB0aGVyZSBleGlzdHMgYW5kIHdlIGNhbiBmaW5kIGFuIGV2ZW50IHRo cmVhZCwgc2V0DQorICAgcGRfYWN0aXZlIGZvciB0aGF0IHRocmVhZC4gIE90 aGVyd2lzZSwgcmV0dXJuLiAgKi8NCg0KIHN0YXRpYyB2b2lkDQogcGRfYWN0 aXZhdGUgKHBpZF90IHBpZCkNCkBAIC0yMDg0LDEwICsxOTk0LDE3IEBAIGFp eF90aHJlYWRfdGFyZ2V0Ojp0aHJlYWRfYWxpdmUgKHB0aWRfdCBwdGlkKQ0K IHN0ZDo6c3RyaW5nDQogYWl4X3RocmVhZF90YXJnZXQ6OnBpZF90b19zdHIg KHB0aWRfdCBwdGlkKQ0KIHsNCi0gIGlmIChwdGlkLnRpZCAoKSA9PSAwKQ0K LSAgICByZXR1cm4gYmVuZWF0aCAoKS0+cGlkX3RvX3N0ciAocHRpZCk7DQor ICB0aHJlYWRfaW5mbyAqdGhyZWFkX2luZm8gPSBjdXJyZW50X2luZmVyaW9y ICgpLT5maW5kX3RocmVhZCAocHRpZCk7DQoNCi0gIHJldHVybiBzdHJpbmdf cHJpbnRmIChfKCJUaHJlYWQgJXMiKSwgcHVsb25nZXN0IChwdGlkLnRpZCAo KSkpOw0KKyAgaWYgKHRocmVhZF9pbmZvICE9IE5VTEwgJiYgdGhyZWFkX2lu Zm8tPnByaXYgIT0gTlVMTCkNCisgICAgew0KKyAgICAgIGFpeF90aHJlYWRf aW5mbyAqcHJpdiA9IGdldF9haXhfdGhyZWFkX2luZm8gKHRocmVhZF9pbmZv KTsNCisNCisgICAgICByZXR1cm4gc3RyaW5nX3ByaW50ZiAoXygiVGhyZWFk ICVzICh0aWQgJXMpIiksIHB1bG9uZ2VzdCAocHRpZC50aWQgKCkpLA0KKyAg ICAgICAgICAgICAgIHB1bG9uZ2VzdCAocHJpdi0+dGlkKSk7DQorICAgIH0N CisNCisgIHJldHVybiBiZW5lYXRoICgpLT5waWRfdG9fc3RyIChwdGlkKTsN CiB9DQoNCiAvKiBSZXR1cm4gYSBwcmludGFibGUgcmVwcmVzZW50YXRpb24g b2YgZXh0cmEgaW5mb3JtYXRpb24gYWJvdXQNCkBAIC0yMDk4LDcgKzIwMTUs NiBAQCBhaXhfdGhyZWFkX3RhcmdldDo6ZXh0cmFfdGhyZWFkX2luZm8gKHN0 cnVjdCB0aHJlYWRfaW5mbyAqdGhyZWFkKQ0KIHsNCiAgIGludCBzdGF0dXM7 DQogICBwdGhkYl9wdGhyZWFkX3QgcGR0aWQ7DQotICBwdGhkYl90aWRfdCB0 aWQ7DQogICBwdGhkYl9zdGF0ZV90IHN0YXRlOw0KICAgcHRoZGJfc3VzcGVu ZHN0YXRlX3Qgc3VzcGVuZHN0YXRlOw0KICAgcHRoZGJfZGV0YWNoc3RhdGVf dCBkZXRhY2hzdGF0ZTsNCkBAIC0yMTE1LDMzICsyMDMxLDMxIEBAIGFpeF90 aHJlYWRfdGFyZ2V0OjpleHRyYV90aHJlYWRfaW5mbyAoc3RydWN0IHRocmVh ZF9pbmZvICp0aHJlYWQpDQogICBhaXhfdGhyZWFkX2luZm8gKnByaXYgPSBn ZXRfYWl4X3RocmVhZF9pbmZvICh0aHJlYWQpOw0KDQogICBwZHRpZCA9IHBy aXYtPnBkdGlkOw0KLSAgdGlkID0gcHJpdi0+dGlkOw0KLQ0KLSAgaWYgKHRp ZCAhPSBQVEhEQl9JTlZBTElEX1RJRCkNCi0gICAgLyogaTE4bjogTGlrZSAi dGhyZWFkLWlkZW50aWZpZXIgJWQsIFtzdGF0ZV0gcnVubmluZywgc3VzcGVu ZGVkIiAqLw0KLSAgICBidWYucHJpbnRmIChfKCJ0aWQgJWQiKSwgKGludCl0 aWQpOw0KDQogICBzdGF0dXMgPSBwdGhkYl9wdGhyZWFkX3N0YXRlIChkYXRh LT5wZF9zZXNzaW9uLCBwZHRpZCwgJnN0YXRlKTsNCisNCisgIC8qIE91dHB1 dCBzaG91bGQgbG9vayBsaWtlIFRocmVhZCAlZCAodGlkICVkKSAoW3N0YXRl XSkuICAqLw0KKyAgLyogRXhhbXBsZTotIFRocmVhZCAxICh0aWQgMzQxNDQ1 ODcpIChbcnVubmluZ10pLiAgKi8NCisgIC8qIHdoZXJlIHN0YXRlIGNhbiBi ZSBydW5uaW5nLCBpZGxlLCBzbGVlcGluZywgZmluaXNoZWQsDQorICAgICBz dXNwZW5kZWQsIGRldGFjaGVkLCBjYW5jZWwgcGVuZGluZywgcmVhZHkgb3Ig dW5rbm93bi4gICovDQorDQogICBpZiAoc3RhdHVzICE9IFBUSERCX1NVQ0NF U1MpDQogICAgIHN0YXRlID0gUFNUX05PVFNVUDsNCi0gIGJ1Zi5wcmludGYg KCIsICVzIiwgc3RhdGUyc3RyIChzdGF0ZSkpOw0KKyAgYnVmLnByaW50ZiAo Ilslc10iLCBzdGF0ZTJzdHIgKHN0YXRlKSk7DQoNCiAgIHN0YXR1cyA9IHB0 aGRiX3B0aHJlYWRfc3VzcGVuZHN0YXRlIChkYXRhLT5wZF9zZXNzaW9uLCBw ZHRpZCwNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmc3VzcGVuZHN0YXRlKTsNCiAgIGlmIChzdGF0dXMgPT0gUFRIREJfU1VD Q0VTUyAmJiBzdXNwZW5kc3RhdGUgPT0gUFNTX1NVU1BFTkRFRCkNCi0gICAg LyogaTE4bjogTGlrZSAiVGhyZWFkLUlkICVkLCBbc3RhdGVdIHJ1bm5pbmcs IHN1c3BlbmRlZCIgKi8NCi0gICAgYnVmLnByaW50ZiAoXygiLCBzdXNwZW5k ZWQiKSk7DQorICAgIGJ1Zi5wcmludGYgKF8oIltzdXNwZW5kZWRdIikpOw0K DQogICBzdGF0dXMgPSBwdGhkYl9wdGhyZWFkX2RldGFjaHN0YXRlIChkYXRh LT5wZF9zZXNzaW9uLCBwZHRpZCwNCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZkZXRhY2hzdGF0ZSk7DQogICBpZiAoc3RhdHVz ID09IFBUSERCX1NVQ0NFU1MgJiYgZGV0YWNoc3RhdGUgPT0gUERTX0RFVEFD SEVEKQ0KLSAgICAvKiBpMThuOiBMaWtlICJUaHJlYWQtSWQgJWQsIFtzdGF0 ZV0gcnVubmluZywgZGV0YWNoZWQiICovDQotICAgIGJ1Zi5wcmludGYgKF8o IiwgZGV0YWNoZWQiKSk7DQorICAgIGJ1Zi5wcmludGYgKF8oIltkZXRhY2hl ZF0iKSk7DQoNCiAgIHB0aGRiX3B0aHJlYWRfY2FuY2VscGVuZCAoZGF0YS0+ cGRfc2Vzc2lvbiwgcGR0aWQsICZjYW5jZWxwZW5kKTsNCiAgIGlmIChzdGF0 dXMgPT0gUFRIREJfU1VDQ0VTUyAmJiBjYW5jZWxwZW5kKQ0KLSAgICAvKiBp MThuOiBMaWtlICJUaHJlYWQtSWQgJWQsIFtzdGF0ZV0gcnVubmluZywgY2Fu Y2VsIHBlbmRpbmciICovDQotICAgIGJ1Zi5wcmludGYgKF8oIiwgY2FuY2Vs IHBlbmRpbmciKSk7DQorICAgIGJ1Zi5wcmludGYgKF8oIltjYW5jZWwgcGVu ZGluZ10iKSk7DQoNCiAgIGJ1Zi53cml0ZSAoIiIsIDEpOw0KDQotLQ0KMi40 MS4wDQo= --_000_CH2PR15MB3544F263AA653265BA9A956ED6182CH2PR15MB3544namp_--