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 1mSu3O-0006s7-Uh for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Sep 2021 04:40:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mSu3M-0007m6-9B for pgsql-hackers@arkaria.postgresql.org; Wed, 22 Sep 2021 04:40:16 +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 1mSu3L-0007lx-4S for pgsql-hackers@lists.postgresql.org; Wed, 22 Sep 2021 04:40:16 +0000 Received: from esa5.fujitsucc.c3s2.iphmx.com ([68.232.159.76]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mSu3D-00072B-HJ for pgsql-hackers@lists.postgresql.org; Wed, 22 Sep 2021 04:40:13 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1632285608; x=1663821608; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=+zp2r/ReHzhusSaLSRzQwZB3f9kuMNgJs+Lv+mnjCe8=; b=jjXCeC49kOawLcyUzZK9TZftMQVntQqkW0elyxpBZiqT4oOW7swPhl38 IOd1a+B1wWAlFTUhlPztbMHYeytFnWVjYDLMU4FfuTEHOVORhy7OpXAFz mTVxR/NOZ/1sd+qEINB7U3KadMk4lS8mEei3kSpxvpeMXl9wk5T36puHU fZMMN0U7NyZdGGEXFJC4TtOybk/FaErvU3IAdKQQR/yq9jkrJvGMHGiQc DA8Wp4RD/Ry1q5IkzAJ1Inf+Tdy0fFOs/dwKFKHe94PTDSFalk6b2XVu8 8L2/phkXopUOaqTw5ZA2hF5ElYTUrWW1s9kgGlW/+6i+dqLB+OmhWuEDb A==; X-IronPort-AV: E=McAfee;i="6200,9189,10114"; a="39683086" X-IronPort-AV: E=Sophos;i="5.85,312,1624287600"; d="scan'208";a="39683086" Received: from mail-os2jpn01lp2052.outbound.protection.outlook.com (HELO JPN01-OS2-obe.outbound.protection.outlook.com) ([104.47.92.52]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 22 Sep 2021 13:40:02 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=fyfgQJKPhvsV2so4j5Ay8ZXjzme2v+xVN3gq9cAkEh9fwOFqizZPsR7wsfV6bZREcN2rvRkRaiWM5n6VVKKi/k0YTcvWEYRMxoAiLawwywvkeg8G99X+dI/Vvk0rPNHPdmiMl2OTIp+4aDP5++5SK3pw6sCHUZU28TtYw5BB7KTKSDn93XX5KDkAwQFq9MksSpGSDczQmEqYhSP+NSFU63uPJ9LdsEOWplJ1aBQJKrjXJdjfv6sGngdYg32NHD1ayAiL03t4uyaEF+9dddD+EPH+TJtSDkNqPH6J99S1RJmY7wox9/J+2uFw80pH3iWPVqTVETdW1sNM9hi9EsL0gA== 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=bkNX4PdkosKkNQoqZ/VchtyCdZzOdI5fBN2rLcg1+7Q=; b=Y12cixjAb6vhif3YjW+Xc4m7C/lBm6oSdp9VJtDx1cu0YTKy++uvrWGDeuF2HUxr4oJWSb+pr/8Or8Kphy6PqviHk5GtC0ZODIlQeq8ED+LNtXfhNhuPsTQNbP05MvXYcjrU/VtpkrwC4LvyIsDif/eH77W5NkANSucMl/B/MmzMnHKs9ccw1oBhPrG/N+933ZcFIqt0rk0DNOgVzOmtGJb48OGwSGPO9L6S6mM7n3DFVKKVBHfmeOX7OWnZWjybVWugRvgefhWg3FbSPxXuehCgQAFrTR+Xr6RiVm1HsKKjy/dZwjQ0UkuagDUdSlMRUyWZTGlpJGBVWeHchGiehg== 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=bkNX4PdkosKkNQoqZ/VchtyCdZzOdI5fBN2rLcg1+7Q=; b=dChQiSaNZ+1XNrzdU+VmadfWyFupUvuuPTS/u17bkEY0ln/9OPCFuMVQREMezVo7wsQkhdYt5OJF/DCQor1yn2ddesptI7SDfzymDQDIAbgxhIFPmMckELn6Zp6mvvXSeAOaavQkWmDz3/dcFz537EBANRsjIBh0aJJB1SQAg8I= Received: from TY2PR01MB4890.jpnprd01.prod.outlook.com (2603:1096:404:118::11) by TYAPR01MB4814.jpnprd01.prod.outlook.com (2603:1096:404:129::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4523.18; Wed, 22 Sep 2021 04:39:58 +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.4523.019; Wed, 22 Sep 2021 04:39:58 +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+7hgAAMXNsABZwy4NABa8QD4ADxViZAAZV2mrA= Date: Wed, 22 Sep 2021 04:39:58 +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: a152511e-7f6a-47a0-7bc5-08d97d830856 x-ms-traffictypediagnostic: TYAPR01MB4814: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:137; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: uCM11zzfXtTf8Xy/hjzX2klJbo5iDrpUVvpzipZR6pXxPt2i1KEPAKoEMuzZzTS23LjSMf+ODsiKU1DxrDxRD+iW+3EUsbEF/aIrhhNuqTh4cq7OcDSWncMGPQxddxNz2b4ziqKiTL/18DD3UmAHOxbOg5j4+9YXU8nJnFbReKyn4SJpmIIoEI/SSa4agRM53GkYCgDWwOclVCnmno3RQPMJkCo+8m/p5VxveeoDSeV8O/av5vsbFiPfBGahECCVqNm5Es8qUrPnkVcSOwFIvLd/pFjQpBjvDXRW9e9ywEzg8e3t5kJp5JIIpS5HAZgmhLK/qG72I6bUBOwvEHdBoT8C0Z4qPsifzoI1Qh5GVKxvLT6PiGZba/HhBogF+xiVd87pBnzmbVZNjVi5JVQmw5NTixCOxnTSkrxYGCdNwrIJcwDvYc/B1xcyUj8CD6jSOFcoqTc4zzHbfyNwLRaPZ16wwUz8mAxbugVYXgnmkA5VJ6Y8B3mBHPqnUJ2sUMNdrRVvdG9yQBCnc9n6aReYBKgj+OkvPnVC9f40riMk8DM9NgmYEFJY+tHJmzKPk9X68IYheqgBLIdpkD84uPfPjCIGabI4BdDD14m4b0X+zyBayIxAPsunieDY3+ZBlg1H6MYZqPzGmROV7NWksVLUzYoFQRujl3Vq3a+I9eQXLynmzRiqH5KaBs8KZUgG+w/876NJMF8y+GuT3ZwsVEmEfObbDm1gNON2eFcLqkInOd9RNbJhu6mSwnmMbBoMNffsFeL0YSYZTaVGcojV7i/RcB4RlYam1336VNm6PRfqOhQ= 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)(366004)(110136005)(55016002)(83380400001)(316002)(966005)(85182001)(508600001)(186003)(8936002)(99936003)(52536014)(26005)(66616009)(8676002)(33656002)(38070700005)(9686003)(64756008)(66446008)(6506007)(66556008)(122000001)(66476007)(66946007)(76116006)(558084003)(38100700002)(71200400001)(2906002)(4326008)(86362001)(5660300002)(7696005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?ZWcwSHNVTlBJNjQxRTljNzNWTElGRkRPUkYzcEdNdWtnMVEwYmY0dmZoVW5Z?= =?utf-8?B?S1NxZHVKdXNKRytSRURabmZLODlwdjZINlE2MUk4VEgydk9wa3I2TUJ6N0F2?= =?utf-8?B?R0VQK2NBbVF4dnROSllVTXphZFdXeFZ4eWYvSlFDWExsZHhhcjcxbHBqS05D?= =?utf-8?B?U3Z0QUIwcDVTNG92WVpFRlM2MGZyUFZrZU9pc2tpd01Ccm9EMlNUMk9hNjRO?= =?utf-8?B?OVJaRytHSnJBaFR0c1ZOcGIySlIvYmZBeTFDVFpldFVUdXd0Z3F0VHlFVEpx?= =?utf-8?B?cTZOOGpFdFgwU2Z3bTFUWmVnRmdsSklXVlBmbzdXbjg0UnR5VmZLV09FY0pZ?= =?utf-8?B?ZWtkRmFVTXFoV2wvSW9sZEFXdWNLek9tSk9LVm52dzlWa3BWTW9EZFJCcnpU?= =?utf-8?B?aFZKVk9aYVdTSVI3TnEzTHROK2ZvZmU3RWsrR1F0eGJOZDJVMUlvMFRMQkxF?= =?utf-8?B?OGhrZkhoc1VjbGM0SHMveXQyalZBbkVwc1VSV0NPZlNTOVd6Y3dOb1hDc2tm?= =?utf-8?B?VmN4UnROK1dvTDBZN0N1K0Vqc3I0Uko2NllGTVBsY29weFF3WGhMSGZkTWZt?= =?utf-8?B?Z0JpNU9PZHBuYjNoZXZienJYMWZqM1loTVBUMnMvVjBPd2tVaTB2dUtVL1Jo?= =?utf-8?B?dGRDa2V4MDRvcUxDbU4xN0g5M3BxNzhMWnpLeEFRS0R5Z0J3SkxTdmoxTUhD?= =?utf-8?B?YnJLc1Z0U2wvR2Y2Smo1NHdQUjIxWWRVT2Q0d0hiSC9xb1p2NExpUnBuemw1?= =?utf-8?B?QlB2SWh0SnRLcGE0NGJIeEpnK0ZiUUg3aWgyZmtxTDJXTEZnOHBsZnFhSkJt?= =?utf-8?B?L0NnWDhUYTNydkxKSDlnd3B4bUhMeUFsYm5NK0t6Nmd4Y1NMRjgvZ2Y3Rmd2?= =?utf-8?B?YldzOFlSa2NrbzVZays1NE05V0g2UGNTcXFvWi9BRVdtcUMyMm5hMmJUaEF2?= =?utf-8?B?NU1jdTdzY09kWTlwU2h1TzF4UE0xQUZ1UTNPS2lSeS9OWk5qcVczZS9BLzlP?= =?utf-8?B?cW5YVlF2aFdIVkRIUmFVZUZVdUdHYUNhdkFzbStSVGpGby9YU0xYOEhQTWl1?= =?utf-8?B?S3d0WENPSmJxR0pWUmVwYU9UWjJ6NS8yZE5yQUZXalNZSmJ5Y0U2YW1mOXJG?= =?utf-8?B?cENSelN2dmEwUGhqRDFGbW9pQzh3dCtWeDBGSVo3WW9PMWhabEdhbTdYR3cy?= =?utf-8?B?SU51NVVTbEl6MUVyMUNvYXM4U2ZvZDNDYmluRWowb0lLZU11Qmc3eDhVMXpw?= =?utf-8?B?eVZJakpaMm0wSHpGYmxUU1M0NHY3cDZGVlZVZTdtNEQ4YXYxSDAwTDIvYmdv?= =?utf-8?B?bmZTMlJieWtVZVU1TmF3Nms1YU5kV1dkUWMySXd6K1phUWVSS0tOOGlaK3Jl?= =?utf-8?B?dnFxbFlLRHpETy9ETlFGZ0hrQldQTzZscDFSeHRIWW5kT25FZXMvTTBXUXlY?= =?utf-8?B?VmsxL2FkRTBnUFp6UzNKNW1BRk52U1BxVUdsaVljeEpkUGZIbWNYVUJJVk53?= =?utf-8?B?b1pORlBvL3BEcFI5bkE5cE5GMVJORlBHM2hLWVN6T0VMdlRXYnIwOVpPYnNH?= =?utf-8?B?MlhvOFhLQUNhV1I5SkpCeWdtQVUvbVhHd1V5cEZCeGphWXAxNjdhZDZ4ZFNS?= =?utf-8?B?MU9abDlPY0lDZ0dmWHNwTUthTnZtT2d0dERoQmExOU8wU0w4bmlsU0FCU1BY?= =?utf-8?B?T2FibXF0TFF1MGlIenl6UkFHTzcyRXVMVERUczFkUVoyclp3Z01rZDdVN3Yr?= =?utf-8?Q?1mq0wSZ9n2mjNYPNwdUYPVqO0jCdusZ2d+fWlyH?= x-ms-exchange-transport-forked: True Content-Type: multipart/mixed; boundary="_002_TY2PR01MB489042618A073A2FC7BF62C0EDA29TY2PR01MB4890jpnp_" 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: a152511e-7f6a-47a0-7bc5-08d97d830856 X-MS-Exchange-CrossTenant-originalarrivaltime: 22 Sep 2021 04:39:58.2979 (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: +J0HvpswR5hf3iccfkdT9ec9w+p1/288xWoWZNgrRMeRzX6Vrj23Eq+9+wpL6bv1A6bdxonefTLzPC7eabmiY5/WC56YjldYoPPoMReYBVo= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYAPR01MB4814 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_002_TY2PR01MB489042618A073A2FC7BF62C0EDA29TY2PR01MB4890jpnp_ Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 SGVsbG8NCg0KDQpKdXN0IGNvbmR1Y3RlZCBzb21lIGNvc21ldGljIGNoYW5nZXMNCmFuZCByZWJh c2VkIG15IHBhdGNoLCB1c2luZyB2MTQgcGF0Y2gtc2V0IGluIFsxXS4NCg0KWzFdIC0gaHR0cHM6 Ly93d3cucG9zdGdyZXNxbC5vcmcvbWVzc2FnZS1pZC9DQUQyMUFvQ09fWllXWkVCdzd6aWlZb1g3 Wm0xUDBMOSUzRGQ3Smo5WXNHRUdzVDlvNndtdyU0MG1haWwuZ21haWwuY29tDQoNCg0KQmVzdCBS ZWdhcmRzLA0KCVRha2FtaWNoaSBPc3VtaQ0KIA== --_002_TY2PR01MB489042618A073A2FC7BF62C0EDA29TY2PR01MB4890jpnp_ Content-Type: application/octet-stream; name="extend_subscription_stats_of_transaction_v05.patch" Content-Description: extend_subscription_stats_of_transaction_v05.patch Content-Disposition: attachment; filename="extend_subscription_stats_of_transaction_v05.patch"; size=32223; creation-date="Wed, 22 Sep 2021 04:37:22 GMT"; modification-date="Wed, 22 Sep 2021 04:37:22 GMT" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL2RvYy9zcmMvc2dtbC9tb25pdG9yaW5nLnNnbWwgYi9kb2Mvc3JjL3NnbWwv bW9uaXRvcmluZy5zZ21sCmluZGV4IGIwZTQyNjAuLjdiMDgzOGEgMTAwNjQ0Ci0tLSBhL2RvYy9z 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 bG9nL3N5c3RlbV92aWV3cy5zcWwKaW5kZXggYjBjZDhkMi4uM2EyYzY5YiAxMDA2NDQKLS0tIGEv 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 M2JjLi4xMDdhN2FhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9leGVjdXRvci9leGVjUGFydGl0 aW9uLmMKKysrIGIvc3JjL2JhY2tlbmQvZXhlY3V0b3IvZXhlY1BhcnRpdGlvbi5jCkBAIC0xOTQs NiArMTk0LDE3IEBAIHN0YXRpYyB2b2lkIGZpbmRfbWF0Y2hpbmdfc3VicGxhbnNfcmVjdXJzZShQ YXJ0aXRpb25QcnVuaW5nRGF0YSAqcHJ1bmVkYXRhLAogCiAKIC8qCisgKiBQYXJ0aXRpb25UdXBs ZVJvdXRpbmdTaXplIC0gZXhwb3J0ZWQgdG8gY2FsY3VsYXRlIHRvdGFsIGRhdGEgc2l6ZQorICog b2YgbG9naWNhbCByZXBsaWNhdGlvbiBtZXNhZ2UgYXBwbHksIGJlY2F1c2UgdGhpcyBpcyBvbmUg b2YgdGhlCisgKiBBcHBseUV4ZWN1dGlvbkRhdGEgc3RydWN0IG1lbWJlcnMuCisgKi8KK3NpemVf dAorUGFydGl0aW9uVHVwbGVSb3V0aW5nU2l6ZSh2b2lkKQoreworCXJldHVybiBzaXplb2YoUGFy dGl0aW9uVHVwbGVSb3V0aW5nKTsKK30KKworLyoKICAqIEV4ZWNTZXR1cFBhcnRpdGlvblR1cGxl Um91dGluZyAtIHNldHMgdXAgaW5mb3JtYXRpb24gbmVlZGVkIGR1cmluZwogICogdHVwbGUgcm91 dGluZyBmb3IgcGFydGl0aW9uZWQgdGFibGVzLCBlbmNhcHN1bGF0ZXMgaXQgaW4KICAqIFBhcnRp dGlvblR1cGxlUm91dGluZywgYW5kIHJldHVybnMgaXQuCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL3Bnc3RhdC5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wZ3N0YXQuYwpp bmRleCBkM2JjNjk0Li42OTkzZjgzIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVy L3Bnc3RhdC5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcGdzdGF0LmMKQEAgLTU2LDYg KzU2LDcgQEAKICNpbmNsdWRlICJwb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuaCIKICNpbmNsdWRlICJy ZXBsaWNhdGlvbi9zbG90LmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vd2Fsc2VuZGVyLmgiCisj aW5jbHVkZSAicmVwbGljYXRpb24vbG9naWNhbHdvcmtlci5oIgogI2luY2x1ZGUgInN0b3JhZ2Uv YmFja2VuZGlkLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9kc20uaCIKICNpbmNsdWRlICJzdG9yYWdl L2ZkLmgiCkBAIC0zODUsNiArMzg2LDcgQEAgc3RhdGljIHZvaWQgcGdzdGF0X3JlY3ZfY29ubmVj dChQZ1N0YXRfTXNnQ29ubmVjdCAqbXNnLCBpbnQgbGVuKTsKIHN0YXRpYyB2b2lkIHBnc3RhdF9y ZWN2X2Rpc2Nvbm5lY3QoUGdTdGF0X01zZ0Rpc2Nvbm5lY3QgKm1zZywgaW50IGxlbik7CiBzdGF0 aWMgdm9pZCBwZ3N0YXRfcmVjdl9yZXBsc2xvdChQZ1N0YXRfTXNnUmVwbFNsb3QgKm1zZywgaW50 IGxlbik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl90ZW1wZmlsZShQZ1N0YXRfTXNnVGVtcEZp bGUgKm1zZywgaW50IGxlbik7CitzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9zdWJzY3JpcHRpb25f c3VjY2VzcyhQZ1N0YXRfTXNnU3Vic2NyaXB0aW9uRXJyICptc2csIGludCBsZW4pOwogc3RhdGlj IHZvaWQgcGdzdGF0X3JlY3Zfc3Vic2NyaXB0aW9uX2Vycm9yKFBnU3RhdF9Nc2dTdWJzY3JpcHRp b25FcnIgKm1zZywgaW50IGxlbik7CiBzdGF0aWMgdm9pZCBwZ3N0YXRfcmVjdl9zdWJzY3JpcHRp b25fZXJyb3JfcmVzZXQoUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVyclJlc2V0ICptc2csCiAJCQkJ CQkJCQkJCQkgaW50IGxlbik7CkBAIC0yMDY2LDYgKzIwNjgsMzcgQEAgcGdzdGF0X3JlcG9ydF9y ZXBsc2xvdF9kcm9wKGNvbnN0IGNoYXIgKnNsb3RuYW1lKQogfQogCiAvKiAtLS0tLS0tLS0tCisg KiBwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9zdWNjZXNzKCkgLQorICoKKyAqICBUZWxsIHRo ZSBjb2xsZWN0b3IgYWJvdXQgdGhlIHN1YnNjcmlwdGlvbiBzdWNjZXNzLgorICogLS0tLS0tLS0t LQorICovCit2b2lkCitwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9zdWNjZXNzKE9pZCBzdWJp ZCwgT2lkIHN1YnJlbCwKKwkJCQkJCQkJICAgTG9naWNhbFJlcE1zZ1R5cGUgY29tbWFuZCwgUGdT dGF0X0NvdW50ZXIgYnl0ZXMpCit7CisJUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVyciBtc2c7CisK KwlBc3NlcnQoY29tbWFuZCA9PSAwIC8qIHRhYmxlIHN5bmMgd29ya2VyICovIHx8CisJCSAgIGNv bW1hbmQgPT0gTE9HSUNBTF9SRVBfTVNHX0NPTU1JVCB8fAorCQkgICBjb21tYW5kID09IExPR0lD QUxfUkVQX01TR19DT01NSVRfUFJFUEFSRUQgfHwKKwkJICAgY29tbWFuZCA9PSBMT0dJQ0FMX1JF UF9NU0dfU1RSRUFNX0FCT1JUKTsKKworCXBnc3RhdF9zZXRoZWFkZXIoJm1zZy5tX2hkciwgUEdT VEFUX01UWVBFX1NVQlNDUklQVElPTlNVQ0NFU1MpOworCW1zZy5tX3N1YmlkID0gc3ViaWQ7CisJ bXNnLm1fc3VicmVsaWQgPSBzdWJyZWw7CisJbXNnLm1fcmVsaWQgPSBJbnZhbGlkT2lkOworCW1z Zy5tX2NvbW1hbmQgPSBjb21tYW5kOworCW1zZy5tX3hpZCA9IEludmFsaWRUcmFuc2FjdGlvbklk OworCW1zZy5tX2J5dGVzID0gYnl0ZXM7CisJbXNnLm1fZmFpbHVyZV90aW1lID0gR2V0Q3VycmVu dFRpbWVzdGFtcCgpOworCW1zZy5tX2Vycm1zZ1swXSA9ICdcMCc7CisJcGdzdGF0X3NlbmQoJm1z Zywgc2l6ZW9mKFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25FcnIpKTsKKworCXJlc2V0X2FwcGx5X2Vy cm9yX2NvbnRleHRfeGFjdF9zaXplKCk7Cit9CisKKy8qIC0tLS0tLS0tLS0KICAqIHBnc3RhdF9y ZXBvcnRfc3Vic2NyaXB0aW9uX2Vycm9yKCkgLQogICoKICAqCVRlbGwgdGhlIGNvbGxlY3RvciBh Ym91dCB0aGUgc3Vic2NyaXB0aW9uIGVycm9yLgpAQCAtMjA4OCwxMCArMjEyMSwxMyBAQCBwZ3N0 YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9lcnJvcihPaWQgc3ViaWQsIE9pZCBzdWJyZWxpZCwgT2lk IHJlbGlkLAogCW1zZy5tX3JlbGlkID0gcmVsaWQ7CiAJbXNnLm1fY29tbWFuZCA9IGNvbW1hbmQ7 CiAJbXNnLm1feGlkID0geGlkOworCW1zZy5tX2J5dGVzID0gZ2V0X2FwcGx5X2Vycm9yX2NvbnRl eHRfeGFjdF9zaXplKCk7CiAJbXNnLm1fZmFpbHVyZV90aW1lID0gR2V0Q3VycmVudFRpbWVzdGFt cCgpOwogCXN0cmxjcHkobXNnLm1fZXJybXNnLCBlcnJtc2csIFBHU1RBVF9TVUJTQ1JJUFRJT05F UlJfTVNHTEVOKTsKIAogCXBnc3RhdF9zZW5kKCZtc2csIGxlbik7CisKKwlyZXNldF9hcHBseV9l cnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSgpOwogfQogCiAvKiAtLS0tLS0tLS0tCkBAIC0zODA5LDYg KzM4NDUsMTAgQEAgUGdzdGF0Q29sbGVjdG9yTWFpbihpbnQgYXJnYywgY2hhciAqYXJndltdKQog CQkJCQlwZ3N0YXRfcmVjdl9kaXNjb25uZWN0KCZtc2cubXNnX2Rpc2Nvbm5lY3QsIGxlbik7CiAJ CQkJCWJyZWFrOwogCisJCQkJY2FzZSBQR1NUQVRfTVRZUEVfU1VCU0NSSVBUSU9OU1VDQ0VTUzoK KwkJCQkJcGdzdGF0X3JlY3Zfc3Vic2NyaXB0aW9uX3N1Y2Nlc3MoJm1zZy5tc2dfc3Vic2NyaXB0 aW9uZXJyLCBsZW4pOworCQkJCQlicmVhazsKKwogCQkJCWNhc2UgUEdTVEFUX01UWVBFX1NVQlND UklQVElPTkVSUjoKIAkJCQkJcGdzdGF0X3JlY3Zfc3Vic2NyaXB0aW9uX2Vycm9yKCZtc2cubXNn X3N1YnNjcmlwdGlvbmVyciwgbGVuKTsKIAkJCQkJYnJlYWs7CkBAIC02MjcxLDYgKzYzMTEsNDQg QEAgcGdzdGF0X3JlY3ZfZnVuY3B1cmdlKFBnU3RhdF9Nc2dGdW5jcHVyZ2UgKm1zZywgaW50IGxl bikKIH0KIAogLyogLS0tLS0tLS0tLQorICogcGdzdGF0X3JlY3Zfc3Vic2NyaXB0aW9uX3N1Y2Nl c3MoKSAtCisgKgorICogIFByb2Nlc3MgYSBTVUJTQ1JJUFRJT05FUlIgbWVzc2FnZS4KKyAqIC0t LS0tLS0tLS0KKyAqLworc3RhdGljIHZvaWQKK3Bnc3RhdF9yZWN2X3N1YnNjcmlwdGlvbl9zdWNj ZXNzKFBnU3RhdF9Nc2dTdWJzY3JpcHRpb25FcnIgKm1zZywgaW50IGxlbikKK3sKKwlQZ1N0YXRf U3RhdFN1YkVyckVudHJ5ICplcnJlbnQ7CisKKwllcnJlbnQgPSBwZ3N0YXRfZ2V0X3N1YnNjcmlw dGlvbl9lcnJvcl9lbnRyeShtc2ctPm1fc3ViaWQsCisJCQkJCQkJCQkJCQkgbXNnLT5tX3N1YnJl bGlkLAorCQkJCQkJCQkJCQkJIHRydWUpOworCisJLyogbXNnIGZyb20gdGFibGUgc3luYyB3b3Jr ZXIgKi8KKwlpZiAobXNnLT5tX2NvbW1hbmQgPT0gMCkKKwkJZXJyZW50LT54YWN0X2NvbW1pdCsr OworCWVsc2UKKwl7CisJCXN3aXRjaChtc2ctPm1fY29tbWFuZCkKKwkJeworCQkJY2FzZSBMT0dJ Q0FMX1JFUF9NU0dfQ09NTUlUOgorCQkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlUX1BSRVBB UkVEOgorCQkJCWVycmVudC0+eGFjdF9jb21taXQrKzsKKwkJCQllcnJlbnQtPnhhY3RfY29tbWl0 X2J5dGVzICs9IG1zZy0+bV9ieXRlczsKKwkJCQlicmVhazsKKwkJCWNhc2UgTE9HSUNBTF9SRVBf TVNHX1NUUkVBTV9BQk9SVDoKKwkJCQllcnJlbnQtPnhhY3RfYWJvcnQrKzsKKwkJCQllcnJlbnQt PnhhY3RfYWJvcnRfYnl0ZXMgPSBtc2ctPm1fYnl0ZXM7CisJCQkJYnJlYWs7CisJCQlkZWZhdWx0 OgorCQkJCWVsb2coRVJST1IsICJ1bmV4cGVjdGVkIGNvbW1hbmQgdHlwZSIpOworCQl9CisJfQor CWVycmVudC0+bGFzdF9mYWlsdXJlID0gbXNnLT5tX2ZhaWx1cmVfdGltZTsKK30KKworLyogLS0t LS0tLS0tLQogICogcGdzdGF0X3JlY3Zfc3Vic2NyaXB0aW9uX2Vycm9yKCkgLQogICoKICAqCVBy b2Nlc3MgYSBTVUJTQ1JJUFRJT05FUlIgbWVzc2FnZS4KQEAgLTYzMDgsNiArNjM4Niw4IEBAIHBn c3RhdF9yZWN2X3N1YnNjcmlwdGlvbl9lcnJvcihQZ1N0YXRfTXNnU3Vic2NyaXB0aW9uRXJyICpt c2csIGludCBsZW4pCiAJLyogdXBkYXRlIHRoZSBlcnJvciBlbnRyeSAqLwogCWVycmVudC0+Y29t bWFuZCA9IG1zZy0+bV9jb21tYW5kOwogCWVycmVudC0+eGlkID0gbXNnLT5tX3hpZDsKKwllcnJl bnQtPnhhY3RfZXJyb3IrKzsKKwllcnJlbnQtPnhhY3RfZXJyb3JfYnl0ZXMgKz0gbXNnLT5tX2J5 dGVzOwogCWVycmVudC0+ZmFpbHVyZV9jb3VudCsrOwogCWVycmVudC0+bGFzdF9mYWlsdXJlID0g bXNnLT5tX2ZhaWx1cmVfdGltZTsKIAlzdHJsY3B5KGVycmVudC0+bGFzdF9lcnJtc2csIG1zZy0+ bV9lcnJtc2csIFBHU1RBVF9TVUJTQ1JJUFRJT05FUlJfTVNHTEVOKTsKQEAgLTY2NDgsNiArNjcy OCwxMiBAQCBwZ3N0YXRfcmVzZXRfc3Vic2NyaXB0aW9uX2Vycm9yX2VudHJ5KFBnU3RhdF9TdGF0 U3ViRXJyRW50cnkgKmVycmVudCwKIHsKIAllcnJlbnQtPmNvbW1hbmQgPSAwOwogCWVycmVudC0+ eGlkID0gSW52YWxpZFRyYW5zYWN0aW9uSWQ7CisJZXJyZW50LT54YWN0X2NvbW1pdCA9IDA7CisJ ZXJyZW50LT54YWN0X2NvbW1pdF9ieXRlcyA9IDA7CisJZXJyZW50LT54YWN0X2Vycm9yID0gMDsK KwllcnJlbnQtPnhhY3RfZXJyb3JfYnl0ZXMgPSAwOworCWVycmVudC0+eGFjdF9hYm9ydCA9IDA7 CisJZXJyZW50LT54YWN0X2Fib3J0X2J5dGVzID0gMDsKIAllcnJlbnQtPmZhaWx1cmVfY291bnQg PSAwOwogCWVycmVudC0+bGFzdF9mYWlsdXJlID0gMDsKIAllcnJlbnQtPmxhc3RfZXJybXNnWzBd ID0gJ1wwJzsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJv dG8uYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcHJvdG8uYwppbmRleCA5ZjVi ZjRiLi4yZTFmYzk0IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2Fs L3Byb3RvLmMKKysrIGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9wcm90by5jCkBA IC0xNyw2ICsxNyw3IEBACiAjaW5jbHVkZSAiY2F0YWxvZy9wZ190eXBlLmgiCiAjaW5jbHVkZSAi bGlicHEvcHFmb3JtYXQuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2FscHJvdG8uaCIK KyNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2VyLmgiCiAjaW5jbHVkZSAidXRpbHMv bHN5c2NhY2hlLmgiCiAjaW5jbHVkZSAidXRpbHMvc3lzY2FjaGUuaCIKIApkaWZmIC0tZ2l0IGEv c3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYyBiL3NyYy9iYWNrZW5k L3JlcGxpY2F0aW9uL2xvZ2ljYWwvdGFibGVzeW5jLmMKaW5kZXggZjA3OTgzYS4uN2JhNzQ4NiAx MDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC90YWJsZXN5bmMuYwor KysgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3RhYmxlc3luYy5jCkBAIC0xMTUw LDYgKzExNTAsMTUgQEAgY29weV90YWJsZV9kb25lOgogCVNwaW5Mb2NrUmVsZWFzZSgmTXlMb2dp Y2FsUmVwV29ya2VyLT5yZWxtdXRleCk7CiAKIAkvKgorCSAqIFVwZGF0ZSB0aGUgc3RhdHMgZm9y IHRhYmxlIHN5bmMuIFdlIGRvbid0IHJlY29yZCB0aGUgYnl0ZXMgb2YKKwkgKiB0YWJsZSBzeW5j aHJvbml6YXRpb24uCisJICovCisJcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRpb25fc3VjY2VzcyhN eUxvZ2ljYWxSZXBXb3JrZXItPnN1YmlkLAorCQkJCQkJCQkJICAgTXlMb2dpY2FsUmVwV29ya2Vy LT5yZWxpZCwKKwkJCQkJCQkJCSAgIDAsIC8qIG5vIGNvcnJlc3BvbmRpbmcgbG9naWNhbCBtZXNz YWdlIHR5cGUgKi8KKwkJCQkJCQkJCSAgIDApOworCisJLyoKIAkgKiBGaW5hbGx5LCB3YWl0IHVu dGlsIHRoZSBtYWluIGFwcGx5IHdvcmtlciB0ZWxscyB1cyB0byBjYXRjaCB1cCBhbmQgdGhlbgog CSAqIHJldHVybiB0byBsZXQgTG9naWNhbFJlcEFwcGx5TG9vcCBkbyBpdC4KIAkgKi8KZGlmZiAt LWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMgYi9zcmMvYmFj a2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3dvcmtlci5jCmluZGV4IGZlYTBlODEuLjYyNjEwYjYg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvd29ya2VyLmMKKysr IGIvc3JjL2JhY2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC93b3JrZXIuYwpAQCAtMjIyLDYgKzIy MiwyMCBAQCB0eXBlZGVmIHN0cnVjdCBBcHBseUVycm9yQ2FsbGJhY2tBcmcKIAlMb2dpY2FsUmVw TXNnVHlwZSBjb21tYW5kOwkvKiAwIGlmIGludmFsaWQgKi8KIAlMb2dpY2FsUmVwUmVsTWFwRW50 cnkgKnJlbDsKIAorCS8qCisJICogU3RvcmUgZGF0YSBzaXplIG9mIHRoaXMgdHJhbnNhY3Rpb24u CisJICoKKwkgKiBUaGUgYnl0ZSBzaXplIG9mIHRyYW5zYWN0aW9uIG9uIHRoZSBwdWJsaXNoZXIg aXMgY2FsY3VsYXRlZAorCSAqIGJ5IFJlb3JkZXJCdWZmZXJDaGFuZ2VTaXplKCkgYmFzZWQgb24g dGhlIFJlb3JkZXJCdWZmZXJDaGFuZ2UKKwkgKiBzdHJ1Y3R1cmUuIEJ1dCBvbiB0aGUgc3Vic2Ny aWJlciwgY29uc3VtZWQgcmVzb3VyY2VzIGFyZQorCSAqIG5vdCBzYW1lIGFzIHRoZSBwdWJsaXNo ZXIncyBkZWNvZGluZyBwcm9jZXNzIGFuZCBuZWNlc3NhcnkKKwkgKiB0byBjb21wdXRlIHRob3Nl IGluIGRpZmZlcmVudCB3YXkuIFRoZW4sIHRoZSBleGFjdCBzYW1lIGJ5dGUKKwkgKiBzaXplIGlz IG5vdCByZXN0b3JlZCBvbiB0aGUgc3Vic2NyaWJlciB1c3VhbGx5LiBGdXJ0aGVyLCBpbgorCSAq IG9yZGVyIHRvIGdpdmUgYWNjdXJhdGUgYnl0ZXMgZXZlbiBpbiB0aGUgY2FzZSBvZiBlcnJvciwg YWRkCisJICogYnl0ZSBzaXplIHRvIHRoaXMgdmFsdWUgc3RlcCBieSBzdGVwLgorCSovCisJUGdT dGF0X0NvdW50ZXIgYnl0ZXM7CisKIAkvKiBSZW1vdGUgbm9kZSBpbmZvcm1hdGlvbiAqLwogCWlu dAkJCXJlbW90ZV9hdHRudW07CS8qIC0xIGlmIGludmFsaWQgKi8KIAlUcmFuc2FjdGlvbklkIHJl bW90ZV94aWQ7CkBAIC0yMzIsNiArMjQ2LDcgQEAgc3RhdGljIEFwcGx5RXJyb3JDYWxsYmFja0Fy ZyBhcHBseV9lcnJvcl9jYWxsYmFja19hcmcgPQogewogCS5jb21tYW5kID0gMCwKIAkucmVsID0g TlVMTCwKKwkuYnl0ZXMgPSAwLAogCS5yZW1vdGVfYXR0bnVtID0gLTEsCiAJLnJlbW90ZV94aWQg PSBJbnZhbGlkVHJhbnNhY3Rpb25JZCwKIAkudHMgPSAwLApAQCAtMzE5LDYgKzMzNCw3IEBAIHN0 YXRpYyB2b2lkIG1heWJlX3JlcmVhZF9zdWJzY3JpcHRpb24odm9pZCk7CiAKIC8qIHByb3RvdHlw ZSBuZWVkZWQgYmVjYXVzZSBvZiBzdHJlYW1fY29tbWl0ICovCiBzdGF0aWMgdm9pZCBhcHBseV9k aXNwYXRjaChTdHJpbmdJbmZvIHMpOwordm9pZCB1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTG9n aWNhbFJlcE1zZ1R5cGUgYWN0aW9uLCB2b2lkICpkYXRhKTsKIAogc3RhdGljIHZvaWQgYXBwbHlf aGFuZGxlX2NvbW1pdF9pbnRlcm5hbChMb2dpY2FsUmVwQ29tbWl0RGF0YSAqY29tbWl0X2RhdGEp Owogc3RhdGljIHZvaWQgYXBwbHlfaGFuZGxlX2luc2VydF9pbnRlcm5hbChBcHBseUV4ZWN1dGlv bkRhdGEgKmVkYXRhLApAQCAtODUyLDYgKzg2OCwxMCBAQCBhcHBseV9oYW5kbGVfY29tbWl0KFN0 cmluZ0luZm8gcykKIAogCS8qIFByb2Nlc3MgYW55IHRhYmxlcyB0aGF0IGFyZSBiZWluZyBzeW5j aHJvbml6ZWQgaW4gcGFyYWxsZWwuICovCiAJcHJvY2Vzc19zeW5jaW5nX3RhYmxlcyhjb21taXRf ZGF0YS5lbmRfbHNuKTsKKwlwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9zdWNjZXNzKE15U3Vi c2NyaXB0aW9uLT5vaWQsCisJCQkJCQkJCQkgICBJbnZhbGlkT2lkLAorCQkJCQkJCQkJICAgTE9H SUNBTF9SRVBfTVNHX0NPTU1JVCwKKwkJCQkJCQkJCSAgIGFwcGx5X2Vycm9yX2NhbGxiYWNrX2Fy Zy5ieXRlcyk7CiAKIAlwZ3N0YXRfcmVwb3J0X2FjdGl2aXR5KFNUQVRFX0lETEUsIE5VTEwpOwog CXJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5mbygpOwpAQCAtOTY1LDYgKzk4NSw3IEBAIGFw cGx5X2hhbmRsZV9wcmVwYXJlKFN0cmluZ0luZm8gcykKIAkvKiBQcm9jZXNzIGFueSB0YWJsZXMg dGhhdCBhcmUgYmVpbmcgc3luY2hyb25pemVkIGluIHBhcmFsbGVsLiAqLwogCXByb2Nlc3Nfc3lu Y2luZ190YWJsZXMocHJlcGFyZV9kYXRhLmVuZF9sc24pOwogCisJdXBkYXRlX2FwcGx5X2NoYW5n ZV9zaXplKExPR0lDQUxfUkVQX01TR19QUkVQQVJFLCBOVUxMKTsKIAlwZ3N0YXRfcmVwb3J0X2Fj dGl2aXR5KFNUQVRFX0lETEUsIE5VTEwpOwogCXJlc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfaW5m bygpOwogfQpAQCAtMTAwNiw2ICsxMDI3LDEyIEBAIGFwcGx5X2hhbmRsZV9jb21taXRfcHJlcGFy ZWQoU3RyaW5nSW5mbyBzKQogCS8qIFByb2Nlc3MgYW55IHRhYmxlcyB0aGF0IGFyZSBiZWluZyBz eW5jaHJvbml6ZWQgaW4gcGFyYWxsZWwuICovCiAJcHJvY2Vzc19zeW5jaW5nX3RhYmxlcyhwcmVw YXJlX2RhdGEuZW5kX2xzbik7CiAKKwl1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTE9HSUNBTF9S RVBfTVNHX0NPTU1JVF9QUkVQQVJFRCwgTlVMTCk7CisJcGdzdGF0X3JlcG9ydF9zdWJzY3JpcHRp b25fc3VjY2VzcyhNeVN1YnNjcmlwdGlvbi0+b2lkLAorCQkJCQkJCQkJICAgSW52YWxpZE9pZCwK KwkJCQkJCQkJCSAgIExPR0lDQUxfUkVQX01TR19DT01NSVRfUFJFUEFSRUQsCisJCQkJCQkJCQkg ICBhcHBseV9lcnJvcl9jYWxsYmFja19hcmcuYnl0ZXMpOworCiAJcGdzdGF0X3JlcG9ydF9hY3Rp dml0eShTVEFURV9JRExFLCBOVUxMKTsKIAlyZXNldF9hcHBseV9lcnJvcl9jb250ZXh0X2luZm8o KTsKIH0KQEAgLTExOTMsNiArMTIyMCw3IEBAIGFwcGx5X2hhbmRsZV9zdHJlYW1fc3RhcnQoU3Ry aW5nSW5mbyBzKQogCiAJCU15TG9naWNhbFJlcFdvcmtlci0+c3RyZWFtX2ZpbGVzZXQgPSBwYWxs b2Moc2l6ZW9mKEZpbGVTZXQpKTsKIAkJRmlsZVNldEluaXQoTXlMb2dpY2FsUmVwV29ya2VyLT5z dHJlYW1fZmlsZXNldCk7CisJCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9N U0dfU1RSRUFNX1NUQVJULCBOVUxMKTsKIAogCQlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xkY3R4 KTsKIAl9CkBAIC0xMzQ1LDYgKzEzNzMsMTAgQEAgYXBwbHlfaGFuZGxlX3N0cmVhbV9hYm9ydChT dHJpbmdJbmZvIHMpCiAJaWYgKGlzX3NraXBwaW5nX2NoYW5nZXMoKSkKIAkJc3RvcF9za2lwcGlu Z19jaGFuZ2VzKEludmFsaWRYTG9nUmVjUHRyLCAwKTsKIAorCXBnc3RhdF9yZXBvcnRfc3Vic2Ny aXB0aW9uX3N1Y2Nlc3MoTXlTdWJzY3JpcHRpb24tPm9pZCwKKwkJCQkJCQkJCSAgIEludmFsaWRP aWQsCisJCQkJCQkJCQkgICBMT0dJQ0FMX1JFUF9NU0dfU1RSRUFNX0FCT1JULAorCQkJCQkJCQkJ ICAgYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzKTsKIAlyZXNldF9hcHBseV9lcnJvcl9j b250ZXh0X2luZm8oKTsKIH0KIApAQCAtMTQ5NCw2ICsxNTI2LDEwIEBAIGFwcGx5X2hhbmRsZV9z dHJlYW1fY29tbWl0KFN0cmluZ0luZm8gcykKIAkJc3RvcF9za2lwcGluZ19jaGFuZ2VzKGNvbW1p dF9kYXRhLmVuZF9sc24sIGNvbW1pdF9kYXRhLmNvbW1pdHRpbWUpOwogCiAJCXN0b3JlX2ZsdXNo X3Bvc2l0aW9uKGNvbW1pdF9kYXRhLmVuZF9sc24pOworCisJCS8qIFVwZGF0ZSB0aGUgc2l6ZSBv ZiBjaGFuZ2UgaW4gbWVtb3J5IG9mIHRoaXMgdHJhbnNhY3Rpb24gKi8KKwkJdXBkYXRlX2FwcGx5 X2NoYW5nZV9zaXplKExPR0lDQUxfUkVQX01TR19TVFJFQU1fQ09NTUlULCBOVUxMKTsKKwogCQlp bl9yZW1vdGVfdHJhbnNhY3Rpb24gPSBmYWxzZTsKIAl9CiAJZWxzZQpAQCAtMTY0Niw2ICsxNjgy LDggQEAgYXBwbHlfaGFuZGxlX2luc2VydChTdHJpbmdJbmZvIHMpCiAJc2xvdF9maWxsX2RlZmF1 bHRzKHJlbCwgZXN0YXRlLCByZW1vdGVzbG90KTsKIAlNZW1vcnlDb250ZXh0U3dpdGNoVG8ob2xk Y3R4KTsKIAorCXVwZGF0ZV9hcHBseV9jaGFuZ2Vfc2l6ZShMT0dJQ0FMX1JFUF9NU0dfSU5TRVJU LCByZWwpOworCiAJLyogRm9yIGEgcGFydGl0aW9uZWQgdGFibGUsIGluc2VydCB0aGUgdHVwbGUg aW50byBhIHBhcnRpdGlvbi4gKi8KIAlpZiAocmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxraW5k ID09IFJFTEtJTkRfUEFSVElUSU9ORURfVEFCTEUpCiAJCWFwcGx5X2hhbmRsZV90dXBsZV9yb3V0 aW5nKGVkYXRhLApAQCAtMTgwMyw2ICsxODQxLDggQEAgYXBwbHlfaGFuZGxlX3VwZGF0ZShTdHJp bmdJbmZvIHMpCiAJCQkJCWhhc19vbGR0dXAgPyAmb2xkdHVwIDogJm5ld3R1cCk7CiAJTWVtb3J5 Q29udGV4dFN3aXRjaFRvKG9sZGN0eCk7CiAKKwl1cGRhdGVfYXBwbHlfY2hhbmdlX3NpemUoTE9H SUNBTF9SRVBfTVNHX1VQREFURSwgcmVsKTsKKwogCS8qIEZvciBhIHBhcnRpdGlvbmVkIHRhYmxl LCBhcHBseSB1cGRhdGUgdG8gY29ycmVjdCBwYXJ0aXRpb24uICovCiAJaWYgKHJlbC0+bG9jYWxy ZWwtPnJkX3JlbC0+cmVsa2luZCA9PSBSRUxLSU5EX1BBUlRJVElPTkVEX1RBQkxFKQogCQlhcHBs eV9oYW5kbGVfdHVwbGVfcm91dGluZyhlZGF0YSwKQEAgLTE5MzcsNiArMTk3Nyw3IEBAIGFwcGx5 X2hhbmRsZV9kZWxldGUoU3RyaW5nSW5mbyBzKQogCXNsb3Rfc3RvcmVfZGF0YShyZW1vdGVzbG90 LCByZWwsICZvbGR0dXApOwogCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhvbGRjdHgpOwogCisJdXBk YXRlX2FwcGx5X2NoYW5nZV9zaXplKExPR0lDQUxfUkVQX01TR19ERUxFVEUsIHJlbCk7CiAJLyog Rm9yIGEgcGFydGl0aW9uZWQgdGFibGUsIGFwcGx5IGRlbGV0ZSB0byBjb3JyZWN0IHBhcnRpdGlv bi4gKi8KIAlpZiAocmVsLT5sb2NhbHJlbC0+cmRfcmVsLT5yZWxraW5kID09IFJFTEtJTkRfUEFS VElUSU9ORURfVEFCTEUpCiAJCWFwcGx5X2hhbmRsZV90dXBsZV9yb3V0aW5nKGVkYXRhLApAQCAt MjQ5OCw2ICsyNTM5LDExOCBAQCBhcHBseV9kaXNwYXRjaChTdHJpbmdJbmZvIHMpCiAJYXBwbHlf ZXJyb3JfY2FsbGJhY2tfYXJnLmNvbW1hbmQgPSBzYXZlZF9jb21tYW5kOwogfQogCisKKy8qCisg KiBTdWJzY3JpYmVyIHNpZGUgaW1wbGVtZW50YXRpb24gZXF1aXZhbGVudCB0byBSZW9yZGVyQnVm ZmVyQ2hhbmdlU2l6ZQorICogb2YgdGhlIHB1Ymxpc2hlci4KKyAqCisgKiBBY2NvcmRpbmcgdG8g dGhlIGxvZ2ljYWwgcmVwbGljYXRpb24gbWVzc2FnZSB0eXBlLCByZWNvcmQgbWFqb3IKKyAqIHJl c291cmNlIGNvbnN1bXB0aW9ucyBvZiB0aGlzIHN1YnNjcmlwdGlvbiBmb3IgZWFjaCBtZXNzYWdl LgorICogQXQgcHJlc2VudCwgZG8gbm90IGNvbGxlY3QgZGF0YSBmcm9tIGdlbmVyaWMgZnVuY3Rp b25zIHRvIGtlZXAKKyAqIGNvZGUgc2ltcGxpY2l0eS4gQWxzbywgYnkgYWRkaW5nIG11bHRpcGxl IHZhbHVlcyBhdCBvbmNlLAorICogcmVkdWNlIG51bWJlciBvZiBmdW5jdGlvbiBjYWxscy4KKyAq CisgKiAnZGF0YScgY29udHJvbHMgZGV0YWlsIGhhbmRsaW5nIG9mIGRhdGEgc2l6ZSBjYWxjdWxh dGlvbi4KKyAqLwordm9pZAordXBkYXRlX2FwcGx5X2NoYW5nZV9zaXplKExvZ2ljYWxSZXBNc2dU eXBlIGFjdGlvbiwgdm9pZCAqZGF0YSkKK3sKKwlpbnQ2NCAgICAgICBzaXplID0gMDsKKwlMb2dp Y2FsUmVwUmVsTWFwRW50cnkgKnJlbG1hcGVudHJ5OworCUxvZ2ljYWxSZXBSZWxhdGlvbiAqcmVw cmVsYXRpb247CisJaW50ICAgICAgICAgKnN0cmVhbV93cml0ZV9sZW47CisKKwkvKgorCSAqIElu IHN0cmVhbWluZyBtb2RlLCBzdHJlYW1fd3JpdGVfY2hhbmdlIGlzIGNhbGxlZAorCSAqIGluc3Rl YWQgb2YgaW1tZWRpYXRlIGFwcGx5LiBMaXN0IHVwIHRoZSBtZXNzYWdlcyB0eXBlcworCSAqIHRo YXQgY2FuIGJlIGNhdWdodCBieSBoYW5kbGVfc3RyZWFtZWRfdHJhbnNhY3Rpb24gYW5kCisJICog dHJlYXQgdGhlIHdyaXRlIGxlbmd0aCBhcyB0aGUgc2l6ZSBvZiB0cmFuc2FjdGlvbiBzbworCSAq IHRoYXQgd2UgY2FuIGV4cG9ydCBpdCBhcyBwYXJ0IG9mIHBnX3N0YXRfc3Vic2NyaXB0aW9uLgor CSAqLworCWlmIChpbl9zdHJlYW1lZF90cmFuc2FjdGlvbiAmJgorCQkoYWN0aW9uID09IExPR0lD QUxfUkVQX01TR19JTlNFUlQgfHwKKwkJIGFjdGlvbiA9PSBMT0dJQ0FMX1JFUF9NU0dfVVBEQVRF IHx8CisJCSBhY3Rpb24gPT0gTE9HSUNBTF9SRVBfTVNHX0RFTEVURSB8fAorCQkgYWN0aW9uID09 IExPR0lDQUxfUkVQX01TR19UUlVOQ0FURSB8fAorCQkgYWN0aW9uID09IExPR0lDQUxfUkVQX01T R19SRUxBVElPTiB8fAorCQkgYWN0aW9uID09IExPR0lDQUxfUkVQX01TR19UWVBFKSkKKwl7CisJ CXN0cmVhbV93cml0ZV9sZW4gPSAoaW50ICopIGRhdGE7CisJCXNpemUgKz0gKnN0cmVhbV93cml0 ZV9sZW47CisJCWFkZF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZShzaXplKTsKKwkJcmV0 dXJuOworCX0KKworCXN3aXRjaCAoYWN0aW9uKQorCXsKKwkJLyogTm8gc3BlY2lhbCBjb25zdW1w dGlvbiBleGNlcHQgZm9yIGdlbmVyaWMgZnVuY3Rpb25zICovCisJCWNhc2UgTE9HSUNBTF9SRVBf TVNHX0JFR0lOOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19DT01NSVQ6CisJCWNhc2UgTE9HSUNB TF9SRVBfTVNHX1RSVU5DQVRFOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19UWVBFOgorCQljYXNl IExPR0lDQUxfUkVQX01TR19PUklHSU46CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX01FU1NBR0U6 CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9TVE9QOgorCQljYXNlIExPR0lDQUxfUkVQ X01TR19TVFJFQU1fQUJPUlQ6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX0JFR0lOX1BSRVBBUkU6 CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1BSRVBBUkU6CisJCWNhc2UgTE9HSUNBTF9SRVBfTVNH X1JPTExCQUNLX1BSRVBBUkVEOgorCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0df SU5TRVJUOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19VUERBVEU6CisJCWNhc2UgTE9HSUNBTF9S RVBfTVNHX0RFTEVURToKKwkJCUFzc2VydChkYXRhICE9IE5VTEwpOworCisJCQkvKgorCQkJICog Q29tcHV0ZSBzaXplIGJhc2VkIG9uIEFwcGx5RXhlY3V0aW9uRGF0YS4KKwkJCSAqIFRoZSBzaXpl IG9mIExvZ2ljYWxSZXBSZWxNYXBFbnRyeSBjYW4gYmUgc2tpcHBlZCBiZWNhdXNlCisJCQkgKiBp dCBpcyBvYnRhaW5lZCBmcm9tIGhhc2hfc2VhcmNoIGluIGxvZ2ljYWxyZXBfcmVsX29wZW4uCisJ CQkgKi8KKwkJCXNpemUgKz0gc2l6ZW9mKEFwcGx5RXhlY3V0aW9uRGF0YSkgKyBzaXplb2YoRVN0 YXRlKSArCisJCQkJc2l6ZW9mKFJlc3VsdFJlbEluZm8pICsgc2l6ZW9mKFJlc3VsdFJlbEluZm8p OworCisJCQkvKgorCQkJICogQWRkIHNvbWUgZXh0cmEgc2l6ZSBpZiB0aGUgdGFyZ2V0IHJlbGF0 aW9uIGlzIHBhcnRpdGlvbmVkLgorCQkJICogUGFydGl0aW9uVHVwbGVSb3V0aW5nIGlzbid0IGV4 cG9ydGVkLiBUaGVyZWZvcmUsIGNhbGwgdGhlCisJCQkgKiBmdW5jdGlvbiB0aGF0IHJldHVybnMg aXRzIHNpemUgaW5zdGVhZC4KKwkJCSAqLworCQkJcmVsbWFwZW50cnkgPSAoTG9naWNhbFJlcFJl bE1hcEVudHJ5ICopIGRhdGE7CisJCQlpZiAocmVsbWFwZW50cnktPmxvY2FscmVsLT5yZF9yZWwt PnJlbGtpbmQgPT0gUkVMS0lORF9QQVJUSVRJT05FRF9UQUJMRSkKKwkJCQlzaXplICs9IHNpemVv ZihNb2RpZnlUYWJsZVN0YXRlKSArIFBhcnRpdGlvblR1cGxlUm91dGluZ1NpemUoKTsKKwkJCWJy ZWFrOworCisKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfUkVMQVRJT046CisJCQlBc3NlcnQoZGF0 YSAhPSBOVUxMKTsKKworCQkJcmVwcmVsYXRpb24gPSAoTG9naWNhbFJlcFJlbGF0aW9uICopIGRh dGE7CisJCQkvKiBTZWUgbG9naWNhbHJlcF9yZWFkX2F0dHJzIGZvciB0aGUgbGFzdCB0d28gKi8K KwkJCXNpemUgKz0gc2l6ZW9mKExvZ2ljYWxSZXBSZWxhdGlvbikgKworCQkJCXJlcHJlbGF0aW9u LT5uYXR0cyAqIHNpemVvZihjaGFyICopICsKKwkJCQlyZXByZWxhdGlvbi0+bmF0dHMgKiBzaXpl b2YoT2lkKTsKKwkJCWJyZWFrOworCisJCWNhc2UgTE9HSUNBTF9SRVBfTVNHX1NUUkVBTV9TVEFS VDoKKwkJCXNpemUgKz0gc2l6ZW9mKEZpbGVTZXQpOworCQkJYnJlYWs7CisKKwkJY2FzZSBMT0dJ Q0FMX1JFUF9NU0dfU1RSRUFNX0NPTU1JVDoKKwkJY2FzZSBMT0dJQ0FMX1JFUF9NU0dfQ09NTUlU X1BSRVBBUkVEOgorCQljYXNlIExPR0lDQUxfUkVQX01TR19TVFJFQU1fUFJFUEFSRToKKwkJCXNp emUgKz0gc2l6ZW9mKEZsdXNoUG9zaXRpb24pOworCQkJYnJlYWs7CisKKwkJZGVmYXVsdDoKKwkJ CWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlKEVSUkNPREVfUFJPVE9DT0xfVklPTEFUSU9O KSwKKwkJCQkJIGVycm1zZygiaW52YWxpZCBsb2dpY2FsIHJlcGxpY2F0aW9uIG1lc3NhZ2UgdHlw ZSBcIiVjXCIiLCBhY3Rpb24pKSk7CisJfQorCS8qIHVwZGF0ZSB0aGUgdG90YWwgc2l6ZSBvZiBj b25zdW1wdGlvbiAqLworCWFkZF9hcHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZShzaXplKTsK K30KKworCiAvKgogICogRmlndXJlIG91dCB3aGljaCB3cml0ZS9mbHVzaCBwb3NpdGlvbnMgdG8g cmVwb3J0IHRvIHRoZSB3YWxzZW5kZXIgcHJvY2Vzcy4KICAqCkBAIC0zMzUyLDYgKzM1MDUsNyBA QCBzdGF0aWMgdm9pZAogc3RyZWFtX3dyaXRlX2NoYW5nZShjaGFyIGFjdGlvbiwgU3RyaW5nSW5m byBzKQogewogCWludAkJCWxlbjsKKwlpbnQJCQl0b3RhbF9sZW47CiAKIAlBc3NlcnQoaW5fc3Ry ZWFtZWRfdHJhbnNhY3Rpb24pOwogCUFzc2VydChUcmFuc2FjdGlvbklkSXNWYWxpZChzdHJlYW1f eGlkKSk7CkBAIC0zMzcwLDYgKzM1MjQsOSBAQCBzdHJlYW1fd3JpdGVfY2hhbmdlKGNoYXIgYWN0 aW9uLCBTdHJpbmdJbmZvIHMpCiAJbGVuID0gKHMtPmxlbiAtIHMtPmN1cnNvcik7CiAKIAlCdWZG aWxlV3JpdGUoc3RyZWFtX2ZkLCAmcy0+ZGF0YVtzLT5jdXJzb3JdLCBsZW4pOworCisJdG90YWxf bGVuID0gKHMtPmxlbiAtIHMtPmN1cnNvcikgKiAyICsgc2l6ZW9mKGNoYXIpICsgc2l6ZW9mKGFj dGlvbik7CisJdXBkYXRlX2FwcGx5X2NoYW5nZV9zaXplKGFjdGlvbiwgJnRvdGFsX2xlbik7CiB9 CiAKIC8qCkBAIC0zNzM0LDYgKzM4OTEsMjcgQEAgc2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfeGFj dChUcmFuc2FjdGlvbklkIHhpZCwgVGltZXN0YW1wVHogdHMpCiAJYXBwbHlfZXJyb3JfY2FsbGJh Y2tfYXJnLnRzID0gdHM7CiB9CiAKKy8qIEV4cG9ydGVkIHNvIHRoYXQgc3RhdHMgY29sbGVjdG9y IGNhbiB1dGlsaXplIHRoaXMgdmFsdWUgKi8KK2ludDY0CitnZXRfYXBwbHlfZXJyb3JfY29udGV4 dF94YWN0X3NpemUodm9pZCkKK3sKKwlyZXR1cm4gYXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5 dGVzOworfQorCisvKiBBZGQgc2l6ZSB0byBhcHBseSBlcnJvciBjYWxsYmFjayBieXRlcyAqLwor dm9pZAorYWRkX2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9zaXplKGludDY0IHNpemUpCit7CisJ YXBwbHlfZXJyb3JfY2FsbGJhY2tfYXJnLmJ5dGVzICs9IHNpemU7Cit9CisKKy8qIFJlc2V0IGJ5 dGVzIGluZm9ybWF0aW9uIG9mIGFwcGx5IGVycm9yIGNhbGxiYWNrICovCit2b2lkCityZXNldF9h cHBseV9lcnJvcl9jb250ZXh0X3hhY3Rfc2l6ZSh2b2lkKQoreworCWFwcGx5X2Vycm9yX2NhbGxi YWNrX2FyZy5ieXRlcyA9IDA7Cit9CisKIC8qIFJlc2V0IGFsbCBpbmZvcm1hdGlvbiBvZiBhcHBs eSBlcnJvciBjYWxsYmFjayAqLwogc3RhdGljIGlubGluZSB2b2lkCiByZXNldF9hcHBseV9lcnJv cl9jb250ZXh0X2luZm8odm9pZCkKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FkdC9w Z3N0YXRmdW5jcy5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKaW5kZXgg NjNlN2E0Yi4uOTYzMDc1NCAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3Rh dGZ1bmNzLmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWR0L3Bnc3RhdGZ1bmNzLmMKQEAgLTI0 OTEsMyArMjQ5MSwxMzYgQEAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX2Vycm9yKFBHX0ZVTkNU SU9OX0FSR1MpCiAJLyogUmV0dXJucyB0aGUgcmVjb3JkIGFzIERhdHVtICovCiAJUEdfUkVUVVJO X0RBVFVNKEhlYXBUdXBsZUdldERhdHVtKGhlYXBfZm9ybV90dXBsZSh0dXBkZXNjLCB2YWx1ZXMs IG51bGxzKSkpOwogfQorCitEYXR1bQorcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfY29t bWl0KFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJT2lkCQkJc3ViaWQgPSBQR19HRVRBUkdfT0lEKDAp OworCU9pZAkJCXJlbGlkOworCWludDY0CQlyZXN1bHQ7CisJUGdTdGF0X1N0YXRTdWJFcnJFbnRy eSAqZXJyZW50OworCisJaWYgKFBHX0FSR0lTTlVMTCgxKSkKKwkJcmVsaWQgPSBJbnZhbGlkT2lk OworCWVsc2UKKwkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDEpOworCisJLyogR2V0IHN1YnNjcmlw dGlvbiBlcnJvciBlbnRyeSAqLworCWlmICgoZXJyZW50ID0gcGdzdGF0X2ZldGNoX3N1YnNjcmlw dGlvbl9lcnJvcihzdWJpZCwgcmVsaWQpKSA9PSBOVUxMKQorCQlyZXN1bHQgPSAwOworCWVsc2UK KwkJcmVzdWx0ID0gKGludDY0KSAoZXJyZW50LT54YWN0X2NvbW1pdCk7CisKKwlQR19SRVRVUk5f SU5UNjQocmVzdWx0KTsKK30KKworRGF0dW0KK3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0 X2NvbW1pdF9ieXRlcyhQR19GVU5DVElPTl9BUkdTKQoreworCU9pZAkJCXN1YmlkID0gUEdfR0VU QVJHX09JRCgwKTsKKwlPaWQJCQlyZWxpZDsKKwlpbnQ2NAkJcmVzdWx0OworCVBnU3RhdF9TdGF0 U3ViRXJyRW50cnkgKmVycmVudDsKKworCWlmIChQR19BUkdJU05VTEwoMSkpCisJCXJlbGlkID0g SW52YWxpZE9pZDsKKwllbHNlCisJCXJlbGlkID0gUEdfR0VUQVJHX09JRCgxKTsKKworCS8qIEdl dCBzdWJzY3JpcHRpb24gZXJyb3IgZW50cnkgKi8KKwlpZiAoKGVycmVudCA9IHBnc3RhdF9mZXRj aF9zdWJzY3JpcHRpb25fZXJyb3Ioc3ViaWQsIHJlbGlkKSkgPT0gTlVMTCkKKwkJcmVzdWx0ID0g MDsKKwllbHNlCisJCXJlc3VsdCA9IChpbnQ2NCkgKGVycmVudC0+eGFjdF9jb21taXRfYnl0ZXMp OworCisJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7Cit9CisKKworRGF0dW0KK3BnX3N0YXRfZ2V0 X3N1YnNjcmlwdGlvbl94YWN0X2Vycm9yKFBHX0ZVTkNUSU9OX0FSR1MpCit7CisJT2lkCQkJc3Vi aWQgPSBQR19HRVRBUkdfT0lEKDApOworCU9pZAkJCXJlbGlkOworCWludDY0CQlyZXN1bHQ7CisJ UGdTdGF0X1N0YXRTdWJFcnJFbnRyeSAqZXJyZW50OworCisJaWYgKFBHX0FSR0lTTlVMTCgxKSkK KwkJcmVsaWQgPSBJbnZhbGlkT2lkOworCWVsc2UKKwkJcmVsaWQgPSBQR19HRVRBUkdfT0lEKDEp OworCisJLyogR2V0IHN1YnNjcmlwdGlvbiBlcnJvciBlbnRyeSAqLworCWlmICgoZXJyZW50ID0g cGdzdGF0X2ZldGNoX3N1YnNjcmlwdGlvbl9lcnJvcihzdWJpZCwgcmVsaWQpKSA9PSBOVUxMKQor CQlyZXN1bHQgPSAwOworCWVsc2UKKwkJcmVzdWx0ID0gKGludDY0KSAoZXJyZW50LT54YWN0X2Vy cm9yKTsKKworCVBHX1JFVFVSTl9JTlQ2NChyZXN1bHQpOworfQorCitEYXR1bQorcGdfc3RhdF9n ZXRfc3Vic2NyaXB0aW9uX3hhY3RfZXJyb3JfYnl0ZXMoUEdfRlVOQ1RJT05fQVJHUykKK3sKKwlP aWQJCQlzdWJpZCA9IFBHX0dFVEFSR19PSUQoMCk7CisJT2lkCQkJcmVsaWQ7CisJaW50NjQJCXJl c3VsdDsKKwlQZ1N0YXRfU3RhdFN1YkVyckVudHJ5ICplcnJlbnQ7CisKKwlpZiAoUEdfQVJHSVNO VUxMKDEpKQorCQlyZWxpZCA9IEludmFsaWRPaWQ7CisJZWxzZQorCQlyZWxpZCA9IFBHX0dFVEFS R19PSUQoMSk7CisKKwkvKiBHZXQgc3Vic2NyaXB0aW9uIGVycm9yIGVudHJ5ICovCisJaWYgKChl cnJlbnQgPSBwZ3N0YXRfZmV0Y2hfc3Vic2NyaXB0aW9uX2Vycm9yKHN1YmlkLCByZWxpZCkpID09 IE5VTEwpCisJCXJlc3VsdCA9IDA7CisJZWxzZQorCQlyZXN1bHQgPSAoaW50NjQpIChlcnJlbnQt PnhhY3RfZXJyb3JfYnl0ZXMpOworCisJUEdfUkVUVVJOX0lOVDY0KHJlc3VsdCk7Cit9CisKK0Rh dHVtCitwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9hYm9ydChQR19GVU5DVElPTl9BUkdT KQoreworCU9pZAkJCXN1YmlkID0gUEdfR0VUQVJHX09JRCgwKTsKKwlPaWQJCQlyZWxpZDsKKwlp bnQ2NAkJcmVzdWx0OworCVBnU3RhdF9TdGF0U3ViRXJyRW50cnkgKmVycmVudDsKKworCWlmIChQ R19BUkdJU05VTEwoMSkpCisJCXJlbGlkID0gSW52YWxpZE9pZDsKKwllbHNlCisJCXJlbGlkID0g UEdfR0VUQVJHX09JRCgxKTsKKworCS8qIEdldCBzdWJzY3JpcHRpb24gZXJyb3IgZW50cnkgKi8K KwlpZiAoKGVycmVudCA9IHBnc3RhdF9mZXRjaF9zdWJzY3JpcHRpb25fZXJyb3Ioc3ViaWQsIHJl bGlkKSkgPT0gTlVMTCkKKwkJcmVzdWx0ID0gMDsKKwllbHNlCisJCXJlc3VsdCA9IChpbnQ2NCkg KGVycmVudC0+eGFjdF9hYm9ydCk7CisKKwlQR19SRVRVUk5fSU5UNjQocmVzdWx0KTsKK30KKwor RGF0dW0KK3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Fib3J0X2J5dGVzKFBHX0ZVTkNU SU9OX0FSR1MpCit7CisJT2lkCQkJc3ViaWQgPSBQR19HRVRBUkdfT0lEKDApOworCU9pZAkJCXJl bGlkOworCWludDY0CQlyZXN1bHQ7CisJUGdTdGF0X1N0YXRTdWJFcnJFbnRyeSAqZXJyZW50Owor CisJaWYgKFBHX0FSR0lTTlVMTCgxKSkKKwkJcmVsaWQgPSBJbnZhbGlkT2lkOworCWVsc2UKKwkJ cmVsaWQgPSBQR19HRVRBUkdfT0lEKDEpOworCisJLyogR2V0IHN1YnNjcmlwdGlvbiBlcnJvciBl bnRyeSAqLworCWlmICgoZXJyZW50ID0gcGdzdGF0X2ZldGNoX3N1YnNjcmlwdGlvbl9lcnJvcihz dWJpZCwgcmVsaWQpKSA9PSBOVUxMKQorCQlyZXN1bHQgPSAwOworCWVsc2UKKwkJcmVzdWx0ID0g KGludDY0KSAoZXJyZW50LT54YWN0X2Fib3J0X2J5dGVzKTsKKworCVBHX1JFVFVSTl9JTlQ2NChy ZXN1bHQpOworfQpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdCBi L3NyYy9pbmNsdWRlL2NhdGFsb2cvcGdfcHJvYy5kYXQKaW5kZXggYWMwMjA2MS4uODM5NjlhNSAx MDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvY2F0YWxvZy9wZ19wcm9jLmRhdAorKysgYi9zcmMvaW5j bHVkZS9jYXRhbG9nL3BnX3Byb2MuZGF0CkBAIC01MzkzLDYgKzUzOTMsMzAgQEAKICAgcHJvYXJn bW9kZXMgPT4gJ3tpLGksbyxvLG8sbyxvLG8sbyxvLG99JywKICAgcHJvYXJnbmFtZXMgPT4gJ3tz dWJpZCxyZWxpZCxzdWJpZCxyZWxpZCxjb21tYW5kLHhpZCxmYWlsdXJlX3NvdXJjZSxmYWlsdXJl X2NvdW50LGxhc3RfZmFpbHVyZSxsYXN0X2ZhaWx1cmVfbWVzc2FnZSxzdGF0c19yZXNldH0nLAog ICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl9lcnJvcicgfSwKK3sgb2lkID0+ ICc4NTI1JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0cmFuc2FjdGlvbnMgY29t bWl0IGZvciBhIHN1YnNjcmlwdGlvbicsCisgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNj cmlwdGlvbl94YWN0X2NvbW1pdCcsIHByb2lzc3RyaWN0ID0+ICdmJywgcHJvdm9sYXRpbGUgPT4g J3MnLAorICBwcm9wYXJhbGxlbCA9PiAncicsIHByb3JldHR5cGUgPT4gJ2ludDgnLCBwcm9hcmd0 eXBlcyA9PiAnb2lkIG9pZCcsCisgIHByb3NyYyA9PiAncGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9u X3hhY3RfY29tbWl0JyB9LAoreyBvaWQgPT4gJzg1MjYnLCBkZXNjciA9PiAnc3RhdGlzdGljczog Ynl0ZXMgb2YgdHJhbnNhY3Rpb25zIGNvbW1pdCBmb3IgYSBzdWJzY3JpcHRpb24nLAorICBwcm9u YW1lID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9jb21taXRfYnl0ZXMnLCBwcm9p c3N0cmljdCA9PiAnZicsIHByb3ZvbGF0aWxlID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3In LCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJvYXJndHlwZXMgPT4gJ29pZCBvaWQnLAorICBwcm9z cmMgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2NvbW1pdF9ieXRlcycgfSwKK3sg b2lkID0+ICc4NTI3JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0cmFuc2FjdGlv bnMgZXJyb3IgZm9yIGEgc3Vic2NyaXB0aW9uJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRf c3Vic2NyaXB0aW9uX3hhY3RfZXJyb3InLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3ZvbGF0aWxl ID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJv YXJndHlwZXMgPT4gJ29pZCBvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlw dGlvbl94YWN0X2Vycm9yJyB9LAoreyBvaWQgPT4gJzg1MjgnLCBkZXNjciA9PiAnc3RhdGlzdGlj czogYnl0ZXMgb2YgdHJhbnNhY3Rpb25zIGVycm9yIGZvciBhIHN1YnNjcmlwdGlvbicsCisgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Vycm9yX2J5dGVzJywgcHJv aXNzdHJpY3QgPT4gJ2YnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdy JywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQgb2lkJywKKyAgcHJv c3JjID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9lcnJvcl9ieXRlcycgfSwKK3sg b2lkID0+ICc4NTI5JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IG51bWJlciBvZiB0cmFuc2FjdGlv bnMgYWJvcnQgZm9yIGEgc3Vic2NyaXB0aW9uJywKKyAgcHJvbmFtZSA9PiAncGdfc3RhdF9nZXRf c3Vic2NyaXB0aW9uX3hhY3RfYWJvcnQnLCBwcm9pc3N0cmljdCA9PiAnZicsIHByb3ZvbGF0aWxl ID0+ICdzJywKKyAgcHJvcGFyYWxsZWwgPT4gJ3InLCBwcm9yZXR0eXBlID0+ICdpbnQ4JywgcHJv YXJndHlwZXMgPT4gJ29pZCBvaWQnLAorICBwcm9zcmMgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlw dGlvbl94YWN0X2Fib3J0JyB9LAoreyBvaWQgPT4gJzg1MzAnLCBkZXNjciA9PiAnc3RhdGlzdGlj czogYnl0ZXMgb2YgdHJhbnNhY3Rpb25zIGFib3J0IGZvciBhIHN1YnNjcmlwdGlvbicsCisgIHBy b25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Fib3J0X2J5dGVzJywgcHJv aXNzdHJpY3QgPT4gJ2YnLCBwcm92b2xhdGlsZSA9PiAncycsCisgIHByb3BhcmFsbGVsID0+ICdy JywgcHJvcmV0dHlwZSA9PiAnaW50OCcsIHByb2FyZ3R5cGVzID0+ICdvaWQgb2lkJywKKyAgcHJv c3JjID0+ICdwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9hYm9ydF9ieXRlcycgfSwKIHsg b2lkID0+ICc2MTE4JywgZGVzY3IgPT4gJ3N0YXRpc3RpY3M6IGluZm9ybWF0aW9uIGFib3V0IHN1 YnNjcmlwdGlvbicsCiAgIHByb25hbWUgPT4gJ3BnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbicsIHBy b3Jvd3MgPT4gJzEwJywgcHJvaXNzdHJpY3QgPT4gJ2YnLAogICBwcm9yZXRzZXQgPT4gJ3QnLCBw cm92b2xhdGlsZSA9PiAncycsIHByb3BhcmFsbGVsID0+ICdyJywKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL2V4ZWN1dG9yL2V4ZWNQYXJ0aXRpb24uaCBiL3NyYy9pbmNsdWRlL2V4ZWN1dG9yL2V4 ZWNQYXJ0aXRpb24uaAppbmRleCA2OTRlMzhiLi43NzNlNDZjIDEwMDY0NAotLS0gYS9zcmMvaW5j bHVkZS9leGVjdXRvci9leGVjUGFydGl0aW9uLmgKKysrIGIvc3JjL2luY2x1ZGUvZXhlY3V0b3Iv ZXhlY1BhcnRpdGlvbi5oCkBAIC0xMTAsNiArMTEwLDcgQEAgdHlwZWRlZiBzdHJ1Y3QgUGFydGl0 aW9uUHJ1bmVTdGF0ZQogCVBhcnRpdGlvblBydW5pbmdEYXRhICpwYXJ0cHJ1bmVkYXRhW0ZMRVhJ QkxFX0FSUkFZX01FTUJFUl07CiB9IFBhcnRpdGlvblBydW5lU3RhdGU7CiAKK2V4dGVybiBzaXpl X3QgUGFydGl0aW9uVHVwbGVSb3V0aW5nU2l6ZSh2b2lkKTsKIGV4dGVybiBQYXJ0aXRpb25UdXBs ZVJvdXRpbmcgKkV4ZWNTZXR1cFBhcnRpdGlvblR1cGxlUm91dGluZyhFU3RhdGUgKmVzdGF0ZSwK IAkJCQkJCQkJCQkJCQkJCSBSZWxhdGlvbiByZWwpOwogZXh0ZXJuIFJlc3VsdFJlbEluZm8gKkV4 ZWNGaW5kUGFydGl0aW9uKE1vZGlmeVRhYmxlU3RhdGUgKm10c3RhdGUsCmRpZmYgLS1naXQgYS9z cmMvaW5jbHVkZS9wZ3N0YXQuaCBiL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCmluZGV4IDNjZGEwYzku LmMwODFlNzYgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3Bnc3RhdC5oCisrKyBiL3NyYy9pbmNs dWRlL3Bnc3RhdC5oCkBAIC02Nyw2ICs2Nyw3IEBAIHR5cGVkZWYgZW51bSBTdGF0TXNnVHlwZQog CVBHU1RBVF9NVFlQRV9SRVNFVFNJTkdMRUNPVU5URVIsCiAJUEdTVEFUX01UWVBFX1JFU0VUU0xS VUNPVU5URVIsCiAJUEdTVEFUX01UWVBFX1JFU0VUUkVQTFNMT1RDT1VOVEVSLAorCVBHU1RBVF9N VFlQRV9TVUJTQ1JJUFRJT05TVUNDRVNTLAogCVBHU1RBVF9NVFlQRV9TVUJTQ1JJUFRJT05FUlIs CiAJUEdTVEFUX01UWVBFX1NVQlNDUklQVElPTkVSUlJFU0VULAogCVBHU1RBVF9NVFlQRV9TVUJT Q1JJUFRJT05FUlJQVVJHRSwKQEAgLTU2NCw2ICs1NjUsNyBAQCB0eXBlZGVmIHN0cnVjdCBQZ1N0 YXRfTXNnU3Vic2NyaXB0aW9uRXJyCiAJT2lkCQkJbV9yZWxpZDsKIAlMb2dpY2FsUmVwTXNnVHlw ZSBtX2NvbW1hbmQ7CiAJVHJhbnNhY3Rpb25JZCBtX3hpZDsKKwlQZ1N0YXRfQ291bnRlciBtX2J5 dGVzOwogCVRpbWVzdGFtcFR6IG1fZmFpbHVyZV90aW1lOwogCWNoYXIJCW1fZXJybXNnW1BHU1RB VF9TVUJTQ1JJUFRJT05FUlJfTVNHTEVOXTsKIH0gUGdTdGF0X01zZ1N1YnNjcmlwdGlvbkVycjsK QEAgLTEwMjcsMTMgKzEwMjksMjggQEAgdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRSZXBsU2xv dEVudHJ5CiAgKiBTdWJzY3JpcHRpb24gZXJyb3Igc3RhdGlzdGljcyBrZXB0IGluIHRoZSBzdGF0 cyBjb2xsZWN0b3IsIHJlcHJlc2VudGluZwogICogYW4gZXJyb3IgdGhhdCBvY2N1cnJlZCBkdXJp bmcgYXBwbGljYXRpb24gb2YgbG9naWNhbCByZXBsaWNhdGlvbiBvcgogICogaW5pdGlhbCB0YWJs ZSBzeW5jaHJvbml6YXRpb24uCisgKgorICogT3RoZXIgZ2VuZXJhbCBzdGF0cyBmb3IgdHJhbnNh Y3Rpb24gb24gc3Vic2NyaXB0aW9uIGFyZSBzdG9yZWQgaW4gdGhpcyBlbnRyeQorICogYXMgd2Vs bCwgYWxpZ25lZCB3aXRoIHRyYW5zYWN0aW9uIGVycm9yIHN0YXRzLiBIb2xkaW5nIHRoZSBzaXpl IG9mIGNvbXB1dGVkCisgKiByZXN1bHQgb2YgYnl0ZXMgZHVyaW5nIHJlcGxheSBkZXBlbmRzIG9u IHRoZSBhcHBseSBlcnJvciBjYWxsYmFjayBub3QgdG8gYmUKKyAqIGxvc3QgYW5kIGhhdmluZyBn ZW5lcmFsIHN0YXRzIGluIHRoZSBzYW1lIHBsYWNlIHJlZHVjZXMgY29kZSBjb21wbGV4aXR5Cisg KiBhbmQgcmVkdW5kYW5jeS4KICAqLwogdHlwZWRlZiBzdHJ1Y3QgUGdTdGF0X1N0YXRTdWJFcnJF bnRyeQogewogCU9pZAkJCXJlbGlkOwkJCS8qIGhhc2ggdGFibGUga2V5ICovCiAJTG9naWNhbFJl cE1zZ1R5cGUgY29tbWFuZDsKIAlUcmFuc2FjdGlvbklkIHhpZDsKLQlQZ1N0YXRfQ291bnRlciBm YWlsdXJlX2NvdW50OworCisJLyogdHJhbnNhY3Rpb24gc3RhdHMgb2Ygc3Vic2NyaXB0aW9uICov CisJUGdTdGF0X0NvdW50ZXIgeGFjdF9jb21taXQ7CisJUGdTdGF0X0NvdW50ZXIgeGFjdF9jb21t aXRfYnl0ZXM7CisJUGdTdGF0X0NvdW50ZXIgeGFjdF9lcnJvcjsKKwlQZ1N0YXRfQ291bnRlciB4 YWN0X2Vycm9yX2J5dGVzOyAvKiB0b3RhbCBlcnJvciBjb3VudHMgb2YgdGhpcyBzdWJzY3JpcHRp b24gKi8KKwlQZ1N0YXRfQ291bnRlciB4YWN0X2Fib3J0OworCVBnU3RhdF9Db3VudGVyIHhhY3Rf YWJvcnRfYnl0ZXM7CisJUGdTdGF0X0NvdW50ZXIgZmFpbHVyZV9jb3VudDsgLyogdG90YWwgZXJy b3IgY291bnRzIG9mIG9uZSBzcGVjaWZpYyBlcnJvcgorCQkJCQkJCQkJIGNvbnRpbnVvdXNseSBo YXBwZW5pbmcgKi8KIAlUaW1lc3RhbXBUeiBsYXN0X2ZhaWx1cmU7CiAJY2hhcgkJbGFzdF9lcnJt c2dbUEdTVEFUX1NVQlNDUklQVElPTkVSUl9NU0dMRU5dOwogCVRpbWVzdGFtcFR6IHN0YXRfcmVz ZXRfdGltZXN0YW1wOwpAQCAtMTE3MSw2ICsxMTg4LDggQEAgZXh0ZXJuIHZvaWQgcGdzdGF0X3Jl cG9ydF9jaGVja3N1bV9mYWlsdXJlKHZvaWQpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3JlcG9ydF9y ZXBsc2xvdChjb25zdCBQZ1N0YXRfU3RhdFJlcGxTbG90RW50cnkgKnJlcFNsb3RTdGF0KTsKIGV4 dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfcmVwbHNsb3RfY3JlYXRlKGNvbnN0IGNoYXIgKnNsb3Ru YW1lKTsKIGV4dGVybiB2b2lkIHBnc3RhdF9yZXBvcnRfcmVwbHNsb3RfZHJvcChjb25zdCBjaGFy ICpzbG90bmFtZSk7CitleHRlcm4gdm9pZCBwZ3N0YXRfcmVwb3J0X3N1YnNjcmlwdGlvbl9zdWNj ZXNzKE9pZCBzdWJpZCwgT2lkIHN1YnJlbCwKKwkJCQkJCQkJCQkJICAgTG9naWNhbFJlcE1zZ1R5 cGUgY29tbWFuZCwgUGdTdGF0X0NvdW50ZXIgYnl0ZXMpOwogZXh0ZXJuIHZvaWQgcGdzdGF0X3Jl cG9ydF9zdWJzY3JpcHRpb25fZXJyb3IoT2lkIHN1YmlkLCBPaWQgc3VicmVsaWQsIE9pZCByZWxp ZCwKIAkJCQkJCQkJCQkJIExvZ2ljYWxSZXBNc2dUeXBlIGNvbW1hbmQsCiAJCQkJCQkJCQkJCSBU cmFuc2FjdGlvbklkIHhpZCwgY29uc3QgY2hhciAqZXJybXNnKTsKZGlmZiAtLWdpdCBhL3NyYy9p bmNsdWRlL3JlcGxpY2F0aW9uL2xvZ2ljYWx3b3JrZXIuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0 aW9uL2xvZ2ljYWx3b3JrZXIuaAppbmRleCAyYWQ2MWEwLi45MjNjOGNlIDEwMDY0NAotLS0gYS9z cmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9sb2dpY2Fsd29ya2VyLmgKKysrIGIvc3JjL2luY2x1ZGUv cmVwbGljYXRpb24vbG9naWNhbHdvcmtlci5oCkBAIC0xNSw1ICsxNSw5IEBACiBleHRlcm4gdm9p ZCBBcHBseVdvcmtlck1haW4oRGF0dW0gbWFpbl9hcmcpOwogCiBleHRlcm4gYm9vbCBJc0xvZ2lj YWxXb3JrZXIodm9pZCk7CitleHRlcm4gaW50NjQgZ2V0X2FwcGx5X2Vycm9yX2NvbnRleHRfeGFj dF9zaXplKHZvaWQpOworZXh0ZXJuIHZvaWQgYWRkX2FwcGx5X2Vycm9yX2NvbnRleHRfeGFjdF9z aXplKGludDY0IHNpemUpOworZXh0ZXJuIHZvaWQgcmVzZXRfYXBwbHlfZXJyb3JfY29udGV4dF94 YWN0X3NpemUodm9pZCk7CisKIAogI2VuZGlmCQkJCQkJCS8qIExPR0lDQUxXT1JLRVJfSCAqLwpk aWZmIC0tZ2l0IGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9ydWxlcy5vdXQgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAppbmRleCAzNzE5YjhhLi43YTMyM2M2IDEwMDY0 NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dAorKysgYi9zcmMvdGVz dC9yZWdyZXNzL2V4cGVjdGVkL3J1bGVzLm91dApAQCAtMjA5MSw5ICsyMDkxLDM0IEBAIHBnX3N0 YXRfc3Vic2NyaXB0aW9ufCBTRUxFQ1Qgc3Uub2lkIEFTIHN1YmlkLAogICAgIHN0Lmxhc3RfbXNn X3NlbmRfdGltZSwKICAgICBzdC5sYXN0X21zZ19yZWNlaXB0X3RpbWUsCiAgICAgc3QubGF0ZXN0 X2VuZF9sc24sCisgICAgcGdfc3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfY29tbWl0KHN1Lm9p ZCwgc3QucmVsaWQpIEFTIHhhY3RfY29tbWl0LAorICAgIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlv bl94YWN0X2NvbW1pdF9ieXRlcyhzdS5vaWQsIHN0LnJlbGlkKSBBUyB4YWN0X2NvbW1pdF9ieXRl cywKKyAgICBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9lcnJvcihzdS5vaWQsIHN0LnJl bGlkKSBBUyB4YWN0X2Vycm9yLAorICAgIHBnX3N0YXRfZ2V0X3N1YnNjcmlwdGlvbl94YWN0X2Vy cm9yX2J5dGVzKHN1Lm9pZCwgc3QucmVsaWQpIEFTIHhhY3RfZXJyb3JfYnl0ZXMsCisgICAgcGdf c3RhdF9nZXRfc3Vic2NyaXB0aW9uX3hhY3RfYWJvcnQoc3Uub2lkLCBzdC5yZWxpZCkgQVMgeGFj dF9hYm9ydCwKKyAgICBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb25feGFjdF9hYm9ydF9ieXRlcyhz dS5vaWQsIHN0LnJlbGlkKSBBUyB4YWN0X2Fib3J0X2J5dGVzLAogICAgIHN0LmxhdGVzdF9lbmRf dGltZQogICAgRlJPTSAocGdfc3Vic2NyaXB0aW9uIHN1Ci0gICAgIExFRlQgSk9JTiBwZ19zdGF0 X2dldF9zdWJzY3JpcHRpb24oTlVMTDo6b2lkKSBzdChzdWJpZCwgcmVsaWQsIHBpZCwgcmVjZWl2 ZWRfbHNuLCBsYXN0X21zZ19zZW5kX3RpbWUsIGxhc3RfbXNnX3JlY2VpcHRfdGltZSwgbGF0ZXN0 X2VuZF9sc24sIGxhdGVzdF9lbmRfdGltZSkgT04gKChzdC5zdWJpZCA9IHN1Lm9pZCkpKTsKKyAg ICAgTEVGVCBKT0lOICggU0VMRUNUIHMuc3ViaWQsCisgICAgICAgICAgICBzLnJlbGlkLAorICAg ICAgICAgICAgcy5waWQsCisgICAgICAgICAgICBzLnJlY2VpdmVkX2xzbiwKKyAgICAgICAgICAg IHMubGFzdF9tc2dfc2VuZF90aW1lLAorICAgICAgICAgICAgcy5sYXN0X21zZ19yZWNlaXB0X3Rp bWUsCisgICAgICAgICAgICBzLmxhdGVzdF9lbmRfbHNuLAorICAgICAgICAgICAgcy5sYXRlc3Rf ZW5kX3RpbWUKKyAgICAgICAgICAgRlJPTSBwZ19zdGF0X2dldF9zdWJzY3JpcHRpb24oTlVMTDo6 b2lkKSBzKHN1YmlkLCByZWxpZCwgcGlkLCByZWNlaXZlZF9sc24sIGxhc3RfbXNnX3NlbmRfdGlt ZSwgbGFzdF9tc2dfcmVjZWlwdF90aW1lLCBsYXRlc3RfZW5kX2xzbiwgbGF0ZXN0X2VuZF90aW1l KQorICAgICAgICBVTklPTgorICAgICAgICAgU0VMRUNUIHIuc3JzdWJpZCwKKyAgICAgICAgICAg IHIuc3JyZWxpZCwKKyAgICAgICAgICAgIE5VTEw6OmludGVnZXIgQVMgcGlkLAorICAgICAgICAg ICAgTlVMTDo6cGdfbHNuIEFTIHJlY2VpdmVkX2xzbiwKKyAgICAgICAgICAgIE5VTEw6OnRpbWVz dGFtcCB3aXRoIHRpbWUgem9uZSBBUyBsYXN0X21zZ19zZW5kX3RpbWUsCisgICAgICAgICAgICBO VUxMOjp0aW1lc3RhbXAgd2l0aCB0aW1lIHpvbmUgQVMgbGFzdF9tc2dfcmVjZWlwdF90aW1lLAor ICAgICAgICAgICAgTlVMTDo6cGdfbHNuIEFTIGxhdGVzdF9lbmRfbHNuLAorICAgICAgICAgICAg TlVMTDo6dGltZXN0YW1wIHdpdGggdGltZSB6b25lIEFTIGxhdGVzdF9lbmRfdGltZQorICAgICAg ICAgICBGUk9NIHBnX3N1YnNjcmlwdGlvbl9yZWwgcgorICAgICAgICAgIFdIRVJFIChyLnNyc3Vi c3RhdGUgPD4gJ3InOjoiY2hhciIpKSBzdCBPTiAoKHN0LnN1YmlkID0gc3Uub2lkKSkpOwogcGdf c3RhdF9zdWJzY3JpcHRpb25fZXJyb3JzfCBTRUxFQ1QgZC5kYXRuYW1lLAogICAgIHNyLnN1Ymlk LAogICAgIHMuc3VibmFtZSwK --_002_TY2PR01MB489042618A073A2FC7BF62C0EDA29TY2PR01MB4890jpnp_--