Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1bp9bN-0002NP-L4 for pgadmin-hackers@arkaria.postgresql.org; Wed, 28 Sep 2016 07:48:26 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1bp9bN-00063E-4g for pgadmin-hackers@arkaria.postgresql.org; Wed, 28 Sep 2016 07:48:25 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.84_2) (envelope-from ) id 1bp9bK-00062N-Sl for pgadmin-hackers@postgresql.org; Wed, 28 Sep 2016 07:48:23 +0000 Received: from mail-yb0-x236.google.com ([2607:f8b0:4002:c09::236]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1bp9bG-0005Fl-Dd for pgadmin-hackers@postgresql.org; Wed, 28 Sep 2016 07:48:21 +0000 Received: by mail-yb0-x236.google.com with SMTP id z8so2610806ybh.3 for ; Wed, 28 Sep 2016 00:48:18 -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=GvoykEPmDpnWAJcIhdX+YsbtXPtI4keURJM2hJrtMfk=; b=E7w0i9WWMA2QIUD1N/3F9+hqm9SHPr4DEBPTXZyiKgdA0MiF8bGObskPRQrXzeb8WU KVjXiGWjJe47BGHMcwL+ZNVZ9PQhQtajl4+XYWBhaz47Y1bPcVbp9Ct+sB3VxGtC1LwS aAeBupFAp1vxsNw3vGFzZnqV8YrT+dAVyuAbeRXDIB4mu0UYQZDB4rRSTn9lmMjN2kFY s46cVyELJ5mn44wESd6rBlPGci0DIAzLeflryD9hZOJpV6GPfwLX0vVm98hYxXrw+UT8 GXkVzbRO+s3j+A3bytrLsadO05qB4ZtN6Ua/rvnNNZQ0r5bB0GSDbY7Z00MaB2pQ6cTA 1IRA== 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=GvoykEPmDpnWAJcIhdX+YsbtXPtI4keURJM2hJrtMfk=; b=PWI/N+29bTit22MM4flVTkf+pmSEPkYoSm6JiHeJrFulzVnedeUV8kBMt1i48TwW1r Ec4C8yZtmnFDBXFDIVdiNohd5eALL+RZBQhVWOdBx96pnmGkFBNTGPSQijcY+RaEj45t ivpHSgqJR2wGSqp3GjHxfjfgCX7M8wZkGp+9gHF1jUWWZeukJIFVc9lwcJrxdvGCqfEC rjnwDKmVTuYEYU/qb71hMQ5FM8dIZJ+MMVTCGsoE94ZsKJ8WFkDKizNJ5m80auLs7FSQ ny/hvBzZ3EMu6/fI73AVp4BYlUCGlZ65+bW859/+NzFTD6T01yFZ8U+CHOXFWOiT4HSJ l39g== X-Gm-Message-State: AA6/9RmJwxTsSlolb8z8G7ZTjCrJs1JfNq2woO+RLki5mGRr7AheKE/HZBcxutBCtOEV2MpKgW7ruciDWsRgZ3qF X-Received: by 10.37.218.151 with SMTP id n145mr8550464ybf.178.1475048897531; Wed, 28 Sep 2016 00:48:17 -0700 (PDT) MIME-Version: 1.0 Received: by 10.37.196.4 with HTTP; Wed, 28 Sep 2016 00:47:57 -0700 (PDT) From: Priyanka Shendge Date: Wed, 28 Sep 2016 13:17:57 +0530 Message-ID: Subject: Database child node: Cast node patch To: Dave Page Cc: pgadmin-hackers , Kanchan Mohitey Content-Type: multipart/mixed; boundary=94eb2c07db8c90b4b0053d8c9513 X-Pg-Spam-Score: -1.9 (-) 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 --94eb2c07db8c90b4b0053d8c9513 Content-Type: multipart/alternative; boundary=94eb2c07db8c90b4aa053d8c9511 --94eb2c07db8c90b4aa053d8c9511 Content-Type: text/plain; charset=UTF-8 Hi Dave, Please find the attached patch for Cast node. (Changes required due to drop objects functionality). To run test cases please enter following command: python regression/runtests.py --pkg browser.server_groups.servers.databases.casts Let me know if any changes required. -- Best, Priyanka EnterpriseDB Corporation The Enterprise PostgreSQL Company --94eb2c07db8c90b4aa053d8c9511 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Dave,

Please find the attached patch for Cast node. (Changes required due = to drop=C2=A0objects=C2=A0functionality).

To run=C2=A0test cases please= enter following command:

python regression/runtests.py --pkg browser.serv= er_groups.servers.databases.casts

Let me know if any changes r= equired.

-= -=C2=A0

Best,
Priyanka

EnterpriseDB Corporation
The Enterprise PostgreSQL Company<= /font>
--94eb2c07db8c90b4aa053d8c9511-- --94eb2c07db8c90b4b0053d8c9513 Content-Type: text/x-patch; charset=US-ASCII; name="cast.patch" Content-Disposition: attachment; filename="cast.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_itmimlul0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90ZXN0cy9fX2luaXRfXy5weSBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9jYXN0cy90ZXN0cy9fX2luaXRfXy5weQppbmRleCBiZmIwMjYz Li5iODZiMjA4IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvdGVzdHMvX19p bml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL19faW5pdF9fLnB5 CkBAIC0xMyw0ICsxMyw0IEBAIGZyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBp bXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKIGNsYXNzIENhc3RUZXN0R2VuZXJh dG9yKEJhc2VUZXN0R2VuZXJhdG9yKToKIAogICAgIGRlZiBydW5UZXN0KHNl bGYpOgotICAgICAgIHJldHVybiBbXQorICAgICAgICByZXR1cm4gW10KZGlm ZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90ZXN0cy90ZXN0X2Nhc3RfYWRkLnB5 IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv ZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL3Rlc3RfY2FzdF9hZGQucHkKaW5kZXgg MGRmZjMzMC4uYmZhODM2ZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rl c3RzL3Rlc3RfY2FzdF9hZGQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3Rz L3Rlc3RfY2FzdF9hZGQucHkKQEAgLTcsMTIgKzcsMTggQEAKICMKICMgIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjCiAKK2Zyb20gX19mdXR1cmVfXyBpbXBvcnQg cHJpbnRfZnVuY3Rpb24KIGZyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBpbXBv cnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbiBpbXBvcnQg cGFyZW50X25vZGVfZGljdAogZnJvbSByZWdyZXNzaW9uIGltcG9ydCB0ZXN0 X3V0aWxzIGFzIHV0aWxzCiBmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGNhc3Rf dXRpbHMKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2Vy dmVycy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IFwKICAgICB1dGlscyBhcyBk YXRhYmFzZV91dGlscwotZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dy b3Vwcy5zZXJ2ZXJzLnRlc3RzIGltcG9ydCB1dGlscyBhcyBzZXJ2ZXJfdXRp bHMKK2ltcG9ydCBqc29uCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZmls ZV9uYW1lID0gb3MucGF0aC5iYXNlbmFtZShfX2ZpbGVfXykKIAogCiBjbGFz cyBDYXN0c0FkZFRlc3RDYXNlKEJhc2VUZXN0R2VuZXJhdG9yKToKQEAgLTIx LDQ1ICsyNyw0OCBAQCBjbGFzcyBDYXN0c0FkZFRlc3RDYXNlKEJhc2VUZXN0 R2VuZXJhdG9yKToKICAgICAgICAgKCdDaGVjayBDYXN0IE5vZGUnLCBkaWN0 KHVybD0nL2Jyb3dzZXIvY2FzdC9vYmovJykpCiAgICAgXQogCi0gICAgQGNs YXNzbWV0aG9kCi0gICAgZGVmIHNldFVwQ2xhc3MoY2xzKToKLSAgICAgICAg IiIiCi0gICAgICAgICBUaGlzIGZ1bmN0aW9uIHBlcmZvcm0gdGhlIGZvbGxv d2luZyB0YXNrczoKLSAgICAgICAgICAgICAgMS4gQWRkIGFuZCBjb25uZWN0 IHRvIHRoZSB0ZXN0IHNlcnZlcihzKQotICAgICAgICAgICAgICAyLiBBZGQg ZGF0YWJhc2UocykgY29ubmVjdGVkIHRvIHNlcnZlcihzKQotCi0gICAgICAg IDpyZXR1cm46IE5vbmUKLSAgICAgICAgIiIiCi0KLSAgICAgICAgIyBBZGQg dGhlIHNlcnZlcgotICAgICAgICBzZXJ2ZXJfdXRpbHMuYWRkX3NlcnZlcihj bHMudGVzdGVyKQotCi0gICAgICAgICMgQ29ubmVjdCB0byBzZXJ2ZXIKLSAg ICAgICAgY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3BvbnNlLCBjbHMuc2VydmVy X2dyb3VwLCBjbHMuc2VydmVyX2lkcyA9IFwKLSAgICAgICAgICAgIHNlcnZl cl91dGlscy5jb25uZWN0X3NlcnZlcihjbHMudGVzdGVyKQotCi0gICAgICAg IGlmIGxlbihjbHMuc2VydmVyX2Nvbm5lY3RfcmVzcG9uc2UpID09IDA6Ci0g ICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIFNlcnZlcihzKSBjb25u ZWN0ZWQgdG8gYWRkIHRoZSBkYXRhYmFzZSEhISIpCi0KLSAgICAgICAgIyBB ZGQgZGF0YWJhc2UKLSAgICAgICAgZGF0YWJhc2VfdXRpbHMuYWRkX2RhdGFi YXNlKGNscy50ZXN0ZXIsIGNscy5zZXJ2ZXJfY29ubmVjdF9yZXNwb25zZSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5zZXJ2 ZXJfaWRzKQotCiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6Ci0gICAgICAgICIi IiBUaGlzIGZ1bmN0aW9uIHdpbGwgYWRkIGNhc3QgdW5kZXIgZGF0YWJhc2Ug bm9kZS4gIiIiCisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgYWRk IGNhc3QgdW5kZXIgdGVzdCBkYXRhYmFzZS4gIiIiCisKKyAgICAgICAgc2Vs Zi5zZXJ2ZXJfZGF0YSA9IHBhcmVudF9ub2RlX2RpY3RbImRhdGFiYXNlIl1b MF0KKyAgICAgICAgc2VsZi5zZXJ2ZXJfaWQgPSBzZWxmLnNlcnZlcl9kYXRh WyJzZXJ2ZXJfaWQiXQorICAgICAgICBzZWxmLmRiX2lkID0gc2VsZi5zZXJ2 ZXJfZGF0YVsnZGJfaWQnXQorICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91 dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYsCisgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbHMuU0VSVkVS X0dST1VQLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lkLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGJfaWQp CisgICAgICAgIGlmIG5vdCBkYl9jb25bImluZm8iXSA9PSAiRGF0YWJhc2Ug Y29ubmVjdGVkLiI6CisgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIkNv dWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNlLiIpCisgICAgICAgIHRyeToK IAotICAgICAgICBjYXN0X3V0aWxzLmFkZF9jYXN0KHNlbGYudGVzdGVyKQor ICAgICAgICAgICAgc2VsZi5kYXRhID0gY2FzdF91dGlscy5nZXRfY2FzdF9k YXRhKCkKIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiB0ZWFyRG93bkNs YXNzKGNscyk6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9u IGRlbGV0ZXMgdGhlIGFkZGVkIGNhc3QsIGRhdGFiYXNlLCBzZXJ2ZXIgYW5k IHRoZQotICAgICAgICAncGFyZW50X2lkLnBrbCcgZmlsZSB3aGljaCBpcyBj cmVhdGVkIGluIHNldFVwQ2xhc3MuCisgICAgICAgICAgICByZXNwb25zZSA9 IHNlbGYudGVzdGVyLnBvc3QoCisgICAgICAgICAgICAgICAgc2VsZi51cmwg KyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCisgICAgICAgICAg ICAgICAgc3RyKHNlbGYuc2VydmVyX2lkKSArICcvJyArIHN0cigKKyAgICAg ICAgICAgICAgICAgICAgc2VsZi5kYl9pZCkgKyAnLycsCisgICAgICAgICAg ICAgICAgZGF0YT1qc29uLmR1bXBzKHNlbGYuZGF0YSksCisgICAgICAgICAg ICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24nKQorICAgICAgICAgICAg c2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3RhdHVzX2NvZGUsIDIwMCkK KyAgICAgICAgICAgIHJlc3BvbnNlX2RhdGEgPSBqc29uLmxvYWRzKHJlc3Bv bnNlLmRhdGEuZGVjb2RlKCd1dGYtOCcpKQorICAgICAgICAgICAgY2FzdF9p ZCA9IHJlc3BvbnNlX2RhdGFbJ25vZGUnXVsnX2lkJ10KKyAgICAgICAgICAg IGNhc3RfZGljdCA9IHsiY2FzdF9pZCI6IGNhc3RfaWR9CisgICAgICAgICAg ICB1dGlscy53cml0ZV9ub2RlX2luZm8oaW50KHNlbGYuc2VydmVyX2lkKSwg ImNpZCIsIGNhc3RfZGljdCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBh cyBleGNlcHRpb246CisgICAgICAgICAgICBleGNlcHRpb24gPSAiRXhjZXB0 aW9uOiAlczogbGluZTolcyAlcyIgJSAoCisgICAgICAgICAgICAgICAgZmls ZV9uYW1lLCBzeXMuZXhjX3RyYWNlYmFjay50Yl9saW5lbm8sIGV4Y2VwdGlv bikKKyAgICAgICAgICAgIHByaW50KGV4Y2VwdGlvbiwgZmlsZT1zeXMuc3Rk ZXJyKQorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKGV4Y2VwdGlvbikK IAotICAgICAgICA6cmV0dXJuOiBOb25lCi0gICAgICAgICIiIgorICAgIGRl ZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5jdGlvbiBk aXNjb25uZWN0IHRoZSB0ZXN0IGRhdGFiYXNlIGFuZCBkcm9wIGFkZGVkIGNh c3QuIiIiCiAKLSAgICAgICAgY2FzdF91dGlscy5kZWxldGVfY2FzdChjbHMu dGVzdGVyKQotICAgICAgICBkYXRhYmFzZV91dGlscy5kZWxldGVfZGF0YWJh c2UoY2xzLnRlc3RlcikKLSAgICAgICAgc2VydmVyX3V0aWxzLmRlbGV0ZV9z ZXJ2ZXIoY2xzLnRlc3RlcikKLSAgICAgICAgdXRpbHMuZGVsZXRlX3BhcmVu dF9pZF9maWxlKCkKKyAgICAgICAgY29ubmVjdGlvbiA9IHV0aWxzLmdldF9k Yl9jb25uZWN0aW9uKHNlbGYuc2VydmVyX2RhdGFbJ2RiX25hbWUnXSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYuc2VydmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3 b3JkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZWxmLnNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3Bv cnQnXSkKKyAgICAgICAgY2FzdF91dGlscy5kcm9wX2Nhc3QoY29ubmVjdGlv biwgc2VsZi5kYXRhWyJzcmN0eXAiXSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi5kYXRhWyJ0cmd0eXAiXSkKKyAgICAgICAgZGF0YWJh c2VfdXRpbHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZl cl9pZCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBzZWxmLmRiX2lkKQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rl c3RzL3Rlc3RfY2FzdF9kZWxldGUucHkgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvdGVzdHMv dGVzdF9jYXN0X2RlbGV0ZS5weQppbmRleCBmM2E5MmM5Li5iNmFiMGI5IDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvY2FzdHMvdGVzdHMvdGVzdF9jYXN0X2RlbGV0 ZS5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvY2FzdHMvdGVzdHMvdGVzdF9jYXN0X2RlbGV0 ZS5weQpAQCAtMSwxMDIgKzEsODYgQEAKLSMgIyAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIwotIyAjCi0jICMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scwot IyAjCi0jICMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRt aW4gRGV2ZWxvcG1lbnQgVGVhbQotIyAjIFRoaXMgc29mdHdhcmUgaXMgcmVs ZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQotIyAjCi0jICMg IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj CisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29w eXJpZ2h0IChDKSAyMDEzIC0gMjAxNiwgVGhlIHBnQWRtaW4gRGV2ZWxvcG1l bnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRo ZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKKyMgIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjCiAKIAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlv bgogZnJvbSBwZ2FkbWluLnV0aWxzLnJvdXRlIGltcG9ydCBCYXNlVGVzdEdl bmVyYXRvcgogZnJvbSByZWdyZXNzaW9uIGltcG9ydCB0ZXN0X3V0aWxzIGFz IHV0aWxzCi1mcm9tIHJlZ3Jlc3Npb24udGVzdF91dGlscyBpbXBvcnQgZ2V0 X2lkcworZnJvbSByZWdyZXNzaW9uIGltcG9ydCBwYXJlbnRfbm9kZV9kaWN0 CiBmcm9tIC4gaW1wb3J0IHV0aWxzIGFzIGNhc3RfdXRpbHMKLWZyb20gcGdh ZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy50ZXN0cyBpbXBv cnQgdXRpbHMgYXMgc2VydmVyX3V0aWxzCiBmcm9tIHBnYWRtaW4uYnJvd3Nl ci5zZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9y dCBcCiAgICAgdXRpbHMgYXMgZGF0YWJhc2VfdXRpbHMKLWZyb20gcmVncmVz c2lvbi50ZXN0X3NldHVwIGltcG9ydCBhZHZhbmNlZF9jb25maWdfZGF0YQot aW1wb3J0IGpzb24KK2ltcG9ydCBvcworaW1wb3J0IHN5cworCitmaWxlX25h bWUgPSBvcy5wYXRoLmJhc2VuYW1lKF9fZmlsZV9fKQogCiAKIGNsYXNzIENh c3RzRGVsZXRlVGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgotICAgICIi IiBUaGlzIGNsYXNzIHdpbGwgZmV0Y2ggdGhlIGNhc3Qgbm9kZSBhZGRlZCB1 bmRlciBkYXRhYmFzZSBub2RlLiAiIiIKKyAgICAiIiIgVGhpcyBjbGFzcyB3 aWxsIGRlbGV0ZSB0aGUgY2FzdCBub2RlIGFkZGVkIHVuZGVyIGRhdGFiYXNl IG5vZGUuICIiIgogCiAgICAgc2NlbmFyaW9zID0gWwogICAgICAgICAjIEZl dGNoaW5nIGRlZmF1bHQgVVJMIGZvciBjYXN0IG5vZGUuCiAgICAgICAgICgn Q2hlY2sgQ2FzdCBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL2Nhc3Qvb2Jq LycpKQogICAgIF0KIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRV cENsYXNzKGNscyk6Ci0gICAgICAgICIiIgotICAgICAgICAgVGhpcyBmdW5j dGlvbiBwZXJmb3JtIHRoZSBmb2xsb3dpbmcgdGFza3M6Ci0gICAgICAgICAg ICAgIDEuIEFkZCBhbmQgY29ubmVjdCB0byB0aGUgdGVzdCBzZXJ2ZXIocykK LSAgICAgICAgICAgICAgMi4gQWRkIGRhdGFiYXNlKHMpIGNvbm5lY3RlZCB0 byBzZXJ2ZXIocykKLSAgICAgICAgICAgICAgMy4gQWRkIGNhc3QocykgdG8g ZGF0YWJhc2VzCi0KLSAgICAgICAgOnJldHVybjogTm9uZQotICAgICAgICAi IiIKLQotICAgICAgICAjIEFkZCB0aGUgc2VydmVyCi0gICAgICAgIHNlcnZl cl91dGlscy5hZGRfc2VydmVyKGNscy50ZXN0ZXIpCisgICAgZGVmIHNldFVw KHNlbGYpOgogCi0gICAgICAgICMgQ29ubmVjdCB0byBzZXJ2ZXIKLSAgICAg ICAgY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3BvbnNlLCBjbHMuc2VydmVyX2dy b3VwLCBjbHMuc2VydmVyX2lkcyA9IFwKLSAgICAgICAgICAgIHNlcnZlcl91 dGlscy5jb25uZWN0X3NlcnZlcihjbHMudGVzdGVyKQorICAgICAgICBzZWxm LmRlZmF1bHRfZGIgPSBzZWxmLnNlcnZlclsiZGIiXQorICAgICAgICBzZWxm LmRhdGFiYXNlX2luZm8gPSBwYXJlbnRfbm9kZV9kaWN0WydkYXRhYmFzZSdd WzBdCisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHNlbGYuZGF0YWJhc2VfaW5m b1snZGJfbmFtZSddCisgICAgICAgIHNlbGYuc2VydmVyWyJkYiJdID0gc2Vs Zi5kYl9uYW1lCisgICAgICAgIHNlbGYuc291cmNlX3R5cGUgPSAnY2lyY2xl JworICAgICAgICBzZWxmLnRhcmdldF90eXBlID0gJ2xpbmUnCiAKLSAgICAg ICAgaWYgbGVuKGNscy5zZXJ2ZXJfY29ubmVjdF9yZXNwb25zZSkgPT0gMDoK LSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gU2VydmVyKHMpIGNv bm5lY3RlZCB0byBhZGQgdGhlIGRhdGFiYXNlISEhIikKLQotICAgICAgICAj IEFkZCBkYXRhYmFzZQotICAgICAgICBkYXRhYmFzZV91dGlscy5hZGRfZGF0 YWJhc2UoY2xzLnRlc3RlciwgY2xzLnNlcnZlcl9jb25uZWN0X3Jlc3BvbnNl LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xzLnNl cnZlcl9pZHMpCi0KLSAgICAgICAgIyBBZGQgY2FzdChzKSB0byBkYXRhYmFz ZShzKQotICAgICAgICBjYXN0X3V0aWxzLmFkZF9jYXN0KGNscy50ZXN0ZXIp CisgICAgICAgIHNlbGYuY2FzdF9pZCA9IGNhc3RfdXRpbHMuY3JlYXRlX2Nh c3Qoc2VsZi5zZXJ2ZXIsIHNlbGYuc291cmNlX3R5cGUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50YXJn ZXRfdHlwZSkKIAogICAgIGRlZiBydW5UZXN0KHNlbGYpOgotICAgICAgICAi IiIgVGhpcyBmdW5jdGlvbiB3aWxsIGRlbGV0ZSBhZGRlZCBjYXN0KHMpLiIi IgotCi0gICAgICAgIGFsbF9pZCA9IGdldF9pZHMoKQotICAgICAgICBzZXJ2 ZXJfaWRzID0gYWxsX2lkWyJzaWQiXQotICAgICAgICBkYl9pZHNfZGljdCA9 IGFsbF9pZFsiZGlkIl1bMF0KLSAgICAgICAgY2FzdF9pZHNfZGljdCA9IGFs bF9pZFsiY2lkIl1bMF0KLQotICAgICAgICBmb3Igc2VydmVyX2lkIGluIHNl cnZlcl9pZHM6Ci0gICAgICAgICAgICBkYl9pZCA9IGRiX2lkc19kaWN0W2lu dChzZXJ2ZXJfaWQpXQotICAgICAgICAgICAgZGJfY29uID0gZGF0YWJhc2Vf dXRpbHMudmVyaWZ5X2RhdGFiYXNlKHNlbGYudGVzdGVyLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0 aWxzLlNFUlZFUl9HUk9VUCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWQsCi0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZGJfaWQpCi0gICAgICAgICAgICBpZiBsZW4oZGJfY29uKSA9PSAwOgotICAg ICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gZGF0YWJhc2Uocykg dG8gZGVsZXRlIGZvciBzZXJ2ZXIgaWQgJXMiCi0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICUgc2VydmVyX2lkKQotICAgICAgICAgICAgY2Fz dF9pZCA9IGNhc3RfaWRzX2RpY3Rbc2VydmVyX2lkXQotICAgICAgICAgICAg Y2FzdF9nZXRfZGF0YSA9IGNhc3RfdXRpbHMudmVyaWZ5X2Nhc3Qoc2VsZi50 ZXN0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB1dGlscy5TRVJWRVJfR1JPVVAsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2 ZXJfaWQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkYl9pZCwgY2FzdF9pZCkKLQotICAgICAgICAgICAg aWYgY2FzdF9nZXRfZGF0YS5zdGF0dXNfY29kZSA9PSAyMDA6Ci0KKyAgICAg ICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCBkZWxldGUgYWRkZWQgY2FzdC4i IiIKKworICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNlbGYuZGF0YWJhc2Vf aW5mb1sic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5kYl9pZCA9IHNlbGYu ZGF0YWJhc2VfaW5mb1snZGJfaWQnXQorCisgICAgICAgIGRiX2NvbiA9IGRh dGFiYXNlX3V0aWxzLmNvbm5lY3RfZGF0YWJhc2Uoc2VsZiwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1dGls cy5TRVJWRVJfR1JPVVAsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJfaWQsCisgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vs Zi5kYl9pZCkKKyAgICAgICAgaWYgbm90IGRiX2NvblsiaW5mbyJdID09ICJE YXRhYmFzZSBjb25uZWN0ZWQuIjoKKyAgICAgICAgICAgIHJhaXNlIEV4Y2Vw dGlvbigiQ291bGQgbm90IGNvbm5lY3QgdG8gZGF0YWJhc2UuIikKKyAgICAg ICAgdHJ5OgorICAgICAgICAgICAgY29ubmVjdGlvbiA9IHV0aWxzLmdldF9k Yl9jb25uZWN0aW9uKHNlbGYuc2VydmVyWydkYiddLAorICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2Vy dmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyWydkYl9wYXNzd29y ZCddLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlbGYuc2VydmVyWydob3N0J10sCisgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2 ZXJbJ3BvcnQnXSkKKyAgICAgICAgICAgIHJlc3BvbnNlID0gY2FzdF91dGls cy52ZXJpZnlfY2FzdChjb25uZWN0aW9uLCBzZWxmLnNvdXJjZV90eXBlLAor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYudGFyZ2V0X3R5cGUpCisKKyAgICAgICAgICAgIGlmIGxlbihyZXNw b25zZSkgPT0gMDoKKyAgICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24o IkNvdWxkIG5vdCBmaW5kIGNhc3QuIikKKyAgICAgICAgICAgIGVsc2U6CiAg ICAgICAgICAgICAgICAgZGVsZXRlX3Jlc3BvbnNlID0gc2VsZi50ZXN0ZXIu ZGVsZXRlKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi51cmwgKyBzdHIodXRpbHMuU0VSVkVSX0dST1VQKSArICcvJyArCi0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVy X2lkKSArICcvJyArIHN0cihkYl9pZCkgKwotICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJy8nICsgc3RyKGNhc3RfaWQpLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9sbG93X3JlZGlyZWN0 cz1UcnVlKQotICAgICAgICAgICAgICAgIHJlc3BvbnNlX2RhdGEgPSBqc29u LmxvYWRzKGRlbGV0ZV9yZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkK LSAgICAgICAgICAgICAgICBzZWxmLmFzc2VydFRydWUocmVzcG9uc2VfZGF0 YVsnc3VjY2VzcyddLCAxKQotCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVm IHRlYXJEb3duQ2xhc3MoY2xzKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRo aXMgZnVuY3Rpb24gZGVsZXRlIHRoZSBhZGRlZCBjYXN0LCBkYXRhYmFzZSwg c2VydmVyIGFuZCB0aGUKLSAgICAgICAgJ3BhcmVudF9pZC5wa2wnIGZpbGUg d2hpY2ggaXMgY3JlYXRlZCBpbiBzZXRVcENsYXNzLgotCi0gICAgICAgIDpy ZXR1cm46IE5vbmUKLSAgICAgICAgIiIiCi0KLSAgICAgICAgZGF0YWJhc2Vf dXRpbHMuZGVsZXRlX2RhdGFiYXNlKGNscy50ZXN0ZXIpCi0gICAgICAgIHNl cnZlcl91dGlscy5kZWxldGVfc2VydmVyKGNscy50ZXN0ZXIpCi0gICAgICAg IHV0aWxzLmRlbGV0ZV9wYXJlbnRfaWRfZmlsZSgpCisgICAgICAgICAgICAg ICAgICAgIHNlbGYudXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAn LycgKworICAgICAgICAgICAgICAgICAgICBzdHIoc2VsZi5zZXJ2ZXJfaWQp ICsgJy8nICsgc3RyKHNlbGYuZGJfaWQpICsKKyAgICAgICAgICAgICAgICAg ICAgJy8nICsgc3RyKHNlbGYuY2FzdF9pZCksCisgICAgICAgICAgICAgICAg ICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSkKKyAgICAgICAgICAgICAgICBz ZWxmLmFzc2VydEVxdWFscyhkZWxldGVfcmVzcG9uc2Uuc3RhdHVzX2NvZGUs IDIwMCkKKworICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGV4Y2VwdGlv bjoKKyAgICAgICAgICAgIGV4Y2VwdGlvbiA9ICJFeGNlcHRpb246ICVzOiBs aW5lOiVzICVzIiAlICgKKyAgICAgICAgICAgICAgICBmaWxlX25hbWUsIHN5 cy5leGNfdHJhY2ViYWNrLnRiX2xpbmVubywgZXhjZXB0aW9uKQorICAgICAg ICAgICAgcHJpbnQoZXhjZXB0aW9uLCBmaWxlPXN5cy5zdGRlcnIpCisgICAg ICAgICAgICByYWlzZSBFeGNlcHRpb24oZXhjZXB0aW9uKQorCisgICAgZGVm IHRlYXJEb3duKHNlbGYpOgorICAgICAgICAiIiJUaGlzIGZ1bmN0aW9uIHdp bGwgZGlzY29ubmVjdCB0ZXN0IGRhdGFiYXNlLiIiIgorCisgICAgICAgIGRh dGFiYXNlX3V0aWxzLmRpc2Nvbm5lY3RfZGF0YWJhc2Uoc2VsZiwgc2VsZi5z ZXJ2ZXJfaWQsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2VsZi5kYl9pZCkKKyAgICAgICAgc2VsZi5zZXJ2ZXJbJ2Ri J10gPSBzZWxmLmRlZmF1bHRfZGIKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0 cy90ZXN0cy90ZXN0X2Nhc3RfZ2V0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3Rz L3Rlc3RfY2FzdF9nZXQucHkKaW5kZXggMjA3MDJlMS4uMTQ0Yzc2MiAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL3Rlc3RfY2FzdF9nZXQucHkK KysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL3Rlc3RfY2FzdF9nZXQucHkKQEAg LTEsMTkgKzEsMjMgQEAKLSMgIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKKyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIwogIwogIyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FM IFRvb2xzCiAjCiAjIENvcHlyaWdodCAoQykgMjAxMyAtIDIwMTYsIFRoZSBw Z0FkbWluIERldmVsb3BtZW50IFRlYW0KICMgVGhpcyBzb2Z0d2FyZSBpcyBy ZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdyZVNRTCBMaWNlbmNlCiAjCi0jICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIworIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwog Citmcm9tIF9fZnV0dXJlX18gaW1wb3J0IHByaW50X2Z1bmN0aW9uCiBmcm9t IHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9y CiBmcm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMK LWZyb20gcmVncmVzc2lvbi50ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRzCitm cm9tIHJlZ3Jlc3Npb24gaW1wb3J0IHBhcmVudF9ub2RlX2RpY3QKIGZyb20g LiBpbXBvcnQgdXRpbHMgYXMgY2FzdF91dGlscwotZnJvbSBwZ2FkbWluLmJy b3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJzLnRlc3RzIGltcG9ydCB1dGls cyBhcyBzZXJ2ZXJfdXRpbHMKIGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZl cl9ncm91cHMuc2VydmVycy5kYXRhYmFzZXMudGVzdHMgaW1wb3J0IFwKICAg ICB1dGlscyBhcyBkYXRhYmFzZV91dGlscworaW1wb3J0IG9zCitpbXBvcnQg c3lzCisKK2ZpbGVfbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoX19maWxlX18p CiAKIAogY2xhc3MgQ2FzdHNHZXRUZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRv cik6CkBAIC0yNCw2NCArMjgsNTMgQEAgY2xhc3MgQ2FzdHNHZXRUZXN0Q2Fz ZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICgnQ2hlY2sgQ2FzdCBO b2RlJywgZGljdCh1cmw9Jy9icm93c2VyL2Nhc3Qvb2JqLycpKQogICAgIF0K IAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNzKGNscyk6 Ci0gICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8g YWRkIHRoZSBzZXZlciwgZGF0YWJhc2UsIGFuZCBjYXN0Ci0KLSAgICAgICAg OnJldHVybjogTm9uZQotICAgICAgICAiIiIKLQotICAgICAgICAjIEFkZCB0 aGUgc2VydmVyCi0gICAgICAgIHNlcnZlcl91dGlscy5hZGRfc2VydmVyKGNs cy50ZXN0ZXIpCi0KLSAgICAgICAgIyBDb25uZWN0IHRvIHNlcnZlcgotICAg ICAgICBjbHMuc2VydmVyX2Nvbm5lY3RfcmVzcG9uc2UsIGNscy5zZXJ2ZXJf Z3JvdXAsIGNscy5zZXJ2ZXJfaWRzID0gXAotICAgICAgICAgICAgc2VydmVy X3V0aWxzLmNvbm5lY3Rfc2VydmVyKGNscy50ZXN0ZXIpCi0KLSAgICAgICAg aWYgbGVuKGNscy5zZXJ2ZXJfY29ubmVjdF9yZXNwb25zZSkgPT0gMDoKLSAg ICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gU2VydmVyKHMpIGNvbm5l Y3RlZCB0byBhZGQgdGhlIGRhdGFiYXNlISEhIikKKyAgICBkZWYgc2V0VXAo c2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRl IGNhc3QuIiIiCiAKLSAgICAgICAgIyBBZGQgZGF0YWJhc2UKLSAgICAgICAg ZGF0YWJhc2VfdXRpbHMuYWRkX2RhdGFiYXNlKGNscy50ZXN0ZXIsIGNscy5z ZXJ2ZXJfY29ubmVjdF9yZXNwb25zZSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNscy5zZXJ2ZXJfaWRzKQorICAgICAgICBzZWxm LmRlZmF1bHRfZGIgPSBzZWxmLnNlcnZlclsiZGIiXQorICAgICAgICBzZWxm LmRhdGFiYXNlX2luZm8gPSBwYXJlbnRfbm9kZV9kaWN0WydkYXRhYmFzZSdd WzBdCisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHNlbGYuZGF0YWJhc2VfaW5m b1snZGJfbmFtZSddCisgICAgICAgIHNlbGYuc2VydmVyWyJkYiJdID0gc2Vs Zi5kYl9uYW1lCisgICAgICAgIHNlbGYuc291cmNlX3R5cGUgPSAnbW9uZXkn CisgICAgICAgIHNlbGYudGFyZ2V0X3R5cGUgPSAnYmlnaW50JwogCi0gICAg ICAgIGNhc3RfdXRpbHMuYWRkX2Nhc3QoY2xzLnRlc3RlcikKKyAgICAgICAg c2VsZi5jYXN0X2lkID0gY2FzdF91dGlscy5jcmVhdGVfY2FzdChzZWxmLnNl cnZlciwgc2VsZi5zb3VyY2VfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnRhcmdldF90eXBlKQog CiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6Ci0gICAgICAgICIiIiBUaGlzIGZ1 bmN0aW9uIHdpbGwgZ2V0IGFkZGVkIGNhc3QuIiIiCi0KLSAgICAgICAgYWxs X2lkID0gZ2V0X2lkcygpCi0gICAgICAgIHNlcnZlcl9pZHMgPSBhbGxfaWRb InNpZCJdCi0gICAgICAgIGRiX2lkc19kaWN0ID0gYWxsX2lkWyJkaWQiXVsw XQotICAgICAgICBjYXN0X2lkc19kaWN0ID0gYWxsX2lkWyJjaWQiXVswXQot Ci0gICAgICAgIGZvciBzZXJ2ZXJfaWQgaW4gc2VydmVyX2lkczoKLSAgICAg ICAgICAgIGRiX2lkID0gZGJfaWRzX2RpY3RbaW50KHNlcnZlcl9pZCldCi0g ICAgICAgICAgICBkYl9jb24gPSBkYXRhYmFzZV91dGlscy52ZXJpZnlfZGF0 YWJhc2Uoc2VsZi50ZXN0ZXIsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgdXRpbHMuU0VSVkVSX0dST1VQ LAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHNlcnZlcl9pZCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYl9pZCkKLSAgICAgICAg ICAgIGlmIGxlbihkYl9jb24pID09IDA6Ci0gICAgICAgICAgICAgICAgcmFp c2UgRXhjZXB0aW9uKCJObyBkYXRhYmFzZShzKSB0byBkZWxldGUgZm9yIHNl cnZlciBpZCAlcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JSBzZXJ2ZXJfaWQpCi0gICAgICAgICAgICBjYXN0X2lkID0gY2FzdF9pZHNf ZGljdFtzZXJ2ZXJfaWRdCi0gICAgICAgICAgICBjYXN0X2dldF9kYXRhID0g Y2FzdF91dGlscy52ZXJpZnlfY2FzdChzZWxmLnRlc3RlciwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0 aWxzLlNFUlZFUl9HUk9VUCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9pZCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRi X2lkLCBjYXN0X2lkKQotICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMo Y2FzdF9nZXRfZGF0YS5zdGF0dXNfY29kZSwgMjAwKQotCi0gICAgQGNsYXNz bWV0aG9kCi0gICAgZGVmIHRlYXJEb3duQ2xhc3MoY2xzKToKLSAgICAgICAg IiIiCi0gICAgICAgIFRoaXMgZnVuY3Rpb24gZGVsZXRlcyB0aGUgYWRkZWQg Y2FzdCwgZGF0YWJhc2UsIHNlcnZlciBhbmQgdGhlCi0gICAgICAgICdwYXJl bnRfaWQucGtsJyBmaWxlIHdoaWNoIGlzIGNyZWF0ZWQgaW4gc2V0dXAoKSBm dW5jdGlvbi4KLQotICAgICAgICA6cmV0dXJuOiBOb25lCi0gICAgICAgICIi IgotCi0gICAgICAgIGNhc3RfdXRpbHMuZGVsZXRlX2Nhc3QoY2xzLnRlc3Rl cikKLSAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGVsZXRlX2RhdGFiYXNlKGNs cy50ZXN0ZXIpCi0gICAgICAgIHNlcnZlcl91dGlscy5kZWxldGVfc2VydmVy KGNscy50ZXN0ZXIpCi0gICAgICAgIHV0aWxzLmRlbGV0ZV9wYXJlbnRfaWRf ZmlsZSgpCisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9uIHdpbGwgZmV0Y2gg YWRkZWQgY2FzdC4iIiIKKworICAgICAgICBzZWxmLnNlcnZlcl9pZCA9IHNl bGYuZGF0YWJhc2VfaW5mb1sic2VydmVyX2lkIl0KKyAgICAgICAgc2VsZi5k Yl9pZCA9IHNlbGYuZGF0YWJhc2VfaW5mb1snZGJfaWQnXQorICAgICAgICBk Yl9jb24gPSBkYXRhYmFzZV91dGlscy5jb25uZWN0X2RhdGFiYXNlKHNlbGYs CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdXRpbHMuU0VSVkVSX0dST1VQLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuc2VydmVyX2lk LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNlbGYuZGJfaWQpCisgICAgICAgIGlmIG5vdCBkYl9jb25bImlu Zm8iXSA9PSAiRGF0YWJhc2UgY29ubmVjdGVkLiI6CisgICAgICAgICAgICBy YWlzZSBFeGNlcHRpb24oIkNvdWxkIG5vdCBjb25uZWN0IHRvIGRhdGFiYXNl LiIpCisgICAgICAgIHRyeToKKyAgICAgICAgICAgIHJlc3BvbnNlID0gc2Vs Zi50ZXN0ZXIuZ2V0KAorICAgICAgICAgICAgICAgIHNlbGYudXJsICsgc3Ry KHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycgKyBzdHIoCisgICAgICAgICAg ICAgICAgICAgIHNlbGYuc2VydmVyX2lkKSArICcvJyArCisgICAgICAgICAg ICAgICAgc3RyKHNlbGYuZGJfaWQpICsgJy8nICsgc3RyKHNlbGYuY2FzdF9p ZCksCisgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdodG1sL2pzb24n KQorICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbHMocmVzcG9uc2Uuc3Rh dHVzX2NvZGUsIDIwMCkKKyAgICAgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBl eGNlcHRpb246CisgICAgICAgICAgICBleGNlcHRpb24gPSAiRXhjZXB0aW9u OiAlczogbGluZTolcyAlcyIgJSAoCisgICAgICAgICAgICAgICAgZmlsZV9u YW1lLCBzeXMuZXhjX3RyYWNlYmFjay50Yl9saW5lbm8sIGV4Y2VwdGlvbikK KyAgICAgICAgICAgIHByaW50KGV4Y2VwdGlvbiwgZmlsZT1zeXMuc3RkZXJy KQorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKGV4Y2VwdGlvbikKKwor ICAgIGRlZiB0ZWFyRG93bihzZWxmKToKKyAgICAgICAgIiIiVGhpcyBmdW5j dGlvbiBkaXNjb25uZWN0IHRoZSB0ZXN0IGRhdGFiYXNlIGFuZCBkcm9wIGFk ZGVkIGNhc3QuIiIiCisKKyAgICAgICAgY29ubmVjdGlvbiA9IHV0aWxzLmdl dF9kYl9jb25uZWN0aW9uKHNlbGYuc2VydmVyWydkYiddLAorICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2 ZXJbJ3VzZXJuYW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsnZGJfcGFzc3dvcmQnXSwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYuc2VydmVyWydob3N0J10sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsncG9ydCddKQor ICAgICAgICBjYXN0X3V0aWxzLmRyb3BfY2FzdChjb25uZWN0aW9uLCBzZWxm LnNvdXJjZV90eXBlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLnRhcmdldF90eXBlKQorICAgICAgICBkYXRhYmFzZV91dGlscy5kaXNj b25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlbGYuc2VydmVyX2lkLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuZGJf aWQpCisgICAgICAgIHNlbGYuc2VydmVyWydkYiddID0gc2VsZi5kZWZhdWx0 X2RiCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvdGVzdHMvdGVzdF9jYXN0 X3B1dC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90ZXN0cy90ZXN0X2Nhc3RfcHV0LnB5 CmluZGV4IGVhNjdjNzcuLmIyYzM3OGUgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9j YXN0cy90ZXN0cy90ZXN0X2Nhc3RfcHV0LnB5CisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0 cy90ZXN0cy90ZXN0X2Nhc3RfcHV0LnB5CkBAIC03LDE1ICs3LDE4IEBACiAj CiAjICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIwogCitmcm9tIF9fZnV0dXJlX18g aW1wb3J0IHByaW50X2Z1bmN0aW9uCiBmcm9tIHBnYWRtaW4udXRpbHMucm91 dGUgaW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCiBmcm9tIHJlZ3Jlc3Npb24g aW1wb3J0IHRlc3RfdXRpbHMgYXMgdXRpbHMKLWZyb20gcmVncmVzc2lvbi50 ZXN0X3V0aWxzIGltcG9ydCBnZXRfaWRzCitmcm9tIHJlZ3Jlc3Npb24gaW1w b3J0IHBhcmVudF9ub2RlX2RpY3QKIGZyb20gLiBpbXBvcnQgdXRpbHMgYXMg Y2FzdF91dGlscwotZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vw cy5zZXJ2ZXJzLnRlc3RzIGltcG9ydCB1dGlscyBhcyBzZXJ2ZXJfdXRpbHMK IGZyb20gcGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5k YXRhYmFzZXMudGVzdHMgaW1wb3J0IFwKICAgICB1dGlscyBhcyBkYXRhYmFz ZV91dGlscwotZnJvbSByZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGFk dmFuY2VkX2NvbmZpZ19kYXRhCiBpbXBvcnQganNvbgoraW1wb3J0IG9zCitp bXBvcnQgc3lzCisKK2ZpbGVfbmFtZSA9IG9zLnBhdGguYmFzZW5hbWUoX19m aWxlX18pCiAKIAogY2xhc3MgQ2FzdHNQdXRUZXN0Q2FzZShCYXNlVGVzdEdl bmVyYXRvcik6CkBAIC0yNiw4MiArMjksNzMgQEAgY2xhc3MgQ2FzdHNQdXRU ZXN0Q2FzZShCYXNlVGVzdEdlbmVyYXRvcik6CiAgICAgICAgICgnQ2hlY2sg Q2FzdCBOb2RlJywgZGljdCh1cmw9Jy9icm93c2VyL2Nhc3Qvb2JqLycpKQog ICAgIF0KIAotICAgIEBjbGFzc21ldGhvZAotICAgIGRlZiBzZXRVcENsYXNz KGNscyk6Ci0gICAgICAgICIiIgotICAgICAgICBUaGlzIGZ1bmN0aW9uIHBl cmZvcm0gdGhlIGZvbGxvd2luZyB0YXNrczoKLSAgICAgICAgICAgICAgMS4g QWRkIGFuZCBjb25uZWN0IHRvIHRoZSB0ZXN0IHNlcnZlcihzKQotICAgICAg ICAgICAgICAyLiBBZGQgZGF0YWJhc2UocykgY29ubmVjdGVkIHRvIHNlcnZl cihzKQotICAgICAgICAgICAgICAzLiBBZGQgY2FzdChzKSB0byBkYXRhYmFz ZXMKLQotICAgICAgICA6cmV0dXJuOiBOb25lCi0gICAgICAgICIiIgotCi0g ICAgICAgICMgQWRkIHRoZSBzZXJ2ZXIKLSAgICAgICAgc2VydmVyX3V0aWxz LmFkZF9zZXJ2ZXIoY2xzLnRlc3RlcikKLSAgICAgICAgIyBDb25uZWN0IHRv IHNlcnZlcgotICAgICAgICBjbHMuc2VydmVyX2Nvbm5lY3RfcmVzcG9uc2Us IGNscy5zZXJ2ZXJfZ3JvdXAsIGNscy5zZXJ2ZXJfaWRzID0gXAotICAgICAg ICAgICAgc2VydmVyX3V0aWxzLmNvbm5lY3Rfc2VydmVyKGNscy50ZXN0ZXIp Ci0KLSAgICAgICAgaWYgbGVuKGNscy5zZXJ2ZXJfY29ubmVjdF9yZXNwb25z ZSkgPT0gMDoKLSAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiTm8gU2Vy dmVyKHMpIGNvbm5lY3RlZCB0byBhZGQgdGhlIGRhdGFiYXNlISEhIikKKyAg ICBkZWYgc2V0VXAoc2VsZik6CisgICAgICAgICIiIiBUaGlzIGZ1bmN0aW9u IHdpbGwgY3JlYXRlIGNhc3QuIiIiCiAKLSAgICAgICAgIyBBZGQgZGF0YWJh c2UKLSAgICAgICAgZGF0YWJhc2VfdXRpbHMuYWRkX2RhdGFiYXNlKGNscy50 ZXN0ZXIsIGNscy5zZXJ2ZXJfY29ubmVjdF9yZXNwb25zZSwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNscy5zZXJ2ZXJfaWRzKQor ICAgICAgICBzZWxmLmRlZmF1bHRfZGIgPSBzZWxmLnNlcnZlclsiZGIiXQor ICAgICAgICBzZWxmLmRhdGFiYXNlX2luZm8gPSBwYXJlbnRfbm9kZV9kaWN0 WydkYXRhYmFzZSddWzBdCisgICAgICAgIHNlbGYuZGJfbmFtZSA9IHNlbGYu ZGF0YWJhc2VfaW5mb1snZGJfbmFtZSddCisgICAgICAgIHNlbGYuc2VydmVy WyJkYiJdID0gc2VsZi5kYl9uYW1lCisgICAgICAgIHNlbGYuc291cmNlX3R5 cGUgPSAnY2hhcmFjdGVyJworICAgICAgICBzZWxmLnRhcmdldF90eXBlID0g J2NpZHInCiAKLSAgICAgICAgY2FzdF91dGlscy5hZGRfY2FzdChjbHMudGVz dGVyKQorICAgICAgICBzZWxmLmNhc3RfaWQgPSBjYXN0X3V0aWxzLmNyZWF0 ZV9jYXN0KHNlbGYuc2VydmVyLCBzZWxmLnNvdXJjZV90eXBlLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYu dGFyZ2V0X3R5cGUpCiAKICAgICBkZWYgcnVuVGVzdChzZWxmKToKICAgICAg ICAgIiIiIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgYWRkZWQgY2FzdC4i IiIKIAotICAgICAgICBhbGxfaWQgPSBnZXRfaWRzKCkKLSAgICAgICAgc2Vy dmVyX2lkcyA9IGFsbF9pZFsic2lkIl0KLSAgICAgICAgZGJfaWRzX2RpY3Qg PSBhbGxfaWRbImRpZCJdWzBdCi0gICAgICAgIGNhc3RfaWRzX2RpY3QgPSBh bGxfaWRbImNpZCJdWzBdCi0KLSAgICAgICAgZm9yIHNlcnZlcl9pZCBpbiBz ZXJ2ZXJfaWRzOgotICAgICAgICAgICAgZGJfaWQgPSBkYl9pZHNfZGljdFtp bnQoc2VydmVyX2lkKV0KLSAgICAgICAgICAgIGRiX2NvbiA9IGRhdGFiYXNl X3V0aWxzLnZlcmlmeV9kYXRhYmFzZShzZWxmLnRlc3RlciwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1 dGlscy5TRVJWRVJfR1JPVVAsCi0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VydmVyX2lkLAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRiX2lkKQotICAgICAgICAgICAgaWYgbGVuKGRiX2NvbikgPT0gMDoKLSAg ICAgICAgICAgICAgICByYWlzZSBFeGNlcHRpb24oIk5vIGRhdGFiYXNlKHMp IHRvIGRlbGV0ZSBmb3Igc2VydmVyIGlkICVzIgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAlIHNlcnZlcl9pZCkKLSAgICAgICAgICAgIGNh c3RfaWQgPSBjYXN0X2lkc19kaWN0W3NlcnZlcl9pZF0KLSAgICAgICAgICAg IGNhc3RfZ2V0X2RhdGEgPSBjYXN0X3V0aWxzLnZlcmlmeV9jYXN0KHNlbGYu dGVzdGVyLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgdXRpbHMuU0VSVkVSX0dST1VQLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2Vy dmVyX2lkLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZGJfaWQsIGNhc3RfaWQpCi0KLSAgICAgICAgICAg IGlmIGNhc3RfZ2V0X2RhdGEuc3RhdHVzX2NvZGUgPT0gMjAwOgotCisgICAg ICAgIHNlbGYuc2VydmVyX2lkID0gc2VsZi5kYXRhYmFzZV9pbmZvWyJzZXJ2 ZXJfaWQiXQorICAgICAgICBzZWxmLmRiX2lkID0gc2VsZi5kYXRhYmFzZV9p bmZvWydkYl9pZCddCisKKyAgICAgICAgZGJfY29uID0gZGF0YWJhc2VfdXRp bHMuY29ubmVjdF9kYXRhYmFzZShzZWxmLAorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHV0aWxzLlNFUlZFUl9H Uk9VUCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLnNlcnZlcl9pZCwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRiX2lkKQor ICAgICAgICBpZiBub3QgZGJfY29uWyJpbmZvIl0gPT0gIkRhdGFiYXNlIGNv bm5lY3RlZC4iOgorICAgICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJDb3Vs ZCBub3QgY29ubmVjdCB0byBkYXRhYmFzZS4iKQorICAgICAgICB0cnk6Cisg ICAgICAgICAgICBjb25uZWN0aW9uID0gdXRpbHMuZ2V0X2RiX2Nvbm5lY3Rp b24oc2VsZi5zZXJ2ZXJbJ2RiJ10sCisgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3VzZXJu YW1lJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10sCisgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2VsZi5zZXJ2ZXJbJ2hvc3QnXSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLnNlcnZlclsncG9ydCdd KQorICAgICAgICAgICAgcmVzcG9uc2UgPSBjYXN0X3V0aWxzLnZlcmlmeV9j YXN0KGNvbm5lY3Rpb24sIHNlbGYuc291cmNlX3R5cGUsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi50YXJn ZXRfdHlwZSkKKworICAgICAgICAgICAgaWYgbGVuKHJlc3BvbnNlKSA9PSAw OgorICAgICAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbigiQ291bGQgbm90 IGZpbmQgY2FzdC4iKQorICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAg ICAgICBkYXRhID0gewotICAgICAgICAgICAgICAgICAgICAiZGVzY3JpcHRp b24iOiBhZHZhbmNlZF9jb25maWdfZGF0YVsiY2FzdF91cGRhdGVfZGF0YSJd Ci0gICAgICAgICAgICAgICAgICAgIFsiY29tbWVudCJdLAotICAgICAgICAg ICAgICAgICAgICAiaWQiOiBjYXN0X2lkCisgICAgICAgICAgICAgICAgICAg ICJkZXNjcmlwdGlvbiI6ICJUaGlzIGlzIGNhc3QgdXBkYXRlIGNvbW1lbnQi LAorICAgICAgICAgICAgICAgICAgICAiaWQiOiBzZWxmLmNhc3RfaWQKICAg ICAgICAgICAgICAgICB9CiAKICAgICAgICAgICAgICAgICBwdXRfcmVzcG9u c2UgPSBzZWxmLnRlc3Rlci5wdXQoCiAgICAgICAgICAgICAgICAgICAgIHNl bGYudXJsICsgc3RyKHV0aWxzLlNFUlZFUl9HUk9VUCkgKyAnLycgKwotICAg ICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cigK LSAgICAgICAgICAgICAgICAgICAgICAgIGRiX2lkKSArCi0gICAgICAgICAg ICAgICAgICAgICcvJyArIHN0cihjYXN0X2lkKSwKKyAgICAgICAgICAgICAg ICAgICAgc3RyKHNlbGYuc2VydmVyX2lkKSArICcvJyArIHN0cigKKyAgICAg ICAgICAgICAgICAgICAgICAgIHNlbGYuZGJfaWQpICsKKyAgICAgICAgICAg ICAgICAgICAgJy8nICsgc3RyKHNlbGYuY2FzdF9pZCksCiAgICAgICAgICAg ICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKICAgICAgICAgICAg ICAgICAgICAgZm9sbG93X3JlZGlyZWN0cz1UcnVlKQogICAgICAgICAgICAg ICAgIHNlbGYuYXNzZXJ0RXF1YWxzKHB1dF9yZXNwb25zZS5zdGF0dXNfY29k ZSwgMjAwKQogCi0gICAgQGNsYXNzbWV0aG9kCi0gICAgZGVmIHRlYXJEb3du Q2xhc3MoY2xzKToKLSAgICAgICAgIiIiCi0gICAgICAgIFRoaXMgZnVuY3Rp b24gZGVsZXRlcyB0aGUgYWRkZWQgY2FzdCwgZGF0YWJhc2UsIHNlcnZlciBh bmQgdGhlCi0gICAgICAgICdwYXJlbnRfaWQucGtsJyBmaWxlIHdoaWNoIGlz IGNyZWF0ZWQgaW4gc2V0VXBDbGFzcy4KLQotICAgICAgICA6cmV0dXJuOiBO b25lCi0gICAgICAgICIiIgotCi0gICAgICAgIGNhc3RfdXRpbHMuZGVsZXRl X2Nhc3QoY2xzLnRlc3RlcikKLSAgICAgICAgZGF0YWJhc2VfdXRpbHMuZGVs ZXRlX2RhdGFiYXNlKGNscy50ZXN0ZXIpCi0gICAgICAgIHNlcnZlcl91dGls cy5kZWxldGVfc2VydmVyKGNscy50ZXN0ZXIpCi0gICAgICAgIHV0aWxzLmRl bGV0ZV9wYXJlbnRfaWRfZmlsZSgpCisgICAgICAgIGV4Y2VwdCBFeGNlcHRp b24gYXMgZXhjZXB0aW9uOgorICAgICAgICAgICAgZXhjZXB0aW9uID0gIkV4 Y2VwdGlvbjogJXM6IGxpbmU6JXMgJXMiICUgKAorICAgICAgICAgICAgICAg IGZpbGVfbmFtZSwgc3lzLmV4Y190cmFjZWJhY2sudGJfbGluZW5vLCBleGNl cHRpb24pCisgICAgICAgICAgICBwcmludChleGNlcHRpb24sIGZpbGU9c3lz LnN0ZGVycikKKyAgICAgICAgICAgIHJhaXNlIEV4Y2VwdGlvbihleGNlcHRp b24pCisKKyAgICBkZWYgdGVhckRvd24oc2VsZik6CisgICAgICAgICIiIlRo aXMgZnVuY3Rpb24gZGlzY29ubmVjdCB0aGUgdGVzdCBkYXRhYmFzZSBhbmQg ZHJvcCBhZGRlZCBjYXN0LiIiIgorCisgICAgICAgIGNvbm5lY3Rpb24gPSB1 dGlscy5nZXRfZGJfY29ubmVjdGlvbihzZWxmLnNlcnZlclsnZGInXSwKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl bGYuc2VydmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3 b3JkJ10sCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZWxmLnNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3Bv cnQnXSkKKyAgICAgICAgY2FzdF91dGlscy5kcm9wX2Nhc3QoY29ubmVjdGlv biwgc2VsZi5zb3VyY2VfdHlwZSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi50YXJnZXRfdHlwZSkKKyAgICAgICAgZGF0YWJhc2VfdXRp bHMuZGlzY29ubmVjdF9kYXRhYmFzZShzZWxmLCBzZWxmLnNlcnZlcl9pZCwK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLmRiX2lkKQorICAgICAgICBzZWxmLnNlcnZlclsnZGInXSA9IHNlbGYu ZGVmYXVsdF9kYgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL3V0 aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvZGF0YWJhc2VzL2Nhc3RzL3Rlc3RzL3V0aWxzLnB5CmluZGV4IDBl ODk1MTMuLjk1YmVjZDIgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9jYXN0cy90ZXN0 cy91dGlscy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvY2FzdHMvdGVzdHMvdXRpbHMucHkK QEAgLTcsMTM5ICs3LDEwMyBAQAogIwogIyAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMKIAorZnJvbSBfX2Z1dHVyZV9fIGltcG9ydCBwcmludF9mdW5jdGlvbgog aW1wb3J0IG9zCi1pbXBvcnQgcGlja2xlCi1pbXBvcnQganNvbgotZnJvbSBy ZWdyZXNzaW9uLnRlc3Rfc2V0dXAgaW1wb3J0IGFkdmFuY2VkX2NvbmZpZ19k YXRhLCBwaWNrbGVfcGF0aAotZnJvbSByZWdyZXNzaW9uIGltcG9ydCB0ZXN0 X3V0aWxzIGFzIHV0aWxzCi1mcm9tIHBnYWRtaW4uYnJvd3Nlci5zZXJ2ZXJf Z3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnRlc3RzIGltcG9ydCBcCi0gICAg dXRpbHMgYXMgZGF0YWJhc2VfdXRpbHMKLWZyb20gcGdhZG1pbi5icm93c2Vy LnNlcnZlcl9ncm91cHMuc2VydmVycy50ZXN0cyBpbXBvcnQgdXRpbHMgYXMg c2VydmVyX3V0aWxzCitpbXBvcnQgc3lzCitmcm9tIHJlZ3Jlc3Npb24udGVz dF91dGlscyBpbXBvcnQgZ2V0X2RiX2Nvbm5lY3Rpb24KIAorZmlsZV9uYW1l ID0gb3MucGF0aC5iYXNlbmFtZShfX2ZpbGVfXykKIENBU1RfVVJMID0gJy9i cm93c2VyL2Nhc3Qvb2JqLycKIAogCi1kZWYgZ2V0X2Nhc3RfY29uZmlnX2Rh dGEoc2VydmVyX2Nvbm5lY3RfZGF0YSk6Ci0KLSAgICBhZHZfY29uZmlnX2Rh dGEgPSBOb25lCi0gICAgZGJfdXNlciA9IHNlcnZlcl9jb25uZWN0X2RhdGFb J2RhdGEnXVsndXNlciddWyduYW1lJ10KLQotICAgICMgR2V0IHRoZSBjb25m aWcgZGF0YSBvZiBhcHByb3ByaWF0ZSBkYiB1c2VyCi0gICAgZm9yIGNvbmZp Z190ZXN0X2RhdGEgaW4gYWR2YW5jZWRfY29uZmlnX2RhdGFbJ2Nhc3RzX2Ny ZWRlbnRpYWxzJ106Ci0gICAgICAgIGlmIGRiX3VzZXIgPT0gY29uZmlnX3Rl c3RfZGF0YVsnb3duZXInXToKLSAgICAgICAgICAgIGFkdl9jb25maWdfZGF0 YSA9IGNvbmZpZ190ZXN0X2RhdGEKLQorZGVmIGdldF9jYXN0X2RhdGEoKToK ICAgICBkYXRhID0gewotICAgICAgICAiY2FzdGNvbnRleHQiOiBhZHZfY29u ZmlnX2RhdGEKLSAgICAgICAgWydjYXN0X2NvbnRleHQnXSwKLSAgICAgICAg ImVuY29kaW5nIjogYWR2X2NvbmZpZ19kYXRhCi0gICAgICAgIFsnZW5jb2Rp bmcnXSwKLSAgICAgICAgIm5hbWUiOiBhZHZfY29uZmlnX2RhdGEKLSAgICAg ICAgWyduYW1lJ10sCi0gICAgICAgICJzcmN0eXAiOiBhZHZfY29uZmlnX2Rh dGEKLSAgICAgICAgWydzb3VyY2VfdHlwZSddLAotICAgICAgICAidHJndHlw IjogYWR2X2NvbmZpZ19kYXRhCi0gICAgICAgIFsndGFyZ2V0X3R5cGUnXQot ICAgICAgICB9CisgICAgICAgICJjYXN0Y29udGV4dCI6ICJJTVBMSUNJVCIs CisgICAgICAgICJlbmNvZGluZyI6ICJVVEY4IiwKKyAgICAgICAgIm5hbWUi OiAibW9uZXktPmJpZ2ludCIsCisgICAgICAgICJzcmN0eXAiOiAibW9uZXki LAorICAgICAgICAidHJndHlwIjogImJpZ2ludCIsCisgICAgfQogICAgIHJl dHVybiBkYXRhCiAKIAotZGVmIGFkZF9jYXN0KHRlc3Rlcik6Ci0gICAgIiIi Ci0gICAgVGhpcyBmdW5jdGlvbiBhZGQgdGhlIGNhc3QgaW4gdGhlIGV4aXN0 aW5nIGRhdGFiYXNlCi0KLSAgICA6cGFyYW0gdGVzdGVyOiB0ZXN0IG9iamVj dAotICAgIDp0eXBlIHRlc3RlcjogZmxhc2sgdGVzdCBvYmplY3QKLSAgICA6 cmV0dXJuOk5vbmUKLSAgICAiIiIKLQotICAgIGFsbF9pZCA9IHV0aWxzLmdl dF9pZHMoKQotICAgIHNlcnZlcl9pZHMgPSBhbGxfaWRbInNpZCJdCi0gICAg ZGJfaWRzX2RpY3QgPSBhbGxfaWRbImRpZCJdWzBdCi0gICAgc2VydmVyX2dy b3VwID0gdXRpbHMuY29uZmlnX2RhdGFbJ3NlcnZlcl9ncm91cCddCi0KLSAg ICBmb3Igc2VydmVyX2lkIGluIHNlcnZlcl9pZHM6Ci0gICAgICAgIGRiX2lk ID0gZGJfaWRzX2RpY3RbaW50KHNlcnZlcl9pZCldCi0gICAgICAgIGRiX2Nv biA9IGRhdGFiYXNlX3V0aWxzLnZlcmlmeV9kYXRhYmFzZSh0ZXN0ZXIsIHNl cnZlcl9ncm91cCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlcnZlcl9pZCwgZGJfaWQpCi0gICAgICAgIGlm IGRiX2NvblsnZGF0YSddWydjb25uZWN0ZWQnXToKLSAgICAgICAgICAgIHNl cnZlcl9jb25uZWN0X3Jlc3BvbnNlID0gc2VydmVyX3V0aWxzLnZlcmlmeV9z ZXJ2ZXIoCi0gICAgICAgICAgICAgICAgdGVzdGVyLCBzZXJ2ZXJfZ3JvdXAs IHNlcnZlcl9pZCkKLQotICAgICAgICAgICAgZGF0YSA9IGdldF9jYXN0X2Nv bmZpZ19kYXRhKHNlcnZlcl9jb25uZWN0X3Jlc3BvbnNlKQotCi0gICAgICAg ICAgICByZXNwb25zZSA9IHRlc3Rlci5wb3N0KENBU1RfVVJMICsgc3RyKHNl cnZlcl9ncm91cCkgKyAnLycgKwotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0cigKLSAgICAg ICAgICAgICAgICBkYl9pZCkgKyAnLycsCi0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGRhdGE9anNvbi5kdW1wcyhkYXRhKSwKLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudF90eXBlPSdo dG1sL2pzb24nKQotCi0gICAgICAgICAgICBhc3NlcnQgcmVzcG9uc2Uuc3Rh dHVzX2NvZGUgPT0gMjAwCi0gICAgICAgICAgICByZXNwb25zZV9kYXRhID0g anNvbi5sb2FkcyhyZXNwb25zZS5kYXRhLmRlY29kZSgndXRmLTgnKSkKLSAg ICAgICAgICAgIHdyaXRlX2Nhc3RfaW5mbyhyZXNwb25zZV9kYXRhLCBzZXJ2 ZXJfaWQpCi0KLQotZGVmIHdyaXRlX2Nhc3RfaW5mbyhyZXNwb25zZV9kYXRh LCBzZXJ2ZXJfaWQpOgorZGVmIGNyZWF0ZV9jYXN0KHNlcnZlciwgc291cmNl X3R5cGUsIHRhcmdldF90eXBlKToKICAgICAiIiIKLSAgICBUaGlzIGZ1bmN0 aW9uIHdyaXRlcyB0aGUgc2VydmVyJ3MgZGV0YWlscyB0byBmaWxlIHBhcmVu dF9pZC5wa2wKKyAgICBUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gY3JlYXRlIGNh c3QgaW4gdGhlIGV4aXN0aW5nIGR1bW15IGRhdGFiYXNlCiAKLSAgICA6cGFy YW0gcmVzcG9uc2VfZGF0YTogc2VydmVyJ3MgZGF0YQotICAgIDp0eXBlIHJl c3BvbnNlX2RhdGE6IGxpc3Qgb2YgZGljdGlvbmFyeQotICAgIDpwYXJhbSBw aWNrbGVfaWRfZGljdDogY29udGFpbnMgaWRzIG9mIHNlcnZlcixkYXRhYmFz ZSx0YWJsZXMgZXRjLgotICAgIDp0eXBlIHBpY2tsZV9pZF9kaWN0OiBkaWN0 Ci0gICAgOnJldHVybjogTm9uZQorICAgIDpwYXJhbSBzZXJ2ZXI6IHRlc3Rf c2VydmVyLCBjYXN0X3NvdXJjZV90eXBlLCBjYXN0X3RhcmdldF90eXBlCisg ICAgOnJldHVybjogY2FzdF9pZAogICAgICIiIgogCi0gICAgY2FzdF9pZCA9 IHJlc3BvbnNlX2RhdGFbJ25vZGUnXVsnX2lkJ10KLSAgICBwaWNrbGVfaWRf ZGljdCA9IHV0aWxzLmdldF9waWNrbGVfaWRfZGljdCgpCi0gICAgaWYgb3Mu cGF0aC5pc2ZpbGUocGlja2xlX3BhdGgpOgotICAgICAgICBleGlzdGluZ19z ZXJ2ZXJfaWQgPSBvcGVuKHBpY2tsZV9wYXRoLCAncmInKQotICAgICAgICB0 b2xfc2VydmVyX2lkID0gcGlja2xlLmxvYWQoZXhpc3Rpbmdfc2VydmVyX2lk KQotICAgICAgICBwaWNrbGVfaWRfZGljdCA9IHRvbF9zZXJ2ZXJfaWQKLSAg ICBpZiAnY2lkJyBpbiBwaWNrbGVfaWRfZGljdDoKLSAgICAgICAgaWYgcGlj a2xlX2lkX2RpY3RbJ2NpZCddOgotICAgICAgICAgICAgIyBBZGQgdGhlIGNh c3RfaWQgYXMgdmFsdWUgaW4gZGljdAotICAgICAgICAgICAgcGlja2xlX2lk X2RpY3RbImNpZCJdWzBdLnVwZGF0ZSh7c2VydmVyX2lkOiBjYXN0X2lkfSkK LSAgICAgICAgZWxzZToKLSAgICAgICAgICAgICMgQ3JlYXRlIG5ldyBkaWN0 IHdpdGggc2VydmVyX2lkIGFuZCBjYXN0X2lkCi0gICAgICAgICAgICBwaWNr bGVfaWRfZGljdFsiY2lkIl0uYXBwZW5kKHtzZXJ2ZXJfaWQ6IGNhc3RfaWR9 KQotICAgIGNhc3Rfb3V0cHV0ID0gb3BlbihwaWNrbGVfcGF0aCwgJ3diJykK LSAgICBwaWNrbGUuZHVtcChwaWNrbGVfaWRfZGljdCwgY2FzdF9vdXRwdXQp Ci0gICAgY2FzdF9vdXRwdXQuY2xvc2UoKQotCi0KLWRlZiB2ZXJpZnlfY2Fz dCh0ZXN0ZXIsIHNlcnZlcl9ncm91cCwgc2VydmVyX2lkLCBkYl9pZCwgY2Fz dF9pZCk6Ci0KLSAgICBjYXN0X3Jlc3BvbnNlID0gdGVzdGVyLmdldChDQVNU X1VSTCArIHN0cihzZXJ2ZXJfZ3JvdXApICsgJy8nICsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHIoc2VydmVyX2lkKSArICcvJyArIHN0 cihkYl9pZCkgKwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcv JyArIHN0cihjYXN0X2lkKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb250ZW50X3R5cGU9J2h0bWwvanNvbicpCi0gICAgcmV0dXJuIGNh c3RfcmVzcG9uc2UKLQotCi1kZWYgZGVsZXRlX2Nhc3QodGVzdGVyKToKLSAg ICBhbGxfaWQgPSB1dGlscy5nZXRfaWRzKCkKLSAgICBzZXJ2ZXJfaWRzID0g YWxsX2lkWyJzaWQiXQotICAgIGRiX2lkc19kaWN0ID0gYWxsX2lkWyJkaWQi XVswXQotICAgIGNhc3RfaWRzX2RpY3QgPSBhbGxfaWRbImNpZCJdWzBdCi0K LSAgICBmb3Igc2VydmVyX2lkIGluIHNlcnZlcl9pZHM6Ci0gICAgICAgIGRi X2lkID0gZGJfaWRzX2RpY3RbaW50KHNlcnZlcl9pZCldCi0gICAgICAgIGRi X2NvbiA9IGRhdGFiYXNlX3V0aWxzLnZlcmlmeV9kYXRhYmFzZSh0ZXN0ZXIs IHV0aWxzLlNFUlZFUl9HUk9VUCwKLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlcl9pZCwKLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRiX2lk KQotICAgICAgICBpZiBsZW4oZGJfY29uKSA9PSAwOgotICAgICAgICAgICAg cmFpc2UgRXhjZXB0aW9uKCJObyBkYXRhYmFzZShzKSB0byBkZWxldGUgZm9y IHNlcnZlciBpZCAlcyIKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAl IHNlcnZlcl9pZCkKLSAgICAgICAgY2FzdF9pZCA9IGNhc3RfaWRzX2RpY3Rb c2VydmVyX2lkXQotICAgICAgICBjYXN0X2dldF9kYXRhID0gdmVyaWZ5X2Nh c3QodGVzdGVyLCB1dGlscy5TRVJWRVJfR1JPVVAsCi0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaWQsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBkYl9pZCwgY2FzdF9pZCkKLQot ICAgICAgICBpZiBjYXN0X2dldF9kYXRhLnN0YXR1c19jb2RlID09IDIwMDoK LSAgICAgICAgICAgIGRlbGV0ZV9yZXNwb25zZSA9IHRlc3Rlci5kZWxldGUo Ci0gICAgICAgICAgICAgICAgQ0FTVF9VUkwgKyBzdHIodXRpbHMuU0VSVkVS X0dST1VQKSArICcvJyArCi0gICAgICAgICAgICAgICAgc3RyKHNlcnZlcl9p ZCkgKyAnLycgKyBzdHIoZGJfaWQpICsKLSAgICAgICAgICAgICAgICAnLycg KyBzdHIoY2FzdF9pZCksCi0gICAgICAgICAgICAgICAgZm9sbG93X3JlZGly ZWN0cz1UcnVlKQotICAgICAgICAgICAgcmV0dXJuIGRlbGV0ZV9yZXNwb25z ZQorICAgIHRyeToKKyAgICAgICAgY29ubmVjdGlvbiA9IGdldF9kYl9jb25u ZWN0aW9uKHNlcnZlclsnZGInXSwKKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNlcnZlclsndXNlcm5hbWUnXSwKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlcnZlclsnZGJfcGFz c3dvcmQnXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHNlcnZlclsnaG9zdCddLAorICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc2VydmVyWydwb3J0J10pCisgICAgICAgIG9sZF9p c29sYXRpb25fbGV2ZWwgPSBjb25uZWN0aW9uLmlzb2xhdGlvbl9sZXZlbAor ICAgICAgICBjb25uZWN0aW9uLnNldF9pc29sYXRpb25fbGV2ZWwoMCkKKyAg ICAgICAgcGdfY3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQorICAgICAg ICBwZ19jdXJzb3IuZXhlY3V0ZSgiQ1JFQVRFIENBU1QgKCVzIEFTICVzKSBX SVRIT1VUIgorICAgICAgICAgICAgICAgICAgICAgICAgICAiIEZVTkNUSU9O IEFTIElNUExJQ0lUIiAlIChzb3VyY2VfdHlwZSwgdGFyZ2V0X3R5cGUpKQor CisgICAgICAgIGNvbm5lY3Rpb24uc2V0X2lzb2xhdGlvbl9sZXZlbChvbGRf aXNvbGF0aW9uX2xldmVsKQorICAgICAgICBjb25uZWN0aW9uLmNvbW1pdCgp CisKKyAgICAgICAgIyBHZXQgJ29pZCcgZnJvbSBuZXdseSBjcmVhdGVkIGNh c3QKKyAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoCisgICAgICAgICAgICAi U0VMRUNUIGNhLm9pZCBGUk9NIHBnX2Nhc3QgY2EgV0hFUkUgY2EuY2FzdHNv dXJjZSA9ICIKKyAgICAgICAgICAgICIoU0VMRUNUIHQub2lkIEZST00gcGdf dHlwZSB0IFdIRVJFIGZvcm1hdF90eXBlKHQub2lkLCBOVUxMKT0nJXMnKSAi CisgICAgICAgICAgICAiQU5EIGNhLmNhc3R0YXJnZXQgPSAoU0VMRUNUIHQu b2lkIEZST00gcGdfdHlwZSB0IFdIRVJFICIKKyAgICAgICAgICAgICJmb3Jt YXRfdHlwZSh0Lm9pZCwgTlVMTCkgPSAnJXMnKSIgJSAoc291cmNlX3R5cGUs IHRhcmdldF90eXBlKSkKKyAgICAgICAgb2lkID0gcGdfY3Vyc29yLmZldGNo b25lKCkKKyAgICAgICAgY2FzdF9pZCA9ICcnCisgICAgICAgIGlmIG9pZDoK KyAgICAgICAgICAgIGNhc3RfaWQgPSBvaWRbMF0KKyAgICAgICAgY29ubmVj dGlvbi5jbG9zZSgpCisgICAgICAgIHJldHVybiBjYXN0X2lkCisgICAgZXhj ZXB0IEV4Y2VwdGlvbiBhcyBleGNlcHRpb246CisgICAgICAgIGV4Y2VwdGlv biA9ICJFeGNlcHRpb246ICVzOiBsaW5lOiVzICVzIiAlICgKKyAgICAgICAg ICAgIGZpbGVfbmFtZSwgc3lzLmV4Y190cmFjZWJhY2sudGJfbGluZW5vLCBl eGNlcHRpb24pCisgICAgICAgIHByaW50KGV4Y2VwdGlvbiwgZmlsZT1zeXMu c3RkZXJyKQorCisKK2RlZiB2ZXJpZnlfY2FzdChjb25uZWN0aW9uLCBzb3Vy Y2VfdHlwZSwgdGFyZ2V0X3R5cGUpOgorICAgICIiIiBUaGlzIGZ1bmN0aW9u IHdpbGwgdmVyaWZ5IGN1cnJlbnQgY2FzdC4iIiIKKworICAgIHRyeToKKyAg ICAgICAgcGdfY3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQorCisgICAg ICAgIHBnX2N1cnNvci5leGVjdXRlKAorICAgICAgICAgICAgIlNFTEVDVCAq IEZST00gcGdfY2FzdCBjYSBXSEVSRSBjYS5jYXN0c291cmNlID0gIgorICAg ICAgICAgICAgIihTRUxFQ1QgdC5vaWQgRlJPTSBwZ190eXBlIHQgV0hFUkUg Zm9ybWF0X3R5cGUodC5vaWQsIE5VTEwpPSclcycpICIKKyAgICAgICAgICAg ICJBTkQgY2EuY2FzdHRhcmdldCA9IChTRUxFQ1QgdC5vaWQgRlJPTSBwZ190 eXBlIHQgV0hFUkUgIgorICAgICAgICAgICAgImZvcm1hdF90eXBlKHQub2lk LCBOVUxMKSA9ICclcycpIiAlIChzb3VyY2VfdHlwZSwgdGFyZ2V0X3R5cGUp KQorICAgICAgICBjYXN0cyA9IHBnX2N1cnNvci5mZXRjaGFsbCgpCisgICAg ICAgIGNvbm5lY3Rpb24uY2xvc2UoKQorICAgICAgICByZXR1cm4gY2FzdHMK KyAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGV4Y2VwdGlvbjoKKyAgICAgICAg ZXhjZXB0aW9uID0gIiVzOiBsaW5lOiVzICVzIiAlICgKKyAgICAgICAgICAg IGZpbGVfbmFtZSwgc3lzLmV4Y190cmFjZWJhY2sudGJfbGluZW5vLCBleGNl cHRpb24pCisgICAgICAgIHByaW50KGV4Y2VwdGlvbiwgZmlsZT1zeXMuc3Rk ZXJyKQorCisKK2RlZiBkcm9wX2Nhc3QoY29ubmVjdGlvbiwgc291cmNlX3R5 cGUsIHRhcmdldF90eXBlKToKKyAgICAiIiJUaGlzIGZ1bmN0aW9uIHVzZWQg dG8gZHJvcCB0aGUgY2FzdCIiIgorCisgICAgdHJ5OgorICAgICAgICBwZ19j dXJzb3IgPSBjb25uZWN0aW9uLmN1cnNvcigpCisgICAgICAgIHBnX2N1cnNv ci5leGVjdXRlKAorICAgICAgICAgICAgIlNFTEVDVCAqIEZST00gcGdfY2Fz dCBjYSBXSEVSRSBjYS5jYXN0c291cmNlID0gIgorICAgICAgICAgICAgIihT RUxFQ1QgdC5vaWQgRlJPTSBwZ190eXBlIHQgV0hFUkUgZm9ybWF0X3R5cGUo dC5vaWQsIE5VTEwpPSclcycpICIKKyAgICAgICAgICAgICJBTkQgY2EuY2Fz dHRhcmdldCA9IChTRUxFQ1QgdC5vaWQgRlJPTSBwZ190eXBlIHQgV0hFUkUg IgorICAgICAgICAgICAgImZvcm1hdF90eXBlKHQub2lkLCBOVUxMKSA9ICcl cycpIiAlIChzb3VyY2VfdHlwZSwgdGFyZ2V0X3R5cGUpKQorICAgICAgICBp ZiBwZ19jdXJzb3IuZmV0Y2hhbGwoKToKKyAgICAgICAgICAgIHBnX2N1cnNv ci5leGVjdXRlKAorICAgICAgICAgICAgICAgICJEUk9QIENBU1QgKCVzIEFT ICVzKSBDQVNDQURFIiAlIChzb3VyY2VfdHlwZSwgdGFyZ2V0X3R5cGUpKQor ICAgICAgICAgICAgY29ubmVjdGlvbi5jb21taXQoKQorICAgICAgICAgICAg Y29ubmVjdGlvbi5jbG9zZSgpCisgICAgZXhjZXB0IEV4Y2VwdGlvbiBhcyBl eGNlcHRpb246CisgICAgICAgIGV4Y2VwdGlvbiA9ICIlczogbGluZTolcyAl cyIgJSAoCisgICAgICAgICAgICBmaWxlX25hbWUsIHN5cy5leGNfdHJhY2Vi YWNrLnRiX2xpbmVubywgZXhjZXB0aW9uKQorICAgICAgICBwcmludChleGNl cHRpb24sIGZpbGU9c3lzLnN0ZGVycikKZGlmZiAtLWdpdCBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90 ZXN0cy91dGlscy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy90ZXN0cy91dGlscy5weQppbmRleCA2 YjI2ODYzLi5jMWVmM2E3IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93 c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvdGVzdHMvdXRp bHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBz L3NlcnZlcnMvZGF0YWJhc2VzL3Rlc3RzL3V0aWxzLnB5CkBAIC0xMTUsNyAr MTE1LDcgQEAgZGVmIGNyZWF0ZV9kYXRhYmFzZShjb25uZWN0aW9uLCBkYl9u YW1lKToKICAgICAgICAgcmFpc2UgRXhjZXB0aW9uKCJFcnJvciB3aGlsZSBj cmVhdGluZyBkYXRhYmFzZS4gJXMiICUgZXhjZXB0aW9uKQogCiAKLWRlZiB2 ZXJpZnlfZGF0YWJhc2Uoc2VsZiwgc2VydmVyX2dyb3VwLCBzZXJ2ZXJfaWQs IGRiX2lkKToKK2RlZiBjb25uZWN0X2RhdGFiYXNlKHNlbGYsIHNlcnZlcl9n cm91cCwgc2VydmVyX2lkLCBkYl9pZCk6CiAgICAgIiIiCiAgICAgVGhpcyBm dW5jdGlvbiB2ZXJpZmllcyB0aGF0IGRhdGFiYXNlIGlzIGV4aXN0cyBhbmQg d2hldGhlciBpdCBjb25uZWN0CiAgICAgc3VjY2Vzc2Z1bGx5IG9yIG5vdApk aWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdXRpbHMvcm91dGUucHkgYi93ZWIv cGdhZG1pbi91dGlscy9yb3V0ZS5weQppbmRleCA3NDI2OWRlLi5iZTc1NDc4 IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi91dGlscy9yb3V0ZS5weQorKysg Yi93ZWIvcGdhZG1pbi91dGlscy9yb3V0ZS5weQpAQCAtNywxNSArNywxNyBA QAogIwogIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMKIAorZnJvbSBfX2Z1dHVyZV9fIGlt cG9ydCBwcmludF9mdW5jdGlvbgogaW1wb3J0IHN5cwogaW1wb3J0IHVuaXR0 ZXN0Ci0KK2ltcG9ydCBvcwogZnJvbSBhYmMgaW1wb3J0IEFCQ01ldGEsIGFi c3RyYWN0bWV0aG9kCiBmcm9tIGltcG9ydGxpYiBpbXBvcnQgaW1wb3J0X21v ZHVsZQogZnJvbSB3ZXJremV1Zy51dGlscyBpbXBvcnQgZmluZF9tb2R1bGVz Ci0KIGltcG9ydCBjb25maWcKIAorZmlsZV9uYW1lID0gb3MucGF0aC5iYXNl bmFtZShfX2ZpbGVfXykKKwogCiBjbGFzcyBUZXN0c0dlbmVyYXRvclJlZ2lz dHJ5KEFCQ01ldGEpOgogICAgICIiIgpAQCAtNjksOCArNzEsMTAgQEAgY2xh c3MgVGVzdHNHZW5lcmF0b3JSZWdpc3RyeShBQkNNZXRhKToKICAgICAgICAg ICAgICAgICB0cnk6CiAgICAgICAgICAgICAgICAgICAgIGlmICJ0ZXN0cy4i IGluIHN0cihtb2R1bGVfbmFtZSk6CiAgICAgICAgICAgICAgICAgICAgICAg ICBjbHMuaW1wb3J0X2FwcF9tb2R1bGVzKG1vZHVsZV9uYW1lKQotICAgICAg ICAgICAgICAgIGV4Y2VwdCBJbXBvcnRFcnJvcjoKLSAgICAgICAgICAgICAg ICAgICAgcGFzcworICAgICAgICAgICAgICAgIGV4Y2VwdCBFeGNlcHRpb24g YXMgZXhjZXB0aW9uOgorICAgICAgICAgICAgICAgICAgICBleGNlcHRpb24g PSAiJXM6IGxpbmU6JXMgJXMiICUgKAorICAgICAgICAgICAgICAgICAgICAg ICAgZmlsZV9uYW1lLCBzeXMuZXhjX3RyYWNlYmFjay50Yl9saW5lbm8sIGV4 Y2VwdGlvbikKKyAgICAgICAgICAgICAgICAgICAgcHJpbnQoZXhjZXB0aW9u LCBmaWxlPXN5cy5zdGRlcnIpCiAgICAgICAgIGVsc2U6CiAgICAgICAgICAg ICBmb3IgbW9kdWxlX25hbWUgaW4gZmluZF9tb2R1bGVzKHBrZywgRmFsc2Us IFRydWUpOgogICAgICAgICAgICAgICAgIHRyeToKQEAgLTc4LDggKzgyLDEx IEBAIGNsYXNzIFRlc3RzR2VuZXJhdG9yUmVnaXN0cnkoQUJDTWV0YSk6CiAg ICAgICAgICAgICAgICAgICAgICMgaXMgRmFsc2UKICAgICAgICAgICAgICAg ICAgICAgaWYgInBnYWRtaW4uYnJvd3Nlci50ZXN0cyIgbm90IGluIG1vZHVs ZV9uYW1lOgogICAgICAgICAgICAgICAgICAgICAgICAgY2xzLmltcG9ydF9h cHBfbW9kdWxlcyhtb2R1bGVfbmFtZSkKLSAgICAgICAgICAgICAgICBleGNl cHQgSW1wb3J0RXJyb3I6Ci0gICAgICAgICAgICAgICAgICAgIHBhc3MKKyAg ICAgICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGV4Y2VwdGlvbjoK KyAgICAgICAgICAgICAgICAgICAgZXhjZXB0aW9uID0gIiVzOiBsaW5lOiVz ICVzIiAlICgKKyAgICAgICAgICAgICAgICAgICAgICAgIGZpbGVfbmFtZSwg c3lzLmV4Y190cmFjZWJhY2sudGJfbGluZW5vLCBleGNlcHRpb24pCisgICAg ICAgICAgICAgICAgICAgIHByaW50KGV4Y2VwdGlvbiwgZmlsZT1zeXMuc3Rk ZXJyKQorCiAKIGltcG9ydCBzaXgKIApkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jl c3Npb24vX19pbml0X18ucHkgYi93ZWIvcmVncmVzc2lvbi9fX2luaXRfXy5w eQppbmRleCA2YjdjYjJmLi45MzdjYmNmIDEwMDY0NAotLS0gYS93ZWIvcmVn cmVzc2lvbi9fX2luaXRfXy5weQorKysgYi93ZWIvcmVncmVzc2lvbi9fX2lu aXRfXy5weQpAQCAtMjgsMTAgKzI4LDggQEAgbm9kZV9pbmZvX2RpY3QgPSB7 CiAgICAgInNlaWQiOiBbXSAgIyBzZXF1ZW5jZQogfQogCi1nbG9iYWwgdGVz dF9zZXJ2ZXJfZGljdAotdGVzdF9zZXJ2ZXJfZGljdCA9IHsKK2dsb2JhbCBw YXJlbnRfbm9kZV9kaWN0CitwYXJlbnRfbm9kZV9kaWN0ID0gewogICAgICJz ZXJ2ZXIiOiBbXSwKLSAgICAiZGF0YWJhc2UiOiBbXSwKLSAgICAidGFibGVz cGFjZSI6IFtdLAotICAgICJyb2xlIjogW10KKyAgICAiZGF0YWJhc2UiOiBb XQogfQpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Npb24vcnVudGVzdHMucHkg Yi93ZWIvcmVncmVzc2lvbi9ydW50ZXN0cy5weQppbmRleCA4N2I2MDA0Li44 YmU5ZmZmIDEwMDY0NAotLS0gYS93ZWIvcmVncmVzc2lvbi9ydW50ZXN0cy5w eQorKysgYi93ZWIvcmVncmVzc2lvbi9ydW50ZXN0cy5weQpAQCAtMTAsNyAr MTAsNiBAQAogIiIiIFRoaXMgZmlsZSBjb2xsZWN0IGFsbCBtb2R1bGVzL2Zp bGVzIHByZXNlbnQgaW4gdGVzdHMgZGlyZWN0b3J5IGFuZCBhZGQKIHRoZW0g dG8gVGVzdFN1aXRlLiAiIiIKIGZyb20gX19mdXR1cmVfXyBpbXBvcnQgcHJp bnRfZnVuY3Rpb24KLQogaW1wb3J0IGFyZ3BhcnNlCiBpbXBvcnQgb3MKIGlt cG9ydCBzeXMKQEAgLTM1LDcgKzM0LDcgQEAgaWYgc3lzLnBhdGhbMF0gIT0g cm9vdDoKIAogZnJvbSBwZ2FkbWluIGltcG9ydCBjcmVhdGVfYXBwCiBpbXBv cnQgY29uZmlnCi1pbXBvcnQgdGVzdF9zZXR1cAorZnJvbSByZWdyZXNzaW9u IGltcG9ydCB0ZXN0X3NldHVwCiAKICMgRGVsZXRlIFNRTGl0ZSBkYiBmaWxl IGlmIGV4aXN0cwogaWYgb3MucGF0aC5pc2ZpbGUoY29uZmlnLlRFU1RfU1FM SVRFX1BBVEgpOgpAQCAtNTksMTQgKzU4LDE0IEBAIGlmIHBnYWRtaW5fY3Jl ZGVudGlhbHM6CiAgICAgICAgICAgICAgICAgJ2xvZ2luX3Bhc3N3b3JkJ10K IAogIyBFeGVjdXRlIHRoZSBzZXR1cCBmaWxlCi1leGVjIChvcGVuKCJzZXR1 cC5weSIpLnJlYWQoKSkKK2V4ZWMob3Blbigic2V0dXAucHkiKS5yZWFkKCkp CiAKICMgR2V0IHRoZSBjb25maWcgZGF0YWJhc2Ugc2NoZW1hIHZlcnNpb24u IFdlIHN0b3JlIHRoaXMgaW4gcGdhZG1pbi5tb2RlbAogIyBhcyBpdCB0dXJu cyBvdXQgdGhhdCBwdXR0aW5nIGl0IGluIHRoZSBjb25maWcgZmlsZXMgaXNu J3QgYSBncmVhdCBpZGVhCiBmcm9tIHBnYWRtaW4ubW9kZWwgaW1wb3J0IFND SEVNQV9WRVJTSU9OCiAKICMgRGVsYXkgdGhlIGltcG9ydCB0ZXN0X3V0aWxz IGFzIGl0IG5lZWRzIHVwZGF0ZWQgY29uZmlnLlNRTElURV9QQVRICi1pbXBv cnQgdGVzdF91dGlscworZnJvbSByZWdyZXNzaW9uIGltcG9ydCB0ZXN0X3V0 aWxzCiAKIGNvbmZpZy5TRVRUSU5HU19TQ0hFTUFfVkVSU0lPTiA9IFNDSEVN QV9WRVJTSU9OCiAKZGlmZiAtLWdpdCBhL3dlYi9yZWdyZXNzaW9uL3Rlc3Rf dXRpbHMucHkgYi93ZWIvcmVncmVzc2lvbi90ZXN0X3V0aWxzLnB5CmluZGV4 IDczMWYxYjYuLmE1Y2MxMGMgMTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNzaW9u L3Rlc3RfdXRpbHMucHkKKysrIGIvd2ViL3JlZ3Jlc3Npb24vdGVzdF91dGls cy5weQpAQCAtNDAsNyArNDAsNyBAQCBkZWYgbG9naW5fdGVzdGVyX2FjY291 bnQodGVzdGVyKToKICAgICA6dHlwZSB0ZXN0ZXI6IGZsYXNrIHRlc3QgY2xp ZW50IG9iamVjdAogICAgIDpyZXR1cm46IE5vbmUKICAgICAiIiIKLSAgICBp ZiBvcy5lbnZpcm9uWydQR0FETUlOX1NFVFVQX0VNQUlMJ10gYW5kXAorICAg IGlmIG9zLmVudmlyb25bJ1BHQURNSU5fU0VUVVBfRU1BSUwnXSBhbmQgXAog ICAgICAgICAgICAgb3MuZW52aXJvblsnUEdBRE1JTl9TRVRVUF9QQVNTV09S RCddOgogICAgICAgICBlbWFpbCA9IG9zLmVudmlyb25bJ1BHQURNSU5fU0VU VVBfRU1BSUwnXQogICAgICAgICBwYXNzd29yZCA9IG9zLmVudmlyb25bJ1BH QURNSU5fU0VUVVBfUEFTU1dPUkQnXQpAQCAtMTQ1LDIyICsxNDUsMTkgQEAg ZGVmIGNyZWF0ZV9kYXRhYmFzZShzZXJ2ZXIsIGRiX25hbWUpOgogCiBkZWYg ZHJvcF9kYXRhYmFzZShjb25uZWN0aW9uLCBkYXRhYmFzZV9uYW1lKToKICAg ICAiIiJUaGlzIGZ1bmN0aW9uIHVzZWQgdG8gZHJvcCB0aGUgZGF0YWJhc2Ui IiIKLQogICAgIHRyeToKLSAgICAgICAgcGdfY3Vyc29yID0gY29ubmVjdGlv bi5jdXJzb3IoKQotICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZSgiU0VMRUNU ICogRlJPTSBwZ19kYXRhYmFzZSBkYiBXSEVSRSBkYi5kYXRuYW1lPSclcyci Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICUgZGF0YWJhc2VfbmFtZSkK LSAgICAgICAgaWYgcGdfY3Vyc29yLmZldGNoYWxsKCk6Ci0gICAgICAgICAg ICAjIFJlbGVhc2UgcGlkIGlmIGFueSBwcm9jZXNzIHVzaW5nIGRhdGFiYXNl Ci0gICAgICAgICAgICBwZ19jdXJzb3IuZXhlY3V0ZSgic2VsZWN0IHBnX3Rl cm1pbmF0ZV9iYWNrZW5kKHBpZCkgZnJvbSIKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICIgcGdfc3RhdF9hY3Rpdml0eSB3aGVyZSBkYXRuYW1l PSclcyciICUKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFi YXNlX25hbWUpCi0gICAgICAgICAgICBvbGRfaXNvbGF0aW9uX2xldmVsID0g Y29ubmVjdGlvbi5pc29sYXRpb25fbGV2ZWwKLSAgICAgICAgICAgIGNvbm5l Y3Rpb24uc2V0X2lzb2xhdGlvbl9sZXZlbCgwKQotICAgICAgICAgICAgcGdf Y3Vyc29yLmV4ZWN1dGUoJycnRFJPUCBEQVRBQkFTRSAiJXMiJycnICUgZGF0 YWJhc2VfbmFtZSkKLSAgICAgICAgICAgIGNvbm5lY3Rpb24uc2V0X2lzb2xh dGlvbl9sZXZlbChvbGRfaXNvbGF0aW9uX2xldmVsKQotICAgICAgICAgICAg Y29ubmVjdGlvbi5jb21taXQoKQotICAgICAgICAgICAgY29ubmVjdGlvbi5j bG9zZSgpCisgICAgICAgIGlmIGRhdGFiYXNlX25hbWUgbm90IGluIFsicG9z dGdyZXMiLCAidGVtcGxhdGUxIiwgInRlbXBsYXRlMCJdOgorICAgICAgICAg ICAgcGdfY3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQorICAgICAgICAg ICAgcGdfY3Vyc29yLmV4ZWN1dGUoCisgICAgICAgICAgICAgICAgIlNFTEVD VCAqIEZST00gcGdfZGF0YWJhc2UgZGIgV0hFUkUgZGIuZGF0bmFtZT0nJXMn IgorICAgICAgICAgICAgICAgICUgZGF0YWJhc2VfbmFtZSkKKyAgICAgICAg ICAgIGlmIHBnX2N1cnNvci5mZXRjaGFsbCgpOgorICAgICAgICAgICAgICAg IG9sZF9pc29sYXRpb25fbGV2ZWwgPSBjb25uZWN0aW9uLmlzb2xhdGlvbl9s ZXZlbAorICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uc2V0X2lzb2xhdGlv bl9sZXZlbCgwKQorICAgICAgICAgICAgICAgIHBnX2N1cnNvci5leGVjdXRl KCcnJ0RST1AgREFUQUJBU0UgIiVzIicnJyAlIGRhdGFiYXNlX25hbWUpCisg ICAgICAgICAgICAgICAgY29ubmVjdGlvbi5zZXRfaXNvbGF0aW9uX2xldmVs KG9sZF9pc29sYXRpb25fbGV2ZWwpCisgICAgICAgICAgICAgICAgY29ubmVj dGlvbi5jb21taXQoKQorICAgICAgICAgICAgICAgIGNvbm5lY3Rpb24uY2xv c2UoKQogICAgIGV4Y2VwdCBFeGNlcHRpb24gYXMgZXhjZXB0aW9uOgogICAg ICAgICBleGNlcHRpb24gPSAiJXM6IGxpbmU6JXMgJXMiICUgKAogICAgICAg ICAgICAgZmlsZV9uYW1lLCBzeXMuZXhjX3RyYWNlYmFjay50Yl9saW5lbm8s IGV4Y2VwdGlvbikKQEAgLTIzNSwxOCArMjMyLDE3IEBAIGRlZiBjcmVhdGVf dGVzdF9zZXJ2ZXIoc2VydmVyX2luZm8pOgogICAgIGRiX2lkID0gY3JlYXRl X2RhdGFiYXNlKHNlcnZlcl9pbmZvLCB0ZXN0X2RiX25hbWUpCiAKICAgICAj IEFkZCBzZXJ2ZXIgaW5mbyB0byB0ZXN0X3NlcnZlcl9kaWN0Ci0gICAgcmVn cmVzc2lvbi50ZXN0X3NlcnZlcl9kaWN0WyJzZXJ2ZXIiXS5hcHBlbmQoeyJz ZXJ2ZXJfaWQiOiBzcnZfaWQsCisgICAgcmVncmVzc2lvbi5wYXJlbnRfbm9k ZV9kaWN0WyJzZXJ2ZXIiXS5hcHBlbmQoeyJzZXJ2ZXJfaWQiOiBzcnZfaWQs CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJzZXJ2ZXIiOiBzZXJ2ZXJfaW5mb30pCi0gICAgcmVncmVzc2lv bi50ZXN0X3NlcnZlcl9kaWN0WyJkYXRhYmFzZSJdLmFwcGVuZCh7InNlcnZl cl9pZCI6IHNydl9pZCwKKyAgICByZWdyZXNzaW9uLnBhcmVudF9ub2RlX2Rp Y3RbImRhdGFiYXNlIl0uYXBwZW5kKHsic2VydmVyX2lkIjogc3J2X2lkLAog ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJkYl9pZCI6IGRiX2lkLAogICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJkYl9uYW1lIjogdGVz dF9kYl9uYW1lfSkKIAogCiBkZWYgZGVsZXRlX3Rlc3Rfc2VydmVyKHRlc3Rl cik6Ci0gICAgdGVzdF9zZXJ2ZXJfZGljdCA9IHJlZ3Jlc3Npb24udGVzdF9z ZXJ2ZXJfZGljdAorICAgIHRlc3Rfc2VydmVyX2RpY3QgPSByZWdyZXNzaW9u LnBhcmVudF9ub2RlX2RpY3QKICAgICB0ZXN0X3NlcnZlcnMgPSB0ZXN0X3Nl cnZlcl9kaWN0WyJzZXJ2ZXIiXQogICAgIHRlc3RfZGF0YWJhc2VzID0gdGVz dF9zZXJ2ZXJfZGljdFsiZGF0YWJhc2UiXQotICAgIHRlc3RfdGFibGVfc3Bh Y2VzID0gdGVzdF9zZXJ2ZXJfZGljdFsidGFibGVzcGFjZSJdCiAgICAgdHJ5 OgogICAgICAgICBmb3IgdGVzdF9zZXJ2ZXIgaW4gdGVzdF9zZXJ2ZXJzOgog ICAgICAgICAgICAgc3J2X2lkID0gdGVzdF9zZXJ2ZXJbInNlcnZlcl9pZCJd CkBAIC0yNjgsOCArMjY0LDggQEAgZGVmIGRlbGV0ZV90ZXN0X3NlcnZlcih0 ZXN0ZXIpOgogICAgICAgICBwcmludChleGNlcHRpb24sIGZpbGU9c3lzLnN0 ZGVycikKIAogICAgICMgQ2xlYXIgdGVzdF9zZXJ2ZXJfZGljdAotICAgIGZv ciBpdGVtIGluIHJlZ3Jlc3Npb24udGVzdF9zZXJ2ZXJfZGljdDoKLSAgICAg ICAgZGVsIHJlZ3Jlc3Npb24udGVzdF9zZXJ2ZXJfZGljdFtpdGVtXVs6XQor ICAgIGZvciBpdGVtIGluIHJlZ3Jlc3Npb24ucGFyZW50X25vZGVfZGljdDoK KyAgICAgICAgZGVsIHJlZ3Jlc3Npb24ucGFyZW50X25vZGVfZGljdFtpdGVt XVs6XQogCiAKIGRlZiByZW1vdmVfZGJfZmlsZSgpOgpAQCAtMjgxLDYgKzI3 Nyw3IEBAIGRlZiByZW1vdmVfZGJfZmlsZSgpOgogZGVmIF9kcm9wX29iamVj dHModGVzdGVyKToKICAgICAiIiJUaGlzIGZ1bmN0aW9uIHVzZSB0byBjbGVh bnVwIHRoZSBjcmVhdGVkIHRoZSBvYmplY3RzKHNlcnZlcnMsIGRhdGFiYXNl cywKICAgICAgc2NoZW1hcyBldGMpIGR1cmluZyB0aGUgdGVzdCBzdWl0ZSBy dW4iIiIKKwogICAgIHRyeToKICAgICAgICAgY29ubiA9IHNxbGl0ZTMuY29u bmVjdChjb25maWcuU1FMSVRFX1BBVEgpCiAgICAgICAgIGN1ciA9IGNvbm4u Y3Vyc29yKCkKQEAgLTMxOSw5ICszMTYsNyBAQCBkZWYgX2Ryb3Bfb2JqZWN0 cyh0ZXN0ZXIpOgogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2ZXJfaW5mb1sxXSwKICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc2VydmVyX2luZm9bMl0pCiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyBEbyBub3QgZHJvcCB0aGUgZGVmYXVsdCBkYXRhYmFz ZXMKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBkYlswXSBub3Qg aW4gWyJwb3N0Z3JlcyIsICJ0ZW1wbGF0ZTEiLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgInRlbXBsYXRlMCJdOgot ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcm9wX2RhdGFiYXNl KGNvbm5lY3Rpb24sIGRiWzBdKQorICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRyb3BfZGF0YWJhc2UoY29ubmVjdGlvbiwgZGJbMF0pCiAKICAgICAg ICAgICAgICAgICAgICAgIyBEZWxldGUgdGFibGVzcGFjZQogICAgICAgICAg ICAgICAgICAgICBjb25uZWN0aW9uID0gZ2V0X2RiX2Nvbm5lY3Rpb24oc2Vy dmVyX2luZm9bM10sCkBAIC0zNzMsNyArMzY4LDcgQEAgZGVmIF9kcm9wX29i amVjdHModGVzdGVyKToKICAgICAgICAgICAgICAgICAgICAgZGVsZXRlX3Nl cnZlcih0ZXN0ZXIsIHNlcnZlcl9pZCkKICAgICAgICAgICAgICAgICBleGNl cHQgRXhjZXB0aW9uIGFzIGV4Y2VwdGlvbjoKICAgICAgICAgICAgICAgICAg ICAgZXhjZXB0aW9uID0gIkV4Y2VwdGlvbiB3aGlsZSBkZWxldGluZyBzZXJ2 ZXI6ICVzOiIgXAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAi IGxpbmU6JXMgJXMiICVcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICIgbGluZTolcyAlcyIgJSBcCiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChmaWxlX25hbWUsIHN5cy5leGNfdHJhY2ViYWNrLnRiX2xp bmVubywKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGV4Y2Vw dGlvbikKICAgICAgICAgICAgICAgICAgICAgcHJpbnQoZXhjZXB0aW9uLCBm aWxlPXN5cy5zdGRlcnIpCg== --94eb2c07db8c90b4b0053d8c9513 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 --94eb2c07db8c90b4b0053d8c9513--