Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.92) (envelope-from ) id 1j9pso-00027T-Jf for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Mar 2020 12:45:47 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1j9psn-0004B9-7s for pgsql-hackers@arkaria.postgresql.org; Thu, 05 Mar 2020 12:45:45 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1j9psl-0004B1-T1 for pgsql-hackers@lists.postgresql.org; Thu, 05 Mar 2020 12:45:44 +0000 Received: from [64.147.123.24] (helo=wout1-smtp.messagingengine.com) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1j9psi-0007ED-8B for pgsql-hackers@postgresql.org; Thu, 05 Mar 2020 12:45:42 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.west.internal (Postfix) with ESMTP id 391497BE; Thu, 5 Mar 2020 07:45:28 -0500 (EST) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Thu, 05 Mar 2020 07:45:28 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to:x-me-proxy :x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm2; bh=KtqxxS KFIW+YrMWtlxyxHtVW0KU2BPOCch3blvjYMbE=; b=W84F+LBUIlMervoIWvn3i5 d2QBe8tcJZBeKq2+oa6M0GiV1zG5bya1iCpu6TFycqs30vDEkLZ1NCT07u6piBEp d0XuU1fQuBM/sQgf9nTFW4Pppukn6/FF6dc0JcePL77FjZ4z/xSbYGsm/pUW1ga0 d9cE48iSz4aDaOBLXKeNixQWA7FRm/B2okalhnMPfxeyGAYF/Nicj2p2p1dXzJ9G T3ByFHeNec4fPnK+QPPjKjJfNEyIfG6kMw0X05R8JGcFNTc7CYfDsDJ75A7OEuHg Nh5rNvXXK5KJqy3iznKnDuegG2ejA3AaLSux0ncMpk/mDnajQEhMwk/sbvugOv6A == X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedugedruddutddggeeiucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepuffvfhfhohfkffgfgggjtgesmhdtreertdefjeenucfhrhhomheprfgvthgv rhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdrvghishgvnhhtrhgruhhtsedvnhguqh hurggurhgrnhhtrdgtohhmqeenucffohhmrghinhepvdhnughquhgrughrrghnthdrtgho mhenucfkphepleefrddvgedvrdduleegrdduleeinecuvehluhhsthgvrhfuihiivgeptd enucfrrghrrghmpehmrghilhhfrhhomhepphgvthgvrhdrvghishgvnhhtrhgruhhtsedv nhguqhhurggurhgrnhhtrdgtohhm X-ME-Proxy: Received: from april.pezone.net (p5df2c2c4.dip0.t-ipconnect.de [93.242.194.196]) by mail.messagingengine.com (Postfix) with ESMTPA id BFC403280060; Thu, 5 Mar 2020 07:45:25 -0500 (EST) Subject: Re: Restore replication settings when modifying a field type To: Quan Zongliang , Euler Taveira , Kyotaro Horiguchi References: <20191028.133939.559712139043653003.horikyota.ntt@gmail.com> <61d38b0e-0831-d206-8390-2a08bb51905d@2ndquadrant.com> <0b190c18-1ab0-22ab-f249-af58ee967807@foxmail.com> Cc: pgsql-hackers From: Peter Eisentraut Organization: 2ndQuadrant Message-ID: <40e3fb7b-6362-6438-03d1-6b7f9dc0f962@2ndquadrant.com> Date: Thu, 5 Mar 2020 13:45:24 +0100 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:52.0) Gecko/20100101 Thunderbird/52.9.1 MIME-Version: 1.0 In-Reply-To: <0b190c18-1ab0-22ab-f249-af58ee967807@foxmail.com> Content-Type: multipart/mixed; boundary="------------1F2ED4FACD8A49DE1509BE27" Content-Language: en-US X-Host-Lookup-Failed: Reverse DNS lookup failed for 64.147.123.24 (deferred) List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk This is a multi-part message in MIME format. --------------1F2ED4FACD8A49DE1509BE27 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit On 2020-02-11 00:38, Quan Zongliang wrote: > new patch attached. I didn't like so much how the updating of the replica identity was hacked into the middle of ATRewriteCatalogs(). I have an alternative proposal in the attached patch that queues up an ALTER TABLE ... REPLICA IDENTITY command into the normal ALTER TABLE processing. I have also added tests to the test suite. -- Peter Eisentraut http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services --------------1F2ED4FACD8A49DE1509BE27 Content-Type: text/plain; charset=UTF-8; x-mac-type="0"; x-mac-creator="0"; name="v4-0001-Preserve-replica-identity-index-across-ALTER-TABL.patch" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename*0="v4-0001-Preserve-replica-identity-index-across-ALTER-TABL.pa"; filename*1="tch" RnJvbSA3MzBhNWRjNDZlYzk3MjJhYTA0MTZlNWE4NTk4N2M2Mzg1ZTYxNzBjIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVGh1LCA1IE1hciAyMDIwIDEwOjExOjEzICswMTAwClN1YmplY3Q6 IFtQQVRDSCB2NF0gUHJlc2VydmUgcmVwbGljYSBpZGVudGl0eSBpbmRleCBhY3Jvc3MgQUxU RVIgVEFCTEUgcmV3cml0ZQoKLS0tCiBzcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMu YyAgICAgICAgICAgICAgfCA0MiArKysrKysrKysrKysrKysrKwogc3JjL2JhY2tlbmQvdXRp bHMvY2FjaGUvbHN5c2NhY2hlLmMgICAgICAgICAgIHwgMjMgKysrKysrKysrKwogc3JjL2lu Y2x1ZGUvdXRpbHMvbHN5c2NhY2hlLmggICAgICAgICAgICAgICAgIHwgIDEgKwogLi4uL3Jl Z3Jlc3MvZXhwZWN0ZWQvcmVwbGljYV9pZGVudGl0eS5vdXQgICAgIHwgNDYgKysrKysrKysr KysrKysrKysrKwogc3JjL3Rlc3QvcmVncmVzcy9zcWwvcmVwbGljYV9pZGVudGl0eS5zcWwg ICAgIHwgMjEgKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDEzMyBpbnNlcnRpb25zKCsp CgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvY29tbWFuZHMvdGFibGVjbWRzLmMgYi9zcmMv YmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwppbmRleCA3YTEzYjk3MTY0Li44ZWRlYzlj YmU3IDEwMDY0NAotLS0gYS9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYworKysg Yi9zcmMvYmFja2VuZC9jb21tYW5kcy90YWJsZWNtZHMuYwpAQCAtMTc2LDYgKzE3Niw3IEBA IHR5cGVkZWYgc3RydWN0IEFsdGVyZWRUYWJsZUluZm8KIAlMaXN0CSAgICpjaGFuZ2VkQ29u c3RyYWludERlZnM7CS8qIHN0cmluZyBkZWZpbml0aW9ucyBvZiBzYW1lICovCiAJTGlzdAkg ICAqY2hhbmdlZEluZGV4T2lkczsJLyogT0lEcyBvZiBpbmRleGVzIHRvIHJlYnVpbGQgKi8K IAlMaXN0CSAgICpjaGFuZ2VkSW5kZXhEZWZzOwkvKiBzdHJpbmcgZGVmaW5pdGlvbnMgb2Yg c2FtZSAqLworCWNoYXIJICAgKnJlcGxpY2FJZGVudGl0eUluZGV4OwkvKiBpbmRleCB0byBy ZXNldCBhcyBSRVBMSUNBIElERU5USVRZICovCiB9IEFsdGVyZWRUYWJsZUluZm87CiAKIC8q IFN0cnVjdCBkZXNjcmliaW5nIG9uZSBuZXcgY29uc3RyYWludCB0byBjaGVjayBpbiBQaGFz ZSAzIHNjYW4gKi8KQEAgLTExNTY0LDYgKzExNTY1LDIyIEBAIEFURXhlY0FsdGVyQ29sdW1u VHlwZShBbHRlcmVkVGFibGVJbmZvICp0YWIsIFJlbGF0aW9uIHJlbCwKIAlyZXR1cm4gYWRk cmVzczsKIH0KIAorLyoKKyAqIFN1YnJvdXRpbmUgZm9yIEFURXhlY0FsdGVyQ29sdW1uVHlw ZTogcmVtZW1iZXIgdGhhdCBhIHJlcGxpY2EgaWRlbnRpdHkKKyAqIG5lZWRzIHRvIGJlIHJl c2V0LgorICovCitzdGF0aWMgdm9pZAorUmVtZW1iZXJSZXBsaWNhSWRlbnRpdHlGb3JSZWJ1 aWxkaW5nKE9pZCBpbmRvaWQsIEFsdGVyZWRUYWJsZUluZm8gKnRhYikKK3sKKwlpZiAoIWdl dF9pbmRleF9pc19yZXBsaWRlbnQoaW5kb2lkKSkKKwkJcmV0dXJuOworCisJaWYgKHRhYi0+ cmVwbGljYUlkZW50aXR5SW5kZXgpCisJCWVsb2coRVJST1IsICJyZWxhdGlvbiAldSBoYXMg bXVsdGlwbGUgaW5kZXhlcyBtYXJrZWQgYXMgcmVwbGljYSBpZGVudGl0eSIsIHRhYi0+cmVs aWQpOworCisJdGFiLT5yZXBsaWNhSWRlbnRpdHlJbmRleCA9IGdldF9yZWxfbmFtZShpbmRv aWQpOworfQorCiAvKgogICogU3Vicm91dGluZSBmb3IgQVRFeGVjQWx0ZXJDb2x1bW5UeXBl OiByZW1lbWJlciB0aGF0IGEgY29uc3RyYWludCBuZWVkcwogICogdG8gYmUgcmVidWlsdCAo d2hpY2ggd2UgbWlnaHQgYWxyZWFkeSBrbm93KS4KQEAgLTExNTgyLDExICsxMTU5OSwxNiBA QCBSZW1lbWJlckNvbnN0cmFpbnRGb3JSZWJ1aWxkaW5nKE9pZCBjb25vaWQsIEFsdGVyZWRU YWJsZUluZm8gKnRhYikKIAl7CiAJCS8qIE9LLCBjYXB0dXJlIHRoZSBjb25zdHJhaW50J3Mg ZXhpc3RpbmcgZGVmaW5pdGlvbiBzdHJpbmcgKi8KIAkJY2hhcgkgICAqZGVmc3RyaW5nID0g cGdfZ2V0X2NvbnN0cmFpbnRkZWZfY29tbWFuZChjb25vaWQpOworCQlPaWQJCQlpbmRvaWQ7 CiAKIAkJdGFiLT5jaGFuZ2VkQ29uc3RyYWludE9pZHMgPSBsYXBwZW5kX29pZCh0YWItPmNo YW5nZWRDb25zdHJhaW50T2lkcywKIAkJCQkJCQkJCQkJCSBjb25vaWQpOwogCQl0YWItPmNo YW5nZWRDb25zdHJhaW50RGVmcyA9IGxhcHBlbmQodGFiLT5jaGFuZ2VkQ29uc3RyYWludERl ZnMsCiAJCQkJCQkJCQkJCSBkZWZzdHJpbmcpOworCisJCWluZG9pZCA9IGdldF9jb25zdHJh aW50X2luZGV4KGNvbm9pZCk7CisJCWlmIChPaWRJc1ZhbGlkKGluZG9pZCkpCisJCQlSZW1l bWJlclJlcGxpY2FJZGVudGl0eUZvclJlYnVpbGRpbmcoaW5kb2lkLCB0YWIpOwogCX0KIH0K IApAQCAtMTE2MjksNiArMTE2NTEsOCBAQCBSZW1lbWJlckluZGV4Rm9yUmVidWlsZGluZyhP aWQgaW5kb2lkLCBBbHRlcmVkVGFibGVJbmZvICp0YWIpCiAJCQkJCQkJCQkJCQlpbmRvaWQp OwogCQkJdGFiLT5jaGFuZ2VkSW5kZXhEZWZzID0gbGFwcGVuZCh0YWItPmNoYW5nZWRJbmRl eERlZnMsCiAJCQkJCQkJCQkJCWRlZnN0cmluZyk7CisKKwkJCVJlbWVtYmVyUmVwbGljYUlk ZW50aXR5Rm9yUmVidWlsZGluZyhpbmRvaWQsIHRhYik7CiAJCX0KIAl9CiB9CkBAIC0xMTcz Nyw2ICsxMTc2MSwyNCBAQCBBVFBvc3RBbHRlclR5cGVDbGVhbnVwKExpc3QgKip3cXVldWUs IEFsdGVyZWRUYWJsZUluZm8gKnRhYiwgTE9DS01PREUgbG9ja21vZGUpCiAJCWFkZF9leGFj dF9vYmplY3RfYWRkcmVzcygmb2JqLCBvYmplY3RzKTsKIAl9CiAKKwkvKgorCSAqIFF1ZXVl IHVwIGNvbW1hbmQgdG8gcmVzdG9yZSByZXBsaWNhIGlkZW50aXR5IGluZGV4IG1hcmtpbmcK KwkgKi8KKwlpZiAodGFiLT5yZXBsaWNhSWRlbnRpdHlJbmRleCkKKwl7CisJCUFsdGVyVGFi bGVDbWQgKmNtZCA9IG1ha2VOb2RlKEFsdGVyVGFibGVDbWQpOworCQlSZXBsaWNhSWRlbnRp dHlTdG10ICpzdWJjbWQgPSBtYWtlTm9kZShSZXBsaWNhSWRlbnRpdHlTdG10KTsKKworCQlz dWJjbWQtPmlkZW50aXR5X3R5cGUgPSBSRVBMSUNBX0lERU5USVRZX0lOREVYOworCQlzdWJj bWQtPm5hbWUgPSB0YWItPnJlcGxpY2FJZGVudGl0eUluZGV4OworCQljbWQtPnN1YnR5cGUg PSBBVF9SZXBsaWNhSWRlbnRpdHk7CisJCWNtZC0+ZGVmID0gKE5vZGUgKikgc3ViY21kOwor CisJCS8qIGRvIGl0IGFmdGVyIGluZGV4ZXMgYW5kIGNvbnN0cmFpbnRzICovCisJCXRhYi0+ c3ViY21kc1tBVF9QQVNTX09MRF9DT05TVFJdID0KKwkJCWxhcHBlbmQodGFiLT5zdWJjbWRz W0FUX1BBU1NfT0xEX0NPTlNUUl0sIGNtZCk7CisJfQorCiAJLyoKIAkgKiBJdCBzaG91bGQg YmUgb2theSB0byB1c2UgRFJPUF9SRVNUUklDVCBoZXJlLCBzaW5jZSBub3RoaW5nIGVsc2Ug c2hvdWxkCiAJICogYmUgZGVwZW5kaW5nIG9uIHRoZXNlIG9iamVjdHMuCmRpZmYgLS1naXQg YS9zcmMvYmFja2VuZC91dGlscy9jYWNoZS9sc3lzY2FjaGUuYyBiL3NyYy9iYWNrZW5kL3V0 aWxzL2NhY2hlL2xzeXNjYWNoZS5jCmluZGV4IDNkYTkwY2I3MmEuLmY3YjBjMTQwOGYgMTAw NjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jCisrKyBiL3Ny Yy9iYWNrZW5kL3V0aWxzL2NhY2hlL2xzeXNjYWNoZS5jCkBAIC0zMjI3LDMgKzMyMjcsMjYg QEAgZ2V0X2luZGV4X2NvbHVtbl9vcGNsYXNzKE9pZCBpbmRleF9vaWQsIGludCBhdHRubykK IAogCXJldHVybiBvcGNsYXNzOwogfQorCisvKgorICogZ2V0X2luZGV4X2lzX3JlcGxpZGVu dAorICoKKyAqIFJldHVybnMgaW5kaXNyZXBsaWRlbnQgZmllbGQuCisgKi8KK2Jvb2wKK2dl dF9pbmRleF9pc19yZXBsaWRlbnQoT2lkIGluZGV4X29pZCkKK3sKKwlIZWFwVHVwbGUJCXR1 cGxlOworCUZvcm1fcGdfaW5kZXgJcmRfaW5kZXg7CisJYm9vbAkJCXJlc3VsdDsKKworCXR1 cGxlID0gU2VhcmNoU3lzQ2FjaGUxKElOREVYUkVMSUQsIE9iamVjdElkR2V0RGF0dW0oaW5k ZXhfb2lkKSk7CisJaWYgKCFIZWFwVHVwbGVJc1ZhbGlkKHR1cGxlKSkKKwkJcmV0dXJuIGZh bHNlOworCisJcmRfaW5kZXggPSAoRm9ybV9wZ19pbmRleCkgR0VUU1RSVUNUKHR1cGxlKTsK KwlyZXN1bHQgPSByZF9pbmRleC0+aW5kaXNyZXBsaWRlbnQ7CisJUmVsZWFzZVN5c0NhY2hl KHR1cGxlKTsKKworCXJldHVybiByZXN1bHQ7Cit9CmRpZmYgLS1naXQgYS9zcmMvaW5jbHVk ZS91dGlscy9sc3lzY2FjaGUuaCBiL3NyYy9pbmNsdWRlL3V0aWxzL2xzeXNjYWNoZS5oCmlu ZGV4IGYxMzJkMzk0NTguLmVlNDY4Mzg0M2UgMTAwNjQ0Ci0tLSBhL3NyYy9pbmNsdWRlL3V0 aWxzL2xzeXNjYWNoZS5oCisrKyBiL3NyYy9pbmNsdWRlL3V0aWxzL2xzeXNjYWNoZS5oCkBA IC0xODEsNiArMTgxLDcgQEAgZXh0ZXJuIGNoYXIgKmdldF9uYW1lc3BhY2VfbmFtZV9vcl90 ZW1wKE9pZCBuc3BpZCk7CiBleHRlcm4gT2lkCWdldF9yYW5nZV9zdWJ0eXBlKE9pZCByYW5n ZU9pZCk7CiBleHRlcm4gT2lkCWdldF9yYW5nZV9jb2xsYXRpb24oT2lkIHJhbmdlT2lkKTsK IGV4dGVybiBPaWQJZ2V0X2luZGV4X2NvbHVtbl9vcGNsYXNzKE9pZCBpbmRleF9vaWQsIGlu dCBhdHRubyk7CitleHRlcm4gYm9vbAlnZXRfaW5kZXhfaXNfcmVwbGlkZW50KE9pZCBpbmRl eF9vaWQpOwogCiAjZGVmaW5lIHR5cGVfaXNfYXJyYXkodHlwaWQpICAoZ2V0X2VsZW1lbnRf dHlwZSh0eXBpZCkgIT0gSW52YWxpZE9pZCkKIC8qIHR5cGVfaXNfYXJyYXlfZG9tYWluIGFj Y2VwdHMgYm90aCBwbGFpbiBhcnJheXMgYW5kIGRvbWFpbnMgb3ZlciBhcnJheXMgKi8KZGlm ZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcmVwbGljYV9pZGVudGl0eS5v dXQgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3JlcGxpY2FfaWRlbnRpdHkub3V0Cmlu ZGV4IDczOTYwOGFhYjQuLjc5MDAyMTk3YTcgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvcmVwbGljYV9pZGVudGl0eS5vdXQKKysrIGIvc3JjL3Rlc3QvcmVncmVz cy9leHBlY3RlZC9yZXBsaWNhX2lkZW50aXR5Lm91dApAQCAtMTc5LDUgKzE3OSw1MSBAQCBT RUxFQ1QgcmVscmVwbGlkZW50IEZST00gcGdfY2xhc3MgV0hFUkUgb2lkID0gJ3Rlc3RfcmVw bGljYV9pZGVudGl0eSc6OnJlZ2NsYXNzOwogIG4KICgxIHJvdykKIAorLS0tCistLSBUZXN0 IHRoYXQgQUxURVIgVEFCTEUgcmV3cml0ZSBwcmVzZXJ2ZXMgbm9uZGVmYXVsdCByZXBsaWNh IGlkZW50aXR5CistLS0KKy0tIGNvbnN0cmFpbnQgdmFyaWFudAorQ1JFQVRFIFRBQkxFIHRl c3RfcmVwbGljYV9pZGVudGl0eTIgKGlkIGludCBVTklRVUUgTk9UIE5VTEwpOworQUxURVIg VEFCTEUgdGVzdF9yZXBsaWNhX2lkZW50aXR5MiBSRVBMSUNBIElERU5USVRZIFVTSU5HIElO REVYIHRlc3RfcmVwbGljYV9pZGVudGl0eTJfaWRfa2V5OworXGQgdGVzdF9yZXBsaWNhX2lk ZW50aXR5MgorICAgICAgIFRhYmxlICJwdWJsaWMudGVzdF9yZXBsaWNhX2lkZW50aXR5MiIK KyBDb2x1bW4gfCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAor LS0tLS0tLS0rLS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisg aWQgICAgIHwgaW50ZWdlciB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCitJbmRleGVzOgor ICAgICJ0ZXN0X3JlcGxpY2FfaWRlbnRpdHkyX2lkX2tleSIgVU5JUVVFIENPTlNUUkFJTlQs IGJ0cmVlIChpZCkgUkVQTElDQSBJREVOVElUWQorCitBTFRFUiBUQUJMRSB0ZXN0X3JlcGxp Y2FfaWRlbnRpdHkyIEFMVEVSIENPTFVNTiBpZCBUWVBFIGJpZ2ludDsKK1xkIHRlc3RfcmVw bGljYV9pZGVudGl0eTIKKyAgICAgIFRhYmxlICJwdWJsaWMudGVzdF9yZXBsaWNhX2lkZW50 aXR5MiIKKyBDb2x1bW4gfCAgVHlwZSAgfCBDb2xsYXRpb24gfCBOdWxsYWJsZSB8IERlZmF1 bHQgCistLS0tLS0tLSstLS0tLS0tLSstLS0tLS0tLS0tLSstLS0tLS0tLS0tKy0tLS0tLS0t LQorIGlkICAgICB8IGJpZ2ludCB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCitJbmRleGVz OgorICAgICJ0ZXN0X3JlcGxpY2FfaWRlbnRpdHkyX2lkX2tleSIgVU5JUVVFIENPTlNUUkFJ TlQsIGJ0cmVlIChpZCkgUkVQTElDQSBJREVOVElUWQorCistLSBzdHJhaWdodCBpbmRleCB2 YXJpYW50CitDUkVBVEUgVEFCTEUgdGVzdF9yZXBsaWNhX2lkZW50aXR5MyAoaWQgaW50IE5P VCBOVUxMKTsKK0NSRUFURSBVTklRVUUgSU5ERVggdGVzdF9yZXBsaWNhX2lkZW50aXR5M19p ZF9rZXkgT04gdGVzdF9yZXBsaWNhX2lkZW50aXR5MyAoaWQpOworQUxURVIgVEFCTEUgdGVz dF9yZXBsaWNhX2lkZW50aXR5MyBSRVBMSUNBIElERU5USVRZIFVTSU5HIElOREVYIHRlc3Rf cmVwbGljYV9pZGVudGl0eTNfaWRfa2V5OworXGQgdGVzdF9yZXBsaWNhX2lkZW50aXR5Mwor ICAgICAgIFRhYmxlICJwdWJsaWMudGVzdF9yZXBsaWNhX2lkZW50aXR5MyIKKyBDb2x1bW4g fCAgVHlwZSAgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0r LS0tLS0tLS0tKy0tLS0tLS0tLS0tKy0tLS0tLS0tLS0rLS0tLS0tLS0tCisgaWQgICAgIHwg aW50ZWdlciB8ICAgICAgICAgICB8IG5vdCBudWxsIHwgCitJbmRleGVzOgorICAgICJ0ZXN0 X3JlcGxpY2FfaWRlbnRpdHkzX2lkX2tleSIgVU5JUVVFLCBidHJlZSAoaWQpIFJFUExJQ0Eg SURFTlRJVFkKKworQUxURVIgVEFCTEUgdGVzdF9yZXBsaWNhX2lkZW50aXR5MyBBTFRFUiBD T0xVTU4gaWQgVFlQRSBiaWdpbnQ7CitcZCB0ZXN0X3JlcGxpY2FfaWRlbnRpdHkzCisgICAg ICBUYWJsZSAicHVibGljLnRlc3RfcmVwbGljYV9pZGVudGl0eTMiCisgQ29sdW1uIHwgIFR5 cGUgIHwgQ29sbGF0aW9uIHwgTnVsbGFibGUgfCBEZWZhdWx0IAorLS0tLS0tLS0rLS0tLS0t LS0rLS0tLS0tLS0tLS0rLS0tLS0tLS0tLSstLS0tLS0tLS0KKyBpZCAgICAgfCBiaWdpbnQg fCAgICAgICAgICAgfCBub3QgbnVsbCB8IAorSW5kZXhlczoKKyAgICAidGVzdF9yZXBsaWNh X2lkZW50aXR5M19pZF9rZXkiIFVOSVFVRSwgYnRyZWUgKGlkKSBSRVBMSUNBIElERU5USVRZ CisKIERST1AgVEFCTEUgdGVzdF9yZXBsaWNhX2lkZW50aXR5OworRFJPUCBUQUJMRSB0ZXN0 X3JlcGxpY2FfaWRlbnRpdHkyOworRFJPUCBUQUJMRSB0ZXN0X3JlcGxpY2FfaWRlbnRpdHkz OwogRFJPUCBUQUJMRSB0ZXN0X3JlcGxpY2FfaWRlbnRpdHlfb3RoZXJ0YWJsZTsKZGlmZiAt LWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3JlcGxpY2FfaWRlbnRpdHkuc3FsIGIvc3Jj L3Rlc3QvcmVncmVzcy9zcWwvcmVwbGljYV9pZGVudGl0eS5zcWwKaW5kZXggYjA4YTM2MjNi OC4uYTVhYzhmNTU2NyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcmVwbGlj YV9pZGVudGl0eS5zcWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcmVwbGljYV9pZGVu dGl0eS5zcWwKQEAgLTc1LDUgKzc1LDI2IEBAIENSRUFURSBVTklRVUUgSU5ERVggdGVzdF9y ZXBsaWNhX2lkZW50aXR5X3BhcnRpYWwgT04gdGVzdF9yZXBsaWNhX2lkZW50aXR5IChrZXlh CiBBTFRFUiBUQUJMRSB0ZXN0X3JlcGxpY2FfaWRlbnRpdHkgUkVQTElDQSBJREVOVElUWSBO T1RISU5HOwogU0VMRUNUIHJlbHJlcGxpZGVudCBGUk9NIHBnX2NsYXNzIFdIRVJFIG9pZCA9 ICd0ZXN0X3JlcGxpY2FfaWRlbnRpdHknOjpyZWdjbGFzczsKIAorLS0tCistLSBUZXN0IHRo YXQgQUxURVIgVEFCTEUgcmV3cml0ZSBwcmVzZXJ2ZXMgbm9uZGVmYXVsdCByZXBsaWNhIGlk ZW50aXR5CistLS0KKworLS0gY29uc3RyYWludCB2YXJpYW50CitDUkVBVEUgVEFCTEUgdGVz dF9yZXBsaWNhX2lkZW50aXR5MiAoaWQgaW50IFVOSVFVRSBOT1QgTlVMTCk7CitBTFRFUiBU QUJMRSB0ZXN0X3JlcGxpY2FfaWRlbnRpdHkyIFJFUExJQ0EgSURFTlRJVFkgVVNJTkcgSU5E RVggdGVzdF9yZXBsaWNhX2lkZW50aXR5Ml9pZF9rZXk7CitcZCB0ZXN0X3JlcGxpY2FfaWRl bnRpdHkyCitBTFRFUiBUQUJMRSB0ZXN0X3JlcGxpY2FfaWRlbnRpdHkyIEFMVEVSIENPTFVN TiBpZCBUWVBFIGJpZ2ludDsKK1xkIHRlc3RfcmVwbGljYV9pZGVudGl0eTIKKworLS0gc3Ry YWlnaHQgaW5kZXggdmFyaWFudAorQ1JFQVRFIFRBQkxFIHRlc3RfcmVwbGljYV9pZGVudGl0 eTMgKGlkIGludCBOT1QgTlVMTCk7CitDUkVBVEUgVU5JUVVFIElOREVYIHRlc3RfcmVwbGlj YV9pZGVudGl0eTNfaWRfa2V5IE9OIHRlc3RfcmVwbGljYV9pZGVudGl0eTMgKGlkKTsKK0FM VEVSIFRBQkxFIHRlc3RfcmVwbGljYV9pZGVudGl0eTMgUkVQTElDQSBJREVOVElUWSBVU0lO RyBJTkRFWCB0ZXN0X3JlcGxpY2FfaWRlbnRpdHkzX2lkX2tleTsKK1xkIHRlc3RfcmVwbGlj YV9pZGVudGl0eTMKK0FMVEVSIFRBQkxFIHRlc3RfcmVwbGljYV9pZGVudGl0eTMgQUxURVIg Q09MVU1OIGlkIFRZUEUgYmlnaW50OworXGQgdGVzdF9yZXBsaWNhX2lkZW50aXR5MworCiBE Uk9QIFRBQkxFIHRlc3RfcmVwbGljYV9pZGVudGl0eTsKK0RST1AgVEFCTEUgdGVzdF9yZXBs aWNhX2lkZW50aXR5MjsKK0RST1AgVEFCTEUgdGVzdF9yZXBsaWNhX2lkZW50aXR5MzsKIERS T1AgVEFCTEUgdGVzdF9yZXBsaWNhX2lkZW50aXR5X290aGVydGFibGU7Ci0tIAoyLjI1LjAK Cg== --------------1F2ED4FACD8A49DE1509BE27--