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 1oiDnk-0000tW-Kn for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Oct 2022 11:52:00 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1oiDnj-0004Lk-Cx for pgsql-hackers@arkaria.postgresql.org; Tue, 11 Oct 2022 11:51:59 +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 1oiDni-0004LU-RG for pgsql-hackers@lists.postgresql.org; Tue, 11 Oct 2022 11:51:59 +0000 Received: from out1-smtp.messagingengine.com ([66.111.4.25]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1oiDne-0007SF-O0 for pgsql-hackers@postgresql.org; Tue, 11 Oct 2022 11:51:57 +0000 Received: from compute1.internal (compute1.nyi.internal [10.202.2.41]) by mailout.nyi.internal (Postfix) with ESMTP id 4B9A05C009C for ; Tue, 11 Oct 2022 07:51:53 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute1.internal (MEProxy); Tue, 11 Oct 2022 07:51:53 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:date:date:feedback-id :feedback-id:from:from:in-reply-to:in-reply-to:message-id :mime-version:references:reply-to:sender:subject:subject:to:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; t=1665489113; x=1665575513; bh=qhmOrCdVm8yiMxQo+VnCyAus0jF3 7EEdzgQINCNHYrE=; b=dhOmsP01bqE6UlEX2/+T4XK/qH14yeeRr8xmuQbCVnto S5WSERsQkNYto3wjHVHZmabUuoT1J1JKl/eBD8C6uGtHVLvMKhzbf2ghSmBmTn/w xvvY7s5eSFbzdKvMLD1wJVrWaJt1KL+k36Ff+4nFiU+CqHn6lEtC7hW7f5lsWcnz fro2+3V2rhc3SS8zIXLzGKZCGPoFEXtwYL+9F7kbIo8SNkzkCrc8P4lyOKiiRe8d F7IpyRl/Z+dR/88eSBiq8HIgRi9BbC5+AFX8uukLMWVNYapF0O585q+Q9Ei0TM06 /ujflCewm2Yjz0osa7gI3VtOziNn/mWAHHt7O4QvyA== X-ME-Sender: X-ME-Received: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedvfedrfeejiedggeduucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucenucfjughrpegtkfffgggfuffhvfhfjgesmhdtre ertdefjeenucfhrhhomheprfgvthgvrhcugfhishgvnhhtrhgruhhtuceophgvthgvrhdr vghishgvnhhtrhgruhhtsegvnhhtvghrphhrihhsvggusgdrtghomheqnecuggftrfgrth htvghrnhepkeetteefheevhfdvledtfeegleeutdekkeekveeifeeuffevjeeujeehffej ieejnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilhhfrhhomhepph gvthgvrhdrvghishgvnhhtrhgruhhtsegvnhhtvghrphhrihhsvggusgdrtghomh X-ME-Proxy: Feedback-ID: i131946ab:Fastmail Received: by mail.messagingengine.com (Postfix) with ESMTPA for ; Tue, 11 Oct 2022 07:51:51 -0400 (EDT) Content-Type: multipart/mixed; boundary="------------HhhZkfW8zy9ywbqh5R006Lr9" Message-ID: <647f6cc1-473d-f788-ade0-c09201e5ab6a@enterprisedb.com> Date: Tue, 11 Oct 2022 13:51:50 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.15; rv:102.0) Gecko/20100101 Thunderbird/102.3.1 Subject: Re: Allow tests to pass in OpenSSL FIPS mode Content-Language: en-US From: Peter Eisentraut To: pgsql-hackers References: In-Reply-To: List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk This is a multi-part message in MIME format. --------------HhhZkfW8zy9ywbqh5R006Lr9 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 04.10.22 17:45, Peter Eisentraut wrote: > While working on the column encryption patch, I wanted to check that > what is implemented also works in OpenSSL FIPS mode.  I tried running > the normal test suites after switching the OpenSSL installation to FIPS > mode, but that failed all over the place.  So I embarked on fixing that. > Of course, there are some some tests where we do want to test MD5 > functionality, such as in the authentication tests or in the tests of > the md5() function itself.  I think we can conditionalize these somehow. Let's make a small start on this. The attached patch moves the tests of the md5() function to a separate test file. That would ultimately make it easier to maintain a variant expected file for FIPS mode where that function will fail (similar to how we have done it for the pgcrypto tests). --------------HhhZkfW8zy9ywbqh5R006Lr9 Content-Type: text/plain; charset=UTF-8; name="0001-Put-tests-of-md5-function-into-separate-test-file.patch" Content-Disposition: attachment; filename*0="0001-Put-tests-of-md5-function-into-separate-test-file.patch" Content-Transfer-Encoding: base64 RnJvbSA3OGI2MDMyNDQ0Y2E3ZGI1NDBhODJhYjcyNjM3YzM1NzFhZmJhZTgyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQZXRlciBFaXNlbnRyYXV0IDxwZXRlckBlaXNlbnRy YXV0Lm9yZz4KRGF0ZTogVHVlLCAxMSBPY3QgMjAyMiAxMDozMzozMCArMDIwMApTdWJqZWN0 OiBbUEFUQ0hdIFB1dCB0ZXN0cyBvZiBtZDUoKSBmdW5jdGlvbiBpbnRvIHNlcGFyYXRlIHRl c3QgZmlsZQoKSW4gRklQUyBtb2RlLCB0aGVzZSBjYWxscyB3aWxsIGZhaWwuICBCeSBoYXZp bmcgdGhlbSBpbiBhIHNlcGFyYXRlCmZpbGUsIGl0IHdvdWxkIG1ha2UgaXQgZWFzaWVyIHRv IGhhdmUgYW4gYWx0ZXJuYXRpdmUgb3V0cHV0IGZpbGUgb3IKc2VsZWN0aXZlbHkgZGlzYWJs ZSB0aGVzZSB0ZXN0cy4gIFRoaXMgaXNuJ3QgZG9uZSBoZXJlOyB0aGlzIGlzIGp1c3QKc29t ZSBwcmVwYXJhdGlvbi4KLS0tCiBzcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21kNS5vdXQg ICAgIHwgOTEgKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNz L2V4cGVjdGVkL3N0cmluZ3Mub3V0IHwgODggLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0K IHNyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgICAgfCAgMiArLQogc3JjL3Rl c3QvcmVncmVzcy9zcWwvbWQ1LnNxbCAgICAgICAgICB8IDM2ICsrKysrKysrKysrCiBzcmMv dGVzdC9yZWdyZXNzL3NxbC9zdHJpbmdzLnNxbCAgICAgIHwgMzIgLS0tLS0tLS0tLQogNSBm aWxlcyBjaGFuZ2VkLCAxMjggaW5zZXJ0aW9ucygrKSwgMTIxIGRlbGV0aW9ucygtKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvbWQ1Lm91dAogY3Jl YXRlIG1vZGUgMTAwNjQ0IHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL21kNS5zcWwKCmRpZmYgLS1n aXQgYS9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL21kNS5vdXQgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL21kNS5vdXQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw MDAwMDAwLi5jNWRkODAxY2VmMmQKLS0tIC9kZXYvbnVsbAorKysgYi9zcmMvdGVzdC9yZWdy ZXNzL2V4cGVjdGVkL21kNS5vdXQKQEAgLTAsMCArMSw5MSBAQAorLS0KKy0tIE1ENSB0ZXN0 IHN1aXRlIC0gZnJvbSBJRVRGIFJGQyAxMzIxCistLSAoc2VlOiBodHRwczovL3d3dy5yZmMt ZWRpdG9yLm9yZy9yZmMvcmZjMTMyMSkKKy0tCistLSAoVGhlIG1kNSgpIGZ1bmN0aW9uIHdp bGwgZXJyb3IgaW4gT3BlblNTTCBGSVBTIG1vZGUuICBCeSBrZWVwaW5nCistLSB0aGlzIHRl c3QgaW4gYSBzZXBhcmF0ZSBmaWxlLCBpdCBpcyBlYXNpZXIgdG8gbWFuYWdlIHZhcmlhbnQK Ky0tIHJlc3VsdHMuKQorc2VsZWN0IG1kNSgnJykgPSAnZDQxZDhjZDk4ZjAwYjIwNGU5ODAw OTk4ZWNmODQyN2UnIEFTICJUUlVFIjsKKyBUUlVFIAorLS0tLS0tCisgdAorKDEgcm93KQor CitzZWxlY3QgbWQ1KCdhJykgPSAnMGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjEn IEFTICJUUlVFIjsKKyBUUlVFIAorLS0tLS0tCisgdAorKDEgcm93KQorCitzZWxlY3QgbWQ1 KCdhYmMnKSA9ICc5MDAxNTA5ODNjZDI0ZmIwZDY5NjNmN2QyOGUxN2Y3MicgQVMgIlRSVUUi OworIFRSVUUgCistLS0tLS0KKyB0CisoMSByb3cpCisKK3NlbGVjdCBtZDUoJ21lc3NhZ2Ug ZGlnZXN0JykgPSAnZjk2YjY5N2Q3Y2I3OTM4ZDUyNWEyZjMxYWFmMTYxZDAnIEFTICJUUlVF IjsKKyBUUlVFIAorLS0tLS0tCisgdAorKDEgcm93KQorCitzZWxlY3QgbWQ1KCdhYmNkZWZn aGlqa2xtbm9wcXJzdHV2d3h5eicpID0gJ2MzZmNkM2Q3NjE5MmU0MDA3ZGZiNDk2Y2NhNjdl MTNiJyBBUyAiVFJVRSI7CisgVFJVRSAKKy0tLS0tLQorIHQKKygxIHJvdykKKworc2VsZWN0 IG1kNSgnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2 d3h5ejAxMjM0NTY3ODknKSA9ICdkMTc0YWI5OGQyNzdkOWY1YTU2MTFjMmM5ZjQxOWQ5Zicg QVMgIlRSVUUiOworIFRSVUUgCistLS0tLS0KKyB0CisoMSByb3cpCisKK3NlbGVjdCBtZDUo JzEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIz NDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwJykgPSAnNTdlZGY0YTIyYmUzYzk1NWFjNDlk YTJlMjEwN2I2N2EnIEFTICJUUlVFIjsKKyBUUlVFIAorLS0tLS0tCisgdAorKDEgcm93KQor CitzZWxlY3QgbWQ1KCcnOjpieXRlYSkgPSAnZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNm ODQyN2UnIEFTICJUUlVFIjsKKyBUUlVFIAorLS0tLS0tCisgdAorKDEgcm93KQorCitzZWxl Y3QgbWQ1KCdhJzo6Ynl0ZWEpID0gJzBjYzE3NWI5YzBmMWI2YTgzMWMzOTllMjY5NzcyNjYx JyBBUyAiVFJVRSI7CisgVFJVRSAKKy0tLS0tLQorIHQKKygxIHJvdykKKworc2VsZWN0IG1k NSgnYWJjJzo6Ynl0ZWEpID0gJzkwMDE1MDk4M2NkMjRmYjBkNjk2M2Y3ZDI4ZTE3ZjcyJyBB UyAiVFJVRSI7CisgVFJVRSAKKy0tLS0tLQorIHQKKygxIHJvdykKKworc2VsZWN0IG1kNSgn bWVzc2FnZSBkaWdlc3QnOjpieXRlYSkgPSAnZjk2YjY5N2Q3Y2I3OTM4ZDUyNWEyZjMxYWFm MTYxZDAnIEFTICJUUlVFIjsKKyBUUlVFIAorLS0tLS0tCisgdAorKDEgcm93KQorCitzZWxl Y3QgbWQ1KCdhYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5eic6OmJ5dGVhKSA9ICdjM2ZjZDNk NzYxOTJlNDAwN2RmYjQ5NmNjYTY3ZTEzYicgQVMgIlRSVUUiOworIFRSVUUgCistLS0tLS0K KyB0CisoMSByb3cpCisKK3NlbGVjdCBtZDUoJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Jzo6Ynl0ZWEpID0gJ2QxNzRh Yjk4ZDI3N2Q5ZjVhNTYxMWMyYzlmNDE5ZDlmJyBBUyAiVFJVRSI7CisgVFJVRSAKKy0tLS0t LQorIHQKKygxIHJvdykKKworc2VsZWN0IG1kNSgnMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0 NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4 OTAnOjpieXRlYSkgPSAnNTdlZGY0YTIyYmUzYzk1NWFjNDlkYTJlMjEwN2I2N2EnIEFTICJU UlVFIjsKKyBUUlVFIAorLS0tLS0tCisgdAorKDEgcm93KQorCmRpZmYgLS1naXQgYS9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0cmluZ3Mub3V0IGIvc3JjL3Rlc3QvcmVncmVzcy9l eHBlY3RlZC9zdHJpbmdzLm91dAppbmRleCAwZjk1Yjk0MDBiNjkuLjY5ZDdlZDRlZjFjZiAx MDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9zdHJpbmdzLm91dAorKysg Yi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3N0cmluZ3Mub3V0CkBAIC0yMTE4LDk0ICsy MTE4LDYgQEAgc2VsZWN0IHRvX2hleCgyNTY6OmJpZ2ludCoyNTY6OmJpZ2ludCoyNTY6OmJp Z2ludCoyNTY6OmJpZ2ludCAtIDEpIEFTICJmZmZmZmZmZiIKICBmZmZmZmZmZgogKDEgcm93 KQogCi0tLQotLS0gTUQ1IHRlc3Qgc3VpdGUgLSBmcm9tIElFVEYgUkZDIDEzMjEKLS0tIChz ZWU6IGZ0cDovL2Z0cC5yZmMtZWRpdG9yLm9yZy9pbi1ub3Rlcy9yZmMxMzIxLnR4dCkKLS0t Ci1zZWxlY3QgbWQ1KCcnKSA9ICdkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZScg QVMgIlRSVUUiOwotIFRSVUUgCi0tLS0tLS0KLSB0Ci0oMSByb3cpCi0KLXNlbGVjdCBtZDUo J2EnKSA9ICcwY2MxNzViOWMwZjFiNmE4MzFjMzk5ZTI2OTc3MjY2MScgQVMgIlRSVUUiOwot IFRSVUUgCi0tLS0tLS0KLSB0Ci0oMSByb3cpCi0KLXNlbGVjdCBtZDUoJ2FiYycpID0gJzkw MDE1MDk4M2NkMjRmYjBkNjk2M2Y3ZDI4ZTE3ZjcyJyBBUyAiVFJVRSI7Ci0gVFJVRSAKLS0t LS0tLQotIHQKLSgxIHJvdykKLQotc2VsZWN0IG1kNSgnbWVzc2FnZSBkaWdlc3QnKSA9ICdm OTZiNjk3ZDdjYjc5MzhkNTI1YTJmMzFhYWYxNjFkMCcgQVMgIlRSVUUiOwotIFRSVUUgCi0t LS0tLS0KLSB0Ci0oMSByb3cpCi0KLXNlbGVjdCBtZDUoJ2FiY2RlZmdoaWprbG1ub3BxcnN0 dXZ3eHl6JykgPSAnYzNmY2QzZDc2MTkyZTQwMDdkZmI0OTZjY2E2N2UxM2InIEFTICJUUlVF IjsKLSBUUlVFIAotLS0tLS0tCi0gdAotKDEgcm93KQotCi1zZWxlY3QgbWQ1KCdBQkNERUZH SElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4 OScpID0gJ2QxNzRhYjk4ZDI3N2Q5ZjVhNTYxMWMyYzlmNDE5ZDlmJyBBUyAiVFJVRSI7Ci0g VFJVRSAKLS0tLS0tLQotIHQKLSgxIHJvdykKLQotc2VsZWN0IG1kNSgnMTIzNDU2Nzg5MDEy MzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2 Nzg5MDEyMzQ1Njc4OTAnKSA9ICc1N2VkZjRhMjJiZTNjOTU1YWM0OWRhMmUyMTA3YjY3YScg QVMgIlRSVUUiOwotIFRSVUUgCi0tLS0tLS0KLSB0Ci0oMSByb3cpCi0KLXNlbGVjdCBtZDUo Jyc6OmJ5dGVhKSA9ICdkNDFkOGNkOThmMDBiMjA0ZTk4MDA5OThlY2Y4NDI3ZScgQVMgIlRS VUUiOwotIFRSVUUgCi0tLS0tLS0KLSB0Ci0oMSByb3cpCi0KLXNlbGVjdCBtZDUoJ2EnOjpi eXRlYSkgPSAnMGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjEnIEFTICJUUlVFIjsK LSBUUlVFIAotLS0tLS0tCi0gdAotKDEgcm93KQotCi1zZWxlY3QgbWQ1KCdhYmMnOjpieXRl YSkgPSAnOTAwMTUwOTgzY2QyNGZiMGQ2OTYzZjdkMjhlMTdmNzInIEFTICJUUlVFIjsKLSBU UlVFIAotLS0tLS0tCi0gdAotKDEgcm93KQotCi1zZWxlY3QgbWQ1KCdtZXNzYWdlIGRpZ2Vz dCc6OmJ5dGVhKSA9ICdmOTZiNjk3ZDdjYjc5MzhkNTI1YTJmMzFhYWYxNjFkMCcgQVMgIlRS VUUiOwotIFRSVUUgCi0tLS0tLS0KLSB0Ci0oMSByb3cpCi0KLXNlbGVjdCBtZDUoJ2FiY2Rl ZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jzo6Ynl0ZWEpID0gJ2MzZmNkM2Q3NjE5MmU0MDA3ZGZi NDk2Y2NhNjdlMTNiJyBBUyAiVFJVRSI7Ci0gVFJVRSAKLS0tLS0tLQotIHQKLSgxIHJvdykK LQotc2VsZWN0IG1kNSgnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xt bm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknOjpieXRlYSkgPSAnZDE3NGFiOThkMjc3ZDlmNWE1 NjExYzJjOWY0MTlkOWYnIEFTICJUUlVFIjsKLSBUUlVFIAotLS0tLS0tCi0gdAotKDEgcm93 KQotCi1zZWxlY3QgbWQ1KCcxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3 ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MCc6OmJ5dGVhKSA9 ICc1N2VkZjRhMjJiZTNjOTU1YWM0OWRhMmUyMTA3YjY3YScgQVMgIlRSVUUiOwotIFRSVUUg Ci0tLS0tLS0KLSB0Ci0oMSByb3cpCi0KIC0tCiAtLSBTSEEtMgogLS0KZGlmZiAtLWdpdCBh L3NyYy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUgYi9zcmMvdGVzdC9yZWdyZXNz L3BhcmFsbGVsX3NjaGVkdWxlCmluZGV4IDlmNjQ0YTBjMWIyYy4uOWExMzlmMWUyNDg3IDEw MDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNzL3BhcmFsbGVsX3NjaGVkdWxlCisrKyBiL3Ny Yy90ZXN0L3JlZ3Jlc3MvcGFyYWxsZWxfc2NoZWR1bGUKQEAgLTI2LDcgKzI2LDcgQEAgdGVz dDogYm9vbGVhbiBjaGFyIG5hbWUgdmFyY2hhciB0ZXh0IGludDIgaW50NCBpbnQ4IG9pZCBm bG9hdDQgZmxvYXQ4IGJpdCBudW1lcmkKICMgbXVsdGlyYW5nZXR5cGVzIGRlcGVuZHMgb24g cmFuZ2V0eXBlcwogIyBtdWx0aXJhbmdldHlwZXMgc2hvdWxkbid0IHJ1biBjb25jdXJyZW50 bHkgd2l0aCB0eXBlX3Nhbml0eQogIyAtLS0tLS0tLS0tCi10ZXN0OiBzdHJpbmdzIG51bWVy b2xvZ3kgcG9pbnQgbHNlZyBsaW5lIGJveCBwYXRoIHBvbHlnb24gY2lyY2xlIGRhdGUgdGlt ZSB0aW1ldHogdGltZXN0YW1wIHRpbWVzdGFtcHR6IGludGVydmFsIGluZXQgbWFjYWRkciBt YWNhZGRyOCBtdWx0aXJhbmdldHlwZXMKK3Rlc3Q6IHN0cmluZ3MgbWQ1IG51bWVyb2xvZ3kg cG9pbnQgbHNlZyBsaW5lIGJveCBwYXRoIHBvbHlnb24gY2lyY2xlIGRhdGUgdGltZSB0aW1l dHogdGltZXN0YW1wIHRpbWVzdGFtcHR6IGludGVydmFsIGluZXQgbWFjYWRkciBtYWNhZGRy OCBtdWx0aXJhbmdldHlwZXMKIAogIyAtLS0tLS0tLS0tCiAjIEFub3RoZXIgZ3JvdXAgb2Yg cGFyYWxsZWwgdGVzdHMKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL21kNS5z cWwgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9tZDUuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMDAwMC4uZmZmMTAxZjU3NTE3Ci0tLSAvZGV2L251bGwKKysrIGIv c3JjL3Rlc3QvcmVncmVzcy9zcWwvbWQ1LnNxbApAQCAtMCwwICsxLDM2IEBACistLQorLS0g TUQ1IHRlc3Qgc3VpdGUgLSBmcm9tIElFVEYgUkZDIDEzMjEKKy0tIChzZWU6IGh0dHBzOi8v d3d3LnJmYy1lZGl0b3Iub3JnL3JmYy9yZmMxMzIxKQorLS0KKworLS0gKFRoZSBtZDUoKSBm dW5jdGlvbiB3aWxsIGVycm9yIGluIE9wZW5TU0wgRklQUyBtb2RlLiAgQnkga2VlcGluZwor LS0gdGhpcyB0ZXN0IGluIGEgc2VwYXJhdGUgZmlsZSwgaXQgaXMgZWFzaWVyIHRvIG1hbmFn ZSB2YXJpYW50CistLSByZXN1bHRzLikKKworc2VsZWN0IG1kNSgnJykgPSAnZDQxZDhjZDk4 ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UnIEFTICJUUlVFIjsKKworc2VsZWN0IG1kNSgnYScp ID0gJzBjYzE3NWI5YzBmMWI2YTgzMWMzOTllMjY5NzcyNjYxJyBBUyAiVFJVRSI7CisKK3Nl bGVjdCBtZDUoJ2FiYycpID0gJzkwMDE1MDk4M2NkMjRmYjBkNjk2M2Y3ZDI4ZTE3ZjcyJyBB UyAiVFJVRSI7CisKK3NlbGVjdCBtZDUoJ21lc3NhZ2UgZGlnZXN0JykgPSAnZjk2YjY5N2Q3 Y2I3OTM4ZDUyNWEyZjMxYWFmMTYxZDAnIEFTICJUUlVFIjsKKworc2VsZWN0IG1kNSgnYWJj ZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonKSA9ICdjM2ZjZDNkNzYxOTJlNDAwN2RmYjQ5NmNj YTY3ZTEzYicgQVMgIlRSVUUiOworCitzZWxlY3QgbWQ1KCdBQkNERUZHSElKS0xNTk9QUVJT VFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4OScpID0gJ2QxNzRh Yjk4ZDI3N2Q5ZjVhNTYxMWMyYzlmNDE5ZDlmJyBBUyAiVFJVRSI7CisKK3NlbGVjdCBtZDUo JzEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIz NDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwJykgPSAnNTdlZGY0YTIyYmUzYzk1NWFjNDlk YTJlMjEwN2I2N2EnIEFTICJUUlVFIjsKKworc2VsZWN0IG1kNSgnJzo6Ynl0ZWEpID0gJ2Q0 MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlJyBBUyAiVFJVRSI7CisKK3NlbGVjdCBt ZDUoJ2EnOjpieXRlYSkgPSAnMGNjMTc1YjljMGYxYjZhODMxYzM5OWUyNjk3NzI2NjEnIEFT ICJUUlVFIjsKKworc2VsZWN0IG1kNSgnYWJjJzo6Ynl0ZWEpID0gJzkwMDE1MDk4M2NkMjRm YjBkNjk2M2Y3ZDI4ZTE3ZjcyJyBBUyAiVFJVRSI7CisKK3NlbGVjdCBtZDUoJ21lc3NhZ2Ug ZGlnZXN0Jzo6Ynl0ZWEpID0gJ2Y5NmI2OTdkN2NiNzkzOGQ1MjVhMmYzMWFhZjE2MWQwJyBB UyAiVFJVRSI7CisKK3NlbGVjdCBtZDUoJ2FiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6Jzo6 Ynl0ZWEpID0gJ2MzZmNkM2Q3NjE5MmU0MDA3ZGZiNDk2Y2NhNjdlMTNiJyBBUyAiVFJVRSI7 CisKK3NlbGVjdCBtZDUoJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamts bW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Jzo6Ynl0ZWEpID0gJ2QxNzRhYjk4ZDI3N2Q5ZjVh NTYxMWMyYzlmNDE5ZDlmJyBBUyAiVFJVRSI7CisKK3NlbGVjdCBtZDUoJzEyMzQ1Njc4OTAx MjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1 Njc4OTAxMjM0NTY3ODkwJzo6Ynl0ZWEpID0gJzU3ZWRmNGEyMmJlM2M5NTVhYzQ5ZGEyZTIx MDdiNjdhJyBBUyAiVFJVRSI7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9z dHJpbmdzLnNxbCBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3N0cmluZ3Muc3FsCmluZGV4IDhj Mzc5MTgyY2I5ZC4uMDQxMDlmNTk5ZGRhIDEwMDY0NAotLS0gYS9zcmMvdGVzdC9yZWdyZXNz L3NxbC9zdHJpbmdzLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9zdHJpbmdzLnNx bApAQCAtNjg1LDM4ICs2ODUsNiBAQCBDUkVBVEUgVEFCTEUgdG9hc3R0ZXN0IChjIGNoYXIo NDA5NikpOwogCiBzZWxlY3QgdG9faGV4KDI1Njo6YmlnaW50KjI1Njo6YmlnaW50KjI1Njo6 YmlnaW50KjI1Njo6YmlnaW50IC0gMSkgQVMgImZmZmZmZmZmIjsKIAotLS0KLS0tIE1ENSB0 ZXN0IHN1aXRlIC0gZnJvbSBJRVRGIFJGQyAxMzIxCi0tLSAoc2VlOiBmdHA6Ly9mdHAucmZj LWVkaXRvci5vcmcvaW4tbm90ZXMvcmZjMTMyMS50eHQpCi0tLQotc2VsZWN0IG1kNSgnJykg PSAnZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2UnIEFTICJUUlVFIjsKLQotc2Vs ZWN0IG1kNSgnYScpID0gJzBjYzE3NWI5YzBmMWI2YTgzMWMzOTllMjY5NzcyNjYxJyBBUyAi VFJVRSI7Ci0KLXNlbGVjdCBtZDUoJ2FiYycpID0gJzkwMDE1MDk4M2NkMjRmYjBkNjk2M2Y3 ZDI4ZTE3ZjcyJyBBUyAiVFJVRSI7Ci0KLXNlbGVjdCBtZDUoJ21lc3NhZ2UgZGlnZXN0Jykg PSAnZjk2YjY5N2Q3Y2I3OTM4ZDUyNWEyZjMxYWFmMTYxZDAnIEFTICJUUlVFIjsKLQotc2Vs ZWN0IG1kNSgnYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXonKSA9ICdjM2ZjZDNkNzYxOTJl NDAwN2RmYjQ5NmNjYTY3ZTEzYicgQVMgIlRSVUUiOwotCi1zZWxlY3QgbWQ1KCdBQkNERUZH SElKS0xNTk9QUVJTVFVWV1hZWmFiY2RlZmdoaWprbG1ub3BxcnN0dXZ3eHl6MDEyMzQ1Njc4 OScpID0gJ2QxNzRhYjk4ZDI3N2Q5ZjVhNTYxMWMyYzlmNDE5ZDlmJyBBUyAiVFJVRSI7Ci0K LXNlbGVjdCBtZDUoJzEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAx MjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwJykgPSAnNTdlZGY0YTIy YmUzYzk1NWFjNDlkYTJlMjEwN2I2N2EnIEFTICJUUlVFIjsKLQotc2VsZWN0IG1kNSgnJzo6 Ynl0ZWEpID0gJ2Q0MWQ4Y2Q5OGYwMGIyMDRlOTgwMDk5OGVjZjg0MjdlJyBBUyAiVFJVRSI7 Ci0KLXNlbGVjdCBtZDUoJ2EnOjpieXRlYSkgPSAnMGNjMTc1YjljMGYxYjZhODMxYzM5OWUy Njk3NzI2NjEnIEFTICJUUlVFIjsKLQotc2VsZWN0IG1kNSgnYWJjJzo6Ynl0ZWEpID0gJzkw MDE1MDk4M2NkMjRmYjBkNjk2M2Y3ZDI4ZTE3ZjcyJyBBUyAiVFJVRSI7Ci0KLXNlbGVjdCBt ZDUoJ21lc3NhZ2UgZGlnZXN0Jzo6Ynl0ZWEpID0gJ2Y5NmI2OTdkN2NiNzkzOGQ1MjVhMmYz MWFhZjE2MWQwJyBBUyAiVFJVRSI7Ci0KLXNlbGVjdCBtZDUoJ2FiY2RlZmdoaWprbG1ub3Bx cnN0dXZ3eHl6Jzo6Ynl0ZWEpID0gJ2MzZmNkM2Q3NjE5MmU0MDA3ZGZiNDk2Y2NhNjdlMTNi JyBBUyAiVFJVRSI7Ci0KLXNlbGVjdCBtZDUoJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Jzo6Ynl0ZWEpID0gJ2QxNzRh Yjk4ZDI3N2Q5ZjVhNTYxMWMyYzlmNDE5ZDlmJyBBUyAiVFJVRSI7Ci0KLXNlbGVjdCBtZDUo JzEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTIz NDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwJzo6Ynl0ZWEpID0gJzU3ZWRmNGEyMmJlM2M5 NTVhYzQ5ZGEyZTIxMDdiNjdhJyBBUyAiVFJVRSI7Ci0KIC0tCiAtLSBTSEEtMgogLS0KLS0g CjIuMzcuMwoK --------------HhhZkfW8zy9ywbqh5R006Lr9--