From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from simark.ca by simark.ca with LMTP id Ln4zKKCVomo8lDwAWB0awg (envelope-from ) for ; Thu, 10 Sep 2026 07:33: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=i/+bytOk; dkim-atps=neutral Received: by simark.ca (Postfix, from userid 112) id 92DC61E091; Thu, 10 Sep 2026 07:33: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=-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 4A1C91E091 for ; Thu, 10 Sep 2026 07:33:50 -0400 (EDT) Received: from vm01.sourceware.org (localhost [IPv6:::1]) by sourceware.org (Postfix) with ESMTP id B4D0D4BB3BE7 for ; Thu, 10 Sep 2026 11:33:48 +0000 (GMT) DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org B4D0D4BB3BE7 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=i/+bytOk Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.17]) by sourceware.org (Postfix) with ESMTPS id 288E94BB58BD for ; Thu, 10 Sep 2026 11:33:20 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.2 sourceware.org 288E94BB58BD 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 288E94BB58BD Authentication-Results: sourceware.org; arc=fail smtp.remote-ip=198.175.65.17 ARC-Seal: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1789040000; cv=fail; b=nxCCAnLw5V6BTIk1fA8rzXyS8aEE/itW9iKQ0gHGaMfyV03rA+/DzEG0iPyxeYvZjSqLWiz71ctKYyjrcro5Zx7ekMlfUmfzsxUFHEXAY3bxZAUz/G3XU7QPMPDXLH/Ntovf8gTjHIkNRQ8ZPmAWg4jP/WDPFBw3nv6pdjqGTOE= ARC-Message-Signature: i=2; a=rsa-sha256; d=sourceware.org; s=key; t=1789040000; c=relaxed/simple; bh=twxnDmgagrimiZamwqfwdS9PcV2tOKo3GWD8ErZul58=; h=DKIM-Signature:From:To:Subject:Date:Message-ID:MIME-Version; b=ST/OhdPBHb9mXhnidQ6mQDjC8bJoBqXf1ZesQDfAoAzCc1ZaRynmG3ZtKEzGviFZsECfaUS9r8XloIscC0N9r4VbVSGw/Yvq1qSXXH/ucI81Up6kxHeIEz5CXD/Qx+FxH4JfGQFsKwVaI+YLxJAuLkf7PUFg0tl+vnfMBIVpDNU= 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=i/+bytOk DKIM-Filter: OpenDKIM Filter v2.11.0 sourceware.org 288E94BB58BD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1789040001; x=1820576001; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version:content-transfer-encoding; bh=twxnDmgagrimiZamwqfwdS9PcV2tOKo3GWD8ErZul58=; b=i/+bytOkmgUoAFwUAO0as5Pv2qRA+bmEajBbuLJni/e7C1nd9BnX2nHM XofkZ6aSVbfecyy3hRFHubEDVdtq9c2+aPOnZgdjvjBxrrGlr9tOcVQJx 617VShLi3emzcPi8i6dBldw+oQPOgh45pxVuPelDRqo8xISDUFI6Amb4h xNdDNrTB5IjnIpKFQFxxwdf1JrIzlfcGDbaxJ6UTMzZICI1voRPhKOhd+ Cl75WCOnPHPV9nl53jOsY9N7pahEdx5G/V1769SRVglssaHApX4rFvceN fJKEPCMVQKLYwgqSRAnIKOAVFQJA6V3NV4vuW8kPcyATT8MHk2Ci0d8d3 g==; X-CSE-ConnectionGUID: JDviQ/b7QKS3o7cudzA9Mg== X-CSE-MsgGUID: 9AB8YJx5SjiLofLNb7indw== X-IronPort-AV: E=McAfee;i="6800,10657,11900"; a="89518971" X-IronPort-AV: E=Sophos;i="6.27,95,1787036400"; d="scan'208";a="89518971" Received: from orviesa010.jf.intel.com ([10.64.159.150]) by orvoesa109.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Sep 2026 04:33:18 -0700 X-CSE-ConnectionGUID: nJa0gYTfSLmO8SDvb1UMLA== X-CSE-MsgGUID: QlR6NQefQhCX2tCbvGgUEw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.27,95,1787036400"; d="scan'208";a="270256619" Received: from fmsmsx903.amr.corp.intel.com ([10.18.126.92]) by orviesa010.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 10 Sep 2026 04:33:18 -0700 Received: from FMSMSX901.amr.corp.intel.com (10.18.126.90) by fmsmsx903.amr.corp.intel.com (10.18.126.92) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.2562.46; Thu, 10 Sep 2026 04:33:16 -0700 Received: from fmsedg903.ED.cps.intel.com (10.1.192.145) 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.2562.46 via Frontend Transport; Thu, 10 Sep 2026 04:33:16 -0700 Received: from SN4PR0501CU005.outbound.protection.outlook.com (40.93.194.58) 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.2562.46; Thu, 10 Sep 2026 04:33:16 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=gOcqAy2KEtTt4tXV5/eyyVOUN/WNJdqH6+xJBfajOjoR671tCRGAibVdKJQXPW3XkS1XWzP5RfMDLXP1WHA/DJu0WcdHbvwVoXk7+TFQt8HAdhXhmLvvzr2TuJEt/MQc+qZI02Af7qTmO3K7phQcVgAQ6IVkypTfVtf2M2yefiXxU/8ojHlO4G6qn6HXrRlY8+Ei5aw7vGT52AgoHHSsd9O9tchhwsSHwuwYTX2q1P/jbXTR/B5GQX7Vl6/Bf8z+mubmnGhvHbkTu/L8Blw8zno0r2a6IdCmYf+b6mtGMjgZ9BQZwW5KNaDfWlS8p8T74uXh3UD2KZ8cmi6gGcvwug== 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=gaKW6BWgFdKs8BGp99sH2/3mw6tVy9L7BisTzFQD2SE=; b=ynPz/Z6dgpjtOuSFt46J1LZoK2d6NXdJAFG5xJgYEHHIAK4amtzGLIxjGMp3WjIIRP/jIQBnjD1gaCCsGC/Wot0pxmU8LnPzJT0Luni9Ynzx92GZpFujJSzl0QgDlU4746aijN6ERqOlz3nVQrdkjdt4wJ1ORWUy5GBFzo5M8komwBPOdsSel28QXP4dDqHIOO/8dR+de/ccDQ2s4o6KqJVEUYOvIx2X45q7xJbwCCzJ3unWedproIG3ex9dQxl4ipsJAUKEVAQcbjK1trpQo653/EepQgT1Wo3MDYIfdbirighMCp997sDqt7BYyPTfI41TDJ4jWkc2fGXpgaMCIQ== 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 IA1PR11MB8804.namprd11.prod.outlook.com (2603:10b6:208:597::7) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.406.9; Thu, 10 Sep 2026 11:33:14 +0000 Received: from SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::7a35:98d:f02c:b011]) by SN7PR11MB7638.namprd11.prod.outlook.com ([fe80::7a35:98d:f02c:b011%4]) with mapi id 15.21.0406.005; Thu, 10 Sep 2026 11:33:13 +0000 From: "Joos, Christina" To: "Rohr, Stephan" , Hannes Domani , "gdb-patches@sourceware.org" CC: Tom Tromey Subject: RE: [PATCH v3 7/8] Windows gdb: Implement AVX register support Thread-Topic: [PATCH v3 7/8] Windows gdb: Implement AVX register support Thread-Index: AQHdP5KlqWgAEGNzhU+euDDJQ+d8t7bEzriA Date: Thu, 10 Sep 2026 11:33:13 +0000 Message-ID: References: <20260829145823.1034821-1-ssbssa@yahoo.de> <20260829145823.1034821-7-ssbssa@yahoo.de> In-Reply-To: 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_|IA1PR11MB8804:EE_ x-ms-office365-filtering-correlation-id: ee619154-8f83-49f0-ef99-08df0f2f4cfa x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; ARA:13230040|10070799003|376014|23010399003|366016|1800799024|38070700021|6133799003|3023799007|10067099003|4143699003|11063799006|56012099006|18002099003|22082099003; x-microsoft-antispam-message-info: g+YFqeFuHKiiJDRWOjFhJIXWEB08X1VV4GlrJ2pNT44LFzHRPLi4q86coyCY3LVsRtgCbCaoeaAgMJYoD1fr8GL0NwJjRC4b8tzcdrvXtjXMvfv8ru49hF718Yn4+4FP/SMYYVc0wxnpLSDE2E1OOURjzumdPKP993nuZnYMDGB3R0WgcNW0aJnJC5HARhkog0orKfYc80i1DA7MqyJMw9Scq3JnklnYLTfMObuK2ic4AGC7C8AxLXJvw2kfWdvKCceVahQWYvNRB+GPYBv5Qmn8KjgoPbYiXur4gpZKiofBeWiekx50DUDRnqW3vQLxzweNdMCy2hUwmW2oqbjjKGOznwVu6h7cWEkYcfPpY2TZ1PQtoBiiuxysGl9an/womoLaEwC+/l4kBGPcjbAnQ6YIqcif7mE2fSq+6e0D/MgorD3udmaapxrgCBxXtPxdeRrPnYMjl4YCCaVXDcAQcoqLvHJRPBj5fVv2iHskjmzUsZUObJeDVS34oRUMLkjRXdhFaJraOZHp6W8IV0BbuDG0vXH48LBdza1w0RGG6DD6zU2mDShh2uYvtz+X1v6uKzdY+K9erWrEwnkt30Q2iy587uRKSE/0u5b6/isMVPFQrO+XS7QFmwxnVjH+zDo82uoqh6BAEpZ995pTvG2d4RBRkGHIJF6bwyps/rPRpRY= 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)(10070799003)(376014)(23010399003)(366016)(1800799024)(38070700021)(6133799003)(3023799007)(10067099003)(4143699003)(11063799006)(56012099006)(18002099003)(22082099003); DIR:OUT; SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 2 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?QmtkU0ppMnFyY3R3bEZOMVUrVDBGRDFGWUpkNXE4dHBtTGxEa3d6M1dOYTAy?= =?utf-8?B?V0pONVNDWThCb2FDSGpTb04wWVBYNHRwTGJvWGtibmRScTVCaXUvc0w5UDQv?= =?utf-8?B?VlVvcUtpVGlwVmdQNjBadUtnVm91UzB4VnllaURBVmxtSkVNYStZRkE5clF0?= =?utf-8?B?MVNWYmt2ZE9iM2c3TDk2QkRSc0xaMENKTmh5aUkycHJjenpvZHh0SHV1eW56?= =?utf-8?B?eGZvRWxhSnROUk1VL0FFVW10UUJKakJZaERYL3I1MFBBZTlsYlFVUVdTcmJj?= =?utf-8?B?RnFxZVY0MkV1MzNWall2SjZ1ZTQwR0ROME9nM1NZY2hzYm9kdXdydDhpeXZF?= =?utf-8?B?cEY2WlZJbmFIcHRHcmtCODRqUXpDb2NBUDJvZHpKR2ZWQkdJcTdKVVpvM1FT?= =?utf-8?B?b0VQR01HRFUybDhyVzRFQTQvMUJzMFhGUU9RdnhqK25Tc255amM0NmxUMzhl?= =?utf-8?B?WDd2QmNUY1lEZXAxOEtIRmRpRlFCQm1GK2hBTHF0MTRnS1A3N2ZTZ3BtcUpS?= =?utf-8?B?TUJydG50eUFmZ0NGL1NzUDdnUjJvZkhyR0RHaFFmTUdSWU9QcUpndWdLNGJz?= =?utf-8?B?L0VFV2RVWlJyZldOTWdtK05Ib3RvZE0vb1p2SFdUaUpwaGJsMHNIL0llaGNk?= =?utf-8?B?N1h5S1Rkelg3SG5JTVNTUCtxeFFlcS9WVzZTTXBYUFlQUjE1dlJ6cXNSVUJz?= =?utf-8?B?L0pPL25WaDlSTm1mV3Yvc002WE8rMWFoR0NYdVlkWVZudE1CUm1RZkFtSjVU?= =?utf-8?B?SnU5MC9PenFDWGd3N2hKL29ONGJhb3U1MGRneloyTVVYNXdPSTFHMEI4Wmg1?= =?utf-8?B?Y0hOd0JKVW1XM1hXNnlmY1R5YmxSN2lYa0RYNUREQVNEcFQ2UW1XYzAvalJO?= =?utf-8?B?bmE4eENKb0hpb3g0SVVtY29xL3NJazJXSE1zbkp1UHE5Wm16MTBOa1FyODIx?= =?utf-8?B?N1lmU05yc3NkeVFvblZEbEtPNGJBVHVXeFJSU1NvWXQvMmlBRjM3RVZZTlV0?= =?utf-8?B?dzk1TEFDM0RhMHdLMmRaalJBc3V3c2FPV2FUVVRrOE9MalpNRFh1MFBsZVZG?= =?utf-8?B?bUdocjVPVTBmL2V0UmxJZGVqNkNZVXRqaUg2aXpMMzdQRk9SSXlDa3l0Mmdu?= =?utf-8?B?N2t3Vnp5OHdsRXo3MC9yNFpRczcyL2dwUzM5N3lKVWFsVzl3VEp3MWVTamRR?= =?utf-8?B?b2VqSU14M3lTV0xZS0RoM3kxbklTdkIwUGhJVTNjazcrL0ZzdEp6ZWNlS2lh?= =?utf-8?B?N1Rhb0IyWHdFOFZUWVNUUHhacmVranM1bFdtb1UzTDFicHl5Z1RqQ2p6cjB2?= =?utf-8?B?ZzJNcTVhdE1vWjZ5OHJVSUJQUlY4ZlNFcXM0WHI1Y3NQS2MxNXh1MFVrQ2t3?= =?utf-8?B?TE1tdUgrRE5qUnRZcHZTeVNzcWlTaVhVWWs3MUhNTU05WWJETXJtRHBBaW1v?= =?utf-8?B?clp5OUlmK0V1MnpYZ1Z3a2JNN2xQM2FuVnlubzg4MU5yVy9nRlZoY0tiVm5O?= =?utf-8?B?VEJqeXUrNjJaSzMwQ2dodlJ5SkdHN3lwYzI1bHVocjVYVm1tQjhHNmllY3Ru?= =?utf-8?B?d2U0T0RvbGx6RGdtOTB3aWw0bkhhVys3MUh3RG9HVUpuTGt1eDk3eDExNUxS?= =?utf-8?B?VER2cjc0TnVQQnM2L3JueC9uZDZZS1RZY2lLR2UrTW5nZjFDZDU0cUV4ZHVL?= =?utf-8?B?b1h2VTFMdi9BNmhMV2JVRlFZdHJvWTRoRHRzQ2syeE1iWGwzbVhxa25PSGUw?= =?utf-8?B?aEViU1k0d05DdjFad0pVREZHWGgvRXFTTmgrTjFtYTlRb3hrQTZMa3J6VVNU?= =?utf-8?B?Zis2TmdCV3JOYXM3N2xxQk9YT0xSNGo1djJmeTZiL2NITktJRzZVZEFBOG80?= =?utf-8?B?Y2IzWWlhd2pSOWhhaC90eWcwYjdvSU9OQWtRaHdlbkMrWlEzY3l0T0JzbEw0?= =?utf-8?B?UkhDdndVUUczdUxxMFgzdVd1Ykk3bEVIR0VZVElnNlVnMWgxY3RiVVVQU01W?= =?utf-8?B?OG1rQWN3cno3b0NnN3I4eGJ1QVdOSm15THB6TEZPT3ZzbnllejBaZFd6UVA5?= =?utf-8?B?YnRQdWZpMHluNnZHVXQ4NmNDNks2WFpHK0lUVU9BbGFRN1pXMlJzNkxWVWhk?= =?utf-8?B?Y25FekczMUpIMXNsL0lEVFJzMHBPamNrSEhTbE1TR29LU3RBNm0wUHdNVXZB?= =?utf-8?B?d2o0RzAvUXIwbWN5WHRyaXlSTlpzMXBWdEpnVEZTc3lxcUxOMjMyUFN5Q2VE?= =?utf-8?B?eHFXbHM1WnR2YWxGckJpMWdkZ2ZSUE5UM20wM1VBVVpycTRhL05kTGhRenMw?= =?utf-8?B?VXVUQU1XYnF3R3lrTG1uWnh0MFU2UlBxd1g0ZWVqMHhsMUpQMjYvclgySnBT?= =?utf-8?Q?00I3N55q4bZwATlAsWQuwjVP/WnL6cIWu5RhMPZu70H5b?= x-ms-exchange-antispam-messagedata-1: HxT5Ryerp/sYfA== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: fyTANy9gVOnF2d7/3CqQlDICp4tkuAN2Ve4khP07C/j6Y+kSrF4vgP/eg1doN0tuEwCYU692LJvw4IsleduVZM6nztO6EKlWn9qCIzz04A7c/T5blvSswPsrrLBQlL/nzLMAhe9TVLYeClm5nuHDfVkyV4zJ4+utmbYlEb7gmXTvq7K+KJ1HRqXSSojKteOZrq6NiEXzdH/p2EfCDnYhMnl9Hs8b3/VMmiw83s3FfPw54UdXFA3eq+sV2pncpPuzK0l+vUf4cQX4hmIsk21Gm2abyVL+KGRggvhrbFOQCylYQKoRmegk7kfUnANyeMkONyd9E01Lj4+5IV9d4KBbHw== X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: SN7PR11MB7638.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ee619154-8f83-49f0-ef99-08df0f2f4cfa X-MS-Exchange-CrossTenant-originalarrivaltime: 10 Sep 2026 11:33:13.8848 (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: LezorgMLxmPNbkvJXF7EQyay9TrlIgZN5owYyg9/1VZ1ctlJ+fD0+/ErpP2fQlPTixSD321dPosCrKXkrH3k7BN3wbmlT2vc1vqyNjjUmSo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA1PR11MB8804 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 SGkgSGFubmVzLCANCg0KSSBzYXcgdGhhdCBTdGVwaGFuIGFscmVhZHkgcmV2aWV3ZWQgdGhpcyAo dGhhbmtzISkuDQpJIGFkZGVkIG15IHJlbWFya3Mgb24gdG9wLCBzZWUgYmVsb3cuDQoNCj4gLS0t LS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gRnJvbTogUm9ociwgU3RlcGhhbiA8c3RlcGhhbi5y b2hyQGludGVsLmNvbT4NCj4gU2VudDogRGllbnN0YWcsIDguIFNlcHRlbWJlciAyMDI2IDE1OjA1 DQo+IFRvOiBIYW5uZXMgRG9tYW5pIDxzc2Jzc2FAeWFob28uZGU+OyBnZGItcGF0Y2hlc0Bzb3Vy Y2V3YXJlLm9yZzsgZ2RiLQ0KPiBwYXRjaGVzQHNvdXJjZXdhcmUub3JnDQo+IENjOiBKb29zLCBD aHJpc3RpbmEgPGNocmlzdGluYS5qb29zQGludGVsLmNvbT47IFRvbSBUcm9tZXkNCj4gPHRvbUB0 cm9tZXkuY29tPg0KPiBTdWJqZWN0OiBSRTogW1BBVENIIHYzIDcvOF0gV2luZG93cyBnZGI6IElt cGxlbWVudCBBVlggcmVnaXN0ZXIgc3VwcG9ydA0KPiANCj4gSGkgSGFubmVzLA0KPiANCj4gcGxl YXNlIHNlZSBzb21lIGZlZWRiYWNrIGlubGluZWQgYmVsb3cuDQo+IA0KPiBMZXQgbWUga25vdyBp ZiB5b3UgaGF2ZSBhbnkgcXVlc3Rpb25zLg0KPiANCj4gVGhhbmtzDQo+IFN0ZXBoYW4NCj4gDQo+ ID4gLS0tLS1PcmlnaW5hbCBNZXNzYWdlLS0tLS0NCj4gPiBGcm9tOiBIYW5uZXMgRG9tYW5pIDxz c2Jzc2FAeWFob28uZGU+DQo+ID4gU2VudDogU2F0dXJkYXksIDI5IEF1Z3VzdCAyMDI2IDE2OjQ5 DQo+ID4gVG86IGdkYi1wYXRjaGVzQHNvdXJjZXdhcmUub3JnDQo+ID4gU3ViamVjdDogW1BBVENI IHYzIDcvOF0gV2luZG93cyBnZGI6IEltcGxlbWVudCBBVlggcmVnaXN0ZXIgc3VwcG9ydA0KPiA+ DQo+ID4gVGhpcyBhZGRzIHN1cHBvcnQgZm9yIHRoZSBJbnRlbCBBVlggcmVnaXN0ZXJzIG9uIFdp bmRvd3MuDQo+ID4gSXQgZW5hYmxlcyBhY2Nlc3NpbmcgcmVnaXN0ZXJzICR5bW0wIC0gJHltbTE1 IHdoZXJlIHRoZXkgYXJlIGF2YWlsYWJsZS4NCj4gPg0KPiA+IEFmdGVyIHRoaXMgcGF0Y2ggZ2Ri LmFyY2gvaTM4Ni1hdnguZXhwIHBhc3NlcyBvbiB3aW5kb3dzLg0KPiA+IC0tLQ0KPiA+IHYzOg0K PiA+ICAgLSBtZXJnZWQgZ2RiK2dkYnNlcnZlciBwYXJ0cywgYW5kIHNwbGl0IGFnYWluIEFWWC9B VlgtNTEyIHBhcnRzDQo+ID4gLS0tDQo+ID4gIGdkYi9ORVdTICAgICAgICAgICAgICAgICAgICB8 ICAzICsrDQo+ID4gIGdkYi9uYXQvd2luZG93cy1uYXQuYyAgICAgICB8ICAyICstDQo+ID4gIGdk Yi94ODYtd2luZG93cy1uYXQuYyAgICAgICB8IDY3DQo+ID4gKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLQ0KPiA+ICBnZGJzZXJ2ZXIvd2luMzItaTM4Ni1sb3cuY2MgfCA2MSAr KysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0NCj4gPiAgZ2Ric2VydmVyL3dpbjMyLWxv dy5jYyAgICAgIHwgMTUgKysrKysrLS0tDQo+ID4gIDUgZmlsZXMgY2hhbmdlZCwgMTMzIGluc2Vy dGlvbnMoKyksIDE1IGRlbGV0aW9ucygtKQ0KPiA+DQo+ID4gZGlmZiAtLWdpdCBhL2dkYi9ORVdT IGIvZ2RiL05FV1MNCj4gPiBpbmRleCAxMGMxODIwNjdmOS4uZjdlZmZjODIyZTkgMTAwNjQ0DQo+ ID4gLS0tIGEvZ2RiL05FV1MNCj4gPiArKysgYi9nZGIvTkVXUw0KPiA+IEBAIC0xMTgsNiArMTE4 LDkgQEANCj4gPiAgICBpbnRlbnQgdG8gcmVtb3ZlIGl0IGluIGEgZnV0dXJlIHJlbGVhc2UuDQo+ ID4gICAgVGhlIHMzOTAgNjQtYml0IHRhcmdldCAoczM5MHgtKikgcmVtYWlucyBzdXBwb3J0ZWQu DQo+ID4NCj4gPiArKiBTdXBwb3J0IGZvciBJbnRlbCBBVlggcmVnaXN0ZXJzIG9uIFdpbmRvd3Mu DQo+ID4gKyAgU3VwcG9ydCBkaXNwbGF5aW5nIGFuZCBtb2RpZnlpbmcgSW50ZWwgQVZYIHJlZ2lz dGVycyAkeW1tMCAtICR5bW0zMS4NCj4gPiArDQo+IA0KPiBJIHRoaW5rIHRoaXMgc2hvdWxkIGJl IHJlZ2lzdGVycyAkeW1tMCAtICR5bW0xNSA/DQoNClllcywgSSBhZ3JlZSB3aXRoIFN0ZXBoYW4n cyBmZWVkYmFjayBoZXJlLg0KVGhlIEFWWCBzdGF0ZSBvbmx5IGNvbXByaXNlcyBvbmx5IFlNTTDi gJNZTU0xNSBmb3IgNjQgYml0LiANCkZvciAzMi1iaXQgbW9kZSwgaXQncyBZTU0wLSBZTU03IG9u bHkuIA0KU2VlIHRoZSBkb2NzIGFkZGVkIGluIGNvbW1pdCAiQWRkIG9yZy5nbnUuZ2RiLmkzODYu YXZ4LiINCg0KPiA+ICAqIENvbmZpZ3VyZSBjaGFuZ2VzDQo+ID4NCj4gPiAgKiogLS13aXRoLWJh YmVsdHJhY2UgaGFzIGJlZW4gcmVtb3ZlZC4gIFRoZSBiYWJlbHRyYWNlIGxpYnJhcnkgd2FzDQo+ ID4gZGlmZiAtLWdpdCBhL2dkYi9uYXQvd2luZG93cy1uYXQuYyBiL2dkYi9uYXQvd2luZG93cy1u YXQuYyBpbmRleA0KPiA+IDg5MzA1MzZmM2JhLi5jOWEyMWQ3YzQxZiAxMDA2NDQNCj4gPiAtLS0g YS9nZGIvbmF0L3dpbmRvd3MtbmF0LmMNCj4gPiArKysgYi9nZGIvbmF0L3dpbmRvd3MtbmF0LmMN Cj4gPiBAQCAtMTMzOSw3ICsxMzM5LDcgQEAgaW5pdGlhbGl6ZV9sb2FkYWJsZSAoKQ0KPiA+ICAg ICAgew0KPiA+ICAgICAgICAvKiBBdmFpbGFibGUgWFN0YXRlIGZlYXR1cmVzIG1hc2tlZCB3aXRo IGltcGxlbWVudGVkIGZlYXR1cmVzLiAgKi8NCj4gPiAgICAgICAgeHN0YXRlX2ZlYXR1cmVzID0g KEdldEVuYWJsZWRYU3RhdGVGZWF0dXJlcyAoKQ0KPiA+IC0JCQkgJiBYODZfWFNUQVRFX1NTRV9N QVNLKTsNCj4gPiArCQkJICYgWDg2X1hTVEFURV9BVlhfTUFTSyk7DQo+ID4gICAgICAgIC8qIFRo ZSBleHRlbmRlZCBYU3RhdGUgZnVuY3Rpb25zIGFyZSBvbmx5IG5lZWRlZCBpZiB0aGUgYXZhaWxh YmxlDQo+ID4gIAkgZmVhdHVyZXMgZXhjZWVkIFNTRS4gICovDQo+ID4gICAgICAgIGlmICgoeHN0 YXRlX2ZlYXR1cmVzICYgflg4Nl9YU1RBVEVfU1NFX01BU0spID09IDApIGRpZmYgLS1naXQNCj4g PiBhL2dkYi94ODYtd2luZG93cy1uYXQuYyBiL2dkYi94ODYtd2luZG93cy1uYXQuYyBpbmRleA0K PiA+IDNhZjVlZjRkYWUwLi4xY2VmZTYxNzFiZSAxMDA2NDQNCj4gPiAtLS0gYS9nZGIveDg2LXdp bmRvd3MtbmF0LmMNCj4gPiArKysgYi9nZGIveDg2LXdpbmRvd3MtbmF0LmMNCj4gPiBAQCAtMjcs NiArMjcsOSBAQA0KPiA+DQo+ID4gICNpbmNsdWRlICJpMzg2LXRkZXAuaCINCj4gPiAgI2luY2x1 ZGUgImkzODctdGRlcC5oIg0KPiA+ICsjaWZkZWYgX194ODZfNjRfXw0KPiA+ICsjaW5jbHVkZSAi YW1kNjQtdGRlcC5oIg0KPiA+ICsjZW5kaWYNCj4gPg0KPiA+ICB1c2luZyBuYW1lc3BhY2Ugd2lu ZG93c19uYXQ7DQo+ID4NCj4gPiBAQCAtNzAsNiArNzMsOCBAQCBzdHJ1Y3QgeDg2X3dpbmRvd3Nf bmF0X3RhcmdldCBmaW5hbCA6IHB1YmxpYw0KPiA+IHg4Nl9uYXRfdGFyZ2V0PHdpbmRvd3NfbmF0 X3RhcmdldD4NCj4gPiAgCQkJICAgd2luZG93c190aHJlYWRfaW5mbyAqdGgsIGludCByKSBvdmVy cmlkZTsNCj4gPg0KPiA+ICAgIGJvb2wgaXNfc3dfYnJlYWtwb2ludCAoY29uc3QgRVhDRVBUSU9O X1JFQ09SRCAqZXIpIGNvbnN0IG92ZXJyaWRlOw0KPiA+ICsNCj4gPiArICBjb25zdCBzdHJ1Y3Qg dGFyZ2V0X2Rlc2MgKnJlYWRfZGVzY3JpcHRpb24gKCkgb3ZlcnJpZGU7DQo+ID4gIH07DQo+ID4N Cj4gPiAgLyogVGhlIGN1cnJlbnQgcHJvY2Vzcy4gICovDQo+ID4gQEAgLTEwOSw3ICsxMTQsMzEg QEAgeDg2X3dpbmRvd3NfcGVyX2luZmVyaW9yOjpmaWxsX3RocmVhZF9jb250ZXh0DQo+ID4gKHdp bmRvd3NfdGhyZWFkX2luZm8gKnRoKQ0KPiA+ICAgICAgICBpZiAoY29udGV4dC0+Q29udGV4dEZs YWdzID09IDApDQo+ID4gIAl7DQo+ID4gIAkgIGNvbnRleHQtPkNvbnRleHRGbGFncyA9IFdpbmRv d3NDb250ZXh0PGRlY2x0eXBlKGNvbnRleHQpPjo6YWxsOw0KPiA+ICsJICBpZiAoeHN0YXRlX2Zl YXR1cmVzICE9IDApDQo+ID4gKwkgICAgew0KPiA+ICsJICAgICAgY29udGV4dC0+Q29udGV4dEZs YWdzIHw9IENPTlRFWFRfWFNUQVRFX0ZMQUc7DQo+ID4gKwkgICAgICBzZXRfeHN0YXRlX2ZlYXR1 cmVzX21hc2sgKGNvbnRleHQsIHhzdGF0ZV9mZWF0dXJlcyk7DQo+ID4gKwkgICAgfQ0KPiANCj4g V2UgaGF2ZSB0aGUgc2FtZSBjb2RlIGluICJpMzg2X2dldF90aHJlYWRfY29udGV4dCIgaW4gIndp bjMyLWkzODYtbG93LmNjIi4NCj4gTWFrZSBhIHNoYXJlZCBmdW5jdGlvbiBpbiBnZGIvbmF0L3dp bmRvd3MtbmF0Lmg/DQo+IA0KPiA+ICAJICBDSEVDSyAoZ2V0X3RocmVhZF9jb250ZXh0ICh0aC0+ aCwgY29udGV4dCkpOw0KPiA+ICsNCj4gPiArCSAgaWYgKHhzdGF0ZV9mZWF0dXJlcyAhPSAwKQ0K PiA+ICsJICAgIHsNCj4gPiArCSAgICAgIERXT1JENjQgZmVhdHVyZXMgPSAwOw0KPiA+ICsJICAg ICAgQ0hFQ0sgKGdldF94c3RhdGVfZmVhdHVyZXNfbWFzayAoY29udGV4dCwgJmZlYXR1cmVzKSk7 DQo+IA0KPiBTaG91bGQgdGhpcyBiZSBjaGFuZ2VkIHRvIHN0aC4gbGlrZQ0KPiANCj4gICBpZiAo IWdldF94c3RhdGVfZmVhdHVyZXNfbWFzayAoY29udGV4dCwgJmZlYXR1cmVzKSkNCj4gICAgIHsN Cj4gICAgICAgd2FybmluZyAoLi4pDQo+ICAgICAgIHJldHVybjsNCj4gICAgIH0NCj4gDQo+IFRo ZSBjYWxsIG9mICJDSEVDSyIgb25seSBwcmludHMgYSBtZXNzYWdlIGJ1dCBkb2Vzbid0IGVycm9y IG91dC4gIElmIHRoaXMgY2FsbCBmYWlscw0KPiB3ZSBtYXkgc3RpbGwgaGF2ZSBmZWF0dXJlcyA9 PSAwLiAgVGhpcyBpbXBsaWVzICJ6ZXJvZWRfZmVhdHVyZXMgPT0NCj4geHN0YXRlX2ZlYXR1cmVz Ii4gIFdpdGggdGhpcywgdGhlIGxvb3AgY2xlYXJzIGFsbCBmZWF0dXJlcy4NCj4gSUlVQywgdGhp cyB3b3VsZCBjbGVhciB0aGUgQVZYIHJlZ2lzdGVycyBvbiB0aGUgbmV4dCBjYWxsIG9mICJTZXRU aHJlYWRDb250ZXh0Ii4NCj4gDQo+IEFsc28gcmVmZXIgdG8gdGhlIGltcGxlbWVudGF0aW9uIGlu IGdkYnNlcnZlci93aW4zMi1pMzg2LWxvdy5jYzoNCj4gDQo+ICAgICAgIERXT1JENjQgZmVhdHVy ZXMgPSAwOw0KPiAgICAgICBpZiAoeHN0YXRlX2ZlYXR1cmVzICE9IDANCj4gCSAgJiYgZ2V0X3hz dGF0ZV9mZWF0dXJlc19tYXNrIChjb250ZXh0LCAmZmVhdHVyZXMpKQ0KPiAJew0KPiANCj4gSSB0 aGluayBpdCBtYWtlcyBzZW5zZSB0byB1bmlmeSB0aG9zZSBhcyB0aGUgcmVzdCBvZiB0aGUgY29k ZSBpcyBiYXNpY2FsbHkgaWRlbnRpY2FsLg0KPiBQdXQgc2hhcmVkIGZ1bmN0aW9uIGludG8gZ2Ri L25hdC93aW5kb3dzLW5hdC5oPyAgVGhpcyBrZWVwcyB0aGUgY29kZQ0KPiBjb25zaXN0ZW50Lg0K PiANCj4gPiArCSAgICAgIERXT1JENjQgemVyb2VkX2ZlYXR1cmVzID0geHN0YXRlX2ZlYXR1cmVz ICYgfmZlYXR1cmVzOw0KPiA+ICsNCj4gPiArCSAgICAgIGZvciAoaW50IGYgPSBYODZfWFNUQVRF X0FWWF9JRDsgZiA8PSBYODZfWFNUQVRFX0NFVF9VX0lEOyBmKyspDQoNCkluIGFkZGl0aW9uIHRv IFN0ZXBoYW4ncyBmZWVkYmFjayBmb3IgdGhpcyBjb2RlIGFyZWE6DQpTaW5jZSB3ZSBkZWNpZGVk IHRvIG5vdCBhZGQgQ0VULCBhbmQgdGhpcyBwYXRjaCBpcyBldmVuIGZvciBBVlggb25seSBmb3Ig bm93IG9ubHksIGRvIHdlIG5lZWQgYSBsb29wIGF0IHRoaXMgcG9pbnQgYWxyZWFkeT8NCg0KRm9y IHRoZSBmb2xsb3cgdXAgQVZYLTUxMiBwYXRjaCBJIHRoaW5rIHdlIGNhbiBzdG9wIGF0IHRoZSBo aWdoZXN0IHN1cHBvcnRlZCBmZWF0dXJlIChBVlgtNTEyKSBpbiB3aW5kb3dzLCBjYW4ndCB3ZT8N Cg0KPiA+ICsJCSAgRFdPUkQ2NCBmbGFnID0gMVVMTCA8PCBmOw0KPiA+ICsJCSAgaWYgKCh6ZXJv ZWRfZmVhdHVyZXMgJiBmbGFnKSAhPSAwKQ0KPiA+ICsJCSAgICB7DQo+ID4gKwkJICAgICAgRFdP UkQgc2l6ZSA9IDA7DQo+ID4gKwkJICAgICAgdm9pZCAqbG9jID0gbG9jYXRlX3hzdGF0ZV9mZWF0 dXJlIChjb250ZXh0LCBmLCAmc2l6ZSk7DQo+ID4gKwkJICAgICAgaWYgKGxvYyAhPSBudWxscHRy ICYmIHNpemUgPiAwKQ0KPiA+ICsJCQltZW1zZXQgKGxvYywgMCwgc2l6ZSk7DQo+ID4gKwkJICAg IH0NCj4gPiArCQl9DQo+ID4gKwkgICAgfQ0KPiA+ICAJfQ0KPiA+ICAgICAgfSk7DQo+ID4gIH0N Cj4gPiBAQCAtMTk4LDYgKzIyNywxNCBAQA0KPiA+IHg4Nl93aW5kb3dzX25hdF90YXJnZXQ6OnRo cmVhZF9jb250ZXh0X2NvbnRpbnVlICh3aW5kb3dzX3RocmVhZF9pbmZvDQo+ID4gKnRoLA0KPiA+ ICAJICBpZiAoR2V0RXhpdENvZGVUaHJlYWQgKHRoLT5oLCAmZWMpDQo+ID4gIAkgICAgICAmJiBl YyA9PSBTVElMTF9BQ1RJVkUpDQo+ID4gIAkgICAgew0KPiA+ICsJICAgICAgRFdPUkQgZGVidWdf cmVnaXN0ZXJzID0NCj4gPiBXaW5kb3dzQ29udGV4dDxkZWNsdHlwZShjb250ZXh0KT46OmRlYnVn Ow0KPiA+ICsJICAgICAgaWYgKHhzdGF0ZV9mZWF0dXJlcyAhPSAwDQo+ID4gKwkJICAmJiAoY29u dGV4dC0+Q29udGV4dEZsYWdzICYgfmRlYnVnX3JlZ2lzdGVycykgIT0gMCkNCj4gPiArCQl7DQo+ ID4gKwkJICBjb250ZXh0LT5Db250ZXh0RmxhZ3MgfD0gQ09OVEVYVF9YU1RBVEVfRkxBRzsNCj4g PiArCQkgIHNldF94c3RhdGVfZmVhdHVyZXNfbWFzayAoY29udGV4dCwgeHN0YXRlX2ZlYXR1cmVz KTsNCj4gPiArCQl9DQo+ID4gKw0KPiA+ICAJICAgICAgQk9PTCBzdGF0dXMgPSBzZXRfdGhyZWFk X2NvbnRleHQgKHRoLT5oLCBjb250ZXh0KTsNCj4gPg0KPiA+ICAJICAgICAgaWYgKCFraWxsZWQp DQo+ID4gQEAgLTIyNyw3ICsyNjQsNyBAQCB4ODZfd2luZG93c19uYXRfdGFyZ2V0Ojp0aHJlYWRf Y29udGV4dF9zdGVwDQo+ID4gKHdpbmRvd3NfdGhyZWFkX2luZm8gKnRoLA0KPiA+DQo+ID4gIHRl bXBsYXRlPHR5cGVuYW1lIENvbnRleHQ+DQo+ID4gIHN0YXRpYyBjaGFyICoNCj4gPiAtZ2V0X2Nv bnRleHRfcmVnX3B0ciAoQ29udGV4dCAqY29udGV4dCwgaW50IHIpDQo+ID4gK2dldF9jb250ZXh0 X3JlZ19wdHIgKENvbnRleHQgKmNvbnRleHQsIGludCByLCBpMzg2X2dkYmFyY2hfdGRlcA0KPiA+ ICsqdGRlcCkNCj4gPiAgew0KPiA+ICAgIGNvbnN0IGludCAqbWFwcGluZ3M7DQo+ID4gICAgaW50 IG1hcHBpbmdzX2NvdW50Ow0KPiA+IEBAIC0yNDcsNiArMjg0LDEzIEBAIGdldF9jb250ZXh0X3Jl Z19wdHIgKENvbnRleHQgKmNvbnRleHQsIGludCByKQ0KPiA+ICAgIGNoYXIgKmNvbnRleHRfb2Zm c2V0Ow0KPiA+ICAgIGlmIChyIDwgbWFwcGluZ3NfY291bnQpDQo+ID4gICAgICBjb250ZXh0X29m ZnNldCA9IChjaGFyICopIGNvbnRleHQgKyBtYXBwaW5nc1tyXTsNCj4gPiArICBlbHNlIGlmIChJ Mzg3X1lNTTBIX1JFR05VTSAodGRlcCkgPiAwICYmIHIgPj0NCj4gSTM4N19ZTU0wSF9SRUdOVU0N Cj4gPiAodGRlcCkNCj4gPiArCSAgICYmIHIgPCBJMzg3X1lNTUVOREhfUkVHTlVNICh0ZGVwKSkN Cj4gDQo+IFRoZSBpbXBsZW1lbnRhdGlvbiBvbiBnZGJzZXJ2ZXIgc2lkZSBndWFyZHMgYWdhaW5z dA0KPiANCj4gICB4c3RhdGVfZmVhdHVyZXMgJiBYODZfWFNUQVRFX0FWWCkgIT0gMA0KPiANCj4g SSB3b25kZXIgaWYgdGhlIHNhbWUgZ3VhcmQgd291bGQgYmUgaGVscGZ1bCBoZXJlLCB0b28uICBJ IHVuZGVyc3RhbmQgdGhlDQo+IHJlZ2lzdGVyIG51bWJlciBpcyBpbml0aWFsaXplZCB0byAtMSwg c28gdGhpcyBzaG91bGQgbm90IGZpcmUuICBJJ20gbm90IHN1cmUgaWYgaXQgaXMNCj4gcG9zc2li bGUgdG8gaGF2ZSAkeW1tMCByZWdpc3RlciBudW1iZXIgPiAwIHcvbyB4c3RhdGUgc3VwcG9ydCwg ZS5nLiwgaWYgdGhlDQo+IHRhcmdldCBkZXNjcmlwdGlvbiBpcyByZWFkIGZyb20gZmlsZSwgc2Vl ICJ0YXJnZXRfZmluZF9kZXNjcmlwdGlvbiI/DQo+IA0KPiA+ICsgICAgew0KPiA+ICsgICAgICBj b250ZXh0X29mZnNldCA9IChjaGFyICopIGxvY2F0ZV94c3RhdGVfZmVhdHVyZQ0KPiA+ICsJKGNv bnRleHQsIFg4Nl9YU1RBVEVfQVZYX0lELCBOVUxMKTsNCg0KV2UgcHJlZmVyIHRvIHVzZSBudWxs cHRyLg0KDQo+ID4gKyAgICAgIGNvbnRleHRfb2Zmc2V0ICs9IDE2ICogKHIgLSBJMzg3X1lNTTBI X1JFR05VTSAodGRlcCkpOw0KPiA+ICsgICAgfQ0KPiA+ICAgIGVsc2UNCj4gPiAgICAgIGdkYl9h c3NlcnRfbm90X3JlYWNoZWQgKCJpbnZhbGlkIHJlZ2lzdGVyIG51bWJlciAlZCIsIHIpOw0KPiA+ DQo+ID4gQEAgLTI2Nyw3ICszMTEsNyBAQCB4ODZfd2luZG93c19uYXRfdGFyZ2V0OjpmZXRjaF9v bmVfcmVnaXN0ZXIgKHN0cnVjdA0KPiA+IHJlZ2NhY2hlICpyZWdjYWNoZSwNCj4gPiAgICBjaGFy ICpjb250ZXh0X29mZnNldA0KPiA+ICAgICAgPSB4ODZfd2luZG93c19wcm9jZXNzLndpdGhfY29u dGV4dCAodGgsIFsmXSAoYXV0byAqY29udGV4dCkNCj4gPiAgICAgIHsNCj4gPiAtICAgICAgcmV0 dXJuIGdldF9jb250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIpOw0KPiA+ICsgICAgICByZXR1cm4g Z2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgciwgdGRlcCk7DQo+ID4gICAgICB9KTsNCj4g Pg0KPiA+ICAgIGdkYl9hc3NlcnQgKCFnZGJhcmNoX3JlYWRfcGNfcCAoZ2RiYXJjaCkpOyBAQCAt MzMzLDcgKzM3Nyw3IEBADQo+ID4geDg2X3dpbmRvd3NfbmF0X3RhcmdldDo6c3RvcmVfb25lX3Jl Z2lzdGVyIChjb25zdCBzdHJ1Y3QgcmVnY2FjaGUNCj4gPiAqcmVnY2FjaGUsDQo+ID4gICAgICA9 IHg4Nl93aW5kb3dzX3Byb2Nlc3Mud2l0aF9jb250ZXh0ICh0aCwgWyZdIChhdXRvICpjb250ZXh0 KQ0KPiA+ICAgICAgew0KPiA+ICAgICAgICBnZGJfYXNzZXJ0IChjb250ZXh0LT5Db250ZXh0Rmxh Z3MgIT0gMCk7DQo+ID4gLSAgICAgIHJldHVybiBnZXRfY29udGV4dF9yZWdfcHRyIChjb250ZXh0 LCByKTsNCj4gPiArICAgICAgcmV0dXJuIGdldF9jb250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIs IHRkZXApOw0KPiA+ICAgICAgfSk7DQo+ID4NCj4gPiAgICAvKiBHREIgdHJlYXRzIHNvbWUgcmVn aXN0ZXJzIGFzIDMyLWJpdCwgd2hlcmUgdGhleSBhcmUgaW4gZmFjdCBvbmx5DQo+ID4gQEAgLTM2 OCw2ICs0MTIsMjMgQEAgeDg2X3dpbmRvd3NfbmF0X3RhcmdldDo6aXNfc3dfYnJlYWtwb2ludCAo Y29uc3QNCj4gPiBFWENFUFRJT05fUkVDT1JEICplcikgY29uc3QNCj4gPiAgCSAgfHwgZXItPkV4 Y2VwdGlvbkNvZGUgPT0gU1RBVFVTX1dYODZfQlJFQUtQT0lOVCk7ICB9DQo+ID4NCj4gPiArY29u c3Qgc3RydWN0IHRhcmdldF9kZXNjICoNCj4gPiAreDg2X3dpbmRvd3NfbmF0X3RhcmdldDo6cmVh ZF9kZXNjcmlwdGlvbiAoKSB7DQo+ID4gKyAgaWYgKGluZmVyaW9yX3B0aWQgPT0gbnVsbF9wdGlk KQ0KPiA+ICsgICAgcmV0dXJuIHRoaXMtPmJlbmVhdGggKCktPnJlYWRfZGVzY3JpcHRpb24gKCk7 DQo+ID4gKw0KPiA+ICsgIGlmICh4c3RhdGVfZmVhdHVyZXMgPT0gMCkNCj4gPiArICAgIHJldHVy biBudWxscHRyOw0KPiA+ICsNCj4gPiArI2lmZGVmIF9feDg2XzY0X18NCj4gPiArICBpZiAoIXg4 Nl93aW5kb3dzX3Byb2Nlc3Mud293NjRfcHJvY2VzcykNCj4gPiArICAgIHJldHVybiBhbWQ2NF90 YXJnZXRfZGVzY3JpcHRpb24gKHhzdGF0ZV9mZWF0dXJlcywgZmFsc2UpOw0KPiA+ICsgIGVsc2UN Cj4gPiArI2VuZGlmDQo+ID4gKyAgICByZXR1cm4gaTM4Nl90YXJnZXRfZGVzY3JpcHRpb24gKHhz dGF0ZV9mZWF0dXJlcywgZmFsc2UpOyB9DQo+ID4gKw0KPiA+ICAvKiBIYXJkd2FyZSB3YXRjaHBv aW50IHN1cHBvcnQsIGFkYXB0ZWQgZnJvbSBnbzMyLW5hdC5jIGNvZGUuICAqLw0KPiA+DQo+ID4g IC8qIFBhc3MgdGhlIGFkZHJlc3MgQUREUiB0byB0aGUgaW5mZXJpb3IgaW4gdGhlIEkndGggZGVi dWcgcmVnaXN0ZXIuDQo+ID4gZGlmZiAtLWdpdCBhL2dkYnNlcnZlci93aW4zMi1pMzg2LWxvdy5j YyBiL2dkYnNlcnZlci93aW4zMi1pMzg2LWxvdy5jYw0KPiA+IGluZGV4IGI3N2Y2YWRjNmVkLi5h N2U4M2MwMjM5YyAxMDA2NDQNCj4gPiAtLS0gYS9nZGJzZXJ2ZXIvd2luMzItaTM4Ni1sb3cuY2MN Cj4gPiArKysgYi9nZGJzZXJ2ZXIvd2luMzItaTM4Ni1sb3cuY2MNCj4gPiBAQCAtMjUzLDYgKzI1 MywxMSBAQCBpMzg2X2dldF90aHJlYWRfY29udGV4dCAod2luZG93c190aHJlYWRfaW5mbw0KPiA+ ICp0aCkNCj4gPiAgCQkJICAgICAgIHwgV2luZG93c0NvbnRleHQ8ZGVjbHR5cGUoY29udGV4dCk+ OjpmbG9hdGluZw0KPiA+ICAJCQkgICAgICAgfCBXaW5kb3dzQ29udGV4dDxkZWNsdHlwZShjb250 ZXh0KT46OmRlYnVnDQo+ID4gIAkJCSAgICAgICB8IGV4dGVuZGVkX3JlZ2lzdGVycyk7DQo+ID4g KyAgICAgIGlmICh4c3RhdGVfZmVhdHVyZXMgIT0gMCkNCj4gPiArCXsNCj4gPiArCSAgY29udGV4 dC0+Q29udGV4dEZsYWdzIHw9IENPTlRFWFRfWFNUQVRFX0ZMQUc7DQo+ID4gKwkgIHNldF94c3Rh dGVfZmVhdHVyZXNfbWFzayAoY29udGV4dCwgeHN0YXRlX2ZlYXR1cmVzKTsNCj4gPiArCX0NCj4g Pg0KPiA+ICAgICAgICBCT09MIHJldCA9IGdldF90aHJlYWRfY29udGV4dCAodGgtPmgsIGNvbnRl eHQpOw0KPiA+ICAgICAgICBpZiAoIXJldCkNCj4gPiBAQCAtMjY3LDYgKzI3MiwyNCBAQCBpMzg2 X2dldF90aHJlYWRfY29udGV4dCAod2luZG93c190aHJlYWRfaW5mbw0KPiA+ICp0aCkNCj4gPg0K PiA+ICAJICBlcnJvciAoXygiR2V0VGhyZWFkQ29udGV4dCBmYWlsdXJlICVsZFxuIiksIChsb25n KSBlKTsNCj4gPiAgCX0NCj4gPiArDQo+ID4gKyAgICAgIERXT1JENjQgZmVhdHVyZXMgPSAwOw0K PiA+ICsgICAgICBpZiAoeHN0YXRlX2ZlYXR1cmVzICE9IDANCj4gPiArCSAgJiYgZ2V0X3hzdGF0 ZV9mZWF0dXJlc19tYXNrIChjb250ZXh0LCAmZmVhdHVyZXMpKQ0KPiA+ICsJew0KPiA+ICsJICBE V09SRDY0IHplcm9lZF9mZWF0dXJlcyA9IHhzdGF0ZV9mZWF0dXJlcyAmIH5mZWF0dXJlczsNCj4g PiArCSAgZm9yIChpbnQgZiA9IFg4Nl9YU1RBVEVfQVZYX0lEOyBmIDw9IFg4Nl9YU1RBVEVfQ0VU X1VfSUQ7IGYrKykNCj4gPiArCSAgICB7DQo+ID4gKwkgICAgICBEV09SRDY0IGZsYWcgPSAxVUxM IDw8IGY7DQo+ID4gKwkgICAgICBpZiAoKHplcm9lZF9mZWF0dXJlcyAmIGZsYWcpICE9IDApDQo+ ID4gKwkJew0KPiA+ICsJCSAgRFdPUkQgc2l6ZSA9IDA7DQo+ID4gKwkJICB2b2lkICpsb2MgPSBs b2NhdGVfeHN0YXRlX2ZlYXR1cmUgKGNvbnRleHQsIGYsICZzaXplKTsNCj4gPiArCQkgIGlmIChs b2MgIT0gbnVsbHB0ciAmJiBzaXplID4gMCkNCj4gPiArCQkgICAgbWVtc2V0IChsb2MsIDAsIHNp emUpOw0KPiA+ICsJCX0NCj4gPiArCSAgICB9DQo+ID4gKwl9DQo+ID4gICAgICB9KTsNCj4gPiAg fQ0KPiA+DQo+ID4gQEAgLTI5Miw2ICszMTUsMTcgQEAgaTM4Nl9wcmVwYXJlX3RvX3Jlc3VtZSAo d2luZG93c190aHJlYWRfaW5mbw0KPiA+ICp0aCkNCj4gPg0KPiA+ICAgICAgICB0aC0+ZGVidWdf cmVnaXN0ZXJzX2NoYW5nZWQgPSBmYWxzZTsNCj4gPiAgICAgIH0NCj4gPiArDQo+ID4gKyAgd2lu ZG93c19wcm9jZXNzLndpdGhfY29udGV4dCAodGgsIFsmXSAoYXV0byAqY29udGV4dCkNCj4gPiAr ICAgIHsNCj4gPiArICAgICAgRFdPUkQgZGVidWdfcmVnaXN0ZXJzID0gV2luZG93c0NvbnRleHQ8 ZGVjbHR5cGUoY29udGV4dCk+OjpkZWJ1ZzsNCj4gPiArICAgICAgaWYgKHhzdGF0ZV9mZWF0dXJl cyAhPSAwDQo+ID4gKwkgICYmIChjb250ZXh0LT5Db250ZXh0RmxhZ3MgJiB+ZGVidWdfcmVnaXN0 ZXJzKSAhPSAwKQ0KPiA+ICsJew0KPiA+ICsJICBjb250ZXh0LT5Db250ZXh0RmxhZ3MgfD0gQ09O VEVYVF9YU1RBVEVfRkxBRzsNCj4gPiArCSAgc2V0X3hzdGF0ZV9mZWF0dXJlc19tYXNrIChjb250 ZXh0LCB4c3RhdGVfZmVhdHVyZXMpOw0KPiA+ICsJfQ0KPiA+ICsgICAgfSk7DQo+ID4gIH0NCj4g Pg0KPiA+ICBzdGF0aWMgdm9pZA0KPiA+IEBAIC00NzcsNyArNTExLDcgQEAgaXNfc2VnbWVudF9y ZWdpc3RlciAoaW50IHIpDQo+ID4NCj4gPiAgdGVtcGxhdGU8dHlwZW5hbWUgQ29udGV4dD4NCj4g PiAgc3RhdGljIGNoYXIgKg0KPiA+IC1nZXRfY29udGV4dF9yZWdfcHRyIChDb250ZXh0ICpjb250 ZXh0LCBpbnQgcikNCj4gPiArZ2V0X2NvbnRleHRfcmVnX3B0ciAoQ29udGV4dCAqY29udGV4dCwg aW50IHIsIGNvbnN0IHRhcmdldF9kZXNjDQo+ID4gKyp0ZGVzYykNCj4gPiAgew0KPiA+ICAgIGNv bnN0IGludCAqbWFwcGluZ3M7DQo+ID4gICAgaW50IG1hcHBpbmdzX2NvdW50Ow0KPiA+IEBAIC00 OTQsOSArNTI4LDIxIEBAIGdldF9jb250ZXh0X3JlZ19wdHIgKENvbnRleHQgKmNvbnRleHQsIGlu dCByKQ0KPiA+ICAgICAgICBtYXBwaW5nc19jb3VudCA9IHNpemVvZiAoaTM4Nl9tYXBwaW5ncykg LyBzaXplb2YgKGkzODZfbWFwcGluZ3NbMF0pOw0KPiA+ICAgICAgfQ0KPiA+DQo+ID4gKyAgYm9v bCBhbWQ2NCA9IHJlZ2lzdGVyX3NpemUgKHRkZXNjLCAwKSA9PSA4Ow0KPiANCj4gVGhlcmUgaXMg YWxyZWFkeSBhbiAiIGlmICghd2luZG93c19wcm9jZXNzLndvdzY0X3Byb2Nlc3MpIiBhIGZldyBs aW5lcyBhYm92ZS4NCj4gV291bGRuJ3QgaXQgbWFrZSBzZW5zZSB0byBtb3ZlIHRoZSAiYm9vbCBh bWQ2NCIgaW4gdGhlIGlmZGVmIGJsb2NrcyBhbmQgYXNzaWduDQo+IGFjY29yZGluZ2x5Pw0KPiAN Cj4gPiArICBpbnQgeW1tMGhfcmVnbnVtOw0KPiA+ICsgIGNvbnN0IGludCBudW1feG1tX3JlZ2lz dGVycyA9IGFtZDY0ID8gMTYgOiA4Ow0KPiA+ICsNCj4gPiAgICBjaGFyICpjb250ZXh0X29mZnNl dDsNCj4gPiAgICBpZiAociA8IG1hcHBpbmdzX2NvdW50KQ0KPiA+ICAgICAgY29udGV4dF9vZmZz ZXQgPSAoY2hhciAqKSBjb250ZXh0ICsgbWFwcGluZ3Nbcl07DQo+ID4gKyAgZWxzZSBpZiAoKHhz dGF0ZV9mZWF0dXJlcyAmIFg4Nl9YU1RBVEVfQVZYKSAhPSAwDQo+ID4gKwkgICAmJiByID49ICh5 bW0waF9yZWdudW0gPSBmaW5kX3JlZ25vICh0ZGVzYywgInltbTBoIikpDQo+ID4gKwkgICAmJiBy IDwgeW1tMGhfcmVnbnVtICsgbnVtX3htbV9yZWdpc3RlcnMpDQo+ID4gKyAgICB7DQo+ID4gKyAg ICAgIGNvbnRleHRfb2Zmc2V0ID0gKGNoYXIgKikgbG9jYXRlX3hzdGF0ZV9mZWF0dXJlDQo+ID4g KwkoY29udGV4dCwgWDg2X1hTVEFURV9BVlhfSUQsIE5VTEwpOw0KPiA+ICsgICAgICBjb250ZXh0 X29mZnNldCArPSAxNiAqIChyIC0geW1tMGhfcmVnbnVtKTsNCj4gPiArICAgIH0NCj4gPiAgICBl bHNlDQo+ID4gICAgICBnZGJfYXNzZXJ0X25vdF9yZWFjaGVkICgiaW52YWxpZCByZWdpc3RlciBu dW1iZXIgJWQiLCByKTsNCj4gPg0KPiA+IEBAIC01MTAsNyArNTU2LDcgQEAgaTM4Nl9mZXRjaF9p bmZlcmlvcl9yZWdpc3RlciAoc3RydWN0IHJlZ2NhY2hlDQo+ID4gKnJlZ2NhY2hlLCAgew0KPiA+ ICAgIGNoYXIgKmNvbnRleHRfb2Zmc2V0ID0gd2luZG93c19wcm9jZXNzLndpdGhfY29udGV4dCAo dGgsIFsmXSAoYXV0bw0KPiA+ICpjb250ZXh0KQ0KPiA+ICAgICAgew0KPiA+IC0gICAgICByZXR1 cm4gZ2V0X2NvbnRleHRfcmVnX3B0ciAoY29udGV4dCwgcik7DQo+ID4gKyAgICAgIHJldHVybiBn ZXRfY29udGV4dF9yZWdfcHRyIChjb250ZXh0LCByLCByZWdjYWNoZS0+dGRlc2MpOw0KPiA+ICAg ICAgfSk7DQo+ID4NCj4gPiAgICAvKiBHREIgdHJlYXRzIHNvbWUgcmVnaXN0ZXJzIGFzIDMyLWJp dCwgd2hlcmUgdGhleSBhcmUgaW4gZmFjdCBvbmx5DQo+ID4gQEAgLTUzOCw3ICs1ODQsNyBAQCBp Mzg2X3N0b3JlX2luZmVyaW9yX3JlZ2lzdGVyIChzdHJ1Y3QgcmVnY2FjaGUNCj4gPiAqcmVnY2Fj aGUsICB7DQo+ID4gICAgY2hhciAqY29udGV4dF9vZmZzZXQgPSB3aW5kb3dzX3Byb2Nlc3Mud2l0 aF9jb250ZXh0ICh0aCwgWyZdIChhdXRvDQo+ID4gKmNvbnRleHQpDQo+ID4gICAgICB7DQo+ID4g LSAgICAgIHJldHVybiBnZXRfY29udGV4dF9yZWdfcHRyIChjb250ZXh0LCByKTsNCj4gPiArICAg ICAgcmV0dXJuIGdldF9jb250ZXh0X3JlZ19wdHIgKGNvbnRleHQsIHIsIHJlZ2NhY2hlLT50ZGVz Yyk7DQo+ID4gICAgICB9KTsNCj4gPg0KPiA+ICAgIC8qIEdEQiB0cmVhdHMgc29tZSByZWdpc3Rl cnMgYXMgMzItYml0LCB3aGVyZSB0aGV5IGFyZSBpbiBmYWN0IG9ubHkNCj4gPiBAQCAtNTcxLDE0 ICs2MTcsMTcgQEAgaTM4Nl9hcmNoX3NldHVwICh2b2lkKSAgew0KPiA+ICAgdGFyZ2V0X2Rlc2Nf dXAgdGRlc2M7DQo+ID4NCj4gPiArICBEV09SRDY0IHhjcjAgPSB4c3RhdGVfZmVhdHVyZXM7DQo+ ID4gKyAgaWYgKHhjcjAgPT0gMCkNCj4gPiArICAgIHhjcjAgPSBYODZfWFNUQVRFX1NTRV9NQVNL Ow0KPiA+ICsNCj4gPiAgI2lmZGVmIF9feDg2XzY0X18NCj4gPiAtICB0ZGVzYyA9IGFtZDY0X2Ny ZWF0ZV90YXJnZXRfZGVzY3JpcHRpb24gKFg4Nl9YU1RBVEVfU1NFX01BU0ssIGZhbHNlLA0KPiA+ IC0JCQkJCSAgIGZhbHNlLCBmYWxzZSk7DQo+ID4gKyAgdGRlc2MgPSBhbWQ2NF9jcmVhdGVfdGFy Z2V0X2Rlc2NyaXB0aW9uICh4Y3IwLCBmYWxzZSwgZmFsc2UsDQo+ID4gKyBmYWxzZSk7DQo+ID4g ICAgaW5pdF90YXJnZXRfZGVzYyAodGRlc2MuZ2V0ICgpLCBhbWQ2NF9leHBlZGl0ZV9yZWdzLCBX SU5ET1dTX09TQUJJKTsNCj4gPiAgICB3aW4zMl90ZGVzYyA9IHN0ZDo6bW92ZSAodGRlc2MpOw0K PiA+ICAjZW5kaWYNCj4gPg0KPiA+IC0gIHRkZXNjID0gaTM4Nl9jcmVhdGVfdGFyZ2V0X2Rlc2Ny aXB0aW9uIChYODZfWFNUQVRFX1NTRV9NQVNLLCBmYWxzZSwNCj4gPiBmYWxzZSk7DQo+ID4gKyAg dGRlc2MgPSBpMzg2X2NyZWF0ZV90YXJnZXRfZGVzY3JpcHRpb24gKHhjcjAsIGZhbHNlLCBmYWxz ZSk7DQo+ID4gICAgaW5pdF90YXJnZXRfZGVzYyAodGRlc2MuZ2V0ICgpLCBpMzg2X2V4cGVkaXRl X3JlZ3MsIFdJTkRPV1NfT1NBQkkpOw0KPiA+ICNpZmRlZiBfX3g4Nl82NF9fDQo+ID4gICAgd293 NjRfd2luMzJfdGRlc2MgPSBzdGQ6Om1vdmUgKHRkZXNjKTsgZGlmZiAtLWdpdA0KPiA+IGEvZ2Ri c2VydmVyL3dpbjMyLWxvdy5jYyBiL2dkYnNlcnZlci93aW4zMi1sb3cuY2MgaW5kZXgNCj4gPiA3 NjI5YmVjYTIxMy4uNWNjZGM4OWE3ZWYgMTAwNjQ0DQo+ID4gLS0tIGEvZ2Ric2VydmVyL3dpbjMy LWxvdy5jYw0KPiA+ICsrKyBiL2dkYnNlcnZlci93aW4zMi1sb3cuY2MNCj4gPiBAQCAtMzMsNiAr MzMsNyBAQA0KPiA+ICAjaW5jbHVkZSA8cHJvY2Vzcy5oPg0KPiA+ICAjaW5jbHVkZSAiZ2Ric3Vw cG9ydC9nZGJfdGlsZGVfZXhwYW5kLmgiDQo+ID4gICNpbmNsdWRlICJnZGJzdXBwb3J0L2NvbW1v bi1pbmZlcmlvci5oIg0KPiA+ICsjaW5jbHVkZSAidGRlc2MuaCINCj4gPg0KPiA+ICB1c2luZyBu YW1lc3BhY2Ugd2luZG93c19uYXQ7DQo+ID4NCj4gPiBAQCAtNDI2LDggKzQyNyw5IEBAIGNoaWxk X2ZldGNoX2luZmVyaW9yX3JlZ2lzdGVycyAoc3RydWN0IHJlZ2NhY2hlDQo+ID4gKnJlZ2NhY2hl LCBpbnQgcikNCj4gPiAgICBpbnQgcmVnbm87DQo+ID4gICAgd2luZG93c190aHJlYWRfaW5mbyAq dGggPSB3aW5kb3dzX3Byb2Nlc3MuZmluZF90aHJlYWQNCj4gPiAoY3VycmVudF90aHJlYWQtDQo+ ID4gPmlkKTsNCj4gPiAgICB3aW4zMl9yZXF1aXJlX2NvbnRleHQgKHRoKTsNCj4gPiAtICBpZiAo ciA9PSAtMSB8fCByID4gTlVNX1JFR1MpDQo+ID4gLSAgICBjaGlsZF9mZXRjaF9pbmZlcmlvcl9y ZWdpc3RlcnMgKHJlZ2NhY2hlLCBOVU1fUkVHUyk7DQo+IA0KPiBJSVVDIHRoaXMgd2FzIHRoZSBv bmx5IHVzZSBvZiB0aGUgTlVNX1JFR1MgZGVmaW5lLiAgV2UgY2FuIHJlbW92ZSBpdC4NCg0KWWVz LCBJIGFncmVlLiBXb3VsZCB5b3UgbWluZCBleHBsYWluaW5nIHdoeSB3ZSBkb24ndCBuZWVkIHRo aXMgY2hlY2sgYW55bW9yZSwgdG9vID8gOikNCkkgZG9uJ3QgdW5kZXJzdGFuZCBpdCB5ZXQsIHVu Zm9ydHVuYXRlbHkuIFdhcyBpdCBuZWNlc3NhcnkgYmVmb3JlIG9yIGlzIHRoaXMgZHVlIHRvIEFW WD8NCg0KPiBTYW1lIGZvciAiIGkzODZfd2luMzJfbnVtX3JlZ3MgKHZvaWQpIiBhbmQgImFhcmNo NjRfd2luMzJfbnVtX3JlZ3MgKCkiLg0KPiBUaGlzIGFsbG93cyByZW1vdmluZyB0aGUgbnVtX3Jl Z3MgaG9vayBpbiB3aW4zMl90YXJnZXRfb3BzLg0KDQo+ID4gKyAgaWYgKHIgPT0gLTEpDQo+ID4g KyAgICBjaGlsZF9mZXRjaF9pbmZlcmlvcl9yZWdpc3RlcnMgKHJlZ2NhY2hlLA0KPiA+ICsJCQkJ ICAgIHJlZ2NhY2hlLT50ZGVzYy0+cmVnX2RlZnMuc2l6ZSAoKSk7DQo+ID4gICAgZWxzZQ0KPiA+ ICAgICAgZm9yIChyZWdubyA9IDA7IHJlZ25vIDwgcjsgcmVnbm8rKykNCj4gPiAgICAgICAgKCp0 aGVfbG93X3RhcmdldC5mZXRjaF9pbmZlcmlvcl9yZWdpc3RlcikgKHJlZ2NhY2hlLCB0aCwNCj4g PiByZWdubyk7IEBAIC00NDEsOCArNDQzLDkgQEAgY2hpbGRfc3RvcmVfaW5mZXJpb3JfcmVnaXN0 ZXJzIChzdHJ1Y3QNCj4gPiByZWdjYWNoZSAqcmVnY2FjaGUsIGludCByKQ0KPiA+ICAgIGludCBy ZWdubzsNCj4gPiAgICB3aW5kb3dzX3RocmVhZF9pbmZvICp0aCA9IHdpbmRvd3NfcHJvY2Vzcy5m aW5kX3RocmVhZA0KPiA+IChjdXJyZW50X3RocmVhZC0NCj4gPiA+aWQpOw0KPiA+ICAgIHdpbjMy X3JlcXVpcmVfY29udGV4dCAodGgpOw0KPiA+IC0gIGlmIChyID09IC0xIHx8IHIgPT0gMCB8fCBy ID4gTlVNX1JFR1MpDQo+ID4gLSAgICBjaGlsZF9zdG9yZV9pbmZlcmlvcl9yZWdpc3RlcnMgKHJl Z2NhY2hlLCBOVU1fUkVHUyk7DQo+ID4gKyAgaWYgKHIgPT0gLTEpDQo+ID4gKyAgICBjaGlsZF9z dG9yZV9pbmZlcmlvcl9yZWdpc3RlcnMgKHJlZ2NhY2hlLA0KPiA+ICsJCQkJICAgIHJlZ2NhY2hl LT50ZGVzYy0+cmVnX2RlZnMuc2l6ZSAoKSk7DQoNCkkgYXNzdW1lIHJlbW92aW5nIHIgPT0gMCBp cyBub3QgcmVsYXRlZCB0byBBVlggcmVnaXN0ZXIgc3VwcG9ydCBhbmQganVzdCBhIGNsZWFudXAs IHJpZ2h0Pw0KQ291bGQgd2UgbWFrZSBpdCBhIHNlcGFyYXRlIGNsZWFudXAgcGF0Y2ggKHdpdGgg cmVhc29uKT8NCg0KSSBrbm93IGl0IHNlZW1zIGxpa2UgYSBzdXBlciB0aW55IG5pdCwgYnV0IGl0 IHdvdWxkIGhlbHAgdG8gdW5kZXJzdGFuZCB3aHkgdGhhdCBraW5kIG9mDQpyZWZhY3RvcmluZy9j bGVhbnVwIGlzIG5lY2Vzc2FyeSAoZS5nLiBkdWUgdG8gQVZYIG9yIG5vdCkuDQoNCg0KPiA+ICAg IGVsc2UNCj4gPiAgICAgIGZvciAocmVnbm8gPSAwOyByZWdubyA8IHI7IHJlZ25vKyspDQo+ID4g ICAgICAgICgqdGhlX2xvd190YXJnZXQuc3RvcmVfaW5mZXJpb3JfcmVnaXN0ZXIpIChyZWdjYWNo ZSwgdGgsDQo+ID4gcmVnbm8pOyBAQCAtMTM0OSw3ICsxMzUyLDkgQEAgdm9pZCAgaW5pdGlhbGl6 ZV9sb3cgKHZvaWQpICB7DQo+ID4gICAgc2V0X3RhcmdldF9vcHMgKCZ0aGVfd2luMzJfdGFyZ2V0 KTsNCj4gPiAtICB0aGVfbG93X3RhcmdldC5hcmNoX3NldHVwICgpOw0KPiA+DQo+ID4gICAgaW5p dGlhbGl6ZV9sb2FkYWJsZSAoKTsNCj4gPiArICAvKiBIYXMgdG8gYmUgZG9uZSBhZnRlciBpbml0 aWFsaXplX2xvYWRhYmxlLCBiZWNhdXNlIGl0IHVzZXMgdGhlIHhzdGF0ZQ0KPiA+ICsgICAgIGZ1 bmN0aW9ucyBpZiBhdmFpbGFibGUuICAqLw0KPiA+ICsgIHRoZV9sb3dfdGFyZ2V0LmFyY2hfc2V0 dXAgKCk7DQo+ID4gIH0NCj4gPiAtLQ0KPiA+IDIuNTQuMA0KDQpDaHJpc3RpbmENCg0KX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KSW50ZWwgRGV1dHNjaGxhbmQgR21i SCANCg0KUmVnaXN0ZXJlZCBBZGRyZXNzOiBEb3JuYWNoZXIgU3RyYXNzZSAxLCA4NTYyMiBGZWxk a2lyY2hlbiwgR2VybWFueSANCg0KVGVsOiArNDkgKDg5KSA5OTE0My0wIA0KDQp3d3cuaW50ZWwu ZGUgDQoNCk1hbmFnaW5nIERpcmVjdG9yczogQ2FuZGljZSBNb29yZSwgSmVmZnJleSBTY2huZWlk ZXJtYW4sIFJhbWFjaGFuZHJhbiBTaXRhcmFtYW4NCg0KQ2hhaXJwZXJzb24gb2YgdGhlIFN1cGVy dmlzb3J5IEJvYXJkOiBTb25qYSBQaWVyZXINCg0KUmVnaXN0ZXJlZCBTZWF0OiBNdW5pY2ggQ29t bWVyY2lhbCBSZWdpc3RlciBCOiBBbXRzZ2VyaWNodCBNdW5pY2ggSFJCIDE4NjkyOA0KDQpUaGlz IGUtbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250YWluIGNvbmZpZGVudGlhbCBtYXRl cmlhbCBmb3INCnRoZSBzb2xlIHVzZSBvZiB0aGUgaW50ZW5kZWQgcmVjaXBpZW50KHMpLiBBbnkg cmV2aWV3IG9yIGRpc3RyaWJ1dGlvbg0KYnkgb3RoZXJzIGlzIHN0cmljdGx5IHByb2hpYml0ZWQu IElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZA0KcmVjaXBpZW50LCBwbGVhc2UgY29udGFjdCB0 aGUgc2VuZGVyIGFuZCBkZWxldGUgYWxsIGNvcGllcy4K