Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mOF2I-0000wK-Jf for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Sep 2021 08:03:55 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mOF2E-0005o8-1E for pgsql-hackers@arkaria.postgresql.org; Thu, 09 Sep 2021 08:03:50 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mOF2C-0005np-SO for pgsql-hackers@lists.postgresql.org; Thu, 09 Sep 2021 08:03:49 +0000 Received: from esa18.fujitsucc.c3s2.iphmx.com ([216.71.158.38]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mOF24-00085C-Qb for pgsql-hackers@lists.postgresql.org; Thu, 09 Sep 2021 08:03:47 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1631174621; x=1662710621; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=su5U3ac+MdDK2+D2njIcBlouygon6lMT0kQDaMJ6LkQ=; b=UQGh9wtnbE0Z2ULMJ5uRCIBVWd/8J3ci4PO0QUO3S5p9XtzHcJdXD5w+ clDjKFrAjPxIxNbqYHqBdVaf9t9LL2csY4b3hyLO3AqMAp0C2XTrMePHB ddMv+usXPha+kwyE5vNq6UIdwHS+O8pVGi8KldFBYwRABY986rFhPIp6h Zc7GYFwt3D9Q7kuH2PX95mxTbv0YqV0c1Sq/lj/ItZinW35c3wkYoa/bQ +y14rSjuBAsp/VfQY1eKe9p0Q0HC6u8afX4zA+Ah96vSObsJKOVEMVTgS KXgmwo1TrkY6yswQjj9/zXC8V5OkCHk1pUruax22PRvlAEt96yywU1myD w==; X-IronPort-AV: E=McAfee;i="6200,9189,10101"; a="39492253" X-IronPort-AV: E=Sophos;i="5.85,279,1624287600"; d="scan'208";a="39492253" Received: from mail-ty1jpn01lp2058.outbound.protection.outlook.com (HELO JPN01-TY1-obe.outbound.protection.outlook.com) ([104.47.93.58]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 09 Sep 2021 17:03:35 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=LxFv7Ze0eUCdtd75J8VpegBdX9Yr03RRMecpBYtKWXkO6En5OY2ajDIlh49Ga2lWc8RXu/9WPN0BeO3MuJuOyCRxXvFzFu+rX+FOL6vhMa6wfHES4EIPuoRglAUl3D8VOzYubHpP+XGTDRxz0Mi2cIRdoFSPeBmoQmO8E3UTCvLcgvdAuqbwc/pMHoJbj8kedaM+x5czfzienxIsCODvsKcXlzqF7wOrWQweijWz7s7SL1yX5PM+IUSOLMw4H1k+MLEjLg58XVvjCCGNbhlx0wABeX2q2HTMzbmBFsEEYYbKrjNCxb9rUIKeAzJfZsEaGtYdtzOVZRLTx0HMh/0m1Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=dVbe/7Pw7vlF3TflP0pT/zbZlOj8AgndhFe7Cg+FbNw=; b=ImV/kDs2SoJwpUJpldlQHdyooNeVJ0CInUrcM1CfGMODorfEia4XrGV+qo6LPUBI7wIl777m5yk/iyrRbbQ6389W8AZsXGjs/pHFTuNET8QPrDdewhrfDpjWy4RrrhG+ARR2Hyo8awxTabcfGSgc3rljzA7q/kTogxYKIdp1Xk+w4WzRHNfkpEfNo7TJloFBztQR+dqpTfDWFXSp+8gUifCPihlbDx3arfmR7UkCEJ7huQjWDD4Sk8VqNPGFRyNDmlN/JJgSx5W5L+oK6siP0VuR4s3DDXWKaWzmHDM60N7zCLEpUlfXfhcju9XbBLRWMnUGtENhhOZAlmOXS+lxUA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=fujitsu.com; dmarc=pass action=none header.from=fujitsu.com; dkim=pass header.d=fujitsu.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fujitsu.onmicrosoft.com; s=selector2-fujitsu-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=dVbe/7Pw7vlF3TflP0pT/zbZlOj8AgndhFe7Cg+FbNw=; b=ZqiCbxgIk5T5xG44OsWBbXrDdxzJhbJA9RTMGxi6UUdHj4XeIJ3v14XYreNRl3jSjbEzX9YPO81ITl6Dd8KLbiYtPytuHczlxvf68oAS/Ttkbm8xsKMda4wnlMHaGVBHpwUOSdqHb9lXkDD1qac1DwcOersMBMisBY+VuIKDoQU= Received: from TY2PR01MB4890.jpnprd01.prod.outlook.com (2603:1096:404:118::11) by TYAPR01MB5739.jpnprd01.prod.outlook.com (2603:1096:404:8058::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.22; Thu, 9 Sep 2021 08:03:32 +0000 Received: from TY2PR01MB4890.jpnprd01.prod.outlook.com ([fe80::2cee:5339:7c24:2f59]) by TY2PR01MB4890.jpnprd01.prod.outlook.com ([fe80::2cee:5339:7c24:2f59%7]) with mapi id 15.20.4500.016; Thu, 9 Sep 2021 08:03:32 +0000 From: "osumi.takamichi@fujitsu.com" To: 'Amit Kapila' , Masahiko Sawada CC: "pgsql-hackers@lists.postgresql.org" Subject: RE: Failed transaction statistics to measure the logical replication progress Thread-Topic: Failed transaction statistics to measure the logical replication progress Thread-Index: AddzxbV4E8towJomTkm1trqmHwIwlgQVlICAANF/lUAAA/6ZgAAn+wOAAAWfTgAAB8XmAAAgvB4AAAU0KgAAB+7hgAAMXNsABZwy4NABa8QD4A== Date: Thu, 9 Sep 2021 08:03:32 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: yes X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjEtMDktMDJUMDI6MjI6?= =?utf-8?B?MzlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD1jNGI5N2EwMC1lMGMxLTQ4YmEt?= =?utf-8?B?OTk5NC1mMzJkNzlhOGQ0ZTE7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: lists.postgresql.org; dkim=none (message not signed) header.d=none;lists.postgresql.org; dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ff405235-8904-411e-7dc8-08d973685130 x-ms-traffictypediagnostic: TYAPR01MB5739: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:67; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: ctIpv2bwMQKJWjptszPkFBmLmjr4jSG+lagmZ2h+2N3h4PhSCJFMInVAZJQIKykzlX8ZV9EKPA/6HgM2gmTXPgfmMHK+F07WGWI0IlnmRaszZsu17gK4X/fs/80SPl725akhD8eAXMDZ98EPTLe8MnNR03Vq7JoxfnYvrOrEcIuXH1XMPUbGdbpZe1XO/j8lHgw5GSN3mE2NDe4vuV4SRen4HEJoJwVm/20PhDz6Dv30xsO8/gvGt3IEQT5wXjS3GecArem4h26QKsuSOqrGoacIVhPnWxFlm06az3x0JshkEiXE+2TwgSXdsPDI2r98Y19BWqKC7+487EcqkDa8uGSfxS3YubPvfSnOpdPGkDyLzqzqpFup4etdqlfEWGkMzLCrGSNmhIf8kH2OHOdVjYsH3T6GIhw/InJwnG4/0BoLcURQgWX2yimQ8E+cPSrK2+fxmfa7U+03+px34n5kVkbuZCMPGfTx3uadqsOPiajXZt/vS0G2T5ka4qBXHbSKTsQOaZdUN1NL8vmWA2++oi+HP00V4migiCcbZoY0pUoguzyR+mF3YuOQdLvRk2F0kKfsYYLPrXTbWvE9EQAcFhGsKzCLDp6d6m/SM8G5X3Qy36C447Q1oRbnzCmiw+QcDJCnBdhVoRPp9/ei+9xMTJbCuKioxpsWyFSuq4kd7J2Arr63FRMY/vTXP7ag7OArYzwziczXKLtUpXMVO4dlyQ== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TY2PR01MB4890.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(136003)(376002)(346002)(366004)(39860400002)(396003)(52536014)(478600001)(8676002)(83380400001)(26005)(53546011)(38070700005)(66556008)(316002)(64756008)(66476007)(110136005)(71200400001)(2906002)(6506007)(99936003)(186003)(55016002)(33656002)(76116006)(7696005)(66616009)(85182001)(9686003)(86362001)(66946007)(122000001)(38100700002)(5660300002)(66446008)(8936002)(4326008);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dHJMcWZrNDFKVTBVclMwVTFsZzhEZzhIMFJpUEV3dmZQd1dBZnpnWE4wQ2VF?= =?utf-8?B?cDlibmtrMXBuclZCN1I3NEhRNDM3WWh1dU9TZG80Z3NPa3ZybzZxZGxkUGhU?= =?utf-8?B?SGdtOXlkVjhnY3pEMkJiS2hQY1pyYkNUZnNNWkNGdzl3Ni9UcFRoMzhHYU5N?= =?utf-8?B?VlBSLzBvaGN4aE53MlFVYVEzajhXcFV3S090VlpkZjU3TzYxc1F6bklhQUJs?= =?utf-8?B?THc5dTVYRjNsYnByVmNDa1FQWnBtWTlEUWlxUkFGK2FPNGliMng1OE5BUEZQ?= =?utf-8?B?SDZ4V2xUUXNzM1JNNGYyV0pKcVJEQlNjcm9TR0pzTFp4VWQ0WUNaSGNHNysw?= =?utf-8?B?cnJheG8yN2NBY0NFSDdNOXhqNi90TFo4aHZ1VVpWNlBZemNYdUIrMXhOQU5y?= =?utf-8?B?elNqQTJ3N2FsVnBSbm5taTRYYkZObitGOS8vdktmdFJzRTA3S0lmZHRBc0xp?= =?utf-8?B?bjNicXVOcWNzTDkwRGJ2N0c0M0pNN1o3a09BaTlZa2RzaE5hVWpGbGMweEdM?= =?utf-8?B?d24zMTkwaS85TW5sRzBXU0Nla2xJNkU4WG1VelR0Ym9zQUFWbTRuckh4NEtM?= =?utf-8?B?MHVQV245aUJIR3pVVXpBbzNncnNRYmMydFNuRkk5TDA4NUVScTlNcGVwN292?= =?utf-8?B?Qjd2YjY5MlhIWEJjNkpNZWdPclVvc2xVbk1LMSs2MVhMT3VNSFVlTFJSSnRE?= =?utf-8?B?KzZodmZjZyt2L0lDNjBUWCtUZTI5bHR0OWFDVnM5dnduSVgxMFMxMnVVT3hV?= =?utf-8?B?OUZORzBqRGdmd0YzcHpUcVNka3hDU2QrL2ZpU2E4cHA2TFhBSHZIcW10MDVi?= =?utf-8?B?ak9mMU5yYTVlbG5EZzhrcTVSVmZCa2VoeEhadnkzZVhEdjRVakFHWWVTaWZ4?= =?utf-8?B?VzduUSsvYmQ3M2tab1ZPWDFtZGxnM0ZHbFBTMUlxeDZTbUJSamJjL0d4STlv?= =?utf-8?B?U1VQSkJzN0E4MGpkVllrYzRYeEp0N3V6TEJ2QW9WQXFjY2F3eGVUdnJlTHFN?= =?utf-8?B?aUxMckQxWkJNVGU2M0w1VmNnTEY3QWN2RERIMFpQbFlBWlVDT3NKYVl0WjE1?= =?utf-8?B?L1pia2NnZmsrcUkwcXZmUUx0ZVhlL2tJVDM4SjhoSHMwQ2U3ZDJNOTZ6Wm1j?= =?utf-8?B?VkhScEFxUUFKZXNlNjk5M2NFbkkrczNGZDBqS3lhcjlQYjFKMVpoNWEvT0lB?= =?utf-8?B?TXcwNnJnY0ZjdFJQc3l2ZG5jZE5Uc3hjK1cwMEhVWEZJNDduT0JMRnpsdmdv?= =?utf-8?B?OC9qNnJLZEU1VVgwcjNXZ2V3WVIwTVpyam5VcE52VTdsdW13R1BaOG10WHh0?= =?utf-8?B?NG0yNXc5bE5mTzhtTjlUK2J5cGN1WVRIT0YwUFZXVm9QNWswdUVsNUJEUVpR?= =?utf-8?B?RDR6eVJmRGNMc0NQaEc2Q3FPbkFPN0o3UVFiZXJOWWlUUm40aVlrL3RIVXE4?= =?utf-8?B?OHJmd24zTERhZUF2SGlNaHYzb0RRTWdJNXIxUDE5ZCtVNHVYYlVWV3M2SzRC?= =?utf-8?B?cmJUWXdlNlpiUTdhVlNvbXJyZktpVS8zUVd3WGtXQmZGcWxTdStJSzBDd3pu?= =?utf-8?B?Vk83b3QxMkNVazdnb0xLdEZ2SHFHN3N0Vm14OVZwdm1VeVV6QVhnK1hqdnNB?= =?utf-8?B?cGdYMktWTVJpY3Y1T2pPRitCUGhpS0NnVm9DdTMzQjJoaW1KQ2ZuWEs3ODBp?= =?utf-8?B?TkNPRmRYYkRFcFpDMEM5TEJCOXRWWm9wUWpQMVBxT040c3gvSlVCQ2ZMTFR2?= =?utf-8?Q?zAn1F9tcpo7n8LWZhv/FgT1/zVqOmtfIuiAubfm?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_TY2PR01MB489065DB7B8066936087C5E4EDD59TY2PR01MB4890jpnp_" MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TY2PR01MB4890.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: ff405235-8904-411e-7dc8-08d973685130 X-MS-Exchange-CrossTenant-originalarrivaltime: 09 Sep 2021 08:03:32.3972 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a19f121d-81e1-4858-a9d8-736e267fd4c7 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: +WYkuEs5ma+nFZT897MCLaczMvRjto8Gz7nfcmyFStua8G2GgId7wwBbQxkzayThW2EcCjYFBBLSvvkqeXN+9QB1UFQmft7ncFtmP9MiG5E= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB5739 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_TY2PR01MB489065DB7B8066936087C5E4EDD59TY2PR01MB4890jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGkNCg0KT24gVGh1cnNkYXksIFNlcHRlbWJlciAyLCAyMDIxIDExOjIzIEFNIEkgd3JvdGU6DQo+ IEkndmUgbWFkZSBhIG5ldyBwYXRjaCB0byBleHRlbmQgcGdfc3RhdF9zdWJzY3JpcHRpb24gYXMg c3VnZ2VzdGVkIGluIFsxXSB0bw0KPiBoYXZlIGNvbHVtbnMgeGFjdF9jb21taXQsIHhhY3RfZXJy b3IgYW5kIGluZGVwZW5kZW50IHhhY3RfYWJvcnQgbWVudGlvbmVkDQo+IGluIFsyXS4NCj4gQWxz bywgZHVyaW5nIGRpc2N1c3Npb24sIHdlIHRvdWNoZWQgYSB0b3BpYyBpZiB3ZSBzaG91bGQgaW5j bHVkZSBkYXRhIHNpemVzIGZvcg0KPiBlYWNoIGNvbHVtbiBhYm92ZSBhbmQgY29uY2x1ZGVkIHRo YXQgaXQncyBiZXR0ZXIgdG8gaGF2ZSBvbmVzLiBBY2NvcmRpbmdseSwNCj4gSSd2ZSBpbXBsZW1l bnRlZCBjb3JyZXNwb25kaW5nIGNvbHVtbnMgdG8gc2hvdyB0aGUgZGF0YSBzaXplcyBhcyB3ZWxs Lg0KSSd2ZSB1cGRhdGVkIG15IHByZXZpb3VzIHBhdGNoIG9mIHN1YnNjcmliZXIncyBzdGF0cy4N ClRoZSBtYWluIGNoYW5nZSBvZiB0aGlzIHZlcnNpb24gaXMNCnRoZSBieXRlcyBjYWxjdWxhdGlv biB0aGF0IGFyZSBleHBvcnRlZCBieSBwZ19zdGF0X3N1YnNjcmlwdGlvbi4NCkkgcHJlcGFyZWQg YSBuZXcgZnVuY3Rpb24gd2hpY2ggaXMgZXF1aXZhbGVudCB0byBSZW9yZGVyQnVmZmVyQ2hhbmdl U2l6ZQ0Kb24gdGhlIHN1YnNjcmliZXIgc2lkZSB0byBjYWxjdWxhdGUgdGhlIHJlc291cmNlIGNv bnN1bXB0aW9uLg0KSXQncyBiZWNhdXNlIHRoaXMgaXMgaW4gbGluZSB3aXRoIGFjdHVhbCBwcm9j ZXNzIG9mIHRoZSBzdWJzY3JpYmVyLg0KDQpPdGhlciBjaGFuZ2VzIGFyZSBtaW5vciBhbmQgY29z bWV0aWMuDQoNCkFsc28sIHRoaXMgcGF0Y2ggaXMgYmFzZWQgb24gdGhlIHYxMiBwYXRjaC1zZXQg b2Ygc2tpcCB4aWQsDQphcyBkZXNjcmliZWQgaW4gbXkgcHJldmlvdXMgZW1haWwuDQpOb3RlIHRo YXQgeW91IG5lZWQgdG8gdXNlIHBhc3QgY29tbWl0LWlkIGlmIHlvdSB3YW50IHRvIGFwcGx5IHYx MiBzZXQuDQpJJ2xsIHVwZGF0ZSBtaW5lIGFzIHdlbGwgd2hlbiB0aGUgbGF0ZXN0IHBhdGNoLXNl dCB2MTMgaXMgc2hhcmVkIG9uIGhhY2tlcnMuDQoNCkJlc3QgUmVnYXJkcywNCglUYWthbWljaGkg T3N1bWkNCiA= --_002_TY2PR01MB489065DB7B8066936087C5E4EDD59TY2PR01MB4890jpnp_ Content-Type: application/octet-stream; name="extend_subscription_stats_of_transaction_v03.patch" Content-Description: extend_subscription_stats_of_transaction_v03.patch Content-Disposition: attachment; filename="extend_subscription_stats_of_transaction_v03.patch"; size=33165; creation-date="Thu, 09 Sep 2021 08:03:27 GMT"; modification-date="Thu, 09 Sep 2021 08:03:27 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwv bW9uaXRvcmluZy5zZ21sCmluZGV4IDBjMDJlNDYuLjFjZTlmNWEgMTAwNjQ0Ci0tLSBhL2RvYy9z cmMvc2dtbC9tb25pdG9yaW5nLnNnbWwKKysrIGIvZG9jL3NyYy9zZ21sL21vbml0b3Jpbmcuc2dt bApAQCAtMzA0Niw2ICszMDQ2LDY0IEBAIFNFTEVDVCBwaWQsIHdhaXRfZXZlbnRfdHlwZSwgd2Fp dF9ldmVudCBGUk9NIHBnX3N0YXRfYWN0aXZpdHkgV0hFUkUgd2FpdF9ldmVudCBpCiAKICAgICAg PHJvdz4KICAgICAgIDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xl PSJjb2x1bW5fZGVmaW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnhhY3RfY29tbWl0PC9z dHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBh cmE+CisgICAgICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBzdWNjZXNzZnVsbHkgYXBwbGllZCBp biB0aGlzIHN1YnNjcmlwdGlvbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93Pgor CisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBh cmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD54YWN0X2Nv bW1pdF9ieXRlczwvc3RydWN0ZmllbGQ+IDx0eXBlPmJpZ2ludDwvdHlwZT4KKyAgICAgIDwvcGFy YT4KKyAgICAgIDxwYXJhPgorICAgICAgIEFtb3VudCBvZiB0cmFuc2FjdGlvbnMgZGF0YSBzdWNj ZXNzZnVsbHkgYXBwbGllZCBpbiB0aGlzIHN1YnNjcmlwdGlvbgorICAgICAgPC9wYXJhPjwvZW50 cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxv Z190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29sdW1uX2RlZmluaXRpb24iPgorICAgICAgIDxz dHJ1Y3RmaWVsZD54YWN0X2Vycm9yPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgor ICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+CisgICAgICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9u cyB1bnN1Y2Nlc3NmdWxseSBhcHBsaWVkIGluIHRoaXMgc3Vic2NyaXB0aW9uCisgICAgICA8L3Bh cmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAgIDxlbnRyeSByb2xl PSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVmaW5pdGlvbiI+Cisg ICAgICAgPHN0cnVjdGZpZWxkPnhhY3RfZXJyb3JfYnl0ZXM8L3N0cnVjdGZpZWxkPiA8dHlwZT5i aWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAgICAgICBBbW91bnQg b2YgdHJhbnNhY3Rpb25zIGRhdGEgdW5zdWNjZXNzZnVsbHkgYXBwbGllZCBpbiB0aGlzIHN1YnNj cmlwdGlvbgorICAgICAgPC9wYXJhPjwvZW50cnk+CisgICAgIDwvcm93PgorCisgICAgIDxyb3c+ CisgICAgICA8ZW50cnkgcm9sZT0iY2F0YWxvZ190YWJsZV9lbnRyeSI+PHBhcmEgcm9sZT0iY29s dW1uX2RlZmluaXRpb24iPgorICAgICAgIDxzdHJ1Y3RmaWVsZD54YWN0X2Fib3J0PC9zdHJ1Y3Rm aWVsZD4gPHR5cGU+YmlnaW50PC90eXBlPgorICAgICAgPC9wYXJhPgorICAgICAgPHBhcmE+Cisg ICAgICAgTnVtYmVyIG9mIHRyYW5zYWN0aW9ucyBhYm9ydGVkIGluIHRoaXMgc3Vic2NyaXB0aW9u CisgICAgICA8L3BhcmE+PC9lbnRyeT4KKyAgICAgPC9yb3c+CisKKyAgICAgPHJvdz4KKyAgICAg IDxlbnRyeSByb2xlPSJjYXRhbG9nX3RhYmxlX2VudHJ5Ij48cGFyYSByb2xlPSJjb2x1bW5fZGVm aW5pdGlvbiI+CisgICAgICAgPHN0cnVjdGZpZWxkPnhhY3RfYWJvcnRfYnl0ZXM8L3N0cnVjdGZp ZWxkPiA8dHlwZT5iaWdpbnQ8L3R5cGU+CisgICAgICA8L3BhcmE+CisgICAgICA8cGFyYT4KKyAg ICAgICBBbW91bnQgb2YgdHJhbnNhY3Rpb25zIGRhdGEgYWJvcnRlZCBpbiB0aGlzIHN1YnNjcmlw dGlvbi4KKyAgICAgICBJbmNyZWFzZSA8bGl0ZXJhbD5sb2dpY2FsX2RlY29kaW5nX3dvcmtfbWVt PC9saXRlcmFsPiBvbiB0aGUgcHVibGlzaGVyCisgICAgICAgdG8gc3VwcHJlc3MgdW5uZWNlc3Nh cnkgY29uc3VtZWQgbmV0d29yayBiYW5kd2lkdGggb3IgY2hhbmdlIGluIG1lbW9yeQorICAgICAg IG9mIHRoZSBzdWJzY3JpYmVyLCBpZiB1bmV4cGVjdGVkIGFtb3VudCBvZiByb2xsYmFja2VkIHRy YW5zYWN0aW9ucyBhcmUKKyAgICAgICBzdHJlYW1lZC4KKyAgICAgIDwvcGFyYT48L2VudHJ5Pgor ICAgICA8L3Jvdz4KKworICAgICA8cm93PgorICAgICAgPGVudHJ5IHJvbGU9ImNhdGFsb2dfdGFi bGVfZW50cnkiPjxwYXJhIHJvbGU9ImNvbHVtbl9kZWZpbml0aW9uIj4KICAgICAgICA8c3RydWN0 ZmllbGQ+bGF0ZXN0X2VuZF90aW1lPC9zdHJ1Y3RmaWVsZD4gPHR5cGU+dGltZXN0YW1wIHdpdGgg dGltZSB6b25lPC90eXBlPgogICAgICAgPC9wYXJhPgogICAgICAgPHBhcmE+CmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9jYXRhbG9nL3N5c3RlbV92aWV3cy5zcWwgYi9zcmMvYmFja2VuZC9jYXRh bG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggNDQ5NjkyYS4uMTA5YmE5MiAxMDA2NDQKLS0tIGEv c3JjL2JhY2tlbmQvY2F0YWxvZy9zeXN0ZW1fdmlld3Muc3FsCisrKyBiL3NyYy9iYWNrZW5kL2Nh dGFsb2cvc3lzdGVtX3ZpZXdzLnNxbApAQCAtOTA5LDEwICs5MDksMzcgQEAgQ1JFQVRFIFZJRVcg cGdfc3RhdF9zdWJzY3JpcHRpb24gQVMKICAgICAgICAgICAgIHN0Lmxhc3RfbXNnX3NlbmRfdGlt ZSwKICAgICAgICAgICAgIHN0Lmxhc3RfbXNnX3JlY2VpcHRfdGltZSwKICAgICAgICAgICAgIHN0 LmxhdGVzdF9lbmRfbHNuLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hh Y3RfY29tbWl0KHN1Lm9pZCwgc3QucmVsaWQpIEFTIHhhY3RfY29tbWl0LAorICAgICAgICAgICAg cGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfY29tbWl0X2J5dGVzKHN1Lm9pZCwgc3QucmVs aWQpIEFTIHhhY3RfY29tbWl0X2J5dGVzLAorICAgICAgICAgICAgcGdfc3RhdF9nZXRfc3Vic2Ny aXB0aW9uX3hhY3RfZXJyb3Ioc3Uub2lkLCBzdC5yZWxpZCkgQVMgeGFjdF9lcnJvciwKKyAgICAg ICAgICAgIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Vycm9yX2J5dGVzKHN1Lm9pZCwg c3QucmVsaWQpIEFTIHhhY3RfZXJyb3JfYnl0ZXMsCisgICAgICAgICAgICBwZ19zdGF0X2dldF9z dWJzY3JpcHRpb25feGFjdF9hYm9ydChzdS5vaWQsIHN0LnJlbGlkKSBBUyB4YWN0X2Fib3J0LAor ICAgICAgICAgICAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfYWJvcnRfYnl0ZXMoc3Uu b2lkLCBzdC5yZWxpZCkgQVMgeGFjdF9hYm9ydF9ieXRlcywKICAgICAgICAgICAgIHN0LmxhdGVz dF9lbmRfdGltZQogICAgIEZST00gcGdfc3Vic2NyaXB0aW9uIHN1Ci0gICAgICAgICAgICBMRUZU IEpPSU4gcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uKE5VTEwpIHN0Ci0gICAgICAgICAgICAgICAg ICAgICAgT04gKHN0LnN1YmlkID0gc3Uub2lkKTsKKyAgICAgICAgICAgIExFRlQgSk9JTgorCSAg ICAoU0VMRUNUCisJCXMuc3ViaWQsCisJCXMucmVsaWQsCisJCXMucGlkLAorCQlzLnJlY2VpdmVk X2xzbiwKKwkJcy5sYXN0X21zZ19zZW5kX3RpbWUsCisJCXMubGFzdF9tc2dfcmVjZWlwdF90aW1l LAorCQlzLmxhdGVzdF9lbmRfbHNuLAorCQlzLmxhdGVzdF9lbmRfdGltZQorCSAgICBGUk9NIHBn X3N0YXRfZ2V0X3N1YnNjcmlwdGlvbihOVUxMKSBzCisJICAgIFVOSU9OIC0tIGFjcXVpcmUgcmVs aWQgb2YgdGFibGUgc3luYyB3b3JrZXIKKwkgICAgU0VMRUNUCisJCXIuc3JzdWJpZCwKKwkJci5z cnJlbGlkLAorCQlOVUxMIGFzIHBpZCwKKwkJTlVMTCBhcyByZWNlaXZlZF9sc24sCisJCU5VTEwg YXMgbGFzdF9tc2dfc2VuZF90aW1lLAorCQlOVUxMIGFzIGxhc3RfbXNnX3JlY2VpcHRfdGltZSwK KwkJTlVMTCBhcyBsYXRlc3RfZW5kX2xzbiwKKwkJTlVMTCBhcyBsYXRlc3RfZW5kX3RpbWUKKwkg ICAgRlJPTSBwZ19zdWJzY3JpcHRpb25fcmVsIHIgV0hFUkUgci5zcnN1YnN0YXRlIDw+ICdyJykg c3QKKwkJT04gKHN0LnN1YmlkID0gc3Uub2lkKTsKIAogQ1JFQVRFIFZJRVcgcGdfc3RhdF9zc2wg QVMKICAgICBTRUxFQ1QKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQYXJ0 aXRpb24uYyBiL3NyYy9iYWNrZW5kL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uYwppbmRleCA1Yzcy M2JjLi43OWEyNWJkIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjUGFydGl0 aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5jCkBAIC0xOTQs NiArMTk0LDE3IEBAIHN0YXRpYyB2b2lkIGZpbmRfbWF0Y2hpbmdfc3VicGxhbnNfcmVjdXJzZShQ YXJ0aXRpb25QcnVuaW5nRGF0YSAqcHJ1bmVkYXRhLAogCiAKIC8qCisgKiBQYXJ0aXRpb25UdXBs ZVJvdXRpbmdTaXplIC0gZXhwb3J0ZWQgdG8gY2FsY3VsYXRlIHRvdGFsIGRhdGEgc2l6ZQorICog b2YgbG9naWNhbCByZXBsaWNhdGlvbiBtZXNhZ2UgYXBwbHksIHNpbmNlIGl0IGlzIG9uZSBvZiB0 aGUKKyAqIEFwcGx5RXhlY3V0aW9uRGF0YSBzdHJ1Y3QgbWVtYmVycy4KKyAqLworc2l6ZV90CitQ YXJ0aXRpb25UdXBsZVJvdXRpbmdTaXplKHZvaWQpCit7CisJcmV0dXJuIHNpemVvZihQYXJ0aXRp b25UdXBsZVJvdXRpbmcpOworfQorCisvKgogICogRXhlY1NldHVwUGFydGl0aW9uVHVwbGVSb3V0 aW5nIC0gc2V0cyB1cCBpbmZvcm1hdGlvbiBuZWVkZWQgZHVyaW5nCiAgKiB0dXBsZSByb3V0aW5n IGZvciBwYXJ0aXRpb25lZCB0YWJsZXMsIGVuY2Fwc3VsYXRlcyBpdCBpbgogICogUGFydGl0aW9u VHVwbGVSb3V0aW5nLCBhbmQgcmV0dXJucyBpdC4KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvcGdzdGF0LmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bnc3RhdC5jCmluZGV4 IDc3OGU0MDkuLmJjYTNjNDEgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdz dGF0LmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYwpAQCAtNTUsNiArNTUs NyBAQAogI2luY2x1ZGUgInBvc3RtYXN0ZXIvcG9zdG1hc3Rlci5oIgogI2luY2x1ZGUgInJlcGxp Y2F0aW9uL3Nsb3QuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi93YWxzZW5kZXIuaCIKKyNpbmNs dWRlICJyZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2VyLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9iYWNr ZW5kaWQuaCIKICNpbmNsdWRlICJzdG9yYWdlL2RzbS5oIgogI2luY2x1ZGUgInN0b3JhZ2UvZmQu aCIKQEAgLTM3OCw2ICszNzksNyBAQCBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9jaGVja3N1bV9m YWlsdXJlKFBnU3RhdF9Nc2dDaGVja3N1bUZhaWx1cmUgKm1zZywgaW50IGxlbgogc3RhdGljIHZv aWQgcGdzdGF0X3JlY3ZfY29ubnN0YXQoUGdTdGF0X01zZ0Nvbm4gKm1zZywgaW50IGxlbik7CiBz dGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9yZXBsc2xvdChQZ1N0YXRfTXNnUmVwbFNsb3QgKm1zZywg aW50IGxlbik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl90ZW1wZmlsZShQZ1N0YXRfTXNnVGVt cEZpbGUgKm1zZywgaW50IGxlbik7CitzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9zdWJzY3JpcHRp b25fc3VjY2VzcyhQZ1N0YXRfTXNnU3Vic2NyaXB0aW9uRXJyICptc2csIGludCBsZW4pOwogc3Rh dGljIHZvaWQgcGdzdGF0X3JlY3Zfc3Vic2NyaXB0aW9uX2Vycm9yKFBnU3RhdF9Nc2dTdWJzY3Jp cHRpb25FcnIgKm1zZywgaW50IGxlbik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9zdWJzY3Jp cHRpb25fZXJyb3JfcHVyZ2UoUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVyclB1cmdlICptc2csCiAJ CQkJCQkJCQkJCQkgaW50IGxlbik7CkBAIC0yMDM4LDYgKzIwNDAsNDAgQEAgcGdzdGF0X3JlcG9y dF9yZXBsc2xvdF9kcm9wKGNvbnN0IGNoYXIgKnNsb3RuYW1lKQogfQogCiAvKiAtLS0tLS0tLS0t CisgKiBwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9zdWNjZXNzKCkgLQorICoKKyAqICBUZWxs IHRoZSBjb2xsZWN0b3IgYWJvdXQgdGhlIHN1YnNjcmlwdGlvbiBzdWNjZXNzLgorICogLS0tLS0t LS0tLQorICovCit2b2lkCitwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9zdWNjZXNzKE9pZCBz dWJpZCwgT2lkIHN1YnJlbCwKKwkJCQkJCQkJICAgTG9naWNhbFJlcE1zZ1R5cGUgY29tbWFuZCwg UGdTdGF0X0NvdW50ZXIgYnl0ZXMpCit7CisJUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVyciBtc2c7 CisKKwlBc3NlcnQoY29tbWFuZCA9PSAwIC8qIHRhYmxlIHN5bmMgd29ya2VyICovIHx8CisJCSAg IGNvbW1hbmQgPT0gTE9HSUNBTF9SRVBfTVNHX0NPTU1JVCB8fAorCQkgICBjb21tYW5kID09IExP R0lDQUxfUkVQX01TR19DT01NSVRfUFJFUEFSRUQgfHwKKwkJICAgY29tbWFuZCA9PSBMT0dJQ0FM X1JFUF9NU0dfU1RSRUFNX0FCT1JUKTsKKworCXBnc3RhdF9zZXRoZWFkZXIoJm1zZy5tX2hkciwg UEdTVEFUX01UWVBFX1NVQlNDUklQVElPTlNVQ0NFU1MpOworCW1zZy5tX3N1YmlkID0gc3ViaWQ7 CisJbXNnLm1fc3VicmVsaWQgPSBzdWJyZWw7CisJbXNnLm1fY2xlYXIgPSBmYWxzZTsKKwltc2cu bV9yZXNldCA9IGZhbHNlOworCW1zZy5tX2RhdGFiYXNlaWQgPSBJbnZhbGlkT2lkOworCW1zZy5t X3JlbGlkID0gSW52YWxpZE9pZDsKKwltc2cubV9jb21tYW5kID0gY29tbWFuZDsKKwltc2cubV94 aWQgPSBJbnZhbGlkVHJhbnNhY3Rpb25JZDsKKwltc2cubV9ieXRlcyA9IGJ5dGVzOworCW1zZy5t X2ZhaWx1cmVfdGltZSA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKKwltc2cubV9lcnJtc2dbMF0g PSAnXDAnOworCXBnc3RhdF9zZW5kKCZtc2csIHNpemVvZihQZ1N0YXRfTXNnU3Vic2NyaXB0aW9u RXJyKSk7CisKKwlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSgpOworfQorCisv KiAtLS0tLS0tLS0tCiAgKiBwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9lcnJvcigpIC0KICAq CiAgKglUZWxsIHRoZSBjb2xsZWN0b3IgYWJvdXQgdGhlIHN1YnNjcmlwdGlvbiBlcnJvci4KQEAg LTIwNjMsMTAgKzIwOTksMTMgQEAgcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fZXJyb3IoT2lk IHN1YmlkLCBPaWQgc3VicmVsaWQsIE9pZCByZWxpZCwKIAltc2cubV9yZWxpZCA9IHJlbGlkOwog CW1zZy5tX2NvbW1hbmQgPSBjb21tYW5kOwogCW1zZy5tX3hpZCA9IHhpZDsKKwltc2cubV9ieXRl cyA9IGdldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSgpOwogCW1zZy5tX2ZhaWx1cmVf dGltZSA9IEdldEN1cnJlbnRUaW1lc3RhbXAoKTsKIAlzdHJsY3B5KG1zZy5tX2Vycm1zZywgZXJy bXNnLCBQR1NUQVRfU1VCU0NSSVBUSU9ORVJSX01TR0xFTik7CiAKIAlwZ3N0YXRfc2VuZCgmbXNn LCBsZW4pOworCisJcmVzZXRfYXBwbHlfZXJyb3JfY29udGV4dF94YWN0X3NpemUoKTsKIH0KIAog LyogLS0tLS0tLS0tLQpAQCAtMzczMCw2ICszNzY5LDEwIEBAIFBnc3RhdENvbGxlY3Rvck1haW4o aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkJCQkJcGdzdGF0X3JlY3ZfY29ubnN0YXQoJm1zZy5t c2dfY29ubiwgbGVuKTsKIAkJCQkJYnJlYWs7CiAKKwkJCQljYXNlIFBHU1RBVF9NVFlQRV9TVUJT Q1JJUFRJT05TVUNDRVNTOgorCQkJCQlwZ3N0YXRfcmVjdl9zdWJzY3JpcHRpb25fc3VjY2Vzcygm bXNnLm1zZ19zdWJzY3JpcHRpb25lcnIsIGxlbik7CisJCQkJCWJyZWFrOworCiAJCQkJY2FzZSBQ R1NUQVRfTVRZUEVfU1VCU0NSSVBUSU9ORVJSOgogCQkJCQlwZ3N0YXRfcmVjdl9zdWJzY3JpcHRp b25fZXJyb3IoJm1zZy5tc2dfc3Vic2NyaXB0aW9uZXJyLCBsZW4pOwogCQkJCQlicmVhazsKQEAg LTYxNTMsNiArNjE5Niw0NSBAQCBwZ3N0YXRfcmVjdl9mdW5jcHVyZ2UoUGdTdGF0X01zZ0Z1bmNw dXJnZSAqbXNnLCBpbnQgbGVuKQogfQogCiAvKiAtLS0tLS0tLS0tCisgKiBwZ3N0YXRfcmVjdl9z dWJzY3JpcHRpb25fc3VjY2VzcygpIC0KKyAqCisgKiAgUHJvY2VzcyBhIFNVQlNDUklQVElPTkVS UiBtZXNzYWdlLgorICogLS0tLS0tLS0tLQorICovCitzdGF0aWMgdm9pZAorcGdzdGF0X3JlY3Zf c3Vic2NyaXB0aW9uX3N1Y2Nlc3MoUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVyciAqbXNnLCBpbnQg bGVuKQoreworCVBnU3RhdF9TdGF0U3ViRXJyRW50cnkgKmVycmVudDsKKwlib29sICAgICAgICBj cmVhdGUgPSAhKG1zZy0+bV9yZXNldCB8fCBtc2ctPm1fY2xlYXIpOworCisJZXJyZW50ID0gcGdz dGF0X2dldF9zdWJzY3JpcHRpb25fZXJyb3JfZW50cnkobXNnLT5tX3N1YmlkLAorCQkJCQkJCQkJ CQkJIG1zZy0+bV9zdWJyZWxpZCwKKwkJCQkJCQkJCQkJCSBjcmVhdGUpOworCisJLyogbXNnIGZy b20gdGFibGUgc3luYyB3b3JrZXIgKi8KKwlpZiAobXNnLT5tX2NvbW1hbmQgPT0gMCkKKwkJZXJy ZW50LT54YWN0X2NvbW1pdCsrOworCWVsc2UKKwl7CisJCXN3aXRjaChtc2ctPm1fY29tbWFuZCkK KwkJeworCQkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUOgorCQkJY2FzZSBMT0dJQ0FMX1JF UF9NU0dfQ09NTUlUX1BSRVBBUkVEOgorCQkJCWVycmVudC0+eGFjdF9jb21taXQrKzsKKwkJCQll cnJlbnQtPnhhY3RfY29tbWl0X2J5dGVzICs9IG1zZy0+bV9ieXRlczsKKwkJCQlicmVhazsKKwkJ CWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9BQk9SVDoKKwkJCQllcnJlbnQtPnhhY3RfYWJv cnQrKzsKKwkJCQllcnJlbnQtPnhhY3RfYWJvcnRfYnl0ZXMgPSBtc2ctPm1fYnl0ZXM7CisJCQkJ YnJlYWs7CisJCQlkZWZhdWx0OgorCQkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIGNvbW1hbmQg dHlwZSIpOworCQl9CisJfQorCWVycmVudC0+bGFzdF9mYWlsdXJlID0gbXNnLT5tX2ZhaWx1cmVf dGltZTsKK30KKworLyogLS0tLS0tLS0tLQogICogcGdzdGF0X3JlY3Zfc3Vic2NyaXB0aW9uX2Vy cm9yKCkgLQogICoKICAqCVByb2Nlc3MgYSBTVUJTQ1JJUFRJT05FUlIgbWVzc2FnZS4KQEAgLTYy MDIsNiArNjI4NCw4IEBAIHBnc3RhdF9yZWN2X3N1YnNjcmlwdGlvbl9lcnJvcihQZ1N0YXRfTXNn U3Vic2NyaXB0aW9uRXJyICptc2csIGludCBsZW4pCiAJCWVycmVudC0+cmVsaWQgPSBtc2ctPm1f cmVsaWQ7CiAJCWVycmVudC0+Y29tbWFuZCA9IG1zZy0+bV9jb21tYW5kOwogCQllcnJlbnQtPnhp ZCA9IG1zZy0+bV94aWQ7CisJCWVycmVudC0+eGFjdF9lcnJvcisrOworCQllcnJlbnQtPnhhY3Rf ZXJyb3JfYnl0ZXMgKz0gbXNnLT5tX2J5dGVzOwogCQllcnJlbnQtPmZhaWx1cmVfY291bnQrKzsK IAkJZXJyZW50LT5sYXN0X2ZhaWx1cmUgPSBtc2ctPm1fZmFpbHVyZV90aW1lOwogCQlzdHJsY3B5 KGVycmVudC0+bGFzdF9lcnJtc2csIG1zZy0+bV9lcnJtc2csIFBHU1RBVF9TVUJTQ1JJUFRJT05F UlJfTVNHTEVOKTsKQEAgLTY0NjUsNiArNjU0OSwxMiBAQCBwZ3N0YXRfZ2V0X3N1YnNjcmlwdGlv bl9lcnJvcl9lbnRyeShPaWQgc3ViaWQsIE9pZCBzdWJyZWxpZCwgYm9vbCBjcmVhdGUpCiAJCWVy cmVudC0+cmVsaWQgPSBJbnZhbGlkT2lkOwogCQllcnJlbnQtPmNvbW1hbmQgPSAwOwogCQllcnJl bnQtPnhpZCA9IEludmFsaWRUcmFuc2FjdGlvbklkOworCQllcnJlbnQtPnhhY3RfY29tbWl0ID0g MDsKKwkJZXJyZW50LT54YWN0X2NvbW1pdF9ieXRlcyA9IDA7CisJCWVycmVudC0+eGFjdF9lcnJv ciA9IDA7CisJCWVycmVudC0+eGFjdF9lcnJvcl9ieXRlcyA9IDA7CisJCWVycmVudC0+eGFjdF9h Ym9ydCA9IDA7CisJCWVycmVudC0+eGFjdF9hYm9ydF9ieXRlcyA9IDA7CiAJCWVycmVudC0+ZmFp bHVyZV9jb3VudCA9IDA7CiAJCWVycmVudC0+bGFzdF9mYWlsdXJlID0gMDsKIAkJZXJyZW50LT5s YXN0X2Vycm1zZ1swXSA9ICdcMCc7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlv bi9sb2dpY2FsL3Byb3RvLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Byb3Rv LmMKaW5kZXggOWY1YmY0Yi4uMmUxZmM5NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGlj YXRpb24vbG9naWNhbC9wcm90by5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2lj YWwvcHJvdG8uYwpAQCAtMTcsNiArMTcsNyBAQAogI2luY2x1ZGUgImNhdGFsb2cvcGdfdHlwZS5o IgogI2luY2x1ZGUgImxpYnBxL3BxZm9ybWF0LmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vbG9n aWNhbHByb3RvLmgiCisjaW5jbHVkZSAicmVwbGljYXRpb24vbG9naWNhbHdvcmtlci5oIgogI2lu Y2x1ZGUgInV0aWxzL2xzeXNjYWNoZS5oIgogI2luY2x1ZGUgInV0aWxzL3N5c2NhY2hlLmgiCiAK ZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMg Yi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCmluZGV4IGYwNzk4 M2EuLjdiYTc0ODYgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwv dGFibGVzeW5jLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5 bmMuYwpAQCAtMTE1MCw2ICsxMTUwLDE1IEBAIGNvcHlfdGFibGVfZG9uZToKIAlTcGluTG9ja1Jl bGVhc2UoJk15TG9naWNhbFJlcFdvcmtlci0+cmVsbXV0ZXgpOwogCiAJLyoKKwkgKiBVcGRhdGUg dGhlIHN0YXRzIGZvciB0YWJsZSBzeW5jLiBXZSBkb24ndCByZWNvcmQgdGhlIGJ5dGVzIG9mCisJ ICogdGFibGUgc3luY2hyb25pemF0aW9uLgorCSAqLworCXBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0 aW9uX3N1Y2Nlc3MoTXlMb2dpY2FsUmVwV29ya2VyLT5zdWJpZCwKKwkJCQkJCQkJCSAgIE15TG9n aWNhbFJlcFdvcmtlci0+cmVsaWQsCisJCQkJCQkJCQkgICAwLCAvKiBubyBjb3JyZXNwb25kaW5n IGxvZ2ljYWwgbWVzc2FnZSB0eXBlICovCisJCQkJCQkJCQkgICAwKTsKKworCS8qCiAJICogRmlu YWxseSwgd2FpdCB1bnRpbCB0aGUgbWFpbiBhcHBseSB3b3JrZXIgdGVsbHMgdXMgdG8gY2F0Y2gg dXAgYW5kIHRoZW4KIAkgKiByZXR1cm4gdG8gbGV0IExvZ2ljYWxSZXBBcHBseUxvb3AgZG8gaXQu CiAJICovCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtl ci5jIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwppbmRleCAzNGVk OGU0Li43ZWNhNWRmIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2Fs L3dvcmtlci5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMK QEAgLTIyMiw2ICsyMjIsMjAgQEAgdHlwZWRlZiBzdHJ1Y3QgQXBwbHlFcnJvckNhbGxiYWNrQXJn CiAJTG9naWNhbFJlcE1zZ1R5cGUgY29tbWFuZDsJLyogMCBpZiBpbnZhbGlkICovCiAJTG9naWNh bFJlcFJlbE1hcEVudHJ5ICpyZWw7CiAKKwkvKgorCSAqIFN0b3JlIGRhdGEgc2l6ZSBvZiB0aGlz IHRyYW5zYWN0aW9uLgorCSAqCisJICogVGhlIGJ5dGUgc2l6ZSBvZiB0cmFuc2FjdGlvbiBvbiB0 aGUgcHVibGlzaGVyIGlzIGNhbGN1bGF0ZWQKKwkgKiBieSBSZW9yZGVyQnVmZmVyQ2hhbmdlU2l6 ZSgpIGJhc2VkIG9uIHRoZSBSZW9yZGVyQnVmZmVyQ2hhbmdlCisJICogc3RydWN0dXJlLiBCdXQg b24gdGhlIHN1YnNjcmliZXIsIGNvbnN1bWVkIHJlc291cmNlcyBhcmUKKwkgKiBub3Qgc2FtZSBh cyB0aGUgcHVibGlzaGVyJ3MgZGVjb2RpbmcgcHJvY2VzcyBhbmQgbmVjZXNzYXJ5CisJICogdG8g Y29tcHV0ZSB0aG9zZSBpbiBkaWZmZXJlbnQgd2F5LiBUaGVuLCB0aGUgZXhhY3Qgc2FtZSBieXRl CisJICogc2l6ZSBpcyBub3QgcmVzdG9yZWQgb24gdGhlIHN1YnNjcmliZXIgdXN1YWxseS4gRnVy dGhlciwgaW4KKwkgKiBvcmRlciB0byBnaXZlIGFjY3VyYXRlIGJ5dGVzIGV2ZW4gaW4gdGhlIGNh c2Ugb2YgZXJyb3IsIGFkZAorCSAqIGJ5dGUgc2l6ZSB0byB0aGlzIHZhbHVlIHN0ZXAgYnkgc3Rl cC4KKwkgKi8KKwlQZ1N0YXRfQ291bnRlciBieXRlczsKKwogCS8qIFJlbW90ZSBub2RlIGluZm9y bWF0aW9uICovCiAJaW50CQkJcmVtb3RlX2F0dG51bTsJLyogLTEgaWYgaW52YWxpZCAqLwogCVRy YW5zYWN0aW9uSWQgcmVtb3RlX3hpZDsKQEAgLTIzMiw2ICsyNDYsNyBAQCBzdGF0aWMgQXBwbHlF cnJvckNhbGxiYWNrQXJnIGFwcGx5X2Vycm9yX2NhbGxiYWNrX2FyZyA9CiB7CiAJLmNvbW1hbmQg PSAwLAogCS5yZWwgPSBOVUxMLAorCS5ieXRlcyA9IDAsCiAJLnJlbW90ZV9hdHRudW0gPSAtMSwK IAkucmVtb3RlX3hpZCA9IEludmFsaWRUcmFuc2FjdGlvbklkLAogCS50cyA9IDAsCkBAIC0zMjgs NiArMzQzLDcgQEAgc3RhdGljIHZvaWQgbWF5YmVfcmVyZWFkX3N1YnNjcmlwdGlvbih2b2lkKTsK IAogLyogcHJvdG90eXBlIG5lZWRlZCBiZWNhdXNlIG9mIHN0cmVhbV9jb21taXQgKi8KIHN0YXRp YyB2b2lkIGFwcGx5X2Rpc3BhdGNoKFN0cmluZ0luZm8gcyk7Cit2b2lkIHVwZGF0ZV9hcHBseV9j aGFuZ2Vfc2l6ZShMb2dpY2FsUmVwTXNnVHlwZSBhY3Rpb24sIHZvaWQgKmRhdGEpOwogCiBzdGF0 aWMgdm9pZCBhcHBseV9oYW5kbGVfY29tbWl0X2ludGVybmFsKExvZ2ljYWxSZXBDb21taXREYXRh ICpjb21taXRfZGF0YSk7CiBzdGF0aWMgdm9pZCBhcHBseV9oYW5kbGVfaW5zZXJ0X2ludGVybmFs KEFwcGx5RXhlY3V0aW9uRGF0YSAqZWRhdGEsCkBAIC04NjMsNiArODc5LDEwIEBAIGFwcGx5X2hh bmRsZV9jb21taXQoU3RyaW5nSW5mbyBzKQogCXByb2Nlc3Nfc3luY2luZ190YWJsZXMoY29tbWl0 X2RhdGEuZW5kX2xzbik7CiAKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2aXR5KFNUQVRFX0lETEUsIE5V TEwpOworCXBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0aW9uX3N1Y2Nlc3MoTXlTdWJzY3JpcHRpb24t Pm9pZCwKKwkJCQkJCQkJCSAgIEludmFsaWRPaWQsCisJCQkJCQkJCQkgICBMT0dJQ0FMX1JFUF9N U0dfQ09NTUlULAorCQkJCQkJCQkJICAgYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzKTsK IAlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X2luZm8oKTsKIH0KIApAQCAtOTcxLDYgKzk5MSw5 IEBAIGFwcGx5X2hhbmRsZV9wcmVwYXJlKFN0cmluZ0luZm8gcykKIAogCWluX3JlbW90ZV90cmFu c2FjdGlvbiA9IGZhbHNlOwogCisJLyogVXBkYXRlIHRoZSBzaXplIG9mIGNoYW5nZSBpbiBtZW1v cnkgb2YgdGhpcyB0cmFuc2FjdGlvbiAgKi8KKwl1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTE9H SUNBTF9SRVBfTVNHX1BSRVBBUkUsIE5VTEwpOworCiAJLyogUHJvY2VzcyBhbnkgdGFibGVzIHRo YXQgYXJlIGJlaW5nIHN5bmNocm9uaXplZCBpbiBwYXJhbGxlbC4gKi8KIAlwcm9jZXNzX3N5bmNp bmdfdGFibGVzKHByZXBhcmVfZGF0YS5lbmRfbHNuKTsKIApAQCAtMTAxMiwxMCArMTAzNSwxNyBA QCBhcHBseV9oYW5kbGVfY29tbWl0X3ByZXBhcmVkKFN0cmluZ0luZm8gcykKIAlzdG9yZV9mbHVz aF9wb3NpdGlvbihwcmVwYXJlX2RhdGEuZW5kX2xzbik7CiAJaW5fcmVtb3RlX3RyYW5zYWN0aW9u ID0gZmFsc2U7CiAKKwkvKiBVcGRhdGUgdGhlIHNpemUgb2YgY2hhbmdlIGluIG1lbW9yeSBvZiB0 aGlzIHRyYW5zYWN0aW9uICAqLworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JF UF9NU0dfQ09NTUlUX1BSRVBBUkVELCBOVUxMKTsKKwogCS8qIFByb2Nlc3MgYW55IHRhYmxlcyB0 aGF0IGFyZSBiZWluZyBzeW5jaHJvbml6ZWQgaW4gcGFyYWxsZWwuICovCiAJcHJvY2Vzc19zeW5j aW5nX3RhYmxlcyhwcmVwYXJlX2RhdGEuZW5kX2xzbik7CiAKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2 aXR5KFNUQVRFX0lETEUsIE5VTEwpOworCXBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0aW9uX3N1Y2Nl c3MoTXlTdWJzY3JpcHRpb24tPm9pZCwKKwkJCQkJCQkJCSAgIEludmFsaWRPaWQsCisJCQkJCQkJ CQkgICBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUX1BSRVBBUkVELAorCQkJCQkJCQkJICAgYXBwbHlf ZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzKTsKIAlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X2lu Zm8oKTsKIH0KIApAQCAtMTE5OCw2ICsxMjI4LDEwIEBAIGFwcGx5X2hhbmRsZV9zdHJlYW1fc3Rh cnQoU3RyaW5nSW5mbyBzKQogCQlvbGRjdHggPSBNZW1vcnlDb250ZXh0U3dpdGNoVG8oQXBwbHlD b250ZXh0KTsKIAogCQlzdHJlYW1fZmlsZXNldCA9IHBhbGxvYyhzaXplb2YoRmlsZVNldCkpOwor CisJCS8qIFVwZGF0ZSB0aGUgc2l6ZSBvZiBjaGFuZ2UgaW4gbWVtb3J5IG9mIHRoaXMgdHJhbnNh Y3Rpb24gICovCisJCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfU1RS RUFNX1NUQVJULCBOVUxMKTsKKwogCQlGaWxlU2V0SW5pdChzdHJlYW1fZmlsZXNldCk7CiAKIAkJ TWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CkBAIC0xMzUwLDYgKzEzODQsMTAgQEAgYXBw bHlfaGFuZGxlX3N0cmVhbV9hYm9ydChTdHJpbmdJbmZvIHMpCiAJaWYgKGlzX3NraXBwaW5nX2No YW5nZXMoKSkKIAkJc3RvcF9za2lwcGluZ19jaGFuZ2VzKEludmFsaWRYTG9nUmVjUHRyLCAwKTsK IAorCXBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0aW9uX3N1Y2Nlc3MoTXlTdWJzY3JpcHRpb24tPm9p ZCwKKwkJCQkJCQkJCSAgIEludmFsaWRPaWQsCisJCQkJCQkJCQkgICBMT0dJQ0FMX1JFUF9NU0df U1RSRUFNX0FCT1JULAorCQkJCQkJCQkJICAgYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVz KTsKIAlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X2luZm8oKTsKIH0KIApAQCAtMTQ5OCw2ICsx NTM2LDEwIEBAIGFwcGx5X2hhbmRsZV9zdHJlYW1fY29tbWl0KFN0cmluZ0luZm8gcykKIAkJc3Rv cF9za2lwcGluZ19jaGFuZ2VzKGNvbW1pdF9kYXRhLmVuZF9sc24sIGNvbW1pdF9kYXRhLmNvbW1p dHRpbWUpOwogCiAJCXN0b3JlX2ZsdXNoX3Bvc2l0aW9uKGNvbW1pdF9kYXRhLmVuZF9sc24pOwor CisJCS8qIFVwZGF0ZSB0aGUgc2l6ZSBvZiBjaGFuZ2UgaW4gbWVtb3J5IG9mIHRoaXMgdHJhbnNh Y3Rpb24gICovCisJCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfU1RS RUFNX0NPTU1JVCwgTlVMTCk7CisKIAkJaW5fcmVtb3RlX3RyYW5zYWN0aW9uID0gZmFsc2U7CiAJ fQogCWVsc2UKQEAgLTE2NTAsNiArMTY5Miw5IEBAIGFwcGx5X2hhbmRsZV9pbnNlcnQoU3RyaW5n SW5mbyBzKQogCXNsb3RfZmlsbF9kZWZhdWx0cyhyZWwsIGVzdGF0ZSwgcmVtb3Rlc2xvdCk7CiAJ TWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CiAKKwkvKiBVcGRhdGUgdGhlIHNpemUgb2Yg Y2hhbmdlIGluIG1lbW9yeSBvZiB0aGlzIHRyYW5zYWN0aW9uICAqLworCXVwZGF0ZV9hcHBseV9j aGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfSU5TRVJULCByZWwpOworCiAJLyogRm9yIGEgcGFy dGl0aW9uZWQgdGFibGUsIGluc2VydCB0aGUgdHVwbGUgaW50byBhIHBhcnRpdGlvbi4gKi8KIAlp ZiAocmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFSVElUSU9ORURf VEFCTEUpCiAJCWFwcGx5X2hhbmRsZV90dXBsZV9yb3V0aW5nKGVkYXRhLApAQCAtMTgwNyw2ICsx ODUyLDkgQEAgYXBwbHlfaGFuZGxlX3VwZGF0ZShTdHJpbmdJbmZvIHMpCiAJCQkJCWhhc19vbGR0 dXAgPyAmb2xkdHVwIDogJm5ld3R1cCk7CiAJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7 CiAKKwkvKiBVcGRhdGUgdGhlIHNpemUgb2YgY2hhbmdlIGluIG1lbW9yeSBvZiB0aGlzIHRyYW5z YWN0aW9uICAqLworCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfSU5T RVJULCByZWwpOworCiAJLyogRm9yIGEgcGFydGl0aW9uZWQgdGFibGUsIGFwcGx5IHVwZGF0ZSB0 byBjb3JyZWN0IHBhcnRpdGlvbi4gKi8KIAlpZiAocmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxr aW5kID09IFJFTEtJTkRfUEFSVElUSU9ORURfVEFCTEUpCiAJCWFwcGx5X2hhbmRsZV90dXBsZV9y b3V0aW5nKGVkYXRhLApAQCAtMTk0MSw2ICsxOTg5LDkgQEAgYXBwbHlfaGFuZGxlX2RlbGV0ZShT dHJpbmdJbmZvIHMpCiAJc2xvdF9zdG9yZV9kYXRhKHJlbW90ZXNsb3QsIHJlbCwgJm9sZHR1cCk7 CiAJTWVtb3J5Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CiAKKwkvKiBVcGRhdGUgdGhlIHNpemUg b2YgY2hhbmdlIGluIG1lbW9yeSBvZiB0aGlzIHRyYW5zYWN0aW9uICAqLworCXVwZGF0ZV9hcHBs eV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfSU5TRVJULCByZWwpOworCiAJLyogRm9yIGEg cGFydGl0aW9uZWQgdGFibGUsIGFwcGx5IGRlbGV0ZSB0byBjb3JyZWN0IHBhcnRpdGlvbi4gKi8K IAlpZiAocmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFSVElUSU9O RURfVEFCTEUpCiAJCWFwcGx5X2hhbmRsZV90dXBsZV9yb3V0aW5nKGVkYXRhLApAQCAtMjUwMyw2 ICsyNTU0LDEzMyBAQCBhcHBseV9kaXNwYXRjaChTdHJpbmdJbmZvIHMpCiB9CiAKIC8qCisgKiBT dWJzY3JpYmVyIHNpZGUgaW1wbGVtZW50YXRpb24gZXF1aXZhbGVudCB0byBSZW9yZGVyQnVmZmVy Q2hhbmdlU2l6ZQorICogb24gdGhlIHB1Ymxpc2hlci4KKyAqCisgKiBBY2NvcmRpbmcgdG8gdGhl IGxvZ2ljYWwgcmVwbGljYXRpb24gbWVzc2FnZSB0eXBlLCByZWNvcmQgbWFqb3IKKyAqIHJlc291 cmNlIGNvbnN1bXB0aW9ucyBvZiB0aGlzIHN1YnNjcmlwdGlvbiBmb3IgZWFjaCBtZXNzYWdlLgor ICogQXQgcHJlc2VudCwgZG8gbm90IGNvbGxlY3QgZGF0YSBmcm9tIGdlbmVyaWMgZnVuY3Rpb25z IHRvIGtlZXAKKyAqIGNvZGUgc2ltcGxpY2l0eS4gQWxzbywgYnkgYWRkaW5nIG11bHRpcGxlIHZh bHVlcyBhdCBvbmNlLAorICogcmVkdWNlIGZ1bmN0aW9uIGNhbGxzIG9mIHRoaXMgZnVuY3Rpb24g aXRzZWxmLgorICoKKyAqICdkYXRhJyBjb250cm9scyBkZXRhaWwgaGFuZGxpbmcgb2YgZGF0YSBz aXplIGNhbGN1bGF0aW9uLgorICovCit2b2lkCit1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTG9n aWNhbFJlcE1zZ1R5cGUgYWN0aW9uLCB2b2lkICpkYXRhKQoreworCWludDY0CQlzaXplID0gMDsK KwlMb2dpY2FsUmVwUmVsTWFwRW50cnkgKnJlbG1hcGVudHJ5OworCUxvZ2ljYWxSZXBSZWxhdGlv biAqcmVwcmVsYXRpb247CisJaW50CQkJKnN0cmVhbV93cml0ZV9sZW47CisKKwkvKgorCSAqIElu IHN0cmVhbWluZyBtb2RlLCBzdHJlYW1fd3JpdGVfY2hhbmdlIGlzIGNhbGxlZAorCSAqIGluc3Rl YWQgb2YgaW1tZWRpYXRlIGFwcGx5LiBMaXN0IHVwIHRoZSBtZXNzYWdlcyB0eXBlcworCSAqIHRo YXQgY2FuIGJlIGNhdWdodCBieSBoYW5kbGVfc3RyZWFtZWRfdHJhbnNhY3Rpb24gYW5kCisJICog dHJlYXQgdGhlIHdyaXRlIGxlbmd0aCBhcyB0aGUgc2l6ZSBvZiB0cmFuc2FjdGlvbiBzbworCSAq IHRoYXQgd2UgY2FuIGV4cG9ydCBpdCBhcyBwYXJ0IG9mIHBnX3N0YXRfc3Vic2NyaXB0aW9uLgor CSAqLworCWlmIChpbl9zdHJlYW1lZF90cmFuc2FjdGlvbiAmJgorCQkoYWN0aW9uID09IExPR0lD QUxfUkVQX01TR19SRUxBVElPTiB8fAorCQkgYWN0aW9uID09IExPR0lDQUxfUkVQX01TR19UWVBF IHx8CisJCSBhY3Rpb24gPT0gTE9HSUNBTF9SRVBfTVNHX0lOU0VSVCB8fAorCQkgYWN0aW9uID09 IExPR0lDQUxfUkVQX01TR19VUERBVEUgfHwKKwkJIGFjdGlvbiA9PSBMT0dJQ0FMX1JFUF9NU0df REVMRVRFIHx8CisJCSBhY3Rpb24gPT0gTE9HSUNBTF9SRVBfTVNHX1RSVU5DQVRFKSkKKwl7CisJ CXN0cmVhbV93cml0ZV9sZW4gPSAoaW50ICopIGRhdGE7CisJCXNpemUgKz0gKnN0cmVhbV93cml0 ZV9sZW47CisJCWFkZF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZShzaXplKTsKKwkJcmV0 dXJuOworCX0KKworCXN3aXRjaCAoYWN0aW9uKQorCXsKKwkJLyogRm9sbG93IHRoZSBzYW1lIG9y ZGVyIGFzIGluIHRoZSBhcHBseV9kaXNwYXRjaCAqLworCQljYXNlIExPR0lDQUxfUkVQX01TR19C RUdJTjoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUOgorCQkJYnJlYWs7CisKKwkJY2Fz ZSBMT0dJQ0FMX1JFUF9NU0dfSU5TRVJUOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19VUERBVEU6 CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX0RFTEVURToKKwkJCUFzc2VydChkYXRhICE9IE5VTEwp OworCisJCQkvKgorCQkJICogQ29tcHV0ZSBzaXplIGJhc2VkIG9uIEFwcGx5RXhlY3V0aW9uRGF0 YS4KKwkJCSAqIFRoZSBzaXplIG9mIExvZ2ljYWxSZXBSZWxNYXBFbnRyeSBjYW4gYmUgc2tpcHBl ZCBiZWNhdXNlCisJCQkgKiBpdCBpcyBvYnRhaW5lZCBmcm9tIGhhc2hfc2VhcmNoIGluIGxvZ2lj YWxyZXBfcmVsX29wZW4uCisJCQkgKi8KKwkJCXNpemUgKz0gc2l6ZW9mKEFwcGx5RXhlY3V0aW9u RGF0YSkgKyBzaXplb2YoRVN0YXRlKSArCisJCQkJc2l6ZW9mKFJlc3VsdFJlbEluZm8pICsgc2l6 ZW9mKFJlc3VsdFJlbEluZm8pOworCisJCQkvKgorCQkJICogQWRkIHNvbWUgZXh0cmEgc2l6ZSBp ZiB0aGUgdGFyZ2V0IHJlbGF0aW9uIGlzIHBhcnRpdGlvbmVkLgorCQkJICogUGFydGl0aW9uVHVw bGVSb3V0aW5nIGlzbid0IGV4cG9ydGVkIHNvIGNhbGwgdGhlIGZ1bmN0aW9uCisJCQkgKiB0aGF0 IHJldHVybnMgaXRzIHNpemUgaW5zdGVhZC4KKwkJCSAqLworCQkJcmVsbWFwZW50cnkgPSAoTG9n aWNhbFJlcFJlbE1hcEVudHJ5ICopIGRhdGE7CisJCQlpZiAocmVsbWFwZW50cnktPmxvY2FscmVs LT5yZF9yZWwtPnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKKwkJCQlzaXpl ICs9IHNpemVvZihNb2RpZnlUYWJsZVN0YXRlKSArIFBhcnRpdGlvblR1cGxlUm91dGluZ1NpemUo KTsKKwkJCWJyZWFrOworCisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1RSVU5DQVRFOgorCQkJLyog Tm8gc3BlY2lhbCBjb25zdW1wdGlvbiBleGNlcHQgZm9yIGdlbmVyaWMgZnVuY3Rpb25zICovCisJ CQlicmVhazsKKworCQljYXNlIExPR0lDQUxfUkVQX01TR19SRUxBVElPTjoKKwkJCUFzc2VydChk YXRhICE9IE5VTEwpOworCisJCQlyZXByZWxhdGlvbiA9IChMb2dpY2FsUmVwUmVsYXRpb24gKikg ZGF0YTsKKwkJCS8qIFNlZSBsb2dpY2FscmVwX3JlYWRfYXR0cnMoKSBmb3IgdGhlIGxhc3QgdHdv ICovCisJCQlzaXplICs9IHNpemVvZihMb2dpY2FsUmVwUmVsYXRpb24pICsKKwkJCQlyZXByZWxh dGlvbi0+bmF0dHMgKiBzaXplb2YoY2hhciAqKSArCisJCQkJcmVwcmVsYXRpb24tPm5hdHRzICog c2l6ZW9mKE9pZCk7CisJCQlicmVhazsKKworCQljYXNlIExPR0lDQUxfUkVQX01TR19UWVBFOgor CQljYXNlIExPR0lDQUxfUkVQX01TR19PUklHSU46CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX01F U1NBR0U6CisJCQlicmVhazsKKworCQljYXNlIExPR0lDQUxfUkVQX01TR19TVFJFQU1fU1RBUlQ6 CisJCQlzaXplICs9IHNpemVvZihGaWxlU2V0KTsKKwkJCWJyZWFrOworCisJCWNhc2UgTE9HSUNB TF9SRVBfTVNHX1NUUkVBTV9TVE9QOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19TVFJFQU1fQUJP UlQ6CisJCQlicmVhazsKKworCQljYXNlIExPR0lDQUxfUkVQX01TR19TVFJFQU1fQ09NTUlUOgor CQkJc2l6ZSArPSBzaXplb2YoRmx1c2hQb3NpdGlvbik7CisJCQlicmVhazsKKworCQljYXNlIExP R0lDQUxfUkVQX01TR19CRUdJTl9QUkVQQVJFOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19QUkVQ QVJFOgorCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUX1BSRVBBUkVE OgorCQkJc2l6ZSArPSBzaXplb2YoRmx1c2hQb3NpdGlvbik7CisJCQlicmVhazsKKworCQljYXNl IExPR0lDQUxfUkVQX01TR19ST0xMQkFDS19QUkVQQVJFRDoKKwkJCWJyZWFrOworCisJCWNhc2Ug TE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9QUkVQQVJFOgorCQkJc2l6ZSArPSBzaXplb2YoRmx1c2hQ b3NpdGlvbik7CisJCQlicmVhazsKKworCQlkZWZhdWx0OgorCQkJZXJlcG9ydChFUlJPUiwKKwkJ CQkJKGVycmNvZGUoRVJSQ09ERV9QUk9UT0NPTF9WSU9MQVRJT04pLAorCQkJCQkgZXJybXNnKCJp bnZhbGlkIGxvZ2ljYWwgcmVwbGljYXRpb24gbWVzc2FnZSB0eXBlIFwiJWNcIiIsIGFjdGlvbikp KTsKKwl9CisKKwkvKiB1cGRhdGUgdGhlIHRvdGFsIHNpemUgb2YgY29uc3VtcHRpb24gKi8KKwlh ZGRfYXBwbHlfZXJyb3JfY29udGV4dF94YWN0X3NpemUoc2l6ZSk7Cit9CisKKy8qCiAgKiBGaWd1 cmUgb3V0IHdoaWNoIHdyaXRlL2ZsdXNoIHBvc2l0aW9ucyB0byByZXBvcnQgdG8gdGhlIHdhbHNl bmRlciBwcm9jZXNzLgogICoKICAqIFdlIGNhbid0IHNpbXBseSByZXBvcnQgYmFjayB0aGUgbGFz dCBMU04gdGhlIHdhbHNlbmRlciBzZW50IHVzIGJlY2F1c2UgdGhlCkBAIC0zMzYyLDYgKzM1NDAs NyBAQCBzdGF0aWMgdm9pZAogc3RyZWFtX3dyaXRlX2NoYW5nZShjaGFyIGFjdGlvbiwgU3RyaW5n SW5mbyBzKQogewogCWludAkJCWxlbjsKKwlpbnQJCQl0b3RhbF9sZW47CiAKIAlBc3NlcnQoaW5f c3RyZWFtZWRfdHJhbnNhY3Rpb24pOwogCUFzc2VydChUcmFuc2FjdGlvbklkSXNWYWxpZChzdHJl YW1feGlkKSk7CkBAIC0zMzgwLDYgKzM1NTksMTAgQEAgc3RyZWFtX3dyaXRlX2NoYW5nZShjaGFy IGFjdGlvbiwgU3RyaW5nSW5mbyBzKQogCWxlbiA9IChzLT5sZW4gLSBzLT5jdXJzb3IpOwogCiAJ QnVmRmlsZVdyaXRlKHN0cmVhbV9mZCwgJnMtPmRhdGFbcy0+Y3Vyc29yXSwgbGVuKTsKKworCS8q IGFjY3VtdWxhdGUgdGhlIHRvdGFsIGJ5dGVzIHByb2Nlc3NlZCBpbiB0aGlzIGZ1bmN0aW9uICov CisJdG90YWxfbGVuID0gKHMtPmxlbiAtIHMtPmN1cnNvcikgKiAyICsgc2l6ZW9mKGNoYXIpICsg c2l6ZW9mKGFjdGlvbik7CisJdXBkYXRlX2FwcGx5X2NoYW5nZV9zaXplKGFjdGlvbiwgJnRvdGFs X2xlbik7CiB9CiAKIC8qCkBAIC0zNzQ0LDYgKzM5MjcsMjcgQEAgc2V0X2FwcGx5X2Vycm9yX2Nv bnRleHRfeGFjdChUcmFuc2FjdGlvbklkIHhpZCwgVGltZXN0YW1wVHogdHMpCiAJYXBwbHlfZXJy b3JfY2FsbGJhY2tfYXJnLnRzID0gdHM7CiB9CiAKKy8qIEV4cG9ydGVkIHNvIHRoYXQgc3RhdHMg Y29sbGVjdG9yIGNhbiB1dGlsaXplIHRoaXMgdmFsdWUgKi8KK2ludDY0CitnZXRfYXBwbHlfZXJy b3JfY29udGV4dF94YWN0X3NpemUodm9pZCkKK3sKKwlyZXR1cm4gYXBwbHlfZXJyb3JfY2FsbGJh Y2tfYXJnLmJ5dGVzOworfQorCisvKiBBZGQgc2l6ZSB0byBhcHBseSBlcnJvciBjYWxsYmFjayBi eXRlcyAqLwordm9pZAorYWRkX2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKGludDY0IHNp emUpCit7CisJYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzICs9IHNpemU7Cit9CisKKy8q IFJlc2V0IGJ5dGVzIGluZm9ybWF0aW9uIG9mIGFwcGx5IGVycm9yIGNhbGxiYWNrICovCit2b2lk CityZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSh2b2lkKQoreworCWFwcGx5X2Vy cm9yX2NhbGxiYWNrX2FyZy5ieXRlcyA9IDA7Cit9CisKIC8qIFJlc2V0IGFsbCBpbmZvcm1hdGlv biBvZiBhcHBseSBlcnJvciBjYWxsYmFjayAqLwogc3RhdGljIGlubGluZSB2b2lkCiByZXNldF9h cHBseV9lcnJvcl9jb250ZXh0X2luZm8odm9pZCkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0 aWxzL2FkdC9wZ3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNz LmMKaW5kZXggYzQ1NGUyZi4uMGI0YWQyMSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMv YWR0L3Bnc3RhdGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNz LmMKQEAgLTI0OTIsMyArMjQ5MiwxMzYgQEAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX2Vycm9y KFBHX0ZVTkNUSU9OX0FSR1MpCiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCiAJ UEdfUkVUVVJOX0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBkZXNj LCB2YWx1ZXMsIG51bGxzKSkpOwogfQorCitEYXR1bQorcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9u X3hhY3RfY29tbWl0KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJT2lkCQkJc3ViaWQgPSBQR19HRVRB UkdfT0lEKDApOworCU9pZAkJCXJlbGlkOworCWludDY0CQlyZXN1bHQ7CisJUGdTdGF0X1N0YXRT dWJFcnJFbnRyeSAqZXJyZW50OworCisJaWYgKFBHX0FSR0lTTlVMTCgxKSkKKwkJcmVsaWQgPSBJ bnZhbGlkT2lkOworCWVsc2UKKwkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDEpOworCisJLyogR2V0 IHN1YnNjcmlwdGlvbiBlcnJvciBlbnRyeSAqLworCWlmICgoZXJyZW50ID0gcGdzdGF0X2ZldGNo X3N1YnNjcmlwdGlvbl9lcnJvcihzdWJpZCwgcmVsaWQpKSA9PSBOVUxMKQorCQlyZXN1bHQgPSAw OworCWVsc2UKKwkJcmVzdWx0ID0gKGludDY0KSAoZXJyZW50LT54YWN0X2NvbW1pdCk7CisKKwlQ R19SRVRVUk5fSU5UNjQocmVzdWx0KTsKK30KKworRGF0dW0KK3BnX3N0YXRfZ2V0X3N1YnNjcmlw dGlvbl94YWN0X2NvbW1pdF9ieXRlcyhQR19GVU5DVElPTl9BUkdTKQoreworCU9pZAkJCXN1Ymlk ID0gUEdfR0VUQVJHX09JRCgwKTsKKwlPaWQJCQlyZWxpZDsKKwlpbnQ2NAkJcmVzdWx0OworCVBn U3RhdF9TdGF0U3ViRXJyRW50cnkgKmVycmVudDsKKworCWlmIChQR19BUkdJU05VTEwoMSkpCisJ CXJlbGlkID0gSW52YWxpZE9pZDsKKwllbHNlCisJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgxKTsK KworCS8qIEdldCBzdWJzY3JpcHRpb24gZXJyb3IgZW50cnkgKi8KKwlpZiAoKGVycmVudCA9IHBn c3RhdF9mZXRjaF9zdWJzY3JpcHRpb25fZXJyb3Ioc3ViaWQsIHJlbGlkKSkgPT0gTlVMTCkKKwkJ cmVzdWx0ID0gMDsKKwllbHNlCisJCXJlc3VsdCA9IChpbnQ2NCkgKGVycmVudC0+eGFjdF9jb21t aXRfYnl0ZXMpOworCisJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7Cit9CisKKworRGF0dW0KK3Bn X3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Vycm9yKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJ T2lkCQkJc3ViaWQgPSBQR19HRVRBUkdfT0lEKDApOworCU9pZAkJCXJlbGlkOworCWludDY0CQly ZXN1bHQ7CisJUGdTdGF0X1N0YXRTdWJFcnJFbnRyeSAqZXJyZW50OworCisJaWYgKFBHX0FSR0lT TlVMTCgxKSkKKwkJcmVsaWQgPSBJbnZhbGlkT2lkOworCWVsc2UKKwkJcmVsaWQgPSBQR19HRVRB UkdfT0lEKDEpOworCisJLyogR2V0IHN1YnNjcmlwdGlvbiBlcnJvciBlbnRyeSAqLworCWlmICgo ZXJyZW50ID0gcGdzdGF0X2ZldGNoX3N1YnNjcmlwdGlvbl9lcnJvcihzdWJpZCwgcmVsaWQpKSA9 PSBOVUxMKQorCQlyZXN1bHQgPSAwOworCWVsc2UKKwkJcmVzdWx0ID0gKGludDY0KSAoZXJyZW50 LT54YWN0X2Vycm9yKTsKKworCVBHX1JFVFVSTl9JTlQ2NChyZXN1bHQpOworfQorCitEYXR1bQor cGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfZXJyb3JfYnl0ZXMoUEdfRlVOQ1RJT05fQVJH UykKK3sKKwlPaWQJCQlzdWJpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJT2lkCQkJcmVsaWQ7CisJ aW50NjQJCXJlc3VsdDsKKwlQZ1N0YXRfU3RhdFN1YkVyckVudHJ5ICplcnJlbnQ7CisKKwlpZiAo UEdfQVJHSVNOVUxMKDEpKQorCQlyZWxpZCA9IEludmFsaWRPaWQ7CisJZWxzZQorCQlyZWxpZCA9 IFBHX0dFVEFSR19PSUQoMSk7CisKKwkvKiBHZXQgc3Vic2NyaXB0aW9uIGVycm9yIGVudHJ5ICov CisJaWYgKChlcnJlbnQgPSBwZ3N0YXRfZmV0Y2hfc3Vic2NyaXB0aW9uX2Vycm9yKHN1YmlkLCBy ZWxpZCkpID09IE5VTEwpCisJCXJlc3VsdCA9IDA7CisJZWxzZQorCQlyZXN1bHQgPSAoaW50NjQp IChlcnJlbnQtPnhhY3RfZXJyb3JfYnl0ZXMpOworCisJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7 Cit9CisKK0RhdHVtCitwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9hYm9ydChQR19GVU5D VElPTl9BUkdTKQoreworCU9pZAkJCXN1YmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlPaWQJCQly ZWxpZDsKKwlpbnQ2NAkJcmVzdWx0OworCVBnU3RhdF9TdGF0U3ViRXJyRW50cnkgKmVycmVudDsK KworCWlmIChQR19BUkdJU05VTEwoMSkpCisJCXJlbGlkID0gSW52YWxpZE9pZDsKKwllbHNlCisJ CXJlbGlkID0gUEdfR0VUQVJHX09JRCgxKTsKKworCS8qIEdldCBzdWJzY3JpcHRpb24gZXJyb3Ig ZW50cnkgKi8KKwlpZiAoKGVycmVudCA9IHBnc3RhdF9mZXRjaF9zdWJzY3JpcHRpb25fZXJyb3Io c3ViaWQsIHJlbGlkKSkgPT0gTlVMTCkKKwkJcmVzdWx0ID0gMDsKKwllbHNlCisJCXJlc3VsdCA9 IChpbnQ2NCkgKGVycmVudC0+eGFjdF9hYm9ydCk7CisKKwlQR19SRVRVUk5fSU5UNjQocmVzdWx0 KTsKK30KKworRGF0dW0KK3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Fib3J0X2J5dGVz KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJT2lkCQkJc3ViaWQgPSBQR19HRVRBUkdfT0lEKDApOwor CU9pZAkJCXJlbGlkOworCWludDY0CQlyZXN1bHQ7CisJUGdTdGF0X1N0YXRTdWJFcnJFbnRyeSAq ZXJyZW50OworCisJaWYgKFBHX0FSR0lTTlVMTCgxKSkKKwkJcmVsaWQgPSBJbnZhbGlkT2lkOwor CWVsc2UKKwkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDEpOworCisJLyogR2V0IHN1YnNjcmlwdGlv biBlcnJvciBlbnRyeSAqLworCWlmICgoZXJyZW50ID0gcGdzdGF0X2ZldGNoX3N1YnNjcmlwdGlv bl9lcnJvcihzdWJpZCwgcmVsaWQpKSA9PSBOVUxMKQorCQlyZXN1bHQgPSAwOworCWVsc2UKKwkJ cmVzdWx0ID0gKGludDY0KSAoZXJyZW50LT54YWN0X2Fib3J0X2J5dGVzKTsKKworCVBHX1JFVFVS Tl9JTlQ2NChyZXN1bHQpOworfQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19w cm9jLmRhdCBiL3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggZWE0ZTZkMi4u YWViOTM1YyAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysg Yi9zcmMvaW5jbHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC01MzkzLDYgKzUzOTMsMzAgQEAK ICAgcHJvYXJnbW9kZXMgPT4gJ3tpLGksbyxvLG8sbyxvLG8sbyxvLG8sb30nLAogICBwcm9hcmdu YW1lcyA9PiAne3N1YmlkLHJlbGlkLGRhdGlkLHN1YmlkLHJlbGlkLGNvbW1hbmQseGlkLGZhaWx1 cmVfc291cmNlLGZhaWx1cmVfY291bnQsbGFzdF9mYWlsdXJlLGxhc3RfZmFpbHVyZV9tZXNzYWdl LHN0YXRzX3Jlc2V0fScsCiAgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX2Vy cm9yJyB9LAoreyBvaWQgPT4gJzg1MjUnLCBkZXNjciA9PiAnc3RhdGlzdGljczogbnVtYmVyIG9m IHRyYW5zYWN0aW9ucyBjb21taXQgZm9yIGEgc3Vic2NyaXB0aW9uJywKKyAgcHJvbmFtZSA9PiAn cGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfY29tbWl0JywgcHJvaXNzdHJpY3QgPT4gJ2Yn LCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdyJywgcHJvcmV0dHlwZSA9 PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQgb2lkJywKKyAgcHJvc3JjID0+ICdwZ19zdGF0 X2dldF9zdWJzY3JpcHRpb25feGFjdF9jb21taXQnIH0sCit7IG9pZCA9PiAnODUyNicsIGRlc2Ny ID0+ICdzdGF0aXN0aWNzOiBieXRlcyBvZiB0cmFuc2FjdGlvbnMgY29tbWl0IGZvciBhIHN1YnNj cmlwdGlvbicsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Nv bW1pdF9ieXRlcycsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBw cm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAn b2lkIG9pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfY29t bWl0X2J5dGVzJyB9LAoreyBvaWQgPT4gJzg1MjcnLCBkZXNjciA9PiAnc3RhdGlzdGljczogbnVt YmVyIG9mIHRyYW5zYWN0aW9ucyBlcnJvciBmb3IgYSBzdWJzY3JpcHRpb24nLAorICBwcm9uYW1l ID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9lcnJvcicsIHByb2lzc3RyaWN0ID0+ ICdmJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5 cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkIG9pZCcsCisgIHByb3NyYyA9PiAncGdf c3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfZXJyb3InIH0sCit7IG9pZCA9PiAnODUyOCcsIGRl c2NyID0+ICdzdGF0aXN0aWNzOiBieXRlcyBvZiB0cmFuc2FjdGlvbnMgZXJyb3IgZm9yIGEgc3Vi c2NyaXB0aW9uJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3Rf ZXJyb3JfYnl0ZXMnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAg cHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4g J29pZCBvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Vy cm9yX2J5dGVzJyB9LAoreyBvaWQgPT4gJzg1MjknLCBkZXNjciA9PiAnc3RhdGlzdGljczogbnVt YmVyIG9mIHRyYW5zYWN0aW9ucyBhYm9ydCBmb3IgYSBzdWJzY3JpcHRpb24nLAorICBwcm9uYW1l ID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9hYm9ydCcsIHByb2lzc3RyaWN0ID0+ ICdmJywgcHJvdm9sYXRpbGUgPT4gJ3MnLAorICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5 cGUgPT4gJ2ludDgnLCBwcm9hcmd0eXBlcyA9PiAnb2lkIG9pZCcsCisgIHByb3NyYyA9PiAncGdf c3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfYWJvcnQnIH0sCit7IG9pZCA9PiAnODUzMCcsIGRl c2NyID0+ICdzdGF0aXN0aWNzOiBieXRlcyBvZiB0cmFuc2FjdGlvbnMgYWJvcnQgZm9yIGEgc3Vi c2NyaXB0aW9uJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3Rf YWJvcnRfYnl0ZXMnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAg cHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4g J29pZCBvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Fi b3J0X2J5dGVzJyB9LAogeyBvaWQgPT4gJzYxMTgnLCBkZXNjciA9PiAnc3RhdGlzdGljczogaW5m b3JtYXRpb24gYWJvdXQgc3Vic2NyaXB0aW9uJywKICAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRf c3Vic2NyaXB0aW9uJywgcHJvcm93cyA9PiAnMTAnLCBwcm9pc3N0cmljdCA9PiAnZicsCiAgIHBy b3JldHNldCA9PiAndCcsIHByb3ZvbGF0aWxlID0+ICdzJywgcHJvcGFyYWxsZWwgPT4gJ3InLApk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5oIGIvc3JjL2lu Y2x1ZGUvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5oCmluZGV4IDY5NGUzOGIuLjc3M2U0NmMgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uaAorKysgYi9zcmMv aW5jbHVkZS9leGVjdXRvci9leGVjUGFydGl0aW9uLmgKQEAgLTExMCw2ICsxMTAsNyBAQCB0eXBl ZGVmIHN0cnVjdCBQYXJ0aXRpb25QcnVuZVN0YXRlCiAJUGFydGl0aW9uUHJ1bmluZ0RhdGEgKnBh cnRwcnVuZWRhdGFbRkxFWElCTEVfQVJSQVlfTUVNQkVSXTsKIH0gUGFydGl0aW9uUHJ1bmVTdGF0 ZTsKIAorZXh0ZXJuIHNpemVfdCBQYXJ0aXRpb25UdXBsZVJvdXRpbmdTaXplKHZvaWQpOwogZXh0 ZXJuIFBhcnRpdGlvblR1cGxlUm91dGluZyAqRXhlY1NldHVwUGFydGl0aW9uVHVwbGVSb3V0aW5n KEVTdGF0ZSAqZXN0YXRlLAogCQkJCQkJCQkJCQkJCQkJIFJlbGF0aW9uIHJlbCk7CiBleHRlcm4g UmVzdWx0UmVsSW5mbyAqRXhlY0ZpbmRQYXJ0aXRpb24oTW9kaWZ5VGFibGVTdGF0ZSAqbXRzdGF0 ZSwKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oIGIvc3JjL2luY2x1ZGUvcGdzdGF0 LmgKaW5kZXggNjc3NTczNi4uN2ZhNTNlZCAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvcGdzdGF0 LmgKKysrIGIvc3JjL2luY2x1ZGUvcGdzdGF0LmgKQEAgLTY3LDYgKzY3LDcgQEAgdHlwZWRlZiBl bnVtIFN0YXRNc2dUeXBlCiAJUEdTVEFUX01UWVBFX1JFU0VUU0lOR0xFQ09VTlRFUiwKIAlQR1NU QVRfTVRZUEVfUkVTRVRTTFJVQ09VTlRFUiwKIAlQR1NUQVRfTVRZUEVfUkVTRVRSRVBMU0xPVENP VU5URVIsCisJUEdTVEFUX01UWVBFX1NVQlNDUklQVElPTlNVQ0NFU1MsCiAJUEdTVEFUX01UWVBF X1NVQlNDUklQVElPTkVSUiwKIAlQR1NUQVRfTVRZUEVfU1VCU0NSSVBUSU9ORVJSUFVSR0UsCiAJ UEdTVEFUX01UWVBFX1NVQlNDUklQVElPTlBVUkdFLApAQCAtNTY1LDYgKzU2Niw3IEBAIHR5cGVk ZWYgc3RydWN0IFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25FcnIKIAlPaWQJCQltX3JlbGlkOwogCUxv Z2ljYWxSZXBNc2dUeXBlIG1fY29tbWFuZDsKIAlUcmFuc2FjdGlvbklkIG1feGlkOworCVBnU3Rh dF9Db3VudGVyIG1fYnl0ZXM7CiAJVGltZXN0YW1wVHogbV9mYWlsdXJlX3RpbWU7CiAJY2hhcgkJ bV9lcnJtc2dbUEdTVEFUX1NVQlNDUklQVElPTkVSUl9NU0dMRU5dOwogfSBQZ1N0YXRfTXNnU3Vi c2NyaXB0aW9uRXJyOwpAQCAtMTAwMiw2ICsxMDA0LDExIEBAIHR5cGVkZWYgc3RydWN0IFBnU3Rh dF9TdGF0U3ViRW50cnkKICAqIChzdWJyZWxpZCBpcyBJbnZhbGlkT2lkKSBvciBieSB0aGUgdGFi bGUgc3luYyB3b3JrZXIgKHN1YnJlbGlkIGlzIGEgdmFsaWQgT0lEKS4KICAqIFRoZSBlcnJvciBy ZXBvcnRlZCBieSB0aGUgdGFibGUgc3luYyB3b3JrZXIgaXMgcmVtb3ZlZCBhbHNvIHdoZW4gdGhl IHRhYmxlCiAgKiBzeW5jaHJvbml6YXRpb24gcHJvY2VzcyBjb21wbGV0ZWQuCisgKgorICogT3Ro ZXIgZ2VuZXJhbCBzdGF0cyBmb3IgdHJhbnNhY3Rpb24gb24gc3Vic2NyaXB0aW9uIGFyZSBzdG9y ZWQgaW4gdGhpcyBlbnRyeQorICogYXMgd2VsbCwgYWxpZ25lZCB3aXRoIHRyYW5zYWN0aW9uIGVy cm9yIGFuZCBpdHMgdG90YWwgYnl0ZXMuIEhvbGRpbmcgdGhlIHNpemUgb2YKKyAqIGNvbXB1dGVk IHhhY3RfZXJyb3JfYnl0ZXMgZHVyaW5nIHJlcGxheSBkZXBlbmRzIG9uIHRoZSBhcHBseSBlcnJv ciBjYWxsYmFjayBhbmQKKyAqIGhhdmluZyBnZW5lcmFsIHN0YXRzIGluIHRoZSBzYW1lIHBsYWNl IHJlZHVjZXMgY29kZSBjb21wbGV4aXR5LgogICovCiAKIHR5cGVkZWYgc3RydWN0IFBnU3RhdF9T dGF0U3ViRXJyRW50cnkKQEAgLTEwMTQsNyArMTAyMSwxOCBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0 YXRfU3RhdFN1YkVyckVudHJ5CiAJCQkJCQkJCSAqIGNhc2UuICovCiAJTG9naWNhbFJlcE1zZ1R5 cGUgY29tbWFuZDsKIAlUcmFuc2FjdGlvbklkIHhpZDsKLQlQZ1N0YXRfQ291bnRlciBmYWlsdXJl X2NvdW50OworCisJLyogdHJhbnNhY3Rpb24gc3RhdHMgb2Ygc3Vic2NyaXB0aW9uICovCisJUGdT dGF0X0NvdW50ZXIgeGFjdF9jb21taXQ7CisJUGdTdGF0X0NvdW50ZXIgeGFjdF9jb21taXRfYnl0 ZXM7CisJUGdTdGF0X0NvdW50ZXIgeGFjdF9lcnJvcjsKKwlQZ1N0YXRfQ291bnRlciB4YWN0X2Vy cm9yX2J5dGVzOyAvKiB0b3RhbCBlcnJvciBjb3VudHMgb2YgdGhpcworCQkJCQkJCQkJCXN1YnNj cmlwdGlvbiAqLworCVBnU3RhdF9Db3VudGVyIHhhY3RfYWJvcnQ7CisJUGdTdGF0X0NvdW50ZXIg eGFjdF9hYm9ydF9ieXRlczsKKworCVBnU3RhdF9Db3VudGVyIGZhaWx1cmVfY291bnQ7IC8qIHRv dGFsIGVycm9yIGNvdW50cyBvZiBvbmUKKwkJCQkJCQkJCSBzcGVjaWZpYyBlcnJvciAqLwogCVRp bWVzdGFtcFR6IGxhc3RfZmFpbHVyZTsKIAljaGFyCQlsYXN0X2Vycm1zZ1tQR1NUQVRfU1VCU0NS SVBUSU9ORVJSX01TR0xFTl07CiAJVGltZXN0YW1wVHogc3RhdF9yZXNldF90aW1lc3RhbXA7CkBA IC0xMTI5LDEwICsxMTQ3LDExIEBAIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfY2hlY2tzdW1f ZmFpbHVyZSh2b2lkKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfcmVwbHNsb3QoY29uc3Qg UGdTdGF0X1N0YXRSZXBsU2xvdEVudHJ5ICpyZXBTbG90U3RhdCk7CiBleHRlcm4gdm9pZCBwZ3N0 YXRfcmVwb3J0X3JlcGxzbG90X2NyZWF0ZShjb25zdCBjaGFyICpzbG90bmFtZSk7CiBleHRlcm4g dm9pZCBwZ3N0YXRfcmVwb3J0X3JlcGxzbG90X2Ryb3AoY29uc3QgY2hhciAqc2xvdG5hbWUpOwor ZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fc3VjY2VzcyhPaWQgc3ViaWQs IE9pZCBzdWJyZWwsCisJCQkJCQkJCQkJCSAgIExvZ2ljYWxSZXBNc2dUeXBlIGNvbW1hbmQsIFBn U3RhdF9Db3VudGVyIGJ5dGVzKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfc3Vic2NyaXB0 aW9uX2Vycm9yKE9pZCBzdWJpZCwgT2lkIHN1YnJlbGlkLCBPaWQgcmVsaWQsCiAJCQkJCQkJCQkJ CSBMb2dpY2FsUmVwTXNnVHlwZSBjb21tYW5kLAogCQkJCQkJCQkJCQkgVHJhbnNhY3Rpb25JZCB4 aWQsIGNvbnN0IGNoYXIgKmVycm1zZyk7Ci0KIGV4dGVybiB2b2lkIHBnc3RhdF9pbml0aWFsaXpl KHZvaWQpOwogCiAKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWx3 b3JrZXIuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWx3b3JrZXIuaAppbmRleCAy YWQ2MWEwLi45MjNjOGNlIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dp Y2Fsd29ya2VyLmgKKysrIGIvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vbG9naWNhbHdvcmtlci5o CkBAIC0xNSw1ICsxNSw5IEBACiBleHRlcm4gdm9pZCBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFp bl9hcmcpOwogCiBleHRlcm4gYm9vbCBJc0xvZ2ljYWxXb3JrZXIodm9pZCk7CitleHRlcm4gaW50 NjQgZ2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKHZvaWQpOworZXh0ZXJuIHZvaWQg YWRkX2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKGludDY0IHNpemUpOworZXh0ZXJuIHZv aWQgcmVzZXRfYXBwbHlfZXJyb3JfY29udGV4dF94YWN0X3NpemUodm9pZCk7CisKIAogI2VuZGlm CQkJCQkJCS8qIExPR0lDQUxXT1JLRVJfSCAqLwpkaWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dAppbmRleCA2NmIxODVmLi44OWM2OGYxIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4 cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91 dApAQCAtMjA5MSw5ICsyMDkxLDM0IEBAIHBnX3N0YXRfc3Vic2NyaXB0aW9ufCBTRUxFQ1Qgc3Uu b2lkIEFTIHN1YmlkLAogICAgIHN0Lmxhc3RfbXNnX3NlbmRfdGltZSwKICAgICBzdC5sYXN0X21z Z19yZWNlaXB0X3RpbWUsCiAgICAgc3QubGF0ZXN0X2VuZF9sc24sCisgICAgcGdfc3RhdF9nZXRf c3Vic2NyaXB0aW9uX3hhY3RfY29tbWl0KHN1Lm9pZCwgc3QucmVsaWQpIEFTIHhhY3RfY29tbWl0 LAorICAgIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2NvbW1pdF9ieXRlcyhzdS5vaWQs IHN0LnJlbGlkKSBBUyB4YWN0X2NvbW1pdF9ieXRlcywKKyAgICBwZ19zdGF0X2dldF9zdWJzY3Jp cHRpb25feGFjdF9lcnJvcihzdS5vaWQsIHN0LnJlbGlkKSBBUyB4YWN0X2Vycm9yLAorICAgIHBn X3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Vycm9yX2J5dGVzKHN1Lm9pZCwgc3QucmVsaWQp IEFTIHhhY3RfZXJyb3JfYnl0ZXMsCisgICAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3Rf YWJvcnQoc3Uub2lkLCBzdC5yZWxpZCkgQVMgeGFjdF9hYm9ydCwKKyAgICBwZ19zdGF0X2dldF9z dWJzY3JpcHRpb25feGFjdF9hYm9ydF9ieXRlcyhzdS5vaWQsIHN0LnJlbGlkKSBBUyB4YWN0X2Fi b3J0X2J5dGVzLAogICAgIHN0LmxhdGVzdF9lbmRfdGltZQogICAgRlJPTSAocGdfc3Vic2NyaXB0 aW9uIHN1Ci0gICAgIExFRlQgSk9JTiBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb24oTlVMTDo6b2lk KSBzdChzdWJpZCwgcmVsaWQsIHBpZCwgcmVjZWl2ZWRfbHNuLCBsYXN0X21zZ19zZW5kX3RpbWUs IGxhc3RfbXNnX3JlY2VpcHRfdGltZSwgbGF0ZXN0X2VuZF9sc24sIGxhdGVzdF9lbmRfdGltZSkg T04gKChzdC5zdWJpZCA9IHN1Lm9pZCkpKTsKKyAgICAgTEVGVCBKT0lOICggU0VMRUNUIHMuc3Vi aWQsCisgICAgICAgICAgICBzLnJlbGlkLAorICAgICAgICAgICAgcy5waWQsCisgICAgICAgICAg ICBzLnJlY2VpdmVkX2xzbiwKKyAgICAgICAgICAgIHMubGFzdF9tc2dfc2VuZF90aW1lLAorICAg ICAgICAgICAgcy5sYXN0X21zZ19yZWNlaXB0X3RpbWUsCisgICAgICAgICAgICBzLmxhdGVzdF9l bmRfbHNuLAorICAgICAgICAgICAgcy5sYXRlc3RfZW5kX3RpbWUKKyAgICAgICAgICAgRlJPTSBw Z19zdGF0X2dldF9zdWJzY3JpcHRpb24oTlVMTDo6b2lkKSBzKHN1YmlkLCByZWxpZCwgcGlkLCBy ZWNlaXZlZF9sc24sIGxhc3RfbXNnX3NlbmRfdGltZSwgbGFzdF9tc2dfcmVjZWlwdF90aW1lLCBs YXRlc3RfZW5kX2xzbiwgbGF0ZXN0X2VuZF90aW1lKQorICAgICAgICBVTklPTgorICAgICAgICAg U0VMRUNUIHIuc3JzdWJpZCwKKyAgICAgICAgICAgIHIuc3JyZWxpZCwKKyAgICAgICAgICAgIE5V TEw6OmludGVnZXIgQVMgcGlkLAorICAgICAgICAgICAgTlVMTDo6cGdfbHNuIEFTIHJlY2VpdmVk X2xzbiwKKyAgICAgICAgICAgIE5VTEw6OnRpbWVzdGFtcCB3aXRoIHRpbWUgem9uZSBBUyBsYXN0 X21zZ19zZW5kX3RpbWUsCisgICAgICAgICAgICBOVUxMOjp0aW1lc3RhbXAgd2l0aCB0aW1lIHpv bmUgQVMgbGFzdF9tc2dfcmVjZWlwdF90aW1lLAorICAgICAgICAgICAgTlVMTDo6cGdfbHNuIEFT IGxhdGVzdF9lbmRfbHNuLAorICAgICAgICAgICAgTlVMTDo6dGltZXN0YW1wIHdpdGggdGltZSB6 b25lIEFTIGxhdGVzdF9lbmRfdGltZQorICAgICAgICAgICBGUk9NIHBnX3N1YnNjcmlwdGlvbl9y ZWwgcgorICAgICAgICAgIFdIRVJFIChyLnNyc3Vic3RhdGUgPD4gJ3InOjoiY2hhciIpKSBzdCBP TiAoKHN0LnN1YmlkID0gc3Uub2lkKSkpOwogcGdfc3RhdF9zdWJzY3JpcHRpb25fZXJyb3JzfCBT RUxFQ1QgZC5kYXRuYW1lLAogICAgIHNyLnN1YmlkLAogICAgIHMuc3VibmFtZSwK --_002_TY2PR01MB489065DB7B8066936087C5E4EDD59TY2PR01MB4890jpnp_--