From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 8R2YBEuBGWpd3yYAWB0awg (envelope-from ) for ; Fri, 29 May 2026 08:06:35 -0400 Authentication-Results: simark.ca; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Omb/5Ppk; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 0DB801E062; Fri, 29 May 2026 08:06:35 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-3.4 required=5.0 tests=ARC_SIGNED,ARC_VALID,BAYES_00, DKIMWL_WL_HIGH,DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,MAILING_LIST_MULTI, RCVD_IN_DNSWL_MED,RCVD_IN_VALIDITY_CERTIFIED_BLOCKED, RCVD_IN_VALIDITY_RPBL_BLOCKED,RCVD_IN_VALIDITY_SAFE_BLOCKED autolearn=ham autolearn_force=no version=4.0.1 Received: from vm01.sourceware.org (vm01.sourceware.org [38.145.34.32]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature ECDSA (prime256v1) server-digest SHA256) (No client certificate requested) by simark.ca (Postfix) with ESMTPS id 041F21E062 for ; Fri, 29 May 2026 08:06:33 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 215124BA23E5 for ; Fri, 29 May 2026 12:06:32 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 215124BA23E5 Authentication-Results: sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Omb/5Ppk Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.16]) by sourceware.org (Postfix) with ESMTPS id A856D4BA2E25 for ; Fri, 29 May 2026 12:05:56 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A856D4BA2E25 Authentication-Results: sourceware.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=intel.com ARC-Filter: OpenARC Filter v1.0.0 sourceware.org A856D4BA2E25 Authentication-Results: sourceware.org; arc=fail smtp.remote-ip=192.198.163.16 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1780056357; cv=fail; b=vX2dN1NYrn+18bT+oCM9dh6cqehzY21JbYzsi9pWj3spow9RB0IFlX/9jk/Zd44epnVjO/+6p1j739ecXsoVUMrvEz9igsGInoZ9EmTHw2/CN5t1SkadN4hg4zypMcfHgrUt5mwUcu7sqSjiBMyOwCgb0vgvtVI1BUHfxgLYIP4= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1780056357; c=relaxed/simple; bh=ianoScdAy+Eh3Iy+/lSu243Mx8+XsV++10BYLlcTwag=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=plmpzjF0tRDRpfuVcXpr3Aozua7i4j2Lzd9U5emAOZG54EPI5j0kAg/YdAaj8zHfrDmreS336fDPilhJiKf+/gZVHegSqgzWuT3wV+Z9k3lQp3P2DKWT772Unc1i/geAedPH7fJzXe/ZZ8kkKFHd+JGUXW1cEdZvd2F90VTBbZ8= ARC-Authentication-Results: i=2; sourceware.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=Omb/5Ppk DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A856D4BA2E25 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1780056356; x=1811592356; h=from:to:subject:date:message-id:references:in-reply-to: mime-version:content-transfer-encoding; bh=ianoScdAy+Eh3Iy+/lSu243Mx8+XsV++10BYLlcTwag=; b=Omb/5PpknFiWi1+BFjg9FX+Xl2geqqTQFlo38JUieLA3QDZiGDdD4u2h 4Z/R/wkCUnkaAPtoEDc69uEBQJHz+vjOSGeQdxYgK0INhVqvjP3GXTVbE EyD3NGrvJvJEO4zt1j5O5FAYvWFPvZG27jTIj1gNd83OKnz76UFZYOvEV 8T4wgLMmJGPb1wtFg8EDM+VgMQxuuIX2jdjQ6p3JWZBFCE3F92EFXcOip bQKzeomJ0RKK6gxGrUWNMb6HNLy52aFLqGV54z3NqFwIJgA8f7oYBItgv 1Np4dgyas9v0BBPpo8gYBXxcCmqe7eZS0fJKZ0RYsQCf/7eMz1JnZizOv w==; X-CSE-ConnectionGUID: oM6QKGvRQYGLc+vOZSAO0g== X-CSE-MsgGUID: ZRUCi6IqTAOHx4JsIlIyJQ== X-IronPort-AV: E=McAfee;i="6800,10657,11800"; a="68443115" X-IronPort-AV: E=Sophos;i="6.24,175,1774335600"; d="scan'208";a="68443115" Received: from fmviesa006.fm.intel.com ([10.60.135.146]) by fmvoesa110.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 May 2026 05:05:55 -0700 X-CSE-ConnectionGUID: 50cfoLOjTFq77NKUaBrsNA== X-CSE-MsgGUID: idhh5vCtTZSMpPtvkDq0XA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.24,175,1774335600"; d="scan'208";a="238431721" Received: from orsmsx902.amr.corp.intel.com ([10.22.229.24]) by fmviesa006.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 May 2026 05:05:55 -0700 Received: from ORSMSX903.amr.corp.intel.com (10.22.229.25) by ORSMSX902.amr.corp.intel.com (10.22.229.24) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Fri, 29 May 2026 05:05:54 -0700 Received: from ORSEDG901.ED.cps.intel.com (10.7.248.11) by ORSMSX903.amr.corp.intel.com (10.22.229.25) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37 via Frontend Transport; Fri, 29 May 2026 05:05:54 -0700 Received: from BN8PR05CU002.outbound.protection.outlook.com (52.101.57.56) by edgegateway.intel.com (134.134.137.111) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.37; Fri, 29 May 2026 05:05:53 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=MuflCvpr7iqmOABUvS34NIhT94x31/toVXF0p73LokjLsVc+ATSWUO5ujh8MQd7UAKbCQzCqxwCNF6piTuGoiut5B8PQQcmem4rv8O0QGVQRJ9jQnIfnVHVMRqLgxprut0hPojjADk04jtp1lnUElm9WpN4EX9FC6LvzeCvp81OAn1f0/mbSGw1Szs0oLFOFOu73wHSeh5eMYC8thSGY0hJ0OOEbHu+kIt+AQrVVkTTONbL2ZUwj6Tkn1KNIXzBvYig/DTlCtVfMCZNFV6U5V+FLAur++Su5yaz2NamVWiwf5wTWCwXpa5FBM5BeZN1JbQ9dxhygf9wprMDq1wbGHg== 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=dbcuxBYghblxgJwYICJFkZUagZ5bGtbjfvO26VDfRxc=; b=B8mSonnvB92/R/iRiKhHmy+zqdI9gIBN2ogwILi9/qXF6actrnvD4U1FqEET/bvmAt84RMyQ6XyIGj6oVk4DemwxbnTM4zzurohoIiAGoM+LcJcxAyRAZeB0KHpAJGKkFE4uXA79y0ziEO7NosX2e2z7E4z7nh7sVwSu/H0HPtRYxzJ8iV4ckCttOaJd7ErOP390n53t2FW8n4pBkUww0iCkrmjxIcJfjJs8S7cNi7HZrQT2K3Fxog8zvhoS2ug/BuN7b9pt1oC1Him+h/W9JFVqlMREkl80223O91sDCjED5b/8wibVfOPi9aaKB3nP58Yxgp32m6b6wAijlrs5tQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com; dkim=pass header.d=intel.com; arc=none Received: from SN7PR11MB7638.namprd11.prod.outlook.com (2603:10b6:806:34b::22) by IA3PR11MB8985.namprd11.prod.outlook.com (2603:10b6:208:575::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.71.15; Fri, 29 May 2026 12:05:51 +0000 Received: from SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::7a35:98d:f02c:b011]) by SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::7a35:98d:f02c:b011%3]) with mapi id 15.21.0071.011; Fri, 29 May 2026 12:05:51 +0000 From: "Schimpe, Christina" To: Guinevere Larsen , "gdb-patches@sourceware.org" Subject: RE: [PATCH v3 6/6] gdb/record: rename record_full_list to record_full_log Thread-Topic: [PATCH v3 6/6] gdb/record: rename record_full_list to record_full_log Thread-Index: AQHc5InHB5RRDi7c90iQr65rEHIBpbYk/doQ Date: Fri, 29 May 2026 12:05:51 +0000 Message-ID: References: <20260515163706.3355686-1-guinevere@redhat.com> <20260515163706.3355686-9-guinevere@redhat.com> In-Reply-To: <20260515163706.3355686-9-guinevere@redhat.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=intel.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: SN7PR11MB7638:EE_|IA3PR11MB8985:EE_ x-ms-office365-filtering-correlation-id: 1f9c9338-7cdc-4e0a-c3bf-08debd7aa0a4 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|1800799024|376014|366016|38070700021|22082099003|18002099003|4143699003|56012099006|3023799007|11063799006|6133799003; x-microsoft-antispam-message-info: smMRKnmKRsr7gSrh9dmS/19cDKvAGzv7lKi29Cusv3UY+seuLouYTQR1QHUxdxOpV8zSvKaT6UEJ68bZqo6OapI/Ij6Gsoyujfe2NLm2cCid/HIbMSo7qt7lHAHsKoM+kmaCk6hLBxVg5VCdjdmt9EBaf/dTtsxKC6Dzr7mpm2+1Ssp+raeM5Aw5p1tKHBXOLxY9N76XROWiSbrQ9RWVHPLrrBixVhs8HV0txL41QsMb0QZ5fggY6tbFs9Mp7q6S/bg9kytEgnGM+Lq0XhA4P/A2ub4tDJprH6IJj9h8se5lfWME38iQpPmJAzTXspiZeF/hlfsQrOQfzooUnrTwqZNR8iqWmaSI+VSRX0gJiTGzUWtxIwJN5WAmeBwmLHlILuDvbZEgfrJC+cwexOtFUIwWUu3favqlbbekB5IAngAJXNsffYHVYro37xzAyxnJzLMB7rO5g376vCQz2L3Qgir698z5mVyTYlY/Oz3wRx3FnWkOLfM7eZNQYty4NKbxiNKded1to4Im51AfbNFmpr6lSiMo/Js/H8Ultsc4ZC1zvGn6nu556ihbWHYeVIOlMdmRnAz/LkXsd967TYuX8y+TDsS0T4Fcwu3WDsZeKs/1h1IYgU8eN7mbyWZTtbxT5H3fte6ZUsNuQVAJ1EgkxiJ9U0KD/833QSU5vO3azD8JZb53i1fB5zbe5ROHeW5XEcNdI9nm7gVdyGFshAVVBtG64bkYRvjATh4LJqlkFADphpmiP5Y+UagmbAtWV+bF x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:SN7PR11MB7638.namprd11.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(376014)(366016)(38070700021)(22082099003)(18002099003)(4143699003)(56012099006)(3023799007)(11063799006)(6133799003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?WWlIbEZ2clpYUFV4R0JmQ2creGxlaHRmSG1CNXk2bDlwWk5ZemNHRnRDRWVG?= =?utf-8?B?K3EyeEZJRlFsVGRLdVQyOENjY3R2QkQzTW1mNjlSU3dRS3dWcFViZVNIZC80?= =?utf-8?B?QW9UNlpGeHhvV05jRXdLUUpvTDE5YVVmRnRma3dNNGF0ZVYrMGRSb2RzQ2hC?= =?utf-8?B?STFidFpaajhZYVRaN250cUswMGoyMjZ1cHhRa2x4RXM0OHJQUTFBejM2amgw?= =?utf-8?B?U2JJWC84QTB0SlM4VURPQUlSVzZEWVRLek1vSElWZmNQUUY5WG9IaUgyYWx5?= =?utf-8?B?eGVkVE1SakhEVWVpVGpNbjRKK2ZWYzBlQWYrUWhMdmxmNGhoRkRBbHNEVm5z?= =?utf-8?B?c2Mwd2wxc2c3VVdlQk9wL0RFTjlXbWpZSkNFQkFiYXQ3a2ZGZVRDN1c1TVhs?= =?utf-8?B?eUd0R2V0RHllenBOcm9tU0g5clFHR1Z3dUpHNmtDMUoveHZ1cm10U0hyaVhn?= =?utf-8?B?NXRRTU1PUHA1d2RnRGxkZkFMUGxoMi90ZmdZYkJlYTgvZWIvSkQvS1dHd0R4?= =?utf-8?B?aWVNUFFEaHRmUlc0NjU2dTE1Tk1xUVFQcUJRWnluWGl6L1ErSTE2UTFSNEw4?= =?utf-8?B?WHJ4SG1OMWJuTzRPdU02K0paN3NKTWU3R1JrY2xOaEs3ZnN4TjNjd2s2RjJ2?= =?utf-8?B?aWpWVmVxSXdJMEJOTVRiSjZrU29uZFdtTEo1T0hSOXhldVpMQVJyRXh4WG1y?= =?utf-8?B?V2thYjZOSDYvckdZRDVaR3BqN3FCWDZINjQvMkRIMnA5VjU4QlVPN3FqWGtB?= =?utf-8?B?OThmakc3a0tkNk1pVkUwSlJ5dFh0UXRIYWNaazlmaEZ2blpaZWVDbW5PeG1W?= =?utf-8?B?anc1dzUxMkViTVB6Q0YzTFJhbGQ0blM0azdBV0UrWTdDQURQMUdxUE9pUzJy?= =?utf-8?B?cWJiNWJCSXp3UmdLQ1FrM08zUVM4bmZMU25CbGhZblBuOUtRZ3N4bmRjL0dY?= =?utf-8?B?Zkk1Z2NOME5sWTVWRDNHdUpHYXpFeVBpNDBjb3BEZ0h1eklzQU1sa3hYajdu?= =?utf-8?B?Sk95Q2ROQW5Sak4zYXRYR2JuUHpJWURuTHRRSVRib0Uzb0tGNklVaFdUT09w?= =?utf-8?B?bnMvbmdMKzRCNlRNUFkxc3hEVjNaVEg5cTgvbmpXQmdBOFVMZ1ZkSHBYb1Ey?= =?utf-8?B?UWxyZmdpRzQxMFgyck5IR0ZXUWMzOFh5S3BXcUN5U1MxMmI1U1Rjei9FbllZ?= =?utf-8?B?Yk5BazlUT0o2T05ENE5HUWswQmRLNUtTVEZGWGsrc2FVemU2MncxbFoyaGJS?= =?utf-8?B?TkY0cDd6ZnhQWjlhU2UybFVMYWw4WENHUm1STVhDL0Mra2tMbnlUZ1YwZUVu?= =?utf-8?B?K2FnM2NyekJCR1hkL0Y2QjljRVN5ZTFkRVAyNXE5SG00TlA0ZnZtemEyVkxF?= =?utf-8?B?TzNEbzdrRnlUbElGUENwR1dOTGVCQ0NySm43RWgraU1PeVU5eGFpeDVmOTU1?= =?utf-8?B?YnZ2c3BsL0JlMFp2R21jUUxHc3BwYXh5L2xrRG55Y1ZtMTNxN1B4WVd3V2I3?= =?utf-8?B?RWlabGZyVFRldHhFb1VIcVZzMDU0SFJaRXVCVkF0bm1QUkhHRTFoQklsbHI0?= =?utf-8?B?L0ZSUHlodnhHNjZNTnBBcDFVL0ttNnhxdUM0cjRLQjJFMElFTmwrTlFmL2w2?= =?utf-8?B?bGt6bUFnUFJ3eWNMbTM4MzZUanp5WGg5OWI0dytFaSt3L0lYZzVCajhjdnBo?= =?utf-8?B?NzVEcTBNZHA4aURHSERTZzBKYksvUmh3SDVZenBUWDZlYzV2WTlTcVMwekxG?= =?utf-8?B?MGpUQUJKajBMV2k1V25TbEJGaTFwQ3hwNHVPenFNaWRSOE9teEJCOFhYamxz?= =?utf-8?B?LzhrR0RtbXZxdnJKQlRmLzZzMlAvdXJ6bjIwVk1iMVRyMWJQalFVeXlKaUg5?= =?utf-8?B?ems4Q2cxb000MGFMT21COHIxWWFXS1hTK1BTbVh5WTZHSHBwZUxIb1ZNeXcr?= =?utf-8?B?bFpVWTZ4eVpzRURFUm9ZRW9nWWt5amZCK2VQbGlFcGhSZHExTllzTnc0aFZm?= =?utf-8?B?bnVldW80ZXQzK1RYcVFqaU5DQ1A0MEF6KzdoTDNlM1lDd0YrSGpKdXYzSlBQ?= =?utf-8?B?SVRiRE9pUTdteTEyaEJkSHoxL215WC8yZG9sc3IvaHg0Rk5iWG5hTGZscVcx?= =?utf-8?B?UlB3WVJoMTdIV3VkcEpsMmFITWZCSVI5SXRIRys5Skx2QVZiZnRiSFdtNE5j?= =?utf-8?B?aFdKWXhKVVBEck9VUjhxSW82aXFEZGF5Q0tVYTBoM3grMUJRdGhxby9wSlBV?= =?utf-8?B?bTR0TVFxeWFQQUhxaVh1VjBsQjViNkFLSU5FNEo4c2pWU1ZiR1dhV0tiMXhX?= =?utf-8?B?Vlp2ckpVOHFvUTlXQ3dIdXNqT1NHRWNoMXpJQnZ2ZmFhY1A1RldtZz09?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: GcQkLjy3qQZkyARpM4X4EQrUpcx47aMZDoT0FUKScQEAn2zWTk7MGx44X7Qfw4DL3t7NX5kTKriXpjntvzb2NRQms9v83yqxup9ZHRZzk8TFYAKOiRr7LmfNOP/YTrsY3qtz6IfCGytKhJako2+nLCrSVMH+eYLSatz944hDAqiKorE4KQK61uXP9QLTJDl/ANJL+mBX+qOLY/d2twVa9ngQsyxRgP3zETB1bIPX9RXX3dq1kvzVGG191c2uzG85UVS7yOYE0Pe9ynRPQ/bbbZW0mTOzGnm0PIW76O/r9TXIFdh7zRy/XEYocmimys7WlraTeaKon/CfssMdWGsLKg== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB7638.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 1f9c9338-7cdc-4e0a-c3bf-08debd7aa0a4 X-MS-Exchange-CrossTenant-originalarrivaltime: 29 May 2026 12:05:51.1489 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 46c98d88-e344-4ed4-8496-4ed7712e255d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 0IOtZLWLbdLPFSz0Fot1KLet0GTNBa24Okf5rOGQRQy6ngDiT1YVP0ZmzT3zZqDPbjt5SsmkXOYuRFq4OAGeoiZssquCTk/M3i62CiQ2QiU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR11MB8985 X-OriginatorOrg: intel.com Content-Transfer-Encoding: base64 X-BeenThere: gdb-patches@sourceware.org X-Mailman-Version: 2.1.30 Precedence: list List-Id: Gdb-patches mailing list List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: gdb-patches-bounces~public-inbox=simark.ca@sourceware.org DQoNCj4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogR3VpbmV2ZXJlIExhcnNl biA8Z3VpbmV2ZXJlQHJlZGhhdC5jb20+DQo+IFNlbnQ6IEZyZWl0YWcsIDE1LiBNYWkgMjAyNiAx ODozNw0KPiBUbzogZ2RiLXBhdGNoZXNAc291cmNld2FyZS5vcmcNCj4gQ2M6IEd1aW5ldmVyZSBM YXJzZW4gPGd1aW5ldmVyZUByZWRoYXQuY29tPg0KPiBTdWJqZWN0OiBbUEFUQ0ggdjMgNi82XSBn ZGIvcmVjb3JkOiByZW5hbWUgcmVjb3JkX2Z1bGxfbGlzdCB0bw0KPiByZWNvcmRfZnVsbF9sb2cN Cj4gDQo+IE5vdyB0aGF0IHdlIG5vIGxvbmdlciB1c2UgYSBsaW5rZWQgbGlzdCB0byBtYW5hZ2Ug dGhlIGhpc3RvcnksIHRoZSBuYW1lDQo+ICJyZWNvcmRfZnVsbF9saXN0IiBpcyBubyBsb25nZXIg bWVhbmluZ2Z1bC4gVGhpcyBjb21taXQgY2hhbmdlcyB0aGUgbmFtZSB0bw0KPiByZWNvcmRfZnVs bF9sb2cgc2luY2UgaXQgaXMgdGhlIGV4ZWN1dGlvbiBsb2cuIEkgZGVjaWRlZCB0byBub3Qgc2F5 DQo+ICJyZWNvcmRfZnVsbF9leGVjdXRpb25fbG9nIiB0byBhdm9pZCBvdmVybHkgbG9uZyBsaW5l cyB3aGVuIGFjY2Vzc2luZyBpdC4NCj4gLS0tDQo+ICBnZGIvcmVjb3JkLWZ1bGwuYyB8IDEyMCAr KysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICAxIGZpbGUg Y2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgNjAgZGVsZXRpb25zKC0pDQo+IA0KPiBkaWZmIC0t Z2l0IGEvZ2RiL3JlY29yZC1mdWxsLmMgYi9nZGIvcmVjb3JkLWZ1bGwuYyBpbmRleA0KPiAwNTVk MmM2NjM0Ni4uM2M2Mzc1M2QyNGUgMTAwNjQ0DQo+IC0tLSBhL2dkYi9yZWNvcmQtZnVsbC5jDQo+ ICsrKyBiL2dkYi9yZWNvcmQtZnVsbC5jDQo+IEBAIC03Niw3ICs3Niw3IEBADQo+ICAjZGVmaW5l IERFRkFVTFRfUkVDT1JEX0ZVTExfSU5TTl9NQVhfTlVNCTIwMDAwMA0KPiANCj4gICNkZWZpbmUg UkVDT1JEX0ZVTExfSVNfUkVQTEFZIFwNCj4gLSAgKChyZWNvcmRfZnVsbF9uZXh0X2luc24gIT0g cmVjb3JkX2Z1bGxfbGlzdC5zaXplICgpKSBcDQo+ICsgICgocmVjb3JkX2Z1bGxfbmV4dF9pbnNu ICE9IHJlY29yZF9mdWxsX2xvZy5zaXplICgpKSBcDQo+ICAgICAgfHwgOjpleGVjdXRpb25fZGly ZWN0aW9uID09IEVYRUNfUkVWRVJTRSkNCj4gDQo+ICAjZGVmaW5lIFJFQ09SRF9GVUxMX0ZJTEVf TUFHSUNfT0xECW5ldG9yZGVyMzIoMHgyMDA5MTAxNikNCj4gQEAgLTQ0Niw3ICs0NDYsNyBAQCBz dGF0aWMgc3RydWN0IHJlY29yZF9mdWxsX2NvcmVfYnVmX2VudHJ5DQo+ICpyZWNvcmRfZnVsbF9j b3JlX2J1Zl9saXN0ID0gTlVMTDsNCj4gIC8qIFRoZSBmb2xsb3dpbmcgdmFyaWFibGVzIGFyZSB1 c2VkIGZvciBtYW5hZ2luZyB0aGUgaGlzdG9yeSBvZiBleGVjdXRlZA0KPiAgICAgaW5zdHJ1Y3Rp b25zIGZyb20gdGhlIGluZmVyaW9yLg0KPiANCj4gLSAgIHJlY29yZF9mdWxsX2xpc3QgY29udGFp bnMgYWxsIGluc3RydWN0aW9ucyB0aGF0IHdlcmUgZnVsbHkgZXhlY3V0ZWQgYW5kDQo+ICsgICBy ZWNvcmRfZnVsbF9sb2cgY29udGFpbnMgYWxsIGluc3RydWN0aW9ucyB0aGF0IHdlcmUgZnVsbHkg ZXhlY3V0ZWQNCj4gKyBhbmQNCj4gICAgIHNhdmVkIHRvIHRoZSBsb2csIHNvIHRoYXQgd2UgY2Fu IHJlcGxheSB0aGUgZXhlY3V0aW9uLg0KPiANCj4gICAgIHJlY29yZF9mdWxsX25leHRfaW5zbiBh bHdheXMgcG9pbnRzIHRvIHRoZSBuZXh0IGluc3RydWN0aW9uIHRoYXQgd291bGQgQEANCj4gLTQ1 OSw3ICs0NTksNyBAQCBzdGF0aWMgc3RydWN0IHJlY29yZF9mdWxsX2NvcmVfYnVmX2VudHJ5DQo+ ICpyZWNvcmRfZnVsbF9jb3JlX2J1Zl9saXN0ID0gTlVMTDsNCj4gICAgIGhhcHBlbmluZy4gIEl0 IGlzIG1hbmlwdWxhdGVkIGJ5IHRoZSAiYXJjaCBsaXN0IiBmdW5jdGlvbnMgZm9yIGhpc3Rvcmlj YWwNCj4gICAgIHJlYXNvbnMuICAqLw0KPiANCj4gLXN0YXRpYyBzdGQ6OmRlcXVlPHJlY29yZF9m dWxsX2luc3RydWN0aW9uPiByZWNvcmRfZnVsbF9saXN0Ow0KPiArc3RhdGljIHN0ZDo6ZGVxdWU8 cmVjb3JkX2Z1bGxfaW5zdHJ1Y3Rpb24+IHJlY29yZF9mdWxsX2xvZzsNCj4gIHN0YXRpYyByZWNv cmRfZnVsbF9pbnN0cnVjdGlvbiByZWNvcmRfZnVsbF9pbmNvbXBsZXRlX2luc3RydWN0aW9uOw0K PiAgc3RhdGljIGludCByZWNvcmRfZnVsbF9uZXh0X2luc247DQo+IA0KPiBAQCAtNjY1LDE0ICs2 NjUsMTQgQEAgcmVjb3JkX2Z1bGxfcmVzZXRfaGlzdG9yeSAoKQ0KPiAgICByZWNvcmRfZnVsbF9p bnNuX2NvdW50ID0gMDsNCj4gICAgcmVjb3JkX2Z1bGxfbmV4dF9pbnNuID0gMDsNCj4gDQo+IC0g IHJlY29yZF9mdWxsX2xpc3QuY2xlYXIgKCk7DQo+ICsgIHJlY29yZF9mdWxsX2xvZy5jbGVhciAo KTsNCj4gIH0NCj4gDQo+ICBzdGF0aWMgdm9pZA0KPiAtcmVjb3JkX2Z1bGxfbGlzdF9yZWxlYXNl X2ZvbGxvd2luZyAoaW50IGluZGV4KQ0KPiArcmVjb3JkX2Z1bGxfbG9nX3JlbGVhc2VfZm9sbG93 aW5nIChpbnQgaW5kZXgpDQo+ICB7DQo+IC0gIGZvciAoaW50IGkgPSByZWNvcmRfZnVsbF9saXN0 LnNpemUgKCkgLSAxOyBpID4gaW5kZXg7IGktLSkNCj4gLSAgICByZWNvcmRfZnVsbF9saXN0LnBv cF9iYWNrICgpOw0KPiArICBmb3IgKGludCBpID0gcmVjb3JkX2Z1bGxfbG9nLnNpemUgKCkgLSAx OyBpID4gaW5kZXg7IGktLSkNCj4gKyAgICByZWNvcmRfZnVsbF9sb2cucG9wX2JhY2sgKCk7DQo+ ICAgIC8qIFNldCB0aGUgbmV4dCBpbnN0cnVjdGlvbiB0byBiZSBwYXN0IHRoZSBlbmQgb2YgdGhl IGxvZyBzbyB3ZQ0KPiAgICAgICBzdGFydCByZWNvcmRpbmcgaWYgdGhlIHVzZXIgbW92ZXMgZm9y d2FyZCBhZ2Fpbi4gICovDQo+ICAgIHJlY29yZF9mdWxsX25leHRfaW5zbiA9IGluZGV4Ow0KPiBA QCAtNjg2LDcgKzY4Niw3IEBAIHJlY29yZF9mdWxsX3NhdmVfaW5zdHJ1Y3Rpb24gKCkNCj4gICAg KytyZWNvcmRfZnVsbF9pbnNuX2NvdW50Ow0KPiAgICByZWNvcmRfZnVsbF9pbmNvbXBsZXRlX2lu c3RydWN0aW9uLmluc25fbnVtID0gcmVjb3JkX2Z1bGxfaW5zbl9jb3VudDsNCj4gICAgcmVjb3Jk X2Z1bGxfaW5jb21wbGV0ZV9pbnN0cnVjdGlvbi5lZmZlY3RzLnNocmlua190b19maXQgKCk7DQo+ IC0gIHJlY29yZF9mdWxsX2xpc3QucHVzaF9iYWNrIChzdGQ6Om1vdmUNCj4gKHJlY29yZF9mdWxs X2luY29tcGxldGVfaW5zdHJ1Y3Rpb24pKTsNCj4gKyAgcmVjb3JkX2Z1bGxfbG9nLnB1c2hfYmFj ayAoc3RkOjptb3ZlDQo+ICsgKHJlY29yZF9mdWxsX2luY29tcGxldGVfaW5zdHJ1Y3Rpb24pKTsN Cj4gICAgcmVjb3JkX2Z1bGxfbmV4dF9pbnNuKys7DQo+IA0KPiAgICByZWNvcmRfZnVsbF9yZXNl dF9pbmNvbXBsZXRlICgpOw0KPiBAQCAtNjk2LDEyICs2OTYsMTIgQEAgcmVjb3JkX2Z1bGxfc2F2 ZV9pbnN0cnVjdGlvbiAoKQ0KPiAgICAgcm9vbSBmb3IgYWRkaW5nIGEgbmV3IGluc3RydWN0aW9u IGF0IHRoZSBlbmQgb2YgdGhlIGxvZy4gICovDQo+IA0KPiAgc3RhdGljIHZvaWQNCj4gLXJlY29y ZF9mdWxsX2xpc3RfcmVsZWFzZV9maXJzdCAodm9pZCkNCj4gK3JlY29yZF9mdWxsX2xvZ19yZWxl YXNlX2ZpcnN0ICh2b2lkKQ0KPiAgew0KPiAtICBpZiAocmVjb3JkX2Z1bGxfbGlzdC5lbXB0eSAo KSkNCj4gKyAgaWYgKHJlY29yZF9mdWxsX2xvZy5lbXB0eSAoKSkNCj4gICAgICByZXR1cm47DQo+ IA0KPiAtICByZWNvcmRfZnVsbF9saXN0LnBvcF9mcm9udCAoKTsNCj4gKyAgcmVjb3JkX2Z1bGxf bG9nLnBvcF9mcm9udCAoKTsNCj4gICAgLS1yZWNvcmRfZnVsbF9uZXh0X2luc247DQo+ICB9DQo+ IA0KPiBAQCAtNzY1LDcgKzc2NSw3IEBAIHJlY29yZF9mdWxsX2FyY2hfbGlzdF9hZGRfbWVtIChD T1JFX0FERFIgYWRkciwNCj4gaW50IGxlbikgIHN0YXRpYyB2b2lkICByZWNvcmRfZnVsbF9jaGVj a19pbnNuX251bSAodm9pZCkgIHsNCj4gLSAgaWYgKHJlY29yZF9mdWxsX2xpc3Quc2l6ZSAoKSA9 PSByZWNvcmRfZnVsbF9pbnNuX21heF9udW0pDQo+ICsgIGlmIChyZWNvcmRfZnVsbF9sb2cuc2l6 ZSAoKSA9PSByZWNvcmRfZnVsbF9pbnNuX21heF9udW0pDQo+ICAgICAgew0KPiAgICAgICAgLyog QXNrIHVzZXIgd2hhdCB0byBkby4gICovDQo+ICAgICAgICBpZiAocmVjb3JkX2Z1bGxfc3RvcF9h dF9saW1pdCkNCj4gQEAgLTc4MSw5ICs3ODEsOSBAQCByZWNvcmRfZnVsbF9jaGVja19pbnNuX251 bSAodm9pZCkNCj4gDQo+ICAvKiBCZWZvcmUgaW5mZXJpb3Igc3RlcCAod2hlbiBHREIgcmVjb3Jk IHRoZSBydW5uaW5nIG1lc3NhZ2UsIGluZmVyaW9yDQo+ICAgICBvbmx5IGNhbiBzdGVwKSwgR0RC IHdpbGwgY2FsbCB0aGlzIGZ1bmN0aW9uIHRvIHJlY29yZCB0aGUgdmFsdWVzIHRvDQo+IC0gICBy ZWNvcmRfZnVsbF9saXN0LiAgVGhpcyBmdW5jdGlvbiB3aWxsIGNhbGwgZ2RiYXJjaF9wcm9jZXNz X3JlY29yZCB0bw0KPiArICAgcmVjb3JkX2Z1bGxfbG9nLiAgVGhpcyBmdW5jdGlvbiB3aWxsIGNh bGwgZ2RiYXJjaF9wcm9jZXNzX3JlY29yZCB0bw0KPiAgICAgcmVjb3JkIHRoZSBydW5uaW5nIG1l c3NhZ2Ugb2YgaW5mZXJpb3IgYW5kIHNldCB0aGVtIHRvDQo+IC0gICByZWNvcmRfZnVsbF9hcmNo X2xpc3QsIGFuZCBhZGQgaXQgdG8gcmVjb3JkX2Z1bGxfbGlzdC4gICovDQo+ICsgICByZWNvcmRf ZnVsbF9hcmNoX2xpc3QsIGFuZCBhZGQgaXQgdG8gcmVjb3JkX2Z1bGxfbG9nLiAgKi8NCj4gDQo+ ICBzdGF0aWMgdm9pZA0KPiAgcmVjb3JkX2Z1bGxfbWVzc2FnZSAoc3RydWN0IHJlZ2NhY2hlICpy ZWdjYWNoZSwgZW51bSBnZGJfc2lnbmFsIHNpZ25hbCkNCj4gQEAgLTgyMSw4ICs4MjEsOCBAQCBy ZWNvcmRfZnVsbF9tZXNzYWdlIChzdHJ1Y3QgcmVnY2FjaGUgKnJlZ2NhY2hlLA0KPiBlbnVtIGdk Yl9zaWduYWwgc2lnbmFsKQ0KPiAgCSBpZiB3ZSBkZWxpdmVyZWQgaXQgZHVyaW5nIHRoZSByZWNv cmRpbmcuICBUaGVyZWZvcmUgd2Ugc2hvdWxkDQo+ICAJIHJlY29yZCB0aGUgc2lnbmFsIGR1cmlu ZyByZWNvcmRfZnVsbF93YWl0LCBub3QNCj4gIAkgcmVjb3JkX2Z1bGxfcmVzdW1lLiAgKi8NCj4g LSAgICAgIGlmIChzaWduYWwgIT0gR0RCX1NJR05BTF8wICYmICFyZWNvcmRfZnVsbF9saXN0LmVt cHR5ICgpKQ0KPiAtCXJlY29yZF9mdWxsX2xpc3RbcmVjb3JkX2Z1bGxfbmV4dF9pbnNuIC0gMV0u c2lndmFsID0gc2lnbmFsOw0KPiArICAgICAgaWYgKHNpZ25hbCAhPSBHREJfU0lHTkFMXzAgJiYg IXJlY29yZF9mdWxsX2xvZy5lbXB0eSAoKSkNCj4gKwlyZWNvcmRfZnVsbF9sb2dbcmVjb3JkX2Z1 bGxfbmV4dF9pbnNuIC0gMV0uc2lndmFsID0gc2lnbmFsOw0KPiANCj4gICAgICAgIGlmIChzaWdu YWwgPT0gR0RCX1NJR05BTF8wDQo+ICAJICB8fCAhZ2RiYXJjaF9wcm9jZXNzX3JlY29yZF9zaWdu YWxfcCAoZ2RiYXJjaCkpIEBAIC04NDcsOCArODQ3LDgNCj4gQEAgcmVjb3JkX2Z1bGxfbWVzc2Fn ZSAoc3RydWN0IHJlZ2NhY2hlICpyZWdjYWNoZSwgZW51bSBnZGJfc2lnbmFsDQo+IHNpZ25hbCkN Cj4gDQo+ICAgIHJlY29yZF9mdWxsX3NhdmVfaW5zdHJ1Y3Rpb24gKCk7DQo+IA0KPiAtICBpZiAo cmVjb3JkX2Z1bGxfbGlzdC5zaXplICgpID09IHJlY29yZF9mdWxsX2luc25fbWF4X251bSkNCj4g LSAgICByZWNvcmRfZnVsbF9saXN0X3JlbGVhc2VfZmlyc3QgKCk7DQo+ICsgIGlmIChyZWNvcmRf ZnVsbF9sb2cuc2l6ZSAoKSA9PSByZWNvcmRfZnVsbF9pbnNuX21heF9udW0pDQo+ICsgICAgcmVj b3JkX2Z1bGxfbG9nX3JlbGVhc2VfZmlyc3QgKCk7DQo+ICB9DQo+IA0KPiAgc3RhdGljIGJvb2wN Cj4gQEAgLTEzMjUsNyArMTMyNSw3IEBAIHJlY29yZF9mdWxsX3dhaXRfMSAoc3RydWN0IHRhcmdl dF9vcHMgKm9wcywNCj4gIAkgIGlmIChleGVjdXRpb25fZGlyZWN0aW9uID09IEVYRUNfUkVWRVJT RSkNCj4gIAkgICAgcmVjb3JkX2Z1bGxfbmV4dF9pbnNuLS07DQo+IA0KPiAtCSAgLyogTG9vcCBv dmVyIHRoZSByZWNvcmRfZnVsbF9saXN0LCBsb29raW5nIGZvciB0aGUgbmV4dCBwbGFjZSB0bw0K PiArCSAgLyogTG9vcCBvdmVyIHRoZSByZWNvcmRfZnVsbF9sb2csIGxvb2tpbmcgZm9yIHRoZSBu ZXh0IHBsYWNlIHRvDQo+ICAJICAgICBzdG9wLiAgKi8NCj4gIAkgIGRvDQo+ICAJICAgIHsNCj4g QEAgLTEzMzksMTQgKzEzMzksMTQgQEAgcmVjb3JkX2Z1bGxfd2FpdF8xIChzdHJ1Y3QgdGFyZ2V0 X29wcyAqb3BzLA0KPiAgCQkgIGJyZWFrOw0KPiAgCQl9DQo+ICAJICAgICAgaWYgKGV4ZWN1dGlv bl9kaXJlY3Rpb24gIT0gRVhFQ19SRVZFUlNFDQo+IC0JCSAgJiYgcmVjb3JkX2Z1bGxfbmV4dF9p bnNuID09IHJlY29yZF9mdWxsX2xpc3Quc2l6ZSAoKSkNCj4gKwkJICAmJiByZWNvcmRfZnVsbF9u ZXh0X2luc24gPT0gcmVjb3JkX2Z1bGxfbG9nLnNpemUgKCkpDQo+ICAJCXsNCj4gIAkJICAvKiBI aXQgZW5kIG9mIHJlY29yZCBsb2cgZ29pbmcgZm9yd2FyZC4gICovDQo+ICAJCSAgc3RhdHVzLT5z ZXRfbm9faGlzdG9yeSAoKTsNCj4gIAkJICBicmVhazsNCj4gIAkJfQ0KPiANCj4gLQkgICAgICBy ZWNvcmRfZnVsbF9saXN0W3JlY29yZF9mdWxsX25leHRfaW5zbl0uZXhlY19pbnNuIChyZWdjYWNo ZSk7DQo+ICsJICAgICAgcmVjb3JkX2Z1bGxfbG9nW3JlY29yZF9mdWxsX25leHRfaW5zbl0uZXhl Y19pbnNuIChyZWdjYWNoZSk7DQo+IA0KPiAgCSAgICAgIC8qIHN0ZXAgKi8NCj4gIAkgICAgICBp ZiAocmVjb3JkX2Z1bGxfcmVzdW1lX3N0ZXApDQo+IEBAIC0xMzgwLDcgKzEzODAsNyBAQCByZWNv cmRfZnVsbF93YWl0XzEgKHN0cnVjdCB0YXJnZXRfb3BzICpvcHMsDQo+ICAJCQkJIndhdGNocG9p bnQuXG4iKTsNCj4gIAkJICBjb250aW51ZV9mbGFnID0gMDsNCj4gIAkJfQ0KPiAtCSAgICAgIGlm IChyZWNvcmRfZnVsbF9saXN0W3JlY29yZF9mdWxsX25leHRfaW5zbl0uc2lndmFsLmhhc192YWx1 ZSAoKSkNCj4gKwkgICAgICBpZiAocmVjb3JkX2Z1bGxfbG9nW3JlY29yZF9mdWxsX25leHRfaW5z bl0uc2lndmFsLmhhc192YWx1ZSAoKSkNCj4gIAkJY29udGludWVfZmxhZyA9IDA7DQo+IA0KPiAg CSAgICAgIGlmIChleGVjdXRpb25fZGlyZWN0aW9uID09IEVYRUNfUkVWRVJTRSkgQEAgLTEzOTUs MTANCj4gKzEzOTUsMTAgQEAgcmVjb3JkX2Z1bGxfd2FpdF8xIChzdHJ1Y3QgdGFyZ2V0X29wcyAq b3BzLA0KPiAgCSAgICAgIGdkYl9hc3NlcnQgKGV4ZWN1dGlvbl9kaXJlY3Rpb24gPT0gRVhFQ19S RVZFUlNFKTsNCj4gIAkgICAgICByZWNvcmRfZnVsbF9uZXh0X2luc24gPSAwOw0KPiAgCSAgICB9 DQo+IC0JICBlbHNlIGlmIChyZWNvcmRfZnVsbF9uZXh0X2luc24gPiByZWNvcmRfZnVsbF9saXN0 LnNpemUgKCkpDQo+ICsJICBlbHNlIGlmIChyZWNvcmRfZnVsbF9uZXh0X2luc24gPiByZWNvcmRf ZnVsbF9sb2cuc2l6ZSAoKSkNCj4gIAkgICAgew0KPiAgCSAgICAgIGdkYl9hc3NlcnQgKGV4ZWN1 dGlvbl9kaXJlY3Rpb24gPT0gRVhFQ19GT1JXQVJEKTsNCj4gLQkgICAgICByZWNvcmRfZnVsbF9u ZXh0X2luc24gPSByZWNvcmRfZnVsbF9saXN0LnNpemUgKCk7DQo+ICsJICAgICAgcmVjb3JkX2Z1 bGxfbmV4dF9pbnNuID0gcmVjb3JkX2Z1bGxfbG9nLnNpemUgKCk7DQo+ICAJICAgIH0NCj4gIAkg IC8qIFJlc2V0IHRoZSBjdXJyZW50IGluc3RydWN0aW9uIHRvIHBvaW50IHRvIHRoZSBvbmUgdG8g YmUgcmVwbGF5ZWQNCj4gIAkgICAgIG1vdmluZyBmb3J3YXJkLiAgKi8NCj4gQEAgLTE0MTIsOSAr MTQxMiw5IEBAIHJlY29yZF9mdWxsX3dhaXRfMSAoc3RydWN0IHRhcmdldF9vcHMgKm9wcywNCj4g IAkJCSA/IHJlY29yZF9mdWxsX25leHRfaW5zbiAtIDEgOiByZWNvcmRfZnVsbF9uZXh0X2luc247 DQo+ICAJICAgICAgaWYgKHJlY29yZF9mdWxsX2dldF9zaWcpDQo+ICAJCXN0YXR1cy0+c2V0X3N0 b3BwZWQgKEdEQl9TSUdOQUxfSU5UKTsNCj4gLQkgICAgICBlbHNlIGlmIChyZWNvcmRfZnVsbF9s aXN0W2luc25dLnNpZ3ZhbC5oYXNfdmFsdWUgKCkpDQo+ICsJICAgICAgZWxzZSBpZiAocmVjb3Jk X2Z1bGxfbG9nW2luc25dLnNpZ3ZhbC5oYXNfdmFsdWUgKCkpDQo+ICAJCXN0YXR1cy0+c2V0X3N0 b3BwZWQNCj4gLQkJICAocmVjb3JkX2Z1bGxfbGlzdFtpbnNuXS5zaWd2YWwudmFsdWUgKCkpOw0K PiArCQkgIChyZWNvcmRfZnVsbF9sb2dbaW5zbl0uc2lndmFsLnZhbHVlICgpKTsNCj4gIAkgICAg ICBlbHNlDQo+ICAJCXN0YXR1cy0+c2V0X3N0b3BwZWQgKEdEQl9TSUdOQUxfVFJBUCk7DQo+ICAJ ICAgIH0NCj4gQEAgLTE1MzcsOCArMTUzNyw4IEBAIHJlY29yZF9mdWxsX3JlZ2lzdGVyc19jaGFu Z2UgKHN0cnVjdCByZWdjYWNoZQ0KPiAqcmVnY2FjaGUsIGludCByZWdudW0pDQo+ICAgICAgfQ0K PiAgICByZWNvcmRfZnVsbF9zYXZlX2luc3RydWN0aW9uICgpOw0KPiANCj4gLSAgaWYgKHJlY29y ZF9mdWxsX2xpc3Quc2l6ZSAoKSA9PSByZWNvcmRfZnVsbF9pbnNuX21heF9udW0pDQo+IC0gICAg cmVjb3JkX2Z1bGxfbGlzdF9yZWxlYXNlX2ZpcnN0ICgpOw0KPiArICBpZiAocmVjb3JkX2Z1bGxf bG9nLnNpemUgKCkgPT0gcmVjb3JkX2Z1bGxfaW5zbl9tYXhfbnVtKQ0KPiArICAgIHJlY29yZF9m dWxsX2xvZ19yZWxlYXNlX2ZpcnN0ICgpOw0KPiAgfQ0KPiANCj4gIC8qICJzdG9yZV9yZWdpc3Rl cnMiIG1ldGhvZCBmb3IgcHJvY2VzcyByZWNvcmQgdGFyZ2V0LiAgKi8gQEAgLTE1ODcsNw0KPiAr MTU4Nyw3IEBAIHJlY29yZF9mdWxsX3RhcmdldDo6c3RvcmVfcmVnaXN0ZXJzIChzdHJ1Y3QgcmVn Y2FjaGUgKnJlZ2NhY2hlLA0KPiBpbnQgcmVnbm8pDQo+ICAJICAgIH0NCj4gDQo+ICAJICAvKiBE ZXN0cm95IHRoZSByZWNvcmQgZnJvbSBoZXJlIGZvcndhcmQuICAqLw0KPiAtCSAgcmVjb3JkX2Z1 bGxfbGlzdF9yZWxlYXNlX2ZvbGxvd2luZyAocmVjb3JkX2Z1bGxfbmV4dF9pbnNuKTsNCj4gKwkg IHJlY29yZF9mdWxsX2xvZ19yZWxlYXNlX2ZvbGxvd2luZyAocmVjb3JkX2Z1bGxfbmV4dF9pbnNu KTsNCj4gIAl9DQo+IA0KPiAgICAgICAgcmVjb3JkX2Z1bGxfcmVnaXN0ZXJzX2NoYW5nZSAocmVn Y2FjaGUsIHJlZ25vKTsgQEAgLTE2MjAsNyArMTYyMCw3DQo+IEBAIHJlY29yZF9mdWxsX3Rhcmdl dDo6eGZlcl9wYXJ0aWFsIChlbnVtIHRhcmdldF9vYmplY3Qgb2JqZWN0LA0KPiAgCSAgICBlcnJv ciAoXygiUHJvY2VzcyByZWNvcmQgY2FuY2VsZWQgdGhlIG9wZXJhdGlvbi4iKSk7DQo+IA0KPiAg CSAgLyogRGVzdHJveSB0aGUgcmVjb3JkIGZyb20gaGVyZSBmb3J3YXJkLiAgKi8NCj4gLQkgIHJl Y29yZF9mdWxsX2xpc3RfcmVsZWFzZV9mb2xsb3dpbmcgKHJlY29yZF9mdWxsX25leHRfaW5zbik7 DQo+ICsJICByZWNvcmRfZnVsbF9sb2dfcmVsZWFzZV9mb2xsb3dpbmcgKHJlY29yZF9mdWxsX25l eHRfaW5zbik7DQo+ICAJfQ0KPiANCj4gICAgICAgIC8qIENoZWNrIHJlY29yZF9mdWxsX2luc25f bnVtICovDQo+IEBAIC0xNjM5LDggKzE2MzksOCBAQCByZWNvcmRfZnVsbF90YXJnZXQ6OnhmZXJf cGFydGlhbCAoZW51bQ0KPiB0YXJnZXRfb2JqZWN0IG9iamVjdCwNCj4gIAl9DQo+ICAgICAgICBy ZWNvcmRfZnVsbF9zYXZlX2luc3RydWN0aW9uICgpOw0KPiANCj4gLSAgICAgIGlmIChyZWNvcmRf ZnVsbF9saXN0LnNpemUgKCkgPT0gcmVjb3JkX2Z1bGxfaW5zbl9tYXhfbnVtKQ0KPiAtCXJlY29y ZF9mdWxsX2xpc3RfcmVsZWFzZV9maXJzdCAoKTsNCj4gKyAgICAgIGlmIChyZWNvcmRfZnVsbF9s b2cuc2l6ZSAoKSA9PSByZWNvcmRfZnVsbF9pbnNuX21heF9udW0pDQo+ICsJcmVjb3JkX2Z1bGxf bG9nX3JlbGVhc2VfZmlyc3QgKCk7DQo+ICAgICAgfQ0KPiANCj4gICAgcmV0dXJuIHRoaXMtPmJl bmVhdGggKCktPnhmZXJfcGFydGlhbCAob2JqZWN0LCBhbm5leCwgcmVhZGJ1Ziwgd3JpdGVidWYs IEBAIC0NCj4gMTc5NiwxMSArMTc5NiwxMSBAQCByZWNvcmRfZnVsbF9iYXNlX3RhcmdldDo6Z2V0 X2Jvb2ttYXJrIChjb25zdCBjaGFyDQo+ICphcmdzLCBpbnQgZnJvbV90dHkpICB7DQo+ICAgIGNo YXIgKnJldCA9IE5VTEw7DQo+IA0KPiAtICBpZiAocmVjb3JkX2Z1bGxfbGlzdC5lbXB0eSAoKSkN Cj4gKyAgaWYgKHJlY29yZF9mdWxsX2xvZy5lbXB0eSAoKSkNCj4gICAgICByZXR1cm4gKGdkYl9i eXRlICopIHJldDsNCj4gDQo+ICAgIC8qIFJldHVybiBzdHJpbmdpZmllZCBmb3JtIG9mIGluc3Ry dWN0aW9uIGNvdW50LiAgKi8NCj4gLSAgcmV0ID0geHN0cmR1cCAocHVsb25nZXN0IChyZWNvcmRf ZnVsbF9saXN0W3JlY29yZF9mdWxsX25leHRfaW5zbl0uaW5zbl9udW0pKTsNCj4gKyAgcmV0ID0g eHN0cmR1cCAocHVsb25nZXN0DQo+ICsgKHJlY29yZF9mdWxsX2xvZ1tyZWNvcmRfZnVsbF9uZXh0 X2luc25dLmluc25fbnVtKSk7DQo+IA0KPiAgICBpZiAocmVjb3JkX2RlYnVnKQ0KPiAgICAgIHsN Cj4gQEAgLTE4NjIsMTYgKzE4NjIsMTYgQEAgcmVjb3JkX2Z1bGxfYmFzZV90YXJnZXQ6OmluZm9f cmVjb3JkICgpDQo+ICAgICAgZ2RiX3ByaW50ZiAoXygiUmVjb3JkIG1vZGU6XG4iKSk7DQo+IA0K PiAgICAvKiBEbyB3ZSBoYXZlIGEgbG9nIGF0IGFsbD8gICovDQo+IC0gIGlmICghcmVjb3JkX2Z1 bGxfbGlzdC5lbXB0eSAoKSkNCj4gKyAgaWYgKCFyZWNvcmRfZnVsbF9sb2cuZW1wdHkgKCkpDQo+ ICAgICAgew0KPiAgICAgICAgLyogRGlzcGxheSBpbnN0cnVjdGlvbiBudW1iZXIgZm9yIGZpcnN0 IGluc3RydWN0aW9uIGluIHRoZSBsb2cuICAqLw0KPiAgICAgICAgZ2RiX3ByaW50ZiAoXygiTG93 ZXN0IHJlY29yZGVkIGluc3RydWN0aW9uIG51bWJlciBpcyAldS5cbiIpLA0KPiAtCQkgIHJlY29y ZF9mdWxsX2xpc3RbMF0uaW5zbl9udW0pOw0KPiArCQkgIHJlY29yZF9mdWxsX2xvZ1swXS5pbnNu X251bSk7DQo+IA0KPiAgICAgICAgLyogSWYgaW4gcmVwbGF5IG1vZGUsIGRpc3BsYXkgd2hlcmUg d2UgYXJlIGluIHRoZSBsb2cuICAqLw0KPiAgICAgICAgaWYgKFJFQ09SRF9GVUxMX0lTX1JFUExB WSkNCj4gIAlnZGJfcHJpbnRmIChfKCJDdXJyZW50IGluc3RydWN0aW9uIG51bWJlciBpcyAldS5c biIpLA0KPiAtCQkgICAgcmVjb3JkX2Z1bGxfbGlzdFtyZWNvcmRfZnVsbF9uZXh0X2luc25dLmlu c25fbnVtKTsNCj4gKwkJICAgIHJlY29yZF9mdWxsX2xvZ1tyZWNvcmRfZnVsbF9uZXh0X2luc25d Lmluc25fbnVtKTsNCj4gDQo+ICAgICAgICAvKiBEaXNwbGF5IGluc3RydWN0aW9uIG51bWJlciBm b3IgbGFzdCBpbnN0cnVjdGlvbiBpbiB0aGUgbG9nLiAgKi8NCj4gICAgICAgIGdkYl9wcmludGYg KF8oIkhpZ2hlc3QgcmVjb3JkZWQgaW5zdHJ1Y3Rpb24gbnVtYmVyIGlzICVzLlxuIiksIEBAIC0N Cj4gMTg3OSw3ICsxODc5LDcgQEAgcmVjb3JkX2Z1bGxfYmFzZV90YXJnZXQ6OmluZm9fcmVjb3Jk ICgpDQo+IA0KPiAgICAgICAgLyogRGlzcGxheSBsb2cgY291bnQuICAqLw0KPiAgICAgICAgZ2Ri X3ByaW50ZiAoXygiTG9nIGNvbnRhaW5zICVsdSBpbnN0cnVjdGlvbnMuXG4iKSwNCj4gLQkJICAo dW5zaWduZWQgbG9uZyBpbnQpIHJlY29yZF9mdWxsX2xpc3Quc2l6ZSAoKSk7DQo+ICsJCSAgKHVu c2lnbmVkIGxvbmcgaW50KSByZWNvcmRfZnVsbF9sb2cuc2l6ZSAoKSk7DQo+ICAgICAgfQ0KPiAg ICBlbHNlDQo+ICAgICAgZ2RiX3ByaW50ZiAoXygiTm8gaW5zdHJ1Y3Rpb25zIGhhdmUgYmVlbiBs b2dnZWQuXG4iKSk7IEBAIC0xOTI4LDE0DQo+ICsxOTI4LDE0IEBAIHJlY29yZF9mdWxsX2Jhc2Vf dGFyZ2V0OjpyZWNvcmRfd2lsbF9yZXBsYXkgKHB0aWRfdCBwdGlkLCBpbnQNCj4gZGlyKSAgc3Rh dGljIHZvaWQgIHJlY29yZF9mdWxsX2dvdG9fZW50cnkgKHNpemVfdCB0YXJnZXRfaW5zbikgIHsN Cj4gLSAgaWYgKHRhcmdldF9pbnNuID49IHJlY29yZF9mdWxsX2xpc3Quc2l6ZSAoKSkNCj4gKyAg aWYgKHRhcmdldF9pbnNuID49IHJlY29yZF9mdWxsX2xvZy5zaXplICgpKQ0KPiAgICAgIGVycm9y IChfKCJUYXJnZXQgaW5zbiBub3QgZm91bmQuIikpOw0KPiAgICBlbHNlIGlmICh0YXJnZXRfaW5z biA9PSByZWNvcmRfZnVsbF9uZXh0X2luc24pDQo+ICAgICAgZXJyb3IgKF8oIkFscmVhZHkgYXQg dGFyZ2V0IGluc24uIikpOw0KPiAgICBlbHNlIGlmICh0YXJnZXRfaW5zbiA+IHJlY29yZF9mdWxs X25leHRfaW5zbikNCj4gICAgICB7DQo+ICAgICAgICBnZGJfcHJpbnRmIChfKCJHbyBmb3J3YXJk IHRvIGluc24gbnVtYmVyICVzXG4iKSwNCj4gLQkJICBwdWxvbmdlc3QgKHJlY29yZF9mdWxsX2xp c3RbdGFyZ2V0X2luc25dLmluc25fbnVtKSk7DQo+ICsJCSAgcHVsb25nZXN0IChyZWNvcmRfZnVs bF9sb2dbdGFyZ2V0X2luc25dLmluc25fbnVtKSk7DQo+ICAgICAgICByZWNvcmRfZnVsbF9nb3Rv X2luc24gKHRhcmdldF9pbnNuLCBFWEVDX0ZPUldBUkQpOw0KPiAgICAgIH0NCj4gICAgZWxzZQ0K PiBAQCAtMTk2Niw3ICsxOTY2LDcgQEAgcmVjb3JkX2Z1bGxfYmFzZV90YXJnZXQ6OmdvdG9fcmVj b3JkX2JlZ2luICgpDQo+IHZvaWQgIHJlY29yZF9mdWxsX2Jhc2VfdGFyZ2V0Ojpnb3RvX3JlY29y ZF9lbmQgKCkgIHsNCj4gLSAgcmVjb3JkX2Z1bGxfZ290b19lbnRyeSAocmVjb3JkX2Z1bGxfbGlz dC5zaXplICgpIC0gMSk7DQo+ICsgIHJlY29yZF9mdWxsX2dvdG9fZW50cnkgKHJlY29yZF9mdWxs X2xvZy5zaXplICgpIC0gMSk7DQo+ICB9DQo+IA0KPiAgLyogVGhlICJnb3RvX3JlY29yZCIgdGFy Z2V0IG1ldGhvZC4gICovIEBAIC0yNDAzLDcgKzI0MDMsNyBAQA0KPiByZWNvcmRfZnVsbF9yZXN0 b3JlIChzdHJ1Y3QgYmZkICZjYmZkKQ0KPiAgICBpbnQgYmZkX29mZnNldCA9IDA7DQo+IA0KPiAg ICAvKiAicmVjb3JkX2Z1bGxfcmVzdG9yZSIgY2FuIG9ubHkgYmUgY2FsbGVkIHdoZW4gcmVjb3Jk IGxpc3QgaXMgZW1wdHkuICAqLw0KPiAtICBnZGJfYXNzZXJ0IChyZWNvcmRfZnVsbF9saXN0LmVt cHR5ICgpKTsNCj4gKyAgZ2RiX2Fzc2VydCAocmVjb3JkX2Z1bGxfbG9nLmVtcHR5ICgpKTsNCj4g DQo+ICAgIGlmIChyZWNvcmRfZGVidWcpDQo+ICAgICAgZ2RiX3ByaW50ZiAoZ2RiX3N0ZGxvZywg IlJlc3RvcmluZyByZWNvcmRpbmcgZnJvbSBjb3JlIGZpbGUuXG4iKTsgQEAgLQ0KPiAyNDU0LDkg KzI0NTQsOSBAQCByZWNvcmRfZnVsbF9yZXN0b3JlIChzdHJ1Y3QgYmZkICZjYmZkKQ0KPiAgICAg IH0NCj4gDQo+ICAgIC8qIFVwZGF0ZSByZWNvcmRfZnVsbF9pbnNuX21heF9udW0uICAqLw0KPiAt ICBpZiAocmVjb3JkX2Z1bGxfbGlzdC5zaXplICgpID4gcmVjb3JkX2Z1bGxfaW5zbl9tYXhfbnVt KQ0KPiArICBpZiAocmVjb3JkX2Z1bGxfbG9nLnNpemUgKCkgPiByZWNvcmRfZnVsbF9pbnNuX21h eF9udW0pDQo+ICAgICAgew0KPiAtICAgICAgcmVjb3JkX2Z1bGxfaW5zbl9tYXhfbnVtID0gcmVj b3JkX2Z1bGxfbGlzdC5zaXplICgpOw0KPiArICAgICAgcmVjb3JkX2Z1bGxfaW5zbl9tYXhfbnVt ID0gcmVjb3JkX2Z1bGxfbG9nLnNpemUgKCk7DQo+ICAgICAgICB3YXJuaW5nIChfKCJBdXRvIGlu Y3JlYXNlIHJlY29yZC9yZXBsYXkgYnVmZmVyIGxpbWl0IHRvICV1LiIpLA0KPiAgCSAgICAgICBy ZWNvcmRfZnVsbF9pbnNuX21heF9udW0pOw0KPiAgICAgIH0NCj4gQEAgLTI2MzQsMTYgKzI2MzQs MTYgQEAgcmVjb3JkX2Z1bGxfYmFzZV90YXJnZXQ6OnNhdmVfcmVjb3JkIChjb25zdA0KPiBjaGFy ICpyZWNmaWxlbmFtZSkNCj4gDQo+ICAgIC8qIFJldmVyc2UgZXhlY3V0ZSB0byB0aGUgYmVnaW4g b2YgcmVjb3JkIGxpc3QuICAqLw0KPiAgICBmb3IgKGludCBpID0gcmVjb3JkX2Z1bGxfbmV4dF9p bnNuIC0gMTsgaSA+PSAwOyBpLS0pDQo+IC0gICAgcmVjb3JkX2Z1bGxfbGlzdFtpXS5leGVjX2lu c24gKHJlZ2NhY2hlKTsNCj4gKyAgICByZWNvcmRfZnVsbF9sb2dbaV0uZXhlY19pbnNuIChyZWdj YWNoZSk7DQo+IA0KPiAgICAvKiBDb21wdXRlIHRoZSBzaXplIG5lZWRlZCBmb3IgdGhlIGV4dHJh IGJmZCBzZWN0aW9uLiAgKi8NCj4gICAgc2F2ZV9zaXplID0gNDsJLyogbWFnaWMgY29va2llICov DQo+IC0gIGZvciAoaW50IGkgPSByZWNvcmRfZnVsbF9saXN0LnNpemUgKCkgLSAxOyBpID49IDA7 IGktLSkNCj4gKyAgZm9yIChpbnQgaSA9IHJlY29yZF9mdWxsX2xvZy5zaXplICgpIC0gMTsgaSA+ PSAwOyBpLS0pDQo+ICAgICAgew0KPiAgICAgICAgLyogTnVtYmVyIG9mIGVmZmVjdHMgb2YgYW4g aW5zdHJ1Y3Rpb24uICAqLw0KPiAgICAgICAgc2F2ZV9zaXplICs9IHNpemVvZiAodWludDMyX3Qp ICsgc2l6ZW9mICh1aW50OF90KSArIHNpemVvZiAodWludDMyX3QpOw0KPiAtICAgICAgc2F2ZV9z aXplICs9IDQgKyByZWNvcmRfZnVsbF9saXN0W2ldLnBjLmxlbjsNCj4gLSAgICAgIGZvciAoYXV0 byAmZW50cnkgOiByZWNvcmRfZnVsbF9saXN0W2ldLmVmZmVjdHMpDQo+ICsgICAgICBzYXZlX3Np emUgKz0gNCArIHJlY29yZF9mdWxsX2xvZ1tpXS5wYy5sZW47DQo+ICsgICAgICBmb3IgKGF1dG8g JmVudHJ5IDogcmVjb3JkX2Z1bGxfbG9nW2ldLmVmZmVjdHMpDQo+ICAJc3dpdGNoIChlbnRyeS50 eXBlICgpKQ0KPiAgCSAgew0KPiAgCSAgY2FzZSByZWNvcmRfZnVsbF9yZWc6DQo+IEBAIC0yNjgy LDEyICsyNjgyLDEyIEBAIHJlY29yZF9mdWxsX2Jhc2VfdGFyZ2V0OjpzYXZlX3JlY29yZCAoY29u c3QNCj4gY2hhciAqcmVjZmlsZW5hbWUpDQo+IA0KPiAgICAvKiBTYXZlIHRoZSBlbnRyaWVzIHRv IHJlY2ZkIGFuZCBmb3J3YXJkIGV4ZWN1dGUgdG8gdGhlIGVuZCBvZg0KPiAgICAgICByZWNvcmQg bGlzdC4gICovDQo+IC0gIGZvciAoaW50IGkgPSAwOyBpIDwgcmVjb3JkX2Z1bGxfbGlzdC5zaXpl ICgpOyBpKyspDQo+ICsgIGZvciAoaW50IGkgPSAwOyBpIDwgcmVjb3JkX2Z1bGxfbG9nLnNpemUg KCk7IGkrKykNCj4gICAgICB7DQo+IC0gICAgICByZWNvcmRfZnVsbF9saXN0W2ldLnRvX2JmZCAo b2JmZCwgb3NlYywgJmJmZF9vZmZzZXQsIGdkYmFyY2gpOw0KPiArICAgICAgcmVjb3JkX2Z1bGxf bG9nW2ldLnRvX2JmZCAob2JmZCwgb3NlYywgJmJmZF9vZmZzZXQsIGdkYmFyY2gpOw0KPiAgICAg ICAgLyogRXhlY3V0ZSBlbnRyeS4gICovDQo+ICAgICAgICBpZiAoaSA8IHJlY29yZF9mdWxsX25l eHRfaW5zbikNCj4gLQlyZWNvcmRfZnVsbF9saXN0W2ldLmV4ZWNfaW5zbiAocmVnY2FjaGUpOw0K PiArCXJlY29yZF9mdWxsX2xvZ1tpXS5leGVjX2luc24gKHJlZ2NhY2hlKTsNCj4gICAgICB9DQo+ IA0KPiAgICB1bmxpbmtfZmlsZS5rZWVwICgpOw0KPiBAQCAtMjcxNCwxMCArMjcxNCwxMCBAQCBy ZWNvcmRfZnVsbF9nb3RvX2luc24gKHNpemVfdCB0YXJnZXRfaW5zbiwNCj4gDQo+ICAgIGlmIChk aXIgPT0gRVhFQ19SRVZFUlNFKQ0KPiAgICAgIGZvciAoaW50IGkgPSByZWNvcmRfZnVsbF9uZXh0 X2luc247IGkgPiB0YXJnZXRfaW5zbjsgaS0tKQ0KPiAtICAgICAgcmVjb3JkX2Z1bGxfbGlzdFtp LTFdLmV4ZWNfaW5zbiAocmVnY2FjaGUpOw0KPiArICAgICAgcmVjb3JkX2Z1bGxfbG9nW2ktMV0u ZXhlY19pbnNuIChyZWdjYWNoZSk7DQo+ICAgIGVsc2UNCj4gICAgICBmb3IgKGludCBpID0gcmVj b3JkX2Z1bGxfbmV4dF9pbnNuOyBpIDwgdGFyZ2V0X2luc247IGkrKykNCj4gLSAgICAgIHJlY29y ZF9mdWxsX2xpc3RbaV0uZXhlY19pbnNuIChyZWdjYWNoZSk7DQo+ICsgICAgICByZWNvcmRfZnVs bF9sb2dbaV0uZXhlY19pbnNuIChyZWdjYWNoZSk7DQo+ICB9DQo+IA0KPiAgLyogQWxpYXMgZm9y ICJ0YXJnZXQgcmVjb3JkLWZ1bGwiLiAgKi8NCj4gQEAgLTI3MzIsMTAgKzI3MzIsMTAgQEAgc3Rh dGljIHZvaWQNCj4gIHNldF9yZWNvcmRfZnVsbF9pbnNuX21heF9udW0gKGNvbnN0IGNoYXIgKmFy Z3MsIGludCBmcm9tX3R0eSwNCj4gIAkJCSAgICAgIHN0cnVjdCBjbWRfbGlzdF9lbGVtZW50ICpj KQ0KPiAgew0KPiAtICBpZiAocmVjb3JkX2Z1bGxfbGlzdC5zaXplICgpID4gcmVjb3JkX2Z1bGxf aW5zbl9tYXhfbnVtKQ0KPiArICBpZiAocmVjb3JkX2Z1bGxfbG9nLnNpemUgKCkgPiByZWNvcmRf ZnVsbF9pbnNuX21heF9udW0pDQo+ICAgICAgew0KPiAtICAgICAgd2hpbGUgKHJlY29yZF9mdWxs X2xpc3Quc2l6ZSAoKSA+IHJlY29yZF9mdWxsX2luc25fbWF4X251bSkNCj4gLQlyZWNvcmRfZnVs bF9saXN0X3JlbGVhc2VfZmlyc3QgKCk7DQo+ICsgICAgICB3aGlsZSAocmVjb3JkX2Z1bGxfbG9n LnNpemUgKCkgPiByZWNvcmRfZnVsbF9pbnNuX21heF9udW0pDQo+ICsJcmVjb3JkX2Z1bGxfbG9n X3JlbGVhc2VfZmlyc3QgKCk7DQo+ICAgICAgfQ0KPiAgfQ0KPiANCj4gQEAgLTI3NDQsMjEgKzI3 NDQsMjEgQEAgc2V0X3JlY29yZF9mdWxsX2luc25fbWF4X251bSAoY29uc3QgY2hhcg0KPiAqYXJn cywgaW50IGZyb21fdHR5LCAgc3RhdGljIHZvaWQgIG1haW50ZW5hbmNlX3ByaW50X3JlY29yZF9p bnN0cnVjdGlvbiAoY29uc3QNCj4gY2hhciAqYXJncywgaW50IGZyb21fdHR5KSAgew0KPiAtICBp ZiAocmVjb3JkX2Z1bGxfbGlzdC5lbXB0eSAoKSkNCj4gKyAgaWYgKHJlY29yZF9mdWxsX2xvZy5l bXB0eSAoKSkNCj4gICAgICBlcnJvciAoXygiTm90IGVub3VnaCByZWNvcmRlZCBoaXN0b3J5Iikp Ow0KPiANCj4gICAgaW50IG9mZnNldCA9IHJlY29yZF9mdWxsX25leHRfaW5zbiAtIDE7DQo+ICAg IC8qIFJlZHVjZSB0aGUgb2Zmc2V0IGJ5IDEgaWYgdGhlIHJlY29yZF9mdWxsX25leHRfaW5zbiBp cyBhZnRlciB0aGUgZW5kDQo+ICAgICAgIHNvIHRoYXQgd2Ugc2hvdyB0aGUgbGFzdCByZWNvcmRl ZCBpbnN0cnVjdGlvbiBpbnN0ZWFkIG9mIGNyYXNoaW5nLiAgKi8NCj4gLSAgaWYgKG9mZnNldCA9 PSByZWNvcmRfZnVsbF9saXN0LnNpemUgKCkpDQo+ICsgIGlmIChvZmZzZXQgPT0gcmVjb3JkX2Z1 bGxfbG9nLnNpemUgKCkpDQo+ICAgICAgb2Zmc2V0LS07DQo+ICAgIGlmIChhcmdzICE9IG51bGxw dHIpDQo+ICAgICAgew0KPiAgICAgICAgb2Zmc2V0ICs9IHZhbHVlX2FzX2xvbmcgKHBhcnNlX2Fu ZF9ldmFsIChhcmdzKSk7DQo+IC0gICAgICBpZiAob2Zmc2V0ID49IHJlY29yZF9mdWxsX2xpc3Qu c2l6ZSAoKSB8fCBvZmZzZXQgPCAwKQ0KPiArICAgICAgaWYgKG9mZnNldCA+PSByZWNvcmRfZnVs bF9sb2cuc2l6ZSAoKSB8fCBvZmZzZXQgPCAwKQ0KPiAgCWVycm9yIChfKCJOb3QgZW5vdWdoIHJl Y29yZGVkIGhpc3RvcnkiKSk7DQo+ICAgICAgfQ0KPiAtICBhdXRvIHRvX3ByaW50ID0gcmVjb3Jk X2Z1bGxfbGlzdC5iZWdpbiAoKSArIG9mZnNldDsNCj4gKyAgYXV0byB0b19wcmludCA9IHJlY29y ZF9mdWxsX2xvZy5iZWdpbiAoKSArIG9mZnNldDsNCj4gDQo+ICAgIGdkYmFyY2ggKmFyY2ggPSBj dXJyZW50X2luZmVyaW9yICgpLT5hcmNoICgpOw0KPiAgICBzdHJ1Y3QgdmFsdWVfcHJpbnRfb3B0 aW9ucyBvcHRzOw0KPiAtLQ0KPiAyLjU0LjANCj4gDQoNCkxHVE0uDQoNClJldmlld2VkLUJ5OiBD aHJpc3RpbmEgU2NoaW1wZSA8Y2hyaXN0aW5hLnNjaGltcGVAaW50ZWwuY29tPg0KDQpDaHJpc3Rp bmENCkludGVsIERldXRzY2hsYW5kIEdtYkgNClJlZ2lzdGVyZWQgQWRkcmVzczogRG9ybmFjaGVy IFN0cmFzc2UgMSwgODU2MjIgRmVsZGtpcmNoZW4sIEdlcm1hbnkNClRlbDogKzQ5IDg5IDk5MSA0 MzAsIHd3dy5pbnRlbC5kZQ0KTWFuYWdpbmcgRGlyZWN0b3JzOiBIYXJyeSBEZW1hcywgSmVmZnJl eSBTY2huZWlkZXJtYW4sIFlpbiBDaG9uZyBTb3JyZWxsDQpDaGFpcnBlcnNvbiBvZiB0aGUgU3Vw ZXJ2aXNvcnkgQm9hcmQ6IE5pY29sZSBMYXUNClJlZ2lzdGVyZWQgU2VhdDogTXVuaWNoDQpDb21t ZXJjaWFsIFJlZ2lzdGVyOiBBbXRzZ2VyaWNodCBNdWVuY2hlbiBIUkIgMTg2OTI4Cg==