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 1wJuG3-000P7I-37 for pgsql-hackers@arkaria.postgresql.org; Mon, 04 May 2026 14:26:52 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wJuG1-007fbh-39 for pgsql-hackers@arkaria.postgresql.org; Mon, 04 May 2026 14:26: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 1wJuG1-007fbY-1n for pgsql-hackers@lists.postgresql.org; Mon, 04 May 2026 14:26:49 +0000 Received: from mail-vs1-xe31.google.com ([2607:f8b0:4864:20::e31]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wJuFy-000000009kb-3Lpo for pgsql-hackers@lists.postgresql.org; Mon, 04 May 2026 14:26:48 +0000 Received: by mail-vs1-xe31.google.com with SMTP id ada2fe7eead31-610f4cf6ddcso3654906137.1 for ; Mon, 04 May 2026 07:26:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1777904806; cv=none; d=google.com; s=arc-20240605; b=g87kj6eTryPaR1Vx1Xju2t8d0EwBWi04wup3lhOTuc64s9AfhC9x9YoZZmLKe/w0ol LqwKjQ8+UgG9EPl5CKfdAy2iGPmsVC+W0YJNtC39x1VkK1jvMQ5zsPz1PC0NKDvUZ8k+ OUO0hvcvv7KBm9+6Ger6nKAOuiyGTXdKP6wjADcZegFS3ujFhZ5cvxuQha/+oLzHG0aE mN/wzZY3fpuqimIEiSVMpGiO+XZ6u5DSDzTVVnXi2ypbeSkv9ZOwVD9JF1CmKZojv5bo 01cY+NZKYZI/DLKEG+SknggHZ2kZql9iDnfeIADhipqDcfqZptY0QPXo7QchBGg3AF/v 0sZw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20240605; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:dkim-signature; bh=wxud5BtqwRo2kJhFCFrPTtEgQMS2EbvFTIRatetjz8U=; fh=loMOOzplMJXnvPubtxbVCbEj4LMuAzPP00mF2xjixPY=; b=lL2aycjKoqnJX6FWsaJi7wpnCUw4YxbXKASLr80UuHggifON0VT2YBm9aw5pdi1Q/u o4D8CmXD6a1LLpQv7FQ78+a+WF/7BWEL+s2AJVxRJItrn+lyQLXNvwShcQxFYeu87vE3 jXWNzY37fP1osewcak00YUkPOwF6QRrQnAFtzZ+yN/AM4iYgDXLMFwAzEWQArqfLBSCl qYp5874rmnmT/mfqWfAralghGUShwWOI4r0FzzSu0mSnMssq2uWOMYohA2K3GrRXVsiD PY53W+JhusDHhJ6QAuLOnmGXQ3cXOS1AHovyXdSnAIV22XxU73GuFKzaH8hmt6+/q3aq KVHA==; darn=lists.postgresql.org ARC-Authentication-Results: i=1; mx.google.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777904806; x=1778509606; darn=lists.postgresql.org; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=wxud5BtqwRo2kJhFCFrPTtEgQMS2EbvFTIRatetjz8U=; b=lsSSgveEwzntQpuxtxc15mTyywb4jbANVhDWcMS2hGqDzYArd1yaM2cOGBNkewh99M lVlXI1MnoC2Use2XTwT+2g8asHUQ6VdKYb9wLF+LwdaRmMh6MnhjiZJcusDuo9UTDJyX A56NYsH6BKB+nC4wGeD/A7vbvvohESiu1Bf2yoxq6uC+QgZ4c3TDwjP5/Ce00HEC/X5/ Y6aqvaCNefqLudxg5KuEPrGTnhiBk/BmCzkpOGS1Ye/Uq+Gv7ewtsnCApWLdYCxKadhq sLHJ8fKQ/84FcVyuHxyAfUEUuBJtkRf2YoC8ghHLA8Dx68DohtBmMPOD4WhY9kuliu5T +53A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777904806; x=1778509606; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=wxud5BtqwRo2kJhFCFrPTtEgQMS2EbvFTIRatetjz8U=; b=qlUk2v+HYLJwiQhiLM2DuXZTxeoJJgOVfD1EXBMM3TR73VYv1tMihpVZ2QGi7WUhPQ ATBJ2qPrPXh0NNsaqvsQ3OF9g3tEG2pLHE+sPFAuHrCEOozj6a+/mz1ujqSNTXV7e10C iWMhsE/QWvvdgt4GY3QJSz3uJfOFQXBn5UGT1vyuEDaL8QAzYm7ahGFCEuczUPrg3Jm9 XousYpsLvGUt20zm2DzTK3iiiffyba10FEVPgg9z2KmKwyZa5osEZMXocA2CKaDLUrck ZM3zkY/T+X5eKQD9VEXHN7oMrkWee0SHiGIGlspzE91SVPVwkUT5pxIgNleSRInrfT0X VLZg== X-Gm-Message-State: AOJu0YwkQOUWWnUPu1d4XfbdiPefNQRiULQHaSdVteEJTlukepe25hUk AsC0eEbekgvS6HuFqn3Tnq9lY/o1tOnzkf4OxXT3DRVlFy+DiOUQDiJtsMc+ybcQ3l4jmUh5WhJ GFANnJUVixjctP7EVC93WGBSJIy5hUbY= X-Gm-Gg: AeBDietlYfi7tF9NaCBvqaYlgdMTSfr7sZd5scW3UQDUxZwxchNzrkHbOJc7TpmpzNV z7Z8x130rbINby+gmi4/USBUR6Y+gEbwuss0BqzluaohNGlLAnuH1hXEhPzTxC+zb4zkpu8S3Ex 9rA942JPB1lJFSuAgvs9WuFJgqNVNX3G7iICZhw0YBLr0Pk07ux/61HBFEfl5PHzrG5r9ILZODA RjMkwlJiNdyCfoWcneAQNpjV4FypgBkVt+2UWT/g7P3dRquDfMIyxFCrzUZyXO0evYs+Vauma/s qgoCmUPa8wUd58AlxA== X-Received: by 2002:a05:6102:9:b0:62f:418d:fb94 with SMTP id ada2fe7eead31-62f418dfe5emr591901137.14.1777904806010; Mon, 04 May 2026 07:26:46 -0700 (PDT) MIME-Version: 1.0 References: <187781.1777902048@sss.pgh.pa.us> In-Reply-To: <187781.1777902048@sss.pgh.pa.us> From: SATYANARAYANA NARLAPURAM Date: Mon, 4 May 2026 07:26:34 -0700 X-Gm-Features: AVHnY4JiRKgyF1txK6cubjvgWLf4Vsm3-bMKj0yEA9maVEEqkjiNMGACFSZVENQ Message-ID: Subject: Re: [Bug]Vacuum full silently NULL out fast default columns To: Tom Lane Cc: PostgreSQL Hackers , =?UTF-8?Q?=C3=81lvaro_Herrera?= , Antonin Houska Content-Type: multipart/mixed; boundary="000000000000686d270650feb8d7" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Archived-At: Precedence: bulk --000000000000686d270650feb8d7 Content-Type: multipart/alternative; boundary="000000000000686d210650feb8d5" --000000000000686d210650feb8d5 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable Hi, On Mon, May 4, 2026 at 6:40=E2=80=AFAM Tom Lane wrote: > SATYANARAYANA NARLAPURAM writes: > > VACUUM FULL silently turns columns added via ALTER TABLE ... ADD COLUMN > ... > > DEFAULT into NULL > > on all pre-existing rows. The issue exists for other operations like > > CLUSTER, REPACK. > > That is a seriously awful bug. Fortunately it is not in any shipping > release. A quick bisect run agrees that it broke here: > > 28d534e2ae0ac888b5460f977a10cd9bb017ef98 is the first bad commit > commit 28d534e2ae0ac888b5460f977a10cd9bb017ef98 (HEAD) > Author: =C3=81lvaro Herrera > Date: Mon Apr 6 21:55:08 2026 +0200 > > Add CONCURRENTLY option to REPACK > > > Patch attached. Added a regression test in fast_default.sql covering > > VACUUM FULL, CLUSTER, and REPACK on a table with fast-default columns > > including a NOT NULL CHECK column. > > I don't know if this is the best code fix (I don't like putting extra > checks into a loop condition like this). But I agree we need some > more tests covering this area. > Thanks for reviewing! Attached v2 patch. Agreed, tried to optimize LOC in V1. Before the change loop was not breaking early, I fixed that as well in V2. Thanks, Satya --000000000000686d210650feb8d5 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

