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 1wFCt7-004qGy-0Z for pgsql-bugs@arkaria.postgresql.org; Tue, 21 Apr 2026 15:19:45 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.96) (envelope-from ) id 1wFCt6-009TgJ-0c for pgsql-bugs@arkaria.postgresql.org; Tue, 21 Apr 2026 15:19:44 +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 1wFCt5-009Tg8-2B for pgsql-bugs@lists.postgresql.org; Tue, 21 Apr 2026 15:19:43 +0000 Received: from mail-vk1-xa2c.google.com ([2607:f8b0:4864:20::a2c]) by makus.postgresql.org with esmtps (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.98.2) (envelope-from ) id 1wFCt2-000000026UU-0Bsc for pgsql-bugs@lists.postgresql.org; Tue, 21 Apr 2026 15:19:42 +0000 Received: by mail-vk1-xa2c.google.com with SMTP id 71dfb90a1353d-56a9a7e762bso2821096e0c.3 for ; Tue, 21 Apr 2026 08:19:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=dunslane-net.20251104.gappssmtp.com; s=20251104; t=1776784779; x=1777389579; darn=lists.postgresql.org; h=in-reply-to:autocrypt:content-language:from:references:cc:to :subject:user-agent:mime-version:date:message-id:from:to:cc:subject :date:message-id:reply-to; bh=C2TTIMdVyZCaSepI1Mi1u3TnRF7hOHTOHulWJkHkv7o=; b=irSr8mOm1TweZnM/B1dA35D16BE75sC71Z0FvmvlyFxJPFhpLi8zU3t6zNJLbwt5s9 eEgWww7gr4cw6cgPRUAkYUSMQTb+TwgIdqel3Gu+0I7yg54SwDui9R8SpeXJ8XnNKG+K anCZl7DmTIqYmwe/YvAyUcoHp/T55P3iwATNOHF+YVuwdJko0u81kc+oU1ACN1XY6y7/ C87J0wq1UD8lAhOo3tdcyz+q/A8TJobbTZIjch4bVeUNkBB175ParFptBOhOfYqNp0SY pSgah3O5yW9X9xS9x7HR5f/cOc8Af4gkr0eQjvco2BISj7qhH1b/ESWZl5e/x6HWecRA eQCw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776784779; x=1777389579; h=in-reply-to:autocrypt:content-language:from:references:cc:to :subject:user-agent:mime-version:date:message-id:x-gm-gg :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=C2TTIMdVyZCaSepI1Mi1u3TnRF7hOHTOHulWJkHkv7o=; b=GQSQzKcNeVU8Li2kpMWS6kFo4VTmVl9mxas/eBprOQDLfRF5JrTFmdjJvuufpocfhg NyRfV8FMkkmgRADh4HK1Cu4nSu7Zl+rqJCbsDG7VEksCEjy6ClyhB37XTvOPYC/ilmBk 56rEiqNSjWzzFJlbrCEUpPB8HtG3BcVreSgyD05Jx8GX4eybNiKEeOVaYq9n1XkjB0JL eNS3K4sFboaKDRjj1K4CmgnvBw5iO9XqOfVcP/6t0etPicwfQHYRkJ+VTvbIQPdY3feq pctITqnauEU1zpv8fWyHEsWAE1O46sYBnWHVnP/HRg+t7rLpQGEomRE5ROZHf4FVrFkC Jxgg== X-Gm-Message-State: AOJu0YzQqD0Wp0NmNPURa8RqVa6aRK69z3JlG364CotOvPLUIsbR/mHN HJ567fmwcCZ5M58JSx9ozsmwDNe/AtI+RiZy/Wb6ubVVdPJZ7t2+FWmFpm5iqETU1Og= X-Gm-Gg: AeBDiesKHPUQ01Qr5RbYoju8LHrmOEwAZqkciHoafghGcOASTmiCTupdeaC0two7qvD zVaXg40mWStWRtHNBo14l0zEBsAinCguyP3YR9gzaULg85mI84rCbbp6WqDME0H2XphCUWCaK0j lto0cCO2ZWJu8RM2nk8misBUhDm+P/i9fLwVAhh2IM7jVxR5kAFJMxQp087E6jy1VluyxAnLS4Y amXgsR90saYvxMy+RguAL8PHHnGopNWB3YR4xXDntbiSyXxopBIBIQfnryIVnPaPUmLN/9dmnS4 p2BSHWhtRAE+t/0/Yf9jFGMa+iEHf3XlvDaAGqLGanpaNNJMqE6PScrdWAqU0Gvpe/INJtGjfNR jYeEBVFwa26ohZPn34lkWjoK6d6hMt4RslRUKmmxdhXI9hQHizEARrqczGqYFPNz6Cz1vCyKQv6 d9G2zl5xMHUt0kJ1mJbaG36fp/OiXGDLVCIoQRWrre X-Received: by 2002:a05:6122:8b18:b0:56b:982f:1267 with SMTP id 71dfb90a1353d-56fa5a572f6mr9954167e0c.13.1776784778792; Tue, 21 Apr 2026 08:19:38 -0700 (PDT) Received: from ?IPV6:2605:a601:a6b0:500::1cb? ([2605:a601:a6b0:500::1cb]) by smtp.googlemail.com with ESMTPSA id a1e0cc1a2514c-95890bcbbc7sm6218953241.9.2026.04.21.08.19.37 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 21 Apr 2026 08:19:38 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------rcnOnmvUnLBuKgvrQssUH1d2" Message-ID: <5eb0aa36-f7c2-45a2-bf28-ed441f5fc0bf@dunslane.net> Date: Tue, 21 Apr 2026 11:19:36 -0400 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: Bug in CREATE TABLE .. LIKE .. INCLUDING STATISTICS? To: Srinath Reddy Sadipiralla , Julien Tachoires , dgrowleyml@gmail.com Cc: pgsql-bugs@lists.postgresql.org References: <20260415105718.tomuncfbmlt67oel@poseidon.home.virt> From: Andrew Dunstan Content-Language: en-US Autocrypt: addr=andrew@dunslane.net; keydata= xsBNBE7KWFkBCAClridxur2AIc7eW2AR7izbfp3EnNefie2HbLF0izW5Ik5UjX2HBXBx4syI gY6b0ugohXrr274+baoAlvSbq6cAoQuEVrk5IZFzt20b1Xkx65FwGSEj526yiKLocqkJceSq Xr9xcA5SGY+FZv441chh5SU92v4q6z+6LPpoHOh97ptAVXZYNTtU0LevyvD5lja0TzbvJm6C eFXitJfnm1pLEr0DGJCR/iUOl/N62Kh4855zZC7NHIjQHPOvV5Stz/l5ilDhvGVk+xkXFPys SjZoUr1rXhYLpiyi5sR0X9FHXT0KnGuz1F5ERO7ZTLSSQ6fJwPj6gOk9K+vvoKvoeql5ABEB AAHNJEFuZHJldyBEdW5zdGFuIDxhbmRyZXdAZHVuc2xhbmUubmV0PsLAlwQTAQgAQQIbAwIX gAIZAQULCQgHAwUVCgkICwUWAgMBAAIeBRYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNGd BQkdEO8nAAoJEJn6f8tZ/DuBq74H/jkTR4Zi3stbw+xC7v2u3QozssK7MYPL2AsVfh7OealS h182fiWXpfvmmAB7WUHbhk9GC2RAOnHI/2d2jgKaMLAHsGYOT0YopTVIwRY43fCw/mK67yxc wmDcX+zyKfLaivNbf5A7QPLNwda98bEAMSJ8Sn652Uc6cA8t3uKGsVzbRBQOoYzjgvBCfSrE 9ql3PDNg0l4BfAqabd2f70ZUm9VAMEPrgv/v2xI7M2XiL4g5BVmqLCOwxLM8RMCotCuoweUr VO43DeBCIDwLxotMJKvGWDjBzQYlU1NPUAtNcz/gN9ITUe1VUGjyvGj4u1lxBOcQQUw7l1+T 5moZ4iZxXzvOwE0ETspYWQEIANGc4zQULOxhbqO2dyD51YhqCNRmm9oKWaqf+wmW4tpDe/VV cxAnNizd4LWCHfzpb5cHAtGkOPePMfzWVf6nvdF7d3eglbtf59+zG7O7llV0xSSoFiieQBsr GvqDInXYX/4mRRXMtyhM353/tixC9RWLs1oofyYmCPPXXY7h9R7en3B8BoVrRFcdzlIY/NFN hFGW/9dkEiGjgna2Rk6e15kln4ZvFBWUg23p93w/pqXcxY6+k/8TEk+C4R+M6w7o2PLGOjdZ +kPiUcw5H85zf/yZJwQXzisXaNduwWB6Vads9YC9dj6kPR1c4VGRqAaYL++LAEOqrlvm2Tvq QqZRtnEAEQEAAcLAfAQYAQgAJgIbDBYhBOQ+WEYd/Hy/RGkVpZn6f8tZ/DuBBQJoGNI2BQkd EODdAAoJEJn6f8tZ/DuBfw0IAKTsfD40teP/pp+bsLLMSxPXUYrrprTj7WFB5v61p6dkpSr/ qXmMlyahdxQFaPmfVgVirB1Vk/kHiWNnnGjfUV9nB2Zg9LI0Xb9/ts3LsUiRWXzG3tkMY6XL vsVOxW4XFRND9l2q+WW93aZ1DZl+fqWfYgMvsusFRhmGFOKTRfKPta2Pkv+AhA24N4+PrR5p bU4k2MO8PAGiK8eaYKGFG1bHKuAvoDoF7WXJ3FHxuWqLnKEt4dfOLm5pAe3zq1Lt6q8azT9i QWGpSAK5vQUWQHBHpiDjdPeqKZ6HiAXIIKfSmb+jrvXBqoP+D6/K7rUjG2aXiRtTIAXms9sm VRu7cmw= 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. --------------rcnOnmvUnLBuKgvrQssUH1d2 Content-Type: multipart/alternative; boundary="------------MH7znk0S06YN90uoGwIP8GNR" --------------MH7znk0S06YN90uoGwIP8GNR Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit On 2026-04-16 Th 3:44 AM, Srinath Reddy Sadipiralla wrote: > Hi Julien, > > On Wed, Apr 15, 2026 at 7:47 PM Julien Tachoires > wrote: > > Hi, > > One of our customer is experiencing an issue when executing CREATE > TABLE > .. LIKE .. INCLUDING ALL; on 14, the following kind of error happens: > ERROR: cache lookup failed for attribute X of relation ZZZZZZ > > It seems to come from generateClonedExtStatsStmt(): get_attname() > appears to be called with an attribute number (attnum) that does not > exist. > > > yeah, i was able to reproduce and also check the flow which is the same > as you mentioned. > > > Please find attached 2 patches for the master branch, the first > one adds > a test that triggers the problem, the 2nd one is an attempt to fix it. > > > I think it's better to write a 4 column test, with this it covers both > cases of lookup either returning the wrong column name or errors > out when the attnum does not exist in the child, thoughts? > > something like this .... > > CREATE TABLE parent_like_stats (a int, b int, c int, d int); > ALTER TABLE parent_like_stats DROP COLUMN b; > CREATE STATISTICS s_parent ON a, c FROM parent_like_stats; > CREATE TABLE child_like_stats (LIKE parent_like_stats INCLUDING > STATISTICS); > > other than this patches LGTM. > > > OK, here's a version that does that in a combined patch, and adjusts the function comments to mention we also remap the stxkeys. Releases before 18 will need a little adjustment in the test files. cheers andrew -- Andrew Dunstan EDB:https://www.enterprisedb.com --------------MH7znk0S06YN90uoGwIP8GNR Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: 8bit


