Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kDfTV-0005o8-St for pgadmin-hackers@arkaria.postgresql.org; Thu, 03 Sep 2020 02:59:48 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1kDfTT-0005XQ-S8 for pgadmin-hackers@arkaria.postgresql.org; Thu, 03 Sep 2020 02:59:43 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1kDfTT-0005XJ-7n for pgadmin-hackers@lists.postgresql.org; Thu, 03 Sep 2020 02:59:43 +0000 Received: from sonic306-3.consmr.mail.bf2.yahoo.com ([74.6.132.42]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1kDfTO-0001eN-2k for pgadmin-hackers@lists.postgresql.org; Thu, 03 Sep 2020 02:59:42 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com.au; s=s2048; t=1599101973; bh=hddDq7+ImEnEHgLvbh4cPiJXz5zI+9ln15Ij56sdAHE=; h=Date:From:To:Cc:In-Reply-To:References:Subject:From:Subject; b=YIiG2/DJnmxLY2GSLwG+eeraFJYutYAVIoJteI8q4rvBPvK1gjL+0ovhmx+Ri+gBH0ziHR7da4L0QTxCMDD9Bj8I6yYZhxiA2zD3Ps55ZVFI1jVfjkoFaZf2EXJuZR8gknSiR+YfhsRQgC1syvoEg2FxvpaaLgNTSNPEVRwN3UsN0KzNxYRuVVHL7ck2N3Lh1cb4jsS3CohP4wS3J7AtbWh+lbGVP53MpML/WcA4e7Np1TZdPpih6yvDnMZEBon38jij6FN/ACqhmfZEpagoB0HDlA2ELbeGdSRVnq0eEi+HFlFKsKkvEixLozEkbjXI7mrf+OlgkszMttyq3HJfyA== X-YMail-OSG: 1UXpOdgVM1mLMhqMUG_xbIVoedQv9nNX.A1h_7zNZrJEVfuvVw6BYR3RMZ3Hbl2 ICijm8_i3DbyLOyLDRVicUyTQqXRDwloweCEvNZyJGAUzhTOpa25_gGSrSR_mx888RLMruViTUXk sDLtuMOeivCiU04ZliJBxA_R1iekPgyvSYjeH6lzuJwaaJ2Ar36eQB7M0fwbvSLaXj9RiYQhkZIm V9LmcO65yU_DWuFLEKxkYhkwmmAjglIOVuHPfPv7wR8GGkcQZOJQ88iJpfi3wAUuON6JF2Z74Jxx T8.gKmeRnkPCrTc6kSuJYhglXk45XGaLK7hwBGYdLclgBV1yM9NlkfE0QivMagASVQcDkD7drAfC IoSLlOZoEKk_7zaVK9LmJb4IrZMAKdmM20qgC5zIgSC7xYloGX3j1Wfd7Eqhwp1.5kiCy15X3jGE mV6U93zEvGrhea.h8bPFHHVq4kXDo5HTj.2oRIFN82miUAid8e2p7EEt2.S.g.xI4x0NUHHHbcos 2hT4It58BWjYS2qMom2abXtrs_sJLfrsjslWYaEZYIjHGZePMZCTLIRcywDx3LYV7ouL5DmPVDM4 lXMxLgwVC2Pxg2.AU.WxyXjdar9BOcaBTenMINwH4Oy9hELSKLhO2dVQ9kgrosu1tMq16uB0qxpS 9cGwt29rTiSE6h7n_K8syy.i2XWwRiiePIcihCVV8oykmrtFNcg0dOvyMzxXPvNd_7zd77zGSlZc AXLDe58NBpeFcZkESEzJn2GmbtGQC1n0nm1dnyN1krzhpBaMUXaQqXzrHfmTWl.iIQT7es2Ngvy9 WfVqZofMgvR7TzPdOKmAcMO5M7K7zNQ6qDmYNT7u_ssb4.oht3I_dFVUYK8ePagPMC._4mrdUa0H izotmZIqIROnAK8uL6TKDtFR.DCu9BHNelgjrBv3Bx5SkRKJpnobdVfvYTikMSAuySOBeJf4AQtl P6PuXp0vwnhbzRsJSpJKPZYCfLWIjiTk96zbzZCAATyn7NGdRcdvGaaiQrN20obZALZFFKwbY9dD UlQiOyNt8O.bUW8VC.eIB4dAfxWeenGYS3PEOLlMs3Tn64GzLyzE3ExyXeuq7PoD.6e6kMIzT3aP lDALyMMcyg_hYwqCtUYVnM_F8Pn_r5GUOyPHjJ7_o7rizyWnHBc.TGiuQi7fJc3lFF7HWl6zVAcT .oKuhZL.aqDHaEYs5YxX9MATmT7PvyjqXCkwaDCwvITpOjrgyqu0axUa4P6KvsbSdtYs4dvRRrTI gCvRCUVvqcekbUh2fyabZTvXDx10hwYuxPT3PwEYGz_unYSHmIse61JAalGRc4K.NQcphudYX6q7 .O13ItD34lDz_efY9Oavao4qA7Ix3Sc5jNjicf__.8MzMOrNjDaCaeVJ8A_VcCEXobOWHgmvE9VB VG08cpCG88G6_sCU2WJAhl0SIIjwBSZkA4Y371zfzzsudL57vqGkmF.XKhseLp06Lq.MhKsdl3Ph d Received: from sonic.gate.mail.ne1.yahoo.com by sonic306.consmr.mail.bf2.yahoo.com with HTTP; Thu, 3 Sep 2020 02:59:33 +0000 Date: Thu, 3 Sep 2020 02:59:31 +0000 (UTC) From: Warren Chan To: Aditya Toshniwal Cc: "pgadmin-hackers@lists.postgresql.org" Message-ID: <1679514114.1817148.1599101971834@mail.yahoo.com> In-Reply-To: References: <1872014587.1397537.1599020446172.ref@mail.yahoo.com> <1872014587.1397537.1599020446172@mail.yahoo.com> Subject: Re: pgAdmin4 - help adding new node to Browser Tree MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="----=_Part_1817147_1663420231.1599101971834" X-Mailer: WebService/1.1.16565 YMailNorrin Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:80.0) Gecko/20100101 Firefox/80.0 Content-Length: 198469 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk ------=_Part_1817147_1663420231.1599101971834 Content-Type: multipart/alternative; boundary="----=_Part_1817146_636553032.1599101971777" ------=_Part_1817146_636553032.1599101971777 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Hi Aditya, thanks for helping, really appreciate you taking the time. I've attached a patch as requested and yes, when i expand the new Foo node = I've created, I get the following errors in the console: 2020-09-03 12:50:37,291: ERROR=C2=A0 flask.app:=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 404 Not Found: The requested URL was not found on the server. If you en= tered the URL manually please check your spelling and try again. Traceback (most recent call last): =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line= 1813, in full_dispatch_request =C2=A0=C2=A0=C2=A0 rv =3D self.dispatch_request() =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line= 1791, in dispatch_request =C2=A0=C2=A0=C2=A0 self.raise_routing_exception(req) =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line= 1774, in raise_routing_exception =C2=A0=C2=A0=C2=A0 raise request.routing_exception =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\ctx.py", line= 336, in match_request =C2=A0=C2=A0=C2=A0 self.url_adapter.match(return_rule=3DTrue) =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\werkzeug\routing.py= ", line 1945, in match =C2=A0=C2=A0=C2=A0 raise NotFound() werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not foun= d on the server. If you entered the URL manually please check your spelling= and try again. 2020-09-03 12:50:37,372: ERROR=C2=A0 flask.app:=C2=A0=C2=A0=C2=A0=C2=A0=C2= =A0 404 Not Found: The requested URL was not found on the server. If you en= tered the URL manually please check your spelling and try again. Traceback (most recent call last): =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line= 1813, in full_dispatch_request =C2=A0=C2=A0=C2=A0 rv =3D self.dispatch_request() =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line= 1791, in dispatch_request =C2=A0=C2=A0=C2=A0 self.raise_routing_exception(req) =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py", line= 1774, in raise_routing_exception =C2=A0=C2=A0=C2=A0 raise request.routing_exception =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\ctx.py", line= 336, in match_request =C2=A0=C2=A0=C2=A0 self.url_adapter.match(return_rule=3DTrue) =C2=A0 File "C:\git\pgadmin4\pgadmin4\lib\site-packages\werkzeug\routing.py= ", line 1945, in match =C2=A0=C2=A0=C2=A0 raise NotFound() werkzeug.exceptions.NotFound: 404 Not Found: The requested URL was not foun= d on the server. If you entered the URL manually please check your spelling= and try again. Please let me know if you need anything else. Best Regards,Warren Chan On Wednesday, 2 September 2020, 6:19:59 pm AEST, Aditya Toshniwal wrote: =20 =20 Hi Warren, Can you check the browser console if any errors ? Can you also share the pa= tch so that I can help you further by debugging at my end ? On Wed, Sep 2, 2020 at 9:51 AM Warren Chan wrote: Hi,=20 I'm trying to learn about the pgAdmin4 project and am hoping to make some c= ontributions sometime in the future. I'm new to Flask and python but am keen to learn. While trying to familiarize myself with the application and the way it work= s, I've tried to create a 'test' node under the schema node, I want to list= test items under this node - not listing anything particular at the moment= but wanted to get an understanding of how the application ties together). = In order to just get a new node added under schema, I've copied the sequenc= e folder under \web\pgadmin\browser\server_groups\servers\databases\schemas= and renamed the applicable folders to tests (I want a test node to appear = under schema). I've updated the \tests\_init_.py file so that the SequenceModule has been = changed to TestModule (updated the NODE_TYPE etc). I've also updated the Se= quenceView to become TestView and other parts of the view like the template= path etc.=20 In addition to this I've changed the name in the \tests\static\js\sequence.= js file to \tests\static\js\test.js and have also updated the test.js file = so that any references to sequence has been changed to test and have added = 'pgadmin.node.tests' to the webpack.config.js and 'pgadmin.node.test': path= .join(__dirname, './pgadmin/browser/server_groups/servers/databases/schemas= /tests/static/js/test') to the webpack.shim.js file Doing this I was hoping that a new 'Test' node would appear under the schem= a directory and opening this node, would render all the sequences (as I hav= en't changed any of the sql). However I only get the new 'Test' node being = rendered, and when I open this, I get a Server Node with the server I'm con= nected to being added, not the list of sequences I was hoping for.=20 Is there an additional setting / steps I need to add somewhere in order to = get the TestView to render under the TestModule node? I'd appreciate any pointers to get this working as the next thing I'd like,= would be to start modifying the sql and getting different database objects= being listed. Best regards,Warren Chan --=20 Thanks,Aditya Toshniwal pgAdmin hacker=C2=A0| Sr. Software Engineer | edbpostgres.com"Don't Complai= n about Heat, Plant a TREE" =20 ------=_Part_1817146_636553032.1599101971777 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Aditya,

thanks for helping, really appreciate you taking the time.

I've attached a patch as requested and yes, when i expand the new Foo = node I've created, I get the following errors in the console:

2020-09-03 12:50:37,291:= ERROR  flask.app:      404 Not Found: The re= quested URL was not found on the server. If you entered the URL manually pl= ease check your spelling and try again.
Traceback (most recent call last= ):
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\app.py"= , line 1813, in full_dispatch_request
    rv =3D self.dis= patch_request()
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\= flask\app.py", line 1791, in dispatch_request
    self.ra= ise_routing_exception(req)
  File "C:\git\pgadmin4\pgadmin4\lib\sit= e-packages\flask\app.py", line 1774, in raise_routing_exception
 &n= bsp;  raise request.routing_exception
  File "C:\git\pgadmin4\= pgadmin4\lib\site-packages\flask\ctx.py", line 336, in match_request
&nb= sp;   self.url_adapter.match(return_rule=3DTrue)
  File "= C:\git\pgadmin4\pgadmin4\lib\site-packages\werkzeug\routing.py", line 1945,= in match
    raise NotFound()
werkzeug.exceptions.Not= Found: 404 Not Found: The requested URL was not found on the server. If you= entered the URL manually please check your spelling and try again.
2020= -09-03 12:50:37,372: ERROR  flask.app:      4= 04 Not Found: The requested URL was not found on the server. If you entered= the URL manually please check your spelling and try again.
Traceback (m= ost recent call last):
  File "C:\git\pgadmin4\pgadmin4\lib\site-pa= ckages\flask\app.py", line 1813, in full_dispatch_request
  &n= bsp; rv =3D self.dispatch_request()
  File "C:\git\pgadmin4\pgadmin= 4\lib\site-packages\flask\app.py", line 1791, in dispatch_request
 =    self.raise_routing_exception(req)
  File "C:\git\pgadm= in4\pgadmin4\lib\site-packages\flask\app.py", line 1774, in raise_routing_e= xception
    raise request.routing_exception
  Fi= le "C:\git\pgadmin4\pgadmin4\lib\site-packages\flask\ctx.py", line 336, in = match_request
    self.url_adapter.match(return_rule=3DTr= ue)
  File "C:\git\pgadmin4\pgadmin4\lib\site-packages\werkzeug\rou= ting.py", line 1945, in match
    raise NotFound()
wer= kzeug.exceptions.NotFound: 404 Not Found: The requested URL was not found o= n the server. If you entered the URL manually please check your spelling an= d try again.

Ple= ase let me know if you need anything else.

Best Regards,<= /div>
Warren Chan
=20
On Wednesday, 2 September 2020, 6:19:59 pm AEST, Aditya= Toshniwal <aditya.toshniwal@enterprisedb.com> wrote:


Hi Warren,

Can you ch= eck the browser console if any errors ? Can you also share the patch so tha= t I can help you further by debugging at my end ?

On Wed, Sep 2, 2020 at 9:51 AM Warren Chan <wchan_syd@yahoo.com.au&= gt; wrote:
Hi,

I'm trying to = learn about the pgAdmin4 project and am hoping to make some contributions s= ometime in the future.

I'm new to Flask and python but am keen to learn.

While trying to familiar= ize myself with the application and the way it works, I've tried to create = a 'test' node under the schema node, I want to list test items under this n= ode - not listing anything particular at the moment but wanted to get an un= derstanding of how the application ties together). In order to just get a n= ew node added under schema, I've copied the sequence folder under=20 \web\pgadmin\browser\server_groups\servers\databases\schemas and=20 renamed the applicable folders to tests (I want a test node to appear under= schema).

I've updated the \tests\_init_.py file so that the= SequenceModule has been changed to TestModule (updated the NODE_TYPE etc).= I've also updated the SequenceView to become TestView and other parts of t= he view like the template path etc.

In a= ddition to this I've changed the name in the \tests\static\js\sequence.js f= ile to \tests\static\js\test.js and have also updated the test.= js file so that any references to sequence has been changed to test and hav= e added 'pgadmin.node.tests' to the webpack.config.js and 'pgadmin.no= de.test': path.join(__dirname, './pgadmin/browser/server_groups/servers/dat= abases/schemas/tests/static/js/test') to the webpack.shim.js file

