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 1mxELJ-00011j-Pf for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Dec 2021 20:24:10 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mxELH-00085F-Kk for pgsql-hackers@arkaria.postgresql.org; Tue, 14 Dec 2021 20:24:07 +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 1mxELG-00080I-NC for pgsql-hackers@lists.postgresql.org; Tue, 14 Dec 2021 20:24:07 +0000 Received: from smtp-fw-80007.amazon.com ([99.78.197.218]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mxEL9-0001x3-Kf for pgsql-hackers@postgresql.org; Tue, 14 Dec 2021 20:24:05 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amazon.com; i=@amazon.com; q=dns/txt; s=amazon201209; t=1639513439; x=1671049439; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=p9uLH67WkrqVPC+hfkvBHz5VcQAs6KHi+hs1J+RJb+Y=; b=lO4IGBfP7BVqjteoqARIjGWzz7Kp7ifGeflssBQwvyOvwDvyGfxML15H e02kQNFQu7ZsJBNQAizHpiuWwQkMZaHpZp/8DuDJVH4IibeZS7EL405CS 9bwf3ZK1cHGnEJKf68l1Sen28yI0kJbxQsyrBYE1xRPFHGRy+bGxUfAnI E=; X-Amazon-filename: v2-0001-Introduce-custodian.patch, v2-0008-Move-removal-of-spilled-logical-slot-data-to-cust.patch, v2-0007-Use-syncfs-in-CheckPointLogicalRewriteHeap-for-sh.patch, v2-0006-Move-removal-of-old-logical-rewrite-mapping-files.patch, v2-0005-Move-removal-of-old-serialized-snapshots-to-custo.patch, v2-0004-Move-pgsql_tmp-file-removal-to-custodian-process.patch, v2-0003-Split-pgsql_tmp-cleanup-into-two-stages.patch, v2-0002-Also-remove-pgsql_tmp-directories-during-startup.patch X-IronPort-AV: E=Sophos;i="5.88,206,1635206400"; d="scan'208,223";a="48468794" Received: from pdx4-co-svc-p1-lb2-vlan2.amazon.com (HELO email-inbound-relay-pdx-2c-5c4a15b1.us-west-2.amazon.com) ([10.25.36.210]) by smtp-border-fw-80007.pdx80.corp.amazon.com with ESMTP; 14 Dec 2021 20:23:58 +0000 Received: from EX13MTAUWB001.ant.amazon.com (pdx1-ws-svc-p6-lb9-vlan3.pdx.amazon.com [10.236.137.198]) by email-inbound-relay-pdx-2c-5c4a15b1.us-west-2.amazon.com (Postfix) with ESMTPS id F242942718; Tue, 14 Dec 2021 20:23:57 +0000 (UTC) Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13MTAUWB001.ant.amazon.com (10.43.161.249) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Tue, 14 Dec 2021 20:23:57 +0000 Received: from EX13D03UWC004.ant.amazon.com (10.43.162.49) by EX13D03UWC004.ant.amazon.com (10.43.162.49) with Microsoft SMTP Server (TLS) id 15.0.1497.26; Tue, 14 Dec 2021 20:23:57 +0000 Received: from EX13D03UWC004.ant.amazon.com ([10.43.162.49]) by EX13D03UWC004.ant.amazon.com ([10.43.162.49]) with mapi id 15.00.1497.026; Tue, 14 Dec 2021 20:23:57 +0000 From: "Bossart, Nathan" To: Bruce Momjian CC: Robert Haas , Bharath Rupireddy , "pgsql-hackers@postgresql.org" Subject: Re: O(n) tasks cause lengthy startups and checkpoints Thread-Topic: O(n) tasks cause lengthy startups and checkpoints Thread-Index: AQHX8ScUdobVSJNuXEOId/gI0+YBAqwx6J8A Date: Tue, 14 Dec 2021 20:23:57 +0000 Message-ID: References: <5E58EBB2-3DAE-4400-9EBE-60D1FE4C5B10@amazon.com> <8ACCEA4C-BA36-494B-92B4-EF14DAF1BC3B@amazon.com> <2B230EF6-7509-479C-8C5A-34B56A1B4063@amazon.com> <6DFA78EC-EF4D-4CB0-82C8-AD5DA1B8E0AC@amazon.com> <32B93472-B51D-491A-B7AF-45DD8927D981@amazon.com> <2ED889A4-8EE8-4C94-9158-38F80B661071@amazon.com> <20211214165950.GB30945@momjian.us> <803C7D41-64FD-4079-B85C-FE1E3076555C@amazon.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: yes X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.43.161.102] Content-Type: multipart/mixed; boundary="_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_" MIME-Version: 1.0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_ Content-Type: text/plain; charset="utf-8" Content-ID: <6D9A6B9F559C8441BF0A006B7409097C@amazon.com> Content-Transfer-Encoding: base64 T24gMTIvMTMvMjEsIDEwOjIxIEFNLCAiQm9zc2FydCwgTmF0aGFuIiA8Ym9zc2FydG5AYW1hem9u LmNvbT4gd3JvdGU6DQo+IFRoYW5rcyBmb3IgY2hpbWluZyBpbi4gIEkgaGF2ZSBhbiBhbG1vc3Qt Y29tcGxldGUgcGF0Y2ggc2V0IHRoYXQgSSdtDQo+IGhvcGluZyB0byBwb3N0IHRvIHRoZSBsaXN0 cyBpbiB0aGUgbmV4dCBjb3VwbGUgb2YgZGF5cy4NCg0KQXMgcHJvbWlzZWQsIGhlcmUgaXMgdjIu ICBUaGlzIHBhdGNoIHNldCBpbmNsdWRlcyBoYW5kbGluZyBmb3IgYWxsDQpmb3VyIHRhc2tzIG5v dGVkIHVwdGhyZWFkLiAgSSdkIHN0aWxsIGNvbnNpZGVyIHRoaXMgYSB3b3JrLWluLQ0KcHJvZ3Jl c3MsIGFzIEkndmUgZG9uZSBtaW5pbWFsIHRlc3RpbmcuICBBdCB0aGUgdmVyeSBsZWFzdCwgaXQg c2hvdWxkDQpkZW1vbnN0cmF0ZSB3aGF0IGFuIGF1eGlsaWFyeSBwcm9jZXNzIGFwcHJvYWNoIG1p Z2h0IGxvb2sgbGlrZS4NCg0KTmF0aGFuDQoNCg== --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_ Content-Type: application/octet-stream; name="v2-0001-Introduce-custodian.patch" Content-Description: v2-0001-Introduce-custodian.patch Content-Disposition: attachment; filename="v2-0001-Introduce-custodian.patch"; size=19022; creation-date="Tue, 14 Dec 2021 20:23:57 GMT"; modification-date="Tue, 14 Dec 2021 20:23:57 GMT" Content-ID: <83D484C3E8DC9641BF3E8E36F9C428A3@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA1YjgxMzNkMjcwN2Q5ZGE4NDNhYzNiYjA1NjFiOTUzNWVkNDA2NzVhIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDE1OjA3OjI4IC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MiAx LzhdIEludHJvZHVjZSBjdXN0b2RpYW4uCgpUaGUgY3VzdG9kaWFuIHByb2Nlc3MgaXMgYSBuZXcg YXV4aWxpYXJ5IHByb2Nlc3MgdGhhdCBpcyBpbnRlbmRlZAp0byBoZWxwIG9mZmxvYWQgdGFza3Mg Y291bGQgb3RoZXJ3aXNlIGRlbGF5IHN0YXJ0dXAgYW5kCmNoZWNrcG9pbnRpbmcuICBUaGlzIGNv bW1pdCBzaW1wbHkgYWRkcyB0aGUgbmV3IHByb2Nlc3M7IGl0IGRvZXMKbm90IHlldCBkbyBhbnl0 aGluZyB1c2VmdWwuCi0tLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9NYWtlZmlsZSAgICAgICAg IHwgICAxICsKIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV4cHJvY2Vzcy5jICAgICB8ICAgOCAr Kwogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2RpYW4uYyAgICAgIHwgMjEwICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0 ZXIuYyAgICAgfCAgNDQgKysrKysrLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3Byb2MuYyAg ICAgICAgIHwgICAxICsKIHNyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyB8 ICAgMyArCiBzcmMvYmFja2VuZC91dGlscy9pbml0L21pc2Npbml0LmMgICAgICAgfCAgIDMgKwog c3JjL2luY2x1ZGUvbWlzY2FkbWluLmggICAgICAgICAgICAgICAgIHwgICAzICsKIHNyYy9pbmNs dWRlL3Bvc3RtYXN0ZXIvY3VzdG9kaWFuLmggICAgICB8ICAxNyArKysKIHNyYy9pbmNsdWRlL3N0 b3JhZ2UvcHJvYy5oICAgICAgICAgICAgICB8ICAxMSArLQogc3JjL2luY2x1ZGUvdXRpbHMvd2Fp dF9ldmVudC5oICAgICAgICAgIHwgICAxICsKIDExIGZpbGVzIGNoYW5nZWQsIDI5NyBpbnNlcnRp b25zKCspLCA1IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvY3VzdG9kaWFuLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmMvaW5jbHVkZS9wb3N0 bWFzdGVyL2N1c3RvZGlhbi5oCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9N YWtlZmlsZSBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvTWFrZWZpbGUKaW5kZXggNzg3YzZhMmMz Yi4uN2VjN2IyMzQ2NyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9NYWtlZmls ZQorKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL01ha2VmaWxlCkBAIC0xOCw2ICsxOCw3IEBA IE9CSlMgPSBcCiAJYmd3b3JrZXIubyBcCiAJYmd3cml0ZXIubyBcCiAJY2hlY2twb2ludGVyLm8g XAorCWN1c3RvZGlhbi5vIFwKIAlmb3JrX3Byb2Nlc3MubyBcCiAJaW50ZXJydXB0Lm8gXAogCXBn YXJjaC5vIFwKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvYXV4cHJvY2Vzcy5j IGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXhwcm9jZXNzLmMKaW5kZXggNDM0OTc2NzZhYi4u MTA2MjZlNzAyOSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXhwcm9jZXNz LmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9hdXhwcm9jZXNzLmMKQEAgLTIwLDYgKzIw LDcgQEAKICNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2F1eHByb2Nl c3MuaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL2Jnd3JpdGVyLmgiCisjaW5jbHVkZSAicG9zdG1h c3Rlci9jdXN0b2RpYW4uaCIKICNpbmNsdWRlICJwb3N0bWFzdGVyL3N0YXJ0dXAuaCIKICNpbmNs dWRlICJwb3N0bWFzdGVyL3dhbHdyaXRlci5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL3dhbHJl Y2VpdmVyLmgiCkBAIC03NCw2ICs3NSw5IEBAIEF1eGlsaWFyeVByb2Nlc3NNYWluKEF1eFByb2NU eXBlIGF1eHR5cGUpCiAJCWNhc2UgQ2hlY2twb2ludGVyUHJvY2VzczoKIAkJCU15QmFja2VuZFR5 cGUgPSBCX0NIRUNLUE9JTlRFUjsKIAkJCWJyZWFrOworCQljYXNlIEN1c3RvZGlhblByb2Nlc3M6 CisJCQlNeUJhY2tlbmRUeXBlID0gQl9DVVNUT0RJQU47CisJCQlicmVhazsKIAkJY2FzZSBXYWxX cml0ZXJQcm9jZXNzOgogCQkJTXlCYWNrZW5kVHlwZSA9IEJfV0FMX1dSSVRFUjsKIAkJCWJyZWFr OwpAQCAtMTUzLDYgKzE1NywxMCBAQCBBdXhpbGlhcnlQcm9jZXNzTWFpbihBdXhQcm9jVHlwZSBh dXh0eXBlKQogCQkJQ2hlY2twb2ludGVyTWFpbigpOwogCQkJcHJvY19leGl0KDEpOwogCisJCWNh c2UgQ3VzdG9kaWFuUHJvY2VzczoKKwkJCUN1c3RvZGlhbk1haW4oKTsKKwkJCXByb2NfZXhpdCgx KTsKKwogCQljYXNlIFdhbFdyaXRlclByb2Nlc3M6CiAJCQlXYWxXcml0ZXJNYWluKCk7CiAJCQlw cm9jX2V4aXQoMSk7CmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2N1c3RvZGlh bi5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2RpYW4uYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwLi4wYmE1OTk0OWJiCi0tLSAvZGV2L251bGwKKysrIGIvc3Jj L2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2RpYW4uYwpAQCAtMCwwICsxLDIxMCBAQAorLyotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgKgorICogY3VzdG9kaWFuLmMKKyAqCisgKiBUaGUgY3VzdG9kaWFuIHBy b2Nlc3MgaXMgbmV3IGFzIG9mIFBvc3RncmVzIDE1LiAgSXQncyBtYWluIHB1cnBvc2UgaXMgdG8K KyAqIG9mZmxvYWQgdGFza3MgdGhhdCBjb3VsZCBvdGhlcndpc2UgZGVsYXkgc3RhcnR1cCBhbmQg Y2hlY2twb2ludGluZywgYnV0CisgKiBpdCBuZWVkbid0IGJlIHJlc3RyaWN0ZWQgdG8ganVzdCB0 aG9zZSB0aGluZ3MuICBPZmZsb2FkZWQgdGFza3Mgc2hvdWxkCisgKiBub3QgYmUgc3luY2hyb25v dXMgKGUuZy4sIGNoZWNrcG9pbnRpbmcgc2hvdWxkbid0IG5lZWQgdG8gd2FpdCBmb3IgdGhlCisg KiBjdXN0b2RpYW4gdG8gY29tcGxldGUgYSB0YXNrIGJlZm9yZSBwcm9jZWVkaW5nKS4gIEFsc28s IGVuc3VyZSB0aGF0IGFueQorICogb2ZmbG9hZGVkIHRhc2tzIGFyZSBlaXRoZXIgbm90IHJlcXVp cmVkIGR1cmluZyBzaW5nbGUtdXNlciBtb2RlIG9yIGFyZQorICogcGVyZm9ybWVkIHNlcGFyYXRl bHkgZHVyaW5nIHNpbmdsZS11c2VyIG1vZGUuCisgKgorICogVGhlIGN1c3RvZGlhbiBpcyBub3Qg YW4gZXNzZW50aWFsIHByb2Nlc3MgYW5kIGNhbiBzaHV0ZG93biBxdWlja2x5IHdoZW4KKyAqIHJl cXVlc3RlZC4gIFRoZSBjdXN0b2RpYW4gd2lsbCB3YWtlIHVwIGFwcHJveGltYXRlbHkgb25jZSBl dmVyeSA1CisgKiBtaW51dGVzIHRvIHBlcmZvcm0gaXRzIHRhc2tzLCBidXQgYmFja2VuZHMgY2Fu IChhbmQgc2hvdWxkKSBzZXQgaXRzCisgKiBsYXRjaCB0byB3YWtlIGl0IHVwIHNvb25lci4KKyAq CisgKiBOb3JtYWwgdGVybWluYXRpb24gaXMgYnkgU0lHVEVSTSwgd2hpY2ggaW5zdHJ1Y3RzIHRo ZSBiZ3dyaXRlciB0bworICogZXhpdCgwKS4gIEVtZXJnZW5jeSB0ZXJtaW5hdGlvbiBpcyBieSBT SUdRVUlUOyBsaWtlIGFueSBiYWNrZW5kLCB0aGUKKyAqIGN1c3RvZGlhbiB3aWxsIHNpbXBseSBh Ym9ydCBhbmQgZXhpdCBvbiBTSUdRVUlULgorICoKKyAqIElmIHRoZSBjdXN0b2RpYW4gZXhpdHMg dW5leHBlY3RlZGx5LCB0aGUgcG9zdG1hc3RlciB0cmVhdHMgdGhhdCB0aGUgc2FtZQorICogYXMg YSBiYWNrZW5kIGNyYXNoOiBzaGFyZWQgbWVtb3J5IG1heSBiZSBjb3JydXB0ZWQsIHNvIHJlbWFp bmluZworICogYmFja2VuZHMgc2hvdWxkIGJlIGtpbGxlZCBieSBTSUdRVUlUIGFuZCB0aGVuIGEg cmVjb3ZlcnkgY3ljbGUgc3RhcnRlZC4KKyAqCisgKgorICogQ29weXJpZ2h0IChjKSAyMDIxLCBQ b3N0Z3JlU1FMIEdsb2JhbCBEZXZlbG9wbWVudCBHcm91cAorICoKKyAqCisgKiBJREVOVElGSUNB VElPTgorICogICBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL2N1c3RvZGlhbi5jCisgKgorICotLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tCisgKi8KKyNpbmNsdWRlICJwb3N0Z3Jlcy5oIgorCisjaW5jbHVkZSAibGli cHEvcHFzaWduYWwuaCIKKyNpbmNsdWRlICJwZ3N0YXQuaCIKKyNpbmNsdWRlICJwb3N0bWFzdGVy L2N1c3RvZGlhbi5oIgorI2luY2x1ZGUgInBvc3RtYXN0ZXIvaW50ZXJydXB0LmgiCisjaW5jbHVk ZSAic3RvcmFnZS9idWZtZ3IuaCIKKyNpbmNsdWRlICJzdG9yYWdlL2NvbmRpdGlvbl92YXJpYWJs ZS5oIgorI2luY2x1ZGUgInN0b3JhZ2UvcHJvYy5oIgorI2luY2x1ZGUgInN0b3JhZ2UvcHJvY3Np Z25hbC5oIgorI2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCisKKyNkZWZpbmUgQ1VTVE9ESUFO X1RJTUVPVVRfUyAoMzAwKQkJLyogNSBtaW51dGVzICovCisKKy8qCisgKiBNYWluIGVudHJ5IHBv aW50IGZvciBjdXN0b2RpYW4gcHJvY2VzcworICoKKyAqIFRoaXMgaXMgaW52b2tlZCBmcm9tIEF1 eGlsaWFyeVByb2Nlc3NNYWluLCB3aGljaCBoYXMgYWxyZWFkeSBjcmVhdGVkIHRoZQorICogYmFz aWMgZXhlY3V0aW9uIGVudmlyb25tZW50LCBidXQgbm90IGVuYWJsZWQgc2lnbmFscyB5ZXQuCisg Ki8KK3ZvaWQKK0N1c3RvZGlhbk1haW4odm9pZCkKK3sKKwlzaWdqbXBfYnVmCWxvY2FsX3NpZ2pt cF9idWY7CisJTWVtb3J5Q29udGV4dCBjdXN0b2RpYW5fY29udGV4dDsKKworCS8qCisJICogUHJv cGVybHkgYWNjZXB0IG9yIGlnbm9yZSBzaWduYWxzIHRoYXQgbWlnaHQgYmUgc2VudCB0byB1cy4K KwkgKi8KKwlwcXNpZ25hbChTSUdIVVAsIFNpZ25hbEhhbmRsZXJGb3JDb25maWdSZWxvYWQpOwor CXBxc2lnbmFsKFNJR0lOVCwgU2lnbmFsSGFuZGxlckZvclNodXRkb3duUmVxdWVzdCk7CisJcHFz aWduYWwoU0lHVEVSTSwgU2lnbmFsSGFuZGxlckZvclNodXRkb3duUmVxdWVzdCk7CisJLyogU0lH UVVJVCBoYW5kbGVyIHdhcyBhbHJlYWR5IHNldCB1cCBieSBJbml0UG9zdG1hc3RlckNoaWxkICov CisJcHFzaWduYWwoU0lHQUxSTSwgU0lHX0lHTik7CisJcHFzaWduYWwoU0lHUElQRSwgU0lHX0lH Tik7CisJcHFzaWduYWwoU0lHVVNSMSwgcHJvY3NpZ25hbF9zaWd1c3IxX2hhbmRsZXIpOworCXBx c2lnbmFsKFNJR1VTUjIsIFNJR19JR04pOworCisJLyoKKwkgKiBSZXNldCBzb21lIHNpZ25hbHMg dGhhdCBhcmUgYWNjZXB0ZWQgYnkgcG9zdG1hc3RlciBidXQgbm90IGhlcmUKKwkgKi8KKwlwcXNp Z25hbChTSUdDSExELCBTSUdfREZMKTsKKworCS8qCisJICogQ3JlYXRlIGEgbWVtb3J5IGNvbnRl eHQgdGhhdCB3ZSB3aWxsIGRvIGFsbCBvdXIgd29yayBpbi4gIFdlIGRvIHRoaXMgc28KKwkgKiB0 aGF0IHdlIGNhbiByZXNldCB0aGUgY29udGV4dCBkdXJpbmcgZXJyb3IgcmVjb3ZlcnkgYW5kIHRo ZXJlYnkgYXZvaWQKKwkgKiBwb3NzaWJsZSBtZW1vcnkgbGVha3MuCisJICovCisJY3VzdG9kaWFu X2NvbnRleHQgPSBBbGxvY1NldENvbnRleHRDcmVhdGUoVG9wTWVtb3J5Q29udGV4dCwKKwkJCQkJ CQkJCQkJICAiQ3VzdG9kaWFuIiwKKwkJCQkJCQkJCQkJICBBTExPQ1NFVF9ERUZBVUxUX1NJWkVT KTsKKwlNZW1vcnlDb250ZXh0U3dpdGNoVG8oY3VzdG9kaWFuX2NvbnRleHQpOworCisJLyoKKwkg KiBJZiBhbiBleGNlcHRpb24gaXMgZW5jb3VudGVyZWQsIHByb2Nlc3NpbmcgcmVzdW1lcyBoZXJl LgorCSAqCisJICogWW91IG1pZ2h0IHdvbmRlciB3aHkgdGhpcyBpc24ndCBjb2RlZCBhcyBhbiBp bmZpbml0ZSBsb29wIGFyb3VuZCBhCisJICogUEdfVFJZIGNvbnN0cnVjdC4gIFRoZSByZWFzb24g aXMgdGhhdCB0aGlzIGlzIHRoZSBib3R0b20gb2YgdGhlCisJICogZXhjZXB0aW9uIHN0YWNrLCBh bmQgc28gd2l0aCBQR19UUlkgdGhlcmUgd291bGQgYmUgbm8gZXhjZXB0aW9uIGhhbmRsZXIKKwkg KiBpbiBmb3JjZSBhdCBhbGwgZHVyaW5nIHRoZSBDQVRDSCBwYXJ0LiAgQnkgbGVhdmluZyB0aGUg b3V0ZXJtb3N0IHNldGptcAorCSAqIGFsd2F5cyBhY3RpdmUsIHdlIGhhdmUgYXQgbGVhc3Qgc29t ZSBjaGFuY2Ugb2YgcmVjb3ZlcmluZyBmcm9tIGFuIGVycm9yCisJICogZHVyaW5nIGVycm9yIHJl Y292ZXJ5LiAgKElmIHdlIGdldCBpbnRvIGFuIGluZmluaXRlIGxvb3AgdGhlcmVieSwgaXQKKwkg KiB3aWxsIHNvb24gYmUgc3RvcHBlZCBieSBvdmVyZmxvdyBvZiBlbG9nLmMncyBpbnRlcm5hbCBz dGF0ZSBzdGFjay4pCisJICoKKwkgKiBOb3RlIHRoYXQgd2UgdXNlIHNpZ3NldGptcCguLi4sIDEp LCBzbyB0aGF0IHRoZSBwcmV2YWlsaW5nIHNpZ25hbCBtYXNrCisJICogKHRvIHdpdCwgQmxvY2tT aWcpIHdpbGwgYmUgcmVzdG9yZWQgd2hlbiBsb25nam1wJ2luZyB0byBoZXJlLiAgVGh1cywKKwkg KiBzaWduYWxzIG90aGVyIHRoYW4gU0lHUVVJVCB3aWxsIGJlIGJsb2NrZWQgdW50aWwgd2UgY29t cGxldGUgZXJyb3IKKwkgKiByZWNvdmVyeS4gIEl0IG1pZ2h0IHNlZW0gdGhhdCB0aGlzIHBvbGlj eSBtYWtlcyB0aGUgSE9MRF9JTlRFUlJVUFMoKQorCSAqIGNhbGwgcmVkdW5kYW50LCBidXQgaXQg aXMgbm90IHNpbmNlIEludGVycnVwdFBlbmRpbmcgbWlnaHQgYmUgc2V0CisJICogYWxyZWFkeS4K KwkgKi8KKwlpZiAoc2lnc2V0am1wKGxvY2FsX3NpZ2ptcF9idWYsIDEpICE9IDApCisJeworCQkv KiBTaW5jZSBub3QgdXNpbmcgUEdfVFJZLCBtdXN0IHJlc2V0IGVycm9yIHN0YWNrIGJ5IGhhbmQg Ki8KKwkJZXJyb3JfY29udGV4dF9zdGFjayA9IE5VTEw7CisKKwkJLyogUHJldmVudCBpbnRlcnJ1 cHRzIHdoaWxlIGNsZWFuaW5nIHVwICovCisJCUhPTERfSU5URVJSVVBUUygpOworCisJCS8qIFJl cG9ydCB0aGUgZXJyb3IgdG8gdGhlIHNlcnZlciBsb2cgKi8KKwkJRW1pdEVycm9yUmVwb3J0KCk7 CisKKwkJLyogVGhlc2Ugb3BlcmF0aW9ucyBhcmUgcmVhbGx5IGp1c3QgYSBtaW5pbWFsIHN1YnNl dCBvZgorCQkgKiBBYm9ydFRyYW5zYWN0aW9uKCkuICBXZSBkb24ndCBoYXZlIHZlcnkgbWFueSBy ZXNvdXJjZXMgdG8gd29ycnkKKwkJICogYWJvdXQuCisJCSAqLworCQlMV0xvY2tSZWxlYXNlQWxs KCk7CisJCUNvbmRpdGlvblZhcmlhYmxlQ2FuY2VsU2xlZXAoKTsKKwkJcGdzdGF0X3JlcG9ydF93 YWl0X2VuZCgpOworCQlBYm9ydEJ1ZmZlcklPKCk7CisJCVVubG9ja0J1ZmZlcnMoKTsKKwkJUmVs ZWFzZUF1eFByb2Nlc3NSZXNvdXJjZXMoZmFsc2UpOworCQlBdEVPWGFjdF9CdWZmZXJzKGZhbHNl KTsKKwkJQXRFT1hhY3RfU01ncigpOworCQlBdEVPWGFjdF9GaWxlcyhmYWxzZSk7CisJCUF0RU9Y YWN0X0hhc2hUYWJsZXMoZmFsc2UpOworCisJCS8qCisJCSAqIE5vdyByZXR1cm4gdG8gbm9ybWFs IHRvcC1sZXZlbCBjb250ZXh0IGFuZCBjbGVhciBFcnJvckNvbnRleHQgZm9yCisJCSAqIG5leHQg dGltZS4KKwkJICovCisJCU1lbW9yeUNvbnRleHRTd2l0Y2hUbyhjdXN0b2RpYW5fY29udGV4dCk7 CisJCUZsdXNoRXJyb3JTdGF0ZSgpOworCisJCS8qIEZsdXNoIGFueSBsZWFrZWQgZGF0YSBpbiB0 aGUgdG9wLWxldmVsIGNvbnRleHQgKi8KKwkJTWVtb3J5Q29udGV4dFJlc2V0QW5kRGVsZXRlQ2hp bGRyZW4oY3VzdG9kaWFuX2NvbnRleHQpOworCisJCS8qIE5vdyB3ZSBjYW4gYWxsb3cgaW50ZXJy dXB0cyBhZ2FpbiAqLworCQlSRVNVTUVfSU5URVJSVVBUUygpOworCisJCS8qCisJCSAqIFNsZWVw IGF0IGxlYXN0IDEgc2Vjb25kIGFmdGVyIGFueSBlcnJvci4gIEEgd3JpdGUgZXJyb3IgaXMgbGlr ZWx5CisJCSAqIHRvIGJlIHJlcGVhdGVkLCBhbmQgd2UgZG9uJ3Qgd2FudCB0byBiZSBmaWxsaW5n IHRoZSBlcnJvciBsb2dzIGFzCisJCSAqIGZhc3QgYXMgd2UgY2FuLgorCQkgKi8KKwkJcGdfdXNs ZWVwKDEwMDAwMDBMKTsKKworCQkvKgorCQkgKiBDbG9zZSBhbGwgb3BlbiBmaWxlcyBhZnRlciBh bnkgZXJyb3IuICBUaGlzIGlzIGhlbHBmdWwgb24gV2luZG93cywKKwkJICogd2hlcmUgaG9sZGlu ZyBkZWxldGVkIGZpbGVzIG9wZW4gY2F1c2VzIHZhcmlvdXMgc3RyYW5nZSBlcnJvcnMuCisJCSAq IEl0J3Mgbm90IGNsZWFyIHdlIG5lZWQgaXQgZWxzZXdoZXJlLCBidXQgc2hvdWxkbid0IGh1cnQu CisJCSAqLworCQlzbWdyY2xvc2VhbGwoKTsKKworCQkvKiBSZXBvcnQgd2FpdCBlbmQgaGVyZSwg d2hlbiB0aGVyZSBpcyBubyBmdXJ0aGVyIHBvc3NpYmlsaXR5IG9mIHdhaXQgKi8KKwkJcGdzdGF0 X3JlcG9ydF93YWl0X2VuZCgpOworCX0KKworCS8qIFdlIGNhbiBub3cgaGFuZGxlIGVyZXBvcnQo RVJST1IpICovCisJUEdfZXhjZXB0aW9uX3N0YWNrID0gJmxvY2FsX3NpZ2ptcF9idWY7CisKKwkv KgorCSAqIFVuYmxvY2sgc2lnbmFscyAodGhleSB3ZXJlIGJsb2NrZWQgd2hlbiB0aGUgcG9zdG1h c3RlciBmb3JrZWQgdXMpCisJICovCisJUEdfU0VUTUFTSygmVW5CbG9ja1NpZyk7CisKKwkvKgor CSAqIEFkdmVydGlzZSBvdXQgbGF0Y2ggdGhhdCBiYWNrZW5kcyBjYW4gdXNlIHRvIHdha2UgdXMg dXAgd2hpbGUgd2UncmUKKwkgKiBzbGVlcGluZy4KKwkgKi8KKwlQcm9jR2xvYmFsLT5jdXN0b2Rp YW5MYXRjaCA9ICZNeVByb2MtPnByb2NMYXRjaDsKKworCS8qCisJICogTG9vcCBmb3JldmVyCisJ ICovCisJZm9yICg7OykKKwl7CisJCXBnX3RpbWVfdAlzdGFydF90aW1lOworCQlwZ190aW1lX3QJ ZW5kX3RpbWU7CisJCWludAkJCWVsYXBzZWRfc2VjczsKKwkJaW50CQkJY3VyX3RpbWVvdXQ7CisK KwkJLyogQ2xlYXIgYW55IGFscmVhZHktcGVuZGluZyB3YWtldXBzICovCisJCVJlc2V0TGF0Y2go TXlMYXRjaCk7CisKKwkJSGFuZGxlTWFpbkxvb3BJbnRlcnJ1cHRzKCk7CisKKwkJc3RhcnRfdGlt ZSA9IChwZ190aW1lX3QpIHRpbWUoTlVMTCk7CisKKwkJLyogVE9ETzogb2ZmbG9hZGVkIHRhc2tz IGdvIGhlcmUgKi8KKworCQkvKiBDYWxjdWxhdGUgaG93IGxvbmcgdG8gc2xlZXAgKi8KKwkJZW5k X3RpbWUgPSAocGdfdGltZV90KSB0aW1lKE5VTEwpOworCQllbGFwc2VkX3NlY3MgPSBlbmRfdGlt ZSAtIHN0YXJ0X3RpbWU7CisJCWlmIChlbGFwc2VkX3NlY3MgPj0gQ1VTVE9ESUFOX1RJTUVPVVRf UykKKwkJCWNvbnRpbnVlOwkJCS8qIG5vIHNsZWVwIGZvciB1cyAqLworCQljdXJfdGltZW91dCA9 IENVU1RPRElBTl9USU1FT1VUX1MgLSBlbGFwc2VkX3NlY3M7CisKKwkJKHZvaWQpIFdhaXRMYXRj aChNeUxhdGNoLAorCQkJCQkJIFdMX0xBVENIX1NFVCB8IFdMX1RJTUVPVVQgfCBXTF9FWElUX09O X1BNX0RFQVRILAorCQkJCQkJIGN1cl90aW1lb3V0ICogMTAwMEwgLyogY29udmVydCB0byBtcyAq LyAsCisJCQkJCQkgV0FJVF9FVkVOVF9DVVNUT0RJQU5fTUFJTik7CisJfQorCisJcGdfdW5yZWFj aGFibGUoKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rl ci5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKaW5kZXggMzI4ZWNhZmE4 Yy4uNjM1MzEzY2RiNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFz dGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKQEAgLTI1MCw2 ICsyNTAsNyBAQCBib29sCQlyZW1vdmVfdGVtcF9maWxlc19hZnRlcl9jcmFzaCA9IHRydWU7CiBz dGF0aWMgcGlkX3QgU3RhcnR1cFBJRCA9IDAsCiAJCQlCZ1dyaXRlclBJRCA9IDAsCiAJCQlDaGVj a3BvaW50ZXJQSUQgPSAwLAorCQkJQ3VzdG9kaWFuUElEID0gMCwKIAkJCVdhbFdyaXRlclBJRCA9 IDAsCiAJCQlXYWxSZWNlaXZlclBJRCA9IDAsCiAJCQlBdXRvVmFjUElEID0gMCwKQEAgLTU1Niw2 ICs1NTcsNyBAQCBzdGF0aWMgdm9pZCBTaG1lbUJhY2tlbmRBcnJheVJlbW92ZShCYWNrZW5kICpi bik7CiAjZGVmaW5lIFN0YXJ0QXJjaGl2ZXIoKQkJCVN0YXJ0Q2hpbGRQcm9jZXNzKEFyY2hpdmVy UHJvY2VzcykKICNkZWZpbmUgU3RhcnRCYWNrZ3JvdW5kV3JpdGVyKCkgU3RhcnRDaGlsZFByb2Nl c3MoQmdXcml0ZXJQcm9jZXNzKQogI2RlZmluZSBTdGFydENoZWNrcG9pbnRlcigpCQlTdGFydENo aWxkUHJvY2VzcyhDaGVja3BvaW50ZXJQcm9jZXNzKQorI2RlZmluZSBTdGFydEN1c3RvZGlhbigp CQlTdGFydENoaWxkUHJvY2VzcyhDdXN0b2RpYW5Qcm9jZXNzKQogI2RlZmluZSBTdGFydFdhbFdy aXRlcigpCQlTdGFydENoaWxkUHJvY2VzcyhXYWxXcml0ZXJQcm9jZXNzKQogI2RlZmluZSBTdGFy dFdhbFJlY2VpdmVyKCkJCVN0YXJ0Q2hpbGRQcm9jZXNzKFdhbFJlY2VpdmVyUHJvY2VzcykKIApA QCAtMTgxOSwxMyArMTgyMSwxNiBAQCBTZXJ2ZXJMb29wKHZvaWQpCiAJCS8qCiAJCSAqIElmIG5v IGJhY2tncm91bmQgd3JpdGVyIHByb2Nlc3MgaXMgcnVubmluZywgYW5kIHdlIGFyZSBub3QgaW4g YQogCQkgKiBzdGF0ZSB0aGF0IHByZXZlbnRzIGl0LCBzdGFydCBvbmUuICBJdCBkb2Vzbid0IG1h dHRlciBpZiB0aGlzCi0JCSAqIGZhaWxzLCB3ZSdsbCBqdXN0IHRyeSBhZ2FpbiBsYXRlci4gIExp a2V3aXNlIGZvciB0aGUgY2hlY2twb2ludGVyLgorCQkgKiBmYWlscywgd2UnbGwganVzdCB0cnkg YWdhaW4gbGF0ZXIuICBMaWtld2lzZSBmb3IgdGhlIGNoZWNrcG9pbnRlcgorCQkgKiBhbmQgY3Vz dG9kaWFuLgogCQkgKi8KIAkJaWYgKHBtU3RhdGUgPT0gUE1fUlVOIHx8IHBtU3RhdGUgPT0gUE1f UkVDT1ZFUlkgfHwKIAkJCXBtU3RhdGUgPT0gUE1fSE9UX1NUQU5EQlkgfHwgcG1TdGF0ZSA9PSBQ TV9TVEFSVFVQKQogCQl7CiAJCQlpZiAoQ2hlY2twb2ludGVyUElEID09IDApCiAJCQkJQ2hlY2tw b2ludGVyUElEID0gU3RhcnRDaGVja3BvaW50ZXIoKTsKKwkJCWlmIChDdXN0b2RpYW5QSUQgPT0g MCkKKwkJCQlDdXN0b2RpYW5QSUQgPSBTdGFydEN1c3RvZGlhbigpOwogCQkJaWYgKEJnV3JpdGVy UElEID09IDApCiAJCQkJQmdXcml0ZXJQSUQgPSBTdGFydEJhY2tncm91bmRXcml0ZXIoKTsKIAkJ fQpAQCAtMjc4Miw2ICsyNzg3LDggQEAgU0lHSFVQX2hhbmRsZXIoU0lHTkFMX0FSR1MpCiAJCQlz aWduYWxfY2hpbGQoQmdXcml0ZXJQSUQsIFNJR0hVUCk7CiAJCWlmIChDaGVja3BvaW50ZXJQSUQg IT0gMCkKIAkJCXNpZ25hbF9jaGlsZChDaGVja3BvaW50ZXJQSUQsIFNJR0hVUCk7CisJCWlmIChD dXN0b2RpYW5QSUQgIT0gMCkKKwkJCXNpZ25hbF9jaGlsZChDdXN0b2RpYW5QSUQsIFNJR0hVUCk7 CiAJCWlmIChXYWxXcml0ZXJQSUQgIT0gMCkKIAkJCXNpZ25hbF9jaGlsZChXYWxXcml0ZXJQSUQs IFNJR0hVUCk7CiAJCWlmIChXYWxSZWNlaXZlclBJRCAhPSAwKQpAQCAtMzEwOSw2ICszMTE2LDgg QEAgcmVhcGVyKFNJR05BTF9BUkdTKQogCQkJICovCiAJCQlpZiAoQ2hlY2twb2ludGVyUElEID09 IDApCiAJCQkJQ2hlY2twb2ludGVyUElEID0gU3RhcnRDaGVja3BvaW50ZXIoKTsKKwkJCWlmIChD dXN0b2RpYW5QSUQgPT0gMCkKKwkJCQlDdXN0b2RpYW5QSUQgPSBTdGFydEN1c3RvZGlhbigpOwog CQkJaWYgKEJnV3JpdGVyUElEID09IDApCiAJCQkJQmdXcml0ZXJQSUQgPSBTdGFydEJhY2tncm91 bmRXcml0ZXIoKTsKIAkJCWlmIChXYWxXcml0ZXJQSUQgPT0gMCkKQEAgLTMyMTEsNiArMzIyMCwy MCBAQCByZWFwZXIoU0lHTkFMX0FSR1MpCiAJCQljb250aW51ZTsKIAkJfQogCisJCS8qCisJCSAq IFdhcyBpdCB0aGUgY3VzdG9kaWFuPyAgTm9ybWFsIGV4aXQgY2FuIGJlIGlnbm9yZWQ7IHdlJ2xs IHN0YXJ0IGEKKwkJICogbmV3IG9uZSBhdCB0aGUgbmV4dCBpdGVyYXRpb24gb2YgdGhlIHBvc3Rt YXN0ZXIncyBtYWluIGxvb3AsIGlmCisJCSAqIG5lY2Vzc2FyeS4gIEFueSBvdGhlciBleGl0IGNv bmRpdGlvbiBpcyB0cmVhdGVkIGFzIGEgY3Jhc2guCisJCSAqLworCQlpZiAocGlkID09IEN1c3Rv ZGlhblBJRCkKKwkJeworCQkJQ3VzdG9kaWFuUElEID0gMDsKKwkJCWlmICghRVhJVF9TVEFUVVNf MChleGl0c3RhdHVzKSkKKwkJCQlIYW5kbGVDaGlsZENyYXNoKHBpZCwgZXhpdHN0YXR1cywKKwkJ CQkJCQkJIF8oImN1c3RvZGlhbiBwcm9jZXNzIikpOworCQkJY29udGludWU7CisJCX0KKwogCQkv KgogCQkgKiBXYXMgaXQgdGhlIHdhbCB3cml0ZXI/ICBOb3JtYWwgZXhpdCBjYW4gYmUgaWdub3Jl ZDsgd2UnbGwgc3RhcnQgYQogCQkgKiBuZXcgb25lIGF0IHRoZSBuZXh0IGl0ZXJhdGlvbiBvZiB0 aGUgcG9zdG1hc3RlcidzIG1haW4gbG9vcCwgaWYKQEAgLTM2ODQsNiArMzcwNywxOCBAQCBIYW5k bGVDaGlsZENyYXNoKGludCBwaWQsIGludCBleGl0c3RhdHVzLCBjb25zdCBjaGFyICpwcm9jbmFt ZSkKIAkJc2lnbmFsX2NoaWxkKENoZWNrcG9pbnRlclBJRCwgKFNlbmRTdG9wID8gU0lHU1RPUCA6 IFNJR1FVSVQpKTsKIAl9CiAKKwkvKiBUYWtlIGNhcmUgb2YgdGhlIGN1c3RvZGlhbiB0b28gKi8K KwlpZiAocGlkID09IEN1c3RvZGlhblBJRCkKKwkJQ3VzdG9kaWFuUElEID0gMDsKKwllbHNlIGlm IChDdXN0b2RpYW5QSUQgIT0gMCAmJiB0YWtlX2FjdGlvbikKKwl7CisJCWVyZXBvcnQoREVCVUcy LAorCQkJCShlcnJtc2dfaW50ZXJuYWwoInNlbmRpbmcgJXMgdG8gcHJvY2VzcyAlZCIsCisJCQkJ CQkJCSAoU2VuZFN0b3AgPyAiU0lHU1RPUCIgOiAiU0lHUVVJVCIpLAorCQkJCQkJCQkgKGludCkg Q3VzdG9kaWFuUElEKSkpOworCQlzaWduYWxfY2hpbGQoQ3VzdG9kaWFuUElELCAoU2VuZFN0b3Ag PyBTSUdTVE9QIDogU0lHUVVJVCkpOworCX0KKwogCS8qIFRha2UgY2FyZSBvZiB0aGUgd2Fsd3Jp dGVyIHRvbyAqLwogCWlmIChwaWQgPT0gV2FsV3JpdGVyUElEKQogCQlXYWxXcml0ZXJQSUQgPSAw OwpAQCAtMzg4Nyw2ICszOTIyLDkgQEAgUG9zdG1hc3RlclN0YXRlTWFjaGluZSh2b2lkKQogCQkv KiBhbmQgdGhlIGJnd3JpdGVyIHRvbyAqLwogCQlpZiAoQmdXcml0ZXJQSUQgIT0gMCkKIAkJCXNp Z25hbF9jaGlsZChCZ1dyaXRlclBJRCwgU0lHVEVSTSk7CisJCS8qIGFuZCB0aGUgY3VzdG9kaWFu IHRvbyAqLworCQlpZiAoQ3VzdG9kaWFuUElEICE9IDApCisJCQlzaWduYWxfY2hpbGQoQ3VzdG9k aWFuUElELCBTSUdURVJNKTsKIAkJLyogYW5kIHRoZSB3YWx3cml0ZXIgdG9vICovCiAJCWlmIChX YWxXcml0ZXJQSUQgIT0gMCkKIAkJCXNpZ25hbF9jaGlsZChXYWxXcml0ZXJQSUQsIFNJR1RFUk0p OwpAQCAtMzkyNCw2ICszOTYyLDcgQEAgUG9zdG1hc3RlclN0YXRlTWFjaGluZSh2b2lkKQogCQkJ QmdXcml0ZXJQSUQgPT0gMCAmJgogCQkJKENoZWNrcG9pbnRlclBJRCA9PSAwIHx8CiAJCQkgKCFG YXRhbEVycm9yICYmIFNodXRkb3duIDwgSW1tZWRpYXRlU2h1dGRvd24pKSAmJgorCQkJQ3VzdG9k aWFuUElEID09IDAgJiYKIAkJCVdhbFdyaXRlclBJRCA9PSAwICYmCiAJCQlBdXRvVmFjUElEID09 IDApCiAJCXsKQEAgLTQwMTcsNiArNDA1Niw3IEBAIFBvc3RtYXN0ZXJTdGF0ZU1hY2hpbmUodm9p ZCkKIAkJCUFzc2VydChXYWxSZWNlaXZlclBJRCA9PSAwKTsKIAkJCUFzc2VydChCZ1dyaXRlclBJ RCA9PSAwKTsKIAkJCUFzc2VydChDaGVja3BvaW50ZXJQSUQgPT0gMCk7CisJCQlBc3NlcnQoQ3Vz dG9kaWFuUElEID09IDApOwogCQkJQXNzZXJ0KFdhbFdyaXRlclBJRCA9PSAwKTsKIAkJCUFzc2Vy dChBdXRvVmFjUElEID09IDApOwogCQkJLyogc3lzbG9nZ2VyIGlzIG5vdCBjb25zaWRlcmVkIGhl cmUgKi8KQEAgLTQyMjIsNiArNDI2Miw4IEBAIFRlcm1pbmF0ZUNoaWxkcmVuKGludCBzaWduYWwp CiAJCXNpZ25hbF9jaGlsZChCZ1dyaXRlclBJRCwgc2lnbmFsKTsKIAlpZiAoQ2hlY2twb2ludGVy UElEICE9IDApCiAJCXNpZ25hbF9jaGlsZChDaGVja3BvaW50ZXJQSUQsIHNpZ25hbCk7CisJaWYg KEN1c3RvZGlhblBJRCAhPSAwKQorCQlzaWduYWxfY2hpbGQoQ3VzdG9kaWFuUElELCBzaWduYWwp OwogCWlmIChXYWxXcml0ZXJQSUQgIT0gMCkKIAkJc2lnbmFsX2NoaWxkKFdhbFdyaXRlclBJRCwg c2lnbmFsKTsKIAlpZiAoV2FsUmVjZWl2ZXJQSUQgIT0gMCkKZGlmZiAtLWdpdCBhL3NyYy9iYWNr ZW5kL3N0b3JhZ2UvbG1nci9wcm9jLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2xtZ3IvcHJvYy5j CmluZGV4IGI3ZDlkYTBhYTkuLmE4NmEwNWFkYjQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3N0 b3JhZ2UvbG1nci9wcm9jLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9sbWdyL3Byb2MuYwpA QCAtMTgyLDYgKzE4Miw3IEBAIEluaXRQcm9jR2xvYmFsKHZvaWQpCiAJUHJvY0dsb2JhbC0+c3Rh cnR1cEJ1ZmZlclBpbldhaXRCdWZJZCA9IC0xOwogCVByb2NHbG9iYWwtPndhbHdyaXRlckxhdGNo ID0gTlVMTDsKIAlQcm9jR2xvYmFsLT5jaGVja3BvaW50ZXJMYXRjaCA9IE5VTEw7CisJUHJvY0ds b2JhbC0+Y3VzdG9kaWFuTGF0Y2ggPSBOVUxMOwogCXBnX2F0b21pY19pbml0X3UzMigmUHJvY0ds b2JhbC0+cHJvY0FycmF5R3JvdXBGaXJzdCwgSU5WQUxJRF9QR1BST0NOTyk7CiAJcGdfYXRvbWlj X2luaXRfdTMyKCZQcm9jR2xvYmFsLT5jbG9nR3JvdXBGaXJzdCwgSU5WQUxJRF9QR1BST0NOTyk7 CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYyBi L3NyYy9iYWNrZW5kL3V0aWxzL2FjdGl2aXR5L3dhaXRfZXZlbnQuYwppbmRleCA0ZDUzZjA0MGU4 Li41MzBhZjI5NGQ5IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC91dGlscy9hY3Rpdml0eS93YWl0 X2V2ZW50LmMKKysrIGIvc3JjL2JhY2tlbmQvdXRpbHMvYWN0aXZpdHkvd2FpdF9ldmVudC5jCkBA IC0yMjQsNiArMjI0LDkgQEAgcGdzdGF0X2dldF93YWl0X2FjdGl2aXR5KFdhaXRFdmVudEFjdGl2 aXR5IHcpCiAJCWNhc2UgV0FJVF9FVkVOVF9DSEVDS1BPSU5URVJfTUFJTjoKIAkJCWV2ZW50X25h bWUgPSAiQ2hlY2twb2ludGVyTWFpbiI7CiAJCQlicmVhazsKKwkJY2FzZSBXQUlUX0VWRU5UX0NV U1RPRElBTl9NQUlOOgorCQkJZXZlbnRfbmFtZSA9ICJDdXN0b2RpYW5NYWluIjsKKwkJCWJyZWFr OwogCQljYXNlIFdBSVRfRVZFTlRfTE9HSUNBTF9BUFBMWV9NQUlOOgogCQkJZXZlbnRfbmFtZSA9 ICJMb2dpY2FsQXBwbHlNYWluIjsKIAkJCWJyZWFrOwpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv dXRpbHMvaW5pdC9taXNjaW5pdC5jIGIvc3JjL2JhY2tlbmQvdXRpbHMvaW5pdC9taXNjaW5pdC5j CmluZGV4IDg4ODAxMzc0YjUuLjkwYzQxNjBkNDIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0 aWxzL2luaXQvbWlzY2luaXQuYworKysgYi9zcmMvYmFja2VuZC91dGlscy9pbml0L21pc2Npbml0 LmMKQEAgLTI3Myw2ICsyNzMsOSBAQCBHZXRCYWNrZW5kVHlwZURlc2MoQmFja2VuZFR5cGUgYmFj a2VuZFR5cGUpCiAJCWNhc2UgQl9DSEVDS1BPSU5URVI6CiAJCQliYWNrZW5kRGVzYyA9ICJjaGVj a3BvaW50ZXIiOwogCQkJYnJlYWs7CisJCWNhc2UgQl9DVVNUT0RJQU46CisJCQliYWNrZW5kRGVz YyA9ICJjdXN0b2RpYW4iOworCQkJYnJlYWs7CiAJCWNhc2UgQl9TVEFSVFVQOgogCQkJYmFja2Vu ZERlc2MgPSAic3RhcnR1cCI7CiAJCQlicmVhazsKZGlmZiAtLWdpdCBhL3NyYy9pbmNsdWRlL21p c2NhZG1pbi5oIGIvc3JjL2luY2x1ZGUvbWlzY2FkbWluLmgKaW5kZXggOTBhMzAxNjA2NS4uODMw ODlkMjNmZiAxMDA2NDQKLS0tIGEvc3JjL2luY2x1ZGUvbWlzY2FkbWluLmgKKysrIGIvc3JjL2lu Y2x1ZGUvbWlzY2FkbWluLmgKQEAgLTMyOSw2ICszMjksNyBAQCB0eXBlZGVmIGVudW0gQmFja2Vu ZFR5cGUKIAlCX0JHX1dPUktFUiwKIAlCX0JHX1dSSVRFUiwKIAlCX0NIRUNLUE9JTlRFUiwKKwlC X0NVU1RPRElBTiwKIAlCX1NUQVJUVVAsCiAJQl9XQUxfUkVDRUlWRVIsCiAJQl9XQUxfU0VOREVS LApAQCAtNDMzLDYgKzQzNCw3IEBAIHR5cGVkZWYgZW51bQogCUJnV3JpdGVyUHJvY2VzcywKIAlB cmNoaXZlclByb2Nlc3MsCiAJQ2hlY2twb2ludGVyUHJvY2VzcywKKwlDdXN0b2RpYW5Qcm9jZXNz LAogCVdhbFdyaXRlclByb2Nlc3MsCiAJV2FsUmVjZWl2ZXJQcm9jZXNzLAogCkBAIC00NDUsNiAr NDQ3LDcgQEAgZXh0ZXJuIEF1eFByb2NUeXBlIE15QXV4UHJvY1R5cGU7CiAjZGVmaW5lIEFtQmFj a2dyb3VuZFdyaXRlclByb2Nlc3MoKSAoTXlBdXhQcm9jVHlwZSA9PSBCZ1dyaXRlclByb2Nlc3Mp CiAjZGVmaW5lIEFtQXJjaGl2ZXJQcm9jZXNzKCkJCQkoTXlBdXhQcm9jVHlwZSA9PSBBcmNoaXZl clByb2Nlc3MpCiAjZGVmaW5lIEFtQ2hlY2twb2ludGVyUHJvY2VzcygpCQkoTXlBdXhQcm9jVHlw ZSA9PSBDaGVja3BvaW50ZXJQcm9jZXNzKQorI2RlZmluZSBBbUN1c3RvZGlhblByb2Nlc3MoKQkJ KE15QXV4UHJvY1R5cGUgPT0gQ3VzdG9kaWFuUHJvY2VzcykKICNkZWZpbmUgQW1XYWxXcml0ZXJQ cm9jZXNzKCkJCShNeUF1eFByb2NUeXBlID09IFdhbFdyaXRlclByb2Nlc3MpCiAjZGVmaW5lIEFt V2FsUmVjZWl2ZXJQcm9jZXNzKCkJCShNeUF1eFByb2NUeXBlID09IFdhbFJlY2VpdmVyUHJvY2Vz cykKIApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9jdXN0b2RpYW4uaCBiL3Ny Yy9pbmNsdWRlL3Bvc3RtYXN0ZXIvY3VzdG9kaWFuLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwMC4uZThhYzJhZDNkZAotLS0gL2Rldi9udWxsCisrKyBiL3NyYy9pbmNsdWRl L3Bvc3RtYXN0ZXIvY3VzdG9kaWFuLmgKQEAgLTAsMCArMSwxNyBAQAorLyotLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tCisgKgorICogY3VzdG9kaWFuLmgKKyAqICAgRXhwb3J0cyBmcm9tIHBvc3RtYXN0ZXIvY3Vz dG9kaWFuLmMuCisgKgorICogQ29weXJpZ2h0IChjKSAyMDIxLCBQb3N0Z3JlU1FMIEdsb2JhbCBE ZXZlbG9wbWVudCBHcm91cAorICoKKyAqIHNyYy9pbmNsdWRlL3Bvc3RtYXN0ZXIvY3VzdG9kaWFu LmgKKyAqCisgKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KKyAqLworI2lmbmRlZiBfQ1VTVE9ESUFOX0gKKyNk ZWZpbmUgX0NVU1RPRElBTl9ICisKK2V4dGVybiB2b2lkIEN1c3RvZGlhbk1haW4odm9pZCkgcGdf YXR0cmlidXRlX25vcmV0dXJuKCk7CisKKyNlbmRpZgkJCQkJCS8qIF9DVVNUT0RJQU5fSCAqLwpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9wcm9jLmggYi9zcmMvaW5jbHVkZS9zdG9y YWdlL3Byb2MuaAppbmRleCBjZmFiZmRiZWRmLi4xZmM0NTk5OTQxIDEwMDY0NAotLS0gYS9zcmMv aW5jbHVkZS9zdG9yYWdlL3Byb2MuaAorKysgYi9zcmMvaW5jbHVkZS9zdG9yYWdlL3Byb2MuaApA QCAtMzU3LDYgKzM1Nyw4IEBAIHR5cGVkZWYgc3RydWN0IFBST0NfSERSCiAJTGF0Y2gJICAgKndh bHdyaXRlckxhdGNoOwogCS8qIENoZWNrcG9pbnRlciBwcm9jZXNzJ3MgbGF0Y2ggKi8KIAlMYXRj aAkgICAqY2hlY2twb2ludGVyTGF0Y2g7CisJLyogQ3VzdG9kaWFuIHByb2Nlc3MncyBsYXRjaCAq LworCUxhdGNoCSAgICpjdXN0b2RpYW5MYXRjaDsKIAkvKiBDdXJyZW50IHNoYXJlZCBlc3RpbWF0 ZSBvZiBhcHByb3ByaWF0ZSBzcGluc19wZXJfZGVsYXkgdmFsdWUgKi8KIAlpbnQJCQlzcGluc19w ZXJfZGVsYXk7CiAJLyogVGhlIHByb2Mgb2YgdGhlIFN0YXJ0dXAgcHJvY2Vzcywgc2luY2Ugbm90 IGluIFByb2NBcnJheSAqLwpAQCAtMzc3LDExICszNzksMTIgQEAgZXh0ZXJuIFBHUFJPQyAqUHJl cGFyZWRYYWN0UHJvY3M7CiAgKiBXZSBzZXQgYXNpZGUgc29tZSBleHRyYSBQR1BST0Mgc3RydWN0 dXJlcyBmb3IgYXV4aWxpYXJ5IHByb2Nlc3NlcywKICAqIGllIHRoaW5ncyB0aGF0IGFyZW4ndCBm dWxsLWZsZWRnZWQgYmFja2VuZHMgYnV0IG5lZWQgc2htZW0gYWNjZXNzLgogICoKLSAqIEJhY2tn cm91bmQgd3JpdGVyLCBjaGVja3BvaW50ZXIsIFdBTCB3cml0ZXIgYW5kIGFyY2hpdmVyIHJ1biBk dXJpbmcgbm9ybWFsCi0gKiBvcGVyYXRpb24uICBTdGFydHVwIHByb2Nlc3MgYW5kIFdBTCByZWNl aXZlciBhbHNvIGNvbnN1bWUgMiBzbG90cywgYnV0IFdBTAotICogd3JpdGVyIGlzIGxhdW5jaGVk IG9ubHkgYWZ0ZXIgc3RhcnR1cCBoYXMgZXhpdGVkLCBzbyB3ZSBvbmx5IG5lZWQgNSBzbG90cy4K KyAqIEJhY2tncm91bmQgd3JpdGVyLCBjaGVja3BvaW50ZXIsIGN1c3RvZGlhbiwgV0FMIHdyaXRl ciBhbmQgYXJjaGl2ZXIgcnVuCisgKiBkdXJpbmcgbm9ybWFsIG9wZXJhdGlvbi4gIFN0YXJ0dXAg cHJvY2VzcyBhbmQgV0FMIHJlY2VpdmVyIGFsc28gY29uc3VtZSAyCisgKiBzbG90cywgYnV0IFdB TCB3cml0ZXIgaXMgbGF1bmNoZWQgb25seSBhZnRlciBzdGFydHVwIGhhcyBleGl0ZWQsIHNvIHdl IG9ubHkKKyAqIG5lZWQgNiBzbG90cy4KICAqLwotI2RlZmluZSBOVU1fQVVYSUxJQVJZX1BST0NT CQk1CisjZGVmaW5lIE5VTV9BVVhJTElBUllfUFJPQ1MJCTYKIAogLyogY29uZmlndXJhYmxlIG9w dGlvbnMgKi8KIGV4dGVybiBQR0RMTElNUE9SVCBpbnQgRGVhZGxvY2tUaW1lb3V0OwpkaWZmIC0t Z2l0IGEvc3JjL2luY2x1ZGUvdXRpbHMvd2FpdF9ldmVudC5oIGIvc3JjL2luY2x1ZGUvdXRpbHMv d2FpdF9ldmVudC5oCmluZGV4IDg3ODVhOGUxMmMuLjA4ZGM5ZDVjYWEgMTAwNjQ0Ci0tLSBhL3Ny Yy9pbmNsdWRlL3V0aWxzL3dhaXRfZXZlbnQuaAorKysgYi9zcmMvaW5jbHVkZS91dGlscy93YWl0 X2V2ZW50LmgKQEAgLTQwLDYgKzQwLDcgQEAgdHlwZWRlZiBlbnVtCiAJV0FJVF9FVkVOVF9CR1dS SVRFUl9ISUJFUk5BVEUsCiAJV0FJVF9FVkVOVF9CR1dSSVRFUl9NQUlOLAogCVdBSVRfRVZFTlRf Q0hFQ0tQT0lOVEVSX01BSU4sCisJV0FJVF9FVkVOVF9DVVNUT0RJQU5fTUFJTiwKIAlXQUlUX0VW RU5UX0xPR0lDQUxfQVBQTFlfTUFJTiwKIAlXQUlUX0VWRU5UX0xPR0lDQUxfTEFVTkNIRVJfTUFJ TiwKIAlXQUlUX0VWRU5UX1BHU1RBVF9NQUlOLAotLSAKMi4xNi42Cgo= --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_ Content-Type: application/octet-stream; name="v2-0008-Move-removal-of-spilled-logical-slot-data-to-cust.patch" Content-Description: v2-0008-Move-removal-of-spilled-logical-slot-data-to-cust.patch Content-Disposition: attachment; filename="v2-0008-Move-removal-of-spilled-logical-slot-data-to-cust.patch"; size=14544; creation-date="Tue, 14 Dec 2021 20:23:57 GMT"; modification-date="Tue, 14 Dec 2021 20:23:57 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSA1OTBmYzNkOTYzMjBmYTcwMTY2MmE1ZTRhZjc3MTNhOGRhZWI5YTQ2IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogVHVlLCAxNCBEZWMgMjAyMSAxODo0MDoxMiArMDAwMApTdWJqZWN0OiBbUEFUQ0ggdjIg OC84XSBNb3ZlIHJlbW92YWwgb2Ygc3BpbGxlZCBsb2dpY2FsIHNsb3QgZGF0YSB0bwogY3VzdG9k aWFuLgoKSWYgdGhlcmUgYXJlIG1hbnkgc3VjaCBmaWxlcywgc3RhcnR1cCBjYW4gdGFrZSBtdWNo IGxvbmdlciB0aGFuCm5lY2Vzc2FyeS4gIFRvIGhhbmRsZSB0aGlzLCBzdGFydHVwIGNyZWF0ZXMg YSBuZXcgc2xvdCBkaXJlY3RvcnksCmNvcGllcyB0aGUgc3RhdGUgZmlsZSwgYW5kIHN3YXBzIHRo ZSBuZXcgZGlyZWN0b3J5IHdpdGggdGhlIG9sZApvbmUuICBUaGUgY3VzdG9kaWFuIHRoZW4gYXN5 bmNocm9ub3VzbHkgY2xlYW5zIHVwIHRoZSBvbGQgc2xvdApkaXJlY3RvcnkuCi0tLQogc3JjL2Jh Y2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jICAgICAgICAgICAgICAgfCAgMTUgKy0KIHNyYy9i YWNrZW5kL3Bvc3RtYXN0ZXIvY3VzdG9kaWFuLmMgICAgICAgICAgICAgIHwgIDE0ICsrCiBzcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2FsL3Jlb3JkZXJidWZmZXIuYyB8IDI5MiArKysrKysr KysrKysrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYyAgICAgICAg ICAgICAgICAgIHwgICA0ICsKIHNyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Jlb3JkZXJidWZmZXIu aCAgICAgICAgIHwgICAxICsKIDUgZmlsZXMgY2hhbmdlZCwgMzE3IGluc2VydGlvbnMoKyksIDkg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxv Zy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IDVmYjhhYzk0ODMu LmJkM2M2NzE5ODggMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cu YworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKQEAgLTcxNTYsMTggKzcx NTYsMjEgQEAgU3RhcnR1cFhMT0codm9pZCkKIAkJCQkJIGNoZWNrUG9pbnQubmV3ZXN0Q29tbWl0 VHNYaWQpOwogCVhMb2dDdGwtPmNrcHRGdWxsWGlkID0gY2hlY2tQb2ludC5uZXh0WGlkOwogCi0J LyoKLQkgKiBJbml0aWFsaXplIHJlcGxpY2F0aW9uIHNsb3RzLCBiZWZvcmUgdGhlcmUncyBhIGNo YW5jZSB0byByZW1vdmUKLQkgKiByZXF1aXJlZCByZXNvdXJjZXMuCi0JICovCi0JU3RhcnR1cFJl cGxpY2F0aW9uU2xvdHMoKTsKLQogCS8qCiAJICogU3RhcnR1cCBsb2dpY2FsIHN0YXRlLCBuZWVk cyB0byBiZSBzZXR1cCBub3cgc28gd2UgaGF2ZSBwcm9wZXIgZGF0YQogCSAqIGR1cmluZyBjcmFz aCByZWNvdmVyeS4KKwkgKgorCSAqIE5COiBUaGlzIGFsc28gcGVyZm9ybXMgc29tZSBpbXBvcnRh bnQgY2xlYW51cCB0aGF0IG11c3QgYmUgZG9uZSBwcmlvciB0bworCSAqIG90aGVyIHJlcGxpY2F0 aW9uIHNsb3Qgc3RlcHMgKGUuZy4sIFN0YXJ0dXBSZXBsaWNhdGlvblNsb3RzKCkpLgogCSAqLwog CVN0YXJ0dXBSZW9yZGVyQnVmZmVyKCk7CiAKKwkvKgorCSAqIEluaXRpYWxpemUgcmVwbGljYXRp b24gc2xvdHMsIGJlZm9yZSB0aGVyZSdzIGEgY2hhbmNlIHRvIHJlbW92ZQorCSAqIHJlcXVpcmVk IHJlc291cmNlcy4KKwkgKi8KKwlTdGFydHVwUmVwbGljYXRpb25TbG90cygpOworCiAJLyoKIAkg KiBTdGFydHVwIENMT0cuIFRoaXMgbXVzdCBiZSBkb25lIGFmdGVyIFNobWVtVmFyaWFibGVDYWNo ZS0+bmV4dFhpZCBoYXMKIAkgKiBiZWVuIGluaXRpYWxpemVkIGFuZCBiZWZvcmUgd2UgYWNjZXB0 IGNvbm5lY3Rpb25zIG9yIGJlZ2luIFdBTCByZXBsYXkuCmRpZmYgLS1naXQgYS9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL2N1c3RvZGlhbi5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2Rp YW4uYwppbmRleCBlMzMxODg3OGQwLi45YmZhZDgwNzk0IDEwMDY0NAotLS0gYS9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL2N1c3RvZGlhbi5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY3Vz dG9kaWFuLmMKQEAgLTM5LDYgKzM5LDcgQEAKICNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRl ICJwb3N0bWFzdGVyL2N1c3RvZGlhbi5oIgogI2luY2x1ZGUgInBvc3RtYXN0ZXIvaW50ZXJydXB0 LmgiCisjaW5jbHVkZSAicmVwbGljYXRpb24vcmVvcmRlcmJ1ZmZlci5oIgogI2luY2x1ZGUgInJl cGxpY2F0aW9uL3NuYXBidWlsZC5oIgogI2luY2x1ZGUgInN0b3JhZ2UvYnVmbWdyLmgiCiAjaW5j bHVkZSAic3RvcmFnZS9jb25kaXRpb25fdmFyaWFibGUuaCIKQEAgLTIwNiw2ICsyMDcsMTkgQEAg Q3VzdG9kaWFuTWFpbih2b2lkKQogCQkgKi8KIAkJUmVtb3ZlUGdUZW1wRmlsZXMoZmFsc2UsIGZh bHNlKTsKIAorCQkvKgorCQkgKiBSZW1vdmUgYW55IHJlcGxpY2F0aW9uIHNsb3QgZGlyZWN0b3Jp ZXMgdGhhdCBoYXZlIGJlZW4gc3RhZ2VkIGZvcgorCQkgKiBkZWxldGlvbi4gIFNpbmNlIHNsb3Qg ZGlyZWN0b3JpZXMgY2FuIGFjY3VtdWxhdGUgbWFueSBmaWxlcywgcmVtb3ZpbmcKKwkJICogYWxs IG9mIHRoZSBmaWxlcyBkdXJpbmcgc3RhcnR1cCAod2hpY2ggd2UgdXNlZCB0byBkbykgY2FuIHRh a2UgYSB2ZXJ5CisJCSAqIGxvbmcgdGltZS4gIFRvIGF2b2lkIGRlbGF5aW5nIHN0YXJ0dXAsIHdl IHNpbXBseSBoYXZlIHN0YXJ0dXAgcmVuYW1lCisJCSAqIHRoZSBzbG90IGRpcmVjdG9yaWVzLCBh bmQgd2UgY2xlYW4gdGhlbSB1cCBoZXJlLgorCQkgKgorCQkgKiBSZXBsaWNhdGlvbiBzbG90IGRp cmVjdG9yaWVzIGFyZSBub3Qgc3RhZ2VkIG9yIGNsZWFuZWQgaW4gc2luZ2xlLXVzZXIKKwkJICog bW9kZSwgc28gd2UgZG9uJ3QgbmVlZCBhbnkgZXh0cmEgaGFuZGxpbmcgb3V0c2lkZSBvZiB0aGUg Y3VzdG9kaWFuCisJCSAqIHByb2Nlc3MgZm9yIHRoaXMuCisJCSAqLworCQlSZW1vdmVTdGFnZWRT bG90RGlyZWN0b3JpZXMoKTsKKwogCQkvKgogCQkgKiBSZW1vdmUgc2VyaWFsaXplZCBzbmFwc2hv dHMgdGhhdCBhcmUgbm8gbG9uZ2VyIHJlcXVpcmVkIGJ5IGFueQogCQkgKiBsb2dpY2FsIHJlcGxp Y2F0aW9uIHNsb3QuCmRpZmYgLS1naXQgYS9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dpY2Fs L3Jlb3JkZXJidWZmZXIuYyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcmVvcmRl cmJ1ZmZlci5jCmluZGV4IDdhYTU2NDdhMmMuLmE0M2U5OGQ4NDggMTAwNjQ0Ci0tLSBhL3NyYy9i YWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcmVvcmRlcmJ1ZmZlci5jCisrKyBiL3NyYy9iYWNr ZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvcmVvcmRlcmJ1ZmZlci5jCkBAIC05MSwxNSArOTEsMTkg QEAKICNpbmNsdWRlICJhY2Nlc3MveGFjdC5oIgogI2luY2x1ZGUgImFjY2Vzcy94bG9nX2ludGVy bmFsLmgiCiAjaW5jbHVkZSAiY2F0YWxvZy9jYXRhbG9nLmgiCisjaW5jbHVkZSAiY29tbW9uL3N0 cmluZy5oIgogI2luY2x1ZGUgImxpYi9iaW5hcnloZWFwLmgiCiAjaW5jbHVkZSAibWlzY2FkbWlu LmgiCiAjaW5jbHVkZSAicGdzdGF0LmgiCisjaW5jbHVkZSAicG9zdG1hc3Rlci9pbnRlcnJ1cHQu aCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2FsLmgiCiAjaW5jbHVkZSAicmVwbGljYXRp b24vcmVvcmRlcmJ1ZmZlci5oIgogI2luY2x1ZGUgInJlcGxpY2F0aW9uL3Nsb3QuaCIKICNpbmNs dWRlICJyZXBsaWNhdGlvbi9zbmFwYnVpbGQuaCIJLyoganVzdCBmb3IgU25hcEJ1aWxkU25hcERl Y1JlZmNvdW50ICovCiAjaW5jbHVkZSAic3RvcmFnZS9idWZtZ3IuaCIKKyNpbmNsdWRlICJzdG9y YWdlL2NvcHlkaXIuaCIKICNpbmNsdWRlICJzdG9yYWdlL2ZkLmgiCisjaW5jbHVkZSAic3RvcmFn ZS9wcm9jLmgiCiAjaW5jbHVkZSAic3RvcmFnZS9zaW52YWwuaCIKICNpbmNsdWRlICJ1dGlscy9i dWlsdGlucy5oIgogI2luY2x1ZGUgInV0aWxzL2NvbWJvY2lkLmgiCkBAIC0yNTUsMTIgKzI1OSwx NSBAQCBzdGF0aWMgdm9pZCBSZW9yZGVyQnVmZmVyUmVzdG9yZUNsZWFudXAoUmVvcmRlckJ1ZmZl ciAqcmIsIFJlb3JkZXJCdWZmZXJUWE4gKnR4bgogc3RhdGljIHZvaWQgUmVvcmRlckJ1ZmZlclRy dW5jYXRlVFhOKFJlb3JkZXJCdWZmZXIgKnJiLCBSZW9yZGVyQnVmZmVyVFhOICp0eG4sCiAJCQkJ CQkJCQkgYm9vbCB0eG5fcHJlcGFyZWQpOwogc3RhdGljIHZvaWQgUmVvcmRlckJ1ZmZlckNsZWFu dXBTZXJpYWxpemVkVFhOcyhjb25zdCBjaGFyICpzbG90bmFtZSk7CitzdGF0aWMgdm9pZCBSZW9y ZGVyQnVmZmVyQ2xlYW51cChjb25zdCBjaGFyICpzbG90bmFtZSk7CiBzdGF0aWMgdm9pZCBSZW9y ZGVyQnVmZmVyU2VyaWFsaXplZFBhdGgoY2hhciAqcGF0aCwgUmVwbGljYXRpb25TbG90ICpzbG90 LAogCQkJCQkJCQkJCVRyYW5zYWN0aW9uSWQgeGlkLCBYTG9nU2VnTm8gc2Vnbm8pOwogCiBzdGF0 aWMgdm9pZCBSZW9yZGVyQnVmZmVyRnJlZVNuYXAoUmVvcmRlckJ1ZmZlciAqcmIsIFNuYXBzaG90 IHNuYXApOwogc3RhdGljIFNuYXBzaG90IFJlb3JkZXJCdWZmZXJDb3B5U25hcChSZW9yZGVyQnVm ZmVyICpyYiwgU25hcHNob3Qgb3JpZ19zbmFwLAogCQkJCQkJCQkJICBSZW9yZGVyQnVmZmVyVFhO ICp0eG4sIENvbW1hbmRJZCBjaWQpOworc3RhdGljIHZvaWQgU3RhZ2VTbG90RGlyRm9yUmVtb3Zh bChjb25zdCBjaGFyICpzbG90bmFtZSwgY29uc3QgY2hhciAqc2xvdHBhdGgpOworc3RhdGljIHZv aWQgUmVtb3ZlU3RhZ2VkU2xvdERpcmVjdG9yeShjb25zdCBjaGFyICpwYXRoKTsKIAogLyoKICAq IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQpAQCAtNDQzMCw2ICs0NDM3 LDIwMiBAQCBSZW9yZGVyQnVmZmVyQ2xlYW51cFNlcmlhbGl6ZWRUWE5zKGNvbnN0IGNoYXIgKnNs b3RuYW1lKQogCUZyZWVEaXIoc3BpbGxfZGlyKTsKIH0KIAorLyoKKyAqIENsZWFudXAgZXZlcnl0 aGluZyBpbiB0aGUgbG9naWNhbCBzbG90IGRpcmVjdG9yeSBleGNlcHQgZm9yIHRoZSAic3RhdGUi IGZpbGUuCisgKiBUaGlzIGlzIHNwZWNpYWxseSB3cml0dGVuIGZvciBTdGFydHVwUmVvcmRlckJ1 ZmZlcigpLCB3aGljaCBoYXMgc3BlY2lhbCBsb2dpYworICogdG8gaGFuZGxlIGNyYXNoZXMgYXQg aW5jb252ZW5pZW50IHRpbWVzLgorICoKKyAqIE5COiBJZiBhbnl0aGluZyBleGNlcHQgZm9yIHRo ZSAic3RhdGUiIGZpbGUgY2Fubm90IGJlIHJlbW92ZWQgYWZ0ZXIgc3RhcnR1cCwKKyAqIHRoaXMg d2lsbCBuZWVkIHRvIGJlIHVwZGF0ZWQuCisgKi8KK3N0YXRpYyB2b2lkCitSZW9yZGVyQnVmZmVy Q2xlYW51cChjb25zdCBjaGFyICpzbG90bmFtZSkKK3sKKwljaGFyCQlwYXRoW01BWFBHUEFUSF07 CisJY2hhcgkJbmV3cGF0aFtNQVhQR1BBVEhdOworCWNoYXIJCXN0YXRlcGF0aFtNQVhQR1BBVEhd OworCWNoYXIJCW5ld3N0YXRlcGF0aFtNQVhQR1BBVEhdOworCXN0cnVjdCBzdGF0IHN0YXRidWY7 CisKKwlzcHJpbnRmKHBhdGgsICJwZ19yZXBsc2xvdC8lcyIsIHNsb3RuYW1lKTsKKwlzcHJpbnRm KG5ld3BhdGgsICJwZ19yZXBsc2xvdC8lcy5uZXciLCBzbG90bmFtZSk7CisJc3ByaW50ZihzdGF0 ZXBhdGgsICJwZ19yZXBsc2xvdC8lcy9zdGF0ZSIsIHNsb3RuYW1lKTsKKwlzcHJpbnRmKG5ld3N0 YXRlcGF0aCwgInBnX3JlcGxzbG90LyVzLm5ldy9zdGF0ZSIsIHNsb3RuYW1lKTsKKworCS8qIHdl J3JlIG9ubHkgaGFuZGxpbmcgZGlyZWN0b3JpZXMgaGVyZSwgc2tpcCBpZiBpdCdzIG5vdCBvdXJz ICovCisJaWYgKGxzdGF0KHBhdGgsICZzdGF0YnVmKSA9PSAwICYmICFTX0lTRElSKHN0YXRidWYu c3RfbW9kZSkpCisJCXJldHVybjsKKworCS8qCisJICogQnVpbGQgb3VyIG5ldyBzbG90IGRpcmVj dG9yeSwgc3VmZml4ZWQgd2l0aCAiLm5ldyIuICBUaGUgY2FsbGVyIChsaWtlbHkKKwkgKiBTdGFy dHVwUmVvcmRlckJ1ZmZlcigpKSBzaG91bGQgaGF2ZSBhbHJlYWR5IGVuc3VyZWQgdGhhdCBhbnkg cHJlLWV4aXN0aW5nCisJICogIi5uZXciIGRpcmVjdG9yaWVzIGxlZnRvdmVyIGFmdGVyIGEgY3Jh c2ggaGF2ZSBiZWVuIGNsZWFuZWQgdXAuCisJICovCisJaWYgKE1ha2VQR0RpcmVjdG9yeShuZXdw YXRoKSA8IDApCisJCWVyZXBvcnQoRVJST1IsCisJCQkJKGVycmNvZGVfZm9yX2ZpbGVfYWNjZXNz KCksCisJCQkJIGVycm1zZygiY291bGQgbm90IGNyZWF0ZSBkaXJlY3RvcnkgXCIlc1wiOiAlbSIs IG5ld3BhdGgpKSk7CisKKwljb3B5X2ZpbGUoc3RhdGVwYXRoLCBuZXdzdGF0ZXBhdGgpOworCisJ ZnN5bmNfZm5hbWUobmV3c3RhdGVwYXRoLCBmYWxzZSk7CisJZnN5bmNfZm5hbWUobmV3cGF0aCwg dHJ1ZSk7CisJZnN5bmNfZm5hbWUoInBnX3JlcGxzbG90IiwgdHJ1ZSk7CisKKwkvKgorCSAqIE1v dmUgdGhlIHNsb3QgZGlyZWN0b3J5IGFzaWRlIGZvciBjbGVhbnVwIGJ5IHRoZSBjdXN0b2RpYW4u ICBBZnRlciB0aGlzCisJICogc3RlcCwgdGhlcmUgd2lsbCBiZSBubyBzbG90IGRpcmVjdG9yeS4g IFN0YXJ0dXBSZW9yZGVyQnVmZmVyKCkgaGFzCisJICogc3BlY2lhbCBsb2dpYyB0byBtYWtlIHN1 cmUgd2UgZG9uJ3QgbG9zZSB0aGUgc2xvdCBpZiB3ZSBjcmFzaCBhdCB0aGlzCisJICogcG9pbnQu CisJICovCisJU3RhZ2VTbG90RGlyRm9yUmVtb3ZhbChzbG90bmFtZSwgcGF0aCk7CisKKwkvKgor CSAqIE1vdmUgb3VyICIubmV3IiBkaXJlY3RvcnkgdG8gYmVjb21lIG91ciBuZXcgc2xvdCBkaXJl Y3RvcnkuCisJICovCisJaWYgKHJlbmFtZShuZXdwYXRoLCBwYXRoKSAhPSAwKQorCQllcmVwb3J0 KEVSUk9SLAorCQkJCShlcnJjb2RlX2Zvcl9maWxlX2FjY2VzcygpLAorCQkJCSBlcnJtc2coImNv dWxkIG5vdCByZW5hbWUgZmlsZSBcIiVzXCI6ICVtIiwgbmV3cGF0aCkpKTsKKworCWZzeW5jX2Zu YW1lKHBhdGgsIHRydWUpOworCWZzeW5jX2ZuYW1lKCJwZ19yZXBsc2xvdCIsIHRydWUpOworfQor CisvKgorICogVGhpcyBmdW5jdGlvbiByZW5hbWVzIHRoZSBnaXZlbiBkaXJlY3Rvcnkgd2l0aCBh IHNwZWNpYWwgc3VmZml4IHRoYXQgdGhlCisgKiBjdXN0b2RpYW4gd2lsbCBrbm93IHRvIGxvb2sg Zm9yLiAgQW4gaW50ZWdlciBpcyBhcHBlbmRlZCB0byB0aGUgZW5kIG9mIHRoZQorICogbmV3IGRp cmVjdG9yeSBuYW1lIGluIGNhc2UgcHJldmlvdXNseSBzdGFnZWQgc2xvdCBkaXJlY3RvcmllcyBo YXZlIG5vdCB5ZXQKKyAqIGJlZW4gcmVtb3ZlZC4KKyAqLworc3RhdGljIHZvaWQKK1N0YWdlU2xv dERpckZvclJlbW92YWwoY29uc3QgY2hhciAqc2xvdG5hbWUsIGNvbnN0IGNoYXIgKnNsb3RwYXRo KQoreworCWNoYXIJCXN0YWdlX3BhdGhbTUFYUEdQQVRIXTsKKworCS8qCisJICogRmluZCBhIG5h bWUgZm9yIHRoZSBzdGFnZSBkaXJlY3RvcnkuICBXZSBqdXN0IGluY3JlbWVudCBhbiBpbnRlZ2Vy IGF0IHRoZQorCSAqIGVuZCBvZiB0aGUgbmFtZSB1bnRpbCB3ZSBmaW5kIG9uZSB0aGF0IGRvZXNu J3QgZXhpc3QuCisJICovCisJZm9yIChpbnQgbiA9IDA7IG4gPD0gSU5UX01BWDsgbisrKQorCXsK KwkJRElSCQkgICAqZGlyOworCisJCXNwcmludGYoc3RhZ2VfcGF0aCwgInBnX3JlcGxzbG90LyVz LnRvX3JlbW92ZV8lZCIsIHNsb3RuYW1lLCBuKTsKKworCQlkaXIgPSBBbGxvY2F0ZURpcihzdGFn ZV9wYXRoKTsKKwkJaWYgKGRpciA9PSBOVUxMKQorCQl7CisJCQlpZiAoZXJybm8gPT0gRU5PRU5U KQorCQkJCWJyZWFrOworCisJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZV9mb3JfZmls ZV9hY2Nlc3MoKSwKKwkJCQkJIGVycm1zZygiY291bGQgbm90IG9wZW4gZGlyZWN0b3J5IFwiJXNc IjogJW0iLAorCQkJCQkJCXN0YWdlX3BhdGgpKSk7CisJCX0KKwkJRnJlZURpcihkaXIpOworCisJ CXN0YWdlX3BhdGhbMF0gPSAnXDAnOworCX0KKworCS8qCisJICogSW4gdGhlIHVubGlrZWx5IGV2 ZW50IHRoYXQgd2UgY291bGRuJ3QgZmluZCBhIG5hbWUgZm9yIHRoZSBzdGFnZQorCSAqIGRpcmVj dG9yeSwgYmFpbCBvdXQuCisJICovCisJaWYgKHN0YWdlX3BhdGhbMF0gPT0gJ1wwJykKKwkJZXJl cG9ydChFUlJPUiwKKwkJCQkoZXJybXNnKCJjb3VsZCBub3Qgc3RhZ2UgXCIlc1wiIGZvciBkZWxl dGlvbiIsCisJCQkJCQlzbG90cGF0aCkpKTsKKworCS8qCisJICogUmVuYW1lIHRoZSBzbG90IGRp cmVjdG9yeS4KKwkgKi8KKwlpZiAocmVuYW1lKHNsb3RwYXRoLCBzdGFnZV9wYXRoKSAhPSAwKQor CQllcmVwb3J0KEVSUk9SLAorCQkJCShlcnJjb2RlX2Zvcl9maWxlX2FjY2VzcygpLAorCQkJCSBl cnJtc2coImNvdWxkIG5vdCByZW5hbWUgZmlsZSBcIiVzXCI6ICVtIiwgc2xvdHBhdGgpKSk7CisK Kwlmc3luY19mbmFtZShzdGFnZV9wYXRoLCB0cnVlKTsKKwlmc3luY19mbmFtZSgicGdfcmVwbHNs b3QiLCB0cnVlKTsKK30KKworLyoKKyAqIFJlbW92ZSBzbG90IGRpcmVjdG9yaWVzIHRoYXQgaGF2 ZSBiZWVuIHN0YWdlZCBmb3IgZGVsZXRpb24gYnkKKyAqIFJlb3JkZXJCdWZmZXJDbGVhbnVwKCku CisgKi8KK3ZvaWQKK1JlbW92ZVN0YWdlZFNsb3REaXJlY3Rvcmllcyh2b2lkKQoreworCURJUgkJ ICAgKmRpcjsKKwlzdHJ1Y3QgZGlyZW50ICpkZTsKKworCWRpciA9IEFsbG9jYXRlRGlyKCJwZ19y ZXBsc2xvdCIpOworCXdoaWxlICghU2h1dGRvd25SZXF1ZXN0UGVuZGluZyAmJgorCQkgICAoZGUg PSBSZWFkRGlyKGRpciwgInBnX3JlcGxzbG90IikpICE9IE5VTEwpCisJeworCQlzdHJ1Y3Qgc3Rh dCBzdDsKKwkJY2hhcgkJcGF0aFtNQVhQR1BBVEhdOworCisJCWlmIChzdHJzdHIoZGUtPmRfbmFt ZSwgIi50b19yZW1vdmUiKSA9PSBOVUxMKQorCQkJY29udGludWU7CisKKwkJc3ByaW50ZihwYXRo LCAicGdfcmVwbHNsb3QvJXMiLCBkZS0+ZF9uYW1lKTsKKwkJaWYgKGxzdGF0KHBhdGgsICZzdCkg IT0gMCkKKwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJtc2coImNvdWxkIG5vdCBzdGF0IGZp bGUgXCIlc1wiOiAlbSIsIHBhdGgpKSk7CisKKwkJaWYgKCFTX0lTRElSKHN0LnN0X21vZGUpKQor CQkJY29udGludWU7CisKKwkJUmVtb3ZlU3RhZ2VkU2xvdERpcmVjdG9yeShwYXRoKTsKKwl9CisJ RnJlZURpcihkaXIpOworfQorCisvKgorICogUmVtb3ZlcyBvbmUgc2xvdCBkaXJlY3RvcnkgdGhh dCBoYXMgYmVlbiBzdGFnZWQgZm9yIGRlbGV0aW9uIGJ5CisgKiBSZW9yZGVyQnVmZmVyQ2xlYW51 cCgpLiAgSWYgYSBzaHV0ZG93biByZXF1ZXN0IGlzIHBlbmRpbmcsIGV4aXQgYXMgc29vbiBhcwor ICogcG9zc2libGUuCisgKi8KK3N0YXRpYyB2b2lkCitSZW1vdmVTdGFnZWRTbG90RGlyZWN0b3J5 KGNvbnN0IGNoYXIgKnBhdGgpCit7CisJRElSCQkgICAqZGlyOworCXN0cnVjdCBkaXJlbnQgKmRl OworCisJZGlyID0gQWxsb2NhdGVEaXIocGF0aCk7CisJd2hpbGUgKCFTaHV0ZG93blJlcXVlc3RQ ZW5kaW5nICYmCisJCSAgIChkZSA9IFJlYWREaXIoZGlyLCBwYXRoKSkgIT0gTlVMTCkKKwl7CisJ CXN0cnVjdCBzdGF0IHN0OworCQljaGFyCQlmaWxlcGF0aFtNQVhQR1BBVEhdOworCisJCWlmIChz dHJjbXAoZGUtPmRfbmFtZSwgIi4iKSA9PSAwIHx8CisJCQlzdHJjbXAoZGUtPmRfbmFtZSwgIi4u IikgPT0gMCkKKwkJCWNvbnRpbnVlOworCisJCXNwcmludGYoZmlsZXBhdGgsICIlcy8lcyIsIHBh dGgsIGRlLT5kX25hbWUpOworCisJCWlmIChsc3RhdChmaWxlcGF0aCwgJnN0KSA8IDApCisJCQll cmVwb3J0KEVSUk9SLAorCQkJCQkoZXJyY29kZV9mb3JfZmlsZV9hY2Nlc3MoKSwKKwkJCQkJIGVy cm1zZygiY291bGQgbm90IHN0YXQgZmlsZSBcIiVzXCI6ICVtIiwgZmlsZXBhdGgpKSk7CisJCWVs c2UgaWYgKFNfSVNESVIoc3Quc3RfbW9kZSkpCisJCQlSZW1vdmVTdGFnZWRTbG90RGlyZWN0b3J5 KGZpbGVwYXRoKTsKKwkJZWxzZSBpZiAodW5saW5rKGZpbGVwYXRoKSA8IDApCisJCQllcmVwb3J0 KEVSUk9SLAorCQkJCQkoZXJyY29kZV9mb3JfZmlsZV9hY2Nlc3MoKSwKKwkJCQkJIGVycm1zZygi Y291bGQgbm90IHJlbW92ZSBmaWxlIFwiJXNcIjogJW0iLCBmaWxlcGF0aCkpKTsKKwl9CisJRnJl ZURpcihkaXIpOworCisJaWYgKHJtZGlyKHBhdGgpIDwgMCkKKwkJZXJlcG9ydChFUlJPUiwKKwkJ CQkoZXJyY29kZV9mb3JfZmlsZV9hY2Nlc3MoKSwKKwkJCQkgZXJybXNnKCJjb3VsZCBub3QgcmVt b3ZlIGRpcmVjdG9yeSBcIiVzXCI6ICVtIiwgcGF0aCkpKTsKK30KKwogLyoKICAqIEdpdmVuIGEg cmVwbGljYXRpb24gc2xvdCwgdHJhbnNhY3Rpb24gSUQgYW5kIHNlZ21lbnQgbnVtYmVyLCBmaWxs IGluIHRoZQogICogY29ycmVzcG9uZGluZyBzcGlsbCBmaWxlIGludG8gJ3BhdGgnLCB3aGljaCBp cyBhIGNhbGxlci1vd25lZCBidWZmZXIgb2Ygc2l6ZQpAQCAtNDQ1OCw2ICs0NjYxLDgzIEBAIFN0 YXJ0dXBSZW9yZGVyQnVmZmVyKHZvaWQpCiAJRElSCQkgICAqbG9naWNhbF9kaXI7CiAJc3RydWN0 IGRpcmVudCAqbG9naWNhbF9kZTsKIAorCS8qCisJICogRmlyc3QsIGhhbmRsZSBhbnkgIi5uZXci IGRpcmVjdG9yaWVzIHRoYXQgd2VyZSBsZWZ0b3ZlciBhZnRlciBhIGNyYXNoLgorCSAqIFRoZXNl IGFyZSBjcmVhdGVkIGFuZCBzd2FwcGVkIHdpdGggdGhlIGFjdHVhbCByZXBsaWNhdGlvbiBzbG90 CisJICogZGlyZWN0b3JpZXMgc28gdGhhdCBjbGVhbnVwIG9mIHNwaWxsZWQgZGF0YSBjYW4gYmUg ZG9uZSBhc3luY2hyb25vdXNseSBieQorCSAqIHRoZSBjdXN0b2RpYW4uCisJICovCisJbG9naWNh bF9kaXIgPSBBbGxvY2F0ZURpcigicGdfcmVwbHNsb3QiKTsKKwl3aGlsZSAoKGxvZ2ljYWxfZGUg PSBSZWFkRGlyKGxvZ2ljYWxfZGlyLCAicGdfcmVwbHNsb3QiKSkgIT0gTlVMTCkKKwl7CisJCWNo YXIJCW5hbWVbTkFNRURBVEFMRU5dOworCQljaGFyCQlwYXRoW05BTUVEQVRBTEVOICsgMTJdOwor CQlzdHJ1Y3Qgc3RhdCBzdGF0YnVmOworCisJCWlmIChzdHJjbXAobG9naWNhbF9kZS0+ZF9uYW1l LCAiLiIpID09IDAgfHwKKwkJCXN0cmNtcChsb2dpY2FsX2RlLT5kX25hbWUsICIuLiIpID09IDAp CisJCQljb250aW51ZTsKKworCQkvKgorCQkgKiBNYWtlIHN1cmUgaXQncyBhIHZhbGlkICIubmV3 IiBkaXJlY3RvcnkuCisJCSAqLworCQlpZiAoIXBnX3N0cl9lbmRzd2l0aChsb2dpY2FsX2RlLT5k X25hbWUsICIubmV3IikgfHwKKwkJCXN0cmxlbihsb2dpY2FsX2RlLT5kX25hbWUpID49IE5BTUVE QVRBTEVOICsgNCkKKwkJCWNvbnRpbnVlOworCisJCXN0cm5jcHkobmFtZSwgbG9naWNhbF9kZS0+ ZF9uYW1lLCBzaXplb2YobmFtZSkpOworCQluYW1lW3N0cmxlbihsb2dpY2FsX2RlLT5kX25hbWUp IC0gNF0gPSAnXDAnOworCQlpZiAoIVJlcGxpY2F0aW9uU2xvdFZhbGlkYXRlTmFtZShuYW1lLCBE RUJVRzIpKQorCQkJY29udGludWU7CisKKwkJc3ByaW50ZihwYXRoLCAicGdfcmVwbHNsb3QvJXMi LCBuYW1lKTsKKwkJaWYgKGxzdGF0KHBhdGgsICZzdGF0YnVmKSA9PSAwKQorCQl7CisJCQlpZiAo IVNfSVNESVIoc3RhdGJ1Zi5zdF9tb2RlKSkKKwkJCQljb250aW51ZTsKKworCQkJLyoKKwkJCSAq IElmIHRoZSBvcmlnaW5hbCBkaXJlY3Rvcnkgc3RpbGwgZXhpc3RzLCBqdXN0IGRlbGV0ZSB0aGUg Ii5uZXciCisJCQkgKiBkaXJlY3RvcnkuICBXZSdsbCB0cnkgYWdhaW4gd2hlbiB3ZSBjYWxsIFJl b3JkZXJCdWZmZXJDbGVhbnVwKCkKKwkJCSAqIGxhdGVyIG9uLgorCQkJICovCisJCQlpZiAoIXJt dHJlZShwYXRoLCB0cnVlKSkKKwkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJKGVycm1zZygiY291 bGQgbm90IHJlbW92ZSBkaXJlY3RvcnkgXCIlc1wiIiwgcGF0aCkpKTsKKwkJfQorCQllbHNlIGlm IChlcnJubyA9PSBFTk9FTlQpCisJCXsKKwkJCWNoYXIJCW5ld3BhdGhbTkFNRURBVEFMRU4gKyAx Nl07CisKKwkJCS8qCisJCQkgKiBJZiB0aGUgb3JpZ2luYWwgZGlyZWN0b3J5IGlzIGdvbmUsIHdl IG5lZWQgdG8gcmVuYW1lIHRoZSAiLm5ldyIKKwkJCSAqIGRpcmVjdG9yeSB0byB0YWtlIGl0cyBw bGFjZS4gIFdlIGtub3cgdGhhdCB0aGUgIi5uZXciIGRpcmVjdG9yeQorCQkJICogaXMgcmVhZHkg dG8gYmUgdGhlIHJlYWwgZGVhbCBpZiB3ZSBwcmV2aW91c2x5IG1hZGUgaXQgZmFyIGVub3VnaAor CQkJICogdG8gZGVsZXRlIHRoZSBvcmlnaW5hbCBkaXJlY3RvcnkuCisJCQkgKi8KKwkJCXNwcmlu dGYobmV3cGF0aCwgInBnX3JlcGxzbG90LyVzIiwgbG9naWNhbF9kZS0+ZF9uYW1lKTsKKwkJCWlm IChyZW5hbWUobmV3cGF0aCwgcGF0aCkgIT0gMCkKKwkJCQllcmVwb3J0KEVSUk9SLAorCQkJCQkJ KGVycmNvZGVfZm9yX2ZpbGVfYWNjZXNzKCksCisJCQkJCQkgZXJybXNnKCJjb3VsZCBub3QgcmVu YW1lIGZpbGUgXCIlc1wiIHRvIFwiJXNcIjogJW0iLAorCQkJCQkJCQluZXdwYXRoLCBwYXRoKSkp OworCisJCQlmc3luY19mbmFtZShwYXRoLCB0cnVlKTsKKwkJfQorCQllbHNlCisJCQllcmVwb3J0 KEVSUk9SLAorCQkJCQkoZXJyY29kZV9mb3JfZmlsZV9hY2Nlc3MoKSwKKwkJCQkJIGVycm1zZygi Y291bGQgbm90IHN0YXQgZmlsZSBcIiVzXCI6ICVtIiwgcGF0aCkpKTsKKworCQlmc3luY19mbmFt ZSgicGdfcmVwbHNsb3QiLCB0cnVlKTsKKwl9CisJRnJlZURpcihsb2dpY2FsX2Rpcik7CisKKwkv KgorCSAqIE5vdyB3ZSBjYW4gcHJvY2VlZCB3aXRoIGRlbGV0aW5nIGFsbCBzcGlsbGVkIGRhdGEu ICAoVGhpcyBhY3R1YWxseSBqdXN0CisJICogbW92ZXMgdGhlIGRpcmVjdG9yaWVzIGFzaWRlIHNv IHRoYXQgdGhlIGN1c3RvZGlhbiBjYW4gY2xlYW4gaXQgdXAKKwkgKiBhc3luY2hyb25vdXNseS4p CisJICovCiAJbG9naWNhbF9kaXIgPSBBbGxvY2F0ZURpcigicGdfcmVwbHNsb3QiKTsKIAl3aGls ZSAoKGxvZ2ljYWxfZGUgPSBSZWFkRGlyKGxvZ2ljYWxfZGlyLCAicGdfcmVwbHNsb3QiKSkgIT0g TlVMTCkKIAl7CkBAIC00NDcwLDEyICs0NzUwLDE4IEBAIFN0YXJ0dXBSZW9yZGVyQnVmZmVyKHZv aWQpCiAJCQljb250aW51ZTsKIAogCQkvKgotCQkgKiBvaywgaGFzIHRvIGJlIGEgc3Vydml2aW5n IGxvZ2ljYWwgc2xvdCwgaXRlcmF0ZSBhbmQgZGVsZXRlCi0JCSAqIGV2ZXJ5dGhpbmcgc3RhcnRp bmcgd2l0aCB4aWQtKgorCQkgKiBvaywgaGFzIHRvIGJlIGEgc3Vydml2aW5nIGxvZ2ljYWwgc2xv dCwgZGVsZXRlIGV2ZXJ5dGhpbmcgZXhjZXB0IGZvcgorCQkgKiBzdGF0ZQogCQkgKi8KLQkJUmVv cmRlckJ1ZmZlckNsZWFudXBTZXJpYWxpemVkVFhOcyhsb2dpY2FsX2RlLT5kX25hbWUpOworCQlS ZW9yZGVyQnVmZmVyQ2xlYW51cChsb2dpY2FsX2RlLT5kX25hbWUpOwogCX0KIAlGcmVlRGlyKGxv Z2ljYWxfZGlyKTsKKworCS8qCisJICogV2FrZSB1cCB0aGUgY3VzdG9kaWFuIHNvIGl0IGNsZWFu cyB1cCBvdXIgb2xkIHNsb3QgZGF0YS4KKwkgKi8KKwlpZiAoUHJvY0dsb2JhbC0+Y3VzdG9kaWFu TGF0Y2gpCisJCVNldExhdGNoKFByb2NHbG9iYWwtPmN1c3RvZGlhbkxhdGNoKTsKIH0KIAogLyog LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCmRpZmYgLS1naXQgYS9zcmMv YmFja2VuZC9yZXBsaWNhdGlvbi9zbG90LmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9zbG90 LmMKaW5kZXggOTBiYTliNDE3ZC4uZTlkYmMxOGUyMiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQv cmVwbGljYXRpb24vc2xvdC5jCisrKyBiL3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL3Nsb3QuYwpA QCAtMTQzMCw2ICsxNDMwLDEwIEBAIFN0YXJ0dXBSZXBsaWNhdGlvblNsb3RzKHZvaWQpCiAJCQlj b250aW51ZTsKIAkJfQogCisJCS8qIGlmIGl0J3MgYW4gb2xkIHNsb3QgZGlyZWN0b3J5IHRoYXQn cyBzdGFnZWQgZm9yIHJlbW92YWwsIGlnbm9yZSBpdCAqLworCQlpZiAoc3Ryc3RyKHJlcGxpY2F0 aW9uX2RlLT5kX25hbWUsICIudG9fcmVtb3ZlIikgIT0gTlVMTCkKKwkJCWNvbnRpbnVlOworCiAJ CS8qIGxvb2tzIGxpa2UgYSBzbG90IGluIGEgbm9ybWFsIHN0YXRlLCByZXN0b3JlICovCiAJCVJl c3RvcmVTbG90RnJvbURpc2socmVwbGljYXRpb25fZGUtPmRfbmFtZSk7CiAJfQpkaWZmIC0tZ2l0 IGEvc3JjL2luY2x1ZGUvcmVwbGljYXRpb24vcmVvcmRlcmJ1ZmZlci5oIGIvc3JjL2luY2x1ZGUv cmVwbGljYXRpb24vcmVvcmRlcmJ1ZmZlci5oCmluZGV4IDViNDBmZjc1ZjcuLjgwN2I3MDM4ZDkg MTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3Jlb3JkZXJidWZmZXIuaAorKysg Yi9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9yZW9yZGVyYnVmZmVyLmgKQEAgLTY4MSw1ICs2ODEs NiBAQCBUcmFuc2FjdGlvbklkIFJlb3JkZXJCdWZmZXJHZXRPbGRlc3RYbWluKFJlb3JkZXJCdWZm ZXIgKnJiKTsKIHZvaWQJCVJlb3JkZXJCdWZmZXJTZXRSZXN0YXJ0UG9pbnQoUmVvcmRlckJ1ZmZl ciAqLCBYTG9nUmVjUHRyIHB0cik7CiAKIHZvaWQJCVN0YXJ0dXBSZW9yZGVyQnVmZmVyKHZvaWQp Owordm9pZAkJUmVtb3ZlU3RhZ2VkU2xvdERpcmVjdG9yaWVzKHZvaWQpOwogCiAjZW5kaWYKLS0g CjIuMTYuNgoK --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_ Content-Type: application/octet-stream; name="v2-0007-Use-syncfs-in-CheckPointLogicalRewriteHeap-for-sh.patch" Content-Description: v2-0007-Use-syncfs-in-CheckPointLogicalRewriteHeap-for-sh.patch Content-Disposition: attachment; filename="v2-0007-Use-syncfs-in-CheckPointLogicalRewriteHeap-for-sh.patch"; size=3257; creation-date="Tue, 14 Dec 2021 20:23:57 GMT"; modification-date="Tue, 14 Dec 2021 20:23:57 GMT" Content-ID: <256D8DE320F8324880FF0EFED08FD228@amazon.com> Content-Transfer-Encoding: base64 RnJvbSAyZDc5Nzg5NDdjOTg5MTU4NTY5MmE4NGU1YWUyMzY2NjRmNjBjZWUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogTW9uLCAxMyBEZWMgMjAyMSAyMDoyMDoxMiAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjIg Ny84XSBVc2Ugc3luY2ZzKCkgaW4gQ2hlY2tQb2ludExvZ2ljYWxSZXdyaXRlSGVhcCgpIGZvcgog c2h1dGRvd24gYW5kIGVuZC1vZi1yZWNvdmVyeSBjaGVja3BvaW50cy4KClRoaXMgbWF5IHNhdmUg cXVpdGUgYSBiaXQgb2YgdGltZSB3aGVuIHRoZXJlIGFyZSBtYW55IG1hcHBpbmcgZmlsZXMKdG8g Zmx1c2ggdG8gZGlzay4KLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9yZXdyaXRlaGVhcC5j IHwgMzUgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0KIHNyYy9iYWNrZW5kL2Fj Y2Vzcy90cmFuc2FtL3hsb2cuYyAgICAgfCAgMiArLQogc3JjL2luY2x1ZGUvYWNjZXNzL3Jld3Jp dGVoZWFwLmggICAgICB8ICAyICstCiAzIGZpbGVzIGNoYW5nZWQsIDM2IGluc2VydGlvbnMoKyks IDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvcmV3 cml0ZWhlYXAuYyBiL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL3Jld3JpdGVoZWFwLmMKaW5kZXgg ZTExZjViZmI4MC4uZDY5N2Q0NmZiYiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvYWNjZXNzL2hl YXAvcmV3cml0ZWhlYXAuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9yZXdyaXRlaGVh cC5jCkBAIC0xMTkzLDcgKzExOTMsNyBAQCBoZWFwX3hsb2dfbG9naWNhbF9yZXdyaXRlKFhMb2dS ZWFkZXJTdGF0ZSAqcikKICAqIC0tLQogICovCiB2b2lkCi1DaGVja1BvaW50TG9naWNhbFJld3Jp dGVIZWFwKHZvaWQpCitDaGVja1BvaW50TG9naWNhbFJld3JpdGVIZWFwKGJvb2wgc2h1dGRvd24p CiB7CiAJWExvZ1JlY1B0cgljdXRvZmY7CiAJWExvZ1JlY1B0cglyZWRvOwpAQCAtMTIxOSw2ICsx MjE5LDM5IEBAIENoZWNrUG9pbnRMb2dpY2FsUmV3cml0ZUhlYXAodm9pZCkKIAlpZiAoUHJvY0ds b2JhbC0+Y3VzdG9kaWFuTGF0Y2gpCiAJCVNldExhdGNoKFByb2NHbG9iYWwtPmN1c3RvZGlhbkxh dGNoKTsKIAorI2lmZGVmIEhBVkVfU1lOQ0ZTCisKKwkvKgorCSAqIElmIHdlIGFyZSBkb2luZyBh IHNodXRkb3duIG9yIGVuZC1vZi1yZWNvdmVyeSBjaGVja3BvaW50LCBsZXQncyB1c2UKKwkgKiBz eW5jZnMoKSB0byBmbHVzaCB0aGUgbWFwcGluZ3MgdG8gZGlzayBpbnN0ZWFkIG9mIGZsdXNoaW5n IGVhY2ggb25lCisJICogaW5kaXZpZHVhbGx5LiAgVGhpcyBtYXkgc2F2ZSB1cyBxdWl0ZSBhIGJp dCBvZiB0aW1lIHdoZW4gdGhlcmUgYXJlIG1hbnkKKwkgKiBzdWNoIGZpbGVzIHRvIGZsdXNoLgor CSAqLworCWlmIChzaHV0ZG93bikKKwl7CisJCWludAkJZmQ7CisKKwkJZmQgPSBPcGVuVHJhbnNp ZW50RmlsZSgicGdfbG9naWNhbC9tYXBwaW5ncyIsIE9fUkRPTkxZKTsKKwkJaWYgKGZkIDwgMCkK KwkJCWVyZXBvcnQoRVJST1IsCisJCQkJCShlcnJjb2RlX2Zvcl9maWxlX2FjY2VzcygpLAorCQkJ CQkgZXJybXNnKCJjb3VsZCBub3Qgb3BlbiBmaWxlIFwicGdfbG9naWNhbC9tYXBwaW5nc1wiOiAl bSIpKSk7CisKKwkJaWYgKHN5bmNmcyhmZCkgPCAwKQorCQkJZXJlcG9ydChFUlJPUiwKKwkJCQkJ KGVycmNvZGVfZm9yX2ZpbGVfYWNjZXNzKCksCisJCQkJCSBlcnJtc2coImNvdWxkIG5vdCBzeW5j aHJvbml6ZSBmaWxlIHN5c3RlbSBmb3IgZmlsZSBcInBnX2xvZ2ljYWwvbWFwcGluZ3NcIjogJW0i KSkpOworCisJCWlmIChDbG9zZVRyYW5zaWVudEZpbGUoZmQpICE9IDApCisJCQllcmVwb3J0KEVS Uk9SLAorCQkJCQkoZXJyY29kZV9mb3JfZmlsZV9hY2Nlc3MoKSwKKwkJCQkJIGVycm1zZygiY291 bGQgbm90IGNsb3NlIGZpbGUgXCJwZ19sb2dpY2FsL21hcHBpbmdzXCI6ICVtIikpKTsKKworCQly ZXR1cm47CisJfQorCisjZW5kaWYJCQkJCQkJLyogSEFWRV9TWU5DRlMgKi8KKwogCW1hcHBpbmdz X2RpciA9IEFsbG9jYXRlRGlyKCJwZ19sb2dpY2FsL21hcHBpbmdzIik7CiAJd2hpbGUgKChtYXBw aW5nX2RlID0gUmVhZERpcihtYXBwaW5nc19kaXIsICJwZ19sb2dpY2FsL21hcHBpbmdzIikpICE9 IE5VTEwpCiAJewpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5j IGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCmluZGV4IDJhNWEzZmU3NjUuLjVm YjhhYzk0ODMgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2FtL3hsb2cuYwor KysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMKQEAgLTk1NzIsNyArOTU3Miw3 IEBAIENoZWNrUG9pbnRHdXRzKFhMb2dSZWNQdHIgY2hlY2tQb2ludFJlZG8sIGludCBmbGFncykK IHsKIAlDaGVja1BvaW50UmVsYXRpb25NYXAoKTsKIAlDaGVja1BvaW50UmVwbGljYXRpb25TbG90 cygpOwotCUNoZWNrUG9pbnRMb2dpY2FsUmV3cml0ZUhlYXAoKTsKKwlDaGVja1BvaW50TG9naWNh bFJld3JpdGVIZWFwKGZsYWdzICYgKENIRUNLUE9JTlRfSVNfU0hVVERPV04gfCBDSEVDS1BPSU5U X0VORF9PRl9SRUNPVkVSWSkpOwogCUNoZWNrUG9pbnRSZXBsaWNhdGlvbk9yaWdpbigpOwogCiAJ LyogV3JpdGUgb3V0IGFsbCBkaXJ0eSBkYXRhIGluIFNMUlVzIGFuZCB0aGUgbWFpbiBidWZmZXIg cG9vbCAqLwpkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3Jld3JpdGVoZWFwLmggYi9z cmMvaW5jbHVkZS9hY2Nlc3MvcmV3cml0ZWhlYXAuaAppbmRleCAyZGY1ZjRmNWNkLi5kZGEwNjI5 ZGIyIDEwMDY0NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MvcmV3cml0ZWhlYXAuaAorKysgYi9z cmMvaW5jbHVkZS9hY2Nlc3MvcmV3cml0ZWhlYXAuaApAQCAtNTIsNyArNTIsNyBAQCB0eXBlZGVm IHN0cnVjdCBMb2dpY2FsUmV3cml0ZU1hcHBpbmdEYXRhCiAgKiAtLS0KICAqLwogI2RlZmluZSBM T0dJQ0FMX1JFV1JJVEVfRk9STUFUICJtYXAtJXgtJXgtJVhfJVgtJXgtJXgiCi12b2lkCQlDaGVj a1BvaW50TG9naWNhbFJld3JpdGVIZWFwKHZvaWQpOwordm9pZAkJQ2hlY2tQb2ludExvZ2ljYWxS ZXdyaXRlSGVhcChib29sIHNodXRkb3duKTsKIHZvaWQJCVJlbW92ZU9sZExvZ2ljYWxSZXdyaXRl TWFwcGluZ3Modm9pZCk7CiAKICNlbmRpZgkJCQkJCQkvKiBSRVdSSVRFX0hFQVBfSCAqLwotLSAK Mi4xNi42Cgo= --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_ Content-Type: application/octet-stream; name="v2-0006-Move-removal-of-old-logical-rewrite-mapping-files.patch" Content-Description: v2-0006-Move-removal-of-old-logical-rewrite-mapping-files.patch Content-Disposition: attachment; filename="v2-0006-Move-removal-of-old-logical-rewrite-mapping-files.patch"; size=8231; creation-date="Tue, 14 Dec 2021 20:23:57 GMT"; modification-date="Tue, 14 Dec 2021 20:23:57 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSBhYzViZWMyMGJkNzRhNjFjNjkxMDNlYzM1MTk2YzM5MjBlYThkMDUwIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCAxMiBEZWMgMjAyMSAyMjowNzoxMSAtMDgwMApTdWJqZWN0OiBbUEFUQ0ggdjIg Ni84XSBNb3ZlIHJlbW92YWwgb2Ygb2xkIGxvZ2ljYWwgcmV3cml0ZSBtYXBwaW5nIGZpbGVzIHRv CiBjdXN0b2RpYW4uCgpJZiB0aGVyZSBhcmUgbWFueSBzdWNoIGZpbGVzIHRvIHJlbW92ZSwgY2hl Y2twb2ludHMgY2FuIHRha2UgbXVjaApsb25nZXIuICBUbyBhdm9pZCB0aGlzLCBtb3ZlIHRoaXMg d29yayB0byB0aGUgbmV3bHktaW50cm9kdWNlZApjdXN0b2RpYW4gcHJvY2Vzcy4KLS0tCiBzcmMv YmFja2VuZC9hY2Nlc3MvaGVhcC9yZXdyaXRlaGVhcC5jIHwgODMgKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrLS0tLS0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY2hlY2twb2ludGVyLmMg fCAzMyArKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2RpYW4uYyAg ICB8IDEwICsrKysrCiBzcmMvaW5jbHVkZS9hY2Nlc3MvcmV3cml0ZWhlYXAuaCAgICAgIHwgIDEg Kwogc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9iZ3dyaXRlci5oICAgICB8ICAzICsrCiA1IGZpbGVz IGNoYW5nZWQsIDEyMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9yZXdyaXRlaGVhcC5jIGIvc3JjL2JhY2tlbmQvYWNj ZXNzL2hlYXAvcmV3cml0ZWhlYXAuYwppbmRleCA5ODZhNzc2YmJkLi5lMTFmNWJmYjgwIDEwMDY0 NAotLS0gYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9yZXdyaXRlaGVhcC5jCisrKyBiL3NyYy9i YWNrZW5kL2FjY2Vzcy9oZWFwL3Jld3JpdGVoZWFwLmMKQEAgLTExNiwxMCArMTE2LDEzIEBACiAj aW5jbHVkZSAibGliL2lsaXN0LmgiCiAjaW5jbHVkZSAibWlzY2FkbWluLmgiCiAjaW5jbHVkZSAi cGdzdGF0LmgiCisjaW5jbHVkZSAicG9zdG1hc3Rlci9iZ3dyaXRlci5oIgorI2luY2x1ZGUgInBv c3RtYXN0ZXIvaW50ZXJydXB0LmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vbG9naWNhbC5oIgog I2luY2x1ZGUgInJlcGxpY2F0aW9uL3Nsb3QuaCIKICNpbmNsdWRlICJzdG9yYWdlL2J1Zm1nci5o IgogI2luY2x1ZGUgInN0b3JhZ2UvZmQuaCIKKyNpbmNsdWRlICJzdG9yYWdlL3Byb2MuaCIKICNp bmNsdWRlICJzdG9yYWdlL3Byb2NhcnJheS5oIgogI2luY2x1ZGUgInN0b3JhZ2Uvc21nci5oIgog I2luY2x1ZGUgInV0aWxzL21lbXV0aWxzLmgiCkBAIC0xMTgyLDcgKzExODUsOCBAQCBoZWFwX3hs b2dfbG9naWNhbF9yZXdyaXRlKFhMb2dSZWFkZXJTdGF0ZSAqcikKICAqIFBlcmZvcm0gYSBjaGVj a3BvaW50IGZvciBsb2dpY2FsIHJld3JpdGUgbWFwcGluZ3MKICAqCiAgKiBUaGlzIHNlcnZlcyB0 d28gdGFza3M6Ci0gKiAxKSBSZW1vdmUgYWxsIG1hcHBpbmdzIG5vdCBuZWVkZWQgYW55bW9yZSBi YXNlZCBvbiB0aGUgbG9naWNhbCByZXN0YXJ0IExTTgorICogMSkgQWxlcnQgdGhlIGN1c3RvZGlh biB0byByZW1vdmUgYWxsIG1hcHBpbmdzIG5vdCBuZWVkZWQgYW55bW9yZSBiYXNlZCBvbiB0aGUK KyAqICAgIGxvZ2ljYWwgcmVzdGFydCBMU04KICAqIDIpIEZsdXNoIGFsbCByZW1haW5pbmcgbWFw cGluZ3MgdG8gZGlzaywgc28gdGhhdCByZXBsYXkgYWZ0ZXIgYSBjaGVja3BvaW50CiAgKgkgIG9u bHkgaGFzIHRvIGRlYWwgd2l0aCB0aGUgcGFydHMgb2YgYSBtYXBwaW5nIHRoYXQgaGF2ZSBiZWVu IHdyaXR0ZW4gb3V0CiAgKgkgIGFmdGVyIHRoZSBjaGVja3BvaW50IHN0YXJ0ZWQuCkBAIC0xMjEw LDYgKzEyMTQsMTEgQEAgQ2hlY2tQb2ludExvZ2ljYWxSZXdyaXRlSGVhcCh2b2lkKQogCWlmIChj dXRvZmYgIT0gSW52YWxpZFhMb2dSZWNQdHIgJiYgcmVkbyA8IGN1dG9mZikKIAkJY3V0b2ZmID0g cmVkbzsKIAorCS8qIGxldCB0aGUgY3VzdG9kaWFuIGtub3cgd2hhdCBpdCBjYW4gcmVtb3ZlICov CisJQ2hlY2tQb2ludFNldExvZ2ljYWxSZXdyaXRlQ3V0b2ZmKGN1dG9mZik7CisJaWYgKFByb2NH bG9iYWwtPmN1c3RvZGlhbkxhdGNoKQorCQlTZXRMYXRjaChQcm9jR2xvYmFsLT5jdXN0b2RpYW5M YXRjaCk7CisKIAltYXBwaW5nc19kaXIgPSBBbGxvY2F0ZURpcigicGdfbG9naWNhbC9tYXBwaW5n cyIpOwogCXdoaWxlICgobWFwcGluZ19kZSA9IFJlYWREaXIobWFwcGluZ3NfZGlyLCAicGdfbG9n aWNhbC9tYXBwaW5ncyIpKSAhPSBOVUxMKQogCXsKQEAgLTEyNDAsMTUgKzEyNDksNyBAQCBDaGVj a1BvaW50TG9naWNhbFJld3JpdGVIZWFwKHZvaWQpCiAKIAkJbHNuID0gKCh1aW50NjQpIGhpKSA8 PCAzMiB8IGxvOwogCi0JCWlmIChsc24gPCBjdXRvZmYgfHwgY3V0b2ZmID09IEludmFsaWRYTG9n UmVjUHRyKQotCQl7Ci0JCQllbG9nKERFQlVHMSwgInJlbW92aW5nIGxvZ2ljYWwgcmV3cml0ZSBm aWxlIFwiJXNcIiIsIHBhdGgpOwotCQkJaWYgKHVubGluayhwYXRoKSA8IDApCi0JCQkJZXJlcG9y dChFUlJPUiwKLQkJCQkJCShlcnJjb2RlX2Zvcl9maWxlX2FjY2VzcygpLAotCQkJCQkJIGVycm1z ZygiY291bGQgbm90IHJlbW92ZSBmaWxlIFwiJXNcIjogJW0iLCBwYXRoKSkpOwotCQl9Ci0JCWVs c2UKKwkJaWYgKGxzbiA+PSBjdXRvZmYgJiYgY3V0b2ZmICE9IEludmFsaWRYTG9nUmVjUHRyKQog CQl7CiAJCQkvKiBvbiBzb21lIG9wZXJhdGluZyBzeXN0ZW1zIGZzeW5jaW5nIGEgZmlsZSByZXF1 aXJlcyBPX1JEV1IgKi8KIAkJCWludAkJCWZkID0gT3BlblRyYW5zaWVudEZpbGUocGF0aCwgT19S RFdSIHwgUEdfQklOQVJZKTsKQEAgLTEyODMsMyArMTI4NCw2NSBAQCBDaGVja1BvaW50TG9naWNh bFJld3JpdGVIZWFwKHZvaWQpCiAJfQogCUZyZWVEaXIobWFwcGluZ3NfZGlyKTsKIH0KKworLyoK KyAqIFJlbW92ZSBhbGwgbWFwcGluZ3Mgbm90IG5lZWRlZCBhbnltb3JlIGJhc2VkIG9uIHRoZSBs b2dpY2FsIHJlc3RhcnQgTFNOIHNhdmVkCisgKiBieSB0aGUgY2hlY2twb2ludGVyLiAgV2UgdXNl IHRoaXMgc2F2ZWQgdmFsdWUgaW5zdGVhZCBvZiBjYWxsaW5nCisgKiBSZXBsaWNhdGlvblNsb3Rz Q29tcHV0ZUxvZ2ljYWxSZXN0YXJ0TFNOKCkgc28gdGhhdCB3ZSBkb24ndCBpbnRlcmZlcmUgd2l0 aCBhbgorICogb25nb2luZyBjYWxsIHRvIENoZWNrUG9pbnRMb2dpY2FsUmV3cml0ZUhlYXAoKSB0 aGF0IGlzIGZsdXNoaW5nIG1hcHBpbmdzIHRvCisgKiBkaXNrLgorICovCit2b2lkCitSZW1vdmVP bGRMb2dpY2FsUmV3cml0ZU1hcHBpbmdzKHZvaWQpCit7CisJWExvZ1JlY1B0cgljdXRvZmY7CisJ RElSCQkgICAqbWFwcGluZ3NfZGlyOworCXN0cnVjdCBkaXJlbnQgKm1hcHBpbmdfZGU7CisJY2hh cgkJcGF0aFtNQVhQR1BBVEggKyAyMF07CisJYm9vbAkJdmFsdWVfc2V0ID0gZmFsc2U7CisKKwlj dXRvZmYgPSBDaGVja1BvaW50R2V0TG9naWNhbFJld3JpdGVDdXRvZmYoJnZhbHVlX3NldCk7CisJ aWYgKCF2YWx1ZV9zZXQpCisJCXJldHVybjsKKworCW1hcHBpbmdzX2RpciA9IEFsbG9jYXRlRGly KCJwZ19sb2dpY2FsL21hcHBpbmdzIik7CisJd2hpbGUgKCFTaHV0ZG93blJlcXVlc3RQZW5kaW5n ICYmCisJCSAgIChtYXBwaW5nX2RlID0gUmVhZERpcihtYXBwaW5nc19kaXIsICJwZ19sb2dpY2Fs L21hcHBpbmdzIikpICE9IE5VTEwpCisJeworCQlzdHJ1Y3Qgc3RhdCBzdGF0YnVmOworCQlPaWQJ CQlkYm9pZDsKKwkJT2lkCQkJcmVsaWQ7CisJCVhMb2dSZWNQdHIJbHNuOworCQlUcmFuc2FjdGlv bklkIHJld3JpdGVfeGlkOworCQlUcmFuc2FjdGlvbklkIGNyZWF0ZV94aWQ7CisJCXVpbnQzMgkJ aGksCisJCQkJCWxvOworCisJCWlmIChzdHJjbXAobWFwcGluZ19kZS0+ZF9uYW1lLCAiLiIpID09 IDAgfHwKKwkJCXN0cmNtcChtYXBwaW5nX2RlLT5kX25hbWUsICIuLiIpID09IDApCisJCQljb250 aW51ZTsKKworCQlzbnByaW50ZihwYXRoLCBzaXplb2YocGF0aCksICJwZ19sb2dpY2FsL21hcHBp bmdzLyVzIiwgbWFwcGluZ19kZS0+ZF9uYW1lKTsKKwkJaWYgKGxzdGF0KHBhdGgsICZzdGF0YnVm KSA9PSAwICYmICFTX0lTUkVHKHN0YXRidWYuc3RfbW9kZSkpCisJCQljb250aW51ZTsKKworCQkv KiBTa2lwIG92ZXIgZmlsZXMgdGhhdCBjYW5ub3QgYmUgb3Vycy4gKi8KKwkJaWYgKHN0cm5jbXAo bWFwcGluZ19kZS0+ZF9uYW1lLCAibWFwLSIsIDQpICE9IDApCisJCQljb250aW51ZTsKKworCQlp ZiAoc3NjYW5mKG1hcHBpbmdfZGUtPmRfbmFtZSwgTE9HSUNBTF9SRVdSSVRFX0ZPUk1BVCwKKwkJ CQkgICAmZGJvaWQsICZyZWxpZCwgJmhpLCAmbG8sICZyZXdyaXRlX3hpZCwgJmNyZWF0ZV94aWQp ICE9IDYpCisJCQllbG9nKEVSUk9SLCAiY291bGQgbm90IHBhcnNlIGZpbGVuYW1lIFwiJXNcIiIs IG1hcHBpbmdfZGUtPmRfbmFtZSk7CisKKwkJbHNuID0gKCh1aW50NjQpIGhpKSA8PCAzMiB8IGxv OworCQlpZiAobHNuID49IGN1dG9mZiAmJiBjdXRvZmYgIT0gSW52YWxpZFhMb2dSZWNQdHIpCisJ CQljb250aW51ZTsKKworCQllbG9nKERFQlVHMSwgInJlbW92aW5nIGxvZ2ljYWwgcmV3cml0ZSBm aWxlIFwiJXNcIiIsIHBhdGgpOworCQlpZiAodW5saW5rKHBhdGgpIDwgMCkKKwkJCWVyZXBvcnQo RVJST1IsCisJCQkJCShlcnJjb2RlX2Zvcl9maWxlX2FjY2VzcygpLAorCQkJCQkgZXJybXNnKCJj b3VsZCBub3QgcmVtb3ZlIGZpbGUgXCIlc1wiOiAlbSIsIHBhdGgpKSk7CisJfQorCUZyZWVEaXIo bWFwcGluZ3NfZGlyKTsKK30KZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY2hl Y2twb2ludGVyLmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2NoZWNrcG9pbnRlci5jCmluZGV4 IDI1YTE4YjdhMTQuLjBjNTU2M2NiNGIgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0 ZXIvY2hlY2twb2ludGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jaGVja3BvaW50 ZXIuYwpAQCAtMTI3LDYgKzEyNyw5IEBAIHR5cGVkZWYgc3RydWN0CiAJdWludDMyCQludW1fYmFj a2VuZF93cml0ZXM7IC8qIGNvdW50cyB1c2VyIGJhY2tlbmQgYnVmZmVyIHdyaXRlcyAqLwogCXVp bnQzMgkJbnVtX2JhY2tlbmRfZnN5bmM7CS8qIGNvdW50cyB1c2VyIGJhY2tlbmQgZnN5bmMgY2Fs bHMgKi8KIAorCVhMb2dSZWNQdHIJbG9naWNhbF9yZXdyaXRlX21hcHBpbmdzX2N1dG9mZjsJLyog Y2FuIHJlbW92ZSBvbGRlciBtYXBwaW5ncyAqLworCVhMb2dSZWNQdHIJbG9naWNhbF9yZXdyaXRl X21hcHBpbmdzX2N1dG9mZl9zZXQ7CisKIAlpbnQJCQludW1fcmVxdWVzdHM7CS8qIGN1cnJlbnQg IyBvZiByZXF1ZXN0cyAqLwogCWludAkJCW1heF9yZXF1ZXN0czsJLyogYWxsb2NhdGVkIGFycmF5 IHNpemUgKi8KIAlDaGVja3BvaW50ZXJSZXF1ZXN0IHJlcXVlc3RzW0ZMRVhJQkxFX0FSUkFZX01F TUJFUl07CkBAIC0xMzM3LDMgKzEzNDAsMzMgQEAgRmlyc3RDYWxsU2luY2VMYXN0Q2hlY2twb2lu dCh2b2lkKQogCiAJcmV0dXJuIEZpcnN0Q2FsbDsKIH0KKworLyoKKyAqIFVzZWQgYnkgQ2hlY2tQ b2ludExvZ2ljYWxSZXdyaXRlSGVhcCgpIHRvIHRlbGwgdGhlIGN1c3RvZGlhbiB3aGljaCBsb2dp Y2FsCisgKiByZXdyaXRlIG1hcHBpbmcgZmlsZXMgaXQgY2FuIHJlbW92ZS4KKyAqLwordm9pZAor Q2hlY2tQb2ludFNldExvZ2ljYWxSZXdyaXRlQ3V0b2ZmKFhMb2dSZWNQdHIgY3V0b2ZmKQorewor CVNwaW5Mb2NrQWNxdWlyZSgmQ2hlY2twb2ludGVyU2htZW0tPmNrcHRfbGNrKTsKKwlDaGVja3Bv aW50ZXJTaG1lbS0+bG9naWNhbF9yZXdyaXRlX21hcHBpbmdzX2N1dG9mZiA9IGN1dG9mZjsKKwlD aGVja3BvaW50ZXJTaG1lbS0+bG9naWNhbF9yZXdyaXRlX21hcHBpbmdzX2N1dG9mZl9zZXQgPSB0 cnVlOworCVNwaW5Mb2NrUmVsZWFzZSgmQ2hlY2twb2ludGVyU2htZW0tPmNrcHRfbGNrKTsKK30K KworLyoKKyAqIFVzZWQgYnkgdGhlIGN1c3RvZGlhbiB0byBkZXRlcm1pbmUgd2hpY2ggbG9naWNh bCByZXdyaXRlIG1hcHBpbmcgZmlsZXMgaXQgY2FuCisgKiByZW1vdmUuCisgKi8KK1hMb2dSZWNQ dHIKK0NoZWNrUG9pbnRHZXRMb2dpY2FsUmV3cml0ZUN1dG9mZihib29sICp2YWx1ZV9zZXQpCit7 CisJWExvZ1JlY1B0cgljdXRvZmY7CisKKwlTcGluTG9ja0FjcXVpcmUoJkNoZWNrcG9pbnRlclNo bWVtLT5ja3B0X2xjayk7CisJY3V0b2ZmID0gQ2hlY2twb2ludGVyU2htZW0tPmxvZ2ljYWxfcmV3 cml0ZV9tYXBwaW5nc19jdXRvZmY7CisJKnZhbHVlX3NldCA9IENoZWNrcG9pbnRlclNobWVtLT5s b2dpY2FsX3Jld3JpdGVfbWFwcGluZ3NfY3V0b2ZmX3NldDsKKwlTcGluTG9ja1JlbGVhc2UoJkNo ZWNrcG9pbnRlclNobWVtLT5ja3B0X2xjayk7CisKKwlyZXR1cm4gY3V0b2ZmOworfQpkaWZmIC0t Z2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2RpYW4uYyBiL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvY3VzdG9kaWFuLmMKaW5kZXggZmJhYzJjNmFkZC4uZTMzMTg4NzhkMCAxMDA2NDQK LS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2RpYW4uYworKysgYi9zcmMvYmFja2Vu ZC9wb3N0bWFzdGVyL2N1c3RvZGlhbi5jCkBAIC0zNCw2ICszNCw3IEBACiAgKi8KICNpbmNsdWRl ICJwb3N0Z3Jlcy5oIgogCisjaW5jbHVkZSAiYWNjZXNzL3Jld3JpdGVoZWFwLmgiCiAjaW5jbHVk ZSAibGlicHEvcHFzaWduYWwuaCIKICNpbmNsdWRlICJwZ3N0YXQuaCIKICNpbmNsdWRlICJwb3N0 bWFzdGVyL2N1c3RvZGlhbi5oIgpAQCAtMjE1LDYgKzIxNiwxNSBAQCBDdXN0b2RpYW5NYWluKHZv aWQpCiAJCSAqLwogCQlSZW1vdmVPbGRTZXJpYWxpemVkU25hcHNob3RzKCk7CiAKKwkJLyoKKwkJ ICogUmVtb3ZlIGxvZ2ljYWwgcmV3cml0ZSBtYXBwaW5nIGZpbGVzIHRoYXQgYXJlIG5vIGxvbmdl ciBuZWVkZWQuCisJCSAqCisJCSAqIEl0IGlzIG5vdCBpbXBvcnRhbnQgZm9yIHRoZXNlIHRvIGJl IHJlbW92ZWQgaW4gc2luZ2xlLXVzZXIgbW9kZSwgc28KKwkJICogd2UgZG9uJ3QgbmVlZCBhbnkg ZXh0cmEgaGFuZGxpbmcgb3V0c2lkZSBvZiB0aGUgY3VzdG9kaWFuIHByb2Nlc3MgZm9yCisJCSAq IHRoaXMuCisJCSAqLworCQlSZW1vdmVPbGRMb2dpY2FsUmV3cml0ZU1hcHBpbmdzKCk7CisKIAkJ LyogQ2FsY3VsYXRlIGhvdyBsb25nIHRvIHNsZWVwICovCiAJCWVuZF90aW1lID0gKHBnX3RpbWVf dCkgdGltZShOVUxMKTsKIAkJZWxhcHNlZF9zZWNzID0gZW5kX3RpbWUgLSBzdGFydF90aW1lOwpk aWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvYWNjZXNzL3Jld3JpdGVoZWFwLmggYi9zcmMvaW5jbHVk ZS9hY2Nlc3MvcmV3cml0ZWhlYXAuaAppbmRleCAxMjFmNTUyNDA1Li4yZGY1ZjRmNWNkIDEwMDY0 NAotLS0gYS9zcmMvaW5jbHVkZS9hY2Nlc3MvcmV3cml0ZWhlYXAuaAorKysgYi9zcmMvaW5jbHVk ZS9hY2Nlc3MvcmV3cml0ZWhlYXAuaApAQCAtNTMsNSArNTMsNiBAQCB0eXBlZGVmIHN0cnVjdCBM b2dpY2FsUmV3cml0ZU1hcHBpbmdEYXRhCiAgKi8KICNkZWZpbmUgTE9HSUNBTF9SRVdSSVRFX0ZP Uk1BVCAibWFwLSV4LSV4LSVYXyVYLSV4LSV4Igogdm9pZAkJQ2hlY2tQb2ludExvZ2ljYWxSZXdy aXRlSGVhcCh2b2lkKTsKK3ZvaWQJCVJlbW92ZU9sZExvZ2ljYWxSZXdyaXRlTWFwcGluZ3Modm9p ZCk7CiAKICNlbmRpZgkJCQkJCQkvKiBSRVdSSVRFX0hFQVBfSCAqLwpkaWZmIC0tZ2l0IGEvc3Jj L2luY2x1ZGUvcG9zdG1hc3Rlci9iZ3dyaXRlci5oIGIvc3JjL2luY2x1ZGUvcG9zdG1hc3Rlci9i Z3dyaXRlci5oCmluZGV4IGM0MzBiMWIyMzYuLmJjOWY1N2M5M2MgMTAwNjQ0Ci0tLSBhL3NyYy9p bmNsdWRlL3Bvc3RtYXN0ZXIvYmd3cml0ZXIuaAorKysgYi9zcmMvaW5jbHVkZS9wb3N0bWFzdGVy L2Jnd3JpdGVyLmgKQEAgLTQyLDQgKzQyLDcgQEAgZXh0ZXJuIHZvaWQgQ2hlY2twb2ludGVyU2ht ZW1Jbml0KHZvaWQpOwogCiBleHRlcm4gYm9vbCBGaXJzdENhbGxTaW5jZUxhc3RDaGVja3BvaW50 KHZvaWQpOwogCitleHRlcm4gdm9pZCBDaGVja1BvaW50U2V0TG9naWNhbFJld3JpdGVDdXRvZmYo WExvZ1JlY1B0ciBjdXRvZmYpOworZXh0ZXJuIFhMb2dSZWNQdHIgQ2hlY2tQb2ludEdldExvZ2lj YWxSZXdyaXRlQ3V0b2ZmKGJvb2wgKnZhbHVlX3NldCk7CisKICNlbmRpZgkJCQkJCQkvKiBfQkdX UklURVJfSCAqLwotLSAKMi4xNi42Cgo= --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_ Content-Type: application/octet-stream; name="v2-0005-Move-removal-of-old-serialized-snapshots-to-custo.patch" Content-Description: v2-0005-Move-removal-of-old-serialized-snapshots-to-custo.patch Content-Disposition: attachment; filename="v2-0005-Move-removal-of-old-serialized-snapshots-to-custo.patch"; size=4433; creation-date="Tue, 14 Dec 2021 20:23:57 GMT"; modification-date="Tue, 14 Dec 2021 20:23:57 GMT" Content-ID: <8135D423FB8A4E4D91B2E5B664F84FED@amazon.com> Content-Transfer-Encoding: base64 RnJvbSA0ZTQxZDgwYTBhYjBmODIwNjAyYjFkZjk5ODYwNWEyOTIwMzYzMzIzIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDIyOjAyOjQwIC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MiA1 LzhdIE1vdmUgcmVtb3ZhbCBvZiBvbGQgc2VyaWFsaXplZCBzbmFwc2hvdHMgdG8gY3VzdG9kaWFu LgoKVGhpcyB3YXMgb25seSBkb25lIGR1cmluZyBjaGVja3BvaW50cyBiZWNhdXNlIGl0IHdhcyBh IGNvbnZlbmllbnQKcGxhY2UgdG8gcHV0IGl0LiAgSG93ZXZlciwgaWYgdGhlcmUgYXJlIG1hbnkg c25hcHNob3RzIHRvIHJlbW92ZSwKaXQgY2FuIHNpZ25pZmljYW50bHkgZXh0ZW5kIGNoZWNrcG9p bnQgdGltZS4gIFRvIGF2b2lkIHRoaXMsIG1vdmUKdGhpcyB3b3JrIHRvIHRoZSBuZXdseS1pbnRy b2R1Y2VkIGN1c3RvZGlhbiBwcm9jZXNzLgotLS0KIHNyYy9iYWNrZW5kL2FjY2Vzcy90cmFuc2Ft L3hsb2cuYyAgICAgICAgICAgfCAgMiAtLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2Rp YW4uYyAgICAgICAgICB8IDExICsrKysrKysrKysrCiBzcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9s b2dpY2FsL3NuYXBidWlsZC5jIHwgMTMgKysrKysrKy0tLS0tLQogc3JjL2luY2x1ZGUvcmVwbGlj YXRpb24vc25hcGJ1aWxkLmggICAgICAgICB8ICAyICstCiA0IGZpbGVzIGNoYW5nZWQsIDE5IGlu c2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvYWNj ZXNzL3RyYW5zYW0veGxvZy5jIGIvc3JjL2JhY2tlbmQvYWNjZXNzL3RyYW5zYW0veGxvZy5jCmlu ZGV4IDcyYWViNDI5NjEuLjJhNWEzZmU3NjUgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vz cy90cmFuc2FtL3hsb2cuYworKysgYi9zcmMvYmFja2VuZC9hY2Nlc3MvdHJhbnNhbS94bG9nLmMK QEAgLTU2LDcgKzU2LDYgQEAKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9sb2dpY2FsLmgiCiAjaW5j bHVkZSAicmVwbGljYXRpb24vb3JpZ2luLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vc2xvdC5o IgotI2luY2x1ZGUgInJlcGxpY2F0aW9uL3NuYXBidWlsZC5oIgogI2luY2x1ZGUgInJlcGxpY2F0 aW9uL3dhbHJlY2VpdmVyLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vd2Fsc2VuZGVyLmgiCiAj aW5jbHVkZSAic3RvcmFnZS9idWZtZ3IuaCIKQEAgLTk1NzMsNyArOTU3Miw2IEBAIENoZWNrUG9p bnRHdXRzKFhMb2dSZWNQdHIgY2hlY2tQb2ludFJlZG8sIGludCBmbGFncykKIHsKIAlDaGVja1Bv aW50UmVsYXRpb25NYXAoKTsKIAlDaGVja1BvaW50UmVwbGljYXRpb25TbG90cygpOwotCUNoZWNr UG9pbnRTbmFwQnVpbGQoKTsKIAlDaGVja1BvaW50TG9naWNhbFJld3JpdGVIZWFwKCk7CiAJQ2hl Y2tQb2ludFJlcGxpY2F0aW9uT3JpZ2luKCk7CiAKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvY3VzdG9kaWFuLmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL2N1c3RvZGlhbi5j CmluZGV4IGE1NDQzZjlhMjEuLmZiYWMyYzZhZGQgMTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvY3VzdG9kaWFuLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0b2Rp YW4uYwpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgInBnc3RhdC5oIgogI2luY2x1ZGUgInBv c3RtYXN0ZXIvY3VzdG9kaWFuLmgiCiAjaW5jbHVkZSAicG9zdG1hc3Rlci9pbnRlcnJ1cHQuaCIK KyNpbmNsdWRlICJyZXBsaWNhdGlvbi9zbmFwYnVpbGQuaCIKICNpbmNsdWRlICJzdG9yYWdlL2J1 Zm1nci5oIgogI2luY2x1ZGUgInN0b3JhZ2UvY29uZGl0aW9uX3ZhcmlhYmxlLmgiCiAjaW5jbHVk ZSAic3RvcmFnZS9wcm9jLmgiCkBAIC0yMDQsNiArMjA1LDE2IEBAIEN1c3RvZGlhbk1haW4odm9p ZCkKIAkJICovCiAJCVJlbW92ZVBnVGVtcEZpbGVzKGZhbHNlLCBmYWxzZSk7CiAKKwkJLyoKKwkJ ICogUmVtb3ZlIHNlcmlhbGl6ZWQgc25hcHNob3RzIHRoYXQgYXJlIG5vIGxvbmdlciByZXF1aXJl ZCBieSBhbnkKKwkJICogbG9naWNhbCByZXBsaWNhdGlvbiBzbG90LgorCQkgKgorCQkgKiBJdCBp cyBub3QgaW1wb3J0YW50IGZvciB0aGVzZSB0byBiZSByZW1vdmVkIGluIHNpbmdsZS11c2VyIG1v ZGUsIHNvCisJCSAqIHdlIGRvbid0IG5lZWQgYW55IGV4dHJhIGhhbmRsaW5nIG91dHNpZGUgb2Yg dGhlIGN1c3RvZGlhbiBwcm9jZXNzIGZvcgorCQkgKiB0aGlzLgorCQkgKi8KKwkJUmVtb3ZlT2xk U2VyaWFsaXplZFNuYXBzaG90cygpOworCiAJCS8qIENhbGN1bGF0ZSBob3cgbG9uZyB0byBzbGVl cCAqLwogCQllbmRfdGltZSA9IChwZ190aW1lX3QpIHRpbWUoTlVMTCk7CiAJCWVsYXBzZWRfc2Vj cyA9IGVuZF90aW1lIC0gc3RhcnRfdGltZTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3JlcGxp Y2F0aW9uL2xvZ2ljYWwvc25hcGJ1aWxkLmMgYi9zcmMvYmFja2VuZC9yZXBsaWNhdGlvbi9sb2dp Y2FsL3NuYXBidWlsZC5jCmluZGV4IGRiZGMxNzJhMmIuLmNmODczYjUxOWIgMTAwNjQ0Ci0tLSBh L3NyYy9iYWNrZW5kL3JlcGxpY2F0aW9uL2xvZ2ljYWwvc25hcGJ1aWxkLmMKKysrIGIvc3JjL2Jh Y2tlbmQvcmVwbGljYXRpb24vbG9naWNhbC9zbmFwYnVpbGQuYwpAQCAtMTI1LDYgKzEyNSw3IEBA CiAjaW5jbHVkZSAiYWNjZXNzL3hhY3QuaCIKICNpbmNsdWRlICJtaXNjYWRtaW4uaCIKICNpbmNs dWRlICJwZ3N0YXQuaCIKKyNpbmNsdWRlICJwb3N0bWFzdGVyL2ludGVycnVwdC5oIgogI2luY2x1 ZGUgInJlcGxpY2F0aW9uL2xvZ2ljYWwuaCIKICNpbmNsdWRlICJyZXBsaWNhdGlvbi9yZW9yZGVy YnVmZmVyLmgiCiAjaW5jbHVkZSAicmVwbGljYXRpb24vc25hcGJ1aWxkLmgiCkBAIC0xOTEyLDE0 ICsxOTEzLDEzIEBAIHNuYXBzaG90X25vdF9pbnRlcmVzdGluZzoKIAogLyoKICAqIFJlbW92ZSBh bGwgc2VyaWFsaXplZCBzbmFwc2hvdHMgdGhhdCBhcmUgbm90IHJlcXVpcmVkIGFueW1vcmUgYmVj YXVzZSBubwotICogc2xvdCBjYW4gbmVlZCB0aGVtLiBUaGlzIGRvZXNuJ3QgYWN0dWFsbHkgaGF2 ZSB0byBydW4gZHVyaW5nIGEgY2hlY2twb2ludCwKLSAqIGJ1dCBpdCdzIGEgY29udmVuaWVudCBw b2ludCB0byBzY2hlZHVsZSB0aGlzLgorICogc2xvdCBjYW4gbmVlZCB0aGVtLgogICoKLSAqIE5C OiBXZSBydW4gdGhpcyBkdXJpbmcgY2hlY2twb2ludHMgZXZlbiBpZiBsb2dpY2FsIGRlY29kaW5n IGlzIGRpc2FibGVkIHNvCi0gKiB3ZSBjbGVhbnVwIG9sZCBzbG90cyBhdCBzb21lIHBvaW50IGFm dGVyIGl0IGdvdCBkaXNhYmxlZC4KKyAqIE5COiBXZSBydW4gdGhpcyBldmVuIGlmIGxvZ2ljYWwg ZGVjb2RpbmcgaXMgZGlzYWJsZWQgc28gd2UgY2xlYW51cCBvbGQgc2xvdHMKKyAqIGF0IHNvbWUg cG9pbnQgYWZ0ZXIgaXQgZ290IGRpc2FibGVkLgogICovCiB2b2lkCi1DaGVja1BvaW50U25hcEJ1 aWxkKHZvaWQpCitSZW1vdmVPbGRTZXJpYWxpemVkU25hcHNob3RzKHZvaWQpCiB7CiAJWExvZ1Jl Y1B0cgljdXRvZmY7CiAJWExvZ1JlY1B0cglyZWRvOwpAQCAtMTk0Miw3ICsxOTQyLDggQEAgQ2hl Y2tQb2ludFNuYXBCdWlsZCh2b2lkKQogCQljdXRvZmYgPSByZWRvOwogCiAJc25hcF9kaXIgPSBB bGxvY2F0ZURpcigicGdfbG9naWNhbC9zbmFwc2hvdHMiKTsKLQl3aGlsZSAoKHNuYXBfZGUgPSBS ZWFkRGlyKHNuYXBfZGlyLCAicGdfbG9naWNhbC9zbmFwc2hvdHMiKSkgIT0gTlVMTCkKKwl3aGls ZSAoIVNodXRkb3duUmVxdWVzdFBlbmRpbmcgJiYKKwkJICAgKHNuYXBfZGUgPSBSZWFkRGlyKHNu YXBfZGlyLCAicGdfbG9naWNhbC9zbmFwc2hvdHMiKSkgIT0gTlVMTCkKIAl7CiAJCXVpbnQzMgkJ aGk7CiAJCXVpbnQzMgkJbG87CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9yZXBsaWNhdGlvbi9z bmFwYnVpbGQuaCBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3NuYXBidWlsZC5oCmluZGV4IDgy YWE4NjEyNWIuLmJhNzI3NjA1OGQgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9u L3NuYXBidWlsZC5oCisrKyBiL3NyYy9pbmNsdWRlL3JlcGxpY2F0aW9uL3NuYXBidWlsZC5oCkBA IC01Nyw3ICs1Nyw3IEBAIHN0cnVjdCBSZW9yZGVyQnVmZmVyOwogc3RydWN0IHhsX2hlYXBfbmV3 X2NpZDsKIHN0cnVjdCB4bF9ydW5uaW5nX3hhY3RzOwogCi1leHRlcm4gdm9pZCBDaGVja1BvaW50 U25hcEJ1aWxkKHZvaWQpOworZXh0ZXJuIHZvaWQgUmVtb3ZlT2xkU2VyaWFsaXplZFNuYXBzaG90 cyh2b2lkKTsKIAogZXh0ZXJuIFNuYXBCdWlsZCAqQWxsb2NhdGVTbmFwc2hvdEJ1aWxkZXIoc3Ry dWN0IFJlb3JkZXJCdWZmZXIgKmNhY2hlLAogCQkJCQkJCQkJCSAgVHJhbnNhY3Rpb25JZCB4bWlu X2hvcml6b24sIFhMb2dSZWNQdHIgc3RhcnRfbHNuLAotLSAKMi4xNi42Cgo= --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_ Content-Type: application/octet-stream; name="v2-0004-Move-pgsql_tmp-file-removal-to-custodian-process.patch" Content-Description: v2-0004-Move-pgsql_tmp-file-removal-to-custodian-process.patch Content-Disposition: attachment; filename="v2-0004-Move-pgsql_tmp-file-removal-to-custodian-process.patch"; size=6598; creation-date="Tue, 14 Dec 2021 20:23:57 GMT"; modification-date="Tue, 14 Dec 2021 20:23:57 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSA1YjEzM2E2NzZhNjRmZWE0Y2M3NDYzZGFhNzU1YWQ2MGY3Yzg3ODllIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDIxOjQyOjUyIC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MiA0 LzhdIE1vdmUgcGdzcWxfdG1wIGZpbGUgcmVtb3ZhbCB0byBjdXN0b2RpYW4gcHJvY2Vzcy4KCldp dGggdGhpcyBjaGFuZ2UsIHN0YXJ0dXAgKGFuZCByZXN0YXJ0IGFmdGVyIGEgY3Jhc2gpIHNpbXBs eQpyZW5hbWVzIHRoZSBwZ3NxbF90bXAgZGlyZWN0b3JpZXMsIGFuZCB0aGUgY3VzdG9kaWFuIHBy b2Nlc3MKYWN0dWFsbHkgcmVtb3ZlcyBhbGwgdGhlIGZpbGVzIGluIHRoZSBzdGFnZWQgZGlyZWN0 b3JpZXMgYXMgd2VsbCBhcwp0aGUgc3RhZ2VkIGRpcmVjdG9yaWVzIHRoZW1zZWx2ZXMuICBUaGlz IHNob3VsZCBoZWxwIGF2b2lkIGxvbmcKc3RhcnR1cCBkZWxheXMgZHVlIHRvIG1hbnkgbGVmdG92 ZXIgdGVtcG9yYXJ5IGZpbGVzLgotLS0KIHNyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvY3VzdG9kaWFu LmMgIHwgMTMgKysrKysrKysrKysrLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVy LmMgfCAxNCArKysrKysrKystLS0tLQogc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMgICAg ICAgfCAzMiArKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogMyBmaWxlcyBjaGFuZ2Vk LCA0NCBpbnNlcnRpb25zKCspLCAxNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvYmFj a2VuZC9wb3N0bWFzdGVyL2N1c3RvZGlhbi5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9jdXN0 b2RpYW4uYwppbmRleCAwYmE1OTk0OWJiLi5hNTQ0M2Y5YTIxIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9wb3N0bWFzdGVyL2N1c3RvZGlhbi5jCisrKyBiL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIv Y3VzdG9kaWFuLmMKQEAgLTE5MSw3ICsxOTEsMTggQEAgQ3VzdG9kaWFuTWFpbih2b2lkKQogCiAJ CXN0YXJ0X3RpbWUgPSAocGdfdGltZV90KSB0aW1lKE5VTEwpOwogCi0JCS8qIFRPRE86IG9mZmxv YWRlZCB0YXNrcyBnbyBoZXJlICovCisJCS8qCisJCSAqIFJlbW92ZSBhbnkgcGdzcWxfdG1wIGRp cmVjdG9yaWVzIHRoYXQgaGF2ZSBiZWVuIHN0YWdlZCBmb3IgZGVsZXRpb24uCisJCSAqIFNpbmNl IHBnc3FsX3RtcCBkaXJlY3RvcmllcyBjYW4gYWNjdW11bGF0ZSBtYW55IGZpbGVzLCByZW1vdmlu ZyBhbGwKKwkJICogb2YgdGhlIGZpbGVzIGR1cmluZyBzdGFydHVwICh3aGljaCB3ZSB1c2VkIHRv IGRvKSBjYW4gdGFrZSBhIHZlcnkKKwkJICogbG9uZyB0aW1lLiAgVG8gYXZvaWQgZGVsYXlpbmcg c3RhcnR1cCwgd2Ugc2ltcGx5IGhhdmUgc3RhcnR1cCByZW5hbWUKKwkJICogdGhlIHRlbXBvcmFy eSBkaXJlY3RvcmllcywgYW5kIHdlIGNsZWFuIHRoZW0gdXAgaGVyZS4KKwkJICoKKwkJICogcGdz cWxfdG1wIGRpcmVjdG9yaWVzIGFyZSBub3Qgc3RhZ2VkIG9yIGNsZWFuZWQgaW4gc2luZ2xlLXVz ZXIgbW9kZSwKKwkJICogc28gd2UgZG9uJ3QgbmVlZCBhbnkgZXh0cmEgaGFuZGxpbmcgb3V0c2lk ZSBvZiB0aGUgY3VzdG9kaWFuIHByb2Nlc3MKKwkJICogZm9yIHRoaXMuCisJCSAqLworCQlSZW1v dmVQZ1RlbXBGaWxlcyhmYWxzZSwgZmFsc2UpOwogCiAJCS8qIENhbGN1bGF0ZSBob3cgbG9uZyB0 byBzbGVlcCAqLwogCQllbmRfdGltZSA9IChwZ190aW1lX3QpIHRpbWUoTlVMTCk7CmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYyBiL3NyYy9iYWNrZW5kL3Bv c3RtYXN0ZXIvcG9zdG1hc3Rlci5jCmluZGV4IDFhZTJkYzE3OWUuLmIwOTg0ODI0OTYgMTAwNjQ0 Ci0tLSBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCisrKyBiL3NyYy9iYWNr ZW5kL3Bvc3RtYXN0ZXIvcG9zdG1hc3Rlci5jCkBAIC0xMzkxLDkgKzEzOTEsMTEgQEAgUG9zdG1h c3Rlck1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKIAkvKgogCSAqIFJlbW92ZSBvbGQgdGVt cG9yYXJ5IGZpbGVzLiAgQXQgdGhpcyBwb2ludCB0aGVyZSBjYW4gYmUgbm8gb3RoZXIKIAkgKiBQ b3N0Z3JlcyBwcm9jZXNzZXMgcnVubmluZyBpbiB0aGlzIGRpcmVjdG9yeSwgc28gdGhpcyBzaG91 bGQgYmUgc2FmZS4KKwkgKgorCSAqIE5vdGUgdGhhdCB0aGlzIGp1c3Qgc3RhZ2VzIHRoZSBwZ3Nx bF90bXAgZGlyZWN0b3JpZXMgZm9yIGRlbGV0aW9uLiAgVGhlCisJICogY3VzdG9kaWFuIHByb2Nl c3MgaXMgcmVzcG9uc2libGUgZm9yIGFjdHVhbGx5IHJlbW92aW5nIHRoZSBmaWxlcy4KIAkgKi8K IAlSZW1vdmVQZ1RlbXBGaWxlcyh0cnVlLCB0cnVlKTsKLQlSZW1vdmVQZ1RlbXBGaWxlcyhmYWxz ZSwgZmFsc2UpOwogCiAJLyoKIAkgKiBJbml0aWFsaXplIHN0YXRzIGNvbGxlY3Rpb24gc3Vic3lz dGVtICh0aGlzIGRvZXMgTk9UIHN0YXJ0IHRoZQpAQCAtNDEzOSwxMiArNDE0MSwxNCBAQCBQb3N0 bWFzdGVyU3RhdGVNYWNoaW5lKHZvaWQpCiAJCWVyZXBvcnQoTE9HLAogCQkJCShlcnJtc2coImFs bCBzZXJ2ZXIgcHJvY2Vzc2VzIHRlcm1pbmF0ZWQ7IHJlaW5pdGlhbGl6aW5nIikpKTsKIAotCQkv KiByZW1vdmUgbGVmdG92ZXIgdGVtcG9yYXJ5IGZpbGVzIGFmdGVyIGEgY3Jhc2ggKi8KKwkJLyoK KwkJICogUmVtb3ZlIGxlZnRvdmVyIHRlbXBvcmFyeSBmaWxlcyBhZnRlciBhIGNyYXNoLgorCQkg KgorCQkgKiBOb3RlIHRoYXQgdGhpcyBqdXN0IHN0YWdlcyB0aGUgcGdzcWxfdG1wIGRpcmVjdG9y aWVzIGZvciBkZWxldGlvbi4KKwkJICogVGhlIGN1c3RvZGlhbiBwcm9jZXNzIGlzIHJlc3BvbnNp YmxlIGZvciBhY3R1YWxseSByZW1vdmluZyB0aGUgZmlsZXMuCisJCSAqLwogCQlpZiAocmVtb3Zl X3RlbXBfZmlsZXNfYWZ0ZXJfY3Jhc2gpCi0JCXsKIAkJCVJlbW92ZVBnVGVtcEZpbGVzKHRydWUs IHRydWUpOwotCQkJUmVtb3ZlUGdUZW1wRmlsZXMoZmFsc2UsIGZhbHNlKTsKLQkJfQogCiAJCS8q IGFsbG93IGJhY2tncm91bmQgd29ya2VycyB0byBpbW1lZGlhdGVseSByZXN0YXJ0ICovCiAJCVJl c2V0QmFja2dyb3VuZFdvcmtlckNyYXNoVGltZXMoKTsKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5k L3N0b3JhZ2UvZmlsZS9mZC5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMKaW5kZXgg NjMzYzZlZWUxOC4uYWM1NmM0MTU2MiAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvc3RvcmFnZS9m aWxlL2ZkLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMKQEAgLTk3LDkgKzk3 LDEyIEBACiAjaW5jbHVkZSAicGdzdGF0LmgiCiAjaW5jbHVkZSAicG9ydC9wZ19pb3ZlYy5oIgog I2luY2x1ZGUgInBvcnRhYmlsaXR5L21lbS5oIgorI2luY2x1ZGUgInBvc3RtYXN0ZXIvaW50ZXJy dXB0LmgiCiAjaW5jbHVkZSAicG9zdG1hc3Rlci9zdGFydHVwLmgiCiAjaW5jbHVkZSAic3RvcmFn ZS9mZC5oIgogI2luY2x1ZGUgInN0b3JhZ2UvaXBjLmgiCisjaW5jbHVkZSAic3RvcmFnZS9sYXRj aC5oIgorI2luY2x1ZGUgInN0b3JhZ2UvcHJvYy5oIgogI2luY2x1ZGUgInV0aWxzL2d1Yy5oIgog I2luY2x1ZGUgInV0aWxzL3Jlc293bmVyX3ByaXZhdGUuaCIKIApAQCAtMTY0MCw5ICsxNjQzLDkg QEAgUGF0aE5hbWVPcGVuRmlsZVBlcm0oY29uc3QgY2hhciAqZmlsZU5hbWUsIGludCBmaWxlRmxh Z3MsIG1vZGVfdCBmaWxlTW9kZSkKICAqCiAgKiBEaXJlY3RvcmllcyBjcmVhdGVkIHdpdGhpbiB0 aGUgdG9wLWxldmVsIHRlbXBvcmFyeSBkaXJlY3Rvcnkgc2hvdWxkIGJlZ2luCiAgKiB3aXRoIFBH X1RFTVBfRklMRV9QUkVGSVgsIHNvIHRoYXQgdGhleSBjYW4gYmUgaWRlbnRpZmllZCBhcyB0ZW1w b3JhcnkgYW5kCi0gKiBkZWxldGVkIGF0IHN0YXJ0dXAgYnkgUmVtb3ZlUGdUZW1wRmlsZXMoKS4g IEZ1cnRoZXIgc3ViZGlyZWN0b3JpZXMgYmVsb3cKLSAqIHRoYXQgZG8gbm90IG5lZWQgYW55IHBh cnRpY3VsYXIgcHJlZml4LgotKi8KKyAqIGRlbGV0ZWQgYnkgUmVtb3ZlUGdUZW1wRmlsZXMoKS4g IEZ1cnRoZXIgc3ViZGlyZWN0b3JpZXMgYmVsb3cgdGhhdCBkbyBub3QKKyAqIG5lZWQgYW55IHBh cnRpY3VsYXIgcHJlZml4LgorICovCiB2b2lkCiBQYXRoTmFtZUNyZWF0ZVRlbXBvcmFyeURpcihj b25zdCBjaGFyICpiYXNlZGlyLCBjb25zdCBjaGFyICpkaXJlY3RvcnkpCiB7CkBAIC0xODQwLDkg KzE4NDMsOSBAQCBPcGVuVGVtcG9yYXJ5RmlsZUluVGFibGVzcGFjZShPaWQgdGJsc3BjT2lkLCBi b29sIHJlamVjdEVycm9yKQogICoKICAqIElmIHRoZSBmaWxlIGlzIGluc2lkZSB0aGUgdG9wLWxl dmVsIHRlbXBvcmFyeSBkaXJlY3RvcnksIGl0cyBuYW1lIHNob3VsZAogICogYmVnaW4gd2l0aCBQ R19URU1QX0ZJTEVfUFJFRklYIHNvIHRoYXQgaXQgY2FuIGJlIGlkZW50aWZpZWQgYXMgdGVtcG9y YXJ5Ci0gKiBhbmQgZGVsZXRlZCBhdCBzdGFydHVwIGJ5IFJlbW92ZVBnVGVtcEZpbGVzKCkuICBB bHRlcm5hdGl2ZWx5LCBpdCBjYW4gYmUKLSAqIGluc2lkZSBhIGRpcmVjdG9yeSBjcmVhdGVkIHdp dGggUGF0aE5hbWVDcmVhdGVUZW1wb3JhcnlEaXIoKSwgaW4gd2hpY2ggY2FzZQotICogdGhlIHBy ZWZpeCBpc24ndCBuZWVkZWQuCisgKiBhbmQgZGVsZXRlZCBieSBSZW1vdmVQZ1RlbXBGaWxlcygp LiAgQWx0ZXJuYXRpdmVseSwgaXQgY2FuIGJlIGluc2lkZSBhCisgKiBkaXJlY3RvcnkgY3JlYXRl ZCB3aXRoIFBhdGhOYW1lQ3JlYXRlVGVtcG9yYXJ5RGlyKCksIGluIHdoaWNoIGNhc2UgdGhlIHBy ZWZpeAorICogaXNuJ3QgbmVlZGVkLgogICovCiBGaWxlCiBQYXRoTmFtZUNyZWF0ZVRlbXBvcmFy eUZpbGUoY29uc3QgY2hhciAqcGF0aCwgYm9vbCBlcnJvcl9vbl9mYWlsdXJlKQpAQCAtMzE3NSw3 ICszMTc4LDggQEAgUmVtb3ZlUGdUZW1wRmlsZXMoYm9vbCBzdGFnZSwgYm9vbCByZW1vdmVfcmVs YXRpb25fZmlsZXMpCiAJICovCiAJc3BjX2RpciA9IEFsbG9jYXRlRGlyKCJwZ190YmxzcGMiKTsK IAotCXdoaWxlICgoc3BjX2RlID0gUmVhZERpckV4dGVuZGVkKHNwY19kaXIsICJwZ190YmxzcGMi LCBMT0cpKSAhPSBOVUxMKQorCXdoaWxlICghU2h1dGRvd25SZXF1ZXN0UGVuZGluZyAmJgorCQkg ICAoc3BjX2RlID0gUmVhZERpckV4dGVuZGVkKHNwY19kaXIsICJwZ190YmxzcGMiLCBMT0cpKSAh PSBOVUxMKQogCXsKIAkJaWYgKHN0cmNtcChzcGNfZGUtPmRfbmFtZSwgIi4iKSA9PSAwIHx8CiAJ CQlzdHJjbXAoc3BjX2RlLT5kX25hbWUsICIuLiIpID09IDApCkBAIC0zMjExLDYgKzMyMTUsMTQg QEAgUmVtb3ZlUGdUZW1wRmlsZXMoYm9vbCBzdGFnZSwgYm9vbCByZW1vdmVfcmVsYXRpb25fZmls ZXMpCiAJICogd291bGQgY3JlYXRlIGEgcmFjZSBjb25kaXRpb24uICBJdCdzIGRvbmUgc2VwYXJh dGVseSwgZWFybGllciBpbgogCSAqIHBvc3RtYXN0ZXIgc3RhcnR1cC4KIAkgKi8KKworCS8qCisJ ICogSWYgd2UganVzdCBzdGFnZWQgc29tZSBwZ3NxbF90bXAgZGlyZWN0b3JpZXMgZm9yIHJlbW92 YWwsIHdha2UgdXAgdGhlCisJICogY3VzdG9kaWFuIHByb2Nlc3Mgc28gdGhhdCBpdCBkZWxldGVz IGFsbCB0aGUgZmlsZXMgaW4gdGhlIHN0YWdlZAorCSAqIGRpcmVjdG9yaWVzIGFzIHdlbGwgYXMg dGhlIGRpcmVjdG9yaWVzIHRoZW1zZWx2ZXMuCisJICovCisJaWYgKHN0YWdlICYmIFByb2NHbG9i YWwtPmN1c3RvZGlhbkxhdGNoKQorCQlTZXRMYXRjaChQcm9jR2xvYmFsLT5jdXN0b2RpYW5MYXRj aCk7CiB9CiAKIC8qCkBAIC0zMzE1LDcgKzMzMjcsOCBAQCBSZW1vdmVTdGFnZWRQZ1RlbXBEaXJz KGNvbnN0IGNoYXIgKnNwY19kaXIpCiAJc3RydWN0IGRpcmVudCAqZGU7CiAKIAlkaXIgPSBBbGxv Y2F0ZURpcihzcGNfZGlyKTsKLQl3aGlsZSAoKGRlID0gUmVhZERpckV4dGVuZGVkKGRpciwgc3Bj X2RpciwgTE9HKSkgIT0gTlVMTCkKKwl3aGlsZSAoIVNodXRkb3duUmVxdWVzdFBlbmRpbmcgJiYK KwkJICAgKGRlID0gUmVhZERpckV4dGVuZGVkKGRpciwgc3BjX2RpciwgTE9HKSkgIT0gTlVMTCkK IAl7CiAJCWlmIChzdHJuY21wKGRlLT5kX25hbWUsIFBHX1RFTVBfRElSX1RPX1JFTU9WRV9QUkVG SVgsCiAJCQkJCXN0cmxlbihQR19URU1QX0RJUl9UT19SRU1PVkVfUFJFRklYKSkgIT0gMCkKQEAg LTMzNTQsNyArMzM2Nyw4IEBAIFJlbW92ZVBnVGVtcERpcihjb25zdCBjaGFyICp0bXBkaXJuYW1l LCBib29sIG1pc3Npbmdfb2ssIGJvb2wgdW5saW5rX2FsbCkKIAlpZiAodGVtcF9kaXIgPT0gTlVM TCAmJiBlcnJubyA9PSBFTk9FTlQgJiYgbWlzc2luZ19vaykKIAkJcmV0dXJuOwogCi0Jd2hpbGUg KCh0ZW1wX2RlID0gUmVhZERpckV4dGVuZGVkKHRlbXBfZGlyLCB0bXBkaXJuYW1lLCBMT0cpKSAh PSBOVUxMKQorCXdoaWxlICghU2h1dGRvd25SZXF1ZXN0UGVuZGluZyAmJgorCQkgICAodGVtcF9k ZSA9IFJlYWREaXJFeHRlbmRlZCh0ZW1wX2RpciwgdG1wZGlybmFtZSwgTE9HKSkgIT0gTlVMTCkK IAl7CiAJCWlmIChzdHJjbXAodGVtcF9kZS0+ZF9uYW1lLCAiLiIpID09IDAgfHwKIAkJCXN0cmNt cCh0ZW1wX2RlLT5kX25hbWUsICIuLiIpID09IDApCi0tIAoyLjE2LjYKCg== --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_ Content-Type: application/octet-stream; name="v2-0003-Split-pgsql_tmp-cleanup-into-two-stages.patch" Content-Description: v2-0003-Split-pgsql_tmp-cleanup-into-two-stages.patch Content-Disposition: attachment; filename="v2-0003-Split-pgsql_tmp-cleanup-into-two-stages.patch"; size=10020; creation-date="Tue, 14 Dec 2021 20:23:57 GMT"; modification-date="Tue, 14 Dec 2021 20:23:57 GMT" Content-ID: Content-Transfer-Encoding: base64 RnJvbSAxZjE5Yjc4ODc4NzRiNDg0YTNiMmFmZTBmMzU1NTU5OWU1OGQ0MjZkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDIxOjE2OjQ0IC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MiAz LzhdIFNwbGl0IHBnc3FsX3RtcCBjbGVhbnVwIGludG8gdHdvIHN0YWdlcy4KCkZpcnN0LCBwZ3Nx bF90bXAgZGlyZWN0b3JpZXMgd2lsbCBiZSByZW5hbWVkIHRvIHN0YWdlIHRoZW0gZm9yCnJlbW92 YWwuICBUaGVuLCBhbGwgZmlsZXMgaW4gcGdzcWxfdG1wIGFyZSByZW1vdmVkIGJlZm9yZSByZW1v dmluZwp0aGUgc3RhZ2VkIGRpcmVjdG9yaWVzIHRoZW1zZWx2ZXMuICBUaGlzIGNoYW5nZSBpcyBi ZWluZyBtYWRlIGluCnByZXBhcmF0aW9uIGZvciBhIGZvbGxvdy11cCBjaGFuZ2UgdG8gb2ZmbG9h ZCBtb3N0IHRlbXBvcmFyeSBmaWxlCmNsZWFudXAgdG8gdGhlIG5ldyBjdXN0b2RpYW4gcHJvY2Vz cy4KCk5vdGUgdGhhdCB0ZW1wb3JhcnkgcmVsYXRpb24gZmlsZXMgY2Fubm90IGJlIGNsZWFuZWQg dXAgdmlhIHRoZQphZm9yZW1lbnRpb25lZCBzdHJhdGVneSBhbmQgd2lsbCBub3QgYmUgb2ZmbG9h ZGVkIHRvIHRoZSBjdXN0b2RpYW4uCi0tLQogc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFz dGVyLmMgfCAgIDggKy0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jICAgICAgIHwgMTc2 ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLQogc3JjL2luY2x1ZGUvc3RvcmFn ZS9mZC5oICAgICAgICAgICAgfCAgIDIgKy0KIDMgZmlsZXMgY2hhbmdlZCwgMTYyIGluc2VydGlv bnMoKyksIDI0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL3NyYy9iYWNrZW5kL3Bvc3RtYXN0 ZXIvcG9zdG1hc3Rlci5jIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVyLmMKaW5k ZXggNTE2MTNhYWEyYS4uMWFlMmRjMTc5ZSAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvcG9zdG1h c3Rlci9wb3N0bWFzdGVyLmMKKysrIGIvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0bWFzdGVy LmMKQEAgLTEzOTIsNyArMTM5Miw4IEBAIFBvc3RtYXN0ZXJNYWluKGludCBhcmdjLCBjaGFyICph cmd2W10pCiAJICogUmVtb3ZlIG9sZCB0ZW1wb3JhcnkgZmlsZXMuICBBdCB0aGlzIHBvaW50IHRo ZXJlIGNhbiBiZSBubyBvdGhlcgogCSAqIFBvc3RncmVzIHByb2Nlc3NlcyBydW5uaW5nIGluIHRo aXMgZGlyZWN0b3J5LCBzbyB0aGlzIHNob3VsZCBiZSBzYWZlLgogCSAqLwotCVJlbW92ZVBnVGVt cEZpbGVzKCk7CisJUmVtb3ZlUGdUZW1wRmlsZXModHJ1ZSwgdHJ1ZSk7CisJUmVtb3ZlUGdUZW1w RmlsZXMoZmFsc2UsIGZhbHNlKTsKIAogCS8qCiAJICogSW5pdGlhbGl6ZSBzdGF0cyBjb2xsZWN0 aW9uIHN1YnN5c3RlbSAodGhpcyBkb2VzIE5PVCBzdGFydCB0aGUKQEAgLTQxNDAsNyArNDE0MSwx MCBAQCBQb3N0bWFzdGVyU3RhdGVNYWNoaW5lKHZvaWQpCiAKIAkJLyogcmVtb3ZlIGxlZnRvdmVy IHRlbXBvcmFyeSBmaWxlcyBhZnRlciBhIGNyYXNoICovCiAJCWlmIChyZW1vdmVfdGVtcF9maWxl c19hZnRlcl9jcmFzaCkKLQkJCVJlbW92ZVBnVGVtcEZpbGVzKCk7CisJCXsKKwkJCVJlbW92ZVBn VGVtcEZpbGVzKHRydWUsIHRydWUpOworCQkJUmVtb3ZlUGdUZW1wRmlsZXMoZmFsc2UsIGZhbHNl KTsKKwkJfQogCiAJCS8qIGFsbG93IGJhY2tncm91bmQgd29ya2VycyB0byBpbW1lZGlhdGVseSBy ZXN0YXJ0ICovCiAJCVJlc2V0QmFja2dyb3VuZFdvcmtlckNyYXNoVGltZXMoKTsKZGlmZiAtLWdp dCBhL3NyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9m aWxlL2ZkLmMKaW5kZXggNTQ1ZTkxOTc4Yy4uNjMzYzZlZWUxOCAxMDA2NDQKLS0tIGEvc3JjL2Jh Y2tlbmQvc3RvcmFnZS9maWxlL2ZkLmMKKysrIGIvc3JjL2JhY2tlbmQvc3RvcmFnZS9maWxlL2Zk LmMKQEAgLTExMiw2ICsxMTIsOCBAQAogI2RlZmluZSBQR19GTFVTSF9EQVRBX1dPUktTIDEKICNl bmRpZgogCisjZGVmaW5lIFBHX1RFTVBfRElSX1RPX1JFTU9WRV9QUkVGSVggKFBHX1RFTVBfRklM RVNfRElSICJfdG9fcmVtb3ZlXyIpCisKIC8qCiAgKiBXZSBtdXN0IGxlYXZlIHNvbWUgZmlsZSBk ZXNjcmlwdG9ycyBmcmVlIGZvciBzeXN0ZW0oKSwgdGhlIGR5bmFtaWMgbG9hZGVyLAogICogYW5k IG90aGVyIGNvZGUgdGhhdCB0cmllcyB0byBvcGVuIGZpbGVzIHdpdGhvdXQgY29uc3VsdGluZyBm ZC5jLiAgVGhpcwpAQCAtMzM4LDYgKzM0MCw4IEBAIHN0YXRpYyB2b2lkIEJlZm9yZVNobWVtRXhp dF9GaWxlcyhpbnQgY29kZSwgRGF0dW0gYXJnKTsKIHN0YXRpYyB2b2lkIENsZWFudXBUZW1wRmls ZXMoYm9vbCBpc0NvbW1pdCwgYm9vbCBpc1Byb2NFeGl0KTsKIHN0YXRpYyB2b2lkIFJlbW92ZVBn VGVtcFJlbGF0aW9uRmlsZXMoY29uc3QgY2hhciAqdHNkaXJuYW1lKTsKIHN0YXRpYyB2b2lkIFJl bW92ZVBnVGVtcFJlbGF0aW9uRmlsZXNJbkRic3BhY2UoY29uc3QgY2hhciAqZGJzcGFjZWRpcm5h bWUpOworc3RhdGljIHZvaWQgU3RhZ2VQZ1RlbXBEaXJGb3JSZW1vdmFsKGNvbnN0IGNoYXIgKnRt cF9kaXIpOworc3RhdGljIHZvaWQgUmVtb3ZlU3RhZ2VkUGdUZW1wRGlycyhjb25zdCBjaGFyICpz cGNfZGlyKTsKIAogc3RhdGljIHZvaWQgd2Fsa2Rpcihjb25zdCBjaGFyICpwYXRoLAogCQkJCQl2 b2lkICgqYWN0aW9uKSAoY29uc3QgY2hhciAqZm5hbWUsIGJvb2wgaXNkaXIsIGludCBlbGV2ZWwp LApAQCAtMzEzMywyNCArMzEzNywyMCBAQCBDbGVhbnVwVGVtcEZpbGVzKGJvb2wgaXNDb21taXQs IGJvb2wgaXNQcm9jRXhpdCkKICAqIFJlbW92ZSB0ZW1wb3JhcnkgYW5kIHRlbXBvcmFyeSByZWxh dGlvbiBmaWxlcyBsZWZ0IG92ZXIgZnJvbSBhIHByaW9yCiAgKiBwb3N0bWFzdGVyIHNlc3Npb24K ICAqCi0gKiBUaGlzIHNob3VsZCBiZSBjYWxsZWQgZHVyaW5nIHBvc3RtYXN0ZXIgc3RhcnR1cC4g IEl0IHdpbGwgZm9yY2libHkKLSAqIHJlbW92ZSBhbnkgbGVmdG92ZXIgZmlsZXMgY3JlYXRlZCBi eSBPcGVuVGVtcG9yYXJ5RmlsZSBhbmQgYW55IGxlZnRvdmVyCi0gKiB0ZW1wb3JhcnkgcmVsYXRp b24gZmlsZXMgY3JlYXRlZCBieSBtZGNyZWF0ZS4KKyAqIElmIHN0YWdlIGlzIHRydWUsIHRoaXMg ZnVuY3Rpb24gd2lsbCBzaW1wbHkgcmVuYW1lIGFsbCBwZ3NxbF90bXAgZGlyZWN0b3JpZXMKKyAq IHRvIHN0YWdlIHRoZW0gZm9yIHJlbW92YWwgYXQgYSBsYXRlciB0aW1lLiAgSWYgc3RhZ2UgaXMg ZmFsc2UsIHRoaXMgZnVuY3Rpb24KKyAqIHdpbGwgZGVsZXRlIGFsbCBmaWxlcyBpbiB0aGUgc3Rh Z2VkIGRpcmVjdG9yaWVzIGFzIHdlbGwgYXMgdGhlIGRpcmVjdG9yaWVzCisgKiB0aGVtc2VsdmVz LgogICoKLSAqIER1cmluZyBwb3N0LWJhY2tlbmQtY3Jhc2ggcmVzdGFydCBjeWNsZSwgdGhpcyBy b3V0aW5lIGlzIGNhbGxlZCB3aGVuCi0gKiByZW1vdmVfdGVtcF9maWxlc19hZnRlcl9jcmFzaCBH VUMgaXMgZW5hYmxlZC4gTXVsdGlwbGUgY3Jhc2hlcyB3aGlsZQotICogcXVlcmllcyBhcmUgdXNp bmcgdGVtcCBmaWxlcyBjb3VsZCByZXN1bHQgaW4gdXNlbGVzcyBzdG9yYWdlIHVzYWdlIHRoYXQg Y2FuCi0gKiBvbmx5IGJlIHJlY2xhaW1lZCBieSBhIHNlcnZpY2UgcmVzdGFydC4gVGhlIGFyZ3Vt ZW50IGFnYWluc3QgZW5hYmxpbmcgaXQgaXMKLSAqIHRoYXQgc29tZW9uZSBtaWdodCB3YW50IHRv IGV4YW1pbmUgdGhlIHRlbXBvcmFyeSBmaWxlcyBmb3IgZGVidWdnaW5nCi0gKiBwdXJwb3Nlcy4g VGhpcyBkb2VzIGhvd2V2ZXIgbWVhbiB0aGF0IE9wZW5UZW1wb3JhcnlGaWxlIGhhZCBiZXR0ZXIg YWxsb3cgZm9yCi0gKiBjb2xsaXNpb24gd2l0aCBhbiBleGlzdGluZyB0ZW1wIGZpbGUgbmFtZS4K KyAqIElmIHJlbW92ZV9yZWxhdGlvbl9maWxlcyBpcyB0cnVlLCB0aGlzIGZ1bmN0aW9uIHdpbGwg cmVtb3ZlIHRoZSB0ZW1wb3JhcnkKKyAqIHJlbGF0aW9uIGZpbGVzLiAgT3RoZXJ3aXNlLCB0aGlz IHN0ZXAgaXMgc2tpcHBlZC4KICAqCiAgKiBOT1RFOiB0aGlzIGZ1bmN0aW9uIGFuZCBpdHMgc3Vi cm91dGluZXMgZ2VuZXJhbGx5IHJlcG9ydCBzeXNjYWxsIGZhaWx1cmVzCiAgKiB3aXRoIGVyZXBv cnQoTE9HKSBhbmQga2VlcCBnb2luZy4gIFJlbW92aW5nIHRlbXAgZmlsZXMgaXMgbm90IHNvIGNy aXRpY2FsCiAgKiB0aGF0IHdlIHNob3VsZCBmYWlsIHRvIHN0YXJ0IHRoZSBkYXRhYmFzZSB3aGVu IHdlIGNhbid0IGRvIGl0LgogICovCiB2b2lkCi1SZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKQorUmVt b3ZlUGdUZW1wRmlsZXMoYm9vbCBzdGFnZSwgYm9vbCByZW1vdmVfcmVsYXRpb25fZmlsZXMpCiB7 CiAJY2hhcgkJdGVtcF9wYXRoW01BWFBHUEFUSCArIDEwICsgc2l6ZW9mKFRBQkxFU1BBQ0VfVkVS U0lPTl9ESVJFQ1RPUlkpICsgc2l6ZW9mKFBHX1RFTVBfRklMRVNfRElSKV07CiAJRElSCQkgICAq c3BjX2RpcjsKQEAgLTMxNTksOSArMzE1OSwxNiBAQCBSZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKQog CS8qCiAJICogRmlyc3QgcHJvY2VzcyB0ZW1wIGZpbGVzIGluIHBnX2RlZmF1bHQgKCRQR0RBVEEv YmFzZSkKIAkgKi8KLQlzbnByaW50Zih0ZW1wX3BhdGgsIHNpemVvZih0ZW1wX3BhdGgpLCAiYmFz ZS8lcyIsIFBHX1RFTVBfRklMRVNfRElSKTsKLQlSZW1vdmVQZ1RlbXBEaXIodGVtcF9wYXRoLCB0 cnVlLCBmYWxzZSk7Ci0JUmVtb3ZlUGdUZW1wUmVsYXRpb25GaWxlcygiYmFzZSIpOworCWlmIChz dGFnZSkKKwl7CisJCXNucHJpbnRmKHRlbXBfcGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICJiYXNl LyVzIiwgUEdfVEVNUF9GSUxFU19ESVIpOworCQlTdGFnZVBnVGVtcERpckZvclJlbW92YWwodGVt cF9wYXRoKTsKKwl9CisJZWxzZQorCQlSZW1vdmVTdGFnZWRQZ1RlbXBEaXJzKCJiYXNlIik7CisK KwlpZiAocmVtb3ZlX3JlbGF0aW9uX2ZpbGVzKQorCQlSZW1vdmVQZ1RlbXBSZWxhdGlvbkZpbGVz KCJiYXNlIik7CiAKIAkvKgogCSAqIEN5Y2xlIHRocm91Z2ggdGVtcCBkaXJlY3RvcmllcyBmb3Ig YWxsIG5vbi1kZWZhdWx0IHRhYmxlc3BhY2VzLgpAQCAtMzE3NCwxMyArMzE4MSwyNiBAQCBSZW1v dmVQZ1RlbXBGaWxlcyh2b2lkKQogCQkJc3RyY21wKHNwY19kZS0+ZF9uYW1lLCAiLi4iKSA9PSAw KQogCQkJY29udGludWU7CiAKLQkJc25wcmludGYodGVtcF9wYXRoLCBzaXplb2YodGVtcF9wYXRo KSwgInBnX3RibHNwYy8lcy8lcy8lcyIsCi0JCQkJIHNwY19kZS0+ZF9uYW1lLCBUQUJMRVNQQUNF X1ZFUlNJT05fRElSRUNUT1JZLCBQR19URU1QX0ZJTEVTX0RJUik7Ci0JCVJlbW92ZVBnVGVtcERp cih0ZW1wX3BhdGgsIHRydWUsIGZhbHNlKTsKKwkJaWYgKHN0YWdlKQorCQl7CisJCQlzbnByaW50 Zih0ZW1wX3BhdGgsIHNpemVvZih0ZW1wX3BhdGgpLCAicGdfdGJsc3BjLyVzLyVzLyVzIiwKKwkJ CQkJIHNwY19kZS0+ZF9uYW1lLCBUQUJMRVNQQUNFX1ZFUlNJT05fRElSRUNUT1JZLAorCQkJCQkg UEdfVEVNUF9GSUxFU19ESVIpOworCQkJU3RhZ2VQZ1RlbXBEaXJGb3JSZW1vdmFsKHRlbXBfcGF0 aCk7CisJCX0KKwkJZWxzZQorCQl7CisJCQlzbnByaW50Zih0ZW1wX3BhdGgsIHNpemVvZih0ZW1w X3BhdGgpLCAicGdfdGJsc3BjLyVzLyVzIiwKKwkJCQkJIHNwY19kZS0+ZF9uYW1lLCBUQUJMRVNQ QUNFX1ZFUlNJT05fRElSRUNUT1JZKTsKKwkJCVJlbW92ZVN0YWdlZFBnVGVtcERpcnModGVtcF9w YXRoKTsKKwkJfQogCi0JCXNucHJpbnRmKHRlbXBfcGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICJw Z190YmxzcGMvJXMvJXMiLAotCQkJCSBzcGNfZGUtPmRfbmFtZSwgVEFCTEVTUEFDRV9WRVJTSU9O X0RJUkVDVE9SWSk7Ci0JCVJlbW92ZVBnVGVtcFJlbGF0aW9uRmlsZXModGVtcF9wYXRoKTsKKwkJ aWYgKHJlbW92ZV9yZWxhdGlvbl9maWxlcykKKwkJeworCQkJc25wcmludGYodGVtcF9wYXRoLCBz aXplb2YodGVtcF9wYXRoKSwgInBnX3RibHNwYy8lcy8lcyIsCisJCQkJCSBzcGNfZGUtPmRfbmFt ZSwgVEFCTEVTUEFDRV9WRVJTSU9OX0RJUkVDVE9SWSk7CisJCQlSZW1vdmVQZ1RlbXBSZWxhdGlv bkZpbGVzKHRlbXBfcGF0aCk7CisJCX0KIAl9CiAKIAlGcmVlRGlyKHNwY19kaXIpOwpAQCAtMzE5 NCw3ICszMjE0LDEyMSBAQCBSZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKQogfQogCiAvKgotICogUHJv Y2VzcyBvbmUgcGdzcWxfdG1wIGRpcmVjdG9yeSBmb3IgUmVtb3ZlUGdUZW1wRmlsZXMuCisgKiBT dGFnZVBnVGVtcERpckZvclJlbW92YWwKKyAqCisgKiBUaGlzIGZ1bmN0aW9uIHJlbmFtZXMgdGhl IGdpdmVuIGRpcmVjdG9yeSB3aXRoIGEgc3BlY2lhbCBwcmVmaXggdGhhdAorICogUmVtb3ZlU3Rh Z2VkUGdUZW1wRGlycygpIHdpbGwga25vdyB0byBsb29rIGZvci4gIEFuIGludGVnZXIgaXMgYXBw ZW5kZWQgdG8KKyAqIHRoZSBlbmQgb2YgdGhlIG5ldyBkaXJlY3RvcnkgbmFtZSBpbiBjYXNlIHBy ZXZpb3VzbHkgc3RhZ2VkIHBnc3FsX3RtcAorICogZGlyZWN0b3JpZXMgaGF2ZSBub3QgeWV0IGJl ZW4gcmVtb3ZlZC4KKyAqLworc3RhdGljIHZvaWQKK1N0YWdlUGdUZW1wRGlyRm9yUmVtb3ZhbChj b25zdCBjaGFyICp0bXBfZGlyKQoreworCURJUgkJICAgKmRpcjsKKwljaGFyCQlzdGFnZV9wYXRo W01BWFBHUEFUSCAqIDJdOworCWNoYXIJCXBhcmVudF9wYXRoW01BWFBHUEFUSCAqIDJdOworCisJ LyoKKwkgKiBJZiB0bXBfZGlyIGRvZXNuJ3QgZXhpc3QsIHRoZXJlIGlzIG5vdGhpbmcgdG8gc3Rh Z2UuCisJICovCisJZGlyID0gQWxsb2NhdGVEaXIodG1wX2Rpcik7CisJaWYgKGRpciA9PSBOVUxM KQorCXsKKwkJaWYgKGVycm5vICE9IEVOT0VOVCkKKwkJCWVyZXBvcnQoTE9HLAorCQkJCQkoZXJy Y29kZV9mb3JfZmlsZV9hY2Nlc3MoKSwKKwkJCQkJIGVycm1zZygiY291bGQgbm90IG9wZW4gZGly ZWN0b3J5IFwiJXNcIjogJW0iLCB0bXBfZGlyKSkpOworCQlyZXR1cm47CisJfQorCUZyZWVEaXIo ZGlyKTsKKworCXN0cmxjcHkocGFyZW50X3BhdGgsIHRtcF9kaXIsIE1BWFBHUEFUSCAqIDIpOwor CWdldF9wYXJlbnRfZGlyZWN0b3J5KHBhcmVudF9wYXRoKTsKKworCS8qCisJICogZ2V0X3BhcmVu dF9kaXJlY3RvcnkoKSByZXR1cm5zIGFuIGVtcHR5IHN0cmluZyBpZiB0aGUgaW5wdXQgYXJndW1l bnQgaXMKKwkgKiBqdXN0IGEgZmlsZSBuYW1lIChzZWUgY29tbWVudHMgaW4gcGF0aC5jKSwgc28g aGFuZGxlIHRoYXQgYXMgYmVpbmcgdGhlCisJICogY3VycmVudCBkaXJlY3RvcnkuCisJICovCisJ aWYgKHN0cmxlbihwYXJlbnRfcGF0aCkgPT0gMCkKKwkJc3RybGNweShwYXJlbnRfcGF0aCwgIi4i LCBNQVhQR1BBVEggKiAyKTsKKworCS8qCisJICogRmluZCBhIG5hbWUgZm9yIHRoZSBzdGFnZSBk aXJlY3RvcnkuICBXZSBqdXN0IGluY3JlbWVudCBhbiBpbnRlZ2VyIGF0IHRoZQorCSAqIGVuZCBv ZiB0aGUgbmFtZSB1bnRpbCB3ZSBmaW5kIG9uZSB0aGF0IGRvZXNuJ3QgZXhpc3QuCisJICovCisJ Zm9yIChpbnQgbiA9IDA7IG4gPD0gSU5UX01BWDsgbisrKQorCXsKKwkJc25wcmludGYoc3RhZ2Vf cGF0aCwgc2l6ZW9mKHN0YWdlX3BhdGgpLCAiJXMvJXMlZCIsIHBhcmVudF9wYXRoLAorCQkJCSBQ R19URU1QX0RJUl9UT19SRU1PVkVfUFJFRklYLCBuKTsKKworCQlkaXIgPSBBbGxvY2F0ZURpcihz dGFnZV9wYXRoKTsKKwkJaWYgKGRpciA9PSBOVUxMKQorCQl7CisJCQlpZiAoZXJybm8gPT0gRU5P RU5UKQorCQkJCWJyZWFrOworCisJCQllcmVwb3J0KExPRywKKwkJCQkJKGVycmNvZGVfZm9yX2Zp bGVfYWNjZXNzKCksCisJCQkJCSBlcnJtc2coImNvdWxkIG5vdCBvcGVuIGRpcmVjdG9yeSBcIiVz XCI6ICVtIiwKKwkJCQkJCQlzdGFnZV9wYXRoKSkpOworCQkJcmV0dXJuOworCQl9CisJCUZyZWVE aXIoZGlyKTsKKworCQlzdGFnZV9wYXRoWzBdID0gJ1wwJzsKKwl9CisKKwkvKgorCSAqIEluIHRo ZSB1bmxpa2VseSBldmVudCB0aGF0IHdlIGNvdWxkbid0IGZpbmQgYSBuYW1lIGZvciB0aGUgc3Rh Z2UKKwkgKiBkaXJlY3RvcnksIGJhaWwgb3V0LgorCSAqLworCWlmIChzdGFnZV9wYXRoWzBdID09 ICdcMCcpCisJeworCQllcmVwb3J0KExPRywKKwkJCQkoZXJybXNnKCJjb3VsZCBub3Qgc3RhZ2Ug XCIlc1wiIGZvciBkZWxldGlvbiIsCisJCQkJCQl0bXBfZGlyKSkpOworCQlyZXR1cm47CisJfQor CisJLyoKKwkgKiBSZW5hbWUgdGhlIHRlbXBvcmFyeSBkaXJlY3RvcnkuCisJICovCisJaWYgKHJl bmFtZSh0bXBfZGlyLCBzdGFnZV9wYXRoKSAhPSAwKQorCQllcmVwb3J0KExPRywKKwkJCQkoZXJy Y29kZV9mb3JfZmlsZV9hY2Nlc3MoKSwKKwkJCQkgZXJybXNnKCJjb3VsZCBub3QgcmVuYW1lIGRp cmVjdG9yeSBcIiVzXCIgdG8gXCIlc1wiOiAlbSIsCisJCQkJCQl0bXBfZGlyLCBzdGFnZV9wYXRo KSkpOworfQorCisvKgorICogUmVtb3ZlU3RhZ2VkUGdUZW1wRGlycworICoKKyAqIFRoaXMgZnVu Y3Rpb24gcmVtb3ZlcyBhbGwgcGdzcWxfdG1wIGRpcmVjdG9yaWVzIHRoYXQgaGF2ZSBiZWVuIHN0 YWdlZCBmb3IKKyAqIHJlbW92YWwgYnkgU3RhZ2VQZ1RlbXBEaXJGb3JSZW1vdmFsKCkgaW4gdGhl IGdpdmVuIHRhYmxlc3BhY2UgZGlyZWN0b3J5LgorICovCitzdGF0aWMgdm9pZAorUmVtb3ZlU3Rh Z2VkUGdUZW1wRGlycyhjb25zdCBjaGFyICpzcGNfZGlyKQoreworCWNoYXIJCXRlbXBfcGF0aFtN QVhQR1BBVEggKiAyXTsKKwlESVIJCSAgICpkaXI7CisJc3RydWN0IGRpcmVudCAqZGU7CisKKwlk aXIgPSBBbGxvY2F0ZURpcihzcGNfZGlyKTsKKwl3aGlsZSAoKGRlID0gUmVhZERpckV4dGVuZGVk KGRpciwgc3BjX2RpciwgTE9HKSkgIT0gTlVMTCkKKwl7CisJCWlmIChzdHJuY21wKGRlLT5kX25h bWUsIFBHX1RFTVBfRElSX1RPX1JFTU9WRV9QUkVGSVgsCisJCQkJCXN0cmxlbihQR19URU1QX0RJ Ul9UT19SRU1PVkVfUFJFRklYKSkgIT0gMCkKKwkJCWNvbnRpbnVlOworCisJCXNucHJpbnRmKHRl bXBfcGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICIlcy8lcyIsIHNwY19kaXIsIGRlLT5kX25hbWUp OworCQlSZW1vdmVQZ1RlbXBEaXIodGVtcF9wYXRoLCB0cnVlLCBmYWxzZSk7CisJfQorCUZyZWVE aXIoZGlyKTsKK30KKworLyoKKyAqIFByb2Nlc3Mgb25lIHBnc3FsX3RtcCBkaXJlY3RvcnkgZm9y IFJlbW92ZVN0YWdlZFBnVGVtcERpcnMuCiAgKgogICogSWYgbWlzc2luZ19vayBpcyB0cnVlLCBp dCdzIGFsbCByaWdodCBmb3IgdGhlIG5hbWVkIGRpcmVjdG9yeSB0byBub3QgZXhpc3QuCiAgKiBB bnkgb3RoZXIgcHJvYmxlbSByZXN1bHRzIGluIGEgTE9HIG1lc3NhZ2UuICAobWlzc2luZ19vayBz aG91bGQgYmUgdHJ1ZSBhdApkaWZmIC0tZ2l0IGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9mZC5oIGIv c3JjL2luY2x1ZGUvc3RvcmFnZS9mZC5oCmluZGV4IDc2MmY2YjQ2YzEuLjg1ZmE5ODdhY2EgMTAw NjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3N0b3JhZ2UvZmQuaAorKysgYi9zcmMvaW5jbHVkZS9zdG9y YWdlL2ZkLmgKQEAgLTE2OCw3ICsxNjgsNyBAQCBleHRlcm4gT2lkCUdldE5leHRUZW1wVGFibGVT cGFjZSh2b2lkKTsKIGV4dGVybiB2b2lkIEF0RU9YYWN0X0ZpbGVzKGJvb2wgaXNDb21taXQpOwog ZXh0ZXJuIHZvaWQgQXRFT1N1YlhhY3RfRmlsZXMoYm9vbCBpc0NvbW1pdCwgU3ViVHJhbnNhY3Rp b25JZCBteVN1YmlkLAogCQkJCQkJCSAgU3ViVHJhbnNhY3Rpb25JZCBwYXJlbnRTdWJpZCk7Ci1l eHRlcm4gdm9pZCBSZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKTsKK2V4dGVybiB2b2lkIFJlbW92ZVBn VGVtcEZpbGVzKGJvb2wgc3RhZ2UsIGJvb2wgcmVtb3ZlX3JlbGF0aW9uX2ZpbGVzKTsKIGV4dGVy biB2b2lkIFJlbW92ZVBnVGVtcERpcihjb25zdCBjaGFyICp0bXBkaXJuYW1lLCBib29sIG1pc3Np bmdfb2ssCiAJCQkJCQkJYm9vbCB1bmxpbmtfYWxsKTsKIGV4dGVybiBib29sIGxvb2tzX2xpa2Vf dGVtcF9yZWxfbmFtZShjb25zdCBjaGFyICpuYW1lKTsKLS0gCjIuMTYuNgoK --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_ Content-Type: application/octet-stream; name="v2-0002-Also-remove-pgsql_tmp-directories-during-startup.patch" Content-Description: v2-0002-Also-remove-pgsql_tmp-directories-during-startup.patch Content-Disposition: attachment; filename="v2-0002-Also-remove-pgsql_tmp-directories-during-startup.patch"; size=4881; creation-date="Tue, 14 Dec 2021 20:23:57 GMT"; modification-date="Tue, 14 Dec 2021 20:23:57 GMT" Content-ID: <9390F416BDF3F743A7B36EA04954333E@amazon.com> Content-Transfer-Encoding: base64 RnJvbSAyNTQ2ZTllZDQ2YzIxODkwMzc3M2FhNTBlYWExMDU2YjQ3NWExYTdiIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBOYXRoYW4gQm9zc2FydCA8Ym9zc2FydG5AYW1hem9uLmNvbT4K RGF0ZTogU3VuLCA1IERlYyAyMDIxIDE5OjM4OjIwIC0wODAwClN1YmplY3Q6IFtQQVRDSCB2MiAy LzhdIEFsc28gcmVtb3ZlIHBnc3FsX3RtcCBkaXJlY3RvcmllcyBkdXJpbmcgc3RhcnR1cC4KClBy ZXNlbnRseSwgdGhlIHNlcnZlciBvbmx5IHJlbW92ZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSB0ZW1w b3JhcnkKZGlyZWN0b3JpZXMgZHVyaW5nIHN0YXJ0dXAsIG5vdCB0aGUgZGlyZWN0b3J5IGl0c2Vs Zi4gIFRoaXMgY2hhbmdlcwp0aGF0IHRvIHByZXBhcmUgZm9yIGZ1dHVyZSBjb21taXRzIHRoYXQg d2lsbCBtb3ZlIHRlbXBvcmFyeSBmaWxlCmNsZWFudXAgdG8gYSBzZXBhcmF0ZSBhdXhpbGlhcnkg cHJvY2Vzcy4KLS0tCiBzcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYyAgICAgICAg IHwgIDIgKy0KIHNyYy9iYWNrZW5kL3N0b3JhZ2UvZmlsZS9mZC5jICAgICAgICAgICAgICAgfCAy MCArKysrKysrKysrLS0tLS0tLS0tLQogc3JjL2luY2x1ZGUvc3RvcmFnZS9mZC5oICAgICAgICAg ICAgICAgICAgICB8ICA0ICsrLS0KIHNyYy90ZXN0L3JlY292ZXJ5L3QvMDIyX2NyYXNoX3RlbXBf ZmlsZXMucGwgfCAgNiArKysrLS0KIDQgZmlsZXMgY2hhbmdlZCwgMTcgaW5zZXJ0aW9ucygrKSwg MTUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcG9zdG1hc3Rlci9wb3N0 bWFzdGVyLmMgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYwppbmRleCA2MzUz MTNjZGI3Li41MTYxM2FhYTJhIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bv c3RtYXN0ZXIuYworKysgYi9zcmMvYmFja2VuZC9wb3N0bWFzdGVyL3Bvc3RtYXN0ZXIuYwpAQCAt MTExNyw3ICsxMTE3LDcgQEAgUG9zdG1hc3Rlck1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkK IAkgKiBzYWZlIHRvIGRvIHNvIG5vdywgYmVjYXVzZSB3ZSB2ZXJpZmllZCBlYXJsaWVyIHRoYXQg dGhlcmUgYXJlIG5vCiAJICogY29uZmxpY3RpbmcgUG9zdGdyZXMgcHJvY2Vzc2VzIGluIHRoaXMg ZGF0YSBkaXJlY3RvcnkuCiAJICovCi0JUmVtb3ZlUGdUZW1wRmlsZXNJbkRpcihQR19URU1QX0ZJ TEVTX0RJUiwgdHJ1ZSwgZmFsc2UpOworCVJlbW92ZVBnVGVtcERpcihQR19URU1QX0ZJTEVTX0RJ UiwgdHJ1ZSwgZmFsc2UpOwogI2VuZGlmCiAKIAkvKgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQv c3RvcmFnZS9maWxlL2ZkLmMgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYwppbmRleCAy NjMwNTc4NDFkLi41NDVlOTE5NzhjIDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9zdG9yYWdlL2Zp bGUvZmQuYworKysgYi9zcmMvYmFja2VuZC9zdG9yYWdlL2ZpbGUvZmQuYwpAQCAtMzE2MCw3ICsz MTYwLDcgQEAgUmVtb3ZlUGdUZW1wRmlsZXModm9pZCkKIAkgKiBGaXJzdCBwcm9jZXNzIHRlbXAg ZmlsZXMgaW4gcGdfZGVmYXVsdCAoJFBHREFUQS9iYXNlKQogCSAqLwogCXNucHJpbnRmKHRlbXBf cGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICJiYXNlLyVzIiwgUEdfVEVNUF9GSUxFU19ESVIpOwot CVJlbW92ZVBnVGVtcEZpbGVzSW5EaXIodGVtcF9wYXRoLCB0cnVlLCBmYWxzZSk7CisJUmVtb3Zl UGdUZW1wRGlyKHRlbXBfcGF0aCwgdHJ1ZSwgZmFsc2UpOwogCVJlbW92ZVBnVGVtcFJlbGF0aW9u RmlsZXMoImJhc2UiKTsKIAogCS8qCkBAIC0zMTc2LDcgKzMxNzYsNyBAQCBSZW1vdmVQZ1RlbXBG aWxlcyh2b2lkKQogCiAJCXNucHJpbnRmKHRlbXBfcGF0aCwgc2l6ZW9mKHRlbXBfcGF0aCksICJw Z190YmxzcGMvJXMvJXMvJXMiLAogCQkJCSBzcGNfZGUtPmRfbmFtZSwgVEFCTEVTUEFDRV9WRVJT SU9OX0RJUkVDVE9SWSwgUEdfVEVNUF9GSUxFU19ESVIpOwotCQlSZW1vdmVQZ1RlbXBGaWxlc0lu RGlyKHRlbXBfcGF0aCwgdHJ1ZSwgZmFsc2UpOworCQlSZW1vdmVQZ1RlbXBEaXIodGVtcF9wYXRo LCB0cnVlLCBmYWxzZSk7CiAKIAkJc25wcmludGYodGVtcF9wYXRoLCBzaXplb2YodGVtcF9wYXRo KSwgInBnX3RibHNwYy8lcy8lcyIsCiAJCQkJIHNwY19kZS0+ZF9uYW1lLCBUQUJMRVNQQUNFX1ZF UlNJT05fRElSRUNUT1JZKTsKQEAgLTMyMDksNyArMzIwOSw3IEBAIFJlbW92ZVBnVGVtcEZpbGVz KHZvaWQpCiAgKiB0aGVtIHNlcGFyYXRlLikKICAqLwogdm9pZAotUmVtb3ZlUGdUZW1wRmlsZXNJ bkRpcihjb25zdCBjaGFyICp0bXBkaXJuYW1lLCBib29sIG1pc3Npbmdfb2ssIGJvb2wgdW5saW5r X2FsbCkKK1JlbW92ZVBnVGVtcERpcihjb25zdCBjaGFyICp0bXBkaXJuYW1lLCBib29sIG1pc3Np bmdfb2ssIGJvb2wgdW5saW5rX2FsbCkKIHsKIAlESVIJCSAgICp0ZW1wX2RpcjsKIAlzdHJ1Y3Qg ZGlyZW50ICp0ZW1wX2RlOwpAQCAtMzI0NywxMyArMzI0Nyw3IEBAIFJlbW92ZVBnVGVtcEZpbGVz SW5EaXIoY29uc3QgY2hhciAqdG1wZGlybmFtZSwgYm9vbCBtaXNzaW5nX29rLCBib29sIHVubGlu a19hbGwpCiAJCQlpZiAoU19JU0RJUihzdGF0YnVmLnN0X21vZGUpKQogCQkJewogCQkJCS8qIHJl Y3Vyc2l2ZWx5IHJlbW92ZSBjb250ZW50cywgdGhlbiBkaXJlY3RvcnkgaXRzZWxmICovCi0JCQkJ UmVtb3ZlUGdUZW1wRmlsZXNJbkRpcihybV9wYXRoLCBmYWxzZSwgdHJ1ZSk7Ci0KLQkJCQlpZiAo cm1kaXIocm1fcGF0aCkgPCAwKQotCQkJCQllcmVwb3J0KExPRywKLQkJCQkJCQkoZXJyY29kZV9m b3JfZmlsZV9hY2Nlc3MoKSwKLQkJCQkJCQkgZXJybXNnKCJjb3VsZCBub3QgcmVtb3ZlIGRpcmVj dG9yeSBcIiVzXCI6ICVtIiwKLQkJCQkJCQkJCXJtX3BhdGgpKSk7CisJCQkJUmVtb3ZlUGdUZW1w RGlyKHJtX3BhdGgsIGZhbHNlLCB0cnVlKTsKIAkJCX0KIAkJCWVsc2UKIAkJCXsKQEAgLTMyNzEs NiArMzI2NSwxMiBAQCBSZW1vdmVQZ1RlbXBGaWxlc0luRGlyKGNvbnN0IGNoYXIgKnRtcGRpcm5h bWUsIGJvb2wgbWlzc2luZ19vaywgYm9vbCB1bmxpbmtfYWxsKQogCX0KIAogCUZyZWVEaXIodGVt cF9kaXIpOworCisJaWYgKHJtZGlyKHRtcGRpcm5hbWUpIDwgMCkKKwkJZXJlcG9ydChMT0csCisJ CQkJKGVycmNvZGVfZm9yX2ZpbGVfYWNjZXNzKCksCisJCQkJIGVycm1zZygiY291bGQgbm90IHJl bW92ZSBkaXJlY3RvcnkgXCIlc1wiOiAlbSIsCisJCQkJCQl0bXBkaXJuYW1lKSkpOwogfQogCiAv KiBQcm9jZXNzIG9uZSB0YWJsZXNwYWNlIGRpcmVjdG9yeSwgbG9vayBmb3IgcGVyLURCIHN1YmRp cmVjdG9yaWVzICovCmRpZmYgLS1naXQgYS9zcmMvaW5jbHVkZS9zdG9yYWdlL2ZkLmggYi9zcmMv aW5jbHVkZS9zdG9yYWdlL2ZkLmgKaW5kZXggMzQ2MDJhZTAwNi4uNzYyZjZiNDZjMSAxMDA2NDQK LS0tIGEvc3JjL2luY2x1ZGUvc3RvcmFnZS9mZC5oCisrKyBiL3NyYy9pbmNsdWRlL3N0b3JhZ2Uv ZmQuaApAQCAtMTY5LDggKzE2OSw4IEBAIGV4dGVybiB2b2lkIEF0RU9YYWN0X0ZpbGVzKGJvb2wg aXNDb21taXQpOwogZXh0ZXJuIHZvaWQgQXRFT1N1YlhhY3RfRmlsZXMoYm9vbCBpc0NvbW1pdCwg U3ViVHJhbnNhY3Rpb25JZCBteVN1YmlkLAogCQkJCQkJCSAgU3ViVHJhbnNhY3Rpb25JZCBwYXJl bnRTdWJpZCk7CiBleHRlcm4gdm9pZCBSZW1vdmVQZ1RlbXBGaWxlcyh2b2lkKTsKLWV4dGVybiB2 b2lkIFJlbW92ZVBnVGVtcEZpbGVzSW5EaXIoY29uc3QgY2hhciAqdG1wZGlybmFtZSwgYm9vbCBt aXNzaW5nX29rLAotCQkJCQkJCQkgICBib29sIHVubGlua19hbGwpOworZXh0ZXJuIHZvaWQgUmVt b3ZlUGdUZW1wRGlyKGNvbnN0IGNoYXIgKnRtcGRpcm5hbWUsIGJvb2wgbWlzc2luZ19vaywKKwkJ CQkJCQlib29sIHVubGlua19hbGwpOwogZXh0ZXJuIGJvb2wgbG9va3NfbGlrZV90ZW1wX3JlbF9u YW1lKGNvbnN0IGNoYXIgKm5hbWUpOwogCiBleHRlcm4gaW50CXBnX2ZzeW5jKGludCBmZCk7CmRp ZmYgLS1naXQgYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAyMl9jcmFzaF90ZW1wX2ZpbGVzLnBsIGIv c3JjL3Rlc3QvcmVjb3ZlcnkvdC8wMjJfY3Jhc2hfdGVtcF9maWxlcy5wbAppbmRleCBiZjk1YTMw NzYxLi40ODFmMWYyM2EyIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWNvdmVyeS90LzAyMl9jcmFz aF90ZW1wX2ZpbGVzLnBsCisrKyBiL3NyYy90ZXN0L3JlY292ZXJ5L3QvMDIyX2NyYXNoX3RlbXBf ZmlsZXMucGwKQEAgLTE0Myw3ICsxNDMsOCBAQCAkbm9kZS0+cG9sbF9xdWVyeV91bnRpbCgncG9z dGdyZXMnLCB1bmRlZiwgJycpOwogCiAjIENoZWNrIGZvciB0ZW1wb3JhcnkgZmlsZXMKIGlzKCAk bm9kZS0+c2FmZV9wc3FsKAotCQkncG9zdGdyZXMnLCAnU0VMRUNUIENPVU5UKDEpIEZST00gcGdf bHNfZGlyKCQkYmFzZS9wZ3NxbF90bXAkJCknKSwKKwkJJ3Bvc3RncmVzJywKKwkJJ1NFTEVDVCBD T1VOVCgxKSBGUk9NIHBnX2xzX2RpcigkJGJhc2UkJCkgV0hFUkUgcGdfbHNfZGlyID0gXCdwZ3Nx bF90bXBcJycpLAogCXFxKDApLAogCSdubyB0ZW1wb3JhcnkgZmlsZXMnKTsKIApAQCAtMjQxLDcg KzI0Miw4IEBAICRub2RlLT5yZXN0YXJ0KCk7CiAKICMgQ2hlY2sgdGhlIHRlbXBvcmFyeSBmaWxl cyAtLSBzaG91bGQgYmUgZ29uZQogaXMoICRub2RlLT5zYWZlX3BzcWwoCi0JCSdwb3N0Z3Jlcycs ICdTRUxFQ1QgQ09VTlQoMSkgRlJPTSBwZ19sc19kaXIoJCRiYXNlL3Bnc3FsX3RtcCQkKScpLAor CQkncG9zdGdyZXMnLAorCQknU0VMRUNUIENPVU5UKDEpIEZST00gcGdfbHNfZGlyKCQkYmFzZSQk KSBXSEVSRSBwZ19sc19kaXIgPSBcJ3Bnc3FsX3RtcFwnJyksCiAJcXEoMCksCiAJJ3RlbXBvcmFy eSBmaWxlIHdhcyByZW1vdmVkJyk7CiAKLS0gCjIuMTYuNgoK --_009_C7CF1B2C209B406398EE1617E1D4AA84amazoncom_--