Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hn09c-0007eM-3M for pgadmin-hackers@arkaria.postgresql.org; Mon, 15 Jul 2019 12:32:28 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1hn09a-0005Xs-At for pgadmin-hackers@arkaria.postgresql.org; Mon, 15 Jul 2019 12:32:26 +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_SHA1:256) (Exim 4.89) (envelope-from ) id 1hn09a-0005XR-2M for pgadmin-hackers@lists.postgresql.org; Mon, 15 Jul 2019 12:32:26 +0000 Received: from mail-qk1-x730.google.com ([2607:f8b0:4864:20::730]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1hn09T-0004AL-4T for pgadmin-hackers@postgresql.org; Mon, 15 Jul 2019 12:32:25 +0000 Received: by mail-qk1-x730.google.com with SMTP id v22so11394460qkj.8 for ; Mon, 15 Jul 2019 05:32: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; bh=1Iuc3Lni5pyLZ2i6uJtRMPoNdkLFWCwIGeRF3kLYi9E=; b=tgJEnFLiuKUfxcPs4AmnEKiEMbBpr4TrECc3p29yYA7jC7Tkl692qoq0SMHKz8XXOM ojooBPk2hL3Vr831yQCLVCXmpkRGIPmLdqku9OwQIwDP2UYk1Pdq4I3BAMr9Kf4OkX2U p5mseGcIqsGqgUNPlUrlNDAtHqkfMsuf2lybHBBqbBWmYf89SW/IScxPbey58CZN9voJ pqExbK4I3Pv9podudMMpPGx9EV9qJ5xm1LGM5WfP2rsOiSLjVaOdlJy3/2wyM7qy0EBu YBLSIRy4mUMwEUVig+T1RcLEtB9pmAWo4DsEg2FZCIQOvsABhlOe+IPES18WAeCKq8df gmeQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=1Iuc3Lni5pyLZ2i6uJtRMPoNdkLFWCwIGeRF3kLYi9E=; b=NhQRDhOXUrBLZb+xd+HytdnDtn9tKiMtVTE9JzF3Iw07tkB2Xju9vGDPRRLuV2vZ3v nZpEQSOBwoKNHtJSKuGXgJP3PcLczf4V4szgs83MlRNAcNtvV0YA1rU6TYVNmp0ZbD91 kTJoK+dxjdYHNK6agYfUc4vnWCCINoDVNdX69xy29H0DNoX1rH/czvdJMRYVZkg/SeAS lWnOS3LoceamhNF3VdZ30d+ahiEKckQU08x4bQj3C4fnQLJPw8jdId+qYUU0hFNGtLdS z2iCsZiY4iV1RiNwjh5/fQn49/zctQqueyueLUn+AcFqm0LCVd9lPLGuSUqeWDn5lu8l DFlA== X-Gm-Message-State: APjAAAUmMNYwLCpLlJfo5dX/6j5TmRo1jMI8/CbgkY3I4wrZJ5ZzRkhL GNWHnG99olBDAqVkYqWxUCa3RzuEZIMzSGMndS/dhzii7ko= X-Google-Smtp-Source: APXvYqyIeNPVpwg/dRAhkk7BSTh78djIq5T7MXIk5Arg0bGkCIIq1Gad9L6jQGZq+PfFdVVsLw2c5OQA/TsuJh6NigI= X-Received: by 2002:ae9:e30d:: with SMTP id v13mr16178624qkf.148.1563193934648; Mon, 15 Jul 2019 05:32:14 -0700 (PDT) MIME-Version: 1.0 From: Akshay Joshi Date: Mon, 15 Jul 2019 18:02:03 +0530 Message-ID: Subject: [pgAdmin4][Patch]: RM 4428 and 4448 To: pgadmin-hackers Content-Type: multipart/mixed; boundary="00000000000030dc9d058db773b5" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --00000000000030dc9d058db773b5 Content-Type: multipart/alternative; boundary="00000000000030dc9a058db773b3" --00000000000030dc9a058db773b3 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached is the patch to fix following issues in pgagent module: - RM 4428 "malformed array literal error when updating pgagent job". - RM 4448 "Error when updating connection string in pgagent Jobs." - When user create a schedule using Create->Schedule dialog browser tree is not showing newly created node. - Properties tab showing same properties for all the created schedule. - Added validation in "pga_jobstep.js", throws error on browser when we modify step from the pgagent dialog and select the same node. Added regression test cases to add schedule and step from the pgagent job itself. Please review it. -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* --00000000000030dc9a058db773b3 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached is the patch to fi= x following issues in pgagent module:
  • RM 4428 "malfo= rmed array literal error when updating pgagent job".
  • RM 4448 &= quot;Error when updating connection string in pgagent Jobs."
  • W= hen user create a schedule using Create->Schedule dialog browser tree is= not showing newly created node.
  • Properties tab showing same proper= ties for all the created schedule.
  • Added validation in "pga_jo= bstep.js", throws error on browser when we modify step from the pgagen= t dialog and select the same node.

Added= regression test cases to add schedule and step from the pgagent job itself= .
Please review it.

--
Than= ks & Regards
Akshay Joshi
Sr. Software Architect
EnterpriseDB Software India Pri= vate Limited
Mobile: +91 976-788-8246
--00000000000030dc9a058db773b3-- --00000000000030dc9d058db773b5 Content-Type: application/octet-stream; name="RM_4428_4448.patch" Content-Disposition: attachment; filename="RM_4428_4448.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jy4ctyoj0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Bn YWdlbnQvX19pbml0X18ucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9wZ2FnZW50L19faW5pdF9fLnB5CmluZGV4IDE5MzA5YzlmLi44Y2RhYjhmOCAxMDA2NDQK LS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC9f X2luaXRfXy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9wZ2FnZW50L19faW5pdF9fLnB5CkBAIC0yMyw2ICsyMyw4IEBAIGZyb20gcGdhZG1pbi51dGls cy5hamF4IGltcG9ydCBtYWtlX2pzb25fcmVzcG9uc2UsIGludGVybmFsX3NlcnZlcl9lcnJvciwg XAogICAgIG1ha2VfcmVzcG9uc2UgYXMgYWpheF9yZXNwb25zZSwgZ29uZSwgc3VjY2Vzc19yZXR1 cm4KIGZyb20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0IGdldF9kcml2ZXIKIGZyb20gcGdh ZG1pbi51dGlscy5wcmVmZXJlbmNlcyBpbXBvcnQgUHJlZmVyZW5jZXMKK2Zyb20gcGdhZG1pbi5i cm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycy5wZ2FnZW50LnV0aWxzIFwKKyAgICBpbXBvcnQg Zm9ybWF0X3NjaGVkdWxlX2RhdGEKIAogCiBjbGFzcyBKb2JNb2R1bGUoQ29sbGVjdGlvbk5vZGVN b2R1bGUpOgpAQCAtMzMzLDYgKzMzNSw5IEBAIFNFTEVDVCBFWElTVFMoCiAgICAgICAgICAgICBy ZXF1ZXN0LmRhdGEuZGVjb2RlKCd1dGYtOCcpCiAgICAgICAgICkKIAorICAgICAgICAjIEZvcm1h dCB0aGUgc2NoZWR1bGUgYW5kIHN0ZXAgZGF0YQorICAgICAgICBzZWxmLmZvcm1hdF9zY2hlZHVs ZV9zdGVwX2RhdGEoZGF0YSkKKwogICAgICAgICBzdGF0dXMsIHJlcyA9IHNlbGYuY29ubi5leGVj dXRlX3ZvaWQoCiAgICAgICAgICAgICByZW5kZXJfdGVtcGxhdGUoCiAgICAgICAgICAgICAgICAg Ii8iLmpvaW4oW3NlbGYudGVtcGxhdGVfcGF0aCwgJ3VwZGF0ZS5zcWwnXSksCkBAIC00MDQsNiAr NDA5LDkgQEAgU0VMRUNUIEVYSVNUUygKICAgICAgICAgICAgIGV4Y2VwdCBWYWx1ZUVycm9yOgog ICAgICAgICAgICAgICAgIGRhdGFba10gPSB2CiAKKyAgICAgICAgIyBGb3JtYXQgdGhlIHNjaGVk dWxlIGFuZCBzdGVwIGRhdGEKKyAgICAgICAgc2VsZi5mb3JtYXRfc2NoZWR1bGVfc3RlcF9kYXRh KGRhdGEpCisKICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKICAgICAgICAgICAg IGRhdGE9cmVuZGVyX3RlbXBsYXRlKAogICAgICAgICAgICAgICAgICIvIi5qb2luKFsKQEAgLTU0 Niw1ICs1NTQsNDkgQEAgU0VMRUNUIEVYSVNUUygKICAgICAgICAgICAgIHN0YXR1cz0yMDAKICAg ICAgICAgKQogCisgICAgZGVmIGZvcm1hdF9zY2hlZHVsZV9zdGVwX2RhdGEoc2VsZiwgZGF0YSk6 CisgICAgICAgICIiIgorICAgICAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZm9ybWF0IHRo ZSBzY2hlZHVsZSBhbmQgc3RlcCBkYXRhLgorICAgICAgICA6cGFyYW0gZGF0YToKKyAgICAgICAg OnJldHVybjoKKyAgICAgICAgIiIiCisgICAgICAgICMgRm9ybWF0IHRoZSBzY2hlZHVsZSBkYXRh LiBDb252ZXJ0IHRoZSBib29sZWFuIGFycmF5CisgICAgICAgIGlmICdqc2NoZWR1bGVzJyBpbiBk YXRhOgorICAgICAgICAgICAgaWYgJ2FkZGVkJyBpbiBkYXRhWydqc2NoZWR1bGVzJ106CisgICAg ICAgICAgICAgICAgZm9yIGFkZGVkX3NjaGVkdWxlIGluIGRhdGFbJ2pzY2hlZHVsZXMnXVsnYWRk ZWQnXToKKyAgICAgICAgICAgICAgICAgICAgZm9ybWF0X3NjaGVkdWxlX2RhdGEoYWRkZWRfc2No ZWR1bGUpCisgICAgICAgICAgICBpZiAnY2hhbmdlZCcgaW4gZGF0YVsnanNjaGVkdWxlcyddOgor ICAgICAgICAgICAgICAgIGZvciBjaGFuZ2VkX3NjaGVkdWxlIGluIGRhdGFbJ2pzY2hlZHVsZXMn XVsnY2hhbmdlZCddOgorICAgICAgICAgICAgICAgICAgICBmb3JtYXRfc2NoZWR1bGVfZGF0YShj aGFuZ2VkX3NjaGVkdWxlKQorCisgICAgICAgIGhhc19jb25uZWN0aW9uX3N0ciA9IHNlbGYubWFu YWdlci5kYl9pbmZvWydwZ0FnZW50J11bJ2hhc19jb25uc3RyJ10KKyAgICAgICAgaWYgJ2pzdGVw cycgaW4gZGF0YSBhbmQgaGFzX2Nvbm5lY3Rpb25fc3RyOgorICAgICAgICAgICAgaWYgJ2NoYW5n ZWQnIGluIGRhdGFbJ2pzdGVwcyddOgorICAgICAgICAgICAgICAgIGZvciBjaGFuZ2VkX3N0ZXAg aW4gZGF0YVsnanN0ZXBzJ11bJ2NoYW5nZWQnXToKKworICAgICAgICAgICAgICAgICAgICBpZiAn anN0Y29ubnR5cGUnIG5vdCBpbiBjaGFuZ2VkX3N0ZXAgYW5kICgKKyAgICAgICAgICAgICAgICAg ICAgICAgICdqc3RkYm5hbWUnIGluIGNoYW5nZWRfc3RlcCBvcgorICAgICAgICAgICAgICAgICAg ICAgICAgICAgICdqc3Rjb25uc3RyJyBpbiBjaGFuZ2VkX3N0ZXApOgorICAgICAgICAgICAgICAg ICAgICAgICAgc3RhdHVzLCByc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdCgKKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICByZW5kZXJfdGVtcGxhdGUoCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICdzdGVwcy5zcWwnXSks CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGppZD1kYXRhWydqb2JpZCddLAorICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBqc3RpZD1jaGFuZ2VkX3N0ZXBbJ2pzdGlkJ10s CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbm49c2VsZi5jb25uLAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBoYXNfY29ubnN0cj1oYXNfY29ubmVjdGlvbl9zdHIK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICApCisgICAgICAgICAgICAgICAgICAgICAgICAp CisgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3Qgc3RhdHVzOgorICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cnNldCkK KworICAgICAgICAgICAgICAgICAgICAgICAgcm93ID0gcnNldFsncm93cyddWzBdCisgICAgICAg ICAgICAgICAgICAgICAgICBjaGFuZ2VkX3N0ZXBbJ2pzdGNvbm50eXBlJ10gPSByb3dbJ2pzdGNv bm50eXBlJ10KKyAgICAgICAgICAgICAgICAgICAgICAgIGlmIHJvd1snanN0Y29ubnR5cGUnXToK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiBub3QgKCdqc3RkYm5hbWUnIGluIGNoYW5n ZWRfc3RlcCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWRfc3RlcFsn anN0ZGJuYW1lJ10gPSByb3dbJ2pzdGRibmFtZSddCisgICAgICAgICAgICAgICAgICAgICAgICBl bHNlOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCAoJ2pzdGNvbm5zdHInIGlu IGNoYW5nZWRfc3RlcCk6CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWRf c3RlcFsnanN0Y29ubnN0ciddID0gcm93Wydqc3Rjb25uc3RyJ10KKwogCiBKb2JWaWV3LnJlZ2lz dGVyX25vZGVfdmlldyhibHVlcHJpbnQpCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3NjaGVkdWxlcy9fX2luaXRfXy5weSBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3BnYWdlbnQvc2NoZWR1bGVz L19faW5pdF9fLnB5CmluZGV4IGMxOTAzMTg4Li43YjZhNWE3MSAxMDA2NDQKLS0tIGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC9zY2hlZHVsZXMvX19p bml0X18ucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv cGdhZ2VudC9zY2hlZHVsZXMvX19pbml0X18ucHkKQEAgLTE5LDYgKzE5LDggQEAgZnJvbSBwZ2Fk bWluLmJyb3dzZXIudXRpbHMgaW1wb3J0IFBHQ2hpbGROb2RlVmlldwogZnJvbSBwZ2FkbWluLnV0 aWxzLmFqYXggaW1wb3J0IG1ha2VfanNvbl9yZXNwb25zZSwgZ29uZSwgXAogICAgIG1ha2VfcmVz cG9uc2UgYXMgYWpheF9yZXNwb25zZSwgaW50ZXJuYWxfc2VydmVyX2Vycm9yCiBmcm9tIHBnYWRt aW4udXRpbHMuZHJpdmVyIGltcG9ydCBnZXRfZHJpdmVyCitmcm9tIHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMucGdhZ2VudC51dGlscyBcCisgICAgaW1wb3J0IGZvcm1hdF9z Y2hlZHVsZV9kYXRhCiAKIGZyb20gY29uZmlnIGltcG9ydCBQR19ERUZBVUxUX0RSSVZFUgogCkBA IC0yOTQsMjAgKzI5Niw2IEBAIGNsYXNzIEpvYlNjaGVkdWxlVmlldyhQR0NoaWxkTm9kZVZpZXcp OgogICAgICAgICAgICAgc3RhdHVzPTIwMAogICAgICAgICApCiAKLSAgICBAc3RhdGljbWV0aG9k Ci0gICAgZGVmIGZvcm1hdF9saXN0X2RhdGEodmFsdWUpOgotICAgICAgICAiIiIKLSAgICAgICAg Q29udmVydHMgdG8gcHJvcGVyIGFycmF5IGRhdGEgZm9yIHNxbAotICAgICAgICBBcmdzOgotICAg ICAgICAgICAgdmFsdWU6IGRhdGEgdG8gYmUgY29udmVydGVkCi0KLSAgICAgICAgUmV0dXJuczoK LSAgICAgICAgICAgIENvbnZlcnRlZCBkYXRhCi0gICAgICAgICIiIgotICAgICAgICBpZiBub3Qg aXNpbnN0YW5jZSh2YWx1ZSwgbGlzdCk6Ci0gICAgICAgICAgICByZXR1cm4gdmFsdWUucmVwbGFj ZSgiWyIsICJ7IikucmVwbGFjZSgiXSIsICJ9IikKLSAgICAgICAgcmV0dXJuIHZhbHVlCi0KICAg ICBAY2hlY2tfcHJlY29uZGl0aW9uCiAgICAgZGVmIGNyZWF0ZShzZWxmLCBnaWQsIHNpZCwgamlk KToKICAgICAgICAgIiIiCkBAIC0zMzAsMjcgKzMxOCwxMyBAQCBjbGFzcyBKb2JTY2hlZHVsZVZp ZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgZWxzZToKICAgICAgICAgICAgIGRhdGEgPSBq c29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKICAgICAgICAgICAgICMgY29udmVydCBw eXRob24gbGlzdCBsaXRlcmFsIHRvIHBvc3RncmVzIGFycmF5IGxpdGVyYWwuCi0gICAgICAgICAg ICBkYXRhWydqc2NtaW51dGVzJ10gPSBKb2JTY2hlZHVsZVZpZXcuZm9ybWF0X2xpc3RfZGF0YSgK LSAgICAgICAgICAgICAgICBkYXRhWydqc2NtaW51dGVzJ10KLSAgICAgICAgICAgICkKLSAgICAg ICAgICAgIGRhdGFbJ2pzY2hvdXJzJ10gPSBKb2JTY2hlZHVsZVZpZXcuZm9ybWF0X2xpc3RfZGF0 YSgKLSAgICAgICAgICAgICAgICBkYXRhWydqc2Nob3VycyddCi0gICAgICAgICAgICApCi0gICAg ICAgICAgICBkYXRhWydqc2N3ZWVrZGF5cyddID0gSm9iU2NoZWR1bGVWaWV3LmZvcm1hdF9saXN0 X2RhdGEoCi0gICAgICAgICAgICAgICAgZGF0YVsnanNjd2Vla2RheXMnXQotICAgICAgICAgICAg KQotICAgICAgICAgICAgZGF0YVsnanNjbW9udGhkYXlzJ10gPSBKb2JTY2hlZHVsZVZpZXcuZm9y bWF0X2xpc3RfZGF0YSgKLSAgICAgICAgICAgICAgICBkYXRhWydqc2Ntb250aGRheXMnXQotICAg ICAgICAgICAgKQotICAgICAgICAgICAgZGF0YVsnanNjbW9udGhzJ10gPSBKb2JTY2hlZHVsZVZp ZXcuZm9ybWF0X2xpc3RfZGF0YSgKLSAgICAgICAgICAgICAgICBkYXRhWydqc2Ntb250aHMnXQot ICAgICAgICAgICAgKQorICAgICAgICAgICAgZm9ybWF0X3NjaGVkdWxlX2RhdGEoZGF0YSkKIAog ICAgICAgICBzcWwgPSByZW5kZXJfdGVtcGxhdGUoCiAgICAgICAgICAgICAiLyIuam9pbihbc2Vs Zi50ZW1wbGF0ZV9wYXRoLCAnY3JlYXRlLnNxbCddKSwKICAgICAgICAgICAgIGppZD1qaWQsCiAg ICAgICAgICAgICBkYXRhPWRhdGEsCi0gICAgICAgICAgICBmZXRjaF9pZD1GYWxzZQorICAgICAg ICAgICAgZmV0Y2hfaWQ9VHJ1ZQogICAgICAgICApCiAKICAgICAgICAgc3RhdHVzLCByZXMgPSBz ZWxmLmNvbm4uZXhlY3V0ZV92b2lkKCdCRUdJTicpCkBAIC0zNTgsNyArMzMyLDYgQEAgY2xhc3Mg Sm9iU2NoZWR1bGVWaWV3KFBHQ2hpbGROb2RlVmlldyk6CiAgICAgICAgICAgICByZXR1cm4gaW50 ZXJuYWxfc2VydmVyX2Vycm9yKGVycm9ybXNnPXJlcykKIAogICAgICAgICBzdGF0dXMsIHJlcyA9 IHNlbGYuY29ubi5leGVjdXRlX3NjYWxhcihzcWwpCi0KICAgICAgICAgaWYgbm90IHN0YXR1czoK ICAgICAgICAgICAgIGlmIHNlbGYuY29ubi5jb25uZWN0ZWQoKToKICAgICAgICAgICAgICAgICBz ZWxmLmNvbm4uZXhlY3V0ZV92b2lkKCdFTkQnKQpAQCAtNDE0LDI2ICszODcsNyBAQCBjbGFzcyBK b2JTY2hlZHVsZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAgICAgICAgZWxzZToKICAgICAgICAg ICAgIGRhdGEgPSBqc29uLmxvYWRzKHJlcXVlc3QuZGF0YS5kZWNvZGUoKSkKICAgICAgICAgICAg ICMgY29udmVydCBweXRob24gbGlzdCBsaXRlcmFsIHRvIHBvc3RncmVzIGFycmF5IGxpdGVyYWwu Ci0gICAgICAgICAgICBpZiAnanNjbWludXRlcycgaW4gZGF0YSBhbmQgZGF0YVsnanNjbWludXRl cyddIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIGRhdGFbJ2pzY21pbnV0ZXMnXSA9IEpv YlNjaGVkdWxlVmlldy5mb3JtYXRfbGlzdF9kYXRhKAotICAgICAgICAgICAgICAgICAgICBkYXRh Wydqc2NtaW51dGVzJ10KLSAgICAgICAgICAgICAgICApCi0gICAgICAgICAgICBpZiAnanNjaG91 cnMnIGluIGRhdGEgYW5kIGRhdGFbJ2pzY2hvdXJzJ10gaXMgbm90IE5vbmU6Ci0gICAgICAgICAg ICAgICAgZGF0YVsnanNjaG91cnMnXSA9IEpvYlNjaGVkdWxlVmlldy5mb3JtYXRfbGlzdF9kYXRh KAotICAgICAgICAgICAgICAgICAgICBkYXRhWydqc2Nob3VycyddCi0gICAgICAgICAgICAgICAg KQotICAgICAgICAgICAgaWYgJ2pzY3dlZWtkYXlzJyBpbiBkYXRhIGFuZCBkYXRhWydqc2N3ZWVr ZGF5cyddIGlzIG5vdCBOb25lOgotICAgICAgICAgICAgICAgIGRhdGFbJ2pzY3dlZWtkYXlzJ10g PSBKb2JTY2hlZHVsZVZpZXcuZm9ybWF0X2xpc3RfZGF0YSgKLSAgICAgICAgICAgICAgICAgICAg ZGF0YVsnanNjd2Vla2RheXMnXQotICAgICAgICAgICAgICAgICkKLSAgICAgICAgICAgIGlmICdq c2Ntb250aGRheXMnIGluIGRhdGEgYW5kIGRhdGFbJ2pzY21vbnRoZGF5cyddIGlzIG5vdCBOb25l OgotICAgICAgICAgICAgICAgIGRhdGFbJ2pzY21vbnRoZGF5cyddID0gSm9iU2NoZWR1bGVWaWV3 LmZvcm1hdF9saXN0X2RhdGEoCi0gICAgICAgICAgICAgICAgICAgIGRhdGFbJ2pzY21vbnRoZGF5 cyddCi0gICAgICAgICAgICAgICAgKQotICAgICAgICAgICAgaWYgJ2pzY21vbnRocycgaW4gZGF0 YSBhbmQgZGF0YVsnanNjbW9udGhzJ10gaXMgbm90IE5vbmU6Ci0gICAgICAgICAgICAgICAgZGF0 YVsnanNjbW9udGhzJ10gPSBKb2JTY2hlZHVsZVZpZXcuZm9ybWF0X2xpc3RfZGF0YSgKLSAgICAg ICAgICAgICAgICAgICAgZGF0YVsnanNjbW9udGhzJ10KLSAgICAgICAgICAgICAgICApCisgICAg ICAgICAgICBmb3JtYXRfc2NoZWR1bGVfZGF0YShkYXRhKQogCiAgICAgICAgIHNxbCA9IHJlbmRl cl90ZW1wbGF0ZSgKICAgICAgICAgICAgICIvIi5qb2luKFtzZWxmLnRlbXBsYXRlX3BhdGgsICd1 cGRhdGUuc3FsJ10pLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvcGdhZ2VudC9zY2hlZHVsZXMvc3RhdGljL2pzL3BnYV9zY2hlZHVsZS5qcyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3BnYWdlbnQvc2NoZWR1 bGVzL3N0YXRpYy9qcy9wZ2Ffc2NoZWR1bGUuanMKaW5kZXggYTU0ODBhYzEuLjhmNmNkMjg1IDEw MDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9wZ2Fn ZW50L3NjaGVkdWxlcy9zdGF0aWMvanMvcGdhX3NjaGVkdWxlLmpzCisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3BnYWdlbnQvc2NoZWR1bGVzL3N0YXRpYy9q cy9wZ2Ffc2NoZWR1bGUuanMKQEAgLTM4OSw5ICszODksOCBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9k ZS5wZ2Ffc2NoZWR1bGUnLCBbCiAgICAgICAgICAgICAgICAgJ3NlbGVjdDIvc2VsZWN0QWxsQWRh cHRlcicKICAgICAgICAgICAgICAgKSwKICAgICAgICAgICAgIH0sCi0gICAgICAgICAgICBzZWxl Y3Rvcjogd2Vla2RheXMsCiAgICAgICAgICAgICBmb3JtYXR0ZXI6IG5ldyBCb29sZWFuQXJyYXlG b3JtYXR0ZXIod2Vla2RheXMsIHRydWUpLAotICAgICAgICAgICAgb3B0aW9uczogQm9vbGVhbkFy cmF5T3B0aW9ucywKKyAgICAgICAgICAgIHNlbGVjdG9yOiB3ZWVrZGF5cywgb3B0aW9uczogQm9v bGVhbkFycmF5T3B0aW9ucywKICAgICAgICAgICB9LHsKICAgICAgICAgICAgIGlkOiAnanNjbW9u dGhkYXlzJywgbGFiZWw6IGdldHRleHQoJ01vbnRoIERheXMnKSwgY2VsbDogJ3NlbGVjdDInLAog ICAgICAgICAgICAgZ3JvdXA6IGdldHRleHQoJ0RheXMnKSwgY29udHJvbDogJ3NlbGVjdDInLCB0 eXBlOiAnYXJyYXknLApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvcGdhZ2VudC9zdGVwcy9zdGF0aWMvanMvcGdhX2pvYnN0ZXAuanMgYi93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3N0ZXBzL3N0YXRp Yy9qcy9wZ2Ffam9ic3RlcC5qcwppbmRleCBlMGVhZDk3YS4uZmIwNjI0YWYgMTAwNjQ0Ci0tLSBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3BnYWdlbnQvc3RlcHMv c3RhdGljL2pzL3BnYV9qb2JzdGVwLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL3BnYWdlbnQvc3RlcHMvc3RhdGljL2pzL3BnYV9qb2JzdGVwLmpzCkBA IC0xMjMsMTAgKzEyMywxMyBAQCBkZWZpbmUoJ3BnYWRtaW4ubm9kZS5wZ2Ffam9ic3RlcCcsIFsK ICAgICAgICAgICAgIHZhciBhcmdzID0gYXJndW1lbnRzICYmIGFyZ3VtZW50cy5sZW5ndGggPiAx ICYmIGFyZ3VtZW50c1sxXTsKIAogICAgICAgICAgICAgaWYgKGFyZ3MpIHsKLSAgICAgICAgICAg ICAgdGhpcy5zZXQoCi0gICAgICAgICAgICAgICAgJ2pzdGRibmFtZScsCi0gICAgICAgICAgICAg ICAgKGFyZ3NbJ25vZGVfaW5mbyddIHx8IGFyZ3MuY29sbGVjdGlvbi50b3BbJ25vZGVfaW5mbydd KVsnc2VydmVyJ11bJ2RiJ10KLSAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgaWYgKCFf LmlzVW5kZWZpbmVkKGFyZ3NbJ25vZGVfaW5mbyddKSB8fAorICAgICAgICAgICAgICAgICAgIV8u aXNVbmRlZmluZWQoYXJncy5jb2xsZWN0aW9uLnRvcFsnbm9kZV9pbmZvJ10pKSB7CisgICAgICAg ICAgICAgICAgdGhpcy5zZXQoCisgICAgICAgICAgICAgICAgICAnanN0ZGJuYW1lJywKKyAgICAg ICAgICAgICAgICAgIChhcmdzWydub2RlX2luZm8nXSB8fCBhcmdzLmNvbGxlY3Rpb24udG9wWydu b2RlX2luZm8nXSlbJ3NlcnZlciddWydkYiddCisgICAgICAgICAgICAgICAgKTsKKyAgICAgICAg ICAgICAgfQogICAgICAgICAgICAgfQogICAgICAgICAgIH0KICAgICAgICAgfSwKZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3BnYWdlbnQvdGVt cGxhdGVzL3BnYV9qb2Ivc3FsL3ByZTMuNC91cGRhdGUuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC90ZW1wbGF0ZXMvcGdhX2pvYi9zcWwvcHJl My40L3VwZGF0ZS5zcWwKaW5kZXggNTg4ZDgxZWUuLjkxYzM3OTdkIDEwMDY0NAotLS0gYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3RlbXBsYXRlcy9w Z2Ffam9iL3NxbC9wcmUzLjQvdXBkYXRlLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3RlbXBsYXRlcy9wZ2Ffam9iL3NxbC9wcmUzLjQv dXBkYXRlLnNxbApAQCAtMTcsNCArMTcsMTQgQEAgV0hFUkUgam9iaWQgPSB7eyBqaWQgfX07CiAK IHslIGlmICdkZWxldGVkJyBpbiBkYXRhLmpzY2hlZHVsZXMgJX17JSBmb3Igc2NoZWR1bGUgaW4g ZGF0YS5qc2NoZWR1bGVzLmRlbGV0ZWQgJX17eyBTQ0hFRFVMRS5ERUxFVEUoamlkLCBzY2hlZHVs ZS5qc2NpZCkgfX17JSBlbmRmb3IgJX17JSBlbmRpZiAlfQogeyUgaWYgJ2NoYW5nZWQnIGluIGRh dGEuanNjaGVkdWxlcyAlfXslIGZvciBzY2hlZHVsZSBpbiBkYXRhLmpzY2hlZHVsZXMuY2hhbmdl ZCAlfXt7IFNDSEVEVUxFLlVQREFURShqaWQsIHNjaGVkdWxlLmpzY2lkLCBzY2hlZHVsZSkgfX17 JSBlbmRmb3IgJX17JSBlbmRpZiAlfQoteyUgaWYgJ2FkZGVkJyBpbiBkYXRhLmpzY2hlZHVsZXMg JX17JSBmb3Igc2NoZWR1bGUgaW4gZGF0YS5qc2NoZWR1bGVzLmFkZGVkICV9e3sgU0NIRURVTEUu SU5TRVJUKGppZCwgc2NoZWR1bGUpIH19eyUgZW5kZm9yICV9eyUgZW5kaWYgJX17JSBlbmRpZiAl fQoreyUgaWYgJ2FkZGVkJyBpbiBkYXRhLmpzY2hlZHVsZXMgJX0KKworRE8gJCQKK0RFQ0xBUkUK KyAgICBzY2lkIGludGVnZXI7CitCRUdJTgoreyUgZm9yIHNjaGVkdWxlIGluIGRhdGEuanNjaGVk dWxlcy5hZGRlZCAlfXt7IFNDSEVEVUxFLklOU0VSVChqaWQsIHNjaGVkdWxlKSB9fXslIGVuZGZv ciAlfQorRU5ECiskJDsKK3slIGVuZGlmICV9Cit7JSBlbmRpZiAlfQpkaWZmIC0tZ2l0IGEvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC90ZW1wbGF0ZXMv cGdhX3NjaGVkdWxlL3NxbC9wcmUzLjQvY3JlYXRlLnNxbCBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3BnYWdlbnQvdGVtcGxhdGVzL3BnYV9zY2hlZHVsZS9zcWwv cHJlMy40L2NyZWF0ZS5zcWwKaW5kZXggNTZjM2ZkYWIuLmE0ZGRiYzZmIDEwMDY0NAotLS0gYS93 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3RlbXBsYXRl cy9wZ2Ffc2NoZWR1bGUvc3FsL3ByZTMuNC9jcmVhdGUuc3FsCisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3BnYWdlbnQvdGVtcGxhdGVzL3BnYV9zY2hlZHVs ZS9zcWwvcHJlMy40L2NyZWF0ZS5zcWwKQEAgLTUsNCArNSw2IEBAIERFQ0xBUkUKIEJFR0lOCiB7 eyBTQ0hFRFVMRS5JTlNFUlQoamlkLCBkYXRhKSB9fQogRU5ECi0kJDsKKyQkO3slIGlmIGZldGNo X2lkICV9CisKK1NFTEVDVCBqc2NpZCBGUk9NIHBnYWdlbnQucGdhX3NjaGVkdWxlIFdIRVJFIHht aW46OnRleHQgPSAodHhpZF9jdXJyZW50KCkgJSAoMl4zMik6OmJpZ2ludCk6OnRleHQ7eyUgZW5k aWYgJX0KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2 ZXJzL3BnYWdlbnQvdGVtcGxhdGVzL3BnYV9zY2hlZHVsZS9zcWwvcHJlMy40L3Byb3BlcnRpZXMu c3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC90 ZW1wbGF0ZXMvcGdhX3NjaGVkdWxlL3NxbC9wcmUzLjQvcHJvcGVydGllcy5zcWwKaW5kZXggNmNi ZDllNDcuLjM3MDBkY2Q0IDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9wZ2FnZW50L3RlbXBsYXRlcy9wZ2Ffc2NoZWR1bGUvc3FsL3ByZTMuNC9w cm9wZXJ0aWVzLnNxbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9wZ2FnZW50L3RlbXBsYXRlcy9wZ2Ffc2NoZWR1bGUvc3FsL3ByZTMuNC9wcm9wZXJ0aWVz LnNxbApAQCAtMSwyICsxLDIgQEAKIHslIGltcG9ydCAnbWFjcm9zL3BnYV9zY2hlZHVsZS5tYWNy b3MnIGFzIFNDSEVEVUxFICV9Ci17eyBTQ0hFRFVMRS5QUk9QRVJUSUVTKGppZCwganN0aWQpIH19 Cit7eyBTQ0hFRFVMRS5QUk9QRVJUSUVTKGppZCwganNjaWQpIH19CmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3Rlc3RzL3Rlc3Rf cGdhZ2VudF9hZGQucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9wZ2FnZW50L3Rlc3RzL3Rlc3RfcGdhZ2VudF9hZGQucHkKaW5kZXggYjdkM2NkNGUuLjA4NDI0 OTgxIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9wZ2FnZW50L3Rlc3RzL3Rlc3RfcGdhZ2VudF9hZGQucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJv d3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC90ZXN0cy90ZXN0X3BnYWdlbnRfYWRk LnB5CkBAIC02NCw3ICs2NCw4IEBAIGNsYXNzIFBnQWdlbnRBZGRUZXN0Q2FzZShCYXNlVGVzdEdl bmVyYXRvcik6CiAgICAgICAgICAgICAgICAgJ2pzY21vbnRocyc6IFtGYWxzZV0gKiAxMiwKICAg ICAgICAgICAgICAgICAnanNjaG91cnMnOiBbRmFsc2VdICogMjQsCiAgICAgICAgICAgICAgICAg J2pzY21pbnV0ZXMnOiBbRmFsc2VdICogNjAsCi0gICAgICAgICAgICAgICAgJ2pzY2V4Y2VwdGlv bnMnOiBbXSwKKyAgICAgICAgICAgICAgICAnanNjZXhjZXB0aW9ucyc6IFt7J2pleGRhdGUnOiAn MjA1MC0wMS0wMScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdqZXh0aW1l JzogJzEyOjAwJ31dLAogICAgICAgICAgICAgfV0sCiAgICAgICAgIH0KIApkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC90ZXN0cy90 ZXN0X3BnYWdlbnRfcHV0LnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvcGdhZ2VudC90ZXN0cy90ZXN0X3BnYWdlbnRfcHV0LnB5CmluZGV4IDcyMWM3M2I3Li5h YzQ2YjZhMiAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3Nl cnZlcnMvcGdhZ2VudC90ZXN0cy90ZXN0X3BnYWdlbnRfcHV0LnB5CisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3BnYWdlbnQvdGVzdHMvdGVzdF9wZ2FnZW50 X3B1dC5weQpAQCAtMTYsNyArMTYsNzMgQEAgZnJvbSAuIGltcG9ydCB1dGlscyBhcyBwZ2FnZW50 X3V0aWxzCiBjbGFzcyBQZ0FnZW50UHV0VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0b3IpOgogICAg ICIiIlRoaXMgY2xhc3Mgd2lsbCB0ZXN0IHRoZSBwdXQgcGdBZ2VudCBqb2IgQVBJIiIiCiAgICAg c2NlbmFyaW9zID0gWwotICAgICAgICAoJ1B1dCBwZ0FnZW50IGpvYicsIGRpY3QodXJsPScvYnJv d3Nlci9wZ2Ffam9iL29iai8nKSkKKyAgICAgICAgKCdVcGRhdGUgcGdBZ2VudCBqb2IgZGVzY3Jp cHRpb24nLCBkaWN0KAorICAgICAgICAgICAgdXJsPScvYnJvd3Nlci9wZ2Ffam9iL29iai8nLAor ICAgICAgICAgICAgZGF0YT17CisgICAgICAgICAgICAgICAgImpvYmRlc2MiOiAiVGhpcyBpcyBh IHRlc3QgY29tbWVudCIsCisgICAgICAgICAgICB9KSksCisgICAgICAgICgnVXBkYXRlIHBnYWdl bnQgam9iIGFkZCBzY2hlZHVsZScsIGRpY3QoCisgICAgICAgICAgICB1cmw9Jy9icm93c2VyL3Bn YV9qb2Ivb2JqLycsCisgICAgICAgICAgICBkYXRhPXsnanNjaGVkdWxlcyc6IHsKKyAgICAgICAg ICAgICAgICAnYWRkZWQnOiBbeworICAgICAgICAgICAgICAgICAgICAnanNjam9iaWQnOiAnJywK KyAgICAgICAgICAgICAgICAgICAgJ2pzY2VuYWJsZWQnOiBUcnVlLAorICAgICAgICAgICAgICAg ICAgICAnanNjZGVzYyc6ICdUaGlzIGlzIGEgdGVzdCBjb21tZW50JywKKyAgICAgICAgICAgICAg ICAgICAgJ2pzY25hbWUnOiAndGVzdF9zYzEnLAorICAgICAgICAgICAgICAgICAgICAnanNjZXhj ZXB0aW9ucyc6IFt7J2pleGRhdGUnOiAnMjA1MC0wMS0wMScsCisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAnamV4dGltZSc6ICcxMjozMCd9XSwKKyAgICAgICAgICAgICAg ICAgICAgJ2pzY3N0YXJ0JzogJzIwNTAtMDEtMDEgMTI6MTQ6MjEgKzA1OjMwJywKKyAgICAgICAg ICAgICAgICAgICAgJ2pzY2VuZCc6ICcyMDUwLTAzLTAxIDEyOjE0OjIxICswNTozMCcsCisgICAg ICAgICAgICAgICAgICAgICdqc2NtaW51dGVzJzogW0ZhbHNlXSAqIDYwLAorICAgICAgICAgICAg ICAgICAgICAjIEJlbG93IGZvcm1hdCBpcyBhZGRlZCB0byB0ZXN0IHRoZSBtYWxmb3JtZWQgYXJy YXkKKyAgICAgICAgICAgICAgICAgICAgIyBsaXRlcmFsIGlzc3VlLgorICAgICAgICAgICAgICAg ICAgICAnanNjd2Vla2RheXMnOiAnW2ZhbHNlLCB0cnVlLCBmYWxzZSwgdHJ1ZSwgZmFsc2UsICcK KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2ZhbHNlLCBmYWxzZV0nLAorICAg ICAgICAgICAgICAgICAgICAnanNjbW9udGhkYXlzJzogW0ZhbHNlXSAqIDMyLAorICAgICAgICAg ICAgICAgICAgICAnanNjaG91cnMnOiBbVHJ1ZV0gKiAyNCwKKyAgICAgICAgICAgICAgICAgICAg IyBCZWxvdyBmb3JtYXQgaXMgYWRkZWQgdG8gdGVzdCB0aGUgbWFsZm9ybWVkIGFycmF5CisgICAg ICAgICAgICAgICAgICAgICMgbGl0ZXJhbCBpc3N1ZS4KKyAgICAgICAgICAgICAgICAgICAgJ2pz Y21vbnRocyc6ICdbdHJ1ZSwgZmFsc2UsIGZhbHNlLCB0cnVlLCBmYWxzZSwgZmFsc2UsJworICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3RydWUsIGZhbHNlLCBmYWxzZSwgdHJ1ZSwg ZmFsc2UsIGZhbHNlXScKKyAgICAgICAgICAgICAgICB9XQorICAgICAgICAgICAgfQorICAgICAg ICAgICAgfSkpLAorICAgICAgICAoJ1VwZGF0ZSBwZ2FnZW50IGpvYiBhZGQgc3RlcHMgd2l0aCBs b2NhbCBjb25uZWN0aW9uJywgZGljdCgKKyAgICAgICAgICAgIHVybD0nL2Jyb3dzZXIvcGdhX2pv Yi9vYmovJywKKyAgICAgICAgICAgIGRhdGE9eydqc3RlcHMnOiB7CisgICAgICAgICAgICAgICAg J2FkZGVkJzogW3sKKyAgICAgICAgICAgICAgICAgICAgJ2pzdGpvYmlkJzogJycsCisgICAgICAg ICAgICAgICAgICAgICdqc3RuYW1lJzogJ3Rlc3Rfc3QxJywKKyAgICAgICAgICAgICAgICAgICAg J2pzdGRlc2MnOiAnJywKKyAgICAgICAgICAgICAgICAgICAgJ2pzdGVuYWJsZWQnOiBUcnVlLAor ICAgICAgICAgICAgICAgICAgICAnanN0a2luZCc6IFRydWUsCisgICAgICAgICAgICAgICAgICAg ICdqc3Rjb25udHlwZSc6IFRydWUsCisgICAgICAgICAgICAgICAgICAgICdqc3Rjb2RlJzogJ1NF TEVDVCAxOycsCisgICAgICAgICAgICAgICAgICAgICdqc3Rjb25uc3RyJzogTm9uZSwKKyAgICAg ICAgICAgICAgICAgICAgJ2pzdGRibmFtZSc6ICdwb3N0Z3JlcycsCisgICAgICAgICAgICAgICAg ICAgICdqc3RvbmVycm9yJzogJ2YnLAorICAgICAgICAgICAgICAgICAgICAnanN0bmV4dHJ1bic6 ICcnLAorICAgICAgICAgICAgICAgIH1dCisgICAgICAgICAgICB9CisgICAgICAgICAgICB9KSks CisgICAgICAgICgnVXBkYXRlIHBnYWdlbnQgam9iIGFkZCBzdGVwcyB3aXRoIHJlbW90ZSBjb25u ZWN0aW9uJywgZGljdCgKKyAgICAgICAgICAgIHVybD0nL2Jyb3dzZXIvcGdhX2pvYi9vYmovJywK KyAgICAgICAgICAgIGRhdGE9eydqc3RlcHMnOiB7CisgICAgICAgICAgICAgICAgJ2FkZGVkJzog W3sKKyAgICAgICAgICAgICAgICAgICAgJ2pzdGpvYmlkJzogJycsCisgICAgICAgICAgICAgICAg ICAgICdqc3RuYW1lJzogJ3Rlc3Rfc3QxJywKKyAgICAgICAgICAgICAgICAgICAgJ2pzdGRlc2Mn OiAnJywKKyAgICAgICAgICAgICAgICAgICAgJ2pzdGVuYWJsZWQnOiBUcnVlLAorICAgICAgICAg ICAgICAgICAgICAnanN0a2luZCc6IFRydWUsCisgICAgICAgICAgICAgICAgICAgICdqc3Rjb25u dHlwZSc6IEZhbHNlLAorICAgICAgICAgICAgICAgICAgICAnanN0Y29kZSc6ICdTRUxFQ1QgMTsn LAorICAgICAgICAgICAgICAgICAgICAnanN0Y29ubnN0cic6ICdob3N0PWxvY2FsaG9zdCBwb3J0 PTU0MzIgZGJuYW1lPXBvc3RncmVzJywKKyAgICAgICAgICAgICAgICAgICAgJ2pzdGRibmFtZSc6 ICcnLAorICAgICAgICAgICAgICAgICAgICAnanN0b25lcnJvcic6ICdmJywKKyAgICAgICAgICAg ICAgICAgICAgJ2pzdG5leHRydW4nOiAnJywKKyAgICAgICAgICAgICAgICB9XQorICAgICAgICAg ICAgfQorICAgICAgICAgICAgfSkpLAogICAgIF0KIAogICAgIGRlZiBzZXRVcChzZWxmKToKQEAg LTMxLDE2ICs5NywxOSBAQCBjbGFzcyBQZ0FnZW50UHV0VGVzdENhc2UoQmFzZVRlc3RHZW5lcmF0 b3IpOgogCiAgICAgZGVmIHJ1blRlc3Qoc2VsZik6CiAgICAgICAgICIiIlRoaXMgZnVuY3Rpb24g d2lsbCBwdXQgcGdBZ2VudCBqb2IiIiIKLSAgICAgICAgZGF0YSA9IHsKLSAgICAgICAgICAgICJq b2JkZXNjIjogIlRoaXMgaXMgYSB0ZXN0IGNvbW1lbnQiLAotICAgICAgICB9CisKKyAgICAgICAg aWYgJ2pzY2hlZHVsZXMnIGluIHNlbGYuZGF0YSBhbmQgJ2FkZGVkJyBpbiBzZWxmLmRhdGFbJ2pz Y2hlZHVsZXMnXToKKyAgICAgICAgICAgIHNlbGYuZGF0YVsnanNjaGVkdWxlcyddWydhZGRlZCdd WzBdWydqc2Nqb2JpZCddID0gc2VsZi5qb2JfaWQKKworICAgICAgICBpZiAnanN0ZXBzJyBpbiBz ZWxmLmRhdGEgYW5kICdhZGRlZCcgaW4gc2VsZi5kYXRhWydqc3RlcHMnXToKKyAgICAgICAgICAg IHNlbGYuZGF0YVsnanN0ZXBzJ11bJ2FkZGVkJ11bMF1bJ2pzdGpvYmlkJ10gPSBzZWxmLmpvYl9p ZAogCiAgICAgICAgIHJlc3BvbnNlID0gc2VsZi50ZXN0ZXIucHV0KAogICAgICAgICAgICAgJ3sw fXsxfS97Mn0vezN9Jy5mb3JtYXQoCiAgICAgICAgICAgICAgICAgc2VsZi51cmwsIHN0cih1dGls cy5TRVJWRVJfR1JPVVApLCBzdHIoc2VsZi5zZXJ2ZXJfaWQpLAogICAgICAgICAgICAgICAgIHN0 cihzZWxmLmpvYl9pZCkKICAgICAgICAgICAgICksCi0gICAgICAgICAgICBkYXRhPWpzb24uZHVt cHMoZGF0YSksCisgICAgICAgICAgICBkYXRhPWpzb24uZHVtcHMoc2VsZi5kYXRhKSwKICAgICAg ICAgICAgIGZvbGxvd19yZWRpcmVjdHM9VHJ1ZSwKICAgICAgICAgICAgIGNvbnRlbnRfdHlwZT0n aHRtbC9qc29uJwogICAgICAgICApCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvcGdhZ2VudC91dGlscy5weQpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMC4uM2ZkY2Y3ZjkKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9wZ2FnZW50L3V0aWxzLnB5CkBAIC0w LDAgKzEsNDYgQEAKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVT UUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxOSwgVGhlIHBnQWRtaW4gRGV2 ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0 Z3JlU1FMIExpY2VuY2UKKyMKKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjCisKKyIiInBnYWdlbnQgaGVscGVy IHV0aWxpdGllcyIiIgorCisKK2RlZiBmb3JtYXRfYm9vbGVhbl9hcnJheSh2YWx1ZSk6CisgICAg IiIiCisgICAgQ29udmVydHMgdG8gcHJvcGVyIGFycmF5IGRhdGEgZm9yIHNxbAorICAgIEFyZ3M6 CisgICAgICAgIHZhbHVlOiBkYXRhIHRvIGJlIGNvbnZlcnRlZAorCisgICAgUmV0dXJuczoKKyAg ICAgICAgQ29udmVydGVkIGRhdGEKKyAgICAiIiIKKyAgICBpZiBub3QgaXNpbnN0YW5jZSh2YWx1 ZSwgbGlzdCk6CisgICAgICAgIHJldHVybiB2YWx1ZS5yZXBsYWNlKCJbIiwgInsiKS5yZXBsYWNl KCJdIiwgIn0iKQorICAgIHJldHVybiB2YWx1ZQorCisKK2RlZiBmb3JtYXRfc2NoZWR1bGVfZGF0 YShkYXRhKToKKyAgICAiIiIKKyAgICBUaGlzIGZ1bmN0aW9uIGlzIHVzZWQgdG8gZm9ybWF0IHRo ZSBzY2hlZHVsZSBkYXRhLiBJZiBkYXRhIGlzIG5vdCBhbgorICAgIGluc3RhbmNlIG9mIGxpc3Qg dGhlbiBmb3JtYXQKKyAgICA6cGFyYW0gZGF0YToKKyAgICA6cmV0dXJuOgorICAgICIiIgorCisg ICAgaWYgJ2pzY21pbnV0ZXMnIGluIGRhdGEgYW5kIGRhdGFbJ2pzY21pbnV0ZXMnXSBpcyBub3Qg Tm9uZToKKyAgICAgICAgZGF0YVsnanNjbWludXRlcyddID0gZm9ybWF0X2Jvb2xlYW5fYXJyYXko ZGF0YVsnanNjbWludXRlcyddKQorICAgIGlmICdqc2Nob3VycycgaW4gZGF0YSBhbmQgZGF0YVsn anNjaG91cnMnXSBpcyBub3QgTm9uZToKKyAgICAgICAgZGF0YVsnanNjaG91cnMnXSA9IGZvcm1h dF9ib29sZWFuX2FycmF5KGRhdGFbJ2pzY2hvdXJzJ10pCisgICAgaWYgJ2pzY3dlZWtkYXlzJyBp biBkYXRhIGFuZCBkYXRhWydqc2N3ZWVrZGF5cyddIGlzIG5vdCBOb25lOgorICAgICAgICBkYXRh Wydqc2N3ZWVrZGF5cyddID0gZm9ybWF0X2Jvb2xlYW5fYXJyYXkoZGF0YVsnanNjd2Vla2RheXMn XSkKKyAgICBpZiAnanNjbW9udGhkYXlzJyBpbiBkYXRhIGFuZCBkYXRhWydqc2Ntb250aGRheXMn XSBpcyBub3QgTm9uZToKKyAgICAgICAgZGF0YVsnanNjbW9udGhkYXlzJ10gPSBmb3JtYXRfYm9v bGVhbl9hcnJheShkYXRhWydqc2Ntb250aGRheXMnXSkKKyAgICBpZiAnanNjbW9udGhzJyBpbiBk YXRhIGFuZCBkYXRhWydqc2Ntb250aHMnXSBpcyBub3QgTm9uZToKKyAgICAgICAgZGF0YVsnanNj bW9udGhzJ10gPSBmb3JtYXRfYm9vbGVhbl9hcnJheShkYXRhWydqc2Ntb250aHMnXSkKKworICAg IHJldHVybiBkYXRhCg== --00000000000030dc9d058db773b5--