Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u5CBE-00DhkM-8p for pgsql-bugs@arkaria.postgresql.org; Wed, 16 Apr 2025 23:28:32 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u5CBB-008HpJ-G1 for pgsql-bugs@arkaria.postgresql.org; Wed, 16 Apr 2025 23:28:30 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u5ByH-0083Q9-8K for pgsql-bugs@lists.postgresql.org; Wed, 16 Apr 2025 23:15:10 +0000 Received: from mahout.postgresql.org ([2001:4800:3e1:1::227]) by magus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1u5ByE-000TKT-1T for pgsql-bugs@lists.postgresql.org; Wed, 16 Apr 2025 23:15:09 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=postgresql.org; s=20171124; h=Message-ID:Date:Reply-To:Cc:From:To:Subject: MIME-Version:Content-Type:Sender:Content-Transfer-Encoding:Content-ID: Content-Description:In-Reply-To:References; bh=6i0D3Lw8cBTdGxIAG3BjWyn0UkW5HuLa9q5DKhwxK4s=; b=hefuEpK3xFuVFsbCuHhYAru+vo oMBFpwF5GvQdIlxdaZYV661C/f6bY6/bf5M5COL+S0svVGNdQWj6xxMwG86K75bLhnlWxqyslZxnv eS+AknzEwC26gEvpa+G7SFPGzgJFBqk4E6l/Q0UKBEBX7pCUUZE7KZ6V/bJfio4ymxmsU1AbGjmPe mJJl15w0IDGpUiFurcT6lY1MsyaI65vQR4IhQGL5DVzibF6rAoANUimQRqgzXDfn3JB5NF81yKFb3 XKCmPyyzr6HdXgDKSIt9PNYrZjVRN68s2KDYYMuRCar9LeqgAVdCbYm1yv1ypiGtPIrW9AUiTSaUB AoFM/iAA==; Received: from wrigleys.postgresql.org ([2a02:16a8:dc51::60]) by mahout.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1u5ByC-001CGI-Kf for pgsql-bugs@lists.postgresql.org; Wed, 16 Apr 2025 23:15:05 +0000 Received: from localhost ([127.0.0.1] helo=wrigleys.postgresql.org) by wrigleys.postgresql.org with esmtp (Exim 4.94.2) (envelope-from ) id 1u5ByB-003zFM-BP for pgsql-bugs@lists.postgresql.org; Wed, 16 Apr 2025 23:15:03 +0000 Content-Type: multipart/mixed; boundary="===============3552547974345572085==" MIME-Version: 1.0 Subject: BUG #18897: Logical replication conflict after using pg_createsubscriber under heavy load To: pgsql-bugs@lists.postgresql.org From: PG Bug reporting form Cc: duffieldzane@gmail.com Reply-To: duffieldzane@gmail.com, pgsql-bugs@lists.postgresql.org Date: Wed, 16 Apr 2025 23:14:19 +0000 Message-ID: <18897-d3db67535860dddb@postgresql.org> X-Auto-Response-Suppress: All Auto-Submitted: auto-generated List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --===============3552547974345572085== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlIGZvbGxvd2luZyBidWcgaGFzIGJlZW4gbG9nZ2VkIG9uIHRoZSB3ZWJzaXRlOgoKQnVnIHJl ZmVyZW5jZTogICAgICAxODg5NwpMb2dnZWQgYnk6ICAgICAgICAgIFphbmUgRHVmZmllbGQKRW1h aWwgYWRkcmVzczogICAgICBkdWZmaWVsZHphbmVAZ21haWwuY29tClBvc3RncmVTUUwgdmVyc2lv bjogMTcuNApPcGVyYXRpbmcgc3lzdGVtOiAgIFJIRUw5IExpbnV4CkRlc2NyaXB0aW9uOiAgICAg ICAgCgpIaSBhbGwsDQoNCkknbSBpbiB0aGUgcHJvY2VzcyBvZiBjb252ZXJ0aW5nIG91ciBkYXRh YmFzZXMgZnJvbSBwZ2xvZ2ljYWwgbG9naWNhbApyZXBsaWNhdGlvbiB0byB0aGUgbmF0aXZlIGxv Z2ljYWwgcmVwbGljYXRpb24gaW1wbGVtZW50YXRpb24gb24gUG9zdGdyZVNRTAoxNy4gT25lIG9m IHRoZSBidWdzIHdlIGVuY291bnRlcmVkIGFuZCBoYWQgdG8gd29yayBhcm91bmQgd2l0aCBwZ2xv Z2ljYWwgd2FzCnRoZSBwbHVnaW4gZHJvcHBpbmcgcmVjb3JkcyB3aGlsZSBjb252ZXJ0aW5nIHRv IGEgc3RyZWFtaW5nIHJlcGxpY2EgdG8KbG9naWNhbCB2aWEgcGdsb2dpY2FsX2NyZWF0ZV9zdWJz Y3JpYmVyIChyZXBvcnRlZApodHRwczovL2dpdGh1Yi5jb20vMm5kUXVhZHJhbnQvcGdsb2dpY2Fs L2lzc3Vlcy8zNDkpLiBJIHdhcyB0cnlpbmcgdG8KY29uZmlybSB0aGF0IHRoZSBuYXRpdmUgbG9n aWNhbCByZXBsaWNhdGlvbiBpbXBsZW1lbnRhdGlvbiBkaWQgbm90IGhhdmUgdGhpcwpwcm9ibGVt LCBhbmQgSSd2ZSBmb3VuZCB0aGF0IGl0IG1pZ2h0IGhhdmUgYSBkaWZmZXJlbnQgcHJvYmxlbS4N Cg0KSW4gcmFyZSBjYXNlcywgSSdtIGZpbmRpbmcgdGhhdCB0aGUgbG9naWNhbCByZXBsaWNhIGNh biBzdGFydCB3aXRoIHRoZQpsb2dpY2FsIGRlY29kZXIgc3R1Y2sgb24gYSBjb25mbGljdGluZyBw cmltYXJ5IGtleSBldmVuIHRob3VnaCB0aGUgcmVwbGljYQpyZWNlaXZlZCBubyBjb25uZWN0aW9u cywgYW5kIG9ubHkgZGVjb2RlZCBjaGFuZ2VzIGZyb20gdGhlIG9uZSBwcmltYXJ5Lg0KDQpJIHNo b3VsZCBzYXkgdGhhdCBJJ3ZlIGJlZW4gb3BlcmF0aW5nIHVuZGVyIHRoZSBhc3N1bXB0aW9uIHRo YXQKcGdfY3JlYXRlc3Vic2NyaWJlciBpcyBkZXNpZ25lZCBmb3IgdXNlIG9uIGEgcmVwbGljYSBm b3IgYSAqbGl2ZSogcHJpbWFyeQpkYXRhYmFzZSwgaWYgdGhpcyBpc24ndCBjb3JyZWN0IHRoZW4g c29tZW9uZSBwbGVhc2UgbGV0IG1lIGtub3cuDQoNCkkgaGF2ZSBhIHNjcmlwdCB0aGF0IEkndmUg YmVlbiB1c2luZyB0byByZXByb2R1Y2UgdGhlIGlzc3VlIChwYXN0ZWQgYXQgZW5kCm9mIGVtYWls LCBiZWNhdXNlIHRoaXMgYnVnIHJlcG9ydGluZyBwYWdlIGRvZXNuJ3Qgc2VlbSB0byBzdXBwb3J0 CmF0dGFjaG1lbnRzKS4gSXQgYmFzaWNhbGx5IHBlcmZvcm1zIGEgbG9vcCB0aGF0IHNldHMgdXAg YSBwcmltYXJ5IGFuZCBhCnBoeXNpY2FsIHJlcGxpY2EsIGdlbmVyYXRlcyBzb21lIGxvYWQsIGNv bnZlcnRzIHRoZSByZXBsaWNhIHRvIGxvZ2ljYWwsCndhaXRzLCBhbmQgbWFrZXMgc3VyZSB0aGUg cm93IGNvdW50cyBhcmUgdGhlIHNhbWUuDQpBIGZldyB2YXJpYWJsZXMgYXQgdGhlIHRvcCBvZiB0 aGUgc2NyaXB0IG1heSBuZWVkIGFkanVzdGluZywgZGVwZW5kaW5nIG9uCnRoZSBzeXN0ZW0ncyBQ b3N0Z3JlU1FMIGluc3RhbGxhdGlvbiBhbmQgdGhlIGRlc2lyZWQgbG9jYXRpb25zLg0KVGhlIGVu dmlyb25tZW50IHZhcmlhYmxlcyBOVU1fVEhSRUFEUyBhbmQgSU5TRVJUX1dJRFRIIGNhbiBiZSB1 c2VkIHRvCmNvbnRyb2wgdGhlIGNoYXJhY3RlcmlzdGljcyBvZiB0aGUgbG9hZCBnZW5lcmF0aW9u IGZvciB0aGUgcHJpbWFyeS4NCg0KVGhlIHNjcmlwdCBpc24ndCB0ZXJyaWJseSBnb29kIGF0IHJl cHJvZHVjaW5nIHRoZSBpc3N1ZTsgaXQgdGFrZXMgYW55d2hlcmUKZnJvbSBtaW51dGVzIHRvIGhv dXJzIGluIG15IHRlc3RpbmcuDQpUaGUgMiBtYWNoaW5lcyBJJ3ZlIHJlcHJvZHVjZWQgdGhlIGlz c3VlIG9uIGFyZSBib3RoIHJ1bm5pbmcgUG9zdGdyZVNRTCAxNy40Cm9uIFJIRUw5IGluIGEgVk0s IG9uZSBWTSB3YXMgbW9kZXJhdGVseSBwb3dlcmZ1bCAoMTIgY29yZXMsIDI1NkdCIFJBTSksIGFu ZAp0aGUgb3RoZXIgd2FzIHF1aXRlIHdlYWsgKDIgY29yZXMsIDJHQiBSQU0pLg0KSSBmb3VuZCB0 aGF0IG1hbnkgY29tYmluYXRpb25zIG9mIE5VTV9USFJFQURTIGFuZCBJTlNFUlRfV0lEVEggd2Vy ZSBhYmxlIHRvCnJlcHJvZHVjZSB0aGUgaXNzdWUsIGJ1dCBOVU1fVEhSRUFEUz00MCBhbmQgSU5T RVJUX1dJRFRIPTEwMDAgaXMgYSBnb29kCnN0YXJ0aW5nIHBvaW50IGZvciBhIHBvd2VyZnVsIG1h Y2hpbmUuDQoNClRoYW5rcywNClphbmUNCg0KU0NSSVBUDQpgYGANCiMhL2Jpbi9iYXNoDQoNCnNl dCAtdWUNCnNldCAtbyBwaXBlZmFpbA0KDQpjZCAiJHtCQVNIX1NPVVJDRVswXSUvKn0iIHx8IGV4 aXQNCg0KUE9TVEdSRVNfVkVSU0lPTj0xNw0KDQojIEFkanVzdCB0aGVzZSBmb3IgdGhlIHN5c3Rl bSB1bmRlciB0ZXN0DQpQQVRIPSIvdXNyL3Bnc3FsLSRQT1NUR1JFU19WRVJTSU9OL2JpbjokUEFU SCINClBSSU1BUllfRElSPSIvdmFyL2xpYi9wZ3NxbC8kUE9TVEdSRVNfVkVSU0lPTi9wcmltYXJ5 Ig0KUkVQTElDQV9ESVI9Ii92YXIvbGliL3Bnc3FsLyRQT1NUR1JFU19WRVJTSU9OL3JlcGxpY2Ei DQoNClBSSU1BUllfUE9SVD01MzQwDQpSRVBMSUNBX1BPUlQ9NTM0MQ0KDQpEQk5BTUU9InRlc3Rf ZGIiDQpUQUJMRT0idGVzdF90YWJsZSINClRSSUdHRVJfRklMRT0iLi9zdG9wX2luc2VydGluZyIN Cg0KQ1lBTj0iXGVbMTszNm0iDQpSRVNFVD0iXGVbMG0iDQoNClRFU1RfTlVNPTANCnJlc2V0X2Rh dGFiYXNlcygpICgNCiAgICB0ZXN0X3N0YXJ0X3RpbWU9JChkYXRlICsiJVktJW0tJWRfJUgtJU0t JVMiKQ0KDQogICAgaWYgcGdfY3RsIHN0YXR1cyAtRCAiJFJFUExJQ0FfRElSIiA+IC9kZXYvbnVs bCAyPiYxICYmICEgcGdfY3RsIHN0b3AgLW0KaW1tZWRpYXRlIC1EICIkUkVQTElDQV9ESVIiOyB0 aGVuDQogICAgICAgIGVjaG8gIkVSUk9SOiBDb3VsZCBub3Qgc3RvcCByZXBsaWNhLiINCiAgICAg ICAgcmV0dXJuIDENCiAgICBmaQ0KDQogICAgaWYgISBybSAtcmYgIiRSRVBMSUNBX0RJUiI7IHRo ZW4NCiAgICAgICAgZWNobyAiRVJST1I6IENvdWxkIG5vdCBkZWxldGUgcmVwbGljYSBkaXJlY3Rv cnkgXCIkUkVQTElDQV9ESVJcIi4iDQogICAgICAgIHJldHVybiAxDQogICAgZmkNCg0KICAgIGlm IHBnX2N0bCBzdGF0dXMgLUQgIiRQUklNQVJZX0RJUiIgPiAvZGV2L251bGwgMj4mMSAmJiAhIHBn X2N0bCBzdG9wIC1tCmltbWVkaWF0ZSAtRCAiJFBSSU1BUllfRElSIjsgdGhlbg0KICAgICAgICBl Y2hvICJFUlJPUjogQ291bGQgbm90IHN0b3AgcHJpbWFyeS4iDQogICAgICAgIHJldHVybiAxDQog ICAgZmkNCg0KICAgIGlmICEgcm0gLXJmICIkUFJJTUFSWV9ESVIiOyB0aGVuDQogICAgICAgIGVj aG8gIkVSUk9SOiBDb3VsZCBub3QgZGVsZXRlIHByaW1hcnkgZGlyZWN0b3J5IFwiJFBSSU1BUllf RElSXCIuIg0KICAgICAgICByZXR1cm4gMQ0KICAgIGZpDQoNCiAgICBpZiAhIGluaXRkYiAtRCAi JFBSSU1BUllfRElSIiAtLWxvY2FsZT1DOyB0aGVuDQogICAgICAgIGVjaG8gIkVSUk9SOiBDb3Vs ZCBub3QgY3JlYXRlIHByaW1hcnkuIg0KICAgICAgICByZXR1cm4gMQ0KICAgIGZpDQoNCiAgICBj YXQgPj4gIiRQUklNQVJZX0RJUiIvcG9zdGdyZXNxbC5hdXRvLmNvbmYgPDwgRU9GDQpwb3J0ID0g JFBSSU1BUllfUE9SVA0Kd2FsX2xldmVsID0gbG9naWNhbA0KbWF4X3dvcmtlcl9wcm9jZXNzZXMg PSAxMA0KbWF4X3JlcGxpY2F0aW9uX3Nsb3RzID0gMTANCm1heF93YWxfc2VuZGVycyA9IDEwDQpt YXhfY29ubmVjdGlvbnMgPSAxMDAwDQpsb2dfZGlyZWN0b3J5ID0gJyRQV0QvbG9nJw0KbG9nX2Zp bGVuYW1lID0gJ3Bvc3RncmVzcWwtJHRlc3Rfc3RhcnRfdGltZS10ZXN0LSRURVNUX05VTS5sb2cn DQpsb2dfY2hlY2twb2ludHMgPSBvbg0KbG9nX2Nvbm5lY3Rpb25zID0gb24NCmxvZ19kaXNjb25u ZWN0aW9ucyA9IG9uDQpsb2dfcmVwbGljYXRpb25fY29tbWFuZHMgPSBvbg0KbG9nX2R1cmF0aW9u ID0gb2ZmDQpsb2dfbWluX2R1cmF0aW9uX3N0YXRlbWVudCA9IDANCmxvZ19zdGF0ZW1lbnQgPSBh bGwNCmxvZ19yZXBsaWNhdGlvbl9jb21tYW5kcyA9IG9uDQpsb2dfbGluZV9wcmVmaXggPSAnJW0g WyVwXSBwb3J0PSRQUklNQVJZX1BPUlQgJXEldUAlZC8lYSAnDQpFT0YNCg0KICAgIGNhdCA+PiAi JFBSSU1BUllfRElSIi9wZ19oYmEuY29uZiA8PCBFT0YNCmhvc3QgICByZXBsaWNhdGlvbiAgICAg IHBvc3RncmVzICAgICAxMjcuMC4wLjEvMzIgICAgICAgICAgICB0cnVzdA0KaG9zdCAgICAgICB0 ZXN0X2RiICAgICAgcG9zdGdyZXMgICAgIDEyNy4wLjAuMS8zMiAgICAgICAgICAgIHRydXN0DQpo b3N0ICAgICAgIHRlc3RfZGIgICAgICBwb3N0Z3JlcyAgICAgMTI3LjAuMC4xLzMyICAgICAgICAg ICAgdHJ1c3QNCkVPRg0KDQogICAgaWYgISBwZ19jdGwgc3RhcnQgLUQgIiRQUklNQVJZX0RJUiI7 IHRoZW4NCiAgICAgICAgZWNobyAiRVJST1I6IENvdWxkIG5vdCBzdGFydCBwcmltYXJ5LiINCiAg ICAgICAgcmV0dXJuIDENCiAgICBmaQ0KDQogICAgaWYgISBwZ19iYXNlYmFja3VwIC1oIGxvY2Fs aG9zdCAtVSBwb3N0Z3JlcyAtcCAiJFBSSU1BUllfUE9SVCIgLUQKIiRSRVBMSUNBX0RJUiIgLVAg LVhzIC1SOyB0aGVuDQogICAgICAgIGVjaG8gIkVSUk9SOiBDb3VsZCBub3QgY3JlYXRlIHJlcGxp Y2EuIg0KICAgICAgICByZXR1cm4gMQ0KICAgIGZpDQoNCiAgICBjYXQgPj4gIiRSRVBMSUNBX0RJ UiIvcG9zdGdyZXNxbC5hdXRvLmNvbmYgPDwgRU9GDQpwb3J0ID0gJFJFUExJQ0FfUE9SVA0KYXJj aGl2ZV9tb2RlID0gb2ZmDQpob3Rfc3RhbmRieSA9IG9uDQpsb2dfZGlyZWN0b3J5ID0gJyRQV0Qv bG9nJw0KbG9nX2ZpbGVuYW1lID0gJ3Bvc3RncmVzcWwtJHRlc3Rfc3RhcnRfdGltZS10ZXN0LSRU RVNUX05VTS5sb2cnDQpsb2dfY2hlY2twb2ludHMgPSBvbg0KbG9nX2Nvbm5lY3Rpb25zID0gb24N CmxvZ19kaXNjb25uZWN0aW9ucyA9IG9uDQpsb2dfcmVwbGljYXRpb25fY29tbWFuZHMgPSBvbg0K bG9nX2R1cmF0aW9uID0gb2ZmDQpsb2dfbWluX2R1cmF0aW9uX3N0YXRlbWVudCA9IDANCmxvZ19z dGF0ZW1lbnQgPSBhbGwNCmxvZ19yZXBsaWNhdGlvbl9jb21tYW5kcyA9IG9uDQpsb2dfbGluZV9w cmVmaXggPSAnJW0gWyVwXSBwb3J0PSRSRVBMSUNBX1BPUlQgJXEldUAlZC8lYSAnDQpFT0YNCg0K ICAgIGlmICEgcGdfY3RsIHN0YXJ0IC1EICIkUkVQTElDQV9ESVIiOyB0aGVuDQogICAgICAgIGVj aG8gIkVSUk9SOiBDb3VsZCBub3Qgc3RhcnQgcmVwbGljYS4iDQogICAgICAgIHJldHVybiAxDQog ICAgZmkNCikNCg0KY3JlYXRlX3Rlc3RfZGF0YWJhc2UoKSAoDQogICAgcHNxbCAtcCAiJFBSSU1B UllfUE9SVCIgLWMgIkNSRUFURSBEQVRBQkFTRSAkREJOQU1FIg0KICAgIHBzcWwgLXAgIiRQUklN QVJZX1BPUlQiIC1kICIkREJOQU1FIiAtYyAiQ1JFQVRFIFRBQkxFICRUQUJMRSAoZjEgaW50CnBy aW1hcnkga2V5LCBpbnNlcnRfdGltZSB0aW1lc3RhbXAgd2l0aG91dCB0aW1lIHpvbmUpIg0KKQ0K DQojIEFkanVzdCB0aGVzZSB2YXJpYWJsZXMgdG8gdHdlYWsgdGhlIGxvYWQgY2hhcmFjdGVyaXN0 aWNzDQpOVU1fVEhSRUFEUz0ke05VTV9USFJFQURTOi0yMH0NCklOU0VSVF9XSURUSD0ke0lOU0VS VF9XSURUSDotMTAwfQ0KDQphZGRfcmVjb3Jkc190b190ZXN0X3RhYmxlKCkgKA0KICAgIGlkPSQx DQogICAgc3RhcnRfdGltZT0kKGRhdGUgKyVzKQ0KICAgIHN0YXJ0PSQoKGlkICogSU5TRVJUX1dJ RFRIKSkgZW5kPTANCg0KICAgIHdoaWxlIHRydWU7IGRvDQogICAgICAgIGVuZD0kKChzdGFydCAr IElOU0VSVF9XSURUSCAtIDEpKQ0KICAgICAgICBlY2hvICJJTlNFUlQgSU5UTyAkVEFCTEUgU0VM RUNUIHZhbCwgQ1VSUkVOVF9USU1FU1RBTVAgRlJPTQpnZW5lcmF0ZV9zZXJpZXMoJHN0YXJ0LCAk ZW5kKSBTKHZhbCk7IiB8DQogICAgICAgICAgICBwc3FsIC1wICIkUFJJTUFSWV9QT1JUIiAtZCAi JERCTkFNRSIgPiAvZGV2L251bGwNCiAgICAgICAgc3RhcnQ9JCgoc3RhcnQgKyBOVU1fVEhSRUFE UyAqIElOU0VSVF9XSURUSCkpDQoNCiAgICAgICAgaWYgW1sgLWYgIiRUUklHR0VSX0ZJTEUiIF1d IHx8ICgoICQoZGF0ZSAiKyVzIikgLSBzdGFydF90aW1lID4gMTUKKSk7IHRoZW4NCiAgICAgICAg ICAgIGJyZWFrDQogICAgICAgIGZpDQogICAgZG9uZQ0KDQogICAgcmV0dXJuIDANCikNCg0KSU5T RVJUX1BJRFM9KCkNCnN0YXJ0X2luc2VydF90aHJlYWRzKCkgew0KICAgIGVjaG8gIioqKiBTVEFS VElORyAkTlVNX1RIUkVBRFMgTE9PUFMgSU5TRVJUSU5HICRJTlNFUlRfV0lEVEggUkVDT1JEUwpQ RVIgSVRFUkFUSU9OIC4uLiINCiAgICBJTlNFUlRfUElEUz0oKQ0KICAgIGZvciBpZCBpbiAkKHNl cSAwICQoKE5VTV9USFJFQURTIC0gMSkpKTsgZG8NCiAgICAgICAgYWRkX3JlY29yZHNfdG9fdGVz dF90YWJsZSAiJGlkIiAmDQogICAgICAgIElOU0VSVF9QSURTKz0oJCEpDQogICAgZG9uZQ0KfQ0K DQpjcmVhdGVfc3Vic2NyaWJlcigpICgNCiAgICBlY2hvICIqKiogU3RvcHBpbmcgcmVwbGljYSwg dGhlbiBydW5uaW5nIHBnX2NyZWF0ZXN1YnNjcmliZXIuLi4iDQoNCiAgICBwZ19jdGwgc3RvcCAt bSBmYXN0IC1EICIkUkVQTElDQV9ESVIiDQoNCiAgICBwZ19jcmVhdGVzdWJzY3JpYmVyIC1EICIk UkVQTElDQV9ESVIiIFwNCiAgICAgICAgLS1kYXRhYmFzZT0iJERCTkFNRSIgXA0KICAgICAgICAt LXN1YnNjcmlwdGlvbj0ic3ViIiBcDQogICAgICAgIC0tcHVibGljYXRpb249InB1YiIgXA0KICAg ICAgICAtLXB1Ymxpc2hlci1zZXJ2ZXI9Imhvc3Q9bG9jYWxob3N0IHBvcnQ9JFBSSU1BUllfUE9S VApkYm5hbWU9JERCTkFNRSINCg0KICAgIHBnX2N0bCBzdGFydCAtRCAiJFJFUExJQ0FfRElSIg0K DQogICAgZWNobyAiKioqIFN1Y2Nlc3NmdWxseSBzdGFydGVkIGxvZ2ljYWwgcmVwbGljYSBvbiBw b3J0ICRSRVBMSUNBX1BPUlQuIg0KKQ0KDQpydW5fdGVzdCgpICgNCiAgICBjcmVhdGVfdGVzdF9k YXRhYmFzZQ0KICAgIHJtIC1mICIkVFJJR0dFUl9GSUxFIg0KICAgIHN0YXJ0X2luc2VydF90aHJl YWRzDQogICAgc2xlZXAgMg0KICAgIGNyZWF0ZV9zdWJzY3JpYmVyDQogICAgc2xlZXAgMC4xDQoN CiAgICB0b3VjaCAiJFRSSUdHRVJfRklMRSINCiAgICBlcnJvcnM9MA0KICAgIGZvciBwaWQgaW4g IiR7SU5TRVJUX1BJRFNbQF19IjsgZG8NCiAgICAgICAgaWYgISB3YWl0ICIkcGlkIjsgdGhlbg0K ICAgICAgICAgICAgZWNobyAiRVJST1I6IGluc2VydCB0aHJlYWQgd2l0aCBQSUQgJHBpZCBmYWls ZWQiDQogICAgICAgICAgICBlcnJvcnM9MQ0KICAgICAgICBmaQ0KICAgIGRvbmUNCiAgICAoKCBl cnJvcnMgKSkgJiYgcmV0dXJuIDENCg0KICAgIGVjaG8gIioqKiBBTEwgSU5TRVJUIExPT1BTIEZJ TklTSEVEIg0KDQogICAgbGFzdF9zcmNfY291bnQ9MA0KICAgIGxhc3RfZGVzdF9jb3VudD0wDQoN CiAgICAjIHdhaXQgdW50aWwgdGhlIGNvdW50cyBzdG9wIGluY3JlYXNpbmcNCiAgICB3aGlsZSB0 cnVlOyBkbw0KICAgICAgICBzcmNfY291bnQ9JChwc3FsIC1xdCAtcCAiJFBSSU1BUllfUE9SVCIg LWQgIiREQk5BTUUiIC1jICJTRUxFQ1QKQ09VTlQoZjEpIEZST00gJFRBQkxFIikNCiAgICAgICAg ZGVzdF9jb3VudD0kKHBzcWwgLXF0IC1wICIkUkVQTElDQV9QT1JUIiAtZCAiJERCTkFNRSIgLWMg IlNFTEVDVApDT1VOVChmMSkgRlJPTSAkVEFCTEUiKQ0KDQogICAgICAgIGlmIFtbICRkZXN0X2Nv dW50IC1uZSAkbGFzdF9kZXN0X2NvdW50IF1dIHx8IFtbICRzcmNfY291bnQgLW5lCiRsYXN0X3Ny Y19jb3VudCBdXTsgdGhlbg0KICAgICAgICAgICAgbGFzdF9kZXN0X2NvdW50PSRkZXN0X2NvdW50 DQogICAgICAgICAgICBsYXN0X3NyY19jb3VudD0kc3JjX2NvdW50DQogICAgICAgICAgICBzbGVl cCAwLjVzDQogICAgICAgICAgICBjb250aW51ZTsNCiAgICAgICAgZmkNCg0KICAgICAgICBlY2hv ICJTT1VSQ0UgQ09VTlQgPSAkc3JjX2NvdW50Ig0KICAgICAgICBlY2hvICJERVNUIENPVU5UICAg PSAkZGVzdF9jb3VudCINCg0KICAgICAgICBpZiAoKCBzcmNfY291bnQgIT0gZGVzdF9jb3VudCAp KTsgdGhlbg0KICAgICAgICAgICAgZWNobyAiRVJST1I6IHJlY29yZCBjb3VudCBtaXNtYXRjaCIN CiAgICAgICAgICAgIHJldHVybiAxDQogICAgICAgIGZpDQoNCiAgICAgICAgYnJlYWsNCiAgICBk b25lDQoNCiAgICBlY2hvIC1lICIqKiogVEVTVCBQQVNTRURcbiINCikNCg0KZm9yIFRFU1RfTlVN IGluIHsxLi4xMDAwMH07IGRvDQogICAgZWNobyAtZSAiJHtDWUFOfSoqKiBTVEFSVElORyBURVNU ICMkVEVTVF9OVU0ke1JFU0VUfSINCiAgICByZXNldF9kYXRhYmFzZXMgJiYgcnVuX3Rlc3QNCmRv bmUNCmBgYAoK --===============3552547974345572085==--