From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id QEZnDYDAhWMcJR4AWB0awg (envelope-from ) for ; Tue, 29 Nov 2022 03:19:12 -0500 Received: by simark.ca (Postfix, from userid 112) id 31CB71E11E; Tue, 29 Nov 2022 03:19:12 -0500 (EST) Authentication-Results: simark.ca; dkim=pass (1024-bit key; secure) header.d=sourceware.org header.i=@sourceware.org header.a=rsa-sha256 header.s=default header.b=rRqA4abw; dkim-atps=neutral X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-7.0 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI,RCVD_IN_DNSWL_HI, RDNS_DYNAMIC,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 Received: from sourceware.org (ip-8-43-85-97.sourceware.org [8.43.85.97]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 06A361E0CB for ; Tue, 29 Nov 2022 03:19:10 -0500 (EST) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 8146D3858D1E for ; Tue, 29 Nov 2022 08:19:09 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 8146D3858D1E DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sourceware.org; s=default; t=1669709949; bh=GEU5sO2sb8yoepGMJZli385+wrDfOjT6J5ZqxhQKh4U=; h=To:CC:Subject:Date:References:In-Reply-To:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From:Reply-To:From; b=rRqA4abwAb0KpWKU/yc6D4TVQ9egs+j8xjv+ZF2HWjeqytMQGUHh5QZgXWorv5CcQ ivNBUHAxJLuCf+66QDCBjucmkKtyjKTyMAmTRRkGPzsg8rHusrc0RtgEg6qYwXHcDv aQiNGEjGkgQ02geVFGIKzl000fUVdASQx1dIXo/A= Received: from mx0a-001b2d01.pphosted.com (mx0b-001b2d01.pphosted.com [148.163.158.5]) by sourceware.org (Postfix) with ESMTPS id 25D1D3858D33 for ; Tue, 29 Nov 2022 08:18:43 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 25D1D3858D33 Received: from pps.filterd (m0098416.ppops.net [127.0.0.1]) by mx0b-001b2d01.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 2AT88Htb020119; Tue, 29 Nov 2022 08:18:41 GMT Received: from nam10-bn7-obe.outbound.protection.outlook.com (mail-bn7nam10lp2100.outbound.protection.outlook.com [104.47.70.100]) by mx0b-001b2d01.pphosted.com (PPS) with ESMTPS id 3m5cmuan7m-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-GCM-SHA384 bits=256 verify=NOT); Tue, 29 Nov 2022 08:18:40 +0000 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=YDgl0qNtXryrShd3vRH7Z5eDntJFbsv8ujxebH0O3Iaa5NLtgBSezqA8DA8PDrov+fw1kse2ToH6547HczN6dConxQClWB/kRFtSScZJ06zqNhd5M1zIajdiWXj7bIhEPN9brIb009VFI910xKsak0yLdvho+PmFZkd7dDvD9aZo93w3K+ma4aFV/Lz7kpfSk+xwNIwWKKL0ULbg6CZqY73jf+S+E50PDleaIPhuh+N4ap7UAR16h/ehh5LoftF9k6vpe/DIr6z5QyRV1LwNVo1tTvMEUe+lF/QG9NPcb6HeTONt8dvpf656PELyXSxZAXJ1YzYxp0YT83zcbhVDlg== 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=oYV68s9nseqGW11B3aBFeTF2czcFOX2pUrZ5HMyQvqI=; b=V+2l85NdG8+lE0qDNU8+mFBqGkivaK7OtsH2qe4Iq2vo/uU4Xk5rVA2/vtZNCV+GoxLxpRI9pXTTjVciU7uZlOD7+9nhY5ICtGh2wHyblwESA6K3hIdyN+ryf01VMLuQbsqxyEvBuxjohi0bah9JyOFaz891WHnhoTsaxK5lXPYnVxxNBKIt9bmCujR5HPU1qZqZHg6wBy+cdT/hWSO0IHkcdL4CDwzPelk8BUeOLlk2EUBn09G36/QdGdp1Ry2y5dkG0UXIWoWKeCuGim48L73MzVFaXc5lOzLN4mScIB2Sto/tLOB/iaimf7qqVXgO0zrRxZtdOcru0/K8ID6LCw== 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 SA1PR15MB4497.namprd15.prod.outlook.com (2603:10b6:806:198::21) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5857.19; Tue, 29 Nov 2022 08:18:38 +0000 Received: from CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::9c73:790a:1985:15d2]) by CH2PR15MB3544.namprd15.prod.outlook.com ([fe80::9c73:790a:1985:15d2%5]) with mapi id 15.20.5857.022; Tue, 29 Nov 2022 08:18:38 +0000 To: Ulrich Weigand , "simark@simark.ca" , "gdb-patches@sourceware.org" CC: Sangamesh Mallayya Subject: Re: [PATCH] 0001-Fix-multi-thread-debug-bug-in-AIX.patch Thread-Topic: [PATCH] 0001-Fix-multi-thread-debug-bug-in-AIX.patch Thread-Index: AQHY6DximDPpCqTL9kGyFvcEZokFBq4jlIiAgBFljYeAAA2HgIAIORaygAMrdQCACMPAdYADi8KAgAAbf+aAABUYgIAADhDtgAjHItg= Date: Tue, 29 Nov 2022 08:18:38 +0000 Message-ID: References: <0866c91331b08f2870fad6e6a13fbcd1a9823b48.camel@de.ibm.com> <5df6ab523034d1997ffda5bb06c3bd87777dcccb.camel@de.ibm.com> <0dba07cfad3da44c0281c53702d73f807bca7d06.camel@de.ibm.com> <5956432ab1e0eedc8f65e01d3793a80ccf3a3a1f.camel@de.ibm.com> In-Reply-To: Accept-Language: en-IN, en-US Content-Language: en-IN X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: x-ms-publictraffictype: Email x-ms-traffictypediagnostic: CH2PR15MB3544:EE_|SA1PR15MB4497:EE_ x-ms-office365-filtering-correlation-id: 3b745224-8127-4c05-6934-08dad1e2516b x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ao/HltPURW9+pReAsaUXByXd854OSUginmUqT+vdfsYDinw6If0E8o+bY7FWSRBsTLJ9UOYxUnQ5SMmXGNrSlXoBi2DoX5ik0a5OFLiewNrNDc/+n3i74AG20YlEUn8mssAZIu3oHsnLsTjRuu8t+cdogj3ReKBDF+Wj3xE/ehBMLZWBjSfhIKR38cwfusaWhxA4HwAp2s13/6shYeOH79x6CYgSChbcnnzfQllBgtfxpeAz7tXaZxWZVUwwx4itiZo3vZOTu3L7WxrqMc5oaWvJGuO0G6IL3U/PzZhgJnZHkC7+aTO/DjSf1sQJEfXfRxln6qt0TjuMh2Q1o9JE+bgwmT4r9ghQAW7+nnatX9iPt1273WX3KZOX8hVQAnKIc66OiD3NntN+3PDepJI7X5iOuY/lStXoE81hbGkHHP/Rf9OLGIFn6zT9ZESW91nl57/FvIzcOkuySelbohVHohlwKvZo09NMF08x+U91DAzDVZFAp/La4f7YIDJtvB+4624O02SFwmjsSrFgs6UOFBtmf+AD1olipD8UiG8yZc1z37qbn+F2ZZ6K6meWzdqo0tgS4sMroQo7oK9cVVqtDWFdQKRJ6ew0xB0F+drFy3Bggs3WmWqCcy8KlJm0+9V2b59CbiShvh9MSX3XqyGEjQQgDmys6B+i0w04C4SNK+FWQ0fhkHln5aVidcs5b5I+rzEbWqt+a0p8rrTDraPtZQ== 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:(13230022)(396003)(366004)(136003)(376002)(346002)(39860400002)(451199015)(55016003)(38070700005)(86362001)(110136005)(71200400001)(33656002)(9686003)(7696005)(6506007)(30864003)(5660300002)(53546011)(478600001)(52536014)(8936002)(2906002)(41300700001)(91956017)(316002)(66946007)(66476007)(4326008)(66556008)(64756008)(66446008)(76116006)(8676002)(122000001)(99936003)(186003)(83380400001)(38100700002)(66899015)(19627405001)(579004)(559001); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RWIvR3BxNmUzUUIvY1RXNjJYOXl1d0NSK3luQlJZQjJpcFVyNmxoSVh0Zzlx?= =?utf-8?B?WFVQRXlHSDZQSm8xamVoR1B3S2NEcWd4VEdsUnJhUVZUc2dsV1o3L1dFd3FL?= =?utf-8?B?VHhSSVFJampveFBmYnlFSlBCUDVCN2NGMnZjZWNob0NJclpMRzl5cTZUa2Zi?= =?utf-8?B?ZUJvT1VLNFEzZTRkNE5kM21zdFRIN0YxYlJoK0tJRzBkZXBOQlVZUHdRVUhD?= =?utf-8?B?djRSOHN1YkdQQ0lyL3F0QzFKdXZjWU5uajVMcTB5b2Zic3NaODVnYVFCN0E3?= =?utf-8?B?TDJNV29hTUpjYzlLQWdnekJwK2ZOZUV3KyswMUE5Q3ovTXdNMlpLQmVZVHZ6?= =?utf-8?B?eTJ5cGtvQUtsSEdEbUx2MTFxaVFIdDlDSEp3UDkzcnNPNkRER1lCaEZiSmlL?= =?utf-8?B?U202dktCaXk2QjVaTm9DVGJmcUFEakJ4U2JmMG92R2tPUnN6Q2ZzSmxFRlNH?= =?utf-8?B?Z2RDMTBMdmhZQlBHN3ZRNWloa0NtSXJCd0VRcGdJMjdzcWV5c0F5Tjh2OUYr?= =?utf-8?B?OWZ2cHROd2VycTk0bGtIWk5UOFc4RTQ3aXdlMzY1Z2F6K3RBcmVkUU51aVky?= =?utf-8?B?cGtHMHhSRElMRUIrbEVvdEc1bmdWaWduT3J3dkg3QVhsbWFhZ3l2KzlQcURI?= =?utf-8?B?RHl6b21iTEhkL2lyc1YwMG9PL1VLalI1V29MS2hoU0EvWHRYVkk3QnpCMG1j?= =?utf-8?B?aXlCRmdiYmFIZktYMHNUUjlETnpVeE9GQUw4T21nNGdTbng1b3l0Qm9keFNW?= =?utf-8?B?UFZDbU15MTBwVjdUK3VhdjFxSEQvc1FhNERmMkJ1ZWVDTS9uZVJ4VnlZTDAx?= =?utf-8?B?QStXcFBjUktWdlUzRDlLdVBtRVRodnl6NCtYQU5RbkFtQUQya0o3SVJPZSs1?= =?utf-8?B?MUlCSFM3Wk1uOXM0L1RkcTNXRzJicWQxTHB3b2piOXl3dXUrcURXaUhUT0Fj?= =?utf-8?B?Q3o1UWwvODFkL1hTV0tUenhsVE5oV0U0eFA2Y3FCWWViOGtSNk1VcHlRbVpk?= =?utf-8?B?KzhjZTBKUlFqaGFwdDdXa2V3N2FSWVFqbTVpbGJTSmpPc3VwaVc0cHhSZGJT?= =?utf-8?B?SEdzdGlseStGMWhZQndIWDNBbnlpZEk1RG15cGdaL1R2bUw1TGhUS0NqTks1?= =?utf-8?B?M3gyMkFBLzdkL2M3eTE5VjIzY1F1Zk1mamZEVVpDSktiWVVUUStUbUFKb0lu?= =?utf-8?B?ai92b3RoOGZiQVAwVXRHNGZhMDJETmVoWkxQVE5yY2dpSVllY2dmQXlnTDRB?= =?utf-8?B?dDVCa2JvVHlVaXpVeThEM1YwVUpXd1VTczhsdkdlWnhqaGtLL2pXY0VKQklD?= =?utf-8?B?MnV1c3pQQ3VOeGswK0pKRU0wRGZWYjRnamhFdUZqaXZybWsycXVjSGxiMjNy?= =?utf-8?B?RDZ2VGNUKzhueDRRNlZnZFgza09xTkhRbi96V093aWNGam1rU3JxeWNCYjV6?= =?utf-8?B?Q1VFSnVtMWZTZFBiRzhEQXA4a3VnYmYzOWZGKyt3VXoybUFnK2FNNkJKSzFq?= =?utf-8?B?ODNVd3pZcW00QXMyV3RYenRrYnlOamFDa3RYdzZSNTR4MUYzVkVXQjNnSDJK?= =?utf-8?B?QWRzWFIzVWd4WGVUT0t6OUFJUUxQVmpJU0FZeGUvbWVIcHBvanFWNHhoUDBN?= =?utf-8?B?RDgrZldmKyszL0RzUjNzYjVSa3hoTUk4UHFxY0NKNFNZWmpLWkpVejI1dHVR?= =?utf-8?B?K3ZUdG1MTkxBVEdmMUxvZ1Ntak9NOWoxQWpNZUdwQ05uWkdiQ3V5MXdJaytC?= =?utf-8?B?S3FRWHkyZDFFU1ZRbmZtTjJpTGF1ZTd1OVNaRnNQbWU5Ky8veXk4NUxPY2o2?= =?utf-8?B?bUNKM3dHVTNpSjBYUmx6SXEzYlllbVc5bzVTSVNxZ2VwRGJqMGpPYkxxZExa?= =?utf-8?B?bjlSaU1aSnpkR2NGWm1NU1BLeENZeEUvRlNac3d6eXZNUU90SjBaTnJvbTM0?= =?utf-8?B?VXlhSFdSajQ1dXB4clB0aHo5eTdxREVob0xzZTVqTzdqRG1aMEZ2ZmtNOTRN?= =?utf-8?B?akF4ODNYT3FpTnZtREtJNDZqRmwxZjMvYUZ0eHN1N0VnMnA3WkNtOHl2cEsv?= =?utf-8?B?NFNrYUJucGh6aElleWRKMmJ1NEk5K1NLTEp6K0pYdFpWTzFTYW03RGQvTkRm?= =?utf-8?B?UEFoL091a05IVzJoQXE0R2xlTWJ5OVR1aFFJSkR4OFNwL3Q0cURvTVRhaG5X?= =?utf-8?Q?H0SJyEpmzGC5EEOd+4ZoHWzHNME/VSURQ66RwQOyJt1G?= Content-Type: multipart/mixed; boundary="_004_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_" MIME-Version: 1.0 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: 3b745224-8127-4c05-6934-08dad1e2516b X-MS-Exchange-CrossTenant-originalarrivaltime: 29 Nov 2022 08:18:38.4685 (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: s4zU49jZmoALMBA2CECehF8d0AcdvEM/xycEEYpBOFQKuR1YCKkzVBnL6vFJIfPY30sHRfmCld0Flp7Wae0DAA== X-MS-Exchange-Transport-CrossTenantHeadersStamped: SA1PR15MB4497 X-Proofpoint-ORIG-GUID: fH3ZPVRcjfFiDFOfUrI02yxPQi3br_YH X-Proofpoint-GUID: fH3ZPVRcjfFiDFOfUrI02yxPQi3br_YH X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.895,Hydra:6.0.545,FMLib:17.11.122.1 definitions=2022-11-29_06,2022-11-28_02,2022-06-22_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 adultscore=0 spamscore=0 lowpriorityscore=0 clxscore=1015 impostorscore=0 mlxlogscore=999 bulkscore=0 priorityscore=1501 mlxscore=0 malwarescore=0 phishscore=0 classifier=spam adjust=0 reason=mlx scancount=1 engine=8.12.0-2210170000 definitions=main-2211290050 X-Content-Filtered-By: Mailman/MimeDel 2.1.29 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , From: Aditya Kamath1 via Gdb-patches Reply-To: Aditya Kamath1 Errors-To: gdb-patches-bounces+public-inbox=simark.ca@sourceware.org Sender: "Gdb-patches" --_004_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkgYWxsLA0KDQpQbGVhc2UgZmluZCBhdHRhY2hlZCB0aGUgbmV3IHBhdGNoLiBbS2luZGx5IHNl ZTogMDAwMS1GaXgtbXVsdGktdGhyZWFkLWJ1Zy1maXgtaW4tQUlYLnBhdGNoXS4NCg0KVGhpcyBw YXRjaCB3b3JrcyBmb3IgYSBzaW5nbGUgcHJvY2VzcyB3aXRoIG11bHRpcGxlIHRocmVhZHMgYW5k IG11bHRpcGxlIHByb2Nlc3Mgd2l0aCBkZXRhY2ggb24gZm9yayBvbi4gS2luZGx5IGZpbmQgdGhl IHByb2dyYW0xIGFuZCAyIGJlbG93IGFuZCB0aGUgb3V0cHV0cyBuYW1lZCBhcyBvdXRwdXQgMSBh bmQgb3V0cHV0IDIgcmVzcGVjdGl2ZWx5Lg0KDQpUaGUgaXNzdWU6LQ0KDQpXaGVuIHdlIHJhbiB0 aGUgdW5pdCB0ZXN0IGNhc2VzLCB3ZSByZWFsaXNlZCB3ZSBoYXZlIGEgcHJvYmxlbSBpbiB0aGUg bXVsdGkgcHJvY2VzcyBkZXRhY2ggb24gZm9yayBvbiBjYXNlIHdoZXJlIHRoaXMgcGF0Y2ggZmFp bHMuIFRoZSBpc3N1ZSBpcyB3aGVuIHRoZXJlIGlzIGludGVycnVwdCBwcmVzc2VkIHdoaWxlIGEg dGhyZWFkIGlzIHJ1bm5pbmcgW3RocmVhZHMgYWZ0ZXIgdXNpbmcgZm9yaygpIGFuZCBzdHVjayBp biB3aGlsZSAoMSk7XSwgaXQgc29tZWhvdyBtYW5hZ2VzIHRvIHN3aXRjaCB0aGUgcHJvY2VzcyBh cyBzaG93biBoaWdobGlnaHRlZCBpbiBib2xkIGluIG91dHB1dCAzIGJlbG93IHRoaXMgZW1haWwu IER1ZSB0byB0aGlzIHdoYXQgc2hvdWxkIGhhdmUgYmVlbiBzaG93biBhcyB0aHJlYWRzIGlzIG5v dyBiZWluZyBzaG93biBhcyBwcm9jZXNzLg0KDQpBIGRldGFpbGVkIGV4cGxhaW5hdGlvbiBvbiB0 aGUgc29sdXRpb24gcHJvcG9zZWQgZm9yIHNpbmdsZSBwcm9jZXNzOi0NCg0KSW4gQUlYIHdlIHdl cmUgYWRkaW5nIGEgbWFpbiB0aHJlYWQgbmFtZWQgc2F5ICdUaHJlYWQgMScgZXh0cmEgd2hlbiB3 ZSBhbHJlYWR5IGhhZCBhIG1haW4gcHJvY2VzcyB0aHJlYWQgbmFtZWQgc2F5ICdwcm9jZXNzIDEw MCcuIFRoaXMgY3JlYXRlZCBhIG1lc3Mgd2hpbGUgc2lua2luZyBhbmQgd2l0aCB0aGUgcmVjZW50 IGNoYW5nZSBpbiB0aGUgZ2V0X2FpeF90aHJlYWRfaW5mbyAoKSBmdW5jdGlvbiB3aGVyZSBpdCB3 b24ndCBhbGxvdyBhbnkgdGhyZWFkIHdpdGggbm8gcHJpdmF0ZSBkYXRhIHRoZXJlIGJ5IGxlYWRp bmcgdG8gYSBjcmFzaC4NCg0KU28sIHRoZSBwcm9wb3NlZCBwYXRjaFthdHRhY2hlZCBpbiB0aGlz IGVtYWlsXSBtb2RpZmllcyBvdXIgc3luY190aHJlYWRsaXN0cyAoKSAgZnVuY3Rpb24gd2hlcmUg YSBjaGVjayBpZiBhIHByb2Nlc3MgaGFzIHRpZCBvciBub3QuIElmIGl0IGhhcyB0aGVuIHdlIGtu b3cgbXkgcHJvZ3JhbSBpcyBtdWx0aS10aHJlYWRlZCBhbmQgSSBuZWVkIHRvIGNoYW5nZSBtYWlu IHByb2Nlc3MgdGhyZWFkIHB0aWQgZnJvbSAncHJvY2VzcyAxMDAnIHRvICdUaHJlYWQgMScgYXMg VWxyaWNoIG1lbnRpb25lZCBpbiB0aGUgcHJldmlvdXMgdGhyZWFkcyBsaWtlIHB0aWQgKHBpZCwg MCwgMCkgdG8gcHRpZCAocGlkLCAwLCB0aWQgb3IgcHRocmVhZElEKS4gVGhpcyBpcyBkb25lIGJ5 IHRocmVhZF9jaGFuZ2VfcHRpZCAoKSBpbiB0aGUgcGF0Y2guDQoNCldoaWxlIHRoaXMgaXMgZG9u ZSwgdGhlcmUgYXJlIGNhc2VzIHdoZXJlIHdoZW4gd2UgcmVhZCB0YXJnZXQgbWVtb3J5IHdlIG5l ZWQgdG8gYmUgaW4gdGhlIHJpZ2h0IGNvbnRleHQuLiBIZW5jZSwgdGhlIHByb3Bvc2VkIHBhdGNo IGNoYW5nZXMgaW5mZXJpb3JfcHRpZCBpbiBwZGNfcmVhZF9kYXRhKCkgYXMgbWVudGlvbmVkIGJ5 IFVscmljaC4NCisgICAgICBpbmZlcmlvcl9wdGlkID0gcHRpZF90ICh1c2VyX2N1cnJlbnRfcGlk KTsNCg0KSGVyZSdzIHRoZSB0aGluZyB3ZSB3ZXJlIG5vdCBjb3VudGluZyBvdXIgbWFpbiB0aHJl YWQgaW4gR0RCIHRocmVhZCBsaXN0cyBbZ2NvdW50XS4uIE5vdyB3ZSBkbyBzby4gVGhlIHByb3Bv c2VkIHBhdGNoIGhhcyByZW1vdmVkIHRoZSBjb25kaXRpb24uDQotICBpZiAoUERfVElEICh0aHJl YWQtPnB0aWQpKQ0KDQpCZWZvcmUgd2UgaGFkIGFuIGV4dHJhIHRocmVhZCAncHJvY2VzcyAxMDAn IGFwYXJ0IGZyb20gJ3RocmVhZCAxJy4gU28sIGluIGNhc2Ugc29tZW9uZSBpbnRlcnJ1cHRlZCBh IHRocmVhZCB3aXRoIGN0cmwrYy4uIEluIHRoZSBwZF91cGRhdGUgKCkgZXZlbiBpZiB3ZSBkb24n dCBoYXZlIHRocmVhZCB3aG8gc2lnbmFsbGVkIHRoaXMgaW50ZXJydXB0IHdoZW4gd2UgcmV0dXJu IHB0aWRfdCAocGlkKSBpdCB3YXMgZmluZS4gQnV0IG5vdyB3aXRoIG5vICdwcm9jZXNzIDEwMCcg YW5kIG9ubHkgJ3RocmVhZCAxJywgd2UgbmVlZCB0byB0YWtlIGNhcmUgb2YgaW50ZXJydXB0IGFz IHdlbGwsIG90aGVyd2lzZSBHREIgY29yZSB3aWxsIHRha2UgcHRpZF90KDEwMCkgYXMgYSBuZXcg cHJvY2Vzcy4gU28gdGhlIGNoYW5nZQ0KKyAgICAgIGlmICh0aHJpbmYudGlfY3Vyc2lnID09IFNJ R1RSQVAgfHwgdGhyaW5mLnRpX2N1cnNpZyA9PSBTSUdJTlQpDQoNClRoZXNlIGNoYW5nZXMgc29s dmUgdGhlIHNpbmdsZSBwcm9jZXNzIGNhc2UuDQoNCkEgZGV0YWlsZWQgZXhwbGFpbmF0aW9uIG9u IHRoZSBzb2x1dGlvbiBwcm9wb3NlZCBmb3IgbXVsdGkgcHJvY2VzcyB3aXRoIG11bHRpIHRocmVh ZCBjYXNlOi0NCg0KQ29uc2lkZXIgbXkgbWFpbiBwcm9ncmFtIGlzIG11bHRpLXRocmVhZGVkIGFu ZCBlYWNoIHRocmVhZCBjYW4gZm9yaygpLi4gQWZ0ZXIgd2UgcmVjb3JkIGFsbCBldmVudHMgdGhl cmUgYXJlIHR3byB0aGluZ3MsIHdlIG5lZWQgdG8gdGFrZSBjYXJlIG9mIGluIG15IHJzNjAwMC1h aXgtbmF0LmMuLg0KDQoxOi0gVGhlcmUgY2FuIGJlIGEgY2hpbGQgZXZlbnQgd2hvc2UgcGFyZW50 IGNhbiBiZSBwdGhyZWFkZWQgb3IgbXVsdGktdGhyZWFkZWQuIFRoZSBuZWdhdGlvbiBvZiB0aGlz IGlzIGZpbmUgc2luY2Ugd2UgYW55d2F5IGNhbiByZXR1cm4gb25seSBwdGlkX3QgKHBpZCkuDQoN CkluIHRoaXMgY2FzZSBpZiB3ZSByZXR1cm4gYSBwdGlkX3QgKHBpZCkgdGhlbiBnZGIgY29yZSB0 cmVhdHMgaXQgYXMgYSBuZXcgcHJvY2VzcyBzaW5jZSBvdXIgcGFyZW50IHRocmVhZCBpcyBwdGhy ZWFkZWQgR0RCIGNvcmUgb25seSBrbm93cyB0aHJlYWRzIGxpa2UgcHRpZF90IChwaWQsIHRpZCwg cHRoaWQpIGFuZCBub3QgcHRpZF90IChwaWQpLiBJbiBvcmRlciB0byBhdm9pZCB0aGlzLCB0aGUg cHJvcG9zZWQgcGF0Y2ggdXNlcyBhIGZ1bmN0aW9uIGNhbGwgZmluZF90aGVfcmV0dXJuX3B0aWQg KCkgdG8gZmlndXJlIG91dCB0aGUgc2FtZS4gVGhlIGNoYW5nZXMgbGlrZSBiZWxvdyBhcmUgZm9y IHRoaXMgcmVhc29uLg0KDQpvdXJzdGF0dXMtPnNldF9mb3JrZWQgKHB0aWRfdCAocGlkKSk7DQot 4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCC4oCCICByZXR1cm4gcHRpZF90IChwYXJlbnRf cGlkKTsNCivigILigILigILigILigILigILigILigILigILigILigIIgIHJldHVybiBmaW5kX3Ro ZV9yZXR1cm5fcHRpZCAocGFyZW50X3BpZCk7DQoNCktpbmRseSBub3RlIHRoYXQgdGhlIGNvbnRy b2wgd2lsbCBhbHdheXMgbm90IGNvbWUgZnJvbSBhaXgtdGhyZWFkLmMgZm9yIHN1Y2ggZXZlbnRz LiBIZW5jZSwgd2UgY2Fubm90IHRha2UgY2FyZSBvZiB0aGUgc2FtZSB0aGVyZSwgdGhvdWdoIGl0 IHdpbGwgYmUgYSByZWxpZWYgaWYgd2UgY2FuIGRvIHRoYXQuDQoNCkhhdmluZyBzYWlkIHRoYXQg dGhlIHByb3BzZWQgcGF0Y2ggdXNlcyBsd3AgcGFyYW1ldGVyIGlub3JkZXIgdG8gc3RvcmUgdGhl IGtlcm5lbCB0aHJlYWQgSUQgc28gdGhhdCB3ZSBjYW4gZmV0Y2ggaXQgaGVyZSBhbmQgdXNlIGl0 IGhlcmUuDQoNCjI6LSBUaGVyZSBhcmUgY2FzZXMgd2hlcmUgd2UgbmVlZCB0byBwYXNzIG15IHB0 aWRfdCAocGlkLCBsd3AsIHRpZCkgdG8gYWl4LXRocmVhZC5jIGluc3RlYWQgb2YgcHRpZF90IChw aWQpLi4NCg0KDQpJZiB3ZSB0cnkgdG8gZml4IDEgdGhpcyB3YXksIHRoZW4gdGhlbiBiZWxvdyBh c3NlcnRpb24gY2F1c2VzIHVzIHRyb3VibGUgaWYgd2UgZ28gdGhyb3VnaCBhaXgtdGhyZWFkLmMg Zm9yIG91ciBiZW5lYXRoLT53YWl0LiBIZW5jZSB0aGUgcHJvcG9zZWQgcGF0Y2ggaGFzIGl0IHJl bW92ZWQuDQoNCi0gIC8qIFRoZSB0YXJnZXQgYmVuZWF0aCBkb2VzIG5vdCBkZWFsIHdpdGggdGhy ZWFkcywgc28gaXQgc2hvdWxkIG9ubHkgcmV0dXJuDQotICAgICBwaWQtb25seSBwdGlkcy4gICov DQotICBnZGJfYXNzZXJ0IChwdGlkLmlzX3BpZCAoKSk7DQoNCg0KV2UgYXJlIG5vdCBhYmxlIHRv IGtub3cgd2h5IG91ciBvdXRwdXQgMyBpcyBzd2l0Y2hpbmcgdG8gYSBwcm9jZXNzWyBPdXRwdXQg MyBpbiB0aGUgbWFpbCBiZWxvd10uLg0KDQpTbywgd2UgYXJlIGF0IG9uZSBvZiB0aGUgdGhyZWFk cyBvZiBwcm9jZXNzIDEuIE9uIGFuIGludGVycnVwdCB3ZSBuZWVkIHRvIHN3aXRjaCBvdXIgdGhy ZWFkcyB0byB0aGUgdGhyZWFkIHRoYXQgY2F1c2VkIGl0LiBCdXQgdGhlIEdEQiBjb3JlIGlzIHNh eWluZyB3ZSBzd2l0Y2hlZCBvdXIgcHJvY2Vzcy4gSXQgc2hvdWxkbid0IGFzIHdlIGFyZSBpbiB0 aGUgc2FtZSBwcm9jZXNzLiBBbmQgSSBhbHNvIGNoZWNrZWQgaWYgd2UgcmV0dXJuZWQgdGhlIGNv cnJlY3QgcHRpZCB0aGF0IHJhaXNlZCB0aGUgaW50ZXJydXB0IGFuZCB3ZSBkby4NCg0KSSB0cmll ZCB0byBkZWJ1ZyBvbiB3aGF0IGlzIGdvaW5nIG9uIGluIHRoZSBHREIgY29yZSBidXQgZmFpbGVk IHRvIHVuZGVyc3RhbmQgZm9yIHRoZSBsYXN0IGNvdXBsZSBvZiBkYXlzLCBhbmQgdGhlcmVmb3Jl IEkgZGlkIG5vdCBzdWNjZWVkLg0KDQpJZiBJIGRvIG5vdCB1bmRlcnN0YW5kLCB0aGVuIEkgd2ls bCBub3QgYmUgYWJsZSB0byBzb2x2ZSB0aGlzIHByb2JsZW0gZm9yIEFJWCBhbmQgR0RCLiBIZW5j ZSwgSSB3aXNoIHRvIHJlYWNoIG91dCB0byB5b3UgYWxsIGFmdGVyIHRoaXMgZWZmb3J0IGZvciBh IHNvbHV0aW9uLg0KDQpTaW5jZSB5b3UgYWxsIGFyZSBleHBlcnRzIGhhdmluZyB2YXN0IGV4cGVy aWVuY2UgYW5kIGtub3dsZWRnZSBpbiBHREIsIGtpbmRseSBsZXQgbWUga25vdyB3aGF0IGlzIGdv aW5nIG9uIGluIHRoZSBvdXRwdXQgMyBjYXNlIFtwYXN0ZWQgYmVsb3cgaW4gdGhpcyBlbWFpbF0g b3IgdGhlIHRoaW5ncyBtZW50aW9uZWQgaW4gdGhlIHBhdGNoIGFyZSBkb25lIHVzaW5nIGEgd3Jv bmcgbWV0aG9kLiBJZiBzbywgdGhlbiBsZXQgbWUga25vdyB3aGF0IHdlIGNhbiBkbyBjb3JyZWN0 bHkgYW5kIGVmZmljaWVudGx5IGZyb20gaGVyZS4NCg0KSG9wZSB0byBzZWVrIGEgcmVwbHkuIEhh dmUgYSBuaWNlIGRheSBhaGVhZC4NCg0KVGhhbmtzIGFuZCByZWdhcmRzLA0KQWRpdHlhDQoNCg0K DQotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQpQcm9ncmFtMTotIFtDcmVkaXRzIGdkYi50aHJlYWRzL2NvbnRpbnVvdXMtcGVu ZGluZy5jXQ0KDQoNCiNpbmNsdWRlIDxzdGRpby5oPg0KDQojaW5jbHVkZSA8dW5pc3RkLmg+DQoN CiNpbmNsdWRlIDxzdGRsaWIuaD4NCg0KI2luY2x1ZGUgPHB0aHJlYWQuaD4NCg0KI2luY2x1ZGUg PGFzc2VydC5oPg0KDQoNCnB0aHJlYWRfYmFycmllcl90IGJhcnJpZXI7DQoNCg0KI2RlZmluZSBO VU1fVEhSRUFEUyAzDQoNCg0Kdm9pZCAqDQoNCnRocmVhZF9mdW5jdGlvbiAodm9pZCAqYXJnKQ0K DQp7DQoNCiAgLyogVGhpcyBlbnN1cmVzIHRoYXQgdGhlIGJyZWFrcG9pbnQgaXMgb25seSBoaXQg YWZ0ZXIgYm90aCB0aHJlYWRzDQoNCiAgICAgYXJlIGNyZWF0ZWQsIHNvIHRoZSB0ZXN0IGNhbiBh bHdheXMgc3dpdGNoIHRvIHRoZSBub24tZXZlbnQNCg0KICAgICB0aHJlYWQgd2hlbiB0aGUgYnJl YWtwb2ludCB0cmlnZ2Vycy4gICovDQoNCiAgcHRocmVhZF9iYXJyaWVyX3dhaXQgKCZiYXJyaWVy KTsNCg0KDQogIHdoaWxlICgxKTsgLyogYnJlYWsgaGVyZSAqLw0KDQp9DQoNCg0KaW50DQoNCm1h aW4gKHZvaWQpDQoNCnsNCg0KICBpbnQgaTsNCg0KDQogIGFsYXJtICgzMDApOw0KDQoNCiAgcHRo cmVhZF9iYXJyaWVyX2luaXQgKCZiYXJyaWVyLCBOVUxMLCBOVU1fVEhSRUFEUyk7DQoNCg0KICBm b3IgKGkgPSAwOyBpIDwgTlVNX1RIUkVBRFM7IGkrKykNCg0KICAgIHsNCg0KICAgICAgcHRocmVh ZF90IHRocmVhZDsNCg0KICAgICAgaW50IHJlczsNCg0KDQogICAgICByZXMgPSBwdGhyZWFkX2Ny ZWF0ZSAoJnRocmVhZCwgTlVMTCwNCg0KICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRocmVh ZF9mdW5jdGlvbiwgTlVMTCk7DQoNCiAgICAgIGFzc2VydCAocmVzID09IDApOw0KDQogICAgfQ0K DQoNCiAgd2hpbGUgKDEpDQoNCiAgICBzbGVlcCAoMSk7DQoNCg0KICByZXR1cm4gMDsNCg0KfQ0K DQoNCg0KLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KT3V0cHV0MTotIFNpbmdsZSBwcm9jZXNzDQoNCg0KUmVhZGluZyBzeW1i b2xzIGZyb20gL2hvbWUvYWRpdHlhL2dkYl90ZXN0cy9jb250aW51ZS1wZW5kaW5nLXN0YXR1cy4u Lg0KDQooZ2RiKSByDQoNClN0YXJ0aW5nIHByb2dyYW06IC9ob21lL2FkaXR5YS9nZGJfdGVzdHMv Y29udGludWUtcGVuZGluZy1zdGF0dXMNCg0KXkNbTmV3IFRocmVhZCAyNThdDQoNCltOZXcgVGhy ZWFkIDUxNV0NCg0KW05ldyBUaHJlYWQgNzcyXQ0KDQoNClRocmVhZCAzIHJlY2VpdmVkIHNpZ25h bCBTSUdJTlQsIEludGVycnVwdC4NCg0KW1N3aXRjaGluZyB0byBUaHJlYWQgNTE1XQ0KDQp0aHJl YWRfZnVuY3Rpb24gKGFyZz0weDApDQoNCiAgICBhdCAvaG9tZS9hZGl0eWEvZ2RiX3Rlc3RzL2Nv bnRpbnVlLXBlbmRpbmctc3RhdHVzLmM6MzYNCg0KMzYgICAgICAgIHdoaWxlICgxKTsgLyogYnJl YWsgaGVyZSAqLw0KDQooZ2RiKSBpbmZvIHRocmVhZHMNCg0KICBJZCAgIFRhcmdldCBJZCAgICAg ICAgICAgICAgICAgICAgICAgICAgRnJhbWUNCg0KICAxICAgIFRocmVhZCAxICh0aWQgMjQ4Mzg1 ODUsIHJ1bm5pbmcpICAgd2FybmluZzogKEludGVybmFsIGVycm9yOiBwYyAweDAgaW4gcmVhZCBp biBwc3ltdGFiLCBidXQgbm90IGluIHN5bXRhYi4pDQoNCg0KICAyICAgIFRocmVhZCAyNTggKHRp ZCAyMzEzNDYzNSwgcnVubmluZykgdGhyZWFkX2Z1bmN0aW9uIChhcmc9d2FybmluZzogKEludGVy bmFsIGVycm9yOiBwYyAweDAgaW4gcmVhZCBpbiBwc3ltdGFiLCBidXQgbm90IGluIHN5bXRhYi4p DQoNCg0KMHgwKQ0KDQogICAgYXQgL2hvbWUvYWRpdHlhL2dkYl90ZXN0cy9jb250aW51ZS1wZW5k aW5nLXN0YXR1cy5jOjM2DQoNCiogMyAgICBUaHJlYWQgNTE1ICh0aWQgMzAxNDY4NjcsIHJ1bm5p bmcpIHRocmVhZF9mdW5jdGlvbiAoYXJnPXdhcm5pbmc6IChJbnRlcm5hbCBlcnJvcjogcGMgMHgw IGluIHJlYWQgaW4gcHN5bXRhYiwgYnV0IG5vdCBpbiBzeW10YWIuKQ0KDQoNCjB4MCkNCg0KICAg IGF0IC9ob21lL2FkaXR5YS9nZGJfdGVzdHMvY29udGludWUtcGVuZGluZy1zdGF0dXMuYzozNg0K DQogIDQgICAgVGhyZWFkIDc3MiAodGlkIDI3ODUzMTY1LCBydW5uaW5nKSB0aHJlYWRfZnVuY3Rp b24gKGFyZz13YXJuaW5nOiAoSW50ZXJuYWwgZXJyb3I6IHBjIDB4MCBpbiByZWFkIGluIHBzeW10 YWIsIGJ1dCBub3QgaW4gc3ltdGFiLikNCg0KDQoweDApDQoNCiAgICBhdCAvaG9tZS9hZGl0eWEv Z2RiX3Rlc3RzL2NvbnRpbnVlLXBlbmRpbmctc3RhdHVzLmM6MzYNCg0KLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQoNClByb2dyYW0gMjotIE11bHRpIHByb2Nlc3MgQ29kZQ0KDQoNCiNpbmNsdWRl IDxzdGRpby5oPg0KDQojaW5jbHVkZSA8dW5pc3RkLmg+DQoNCiNpbmNsdWRlIDxzdGRsaWIuaD4N Cg0KI2luY2x1ZGUgPHB0aHJlYWQuaD4NCg0KI2luY2x1ZGUgPGFzc2VydC5oPg0KDQoNCnB0aHJl YWRfYmFycmllcl90IGJhcnJpZXI7DQoNCg0KI2RlZmluZSBOVU1fVEhSRUFEUyAyDQoNCg0Kdm9p ZCAqDQoNCnRocmVhZF9mdW5jdGlvbiAodm9pZCAqYXJnKQ0KDQp7DQoNCiAgLyogVGhpcyBlbnN1 cmVzIHRoYXQgdGhlIGJyZWFrcG9pbnQgaXMgb25seSBoaXQgYWZ0ZXIgYm90aCB0aHJlYWRzDQoN CiAgICAgYXJlIGNyZWF0ZWQsIHNvIHRoZSB0ZXN0IGNhbiBhbHdheXMgc3dpdGNoIHRvIHRoZSBu b24tZXZlbnQNCg0KICAgICB0aHJlYWQgd2hlbiB0aGUgYnJlYWtwb2ludCB0cmlnZ2Vycy4gICov DQoNCg0KICBwdGhyZWFkX2JhcnJpZXJfd2FpdCAoJmJhcnJpZXIpOw0KDQogIHBpZF90IGNoaWxk Ow0KDQoNCiAgY2hpbGQgPSBmb3JrICgpOw0KDQogIGlmIChjaGlsZCA+IDApDQoNCiAgICBwcmlu dGYgKCJJIGFtIHBhcmVudCBcbiIpOw0KDQogIGVsc2V7DQoNCiAgICBwcmludGYgKCIgSWFtIGNo aWxkIFxuIik7DQoNCiAgICBjaGlsZCA9IGZvcmsgKCk7DQoNCiAgICBpZiAoY2hpbGQgPiAwKQ0K DQogICAgICBwcmludGYgKCJGcm9tIGNoaWxkIEkgYmVjYW1lIGEgcGFyZW50IFxuIik7DQoNCiAg ICBlbHNlDQoNCiAgICAgIHByaW50ZiAoIkkgYW0gZ3JhbmRjaGlsZCBcbiIpOw0KDQogIH0NCg0K ICB3aGlsZSAoMSk7IC8qIGJyZWFrIGhlcmUgKi8NCg0KfQ0KDQoNCmludA0KDQptYWluICh2b2lk KQ0KDQp7DQoNCiAgaW50IGk7DQoNCg0KICBhbGFybSAoMzAwKTsNCg0KDQogIHB0aHJlYWRfYmFy cmllcl9pbml0ICgmYmFycmllciwgTlVMTCwgTlVNX1RIUkVBRFMpOw0KDQoNCiAgZm9yIChpID0g MDsgaSA8IE5VTV9USFJFQURTOyBpKyspDQoNCiAgICB7DQoNCiAgICAgIHB0aHJlYWRfdCB0aHJl YWQ7DQoNCiAgICAgIGludCByZXM7DQoNCg0KICAgICAgcmVzID0gcHRocmVhZF9jcmVhdGUgKCZ0 aHJlYWQsIE5VTEwsDQoNCiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aHJlYWRfZnVuY3Rp b24sIE5VTEwpOw0KDQogICAgICBhc3NlcnQgKHJlcyA9PSAwKTsNCg0KICAgIH0NCg0KDQogIHdo aWxlICgxKQ0KDQogIHsNCg0KICAgIHNsZWVwICgxNSk7DQoNCiAgICBicmVhazsNCg0KICB9DQoN Cg0KICByZXR1cm4gMDsNCg0KfQ0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KT3V0cHV0IDI6LSBX aXRoIGRldGFjaC1vbi1mb3JrIG9uDQoNCg0KUmVhZGluZyBzeW1ib2xzIGZyb20gL2hvbWUvYWRp dHlhL2dkYl90ZXN0cy91bHRpbWF0ZS1tdWx0aS10aHJlYWQtZm9yay4uLg0KDQooZ2RiKSByDQoN ClN0YXJ0aW5nIHByb2dyYW06IC9ob21lL2FkaXR5YS9nZGJfdGVzdHMvdWx0aW1hdGUtbXVsdGkt dGhyZWFkLWZvcmsNCg0KW05ldyBUaHJlYWQgMjU4XQ0KDQpbTmV3IFRocmVhZCA1MTVdDQoNCltE ZXRhY2hpbmcgYWZ0ZXIgZm9yayBmcm9tIGNoaWxkIHByb2Nlc3MgODMyMzU3Ml0NCg0KIElhbSBj aGlsZA0KDQpJIGFtIGdyYW5kY2hpbGQNCg0KRnJvbSBjaGlsZCBJIGJlY2FtZSBhIHBhcmVudA0K DQpJIGFtIHBhcmVudA0KDQpbRGV0YWNoaW5nIGFmdGVyIGZvcmsgZnJvbSBjaGlsZCBwcm9jZXNz IDExNjY1ODg0XQ0KDQogSWFtIGNoaWxkDQoNCkkgYW0gZ3JhbmRjaGlsZA0KDQpGcm9tIGNoaWxk IEkgYmVjYW1lIGEgcGFyZW50DQoNCkkgYW0gcGFyZW50DQoNCl5DDQoNClRocmVhZCAyIHJlY2Vp dmVkIHNpZ25hbCBTSUdJTlQsIEludGVycnVwdC4NCg0KW1N3aXRjaGluZyB0byBUaHJlYWQgMjU4 XQ0KDQp0aHJlYWRfZnVuY3Rpb24gKGFyZz0weDApDQoNCiAgICBhdCAvaG9tZS9hZGl0eWEvZ2Ri X3Rlc3RzL3VsdGltYXRlLW11bHRpLXRocmVhZC1mb3JrLmM6MzINCg0KMzIgICAgICAgIHdoaWxl ICgxKTsgLyogYnJlYWsgaGVyZSAqLw0KDQooZ2RiKSBpbmZvIHRocmVhZHMNCg0KICBJZCAgIFRh cmdldCBJZCAgICAgICAgICAgICAgICAgICAgICAgICAgRnJhbWUNCg0KICAxICAgIFRocmVhZCAx ICh0aWQgMjcyNjMyNjksIHJ1bm5pbmcpICAgd2FybmluZzogKEludGVybmFsIGVycm9yOiBwYyAw eDAgaW4gcmVhZCBpbiBwc3ltdGFiLCBidXQgbm90IGluIHN5bXRhYi4pDQoNCg0KKiAyICAgIFRo cmVhZCAyNTggKHRpZCAyODcwNTA3NSwgcnVubmluZykgdGhyZWFkX2Z1bmN0aW9uIChhcmc9d2Fy bmluZzogKEludGVybmFsIGVycm9yOiBwYyAweDAgaW4gcmVhZCBpbiBwc3ltdGFiLCBidXQgbm90 IGluIHN5bXRhYi4pDQoNCg0KMHgwKQ0KDQogICAgYXQgL2hvbWUvYWRpdHlhL2dkYl90ZXN0cy91 bHRpbWF0ZS1tdWx0aS10aHJlYWQtZm9yay5jOjMyDQoNCiAgMyAgICBUaHJlYWQgNTE1ICh0aWQg Mjc4NTMxNjksIHJ1bm5pbmcpIHRocmVhZF9mdW5jdGlvbiAoYXJnPXdhcm5pbmc6IChJbnRlcm5h bCBlcnJvcjogcGMgMHgwIGluIHJlYWQgaW4gcHN5bXRhYiwgYnV0IG5vdCBpbiBzeW10YWIuKQ0K DQoNCjB4MCkNCg0KICAgIGF0IC9ob21lL2FkaXR5YS9nZGJfdGVzdHMvdWx0aW1hdGUtbXVsdGkt dGhyZWFkLWZvcmsuYzozMg0KDQoNCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCg0KT3V0cHV0IDM6LSBXaXRo IGRldGFjaC1vbi1mb3JrIG9mZg0KDQoNClJlYWRpbmcgc3ltYm9scyBmcm9tIC9ob21lL2FkaXR5 YS9nZGJfdGVzdHMvdWx0aW1hdGUtbXVsdGktdGhyZWFkLWZvcmsuLi4NCg0KKGdkYikgc2V0IGRl dGFjaC1vbi1mb3JrIG9mZg0KDQooZ2RiKSByDQoNClN0YXJ0aW5nIHByb2dyYW06IC9ob21lL2Fk aXR5YS9nZGJfdGVzdHMvdWx0aW1hdGUtbXVsdGktdGhyZWFkLWZvcmsNCg0KW05ldyBUaHJlYWQg MjU4XQ0KDQpbTmV3IFRocmVhZCA1MTVdDQoNCltOZXcgaW5mZXJpb3IgMiAocHJvY2VzcyA4MzIz NTcwKV0NCg0KSSBhbSBwYXJlbnQNCg0KW05ldyBpbmZlcmlvciAzIChwcm9jZXNzIDE3OTU3MTcy KV0NCg0KSSBhbSBwYXJlbnQNCg0KXkMNCg0KVGhyZWFkIDEuMSByZWNlaXZlZCBzaWduYWwgU0lH SU5ULCBJbnRlcnJ1cHQuDQoNCltTd2l0Y2hpbmcgdG8gcHJvY2VzcyAxNjc3NzYyMF0NCg0KMHhk MDU5NWZiMCBpbiBfcF9uc2xlZXAgKCkgZnJvbSAvdXNyL2xpYi9saWJwdGhyZWFkLmEoc2hyX3hw ZzUubykNCg0KKGdkYikgaW5mbyB0aHJlYWRzDQoNCiAgSWQgICBUYXJnZXQgSWQgICAgICAgICBG cmFtZQ0KDQoqIDEuMSAgcHJvY2VzcyAxNjc3NzYyMCAgMHhkMDU5NWZiMCBpbiBfcF9uc2xlZXAg KCkNCg0KICAgZnJvbSAvdXNyL2xpYi9saWJwdGhyZWFkLmEoc2hyX3hwZzUubykNCg0KICAxLjIg IHByb2Nlc3MgMTY3Nzc2MjAgIDB4ZDA1OTVmYjAgaW4gX3BfbnNsZWVwICgpDQoNCiAgIGZyb20g L3Vzci9saWIvbGlicHRocmVhZC5hKHNocl94cGc1Lm8pDQoNCiAgMS4zICBwcm9jZXNzIDE2Nzc3 NjIwICAweGQwNTk1ZmIwIGluIF9wX25zbGVlcCAoKQ0KDQogICBmcm9tIC91c3IvbGliL2xpYnB0 aHJlYWQuYShzaHJfeHBnNS5vKQ0KDQogIDIuMSAgcHJvY2VzcyA4MzIzNTcwICAgMHhkMDU5NGZj OCBpbiA/PyAoKQ0KDQogIDMuMSAgcHJvY2VzcyAxNzk1NzE3MiAgMHhkMDU5NGZjOCBpbiA/PyAo KQ0KDQoNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQpGcm9tOiBHZGItcGF0Y2hl cyA8Z2RiLXBhdGNoZXMtYm91bmNlcythZGl0eWEua2FtYXRoMT1pYm0uY29tQHNvdXJjZXdhcmUu b3JnPiBvbiBiZWhhbGYgb2YgQWRpdHlhIEthbWF0aDEgdmlhIEdkYi1wYXRjaGVzIDxnZGItcGF0 Y2hlc0Bzb3VyY2V3YXJlLm9yZz4NClNlbnQ6IDI0IE5vdmVtYmVyIDIwMjIgMDA6MTUNClRvOiBV bHJpY2ggV2VpZ2FuZCA8VWxyaWNoLldlaWdhbmRAZGUuaWJtLmNvbT47IHNpbWFya0BzaW1hcmsu Y2EgPHNpbWFya0BzaW1hcmsuY2E+OyBnZGItcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZyA8Z2RiLXBh dGNoZXNAc291cmNld2FyZS5vcmc+DQpDYzogU2FuZ2FtZXNoIE1hbGxheXlhIDxzYW5nYW1lc2gu c3dhbXlAaW4uaWJtLmNvbT4NClN1YmplY3Q6IFtFWFRFUk5BTF0gUmU6IFtQQVRDSF0gMDAwMS1G aXgtbXVsdGktdGhyZWFkLWRlYnVnLWJ1Zy1pbi1BSVgucGF0Y2gNCg0KSGkgVWxyaWNoLA0KDQo+ c3RhdGljIGludA0KPmdpdGVyX2NvdW50IChzdHJ1Y3QgdGhyZWFkX2luZm8gKnRocmVhZCwgdm9p ZCAqY291bnRwKQ0KPnsNCj4gIGlmIChQRF9USUQgKHRocmVhZC0+cHRpZCkpDQo+ICAgICgqKGlu dCAqKSBjb3VudHApKys7DQo+ICByZXR1cm4gMDsNCj59DQo+TWF5YmUgdGhhdCBjb21tZW50IGlz IHdyb25nIGFib3V0IHB0aHJlYWRkZWJ1ZyBub3QgaW5jbHVkaW5nDQo+dGhlIG1haW4gdGhyZWFk PyAgIE9yIG1heWJlIHRoYXQgY2hhbmdlZCBiZXR3ZWVuIEFJWCB2ZXJzaW9ucz8NCg0KPkluIGFu eSBjYXNlLCBzb21ldGhpbmcgbmVlZHMgdG8gYmUgZml4ZWQgaGVyZS4NCg0KRXZlbiBpZiB3ZSBm aXggaXQgaGVyZSBbYXNzdW1pbmcgd2UgYXJlIHN1Y2Nlc2Z1bF0sIGluIHRoZSBkZWxldGVfdGhy ZWFkXzEgKCkgaW4gdGhyZWFkLmMgd2Ugd2lsbCBmYWlsIHRvIGhpdCB0aHJlYWQtPmRlbGV0YWJs ZSBhcyB0cnVlIHdoaWxlIHdlIGF0dGVtcHQgZGVsZXRlX3RocmVhZCAoZ2J1ZiBbZ2ldKS4uIEJl Y2F1c2UgcmVmY291bnQgd2lsbCBub3QgYmUgMCB3aGVuIHdlIGF0dGVtcHQgdG8gZGVsZXRlIG1h aW4gdGhyZWFkIHdpdGggcHRpZCAocGlkLCAwLCAwKS4ge3NlZSBmdW5jIGJlbG93fQ0KDQoNCmJv b2wNCg0KdGhyZWFkX2luZm86OmRlbGV0YWJsZSAoKSBjb25zdA0KDQp7DQoNCiAgLyogSWYgdGhp cyBpcyB0aGUgY3VycmVudCB0aHJlYWQsIG9yIHRoZXJlJ3MgY29kZSBvdXQgdGhlcmUgdGhhdA0K DQogICAgIHJlbGllcyBvbiBpdCBleGlzdGluZyAocmVmY291bnQgPiAwKSB3ZSBjYW4ndCBkZWxl dGUgeWV0LiAgKi8NCg0KDQoNCiAgcmV0dXJuIHJlZmNvdW50ICgpID09IDAgJiYgIWlzX2N1cnJl bnRfdGhyZWFkICh0aGlzKTsNCg0KfQ0KDQoNCkkgd2lsbCBiZSB0cnlpbmcgdG8gcmVwbGFjZSB0 aGUgbWFpbiB0aHJlYWQgaW5zdGVhZCBsaWtlICB0aHJlYWRfY2hhbmdlX3B0aWQgKHByb2NfdGFy Z2V0LCBncHRpZCwgcHB0aWQpIHN1YmplY3QgdG8gYSBjb25kaXRpb24gY2hlY2sgdGhhdCBncHRp ZC50aWQgKCkgPT0gMC4uIE90aGVyd2lzZSwgaWYgaXQgaXMgbm90IGEgbWFpbiB0aHJlYWQgW2dw dGlkLnRpZCAoKSAhPSAwXSwgd2UgY2FuIGRlbGV0ZSBnYnVmW2dpXS4uIFdlIGNhbiBhcHBseSB0 aGlzIGVsc2Ugd2hlcmUgYXMgd2VsbCBpbiBzeW5jX3RocmVhZGxpc3RzICgpLg0KDQpMZXQgbWUg a25vdyBpZiB3ZSBoYXZlIGFuIGFsdGVybmF0ZSBvcHRpbWFsIG9wdGlvbiB0aGF0IGNhbiBkZWxl dGUgdGhpcyB0aHJlYWQgb3Igd2h5IHRoZSBzb2x1dGlvbiBpbiB0aGUgYWJvdmUgcGFyYWdyYXBo IGNhbiBmYWlsLi4NCg0KUmVzdCBvZiB0aGUgdGhpbmdzIEkgd2lsbCBoYW5kbGUuIE5vIHByb2Js ZW0uDQoNClRoYW5rcyBhbmQgcmVnYXJkcywNCkFkaXR5YS4uDQoNCg0KX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18NCkZyb206IFVscmljaCBXZWlnYW5kIDxVbHJpY2guV2VpZ2FuZEBk ZS5pYm0uY29tPg0KU2VudDogMjMgTm92ZW1iZXIgMjAyMiAyMjozOQ0KVG86IHNpbWFya0BzaW1h cmsuY2EgPHNpbWFya0BzaW1hcmsuY2E+OyBBZGl0eWEgS2FtYXRoMSA8QWRpdHlhLkthbWF0aDFA aWJtLmNvbT47IGdkYi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnIDxnZGItcGF0Y2hlc0Bzb3VyY2V3 YXJlLm9yZz4NCkNjOiBTYW5nYW1lc2ggTWFsbGF5eWEgPHNhbmdhbWVzaC5zd2FteUBpbi5pYm0u Y29tPg0KU3ViamVjdDogUmU6IFtQQVRDSF0gMDAwMS1GaXgtbXVsdGktdGhyZWFkLWRlYnVnLWJ1 Zy1pbi1BSVgucGF0Y2gNCg0KQWRpdHlhIEthbWF0aDEgPEFkaXR5YS5LYW1hdGgxQGlibS5jb20+ IHdyb3RlOg0KPkhtbS4gU28sIHNvbWV0aGluZyBpcyBnb2luZyB3cm9uZyBoZXJlLi4NCj5nY291 bnQgPSAwOw0KPiAgaXRlcmF0ZV9vdmVyX3RocmVhZHMgKGdpdGVyX2NvdW50LCAmZ2NvdW50KTsN Cj4gIGcgPSBnYnVmID0gWE5FV1ZFQyAoc3RydWN0IHRocmVhZF9pbmZvICosIGdjb3VudCk7DQo+ ICBpdGVyYXRlX292ZXJfdGhyZWFkcyAoZ2l0ZXJfYWNjdW0sICZnKTsNCj4gIHFzb3J0IChnYnVm LCBnY291bnQsIHNpemVvZiAqZ2J1ZiwgZ2NtcCk7DQoNCkxvb2tzIGxpa2UgdGhpcyBpcyBkZWxp YmVyYXRlOg0KDQovKiBpdGVyYXRlX292ZXJfdGhyZWFkcygpIGNhbGxiYWNrIGZvciBjb3VudGlu ZyBHREIgdGhyZWFkcy4NCg0KICAgRG8gbm90IGNvdW50IHRoZSBtYWluIHRocmVhZCAod2hvc2Ug dGlkIGlzIHplcm8pLiAgVGhpcyBtYXRjaGVzDQogICB0aGUgbGlzdCBvZiB0aHJlYWRzIHByb3Zp ZGVkIGJ5IHRoZSBwdGhyZWFkZGVidWcgbGlicmFyeSwgd2hpY2gNCiAgIGRvZXMgbm90IGluY2x1 ZGUgdGhhdCBtYWluIHRocmVhZCBlaXRoZXIsIGFuZCB0aHVzIGFsbG93cyB1cw0KICAgdG8gY29t cGFyZSB0aGUgdHdvIGxpc3RzLiAgKi8NCg0Kc3RhdGljIGludA0KZ2l0ZXJfY291bnQgKHN0cnVj dCB0aHJlYWRfaW5mbyAqdGhyZWFkLCB2b2lkICpjb3VudHApDQp7DQogIGlmIChQRF9USUQgKHRo cmVhZC0+cHRpZCkpDQogICAgKCooaW50ICopIGNvdW50cCkrKzsNCiAgcmV0dXJuIDA7DQp9DQoN Ck1heWJlIHRoYXQgY29tbWVudCBpcyB3cm9uZyBhYm91dCBwdGhyZWFkZGVidWcgbm90IGluY2x1 ZGluZw0KdGhlIG1haW4gdGhyZWFkPyAgIE9yIG1heWJlIHRoYXQgY2hhbmdlZCBiZXR3ZWVuIEFJ WCB2ZXJzaW9ucz8NCg0KSW4gYW55IGNhc2UsIHNvbWV0aGluZyBuZWVkcyB0byBiZSBmaXhlZCBo ZXJlLg0KDQpCeWUsDQpVbHJpY2gNCg0K --_004_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_ Content-Type: application/octet-stream; name="0001-Fix-multi-thread-bug-fix-in-AIX.patch" Content-Description: 0001-Fix-multi-thread-bug-fix-in-AIX.patch Content-Disposition: attachment; filename="0001-Fix-multi-thread-bug-fix-in-AIX.patch"; size=7814; creation-date="Tue, 29 Nov 2022 08:03:26 GMT"; modification-date="Tue, 29 Nov 2022 08:03:42 GMT" Content-Transfer-Encoding: base64 RnJvbSA1NTIxNjc3YWRiZDQ5MjQ3MmRlMDQ3YTlkMzE1OTdhZGRiOTUwMmY0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBZGl0eWEgVmlkeWFkaGFyIEthbWF0aCA8QWRpdHlhLkthbWF0 aDFAaWJtLmNvbT4KRGF0ZTogVHVlLCAyOSBOb3YgMjAyMiAwMDoyMDoxOSAtMDYwMApTdWJqZWN0 OiBbUEFUQ0hdIEZpeCBtdWx0aSB0aHJlYWQgYnVnIGluIEFJWAoKLS0tCiBnZGIvYWl4LXRocmVh ZC5jICAgICB8IDY2ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBnZGIvcnM2MDAwLWFpeC1uYXQuYyB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr Ky0tCiAyIGZpbGVzIGNoYW5nZWQsIDc3IGluc2VydGlvbnMoKyksIDM3IGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2dkYi9haXgtdGhyZWFkLmMgYi9nZGIvYWl4LXRocmVhZC5jCmluZGV4IGU1 NTZjMTUzNTc2Li42NzgzYWE0OTk5ZiAxMDA2NDQKLS0tIGEvZ2RiL2FpeC10aHJlYWQuYworKysg Yi9nZGIvYWl4LXRocmVhZC5jCkBAIC01MDgsMTQgKzUwOCwxMyBAQCBwZGNfcmVhZF9kYXRhIChw dGhkYl91c2VyX3QgdXNlcl9jdXJyZW50X3BpZCwgdm9pZCAqYnVmLAogICAvKiBUaGlzIGlzIG5l ZWRlZCB0byBlbGltaW5hdGUgdGhlIGRlcGVuZGVuY3kgb2YgY3VycmVudCB0aHJlYWQKICAgICAg d2hpY2ggaXMgbnVsbCBzbyB0aGF0IHRocmVhZCByZWFkcyB0aGUgY29ycmVjdCB0YXJnZXQgbWVt b3J5LiAgKi8KICAgewotICAgIHNjb3BlZF9yZXN0b3JlX2N1cnJlbnRfdGhyZWFkIHJlc3RvcmVf Y3VycmVudF90aHJlYWQ7CisgICAgc2NvcGVkX3Jlc3RvcmUgc2F2ZV9pbmZlcmlvcl9wdGlkID0g bWFrZV9zY29wZWRfcmVzdG9yZSAoJmluZmVyaW9yX3B0aWQpOwogICAgIC8qIEJlZm9yZSB0aGUg Zmlyc3QgaW5mZXJpb3IgaXMgYWRkZWQsIHdlIHBhc3MgaW5mZXJpb3JfcHRpZC5waWQgKCkKICAg ICAgICBmcm9tIHBkX2VuYWJsZSAoKSB3aGljaCBpcyAwLiAgVGhlcmUgaXMgbm8gbmVlZCB0byBz d2l0Y2ggdGhyZWFkcwogICAgICAgIGR1cmluZyBmaXJzdCBpbml0aWFsaXNhdGlvbi4gIEluIHRo ZSByZXN0IG9mIHRoZSBjYWxsYmFja3MgdGhlCiAgICAgICAgY3VycmVudCB0aHJlYWQgbmVlZHMg dG8gYmUgY29ycmVjdC4gICovCiAgICAgaWYgKHVzZXJfY3VycmVudF9waWQgIT0gMCkKLSAgICAg IHN3aXRjaF90b190aHJlYWQgKGN1cnJlbnRfaW5mZXJpb3IgKCktPnByb2Nlc3NfdGFyZ2V0ICgp LAotCQkJcHRpZF90ICh1c2VyX2N1cnJlbnRfcGlkKSk7CisgICAgICBpbmZlcmlvcl9wdGlkID0g cHRpZF90ICh1c2VyX2N1cnJlbnRfcGlkKTsKICAgICBzdGF0dXMgPSB0YXJnZXRfcmVhZF9tZW1v cnkgKGFkZHIsIChnZGJfYnl0ZSAqKSBidWYsIGxlbik7CiAgIH0KICAgcmV0ID0gc3RhdHVzID09 IDAgPyBQRENfU1VDQ0VTUyA6IFBEQ19GQUlMVVJFOwpAQCAtNjM5LDM2ICs2MzgsMjQgQEAgcGNt cCAoY29uc3Qgdm9pZCAqcDF2LCBjb25zdCB2b2lkICpwMnYpCiAgIHJldHVybiBwMS0+cHRoaWQg PCBwMi0+cHRoaWQgPyAtMSA6IHAxLT5wdGhpZCA+IHAyLT5wdGhpZDsKIH0KIAotLyogaXRlcmF0 ZV9vdmVyX3RocmVhZHMoKSBjYWxsYmFjayBmb3IgY291bnRpbmcgR0RCIHRocmVhZHMuCisvKiBp dGVyYXRlX292ZXJfdGhyZWFkcygpIGNhbGxiYWNrIGZvciBjb3VudGluZyBHREIgdGhyZWFkcy4g ICovCiAKLSAgIERvIG5vdCBjb3VudCB0aGUgbWFpbiB0aHJlYWQgKHdob3NlIHRpZCBpcyB6ZXJv KS4gIFRoaXMgbWF0Y2hlcwotICAgdGhlIGxpc3Qgb2YgdGhyZWFkcyBwcm92aWRlZCBieSB0aGUg cHRocmVhZGRlYnVnIGxpYnJhcnksIHdoaWNoCi0gICBkb2VzIG5vdCBpbmNsdWRlIHRoYXQgbWFp biB0aHJlYWQgZWl0aGVyLCBhbmQgdGh1cyBhbGxvd3MgdXMKLSAgIHRvIGNvbXBhcmUgdGhlIHR3 byBsaXN0cy4gICovCiAKIHN0YXRpYyBpbnQKIGdpdGVyX2NvdW50IChzdHJ1Y3QgdGhyZWFkX2lu Zm8gKnRocmVhZCwgdm9pZCAqY291bnRwKQogewotICBpZiAoUERfVElEICh0aHJlYWQtPnB0aWQp KQotICAgICgqKGludCAqKSBjb3VudHApKys7CisgICgqKGludCAqKSBjb3VudHApKys7CiAgIHJl dHVybiAwOwogfQogCi0vKiBpdGVyYXRlX292ZXJfdGhyZWFkcygpIGNhbGxiYWNrIGZvciBhY2N1 bXVsYXRpbmcgR0RCIHRocmVhZCBwaWRzLgotCi0gICBEbyBub3QgaW5jbHVkZSB0aGUgbWFpbiB0 aHJlYWQgKHdob3NlIHRpZCBpcyB6ZXJvKS4gIFRoaXMgbWF0Y2hlcwotICAgdGhlIGxpc3Qgb2Yg dGhyZWFkcyBwcm92aWRlZCBieSB0aGUgcHRocmVhZGRlYnVnIGxpYnJhcnksIHdoaWNoCi0gICBk b2VzIG5vdCBpbmNsdWRlIHRoYXQgbWFpbiB0aHJlYWQgZWl0aGVyLCBhbmQgdGh1cyBhbGxvd3Mg dXMKLSAgIHRvIGNvbXBhcmUgdGhlIHR3byBsaXN0cy4gICovCisvKiBpdGVyYXRlX292ZXJfdGhy ZWFkcygpIGNhbGxiYWNrIGZvciBhY2N1bXVsYXRpbmcgR0RCIHRocmVhZCBwaWRzLiAgKi8KIAog c3RhdGljIGludAogZ2l0ZXJfYWNjdW0gKHN0cnVjdCB0aHJlYWRfaW5mbyAqdGhyZWFkLCB2b2lk ICpidWZwKQogewotICBpZiAoUERfVElEICh0aHJlYWQtPnB0aWQpKQotICAgIHsKLSAgICAgICoq KHN0cnVjdCB0aHJlYWRfaW5mbyAqKiopIGJ1ZnAgPSB0aHJlYWQ7Ci0gICAgICAoKihzdHJ1Y3Qg dGhyZWFkX2luZm8gKioqKSBidWZwKSsrOwotICAgIH0KKyAgKiooc3RydWN0IHRocmVhZF9pbmZv ICoqKikgYnVmcCA9IHRocmVhZDsKKyAgKCooc3RydWN0IHRocmVhZF9pbmZvICoqKikgYnVmcCkr KzsKKyAgICAKICAgcmV0dXJuIDA7CiB9CiAKQEAgLTcwNCw4ICs2OTEsOCBAQCBnY21wIChjb25z dCB2b2lkICp0MXYsIGNvbnN0IHZvaWQgKnQydikKIH0KIAogLyogU2VhcmNoIHRocm91Z2ggdGhl IGxpc3Qgb2YgYWxsIGtlcm5lbCB0aHJlYWRzIGZvciB0aGUgdGhyZWFkCi0gICB0aGF0IGhhcyBz dG9wcGVkIG9uIGEgU0lHVFJBUCBzaWduYWwsIGFuZCByZXR1cm4gaXRzIFRJRC4KLSAgIFJldHVy biAwIGlmIG5vbmUgZm91bmQuICAqLworICAgdGhhdCBoYXMgc3RvcHBlZCBvbiBhIFNJR1RSQVAg b3IgU0lHSU5UIHNpZ25hbCwgYW5kIHJldHVybgorICAgaXRzIFRJRC4gIFJldHVybiAwIGlmIG5v bmUgZm91bmQuICAqLwogCiBzdGF0aWMgcHRoZGJfdGlkX3QKIGdldF9zaWduYWxlZF90aHJlYWQg KGludCBwaWQpCkBAIC03MTksNyArNzA2LDcgQEAgZ2V0X3NpZ25hbGVkX3RocmVhZCAoaW50IHBp ZCkKIAkJICAgIHNpemVvZiAodGhyaW5mKSwgJmt0aWQsIDEpICE9IDEpCiAJYnJlYWs7CiAKLSAg ICAgIGlmICh0aHJpbmYudGlfY3Vyc2lnID09IFNJR1RSQVApCisgICAgICBpZiAodGhyaW5mLnRp X2N1cnNpZyA9PSBTSUdUUkFQIHx8IHRocmluZi50aV9jdXJzaWcgPT0gU0lHSU5UKQogCXJldHVy biB0aHJpbmYudGlfdGlkOwogICAgIH0KIApAQCAtNzUwLDYgKzczNyw5IEBAIHN5bmNfdGhyZWFk bGlzdHMgKGludCBwaWQpCiAgIHB0aGRiX3B0aHJlYWRfdCBwZHRpZDsKICAgcHRocmVhZF90IHB0 aGlkOwogICBwdGhkYl90aWRfdCB0aWQ7CisgIHByb2Nlc3Nfc3RyYXR1bV90YXJnZXQgKnByb2Nf dGFyZ2V0CisJPSBjdXJyZW50X2luZmVyaW9yICgpLT5wcm9jZXNzX3RhcmdldCAoKTsKKyAgdGhy ZWFkX2luZm8gKnRwOwogCiAgIC8qIEFjY3VtdWxhdGUgYW4gYXJyYXkgb2YgbGlicHRoZGVidWcg dGhyZWFkcyBzb3J0ZWQgYnkgcHRocmVhZCBpZC4gICovCiAKQEAgLTgxMCwxMCArODAwLDggQEAg c3luY190aHJlYWRsaXN0cyAoaW50IHBpZCkKIAkgIHByaXYtPnBkdGlkID0gcGJ1ZltwaV0ucGR0 aWQ7CiAJICBwcml2LT50aWQgPSBwYnVmW3BpXS50aWQ7CiAKLQkgIHByb2Nlc3Nfc3RyYXR1bV90 YXJnZXQgKnByb2NfdGFyZ2V0Ci0JICAgID0gY3VycmVudF9pbmZlcmlvciAoKS0+cHJvY2Vzc190 YXJnZXQgKCk7CiAJICB0aHJlYWQgPSBhZGRfdGhyZWFkX3dpdGhfaW5mbyAocHJvY190YXJnZXQs Ci0JCQkJCSBwdGlkX3QgKHBpZCwgMCwgcGJ1ZltwaV0ucHRoaWQpLAorCQkJCQkgcHRpZF90IChw aWQsIHBidWZbcGldLnRpZCwgcGJ1ZltwaV0ucHRoaWQpLAogCQkJCQkgcHJpdik7CiAKIAkgIHBp Kys7CkBAIC04MjMsNyArODExLDcgQEAgc3luY190aHJlYWRsaXN0cyAoaW50IHBpZCkKIAkgIHB0 aWRfdCBwcHRpZCwgZ3B0aWQ7CiAJICBpbnQgY21wX3Jlc3VsdDsKIAotCSAgcHB0aWQgPSBwdGlk X3QgKHBpZCwgMCwgcGJ1ZltwaV0ucHRoaWQpOworCSAgcHB0aWQgPSBwdGlkX3QgKHBpZCwgcGJ1 ZltwaV0udGlkLCBwYnVmW3BpXS5wdGhpZCk7CiAJICBncHRpZCA9IGdidWZbZ2ldLT5wdGlkOwog CSAgcGR0aWQgPSBwYnVmW3BpXS5wZHRpZDsKIAkgIHRpZCA9IHBidWZbcGldLnRpZDsKQEAgLTg0 MSw4ICs4MjksMjIgQEAgc3luY190aHJlYWRsaXN0cyAoaW50IHBpZCkKIAkgICAgfQogCSAgZWxz ZSBpZiAoY21wX3Jlc3VsdCA+IDApCiAJICAgIHsKLQkgICAgICBkZWxldGVfdGhyZWFkIChnYnVm W2dpXSk7Ci0JICAgICAgZ2krKzsKKwkgICAgICBpZiAoZ3B0aWQuaXNfcGlkICgpKQorCQl7CisJ CSAgdGhyZWFkX2NoYW5nZV9wdGlkIChwcm9jX3RhcmdldCwgZ3B0aWQsIHBwdGlkKTsKKwkJICBh aXhfdGhyZWFkX2luZm8gKnByaXYgPSBuZXcgYWl4X3RocmVhZF9pbmZvOworICAgICAgICAgICAg ICAgICAgcHJpdi0+cGR0aWQgPSBwYnVmW3BpXS5wZHRpZDsKKyAgICAgICAgICAgICAgICAgIHBy aXYtPnRpZCA9IHBidWZbcGldLnRpZDsKKwkJICB0cCA9IGZpbmRfdGhyZWFkX3B0aWQgKHByb2Nf dGFyZ2V0LCBwcHRpZCk7CisJCSAgdHAtPnByaXYucmVzZXQgKHByaXYpOworCQkgIHBpKys7CisJ CSAgZ2krKzsKKwkJfQorCSAgICAgIGVsc2UKKwkJeworCQkgIGRlbGV0ZV90aHJlYWQgKGdidWZb Z2ldKTsKKwkJICBnaSsrOworCQl9CiAJICAgIH0KIAkgIGVsc2UKIAkgICAgewpAQCAtMTA5MSwx MCArMTA5Myw2IEBAIGFpeF90aHJlYWRfdGFyZ2V0Ojp3YWl0IChwdGlkX3QgcHRpZCwgc3RydWN0 IHRhcmdldF93YWl0c3RhdHVzICpzdGF0dXMsCiAgIGlmIChwdGlkLnBpZCAoKSA9PSAtMSkKICAg ICByZXR1cm4gcHRpZF90ICgtMSk7CiAKLSAgLyogVGhlIHRhcmdldCBiZW5lYXRoIGRvZXMgbm90 IGRlYWwgd2l0aCB0aHJlYWRzLCBzbyBpdCBzaG91bGQgb25seSByZXR1cm4KLSAgICAgcGlkLW9u bHkgcHRpZHMuICAqLwotICBnZGJfYXNzZXJ0IChwdGlkLmlzX3BpZCAoKSk7Ci0KICAgLyogQ2hl Y2sgd2hldGhlciBsaWJwdGhkZWJ1ZyBtaWdodCBiZSByZWFkeSB0byBiZSBpbml0aWFsaXplZC4g ICovCiAgIGlmICghcGRfYWN0aXZlICYmIHN0YXR1cy0+a2luZCAoKSA9PSBUQVJHRVRfV0FJVEtJ TkRfU1RPUFBFRAogICAgICAgJiYgc3RhdHVzLT5zaWcgKCkgPT0gR0RCX1NJR05BTF9UUkFQKQpk aWZmIC0tZ2l0IGEvZ2RiL3JzNjAwMC1haXgtbmF0LmMgYi9nZGIvcnM2MDAwLWFpeC1uYXQuYwpp bmRleCAyYWMxZjZlNzBiNi4uZGI0NWE5NTk1MmEgMTAwNjQ0Ci0tLSBhL2dkYi9yczYwMDAtYWl4 LW5hdC5jCisrKyBiL2dkYi9yczYwMDAtYWl4LW5hdC5jCkBAIC02MTksNiArNjE5LDQ4IEBAIHJz NjAwMF9uYXRfdGFyZ2V0Ojp4ZmVyX3BhcnRpYWwgKGVudW0gdGFyZ2V0X29iamVjdCBvYmplY3Qs CiAgICAgfQogfQogCisvKiBTZWFyY2ggdGhyb3VnaCB0aGUgbGlzdCBvZiBhbGwga2VybmVsIHRo cmVhZHMgZm9yIHRoZSB0aHJlYWQKKyAgIHRoYXQgaGFzIHN0b3BwZWQgb24gYSBTSUdUUkFQIG9y IFNJR0lOVCBzaWduYWwsIGFuZCByZXR1cm4KKyAgIGl0cyBUSUQuICBSZXR1cm4gMCBpZiBub25l IGZvdW5kLiAgKi8KKworc3RhdGljIHRpZF90CitnZXRfc2lnbmFsZWRfdGhyZWFkX3JzNjAwMCAo aW50IHBpZCkKK3sKKyAgc3RydWN0IHRocmRzaW5mbzY0IHRocmluZjsKKyAgdGlkX3Qga3RpZCA9 IDA7CisKKyAgd2hpbGUgKDEpCisgICAgeworICAgICAgaWYgKGdldHRocmRzIChwaWQsICZ0aHJp bmYsCisgICAgICAgICAgICAgICAgICAgIHNpemVvZiAodGhyaW5mKSwgJmt0aWQsIDEpICE9IDEp CisgICAgICAgIGJyZWFrOworCisgICAgICBpZiAodGhyaW5mLnRpX2N1cnNpZyA9PSBTSUdUUkFQ IHx8IHRocmluZi50aV9jdXJzaWcgPT0gU0lHSU5UKQorICAgICAgICByZXR1cm4gdGhyaW5mLnRp X3RpZDsKKyAgICB9CisKKyAgLyogRGlkbid0IGZpbmQgYW55IHRocmVhZCBzdG9wcGVkIG9uIGEg U0lHVFJBUCBzaWduYWwuICAqLworICByZXR1cm4gMDsKK30KKworLyogSWYgbXkgcHJvY2VzcyBp cyBwdGhyZWFkZWQgSSBuZWVkIHRvIHJldHVybiB0aGF0IHB0aWQgZWxzZSBwdGlkX3QKKyAgIChw aWQpLiAgKi8KKworc3RhdGljIHB0aWRfdAorZmluZF90aGVfcmV0dXJuX3B0aWQgKHBpZF90IHBp ZCkKK3sKKyAgcHRpZF90IHB0aWQgPSBwdGlkX3QgKHBpZCk7CisgIHByb2Nlc3Nfc3RyYXR1bV90 YXJnZXQgKnByb2NfdGFyZ2V0CisgICAgICAgID0gY3VycmVudF9pbmZlcmlvciAoKS0+cHJvY2Vz c190YXJnZXQgKCk7CisgIGluZmVyaW9yICppbmYgPSBmaW5kX2luZmVyaW9yX3BpZCAocHJvY190 YXJnZXQsIHBpZCk7CisgIHRocmVhZF9pbmZvICp0cCA9IGZpbmRfdGhyZWFkX3B0aWQgKGluZiwg cHRpZF90IChwaWQpKTsKKyAgaWYgKHRwID09IG51bGxwdHIpCisgICAgZm9yICh0aHJlYWRfaW5m byAqdHAxIDogaW5mLT50aHJlYWRzICgpKQorICAgICAgIGlmICh0cDEtPnB0aWQubHdwICgpID09 IGdldF9zaWduYWxlZF90aHJlYWRfcnM2MDAwIChwaWQpKQorICAgICAgICAgcmV0dXJuIHRwMS0+ cHRpZDsKKyAgcmV0dXJuIHB0aWQ7Cit9CisKIC8qIFdhaXQgZm9yIHRoZSBjaGlsZCBzcGVjaWZp ZWQgYnkgUFRJRCB0byBkbyBzb21ldGhpbmcuICBSZXR1cm4gdGhlCiAgICBwcm9jZXNzIElEIG9m IHRoZSBjaGlsZCwgb3IgTUlOVVNfT05FX1BUSUQgaW4gY2FzZSBvZiBlcnJvcjsgc3RvcmUKICAg IHRoZSBzdGF0dXMgaW4gKk9VUlNUQVRVUy4gICovCkBAIC02NzIsNyArNzE0LDcgQEAgcnM2MDAw X25hdF90YXJnZXQ6OndhaXQgKHB0aWRfdCBwdGlkLCBzdHJ1Y3QgdGFyZ2V0X3dhaXRzdGF0dXMg Km91cnN0YXR1cywKIAkgICAgICBpZiAocGFyZW50X3BpZCA+IDApCiAJCXsKIAkJICBvdXJzdGF0 dXMtPnNldF9mb3JrZWQgKHB0aWRfdCAocGlkKSk7Ci0JCSAgcmV0dXJuIHB0aWRfdCAocGFyZW50 X3BpZCk7CisJCSAgcmV0dXJuIGZpbmRfdGhlX3JldHVybl9wdGlkIChwYXJlbnRfcGlkKTsKIAkJ fQogCSAgICAgIGFpeF9yZW1lbWJlcl9jaGlsZCAocGlkKTsKIAkgICAgfQpAQCAtNjg3LDcgKzcy OSw3IEBAIHJzNjAwMF9uYXRfdGFyZ2V0Ojp3YWl0IChwdGlkX3QgcHRpZCwgc3RydWN0IHRhcmdl dF93YWl0c3RhdHVzICpvdXJzdGF0dXMsCiAJICAgICAgaWYgKGNoaWxkX3BpZCA+IDApCiAJCXsK IAkJICBvdXJzdGF0dXMtPnNldF9mb3JrZWQgKHB0aWRfdCAoY2hpbGRfcGlkKSk7Ci0JCSAgcmV0 dXJuIHB0aWRfdCAocGlkKTsKKwkJICByZXR1cm4gZmluZF90aGVfcmV0dXJuX3B0aWQgKHBpZCk7 CiAJCX0KIAkgICAgICBhaXhfcmVtZW1iZXJfcGFyZW50IChwaWQpOwogCSAgICB9CkBAIC03MTIs NyArNzU0LDcgQEAgcnM2MDAwX25hdF90YXJnZXQ6OndhaXQgKHB0aWRfdCBwdGlkLCBzdHJ1Y3Qg dGFyZ2V0X3dhaXRzdGF0dXMgKm91cnN0YXR1cywKICAgZWxzZQogICAgICpvdXJzdGF0dXMgPSBo b3N0X3N0YXR1c190b193YWl0c3RhdHVzIChzdGF0dXMpOwogCi0gIHJldHVybiBwdGlkX3QgKHBp ZCk7CisgIHJldHVybiBmaW5kX3RoZV9yZXR1cm5fcHRpZCAocGlkKTsKIH0KIAwKIAotLSAKMi4z MS4xCgo= --_004_CH2PR15MB354465C64C4B32DA395C110AD6129CH2PR15MB3544namp_--