Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1Qpv-0001rq-4C for pgadmin-hackers@arkaria.postgresql.org; Mon, 18 Jan 2021 09:28:35 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l1Qpu-0006rS-1A for pgadmin-hackers@arkaria.postgresql.org; Mon, 18 Jan 2021 09:28:34 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l1Qpt-0006rL-L4 for pgadmin-hackers@lists.postgresql.org; Mon, 18 Jan 2021 09:28:33 +0000 Received: from mail-lf1-x12e.google.com ([2a00:1450:4864:20::12e]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l1Qpq-0000Dp-Vp for pgadmin-hackers@postgresql.org; Mon, 18 Jan 2021 09:28:33 +0000 Received: by mail-lf1-x12e.google.com with SMTP id s26so23028544lfc.8 for ; Mon, 18 Jan 2021 01:28:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=ftvOZvRc62abpYvOyoHgqO9BlWMDQDq2jVBpuURnlxM=; b=b9apHS91mo2sq8ORPga2yZtIMmiHOQ9EwXejRkAj8GtHqpc5coP+fAF0tfmIBU6OYZ 0kddS8vi/AVoIuXyJ4EAG8aMW80AMjPPOHnRDaRlhgpmG+Mr/3lN2OhyHS9jeUH3Rj00 OnnTCGp0pfiXjzj1D8iiMu+SFz2fNDKfyvsbE8OMmEfSo7TQj0aba69Asm86CUNTW7bH ALvvy1EvriUm8cUm3+chgf74tOMu46FxM3T7ghuXjXU8WjVgOOytB04qilu3cOk3UIne 74yQ28JRPcbq+TaHYyXzq6igsTHr6wJnptxgRMdCJlBeIcjAnbeSchd9yQSHgQtEYVGY QpYQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=ftvOZvRc62abpYvOyoHgqO9BlWMDQDq2jVBpuURnlxM=; b=KqzKVwebKtAOVAoIlRVYvNJnoxsloIOgnsgF0AsdpH7yI9DrvjzSW5Zq02CuzslgWq X/yPy7wbNSSRKxLtzHXFdgb/+eaZXn1M62vTVsxReCUrl11ovjsvsX5XOus+kQHUqkWm 54OSck/ewhO3Swx/Z8Lcdqg/cnkDpVcz8caNeO8bW6oaoEuFVuU0l5BM9kaY9744klJL lfQd74Hr3ygsSUVRQ12QNexOSjQVpodDI/Zygkyfavca4vsn4bwo/+xeyxFOeYDAqX32 1Xw1M2uNdD9V86pEjKZHZmNd7hR+dq5kDGCSZru48gUy4VMwY5L4DdPGl0IAWQAosGoZ ZhQA== X-Gm-Message-State: AOAM533l/vR+nh+On0inBoeFoh+Y1OoaiA6rUfxUCDXjv/t243X+u6DG 1DQuvv51IqTPHvSwjHbn0GqZjkMfa2DyJh/TybVc3IRIQCMwHjuXVZPVwNssvEY5J3XA4CJsew5 ejO/Wl5cyu4R7ek+2fn9rdsKhvNJOWsdu1lCfLBcb/ZWdFH+h7NYWV6ew+OkS1Zmb3hUt43uPxT l0Dp7pR/6zu6O10/5nzPtgl2sVAeX5+kgq61wOj4fgWcoKxfp2laOt5qdunA== X-Google-Smtp-Source: ABdhPJxZ6ATvcAl0WYDhJgICM0sQ+7AI56FTpP7R741nNsdbdQ4GU6+2GOBOHuKpPZ7+OpScndkXXJoj1vBHBrSPN6Q= X-Received: by 2002:ac2:5689:: with SMTP id 9mr11553814lfr.175.1610962109655; Mon, 18 Jan 2021 01:28:29 -0800 (PST) MIME-Version: 1.0 References: In-Reply-To: From: Aditya Toshniwal Date: Mon, 18 Jan 2021 14:57:53 +0530 Message-ID: Subject: Re: [pgAdmin][RM1802] ERD Tool (Beta) To: Akshay Joshi Cc: Khushboo Vashi , pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000004b7e7f05b9295859" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000004b7e7f05b9295859 Content-Type: multipart/alternative; boundary="0000000000004b7e7d05b9295857" --0000000000004b7e7d05b9295857 Content-Type: text/plain; charset="UTF-8" Hi, The jasmine test cases are working fine on my local machine. The test cases are successful on jenkins other than on linux, not sure why. I have made some fixes by looking at the log. Please review and try. On Mon, Jan 18, 2021 at 1:10 PM Akshay Joshi wrote: > Thanks, patch applied. > > On Mon, Jan 18, 2021 at 10:34 AM Aditya Toshniwal < > aditya.toshniwal@enterprisedb.com> wrote: > >> Hi Akshay, >> >> I forgot to remove few of the dependencies which are not required as of >> now (may be in future). Attached patch removes those dependencies from >> package.json. >> >> On Sat, Jan 16, 2021 at 5:08 PM Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Thanks, patch applied. >>> >>> On Fri, Jan 15, 2021 at 7:01 PM Aditya Toshniwal < >>> aditya.toshniwal@enterprisedb.com> wrote: >>> >>>> Hi, >>>> >>>> I've fixed the issues. You can find the comments inline. >>>> I've also added PropTypes for the components for increased validation. >>>> >>>> On Tue, Jan 12, 2021 at 12:18 PM Khushboo Vashi < >>>> khushboo.vashi@enterprisedb.com> wrote: >>>> >>>>> Hi Aditya, >>>>> >>>>> The functionalities and the code looks good to me, however some of the comments as below: >>>>> >>>>> >>>>> - Correct the comments at some places (3 occurrences found in /erd/__init__.py) which mention Schema diff instead of ERD. >>>>> >>>>> Some comments in the JS/JSX file regarding components/functions (For example, IconButton (forwardRef), Bodywidget etc.) would >>>>> >>>>> be great help as we all are new to React. >>>>> >>>>> Done. Added comments to the components. >>>> >>>>> >>>>> - Remove the unused imports (for ex bad_request) in /erd/__init__.py >>>>> >>>>> Removed. >>>> >>>>> >>>>> - Remove commented code >>>>> >>>>> # req_args = request.args >>>>> # if ('recreate' in req_args and >>>>> # req_args['recreate'] == '1'): >>>>> # connect = False >>>>> >>>>> Removed. >>>> >>>>> >>>>> - TableNode.jsx, below two lines can be combined. >>>>> >>>>> import { PortModelAlignment, DefaultNodeModel } from >>>>> '@projectstorm/react-diagrams'; >>>>> import { PortWidget } from '@projectstorm/react-diagrams'; >>>>> >>>>> Done. >>>> >>>>> >>>>> - onImageClick function in BodyWidget.jsx is no use I think, so it should be removed. >>>>> >>>>> I wanted to keep the code as it will be used in future. Anyway, I've >>>> removed the code. >>>> >>>>> >>>>> - I got some console errors while adding/editing tables. Refer to the attached screenshot. >>>>> >>>>> I tried but I didn't get any. Looking at the screenshot, the error is >>>> from the underlying library. Can't do much in this. >>>> >>>>> >>>>> - In the column Edit Mode, while deleting the primary key, it gives the error, which does not go away with any further modifications. >>>>> >>>>> Fixed. >>>> >>>>> >>>>> - While generating the SQL, if the server is disconnected, a proper error message should be thrown, right now some server side error is coming. >>>>> >>>>> It will show connection lost error now. Fixed. >>>> >>>>> >>>>> - Please remove ... from the menu title (New ERD Project(Beta)...) as it is not opening a dialog. >>>>> >>>>> Done. >>>> >>>>> >>>>> - For large data sets, generate ERD hangs. >>>>> >>>>> It shows the spinner and waits for the response to come from the back >>>> end. I've used the existing table fetching code which is used at other >>>> places. I'll create an RM to improve the back end code for fetching the >>>> tables data which will help the schema diff tool as well. >>>> >>>>> >>>>> - Opening the ERD panel in a new window is not working, it opens in the same tab even if you have set the Preference "Open in new browser tab" to True. >>>>> >>>>> Fixed. Added the setting in "Tab settings". >>>> >>>>> >>>>> - No shortcut is provided to open the ERD Tool. >>>>> >>>>> A shortcut is helpful if we are using it frequently. ERD tool won't be >>>> used that frequently. We already have a limited number of keys >>>> available for shortcuts. I think we should roll out without shortcut for >>>> now. If there is a user demand for it then we can think of adding it. >>>> >>>>> >>>>> - SonarQube fixes required. >>>>> >>>>> Fixed. >>>> >>>>> >>>>> - >>>>> >>>>> *Suggestion:* >>>>> >>>>> While removal of the FK link, If any of the table is selected, it is being deleted with FK link. >>>>> Either we should warn the user OR make 2 different buttons for FK removal and table removal as the user may be confused if the selected table is also removed with the FK. >>>>> >>>>> I've added a confirmation dialog which will show the number of tables >>>> and links selected. This way user will know what he has selected before >>>> deleting. >>>> >>>>> *Observations:* >>>>> >>>>> Lodash has been used in this module in place of Underscore, though the >>>>> dependency is already introduced by another module, >>>>> but we have mentioned it in the package.json file, which is somewhat >>>>> not convincing to me. >>>>> Lodash is more advanced than Underscore but we should pick anyone as >>>>> it will be easy to manage. >>>>> >>>>> TL;DR; we cannot. >>>> lodash is a peer dependency for react-diagrams (and some existing >>>> modules in pgAdmin) so it will come to package.json without choice. We >>>> cannot remove underscore because it is a dependency of backbone. Underscore >>>> is outdated, and I cannot migrate the complete pgAdmin code. So, I >>>> decided to go with 100/0 method. All the new codes will use lodash only as >>>> we'll phase out underscore with time. Just like jQuery vs ReactJS. >>>> >>>>> >>>>> >>>>> Table dialog code is duplicate of the table node, as it was difficult >>>>> to extend it because it was attached to the tree. >>>>> So, we need to keep in mind that while implementing React in pgAdmin, >>>>> the nodes should be properly detached from the tree itself, so we can reuse >>>>> it. >>>>> >>>>> Yes. I agree. We need to separate out data source from UI going forward >>>> with React. >>>> >>>>> >>>>> Thanks, >>>>> Khushboo >>>>> >>>>> >>>>> On Mon, Dec 28, 2020 at 10:53 AM Khushboo Vashi < >>>>> khushboo.vashi@enterprisedb.com> wrote: >>>>> >>>>>> >>>>>> >>>>>> On Fri, Dec 25, 2020 at 4:34 PM Akshay Joshi < >>>>>> akshay.joshi@enterprisedb.com> wrote: >>>>>> >>>>>>> Hi Khushboo, >>>>>>> >>>>>>> Can you please review it? >>>>>>> >>>>>>> On it. >>>>>> >>>>>>> On Fri, Dec 25, 2020 at 3:31 PM Aditya Toshniwal < >>>>>>> aditya.toshniwal@enterprisedb.com> wrote: >>>>>>> >>>>>>>> Hi Hackers, >>>>>>>> >>>>>>>> Attached patch introduces ERD Tool(Beta) to pgAdmin. Below are the >>>>>>>> details: >>>>>>>> 1) Create a diagram from scratch or generate for an existing DB. >>>>>>>> 2) Generate "Create" DDL from the diagram. >>>>>>>> 3) Save the diagram and resume it later. >>>>>>>> 4) Supports basic table fields, one-to-many relationships, >>>>>>>> many-to-many relationships, adding notes. >>>>>>>> 5) Test cases added with 75-80% test coverage. >>>>>>>> >>>>>>>> Please review. >>>>>>>> >>>>>>>> -- >>>>>>>> Thanks, >>>>>>>> Aditya Toshniwal >>>>>>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>>>>>> >>>>>>>> "Don't Complain about Heat, Plant a TREE" >>>>>>>> >>>>>>> >>>>>>> >>>>>>> -- >>>>>>> *Thanks & Regards* >>>>>>> *Akshay Joshi* >>>>>>> *pgAdmin Hacker | Principal Software Architect* >>>>>>> *EDB Postgres * >>>>>>> >>>>>>> *Mobile: +91 976-788-8246* >>>>>>> >>>>>> >>>> >>>> -- >>>> Thanks, >>>> Aditya Toshniwal >>>> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >>>> >>>> "Don't Complain about Heat, Plant a TREE" >>>> >>> >>> >>> -- >>> *Thanks & Regards* >>> *Akshay Joshi* >>> *pgAdmin Hacker | Principal Software Architect* >>> *EDB Postgres * >>> >>> *Mobile: +91 976-788-8246* >>> >> >> >> -- >> Thanks, >> Aditya Toshniwal >> pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* >> >> "Don't Complain about Heat, Plant a TREE" >> > > > -- > *Thanks & Regards* > *Akshay Joshi* > *pgAdmin Hacker | Principal Software Architect* > *EDB Postgres * > > *Mobile: +91 976-788-8246* > -- Thanks, Aditya Toshniwal pgAdmin hacker | Sr. Software Engineer | *edbpostgres.com* "Don't Complain about Heat, Plant a TREE" --0000000000004b7e7d05b9295857 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi,

The jasmine test cases are working=C2=A0fine on my loc= al machine. The test cases are successful on jenkins other than on linux, n= ot sure why.
I have made some fixes by looking at the log. Please review an= d try.

On Mon, Jan 18, 2021 at 1:10 PM Akshay Joshi <akshay.joshi@enterprisedb.com> wr= ote:
Thanks, patch applied.

On Mon, Jan 18, 2021 at 10:34 AM Aditya Tos= hniwal <aditya.toshniwal@enterprisedb.com> wrote:
Hi Akshay,

I forgo= t to remove few of the dependencies which are not required as of now (may b= e in future). Attached patch removes those dependencies from package.json.<= /div>

On Sat, Jan 16, 2021 at 5:08 PM Akshay Joshi <akshay.joshi@enterprisedb.com= > wrote:
=
Thanks, patch applied.

On Fri, Jan 15, 2021 at 7:01 PM Adit= ya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
= Hi,

I've fixed the issues. You can f= ind the comments inline.
I've also= added PropTypes for the components for increased validation.

On Tue, Jan 12, 2021 at 12:18 PM Khushboo Vashi <khushboo.vashi@enterprised= b.com> wrote:
Hi Aditya,
The functionalities and the code =
looks good to me, however some of the comments as below:
  • Correct = the comments at some places (3 occurrences found in /erd/__init__.py) which mention Schema diff instead o= f ERD.
Some comments in the JS/JSX file regar=
ding components/functions (For example, IconButton (forwardRef), Bodywidget=
 etc.) would
be great help as we all are new to React. 
Done. Added comments to the components.=
  • Remove the unused imports (for ex bad_request) in /erd/= __init__.py
Removed.= =C2=A0
  • Remove commented code
# req_args =3D request.args
# if ('recreate' in = req_args and
# =C2=A0 =C2=A0 req_args['recreate'] =3D=3D '1&= #39;):
# =C2=A0 =C2=A0 connect =3D False
Removed.=C2=A0
  • TableNode.jsx, below two lines can be combined.
import { PortModelAlignment= , DefaultNodeModel } from '@projectstorm/react-diagrams';
import= { PortWidget } from '@projectstorm/react-diagrams';
Done.=C2=A0
  • onImageClick = function in BodyWidget.jsx is no use I think, so it should be removed.
I wanted to keep the code as it= will be used in future. Anyway, I've removed the code.
  • I got some console errors while adding/editing tables. Refer to the att= ached screenshot.
I tried b= ut I didn't get any. Looking at the screenshot, the error is from the u= nderlying library. Can't do much in this.=C2=A0
  • In t= he column Edit Mode, while deleting the primary key, it gives the error, wh= ich does not go away with any further modifications.
=
Fixed.=C2=A0
  • While generating= the SQL, if the server is disconnected, a proper error message should be t= hrown, right now some server side error is coming.
<= /div>
It will show connection lost error now. Fixed.=C2=A0
  • Please remove ... from the menu title (New ERD Proj= ect(Beta)...) as it is not opening a dialog.
Done.=C2=A0
  • For large data sets, gener= ate ERD hangs.
It shows the= spinner and waits for the response to come from the back end. I've use= d the existing table fetching code which is used at other places. I'll = create an RM to improve the back end code for fetching the tables data whic= h will help the schema diff tool as well.
  • Opening the ER= D panel in a new window is not working, it opens in the same tab even if yo= u have set the Preference "Open in new browser tab" to True.
Fixed. Added the setting in &qu= ot;Tab settings".
  • No shortcut is provided to open = the ERD Tool.
A shortcut is= helpful if we are using it frequently. ERD tool won't be used that fre= quently.=C2=A0We already have a limited number of keys available for sho= rtcuts. I think we should roll out without shortcut for now. If there is a = user demand for it then we can think of adding it.
  • Sonar= Qube fixes required.
Fixed.= =C2=A0
Suggestion:
While removal of the FK link, If any of the table is selected, it is be= ing deleted with FK link.
Either we should warn the user OR make 2 differ= ent buttons for FK removal and table removal as the user may be confused if= the selected table is also removed with the FK.
I've added a confirmation dialog wh= ich will show the number of tables and links selected. This way user will k= now what he has selected before deleting.
Obs=
ervations:
L= odash has been used in this module in place of Underscore, though the depen= dency is already introduced by another module,
but we have mentioned it = in the package.json file, which is somewhat not convincing to me.
Lodash= is more advanced than Underscore but we should pick anyone as it will be e= asy to manage.
TL;DR; we canno= t.
lodash is a peer dependency for react-diagrams (and some ex= isting modules in pgAdmin) so it will come to package.json without choice. = We cannot remove underscore because it is a dependency of backbone. Undersc= ore is outdated, and I cannot migrate the complete pgAdmin code.=C2=A0So= , I decided to go with 100/0 method. All the new codes will use lodash only= as we'll phase out underscore with time. Just like jQuery vs ReactJS.<= /span>
<= font face=3D"arial, sans-serif">

Table dialog code is duplicate of the table node, as it was di= fficult to extend it because it was attached to the tree.
So, we need to= keep in mind that while implementing React in pgAdmin, the nodes should be= properly detached from the tree itself, so we can reuse it.
Yes. I agree. We need to separate out data sou= rce from UI going forward=C2=A0with React.

Thanks,
Khushboo


On Mon, Dec 28, 2020 at 10:53 AM Khushboo Vashi <khushboo.vashi@e= nterprisedb.com> wrote:


=
On Fri, Dec 25, 2020 at 4:34 PM Akshay Joshi <akshay.josh= i@enterprisedb.com> wrote:
= Hi Khushboo,

<= div>Can you please review it?
=

On it.=C2=A0
On Fri, Dec 25, 2020 at 3:= 31 PM Aditya Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:
=
Hi Hackers,

Attached patch introduces ERD Tool(Beta) to pgAdmin. Below are th= e details:
1) Create a di= agram from scratch or generate for an existing DB.
2) Generate "Create" DDL from the diagr= am.
3) Save the diagram a= nd resume it later.
4) Su= pports basic table fields, one-to-many relationships, many-to-many relation= ships, adding notes.
5) T= est cases added with 75-80% test coverage.