On 2026-04-16 Th 3:44 AM, Srinath Reddy Sadipiralla wrote:
Hi Julien,

On Wed, Apr 15, 2026 at 7:47 PM Julien Tachoires <julien@tachoires.me> wrote:
Hi,

One of our customer is experiencing an issue when executing CREATE TABLE
.. LIKE .. INCLUDING ALL; on 14, the following kind of error happens:
ERROR: cache lookup failed for attribute X of relation ZZZZZZ

It seems to come from generateClonedExtStatsStmt(): get_attname()
appears to be called with an attribute number (attnum) that does not
exist.

yeah, i was able to reproduce and also check the flow which is the same
as you mentioned.
 

Please find attached 2 patches for the master branch, the first one adds
a test that triggers the problem, the 2nd one is an attempt to fix it.

I think it's better to write a 4 column test, with this it covers both
cases of lookup either returning the wrong column name or errors
out when the attnum does not exist in the child, thoughts?

something like this ....

CREATE TABLE parent_like_stats (a int, b int, c int, d int);
ALTER TABLE parent_like_stats DROP COLUMN b;
CREATE STATISTICS s_parent ON a, c FROM parent_like_stats;
CREATE TABLE child_like_stats (LIKE parent_like_stats INCLUDING STATISTICS);

other than this patches LGTM.




