Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1c5AXj-0001qs-8t for pgadmin-hackers@arkaria.postgresql.org; Fri, 11 Nov 2016 12:02:51 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1c5AXi-00018q-OI for pgadmin-hackers@arkaria.postgresql.org; Fri, 11 Nov 2016 12:02:50 +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 1c5AXg-00018h-Lh for pgadmin-hackers@postgresql.org; Fri, 11 Nov 2016 12:02:49 +0000 Received: from mail-qk0-x235.google.com ([2607:f8b0:400d:c09::235]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1c5AXZ-0005ml-5C for pgadmin-hackers@postgresql.org; Fri, 11 Nov 2016 12:02:47 +0000 Received: by mail-qk0-x235.google.com with SMTP id n21so16365374qka.3 for ; Fri, 11 Nov 2016 04:02:40 -0800 (PST) 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=kdTO7nTTE0zLlb2PKl6NK8ex6tqEwZ1XSw5ewweXLp0=; b=ssgTd2BthA9av1IjDx4DxlQxF+g7S0Wd6i6Fy/a7Fq9X91PaCCDfd/iC8kPgRrolet U4vHru2fOTalkxVS1kxbA7iMk2UknitsVDah34QsbKCMcvD2NRNkC9+MTuoB/3AJzwM3 YfjEyiKRxo3U815jBEvUNzyaccDSSO9ZKZSaumLVzZA9+NSEtJ6htYovQmcQP31hTfY7 p2MuMZaA/RvC8BSF2tKpcjeDlTf5GIexG/ls0mBLtxx5vb7VnOObl5vDRn5FpVH5ucs/ Q25GGmHPn8MiDUTjWLw8jNw1Iwjdv+hLLped8eNxEl+AhBfT8NmzcRmhqtU6xADKs0JI vFQg== 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=kdTO7nTTE0zLlb2PKl6NK8ex6tqEwZ1XSw5ewweXLp0=; b=QfblwWN+NKbSPKzpMGY6LHrTNQRFvNVIM2Bo8qfYlegETTDZuCYpBGNbirgD0/lOrl 3xMhHM+cskfRdKlLd1KOBB05KoZLyB9XITLYCR9detoaiMzireI7/9SaukSrY+7Fwurr rLtsS6rjnuGxAilmYShc+NWKMda29lhC+a8cBKjs0WLyz+ruExw1PBFeB91lU7eJWpYt 4naQybMmO1zCV5X6N/tmcKO1M99Od4PkQm/1vlFbi9FcFGnGsqUFDkTkPcDiQ2dP/A23 MHKsv/JZGROQcqhaQySs8/4En9LQBsVw1fqimceSgMNQrD/uN3miYiKvGQjlXT8dWuKS mbdw== X-Gm-Message-State: ABUngvfwtGQtoSkXfdm6ZdLWwiSavfalwDYXOQRrv7Z2mUEUcY/iDULkcekhx1hwJBrZtju/80vmvZzP2nO/rsvK X-Received: by 10.55.200.75 with SMTP id c72mr3002531qkj.169.1478865760014; Fri, 11 Nov 2016 04:02:40 -0800 (PST) MIME-Version: 1.0 Received: by 10.55.166.138 with HTTP; Fri, 11 Nov 2016 04:02:19 -0800 (PST) In-Reply-To: References: From: Murtuza Zabuawala Date: Fri, 11 Nov 2016 17:32:19 +0530 Message-ID: Subject: Re: PATCH: To fix the issue in Debugger module (pgAdmin4) To: Neel Patel Cc: Dave Page , pgadmin-hackers Content-Type: multipart/mixed; boundary=001a1146e82c4c066c054105445c 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 --001a1146e82c4c066c054105445c Content-Type: multipart/alternative; boundary=001a1146e82c4c0667054105445a --001a1146e82c4c0667054105445a Content-Type: text/plain; charset=UTF-8 Hi Dave, PFA updated patch, Both of the issues pointed by you in last email are addressed in this patch. Please review. RM#1227 -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company On Fri, Oct 21, 2016 at 5:57 PM, Neel Patel wrote: > Hi, > > > On Fri, Oct 21, 2016 at 5:03 PM, Dave Page wrote: > >> Hi >> >> On Fri, Oct 21, 2016 at 12:32 PM, Neel Patel >> wrote: >> > Hi, >> > >> > >> > On Fri, Oct 21, 2016 at 4:48 PM, Dave Page wrote: >> >> >> >> Hi >> >> >> >> There are still issues I'm afraid: >> >> >> >> - When execution stops, we seem to keep polling for more results >> >> indefinitely. >> > >> > Do you mean after completion of first successful debugging ? >> > If yes, we are polling because user can start same function for >> debugging >> > again and we have to listen for the result set for that session. >> > Yes (or the second). But shouldn't we stop polling until debugging is >> restarted? >> > > Fixed > I think yes, that can be done. > >> >> >> >> >> >> >> - When executing for a second time, the messages tab isn't cleared, >> >> and new messages don't seem to be appended to it either. I would >> >> expect the tab to be cleared. >> > >> > Fixed > > >> > Ok. We will fix this issue. >> >> >> >> >> >> On Thu, Oct 20, 2016 at 9:14 AM, Murtuza Zabuawala >> >> wrote: >> >> > Hi Dave, >> >> > >> >> > PFA updated patch for the same. >> >> > >> >> > Issue: >> >> > We were not properly fetching result from server in case of direct >> >> > debugging >> >> > when we restart debugging of same object. >> >> > >> >> > Thanks to Neel for helping in this issue. >> >> > >> >> > Please review. >> >> > >> >> > -- >> >> > Regards, >> >> > Murtuza Zabuawala >> >> > EnterpriseDB: http://www.enterprisedb.com >> >> > The Enterprise PostgreSQL Company >> >> > >> >> > On Fri, Oct 7, 2016 at 5:32 PM, Dave Page wrote: >> >> >> >> >> >> On Fri, Oct 7, 2016 at 12:53 PM, Dave Page >> wrote: >> >> >> > On Fri, Oct 7, 2016 at 12:42 PM, Murtuza Zabuawala >> >> >> > wrote: >> >> >> >> Hi Dave, >> >> >> >> >> >> >> >> I faced the same issue when I initially tried that, but then as >> per >> >> >> >> Neel >> >> >> >> suggestion I changed SELECT pg_sleep() to PERFORM pg_sleep() in >> >> >> >> function. >> >> >> >> You will face the same in pgAdmin3 if you use select pg_sleep() >> in >> >> >> >> your >> >> >> >> function the debug call never returns from DB server. >> >> >> > >> >> >> > In which case, doesn't that imply the debugger is missing critical >> >> >> > debug info? If I run the query in the query tool, I get: >> >> >> > >> >> >> > ==== >> >> >> > INFO: EMPNO ENAME >> >> >> > INFO: ----- ------- >> >> >> > ERROR: query has no destination for result data >> >> >> > HINT: If you want to discard the results of a SELECT, use PERFORM >> >> >> > instead. >> >> >> > CONTEXT: PL/pgSQL function list_emp() line 11 at SQL statement >> >> >> > >> >> >> > >> >> >> > Query returned successfully in 2 secs. >> >> >> > ==== >> >> >> > >> >> >> > It seems to me that the debugger should be able to give the same >> >> >> > error. >> >> >> > >> >> >> > Regardless of that, I'll test with PERFORM. >> >> >> >> >> >> Which I just did - and whilst it seemed to be fine when stepping >> >> >> through, after a few iterations I hit the continue button, at which >> >> >> point it froze again on "PERFORM pg_sleep(2)", didn't print any more >> >> >> of the 14 names in the emp table, and didn't return :-( >> >> >> >> >> >> -- >> >> >> Dave Page >> >> >> Blog: http://pgsnake.blogspot.com >> >> >> Twitter: @pgsnake >> >> >> >> >> >> EnterpriseDB UK: http://www.enterprisedb.com >> >> >> The Enterprise PostgreSQL Company >> >> > >> >> > >> >> >> >> >> >> >> >> -- >> >> Dave Page >> >> Blog: http://pgsnake.blogspot.com >> >> Twitter: @pgsnake >> >> >> >> EnterpriseDB UK: http://www.enterprisedb.com >> >> The Enterprise PostgreSQL Company >> >> >> >> >> >> -- >> >> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) >> >> To make changes to your subscription: >> >> http://www.postgresql.org/mailpref/pgadmin-hackers >> > >> > >> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > --001a1146e82c4c0667054105445a Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

PFA updated patch, Both of the= issues pointed by you in last email are addressed in this patch.
Please review.

RM#1227


--
Regards,

On Fri, Oct 21, 2016 at 5:57 PM, Neel Patel = <neel.patel@enterprisedb.com> wrote:
Hi,


On Fri, Oct 21, 2016 at 5:03 PM, Dav= e Page <dpage@pgadmin.org> wrote:
Hi

On Fri, Oct 21, 2016 at 12:32 PM, Neel Patel
<neel.p= atel@enterprisedb.com> wrote:
> Hi,
>
>
> On Fri, Oct 21, 2016 at 4:48 PM, Dave Page <dpage@pgadmin.org> wrote:
>>
>> Hi
>>
>> There are still issues I'm afraid:
>>
>> - When execution stops, we seem to keep polling for more results >> indefinitely.
>
> Do you mean after completion of first successful debugging ?
> If yes, we are polling because user can start same function for debugg= ing
> again and we have to listen for the result set for that session.=C2=A0
Yes (or the second). But shouldn't we stop polling until debuggi= ng is restarted?
=C2=A0
Fixed=C2=A0
I think yes, th= at can be done.

>>
>>
>> - When executing for a second time, the messages tab isn't cle= ared,
>> and new messages don't seem to be appended to it either. I wou= ld
>> expect the tab to be cleared.
>
Fixed= =C2=A0
>
> Ok. We will fix this issue.
>>
>>
>> On Thu, Oct 20, 2016 at 9:14 AM, Murtuza Zabuawala
>> <murtuza.zabuawala@enterprisedb.com> wrote:
>> > Hi Dave,
>> >
>> > PFA updated patch for the same.
>> >
>> > Issue:
>> > We were not properly fetching result from server in case of d= irect
>> > debugging
>> > when we restart debugging of same object.
>> >
>> > Thanks to Neel for helping in this issue.
>> >
>> > Please review.
>> >
>> > --
>> > Regards,
>> > Murtuza Zabuawala
>> > EnterpriseDB: http://www.enterprisedb.com
>> > The Enterprise PostgreSQL Company
>> >
>> > On Fri, Oct 7, 2016 at 5:32 PM, Dave Page <dpage@pgadmin.org> wrote:
>> >>
>> >> On Fri, Oct 7, 2016 at 12:53 PM, Dave Page <dpage@pgadmin.org> wrot= e:
>> >> > On Fri, Oct 7, 2016 at 12:42 PM, Murtuza Zabuawala >> >> > <murtuza.zabuawala@enterprisedb.com> wro= te:
>> >> >> Hi Dave,
>> >> >>
>> >> >> I faced the same issue when I initially tried th= at, but then as per
>> >> >> Neel
>> >> >> suggestion I changed SELECT pg_sleep() to PERFOR= M pg_sleep() in
>> >> >> function.
>> >> >> You will face the same in pgAdmin3 if you use se= lect pg_sleep() in
>> >> >> your
>> >> >> function the debug call never returns from DB se= rver.
>> >> >
>> >> > In which case, doesn't that imply the debugger i= s missing critical
>> >> > debug info? If I run the query in the query tool, I = get:
>> >> >
>> >> > =3D=3D=3D=3D
>> >> > INFO:=C2=A0 EMPNO=C2=A0 =C2=A0 ENAME
>> >> > INFO:=C2=A0 -----=C2=A0 =C2=A0 -------
>> >> > ERROR:=C2=A0 query has no destination for result dat= a
>> >> > HINT:=C2=A0 If you want to discard the results of a = SELECT, use PERFORM
>> >> > instead.
>> >> > CONTEXT:=C2=A0 PL/pgSQL function list_emp() line 11 = at SQL statement
>> >> >
>> >> >
>> >> > Query returned successfully in 2 secs.
>> >> > =3D=3D=3D=3D
>> >> >
>> >> > It seems to me that the debugger should be able to g= ive the same
>> >> > error.
>> >> >
>> >> > Regardless of that, I'll test with PERFORM.
>> >>
>> >> Which I just did - and whilst it seemed to be fine when s= tepping
>> >> through, after a few iterations I hit the continue button= , at which
>> >> point it froze again on "PERFORM pg_sleep(2)", = didn't print any more
>> >> of the 14 names in the emp table, and didn't return := -(
>> >>
>> >> --
>> >> Dave Page
>> >> Blog: http://pgsnake.blogspot.com
>> >> Twitter: @pgsnake
>> >>
>> >> EnterpriseDB UK: http://www.enterprisedb.com
>> >> The Enterprise PostgreSQL Company
>> >
>> >
>>
>>
>>
>> --
>> Dave Page
>> Blog: http://pgsnake.blogspot.com
>> Twitter: @pgsnake
>>
>> EnterpriseDB UK: http://www.enterprisedb.com
>> The Enterprise PostgreSQL Company
>>
>>
>> --
>> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.or= g)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/p= gadmin-hackers
>
>



