Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1b4pZH-0006kl-F1 for pgadmin-hackers@arkaria.postgresql.org; Mon, 23 May 2016 13:06:47 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1b4pZG-0000MT-Sh for pgadmin-hackers@arkaria.postgresql.org; Mon, 23 May 2016 13:06:46 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1b4pYx-00006o-6U for pgadmin-hackers@postgresql.org; Mon, 23 May 2016 13:06:27 +0000 Received: from mail-qk0-x22d.google.com ([2607:f8b0:400d:c09::22d]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1b4pYr-0006MK-Lo for pgadmin-hackers@postgresql.org; Mon, 23 May 2016 13:06:26 +0000 Received: by mail-qk0-x22d.google.com with SMTP id x7so106972864qkd.3 for ; Mon, 23 May 2016 06:06:20 -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=w4TWhNs0nPiBRWjoCekWH6HHgnLZTI9Wy4rYF/bOas0=; b=azJvk+5zBZXUQGTsYXo91mbYdLd4FfUhiFFK4onph0+AuFSy8mnsf6QIiqINRmsjJt WQ6WcR4JURyD9EpSMYSyMhMPlQTT2ggj0FGLmlc9j/D1so00tsSCG7lwMGmRa0/RmZ2P xROovSeOmudjCiwzvtnc8xgECTGiDfiMU/QCyls54eXAmdeZqup72y5BWWr4SJQ47uix +2RMTRJ0NqgCGHiwiLs3DgjRniinPzUVE3gcDFarWCnoqpmI/usZdqZ9nQxWdx9Kkspb aziRB42vvtlbZNQY655n+gHhgZNnwt/qQd6Xg58dW7s+U3TmzDo1ZEubUV+vCMpNyecu dnbA== 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=w4TWhNs0nPiBRWjoCekWH6HHgnLZTI9Wy4rYF/bOas0=; b=mwylDy1HhjafexrR8q9u8zZpUKj+pIgaefl/y2J2vlG5REbgqSodZo86QKyXi8vlPB DqQfaNr45AB59H7s8A5YBa0OGpSYAiRKDGq/zzR1kDSgYTmnBsryNmXtDUu0MyEQ/Yx1 4ixthjODZs/oT+aobgRkHL0DWIlk4u5luSq+Q0nNsMfQ+/ZsXwsOlTEgmCAi3IcjTXN1 nZDhEmxYCzq8Cfk3v9OUc8q4Q3t5zOX9frF5ga0A9oen3ViLhrtt8wVF5WdFaipRaNC7 NIWv2fbrj5kAf6WcCSRGVq7ZFhsf73G2ROc9WqRkE7S20TQsb7wwHLowZYU2OdpoISIN 4ujA== X-Gm-Message-State: AOPr4FVSxm7sgDJ8+YzKUFdrxZ5Ag/ANsexipkzjKZN2WK++wxQTpfN4f8z+cnIzlAFJK+P7Lx9uSYhKTT72zaDR X-Received: by 10.55.50.206 with SMTP id y197mr15586698qky.199.1464008779393; Mon, 23 May 2016 06:06:19 -0700 (PDT) MIME-Version: 1.0 Received: by 10.55.217.152 with HTTP; Mon, 23 May 2016 06:05:59 -0700 (PDT) In-Reply-To: References: From: Murtuza Zabuawala Date: Mon, 23 May 2016 18:35:59 +0530 Message-ID: Subject: Re: [PATCH] Tables node (pgAdmin4) To: Dave Page Cc: Ashesh Vashi , Akshay Joshi , Harshal Dhumal , pgadmin-hackers Content-Type: multipart/mixed; boundary=001a114900ba3ec8620533821b60 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 --001a114900ba3ec8620533821b60 Content-Type: multipart/alternative; boundary=001a114900ba3ec85d0533821b5e --001a114900ba3ec85d0533821b5e Content-Type: text/plain; charset=UTF-8 Hi, PFA patch, which will fixes below mentioned issues, - Fixed all the review comments given by Dave on tables & its child nodes. *Additional enhancements* - In Index node, We have updated the way columns were added, earlier it was using subnode control now we can insert/update values in-place using DepsCell functionality - In Type node, We have updated the way Composite types were added, earlier it was using subnode control now we can insert/update values in-place using DepsCell functionality - In Constraints nodes, Updated error messages handling earlier it was throwing error when we open create dialog and no input has been provided by user. *Affected nodes by this patch:* 1. Table 2. Column 3. Check constraint 4. Exclusion constraint 5. Foreign key 6. Primary key 7. Unique 8. Index 9. Trigger 10. Type 11. Materialized view -- Regards, Murtuza Zabuawala EnterpriseDB: http://www.enterprisedb.com The Enterprise PostgreSQL Company On Sat, May 21, 2016 at 2:45 PM, Dave Page wrote: > I think that makes sense, yes. > > Sent from my iPad > > On 21 May 2016, at 04:12, Ashesh Vashi > wrote: > > > On Sat, May 21, 2016 at 12:01 AM, Dave Page wrote: > >> Hi >> >> I just started to take a look at the table dialogue and friends. Here are >> a few issues that we need to address - please take care of them: >> >> 1) Move columns to their own tab. Vertical scrolling is bad. >> > Should the 'inherit from table' part of columns tab? > >> >> 2) Similarly, move constraints to their own tab. >> >> 3) Ensure all labels only have a capital letter on the first word, except >> if following words are keywords or acronyms, e.g. >> >> With default values? >> Has OIDs? >> >> 4) s/System tabel?/System table? >> >> 5) Error messages on fields should not be shown unless the field loses >> focus and has an error (see Create Table) >> >> 6) The sections on the Properties view are not as they should be. As I've >> pointed out before, the "General" section should have a limited subset of >> information, e.g. name, oid, owner, tablespace, comment and "is system?" >> Other properties should be in other appropriate sections. >> >> 7) Variables grids should not be on the Security tab (as also mentioned >> previously). >> >> 8) Field labels that imply a question (e.g. usually those with a Yes/No >> switch for input) should end in a ? - e.g. "Deferrable?" >> >> 9) On the Trigger dialogue, "Fires" and following controls should move to >> a new tab. >> >> 10) On the MV dialogue, VACUUM settings should be on their own tab, as on >> the Table dialogue. >> >> 11) Privileges controls on the Properties lists should be in a "Security" >> group, not "General" >> >> I think there are a couple of basic principles to follow here: >> >> - Make properties lists and dialogues consistent with existing ones, from >> control grouping right down to spelling and case of labels. >> >> - Dialogs should never need vertical scrolling by default (e.g. for a new >> object with no columns/constraints/whatever yet defined). If you need to >> scroll, then things should be moved to a new tab, grouped as appropriate. >> >> Thanks. >> >> On Fri, May 20, 2016 at 7:57 AM, Akshay Joshi < >> akshay.joshi@enterprisedb.com> wrote: >> >>> Thanks - Committed with minor changes. >>> >>> On Thu, May 19, 2016 at 10:47 PM, Harshal Dhumal < >>> harshal.dhumal@enterprisedb.com> wrote: >>> >>>> Hi, >>>> >>>> PFA updated patch for table and all it's child nodes (Version 9). This >>>> patch does not depend on any of existing table node patch. >>>> >>>> Major change in this patch: Unlike pgAdmin3 now in table create mode >>>> any constraint(s) created (but not saved) will listen to table column >>>> changes and adapt themselves accordingly. >>>> >>>> For e.g. >>>> In table create mode user adds column definition with name "col1" then >>>> adds constraint which includes column "col1". Now user changes column name >>>> to "col2" then constraint will listen to this change and adapt the column >>>> name from "col1" to "col2" in constraint definition. Also if column "col2" >>>> is removed then constraint will also remove the column "col2" from it's >>>> definition. >>>> >>>> >>>> -- >>>> *Harshal Dhumal* >>>> *Software Engineer * >>>> >>>> >>>> >>>> EenterpriseDB >>>> >>>> >>>> >>>> -- >>>> Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) >>>> To make changes to your subscription: >>>> http://www.postgresql.org/mailpref/pgadmin-hackers >>>> >>>> >>> >>> >>> -- >>> *Akshay Joshi* >>> *Principal Software Engineer * >>> >>> >>> >>> *Phone: +91 20-3058-9517 <%2B91%2020-3058-9517>Mobile: +91 976-788-8246* >>> >> >> >> >> -- >> Dave Page >> Blog: http://pgsnake.blogspot.com >> Twitter: @pgsnake >> >> EnterpriseDB UK: http://www.enterprisedb.com >> The Enterprise PostgreSQL Company >> > > --001a114900ba3ec85d0533821b5e Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi,

PFA patch, which will fixes be= low mentioned issues,

- Fixed all the review comme= nts given by Dave on tables & its child nodes.

Additional enhancements
- In Index node, We have updated = the way columns were added,=C2=A0
=C2=A0 earlier it was using sub= node control now we can insert/update=C2=A0
=C2=A0 values in-plac= e using DepsCell functionality

- In Type node, We = have updated the way Composite types were added,
=C2=A0 earlier i= t was using subnode control now we can insert/update=C2=A0
=C2=A0= values in-place using DepsCell functionality

- In= Constraints nodes, Updated error messages handling earlier it was=C2=A0
=C2=A0 throwing error when we open create dialog and no input has b= een
=C2=A0 provided by user.


Affected nodes by this patch:

  1. Table
  2. Column
  3. C= heck constraint
  4. Exclusion constraint
  5. Foreign key
  6. Primary key
  7. Unique
  8. Index
  9. Trig= ger
  10. Type
  11. Materialized view
=C2=A0
=


--Regards,
Murtuza Zabuawala
EnterpriseDB:=C2=A0= http://www.enterprisedb.comTh= e Enterprise PostgreSQL Company


On Sat, May 21, 2016 at 2:45 PM, Dave Page <= span dir=3D"ltr"><dpage@pgadmin.org> wrote:
=
I think that makes sense, yes.

Sent from my i= Pad

On 21 May 2016, at 04:12, Ashesh Vashi <ashesh.vashi@enterpris= edb.com> wrote:


<= /div>
On Sat, May 21, 2016 at 12:01 AM, Dave Page= <dpage@pgadmin.org> wrote:
Hi

I just started to take a look= at the table dialogue and friends. Here are a few issues that we need to a= ddress - please take care of them:

1) Move columns= to their own tab. Vertical scrolling is bad.
Should the 'inherit from table' part of columns tab?=C2=A0

2) Similarly, move constraints to their own tab.

= 3) Ensure all labels only have a capital letter on the first word, except i= f following words are keywords or acronyms, e.g.

= =C2=A0 With default values?
=C2=A0 Has OIDs?
=C2=A0=C2= =A0
4) s/System tabel?/System table?

5) = Error messages on fields should not be shown unless the field loses focus a= nd has an error (see Create Table)

6) The sections= on the Properties view are not as they should be. As I've pointed out = before, the "General" section should have a limited subset of inf= ormation, e.g. name, oid, owner, tablespace, comment and "is system?&q= uot; Other properties should be in other appropriate sections.
7) Variables grids should not be on the Security tab (as also = mentioned previously).

8) Field labels that imply = a question (e.g. usually those with a Yes/No switch for input) should end i= n a ? - e.g. "Deferrable?"

9) On the Tri= gger dialogue, "Fires" and following controls should move to a ne= w tab.

10) On the MV dialogue, VACUUM settings sho= uld be on their own tab, as on the Table dialogue.

11) Privileges controls on the Properties lists should be in a "Secur= ity" group, not "General"

I t= hink there are a couple of basic principles to follow here:

<= /div>
- Make properties lists and dialogues consistent with existing on= es, from control grouping right down to spelling and case of labels.
<= div>
- Dialogs should never need vertical scrolling by defaul= t (e.g. for a new object with no columns/constraints/whatever yet defined).= If you need to scroll, then things should be moved to a new tab, grouped a= s appropriate.

Thanks.

On Fri, May 20, 2016 at= 7:57 AM, Akshay Joshi <akshay.joshi@enterprisedb.com><= /span> wrote:
Thanks - C= ommitted with minor changes.

On Thu, May 19, 2016 at 10:47 PM, Harshal Dhumal= <harshal.dhumal@enterprisedb.com> wrote:
<= /div>
Hi,

PFA updated patch= for table and all it's child nodes (Version 9). This patch does not de= pend on any of existing table node patch.

Major change in this patch: Unlike pgAdmin3 now in table creat= e mode any constraint(s) created (but not saved) will listen to table colum= n changes and adapt themselves accordingly.

For e.g.
In table create mode= user adds column definition with name "col1" then adds constrain= t which includes column "col1". Now user changes column name to &= quot;col2" then constraint will listen to this change and adapt the co= lumn name from "col1" to "col2" in constraint definitio= n. Also if column "col2" is removed then constraint will also rem= ove the column "col2" from it's definition.

--=C2=A0
Harshal Dhumal
Software Engineer=C2=A0





--
Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgadmin-hackers=




-- <= br>
Akshay Joshi
<= b>Principal Software Engineer=C2=A0

<= /span>

Phone: +91 20-3= 058-9517
Mobile: +91 976-788-8246



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

Enterp= riseDB UK: http:/= /www.enterprisedb.com
The Enterprise PostgreSQL Company


