Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bx8VL-00038q-Ey for pgadmin-hackers@arkaria.postgresql.org; Thu, 20 Oct 2016 08:15:11 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bx8VK-0007AJ-Ph for pgadmin-hackers@arkaria.postgresql.org; Thu, 20 Oct 2016 08:15:10 +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 1bx8V6-0006tt-DG for pgadmin-hackers@postgresql.org; Thu, 20 Oct 2016 08:14:56 +0000 Received: from mail-qk0-x22a.google.com ([2607:f8b0:400d:c09::22a]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bx8Uz-0004Ls-BU for pgadmin-hackers@postgresql.org; Thu, 20 Oct 2016 08:14:55 +0000 Received: by mail-qk0-x22a.google.com with SMTP id n189so78998633qke.0 for ; Thu, 20 Oct 2016 01:14:49 -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=ipP+WK9deNzEGxZSbusDLO/TSvwdTFU7AjpWmYzyiQQ=; b=atOE7asrdWdjXWgykigU3zrPNzZ6GSNi3LwaDiko/jsqXlbclHndCtql4At5rldfgr +uaPr2Fu7Vt1SdPWD3lfFMgm+mYenU5LqsMs30hhypwm1tH9S/tGWamSrbkBTIg8yF/z EFSAiD6Iha+csbhShxzyBwuVGLT5hcjALQzVJngByMIZ+n1lPUTiiFJP/jD75H2OLzbD UDhy+86kxm9thK42sHkJ/H1CoucEQ8dlR0vkU/M8Yr/qJhPKtfcnoxStbSWXxWtcGZgb aR7VCpVN6+EPh/EmfW9xGDdUCuHTqOC8jFbn2AFjtMbZSZOY856WIbWSINGjjpD/mASr Q0Jw== 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=ipP+WK9deNzEGxZSbusDLO/TSvwdTFU7AjpWmYzyiQQ=; b=RObcLbKUU3WeWOyYAO6IG3cV72MvW2sGEfvMcHfD4lP8aNzSsPNTxJNiUsKEZFybLP KavEnbNIp+j5RT3u7Tmq9eYrsimsP1gK2J8dtLSiTyFSXCCHEAJVHFlG2iL+z9RLhwww afNhmVM7ASQcoXDo0i7OdsQ5zrNDzxfInMjUcUeA2HRSAfMvW2TWHtmYEg0k0Y+yeBdj RzqeIuzpVIM4qdBvDFO85JvFmiai2fjkGRLF7xUnWfptAPjWSEsH2GY7H9NDr5wjsF5N wHnY+tfotRQAdvI38+8sLJb6pcCAGm1BnkqRquESxItO8ajqn9vv1EZCMStBpxnV2l6c Vp/A== X-Gm-Message-State: AA6/9RnWNLTY0BrsAStYhhnwEggjcJv4NnY2ypX4Bm6XQurXQ+/Rrq9IPdKPNjz69yJkOm1gwuTORLeDhH5x8BKO X-Received: by 10.55.119.132 with SMTP id s126mr9737007qkc.38.1476951288170; Thu, 20 Oct 2016 01:14:48 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.130.133 with HTTP; Thu, 20 Oct 2016 01:14:27 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Thu, 20 Oct 2016 13:44:27 +0530 Message-ID: Subject: Re: PATCH: To fix the issue in Debugger module (pgAdmin4) To: Dave Page Cc: pgadmin-hackers Content-Type: multipart/mixed; boundary=94eb2c0665c6e267cb053f478440 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 --94eb2c0665c6e267cb053f478440 Content-Type: multipart/alternative; boundary=94eb2c0665c6e267c7053f47843e --94eb2c0665c6e267c7053f47843e Content-Type: text/plain; charset=UTF-8 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 > --94eb2c0665c6e267c7053f47843e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

PFA updated patch for the same= .

Issue:
We were not properly fet= ching result from server in case of direct debugging when we restart debugg= ing of same object.

Thanks to Neel for helping in = this issue.

Please review.

--Regards,
Murtuza Zabuawala
EnterpriseDB:=C2= =A0http://www.enterprisedb.com=
The Enterprise PostgreSQL Company


On Fri, Oct 7, 2016 at 5:32 PM, Dave Page <= dpage@pgadmin.org> wrote:
O= n Fri, Oct 7, 2016 at 12:53 PM, Dave Page <dpage@pgadmin.org> wrote:
> On Fri, Oct 7, 2016 at 12:42 PM, Murtuza Zabuawala
> <murtuza.zabu= awala@enterprisedb.com> wrote:
>> Hi Dave,
>>
>> I faced the same issue when I initially tried that, but then as pe= r Neel
>> suggestion I changed SELECT pg_sleep() to PERFORM pg_sleep() in fu= nction.
>> 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:
>
> =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 data
> HINT:=C2=A0 If you want to discard the results of a SELECT, use PERFOR= M 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 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 a= ny 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

--94eb2c0665c6e267c7053f47843e-- --94eb2c0665c6e267cb053f478440 Content-Type: application/octet-stream; name="RM_1227_v7.patch" Content-Disposition: attachment; filename="RM_1227_v7.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iui2lkm60 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVnZ2VyL19faW5p dF9fLnB5IGIvd2ViL3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18u cHkKaW5kZXggN2Q4M2VjYi4uY2UzNmM2ZiAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKKysrIGIvd2ViL3Bn YWRtaW4vdG9vbHMvZGVidWdnZXIvX19pbml0X18ucHkKQEAgLTEzNTQsOSAr MTM1NCwxOCBAQCBkZWYgcG9sbF9lbmRfZXhlY3V0aW9uX3Jlc3VsdCh0cmFu c19pZCk6CiAKICAgICBpZiBjb25uLmNvbm5lY3RlZCgpOgogICAgICAgICBz dGF0dXNtc2cgPSBjb25uLnN0YXR1c19tZXNzYWdlKCkKKyAgICAgICAgaWYg c3RhdHVzbXNnIGFuZCBzdGF0dXNtc2cgPT0gJ1NFTEVDVCAxJzoKKyAgICAg ICAgICAgIHN0YXR1c21zZyA9ICcnCiAgICAgICAgIHN0YXR1cywgcmVzdWx0 LCBjb2xfaW5mbyA9IGNvbm4ucG9sbCgpCi0gICAgICAgIGlmIHN0YXR1cyA9 PSBBU1lOQ19PSyBhbmQgc2Vzc2lvblsnZnVuY3Rpb25EYXRhJ11bc3RyKHRy YW5zX2lkKV1bJ2xhbmd1YWdlJ10gPT0gJ2VkYnNwbCc6CisgICAgICAgIGlm IHN0YXR1cyA9PSBBU1lOQ19PSyBhbmQgXAorICAgICAgICAgICAgICAgIG5v dCBzZXNzaW9uWydmdW5jdGlvbkRhdGEnXVtzdHIodHJhbnNfaWQpXVsnaXNf ZnVuYyddIGFuZCBcCisgICAgICAgICAgICAgICAgc2Vzc2lvblsnZnVuY3Rp b25EYXRhJ11bc3RyKHRyYW5zX2lkKV1bJ2xhbmd1YWdlJ10gPT0gJ2VkYnNw bCc6CiAgICAgICAgICAgICBzdGF0dXMgPSAnU3VjY2VzcycKKyAgICAgICAg ICAgIGFkZGl0aW9uYWxfbXNncyA9IGNvbm4ubWVzc2FnZXMoKQorICAgICAg ICAgICAgaWYgbGVuKGFkZGl0aW9uYWxfbXNncykgPiAwOgorICAgICAgICAg ICAgICAgIGFkZGl0aW9uYWxfbXNncyA9IFttc2cuc3RyaXAoIlxuIikgZm9y IG1zZyBpbiBhZGRpdGlvbmFsX21zZ3NdCisgICAgICAgICAgICAgICAgc3Rh dHVzbXNnID0gIjxicj4iLmpvaW4oYWRkaXRpb25hbF9tc2dzKSArICI8YnI+ IiArIFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdGF0dXNtc2cg aWYgc3RhdHVzbXNnIGlzIG5vdCBOb25lIGVsc2UgJycKICAgICAgICAgICAg IHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2Uoc3VjY2Vzcz0xLCBpbmZvPWdl dHRleHQoIkV4ZWN1dGlvbiBDb21wbGV0ZWQuIiksCiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGE9eydzdGF0dXMnOiBzdGF0 dXMsICdzdGF0dXNfbWVzc2FnZSc6IHN0YXR1c21zZ30pCiAgICAgICAgIGlm IHJlc3VsdDoKQEAgLTEzNjYsNiArMTM3NSwxMiBAQCBkZWYgcG9sbF9lbmRf ZXhlY3V0aW9uX3Jlc3VsdCh0cmFuc19pZCk6CiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhPXsnc3RhdHVzJzogc3Rh dHVzLCAnc3RhdHVzX21lc3NhZ2UnOiByZXN1bHR9KQogICAgICAgICAgICAg ZWxzZToKICAgICAgICAgICAgICAgICBzdGF0dXMgPSAnU3VjY2VzcycKKyAg ICAgICAgICAgICAgICBhZGRpdGlvbmFsX21zZ3MgPSBjb25uLm1lc3NhZ2Vz KCkKKyAgICAgICAgICAgICAgICBpZiBsZW4oYWRkaXRpb25hbF9tc2dzKSA+ IDA6CisgICAgICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxfbXNncyA9IFtt c2cuc3RyaXAoIlxuIikgZm9yIG1zZyBpbiBhZGRpdGlvbmFsX21zZ3NdCisg ICAgICAgICAgICAgICAgICAgIHN0YXR1c21zZyA9ICI8YnI+Ii5qb2luKGFk ZGl0aW9uYWxfbXNncykgKyAiPGJyPiIgKyBcCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0YXR1c21zZyBpZiBzdGF0dXNtc2cgaXMgbm90 IE5vbmUgZWxzZSAnJworCiAgICAgICAgICAgICAgICAgY29sdW1ucyA9IFtd CiAgICAgICAgICAgICAgICAgIyBDaGVjayBjb2x1bW4gaW5mbyBpcyBhdmFp bGFibGUgb3Igbm90CiAgICAgICAgICAgICAgICAgaWYgY29sX2luZm8gaXMg bm90IE5vbmUgYW5kIGxlbihjb2xfaW5mbykgPiAwOgpAQCAtMTM4MSw2ICsx Mzk2LDE0IEBAIGRlZiBwb2xsX2VuZF9leGVjdXRpb25fcmVzdWx0KHRyYW5z X2lkKToKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdjb2xfaW5mbyc6IGNvbHVtbnMsICdzdGF0dXNfbWVzc2Fn ZSc6IHN0YXR1c21zZ30pCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICBz dGF0dXMgPSAnQnVzeScKKyAgICAgICAgICAgIGFkZGl0aW9uYWxfbXNncyA9 IGNvbm4ubWVzc2FnZXMoKQorICAgICAgICAgICAgaWYgbGVuKGFkZGl0aW9u YWxfbXNncykgPiAwOgorICAgICAgICAgICAgICAgIGFkZGl0aW9uYWxfbXNn cyA9IFttc2cuc3RyaXAoIlxuIikgZm9yIG1zZyBpbiBhZGRpdGlvbmFsX21z Z3NdCisgICAgICAgICAgICAgICAgc3RhdHVzbXNnID0gIjxicj4iLmpvaW4o YWRkaXRpb25hbF9tc2dzKSArICI8YnI+IiArIFwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzdGF0dXNtc2cgaWYgc3RhdHVzbXNnIGlzIG5vdCBO b25lIGVsc2UgJycKKyAgICAgICAgICAgIHJldHVybiBtYWtlX2pzb25fcmVz cG9uc2UoZGF0YT17CisgICAgICAgICAgICAgICAgJ3N0YXR1cyc6IHN0YXR1 cywgJ3Jlc3VsdCc6IHJlc3VsdCwgJ3N0YXR1c19tZXNzYWdlJzogc3RhdHVz bXNnCisgICAgICAgICAgICB9KQogICAgIGVsc2U6CiAgICAgICAgIHN0YXR1 cyA9ICdOb3RDb25uZWN0ZWQnCiAgICAgICAgIHJlc3VsdCA9IGdldHRleHQo J05vdCBjb25uZWN0ZWQgdG8gc2VydmVyIG9yIGNvbm5lY3Rpb24gd2l0aCB0 aGUgc2VydmVyIGhhcyBiZWVuIGNsb3NlZC4nKQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvc3RhdGljL2Nzcy9kZWJ1Z2dlci5j c3MgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9zdGF0aWMvY3NzL2Rl YnVnZ2VyLmNzcwppbmRleCA0Mzg2Nzc1Li5lMTE3N2E4IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9zdGF0aWMvY3NzL2RlYnVn Z2VyLmNzcworKysgYi93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci9zdGF0 aWMvY3NzL2RlYnVnZ2VyLmNzcwpAQCAtNjcsMyArNjcsMTQgQEAKIC5Db2Rl TWlycm9yLWZvbGRndXR0ZXItZm9sZGVkOmFmdGVyIHsKICAgY29udGVudDog IlwyNUI2IjsKIH0KKworLyogVG8gbWFrZSBmb250IHNhbWUgYXMgUXVlcnkg dG9vbCBpbiBtZXNzYWdlcyB0YWIgKi8KKy5tZXNzYWdlcyB7CisgICAgd2hp dGUtc3BhY2U6IHByZS13cmFwOworICAgIGZvbnQtZmFtaWx5OiBtb25vc3Bh Y2U7CisgICAgcGFkZGluZy10b3A6IDVweDsKKyAgICBwYWRkaW5nLWxlZnQ6 IDEwcHg7CisgICAgb3ZlcmZsb3c6IGF1dG87CisgICAgaGVpZ2h0OiAxMDAl OworICAgIGZvbnQtc2l6ZTogMC45MjVlbTsKK30KXCBObyBuZXdsaW5lIGF0 IGVuZCBvZiBmaWxlCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi90b29scy9k ZWJ1Z2dlci90ZW1wbGF0ZXMvZGVidWdnZXIvanMvZGlyZWN0LmpzIGIvd2Vi L3BnYWRtaW4vdG9vbHMvZGVidWdnZXIvdGVtcGxhdGVzL2RlYnVnZ2VyL2pz L2RpcmVjdC5qcwppbmRleCA0NTI2MTdiLi42ZmY4OGM1IDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi90b29scy9kZWJ1Z2dlci90ZW1wbGF0ZXMvZGVidWdn ZXIvanMvZGlyZWN0LmpzCisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RlYnVn Z2VyL3RlbXBsYXRlcy9kZWJ1Z2dlci9qcy9kaXJlY3QuanMKQEAgLTE2NCw2 ICsxNjQsOSBAQCBkZWZpbmUoCiAKICAgICAgICAgICAgICAgLy8gQ2FsbCBm dW5jdGlvbiB0byBjcmVhdGUgYW5kIHVwZGF0ZSBsb2NhbCB2YXJpYWJsZXMg Li4uLgogICAgICAgICAgICAgICBzZWxmLkdldFN0YWNrSW5mb3JtYXRpb24o dHJhbnNfaWQpOworICAgICAgICAgICAgICBpZiAocGdUb29scy5EaXJlY3RE ZWJ1Zy5kZWJ1Z190eXBlKSB7CisgICAgICAgICAgICAgICAgc2VsZi5wb2xs X2VuZF9leGVjdXRpb25fcmVzdWx0KHRyYW5zX2lkKTsKKyAgICAgICAgICAg ICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAocmVz LmRhdGEuc3RhdHVzID09PSAnTm90Q29ubmVjdGVkJykgewogICAgICAgICAg ICAgICBBbGVydGlmeS5hbGVydCgKQEAgLTE5NCw2ICsxOTcsMTMgQEAgZGVm aW5lKAogICAgICAgICAgICAgICAvLyBDYWxsIGZ1bmN0aW9uIHRvIGNyZWF0 ZSBhbmQgdXBkYXRlIGxvY2FsIHZhcmlhYmxlcwogICAgICAgICAgICAgICBz ZWxmLkFkZExvY2FsVmFyaWFibGVzKHJlcy5kYXRhLnJlc3VsdCk7CiAgICAg ICAgICAgICAgIHNlbGYuQWRkUGFyYW1ldGVycyhyZXMuZGF0YS5yZXN1bHQp OworICAgICAgICAgICAgICAvLyBJZiBkZWJ1ZyBmdW5jdGlvbiBpcyByZXN0 YXJ0ZWQgdGhlbiBhZ2FpbiBzdGFydCBsaXN0ZW5lciB0byByZWFkIHRoZSB1 cGRhdGVkIG1lc3NhZ2VzLgorICAgICAgICAgICAgICBpZiAocGdUb29scy5E aXJlY3REZWJ1Zy5kZWJ1Z19yZXN0YXJ0ZWQpIHsKKyAgICAgICAgICAgICAg ICBpZiAocGdUb29scy5EaXJlY3REZWJ1Zy5kZWJ1Z190eXBlKSB7CisgICAg ICAgICAgICAgICAgICBzZWxmLnBvbGxfZW5kX2V4ZWN1dGlvbl9yZXN1bHQo dHJhbnNfaWQpOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAg ICBwZ1Rvb2xzLkRpcmVjdERlYnVnLmRlYnVnX3Jlc3RhcnRlZCA9IGZhbHNl OworICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAg ICBlbHNlIGlmIChyZXMuZGF0YS5zdGF0dXMgPT09ICdOb3RDb25uZWN0ZWQn KSB7CiAgICAgICAgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0KApAQCAtMzYzLDYg KzM3MywyMCBAQCBkZWZpbmUoCiAKICAgICB9LAogCisgICAgLy8gVGhpcyBm dW5jdGlvbiB3aWxsIHVwZGF0ZSBtZXNzYWdlcyB0YWIKKyAgICB1cGRhdGVf bWVzc2FnZXM6IGZ1bmN0aW9uKG1zZykgeworICAgICAgdmFyIG9sZF9tc2dz PScnLCBuZXdfbXNncz0nJzsKKyAgICAgICAgb2xkX21zZ3MgPSBwZ1Rvb2xz LkRpcmVjdERlYnVnLm1lc3NhZ2VzX3BhbmVsLiRjb250YWluZXIuZmluZCgn Lm1lc3NhZ2VzJykuaHRtbCgpOworICAgICAgICBpZihvbGRfbXNncykgewor ICAgICAgICAgIG5ld19tc2dzID0gKG9sZF9tc2dzICsgJ1xuJyArIG1zZykK KyAgICAgICAgICAgICAgICAgICAgICAgIC5yZXBsYWNlKC8oPzpcclxufFxy fFxuKS9nLCAnPGJyIC8+JykgLy8gTmV3bGluZXMgd2l0aCA8YnI+CisgICAg ICAgICAgICAgICAgICAgICAgICAucmVwbGFjZSgvKDxiclwgP1wvPz4pKy9n LCAnPGJyIC8+Jyk7IC8vIG11bHRpcGxlIDxicj4gd2l0aCBzaW5nbGUgPGJy PgorICAgICAgICB9IGVsc2UgeworICAgICAgICAgIG5ld19tc2dzID0gbXNn OworICAgICAgICB9CisgICAgICAgIHBnVG9vbHMuRGlyZWN0RGVidWcubWVz c2FnZXNfcGFuZWwuJGNvbnRhaW5lci5maW5kKCcubWVzc2FnZXMnKS5odG1s KG5ld19tc2dzKTsKKyAgICB9LAorCiAgICAgLyoKICAgICAgIEZvciB0aGUg ZGlyZWN0IGRlYnVnZ2luZywgd2UgbmVlZCB0byBjaGVjayB3ZWF0aGVyIHRo ZSBmdW5jdGlvbnMgZXhlY3V0aW9uIGlzIGNvbXBsZXRlZCBvciBub3QuIEFm dGVyIGNvbXBsZXRpb24KICAgICAgIG9mIHRoZSBkZWJ1Z2dpbmcsIHdlIHdp bGwgc3RvcCBwb2xsaW5nIHRoZSByZXN1bHQgIHVudGlsIG5ldyBleGVjdXRp b24gc3RhcnRzLgpAQCAtNDExLDcgKzQzNSw5IEBAIGRlZmluZSgKICAgICAg ICAgICAgICAgICApOwogCiAgICAgICAgICAgICAgICAgLy8gVXBkYXRlIHRo ZSBtZXNzYWdlIHRhYiBvZiB0aGUgZGVidWdnZXIKLSAgICAgICAgICAgICAg ICBwZ1Rvb2xzLkRpcmVjdERlYnVnLmRibXNNZXNzYWdlcy4kZWxlbS50ZXh0 KHJlcy5kYXRhLnN0YXR1c19tZXNzYWdlKTsKKyAgICAgICAgICAgICAgICBp ZiAocmVzLmRhdGEuc3RhdHVzX21lc3NhZ2UpIHsKKyAgICAgICAgICAgICAg ICAgIHNlbGYudXBkYXRlX21lc3NhZ2VzKHJlcy5kYXRhLnN0YXR1c19tZXNz YWdlKTsKKyAgICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICAv LyBFeGVjdXRpb24gY29tcGxldGVkIHNvIGRpc2FibGUgdGhlIGJ1dHRvbnMg b3RoZXIgdGhhbiAiQ29udGludWUvU3RhcnQiIGJ1dHRvbiBiZWNhdXNlIHVz ZXIgY2FuIHN0aWxsCiAgICAgICAgICAgICAgICAgLy8gc3RhcnQgdGhlIHNh bWUgZXhlY3V0aW9uIGFnYWluLgpAQCAtNDIwLDYgKzQ0Niw3IEBAIGRlZmlu ZSgKICAgICAgICAgICAgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9pbnRvJywg ZmFsc2UpOwogICAgICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCd0b2dnbGVf YnJlYWtwb2ludCcsIGZhbHNlKTsKICAgICAgICAgICAgICAgICBzZWxmLmVu YWJsZSgnY2xlYXJfYWxsX2JyZWFrcG9pbnRzJywgZmFsc2UpOworICAgICAg ICAgICAgICAgIHNlbGYuZW5hYmxlKCdjb250aW51ZScsIHRydWUpOwogICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAg ICAgICAgIC8vIENhbGwgZnVuY3Rpb24gdG8gY3JlYXRlIGFuZCB1cGRhdGUg bG9jYWwgdmFyaWFibGVzIC4uLi4KQEAgLTQzOSw3ICs0NjYsOSBAQCBkZWZp bmUoCiAgICAgICAgICAgICAgICAgICApOwogCiAgICAgICAgICAgICAgICAg ICAvLyBVcGRhdGUgdGhlIG1lc3NhZ2UgdGFiIG9mIHRoZSBkZWJ1Z2dlcgot ICAgICAgICAgICAgICAgICAgcGdUb29scy5EaXJlY3REZWJ1Zy5tZXNzYWdl c19wYW5lbC4kY29udGFpbmVyLmZpbmQoJy5tZXNzYWdlcycpLnRleHQocmVz LmRhdGEuc3RhdHVzX21lc3NhZ2UpOworICAgICAgICAgICAgICAgICAgaWYg KHJlcy5kYXRhLnN0YXR1c19tZXNzYWdlKSB7CisgICAgICAgICAgICAgICAg ICAgIHNlbGYudXBkYXRlX21lc3NhZ2VzKHJlcy5kYXRhLnN0YXR1c19tZXNz YWdlKTsKKyAgICAgICAgICAgICAgICAgIH0KIAogICAgICAgICAgICAgICAg ICAgLy8gRXhlY3V0aW9uIGNvbXBsZXRlZCBzbyBkaXNhYmxlIHRoZSBidXR0 b25zIG90aGVyIHRoYW4gIkNvbnRpbnVlL1N0YXJ0IiBidXR0b24gYmVjYXVz ZSB1c2VyIGNhbiBzdGlsbAogICAgICAgICAgICAgICAgICAgLy8gc3RhcnQg dGhlIHNhbWUgZXhlY3V0aW9uIGFnYWluLgpAQCAtNDQ4LDEyICs0NzcsMTcg QEAgZGVmaW5lKAogICAgICAgICAgICAgICAgICAgc2VsZi5lbmFibGUoJ3N0 ZXBfaW50bycsIGZhbHNlKTsKICAgICAgICAgICAgICAgICAgIHNlbGYuZW5h YmxlKCd0b2dnbGVfYnJlYWtwb2ludCcsIGZhbHNlKTsKICAgICAgICAgICAg ICAgICAgIHNlbGYuZW5hYmxlKCdjbGVhcl9hbGxfYnJlYWtwb2ludHMnLCBm YWxzZSk7CisgICAgICAgICAgICAgICAgICBzZWxmLmVuYWJsZSgnY29udGlu dWUnLCB0cnVlKTsKICAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgICAg IH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYgKHJlcy5k YXRhLnN0YXR1cyA9PT0gJ0J1c3knKSB7CiAgICAgICAgICAgICAgIC8vIElm IHN0YXR1cyBpcyBCdXN5IHRoZW4gcG9sbCB0aGUgcmVzdWx0IGJ5IHJlY3Vy c2l2ZSBjYWxsIHRvIHRoZSBwb2xsIGZ1bmN0aW9uCi0gICAgICAgICAgICAg IC8vc2VsZi5wb2xsX2VuZF9leGVjdXRpb25fcmVzdWx0KHRyYW5zX2lkKTsK KyAgICAgICAgICAgICAgc2VsZi5wb2xsX2VuZF9leGVjdXRpb25fcmVzdWx0 KHRyYW5zX2lkKTsKKyAgICAgICAgICAgICAgLy8gVXBkYXRlIHRoZSBtZXNz YWdlIHRhYiBvZiB0aGUgZGVidWdnZXIKKyAgICAgICAgICAgICAgaWYgKHJl cy5kYXRhLnN0YXR1c19tZXNzYWdlKSB7CisgICAgICAgICAgICAgICAgc2Vs Zi51cGRhdGVfbWVzc2FnZXMocmVzLmRhdGEuc3RhdHVzX21lc3NhZ2UpOwor ICAgICAgICAgICAgICB9CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBl bHNlIGlmIChyZXMuZGF0YS5zdGF0dXMgPT09ICdOb3RDb25uZWN0ZWQnKSB7 CiAgICAgICAgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0KApAQCAtNDczLDcgKzUw NywxMSBAQCBkZWZpbmUoCiAgICAgICAgICAgICAgICAgZnVuY3Rpb24oKSB7 IH0KICAgICAgICAgICAgICAgKTsKIAotICAgICAgICAgICAgICBwZ1Rvb2xz LkRpcmVjdERlYnVnLm1lc3NhZ2VzX3BhbmVsLiRjb250YWluZXIuZmluZCgn Lm1lc3NhZ2VzJykudGV4dChyZXMuZGF0YS5zdGF0dXNfbWVzc2FnZSk7Cisg ICAgICAgICAgICAgIC8vIFVwZGF0ZSB0aGUgbWVzc2FnZSB0YWIgb2YgdGhl IGRlYnVnZ2VyCisgICAgICAgICAgICAgIGlmIChyZXMuZGF0YS5zdGF0dXNf bWVzc2FnZSkgeworICAgICAgICAgICAgICAgIHNlbGYudXBkYXRlX21lc3Nh Z2VzKHJlcy5kYXRhLnN0YXR1c19tZXNzYWdlKTsKKyAgICAgICAgICAgICAg fQorCiAgICAgICAgICAgICAgIHBnVG9vbHMuRGlyZWN0RGVidWcubWVzc2Fn ZXNfcGFuZWwuZm9jdXMoKTsKIAogICAgICAgICAgICAgICAvLyBFeGVjdXRp b24gY29tcGxldGVkIHNvIGRpc2FibGUgdGhlIGJ1dHRvbnMgb3RoZXIgdGhh biAiQ29udGludWUvU3RhcnQiIGJ1dHRvbiBiZWNhdXNlIHVzZXIgY2FuIHN0 aWxsCkBAIC00ODMsNiArNTIxLDcgQEAgZGVmaW5lKAogICAgICAgICAgICAg ICBzZWxmLmVuYWJsZSgnc3RlcF9pbnRvJywgZmFsc2UpOwogICAgICAgICAg ICAgICBzZWxmLmVuYWJsZSgndG9nZ2xlX2JyZWFrcG9pbnQnLCBmYWxzZSk7 CiAgICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCdjbGVhcl9hbGxfYnJlYWtw b2ludHMnLCBmYWxzZSk7CisgICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCdj b250aW51ZScsIHRydWUpOwogICAgICAgICAgICAgfQogICAgICAgICAgIH0s CiAgICAgICAgICAgZXJyb3I6IGZ1bmN0aW9uKGUpIHsKQEAgLTQ5OCwxMyAr NTM3LDI0IEBAIGRlZmluZSgKIAogICAgIFJlc3RhcnQ6IGZ1bmN0aW9uKHRy YW5zX2lkKSB7CiAKLSAgICAgIHZhciBiYXNlVXJsID0gInt7IHVybF9mb3Io J2RlYnVnZ2VyLmluZGV4JykgfX0iICsgInJlc3RhcnQvIiArIHRyYW5zX2lk OworICAgICAgdmFyIHNlbGYgPSB0aGlzLAorICAgICAgICBiYXNlVXJsID0g Int7IHVybF9mb3IoJ2RlYnVnZ2VyLmluZGV4JykgfX0iICsgInJlc3RhcnQv IiArIHRyYW5zX2lkOworICAgICAgc2VsZi5lbmFibGUoJ3N0b3AnLCBmYWxz ZSk7CisgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9vdmVyJywgZmFsc2UpOwor ICAgICAgc2VsZi5lbmFibGUoJ3N0ZXBfaW50bycsIGZhbHNlKTsKKyAgICAg IHNlbGYuZW5hYmxlKCd0b2dnbGVfYnJlYWtwb2ludCcsIGZhbHNlKTsKKyAg ICAgIHNlbGYuZW5hYmxlKCdjbGVhcl9hbGxfYnJlYWtwb2ludHMnLCBmYWxz ZSk7CisgICAgICBzZWxmLmVuYWJsZSgnY29udGludWUnLCBmYWxzZSk7CisK IAogICAgICAgJC5hamF4KHsKICAgICAgICAgdXJsOiBiYXNlVXJsLAogICAg ICAgICBzdWNjZXNzOiBmdW5jdGlvbihyZXMpIHsKICAgICAgICAgICAvLyBS ZXN0YXJ0IHRoZSBzYW1lIGZ1bmN0aW9uIGRlYnVnZ2luZyB3aXRoIHByZXZp b3VzIGFyZ3VtZW50cwogICAgICAgICAgIHZhciByZXN0YXJ0X2RiZyA9IHJl cy5kYXRhLnJlc3RhcnRfZGVidWcgPyAxIDogMDsKKyAgICAgICAgICBpZiAo cmVzdGFydF9kYmcpIHsKKyAgICAgICAgICAgIHBnVG9vbHMuRGlyZWN0RGVi dWcuZGVidWdfcmVzdGFydGVkID0gdHJ1ZTsKKyAgICAgICAgICB9CiAKICAg ICAgICAgICAvKgogICAgICAgICAgICBOZWVkIHRvIGNoZWNrIGlmIHJlc3Rh cnQgZGVidWdnaW5nIHJlYWxseSByZXF1aXJlIHRvIG9wZW4gdGhlIGlucHV0 IGRpYWxvZyA/CkBAIC01MjIsNiArNTcyLDkgQEAgZGVmaW5lKAogICAgICAg ICAgICAgICB1cmw6IGJhc2VVcmwsCiAgICAgICAgICAgICAgIG1ldGhvZDog J0dFVCcsCiAgICAgICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJlcykg eworICAgICAgICAgICAgICAgIGlmIChwZ1Rvb2xzLkRpcmVjdERlYnVnLmRl YnVnX3R5cGUpIHsKKyAgICAgICAgICAgICAgICAgIHNlbGYucG9sbF9lbmRf ZXhlY3V0aW9uX3Jlc3VsdCh0cmFuc19pZCk7CisgICAgICAgICAgICAgICAg fQogICAgICAgICAgICAgICB9LAogICAgICAgICAgICAgICBlcnJvcjogZnVu Y3Rpb24oZSkgewogICAgICAgICAgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0KApA QCAtNTQ2LDYgKzU5OSwxMiBAQCBkZWZpbmUoCiAgICAgLy8gQ29udGludWUg dGhlIGV4ZWN1dGlvbiB1bnRpbCB0aGUgbmV4dCBicmVha3BvaW50CiAgICAg Q29udGludWU6IGZ1bmN0aW9uKHRyYW5zX2lkKSB7CiAgICAgICB2YXIgc2Vs ZiA9IHRoaXM7CisgICAgICBzZWxmLmVuYWJsZSgnc3RvcCcsIGZhbHNlKTsK KyAgICAgIHNlbGYuZW5hYmxlKCdzdGVwX292ZXInLCBmYWxzZSk7CisgICAg ICBzZWxmLmVuYWJsZSgnc3RlcF9pbnRvJywgZmFsc2UpOworICAgICAgc2Vs Zi5lbmFibGUoJ3RvZ2dsZV9icmVha3BvaW50JywgZmFsc2UpOworICAgICAg c2VsZi5lbmFibGUoJ2NsZWFyX2FsbF9icmVha3BvaW50cycsIGZhbHNlKTsK KyAgICAgIHNlbGYuZW5hYmxlKCdjb250aW51ZScsIGZhbHNlKTsKIAogICAg ICAgLy9DaGVjayBmaXJzdCBpZiBwcmV2aW91cyBleGVjdXRpb24gd2FzIGNv bXBsZXRlZCBvciBub3QKICAgICAgIGlmIChwZ1Rvb2xzLkRpcmVjdERlYnVn LmRpcmVjdF9leGVjdXRpb25fY29tcGxldGVkICYmCkBAIC01NjIsOSArNjIx LDYgQEAgZGVmaW5lKAogICAgICAgICAgIHN1Y2Nlc3M6IGZ1bmN0aW9uKHJl cykgewogICAgICAgICAgICAgaWYgKHJlcy5kYXRhLnN0YXR1cykgewogICAg ICAgICAgICAgICBzZWxmLnBvbGxfcmVzdWx0KHRyYW5zX2lkKTsKLSAgICAg ICAgICAgICAgaWYgKHBnVG9vbHMuRGlyZWN0RGVidWcuZGVidWdfdHlwZSkg ewotICAgICAgICAgICAgICAgIHNlbGYucG9sbF9lbmRfZXhlY3V0aW9uX3Jl c3VsdCh0cmFuc19pZCk7Ci0gICAgICAgICAgICAgIH0KICAgICAgICAgICAg IH0KICAgICAgICAgICAgIGVsc2UgewogICAgICAgICAgICAgICBBbGVydGlm eS5hbGVydCgKQEAgLTU4Myw2ICs2MzksMTIgQEAgZGVmaW5lKAogCiAgICAg ICBTdGVwX292ZXI6IGZ1bmN0aW9uKHRyYW5zX2lkKSB7CiAgICAgICAgIHZh ciBzZWxmID0gdGhpczsKKyAgICAgICAgc2VsZi5lbmFibGUoJ3N0b3AnLCBm YWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdzdGVwX292ZXInLCBmYWxz ZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdzdGVwX2ludG8nLCBmYWxzZSk7 CisgICAgICAgIHNlbGYuZW5hYmxlKCd0b2dnbGVfYnJlYWtwb2ludCcsIGZh bHNlKTsKKyAgICAgICAgc2VsZi5lbmFibGUoJ2NsZWFyX2FsbF9icmVha3Bv aW50cycsIGZhbHNlKTsKKyAgICAgICAgc2VsZi5lbmFibGUoJ2NvbnRpbnVl JywgZmFsc2UpOwogCiAgICAgICAgIC8vIE1ha2UgYWpheCBjYWxsIHRvIGxp c3RlbiB0aGUgZGF0YWJhc2UgbWVzc2FnZQogICAgICAgICB2YXIgYmFzZVVy bCA9ICJ7eyB1cmxfZm9yKCdkZWJ1Z2dlci5pbmRleCcpIH19IiArICJleGVj dXRlX3F1ZXJ5LyIgKyB0cmFuc19pZCArICIvIiArICJzdGVwX292ZXIiOwpA QCAtNTkzLDkgKzY1NSw2IEBAIGRlZmluZSgKICAgICAgICAgICBzdWNjZXNz OiBmdW5jdGlvbihyZXMpIHsKICAgICAgICAgICAgIGlmIChyZXMuZGF0YS5z dGF0dXMpIHsKICAgICAgICAgICAgICAgc2VsZi5wb2xsX3Jlc3VsdCh0cmFu c19pZCk7Ci0gICAgICAgICAgICAgIGlmIChwZ1Rvb2xzLkRpcmVjdERlYnVn LmRlYnVnX3R5cGUpIHsKLSAgICAgICAgICAgICAgICBzZWxmLnBvbGxfZW5k X2V4ZWN1dGlvbl9yZXN1bHQodHJhbnNfaWQpOwotICAgICAgICAgICAgICB9 CiAgICAgICAgICAgICB9CiAgICAgICAgICAgICBlbHNlIHsKICAgICAgICAg ICAgICAgQWxlcnRpZnkuYWxlcnQoCkBAIC02MTMsNiArNjcyLDEyIEBAIGRl ZmluZSgKIAogICAgICAgU3RlcF9pbnRvOiBmdW5jdGlvbih0cmFuc19pZCkg ewogICAgICAgICB2YXIgc2VsZiA9IHRoaXM7CisgICAgICAgIHNlbGYuZW5h YmxlKCdzdG9wJywgZmFsc2UpOworICAgICAgICBzZWxmLmVuYWJsZSgnc3Rl cF9vdmVyJywgZmFsc2UpOworICAgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9p bnRvJywgZmFsc2UpOworICAgICAgICBzZWxmLmVuYWJsZSgndG9nZ2xlX2Jy ZWFrcG9pbnQnLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdjbGVh cl9hbGxfYnJlYWtwb2ludHMnLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5h YmxlKCdjb250aW51ZScsIGZhbHNlKTsKIAogICAgICAgICAvLyBNYWtlIGFq YXggY2FsbCB0byBsaXN0ZW4gdGhlIGRhdGFiYXNlIG1lc3NhZ2UKICAgICAg ICAgdmFyIGJhc2VVcmwgPSAie3sgdXJsX2ZvcignZGVidWdnZXIuaW5kZXgn KSB9fSIgKyAiZXhlY3V0ZV9xdWVyeS8iICsgdHJhbnNfaWQgKyAiLyIgKyAi c3RlcF9pbnRvIjsKQEAgLTYyMyw5ICs2ODgsNiBAQCBkZWZpbmUoCiAgICAg ICAgICAgc3VjY2VzczogZnVuY3Rpb24ocmVzKSB7CiAgICAgICAgICAgICBp ZiAocmVzLmRhdGEuc3RhdHVzKSB7CiAgICAgICAgICAgICAgIHNlbGYucG9s bF9yZXN1bHQodHJhbnNfaWQpOwotICAgICAgICAgICAgICBpZiAocGdUb29s cy5EaXJlY3REZWJ1Zy5kZWJ1Z190eXBlKSB7Ci0gICAgICAgICAgICAgICAg c2VsZi5wb2xsX2VuZF9leGVjdXRpb25fcmVzdWx0KHRyYW5zX2lkKTsKLSAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxz ZSB7CiAgICAgICAgICAgICAgIEFsZXJ0aWZ5LmFsZXJ0KApAQCAtNjQzLDYg KzcwNSwxMiBAQCBkZWZpbmUoCiAKICAgICAgIFN0b3A6IGZ1bmN0aW9uKHRy YW5zX2lkKSB7CiAgICAgICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAgICAg c2VsZi5lbmFibGUoJ3N0b3AnLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5h YmxlKCdzdGVwX292ZXInLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxl KCdzdGVwX2ludG8nLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCd0 b2dnbGVfYnJlYWtwb2ludCcsIGZhbHNlKTsKKyAgICAgICAgc2VsZi5lbmFi bGUoJ2NsZWFyX2FsbF9icmVha3BvaW50cycsIGZhbHNlKTsKKyAgICAgICAg c2VsZi5lbmFibGUoJ2NvbnRpbnVlJywgZmFsc2UpOwogCiAgICAgICAgIC8v IE1ha2UgYWpheCBjYWxsIHRvIGxpc3RlbiB0aGUgZGF0YWJhc2UgbWVzc2Fn ZQogICAgICAgICB2YXIgYmFzZVVybCA9ICJ7eyB1cmxfZm9yKCdkZWJ1Z2dl ci5pbmRleCcpIH19IiArICJleGVjdXRlX3F1ZXJ5LyIgKyB0cmFuc19pZCAr ICIvIiArICJhYm9ydF90YXJnZXQiOwpAQCAtNjY1LDEyICs3MzMsOCBAQCBk ZWZpbmUoCiAgICAgICAgICAgICAgICk7CiAKICAgICAgICAgICAgICAgLy9E aXNhYmxlIHRoZSBidXR0b25zIG90aGVyIHRoYW4gY29udGludWUgYnV0dG9u LiBJZiB1c2VyIHdhbnRzIHRvIGFnYWluIHRoZW4gaXQgc2hvdWxkIGFsbG93 IHRvIGRlYnVnIGFnYWluLi4uCi0gICAgICAgICAgICAgIHNlbGYuZW5hYmxl KCdzdG9wJywgZmFsc2UpOwotICAgICAgICAgICAgICBzZWxmLmVuYWJsZSgn c3RlcF9vdmVyJywgZmFsc2UpOwotICAgICAgICAgICAgICBzZWxmLmVuYWJs ZSgnc3RlcF9pbnRvJywgZmFsc2UpOwotICAgICAgICAgICAgICBzZWxmLmVu YWJsZSgnY29udGludWUnLCBmYWxzZSk7Ci0gICAgICAgICAgICAgIHNlbGYu ZW5hYmxlKCd0b2dnbGVfYnJlYWtwb2ludCcsIGZhbHNlKTsKLSAgICAgICAg ICAgICAgc2VsZi5lbmFibGUoJ2NsZWFyX2FsbF9icmVha3BvaW50cycsIGZh bHNlKTsKKyAgICAgICAgICAgICAgc2VsZi5lbmFibGUoJ2NvbnRpbnVlJywg dHJ1ZSk7CisKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVsc2UgaWYg KHJlcy5kYXRhLnN0YXR1cyA9PT0gJ05vdENvbm5lY3RlZCcpIHsKICAgICAg ICAgICAgICAgQWxlcnRpZnkuYWxlcnQoCkBAIC02ODgsNiArNzUyLDEzIEBA IGRlZmluZSgKIAogICAgICAgdG9nZ2xlX2JyZWFrcG9pbnQ6IGZ1bmN0aW9u KHRyYW5zX2lkKSB7CiAgICAgICAgIHZhciBzZWxmID0gdGhpczsKKyAgICAg ICAgc2VsZi5lbmFibGUoJ3N0b3AnLCBmYWxzZSk7CisgICAgICAgIHNlbGYu ZW5hYmxlKCdzdGVwX292ZXInLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5h YmxlKCdzdGVwX2ludG8nLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxl KCd0b2dnbGVfYnJlYWtwb2ludCcsIGZhbHNlKTsKKyAgICAgICAgc2VsZi5l bmFibGUoJ2NsZWFyX2FsbF9icmVha3BvaW50cycsIGZhbHNlKTsKKyAgICAg ICAgc2VsZi5lbmFibGUoJ2NvbnRpbnVlJywgZmFsc2UpOworCiAKICAgICAg ICAgdmFyIGluZm8gPSBwZ1Rvb2xzLkRpcmVjdERlYnVnLmVkaXRvci5saW5l SW5mbyhzZWxmLmFjdGl2ZV9saW5lX25vKTsKICAgICAgICAgdmFyIGJhc2VV cmwgPSAnJzsKQEAgLTcyMCw2ICs3OTEsMTIgQEAgZGVmaW5lKAogICAgICAg ICAgICAgICAgICAgICByZXR1cm4gbWFya2VyOwogICAgICAgICAgICAgICAg IH0oKSk7CiAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgc2VsZi5l bmFibGUoJ3N0b3AnLCB0cnVlKTsKKyAgICAgICAgICAgICAgc2VsZi5lbmFi bGUoJ3N0ZXBfb3ZlcicsIHRydWUpOworICAgICAgICAgICAgICBzZWxmLmVu YWJsZSgnc3RlcF9pbnRvJywgdHJ1ZSk7CisgICAgICAgICAgICAgIHNlbGYu ZW5hYmxlKCd0b2dnbGVfYnJlYWtwb2ludCcsIHRydWUpOworICAgICAgICAg ICAgICBzZWxmLmVuYWJsZSgnY2xlYXJfYWxsX2JyZWFrcG9pbnRzJywgdHJ1 ZSk7CisgICAgICAgICAgICAgIHNlbGYuZW5hYmxlKCdjb250aW51ZScsIHRy dWUpOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgZWxzZSBpZiAocmVz LmRhdGEuc3RhdHVzID09PSAnTm90Q29ubmVjdGVkJykgewogICAgICAgICAg ICAgICBBbGVydGlmeS5hbGVydCgKQEAgLTczNiwxNCArODEzLDIwIEBAIGRl ZmluZSgKICAgICAgIH0sCiAKICAgICAgIGNsZWFyX2FsbF9icmVha3BvaW50 OiBmdW5jdGlvbih0cmFuc19pZCkgewotICAgICAgICB2YXIgc2VsZiA9IHRo aXM7Ci0KLSAgICAgICAgdmFyIGJyX2xpc3QgPSBzZWxmLkdldEJyZWFrcG9p bnRJbmZvcm1hdGlvbih0cmFuc19pZCk7CisgICAgICAgIHZhciBzZWxmID0g dGhpcywKKyAgICAgICAgICBicl9saXN0ID0gc2VsZi5HZXRCcmVha3BvaW50 SW5mb3JtYXRpb24odHJhbnNfaWQpOwogCiAgICAgICAgIC8vIElmIHRoZXJl IGlzIG5vIGJyZWFrIHBvaW50IHRvIGNsZWFyIHRoZW4gd2Ugc2hvdWxkIHJl dHVybiBmcm9tIGhlcmUuCiAgICAgICAgIGlmICgoYnJfbGlzdC5sZW5ndGgg PT0gMSkgJiYgKGJyX2xpc3RbMF0ubGluZW51bWJlciA9PSAtMSkpCiAgICAg ICAgICAgcmV0dXJuOwogCisgICAgICAgIHNlbGYuZW5hYmxlKCdzdG9wJywg ZmFsc2UpOworICAgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9vdmVyJywgZmFs c2UpOworICAgICAgICBzZWxmLmVuYWJsZSgnc3RlcF9pbnRvJywgZmFsc2Up OworICAgICAgICBzZWxmLmVuYWJsZSgndG9nZ2xlX2JyZWFrcG9pbnQnLCBm YWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdjbGVhcl9hbGxfYnJlYWtw b2ludHMnLCBmYWxzZSk7CisgICAgICAgIHNlbGYuZW5hYmxlKCdjb250aW51 ZScsIGZhbHNlKTsKKwogICAgICAgICB2YXIgYnJlYWtwb2ludF9saXN0ID0g bmV3IEFycmF5KCk7CiAKICAgICAgICAgZm9yIChpID0gMDsgaSA8IGJyX2xp c3QubGVuZ3RoOyBpKyspIHsKQEAgLTc3MSw2ICs4NTQsMTIgQEAgZGVmaW5l KAogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgfQorICAgICAgICAgIHNlbGYuZW5hYmxlKCdzdG9wJywgdHJ1ZSk7 CisgICAgICAgICAgc2VsZi5lbmFibGUoJ3N0ZXBfb3ZlcicsIHRydWUpOwor ICAgICAgICAgIHNlbGYuZW5hYmxlKCdzdGVwX2ludG8nLCB0cnVlKTsKKyAg ICAgICAgICBzZWxmLmVuYWJsZSgndG9nZ2xlX2JyZWFrcG9pbnQnLCB0cnVl KTsKKyAgICAgICAgICBzZWxmLmVuYWJsZSgnY2xlYXJfYWxsX2JyZWFrcG9p bnRzJywgdHJ1ZSk7CisgICAgICAgICAgc2VsZi5lbmFibGUoJ2NvbnRpbnVl JywgdHJ1ZSk7CiAgICAgICAgICAgfSwKICAgICAgICAgICBlcnJvcjogZnVu Y3Rpb24oZSkgewogICAgICAgICAgICAgQWxlcnRpZnkuYWxlcnQoCkBAIC0x MjA0LDYgKzEyOTMsNyBAQCBkZWZpbmUoCiAgICAgICB0aGlzLmZpcnN0X3Rp bWVfaW5kaXJlY3RfZGVidWcgPSBmYWxzZTsKICAgICAgIHRoaXMuZGlyZWN0 X2V4ZWN1dGlvbl9jb21wbGV0ZWQgPSBmYWxzZTsKICAgICAgIHRoaXMucG9s bGluZ190aW1lb3V0X2lkbGUgPSBmYWxzZTsKKyAgICAgIHRoaXMuZGVidWdf cmVzdGFydGVkID0gZmFsc2U7CiAKICAgICAgIHZhciBkb2NrZXIgPSB0aGlz LmRvY2tlciA9IG5ldyB3Y0RvY2tlcigKICAgICAgICAgICAnI2NvbnRhaW5l cicsIHsK --94eb2c0665c6e267cb053f478440 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 --94eb2c0665c6e267cb053f478440--