Pl= ease review.

<= /div>--
Than= ks,
Aditya Toshniwal=
pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
"Don't Complain ab= out Heat, Plant a TREE"


--
Thanks & Regards
Akshay Joshi
= pgAdmin Hacker | Principal Software Ar= chitect
EDB Po= stgres
Mobile: +91 976-788-8246

<= /div>


--
Thanks,
Aditya Toshniwal=
pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
&quo= t;Don't Complain about Heat, Plant a TREE"


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal=
pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com
&quo= t;Don't Complain about Heat, Plant a TREE"


--
Thank= s & Regards
Akshay Joshi
pgAdmin Hacker | Principal Softw= are Architect
EDB Po= stgres
Mobile: +91 976-788-8246



--
Thanks,
Aditya Toshniwal
pgAdmin hacker=C2=A0| Sr. Softwa= re Engineer | edbpostgres.com<= /font>
"Don't Complain about Heat, Plant a TREE&qu= ot;
--0000000000004b7e7d05b9295857-- --0000000000004b7e7f05b9295859 Content-Type: application/octet-stream; name="RM1801.jasmine.patch" Content-Disposition: attachment; filename="RM1801.jasmine.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kk2d6q7w0 ZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZXJkL29uZXRvbWFueV9wb3J0 X3NwZWMuanMgYi93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC9vbmV0b21hbnlfcG9ydF9z cGVjLmpzCmluZGV4IDBhZDQ4MzFlZi4uMjVjMjU5MzdlIDEwMDY0NAotLS0gYS93ZWIvcmVncmVz c2lvbi9qYXZhc2NyaXB0L2VyZC9vbmV0b21hbnlfcG9ydF9zcGVjLmpzCisrKyBiL3dlYi9yZWdy ZXNzaW9uL2phdmFzY3JpcHQvZXJkL29uZXRvbWFueV9wb3J0X3NwZWMuanMKQEAgLTE2LDYgKzE2 LDYgQEAgZGVzY3JpYmUoJ0VSRCBPbmVUb01hbnlQb3J0TW9kZWwnLCAoKT0+ewogCiAgIGl0KCdj cmVhdGVMaW5rTW9kZWwnLCAoKT0+ewogICAgIGxldCBwb3J0T2JqID0gbmV3IE9uZVRvTWFueVBv cnRNb2RlbCh7b3B0aW9uczoge319KTsKLSAgICBleHBlY3QocG9ydE9iai5jcmVhdGVMaW5rTW9k ZWwoKSkudG9CZUluc3RhbmNlT2YoT25lVG9NYW55TGlua01vZGVsKTsKKyAgICBleHBlY3QocG9y dE9iai5jcmVhdGVMaW5rTW9kZWwoKSBpbnN0YW5jZW9mIE9uZVRvTWFueUxpbmtNb2RlbCkudG9C ZVRydXRoeSgpOwogICB9KTsKIH0pOwpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vamF2YXNj cmlwdC9lcmQvdGFibGVfbm9kZV9zcGVjLmpzIGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9l cmQvdGFibGVfbm9kZV9zcGVjLmpzCmluZGV4IGQ4ZWRjZGI0NC4uMWM4YmY3NGVlIDEwMDY0NAot LS0gYS93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2VyZC90YWJsZV9ub2RlX3NwZWMuanMKKysr IGIvd2ViL3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9lcmQvdGFibGVfbm9kZV9zcGVjLmpzCkBAIC0y NzEsOSArMjcxLDkgQEAgZGVzY3JpYmUoJ0VSRCBUYWJsZU5vZGVXaWRnZXQnLCAoKT0+ewogCiAg ICAgaXQoJ2ljb25zJywgKCk9PnsKICAgICAgIGxldCBjb2xzID0gbm9kZVdpZGdldC5maW5kKCcu dGFibGUtbm9kZSAudGFibGUtY29scyAuY29sLXJvdy1kYXRhJyk7Ci0gICAgICBleHBlY3QoY29s cy5hdCgwKS5maW5kKCcud2NUYWJJY29uJykuaGFzQ2xhc3MoJ2ljb24tcHJpbWFyeV9rZXknKSku dG9CZVRydWUoKTsKLSAgICAgIGV4cGVjdChjb2xzLmF0KDEpLmZpbmQoJy53Y1RhYkljb24nKS5o YXNDbGFzcygnaWNvbi1jb2x1bW4nKSkudG9CZVRydWUoKTsKLSAgICAgIGV4cGVjdChjb2xzLmF0 KDIpLmZpbmQoJy53Y1RhYkljb24nKS5oYXNDbGFzcygnaWNvbi1jb2x1bW4nKSkudG9CZVRydWUo KTsKKyAgICAgIGV4cGVjdChjb2xzLmF0KDApLmZpbmQoJy53Y1RhYkljb24nKS5oYXNDbGFzcygn aWNvbi1wcmltYXJ5X2tleScpKS50b0JlVHJ1dGh5KCk7CisgICAgICBleHBlY3QoY29scy5hdCgx KS5maW5kKCcud2NUYWJJY29uJykuaGFzQ2xhc3MoJ2ljb24tY29sdW1uJykpLnRvQmVUcnV0aHko KTsKKyAgICAgIGV4cGVjdChjb2xzLmF0KDIpLmZpbmQoJy53Y1RhYkljb24nKS5oYXNDbGFzcygn aWNvbi1jb2x1bW4nKSkudG9CZVRydXRoeSgpOwogICAgIH0pOwogCiAgICAgaXQoJ2NvbHVtbiBu YW1lcycsICgpPT57Cg== --0000000000004b7e7f05b9295859--