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 1qBz1j-0008OE-4q for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Jun 2023 14:41:43 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1qBz1i-0007BP-4I for pgsql-hackers@arkaria.postgresql.org; Wed, 21 Jun 2023 14:41:42 +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 1qBz1h-0007BF-O8 for pgsql-hackers@lists.postgresql.org; Wed, 21 Jun 2023 14:41:41 +0000 Received: from oss.nttdata.com ([49.212.34.109]) by magus.postgresql.org with esmtps (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94.2) (envelope-from ) id 1qBz1d-003pxQ-Ib for pgsql-hackers@postgresql.org; Wed, 21 Jun 2023 14:41:41 +0000 Received: from oss.nttdata.com (localhost [127.0.0.1]) by oss.nttdata.com (Postfix) with ESMTPA id 2F6CE609D1; Wed, 21 Jun 2023 23:41:33 +0900 (JST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.8 at oss.nttdata.com MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=_162b3609f3f4f5775c334415ee3359cd" Content-Transfer-Encoding: 7bit Date: Wed, 21 Jun 2023 23:41:33 +0900 From: torikoshia To: Kyotaro Horiguchi Cc: michael@paquier.xyz, masao.fujii@oss.nttdata.com, bharath.rupireddyforpostgres@gmail.com, pgsql-hackers@postgresql.org Subject: Re: Allow pg_archivecleanup to remove backup history files In-Reply-To: <20230621.115941.1395557545366586431.horikyota.ntt@gmail.com> References: <3fe4af5a0a81fc6a2ec01cb484c0a487@oss.nttdata.com> <20230621.115941.1395557545366586431.horikyota.ntt@gmail.com> User-Agent: Roundcube Webmail/1.4.11 Message-ID: X-Sender: torikoshia@oss.nttdata.com List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --=_162b3609f3f4f5775c334415ee3359cd Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; format=flowed On 2023-06-21 11:59, Kyotaro Horiguchi wrote: > At Tue, 20 Jun 2023 22:27:36 +0900, torikoshia > wrote in >> On 2023-06-19 14:37, Michael Paquier wrote: >> > On Mon, Jun 19, 2023 at 11:24:29AM +0900, torikoshia wrote: >> >> Thanks, now I understand what you meant. >> > If I may ask, why is the refactoring of 0003 done after the feature in >> > 0002? Shouldn't the order be reversed? That would make for a cleaner >> > git history. >> > -- >> > Michael >> >> Agreed. >> Reversed the order of patches 0002 and 0003. > > Yeah, that is a possible division. However, I meant that we have room > to refactor and decrease the nesting level even further, considering > that 0003 already does this to some extent, when I suggested it. In > that sense, moving the nest-reduction part of 0003 into 0002 makes us > possible to focus on the point of this patch. Thanks for the comment, it seems better than v9 patch. > What do you think about the attached version? --v10-0002-Preliminary-refactoring-for-a-subsequent-patch.patch + * Also we skip backup history files when --clean-backup-history + * is not specified. + */ + if (!IsXLogFileName(walfile) && !IsPartialXLogFileName(walfile)) + continue; I think this comment should be located in 0003. Attached updated patches. -- Regards, -- Atsushi Torikoshi NTT DATA CORPORATION --=_162b3609f3f4f5775c334415ee3359cd Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v11-0001-Introduce-pg_archivecleanup-into-getopt_long.patch Content-Disposition: attachment; filename=v11-0001-Introduce-pg_archivecleanup-into-getopt_long.patch; size=4117 RnJvbSBlYjk5ZjU4MWIyOTkwYzgwMzI5ZjJiYWY5NmVkNGQ1ZTljMDBkZGE1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IFdlZCwgMjEgSnVuIDIwMjMgMjE6NDI6MDggKzA5MDAKU3ViamVjdDog W1BBVENIIHYxMSAxLzNdIEludHJvZHVjZSBwZ19hcmNoaXZlY2xlYW51cCBpbnRvIGdldG9wdF9s b25nCgpUaGlzIHBhdGNoIGlzIGEgcHJlbGltaW5hcnkgc3RlcCB0byBhZGQgYW4gZWFzeS10by11 bmRlcnN0YW5kIG9wdGlvbgp0byBkZWxldGUgYmFja3VwIGhpc3RvcnkgZmlsZXMsIGJ1dCBpdCBh bHNvIGFkZHMgbG9uZyBvcHRpb25zIHRvCnRoZSBleGlzdGluZyBvcHRpb25zLgotLS0KIGRvYy9z cmMvc2dtbC9yZWYvcGdhcmNoaXZlY2xlYW51cC5zZ21sICAgICAgICB8ICA1ICsrKystCiBzcmMv YmluL3BnX2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMgfCAyMiArKysrKysrKysr KysrLS0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE5IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZG9jL3NyYy9zZ21sL3JlZi9wZ2FyY2hpdmVjbGVhbnVwLnNnbWwg Yi9kb2Mvc3JjL3NnbWwvcmVmL3BnYXJjaGl2ZWNsZWFudXAuc2dtbAppbmRleCA2MzVlN2M3Njg1 Li4wOTk5MWMyZmNkIDEwMDY0NAotLS0gYS9kb2Mvc3JjL3NnbWwvcmVmL3BnYXJjaGl2ZWNsZWFu dXAuc2dtbAorKysgYi9kb2Mvc3JjL3NnbWwvcmVmL3BnYXJjaGl2ZWNsZWFudXAuc2dtbApAQCAt OTUsNiArOTUsNyBAQCBwZ19hcmNoaXZlY2xlYW51cDogIHJlbW92aW5nIGZpbGUgImFyY2hpdmUv MDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBFIgogCiAgICAgIDx2YXJsaXN0ZW50cnk+CiAgICAgICA8 dGVybT48b3B0aW9uPi1kPC9vcHRpb24+PC90ZXJtPgorICAgICAgPHRlcm0+PG9wdGlvbj4tLWRl YnVnPC9vcHRpb24+PC90ZXJtPgogICAgICAgPGxpc3RpdGVtPgogICAgICAgIDxwYXJhPgogICAg ICAgICBQcmludCBsb3RzIG9mIGRlYnVnIGxvZ2dpbmcgb3V0cHV0IG9uIDxmaWxlbmFtZT5zdGRl cnI8L2ZpbGVuYW1lPi4KQEAgLTEwNCw2ICsxMDUsNyBAQCBwZ19hcmNoaXZlY2xlYW51cDogIHJl bW92aW5nIGZpbGUgImFyY2hpdmUvMDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBFIgogCiAgICAgIDx2 YXJsaXN0ZW50cnk+CiAgICAgICA8dGVybT48b3B0aW9uPi1uPC9vcHRpb24+PC90ZXJtPgorICAg ICAgPHRlcm0+PG9wdGlvbj4tLWRyeS1ydW48L29wdGlvbj48L3Rlcm0+CiAgICAgICA8bGlzdGl0 ZW0+CiAgICAgICAgPHBhcmE+CiAgICAgICAgIFByaW50IHRoZSBuYW1lcyBvZiB0aGUgZmlsZXMg dGhhdCB3b3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBvbiA8ZmlsZW5hbWU+c3Rkb3V0PC9maWxlbmFt ZT4gKHBlcmZvcm1zIGEgZHJ5IHJ1bikuCkBAIC0xMjIsNyArMTI0LDggQEAgcGdfYXJjaGl2ZWNs ZWFudXA6ICByZW1vdmluZyBmaWxlICJhcmNoaXZlLzAwMDAwMDAxMDAwMDAwMzcwMDAwMDAwRSIK ICAgICAgPC92YXJsaXN0ZW50cnk+CiAKICAgICAgPHZhcmxpc3RlbnRyeT4KLSAgICAgIDx0ZXJt PjxvcHRpb24+LXg8L29wdGlvbj4gPHJlcGxhY2VhYmxlPmV4dGVuc2lvbjwvcmVwbGFjZWFibGU+ PC90ZXJtPgorICAgICAgPHRlcm0+PG9wdGlvbj4teCA8cmVwbGFjZWFibGUgY2xhc3M9InBhcmFt ZXRlciI+ZXh0ZW5zaW9uPC9yZXBsYWNlYWJsZT48L29wdGlvbj48L3Rlcm0+CisgICAgICA8dGVy bT48b3B0aW9uPi0tc3RyaXAtZXh0ZW5zaW9uPTxyZXBsYWNlYWJsZSBjbGFzcz0icGFyYW1ldGVy Ij5leHRlbnNpb248L3JlcGxhY2VhYmxlPjwvb3B0aW9uPjwvdGVybT4KICAgICAgIDxsaXN0aXRl bT4KICAgICAgICA8cGFyYT4KICAgICAgICAgUHJvdmlkZSBhbiBleHRlbnNpb24KZGlmZiAtLWdp dCBhL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJjaGl2ZWNsZWFudXAuYyBiL3NyYy9i aW4vcGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJjaGl2ZWNsZWFudXAuYwppbmRleCA3NzI2ZDA1MTQ5 Li5mYzBkY2E5ODU2IDEwMDY0NAotLS0gYS9zcmMvYmluL3BnX2FyY2hpdmVjbGVhbnVwL3BnX2Fy Y2hpdmVjbGVhbnVwLmMKKysrIGIvc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC9wZ19hcmNoaXZl Y2xlYW51cC5jCkBAIC0xNyw3ICsxNyw3IEBACiAKICNpbmNsdWRlICJhY2Nlc3MveGxvZ19pbnRl cm5hbC5oIgogI2luY2x1ZGUgImNvbW1vbi9sb2dnaW5nLmgiCi0jaW5jbHVkZSAicGdfZ2V0b3B0 LmgiCisjaW5jbHVkZSAiZ2V0b3B0X2xvbmcuaCIKIAogY29uc3QgY2hhciAqcHJvZ25hbWU7CiAK QEAgLTI1MiwxMSArMjUyLDEzIEBAIHVzYWdlKHZvaWQpCiAJcHJpbnRmKF8oIlVzYWdlOlxuIikp OwogCXByaW50ZihfKCIgICVzIFtPUFRJT05dLi4uIEFSQ0hJVkVMT0NBVElPTiBPTERFU1RLRVBU V0FMRklMRVxuIiksIHByb2duYW1lKTsKIAlwcmludGYoXygiXG5PcHRpb25zOlxuIikpOwotCXBy aW50ZihfKCIgIC1kICAgICAgICAgICAgIGdlbmVyYXRlIGRlYnVnIG91dHB1dCAodmVyYm9zZSBt b2RlKVxuIikpOwotCXByaW50ZihfKCIgIC1uICAgICAgICAgICAgIGRyeSBydW4sIHNob3cgdGhl IG5hbWVzIG9mIHRoZSBmaWxlcyB0aGF0IHdvdWxkIGJlIHJlbW92ZWRcbiIpKTsKLQlwcmludGYo XygiICAtViwgLS12ZXJzaW9uICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiwgdGhlbiBleGl0 XG4iKSk7Ci0JcHJpbnRmKF8oIiAgLXggRVhUICAgICAgICAgY2xlYW4gdXAgZmlsZXMgaWYgdGhl eSBoYXZlIHRoaXMgZXh0ZW5zaW9uXG4iKSk7Ci0JcHJpbnRmKF8oIiAgLT8sIC0taGVscCAgICAg c2hvdyB0aGlzIGhlbHAsIHRoZW4gZXhpdFxuIikpOworCXByaW50ZihfKCIgIC1kLCAtLWRlYnVn ICAgICAgICAgICAgICAgICBnZW5lcmF0ZSBkZWJ1ZyBvdXRwdXQgKHZlcmJvc2UgbW9kZSlcbiIp KTsKKwlwcmludGYoXygiICAtbiwgLS1kcnktcnVuICAgICAgICAgICAgICAgZHJ5IHJ1biwgc2hv dyB0aGUgbmFtZXMgb2YgdGhlIGZpbGVzIHRoYXQgd291bGQgYmVcbiIKKwkJCSAiICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlZFxuIikpOworCXByaW50ZihfKCIgIC1WLCAtLXZl cnNpb24gICAgICAgICAgICAgICBvdXRwdXQgdmVyc2lvbiBpbmZvcm1hdGlvbiwgdGhlbiBleGl0 XG4iKSk7CisJcHJpbnRmKF8oIiAgLXgsIC0tc3RyaXAtZXh0ZW5zaW9uPUVYVCAgIHN0cmlwIHRo aXMgZXh0ZW50aW9uIGJlZm9yZSBpZGVudGlmeWluZyBmaWxlcyBmb3JcbiIKKwkJCSAiICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY2xlYW4gdXBcbiIpKTsKKwlwcmludGYoXygiICAtPywg LS1oZWxwICAgICAgICAgICAgICAgICAgc2hvdyB0aGlzIGhlbHAsIHRoZW4gZXhpdFxuIikpOwog CXByaW50ZihfKCJcbiIKIAkJCSAiRm9yIHVzZSBhcyBhcmNoaXZlX2NsZWFudXBfY29tbWFuZCBp biBwb3N0Z3Jlc3FsLmNvbmY6XG4iCiAJCQkgIiAgYXJjaGl2ZV9jbGVhbnVwX2NvbW1hbmQgPSAn cGdfYXJjaGl2ZWNsZWFudXAgW09QVElPTl0uLi4gQVJDSElWRUxPQ0FUSU9OICUlcidcbiIKQEAg LTI3NCw2ICsyNzYsMTIgQEAgdXNhZ2Uodm9pZCkKIGludAogbWFpbihpbnQgYXJnYywgY2hhciAq KmFyZ3YpCiB7CisJc3RhdGljIHN0cnVjdCBvcHRpb24gbG9uZ19vcHRpb25zW10gPSB7CisJCXsi ZGVidWciLCBub19hcmd1bWVudCwgTlVMTCwgJ2QnfSwKKwkJeyJkcnktcnVuIiwgbm9fYXJndW1l bnQsIE5VTEwsICduJ30sCisJCXsic3RyaXAtZXh0ZW5zaW9uIiwgcmVxdWlyZWRfYXJndW1lbnQs IE5VTEwsICd4J30sCisJCXtOVUxMLCAwLCBOVUxMLCAwfQorCX07CiAJaW50CQkJYzsKIAogCXBn X2xvZ2dpbmdfaW5pdChhcmd2WzBdKTsKQEAgLTI5NCw3ICszMDIsNyBAQCBtYWluKGludCBhcmdj LCBjaGFyICoqYXJndikKIAkJfQogCX0KIAotCXdoaWxlICgoYyA9IGdldG9wdChhcmdjLCBhcmd2 LCAiZG54OiIpKSAhPSAtMSkKKwl3aGlsZSAoKGMgPSBnZXRvcHRfbG9uZyhhcmdjLCBhcmd2LCAi ZG54OiIsIGxvbmdfb3B0aW9ucywgTlVMTCkpICE9IC0xKQogCXsKIAkJc3dpdGNoIChjKQogCQl7 Ci0tIAoyLjM5LjIKCg== --=_162b3609f3f4f5775c334415ee3359cd Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v11-0002-Preliminary-refactoring-for-a-subsequent-patch.patch Content-Disposition: attachment; filename=v11-0002-Preliminary-refactoring-for-a-subsequent-patch.patch; size=5832 RnJvbSBkNzYwNTY3ZTY5NzRhNWIzNjE4YWJhMjI4ZjkyYzE4ODUyOWY2YTc1IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IFdlZCwgMjEgSnVuIDIwMjMgMjI6MjA6MjEgKzA5MDAKU3ViamVjdDog W1BBVENIIHYxMSAyLzNdIFByZWxpbWluYXJ5IHJlZmFjdG9yaW5nIGZvciBhIHN1YnNlcXVlbnQg cGF0Y2gKClRoaXMgaXMgYSBwcmVwYXJhdG9yeSBwYXRjaCB0aGF0IGRvZXNuJ3QgaW50cm9kdWNl IGFueSBmdW5jdGlvbmFsCmNoYW5nZS4gSW5zdGVhZCwgdGhpcyBjYXJyaWVzIG91dCBwcmVsaW1p bmFyeSByZWZhY3RvcmluZyB3aXRoIHRoZQpnb2FsIG9mIHJlZHVjaW5nIHRoZSBvdmVyYWxsIG5l c3RpbmcgbGV2ZWwuIFRoaXMgaGVscHMgdG8gcHJldmVudCB0aGUKZm9ydGhjb21pbmcgcGF0Y2gg ZnJvbSBmdXJ0aGVyIGRlZXBlbmluZyB0aGUgbmVzdGluZyBsZXZlbC4KLS0tCiBzcmMvYmluL3Bn X2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMgfCAxNDIgKysrKysrKysrLS0tLS0t LS0tCiAxIGZpbGUgY2hhbmdlZCwgNzQgaW5zZXJ0aW9ucygrKSwgNjggZGVsZXRpb25zKC0pCgpk aWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC9wZ19hcmNoaXZlY2xlYW51cC5j IGIvc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC9wZ19hcmNoaXZlY2xlYW51cC5jCmluZGV4IGZj MGRjYTk4NTYuLjk4MmZlMDBmMjAgMTAwNjQ0Ci0tLSBhL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFu dXAvcGdfYXJjaGl2ZWNsZWFudXAuYworKysgYi9zcmMvYmluL3BnX2FyY2hpdmVjbGVhbnVwL3Bn X2FyY2hpdmVjbGVhbnVwLmMKQEAgLTkzLDc2ICs5Myw4MiBAQCBDbGVhbnVwUHJpb3JXQUxGaWxl cyh2b2lkKQogCXN0cnVjdCBkaXJlbnQgKnhsZGU7CiAJY2hhcgkJd2FsZmlsZVtNQVhQR1BBVEhd OwogCi0JaWYgKCh4bGRpciA9IG9wZW5kaXIoYXJjaGl2ZUxvY2F0aW9uKSkgIT0gTlVMTCkKLQl7 Ci0JCXdoaWxlIChlcnJubyA9IDAsICh4bGRlID0gcmVhZGRpcih4bGRpcikpICE9IE5VTEwpCi0J CXsKLQkJCS8qCi0JCQkgKiBUcnVuY2F0aW9uIGlzIGVzc2VudGlhbGx5IGhhcm1sZXNzLCBiZWNh dXNlIHdlIHNraXAgbmFtZXMgb2YKLQkJCSAqIGxlbmd0aCBvdGhlciB0aGFuIFhMT0dfRk5BTUVf TEVOLiAgKEluIHByaW5jaXBsZSwgb25lIGNvdWxkIHVzZQotCQkJICogYSAxMDAwLWNoYXJhY3Rl ciBhZGRpdGlvbmFsX2V4dCBhbmQgZ2V0IHRyb3VibGUuKQotCQkJICovCi0JCQlzdHJsY3B5KHdh bGZpbGUsIHhsZGUtPmRfbmFtZSwgTUFYUEdQQVRIKTsKLQkJCVRyaW1FeHRlbnNpb24od2FsZmls ZSwgYWRkaXRpb25hbF9leHQpOwotCi0JCQkvKgotCQkJICogV2UgaWdub3JlIHRoZSB0aW1lbGlu ZSBwYXJ0IG9mIHRoZSBYTE9HIHNlZ21lbnQgaWRlbnRpZmllcnMgaW4KLQkJCSAqIGRlY2lkaW5n IHdoZXRoZXIgYSBzZWdtZW50IGlzIHN0aWxsIG5lZWRlZC4gIFRoaXMgZW5zdXJlcyB0aGF0Ci0J CQkgKiB3ZSB3b24ndCBwcmVtYXR1cmVseSByZW1vdmUgYSBzZWdtZW50IGZyb20gYSBwYXJlbnQg dGltZWxpbmUuCi0JCQkgKiBXZSBjb3VsZCBwcm9iYWJseSBiZSBhIGxpdHRsZSBtb3JlIHByb2Fj dGl2ZSBhYm91dCByZW1vdmluZwotCQkJICogc2VnbWVudHMgb2Ygbm9uLXBhcmVudCB0aW1lbGlu ZXMsIGJ1dCB0aGF0IHdvdWxkIGJlIGEgd2hvbGUgbG90Ci0JCQkgKiBtb3JlIGNvbXBsaWNhdGVk LgotCQkJICoKLQkJCSAqIFdlIHVzZSB0aGUgYWxwaGFudW1lcmljIHNvcnRpbmcgcHJvcGVydHkg b2YgdGhlIGZpbGVuYW1lcyB0bwotCQkJICogZGVjaWRlIHdoaWNoIG9uZXMgYXJlIGVhcmxpZXIg dGhhbiB0aGUgZXhjbHVzaXZlQ2xlYW51cEZpbGVOYW1lCi0JCQkgKiBmaWxlLiBOb3RlIHRoYXQg dGhpcyBtZWFucyBmaWxlcyBhcmUgbm90IHJlbW92ZWQgaW4gdGhlIG9yZGVyCi0JCQkgKiB0aGV5 IHdlcmUgb3JpZ2luYWxseSB3cml0dGVuLCBpbiBjYXNlIHRoaXMgd29ycmllcyB5b3UuCi0JCQkg Ki8KLQkJCWlmICgoSXNYTG9nRmlsZU5hbWUod2FsZmlsZSkgfHwgSXNQYXJ0aWFsWExvZ0ZpbGVO YW1lKHdhbGZpbGUpKSAmJgotCQkJCXN0cmNtcCh3YWxmaWxlICsgOCwgZXhjbHVzaXZlQ2xlYW51 cEZpbGVOYW1lICsgOCkgPCAwKQotCQkJewotCQkJCWNoYXIJCVdBTEZpbGVQYXRoW01BWFBHUEFU SCAqIDJdOyAvKiB0aGUgZmlsZSBwYXRoCi0JCQkJCQkJCQkJCQkJCSAqIGluY2x1ZGluZyBhcmNo aXZlICovCi0KLQkJCQkvKgotCQkJCSAqIFVzZSB0aGUgb3JpZ2luYWwgZmlsZSBuYW1lIGFnYWlu IG5vdywgaW5jbHVkaW5nIGFueQotCQkJCSAqIGV4dGVuc2lvbiB0aGF0IG1pZ2h0IGhhdmUgYmVl biBjaG9wcGVkIG9mZiBiZWZvcmUgdGVzdGluZwotCQkJCSAqIHRoZSBzZXF1ZW5jZS4KLQkJCQkg Ki8KLQkJCQlzbnByaW50ZihXQUxGaWxlUGF0aCwgc2l6ZW9mKFdBTEZpbGVQYXRoKSwgIiVzLyVz IiwKLQkJCQkJCSBhcmNoaXZlTG9jYXRpb24sIHhsZGUtPmRfbmFtZSk7Ci0KLQkJCQlpZiAoZHJ5 cnVuKQotCQkJCXsKLQkJCQkJLyoKLQkJCQkJICogUHJpbnRzIHRoZSBuYW1lIG9mIHRoZSBmaWxl IHRvIGJlIHJlbW92ZWQgYW5kIHNraXBzIHRoZQotCQkJCQkgKiBhY3R1YWwgcmVtb3ZhbC4gIFRo ZSByZWd1bGFyIHByaW50b3V0IGlzIHNvIHRoYXQgdGhlCi0JCQkJCSAqIHVzZXIgY2FuIHBpcGUg dGhlIG91dHB1dCBpbnRvIHNvbWUgb3RoZXIgcHJvZ3JhbS4KLQkJCQkJICovCi0JCQkJCXByaW50 ZigiJXNcbiIsIFdBTEZpbGVQYXRoKTsKLQkJCQkJcGdfbG9nX2RlYnVnKCJmaWxlIFwiJXNcIiB3 b3VsZCBiZSByZW1vdmVkIiwgV0FMRmlsZVBhdGgpOwotCQkJCQljb250aW51ZTsKLQkJCQl9Ci0K LQkJCQlwZ19sb2dfZGVidWcoInJlbW92aW5nIGZpbGUgXCIlc1wiIiwgV0FMRmlsZVBhdGgpOwot Ci0JCQkJcmMgPSB1bmxpbmsoV0FMRmlsZVBhdGgpOwotCQkJCWlmIChyYyAhPSAwKQotCQkJCQlw Z19mYXRhbCgiY291bGQgbm90IHJlbW92ZSBmaWxlIFwiJXNcIjogJW0iLAotCQkJCQkJCSBXQUxG aWxlUGF0aCk7Ci0JCQl9Ci0JCX0KLQotCQlpZiAoZXJybm8pCi0JCQlwZ19mYXRhbCgiY291bGQg bm90IHJlYWQgYXJjaGl2ZSBsb2NhdGlvbiBcIiVzXCI6ICVtIiwKLQkJCQkJIGFyY2hpdmVMb2Nh dGlvbik7Ci0JCWlmIChjbG9zZWRpcih4bGRpcikpCi0JCQlwZ19mYXRhbCgiY291bGQgbm90IGNs b3NlIGFyY2hpdmUgbG9jYXRpb24gXCIlc1wiOiAlbSIsCi0JCQkJCSBhcmNoaXZlTG9jYXRpb24p OwotCX0KLQllbHNlCisJaWYgKCh4bGRpciA9IG9wZW5kaXIoYXJjaGl2ZUxvY2F0aW9uKSkgPT0g TlVMTCkKIAkJcGdfZmF0YWwoImNvdWxkIG5vdCBvcGVuIGFyY2hpdmUgbG9jYXRpb24gXCIlc1wi OiAlbSIsCiAJCQkJIGFyY2hpdmVMb2NhdGlvbik7CisKKwl3aGlsZSAoZXJybm8gPSAwLCAoeGxk ZSA9IHJlYWRkaXIoeGxkaXIpKSAhPSBOVUxMKQorCXsKKwkJY2hhcgkJV0FMRmlsZVBhdGhbTUFY UEdQQVRIICogMl07IC8qIHRoZSBmaWxlIHBhdGgKKwkJCQkJCQkJCQkJCSAqIGluY2x1ZGluZyBh cmNoaXZlICovCisJCS8qCisJCSAqIFRydW5jYXRpb24gaXMgZXNzZW50aWFsbHkgaGFybWxlc3Ms IGJlY2F1c2Ugd2Ugc2tpcCBuYW1lcyBvZgorCQkgKiBsZW5ndGggb3RoZXIgdGhhbiBYTE9HX0ZO QU1FX0xFTi4gIChJbiBwcmluY2lwbGUsIG9uZSBjb3VsZCB1c2UKKwkJICogYSAxMDAwLWNoYXJh Y3RlciBhZGRpdGlvbmFsX2V4dCBhbmQgZ2V0IHRyb3VibGUuKQorCQkgKi8KKwkJc3RybGNweSh3 YWxmaWxlLCB4bGRlLT5kX25hbWUsIE1BWFBHUEFUSCk7CisJCVRyaW1FeHRlbnNpb24od2FsZmls ZSwgYWRkaXRpb25hbF9leHQpOworCisJCS8qCisJCSAqIENoZWNrIGZpbGUgbmFtZS4KKwkJICoK KwkJICogV2Ugc2tpcCBmaWxlcyB3aGljaCBhcmUgbm90IFdBTCBmaWxlIG9yIHBhcnRpYWwgV0FM IGZpbGUuCisJCSAqLworCQlpZiAoIUlzWExvZ0ZpbGVOYW1lKHdhbGZpbGUpICYmICFJc1BhcnRp YWxYTG9nRmlsZU5hbWUod2FsZmlsZSkpCisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBDaGVj ayBjdXRvZmYgcG9pbnQuCisJCSAqCisJCSAqIFdlIGlnbm9yZSB0aGUgdGltZWxpbmUgcGFydCBv ZiB0aGUgWExPRyBzZWdtZW50IGlkZW50aWZpZXJzIGluCisJCSAqIGRlY2lkaW5nIHdoZXRoZXIg YSBzZWdtZW50IGlzIHN0aWxsIG5lZWRlZC4gIFRoaXMgZW5zdXJlcyB0aGF0CisJCSAqIHdlIHdv bid0IHByZW1hdHVyZWx5IHJlbW92ZSBhIHNlZ21lbnQgZnJvbSBhIHBhcmVudCB0aW1lbGluZS4K KwkJICogV2UgY291bGQgcHJvYmFibHkgYmUgYSBsaXR0bGUgbW9yZSBwcm9hY3RpdmUgYWJvdXQg cmVtb3ZpbmcKKwkJICogc2VnbWVudHMgb2Ygbm9uLXBhcmVudCB0aW1lbGluZXMsIGJ1dCB0aGF0 IHdvdWxkIGJlIGEgd2hvbGUgbG90CisJCSAqIG1vcmUgY29tcGxpY2F0ZWQuCisJCSAqCisJCSAq IFdlIHVzZSB0aGUgYWxwaGFudW1lcmljIHNvcnRpbmcgcHJvcGVydHkgb2YgdGhlIGZpbGVuYW1l cyB0bworCQkgKiBkZWNpZGUgd2hpY2ggb25lcyBhcmUgZWFybGllciB0aGFuIHRoZSBleGNsdXNp dmVDbGVhbnVwRmlsZU5hbWUKKwkJICogZmlsZS4gTm90ZSB0aGF0IHRoaXMgbWVhbnMgZmlsZXMg YXJlIG5vdCByZW1vdmVkIGluIHRoZSBvcmRlcgorCQkgKiB0aGV5IHdlcmUgb3JpZ2luYWxseSB3 cml0dGVuLCBpbiBjYXNlIHRoaXMgd29ycmllcyB5b3UuCisJCSAqLworCQlpZiAoc3RyY21wKHdh bGZpbGUgKyA4LCBleGNsdXNpdmVDbGVhbnVwRmlsZU5hbWUgKyA4KSA+PSAwKQorCQkJY29udGlu dWU7CisKKwkJLyoKKwkJICogVXNlIHRoZSBvcmlnaW5hbCBmaWxlIG5hbWUgYWdhaW4gbm93LCBp bmNsdWRpbmcgYW55CisJCSAqIGV4dGVuc2lvbiB0aGF0IG1pZ2h0IGhhdmUgYmVlbiBjaG9wcGVk IG9mZiBiZWZvcmUgdGVzdGluZworCQkgKiB0aGUgc2VxdWVuY2UuCisJCSAqLworCQlzbnByaW50 ZihXQUxGaWxlUGF0aCwgc2l6ZW9mKFdBTEZpbGVQYXRoKSwgIiVzLyVzIiwKKwkJCQkgYXJjaGl2 ZUxvY2F0aW9uLCB4bGRlLT5kX25hbWUpOworCisJCWlmIChkcnlydW4pCisJCXsKKwkJCS8qCisJ CQkgKiBQcmludHMgdGhlIG5hbWUgb2YgdGhlIGZpbGUgdG8gYmUgcmVtb3ZlZCBhbmQgc2tpcHMg dGhlCisJCQkgKiBhY3R1YWwgcmVtb3ZhbC4gIFRoZSByZWd1bGFyIHByaW50b3V0IGlzIHNvIHRo YXQgdGhlCisJCQkgKiB1c2VyIGNhbiBwaXBlIHRoZSBvdXRwdXQgaW50byBzb21lIG90aGVyIHBy b2dyYW0uCisJCQkgKi8KKwkJCXByaW50ZigiJXNcbiIsIFdBTEZpbGVQYXRoKTsKKwkJCXBnX2xv Z19kZWJ1ZygiZmlsZSBcIiVzXCIgd291bGQgYmUgcmVtb3ZlZCIsIFdBTEZpbGVQYXRoKTsKKwkJ CWNvbnRpbnVlOworCQl9CisKKwkJcGdfbG9nX2RlYnVnKCJyZW1vdmluZyBmaWxlIFwiJXNcIiIs IFdBTEZpbGVQYXRoKTsKKworCQlyYyA9IHVubGluayhXQUxGaWxlUGF0aCk7CisJCWlmIChyYyAh PSAwKQorCQkJcGdfZmF0YWwoImNvdWxkIG5vdCByZW1vdmUgZmlsZSBcIiVzXCI6ICVtIiwKKwkJ CQkJIFdBTEZpbGVQYXRoKTsKKwl9CisKKwlpZiAoZXJybm8pCisJCXBnX2ZhdGFsKCJjb3VsZCBu b3QgcmVhZCBhcmNoaXZlIGxvY2F0aW9uIFwiJXNcIjogJW0iLAorCQkJCSBhcmNoaXZlTG9jYXRp b24pOworCWlmIChjbG9zZWRpcih4bGRpcikpCisJCXBnX2ZhdGFsKCJjb3VsZCBub3QgY2xvc2Ug YXJjaGl2ZSBsb2NhdGlvbiBcIiVzXCI6ICVtIiwKKwkJCQkgYXJjaGl2ZUxvY2F0aW9uKTsKIH0K IAogLyoKLS0gCjIuMzkuMgoK --=_162b3609f3f4f5775c334415ee3359cd Content-Transfer-Encoding: base64 Content-Type: text/x-diff; name=v11-0003-Allow-pg_archivecleanup-to-remove-backup-history.patch Content-Disposition: attachment; filename=v11-0003-Allow-pg_archivecleanup-to-remove-backup-history.patch; size=8599 RnJvbSA0MjI4ZjQ4OTA5MDE2MWYyZjk2OGY4M2MzMmZkMmUwNWUwMTMxMzZhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBBdHN1c2hpIFRvcmlrb3NoaSA8dG9yaWtvc2hpYUBvc3MubnR0 ZGF0YS5jb20+CkRhdGU6IFdlZCwgMjEgSnVuIDIwMjMgMjI6NTM6NTEgKzA5MDAKU3ViamVjdDog W1BBVENIIHYxMSAzLzNdIEFsbG93IHBnX2FyY2hpdmVjbGVhbnVwIHRvIHJlbW92ZSBiYWNrdXAg aGlzdG9yeQogZmlsZXMKCkJhY2t1cCBoaXN0b3J5IGZpbGVzIGFyZSBqdXN0IGZldyBieXRlcywg YnV0IGl0IGNhbiBiZSBub2lzeSBmb3IgdGhlCmV5ZSB0byBzZWUgYSBsYXJnZSBhY2N1bXVsYXRp b24gb2YgaGlzdG9yeSBmaWxlcyBtaXhlZCB3aXRoIHRoZSBXQUwKc2VnbWVudHMuClRoaXMgcGF0 Y2ggYWRkcyBhIG5ldyBvcHRpb24gdG8gcmVtb3ZlIGZpbGVzIGluY2x1ZGluZyBiYWNrdXAKaGlz dG9yeSBmaWxlcyBvbGRlciBvbGRlc3RrZXB0d2FsZmlsZS4KLS0tCiBkb2Mvc3JjL3NnbWwvcmVm L3BnYXJjaGl2ZWNsZWFudXAuc2dtbCAgICAgICAgfCAxMSArKysKIHNyYy9iaW4vcGdfYXJjaGl2 ZWNsZWFudXAvcGdfYXJjaGl2ZWNsZWFudXAuYyB8IDIxICsrKy0tCiAuLi4vdC8wMTBfcGdfYXJj aGl2ZWNsZWFudXAucGwgICAgICAgICAgICAgICAgfCA3OSArKysrKysrKysrKysrLS0tLS0tCiAz IGZpbGVzIGNoYW5nZWQsIDgxIGluc2VydGlvbnMoKyksIDMwIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RvYy9zcmMvc2dtbC9yZWYvcGdhcmNoaXZlY2xlYW51cC5zZ21sIGIvZG9jL3NyYy9z Z21sL3JlZi9wZ2FyY2hpdmVjbGVhbnVwLnNnbWwKaW5kZXggMDk5OTFjMmZjZC4uMDZjMDQzZjI2 OCAxMDA2NDQKLS0tIGEvZG9jL3NyYy9zZ21sL3JlZi9wZ2FyY2hpdmVjbGVhbnVwLnNnbWwKKysr IGIvZG9jL3NyYy9zZ21sL3JlZi9wZ2FyY2hpdmVjbGVhbnVwLnNnbWwKQEAgLTkzLDYgKzkzLDE3 IEBAIHBnX2FyY2hpdmVjbGVhbnVwOiAgcmVtb3ZpbmcgZmlsZSAiYXJjaGl2ZS8wMDAwMDAwMTAw MDAwMDM3MDAwMDAwMEUiCiAKICAgICA8dmFyaWFibGVsaXN0PgogCisgICAgIDx2YXJsaXN0ZW50 cnk+CisgICAgICA8dGVybT48b3B0aW9uPi1iPC9vcHRpb24+PC90ZXJtPgorICAgICAgPHRlcm0+ PG9wdGlvbj4tLWNsZWFuLWJhY2t1cC1oaXN0b3J5PC9vcHRpb24+PC90ZXJtPgorICAgICAgPGxp c3RpdGVtPgorICAgICAgIDxwYXJhPgorICAgICAgICAgUmVtb3ZlIGJhY2t1cCBoaXN0b3J5IGZp bGVzLgorICAgICAgICAgRm9yIGRldGFpbHMgYWJvdXQgYmFja3VwIGhpc3RvcnkgZmlsZSwgcGxl YXNlIHJlZmVyIHRvIHRoZSA8eHJlZiBsaW5rZW5kPSJiYWNrdXAtYmFzZS1iYWNrdXAiLz4uCisg ICAgICAgPC9wYXJhPgorICAgICAgPC9saXN0aXRlbT4KKyAgICAgPC92YXJsaXN0ZW50cnk+CisK ICAgICAgPHZhcmxpc3RlbnRyeT4KICAgICAgIDx0ZXJtPjxvcHRpb24+LWQ8L29wdGlvbj48L3Rl cm0+CiAgICAgICA8dGVybT48b3B0aW9uPi0tZGVidWc8L29wdGlvbj48L3Rlcm0+CmRpZmYgLS1n aXQgYS9zcmMvYmluL3BnX2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMgYi9zcmMv YmluL3BnX2FyY2hpdmVjbGVhbnVwL3BnX2FyY2hpdmVjbGVhbnVwLmMKaW5kZXggOTgyZmUwMGYy MC4uMWVkMDg1MThjYSAxMDA2NDQKLS0tIGEvc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC9wZ19h cmNoaXZlY2xlYW51cC5jCisrKyBiL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvcGdfYXJjaGl2 ZWNsZWFudXAuYwpAQCAtMjMsNiArMjMsOCBAQCBjb25zdCBjaGFyICpwcm9nbmFtZTsKIAogLyog T3B0aW9ucyBhbmQgZGVmYXVsdHMgKi8KIGJvb2wJCWRyeXJ1biA9IGZhbHNlOwkJLyogYXJlIHdl IHBlcmZvcm1pbmcgYSBkcnktcnVuIG9wZXJhdGlvbj8gKi8KK2Jvb2wJCWNsZWFuQmFja3VwSGlz dG9yeSA9IGZhbHNlOwkvKiByZW1vdmUgZmlsZXMgaW5jbHVkaW5nCisJCQkJCQkJCQkJCQkgKiBi YWNrdXAgaGlzdG9yeSBmaWxlcyAqLwogY2hhcgkgICAqYWRkaXRpb25hbF9leHQgPSBOVUxMOwkv KiBFeHRlbnNpb24gdG8gcmVtb3ZlIGZyb20gZmlsZW5hbWVzICovCiAKIGNoYXIJICAgKmFyY2hp dmVMb2NhdGlvbjsJLyogd2hlcmUgdG8gZmluZCB0aGUgYXJjaGl2ZT8gKi8KQEAgLTEwMiw5ICsx MDQsMTAgQEAgQ2xlYW51cFByaW9yV0FMRmlsZXModm9pZCkKIAkJY2hhcgkJV0FMRmlsZVBhdGhb TUFYUEdQQVRIICogMl07IC8qIHRoZSBmaWxlIHBhdGgKIAkJCQkJCQkJCQkJCSAqIGluY2x1ZGlu ZyBhcmNoaXZlICovCiAJCS8qCi0JCSAqIFRydW5jYXRpb24gaXMgZXNzZW50aWFsbHkgaGFybWxl c3MsIGJlY2F1c2Ugd2Ugc2tpcCBuYW1lcyBvZgotCQkgKiBsZW5ndGggb3RoZXIgdGhhbiBYTE9H X0ZOQU1FX0xFTi4gIChJbiBwcmluY2lwbGUsIG9uZSBjb3VsZCB1c2UKLQkJICogYSAxMDAwLWNo YXJhY3RlciBhZGRpdGlvbmFsX2V4dCBhbmQgZ2V0IHRyb3VibGUuKQorCQkgKiBUcnVuY2F0aW9u IGlzIGVzc2VudGlhbGx5IGhhcm1sZXNzLCAgYmVjYXVzZSB3ZSBjaGVjayB0aGUgZmlsZQorCQkg KiBmb3JtYXQgaW5jbHVkaW5nIHRoZSBsZW5ndGggaW1tZWRpYXRlbHkgYWZ0ZXIgdGhpcy4KKwkJ ICogKEluIHByaW5jaXBsZSwgb25lIGNvdWxkIHVzZSBhIDEwMDAtY2hhcmFjdGVyIGFkZGl0aW9u YWxfZXh0CisJCSAqIGFuZCBnZXQgdHJvdWJsZS4pCiAJCSAqLwogCQlzdHJsY3B5KHdhbGZpbGUs IHhsZGUtPmRfbmFtZSwgTUFYUEdQQVRIKTsKIAkJVHJpbUV4dGVuc2lvbih3YWxmaWxlLCBhZGRp dGlvbmFsX2V4dCk7CkBAIC0xMTMsOCArMTE2LDExIEBAIENsZWFudXBQcmlvcldBTEZpbGVzKHZv aWQpCiAJCSAqIENoZWNrIGZpbGUgbmFtZS4KIAkJICoKIAkJICogV2Ugc2tpcCBmaWxlcyB3aGlj aCBhcmUgbm90IFdBTCBmaWxlIG9yIHBhcnRpYWwgV0FMIGZpbGUuCisJCSAqIEFsc28gd2Ugc2tp cCBiYWNrdXAgaGlzdG9yeSBmaWxlcyB3aGVuIC0tY2xlYW4tYmFja3VwLWhpc3RvcnkKKwkJICog aXMgbm90IHNwZWNpZmllZC4KIAkJICovCi0JCWlmICghSXNYTG9nRmlsZU5hbWUod2FsZmlsZSkg JiYgIUlzUGFydGlhbFhMb2dGaWxlTmFtZSh3YWxmaWxlKSkKKwkJaWYgKCFJc1hMb2dGaWxlTmFt ZSh3YWxmaWxlKSAmJiAhSXNQYXJ0aWFsWExvZ0ZpbGVOYW1lKHdhbGZpbGUpICYmCisJCQkhKGNs ZWFuQmFja3VwSGlzdG9yeSAmJiBJc0JhY2t1cEhpc3RvcnlGaWxlTmFtZSh3YWxmaWxlKSkpCiAJ CQljb250aW51ZTsKIAogCQkvKgpAQCAtMjU4LDYgKzI2NCw3IEBAIHVzYWdlKHZvaWQpCiAJcHJp bnRmKF8oIlVzYWdlOlxuIikpOwogCXByaW50ZihfKCIgICVzIFtPUFRJT05dLi4uIEFSQ0hJVkVM T0NBVElPTiBPTERFU1RLRVBUV0FMRklMRVxuIiksIHByb2duYW1lKTsKIAlwcmludGYoXygiXG5P cHRpb25zOlxuIikpOworCXByaW50ZihfKCIgIC1iLCAtLWNsZWFuLWJhY2t1cC1oaXN0b3J5ICBj bGVhbiB1cCBmaWxlcyBpbmNsdWRpbmcgYmFja3VwIGhpc3RvcnkgZmlsZXNcbiIpKTsKIAlwcmlu dGYoXygiICAtZCwgLS1kZWJ1ZyAgICAgICAgICAgICAgICAgZ2VuZXJhdGUgZGVidWcgb3V0cHV0 ICh2ZXJib3NlIG1vZGUpXG4iKSk7CiAJcHJpbnRmKF8oIiAgLW4sIC0tZHJ5LXJ1biAgICAgICAg ICAgICAgIGRyeSBydW4sIHNob3cgdGhlIG5hbWVzIG9mIHRoZSBmaWxlcyB0aGF0IHdvdWxkIGJl XG4iCiAJCQkgIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbW92ZWRcbiIpKTsKQEAg LTI4Myw2ICsyOTAsNyBAQCBpbnQKIG1haW4oaW50IGFyZ2MsIGNoYXIgKiphcmd2KQogewogCXN0 YXRpYyBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9uc1tdID0geworCQl7ImNsZWFuLWJhY2t1cC1o aXN0b3J5Iiwgbm9fYXJndW1lbnQsIE5VTEwsICdiJ30sCiAJCXsiZGVidWciLCBub19hcmd1bWVu dCwgTlVMTCwgJ2QnfSwKIAkJeyJkcnktcnVuIiwgbm9fYXJndW1lbnQsIE5VTEwsICduJ30sCiAJ CXsic3RyaXAtZXh0ZW5zaW9uIiwgcmVxdWlyZWRfYXJndW1lbnQsIE5VTEwsICd4J30sCkBAIC0z MDgsMTAgKzMxNiwxMyBAQCBtYWluKGludCBhcmdjLCBjaGFyICoqYXJndikKIAkJfQogCX0KIAot CXdoaWxlICgoYyA9IGdldG9wdF9sb25nKGFyZ2MsIGFyZ3YsICJkbng6IiwgbG9uZ19vcHRpb25z LCBOVUxMKSkgIT0gLTEpCisJd2hpbGUgKChjID0gZ2V0b3B0X2xvbmcoYXJnYywgYXJndiwgImJk bng6IiwgbG9uZ19vcHRpb25zLCBOVUxMKSkgIT0gLTEpCiAJewogCQlzd2l0Y2ggKGMpCiAJCXsK KwkJCWNhc2UgJ2InOiAJCQkvKiBSZW1vdmUgYmFja3VwIGhpc3RvcnkgZmlsZXMgdG9vICovCisJ CQkJY2xlYW5CYWNrdXBIaXN0b3J5ID0gdHJ1ZTsKKwkJCQlicmVhazsKIAkJCWNhc2UgJ2QnOgkJ CS8qIERlYnVnIG1vZGUgKi8KIAkJCQlwZ19sb2dnaW5nX2luY3JlYXNlX3ZlcmJvc2l0eSgpOwog CQkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC90LzAxMF9w Z19hcmNoaXZlY2xlYW51cC5wbCBiL3NyYy9iaW4vcGdfYXJjaGl2ZWNsZWFudXAvdC8wMTBfcGdf YXJjaGl2ZWNsZWFudXAucGwKaW5kZXggY2MzMzg2ZDE0Ni4uMDMwYTgyZTdmYSAxMDA2NDQKLS0t IGEvc3JjL2Jpbi9wZ19hcmNoaXZlY2xlYW51cC90LzAxMF9wZ19hcmNoaXZlY2xlYW51cC5wbAor KysgYi9zcmMvYmluL3BnX2FyY2hpdmVjbGVhbnVwL3QvMDEwX3BnX2FyY2hpdmVjbGVhbnVwLnBs CkBAIC0xMiwxMyArMTIsMjMgQEAgcHJvZ3JhbV9vcHRpb25zX2hhbmRsaW5nX29rKCdwZ19hcmNo aXZlY2xlYW51cCcpOwogCiBteSAkdGVtcGRpciA9IFBvc3RncmVTUUw6OlRlc3Q6OlV0aWxzOjp0 ZW1wZGlyOwogCi1teSBAd2FsZmlsZXMgPSAoCi0JJzAwMDAwMDAxMDAwMDAwMzcwMDAwMDAwQy5n eicsICcwMDAwMDAwMTAwMDAwMDM3MDAwMDAwMEQnLAotCScwMDAwMDAwMTAwMDAwMDM3MDAwMDAw MEUnLCAnMDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBGLnBhcnRpYWwnLCk7CitteSBAd2FsZmlsZXNf d2l0aF9neiA9ICgKKwl7IG5hbWUgPT4gJzAwMDAwMDAxMDAwMDAwMzcwMDAwMDAwQy5neicsICAg ICAgcHJlc2VudCA9PiAwIH0sCisJeyBuYW1lID0+ICcwMDAwMDAwMTAwMDAwMDM3MDAwMDAwMEQn LCAgICAgICAgIHByZXNlbnQgPT4gMCB9LAorCXsgbmFtZSA9PiAnMDAwMDAwMDEwMDAwMDAzNzAw MDAwMDBFJywgICAgICAgICBwcmVzZW50ID0+IDEgfSwKKwl7IG5hbWUgPT4gJzAwMDAwMDAxMDAw MDAwMzcwMDAwMDAwRi5wYXJ0aWFsJywgcHJlc2VudCA9PiAxIH0sCisJeyBuYW1lID0+ICd1bnJl bGF0ZWRfZmlsZScsICAgICAgICAgICAgICAgICAgIHByZXNlbnQgPT4gMSB9KTsKKworbXkgQHdh bGZpbGVzX3dpdGhfYmFja3VwID0gKAorCXsgbmFtZSA9PiAnMDAwMDAwMDEwMDAwMDAzNzAwMDAw MDBEJywgICAgICAgICAgICAgICAgIHByZXNlbnQgPT4gMCB9LAorCXsgbmFtZSA9PiAnMDAwMDAw MDEwMDAwMDAzNzAwMDAwMDBELjAwMDAwMDI4LmJhY2t1cCcsIHByZXNlbnQgPT4gMCB9LAorCXsg bmFtZSA9PiAnMDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBFJywgICAgICAgICAgICAgICAgIHByZXNl bnQgPT4gMSB9LAorCXsgbmFtZSA9PiAnMDAwMDAwMDEwMDAwMDAzNzAwMDAwMDBGLnBhcnRpYWwn LCAgICAgICAgIHByZXNlbnQgPT4gMSB9LAorCXsgbmFtZSA9PiAndW5yZWxhdGVkX2ZpbGUnLCAg ICAgICAgICAgICAgICAgICAgICAgICAgIHByZXNlbnQgPT4gMSB9KTsKIAogc3ViIGNyZWF0ZV9m aWxlcwogewotCWZvcmVhY2ggbXkgJGZuIChAd2FsZmlsZXMsICd1bnJlbGF0ZWRfZmlsZScpCisJ Zm9yZWFjaCBteSAkZm4gKEBfKQogCXsKIAkJb3BlbiBteSAkZmlsZSwgJz4nLCAiJHRlbXBkaXIv JGZuIjsKIAkJcHJpbnQgJGZpbGUgJ0NPTlRFTlQnOwpAQCAtMjcsNyArMzcsMTggQEAgc3ViIGNy ZWF0ZV9maWxlcwogCXJldHVybjsKIH0KIAotY3JlYXRlX2ZpbGVzKCk7CitzdWIgZ2V0X3dhbGZp bGVzCit7CisJbXkgQHdhbGZpbGVzOworCisJZm9yIG15ICR3YWxwYWlyIChAXykKKwl7CisJCXB1 c2ggQHdhbGZpbGVzLCAkd2FscGFpci0+e25hbWV9OworCX0KKwlyZXR1cm4gQHdhbGZpbGVzOwor fQorCitjcmVhdGVfZmlsZXMoZ2V0X3dhbGZpbGVzKEB3YWxmaWxlc193aXRoX2d6KSk7CiAKIGNv bW1hbmRfZmFpbHNfbGlrZSgKIAlbJ3BnX2FyY2hpdmVjbGVhbnVwJ10sCkBAIC01OSwxNCArODAs MTQgQEAgY29tbWFuZF9mYWlsc19saWtlKAogCW15ICRzdGRlcnI7CiAJbXkgJHJlc3VsdCA9CiAJ ICBJUEM6OlJ1bjo6cnVuIFsgJ3BnX2FyY2hpdmVjbGVhbnVwJywgJy1kJywgJy1uJywgJHRlbXBk aXIsCi0JCSR3YWxmaWxlc1syXSBdLAorCQkkd2FsZmlsZXNfd2l0aF9nelsyXS0+e25hbWV9IF0s CiAJICAnMj4nLCBcJHN0ZGVycjsKIAlvaygkcmVzdWx0LCAicGdfYXJjaGl2ZWNsZWFudXAgZHJ5 IHJ1bjogZXhpdCBjb2RlIDAiKTsKIAlsaWtlKAogCQkkc3RkZXJyLAotCQlxci8kd2FsZmlsZXNb MV0uKndvdWxkIGJlIHJlbW92ZWQvLAorCQlxci8kd2FsZmlsZXNfd2l0aF9nelsxXS0+e25hbWV9 Lip3b3VsZCBiZSByZW1vdmVkLywKIAkJInBnX2FyY2hpdmVjbGVhbnVwIGRyeSBydW46IG1hdGNo ZXMiKTsKLQlmb3JlYWNoIG15ICRmbiAoQHdhbGZpbGVzKQorCWZvcmVhY2ggbXkgJGZuIChnZXRf d2FsZmlsZXMoQHdhbGZpbGVzX3dpdGhfZ3opKQogCXsKIAkJb2soLWYgIiR0ZW1wZGlyLyRmbiIs ICIkZm4gbm90IHJlbW92ZWQiKTsKIAl9CkBAIC03NiwzMiArOTcsNDAgQEAgc3ViIHJ1bl9jaGVj awogewogCWxvY2FsICRUZXN0OjpCdWlsZGVyOjpMZXZlbCA9ICRUZXN0OjpCdWlsZGVyOjpMZXZl bCArIDE7CiAKLQlteSAoJHN1ZmZpeCwgJHRlc3RfbmFtZSkgPSBAXzsKKwlteSAoJHRlc3RkYXRh LCAkb2xkZXN0a2VwdHdhbGZpbGUsICR0ZXN0X25hbWUsIEBvcHRpb25zKSA9IEBfOwogCi0JY3Jl YXRlX2ZpbGVzKCk7CisJY3JlYXRlX2ZpbGVzKGdldF93YWxmaWxlcyhAJHRlc3RkYXRhKSk7CiAK IAljb21tYW5kX29rKAogCQlbCi0JCQkncGdfYXJjaGl2ZWNsZWFudXAnLCAnLXgnLCAnLmd6Jywg JHRlbXBkaXIsCi0JCQkkd2FsZmlsZXNbMl0gLiAkc3VmZml4CisJCQkncGdfYXJjaGl2ZWNsZWFu dXAnLCBAb3B0aW9ucywgJHRlbXBkaXIsCisJCQkkb2xkZXN0a2VwdHdhbGZpbGUKIAkJXSwKIAkJ IiR0ZXN0X25hbWU6IHJ1bnMiKTsKIAotCW9rKCEtZiAiJHRlbXBkaXIvJHdhbGZpbGVzWzBdIiwK LQkJIiR0ZXN0X25hbWU6IGZpcnN0IG9sZGVyIFdBTCBmaWxlIHdhcyBjbGVhbmVkIHVwIik7Ci0J b2soIS1mICIkdGVtcGRpci8kd2FsZmlsZXNbMV0iLAotCQkiJHRlc3RfbmFtZTogc2Vjb25kIG9s ZGVyIFdBTCBmaWxlIHdhcyBjbGVhbmVkIHVwIik7Ci0Jb2soLWYgIiR0ZW1wZGlyLyR3YWxmaWxl c1syXSIsCi0JCSIkdGVzdF9uYW1lOiByZXN0YXJ0ZmlsZSB3YXMgbm90IGNsZWFuZWQgdXAiKTsK LQlvaygtZiAiJHRlbXBkaXIvJHdhbGZpbGVzWzNdIiwKLQkJIiR0ZXN0X25hbWU6IG5ld2VyIFdB TCBmaWxlIHdhcyBub3QgY2xlYW5lZCB1cCIpOwotCW9rKC1mICIkdGVtcGRpci91bnJlbGF0ZWRf ZmlsZSIsCi0JCSIkdGVzdF9uYW1lOiB1bnJlbGF0ZWQgZmlsZSB3YXMgbm90IGNsZWFuZWQgdXAi KTsKKwlmb3IgbXkgJHdhbHBhaXIgKEAkdGVzdGRhdGEpCisJeworCQlpZiAoJHdhbHBhaXItPntw cmVzZW50fSkKKwkJeworCQkJb2soLWYgIiR0ZW1wZGlyLyR3YWxwYWlyLT57bmFtZX0iLAorCQkJ CSIkdGVzdF9uYW1lOiR3YWxwYWlyLT57bmFtZX0gd2FzIG5vdCBjbGVhbmVkIHVwIik7CisJCX0K KwkJZWxzZQorCQl7CisJCQlvayghLWYgIiR0ZW1wZGlyLyR3YWxwYWlyLT57bmFtZX0iLAorCQkJ CSIkdGVzdF9uYW1lOiR3YWxwYWlyLT57bmFtZX0gd2FzIGNsZWFuZWQgdXAiKTsKKwkJfQorCX0K IAlyZXR1cm47CiB9CiAKLXJ1bl9jaGVjaygnJywgJ3BnX2FyY2hpdmVjbGVhbnVwJyk7Ci1ydW5f Y2hlY2soJy5wYXJ0aWFsJywgJ3BnX2FyY2hpdmVjbGVhbnVwIHdpdGggLnBhcnRpYWwgZmlsZScp OwotcnVuX2NoZWNrKCcuMDAwMDAwMjAuYmFja3VwJywgJ3BnX2FyY2hpdmVjbGVhbnVwIHdpdGgg LmJhY2t1cCBmaWxlJyk7CitydW5fY2hlY2soXEB3YWxmaWxlc193aXRoX2d6LCAnMDAwMDAwMDEw MDAwMDAzNzAwMDAwMDBFJywKKwkncGdfYXJjaGl2ZWNsZWFudXAnLCAnLXguZ3onKTsKK3J1bl9j aGVjayhcQHdhbGZpbGVzX3dpdGhfZ3osICcwMDAwMDAwMTAwMDAwMDM3MDAwMDAwMEUucGFydGlh bCcsCisJJ3BnX2FyY2hpdmVjbGVhbnVwIHdpdGggLnBhcnRpYWwgZmlsZScsICcteC5neicpOwor cnVuX2NoZWNrKFxAd2FsZmlsZXNfd2l0aF9neiwgJzAwMDAwMDAxMDAwMDAwMzcwMDAwMDAwRS4w MDAwMDAyMC5iYWNrdXAnLAorCSdwZ19hcmNoaXZlY2xlYW51cCB3aXRoIC5iYWNrdXAgZmlsZScs ICcteC5neicpOworcnVuX2NoZWNrKFxAd2FsZmlsZXNfd2l0aF9iYWNrdXAsICcwMDAwMDAwMTAw MDAwMDM3MDAwMDAwMEUnLAorCSdwZ19hcmNoaXZlY2xlYW51cCB3aXRoIC0tY2xlYW4tYmFja3Vw LWhpc3RvcnknLCAnLWInKTsKIAogZG9uZV90ZXN0aW5nKCk7Ci0tIAoyLjM5LjIKCg== --=_162b3609f3f4f5775c334415ee3359cd--