--
Dave Page
Blog: http://pgsnake.blogspot.com
Twitter: @pgsnake

EnterpriseDB UK: http://www.enterprisedb.com
The Enterprise PostgreSQL Company


--001a1146e82c4c0667054105445a-- --001a1146e82c4c066c054105445c Content-Type: application/octet-stream; name="RM_1227_v8.patch" Content-Disposition: attachment; filename="RM_1227_v8.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_ivdqglxh0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL19faW5p dF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18u cHkKaW5kZXggN2Q4M2VjYi4uMjRkMDBhZCAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKQEAgLTEzNTQsOSAr MTM1NCwyMiBAQCBkZWYgcG9sbF9lbmRfZXhlY3V0aW9uX3Jlc3VsdCh0cmFu c19pZCk6CiAKICAgICBpZiBjb25uLmNvbm5lY3RlZCgpOgogICAgICAgICBz dGF0dXNtc2cgPSBjb25uLnN0YXR1c19tZXNzYWdlKCkKKyAgICAgICAgaWYg c3RhdHVzbXNnIGFuZCBzdGF0dXNtc2cgPT0gJ1NFTEVDVCAxJzoKKyAgICAg ICAgICAgIHN0YXR1c21zZyA9ICcnCiAgICAgICAgIHN0YXR1cywgcmVzdWx0 LCBjb2xfaW5mbyA9IGNvbm4ucG9sbCgpCi0gICAgICAgIGlmIHN0YXR1cyA9 PSBBU1lOQ19PSyBhbmQgc2Vzc2lvblsnZnVuY3Rpb25EYXRhJ11bc3RyKHRy YW5zX2lkKV1bJ2xhbmd1YWdlJ10gPT0gJ2VkYnNwbCc6CisgICAgICAgIGlm IHN0YXR1cyA9PSBBU1lOQ19PSyBhbmQgXAorICAgICAgICAgICAgICAgIG5v dCBzZXNzaW9uWydmdW5jdGlvbkRhdGEnXVtzdHIodHJhbnNfaWQpXVsnaXNf ZnVuYyddIGFuZCBcCisgICAgICAgICAgICAgICAgc2Vzc2lvblsnZnVuY3Rp b25EYXRhJ11bc3RyKHRyYW5zX2lkKV1bJ2xhbmd1YWdlJ10gPT0gJ2VkYnNw bCc6CiAgICAgICAgICAgICBzdGF0dXMgPSAnU3VjY2VzcycKKyAgICAgICAg ICAgIGFkZGl0aW9uYWxfbXNncyA9IGNvbm4ubWVzc2FnZXMoKQorICAgICAg ICAgICAgaWYgbGVuKGFkZGl0aW9uYWxfbXNncykgPiAwOgorICAgICAgICAg ICAgICAgIGFkZGl0aW9uYWxfbXNncyA9IFttc2cuc3RyaXAoIlxuIikgZm9y IG1zZyBpbiBhZGRpdGlvbmFsX21zZ3NdCisgICAgICAgICAgICAgICAgYWRk aXRpb25hbF9tc2dzID0gIjxicj4iLmpvaW4oYWRkaXRpb25hbF9tc2dzKQor ICAgICAgICAgICAgICAgIGlmIHN0YXR1c21zZzoKKyAgICAgICAgICAgICAg ICAgICAgc3RhdHVzbXNnID0gYWRkaXRpb25hbF9tc2dzICsgIjxicj4iICsg c3RhdHVzbXNnCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAg ICAgICAgICAgc3RhdHVzbXNnID0gYWRkaXRpb25hbF9tc2dzCisKICAgICAg ICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2Uoc3VjY2Vzcz0xLCBp bmZvPWdldHRleHQoIkV4ZWN1dGlvbiBDb21wbGV0ZWQuIiksCiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9eydzdGF0dXMn OiBzdGF0dXMsICdzdGF0dXNfbWVzc2FnZSc6IHN0YXR1c21zZ30pCiAgICAg ICAgIGlmIHJlc3VsdDoKQEAgLTEzNjYsNiArMTM3OSwxNSBAQCBkZWYgcG9s bF9lbmRfZXhlY3V0aW9uX3Jlc3VsdCh0cmFuc19pZCk6CiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPXsnc3RhdHVz Jzogc3RhdHVzLCAnc3RhdHVzX21lc3NhZ2UnOiByZXN1bHR9KQogICAgICAg ICAgICAgZWxzZToKICAgICAgICAgICAgICAgICBzdGF0dXMgPSAnU3VjY2Vz cycKKyAgICAgICAgICAgICAgICBhZGRpdGlvbmFsX21zZ3MgPSBjb25uLm1l c3NhZ2VzKCkKKyAgICAgICAgICAgICAgICBpZiBsZW4oYWRkaXRpb25hbF9t c2dzKSA+IDA6CisgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxfbXNn cyA9IFttc2cuc3RyaXAoIlxuIikgZm9yIG1zZyBpbiBhZGRpdGlvbmFsX21z Z3NdCisgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxfbXNncyA9ICI8 YnI+Ii5qb2luKGFkZGl0aW9uYWxfbXNncykKKyAgICAgICAgICAgICAgICAg ICAgaWYgc3RhdHVzbXNnOgorICAgICAgICAgICAgICAgICAgICAgICAgc3Rh dHVzbXNnID0gYWRkaXRpb25hbF9tc2dzICsgIjxicj4iICsgc3RhdHVzbXNn CisgICAgICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAgICAgICAg ICAgICAgICBzdGF0dXNtc2cgPSBhZGRpdGlvbmFsX21zZ3MKKwogICAgICAg ICAgICAgICAgIGNvbHVtbnMgPSBbXQogICAgICAgICAgICAgICAgICMgQ2hl Y2sgY29sdW1uIGluZm8gaXMgYXZhaWxhYmxlIG9yIG5vdAogICAgICAgICAg ICAgICAgIGlmIGNvbF9pbmZvIGlzIG5vdCBOb25lIGFuZCBsZW4oY29sX2lu Zm8pID4gMDoKQEAgLTEzODEsNiArMTQwMywxNyBAQCBkZWYgcG9sbF9lbmRf ZXhlY3V0aW9uX3Jlc3VsdCh0cmFuc19pZCk6CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnY29sX2luZm8nOiBj b2x1bW5zLCAnc3RhdHVzX21lc3NhZ2UnOiBzdGF0dXNtc2d9KQogICAgICAg ICBlbHNlOgogICAgICAgICAgICAgc3RhdHVzID0gJ0J1c3knCisgICAgICAg ICAgICBhZGRpdGlvbmFsX21zZ3MgPSBjb25uLm1lc3NhZ2VzKCkKKyAgICAg ICAgICAgIGlmIGxlbihhZGRpdGlvbmFsX21zZ3MpID4gMDoKKyAgICAgICAg ICAgICAgICBhZGRpdGlvbmFsX21zZ3MgPSBbbXNnLnN0cmlwKCJcbiIpIGZv ciBtc2cgaW4gYWRkaXRpb25hbF9tc2dzXQorICAgICAgICAgICAgICAgIGFk ZGl0aW9uYWxfbXNncyA9ICI8YnI+Ii5qb2luKGFkZGl0aW9uYWxfbXNncykK KyAgICAgICAgICAgICAgICBpZiBzdGF0dXNtc2c6CisgICAgICAgICAgICAg ICAgICAgIHN0YXR1c21zZyA9IGFkZGl0aW9uYWxfbXNncyArICI8YnI+IiAr IHN0YXR1c21zZworICAgICAgICAgICAgICAgIGVsc2U6CisgICAgICAgICAg ICAgICAgICAgIHN0YXR1c21zZyA9IGFkZGl0aW9uYWxfbXNncworICAgICAg ICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZShkYXRhPXsKKyAgICAg ICAgICAgICAgICAnc3RhdHVzJzogc3RhdHVzLCAncmVzdWx0JzogcmVzdWx0 LCAnc3RhdHVzX21lc3NhZ2UnOiBzdGF0dXNtc2cKKyAgICAgICAgICAgIH0p CiAgICAgZWxzZToKICAgICAgICAgc3RhdHVzID0gJ05vdENvbm5lY3RlZCcK ICAgICAgICAgcmVzdWx0ID0gZ2V0dGV4dCgnTm90IGNvbm5lY3RlZCB0byBz ZXJ2ZXIgb3IgY29ubmVjdGlvbiB3aXRoIHRoZSBzZXJ2ZXIgaGFzIGJlZW4g Y2xvc2VkLicpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9kZWJ1 Z2dlci9zdGF0aWMvY3NzL2RlYnVnZ2VyLmNzcyBiL3dlYi9wZ2FkbWluL3Rv b2xzL2RlYnVnZ2VyL3N0YXRpYy9jc3MvZGVidWdnZXIuY3NzCmluZGV4IDQz ODY3NzUuLmUxMTc3YTggMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xz L2RlYnVnZ2VyL3N0YXRpYy9jc3MvZGVidWdnZXIuY3NzCisrKyBiL3dlYi9w Z2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3N0YXRpYy9jc3MvZGVidWdnZXIuY3Nz CkBAIC02NywzICs2NywxNCBAQAogLkNvZGVNaXJyb3ItZm9sZGd1dHRlci1m b2xkZWQ6YWZ0ZXIgewogICBjb250ZW50OiAiXDI1QjYiOwogfQorCisvKiBU byBtYWtlIGZvbnQgc2FtZSBhcyBRdWVyeSB0b29sIGluIG1lc3NhZ2VzIHRh YiAqLworLm1lc3NhZ2VzIHsKKyAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7 CisgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTsKKyAgICBwYWRkaW5nLXRv cDogNXB4OworICAgIHBhZGRpbmctbGVmdDogMTBweDsKKyAgICBvdmVyZmxv dzogYXV0bzsKKyAgICBoZWlnaHQ6IDEwMCU7CisgICAgZm9udC1zaXplOiAw LjkyNWVtOworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL3RlbXBsYXRlcy9k ZWJ1Z2dlci9qcy9kaXJlY3QuanMgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1 Z2dlci90ZW1wbGF0ZXMvZGVidWdnZXIvanMvZGlyZWN0LmpzCmluZGV4IDQ1 MjYxN2IuLjJjNWQwNWQgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xz L2RlYnVnZ2VyL3RlbXBsYXRlcy9kZWJ1Z2dlci9qcy9kaXJlY3QuanMKKysr IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVtcGxhdGVzL2RlYnVn Z2VyL2pzL2RpcmVjdC5qcwpAQCAtMTY0LDYgKzE2NCw5IEBAIGRlZmluZSgK IAogICAgICAgICAgICAgICAvLyBDYWxsIGZ1bmN0aW9uIHRvIGNyZWF0ZSBh bmQgdXBkYXRlIGxvY2FsIHZhcmlhYmxlcyAuLi4uCiAgICAgICAgICAgICAg IHNlbGYuR2V0U3RhY2tJbmZvcm1hdGlvbih0cmFuc19pZCk7CisgICAgICAg ICAgICAgIGlmIChwZ1Rvb2xzLkRpcmVjdERlYnVnLmRlYnVnX3R5cGUpIHsK KyAgICAgICAgICAgICAgICBzZWxmLnBvbGxfZW5kX2V4ZWN1dGlvbl9yZXN1 bHQodHJhbnNfaWQpOworICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9 CiAgICAgICAgICAgICBlbHNlIGlmIChyZXMuZGF0YS5zdGF0dXMgPT09ICdO b3RDb25uZWN0ZWQnKSB7CiAgICAgICAgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0 KApAQCAtMTk0LDYgKzE5NywxMyBAQCBkZWZpbmUoCiAgICAgICAgICAgICAg IC8vIENhbGwgZnVuY3Rpb24gdG8gY3JlYXRlIGFuZCB1cGRhdGUgbG9jYWwg dmFyaWFibGVzCiAgICAgICAgICAgICAgIHNlbGYuQWRkTG9jYWxWYXJpYWJs ZXMocmVzLmRhdGEucmVzdWx0KTsKICAgICAgICAgICAgICAgc2VsZi5BZGRQ YXJhbWV0ZXJzKHJlcy5kYXRhLnJlc3VsdCk7CisgICAgICAgICAgICAgIC8v IElmIGRlYnVnIGZ1bmN0aW9uIGlzIHJlc3RhcnRlZCB0aGVuIGFnYWluIHN0 YXJ0IGxpc3RlbmVyIHRvIHJlYWQgdGhlIHVwZGF0ZWQgbWVzc2FnZXMuCisg ICAgICAgICAgICAgIGlmIChwZ1Rvb2xzLkRpcmVjdERlYnVnLmRlYnVnX3Jl c3RhcnRlZCkgeworICAgICAgICAgICAgICAgIGlmIChwZ1Rvb2xzLkRpcmVj dERlYnVnLmRlYnVnX3R5cGUpIHsKKyAgICAgICAgICAgICAgICAgIHNlbGYu cG9sbF9lbmRfZXhlY3V0aW9uX3Jlc3VsdCh0cmFuc19pZCk7CisgICAgICAg ICAgICAgICAgfQorICAgICAgICAgICAgICAgIHBnVG9vbHMuRGlyZWN0RGVi dWcuZGVidWdfcmVzdGFydGVkID0gZmFsc2U7CisgICAgICAgICAgICAgIH0K ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYgKHJlcy5kYXRh LnN0YXR1cyA9PT0gJ05vdENvbm5lY3RlZCcpIHsKICAgICAgICAgICAgICAg QWxlcnRpZnkuYWxlcnQoCkBAIC0yNDUsNiArMjU1LDEyIEBAIGRlZmluZSgK ICAgICAgICovCiAgICAgICBwb2xsX3Jlc3VsdDogZnVuY3Rpb24odHJhbnNf aWQpIHsKICAgICAgIHZhciBzZWxmID0gdGhpczsKKworICAgICAgLy8gRG8g d2UgbmVlZCB0byBwb29sPworICAgICAgaWYoIXBnVG9vbHMuRGlyZWN0RGVi dWcuaXNfcG9sbGluZ19yZXF1aXJlZCl7CisgICAgICAgIHJldHVybjsKKyAg ICAgIH0KKwogICAgICAgLy8gTWFrZSBhamF4IGNhbGwgdG8gbGlzdGVuIHRo ZSBkYXRhYmFzZSBtZXNzYWdlCiAgICAgICB2YXIgYmFzZVVybCA9ICJ7eyB1 cmxfZm9yKCdkZWJ1Z2dlci5pbmRleCcpIH19IiArICJwb2xsX3Jlc3VsdC8i ICsgdHJhbnNfaWQ7CiAKQEAgLTM2MywxMyArMzc5LDMyIEBAIGRlZmluZSgK IAogICAgIH0sCiAKKyAgICAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgdXBkYXRl IG1lc3NhZ2VzIHRhYgorICAgIHVwZGF0ZV9tZXNzYWdlczogZnVuY3Rpb24o bXNnKSB7CisgICAgICB2YXIgb2xkX21zZ3M9JycsIG5ld19tc2dzPScnOwor ICAgICAgICBvbGRfbXNncyA9IHBnVG9vbHMuRGlyZWN0RGVidWcubWVzc2Fn ZXNfcGFuZWwuJGNvbnRhaW5lci5maW5kKCcubWVzc2FnZXMnKS5odG1sKCk7 CisgICAgICAgIGlmKG9sZF9tc2dzKSB7CisgICAgICAgICAgbmV3X21zZ3Mg PSAob2xkX21zZ3MgKyAnXG4nICsgbXNnKQorICAgICAgICAgICAgICAgICAg ICAgICAgLnJlcGxhY2UoLyg/OlxyXG58XHJ8XG4pL2csICc8YnIgLz4nKSAv LyBOZXdsaW5lcyB3aXRoIDxicj4KKyAgICAgICAgICAgICAgICAgICAgICAg IC5yZXBsYWNlKC8oPGJyXCA/XC8/PikrL2csICc8YnIgLz4nKTsgLy8gbXVs dGlwbGUgPGJyPiB3aXRoIHNpbmdsZSA8YnI+CisgICAgICAgIH0gZWxzZSB7 CisgICAgICAgICAgbmV3X21zZ3MgPSBtc2c7CisgICAgICAgIH0KKyAgICAg ICAgcGdUb29scy5EaXJlY3REZWJ1Zy5tZXNzYWdlc19wYW5lbC4kY29udGFp bmVyLmZpbmQoJy5tZXNzYWdlcycpLmh0bWwobmV3X21zZ3MpOworICAgIH0s CisKICAgICAvKgogICAgICAgRm9yIHRoZSBkaXJlY3QgZGVidWdnaW5nLCB3 ZSBuZWVkIHRvIGNoZWNrIHdlYXRoZXIgdGhlIGZ1bmN0aW9ucyBleGVjdXRp b24gaXMgY29tcGxldGVkIG9yIG5vdC4gQWZ0ZXIgY29tcGxldGlvbgogICAg ICAgb2YgdGhlIGRlYnVnZ2luZywgd2Ugd2lsbCBzdG9wIHBvbGxpbmcgdGhl IHJlc3VsdCAgdW50aWwgbmV3IGV4ZWN1dGlvbiBzdGFydHMuCiAgICAgKi8K ICAgICBwb2xsX2VuZF9leGVjdXRpb25fcmVzdWx0OiBmdW5jdGlvbih0cmFu c19pZCkgewogICAgICAgdmFyIHNlbGYgPSB0aGlzOwotICAgICAgLy9yZXR1 cm47CisKKyAgICAgIC8vIERvIHdlIG5lZWQgdG8gcG9vbD8KKyAgICAgIGlm KCFwZ1Rvb2xzLkRpcmVjdERlYnVnLmlzX3BvbGxpbmdfcmVxdWlyZWQpewor ICAgICAgICByZXR1cm47CisgICAgICB9CisKICAgICAgIC8vIE1ha2UgYWph eCBjYWxsIHRvIGxpc3RlbiB0aGUgZGF0YWJhc2UgbWVzc2FnZQogICAgICAg dmFyIGJhc2VVcmwgPSAie3sgdXJsX2ZvcignZGVidWdnZXIuaW5kZXgnKSB9 fSIgKyAicG9sbF9lbmRfZXhlY3V0aW9uX3Jlc3VsdC8iICsgdHJhbnNfaWQ7 CiAKQEAgLTQxMSw3ICs0NDYsOSBAQCBkZWZpbmUoCiAgICAgICAgICAgICAg ICAgKTsKIAogICAgICAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgbWVzc2Fn ZSB0YWIgb2YgdGhlIGRlYnVnZ2VyCi0gICAgICAgICAgICAgICAgcGdUb29s cy5EaXJlY3REZWJ1Zy5kYm1zTWVzc2FnZXMuJGVsZW0udGV4dChyZXMuZGF0 YS5zdGF0dXNfbWVzc2FnZSk7CisgICAgICAgICAgICAgICAgaWYgKHJlcy5k YXRhLnN0YXR1c19tZXNzYWdlKSB7CisgICAgICAgICAgICAgICAgICBzZWxm LnVwZGF0ZV9tZXNzYWdlcyhyZXMuZGF0YS5zdGF0dXNfbWVzc2FnZSk7Cisg ICAgICAgICAgICAgICAgfQogCiAgICAgICAgICAgICAgICAgLy8gRXhlY3V0 aW9uIGNvbXBsZXRlZCBzbyBkaXNhYmxlIHRoZSBidXR0b25zIG90aGVyIHRo YW4gIkNvbnRpbnVlL1N0YXJ0IiBidXR0b24gYmVjYXVzZSB1c2VyIGNhbiBz dGlsbAogICAgICAgICAgICAgICAgIC8vIHN0YXJ0IHRoZSBzYW1lIGV4ZWN1 dGlvbiBhZ2Fpbi4KQEAgLTQyMCw2ICs0NTcsMTAgQEAgZGVmaW5lKAogICAg ICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCdzdGVwX2ludG8nLCBmYWxzZSk7 CiAgICAgICAgICAgICAgICAgc2VsZi5lbmFibGUoJ3RvZ2dsZV9icmVha3Bv aW50JywgZmFsc2UpOwogICAgICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCdj bGVhcl9hbGxfYnJlYWtwb2ludHMnLCBmYWxzZSk7CisgICAgICAgICAgICAg ICAgc2VsZi5lbmFibGUoJ2NvbnRpbnVlJywgdHJ1ZSk7CisgICAgICAgICAg ICAgICAgLy8gU3RvcCBmdXJ0aGVyIHBvb2xpbmcKKyAgICAgICAgICAgICAg ICBwZ1Rvb2xzLkRpcmVjdERlYnVnLmlzX3BvbGxpbmdfcmVxdWlyZWQgPSBm YWxzZTsKKwogICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGVsc2Ug ewogICAgICAgICAgICAgICAgIC8vIENhbGwgZnVuY3Rpb24gdG8gY3JlYXRl IGFuZCB1cGRhdGUgbG9jYWwgdmFyaWFibGVzIC4uLi4KQEAgLTQzOSw3ICs0 ODAsOSBAQCBkZWZpbmUoCiAgICAgICAgICAgICAgICAgICApOwogCiAgICAg ICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIG1lc3NhZ2UgdGFiIG9mIHRo ZSBkZWJ1Z2dlcgotICAgICAgICAgICAgICAgICAgcGdUb29scy5EaXJlY3RE ZWJ1Zy5tZXNzYWdlc19wYW5lbC4kY29udGFpbmVyLmZpbmQoJy5tZXNzYWdl cycpLnRleHQocmVzLmRhdGEuc3RhdHVzX21lc3NhZ2UpOworICAgICAgICAg ICAgICAgICAgaWYgKHJlcy5kYXRhLnN0YXR1c19tZXNzYWdlKSB7CisgICAg ICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlX21lc3NhZ2VzKHJlcy5kYXRh LnN0YXR1c19tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICAgIH0KIAogICAg ICAgICAgICAgICAgICAgLy8gRXhlY3V0aW9uIGNvbXBsZXRlZCBzbyBkaXNh YmxlIHRoZSBidXR0b25zIG90aGVyIHRoYW4gIkNvbnRpbnVlL1N0YXJ0IiBi dXR0b24gYmVjYXVzZSB1c2VyIGNhbiBzdGlsbAogICAgICAgICAgICAgICAg ICAgLy8gc3RhcnQgdGhlIHNhbWUgZXhlY3V0aW9uIGFnYWluLgpAQCAtNDQ4 LDEyICs0OTEsMjAgQEAgZGVmaW5lKAogICAgICAgICAgICAgICAgICAgc2Vs Zi5lbmFibGUoJ3N0ZXBfaW50bycsIGZhbHNlKTsKICAgICAgICAgICAgICAg ICAgIHNlbGYuZW5hYmxlKCd0b2dnbGVfYnJlYWtwb2ludCcsIGZhbHNlKTsK ICAgICAgICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCdjbGVhcl9hbGxfYnJl YWtwb2ludHMnLCBmYWxzZSk7CisgICAgICAgICAgICAgICAgICBzZWxmLmVu YWJsZSgnY29udGludWUnLCB0cnVlKTsKKworICAgICAgICAgICAgICAgICAg Ly8gU3RvcCBmdXJ0aGVyIHBvb2xpbmcKKyAgICAgICAgICAgICAgICAgIHBn VG9vbHMuRGlyZWN0RGVidWcuaXNfcG9sbGluZ19yZXF1aXJlZCA9IGZhbHNl OwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAocmVzLmRhdGEuc3RhdHVz ID09PSAnQnVzeScpIHsKICAgICAgICAgICAgICAgLy8gSWYgc3RhdHVzIGlz IEJ1c3kgdGhlbiBwb2xsIHRoZSByZXN1bHQgYnkgcmVjdXJzaXZlIGNhbGwg dG8gdGhlIHBvbGwgZnVuY3Rpb24KLSAgICAgICAgICAgICAgLy9zZWxmLnBv bGxfZW5kX2V4ZWN1dGlvbl9yZXN1bHQodHJhbnNfaWQpOworICAgICAgICAg ICAgICBzZWxmLnBvbGxfZW5kX2V4ZWN1dGlvbl9yZXN1bHQodHJhbnNfaWQp OworICAgICAgICAgICAgICAvLyBVcGRhdGUgdGhlIG1lc3NhZ2UgdGFiIG9m IHRoZSBkZWJ1Z2dlcgorICAgICAgICAgICAgICBpZiAocmVzLmRhdGEuc3Rh dHVzX21lc3NhZ2UpIHsKKyAgICAgICAgICAgICAgICBzZWxmLnVwZGF0ZV9t ZXNzYWdlcyhyZXMuZGF0YS5zdGF0dXNfbWVzc2FnZSk7CisgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYgKHJl cy5kYXRhLnN0YXR1cyA9PT0gJ05vdENvbm5lY3RlZCcpIHsKICAgICAgICAg ICAgICAgQWxlcnRpZnkuYWxlcnQoCkBAIC00NzMsNyArNTI0LDExIEBAIGRl ZmluZSgKICAgICAgICAgICAgICAgICBmdW5jdGlvbigpIHsgfQogICAgICAg ICAgICAgICApOwogCi0gICAgICAgICAgICAgIHBnVG9vbHMuRGlyZWN0RGVi dWcubWVzc2FnZXNfcGFuZWwuJGNvbnRhaW5lci5maW5kKCcubWVzc2FnZXMn KS50ZXh0KHJlcy5kYXRhLnN0YXR1c19tZXNzYWdlKTsKKyAgICAgICAgICAg ICAgLy8gVXBkYXRlIHRoZSBtZXNzYWdlIHRhYiBvZiB0aGUgZGVidWdnZXIK KyAgICAgICAgICAgICAgaWYgKHJlcy5kYXRhLnN0YXR1c19tZXNzYWdlKSB7 CisgICAgICAgICAgICAgICAgc2VsZi51cGRhdGVfbWVzc2FnZXMocmVzLmRh dGEuc3RhdHVzX21lc3NhZ2UpOworICAgICAgICAgICAgICB9CisKICAgICAg ICAgICAgICAgcGdUb29scy5EaXJlY3REZWJ1Zy5tZXNzYWdlc19wYW5lbC5m b2N1cygpOwogCiAgICAgICAgICAgICAgIC8vIEV4ZWN1dGlvbiBjb21wbGV0 ZWQgc28gZGlzYWJsZSB0aGUgYnV0dG9ucyBvdGhlciB0aGFuICJDb250aW51 ZS9TdGFydCIgYnV0dG9uIGJlY2F1c2UgdXNlciBjYW4gc3RpbGwKQEAgLTQ4 Myw2ICs1MzgsMTAgQEAgZGVmaW5lKAogICAgICAgICAgICAgICBzZWxmLmVu YWJsZSgnc3RlcF9pbnRvJywgZmFsc2UpOwogICAgICAgICAgICAgICBzZWxm LmVuYWJsZSgndG9nZ2xlX2JyZWFrcG9pbnQnLCBmYWxzZSk7CiAgICAgICAg ICAgICAgIHNlbGYuZW5hYmxlKCdjbGVhcl9hbGxfYnJlYWtwb2ludHMnLCBm YWxzZSk7CisgICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCdjb250aW51ZScs IHRydWUpOworCisgICAgICAgICAgICAgIC8vIFN0b3AgZnVydGhlciBwb29s aW5nCisgICAgICAgICAgICAgIHBnVG9vbHMuRGlyZWN0RGVidWcuaXNfcG9s bGluZ19yZXF1aXJlZCA9IGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAg ICAgIH0sCiAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGUpIHsKQEAgLTQ5 OCw3ICs1NTcsMTcgQEAgZGVmaW5lKAogCiAgICAgUmVzdGFydDogZnVuY3Rp b24odHJhbnNfaWQpIHsKIAotICAgICAgdmFyIGJhc2VVcmwgPSAie3sgdXJs X2ZvcignZGVidWdnZXIuaW5kZXgnKSB9fSIgKyAicmVzdGFydC8iICsgdHJh bnNfaWQ7CisgICAgICB2YXIgc2VsZiA9IHRoaXMsCisgICAgICAgIGJhc2VV cmwgPSAie3sgdXJsX2ZvcignZGVidWdnZXIuaW5kZXgnKSB9fSIgKyAicmVz dGFydC8iICsgdHJhbnNfaWQ7CisgICAgICBzZWxmLmVuYWJsZSgnc3RvcCcs IGZhbHNlKTsKKyAgICAgIHNlbGYuZW5hYmxlKCdzdGVwX292ZXInLCBmYWxz ZSk7CisgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9pbnRvJywgZmFsc2UpOwor ICAgICAgc2VsZi5lbmFibGUoJ3RvZ2dsZV9icmVha3BvaW50JywgZmFsc2Up OworICAgICAgc2VsZi5lbmFibGUoJ2NsZWFyX2FsbF9icmVha3BvaW50cycs IGZhbHNlKTsKKyAgICAgIHNlbGYuZW5hYmxlKCdjb250aW51ZScsIGZhbHNl KTsKKworICAgICAgLy8gQ2xlYXIgbXNnIHRhYgorICAgICAgcGdUb29scy5E aXJlY3REZWJ1Zy5tZXNzYWdlc19wYW5lbC4kY29udGFpbmVyLmZpbmQoJy5t ZXNzYWdlcycpLmh0bWwoJycpOwogCiAgICAgICAkLmFqYXgoewogICAgICAg ICB1cmw6IGJhc2VVcmwsCkBAIC01MDYsNiArNTc1LDE1IEBAIGRlZmluZSgK ICAgICAgICAgICAvLyBSZXN0YXJ0IHRoZSBzYW1lIGZ1bmN0aW9uIGRlYnVn Z2luZyB3aXRoIHByZXZpb3VzIGFyZ3VtZW50cwogICAgICAgICAgIHZhciBy ZXN0YXJ0X2RiZyA9IHJlcy5kYXRhLnJlc3RhcnRfZGVidWcgPyAxIDogMDsK IAorICAgICAgICAgIC8vIFN0YXJ0IHBvb2xpbmcgYWdhaW4KKyAgICAgICAg ICBwZ1Rvb2xzLkRpcmVjdERlYnVnLmlzX3BvbGxpbmdfcmVxdWlyZWQgPSB0 cnVlOworICAgICAgICAgIHNlbGYucG9sbF9lbmRfZXhlY3V0aW9uX3Jlc3Vs dCh0cmFuc19pZCk7CisgICAgICAgICAgc2VsZi5wb2xsX3Jlc3VsdCh0cmFu c19pZCk7CisKKyAgICAgICAgICBpZiAocmVzdGFydF9kYmcpIHsKKyAgICAg ICAgICAgIHBnVG9vbHMuRGlyZWN0RGVidWcuZGVidWdfcmVzdGFydGVkID0g dHJ1ZTsKKyAgICAgICAgICB9CisKICAgICAgICAgICAvKgogICAgICAgICAg ICBOZWVkIHRvIGNoZWNrIGlmIHJlc3RhcnQgZGVidWdnaW5nIHJlYWxseSBy ZXF1aXJlIHRvIG9wZW4gdGhlIGlucHV0IGRpYWxvZyA/CiAgICAgICAgICAg IElmIHllcyB0aGVuIHdlIHdpbGwgZ2V0IHRoZSBwcmV2aW91cyBhcmd1bWVu dHMgZnJvbSBkYXRhYmFzZSBhbmQgcG9wdWxhdGUgdGhlIGlucHV0IGRpYWxv ZwpAQCAtNTIyLDYgKzYwMCw5IEBAIGRlZmluZSgKICAgICAgICAgICAgICAg dXJsOiBiYXNlVXJsLAogICAgICAgICAgICAgICBtZXRob2Q6ICdHRVQnLAog ICAgICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHsKKyAgICAg ICAgICAgICAgICBpZiAocGdUb29scy5EaXJlY3REZWJ1Zy5kZWJ1Z190eXBl KSB7CisgICAgICAgICAgICAgICAgICBzZWxmLnBvbGxfZW5kX2V4ZWN1dGlv bl9yZXN1bHQodHJhbnNfaWQpOworICAgICAgICAgICAgICAgIH0KICAgICAg ICAgICAgICAgfSwKICAgICAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGUp IHsKICAgICAgICAgICAgICAgICBBbGVydGlmeS5hbGVydCgKQEAgLTU0Niw2 ICs2MjcsMTIgQEAgZGVmaW5lKAogICAgIC8vIENvbnRpbnVlIHRoZSBleGVj dXRpb24gdW50aWwgdGhlIG5leHQgYnJlYWtwb2ludAogICAgIENvbnRpbnVl OiBmdW5jdGlvbih0cmFuc19pZCkgewogICAgICAgdmFyIHNlbGYgPSB0aGlz OworICAgICAgc2VsZi5lbmFibGUoJ3N0b3AnLCBmYWxzZSk7CisgICAgICBz ZWxmLmVuYWJsZSgnc3RlcF9vdmVyJywgZmFsc2UpOworICAgICAgc2VsZi5l bmFibGUoJ3N0ZXBfaW50bycsIGZhbHNlKTsKKyAgICAgIHNlbGYuZW5hYmxl KCd0b2dnbGVfYnJlYWtwb2ludCcsIGZhbHNlKTsKKyAgICAgIHNlbGYuZW5h YmxlKCdjbGVhcl9hbGxfYnJlYWtwb2ludHMnLCBmYWxzZSk7CisgICAgICBz ZWxmLmVuYWJsZSgnY29udGludWUnLCBmYWxzZSk7CiAKICAgICAgIC8vQ2hl Y2sgZmlyc3QgaWYgcHJldmlvdXMgZXhlY3V0aW9uIHdhcyBjb21wbGV0ZWQg b3Igbm90CiAgICAgICBpZiAocGdUb29scy5EaXJlY3REZWJ1Zy5kaXJlY3Rf ZXhlY3V0aW9uX2NvbXBsZXRlZCAmJgpAQCAtNTYyLDkgKzY0OSw2IEBAIGRl ZmluZSgKICAgICAgICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHsKICAg ICAgICAgICAgIGlmIChyZXMuZGF0YS5zdGF0dXMpIHsKICAgICAgICAgICAg ICAgc2VsZi5wb2xsX3Jlc3VsdCh0cmFuc19pZCk7Ci0gICAgICAgICAgICAg IGlmIChwZ1Rvb2xzLkRpcmVjdERlYnVnLmRlYnVnX3R5cGUpIHsKLSAgICAg ICAgICAgICAgICBzZWxmLnBvbGxfZW5kX2V4ZWN1dGlvbl9yZXN1bHQodHJh bnNfaWQpOwotICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAg ICAgICAgICBlbHNlIHsKICAgICAgICAgICAgICAgQWxlcnRpZnkuYWxlcnQo CkBAIC01ODMsNiArNjY3LDEyIEBAIGRlZmluZSgKIAogICAgICAgU3RlcF9v dmVyOiBmdW5jdGlvbih0cmFuc19pZCkgewogICAgICAgICB2YXIgc2VsZiA9 IHRoaXM7CisgICAgICAgIHNlbGYuZW5hYmxlKCdzdG9wJywgZmFsc2UpOwor ICAgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9vdmVyJywgZmFsc2UpOworICAg ICAgICBzZWxmLmVuYWJsZSgnc3RlcF9pbnRvJywgZmFsc2UpOworICAgICAg ICBzZWxmLmVuYWJsZSgndG9nZ2xlX2JyZWFrcG9pbnQnLCBmYWxzZSk7Cisg ICAgICAgIHNlbGYuZW5hYmxlKCdjbGVhcl9hbGxfYnJlYWtwb2ludHMnLCBm YWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdjb250aW51ZScsIGZhbHNl KTsKIAogICAgICAgICAvLyBNYWtlIGFqYXggY2FsbCB0byBsaXN0ZW4gdGhl IGRhdGFiYXNlIG1lc3NhZ2UKICAgICAgICAgdmFyIGJhc2VVcmwgPSAie3sg dXJsX2ZvcignZGVidWdnZXIuaW5kZXgnKSB9fSIgKyAiZXhlY3V0ZV9xdWVy eS8iICsgdHJhbnNfaWQgKyAiLyIgKyAic3RlcF9vdmVyIjsKQEAgLTU5Myw5 ICs2ODMsNiBAQCBkZWZpbmUoCiAgICAgICAgICAgc3VjY2VzczogZnVuY3Rp b24ocmVzKSB7CiAgICAgICAgICAgICBpZiAocmVzLmRhdGEuc3RhdHVzKSB7 CiAgICAgICAgICAgICAgIHNlbGYucG9sbF9yZXN1bHQodHJhbnNfaWQpOwot ICAgICAgICAgICAgICBpZiAocGdUb29scy5EaXJlY3REZWJ1Zy5kZWJ1Z190 eXBlKSB7Ci0gICAgICAgICAgICAgICAgc2VsZi5wb2xsX2VuZF9leGVjdXRp b25fcmVzdWx0KHRyYW5zX2lkKTsKLSAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgfQogICAgICAgICAgICAgZWxzZSB7CiAgICAgICAgICAgICAgIEFs ZXJ0aWZ5LmFsZXJ0KApAQCAtNjEzLDYgKzcwMCwxMiBAQCBkZWZpbmUoCiAK ICAgICAgIFN0ZXBfaW50bzogZnVuY3Rpb24odHJhbnNfaWQpIHsKICAgICAg ICAgdmFyIHNlbGYgPSB0aGlzOworICAgICAgICBzZWxmLmVuYWJsZSgnc3Rv cCcsIGZhbHNlKTsKKyAgICAgICAgc2VsZi5lbmFibGUoJ3N0ZXBfb3Zlcics IGZhbHNlKTsKKyAgICAgICAgc2VsZi5lbmFibGUoJ3N0ZXBfaW50bycsIGZh bHNlKTsKKyAgICAgICAgc2VsZi5lbmFibGUoJ3RvZ2dsZV9icmVha3BvaW50 JywgZmFsc2UpOworICAgICAgICBzZWxmLmVuYWJsZSgnY2xlYXJfYWxsX2Jy ZWFrcG9pbnRzJywgZmFsc2UpOworICAgICAgICBzZWxmLmVuYWJsZSgnY29u dGludWUnLCBmYWxzZSk7CiAKICAgICAgICAgLy8gTWFrZSBhamF4IGNhbGwg dG8gbGlzdGVuIHRoZSBkYXRhYmFzZSBtZXNzYWdlCiAgICAgICAgIHZhciBi YXNlVXJsID0gInt7IHVybF9mb3IoJ2RlYnVnZ2VyLmluZGV4JykgfX0iICsg ImV4ZWN1dGVfcXVlcnkvIiArIHRyYW5zX2lkICsgIi8iICsgInN0ZXBfaW50 byI7CkBAIC02MjMsOSArNzE2LDYgQEAgZGVmaW5lKAogICAgICAgICAgIHN1 Y2Nlc3M6IGZ1bmN0aW9uKHJlcykgewogICAgICAgICAgICAgaWYgKHJlcy5k YXRhLnN0YXR1cykgewogICAgICAgICAgICAgICBzZWxmLnBvbGxfcmVzdWx0 KHRyYW5zX2lkKTsKLSAgICAgICAgICAgICAgaWYgKHBnVG9vbHMuRGlyZWN0 RGVidWcuZGVidWdfdHlwZSkgewotICAgICAgICAgICAgICAgIHNlbGYucG9s bF9lbmRfZXhlY3V0aW9uX3Jlc3VsdCh0cmFuc19pZCk7Ci0gICAgICAgICAg ICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgewogICAg ICAgICAgICAgICBBbGVydGlmeS5hbGVydCgKQEAgLTY0Myw2ICs3MzMsMTIg QEAgZGVmaW5lKAogCiAgICAgICBTdG9wOiBmdW5jdGlvbih0cmFuc19pZCkg ewogICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgICAgIHNlbGYuZW5h YmxlKCdzdG9wJywgZmFsc2UpOworICAgICAgICBzZWxmLmVuYWJsZSgnc3Rl cF9vdmVyJywgZmFsc2UpOworICAgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9p bnRvJywgZmFsc2UpOworICAgICAgICBzZWxmLmVuYWJsZSgndG9nZ2xlX2Jy ZWFrcG9pbnQnLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdjbGVh cl9hbGxfYnJlYWtwb2ludHMnLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5h YmxlKCdjb250aW51ZScsIHRydWUpOwogCiAgICAgICAgIC8vIE1ha2UgYWph eCBjYWxsIHRvIGxpc3RlbiB0aGUgZGF0YWJhc2UgbWVzc2FnZQogICAgICAg ICB2YXIgYmFzZVVybCA9ICJ7eyB1cmxfZm9yKCdkZWJ1Z2dlci5pbmRleCcp IH19IiArICJleGVjdXRlX3F1ZXJ5LyIgKyB0cmFuc19pZCArICIvIiArICJh Ym9ydF90YXJnZXQiOwpAQCAtNjY1LDEyICs3NjEsOCBAQCBkZWZpbmUoCiAg ICAgICAgICAgICAgICk7CiAKICAgICAgICAgICAgICAgLy9EaXNhYmxlIHRo ZSBidXR0b25zIG90aGVyIHRoYW4gY29udGludWUgYnV0dG9uLiBJZiB1c2Vy IHdhbnRzIHRvIGFnYWluIHRoZW4gaXQgc2hvdWxkIGFsbG93IHRvIGRlYnVn IGFnYWluLi4uCi0gICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCdzdG9wJywg ZmFsc2UpOwotICAgICAgICAgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9vdmVy JywgZmFsc2UpOwotICAgICAgICAgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9p bnRvJywgZmFsc2UpOwotICAgICAgICAgICAgICBzZWxmLmVuYWJsZSgnY29u dGludWUnLCBmYWxzZSk7Ci0gICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCd0 b2dnbGVfYnJlYWtwb2ludCcsIGZhbHNlKTsKLSAgICAgICAgICAgICAgc2Vs Zi5lbmFibGUoJ2NsZWFyX2FsbF9icmVha3BvaW50cycsIGZhbHNlKTsKKyAg ICAgICAgICAgICAgc2VsZi5lbmFibGUoJ2NvbnRpbnVlJywgdHJ1ZSk7CisK ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYgKHJlcy5kYXRh LnN0YXR1cyA9PT0gJ05vdENvbm5lY3RlZCcpIHsKICAgICAgICAgICAgICAg QWxlcnRpZnkuYWxlcnQoCkBAIC02ODgsNiArNzgwLDEzIEBAIGRlZmluZSgK IAogICAgICAgdG9nZ2xlX2JyZWFrcG9pbnQ6IGZ1bmN0aW9uKHRyYW5zX2lk KSB7CiAgICAgICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAgICAgc2VsZi5l bmFibGUoJ3N0b3AnLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdz dGVwX292ZXInLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdzdGVw X2ludG8nLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCd0b2dnbGVf YnJlYWtwb2ludCcsIGZhbHNlKTsKKyAgICAgICAgc2VsZi5lbmFibGUoJ2Ns ZWFyX2FsbF9icmVha3BvaW50cycsIGZhbHNlKTsKKyAgICAgICAgc2VsZi5l bmFibGUoJ2NvbnRpbnVlJywgZmFsc2UpOworCiAKICAgICAgICAgdmFyIGlu Zm8gPSBwZ1Rvb2xzLkRpcmVjdERlYnVnLmVkaXRvci5saW5lSW5mbyhzZWxm LmFjdGl2ZV9saW5lX25vKTsKICAgICAgICAgdmFyIGJhc2VVcmwgPSAnJzsK QEAgLTcyMCw2ICs4MTksMTIgQEAgZGVmaW5lKAogICAgICAgICAgICAgICAg ICAgICByZXR1cm4gbWFya2VyOwogICAgICAgICAgICAgICAgIH0oKSk7CiAg ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgc2VsZi5lbmFibGUoJ3N0 b3AnLCB0cnVlKTsKKyAgICAgICAgICAgICAgc2VsZi5lbmFibGUoJ3N0ZXBf b3ZlcicsIHRydWUpOworICAgICAgICAgICAgICBzZWxmLmVuYWJsZSgnc3Rl cF9pbnRvJywgdHJ1ZSk7CisgICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCd0 b2dnbGVfYnJlYWtwb2ludCcsIHRydWUpOworICAgICAgICAgICAgICBzZWxm LmVuYWJsZSgnY2xlYXJfYWxsX2JyZWFrcG9pbnRzJywgdHJ1ZSk7CisgICAg ICAgICAgICAgIHNlbGYuZW5hYmxlKCdjb250aW51ZScsIHRydWUpOwogICAg ICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAocmVzLmRhdGEuc3Rh dHVzID09PSAnTm90Q29ubmVjdGVkJykgewogICAgICAgICAgICAgICBBbGVy dGlmeS5hbGVydCgKQEAgLTczNiwxNCArODQxLDIwIEBAIGRlZmluZSgKICAg ICAgIH0sCiAKICAgICAgIGNsZWFyX2FsbF9icmVha3BvaW50OiBmdW5jdGlv bih0cmFuc19pZCkgewotICAgICAgICB2YXIgc2VsZiA9IHRoaXM7Ci0KLSAg ICAgICAgdmFyIGJyX2xpc3QgPSBzZWxmLkdldEJyZWFrcG9pbnRJbmZvcm1h dGlvbih0cmFuc19pZCk7CisgICAgICAgIHZhciBzZWxmID0gdGhpcywKKyAg ICAgICAgICBicl9saXN0ID0gc2VsZi5HZXRCcmVha3BvaW50SW5mb3JtYXRp b24odHJhbnNfaWQpOwogCiAgICAgICAgIC8vIElmIHRoZXJlIGlzIG5vIGJy ZWFrIHBvaW50IHRvIGNsZWFyIHRoZW4gd2Ugc2hvdWxkIHJldHVybiBmcm9t IGhlcmUuCiAgICAgICAgIGlmICgoYnJfbGlzdC5sZW5ndGggPT0gMSkgJiYg KGJyX2xpc3RbMF0ubGluZW51bWJlciA9PSAtMSkpCiAgICAgICAgICAgcmV0 dXJuOwogCisgICAgICAgIHNlbGYuZW5hYmxlKCdzdG9wJywgZmFsc2UpOwor ICAgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9vdmVyJywgZmFsc2UpOworICAg ICAgICBzZWxmLmVuYWJsZSgnc3RlcF9pbnRvJywgZmFsc2UpOworICAgICAg ICBzZWxmLmVuYWJsZSgndG9nZ2xlX2JyZWFrcG9pbnQnLCBmYWxzZSk7Cisg ICAgICAgIHNlbGYuZW5hYmxlKCdjbGVhcl9hbGxfYnJlYWtwb2ludHMnLCBm YWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdjb250aW51ZScsIGZhbHNl KTsKKwogICAgICAgICB2YXIgYnJlYWtwb2ludF9saXN0ID0gbmV3IEFycmF5 KCk7CiAKICAgICAgICAgZm9yIChpID0gMDsgaSA8IGJyX2xpc3QubGVuZ3Ro OyBpKyspIHsKQEAgLTc3MSw2ICs4ODIsMTIgQEAgZGVmaW5lKAogICAgICAg ICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfQor ICAgICAgICAgIHNlbGYuZW5hYmxlKCdzdG9wJywgdHJ1ZSk7CisgICAgICAg ICAgc2VsZi5lbmFibGUoJ3N0ZXBfb3ZlcicsIHRydWUpOworICAgICAgICAg IHNlbGYuZW5hYmxlKCdzdGVwX2ludG8nLCB0cnVlKTsKKyAgICAgICAgICBz ZWxmLmVuYWJsZSgndG9nZ2xlX2JyZWFrcG9pbnQnLCB0cnVlKTsKKyAgICAg ICAgICBzZWxmLmVuYWJsZSgnY2xlYXJfYWxsX2JyZWFrcG9pbnRzJywgdHJ1 ZSk7CisgICAgICAgICAgc2VsZi5lbmFibGUoJ2NvbnRpbnVlJywgdHJ1ZSk7 CiAgICAgICAgICAgfSwKICAgICAgICAgICBlcnJvcjogZnVuY3Rpb24oZSkg ewogICAgICAgICAgICAgQWxlcnRpZnkuYWxlcnQoCkBAIC0xMjA0LDYgKzEz MjEsOCBAQCBkZWZpbmUoCiAgICAgICB0aGlzLmZpcnN0X3RpbWVfaW5kaXJl Y3RfZGVidWcgPSBmYWxzZTsKICAgICAgIHRoaXMuZGlyZWN0X2V4ZWN1dGlv bl9jb21wbGV0ZWQgPSBmYWxzZTsKICAgICAgIHRoaXMucG9sbGluZ190aW1l b3V0X2lkbGUgPSBmYWxzZTsKKyAgICAgIHRoaXMuZGVidWdfcmVzdGFydGVk ID0gZmFsc2U7CisgICAgICB0aGlzLmlzX3BvbGxpbmdfcmVxdWlyZWQgPSB0 cnVlOyAvLyBGbGFnIHRvIHN0b3AgdW53YW50ZWQgYWpheCBjYWxscwogCiAg ICAgICB2YXIgZG9ja2VyID0gdGhpcy5kb2NrZXIgPSBuZXcgd2NEb2NrZXIo CiAgICAgICAgICAgJyNjb250YWluZXInLCB7Cg== --001a1146e82c4c066c054105445c 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 --001a1146e82c4c066c054105445c--