--001a114900ba3ec85d0533821b5e-- --001a114900ba3ec8620533821b60 Content-Type: application/octet-stream; name="fixed_review_comments.patch" Content-Disposition: attachment; filename="fixed_review_comments.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_iok0lxz40 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb2x1bW4vdGVt cGxhdGVzL2NvbHVtbi9qcy9jb2x1bW4uanMgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvY29sdW1uL3RlbXBsYXRlcy9jb2x1bW4vanMvY29sdW1uLmpzCmlu ZGV4IDVmOGVkYzYuLjhhMTJmMzIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3RhYmxlcy9jb2x1bW4vdGVtcGxhdGVzL2NvbHVtbi9qcy9jb2x1bW4u anMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbHVtbi90ZW1wbGF0 ZXMvY29sdW1uL2pzL2NvbHVtbi5qcwpAQCAtODQsNiArODQsOCBAQCBmdW5j dGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3JtLCBh bGVydGlmeSkgewogICAgICAgdHlwZTogJ2NvbHVtbicsCiAgICAgICBsYWJl bDogJ3t7IF8oJ0NvbHVtbicpIH19JywKICAgICAgIGhhc1NRTDogIHRydWUs CisgICAgICBzcWxBbHRlckhlbHA6ICdzcWwtYWx0ZXJ0YWJsZS5odG1sJywK KyAgICAgIHNxbENyZWF0ZUhlbHA6ICdzcWwtYWx0ZXJ0YWJsZS5odG1sJywK ICAgICAgIGNhbkRyb3A6IGZ1bmN0aW9uKGl0ZW1EYXRhLCBpdGVtLCBkYXRh KXsKICAgICAgICAgaWYgKHBnQnJvd3Nlci5Ob2Rlc1snc2NoZW1hJ10uY2Fu Q2hpbGREcm9wLmFwcGx5KHRoaXMsIFtpdGVtRGF0YSwgaXRlbSwgZGF0YV0p KSB7CiAgICAgICAgICAgdmFyIHQgPSBwZ0Jyb3dzZXIudHJlZSwgaSA9IGl0 ZW0sIGQgPSBpdGVtRGF0YSwgcGFyZW50cyA9IFtdOwpAQCAtMjk0LDcgKzI5 Niw5IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3Nlciwg QmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICAgIH0pOwogCiAg ICAgICAgICAgICAgIGZsYWcgJiYgc2V0VGltZW91dChmdW5jdGlvbigpIHsK LSAgICAgICAgICAgICAgICAgIG0uc2V0KCdhdHRsZW4nLCBudWxsKTsKKyAg ICAgICAgICAgICAgICAgIGlmKG0uZ2V0KCdhdHRsZW4nKSkgeworICAgICAg ICAgICAgICAgICAgICBtLnNldCgnYXR0bGVuJywgbnVsbCk7CisgICAgICAg ICAgICAgICAgICB9CiAgICAgICAgICAgICAgICAgfSwxMCk7CiAKICAgICAg ICAgICAgICAgcmV0dXJuIGZsYWc7CkBAIC0zMTcsOCArMzIxLDEwIEBAIGZ1 bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zvcm0s IGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICAgIH0pOwogCiAgICAgICAgICAg ICAgIGZsYWcgJiYgc2V0VGltZW91dChmdW5jdGlvbigpIHsKKyAgICAgICAg ICAgICAgICBpZihtLmdldCgnYXR0cHJlY2lzaW9uJykpIHsKICAgICAgICAg ICAgICAgICAgIG0uc2V0KCdhdHRwcmVjaXNpb24nLCBudWxsKTsKLSAgICAg ICAgICAgICAgICB9LDEwKTsKKyAgICAgICAgICAgICAgICB9CisgICAgICAg ICAgICAgIH0sMTApOwogICAgICAgICAgICAgICByZXR1cm4gZmxhZzsKICAg ICAgICAgICAgfQogICAgICAgICAgfSx7CkBAIC0zMzgsNyArMzQ0LDkgQEAg ZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNrZm9y bSwgYWxlcnRpZnkpIHsKICAgICAgICAgICAgICAgfSk7CiAgICAgICAgICAg ICAgIGlmIChmbGFnKSB7CiAgICAgICAgICAgICAgICAgc2V0VGltZW91dChm dW5jdGlvbigpewotICAgICAgICAgICAgICAgICAgbS5zZXQoJ2NvbGxzcGNu YW1lJywgIiIpOworICAgICAgICAgICAgICAgICAgaWYobS5nZXQoJ2NvbGxz cGNuYW1lJykgJiYgbS5nZXQoJ2NvbGxzcGNuYW1lJykgIT09ICcnKSB7Cisg ICAgICAgICAgICAgICAgICAgIG0uc2V0KCdjb2xsc3BjbmFtZScsICIiKTsK KyAgICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgICB9LCAxMCk7 CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgcmV0dXJuIGZsYWc7 CkBAIC0zNzEsMTYgKzM3OSwyMCBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0Fk bWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3JtLCBhbGVydGlmeSkgewogICAgICAg ICAgICBdCiAgICAgICAgIH0sewogICAgICAgICAgIGlkOiAnaXNfcGsnLCBs YWJlbDone3sgXygnUHJpbWFyeSBrZXk/JykgfX0nLAotICAgICAgICAgIHR5 cGU6ICdzd2l0Y2gnLCBkaXNhYmxlZDogdHJ1ZSwgbW9kZTogWydwcm9wZXJ0 aWVzJ10KKyAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgZGlzYWJsZWQ6IHRy dWUsIG1vZGU6IFsncHJvcGVydGllcyddLAorICAgICAgICAgIGdyb3VwOiAn e3sgXygnRGVmaW5pdGlvbicpIH19JwogICAgICAgICB9LHsKICAgICAgICAg ICBpZDogJ2lzX2ZrJywgbGFiZWw6J3t7IF8oJ0ZvcmVpZ24ga2V5PycpIH19 JywKLSAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgZGlzYWJsZWQ6IHRydWUs IG1vZGU6IFsncHJvcGVydGllcyddCisgICAgICAgICAgdHlwZTogJ3N3aXRj aCcsIGRpc2FibGVkOiB0cnVlLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKKyAg ICAgICAgICBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScKICAgICAg ICAgfSx7CiAgICAgICAgICAgaWQ6ICdpc19pbmhlcml0ZWQnLCBsYWJlbDon e3sgXygnSW5oZXJpdGVkPycpIH19JywKLSAgICAgICAgICB0eXBlOiAnc3dp dGNoJywgZGlzYWJsZWQ6IHRydWUsIG1vZGU6IFsncHJvcGVydGllcyddCisg ICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGRpc2FibGVkOiB0cnVlLCBtb2Rl OiBbJ3Byb3BlcnRpZXMnXSwKKyAgICAgICAgICBncm91cDogJ3t7IF8oJ0Rl ZmluaXRpb24nKSB9fScKICAgICAgICAgfSx7CiAgICAgICAgICAgaWQ6ICd0 YmxzX2luaGVyaXRlZCcsIGxhYmVsOid7eyBfKCdJbmhlcml0ZWQgZnJvbSB0 YWJsZShzKScpIH19JywKICAgICAgICAgICB0eXBlOiAndGV4dCcsIGRpc2Fi bGVkOiB0cnVlLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwgZGVwczogWydpc19p bmhlcml0ZWQnXSwKKyAgICAgICAgICBncm91cDogJ3t7IF8oJ0RlZmluaXRp b24nKSB9fScsCiAgICAgICAgICAgdmlzaWJsZTogZnVuY3Rpb24obSkgewog ICAgICAgICAgICAgICBpZiAoIV8uaXNVbmRlZmluZWQobS5nZXQoJ2lzX2lu aGVyaXRlZCcpKSAmJiBtLmdldCgnaXNfaW5oZXJpdGVkJykpIHsKICAgICAg ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKQEAgLTM4OSwxMyArNDAxLDE5IEBA IGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zv cm0sIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICAgIH0KICAgICAgICAgICB9 CiAgICAgICAgIH0sewotICAgICAgICAgIGlkOiAnaXNfc3lzX2NvbHVtbics IGxhYmVsOid7eyBfKCdTeXN0ZW0gQ29sdW1uPycpIH19JywgY2VsbDogJ3N0 cmluZycsCisgICAgICAgICAgaWQ6ICdpc19zeXNfY29sdW1uJywgbGFiZWw6 J3t7IF8oJ1N5c3RlbSBjb2x1bW4/JykgfX0nLCBjZWxsOiAnc3RyaW5nJywK ICAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgZGlzYWJsZWQ6IHRydWUsIG1v ZGU6IFsncHJvcGVydGllcyddCiAgICAgICAgIH0sewogICAgICAgICAgIGlk OiAnZGVzY3JpcHRpb24nLCBsYWJlbDone3sgXygnQ29tbWVudCcpIH19Jywg Y2VsbDogJ3N0cmluZycsCiAgICAgICAgICAgdHlwZTogJ211bHRpbGluZScs IG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRpdCddLAogICAg ICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnCiAgICAgICAgIH0seworICAg ICAgICAgIGlkOiAnYXR0b3B0aW9ucycsIGxhYmVsOiAnVmFyaWFibGVzJywg dHlwZTogJ2NvbGxlY3Rpb24nLAorICAgICAgICAgIGdyb3VwOiAne3sgXygn VmFyaWFibGVzJykgfX0nLCBjb250cm9sOiAndW5pcXVlLWNvbC1jb2xsZWN0 aW9uJywKKyAgICAgICAgICBtb2RlbDogVmFyaWFibGVzTW9kZWwsIHVuaXF1 ZUNvbCA6IFsnbmFtZSddLAorICAgICAgICAgIG1vZGU6IFsnZWRpdCcsICdj cmVhdGUnXSwgY2FuQWRkOiB0cnVlLCBjYW5FZGl0OiBmYWxzZSwKKyAgICAg ICAgICBjYW5EZWxldGU6IHRydWUKKyAgICAgICAgfSx7CiAgICAgICAgICAg aWQ6ICdhdHRhY2wnLCBsYWJlbDogJ1ByaXZpbGVnZXMnLCB0eXBlOiAnY29s bGVjdGlvbicsCiAgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdTZWN1cml0eScp IH19JywgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsCiAgICAg ICAgICAgbW9kZWw6IHBnQWRtaW4uQnJvd3Nlci5Ob2RlLlByaXZpbGVnZVJv bGVNb2RlbC5leHRlbmQoewpAQCAtNDAzLDEyICs0MjEsNiBAQCBmdW5jdGlv bigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3JtLCBhbGVy dGlmeSkgewogICAgICAgICAgIG1vZGU6IFsnZWRpdCddLCBjYW5BZGQ6IHRy dWUsIGNhbkRlbGV0ZTogdHJ1ZSwKICAgICAgICAgICB1bmlxdWVDb2wgOiBb J2dyYW50ZWUnXQogICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2F0dG9w dGlvbnMnLCBsYWJlbDogJ1ZhcmlhYmxlcycsIHR5cGU6ICdjb2xsZWN0aW9u JywKLSAgICAgICAgICBncm91cDogJ3t7IF8oJ1NlY3VyaXR5JykgfX0nLCBj b250cm9sOiAndW5pcXVlLWNvbC1jb2xsZWN0aW9uJywKLSAgICAgICAgICBt b2RlbDogVmFyaWFibGVzTW9kZWwsIHVuaXF1ZUNvbCA6IFsnbmFtZSddLAot ICAgICAgICAgIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwgY2FuQWRkOiB0 cnVlLCBjYW5FZGl0OiBmYWxzZSwKLSAgICAgICAgICBjYW5EZWxldGU6IHRy dWUKLSAgICAgICAgfSx7CiAgICAgICAgICAgaWQ6ICdzZWNsYWJlbHMnLCBs YWJlbDogJ3t7IF8oJ1NlY3VyaXR5IExhYmVscycpIH19JywKICAgICAgICAg ICBtb2RlbDogcGdBZG1pbi5Ccm93c2VyLlNlY3VyaXR5TW9kZWwsCiAgICAg ICAgICAgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29sbGVjdGlvbicsCkBA IC01MDYsNyArNTE4LDcgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwg cGdCcm93c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsKICAgICAgICAgICB2 YXIgbm9kZV9pbmZvID0gdGhpcy5ub2RlX2luZm8gfHwgbS5ub2RlX2luZm8g fHwgbS50b3Aubm9kZV9pbmZvOwogCiAgICAgICAgICAgLy8gZGlzYWJsZSBh bGwgZmllbGRzIGlmIGNvbHVtbiBpcyBsaXN0ZWQgdW5kZXIgdmlldyBvciBt dmlldwotICAgICAgICAgIGlmICgndmlldycgaW4gbm9kZV9pbmZvIHx8ICdt dmlldycgaW4gbm9kZV9pbmZvKSB7CisgICAgICAgICAgaWYgKG5vZGVfaW5m byAmJiAoJ3ZpZXcnIGluIG5vZGVfaW5mbyB8fCAnbXZpZXcnIGluIG5vZGVf aW5mbykpIHsKICAgICAgICAgICAgIGlmICh0aGlzICYmIF8uaGFzKHRoaXMs ICduYW1lJykgJiYgKHRoaXMubmFtZSAhPSAnZGVmdmFsJykpIHsKICAgICAg ICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvY2hlY2tf Y29uc3RyYWludC90ZW1wbGF0ZXMvY2hlY2tfY29uc3RyYWludC9qcy9jaGVj a19jb25zdHJhaW50LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0 cmFpbnRzL2NoZWNrX2NvbnN0cmFpbnQvdGVtcGxhdGVzL2NoZWNrX2NvbnN0 cmFpbnQvanMvY2hlY2tfY29uc3RyYWludC5qcwppbmRleCBhZmM1YmE5Li5l YmIxNzExIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29u c3RyYWludHMvY2hlY2tfY29uc3RyYWludC90ZW1wbGF0ZXMvY2hlY2tfY29u c3RyYWludC9qcy9jaGVja19jb25zdHJhaW50LmpzCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9jaGVja19jb25zdHJhaW50L3Rl bXBsYXRlcy9jaGVja19jb25zdHJhaW50L2pzL2NoZWNrX2NvbnN0cmFpbnQu anMKQEAgLTExMSw3ICsxMTEsOCBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0Fk bWluLCBwZ0Jyb3dzZXIsIEFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICB2YXIg bmFtZSA9IG0uZ2V0KCduYW1lJyk7CiAgICAgICAgICAgICBpZiAoIShuYW1l ICYmIG5hbWUgIT0gJycpKSB7CiAgICAgICAgICAgICAgIHNldFRpbWVvdXQo ZnVuY3Rpb24oKXsKLSAgICAgICAgICAgICAgICBtLnNldCgnY29tbWVudCcs IG51bGwpOworICAgICAgICAgICAgICAgIGlmKG0uZ2V0KCdjb21tZW50Jykg JiYgbS5nZXQoJ2NvbW1lbnQnKSAhPT0gJycpCisgICAgICAgICAgICAgICAg ICBtLnNldCgnY29tbWVudCcsIG51bGwpOwogICAgICAgICAgICAgICB9LDEw KTsKICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9 IGVsc2UgewpAQCAtMTI3LDcgKzEyOCw3IEBAIGZ1bmN0aW9uKCQsIF8sIFMs IHBnQWRtaW4sIHBnQnJvd3NlciwgQWxlcnRpZnkpIHsKICAgICAgICAgICAg ICAgIV8uaXNVbmRlZmluZWQobS5nZXQoJ29pZCcpKSkgfHwgKF8uaXNGdW5j dGlvbihtLmlzTmV3KSAmJiAhbS5pc05ldygpKSk7CiAgICAgICAgICAgfSwg ZWRpdGFibGU6IGZhbHNlCiAgICAgICAgIH0sewotICAgICAgICAgIGlkOiAn Y29ubm9pbmhlcml0JywgbGFiZWw6ICd7eyBfKCdObyBJbmhlcml0JykgfX0n LCB0eXBlOgorICAgICAgICAgIGlkOiAnY29ubm9pbmhlcml0JywgbGFiZWw6 ICd7eyBfKCdObyBJbmhlcml0PycpIH19JywgdHlwZToKICAgICAgICAgICAn c3dpdGNoJywgY2VsbDogJ2Jvb2xlYW4nLCBncm91cDogJ3t7IF8oJ0RlZmlu aXRpb24nKSB9fScsIG1vZGU6CiAgICAgICAgICAgWydwcm9wZXJ0aWVzJywg J2NyZWF0ZScsICdlZGl0J10sIG1pbl92ZXJzaW9uOiA5MDIwMCwKICAgICAg ICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewpAQCAtMTM2LDcgKzEzNyw3 IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQWxl cnRpZnkpIHsKICAgICAgICAgICAgICAgIV8uaXNVbmRlZmluZWQobS5nZXQo J29pZCcpKSkgfHwgKF8uaXNGdW5jdGlvbihtLmlzTmV3KSAmJiAhbS5pc05l dygpKSk7CiAgICAgICAgICAgfQogICAgICAgICB9LHsKLSAgICAgICAgICBp ZDogJ2NvbnZhbGlkYXRlZCcsIGxhYmVsOiAie3sgXygiRG9uJ3QgdmFsaWRh dGUiKSB9fSIsIHR5cGU6ICdzd2l0Y2gnLCBjZWxsOgorICAgICAgICAgIGlk OiAnY29udmFsaWRhdGVkJywgbGFiZWw6ICJ7eyBfKCJEb24ndCB2YWxpZGF0 ZT8iKSB9fSIsIHR5cGU6ICdzd2l0Y2gnLCBjZWxsOgogICAgICAgICAgICdi b29sZWFuJywgZ3JvdXA6ICd7eyBfKCdEZWZpbml0aW9uJykgfX0nLCBtaW5f dmVyc2lvbjogOTAyMDAsCiAgICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9u KG0pIHsKICAgICAgICAgICAgIGlmICgoXy5pc0Z1bmN0aW9uKG0uaXNOZXcp ICYmICFtLmlzTmV3KCkpIHx8CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvY29uc3RyYWludHMvZXhjbHVzaW9uX2NvbnN0cmFpbnQvdGVt cGxhdGVzL2V4Y2x1c2lvbl9jb25zdHJhaW50L2pzL2V4Y2x1c2lvbl9jb25z dHJhaW50LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRz L2V4Y2x1c2lvbl9jb25zdHJhaW50L3RlbXBsYXRlcy9leGNsdXNpb25fY29u c3RyYWludC9qcy9leGNsdXNpb25fY29uc3RyYWludC5qcwppbmRleCA2Y2Zh N2MzLi43YmFmMWFmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvY29uc3RyYWludHMvZXhjbHVzaW9uX2NvbnN0cmFpbnQvdGVtcGxhdGVz L2V4Y2x1c2lvbl9jb25zdHJhaW50L2pzL2V4Y2x1c2lvbl9jb25zdHJhaW50 LmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9l eGNsdXNpb25fY29uc3RyYWludC90ZW1wbGF0ZXMvZXhjbHVzaW9uX2NvbnN0 cmFpbnQvanMvZXhjbHVzaW9uX2NvbnN0cmFpbnQuanMKQEAgLTY1Myw3ICs2 NTMsOCBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIs IEFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICB2YXIgbmFtZSA9IG0uZ2V0KCdu YW1lJyk7CiAgICAgICAgICAgICBpZiAoIShuYW1lICYmIG5hbWUgIT0gJycp KSB7CiAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKXsKLSAg ICAgICAgICAgICAgICBtLnNldCgnY29tbWVudCcsIG51bGwpOworICAgICAg ICAgICAgICBpZihtLmdldCgnY29tbWVudCcpICYmIG0uZ2V0KCdjb21tZW50 JykgIT09ICcnKQorICAgICAgICAgICAgICAgICBtLnNldCgnY29tbWVudCcs IG51bGwpOwogICAgICAgICAgICAgICB9LDEwKTsKICAgICAgICAgICAgICAg cmV0dXJuIHRydWU7CiAgICAgICAgICAgICB9IGVsc2UgewpAQCAtNzEzLDcg KzcxNCw3IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3Nl ciwgQWxlcnRpZnkpIHsKICAgICAgICAgICBpZDogJ2ZpbGxmYWN0b3InLCBs YWJlbDogJ3t7IF8oJ0ZpbGwgZmFjdG9yJykgfX0nLAogICAgICAgICAgIHR5 cGU6ICdpbnQnLCBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScsIGFs bG93TnVsbDogdHJ1ZQogICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2Nv bmRlZmVycmFibGUnLCBsYWJlbDogJ3t7IF8oJ0RlZmVycmFibGUnKSB9fScs CisgICAgICAgICAgaWQ6ICdjb25kZWZlcnJhYmxlJywgbGFiZWw6ICd7eyBf KCdEZWZlcnJhYmxlPycpIH19JywKICAgICAgICAgICB0eXBlOiAnc3dpdGNo JywgZ3JvdXA6ICd7eyBfKCdEZWZpbml0aW9uJykgfX0nLCBkZXBzOiBbJ2lu ZGV4J10sCiAgICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKICAg ICAgICAgICAgIHJldHVybiAoKF8uaGFzKG0sICdoYW5kbGVyJykgJiYKQEAg LTcyMSw3ICs3MjIsNyBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBw Z0Jyb3dzZXIsIEFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICAgICFfLmlzVW5k ZWZpbmVkKG0uZ2V0KCdvaWQnKSkpIHx8IChfLmlzRnVuY3Rpb24obS5pc05l dykgJiYgIW0uaXNOZXcoKSkpOwogICAgICAgICAgIH0KICAgICAgICAgfSx7 Ci0gICAgICAgICAgaWQ6ICdjb25kZWZlcnJlZCcsIGxhYmVsOiAne3sgXygn RGVmZXJyZWQnKSB9fScsCisgICAgICAgICAgaWQ6ICdjb25kZWZlcnJlZCcs IGxhYmVsOiAne3sgXygnRGVmZXJyZWQ/JykgfX0nLAogICAgICAgICAgIHR5 cGU6ICdzd2l0Y2gnLCBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScs CiAgICAgICAgICAgZGVwczogWydjb25kZWZlcnJhYmxlJ10sCiAgICAgICAg ICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKQEAgLTczNiw3ICs3MzcsOCBA QCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEFsZXJ0 aWZ5KSB7CiAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg ICAgIH0gZWxzZSB7CiAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rp b24oKXsKLSAgICAgICAgICAgICAgICBtLnNldCgnY29uZGVmZXJyZWQnLCBm YWxzZSk7CisgICAgICAgICAgICAgICAgaWYobS5nZXQoJ2NvbmRlZmVycmVk JykpCisgICAgICAgICAgICAgICAgICBtLnNldCgnY29uZGVmZXJyZWQnLCBm YWxzZSk7CiAgICAgICAgICAgICAgIH0sMTApOwogICAgICAgICAgICAgICBy ZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIH0KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9mb3JlaWduX2tleS90ZW1w bGF0ZXMvZm9yZWlnbl9rZXkvanMvZm9yZWlnbl9rZXkuanMgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMvZm9yZWlnbl9rZXkvdGVtcGxh dGVzL2ZvcmVpZ25fa2V5L2pzL2ZvcmVpZ25fa2V5LmpzCmluZGV4IDdkYTQ1 OGEuLjZlZjdkOGMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy9jb25zdHJhaW50cy9mb3JlaWduX2tleS90ZW1wbGF0ZXMvZm9yZWlnbl9r ZXkvanMvZm9yZWlnbl9rZXkuanMKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFi bGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5L3RlbXBsYXRlcy9mb3JlaWdu X2tleS9qcy9mb3JlaWduX2tleS5qcwpAQCAtMjEsOSArMjEsNiBAQCBmdW5j dGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEFsZXJ0aWZ5KSB7 CiAgICAgICBoZWFkZXJTZWxlY3RDb250cm9sVGVtcGxhdGUgPSAgXy50ZW1w bGF0ZShbCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnPGRpdiBj bGFzcz0iPCU9QmFja2Zvcm0uY29udHJvbHNDbGFzc05hbWUlPiA8JT1leHRy YUNsYXNzZXMuam9pbihcJyBcJyklPiI+JywKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICcgIDxzZWxlY3QgY2xhc3M9InBnYWRtaW4tbm9kZS1z ZWxlY3QgZm9ybS1jb250cm9sIiBuYW1lPSI8JT1uYW1lJT4iIHN0eWxlPSJ3 aWR0aDoxMDAlOyIgdmFsdWU9IjwlLXZhbHVlJT4iIDwlPWRpc2FibGVkID8g ImRpc2FibGVkIiA6ICIiJT4gPCU9cmVxdWlyZWQgPyAicmVxdWlyZWQiIDog IiIlPiA+JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcgICAg PCUgaWYgKGZpcnN0X2VtcHR5KSB7ICU+JywKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICcgICAgPG9wdGlvbiB2YWx1ZT0iIiA8JT0iIiA9PT0g cmF3VmFsdWUgPyAic2VsZWN0ZWQiIDogIiIgJT4+PCUtIGVtcHR5X3ZhbHVl ICU+PC9vcHRpb24+JywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICcgICAgPCUgfSAlPicsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAnICAgIDwlIGZvciAodmFyIGk9MDsgaSA8IG9wdGlvbnMubGVuZ3RoOyBp KyspIHsgJT4nLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyAg ICA8JSB2YXIgb3B0aW9uID0gb3B0aW9uc1tpXTsgJT4nLAogICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJyAgICA8b3B0aW9uIDwlIGlmIChvcHRp b24uaW1hZ2UpIHsgJT4gZGF0YS1pbWFnZT08JT0gb3B0aW9uLmltYWdlICU+ IDwlIH0gJT4gdmFsdWU9PCU9IGZvcm1hdHRlci5mcm9tUmF3KG9wdGlvbi52 YWx1ZSkgJT4gPCU9b3B0aW9uLnZhbHVlID09PSByYXdWYWx1ZSA/ICJzZWxl Y3RlZD1cJ3NlbGVjdGVkXCciIDogIiIgJT4+PCUtb3B0aW9uLmxhYmVsJT48 L29wdGlvbj4nLApAQCAtNzAyLDcgKzY5OSw4IEBAIGZ1bmN0aW9uKCQsIF8s IFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQWxlcnRpZnkpIHsKICAgICAgICAg ICAgIHZhciBuYW1lID0gbS5nZXQoJ25hbWUnKTsKICAgICAgICAgICAgIGlm ICghKG5hbWUgJiYgbmFtZSAhPSAnJykpIHsKICAgICAgICAgICAgICAgc2V0 VGltZW91dChmdW5jdGlvbigpewotICAgICAgICAgICAgICAgIG0uc2V0KCdj b21tZW50JywgbnVsbCk7CisgICAgICAgICAgICAgIGlmKG0uZ2V0KCdjb21t ZW50JykgJiYgbS5nZXQoJ2NvbW1lbnQnKSAhPT0gJycpCisgICAgICAgICAg ICAgICAgIG0uc2V0KCdjb21tZW50JywgbnVsbCk7CiAgICAgICAgICAgICAg IH0sMTApOwogICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg ICAgIH0gZWxzZSB7CkBAIC03MTAsNyArNzA4LDcgQEAgZnVuY3Rpb24oJCwg XywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBBbGVydGlmeSkgewogICAgICAg ICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAgfSx7Ci0gICAgICAgICAg aWQ6ICdjb25kZWZlcnJhYmxlJywgbGFiZWw6ICd7eyBfKCdEZWZlcnJhYmxl JykgfX0nLAorICAgICAgICAgIGlkOiAnY29uZGVmZXJyYWJsZScsIGxhYmVs OiAne3sgXygnRGVmZXJyYWJsZT8nKSB9fScsCiAgICAgICAgICAgdHlwZTog J3N3aXRjaCcsIGdyb3VwOiAne3sgXygnRGVmaW5pdGlvbicpIH19JywKICAg ICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewogICAgICAgICAgICAg Ly8gSWYgd2UgYXJlIGluIHRhYmxlIGVkaXQgbW9kZSB0aGVuCkBAIC03MjMs NyArNzIxLDcgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93 c2VyLCBBbGVydGlmeSkgewogICAgICAgICAgICAgcmV0dXJuICFtLmlzTmV3 KCk7CiAgICAgICAgICAgfQogICAgICAgICB9LHsKLSAgICAgICAgICBpZDog J2NvbmRlZmVycmVkJywgbGFiZWw6ICd7eyBfKCdEZWZlcnJlZCcpIH19JywK KyAgICAgICAgICBpZDogJ2NvbmRlZmVycmVkJywgbGFiZWw6ICd7eyBfKCdE ZWZlcnJlZD8nKSB9fScsCiAgICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGdy b3VwOiAne3sgXygnRGVmaW5pdGlvbicpIH19JywKICAgICAgICAgICBkZXBz OiBbJ2NvbmRlZmVycmFibGUnXSwKICAgICAgICAgICBkaXNhYmxlZDogZnVu Y3Rpb24obSkgewpAQCAtNzQwLDcgKzczOCw4IEBAIGZ1bmN0aW9uKCQsIF8s IFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQWxlcnRpZnkpIHsKICAgICAgICAg ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfSBlbHNlIHsKICAg ICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewotICAgICAgICAg ICAgICAgIG0uc2V0KCdjb25kZWZlcnJlZCcsIGZhbHNlKTsKKyAgICAgICAg ICAgICAgICBpZihtLmdldCgnY29uZGVmZXJyZWQnKSkKKyAgICAgICAgICAg ICAgICAgIG0uc2V0KCdjb25kZWZlcnJlZCcsIGZhbHNlKTsKICAgICAgICAg ICAgICAgfSwxMCk7CiAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg ICAgICAgICAgfQpAQCAtNzc4LDcgKzc3Nyw3IEBAIGZ1bmN0aW9uKCQsIF8s IFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQWxlcnRpZnkpIHsKICAgICAgICAg ICAgIHJldHVybiAhKG0uaXNOZXcoKSB8fCBtLmdldCgiY29udmFsaWRhdGVk IikpOwogICAgICAgICAgIH0KICAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6 ICdhdXRvaW5kZXgnLCBsYWJlbDogJ3t7IF8oJ0F1dG8gRksgaW5kZXgnKSB9 fScsCisgICAgICAgICAgaWQ6ICdhdXRvaW5kZXgnLCBsYWJlbDogJ3t7IF8o J0F1dG8gRksgaW5kZXg/JykgfX0nLAogICAgICAgICAgIHR5cGU6ICdzd2l0 Y2gnLCBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScsCiAgICAgICAg ICAgZGVwczogWyduYW1lJywgJ2hhc2luZGV4J10sCiAgICAgICAgICAgb3B0 aW9uczogewpAQCAtODA5LDcgKzgwOCw4IEBAIGZ1bmN0aW9uKCQsIF8sIFMs IHBnQWRtaW4sIHBnQnJvd3NlciwgQWxlcnRpZnkpIHsKICAgICAgICAgICAg ICAgICAvLyBuZXcgY29uc3RyYWludCB3aGljaCBzaG91bGQgYWxsb3dlZCBm b3IgVW5pcXVlCiAgICAgICAgICAgICAgICAgaWYoXy5pc1VuZGVmaW5lZCht LmdldCgnb2lkJykpICYmIF8uaXNVbmRlZmluZWQobS5oYW5kbGVyLmdldCgn b2lkJykpKSB7CiAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0 aW9uICgpIHsKLSAgICAgICAgICAgICAgICAgICAgbS5zZXQoJ2F1dG9pbmRl eCcsIGZhbHNlKTsKKyAgICAgICAgICAgICAgICAgICAgaWYobS5nZXQoJ2F1 dG9pbmRleCcpKQorICAgICAgICAgICAgICAgICAgICAgIG0uc2V0KCdhdXRv aW5kZXgnLCBmYWxzZSk7CiAgICAgICAgICAgICAgICAgICB9LCAxMCk7CiAg ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAg ICB9IGVsc2UgewpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0cmFpbnQvdGVtcGxhdGVzL2luZGV4 X2NvbnN0cmFpbnQvanMvaW5kZXhfY29uc3RyYWludC5qcyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9pbmRleF9jb25zdHJhaW50L3Rl bXBsYXRlcy9pbmRleF9jb25zdHJhaW50L2pzL2luZGV4X2NvbnN0cmFpbnQu anMKaW5kZXggYjE5ZDkwZi4uNmY3MDljNCAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL2NvbnN0cmFpbnRzL2luZGV4X2NvbnN0cmFpbnQv dGVtcGxhdGVzL2luZGV4X2NvbnN0cmFpbnQvanMvaW5kZXhfY29uc3RyYWlu dC5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWludHMv aW5kZXhfY29uc3RyYWludC90ZW1wbGF0ZXMvaW5kZXhfY29uc3RyYWludC9q cy9pbmRleF9jb25zdHJhaW50LmpzCkBAIC0xMDEsNyArMTAxLDkgQEAgZnVu Y3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBhbGVydGlmeSkg ewogICAgICAgICAgICAgdmFyIG5hbWUgPSBtLmdldCgnbmFtZScpOwogICAg ICAgICAgICAgaWYgKCEobmFtZSAmJiBuYW1lICE9ICcnKSkgewogICAgICAg ICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCl7Ci0gICAgICAgICAgICAg ICAgbS5zZXQoJ2NvbW1lbnQnLCBudWxsKTsKKyAgICAgICAgICAgICAgIGlm KG0uZ2V0KCdjb21tZW50JykgJiYgbS5nZXQoJ2NvbW1lbnQnKSAhPT0gJycp IHsKKyAgICAgICAgICAgICAgICAgbS5zZXQoJ2NvbW1lbnQnLCBudWxsKTsK KyAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgICAgfSwxMCk7CiAgICAg ICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgfSBlbHNlIHsK QEAgLTIwNywxNyArMjA5LDYgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1p biwgcGdCcm93c2VyLCBhbGVydGlmeSkgewogICAgICAgICAgIH0pLAogICAg ICAgICAgIGNhbkRlbGV0ZTogdHJ1ZSwgY2FuQWRkOiB0cnVlLAogICAgICAg ICAgIGNvbnRyb2w6IEJhY2tmb3JtLk11bHRpU2VsZWN0QWpheENvbnRyb2wu ZXh0ZW5kKHsKLSAgICAgICAgICAgIGZvcm1hdHRlcjogewotICAgICAgICAg ICAgICBmcm9tUmF3OiBmdW5jdGlvbiAocmF3RGF0YSwgbW9kZWwpIHsKLSAg ICAgICAgICAgICAgICB2YXIgcmVzID0gXy5pc09iamVjdChyYXdEYXRhKSA/ Ci0gICAgICAgICAgICAgICAgICAgICAgcmF3RGF0YSA6IEpTT04ucGFyc2Uo cmF3RGF0YSk7Ci0KLSAgICAgICAgICAgICAgICByZXR1cm4gXy5wbHVjayhy ZXMsICdjb2x1bW4nKTsKLSAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAg ICAgdG9SYXc6IGZ1bmN0aW9uIChmb3JtYXR0ZWREYXRhLCBtb2RlbCkgewot ICAgICAgICAgICAgICAgIHJldHVybiBmb3JtYXR0ZWREYXRhOwotICAgICAg ICAgICAgICB9Ci0gICAgICAgICAgICB9LAogICAgICAgICAgICAgZGVmYXVs dHM6IF8uZXh0ZW5kKAogICAgICAgICAgICAgICB7fSwKICAgICAgICAgICAg ICAgQmFja2Zvcm0uTm9kZUxpc3RCeU5hbWVDb250cm9sLnByb3RvdHlwZS5k ZWZhdWx0cywKQEAgLTQ1NCw3ICs0NDUsNyBAQCBmdW5jdGlvbigkLCBfLCBT LCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAg ICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgfSx7Ci0gICAgICAgICAg aWQ6ICdjb25kZWZlcnJhYmxlJywgbGFiZWw6ICd7eyBfKCdEZWZlcnJhYmxl JykgfX0nLAorICAgICAgICAgIGlkOiAnY29uZGVmZXJyYWJsZScsIGxhYmVs OiAne3sgXygnRGVmZXJyYWJsZT8nKSB9fScsCiAgICAgICAgICAgdHlwZTog J3N3aXRjaCcsIGdyb3VwOiAne3sgXygnRGVmaW5pdGlvbicpIH19JywgZGVw czogWydpbmRleCddLAogICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbiht KSB7CiAgICAgICAgICAgICAvLyBJZiB3ZSBhcmUgaW4gdGFibGUgZWRpdCBt b2RlIHRoZW4KQEAgLTQ3NSwxMyArNDY2LDE0IEBAIGZ1bmN0aW9uKCQsIF8s IFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgYWxlcnRpZnkpIHsKICAgICAgICAg ICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfSBlbHNlIHsKICAg ICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpewotICAgICAgICAg ICAgICAgIG0uc2V0KCdjb25kZWZlcnJhYmxlJywgZmFsc2UpOworICAgICAg ICAgICAgICAgIGlmKG0uZ2V0KCdjb25kZWZlcnJhYmxlJykpCisgICAgICAg ICAgICAgICAgICBtLnNldCgnY29uZGVmZXJyYWJsZScsIGZhbHNlKTsKICAg ICAgICAgICAgICAgfSwxMCk7CiAgICAgICAgICAgICAgIHJldHVybiB0cnVl OwogICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAgfSx7Ci0g ICAgICAgICAgaWQ6ICdjb25kZWZlcnJlZCcsIGxhYmVsOiAne3sgXygnRGVm ZXJyZWQnKSB9fScsCisgICAgICAgICAgaWQ6ICdjb25kZWZlcnJlZCcsIGxh YmVsOiAne3sgXygnRGVmZXJyZWQ/JykgfX0nLAogICAgICAgICAgIHR5cGU6 ICdzd2l0Y2gnLCBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScsCiAg ICAgICAgICAgZGVwczogWydjb25kZWZlcnJhYmxlJ10sCiAgICAgICAgICAg ZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKQEAgLTUwMiw3ICs0OTQsOCBAQCBm dW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5 KSB7CiAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgICAg IH0gZWxzZSB7CiAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o KXsKLSAgICAgICAgICAgICAgICBtLnNldCgnY29uZGVmZXJyZWQnLCBmYWxz ZSk7CisgICAgICAgICAgICAgICBpZihtLmdldCgnY29uZGVmZXJyZWQnKSkK KyAgICAgICAgICAgICAgICAgIG0uc2V0KCdjb25kZWZlcnJlZCcsIGZhbHNl KTsKICAgICAgICAgICAgICAgfSwxMCk7CiAgICAgICAgICAgICAgIHJldHVy biB0cnVlOwogICAgICAgICAgICAgfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL2luZGV4ZXMvdGVtcGxhdGVzL2luZGV4L2pzL2luZGV4 LmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL2luZGV4ZXMvdGVtcGxhdGVz L2luZGV4L2pzL2luZGV4LmpzCmluZGV4IGI0OTQ5MmEuLjc4NTkxMTIgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9pbmRleGVzL3RlbXBs YXRlcy9pbmRleC9qcy9pbmRleC5qcworKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvaW5kZXhlcy90ZW1wbGF0ZXMvaW5kZXgvanMvaW5kZXguanMKQEAg LTE1LDYgKzE1LDYyIEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBn QnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAgICB9KTsKICAg fTsKIAorICAvLyBTd2l0Y2ggQ2VsbCB3aXRoIERlcHMKKyAgdmFyIFN3aXRj aERlcENlbGwgPSBCYWNrZ3JpZC5FeHRlbnNpb24uU3dpdGNoQ2VsbC5leHRl bmQoeworICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oKSB7CisgICAgICAg IEJhY2tncmlkLkV4dGVuc2lvbi5Td2l0Y2hDZWxsLnByb3RvdHlwZS5pbml0 aWFsaXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgIEJhY2tn cmlkLkV4dGVuc2lvbi5EZXBlbmRlbnRDZWxsLnByb3RvdHlwZS5pbml0aWFs aXplLmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICB9LAorICAgICAg ZGVwZW5kZW50Q2hhbmdlZDogZnVuY3Rpb24gKCkgeworICAgICAgICB2YXIg bW9kZWwgPSB0aGlzLm1vZGVsLAorICAgICAgICAgIGNvbHVtbiA9IHRoaXMu Y29sdW1uLAorICAgICAgICAgIGVkaXRhYmxlID0gdGhpcy5jb2x1bW4uZ2V0 KCJlZGl0YWJsZSIpLAorICAgICAgICAgIGlucHV0ID0gdGhpcy4kZWwuZmlu ZCgnaW5wdXRbdHlwZT1jaGVja2JveF0nKS5maXJzdCgpOworCisgICAgICAg IGlzX2VkaXRhYmxlID0gXy5pc0Z1bmN0aW9uKGVkaXRhYmxlKSA/ICEhZWRp dGFibGUuYXBwbHkoY29sdW1uLCBbbW9kZWxdKSA6ICEhZWRpdGFibGU7Cisg ICAgICAgIGlmIChpc19lZGl0YWJsZSkgeworICAgICAgICAgICB0aGlzLiRl bC5hZGRDbGFzcygiZWRpdGFibGUiKTsKKyAgICAgICAgICAgaW5wdXQucHJv cCgnZGlzYWJsZWQnLCBmYWxzZSk7CisgICAgICAgICB9IGVsc2UgeworICAg ICAgICAgICB0aGlzLiRlbC5yZW1vdmVDbGFzcygiZWRpdGFibGUiKTsKKyAg ICAgICAgICAgaW5wdXQucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTsKKyAgICAg ICAgIH0KKworICAgICAgICB0aGlzLmRlbGVnYXRlRXZlbnRzKCk7CisgICAg ICAgIHJldHVybiB0aGlzOworICAgICAgfSwKKyAgICAgIHJlbW92ZTogQmFj a2dyaWQuRXh0ZW5zaW9uLkRlcGVuZGVudENlbGwucHJvdG90eXBlLnJlbW92 ZQorICAgIH0pOworCisKKyAgLy8gTm9kZS1BamF4LUNlbGwgd2l0aCBEZXBz CisgIHZhciBOb2RlQWpheE9wdGlvbnNEZXBzQ2VsbCA9IEJhY2tncmlkLkV4 dGVuc2lvbi5Ob2RlQWpheE9wdGlvbnNDZWxsLmV4dGVuZCh7CisgICAgICBp bml0aWFsaXplOiBmdW5jdGlvbigpIHsKKyAgICAgICAgQmFja2dyaWQuRXh0 ZW5zaW9uLk5vZGVBamF4T3B0aW9uc0NlbGwucHJvdG90eXBlLmluaXRpYWxp emUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICAgICAgQmFja2dyaWQu RXh0ZW5zaW9uLkRlcGVuZGVudENlbGwucHJvdG90eXBlLmluaXRpYWxpemUu YXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICAgIH0sCisgICAgICBkZXBl bmRlbnRDaGFuZ2VkOiBmdW5jdGlvbiAoKSB7CisgICAgICAgIHZhciBtb2Rl bCA9IHRoaXMubW9kZWwsCisgICAgICAgICAgY29sdW1uID0gdGhpcy5jb2x1 bW4sCisgICAgICAgICAgZWRpdGFibGUgPSB0aGlzLmNvbHVtbi5nZXQoImVk aXRhYmxlIiksCisgICAgICAgICAgaW5wdXQgPSB0aGlzLiRlbC5maW5kKCdz ZWxlY3QnKS5maXJzdCgpOworCisgICAgICAgIGlzX2VkaXRhYmxlID0gXy5p c0Z1bmN0aW9uKGVkaXRhYmxlKSA/ICEhZWRpdGFibGUuYXBwbHkoY29sdW1u LCBbbW9kZWxdKSA6ICEhZWRpdGFibGU7CisgICAgICAgIGlmIChpc19lZGl0 YWJsZSkgeworICAgICAgICAgICB0aGlzLiRlbC5hZGRDbGFzcygiZWRpdGFi bGUiKTsKKyAgICAgICAgICAgaW5wdXQucHJvcCgnZGlzYWJsZWQnLCBmYWxz ZSk7CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICB0aGlzLiRlbC5y ZW1vdmVDbGFzcygiZWRpdGFibGUiKTsKKyAgICAgICAgICAgaW5wdXQucHJv cCgnZGlzYWJsZWQnLCB0cnVlKTsKKyAgICAgICAgIH0KKworICAgICAgICB0 aGlzLmRlbGVnYXRlRXZlbnRzKCk7CisgICAgICAgIHJldHVybiB0aGlzOwor ICAgICAgfSwKKyAgICAgIHJlbW92ZTogQmFja2dyaWQuRXh0ZW5zaW9uLkRl cGVuZGVudENlbGwucHJvdG90eXBlLnJlbW92ZQorICAgIH0pOworCisKICAg ICAvLyBNb2RlbCB0byBjcmVhdGUgY29sdW1uIGNvbGxlY3Rpb24gY29udHJv bAogICAgIHZhciBDb2x1bW5Nb2RlbCA9IHBnQWRtaW4uQnJvd3Nlci5Ob2Rl Lk1vZGVsLmV4dGVuZCh7CiAgICAgICAgIGRlZmF1bHRzOiB7CkBAIC0yNiwy MyArODIsMzggQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93 c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsKICAgICAgICAgfSwKICAgICAg ICAgc2NoZW1hOiBbCiAgICAgICAgICAgewotICAgICAgICAgICAgaWQ6ICdj b2xuYW1lJywgbGFiZWw6J3t7IF8oJ0NvbHVtbicpIH19JywgY2VsbDogJ3N0 cmluZycsCi0gICAgICAgICAgICB0eXBlOiAndGV4dCcsIGRpc2FibGVkOiAn aW5TY2hlbWEnLCBlZGl0YWJsZTogZmFsc2UsCisgICAgICAgICAgICBpZDog J2NvbG5hbWUnLCBsYWJlbDone3sgXygnQ29sdW1uJykgfX0nLCBjZWxsOiAn bm9kZS1saXN0LWJ5LW5hbWUnLAorICAgICAgICAgICAgdHlwZTogJ3RleHQn LCBkaXNhYmxlZDogJ2luU2NoZW1hJywgZWRpdGFibGU6IHRydWUsCiAgICAg ICAgICAgICBjb250cm9sOiAnbm9kZS1saXN0LWJ5LW5hbWUnLCBub2RlOiAn Y29sdW1uJwogICAgICAgICAgIH0sewotICAgICAgICAgICAgaWQ6ICdjb2xs c3BjbmFtZScsIGxhYmVsOid7eyBfKCdDb2xsYXRpb24nKSB9fScsIGNlbGw6 ICdzdHJpbmcnLAotICAgICAgICAgICAgdHlwZTogJ3RleHQnLCBkaXNhYmxl ZDogJ2luU2NoZW1hJywgZWRpdGFibGU6IGZhbHNlLAorICAgICAgICAgICAg aWQ6ICdjb2xsc3BjbmFtZScsIGxhYmVsOid7eyBfKCdDb2xsYXRpb24nKSB9 fScsCisgICAgICAgICAgICBjZWxsOiBOb2RlQWpheE9wdGlvbnNEZXBzQ2Vs bCwKKyAgICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZGlzYWJsZWQ6ICdpblNj aGVtYScsIGVkaXRhYmxlOiBmdW5jdGlvbihtKSB7CisgICAgICAgICAgICAg ICAgLy8gSGVhZGVyIGNlbGwgdGhlbiBza2lwCisgICAgICAgICAgICAgICAg aWYgKG0gaW5zdGFuY2VvZiBCYWNrYm9uZS5Db2xsZWN0aW9uKSB7CisgICAg ICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICAgcmV0dXJuICEobS5pblNjaGVtYS5hcHBs eSh0aGlzLCBhcmd1bWVudHMpKTsKKyAgICAgICAgICAgIH0sCiAgICAgICAg ICAgICBjb250cm9sOiAnbm9kZS1hamF4LW9wdGlvbnMnLCB1cmw6ICdnZXRf Y29sbGF0aW9ucycsIG5vZGU6ICdpbmRleCcKICAgICAgICAgICB9LHsKLSAg ICAgICAgICAgIGlkOiAnb3BfY2xhc3MnLCBsYWJlbDone3sgXygnT3BlcmF0 b3IgY2xhc3MnKSB9fScsIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgICAg dHlwZTogJ3RleHQnLCBkaXNhYmxlZDogJ2NoZWNrQWNjZXNzTWV0aG9kJywg ZWRpdGFibGU6IGZhbHNlLAorICAgICAgICAgICAgaWQ6ICdvcF9jbGFzcycs IGxhYmVsOid7eyBfKCdPcGVyYXRvciBjbGFzcycpIH19JywKKyAgICAgICAg ICAgIGNlbGw6IE5vZGVBamF4T3B0aW9uc0RlcHNDZWxsLAorICAgICAgICAg ICAgdHlwZTogJ3RleHQnLCBkaXNhYmxlZDogJ2NoZWNrQWNjZXNzTWV0aG9k JywKKyAgICAgICAgICAgIGVkaXRhYmxlOiBmdW5jdGlvbihtKSB7CisgICAg ICAgICAgICAgICAgLy8gSGVhZGVyIGNlbGwgdGhlbiBza2lwCisgICAgICAg ICAgICAgICAgaWYgKG0gaW5zdGFuY2VvZiBCYWNrYm9uZS5Db2xsZWN0aW9u KSB7CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAg ICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgcmV0dXJuICEobS5jaGVj a0FjY2Vzc01ldGhvZC5hcHBseSh0aGlzLCBhcmd1bWVudHMpKTsKKyAgICAg ICAgICAgIH0sCiAgICAgICAgICAgICBjb250cm9sOiAnbm9kZS1hamF4LW9w dGlvbnMnLCB1cmw6ICdnZXRfb3BfY2xhc3MnLCBub2RlOiAnaW5kZXgnLAot ICAgICAgICAgICAgZGVwczogWydhbW5hbWUnXSwgdHJhbnNmb3JtOiBmdW5j dGlvbihkYXRhKSB7CisgICAgICAgICAgICBkZXBzOiBbJ2FtbmFtZSddLCB0 cmFuc2Zvcm06IGZ1bmN0aW9uKGRhdGEsIGNvbnRyb2wpIHsKICAgICAgICAg ICAgICAvKiBXZSBuZWVkIHRvIGV4dHJhY3QgZGF0YSBmcm9tIGNvbGxlY3Rp b24gYWNjb3JkaW5nCiAgICAgICAgICAgICAgICogdG8gYWNjZXNzIG1ldGhv ZCBzZWxlY3RlZCBieSB1c2VyIGlmIG5vdCBzZWxlY3RlZAogICAgICAgICAg ICAgICAqIHNlbmQgYnRyZWUgcmVsYXRlZCBvcF9jbGFzcyBvcHRpb25zCiAg ICAgICAgICAgICAgICovCi0gICAgICAgICAgICAgdmFyIGFtbmFtZSA9IHRo aXMubW9kZWwuaGFuZGxlci5nZXQoJ2FtbmFtZScpLAorICAgICAgICAgICAg IHZhciBhbW5hbWUgPSBjb250cm9sLm1vZGVsLnRvcC5nZXQoJ2FtbmFtZScp LAogICAgICAgICAgICAgICAgICBvcHRpb25zID0gZGF0YVsnYnRyZWUnXTsK IAogICAgICAgICAgICAgIGlmKF8uaXNVbmRlZmluZWQoYW1uYW1lKSkKQEAg LTU2LDIxICsxMjcsMzUgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwg cGdCcm93c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsKICAgICAgICAgICAg ICByZXR1cm4gb3B0aW9uczsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9 LHsKLSAgICAgICAgICAgIGlkOiAnc29ydF9vcmRlcicsIGxhYmVsOid7eyBf KCdTb3J0IG9yZGVyJykgfX0nLCBjZWxsOiAnc3dpdGNoJywKLSAgICAgICAg ICAgIHR5cGU6ICdzd2l0Y2gnLCBkaXNhYmxlZDogJ2NoZWNrQWNjZXNzTWV0 aG9kJywgZWRpdGFibGU6IGZhbHNlLAorICAgICAgICAgICAgaWQ6ICdzb3J0 X29yZGVyJywgbGFiZWw6J3t7IF8oJ1NvcnQgb3JkZXInKSB9fScsIGNlbGw6 IFN3aXRjaERlcENlbGwsCisgICAgICAgICAgICB0eXBlOiAnc3dpdGNoJywg ZGlzYWJsZWQ6ICdjaGVja0FjY2Vzc01ldGhvZCcsCisgICAgICAgICAgICBl ZGl0YWJsZTogZnVuY3Rpb24obSkgeworICAgICAgICAgICAgICAgIC8vIEhl YWRlciBjZWxsIHRoZW4gc2tpcAorICAgICAgICAgICAgICAgIGlmIChtIGlu c3RhbmNlb2YgQmFja2JvbmUuQ29sbGVjdGlvbikgeworICAgICAgICAgICAg ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgfQorICAg ICAgICAgICAgICAgIHJldHVybiAhKG0uY2hlY2tBY2Nlc3NNZXRob2QuYXBw bHkodGhpcywgYXJndW1lbnRzKSk7CisgICAgICAgICAgICB9LAogICAgICAg ICAgICAgZGVwczogWydhbW5hbWUnXSwKICAgICAgICAgICAgIG9wdGlvbnM6 IHsKICAgICAgICAgICAgICAnb25UZXh0JzogJ0RFU0MnLCAnb2ZmVGV4dCc6 ICdBU0MnLAotICAgICAgICAgICAgICdvbkNvbG9yJzogJ3N1Y2Nlc3MnLCAn b2ZmQ29sb3InOiAnZGVmYXVsdCcsCisgICAgICAgICAgICAgJ29uQ29sb3In OiAnc3VjY2VzcycsICdvZmZDb2xvcic6ICdwcmltYXJ5JywKICAgICAgICAg ICAgICAnc2l6ZSc6ICdzbWFsbCcKICAgICAgICAgICAgIH0KICAgICAgICAg ICB9LHsKLSAgICAgICAgICAgIGlkOiAnbnVsbHMnLCBsYWJlbDone3sgXygn TlVMTHMnKSB9fScsIGNlbGw6ICdzd2l0Y2gnLAotICAgICAgICAgICAgdHlw ZTogJ3N3aXRjaCcsIGRpc2FibGVkOiAnY2hlY2tBY2Nlc3NNZXRob2QnLCBl ZGl0YWJsZTogZmFsc2UsCisgICAgICAgICAgICBpZDogJ251bGxzJywgbGFi ZWw6J3t7IF8oJ05VTExzJykgfX0nLCBjZWxsOiBTd2l0Y2hEZXBDZWxsLAor ICAgICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGRpc2FibGVkOiAnY2hlY2tB Y2Nlc3NNZXRob2QnLAorICAgICAgICAgICAgZWRpdGFibGU6IGZ1bmN0aW9u KG0pIHsKKyAgICAgICAgICAgICAgICAvLyBIZWFkZXIgY2VsbCB0aGVuIHNr aXAKKyAgICAgICAgICAgICAgICBpZiAobSBpbnN0YW5jZW9mIEJhY2tib25l LkNvbGxlY3Rpb24pIHsKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRy dWU7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgIHJldHVy biAhKG0uY2hlY2tBY2Nlc3NNZXRob2QuYXBwbHkodGhpcywgYXJndW1lbnRz KSk7CisgICAgICAgICAgICB9LAogICAgICAgICAgICAgZGVwczogWydhbW5h bWUnLCAnc29ydF9vcmRlciddLAogICAgICAgICAgICAgb3B0aW9uczogewog ICAgICAgICAgICAgICdvblRleHQnOiAnRklSU1QnLCAnb2ZmVGV4dCc6ICdM QVNUJywKLSAgICAgICAgICAgICAnb25Db2xvcic6ICdzdWNjZXNzJywgJ29m ZkNvbG9yJzogJ2RlZmF1bHQnLAorICAgICAgICAgICAgICdvbkNvbG9yJzog J3N1Y2Nlc3MnLCAnb2ZmQ29sb3InOiAncHJpbWFyeScsCiAgICAgICAgICAg ICAgJ3NpemUnOiAnc21hbGwnCiAgICAgICAgICAgICB9CiAgICAgICAgICAg fQpAQCAtMTA3LDcgKzE5Miw3IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRt aW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAgICAg IC8vIFdlIHdpbGwgY2hlY2sgaWYgd2UgYXJlIHVuZGVyIHNjaGVtYSBub2Rl IGFuZCBhZGRlZCBjb25kaXRpb24KICAgICAgICAgY2hlY2tBY2Nlc3NNZXRo b2Q6IGZ1bmN0aW9uKG0pIHsKICAgICAgICAgLy9BY2Nlc3MgbWV0aG9kIGlz IGVtcHR5IG9yIGJ0cmVlIHRoZW4gZG8gbm90IGRpc2FibGUgZmllbGQKLSAg ICAgICAgICB2YXIgcGFyZW50X21vZGVsID0gbS5oYW5kbGVyOworICAgICAg ICAgIHZhciBwYXJlbnRfbW9kZWwgPSBtLnRvcDsKICAgICAgICAgICBpZigh bS5pblNjaGVtYS5hcHBseSh0aGlzLCBbbV0pICYmCiAgICAgICAgICAgICAg IChfLmlzVW5kZWZpbmVkKHBhcmVudF9tb2RlbC5nZXQoJ2FtbmFtZScpKSB8 fAogICAgICAgICAgICAgICAgXy5pc051bGwocGFyZW50X21vZGVsLmdldCgn YW1uYW1lJykpIHx8CkBAIC0xMTUsMTAgKzIwMCw4IEBAIGZ1bmN0aW9uKCQs IF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5 KSB7CiAgICAgICAgICAgICAgICBwYXJlbnRfbW9kZWwuZ2V0KCdhbW5hbWUn KSA9PT0gJ2J0cmVlJykpIHsKICAgICAgICAgICAgIC8vIFdlIG5lZWQgdG8g c2V0IG51bGxzIHRvIHRydWUgaWYgc29ydF9vcmRlciBpcyBzZXQgdG8gZGVz YwogICAgICAgICAgICAgLy8gbnVsbHMgZmlyc3QgaXMgZGVmYXVsdCBmb3Ig ZGVzYwotICAgICAgICAgICAgaWYobS5nZXQoJ3NvcnRfb3JkZXInKSA9PSB0 cnVlKSB7CisgICAgICAgICAgICBpZihtLmdldCgnc29ydF9vcmRlcicpID09 IHRydWUgJiYgbS5wcmV2aW91cygnc29ydF9vcmRlcicpID09ICBmYWxzZSkg ewogICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgbS5z ZXQoJ251bGxzJywgdHJ1ZSkgfSwgMTApOwotICAgICAgICAgICAgfSBlbHNl IHsKLSAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7IG0u c2V0KCdudWxscycsIGZhbHNlKSB9LCAxMCk7CiAgICAgICAgICAgICB9CiAg ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAgfQpAQCAtMTMw LDYgKzIxMyw4IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJv d3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAgcGdBZG1pbi5Ccm93 c2VyLk5vZGVzWydpbmRleCddID0gcGdBZG1pbi5Ccm93c2VyLk5vZGUuZXh0 ZW5kKHsKICAgICAgIHBhcmVudF90eXBlOiBbJ3RhYmxlJywgJ3ZpZXcnLCAn bXZpZXcnXSwKICAgICAgIGNvbGxlY3Rpb25fdHlwZTogWydjb2xsLXRhYmxl JywgJ2NvbGwtdmlldyddLAorICAgICAgc3FsQWx0ZXJIZWxwOiAnc3FsLWFs dGVyaW5kZXguaHRtbCcsCisgICAgICBzcWxDcmVhdGVIZWxwOiAnc3FsLWNy ZWF0ZWluZGV4Lmh0bWwnLAogICAgICAgdHlwZTogJ2luZGV4JywKICAgICAg IGxhYmVsOiAne3sgXygnSW5kZXgnKSB9fScsCiAgICAgICBoYXNTUUw6ICB0 cnVlLApAQCAtMjI4LDcgKzMxMyw4IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBn QWRtaW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAg ICAgICAgfSkKICAgICAgICAgfSx7CiAgICAgICAgICAgaWQ6ICdjb2xzJywg bGFiZWw6J3t7IF8oJ0NvbHVtbnMnKSB9fScsIGNlbGw6ICdzdHJpbmcnLAot ICAgICAgICAgIHR5cGU6ICd0ZXh0JywgZGlzYWJsZWQ6ICdpblNjaGVtYScs IG1vZGU6IFsncHJvcGVydGllcyddCisgICAgICAgICAgdHlwZTogJ3RleHQn LCBkaXNhYmxlZDogJ2luU2NoZW1hJywgbW9kZTogWydwcm9wZXJ0aWVzJ10s CisgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdEZWZpbml0aW9uJykgfX0nCiAg ICAgICAgIH0sewogICAgICAgICAgIGlkOiAnZmlsbGZhY3RvcicsIGxhYmVs Oid7eyBfKCdGaWxsIGZhY3RvcicpIH19JywgY2VsbDogJ3N0cmluZycsCiAg ICAgICAgICAgdHlwZTogJ2ludCcsIGRpc2FibGVkOiAnaW5TY2hlbWEnLCBt b2RlOiBbJ2NyZWF0ZScsICdlZGl0JywgJ3Byb3BlcnRpZXMnXSwKQEAgLTI0 NCwxNSArMzMwLDE0IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBn QnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAgICAgIH0sewog ICAgICAgICAgIGlkOiAnaW5kaXN2YWxpZCcsIGxhYmVsOid7eyBfKCdWYWxp ZD8nKSB9fScsIGNlbGw6ICdzdHJpbmcnLAogICAgICAgICAgIHR5cGU6ICdz d2l0Y2gnLCBkaXNhYmxlZDogdHJ1ZSwgbW9kZTogWydwcm9wZXJ0aWVzJ10s Ci0KKyAgICAgICAgICBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScK ICAgICAgICAgfSx7CiAgICAgICAgICAgaWQ6ICdpbmRpc3ByaW1hcnknLCBs YWJlbDone3sgXygnUHJpbWFyeT8nKSB9fScsIGNlbGw6ICdzdHJpbmcnLAog ICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBkaXNhYmxlZDogdHJ1ZSwgbW9k ZTogWydwcm9wZXJ0aWVzJ10sCi0KKyAgICAgICAgICBncm91cDogJ3t7IF8o J0RlZmluaXRpb24nKSB9fScKICAgICAgICAgfSx7CiAgICAgICAgICAgaWQ6 ICdpc19zeXNfaWR4JywgbGFiZWw6J3t7IF8oJ1N5c3RlbSBpbmRleD8nKSB9 fScsIGNlbGw6ICdzdHJpbmcnLAotICAgICAgICAgIHR5cGU6ICdzd2l0Y2gn LCBkaXNhYmxlZDogdHJ1ZSwgbW9kZTogWydwcm9wZXJ0aWVzJ10sCi0KKyAg ICAgICAgICB0eXBlOiAnc3dpdGNoJywgZGlzYWJsZWQ6IHRydWUsIG1vZGU6 IFsncHJvcGVydGllcyddCiAgICAgICAgIH0sewogICAgICAgICAgIGlkOiAn aXNjb25jdXJyZW50JywgbGFiZWw6J3t7IF8oJ0NvbmN1cnJlbnQgYnVpbGQ/ JykgfX0nLCBjZWxsOiAnc3RyaW5nJywKICAgICAgICAgICB0eXBlOiAnc3dp dGNoJywgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhNb2RlbENoZWNrJywKQEAg LTI2Miw3ICszNDcsNyBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBw Z0Jyb3dzZXIsIEJhY2tmb3JtLCBhbGVydGlmeSkgewogICAgICAgICAgIHR5 cGU6ICd0ZXh0JywgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhNb2RlbENoZWNr JywgbW9kZTogWydjcmVhdGUnLCAnZWRpdCddLAogICAgICAgICAgIGNvbnRy b2w6ICdzcWwtZmllbGQnLCB2aXNpYmxlOiB0cnVlLCBncm91cDogJ3t7IF8o J0RlZmluaXRpb24nKSB9fScKICAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6 ICdjb2x1bW5zJywgbGFiZWw6ICdDb2x1bW5zJywgdHlwZTogJ2NvbGxlY3Rp b24nLAorICAgICAgICAgIGlkOiAnY29sdW1ucycsIGxhYmVsOiAnQ29sdW1u cycsIHR5cGU6ICdjb2xsZWN0aW9uJywgZGVwczogWydhbW5hbWUnXSwKICAg ICAgICAgICBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScsIG1vZGVs OiBDb2x1bW5Nb2RlbCwgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLAogICAg ICAgICAgIGNhbkFkZDogZnVuY3Rpb24obSkgewogICAgICAgICAgICAgLy8g V2Ugd2lsbCBkaXNhYmxlIGl0IGlmIGl0J3MgaW4gJ2VkaXQnIG1vZGUKQEAg LTI3MiwxNCArMzU3LDcgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwg cGdCcm93c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsKICAgICAgICAgICAg ICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAgICAgfQogICAgICAgICAgIH0s Ci0gICAgICAgICAgY2FuRWRpdDogZnVuY3Rpb24obSkgewotICAgICAgICAg ICAgLy8gV2Ugd2lsbCBkaXNhYmxlIGl0IGlmIGl0J3MgaW4gJ2VkaXQnIG1v ZGUKLSAgICAgICAgICAgIGlmIChtLmlzTmV3KCkpIHsKLSAgICAgICAgICAg ICAgcmV0dXJuIHRydWU7Ci0gICAgICAgICAgICB9IGVsc2UgewotICAgICAg ICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICB9Ci0gICAgICAg ICAgfSwKKyAgICAgICAgICBjYW5FZGl0OiBmYWxzZSwKICAgICAgICAgICBj YW5EZWxldGU6IGZ1bmN0aW9uKG0pIHsKICAgICAgICAgICAgIC8vIFdlIHdp bGwgZGlzYWJsZSBpdCBpZiBpdCdzIGluICdlZGl0JyBtb2RlCiAgICAgICAg ICAgICBpZiAobS5pc05ldygpKSB7CkBAIC0yODgsNyArMzY2LDggQEAgZnVu Y3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNrZm9ybSwg YWxlcnRpZnkpIHsKICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg ICAgICAgICAgfQogICAgICAgICAgIH0sCi0gICAgICAgICAgY29udHJvbDog J3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsIHVuaXF1ZUNvbCA6IFsnY29sbmFt ZSddCisgICAgICAgICAgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlv bicsIHVuaXF1ZUNvbCA6IFsnY29sbmFtZSddLAorICAgICAgICAgIGNvbHVt bnM6IFsnY29sbmFtZScsICdvcF9jbGFzcycsICdzb3J0X29yZGVyJywgJ251 bGxzJywgJ2NvbGxzcGNuYW1lJ10KICAgICAgICAgfSx7CiAgICAgICAgICAg aWQ6ICdkZXNjcmlwdGlvbicsIGxhYmVsOid7eyBfKCdDb21tZW50JykgfX0n LCBjZWxsOiAnc3RyaW5nJywKICAgICAgICAgICB0eXBlOiAnbXVsdGlsaW5l JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sCmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL3Rh YmxlL2pzL3RhYmxlLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBs YXRlcy90YWJsZS9qcy90YWJsZS5qcwppbmRleCAxOTc5OGE0Li4zYzNkYTYz IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVz L3RhYmxlL2pzL3RhYmxlLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy90ZW1wbGF0ZXMvdGFibGUvanMvdGFibGUuanMKQEAgLTM4NSwyOSArMzg1 LDMwIEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3Nlciwg YWxlcnRpZnkpIHsKICAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hV2l0 aE1vZGVsQ2hlY2snLAogICAgICAgICAgIGdyb3VwOiAne3sgXygnQWR2YW5j ZWQnKSB9fScKICAgICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICdjb25uYW1l JywgbGFiZWw6J3t7IF8oJ1ByaW1hcnkgS2V5JykgfX0nLCBjZWxsOiAnc3Ry aW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVy dGllcyddLAorICAgICAgICAgIGlkOiAnY29ubmFtZScsIGxhYmVsOid7eyBf KCdQcmltYXJ5IGtleScpIH19JywgY2VsbDogJ3N0cmluZycsCisgICAgICAg ICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwgZ3JvdXA6 ICd7eyBfKCdBZHZhbmNlZCcpIH19JywKICAgICAgICAgICBkaXNhYmxlZDog J2luU2NoZW1hJwogICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ3JlbHR1 cGxlcycsIGxhYmVsOid7eyBfKCdSb3dzIChlc3RpbWF0ZWQpJykgfX0nLCBj ZWxsOiAnc3RyaW5nJywKLSAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6 IFsncHJvcGVydGllcyddLAorICAgICAgICAgIHR5cGU6ICd0ZXh0JywgbW9k ZTogWydwcm9wZXJ0aWVzJ10sIGdyb3VwOiAne3sgXygnQWR2YW5jZWQnKSB9 fScsCiAgICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYScKICAgICAgICAg fSx7CiAgICAgICAgICAgaWQ6ICdyb3dzX2NudCcsIGxhYmVsOid7eyBfKCdS b3dzIChjb3VudGVkKScpIH19JywgY2VsbDogJ3N0cmluZycsCi0gICAgICAg ICAgdHlwZTogJ3RleHQnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKKyAgICAg ICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcyddLCBncm91 cDogJ3t7IF8oJ0FkdmFuY2VkJykgfX0nLAogICAgICAgICAgIGRpc2FibGVk OiAnaW5TY2hlbWEnCiAgICAgICAgIH0sewogICAgICAgICAgIGlkOiAncmVs aGFzc3ViY2xhc3MnLCBsYWJlbDone3sgXygnSW5oZXJpdHMgdGFibGVzPycp IH19JywgY2VsbDogJ3N3aXRjaCcsCi0gICAgICAgICAgdHlwZTogJ3N3aXRj aCcsIG1vZGU6IFsncHJvcGVydGllcyddLAorICAgICAgICAgIHR5cGU6ICdz d2l0Y2gnLCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwgZ3JvdXA6ICd7eyBfKCdB ZHZhbmNlZCcpIH19JywKICAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1h JwogICAgICAgICB9LHsKLSAgICAgICAgICBpZDogJ2lzX3N5c190YWJsZScs IGxhYmVsOid7eyBfKCdTeXN0ZW0gdGFiZWw/JykgfX0nLCBjZWxsOiAnc3dp dGNoJywKKyAgICAgICAgICBpZDogJ2lzX3N5c190YWJsZScsIGxhYmVsOid7 eyBfKCdTeXN0ZW0gdGFibGU/JykgfX0nLCBjZWxsOiAnc3dpdGNoJywKICAg ICAgICAgICB0eXBlOiAnc3dpdGNoJywgbW9kZTogWydwcm9wZXJ0aWVzJ10s CiAgICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYScKICAgICAgICAgfSx7 CiAgICAgICAgICAgaWQ6ICdjb2xsX2luaGVyaXRzJywgbGFiZWw6ICd7eyBf KCdJbmhlcml0ZWQgZnJvbSB0YWJsZShzKScpIH19JywKLSAgICAgICAgICB1 cmw6ICdnZXRfaW5oZXJpdHMnLCB0eXBlOiAnYXJyYXknLAorICAgICAgICAg IHVybDogJ2dldF9pbmhlcml0cycsIHR5cGU6ICdhcnJheScsIGdyb3VwOiAn e3sgXygnQ29sdW1ucycpIH19JywKICAgICAgICAgICBkaXNhYmxlZDogJ2No ZWNrSW5oZXJpdGFuY2UnLCBkZXBzOiBbJ3R5cG5hbWUnXSwKKyAgICAgICAg ICBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0J10sCiAgICAgICAgICAgc2VsZWN0 MjogeyBtdWx0aXBsZTogdHJ1ZSwgYWxsb3dDbGVhcjogdHJ1ZSwKICAgICAg ICAgICBwbGFjZWhvbGRlcjogJ3t7IF8oJ1NlbGVjdCB0byBpbmhlcml0IGZy b20uLi4nKSB9fSd9LAogICAgICAgICAgIHRyYW5zZm9ybTogZnVuY3Rpb24o ZGF0YSwgY2VsbCkgewpAQCAtNDkwLDE5MyArNDkxLDE5MiBAQCBmdW5jdGlv bigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0pCiAgICAgICAgIH0sewor ICAgICAgICAgIGlkOiAnY29sbF9pbmhlcml0cycsIGxhYmVsOiAne3sgXygn SW5oZXJpdGVkIGZyb20gdGFibGUocyknKSB9fScsCisgICAgICAgICAgdXJs OiAnZ2V0X2luaGVyaXRzJywgdHlwZTogJ3RleHQnLCBncm91cDogJ3t7IF8o J0FkdmFuY2VkJykgfX0nLAorICAgICAgICAgIGRpc2FibGVkOiAnY2hlY2tJ bmhlcml0YW5jZScsCisgICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJ10s CisgICAgICAgIH0sewogICAgICAgICAgIGlkOiAnaW5oZXJpdGVkX3RhYmxl c19jbnQnLCBsYWJlbDone3sgXygnSW5oZXJpdGVkIHRhYmxlcyBjb3VudCcp IH19JywgY2VsbDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3RleHQn LCBtb2RlOiBbJ3Byb3BlcnRpZXMnXSwKKyAgICAgICAgICB0eXBlOiAndGV4 dCcsIG1vZGU6IFsncHJvcGVydGllcyddLCBncm91cDogJ3t7IF8oJ0FkdmFu Y2VkJykgfX0nLAogICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWEnCiAg ICAgICAgIH0sewotICAgICAgICAgIHR5cGU6ICduZXN0ZWQnLCBjb250cm9s OiAnZmllbGRzZXQnLCBtb2RlOiBbJ2VkaXQnLCAnY3JlYXRlJ10sCi0gICAg ICAgICAgc2NoZW1hOlt7Ci0gICAgICAgICAgICAvLyBIZXJlIHdlIHdpbGwg Y3JlYXRlIHRhYiBjb250cm9sIGZvciBjb2x1bW5zCi0gICAgICAgICAgICAg IGlkOiAnY29sdW1ucycsIGxhYmVsOid7eyBfKCdDb2x1bW5zJykgfX0nLCB0 eXBlOiAnY29sbGVjdGlvbicsCi0gICAgICAgICAgICAgIGdyb3VwOiAne3sg XygnQ29sdW1ucycpIH19JywKLSAgICAgICAgICAgICAgbW9kZWw6IHBnQnJv d3Nlci5Ob2Rlc1snY29sdW1uJ10ubW9kZWwsCi0gICAgICAgICAgICAgIHN1 Ym5vZGU6IHBnQnJvd3Nlci5Ob2Rlc1snY29sdW1uJ10ubW9kZWwsCi0gICAg ICAgICAgICAgIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwKLSAgICAgICAg ICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYScsCi0gICAgICAgICAgICAgIGNh bkFkZDogJ2NoZWNrX2dyaWRfYWRkX2NvbmRpdGlvbicsCi0gICAgICAgICAg ICAgIGNhbkVkaXQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwKLSAgICAgICAg ICAgICAgLy8gRm9yIGVhY2ggcm93IGVkaXQvZGVsZXRlIGJ1dHRvbiBlbmFi bGUvZGlzYWJsZQotICAgICAgICAgICAgICBjYW5FZGl0Um93OiAnY2hlY2tf Z3JpZF9yb3dfZWRpdF9kZWxldGUnLAotICAgICAgICAgICAgICBjYW5EZWxl dGVSb3c6ICdjaGVja19ncmlkX3Jvd19lZGl0X2RlbGV0ZScsCi0gICAgICAg ICAgICAgIHVuaXF1ZUNvbCA6IFsnbmFtZSddLAotICAgICAgICAgICAgICBj b2x1bW5zIDogWyduYW1lJyAsICdjbHR5cGUnLCAnaXNfcHJpbWFyeV9rZXkn LCAnaW5oZXJpdGVkZnJvbSddLAotICAgICAgICAgICAgICBjb250cm9sOiBC YWNrZm9ybS5VbmlxdWVDb2xDb2xsZWN0aW9uQ29udHJvbC5leHRlbmQoewot ICAgICAgICAgICAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKCkgewotICAg ICAgICAgICAgICAgICAgQmFja2Zvcm0uVW5pcXVlQ29sQ29sbGVjdGlvbkNv bnRyb2wucHJvdG90eXBlLmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1l bnRzKTsKLSAgICAgICAgICAgICAgICAgIHZhciBzZWxmID0gdGhpcywKLSAg ICAgICAgICAgICAgICAgICAgICBjb2xsZWN0aW9uID0gc2VsZi5tb2RlbC5n ZXQoc2VsZi5maWVsZC5nZXQoJ25hbWUnKSk7Ci0KLSAgICAgICAgICAgICAg ICAgIGNvbGxlY3Rpb24ub24oImNoYW5nZTppc19wcmltYXJ5X2tleSIsIGZ1 bmN0aW9uKG0pIHsKLSAgICAgICAgICAgICAgICAgICAgdmFyIHByaW1hcnlf a2V5X2NvbGwgPSBzZWxmLm1vZGVsLmdldCgncHJpbWFyeV9rZXknKSwKLSAg ICAgICAgICAgICAgICAgICAgICAgIGNvbHVtbl9uYW1lID0gbS5nZXQoJ25h bWUnKSwKLSAgICAgICAgICAgICAgICAgICAgICAgIHByaW1hcnlfa2V5Owot Ci0gICAgICAgICAgICAgICAgICAgIGlmKG0uZ2V0KCdpc19wcmltYXJ5X2tl eScpKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIEFkZCBjb2x1bW4gdG8g cHJpbWFyeSBrZXkuCi0gICAgICAgICAgICAgICAgICAgICAgaWYgKHByaW1h cnlfa2V5X2NvbGwubGVuZ3RoIDwgMSkgewotICAgICAgICAgICAgICAgICAg ICAgICAgcHJpbWFyeV9rZXkgPSBuZXcgKHByaW1hcnlfa2V5X2NvbGwubW9k ZWwpKHt9LCB7CisgICAgICAgIC8vIEhlcmUgd2Ugd2lsbCBjcmVhdGUgdGFi IGNvbnRyb2wgZm9yIGNvbHVtbnMKKyAgICAgICAgICBpZDogJ2NvbHVtbnMn LCBsYWJlbDone3sgXygnQ29sdW1ucycpIH19JywgdHlwZTogJ2NvbGxlY3Rp b24nLAorICAgICAgICAgIGdyb3VwOiAne3sgXygnQ29sdW1ucycpIH19JywK KyAgICAgICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGVzWydjb2x1bW4nXS5t b2RlbCwKKyAgICAgICAgICBzdWJub2RlOiBwZ0Jyb3dzZXIuTm9kZXNbJ2Nv bHVtbiddLm1vZGVsLAorICAgICAgICAgIG1vZGU6IFsnY3JlYXRlJywgJ2Vk aXQnXSwKKyAgICAgICAgICBkaXNhYmxlZDogJ2luU2NoZW1hJywKKyAgICAg ICAgICBjYW5BZGQ6ICdjaGVja19ncmlkX2FkZF9jb25kaXRpb24nLAorICAg ICAgICAgIGNhbkVkaXQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwKKyAgICAg ICAgICAvLyBGb3IgZWFjaCByb3cgZWRpdC9kZWxldGUgYnV0dG9uIGVuYWJs ZS9kaXNhYmxlCisgICAgICAgICAgY2FuRWRpdFJvdzogJ2NoZWNrX2dyaWRf cm93X2VkaXRfZGVsZXRlJywKKyAgICAgICAgICBjYW5EZWxldGVSb3c6ICdj aGVja19ncmlkX3Jvd19lZGl0X2RlbGV0ZScsCisgICAgICAgICAgdW5pcXVl Q29sIDogWyduYW1lJ10sCisgICAgICAgICAgY29sdW1ucyA6IFsnbmFtZScg LCAnY2x0eXBlJywgJ2lzX3ByaW1hcnlfa2V5JywgJ2luaGVyaXRlZGZyb20n XSwKKyAgICAgICAgICBjb250cm9sOiBCYWNrZm9ybS5VbmlxdWVDb2xDb2xs ZWN0aW9uQ29udHJvbC5leHRlbmQoeworICAgICAgICAgICAgaW5pdGlhbGl6 ZTogZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAgIEJhY2tmb3JtLlVuaXF1 ZUNvbENvbGxlY3Rpb25Db250cm9sLnByb3RvdHlwZS5pbml0aWFsaXplLmFw cGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgICAgICAgIHZhciBzZWxm ID0gdGhpcywKKyAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24gPSBzZWxm Lm1vZGVsLmdldChzZWxmLmZpZWxkLmdldCgnbmFtZScpKTsKKworICAgICAg ICAgICAgICBjb2xsZWN0aW9uLm9uKCJjaGFuZ2U6aXNfcHJpbWFyeV9rZXki LCBmdW5jdGlvbihtKSB7CisgICAgICAgICAgICAgICAgdmFyIHByaW1hcnlf a2V5X2NvbGwgPSBzZWxmLm1vZGVsLmdldCgncHJpbWFyeV9rZXknKSwKKyAg ICAgICAgICAgICAgICAgICAgY29sdW1uX25hbWUgPSBtLmdldCgnbmFtZScp LAorICAgICAgICAgICAgICAgICAgICBwcmltYXJ5X2tleTsKKworICAgICAg ICAgICAgICAgIGlmKG0uZ2V0KCdpc19wcmltYXJ5X2tleScpKSB7CisgICAg ICAgICAgICAgICAgLy8gQWRkIGNvbHVtbiB0byBwcmltYXJ5IGtleS4KKyAg ICAgICAgICAgICAgICAgIGlmIChwcmltYXJ5X2tleV9jb2xsLmxlbmd0aCA8 IDEpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXkgPSBuZXcg KHByaW1hcnlfa2V5X2NvbGwubW9kZWwpKHt9LCB7CisgICAgICAgICAgICAg ICAgICAgICAgdG9wOiBzZWxmLm1vZGVsLAorICAgICAgICAgICAgICAgICAg ICAgIGNvbGxlY3Rpb246IHByaW1hcnlfa2V5X2NvbGwsCisgICAgICAgICAg ICAgICAgICAgICAgaGFuZGxlcjogcHJpbWFyeV9rZXlfY29sbAorICAgICAg ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgICAgICAgICAgcHJpbWFy eV9rZXlfY29sbC5hZGQocHJpbWFyeV9rZXkpOworICAgICAgICAgICAgICAg ICAgfSBlbHNlIHsKKyAgICAgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXkg PSBwcmltYXJ5X2tleV9jb2xsLmZpcnN0KCk7CisgICAgICAgICAgICAgICAg ICB9CisgICAgICAgICAgICAgICAgICAvLyBEbyBub3QgYWx0ZXIgZXhpc3Rp bmcgcHJpbWFyeSBrZXkgY29sdW1ucy4KKyAgICAgICAgICAgICAgICAgIGlm IChfLmlzVW5kZWZpbmVkKHByaW1hcnlfa2V5LmdldCgnb2lkJykpKSB7Cisg ICAgICAgICAgICAgICAgICAgIHZhciBwcmltYXJ5X2tleV9jb2x1bW5fY29s bCA9IHByaW1hcnlfa2V5LmdldCgnY29sdW1ucycpLAorICAgICAgICAgICAg ICAgICAgICAgIHByaW1hcnlfa2V5X2NvbHVtbl9leGlzdCA9IHByaW1hcnlf a2V5X2NvbHVtbl9jb2xsLndoZXJlKHtjb2x1bW46Y29sdW1uX25hbWV9KTsK KworICAgICAgICAgICAgICAgICAgICBpZiAocHJpbWFyeV9rZXlfY29sdW1u X2V4aXN0Lmxlbmd0aCA9PSAwKSB7CisgICAgICAgICAgICAgICAgICAgICAg dmFyIHByaW1hcnlfa2V5X2NvbHVtbiA9IG5ldyAocHJpbWFyeV9rZXlfY29s dW1uX2NvbGwubW9kZWwpKAorICAgICAgICAgICAgICAgICAgICAgICAgICB7 Y29sdW1uOiBjb2x1bW5fbmFtZX0sIHsgc2lsZW50OiB0cnVlLAogICAgICAg ICAgICAgICAgICAgICAgICAgICB0b3A6IHNlbGYubW9kZWwsCiAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb246IHByaW1hcnlfa2V5X2Nv bGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZXI6IHByaW1h cnlfa2V5X2NvbGwKICAgICAgICAgICAgICAgICAgICAgICAgIH0pOwotICAg ICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXlfY29sbC5hZGQocHJp bWFyeV9rZXkpOwotICAgICAgICAgICAgICAgICAgICAgIH0gZWxzZSB7Ci0g ICAgICAgICAgICAgICAgICAgICAgICBwcmltYXJ5X2tleSA9IHByaW1hcnlf a2V5X2NvbGwuZmlyc3QoKTsKLSAgICAgICAgICAgICAgICAgICAgICB9Ci0g ICAgICAgICAgICAgICAgICAgICAgLy8gRG8gbm90IGFsdGVyIGV4aXN0aW5n IHByaW1hcnkga2V5IGNvbHVtbnMuCi0gICAgICAgICAgICAgICAgICAgICAg aWYgKF8uaXNVbmRlZmluZWQocHJpbWFyeV9rZXkuZ2V0KCdvaWQnKSkpIHsK LSAgICAgICAgICAgICAgICAgICAgICAgIHZhciBwcmltYXJ5X2tleV9jb2x1 bW5fY29sbCA9IHByaW1hcnlfa2V5LmdldCgnY29sdW1ucycpLAotICAgICAg ICAgICAgICAgICAgICAgICAgICBwcmltYXJ5X2tleV9jb2x1bW5fZXhpc3Qg PSBwcmltYXJ5X2tleV9jb2x1bW5fY29sbC53aGVyZSh7Y29sdW1uOmNvbHVt bl9uYW1lfSk7Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmlt YXJ5X2tleV9jb2x1bW5fZXhpc3QubGVuZ3RoID09IDApIHsKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgdmFyIHByaW1hcnlfa2V5X2NvbHVtbiA9IG5l dyAocHJpbWFyeV9rZXlfY29sdW1uX2NvbGwubW9kZWwpKAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAge2NvbHVtbjogY29sdW1uX25hbWV9LCB7 IHNpbGVudDogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRvcDogc2VsZi5tb2RlbCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNvbGxlY3Rpb246IHByaW1hcnlfa2V5X2NvbGwsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBoYW5kbGVyOiBwcmltYXJ5X2tleV9jb2xs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgfSk7Ci0KLSAgICAgICAg ICAgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXlfY29sdW1uX2NvbGwuYWRk KHByaW1hcnlfa2V5X2NvbHVtbik7Ci0gICAgICAgICAgICAgICAgICAgICAg ICB9Ci0KLSAgICAgICAgICAgICAgICAgICAgICAgIHByaW1hcnlfa2V5X2Nv bHVtbl9jb2xsLnRyaWdnZXIoJ3BnYWRtaW46bXVsdGljb2x1bW46dXBkYXRl ZCcsIHByaW1hcnlfa2V5X2NvbHVtbl9jb2xsKTsKLSAgICAgICAgICAgICAg ICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAg ICAgICAgICAgICAgICAgICAgLy8gcmVtb3ZlIGNvbHVtbiBmcm9tIHByaW1h cnkga2V5LgotICAgICAgICAgICAgICAgICAgICAgIGlmIChwcmltYXJ5X2tl eV9jb2xsLmxlbmd0aCA+IDApIHsKLSAgICAgICAgICAgICAgICAgICAgICAg IHZhciBwcmltYXJ5X2tleSA9IHByaW1hcnlfa2V5X2NvbGwuZmlyc3QoKTsK LSAgICAgICAgICAgICAgICAgICAgICAgIC8vIERvIG5vdCBhbHRlciBleGlz dGluZyBwcmltYXJ5IGtleSBjb2x1bW5zLgotICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKCFfLmlzVW5kZWZpbmVkKHByaW1hcnlfa2V5LmdldCgnb2lk JykpKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybjsKLSAg ICAgICAgICAgICAgICAgICAgICAgIH0KLQotICAgICAgICAgICAgICAgICAg ICAgICAgdmFyICBwcmltYXJ5X2tleV9jb2x1bW5fY29sbCA9IHByaW1hcnlf a2V5LmdldCgnY29sdW1ucycpLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHJlbW92ZWRDb2xzID0gcHJpbWFyeV9rZXlfY29sdW1uX2NvbGwud2hl cmUoe2NvbHVtbjpjb2x1bW5fbmFtZX0pOwotICAgICAgICAgICAgICAgICAg ICAgICAgaWYgKHJlbW92ZWRDb2xzLmxlbmd0aCA+IDApIHsKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXlfY29sdW1uX2NvbGwucmVt b3ZlKHJlbW92ZWRDb2xzKTsKLSAgICAgICAgICAgICAgICAgICAgICAgICAg Xy5lYWNoKHJlbW92ZWRDb2xzLCBmdW5jdGlvbihtKSB7Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgbS5kZXN0cm95KCk7Ci0gICAgICAgICAgICAg ICAgICAgICAgICAgIH0pCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGlm IChwcmltYXJ5X2tleV9jb2x1bW5fY29sbC5sZW5ndGggPT0gMCkgewotICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24g KCkgewotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVGhlcmUg d2lsbCBiZSBvbmx5IG9uIHByaW1hcnkga2V5IHNvIHJlbW92ZSB0aGUgZmly c3Qgb25lLgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpbWFy eV9rZXlfY29sbC5yZW1vdmUocHJpbWFyeV9rZXlfY29sbC5maXJzdCgpKTsK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIElkZWFsbHkgYWJv dmUgbGluZSBvZiBjb2RlIHNob3VsZCBiZSAicHJpbWFyeV9rZXlfY29sbC5y ZXNldCgpIi4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqIEJ1 dCBvdXIgY3VzdG9tIERhdGFDb2xsZWN0aW9uIChleHRlbmRlZCBmcm9tIEJh Y2tib25lIGNvbGxlY3Rpb24gaW4gZGF0YW1vZGVsLmpzKQotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICogZG9lcyBub3QgcmVzcG9uZCB0byBy ZXNldCBldmVudCwgaXQgb25seSBzdXBwb3J0cyBhZGQsIHJlbW92ZSwgY2hh bmdlIGV2ZW50cy4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq IEFuZCBoZW5jZSBubyBjdXN0b20gZXZlbnQgbGlzdGVuZXJzL3ZhbGlkYXRv cnMgZ2V0IGNhbGxlZCBmb3IgcmVzZXQgZXZlbnQuCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKi8KLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9LCAxMCk7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIH0KLSAg ICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICAgICAg ICAgIHByaW1hcnlfa2V5X2NvbHVtbl9jb2xsLnRyaWdnZXIoJ3BnYWRtaW46 bXVsdGljb2x1bW46dXBkYXRlZCcsIHByaW1hcnlfa2V5X2NvbHVtbl9jb2xs KTsKLSAgICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAg ICAgICAgcHJpbWFyeV9rZXlfY29sdW1uX2NvbGwuYWRkKHByaW1hcnlfa2V5 X2NvbHVtbik7CiAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg ICAgICAgIH0pCi0gICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAg ICByZW1vdmU6IGZ1bmN0aW9uKCkgewotICAgICAgICAgICAgICAgICAgdmFy IGNvbGxlY3Rpb24gPSB0aGlzLm1vZGVsLmdldCh0aGlzLmZpZWxkLmdldCgn bmFtZScpKTsKLSAgICAgICAgICAgICAgICAgIGlmIChjb2xsZWN0aW9uKSB7 Ci0gICAgICAgICAgICAgICAgICAgIGNvbGxlY3Rpb24ub2ZmKCJjaGFuZ2U6 aXNfcHJpbWFyeV9rZXkiKTsKKworICAgICAgICAgICAgICAgICAgICBwcmlt YXJ5X2tleV9jb2x1bW5fY29sbC50cmlnZ2VyKCdwZ2FkbWluOm11bHRpY29s dW1uOnVwZGF0ZWQnLCBwcmltYXJ5X2tleV9jb2x1bW5fY29sbCk7CiAgICAg ICAgICAgICAgICAgICB9CiAKLSAgICAgICAgICAgICAgICAgIEJhY2tmb3Jt LlVuaXF1ZUNvbENvbGxlY3Rpb25Db250cm9sLnByb3RvdHlwZS5yZW1vdmUu YXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICAgICAgICAgICAgICB9IGVs c2UgeworICAgICAgICAgICAgICAgIC8vIHJlbW92ZSBjb2x1bW4gZnJvbSBw cmltYXJ5IGtleS4KKyAgICAgICAgICAgICAgICAgIGlmIChwcmltYXJ5X2tl eV9jb2xsLmxlbmd0aCA+IDApIHsKKyAgICAgICAgICAgICAgICAgICAgdmFy IHByaW1hcnlfa2V5ID0gcHJpbWFyeV9rZXlfY29sbC5maXJzdCgpOworICAg ICAgICAgICAgICAgICAgICAvLyBEbyBub3QgYWx0ZXIgZXhpc3RpbmcgcHJp bWFyeSBrZXkgY29sdW1ucy4KKyAgICAgICAgICAgICAgICAgICAgaWYgKCFf LmlzVW5kZWZpbmVkKHByaW1hcnlfa2V5LmdldCgnb2lkJykpKSB7CisgICAg ICAgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgICAgICAg ICB9CisKKyAgICAgICAgICAgICAgICAgICAgdmFyICBwcmltYXJ5X2tleV9j b2x1bW5fY29sbCA9IHByaW1hcnlfa2V5LmdldCgnY29sdW1ucycpLAorICAg ICAgICAgICAgICAgICAgICAgICAgcmVtb3ZlZENvbHMgPSBwcmltYXJ5X2tl eV9jb2x1bW5fY29sbC53aGVyZSh7Y29sdW1uOmNvbHVtbl9uYW1lfSk7Cisg ICAgICAgICAgICAgICAgICAgIGlmIChyZW1vdmVkQ29scy5sZW5ndGggPiAw KSB7CisgICAgICAgICAgICAgICAgICAgICAgcHJpbWFyeV9rZXlfY29sdW1u X2NvbGwucmVtb3ZlKHJlbW92ZWRDb2xzKTsKKyAgICAgICAgICAgICAgICAg ICAgICBfLmVhY2gocmVtb3ZlZENvbHMsIGZ1bmN0aW9uKG0pIHsKKyAgICAg ICAgICAgICAgICAgICAgICAgIG0uZGVzdHJveSgpOworICAgICAgICAgICAg ICAgICAgICAgIH0pCisgICAgICAgICAgICAgICAgICAgICAgaWYgKHByaW1h cnlfa2V5X2NvbHVtbl9jb2xsLmxlbmd0aCA9PSAwKSB7CisgICAgICAgICAg ICAgICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHsKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gVGhlcmUgd2lsbCBiZSBvbmx5IG9u IHByaW1hcnkga2V5IHNvIHJlbW92ZSB0aGUgZmlyc3Qgb25lLgorICAgICAg ICAgICAgICAgICAgICAgICAgICBwcmltYXJ5X2tleV9jb2xsLnJlbW92ZShw cmltYXJ5X2tleV9jb2xsLmZpcnN0KCkpOworICAgICAgICAgICAgICAgICAg ICAgICAgICAvKiBJZGVhbGx5IGFib3ZlIGxpbmUgb2YgY29kZSBzaG91bGQg YmUgInByaW1hcnlfa2V5X2NvbGwucmVzZXQoKSIuCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAqIEJ1dCBvdXIgY3VzdG9tIERhdGFDb2xsZWN0aW9u IChleHRlbmRlZCBmcm9tIEJhY2tib25lIGNvbGxlY3Rpb24gaW4gZGF0YW1v ZGVsLmpzKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgKiBkb2VzIG5v dCByZXNwb25kIHRvIHJlc2V0IGV2ZW50LCBpdCBvbmx5IHN1cHBvcnRzIGFk ZCwgcmVtb3ZlLCBjaGFuZ2UgZXZlbnRzLgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgKiBBbmQgaGVuY2Ugbm8gY3VzdG9tIGV2ZW50IGxpc3RlbmVy cy92YWxpZGF0b3JzIGdldCBjYWxsZWQgZm9yIHJlc2V0IGV2ZW50LgorICAg ICAgICAgICAgICAgICAgICAgICAgICAgKi8KKyAgICAgICAgICAgICAgICAg ICAgICAgIH0sIDEwKTsKKyAgICAgICAgICAgICAgICAgICAgICB9CisgICAg ICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgcHJpbWFy eV9rZXlfY29sdW1uX2NvbGwudHJpZ2dlcigncGdhZG1pbjptdWx0aWNvbHVt bjp1cGRhdGVkJywgcHJpbWFyeV9rZXlfY29sdW1uX2NvbGwpOworICAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAg ICAgfSksCi0gICAgICAgICAgICAgIGFsbG93TXVsdGlwbGVFbXB0eVJvdzog ZmFsc2UKLSAgICAgICAgICB9XQorICAgICAgICAgICAgICB9KQorICAgICAg ICAgICAgfSwKKyAgICAgICAgICAgIHJlbW92ZTogZnVuY3Rpb24oKSB7Cisg ICAgICAgICAgICAgIHZhciBjb2xsZWN0aW9uID0gdGhpcy5tb2RlbC5nZXQo dGhpcy5maWVsZC5nZXQoJ25hbWUnKSk7CisgICAgICAgICAgICAgIGlmIChj b2xsZWN0aW9uKSB7CisgICAgICAgICAgICAgICAgY29sbGVjdGlvbi5vZmYo ImNoYW5nZTppc19wcmltYXJ5X2tleSIpOworICAgICAgICAgICAgICB9CisK KyAgICAgICAgICAgICAgQmFja2Zvcm0uVW5pcXVlQ29sQ29sbGVjdGlvbkNv bnRyb2wucHJvdG90eXBlLnJlbW92ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMp OworICAgICAgICAgICAgfQorICAgICAgICAgIH0pLAorICAgICAgICAgIGFs bG93TXVsdGlwbGVFbXB0eVJvdzogZmFsc2UKICAgICAgICAgfSx7Ci0gICAg ICAgICAgdHlwZTogJ25lc3RlZCcsIGNvbnRyb2w6ICdmaWVsZHNldCcsCi0g ICAgICAgICAgc2NoZW1hOlt7Ci0gICAgICAgICAgICAgIC8vIEhlcmUgd2Ug d2lsbCBjcmVhdGUgdGFiIGNvbnRyb2wgZm9yIGNvbnN0cmFpbnRzCi0gICAg ICAgICAgICAgIHR5cGU6ICduZXN0ZWQnLCBjb250cm9sOiAndGFiJywgZ3Jv dXA6ICd7eyBfKCdDb25zdHJhaW50cycpIH19JywKLSAgICAgICAgICAgICAg bW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLAotICAgICAgICAgICAgICBzY2hl bWE6IFt7Ci0gICAgICAgICAgICAgICAgICBpZDogJ3ByaW1hcnlfa2V5Jywg bGFiZWw6ICd7eyBfKCdQcmltYXJ5IEtleScpIH19JywKLSAgICAgICAgICAg ICAgICAgIG1vZGVsOiBwZ0Jyb3dzZXIuTm9kZXNbJ3ByaW1hcnlfa2V5J10u bW9kZWwsCi0gICAgICAgICAgICAgICAgICBzdWJub2RlOiBwZ0Jyb3dzZXIu Tm9kZXNbJ3ByaW1hcnlfa2V5J10ubW9kZWwsCi0gICAgICAgICAgICAgICAg ICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICdjb2xsZWN0aW9uJywKLSAgICAg ICAgICAgICAgICAgIGdyb3VwOiAne3sgXygnUHJpbWFyeSBLZXknKSB9fScs IG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKLSAgICAgICAgICAgICAgICAg IGNhbkVkaXQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwKLSAgICAgICAgICAg ICAgICAgIGNvbnRyb2w6ICd1bmlxdWUtY29sLWNvbGxlY3Rpb24nLAotICAg ICAgICAgICAgICAgICAgY29sdW1ucyA6IFsnbmFtZScsICdjb2x1bW5zJ10s Ci0gICAgICAgICAgICAgICAgICBjYW5BZGQ6IHRydWUsCi0gICAgICAgICAg ICAgICAgICBjYW5BZGRSb3c6IGZ1bmN0aW9uKG0pIHsKLSAgICAgICAgICAg ICAgICAgICAvLyBVc2VyIGNhbiBvbmx5IGFkZCBvbmUgcHJpbWFyeSBrZXkK LSAgICAgICAgICAgICAgICAgICB2YXIgY29sdW1ucyA9IG0uZ2V0KCdjb2x1 bW5zJyk7Ci0KLSAgICAgICAgICAgICAgICAgICByZXR1cm4gKG0uZ2V0KCdw cmltYXJ5X2tleScpICYmCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg bS5nZXQoJ3ByaW1hcnlfa2V5JykubGVuZ3RoIDwgMSAmJgotICAgICAgICAg ICAgICAgICAgICAgICAgICAgIF8uc29tZShjb2x1bW5zLnBsdWNrKCduYW1l JykpKTsKLSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICB9 LHsKLSAgICAgICAgICAgICAgICAgIGlkOiAnZm9yZWlnbl9rZXknLCBsYWJl bDogJ3t7IF8oJ0ZvcmVpZ24gS2V5JykgfX0nLAotICAgICAgICAgICAgICAg ICAgbW9kZWw6IHBnQnJvd3Nlci5Ob2Rlc1snZm9yZWlnbl9rZXknXS5tb2Rl bCwKLSAgICAgICAgICAgICAgICAgIHN1Ym5vZGU6IHBnQnJvd3Nlci5Ob2Rl c1snZm9yZWlnbl9rZXknXS5tb2RlbCwKLSAgICAgICAgICAgICAgICAgIGVk aXRhYmxlOiBmYWxzZSwgdHlwZTogJ2NvbGxlY3Rpb24nLAotICAgICAgICAg ICAgICAgICAgZ3JvdXA6ICd7eyBfKCdGb3JlaWduIEtleScpIH19JywgbW9k ZTogWydlZGl0JywgJ2NyZWF0ZSddLAotICAgICAgICAgICAgICAgICAgY2Fu RWRpdDogdHJ1ZSwgY2FuRGVsZXRlOiB0cnVlLAotICAgICAgICAgICAgICAg ICAgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsCi0gICAgICAg ICAgICAgICAgICBjYW5BZGQ6IHRydWUsCi0gICAgICAgICAgICAgICAgICBj b2x1bW5zIDogWyduYW1lJywgJ2NvbHVtbnMnXSwKLSAgICAgICAgICAgICAg ICAgIGNhbkFkZFJvdzogZnVuY3Rpb24obSkgewotICAgICAgICAgICAgICAg ICAgIC8vIFVzZXIgY2FuIG9ubHkgYWRkIGlmIHRoZXJlIGlzIGF0IGxlYXN0 IG9uZSBjb2x1bW4gd2l0aCBuYW1lLgotICAgICAgICAgICAgICAgICAgIHZh ciBjb2x1bW5zID0gbS5nZXQoJ2NvbHVtbnMnKTsKLSAgICAgICAgICAgICAg ICAgICByZXR1cm4gXy5zb21lKGNvbHVtbnMucGx1Y2soJ25hbWUnKSk7Ci0g ICAgICAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgICAgfSx7Ci0gICAg ICAgICAgICAgICAgICBpZDogJ2NoZWNrX2NvbnN0cmFpbnQnLCBsYWJlbDog J3t7IF8oJ0NoZWNrIENvbnN0cmFpbnQnKSB9fScsCi0gICAgICAgICAgICAg ICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGVzWydjaGVja19jb25zdHJhaW50 cyddLm1vZGVsLAotICAgICAgICAgICAgICAgICAgc3Vibm9kZTogcGdCcm93 c2VyLk5vZGVzWydjaGVja19jb25zdHJhaW50cyddLm1vZGVsLAotICAgICAg ICAgICAgICAgICAgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29sbGVjdGlv bicsCi0gICAgICAgICAgICAgICAgICBncm91cDogJ3t7IF8oJ0NoZWNrJykg fX0nLCBtb2RlOiBbJ2VkaXQnLCAnY3JlYXRlJ10sCi0gICAgICAgICAgICAg ICAgICBjYW5FZGl0OiB0cnVlLCBjYW5EZWxldGU6IHRydWUsCi0gICAgICAg ICAgICAgICAgICBjb250cm9sOiAndW5pcXVlLWNvbC1jb2xsZWN0aW9uJywK LSAgICAgICAgICAgICAgICAgIGNhbkFkZDogdHJ1ZSwKLSAgICAgICAgICAg ICAgICAgIGNvbHVtbnMgOiBbJ25hbWUnLCAnY29uc3JjJ10KLSAgICAgICAg ICAgICAgICB9LHsKLSAgICAgICAgICAgICAgICAgIGlkOiAndW5pcXVlX2Nv bnN0cmFpbnQnLCBsYWJlbDogJ3t7IF8oJ1VuaXF1ZSBDb25zdHJhaW50Jykg fX0nLAotICAgICAgICAgICAgICAgICAgbW9kZWw6IHBnQnJvd3Nlci5Ob2Rl c1sndW5pcXVlX2NvbnN0cmFpbnQnXS5tb2RlbCwKLSAgICAgICAgICAgICAg ICAgIHN1Ym5vZGU6IHBnQnJvd3Nlci5Ob2Rlc1sndW5pcXVlX2NvbnN0cmFp bnQnXS5tb2RlbCwKLSAgICAgICAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxz ZSwgdHlwZTogJ2NvbGxlY3Rpb24nLAotICAgICAgICAgICAgICAgICAgZ3Jv dXA6ICd7eyBfKCdVbmlxdWUnKSB9fScsIG1vZGU6IFsnZWRpdCcsICdjcmVh dGUnXSwKLSAgICAgICAgICAgICAgICAgIGNhbkVkaXQ6IHRydWUsIGNhbkRl bGV0ZTogdHJ1ZSwKLSAgICAgICAgICAgICAgICAgIGNvbnRyb2w6ICd1bmlx dWUtY29sLWNvbGxlY3Rpb24nLAotICAgICAgICAgICAgICAgICAgY29sdW1u cyA6IFsnbmFtZScsICdjb2x1bW5zJ10sCi0gICAgICAgICAgICAgICAgICBj YW5BZGQ6IHRydWUsCi0gICAgICAgICAgICAgICAgICBjYW5BZGRSb3c6IGZ1 bmN0aW9uKG0pIHsKLSAgICAgICAgICAgICAgICAgICAvLyBVc2VyIGNhbiBv bmx5IGFkZCBpZiB0aGVyZSBpcyBhdCBsZWFzdCBvbmUgY29sdW1uIHdpdGgg bmFtZS4KLSAgICAgICAgICAgICAgICAgICB2YXIgY29sdW1ucyA9IG0uZ2V0 KCdjb2x1bW5zJyk7Ci0gICAgICAgICAgICAgICAgICAgcmV0dXJuIF8uc29t ZShjb2x1bW5zLnBsdWNrKCduYW1lJykpOwotICAgICAgICAgICAgICAgICAg fQotICAgICAgICAgICAgICAgIH0sewotICAgICAgICAgICAgICAgICAgaWQ6 ICdleGNsdWRlX2NvbnN0cmFpbnQnLCBsYWJlbDogJ3t7IF8oJ0V4Y2x1ZGUg Q29uc3RyYWludCcpIH19JywKLSAgICAgICAgICAgICAgICAgIG1vZGVsOiBw Z0Jyb3dzZXIuTm9kZXNbJ2V4Y2x1c2lvbl9jb25zdHJhaW50J10ubW9kZWws Ci0gICAgICAgICAgICAgICAgICBzdWJub2RlOiBwZ0Jyb3dzZXIuTm9kZXNb J2V4Y2x1c2lvbl9jb25zdHJhaW50J10ubW9kZWwsCi0gICAgICAgICAgICAg ICAgICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICdjb2xsZWN0aW9uJywKLSAg ICAgICAgICAgICAgICAgIGdyb3VwOiAne3sgXygnRXhjbHVkZScpIH19Jywg bW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLAotICAgICAgICAgICAgICAgICAg Y2FuRWRpdDogdHJ1ZSwgY2FuRGVsZXRlOiB0cnVlLAotICAgICAgICAgICAg ICAgICAgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsCi0gICAg ICAgICAgICAgICAgICBjb2x1bW5zIDogWyduYW1lJywgJ2NvbHVtbnMnLCAn Y29uc3RyYWludCddLAotICAgICAgICAgICAgICAgICAgY2FuQWRkOiB0cnVl LAotICAgICAgICAgICAgICAgICAgY2FuQWRkUm93OiBmdW5jdGlvbihtKSB7 Ci0gICAgICAgICAgICAgICAgICAgLy8gVXNlciBjYW4gb25seSBhZGQgaWYg dGhlcmUgaXMgYXQgbGVhc3Qgb25lIGNvbHVtbiB3aXRoIG5hbWUuCi0gICAg ICAgICAgICAgICAgICAgdmFyIGNvbHVtbnMgPSBtLmdldCgnY29sdW1ucycp OwotICAgICAgICAgICAgICAgICAgIHJldHVybiBfLnNvbWUoY29sdW1ucy5w bHVjaygnbmFtZScpKTsKLSAgICAgICAgICAgICAgICAgIH0KLSAgICAgICAg ICAgIH1dCi0gICAgICAgICAgfV0KKyAgICAgICAgICAvLyBIZXJlIHdlIHdp bGwgY3JlYXRlIHRhYiBjb250cm9sIGZvciBjb25zdHJhaW50cworICAgICAg ICAgIHR5cGU6ICduZXN0ZWQnLCBjb250cm9sOiAndGFiJywgZ3JvdXA6ICd7 eyBfKCdDb25zdHJhaW50cycpIH19JywKKyAgICAgICAgICBtb2RlOiBbJ2Vk aXQnLCAnY3JlYXRlJ10sCisgICAgICAgICAgc2NoZW1hOiBbeworICAgICAg ICAgICAgICBpZDogJ3ByaW1hcnlfa2V5JywgbGFiZWw6ICd7eyBfKCdQcmlt YXJ5IGtleScpIH19JywKKyAgICAgICAgICAgICAgbW9kZWw6IHBnQnJvd3Nl ci5Ob2Rlc1sncHJpbWFyeV9rZXknXS5tb2RlbCwKKyAgICAgICAgICAgICAg c3Vibm9kZTogcGdCcm93c2VyLk5vZGVzWydwcmltYXJ5X2tleSddLm1vZGVs LAorICAgICAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICdjb2xs ZWN0aW9uJywKKyAgICAgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdQcmltYXJ5 IEtleScpIH19JywgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLAorICAgICAg ICAgICAgICBjYW5FZGl0OiB0cnVlLCBjYW5EZWxldGU6IHRydWUsCisgICAg ICAgICAgICAgIGNvbnRyb2w6ICd1bmlxdWUtY29sLWNvbGxlY3Rpb24nLAor ICAgICAgICAgICAgICBjb2x1bW5zIDogWyduYW1lJywgJ2NvbHVtbnMnXSwK KyAgICAgICAgICAgICAgY2FuQWRkOiB0cnVlLAorICAgICAgICAgICAgICBj YW5BZGRSb3c6IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgICAgICAgIC8vIFVz ZXIgY2FuIG9ubHkgYWRkIG9uZSBwcmltYXJ5IGtleQorICAgICAgICAgICAg ICAgdmFyIGNvbHVtbnMgPSBtLmdldCgnY29sdW1ucycpOworCisgICAgICAg ICAgICAgICByZXR1cm4gKG0uZ2V0KCdwcmltYXJ5X2tleScpICYmCisgICAg ICAgICAgICAgICAgICAgICAgICBtLmdldCgncHJpbWFyeV9rZXknKS5sZW5n dGggPCAxICYmCisgICAgICAgICAgICAgICAgICAgICAgICBfLnNvbWUoY29s dW1ucy5wbHVjaygnbmFtZScpKSk7CisgICAgICAgICAgICAgIH0KKyAgICAg ICAgICAgIH0seworICAgICAgICAgICAgICBpZDogJ2ZvcmVpZ25fa2V5Jywg bGFiZWw6ICd7eyBfKCdGb3JlaWduIGtleScpIH19JywKKyAgICAgICAgICAg ICAgbW9kZWw6IHBnQnJvd3Nlci5Ob2Rlc1snZm9yZWlnbl9rZXknXS5tb2Rl bCwKKyAgICAgICAgICAgICAgc3Vibm9kZTogcGdCcm93c2VyLk5vZGVzWydm b3JlaWduX2tleSddLm1vZGVsLAorICAgICAgICAgICAgICBlZGl0YWJsZTog ZmFsc2UsIHR5cGU6ICdjb2xsZWN0aW9uJywKKyAgICAgICAgICAgICAgZ3Jv dXA6ICd7eyBfKCdGb3JlaWduIEtleScpIH19JywgbW9kZTogWydlZGl0Jywg J2NyZWF0ZSddLAorICAgICAgICAgICAgICBjYW5FZGl0OiB0cnVlLCBjYW5E ZWxldGU6IHRydWUsCisgICAgICAgICAgICAgIGNvbnRyb2w6ICd1bmlxdWUt Y29sLWNvbGxlY3Rpb24nLAorICAgICAgICAgICAgICBjYW5BZGQ6IHRydWUs CisgICAgICAgICAgICAgIGNvbHVtbnMgOiBbJ25hbWUnLCAnY29sdW1ucydd LAorICAgICAgICAgICAgICBjYW5BZGRSb3c6IGZ1bmN0aW9uKG0pIHsKKyAg ICAgICAgICAgICAgIC8vIFVzZXIgY2FuIG9ubHkgYWRkIGlmIHRoZXJlIGlz IGF0IGxlYXN0IG9uZSBjb2x1bW4gd2l0aCBuYW1lLgorICAgICAgICAgICAg ICAgdmFyIGNvbHVtbnMgPSBtLmdldCgnY29sdW1ucycpOworICAgICAgICAg ICAgICAgcmV0dXJuIF8uc29tZShjb2x1bW5zLnBsdWNrKCduYW1lJykpOwor ICAgICAgICAgICAgICB9CisgICAgICAgICAgICB9LHsKKyAgICAgICAgICAg ICAgaWQ6ICdjaGVja19jb25zdHJhaW50JywgbGFiZWw6ICd7eyBfKCdDaGVj ayBjb25zdHJhaW50JykgfX0nLAorICAgICAgICAgICAgICBtb2RlbDogcGdC cm93c2VyLk5vZGVzWydjaGVja19jb25zdHJhaW50cyddLm1vZGVsLAorICAg ICAgICAgICAgICBzdWJub2RlOiBwZ0Jyb3dzZXIuTm9kZXNbJ2NoZWNrX2Nv bnN0cmFpbnRzJ10ubW9kZWwsCisgICAgICAgICAgICAgIGVkaXRhYmxlOiBm YWxzZSwgdHlwZTogJ2NvbGxlY3Rpb24nLAorICAgICAgICAgICAgICBncm91 cDogJ3t7IF8oJ0NoZWNrJykgfX0nLCBtb2RlOiBbJ2VkaXQnLCAnY3JlYXRl J10sCisgICAgICAgICAgICAgIGNhbkVkaXQ6IHRydWUsIGNhbkRlbGV0ZTog dHJ1ZSwKKyAgICAgICAgICAgICAgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29s bGVjdGlvbicsCisgICAgICAgICAgICAgIGNhbkFkZDogdHJ1ZSwKKyAgICAg ICAgICAgICAgY29sdW1ucyA6IFsnbmFtZScsICdjb25zcmMnXQorICAgICAg ICAgICAgfSx7CisgICAgICAgICAgICAgIGlkOiAndW5pcXVlX2NvbnN0cmFp bnQnLCBsYWJlbDogJ3t7IF8oJ1VuaXF1ZSBjb25zdHJhaW50JykgfX0nLAor ICAgICAgICAgICAgICBtb2RlbDogcGdCcm93c2VyLk5vZGVzWyd1bmlxdWVf Y29uc3RyYWludCddLm1vZGVsLAorICAgICAgICAgICAgICBzdWJub2RlOiBw Z0Jyb3dzZXIuTm9kZXNbJ3VuaXF1ZV9jb25zdHJhaW50J10ubW9kZWwsCisg ICAgICAgICAgICAgIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTogJ2NvbGxlY3Rp b24nLAorICAgICAgICAgICAgICBncm91cDogJ3t7IF8oJ1VuaXF1ZScpIH19 JywgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLAorICAgICAgICAgICAgICBj YW5FZGl0OiB0cnVlLCBjYW5EZWxldGU6IHRydWUsCisgICAgICAgICAgICAg IGNvbnRyb2w6ICd1bmlxdWUtY29sLWNvbGxlY3Rpb24nLAorICAgICAgICAg ICAgICBjb2x1bW5zIDogWyduYW1lJywgJ2NvbHVtbnMnXSwKKyAgICAgICAg ICAgICAgY2FuQWRkOiB0cnVlLAorICAgICAgICAgICAgICBjYW5BZGRSb3c6 IGZ1bmN0aW9uKG0pIHsKKyAgICAgICAgICAgICAgIC8vIFVzZXIgY2FuIG9u bHkgYWRkIGlmIHRoZXJlIGlzIGF0IGxlYXN0IG9uZSBjb2x1bW4gd2l0aCBu YW1lLgorICAgICAgICAgICAgICAgdmFyIGNvbHVtbnMgPSBtLmdldCgnY29s dW1ucycpOworICAgICAgICAgICAgICAgcmV0dXJuIF8uc29tZShjb2x1bW5z LnBsdWNrKCduYW1lJykpOworICAgICAgICAgICAgICB9CisgICAgICAgICAg ICB9LHsKKyAgICAgICAgICAgICAgaWQ6ICdleGNsdWRlX2NvbnN0cmFpbnQn LCBsYWJlbDogJ3t7IF8oJ0V4Y2x1ZGUgY29uc3RyYWludCcpIH19JywKKyAg ICAgICAgICAgICAgbW9kZWw6IHBnQnJvd3Nlci5Ob2Rlc1snZXhjbHVzaW9u X2NvbnN0cmFpbnQnXS5tb2RlbCwKKyAgICAgICAgICAgICAgc3Vibm9kZTog cGdCcm93c2VyLk5vZGVzWydleGNsdXNpb25fY29uc3RyYWludCddLm1vZGVs LAorICAgICAgICAgICAgICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICdjb2xs ZWN0aW9uJywKKyAgICAgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdFeGNsdWRl JykgfX0nLCBtb2RlOiBbJ2VkaXQnLCAnY3JlYXRlJ10sCisgICAgICAgICAg ICAgIGNhbkVkaXQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwKKyAgICAgICAg ICAgICAgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlvbicsCisgICAg ICAgICAgICAgIGNvbHVtbnMgOiBbJ25hbWUnLCAnY29sdW1ucycsICdjb25z dHJhaW50J10sCisgICAgICAgICAgICAgIGNhbkFkZDogdHJ1ZSwKKyAgICAg ICAgICAgICAgY2FuQWRkUm93OiBmdW5jdGlvbihtKSB7CisgICAgICAgICAg ICAgICAvLyBVc2VyIGNhbiBvbmx5IGFkZCBpZiB0aGVyZSBpcyBhdCBsZWFz dCBvbmUgY29sdW1uIHdpdGggbmFtZS4KKyAgICAgICAgICAgICAgIHZhciBj b2x1bW5zID0gbS5nZXQoJ2NvbHVtbnMnKTsKKyAgICAgICAgICAgICAgIHJl dHVybiBfLnNvbWUoY29sdW1ucy5wbHVjaygnbmFtZScpKTsKKyAgICAgICAg ICAgICAgfQorICAgICAgICB9XQogICAgICAgICB9LHsKICAgICAgICAgICB0 eXBlOiAnbmVzdGVkJywgY29udHJvbDogJ2ZpZWxkc2V0JywgbGFiZWw6ICd7 eyBfKCdMaWtlJykgfX0nLAogICAgICAgICAgIGdyb3VwOiAne3sgXygnQWR2 YW5jZWQnKSB9fScsCkBAIC02ODYsMjMgKzY4NiwyMyBAQCBmdW5jdGlvbigk LCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5KSB7CiAgICAg ICAgICAgICBjb250cm9sOiAnbm9kZS1hamF4LW9wdGlvbnMnLCB1cmw6ICdn ZXRfcmVsYXRpb25zJywKICAgICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hl bWFXaXRoTW9kZWxDaGVjaycsIGdyb3VwOiAne3sgXygnTGlrZScpIH19Jwog ICAgICAgICAgIH0sewotICAgICAgICAgICAgaWQ6ICdsaWtlX2RlZmF1bHRf dmFsdWUnLCBsYWJlbDone3sgXygnV2l0aCBEZWZhdWx0IHZhbHVlcz8nKSB9 fScsIGNlbGw6ICdzd2l0Y2gnLAorICAgICAgICAgICAgaWQ6ICdsaWtlX2Rl ZmF1bHRfdmFsdWUnLCBsYWJlbDone3sgXygnV2l0aCBkZWZhdWx0IHZhbHVl cz8nKSB9fScsIGNlbGw6ICdzd2l0Y2gnLAogICAgICAgICAgICAgdHlwZTog J3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwKICAgICAgICAg ICAgIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRoTW9kZWxDaGVjaycsIGdyb3Vw OiAne3sgXygnTGlrZScpIH19JwogICAgICAgICAgIH0sewotICAgICAgICAg ICAgaWQ6ICdsaWtlX2NvbnN0cmFpbnRzJywgbGFiZWw6J3t7IF8oJ1dpdGgg Q29uc3RyYWludHM/JykgfX0nLCBjZWxsOiAnc3dpdGNoJywKKyAgICAgICAg ICAgIGlkOiAnbGlrZV9jb25zdHJhaW50cycsIGxhYmVsOid7eyBfKCdXaXRo IGNvbnN0cmFpbnRzPycpIH19JywgY2VsbDogJ3N3aXRjaCcsCiAgICAgICAg ICAgICB0eXBlOiAnc3dpdGNoJywgbW9kZTogWydjcmVhdGUnLCAnZWRpdCdd LAogICAgICAgICAgICAgZGlzYWJsZWQ6ICdpblNjaGVtYVdpdGhNb2RlbENo ZWNrJywgZ3JvdXA6ICd7eyBfKCdMaWtlJykgfX0nCiAgICAgICAgICAgfSx7 Ci0gICAgICAgICAgICBpZDogJ2xpa2VfaW5kZXhlcycsIGxhYmVsOid7eyBf KCdXaXRoIEluZGV4ZXM/JykgfX0nLCBjZWxsOiAnc3dpdGNoJywKKyAgICAg ICAgICAgIGlkOiAnbGlrZV9pbmRleGVzJywgbGFiZWw6J3t7IF8oJ1dpdGgg aW5kZXhlcz8nKSB9fScsIGNlbGw6ICdzd2l0Y2gnLAogICAgICAgICAgICAg dHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwKICAg ICAgICAgICAgIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRoTW9kZWxDaGVjaycs IGdyb3VwOiAne3sgXygnTGlrZScpIH19JwogICAgICAgICAgIH0sewotICAg ICAgICAgICAgaWQ6ICdsaWtlX3N0b3JhZ2UnLCBsYWJlbDone3sgXygnV2l0 aCBTdG9yYWdlPycpIH19JywgY2VsbDogJ3N3aXRjaCcsCisgICAgICAgICAg ICBpZDogJ2xpa2Vfc3RvcmFnZScsIGxhYmVsOid7eyBfKCdXaXRoIHN0b3Jh Z2U/JykgfX0nLCBjZWxsOiAnc3dpdGNoJywKICAgICAgICAgICAgIHR5cGU6 ICdzd2l0Y2gnLCBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0J10sCiAgICAgICAg ICAgICBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVsQ2hlY2snLCBncm91 cDogJ3t7IF8oJ0xpa2UnKSB9fScKICAgICAgICAgICB9LHsKLSAgICAgICAg ICAgIGlkOiAnbGlrZV9jb21tZW50cycsIGxhYmVsOid7eyBfKCdXaXRoIENv bW1lbnRzPycpIH19JywgY2VsbDogJ3N3aXRjaCcsCisgICAgICAgICAgICBp ZDogJ2xpa2VfY29tbWVudHMnLCBsYWJlbDone3sgXygnV2l0aCBjb21tZW50 cz8nKSB9fScsIGNlbGw6ICdzd2l0Y2gnLAogICAgICAgICAgICAgdHlwZTog J3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywgJ2VkaXQnXSwKICAgICAgICAg ICAgIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRoTW9kZWxDaGVjaycsIGdyb3Vw OiAne3sgXygnTGlrZScpIH19JwogICAgICAgICAgIH1dCkBAIC03MjMsMTcg KzcyMywxNyBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dz ZXIsIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgbW9kZTogWydlZGl0JywgJ2Ny ZWF0ZSddLCBjYW5BZGQ6IHRydWUsIGNhbkRlbGV0ZTogdHJ1ZSwKICAgICAg ICAgICB1bmlxdWVDb2wgOiBbJ2dyYW50ZWUnXQogICAgICAgICB9LHsKLSAg ICAgICAgICBpZDogJ3NlY2xhYmVscycsIGxhYmVsOiAne3sgXygnU2VjdXJp dHkgTGFiZWxzJykgfX0nLAorICAgICAgICAgIGlkOiAnc2VjbGFiZWxzJywg bGFiZWw6ICd7eyBfKCdTZWN1cml0eSBsYWJlbHMnKSB9fScsCiAgICAgICAg ICAgbW9kZWw6IHBnQWRtaW4uQnJvd3Nlci5TZWN1cml0eU1vZGVsLCBlZGl0 YWJsZTogZmFsc2UsIHR5cGU6ICdjb2xsZWN0aW9uJywKICAgICAgICAgICBn cm91cDogJ3t7IF8oJ1NlY3VyaXR5JykgfX0nLCBtb2RlOiBbJ2VkaXQnLCAn Y3JlYXRlJ10sCiAgICAgICAgICAgbWluX3ZlcnNpb246IDkwMTAwLCBjYW5B ZGQ6IHRydWUsCiAgICAgICAgICAgY2FuRWRpdDogZmFsc2UsIGNhbkRlbGV0 ZTogdHJ1ZSwgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlvbicKICAg ICAgICAgfSx7Ci0gICAgICAgICAgaWQ6ICd2YWN1dW1fc2V0dGluZ3Nfc3Ry JywgbGFiZWw6ICd7eyBfKCdTdG9yYWdlIFNldHRpbmdzJykgfX0nLAorICAg ICAgICAgIGlkOiAndmFjdXVtX3NldHRpbmdzX3N0cicsIGxhYmVsOiAne3sg XygnU3RvcmFnZSBzZXR0aW5ncycpIH19JywKICAgICAgICAgICB0eXBlOiAn bXVsdGlsaW5lJywgZ3JvdXA6ICd7eyBfKCdBZHZhbmNlZCcpIH19JywgbW9k ZTogWydwcm9wZXJ0aWVzJ10KICAgICAgICAgfQogICAgICAgICBdLAotICAg ICAgICB2YWxpZGF0ZTogZnVuY3Rpb24oKSB7CisgICAgICAgIHZhbGlkYXRl OiBmdW5jdGlvbihrZXlzKSB7CiAgICAgICAgICAgdmFyIGVyciA9IHt9LAog ICAgICAgICAgICAgICBjaGFuZ2VkQXR0cnMgPSB0aGlzLmNoYW5nZWQsCiAg ICAgICAgICAgICAgIG1zZyA9IHVuZGVmaW5lZCwKQEAgLTc0Myw2ICs3NDMs MTQgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBh bGVydGlmeSkgewogCiAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLmNsZWFy KCk7CiAKKyAgICAgICAgICAvLyBJZiBub3RoaW5nIHRvIHZhbGlkYXRlIG9y IFZhY3V1bVNldHRpbmcga2V5cyB0aGVuCisgICAgICAgICAgLy8gcmV0dXJu IGZyb20gaGVyZQorICAgICAgICAgIGlmICgga2V5cyAmJiAoa2V5cy5sZW5n dGggPT0gMAorICAgICAgICAgICAgICAgICAgICAgICAgfHwgXy5pbmRleE9m KGtleXMsICdhdXRvdmFjdXVtX2VuYWJsZWQnKSAhPSAtMQorICAgICAgICAg ICAgICAgICAgICAgICAgfHwgXy5pbmRleE9mKGtleXMsICd0b2FzdF9hdXRv dmFjdXVtX2VuYWJsZWQnKSAhPSAtMSkgKSB7CisgICAgICAgICAgICByZXR1 cm4gbnVsbDsKKyAgICAgICAgICB9CisKICAgICAgICAgICBpZiAoXy5pc1Vu ZGVmaW5lZChuYW1lKSB8fCBfLmlzTnVsbChuYW1lKSB8fAogICAgICAgICAg ICAgU3RyaW5nKG5hbWUpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykgPT0g JycpIHsKICAgICAgICAgICAgIG1zZyA9ICd7eyBfKCdUYWJsZSBuYW1lIGNh biBub3QgYmUgZW1wdHkuJykgfX0nOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL3RyaWdnZXJzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvdGFibGVzL3RyaWdnZXJzL19faW5pdF9fLnB5CmluZGV4IDYzNDQ4 M2EuLjM3YjEzOTEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy90cmlnZ2Vycy9fX2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90 YWJsZXMvdHJpZ2dlcnMvX19pbml0X18ucHkKQEAgLTExMyw3ICsxMTMsNyBA QCBjbGFzcyBUcmlnZ2VyTW9kdWxlKENvbGxlY3Rpb25Ob2RlTW9kdWxlKToK ICAgICAgICAgIiIiCiAgICAgICAgIExvYWQgdGhlIG1vZHVsZSBub2RlIGFz IGEgbGVhZiBub2RlCiAgICAgICAgICIiIgotICAgICAgICByZXR1cm4gVHJ1 ZQorICAgICAgICByZXR1cm4gRmFsc2UKIAogICAgIEBwcm9wZXJ0eQogICAg IGRlZiBjc3NzbmlwcGV0cyhzZWxmKToKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy90cmlnZ2Vycy90ZW1wbGF0ZXMvdHJpZ2dlci9qcy90 cmlnZ2VyLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RyaWdnZXJzL3Rl bXBsYXRlcy90cmlnZ2VyL2pzL3RyaWdnZXIuanMKaW5kZXggYmQyMjc5NS4u M2IyMDUyNyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3Ry aWdnZXJzL3RlbXBsYXRlcy90cmlnZ2VyL2pzL3RyaWdnZXIuanMKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RyaWdnZXJzL3RlbXBsYXRlcy90cmln Z2VyL2pzL3RyaWdnZXIuanMKQEAgLTMsNiArMywyNiBAQCBkZWZpbmUoCiAg ICAgICAgICdiYWNrZm9ybScsICdhbGVydGlmeScsICdwZ2FkbWluLmJyb3dz ZXIuY29sbGVjdGlvbiddLAogZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwg cGdCcm93c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsKIAorCisgIHZhciBD dXN0b21Td2l0Y2hDb250cm9sID0gQmFja2Zvcm0uQ3VzdG9tU3dpdGNoQ29u dHJvbCA9IEJhY2tmb3JtLlN3aXRjaENvbnRyb2wuZXh0ZW5kKHsKKyAgICB0 ZW1wbGF0ZTogXy50ZW1wbGF0ZShbCisgICAgICAnPGxhYmVsIGNsYXNzPSI8 JT1CYWNrZm9ybS5jb250cm9sTGFiZWxDbGFzc05hbWUlPiBjdXN0b21fc3dp dGNoX2xhYmVsX2NsYXNzIj48JT1sYWJlbCU+PC9sYWJlbD4nLAorICAgICAg JzxkaXYgY2xhc3M9IjwlPUJhY2tmb3JtLmNvbnRyb2xzQ2xhc3NOYW1lJT4g Y3VzdG9tX3N3aXRjaF9jb250cm9sX2NsYXNzIj4nLAorICAgICAgJyAgPGRp diBjbGFzcz0iY2hlY2tib3giPicsCisgICAgICAnICAgIDxsYWJlbD4nLAor ICAgICAgJyAgICAgIDxpbnB1dCB0eXBlPSJjaGVja2JveCIgY2xhc3M9Ijwl PWV4dHJhQ2xhc3Nlcy5qb2luKFwnIFwnKSU+IicsCisgICAgICAnICAgICAg ICBuYW1lPSI8JT1uYW1lJT4iIDwlPXZhbHVlID8gImNoZWNrZWQ9XCdjaGVj a2VkXCciIDogIiIlPicsCisgICAgICAnICAgICAgICA8JT1kaXNhYmxlZCA/ ICJkaXNhYmxlZCIgOiAiIiU+IDwlPXJlcXVpcmVkID8gInJlcXVpcmVkIiA6 ICIiJT4gLz4nLAorICAgICAgJyAgICA8L2xhYmVsPicsCisgICAgICAnICA8 L2Rpdj4nLAorICAgICAgJzwvZGl2PicsCisgICAgICAnPCUgaWYgKGhlbHBN ZXNzYWdlICYmIGhlbHBNZXNzYWdlLmxlbmd0aCkgeyAlPicsCisgICAgICAn ICA8c3BhbiBjbGFzcz0iPCU9QmFja2Zvcm0uaGVscE1lc3NhZ2VDbGFzc05h bWUlPiI+PCU9aGVscE1lc3NhZ2UlPjwvc3Bhbj4nLAorICAgICAgJzwlIH0g JT4nCisgICAgXS5qb2luKCJcbiIpKSwKKyAgICBjbGFzc05hbWU6ICdwZ2Fk bWluLWNvbnRyb2wtZ3JvdXAgZm9ybS1ncm91cCBjb2wteHMtNicKKyAgfSk7 CisKICAgaWYgKCFwZ0Jyb3dzZXIuTm9kZXNbJ2NvbGwtdHJpZ2dlciddKSB7 CiAgICAgdmFyIHRyaWdnZXJzID0gcGdBZG1pbi5Ccm93c2VyLk5vZGVzWydj b2xsLXRyaWdnZXInXSA9CiAgICAgICBwZ0FkbWluLkJyb3dzZXIuQ29sbGVj dGlvbi5leHRlbmQoewpAQCAtMTYyLDcgKzE4Miw4IEBAIGZ1bmN0aW9uKCQs IF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5 KSB7CiAgICAgICBtb2RlbDogcGdBZG1pbi5Ccm93c2VyLk5vZGUuTW9kZWwu ZXh0ZW5kKHsKICAgICAgICAgZGVmYXVsdHM6IHsKICAgICAgICAgICBuYW1l OiB1bmRlZmluZWQsCi0JCQkJCWlzX3Jvd190cmlnZ2VyOiB0cnVlCisgICAg ICAgICAgaXNfcm93X3RyaWdnZXI6IHRydWUsCisgICAgICAgICAgZmlyZXM6 ICdCRUZPUkUnCiAgICAgICAgIH0sCiAgICAgICAgIHNjaGVtYTogW3sKICAg ICAgICAgICBpZDogJ25hbWUnLCBsYWJlbDogJ3t7IF8oJ05hbWUnKSB9fScs IGNlbGw6ICdzdHJpbmcnLApAQCAtMTcyLDE0ICsxOTMsMTUgQEAgZnVuY3Rp b24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNrZm9ybSwgYWxl cnRpZnkpIHsKICAgICAgICAgICB0eXBlOiAnaW50JywgZGlzYWJsZWQ6IHRy dWUsIG1vZGU6IFsncHJvcGVydGllcyddCiAgICAgICAgIH0sewogICAgICAg ICAgIGlkOiAnaXNfZW5hYmxlX3RyaWdnZXInLCBsYWJlbDone3sgXygnRW5h YmxlIHRyaWdnZXI/JykgfX0nLAotICAgICAgICAgIHR5cGU6ICdzd2l0Y2gn LCBkaXNhYmxlZDogJ2luU2NoZW1hJywgbW9kZTogWydwcm9wZXJ0aWVzJ10K KyAgICAgICAgICB0eXBlOiAnc3dpdGNoJywgZGlzYWJsZWQ6ICdpblNjaGVt YScsIG1vZGU6IFsncHJvcGVydGllcyddLAorICAgICAgICAgIGdyb3VwOiAn e3sgXygnRGVmaW5pdGlvbicpIH19JwogICAgICAgICB9LHsKLSAgICAgICAg ICBpZDogJ2lzX3Jvd190cmlnZ2VyJywgbGFiZWw6J3t7IF8oJ1JvdyB0cmln Z2VyJykgfX0nLAorICAgICAgICAgIGlkOiAnaXNfcm93X3RyaWdnZXInLCBs YWJlbDone3sgXygnUm93IHRyaWdnZXI/JykgfX0nLAogICAgICAgICAgIHR5 cGU6ICdzd2l0Y2gnLCBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScs CiAgICAgICAgICAgbW9kZTogWydjcmVhdGUnLCdlZGl0JywgJ3Byb3BlcnRp ZXMnXSwKICAgICAgICAgICBkZXBzOiBbJ2lzX2NvbnN0cmFpbnRfdHJpZ2dl ciddLAogICAgICAgICAgIGRpc2FibGVkOiBmdW5jdGlvbihtKSB7Ci0gICAg ICAgICAgICAvLyBJZiBjb250cmFpbnQgdHJpZ2dlciBpcyBzZXQgdG8gVHJ1 ZSB0aGVuIHJvdyB0cmlnZ2VyIHdpbGwKKyAgICAgICAgICAgIC8vIElmIGNv bnN0cmFpbnQgdHJpZ2dlciBpcyBzZXQgdG8gVHJ1ZSB0aGVuIHJvdyB0cmln Z2VyIHdpbGwKICAgICAgICAgICAgIC8vIGF1dG9tYXRpY2FsbHkgc2V0IHRv IFRydWUgYW5kIGJlY29tZXMgZGlzYWJsZQogICAgICAgICAgICAgdmFyIGlz X2NvbnN0cmFpbnRfdHJpZ2dlciA9IG0uZ2V0KCdpc19jb25zdHJhaW50X3Ry aWdnZXInKTsKICAgICAgICAgICAgIGlmKCFtLmluU2NoZW1hV2l0aE1vZGVs Q2hlY2suYXBwbHkodGhpcywgW21dKSkgewpAQCAtMTkyLDU0ICsyMTQsNjEg QEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNr Zm9ybSwgYWxlcnRpZnkpIHsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJu IGZhbHNlOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxz ZSB7Ci0gICAgICAgICAgICAgICAgLy8gRGlzYmFsZSBpdAorICAgICAgICAg ICAgICAgIC8vIERpc2FibGUgaXQKICAgICAgICAgICAgICAgICByZXR1cm4g dHJ1ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIH0s ewotICAgICAgICAgIGlkOiAnaXNfY29uc3RyYWludF90cmlnZ2VyJywgbGFi ZWw6J3t7IF8oJ0NvbnN0cmFpbnQgdHJpZ2dlcicpIH19JywKKyAgICAgICAg ICBpZDogJ2lzX2NvbnN0cmFpbnRfdHJpZ2dlcicsIGxhYmVsOid7eyBfKCdD b25zdHJhaW50IHRyaWdnZXI/JykgfX0nLAogICAgICAgICAgIHR5cGU6ICdz d2l0Y2gnLCBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVsQ2hlY2snLAog ICAgICAgICAgIG1vZGU6IFsnY3JlYXRlJywnZWRpdCcsICdwcm9wZXJ0aWVz J10sCiAgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdEZWZpbml0aW9uJykgfX0n CiAgICAgICAgIH0sewotICAgICAgICAgIGlkOiAndGdkZWZlcnJhYmxlJywg bGFiZWw6J3t7IF8oJ0RlZmVycmFibGUnKSB9fScsCisgICAgICAgICAgaWQ6 ICd0Z2RlZmVycmFibGUnLCBsYWJlbDone3sgXygnRGVmZXJyYWJsZT8nKSB9 fScsCiAgICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGdyb3VwOiAne3sgXygn RGVmaW5pdGlvbicpIH19JywKICAgICAgICAgICBtb2RlOiBbJ2NyZWF0ZScs J2VkaXQnLCAncHJvcGVydGllcyddLAogICAgICAgICAgIGRlcHM6IFsnaXNf Y29uc3RyYWludF90cmlnZ2VyJ10sCiAgICAgICAgICAgZGlzYWJsZWQ6IGZ1 bmN0aW9uKG0pIHsKLSAgICAgICAgICAgIC8vIElmIGNvbnRyYWludCB0cmln Z2VyIGlzIHNldCB0byBUcnVlIHRoZW4gb25seSBlbmFibGUgaXQKKyAgICAg ICAgICAgIC8vIElmIGNvbnN0cmFpbnQgdHJpZ2dlciBpcyBzZXQgdG8gVHJ1 ZSB0aGVuIG9ubHkgZW5hYmxlIGl0CiAgICAgICAgICAgICB2YXIgaXNfY29u c3RyYWludF90cmlnZ2VyID0gbS5nZXQoJ2lzX2NvbnN0cmFpbnRfdHJpZ2dl cicpOwogICAgICAgICAgICAgaWYoIW0uaW5TY2hlbWFXaXRoTW9kZWxDaGVj ay5hcHBseSh0aGlzLCBbbV0pKSB7CiAgICAgICAgICAgICAgICAgaWYoIV8u aXNVbmRlZmluZWQoaXNfY29uc3RyYWludF90cmlnZ2VyKSAmJgogICAgICAg ICAgICAgICAgIGlzX2NvbnN0cmFpbnRfdHJpZ2dlciA9PT0gdHJ1ZSkgewog ICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgICAg ICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgc2V0VGltZW91 dChmdW5jdGlvbigpIHsgbS5zZXQoJ3RnZGVmZXJyYWJsZScsIGZhbHNlKSB9 LCAxMCk7CisgICAgICAgICAgICAgICAgICAgIC8vIElmIHZhbHVlIGlzIGFs cmVhZHkgc2V0IHRoZW4gcmVzZXQgaXQgdG8gZmFsc2UKKyAgICAgICAgICAg ICAgICAgICAgaWYobS5nZXQoJ3RnZGVmZXJyYWJsZScpKSB7CisgICAgICAg ICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsgbS5zZXQo J3RnZGVmZXJyYWJsZScsIGZhbHNlKSB9LCAxMCk7CisgICAgICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAg ICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAg ICAgICAgICAgICAvLyBEaXNiYWxlIGl0CisgICAgICAgICAgICAgICAgLy8g RGlzYWJsZSBpdAogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg ICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAgfSx7Ci0gICAgICAg ICAgaWQ6ICd0Z2luaXRkZWZlcnJlZCcsIGxhYmVsOid7eyBfKCdEZWZlcnJl ZCcpIH19JywKKyAgICAgICAgICBpZDogJ3RnaW5pdGRlZmVycmVkJywgbGFi ZWw6J3t7IF8oJ0RlZmVycmVkPycpIH19JywKICAgICAgICAgICB0eXBlOiAn c3dpdGNoJywgZ3JvdXA6ICd7eyBfKCdEZWZpbml0aW9uJykgfX0nLAogICAg ICAgICAgIG1vZGU6IFsnY3JlYXRlJywnZWRpdCcsICdwcm9wZXJ0aWVzJ10s Ci0gICAgICAgICAgZGVwczogWyd0Z2RlZmVycmFibGUnXSwKKyAgICAgICAg ICBkZXBzOiBbJ3RnZGVmZXJyYWJsZScsICdpc19jb25zdHJhaW50X3RyaWdn ZXInXSwKICAgICAgICAgICBkaXNhYmxlZDogZnVuY3Rpb24obSkgewotICAg ICAgICAgICAgLy8gSWYgY29udHJhaW50IHRyaWdnZXIgaXMgc2V0IHRvIFRy dWUgdGhlbiBvbmx5IGVuYWJsZSBpdAotICAgICAgICAgICAgdmFyIGlzX2Nv bnN0cmFpbnRfdHJpZ2dlciA9IG0uZ2V0KCd0Z2RlZmVycmFibGUnKTsKKyAg ICAgICAgICAgIC8vIElmIERlZmVycmFibGUgaXMgc2V0IHRvIFRydWUgdGhl biBvbmx5IGVuYWJsZSBpdAorICAgICAgICAgICAgdmFyIHRnZGVmZXJyYWJs ZSA9IG0uZ2V0KCd0Z2RlZmVycmFibGUnKTsKICAgICAgICAgICAgIGlmKCFt LmluU2NoZW1hV2l0aE1vZGVsQ2hlY2suYXBwbHkodGhpcywgW21dKSkgewot ICAgICAgICAgICAgICAgIGlmKCFfLmlzVW5kZWZpbmVkKGlzX2NvbnN0cmFp bnRfdHJpZ2dlcikgJiYKLSAgICAgICAgICAgICAgICBpc19jb25zdHJhaW50 X3RyaWdnZXIgPT09IHRydWUpIHsKKyAgICAgICAgICAgICAgICBpZighXy5p c1VuZGVmaW5lZCh0Z2RlZmVycmFibGUpICYmCisgICAgICAgICAgICAgICAg dGdkZWZlcnJhYmxlKSB7CiAgICAgICAgICAgICAgICAgICAgIHJldHVybiBm YWxzZTsKICAgICAgICAgICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAg ICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgeyBtLnNldCgndGdpbml0 ZGVmZXJyZWQnLCBmYWxzZSkgfSwgMTApOwotICAgICAgICAgICAgICAgICAg ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAgICAgICAgICAgLy8gSWYgdmFs dWUgaXMgYWxyZWFkeSBzZXQgdGhlbiByZXNldCBpdCB0byBmYWxzZQorICAg ICAgICAgICAgICAgICAgICBpZihtLmdldCgndGdpbml0ZGVmZXJyZWQnKSkg eworICAgICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24o KSB7IG0uc2V0KCd0Z2luaXRkZWZlcnJlZCcsIGZhbHNlKSB9LCAxMCk7Cisg ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgLy8g SWYgY29uc3RyYWludCB0cmlnZ2VyIGlzIHNldCB0aGVuIGRvIG5vdCBkaXNh YmxlCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBtLmdldCgnaXNfY29u c3RyYWludF90cmlnZ2VyJykgPyBmYWxzZSA6IHRydWU7CiAgICAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAg ICAvLyBEaXNiYWxlIGl0CisgICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBp dAogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAg fQogICAgICAgICAgIH0KQEAgLTI2MSwyMCArMjkwLDIwIEBAIGZ1bmN0aW9u KCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0 aWZ5KSB7CiAgICAgICAgICAgICAgICAgaWYoc2VydmVyX3R5cGUgPT09ICdw cGFzJyAmJgogICAgICAgICAgICAgICAgICAgICAhXy5pc1VuZGVmaW5lZCh0 ZnVuY3Rpb24pICYmCiAgICAgICAgICAgICAgICAgdGZ1bmN0aW9uID09PSAn SW5saW5lIEVEQi1TUEwnKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIERp c2JhbGUgYW5kIGNsZWFyIGl0cyB2YWx1ZQorICAgICAgICAgICAgICAgICAg ICAvLyBEaXNhYmxlIGFuZCBjbGVhciBpdHMgdmFsdWUKICAgICAgICAgICAg ICAgICAgICAgbS5zZXQoJ3RnYXJncycsIHVuZGVmaW5lZCkKICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgfSBl bHNlIHsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAg ICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAg ICAgICAgICAgLy8gRGlzYmFsZSBpdAorICAgICAgICAgICAgICAgIC8vIERp c2FibGUgaXQKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAg ICAgICAgIH0KICAgICAgICAgICB9CiAgICAgICAgIH0sewogICAgICAgICBp ZDogJ2ZpcmVzJywgbGFiZWw6J3t7IF8oJ0ZpcmVzJykgfX0nLCBkZXBzOiBb J2lzX2NvbnN0cmFpbnRfdHJpZ2dlciddLAotICAgICAgICBtb2RlOiBbJ2Ny ZWF0ZScsJ2VkaXQnLCAncHJvcGVydGllcyddLCBncm91cDogJ3t7IF8oJ0Rl ZmluaXRpb24nKSB9fScsCisgICAgICAgIG1vZGU6IFsnY3JlYXRlJywnZWRp dCcsICdwcm9wZXJ0aWVzJ10sIGdyb3VwOiAne3sgXygnRXZlbnRzJykgfX0n LAogICAgICAgICBvcHRpb25zOiBmdW5jdGlvbihjb250cm9sKSB7CiAgICAg ICAgICAgICB2YXIgdGFibGVfb3B0aW9ucyA9IFsKICAgICAgICAgICAgICAg ICB7bGFiZWw6ICJCRUZPUkUiLCB2YWx1ZTogIkJFRk9SRSJ9LApAQCAtMjkx LDE4ICszMjAsNyBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jy b3dzZXIsIEJhY2tmb3JtLCBhbGVydGlmeSkgewogICAgICAgICAgICAgfQog ICAgICAgICB9LAogICAgICAgICAvLyBJZiBjcmVhdGUgbW9kZSB0aGVuIGJ5 IGRlZmF1bHQgb3BlbiBjb21wb3NpdGUgdHlwZQotICAgICAgICBjb250cm9s OiBCYWNrZm9ybS5TZWxlY3QyQ29udHJvbC5leHRlbmQoewotICAgICAgICAg ICAgcmVuZGVyOiBmdW5jdGlvbigpewotICAgICAgICAgICAgICAgIC8vIElu aXRpYWxpemUgcGFyZW50J3MgcmVuZGVyIG1ldGhvZAotICAgICAgICAgICAg ICAgIEJhY2tmb3JtLlNlbGVjdDJDb250cm9sLnByb3RvdHlwZS5yZW5kZXIu YXBwbHkodGhpcywgYXJndW1lbnRzKTsKLSAgICAgICAgICAgICAgICBpZih0 aGlzLm1vZGVsLmlzTmV3KCkgJiYKLSAgICAgICAgICAgICAgICAgICAgICAg IHRoaXMubW9kZWwuZ2V0KCdpc19jb25zdHJhaW50X3RyaWdnZXInKSAhPT0g dHJ1ZSApIHsKLSAgICAgICAgICAgICAgICAgICAgdGhpcy5tb2RlbC5zZXQo eydmaXJlcyc6ICdCRUZPUkUnfSwge3NpbGVudDogdHJ1ZX0pOwotICAgICAg ICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByZXR1cm4gdGhpczsKLSAg ICAgICAgICAgIH0KLSAgICAgICAgfSksCi0gICAgICAgIHNlbGVjdDI6IHsg YWxsb3dDbGVhcjogZmFsc2UsIHdpZHRoOiAiMTAwJSIgfSwKKyAgICAgICAg Y29udHJvbDogJ3NlbGVjdDInLCBzZWxlY3QyOiB7IGFsbG93Q2xlYXI6IGZh bHNlLCB3aWR0aDogIjEwMCUiIH0sCiAgICAgICAgIGRpc2FibGVkOiBmdW5j dGlvbihtKSB7CiAgICAgICAgIC8vIElmIGNvbnRyYWludCB0cmlnZ2VyIGlz IHNldCB0byBUcnVlIHRoZW4gb25seSBlbmFibGUgaXQKICAgICAgICAgdmFy IGlzX2NvbnN0cmFpbnRfdHJpZ2dlciA9IG0uZ2V0KCdpc19jb25zdHJhaW50 X3RyaWdnZXInKTsKQEAgLTMxNSwxNyArMzMzLDE4IEBAIGZ1bmN0aW9uKCQs IF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5 KSB7CiAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICAg ICAgfQogICAgICAgICB9IGVsc2UgewotICAgICAgICAgICAgLy8gRGlzYmFs ZSBpdAorICAgICAgICAgICAgLy8gRGlzYWJsZSBpdAogICAgICAgICAgICAg cmV0dXJuIHRydWU7CiAgICAgICAgIH0KICAgICAgICB9CiAgICAgICB9LHsK ICAgICAgICAgdHlwZTogJ25lc3RlZCcsIGNvbnRyb2w6ICdmaWVsZHNldCcs IG1vZGU6IFsnY3JlYXRlJywnZWRpdCcsICdwcm9wZXJ0aWVzJ10sCi0gICAg ICAgIGxhYmVsOiAne3sgXygnRXZlbnRzJykgfX0nLCBncm91cDogJ3t7IF8o J0RlZmluaXRpb24nKSB9fScsCisgICAgICAgIGxhYmVsOiAne3sgXygnRXZl bnRzJykgfX0nLCBncm91cDogJ3t7IF8oJ0V2ZW50cycpIH19JywKICAgICAg ICAgc2NoZW1hOlt7CiAgICAgICAgICAgICBpZDogJ2V2bnRfaW5zZXJ0Jywg bGFiZWw6J3t7IF8oJ0lOU0VSVCcpIH19JywKICAgICAgICAgICAgIHR5cGU6 ICdzd2l0Y2gnLCBtb2RlOiBbJ2NyZWF0ZScsJ2VkaXQnLCAncHJvcGVydGll cyddLAogICAgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdFdmVudHMnKSB9fScs CisgICAgICAgICAgICBjb250cm9sOiBCYWNrZm9ybS5DdXN0b21Td2l0Y2hD b250cm9sLAogICAgICAgICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsK ICAgICAgICAgICAgICAgICByZXR1cm4gbS5pblNjaGVtYVdpdGhNb2RlbENo ZWNrLmFwcGx5KHRoaXMsIFttXSk7CiAgICAgICAgICAgICB9CkBAIC0zMzMs NiArMzUyLDcgQEAgZnVuY3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93 c2VyLCBCYWNrZm9ybSwgYWxlcnRpZnkpIHsKICAgICAgICAgICAgIGlkOiAn ZXZudF91cGRhdGUnLCBsYWJlbDone3sgXygnVVBEQVRFJykgfX0nLAogICAg ICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIG1vZGU6IFsnY3JlYXRlJywnZWRp dCcsICdwcm9wZXJ0aWVzJ10sCiAgICAgICAgICAgICBncm91cDogJ3t7IF8o J0V2ZW50cycpIH19JywKKyAgICAgICAgICAgIGNvbnRyb2w6IEJhY2tmb3Jt LkN1c3RvbVN3aXRjaENvbnRyb2wsCiAgICAgICAgICAgICBkaXNhYmxlZDog ZnVuY3Rpb24obSkgewogICAgICAgICAgICAgICAgIHJldHVybiBtLmluU2No ZW1hV2l0aE1vZGVsQ2hlY2suYXBwbHkodGhpcywgW21dKTsKICAgICAgICAg ICAgIH0KQEAgLTM0MCwxMiArMzYwLDE0IEBAIGZ1bmN0aW9uKCQsIF8sIFMs IHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAg ICAgICAgICAgICBpZDogJ2V2bnRfZGVsZXRlJywgbGFiZWw6J3t7IF8oJ0RF TEVURScpIH19JywKICAgICAgICAgICAgIHR5cGU6ICdzd2l0Y2gnLCBtb2Rl OiBbJ2NyZWF0ZScsJ2VkaXQnLCAncHJvcGVydGllcyddLAogICAgICAgICAg ICAgZ3JvdXA6ICd7eyBfKCdFdmVudHMnKSB9fScsCisgICAgICAgICAgICBj b250cm9sOiBCYWNrZm9ybS5DdXN0b21Td2l0Y2hDb250cm9sLAogICAgICAg ICAgICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKICAgICAgICAgICAgICAg ICByZXR1cm4gbS5pblNjaGVtYVdpdGhNb2RlbENoZWNrLmFwcGx5KHRoaXMs IFttXSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0sewogICAgICAgICAg ICAgaWQ6ICdldm50X3R1cm5jYXRlJywgbGFiZWw6J3t7IF8oJ1RSVU5DQVRF JykgfX0nLAogICAgICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGdyb3VwOiAn e3sgXygnRXZlbnRzJykgfX0nLAorICAgICAgICAgICAgY29udHJvbDogQmFj a2Zvcm0uQ3VzdG9tU3dpdGNoQ29udHJvbCwKICAgICAgICAgICAgIGRpc2Fi bGVkOiBmdW5jdGlvbihtKSB7CiAgICAgICAgICAgICB2YXIgaXNfY29uc3Ry YWludF90cmlnZ2VyID0gbS5nZXQoJ2lzX2NvbnN0cmFpbnRfdHJpZ2dlcicp LAogICAgICAgICAgICAgICAgIGlzX3Jvd190cmlnZ2VyID0gbS5nZXQoJ2lz X3Jvd190cmlnZ2VyJyksCkBAIC0zNjMsNyArMzg1LDcgQEAgZnVuY3Rpb24o JCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBCYWNrZm9ybSwgYWxlcnRp ZnkpIHsKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg ICAgICAgICAgICAgfQogICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAg ICAgICAgICAvLyBEaXNiYWxlIGl0CisgICAgICAgICAgICAgICAgLy8gRGlz YWJsZSBpdAogICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAg ICAgICAgfQogICAgICAgICB9CkBAIC0zNzIsMTEgKzM5NCwxMSBAQCBmdW5j dGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3JtLCBh bGVydGlmeSkgewogICAgICAgICAgICAgaWQ6ICd3aGVuY2xhdXNlJywgbGFi ZWw6J3t7IF8oJ1doZW4nKSB9fScsCiAgICAgICAgICAgICB0eXBlOiAndGV4 dCcsIGRpc2FibGVkOiAnaW5TY2hlbWFXaXRoTW9kZWxDaGVjaycsCiAgICAg ICAgICAgICBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0JywgJ3Byb3BlcnRpZXMn XSwKLSAgICAgICAgICAgIGNvbnRyb2w6ICdzcWwtZmllbGQnLCB2aXNpYmxl OiB0cnVlLCBncm91cDogJ3t7IF8oJ0RlZmluaXRpb24nKSB9fScKKyAgICAg ICAgICAgIGNvbnRyb2w6ICdzcWwtZmllbGQnLCB2aXNpYmxlOiB0cnVlLCBn cm91cDogJ3t7IF8oJ0V2ZW50cycpIH19JwogICAgICAgICB9LHsKICAgICAg ICAgICAgIGlkOiAnY29sdW1ucycsIGxhYmVsOiAne3sgXygnQ29sdW1ucycp IH19JywgdXJsOiAnbm9kZXMnLAogICAgICAgICAgICAgdHlwZTogJ2NvbGxl Y3Rpb24nLCBjb250cm9sOiAnbXVsdGktc2VsZWN0LWFqYXgnLAotICAgICAg ICAgICAgZGVwczogWydldm50X3VwZGF0ZSddLCBub2RlOiAnY29sdW1uJywg Z3JvdXA6ICd7eyBfKCdEZWZpbml0aW9uJykgfX0nLAorICAgICAgICAgICAg ZGVwczogWydldm50X3VwZGF0ZSddLCBub2RlOiAnY29sdW1uJywgZ3JvdXA6 ICd7eyBfKCdFdmVudHMnKSB9fScsCiAgICAgICAgICAgICBtb2RlbDogcGdC cm93c2VyLk5vZGUuTW9kZWwuZXh0ZW5kKHsKICAgICAgICAgICAgICAgICBr ZXlzOiBbJ2NvbHVtbiddLCBkZWZhdWx0czogeyBjb2x1bW46IHVuZGVmaW5l ZCB9CiAgICAgICAgICAgICB9KSwKQEAgLTM4NCw3ICs0MDYsNyBAQCBmdW5j dGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIsIEJhY2tmb3JtLCBh bGVydGlmeSkgewogICAgICAgICAgICAgICAgIGlmKHRoaXMubm9kZV9pbmZv ICYmICAnY2F0YWxvZycgaW4gdGhpcy5ub2RlX2luZm8pIHsKICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgfQot ICAgICAgICAgICAgICAgIC8vRGlzYmFsZSBpbiBlZGl0IG1vZGUKKyAgICAg ICAgICAgICAgICAvL0Rpc2FibGUgaW4gZWRpdCBtb2RlCiAgICAgICAgICAg ICAgICAgaWYgKCFtLmlzTmV3KCkpIHsKICAgICAgICAgICAgICAgICAgICAg cmV0dXJuIHRydWU7CiAgICAgICAgICAgICAgICAgfQpAQCAtNDE0LDcgKzQz Niw3IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3Nlciwg QmFja2Zvcm0sIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgICAgICAgICAgfQogICAgICAg ICAgICAgICAgIH0gZWxzZSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIERp c2JhbGUgaXQKKyAgICAgICAgICAgICAgICAgICAgLy8gRGlzYWJsZSBpdAog ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAg ICAgICAgIH0KICAgICAgICAgICAgIH0KQEAgLTQyMywxNyArNDQ1LDIzIEBA IGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zv cm0sIGFsZXJ0aWZ5KSB7CiAgICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGRp c2FibGVkOiAnaW5TY2hlbWFXaXRoTW9kZWxDaGVjaycsIG1vZGU6IFsncHJv cGVydGllcyddCiAgICAgICAgIH0sewogICAgICAgICAgIGlkOiAnaXNfY29u c3RhcmludCcsIGxhYmVsOid7eyBfKCdDb25zdHJhaW50PycpIH19JywgY2Vs bDogJ3N0cmluZycsCi0gICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGRpc2Fi bGVkOiAnaW5TY2hlbWFXaXRoTW9kZWxDaGVjaycsIG1vZGU6IFsncHJvcGVy dGllcyddCisgICAgICAgICAgdHlwZTogJ3N3aXRjaCcsIGRpc2FibGVkOiAn aW5TY2hlbWFXaXRoTW9kZWxDaGVjaycsIG1vZGU6IFsncHJvcGVydGllcydd LAorICAgICAgICAgIGdyb3VwOiAne3sgXygnRGVmaW5pdGlvbicpIH19Jwog ICAgICAgICB9LHsKICAgICAgICAgICBpZDogJ2Rlc2NyaXB0aW9uJywgbGFi ZWw6J3t7IF8oJ0NvbW1lbnQnKSB9fScsIGNlbGw6ICdzdHJpbmcnLAogICAg ICAgICAgIHR5cGU6ICdtdWx0aWxpbmUnLCBtb2RlOiBbJ3Byb3BlcnRpZXMn LCAnY3JlYXRlJywgJ2VkaXQnXSwKICAgICAgICAgICBkaXNhYmxlZDogJ2lu U2NoZW1hJwogICAgIH1dLAotICAgICAgICB2YWxpZGF0ZTogZnVuY3Rpb24o KSB7CisgICAgICAgIHZhbGlkYXRlOiBmdW5jdGlvbihrZXlzKSB7CiAgICAg ICAgICAgdmFyIGVyciA9IHt9LAogICAgICAgICAgICAgICBtc2cgPSB1bmRl ZmluZWQ7CiAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLmNsZWFyKCk7CiAK KyAgICAgICAgICAvLyBJZiBub3RoaW5nIHRvIHZhbGlkYXRlCisgICAgICAg ICAgaWYgKGtleXMgJiYga2V5cy5sZW5ndGggPT0gMCkgeworICAgICAgICAg ICAgcmV0dXJuIG51bGw7CisgICAgICAgICAgfQorCiAgICAgICAgICAgaWYo Xy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnbmFtZScpKQogICAgICAgICAgICAg ICB8fCBTdHJpbmcodGhpcy5nZXQoJ25hbWUnKSkucmVwbGFjZSgvXlxzK3xc cyskL2csICcnKSA9PSAnJykgewogICAgICAgICAgICAgbXNnID0gJ3t7IF8o J05hbWUgY2FuIG5vdCBiZSBlbXB0eS4nKSB9fSc7CmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy90eXBlcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3R5cGVzL19faW5pdF9fLnB5CmluZGV4IDQ5ODc4MWUuLjMzYzNhNmQg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL19faW5pdF9fLnB5 CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5cGVzL19faW5pdF9fLnB5CkBAIC01 NTIsNyArNTUyLDggQEAgY2xhc3MgVHlwZVZpZXcoUEdDaGlsZE5vZGVWaWV3 LCBEYXRhVHlwZVJlYWRlcik6CiAgICAgICAgICAgICAgICAgcmVzLmFwcGVu ZCgKICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7J2xhYmVsJzogcm93 Wyd0eXBuYW1lJ10sICd2YWx1ZSc6IHJvd1sndHlwbmFtZSddLAogICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAndHlwdmFsJzogdHlwZXZhbCwgJ3By ZWNpc2lvbic6IHByZWNpc2lvbiwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJ2xlbmd0aCc6IGxlbmd0aCwgJ21pbl92YWwnOiBtaW5fdmFsLCAn bWF4X3ZhbCc6IG1heF92YWwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJ2xlbmd0aCc6IGxlbmd0aCwgJ21pbl92YWwnOiBtaW5fdmFsLCAnbWF4 X3ZhbCc6IG1heF92YWwsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICdpc19jb2xsYXRhYmxlJzogcm93Wydpc19jb2xsYXRhYmxlJ10KICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgICAg ICAgICAgKQogCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90 ZW1wbGF0ZXMvdHlwZS9qcy90eXBlLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlw ZXMvdGVtcGxhdGVzL3R5cGUvanMvdHlwZS5qcwppbmRleCA1MjIyNzQxLi5j OTFiZGY1IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90eXBlcy90ZW1w bGF0ZXMvdHlwZS9qcy90eXBlLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3R5 cGVzL3RlbXBsYXRlcy90eXBlL2pzL3R5cGUuanMKQEAgLTE0LDYgKzE0LDU1 IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJvd3NlciwgYWxl cnRpZnksIEJhY2tncmlkKSB7CiAgICAgICB9KTsKICAgfTsKIAorICAvLyBJ bnRlZ2VyIENlbGwgZm9yIENvbHVtbnMgTGVuZ3RoIGFuZCBQcmVjaXNpb24K KyAgdmFyIEludGVnZXJEZXBDZWxsID0gQmFja2dyaWQuSW50ZWdlckNlbGwu ZXh0ZW5kKHsKKyAgICAgIGluaXRpYWxpemU6IGZ1bmN0aW9uKCkgeworICAg ICAgICBCYWNrZ3JpZC5OdW1iZXJDZWxsLnByb3RvdHlwZS5pbml0aWFsaXpl LmFwcGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICAgIEJhY2tncmlkLkV4 dGVuc2lvbi5EZXBlbmRlbnRDZWxsLnByb3RvdHlwZS5pbml0aWFsaXplLmFw cGx5KHRoaXMsIGFyZ3VtZW50cyk7CisgICAgICB9LAorICAgICAgZGVwZW5k ZW50Q2hhbmdlZDogZnVuY3Rpb24gKCkgeworICAgICAgICB0aGlzLiRlbC5l bXB0eSgpOworICAgICAgICB2YXIgbW9kZWwgPSB0aGlzLm1vZGVsOworICAg ICAgICB2YXIgY29sdW1uID0gdGhpcy5jb2x1bW47CisgICAgICAgIGVkaXRh YmxlID0gdGhpcy5jb2x1bW4uZ2V0KCJlZGl0YWJsZSIpOworCisgICAgICAg IGlzX2VkaXRhYmxlID0gXy5pc0Z1bmN0aW9uKGVkaXRhYmxlKSA/ICEhZWRp dGFibGUuYXBwbHkoY29sdW1uLCBbbW9kZWxdKSA6ICEhZWRpdGFibGU7Cisg ICAgICAgIGlmIChpc19lZGl0YWJsZSl7IHRoaXMuJGVsLmFkZENsYXNzKCJl ZGl0YWJsZSIpOyB9CisgICAgICAgIGVsc2UgeyB0aGlzLiRlbC5yZW1vdmVD bGFzcygiZWRpdGFibGUiKTsgfQorCisgICAgICAgIHRoaXMuZGVsZWdhdGVF dmVudHMoKTsKKyAgICAgICAgcmV0dXJuIHRoaXM7CisgICAgICB9LAorICAg ICAgcmVtb3ZlOiBCYWNrZ3JpZC5FeHRlbnNpb24uRGVwZW5kZW50Q2VsbC5w cm90b3R5cGUucmVtb3ZlCisgICAgfSk7CisKKyAgLy8gTm9kZS1BamF4LUNl bGwgd2l0aCBEZXBzCisgIHZhciBOb2RlQWpheE9wdGlvbnNEZXBzQ2VsbCA9 IEJhY2tncmlkLkV4dGVuc2lvbi5Ob2RlQWpheE9wdGlvbnNDZWxsLmV4dGVu ZCh7CisgICAgICBpbml0aWFsaXplOiBmdW5jdGlvbigpIHsKKyAgICAgICAg QmFja2dyaWQuRXh0ZW5zaW9uLk5vZGVBamF4T3B0aW9uc0NlbGwucHJvdG90 eXBlLmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICAg ICAgQmFja2dyaWQuRXh0ZW5zaW9uLkRlcGVuZGVudENlbGwucHJvdG90eXBl LmluaXRpYWxpemUuYXBwbHkodGhpcywgYXJndW1lbnRzKTsKKyAgICAgIH0s CisgICAgICBkZXBlbmRlbnRDaGFuZ2VkOiBmdW5jdGlvbiAoKSB7CisgICAg ICAgIHZhciBtb2RlbCA9IHRoaXMubW9kZWwsCisgICAgICAgICAgY29sdW1u ID0gdGhpcy5jb2x1bW4sCisgICAgICAgICAgZWRpdGFibGUgPSB0aGlzLmNv bHVtbi5nZXQoImVkaXRhYmxlIiksCisgICAgICAgICAgaW5wdXQgPSB0aGlz LiRlbC5maW5kKCdzZWxlY3QnKS5maXJzdCgpOworCisgICAgICAgIGlzX2Vk aXRhYmxlID0gXy5pc0Z1bmN0aW9uKGVkaXRhYmxlKSA/ICEhZWRpdGFibGUu YXBwbHkoY29sdW1uLCBbbW9kZWxdKSA6ICEhZWRpdGFibGU7CisgICAgICAg IGlmIChpc19lZGl0YWJsZSkgeworICAgICAgICAgICB0aGlzLiRlbC5hZGRD bGFzcygiZWRpdGFibGUiKTsKKyAgICAgICAgICAgaW5wdXQucHJvcCgnZGlz YWJsZWQnLCBmYWxzZSk7CisgICAgICAgICB9IGVsc2UgeworICAgICAgICAg ICB0aGlzLiRlbC5yZW1vdmVDbGFzcygiZWRpdGFibGUiKTsKKyAgICAgICAg ICAgaW5wdXQucHJvcCgnZGlzYWJsZWQnLCB0cnVlKTsKKyAgICAgICAgIH0K KworICAgICAgICB0aGlzLmRlbGVnYXRlRXZlbnRzKCk7CisgICAgICAgIHJl dHVybiB0aGlzOworICAgICAgfSwKKyAgICAgIHJlbW92ZTogQmFja2dyaWQu RXh0ZW5zaW9uLkRlcGVuZGVudENlbGwucHJvdG90eXBlLnJlbW92ZQorICAg IH0pOworCiAgIC8vIFNlY3VyaXR5IGxhYmVsIG1vZGVsIGRlY2xhcmF0aW9u CiAgIHZhciBTZWN1cml0eU1vZGVsID0gQmFja2Zvcm0uU2VjdXJpdHlNb2Rl bCA9IHBnQWRtaW4uQnJvd3Nlci5Ob2RlLk1vZGVsLmV4dGVuZCh7CiAgICAg ZGVmYXVsdHM6IHsKQEAgLTY0LDEzICsxMTMsMTQgQEAgZnVuY3Rpb24oJCwg XywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBhbGVydGlmeSwgQmFja2dyaWQp IHsKICAgICBzdWJ0eXBlczogdW5kZWZpbmVkLAogICAgIHNjaGVtYTogW3sK ICAgICAgIGlkOiAnbWVtYmVyX25hbWUnLCBsYWJlbDogJ3t7IF8oJ01lbWJl ciBOYW1lJykgfX0nLAotICAgICAgdHlwZTogJ3RleHQnLCAgZGlzYWJsZWQ6 IGZhbHNlLCBlZGl0YWJsZTogZmFsc2UKKyAgICAgIHR5cGU6ICd0ZXh0Jywg IGRpc2FibGVkOiBmYWxzZSwgZWRpdGFibGU6IHRydWUKICAgICB9LHsKICAg ICAgIGlkOiAndHlwZScsIGxhYmVsOiAne3sgXygnVHlwZScpIH19JywgY29u dHJvbDogJ25vZGUtYWpheC1vcHRpb25zJywKICAgICAgIHR5cGU6ICd0ZXh0 JywgdXJsOiAnZ2V0X3R5cGVzJywgZGlzYWJsZWQ6IGZhbHNlLCBub2RlOiAn dHlwZScsCi0gICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICB0cmFuc2Zv cm06IGZ1bmN0aW9uKGQpewotICAgICAgICB0aGlzLm1vZGVsLnR5cGVfb3B0 aW9ucyA9ICBkOworICAgICAgY2VsbDogJ25vZGUtYWpheC1vcHRpb25zJywK KyAgICAgIGVkaXRhYmxlOiB0cnVlLAorICAgICAgdHJhbnNmb3JtOiBmdW5j dGlvbihkLCBjb250cm9sKXsKKyAgICAgICAgY29udHJvbC5tb2RlbC50eXBl X29wdGlvbnMgPSAgZDsKICAgICAgICAgcmV0dXJuIGQ7CiAgICAgICB9CiAg ICAgfSx7CkBAIC03OCw4ICsxMjgsOCBAQCBmdW5jdGlvbigkLCBfLCBTLCBw Z0FkbWluLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5LCBCYWNrZ3JpZCkgewogICAg ICAgLy8gcHJlY2lzaW9uIGFuZCBzY2FsZS4gSW4gdGhlIFVJLCB3ZSB0cnkg dG8gZm9sbG93IHRoZSBkb2NzIGFzCiAgICAgICAvLyBjbG9zZWx5IGFzIHBv c3NpYmxlLCB0aGVyZWZvcmUgd2UgdXNlIExlbmd0aC9QcmVjaXNpb24gYW5k IFNjYWxlCiAgICAgICBpZDogJ3RsZW5ndGgnLCBsYWJlbDogJ3t7IF8oJ0xl bmd0aC9wcmVjaXNpb24nKSB9fScsIGRlcHM6IFsndHlwZSddLCB0eXBlOiAn dGV4dCcsCi0gICAgICBlZGl0YWJsZTogZmFsc2UsCi0gICAgICBkaXNhYmxl ZDogZnVuY3Rpb24obSkgeworICAgICAgZGlzYWJsZWQ6IGZhbHNlLCBjZWxs OiBJbnRlZ2VyRGVwQ2VsbCwKKyAgICAgIGVkaXRhYmxlOiBmdW5jdGlvbiht KSB7CiAgICAgICAgIC8vIFdlIHdpbGwgc3RvcmUgdHlwZSBmcm9tIHNlbGVj dGVkIGZyb20gY29tYm9ib3gKICAgICAgICAgdmFyIG9mX3R5cGUgPSBtLmdl dCgndHlwZScpOwogICAgICAgICBpZihtLnR5cGVfb3B0aW9ucykgewpAQCAt OTgsMTUgKzE0OCwxNSBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBw Z0Jyb3dzZXIsIGFsZXJ0aWZ5LCBCYWNrZ3JpZCkgewogICAgICAgICAgICAg fQogICAgICAgICAgIH0pOwogICAgICAgICB9Ci0gICAgICAgIHJldHVybiAh bS5nZXQoJ2lzX3RsZW5ndGgnKTsKKyAgICAgICAgcmV0dXJuIG0uZ2V0KCdp c190bGVuZ3RoJyk7CiAgICAgICB9CiAgICAgfSx7CiAgICAgICAvLyBOb3Rl OiBUaGVyZSBhcmUgYW1iaWd1aXRpZXMgaW4gdGhlIFBHIGNhdGFsb2dzIGFu ZCBkb2NzIGJldHdlZW4KICAgICAgIC8vIHByZWNpc2lvbiBhbmQgc2NhbGUu IEluIHRoZSBVSSwgd2UgdHJ5IHRvIGZvbGxvdyB0aGUgZG9jcyBhcwogICAg ICAgLy8gY2xvc2VseSBhcyBwb3NzaWJsZSwgdGhlcmVmb3JlIHdlIHVzZSBM ZW5ndGgvUHJlY2lzaW9uIGFuZCBTY2FsZQogICAgICAgaWQ6ICdwcmVjaXNp b24nLCBsYWJlbDogJ3t7IF8oJ1NjYWxlJykgfX0nLCBkZXBzOiBbJ3R5cGUn XSwKLSAgICAgIHR5cGU6ICd0ZXh0JywgZWRpdGFibGU6IGZhbHNlLAotICAg ICAgZGlzYWJsZWQ6IGZ1bmN0aW9uKG0pIHsKKyAgICAgIHR5cGU6ICd0ZXh0 JywgZGlzYWJsZWQ6IGZhbHNlLCBjZWxsOiBJbnRlZ2VyRGVwQ2VsbCwKKyAg ICAgIGVkaXRhYmxlOiBmdW5jdGlvbihtKSB7CiAgICAgICAgIC8vIFdlIHdp bGwgc3RvcmUgdHlwZSBmcm9tIHNlbGVjdGVkIGZyb20gY29tYm9ib3gKICAg ICAgICAgdmFyIG9mX3R5cGUgPSBtLmdldCgndHlwZScpOwogICAgICAgICBp ZihtLnR5cGVfb3B0aW9ucykgewpAQCAtMTI1LDExICsxNzUsMzIgQEAgZnVu Y3Rpb24oJCwgXywgUywgcGdBZG1pbiwgcGdCcm93c2VyLCBhbGVydGlmeSwg QmFja2dyaWQpIHsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9KTsKICAg ICAgICAgfQotICAgICAgICByZXR1cm4gIW0uZ2V0KCdpc19wcmVjaXNpb24n KTsKKyAgICAgICAgcmV0dXJuIG0uZ2V0KCdpc19wcmVjaXNpb24nKTsKICAg ICAgIH0KICAgICB9LHsKICAgICAgIGlkOiAnY29sbGF0aW9uJywgbGFiZWw6 ICd7eyBfKCdDb2xsYXRpb24nKSB9fScsCi0gICAgICBjb250cm9sOiAnbm9k ZS1hamF4LW9wdGlvbnMnLCBlZGl0YWJsZTogZmFsc2UsCisgICAgICBjZWxs OiBOb2RlQWpheE9wdGlvbnNEZXBzQ2VsbCwgZGVwczogWyd0eXBlJ10sCisg ICAgICBjb250cm9sOiAnbm9kZS1hamF4LW9wdGlvbnMnLCBlZGl0YWJsZTog ZnVuY3Rpb24obSkgeworICAgICAgICAgdmFyIG9mX3R5cGUgPSBtLmdldCgn dHlwZScpLAorICAgICAgICAgICBmbGFnID0gZmFsc2U7CisgICAgICAgICBp ZihtLnR5cGVfb3B0aW9ucykgeworICAgICAgICAgIF8uZWFjaChtLnR5cGVf b3B0aW9ucywgZnVuY3Rpb24obykgeworICAgICAgICAgICAgaWYgKCBvZl90 eXBlID09IG8udmFsdWUgKSB7CisgICAgICAgICAgICAgICAgaWYoby5pc19j b2xsYXRhYmxlKQorICAgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAg ICAgIGZsYWcgPSB0cnVlOworICAgICAgICAgICAgICAgIH0KKyAgICAgICAg ICAgIH0KKyAgICAgICAgICB9KTsKKyAgICAgICAgIH0KKworICAgICAgICAg aWYgKGZsYWcpIHsKKyAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigp eworICAgICAgICAgICAgIG0uc2V0KCdjb2xsc3BjbmFtZScsICIiKTsKKyAg ICAgICAgICAgfSwgMTApOworICAgICAgICAgfQorICAgICAgICAgcmV0dXJu IGZsYWc7CisgICAgICB9LAogICAgICAgdHlwZTogJ3RleHQnLCBkaXNhYmxl ZDogZmFsc2UsIHVybDogJ2dldF9jb2xsYXRpb25zJywgbm9kZTogJ3R5cGUn CiAgICAgfV0sCiAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKCkgewpAQCAtMzIz LDcgKzM5NCw3IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4sIHBnQnJv d3NlciwgYWxlcnRpZnksIEJhY2tncmlkKSB7CiAgICAgICAgICAgbW9kZWw6 IENvbXBvc2l0ZU1vZGVsLCBlZGl0YWJsZTogdHJ1ZSwgdHlwZTogJ2NvbGxl Y3Rpb24nLAogICAgICAgICAgIGdyb3VwOiAne3sgXygnRGVmaW5pdGlvbicp IH19JywgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLAogICAgICAgICAgIGNv bnRyb2w6ICd1bmlxdWUtY29sLWNvbGxlY3Rpb24nLCB1bmlxdWVDb2wgOiBb J21lbWJlcl9uYW1lJ10sCi0gICAgICAgICAgY2FuQWRkOiB0cnVlLCBjYW5F ZGl0OiB0cnVlLCBjYW5EZWxldGU6IHRydWUsIGRpc2FibGVkOiAnaW5TY2hl bWEnLAorICAgICAgICAgIGNhbkFkZDogdHJ1ZSwgY2FuRWRpdDogZmFsc2Us IGNhbkRlbGV0ZTogdHJ1ZSwgZGlzYWJsZWQ6ICdpblNjaGVtYScsCiAgICAg ICAgICAgZGVwczogWyd0eXB0eXBlJ10sIGRlcHM6IFsndHlwdHlwZSddLAog ICAgICAgICAgIHZpc2libGU6IGZ1bmN0aW9uKG0pIHsKICAgICAgICAgICAg cmV0dXJuIG0uZ2V0KCd0eXB0eXBlJykgPT09ICdjJzsKQEAgLTM1OCw4ICs0 MjksOCBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBwZ0Jyb3dzZXIs IGFsZXJ0aWZ5LCBCYWNrZ3JpZCkgewogICAgICAgICAgICAgc2VsZWN0Mjog eyBhbGxvd0NsZWFyOiB0cnVlLCBwbGFjZWhvbGRlcjogIiIsIHdpZHRoOiAi MTAwJSIgfSwKICAgICAgICAgICAgIHVybDogJ2dldF9zdHlwZXMnLCB0eXBl OiAndGV4dCcsIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUnLCAnZWRp dCddLAogICAgICAgICAgICAgZ3JvdXA6ICd7eyBfKCdSYW5nZSBUeXBlJykg fX0nLCBkaXNhYmxlZDogJ2luU2NoZW1hV2l0aE1vZGVsQ2hlY2snLAotICAg ICAgICAgICAgdHJhbnNmb3JtOiBmdW5jdGlvbihkKXsKLSAgICAgICAgICAg ICAgdGhpcy5tb2RlbC5zdWJ0eXBlcyA9ICBkOworICAgICAgICAgICAgdHJh bnNmb3JtOiBmdW5jdGlvbihkLCBzZWxmKXsKKyAgICAgICAgICAgICAgc2Vs Zi5tb2RlbC5zdWJ0eXBlcyA9ICBkOwogICAgICAgICAgICAgICByZXR1cm4g ZDsKICAgICAgICAgICAgIH0KICAgICAgICAgICB9LHsKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3R5cGVzL3RlbXBsYXRlcy90eXBlL3NxbC85LjFf cGx1cy9nZXRfdHlwZXMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVt cGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVzL2dldF90eXBlcy5zcWwKaW5kZXgg MmE3ZDNkOC4uMTA1NWFjNiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dHlwZXMvdGVtcGxhdGVzL3R5cGUvc3FsLzkuMV9wbHVzL2dldF90eXBlcy5z cWwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdHlwZXMvdGVtcGxhdGVzL3R5cGUv c3FsLzkuMV9wbHVzL2dldF90eXBlcy5zcWwKQEAgLTIsNyArMiw4IEBAIFNF TEVDVCAqIEZST00KICAgICAoU0VMRUNUIGZvcm1hdF90eXBlKHQub2lkLE5V TEwpIEFTIHR5cG5hbWUsCiAgICAgQ0FTRSBXSEVOIHR5cGVsZW0gPiAwIFRI RU4gdHlwZWxlbSBFTFNFIHQub2lkIEVORCBBUyBlbGVtb2lkLAogICAgIHR5 cGxlbiwgdHlwdHlwZSwgdC5vaWQsIG5zcG5hbWUsCi0gICAgKFNFTEVDVCBD T1VOVCgxKSBGUk9NIHBnX3R5cGUgdDIgV0hFUkUgdDIudHlwbmFtZSA9IHQu dHlwbmFtZSkgPiAxIEFTIGlzZHVwCisgICAgKFNFTEVDVCBDT1VOVCgxKSBG Uk9NIHBnX3R5cGUgdDIgV0hFUkUgdDIudHlwbmFtZSA9IHQudHlwbmFtZSkg PiAxIEFTIGlzZHVwLAorICAgIENBU0UgV0hFTiB0LnR5cGNvbGxhdGlvbiAh PSAwIFRIRU4gVFJVRSBFTFNFIEZBTFNFIEVORCBBUyBpc19jb2xsYXRhYmxl CiBGUk9NIHBnX3R5cGUgdAogICAgSk9JTiBwZ19uYW1lc3BhY2UgbnNwIE9O IHR5cG5hbWVzcGFjZT1uc3Aub2lkCiBXSEVSRSAoTk9UICh0eXBuYW1lID0g J3Vua25vd24nIEFORCBuc3BuYW1lID0gJ3BnX2NhdGFsb2cnKSkgQU5EIHR5 cGlzZGVmaW5lZCBBTkQgdHlwdHlwZSBJTiAoJ2InLCAnYycsICdkJywgJ2Un LCAncicpIEFORCBOT1QgRVhJU1RTIChzZWxlY3QgMSBmcm9tIHBnX2NsYXNz IHdoZXJlIHJlbG5hbWVzcGFjZT10eXBuYW1lc3BhY2UgYW5kIHJlbG5hbWUg PSB0eXBuYW1lIGFuZCByZWxraW5kICE9ICdjJykgQU5EICh0eXBuYW1lIG5v dCBsaWtlICdfJScgT1IgTk9UIEVYSVNUUyAoc2VsZWN0IDEgZnJvbSBwZ19j bGFzcyB3aGVyZSByZWxuYW1lc3BhY2U9dHlwbmFtZXNwYWNlIGFuZCByZWxu YW1lID0gc3Vic3RyaW5nKHR5cG5hbWUgZnJvbSAyKTo6bmFtZSBhbmQgcmVs a2luZCAhPSAnYycpKSAgQU5EIG5zcC5uc3BuYW1lICE9ICdpbmZvcm1hdGlv bl9zY2hlbWEnCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92aWV3cy90 ZW1wbGF0ZXMvbXZpZXcvanMvbXZpZXcuanMgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy92 aWV3cy90ZW1wbGF0ZXMvbXZpZXcvanMvbXZpZXcuanMKaW5kZXggMTc3MmNh My4uODNlYTg4YyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdmlld3Mv dGVtcGxhdGVzL212aWV3L2pzL212aWV3LmpzCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL3ZpZXdzL3RlbXBsYXRlcy9tdmlldy9qcy9tdmlldy5qcwpAQCAtMTQ4 LDI0ICsxNDgsNiBAQCBmdW5jdGlvbigkLCBfLCBTLCBwZ0FkbWluLCBhbGVy dGlmeSwgcGdCcm93c2VyLCBDb2RlTWlycm9yKSB7CiAgICAgICAgICAgdHlw ZTogJ3RleHQnLCBtb2RlOiBbJ2NyZWF0ZScsICdlZGl0J10sIGdyb3VwOiAn RGVmaW5pdGlvbicsCiAgICAgICAgICAgY29udHJvbDogQmFja2Zvcm0uU3Fs RmllbGRDb250cm9sLCBleHRyYUNsYXNzZXM6WydzcWxfZmllbGRfd2lkdGhf ZnVsbCddCiAgICAgICAgIH0sCi0gICAgICAgIC8vIEFkZCBQcml2aWxlZ2Ug Q29udHJvbAotICAgICAgICB7Ci0gICAgICAgICAgaWQ6ICdkYXRhY2wnLCBs YWJlbDogJ3t7IF8oIlByaXZpbGVnZXMiKSB9fScsCi0gICAgICAgICAgbW9k ZWw6IHBnQWRtaW4uQnJvd3Nlci5Ob2RlLlByaXZpbGVnZVJvbGVNb2RlbC5l eHRlbmQoCi0gICAgICAgICAgICB7cHJpdmlsZWdlczogWydhJywgJ3InLCAn dycsICdkJywgJ0QnLCAneCcsICd0J119KSwgdW5pcXVlQ29sIDogWydncmFu dGVlJ10sCi0gICAgICAgICAgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29s bGVjdGlvbicsIGdyb3VwOiAne3sgXygiU2VjdXJpdHkiKSB9fScsCi0gICAg ICAgICAgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLCBjYW5BZGQ6IHRydWUs IGNhbkRlbGV0ZTogdHJ1ZSwKLSAgICAgICAgICBjb250cm9sOiAndW5pcXVl LWNvbC1jb2xsZWN0aW9uJywgcHJpb3JpdHk6IDMKLSAgICAgICAgfSwKLQot ICAgICAgICAvLyBBZGQgU2VjdXJpdHkgTGFiZWxzIENvbnRyb2wKLSAgICAg ICAgewotICAgICAgICAgIGlkOiAnc2VjbGFiZWxzJywgbGFiZWw6ICd7eyBf KCJTZWN1cml0eSBMYWJlbHMiKSB9fScsCi0gICAgICAgICAgbW9kZWw6IEJh Y2tmb3JtLlNlY3VyaXR5TW9kZWwsIGVkaXRhYmxlOiBmYWxzZSwgdHlwZTog J2NvbGxlY3Rpb24nLAotICAgICAgICAgIGNhbkVkaXQ6IGZhbHNlLCBncm91 cDogJ3t7IF8oIlNlY3VyaXR5IikgfX0nLCBjYW5EZWxldGU6IHRydWUsCi0g ICAgICAgICAgbW9kZTogWydlZGl0JywgJ2NyZWF0ZSddLCBjYW5BZGQ6IHRy dWUsCi0gICAgICAgICAgY29udHJvbDogJ3VuaXF1ZS1jb2wtY29sbGVjdGlv bicsIHVuaXF1ZUNvbCA6IFsncHJvdmlkZXInXQotICAgICAgICB9LAogICAg ICAgICB7CiAgICAgICAgICAgaWQ6ICd3aXRoX2RhdGEnLCBsYWJlbDogJ3t7 IF8oIldpdGggRGF0YSIpIH19JywKICAgICAgICAgICBncm91cDogJ3t7IF8o IlN0b3JhZ2UiKSB9fScsIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKQEAg LTE4NywxMCArMTY5LDI4IEBAIGZ1bmN0aW9uKCQsIF8sIFMsIHBnQWRtaW4s IGFsZXJ0aWZ5LCBwZ0Jyb3dzZXIsIENvZGVNaXJyb3IpIHsKICAgICAgICAg fSwKICAgICAgICAgewogICAgICAgICAgIHR5cGU6ICduZXN0ZWQnLCBjb250 cm9sOiAndGFiJywgaWQ6ICdtYXRlcmlhbGl6YXRpb24nLAotICAgICAgICAg IGxhYmVsOiAne3sgXygiTWF0ZXJpYWxpemF0aW9uIikgfX0nLCBtb2RlOiBb J2VkaXQnLCAnY3JlYXRlJ10sCi0gICAgICAgICAgZ3JvdXA6ICd7eyBfKCJT dG9yYWdlIikgfX0nLAorICAgICAgICAgIGxhYmVsOiAne3sgXygiQXV0byB2 YWN1dW0iKSB9fScsIG1vZGU6IFsnZWRpdCcsICdjcmVhdGUnXSwKKyAgICAg ICAgICBncm91cDogJ3t7IF8oIkF1dG8gdmFjdXVtIikgfX0nLAogICAgICAg ICAgIHNjaGVtYTogQmFja2Zvcm0uVmFjdXVtU2V0dGluZ3NTY2hlbWEKICAg ICAgICAgfSwKKyAgICAgICAgLy8gQWRkIFByaXZpbGVnZSBDb250cm9sCisg ICAgICAgIHsKKyAgICAgICAgICBpZDogJ2RhdGFjbCcsIGxhYmVsOiAne3sg XygiUHJpdmlsZWdlcyIpIH19JywKKyAgICAgICAgICBtb2RlbDogcGdBZG1p bi5Ccm93c2VyLk5vZGUuUHJpdmlsZWdlUm9sZU1vZGVsLmV4dGVuZCgKKyAg ICAgICAgICAgIHtwcml2aWxlZ2VzOiBbJ2EnLCAncicsICd3JywgJ2QnLCAn RCcsICd4JywgJ3QnXX0pLCB1bmlxdWVDb2wgOiBbJ2dyYW50ZWUnXSwKKyAg ICAgICAgICBlZGl0YWJsZTogZmFsc2UsIHR5cGU6ICdjb2xsZWN0aW9uJywg Z3JvdXA6ICd7eyBfKCJTZWN1cml0eSIpIH19JywKKyAgICAgICAgICBtb2Rl OiBbJ2VkaXQnLCAnY3JlYXRlJ10sIGNhbkFkZDogdHJ1ZSwgY2FuRGVsZXRl OiB0cnVlLAorICAgICAgICAgIGNvbnRyb2w6ICd1bmlxdWUtY29sLWNvbGxl Y3Rpb24nLCBwcmlvcml0eTogMworICAgICAgICB9LAorCisgICAgICAgIC8v IEFkZCBTZWN1cml0eSBMYWJlbHMgQ29udHJvbAorICAgICAgICB7CisgICAg ICAgICAgaWQ6ICdzZWNsYWJlbHMnLCBsYWJlbDogJ3t7IF8oIlNlY3VyaXR5 IExhYmVscyIpIH19JywKKyAgICAgICAgICBtb2RlbDogQmFja2Zvcm0uU2Vj dXJpdHlNb2RlbCwgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29sbGVjdGlv bicsCisgICAgICAgICAgY2FuRWRpdDogZmFsc2UsIGdyb3VwOiAne3sgXygi U2VjdXJpdHkiKSB9fScsIGNhbkRlbGV0ZTogdHJ1ZSwKKyAgICAgICAgICBt b2RlOiBbJ2VkaXQnLCAnY3JlYXRlJ10sIGNhbkFkZDogdHJ1ZSwKKyAgICAg ICAgICBjb250cm9sOiAndW5pcXVlLWNvbC1jb2xsZWN0aW9uJywgdW5pcXVl Q29sIDogWydwcm92aWRlciddCisgICAgICAgIH0KICAgICAgICAgXSwKICAg ICAgICAgdmFsaWRhdGU6IGZ1bmN0aW9uKGtleXMpIHsKIAo= --001a114900ba3ec8620533821b60 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 --001a114900ba3ec8620533821b60--