From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id 6vqtKdCyk2hadAUAWB0awg (envelope-from ) for ; Wed, 06 Aug 2025 15:53:52 -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=dDUr72GX; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 96F9E1E100; Wed, 6 Aug 2025 15:53:52 -0400 (EDT) X-Spam-Checker-Version: SpamAssassin 4.0.1 (2024-03-25) on simark.ca X-Spam-Level: X-Spam-Status: No, score=-10.1 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, RCVD_IN_VALIDITY_RPBL,RCVD_IN_VALIDITY_SAFE autolearn=ham autolearn_force=no version=4.0.1 Received: from server2.sourceware.org (server2.sourceware.org [8.43.85.97]) (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 6336B1E091 for ; Wed, 6 Aug 2025 15:53:49 -0400 (EDT) Received: from server2.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id 0FF63385841C for ; Wed, 6 Aug 2025 19:53:49 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 0FF63385841C 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=dDUr72GX Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.14]) by sourceware.org (Postfix) with ESMTPS id A86AF385840B for ; Wed, 6 Aug 2025 19:53:06 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org A86AF385840B 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 A86AF385840B Authentication-Results: server2.sourceware.org; arc=fail smtp.remote-ip=198.175.65.14 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1754509987; cv=fail; b=DeOvFxlPajAN0iNYK27tFZpUkgim7FrTubaxUUHn4qqy3n3YSM1dSlf68T3cUkYwWBeFNSJWXVnop7rh+IrIsIw8r4WzSoiqvVfJ5Wy4UkV3FuoaAtgY43MDuPS5pmWSPUC0yS5pAfZgTfAZuuxYdrbo/MEIXYbkfWN97kpzY9o= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1754509987; c=relaxed/simple; bh=lLGXVSTreqHGOWB10HtvGjtqpFoWoxo97j3DJI1jkqQ=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=L+MZDgUBzB6x33WLF99QZBFH7vybv7/wVrmxVhr5Whj/vILbrUbVjD8Lz6l7Sz9bri4DCj4Vx3tW6giKjkFtHPXSBgB+edTfqp5KeDxwod45vpz3IHjmF77vfyatSFUwA++OlGUkiLtqHLOTyy2zTa79WTJudARlL65HGhHwGJ0= ARC-Authentication-Results: i=2; server2.sourceware.org DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org A86AF385840B DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1754509987; x=1786045987; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=lLGXVSTreqHGOWB10HtvGjtqpFoWoxo97j3DJI1jkqQ=; b=dDUr72GXHetn70K25QGRUs2Y4r4LmxrfadKmXaU1+ibWcgtKRVsTQfMd wblbonNMwHVM5mvSC/J2/WuMMO0a9ipEt3s86kRcVeFXW9vxgnPPtiEoA zycARqIKsMMgPKVijmXVBfqB8lv9dfj+YQoAxtbhNWflEQtRFGKzaNpI3 oD6EcPyEsEZ5GG7YAoJF7Mzuq8W3D198pFXYGsnzUyQE9/nAdn+1+VYeN 6XZmMtxwY+NEmeXcIJw9NlR8OeqlojvS9rWE+oOWBFDrAgHgm+Qj99leo BFX5FX4yOxbsra+ya7S9KsmUdftmdWGmZvxnpfiO+vxg7bXVjk2yOJy7C g==; X-CSE-ConnectionGUID: QSuHL5JIR1yXnW5nhxCiDQ== X-CSE-MsgGUID: oYRYfiXRS3Ka48XVX33mhg== X-IronPort-AV: E=McAfee;i="6800,10657,11514"; a="60677017" X-IronPort-AV: E=Sophos;i="6.17,271,1747724400"; d="scan'208";a="60677017" Received: from orviesa002.jf.intel.com ([10.64.159.142]) by orvoesa106.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Aug 2025 12:53:05 -0700 X-CSE-ConnectionGUID: UQ9WalLsS0mANHOh05g74A== X-CSE-MsgGUID: uwhnI6agRqCWJ42AjLbi6w== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.17,271,1747724400"; d="scan'208";a="195839957" Received: from fmsmsx901.amr.corp.intel.com ([10.18.126.90]) by orviesa002.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 06 Aug 2025 12:53:05 -0700 Received: from FMSMSX902.amr.corp.intel.com (10.18.126.91) by fmsmsx901.amr.corp.intel.com (10.18.126.90) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.26; Wed, 6 Aug 2025 12:53:04 -0700 Received: from fmsedg903.ED.cps.intel.com (10.1.192.145) by FMSMSX902.amr.corp.intel.com (10.18.126.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.26 via Frontend Transport; Wed, 6 Aug 2025 12:53:04 -0700 Received: from NAM11-BN8-obe.outbound.protection.outlook.com (40.107.236.73) by edgegateway.intel.com (192.55.55.83) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1748.26; Wed, 6 Aug 2025 12:53:04 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=jY6C7pm/4gaXHOcJMqJhmLMdRsm3PeOIm5zFlJ+i6AObUGqysTSQTH6USbA5EteI955qFWMb7C4F4UzA3bCWTJPo9ZUyu3AtIKd3nycO6gZl4HDtMwu6Mwv9FbiGFGVBg8FEH13Hqy5az694zjaXhtiVFHF4yTPKhRaXt3U1PBg7J4ZE+EsFM78ETG8RKab114FDKGvsABZhfaFC7gunKLC7P0NpV/xFCTfp/Qg67zkV8H+TYRqCjYwfud2a1Pbp3HS8p1j3Jocz2WydzaC4Wio3ID991YJvdTP6OUPM4ja3Q3syq+CdvlHniegwAglp3DOvzpW8pItPLNMVsCXxBQ== 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=izxRBNnY9cJuOnQlwCW7Vdj29DF0dCKlqedPZf0O5A0=; b=MiPGebqrPeR2oQsKZ5392fk0iPyWeKqNIjGdhhETo5GJhwT2tVNiK+/dAEabFrkGNK/l1PEFckAaklkbGTHaoGKYwlkKd9rGf1V2BzZdX6JGfqQEmUvGdgUL4dE2wZQtQ0W43HjhKLpGhsqV6ktxR6/JYgeUdta56SV1sd/NLMmHM7p1F9ufFKy50rbvEhWC3Ar4cckpFnx179VdjBuZgRDS48k5V3ugVwONFVwumKUCtYZaDp9xVJcO6Yb/w+22f5Pu5+BddO0tTl/CjAr9/BAkSD7vCMiQ/53aARF2EkuyMT+BQRRZWvYOnfb05lD6anPBSZ6N7iqYVc1LAc366w== 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 MW4PR11MB6886.namprd11.prod.outlook.com (2603:10b6:303:224::19) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.8989.21; Wed, 6 Aug 2025 19:53:01 +0000 Received: from SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::25b8:16dc:755e:34d1]) by SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::25b8:16dc:755e:34d1%5]) with mapi id 15.20.9009.013; Wed, 6 Aug 2025 19:53:01 +0000 From: "Schimpe, Christina" To: Andrew Burgess , "gdb-patches@sourceware.org" , "thiago.bauermann@linaro.org" CC: "luis.machado@arm.com" Subject: RE: [PATCH v5 06/12] gdb, gdbserver: Add support of Intel shadow stack pointer register. Thread-Topic: [PATCH v5 06/12] gdb, gdbserver: Add support of Intel shadow stack pointer register. Thread-Index: AQHb6Acq3rWeR1UfBECDbgcmq9LBerRC9SqAgAAL4gCAEVCSAIABd1fQ Date: Wed, 6 Aug 2025 19:53:01 +0000 Message-ID: References: <20250628082810.332526-1-christina.schimpe@intel.com> <20250628082810.332526-7-christina.schimpe@intel.com> <87cy9oe8pc.fsf@redhat.com> <87qzxpan2h.fsf@redhat.com> In-Reply-To: <87qzxpan2h.fsf@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_|MW4PR11MB6886:EE_ x-ms-office365-filtering-correlation-id: b3d8e005-ac39-4e80-8788-08ddd522d99e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|376014|1800799024|366016|13003099007|38070700018; x-microsoft-antispam-message-info: =?utf-8?B?MjB6OHNXTENWY2pnRk5SR25xNDNxS2NNbUZUR2l3NVRtNk81QTdNQ1ZodkxW?= =?utf-8?B?cXJrdGdnanJFcWtLMU9JS3pFUkpTZTlUSWhKRi9CL0ZQak5JM3h1OS9MWWhh?= =?utf-8?B?ZXN2dTRVVlA2cllXV3hjUWh0RFRRN3BvbkF0cU5TbSsrWjQ1V1ZzeHlOUkto?= =?utf-8?B?MkJFeFQ3Tnd6cC9WNW5naG5Fb2ZBNG5WcmRTN1p4Qk15dzdTYXVjdHJLeGxY?= =?utf-8?B?cnZuS2hOZlZjVW1jQVpENjBMK1BsRHEzcnZFR2ozVUR4SjJlZzJaLzBZUDlm?= =?utf-8?B?WnVhWm5JNXBmckxtdndnVDVMaHNhc0RrSmVvSFF4ejFLTGlmWVhvNkdrSVRu?= =?utf-8?B?TXpQbEJlZFJZbTBiUTR6NVZxSWxDTXlYTXlWUllLZkFYTHFrVk9tK09WUzd2?= =?utf-8?B?UFN3TWdvdFhNaDJjZkNSUzl5OHJZektsM3VaZTgvRTBkUndtYWwycU5sekZi?= =?utf-8?B?MnEwMFBaNHBzcW5jd2d0WTRoYWhEbjZ6bmFEcGN5cDIzZTlrK1hKcFl1d1U4?= =?utf-8?B?Z0hhdGpKcTBLYTRrWXFhbUhiaktjZXh6MTR3cmgxTDBFSForQitzZ3NGZlA3?= =?utf-8?B?RnJCV1BIbEtUd0FxM2xIWDhneHU0WE9KbjNhTjFPUWw2cnUwenlFQUl5QzRu?= =?utf-8?B?QU1BYm9VdEl0SjM0d0l1R0tQMU9YcVIxV0FxTjhGNTFKQVZPelBhSkgyZGtF?= =?utf-8?B?NDhXSWlOQVJPSTNyaldOSVJsVmVhYnpYMktsUm8zZFUvd1djVFRnTm5SWVRG?= =?utf-8?B?SkpCRFBKZXMvVVNIaDEzbG0wd1hXK1FseHVHSlIzOUxpMWljSUtDUytCNEgw?= =?utf-8?B?eVA1Zm13Sk5jUVZWVGFxMGpScjNNclZONStoYmFJT0JmNDhMTkZqMVk0Yits?= =?utf-8?B?STRHTFR1WWRsUGJIVG5yOEFsbUZZR3V5cDRxV1cvOE8zTGpDb1ZxdEY5ckRU?= =?utf-8?B?bjhPbTR4WmdJYmo0bDhXQnp4U0hia09nWGFOUTN1V3JWdGRrRUE0SXZjMHZl?= =?utf-8?B?QTlPeVpWS0VUZElsU3JMWFBqVUNrVFhIbmVwUHBKcXY5R0dvZGZIa09pL2x3?= =?utf-8?B?aFZqVGlSc0hLM2NucGtpZ3hseUF0cGRzemhzZmhnK29ta2NZdjlKa2NGRjVG?= =?utf-8?B?cWJFTVM5WUNtQ3ZDTUdGdGhDdUtZNk52OUFpSURoTTdWTWRUUG54MGs1U3M0?= =?utf-8?B?dnJNZzRFVGRhdG1sYmhwSzUvVkd5b0xNZG9CZ3Z0aUMra1pwRkd0dFlLRllR?= =?utf-8?B?RHJPN2ZuMlR6QUFHT2FXYTJIbXFEdm8xK1EzM0RndXdldzlJWXVlQXh1QWQw?= =?utf-8?B?cXo2VVBOY1RwTGRDUU1PMXRhYVZXQUVwbWtwYjQrUUErdHh5SzZSbHYvQTFQ?= =?utf-8?B?Ylh6UHNqMVBoZDJCczZsU3B4bVlEOVJNWmpnNUlML1liSmlLOXQvM2xiU3lM?= =?utf-8?B?OU9YQzVRT2pwTGVHdXhkb0puNEZ1RC9icTA2dkFYS0xUSmVBR1FXZk9WOXRz?= =?utf-8?B?MWFTdHE3SmVQWTczSFJpSDN0VXg3UUlUekRBbVlwN0ZpQWxtdk1WS1dMek0r?= =?utf-8?B?bU0rY3JZSzRuY3l6Y2p3NGsyRWxNdXIrMnRKVXBhTzNUeDh2dE9wdmttMWdJ?= =?utf-8?B?VEl5VkRDc2p5Uk5XaW1EOUVMVEl4M0owTjFuNzYyTEF2K2JKdTFqU2dWdmdj?= =?utf-8?B?SEdNVmkrbEhzWFpRd21CU2FuNlRzNUtOYVVDUlFDZzVDcjBqdTdvVFZMRTRK?= =?utf-8?B?Z09aNno1Z0Y3M0FRaEkySnM4WTBDUW5hVkhaQzdsdmxZZk1sOE5wTk80dzgx?= =?utf-8?B?M0hieG1DbERTaDRGQmh5VXp3czNUWjcwUEl4RDNjYXpPcWRwcDdHN3d4T2Fy?= =?utf-8?B?Z2l6eHVuZjU5Z2pSTThTUDIzMHpDcm5ka3o0Mk5jVXVJSk8zYXJFZHRWWExO?= =?utf-8?Q?xLNHy/KYtrKPUvZvVgdamzkSl8I9kNM8?= 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)(376014)(1800799024)(366016)(13003099007)(38070700018); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?RDAyUFZLMzkxcWRGUm5tZUdUS3RSeDRteVhoZk05cWtvZFlkbXRVUlZGMklD?= =?utf-8?B?QjNuZlZUNk8yNU5rYXRkTzR5Ui81VXZQQzN6dU90SHZ3b20xSks2VDJqNmtv?= =?utf-8?B?RjA2RmRKSjlhWTU5T2VQSGQyNXdseHFYcmFBZndIakJGUi80Ry9lWDRXNmd5?= =?utf-8?B?cHdUcWJPYWo5c1JqVnFheVBiZC9wWFZYSjJjZWtzdldBWjdrSEx3aWIybERm?= =?utf-8?B?RXVBbjIzK1QwTDFlbmFvUUNuMm1SUitmaEswejJieXcwM1dlUlQ3NnQ1OEc1?= =?utf-8?B?b2E3RlF2TWY2a293NnRLRWxGbkVyZithYmVUMHpUNFl4dVpZZXpTNll5NVp5?= =?utf-8?B?U1JYbjhaYytTaUJVeWxCWDVuTW1leFJJMk5SaXFjQ3dHZjVmd1lJRGJoaEpE?= =?utf-8?B?NHZjK2hwcnJFSDZEUFVrbXhPTVR1QUUxVFM5QnI5eC9nbmdUK3p2TjlHSjFD?= =?utf-8?B?d1pJWFdQanVMb2hLOHIzcnppQitYSGxMNk1Ud0VZM2dtZW5EbnRjTVVaYTZ0?= =?utf-8?B?enA0OTNUVUk4K2V3bURSSGlIZnBsU0F5TVhMSjN0NXdkaE9KMUpsa0lwbDZM?= =?utf-8?B?NFRkVlA2ZWNRczI1U0lDTlhMSE0zWmc4aVdZTWhuU0c1OTcrRnNnNlAxSC9V?= =?utf-8?B?NW1RZGdpRjQ2bmVYUzR6NnpLWndZYkdzK21rMXArL1RVZVRLSWZJLzRXNHBv?= =?utf-8?B?aitseEt6VEVMbnpCVkRBWExyS3lueUVUM09GRUJPUmhsUC9JNE9FV2lWdDVB?= =?utf-8?B?MXVvc0FkdWNxQ0tDQ095QlM2Zm9tdkZOU1JXb0JlaitHNndkN05EbUF3aTdH?= =?utf-8?B?NVd3NWxrSnh1WHV0eEdybXdoOXdGMkFlQ0lpQnE2a29vNjdtc0E1UVJ6V0tV?= =?utf-8?B?NFd0b1pjVE5vMmV2YU40Y0FDYjA5T2htYUsrM0kzTUFiS2NidHEvTVdEWUwx?= =?utf-8?B?eUt0aFdZMUFUM1dnSnN3aXlMc1VCcVFsMmg0ZjFzS1pkM1FhWmhLOGU3SWY4?= =?utf-8?B?RThJVU1xS0Z6SGptY2QxMzhqa2lpdUg4K0VGRlIwaWlmSHRZTGpTQ2JhVy9S?= =?utf-8?B?Vm1mcklPdDRMVnFaejFwWUtwTlYzdXhpcXB3MXZqVktsVmx1S1VyY3JYditn?= =?utf-8?B?ZlRNWGY5eldiZ1NNT0FYSDdPSGF6Z3o3S0hXZGJYYkZuUXZZOUg4OCsxbitp?= =?utf-8?B?SXJ4UktCM2YxREZoVkhyeTZkWjlJVnlhTGs2NTd3OWhUZE9xdGxoVEl1MnBL?= =?utf-8?B?TkhjeUhOUVhPR3BYbzVwTUJLUytvQ3o4RjB0bmUvWFpEWGxsdkVhVndqWnBy?= =?utf-8?B?elBqSElaN3VPd1VTNzlnMm5jWlV3bzJmam94Q1RXS29tZ0lSckFNaFFEMnlY?= =?utf-8?B?Rk5LTnB0eU40UWFvSGtURkxIZHhiQUMyWTN6NHArUTA4UWFPUWJhNHV1VDBN?= =?utf-8?B?Szd0dWh1SitIUFBKbTY0WGxhdm93NHN1TWpCVVdGUkVHbk1ZKy9oZFBCTFV5?= =?utf-8?B?cmdDWTE1TW8vNmtnVDc5Rkp0WVFEaElyTEVhS0NLYzl6eVRIak1xTmJlNTNx?= =?utf-8?B?MkFhODVwQkc1VEtRUTByK28vZXlhRnpMNFIvMnFWVW5wWHNxNjN4Tm4xSlRY?= =?utf-8?B?T0czMWhWUkVLbmxkUlRselNROE53VFpaamp6YjVHL2tTZENFYUZyMFdPK08v?= =?utf-8?B?ZkhhTWZHWVR2Q3h0QVFWd3N0eWJUcW1Gbmk1MGRpSkZTNXlNei9wek5OdnFq?= =?utf-8?B?anhJTktLb042YUpHRXJaLzA4dVk0STRTWndxbnQ5VUg3cTY3RjBOdll4Vk9Q?= =?utf-8?B?NFlmV0kzN3JDRGpOcmdRVWRVVXhmS2x1VzV5b2c1c3liZkRQU0toUDhWeTk2?= =?utf-8?B?Y1dibmNVdGRzNGQ0TXlpS2JKb2dhbHhXc3A0b2RlbytPSDJXYzF6dkpBUUw1?= =?utf-8?B?cGRObWRyTmd0UHBJWlJ2amo1NDRjMkFGTmZwSUlwZS8rSnlURElHN3ZyZzdT?= =?utf-8?B?dVBHQURYTDd3OUN5b0ZmSGdoMmhRMVVGeG9QM2Rqb01LZG5iZGpCR21aWkl4?= =?utf-8?B?b1IwSG16VXVLK0d0ZjRod3p5aUMwK1lYekc1MWpKeHUzM2FXUk9OZDdNd1FT?= =?utf-8?B?UXdlK0xjcFpVWnFhQjdJSUVJQjhkb011T2FiUlVFZnJBMnhRSjllckxLNU9B?= =?utf-8?B?Y3c9PQ==?= Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB7638.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: b3d8e005-ac39-4e80-8788-08ddd522d99e X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Aug 2025 19:53:01.3082 (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: +tBJDjSypvNOkPmcB+pHNTKVsGuWHJ+7KsjuhS6/Gp0VaaWCcmJSqL4wpCUfS13J495uhHqYIycVnHbY/sPLN1R/IIhLrb+OFCvW74KkHzY= X-MS-Exchange-Transport-CrossTenantHeadersStamped: MW4PR11MB6886 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 SGkgQW5kcmV3LA0KDQo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+IEZyb206IEFuZHJl dyBCdXJnZXNzIDxhYnVyZ2Vzc0ByZWRoYXQuY29tPg0KPiBTZW50OiBUdWVzZGF5LCBBdWd1c3Qg NSwgMjAyNSAzOjU3IFBNDQo+IFRvOiBTY2hpbXBlLCBDaHJpc3RpbmEgPGNocmlzdGluYS5zY2hp bXBlQGludGVsLmNvbT47IGdkYi0NCj4gcGF0Y2hlc0Bzb3VyY2V3YXJlLm9yZw0KPiBDYzogdGhp YWdvLmJhdWVybWFubkBsaW5hcm8ub3JnOyBsdWlzLm1hY2hhZG9AYXJtLmNvbQ0KPiBTdWJqZWN0 OiBSRTogW1BBVENIIHY1IDA2LzEyXSBnZGIsIGdkYnNlcnZlcjogQWRkIHN1cHBvcnQgb2YgSW50 ZWwgc2hhZG93DQo+IHN0YWNrIHBvaW50ZXIgcmVnaXN0ZXIuDQo+IA0KPiAiU2NoaW1wZSwgQ2hy aXN0aW5hIiA8Y2hyaXN0aW5hLnNjaGltcGVAaW50ZWwuY29tPiB3cml0ZXM6DQo+IA0KPiA+IEhp IEFuZHJldywNCj4gPg0KPiA+IFRoYW5rcyBhIGxvdCBmb3IgdGhlIHJldmlldyEgSSBoYXZlIHNv bWUgcXVlc3Rpb25zIGZvciB5b3VyIGZlZWRiYWNrLA0KPiA+IHBsZWFzZSBmaW5kIG15IGNvbW1l bnRzIGJlbG93Lg0KPiA+DQo+ID4+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tDQo+ID4+IEZy b206IEFuZHJldyBCdXJnZXNzIDxhYnVyZ2Vzc0ByZWRoYXQuY29tPg0KPiA+PiBTZW50OiBGcmlk YXksIEp1bHkgMjUsIDIwMjUgMjo1MCBQTQ0KPiA+PiBUbzogU2NoaW1wZSwgQ2hyaXN0aW5hIDxj aHJpc3RpbmEuc2NoaW1wZUBpbnRlbC5jb20+OyBnZGItDQo+ID4+IHBhdGNoZXNAc291cmNld2Fy ZS5vcmcNCj4gPj4gQ2M6IHRoaWFnby5iYXVlcm1hbm5AbGluYXJvLm9yZzsgbHVpcy5tYWNoYWRv QGFybS5jb20NCj4gPj4gU3ViamVjdDogUmU6IFtQQVRDSCB2NSAwNi8xMl0gZ2RiLCBnZGJzZXJ2 ZXI6IEFkZCBzdXBwb3J0IG9mIEludGVsDQo+ID4+IHNoYWRvdyBzdGFjayBwb2ludGVyIHJlZ2lz dGVyLg0KPiA+Pg0KPiA+PiBDaHJpc3RpbmEgU2NoaW1wZSA8Y2hyaXN0aW5hLnNjaGltcGVAaW50 ZWwuY29tPiB3cml0ZXM6DQo+ID4+DQo+ID4+ID4gVGhpcyBwYXRjaCBhZGRzIHRoZSB1c2VyIG1v ZGUgcmVnaXN0ZXIgUEwzX1NTUCB3aGljaCBpcyBwYXJ0IG9mIHRoZQ0KPiA+PiA+IEludGVsKFIp IENvbnRyb2wtRmxvdyBFbmZvcmNlbWVudCBUZWNobm9sb2d5IChDRVQpIGZlYXR1cmUgZm9yDQo+ ID4+ID4gc3VwcG9ydCBvZiBzaGFkb3cgc3RhY2suDQo+ID4+ID4gRm9yIG5vdywgb25seSBuYXRp dmUgYW5kIHJlbW90ZSBkZWJ1Z2dpbmcgc3VwcG9ydCBmb3Igc2hhZG93IHN0YWNrDQo+ID4+ID4g dXNlcnNwYWNlIG9uIGFtZDY0IGxpbnV4IGFyZSBjb3ZlcmVkIGJ5IHRoaXMgcGF0Y2ggaW5jbHVk aW5nIDY0IGJpdA0KPiA+PiA+IGFuZA0KPiA+PiA+IHgzMiBzdXBwb3J0LiAgMzIgYml0IHN1cHBv cnQgaXMgbm90IGNvdmVyZWQgZHVlIHRvIG1pc3NpbmcgTGludXgNCj4gPj4gPiBrZXJuZWwgc3Vw cG9ydC4NCj4gPj4gPg0KPiA+PiA+IFRoaXMgcGF0Y2ggcmVxdWlyZXMgZml4aW5nIHRoZSB0ZXN0 DQo+ID4+ID4gZ2RiLmJhc2UvaW5saW5lLWZyYW1lLWN5Y2xlLXVud2luZA0KPiA+PiA+IHdoaWNo IGlzIGZhaWxpbmcgaW4gY2FzZSB0aGUgc2hhZG93IHN0YWNrIHBvaW50ZXIgaXMgdW5hdmFpbGFi bGUuDQo+ID4+ID4gU3VjaCBhIHN0YXRlIGlzIHBvc3NpYmxlIGlmIHNoYWRvdyBzdGFjayBpcyBk aXNhYmxlZCBmb3IgdGhlDQo+ID4+ID4gY3VycmVudCB0aHJlYWQgYnV0IHN1cHBvcnRlZCBieSBI Vy4NCj4gPj4gPg0KPiA+PiA+IFRoaXMgdGVzdCB1c2VzIHRoZSBQeXRob24gdW53aW5kZXIgaW5s aW5lLWZyYW1lLWN5Y2xlLXVud2luZC5weQ0KPiA+PiA+IHdoaWNoIGZha2VzIHRoZSBjeWNsaWMg c3RhY2sgY3ljbGUgYnkgcmVhZGluZyB0aGUgcGVuZGluZyBmcmFtZSdzDQo+ID4+ID4gcmVnaXN0 ZXJzIGFuZCBhZGRpbmcgdGhlbSB0byB0aGUgdW53aW5kZXI6DQo+ID4+ID4NCj4gPj4gPiB+fn4N Cj4gPj4gPiBmb3IgcmVnIGluIHBlbmRpbmdfZnJhbWUuYXJjaGl0ZWN0dXJlKCkucmVnaXN0ZXJz KCJnZW5lcmFsIik6DQo+ID4+ID4gICAgICB2YWwgPSBwZW5kaW5nX2ZyYW1lLnJlYWRfcmVnaXN0 ZXIocmVnKQ0KPiA+PiA+ICAgICAgdW53aW5kZXIuYWRkX3NhdmVkX3JlZ2lzdGVyKHJlZywgdmFs KQ0KPiA+PiA+ICAgICAgcmV0dXJuIHVud2luZGVyDQo+ID4+ID4gfn5+DQo+ID4+ID4NCj4gPj4g PiBIb3dldmVyLCBpbiBjYXNlIHRoZSBweXRob24gdW53aW5kZXIgaXMgdXNlZCB3ZSBhZGQgYSBy ZWdpc3Rlcg0KPiA+PiA+IChwbDNfc3NwKSB0aGF0IGlzIHVuYXZhaWxhYmxlLiAgVGhpcyBsZWFk cyB0byBhIE5PVF9BVkFJTEFCTEVfRVJST1INCj4gPj4gPiBjYXVnaHQgaW4gZ2RiL2ZyYW1lLXVu d2luZC5jOmZyYW1lX3Vud2luZF90cnlfdW53aW5kZXIgYW5kIGl0IGlzDQo+ID4+ID4gY29udGlu dWVkIHdpdGggc3RhbmRhcmQgdW53aW5kZXJzLiAgVGhpcyBkZXN0cm95cyB0aGUgZmFrZWQgY3lj bGljDQo+ID4+ID4gYmVoYXZpb3IgYW5kIHRoZSBzdGFjayBpcyBmdXJ0aGVyIHVud2luZGVkIGFm dGVyIGZyYW1lIDUuDQo+ID4+ID4NCj4gPj4gPiBJbiB0aGUgd29ya2luZyBzY2VuYXJpbyBhbiBl cnJvciBzaG91bGQgYmUgdHJpZ2dlcmVkOg0KPiA+PiA+IH5+fg0KPiA+PiA+IGJ0DQo+ID4+ID4g MCAgaW5saW5lX2Z1bmMgKCkgYXQgL3RtcC9nZGIuYmFzZS9pbmxpbmUtZnJhbWUtY3ljbGUtdW53 aW5kLmM6NDleTQ0KPiA+PiA+IDEgIG5vcm1hbF9mdW5jICgpIGF0IC90bXAvZ2RiLmJhc2UvaW5s aW5lLWZyYW1lLWN5Y2xlLXVud2luZC5jOjMyXk0NCj4gPj4gPiAyICAweDAwMDA1NTU1NTU1NTUx NmUgaW4gaW5saW5lX2Z1bmMgKCkgYXQNCj4gPj4gPiAvdG1wL2dkYi5iYXNlL2lubGluZS1mcmFt ZS1jeWNsZS11bndpbmQuYzo0NV5NDQo+ID4+ID4gMyAgbm9ybWFsX2Z1bmMgKCkgYXQgL3RtcC9n ZGIuYmFzZS9pbmxpbmUtZnJhbWUtY3ljbGUtdW53aW5kLmM6MzJeTQ0KPiA+PiA+IDQgIDB4MDAw MDU1NTU1NTU1NTE2ZSBpbiBpbmxpbmVfZnVuYyAoKSBhdA0KPiA+PiA+IC90bXAvZ2RiLmJhc2Uv aW5saW5lLWZyYW1lLWN5Y2xlLXVud2luZC5jOjQ1Xk0NCj4gPj4gPiA1ICBub3JtYWxfZnVuYyAo KSBhdCAvdG1wL2dkYi5iYXNlL2lubGluZS1mcmFtZS1jeWNsZS11bndpbmQuYzozMl5NDQo+ID4+ ID4gQmFja3RyYWNlIHN0b3BwZWQ6IHByZXZpb3VzIGZyYW1lIGlkZW50aWNhbCB0byB0aGlzIGZy YW1lIChjb3JydXB0DQo+ID4+ID4gc3RhY2s/KQ0KPiA+PiA+IChnZGIpIFBBU1M6IGdkYi5iYXNl L2lubGluZS1mcmFtZS1jeWNsZS11bndpbmQuZXhwOiBjeWNsZSBhdCBsZXZlbCA1Og0KPiA+PiA+ IGJhY2t0cmFjZSB3aGVuIHRoZSB1bndpbmQgaXMgYnJva2VuIGF0IGZyYW1lIDUgfn5+DQo+ID4+ ID4NCj4gPj4gPiBUbyBmaXggdGhlIFB5dGhvbiB1bndpbmRlciwgd2Ugc2ltcGx5IHNraXAgdGhl IHVuYXZhaWxhYmxlIHJlZ2lzdGVycy4NCj4gPj4gPg0KPiA+PiA+IFJldmlld2VkLWJ5OiBUaGlh Z28gSnVuZyBCYXVlcm1hbm4gPHRoaWFnby5iYXVlcm1hbm5AbGluYXJvLm9yZz4NCj4gPj4gPiBS ZXZpZXdlZC1CeTogRWxpIFphcmV0c2tpaSA8ZWxpekBnbnUub3JnPg0KPiA+PiA+IFJldmlld2Vk LUJ5OiBMdWlzIE1hY2hhZG8gPGx1aXMubWFjaGFkb0Bhcm0uY29tPg0KPiA+PiA+IC0tLQ0KPiA+ PiA+ICBnZGIvTkVXUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMyAr DQo+ID4+ID4gIGdkYi9hbWQ2NC1saW51eC1uYXQuYyAgICAgICAgICAgICAgICAgICAgICAgICB8 IDE3ICsrKysrDQo+ID4+ID4gIGdkYi9hbWQ2NC1saW51eC10ZGVwLmMgICAgICAgICAgICAgICAg ICAgICAgICB8ICAxICsNCj4gPj4gPiAgZ2RiL2FtZDY0LXRkZXAuYyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDYgKy0NCj4gPj4gPiAgZ2RiL2FtZDY0LXRkZXAuaCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgIDEgKw0KPiA+PiA+ICBnZGIvYXJjaC9hbWQ2NC5jICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfCAxMCArKysNCj4gPj4gPiAgZ2RiL2FyY2gvaTM4Ni5j ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDQgKysNCj4gPj4gPiAgZ2RiL2FyY2gv eDg2LWxpbnV4LXRkZXNjLWZlYXR1cmVzLmMgICAgICAgICAgIHwgIDEgKw0KPiA+PiA+ICBnZGIv ZG9jL2dkYi50ZXhpbmZvICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKw0KPiA+PiA+ ICBnZGIvZmVhdHVyZXMvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgICAgICAgfCAgMiArDQo+ ID4+ID4gIGdkYi9mZWF0dXJlcy9pMzg2LzMyYml0LXNzcC5jICAgICAgICAgICAgICAgICB8IDE0 ICsrKysNCj4gPj4gPiAgZ2RiL2ZlYXR1cmVzL2kzODYvMzJiaXQtc3NwLnhtbCAgICAgICAgICAg ICAgIHwgMTEgKysrDQo+ID4+ID4gIGdkYi9mZWF0dXJlcy9pMzg2LzY0Yml0LXNzcC5jICAgICAg ICAgICAgICAgICB8IDE0ICsrKysNCj4gPj4gPiAgZ2RiL2ZlYXR1cmVzL2kzODYvNjRiaXQtc3Nw LnhtbCAgICAgICAgICAgICAgIHwgMTEgKysrDQo+ID4+ID4gIGdkYi9pMzg2LXRkZXAuYyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIyICsrKysrLQ0KPiA+PiA+ICBnZGIvaTM4Ni10 ZGVwLmggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgNCArKw0KPiA+PiA+ICBnZGIv bmF0L3g4Ni1saW51eC10ZGVzYy5jICAgICAgICAgICAgICAgICAgICAgfCAgMiArDQo+ID4+ID4g IGdkYi9uYXQveDg2LWxpbnV4LmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDU3ICsrKysr KysrKysrKysrKw0KPiA+PiA+ICBnZGIvbmF0L3g4Ni1saW51eC5oICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgNCArKw0KPiA+PiA+ICBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LXNo YWRvdy1zdGFjay5jICAgfCAyMiArKysrKysNCj4gPj4gPiAgZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJj aC9hbWQ2NC1zc3AuZXhwICAgICAgICAgIHwgNTAgKysrKysrKysrKysrKw0KPiA+PiA+ICAuLi4v Z2RiLmJhc2UvaW5saW5lLWZyYW1lLWN5Y2xlLXVud2luZC5weSAgICAgfCAgNCArKw0KPiA+PiA+ ICBnZGIvdGVzdHN1aXRlL2xpYi9nZGIuZXhwICAgICAgICAgICAgICAgICAgICAgfCA3MCArKysr KysrKysrKysrKysrKysrDQo+ID4+ID4gIGdkYi94ODYtbGludXgtbmF0LmMgICAgICAgICAgICAg ICAgICAgICAgICAgICB8IDQ5ICsrKysrKysrKysrLS0NCj4gPj4gPiAgZ2RiL3g4Ni1saW51eC1u YXQuaCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTEgKysrDQo+ID4+ID4gIGdkYi94ODYt dGRlcC5jICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDIxICsrKysrKw0KPiA+PiA+ ICBnZGIveDg2LXRkZXAuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgOSArKysN Cj4gPj4gPiAgZ2Ric2VydmVyL2xpbnV4LXg4Ni1sb3cuY2MgICAgICAgICAgICAgICAgICAgIHwg MjggKysrKysrKy0NCj4gPj4gPiAgZ2Ric3VwcG9ydC94ODYteHN0YXRlLmggICAgICAgICAgICAg ICAgICAgICAgIHwgIDUgKy0NCj4gPj4gPiAgMjkgZmlsZXMgY2hhbmdlZCwgNDQ3IGluc2VydGlv bnMoKyksIDEwIGRlbGV0aW9ucygtKSAgY3JlYXRlIG1vZGUNCj4gPj4gPiAxMDA2NDQgZ2RiL2Zl YXR1cmVzL2kzODYvMzJiaXQtc3NwLmMgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+PiA+IGdkYi9m ZWF0dXJlcy9pMzg2LzMyYml0LXNzcC54bWwgIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiA+PiA+IGdk Yi9mZWF0dXJlcy9pMzg2LzY0Yml0LXNzcC5jICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPj4gPiBn ZGIvZmVhdHVyZXMvaTM4Ni82NGJpdC1zc3AueG1sICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gPj4g PiBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LXNoYWRvdy1zdGFjay5jDQo+ID4+ID4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBnZGIvdGVzdHN1aXRlL2dkYi5hcmNoL2FtZDY0LXNzcC5leHANCj4g Pj4gPg0KPiA+Pg0KPiA+Pg0KPiA+PiA+IGRpZmYgLS1naXQgYS9nZGIvYW1kNjQtbGludXgtbmF0 LmMgYi9nZGIvYW1kNjQtbGludXgtbmF0LmMgaW5kZXgNCj4gPj4gPiBkYmI5YjMyMjNjYi4uNGRm OTljY2NhNTQgMTAwNjQ0DQo+ID4+ID4gLS0tIGEvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jDQo+ID4+ ID4gKysrIGIvZ2RiL2FtZDY0LWxpbnV4LW5hdC5jDQo+ID4+ID4gQEAgLTMyLDYgKzMyLDcgQEAN Cj4gPj4gPiAgI2luY2x1ZGUgImFtZDY0LXRkZXAuaCINCj4gPj4gPiAgI2luY2x1ZGUgImFtZDY0 LWxpbnV4LXRkZXAuaCINCj4gPj4gPiAgI2luY2x1ZGUgImkzODYtbGludXgtdGRlcC5oIg0KPiA+ PiA+ICsjaW5jbHVkZSAieDg2LXRkZXAuaCINCj4gPj4gPiAgI2luY2x1ZGUgImdkYnN1cHBvcnQv eDg2LXhzdGF0ZS5oIg0KPiA+PiA+DQo+ID4+ID4gICNpbmNsdWRlICJ4ODYtbGludXgtbmF0Lmgi DQo+ID4+ID4gQEAgLTIzNyw2ICsyMzgsMTQgQEAgYW1kNjRfbGludXhfbmF0X3RhcmdldDo6ZmV0 Y2hfcmVnaXN0ZXJzDQo+ID4+ID4gKHN0cnVjdCByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdu dW0pDQo+ID4+ID4NCj4gPj4gPiAgICAgICAgaWYgKGhhdmVfcHRyYWNlX2dldHJlZ3NldCA9PSBU UklCT09MX1RSVUUpDQo+ID4+ID4gIAl7DQo+ID4+ID4gKwkgIGlmICgocmVnbnVtID09IC0xICYm IHRkZXAtPnNzcF9yZWdudW0gPiAwKQ0KPiA+PiA+ICsJICAgICAgfHwgKHJlZ251bSAhPSAtMSAm JiByZWdudW0gPT0gdGRlcC0+c3NwX3JlZ251bSkpDQo+ID4+DQo+ID4+IEl0J3MgcmVhbGx5IG5p dC1waWNraW5nLCBidXQgSSBkb24ndCB0aGluayB0aGUgJz4nIGhlcmUgY2hlY2sgaXMNCj4gPj4g Y29ycmVjdC4gIFlvdSdyZSBjaGVja2luZyB0aGF0IHRkZXAtPnNzcF9yZWdudW0gaGFzIGJlZW4g YXNzaWduZWQgYQ0KPiA+PiB2YWx1ZSwgcmlnaHQ/ICBBbmQgaXQncyBkZWZhdWx0IHZhbHVlIGlz IC0xLCBzbywgc2hvdWxkbid0IHRoZSBjaGVjayByZWFsbHkgYmUNCj4gJz49IDAnIG9yICchPSAt MScgbWF5YmU/DQo+ID4+DQo+ID4+IFRoZSBzYW1lIHBhdHRlcm4gaXMgcmVwZWF0ZWQgYmVsb3cg aW4gOjpzdG9yZV9yZWdpc3RlcnMuDQo+ID4+DQo+ID4+IEFoaCwgcmVhZGluZyBmdXJ0aGVyIG9u LCBJIHNlZSB0aGF0IChub3QganVzdCB5b3UpLCBidXQgYWxsIHRoZQ0KPiA+PiAqX3JlZ251bSBm aWVsZHMgaW4gaTM4Nl9nZGJhcmNoX3RkZXAgc3RhcnQgc2V0IHRvIDAgKHdoaWNoIGlzIGEgdmFs aWQNCj4gPj4gcmVnaXN0ZXIgbnVtYmVyKSwgYnV0IGFyZSBzZXQgdG8gLTEgaWYgdGhlIGZlYXR1 cmUgaXMgbm90IGZvdW5kLg0KPiA+PiBNYXliZSBJJ20gbWlzc2luZyBzb21ldGhpbmcgaW5jcmVk aWJseSBjbGV2ZXIgYWJvdXQgdGhpcyAuLi4gYnV0IEkNCj4gPj4gc3VzcGVjdCB0aGlzIGNvZGUg aXMganVzdCBzaG93aW5nIGl0cyBhZ2UgYSBsaXR0bGUuICBJIHN0aWxsIHRoaW5rIHRoZSB2YWxp ZGl0eQ0KPiBjaGVjayBzaG91bGQgYmUgYWdhaW5zdCAtMS4NCj4gPg0KPiA+IFllcyBJIGFncmVl LCBpdCBzZWVtcyB0byBtZSB0aGF0IHRoZXJlIGlzIHNvbWV0aGluZyBpbmNvbnNpc3RlbnQgaW4g R0RCLg0KPiA+DQo+ID4gVGhlIGN1cnJlbnQgZGVmYXVsdCB2YWx1ZSBpcyAwLCB3ZSBzZXQgYWxs IHJlZ251bXMgdG8gMCBpbml0aWFsbHkgaW4NCj4gPiBnZGIvaTM4Ni10ZGVwLmggQW5kIHdlIHNl dCBpdCB0byAtMSB0byBpbmRpY2F0ZSB0aGUgYWJzZW5jZSBvZiB0aGF0IHNwZWNpZmljDQo+IHJl Z2lzdGVyLg0KPiA+DQo+ID4gQnV0IG9uIHRoZSBvdGhlciBoYW5kIHRoZSBlbnVtcyAoZW51bSBh bWQ2NF9yZWdudW0vZW51bQ0KPiBpMzg2X3JlZ251bSkNCj4gPiBkZWZpbmluZyB0aGUgcmVnaXN0 ZXIgbnVtYmVycyBzdGFydCBhdCAwLg0KPiA+DQo+ID4gU28gdGhhdCBzZWVtcyB0byBiZSBhIHNl cGFyYXRlIGlzc3VlIG9uZSBjb3VsZCBjb25zaWRlciB0byBmaXguDQo+ID4gTWF5YmUgdGhlIGRl ZmF1bHQgc2hvdWxkIGJlIHNpbXBseSAtMSwgaW5zdGVhZCBvZiAwID8NCj4gPg0KPiA+IEJ1dCBm b3IgbXkgc3BlY2lmaWMgcGF0Y2ggaGVyZSB0aGUgYmVzdCB3b3VsZCBiZSB0byBjb21wYXJlIGFn YWluc3QNCj4gYWdhaW5zdCAtMSwgSSBhZ3JlZSBhbmQgd2lsbCBmaXguDQo+ID4NCj4gPj4gPiAr CSAgICB7DQo+ID4+ID4gKwkgICAgICB4ODZfbGludXhfZmV0Y2hfc3NwIChyZWdjYWNoZSwgdGlk KTsNCj4gPj4gPiArCSAgICAgIGlmIChyZWdudW0gIT0gLTEpDQo+ID4+ID4gKwkJcmV0dXJuOw0K PiA+PiA+ICsJICAgIH0NCj4gPj4gPiArDQo+ID4+ID4gIAkgIC8qIFByZS00LjE0IGtlcm5lbHMg aGF2ZSBhIGJ1ZyAoZml4ZWQgYnkgY29tbWl0IDA4NTJiMzc0MTczYg0KPiA+PiA+ICAJICAgICAi eDg2L2ZwdTogQWRkIEZQVSBzdGF0ZSBjb3B5aW5nIHF1aXJrIHRvIGhhbmRsZSBYUlNUT1IgZmFp bHVyZQ0KPiBvbg0KPiA+PiA+ICAJICAgICBJbnRlbCBTa3lsYWtlIENQVXMiKSB0aGF0IHNvbWV0 aW1lcyBjYXVzZXMgdGhlIG14Y3NyDQo+ID4+ID4gbG9jYXRpb24gaW4gQEAgLTMwMiw2ICszMTEs MTQgQEANCj4gPj4gPiBhbWQ2NF9saW51eF9uYXRfdGFyZ2V0OjpzdG9yZV9yZWdpc3RlcnMgKHN0 cnVjdA0KPiA+PiByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByZWdudW0pDQo+ID4+ID4gICAgICAg IGlmIChoYXZlX3B0cmFjZV9nZXRyZWdzZXQgPT0gVFJJQk9PTF9UUlVFKQ0KPiA+PiA+ICAJew0K PiA+PiA+ICAJICBnZGI6OmJ5dGVfdmVjdG9yIHhzdGF0ZXJlZ3MgKHRkZXAtPnhzYXZlX2xheW91 dC5zaXplb2ZfeHNhdmUpOw0KPiA+PiA+ICsJICBpZiAoKHJlZ251bSA9PSAtMSAmJiB0ZGVwLT5z c3BfcmVnbnVtID4gMCkNCj4gPj4gPiArCSAgICAgIHx8IChyZWdudW0gIT0gLTEgJiYgcmVnbnVt ID09IHRkZXAtPnNzcF9yZWdudW0pKQ0KPiA+PiA+ICsJICAgIHsNCj4gPj4gPiArCSAgICAgIHg4 Nl9saW51eF9zdG9yZV9zc3AgKHJlZ2NhY2hlLCB0aWQpOw0KPiA+PiA+ICsJICAgICAgaWYgKHJl Z251bSAhPSAtMSkNCj4gPj4gPiArCQlyZXR1cm47DQo+ID4+ID4gKwkgICAgfQ0KPiA+PiA+ICsN Cj4gPj4gPiAgCSAgc3RydWN0IGlvdmVjIGlvdjsNCj4gPj4gPg0KPiA+PiA+ICAJICBpb3YuaW92 X2Jhc2UgPSB4c3RhdGVyZWdzLmRhdGEgKCk7DQo+ID4+DQo+ID4+DQo+ID4+ID4gZGlmZiAtLWdp dCBhL2dkYi9kb2MvZ2RiLnRleGluZm8gYi9nZGIvZG9jL2dkYi50ZXhpbmZvIGluZGV4DQo+ID4+ ID4gNGVmNjQwNjk4YmQuLjA4ODFhYzRhZWU1IDEwMDY0NA0KPiA+PiA+IC0tLSBhL2dkYi9kb2Mv Z2RiLnRleGluZm8NCj4gPj4gPiArKysgYi9nZGIvZG9jL2dkYi50ZXhpbmZvDQo+ID4+ID4gQEAg LTQ5OTU5LDYgKzQ5OTU5LDEwIEBAIFRoZSBAc2FtcHtvcmcuZ251LmdkYi5pMzg2LnBrZXlzfQ0K PiBmZWF0dXJlDQo+ID4+IGlzDQo+ID4+ID4gb3B0aW9uYWwuICBJdCBzaG91bGQgIGRlc2NyaWJl IGEgc2luZ2xlIHJlZ2lzdGVyLCBAc2FtcHtwa3J1fS4gIEl0DQo+ID4+ID4gaXMgYSAzMi1iaXQg cmVnaXN0ZXIgIHZhbGlkIGZvciBpMzg2IGFuZCBhbWQ2NC4NCj4gPj4gPg0KPiA+PiA+ICtUaGUg QHNhbXB7b3JnLmdudS5nZGIuaTM4Ni5wbDNfc3NwfSBmZWF0dXJlIGlzIG9wdGlvbmFsLiAgSXQN Cj4gPj4gPiArc2hvdWxkIGRlc2NyaWJlIHRoZSB1c2VyIG1vZGUgcmVnaXN0ZXIgQHNhbXB7cGwz X3NzcH0gd2hpY2ggaGFzIDY0DQo+ID4+ID4gK2JpdHMgb24gYW1kNjQuICBGb2xsb3dpbmcgdGhl IHJlc3RyaWN0aW9uIG9mIHRoZSBMaW51eCBrZXJuZWwsDQo+ID4+ID4gK29ubHkgYW1kNjQgaXMN Cj4gPj4gc3VwcG9ydGVkIGZvciBub3cuDQo+ID4+DQo+ID4+IFlvdSBtZW50aW9uIGEgY291cGxl IG9mIHRpbWVzIGluIHRoaXMgcGF0Y2ggdGhhdCB0aGUgc2hhZG93IHN0YWNrIGlzDQo+ID4+IG9u bHkgc3VwcG9ydGVkIChmb3Igbm93KSBvbiBhbWQ2NCAoJiB4MzIpLCBidXQgeW91IGhhdmUgYWRk ZWQgYW4gaTM4Ng0KPiA+PiB2ZXJzaW9uIG9mIHRoZSBvcmcuZ251LmdkYi5pMzg2LnBsM19zc3Ag ZmVhdHVyZSB3aXRoIGEgMzItYml0IHBsM19zc3ANCj4gcmVnaXN0ZXIuDQo+ID4NCj4gPiBXZSBu ZWVkIHRoZSAzMi1iaXQgcGwzX3NzcCByZWdpc3RlciBmb3IgeDMyLCBzaW5jZSBmb3IgeDMyIHRo ZSBzaGFkb3cNCj4gc3RhY2sgcG9pbnRlciBoYXMgMzIgYml0cyBvbmx5Lg0KPiA+DQo+ID4+IFRo aXMgZmVhdHVyZSBpcyAoYXMgZmFyIGFzIEkgY2FuIHRlbGwpIGluc3RhbnRpYXRlZCBmb3IgMzIt Yml0DQo+ID4+IHRhcmdldHMsIHdoaWNoIG1lYW5zIGdkYnNlcnZlciB3aWxsIHNlbmQgb3V0IHRh cmdldCBkZXNjcmlwdGlvbnMNCj4gY29udGFpbmluZyB0aGlzIGZlYXR1cmUuDQo+ID4+DQo+ID4+ IEkgdGhpbmsgZWl0aGVyIChhKSB5b3Ugc2hvdWxkIGRyb3AgdGhlIGkzODYgeG1sIGZpbGUgYW5k IGZlYXR1cmUsIG9yDQo+ID4+IChiKSBteSBwcmVmZXJyZWQgY2hvaWNlLCBkb2N1bWVudCB0aGUg aTM4NiB2ZXJzaW9uIGhlcmUuICBJdCdzIHN0aWxsDQo+ID4+IGZpbmUgdG8gc2F5IHRoYXQgdGhl IDMyLWJpdCAoaTM4NikgcmVnaXN0ZXIgaXMgaWdub3JlZCBieSBHREIgZm9yIG5vdw0KPiA+PiB0 aG91Z2guICBJIGhhZCBhIGdvIGF0IHJld29yZGluZyB0aGUgcGFyYWdyYXBoLCBidXQgSSdtIG5v dCAxMDAlIHN1cmUgaXRzDQo+IE9LIHlldDoNCj4gPj4NCj4gPj4gICBUaGUgQHNhbXB7b3JnLmdu dS5nZGIuaTM4Ni5wbDNfc3NwfSBmZWF0dXJlIGlzIG9wdGlvbmFsLiAgSXQgc2hvdWxkDQo+ID4+ ICAgZGVzY3JpYmUgdGhlIHVzZXIgbW9kZSByZWdpc3RlciBAc2FtcHtwbDNfc3NwfSB3aGljaCBo YXMgNjQgYml0cyBvbg0KPiA+PiAgIGFtZDY0IGFuZCAzMiBiaXRzIG9uIGkzODYuICBGb2xsb3dp bmcgdGhlIHJlc3RyaWN0aW9uIG9mIHRoZSBMaW51eA0KPiA+PiAgIGtlcm5lbCwgb25seSBHREIg Zm9yIGFtZDY0IHRhcmdldHMgbWFrZXMgdXNlIG9mIHRoaXMgZmVhdHVyZSBmb3Igbm93Lg0KPiA+ DQo+ID4gSSBtaXNzZWQgdG8gZGVzY3JpYmUgeDMyIGhlcmUsIGFjdHVhbGx5LiBTbyBJJ2Qgd3Jp dGUgaXQgYXMgZm9sbG93czoNCj4gPg0KPiA+IFRoZSBAc2FtcHtvcmcuZ251LmdkYi5pMzg2LnBs M19zc3B9IGZlYXR1cmUgaXMgb3B0aW9uYWwuICBJdCBzaG91bGQNCj4gPiBkZXNjcmliZSB0aGUg dXNlciBtb2RlIHJlZ2lzdGVyIEBzYW1we3BsM19zc3B9IHdoaWNoIGhhcyA2NCBiaXRzIG9uDQo+ ID4gYW1kNjQsIDMyIGJpdHMgb24gYW1kNjQgd2l0aCAgMzItYml0IHBvaW50ZXIgc2l6ZSAoWDMy KSBhbmQgMzIgYml0cyBvbg0KPiBpMzg2Lg0KPiA+IEZvbGxvd2luZyB0aGUgcmVzdHJpY3Rpb24g b2YgdGhlIExpbnV4IGtlcm5lbCwgb25seSBHREIgZm9yIGFtZDY0DQo+ID4gdGFyZ2V0cyBtYWtl cyB1c2Ugb2YgdGhpcyBmZWF0dXJlIGZvciBub3cuDQo+ID4NCj4gPiBXaGF0IGRvIHlvdSB0aGlu az8NCj4gDQo+IFNvdW5kcyBncmVhdC4NCj4gDQo+ID4NCj4gPj4NCj4gPj4gPiArDQo+ID4+ID4g IEBub2RlIExvb25nQXJjaCBGZWF0dXJlcw0KPiA+PiA+ICBAc3Vic2VjdGlvbiBMb29uZ0FyY2gg RmVhdHVyZXMNCj4gPj4gPiAgQGNpbmRleCB0YXJnZXQgZGVzY3JpcHRpb25zLCBMb29uZ0FyY2gg RmVhdHVyZXMgZGlmZiAtLWdpdA0KPiA+PiA+IGEvZ2RiL2ZlYXR1cmVzL01ha2VmaWxlIGIvZ2Ri L2ZlYXR1cmVzL01ha2VmaWxlIGluZGV4DQo+ID4+ID4gN2E4Yzc5OTk3MzMuLjJhZmRhMWNjZDAw IDEwMDY0NA0KPiA+PiA+IC0tLSBhL2dkYi9mZWF0dXJlcy9NYWtlZmlsZQ0KPiA+PiA+ICsrKyBi L2dkYi9mZWF0dXJlcy9NYWtlZmlsZQ0KPiA+PiA+IEBAIC0yMjUsNiArMjI1LDcgQEAgRkVBVFVS RV9YTUxGSUxFUyA9IGFhcmNoNjQtY29yZS54bWwgXA0KPiA+PiA+ICAJaTM4Ni8zMmJpdC1hdngu eG1sIFwNCj4gPj4gPiAgCWkzODYvMzJiaXQtYXZ4NTEyLnhtbCBcDQo+ID4+ID4gIAlpMzg2LzMy Yml0LXNlZ21lbnRzLnhtbCBcDQo+ID4+ID4gKwlpMzg2LzMyYml0LXNzcC54bWwgXA0KPiA+PiA+ ICAJaTM4Ni82NGJpdC1hdng1MTIueG1sIFwNCj4gPj4gPiAgCWkzODYvNjRiaXQtY29yZS54bWwg XA0KPiA+PiA+ICAJaTM4Ni82NGJpdC1zZWdtZW50cy54bWwgXA0KPiA+PiA+IEBAIC0yMzIsNiAr MjMzLDcgQEAgRkVBVFVSRV9YTUxGSUxFUyA9IGFhcmNoNjQtY29yZS54bWwgXA0KPiA+PiA+ICAJ aTM4Ni82NGJpdC1saW51eC54bWwgXA0KPiA+PiA+ICAJaTM4Ni82NGJpdC1zc2UueG1sIFwNCj4g Pj4gPiAgCWkzODYvcGtleXMueG1sIFwNCj4gPj4gPiArCWkzODYvNjRiaXQtc3NwLnhtbCBcDQo+ ID4+ID4gIAlpMzg2L3gzMi1jb3JlLnhtbCBcDQo+ID4+ID4gIAlsb29uZ2FyY2gvYmFzZTMyLnht bCBcDQo+ID4+ID4gIAlsb29uZ2FyY2gvYmFzZTY0LnhtbCBcDQo+ID4+ID4gZGlmZiAtLWdpdCBh L2dkYi9mZWF0dXJlcy9pMzg2LzMyYml0LXNzcC5jDQo+ID4+ID4gYi9nZGIvZmVhdHVyZXMvaTM4 Ni8zMmJpdC1zc3AuYyBuZXcgZmlsZSBtb2RlIDEwMDY0NCBpbmRleA0KPiA+PiA+IDAwMDAwMDAw MDAwLi45OTFiYWUzYzFlNg0KPiA+PiA+IC0tLSAvZGV2L251bGwNCj4gPj4gPiArKysgYi9nZGIv ZmVhdHVyZXMvaTM4Ni8zMmJpdC1zc3AuYw0KPiA+PiA+IEBAIC0wLDAgKzEsMTQgQEANCj4gPj4g PiArLyogVEhJUyBGSUxFIElTIEdFTkVSQVRFRC4gIC0qLSBidWZmZXItcmVhZC1vbmx5OiB0IC0q LSB2aTpzZXQgcm86DQo+ID4+ID4gKyAgT3JpZ2luYWw6IDMyYml0LXNzcC54bWwgKi8NCj4gPj4g PiArDQo+ID4+ID4gKyNpbmNsdWRlICJnZGJzdXBwb3J0L3RkZXNjLmgiDQo+ID4+ID4gKw0KPiA+ PiA+ICtzdGF0aWMgaW50DQo+ID4+ID4gK2NyZWF0ZV9mZWF0dXJlX2kzODZfMzJiaXRfc3NwIChz dHJ1Y3QgdGFyZ2V0X2Rlc2MgKnJlc3VsdCwgbG9uZw0KPiA+PiA+ICtyZWdudW0pIHsNCj4gPj4g PiArICBzdHJ1Y3QgdGRlc2NfZmVhdHVyZSAqZmVhdHVyZTsNCj4gPj4gPiArDQo+ID4+ID4gKyAg ZmVhdHVyZSA9IHRkZXNjX2NyZWF0ZV9mZWF0dXJlIChyZXN1bHQsDQo+ID4+ID4gKyJvcmcuZ251 LmdkYi5pMzg2LnBsM19zc3AiKTsNCj4gPj4gPiArICB0ZGVzY19jcmVhdGVfcmVnIChmZWF0dXJl LCAicGwzX3NzcCIsIHJlZ251bSsrLCAxLCBOVUxMLCAzMiwNCj4gPj4gPiArImRhdGFfcHRyIik7 DQo+ID4+ID4gKyAgcmV0dXJuIHJlZ251bTsNCj4gPj4gPiArfQ0KPiA+PiA+IGRpZmYgLS1naXQg YS9nZGIvZmVhdHVyZXMvaTM4Ni8zMmJpdC1zc3AueG1sDQo+ID4+ID4gYi9nZGIvZmVhdHVyZXMv aTM4Ni8zMmJpdC1zc3AueG1sIG5ldyBmaWxlIG1vZGUgMTAwNjQ0IGluZGV4DQo+ID4+ID4gMDAw MDAwMDAwMDAuLmQxN2U3MDA0ZWVjDQo+ID4+ID4gLS0tIC9kZXYvbnVsbA0KPiA+PiA+ICsrKyBi L2dkYi9mZWF0dXJlcy9pMzg2LzMyYml0LXNzcC54bWwNCj4gPj4gPiBAQCAtMCwwICsxLDExIEBA DQo+ID4+ID4gKzw/eG1sIHZlcnNpb249IjEuMCI/Pg0KPiA+PiA+ICs8IS0tIENvcHlyaWdodCAo QykgMjAyMi0yMDI0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLg0KPiA+PiA+ICsNCj4g Pj4gPiArICAgICBDb3B5aW5nIGFuZCBkaXN0cmlidXRpb24gb2YgdGhpcyBmaWxlLCB3aXRoIG9y IHdpdGhvdXQgbW9kaWZpY2F0aW9uLA0KPiA+PiA+ICsgICAgIGFyZSBwZXJtaXR0ZWQgaW4gYW55 IG1lZGl1bSB3aXRob3V0IHJveWFsdHkgcHJvdmlkZWQgdGhlDQo+IGNvcHlyaWdodA0KPiA+PiA+ ICsgICAgIG5vdGljZSBhbmQgdGhpcyBub3RpY2UgYXJlIHByZXNlcnZlZC4gIC0tPg0KPiA+PiA+ ICsNCj4gPj4gPiArPCFET0NUWVBFIGZlYXR1cmUgU1lTVEVNICJnZGItdGFyZ2V0LmR0ZCI+IDxm ZWF0dXJlDQo+ID4+ID4gK25hbWU9Im9yZy5nbnUuZ2RiLmkzODYucGwzX3NzcCI+DQo+ID4+ID4g KyAgPHJlZyBuYW1lPSJwbDNfc3NwIiBiaXRzaXplPSIzMiIgdHlwZT0iZGF0YV9wdHIiLz4gPC9m ZWF0dXJlPg0KPiA+PiA+IGRpZmYgLS1naXQgYS9nZGIvZmVhdHVyZXMvaTM4Ni82NGJpdC1zc3Au Yw0KPiA+PiA+IGIvZ2RiL2ZlYXR1cmVzL2kzODYvNjRiaXQtc3NwLmMgbmV3IGZpbGUgbW9kZSAx MDA2NDQgaW5kZXgNCj4gPj4gPiAwMDAwMDAwMDAwMC4uNTQ2ODA5OWRkZjYNCj4gPj4gPiAtLS0g L2Rldi9udWxsDQo+ID4+ID4gKysrIGIvZ2RiL2ZlYXR1cmVzL2kzODYvNjRiaXQtc3NwLmMNCj4g Pj4gPiBAQCAtMCwwICsxLDE0IEBADQo+ID4+ID4gKy8qIFRISVMgRklMRSBJUyBHRU5FUkFURUQu ICAtKi0gYnVmZmVyLXJlYWQtb25seTogdCAtKi0gdmk6c2V0IHJvOg0KPiA+PiA+ICsgIE9yaWdp bmFsOiA2NGJpdC1zc3AueG1sICovDQo+ID4+ID4gKw0KPiA+PiA+ICsjaW5jbHVkZSAiZ2Ric3Vw cG9ydC90ZGVzYy5oIg0KPiA+PiA+ICsNCj4gPj4gPiArc3RhdGljIGludA0KPiA+PiA+ICtjcmVh dGVfZmVhdHVyZV9pMzg2XzY0Yml0X3NzcCAoc3RydWN0IHRhcmdldF9kZXNjICpyZXN1bHQsIGxv bmcNCj4gPj4gPiArcmVnbnVtKSB7DQo+ID4+ID4gKyAgc3RydWN0IHRkZXNjX2ZlYXR1cmUgKmZl YXR1cmU7DQo+ID4+ID4gKw0KPiA+PiA+ICsgIGZlYXR1cmUgPSB0ZGVzY19jcmVhdGVfZmVhdHVy ZSAocmVzdWx0LA0KPiA+PiA+ICsib3JnLmdudS5nZGIuaTM4Ni5wbDNfc3NwIik7DQo+ID4+ID4g KyAgdGRlc2NfY3JlYXRlX3JlZyAoZmVhdHVyZSwgInBsM19zc3AiLCByZWdudW0rKywgMSwgTlVM TCwgNjQsDQo+ID4+ID4gKyJkYXRhX3B0ciIpOw0KPiA+PiA+ICsgIHJldHVybiByZWdudW07DQo+ ID4+ID4gK30NCj4gPj4gPiBkaWZmIC0tZ2l0IGEvZ2RiL2ZlYXR1cmVzL2kzODYvNjRiaXQtc3Nw LnhtbA0KPiA+PiA+IGIvZ2RiL2ZlYXR1cmVzL2kzODYvNjRiaXQtc3NwLnhtbCBuZXcgZmlsZSBt b2RlIDEwMDY0NCBpbmRleA0KPiA+PiA+IDAwMDAwMDAwMDAwLi5hMDY4OGQwMThhNQ0KPiA+PiA+ IC0tLSAvZGV2L251bGwNCj4gPj4gPiArKysgYi9nZGIvZmVhdHVyZXMvaTM4Ni82NGJpdC1zc3Au eG1sDQo+ID4+ID4gQEAgLTAsMCArMSwxMSBAQA0KPiA+PiA+ICs8P3htbCB2ZXJzaW9uPSIxLjAi Pz4NCj4gPj4gPiArPCEtLSBDb3B5cmlnaHQgKEMpIDIwMjItMjAyNCBGcmVlIFNvZnR3YXJlIEZv dW5kYXRpb24sIEluYy4NCj4gPj4gPiArDQo+ID4+ID4gKyAgICAgQ29weWluZyBhbmQgZGlzdHJp YnV0aW9uIG9mIHRoaXMgZmlsZSwgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwNCj4gPj4g PiArICAgICBhcmUgcGVybWl0dGVkIGluIGFueSBtZWRpdW0gd2l0aG91dCByb3lhbHR5IHByb3Zp ZGVkIHRoZQ0KPiBjb3B5cmlnaHQNCj4gPj4gPiArICAgICBub3RpY2UgYW5kIHRoaXMgbm90aWNl IGFyZSBwcmVzZXJ2ZWQuICAtLT4NCj4gPj4gPiArDQo+ID4+ID4gKzwhRE9DVFlQRSBmZWF0dXJl IFNZU1RFTSAiZ2RiLXRhcmdldC5kdGQiPiA8ZmVhdHVyZQ0KPiA+PiA+ICtuYW1lPSJvcmcuZ251 LmdkYi5pMzg2LnBsM19zc3AiPg0KPiA+PiA+ICsgIDxyZWcgbmFtZT0icGwzX3NzcCIgYml0c2l6 ZT0iNjQiIHR5cGU9ImRhdGFfcHRyIi8+IDwvZmVhdHVyZT4NCj4gPj4gPiBkaWZmIC0tZ2l0IGEv Z2RiL2kzODYtdGRlcC5jIGIvZ2RiL2kzODYtdGRlcC5jIGluZGV4DQo+ID4+ID4gOTBmZjBjNWM3 MDYuLjhlYjViNGZhYzg2IDEwMDY0NA0KPiA+PiA+IC0tLSBhL2dkYi9pMzg2LXRkZXAuYw0KPiA+ PiA+ICsrKyBiL2dkYi9pMzg2LXRkZXAuYw0KPiA+PiA+IEBAIC04NDAzLDcgKzg0MDMsOCBAQCBp Mzg2X3ZhbGlkYXRlX3RkZXNjX3AgKGkzODZfZ2RiYXJjaF90ZGVwDQo+ICp0ZGVwLA0KPiA+PiA+ ICAgIGNvbnN0IHN0cnVjdCB0ZGVzY19mZWF0dXJlICpmZWF0dXJlX2NvcmU7DQo+ID4+ID4NCj4g Pj4gPiAgICBjb25zdCBzdHJ1Y3QgdGRlc2NfZmVhdHVyZSAqZmVhdHVyZV9zc2UsICpmZWF0dXJl X2F2eCwNCj4gKmZlYXR1cmVfYXZ4NTEyLA0KPiA+PiA+IC0JCQkgICAgICpmZWF0dXJlX3BrZXlz LCAqZmVhdHVyZV9zZWdtZW50czsNCj4gPj4gPiArCQkJICAgICAqZmVhdHVyZV9wa2V5cywgKmZl YXR1cmVfc2VnbWVudHMsDQo+ID4+ID4gKwkJCSAgICAgKmZlYXR1cmVfcGwzX3NzcDsNCj4gPj4g PiAgICBpbnQgaSwgbnVtX3JlZ3MsIHZhbGlkX3A7DQo+ID4+ID4NCj4gPj4gPiAgICBpZiAoISB0 ZGVzY19oYXNfcmVnaXN0ZXJzICh0ZGVzYykpIEBAIC04NDI5LDYgKzg0MzAsOSBAQA0KPiA+PiA+ IGkzODZfdmFsaWRhdGVfdGRlc2NfcCAoaTM4Nl9nZGJhcmNoX3RkZXAgKnRkZXAsDQo+ID4+ID4g ICAgLyogVHJ5IFBLRVlTICAqLw0KPiA+PiA+ICAgIGZlYXR1cmVfcGtleXMgPSB0ZGVzY19maW5k X2ZlYXR1cmUgKHRkZXNjLA0KPiA+PiA+ICJvcmcuZ251LmdkYi5pMzg2LnBrZXlzIik7DQo+ID4+ ID4NCj4gPj4gPiArICAvKiBUcnkgU2hhZG93IFN0YWNrLiAgKi8NCj4gPj4gPiArICBmZWF0dXJl X3BsM19zc3AgPSB0ZGVzY19maW5kX2ZlYXR1cmUgKHRkZXNjLA0KPiA+PiA+ICsgIm9yZy5nbnUu Z2RiLmkzODYucGwzX3NzcCIpOw0KPiA+PiA+ICsNCj4gPj4gPiAgICB2YWxpZF9wID0gMTsNCj4g Pj4gPg0KPiA+PiA+ICAgIC8qIFRoZSBYQ1IwIGJpdHMuICAqLw0KPiA+PiA+IEBAIC04NTQ0LDYg Kzg1NDgsMTUgQEAgaTM4Nl92YWxpZGF0ZV90ZGVzY19wIChpMzg2X2dkYmFyY2hfdGRlcA0KPiA+ PiAqdGRlcCwNCj4gPj4gPiAgCQkJCQkgICAgdGRlcC0+cGtleXNfcmVnaXN0ZXJfbmFtZXNbaV0p Ow0KPiA+PiA+ICAgICAgfQ0KPiA+PiA+DQo+ID4+ID4gKyAgaWYgKGZlYXR1cmVfcGwzX3NzcCAh PSBudWxscHRyKQ0KPiA+PiA+ICsgICAgew0KPiA+PiA+ICsgICAgICBpZiAodGRlcC0+c3NwX3Jl Z251bSA8IDApDQo+ID4+ID4gKwl0ZGVwLT5zc3BfcmVnbnVtID0gSTM4Nl9QTDNfU1NQX1JFR05V TTsNCj4gPj4gPiArDQo+ID4+ID4gKyAgICAgIHZhbGlkX3AgJj0gdGRlc2NfbnVtYmVyZWRfcmVn aXN0ZXIgKGZlYXR1cmVfcGwzX3NzcCwgdGRlc2NfZGF0YSwNCj4gPj4gPiArCQkJCQkgIHRkZXAt PnNzcF9yZWdudW0sICJwbDNfc3NwIik7DQo+ID4+ID4gKyAgICB9DQo+ID4+ID4gKw0KPiA+PiA+ ICAgIHJldHVybiB2YWxpZF9wOw0KPiA+PiA+ICB9DQo+ID4+ID4NCj4gPj4gPiBAQCAtODgzNSw2 ICs4ODQ4LDkgQEAgaTM4Nl9nZGJhcmNoX2luaXQgKHN0cnVjdCBnZGJhcmNoX2luZm8gaW5mbywN Cj4gPj4gc3RydWN0IGdkYmFyY2hfbGlzdCAqYXJjaGVzKQ0KPiA+PiA+ICAgIC8qIE5vIHNlZ21l bnQgYmFzZSByZWdpc3RlcnMuICAqLw0KPiA+PiA+ICAgIHRkZXAtPmZzYmFzZV9yZWdudW0gPSAt MTsNCj4gPj4gPg0KPiA+PiA+ICsgIC8qIE5vIHNoYWRvdyBzdGFjayBwb2ludGVyIHJlZ2lzdGVy LiAgKi8gIHRkZXAtPnNzcF9yZWdudW0gPSAtMTsNCj4gPj4gPiArDQo+ID4+ID4gICAgdGRlc2Nf YXJjaF9kYXRhX3VwIHRkZXNjX2RhdGEgPSB0ZGVzY19kYXRhX2FsbG9jICgpOw0KPiA+PiA+DQo+ ID4+ID4gICAgc2V0X2dkYmFyY2hfcmVsb2NhdGVfaW5zdHJ1Y3Rpb24gKGdkYmFyY2gsDQo+ID4+ ID4gaTM4Nl9yZWxvY2F0ZV9pbnN0cnVjdGlvbik7IEBAIC04OTU1LDEzICs4OTcxLDE1IEBAIGNv bnN0IHN0cnVjdA0KPiA+PiA+IHRhcmdldF9kZXNjICogIGkzODZfdGFyZ2V0X2Rlc2NyaXB0aW9u ICh1aW50NjRfdCB4c3RhdGVfYnZfbWFzaywNCj4gPj4gPiBib29sDQo+ID4+ID4gc2VnbWVudHMp ICB7DQo+ID4+ID4gICAgc3RhdGljIHRhcmdldF9kZXNjICppMzg2X3RkZXNjcyBcDQo+ID4+ID4g LSAgICBbMi8qU1NFKi9dWzIvKkFWWCovXVsyLypBVlg1MTIqL11bMi8qUEtSVSovXVsyLypzZWdt ZW50cyovXSA9DQo+IHt9Ow0KPiA+PiA+ICsgICAgWzIvKlNTRSovXVsyLypBVlgqL11bMi8qQVZY NTEyKi9dWzIvKlBLUlUqL11bMi8qQ0VUX1UqL10gXA0KPiA+PiA+ICsgICAgWzIvKnNlZ21lbnRz Ki9dID0ge307DQo+ID4+ID4gICAgdGFyZ2V0X2Rlc2MgKip0ZGVzYzsNCj4gPj4gPg0KPiA+PiA+ ICAgIHRkZXNjID0gJmkzODZfdGRlc2NzWyh4c3RhdGVfYnZfbWFzayAmIFg4Nl9YU1RBVEVfU1NF KSA/IDEgOiAwXQ0KPiA+PiA+ICAgICAgWyh4c3RhdGVfYnZfbWFzayAmIFg4Nl9YU1RBVEVfQVZY KSA/IDEgOiAwXQ0KPiA+PiA+ICAgICAgWyh4c3RhdGVfYnZfbWFzayAmIFg4Nl9YU1RBVEVfQVZY NTEyKSA/IDEgOiAwXQ0KPiA+PiA+ICAgICAgWyh4c3RhdGVfYnZfbWFzayAmIFg4Nl9YU1RBVEVf UEtSVSkgPyAxIDogMF0NCj4gPj4gPiArICAgIFsoeHN0YXRlX2J2X21hc2sgJiBYODZfWFNUQVRF X0NFVF9VKSA/IDEgOiAwXQ0KPiA+PiA+ICAgICAgW3NlZ21lbnRzID8gMSA6IDBdOw0KPiA+PiA+ DQo+ID4+ID4gICAgaWYgKCp0ZGVzYyA9PSBOVUxMKQ0KPiA+PiA+IGRpZmYgLS1naXQgYS9nZGIv aTM4Ni10ZGVwLmggYi9nZGIvaTM4Ni10ZGVwLmggaW5kZXgNCj4gPj4gPiAyMzliYzg2NzRlOC4u NjBkNmYzZWI3MzIgMTAwNjQ0DQo+ID4+ID4gLS0tIGEvZ2RiL2kzODYtdGRlcC5oDQo+ID4+ID4g KysrIGIvZ2RiL2kzODYtdGRlcC5oDQo+ID4+ID4gQEAgLTE5MSw2ICsxOTEsOSBAQCBzdHJ1Y3Qg aTM4Nl9nZGJhcmNoX3RkZXAgOiBnZGJhcmNoX3RkZXBfYmFzZQ0KPiA+PiA+ICAgIC8qIFBLRVlT IHJlZ2lzdGVyIG5hbWVzLiAgKi8NCj4gPj4gPiAgICBjb25zdCBjaGFyICogY29uc3QgKnBrZXlz X3JlZ2lzdGVyX25hbWVzID0gbnVsbHB0cjsNCj4gPj4gPg0KPiA+PiA+ICsgIC8qIFNoYWRvdyBz dGFjayBwb2ludGVyIHJlZ2lzdGVyLiAgKi8gIGludCBzc3BfcmVnbnVtID0gMDsNCj4gPj4NCj4g Pj4gSSBrbm93IGFsbCB0aGUgb3RoZXIgKl9yZWdudW0gZmllbGRzIHN0YXJ0IGFzIDAsIGJ1dCBJ IHJlYWxseSBkb24ndA0KPiA+PiB1bmRlcnN0YW5kIHdoeS4gIFN1cmVseSBzdGFydGluZyBhcyAt MSB3b3VsZCBtYWtlIG1vcmUgc2Vuc2U/ICBUaGlzDQo+ID4+IGlzbid0IGEgaGFyZCByZXF1aXJl bWVudCwgYnV0IG1heWJlIHlvdSBzZWUgc29tZSByZWFzb24gd2h5IHRoZXNlDQo+ID4+IGZpZWxk cyBzaG91bGQgc3RhcnQgYXQgMCB0aGF0IEknbSBtaXNzaW5nPw0KPiA+DQo+ID4gSSBhZ3JlZS4g QXMgc3RhdGVkIGJlZm9yZSBzZXR0aW5nIHRoZSByZWdudW1zIHRvIC0xIGhlcmUgYnkgZGVmYXVs dA0KPiA+IHdvdWxkIG1ha2UgbW9yZSBzZW5zZSB0byBtZS4gU28gSSB0aGluayBJIHNob3VsZCBz ZXQgc3NwX3JlZ251bSBoZXJlIHRvDQo+IC0xLg0KPiA+IEknZCBkbyB0aGF0LCB1bmxlc3MgSSBz ZWUgc29tZSBpc3N1ZXMgd2l0aCB0aGF0IHdoZW4gdGVzdGluZyBvZiBjb3Vyc2UuDQo+ID4NCj4g PiBUaGUgb3RoZXIgcmVnaXN0ZXJzIHNldCB0byAwIGhlcmUgY291bGQgYmUgZml4ZWQgc2VwYXJh dGVseS4NCj4gPg0KPiA+IERvZXMgdGhhdCBzb3VuZCByZWFzb25hYmxlPw0KPiANCj4gWWVzIGFi c29sdXRlbHksIEkgY2VydGFpbmx5IGRvbid0IHdhbnQgeW91IHRvIGNoYW5nZSB1bnJlbGF0ZWQg Y29kZSBhcyBwYXJ0DQo+IG9mIHRoaXMgd29yaywgYnV0IHdlIG1pZ2h0IGFzIHdlbGwgaW1wcm92 ZSBuZXcgY29kZSBhcyBpdHMgYWRkZWQuDQo+IFlvdXIgcHJvcG9zYWwgc291bmRzIHBlcmZlY3Qg dG8gbWUuDQoNClRoZSBwYXRjaCB3YXMgcHJldHR5IHN0cmFpZ2h0LWZvcndhcmQuIPCfmIoNClRo YW5rcyBmb3IgcHJvdmlkaW5nIHRoZSBmZWVkYmFjayBoZXJlLCBJIHRoaW5rIHRoaXMgbWFrZXMg dGhlIGNvZGUgbXVjaCBiZXR0ZXIuDQoNCj4gPg0KPiA+PiA+ICsNCj4gPj4gPiAgICAvKiBSZWdp c3RlciBudW1iZXIgZm9yICVmc2Jhc2UuICBTZXQgdGhpcyB0byAtMSB0byBpbmRpY2F0ZSB0aGUN Cj4gPj4gPiAgICAgICBhYnNlbmNlIG9mIHNlZ21lbnQgYmFzZSByZWdpc3RlcnMuICAqLw0KPiA+ PiA+ICAgIGludCBmc2Jhc2VfcmVnbnVtID0gMDsNCj4gPj4gPiBAQCAtMjkzLDYgKzI5Niw3IEBA IGVudW0gaTM4Nl9yZWdudW0NCj4gPj4gPiAgICBJMzg2X1pNTTBIX1JFR05VTSwJCS8qICV6bW0w aCAqLw0KPiA+PiA+ICAgIEkzODZfWk1NN0hfUkVHTlVNID0gSTM4Nl9aTU0wSF9SRUdOVU0gKyA3 LA0KPiA+PiA+ICAgIEkzODZfUEtSVV9SRUdOVU0sDQo+ID4+ID4gKyAgSTM4Nl9QTDNfU1NQX1JF R05VTSwNCj4gPj4gPiAgICBJMzg2X0ZTQkFTRV9SRUdOVU0sDQo+ID4+ID4gICAgSTM4Nl9HU0JB U0VfUkVHTlVNDQo+ID4+ID4gIH07DQo+ID4+DQo+ID4+DQo+ID4+ID4gZGlmZiAtLWdpdCBhL2dk Yi90ZXN0c3VpdGUvZ2RiLmFyY2gvYW1kNjQtc3NwLmV4cA0KPiA+PiA+IGIvZ2RiL3Rlc3RzdWl0 ZS9nZGIuYXJjaC9hbWQ2NC1zc3AuZXhwDQo+ID4+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g Pj4gPiBpbmRleCAwMDAwMDAwMDAwMC4uNmRkYzg3NWI5YTMNCj4gPj4gPiAtLS0gL2Rldi9udWxs DQo+ID4+ID4gKysrIGIvZ2RiL3Rlc3RzdWl0ZS9nZGIuYXJjaC9hbWQ2NC1zc3AuZXhwDQo+ID4+ ID4gQEAgLTAsMCArMSw1MCBAQA0KPiA+PiA+ICsjIENvcHlyaWdodCAyMDE4LTIwMjQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuDQo+ID4+ID4gKw0KPiA+PiA+ICsjIFRoaXMgcHJvZ3Jh bSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3INCj4gPj4g PiArbW9kaWZ5ICMgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcw0KPiA+PiA+ICtwdWJsaXNoZWQgYnkgIyB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uOyBlaXRoZXIgdmVyc2lvbiAzIG9mDQo+ID4+ID4gK3RoZSBMaWNlbnNlLCBvciAjIChh dCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uDQo+ID4+ID4gKyMNCj4gPj4gPiArIyBU aGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz ZWZ1bCwNCj4gPj4gPiArIyBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0 aGUgaW1wbGllZCB3YXJyYW50eQ0KPiBvZiAjDQo+ID4+ID4gK01FUkNIQU5UQUJJTElUWSBvciBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgIw0KPiA+PiBHTlUNCj4g Pj4gPiArR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLg0KPiA+PiA+ICsj DQo+ID4+ID4gKyMgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIEdl bmVyYWwgUHVibGljDQo+ID4+ID4gK0xpY2Vuc2UgIyBhbG9uZyB3aXRoIHRoaXMgcHJvZ3JhbS4g IElmIG5vdCwgc2VlDQo+IDxodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvPi4NCj4gPj4gPiAr DQo+ID4+ID4gKyMgVGVzdCBhY2Nlc3NpbmcgdGhlIHNoYWRvdyBzdGFjayBwb2ludGVyIHJlZ2lz dGVyLg0KPiA+PiA+ICsNCj4gPj4gPiArcmVxdWlyZSBhbGxvd19zc3BfdGVzdHMNCj4gPj4gPiAr DQo+ID4+ID4gK3N0YW5kYXJkX3Rlc3RmaWxlIGFtZDY0LXNoYWRvdy1zdGFjay5jDQo+ID4+DQo+ ID4+IFRlc3Qgc291cmNlIGZpbGVzIHNob3VsZCBiZSBuYW1lZCB0byBtYXRjaCB0aGUgLmV4cCBm aWxlLiAgQnV0IGluDQo+ID4+IHRoaXMgY2FzZSAnYW1kNjQtc2hhZG93LXN0YWNrJyBzZWVtcyBi ZXR0ZXIgdGhhbiAnYW1kNjQtc3NwJywgc28gSSdkDQo+ID4+IHJlbmFtZWQgdGhlIC5leHAgZmls ZSB0byBhbWQ2NC1zaGFkb3ctc3RhY2suZXhwLCB0aGVuIHRoaXMgbGluZSBjYW4gYmUNCj4ganVz dDoNCj4gPj4NCj4gPj4gICBzdGFuZGFyZF90ZXN0ZmlsZQ0KPiA+DQo+ID4gWWVzLCBJIGFncmVl IGFuZCB3aWxsIGZpeC4NCj4gPg0KPiA+PiA+ICsNCj4gPj4gPiArc2F2ZV92YXJzIHsgOjplbnYo R0xJQkNfVFVOQUJMRVMpIH0gew0KPiA+PiA+ICsNCj4gPj4gPiArICAgIGFwcGVuZF9lbnZpcm9u bWVudCBHTElCQ19UVU5BQkxFUyAiZ2xpYmMuY3B1Lmh3Y2FwcyIgIlNIU1RLIg0KPiA+PiA+ICsN Cj4gPj4gPiArICAgIGlmIHsgW3ByZXBhcmVfZm9yX3Rlc3RpbmcgImZhaWxlZCB0byBwcmVwYXJl IiAke3Rlc3RmaWxlfSAke3NyY2ZpbGV9IFwNCj4gPj4gPiArCSAgYWRkaXRpb25hbF9mbGFncz0i LWZjZi1wcm90ZWN0aW9uPXJldHVybiJdIH0gew0KPiA+PiA+ICsJcmV0dXJuIC0xDQo+ID4+ID4g KyAgICB9DQo+ID4+ID4gKw0KPiA+PiA+ICsgICAgaWYgeyFbcnVudG9fbWFpbl19IHsNCj4gPj4g PiArCXJldHVybiAtMQ0KPiA+PiA+ICsgICAgfQ0KPiA+Pg0KPiA+PiBUaGUgJ3JldHVybiAtMScg Y2FuIGJlY29tZSBqdXN0ICdyZXR1cm4nLiAgVGhlIHJldHVybiB2YWx1ZSBkb2Vzbid0DQo+ID4+ IG1lYW4gYW55dGhpbmcuDQo+ID4NCj4gPiBUcnVlIHdpbGwgZml4IChhbHNvIGluIGZvbGxvd2lu ZyBwYXRjaGVzLCB0aGF0IGhhdmUgdGhlIHNhbWUgZm9yIHRoZSB0ZXN0DQo+IGZpbGVzKS4NCj4g Pg0KPiA+PiA+ICsNCj4gPj4gPiArICAgICMgUmVhZCBQTDNfU1NQIHJlZ2lzdGVyLg0KPiA+PiA+ ICsgICAgc2V0IHNzcF9tYWluIFtnZXRfaGV4YWRlY2ltYWxfdmFsdWVvZiAiXCRwbDNfc3NwIiAi cmVhZA0KPiA+PiA+ICsgcGwzX3NzcCB2YWx1ZSJdDQo+ID4+ID4gKw0KPiA+PiA+ICsgICAgIyBX cml0ZSBQTDNfU1NQIHJlZ2lzdGVyLg0KPiA+PiA+ICsgICAgZ2RiX3Rlc3QgInByaW50IC94IFwk cGwzX3NzcCA9IDB4MTIzNDU2NzgiICI9IDB4MTIzNDU2NzgiICJzZXQNCj4gPj4gPiArIHBsM19z c3ANCj4gPj4gdmFsdWUiDQo+ID4+ID4gKyAgICBnZGJfdGVzdCAicHJpbnQgL3ggXCRwbDNfc3Nw IiAiPSAweDEyMzQ1Njc4IiAicmVhZCBwbDNfc3NwDQo+ID4+ID4gKyB2YWx1ZSBhZnRlcg0KPiA+ PiBzZXR0aW5nIg0KPiA+PiA+ICsNCj4gPj4gPiArICAgICMgUmVzdG9yZSBvcmlnaW5hbCB2YWx1 ZS4NCj4gPj4gPiArICAgIGdkYl90ZXN0ICJwcmludCAveCBcJHBsM19zc3AgPSAkc3NwX21haW4i ICI9ICRzc3BfbWFpbiINCj4gPj4gPiArICJyZXN0b3JlDQo+ID4+IG9yaWdpbmFsIHBsM19zc3Ai DQo+ID4+ID4gKw0KPiA+PiA+ICsgICAgIyBQb3RlbnRpYWwgQ0VUIHZpb2xhdGlvbnMgb2Z0ZW4g b25seSBvY2N1ciBhZnRlciByZXN1bWluZw0KPiA+PiA+ICsgbm9ybWFsDQo+ID4+IGV4ZWN1dGlv bi4NCj4gPj4gPiArICAgICMgVGhlcmVmb3JlLCBpdCBpcyBpbXBvcnRhbnQgdG8gdGVzdCBub3Jt YWwgcHJvZ3JhbSBjb250aW51YXRpb24NCj4gYWZ0ZXINCj4gPj4gPiArICAgICMgY29uZmlndXJp bmcgdGhlIHNoYWRvdyBzdGFjayBwb2ludGVyLg0KPiA+PiA+ICsgICAgZ2RiX2NvbnRpbnVlX3Rv X2VuZA0KPiA+Pg0KPiA+PiBJIGFzc3VtZSB0aGF0IGlmIHdlIGNvbnRpbnVlIHdpdGggdGhlIGJv Z3VzIHZhbHVlIGluIHBsYWNlIHRoZQ0KPiA+PiBpbmZlcmlvciB3b3VsZCBlaXRoZXIgZ2l2ZSBh biBlcnJvciBvciB0ZXJtaW5hdGUuICBJcyBpdCB3b3J0aCB0cnlpbmcNCj4gPj4gdGhpcyBhbmQg Y2hlY2tpbmcgdGhhdCB0aGUgaW5mZXJpb3IgYmVoYXZlcyBhcyBleHBlY3RlZD8NCj4gPg0KPiA+ IElmIHdlIGRvbid0IHJlc2V0IHRoZSBzaGFkb3cgc3RhY2sgcG9pbnRlciB0byBpdCdzIG9yaWdp bmFsIHZhbHVlIHdlIHdpbGwgc2VlDQo+IGEgU0VHVi4NCj4gPiBEZXBlbmRlbnQgb24gdGhlIGFk ZHJlc3Mgb2YgdGhlIHdyb25nIHNoYWRvdyBzdGFjayBwb2ludGVyIGl0J3MgZWl0aGVyDQo+ID4g YSBTRUdWIHdpdGggc2kgY29kZSB0aGF0IHBvaW50cyB0byBhIGNvbnRyb2wgZmxvdyBwcm90ZWN0 aW9uIGZhdWx0IG9yIGENCj4gZGlmZmVyZW50IHNpIGNvZGUuDQo+ID4NCj4gPiBTbyBpZiBJIHN0 YXkgaW4gYSB2YWxpZCBhZGRyZXNzIHJhbmdlIGZvciBjb25maWd1cmluZyBwbDNfc3NwIGJ1dA0K PiA+IGRvbid0IHJlc3RvcmUgdGhlIG9yaWdpbmFsIHZhbHVlIEknbGwgc2VlIGEgY29udHJvbCBm bG93IHByb3RlY3Rpb24gZXhjZXB0aW9uOg0KPiA+DQo+ID4gWy4uLl0NCj4gPiBicmVha3BvaW50 IDEsIDB4MDAwMDU1NTU1NTU1NTE0OCBpbiBtYWluICgpXk0NCj4gPiAoZ2RiKSBwcmludCAveCAk cGwzX3NzcF5NDQo+ID4gJDEgPSAweDdmZmZmN2JmZmZlOF5NDQo+ID4gKGdkYikgUEFTUzogZ2Ri LmFyY2gvYW1kNjQtc3NwLmV4cDogZ2V0IGhleGFkZWNpbWFsIHZhbHVlb2YgIiRwbDNfc3NwIg0K PiA+IHByaW50IC94ICRwbDNfc3NwID0gMHg3ZmZmZjdiZmZmZTBeTQ0KPiA+ICQyID0gMHg3ZmZm ZjdiZmZmZTBeTQ0KPiA+IChnZGIpIFBBU1M6IGdkYi5hcmNoL2FtZDY0LXNzcC5leHA6IHNldCBw bDNfc3NwIHZhbHVlIHByaW50IC94DQo+ID4gJHBsM19zc3BeTQ0KPiA+ICQzID0gMHg3ZmZmZjdi ZmZmZTBeTQ0KPiA+IChnZGIpIFBBU1M6IGdkYi5hcmNoL2FtZDY0LXNzcC5leHA6IHJlYWQgcGwz X3NzcCB2YWx1ZSBhZnRlciBzZXR0aW5nDQo+ID4gY29udGludWVeTSBDb250aW51aW5nLl5NIF5N IFByb2dyYW0gcmVjZWl2ZWQgc2lnbmFsIFNJR1NFR1YsDQo+ID4gU2VnbWVudGF0aW9uIGZhdWx0 Ll5NDQo+ID4gMHgwMDAwNTU1NTU1NTU1MTU4IGluIG1haW4gKCleTQ0KPiA+IChnZGIpIEZBSUw6 IGdkYi5hcmNoL2FtZDY0LXNzcC5leHA6IGNvbnRpbnVlIHVudGlsIGV4aXQNCj4gPg0KPiA+IFNp Z2luZm8gc2hvd3Mgc2lfY29kZSA9IDEwLCB3aGljaCBpbmRpY2F0ZXMgYSBjb250cm9sIHByb3Rl Y3Rpb24gZmF1bHQuDQo+ID4NCj4gPiBwICRfc2lnaW5mb15NDQo+ID4gJDQgPSB7c2lfc2lnbm8g PSAxMSwgc2lfZXJybm8gPSAwLCBzaV9jb2RlID0gMTAsIFsuLi5dDQo+ID4NCj4gPiBJZiBJIHNl dCB0aGUgdmFsdWUgb2YgcGwzX3NzcCBhcyBpbiB0aGUgY3VycmVudCB0ZXN0ICgweDEyMzQ1Njc4 KSBJJ2xsDQo+ID4gc2VlIGEgZGlmZmVyZW50IFNFR1YgYWN0dWFsbHkNCj4gPg0KPiA+IHAgJF9z aWdpbmZvDQo+ID4gJDQgPSB7c2lfc2lnbm8gPSAxMSwgc2lfZXJybm8gPSAwLCBzaV9jb2RlID0g MSwgWy4uLl0NCj4gPg0KPiA+Pg0KPiA+PiBXaGF0IGlmLCBzYXksIHRoZSAkcGwzX3NzcCB2YWx1 ZSBvbmx5IGV2ZXIgbWFkZSBpdCBhcyBmYXIgYXMgdGhlDQo+ID4+IHJlZ2lzdGVyIGNhY2hlLCBh bmQgd2FzIG5ldmVyIGFjdHVhbGx5IHdyaXR0ZW4gYmFjayB0byB0aGUgaW5mZXJpb3I/DQo+ID4+ IEkgZG9uJ3QgdGhpbmsgdGhlIGFib3ZlIHRlc3Qgd291bGQgYWN0dWFsbHkgc3BvdCB0aGlzIGJ1 ZywgcmlnaHQ/DQo+ID4NCj4gPiBIbSwgaWYgSSB1bmRlcnN0YW5kIHlvdSBjb3JyZWN0bHkgaGVy ZSBhbmQgeW91IG1lYW4gdGhlIHNjZW5hcmlvIGFzDQo+ID4gc2hvd24gYWJvdmUgdGhlIGFib3Zl IHRlc3Qgd291bGQgc3BvdCB0aGlzIGJ1ZyBJIHRoaW5rIChhcyB3ZSBzYXcgYSBmYWlsKS4NCj4g Pg0KPiA+IERvZXMgbXkgZXhhbXBsZSBhYm92ZSBzaG93IHdoYXQgeW91IGRlc2NyaWJlZCBvciBk byB5b3UgbWVhbiBhDQo+ID4gZGlmZmVyZW50IHNjZW5hcmlvPw0KPiANCj4gWWVzLCBzb21ldGhp bmcgbGlrZSB0aGUgYWJvdmUgd291bGQgY2hlY2sgdGhhdCB0aGUgcmVnaXN0ZXIgaXMgYWN0dWFs bHkgYmVpbmcNCj4gd3JpdHRlbiBiYWNrIHRvIHRoZSBoYXJkd2FyZSwgYW5kIGlzIHdyaXR0ZW4g dG8gdGhlIGV4cGVjdGVkIGxvY2F0aW9uLg0KPiANCj4gVGhlIGN1cnJlbnQgdGVzdCwgYXMgd3Jp dHRlbiBpbiB0aGUgcGF0Y2gsIHdyaXRlcyBhIGJhZCB2YWx1ZSB0byB0aGUgc2hhZG93DQo+IHN0 YWNrLCB0aGVuIHJlc3RvcmVzIHRoZSBjb3JyZWN0IHZhbHVlLiAgV2hhdCBpZiB0aGUgYmFkIHZh bHVlIG5ldmVyIGFjdHVhbGx5DQo+IGdvdCB3cml0dGVuIGJhY2sgdG8gdGhlIGhhcmR3YXJlIGF0 IGFsbCwgYW5kIHdhcyBqdXN0IGJlaW5nIGhlbGQgaW4gdGhlDQo+IHJlZ2lzdGVyIGNhY2hlPw0K PiANCj4gSGF2aW5nIGEgdGVzdCB0aGF0IHdyaXRlcyBhIGJhZCB2YWx1ZSwgdGhlbiBkb2VzICdj b250aW51ZScsIGFuZCBleHBlY3RzIHRvDQo+IHNlZSBzb21ldGhpbmcgbGlrZSAnUHJvZ3JhbSBy ZWNlaXZlZCBzaWduYWwgLi4uJyB3b3VsZCBiZSBhIHJlYXNvbmFibGUNCj4gaW5kaWNhdGlvbiB0 aGF0IHRoZSB3cml0ZSB0byB0aGUgc2hhZG93IHN0YWNrIGFjdHVhbGx5IG1hZGUgaXQgdG8gdGhl IGgvdy4NCj4gDQo+IFRoYW5rcywNCj4gQW5kcmV3DQoNCg0KWWVzLCBJIGFncmVlLCBJJ2xsIGFk ZDoNCg0Kfn5+DQogICAgd2l0aF90ZXN0X3ByZWZpeCAiaW52YWxpZCBzc3AiIHsNCgl3cml0ZV9p bnZhbGlkX3NzcA0KDQoJIyBDb250aW51ZSB1bnRpbCBTSUdTRVYgdG8gdGVzdCB0aGF0IHRoZSB2 YWx1ZSBpcyB3cml0dGVuIGJhY2sgdG8gSFcuDQoJZ2RiX3Rlc3QgImNvbnRpbnVlIiBcDQoJICAg IFttdWx0aV9saW5lIFwNCgkJIkNvbnRpbnVpbmdcXC4iIFwNCgkJIiIgXA0KCQkiUHJvZ3JhbSBy ZWNlaXZlZCBzaWduYWwgU0lHU0VHViwgU2VnbWVudGF0aW9uIGZhdWx0XFwuIiBcDQoJCSIkaGV4 IGluIG1haW4gXFwoXFwpIl0gXA0KCSAgICAiY29udGludWUgdG8gU0lHU0VHViINCiAgICB9DQoN CiAgICBjbGVhbl9yZXN0YXJ0ICR7YmluZmlsZX0NCiAgICBpZiB7ICFbcnVudG9fbWFpbl0gfSB7 DQoJcmV0dXJuIC0xDQogICAgfQ0KDQogICAgd2l0aF90ZXN0X3ByZWZpeCAicmVzdG9yZSBvcmln aW5hbCBzc3AiIHsNCgkjIFJlYWQgUEwzX1NTUCByZWdpc3Rlci4NCglzZXQgc3NwX21haW4gW2dl dF9oZXhhZGVjaW1hbF92YWx1ZW9mICJcJHBsM19zc3AiICJyZWFkIHBsM19zc3AgdmFsdWUiXQ0K DQoJd3JpdGVfaW52YWxpZF9zc3ANCg0KCSMgUmVzdG9yZSBvcmlnaW5hbCB2YWx1ZS4NCglnZGJf dGVzdCAicHJpbnQgL3ggXCRwbDNfc3NwID0gJHNzcF9tYWluIiAiPSAkc3NwX21haW4iICJyZXN0 b3JlIG9yaWdpbmFsIHZhbHVlIg0KDQoJIyBOb3cgd2Ugc2hvdWxkIG5vdCBzZWUgYSBTSUdTRVYs IHNpbmNlIHRoZSBvcmlnaW5hbCB2YWx1ZSBpcyByZXN0b3JlZC4NCglnZGJfY29udGludWVfdG9f ZW5kDQogICAgfQ0KDQp+fn4NCg0KUmVnYXJkcywNCkNocmlzdGluYQ0KSW50ZWwgRGV1dHNjaGxh bmQgR21iSA0KUmVnaXN0ZXJlZCBBZGRyZXNzOiBBbSBDYW1wZW9uIDEwLCA4NTU3OSBOZXViaWJl cmcsIEdlcm1hbnkNClRlbDogKzQ5IDg5IDk5IDg4NTMtMCwgd3d3LmludGVsLmRlDQpNYW5hZ2lu ZyBEaXJlY3RvcnM6IFNlYW4gRmVubmVsbHksIEplZmZyZXkgU2NobmVpZGVybWFuLCBUaWZmYW55 IERvb24gU2lsdmENCkNoYWlycGVyc29uIG9mIHRoZSBTdXBlcnZpc29yeSBCb2FyZDogTmljb2xl IExhdQ0KUmVnaXN0ZXJlZCBPZmZpY2U6IE11bmljaA0KQ29tbWVyY2lhbCBSZWdpc3RlcjogQW10 c2dlcmljaHQgTXVlbmNoZW4gSFJCIDE4NjkyOAo=