Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b5tIe-0007sZ-NC for pgadmin-hackers@arkaria.postgresql.org; Thu, 26 May 2016 11:18:00 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b5tIe-0006F1-0B for pgadmin-hackers@arkaria.postgresql.org; Thu, 26 May 2016 11:18:00 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b5sP5-0001FT-9O for pgadmin-hackers@postgresql.org; Thu, 26 May 2016 10:20:35 +0000 Received: from mail-qk0-x236.google.com ([2607:f8b0:400d:c09::236]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b5sP0-0003wC-Mh for pgadmin-hackers@postgresql.org; Thu, 26 May 2016 10:20:33 +0000 Received: by mail-qk0-x236.google.com with SMTP id h185so24469854qke.2 for ; Thu, 26 May 2016 03:20:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=a+JS0jh/IBEXBJ932EKj9zyqID8jFEL2pXYn8jrnwsI=; b=BUUntqfKQtYr5m1U7m7BeKlWQQ+DA4Mi/GGKfiPOqps1GHDcvLkmA4EoNZRHA4JyXt 6c1xRjUDM1HMRZwGCsUoMXIrT8m9V3vKf+dRQD5lZgjCh0VAGKfVSOpPprinW+u9bM4P f7c+mQbIR5u4hRPomGWVeljvMpzbTlt4XOkQBpKEh6jB0nj3MhVNQ6OzBXW3qq6/BqpN bNPyCd+7raqbvOn9422wswaG+hyUXyfyW8B51GVTNPlvIJkQ+Y1+9mh8m118d65poTR2 SmTXK1c2igj8XLHu/2u2NyUchxGcFl+oQD0raJAcqhqejRXs4SkBFlrjDqCBbO7nMtGh I03w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=a+JS0jh/IBEXBJ932EKj9zyqID8jFEL2pXYn8jrnwsI=; b=Hbx0a7QarBkH8B3aoCkl9luf5rpjD6Jf7GMB8n/ML7GKsFWN1kq5uG+lQ4T+LQ1VdO ZLKpxFSDcdcjBSAKvkIyv0sf7D80JwIVNxGMlO1rgoH5Gsvvv6m4hZe1d42196QdSysz pNlxovrtNZlO87a5lDJr4in4i2/OFeXY8HSqBnwZhQ7GjKSu1fTIW0MOsMZ7lvkAEqz9 FlVjFtg/pftcOnu1v76hOZ3gGp9DnrWxBt013GAWNUsoCNib2T3gv8fqaI1lhmhlzftF EhwxJydDYQ5FNWAnwLi15B65Jm4RmlK4lhVnrv9fKOk5hCa6bua32SOsSzrfPCnG1/7q vQiw== X-Gm-Message-State: ALyK8tJfKIGHuNxAyK/Op9Hr1lSb3YJbLMSuy4a5yK+BhyofqEqnJZD9NmysgGxJj/ZUgc8Jxjx//8YqspITxpm2 X-Received: by 10.55.88.5 with SMTP id m5mr7970080qkb.134.1464258029716; Thu, 26 May 2016 03:20:29 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.221.28 with HTTP; Thu, 26 May 2016 03:20:09 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Thu, 26 May 2016 15:50:09 +0530 Message-ID: Subject: Re: [PATCH] Tables node (pgAdmin4) To: Ashesh Vashi Cc: Thom Brown , pgadmin-hackers , Dave Page , Harshal Dhumal , Akshay Joshi Content-Type: multipart/mixed; boundary=94eb2c0bacb0b95a240533bc237f X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --94eb2c0bacb0b95a240533bc237f Content-Type: multipart/alternative; boundary=94eb2c0bacb0b95a1d0533bc237d --94eb2c0bacb0b95a1d0533bc237d Content-Type: text/plain; charset=UTF-8 Hi, PFA patch for RM#1231 & RM#1237. Additionally I have shifted 'Advanced tab' after columns & constraint tab. @Thom, Reading "Of type" drop-down, We borrowed sql query from pgadmin3 to populate "Of type" combo box as given below. I was not able to find a way to differentiate between table & composite type populating from below given query, I'll put in todo list, may be someone from community can help in future. SELECT t.oid, quote_ident(n.nspname)||'.'||quote_ident(t.typname) AS typname FROM pg_type t, pg_namespace n WHERE t.typtype='c' AND t.typnamespace=n.oid AND NOT (n.nspname like 'pg_%' OR n.nspname='information_schema') ORDER BY typname; Regards, Murtuza On 25-May-2016, at 9:34 pm, Ashesh Vashi wrote: Thanks. On May 25, 2016 21:01, "Thom Brown" wrote: > Thanks. I've raised all of these in tickets 1231 to 1237. > > Thom > > On 25 May 2016 at 04:23, Ashesh Vashi > wrote: > >> Hi Thom, >> >> Can you please create RM cases for the same, it will be easy to track >> those issues? >> We're using "https://redmine.postgresql.org/projects/pgadmin4/" for the >> same. >> >> -- >> Thanks & Regards, >> >> Ashesh Vashi >> EnterpriseDB INDIA: Enterprise PostgreSQL Company >> >> >> *http://www.linkedin.com/in/asheshvashi* >> >> >> On Wed, May 25, 2016 at 6:42 AM, Thom Brown wrote: >> >>> On 25 May 2016 at 02:00, Thom Brown wrote: >>> > On 25 May 2016 at 00:29, Thom Brown wrote: >>> >> On 24 May 2016 at 19:09, Ashesh Vashi >>> wrote: >>> >>> >>> >>> On Mon, May 23, 2016 at 6:35 PM, Murtuza Zabuawala >>> >>> wrote: >>> >>>> >>> >>>> Hi, >>> >>>> >>> >>>> PFA patch, which will fixes below mentioned issues, >>> >>> >>> >>> Committed. >>> >> >>> >> >>> >> In the Create Table dialog, on the Advanced tab, the "Of type" >>> drop-down >>> >> lists tables and composite types, but those are supposed to just be >>> >> composite types. >>> >> >>> >> Also, when using OF in CREATE TABLE, LIKE is no longer valid, so LIKE >>> should >>> >> be disabled when using OF. Also, there should probably be a way of >>> setting >>> >> options for the columns taken from the composite type. For example: >>> >> >>> >> CREATE TYPE inventory AS (product_id bigint, product_name text, weight >>> >> numeric); >>> >> >>> >> CREATE TABLE stock OF inventory ( >>> >> PRIMARY KEY (product_id), >>> >> weight WITH OPTIONS DEFAULT 0 >>> >> ); >>> >> >>> >> There's currently no way of doing this (neither the primary key, nor >>> the >>> >> default value for any columns). It should probably automatically >>> populate >>> >> the columns from the composite type on the columns tab. >>> >> >>> >> Also, could the generated SQL have an empty line between each >>> statement? >>> > >>> > Another thing I've noticed is that, when adding columns, the "Is >>> > primary key?" column is greyed out. Why not just make those >>> > modifiable in that view rather than having to go into the details for >>> > each column? >>> > >>> > When there's something that hasn't been set up correctly, like adding >>> > variables for a column, but not actually selecting a variable, the SQL >>> > pane, correctly, doesn't show an output, but the error message, >>> > "Please provide input for variable." isn't enough to identify what >>> > needs checking. Could the relevant tab and field/row be >>> > highlighted/coloured in red/bold? This is more general, so doesn't >>> > just apply to the create table dialog. >>> >>> Last issue today: >>> >>> When using "Of type", it's not valid to allow additional columns to be >>> added, so those should be prevented. >>> >>> Thom >>> >> >> > --94eb2c0bacb0b95a1d0533bc237d Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,
<= br>
PFA patch for RM#1231 & RM#1237.

Additionally I have shifted 'Advanced tab' after columns & con= straint tab.


@Thom,

<= /div>
Reading "Of type" drop-down, We borrowed sql query from= pgadmin3 to populate "Of type" combo box as given below.
I was not able to find a way to differentiate between table & compos= ite type populating from below given query, =C2=A0
I'll put i= n todo list, may be someone from community can help in future.=C2=A0
<= div>
SELECT t.oid,
<= div>=C2=A0 quote_ident(n.nspname)||'.'||quo= te_ident(t.typname) AS typname
=C2= =A0 FROM pg_type t, pg_namespace n
WHERE t.typtype=3D'c' AND t.typnamespace=3Dn.oid
= =C2=A0 AND NOT (n.nspname like 'pg_%' OR n.= nspname=3D'information_schema')
ORDER BY typname;


Regards,
Murtuza


On 25-May-2016, at 9:34 pm, Ashe= sh Vashi <ashesh.vashi@enterprisedb.com> wrote:

Thanks.

On May 25, 2016 21:01, "Thom Brown" &l= t;thom@linux.com>= ; wrote:
Thanks.=C2=A0 I've raised all of these in tickets 1231 to 12= 37.

Thom

On 25 May 2016 at 04:23, Ashesh Vashi &= lt;ashes= h.vashi@enterprisedb.com> wrote:
Hi Thom,

Can you please create RM= cases for the same, it will be easy to track those issues?
We= 9;re using "https://redmine.postgresql.org/projects/pgadmin4/= " for the same.

--
Thanks & Regards,

Ashesh Vashi
EnterpriseDB INDIA: Enterprise PostgreSQL Company
=


On Wed, May 25, 2016 at 6:4= 2 AM, Thom Brown <thom@linux.com> wrote:
On 25 May 2016 at 02:00, Thom Brown <thom@linux.com> wrote:
> On 25 May 2016 at 00:29, Thom Brown <thom@linux.com> wrote:
>> On 24 May 2016 at 19:09, Ashesh Vashi <ashesh.vashi@enterprisedb.com> wrote:
>>>
>>> On Mon, May 23, 2016 at 6:35 PM, Murtuza Zabuawala
>>> <
murtuza.zabuawala@enterprisedb.com> wrote:
>>>>
>>>> Hi,
>>>>
>>>> PFA patch, which will fixes below mentioned issues,
>>>
>>> Committed.
>>
>>
>> In the Create Table dialog, on the Advanced tab, the "Of type= " drop-down
>> lists tables and composite types, but those are supposed to just b= e
>> composite types.
>>
>> Also, when using OF in CREATE TABLE, LIKE is no longer valid, so L= IKE should
>> be disabled when using OF.=C2=A0 Also, there should probably be a = way of setting
>> options for the columns taken from the composite type.=C2=A0 For e= xample:
>>
>> CREATE TYPE inventory AS (product_id bigint, product_name text, we= ight
>> numeric);
>>
>> CREATE TABLE stock OF inventory (
>>=C2=A0 =C2=A0 =C2=A0PRIMARY KEY (product_id),
>>=C2=A0 =C2=A0 =C2=A0weight WITH OPTIONS DEFAULT 0
>> );
>>
>> There's currently no way of doing this (neither the primary ke= y, nor the
>> default value for any columns).=C2=A0 It should probably automatic= ally populate
>> the columns from the composite type on the columns tab.
>>
>> Also, could the generated SQL have an empty line between each stat= ement?
>
> Another thing I've noticed is that, when adding columns, the "= ;Is
> primary key?" column is greyed out.=C2=A0 Why not just make those=
> modifiable in that view rather than having to go into the details for<= br> > each column?
>
> When there's something that hasn't been set up correctly, like= adding
> variables for a column, but not actually selecting a variable, the SQL=
> pane, correctly, doesn't show an output, but the error message,
> "Please provide input for variable." isn't enough to ide= ntify what
> needs checking.=C2=A0 Could the relevant tab and field/row be
> highlighted/coloured in red/bold?=C2=A0 This is more general, so doesn= 't
> just apply to the create table dialog.

