Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wK5fT-000ZqM-1H for pgsql-bugs@arkaria.postgresql.org; Tue, 05 May 2026 02:37:51 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wK5fR-009hUc-2e for pgsql-bugs@arkaria.postgresql.org; Tue, 05 May 2026 02:37:49 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.96) (envelope-from ) id 1wK5fQ-009hUL-2A for pgsql-bugs@lists.postgresql.org; Tue, 05 May 2026 02:37:49 +0000 Received: from fhigh-b3-smtp.messagingengine.com ([202.12.124.154]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.98.2) (envelope-from ) id 1wK5fN-00000000F1r-1DLe for pgsql-bugs@lists.postgresql.org; Tue, 05 May 2026 02:37:47 +0000 Received: from phl-compute-06.internal (phl-compute-06.internal [10.202.2.46]) by mailfhigh.stl.internal (Postfix) with ESMTP id 848E77A0097; Mon, 4 May 2026 22:37:44 -0400 (EDT) Received: from phl-imap-05 ([10.202.2.95]) by phl-compute-06.internal (MEProxy); Mon, 04 May 2026 22:37:44 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=eulerto.com; h= cc:content-type:content-type:date:date:from:from:in-reply-to :in-reply-to:message-id:mime-version:references:reply-to:subject :subject:to:to; s=fm1; t=1777948664; x=1778035064; bh=8yJZmxw9rP VXY7xV7hmuuSJYbQjbSfk674dIpIG55qI=; b=3IpCW91i0rYGZAmPzBiqdYUVyj S0cTDjAsOUjjgZ68sB7uiXUgkJb50nkOgQZpHR/uSIbph0oEWMFsPly4HBEgJbpM l31UC80VM7SkCimiwDa1DK9iiywXET3ymbh9MSUe5HvNBmoD/8S1tZKuFO3Olrs2 Li3Gl9Dw7hlarPYLi+COlaS4cwFzUoCNmF0E1Odkhw9IZJPcxD08Z/e0qZpo0TLN YHvJnERlo46J0rvmJvGFvwFo3rfIrxyCAapjGS4s0Iio0whgW5cJRWiSub7bt603 rzG/scx8pUVBNy2pAu5T0WRxD9xBGMT9UFoWWRraPxTOSSEzf9BHCrVeEwJA== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-type:content-type:date:date :feedback-id:feedback-id:from:from:in-reply-to:in-reply-to :message-id:mime-version:references:reply-to:subject:subject:to :to:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s=fm3; t= 1777948664; x=1778035064; bh=8yJZmxw9rPVXY7xV7hmuuSJYbQjbSfk674d IpIG55qI=; b=tlxYcmWBDISC61zxD/ctsGk1whQt/XjurIGKg9eFghIsd3SEeIA /iou46tmJbAYAhSQvzMHKIfuF1/hespb0s1bR/k2INd0b37unmUmO5N8JiMTyoWS m7DCPMzj7CM2xvjBzjAUqar2u4D6sXdRoCVTBcLgXmqSG2N4sX1Ah+TzmBZNNkuH sbWKSlANSHza4+IO7Eq2mvwQUUsPx9ZyIzRaR8rkUra74SmKNSOgZwPrz4Wp3+zn nzctVTpUdIcvwBlHLNiSLBPdkxJ8b8gdBNMU2cwFcgRjQWlvm6hfg5XpX5BQd+WO 9oEt5MqY2CmejPRI98SKa2dEiESQ8mcbbSA== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeefhedrtddtgddutddtheegucetufdoteggodetrf dotffvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfurfetoffkrfgpnffqhgenuceu rghilhhouhhtmecufedttdenucenucfjughrpefoggffhffvkfgjfhfutgesmhdtreerre dttdenucfhrhhomhepfdfguhhlvghrucfvrghvvghirhgrfdcuoegvuhhlvghrsegvuhhl vghrthhordgtohhmqeenucggtffrrghtthgvrhhnpeevfeeuueevkeeuveevtdehudekfe euiedtgfeihfetfeefhfevfeefgfdukefgjeenucffohhmrghinhepvghnthgvrhhprhhi shgvuggsrdgtohhmnecuvehluhhsthgvrhfuihiivgeptdenucfrrghrrghmpehmrghilh hfrhhomhepvghulhgvrhesvghulhgvrhhtohdrtghomhdpnhgspghrtghpthhtohepvddp mhhouggvpehsmhhtphhouhhtpdhrtghpthhtohephhgrohhgrghnghhmrghosehgmhgrih hlrdgtohhmpdhrtghpthhtohepphhgshhqlhdqsghughhssehlihhsthhsrdhpohhsthhg rhgvshhqlhdrohhrgh X-ME-Proxy: Feedback-ID: i0c21471d:Fastmail Received: by mailuser.phl.internal (Postfix, from userid 501) id C566E182007A; Mon, 4 May 2026 22:37:43 -0400 (EDT) X-Mailer: MessagingEngine.com Webmail Interface MIME-Version: 1.0 X-ThreadId: AQ5E2q1QBwp- Date: Mon, 04 May 2026 23:36:54 -0300 From: "Euler Taveira" To: haogangmao@gmail.com, pgsql-bugs@lists.postgresql.org Message-Id: <95eeb76a-74eb-46f8-a579-c1aefdad8d8f@app.fastmail.com> In-Reply-To: <19470-0a344a5b356fc1a8@postgresql.org> References: <19470-0a344a5b356fc1a8@postgresql.org> Subject: Re: BUG #19470: PostgreSQL backend aborts (assert failure) when a prepared statement returns a composite type cast t Content-Type: multipart/mixed; boundary=9878373791f7a240780d23b0f888b1b7b474a02a List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --9878373791f7a240780d23b0f888b1b7b474a02a Content-Type: text/plain Content-Transfer-Encoding: 7bit On Wed, Apr 29, 2026, at 8:27 AM, PG Bug reporting form wrote: > > Reproduction steps (minimal): > BEGIN; > CREATE TYPE foo AS (a int, b text); > PREPARE p AS SELECT CAST(ROW(1, 'hello') AS foo)::text; > EXECUTE p; > ALTER TYPE foo ALTER ATTRIBUTE a TYPE VARCHAR(100); > EXECUTE p; > COMMIT; > Thanks for your report! The attached patch fixes this case. I included a similar test case but I'm fine if the test is not included with this fix. I decided to create a separate function instead of adding the new conditions to record_plan_type_dependency() because it keeps the fix simple and isolated. The crash is reproduced back to v11 which means this fix should be backpatched to all supported versions. -- Euler Taveira EDB https://www.enterprisedb.com/ --9878373791f7a240780d23b0f888b1b7b474a02a Content-Disposition: attachment; filename*0="v1-0001-Fix-a-crash-with-cached-plans-after-changing-comp.pat"; filename*1="ch" Content-Type: text/x-patch; name="=?UTF-8?Q?v1-0001-Fix-a-crash-with-cached-plans-after-changing-comp.patc?= =?UTF-8?Q?h?=" Content-Transfer-Encoding: base64 RnJvbSA5NmM0MDhjNTAyOWVhMjc0YTVhOTU5OWZmZDlhOTdlZjQ5OGU5OTRlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBFdWxlciBUYXZlaXJhIDxldWxlckBldWxlcnRvLmNv bT4KRGF0ZTogTW9uLCA0IE1heSAyMDI2IDEzOjEzOjA0IC0wMzAwClN1YmplY3Q6IFtQQVRD SCB2MV0gRml4IGEgY3Jhc2ggd2l0aCBjYWNoZWQgcGxhbnMgYWZ0ZXIgY2hhbmdpbmcgY29t cG9zaXRlCiB0eXBlcwoKSWYgYW4gZXhpc3RpbmcgcHJlcGFyZWQgc3RhdGVtZW50IGNvbnRh aW5zIGEgY29tcG9zaXRlIHR5cGUgYW5kIGEKc3Vic2VxdWVudCBBTFRFUiBUWVBFIGNvbW1h bmQgY2hhbmdlcyBvbmUgb2YgdGhlIGF0dHJpYnV0ZSB0eXBlcywgdGhlCnBsYW4gY2FjaGUg d2FzIG5ldmVyIGludmFsaWRhdGVkLCByZXN1bHRpbmcgaW4gYSBjcmFzaC4KCkFkZCB0aGUg Y29tcG9zaXRlIHR5cGUgcmVsYXRpb24gb2YgYW55IG5hbWVkIGNvbXBvc2l0ZSB0eXBlIHRo YXQgYXBwZWFycwppbiBDb25zdCBhbmQgUm93RXhwciBub2Rlcy4gVGhlIEFMVEVSIFRZUEUg Li4uIEFMVEVSIEFUVFJJQlVURSBjb21tYW5kCmFscmVhZHkgaGFzIHRoZSBtZWNoYW5pc20g dG8gc2VuZCBhIHJlbGNhY2hlIGludmFsaWRhdGlvbi4gSXQgcmVxdWlyZXMKdGhhdCB0aGUg Y29tcG9zaXRlIHR5cGUgcmVsYXRpb24gaXMgYWRkZWQgdG8gcmVsYXRpb25PaWRzIGxpc3Qg c28gdGhlClBsYW5DYWNoZVJlbENhbGxiYWNrIGNhbiBmaW5kIGFuZCBpbnZhbGlkYXRlIHRo ZSBhZmZlY3RlZCBwbGFucy4KCkJ1ZzogIzE5NDcwClJlcG9ydGVkLWJ5OiBIYW9HYW5nIE1h byA8aGFvZ2FuZ21hb0BnbWFpbC5jb20+CkF1dGhvcjogRXVsZXIgVGF2ZWlyYSA8ZXVsZXJA ZXVsZXJ0by5jb20+CkRpc2N1c3Npb246IGh0dHBzOi8vcG9zdGdyLmVzL20vMTk0NzAtMGEz NDRhNWIzNTZmYzFhOEBwb3N0Z3Jlc3FsLm9yZwotLS0KIHNyYy9iYWNrZW5kL29wdGltaXpl ci9wbGFuL3NldHJlZnMuYyAgICB8IDM5ICsrKysrKysrKysrKysrKysrKysrKysrKy0KIHNy Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGxhbmNhY2hlLm91dCB8IDI1ICsrKysrKysrKysr KysrKysKIHNyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BsYW5jYWNoZS5zcWwgICAgICB8IDE4ICsr KysrKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspLCAxIGRlbGV0 aW9uKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vc2V0cmVm cy5jIGIvc3JjL2JhY2tlbmQvb3B0aW1pemVyL3BsYW4vc2V0cmVmcy5jCmluZGV4IGZmMGU4 NzVmMmEyLi5mYjczZGUwYmQyNyAxMDA2NDQKLS0tIGEvc3JjL2JhY2tlbmQvb3B0aW1pemVy L3BsYW4vc2V0cmVmcy5jCisrKyBiL3NyYy9iYWNrZW5kL29wdGltaXplci9wbGFuL3NldHJl ZnMuYwpAQCAtMjksNiArMjksNyBAQAogI2luY2x1ZGUgInJld3JpdGUvcmV3cml0ZU1hbmlw LmgiCiAjaW5jbHVkZSAidGNvcC91dGlsaXR5LmgiCiAjaW5jbHVkZSAidXRpbHMvc3lzY2Fj aGUuaCIKKyNpbmNsdWRlICJ1dGlscy90eXBjYWNoZS5oIgogCiAKIHR5cGVkZWYgZW51bQpA QCAtMjEwLDcgKzIxMSw4IEBAIHN0YXRpYyBMaXN0ICpzZXRfcmV0dXJuaW5nX2NsYXVzZV9y ZWZlcmVuY2VzKFBsYW5uZXJJbmZvICpyb290LAogc3RhdGljIExpc3QgKnNldF93aW5kb3dh Z2dfcnVuY29uZGl0aW9uX3JlZmVyZW5jZXMoUGxhbm5lckluZm8gKnJvb3QsCiAJCQkJCQkJ CQkJCQkgICBMaXN0ICpydW5jb25kaXRpb24sCiAJCQkJCQkJCQkJCQkgICBQbGFuICpwbGFu KTsKLQorc3RhdGljIHZvaWQgcmVjb3JkX3BsYW5fY29tcG9zaXRlX3R5cGVfZGVwZW5kZW5j eShQbGFubmVySW5mbyAqcm9vdCwKKwkJCQkJCQkJCQkJCSAgT2lkIHR5cGlkKTsKIHN0YXRp YyB2b2lkIHJlY29yZF9lbGlkZWRfbm9kZShQbGFubmVyR2xvYmFsICpnbG9iLCBpbnQgcGxh bl9ub2RlX2lkLAogCQkJCQkJCSAgIE5vZGVUYWcgZWxpZGVkX3R5cGUsIEJpdG1hcHNldCAq cmVsaWRzKTsKIApAQCAtMjE1Nyw2ICsyMTU5LDEzIEBAIGZpeF9leHByX2NvbW1vbihQbGFu bmVySW5mbyAqcm9vdCwgTm9kZSAqbm9kZSkKIAkJCXJvb3QtPmdsb2ItPnJlbGF0aW9uT2lk cyA9CiAJCQkJbGFwcGVuZF9vaWQocm9vdC0+Z2xvYi0+cmVsYXRpb25PaWRzLAogCQkJCQkJ CURhdHVtR2V0T2JqZWN0SWQoY29uLT5jb25zdHZhbHVlKSk7CisKKwkJcmVjb3JkX3BsYW5f Y29tcG9zaXRlX3R5cGVfZGVwZW5kZW5jeShyb290LCBjb24tPmNvbnN0dHlwZSk7CisJfQor CWVsc2UgaWYgKElzQShub2RlLCBSb3dFeHByKSkKKwl7CisJCXJlY29yZF9wbGFuX2NvbXBv c2l0ZV90eXBlX2RlcGVuZGVuY3kocm9vdCwKKwkJCQkJCQkJCQkJICAoKFJvd0V4cHIgKikg bm9kZSktPnJvd190eXBlaWQpOwogCX0KIAllbHNlIGlmIChJc0Eobm9kZSwgR3JvdXBpbmdG dW5jKSkKIAl7CkBAIC0zNjkyLDYgKzM3MDEsMzQgQEAgcmVjb3JkX3BsYW5fdHlwZV9kZXBl bmRlbmN5KFBsYW5uZXJJbmZvICpyb290LCBPaWQgdHlwaWQpCiAJfQogfQogCisvKgorICog cmVjb3JkX3BsYW5fY29tcG9zaXRlX3R5cGVfZGVwZW5kZW5jeQorICogICAgICBNYXJrIHRo ZSBjdXJyZW50IHBsYW4gYXMgZGVwZW5kaW5nIG9uIGEgcGFydGljdWxhciBjb21wb3NpdGUg dHlwZS4KKyAqCisgKiBBZGQgY29tcG9zaXRlIHR5cGUgcmVsYXRpb24gdG8gdGhlIGxpc3Qg b2YgdGhlIHJlbGF0aW9ucyB0aGUgcGxhbiBkZXBlbmRzCisgKiBvbi4gVGhpcyBlbnN1cmVz IHRoYXQgd2hlbiBBTFRFUiBUWVBFIC4uLiBBTFRFUiBBVFRSSUJVVEUgaXMgZXhlY3V0ZWQs IGFueQorICogcGxhbnMgdGhhdCB1c2UgdGhpcyBjb21wb3NpdGUgdHlwZSB3aWxsIGJlIGlu dmFsaWRhdGVkLgorICovCitzdGF0aWMgdm9pZAorcmVjb3JkX3BsYW5fY29tcG9zaXRlX3R5 cGVfZGVwZW5kZW5jeShQbGFubmVySW5mbyAqcm9vdCwgT2lkIHR5cGlkKQoreworCS8qCisJ ICogQXMgaW4gcmVjb3JkX3BsYW5fZnVuY3Rpb25fZGVwZW5kZW5jeSwgaWdub3JlIHRoZSBw b3NzaWJpbGl0eSB0aGF0CisJICogc29tZW9uZSB3b3VsZCBjaGFuZ2UgYSBidWlsdC1pbiBj b21wb3NpdGUgdHlwZS4gQW5vbnltb3VzIHJlY29yZCB0eXBlcworCSAqIGFyZSBub3QgY29u c2lkZXJlZC4KKwkgKi8KKwlpZiAodHlwaWQgPj0gKE9pZCkgRmlyc3RVbnBpbm5lZE9iamVj dElkKQorCXsKKwkJVHlwZUNhY2hlRW50cnkgKnR5cGVudHJ5OworCisJCXR5cGVudHJ5ID0g bG9va3VwX3R5cGVfY2FjaGUodHlwaWQsIDApOworCQlpZiAodHlwZW50cnktPnR5cHR5cGUg PT0gVFlQVFlQRV9DT01QT1NJVEUgJiYKKwkJCU9pZElzVmFsaWQodHlwZW50cnktPnR5cHJl bGlkKSkKKwkJCXJvb3QtPmdsb2ItPnJlbGF0aW9uT2lkcyA9CisJCQkJbGFwcGVuZF9vaWQo cm9vdC0+Z2xvYi0+cmVsYXRpb25PaWRzLCB0eXBlbnRyeS0+dHlwcmVsaWQpOworCX0KK30K KwogLyoKICAqIGV4dHJhY3RfcXVlcnlfZGVwZW5kZW5jaWVzCiAgKgkJR2l2ZW4gYSByZXdy aXR0ZW4sIGJ1dCBub3QgeWV0IHBsYW5uZWQsIHF1ZXJ5IG9yIHF1ZXJpZXMKZGlmZiAtLWdp dCBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGxhbmNhY2hlLm91dCBiL3NyYy90ZXN0 L3JlZ3Jlc3MvZXhwZWN0ZWQvcGxhbmNhY2hlLm91dAppbmRleCBkNTg1MzRjYTFjZC4uNzY2 YzQzMGM4NjIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvcGxhbmNh Y2hlLm91dAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL2V4cGVjdGVkL3BsYW5jYWNoZS5vdXQK QEAgLTQwMiwzICs0MDIsMjggQEAgc2VsZWN0IG5hbWUsIGdlbmVyaWNfcGxhbnMsIGN1c3Rv bV9wbGFucyBmcm9tIHBnX3ByZXBhcmVkX3N0YXRlbWVudHMKICgxIHJvdykKIAogZHJvcCB0 YWJsZSB0ZXN0X21vZGU7CistLSBidWcgIzE5NDcwOiBBTFRFUiBUWVBFIC4uLiBBTFRFUiBB VFRSSUJVVEUgc2hvdWxkIGludmFsaWRhdGUgcGxhbnMuCistLSBUZXN0IGNvbXBhdGlibGUg YW5kIGluY29tcGF0aWJsZSBhdHRyaWJ1dGUgdHlwZSBjaGFuZ2VzLgorQ1JFQVRFIFRZUEUg YnVnXzE5NDcwIEFTIChhIGludCwgYiB0ZXh0KTsKK1BSRVBBUkUgc3RtdF8xOTQ3MCBBUyBT RUxFQ1QgQ0FTVChST1coMSwgJ2hlbGxvJykgQVMgYnVnXzE5NDcwKTo6dGV4dDsKK0VYRUNV VEUgc3RtdF8xOTQ3MDsKKyAgICByb3cgICAgCistLS0tLS0tLS0tLQorICgxLGhlbGxvKQor KDEgcm93KQorCistLSBzaG91bGQgYmUgb2sKK0FMVEVSIFRZUEUgYnVnXzE5NDcwIEFMVEVS IEFUVFJJQlVURSBhIFRZUEUgdmFyY2hhcigxMDApOworRVhFQ1VURSBzdG10XzE5NDcwOwor ICAgIHJvdyAgICAKKy0tLS0tLS0tLS0tCisgKDEsaGVsbG8pCisoMSByb3cpCisKKy0tIHNo b3VsZCBmYWlsCitBTFRFUiBUWVBFIGJ1Z18xOTQ3MCBBTFRFUiBBVFRSSUJVVEUgYSBUWVBF IHRpbWVzdGFtcCB3aXRob3V0IHRpbWUgem9uZTsKK0VYRUNVVEUgc3RtdF8xOTQ3MDsKK0VS Uk9SOiAgY2Fubm90IGNhc3QgdHlwZSByZWNvcmQgdG8gYnVnXzE5NDcwCitERVRBSUw6ICBD YW5ub3QgY2FzdCB0eXBlIGludGVnZXIgdG8gdGltZXN0YW1wIHdpdGhvdXQgdGltZSB6b25l IGluIGNvbHVtbiAxLgorREVBTExPQ0FURSBzdG10XzE5NDcwOworRFJPUCBUWVBFIGJ1Z18x OTQ3MDsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL3BsYW5jYWNoZS5zcWwg Yi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wbGFuY2FjaGUuc3FsCmluZGV4IGFlZDM4OGQwM2Ex Li44NDJhMjEzN2EzNyAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvcGxhbmNh Y2hlLnNxbAorKysgYi9zcmMvdGVzdC9yZWdyZXNzL3NxbC9wbGFuY2FjaGUuc3FsCkBAIC0y MjgsMyArMjI4LDIxIEBAIHNlbGVjdCBuYW1lLCBnZW5lcmljX3BsYW5zLCBjdXN0b21fcGxh bnMgZnJvbSBwZ19wcmVwYXJlZF9zdGF0ZW1lbnRzCiAgIHdoZXJlICBuYW1lID0gJ3Rlc3Rf bW9kZV9wcCc7CiAKIGRyb3AgdGFibGUgdGVzdF9tb2RlOworCistLSBidWcgIzE5NDcwOiBB TFRFUiBUWVBFIC4uLiBBTFRFUiBBVFRSSUJVVEUgc2hvdWxkIGludmFsaWRhdGUgcGxhbnMu CistLSBUZXN0IGNvbXBhdGlibGUgYW5kIGluY29tcGF0aWJsZSBhdHRyaWJ1dGUgdHlwZSBj aGFuZ2VzLgorQ1JFQVRFIFRZUEUgYnVnXzE5NDcwIEFTIChhIGludCwgYiB0ZXh0KTsKKwor UFJFUEFSRSBzdG10XzE5NDcwIEFTIFNFTEVDVCBDQVNUKFJPVygxLCAnaGVsbG8nKSBBUyBi dWdfMTk0NzApOjp0ZXh0OworRVhFQ1VURSBzdG10XzE5NDcwOworCistLSBzaG91bGQgYmUg b2sKK0FMVEVSIFRZUEUgYnVnXzE5NDcwIEFMVEVSIEFUVFJJQlVURSBhIFRZUEUgdmFyY2hh cigxMDApOworRVhFQ1VURSBzdG10XzE5NDcwOworCistLSBzaG91bGQgZmFpbAorQUxURVIg VFlQRSBidWdfMTk0NzAgQUxURVIgQVRUUklCVVRFIGEgVFlQRSB0aW1lc3RhbXAgd2l0aG91 dCB0aW1lIHpvbmU7CitFWEVDVVRFIHN0bXRfMTk0NzA7CisKK0RFQUxMT0NBVEUgc3RtdF8x OTQ3MDsKK0RST1AgVFlQRSBidWdfMTk0NzA7Ci0tIAoyLjM5LjUKCg== --9878373791f7a240780d23b0f888b1b7b474a02a--