Doing this I was hoping that a new 'Test' node would appear under= the schema directory and opening this node, would render all the sequences= (as I haven't changed any of the sql). However I only get the new 'Test' n= ode being rendered, and when I open this, I get a Server Node with the serv= er I'm connected to being added, not the list of sequences I was hoping for= .

<= div dir=3D"ltr">Is there an additional setting / st= eps I need to add somewhere in order to get the TestView to render under th= e TestModule node?

I'd appreciate any = pointers to get this working as the next thing I'd like, would be to start = modifying the sql and getting different database objects being listed.

Best regards,
Warren Chan

=
<= /div>

--
=
Thanks,Adit= ya Toshniwal
pgAdmin hacker=  | Sr. Software Engineer | edbpostgres.com
"Don't Com= plain about Heat, Plant a TREE"
=
------=_Part_1817146_636553032.1599101971777-- ------=_Part_1817147_1663420231.1599101971834 Content-Type: application/octet-stream Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="newFooNode.patch" Content-ID: <4e7e9cbd-deb8-8a92-429d-703ff97d244b@yahoo.com> RnJvbSA3ODJhYzUyODhmZGJhYjFmZDFmN2NkYzNlOGI5M2Q0YzAyMTFhNmQ4IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBXYXJyZW4gQ2hhbiA8d2NoYW5fc3lkQHlhaG9vLmNvbS5hdT4K RGF0ZTogVGh1LCAzIFNlcCAyMDIwIDExOjE2OjE0ICsxMDAwClN1YmplY3Q6IFtQQVRDSF0gY2hh bmdlcyB0byBhZGQgbmV3IG5vZGUgKGNvcHkgb2Ygc2VxdWVuY2UpIHVuZGVyIHNjaGVtYQoKLS0t CiAuLi4vZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy9fX2luaXRfXy5weSAgICAgICAgfCA5NjUgKysr KysrKysrKysrKysrKysrCiAuLi4vc2NoZW1hcy9mb29zL3N0YXRpYy9pbWcvY29sbC1mb28uc3Zn ICAgICAgfCAgIDEgKwogLi4uL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3Mvc3RhdGljL2ltZy9mb28u c3ZnIHwgICAxICsKIC4uLi9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3N0YXRpYy9qcy9mb28uanMg ICB8IDI5OSArKysrKysKIC4uLi90ZW1wbGF0ZXMvZm9vcy9zcWwvMTBfcGx1cy9nZXRfZGVmLnNx bCAgICB8ICAxMSArCiAuLi4vZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9hY2wuc3Fs ICAgfCAgMzAgKwogLi4uL2Zvb3Mvc3FsL2RlZmF1bHQvYmFja2VuZF9zdXBwb3J0LnNxbCAgICAg IHwgIDE1ICsKIC4uLi90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9jb2xsX3N0YXRzLnNxbCB8 ICAgOSArCiAuLi4vdGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbCAgICAgfCAg MTYgKwogLi4uL3RlbXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L2RlbGV0ZS5zcWwgICAgIHwgICAx ICsKIC4uLi90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9nZXRfZGVmLnNxbCAgICB8ICAxMCAr CiAuLi4vZm9vcy9zcWwvZGVmYXVsdC9nZXRfZGVwZW5kZW5jaWVzLnNxbCAgICAgfCAgMTIgKwog Li4uL3RlbXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L2dldF9vaWQuc3FsICAgIHwgICA3ICsKIC4u Li9mb29zL3RlbXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L2dyYW50LnNxbCB8ICAyNiArCiAuLi4v Zm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9ub2Rlcy5zcWwgfCAgMTEgKwogLi4uL3Rl bXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L3Byb3BlcnRpZXMuc3FsIHwgIDE3ICsKIC4uLi9mb29z L3RlbXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L3N0YXRzLnNxbCB8ICAgNyArCiAuLi4vdGVtcGxh dGVzL2Zvb3Mvc3FsL2RlZmF1bHQvdXBkYXRlLnNxbCAgICAgfCAgOTcgKysKIC4uLi90ZW1wbGF0 ZXMvZm9vcy9zcWwvZ3BkYl81LjBfcGx1cy9hY2wuc3FsICB8ICAgNyArCiAuLi4vZGF0YWJhc2Vz L3NjaGVtYXMvZm9vcy90ZXN0cy9fX2luaXRfXy5weSAgfCAgMTUgKwogLi4uL3Rlc3RzL3BnL2Rl ZmF1bHQvYWx0ZXJfbmVnX3NlcV9wcm9wcy5zcWwgIHwgIDEzICsKIC4uLi9wZy9kZWZhdWx0L2Fs dGVyX25lZ19zZXFfcHJvcHNfbXNxbC5zcWwgICB8ICAgNCArCiAuLi4vdGVzdHMvcGcvZGVmYXVs dC9hbHRlcl9zZXFfY29tbWVudC5zcWwgICAgfCAgMTYgKwogLi4uL3BnL2RlZmF1bHQvYWx0ZXJf c2VxX2NvbW1lbnRfbXNxbC5zcWwgICAgIHwgICAyICsKIC4uLi90ZXN0cy9wZy9kZWZhdWx0L2Fs dGVyX3NlcV9wcml2c19hZGQuc3FsICB8ICAyMSArCiAuLi4vcGcvZGVmYXVsdC9hbHRlcl9zZXFf cHJpdnNfYWRkX21zcWwuc3FsICAgfCAgIDEgKwogLi4uL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX3By aXZzX3JlbW92ZS5zcWwgICAgIHwgIDE5ICsKIC4uLi9kZWZhdWx0L2FsdGVyX3NlcV9wcml2c19y ZW1vdmVfbXNxbC5zcWwgICB8ICAgMSArCiAuLi4vcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNf dXBkYXRlLnNxbCAgICAgfCAgMjEgKwogLi4uL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3VwZGF0 ZV9tc3FsLnNxbCAgIHwgICAyICsKIC4uLi9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2Vx X3Byb3BzLnNxbCB8ICAxNyArCiAuLi4vdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJvcHNf bXNxbC5zcWwgfCAgIDggKwogLi4uL3BnL2RlZmF1bHQvY3JlYXRlX25lZ2F0aXZlX3NlcXVlbmNl LnNxbCAgIHwgIDEzICsKIC4uLi9kZWZhdWx0L2NyZWF0ZV9uZWdhdGl2ZV9zZXF1ZW5jZV9tc3Fs LnNxbCB8ICAgOSArCiAuLi4vZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2NyZWF0ZV9zZXF1ZW5jZS5z cWwgfCAgMTMgKwogLi4uL3Rlc3RzL3BnL2RlZmF1bHQvY3JlYXRlX3NlcXVlbmNlX21zcWwuc3Fs IHwgICA5ICsKIC4uLi90ZXN0cy9wZy9kZWZhdWx0L3Rlc3Rfc2VxdWVuY2VzX3BnLmpzb24gICB8 IDE3MyArKysrCiAuLi4vcHBhcy9kZWZhdWx0L2FsdGVyX25lZ19zZXFfcHJvcHMuc3FsICAgICAg fCAgMTMgKwogLi4uL3BwYXMvZGVmYXVsdC9hbHRlcl9uZWdfc2VxX3Byb3BzX21zcWwuc3FsIHwg ICA0ICsKIC4uLi90ZXN0cy9wcGFzL2RlZmF1bHQvYWx0ZXJfc2VxX2NvbW1lbnQuc3FsICB8ICAx NiArCiAuLi4vcHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9jb21tZW50X21zcWwuc3FsICAgfCAgIDIg KwogLi4uL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfYWRkLnNxbCAgICAgIHwgIDIxICsK IC4uLi9wcGFzL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX2FkZF9tc3FsLnNxbCB8ICAgMSArCiAu Li4vcHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9wcml2c19yZW1vdmUuc3FsICAgfCAgMTkgKwogLi4u L2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3JlbW92ZV9tc3FsLnNxbCAgIHwgICAxICsKIC4uLi9w cGFzL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3VwZGF0ZS5zcWwgICB8ICAyMSArCiAuLi4vZGVm YXVsdC9hbHRlcl9zZXFfcHJpdnNfdXBkYXRlX21zcWwuc3FsICAgfCAgIDIgKwogLi4uL3Rlc3Rz L3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJvcHMuc3FsICAgIHwgIDE3ICsKIC4uLi9wcGFzL2Rl ZmF1bHQvYWx0ZXJfc2VxX3Byb3BzX21zcWwuc3FsICAgICB8ICAgOCArCiAuLi4vcHBhcy9kZWZh dWx0L2NyZWF0ZV9uZWdhdGl2ZV9zZXF1ZW5jZS5zcWwgfCAgMTMgKwogLi4uL2RlZmF1bHQvY3Jl YXRlX25lZ2F0aXZlX3NlcXVlbmNlX21zcWwuc3FsIHwgICA5ICsKIC4uLi90ZXN0cy9wcGFzL2Rl ZmF1bHQvY3JlYXRlX3NlcXVlbmNlLnNxbCAgICB8ICAxMyArCiAuLi4vcHBhcy9kZWZhdWx0L2Ny ZWF0ZV9zZXF1ZW5jZV9tc3FsLnNxbCAgICAgfCAgIDkgKwogLi4uL3BwYXMvZGVmYXVsdC90ZXN0 X3NlcXVlbmNlc19wcGFzLmpzb24gICAgIHwgMTczICsrKysKIC4uLi9zY2hlbWFzL2Zvb3MvdGVz dHMvdGVzdF9zZXF1ZW5jZV9hZGQucHkgICB8IDEyNiArKysKIC4uLi9mb29zL3Rlc3RzL3Rlc3Rf c2VxdWVuY2VfZGVsZXRlLnB5ICAgICAgICB8ICA2OSArKwogLi4uL3Rlc3RzL3Rlc3Rfc2VxdWVu Y2VfZGVsZXRlX211bHRpcGxlLnB5ICAgIHwgIDkzICsrCiAuLi4vc2NoZW1hcy9mb29zL3Rlc3Rz L3Rlc3Rfc2VxdWVuY2VfZ2V0LnB5ICAgfCAgNjQgKysKIC4uLi9zY2hlbWFzL2Zvb3MvdGVzdHMv dGVzdF9zZXF1ZW5jZV9wdXQucHkgICB8ICA5OCArKwogLi4uL2RhdGFiYXNlcy9zY2hlbWFzL2Zv b3MvdGVzdHMvdXRpbHMucHkgICAgIHwgIDg5ICsrCiB3ZWIvd2VicGFjay5jb25maWcuanMgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgIDEgKwogd2ViL3dlYnBhY2suc2hpbS5qcyAgICAgICAg ICAgICAgICAgICAgICAgICAgIHwgICAxICsKIDYyIGZpbGVzIGNoYW5nZWQsIDI3ODIgaW5zZXJ0 aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvX19pbml0X18ucHkKIGNyZWF0ZSBt b2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mb29zL3N0YXRpYy9pbWcvY29sbC1mb28uc3ZnCiBjcmVhdGUgbW9kZSAx MDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZm9vcy9zdGF0aWMvaW1nL2Zvby5zdmcKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9m b29zL3N0YXRpYy9qcy9mb28uanMKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRl cy9mb29zL3NxbC8xMF9wbHVzL2dldF9kZWYuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9v cy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9hY2wuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQg d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9iYWNrZW5kX3N1cHBvcnQuc3FsCiBj cmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9jb2xs X3N0YXRzLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zvb3Mvc3Fs L2RlZmF1bHQvY3JlYXRlLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVz L2Zvb3Mvc3FsL2RlZmF1bHQvZGVsZXRlLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3Mv dGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvZ2V0X2RlZi5zcWwKIGNyZWF0ZSBtb2RlIDEwMDY0 NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mb29zL3RlbXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L2dldF9kZXBlbmRlbmNpZXMuc3Fs CiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9n ZXRfb2lkLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zvb3Mvc3Fs L2RlZmF1bHQvZ3JhbnQuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0ZXMv Zm9vcy9zcWwvZGVmYXVsdC9ub2Rlcy5zcWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rl bXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L3Byb3BlcnRpZXMuc3FsCiBjcmVhdGUgbW9kZSAxMDA2 NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9zdGF0cy5zcWwKIGNyZWF0ZSBt b2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L3VwZGF0ZS5zcWwK IGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRlcy9mb29zL3NxbC9ncGRiXzUuMF9w bHVzL2FjbC5zcWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL19faW5pdF9fLnB5 CiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2FsdGVyX25lZ19z ZXFfcHJvcHMuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0 L2FsdGVyX25lZ19zZXFfcHJvcHNfbXNxbC5zcWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29z L3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX2NvbW1lbnQuc3FsCiBjcmVhdGUgbW9kZSAxMDA2 NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2FsdGVyX3NlcV9jb21tZW50X21zcWwuc3FsCiBj cmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2FsdGVyX3NlcV9wcml2 c19hZGQuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2Fs dGVyX3NlcV9wcml2c19hZGRfbXNxbC5zcWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rl c3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3JlbW92ZS5zcWwKIGNyZWF0ZSBtb2RlIDEw MDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3JlbW92ZV9tc3Fs LnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9z ZXFfcHJpdnNfdXBkYXRlLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcv ZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfdXBkYXRlX21zcWwuc3FsCiBjcmVhdGUgbW9kZSAxMDA2 NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2FsdGVyX3NlcV9wcm9wcy5zcWwKIGNyZWF0ZSBt b2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX3Byb3BzX21zcWwu c3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2NyZWF0ZV9u ZWdhdGl2ZV9zZXF1ZW5jZS5zcWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3Bn L2RlZmF1bHQvY3JlYXRlX25lZ2F0aXZlX3NlcXVlbmNlX21zcWwuc3FsCiBjcmVhdGUgbW9kZSAx MDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2NyZWF0ZV9zZXF1ZW5jZS5zcWwKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvY3JlYXRlX3NlcXVlbmNlX21z cWwuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L3Rlc3Rf c2VxdWVuY2VzX3BnLmpzb24KIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMv ZGVmYXVsdC9hbHRlcl9uZWdfc2VxX3Byb3BzLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zv b3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVyX25lZ19zZXFfcHJvcHNfbXNxbC5zcWwKIGNyZWF0 ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfY29tbWVu dC5zcWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRl cl9zZXFfY29tbWVudF9tc3FsLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMv cHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9wcml2c19hZGQuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQg d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX2FkZF9tc3FsLnNxbAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9w cml2c19yZW1vdmUuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2Rl ZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3JlbW92ZV9tc3FsLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0 IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9wcml2c191cGRhdGUuc3FsCiBj cmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQvYWx0ZXJfc2VxX3By aXZzX3VwZGF0ZV9tc3FsLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBh cy9kZWZhdWx0L2FsdGVyX3NlcV9wcm9wcy5zcWwKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29z L3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJvcHNfbXNxbC5zcWwKIGNyZWF0ZSBtb2Rl IDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9jcmVhdGVfbmVnYXRpdmVfc2VxdWVu Y2Uuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQvY3Jl YXRlX25lZ2F0aXZlX3NlcXVlbmNlX21zcWwuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9v cy90ZXN0cy9wcGFzL2RlZmF1bHQvY3JlYXRlX3NlcXVlbmNlLnNxbAogY3JlYXRlIG1vZGUgMTAw NjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2NyZWF0ZV9zZXF1ZW5jZV9tc3FsLnNxbAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L3Rlc3Rfc2VxdWVu Y2VzX3BwYXMuanNvbgogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvdGVzdF9zZXF1 ZW5jZV9hZGQucHkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3Rlc3Rfc2VxdWVu Y2VfZGVsZXRlLnB5CiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy90ZXN0X3NlcXVl bmNlX2RlbGV0ZV9tdWx0aXBsZS5weQogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMv dGVzdF9zZXF1ZW5jZV9nZXQucHkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3Rl c3Rfc2VxdWVuY2VfcHV0LnB5CiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy91dGls cy5weQoKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL19faW5pdF9f LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uM2JjMzEwZDZmCi0tLSAv ZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy9fX2luaXRfXy5weQpAQCAtMCwwICsxLDk2NSBAQAorIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDIwLCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisj IFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQor IworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMKKworIiIiSW1wbGVtZW50cyBGb28gTm9kZSIiIgorCitmcm9t IGZ1bmN0b29scyBpbXBvcnQgd3JhcHMKKworaW1wb3J0IHNpbXBsZWpzb24gYXMganNvbgorZnJv bSBmbGFzayBpbXBvcnQgcmVuZGVyX3RlbXBsYXRlLCByZXF1ZXN0LCBqc29uaWZ5Citmcm9tIGZs YXNrX2JhYmVsZXggaW1wb3J0IGdldHRleHQgYXMgXworCitpbXBvcnQgcGdhZG1pbi5icm93c2Vy LnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMgYXMgZGF0YWJhc2UKK2Zyb20gY29uZmln IGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgorZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dy b3Vwcy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnV0aWxzIFwKKyAgICBpbXBvcnQgU2NoZW1h Q2hpbGRNb2R1bGUKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy51 dGlscyBpbXBvcnQgcGFyc2VfcHJpdl9mcm9tX2RiLCBcCisgICAgcGFyc2VfcHJpdl90b19kYgor ZnJvbSBwZ2FkbWluLmJyb3dzZXIudXRpbHMgaW1wb3J0IFBHQ2hpbGROb2RlVmlldworZnJvbSBw Z2FkbWluLnRvb2xzLnNjaGVtYV9kaWZmLmNvbXBhcmUgaW1wb3J0IFNjaGVtYURpZmZPYmplY3RD b21wYXJlCitmcm9tIHBnYWRtaW4udG9vbHMuc2NoZW1hX2RpZmYubm9kZV9yZWdpc3RyeSBpbXBv cnQgU2NoZW1hRGlmZlJlZ2lzdHJ5Citmcm9tIHBnYWRtaW4udXRpbHMuYWpheCBpbXBvcnQgbWFr ZV9qc29uX3Jlc3BvbnNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IsIFwKKyAgICBtYWtlX3Jlc3Bv bnNlIGFzIGFqYXhfcmVzcG9uc2UsIGdvbmUKK2Zyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1w b3J0IGdldF9kcml2ZXIKKworCitjbGFzcyBGb29Nb2R1bGUoU2NoZW1hQ2hpbGRNb2R1bGUpOgor ICAgICIiIgorICAgIGNsYXNzIFNlcXVlbmNlTW9kdWxlKENvbGxlY3Rpb25Ob2RlTW9kdWxlKQor CisgICAgICAgIEEgbW9kdWxlIGNsYXNzIGZvciBTZXF1ZW5jZSBub2RlIGRlcml2ZWQgZnJvbSBD b2xsZWN0aW9uTm9kZU1vZHVsZS4KKworICAgIE1ldGhvZHM6CisgICAgLS0tLS0tLQorICAgICog X19pbml0X18oKmFyZ3MsICoqa3dhcmdzKQorICAgICAgLSBNZXRob2QgaXMgdXNlZCB0byBpbml0 aWFsaXplIHRoZSBTZXF1ZW5jZU1vZHVsZSBhbmQgaXQncyBiYXNlIG1vZHVsZS4KKworICAgICog Z2V0X25vZGVzKGdpZCwgc2lkLCBkaWQpCisgICAgICAtIE1ldGhvZCBpcyB1c2VkIHRvIGdlbmVy YXRlIHRoZSBicm93c2VyIGNvbGxlY3Rpb24gbm9kZS4KKworICAgICogc2NyaXB0X2xvYWQoKQor ICAgICAgLSBMb2FkIHRoZSBtb2R1bGUgc2NyaXB0IGZvciBzZXF1ZW5jZSwgd2hlbiBhbnkgb2Yg dGhlIGRhdGFiYXNlIG5vZGUgaXMKKyAgICAgICAgaW5pdGlhbGl6ZWQuCisKKyAgICAqIG5vZGVf aW5vZGUoKQorICAgICAgLSBNZXRob2QgaXMgb3ZlcnJpZGRlbiBmcm9tIGl0cyBiYXNlIGNsYXNz IHRvIG1ha2UgdGhlIG5vZGUgYXMgbGVhZiBub2RlLgorCisgICAgIiIiCisKKyAgICBfTk9ERV9U WVBFID0gJ2ZvbycKKyAgICBfQ09MTEVDVElPTl9MQUJFTCA9IF8oIkZvb3MgTm9kZSIpCisKKyAg ICBkZWYgX19pbml0X18oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKyAgICAgICAgc3VwZXIoRm9v TW9kdWxlLCBzZWxmKS5fX2luaXRfXygqYXJncywgKiprd2FyZ3MpCisgICAgICAgIHNlbGYubWlu X3ZlciA9IE5vbmUKKyAgICAgICAgc2VsZi5tYXhfdmVyID0gTm9uZQorICAgICAgICBzZWxmLm1p bl9ncGRidmVyID0gMTAwMDAwMDAwMAorCisgICAgZGVmIGdldF9ub2RlcyhzZWxmLCBnaWQsIHNp ZCwgZGlkLCBzY2lkKToKKyAgICAgICAgIiIiCisgICAgICAgIEdlbmVyYXRlIHRoZSBzZXF1ZW5j ZSBub2RlCisgICAgICAgICIiIgorICAgICAgICB5aWVsZCBzZWxmLmdlbmVyYXRlX2Jyb3dzZXJf Y29sbGVjdGlvbl9ub2RlKHNjaWQpCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgc2NyaXB0X2xv YWQoc2VsZik6CisgICAgICAgICIiIgorICAgICAgICBMb2FkIHRoZSBtb2R1bGUgc2NyaXB0IGZv ciBkYXRhYmFzZSwgd2hlbiBhbnkgb2YgdGhlIGRhdGFiYXNlIG5vZGUgaXMKKyAgICAgICAgaW5p dGlhbGl6ZWQuCisgICAgICAgICIiIgorICAgICAgICByZXR1cm4gZGF0YWJhc2UuRGF0YWJhc2VN b2R1bGUubm9kZV90eXBlCisKKyAgICBAcHJvcGVydHkKKyAgICBkZWYgbm9kZV9pbm9kZShzZWxm KToKKyAgICAgICAgIiIiCisgICAgICAgIE92ZXJyaWRlIHRoaXMgcHJvcGVydHkgdG8gbWFrZSB0 aGUgbm9kZSBhIGxlYWYgbm9kZS4KKworICAgICAgICBSZXR1cm5zOiBGYWxzZSBhcyB0aGlzIGlz IHRoZSBsZWFmIG5vZGUKKyAgICAgICAgIiIiCisgICAgICAgIHJldHVybiBGYWxzZQorCisKK2Js dWVwcmludCA9IEZvb01vZHVsZShfX25hbWVfXykKKworCitjbGFzcyBGb29WaWV3KFBHQ2hpbGRO b2RlVmlldywgU2NoZW1hRGlmZk9iamVjdENvbXBhcmUpOgorICAgIG5vZGVfdHlwZSA9IGJsdWVw cmludC5ub2RlX3R5cGUKKworICAgIHBhcmVudF9pZHMgPSBbCisgICAgICAgIHsndHlwZSc6ICdp bnQnLCAnaWQnOiAnZ2lkJ30sCisgICAgICAgIHsndHlwZSc6ICdpbnQnLCAnaWQnOiAnc2lkJ30s CisgICAgICAgIHsndHlwZSc6ICdpbnQnLCAnaWQnOiAnZGlkJ30sCisgICAgICAgIHsndHlwZSc6 ICdpbnQnLCAnaWQnOiAnc2NpZCd9CisgICAgXQorICAgIGlkcyA9IFsKKyAgICAgICAgeyd0eXBl JzogJ2ludCcsICdpZCc6ICdmb29pZCd9CisgICAgXQorCisgICAgb3BlcmF0aW9ucyA9IGRpY3Qo eworICAgICAgICAnb2JqJzogWworICAgICAgICAgICAgeydnZXQnOiAncHJvcGVydGllcycsICdk ZWxldGUnOiAnZGVsZXRlJywgJ3B1dCc6ICd1cGRhdGUnfSwKKyAgICAgICAgICAgIHsnZ2V0Jzog J2xpc3QnLCAncG9zdCc6ICdjcmVhdGUnLCAnZGVsZXRlJzogJ2RlbGV0ZSd9CisgICAgICAgIF0s CisgICAgICAgICdkZWxldGUnOiBbeydkZWxldGUnOiAnZGVsZXRlJ30sIHsnZGVsZXRlJzogJ2Rl bGV0ZSd9XSwKKyAgICAgICAgJ2NoaWxkcmVuJzogW3snZ2V0JzogJ2NoaWxkcmVuJ31dLAorICAg ICAgICAnbm9kZXMnOiBbeydnZXQnOiAnbm9kZXMnfSwgeydnZXQnOiAnbm9kZXMnfV0sCisgICAg ICAgICdzcWwnOiBbeydnZXQnOiAnc3FsJ31dLAorICAgICAgICAnbXNxbCc6IFt7J2dldCc6ICdt c3FsJ30sIHsnZ2V0JzogJ21zcWwnfV0sCisgICAgICAgICdzdGF0cyc6IFt7J2dldCc6ICdzdGF0 aXN0aWNzJ30sIHsnZ2V0JzogJ3N0YXRpc3RpY3MnfV0sCisgICAgICAgICdkZXBlbmRlbmN5Jzog W3snZ2V0JzogJ2RlcGVuZGVuY2llcyd9XSwKKyAgICAgICAgJ2RlcGVuZGVudCc6IFt7J2dldCc6 ICdkZXBlbmRlbnRzJ31dCisgICAgfSkKKworICAgIGRlZiBjaGVja19wcmVjb25kaXRpb24oYWN0 aW9uPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGJlaGF2 ZSBhcyBhIGRlY29yYXRvciB3aGljaCB3aWxsIGNoZWNrcworICAgICAgICBkYXRhYmFzZSBjb25u ZWN0aW9uIGJlZm9yZSBydW5uaW5nIHZpZXcsIGl0IHdpbGwgYWxzbyBhdHRhY2hlcworICAgICAg ICBtYW5hZ2VyLGNvbm4gJiB0ZW1wbGF0ZV9wYXRoIHByb3BlcnRpZXMgdG8gc2VsZgorICAgICAg ICAiIiIKKworICAgICAgICBkZWYgd3JhcChmKToKKyAgICAgICAgICAgIEB3cmFwcyhmKQorICAg ICAgICAgICAgZGVmIHdyYXBwZWQoc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKKworICAgICAgICAg ICAgICAgIGRyaXZlciA9IGdldF9kcml2ZXIoUEdfREVGQVVMVF9EUklWRVIpCisgICAgICAgICAg ICAgICAgc2VsZi5tYW5hZ2VyID0gZHJpdmVyLmNvbm5lY3Rpb25fbWFuYWdlcihrd2FyZ3NbJ3Np ZCddKQorCisgICAgICAgICAgICAgICAgaWYgYWN0aW9uIGFuZCBhY3Rpb24gaW4gWyJkcm9wIl06 CisgICAgICAgICAgICAgICAgICAgIHNlbGYuY29ubiA9IHNlbGYubWFuYWdlci5jb25uZWN0aW9u KCkKKyAgICAgICAgICAgICAgICBlbGlmICdkaWQnIGluIGt3YXJnczoKKyAgICAgICAgICAgICAg ICAgICAgc2VsZi5jb25uID0gc2VsZi5tYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPWt3YXJnc1snZGlk J10pCisgICAgICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5jb25u ID0gc2VsZi5tYW5hZ2VyLmNvbm5lY3Rpb24oKQorICAgICAgICAgICAgICAgIHNlbGYuZGF0bGFz dHN5c29pZCA9IFwKKyAgICAgICAgICAgICAgICAgICAgc2VsZi5tYW5hZ2VyLmRiX2luZm9ba3dh cmdzWydkaWQnXV1bJ2RhdGxhc3RzeXNvaWQnXSBcCisgICAgICAgICAgICAgICAgICAgIGlmIHNl bGYubWFuYWdlci5kYl9pbmZvIGlzIG5vdCBOb25lIGFuZCBcCisgICAgICAgICAgICAgICAgICAg IGt3YXJnc1snZGlkJ10gaW4gc2VsZi5tYW5hZ2VyLmRiX2luZm8gZWxzZSAwCisKKyAgICAgICAg ICAgICAgICBzZWxmLnRlbXBsYXRlX3BhdGggPSAnc2VxdWVuY2VzL3NxbC8jezB9IycuZm9ybWF0 KAorICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmFnZXIudmVyc2lvbgorICAgICAgICAgICAg ICAgICkKKyAgICAgICAgICAgICAgICBzZWxmLmFjbCA9IFsncicsICd3JywgJ1UnXQorICAgICAg ICAgICAgICAgIHNlbGYucXRJZGVudCA9IGRyaXZlci5xdElkZW50CisKKyAgICAgICAgICAgICAg ICByZXR1cm4gZihzZWxmLCAqYXJncywgKiprd2FyZ3MpCisgICAgICAgICAgICByZXR1cm4gd3Jh cHBlZAorICAgICAgICByZXR1cm4gd3JhcAorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbihhY3Rp b249J2xpc3QnKQorICAgIGRlZiBsaXN0KHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQpOgorICAg ICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIGxpc3QgYWxsIHRoZSBz ZXF1ZW5jZSBub2RlcyB3aXRoaW4gdGhlCisgICAgICAgIGNvbGxlY3Rpb24uCisKKyAgICAgICAg QXJnczoKKyAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAorICAgICAgICAgIHNpZDogU2Vy dmVyIElECisgICAgICAgICAgZGlkOiBEYXRhYmFzZSBJRAorICAgICAgICAgIHNjaWQ6IFNjaGVt YSBJRAorCisgICAgICAgIFJldHVybnM6CisKKyAgICAgICAgIiIiCisgICAgICAgIFNRTCA9IHJl bmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgs IHNlbGYuX1BST1BFUlRJRVNfU1FMXSksCisgICAgICAgICAgICBzY2lkPXNjaWQKKyAgICAgICAg KQorICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3QoU1FMKQorCisg ICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVy X2Vycm9yKGVycm9ybXNnPXJlcykKKworICAgICAgICBzZXF1ZW5jZV9ub2RlcyA9IHNlbGYuX2dl dF9zZXF1ZW5jZV9ub2RlcyhyZXNbJ3Jvd3MnXSkKKyAgICAgICAgcmV0dXJuIGFqYXhfcmVzcG9u c2UoCisgICAgICAgICAgICByZXNwb25zZT1zZXF1ZW5jZV9ub2RlcywKKyAgICAgICAgICAgIHN0 YXR1cz0yMDAKKyAgICAgICAgKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbihhY3Rpb249J25v ZGVzJykKKyAgICBkZWYgbm9kZXMoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgZm9vaWQ9Tm9u ZSk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gY3JlYXRl IGFsbCB0aGUgY2hpbGQgbm9kZXMgd2l0aGluIHRoZQorICAgICAgICBjb2xsZWN0aW9uLCBIZXJl IGl0IHdpbGwgY3JlYXRlIGFsbCB0aGUgc2VxdWVuY2Ugbm9kZXMuCisKKyAgICAgICAgQXJnczoK KyAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAorICAgICAgICAgIHNpZDogU2VydmVyIElE CisgICAgICAgICAgZGlkOiBEYXRhYmFzZSBJRAorICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJRAor CisgICAgICAgIFJldHVybnM6CisKKyAgICAgICAgIiIiCisgICAgICAgIHJlcyA9IFtdCisgICAg ICAgIFNRTCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRl bXBsYXRlX3BhdGgsIHNlbGYuX05PREVTX1NRTF0pLAorICAgICAgICAgICAgc2NpZD1zY2lkLAor ICAgICAgICAgICAgZm9vaWQ9Zm9vaWQKKyAgICAgICAgKQorICAgICAgICBzdGF0dXMsIHJzZXQg PSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KFNRTCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAg ICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cnNldCkKKwor ICAgICAgICBpZiBmb29pZCBpcyBub3QgTm9uZToKKyAgICAgICAgICAgIGlmIGxlbihyc2V0Wydy b3dzJ10pID09IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIGdvbmUoZXJyb3Jtc2c9XygiQ291 bGQgbm90IGZpbmQgdGhlIHNlcXVlbmNlLiIpKQorICAgICAgICAgICAgcm93ID0gcnNldFsncm93 cyddWzBdCisgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAg ICAgICAgIGRhdGE9c2VsZi5ibHVlcHJpbnQuZ2VuZXJhdGVfYnJvd3Nlcl9ub2RlKAorICAgICAg ICAgICAgICAgICAgICByb3dbJ29pZCddLAorICAgICAgICAgICAgICAgICAgICBzY2lkLAorICAg ICAgICAgICAgICAgICAgICByb3dbJ25hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgaWNvbj0i aWNvbi0lcyIgJSBzZWxmLm5vZGVfdHlwZQorICAgICAgICAgICAgICAgICksCisgICAgICAgICAg ICAgICAgc3RhdHVzPTIwMAorICAgICAgICAgICAgKQorCisgICAgICAgIHNlcXVlbmNlX25vZGVz ID0gc2VsZi5fZ2V0X3NlcXVlbmNlX25vZGVzKHJzZXRbJ3Jvd3MnXSkKKyAgICAgICAgZm9yIHJv dyBpbiBzZXF1ZW5jZV9ub2RlczoKKyAgICAgICAgICAgIHJlcy5hcHBlbmQoCisgICAgICAgICAg ICAgICAgc2VsZi5ibHVlcHJpbnQuZ2VuZXJhdGVfYnJvd3Nlcl9ub2RlKAorICAgICAgICAgICAg ICAgICAgICByb3dbJ29pZCddLAorICAgICAgICAgICAgICAgICAgICBzY2lkLAorICAgICAgICAg ICAgICAgICAgICByb3dbJ25hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgaWNvbj0iaWNvbi0l cyIgJSBzZWxmLm5vZGVfdHlwZQorICAgICAgICAgICAgICAgICkpCisKKyAgICAgICAgcmV0dXJu IG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgIGRhdGE9cmVzLAorICAgICAgICAgICAg c3RhdHVzPTIwMAorICAgICAgICApCisKKyAgICBkZWYgX2dldF9zZXF1ZW5jZV9ub2RlcyhzZWxm LCBub2Rlcyk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8g aXRlcmF0ZSB0aHJvdWdoIGFsbCB0aGUgc2VxdWVuY2VzIG5vZGUgYW5kCisgICAgICAgIGhpZGlu ZyBzZXF1ZW5jZXMgY3JlYXRlZCBhcyBwYXJ0IG9mIGFuIElERU5USVRZIGNvbHVtbi4KKyAgICAg ICAgOnBhcmFtIG5vZGVzOgorICAgICAgICA6cmV0dXJuOgorICAgICAgICAiIiIKKyAgICAgICAg IyBJZiBzaG93X3N5c3RlbV9vYmplY3RzIGlzIHRydWUgdGhlbiBubyBuZWVkIHRvIGhpZGUgYW55 IHNlcXVlbmNlcy4KKyAgICAgICAgaWYgc2VsZi5ibHVlcHJpbnQuc2hvd19zeXN0ZW1fb2JqZWN0 czoKKyAgICAgICAgICAgIHJldHVybiBub2RlcworCisgICAgICAgIHNlcV9ub2RlcyA9IFtdCisg ICAgICAgIGZvciByb3cgaW4gbm9kZXM6CisgICAgICAgICAgICBzeXN0ZW1fc2VxID0gc2VsZi5f Z2V0X2RlcGVuZGVuY3kocm93WydvaWQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaG93X3N5c3RlbV9vYmplY3RzPVRydWUpCisgICAgICAgICAgICBz ZXEgPSBmaWx0ZXIobGFtYmRhIGRlcDogZGVwWyd0eXBlJ10gPT0gJ2NvbHVtbicgYW5kCisgICAg ICAgICAgICAgICAgICAgICAgICAgZGVwWydmaWVsZCddID09ICdpbnRlcm5hbCcsIHN5c3RlbV9z ZXEpCisgICAgICAgICAgICBpZiB0eXBlKHNlcSkgaXMgbm90IGxpc3Q6CisgICAgICAgICAgICAg ICAgc2VxID0gbGlzdChzZXEpCisgICAgICAgICAgICBpZiBsZW4oc2VxKSA+IDA6CisgICAgICAg ICAgICAgICAgY29udGludWUKKworICAgICAgICAgICAgIyBBcHBlbmQgdGhlIG5vZGUgaW50byB0 aGUgbmV3bHkgY3JlYXRlZCBsaXN0CisgICAgICAgICAgICBzZXFfbm9kZXMuYXBwZW5kKHJvdykK KworICAgICAgICByZXR1cm4gc2VxX25vZGVzCisKKyAgICBAY2hlY2tfcHJlY29uZGl0aW9uKGFj dGlvbj0ncHJvcGVydGllcycpCisgICAgZGVmIHByb3BlcnRpZXMoc2VsZiwgZ2lkLCBzaWQsIGRp ZCwgc2NpZCwgZm9vaWQpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxs IHNob3cgdGhlIHByb3BlcnRpZXMgb2YgdGhlIHNlbGVjdGVkIHNlcXVlbmNlIG5vZGUuCisKKyAg ICAgICAgQXJnczoKKyAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAorICAgICAgICAgIHNp ZDogU2VydmVyIElECisgICAgICAgICAgZGlkOiBEYXRhYmFzZSBJRAorICAgICAgICAgIHNjaWQ6 IFNjaGVtYSBJRAorICAgICAgICAgIGZvb2lkOiBTZXF1ZW5jZSBJRAorCisgICAgICAgIFJldHVy bnM6CisKKyAgICAgICAgIiIiCisgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5fZmV0Y2hfcHJv cGVydGllcyhzY2lkLCBmb29pZCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAg IHJldHVybiByZXMKKworICAgICAgICByZXR1cm4gYWpheF9yZXNwb25zZSgKKyAgICAgICAgICAg IHJlc3BvbnNlPXJlcywKKyAgICAgICAgICAgIHN0YXR1cz0yMDAKKyAgICAgICAgKQorCisgICAg ZGVmIF9mZXRjaF9wcm9wZXJ0aWVzKHNlbGYsIHNjaWQsIGZvb2lkKToKKyAgICAgICAgIiIiCisg ICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBmZXRjaCB0aGUgcHJvcGVydGllcyBvZiB0 aGUgc3BlY2lmaWVkIG9iamVjdC4KKyAgICAgICAgOnBhcmFtIHNjaWQ6CisgICAgICAgIDpwYXJh bSBmb29pZDoKKyAgICAgICAgOnJldHVybjoKKyAgICAgICAgIiIiCisKKyAgICAgICAgc3FsID0g cmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0 aCwgc2VsZi5fUFJPUEVSVElFU19TUUxdKSwKKyAgICAgICAgICAgIHNjaWQ9c2NpZCwgZm9vaWQ9 Zm9vaWQKKyAgICAgICAgKQorICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVjdXRl X2RpY3Qoc3FsKQorCisgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICByZXR1cm4g RmFsc2UsIGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisgICAgICAgIGVsaWYg bGVuKHJlc1sncm93cyddKSA9PSAwOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBnb25lKAor ICAgICAgICAgICAgICAgIF8oIkNvdWxkIG5vdCBmaW5kIHRoZSBzZXF1ZW5jZSBpbiB0aGUgZGF0 YWJhc2UuIikpCisKKyAgICAgICAgcmVzWydyb3dzJ11bMF1bJ2lzX3N5c19vYmonXSA9ICgKKyAg ICAgICAgICAgIHJlc1sncm93cyddWzBdWydvaWQnXSA8PSBzZWxmLmRhdGxhc3RzeXNvaWQpCisK KyAgICAgICAgZm9yIHJvdyBpbiByZXNbJ3Jvd3MnXToKKyAgICAgICAgICAgIHNxbCA9IHJlbmRl cl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAgICAiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRo LCAnZ2V0X2RlZi5zcWwnXSksCisgICAgICAgICAgICAgICAgZGF0YT1yb3cKKyAgICAgICAgICAg ICkKKyAgICAgICAgICAgIHN0YXR1cywgcnNldDEgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KHNx bCkKKyAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICAgICAgcmV0dXJuIEZh bHNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cnNldDEpCisKKyAgICAgICAgICAg IHJvd1snY3VycmVudF92YWx1ZSddID0gcnNldDFbJ3Jvd3MnXVswXVsnbGFzdF92YWx1ZSddCisg ICAgICAgICAgICByb3dbJ21pbmltdW0nXSA9IHJzZXQxWydyb3dzJ11bMF1bJ21pbl92YWx1ZSdd CisgICAgICAgICAgICByb3dbJ21heGltdW0nXSA9IHJzZXQxWydyb3dzJ11bMF1bJ21heF92YWx1 ZSddCisgICAgICAgICAgICByb3dbJ2luY3JlbWVudCddID0gcnNldDFbJ3Jvd3MnXVswXVsnaW5j cmVtZW50X2J5J10KKyAgICAgICAgICAgIHJvd1snc3RhcnQnXSA9IHJzZXQxWydyb3dzJ11bMF1b J3N0YXJ0X3ZhbHVlJ10KKyAgICAgICAgICAgIHJvd1snY2FjaGUnXSA9IHJzZXQxWydyb3dzJ11b MF1bJ2NhY2hlX3ZhbHVlJ10KKyAgICAgICAgICAgIHJvd1snY3ljbGVkJ10gPSByc2V0MVsncm93 cyddWzBdWydpc19jeWNsZWQnXQorCisgICAgICAgICAgICBzZWxmLl9hZGRfc2VjdXJpdGllc190 b19yb3cocm93KQorCisgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAg ICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYuX0FDTF9TUUxdKSwKKyAgICAgICAg ICAgIHNjaWQ9c2NpZCwgZm9vaWQ9Zm9vaWQKKyAgICAgICAgKQorICAgICAgICBzdGF0dXMsIGRh dGFjbHJlcyA9IHNlbGYuY29ubi5leGVjdXRlX2RpY3Qoc3FsKQorICAgICAgICBpZiBub3Qgc3Rh dHVzOgorICAgICAgICAgICAgcmV0dXJuIEZhbHNlLCBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJy b3Jtc2c9cmVzKQorCisgICAgICAgIGZvciByb3cgaW4gZGF0YWNscmVzWydyb3dzJ106CisgICAg ICAgICAgICBwcml2ID0gcGFyc2VfcHJpdl9mcm9tX2RiKHJvdykKKyAgICAgICAgICAgIGlmIHJv d1snZGVmdHlwZSddIGluIHJlc1sncm93cyddWzBdOgorICAgICAgICAgICAgICAgIHJlc1sncm93 cyddWzBdW3Jvd1snZGVmdHlwZSddXS5hcHBlbmQocHJpdikKKyAgICAgICAgICAgIGVsc2U6Cisg ICAgICAgICAgICAgICAgcmVzWydyb3dzJ11bMF1bcm93WydkZWZ0eXBlJ11dID0gW3ByaXZdCisK KyAgICAgICAgcmV0dXJuIFRydWUsIHJlc1sncm93cyddWzBdCisKKyAgICBkZWYgX2FkZF9zZWN1 cml0aWVzX3RvX3JvdyhzZWxmLCByb3cpOgorICAgICAgICBzZWNfbGJscyA9IFtdCisgICAgICAg IGlmICdzZWN1cml0aWVzJyBpbiByb3cgYW5kIHJvd1snc2VjdXJpdGllcyddIGlzIG5vdCBOb25l OgorICAgICAgICAgICAgZm9yIHNlYyBpbiByb3dbJ3NlY3VyaXRpZXMnXToKKyAgICAgICAgICAg ICAgICBpbXBvcnQgcmUKKyAgICAgICAgICAgICAgICBzZWMgPSByZS5zZWFyY2gocicoW149XSsp PSguKiQpJywgc2VjKQorICAgICAgICAgICAgICAgIHNlY19sYmxzLmFwcGVuZCh7CisgICAgICAg ICAgICAgICAgICAgICdwcm92aWRlcic6IHNlYy5ncm91cCgxKSwKKyAgICAgICAgICAgICAgICAg ICAgJ2xhYmVsJzogc2VjLmdyb3VwKDIpCisgICAgICAgICAgICAgICAgfSkKKyAgICAgICAgcm93 WydzZWN1cml0aWVzJ10gPSBzZWNfbGJscworCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbihhY3Rp b249ImNyZWF0ZSIpCisgICAgZGVmIGNyZWF0ZShzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkKToK KyAgICAgICAgIiIiCisgICAgICAgIENyZWF0ZSB0aGUgc2VxdWVuY2UuCisKKyAgICAgICAgQXJn czoKKyAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAorICAgICAgICAgIHNpZDogU2VydmVy IElECisgICAgICAgICAgZGlkOiBEYXRhYmFzZSBJRAorICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJ RAorCisgICAgICAgIFJldHVybnM6CisKKyAgICAgICAgIiIiCisgICAgICAgIHJlcXVpcmVkX2Fy Z3MgPSBbCisgICAgICAgICAgICB1J25hbWUnLAorICAgICAgICAgICAgdSdzY2hlbWEnLAorICAg ICAgICAgICAgdSdzZXFvd25lcicsCisgICAgICAgIF0KKworICAgICAgICBkYXRhID0gcmVxdWVz dC5mb3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAgICAgICByZXF1 ZXN0LmRhdGEsIGVuY29kaW5nPSd1dGYtOCcKKyAgICAgICAgKQorCisgICAgICAgIGZvciBhcmcg aW4gcmVxdWlyZWRfYXJnczoKKyAgICAgICAgICAgIGlmIGFyZyBub3QgaW4gZGF0YToKKyAgICAg ICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAorICAgICAgICAgICAgICAgICAg ICBzdGF0dXM9NDAwLAorICAgICAgICAgICAgICAgICAgICBzdWNjZXNzPTAsCisgICAgICAgICAg ICAgICAgICAgIGVycm9ybXNnPV8oCisgICAgICAgICAgICAgICAgICAgICAgICAiQ291bGQgbm90 IGZpbmQgdGhlIHJlcXVpcmVkIHBhcmFtZXRlciAoe30pLiIKKyAgICAgICAgICAgICAgICAgICAg KS5mb3JtYXQoYXJnKQorICAgICAgICAgICAgICAgICkKKworICAgICAgICB0cnk6CisgICAgICAg ICAgICAjIFRoZSBTUUwgYmVsb3cgd2lsbCBleGVjdXRlIENSRUFURSBEREwgb25seQorICAgICAg ICAgICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgICAgICIvIi5qb2luKFtz ZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYuX0NSRUFURV9TUUxdKSwKKyAgICAgICAgICAgICAgICBk YXRhPWRhdGEsIGNvbm49c2VsZi5jb25uCisgICAgICAgICAgICApCisgICAgICAgIGV4Y2VwdCBF eGNlcHRpb24gYXMgZToKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3Io ZXJyb3Jtc2c9ZSkKKworICAgICAgICBzdGF0dXMsIG1zZyA9IHNlbGYuY29ubi5leGVjdXRlX3Nj YWxhcihzcWwpCisgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICByZXR1cm4gaW50 ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPW1zZykKKworICAgICAgICBpZiAncmVsYWNsJyBp biBkYXRhOgorICAgICAgICAgICAgZGF0YVsncmVsYWNsJ10gPSBwYXJzZV9wcml2X3RvX2RiKGRh dGFbJ3JlbGFjbCddLCBzZWxmLmFjbCkKKworICAgICAgICAjIFRoZSBTUUwgYmVsb3cgd2lsbCBl eGVjdXRlIHJlc3QgRE1McyBiZWNhdXNlIHdlIGNhbm5vdCBleGVjdXRlCisgICAgICAgICMgQ1JF QVRFIHdpdGggYW55IG90aGVyCisgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAg ICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYuX0dSQU5UX1NRTF0pLAor ICAgICAgICAgICAgZGF0YT1kYXRhLCBjb25uPXNlbGYuY29ubgorICAgICAgICApCisgICAgICAg IHNxbCA9IHNxbC5zdHJpcCgnXG4nKS5zdHJpcCgnICcpCisgICAgICAgIGlmIHNxbCBhbmQgc3Fs ICE9ICIiOgorICAgICAgICAgICAgc3RhdHVzLCBtc2cgPSBzZWxmLmNvbm4uZXhlY3V0ZV9zY2Fs YXIoc3FsKQorICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAgICByZXR1 cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPW1zZykKKworICAgICAgICAjIFdlIG5l ZWQgb2lkIG9mIG5ld2x5IGNyZWF0ZWQgc2VxdWVuY2UuCisgICAgICAgIHNxbCA9IHJlbmRlcl90 ZW1wbGF0ZSgKKyAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYu X09JRF9TUUxdKSwKKyAgICAgICAgICAgIG5hbWU9ZGF0YVsnbmFtZSddLAorICAgICAgICAgICAg c2NoZW1hPWRhdGFbJ3NjaGVtYSddCisgICAgICAgICkKKyAgICAgICAgc3FsID0gc3FsLnN0cmlw KCdcbicpLnN0cmlwKCcgJykKKworICAgICAgICBzdGF0dXMsIHJzZXQgPSBzZWxmLmNvbm4uZXhl Y3V0ZV8yZGFycmF5KHNxbCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgIHJl dHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cnNldCkKKworICAgICAgICByb3cg PSByc2V0Wydyb3dzJ11bMF0KKyAgICAgICAgcmV0dXJuIGpzb25pZnkoCisgICAgICAgICAgICBu b2RlPXNlbGYuYmx1ZXByaW50LmdlbmVyYXRlX2Jyb3dzZXJfbm9kZSgKKyAgICAgICAgICAgICAg ICByb3dbJ29pZCddLAorICAgICAgICAgICAgICAgIHJvd1sncmVsbmFtZXNwYWNlJ10sCisgICAg ICAgICAgICAgICAgZGF0YVsnbmFtZSddLAorICAgICAgICAgICAgICAgIGljb249Imljb24tJXMi ICUgc2VsZi5ub2RlX3R5cGUKKyAgICAgICAgICAgICkKKyAgICAgICAgKQorCisgICAgQGNoZWNr X3ByZWNvbmRpdGlvbihhY3Rpb249J2RlbGV0ZScpCisgICAgZGVmIGRlbGV0ZShzZWxmLCBnaWQs IHNpZCwgZGlkLCBzY2lkLCBmb29pZD1Ob25lLCBvbmx5X3NxbD1GYWxzZSk6CisgICAgICAgICIi IgorICAgICAgICBUaGlzIGZ1bmN0aW9uIHdpbGwgZHJvcCB0aGUgb2JqZWN0CisKKyAgICAgICAg QXJnczoKKyAgICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAorICAgICAgICAgIHNpZDogU2Vy dmVyIElECisgICAgICAgICAgZGlkOiBEYXRhYmFzZSBJRAorICAgICAgICAgIHNjaWQ6IFNjaGVt YSBJRAorICAgICAgICAgIGZvb2lkOiBTZXF1ZW5jZSBJRAorICAgICAgICAgIG9ubHlfc3FsOiBS ZXR1cm4gU1FMIG9ubHkgaWYgVHJ1ZQorCisgICAgICAgIFJldHVybnM6CisKKyAgICAgICAgIiIi CisgICAgICAgIGlmIGZvb2lkIGlzIE5vbmU6CisgICAgICAgICAgICBkYXRhID0gcmVxdWVzdC5m b3JtIGlmIHJlcXVlc3QuZm9ybSBlbHNlIGpzb24ubG9hZHMoCisgICAgICAgICAgICAgICAgcmVx dWVzdC5kYXRhLCBlbmNvZGluZz0ndXRmLTgnCisgICAgICAgICAgICApCisgICAgICAgIGVsc2U6 CisgICAgICAgICAgICBkYXRhID0geydpZHMnOiBbZm9vaWRdfQorCisgICAgICAgICMgQmVsb3cg d2lsbCBkZWNpZGUgaWYgaXQncyBzaW1wbGUgZHJvcCBvciBkcm9wIHdpdGggY2FzY2FkZSBjYWxs CisgICAgICAgIGlmIHNlbGYuY21kID09ICdkZWxldGUnOgorICAgICAgICAgICAgIyBUaGlzIGlz IGEgY2FzY2FkZSBvcGVyYXRpb24KKyAgICAgICAgICAgIGNhc2NhZGUgPSBUcnVlCisgICAgICAg IGVsc2U6CisgICAgICAgICAgICBjYXNjYWRlID0gRmFsc2UKKworICAgICAgICB0cnk6CisgICAg ICAgICAgICBmb3IgZm9vaWQgaW4gZGF0YVsnaWRzJ106CisgICAgICAgICAgICAgICAgc3FsID0g cmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgICAgICAgICAiLyIuam9pbihbc2VsZi50ZW1w bGF0ZV9wYXRoLCBzZWxmLl9QUk9QRVJUSUVTX1NRTF0pLAorICAgICAgICAgICAgICAgICAgICBz Y2lkPXNjaWQsIGZvb2lkPWZvb2lkCisgICAgICAgICAgICAgICAgKQorICAgICAgICAgICAgICAg IHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChzcWwpCisgICAgICAgICAgICAg ICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGludGVybmFsX3Nl cnZlcl9lcnJvcihlcnJvcm1zZz1yZXMpCisKKyAgICAgICAgICAgICAgICBlbGlmIG5vdCByZXNb J3Jvd3MnXToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgK KyAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3M9MCwKKyAgICAgICAgICAgICAgICAgICAg ICAgIGVycm9ybXNnPV8oCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0Vycm9yOiBPYmpl Y3Qgbm90IGZvdW5kLicKKyAgICAgICAgICAgICAgICAgICAgICAgICksCisgICAgICAgICAgICAg ICAgICAgICAgICBpbmZvPV8oCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ1RoZSBzcGVj aWZpZWQgc2VxdWVuY2UgY291bGQgbm90IGJlIGZvdW5kLlxuJworICAgICAgICAgICAgICAgICAg ICAgICAgKQorICAgICAgICAgICAgICAgICAgICApCisKKyAgICAgICAgICAgICAgICBzcWwgPSBy ZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBs YXRlX3BhdGgsIHNlbGYuX0RFTEVURV9TUUxdKSwKKyAgICAgICAgICAgICAgICAgICAgZGF0YT1y ZXNbJ3Jvd3MnXVswXSwgY2FzY2FkZT1jYXNjYWRlCisgICAgICAgICAgICAgICAgKQorCisgICAg ICAgICAgICAgICAgaWYgb25seV9zcWw6CisgICAgICAgICAgICAgICAgICAgIHJldHVybiBzcWwK KworICAgICAgICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfc2NhbGFy KHNxbCkKKyAgICAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgICAg ICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKKworICAgICAgICAg ICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICBzdWNjZXNzPTEs CisgICAgICAgICAgICAgICAgaW5mbz1fKCJTZXF1ZW5jZSBkcm9wcGVkIikKKyAgICAgICAgICAg ICkKKworICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CisgICAgICAgICAgICByZXR1cm4g aW50ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXN0cihlKSkKKworICAgIEBjaGVja19wcmVj b25kaXRpb24oYWN0aW9uPSd1cGRhdGUnKQorICAgIGRlZiB1cGRhdGUoc2VsZiwgZ2lkLCBzaWQs IGRpZCwgc2NpZCwgZm9vaWQpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3 aWxsIHVwZGF0ZSB0aGUgb2JqZWN0CisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICBnaWQ6IFNl cnZlciBHcm91cCBJRAorICAgICAgICAgIHNpZDogU2VydmVyIElECisgICAgICAgICAgZGlkOiBE YXRhYmFzZSBJRAorICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJRAorICAgICAgICAgIGZvb2lkOiBT ZXF1ZW5jZSBJRAorCisgICAgICAgIFJldHVybnM6CisKKyAgICAgICAgIiIiCisgICAgICAgIGRh dGEgPSByZXF1ZXN0LmZvcm0gaWYgcmVxdWVzdC5mb3JtIGVsc2UganNvbi5sb2FkcygKKyAgICAg ICAgICAgIHJlcXVlc3QuZGF0YSwgZW5jb2Rpbmc9J3V0Zi04JworICAgICAgICApCisgICAgICAg IHNxbCwgbmFtZSA9IHNlbGYuZ2V0X1NRTChnaWQsIHNpZCwgZGlkLCBkYXRhLCBzY2lkLCBmb29p ZCkKKyAgICAgICAgIyBNb3N0IHByb2JhYmx5IHRoaXMgaXMgZHVlIHRvIGVycm9yCisgICAgICAg IGlmIG5vdCBpc2luc3RhbmNlKHNxbCwgc3RyKToKKyAgICAgICAgICAgIHJldHVybiBzcWwKKwor ICAgICAgICBzcWwgPSBzcWwuc3RyaXAoJ1xuJykuc3RyaXAoJyAnKQorCisgICAgICAgIHN0YXR1 cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfc2NhbGFyKHNxbCkKKyAgICAgICAgaWYgbm90IHN0 YXR1czoKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9 cmVzKQorCisgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICIvIi5q b2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYuX05PREVTX1NRTF0pLAorICAgICAgICAgICAg Zm9vaWQ9Zm9vaWQKKyAgICAgICAgKQorICAgICAgICBzdGF0dXMsIHJzZXQgPSBzZWxmLmNvbm4u ZXhlY3V0ZV8yZGFycmF5KHNxbCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAg IHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cnNldCkKKyAgICAgICAgcm93 ID0gcnNldFsncm93cyddWzBdCisKKyAgICAgICAgcmV0dXJuIGpzb25pZnkoCisgICAgICAgICAg ICBub2RlPXNlbGYuYmx1ZXByaW50LmdlbmVyYXRlX2Jyb3dzZXJfbm9kZSgKKyAgICAgICAgICAg ICAgICBmb29pZCwKKyAgICAgICAgICAgICAgICByb3dbJ3NjaGVtYSddLAorICAgICAgICAgICAg ICAgIHJvd1snbmFtZSddLAorICAgICAgICAgICAgICAgIGljb249Imljb24tJXMiICUgc2VsZi5u b2RlX3R5cGUKKyAgICAgICAgICAgICkKKyAgICAgICAgKQorCisgICAgQGNoZWNrX3ByZWNvbmRp dGlvbihhY3Rpb249J21zcWwnKQorICAgIGRlZiBtc3FsKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNj aWQsIGZvb2lkPU5vbmUpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB0byBy ZXR1cm4gbW9kaWZpZWQgU1FMLgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgICBnaWQ6IFNl cnZlciBHcm91cCBJRAorICAgICAgICAgICAgc2lkOiBTZXJ2ZXIgSUQKKyAgICAgICAgICAgIGRp ZDogRGF0YWJhc2UgSUQKKyAgICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJRAorICAgICAgICAgICAg Zm9vaWQ6IFNlcXVlbmNlIElECisgICAgICAgICIiIgorCisgICAgICAgIGRhdGEgPSB7fQorICAg ICAgICBmb3IgaywgdiBpbiByZXF1ZXN0LmFyZ3MuaXRlbXMoKToKKyAgICAgICAgICAgIHRyeToK KyAgICAgICAgICAgICAgICAjIGNvbW1lbnRzIHNob3VsZCBiZSB0YWtlbiBhcyBpcyBiZWNhdXNl IGlmIHVzZXIgZW50ZXJzIGEKKyAgICAgICAgICAgICAgICAjIGpzb24gY29tbWVudCBpdCBpcyBw YXJzZWQgYnkgbG9hZHMgd2hpY2ggc2hvdWxkIG5vdCBoYXBwZW4KKyAgICAgICAgICAgICAgICBp ZiBrIGluICgnY29tbWVudCcsKToKKyAgICAgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKKyAg ICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBkYXRhW2tdID0ganNvbi5s b2Fkcyh2LCBlbmNvZGluZz0ndXRmLTgnKQorICAgICAgICAgICAgZXhjZXB0IFZhbHVlRXJyb3I6 CisgICAgICAgICAgICAgICAgZGF0YVtrXSA9IHYKKworICAgICAgICBpZiBmb29pZCBpcyBOb25l OgorICAgICAgICAgICAgcmVxdWlyZWRfYXJncyA9IFsKKyAgICAgICAgICAgICAgICAnbmFtZScs CisgICAgICAgICAgICAgICAgJ3NjaGVtYScKKyAgICAgICAgICAgIF0KKworICAgICAgICAgICAg Zm9yIGFyZyBpbiByZXF1aXJlZF9hcmdzOgorICAgICAgICAgICAgICAgIGlmIGFyZyBub3QgaW4g ZGF0YToKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAg ICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz00MDAsCisgICAgICAgICAgICAgICAgICAgICAg ICBzdWNjZXNzPTAsCisgICAgICAgICAgICAgICAgICAgICAgICBlcnJvcm1zZz1fKAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICJDb3VsZCBub3QgZmluZCB0aGUgcmVxdWlyZWQgcGFyYW1l dGVyICh7fSkuIgorICAgICAgICAgICAgICAgICAgICAgICAgKS5mb3JtYXQoYXJnKQorICAgICAg ICAgICAgICAgICAgICApCisgICAgICAgIHNxbCwgbmFtZSA9IHNlbGYuZ2V0X1NRTChnaWQsIHNp ZCwgZGlkLCBkYXRhLCBzY2lkLCBmb29pZCkKKyAgICAgICAgIyBNb3N0IHByb2JhYmx5IHRoaXMg aXMgZHVlIHRvIGVycm9yCisgICAgICAgIGlmIG5vdCBpc2luc3RhbmNlKHNxbCwgc3RyKToKKyAg ICAgICAgICAgIHJldHVybiBzcWwKKworICAgICAgICBzcWwgPSBzcWwuc3RyaXAoJ1xuJykuc3Ry aXAoJyAnKQorICAgICAgICBpZiBzcWwgPT0gJyc6CisgICAgICAgICAgICBzcWwgPSAiLS1tb2Rp ZmllZCBTUUwiCisKKyAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAg ICAgIGRhdGE9c3FsLAorICAgICAgICAgICAgc3RhdHVzPTIwMAorICAgICAgICApCisKKyAgICBk ZWYgZ2V0X1NRTChzZWxmLCBnaWQsIHNpZCwgZGlkLCBkYXRhLCBzY2lkLCBmb29pZD1Ob25lKToK KyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gd2lsbCBnZW5lcmF0ZSBzcWwgZnJv bSBtb2RlbCBkYXRhLgorCisgICAgICAgIEFyZ3M6CisgICAgICAgICAgICBnaWQ6IFNlcnZlciBH cm91cCBJRAorICAgICAgICAgICAgc2lkOiBTZXJ2ZXIgSUQKKyAgICAgICAgICAgIGRpZDogRGF0 YWJhc2UgSUQKKyAgICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJRAorICAgICAgICAgICAgZm9vaWQ6 IFNlcXVlbmNlIElECisgICAgICAgICIiIgorCisgICAgICAgIHJlcXVpcmVkX2FyZ3MgPSBbCisg ICAgICAgICAgICB1J25hbWUnCisgICAgICAgIF0KKworICAgICAgICBpZiBmb29pZCBpcyBub3Qg Tm9uZToKKyAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgKKyAgICAgICAgICAgICAg ICAiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCBzZWxmLl9QUk9QRVJUSUVTX1NRTF0pLAor ICAgICAgICAgICAgICAgIHNjaWQ9c2NpZCwgZm9vaWQ9Zm9vaWQKKyAgICAgICAgICAgICkKKyAg ICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChzcWwpCisgICAg ICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9z ZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorICAgICAgICAgICAgZWxpZiBsZW4ocmVzWydyb3dz J10pID09IDA6CisgICAgICAgICAgICAgICAgcmV0dXJuIGdvbmUoXygiQ291bGQgbm90IGZpbmQg dGhlIHNlcXVlbmNlIGluIHRoZSBkYXRhYmFzZS4iKSkKKworICAgICAgICAgICAgIyBNYWtpbmcg Y29weSBvZiBvdXRwdXQgZm9yIGZ1cnRoZXIgcHJvY2Vzc2luZworICAgICAgICAgICAgb2xkX2Rh dGEgPSBkaWN0KHJlc1sncm93cyddWzBdKQorICAgICAgICAgICAgb2xkX2RhdGEgPSBzZWxmLl9m b3JtYXR0ZXIob2xkX2RhdGEsIHNjaWQsIGZvb2lkKQorCisgICAgICAgICAgICBzZWxmLl9mb3Jt YXRfcHJpdmlsZWdlX2RhdGEoZGF0YSkKKworICAgICAgICAgICAgIyBJZiBuYW1lIGlzIG5vdCBw cmVzZW50IHdpdGggaW4gdXBkYXRlIGRhdGEgdGhlbiBjb3B5IGl0CisgICAgICAgICAgICAjIGZy b20gb2xkIGRhdGEKKyAgICAgICAgICAgIGZvciBhcmcgaW4gcmVxdWlyZWRfYXJnczoKKyAgICAg ICAgICAgICAgICBpZiBhcmcgbm90IGluIGRhdGE6CisgICAgICAgICAgICAgICAgICAgIGRhdGFb YXJnXSA9IG9sZF9kYXRhW2FyZ10KKyAgICAgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgK KyAgICAgICAgICAgICAgICAiLyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLCBzZWxmLl9VUERB VEVfU1FMXSksCisgICAgICAgICAgICAgICAgZGF0YT1kYXRhLCBvX2RhdGE9b2xkX2RhdGEsIGNv bm49c2VsZi5jb25uCisgICAgICAgICAgICApCisgICAgICAgICAgICByZXR1cm4gc3FsLCBkYXRh WyduYW1lJ10gaWYgJ25hbWUnIGluIGRhdGEgZWxzZSBvbGRfZGF0YVsnbmFtZSddCisgICAgICAg IGVsc2U6CisgICAgICAgICAgICAjIFRvIGZvcm1hdCBwcml2aWxlZ2VzIGNvbWluZyBmcm9tIGNs aWVudAorICAgICAgICAgICAgaWYgJ3JlbGFjbCcgaW4gZGF0YToKKyAgICAgICAgICAgICAgICBk YXRhWydyZWxhY2wnXSA9IHBhcnNlX3ByaXZfdG9fZGIoZGF0YVsncmVsYWNsJ10sIHNlbGYuYWNs KQorCisgICAgICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAgICAg Ii8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgc2VsZi5fQ1JFQVRFX1NRTF0pLAorICAgICAg ICAgICAgICAgIGRhdGE9ZGF0YSwgY29ubj1zZWxmLmNvbm4KKyAgICAgICAgICAgICkKKyAgICAg ICAgICAgIHNxbCArPSByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAgICAgIi8iLmpvaW4o W3NlbGYudGVtcGxhdGVfcGF0aCwgc2VsZi5fR1JBTlRfU1FMXSksCisgICAgICAgICAgICAgICAg ZGF0YT1kYXRhLCBjb25uPXNlbGYuY29ubgorICAgICAgICAgICAgKQorICAgICAgICAgICAgcmV0 dXJuIHNxbCwgZGF0YVsnbmFtZSddCisKKyAgICBkZWYgX2Zvcm1hdF9wcml2aWxlZ2VfZGF0YShz ZWxmLCBkYXRhKToKKyAgICAgICAgIyBUbyBmb3JtYXQgcHJpdmlsZWdlcyBkYXRhIGNvbWluZyBm cm9tIGNsaWVudAorICAgICAgICBmb3Iga2V5IGluIFsncmVsYWNsJ106CisgICAgICAgICAgICBp ZiBrZXkgaW4gZGF0YSBhbmQgZGF0YVtrZXldIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgICAg IGlmICdhZGRlZCcgaW4gZGF0YVtrZXldOgorICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV1b J2FkZGVkJ10gPSBwYXJzZV9wcml2X3RvX2RiKAorICAgICAgICAgICAgICAgICAgICAgICAgZGF0 YVtrZXldWydhZGRlZCddLCBzZWxmLmFjbAorICAgICAgICAgICAgICAgICAgICApCisgICAgICAg ICAgICAgICAgaWYgJ2NoYW5nZWQnIGluIGRhdGFba2V5XToKKyAgICAgICAgICAgICAgICAgICAg ZGF0YVtrZXldWydjaGFuZ2VkJ10gPSBwYXJzZV9wcml2X3RvX2RiKAorICAgICAgICAgICAgICAg ICAgICAgICAgZGF0YVtrZXldWydjaGFuZ2VkJ10sIHNlbGYuYWNsCisgICAgICAgICAgICAgICAg ICAgICkKKyAgICAgICAgICAgICAgICBpZiAnZGVsZXRlZCcgaW4gZGF0YVtrZXldOgorICAgICAg ICAgICAgICAgICAgICBkYXRhW2tleV1bJ2RlbGV0ZWQnXSA9IHBhcnNlX3ByaXZfdG9fZGIoCisg ICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV1bJ2RlbGV0ZWQnXSwgc2VsZi5hY2wKKyAg ICAgICAgICAgICAgICAgICAgKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlvbihhY3Rpb249InNx bCIpCisgICAgZGVmIHNxbChzZWxmLCBnaWQsIHNpZCwgZGlkLCBzY2lkLCBmb29pZCwgKiprd2Fy Z3MpOgorICAgICAgICAiIiIKKyAgICAgICAgVGhpcyBmdW5jdGlvbiB3aWxsIGdlbmVyYXRlIHNx bCBmb3Igc3FsIHBhbmVsCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGdpZDogU2VydmVy IEdyb3VwIElECisgICAgICAgICAgICBzaWQ6IFNlcnZlciBJRAorICAgICAgICAgICAgZGlkOiBE YXRhYmFzZSBJRAorICAgICAgICAgICAgc2NpZDogU2NoZW1hIElECisgICAgICAgICAgICBmb29p ZDogU2VxdWVuY2UgSUQKKyAgICAgICAgICAgIGpzb25fcmVzcDoganNvbiByZXNwb25zZSBvciBw bGFpbiB0ZXh0IHJlc3BvbnNlCisgICAgICAgICIiIgorICAgICAgICBqc29uX3Jlc3AgPSBrd2Fy Z3MuZ2V0KCdqc29uX3Jlc3AnLCBUcnVlKQorCisgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0 ZSgKKyAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYuX1BST1BF UlRJRVNfU1FMXSksCisgICAgICAgICAgICBzY2lkPXNjaWQsIGZvb2lkPWZvb2lkCisgICAgICAg ICkKKyAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KHNxbCkKKyAg ICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJf ZXJyb3IoZXJyb3Jtc2c9cmVzKQorICAgICAgICBpZiBsZW4ocmVzWydyb3dzJ10pID09IDA6Cisg ICAgICAgICAgICByZXR1cm4gZ29uZShfKCJDb3VsZCBub3QgZmluZCB0aGUgc2VxdWVuY2UgaW4g dGhlIGRhdGFiYXNlLiIpKQorCisgICAgICAgIGZvciByb3cgaW4gcmVzWydyb3dzJ106CisgICAg ICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAgICAgIi8iLmpvaW4o W3NlbGYudGVtcGxhdGVfcGF0aCwgJ2dldF9kZWYuc3FsJ10pLAorICAgICAgICAgICAgICAgIGRh dGE9cm93CisgICAgICAgICAgICApCisgICAgICAgICAgICBzdGF0dXMsIHJzZXQxID0gc2VsZi5j b25uLmV4ZWN1dGVfZGljdChzcWwpCisgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAg ICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cnNldDEpCisK KyAgICAgICAgICAgIHJvd1snY3VycmVudF92YWx1ZSddID0gcnNldDFbJ3Jvd3MnXVswXVsnbGFz dF92YWx1ZSddCisgICAgICAgICAgICByb3dbJ21pbmltdW0nXSA9IHJzZXQxWydyb3dzJ11bMF1b J21pbl92YWx1ZSddCisgICAgICAgICAgICByb3dbJ21heGltdW0nXSA9IHJzZXQxWydyb3dzJ11b MF1bJ21heF92YWx1ZSddCisgICAgICAgICAgICByb3dbJ2luY3JlbWVudCddID0gcnNldDFbJ3Jv d3MnXVswXVsnaW5jcmVtZW50X2J5J10KKyAgICAgICAgICAgIHJvd1snc3RhcnQnXSA9IHJzZXQx Wydyb3dzJ11bMF1bJ3N0YXJ0X3ZhbHVlJ10KKyAgICAgICAgICAgIHJvd1snY2FjaGUnXSA9IHJz ZXQxWydyb3dzJ11bMF1bJ2NhY2hlX3ZhbHVlJ10KKyAgICAgICAgICAgIHJvd1snY3ljbGVkJ10g PSByc2V0MVsncm93cyddWzBdWydpc19jeWNsZWQnXQorCisgICAgICAgIHJlc3VsdCA9IHJlc1sn cm93cyddWzBdCisKKyAgICAgICAgcmVzdWx0ID0gc2VsZi5fZm9ybWF0dGVyKHJlc3VsdCwgc2Np ZCwgZm9vaWQpCisgICAgICAgIHNxbCwgbmFtZSA9IHNlbGYuZ2V0X1NRTChnaWQsIHNpZCwgZGlk LCByZXN1bHQsIHNjaWQpCisgICAgICAgICMgTW9zdCBwcm9iYWJseSB0aGlzIGlzIGR1ZSB0byBl cnJvcgorICAgICAgICBpZiBub3QgaXNpbnN0YW5jZShzcWwsIHN0cik6CisgICAgICAgICAgICBy ZXR1cm4gc3FsCisgICAgICAgIHNxbCA9IHNxbC5zdHJpcCgnXG4nKS5zdHJpcCgnICcpCisKKyAg ICAgICAgIyBSZXR1cm4gc3FsIGZvciBzY2hlbWEgZGlmZgorICAgICAgICBpZiBub3QganNvbl9y ZXNwOgorICAgICAgICAgICAgcmV0dXJuIHNxbAorCisgICAgICAgIHNxbF9oZWFkZXIgPSB1IiIi LS0gU0VRVUVOQ0U6IHswfS57MX1cblxuIiIiLmZvcm1hdCgKKyAgICAgICAgICAgIHJlc3VsdFsn c2NoZW1hJ10sIHJlc3VsdFsnbmFtZSddKQorCisgICAgICAgIHNxbF9oZWFkZXIgKz0gIiIiLS0g RFJPUCBTRVFVRU5DRSB7MH07CisKKyIiIi5mb3JtYXQoc2VsZi5xdElkZW50KHNlbGYuY29ubiwg cmVzdWx0WydzY2hlbWEnXSwgcmVzdWx0WyduYW1lJ10pKQorCisgICAgICAgIHNxbCA9IHNxbF9o ZWFkZXIgKyBzcWwKKworICAgICAgICByZXR1cm4gYWpheF9yZXNwb25zZShyZXNwb25zZT1zcWwp CisKKyAgICBkZWYgX2Zvcm1hdHRlcihzZWxmLCBkYXRhLCBzY2lkLCBmb29pZCk6CisgICAgICAg ICIiIgorICAgICAgICBBcmdzOgorICAgICAgICAgICAgZGF0YTogZGljdCBvZiBxdWVyeSByZXN1 bHQKKyAgICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJRAorICAgICAgICAgICAgZm9vaWQ6IFNlcXVl bmNlIElECisKKyAgICAgICAgUmV0dXJuczoKKyAgICAgICAgICAgIEl0IHdpbGwgcmV0dXJuIGZv cm1hdHRlZCBvdXRwdXQgb2Ygc2VxdWVuY2UKKyAgICAgICAgIiIiCisKKyAgICAgICAgIyBOZWVk IHRvIGZvcm1hdCBzZWN1cml0eSBsYWJlbHMgYWNjb3JkaW5nIHRvIGNsaWVudCBqcyBjb2xsZWN0 aW9uCisgICAgICAgIGlmICdzZWN1cml0aWVzJyBpbiBkYXRhIGFuZCBkYXRhWydzZWN1cml0aWVz J10gaXMgbm90IE5vbmU6CisgICAgICAgICAgICBzZWNsYWJlbHMgPSBbXQorICAgICAgICAgICAg Zm9yIHNlY2xibHMgaW4gZGF0YVsnc2VjdXJpdGllcyddOgorICAgICAgICAgICAgICAgIGssIHYg PSBzZWNsYmxzLnNwbGl0KCc9JykKKyAgICAgICAgICAgICAgICBzZWNsYWJlbHMuYXBwZW5kKHsn cHJvdmlkZXInOiBrLCAnbGFiZWwnOiB2fSkKKworICAgICAgICAgICAgZGF0YVsnc2VjdXJpdGll cyddID0gc2VjbGFiZWxzCisKKyAgICAgICAgIyBXZSBuZWVkIHRvIHBhcnNlICYgY29udmVydCBB Q0wgY29taW5nIGZyb20gZGF0YWJhc2UgdG8ganNvbiBmb3JtYXQKKyAgICAgICAgc3FsID0gcmVu ZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsIHNlbGYuX0FDTF9TUUxd KSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNjaWQ9c2NpZCwgZm9vaWQ9Zm9vaWQp CisgICAgICAgIHN0YXR1cywgYWNsID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChzcWwpCisgICAg ICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAgICByZXR1cm4gaW50ZXJuYWxfc2VydmVyX2Vy cm9yKGVycm9ybXNnPWFjbCkKKworICAgICAgICAjIFdlIHdpbGwgc2V0IGdldCBwcml2aWxlZ2Vz IGZyb20gYWNsIHNxbCBzbyB3ZSBkb24ndCBuZWVkCisgICAgICAgICMgaXQgZnJvbSBwcm9wZXJ0 aWVzIHNxbAorICAgICAgICBkYXRhWydyZWxhY2wnXSA9IFtdCisKKyAgICAgICAgZm9yIHJvdyBp biBhY2xbJ3Jvd3MnXToKKyAgICAgICAgICAgIHByaXYgPSBwYXJzZV9wcml2X2Zyb21fZGIocm93 KQorICAgICAgICAgICAgZGF0YS5zZXRkZWZhdWx0KHJvd1snZGVmdHlwZSddLCBbXSkuYXBwZW5k KHByaXYpCisKKyAgICAgICAgcmV0dXJuIGRhdGEKKworICAgIEBjaGVja19wcmVjb25kaXRpb24o YWN0aW9uPSJkZXBlbmRlbnRzIikKKyAgICBkZWYgZGVwZW5kZW50cyhzZWxmLCBnaWQsIHNpZCwg ZGlkLCBzY2lkLCBmb29pZCk6CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIGdl dHMgdGhlIGRlcGVuZGVudHMgYW5kIHJldHVybnMgYW4gYWpheCByZXNwb25zZQorICAgICAgICBm b3IgdGhlIHNlcXVlbmNlIG5vZGUuCisKKyAgICAgICAgQXJnczoKKyAgICAgICAgICAgIGdpZDog U2VydmVyIEdyb3VwIElECisgICAgICAgICAgICBzaWQ6IFNlcnZlciBJRAorICAgICAgICAgICAg ZGlkOiBEYXRhYmFzZSBJRAorICAgICAgICAgICAgc2NpZDogU2NoZW1hIElECisgICAgICAgICAg ICBmb29pZDogU2VxdWVuY2UgSUQKKyAgICAgICAgIiIiCisgICAgICAgIGRlcGVuZGVudHNfcmVz dWx0ID0gc2VsZi5nZXRfZGVwZW5kZW50cyhzZWxmLmNvbm4sIGZvb2lkKQorICAgICAgICByZXR1 cm4gYWpheF9yZXNwb25zZSgKKyAgICAgICAgICAgIHJlc3BvbnNlPWRlcGVuZGVudHNfcmVzdWx0 LAorICAgICAgICAgICAgc3RhdHVzPTIwMAorICAgICAgICApCisKKyAgICBAY2hlY2tfcHJlY29u ZGl0aW9uKGFjdGlvbj0iZGVwZW5kZW5jaWVzIikKKyAgICBkZWYgZGVwZW5kZW5jaWVzKHNlbGYs IGdpZCwgc2lkLCBkaWQsIHNjaWQsIGZvb2lkKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMg ZnVuY3Rpb24gZ2V0cyB0aGUgZGVwZW5kZW5jaWVzIGFuZCByZXR1cm5zIGFuIGFqYXggcmVzcG9u c2UKKyAgICAgICAgZm9yIHRoZSBzZXF1ZW5jZSBub2RlLgorCisgICAgICAgIEFyZ3M6CisgICAg ICAgICAgICBnaWQ6IFNlcnZlciBHcm91cCBJRAorICAgICAgICAgICAgc2lkOiBTZXJ2ZXIgSUQK KyAgICAgICAgICAgIGRpZDogRGF0YWJhc2UgSUQKKyAgICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJ RAorICAgICAgICAgICAgZm9vaWQ6IFNlcXVlbmNlIElECisgICAgICAgICIiIgorCisgICAgICAg IHJldHVybiBhamF4X3Jlc3BvbnNlKAorICAgICAgICAgICAgcmVzcG9uc2U9c2VsZi5fZ2V0X2Rl cGVuZGVuY3koZm9vaWQpLAorICAgICAgICAgICAgc3RhdHVzPTIwMAorICAgICAgICApCisKKyAg ICBkZWYgX2dldF9kZXBlbmRlbmN5KHNlbGYsIGZvb2lkLCBzaG93X3N5c3RlbV9vYmplY3RzPU5v bmUpOgorICAgICAgICBkZXBlbmRlbmNpZXNfcmVzdWx0ID0gc2VsZi5nZXRfZGVwZW5kZW5jaWVz KHNlbGYuY29ubiwgZm9vaWQsIE5vbmUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2hvd19zeXN0ZW1fb2JqZWN0cykKKworICAgICAgICAjIEdl dCBtaXNzaW5nIGRlcGVuZGVuY2llcy4KKyAgICAgICAgIyBBIENvcm5lciBjYXNlLCByZXBvcnRl ZCBieSBHdWlsbGF1bWUgTGVsYXJnZSwgY291bGQgYmUgZm91bmQgYXQ6CisgICAgICAgICMgaHR0 cDovL2FyY2hpdmVzLnBvc3RncmVzcWwub3JnL3BnYWRtaW4taGFja2Vycy8yMDA5LTAzL21zZzAw MDI2LnBocAorCisgICAgICAgIHNxbCA9IHJlbmRlcl90ZW1wbGF0ZSgiLyIuam9pbihbc2VsZi50 ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdn ZXRfZGVwZW5kZW5jaWVzLnNxbCddKSwgZm9vaWQ9Zm9vaWQpCisKKyAgICAgICAgc3RhdHVzLCBy ZXN1bHQgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KHNxbCkKKyAgICAgICAgaWYgbm90IHN0YXR1 czoKKyAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVz dWx0KQorCisgICAgICAgIGZvciByb3cgaW4gcmVzdWx0Wydyb3dzJ106CisgICAgICAgICAgICBy ZWZfbmFtZSA9IHJvd1sncmVmbmFtZSddCisgICAgICAgICAgICBpZiByZWZfbmFtZSBpcyBOb25l OgorICAgICAgICAgICAgICAgIGNvbnRpbnVlCisKKyAgICAgICAgICAgIGRlcF90eXBlID0gJycK KyAgICAgICAgICAgIGRlcF9zdHIgPSByb3dbJ2RlcHR5cGUnXQorICAgICAgICAgICAgaWYgZGVw X3N0ciA9PSAnYSc6CisgICAgICAgICAgICAgICAgZGVwX3R5cGUgPSAnYXV0bycKKyAgICAgICAg ICAgIGVsaWYgZGVwX3N0ciA9PSAnbic6CisgICAgICAgICAgICAgICAgZGVwX3R5cGUgPSAnbm9y bWFsJworICAgICAgICAgICAgZWxpZiBkZXBfc3RyID09ICdpJzoKKyAgICAgICAgICAgICAgICBk ZXBfdHlwZSA9ICdpbnRlcm5hbCcKKworICAgICAgICAgICAgZGVwZW5kZW5jaWVzX3Jlc3VsdC5h cHBlbmQoeyd0eXBlJzogJ2NvbHVtbicsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJ25hbWUnOiByZWZfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAnZmllbGQnOiBkZXBfdHlwZX0pCisgICAgICAgIHJldHVybiBkZXBlbmRlbmNp ZXNfcmVzdWx0CisKKyAgICBAY2hlY2tfcHJlY29uZGl0aW9uKGFjdGlvbj0ic3RhdHMiKQorICAg IGRlZiBzdGF0aXN0aWNzKHNlbGYsIGdpZCwgc2lkLCBkaWQsIHNjaWQsIGZvb2lkPU5vbmUpOgor ICAgICAgICAiIiIKKyAgICAgICAgU3RhdGlzdGljcworCisgICAgICAgIEFyZ3M6CisgICAgICAg ICAgICBnaWQ6IFNlcnZlciBHcm91cCBJZAorICAgICAgICAgICAgc2lkOiBTZXJ2ZXIgSWQKKyAg ICAgICAgICAgIGRpZDogRGF0YWJhc2UgSWQKKyAgICAgICAgICAgIHNjaWQ6IFNjaGVtYSBJZAor ICAgICAgICAgICAgZm9vaWQ6IFNlcXVlbmNlIElkCisKKyAgICAgICAgUmV0dXJucyB0aGUgc3Rh dGlzdGljcyBmb3IgYSBwYXJ0aWN1bGFyIG9iamVjdCBpZiBmb29pZCBpcyBzcGVjaWZpZWQKKyAg ICAgICAgIiIiCisgICAgICAgIGlmIGZvb2lkIGlzIG5vdCBOb25lOgorICAgICAgICAgICAgc3Fs ID0gJ3N0YXRzLnNxbCcKKyAgICAgICAgICAgIHNjaGVtYV9uYW1lID0gTm9uZQorICAgICAgICBl bHNlOgorICAgICAgICAgICAgc3FsID0gJ2NvbGxfc3RhdHMuc3FsJworICAgICAgICAgICAgIyBH ZXQgc2NoZW1hIG5hbWUKKyAgICAgICAgICAgIHN0YXR1cywgc2NoZW1hX25hbWUgPSBzZWxmLmNv bm4uZXhlY3V0ZV9zY2FsYXIoCisgICAgICAgICAgICAgICAgcmVuZGVyX3RlbXBsYXRlKAorICAg ICAgICAgICAgICAgICAgICAnc2NoZW1hcy9wZy8jezB9Iy9zcWwvZ2V0X25hbWUuc3FsJy5mb3Jt YXQoCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLm1hbmFnZXIudmVyc2lvbgorICAgICAg ICAgICAgICAgICAgICApLAorICAgICAgICAgICAgICAgICAgICBzY2lkPXNjaWQKKyAgICAgICAg ICAgICAgICApCisgICAgICAgICAgICApCisgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAg ICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9c2NoZW1h X25hbWUpCisKKyAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0ZV9kaWN0KAor ICAgICAgICAgICAgcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgICAgICIvIi5qb2luKFtz ZWxmLnRlbXBsYXRlX3BhdGgsIHNxbF0pLAorICAgICAgICAgICAgICAgIGNvbm49c2VsZi5jb25u LCBmb29pZD1mb29pZCwKKyAgICAgICAgICAgICAgICBzY2hlbWFfbmFtZT1zY2hlbWFfbmFtZQor ICAgICAgICAgICAgKQorICAgICAgICApCisKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAgICAg ICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisgICAg ICAgIHJldHVybiBtYWtlX2pzb25fcmVzcG9uc2UoCisgICAgICAgICAgICBkYXRhPXJlcywKKyAg ICAgICAgICAgIHN0YXR1cz0yMDAKKyAgICAgICAgKQorCisgICAgQGNoZWNrX3ByZWNvbmRpdGlv bihhY3Rpb249ImZldGNoX29iamVjdHNfdG9fY29tcGFyZSIpCisgICAgZGVmIGZldGNoX29iamVj dHNfdG9fY29tcGFyZShzZWxmLCBzaWQsIGRpZCwgc2NpZCk6CisgICAgICAgICIiIgorICAgICAg ICBUaGlzIGZ1bmN0aW9uIHdpbGwgZmV0Y2ggdGhlIGxpc3Qgb2YgYWxsIHRoZSBzZXF1ZW5jZXMg Zm9yCisgICAgICAgIHNwZWNpZmllZCBzY2hlbWEgaWQuCisKKyAgICAgICAgOnBhcmFtIHNpZDog U2VydmVyIElkCisgICAgICAgIDpwYXJhbSBkaWQ6IERhdGFiYXNlIElkCisgICAgICAgIDpwYXJh bSBzY2lkOiBTY2hlbWEgSWQKKyAgICAgICAgOnJldHVybjoKKyAgICAgICAgIiIiCisgICAgICAg IHJlcyA9IGRpY3QoKQorICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3Nl bGYudGVtcGxhdGVfcGF0aCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLl9OT0RFU19TUUxdKSwgc2NpZD1zY2lkKQorICAgICAgICBzdGF0dXMsIHJzZXQgPSBz ZWxmLmNvbm4uZXhlY3V0ZV8yZGFycmF5KHNxbCkKKyAgICAgICAgaWYgbm90IHN0YXR1czoKKyAg ICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisg ICAgICAgIGZvciByb3cgaW4gcnNldFsncm93cyddOgorICAgICAgICAgICAgc3RhdHVzLCBkYXRh ID0gc2VsZi5fZmV0Y2hfcHJvcGVydGllcyhzY2lkLCByb3dbJ29pZCddKQorICAgICAgICAgICAg aWYgc3RhdHVzOgorICAgICAgICAgICAgICAgIHJlc1tyb3dbJ25hbWUnXV0gPSBkYXRhCisKKyAg ICAgICAgcmV0dXJuIHJlcworCisgICAgZGVmIGdldF9zcWxfZnJvbV9kaWZmKHNlbGYsICoqa3dh cmdzKToKKyAgICAgICAgIiIiCisgICAgICAgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCB0byBnZXQg dGhlIERETC9ETUwgc3RhdGVtZW50cy4KKyAgICAgICAgOnBhcmFtIGt3YXJncworICAgICAgICA6 cmV0dXJuOgorICAgICAgICAiIiIKKyAgICAgICAgZ2lkID0ga3dhcmdzLmdldCgnZ2lkJykKKyAg ICAgICAgc2lkID0ga3dhcmdzLmdldCgnc2lkJykKKyAgICAgICAgZGlkID0ga3dhcmdzLmdldCgn ZGlkJykKKyAgICAgICAgc2NpZCA9IGt3YXJncy5nZXQoJ3NjaWQnKQorICAgICAgICBvaWQgPSBr d2FyZ3MuZ2V0KCdvaWQnKQorICAgICAgICBkYXRhID0ga3dhcmdzLmdldCgnZGF0YScsIE5vbmUp CisgICAgICAgIGRyb3Bfc3FsID0ga3dhcmdzLmdldCgnZHJvcF9zcWwnLCBGYWxzZSkKKworICAg ICAgICBpZiBkYXRhOgorICAgICAgICAgICAgc3FsLCBuYW1lID0gc2VsZi5nZXRfU1FMKGdpZCwg c2lkLCBkaWQsIGRhdGEsIHNjaWQsIG9pZCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlm IGRyb3Bfc3FsOgorICAgICAgICAgICAgICAgIHNxbCA9IHNlbGYuZGVsZXRlKGdpZD1naWQsIHNp ZD1zaWQsIGRpZD1kaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NpZD1z Y2lkLCBmb29pZD1vaWQsIG9ubHlfc3FsPVRydWUpCisgICAgICAgICAgICBlbHNlOgorICAgICAg ICAgICAgICAgIHNxbCA9IHNlbGYuc3FsKGdpZD1naWQsIHNpZD1zaWQsIGRpZD1kaWQsIHNjaWQ9 c2NpZCwgZm9vaWQ9b2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGpzb25fcmVz cD1GYWxzZSkKKyAgICAgICAgcmV0dXJuIHNxbAorCisKK1NjaGVtYURpZmZSZWdpc3RyeShibHVl cHJpbnQubm9kZV90eXBlLCBGb29WaWV3KQorRm9vVmlldy5yZWdpc3Rlcl9ub2RlX3ZpZXcoYmx1 ZXByaW50KQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy9zdGF0aWMvaW1nL2NvbGwtZm9vLnN2ZyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Zvb3Mvc3RhdGljL2ltZy9jb2xsLWZvby5zdmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi45YmUxMjQ3MWQKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3N0YXRpYy9p bWcvY29sbC1mb28uc3ZnCkBAIC0wLDAgKzEgQEAKKzxzdmcgeG1sbnM9Imh0dHA6Ly93d3cudzMu b3JnLzIwMDAvc3ZnIiB2aWV3Qm94PSIwIDAgMTYgMTYiPjxkZWZzPjxzdHlsZT4uY2xzLTF7Zm9u dC1zaXplOjhweDtmaWxsOiM3NzQ5YmQ7Zm9udC1mYW1pbHk6SGVsdmV0aWNhLUJvbGQsIEhlbHZl dGljYTtmb250LXdlaWdodDo3MDA7fTwvc3R5bGU+PC9kZWZzPjx0aXRsZT5jb2xsLXNlcXVlbmNl PC90aXRsZT48ZyBpZD0iXzIiIGRhdGEtbmFtZT0iMiI+PHRleHQgY2xhc3M9ImNscy0xIiB0cmFu c2Zvcm09InRyYW5zbGF0ZSgxLjQgMTAuNzkpIj4xPC90ZXh0Pjx0ZXh0IGNsYXNzPSJjbHMtMSIg dHJhbnNmb3JtPSJ0cmFuc2xhdGUoOS44NyAxMC43OSkiPjM8L3RleHQ+PHRleHQgY2xhc3M9ImNs cy0xIiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg1LjIzIDEwLjc5KSI+Li48L3RleHQ+PC9nPjwvc3Zn PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3Mvc3RhdGlj L2ltZy9mb28uc3ZnIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy9zdGF0aWMvaW1nL2Zvby5zdmcKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi41MDcyYTFjYTgKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9m b29zL3N0YXRpYy9pbWcvZm9vLnN2ZwpAQCAtMCwwICsxIEBACis8c3ZnIHhtbG5zPSJodHRwOi8v d3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDE2IDE2Ij48ZGVmcz48c3R5bGU+LmNs cy0xe2ZvbnQtc2l6ZTo4cHg7ZmlsbDojNzc0OWJkO2ZvbnQtZmFtaWx5OkhlbHZldGljYS1Cb2xk LCBIZWx2ZXRpY2E7Zm9udC13ZWlnaHQ6NzAwO308L3N0eWxlPjwvZGVmcz48dGl0bGU+c2VxdWVu Y2U8L3RpdGxlPjxnIGlkPSJfMiIgZGF0YS1uYW1lPSIyIj48dGV4dCBjbGFzcz0iY2xzLTEiIHRy YW5zZm9ybT0idHJhbnNsYXRlKDEuNCAxMC44MykiPjE8L3RleHQ+PHRleHQgY2xhc3M9ImNscy0x IiB0cmFuc2Zvcm09InRyYW5zbGF0ZSg5Ljg3IDEwLjgzKSI+MzwvdGV4dD48dGV4dCBjbGFzcz0i Y2xzLTEiIHRyYW5zZm9ybT0idHJhbnNsYXRlKDUuMjMgMTAuODMpIj4uLjwvdGV4dD48L2c+PC9z dmc+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy9zdGF0 aWMvanMvZm9vLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy9zdGF0aWMvanMvZm9vLmpzCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMC4uMTYyYTM0NDMzCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9v cy9zdGF0aWMvanMvZm9vLmpzCkBAIC0wLDAgKzEsMjk5IEBACisvLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisvLworLy8gcGdBZG1p biA0IC0gUG9zdGdyZVNRTCBUb29scworLy8KKy8vIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAs IFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKy8vIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFz ZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorLy8KKy8vLy8vLy8vLy8vLy8vLy8vLy8v Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vCisKK2RlZmluZSgncGdh ZG1pbi5ub2RlLmZvbycsIFsKKyAgJ3NvdXJjZXMvZ2V0dGV4dCcsICdzb3VyY2VzL3VybF9mb3In LCAnanF1ZXJ5JywgJ3VuZGVyc2NvcmUnLAorICAnc291cmNlcy9wZ2FkbWluJywgJ3BnYWRtaW4u YnJvd3NlcicsICdwZ2FkbWluLmJhY2tmb3JtJywKKyAgJ3BnYWRtaW4ubm9kZS5zY2hlbWEuZGly L2NoaWxkJywgJ3BnYWRtaW4ubm9kZS5zY2hlbWEuZGlyL3NjaGVtYV9jaGlsZF90cmVlX25vZGUn LAorICAncGdhZG1pbi5icm93c2VyLmNvbGxlY3Rpb24nLAorXSwgZnVuY3Rpb24oCisgIGdldHRl eHQsIHVybF9mb3IsICQsIF8sIHBnQWRtaW4sIHBnQnJvd3NlciwgQmFja2Zvcm0sIHNjaGVtYUNo aWxkLAorICBzY2hlbWFDaGlsZFRyZWVOb2RlCispIHsKKworICAvLyBFeHRlbmQgdGhlIGJyb3dz ZXIncyBjb2xsZWN0aW9uIGNsYXNzIGZvciBmb28gY29sbGVjdGlvbgorICBpZiAoIXBnQnJvd3Nl ci5Ob2Rlc1snY29sbC1mb28nXSkgeworICAgIHBnQnJvd3Nlci5Ob2Rlc1snY29sbC1mb28nXSA9 CisgICAgICBwZ0Jyb3dzZXIuQ29sbGVjdGlvbi5leHRlbmQoeworICAgICAgICBub2RlOiAnZm9v JywKKyAgICAgICAgbGFiZWw6IGdldHRleHQoJ0Zvb3MnKSwKKyAgICAgICAgdHlwZTogJ2NvbGwt Zm9vJywKKyAgICAgICAgY29sdW1uczogWyduYW1lJywgJ3NlcW93bmVyJywgJ2NvbW1lbnQnXSwK KyAgICAgICAgaGFzU3RhdGlzdGljczogdHJ1ZSwKKyAgICAgICAgY2FuRHJvcDogc2NoZW1hQ2hp bGRUcmVlTm9kZS5pc1RyZWVJdGVtT2ZDaGlsZE9mU2NoZW1hLAorICAgICAgICBjYW5Ecm9wQ2Fz Y2FkZTogc2NoZW1hQ2hpbGRUcmVlTm9kZS5pc1RyZWVJdGVtT2ZDaGlsZE9mU2NoZW1hLAorICAg ICAgfSk7CisgIH0KKworICAvLyBFeHRlbmQgdGhlIGJyb3dzZXIncyBub2RlIGNsYXNzIGZvciBm b28gbm9kZQorICBpZiAoIXBnQnJvd3Nlci5Ob2Rlc1snZm9vJ10pIHsKKyAgICBwZ0Jyb3dzZXIu Tm9kZXNbJ2ZvbyddID0gc2NoZW1hQ2hpbGQuU2NoZW1hQ2hpbGROb2RlLmV4dGVuZCh7CisgICAg ICB0eXBlOiAnZm9vJywKKyAgICAgIHNxbEFsdGVySGVscDogJ3NxbC1hbHRlcmZvby5odG1sJywK KyAgICAgIHNxbENyZWF0ZUhlbHA6ICdzcWwtY3JlYXRlZm9vLmh0bWwnLAorICAgICAgZGlhbG9n SGVscDogdXJsX2ZvcignaGVscC5zdGF0aWMnLCB7J2ZpbGVuYW1lJzogJ2Zvb19kaWFsb2cuaHRt bCd9KSwKKyAgICAgIGxhYmVsOiBnZXR0ZXh0KCdGb28nKSwKKyAgICAgIGNvbGxlY3Rpb25fdHlw ZTogJ2NvbGwtZm9vJywKKyAgICAgIGhhc1NRTDogdHJ1ZSwKKyAgICAgIGhhc0RlcGVuZHM6IHRy dWUsCisgICAgICBoYXNTdGF0aXN0aWNzOiB0cnVlLAorICAgICAgSW5pdDogZnVuY3Rpb24oKSB7 CisgICAgICAgIC8qIEF2b2lkIG11bGl0cGxlIHJlZ2lzdHJhdGlvbiBvZiBtZW51cyAqLworICAg ICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkKKyAgICAgICAgICByZXR1cm47CisKKyAgICAgICAg dGhpcy5pbml0aWFsaXplZCA9IHRydWU7CisKKyAgICAgICAgcGdCcm93c2VyLmFkZF9tZW51cyhb eworICAgICAgICAgIG5hbWU6ICdjcmVhdGVfZm9vX29uX2NvbGwnLCBub2RlOiAnY29sbC1mb28n LCBtb2R1bGU6IHRoaXMsCisgICAgICAgICAgYXBwbGllczogWydvYmplY3QnLCAnY29udGV4dCdd LCBjYWxsYmFjazogJ3Nob3dfb2JqX3Byb3BlcnRpZXMnLAorICAgICAgICAgIGNhdGVnb3J5OiAn Y3JlYXRlJywgcHJpb3JpdHk6IDQsIGxhYmVsOiBnZXR0ZXh0KCdGb28uLi4nKSwKKyAgICAgICAg ICBpY29uOiAnd2NUYWJJY29uIGljb24tZm9vJywgZGF0YToge2FjdGlvbjogJ2NyZWF0ZScsIGNo ZWNrOiB0cnVlfSwKKyAgICAgICAgICBlbmFibGU6ICdjYW5DcmVhdGUnLAorICAgICAgICB9LHsK KyAgICAgICAgICBuYW1lOiAnY3JlYXRlX2ZvbycsIG5vZGU6ICdmb28nLCBtb2R1bGU6IHRoaXMs CisgICAgICAgICAgYXBwbGllczogWydvYmplY3QnLCAnY29udGV4dCddLCBjYWxsYmFjazogJ3No b3dfb2JqX3Byb3BlcnRpZXMnLAorICAgICAgICAgIGNhdGVnb3J5OiAnY3JlYXRlJywgcHJpb3Jp dHk6IDQsIGxhYmVsOiBnZXR0ZXh0KCdGb28uLi4nKSwKKyAgICAgICAgICBpY29uOiAnd2NUYWJJ Y29uIGljb24tZm9vJywgZGF0YToge2FjdGlvbjogJ2NyZWF0ZScsIGNoZWNrOiB0cnVlfSwKKyAg ICAgICAgICBlbmFibGU6ICdjYW5DcmVhdGUnLAorICAgICAgICB9LHsKKyAgICAgICAgICBuYW1l OiAnY3JlYXRlX2ZvbycsIG5vZGU6ICdzY2hlbWEnLCBtb2R1bGU6IHRoaXMsCisgICAgICAgICAg YXBwbGllczogWydvYmplY3QnLCAnY29udGV4dCddLCBjYWxsYmFjazogJ3Nob3dfb2JqX3Byb3Bl cnRpZXMnLAorICAgICAgICAgIGNhdGVnb3J5OiAnY3JlYXRlJywgcHJpb3JpdHk6IDQsIGxhYmVs OiBnZXR0ZXh0KCdGb28uLi4nKSwKKyAgICAgICAgICBpY29uOiAnd2NUYWJJY29uIGljb24tZm9v JywgZGF0YToge2FjdGlvbjogJ2NyZWF0ZScsIGNoZWNrOiBmYWxzZX0sCisgICAgICAgICAgZW5h YmxlOiAnY2FuQ3JlYXRlJywKKyAgICAgICAgfSwKKyAgICAgICAgXSk7CisKKyAgICAgIH0sCisg ICAgICAvLyBEZWZpbmUgdGhlIG1vZGVsIGZvciBmb28gbm9kZS4KKyAgICAgIG1vZGVsOiBwZ0Jy b3dzZXIuTm9kZS5Nb2RlbC5leHRlbmQoeworICAgICAgICBpZEF0dHJpYnV0ZTogJ29pZCcsCisg ICAgICAgIGRlZmF1bHRzOiB7CisgICAgICAgICAgbmFtZTogdW5kZWZpbmVkLAorICAgICAgICAg IG9pZDogdW5kZWZpbmVkLAorICAgICAgICAgIHNlcW93bmVyOiB1bmRlZmluZWQsCisgICAgICAg ICAgc2NoZW1hOiB1bmRlZmluZWQsCisgICAgICAgICAgaXNfc3lzX29iajogdW5kZWZpbmVkLAor ICAgICAgICAgIGNvbW1lbnQ6IHVuZGVmaW5lZCwKKyAgICAgICAgICBpbmNyZW1lbnQ6IHVuZGVm aW5lZCwKKyAgICAgICAgICBzdGFydDogdW5kZWZpbmVkLAorICAgICAgICAgIGN1cnJlbnRfdmFs dWU6IHVuZGVmaW5lZCwKKyAgICAgICAgICBtaW5pbXVtOiB1bmRlZmluZWQsCisgICAgICAgICAg bWF4aW11bTogdW5kZWZpbmVkLAorICAgICAgICAgIGNhY2hlOiB1bmRlZmluZWQsCisgICAgICAg ICAgY3ljbGVkOiB1bmRlZmluZWQsCisgICAgICAgICAgcmVsYWNsOiBbXSwKKyAgICAgICAgICBz ZWN1cml0aWVzOiBbXSwKKyAgICAgICAgfSwKKworICAgICAgICAvLyBEZWZhdWx0IHZhbHVlcyEK KyAgICAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oYXR0cnMsIGFyZ3MpIHsKKyAgICAgICAgICB2 YXIgaXNOZXcgPSAoXy5zaXplKGF0dHJzKSA9PT0gMCk7CisKKyAgICAgICAgICBpZiAoaXNOZXcp IHsKKyAgICAgICAgICAgIHZhciB1c2VySW5mbyA9IHBnQnJvd3Nlci5zZXJ2ZXJJbmZvW2FyZ3Mu bm9kZV9pbmZvLnNlcnZlci5faWRdLnVzZXI7CisgICAgICAgICAgICB2YXIgc2NoZW1hSW5mbyA9 IGFyZ3Mubm9kZV9pbmZvLnNjaGVtYTsKKworICAgICAgICAgICAgdGhpcy5zZXQoeydzZXFvd25l cic6IHVzZXJJbmZvLm5hbWV9LCB7c2lsZW50OiB0cnVlfSk7CisgICAgICAgICAgICB0aGlzLnNl dCh7J3NjaGVtYSc6IHNjaGVtYUluZm8uX2xhYmVsfSwge3NpbGVudDogdHJ1ZX0pOworICAgICAg ICAgIH0KKyAgICAgICAgICBwZ0Jyb3dzZXIuTm9kZS5Nb2RlbC5wcm90b3R5cGUuaW5pdGlhbGl6 ZS5hcHBseSh0aGlzLCBhcmd1bWVudHMpOworICAgICAgICB9LAorCisgICAgICAgIC8vIERlZmlu ZSB0aGUgc2NoZW1hIGZvciBmb28gbm9kZS4KKyAgICAgICAgc2NoZW1hOiBbeworICAgICAgICAg IGlkOiAnbmFtZScsIGxhYmVsOiBnZXR0ZXh0KCdOYW1lJyksIGNlbGw6ICdzdHJpbmcnLAorICAg ICAgICAgIHR5cGU6ICd0ZXh0JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0 J10sCisgICAgICAgIH0seworICAgICAgICAgIGlkOiAnb2lkJywgbGFiZWw6IGdldHRleHQoJ09J RCcpLCBjZWxsOiAnc3RyaW5nJywKKyAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsncHJv cGVydGllcyddLAorICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ3NlcW93bmVyJywgbGFiZWw6 IGdldHRleHQoJ093bmVyJyksIGNlbGw6ICdzdHJpbmcnLAorICAgICAgICAgIHR5cGU6ICd0ZXh0 JywgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sIG5vZGU6ICdyb2xlJywK KyAgICAgICAgICBjb250cm9sOiBCYWNrZm9ybS5Ob2RlTGlzdEJ5TmFtZUNvbnRyb2wsCisgICAg ICAgIH0seworICAgICAgICAgIGlkOiAnc2NoZW1hJywgbGFiZWw6IGdldHRleHQoJ1NjaGVtYScp LCBjZWxsOiAnc3RyaW5nJywKKyAgICAgICAgICBjb250cm9sOiAnbm9kZS1saXN0LWJ5LW5hbWUn LCBub2RlOiAnc2NoZW1hJywKKyAgICAgICAgICB0eXBlOiAndGV4dCcsIG1vZGU6IFsnY3JlYXRl JywgJ2VkaXQnXSwgZmlsdGVyOiBmdW5jdGlvbihkKSB7CisgICAgICAgICAgICAvLyBJZiBzY2hl bWEgbmFtZSBzdGFydCB3aXRoIHBnXyogdGhlbiB3ZSBuZWVkIHRvIGV4Y2x1ZGUgdGhlbQorICAg ICAgICAgICAgaWYoZCAmJiBkLmxhYmVsLm1hdGNoKC9ecGdfLykpCisgICAgICAgICAgICB7Cisg ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIHJl dHVybiB0cnVlOworICAgICAgICAgIH0sIGNhY2hlX25vZGU6ICdkYXRhYmFzZScsIGNhY2hlX2xl dmVsOiAnZGF0YWJhc2UnLAorICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ2lzX3N5c19vYmon LCBsYWJlbDogZ2V0dGV4dCgnU3lzdGVtIHNlcXVlbmNlPycpLAorICAgICAgICAgIGNlbGw6J2Jv b2xlYW4nLCB0eXBlOiAnc3dpdGNoJywgbW9kZTogWydwcm9wZXJ0aWVzJ10sCisgICAgICAgIH0s eworICAgICAgICAgIGlkOiAnY29tbWVudCcsIGxhYmVsOiBnZXR0ZXh0KCdDb21tZW50JyksIHR5 cGU6ICdtdWx0aWxpbmUnLAorICAgICAgICAgIG1vZGU6IFsncHJvcGVydGllcycsICdjcmVhdGUn LCAnZWRpdCddLAorICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ2N1cnJlbnRfdmFsdWUnLCBs YWJlbDogZ2V0dGV4dCgnQ3VycmVudCB2YWx1ZScpLCB0eXBlOiAnaW50JywKKyAgICAgICAgICBt b2RlOiBbJ3Byb3BlcnRpZXMnLCAnZWRpdCddLCBncm91cDogZ2V0dGV4dCgnRGVmaW5pdGlvbicp LAorICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ2luY3JlbWVudCcsIGxhYmVsOiBnZXR0ZXh0 KCdJbmNyZW1lbnQnKSwgdHlwZTogJ2ludCcsCisgICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVz JywgJ2NyZWF0ZScsICdlZGl0J10sIGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCisgICAg ICAgIH0seworICAgICAgICAgIGlkOiAnc3RhcnQnLCBsYWJlbDogZ2V0dGV4dCgnU3RhcnQnKSwg dHlwZTogJ2ludCcsCisgICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZSddLCBn cm91cDogZ2V0dGV4dCgnRGVmaW5pdGlvbicpLAorICAgICAgICAgIHJlYWRvbmx5OiBmdW5jdGlv bihtKSB7CisgICAgICAgICAgICByZXR1cm4gIW0uaXNOZXcoKTsKKyAgICAgICAgICB9LAorICAg ICAgICB9LHsKKyAgICAgICAgICBpZDogJ21pbmltdW0nLCBsYWJlbDogZ2V0dGV4dCgnTWluaW11 bScpLCB0eXBlOiAnaW50JywKKyAgICAgICAgICBtb2RlOiBbJ3Byb3BlcnRpZXMnLCAnY3JlYXRl JywgJ2VkaXQnXSwgZ3JvdXA6IGdldHRleHQoJ0RlZmluaXRpb24nKSwKKyAgICAgICAgfSx7Cisg ICAgICAgICAgaWQ6ICdtYXhpbXVtJywgbGFiZWw6IGdldHRleHQoJ01heGltdW0nKSwgdHlwZTog J2ludCcsCisgICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10s IGdyb3VwOiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCisgICAgICAgIH0seworICAgICAgICAgIGlk OiAnY2FjaGUnLCBsYWJlbDogZ2V0dGV4dCgnQ2FjaGUnKSwgdHlwZTogJ2ludCcsCisgICAgICAg ICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sIGdyb3VwOiBnZXR0ZXh0 KCdEZWZpbml0aW9uJyksCisgICAgICAgICAgbWluOiAxLAorICAgICAgICB9LHsKKyAgICAgICAg ICBpZDogJ2N5Y2xlZCcsIGxhYmVsOiBnZXR0ZXh0KCdDeWNsZWQnKSwgdHlwZTogJ3N3aXRjaCcs CisgICAgICAgICAgbW9kZTogWydwcm9wZXJ0aWVzJywgJ2NyZWF0ZScsICdlZGl0J10sIGdyb3Vw OiBnZXR0ZXh0KCdEZWZpbml0aW9uJyksCisgICAgICAgIH0sIHBnQnJvd3Nlci5TZWN1cml0eUdy b3VwU2NoZW1hLHsKKyAgICAgICAgICBpZDogJ2FjbCcsIGxhYmVsOiBnZXR0ZXh0KCdQcml2aWxl Z2VzJyksIHR5cGU6ICd0ZXh0JywKKyAgICAgICAgICBncm91cDogZ2V0dGV4dCgnU2VjdXJpdHkn KSwgbW9kZTogWydwcm9wZXJ0aWVzJ10sCisgICAgICAgIH0seworICAgICAgICAgIGlkOiAncmVs YWNsJywgbGFiZWw6IGdldHRleHQoJ1ByaXZpbGVnZXMnKSwgZ3JvdXA6ICdzZWN1cml0eScsCisg ICAgICAgICAgbW9kZWw6IHBnQnJvd3Nlci5Ob2RlLlByaXZpbGVnZVJvbGVNb2RlbC5leHRlbmQo eworICAgICAgICAgICAgcHJpdmlsZWdlczogWydyJywgJ3cnLCAnVSddLAorICAgICAgICAgIH0p LCB1bmlxdWVDb2wgOiBbJ2dyYW50ZWUnLCAnZ3JhbnRvciddLCBtb2RlOiBbJ2VkaXQnLCAnY3Jl YXRlJ10sCisgICAgICAgICAgZWRpdGFibGU6IGZhbHNlLCB0eXBlOiAnY29sbGVjdGlvbicsIGNh bkFkZDogdHJ1ZSwgY2FuRGVsZXRlOiB0cnVlLAorICAgICAgICAgIGNvbnRyb2w6ICd1bmlxdWUt Y29sLWNvbGxlY3Rpb24nLAorICAgICAgICB9LHsKKyAgICAgICAgICBpZDogJ3NlY3VyaXRpZXMn LCBsYWJlbDogZ2V0dGV4dCgnU2VjdXJpdHkgbGFiZWxzJyksIGNhbkFkZDogdHJ1ZSwKKyAgICAg ICAgICBtb2RlbDogcGdCcm93c2VyLlNlY0xhYmVsTW9kZWwsIGVkaXRhYmxlOiBmYWxzZSwKKyAg ICAgICAgICB0eXBlOiAnY29sbGVjdGlvbicsIGNhbkVkaXQ6IGZhbHNlLCBncm91cDogJ3NlY3Vy aXR5JywKKyAgICAgICAgICBtb2RlOiBbJ2VkaXQnLCAnY3JlYXRlJ10sIGNhbkRlbGV0ZTogdHJ1 ZSwKKyAgICAgICAgICBjb250cm9sOiAndW5pcXVlLWNvbC1jb2xsZWN0aW9uJywKKyAgICAgICAg ICBtaW5fdmVyc2lvbjogOTAyMDAsIHVuaXF1ZUNvbCA6IFsncHJvdmlkZXInXSwKKyAgICAgICAg fV0sCisgICAgICAgIC8qIHZhbGlkYXRlIGZ1bmN0aW9uIGlzIHVzZWQgdG8gdmFsaWRhdGUgdGhl IGlucHV0IGdpdmVuIGJ5CisgICAgICAgICAqIHRoZSB1c2VyLiBJbiBjYXNlIG9mIGVycm9yLCBt ZXNzYWdlIHdpbGwgYmUgZGlzcGxheWVkIG9uCisgICAgICAgICAqIHRoZSBHVUkgZm9yIHRoZSBy ZXNwZWN0aXZlIGNvbnRyb2wuCisgICAgICAgICAqLworICAgICAgICB2YWxpZGF0ZTogZnVuY3Rp b24oKSB7CisgICAgICAgICAgdmFyIG1zZyA9IHVuZGVmaW5lZCwKKyAgICAgICAgICAgIG1pbmlt dW0gPSB0aGlzLmdldCgnbWluaW11bScpLAorICAgICAgICAgICAgbWF4aW11bSA9IHRoaXMuZ2V0 KCdtYXhpbXVtJyksCisgICAgICAgICAgICBzdGFydCA9IHRoaXMuZ2V0KCdzdGFydCcpOworCisg ICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ25hbWUnKSkKKyAgICAgICAgICAg ICAgfHwgU3RyaW5nKHRoaXMuZ2V0KCduYW1lJykpLnJlcGxhY2UoL15ccyt8XHMrJC9nLCAnJykg PT0gJycpIHsKKyAgICAgICAgICAgIG1zZyA9IGdldHRleHQoJ05hbWUgY2Fubm90IGJlIGVtcHR5 LicpOworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnbmFtZScsIG1zZyk7CisgICAg ICAgICAgICByZXR1cm4gbXNnOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0aGlz LmVycm9yTW9kZWwudW5zZXQoJ25hbWUnKTsKKyAgICAgICAgICB9CisKKyAgICAgICAgICBpZiAo Xy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnc2Vxb3duZXInKSkKKyAgICAgICAgICAgICAgfHwgU3Ry aW5nKHRoaXMuZ2V0KCdzZXFvd25lcicpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcn KSB7CisgICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdPd25lciBjYW5ub3QgYmUgZW1wdHkuJyk7 CisgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdzZXFvd25lcicsIG1zZyk7CisgICAg ICAgICAgICByZXR1cm4gbXNnOworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB0aGlz LmVycm9yTW9kZWwudW5zZXQoJ3NlcW93bmVyJyk7CisgICAgICAgICAgfQorCisgICAgICAgICAg aWYgKF8uaXNVbmRlZmluZWQodGhpcy5nZXQoJ3NjaGVtYScpKQorICAgICAgICAgICAgICB8fCBT dHJpbmcodGhpcy5nZXQoJ3NjaGVtYScpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcn KSB7CisgICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdTY2hlbWEgY2Fubm90IGJlIGVtcHR5Licp OworICAgICAgICAgICAgdGhpcy5lcnJvck1vZGVsLnNldCgnc2NoZW1hJywgbXNnKTsKKyAgICAg ICAgICAgIHJldHVybiBtc2c7CisgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAgIHRoaXMu ZXJyb3JNb2RlbC51bnNldCgnc2NoZW1hJyk7CisgICAgICAgICAgfQorCisgICAgICAgICAgaWYg KCF0aGlzLmlzTmV3KCkpIHsKKyAgICAgICAgICAgIGlmIChfLmlzVW5kZWZpbmVkKHRoaXMuZ2V0 KCdjdXJyZW50X3ZhbHVlJykpCisgICAgICAgICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgnY3Vy cmVudF92YWx1ZScpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7CisgICAgICAg ICAgICAgIG1zZyA9IGdldHRleHQoJ0N1cnJlbnQgdmFsdWUgY2Fubm90IGJlIGVtcHR5LicpOwor ICAgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdjdXJyZW50X3ZhbHVlJywgbXNnKTsK KyAgICAgICAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg ICAgICAgIHRoaXMuZXJyb3JNb2RlbC51bnNldCgnY3VycmVudF92YWx1ZScpOworICAgICAgICAg ICAgfQorCisgICAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnaW5jcmVtZW50 JykpCisgICAgICAgICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgnaW5jcmVtZW50JykpLnJlcGxh Y2UoL15ccyt8XHMrJC9nLCAnJykgPT0gJycpIHsKKyAgICAgICAgICAgICAgbXNnID0gZ2V0dGV4 dCgnSW5jcmVtZW50IHZhbHVlIGNhbm5vdCBiZSBlbXB0eS4nKTsKKyAgICAgICAgICAgICAgdGhp cy5lcnJvck1vZGVsLnNldCgnaW5jcmVtZW50JywgbXNnKTsKKyAgICAgICAgICAgICAgcmV0dXJu IG1zZzsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHRoaXMuZXJyb3JNb2Rl bC51bnNldCgnaW5jcmVtZW50Jyk7CisgICAgICAgICAgICB9CisKKyAgICAgICAgICAgIGlmIChf LmlzVW5kZWZpbmVkKHRoaXMuZ2V0KCdtaW5pbXVtJykpCisgICAgICAgICAgICAgIHx8IFN0cmlu Zyh0aGlzLmdldCgnbWluaW11bScpKS5yZXBsYWNlKC9eXHMrfFxzKyQvZywgJycpID09ICcnKSB7 CisgICAgICAgICAgICAgIG1zZyA9IGdldHRleHQoJ01pbmltdW0gdmFsdWUgY2Fubm90IGJlIGVt cHR5LicpOworICAgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwuc2V0KCdtaW5pbXVtJywgbXNn KTsKKyAgICAgICAgICAgICAgcmV0dXJuIG1zZzsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAg ICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC51bnNldCgnbWluaW11bScpOworICAgICAgICAgICAg fQorCisgICAgICAgICAgICBpZiAoXy5pc1VuZGVmaW5lZCh0aGlzLmdldCgnbWF4aW11bScpKQor ICAgICAgICAgICAgICB8fCBTdHJpbmcodGhpcy5nZXQoJ21heGltdW0nKSkucmVwbGFjZSgvXlxz K3xccyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgICAgICBtc2cgPSBnZXR0ZXh0KCdNYXhp bXVtIHZhbHVlIGNhbm5vdCBiZSBlbXB0eS4nKTsKKyAgICAgICAgICAgICAgdGhpcy5lcnJvck1v ZGVsLnNldCgnbWF4aW11bScsIG1zZyk7CisgICAgICAgICAgICAgIHJldHVybiBtc2c7CisgICAg ICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwudW5zZXQoJ21h eGltdW0nKTsKKyAgICAgICAgICAgIH0KKworICAgICAgICAgICAgaWYgKF8uaXNVbmRlZmluZWQo dGhpcy5nZXQoJ2NhY2hlJykpCisgICAgICAgICAgICAgIHx8IFN0cmluZyh0aGlzLmdldCgnY2Fj aGUnKSkucmVwbGFjZSgvXlxzK3xccyskL2csICcnKSA9PSAnJykgeworICAgICAgICAgICAgICBt c2cgPSBnZXR0ZXh0KCdDYWNoZSB2YWx1ZSBjYW5ub3QgYmUgZW1wdHkuJyk7CisgICAgICAgICAg ICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ2NhY2hlJywgbXNnKTsKKyAgICAgICAgICAgICAgcmV0 dXJuIG1zZzsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHRoaXMuZXJyb3JN b2RlbC51bnNldCgnY2FjaGUnKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICB9CisgICAgICAg ICAgdmFyIG1pbl9sdCA9IGdldHRleHQoJ01pbmltdW0gdmFsdWUgbXVzdCBiZSBsZXNzIHRoYW4g bWF4aW11bSB2YWx1ZS4nKSwKKyAgICAgICAgICAgIHN0YXJ0X2x0ID0gZ2V0dGV4dCgnU3RhcnQg dmFsdWUgY2Fubm90IGJlIGxlc3MgdGhhbiBtaW5pbXVtIHZhbHVlLicpLAorICAgICAgICAgICAg c3RhcnRfZ3QgPSBnZXR0ZXh0KCdTdGFydCB2YWx1ZSBjYW5ub3QgYmUgZ3JlYXRlciB0aGFuIG1h eGltdW0gdmFsdWUuJyk7CisKKyAgICAgICAgICBpZiAoXy5pc0VtcHR5KG1pbmltdW0pIHx8IF8u aXNFbXB0eShtYXhpbXVtKSkKKyAgICAgICAgICAgIHJldHVybiBudWxsOworCisgICAgICAgICAg aWYgKChtaW5pbXVtID09IDAgJiYgbWF4aW11bSA9PSAwKSB8fAorICAgICAgICAgICAgICAocGFy c2VJbnQobWluaW11bSwgMTApID49IHBhcnNlSW50KG1heGltdW0sIDEwKSkpIHsKKyAgICAgICAg ICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ21pbmltdW0nLCBtaW5fbHQpOworICAgICAgICAgICAg cmV0dXJuIG1pbl9sdDsKKyAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgdGhpcy5lcnJv ck1vZGVsLnVuc2V0KCdtaW5pbXVtJyk7CisgICAgICAgICAgfQorCisgICAgICAgICAgaWYgKHN0 YXJ0ICYmIG1pbmltdW0gJiYgcGFyc2VJbnQoc3RhcnQpIDwgcGFyc2VJbnQobWluaW11bSkpIHsK KyAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3N0YXJ0Jywgc3RhcnRfbHQpOworICAg ICAgICAgICAgcmV0dXJuIHN0YXJ0X2x0OworICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAg ICB0aGlzLmVycm9yTW9kZWwudW5zZXQoJ3N0YXJ0Jyk7CisgICAgICAgICAgfQorCisgICAgICAg ICAgaWYgKHN0YXJ0ICYmIG1heGltdW0gJiYgcGFyc2VJbnQoc3RhcnQpID4gcGFyc2VJbnQobWF4 aW11bSkpIHsKKyAgICAgICAgICAgIHRoaXMuZXJyb3JNb2RlbC5zZXQoJ3N0YXJ0Jywgc3RhcnRf Z3QpOworICAgICAgICAgICAgcmV0dXJuIHN0YXJ0X2d0OworICAgICAgICAgIH0gZWxzZSB7Cisg ICAgICAgICAgICB0aGlzLmVycm9yTW9kZWwudW5zZXQoJ3N0YXJ0Jyk7CisgICAgICAgICAgfQor ICAgICAgICAgIHJldHVybiBudWxsOworICAgICAgICB9LAorICAgICAgfSksCisgICAgfSk7Cisg IH0KKworICByZXR1cm4gcGdCcm93c2VyLk5vZGVzWydmb28nXTsKK30pOwpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvMTBfcGx1cy9nZXRfZGVmLnNxbCBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3Mv dGVtcGxhdGVzL2Zvb3Mvc3FsLzEwX3BsdXMvZ2V0X2RlZi5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi45MWNhMTM1ZDEKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29z L3RlbXBsYXRlcy9mb29zL3NxbC8xMF9wbHVzL2dldF9kZWYuc3FsCkBAIC0wLDAgKzEsMTEgQEAK K1NFTEVDVAorICAgIGxhc3RfdmFsdWUsCisgICAgc2VxbWluIEFTIG1pbl92YWx1ZSwKKyAgICBz ZXFtYXggQVMgbWF4X3ZhbHVlLAorICAgIHNlcXN0YXJ0IEFTIHN0YXJ0X3ZhbHVlLAorICAgIHNl cWNhY2hlIEFTIGNhY2hlX3ZhbHVlLAorICAgIHNlcWN5Y2xlIEFTIGlzX2N5Y2xlZCwKKyAgICBz ZXFpbmNyZW1lbnQgQVMgaW5jcmVtZW50X2J5LAorICAgIGlzX2NhbGxlZAorRlJPTSBwZ19zZXF1 ZW5jZSwge3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1hKSB9fS57eyBjb25ufHF0SWRlbnQoZGF0 YS5uYW1lKSB9fQorV0hFUkUgc2VxcmVsaWQgPSB7e2RhdGEub2lkfX0KZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Zvb3MvdGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvYWNsLnNxbCBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxh dGVzL2Zvb3Mvc3FsL2RlZmF1bHQvYWNsLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLmU5NGY5M2IwZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVz L2Zvb3Mvc3FsL2RlZmF1bHQvYWNsLnNxbApAQCAtMCwwICsxLDMwIEBACitTRUxFQ1QgJ3JlbGFj bCcgYXMgZGVmdHlwZSwgQ09BTEVTQ0UoZ3Qucm9sbmFtZSwgJ1BVQkxJQycpIGdyYW50ZWUsIGcu cm9sbmFtZSBncmFudG9yLCBhcnJheV9hZ2cocHJpdmlsZWdlX3R5cGUpIGFzIHByaXZpbGVnZXMs IGFycmF5X2FnZyhpc19ncmFudGFibGUpIGFzIGdyYW50YWJsZQorRlJPTQorICAgIChTRUxFQ1QK KyAgICAgICAgZC5ncmFudGVlLCBkLmdyYW50b3IsIGQuaXNfZ3JhbnRhYmxlLAorICAgICAgICBD QVNFIGQucHJpdmlsZWdlX3R5cGUKKyAgICAgICAgV0hFTiAnQ09OTkVDVCcgVEhFTiAnYycKKyAg ICAgICAgV0hFTiAnQ1JFQVRFJyBUSEVOICdDJworICAgICAgICBXSEVOICdERUxFVEUnIFRIRU4g J2QnCisgICAgICAgIFdIRU4gJ0VYRUNVVEUnIFRIRU4gJ1gnCisgICAgICAgIFdIRU4gJ0lOU0VS VCcgVEhFTiAnYScKKyAgICAgICAgV0hFTiAnUkVGRVJFTkNFUycgVEhFTiAneCcKKyAgICAgICAg V0hFTiAnU0VMRUNUJyBUSEVOICdyJworICAgICAgICBXSEVOICdURU1QT1JBUlknIFRIRU4gJ1Qn CisgICAgICAgIFdIRU4gJ1RSSUdHRVInIFRIRU4gJ3QnCisgICAgICAgIFdIRU4gJ1RSVU5DQVRF JyBUSEVOICdEJworICAgICAgICBXSEVOICdVUERBVEUnIFRIRU4gJ3cnCisgICAgICAgIFdIRU4g J1VTQUdFJyBUSEVOICdVJworICAgICAgICBFTFNFICdVTktOT1dOJworICAgICAgICBFTkQgQVMg cHJpdmlsZWdlX3R5cGUKKyAgICBGUk9NCisgICAgICAgIGFjbGV4cGxvZGUoKFNFTEVDVCByZWxh Y2wKKyAgICAgICAgICAgIEZST00gcGdfY2xhc3MgY2wKKyAgICAgICAgICAgIExFRlQgT1VURVIg Sk9JTiBwZ19kZXNjcmlwdGlvbiBkZXMgT04gKGRlcy5vYmpvaWQ9Y2wub2lkIEFORCBkZXMuY2xh c3NvaWQ9J3BnX2NsYXNzJzo6cmVnY2xhc3MpCisgICAgICAgICAgICBXSEVSRSByZWxraW5kID0g J1MnIEFORCByZWxuYW1lc3BhY2UgID0ge3tzY2lkfX06Om9pZAorICAgICAgICAgICAgQU5EIGNs Lm9pZCA9IHt7Zm9vaWR9fTo6b2lkICkpIGQKKyAgICAgICAgKSBkCisgICAgTEVGVCBKT0lOIHBn X2NhdGFsb2cucGdfcm9sZXMgZyBPTiAoZC5ncmFudG9yID0gZy5vaWQpCisgICAgTEVGVCBKT0lO IHBnX2NhdGFsb2cucGdfcm9sZXMgZ3QgT04gKGQuZ3JhbnRlZSA9IGd0Lm9pZCkKK0dST1VQIEJZ IGcucm9sbmFtZSwgZ3Qucm9sbmFtZQorT1JERVIgQlkgZ3JhbnRlZQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv Zm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9iYWNrZW5kX3N1cHBvcnQuc3FsIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv Zm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9iYWNrZW5kX3N1cHBvcnQuc3FsCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uMWM4YTgzMjEzCi0tLSAvZGV2L251bGwK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9iYWNrZW5kX3N1cHBvcnQu c3FsCkBAIC0wLDAgKzEsMTUgQEAKK1NFTEVDVAorICAgIENBU0UgV0hFTiBuc3AubnNwbmFtZSBJ TiAoJ3N5cycsICdkYm8nLCAnaW5mb3JtYXRpb25fc2NoZW1hJykgVEhFTiB0cnVlIEVMU0UgZmFs c2UgRU5EIEFTIGRiU3VwcG9ydAorRlJPTSBwZ19uYW1lc3BhY2UgbnNwCitXSEVSRSBuc3Aub2lk PXt7c2NpZH19OjpvaWQgQU5EICgKKyAgICAobnNwbmFtZSA9ICdwZ19jYXRhbG9nJyBBTkQgRVhJ U1RTCisgICAgICAgIChTRUxFQ1QgMSBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5hbWUgPSAncGdf Y2xhc3MnIEFORCByZWxuYW1lc3BhY2UgPSBuc3Aub2lkIExJTUlUIDEpKQorICAgIE9SIChuc3Bu YW1lID0gJ3BnYWdlbnQnIEFORCBFWElTVFMKKwkoU0VMRUNUIDEgRlJPTSBwZ19jbGFzcyBXSEVS RSByZWxuYW1lID0gJ3BnYV9qb2InIEFORCByZWxuYW1lc3BhY2UgPSBuc3Aub2lkIExJTUlUIDEp KQorICAgIE9SIChuc3BuYW1lID0gJ2luZm9ybWF0aW9uX3NjaGVtYScgQU5EIEVYSVNUUworCShT RUxFQ1QgMSBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5hbWUgPSAndGFibGVzJyBBTkQgcmVsbmFt ZXNwYWNlID0gbnNwLm9pZCBMSU1JVCAxKSkKKyAgICBPUiAobnNwbmFtZSBMSUtFICdfJScgQU5E IEVYSVNUUworCSAoU0VMRUNUIDEgRlJPTSBwZ19wcm9jIFdIRVJFIHByb25hbWU9J3Nsb255dmVy c2lvbicgQU5EIHByb25hbWVzcGFjZSA9IG5zcC5vaWQgTElNSVQgMSkpCisgICAgKSBBTkQKKyAg ICBuc3BuYW1lIE5PVCBMSUtFIEUncGdcXHRlbXBcXCUnIEFORAorICAgIG5zcG5hbWUgTk9UIExJ S0UgRSdwZ1xcdG9hc3RfdGVtcFxcJScKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L2NvbGxfc3RhdHMuc3Fs IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9jb2xsX3N0YXRzLnNxbApuZXcg ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjcxZDNjNzA1OQotLS0gL2Rldi9udWxs CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvY29sbF9zdGF0cy5zcWwK QEAgLTAsMCArMSw5IEBACitTRUxFQ1QKKyAgICByZWxuYW1lIEFTIHt7IGNvbm58cXRJZGVudChf KCdOYW1lJykpIH19LAorICAgIGJsa3NfcmVhZCBBUyB7eyBjb25ufHF0SWRlbnQoXygnQmxvY2tz IHJlYWQnKSkgfX0sCisgICAgYmxrc19oaXQgQVMge3sgY29ubnxxdElkZW50KF8oJ0Jsb2NrcyBo aXQnKSkgfX0KK0ZST00KKyAgICBwZ19zdGF0aW9fYWxsX3NlcXVlbmNlcworV0hFUkUKKyAgICBz Y2hlbWFuYW1lID0ge3sgc2NoZW1hX25hbWV8cXRMaXRlcmFsIH19CitPUkRFUiBCWSByZWxuYW1l OwpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxh dGVzL2Zvb3Mvc3FsL2RlZmF1bHQvY3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zvb3Mv c3FsL2RlZmF1bHQvY3JlYXRlLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw MDAuLjRhMjg4MDZhNAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zvb3Mv c3FsL2RlZmF1bHQvY3JlYXRlLnNxbApAQCAtMCwwICsxLDE2IEBACitDUkVBVEUgU0VRVUVOQ0Ug e3sgY29ubnxxdElkZW50KGRhdGEuc2NoZW1hLCBkYXRhLm5hbWUpIH19eyUgaWYgZGF0YS5pbmNy ZW1lbnQgaXMgZGVmaW5lZCBhbmQgZGF0YS5jeWNsZWQgJX0KKworICAgIENZQ0xFeyUgZW5kaWYg JX17JSBpZiBkYXRhLmluY3JlbWVudCBpcyBkZWZpbmVkICV9CisKKyAgICBJTkNSRU1FTlQge3tk YXRhLmluY3JlbWVudHxpbnR9fXslIGVuZGlmICV9eyUgaWYgZGF0YS5zdGFydCBpcyBkZWZpbmVk ICV9CisKKyAgICBTVEFSVCB7e2RhdGEuc3RhcnR8aW50fX17JSBlbGlmIGRhdGEuY3VycmVudF92 YWx1ZSBpcyBkZWZpbmVkICV9CisKKyAgICBTVEFSVCB7e2RhdGEuY3VycmVudF92YWx1ZXxpbnR9 fXslIGVuZGlmICV9eyUgaWYgZGF0YS5taW5pbXVtIGlzIGRlZmluZWQgJX0KKworICAgIE1JTlZB TFVFIHt7ZGF0YS5taW5pbXVtfGludH19eyUgZW5kaWYgJX17JSBpZiBkYXRhLm1heGltdW0gaXMg ZGVmaW5lZCAlfQorCisgICAgTUFYVkFMVUUge3tkYXRhLm1heGltdW18aW50fX17JSBlbmRpZiAl fXslIGlmIGRhdGEuY2FjaGUgaXMgZGVmaW5lZCBhbmQgZGF0YS5jYWNoZXxpbnQoLTEpID4gLTEl fQorCisgICAgQ0FDSEUge3tkYXRhLmNhY2hlfGludH19eyUgZW5kaWYgJX07CisKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvZGVsZXRlLnNxbCBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zv b3MvdGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvZGVsZXRlLnNxbApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLmVmZDIxOGVkZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zv b3MvdGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvZGVsZXRlLnNxbApAQCAtMCwwICsxIEBACitE Uk9QIFNFUVVFTkNFIHt7IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSkgfX0ue3sgY29ubnxxdElk ZW50KGRhdGEubmFtZSkgfX17JSBpZiBjYXNjYWRlJX0gQ0FTQ0FERXslIGVuZGlmICV9OwpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9nZXRfZGVmLnNxbCBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL2Zvb3MvdGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvZ2V0X2RlZi5zcWwKbmV3IGZpbGUg bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5lMGU5ZWZiYTEKLS0tIC9kZXYvbnVsbAorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mb29zL3RlbXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L2dldF9kZWYuc3FsCkBAIC0wLDAg KzEsMTAgQEAKK1NFTEVDVCAKKyAgICBsYXN0X3ZhbHVlLCAKKyAgICBtaW5fdmFsdWUsIAorICAg IG1heF92YWx1ZSwKKyAgICBzdGFydF92YWx1ZSwKKyAgICBjYWNoZV92YWx1ZSwKKyAgICBpc19j eWNsZWQsIAorICAgIGluY3JlbWVudF9ieSwKKyAgICBpc19jYWxsZWQKK0ZST00ge3sgY29ubnxx dElkZW50KGRhdGEuc2NoZW1hKSB9fS57eyBjb25ufHF0SWRlbnQoZGF0YS5uYW1lKSB9fQpcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zv b3Mvc3FsL2RlZmF1bHQvZ2V0X2RlcGVuZGVuY2llcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRlcy9m b29zL3NxbC9kZWZhdWx0L2dldF9kZXBlbmRlbmNpZXMuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwMC4uMzI1ZWU3OWVhCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90 ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9nZXRfZGVwZW5kZW5jaWVzLnNxbApAQCAtMCwwICsx LDEyIEBACitTRUxFQ1QKKyAgICBDQVNFIFdIRU4gYXR0LmF0dG5hbWUgSVMgTk9UIE5VTEwgQU5E IHJlZi5yZWxuYW1lIElTIE5PVCBOVUxMIFRIRU4gcmVmLnJlbG5hbWUgfHwgJy4nIHx8IGF0dC5h dHRuYW1lCisgICAgICAgRUxTRSByZWYucmVsbmFtZQorICAgIEVORCBBUyByZWZuYW1lLAorICAg IGQyLnJlZmNsYXNzaWQsIGQxLmRlcHR5cGUgQVMgZGVwdHlwZQorRlJPTSBwZ19kZXBlbmQgZDEK KyAgICBMRUZUIEpPSU4gcGdfZGVwZW5kIGQyIE9OIGQxLm9iamlkPWQyLm9iamlkIEFORCBkMS5y ZWZvYmppZCAhPSBkMi5yZWZvYmppZAorICAgIExFRlQgSk9JTiBwZ19jbGFzcyByZWYgT04gcmVm Lm9pZCA9IGQyLnJlZm9iamlkCisgICAgTEVGVCBKT0lOIHBnX2F0dHJpYnV0ZSBhdHQgT04gZDIu cmVmb2JqaWQ9YXR0LmF0dHJlbGlkIEFORCBkMi5yZWZvYmpzdWJpZD1hdHQuYXR0bnVtCitXSEVS RSBkMS5jbGFzc2lkPShTRUxFQ1Qgb2lkIEZST00gcGdfY2xhc3MgV0hFUkUgcmVsbmFtZT0ncGdf YXR0cmRlZicpCisgICAgQU5EIGQyLnJlZm9iamlkIE5PVCBJTiAoU0VMRUNUIGQzLnJlZm9iamlk IEZST00gcGdfZGVwZW5kIGQzIFdIRVJFIGQzLm9iamlkPWQxLnJlZm9iamlkKQorICAgIEFORCBk MS5yZWZvYmppZD17e2Zvb2lkfX06Om9pZApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0ZXMv Zm9vcy9zcWwvZGVmYXVsdC9nZXRfb2lkLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zvb3Mvc3Fs L2RlZmF1bHQvZ2V0X29pZC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li4zNDBhNjY0MTYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRlcy9mb29zL3Nx bC9kZWZhdWx0L2dldF9vaWQuc3FsCkBAIC0wLDAgKzEsNyBAQAorU0VMRUNUIGNsLm9pZCBhcyBv aWQsIHJlbG5hbWVzcGFjZQorRlJPTSBwZ19jbGFzcyBjbAorTEVGVCBPVVRFUiBKT0lOIHBnX2Rl c2NyaXB0aW9uIGRlcyBPTiAoZGVzLm9iam9pZD1jbC5vaWQgQU5EIGRlcy5jbGFzc29pZD0ncGdf Y2xhc3MnOjpyZWdjbGFzcykKK0xFRlQgT1VURVIgSk9JTiBwZ19uYW1lc3BhY2UgbnNwIE9OIChu c3Aub2lkID0gY2wucmVsbmFtZXNwYWNlKQorV0hFUkUgcmVsa2luZCA9ICdTJworQU5EIHJlbG5h bWUgPSB7eyBuYW1lfHF0TGl0ZXJhbCB9fQorQU5EIG5zcG5hbWUgPSB7eyBzY2hlbWF8cXRMaXRl cmFsIH19CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L2dy YW50LnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvZ3JhbnQuc3FsCm5l dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZDRhMzgyYzY2Ci0tLSAvZGV2L251 bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9ncmFudC5zcWwKQEAg LTAsMCArMSwyNiBAQAoreyUgaW1wb3J0ICdtYWNyb3Mvc2NoZW1hcy9zZWN1cml0eS5tYWNyb3Mn IGFzIFNFQ0xBQkVMICV9Cit7JSBpbXBvcnQgJ21hY3Jvcy9zY2hlbWFzL3ByaXZpbGVnZS5tYWNy b3MnIGFzIFBSSVZJTEVHRSAlfQoreyMgQ29uc3RydWN0IHNlcXVlbmNlIG5hbWUgZnJvbSBuYW1l IGFuZCBzY2hlbWEgI30KK3slIHNldCBzZXFuYW1lPWNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwg ZGF0YS5uYW1lKSAlfQoreyUgaWYgZGF0YS5zZXFvd25lciAlfQorCitBTFRFUiBTRVFVRU5DRSB7 eyBzZXFuYW1lIH19CisgICAgT1dORVIgVE8ge3sgY29ubnxxdElkZW50KGRhdGEuc2Vxb3duZXIp IH19OworeyUgZW5kaWYgJX0KK3slIGlmIGRhdGEuY29tbWVudCAlfQorCitDT01NRU5UIE9OIFNF UVVFTkNFIHt7IHNlcW5hbWUgfX0KKyAgICBJUyB7eyBkYXRhLmNvbW1lbnR8cXRMaXRlcmFsIH19 OworeyUgZW5kaWYgJX0KK3slIGlmIGRhdGEuc2VjdXJpdGllcyAlfQorCit7JSBmb3IgciBpbiBk YXRhLnNlY3VyaXRpZXMgJX0KK3t7IFNFQ0xBQkVMLlNFVChjb25uLCAnU0VRVUVOQ0UnLCBkYXRh Lm5hbWUsIHIucHJvdmlkZXIsIHIubGFiZWwsIGRhdGEuc2NoZW1hKSB9fQoreyUgZW5kZm9yICV9 Cit7JSBlbmRpZiAlfQoreyUgaWYgZGF0YS5yZWxhY2wgJX0KKworeyUgZm9yIHByaXYgaW4gZGF0 YS5yZWxhY2wgJX0KK3t7IFBSSVZJTEVHRS5TRVQoY29ubiwgJ1NFUVVFTkNFJywgcHJpdi5ncmFu dGVlLCBkYXRhLm5hbWUsIHByaXYud2l0aG91dF9ncmFudCwgcHJpdi53aXRoX2dyYW50LCBkYXRh LnNjaGVtYSkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zv b3MvdGVtcGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvbm9kZXMuc3FsIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0 ZXMvZm9vcy9zcWwvZGVmYXVsdC9ub2Rlcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi5mNDE4Y2ExMzMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRl cy9mb29zL3NxbC9kZWZhdWx0L25vZGVzLnNxbApAQCAtMCwwICsxLDExIEBACitTRUxFQ1QgY2wu b2lkIGFzIG9pZCwgcmVsbmFtZSBhcyBuYW1lLCByZWxuYW1lc3BhY2UgYXMgc2NoZW1hCitGUk9N IHBnX2NsYXNzIGNsCitXSEVSRQorICAgIHJlbGtpbmQgPSAnUycKK3slIGlmIHNjaWQgJX0KKyAg ICBBTkQgcmVsbmFtZXNwYWNlID0ge3tzY2lkfHF0TGl0ZXJhbH19OjpvaWQKK3slIGVuZGlmICV9 Cit7JSBpZiBmb29pZCAlfQorICAgIEFORCBjbC5vaWQgPSB7e2Zvb2lkfHF0TGl0ZXJhbH19Ojpv aWQKK3slIGVuZGlmICV9CitPUkRFUiBCWSByZWxuYW1lCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rl bXBsYXRlcy9mb29zL3NxbC9kZWZhdWx0L3Byb3BlcnRpZXMuc3FsIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0 ZXMvZm9vcy9zcWwvZGVmYXVsdC9wcm9wZXJ0aWVzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLmZmMTg2YjcxYwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVt cGxhdGVzL2Zvb3Mvc3FsL2RlZmF1bHQvcHJvcGVydGllcy5zcWwKQEAgLTAsMCArMSwxNyBAQAor eyUgaWYgc2NpZCAlfQorU0VMRUNUCisgICAgY2wub2lkIGFzIG9pZCwKKyAgICByZWxuYW1lIGFz IG5hbWUsCisgICAgbnNwLm5zcG5hbWUgYXMgc2NoZW1hLAorICAgIHBnX2dldF91c2VyYnlpZChy ZWxvd25lcikgQVMgc2Vxb3duZXIsCisgICAgZGVzY3JpcHRpb24gYXMgY29tbWVudCwKKyAgICBh cnJheV90b19zdHJpbmcocmVsYWNsOjp0ZXh0W10sICcsICcpIGFzIGFjbCwKKyAgICAoU0VMRUNU IGFycmF5X2FnZyhwcm92aWRlciB8fCAnPScgfHwgbGFiZWwpIEZST00gcGdfc2VjbGFiZWxzIHNs MSBXSEVSRSBzbDEub2Jqb2lkPWNsLm9pZCkgQVMgc2VjdXJpdGllcworRlJPTSBwZ19jbGFzcyBj bAorICAgIExFRlQgT1VURVIgSk9JTiBwZ19uYW1lc3BhY2UgbnNwIE9OIGNsLnJlbG5hbWVzcGFj ZSA9IG5zcC5vaWQKKyAgICBMRUZUIE9VVEVSIEpPSU4gcGdfZGVzY3JpcHRpb24gZGVzIE9OIChk ZXMub2Jqb2lkPWNsLm9pZAorICAgICAgICBBTkQgZGVzLmNsYXNzb2lkPSdwZ19jbGFzcyc6OnJl Z2NsYXNzKQorV0hFUkUgcmVsa2luZCA9ICdTJyBBTkQgcmVsbmFtZXNwYWNlICA9IHt7c2NpZH19 OjpvaWQKK3slIGlmIGZvb2lkICV9QU5EIGNsLm9pZCA9IHt7Zm9vaWR9fTo6b2lkIHslIGVuZGlm ICV9CitPUkRFUiBCWSByZWxuYW1lCit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90 ZW1wbGF0ZXMvZm9vcy9zcWwvZGVmYXVsdC9zdGF0cy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRlcy9m b29zL3NxbC9kZWZhdWx0L3N0YXRzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLmNkOWIwMTU0YQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVtcGxhdGVzL2Zv b3Mvc3FsL2RlZmF1bHQvc3RhdHMuc3FsCkBAIC0wLDAgKzEsNyBAQAorU0VMRUNUCisgICAgYmxr c19yZWFkIEFTIHt7IGNvbm58cXRJZGVudChfKCdCbG9ja3MgcmVhZCcpKSB9fSwKKyAgICBibGtz X2hpdCBBUyB7eyBjb25ufHF0SWRlbnQoXygnQmxvY2tzIGhpdCcpKSB9fQorRlJPTQorICAgIHBn X3N0YXRpb19hbGxfc2VxdWVuY2VzCitXSEVSRQorICAgIHJlbGlkID0ge3sgc2VpZCB9fTo6T0lE ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0 ZXMvZm9vcy9zcWwvZGVmYXVsdC91cGRhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9z cWwvZGVmYXVsdC91cGRhdGUuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uMmQ0MjI0OWI1Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZW1wbGF0ZXMvZm9vcy9z cWwvZGVmYXVsdC91cGRhdGUuc3FsCkBAIC0wLDAgKzEsOTcgQEAKK3slIGltcG9ydCAnbWFjcm9z L3NjaGVtYXMvc2VjdXJpdHkubWFjcm9zJyBhcyBTRUNMQUJFTCAlfQoreyUgaW1wb3J0ICdtYWNy b3Mvc2NoZW1hcy9wcml2aWxlZ2UubWFjcm9zJyBhcyBQUklWSUxFR0UgJX0KK3slIGlmIGRhdGEg JX0KK3slIGlmIGRhdGEubmFtZSAhPSBvX2RhdGEubmFtZSAlfQorQUxURVIgU0VRVUVOQ0Uge3sg Y29ubnxxdElkZW50KG9fZGF0YS5zY2hlbWEsIG9fZGF0YS5uYW1lKSB9fQorICAgIFJFTkFNRSBU TyB7eyBjb25ufHF0SWRlbnQoZGF0YS5uYW1lKSB9fTsKKworeyUgZW5kaWYgJX0KK3slIGlmIGRh dGEuc2Vxb3duZXIgYW5kIGRhdGEuc2Vxb3duZXIgIT0gb19kYXRhLnNlcW93bmVyICV9CitBTFRF UiBTRVFVRU5DRSB7eyBjb25ufHF0SWRlbnQob19kYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fQor ICAgIE9XTkVSIFRPIHt7IGNvbm58cXRJZGVudChkYXRhLnNlcW93bmVyKSB9fTsKKworeyUgZW5k aWYgJX0KK3slIGlmIGRhdGEuY3VycmVudF92YWx1ZSBpcyBkZWZpbmVkICV9Cit7JSBzZXQgc2Vx bmFtZSA9IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBkYXRhLm5hbWUpICV9CitTRUxFQ1Qg c2V0dmFsKHt7IHNlcW5hbWV8cXRMaXRlcmFsIH19LCB7eyBkYXRhLmN1cnJlbnRfdmFsdWUgfX0s IHRydWUpOworCit7JSBlbmRpZiAlfQoreyUgc2V0IGRlZnF1ZXJ5ID0gJycgJX0KK3slIGlmIGRh dGEuaW5jcmVtZW50IGlzIGRlZmluZWQgJX0KK3slIHNldCBkZWZxdWVyeSA9IGRlZnF1ZXJ5Kydc biAgICBJTkNSRU1FTlQgJytkYXRhLmluY3JlbWVudHxzdHJpbmcgJX0KK3slIGVuZGlmICV9Cit7 JSBpZiBkYXRhLnN0YXJ0IGlzIGRlZmluZWQgJX0KK3slIHNldCBkZWZxdWVyeSA9IGRlZnF1ZXJ5 KydcbiAgICBTVEFSVCAnK2RhdGEuc3RhcnR8c3RyaW5nICV9Cit7JSBlbmRpZiAlfQoreyUgaWYg ZGF0YS5taW5pbXVtIGlzIGRlZmluZWQgJX0KK3slIHNldCBkZWZxdWVyeSA9IGRlZnF1ZXJ5Kydc biAgICBNSU5WQUxVRSAnK2RhdGEubWluaW11bXxzdHJpbmcgJX0KK3slIGVuZGlmICV9Cit7JSBp ZiBkYXRhLm1heGltdW0gaXMgZGVmaW5lZCAlfQoreyUgc2V0IGRlZnF1ZXJ5ID0gZGVmcXVlcnkr J1xuICAgIE1BWFZBTFVFICcrZGF0YS5tYXhpbXVtfHN0cmluZyAlfQoreyUgZW5kaWYgJX0KK3sl IGlmIGRhdGEuY2FjaGUgaXMgZGVmaW5lZCAlfQoreyUgc2V0IGRlZnF1ZXJ5ID0gZGVmcXVlcnkr J1xuICAgIENBQ0hFICcrZGF0YS5jYWNoZXxzdHJpbmcgJX0KK3slIGVuZGlmICV9Cit7JSBpZiBk YXRhLmN5Y2xlZCA9PSBUcnVlICV9Cit7JSBzZXQgZGVmcXVlcnkgPSBkZWZxdWVyeSsnXG4gICAg Q1lDTEUnICV9Cit7JSBlbGlmIGRhdGEuY3ljbGVkID09IEZhbHNlICV9Cit7JSBzZXQgZGVmcXVl cnkgPSBkZWZxdWVyeSsnXG4gICAgTk8gQ1lDTEUnICV9Cit7JSBlbmRpZiAlfQoreyUgaWYgZGVm cXVlcnkgYW5kIGRlZnF1ZXJ5ICE9ICcnICV9CitBTFRFUiBTRVFVRU5DRSB7eyBjb25ufHF0SWRl bnQob19kYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSB9fXt7IGRlZnF1ZXJ5IH19OworCit7JSBlbmRp ZiAlfQoreyUgaWYgZGF0YS5zY2hlbWEgYW5kIGRhdGEuc2NoZW1hICE9IG9fZGF0YS5zY2hlbWEg JX0KK0FMVEVSIFNFUVVFTkNFIHt7IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBkYXRhLm5h bWUpIH19CisgICAgU0VUIFNDSEVNQSB7eyBjb25ufHF0SWRlbnQoZGF0YS5zY2hlbWEpIH19Owor Cit7JSBzZXQgc2VxbmFtZSA9IGNvbm58cXRJZGVudChkYXRhLnNjaGVtYSwgZGF0YS5uYW1lKSAl fQoreyUgc2V0IHNjaGVtYSA9IGRhdGEuc2NoZW1hICV9Cit7JSBlbHNlICV9Cit7JSBzZXQgc2Vx bmFtZSA9IGNvbm58cXRJZGVudChvX2RhdGEuc2NoZW1hLCBkYXRhLm5hbWUpICV9Cit7JSBzZXQg c2NoZW1hID0gb19kYXRhLnNjaGVtYSAlfQoreyUgZW5kaWYgJX0KK3slIGlmIGRhdGEuY29tbWVu dCBpcyBkZWZpbmVkIGFuZCBkYXRhLmNvbW1lbnQgIT0gb19kYXRhLmNvbW1lbnQgJX0KK0NPTU1F TlQgT04gU0VRVUVOQ0Uge3sgc2VxbmFtZSB9fQorICAgIElTIHt7IGRhdGEuY29tbWVudHxxdExp dGVyYWwgfX07CisKK3slIGVuZGlmICV9Cit7JSBpZiBkYXRhLnNlY3VyaXRpZXMgYW5kIGRhdGEu c2VjdXJpdGllc3xsZW5ndGggPiAwICV9CisKK3slIHNldCBzZWNsYWJlbHMgPSBkYXRhLnNlY3Vy aXRpZXMgJX0KK3slIGlmICdkZWxldGVkJyBpbiBzZWNsYWJlbHMgYW5kIHNlY2xhYmVscy5kZWxl dGVkfGxlbmd0aCA+IDAgJX0KK3slIGZvciByIGluIHNlY2xhYmVscy5kZWxldGVkICV9Cit7eyBT RUNMQUJFTC5VTlNFVChjb25uLCAnU0VRVUVOQ0UnLCBkYXRhLm5hbWUsIHIucHJvdmlkZXIsIHNj aGVtYSkgfX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdhZGRlZCcgaW4gc2Vj bGFiZWxzIGFuZCBzZWNsYWJlbHMuYWRkZWR8bGVuZ3RoID4gMCAlfQoreyUgZm9yIHIgaW4gc2Vj bGFiZWxzLmFkZGVkICV9Cit7eyBTRUNMQUJFTC5TRVQoY29ubiwgJ1NFUVVFTkNFJywgZGF0YS5u YW1lLCByLnByb3ZpZGVyLCByLmxhYmVsLCBzY2hlbWEpIH19Cit7JSBlbmRmb3IgJX0KK3slIGVu ZGlmICV9Cit7JSBpZiAnY2hhbmdlZCcgaW4gc2VjbGFiZWxzIGFuZCBzZWNsYWJlbHMuY2hhbmdl ZHxsZW5ndGggPiAwICV9Cit7JSBmb3IgciBpbiBzZWNsYWJlbHMuY2hhbmdlZCAlfQore3sgU0VD TEFCRUwuU0VUKGNvbm4sICdTRVFVRU5DRScsIGRhdGEubmFtZSwgci5wcm92aWRlciwgci5sYWJl bCwgc2NoZW1hKSB9fQoreyUgZW5kZm9yICV9Cit7JSBlbmRpZiAlfQoreyUgZW5kaWYgJX0KK3sl IGlmIGRhdGEucmVsYWNsICV9CisKK3slIGlmICdkZWxldGVkJyBpbiBkYXRhLnJlbGFjbCAlfQor eyUgZm9yIHByaXYgaW4gZGF0YS5yZWxhY2wuZGVsZXRlZCAlfQore3sgUFJJVklMRUdFLlVOU0VU QUxMKGNvbm4sICdTRVFVRU5DRScsIHByaXYuZ3JhbnRlZSwgZGF0YS5uYW1lLCBzY2hlbWEpIH19 Cit7JSBlbmRmb3IgJX0KK3slIGVuZGlmICV9Cit7JSBpZiAnY2hhbmdlZCcgaW4gZGF0YS5yZWxh Y2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEucmVsYWNsLmNoYW5nZWQgJX0KK3t7IFBSSVZJTEVH RS5VTlNFVEFMTChjb25uLCAnU0VRVUVOQ0UnLCBwcml2LmdyYW50ZWUsIGRhdGEubmFtZSwgc2No ZW1hKSB9fQore3sgUFJJVklMRUdFLlNFVChjb25uLCAnU0VRVUVOQ0UnLCBwcml2LmdyYW50ZWUs IGRhdGEubmFtZSwgcHJpdi53aXRob3V0X2dyYW50LCBwcml2LndpdGhfZ3JhbnQsIHNjaGVtYSkg fX0KK3slIGVuZGZvciAlfQoreyUgZW5kaWYgJX0KK3slIGlmICdhZGRlZCcgaW4gZGF0YS5yZWxh Y2wgJX0KK3slIGZvciBwcml2IGluIGRhdGEucmVsYWNsLmFkZGVkICV9Cit7eyBQUklWSUxFR0Uu U0VUKGNvbm4sICdTRVFVRU5DRScsIHByaXYuZ3JhbnRlZSwgZGF0YS5uYW1lLCBwcml2LndpdGhv dXRfZ3JhbnQsIHByaXYud2l0aF9ncmFudCwgc2NoZW1hKSB9fQoreyUgZW5kZm9yICV9Cit7JSBl bmRpZiAlfQoreyUgZW5kaWYgJX0KK3slIGVuZGlmICV9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rl bXBsYXRlcy9mb29zL3NxbC9ncGRiXzUuMF9wbHVzL2FjbC5zcWwgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3RlbXBsYXRl cy9mb29zL3NxbC9ncGRiXzUuMF9wbHVzL2FjbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi4xNjcxODQwMTEKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3RlbXBs YXRlcy9mb29zL3NxbC9ncGRiXzUuMF9wbHVzL2FjbC5zcWwKQEAgLTAsMCArMSw3IEBACitTRUxF Q1QKKyAgJ3JlbGFjbCcgQVMgZGVmdHlwZSwKKyAgJ1BVQkxJQycgQVMgZ3JhbnRlZSwKKyAgTlVM TCAgICAgQVMgZ3JhbnRvciwKKyAgTlVMTCAgICAgQVMgcHJpdmlsZWdlcywKKyAgTlVMTCAgICAg QVMgZ3JhbnRhYmxlCitMSU1JVCAwOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9fX2luaXRf Xy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2Zvb3MvdGVzdHMvX19pbml0X18ucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi41MTJiNzFkYTMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3Rz L19faW5pdF9fLnB5CkBAIC0wLDAgKzEsMTUgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBn QWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAy MCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVh c2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisK K2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKKworCitj bGFzcyBTZXF1ZW5jZVRlc3RHZW5lcmF0b3IoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgIGRlZiBy dW5UZXN0KHNlbGYpOgorICAgICAgICByZXR1cm4gW10KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVz dHMvcGcvZGVmYXVsdC9hbHRlcl9uZWdfc2VxX3Byb3BzLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcv ZGVmYXVsdC9hbHRlcl9uZWdfc2VxX3Byb3BzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLmNlMWE2M2RlMAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMv cGcvZGVmYXVsdC9hbHRlcl9uZWdfc2VxX3Byb3BzLnNxbApAQCAtMCwwICsxLDEzIEBACistLSBT RVFVRU5DRTogcHVibGljLlNlcTFfJCV7fVtdKCkmKl4hQCInYFwvIworCistLSBEUk9QIFNFUVVF TkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyI7CisKK0NSRUFURSBTRVFVRU5D RSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgSU5DUkVNRU5UIC03Cisg ICAgU1RBUlQgLTMwCisgICAgTUlOVkFMVUUgLTM1CisgICAgTUFYVkFMVUUgLTE1CisgICAgQ0FD SEUgMTsKKworQUxURVIgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8j IgorICAgIE9XTkVSIFRPIHBvc3RncmVzOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9k ZWZhdWx0L2FsdGVyX25lZ19zZXFfcHJvcHNfbXNxbC5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2Rl ZmF1bHQvYWx0ZXJfbmVnX3NlcV9wcm9wc19tc3FsLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLmY1NmVhYjE1MwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVz dHMvcGcvZGVmYXVsdC9hbHRlcl9uZWdfc2VxX3Byb3BzX21zcWwuc3FsCkBAIC0wLDAgKzEsNCBA QAorQUxURVIgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAg IElOQ1JFTUVOVCAtNworICAgIE1JTlZBTFVFIC0zNQorICAgIE1BWFZBTFVFIC0xNTsKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfY29tbWVudC5zcWwgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX2NvbW1lbnQuc3FsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uYjk4ZWI0ODcxCi0tLSAvZGV2L251bGwKKysrIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2FsdGVyX3NlcV9jb21tZW50LnNxbApAQCAtMCwwICsx LDE2IEBACistLSBTRVFVRU5DRTogcHVibGljLlNlcTFfJCV7fVtdKCkmKl4hQCInYFwvIworCist LSBEUk9QIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyI7CisKK0NS RUFURSBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgSU5D UkVNRU5UIDUKKyAgICBTVEFSVCA1CisgICAgTUlOVkFMVUUgNQorICAgIE1BWFZBTFVFIDk5OQor ICAgIENBQ0hFIDE7CisKK0FMVEVSIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFA IiInYFwvIyIKKyAgICBPV05FUiBUTyBwb3N0Z3JlczsKKworQ09NTUVOVCBPTiBTRVFVRU5DRSBw dWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgSVMgJ1NvbWUgY29tbWVudCc7 CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX2NvbW1lbnRf bXNxbC5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX2NvbW1lbnRfbXNx bC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi43YTVlZmJkOTIKLS0t IC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX2NvbW1l bnRfbXNxbC5zcWwKQEAgLTAsMCArMSwyIEBACitDT01NRU5UIE9OIFNFUVVFTkNFIHB1YmxpYy4i U2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyIKKyAgICBJUyAnU29tZSBjb21tZW50JzsKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfYWRkLnNxbCBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfYWRkLnNxbApuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjE2YWJlNzQ5NwotLS0gL2Rldi9udWxsCisr KyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfYWRkLnNxbApAQCAt MCwwICsxLDIxIEBACistLSBTRVFVRU5DRTogcHVibGljLlNlcTFfJCV7fVtdKCkmKl4hQCInYFwv IworCistLSBEUk9QIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyI7 CisKK0NSRUFURSBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisg ICAgQ1lDTEUKKyAgICBJTkNSRU1FTlQgMTIKKyAgICBTVEFSVCA1CisgICAgTUlOVkFMVUUgMgor ICAgIE1BWFZBTFVFIDk5OTIKKyAgICBDQUNIRSAyOworCitBTFRFUiBTRVFVRU5DRSBwdWJsaWMu IlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgT1dORVIgVE8gcG9zdGdyZXM7CisKK0NP TU1FTlQgT04gU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAg IElTICdTb21lIGNvbW1lbnQnOworCitHUkFOVCBBTEwgT04gU0VRVUVOQ0UgcHVibGljLiJTZXEx XyQle31bXSgpJipeIUAiIidgXC8jIiBUTyBQVUJMSUM7CisKK0dSQU5UIEFMTCBPTiBTRVFVRU5D RSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiIFRPIHBvc3RncmVzOwpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2FsdGVyX3NlcV9wcml2c19hZGRfbXNxbC5z cWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX2FkZF9tc3FsLnNx bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjY2ZDlhYTAwMgotLS0gL2Rl di9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfYWRk X21zcWwuc3FsCkBAIC0wLDAgKzEgQEAKK0dSQU5UIEFMTCBPTiBTRVFVRU5DRSBwdWJsaWMuIlNl cTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiIFRPIFBVQkxJQzsKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3Mv dGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfcmVtb3ZlLnNxbCBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVz dHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfcmVtb3ZlLnNxbApuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAuLmIzOTJiM2UzMQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zv b3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfcmVtb3ZlLnNxbApAQCAtMCwwICsx LDE5IEBACistLSBTRVFVRU5DRTogcHVibGljLlNlcTFfJCV7fVtdKCkmKl4hQCInYFwvIworCist LSBEUk9QIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyI7CisKK0NS RUFURSBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgQ1lD TEUKKyAgICBJTkNSRU1FTlQgMTIKKyAgICBTVEFSVCA1CisgICAgTUlOVkFMVUUgMgorICAgIE1B WFZBTFVFIDk5OTIKKyAgICBDQUNIRSAyOworCitBTFRFUiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFf JCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgT1dORVIgVE8gcG9zdGdyZXM7CisKK0NPTU1FTlQg T04gU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIElTICdT b21lIGNvbW1lbnQnOworCitHUkFOVCBBTEwgT04gU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31b XSgpJipeIUAiIidgXC8jIiBUTyBwb3N0Z3JlczsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMv cGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfcmVtb3ZlX21zcWwuc3FsIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0 cy9wZy9kZWZhdWx0L2FsdGVyX3NlcV9wcml2c19yZW1vdmVfbXNxbC5zcWwKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5lOGI5NGJhZDgKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3JlbW92ZV9tc3FsLnNxbApA QCAtMCwwICsxIEBACitSRVZPS0UgQUxMIE9OIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10o KSYqXiFAIiInYFwvIyIgRlJPTSBQVUJMSUM7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3Bn L2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3VwZGF0ZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2Rl ZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3VwZGF0ZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi45YjM3OWU5YWIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3Rz L3BnL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3VwZGF0ZS5zcWwKQEAgLTAsMCArMSwyMSBAQAor LS0gU0VRVUVOQ0U6IHB1YmxpYy5TZXExXyQle31bXSgpJipeIUAiJ2BcLyMKKworLS0gRFJPUCBT RVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiOworCitDUkVBVEUgU0VR VUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIENZQ0xFCisgICAg SU5DUkVNRU5UIDEyCisgICAgU1RBUlQgNQorICAgIE1JTlZBTFVFIDIKKyAgICBNQVhWQUxVRSA5 OTkyCisgICAgQ0FDSEUgMjsKKworQUxURVIgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgp JipeIUAiIidgXC8jIgorICAgIE9XTkVSIFRPIHBvc3RncmVzOworCitDT01NRU5UIE9OIFNFUVVF TkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyIKKyAgICBJUyAnU29tZSBjb21t ZW50JzsKKworR1JBTlQgU0VMRUNUIE9OIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYq XiFAIiInYFwvIyIgVE8gUFVCTElDOworCitHUkFOVCBBTEwgT04gU0VRVUVOQ0UgcHVibGljLiJT ZXExXyQle31bXSgpJipeIUAiIidgXC8jIiBUTyBwb3N0Z3JlczsKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zv b3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfdXBkYXRlX21zcWwuc3FsIGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv Zm9vcy90ZXN0cy9wZy9kZWZhdWx0L2FsdGVyX3NlcV9wcml2c191cGRhdGVfbXNxbC5zcWwKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5jM2MyYTViOWEKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3VwZGF0ZV9t c3FsLnNxbApAQCAtMCwwICsxLDIgQEAKK1JFVk9LRSBBTEwgT04gU0VRVUVOQ0UgcHVibGljLiJT ZXExXyQle31bXSgpJipeIUAiIidgXC8jIiBGUk9NIFBVQkxJQzsKK0dSQU5UIFNFTEVDVCBPTiBT RVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiIFRPIFBVQkxJQzsKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJvcHMuc3FsIGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2FsdGVyX3NlcV9wcm9wcy5zcWwKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi43ODEyMmJlMzUKLS0tIC9kZXYvbnVsbAorKysgYi93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2VxX3Byb3BzLnNxbApAQCAtMCwwICsxLDE3 IEBACistLSBTRVFVRU5DRTogcHVibGljLlNlcTFfJCV7fVtdKCkmKl4hQCInYFwvIworCistLSBE Uk9QIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyI7CisKK0NSRUFU RSBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgQ1lDTEUK KyAgICBJTkNSRU1FTlQgMTIKKyAgICBTVEFSVCA1CisgICAgTUlOVkFMVUUgMgorICAgIE1BWFZB TFVFIDk5OTIKKyAgICBDQUNIRSAyOworCitBTFRFUiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7 fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgT1dORVIgVE8gcG9zdGdyZXM7CisKK0NPTU1FTlQgT04g U0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIElTICdTb21l IGNvbW1lbnQnOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2FsdGVyX3Nl cV9wcm9wc19tc3FsLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9hbHRlcl9zZXFfcHJv cHNfbXNxbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zZWQwYzhj MWQKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvYWx0ZXJfc2Vx X3Byb3BzX21zcWwuc3FsCkBAIC0wLDAgKzEsOCBAQAorU0VMRUNUIHNldHZhbCgncHVibGljLiJT ZXExXyQle31bXSgpJipeIUAiIicnYFwvIyInLCA3LCB0cnVlKTsKKworQUxURVIgU0VRVUVOQ0Ug cHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIElOQ1JFTUVOVCAxMgorICAg IE1JTlZBTFVFIDIKKyAgICBNQVhWQUxVRSA5OTkyCisgICAgQ0FDSEUgMgorICAgIENZQ0xFOwpk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2NyZWF0ZV9uZWdhdGl2ZV9zZXF1 ZW5jZS5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvY3JlYXRlX25lZ2F0aXZlX3NlcXVl bmNlLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjdjZDA4ODFkNwot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9jcmVhdGVfbmVnYXRp dmVfc2VxdWVuY2Uuc3FsCkBAIC0wLDAgKzEsMTMgQEAKKy0tIFNFUVVFTkNFOiBwdWJsaWMuU2Vx MV8kJXt9W10oKSYqXiFAIidgXC8jCisKKy0tIERST1AgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQl e31bXSgpJipeIUAiIidgXC8jIjsKKworQ1JFQVRFIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9 W10oKSYqXiFAIiInYFwvIyIKKyAgICBJTkNSRU1FTlQgLTUKKyAgICBTVEFSVCAtMzAKKyAgICBN SU5WQUxVRSAtNDAKKyAgICBNQVhWQUxVRSAtMTAKKyAgICBDQUNIRSAxOworCitBTFRFUiBTRVFV RU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgT1dORVIgVE8gcG9z dGdyZXM7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvY3JlYXRlX25lZ2F0 aXZlX3NlcXVlbmNlX21zcWwuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2NyZWF0ZV9u ZWdhdGl2ZV9zZXF1ZW5jZV9tc3FsLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw MDAwMDAuLmY2MjYxM2M4ZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVm YXVsdC9jcmVhdGVfbmVnYXRpdmVfc2VxdWVuY2VfbXNxbC5zcWwKQEAgLTAsMCArMSw5IEBACitD UkVBVEUgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIElO Q1JFTUVOVCAtNQorICAgIFNUQVJUIC0zMAorICAgIE1JTlZBTFVFIC00MAorICAgIE1BWFZBTFVF IC0xMAorICAgIENBQ0hFIDE7CisKK0FMVEVSIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10o KSYqXiFAIiInYFwvIyIKKyAgICBPV05FUiBUTyBwb3N0Z3JlczsKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zv b3MvdGVzdHMvcGcvZGVmYXVsdC9jcmVhdGVfc2VxdWVuY2Uuc3FsIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9w Zy9kZWZhdWx0L2NyZWF0ZV9zZXF1ZW5jZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi5iMTU5YWI5ZDMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3Bn L2RlZmF1bHQvY3JlYXRlX3NlcXVlbmNlLnNxbApAQCAtMCwwICsxLDEzIEBACistLSBTRVFVRU5D RTogcHVibGljLlNlcTFfJCV7fVtdKCkmKl4hQCInYFwvIworCistLSBEUk9QIFNFUVVFTkNFIHB1 YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyI7CisKK0NSRUFURSBTRVFVRU5DRSBwdWJs aWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgSU5DUkVNRU5UIDUKKyAgICBTVEFS VCA1CisgICAgTUlOVkFMVUUgNQorICAgIE1BWFZBTFVFIDk5OQorICAgIENBQ0hFIDE7CisKK0FM VEVSIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyIKKyAgICBPV05F UiBUTyBwb3N0Z3JlczsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC9jcmVh dGVfc2VxdWVuY2VfbXNxbC5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvY3JlYXRlX3Nl cXVlbmNlX21zcWwuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNjdl MDljZDY4Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L2NyZWF0 ZV9zZXF1ZW5jZV9tc3FsLnNxbApAQCAtMCwwICsxLDkgQEAKK0NSRUFURSBTRVFVRU5DRSBwdWJs aWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgSU5DUkVNRU5UIDUKKyAgICBTVEFS VCA1CisgICAgTUlOVkFMVUUgNQorICAgIE1BWFZBTFVFIDk5OQorICAgIENBQ0hFIDE7CisKK0FM VEVSIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyIKKyAgICBPV05F UiBUTyBwb3N0Z3JlczsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcGcvZGVmYXVsdC90ZXN0 X3NlcXVlbmNlc19wZy5qc29uIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wZy9kZWZhdWx0L3Rlc3Rfc2VxdWVu Y2VzX3BnLmpzb24KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi45Njg3Y2Y4 MzgKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BnL2RlZmF1bHQvdGVzdF9zZXF1 ZW5jZXNfcGcuanNvbgpAQCAtMCwwICsxLDE3MyBAQAoreworICAic2NlbmFyaW9zIjogWworICAg IHsKKyAgICAgICJ0eXBlIjogImNyZWF0ZSIsCisgICAgICAibmFtZSI6ICJDcmVhdGUgU2VxdWVu Y2UiLAorICAgICAgImVuZHBvaW50IjogIk5PREUtc2VxdWVuY2Uub2JqIiwKKyAgICAgICJzcWxf ZW5kcG9pbnQiOiAiTk9ERS1zZXF1ZW5jZS5zcWxfaWQiLAorICAgICAgIm1zcWxfZW5kcG9pbnQi OiAiTk9ERS1zZXF1ZW5jZS5tc3FsIiwKKyAgICAgICJkYXRhIjogeworICAgICAgICAibmFtZSI6 ICJTZXExXyQle31bXSgpJipeIUBcIidgXFwvIyIsCisgICAgICAgICJzZXFvd25lciI6ICJwb3N0 Z3JlcyIsCisgICAgICAgICJzY2hlbWEiOiAicHVibGljIiwKKyAgICAgICAgImluY3JlbWVudCI6 ICI1IiwKKyAgICAgICAgInN0YXJ0IjogIjUiLAorICAgICAgICAibWF4aW11bSI6ICI5OTkiLAor ICAgICAgICAibWluaW11bSI6ICI1IiwKKyAgICAgICAgImNhY2hlIjogIjEiLAorICAgICAgICAi Y3ljbGVkIjogZmFsc2UsCisgICAgICAgICJyZWxhY2wiOiBbXSwKKyAgICAgICAgInNlY3VyaXRp ZXMiOiBbXQorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9zcWxfZmlsZSI6ICJjcmVhdGVfc2Vx dWVuY2Uuc3FsIiwKKyAgICAgICJleHBlY3RlZF9tc3FsX2ZpbGUiOiAiY3JlYXRlX3NlcXVlbmNl X21zcWwuc3FsIgorICAgIH0seworICAgICAgInR5cGUiOiAiYWx0ZXIiLAorICAgICAgIm5hbWUi OiAiQWx0ZXIgU2VxdWVuY2UgY29tbWVudCIsCisgICAgICAiZW5kcG9pbnQiOiAiTk9ERS1zZXF1 ZW5jZS5vYmpfaWQiLAorICAgICAgInNxbF9lbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLnNxbF9p ZCIsCisgICAgICAibXNxbF9lbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLm1zcWxfaWQiLAorICAg ICAgImRhdGEiOiB7CisgICAgICAgICJjb21tZW50IjogIlNvbWUgY29tbWVudCIKKyAgICAgIH0s CisgICAgICAiZXhwZWN0ZWRfc3FsX2ZpbGUiOiAiYWx0ZXJfc2VxX2NvbW1lbnQuc3FsIiwKKyAg ICAgICJleHBlY3RlZF9tc3FsX2ZpbGUiOiAiYWx0ZXJfc2VxX2NvbW1lbnRfbXNxbC5zcWwiCisg ICAgfSx7CisgICAgICAidHlwZSI6ICJhbHRlciIsCisgICAgICAibmFtZSI6ICJBbHRlciBTZXF1 ZW5jZSBwcm9wZXJ0aWVzIiwKKyAgICAgICJlbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLm9ial9p ZCIsCisgICAgICAic3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2Uuc3FsX2lkIiwKKyAgICAg ICJtc3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2UubXNxbF9pZCIsCisgICAgICAiZGF0YSI6 IHsKKyAgICAgICAgImN1cnJlbnRfdmFsdWUiOiAiNyIsICJpbmNyZW1lbnQiOiAiMTIiLCAibWlu aW11bSI6ICIyIiwgIm1heGltdW0iOiAiOTk5MiIsICJjYWNoZSI6ICIyIiwgImN5Y2xlZCI6IHRy dWUKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfc3FsX2ZpbGUiOiAiYWx0ZXJfc2VxX3Byb3Bz LnNxbCIsCisgICAgICAiZXhwZWN0ZWRfbXNxbF9maWxlIjogImFsdGVyX3NlcV9wcm9wc19tc3Fs LnNxbCIKKyAgICB9LHsKKyAgICAgICJ0eXBlIjogImFsdGVyIiwKKyAgICAgICJuYW1lIjogIkFs dGVyIFNlcXVlbmNlIGFkZCBwcml2aWxlZ2VzIiwKKyAgICAgICJlbmRwb2ludCI6ICJOT0RFLXNl cXVlbmNlLm9ial9pZCIsCisgICAgICAic3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2Uuc3Fs X2lkIiwKKyAgICAgICJtc3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2UubXNxbF9pZCIsCisg ICAgICAiZGF0YSI6IHsKKyAgICAgICAgInJlbGFjbCI6IHsKKyAgICAgICAgICAiYWRkZWQiOlt7 CisgICAgICAgICAgICAiZ3JhbnRlZSI6ICJQVUJMSUMiLAorICAgICAgICAgICAgImdyYW50b3Ii OiAicG9zdGdyZXMiLAorICAgICAgICAgICAgInByaXZpbGVnZXMiOlt7CisgICAgICAgICAgICAg ICJwcml2aWxlZ2VfdHlwZSI6ICJyIiwKKyAgICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUs CisgICAgICAgICAgICAgICJ3aXRoX2dyYW50IjogZmFsc2UKKyAgICAgICAgICAgIH0seworICAg ICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAiVSIsCisgICAgICAgICAgICAgICJwcml2aWxl Z2UiOiB0cnVlLAorICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IGZhbHNlCisgICAgICAgICAg ICB9LHsKKyAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogInciLAorICAgICAgICAgICAg ICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBmYWxzZQor ICAgICAgICAgICAgfV0KKyAgICAgICAgICB9XQorICAgICAgICB9CisgICAgICB9LAorICAgICAg ImV4cGVjdGVkX3NxbF9maWxlIjogImFsdGVyX3NlcV9wcml2c19hZGQuc3FsIiwKKyAgICAgICJl eHBlY3RlZF9tc3FsX2ZpbGUiOiAiYWx0ZXJfc2VxX3ByaXZzX2FkZF9tc3FsLnNxbCIKKyAgICB9 LHsKKyAgICAgICJ0eXBlIjogImFsdGVyIiwKKyAgICAgICJuYW1lIjogIkFsdGVyIFNlcXVlbmNl IHVwZGF0ZSBwcml2aWxlZ2VzIiwKKyAgICAgICJlbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLm9i al9pZCIsCisgICAgICAic3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2Uuc3FsX2lkIiwKKyAg ICAgICJtc3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2UubXNxbF9pZCIsCisgICAgICAiZGF0 YSI6IHsKKyAgICAgICAgInJlbGFjbCI6IHsKKyAgICAgICAgICAiY2hhbmdlZCI6W3sKKyAgICAg ICAgICAgICJncmFudGVlIjogIlBVQkxJQyIsCisgICAgICAgICAgICAiZ3JhbnRvciI6ICJwb3N0 Z3JlcyIsCisgICAgICAgICAgICAicHJpdmlsZWdlcyI6W3sKKyAgICAgICAgICAgICAgInByaXZp bGVnZV90eXBlIjogInIiLAorICAgICAgICAgICAgICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAg ICAgICAgICAgIndpdGhfZ3JhbnQiOiBmYWxzZQorICAgICAgICAgICAgfV0KKyAgICAgICAgICB9 XQorICAgICAgICB9CisgICAgICB9LAorICAgICAgImV4cGVjdGVkX3NxbF9maWxlIjogImFsdGVy X3NlcV9wcml2c191cGRhdGUuc3FsIiwKKyAgICAgICJleHBlY3RlZF9tc3FsX2ZpbGUiOiAiYWx0 ZXJfc2VxX3ByaXZzX3VwZGF0ZV9tc3FsLnNxbCIKKyAgICB9LHsKKyAgICAgICJ0eXBlIjogImFs dGVyIiwKKyAgICAgICJuYW1lIjogIkFsdGVyIFNlcXVlbmNlIHJlbW92ZSBwcml2aWxlZ2VzIiwK KyAgICAgICJlbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLm9ial9pZCIsCisgICAgICAic3FsX2Vu ZHBvaW50IjogIk5PREUtc2VxdWVuY2Uuc3FsX2lkIiwKKyAgICAgICJtc3FsX2VuZHBvaW50Ijog Ik5PREUtc2VxdWVuY2UubXNxbF9pZCIsCisgICAgICAiZGF0YSI6IHsKKyAgICAgICAgInJlbGFj bCI6IHsKKyAgICAgICAgICAiZGVsZXRlZCI6W3sKKyAgICAgICAgICAgICJncmFudGVlIjogIlBV QkxJQyIsCisgICAgICAgICAgICAiZ3JhbnRvciI6ICJwb3N0Z3JlcyIsCisgICAgICAgICAgICAi cHJpdmlsZWdlcyI6W3sKKyAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogInIiLAorICAg ICAgICAgICAgICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICAgIndpdGhfZ3JhbnQi OiBmYWxzZQorICAgICAgICAgICAgfSx7CisgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6 ICJVIiwKKyAgICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUsCisgICAgICAgICAgICAgICJ3 aXRoX2dyYW50IjogZmFsc2UKKyAgICAgICAgICAgIH0seworICAgICAgICAgICAgICAicHJpdmls ZWdlX3R5cGUiOiAidyIsCisgICAgICAgICAgICAgICJwcml2aWxlZ2UiOiB0cnVlLAorICAgICAg ICAgICAgICAid2l0aF9ncmFudCI6IGZhbHNlCisgICAgICAgICAgICB9XQorICAgICAgICAgIH1d CisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfc3FsX2ZpbGUiOiAiYWx0ZXJf c2VxX3ByaXZzX3JlbW92ZS5zcWwiLAorICAgICAgImV4cGVjdGVkX21zcWxfZmlsZSI6ICJhbHRl cl9zZXFfcHJpdnNfcmVtb3ZlX21zcWwuc3FsIgorICAgIH0sIHsKKyAgICAgICJ0eXBlIjogImRl bGV0ZSIsCisgICAgICAibmFtZSI6ICJEcm9wIHNlcXVlbmNlIiwKKyAgICAgICJlbmRwb2ludCI6 ICJOT0RFLXNlcXVlbmNlLmRlbGV0ZV9pZCIsCisgICAgICAiZGF0YSI6IHsKKyAgICAgICAgIm5h bWUiOiAiU2VxMV8kJXt9W10oKSYqXiFAXCInYFxcLyMiCisgICAgICB9CisgICAgfSwgeworICAg ICAgInR5cGUiOiAiY3JlYXRlIiwKKyAgICAgICJuYW1lIjogIkNyZWF0ZSBTZXF1ZW5jZSB3aXRo IE5lZ2F0aXZlIHZhbHVlIiwKKyAgICAgICJlbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLm9iaiIs CisgICAgICAic3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2Uuc3FsX2lkIiwKKyAgICAgICJt c3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2UubXNxbCIsCisgICAgICAiZGF0YSI6IHsKKyAg ICAgICAgIm5hbWUiOiAiU2VxMV8kJXt9W10oKSYqXiFAXCInYFxcLyMiLAorICAgICAgICAic2Vx b3duZXIiOiAicG9zdGdyZXMiLAorICAgICAgICAic2NoZW1hIjogInB1YmxpYyIsCisgICAgICAg ICJpbmNyZW1lbnQiOiAiLTUiLAorICAgICAgICAic3RhcnQiOiAiLTMwIiwKKyAgICAgICAgIm1h eGltdW0iOiAiLTEwIiwKKyAgICAgICAgIm1pbmltdW0iOiAiLTQwIiwKKyAgICAgICAgImNhY2hl IjogIjEiLAorICAgICAgICAiY3ljbGVkIjogZmFsc2UsCisgICAgICAgICJyZWxhY2wiOiBbXSwK KyAgICAgICAgInNlY3VyaXRpZXMiOiBbXQorICAgICAgfSwKKyAgICAgICJleHBlY3RlZF9zcWxf ZmlsZSI6ICJjcmVhdGVfbmVnYXRpdmVfc2VxdWVuY2Uuc3FsIiwKKyAgICAgICJleHBlY3RlZF9t c3FsX2ZpbGUiOiAiY3JlYXRlX25lZ2F0aXZlX3NlcXVlbmNlX21zcWwuc3FsIgorICAgIH0sIHsK KyAgICAgICJ0eXBlIjogImFsdGVyIiwKKyAgICAgICJuYW1lIjogIkFsdGVyIFNlcXVlbmNlIHBy b3BlcnRpZXMgd2l0aCBuZWdhdGl2ZSB2YWx1ZSIsCisgICAgICAiZW5kcG9pbnQiOiAiTk9ERS1z ZXF1ZW5jZS5vYmpfaWQiLAorICAgICAgInNxbF9lbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLnNx bF9pZCIsCisgICAgICAibXNxbF9lbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLm1zcWxfaWQiLAor ICAgICAgImRhdGEiOiB7CisgICAgICAgICJpbmNyZW1lbnQiOiAiLTciLCAibWluaW11bSI6ICIt MzUiLCAibWF4aW11bSI6ICItMTUiCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX3NxbF9maWxl IjogImFsdGVyX25lZ19zZXFfcHJvcHMuc3FsIiwKKyAgICAgICJleHBlY3RlZF9tc3FsX2ZpbGUi OiAiYWx0ZXJfbmVnX3NlcV9wcm9wc19tc3FsLnNxbCIKKyAgICB9LCB7CisgICAgICAidHlwZSI6 ICJkZWxldGUiLAorICAgICAgIm5hbWUiOiAiRHJvcCBuZWdhdGl2ZSBzZXF1ZW5jZSIsCisgICAg ICAiZW5kcG9pbnQiOiAiTk9ERS1zZXF1ZW5jZS5kZWxldGVfaWQiLAorICAgICAgImRhdGEiOiB7 CisgICAgICAgICJuYW1lIjogIlNlcTFfJCV7fVtdKCkmKl4hQFwiJ2BcXC8jIgorICAgICAgfQor ICAgIH0KKyAgXQorfQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQvYWx0 ZXJfbmVnX3NlcV9wcm9wcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9u ZWdfc2VxX3Byb3BzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjAx NDI0Y2Y5YQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2Fs dGVyX25lZ19zZXFfcHJvcHMuc3FsCkBAIC0wLDAgKzEsMTMgQEAKKy0tIFNFUVVFTkNFOiBwdWJs aWMuU2VxMV8kJXt9W10oKSYqXiFAIidgXC8jCisKKy0tIERST1AgU0VRVUVOQ0UgcHVibGljLiJT ZXExXyQle31bXSgpJipeIUAiIidgXC8jIjsKKworQ1JFQVRFIFNFUVVFTkNFIHB1YmxpYy4iU2Vx MV8kJXt9W10oKSYqXiFAIiInYFwvIyIKKyAgICBJTkNSRU1FTlQgLTcKKyAgICBTVEFSVCAtMzAK KyAgICBNSU5WQUxVRSAtMzUKKyAgICBNQVhWQUxVRSAtMTUKKyAgICBDQUNIRSAxOworCitBTFRF UiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgT1dORVIg VE8gZW50ZXJwcmlzZWRiOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQv YWx0ZXJfbmVnX3NlcV9wcm9wc19tc3FsLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0 L2FsdGVyX25lZ19zZXFfcHJvcHNfbXNxbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAwLi5mNTZlYWIxNTMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3Bw YXMvZGVmYXVsdC9hbHRlcl9uZWdfc2VxX3Byb3BzX21zcWwuc3FsCkBAIC0wLDAgKzEsNCBAQAor QUxURVIgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIElO Q1JFTUVOVCAtNworICAgIE1JTlZBTFVFIC0zNQorICAgIE1BWFZBTFVFIC0xNTsKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9jb21tZW50LnNxbCBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9jb21tZW50LnNxbApuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmNjNDdlZDA3OQotLS0gL2Rldi9udWxsCisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hl bWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9jb21tZW50LnNxbApAQCAtMCww ICsxLDE2IEBACistLSBTRVFVRU5DRTogcHVibGljLlNlcTFfJCV7fVtdKCkmKl4hQCInYFwvIwor CistLSBEUk9QIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyI7CisK K0NSRUFURSBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAg SU5DUkVNRU5UIDUKKyAgICBTVEFSVCA1CisgICAgTUlOVkFMVUUgNQorICAgIE1BWFZBTFVFIDk5 OQorICAgIENBQ0hFIDE7CisKK0FMVEVSIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYq XiFAIiInYFwvIyIKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CisKK0NPTU1FTlQgT04gU0VR VUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIElTICdTb21lIGNv bW1lbnQnOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQvYWx0ZXJfc2Vx X2NvbW1lbnRfbXNxbC5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFf Y29tbWVudF9tc3FsLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjdh NWVmYmQ5MgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2Fs dGVyX3NlcV9jb21tZW50X21zcWwuc3FsCkBAIC0wLDAgKzEsMiBAQAorQ09NTUVOVCBPTiBTRVFV RU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgSVMgJ1NvbWUgY29t bWVudCc7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFf cHJpdnNfYWRkLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9wcml2 c19hZGQuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uNDU3ZjQ4MTAx Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQvYWx0ZXJfc2Vx X3ByaXZzX2FkZC5zcWwKQEAgLTAsMCArMSwyMSBAQAorLS0gU0VRVUVOQ0U6IHB1YmxpYy5TZXEx XyQle31bXSgpJipeIUAiJ2BcLyMKKworLS0gRFJPUCBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7 fVtdKCkmKl4hQCIiJ2BcLyMiOworCitDUkVBVEUgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31b XSgpJipeIUAiIidgXC8jIgorICAgIENZQ0xFCisgICAgSU5DUkVNRU5UIDEyCisgICAgU1RBUlQg NQorICAgIE1JTlZBTFVFIDIKKyAgICBNQVhWQUxVRSA5OTkyCisgICAgQ0FDSEUgMjsKKworQUxU RVIgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIE9XTkVS IFRPIGVudGVycHJpc2VkYjsKKworQ09NTUVOVCBPTiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7 fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgSVMgJ1NvbWUgY29tbWVudCc7CisKK0dSQU5UIEFMTCBP TiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiIFRPIFBVQkxJQzsK KworR1JBTlQgQUxMIE9OIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwv IyIgVE8gZW50ZXJwcmlzZWRiOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1 bHQvYWx0ZXJfc2VxX3ByaXZzX2FkZF9tc3FsLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZh dWx0L2FsdGVyX3NlcV9wcml2c19hZGRfbXNxbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi42NmQ5YWEwMDIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3Rz L3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfYWRkX21zcWwuc3FsCkBAIC0wLDAgKzEgQEAK K0dSQU5UIEFMTCBPTiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMi IFRPIFBVQkxJQzsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVy X3NlcV9wcml2c19yZW1vdmUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQvYWx0ZXJf c2VxX3ByaXZzX3JlbW92ZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li5hYzIxZTY2N2YKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVs dC9hbHRlcl9zZXFfcHJpdnNfcmVtb3ZlLnNxbApAQCAtMCwwICsxLDE5IEBACistLSBTRVFVRU5D RTogcHVibGljLlNlcTFfJCV7fVtdKCkmKl4hQCInYFwvIworCistLSBEUk9QIFNFUVVFTkNFIHB1 YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyI7CisKK0NSRUFURSBTRVFVRU5DRSBwdWJs aWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgQ1lDTEUKKyAgICBJTkNSRU1FTlQg MTIKKyAgICBTVEFSVCA1CisgICAgTUlOVkFMVUUgMgorICAgIE1BWFZBTFVFIDk5OTIKKyAgICBD QUNIRSAyOworCitBTFRFUiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2Bc LyMiCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDT01NRU5UIE9OIFNFUVVFTkNFIHB1 YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyIKKyAgICBJUyAnU29tZSBjb21tZW50JzsK KworR1JBTlQgQUxMIE9OIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwv IyIgVE8gZW50ZXJwcmlzZWRiOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1 bHQvYWx0ZXJfc2VxX3ByaXZzX3JlbW92ZV9tc3FsLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9k ZWZhdWx0L2FsdGVyX3NlcV9wcml2c19yZW1vdmVfbXNxbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMDAwLi5lOGI5NGJhZDgKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29z L3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfcmVtb3ZlX21zcWwuc3FsCkBAIC0w LDAgKzEgQEAKK1JFVk9LRSBBTEwgT04gU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipe IUAiIidgXC8jIiBGUk9NIFBVQkxJQzsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9k ZWZhdWx0L2FsdGVyX3NlcV9wcml2c191cGRhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2Rl ZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3VwZGF0ZS5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k ZXggMDAwMDAwMDAwLi5mZWE5NjE1NDMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3Rz L3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfdXBkYXRlLnNxbApAQCAtMCwwICsxLDIxIEBA CistLSBTRVFVRU5DRTogcHVibGljLlNlcTFfJCV7fVtdKCkmKl4hQCInYFwvIworCistLSBEUk9Q IFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyI7CisKK0NSRUFURSBT RVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgQ1lDTEUKKyAg ICBJTkNSRU1FTlQgMTIKKyAgICBTVEFSVCA1CisgICAgTUlOVkFMVUUgMgorICAgIE1BWFZBTFVF IDk5OTIKKyAgICBDQUNIRSAyOworCitBTFRFUiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtd KCkmKl4hQCIiJ2BcLyMiCisgICAgT1dORVIgVE8gZW50ZXJwcmlzZWRiOworCitDT01NRU5UIE9O IFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyIKKyAgICBJUyAnU29t ZSBjb21tZW50JzsKKworR1JBTlQgU0VMRUNUIE9OIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9 W10oKSYqXiFAIiInYFwvIyIgVE8gUFVCTElDOworCitHUkFOVCBBTEwgT04gU0VRVUVOQ0UgcHVi bGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIiBUTyBlbnRlcnByaXNlZGI7CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJpdnNfdXBkYXRlX21z cWwuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQvYWx0ZXJfc2VxX3ByaXZzX3VwZGF0 ZV9tc3FsLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmMzYzJhNWI5 YQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVyX3Nl cV9wcml2c191cGRhdGVfbXNxbC5zcWwKQEAgLTAsMCArMSwyIEBACitSRVZPS0UgQUxMIE9OIFNF UVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyIgRlJPTSBQVUJMSUM7CitH UkFOVCBTRUxFQ1QgT04gU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8j IiBUTyBQVUJMSUM7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRl cl9zZXFfcHJvcHMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQvYWx0ZXJfc2VxX3By b3BzLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLmJjNTk5NTZhNgot LS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2FsdGVyX3NlcV9w cm9wcy5zcWwKQEAgLTAsMCArMSwxNyBAQAorLS0gU0VRVUVOQ0U6IHB1YmxpYy5TZXExXyQle31b XSgpJipeIUAiJ2BcLyMKKworLS0gRFJPUCBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkm Kl4hQCIiJ2BcLyMiOworCitDUkVBVEUgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipe IUAiIidgXC8jIgorICAgIENZQ0xFCisgICAgSU5DUkVNRU5UIDEyCisgICAgU1RBUlQgNQorICAg IE1JTlZBTFVFIDIKKyAgICBNQVhWQUxVRSA5OTkyCisgICAgQ0FDSEUgMjsKKworQUxURVIgU0VR VUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIE9XTkVSIFRPIGVu dGVycHJpc2VkYjsKKworQ09NTUVOVCBPTiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkm Kl4hQCIiJ2BcLyMiCisgICAgSVMgJ1NvbWUgY29tbWVudCc7CmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29z L3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJvcHNfbXNxbC5zcWwgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rl c3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJvcHNfbXNxbC5zcWwKbmV3IGZpbGUgbW9kZSAx MDA2NDQKaW5kZXggMDAwMDAwMDAwLi4zZWQwYzhjMWQKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9m b29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9hbHRlcl9zZXFfcHJvcHNfbXNxbC5zcWwKQEAgLTAsMCAr MSw4IEBACitTRUxFQ1Qgc2V0dmFsKCdwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJydgXC8j IicsIDcsIHRydWUpOworCitBTFRFUiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4h QCIiJ2BcLyMiCisgICAgSU5DUkVNRU5UIDEyCisgICAgTUlOVkFMVUUgMgorICAgIE1BWFZBTFVF IDk5OTIKKyAgICBDQUNIRSAyCisgICAgQ1lDTEU7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3Rz L3BwYXMvZGVmYXVsdC9jcmVhdGVfbmVnYXRpdmVfc2VxdWVuY2Uuc3FsIGIvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0 cy9wcGFzL2RlZmF1bHQvY3JlYXRlX25lZ2F0aXZlX3NlcXVlbmNlLnNxbApuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMDAuLjZhZDQ5ODljNQotLS0gL2Rldi9udWxsCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2Zvb3MvdGVzdHMvcHBhcy9kZWZhdWx0L2NyZWF0ZV9uZWdhdGl2ZV9zZXF1ZW5jZS5zcWwKQEAg LTAsMCArMSwxMyBAQAorLS0gU0VRVUVOQ0U6IHB1YmxpYy5TZXExXyQle31bXSgpJipeIUAiJ2Bc LyMKKworLS0gRFJPUCBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMi OworCitDUkVBVEUgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgor ICAgIElOQ1JFTUVOVCAtNQorICAgIFNUQVJUIC0zMAorICAgIE1JTlZBTFVFIC00MAorICAgIE1B WFZBTFVFIC0xMAorICAgIENBQ0hFIDE7CisKK0FMVEVSIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8k JXt9W10oKSYqXiFAIiInYFwvIyIKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CmRpZmYgLS1n aXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv c2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9jcmVhdGVfbmVnYXRpdmVfc2VxdWVuY2Vf bXNxbC5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9jcmVhdGVfbmVnYXRpdmVfc2Vx dWVuY2VfbXNxbC5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi42NGU3 NTI2NmYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3BwYXMvZGVmYXVsdC9jcmVh dGVfbmVnYXRpdmVfc2VxdWVuY2VfbXNxbC5zcWwKQEAgLTAsMCArMSw5IEBACitDUkVBVEUgU0VR VUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIElOQ1JFTUVOVCAt NQorICAgIFNUQVJUIC0zMAorICAgIE1JTlZBTFVFIC00MAorICAgIE1BWFZBTFVFIC0xMAorICAg IENBQ0hFIDE7CisKK0FMVEVSIFNFUVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiIn YFwvIyIKKyAgICBPV05FUiBUTyBlbnRlcnByaXNlZGI7CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rl c3RzL3BwYXMvZGVmYXVsdC9jcmVhdGVfc2VxdWVuY2Uuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFz L2RlZmF1bHQvY3JlYXRlX3NlcXVlbmNlLnNxbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw MDAwMDAwMDAuLjYxMTIyNmExNAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBh cy9kZWZhdWx0L2NyZWF0ZV9zZXF1ZW5jZS5zcWwKQEAgLTAsMCArMSwxMyBAQAorLS0gU0VRVUVO Q0U6IHB1YmxpYy5TZXExXyQle31bXSgpJipeIUAiJ2BcLyMKKworLS0gRFJPUCBTRVFVRU5DRSBw dWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiOworCitDUkVBVEUgU0VRVUVOQ0UgcHVi bGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8jIgorICAgIElOQ1JFTUVOVCA1CisgICAgU1RB UlQgNQorICAgIE1JTlZBTFVFIDUKKyAgICBNQVhWQUxVRSA5OTkKKyAgICBDQUNIRSAxOworCitB TFRFUiBTRVFVRU5DRSBwdWJsaWMuIlNlcTFfJCV7fVtdKCkmKl4hQCIiJ2BcLyMiCisgICAgT1dO RVIgVE8gZW50ZXJwcmlzZWRiOwpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1 bHQvY3JlYXRlX3NlcXVlbmNlX21zcWwuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2RlZmF1bHQv Y3JlYXRlX3NlcXVlbmNlX21zcWwuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAwMC4uZjkyNmRiZWMyCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy9wcGFzL2Rl ZmF1bHQvY3JlYXRlX3NlcXVlbmNlX21zcWwuc3FsCkBAIC0wLDAgKzEsOSBAQAorQ1JFQVRFIFNF UVVFTkNFIHB1YmxpYy4iU2VxMV8kJXt9W10oKSYqXiFAIiInYFwvIyIKKyAgICBJTkNSRU1FTlQg NQorICAgIFNUQVJUIDUKKyAgICBNSU5WQUxVRSA1CisgICAgTUFYVkFMVUUgOTk5CisgICAgQ0FD SEUgMTsKKworQUxURVIgU0VRVUVOQ0UgcHVibGljLiJTZXExXyQle31bXSgpJipeIUAiIidgXC8j IgorICAgIE9XTkVSIFRPIGVudGVycHJpc2VkYjsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMv cHBhcy9kZWZhdWx0L3Rlc3Rfc2VxdWVuY2VzX3BwYXMuanNvbiBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvcHBh cy9kZWZhdWx0L3Rlc3Rfc2VxdWVuY2VzX3BwYXMuanNvbgpuZXcgZmlsZSBtb2RlIDEwMDY0NApp bmRleCAwMDAwMDAwMDAuLjE2MzlhYWMwNAotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVz dHMvcHBhcy9kZWZhdWx0L3Rlc3Rfc2VxdWVuY2VzX3BwYXMuanNvbgpAQCAtMCwwICsxLDE3MyBA QAoreworICAic2NlbmFyaW9zIjogWworICAgIHsKKyAgICAgICJ0eXBlIjogImNyZWF0ZSIsCisg ICAgICAibmFtZSI6ICJDcmVhdGUgU2VxdWVuY2UiLAorICAgICAgImVuZHBvaW50IjogIk5PREUt c2VxdWVuY2Uub2JqIiwKKyAgICAgICJzcWxfZW5kcG9pbnQiOiAiTk9ERS1zZXF1ZW5jZS5zcWxf aWQiLAorICAgICAgIm1zcWxfZW5kcG9pbnQiOiAiTk9ERS1zZXF1ZW5jZS5tc3FsIiwKKyAgICAg ICJkYXRhIjogeworICAgICAgICAibmFtZSI6ICJTZXExXyQle31bXSgpJipeIUBcIidgXFwvIyIs CisgICAgICAgICJzZXFvd25lciI6ICJlbnRlcnByaXNlZGIiLAorICAgICAgICAic2NoZW1hIjog InB1YmxpYyIsCisgICAgICAgICJpbmNyZW1lbnQiOiAiNSIsCisgICAgICAgICJzdGFydCI6ICI1 IiwKKyAgICAgICAgIm1heGltdW0iOiAiOTk5IiwKKyAgICAgICAgIm1pbmltdW0iOiAiNSIsCisg ICAgICAgICJjYWNoZSI6ICIxIiwKKyAgICAgICAgImN5Y2xlZCI6IGZhbHNlLAorICAgICAgICAi cmVsYWNsIjogW10sCisgICAgICAgICJzZWN1cml0aWVzIjogW10KKyAgICAgIH0sCisgICAgICAi ZXhwZWN0ZWRfc3FsX2ZpbGUiOiAiY3JlYXRlX3NlcXVlbmNlLnNxbCIsCisgICAgICAiZXhwZWN0 ZWRfbXNxbF9maWxlIjogImNyZWF0ZV9zZXF1ZW5jZV9tc3FsLnNxbCIKKyAgICB9LHsKKyAgICAg ICJ0eXBlIjogImFsdGVyIiwKKyAgICAgICJuYW1lIjogIkFsdGVyIFNlcXVlbmNlIGNvbW1lbnQi LAorICAgICAgImVuZHBvaW50IjogIk5PREUtc2VxdWVuY2Uub2JqX2lkIiwKKyAgICAgICJzcWxf ZW5kcG9pbnQiOiAiTk9ERS1zZXF1ZW5jZS5zcWxfaWQiLAorICAgICAgIm1zcWxfZW5kcG9pbnQi OiAiTk9ERS1zZXF1ZW5jZS5tc3FsX2lkIiwKKyAgICAgICJkYXRhIjogeworICAgICAgICAiY29t bWVudCI6ICJTb21lIGNvbW1lbnQiCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX3NxbF9maWxl IjogImFsdGVyX3NlcV9jb21tZW50LnNxbCIsCisgICAgICAiZXhwZWN0ZWRfbXNxbF9maWxlIjog ImFsdGVyX3NlcV9jb21tZW50X21zcWwuc3FsIgorICAgIH0seworICAgICAgInR5cGUiOiAiYWx0 ZXIiLAorICAgICAgIm5hbWUiOiAiQWx0ZXIgU2VxdWVuY2UgcHJvcGVydGllcyIsCisgICAgICAi ZW5kcG9pbnQiOiAiTk9ERS1zZXF1ZW5jZS5vYmpfaWQiLAorICAgICAgInNxbF9lbmRwb2ludCI6 ICJOT0RFLXNlcXVlbmNlLnNxbF9pZCIsCisgICAgICAibXNxbF9lbmRwb2ludCI6ICJOT0RFLXNl cXVlbmNlLm1zcWxfaWQiLAorICAgICAgImRhdGEiOiB7CisgICAgICAgICJjdXJyZW50X3ZhbHVl IjogIjciLCAiaW5jcmVtZW50IjogIjEyIiwgIm1pbmltdW0iOiAiMiIsICJtYXhpbXVtIjogIjk5 OTIiLCAiY2FjaGUiOiAiMiIsICJjeWNsZWQiOiB0cnVlCisgICAgICB9LAorICAgICAgImV4cGVj dGVkX3NxbF9maWxlIjogImFsdGVyX3NlcV9wcm9wcy5zcWwiLAorICAgICAgImV4cGVjdGVkX21z cWxfZmlsZSI6ICJhbHRlcl9zZXFfcHJvcHNfbXNxbC5zcWwiCisgICAgfSx7CisgICAgICAidHlw ZSI6ICJhbHRlciIsCisgICAgICAibmFtZSI6ICJBbHRlciBTZXF1ZW5jZSBhZGQgcHJpdmlsZWdl cyIsCisgICAgICAiZW5kcG9pbnQiOiAiTk9ERS1zZXF1ZW5jZS5vYmpfaWQiLAorICAgICAgInNx bF9lbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLnNxbF9pZCIsCisgICAgICAibXNxbF9lbmRwb2lu dCI6ICJOT0RFLXNlcXVlbmNlLm1zcWxfaWQiLAorICAgICAgImRhdGEiOiB7CisgICAgICAgICJy ZWxhY2wiOiB7CisgICAgICAgICAgImFkZGVkIjpbeworICAgICAgICAgICAgImdyYW50ZWUiOiAi UFVCTElDIiwKKyAgICAgICAgICAgICJncmFudG9yIjogImVudGVycHJpc2VkYiIsCisgICAgICAg ICAgICAicHJpdmlsZWdlcyI6W3sKKyAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogInIi LAorICAgICAgICAgICAgICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICAgIndpdGhf Z3JhbnQiOiBmYWxzZQorICAgICAgICAgICAgfSx7CisgICAgICAgICAgICAgICJwcml2aWxlZ2Vf dHlwZSI6ICJVIiwKKyAgICAgICAgICAgICAgInByaXZpbGVnZSI6IHRydWUsCisgICAgICAgICAg ICAgICJ3aXRoX2dyYW50IjogZmFsc2UKKyAgICAgICAgICAgIH0seworICAgICAgICAgICAgICAi cHJpdmlsZWdlX3R5cGUiOiAidyIsCisgICAgICAgICAgICAgICJwcml2aWxlZ2UiOiB0cnVlLAor ICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IGZhbHNlCisgICAgICAgICAgICB9XQorICAgICAg ICAgIH1dCisgICAgICAgIH0KKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfc3FsX2ZpbGUiOiAi YWx0ZXJfc2VxX3ByaXZzX2FkZC5zcWwiLAorICAgICAgImV4cGVjdGVkX21zcWxfZmlsZSI6ICJh bHRlcl9zZXFfcHJpdnNfYWRkX21zcWwuc3FsIgorICAgIH0seworICAgICAgInR5cGUiOiAiYWx0 ZXIiLAorICAgICAgIm5hbWUiOiAiQWx0ZXIgU2VxdWVuY2UgdXBkYXRlIHByaXZpbGVnZXMiLAor ICAgICAgImVuZHBvaW50IjogIk5PREUtc2VxdWVuY2Uub2JqX2lkIiwKKyAgICAgICJzcWxfZW5k cG9pbnQiOiAiTk9ERS1zZXF1ZW5jZS5zcWxfaWQiLAorICAgICAgIm1zcWxfZW5kcG9pbnQiOiAi Tk9ERS1zZXF1ZW5jZS5tc3FsX2lkIiwKKyAgICAgICJkYXRhIjogeworICAgICAgICAicmVsYWNs IjogeworICAgICAgICAgICJjaGFuZ2VkIjpbeworICAgICAgICAgICAgImdyYW50ZWUiOiAiUFVC TElDIiwKKyAgICAgICAgICAgICJncmFudG9yIjogImVudGVycHJpc2VkYiIsCisgICAgICAgICAg ICAicHJpdmlsZWdlcyI6W3sKKyAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogInIiLAor ICAgICAgICAgICAgICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICAgIndpdGhfZ3Jh bnQiOiBmYWxzZQorICAgICAgICAgICAgfV0KKyAgICAgICAgICB9XQorICAgICAgICB9CisgICAg ICB9LAorICAgICAgImV4cGVjdGVkX3NxbF9maWxlIjogImFsdGVyX3NlcV9wcml2c191cGRhdGUu c3FsIiwKKyAgICAgICJleHBlY3RlZF9tc3FsX2ZpbGUiOiAiYWx0ZXJfc2VxX3ByaXZzX3VwZGF0 ZV9tc3FsLnNxbCIKKyAgICB9LHsKKyAgICAgICJ0eXBlIjogImFsdGVyIiwKKyAgICAgICJuYW1l IjogIkFsdGVyIFNlcXVlbmNlIHJlbW92ZSBwcml2aWxlZ2VzIiwKKyAgICAgICJlbmRwb2ludCI6 ICJOT0RFLXNlcXVlbmNlLm9ial9pZCIsCisgICAgICAic3FsX2VuZHBvaW50IjogIk5PREUtc2Vx dWVuY2Uuc3FsX2lkIiwKKyAgICAgICJtc3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2UubXNx bF9pZCIsCisgICAgICAiZGF0YSI6IHsKKyAgICAgICAgInJlbGFjbCI6IHsKKyAgICAgICAgICAi ZGVsZXRlZCI6W3sKKyAgICAgICAgICAgICJncmFudGVlIjogIlBVQkxJQyIsCisgICAgICAgICAg ICAiZ3JhbnRvciI6ICJlbnRlcnByaXNlZGIiLAorICAgICAgICAgICAgInByaXZpbGVnZXMiOlt7 CisgICAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6ICJyIiwKKyAgICAgICAgICAgICAgInBy aXZpbGVnZSI6IHRydWUsCisgICAgICAgICAgICAgICJ3aXRoX2dyYW50IjogZmFsc2UKKyAgICAg ICAgICAgIH0seworICAgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAiVSIsCisgICAgICAg ICAgICAgICJwcml2aWxlZ2UiOiB0cnVlLAorICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IGZh bHNlCisgICAgICAgICAgICB9LHsKKyAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogInci LAorICAgICAgICAgICAgICAicHJpdmlsZWdlIjogdHJ1ZSwKKyAgICAgICAgICAgICAgIndpdGhf Z3JhbnQiOiBmYWxzZQorICAgICAgICAgICAgfV0KKyAgICAgICAgICB9XQorICAgICAgICB9Cisg ICAgICB9LAorICAgICAgImV4cGVjdGVkX3NxbF9maWxlIjogImFsdGVyX3NlcV9wcml2c19yZW1v dmUuc3FsIiwKKyAgICAgICJleHBlY3RlZF9tc3FsX2ZpbGUiOiAiYWx0ZXJfc2VxX3ByaXZzX3Jl bW92ZV9tc3FsLnNxbCIKKyAgICB9LCB7CisgICAgICAidHlwZSI6ICJkZWxldGUiLAorICAgICAg Im5hbWUiOiAiRHJvcCBzZXF1ZW5jZSIsCisgICAgICAiZW5kcG9pbnQiOiAiTk9ERS1zZXF1ZW5j ZS5kZWxldGVfaWQiLAorICAgICAgImRhdGEiOiB7CisgICAgICAgICJuYW1lIjogIlNlcTFfJCV7 fVtdKCkmKl4hQFwiJ2BcXC8jIgorICAgICAgfQorICAgIH0sIHsKKyAgICAgICJ0eXBlIjogImNy ZWF0ZSIsCisgICAgICAibmFtZSI6ICJDcmVhdGUgU2VxdWVuY2Ugd2l0aCBOZWdhdGl2ZSB2YWx1 ZSIsCisgICAgICAiZW5kcG9pbnQiOiAiTk9ERS1zZXF1ZW5jZS5vYmoiLAorICAgICAgInNxbF9l bmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLnNxbF9pZCIsCisgICAgICAibXNxbF9lbmRwb2ludCI6 ICJOT0RFLXNlcXVlbmNlLm1zcWwiLAorICAgICAgImRhdGEiOiB7CisgICAgICAgICJuYW1lIjog IlNlcTFfJCV7fVtdKCkmKl4hQFwiJ2BcXC8jIiwKKyAgICAgICAgInNlcW93bmVyIjogImVudGVy cHJpc2VkYiIsCisgICAgICAgICJzY2hlbWEiOiAicHVibGljIiwKKyAgICAgICAgImluY3JlbWVu dCI6ICItNSIsCisgICAgICAgICJzdGFydCI6ICItMzAiLAorICAgICAgICAibWF4aW11bSI6ICIt MTAiLAorICAgICAgICAibWluaW11bSI6ICItNDAiLAorICAgICAgICAiY2FjaGUiOiAiMSIsCisg ICAgICAgICJjeWNsZWQiOiBmYWxzZSwKKyAgICAgICAgInJlbGFjbCI6IFtdLAorICAgICAgICAi c2VjdXJpdGllcyI6IFtdCisgICAgICB9LAorICAgICAgImV4cGVjdGVkX3NxbF9maWxlIjogImNy ZWF0ZV9uZWdhdGl2ZV9zZXF1ZW5jZS5zcWwiLAorICAgICAgImV4cGVjdGVkX21zcWxfZmlsZSI6 ICJjcmVhdGVfbmVnYXRpdmVfc2VxdWVuY2VfbXNxbC5zcWwiCisgICAgfSwgeworICAgICAgInR5 cGUiOiAiYWx0ZXIiLAorICAgICAgIm5hbWUiOiAiQWx0ZXIgU2VxdWVuY2UgcHJvcGVydGllcyB3 aXRoIG5lZ2F0aXZlIHZhbHVlIiwKKyAgICAgICJlbmRwb2ludCI6ICJOT0RFLXNlcXVlbmNlLm9i al9pZCIsCisgICAgICAic3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2Uuc3FsX2lkIiwKKyAg ICAgICJtc3FsX2VuZHBvaW50IjogIk5PREUtc2VxdWVuY2UubXNxbF9pZCIsCisgICAgICAiZGF0 YSI6IHsKKyAgICAgICAgImluY3JlbWVudCI6ICItNyIsICJtaW5pbXVtIjogIi0zNSIsICJtYXhp bXVtIjogIi0xNSIKKyAgICAgIH0sCisgICAgICAiZXhwZWN0ZWRfc3FsX2ZpbGUiOiAiYWx0ZXJf bmVnX3NlcV9wcm9wcy5zcWwiLAorICAgICAgImV4cGVjdGVkX21zcWxfZmlsZSI6ICJhbHRlcl9u ZWdfc2VxX3Byb3BzX21zcWwuc3FsIgorICAgIH0sIHsKKyAgICAgICJ0eXBlIjogImRlbGV0ZSIs CisgICAgICAibmFtZSI6ICJEcm9wIG5lZ2F0aXZlIHNlcXVlbmNlIiwKKyAgICAgICJlbmRwb2lu dCI6ICJOT0RFLXNlcXVlbmNlLmRlbGV0ZV9pZCIsCisgICAgICAiZGF0YSI6IHsKKyAgICAgICAg Im5hbWUiOiAiU2VxMV8kJXt9W10oKSYqXiFAXCInYFxcLyMiCisgICAgICB9CisgICAgfQorICBd Cit9CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3Rlc3Rfc2VxdWVuY2VfYWRkLnB5IGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv Zm9vcy90ZXN0cy90ZXN0X3NlcXVlbmNlX2FkZC5weQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl eCAwMDAwMDAwMDAuLjdjMWU4YWFhYwotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMv dGVzdF9zZXF1ZW5jZV9hZGQucHkKQEAgLTAsMCArMSwxMjYgQEAKKyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAy MDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJl IGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjCisKK2ltcG9ydCBqc29uCitpbXBvcnQgdXVpZAorCitmcm9tIHBnYWRtaW4uYnJvd3Nl ci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnNjaGVtYXMudGVzdHMgaW1wb3J0IFwK KyAgICB1dGlscyBhcyBzY2hlbWFfdXRpbHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9n cm91cHMuc2VydmVycy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IHV0aWxzIGFzIFwKKyAgICBkYXRh YmFzZV91dGlscworZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVy YXRvcgorZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHJlZ3Jl c3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKKworCitj bGFzcyBTZXF1ZW5jZUFkZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICAiIiIgVGhp cyBjbGFzcyB3aWxsIGFkZCBuZXcgc2VxdWVuY2UocykgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgor ICAgIHNraXBfb25fZGF0YWJhc2UgPSBbJ2dwZGInXQorICAgIHNjZW5hcmlvcyA9IFsKKyAgICAg ICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3Igc2VxdWVuY2Ugbm9kZS4KKyAgICAgICAgKAor ICAgICAgICAgICAgJ0NyZWF0ZSBzZXF1ZW5jZSB3aXRoIHBvc2l0aXZlIHZhbHVlcycsCisgICAg ICAgICAgICBkaWN0KAorICAgICAgICAgICAgICAgIHVybD0nL2Jyb3dzZXIvc2VxdWVuY2Uvb2Jq LycsCisgICAgICAgICAgICAgICAgIyBWYWxpZCBvcHRpb25hbCBkYXRhCisgICAgICAgICAgICAg ICAgZGF0YT17CisgICAgICAgICAgICAgICAgICAgICJjYWNoZSI6ICIxIiwKKyAgICAgICAgICAg ICAgICAgICAgImN5Y2xlZCI6IFRydWUsCisgICAgICAgICAgICAgICAgICAgICJpbmNyZW1lbnQi OiAiMSIsCisgICAgICAgICAgICAgICAgICAgICJtYXhpbXVtIjogIjEwMDAwMCIsCisgICAgICAg ICAgICAgICAgICAgICJtaW5pbXVtIjogIjEiLAorICAgICAgICAgICAgICAgICAgICAibmFtZSI6 ICJ0ZXN0X3NlcXVlbmNlX2FkZF8lcyIgJSAoc3RyKHV1aWQudXVpZDQoKSlbMTo4XSksCisgICAg ICAgICAgICAgICAgICAgICJzZWN1cml0aWVzIjogW10sCisgICAgICAgICAgICAgICAgICAgICJz dGFydCI6ICIxMDAiCisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgKQorICAgICAgICAp LAorICAgICAgICAoCisgICAgICAgICAgICAnQ3JlYXRlIHNlcXVlbmNlIHdpdGggbmVnYXRpdmUg dmFsdWVzJywKKyAgICAgICAgICAgIGRpY3QoCisgICAgICAgICAgICAgICAgdXJsPScvYnJvd3Nl ci9zZXF1ZW5jZS9vYmovJywKKyAgICAgICAgICAgICAgICAjIFZhbGlkIG9wdGlvbmFsIGRhdGEK KyAgICAgICAgICAgICAgICBkYXRhPXsKKyAgICAgICAgICAgICAgICAgICAgImNhY2hlIjogIjEi LAorICAgICAgICAgICAgICAgICAgICAiY3ljbGVkIjogVHJ1ZSwKKyAgICAgICAgICAgICAgICAg ICAgImluY3JlbWVudCI6ICItNSIsCisgICAgICAgICAgICAgICAgICAgICJtYXhpbXVtIjogIi0x MCIsCisgICAgICAgICAgICAgICAgICAgICJtaW5pbXVtIjogIi00MCIsCisgICAgICAgICAgICAg ICAgICAgICJuYW1lIjogInRlc3Rfc2VxdWVuY2VfYWRkXyVzIiAlIChzdHIodXVpZC51dWlkNCgp KVsxOjhdKSwKKyAgICAgICAgICAgICAgICAgICAgInNlY3VyaXRpZXMiOiBbXSwKKyAgICAgICAg ICAgICAgICAgICAgInN0YXJ0IjogIi0zMCIKKyAgICAgICAgICAgICAgICB9CisgICAgICAgICAg ICApCisgICAgICAgICkKKyAgICBdCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgIHN1 cGVyKFNlcXVlbmNlQWRkVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKworICAgIGRlZiBydW5UZXN0 KHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIHdpbGwgYWRkIHNlcXVlbmNlKHMpIHVu ZGVyIHNjaGVtYSBub2RlLiIiIgorICAgICAgICBkYl9uYW1lID0gcGFyZW50X25vZGVfZGljdFsi ZGF0YWJhc2UiXVstMV1bImRiX25hbWUiXQorICAgICAgICBzY2hlbWFfaW5mbyA9IHBhcmVudF9u b2RlX2RpY3RbInNjaGVtYSJdWy0xXQorICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNjaGVtYV9p bmZvWyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLmRiX2lkID0gc2NoZW1hX2luZm9bImRiX2lk Il0KKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRpbHMuY29ubmVjdF9kYXRhYmFzZShzZWxm LCB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCisgICAgICAgIGlmIG5v dCBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06CisgICAgICAgICAgICByYWlzZSBFeGNlcHRp b24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGFkZCBzZXF1ZW5jZS4iKQorICAg ICAgICBzY2hlbWFfaWQgPSBzY2hlbWFfaW5mb1sic2NoZW1hX2lkIl0KKyAgICAgICAgc2NoZW1h X25hbWUgPSBzY2hlbWFfaW5mb1sic2NoZW1hX25hbWUiXQorICAgICAgICBzY2hlbWFfcmVzcG9u c2UgPSBzY2hlbWFfdXRpbHMudmVyaWZ5X3NjaGVtYXMoc2VsZi5zZXJ2ZXIsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYl9uYW1lLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2NoZW1h X25hbWUpCisgICAgICAgIGlmIG5vdCBzY2hlbWFfcmVzcG9uc2U6CisgICAgICAgICAgICByYWlz ZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBmaW5kIHRoZSBzY2hlbWEgdG8gYWRkIHNlcXVlbmNlLiIp CisgICAgICAgIGRiX3VzZXIgPSBzZWxmLnNlcnZlclsidXNlcm5hbWUiXQorCisgICAgICAgIGNv bW1vbl9kYXRhID0geworICAgICAgICAgICAgInJlbGFjbCI6IFsKKyAgICAgICAgICAgICAgICB7 CisgICAgICAgICAgICAgICAgICAgICJncmFudGVlIjogZGJfdXNlciwKKyAgICAgICAgICAgICAg ICAgICAgImdyYW50b3IiOiBkYl91c2VyLAorICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdl cyI6CisgICAgICAgICAgICAgICAgICAgICAgICBbCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgeworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAi ciIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2UiOiBUcnVlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IFRydWUKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgIHsK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogInciLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdlIjogVHJ1ZSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBGYWxzZQorICAgICAgICAg ICAgICAgICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgeworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUiOiAiVSIsCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICJwcml2aWxlZ2UiOiBUcnVlLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAid2l0aF9ncmFudCI6IEZhbHNlCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICAgICAgXQorICAgICAgICAgICAg ICAgIH0KKyAgICAgICAgICAgIF0sCisgICAgICAgICAgICAic2NoZW1hIjogc2NoZW1hX25hbWUs CisgICAgICAgICAgICAic2Vxb3duZXIiOiBkYl91c2VyLAorICAgICAgICB9CisKKyAgICAgICAg c2VsZi5kYXRhLnVwZGF0ZShjb21tb25fZGF0YSkKKworICAgICAgICByZXNwb25zZSA9IHNlbGYu dGVzdGVyLnBvc3QoCisgICAgICAgICAgICBzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JP VVApICsgJy8nICsKKyAgICAgICAgICAgIHN0cihzZWxmLnNlcnZlcl9pZCkgKyAnLycgKyBzdHIo c2VsZi5kYl9pZCkgKworICAgICAgICAgICAgJy8nICsgc3RyKHNjaGVtYV9pZCkgKyAnLycsCisg ICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi5kYXRhKSwKKyAgICAgICAgICAgIGNvbnRl bnRfdHlwZT0naHRtbC9qc29uJykKKyAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uu c3RhdHVzX2NvZGUsIDIwMCkKKworICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIyBE aXNjb25uZWN0IHRoZSBkYXRhYmFzZQorICAgICAgICBkYXRhYmFzZV91dGlscy5kaXNjb25uZWN0 X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvZm9vcy90ZXN0cy90ZXN0X3NlcXVlbmNlX2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvdGVz dF9zZXF1ZW5jZV9kZWxldGUucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw Li4yOTRiYzRkNjMKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3Rlc3Rfc2VxdWVu Y2VfZGVsZXRlLnB5CkBAIC0wLDAgKzEsNjkgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBn QWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAy MCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVh c2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisK K2ltcG9ydCB1dWlkCisKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVy cy5kYXRhYmFzZXMuc2NoZW1hcy50ZXN0cyBpbXBvcnQgXAorICAgIHV0aWxzIGFzIHNjaGVtYV91 dGlscworZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFiYXNl cy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMgXAorICAgIGRhdGFiYXNlX3V0aWxzCitmcm9tIHBnYWRt aW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24g aW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKK2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGls cyBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworZnJvbSAuIGltcG9ydCB1dGlscyBhcyBzZXF1 ZW5jZV91dGlscworCisKK2NsYXNzIFNlcXVlbmNlRGVsZXRlVGVzdENhc2UoQmFzZVRlc3RHZW5l cmF0b3IpOgorICAgICIiIlRoaXMgY2xhc3Mgd2lsbCBkZWxldGUgYWRkZWQgc2VxdWVuY2UgdW5k ZXIgc2NoZW1hIG5vZGUuIiIiCisgICAgc2tpcF9vbl9kYXRhYmFzZSA9IFsnZ3BkYiddCisgICAg c2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBzZXF1ZW5j ZSBub2RlLgorICAgICAgICAoJ0ZldGNoIHNlcXVlbmNlIE5vZGUgVVJMJywgZGljdCh1cmw9Jy9i cm93c2VyL3NlcXVlbmNlL29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgc2V0VXAoc2VsZik6Cisg ICAgICAgIHN1cGVyKFNlcXVlbmNlRGVsZXRlVGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAg ICAgc2VsZi5kYl9uYW1lID0gcGFyZW50X25vZGVfZGljdFsiZGF0YWJhc2UiXVstMV1bImRiX25h bWUiXQorICAgICAgICBzY2hlbWFfaW5mbyA9IHBhcmVudF9ub2RlX2RpY3RbInNjaGVtYSJdWy0x XQorICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNjaGVtYV9pbmZvWyJzZXJ2ZXJfaWQiXQorICAg ICAgICBzZWxmLmRiX2lkID0gc2NoZW1hX2luZm9bImRiX2lkIl0KKyAgICAgICAgZGJfY29uID0g ZGF0YWJhc2VfdXRpbHMuY29ubmVjdF9kYXRhYmFzZShzZWxmLCB1dGlscy5TRVJWRVJfR1JPVVAs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5z ZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCisgICAgICAgIGlmIG5vdCBkYl9jb25bJ2RhdGEnXVsiY29u bmVjdGVkIl06CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0 IHRvIGRhdGFiYXNlIHRvIGFkZCBzZXF1ZW5jZS4iKQorICAgICAgICBzZWxmLnNjaGVtYV9pZCA9 IHNjaGVtYV9pbmZvWyJzY2hlbWFfaWQiXQorICAgICAgICBzZWxmLnNjaGVtYV9uYW1lID0gc2No ZW1hX2luZm9bInNjaGVtYV9uYW1lIl0KKyAgICAgICAgc2NoZW1hX3Jlc3BvbnNlID0gc2NoZW1h X3V0aWxzLnZlcmlmeV9zY2hlbWFzKHNlbGYuc2VydmVyLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kYl9uYW1lLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFf bmFtZSkKKyAgICAgICAgaWYgbm90IHNjaGVtYV9yZXNwb25zZToKKyAgICAgICAgICAgIHJhaXNl IEV4Y2VwdGlvbigiQ291bGQgbm90IGZpbmQgdGhlIHNjaGVtYSB0byBhZGQgc2VxdWVuY2UuIikK KyAgICAgICAgc2VsZi5zZXF1ZW5jZV9uYW1lID0gInRlc3Rfc2VxdWVuY2VfZGVsZXRlXyVzIiAl IHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0KKyAgICAgICAgc2VsZi5zZXF1ZW5jZV9pZCA9IHNlcXVl bmNlX3V0aWxzLmNyZWF0ZV9zZXF1ZW5jZXMoCisgICAgICAgICAgICBzZWxmLnNlcnZlciwgc2Vs Zi5kYl9uYW1lLCBzZWxmLnNjaGVtYV9uYW1lLCBzZWxmLnNlcXVlbmNlX25hbWUpCisKKyAgICBk ZWYgcnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBkZWxldGUg YWRkZWQgc2VxdWVuY2UgdW5kZXIgc2NoZW1hIG5vZGUuICIiIgorICAgICAgICBzZXF1ZW5jZV9y ZXNwb25zZSA9IHNlcXVlbmNlX3V0aWxzLnZlcmlmeV9zZXF1ZW5jZShzZWxmLnNlcnZlciwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5kYl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLnNlcXVlbmNlX25hbWUpCisgICAgICAgIGlmIG5vdCBzZXF1 ZW5jZV9yZXNwb25zZToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGZp bmQgdGhlIHNlcXVlbmNlIHRvIGRlbGV0ZS4iKQorICAgICAgICByZXNwb25zZSA9IHNlbGYudGVz dGVyLmRlbGV0ZSgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9V UCkgKyAnLycgKworICAgICAgICAgICAgc3RyKHNlbGYuc2VydmVyX2lkKSArICcvJyArCisgICAg ICAgICAgICBzdHIoc2VsZi5kYl9pZCkgKyAnLycgKworICAgICAgICAgICAgc3RyKHNlbGYuc2No ZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICBzdHIoc2VsZi5zZXF1ZW5jZV9pZCksCisgICAg ICAgICAgICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxz KHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6Cisg ICAgICAgICMgRGlzY29ubmVjdCB0aGUgZGF0YWJhc2UKKyAgICAgICAgZGF0YWJhc2VfdXRpbHMu ZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL2Zvb3MvdGVzdHMvdGVzdF9zZXF1ZW5jZV9kZWxldGVfbXVsdGlwbGUucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2No ZW1hcy9mb29zL3Rlc3RzL3Rlc3Rfc2VxdWVuY2VfZGVsZXRlX211bHRpcGxlLnB5Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4uZjVjYWRkOGQ1Ci0tLSAvZGV2L251bGwKKysr IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Nj aGVtYXMvZm9vcy90ZXN0cy90ZXN0X3NlcXVlbmNlX2RlbGV0ZV9tdWx0aXBsZS5weQpAQCAtMCww ICsxLDkzIEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FM IFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRoZSBwZ0FkbWluIERldmVs b3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdy ZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpbXBvcnQgdXVpZAoraW1wb3J0 IGpzb24KKworZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLmRhdGFi YXNlcy5zY2hlbWFzLnRlc3RzIGltcG9ydCBcCisgICAgdXRpbHMgYXMgc2NoZW1hX3V0aWxzCitm cm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3Rz IGltcG9ydCB1dGlscyBhcyBcCisgICAgZGF0YWJhc2VfdXRpbHMKK2Zyb20gcGdhZG1pbi51dGls cy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQg cGFyZW50X25vZGVfZGljdAorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90ZXN0X3V0aWxzIGltcG9y dCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIHNlcXVlbmNlX3V0 aWxzCisKKworY2xhc3MgU2VxdWVuY2VEZWxldGVNdWx0aXBsZVRlc3RDYXNlKEJhc2VUZXN0R2Vu ZXJhdG9yKToKKyAgICAiIiJUaGlzIGNsYXNzIHdpbGwgZGVsZXRlIGFkZGVkIHNlcXVlbmNlIHVu ZGVyIHNjaGVtYSBub2RlLiIiIgorICAgIHNraXBfb25fZGF0YWJhc2UgPSBbJ2dwZGInXQorICAg IHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBmb3Igc2VxdWVu Y2Ugbm9kZS4KKyAgICAgICAgKCdGZXRjaCBzZXF1ZW5jZSBOb2RlIFVSTCcsIGRpY3QodXJsPScv YnJvd3Nlci9zZXF1ZW5jZS9vYmovJykpCisgICAgXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgor ICAgICAgICBzdXBlcihTZXF1ZW5jZURlbGV0ZU11bHRpcGxlVGVzdENhc2UsIHNlbGYpLnNldFVw KCkKKyAgICAgICAgc2VsZi5kYl9uYW1lID0gcGFyZW50X25vZGVfZGljdFsiZGF0YWJhc2UiXVst MV1bImRiX25hbWUiXQorICAgICAgICBzY2hlbWFfaW5mbyA9IHBhcmVudF9ub2RlX2RpY3RbInNj aGVtYSJdWy0xXQorICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNjaGVtYV9pbmZvWyJzZXJ2ZXJf aWQiXQorICAgICAgICBzZWxmLmRiX2lkID0gc2NoZW1hX2luZm9bImRiX2lkIl0KKyAgICAgICAg ZGJfY29uID0gZGF0YWJhc2VfdXRpbHMuY29ubmVjdF9kYXRhYmFzZShzZWxmLCB1dGlscy5TRVJW RVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5zZXJ2ZXJfaWQsIHNlbGYuZGJfaWQpCisgICAgICAgIGlmIG5vdCBkYl9jb25bJ2Rh dGEnXVsiY29ubmVjdGVkIl06CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5v dCBjb25uZWN0IHRvIGRhdGFiYXNlIHRvIGFkZCBzZXF1ZW5jZS4iKQorICAgICAgICBzZWxmLnNj aGVtYV9pZCA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfaWQiXQorICAgICAgICBzZWxmLnNjaGVtYV9u YW1lID0gc2NoZW1hX2luZm9bInNjaGVtYV9uYW1lIl0KKyAgICAgICAgc2NoZW1hX3Jlc3BvbnNl ID0gc2NoZW1hX3V0aWxzLnZlcmlmeV9zY2hlbWFzKHNlbGYuc2VydmVyLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kYl9uYW1lLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5zY2hlbWFfbmFtZSkKKyAgICAgICAgaWYgbm90IHNjaGVtYV9yZXNwb25zZToKKyAgICAgICAg ICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90IGZpbmQgdGhlIHNjaGVtYSB0byBhZGQgc2Vx dWVuY2UuIikKKyAgICAgICAgc2VsZi5zZXF1ZW5jZV9uYW1lID0gInRlc3Rfc2VxdWVuY2VfZGVs ZXRlXyVzIiAlIHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0KKyAgICAgICAgc2VsZi5zZXF1ZW5jZV9u YW1lXzEgPSAidGVzdF9zZXF1ZW5jZV9kZWxldGVfJXMiICVcCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RyKHV1aWQudXVpZDQoKSlbMTo4XQorCisgICAgICAgIHNlbGYuc2VxdWVu Y2VfaWRzID0gW3NlcXVlbmNlX3V0aWxzLmNyZWF0ZV9zZXF1ZW5jZXMoCisgICAgICAgICAgICBz ZWxmLnNlcnZlciwKKyAgICAgICAgICAgIHNlbGYuZGJfbmFtZSwKKyAgICAgICAgICAgIHNlbGYu c2NoZW1hX25hbWUsCisgICAgICAgICAgICBzZWxmLnNlcXVlbmNlX25hbWUpLAorICAgICAgICAg ICAgc2VxdWVuY2VfdXRpbHMuY3JlYXRlX3NlcXVlbmNlcygKKyAgICAgICAgICAgICAgICBzZWxm LnNlcnZlciwKKyAgICAgICAgICAgICAgICBzZWxmLmRiX25hbWUsCisgICAgICAgICAgICAgICAg c2VsZi5zY2hlbWFfbmFtZSwKKyAgICAgICAgICAgICAgICBzZWxmLnNlcXVlbmNlX25hbWVfMSkK KyAgICAgICAgXQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1 bmN0aW9uIHdpbGwgZGVsZXRlIGFkZGVkIHNlcXVlbmNlIHVuZGVyIHNjaGVtYSBub2RlLiAiIiIK KyAgICAgICAgc2VxdWVuY2VfcmVzcG9uc2UgPSBzZXF1ZW5jZV91dGlscy52ZXJpZnlfc2VxdWVu Y2Uoc2VsZi5zZXJ2ZXIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYuZGJfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXF1ZW5jZV9uYW1lKQor ICAgICAgICBpZiBub3Qgc2VxdWVuY2VfcmVzcG9uc2U6CisgICAgICAgICAgICByYWlzZSBFeGNl cHRpb24oIkNvdWxkIG5vdCBmaW5kIHRoZSBzZXF1ZW5jZSB0byBkZWxldGUuIikKKworICAgICAg ICBzZXF1ZW5jZV9yZXNwb25zZSA9IHNlcXVlbmNlX3V0aWxzLnZlcmlmeV9zZXF1ZW5jZShzZWxm LnNlcnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5kYl9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcXVlbmNlX25hbWVfMQorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisg ICAgICAgIGlmIG5vdCBzZXF1ZW5jZV9yZXNwb25zZToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiQ291bGQgbm90IGZpbmQgdGhlIHNlcXVlbmNlIHRvIGRlbGV0ZS4iKQorCisgICAgICAg IGRhdGEgPSBqc29uLmR1bXBzKHsnaWRzJzogc2VsZi5zZXF1ZW5jZV9pZHN9KQorICAgICAgICBy ZXNwb25zZSA9IHNlbGYudGVzdGVyLmRlbGV0ZSgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3Ry KHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycgKworICAgICAgICAgICAgc3RyKHNlbGYuc2VydmVy X2lkKSArICcvJyArCisgICAgICAgICAgICBzdHIoc2VsZi5kYl9pZCkgKyAnLycgKworICAgICAg ICAgICAgc3RyKHNlbGYuc2NoZW1hX2lkKSArICcvJywKKyAgICAgICAgICAgIGZvbGxvd19yZWRp cmVjdHM9VHJ1ZSwKKyAgICAgICAgICAgIGRhdGE9ZGF0YSwKKyAgICAgICAgICAgIGNvbnRlbnRf dHlwZT0naHRtbC9qc29uJworICAgICAgICApCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJl c3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAg ICAgICMgRGlzY29ubmVjdCB0aGUgZGF0YWJhc2UKKyAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGlz Y29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAt LWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL2Zvb3MvdGVzdHMvdGVzdF9zZXF1ZW5jZV9nZXQucHkgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3Rz L3Rlc3Rfc2VxdWVuY2VfZ2V0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw MC4uOTEyMGE4OTAwCi0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy90ZXN0X3NlcXVl bmNlX2dldC5weQpAQCAtMCwwICsxLDY0IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0Fk bWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAs IFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNl ZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitp bXBvcnQgdXVpZAorCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMu ZGF0YWJhc2VzLnNjaGVtYXMudGVzdHMgaW1wb3J0IFwKKyAgICB1dGlscyBhcyBzY2hlbWFfdXRp bHMKK2Zyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMu dGVzdHMgaW1wb3J0IHV0aWxzIGFzIFwKKyAgICBkYXRhYmFzZV91dGlscworZnJvbSBwZ2FkbWlu LnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdlbmVyYXRvcgorZnJvbSByZWdyZXNzaW9uIGlt cG9ydCBwYXJlbnRfbm9kZV9kaWN0Citmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMg aW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKK2Zyb20gLiBpbXBvcnQgdXRpbHMgYXMgc2VxdWVu Y2VfdXRpbHMKKworCitjbGFzcyBTZXF1ZW5jZUdldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9y KToKKyAgICAiIiJUaGlzIGNsYXNzIHdpbGwgZmV0Y2ggYWRkZWQgc2VxdWVuY2UgdW5kZXIgc2No ZW1hIG5vZGUuIiIiCisgICAgc2tpcF9vbl9kYXRhYmFzZSA9IFsnZ3BkYiddCisgICAgc2NlbmFy aW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBzZXF1ZW5jZSBub2Rl LgorICAgICAgICAoJ0ZldGNoIHNlcXVlbmNlIE5vZGUgVVJMJywgZGljdCh1cmw9Jy9icm93c2Vy L3NlcXVlbmNlL29iai8nKSkKKyAgICBdCisKKyAgICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAg IHN1cGVyKFNlcXVlbmNlR2V0VGVzdENhc2UsIHNlbGYpLnNldFVwKCkKKyAgICAgICAgc2VsZi5k Yl9uYW1lID0gcGFyZW50X25vZGVfZGljdFsiZGF0YWJhc2UiXVstMV1bImRiX25hbWUiXQorICAg ICAgICBzY2hlbWFfaW5mbyA9IHBhcmVudF9ub2RlX2RpY3RbInNjaGVtYSJdWy0xXQorICAgICAg ICBzZWxmLnNlcnZlcl9pZCA9IHNjaGVtYV9pbmZvWyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxm LmRiX2lkID0gc2NoZW1hX2luZm9bImRiX2lkIl0KKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2Vf dXRpbHMuY29ubmVjdF9kYXRhYmFzZShzZWxmLCB1dGlscy5TRVJWRVJfR1JPVVAsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaWQs IHNlbGYuZGJfaWQpCisgICAgICAgIGlmIG5vdCBkYl9jb25bJ2RhdGEnXVsiY29ubmVjdGVkIl06 CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFi YXNlIHRvIGFkZCBzZXF1ZW5jZS4iKQorICAgICAgICBzZWxmLnNjaGVtYV9pZCA9IHNjaGVtYV9p bmZvWyJzY2hlbWFfaWQiXQorICAgICAgICBzZWxmLnNjaGVtYV9uYW1lID0gc2NoZW1hX2luZm9b InNjaGVtYV9uYW1lIl0KKyAgICAgICAgc2NoZW1hX3Jlc3BvbnNlID0gc2NoZW1hX3V0aWxzLnZl cmlmeV9zY2hlbWFzKHNlbGYuc2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5kYl9uYW1lLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zY2hlbWFfbmFtZSkKKyAg ICAgICAgaWYgbm90IHNjaGVtYV9yZXNwb25zZToKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlv bigiQ291bGQgbm90IGZpbmQgdGhlIHNjaGVtYSB0byBhZGQgc2VxdWVuY2UuIikKKyAgICAgICAg c2VsZi5zZXF1ZW5jZV9uYW1lID0gInRlc3Rfc2VxdWVuY2VfZGVsZXRlXyVzIiAlIHN0cih1dWlk LnV1aWQ0KCkpWzE6OF0KKyAgICAgICAgc2VsZi5zZXF1ZW5jZV9pZCA9IHNlcXVlbmNlX3V0aWxz LmNyZWF0ZV9zZXF1ZW5jZXMoCisgICAgICAgICAgICBzZWxmLnNlcnZlciwgc2VsZi5kYl9uYW1l LCBzZWxmLnNjaGVtYV9uYW1lLCBzZWxmLnNlcXVlbmNlX25hbWUpCisKKyAgICBkZWYgcnVuVGVz dChzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiB3aWxsIGZldGNoIGFkZGVkIHNlcXVl bmNlIHVuZGVyIHNjaGVtYSBub2RlLiIiIgorICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVy LmdldCgKKyAgICAgICAgICAgIHNlbGYudXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAn LycgKworICAgICAgICAgICAgc3RyKHNlbGYuc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAg ICBzdHIoc2VsZi5kYl9pZCkgKyAnLycgKworICAgICAgICAgICAgc3RyKHNlbGYuc2NoZW1hX2lk KSArICcvJyArCisgICAgICAgICAgICBzdHIoc2VsZi5zZXF1ZW5jZV9pZCksCisgICAgICAgICAg ICBmb2xsb3dfcmVkaXJlY3RzPVRydWUpCisgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3Bv bnNlLnN0YXR1c19jb2RlLCAyMDApCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAg ICMgRGlzY29ubmVjdCB0aGUgZGF0YWJhc2UKKyAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGlzY29u bmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwgc2VsZi5kYl9pZCkKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL2Zvb3MvdGVzdHMvdGVzdF9zZXF1ZW5jZV9wdXQucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3Rl c3Rfc2VxdWVuY2VfcHV0LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMC4u MWVlZWRkMTA2Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy90ZXN0X3NlcXVlbmNl X3B1dC5weQpAQCAtMCwwICsxLDk4IEBACisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIworIyBwZ0FkbWlu IDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMjAsIFRo ZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1 bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCisjCisjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworCitpbXBv cnQganNvbgoraW1wb3J0IHV1aWQKKworZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vw cy5zZXJ2ZXJzLmRhdGFiYXNlcy5zY2hlbWFzLnRlc3RzIGltcG9ydCBcCisgICAgdXRpbHMgYXMg c2NoZW1hX3V0aWxzCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMu ZGF0YWJhc2VzLnRlc3RzIGltcG9ydCB1dGlscyBhcyBcCisgICAgZGF0YWJhc2VfdXRpbHMKK2Zy b20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVn cmVzc2lvbiBpbXBvcnQgcGFyZW50X25vZGVfZGljdAorZnJvbSByZWdyZXNzaW9uLnB5dGhvbl90 ZXN0X3V0aWxzIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCitmcm9tIC4gaW1wb3J0IHV0aWxz IGFzIHNlcXVlbmNlX3V0aWxzCisKKworY2xhc3MgU2VxdWVuY2VQdXRUZXN0Q2FzZShCYXNlVGVz dEdlbmVyYXRvcik6CisgICAgIiIiVGhpcyBjbGFzcyB3aWxsIHVwZGF0ZSBhZGRlZCBzZXF1ZW5j ZSB1bmRlciBzY2hlbWEgbm9kZS4iIiIKKyAgICBza2lwX29uX2RhdGFiYXNlID0gWydncGRiJ10K KyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIHNl cXVlbmNlIG5vZGUuCisgICAgICAgICgnQWx0ZXIgcG9zaXRpdmUgc2VxdWVuY2UgY29tbWVudCwg aW5jcmVtZW50LCBtYXggYW5kIG1pbiB2YWx1ZScsCisgICAgICAgICBkaWN0KAorICAgICAgICAg ICAgIHVybD0nL2Jyb3dzZXIvc2VxdWVuY2Uvb2JqLycsCisgICAgICAgICAgICAgZGF0YT17Cisg ICAgICAgICAgICAgICAgICJjb21tZW50IjogIlRoaXMgaXMgc2VxdWVuY2UgdXBkYXRlIGNvbW1l bnQiLAorICAgICAgICAgICAgICAgICAiaW5jcmVtZW50IjogIjUiLAorICAgICAgICAgICAgICAg ICAibWF4aW11bSI6ICIxMDAwIiwKKyAgICAgICAgICAgICAgICAgIm1pbmltdW0iOiAiMTAiLAor ICAgICAgICAgICAgIH0sCisgICAgICAgICAgICAgcG9zaXRpdmVfc2VxPVRydWUKKyAgICAgICAg ICkpLAorICAgICAgICAoJ0FsdGVyIG5lZ2F0aXZlIHNlcXVlbmNlIGNvbW1lbnQsIGluY3JlbWVu dCwgbWF4IGFuZCBtaW4gdmFsdWUnLAorICAgICAgICAgZGljdCgKKyAgICAgICAgICAgICB1cmw9 Jy9icm93c2VyL3NlcXVlbmNlL29iai8nLAorICAgICAgICAgICAgIGRhdGE9eworICAgICAgICAg ICAgICAgICAiY29tbWVudCI6ICJUaGlzIGlzIHNlcXVlbmNlIHVwZGF0ZSBjb21tZW50IiwKKyAg ICAgICAgICAgICAgICAgImluY3JlbWVudCI6ICItNyIsCisgICAgICAgICAgICAgICAgICJtYXhp bXVtIjogIi0xNSIsCisgICAgICAgICAgICAgICAgICJtaW5pbXVtIjogIi0zNSIsCisgICAgICAg ICAgICAgfSwKKyAgICAgICAgICAgICBwb3NpdGl2ZV9zZXE9RmFsc2UKKyAgICAgICAgICkpCisg ICAgXQorCisgICAgZGVmIHNldFVwKHNlbGYpOgorICAgICAgICBzdXBlcihTZXF1ZW5jZVB1dFRl c3RDYXNlLCBzZWxmKS5zZXRVcCgpCisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHBhcmVudF9ub2Rl X2RpY3RbImRhdGFiYXNlIl1bLTFdWyJkYl9uYW1lIl0KKyAgICAgICAgc2NoZW1hX2luZm8gPSBw YXJlbnRfbm9kZV9kaWN0WyJzY2hlbWEiXVstMV0KKyAgICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSBz Y2hlbWFfaW5mb1sic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5kYl9pZCA9IHNjaGVtYV9pbmZv WyJkYl9pZCJdCisgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJh c2Uoc2VsZiwgdXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lkLCBzZWxmLmRiX2lkKQorICAgICAg ICBpZiBub3QgZGJfY29uWydkYXRhJ11bImNvbm5lY3RlZCJdOgorICAgICAgICAgICAgcmFpc2Ug RXhjZXB0aW9uKCJDb3VsZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZSB0byBhZGQgc2VxdWVuY2Uu IikKKyAgICAgICAgc2VsZi5zY2hlbWFfaWQgPSBzY2hlbWFfaW5mb1sic2NoZW1hX2lkIl0KKyAg ICAgICAgc2VsZi5zY2hlbWFfbmFtZSA9IHNjaGVtYV9pbmZvWyJzY2hlbWFfbmFtZSJdCisgICAg ICAgIHNjaGVtYV9yZXNwb25zZSA9IHNjaGVtYV91dGlscy52ZXJpZnlfc2NoZW1hcyhzZWxmLnNl cnZlciwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYuZGJfbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlbGYuc2NoZW1hX25hbWUpCisgICAgICAgIGlmIG5vdCBzY2hlbWFf cmVzcG9uc2U6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBmaW5kIHRo ZSBzY2hlbWEgdG8gYWRkIHNlcXVlbmNlLiIpCisgICAgICAgIHNlbGYuc2VxdWVuY2VfbmFtZSA9 ICJ0ZXN0X3NlcXVlbmNlX2RlbGV0ZV8lcyIgJSBzdHIodXVpZC51dWlkNCgpKVsxOjhdCisgICAg ICAgIHNlbGYuc2VxdWVuY2VfaWQgPSBzZXF1ZW5jZV91dGlscy5jcmVhdGVfc2VxdWVuY2VzKAor ICAgICAgICAgICAgc2VsZi5zZXJ2ZXIsIHNlbGYuZGJfbmFtZSwgc2VsZi5zY2hlbWFfbmFtZSwg c2VsZi5zZXF1ZW5jZV9uYW1lLAorICAgICAgICAgICAgc2VsZi5wb3NpdGl2ZV9zZXEKKyAgICAg ICAgKQorCisgICAgZGVmIHJ1blRlc3Qoc2VsZik6CisgICAgICAgICIiIlRoaXMgZnVuY3Rpb24g d2lsbCB1cGRhdGUgYWRkZWQgc2VxdWVuY2UgdW5kZXIgc2NoZW1hIG5vZGUuIiIiCisgICAgICAg IHNlcXVlbmNlX3Jlc3BvbnNlID0gc2VxdWVuY2VfdXRpbHMudmVyaWZ5X3NlcXVlbmNlKHNlbGYu c2VydmVyLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLmRiX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VxdWVuY2VfbmFtZSkKKyAgICAgICAg aWYgbm90IHNlcXVlbmNlX3Jlc3BvbnNlOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJD b3VsZCBub3QgZmluZCB0aGUgc2VxdWVuY2UgdG8gZGVsZXRlLiIpCisKKyAgICAgICAgIyBBZGQg c2VxdWVuY2UgaWQuCisgICAgICAgIHNlbGYuZGF0YVsiaWQiXSA9IHNlbGYuc2VxdWVuY2VfaWQK KworICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLnB1dCgKKyAgICAgICAgICAgIHNlbGYu dXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycgKworICAgICAgICAgICAgc3RyKHNl bGYuc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAgICBzdHIoc2VsZi5kYl9pZCkgKyAnLycg KworICAgICAgICAgICAgc3RyKHNlbGYuc2NoZW1hX2lkKSArICcvJyArCisgICAgICAgICAgICBz dHIoc2VsZi5zZXF1ZW5jZV9pZCksCisgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi5k YXRhKSwKKyAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKyAgICAgICAgc2VsZi5h c3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKworICAgIGRlZiB0ZWFyRG93 bihzZWxmKToKKyAgICAgICAgIyBEaXNjb25uZWN0IHRoZSBkYXRhYmFzZQorICAgICAgICBkYXRh YmFzZV91dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLCBzZWxm LmRiX2lkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9vcy90ZXN0cy91dGlscy5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3MvdGVz dHMvdXRpbHMucHkKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwLi5kNDc2ODgw MjYKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy9mb29zL3Rlc3RzL3V0aWxzLnB5CkBAIC0wLDAgKzEs ODkgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9v bHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAyMCwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1l bnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FM IExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKworaW1wb3J0IHN5cworaW1wb3J0IHRy YWNlYmFjaworCitmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3Rf dXRpbHMgYXMgdXRpbHMKKworCitkZWYgY3JlYXRlX3NlcXVlbmNlcyhzZXJ2ZXIsIGRiX25hbWUs IHNjaGVtYV9uYW1lLCBzZXF1ZW5jZV9uYW1lLAorICAgICAgICAgICAgICAgICAgICAgcG9zaXRp dmVfc2VxPVRydWUpOgorICAgICIiIgorICAgIFRoaXMgZnVuY3Rpb24gdXNlZCB0byBjcmVhdGUg c2VxdWVuY2UgaW4gc2NoZW1hIHByb3ZpZGVkLgorICAgIDpwYXJhbSBzZXJ2ZXI6IHNlcnZlciBk ZXRhaWxzCisgICAgOnR5cGUgc2VydmVyOiBkaWN0CisgICAgOnBhcmFtIGRiX25hbWU6IGRhdGFi YXNlIG5hbWUKKyAgICA6dHlwZSBkYl9uYW1lOiBzdHIKKyAgICA6cGFyYW0gc2NoZW1hX25hbWU6 IHNjaGVtYSBuYW1lCisgICAgOnR5cGUgc2NoZW1hX25hbWU6IHN0cgorICAgIDpwYXJhbSBzZXF1 ZW5jZV9uYW1lOiBzZXF1ZW5jZSBuYW1lCisgICAgOnR5cGUgc2VxdWVuY2VfbmFtZTogc3RyCisg ICAgOnBhcmFtIHBvc2l0aXZlX3NlcTogVHJ1ZSBpcyBzZXF1ZW5jZSB3aWxsIGJlIGNyZWF0ZWQg dXNpbmcgcG9zaXRpdmUgdmFsdWVzCisgICAgOnR5cGUgcG9zaXRpdmVfc2VxOiBib29sZWFuCisg ICAgOnJldHVybiBzZXF1ZW5jZV9pZDogc2VxdWVuY2UgaWQKKyAgICA6cnR5cGU6IGludAorICAg ICIiIgorICAgIHRyeToKKyAgICAgICAgY29ubmVjdGlvbiA9IHV0aWxzLmdldF9kYl9jb25uZWN0 aW9uKGRiX25hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZXJ2ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ2hvc3QnXSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsncG9ydCddLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydzc2xtb2RlJ10pCisgICAg ICAgIHBnX2N1cnNvciA9IGNvbm5lY3Rpb24uY3Vyc29yKCkKKworICAgICAgICBxdWVyeSA9ICJD UkVBVEUgU0VRVUVOQ0UgJXMuJXMgSU5DUkVNRU5UIDUgU1RBUlQgMzAgIiBcCisgICAgICAgICAg ICAgICAgIk1JTlZBTFVFIDEwIE1BWFZBTFVFIDEwMCIgJSAoc2NoZW1hX25hbWUsIHNlcXVlbmNl X25hbWUpCisgICAgICAgIGlmIG5vdCBwb3NpdGl2ZV9zZXE6CisgICAgICAgICAgICBxdWVyeSA9 ICJDUkVBVEUgU0VRVUVOQ0UgJXMuJXMgSU5DUkVNRU5UIC01IFNUQVJUIC0zMCAiIFwKKyAgICAg ICAgICAgICAgICAgICAgIk1JTlZBTFVFIC00MCBNQVhWQUxVRSAtMTAiICUgKHNjaGVtYV9uYW1l LCBzZXF1ZW5jZV9uYW1lKQorICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZShxdWVyeSkKKyAgICAg ICAgY29ubmVjdGlvbi5jb21taXQoKQorICAgICAgICAjIEdldCAnb2lkJyBmcm9tIG5ld2x5IGNy ZWF0ZWQgc2VxdWVuY2UKKyAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoInNlbGVjdCBvaWQgZnJv bSBwZ19jbGFzcyB3aGVyZSByZWxuYW1lPSclcyciICUKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VxdWVuY2VfbmFtZSkKKyAgICAgICAgc2VxdWVuY2UgPSBwZ19jdXJzb3IuZmV0Y2hvbmUo KQorICAgICAgICBzZXF1ZW5jZV9pZCA9ICcnCisgICAgICAgIGlmIHNlcXVlbmNlOgorICAgICAg ICAgICAgc2VxdWVuY2VfaWQgPSBzZXF1ZW5jZVswXQorICAgICAgICBjb25uZWN0aW9uLmNsb3Nl KCkKKyAgICAgICAgcmV0dXJuIHNlcXVlbmNlX2lkCisgICAgZXhjZXB0IEV4Y2VwdGlvbjoKKyAg ICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5zdGRlcnIpCisKKworZGVmIHZlcmlm eV9zZXF1ZW5jZShzZXJ2ZXIsIGRiX25hbWUsIHNlcXVlbmNlX25hbWUpOgorICAgICIiIgorICAg IFRoaXMgZnVuY3Rpb24gdmVyaWZpZXMgdGhlIHNlcXVlbmNlIGluIGRhdGFiYXNlCisgICAgOnBh cmFtIHNlcnZlcjogc2VydmVyIGRldGFpbHMKKyAgICA6dHlwZSBzZXJ2ZXI6IGRpY3QKKyAgICA6 cGFyYW0gZGJfbmFtZTogZGF0YWJhc2UgbmFtZQorICAgIDp0eXBlIGRiX25hbWU6IHN0cgorICAg IDpwYXJhbSBzZXF1ZW5jZV9uYW1lOiBzZXF1ZW5jZSBuYW1lCisgICAgOnR5cGUgc2VxdWVuY2Vf bmFtZTogc3RyCisgICAgOnJldHVybiBzZXF1ZW5jZTogc2VxdWVuY2UgcmVjb3JkIGZyb20gZGF0 YWJhc2UKKyAgICA6cnR5cGU6IHR1cGxlCisgICAgIiIiCisgICAgdHJ5OgorICAgICAgICBjb25u ZWN0aW9uID0gdXRpbHMuZ2V0X2RiX2Nvbm5lY3Rpb24oZGJfbmFtZSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsndXNlcm5hbWUnXSwKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsnZGJfcGFzc3dv cmQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZl clsnaG9zdCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VydmVyWydwb3J0J10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZXJ2ZXJbJ3NzbG1vZGUnXSkKKyAgICAgICAgcGdfY3Vyc29yID0gY29ubmVjdGlvbi5j dXJzb3IoKQorICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZSgic2VsZWN0ICogZnJvbSBwZ19jbGFz cyB3aGVyZSByZWxuYW1lPSclcyciICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgc2VxdWVu Y2VfbmFtZSkKKyAgICAgICAgc2VxdWVuY2UgPSBwZ19jdXJzb3IuZmV0Y2hvbmUoKQorICAgICAg ICBjb25uZWN0aW9uLmNsb3NlKCkKKyAgICAgICAgcmV0dXJuIHNlcXVlbmNlCisgICAgZXhjZXB0 IEV4Y2VwdGlvbjoKKyAgICAgICAgdHJhY2ViYWNrLnByaW50X2V4YyhmaWxlPXN5cy5zdGRlcnIp CmRpZmYgLS1naXQgYS93ZWIvd2VicGFjay5jb25maWcuanMgYi93ZWIvd2VicGFjay5jb25maWcu anMKaW5kZXggMThlYzRhNjVmLi44ODVmZDY0ZDMgMTAwNjQ0Ci0tLSBhL3dlYi93ZWJwYWNrLmNv bmZpZy5qcworKysgYi93ZWIvd2VicGFjay5jb25maWcuanMKQEAgLTQ0OSw2ICs0NDksNyBAQCBt b2R1bGUuZXhwb3J0cyA9IFt7CiAgICAgICAgICcscGdhZG1pbi5ub2RlLmNhdGFsb2dfb2JqZWN0 JyArCiAgICAgICAgICcscGdhZG1pbi5ub2RlLmNvbGxhdGlvbicgKwogICAgICAgICAnLHBnYWRt aW4ubm9kZS5kb21haW4nICsKKyAgICAgICAgJyxwZ2FkbWluLm5vZGUuZm9vJyArCiAgICAgICAg ICcscGdhZG1pbi5ub2RlLmRvbWFpbl9jb25zdHJhaW50cycgKwogICAgICAgICAnLHBnYWRtaW4u bm9kZS5mb3JlaWduX3RhYmxlJyArCiAgICAgICAgICcscGdhZG1pbi5ub2RlLmZ0c19jb25maWd1 cmF0aW9uJyArCmRpZmYgLS1naXQgYS93ZWIvd2VicGFjay5zaGltLmpzIGIvd2ViL3dlYnBhY2su c2hpbS5qcwppbmRleCBkYTE5YjY4OTcuLjdiNTFkZTRjZiAxMDA2NDQKLS0tIGEvd2ViL3dlYnBh Y2suc2hpbS5qcworKysgYi93ZWIvd2VicGFjay5zaGltLmpzCkBAIC0yMjAsNiArMjIwLDcgQEAg dmFyIHdlYnBhY2tTaGltQ29uZmlnID0gewogICAgICdwZ2FkbWluLm5vZGUuZXhjbHVzaW9uX2Nv bnN0cmFpbnQnOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9leGNs dXNpb25fY29uc3RyYWludC9zdGF0aWMvanMvZXhjbHVzaW9uX2NvbnN0cmFpbnQnKSwKICAgICAn cGdhZG1pbi5ub2RlLmV4dGVuc2lvbic6IHBhdGguam9pbihfX2Rpcm5hbWUsICcuL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2V4dGVuc2lvbnMvc3RhdGlj L2pzL2V4dGVuc2lvbicpLAogICAgICdwZ2FkbWluLm5vZGUuZXh0ZXJuYWxfdGFibGUnOiBwYXRo LmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL3N0YXRpYy9qcy9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvZXh0ZXJuYWxfdGFibGVzL2luZGV4JyksCisgICAgJ3BnYWRt aW4ubm9kZS5mb28nOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAnLi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2Zvb3Mvc3RhdGljL2pzL2Zvbycp LAogICAgICdwZ2FkbWluLm5vZGUuZm9yZWlnbl9kYXRhX3dyYXBwZXInOiBwYXRoLmpvaW4oX19k aXJuYW1lLCAnLi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9mb3JlaWduX2RhdGFfd3JhcHBlcnMvc3RhdGljL2pzL2ZvcmVpZ25fZGF0YV93cmFwcGVyJyks CiAgICAgJ3BnYWRtaW4ubm9kZS5mb3JlaWduX2tleSc6IHBhdGguam9pbihfX2Rpcm5hbWUsICcu L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMv dGFibGVzL2NvbnN0cmFpbnRzL2ZvcmVpZ25fa2V5L3N0YXRpYy9qcy9mb3JlaWduX2tleScpLAog ICAgICdwZ2FkbWluLm5vZGUuZm9yZWlnbl9zZXJ2ZXInOiBwYXRoLmpvaW4oX19kaXJuYW1lLCAn Li9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9mb3JlaWdu X2RhdGFfd3JhcHBlcnMvZm9yZWlnbl9zZXJ2ZXJzL3N0YXRpYy9qcy9mb3JlaWduX3NlcnZlcicp LAotLSAKMi4yMi4wLndpbmRvd3MuMQoK ------=_Part_1817147_1663420231.1599101971834--