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 1mmYKu-0008Cz-RP for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Nov 2021 09:31:37 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mmYKt-0005f0-Qa for pgsql-hackers@arkaria.postgresql.org; Mon, 15 Nov 2021 09:31:35 +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 1mmYKt-0005ef-9O for pgsql-hackers@lists.postgresql.org; Mon, 15 Nov 2021 09:31:35 +0000 Received: from esa4.fujitsucc.c3s2.iphmx.com ([68.232.151.214]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mmYKl-0000Vu-KW for pgsql-hackers@lists.postgresql.org; Mon, 15 Nov 2021 09:31:34 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=fujitsu.com; i=@fujitsu.com; q=dns/txt; s=fj1; t=1636968688; x=1668504688; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-transfer-encoding:mime-version; bh=CuHqHyFhAa8iJJLnaFWtsJ4ws5SZg2ZuYjUPQcfnRe8=; b=okvJU0jyl1FESISnl9RBhe+bUqpRZx7tIOHl1S8KZ3XHDvDoAEnExAGo 3/mR/NqMIPecXgFtWDZFj4b0Pblj9QIKK4WpdShbSU1izKksrxKV29t1D 1I8E8D0Ay9Q5a83oR7LMzQcbN5ieQEDlKv1VbuGU0OBlOkyq1NtnRnTyz J/Z0Y9a7T1/DUu4kssm1fK5pWdhSIl/ZE/0JRpAGW/CqkjbsJoJcxRPqZ grHe5cmqFjxB2S5nmNJDBPBjDh+zGjmlvWdS986GHvlyG1IzOwUS69RWz WVWXdcg25eZz7PRChAm4+xDoR42eSD17OhBzFTQlKPTi7OPmM5nctQPy1 w==; X-IronPort-AV: E=McAfee;i="6200,9189,10168"; a="51523841" X-IronPort-AV: E=Sophos;i="5.87,236,1631545200"; d="scan'208";a="51523841" Received: from mail-os0jpn01lp2110.outbound.protection.outlook.com (HELO JPN01-OS0-obe.outbound.protection.outlook.com) ([104.47.23.110]) by ob1.fujitsucc.c3s2.iphmx.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 15 Nov 2021 18:31:23 +0900 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=njjZgItuxN+VEiq64ZLEszY8BQk9z4NYtfNS305f77XdFxVIU0Dur+W3GBDh0UTyOG/BqEqQooeDfbeGeJka4GNpHMxnGyspHTOxJ0MdUvT9xgDq7Q4XsT7apFI9I+vet4HuQdHPnY6e5WWHHJ14rZnpZltLwdSaXInlkmoMyyQn/gh5HGZiFj65rpOuuRAnZPRhNEui7nzhW6UKD1zTwV42B0IQ/ZMs2l/vCAsDpLGpO/rVxuTU1EpK6dmhDhBhw90a0PWN9Wgz9SSIwae5a2f6aTwi45X6CDXuBwENxVQ4gVpoQM87OYwsI1i0+XvmUnIIrf0neMSLbwLRoqOrpg== 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:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=CuHqHyFhAa8iJJLnaFWtsJ4ws5SZg2ZuYjUPQcfnRe8=; b=nff2Ei/w25wGOEI4+hFMt59G2Nio/elrD8slbQ3YKCuG8gUyoA2u22ZGdnt8x7E5W6yWVB1WuxpumD9hNlQ3u640701Z1qmu0xrU7dKY2v3QKXZRzpiZJ7ZqNxuGsVgn5nsZab/oKVjEx6BZl0JyN1XADn0lwMXWduB6m45ziWRpW+GNyv4gWHWdDft0X8ucO9AC4AfVLjgcQo/3tjDpmhtmudPSJKsX8anHa2Eh7Toeq2P3R4A+JqlszzwX8uiBFrJbxk4FMUy33rrrh32GRsMXo2ndPh3DZ6FZa9aeyETTTsIXW2eHDCTk4BeOAP9M2ps1cyKrrf6yBm/R2st8rw== 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=CuHqHyFhAa8iJJLnaFWtsJ4ws5SZg2ZuYjUPQcfnRe8=; b=VdunX11gR5zx9Zk6WKkPt3V/vT6GXbwL0LaZWfPPE6orHz+6u1/PgLPNvQ2vbWH/7xH3wHIKvyIE7WSfQYOzvI/9YGYkqYKwGEdqCG/8hxcrWZ5GwgYkSGx9wUJIuQ8B3IFO/9XhoPTuFoXqqEcJt5fu8OadURcMC4ygTLS2Yi4= Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com (2603:1096:400:15f::9) by TYWPR01MB8431.jpnprd01.prod.outlook.com (2603:1096:400:174::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4690.26; Mon, 15 Nov 2021 09:31:20 +0000 Received: from TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::adb3:be1d:5bb2:45f5]) by TYCPR01MB8373.jpnprd01.prod.outlook.com ([fe80::adb3:be1d:5bb2:45f5%8]) with mapi id 15.20.4690.027; Mon, 15 Nov 2021 09:31:20 +0000 From: "osumi.takamichi@fujitsu.com" To: 'vignesh C' CC: Greg Nancarrow , Masahiko Sawada , Amit Kapila , "houzj.fnst@fujitsu.com" , "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+7hgAAMXNsABZwy4NABa8QD4ADxViZAAZV2mrAA+6DXgAAsU7aAAAZiVQAAAnmZAAAIXu+AAFRfhZAAA/2jgAK/RTlAANYpygAAhIjngAF7IiwAAMcV0oAAfP65gABBZ2kgAL69AQAAEaPLYAAvgi4AAPnnXwA= Date: Mon, 15 Nov 2021 09:31:20 +0000 Message-ID: References: In-Reply-To: Accept-Language: ja-JP, en-US Content-Language: ja-JP X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: =?utf-8?B?TVNJUF9MYWJlbF9hNzI5NWNjMS1kMjc5LTQyYWMtYWI0ZC0zYjBmNGZlY2Uw?= =?utf-8?B?NTBfRW5hYmxlZD10cnVlOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJh?= =?utf-8?B?Yy1hYjRkLTNiMGY0ZmVjZTA1MF9TZXREYXRlPTIwMjEtMTEtMTVUMDk6MzE6?= =?utf-8?B?MTlaOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRkLTNiMGY0?= =?utf-8?B?ZmVjZTA1MF9NZXRob2Q9U3RhbmRhcmQ7IE1TSVBfTGFiZWxfYTcyOTVjYzEt?= =?utf-8?B?ZDI3OS00MmFjLWFiNGQtM2IwZjRmZWNlMDUwX05hbWU9RlVKSVRTVS1SRVNU?= =?utf-8?B?UklDVEVE4oCLOyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1hYjRk?= =?utf-8?B?LTNiMGY0ZmVjZTA1MF9TaXRlSWQ9YTE5ZjEyMWQtODFlMS00ODU4LWE5ZDgt?= =?utf-8?B?NzM2ZTI2N2ZkNGM3OyBNU0lQX0xhYmVsX2E3Mjk1Y2MxLWQyNzktNDJhYy1h?= =?utf-8?B?YjRkLTNiMGY0ZmVjZTA1MF9BY3Rpb25JZD04MmMwNDNkNC02OWQzLTRhY2Ut?= =?utf-8?B?YjhhMC0zNDI5MjJlZTQ2Zjk7IE1TSVBfTGFiZWxfYTcyOTVjYzEtZDI3OS00?= =?utf-8?B?MmFjLWFiNGQtM2IwZjRmZWNlMDUwX0NvbnRlbnRCaXRzPTA=?= authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=fujitsu.com; x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: fea2ac5e-f343-49c1-0dcd-08d9a81aaec2 x-ms-traffictypediagnostic: TYWPR01MB8431: x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:2887; x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kEhMbJwB6q4ptrVAqEOyG9RKI0ojMTVwocoNi5v+LplXKtxTh9zxFIkuB/9nr81BMXV3IyNFoDIiXLzyDC/jXgNgTCsn0YjeNc9GjRz66ndHXVY1WelhqKCUEizMlNUuLPBcelNFcjuqC/SqutWHrbk63NLemNDh876wIP35Gci7f6a7/RS1z5fSIO0akTGz+L4DfaPgB+BY3WJN2W3aq3v+/7j0c6QManN1OA63ZlTIz2jkTZ4cUxiFdF/KahhMwai6inrBxVziJOwr8kmMqe5pgz/avnA1DE9EjKP1uPHmVD98KOLJyGWizHMOLk2GETKM/NnbgvEIqewOUXxqM9A7B96xZ9yi9GmchL+I//sbCcEStbR/51q4GAuhB/a5YC+PleV4uMDP8MNPs4ChoCEyr8KfNJhiOKxrnwpsdfdsbSW0ACETPwOpXWYbVo687MepXaZ/1mDKWclzLDgnTATMnV8e/g6BToEaNmuSy3yYIotKAeoARP8xNdYR4h1LeokQvzGq80fvueUpTh6JfmpI4862PHUSR1Dt0oKB+UP92qdrhpyzuzmn4KuKdOf06wRqMow5TUEYwVUxPwYxErWTbwR6UJmGdb6LOdXMnKgyibaKdlUgf5BhCQPKOzFJMKUkctHVRZBLSoTUhdSUGc5LeCgxVIfKz9BEyhaHaQpROO8HjNR2OfXLld8xkb+DaD6MHCsaNOBpPWf5wpVaRnkOGxjXwh0UhNJA7WVcCE9ozmHSacLaUbBS7wwcVEsKSSJo7dzaQAWUiyM/8nIlKt5SYzk21pFZwumt42rtAHM= x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:TYCPR01MB8373.jpnprd01.prod.outlook.com;PTR:;CAT:NONE;SFS:(4636009)(366004)(7696005)(26005)(55016002)(76116006)(4326008)(66946007)(71200400001)(8676002)(83380400001)(86362001)(6916009)(8936002)(5660300002)(508600001)(45080400002)(66556008)(66476007)(52536014)(66446008)(64756008)(966005)(53546011)(6506007)(33656002)(85182001)(186003)(9686003)(38100700002)(2906002)(316002)(82960400001)(54906003)(122000001)(38070700005);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?eTh2Z3k1QkV2T2VZNU52aWxzd3NJUmZ2NUNuanUrTUhiSC9Ha3RjS0d2Qnox?= =?utf-8?B?UFBrbnh4OXVUdnhrTDVUZUdmOHpML2ppZ2NpV21OVFZIUHJFanNEaTl5Y2FX?= =?utf-8?B?RVRhUmhmK1VUbHB1WjJ5bWJlNnRpVUwvaUlXNy9tRk9PNUY1RzV3TGtQeTZQ?= =?utf-8?B?bVlPT2M2VGgyU3BRRUxsQnVjSUg3WTBCQnhWbFlwRCtJaTRSVXJHdytSWitx?= =?utf-8?B?RmZCUVRoVnhWRnhWOUU3dHlYeVNGRWEyU0ZqaXBBck1lbE9mdlJFa3ZlTnJO?= =?utf-8?B?K3diM0J4T1pkaEg2WUd6SjUvSHY2L0pBWjFSV3FreU5WcGJUZllhc29NeXBV?= =?utf-8?B?OTY5djQwb1d4RDlPVFMvYU5JZktlbldIMlhCNk9WR1Q2cVU2azdHZjZyekEx?= =?utf-8?B?Q2FHc2g4by8xVjl6LzB3K3BBS0RhUmRTVlNzRjVNYXB0Qmt0VWNZbC96bHQ1?= =?utf-8?B?OTAvem1BMXoyeXNiUzZ4eGljSEM0WUpBRnlqZUNPSkU1aS9Dc1VibXN3TDFS?= =?utf-8?B?T2hNYUtwTkoyQ0xiV2hoa3ZjTXd1b3JMZFJuWTh3WDZ0bmlnTXpic0JJbzk5?= =?utf-8?B?MXhzUXRGbVRzek5USDdGckZQVllhRkdkUHJKUHJnL3VONXgxZnAxSG9KK2Rm?= =?utf-8?B?OWpnQm45SENsZFltak0vYnA5WkZDckZoN0tPSEUrRW5zUDNTYjNhTkNMTG9F?= =?utf-8?B?RVkwWFNSYmZENWFSaHYrRkhrMDJ3d3U1dzN5blhFZXd0SHFOSDkrTTFtYlNH?= =?utf-8?B?ZUQvb2xwVCtMZmpNRk8wYVlQZkUvdmlmSlJBT0Q5YXNYVitkUW1XZm84M0xQ?= =?utf-8?B?bE9iTktkaVRCVlZ5bDVDTzlvUWpVM2VwRzVFcUVJRTJWL2gxL3FOOWxCSVVa?= =?utf-8?B?dXpNWm93UjArNk94azAxeFRZN0s3azYzY28zejlteEpZR0RIYnNQMjhVZE1v?= =?utf-8?B?MlBwT2c3SUN1enhTMGVGS3lYaDgwdHlNZDdORFUzSEdya1BqL2NTVlp5RHQy?= =?utf-8?B?Y2Q2amVjVVBIM2V2ZDAxSDVJQ0o2aVVkTVZxb0NBZUtpSm81NlJSaUJkeWFI?= =?utf-8?B?cGpLNjlpSi9KcEdFeHoyLzNTNVhXeUMyM09wRkIxOU5JZ01hRk9UTWE4dHk3?= =?utf-8?B?UHg3T0FhM0JZaWs4U0RxMnhqQ25CVnBDTmNhanAva245VFI4NnF2QmpaZDM0?= =?utf-8?B?RDlFRjlISy9NQjVhVnhqZy92R29OZFRYV2FSL2h5QS9JQjVYd2xoZ2NZTlQy?= =?utf-8?B?cmxuNEoxSUR3b0VhVHorMnJFZEhkS1BPQkw4SDl4cUlyekY4SVhiaDhmWWsw?= =?utf-8?B?S1M4Q09CaEZmQXJGWndjSzdjdGRLem5YRks0RlFFUDZnTUlEQTB3SnNldG1X?= =?utf-8?B?V3hQZlFWVVVUeDhWOE5DU0kvMXE1WkNWUHNoWHg1TTNPNUpLM0UzNit1THZt?= =?utf-8?B?WUFqWmZiTWNvUHo1YWkxbVQ3dnBtZjREQy9HOXNJM0QzWnlwODdEVW12Y0JC?= =?utf-8?B?Tkwyc0JYU3MyTytQUlZ5OVJweW9qQkk4MFQrekNPSXJyOXdydG1uWmhEV2Mz?= =?utf-8?B?UDV3SVE1SGRSSHhsU0RkMUZaM2hUalFtMktHNmRCWEJXVmQ4cmlodE9CZEtL?= =?utf-8?B?b0JsUFN4TkM2S1FaUVprbXBMWGxvZGtEVmxlSmVnbnZqWitZeHQ4R3JuaGF5?= =?utf-8?B?MjQ4ZG1hWkMyR3I4SlFSSW5HVS95ZzY3MjJ1elBvbWMvYW96b2pRNW5oaDFO?= =?utf-8?B?UE5STXdoTWlRcngvNUNtbXR3Mm1ENU1BczBOcGQreXZLdGpsMDBxNDF0QVJq?= =?utf-8?B?a3FMM1ZpSXZpZjA4OTdwNmZ1dWpaRDh5M0I0VDkxV2VrYnVNaC95QWlxZ2kx?= =?utf-8?B?SFFGRjN0dk9lRUdYNXNRNEF2bFYwVkZ0NkRlZ21FL1VkNEJwV08rV3N5QkpU?= =?utf-8?B?OXJsYXAxRUJxRTVvaCtzR1dDSjMrbTFoVmlUSU5kbDE0SDhMMmZOdXBtV2Z6?= =?utf-8?B?V2dBaGdxcXZvbmI3R2pRRnBobFF0MGZkUFB2SnpqWUxmOWd2ZVdlRC9DUjNZ?= =?utf-8?B?cWVsU3g4cGVpUEdHV2VOSER6eXBwVE96TVpyZUREODhFSFRKZDI0b1pLTTVw?= =?utf-8?B?ZlAvZnBWeG95V2k1MjNMcXQ3L2RrUUVGQThvNEdVc1dpZmd0U3hqWDVuZ1Z4?= =?utf-8?B?azZnc0V6aEZUZm4yT0EySUpZSjRyZURySzQ5Mm8zYXZqZWJNdmplSzBMNmla?= =?utf-8?B?NjVicEJXd2M4eElaRTMrRHRlSXZBPT0=?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: fujitsu.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: TYCPR01MB8373.jpnprd01.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fea2ac5e-f343-49c1-0dcd-08d9a81aaec2 X-MS-Exchange-CrossTenant-originalarrivaltime: 15 Nov 2021 09:31:20.2602 (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: o1N0ELH6Ikg0HayqtJ7X8XxR0JZnyoPp7A6s8hA0iEFNFCq0jpHeHe9UnSWCPaMWWihwdZfh68nsJPHHL0jiq7SwCepGq+x6RMA1uJVLMLU= X-MS-Exchange-Transport-CrossTenantHeadersStamped: TYWPR01MB8431 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk T24gV2VkbmVzZGF5LCBOb3ZlbWJlciAxMCwgMjAyMSA3OjEzIFBNIHZpZ25lc2ggQyA8dmlnbmVz aDIxQGdtYWlsLmNvbT4gd3JvdGU6DQo+IE9uIFR1ZSwgTm92IDksIDIwMjEgYXQgNTowNSBQTSBv c3VtaS50YWthbWljaGlAZnVqaXRzdS5jb20NCj4gPG9zdW1pLnRha2FtaWNoaUBmdWppdHN1LmNv bT4gd3JvdGU6DQo+ID4gWWVzLiBJJ3ZlIHJlYmFzZWQgYW5kIHVwZGF0ZWQgdGhlIHBhdGNoLCBw YXlpbmcgYXR0ZW50aW9uIHRvIHRoaXMgcG9pbnQuDQo+ID4gQXR0YWNoZWQgdGhlIHVwZGF0ZWQg dmVyc2lvbi4NCj4gDQo+IFRoYW5rcyBmb3IgdGhlIHVwZGF0ZWQgcGF0Y2gsIGZldyBjb21tZW50 czoNCj4gMSkgeW91IGNvdWxkIHJlbmFtZSBQZ1N0YXRfU3RhdFN1YldvcmtlclByZXBhcmVkWGFj dCB0bw0KPiBQZ1N0YXRfU1dfUHJlcGFyZWRYYWN0S2V5IG9yIGEgc2ltcGxlciBuYW1lIHdoaWNo IGluY2x1ZGVzIGtleSBhbmQNCj4gc2ltaWxhcmx5IGNoYW5nZSBQZ1N0YXRfU3RhdFN1Yldvcmtl clByZXBhcmVkWGFjdFNpemUgdG8NCj4gUGdTdGF0X1NXX1ByZXBhcmVkWGFjdEVudHJ5DQo+IA0K PiArLyogcHJlcGFyZWQgdHJhbnNhY3Rpb24gKi8NCj4gK3R5cGVkZWYgc3RydWN0IFBnU3RhdF9T dGF0U3ViV29ya2VyUHJlcGFyZWRYYWN0IHsNCj4gKyAgICAgICBPaWQgICAgICAgICAgICAgICAg ICAgICBzdWJpZDsNCj4gKyAgICAgICBjaGFyICAgICAgICAgICAgZ2lkW0dJRFNJWkVdOw0KPiAr fSBQZ1N0YXRfU3RhdFN1YldvcmtlclByZXBhcmVkWGFjdDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1 Y3QgUGdTdGF0X1N0YXRTdWJXb3JrZXJQcmVwYXJlZFhhY3RTaXplDQo+ICt7DQo+ICsgICAgICAg UGdTdGF0X1N0YXRTdWJXb3JrZXJQcmVwYXJlZFhhY3Qga2V5OyAvKiBoYXNoIGtleSAqLw0KPiAr DQo+ICsgICAgICAgT2lkICAgICAgICAgICAgICAgICAgICAgc3ViaWQ7DQo+ICsgICAgICAgY2hh ciAgICAgICAgICAgIGdpZFtHSURTSVpFXTsNCj4gKyAgICAgICBQZ1N0YXRfQ291bnRlciB4YWN0 X3NpemU7DQo+ICt9IFBnU3RhdF9TdGF0U3ViV29ya2VyUHJlcGFyZWRYYWN0U2l6ZTsNCj4gKw0K Rml4ZWQuIEFkb3B0ZWQgeW91ciBzdWdnZXN0ZWQgbmFtZXMuDQoNCg0KPiAyKSBZb3UgY2FuIGNo YW5nZSBwcmVwYXJlZF9zaXplIHRvIHN3X3ByZXBhcmVkX3hhY3RfZW50cnkgb3INCj4gcHJlcGFy ZWRfeGFjdF9lbnRyeSBzaW5jZSBpdCBpcyBhIGhhc2ggZW50cnkgd2l0aCBmZXcgZmllbGRzDQo+ ICsgICAgICAgaWYgKHN1YldvcmtlclByZXBhcmVkWGFjdFNpemVIYXNoKQ0KPiArICAgICAgIHsN Cj4gKyAgICAgICAgICAgICAgIFBnU3RhdF9TdGF0U3ViV29ya2VyUHJlcGFyZWRYYWN0U2l6ZSAq cHJlcGFyZWRfc2l6ZTsNCj4gKw0KPiArICAgICAgICAgICAgICAgaGFzaF9zZXFfaW5pdCgmaHN0 YXQsIHN1YldvcmtlclByZXBhcmVkWGFjdFNpemVIYXNoKTsNCj4gKyAgICAgICAgICAgICAgIHdo aWxlKChwcmVwYXJlZF9zaXplID0NCj4gKFBnU3RhdF9TdGF0U3ViV29ya2VyUHJlcGFyZWRYYWN0 U2l6ZSAqKSBoYXNoX3NlcV9zZWFyY2goJmhzdGF0KSkgIT0NCj4gTlVMTCkNCj4gKyAgICAgICAg ICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgZnB1dGMoJ1AnLCBmcG91dCk7DQo+ ICsgICAgICAgICAgICAgICAgICAgICAgIHJjID0gZndyaXRlKHByZXBhcmVkX3NpemUsDQo+IHNp emVvZihQZ1N0YXRfU3RhdFN1YldvcmtlclByZXBhcmVkWGFjdFNpemUpLCAxLCBmcG91dCk7DQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICh2b2lkKSByYzsgICAgICAgICAgICAgICAgICAgICAg Lyogd2UnbGwgY2hlY2sNCj4gZm9yIGVycm9yIHdpdGggZmVycm9yICovDQo+ICsgICAgICAgICAg ICAgICB9DQpJIHByZWZlcnJlZCBwcmVwYXJlZF94YWN0X2VudHJ5LiBGaXhlZC4NCg0KDQo+IDMp IFRoaXMgbmVlZCB0byBiZSBpbmRlbnRlZA0KPiAtICAgICAgICB3LnJlbGlkLA0KPiAtICAgICAg ICB3LmNvbW1hbmQsDQo+IC0gICAgICAgIHcueGlkLA0KPiAtICAgICAgICB3LmVycm9yX2NvdW50 LA0KPiAtICAgICAgICB3LmVycm9yX21lc3NhZ2UsDQo+IC0gICAgICAgIHcubGFzdF9lcnJvcl90 aW1lDQo+ICsgICAgICAgdy5jb21taXRfY291bnQsDQo+ICsgICAgICAgdy5jb21taXRfYnl0ZXMs DQo+ICsgICAgICAgdy5lcnJvcl9jb3VudCwNCj4gKyAgICAgICB3LmVycm9yX2J5dGVzLA0KPiAr ICAgICAgIHcuYWJvcnRfY291bnQsDQo+ICsgICAgICAgdy5hYm9ydF9ieXRlcywNCj4gKyAgICAg ICB3Lmxhc3RfZXJyb3JfcmVsaWQsDQo+ICsgICAgICAgdy5sYXN0X2Vycm9yX2NvbW1hbmQsDQo+ ICsgICAgICAgdy5sYXN0X2Vycm9yX3hpZCwNCj4gKyAgICAgICB3Lmxhc3RfZXJyb3JfY291bnQs DQo+ICsgICAgICAgdy5sYXN0X2Vycm9yX21lc3NhZ2UsDQo+ICsgICAgICAgdy5sYXN0X2Vycm9y X3RpbWUNCkZpeGVkLg0KDQoNCj4gNCkgSW5zdGVhZCBvZiBhZGRpbmcgYSBmdW5jdGlvbiB0byBj YWxjdWxhdGUgdGhlIHNpemUsIGNhbiB3ZSBtb3ZlDQo+IFBhcnRpdGlvblR1cGxlUm91dGluZyBm cm9tIGMgZmlsZSB0byB0aGUgaGVhZGVyIGZpbGUgYW5kIHVzZSBzaXplb2YgYXQgdGhlIGNhbGxl cg0KPiBmdW5jdGlvbj8NCj4gKy8qDQo+ICsgKiBQYXJ0aXRpb25UdXBsZVJvdXRpbmdTaXplIC0g ZXhwb3J0ZWQgdG8gY2FsY3VsYXRlIHRvdGFsIGRhdGEgc2l6ZQ0KPiArICogb2YgbG9naWNhbCBy ZXBsaWNhdGlvbiBtZXNhZ2UgYXBwbHksIGJlY2F1c2UgdGhpcyBpcyBvbmUgb2YgdGhlDQo+ICsg KiBBcHBseUV4ZWN1dGlvbkRhdGEgc3RydWN0IG1lbWJlcnMuDQo+ICsgKi8NCj4gK3NpemVfdA0K PiArUGFydGl0aW9uVHVwbGVSb3V0aW5nU2l6ZSh2b2lkKQ0KPiArew0KPiArICAgICAgIHJldHVy biBzaXplb2YoUGFydGl0aW9uVHVwbGVSb3V0aW5nKTsgfQ0KRml4ZWQuDQoNCg0KPiA1KSBZb3Ug Y291bGQgcnVuIHBnaW5kZW50IGFuZCBwZ3Blcmx0aWR5IGZvciB0aGUgY29kZSBhbmQgdGVzdCBj b2RlIHRvIGZpeCB0aGUNCj4gaW5kZW50IGlzc3Vlcy4NCj4gKw0KPiBzdWJXb3JrZXJQcmVwYXJl ZFhhY3RTaXplSGFzaCA9IGhhc2hfY3JlYXRlKCJTdWJzY3JpcHRpb24gd29ya2VyIHN0YXRzDQo+ IG9mIHByZXBhcmVkIHR4biIsDQo+ICsNCj4gDQo+IFBHU1RBVF9TVUJXT1JLRVJfSEFTSF9TSVpF LA0KPiArDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmhhc2hf Y3RsLA0KPiArDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSEFT SF9FTEVNIHwgSEFTSF9TVFJJTkdTIHwNCj4gSEFTSF9DT05URVhUKTsNCj4gKyMgVGhlcmUncyBu byBlbnRyeSBhdCB0aGUgYmVnaW5uaW5nDQo+ICtteSAkcmVzdWx0ID0gJG5vZGVfc3Vic2NyaWJl ci0+c2FmZV9wc3FsKCdwb3N0Z3JlcycsDQo+ICsiU0VMRUNUIGNvdW50KCopIEZST00gcGdfc3Rh dF9zdWJzY3JpcHRpb25fd29ya2VyczsiKTsgaXMoJHJlc3VsdCwNCj4gK3EoMCksICdubyBlbnRy eSBmb3IgdHJhbnNhY3Rpb24gc3RhdHMgeWV0Jyk7DQpDb25kdWN0ZWQgcGdpbmRlbnQgYW5kIHBn cGVybHRpZHkuDQoNCg0KPiA2KSBGZXcgcGxhY2VzIHlvdSBoYXZlIHVzZWQgc3RybGNweSBhbmQg ZmV3IHBsYWNlcyB5b3UgaGF2ZSB1c2VkIG1lbWNweSwNCj4geW91IGNhbiBrZWVwIGl0IGNvbnNp c3RlbnQ6DQo+ICsgICAgICAgbXNnLm1fY29tbWFuZCA9IGNvbW1hbmQ7DQo+ICsgICAgICAgc3Ry bGNweShtc2cubV9naWQsIGdpZCwgc2l6ZW9mKG1zZy5tX2dpZCkpOw0KPiArICAgICAgIG1zZy5t X3hhY3RfYnl0ZXMgPSB4YWN0X3NpemU7DQo+IA0KPiArICAgICAgIGtleS5zdWJpZCA9IHN1Ymlk Ow0KPiArICAgICAgIG1lbWNweShrZXkuZ2lkLCBnaWQsIHNpemVvZihrZXkuZ2lkKSk7DQo+ICsg ICAgICAgYWN0aW9uID0gKGNyZWF0ZSA/IEhBU0hfRU5URVIgOiBIQVNIX0ZJTkQpOw0KRml4ZWQu IEkgdXNlZCBzdHJsY3B5IGZvciBuZXcgYWRkaXRpb25hbCBmdW5jdGlvbnMgSSBtYWRlLg0KQW4g ZXhjZXB0aW9uIGlzIHBnc3RhdF9yZWFkX2RiX3N0YXRzZmlsZSgpLg0KSW4gdGhpcyBmdW5jdGlv biwgd2UgdXNlIG1lbWNweSgpIGNvbnNpc3RlbnRseSBpbiBvdGhlciBwbGFjZXMuDQoNClBsZWFz ZSBoYXZlIGEgbG9vayBhdCBbMV0NCg0KWzFdIC0gaHR0cHM6Ly93d3cucG9zdGdyZXNxbC5vcmcv bWVzc2FnZS1pZC9UWUNQUjAxTUI4MzczRkVCMjg3RjczM0M4MUMxRTRENDJFRDk4OSU0MFRZQ1BS MDFNQjgzNzMuanBucHJkMDEucHJvZC5vdXRsb29rLmNvbQ0KDQpCZXN0IFJlZ2FyZHMsDQoJVGFr YW1pY2hpIE9zdW1pDQoNCg==