On Mon, May 4, 2= 026 at 6:40=E2=80=AFAM Tom Lane <tg= l@sss.pgh.pa.us> wrote:
SATYANARAYANA NARLAPURAM <satyanarlapuram@gmail.com> writes: > VACUUM FULL silently turns columns added via ALTER TABLE ... ADD COLUM= N ...
> DEFAULT <const> into NULL
> on all pre-existing rows. The issue exists for other operations like > CLUSTER, REPACK.

That is a seriously awful bug.=C2=A0 Fortunately it is not in any shipping<= br> release.=C2=A0 A quick bisect run agrees that it broke here:

28d534e2ae0ac888b5460f977a10cd9bb017ef98 is the first bad commit
commit 28d534e2ae0ac888b5460f977a10cd9bb017ef98 (HEAD)
Author: =C3=81lvaro Herrera <alvherre@kurilemu.de>
Date:=C2=A0 =C2=A0Mon Apr 6 21:55:08 2026 +0200

=C2=A0 =C2=A0 Add CONCURRENTLY option to REPACK

> Patch attached. Added a regression test in fast_default.sql covering > VACUUM FULL, CLUSTER, and REPACK on a table with fast-default columns<= br> > including a NOT NULL CHECK column.

I don't know if this is the best code fix (I don't like putting ext= ra
checks into a loop condition like this).=C2=A0 But I agree we need some
more tests covering this area.
Thanks for reviewing! A= ttached v2 patch. Agreed, tried to optimize LOC in V1. Before the change
loop was not breaking early, I fixed that as well in=C2=A0V2.
=