OK, here's a version that does that in a combined patch, and adjusts the function comments to mention we also remap the stxkeys. Releases before 18 will need a little adjustment in the test files.


cheers


andrew

--
Andrew Dunstan
EDB: https://www.enterprisedb.com
--------------MH7znk0S06YN90uoGwIP8GNR-- --------------rcnOnmvUnLBuKgvrQssUH1d2 Content-Type: text/x-patch; charset=UTF-8; name="v2-0001-Fix-attnum-remapping-in-generateClonedExtStatsStm.patch" Content-Disposition: attachment; filename*0="v2-0001-Fix-attnum-remapping-in-generateClonedExtStatsStm.pa"; filename*1="tch" Content-Transfer-Encoding: base64 RnJvbSAyNWM4MTY1YjNhN2ViMzhlMmY0ODIzMTcwYTliZjMxZDJkMTAzMWM5IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBBbmRyZXcgRHVuc3RhbiA8YW5kcmV3QGR1bnNsYW5l Lm5ldD4KRGF0ZTogVHVlLCAyMSBBcHIgMjAyNiAxMTowNDozNCAtMDQwMApTdWJqZWN0OiBb UEFUQ0ggdjJdIEZpeCBhdHRudW0gcmVtYXBwaW5nIGluIGdlbmVyYXRlQ2xvbmVkRXh0U3Rh dHNTdG10KCkKCldoZW4gY2xvbmluZyBleHRlbmRlZCBzdGF0aXN0aWNzIHZpYSBDUkVBVEUg VEFCTEUgLi4uIExJS0UgLi4uIElOQ0xVRElORwpTVEFUSVNUSUNTLCBzdHhrZXlzIGhvbGRz IGF0dHJpYnV0ZSBudW1iZXJzIGZyb20gdGhlIHNvdXJjZSAocGFyZW50KQp0YWJsZSwgYnV0 IGdldF9hdHRuYW1lKCkgd2FzIGJlaW5nIGNhbGxlZCB3aXRoIHRoZSBjaGlsZCByZWxhdGlv bidzCk9JRC4gIElmIHRoZSBwYXJlbnQgaGFzIGRyb3BwZWQgY29sdW1ucywgdGhlIGNoaWxk J3MgYXR0cmlidXRlIG51bWJlcnMKYXJlIHJlbnVtYmVyZWQgc2VxdWVudGlhbGx5IGFuZCBu byBsb25nZXIgbWF0Y2gsIHNvIHRoZSBsb29rdXAgZWl0aGVyCnJldHVybnMgdGhlIHdyb25n IGNvbHVtbiBuYW1lIChzaWxlbnQgY29ycnVwdGlvbikgb3IgZXJyb3JzIG91dCB3aGVuCnRo ZSBhdHRudW0gZG9lcyBub3QgZXhpc3QgaW4gdGhlIGNoaWxkLgoKRml4IGl0IGJ5IHJlbWFw cGluZyB0aGUgcGFyZW50IGF0dG51bSB0aHJvdWdoIGF0dG1hcCBiZWZvcmUgdGhlIGxvb2t1 cCwKY29uc2lzdGVudCB3aXRoIGhvdyBleHByZXNzaW9uIHN0YXRpc3RpY3MgYXJlIGFscmVh ZHkgaGFuZGxlZCBhIGZldwpsaW5lcyBiZWxvdy4KCkFkZCBhIHJlZ3Jlc3Npb24gdGVzdCBj b3ZlcmluZyBib3RoIG1hbmlmZXN0YXRpb25zOiBhIDMtY29sdW1uIHBhcmVudAp3aGVyZSB0 aGUgc3RhbGUgYXR0bnVtIHJlZmVycyB0byBubyBjaGlsZCBjb2x1bW4gKGNhY2hlLWxvb2t1 cCBlcnJvciksCmFuZCBhIDQtY29sdW1uIHBhcmVudCB3aGVyZSB0aGUgc3RhbGUgYXR0bnVt IHNpbGVudGx5IHJlZmVycyB0byB0aGUKd3JvbmcgY2hpbGQgY29sdW1uLgoKQXV0aG9yOiBK dWxpZW4gVGFjaG9pcmVzIDxqdWxtb25AZ21haWwuY29tPgpSZXZpZXdlZC1ieTogU3JpbmF0 aCBSZWRkeSBTYWRpcGlyYWxsYSA8c3JpbmF0aDIxMzNAZ21haWwuY29tPgpEaXNjdXNzaW9u OiBodHRwczovL3Bvc3Rnci5lcy9tLzIwMjYwNDE1MTA1NzE4LnRvbXVuY2ZibWx0NjdvZWxA cG9zZWlkb24uaG9tZS52aXJ0CkJhY2twYXRjaC10aHJvdWdoOiAxNAotLS0KIHNyYy9iYWNr ZW5kL3BhcnNlci9wYXJzZV91dGlsY21kLmMgICAgICAgICAgICB8ICA4ICsrKy0tCiAuLi4v cmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQgICAgfCAzMSArKysrKysr KysrKysrKysrKysrCiBzcmMvdGVzdC9yZWdyZXNzL3NxbC9jcmVhdGVfdGFibGVfbGlrZS5z cWwgICAgfCAyNiArKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQsIDYzIGluc2Vy dGlvbnMoKyksIDIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2JhY2tlbmQvcGFy c2VyL3BhcnNlX3V0aWxjbWQuYyBiL3NyYy9iYWNrZW5kL3BhcnNlci9wYXJzZV91dGlsY21k LmMKaW5kZXggMzcwNzE1MDJhOWYuLmY3YWU2ZWYyMjlkIDEwMDY0NAotLS0gYS9zcmMvYmFj a2VuZC9wYXJzZXIvcGFyc2VfdXRpbGNtZC5jCisrKyBiL3NyYy9iYWNrZW5kL3BhcnNlci9w YXJzZV91dGlsY21kLmMKQEAgLTIwNDIsNyArMjA0MiwxMCBAQCBnZW5lcmF0ZUNsb25lZElu ZGV4U3RtdChSYW5nZVZhciAqaGVhcFJlbCwgUmVsYXRpb24gc291cmNlX2lkeCwKICAqIGV4 dGVuZGVkIHN0YXRpc3RpYyAic291cmNlX3N0YXRzaWQiLCBmb3IgdGhlIHJlbCBpZGVudGlm aWVkIGJ5IGhlYXBSZWwgYW5kCiAgKiBoZWFwUmVsaWQuCiAgKgotICogQXR0cmlidXRlIG51 bWJlcnMgaW4gZXhwcmVzc2lvbiBWYXJzIGFyZSBhZGp1c3RlZCBhY2NvcmRpbmcgdG8gYXR0 bWFwLgorICogc3R4a2V5cyBpbiB0aGUgc291cmNlIHN0YXRpc3RpYyBob2xkcyBhdHRyaWJ1 dGUgbnVtYmVycyBmcm9tIHRoZSBwYXJlbnQKKyAqIHJlbGF0aW9uLiAgVGhvc2UgYXR0bnVt cywgYWxvbmcgd2l0aCB0aGUgYXR0cmlidXRlIG51bWJlcnMgcmVmZXJlbmNlZCBieQorICog VmFycyBpbnNpZGUgdGhlIGV4cHJlc3Npb24gdHJlZSwgYXJlIHJlbWFwcGVkIHRvIHRoZSBu ZXcgcmVsYXRpb24ncworICogbnVtYmVyaW5nIGFjY29yZGluZyB0byBhdHRtYXAuCiAgKi8K IHN0YXRpYyBDcmVhdGVTdGF0c1N0bXQgKgogZ2VuZXJhdGVDbG9uZWRFeHRTdGF0c1N0bXQo UmFuZ2VWYXIgKmhlYXBSZWwsIE9pZCBoZWFwUmVsaWQsCkBAIC0yMTAwLDcgKzIxMDMsOCBA QCBnZW5lcmF0ZUNsb25lZEV4dFN0YXRzU3RtdChSYW5nZVZhciAqaGVhcFJlbCwgT2lkIGhl YXBSZWxpZCwKIAkJU3RhdHNFbGVtICAqc2VsZW0gPSBtYWtlTm9kZShTdGF0c0VsZW0pOwog CQlBdHRyTnVtYmVyCWF0dG51bSA9IHN0YXRzcmVjLT5zdHhrZXlzLnZhbHVlc1tpXTsKIAot CQlzZWxlbS0+bmFtZSA9IGdldF9hdHRuYW1lKGhlYXBSZWxpZCwgYXR0bnVtLCBmYWxzZSk7 CisJCXNlbGVtLT5uYW1lID0KKwkJCWdldF9hdHRuYW1lKGhlYXBSZWxpZCwgYXR0bWFwLT5h dHRudW1zW2F0dG51bSAtIDFdLCBmYWxzZSk7CiAJCXNlbGVtLT5leHByID0gTlVMTDsKIAog CQlkZWZfbmFtZXMgPSBsYXBwZW5kKGRlZl9uYW1lcywgc2VsZW0pOwpkaWZmIC0tZ2l0IGEv c3JjL3Rlc3QvcmVncmVzcy9leHBlY3RlZC9jcmVhdGVfdGFibGVfbGlrZS5vdXQgYi9zcmMv dGVzdC9yZWdyZXNzL2V4cGVjdGVkL2NyZWF0ZV90YWJsZV9saWtlLm91dAppbmRleCA1NzIw ZDE2MGYwNS4uNzYwNjliZGU3NTYgMTAwNjQ0Ci0tLSBhL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvY3JlYXRlX3RhYmxlX2xpa2Uub3V0CisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3MvZXhw ZWN0ZWQvY3JlYXRlX3RhYmxlX2xpa2Uub3V0CkBAIC02OTgsNiArNjk4LDM3IEBAIFNFTEVD VCBhdHRuYW1lLCBhdHRjb21wcmVzc2lvbiBGUk9NIHBnX2F0dHJpYnV0ZQogIGUgICAgICAg fCAKICg1IHJvd3MpCiAKKy0tIExJS0UgLi4uIElOQ0xVRElORyBTVEFUSVNUSUNTIHdpdGgg ZHJvcHBlZCBjb2x1bW5zIGluIHRoZSBwYXJlbnQsCistLSBzbyBzdHhrZXlzIGF0dG51bXMg YXJlIG5vdCBjb250aWd1b3VzLgorQ1JFQVRFIFRBQkxFIGN0bF9zdGF0czNfcGFyZW50IChh IGludCwgYiBpbnQsIGMgaW50KTsKK0FMVEVSIFRBQkxFIGN0bF9zdGF0czNfcGFyZW50IERS T1AgQ09MVU1OIGI7CitDUkVBVEUgU1RBVElTVElDUyBjdGxfc3RhdHMzX3N0YXQgT04gYSwg YyBGUk9NIGN0bF9zdGF0czNfcGFyZW50OworQ1JFQVRFIFRBQkxFIGN0bF9zdGF0czNfY2hp bGQgKExJS0UgY3RsX3N0YXRzM19wYXJlbnQgSU5DTFVESU5HIFNUQVRJU1RJQ1MpOworQ1JF QVRFIFRBQkxFIGN0bF9zdGF0czRfcGFyZW50IChhIGludCwgYiBpbnQsIGMgaW50LCBkIGlu dCk7CitBTFRFUiBUQUJMRSBjdGxfc3RhdHM0X3BhcmVudCBEUk9QIENPTFVNTiBiOworQ1JF QVRFIFNUQVRJU1RJQ1MgY3RsX3N0YXRzNF9zdGF0IE9OIGEsIGMgRlJPTSBjdGxfc3RhdHM0 X3BhcmVudDsKK0NSRUFURSBUQUJMRSBjdGxfc3RhdHM0X2NoaWxkIChMSUtFIGN0bF9zdGF0 czRfcGFyZW50IElOQ0xVRElORyBTVEFUSVNUSUNTKTsKK1NFTEVDVCBzLnN0eHJlbGlkOjpy ZWdjbGFzcyBBUyByZWxhdGlvbiwKKyAgICAgICBhcnJheV9hZ2coYS5hdHRuYW1lIE9SREVS IEJZIHUub3JkKSBBUyBzdGF0c19jb2x1bW5zCitGUk9NIHBnX3N0YXRpc3RpY19leHQgcwor Q1JPU1MgSk9JTiBMQVRFUkFMCisgIHVubmVzdChzLnN0eGtleXM6OmludDJbXSkgV0lUSCBP UkRJTkFMSVRZIEFTIHUoYXR0bnVtLCBvcmQpCitKT0lOIHBnX2F0dHJpYnV0ZSBhCisgIE9O IGEuYXR0cmVsaWQgPSBzLnN0eHJlbGlkIEFORCBhLmF0dG51bSA9IHUuYXR0bnVtCitXSEVS RSBzLnN0eHJlbGlkIElOICgnY3RsX3N0YXRzM19jaGlsZCc6OnJlZ2NsYXNzLAorICAgICAg ICAgICAgICAgICAgICAgJ2N0bF9zdGF0czRfY2hpbGQnOjpyZWdjbGFzcykKK0dST1VQIEJZ IHMuc3R4cmVsaWQKK09SREVSIEJZIHMuc3R4cmVsaWQ6OnJlZ2NsYXNzOjp0ZXh0OworICAg ICByZWxhdGlvbiAgICAgfCBzdGF0c19jb2x1bW5zIAorLS0tLS0tLS0tLS0tLS0tLS0tKy0t LS0tLS0tLS0tLS0tLQorIGN0bF9zdGF0czNfY2hpbGQgfCB7YSxjfQorIGN0bF9zdGF0czRf Y2hpbGQgfCB7YSxjfQorKDIgcm93cykKKworRFJPUCBUQUJMRSBjdGxfc3RhdHMzX3BhcmVu dDsKK0RST1AgVEFCTEUgY3RsX3N0YXRzM19jaGlsZDsKK0RST1AgVEFCTEUgY3RsX3N0YXRz NF9wYXJlbnQ7CitEUk9QIFRBQkxFIGN0bF9zdGF0czRfY2hpbGQ7CiBEUk9QIFRBQkxFIGN0 bF90YWJsZTsKIERST1AgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWlnbl90YWJsZTE7CiBEUk9Q IEZPUkVJR04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGUyOwpkaWZmIC0tZ2l0IGEvc3JjL3Rl c3QvcmVncmVzcy9zcWwvY3JlYXRlX3RhYmxlX2xpa2Uuc3FsIGIvc3JjL3Rlc3QvcmVncmVz cy9zcWwvY3JlYXRlX3RhYmxlX2xpa2Uuc3FsCmluZGV4IDkzMzg5YjU3ZGJmLi5kNTJhOTNl ZjEzMSAxMDA2NDQKLS0tIGEvc3JjL3Rlc3QvcmVncmVzcy9zcWwvY3JlYXRlX3RhYmxlX2xp a2Uuc3FsCisrKyBiL3NyYy90ZXN0L3JlZ3Jlc3Mvc3FsL2NyZWF0ZV90YWJsZV9saWtlLnNx bApAQCAtMjc2LDYgKzI3NiwzMiBAQCBDUkVBVEUgRk9SRUlHTiBUQUJMRSBjdGxfZm9yZWln bl90YWJsZTIoTElLRSBjdGxfdGFibGUgSU5DTFVESU5HIEFMTCkgU0VSVkVSIGN0bAogU0VM RUNUIGF0dG5hbWUsIGF0dGNvbXByZXNzaW9uIEZST00gcGdfYXR0cmlidXRlCiAgIFdIRVJF IGF0dHJlbGlkID0gJ2N0bF9mb3JlaWduX3RhYmxlMic6OnJlZ2NsYXNzIGFuZCBhdHRudW0g PiAwIE9SREVSIEJZIGF0dG51bTsKIAorLS0gTElLRSAuLi4gSU5DTFVESU5HIFNUQVRJU1RJ Q1Mgd2l0aCBkcm9wcGVkIGNvbHVtbnMgaW4gdGhlIHBhcmVudCwKKy0tIHNvIHN0eGtleXMg YXR0bnVtcyBhcmUgbm90IGNvbnRpZ3VvdXMuCitDUkVBVEUgVEFCTEUgY3RsX3N0YXRzM19w YXJlbnQgKGEgaW50LCBiIGludCwgYyBpbnQpOworQUxURVIgVEFCTEUgY3RsX3N0YXRzM19w YXJlbnQgRFJPUCBDT0xVTU4gYjsKK0NSRUFURSBTVEFUSVNUSUNTIGN0bF9zdGF0czNfc3Rh dCBPTiBhLCBjIEZST00gY3RsX3N0YXRzM19wYXJlbnQ7CitDUkVBVEUgVEFCTEUgY3RsX3N0 YXRzM19jaGlsZCAoTElLRSBjdGxfc3RhdHMzX3BhcmVudCBJTkNMVURJTkcgU1RBVElTVElD Uyk7CitDUkVBVEUgVEFCTEUgY3RsX3N0YXRzNF9wYXJlbnQgKGEgaW50LCBiIGludCwgYyBp bnQsIGQgaW50KTsKK0FMVEVSIFRBQkxFIGN0bF9zdGF0czRfcGFyZW50IERST1AgQ09MVU1O IGI7CitDUkVBVEUgU1RBVElTVElDUyBjdGxfc3RhdHM0X3N0YXQgT04gYSwgYyBGUk9NIGN0 bF9zdGF0czRfcGFyZW50OworQ1JFQVRFIFRBQkxFIGN0bF9zdGF0czRfY2hpbGQgKExJS0Ug Y3RsX3N0YXRzNF9wYXJlbnQgSU5DTFVESU5HIFNUQVRJU1RJQ1MpOworU0VMRUNUIHMuc3R4 cmVsaWQ6OnJlZ2NsYXNzIEFTIHJlbGF0aW9uLAorICAgICAgIGFycmF5X2FnZyhhLmF0dG5h bWUgT1JERVIgQlkgdS5vcmQpIEFTIHN0YXRzX2NvbHVtbnMKK0ZST00gcGdfc3RhdGlzdGlj X2V4dCBzCitDUk9TUyBKT0lOIExBVEVSQUwKKyAgdW5uZXN0KHMuc3R4a2V5czo6aW50Mltd KSBXSVRIIE9SRElOQUxJVFkgQVMgdShhdHRudW0sIG9yZCkKK0pPSU4gcGdfYXR0cmlidXRl IGEKKyAgT04gYS5hdHRyZWxpZCA9IHMuc3R4cmVsaWQgQU5EIGEuYXR0bnVtID0gdS5hdHRu dW0KK1dIRVJFIHMuc3R4cmVsaWQgSU4gKCdjdGxfc3RhdHMzX2NoaWxkJzo6cmVnY2xhc3Ms CisgICAgICAgICAgICAgICAgICAgICAnY3RsX3N0YXRzNF9jaGlsZCc6OnJlZ2NsYXNzKQor R1JPVVAgQlkgcy5zdHhyZWxpZAorT1JERVIgQlkgcy5zdHhyZWxpZDo6cmVnY2xhc3M6OnRl eHQ7CitEUk9QIFRBQkxFIGN0bF9zdGF0czNfcGFyZW50OworRFJPUCBUQUJMRSBjdGxfc3Rh dHMzX2NoaWxkOworRFJPUCBUQUJMRSBjdGxfc3RhdHM0X3BhcmVudDsKK0RST1AgVEFCTEUg Y3RsX3N0YXRzNF9jaGlsZDsKKwogRFJPUCBUQUJMRSBjdGxfdGFibGU7CiBEUk9QIEZPUkVJ R04gVEFCTEUgY3RsX2ZvcmVpZ25fdGFibGUxOwogRFJPUCBGT1JFSUdOIFRBQkxFIGN0bF9m b3JlaWduX3RhYmxlMjsKLS0gCjIuNDMuMAoK --------------rcnOnmvUnLBuKgvrQssUH1d2--