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 1lw947-0004F7-63 for pgsql-hackers@arkaria.postgresql.org; Wed, 23 Jun 2021 20:01:39 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1lw944-0000lm-PS for pgsql-hackers@arkaria.postgresql.org; Wed, 23 Jun 2021 20:01:36 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lw944-0000le-FT for pgsql-hackers@lists.postgresql.org; Wed, 23 Jun 2021 20:01:36 +0000 Received: from sfr-1.cri.mines-paristech.fr ([77.158.180.225] helo=smtp.cri.ensmp.fr) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1lw93z-0003Hi-8R for pgsql-hackers@postgresql.org; Wed, 23 Jun 2021 20:01:35 +0000 Received: from pseudo (185.141.6.84.rev.sfr.net [84.6.141.185]) by smtp.cri.ensmp.fr (Postfix) with ESMTPSA id 8268BC021C; Wed, 23 Jun 2021 22:03:25 +0200 (CEST) Date: Wed, 23 Jun 2021 22:01:28 +0200 (CEST) From: Fabien COELHO X-X-Sender: fabien@pseudo To: Alvaro Herrera cc: Michael Paquier , Andrew Dunstan , Thomas Munro , Gregory Smith , PostgreSQL-development , david.christensen@crunchydata.com Subject: Re: pgbench logging broken by time logic changes In-Reply-To: <202106231308.lxr26cahwxuc@alvherre.pgsql> Message-ID: References: <202106231308.lxr26cahwxuc@alvherre.pgsql> User-Agent: Alpine 2.22 (DEB 394 2020-01-19) MIME-Version: 1.0 Content-Type: multipart/mixed; BOUNDARY="2056645051-390248979-1624478394=:1601973" Content-ID: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This message is in MIME format. The first part should be readable text, while the remaining parts are likely unreadable without MIME-aware tools. --2056645051-390248979-1624478394=:1601973 Content-Type: text/plain; CHARSET=ISO-8859-15; format=flowed Content-Transfer-Encoding: 8BIT Content-ID: Ola Álvaro, > ... or, actually, even better would be to use a TODO block, so that the > test is run and reports its status, but if it happens not to succeed it > will not cause the whole test to fail. That way you'll accumulate some > evidence that may serve to improve the test in the future until it > works fully: > > TODO: { > local $TODO = "Ths test is unreliable"; > > ok(1.5 < $delay && $delay < 2.5, "-T 2 run around 2 seconds"); > } Thanks for the hint! Why not, having the ability to collect data is a good thing, so attached v10 does that. If something go wrong, the TODO section could be extended around all calls. -- Fabien. --2056645051-390248979-1624478394=:1601973 Content-Type: text/x-diff; name=pgbench-log-fix-10.patch Content-Transfer-Encoding: BASE64 Content-ID: Content-Description: Content-Disposition: attachment; filename=pgbench-log-fix-10.patch ZGlmZiAtLWdpdCBhL3NyYy9iaW4vcGdiZW5jaC9wZ2JlbmNoLmMgYi9zcmMv YmluL3BnYmVuY2gvcGdiZW5jaC5jDQppbmRleCBlNjEwNTViNmI3Li5kZmIy ZmY2ODU5IDEwMDY0NA0KLS0tIGEvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2gu Yw0KKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3BnYmVuY2guYw0KQEAgLTM0Myw2 ICszNDMsMTIgQEAgdHlwZWRlZiBzdHJ1Y3QgU3RhdHNEYXRhDQogCVNpbXBs ZVN0YXRzIGxhZzsNCiB9IFN0YXRzRGF0YTsNCiANCisvKg0KKyAqIEZvciBk aXNwbGF5aW5nIGVwb2NoIHRpbWVzdGFtcCwgYXMgc29tZSB0aW1lIGZ1bmN0 aW9ucyBtYXkgaGF2ZQ0KKyAqIGFub3RoZXIgcmVmZXJlbmNlLg0KKyAqLw0K K3BnX3RpbWVfdXNlY190IGVwb2NoX3NoaWZ0Ow0KKw0KIC8qDQogICogU3Ry dWN0IHRvIGtlZXAgcmFuZG9tIHN0YXRlLg0KICAqLw0KQEAgLTY0OSw3ICs2 NTUsNyBAQCBzdGF0aWMgdm9pZCBzZXREb3VibGVWYWx1ZShQZ0JlbmNoVmFs dWUgKnB2LCBkb3VibGUgZHZhbCk7DQogc3RhdGljIGJvb2wgZXZhbHVhdGVF eHByKENTdGF0ZSAqc3QsIFBnQmVuY2hFeHByICpleHByLA0KIAkJCQkJCSBQ Z0JlbmNoVmFsdWUgKnJldHZhbCk7DQogc3RhdGljIENvbm5lY3Rpb25TdGF0 ZUVudW0gZXhlY3V0ZU1ldGFDb21tYW5kKENTdGF0ZSAqc3QsIHBnX3RpbWVf dXNlY190ICpub3cpOw0KLXN0YXRpYyB2b2lkIGRvTG9nKFRTdGF0ZSAqdGhy ZWFkLCBDU3RhdGUgKnN0LA0KK3N0YXRpYyB2b2lkIGRvTG9nKFRTdGF0ZSAq dGhyZWFkLCBDU3RhdGUgKnN0LCBib29sIHR4LA0KIAkJCQkgIFN0YXRzRGF0 YSAqYWdnLCBib29sIHNraXBwZWQsIGRvdWJsZSBsYXRlbmN5LCBkb3VibGUg bGFnKTsNCiBzdGF0aWMgdm9pZCBwcm9jZXNzWGFjdFN0YXRzKFRTdGF0ZSAq dGhyZWFkLCBDU3RhdGUgKnN0LCBwZ190aW1lX3VzZWNfdCAqbm93LA0KIAkJ CQkJCQkgYm9vbCBza2lwcGVkLCBTdGF0c0RhdGEgKmFnZyk7DQpAQCAtMzc2 NiwxNiArMzc3Miw0NyBAQCBleGVjdXRlTWV0YUNvbW1hbmQoQ1N0YXRlICpz dCwgcGdfdGltZV91c2VjX3QgKm5vdykNCiAJcmV0dXJuIENTVEFURV9FTkRf Q09NTUFORDsNCiB9DQogDQorLyogcHJpbnQgYWdncmVnYXRlZCByZXBvcnQg dG8gbG9nZmlsZSAqLw0KK3N0YXRpYyB2b2lkDQorbG9nQWdnKEZJTEUgKmxv Z2ZpbGUsIFN0YXRzRGF0YSAqYWdnKQ0KK3sNCisJZnByaW50Zihsb2dmaWxl LCBJTlQ2NF9GT1JNQVQgIiAiIElOVDY0X0ZPUk1BVCAiICUuMGYgJS4wZiAl LjBmICUuMGYiLA0KKwkJCShhZ2ctPnN0YXJ0X3RpbWUgKyBlcG9jaF9zaGlm dCkgLyAxMDAwMDAwLA0KKwkJCWFnZy0+Y250LA0KKwkJCWFnZy0+bGF0ZW5j eS5zdW0sDQorCQkJYWdnLT5sYXRlbmN5LnN1bTIsDQorCQkJYWdnLT5sYXRl bmN5Lm1pbiwNCisJCQlhZ2ctPmxhdGVuY3kubWF4KTsNCisJaWYgKHRocm90 dGxlX2RlbGF5KQ0KKwl7DQorCQlmcHJpbnRmKGxvZ2ZpbGUsICIgJS4wZiAl LjBmICUuMGYgJS4wZiIsDQorCQkJCWFnZy0+bGFnLnN1bSwNCisJCQkJYWdn LT5sYWcuc3VtMiwNCisJCQkJYWdnLT5sYWcubWluLA0KKwkJCQlhZ2ctPmxh Zy5tYXgpOw0KKwkJaWYgKGxhdGVuY3lfbGltaXQpDQorCQkJZnByaW50Zihs b2dmaWxlLCAiICIgSU5UNjRfRk9STUFULCBhZ2ctPnNraXBwZWQpOw0KKwl9 DQorCWZwdXRjKCdcbicsIGxvZ2ZpbGUpOw0KK30NCisNCiAvKg0KICAqIFBy aW50IGxvZyBlbnRyeSBhZnRlciBjb21wbGV0aW5nIG9uZSB0cmFuc2FjdGlv bi4NCiAgKg0KKyAqIFBhcmFtIHR4IHRlbGxzIHdoZXRoZXIgdGhlIGNhbGwg YWN0dWFsbHkgcmVwcmVzZW50cyBhIHRyYW5zYWN0aW9uLA0KKyAqIG9yIGlm IGl0IGlzIHVzZWQgdG8gZmx1c2ggYWdncmVnYXRlZCBsb2dzLg0KKyAqDQor ICogVGhlIGZ1bmN0aW9uIGJlaGF2aW9yIGNoYW5nZXMgZGVwZW5kaW5nIG9u IHNhbXBsZV9yYXRlIChhIGZyYWN0aW9uIG9mDQorICogdHJhbnNhY3Rpb24g aXMgcmVwb3J0ZWQpIGFuZCBhZ2dfaW50ZXJ2YWwgKHRyYW5zYWN0aW9ucyBh cmUgYWdncmVnYXRlZA0KKyAqIGFuZCByZXBvcnRlZCBvbmNlIGV2ZXJ5IGFn Z19pbnRlcnZhbCBzZWNvbmRzKS4NCisgKg0KICAqIFdlIHByaW50IFVuaXgt ZXBvY2ggdGltZXN0YW1wcyBpbiB0aGUgbG9nLCBzbyB0aGF0IGVudHJpZXMg Y2FuIGJlDQogICogY29ycmVsYXRlZCBhZ2FpbnN0IG90aGVyIGxvZ3MuICBP biBzb21lIHBsYXRmb3JtcyB0aGlzIGNvdWxkIGJlIG9idGFpbmVkDQogICog ZnJvbSB0aGUgY2FsbGVyLCBidXQgcmF0aGVyIHRoYW4gZ2V0IGVudGFuZ2xl ZCB3aXRoIHRoYXQsIHdlIGp1c3QgZWF0DQogICogdGhlIGNvc3Qgb2YgYW4g ZXh0cmEgc3lzY2FsbCBpbiBhbGwgY2FzZXMuDQogICovDQogc3RhdGljIHZv aWQNCi1kb0xvZyhUU3RhdGUgKnRocmVhZCwgQ1N0YXRlICpzdCwNCitkb0xv ZyhUU3RhdGUgKnRocmVhZCwgQ1N0YXRlICpzdCwgYm9vbCB0eCwNCiAJICBT dGF0c0RhdGEgKmFnZywgYm9vbCBza2lwcGVkLCBkb3VibGUgbGF0ZW5jeSwg ZG91YmxlIGxhZykNCiB7DQogCUZJTEUJICAgKmxvZ2ZpbGUgPSB0aHJlYWQt PmxvZ2ZpbGU7DQpAQCAtMzc5NCw0MyArMzgzMSwzNiBAQCBkb0xvZyhUU3Rh dGUgKnRocmVhZCwgQ1N0YXRlICpzdCwNCiAJLyogc2hvdWxkIHdlIGFnZ3Jl Z2F0ZSB0aGUgcmVzdWx0cyBvciBub3Q/ICovDQogCWlmIChhZ2dfaW50ZXJ2 YWwgPiAwKQ0KIAl7DQorCQlwZ190aW1lX3VzZWNfdAluZXh0Ow0KKw0KIAkJ LyoNCiAJCSAqIExvb3AgdW50aWwgd2UgcmVhY2ggdGhlIGludGVydmFsIG9m IHRoZSBjdXJyZW50IG1vbWVudCwgYW5kIHByaW50DQogCQkgKiBhbnkgZW1w dHkgaW50ZXJ2YWxzIGluIGJldHdlZW4gKHRoaXMgbWF5IGhhcHBlbiB3aXRo IHZlcnkgbG93IHRwcywNCiAJCSAqIGUuZy4gLS1yYXRlPTAuMSkuDQogCQkg Ki8NCi0NCi0JCXdoaWxlIChhZ2ctPnN0YXJ0X3RpbWUgKyBhZ2dfaW50ZXJ2 YWwgPD0gbm93KQ0KKwkJd2hpbGUgKChuZXh0ID0gYWdnLT5zdGFydF90aW1l ICsgYWdnX2ludGVydmFsICogSU5UNjRDT05TVCgxMDAwMDAwKSkgPD0gbm93 KQ0KIAkJew0KLQkJCS8qIHByaW50IGFnZ3JlZ2F0ZWQgcmVwb3J0IHRvIGxv Z2ZpbGUgKi8NCi0JCQlmcHJpbnRmKGxvZ2ZpbGUsIElOVDY0X0ZPUk1BVCAi ICIgSU5UNjRfRk9STUFUICIgJS4wZiAlLjBmICUuMGYgJS4wZiIsDQotCQkJ CQlhZ2ctPnN0YXJ0X3RpbWUsDQotCQkJCQlhZ2ctPmNudCwNCi0JCQkJCWFn Zy0+bGF0ZW5jeS5zdW0sDQotCQkJCQlhZ2ctPmxhdGVuY3kuc3VtMiwNCi0J CQkJCWFnZy0+bGF0ZW5jeS5taW4sDQotCQkJCQlhZ2ctPmxhdGVuY3kubWF4 KTsNCi0JCQlpZiAodGhyb3R0bGVfZGVsYXkpDQotCQkJew0KLQkJCQlmcHJp bnRmKGxvZ2ZpbGUsICIgJS4wZiAlLjBmICUuMGYgJS4wZiIsDQotCQkJCQkJ YWdnLT5sYWcuc3VtLA0KLQkJCQkJCWFnZy0+bGFnLnN1bTIsDQotCQkJCQkJ YWdnLT5sYWcubWluLA0KLQkJCQkJCWFnZy0+bGFnLm1heCk7DQotCQkJCWlm IChsYXRlbmN5X2xpbWl0KQ0KLQkJCQkJZnByaW50Zihsb2dmaWxlLCAiICIg SU5UNjRfRk9STUFULCBhZ2ctPnNraXBwZWQpOw0KLQkJCX0NCi0JCQlmcHV0 YygnXG4nLCBsb2dmaWxlKTsNCisJCQlsb2dBZ2cobG9nZmlsZSwgYWdnKTsN CiANCiAJCQkvKiByZXNldCBkYXRhIGFuZCBtb3ZlIHRvIG5leHQgaW50ZXJ2 YWwgKi8NCi0JCQlpbml0U3RhdHMoYWdnLCBhZ2ctPnN0YXJ0X3RpbWUgKyBh Z2dfaW50ZXJ2YWwpOw0KKwkJCWluaXRTdGF0cyhhZ2csIG5leHQpOw0KIAkJ fQ0KIA0KLQkJLyogYWNjdW11bGF0ZSB0aGUgY3VycmVudCB0cmFuc2FjdGlv biAqLw0KLQkJYWNjdW1TdGF0cyhhZ2csIHNraXBwZWQsIGxhdGVuY3ksIGxh Zyk7DQorCQlpZiAodHgpDQorCQkJLyogYWNjdW11bGF0ZSB0aGUgY3VycmVu dCB0cmFuc2FjdGlvbiAqLw0KKwkJCWFjY3VtU3RhdHMoYWdnLCBza2lwcGVk LCBsYXRlbmN5LCBsYWcpOw0KKwkJZWxzZQ0KKwkJCS8qIGZpbmFsIGNhbGwg dG8gc2hvdyB0aGUgbGFzdCBhZ2dyZWdhdGUgKi8NCisJCQlsb2dBZ2cobG9n ZmlsZSwgYWdnKTsNCiAJfQ0KIAllbHNlDQogCXsNCisJCS8qIHN3aXRjaCB0 byBlcG9jaCAqLw0KKwkJbm93ICs9IGVwb2NoX3NoaWZ0Ow0KKw0KKwkJLyog IXR4IG9ubHkgdXNlZCBmb3IgYWdncmVnYXRlZCBkYXRhICovDQorCQlBc3Nl cnQodHgpOw0KKw0KIAkJLyogbm8sIHByaW50IHJhdyB0cmFuc2FjdGlvbnMg Ki8NCiAJCWlmIChza2lwcGVkKQ0KIAkJCWZwcmludGYobG9nZmlsZSwgIiVk ICIgSU5UNjRfRk9STUFUICIgc2tpcHBlZCAlZCAiIElOVDY0X0ZPUk1BVCAi ICINCkBAIC0zODkwLDcgKzM5MjAsNyBAQCBwcm9jZXNzWGFjdFN0YXRzKFRT dGF0ZSAqdGhyZWFkLCBDU3RhdGUgKnN0LCBwZ190aW1lX3VzZWNfdCAqbm93 LA0KIAlzdC0+Y250Kys7DQogDQogCWlmICh1c2VfbG9nKQ0KLQkJZG9Mb2co dGhyZWFkLCBzdCwgYWdnLCBza2lwcGVkLCBsYXRlbmN5LCBsYWcpOw0KKwkJ ZG9Mb2codGhyZWFkLCBzdCwgdHJ1ZSwgYWdnLCBza2lwcGVkLCBsYXRlbmN5 LCBsYWcpOw0KIA0KIAkvKiBYWFggY291bGQgdXNlIGEgbXV0ZXggaGVyZSwg YnV0IHdlIGNob29zZSBub3QgdG8gKi8NCiAJaWYgKHBlcl9zY3JpcHRfc3Rh dHMpDQpAQCAtNTQ1Niw3ICs1NDg2LDcgQEAgcHJpbnRQcm9ncmVzc1JlcG9y dChUU3RhdGUgKnRocmVhZHMsIGludDY0IHRlc3Rfc3RhcnQsIHBnX3RpbWVf dXNlY190IG5vdywNCiANCiAJaWYgKHByb2dyZXNzX3RpbWVzdGFtcCkNCiAJ ew0KLQkJc25wcmludGYodGJ1Ziwgc2l6ZW9mKHRidWYpLCAiJS4zZiBzIiwg UEdfVElNRV9HRVRfRE9VQkxFKG5vdykpOw0KKwkJc25wcmludGYodGJ1Ziwg c2l6ZW9mKHRidWYpLCAiJS4zZiBzIiwgUEdfVElNRV9HRVRfRE9VQkxFKG5v dyArIGVwb2NoX3NoaWZ0KSk7DQogCX0NCiAJZWxzZQ0KIAl7DQpAQCAtNTgw Niw2ICs1ODM2LDExIEBAIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQ0K IAljaGFyCSAgICplbnY7DQogDQogCWludAkJCWV4aXRfY29kZSA9IDA7DQor CXN0cnVjdCB0aW1ldmFsIHR2Ow0KKw0KKwkvKiByZWNvcmQgc2hpZnQgYmV0 d2VlbiBlcG9jaCBhbmQgbm93KCkgKi8NCisJZ2V0dGltZW9mZGF5KCZ0diwg TlVMTCk7DQorCWVwb2NoX3NoaWZ0ID0gdHYudHZfc2VjICogMTAwMDAwMCAr IHR2LnR2X3VzZWMgLSBwZ190aW1lX25vdygpOw0KIA0KIAlwZ19sb2dnaW5n X2luaXQoYXJndlswXSk7DQogCXByb2duYW1lID0gZ2V0X3Byb2duYW1lKGFy Z3ZbMF0pOw0KQEAgLTY4MjgsOCArNjg2Myw5IEBAIGRvbmU6DQogCQlpZiAo YWdnX2ludGVydmFsID4gMCkNCiAJCXsNCiAJCQkvKiBsb2cgYWdncmVnYXRl ZCBidXQgbm90IHlldCByZXBvcnRlZCB0cmFuc2FjdGlvbnMgKi8NCi0JCQlk b0xvZyh0aHJlYWQsIHN0YXRlLCAmYWdncywgZmFsc2UsIDAsIDApOw0KKwkJ CWRvTG9nKHRocmVhZCwgc3RhdGUsIGZhbHNlLCAmYWdncywgZmFsc2UsIDAu MCwgMC4wKTsNCiAJCX0NCisNCiAJCWZjbG9zZSh0aHJlYWQtPmxvZ2ZpbGUp Ow0KIAkJdGhyZWFkLT5sb2dmaWxlID0gTlVMTDsNCiAJfQ0KZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdiZW5jaC90LzAwMV9wZ2JlbmNoX3dpdGhfc2VydmVy LnBsIGIvc3JjL2Jpbi9wZ2JlbmNoL3QvMDAxX3BnYmVuY2hfd2l0aF9zZXJ2 ZXIucGwNCmluZGV4IDkyMzIwM2VhNTEuLjYwMjYwZTA4ZjkgMTAwNjQ0DQot LS0gYS9zcmMvYmluL3BnYmVuY2gvdC8wMDFfcGdiZW5jaF93aXRoX3NlcnZl ci5wbA0KKysrIGIvc3JjL2Jpbi9wZ2JlbmNoL3QvMDAxX3BnYmVuY2hfd2l0 aF9zZXJ2ZXIucGwNCkBAIC04LDYgKzgsNyBAQCB1c2UgUG9zdGdyZXNOb2Rl Ow0KIHVzZSBUZXN0TGliOw0KIHVzZSBUZXN0OjpNb3JlOw0KIHVzZSBDb25m aWc7DQordXNlIFRpbWU6OkhpUmVzIHF3KCB0aW1lICk7DQogDQogIyBzdGFy dCBhIHBnYmVuY2ggc3BlY2lmaWMgc2VydmVyDQogbXkgJG5vZGUgPSBnZXRf bmV3X25vZGUoJ21haW4nKTsNCkBAIC01NCwxMiArNTUsMTQgQEAgc3ViIHBn YmVuY2gNCiANCiAJcHVzaCBAY21kLCBAYXJnczsNCiANCisJbXkgJHN0YXJ0 ID0gdGltZSgpOw0KIAkkbm9kZS0+Y29tbWFuZF9jaGVja3NfYWxsKFxAY21k LCAkc3RhdCwgJG91dCwgJGVyciwgJG5hbWUpOw0KKwlteSAkc3RvcCA9IHRp bWUoKTsNCiANCiAJIyBjbGVhbnVwPw0KIAkjdW5saW5rIEBmaWxlbmFtZXMg b3IgZGllICJjYW5ub3QgdW5saW5rIGZpbGVzIChAZmlsZW5hbWVzKTogJCEi Ow0KIA0KLQlyZXR1cm47DQorCXJldHVybiAkc3RvcCAtICRzdGFydDsNCiB9 DQogDQogIyB0YWJsZXNwYWNlIGZvciB0ZXN0aW5nLCBiZWNhdXNlIHBhcnRp dGlvbmVkIHRhYmxlcyBjYW5ub3QgdXNlIHBnX2RlZmF1bHQNCkBAIC0xMTcz LDcgKzExNzYsMTQgQEAgc3ViIGxpc3RfZmlsZXMNCiAJcmV0dXJuIG1hcCB7 ICRkaXIgLiAnLycgLiAkXyB9IEBmaWxlczsNCiB9DQogDQorIw0KICMgY2hl Y2sgbG9nIGNvbnRlbnRzIGFuZCBjbGVhbnVwDQorIyAgICRkaXI6IGRpcmVj dG9yeSBob2xkaW5nIGxvZ3MNCisjICAgJHByZWZpeDogZmlsZSBwcmVmaXgg Zm9yIHBlci10aHJlYWQgbG9ncw0KKyMgICAkbmI6IG51bWJlciBvZiBleHBl Y3RlZCBmaWxlcw0KKyMgICAkbWluLyRtYXg6IG1pbmltdW0vbWF4aW11bSBu dW1iZXIgb2YgbGluZXMgaW4gbG9nIGZpbGVzDQorIyAgICRyZTogcmVndWxh ciBleHByZXNzaW9uIGVhY2ggbGluZSBzaG91bGQgbWF0Y2gNCisjDQogc3Vi IGNoZWNrX3BnYmVuY2hfbG9ncw0KIHsNCiAJbG9jYWwgJFRlc3Q6OkJ1aWxk ZXI6OkxldmVsID0gJFRlc3Q6OkJ1aWxkZXI6OkxldmVsICsgMTsNCkBAIC0x MTgyLDcgKzExOTIsNyBAQCBzdWIgY2hlY2tfcGdiZW5jaF9sb2dzDQogDQog CSMgJHByZWZpeCBpcyBzaW1wbGUgZW5vdWdoLCB0aHVzIGRvZXMgbm90IG5l ZWQgZXNjYXBpbmcNCiAJbXkgQGxvZ3MgPSBsaXN0X2ZpbGVzKCRkaXIsIHFy e14kcHJlZml4XC4uKiR9KTsNCi0Jb2soQGxvZ3MgPT0gJG5iLCAibnVtYmVy IG9mIGxvZyBmaWxlcyIpOw0KKwlvayhAbG9ncyA9PSAkbmIsICJudW1iZXIg b2YgbG9nIGZpbGVzIChAbG9ncykiKTsNCiAJb2soZ3JlcCgvXC8kcHJlZml4 XC5cZCsoXC5cZCspPyQvLCBAbG9ncykgPT0gJG5iLCAiZmlsZSBuYW1lIGZv cm1hdCIpOw0KIA0KIAlteSAkbG9nX251bWJlciA9IDA7DQpAQCAtMTIwNSw3 ICsxMjE1LDU3IEBAIHN1YiBjaGVja19wZ2JlbmNoX2xvZ3MNCiANCiBteSAk YmRpciA9ICRub2RlLT5iYXNlZGlyOw0KIA0KLSMgd2l0aCBzYW1wbGluZyBy YXRlDQorIyBUZXN0IHRpbWUtc2Vuc2l0aXZlIGZlYXR1cmVzIG9uIGEgbGln aHQgcmVhZC1vbmx5IHRyYW5zYWN0aW9uOg0KKyMNCisjICAgLVQ6IGJlbmNo IGR1cmF0aW9uLCAyIHNlY29uZHMgdG8gZXhlcmNpc2UgcHJvZ3Jlc3MgJiBs b2dzDQorIyAgIC1QOiBwcm9ncmVzcyByZXBvcnQNCisjICAgLS1hZ2dyZWdh dGUtaW50ZXJ2YWw6IHBlcmlvZGljIGFnZ3JlZ2F0ZWQgbG9ncw0KKyMgICAt LXJhdGU6IHNjaGVkdWxlIGxvYWQNCisjICAgLS1sYXRlbmN5LWxpbWl0OiBt YXggZGVsYXksIG5vdCBkZWVwbHkgZXhlcmNpY2UNCisjDQorIyBub3RlOiB0 aGUgLS1yYXRlIGJlaGF2aW9yIGlzIHByb2JhYmlsaXN0aWMgaW4gbmF0dXJl Lg0KKyMgbm90ZTogLS1wcm9ncmVzcy10aW1lc3RhbXAgaXMgbm90IHRlc3Rl ZC4NCitteSAkZGVsYXkgPSBwZ2JlbmNoKA0KKwknLVQgMiAtUCAxIC1sIC0t YWdncmVnYXRlLWludGVydmFsPTEgLVMgLWIgc2VAMicNCisJLiAnIC0tcmF0 ZT0yMCAtLWxhdGVuY3ktbGltaXQ9MTAwMCAtaiAnIC4gJG50aHJlYWRzDQor CS4gJyAtYyAzIC1yJywNCisJMCwNCisJWyAgIHFye3R5cGU6IG11bHRpcGxl fSwNCisJCXFye2NsaWVudHM6IDN9LA0KKwkJcXJ7dGhyZWFkczogJG50aHJl YWRzfSwNCisJCXFye2R1cmF0aW9uOiAyIHN9LA0KKwkJcXJ7c2NyaXB0IDE6 IC4qIHNlbGVjdCBvbmx5fSwNCisJCXFye3NjcmlwdCAyOiAuKiBzZWxlY3Qg b25seX0sDQorCQlxcntzdGF0ZW1lbnQgbGF0ZW5jaWVzIGluIG1pbGxpc2Vj b25kc30sDQorCQlxcntGUk9NIHBnYmVuY2hfYWNjb3VudHN9IF0sDQorCVsg cXJ7dmFjdXVtfSwgcXJ7cHJvZ3Jlc3M6IDFcYn0gXSwNCisJJ3BnYmVuY2gg cHJvZ3Jlc3MnLCB1bmRlZiwNCisJIi0tbG9nLXByZWZpeD0kYmRpci8wMDFf cGdiZW5jaF9sb2dfMSIpOw0KKw0KKyMgY29vbCBjaGVjayB0aGF0IHdlIGFy ZSBhcm91bmQgMiBzZWNvbmRzDQorDQorVE9ETzogew0KKwlsb2NhbCAkVE9E TyA9ICJwb3NzaWJseSB1bnJlbGlhYmxlIG9uIHNsb3cgaG9zdHMgb3IgdW5s dWNreSBydW5zIjsNCisNCisJIyBUaGUgcmF0ZSBtYXkgcmVzdWx0cyBpbiBh biB1bmx1Y2t5IHNjaGVkdWxlIHdoaWNoIHRyaWdnZXJzDQorCSMgYW4gZWFy bHkgZXhpdCwgaGVuY2UgdGhlIGxvb3NlIGJvdW5kLg0KKw0KKwkjIGFsc28s IHRoZSBkZWxheSBtYXkgdG90YWxseSBmYWlsIG9uIHZlcnkgc2xvdyBvciBv dmVybG9hcmQgaG9zdHMsDQorCSMgdmFsZ3JpbmQgcnVucy4uLg0KKw0KKwlv aygxLjUgPCAkZGVsYXkgJiYgJGRlbGF5IDwgMi41LCAiLVQgMiBydW4gYXJv dW5kIDIgc2Vjb25kcyIpOw0KK30NCisNCisjICRudGhyZWFkcyB0aHJlYWRz LCAyIHNlY29uZHMsIGJ1dCBkdWUgdG8gdGltaW5nIGltcHJlY2lzaW9uIHdl IG1pZ2h0IGdldA0KKyMgb25seSAxIG9yIGFzIG1hbnkgYXMgMyBwcm9ncmVz cyByZXBvcnRzIHBlciB0aHJlYWQuDQorIyBhZ2dyZWdhdGUgbG9nIGZvcm1h dCBpczoNCisjICAgZXBvY2ggI3R4IHN1bSBzdW0yIG1pbiBtYXggW3N1bSBz dW0yIG1pbiBtYXggW3NraXBwZWRdXQ0KKyMgZmlyc3Qgc2VyaWUgYWJvdXQg bGF0ZW5jeSA7IHNlY29uZCBhYm91dCBsYWcgKC0tcmF0ZSkgOw0KKyMgc2tp cHBlZCBvbmx5IGlmIC0tbGF0ZW5jeS1saW1pdCBpcyBzZXQuDQorY2hlY2tf cGdiZW5jaF9sb2dzKCRiZGlyLCAnMDAxX3BnYmVuY2hfbG9nXzEnLCAkbnRo cmVhZHMsIDEsIDMsDQorCXFye15cZHsxMCx9IFxkezEsMn0gXGQrIFxkKyBc ZCsgXGQrIFxkKyBcZCsgXGQrIFxkKyBcZCskfSk7DQorDQorIyB3aXRoIHNh bXBsaW5nIHJhdGUsIDIgY2xpZW50cyB3aXRoIDUwIHR4IGVhY2gNCiBwZ2Jl bmNoKA0KIAkiLW4gLVMgLXQgNTAgLWMgMiAtLWxvZyAtLXNhbXBsaW5nLXJh dGU9MC41IiwgMCwNCiAJWyBxcntzZWxlY3Qgb25seX0sIHFye3Byb2Nlc3Nl ZDogMTAwLzEwMH0gXSwgW3Fye14kfV0sDQo= --2056645051-390248979-1624478394=:1601973--