Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bktLO-0008RS-G4 for pgadmin-hackers@arkaria.postgresql.org; Fri, 16 Sep 2016 13:38:19 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bktLN-00062h-Tz for pgadmin-hackers@arkaria.postgresql.org; Fri, 16 Sep 2016 13:38:17 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bktL5-00059r-7B for pgadmin-hackers@postgresql.org; Fri, 16 Sep 2016 13:37:59 +0000 Received: from mail-qt0-x22c.google.com ([2607:f8b0:400d:c0d::22c]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bktL1-0006ny-TT for pgadmin-hackers@postgresql.org; Fri, 16 Sep 2016 13:37:58 +0000 Received: by mail-qt0-x22c.google.com with SMTP id 93so42943127qtg.2 for ; Fri, 16 Sep 2016 06:37:55 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to:cc; bh=JU+Nch4ArydrNE9y11CqGJVJlGGdtfcf+i3sSgGhTk8=; b=Ltfvm3Tv6U2sxxNiEOv9Cx7+qzihsqJZVzFlXHQLGjSrZgCg2FTQ3WpyELa/Wj2YFJ 3YPLoVYnUTrP4BSmqZ3kaSxvrFHsgHEjfLSXFamq9+ggnDCBjwZL52XzAn5P8yQidtHk YJvJA6mstWMhUojh0reOygcy7M4jG8pMOsxcL03G2uMRYrEvw8B+jPepQT7mPYPYdGDl vHcTN1gO6x76tjXF41PO/23P8i4RAdwbEE9uFHbq5A0Uw1WbYSQLVTuxQUmiqXps7gBy ecYqF5x1zEM/N8tyZG6q3GobOD2gY+WVVt+2oCsOzpXsTot+evbiEWMRIwCnEpkAxeMy fheA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=JU+Nch4ArydrNE9y11CqGJVJlGGdtfcf+i3sSgGhTk8=; b=SIDHcOzdvr1omFrb3qYQ/mZgINc0Tmp9h1bNt7Q0G1gvhv58vwY/MAGbtrBL4axy3n vFgsiLfoSGmTsfLFbWvkMRSiQoHkwDSgnmYNUKIwgYJwLG/oIDONyDVyH8tx42TCmjrw JrtNPbFkocpP42aOSW4CPz1T8UMG1C2S+Z7Gpcmto/onhUDjD/LcqoQMm/gv5Mu/ycWc kbGn0k358pTvMW2ml87aFAGGMxmmaFU01nae82qLU59QUl/PtmPIm1OcGq5Z8GksJeV2 CNOKixDaaKGE62W7gZDnxAwusyAqX+99q0Brfxg9MLSTrnK7tGKMmwRQSjLlAIQYj/7j dyaA== X-Gm-Message-State: AE9vXwOnjoh7fsfKu+lAGICgZ2dYmlUaIANIQ03zq4iw/b6SbtCdYFFkK5mEfowfaD+Glkw2hiP7UZxkmHxmA6NE X-Received: by 10.200.48.243 with SMTP id w48mr15931236qta.71.1474033074283; Fri, 16 Sep 2016 06:37:54 -0700 (PDT) MIME-Version: 1.0 Received: by 10.200.41.114 with HTTP; Fri, 16 Sep 2016 06:37:53 -0700 (PDT) From: Navnath Gadakh Date: Fri, 16 Sep 2016 19:07:53 +0530 Message-ID: Subject: pgAdmin IV- Testing framework: Enhanced Test Result Summary To: Dave Page Cc: pgadmin-hackers , Kanchan Mohitey Content-Type: multipart/mixed; boundary=001a11404c5cc8946c053ca01142 X-Pg-Spam-Score: -2.6 (--) List-Archive: List-Help: List-ID: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: X-Mailing-List: pgadmin-hackers Precedence: bulk Sender: pgadmin-hackers-owner@postgresql.org --001a11404c5cc8946c053ca01142 Content-Type: multipart/alternative; boundary=001a11404c5cc89468053ca01140 --001a11404c5cc89468053ca01140 Content-Type: text/plain; charset=UTF-8 Hi Dave, Please find the patch for the enhanced test result summary for testing framework. The code for this, was completed before drop object's functionality & independent from drop objects work. Drop objects work will take time, I am working on that for remaining nodes. Meanwhile, we go ahead with enhanced test summary. *To run the test suite follow the commands* 1. python regression/runtests.py --pkg browser.server_groups.servers 2. python regression/runtests.py --pkg browser.server_groups.servers.databases -- Thanks, Navnath Gadakh Software Engineer EnterpriseDB Corporation Mobile: +91 9975389878 --001a11404c5cc89468053ca01140 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,
=C2=A0 =C2=A0 =C2=A0Please find the patch for= =C2=A0the enhanced test result summary for testing framework. The code for = this, was completed before drop object's functionality & independen= t from drop objects work.
Drop objects work will take time, I am = working on that for remaining nodes. Meanwhile, we= =C2=A0go ahead with enhanced test summary.

To run the test suite=C2=A0follow=C2=A0the commands
1.=C2=A0python regression/runtests.py<= /span> --pkg browser.serv= er_groups.servers
2.=C2= =A0python regression/runtests.py --pkg bro= wser.server_groups.servers.databases=C2=A0

=C2=A0
--
Thanks,<= /font>
Navnath=C2=A0Gadakh
Software Engineer
Ent= erpriseDB Corporation
Mobile: +91 9975389878=C2=A0


--001a11404c5cc89468053ca01140-- --001a11404c5cc8946c053ca01142 Content-Type: application/octet-stream; name="enhanced_testresult_summary.patch" Content-Disposition: attachment; filename="enhanced_testresult_summary.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_it5t3lq40 ZGlmZiAtLWdpdCBhL3dlYi9jb25maWcucHkgYi93ZWIvY29uZmlnLnB5Cmlu ZGV4IDA1MTNjZmIuLmI2OWVlMmQgMTAwNjQ0Ci0tLSBhL3dlYi9jb25maWcu cHkKKysrIGIvd2ViL2NvbmZpZy5weQpAQCAtMTA1LDYgKzEwNSwxMiBAQCBM T0dfRklMRSA9IG9zLnBhdGguam9pbigKICAgICAncGdhZG1pbjQubG9nJwog KQogCisjIFNldCBkZWZhdWx0IHRlc3RpbmcgbW9kZQorVEVTVElOR19NT0RF ID0gRmFsc2UKKworIyBUaGUgZGVmYXVsdCBwYXRoIGZvciBTUUxpdGUgZGF0 YWJhc2UgZm9yIHRlc3RpbmcKK1RFU1RfU1FMSVRFX1BBVEggPSBvcy5wYXRo LmpvaW4oREFUQV9ESVIsICd0ZXN0X3BnYWRtaW40LmRiJykKKwogIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMgU2VydmVyIHNldHRpbmdzCiAj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3Rlc3RzL3Rlc3RfZGJfYWRkLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3Rf ZGJfYWRkLnB5CmluZGV4IDk3ZTFiZjUuLmNiYzE5NGUgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy90ZXN0cy90ZXN0X2RiX2FkZC5weQorKysgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVz dHMvdGVzdF9kYl9hZGQucHkKQEAgLTI5LDIwICsyOSwyNSBAQCBjbGFzcyBE YXRhYmFzZUFkZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKIAogICAg IGRlZiBydW5UZXN0KHNlbGYpOgogICAgICAgICAiIiIgVGhpcyBmdW5jdGlv biB3aWxsIGFkZCBkYXRhYmFzZSB1bmRlciAxc3Qgc2VydmVyIG9mIHRyZWUg bm9kZS4gIiIiCisgICAgICAgIHNlbGYuZGJfbmFtZSA9ICcnCiAgICAgICAg IHNlcnZlcl9pZCA9IHRlc3Rfc2VydmVyX2RpY3RbInNlcnZlciJdWzBdWyJz ZXJ2ZXJfaWQiXQotICAgICAgICBzZXJ2ZXJfdXRpbHMuY29ubmVjdF9zZXJ2 ZXIoc2VsZiwgc2VydmVyX2lkKQotCi0gICAgICAgIGRhdGEgPSBkYXRhYmFz ZV91dGlscy5nZXRfZGJfZGF0YSgpCi0gICAgICAgIHNlbGYuZGJfbmFtZSA9 IGRhdGFbJ25hbWUnXQotICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVy LnBvc3Qoc2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiLyIgKyBzdHIo c2VydmVyX2lkKSArICIvIiwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0naHRtbC9q c29uJykKLSAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3Rh dHVzX2NvZGUsIDIwMCkKLSAgICAgICAgcmVzcG9uc2VfZGF0YSA9IGpzb24u bG9hZHMocmVzcG9uc2UuZGF0YS5kZWNvZGUoJ3V0Zi04JykpCi0gICAgICAg IGRiX2lkID0gcmVzcG9uc2VfZGF0YVsnbm9kZSddWydfaWQnXQotICAgICAg ICBkYl9kaWN0ID0geyJkYl9pZCI6IGRiX2lkLCAiZGJfbmFtZSI6IHNlbGYu ZGJfbmFtZX0KLSAgICAgICAgdXRpbHMud3JpdGVfbm9kZV9pbmZvKGludChz ZXJ2ZXJfaWQpLCAiZGlkIiwgZGJfZGljdCkKKyAgICAgICAgc2VydmVyX3Jl c3BvbnNlID0gc2VydmVyX3V0aWxzLmNvbm5lY3Rfc2VydmVyKHNlbGYsIHNl cnZlcl9pZCkKKyAgICAgICAgaWYgc2VydmVyX3Jlc3BvbnNlWyJpbmZvIl0g PT0gIlNlcnZlciBjb25uZWN0ZWQuIjoKKyAgICAgICAgICAgIGRiX293bmVy ID0gc2VydmVyX3Jlc3BvbnNlWydkYXRhJ11bJ3VzZXInXVsnbmFtZSddCisg ICAgICAgICAgICBzZWxmLmRhdGEgPSBkYXRhYmFzZV91dGlscy5nZXRfZGJf ZGF0YShkYl9vd25lcikKKyAgICAgICAgICAgIHNlbGYuZGJfbmFtZSA9IHNl bGYuZGF0YVsnbmFtZSddCisgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYu dGVzdGVyLnBvc3Qoc2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQ KSArCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ii8iICsgc3RyKHNlcnZlcl9pZCkgKyAiLyIsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZGF0YT1qc29uLmR1bXBzKHNlbGYu ZGF0YSksCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorICAgICAgICAgICAgc2Vs Zi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkKKyAg ICAgICAgICAgIHJlc3BvbnNlX2RhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNl LmRhdGEuZGVjb2RlKCd1dGYtOCcpKQorICAgICAgICAgICAgZGJfaWQgPSBy ZXNwb25zZV9kYXRhWydub2RlJ11bJ19pZCddCisgICAgICAgICAgICBkYl9k aWN0ID0geyJkYl9pZCI6IGRiX2lkLCAiZGJfbmFtZSI6IHNlbGYuZGJfbmFt ZX0KKyAgICAgICAgICAgIHV0aWxzLndyaXRlX25vZGVfaW5mbyhpbnQoc2Vy dmVyX2lkKSwgImRpZCIsIGRiX2RpY3QpCisgICAgICAgIGVsc2U6CisgICAg ICAgICAgICByYWlzZSBFeGNlcHRpb24oIkVycm9yIHdoaWxlIGNvbm5lY3Rp bmcgc2VydmVyIHRvIGFkZCB0aGUiCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIiBkYXRhYmFzZS4iKQogCiAgICAgZGVmIHRlYXJEb3duKHNlbGYp OgogICAgICAgICAiIiIKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0 X2RiX2RlbGV0ZS5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0X2RiX2RlbGV0ZS5w eQppbmRleCA4MzkzMTNhLi5kMjEzMmJkIDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMv dGVzdHMvdGVzdF9kYl9kZWxldGUucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rl c3RfZGJfZGVsZXRlLnB5CkBAIC02LDYgKzYsOCBAQAogIyBUaGlzIHNvZnR3 YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UK ICMKICMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCitpbXBvcnQgdXVpZAorCiBm cm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJh dG9yCiBmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRp bHMKIGZyb20gcmVncmVzc2lvbiBpbXBvcnQgdGVzdF9zZXJ2ZXJfZGljdApA QCAtMjEsNyArMjMsOCBAQCBjbGFzcyBEYXRhYmFzZURlbGV0ZVRlc3RDYXNl KEJhc2VUZXN0R2VuZXJhdG9yKToKIAogICAgIEBjbGFzc21ldGhvZAogICAg IGRlZiBzZXRVcENsYXNzKGNscyk6Ci0gICAgICAgIGNscy5kYl9pZCA9IHV0 aWxzLmNyZWF0ZV9kYXRhYmFzZShjbHMuc2VydmVyLCAidGVzdF9kYl9kZWxl dGUiKQorICAgICAgICBjbHMuZGJfbmFtZSA9ICJkYl9kZWxldGVfJXMiICUg c3RyKHV1aWQudXVpZDQoKSlbMTo0XSwKKyAgICAgICAgY2xzLmRiX2lkID0g dXRpbHMuY3JlYXRlX2RhdGFiYXNlKGNscy5zZXJ2ZXIsIGNscy5kYl9uYW1l KQogCiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6CiAgICAgICAgICIiIiBUaGlz IGZ1bmN0aW9uIHdpbGwgZGVsZXRlIHRoZSBkYXRhYmFzZS4iIiIKQEAgLTQw LDQgKzQzLDEwIEBAIGNsYXNzIERhdGFiYXNlRGVsZXRlVGVzdENhc2UoQmFz ZVRlc3RHZW5lcmF0b3IpOgogCiAgICAgQGNsYXNzbWV0aG9kCiAgICAgZGVm IHRlYXJEb3duQ2xhc3MoY2xzKToKLSAgICAgICAgcGFzcworICAgICAgICAi IiJUaGlzIGZ1bmN0aW9uIGRyb3AgdGhlIGFkZGVkIGRhdGFiYXNlIiIiCisg ICAgICAgIGNvbm5lY3Rpb24gPSB1dGlscy5nZXRfZGJfY29ubmVjdGlvbihj bHMuc2VydmVyWydkYiddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgY2xzLnNlcnZlclsndXNlcm5hbWUnXSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs cy5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10sCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBjbHMuc2VydmVyWydob3N0J10s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjbHMuc2VydmVyWydwb3J0J10pCisgICAgICAgIHV0aWxzLmRyb3BfZGF0 YWJhc2UoY29ubmVjdGlvbiwgY2xzLmRiX25hbWUpCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRh YmFzZXMvdGVzdHMvdGVzdF9kYl9nZXQucHkgYi93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdGVz dF9kYl9nZXQucHkKaW5kZXggNDFlZDE0MC4uZWRhYTkyMyAxMDA2NDQKLS0t IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfZ2V0LnB5CisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90 ZXN0cy90ZXN0X2RiX2dldC5weQpAQCAtMjUsMjQgKzI1LDI0IEBAIGNsYXNz IERhdGFiYXNlc0dldFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKICAg ICBkZWYgcnVuVGVzdChzZWxmKToKICAgICAgICAgIiIiIFRoaXMgZnVuY3Rp b24gd2lsbCBmZXRjaCBhZGRlZCBkYXRhYmFzZS4gIiIiCiAgICAgICAgIHNl cnZlcl9kYXRhID0gdGVzdF9zZXJ2ZXJfZGljdFsiZGF0YWJhc2UiXVswXQot ICAgICAgICBzZXJ2ZXJfaWQgPSBzZXJ2ZXJfZGF0YVsic2VydmVyX2lkIl0K LSAgICAgICAgZGJfaWQgPSBzZXJ2ZXJfZGF0YVsnZGJfaWQnXQorICAgICAg ICBzZWxmLnNlcnZlcl9pZCA9IHNlcnZlcl9kYXRhWyJzZXJ2ZXJfaWQiXQor ICAgICAgICBzZWxmLmRiX2lkID0gc2VydmVyX2RhdGFbJ2RiX2lkJ10KICAg ICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRpbHMudmVyaWZ5X2RhdGFiYXNl KHNlbGYsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB1dGlscy5TRVJWRVJfR1JPVVAsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWQs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBkYl9pZCkKLSAgICAgICAgaWYgZGJfY29uWyJpbmZvIl0gPT0gIkRh dGFiYXNlIGNvbm5lY3RlZC4iOgotICAgICAgICAgICAgdHJ5OgotICAgICAg ICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZ2V0KAotICAgICAg ICAgICAgICAgICAgICBzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JP VVApICsgJy8nICsgc3RyKAotICAgICAgICAgICAgICAgICAgICAgICAgc2Vy dmVyX2lkKSArICcvJyArCi0gICAgICAgICAgICAgICAgICAgIHN0cihkYl9p ZCksIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKLSAgICAgICAgICAgICAgICBz ZWxmLmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQot ICAgICAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGNlcHRpb246Ci0g ICAgICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJFcnJvciB3aGlsZSBn ZXR0aW5nIGRhdGFiYXNlLiAlcyIgJSBleGNlcHRpb24pCi0gICAgICAgICAg ICBmaW5hbGx5OgotICAgICAgICAgICAgICAgICMgRGlzY29ubmVjdCBkYXRh YmFzZSB0byBkZWxldGUgaXQKLSAgICAgICAgICAgICAgICBkYXRhYmFzZV91 dGlscy5kaXNjb25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlcnZlcl9pZCwgZGJf aWQpCi0KLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiQ291bGQgbm90IGNvbm5lY3QgdG8gZGF0YWJhc2UuIikKKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYuc2VydmVyX2lkLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VsZi5kYl9pZCkKKyAgICAgICAgdHJ5Ogor ICAgICAgICAgICAgaWYgZGJfY29uWyJpbmZvIl0gPT0gIkRhdGFiYXNlIGNv bm5lY3RlZC4iOgorICAgICAgICAgICAgICAgICAgICByZXNwb25zZSA9IHNl bGYudGVzdGVyLmdldCgKKyAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu dXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycgKyBzdHIoCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaWQpICsg Jy8nICsKKyAgICAgICAgICAgICAgICAgICAgICAgIHN0cihzZWxmLmRiX2lk KSwgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQorICAgICAgICAgICAgICAgICAg ICBzZWxmLmFzc2VydEVxdWFscyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAw KQorICAgICAgICAgICAgZWxzZToKKyAgICAgICAgICAgICAgICByYWlzZSBF eGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlLiIpCisg ICAgICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjZXB0aW9uOgorICAgICAg ICAgICAgcmFpc2UgRXhjZXB0aW9uKCJFcnJvciB3aGlsZSBnZXR0aW5nIGRh dGFiYXNlLiAlcyIgJSBleGNlcHRpb24pCisgICAgICAgIGZpbmFsbHk6Cisg ICAgICAgICAgICAjIERpc2Nvbm5lY3QgZGF0YWJhc2UgdG8gZGVsZXRlIGl0 CisgICAgICAgICAgICBkYXRhYmFzZV91dGlscy5kaXNjb25uZWN0X2RhdGFi YXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX2lkKQpkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3Rlc3RfZGJfcHV0LnB5IGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3Rlc3RzL3Rlc3RfZGJfcHV0LnB5CmluZGV4IDIxM2M5NDcuLjIxZjIwYzMg MTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy90ZXN0X2RiX3B1dC5weQorKysg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvdGVzdHMvdGVzdF9kYl9wdXQucHkKQEAgLTgsMTEgKzgsMTEg QEAKICMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCiAKIGltcG9ydCBqc29uCitp bXBvcnQgdXVpZAogCiBmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0 IEJhc2VUZXN0R2VuZXJhdG9yCiBmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHRl c3RfdXRpbHMgYXMgdXRpbHMKIGZyb20gcmVncmVzc2lvbiBpbXBvcnQgdGVz dF9zZXJ2ZXJfZGljdAotZnJvbSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1w b3J0IGFkdmFuY2VkX2NvbmZpZ19kYXRhCiBmcm9tIC4gaW1wb3J0IHV0aWxz IGFzIGRhdGFiYXNlX3V0aWxzCiAKIApAQCAtMjUsNyArMjUsNyBAQCBjbGFz cyBEYXRhYmFzZXNVcGRhdGVUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6 CiAKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgc2V0VXBDbGFzcyhjbHMp OgotICAgICAgICBjbHMuZGJfbmFtZSA9ICJ0ZXN0X2RiX3B1dCIKKyAgICAg ICAgY2xzLmRiX25hbWUgPSAidGVzdF9kYl9wdXRfJXMiICUgc3RyKHV1aWQu dXVpZDQoKSlbMTo4XSwKICAgICAgICAgY2xzLmRiX2lkID0gdXRpbHMuY3Jl YXRlX2RhdGFiYXNlKGNscy5zZXJ2ZXIsIGNscy5kYl9uYW1lKQogCiAgICAg ZGVmIHJ1blRlc3Qoc2VsZik6CkBAIC0zOSwxMCArMzksMTEgQEAgY2xhc3Mg RGF0YWJhc2VzVXBkYXRlVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgog ICAgICAgICBpZiBkYl9jb25bImluZm8iXSA9PSAiRGF0YWJhc2UgY29ubmVj dGVkLiI6CiAgICAgICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgZGF0 YSA9IHsKLSAgICAgICAgICAgICAgICAgICAgImNvbW1lbnRzIjogYWR2YW5j ZWRfY29uZmlnX2RhdGFbImRiX3VwZGF0ZV9kYXRhIl1bImNvbW1lbnQiXSwK KyAgICAgICAgICAgICAgICAgICAgImNvbW1lbnRzIjogIlRoaXMgaXMgZGIg dXBkYXRlIGNvbW1lbnQiLAogICAgICAgICAgICAgICAgICAgICAiaWQiOiBk Yl9pZAogICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgICByZXNw b25zZSA9IHNlbGYudGVzdGVyLnB1dChzZWxmLnVybCArIHN0cih1dGlscy5T RVJWRVJfR1JPVVApICsgJy8nICsgc3RyKAorICAgICAgICAgICAgICAgIHJl c3BvbnNlID0gc2VsZi50ZXN0ZXIucHV0KAorICAgICAgICAgICAgICAgICAg ICBzZWxmLnVybCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsg c3RyKAogICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2lkKSArICcv JyArCiAgICAgICAgICAgICAgICAgICAgIHN0cihkYl9pZCksIGRhdGE9anNv bi5kdW1wcyhkYXRhKSwgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQogICAgICAg ICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19j b2RlLCAyMDApCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdXRpbHMucHkg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvdGVzdHMvdXRpbHMucHkKaW5kZXggNzMyZTk4ZC4uNzkwMDg2 MyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3V0aWxzLnB5CisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy90ZXN0cy91dGlscy5weQpAQCAtMTksMjggKzE5LDEwMyBAQCBEQVRB QkFTRV9VUkwgPSAnL2Jyb3dzZXIvZGF0YWJhc2Uvb2JqLycKIERBVEFCQVNF X0NPTk5FQ1RfVVJMID0gJ2Jyb3dzZXIvZGF0YWJhc2UvY29ubmVjdC8nCiAK IAotZGVmIGdldF9kYl9kYXRhKCk6Ci0gICAgIiIiVGhpcyBmdW5jdGlvbiBy ZXR1cm5zIHRoZSBkYXRhYmFzZSBkZXRhaWxzIGZyb20ganNvbiBmaWxlIiIi Ci0gICAgZGF0YSA9IE5vbmUKLSAgICBpZiBhZHZhbmNlZF9jb25maWdfZGF0 YVsnYWRkX2RhdGFiYXNlX2RhdGEnXSBpcyBub3QgTm9uZToKLSAgICAgICAg YWR2X2NvbmZpZ19kYXRhID0gYWR2YW5jZWRfY29uZmlnX2RhdGFbJ2FkZF9k YXRhYmFzZV9kYXRhJ10KLSAgICAgICAgZGF0YSA9IHsKLSAgICAgICAgICAg ICJkYXRhY2wiOiBhZHZfY29uZmlnX2RhdGFbJ3ByaXZpbGVnZXNfYWNsJ10s Ci0gICAgICAgICAgICAiZGF0Y29ubmxpbWl0IjogYWR2X2NvbmZpZ19kYXRh Wydjb25uX2xpbWl0J10sCi0gICAgICAgICAgICAiZGF0b3duZXIiOiBhZHZf Y29uZmlnX2RhdGFbJ293bmVyJ10sCi0gICAgICAgICAgICAiZGVmZnVuY2Fj bCI6IGFkdl9jb25maWdfZGF0YVsnZnVuX2FjbCddLAotICAgICAgICAgICAg ImRlZnNlcWFjbCI6IGFkdl9jb25maWdfZGF0YVsnc2VxX2FjbCddLAotICAg ICAgICAgICAgImRlZnRibGFjbCI6IGFkdl9jb25maWdfZGF0YVsndGJsX2Fj bCddLAotICAgICAgICAgICAgImRlZnR5cGVhY2wiOiBhZHZfY29uZmlnX2Rh dGFbJ3R5cGVfYWNsJ10sCi0gICAgICAgICAgICAiZW5jb2RpbmciOiBhZHZf Y29uZmlnX2RhdGFbJ2VuY29kaW5nJ10sCi0gICAgICAgICAgICAibmFtZSI6 IHN0cih1dWlkLnV1aWQ0KCkpWzE6OF0sCi0gICAgICAgICAgICAicHJpdmls ZWdlcyI6IGFkdl9jb25maWdfZGF0YVsncHJpdmlsZWdlcyddLAotICAgICAg ICAgICAgInNlY3VyaXRpZXMiOiBhZHZfY29uZmlnX2RhdGFbJ3NlY3VyaXRp ZXMnXSwKLSAgICAgICAgICAgICJ2YXJpYWJsZXMiOiBhZHZfY29uZmlnX2Rh dGFbJ3ZhcmlhYmxlcyddCi0gICAgICAgIH0KK2RlZiBnZXRfZGJfZGF0YShk Yl9vd25lcik6CisgICAgIiIiCisgICAgVGhpcyBmdW5jdGlvbiByZXR1cm5z IHRoZSBkYXRhYmFzZSBkZXRhaWxzIGluIGRpY3QgZm9ybWF0CisgICAgIiIi CisgICAgZGF0YSA9IHsKKyAgICAgICAgImRhdGNvbm5saW1pdCI6IC0xLAor ICAgICAgICAiZGF0b3duZXIiOiBkYl9vd25lciwKKyAgICAgICAgImRlZmZ1 bmNhY2wiOiBbCisgICAgICB7CisgICAgICAgICJncmFudGVlIjogZGJfb3du ZXIsCisgICAgICAgICJncmFudG9yIjogZGJfb3duZXIsCisgICAgICAgICJw cml2aWxlZ2VzIjogWworICAgICAgICAgIHsKKyAgICAgICAgICAgICJwcml2 aWxlZ2VfdHlwZSI6ICJYIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2UiOiBU cnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBGYWxzZQorICAgICAg ICAgIH0KKyAgICAgICAgXQorICAgICAgfQorICAgIF0sCisgICAgICAgICJk ZWZzZXFhY2wiOiBbCisgICAgICB7CisgICAgICAgICJncmFudGVlIjogZGJf b3duZXIsCisgICAgICAgICJncmFudG9yIjogZGJfb3duZXIsCisgICAgICAg ICJwcml2aWxlZ2VzIjogWworICAgICAgICAgIHsKKyAgICAgICAgICAgICJw cml2aWxlZ2VfdHlwZSI6ICJyIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2Ui OiBUcnVlLAorICAgICAgICAgICAgIndpdGhfZ3JhbnQiOiBGYWxzZQorICAg ICAgICAgIH0sCisgICAgICAgICAgeworICAgICAgICAgICAgInByaXZpbGVn ZV90eXBlIjogInciLAorICAgICAgICAgICAgInByaXZpbGVnZSI6IFRydWUs CisgICAgICAgICAgICAid2l0aF9ncmFudCI6IEZhbHNlCisgICAgICAgICAg fSwKKyAgICAgICAgICB7CisgICAgICAgICAgICAicHJpdmlsZWdlX3R5cGUi OiAiVSIsCisgICAgICAgICAgICAicHJpdmlsZWdlIjogVHJ1ZSwKKyAgICAg ICAgICAgICJ3aXRoX2dyYW50IjogRmFsc2UKKyAgICAgICAgICB9CisgICAg ICAgIF0KKyAgICAgIH0KKyAgICBdLAorICAgICAgICAiZGVmdGJsYWNsIjog WworICAgICAgeworICAgICAgICAiZ3JhbnRlZSI6IGRiX293bmVyLAorICAg ICAgICAiZ3JhbnRvciI6IGRiX293bmVyLAorICAgICAgICAicHJpdmlsZWdl cyI6IFsKKyAgICAgICAgICB7CisgICAgICAgICAgICAicHJpdmlsZWdlX3R5 cGUiOiAiYSIsCisgICAgICAgICAgICAicHJpdmlsZWdlIjogVHJ1ZSwKKyAg ICAgICAgICAgICJ3aXRoX2dyYW50IjogVHJ1ZQorICAgICAgICAgIH0sCisg ICAgICAgICAgeworICAgICAgICAgICAgInByaXZpbGVnZV90eXBlIjogInIi LAorICAgICAgICAgICAgInByaXZpbGVnZSI6IFRydWUsCisgICAgICAgICAg ICAid2l0aF9ncmFudCI6IEZhbHNlCisgICAgICAgICAgfQorICAgICAgICBd CisgICAgICB9CisgICAgXSwKKyAgICAgICAgImRlZnR5cGVhY2wiOiBbCisg ICAgICB7CisgICAgICAgICJncmFudGVlIjogZGJfb3duZXIsCisgICAgICAg ICJncmFudG9yIjogZGJfb3duZXIsCisgICAgICAgICJwcml2aWxlZ2VzIjog WworICAgICAgICAgIHsKKyAgICAgICAgICAgICJwcml2aWxlZ2VfdHlwZSI6 ICJVIiwKKyAgICAgICAgICAgICJwcml2aWxlZ2UiOiBUcnVlLAorICAgICAg ICAgICAgIndpdGhfZ3JhbnQiOiBGYWxzZQorICAgICAgICAgIH0KKyAgICAg ICAgXQorICAgICAgfQorICAgIF0sCisgICAgICAgICJlbmNvZGluZyI6ICJV VEY4IiwKKyAgICAgICAgIm5hbWUiOiAiZGJfYWRkXyVzIiAlIHN0cih1dWlk LnV1aWQ0KCkpWzE6NF0sCisgICAgICAgICJwcml2aWxlZ2VzIjogW10sCisg ICAgICAgICJzZWN1cml0aWVzIjogW10sCisgICAgICAgICJ2YXJpYWJsZXMi OiBbXQorICAgIH0KICAgICByZXR1cm4gZGF0YQogCiAKK2RlZiBjcmVhdGVf ZGF0YWJhc2UoY29ubmVjdGlvbiwgZGJfbmFtZSk6CisgICAgIiIiVGhpcyBm dW5jdGlvbiB1c2VkIHRvIGNyZWF0ZSBkYXRhYmFzZSIiIgorICAgIHRyeToK KyAgICAgICAgb2xkX2lzb2xhdGlvbl9sZXZlbCA9IGNvbm5lY3Rpb24uaXNv bGF0aW9uX2xldmVsCisgICAgICAgIGNvbm5lY3Rpb24uc2V0X2lzb2xhdGlv bl9sZXZlbCgwKQorICAgICAgICBwZ19jdXJzb3IgPSBjb25uZWN0aW9uLmN1 cnNvcigpCisgICAgICAgIHBnX2N1cnNvci5leGVjdXRlKCJDUkVBVEUgREFU QUJBU0UgJXMiICUgZGJfbmFtZSkKKyAgICAgICAgY29ubmVjdGlvbi5zZXRf aXNvbGF0aW9uX2xldmVsKG9sZF9pc29sYXRpb25fbGV2ZWwpCisgICAgICAg IGNvbm5lY3Rpb24uY29tbWl0KCkKKyAgICAgICAgcmV0dXJuIHBnX2N1cnNv cgorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjZXB0aW9uOgorICAgICAg ICByYWlzZSBFeGNlcHRpb24oIkVycm9yIHdoaWxlIGNyZWF0aW5nIGRhdGFi YXNlLiAlcyIgJSBleGNlcHRpb24pCisKKwogZGVmIHZlcmlmeV9kYXRhYmFz ZShzZWxmLCBzZXJ2ZXJfZ3JvdXAsIHNlcnZlcl9pZCwgZGJfaWQpOgogICAg ICIiIgogICAgIFRoaXMgZnVuY3Rpb24gdmVyaWZpZXMgdGhhdCBkYXRhYmFz ZSBpcyBleGlzdHMgYW5kIHdoZXRoZXIgaXQgY29ubmVjdApkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv dGFibGVzcGFjZXMvdGVzdHMvdGVzdF90YnNwY19nZXQucHkgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90YWJsZXNwYWNl cy90ZXN0cy90ZXN0X3Ric3BjX2dldC5weQppbmRleCBiMjZkNzFkLi40NDc2 YTliIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy90YWJsZXNwYWNlcy90ZXN0cy90ZXN0X3Ric3BjX2dl dC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy90YWJsZXNwYWNlcy90ZXN0cy90ZXN0X3Ric3BjX2dldC5weQpA QCAtMSw3OCArMSw3OCBAQAotIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIworIyAj ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjICMKKyMgIyBwZ0FkbWluIDQgLSBQ b3N0Z3JlU1FMIFRvb2xzCisjICMKKyMgIyBDb3B5cmlnaHQgKEMpIDIwMTMg LSAyMDE2LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjICMgVGhp cyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBM aWNlbmNlCisjICMKKyMgIyAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKICMKLSMg cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIyBmcm9tIHBnYWRtaW4u dXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCisjIGZyb20g cmVncmVzc2lvbiBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGlscworIyBmcm9t IHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMudGVzdHMg aW1wb3J0IHV0aWxzIGFzIHNlcnZlcl91dGlscworIyBmcm9tIC4gaW1wb3J0 IHV0aWxzIGFzIHRhYmxlc3BhY2VfdXRpbHMKICMKLSMgQ29weXJpZ2h0IChD KSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQot IyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3Jl U1FMIExpY2VuY2UKICMKLSMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCi0KLWZy b20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBvcnQgQmFzZVRlc3RHZW5lcmF0 b3IKLWZyb20gcmVncmVzc2lvbiBpbXBvcnQgdGVzdF91dGlscyBhcyB1dGls cwotZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJz LnRlc3RzIGltcG9ydCB1dGlscyBhcyBzZXJ2ZXJfdXRpbHMKLWZyb20gLiBp bXBvcnQgdXRpbHMgYXMgdGFibGVzcGFjZV91dGlscwotCi0KLWNsYXNzIFRh Ymxlc3BhY2VHZXRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6Ci0gICAg IiIiVGhpcyBjbGFzcyB0ZXN0cyB0aGUgZ2V0IHRhYmxlIHNwYWNlIHNjZW5h cmlvIiIiCi0KLSAgICBzY2VuYXJpb3MgPSBbCi0gICAgICAgICMgRmV0Y2hp bmcgZGVmYXVsdCBVUkwgZm9yIHJvbGVzIG5vZGUuCi0gICAgICAgICgnQ2hl Y2sgVGFibGVzcGFjZSBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL3RhYmxl c3BhY2Uvb2JqLycpKQotICAgIF0KLQotICAgIEBjbGFzc21ldGhvZAotICAg IGRlZiBzZXRVcENsYXNzKGNscyk6Ci0gICAgICAgICIiIgotICAgICAgICBU aGlzIGZ1bmN0aW9uIHVzZWQgdG8gYWRkIHRoZSBzZXZlcgotCi0gICAgICAg IDpyZXR1cm46IE5vbmUKLSAgICAgICAgIiIiCi0KLSAgICAgICAgIyBBZGQg dGhlIHNlcnZlcgotICAgICAgICBzZXJ2ZXJfdXRpbHMuYWRkX3NlcnZlcihj bHMudGVzdGVyKQotCi0gICAgICAgICMgQ29ubmVjdCB0byBzZXJ2ZXIKLSAg ICAgICAgY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3BvbnNlLCBjbHMuc2VydmVy X2dyb3VwLCBjbHMuc2VydmVyX2lkcyA9IFwKLSAgICAgICAgICAgIHNlcnZl cl91dGlscy5jb25uZWN0X3NlcnZlcihjbHMudGVzdGVyKQotCi0gICAgICAg IGlmIGxlbihjbHMuc2VydmVyX2Nvbm5lY3RfcmVzcG9uc2UpID09IDA6Ci0g ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIFNlcnZlcihzKSBjb25u ZWN0ZWQgdG8gYWRkIHRoZSByb2xlcyEhISIpCi0KLSAgICAgICAgIyBBZGQg dGFibGVzcGFjZQotICAgICAgICB0YWJsZXNwYWNlX3V0aWxzLmFkZF90YWJs ZV9zcGFjZShjbHMudGVzdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjbHMuc2VydmVyX2Nvbm5lY3RfcmVzcG9uc2Us Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNs cy5zZXJ2ZXJfZ3JvdXAsIGNscy5zZXJ2ZXJfaWRzKQotCi0gICAgZGVmIHJ1 blRlc3Qoc2VsZik6Ci0gICAgICAgICIiIlRoaXMgZnVuY3Rpb24gdGVzdCB0 aGUgZ2V0IHRhYmxlIHNwYWNlIHNjZW5hcmlvIiIiCi0KLSAgICAgICAgdGFi bGVzcGFjZV9pZHNfZGljdCA9IE5vbmUKLSAgICAgICAgYWxsX2lkID0gdXRp bHMuZ2V0X2lkcygpCi0gICAgICAgIHNlcnZlcl9pZHMgPSBhbGxfaWRbInNp ZCJdCi0gICAgICAgIGlmICJ0c2lkIiBpbiBhbGxfaWQgYW5kIGFsbF9pZFsi dHNpZCJdOgotICAgICAgICAgICAgdGFibGVzcGFjZV9pZHNfZGljdCA9IGFs bF9pZFsidHNpZCJdWzBdCi0KLSAgICAgICAgaWYgdGFibGVzcGFjZV9pZHNf ZGljdDoKLSAgICAgICAgICAgIGZvciBzZXJ2ZXJfaWQgaW4gc2VydmVyX2lk czoKLSAgICAgICAgICAgICAgICB0YWJsZXNwYWNlX2lkID0gdGFibGVzcGFj ZV9pZHNfZGljdFtpbnQoc2VydmVyX2lkKV0KLSAgICAgICAgICAgICAgICBz ZXJ2ZXJfcmVzcG9uc2UgPSBzZXJ2ZXJfdXRpbHMudmVyaWZ5X3NlcnZlcihz ZWxmLnRlc3RlciwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGlscy5TRVJWRVJfR1JP VVAsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2lkKQotICAgICAgICAgICAg ICAgIGlmIHNlcnZlcl9yZXNwb25zZVsnZGF0YSddWydjb25uZWN0ZWQnXToK LSAgICAgICAgICAgICAgICAgICAgdGFibGVzcGFjZV91dGlscy52ZXJpZnlf dGFibGVfc3BhY2UoCi0gICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRl c3RlciwgdXRpbHMuU0VSVkVSX0dST1VQLCBzZXJ2ZXJfaWQsIHRhYmxlc3Bh Y2VfaWQpCi0gICAgICAgICAgICAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50 ZXN0ZXIuZ2V0KAotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi51cmwg KyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCi0gICAgICAgICAg ICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cigKLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0YWJsZXNwYWNlX2lkKSwKLSAg ICAgICAgICAgICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkK LSAgICAgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9u c2Uuc3RhdHVzX2NvZGUsIDIwMCkKLQotICAgIEBjbGFzc21ldGhvZAotICAg IGRlZiB0ZWFyRG93bkNsYXNzKGNscyk6Ci0gICAgICAgICIiIlRoaXMgZnVu Y3Rpb24gZGVsZXRlcyB0aGUgdGFibGVzcGFjZXMsc2VydmVyIGFuZCBwYXJl bnQgaWQgZmlsZSIiIgotCi0gICAgICAgIHRhYmxlc3BhY2VfdXRpbHMuZGVs ZXRlX3RhYmxlX3NwYWNlKGNscy50ZXN0ZXIpCi0gICAgICAgIHNlcnZlcl91 dGlscy5kZWxldGVfc2VydmVyKGNscy50ZXN0ZXIpCi0gICAgICAgIHV0aWxz LmRlbGV0ZV9wYXJlbnRfaWRfZmlsZSgpCisjIGNsYXNzIFRhYmxlc3BhY2VH ZXRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CisjICAgICAiIiJUaGlz IGNsYXNzIHRlc3RzIHRoZSBnZXQgdGFibGUgc3BhY2Ugc2NlbmFyaW8iIiIK KyMKKyMgICAgIHNjZW5hcmlvcyA9IFsKKyMgICAgICAgICAjIEZldGNoaW5n IGRlZmF1bHQgVVJMIGZvciByb2xlcyBub2RlLgorIyAgICAgICAgICgnQ2hl Y2sgVGFibGVzcGFjZSBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL3RhYmxl c3BhY2Uvb2JqLycpKQorIyAgICAgXQorIworIyAgICAgQGNsYXNzbWV0aG9k CisjICAgICBkZWYgc2V0VXBDbGFzcyhjbHMpOgorIyAgICAgICAgICIiIgor IyAgICAgICAgIFRoaXMgZnVuY3Rpb24gdXNlZCB0byBhZGQgdGhlIHNldmVy CisjCisjICAgICAgICAgOnJldHVybjogTm9uZQorIyAgICAgICAgICIiIgor IworIyAgICAgICAgICMgQWRkIHRoZSBzZXJ2ZXIKKyMgICAgICAgICBzZXJ2 ZXJfdXRpbHMuYWRkX3NlcnZlcihjbHMudGVzdGVyKQorIworIyAgICAgICAg ICMgQ29ubmVjdCB0byBzZXJ2ZXIKKyMgICAgICAgICBjbHMuc2VydmVyX2Nv bm5lY3RfcmVzcG9uc2UsIGNscy5zZXJ2ZXJfZ3JvdXAsIGNscy5zZXJ2ZXJf aWRzID0gXAorIyAgICAgICAgICAgICBzZXJ2ZXJfdXRpbHMuY29ubmVjdF9z ZXJ2ZXIoY2xzLnRlc3RlcikKKyMKKyMgICAgICAgICBpZiBsZW4oY2xzLnNl cnZlcl9jb25uZWN0X3Jlc3BvbnNlKSA9PSAwOgorIyAgICAgICAgICAgICBy YWlzZSBFeGNlcHRpb24oIk5vIFNlcnZlcihzKSBjb25uZWN0ZWQgdG8gYWRk IHRoZSByb2xlcyEhISIpCisjCisjICAgICAgICAgIyBBZGQgdGFibGVzcGFj ZQorIyAgICAgICAgIHRhYmxlc3BhY2VfdXRpbHMuYWRkX3RhYmxlX3NwYWNl KGNscy50ZXN0ZXIsCisjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3BvbnNlLAorIyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5z ZXJ2ZXJfZ3JvdXAsIGNscy5zZXJ2ZXJfaWRzKQorIworIyAgICAgZGVmIHJ1 blRlc3Qoc2VsZik6CisjICAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiB0ZXN0 IHRoZSBnZXQgdGFibGUgc3BhY2Ugc2NlbmFyaW8iIiIKKyMKKyMgICAgICAg ICB0YWJsZXNwYWNlX2lkc19kaWN0ID0gTm9uZQorIyAgICAgICAgIGFsbF9p ZCA9IHV0aWxzLmdldF9pZHMoKQorIyAgICAgICAgIHNlcnZlcl9pZHMgPSBh bGxfaWRbInNpZCJdCisjICAgICAgICAgaWYgInRzaWQiIGluIGFsbF9pZCBh bmQgYWxsX2lkWyJ0c2lkIl06CisjICAgICAgICAgICAgIHRhYmxlc3BhY2Vf aWRzX2RpY3QgPSBhbGxfaWRbInRzaWQiXVswXQorIworIyAgICAgICAgIGlm IHRhYmxlc3BhY2VfaWRzX2RpY3Q6CisjICAgICAgICAgICAgIGZvciBzZXJ2 ZXJfaWQgaW4gc2VydmVyX2lkczoKKyMgICAgICAgICAgICAgICAgIHRhYmxl c3BhY2VfaWQgPSB0YWJsZXNwYWNlX2lkc19kaWN0W2ludChzZXJ2ZXJfaWQp XQorIyAgICAgICAgICAgICAgICAgc2VydmVyX3Jlc3BvbnNlID0gc2VydmVy X3V0aWxzLnZlcmlmeV9zZXJ2ZXIoc2VsZi50ZXN0ZXIsCisjICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB1dGlscy5TRVJWRVJfR1JPVVAsCisjICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZXJ2ZXJfaWQpCisjICAgICAgICAgICAgICAgICBpZiBzZXJ2ZXJfcmVz cG9uc2VbJ2RhdGEnXVsnY29ubmVjdGVkJ106CisjICAgICAgICAgICAgICAg ICAgICAgdGFibGVzcGFjZV91dGlscy52ZXJpZnlfdGFibGVfc3BhY2UoCisj ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYudGVzdGVyLCB1dGlscy5T RVJWRVJfR1JPVVAsIHNlcnZlcl9pZCwgdGFibGVzcGFjZV9pZCkKKyMgICAg ICAgICAgICAgICAgICAgICByZXNwb25zZSA9IHNlbGYudGVzdGVyLmdldCgK KyMgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi51cmwgKyBzdHIodXRp bHMuU0VSVkVSX0dST1VQKSArICcvJyArCisjICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cihzZXJ2ZXJfaWQpICsgJy8nICsgc3RyKAorIyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGFibGVzcGFjZV9pZCksCisjICAgICAg ICAgICAgICAgICAgICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKyMg ICAgICAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXNwb25z ZS5zdGF0dXNfY29kZSwgMjAwKQorIworIyAgICAgQGNsYXNzbWV0aG9kCisj ICAgICBkZWYgdGVhckRvd25DbGFzcyhjbHMpOgorIyAgICAgICAgICIiIlRo aXMgZnVuY3Rpb24gZGVsZXRlcyB0aGUgdGFibGVzcGFjZXMsc2VydmVyIGFu ZCBwYXJlbnQgaWQgZmlsZSIiIgorIworIyAgICAgICAgIHRhYmxlc3BhY2Vf dXRpbHMuZGVsZXRlX3RhYmxlX3NwYWNlKGNscy50ZXN0ZXIpCisjICAgICAg ICAgc2VydmVyX3V0aWxzLmRlbGV0ZV9zZXJ2ZXIoY2xzLnRlc3RlcikKKyMg ICAgICAgICB1dGlscy5kZWxldGVfcGFyZW50X2lkX2ZpbGUoKQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvdGVzdHMvdGVzdF9zZXJ2ZXJfYWRkLnB5IGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJf YWRkLnB5CmluZGV4IDA4ZWQ4ZDYuLmU4OWI5ZDcgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3Rz L3Rlc3Rfc2VydmVyX2FkZC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9hZGQu cHkKQEAgLTIyLDggKzIyLDcgQEAgY2xhc3MgU2VydmVyc0FkZFRlc3RDYXNl KEJhc2VUZXN0R2VuZXJhdG9yKToKICAgICAgICAgKCdEZWZhdWx0IFNlcnZl ciBOb2RlIHVybCcsIGRpY3QodXJsPScvYnJvd3Nlci9zZXJ2ZXIvb2JqLycp KQogICAgIF0KIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENs YXNzKGNscyk6CisgICAgZGVmIHNldFVwKHNlbGYpOgogICAgICAgICBwYXNz CiAKICAgICBkZWYgcnVuVGVzdChzZWxmKToKQEAgLTMzLDE0ICszMiwxMiBA QCBjbGFzcyBTZXJ2ZXJzQWRkVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3Ip OgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVu dF90eXBlPSdodG1sL2pzb24nKQogICAgICAgICBzZWxmLmFzc2VydEVxdWFs cyhyZXNwb25zZS5zdGF0dXNfY29kZSwgMjAwKQogICAgICAgICByZXNwb25z ZV9kYXRhID0ganNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRm LTgnKSkKLSAgICAgICAgc2VydmVyX2lkID0gcmVzcG9uc2VfZGF0YVsnbm9k ZSddWydfaWQnXQotICAgICAgICB1dGlscy53cml0ZV9ub2RlX2luZm8oaW50 KHNlcnZlcl9pZCksICJzaWQiLCBzZWxmLnNlcnZlcikKKyAgICAgICAgc2Vs Zi5zZXJ2ZXJfaWQgPSByZXNwb25zZV9kYXRhWydub2RlJ11bJ19pZCddCisg ICAgICAgIHV0aWxzLndyaXRlX25vZGVfaW5mbyhpbnQoc2VsZi5zZXJ2ZXJf aWQpLCAic2lkIiwgc2VsZi5zZXJ2ZXIpCiAKLSAgICBAY2xhc3NtZXRob2QK LSAgICBkZWYgdGVhckRvd25DbGFzcyhjbHMpOgorICAgIGRlZiB0ZWFyRG93 bihzZWxmKToKICAgICAgICAgIiIiCiAgICAgICAgIFRoaXMgZnVuY3Rpb24g ZGVsZXRlIHRoZSBzZXJ2ZXIgZnJvbSBTUUxpdGUgJiBjbGVhcnMgdGhlIG5v ZGVfaW5mb19kaWN0CiAgICAgICAgICIiIgotICAgICAgICBzZXJ2ZXJfaWQg PSBzZXJ2ZXJfdXRpbHMuZ2V0X3NlcnZlcl9pZCgpCi0gICAgICAgIHV0aWxz LmRlbGV0ZV9zZXJ2ZXIoc2VydmVyX2lkKQorICAgICAgICB1dGlscy5kZWxl dGVfc2VydmVyKHNlbGYuc2VydmVyX2lkKQogICAgICAgICB1dGlscy5jbGVh cl9ub2RlX2luZm9fZGljdCgpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZl cl9kZWxldGUucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9kZWxldGUucHkKaW5kZXgg ZGRjODI5Yi4uMDk1OWQxMCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJf ZGVsZXRlLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVyX2RlbGV0ZS5weQpAQCAt MTEsNyArMTEsNiBAQCBpbXBvcnQganNvbgogCiBmcm9tIHBnYWRtaW4udXRp bHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCiBmcm9tIHJlZ3Jl c3Npb24gaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKLWZyb20gLiBpbXBv cnQgdXRpbHMgYXMgc2VydmVyX3V0aWxzCiAKIAogY2xhc3MgU2VydmVyRGVs ZXRlVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgpAQCAtMjUsMjMgKzI0 LDE2IEBAIGNsYXNzIFNlcnZlckRlbGV0ZVRlc3RDYXNlKEJhc2VUZXN0R2Vu ZXJhdG9yKToKICAgICBAY2xhc3NtZXRob2QKICAgICBkZWYgc2V0VXBDbGFz cyhjbHMpOgogICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIGFkZCB0aGUgc2Vy dmVyIHRvIHRlc3QgdGhlIERFTEVURSBBUEkiIiIKLSAgICAgICAgc2VydmVy X3V0aWxzLmFkZF9zZXJ2ZXIoY2xzLnNlcnZlcikKKyAgICAgICAgY2xzLnNl cnZlcl9pZCA9IHV0aWxzLmNyZWF0ZV9zZXJ2ZXIoY2xzLnNlcnZlcikKIAog ICAgIGRlZiBydW5UZXN0KHNlbGYpOgogICAgICAgICAiIiJUaGlzIGZ1bmN0 aW9uIGRlbGV0ZXMgdGhlIGFkZGVkIHNlcnZlciIiIgotICAgICAgICBhbGxf aWQgPSB1dGlscy5nZXRfbm9kZV9pbmZvX2RpY3QoKQotICAgICAgICBzZXJ2 ZXJzX2luZm8gPSBhbGxfaWRbInNpZCJdCiAgICAgICAgIHVybCA9IHNlbGYu dXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAiLyIKLQotICAgICAg ICBpZiBsZW4oc2VydmVyc19pbmZvKSA9PSAwOgorICAgICAgICBpZiBub3Qg c2VsZi5zZXJ2ZXJfaWQ6CiAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24o Ik5vIHNlcnZlciB0byBkZWxldGUhISEiKQotCiAgICAgICAgICMgQ2FsbCBB UEkgdG8gZGVsZXRlIHRoZSBzZXJ2ZXJzCi0gICAgICAgIHNlcnZlcl9pZCA9 IGxpc3Qoc2VydmVyc19pbmZvWzBdLmtleXMoKSlbMF0KLSAgICAgICAgcmVz cG9uc2UgPSBzZWxmLnRlc3Rlci5kZWxldGUodXJsICsgc3RyKHNlcnZlcl9p ZCkpCisgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIuZGVsZXRlKHVy bCArIHN0cihzZWxmLnNlcnZlcl9pZCkpCiAgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWxzKHJlc3BvbnNlLnN0YXR1c19jb2RlLCAyMDApCi0gICAgICAgIHJl c3BvbnNlX2RhdGEgPSBqc29uLmxvYWRzKHJlc3BvbnNlLmRhdGEuZGVjb2Rl KCd1dGYtOCcpKQotICAgICAgICBzZWxmLmFzc2VydEVxdWFscyhyZXNwb25z ZV9kYXRhWydzdWNjZXNzJ10sIDEpCiAKICAgICBAY2xhc3NtZXRob2QKICAg ICBkZWYgdGVhckRvd25DbGFzcyhjbHMpOgpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVz dF9zZXJ2ZXJfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvdGVzdHMvdGVzdF9zZXJ2ZXJfcHV0LnB5CmluZGV4 IGRlOTJhNjMuLmQzYzViYmEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rlc3RzL3Rlc3Rfc2VydmVy X3B1dC5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy90ZXN0cy90ZXN0X3NlcnZlcl9wdXQucHkKQEAgLTIxLDM3 ICsyMSwyNCBAQCBjbGFzcyBTZXJ2ZXJVcGRhdGVUZXN0Q2FzZShCYXNlVGVz dEdlbmVyYXRvcik6CiAgICAgICAgICgnRGVmYXVsdCBTZXJ2ZXIgTm9kZSB1 cmwnLCBkaWN0KHVybD0nL2Jyb3dzZXIvc2VydmVyL29iai8nKSkKICAgICBd CiAKLSAgICBAY2xhc3NtZXRob2QKLSAgICBkZWYgc2V0VXBDbGFzcyhjbHMp OgorICAgIGRlZiBzZXRVcChzZWxmKToKICAgICAgICAgIiIiVGhpcyBmdW5j dGlvbiBhZGQgdGhlIHNlcnZlciB0byB0ZXN0IHRoZSBQVVQgQVBJIiIiCi0g ICAgICAgIHNlcnZlcl91dGlscy5hZGRfc2VydmVyKGNscy5zZXJ2ZXIpCisg ICAgICAgIHNlbGYuc2VydmVyX2lkID0gdXRpbHMuY3JlYXRlX3NlcnZlcihz ZWxmLnNlcnZlcikKIAogICAgIGRlZiBydW5UZXN0KHNlbGYpOgogICAgICAg ICAiIiJUaGlzIGZ1bmN0aW9uIHVwZGF0ZSB0aGUgc2VydmVyIGRldGFpbHMi IiIKLSAgICAgICAgYWxsX2lkID0gdXRpbHMuZ2V0X25vZGVfaW5mb19kaWN0 KCkKLSAgICAgICAgc2VydmVyc19pbmZvID0gYWxsX2lkWyJzaWQiXQotCi0g ICAgICAgIGlmIGxlbihzZXJ2ZXJzX2luZm8pID09IDA6CisgICAgICAgIGlm IG5vdCBzZWxmLnNlcnZlcl9pZDoKICAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiTm8gc2VydmVyIHRvIHVwZGF0ZS4iKQotCi0gICAgICAgIHNlcnZl cl9pZCA9IGxpc3Qoc2VydmVyc19pbmZvWzBdLmtleXMoKSlbMF0KLSAgICAg ICAgZGF0YSA9IHsKLSAgICAgICAgICAgICJjb21tZW50IjoKLSAgICAgICAg ICAgICAgICBzZXJ2ZXJfdXRpbHMuY29uZmlnX2RhdGFbJ3NlcnZlcl91cGRh dGVfZGF0YSddWzBdWwotICAgICAgICAgICAgICAgICAgICAnY29tbWVudCdd LAotICAgICAgICAgICAgImlkIjogc2VydmVyX2lkCi0gICAgICAgIH0KKyAg ICAgICAgZGF0YSA9IHsiY29tbWVudCI6IHNlbGYuc2VydmVyWydjb21tZW50 J10sICJpZCI6IHNlbGYuc2VydmVyX2lkfQogICAgICAgICBwdXRfcmVzcG9u c2UgPSBzZWxmLnRlc3Rlci5wdXQoCiAgICAgICAgICAgICBzZWxmLnVybCAr IHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsgJy8nICsKLSAgICAgICAgICAg IHN0cihzZXJ2ZXJfaWQpLCBkYXRhPWpzb24uZHVtcHMoZGF0YSksCisgICAg ICAgICAgICBzdHIoc2VsZi5zZXJ2ZXJfaWQpLCBkYXRhPWpzb24uZHVtcHMo ZGF0YSksCiAgICAgICAgICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicp CiAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHB1dF9yZXNwb25zZS5zdGF0 dXNfY29kZSwgMjAwKQogCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHRl YXJEb3duQ2xhc3MoY2xzKToKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CiAg ICAgICAgICIiIgogICAgICAgICBUaGlzIGZ1bmN0aW9uIGRlbGV0ZSB0aGUg c2VydmVyIGZyb20gU1FMaXRlICYgY2xlYXJzIHRoZSBub2RlX2luZm9fZGlj dAogICAgICAgICAiIiIKLSAgICAgICAgc2VydmVyX2lkID0gc2VydmVyX3V0 aWxzLmdldF9zZXJ2ZXJfaWQoKQotICAgICAgICB1dGlscy5kZWxldGVfc2Vy dmVyKHNlcnZlcl9pZCkKKyAgICAgICAgdXRpbHMuZGVsZXRlX3NlcnZlcihz ZWxmLnNlcnZlcl9pZCkKICAgICAgICAgdXRpbHMuY2xlYXJfbm9kZV9pbmZv X2RpY3QoKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvdGVzdHMvdXRpbHMucHkgYi93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy91dGlscy5w eQppbmRleCA5NGE3ODExLi5jMWI1MjU5IDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZXN0cy91dGls cy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy90ZXN0cy91dGlscy5weQpAQCAtMTksMTcgKzE5LDcgQEAgZnJv bSByZWdyZXNzaW9uIGltcG9ydCB0ZXN0X3V0aWxzIGFzIHV0aWxzCiBmcm9t IHJlZ3Jlc3Npb24udGVzdF9zZXR1cCBpbXBvcnQgY29uZmlnX2RhdGEKIAog U0VSVkVSX1VSTCA9ICcvYnJvd3Nlci9zZXJ2ZXIvb2JqLycKLVNFUlZFUl9D T05ORUNUX1VSTCA9ICdicm93c2VyL3NlcnZlci9jb25uZWN0LycKLQotCi1k ZWYgZ2V0X3NlcnZlcl9pZCgpOgotICAgICIiIlRoaXMgZnVuY3Rpb24gcmV0 dXJucyB0aGUgc2VydmVyIGlkIGZyb20gbm9kZV9pbmZvX2RpY3QiIiIKLQot ICAgIHNlcnZlcl9pZCA9IDAKLSAgICBpZiAic2lkIiBpbiBub2RlX2luZm9f ZGljdDoKLSAgICAgICAgaWYgbm9kZV9pbmZvX2RpY3RbJ3NpZCddOgotICAg ICAgICAgICAgc2VydmVyX2lkID0gbGlzdChub2RlX2luZm9fZGljdFsnc2lk J11bMF0ua2V5cygpKVswXQotICAgIHJldHVybiBzZXJ2ZXJfaWQKK1NFUlZF Ul9DT05ORUNUX1VSTCA9ICcvYnJvd3Nlci9zZXJ2ZXIvY29ubmVjdC8nCiAK IAogZGVmIGNvbm5lY3Rfc2VydmVyKHNlbGYsIHNlcnZlcl9pZCk6CkBAIC0z Nyw4ICsyNyw4IEBAIGRlZiBjb25uZWN0X3NlcnZlcihzZWxmLCBzZXJ2ZXJf aWQpOgogICAgIFRoaXMgZnVuY3Rpb24gdXNlZCB0byBjb25uZWN0IGFkZGVk IHNlcnZlcgogICAgIDpwYXJhbSBzZWxmOiBjbGFzcyBvYmplY3Qgb2Ygc2Vy dmVyJ3MgdGVzdCBjbGFzcwogICAgIDp0eXBlIHNlbGY6IGNsYXNzCi0gICAg OnBhcmFtIHNlcnZlcl9pZDogZmxhZyBmb3IgZGIgYWRkIHRlc3QgY2FzZQot ICAgIDp0eXBlIHNlcnZlcl9pZDogYm9vbAorICAgIDpwYXJhbSBzZXJ2ZXJf aWQ6IHNlcnZlciBpZAorICAgIDp0eXBlIHNlcnZlcl9pZDogc3RyCiAgICAg IiIiCiAgICAgcmVzcG9uc2UgPSBzZWxmLnRlc3Rlci5wb3N0KFNFUlZFUl9D T05ORUNUX1VSTCArIHN0cih1dGlscy5TRVJWRVJfR1JPVVApICsKICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJy8nICsgc3RyKHNlcnZlcl9p ZCksCkBAIC00NywyNCArMzcsMyBAQCBkZWYgY29ubmVjdF9zZXJ2ZXIoc2Vs Ziwgc2VydmVyX2lkKToKICAgICBhc3NlcnQgcmVzcG9uc2Uuc3RhdHVzX2Nv ZGUgPT0gMjAwCiAgICAgcmVzcG9uc2VfZGF0YSA9IGpzb24ubG9hZHMocmVz cG9uc2UuZGF0YS5kZWNvZGUoJ3V0Zi04JykpCiAgICAgcmV0dXJuIHJlc3Bv bnNlX2RhdGEKLQotCi1kZWYgYWRkX3NlcnZlcihzZXJ2ZXIpOgotICAgIHRy eToKLSAgICAgICAgY29ubiA9IHNxbGl0ZTMuY29ubmVjdChjb25maWcuU1FM SVRFX1BBVEgpCi0gICAgICAgIGN1ciA9IGNvbm4uY3Vyc29yKCkKLSAgICAg ICAgc2VydmVyX2RldGFpbHMgPSAoCi0gICAgICAgICAgICAxLCB1dGlscy5T RVJWRVJfR1JPVVAsIHNlcnZlclsnbmFtZSddLCBzZXJ2ZXJbJ2hvc3QnXSwK LSAgICAgICAgICAgIHNlcnZlclsncG9ydCddLCBzZXJ2ZXJbJ2RiJ10sIHNl cnZlclsndXNlcm5hbWUnXSwKLSAgICAgICAgICAgIHNlcnZlclsncm9sZSdd LCBzZXJ2ZXJbJ3NzbG1vZGUnXSwKLSAgICAgICAgICAgIHNlcnZlclsnY29t bWVudCddKQotICAgICAgICBjdXIuZXhlY3V0ZSgKLSAgICAgICAgICAgICdJ TlNFUlQgSU5UTyBzZXJ2ZXIgKHVzZXJfaWQsIHNlcnZlcmdyb3VwX2lkLCBu YW1lLCBob3N0LCAnCi0gICAgICAgICAgICAncG9ydCwgbWFpbnRlbmFuY2Vf ZGIsIHVzZXJuYW1lLCByb2xlLCBzc2xfbW9kZSwnCi0gICAgICAgICAgICAn IGNvbW1lbnQpIFZBTFVFUyAoPyw/LD8sPyw/LD8sPyw/LD8sPyknLCBzZXJ2 ZXJfZGV0YWlscykKLSAgICAgICAgc2VydmVyX2lkID0gY3VyLmxhc3Ryb3dp ZAotICAgICAgICAjIEFkZCBzZXJ2ZXIgaW5mbyB0byBub2RlX2luZm9fZGlj dAotICAgICAgICB1dGlscy53cml0ZV9ub2RlX2luZm8oaW50KHNlcnZlcl9p ZCksICJzaWQiLCBzZXJ2ZXIpCi0gICAgICAgIGNvbm4uY29tbWl0KCkKLSAg ICBleGNlcHQgRXhjZXB0aW9uIGFzIGVycjoKLSAgICAgICAgcmFpc2UgRXhj ZXB0aW9uKGVycikKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL19faW5p dF9fLnB5IGIvd2ViL3JlZ3Jlc3Npb24vX19pbml0X18ucHkKaW5kZXggNmEy NzQ0OC4uYzAwMWJlNiAxMDA2NDQKLS0tIGEvd2ViL3JlZ3Jlc3Npb24vX19p bml0X18ucHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vX19pbml0X18ucHkKQEAg LTI4LDUgKzI4LDcgQEAgbm9kZV9pbmZvX2RpY3QgPSB7CiBnbG9iYWwgdGVz dF9zZXJ2ZXJfZGljdAogdGVzdF9zZXJ2ZXJfZGljdCA9IHsKICAgICAgICAg InNlcnZlciI6IFtdLAotICAgICAgICAiZGF0YWJhc2UiOiBbXQorICAgICAg ICAiZGF0YWJhc2UiOiBbXSwKKyAgICAgICAgInRhYmxlc3BhY2UiOiBbXSwK KyAgICAgICAgInJvbGUiOiBbXQogfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3J1bnRlc3RzLnB5 IGIvd2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMucHkKaW5kZXggYjI0MTQ1My4u MDcwMGEwNiAxMDA2NDQKLS0tIGEvd2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMu cHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMucHkKQEAgLTM2LDgg KzM2LDggQEAgaW1wb3J0IHRlc3Rfc2V0dXAKIAogIyBFeGVjdXRlIHNldHVw LnB5IGlmIHRlc3QgU1FMaXRlIGRhdGFiYXNlIGRvZXNuJ3QgZXhpc3QuCiBp ZiBvcy5wYXRoLmlzZmlsZShjb25maWcuVEVTVF9TUUxJVEVfUEFUSCk6Ci0g ICAgcHJpbnQoIlRoZSBjb25maWd1cmF0aW9uIGRhdGFiYXNlIGFscmVhZHkg ZXhpc3RzIGF0ICclcycuICIKLSAgICAgICAgICAiUGxlYXNlIHJlbW92ZSB0 aGUgZGF0YWJhc2UgYW5kIHJlLXJ1biB0aGUgdGVzdCBzdWl0ZS4iICUKKyAg ICBwcmludCgiVGhlIGNvbmZpZ3VyYXRpb24gZGF0YWJhc2UgYWxyZWFkeSBl eGlzdGVkIGF0ICclcycuICIKKyAgICAgICAgICAiUGxlYXNlIHJlbW92ZSB0 aGUgZGF0YWJhc2UgYW5kIGFnYWluIHJ1biB0aGUgdGVzdCBzdWl0ZS4iICUK ICAgICAgICAgICBjb25maWcuVEVTVF9TUUxJVEVfUEFUSCkKICAgICBzeXMu ZXhpdCgxKQogZWxzZToKQEAgLTE1MSw2ICsxNTEsMjYgQEAgZGVmIHNpZ19o YW5kbGVyKHNpZ25vLCBmcmFtZSk6CiAgICAgdGVzdF91dGlscy5kcm9wX29i amVjdHMoKQogCiAKK2RlZiBnZXRfdGVzdHNfcmVzdWx0KHRlc3RzKToKKyAg ICAiIiJUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHRvdGFsIHJhbiBhbmQg dG90YWwgZmFpbGVkIHRlc3QgY2FzZXMgY291bnQiIiIKKyAgICB0b3RhbF9y YW4gPSB0ZXN0cy50ZXN0c1J1bgorICAgIGZhaWxlZF9jYXNlc19yZXN1bHQg PSBbXQorICAgIGlmIHRvdGFsX3JhbjoKKyAgICAgICAgaWYgdGVzdHMuZmFp bHVyZXM6CisgICAgICAgICAgICBmb3IgZmFpbGVkX2Nhc2UgaW4gdGVzdHMu ZmFpbHVyZXM6CisgICAgICAgICAgICAgICAgY2xhc3NfbmFtZSA9IHN0cihm YWlsZWRfY2FzZVswXSkuc3BsaXQoJy4nKVstMV0uc3BsaXQoKVswXS5cCisg ICAgICAgICAgICAgICAgICAgIHN0cmlwKCcpJykKKyAgICAgICAgICAgICAg ICBmYWlsZWRfY2FzZXNfcmVzdWx0LmFwcGVuZChjbGFzc19uYW1lKQorICAg ICAgICBpZiB0ZXN0cy5lcnJvcnM6CisgICAgICAgICAgICBmb3IgZXJyb3Jf Y2FzZSBpbiB0ZXN0cy5lcnJvcnM6CisgICAgICAgICAgICAgICAgY2xhc3Nf bmFtZSA9IHN0cihlcnJvcl9jYXNlWzBdKS5zcGxpdCgnLicpWy0xXS5zcGxp dCgpWzBdLlwKKyAgICAgICAgICAgICAgICAgICAgc3RyaXAoJyknKQorICAg ICAgICAgICAgICAgIGlmIGNsYXNzX25hbWUgbm90IGluIGZhaWxlZF9jYXNl c19yZXN1bHQ6CisgICAgICAgICAgICAgICAgICAgIGZhaWxlZF9jYXNlc19y ZXN1bHQuYXBwZW5kKGNsYXNzX25hbWUpCisKKyAgICByZXR1cm4gdG90YWxf cmFuLCBmYWlsZWRfY2FzZXNfcmVzdWx0CisKKwogY2xhc3MgU3RyZWFtVG9M b2dnZXIob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgbG9nZ2Vy LCBsb2dfbGV2ZWw9bG9nZ2luZy5JTkZPKToKICAgICAgICAgc2VsZi50ZXJt aW5hbCA9IHN5cy5zdGRlcnIKQEAgLTE3Niw2ICsxOTYsNyBAQCBjbGFzcyBT dHJlYW1Ub0xvZ2dlcihvYmplY3QpOgogCiAKIGlmIF9fbmFtZV9fID09ICdf X21haW5fXyc6CisgICAgdGVzdF9yZXN1bHQgPSBkaWN0KCkKICAgICAjIFJl Z2lzdGVyIGNsZWFudXAgZnVuY3Rpb24gdG8gY2xlYW51cCBvbiBleGl0CiAg ICAgYXRleGl0LnJlZ2lzdGVyKHRlc3RfdXRpbHMuZHJvcF9vYmplY3RzKQog ICAgICMgU2V0IHNpZ25hbCBoYW5kbGVyIGZvciBjbGVhbnVwCkBAIC0yMDMs NyArMjI0LDkgQEAgaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICAg ICAgZm9yIHNlcnZlciBpbiBzZXJ2ZXJzX2luZm86CiAgICAgICAgICAgICBw cmludCgiXG49PT09PT09PT09PT09UnVubmluZyB0aGUgdGVzdCBjYXNlcyBm b3IgJyVzJz09PT09PT09PT09PT0iCiAgICAgICAgICAgICAgICAgICAlIHNl cnZlclsnbmFtZSddLCBmaWxlPXN5cy5zdGRlcnIpCisKICAgICAgICAgICAg IHRlc3RfdXRpbHMuY3JlYXRlX3Rlc3Rfc2VydmVyKHNlcnZlcikKKwogICAg ICAgICAgICAgIyBMb2dpbiB0aGUgdGVzdCBjbGllbnQKICAgICAgICAgICAg IHRlc3RfdXRpbHMubG9naW5fdGVzdGVyX2FjY291bnQodGVzdF9jbGllbnQp CiAKQEAgLTIxMSwxMSArMjM0LDI5IEBAIGlmIF9fbmFtZV9fID09ICdfX21h aW5fXyc6CiAgICAgICAgICAgICB0ZXN0cyA9IHVuaXR0ZXN0LlRleHRUZXN0 UnVubmVyKHN0cmVhbT1zeXMuc3RkZXJyLAogICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkZXNjcmlwdGlvbnM9VHJ1ZSwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg dmVyYm9zaXR5PTIpLnJ1bihzdWl0ZSkKKworICAgICAgICAgICAgcmFuX3Rl c3RzLCBmYWlsZWRfY2FzZXMgPSBnZXRfdGVzdHNfcmVzdWx0KHRlc3RzKQor ICAgICAgICAgICAgdGVzdF9yZXN1bHRbc2VydmVyWyduYW1lJ11dID0gW3Jh bl90ZXN0cywgZmFpbGVkX2Nhc2VzXQorCiAgICAgICAgICAgICAjIExvZ291 dCB0aGUgdGVzdCBjbGllbnQKICAgICAgICAgICAgIHRlc3RfdXRpbHMubG9n b3V0X3Rlc3Rlcl9hY2NvdW50KHRlc3RfY2xpZW50KQogCi0gICAgICAgICAg ICB0ZXN0X3V0aWxzLmRlbGV0ZV90ZXN0X3NlcnZlcihzZXJ2ZXIpCisgICAg ICAgICAgICB0ZXN0X3V0aWxzLmRlbGV0ZV90ZXN0X3NlcnZlcigpCiAgICAg ZXhjZXB0IFN5c3RlbUV4aXQ6CiAgICAgICAgIHRlc3RfdXRpbHMuZHJvcF9v YmplY3RzKCkKIAotICAgIHByaW50KCJQbGVhc2UgY2hlY2sgb3V0cHV0IGlu IGZpbGU6ICVzL3JlZ3Jlc3Npb24ubG9nICIgJSBDVVJSRU5UX1BBVEgpCisg ICAgcHJpbnQoIlxuVGVzdCBSZXN1bHQgU3VtbWFyeSIsIGZpbGU9c3lzLnN0 ZGVycikKKyAgICBwcmludCgiPT09PT09PT09PT09PT09PT09PT09PT09PT09 PSIsIGZpbGU9c3lzLnN0ZGVycikKKyAgICBmb3Igc2VydmVyX3JlcyBpbiB0 ZXN0X3Jlc3VsdDoKKyAgICAgICAgZmFpbGVkX2Nhc2VzID0gIiwiLmpvaW4o dGVzdF9yZXN1bHRbc2VydmVyX3Jlc11bMV0pCisgICAgICAgIHRvdGFsX2Zh aWxlZCA9IGxlbih0ZXN0X3Jlc3VsdFtzZXJ2ZXJfcmVzXVsxXSkKKyAgICAg ICAgdG90YWxfcGFzc2VkID0gaW50KHRlc3RfcmVzdWx0W3NlcnZlcl9yZXNd WzBdKSAtIHRvdGFsX2ZhaWxlZAorCisgICAgICAgIHByaW50KCIlczogJXMg dGVzdCVzIHBhc3NlZCwgJXMgdGVzdCVzIGZhaWxlZCAlcyVzJXMiICUKKyAg ICAgICAgICAgICAgKHNlcnZlcl9yZXMsIHRvdGFsX3Bhc3NlZCwgKHRvdGFs X3Bhc3NlZCAhPSAxIGFuZCAicyIgb3IgIiIpLAorICAgICAgICAgICAgICAg dG90YWxfZmFpbGVkLCAodG90YWxfZmFpbGVkICE9IDEgYW5kICJzIiBvciAi IiksCisgICAgICAgICAgICAgICAodG90YWxfZmFpbGVkICE9IDAgYW5kICIo IiBvciAiIiksIGZhaWxlZF9jYXNlcywKKyAgICAgICAgICAgICAgICh0b3Rh bF9mYWlsZWQgIT0gMCBhbmQgIikiIG9yICIiKSksIGZpbGU9c3lzLnN0ZGVy cikKKyAgICBwcmludCgiPT09PT09PT09PT09PT09PT09PT09PT09PT09PSIs IGZpbGU9c3lzLnN0ZGVycikKKworICAgIHByaW50KCJcblBsZWFzZSBjaGVj ayBvdXRwdXQgaW4gZmlsZTogJXMvcmVncmVzc2lvbi5sb2cgIiAlIENVUlJF TlRfUEFUSCkKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3Rlc3RfdXRp bHMucHkgYi93ZWIvcmVncmVzc2lvbi90ZXN0X3V0aWxzLnB5CmluZGV4IDFi OTZjOWEuLjBkMmFiZWIgMTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL3Rl c3RfdXRpbHMucHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vdGVzdF91dGlscy5w eQpAQCAtMTAsMTggKzEwLDI0IEBAIGZyb20gX19mdXR1cmVfXyBpbXBvcnQg cHJpbnRfZnVuY3Rpb24KIAogaW1wb3J0IG9zCiBpbXBvcnQgc3lzCitpbXBv cnQgdXVpZAogaW1wb3J0IHBzeWNvcGcyCiBpbXBvcnQgc3FsaXRlMworCitp bXBvcnQgbG9nZ2luZworCiBpbXBvcnQgY29uZmlnCiAKIGltcG9ydCB0ZXN0 X3NldHVwCiBpbXBvcnQgcmVncmVzc2lvbgogCiBTRVJWRVJfR1JPVVAgPSB0 ZXN0X3NldHVwLmNvbmZpZ19kYXRhWydzZXJ2ZXJfZ3JvdXAnXQorbG9nZ2Vy ID0gbG9nZ2luZy5nZXRMb2dnZXIoX19uYW1lX18pCitmaWxlX25hbWUgPSBv cy5wYXRoLmJhc2VuYW1lKF9fZmlsZV9fKQogCiAKIGRlZiBnZXRfZGJfY29u bmVjdGlvbihkYiwgdXNlcm5hbWUsIHBhc3N3b3JkLCBob3N0LCBwb3J0KToK LSAgICAiIiJUaGlzIGZ1bmN0aW9uIHJldHJ1bnMgdGhlIGNvbm5lY3Rpb24g b2JqZWN0IG9mIHBzeWNvcGciIiIKKyAgICAiIiJUaGlzIGZ1bmN0aW9uIHJl dHVybnMgdGhlIGNvbm5lY3Rpb24gb2JqZWN0IG9mIHBzeWNvcGciIiIKICAg ICBjb25uZWN0aW9uID0gcHN5Y29wZzIuY29ubmVjdChkYXRhYmFzZT1kYiwK ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1c2VyPXVzZXJu YW1lLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhc3N3 b3JkPXBhc3N3b3JkLApAQCAtNzEsNyArNzcsNyBAQCBkZWYgZ2V0X2NvbmZp Z19kYXRhKCk6CiAgICAgc2VydmVyX2RhdGEgPSBbXQogICAgIGZvciBzcnYg aW4gdGVzdF9zZXR1cC5jb25maWdfZGF0YVsnc2VydmVyX2NyZWRlbnRpYWxz J106CiAgICAgICAgIGRhdGEgPSB7Im5hbWUiOiBzcnZbJ25hbWUnXSwKLSAg ICAgICAgICAgICAgICAiY29tbWVudCI6ICIiLAorICAgICAgICAgICAgICAg ICJjb21tZW50Ijogc3J2Wydjb21tZW50J10sCiAgICAgICAgICAgICAgICAg Imhvc3QiOiBzcnZbJ2hvc3QnXSwKICAgICAgICAgICAgICAgICAicG9ydCI6 IHNydlsnZGJfcG9ydCddLAogICAgICAgICAgICAgICAgICJkYiI6IHNydlsn bWFpbnRlbmFuY2VfZGInXSwKQEAgLTE0MiwxOSArMTQ4LDIyIEBAIGRlZiBj cmVhdGVfZGF0YWJhc2Uoc2VydmVyLCBkYl9uYW1lKToKICAgICAgICAgcmFp c2UgRXhjZXB0aW9uKCJFcnJvciB3aGlsZSBjcmVhdGluZyBkYXRhYmFzZS4g JXMiICUgZXhjZXB0aW9uKQogCiAKLWRlZiBkcm9wX2RhdGFiYXNlKGNvbm5l Y3Rpb24sIGRiX25hbWUpOgorZGVmIGRyb3BfZGF0YWJhc2UoY29ubmVjdGlv biwgZGF0YWJhc2VfbmFtZSk6CiAgICAgIiIiVGhpcyBmdW5jdGlvbiB1c2Vk IHRvIGRyb3AgdGhlIGRhdGFiYXNlIiIiCi0gICAgdHJ5OgorCisgICAgcGdf Y3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQorICAgIHBnX2N1cnNvci5l eGVjdXRlKCJTRUxFQ1QgKiBGUk9NIHBnX2RhdGFiYXNlIGRiIFdIRVJFIGRi LmRhdG5hbWU9JyVzJyIKKyAgICAgICAgICAgICAgICAgICAgICAlIGRhdGFi YXNlX25hbWUpCisgICAgaWYgcGdfY3Vyc29yLmZldGNoYWxsKCk6CisgICAg ICAgICMgUmVsZWFzZSBwaWQgaWYgYW55IHByb2Nlc3MgdXNpbmcgZGF0YWJh c2UKKyAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoInNlbGVjdCBwZ190ZXJt aW5hdGVfYmFja2VuZChwaWQpIGZyb20iCisgICAgICAgICAgICAgICAgICAg ICAgICAgICIgcGdfc3RhdF9hY3Rpdml0eSB3aGVyZSBkYXRuYW1lPSclcyci ICUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YWJhc2VfbmFtZSkK ICAgICAgICAgb2xkX2lzb2xhdGlvbl9sZXZlbCA9IGNvbm5lY3Rpb24uaXNv bGF0aW9uX2xldmVsCiAgICAgICAgIGNvbm5lY3Rpb24uc2V0X2lzb2xhdGlv bl9sZXZlbCgwKQotICAgICAgICBwZ19jdXJzb3IgPSBjb25uZWN0aW9uLmN1 cnNvcigpCi0gICAgICAgIHBnX2N1cnNvci5leGVjdXRlKCcnJ0RST1AgREFU QUJBU0UgIiVzIicnJyAlIGRiX25hbWUpCisgICAgICAgIHBnX2N1cnNvci5l eGVjdXRlKCcnJ0RST1AgREFUQUJBU0UgIiVzIicnJyAlIGRhdGFiYXNlX25h bWUpCiAgICAgICAgIGNvbm5lY3Rpb24uc2V0X2lzb2xhdGlvbl9sZXZlbChv bGRfaXNvbGF0aW9uX2xldmVsKQogICAgICAgICBjb25uZWN0aW9uLmNvbW1p dCgpCi0gICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKQotICAgIGV4Y2VwdCBF eGNlcHRpb24gYXMgZXhjZXB0aW9uOgotICAgICAgICByYWlzZSBFeGNlcHRp b24oIkV4Y2VwdGlvbiB3aGlsZSBkcm9wcGluZyB0aGUgZGF0YWJhc2UuICVz IiAlCi0gICAgICAgICAgICAgICAgICAgICAgICBleGNlcHRpb24pCiAKIAog ZGVmIGNyZWF0ZV9zZXJ2ZXIoc2VydmVyKToKQEAgLTE4MSwxMTYgKzE5MCwx NzEgQEAgZGVmIGRlbGV0ZV9zZXJ2ZXIoc2lkKToKICAgICB0cnk6CiAgICAg ICAgIGNvbm4gPSBzcWxpdGUzLmNvbm5lY3QoY29uZmlnLlNRTElURV9QQVRI KQogICAgICAgICBjdXIgPSBjb25uLmN1cnNvcigpCi0gICAgICAgIHNlcnZl cnMgPSBjdXIuZXhlY3V0ZSgnU0VMRUNUICogRlJPTSBzZXJ2ZXIgV0hFUkUg aWQ9JXMnICUgc2lkKQotICAgICAgICBzZXJ2ZXJzX2NvdW50ID0gbGVuKHNl cnZlcnMuZmV0Y2hhbGwoKSkKKyAgICAgICAgc2VydmVyX29iamVjdHMgPSBj dXIuZXhlY3V0ZSgnU0VMRUNUICogRlJPTSBzZXJ2ZXIgV0hFUkUgaWQ9JXMn ICUgc2lkKQorICAgICAgICBzZXJ2ZXJzX2NvdW50ID0gbGVuKHNlcnZlcl9v YmplY3RzLmZldGNoYWxsKCkpCiAgICAgICAgIGlmIHNlcnZlcnNfY291bnQ6 CiAgICAgICAgICAgICBjdXIuZXhlY3V0ZSgnREVMRVRFIEZST00gc2VydmVy IFdIRVJFIGlkPSVzJyAlIHNpZCkKICAgICAgICAgICAgIGNvbm4uY29tbWl0 KCkKLSAgICAgICAgZWxzZToKLSAgICAgICAgICAgIHByaW50KCJObyBzZXJ2 ZXJzIGZvdW5kIHRvIGRlbGV0ZS4iLCBmaWxlPXN5cy5zdGRlcnIpCisgICAg ICAgIGNvbm4uY2xvc2UoKQogICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXJy OgogICAgICAgICByYWlzZSBFeGNlcHRpb24oIkVycm9yIHdoaWxlIGRlbGV0 aW5nIHNlcnZlciAlcyIgJSBlcnIpCiAKIAotZGVmIGNyZWF0ZV90ZXN0X3Nl cnZlcihzZXJ2ZXIpOgorZGVmIGNyZWF0ZV90YWJsZXNwYWNlKHNlcnZlciwg dGVzdF90YWJsZXNwYWNlX25hbWUpOgorICAgIHRyeToKKyAgICAgICAgY29u bmVjdGlvbiA9IGdldF9kYl9jb25uZWN0aW9uKHNlcnZlclsnZGInXSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsn dXNlcm5hbWUnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlcnZlclsnZGJfcGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsnaG9zdCddLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWydw b3J0J10pCisgICAgICAgIG9sZF9pc29sYXRpb25fbGV2ZWwgPSBjb25uZWN0 aW9uLmlzb2xhdGlvbl9sZXZlbAorICAgICAgICBjb25uZWN0aW9uLnNldF9p c29sYXRpb25fbGV2ZWwoMCkKKyAgICAgICAgcGdfY3Vyc29yID0gY29ubmVj dGlvbi5jdXJzb3IoKQorICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZSgiQ1JF QVRFIFRBQkxFU1BBQ0UgJXMgTE9DQVRJT04gJyVzJyIgJQorICAgICAgICAg ICAgICAgICAgICAgICAgICAodGVzdF90YWJsZXNwYWNlX25hbWUsIHNlcnZl clsndGFibGVzcGFjZV9wYXRoJ10pKQorICAgICAgICBjb25uZWN0aW9uLnNl dF9pc29sYXRpb25fbGV2ZWwob2xkX2lzb2xhdGlvbl9sZXZlbCkKKyAgICAg ICAgY29ubmVjdGlvbi5jb21taXQoKQorCisgICAgICAgICMgR2V0ICdvaWQn IGZyb20gbmV3bHkgY3JlYXRlZCB0YWJsZXNwYWNlCisgICAgICAgIHBnX2N1 cnNvci5leGVjdXRlKAorICAgICAgICAgICAgIlNFTEVDVCB0cy5vaWQgZnJv bSBwZ190YWJsZXNwYWNlIHRzIFdIRVJFIHRzLnNwY25hbWU9JyVzJyIgJQor ICAgICAgICAgICAgdGVzdF90YWJsZXNwYWNlX25hbWUpCisgICAgICAgIG9p ZCA9IHBnX2N1cnNvci5mZXRjaG9uZSgpCisgICAgICAgIHRzcGNfaWQgPSAn JworICAgICAgICBpZiBvaWQ6CisgICAgICAgICAgICB0c3BjX2lkID0gb2lk WzBdCisgICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKQorICAgICAgICByZXR1 cm4gdHNwY19pZAorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjZXB0aW9u OgorICAgICAgICByYWlzZSBFeGNlcHRpb24oIkVycm9yIHdoaWxlIGNyZWF0 aW5nIHRhYmxlc3BhY2UuICVzIiAlIGV4Y2VwdGlvbikKKworCitkZWYgZGVs ZXRlX3RhYmxlc3BhY2UoY29ubmVjdGlvbiwgdGVzdF90YWJsZXNwYWNlX25h bWUpOgorICAgIHRyeToKKyAgICAgICAgcGdfY3Vyc29yID0gY29ubmVjdGlv bi5jdXJzb3IoKQorICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZSgiU0VMRUNU ICogRlJPTSBwZ190YWJsZXNwYWNlIHRzIFdIRVJFIgorICAgICAgICAgICAg ICAgICAgICAgICAgICAiIHRzLnNwY25hbWU9JyVzJyIgJSB0ZXN0X3RhYmxl c3BhY2VfbmFtZSkKKyAgICAgICAgdGFibGVzcGFjZV9jb3VudCA9IGxlbihw Z19jdXJzb3IuZmV0Y2hhbGwoKSkKKyAgICAgICAgaWYgdGFibGVzcGFjZV9j b3VudDoKKyAgICAgICAgICAgIG9sZF9pc29sYXRpb25fbGV2ZWwgPSBjb25u ZWN0aW9uLmlzb2xhdGlvbl9sZXZlbAorICAgICAgICAgICAgY29ubmVjdGlv bi5zZXRfaXNvbGF0aW9uX2xldmVsKDApCisgICAgICAgICAgICBwZ19jdXJz b3IuZXhlY3V0ZSgiRFJPUCBUQUJMRVNQQUNFICVzIiAlIHRlc3RfdGFibGVz cGFjZV9uYW1lKQorICAgICAgICAgICAgY29ubmVjdGlvbi5zZXRfaXNvbGF0 aW9uX2xldmVsKG9sZF9pc29sYXRpb25fbGV2ZWwpCisgICAgICAgICAgICBj b25uZWN0aW9uLmNvbW1pdCgpCisgICAgICAgIGNvbm5lY3Rpb24uY2xvc2Uo KQorICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjZXB0aW9uOgorICAgICAg ICBwcmludCgiRXJyb3Igd2hpbGUgZGVsZXRpbmcgdGFibGVzcGFjZS4gJXMi ICUgZXhjZXB0aW9uLAorICAgICAgICAgICAgICBmaWxlPXN5cy5zdGRlcnIp CisKKworZGVmIGNyZWF0ZV90ZXN0X3NlcnZlcihzZXJ2ZXJfaW5mbyk6CiAg ICAgIiIiCiAgICAgVGhpcyBmdW5jdGlvbiBjcmVhdGUgdGhlIHRlc3Qgc2Vy dmVyIHdoaWNoIHdpbGwgYWN0IGFzIHBhcmVudCBzZXJ2ZXIsCiAgICAgdGhl IG90aGVyIG5vZGUgd2lsbCBhZGQgdW5kZXIgdGhpcyBzZXJ2ZXIKLSAgICA6 cGFyYW0gc2VydmVyOiBzZXJ2ZXIgZGV0YWlscwotICAgIDp0eXBlIHNlcnZl cjogZGljdAorICAgIDpwYXJhbSBzZXJ2ZXJfaW5mbzogc2VydmVyIGRldGFp bHMKKyAgICA6dHlwZSBzZXJ2ZXJfaW5mbzogZGljdAogICAgIDpyZXR1cm46 IE5vbmUKICAgICAiIiIKICAgICAjIENyZWF0ZSB0aGUgc2VydmVyCi0gICAg c2VydmVyX2lkID0gY3JlYXRlX3NlcnZlcihzZXJ2ZXIpCisgICAgc3J2X2lk ID0gY3JlYXRlX3NlcnZlcihzZXJ2ZXJfaW5mbykKIAogICAgICMgQ3JlYXRl IHRlc3QgZGF0YWJhc2UKLSAgICB0ZXN0X2RiX25hbWUgPSAidGVzdF9kYiIK LSAgICBkYl9pZCA9IGNyZWF0ZV9kYXRhYmFzZShzZXJ2ZXIsIHRlc3RfZGJf bmFtZSkKKyAgICB0ZXN0X2RiX25hbWUgPSAidGVzdF9kYl8lcyIgJSBzdHIo dXVpZC51dWlkNCgpKVsxOjhdCisgICAgZGJfaWQgPSBjcmVhdGVfZGF0YWJh c2Uoc2VydmVyX2luZm8sIHRlc3RfZGJfbmFtZSkKKworICAgICMgVE9ETzog TmVlZCB0byBkZWNpZGUgYWJvdXQgdGVzdCB0YWJsZXNwYWNlIGNyZWF0aW9u CisgICAgIyBDcmVhdGUgdGFibGVzcGFjZQorICAgICMgdGVzdF90YWJsZXNw YWNlX25hbWUgPSAidGVzdF90YWJsZXNwYWNlIgorICAgICMgdGFibGVzcGFj ZV9pZCA9IGNyZWF0ZV90YWJsZXNwYWNlKHNlcnZlciwgdGVzdF90YWJsZXNw YWNlX25hbWUpCiAKICAgICAjIEFkZCBzZXJ2ZXIgaW5mbyB0byB0ZXN0X3Nl cnZlcl9kaWN0Ci0gICAgcmVncmVzc2lvbi50ZXN0X3NlcnZlcl9kaWN0WyJz ZXJ2ZXIiXS5hcHBlbmQoeyJzZXJ2ZXJfaWQiOiBzZXJ2ZXJfaWQsCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICJzZXJ2ZXIiOiBzZXJ2ZXJ9KQotICAgIHJlZ3Jlc3Npb24udGVzdF9zZXJ2 ZXJfZGljdFsiZGF0YWJhc2UiXS5hcHBlbmQoeyJzZXJ2ZXJfaWQiOiBzZXJ2 ZXJfaWQsCisgICAgcmVncmVzc2lvbi50ZXN0X3NlcnZlcl9kaWN0WyJzZXJ2 ZXIiXS5hcHBlbmQoeyJzZXJ2ZXJfaWQiOiBzcnZfaWQsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXJ2 ZXIiOiBzZXJ2ZXJfaW5mb30pCisgICAgcmVncmVzc2lvbi50ZXN0X3NlcnZl cl9kaWN0WyJkYXRhYmFzZSJdLmFwcGVuZCh7InNlcnZlcl9pZCI6IHNydl9p ZCwKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAiZGJfaWQiOiBkYl9pZCwKICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAiZGJfbmFtZSI6 IHRlc3RfZGJfbmFtZX0pCiAKIAotZGVmIGRlbGV0ZV90ZXN0X3NlcnZlcihz ZXJ2ZXIpOgorZGVmIGRlbGV0ZV90ZXN0X3NlcnZlcigpOgogICAgIHRlc3Rf c2VydmVyX2RpY3QgPSByZWdyZXNzaW9uLnRlc3Rfc2VydmVyX2RpY3QKLSAg ICBpZiB0ZXN0X3NlcnZlcl9kaWN0OgotICAgICAgICBjb25uZWN0aW9uID0g Z2V0X2RiX2Nvbm5lY3Rpb24oc2VydmVyWydkYiddLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyWyd1c2VybmFtZSdd LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vy dmVyWydkYl9wYXNzd29yZCddLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VydmVyWydob3N0J10sCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3BvcnQnXSkKLSAg ICAgICAgZGJfbmFtZSA9IHRlc3Rfc2VydmVyX2RpY3RbImRhdGFiYXNlIl1b MF1bImRiX25hbWUiXQotICAgICAgICBkcm9wX2RhdGFiYXNlKGNvbm5lY3Rp b24sIGRiX25hbWUpCi0gICAgICAgICMgRGVsZXRlIHRoZSBzZXJ2ZXIKLSAg ICAgICAgc2VydmVyX2lkID0gdGVzdF9zZXJ2ZXJfZGljdFsnc2VydmVyJ11b MF1bInNlcnZlcl9pZCJdCi0gICAgICAgIGNvbm4gPSBzcWxpdGUzLmNvbm5l Y3QoY29uZmlnLlNRTElURV9QQVRIKQotICAgICAgICBjdXIgPSBjb25uLmN1 cnNvcigpCi0gICAgICAgIHNlcnZlcnMgPSBjdXIuZXhlY3V0ZSgnU0VMRUNU ICogRlJPTSBzZXJ2ZXIgV0hFUkUgaWQ9JXMnICUgc2VydmVyX2lkKQotICAg ICAgICBzZXJ2ZXJzX2NvdW50ID0gbGVuKHNlcnZlcnMuZmV0Y2hhbGwoKSkK LSAgICAgICAgaWYgc2VydmVyc19jb3VudDoKLSAgICAgICAgICAgIGN1ci5l eGVjdXRlKCdERUxFVEUgRlJPTSBzZXJ2ZXIgV0hFUkUgaWQ9JXMnICUgc2Vy dmVyX2lkKQotICAgICAgICAgICAgY29ubi5jb21taXQoKQotICAgICAgICAg ICAgY29ubi5jbG9zZSgpCi0gICAgICAgICAgICBzZXJ2ZXJfZGljdCA9IHJl Z3Jlc3Npb24udGVzdF9zZXJ2ZXJfZGljdFsic2VydmVyIl0KKyAgICB0ZXN0 X3NlcnZlcnMgPSB0ZXN0X3NlcnZlcl9kaWN0WyJzZXJ2ZXIiXQorICAgIHRl c3RfZGF0YWJhc2VzID0gdGVzdF9zZXJ2ZXJfZGljdFsiZGF0YWJhc2UiXQor ICAgIHRlc3RfdGFibGVfc3BhY2VzID0gdGVzdF9zZXJ2ZXJfZGljdFsidGFi bGVzcGFjZSJdCisgICAgdHJ5OgorICAgICAgICBmb3IgdGVzdF9zZXJ2ZXIg aW4gdGVzdF9zZXJ2ZXJzOgorICAgICAgICAgICAgc3J2X2lkID0gdGVzdF9z ZXJ2ZXJbInNlcnZlcl9pZCJdCisgICAgICAgICAgICBzZXJ2ZXJzX2RpY3Qg PSB0ZXN0X3NlcnZlclsic2VydmVyIl0KKyAgICAgICAgICAgIGZvciBkYXRh YmFzZSBpbiB0ZXN0X2RhdGFiYXNlczoKKyAgICAgICAgICAgICAgICBjb25u ZWN0aW9uID0gZ2V0X2RiX2Nvbm5lY3Rpb24oc2VydmVyc19kaWN0WydkYidd LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZXJ2ZXJzX2RpY3RbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcnNfZGlj dFsnZGJfcGFzc3dvcmQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VydmVyc19kaWN0Wydob3N0J10sCisg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlcnZlcnNfZGljdFsncG9ydCddKQorICAgICAgICAgICAgICAgIGRhdGFi YXNlX25hbWUgPSBkYXRhYmFzZVsiZGJfbmFtZSJdCisgICAgICAgICAgICAg ICAgIyBEcm9wIGRhdGFiYXNlCisgICAgICAgICAgICAgICAgZHJvcF9kYXRh YmFzZShjb25uZWN0aW9uLCBkYXRhYmFzZV9uYW1lKQorICAgICAgICAgICAg Zm9yIHRhYmxlc3BhY2UgaW4gdGVzdF90YWJsZV9zcGFjZXM6CisgICAgICAg ICAgICAgICAgY29ubmVjdGlvbiA9IGdldF9kYl9jb25uZWN0aW9uKHNlcnZl cnNfZGljdFsnZGInXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc2VydmVyc19kaWN0Wyd1c2VybmFtZSddLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZXJ2ZXJzX2RpY3RbJ2RiX3Bhc3N3b3JkJ10sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcnNfZGlj dFsnaG9zdCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZXJ2ZXJzX2RpY3RbJ3BvcnQnXSkKKyAgICAgICAg ICAgICAgICB0YWJsZXNwYWNlX25hbWUgPSB0YWJsZXNwYWNlWyJ0YWJsZXNw YWNlX25hbWUiXQorICAgICAgICAgICAgICAgICMgRGVsZXRlIHRhYmxlc3Bh Y2UKKyAgICAgICAgICAgICAgICBkZWxldGVfdGFibGVzcGFjZShjb25uZWN0 aW9uLCB0YWJsZXNwYWNlX25hbWUpCisKKyAgICAgICAgICAgICMgRGVsZXRl IHNlcnZlcgorICAgICAgICAgICAgZGVsZXRlX3NlcnZlcihzcnZfaWQpCisg ICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBleGNlcHRpb246CisgICAgICAgIGxv Z2dlci5lcnJvcigiRXhjZXB0aW9uOiAlcyIgJSBleGNlcHRpb24pCiAKLSAg ICAgICAgICAgICMgUG9wIHRoZSBzZXJ2ZXIgZnJvbSBkaWN0IGlmIGl0J3Mg ZGVsZXRlZAotICAgICAgICAgICAgc2VydmVyX2RpY3QgPSBbc2VydmVyX2Rp Y3QucG9wKHNlcnZlcl9kaWN0LmluZGV4KGl0ZW0pKQotICAgICAgICAgICAg ICAgICAgICAgICAgICAgZm9yIGl0ZW0gaW4gc2VydmVyX2RpY3QKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlmIHN0cihzZXJ2ZXJfaWQpID09IHN0 cihpdGVtWyJzZXJ2ZXJfaWQiXSldCisgICAgIyBDbGVhciB0ZXN0X3NlcnZl cl9kaWN0CisgICAgZm9yIGl0ZW0gaW4gcmVncmVzc2lvbi50ZXN0X3NlcnZl cl9kaWN0OgorICAgICAgICBkZWwgcmVncmVzc2lvbi50ZXN0X3NlcnZlcl9k aWN0W2l0ZW1dWzpdCiAKLSAgICAgICAgICAgICMgUG9wIHRoZSBkYiBmcm9t IGRpY3QgaWYgaXQncyBkZWxldGVkCi0gICAgICAgICAgICBkYl9kaWN0ID0g cmVncmVzc2lvbi50ZXN0X3NlcnZlcl9kaWN0WyJkYXRhYmFzZSJdCi0gICAg ICAgICAgICBkYl9kaWN0ID0gW2RiX2RpY3QucG9wKGRiX2RpY3QuaW5kZXgo aXRlbSkpIGZvciBpdGVtIGluIGRiX2RpY3QKLSAgICAgICAgICAgICAgICAg ICAgICAgaWYgc2VydmVyX2lkID09IGl0ZW1bInNlcnZlcl9pZCJdXQorCitk ZWYgcmVtb3ZlX2RiX2ZpbGUoKToKKyAgICBpZiBvcy5wYXRoLmlzZmlsZShj b25maWcuU1FMSVRFX1BBVEgpOgorICAgICAgICBvcy5yZW1vdmUoY29uZmln LlNRTElURV9QQVRIKQogCiAKIGRlZiBkcm9wX29iamVjdHMoKToKICAgICAi IiJUaGlzIGZ1bmN0aW9uIHVzZSB0byBjbGVhbnVwIHRoZSBjcmVhdGVkIHRo ZSBvYmplY3RzKHNlcnZlcnMsIGRhdGFiYXNlcywKICAgICAgc2NoZW1hcyBl dGMpIGR1cmluZyB0aGUgdGVzdCBzdWl0ZSBydW4iIiIKLQotICAgICMgQ2xl YW51cCBpbiBub2RlX2luZm9fZGljdAotICAgIHNlcnZlcnNfaW5mbyA9IHJl Z3Jlc3Npb24ubm9kZV9pbmZvX2RpY3RbJ3NpZCddCi0gICAgaWYgc2VydmVy c19pbmZvOgotICAgICAgICBmb3Igc2VydmVyIGluIHNlcnZlcnNfaW5mbzoK LSAgICAgICAgICAgIHNlcnZlcl9pZCA9IHNlcnZlci5rZXlzKClbMF0KLSAg ICAgICAgICAgIHNlcnZlciA9IHNlcnZlci52YWx1ZXMoKVswXQotICAgICAg ICAgICAgaWYgcmVncmVzc2lvbi5ub2RlX2luZm9fZGljdFsnZGlkJ106Ci0g ICAgICAgICAgICAgICAgZGJfY29ubiA9IGdldF9kYl9jb25uZWN0aW9uKHNl cnZlclsnZGInXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VydmVyWyd1c2VybmFtZSddLAotICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ2RiX3Bh c3N3b3JkJ10sCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlcnZlclsnaG9zdCddLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3BvcnQnXSkKLSAg ICAgICAgICAgICAgICBkYl9kaWN0ID0gcmVncmVzc2lvbi5ub2RlX2luZm9f ZGljdFsnZGlkJ11bMF0KLSAgICAgICAgICAgICAgICBpZiBpbnQoc2VydmVy X2lkKSBpbiBkYl9kaWN0OgotICAgICAgICAgICAgICAgICAgICBkYl9uYW1l ID0gZGJfZGljdFtpbnQoc2VydmVyX2lkKV1bImRiX25hbWUiXQotICAgICAg ICAgICAgICAgICAgICBkcm9wX2RhdGFiYXNlKGRiX2Nvbm4sIGRiX25hbWUp Ci0gICAgICAgICAgICBkZWxldGVfc2VydmVyKHNlcnZlcl9pZCkKLQotICAg ICMgQ2xlYW51cCBpbiB0ZXN0X3NlcnZlcl9kaWN0Ci0gICAgc2VydmVycyA9 IHJlZ3Jlc3Npb24udGVzdF9zZXJ2ZXJfZGljdFsic2VydmVyIl0KLSAgICBp ZiBzZXJ2ZXJzOgotICAgICAgICBmb3Igc2VydmVyIGluIHNlcnZlcnM6Ci0g ICAgICAgICAgICBzZXJ2ZXJfaWQgPSBzZXJ2ZXJbInNlcnZlcl9pZCJdCi0g ICAgICAgICAgICBzZXJ2ZXIgPSBzZXJ2ZXJbInNlcnZlciJdCi0gICAgICAg ICAgICBpZiByZWdyZXNzaW9uLnRlc3Rfc2VydmVyX2RpY3RbImRhdGFiYXNl Il06Ci0gICAgICAgICAgICAgICAgZGJfaW5mbyA9IHJlZ3Jlc3Npb24udGVz dF9zZXJ2ZXJfZGljdFsiZGF0YWJhc2UiXQotICAgICAgICAgICAgICAgIGRi X2RpY3QgPSBbaXRlbSBmb3IgaXRlbSBpbiBkYl9pbmZvCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICBpZiBzZXJ2ZXJfaWQgPT0gaXRlbVsic2VydmVy X2lkIl1dCi0gICAgICAgICAgICAgICAgaWYgZGJfZGljdDoKLSAgICAgICAg ICAgICAgICAgICAgZm9yIGRiIGluIGRiX2RpY3Q6Ci0gICAgICAgICAgICAg ICAgICAgICAgICBkYl9uYW1lID0gZGJbImRiX25hbWUiXQotICAgICAgICAg ICAgICAgICAgICAgICAgZGJfY29ubiA9IGdldF9kYl9jb25uZWN0aW9uKHNl cnZlclsnZGInXSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJbJ3VzZXJuYW1lJ10sCi0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VydmVyWydkYl9wYXNzd29yZCddLAotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsnaG9z dCddLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlcnZlclsncG9ydCddKQotICAgICAgICAgICAgICAg ICAgICAgICAgZHJvcF9kYXRhYmFzZShkYl9jb25uLCBkYl9uYW1lKQotICAg ICAgICAgICAgZGVsZXRlX3NlcnZlcihzZXJ2ZXJfaWQpCi0KLSAgICAjIFJl bW92ZSB0aGUgdGVzdCBTUUxpdGUgZGF0YWJhc2UKLSAgICBpZiBvcy5wYXRo LmlzZmlsZShjb25maWcuU1FMSVRFX1BBVEgpOgotICAgICAgICBvcy5yZW1v dmUoY29uZmlnLlNRTElURV9QQVRIKQorICAgIHRyeToKKyAgICAgICAgY29u biA9IHNxbGl0ZTMuY29ubmVjdChjb25maWcuU1FMSVRFX1BBVEgpCisgICAg ICAgIGN1ciA9IGNvbm4uY3Vyc29yKCkKKyAgICAgICAgc2VydmVycyA9IGN1 ci5leGVjdXRlKCdTRUxFQ1QgbmFtZSwgaG9zdCwgcG9ydCwgbWFpbnRlbmFu Y2VfZGIsJworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJyB1c2Vy bmFtZSwgaWQgIEZST00gc2VydmVyJykKKyAgICAgICAgaWYgc2VydmVyczoK KyAgICAgICAgICAgIGFsbF9zZXJ2ZXJzID0gc2VydmVycy5mZXRjaGFsbCgp CisgICAgICAgICAgICBmb3Igc2VydmVyX2luZm8gaW4gYWxsX3NlcnZlcnM6 CisgICAgICAgICAgICAgICAgc2VydmVyX25hbWUgPSBzZXJ2ZXJfaW5mb1sw XQorICAgICAgICAgICAgICAgIHNlcnZlcl9pZCA9IHNlcnZlcl9pbmZvWzVd CisgICAgICAgICAgICAgICAgY29uZmlnX3NlcnZlcnMgPSB0ZXN0X3NldHVw LmNvbmZpZ19kYXRhWydzZXJ2ZXJfY3JlZGVudGlhbHMnXQorICAgICAgICAg ICAgICAgIGRiX3Bhc3N3b3JkID0gbmV4dCgoCisgICAgICAgICAgICAgICAg ICAgIGl0ZW0gZm9yIGl0ZW0gaW4gY29uZmlnX3NlcnZlcnMKKyAgICAgICAg ICAgICAgICAgICAgaWYgaXRlbVsnbmFtZSddID09IHNlcnZlcl9uYW1lKSwg Tm9uZSlbJ2RiX3Bhc3N3b3JkJ10KKyAgICAgICAgICAgICAgICBjb25uZWN0 aW9uID0gZ2V0X2RiX2Nvbm5lY3Rpb24oc2VydmVyX2luZm9bM10sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl cnZlcl9pbmZvWzRdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkYl9wYXNzd29yZCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2luZm9b MV0sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlcnZlcl9pbmZvWzJdKQorCisgICAgICAgICAgICAgICAgcGdf Y3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQorICAgICAgICAgICAgICAg IHBnX2N1cnNvci5leGVjdXRlKCJTRUxFQ1QgZGIuZGF0bmFtZSBGUk9NIHBn X2RhdGFiYXNlIGRiIikKKyAgICAgICAgICAgICAgICBkYXRhYmFzZXMgPSBw Z19jdXJzb3IuZmV0Y2hhbGwoKQorICAgICAgICAgICAgICAgIGlmIGRhdGFi YXNlczoKKyAgICAgICAgICAgICAgICAgICAgZm9yIGRiIGluIGRhdGFiYXNl czoKKyAgICAgICAgICAgICAgICAgICAgICAgICMgRG8gbm90IGRyb3AgdGhl IGRlZmF1bHQgZGF0YWJhc2VzCisgICAgICAgICAgICAgICAgICAgICAgICBp ZiBkYlswXSBub3QgaW4gWyJwb3N0Z3JlcyIsICJ0ZW1wbGF0ZTEiLCAidGVt cGxhdGUwIl06CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJvcF9k YXRhYmFzZShjb25uZWN0aW9uLCBkYlswXSkKKyAgICAgICAgICAgICAgICBj b25uZWN0aW9uLmNsb3NlKCkKKyAgICAgICAgICAgICAgICAjIERlbGV0ZSBz ZXJ2ZXIKKyAgICAgICAgICAgICAgICBkZWxldGVfc2VydmVyKHNlcnZlcl9p ZCkKKyAgICAgICAgY29ubi5jbG9zZSgpCisgICAgICAgICMgUmVtb3ZlIFNR TGl0ZSBkYiBmaWxlCisgICAgICAgIHJlbW92ZV9kYl9maWxlKCkKKyAgICBl eGNlcHQgRXhjZXB0aW9uIGFzIGV4Y2VwdGlvbjoKKyAgICAgICAgcmFpc2Ug RXhjZXB0aW9uKCIlczogbGluZTolcyAlcyIgJSAoCisgICAgICAgICAgICBm aWxlX25hbWUsIHN5cy5leGNfdHJhY2ViYWNrLnRiX2xpbmVubywgZXhjZXB0 aW9uKSkKZGlmZiAtLWdpdCBhL3dlYi9zZXR1cC5weSBiL3dlYi9zZXR1cC5w eQppbmRleCAxYWJlMzY3Li41OTdlZWI1IDEwMDc1NQotLS0gYS93ZWIvc2V0 dXAucHkKKysrIGIvd2ViL3NldHVwLnB5CkBAIC04Miw4ICs4Miw3IEBAIGRl ZiBkb19zZXR1cChhcHApOgogICAgICAgICAgICAgICAgIGlmIHAxICE9IHAy OgogICAgICAgICAgICAgICAgICAgICBwcmludCgnUGFzc3dvcmRzIGRvIG5v dCBtYXRjaC4gUGxlYXNlIHRyeSBhZ2Fpbi4nKQogICAgICAgICAgICAgICAg IGVsc2U6Ci0gICAgICAgICAgICAgICAgICAgIHByaW50KAotICAgICAgICAg ICAgICAgICAgICAnUGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA2IGNoYXJh Y3RlcnMuIFBsZWFzZSB0cnkgYWdhaW4uJykKKyAgICAgICAgICAgICAgICAg ICAgcHJpbnQoJ1Bhc3N3b3JkIG11c3QgYmUgYXQgbGVhc3QgNiBjaGFyYWN0 ZXJzLiBQbGVhc2UgdHJ5IGFnYWluLicpCiAgICAgICAgICAgICAgICAgcDEs IHAyID0gcHByb21wdCgpCiAKICAgICAjIFNldHVwIEZsYXNrLVNlY3VyaXR5 Cg== --001a11404c5cc8946c053ca01142 Content-Type: text/plain Content-Disposition: inline Content-Transfer-Encoding: 8bit MIME-Version: 1.0 -- Sent via pgadmin-hackers mailing list (pgadmin-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgadmin-hackers --001a11404c5cc8946c053ca01142--