Last issue today:

When using "Of type", it's not valid to allow additional colu= mns to be
added, so those should be prevented.

Thom



--94eb2c0bacb0b95a1d0533bc237d-- --94eb2c0bacb0b95a240533bc237f Content-Type: application/octet-stream; name="RM_1231_1237.patch" Content-Disposition: attachment; filename="RM_1231_1237.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ioo51xaf0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMv dGFibGUvanMvdGFibGUuanMgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVt cGxhdGVzL3RhYmxlL2pzL3RhYmxlLmpzCmluZGV4IDNjM2RhNjMuLjIzYzNi ZTYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0 ZXMvdGFibGUvanMvdGFibGUuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL3RlbXBsYXRlcy90YWJsZS9qcy90YWJsZS5qcwpAQCAtMzI3LDg0ICsz MjcsNiBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIs IGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgdHlwZTogJ211bHRpbGluZScsIG1v ZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLAogICAgICAg ICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnCiAgICAgICAgIH0sewotICAgICAg ICAgIGlkOiAndHlwbmFtZScsIGxhYmVsOid7eyBfKCdPZiB0eXBlJykgfX0n LCBjZWxsOiAnc3RyaW5nJywgY29udHJvbDogJ25vZGUtYWpheC1vcHRpb25z JywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGll cycsICdjcmVhdGUnLCAnZWRpdCddLAotICAgICAgICAgIGRpc2FibGVkOiAn Y2hlY2tPZlR5cGUnLCB1cmw6ICdnZXRfb2Z0eXBlJywgZ3JvdXA6ICd7eyBf KCdBZHZhbmNlZCcpIH19JywgZGVwczogWydjb2xsX2luaGVyaXRzJ10sCi0g ICAgICAgICAgdHJhbnNmb3JtOiBmdW5jdGlvbihkYXRhLCBjZWxsKSB7Ci0g ICAgICAgICAgICB2YXIgY29udHJvbCA9IGNlbGwgfHwgdGhpcywKLSAgICAg ICAgICAgICAgbSA9IGNvbnRyb2wubW9kZWw7Ci0gICAgICAgICAgICAgIG0u b2ZfdHlwZXNfdGFibGVzID0gZGF0YTsKLSAgICAgICAgICAgICAgcmV0dXJu IGRhdGE7Ci0gICAgICAgICAgfSwKLSAgICAgICAgICBjb250cm9sOiBCYWNr Zm9ybS5Ob2RlQWpheE9wdGlvbnNDb250cm9sLmV4dGVuZCh7Ci0gICAgICAg ICAgICAgIC8vIFdoZW4gb2ZfdHlwZXMgY2hhbmdlcyB3ZSBuZWVkIHRvIGNs ZWFyIGNvbHVtbnMgY29sbGVjdGlvbgotICAgICAgICAgICAgICBvbkNoYW5n ZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAgICAgQmFja2Zvcm0uTm9k ZUFqYXhPcHRpb25zQ29udHJvbC5wcm90b3R5cGUub25DaGFuZ2UuYXBwbHko dGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAgICAgICAgICB2YXIgc2VsZiA9 IHRoaXMsCi0gICAgICAgICAgICAgICAgICB0Ymxfb2lkID0gdW5kZWZpbmVk LAotICAgICAgICAgICAgICAgICAgdGJsX25hbWUgPSBzZWxmLm1vZGVsLmdl dCgndHlwbmFtZScpLAotICAgICAgICAgICAgICAgICAgZGF0YSA9IHVuZGVm aW5lZCwKLSAgICAgICAgICAgICAgICAgIGFyZyA9IHVuZGVmaW5lZCwKLSAg ICAgICAgICAgICAgICAgIGNvbHVtbl9jb2xsZWN0aW9uID0gc2VsZi5tb2Rl bC5nZXQoJ2NvbHVtbnMnKTsKLQotICAgICAgICAgICAgICAgIGlmICghXy5p c1VuZGVmaW5lZCh0YmxfbmFtZSkgJiYKLSAgICAgICAgICAgICAgICAgICAg dGJsX25hbWUgIT09ICcnICYmIGNvbHVtbl9jb2xsZWN0aW9uLmxlbmd0aCAh PT0gMCkgewotICAgICAgICAgICAgICAgICAgdmFyIG1zZyA9ICd7eyBfKCdD aGFuZ2luZyBvZiB0eXBlIHRhYmxlIHdpbGwgY2xlYXIgY29sdW1ucyBjb2xs ZWN0aW9uJykgfX0nOwotICAgICAgICAgICAgICAgICAgYWxlcnRpZnkuY29u ZmlybShtc2csIGZ1bmN0aW9uIChlKSB7Ci0gICAgICAgICAgICAgICAgICAg IGlmIChlKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgLy8gVXNlciBjbGlj a3MgT2ssIGxldHMgY2xlYXIgY29sdW1ucyBjb2xsZWN0aW9uCi0gICAgICAg ICAgICAgICAgICAgICAgY29sdW1uX2NvbGxlY3Rpb24ucmVzZXQoKTsKLSAg ICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAg ICAgICByZXR1cm4gdGhpczsKLSAgICAgICAgICAgICAgICAgICAgfQotICAg ICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgICAgfSBlbHNlIGlm ICghXy5pc1VuZGVmaW5lZCh0YmxfbmFtZSkgJiYgdGJsX25hbWUgPT09ICcn KSB7Ci0gICAgICAgICAgICAgICAgICBjb2x1bW5fY29sbGVjdGlvbi5yZXNl dCgpOwotICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgIC8v IFJ1biBBamF4IG5vdyB0byBmZXRjaCBjb2x1bW5zCi0gICAgICAgICAgICAg ICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRibF9uYW1lKSAmJiB0YmxfbmFtZSAh PT0gJycpIHsKLSAgICAgICAgICAgICAgICAgIGFyZyA9IHsgJ3RuYW1lJzog dGJsX25hbWUgfQotICAgICAgICAgICAgICAgICAgZGF0YSA9IHNlbGYubW9k ZWwuZmV0Y2hfY29sdW1uc19hamF4LmFwcGx5KHNlbGYsIFthcmddKTsKLSAg ICAgICAgICAgICAgICAgIC8vIEFkZCBpbnRvIGNvbHVtbiBjb2xsZWN0aW9u Ci0gICAgICAgICAgICAgICAgICBjb2x1bW5fY29sbGVjdGlvbi5zZXQoZGF0 YSwgeyBtZXJnZTpmYWxzZSxyZW1vdmU6ZmFsc2UgfSk7Ci0gICAgICAgICAg ICAgICAgfQotICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICB9KQotICAg ICAgICB9LHsKLSAgICAgICAgICBpZDogJ2ZpbGxmYWN0b3InLCBsYWJlbDon e3sgXygnRmlsbCBmYWN0b3InKSB9fScsIGNlbGw6ICdpbnRlZ2VyJywKLSAg ICAgICAgICB0eXBlOiAnaW50JywgbW9kZTogWydjcmVhdGUnLCAnZWRpdCdd LCBtaW46IDEwLCBtYXg6IDEwMCwKLSAgICAgICAgICBkaXNhYmxlZDogJ2lu U2NoZW1hJyxncm91cDogJ3t7IF8oJ0FkdmFuY2VkJykgfX0nCi0gICAgICAg IH0sewotICAgICAgICAgIGlkOiAncmVsaGFzb2lkcycsIGxhYmVsOid7eyBf KCdIYXMgT0lEcz8nKSB9fScsIGNlbGw6ICdzd2l0Y2gnLAotICAgICAgICAg IHR5cGU6ICdzd2l0Y2gnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRl JywgJ2VkaXQnXSwKLSAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hJywg Z3JvdXA6ICd7eyBfKCdBZHZhbmNlZCcpIH19JwotICAgICAgICB9LHsKLSAg ICAgICAgICBpZDogJ3JlbHBlcnNpc3RlbmNlJywgbGFiZWw6J3t7IF8oJ1Vu bG9nZ2VkPycpIH19JywgY2VsbDogJ3N3aXRjaCcsCi0gICAgICAgICAgdHlw ZTogJ3N3aXRjaCcsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAn ZWRpdCddLAotICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRoTW9k ZWxDaGVjaycsCi0gICAgICAgICAgZ3JvdXA6ICd7eyBfKCdBZHZhbmNlZCcp IH19JwotICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2Nvbm5hbWUnLCBs YWJlbDone3sgXygnUHJpbWFyeSBrZXknKSB9fScsIGNlbGw6ICdzdHJpbmcn LAotICAgICAgICAgIHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVz J10sIGdyb3VwOiAne3sgXygnQWR2YW5jZWQnKSB9fScsCi0gICAgICAgICAg ZGlzYWJsZWQ6ICdpblNjaGVtYScKLSAgICAgICAgfSx7Ci0gICAgICAgICAg aWQ6ICdyZWx0dXBsZXMnLCBsYWJlbDone3sgXygnUm93cyAoZXN0aW1hdGVk KScpIH19JywgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3Rl eHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwgZ3JvdXA6ICd7eyBfKCdBZHZh bmNlZCcpIH19JywKLSAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hJwot ICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ3Jvd3NfY250JywgbGFiZWw6 J3t7IF8oJ1Jvd3MgKGNvdW50ZWQpJykgfX0nLCBjZWxsOiAnc3RyaW5nJywK LSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcydd LCBncm91cDogJ3t7IF8oJ0FkdmFuY2VkJykgfX0nLAotICAgICAgICAgIGRp c2FibGVkOiAnaW5TY2hlbWEnCi0gICAgICAgIH0sewotICAgICAgICAgIGlk OiAncmVsaGFzc3ViY2xhc3MnLCBsYWJlbDone3sgXygnSW5oZXJpdHMgdGFi bGVzPycpIH19JywgY2VsbDogJ3N3aXRjaCcsCi0gICAgICAgICAgdHlwZTog J3N3aXRjaCcsIG1vZGU6IFsncHJvcGVydGllcyddLCBncm91cDogJ3t7IF8o J0FkdmFuY2VkJykgfX0nLAotICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hl bWEnCi0gICAgICAgIH0sewotICAgICAgICAgIGlkOiAnaXNfc3lzX3RhYmxl JywgbGFiZWw6J3t7IF8oJ1N5c3RlbSB0YWJsZT8nKSB9fScsIGNlbGw6ICdz d2l0Y2gnLAotICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBtb2RlOiBbJ3By b3BlcnRpZXMnXSwKLSAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hJwot ICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ2NvbGxfaW5oZXJpdHMnLCBs YWJlbDogJ3t7IF8oJ0luaGVyaXRlZCBmcm9tIHRhYmxlKHMpJykgfX0nLAog ICAgICAgICAgIHVybDogJ2dldF9pbmhlcml0cycsIHR5cGU6ICdhcnJheScs IGdyb3VwOiAne3sgXygnQ29sdW1ucycpIH19JywKICAgICAgICAgICBkaXNh YmxlZDogJ2NoZWNrSW5oZXJpdGFuY2UnLCBkZXBzOiBbJ3R5cG5hbWUnXSwK QEAgLTQ5Miw5ICs0MTQsOCBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWlu LCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICB9KQogICAg ICAgICB9LHsKICAgICAgICAgICBpZDogJ2NvbGxfaW5oZXJpdHMnLCBsYWJl bDogJ3t7IF8oJ0luaGVyaXRlZCBmcm9tIHRhYmxlKHMpJykgfX0nLAotICAg ICAgICAgIHVybDogJ2dldF9pbmhlcml0cycsIHR5cGU6ICd0ZXh0JywgZ3Jv dXA6ICd7eyBfKCdBZHZhbmNlZCcpIH19JywKLSAgICAgICAgICBkaXNhYmxl ZDogJ2NoZWNrSW5oZXJpdGFuY2UnLAotICAgICAgICAgIG1vZGU6IFsncHJv cGVydGllcyddLAorICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZ3JvdXA6ICd7 eyBfKCdBZHZhbmNlZCcpIH19JyxkaXNhYmxlZDogJ2NoZWNrSW5oZXJpdGFu Y2UnLAorICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcyddCiAgICAgICAg IH0sewogICAgICAgICAgIGlkOiAnaW5oZXJpdGVkX3RhYmxlc19jbnQnLCBs YWJlbDone3sgXygnSW5oZXJpdGVkIHRhYmxlcyBjb3VudCcpIH19JywgY2Vs bDogJ3N0cmluZycsCiAgICAgICAgICAgdHlwZTogJ3RleHQnLCBtb2RlOiBb J3Byb3BlcnRpZXMnXSwgZ3JvdXA6ICd7eyBfKCdBZHZhbmNlZCcpIH19JywK QEAgLTUwNiw3ICs0MjcsNyBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWlu LCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgbW9kZWw6IHBn QnJvd3Nlci5Ob2Rlc1snY29sdW1uJ10ubW9kZWwsCiAgICAgICAgICAgc3Vi bm9kZTogcGdCcm93c2VyLk5vZGVzWydjb2x1bW4nXS5tb2RlbCwKICAgICAg ICAgICBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0J10sCi0gICAgICAgICAgZGlz YWJsZWQ6ICdpblNjaGVtYScsCisgICAgICAgICAgZGlzYWJsZWQ6ICdpblNj aGVtYScsIGRlcHM6IFsndHlwbmFtZSddLAogICAgICAgICAgIGNhbkFkZDog J2NoZWNrX2dyaWRfYWRkX2NvbmRpdGlvbicsCiAgICAgICAgICAgY2FuRWRp dDogdHJ1ZSwgY2FuRGVsZXRlOiB0cnVlLAogICAgICAgICAgIC8vIEZvciBl YWNoIHJvdyBlZGl0L2RlbGV0ZSBidXR0b24gZW5hYmxlL2Rpc2FibGUKQEAg LTY3OCwzMyArNTk5LDExMSBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWlu LCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICAgIH0KICAg ICAgICAgfV0KICAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICd0eXBuYW1l JywgbGFiZWw6J3t7IF8oJ09mIHR5cGUnKSB9fScsIGNlbGw6ICdzdHJpbmcn LCBjb250cm9sOiAnbm9kZS1hamF4LW9wdGlvbnMnLAorICAgICAgICAgIHR5 cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdl ZGl0J10sCisgICAgICAgICAgZGlzYWJsZWQ6ICdjaGVja09mVHlwZScsIHVy bDogJ2dldF9vZnR5cGUnLCBncm91cDogJ3t7IF8oJ0FkdmFuY2VkJykgfX0n LCBkZXBzOiBbJ2NvbGxfaW5oZXJpdHMnXSwKKyAgICAgICAgICB0cmFuc2Zv cm06IGZ1bmN0aW9uKGRhdGEsIGNlbGwpIHsKKyAgICAgICAgICAgIHZhciBj b250cm9sID0gY2VsbCB8fCB0aGlzLAorICAgICAgICAgICAgICBtID0gY29u dHJvbC5tb2RlbDsKKyAgICAgICAgICAgICAgbS5vZl90eXBlc190YWJsZXMg PSBkYXRhOworICAgICAgICAgICAgICByZXR1cm4gZGF0YTsKKyAgICAgICAg ICB9LAorICAgICAgICAgIGNvbnRyb2w6IEJhY2tmb3JtLk5vZGVBamF4T3B0 aW9uc0NvbnRyb2wuZXh0ZW5kKHsKKyAgICAgICAgICAgICAgLy8gV2hlbiBv Zl90eXBlcyBjaGFuZ2VzIHdlIG5lZWQgdG8gY2xlYXIgY29sdW1ucyBjb2xs ZWN0aW9uCisgICAgICAgICAgICAgIG9uQ2hhbmdlOiBmdW5jdGlvbigpIHsK KyAgICAgICAgICAgICAgICBCYWNrZm9ybS5Ob2RlQWpheE9wdGlvbnNDb250 cm9sLnByb3RvdHlwZS5vbkNoYW5nZS5hcHBseSh0aGlzLCBhcmd1bWVudHMp OworICAgICAgICAgICAgICAgIHZhciBzZWxmID0gdGhpcywKKyAgICAgICAg ICAgICAgICAgIHRibF9vaWQgPSB1bmRlZmluZWQsCisgICAgICAgICAgICAg ICAgICB0YmxfbmFtZSA9IHNlbGYubW9kZWwuZ2V0KCd0eXBuYW1lJyksCisg ICAgICAgICAgICAgICAgICBkYXRhID0gdW5kZWZpbmVkLAorICAgICAgICAg ICAgICAgICAgYXJnID0gdW5kZWZpbmVkLAorICAgICAgICAgICAgICAgICAg Y29sdW1uX2NvbGxlY3Rpb24gPSBzZWxmLm1vZGVsLmdldCgnY29sdW1ucycp OworCisgICAgICAgICAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHRibF9u YW1lKSAmJgorICAgICAgICAgICAgICAgICAgICB0YmxfbmFtZSAhPT0gJycg JiYgY29sdW1uX2NvbGxlY3Rpb24ubGVuZ3RoICE9PSAwKSB7CisgICAgICAg ICAgICAgICAgICB2YXIgbXNnID0gJ3t7IF8oJ0NoYW5naW5nIG9mIHR5cGUg dGFibGUgd2lsbCBjbGVhciBjb2x1bW5zIGNvbGxlY3Rpb24nKSB9fSc7Cisg ICAgICAgICAgICAgICAgICBhbGVydGlmeS5jb25maXJtKG1zZywgZnVuY3Rp b24gKGUpIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGUpIHsKKyAgICAg ICAgICAgICAgICAgICAgICAvLyBVc2VyIGNsaWNrcyBPaywgbGV0cyBjbGVh ciBjb2x1bW5zIGNvbGxlY3Rpb24KKyAgICAgICAgICAgICAgICAgICAgICBj b2x1bW5fY29sbGVjdGlvbi5yZXNldCgpOworICAgICAgICAgICAgICAgICAg ICB9IGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlz OworICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgICB9 KTsKKyAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKCFfLmlzVW5kZWZpbmVk KHRibF9uYW1lKSAmJiB0YmxfbmFtZSA9PT0gJycpIHsKKyAgICAgICAgICAg ICAgICAgIGNvbHVtbl9jb2xsZWN0aW9uLnJlc2V0KCk7CisgICAgICAgICAg ICAgICAgfQorCisgICAgICAgICAgICAgICAgLy8gUnVuIEFqYXggbm93IHRv IGZldGNoIGNvbHVtbnMKKyAgICAgICAgICAgICAgICBpZiAoIV8uaXNVbmRl ZmluZWQodGJsX25hbWUpICYmIHRibF9uYW1lICE9PSAnJykgeworICAgICAg ICAgICAgICAgICAgYXJnID0geyAndG5hbWUnOiB0YmxfbmFtZSB9CisgICAg ICAgICAgICAgICAgICBkYXRhID0gc2VsZi5tb2RlbC5mZXRjaF9jb2x1bW5z X2FqYXguYXBwbHkoc2VsZiwgW2FyZ10pOworICAgICAgICAgICAgICAgICAg Ly8gQWRkIGludG8gY29sdW1uIGNvbGxlY3Rpb24KKyAgICAgICAgICAgICAg ICAgIGNvbHVtbl9jb2xsZWN0aW9uLnNldChkYXRhLCB7IG1lcmdlOmZhbHNl LHJlbW92ZTpmYWxzZSB9KTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICAgIH0KKyAgICAgICAgICAgIH0pCisgICAgICAgIH0seworICAgICAg ICAgIGlkOiAnZmlsbGZhY3RvcicsIGxhYmVsOid7eyBfKCdGaWxsIGZhY3Rv cicpIH19JywgY2VsbDogJ2ludGVnZXInLAorICAgICAgICAgIHR5cGU6ICdp bnQnLCBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0J10sIG1pbjogMTAsIG1heDog MTAwLAorICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnLGdyb3VwOiAn e3sgXygnQWR2YW5jZWQnKSB9fScKKyAgICAgICAgfSx7CisgICAgICAgICAg aWQ6ICdyZWxoYXNvaWRzJywgbGFiZWw6J3t7IF8oJ0hhcyBPSURzPycpIH19 JywgY2VsbDogJ3N3aXRjaCcsCisgICAgICAgICAgdHlwZTogJ3N3aXRjaCcs IG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLAorICAg ICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnLCBncm91cDogJ3t7IF8oJ0Fk dmFuY2VkJykgfX0nCisgICAgICAgIH0seworICAgICAgICAgIGlkOiAncmVs cGVyc2lzdGVuY2UnLCBsYWJlbDone3sgXygnVW5sb2dnZWQ/JykgfX0nLCBj ZWxsOiAnc3dpdGNoJywKKyAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgbW9k ZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCisgICAgICAg ICAgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhNb2RlbENoZWNrJywKKyAgICAg ICAgICBncm91cDogJ3t7IF8oJ0FkdmFuY2VkJykgfX0nCisgICAgICAgIH0s eworICAgICAgICAgIGlkOiAnY29ubmFtZScsIGxhYmVsOid7eyBfKCdQcmlt YXJ5IGtleScpIH19JywgY2VsbDogJ3N0cmluZycsCisgICAgICAgICAgdHlw ZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwgZ3JvdXA6ICd7eyBf KCdBZHZhbmNlZCcpIH19JywKKyAgICAgICAgICBkaXNhYmxlZDogJ2luU2No ZW1hJworICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ3JlbHR1cGxlcycs IGxhYmVsOid7eyBfKCdSb3dzIChlc3RpbWF0ZWQpJykgfX0nLCBjZWxsOiAn c3RyaW5nJywKKyAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJv cGVydGllcyddLCBncm91cDogJ3t7IF8oJ0FkdmFuY2VkJykgfX0nLAorICAg ICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnCisgICAgICAgIH0seworICAg ICAgICAgIGlkOiAncm93c19jbnQnLCBsYWJlbDone3sgXygnUm93cyAoY291 bnRlZCknKSB9fScsIGNlbGw6ICdzdHJpbmcnLAorICAgICAgICAgIHR5cGU6 ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJ10sIGdyb3VwOiAne3sgXygn QWR2YW5jZWQnKSB9fScsCisgICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVt YScKKyAgICAgICAgfSx7CisgICAgICAgICAgaWQ6ICdyZWxoYXNzdWJjbGFz cycsIGxhYmVsOid7eyBfKCdJbmhlcml0cyB0YWJsZXM/JykgfX0nLCBjZWxs OiAnc3dpdGNoJywKKyAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgbW9kZTog Wydwcm9wZXJ0aWVzJ10sIGdyb3VwOiAne3sgXygnQWR2YW5jZWQnKSB9fScs CisgICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYScKKyAgICAgICAgfSx7 CisgICAgICAgICAgaWQ6ICdpc19zeXNfdGFibGUnLCBsYWJlbDone3sgXygn U3lzdGVtIHRhYmxlPycpIH19JywgY2VsbDogJ3N3aXRjaCcsCisgICAgICAg ICAgdHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsncHJvcGVydGllcyddLAorICAg ICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnCisgICAgICAgIH0sewogICAg ICAgICAgIHR5cGU6ICduZXN0ZWQnLCBjb250cm9sOiAnZmllbGRzZXQnLCBs YWJlbDogJ3t7IF8oJ0xpa2UnKSB9fScsCiAgICAgICAgICAgZ3JvdXA6ICd7 eyBfKCdBZHZhbmNlZCcpIH19JywKICAgICAgICAgICBzY2hlbWE6W3sKICAg ICAgICAgICAgIGlkOiAnbGlrZV9yZWxhdGlvbicsIGxhYmVsOid7eyBfKCdS ZWxhdGlvbicpIH19JywgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgICB0 eXBlOiAndGV4dCcsIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwKKyAgICAg ICAgICAgIHR5cGU6ICd0ZXh0JywgbW9kZTogWydjcmVhdGUnLCAnZWRpdCdd LCBkZXBzOiBbJ3R5cG5hbWUnXSwKICAgICAgICAgICAgIGNvbnRyb2w6ICdu b2RlLWFqYXgtb3B0aW9ucycsIHVybDogJ2dldF9yZWxhdGlvbnMnLAotICAg ICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhNb2RlbENoZWNrJywg Z3JvdXA6ICd7eyBfKCdMaWtlJykgfX0nCisgICAgICAgICAgICBkaXNhYmxl ZDogJ2lzTGlrZURpc2FibGUnLCBncm91cDogJ3t7IF8oJ0xpa2UnKSB9fScK ICAgICAgICAgICB9LHsKICAgICAgICAgICAgIGlkOiAnbGlrZV9kZWZhdWx0 X3ZhbHVlJywgbGFiZWw6J3t7IF8oJ1dpdGggZGVmYXVsdCB2YWx1ZXM/Jykg fX0nLCBjZWxsOiAnc3dpdGNoJywKLSAgICAgICAgICAgIHR5cGU6ICdzd2l0 Y2gnLCBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0J10sCi0gICAgICAgICAgICBk aXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVsQ2hlY2snLCBncm91cDogJ3t7 IF8oJ0xpa2UnKSB9fScKKyAgICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBt b2RlOiBbJ2NyZWF0ZScsICdlZGl0J10sIGRlcHM6IFsndHlwbmFtZSddLAor ICAgICAgICAgICAgZGlzYWJsZWQ6ICdpc0xpa2VEaXNhYmxlJywgZ3JvdXA6 ICd7eyBfKCdMaWtlJykgfX0nCiAgICAgICAgICAgfSx7CiAgICAgICAgICAg ICBpZDogJ2xpa2VfY29uc3RyYWludHMnLCBsYWJlbDone3sgXygnV2l0aCBj b25zdHJhaW50cz8nKSB9fScsIGNlbGw6ICdzd2l0Y2gnLAotICAgICAgICAg ICAgdHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwK LSAgICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRoTW9kZWxDaGVj aycsIGdyb3VwOiAne3sgXygnTGlrZScpIH19JworICAgICAgICAgICAgdHlw ZTogJ3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwgZGVwczog Wyd0eXBuYW1lJ10sCisgICAgICAgICAgICBkaXNhYmxlZDogJ2lzTGlrZURp c2FibGUnLCBncm91cDogJ3t7IF8oJ0xpa2UnKSB9fScKICAgICAgICAgICB9 LHsKICAgICAgICAgICAgIGlkOiAnbGlrZV9pbmRleGVzJywgbGFiZWw6J3t7 IF8oJ1dpdGggaW5kZXhlcz8nKSB9fScsIGNlbGw6ICdzd2l0Y2gnLAotICAg ICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywgJ2Vk aXQnXSwKLSAgICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRoTW9k ZWxDaGVjaycsIGdyb3VwOiAne3sgXygnTGlrZScpIH19JworICAgICAgICAg ICAgdHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwg ZGVwczogWyd0eXBuYW1lJ10sCisgICAgICAgICAgICBkaXNhYmxlZDogJ2lz TGlrZURpc2FibGUnLCBncm91cDogJ3t7IF8oJ0xpa2UnKSB9fScKICAgICAg ICAgICB9LHsKICAgICAgICAgICAgIGlkOiAnbGlrZV9zdG9yYWdlJywgbGFi ZWw6J3t7IF8oJ1dpdGggc3RvcmFnZT8nKSB9fScsIGNlbGw6ICdzd2l0Y2gn LAotICAgICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRl JywgJ2VkaXQnXSwKLSAgICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWFX aXRoTW9kZWxDaGVjaycsIGdyb3VwOiAne3sgXygnTGlrZScpIH19JworICAg ICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywgJ2Vk aXQnXSwgZGVwczogWyd0eXBuYW1lJ10sCisgICAgICAgICAgICBkaXNhYmxl ZDogJ2lzTGlrZURpc2FibGUnLCBncm91cDogJ3t7IF8oJ0xpa2UnKSB9fScK ICAgICAgICAgICB9LHsKICAgICAgICAgICAgIGlkOiAnbGlrZV9jb21tZW50 cycsIGxhYmVsOid7eyBfKCdXaXRoIGNvbW1lbnRzPycpIH19JywgY2VsbDog J3N3aXRjaCcsCi0gICAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgbW9kZTog WydjcmVhdGUnLCAnZWRpdCddLAotICAgICAgICAgICAgZGlzYWJsZWQ6ICdp blNjaGVtYVdpdGhNb2RlbENoZWNrJywgZ3JvdXA6ICd7eyBfKCdMaWtlJykg fX0nCisgICAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgbW9kZTogWydjcmVh dGUnLCAnZWRpdCddLCBkZXBzOiBbJ3R5cG5hbWUnXSwKKyAgICAgICAgICAg IGRpc2FibGVkOiAnaXNMaWtlRGlzYWJsZScsIGdyb3VwOiAne3sgXygnTGlr ZScpIH19JwogICAgICAgICAgIH1dCiAgICAgICAgIH0sewogICAgICAgICAg IC8vIEhlcmUgd2Ugd2lsbCBjcmVhdGUgdGFiIGNvbnRyb2wgZm9yIGF1dG8t dmFjdXVtCkBAIC04MDQsMTIgKzgwMywyNCBAQCBmdW5jdGlvbigkLCBfLCBT LCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAg fQogICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICB9LAorICAgICAg ICAvLyBXZSB3aWxsIGRpc2FibGUgTGlrZSBpZiBvZlR5cGUgaXMgZGVmaW5l ZAorICAgICAgICBpc0xpa2VEaXNhYmxlOiBmdW5jdGlvbihtKSB7CisgICAg ICAgICAgaWYoIW0uaW5TY2hlbWFXaXRoTW9kZWxDaGVjay5hcHBseSh0aGlz LCBbbV0pICYmCisgICAgICAgICAgICAgICggXy5pc1VuZGVmaW5lZChtLmdl dCgndHlwbmFtZScpKSB8fAorICAgICAgICAgICAgICAgIF8uaXNOdWxsKG0u Z2V0KCd0eXBuYW1lJykpIHx8CisgICAgICAgICAgICAgICAgU3RyaW5nKG0u Z2V0KCd0eXBuYW1lJykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0g JycpKSB7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAg fQorICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9LAogICAgICAg ICAvLyBDaGVjayBmb3IgY29sdW1uIGdyaWQgd2hlbiB0byBBZGQKICAgICAg ICAgY2hlY2tfZ3JpZF9hZGRfY29uZGl0aW9uOiBmdW5jdGlvbihtKSB7CiAg ICAgICAgICAgdmFyIGVuYWJsZV9mbGFnID0gdHJ1ZTsKICAgICAgICAgICBp ZighbS5pblNjaGVtYS5hcHBseSh0aGlzLCBbbV0pKSB7CiAgICAgICAgICAg ICAvLyBpZiBvZl90eXBlIHRoZW4gZGlzYWJsZSBhZGQgaW4gZ3JpZAotICAg ICAgICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKG0uZ2V0KCd0eXBuYW1lJykp ICYmICFfLmlzTnVsbChtLmdldCgndHlwbmFtZScpKSkgeworICAgICAgICAg ICAgaWYgKCFfLmlzVW5kZWZpbmVkKG0uZ2V0KCd0eXBuYW1lJykpICYmCisg ICAgICAgICAgICAgICAgIV8uaXNOdWxsKG0uZ2V0KCd0eXBuYW1lJykpICYm CisgICAgICAgICAgICAgICAgbS5nZXQoJ3R5cG5hbWUnKSAhPT0gJycpIHsK ICAgICAgICAgICAgICAgICAgICAgZW5hYmxlX2ZsYWcgPSBmYWxzZTsKICAg ICAgICAgICAgICAgICB9CiAgICAgICAgICAgfQo= --94eb2c0bacb0b95a240533bc237f Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --94eb2c0bacb0b95a240533bc237f--