Thanks,
Satya

=C2=A0=
--000000000000686d210650feb8d5-- --000000000000686d270650feb8d7 Content-Type: application/octet-stream; name="v2-0001-VACUUM-FULL-silently-NULL-out-fast-default-columns.patch" Content-Disposition: attachment; filename="v2-0001-VACUUM-FULL-silently-NULL-out-fast-default-columns.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_moralrjj0 RnJvbSAwZDFiMzI1NDE4NGNkYTc5MGJjODgwZDI2NDI5NWE2YjViOTNhMTUxIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBTYXR5YSBOYXJsYXB1cmFtIDxzYXR5YW5hcmxhcHVyYW1AZ21h aWwuY29tPgpEYXRlOiBNb24sIDQgTWF5IDIwMjYgMDg6NTI6NTAgKzAwMDAKU3ViamVjdDogW1BB VENIXSBWQUNVVU0gRlVMTCBzaWxlbnRseSBOVUxMIG91dCBmYXN0LWRlZmF1bHQgY29sdW1ucwoK Q29tbWl0IDI4ZDUzNGUyIGludHJvZHVjZWQgcmVmb3JtX3R1cGxlKCkgaW4gaGVhcGFtX2hhbmRs ZXIuYyB3aXRoIGEKZmFzdCBwYXRoIHRoYXQgcmV0dXJucyB0aGUgc291cmNlIHR1cGxlIHZlcmJh dGltIHdoZW4gbm8gZHJvcHBlZApjb2x1bW5zIHJlcXVpcmUgZml4aW5nIHVwLiAgVGhlIGNoZWNr IGlnbm9yZXMgdHVwbGVzIHRoYXQgYXJlIHNob3J0CmR1ZSB0byBhdHRtaXNzaW5ndmFsICh0aGUg ZmFzdC1kZWZhdWx0IG1lY2hhbmlzbSkuCgpBZnRlciB0aGUgcmV3cml0ZSwgZmluaXNoX2hlYXBf c3dhcCgpIGNhbGxzIFJlbGF0aW9uQ2xlYXJNaXNzaW5nKCksCmNsZWFyaW5nIHRoZSBjYXRhbG9n IG1ldGFkYXRhIHRoYXQgd2FzIHRoZSBvbmx5IHNvdXJjZSBvZiB0aG9zZQp2YWx1ZXMuICBTaG9y dCB0dXBsZXMgdGhlbiByZWFkIGFzIE5VTEwgKG9yIHRoZSB0eXBlJ3MgemVybyB2YWx1ZSBpZgpO T1QgTlVMTCBpcyBpbiBlZmZlY3QsIGFsc28gYnlwYXNzaW5nIENIRUNLIGNvbnN0cmFpbnRzKS4g IEFmZmVjdHMKVkFDVVVNIEZVTEwsIENMVVNURVIsIFJFUEFDSywgYW5kIFJFUEFDSyAoQ09OQ1VS UkVOVExZKS4KCkZvcmNlIHJlZm9ybSB3aGVuIHRoZSBzb3VyY2UgdHVwbGUgaXMgc2hvcnRlciB0 aGFuIHRoZSBuZXcgdHVwbGUKZGVzY3JpcHRvciBzbyBoZWFwX2RlZm9ybV90dXBsZSgpIG1hdGVy aWFsaXplcyB0aGUgbWlzc2luZyB2YWx1ZXMKYmVmb3JlIGhlYXBfZm9ybV90dXBsZSgpIHJlYnVp bGRzIGEgZnVsbC13aWR0aCB0dXBsZS4KLS0tCiBzcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9oZWFw YW1faGFuZGxlci5jICAgfCAyNCArKysrKysrKysrKystLS0KIHNyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvZmFzdF9kZWZhdWx0Lm91dCB8IDM2ICsrKysrKysrKysrKysrKysrKysrKysKIHNyYy90 ZXN0L3JlZ3Jlc3Mvc3FsL2Zhc3RfZGVmYXVsdC5zcWwgICAgICB8IDE2ICsrKysrKysrKysKIDMg ZmlsZXMgY2hhbmdlZCwgNzIgaW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9zcmMvYmFja2VuZC9hY2Nlc3MvaGVhcC9oZWFwYW1faGFuZGxlci5jIGIvc3JjL2JhY2tl bmQvYWNjZXNzL2hlYXAvaGVhcGFtX2hhbmRsZXIuYwppbmRleCAyMGQzYjQ2ZS4uZDdjMDdlMDgg MTAwNjQ0Ci0tLSBhL3NyYy9iYWNrZW5kL2FjY2Vzcy9oZWFwL2hlYXBhbV9oYW5kbGVyLmMKKysr IGIvc3JjL2JhY2tlbmQvYWNjZXNzL2hlYXAvaGVhcGFtX2hhbmRsZXIuYwpAQCAtMjQxMSwxMiAr MjQxMSwyOCBAQCByZWZvcm1fdHVwbGUoSGVhcFR1cGxlIHR1cGxlLCBSZWxhdGlvbiBPbGRIZWFw LCBSZWxhdGlvbiBOZXdIZWFwLAogCVR1cGxlRGVzYwluZXdUdXBEZXNjID0gUmVsYXRpb25HZXRE ZXNjcihOZXdIZWFwKTsKIAlib29sCQluZWVkc19yZWZvcm0gPSBmYWxzZTsKIAorCS8qCisJICog SWYgdGhlIHR1cGxlIGlzIHNob3J0IGR1ZSB0byBtaXNzaW5nLXZhbHVlIChmYXN0LWRlZmF1bHQp IGF0dHJpYnV0ZXMsCisJICogd2UgbXVzdCBtYXRlcmlhbGl6ZSB0aGVtIG5vdzogZmluaXNoX2hl YXBfc3dhcCgpIHdpbGwgc3Vic2VxdWVudGx5IGNhbGwKKwkgKiBSZWxhdGlvbkNsZWFyTWlzc2lu ZygpIG9uIHRoZSBuZXcgcmVsYXRpb24sIGRyb3BwaW5nIHRoZSBjYXRhbG9nCisJICogbWV0YWRh dGEgdGhhdCBpcyB0aGUgb25seSBzb3VyY2Ugb2YgdGhvc2UgdmFsdWVzLiAgV2l0aG91dCByZWZv cm1pbmcsCisJICogdGhvc2UgY29sdW1ucyB3b3VsZCBzaWxlbnRseSBiZWNvbWUgTlVMTCBhZnRl ciB0aGUgcmV3cml0ZS4KKwkgKi8KKwlpZiAoSGVhcFR1cGxlSGVhZGVyR2V0TmF0dHModHVwbGUt PnRfZGF0YSkgPCBuZXdUdXBEZXNjLT5uYXR0cykKKwkJbmVlZHNfcmVmb3JtID0gdHJ1ZTsKKwog CS8qIFNraXAgd29yayBpZiB0aGUgdHVwbGUgZG9lc24ndCBuZWVkIGFueSBhdHRyaWJ1dGVzIGNo YW5nZWQgKi8KLQlmb3IgKGludCBpID0gMDsgaSA8IG5ld1R1cERlc2MtPm5hdHRzOyBpKyspCisJ aWYgKCFuZWVkc19yZWZvcm0pCiAJewotCQlpZiAoVHVwbGVEZXNjQ29tcGFjdEF0dHIobmV3VHVw RGVzYywgaSktPmF0dGlzZHJvcHBlZCAmJgotCQkJIWhlYXBfYXR0aXNudWxsKHR1cGxlLCBpICsg MSwgbmV3VHVwRGVzYykpCi0JCQluZWVkc19yZWZvcm0gPSB0cnVlOworCQlmb3IgKGludCBpID0g MDsgaSA8IG5ld1R1cERlc2MtPm5hdHRzOyBpKyspCisJCXsKKwkJCWlmIChUdXBsZURlc2NDb21w YWN0QXR0cihuZXdUdXBEZXNjLCBpKS0+YXR0aXNkcm9wcGVkICYmCisJCQkJIWhlYXBfYXR0aXNu dWxsKHR1cGxlLCBpICsgMSwgbmV3VHVwRGVzYykpCisJCQl7CisJCQkJbmVlZHNfcmVmb3JtID0g dHJ1ZTsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQogCX0KIAlpZiAoIW5lZWRzX3JlZm9ybSkKIAkJ cmV0dXJuIGhlYXBfY29weXR1cGxlKHR1cGxlKTsKZGlmZiAtLWdpdCBhL3NyYy90ZXN0L3JlZ3Jl c3MvZXhwZWN0ZWQvZmFzdF9kZWZhdWx0Lm91dCBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQv ZmFzdF9kZWZhdWx0Lm91dAppbmRleCBiZDE0MmVkNC4uNTgxM2YxYzYgMTAwNjQ0Ci0tLSBhL3Ny Yy90ZXN0L3JlZ3Jlc3MvZXhwZWN0ZWQvZmFzdF9kZWZhdWx0Lm91dAorKysgYi9zcmMvdGVzdC9y ZWdyZXNzL2V4cGVjdGVkL2Zhc3RfZGVmYXVsdC5vdXQKQEAgLTk2OSw2ICs5NjksNDIgQEAgU0VM RUNUIGNvdW50KCopCiAgICAgIDAKICgxIHJvdykKIAorLS0gVmVyaWZ5IHRoYXQgdGFibGUtcmV3 cml0aW5nIG1haW50ZW5hbmNlIGNvbW1hbmRzIHByZXNlcnZlIGF0dG1pc3Npbmd2YWwKKy0tIGNv bHVtbnMuCitDUkVBVEUgVEFCTEUgdCAoaWQgaW50IFBSSU1BUlkgS0VZKTsKK0lOU0VSVCBJTlRP IHQgU0VMRUNUIGdlbmVyYXRlX3NlcmllcygxLCAzKTsKK0FMVEVSIFRBQkxFIHQgQUREIENPTFVN TiBhIGludCBERUZBVUxUIDQyOworQUxURVIgVEFCTEUgdCBBREQgQ09MVU1OIGIgaW50IE5PVCBO VUxMIERFRkFVTFQgNyBDSEVDSyAoYiA+IDApOworVkFDVVVNIEZVTEwgdDsKK1NFTEVDVCAqIEZS T00gdCBPUkRFUiBCWSBpZDsKKyBpZCB8IGEgIHwgYiAKKy0tLS0rLS0tLSstLS0KKyAgMSB8IDQy IHwgNworICAyIHwgNDIgfCA3CisgIDMgfCA0MiB8IDcKKygzIHJvd3MpCisKK0FMVEVSIFRBQkxF IHQgQUREIENPTFVNTiBjIHRleHQgREVGQVVMVCAnaGVsbG8nOworQ0xVU1RFUiB0IFVTSU5HIHRf cGtleTsKK1NFTEVDVCAqIEZST00gdCBPUkRFUiBCWSBpZDsKKyBpZCB8IGEgIHwgYiB8ICAgYyAg IAorLS0tLSstLS0tKy0tLSstLS0tLS0tCisgIDEgfCA0MiB8IDcgfCBoZWxsbworICAyIHwgNDIg fCA3IHwgaGVsbG8KKyAgMyB8IDQyIHwgNyB8IGhlbGxvCisoMyByb3dzKQorCitBTFRFUiBUQUJM RSB0IEFERCBDT0xVTU4gZCBpbnQgREVGQVVMVCA5OTsKK1JFUEFDSyB0OworU0VMRUNUICogRlJP TSB0IE9SREVSIEJZIGlkOworIGlkIHwgYSAgfCBiIHwgICBjICAgfCBkICAKKy0tLS0rLS0tLSst LS0rLS0tLS0tLSstLS0tCisgIDEgfCA0MiB8IDcgfCBoZWxsbyB8IDk5CisgIDIgfCA0MiB8IDcg fCBoZWxsbyB8IDk5CisgIDMgfCA0MiB8IDcgfCBoZWxsbyB8IDk5CisoMyByb3dzKQorCitEUk9Q IFRBQkxFIHQ7CiAtLSBjbGVhbnVwCiBEUk9QIEZPUkVJR04gVEFCTEUgZnQxOwogRFJPUCBTRVJW RVIgczA7CmRpZmYgLS1naXQgYS9zcmMvdGVzdC9yZWdyZXNzL3NxbC9mYXN0X2RlZmF1bHQuc3Fs IGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZmFzdF9kZWZhdWx0LnNxbAppbmRleCA4YjMxZDMxNy4u ZTVkOWEzZDIgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2Zhc3RfZGVmYXVsdC5z cWwKKysrIGIvc3JjL3Rlc3QvcmVncmVzcy9zcWwvZmFzdF9kZWZhdWx0LnNxbApAQCAtNjUzLDYg KzY1MywyMiBAQCBTRUxFQ1QgY291bnQoKikKICAgV0hFUkUgYXR0cmVsaWQgPSAnZnQxJzo6cmVn Y2xhc3MgQU5ECiAgICAgKGF0dG1pc3Npbmd2YWwgSVMgTk9UIE5VTEwgT1IgYXR0aGFzbWlzc2lu Zyk7CiAKKy0tIFZlcmlmeSB0aGF0IHRhYmxlLXJld3JpdGluZyBtYWludGVuYW5jZSBjb21tYW5k cyBwcmVzZXJ2ZSBhdHRtaXNzaW5ndmFsCistLSBjb2x1bW5zLgorQ1JFQVRFIFRBQkxFIHQgKGlk IGludCBQUklNQVJZIEtFWSk7CitJTlNFUlQgSU5UTyB0IFNFTEVDVCBnZW5lcmF0ZV9zZXJpZXMo MSwgMyk7CitBTFRFUiBUQUJMRSB0IEFERCBDT0xVTU4gYSBpbnQgREVGQVVMVCA0MjsKK0FMVEVS IFRBQkxFIHQgQUREIENPTFVNTiBiIGludCBOT1QgTlVMTCBERUZBVUxUIDcgQ0hFQ0sgKGIgPiAw KTsKK1ZBQ1VVTSBGVUxMIHQ7CitTRUxFQ1QgKiBGUk9NIHQgT1JERVIgQlkgaWQ7CitBTFRFUiBU QUJMRSB0IEFERCBDT0xVTU4gYyB0ZXh0IERFRkFVTFQgJ2hlbGxvJzsKK0NMVVNURVIgdCBVU0lO RyB0X3BrZXk7CitTRUxFQ1QgKiBGUk9NIHQgT1JERVIgQlkgaWQ7CitBTFRFUiBUQUJMRSB0IEFE RCBDT0xVTU4gZCBpbnQgREVGQVVMVCA5OTsKK1JFUEFDSyB0OworU0VMRUNUICogRlJPTSB0IE9S REVSIEJZIGlkOworRFJPUCBUQUJMRSB0OworCiAtLSBjbGVhbnVwCiBEUk9QIEZPUkVJR04gVEFC TEUgZnQxOwogRFJPUCBTRVJWRVIgczA7Ci0tIAoyLjQzLjAKCg== --000000000000686d270650feb8d7--