Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l2Vv0-0000tq-EU for pgadmin-hackers@arkaria.postgresql.org; Thu, 21 Jan 2021 09:06:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1l2Vuz-0001D0-B8 for pgadmin-hackers@arkaria.postgresql.org; Thu, 21 Jan 2021 09:06:17 +0000 Received: from makus.postgresql.org ([2001:4800:3e1:1::229]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1l2Vuy-0001Ct-Or for pgadmin-hackers@lists.postgresql.org; Thu, 21 Jan 2021 09:06:17 +0000 Received: from mail-qv1-xf31.google.com ([2607:f8b0:4864:20::f31]) by makus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1l2Vuv-0006LL-Ch for pgadmin-hackers@postgresql.org; Thu, 21 Jan 2021 09:06:15 +0000 Received: by mail-qv1-xf31.google.com with SMTP id l14so580725qvh.2 for ; Thu, 21 Jan 2021 01:06:12 -0800 (PST) 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=HYPCKtJxtEkhgpd29tOkUj0Itfq/wiRsTpBNEWaWZDQ=; b=C0Z8WIfZcid6hp6IuoHKwj0IUpks44sSOGaj8Hucm6OH2GKG28MTTLWggTEaQ2XWWq RYcc+a6xS6WIwPvyDVeYWQOV3KqpR7e/qwPM6GLgGkGOmvkFCQhrLp/9CEDRRQnz/SiQ jfw1fD1TWt64S7UawVbjoqJZ/2eNwL/RDMRRUNZ9cJWMHcaIkrrVnrh28Kj8EBsOR8UD JQFWa//9B+jHBNw2JkhTVeB2ZRO0FDkKqsSWs13Co+0MlObaEs7d4OJKDpMgZqG23I8j hUr+QTYbfMQmKQhOexoLlpYzK0qSJnO6fa0JIxgCbTeh1Yb67NVuIAvkTvycUBQYFO8u 3/tQ== 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=HYPCKtJxtEkhgpd29tOkUj0Itfq/wiRsTpBNEWaWZDQ=; b=TT1DyfRO3QvTH+hSfRuDCdyOFJuuigsnNJhSx/UVp5JbCaxqeZ8iEZHYu3yWAQmMmc T4NTT3zH5XjE5qwqXhqp/555CV8yWzN1ywrEG1BGFSJ+wXrxzEeA26M1OrJsZzzRDQqH Rkx1blzjE7cV+k0o0bICfd+NClKfPnmVyGREcacVNf2TTIrbMM3Pg/Hi5cAEm5o0XFo7 qPMKx5P27FiCqutopbniCaJjAEU37/Ckafa0tbIERZP0AAypBKD243ufUN/gYP5Wfxcr 0LiyT7bs2VTOamdn9UdKD77Rimo6UN0BfX2xeJZFHLL0YObzYtreB0FR6OSv7F/GTx9A 9+ew== X-Gm-Message-State: AOAM530X7cAbWzFSgZffIMvHj3GfLnzXVQW68klPW+VxNc9YpSWdX79i h4sHgDmZd12BVFx5nbUlRjnRLrANPc8aMb24zWVEajVRLqIy1hNGWGdNMxDPO2Esp/GiC/4rlGI eYdxh6acd3zH7SATznhvgnyFP/JlrUNhQFnR3QzaMTY4NnEsxreZhOuGNf6DWHR4sgcPex/jv9I 4mPKh2+0vEfk8ebAt1NM33+R6zM23GD5dPpus/s6s+s/ZuY1sxEpebwwcaFvFS6WWlvU+Y4tA= X-Google-Smtp-Source: ABdhPJyvcHNa6gz4JIAV9PIfmBWwMGAirhfVCRvpJW4yGG3rHVwmmK97VhlEy8CC9cyKSwYa+j3n3spec0Ga1XCeJbY= X-Received: by 2002:a0c:8027:: with SMTP id 36mr13663669qva.57.1611219971622; Thu, 21 Jan 2021 01:06:11 -0800 (PST) MIME-Version: 1.0 From: Rahul Shirsat Date: Thu, 21 Jan 2021 14:35:35 +0530 Message-ID: Subject: SonarQube Fixes #4 Database & Foreign Tables To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000107f6505b96562ba" X-CLOUD-SEC-AV-Info: enterprisedb,google_mail,monitor X-CLOUD-SEC-AV-Sent: true X-Gm-Spam: 0 X-Gm-Phishy: 0 List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000107f6505b96562ba Content-Type: multipart/alternative; boundary="000000000000107f6205b96562b8" --000000000000107f6205b96562b8 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Please find the attached patch which resolves the sonar qube issues relating: 1. *Foreign Tables* -*Refactor this function to reduce its Cognitive Complexity from 67 to the 15 allowed.* 2. *Database* -*Refactor this function to reduce its Cognitive Complexity from 17 to the 15 allowed.* -- *Rahul Shirsat* Senior Software Engineer | EnterpriseDB Corporation. --000000000000107f6205b96562b8 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Please find the attached pa= tch which resolves the sonar qube issues relating:

  1. Foreign Tables -Refactor this function to reduce its Cognitive Complexi= ty from 67 to the 15 allowed.
  2. Database<= /u> -Refactor this = function to reduce its Cognitive Complexity from 17 to the 15 allowed.<= /span>

--
<= div dir=3D"ltr">
Rahul Shirsat
Senior Software Engineer=C2=A0|=C2=A0Enterpri= seDB=C2=A0Corporation.
--000000000000107f6205b96562b8-- --000000000000107f6505b96562ba Content-Type: application/octet-stream; name="sonar_issues_database_foreign_tables.patch" Content-Disposition: attachment; filename="sonar_issues_database_foreign_tables.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_kk6mqc7a0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9fX2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9fX2luaXRfXy5weQppbmRleCBhZWRjODNlODYuLjI2ZGY5YWE5NyAx MDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9fX2luaXRfXy5weQpAQCAtMjEsNyArMjEsOCBAQCBpbXBvcnQg cGdhZG1pbi5icm93c2VyLnNlcnZlcl9ncm91cHMuc2VydmVycyBhcyBzZXJ2ZXJzCiBmcm9tIGNv bmZpZyBpbXBvcnQgUEdfREVGQVVMVF9EUklWRVIKIGZyb20gcGdhZG1pbi5icm93c2VyLmNvbGxl Y3Rpb24gaW1wb3J0IENvbGxlY3Rpb25Ob2RlTW9kdWxlCiBmcm9tIHBnYWRtaW4uYnJvd3Nlci5z ZXJ2ZXJfZ3JvdXBzLnNlcnZlcnMuZGF0YWJhc2VzLnV0aWxzIGltcG9ydCBcCi0gICAgcGFyc2Vf c2VjX2xhYmVsc19mcm9tX2RiLCBwYXJzZV92YXJpYWJsZXNfZnJvbV9kYgorICAgIHBhcnNlX3Nl Y19sYWJlbHNfZnJvbV9kYiwgcGFyc2VfdmFyaWFibGVzX2Zyb21fZGIsIFwKKyAgICBnZXRfcGdf ZGJfcHJvcGVydGllcwogZnJvbSBwZ2FkbWluLmJyb3dzZXIuc2VydmVyX2dyb3Vwcy5zZXJ2ZXJz LnV0aWxzIGltcG9ydCBwYXJzZV9wcml2X2Zyb21fZGIsIFwKICAgICBwYXJzZV9wcml2X3RvX2Ri CiBmcm9tIHBnYWRtaW4uYnJvd3Nlci51dGlscyBpbXBvcnQgUEdDaGlsZE5vZGVWaWV3CkBAIC0x OTEsMTYgKzE5MiwxNiBAQCBjbGFzcyBEYXRhYmFzZVZpZXcoUEdDaGlsZE5vZGVWaWV3KToKICAg ICAgICAgICAgICAgICAgICAgIyBJZiBjb25uZWN0aW9uIHRvIGRhdGFiYXNlIGlzIG5vdCBhbGxv d2VkIHRoZW4KICAgICAgICAgICAgICAgICAgICAgIyBwcm92aWRlIGdlbmVyaWMgY29ubmVjdGlv bgogICAgICAgICAgICAgICAgICAgICBpZiBrd2FyZ3NbJ2RpZCddIGluIHNlbGYubWFuYWdlci5k Yl9pbmZvOgorCisgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLmRhdGxhc3RzeXNvaWQsIHNl bGYuZGF0aXN0ZW1wbGF0ZSA9IFwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnZXRfcGdf ZGJfcHJvcGVydGllcyhzZWxmLm1hbmFnZXIsIGt3YXJncykKKwogICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5fZGIgPSBzZWxmLm1hbmFnZXIuZGJfaW5mb1trd2FyZ3NbJ2RpZCddXQotICAg ICAgICAgICAgICAgICAgICAgICAgc2VsZi5kYXRsYXN0c3lzb2lkID0gc2VsZi5fZGJbJ2RhdGxh c3RzeXNvaWQnXQorCiAgICAgICAgICAgICAgICAgICAgICAgICBpZiBzZWxmLl9kYlsnZGF0YWxs b3djb25uJ10gaXMgRmFsc2U6CiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jb25u ID0gc2VsZi5tYW5hZ2VyLmNvbm5lY3Rpb24oKQogICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNlbGYuZGJfYWxsb3dfY29ubmVjdGlvbiA9IEZhbHNlCiAKLSAgICAgICAgICAgICAgICAgICAg ICAgIHNlbGYuZGF0aXN0ZW1wbGF0ZSA9IFwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBz ZWxmLm1hbmFnZXIuZGJfaW5mb1trd2FyZ3NbJ2RpZCddXVsKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJ2RhdGlzdGVtcGxhdGUnXSBpZiAnZGF0aXN0ZW1wbGF0ZScgaW4gXAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYubWFuYWdlci5kYl9pbmZvW2t3YXJnc1snZGlk J11dIGVsc2UgRmFsc2UKICAgICAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAgICAg ICBzZWxmLmNvbm4gPSBzZWxmLm1hbmFnZXIuY29ubmVjdGlvbigpCiAKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L2ZvcmVpZ25fdGFibGVzL19faW5pdF9fLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvZm9yZWlnbl90YWJsZXMvX19pbml0X18u cHkKaW5kZXggMTFkM2EzZGI1Li5lMjVjZmNkZmEgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2ZvcmVpZ25fdGFi bGVzL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL2ZvcmVpZ25fdGFibGVzL19faW5pdF9fLnB5CkBAIC0y MzcsODMgKzIzNywzMCBAQCBjbGFzcyBGb3JlaWduVGFibGVWaWV3KFBHQ2hpbGROb2RlVmlldywg RGF0YVR5cGVSZWFkZXIsCiAgICAgICAgIEB3cmFwcyhmKQogICAgICAgICBkZWYgd3JhcChzZWxm LCAqKmt3YXJncyk6CiAKLSAgICAgICAgICAgIGRhdGEgPSB7fQotCiAgICAgICAgICAgICBpZiBy ZXF1ZXN0LmRhdGE6CiAgICAgICAgICAgICAgICAgcmVxID0ganNvbi5sb2FkcyhyZXF1ZXN0LmRh dGEsIGVuY29kaW5nPSd1dGYtOCcpCiAgICAgICAgICAgICBlbHNlOgogICAgICAgICAgICAgICAg IHJlcSA9IHJlcXVlc3QuYXJncyBvciByZXF1ZXN0LmZvcm0KIAotICAgICAgICAgICAgaWYgJ2Zv aWQnIG5vdCBpbiBrd2FyZ3M6Ci0gICAgICAgICAgICAgICAgcmVxdWlyZWRfYXJncyA9IFsKLSAg ICAgICAgICAgICAgICAgICAgJ25hbWUnLAotICAgICAgICAgICAgICAgICAgICAnZnRzcnZuYW1l JwotICAgICAgICAgICAgICAgIF0KLQotICAgICAgICAgICAgICAgIGZvciBhcmcgaW4gcmVxdWly ZWRfYXJnczoKLSAgICAgICAgICAgICAgICAgICAgaWYgYXJnIG5vdCBpbiByZXEgb3IgcmVxW2Fy Z10gPT0gJyc6Ci0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3Bv bnNlKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cz00MTAsCi0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3VjY2Vzcz0wLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg IGVycm9ybXNnPWdldHRleHQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJDb3Vs ZCBub3QgZmluZCB0aGUgcmVxdWlyZWQgcGFyYW1ldGVyICh7fSkuIgotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICkuZm9ybWF0KGFyZykKLSAgICAgICAgICAgICAgICAgICAgICAgICkKKyAg ICAgICAgICAgIGludmFsaWQsIGFyZyA9IHNlbGYuX2NoZWNrX3ZhbGlkX2ZvaWRfaW5wdXQoa3dh cmdzLCByZXEpCisKKyAgICAgICAgICAgIGlmIGludmFsaWQ6CisgICAgICAgICAgICAgICAgcmV0 dXJuIG1ha2VfanNvbl9yZXNwb25zZSgKKyAgICAgICAgICAgICAgICAgICAgc3RhdHVzPTQxMCwK KyAgICAgICAgICAgICAgICAgICAgc3VjY2Vzcz0wLAorICAgICAgICAgICAgICAgICAgICBlcnJv cm1zZz1nZXR0ZXh0KAorICAgICAgICAgICAgICAgICAgICAgICAgIkNvdWxkIG5vdCBmaW5kIHRo ZSByZXF1aXJlZCBwYXJhbWV0ZXIgKHt9KS4iCisgICAgICAgICAgICAgICAgICAgICkuZm9ybWF0 KGFyZykKKyAgICAgICAgICAgICAgICApCiAKICAgICAgICAgICAgIHRyeToKLSAgICAgICAgICAg ICAgICBsaXN0X3BhcmFtcyA9IFtdCiAgICAgICAgICAgICAgICAgaWYgcmVxdWVzdC5tZXRob2Qg PT0gJ0dFVCc6CiAgICAgICAgICAgICAgICAgICAgIGxpc3RfcGFyYW1zID0gWydjb25zdHJhaW50 cycsICdjb2x1bW5zJywgJ2Z0b3B0aW9ucycsCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICdzZWNsYWJlbHMnLCAnaW5oZXJpdHMnLCAnYWNsJ10KICAgICAgICAgICAgICAgICBl bHNlOgogICAgICAgICAgICAgICAgICAgICBsaXN0X3BhcmFtcyA9IFsnaW5oZXJpdHMnXQogCi0g ICAgICAgICAgICAgICAgZm9yIGtleSBpbiByZXE6Ci0gICAgICAgICAgICAgICAgICAgIGlmICgK LSAgICAgICAgICAgICAgICAgICAgICAgIGtleSBpbiBsaXN0X3BhcmFtcyBhbmQgcmVxW2tleV0g IT0gJycgYW5kCi0gICAgICAgICAgICAgICAgICAgICAgICByZXFba2V5XSBpcyBub3QgTm9uZQot ICAgICAgICAgICAgICAgICAgICApOgotICAgICAgICAgICAgICAgICAgICAgICAgIyBDb3ZlcnRz IHN0cmluZyBpbnRvIHB5dGhvbiBsaXN0IGFzIGV4cGVjdGVkLgotICAgICAgICAgICAgICAgICAg ICAgICAgZGF0YVtrZXldID0gW10KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIG5vdCBpc2lu c3RhbmNlKHJlcVtrZXldLCBsaXN0KSBhbmQgcmVxW2tleV06Ci0gICAgICAgICAgICAgICAgICAg ICAgICAgICAgZGF0YVtrZXldID0ganNvbi5sb2FkcyhyZXFba2V5XSwgZW5jb2Rpbmc9J3V0Zi04 JykKLQotICAgICAgICAgICAgICAgICAgICAgICAgaWYga2V5ID09ICdpbmhlcml0cyc6Ci0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgIyBDb252ZXJ0IFRhYmxlIGlkcyBmcm9tIHVuaWNvZGUv c3RyaW5nIHRvIGludAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgYW5kIG1ha2UgdHVw bGUgZm9yICdJTicgcXVlcnkuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5oZXJpdHMg PSB0dXBsZShbaW50KHgpIGZvciB4IGluIGRhdGFba2V5XV0pCi0KLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpZiBsZW4oaW5oZXJpdHMpID09IDE6Ci0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICMgUHl0aG9uIHR1cHBsZSBoYXMgLCBhZnRlciB0aGUgZmlyc3QgcGFyYW0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIyBpbiBjYXNlIG9mIHNpbmdsZSBwYXJhbWV0 ZXIuCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMgU28sIHdlIG5lZWQgdG8gbWFr ZSBpdCB0dXBsZSBleHBsaWNpdGx5LgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBp bmhlcml0cyA9ICIoIiArIHN0cihpbmhlcml0c1swXSkgKyAiKSIKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICBpZiBpbmhlcml0czoKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IyBGZXRjaCBUYWJsZSBOYW1lcyBmcm9tIHRoZWlyIHJlc3BlY3RpdmUgSWRzLAotICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjIGFzIHdlIG5lZWQgVGFibGUgbmFtZXMgdG8gZ2VuZXJh dGUgdGhlIFNRTC4KLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1FMID0gcmVuZGVy X3RlbXBsYXRlKAotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIi8iLmpvaW4o W3NlbGYudGVtcGxhdGVfcGF0aCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLl9HRVRfVEFCTEVTX1NRTF0pLAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYXR0cmVsaWQ9aW5oZXJpdHMpCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0YXR1cywgcmVzID0gc2VsZi5jb25uLmV4ZWN1dGVfZGljdChTUUwpCi0KLSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgbm90IHN0YXR1czoKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJy b3Jtc2c9cmVzKQotCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICdpbmhlcml0 cycgaW4gcmVzWydyb3dzJ11bMF06Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBkYXRhW2tleV0gPSByZXNbJ3Jvd3MnXVswXVsnaW5oZXJpdHMnXQotICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBlbHNlOgotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZGF0YVtrZXldID0gW10KLQotICAgICAgICAgICAgICAgICAgICBlbGlmIGtleSA9PSAndHlw bm90bnVsbCc6Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiByZXFba2V5XSA9PSAndHJ1ZScg b3IgcmVxW2tleV0gaXMgVHJ1ZToKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBkYXRhW2tl eV0gPSBUcnVlCi0gICAgICAgICAgICAgICAgICAgICAgICBlbGlmIHJlcVtrZXldID09ICdmYWxz ZScgb3IgcmVxW2tleV0gaXMgRmFsc2U6Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0 YVtrZXldID0gRmFsc2UKLSAgICAgICAgICAgICAgICAgICAgICAgIGVsc2U6Ci0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgZGF0YVtrZXldID0gJycKLSAgICAgICAgICAgICAgICAgICAgZWxz ZToKLSAgICAgICAgICAgICAgICAgICAgICAgIGRhdGFba2V5XSA9IHJlcVtrZXldCisgICAgICAg ICAgICAgICAgZGF0YSA9IHNlbGYuX3ZhbGlkYXRlX3JlcShyZXEsIGxpc3RfcGFyYW1zKQogCiAg ICAgICAgICAgICBleGNlcHQgRXhjZXB0aW9uIGFzIGU6CiAgICAgICAgICAgICAgICAgcmV0dXJu IGludGVybmFsX3NlcnZlcl9lcnJvcihlcnJvcm1zZz1zdHIoZSkpCkBAIC0zMjMsNiArMjcwLDgy IEBAIGNsYXNzIEZvcmVpZ25UYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBEYXRhVHlwZVJlYWRl ciwKIAogICAgICAgICByZXR1cm4gd3JhcAogCisgICAgQHN0YXRpY21ldGhvZAorICAgIGRlZiBf Y2hlY2tfdmFsaWRfZm9pZF9pbnB1dChrd2FyZ3MsIHJlcSk6CisKKyAgICAgICAgaWYgJ2ZvaWQn IG5vdCBpbiBrd2FyZ3M6CisgICAgICAgICAgICByZXF1aXJlZF9hcmdzID0gWworICAgICAgICAg ICAgICAgICduYW1lJywKKyAgICAgICAgICAgICAgICAnZnRzcnZuYW1lJworICAgICAgICAgICAg XQorCisgICAgICAgICAgICBmb3IgYXJnIGluIHJlcXVpcmVkX2FyZ3M6CisgICAgICAgICAgICAg ICAgaWYgYXJnIG5vdCBpbiByZXEgb3IgcmVxW2FyZ10gPT0gJyc6CisgICAgICAgICAgICAgICAg ICAgIHJldHVybiBUcnVlLCBhcmcKKyAgICAgICAgcmV0dXJuIEZhbHNlLCAnJworCisgICAgZGVm IF92YWxpZGF0ZV9yZXEoc2VsZiwgcmVxLCBsaXN0X3BhcmFtcyk6CisKKyAgICAgICAgZGF0YSA9 IHt9CisKKyAgICAgICAgdHJ5OgorICAgICAgICAgICAgZm9yIGtleSBpbiByZXE6CisgICAgICAg ICAgICAgICAgaWYgKAorICAgICAgICAgICAgICAgICAgICBrZXkgaW4gbGlzdF9wYXJhbXMgYW5k IHJlcVtrZXldICE9ICcnIGFuZAorICAgICAgICAgICAgICAgICAgICByZXFba2V5XSBpcyBub3Qg Tm9uZQorICAgICAgICAgICAgICAgICk6CisgICAgICAgICAgICAgICAgICAgICMgQ292ZXJ0cyBz dHJpbmcgaW50byBweXRob24gbGlzdCBhcyBleHBlY3RlZC4KKyAgICAgICAgICAgICAgICAgICAg ZGF0YVtrZXldID0gW10KKyAgICAgICAgICAgICAgICAgICAgc2VsZi5fY29udmVydF9zdHJpbmdf dG9fbGlzdF9mb3JfaW5oZXJpdHMocmVxLCBkYXRhLCBrZXkpCisKKyAgICAgICAgICAgICAgICBl bGlmIGtleSA9PSAndHlwbm90bnVsbCc6CisgICAgICAgICAgICAgICAgICAgIGlmIHJlcVtrZXld ID09ICd0cnVlJyBvciByZXFba2V5XSBpcyBUcnVlOgorICAgICAgICAgICAgICAgICAgICAgICAg ZGF0YVtrZXldID0gVHJ1ZQorICAgICAgICAgICAgICAgICAgICBlbGlmIHJlcVtrZXldID09ICdm YWxzZScgb3IgcmVxW2tleV0gaXMgRmFsc2U6CisgICAgICAgICAgICAgICAgICAgICAgICBkYXRh W2tleV0gPSBGYWxzZQorICAgICAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg ICAgICAgICAgZGF0YVtrZXldID0gJycKKyAgICAgICAgICAgICAgICBlbHNlOgorICAgICAgICAg ICAgICAgICAgICBkYXRhW2tleV0gPSByZXFba2V5XQorCisgICAgICAgIGV4Y2VwdCBFeGNlcHRp b24gYXMgZToKKyAgICAgICAgICAgIGN1cnJlbnRfYXBwLmxvZ2dlci5leGNlcHRpb24oZSkKKyAg ICAgICAgICAgIHJhaXNlIGUKKworICAgICAgICByZXR1cm4gZGF0YQorCisgICAgZGVmIF9jb252 ZXJ0X3N0cmluZ190b19saXN0X2Zvcl9pbmhlcml0cyhzZWxmLCByZXEsIGRhdGEsIGtleSk6CisK KyAgICAgICAgaWYgbm90IGlzaW5zdGFuY2UocmVxW2tleV0sIGxpc3QpIGFuZCByZXFba2V5XToK KyAgICAgICAgICAgIGRhdGFba2V5XSA9IGpzb24ubG9hZHMocmVxW2tleV0sIGVuY29kaW5nPSd1 dGYtOCcpCisKKyAgICAgICAgaWYga2V5ID09ICdpbmhlcml0cyc6CisgICAgICAgICAgICAjIENv bnZlcnQgVGFibGUgaWRzIGZyb20gdW5pY29kZS9zdHJpbmcgdG8gaW50CisgICAgICAgICAgICAj IGFuZCBtYWtlIHR1cGxlIGZvciAnSU4nIHF1ZXJ5LgorICAgICAgICAgICAgaW5oZXJpdHMgPSB0 dXBsZShbaW50KHgpIGZvciB4IGluIGRhdGFba2V5XV0pCisKKyAgICAgICAgICAgIGlmIGxlbihp bmhlcml0cykgPT0gMToKKyAgICAgICAgICAgICAgICAjIFB5dGhvbiB0dXBwbGUgaGFzICwgYWZ0 ZXIgdGhlIGZpcnN0IHBhcmFtCisgICAgICAgICAgICAgICAgIyBpbiBjYXNlIG9mIHNpbmdsZSBw YXJhbWV0ZXIuCisgICAgICAgICAgICAgICAgIyBTbywgd2UgbmVlZCB0byBtYWtlIGl0IHR1cGxl IGV4cGxpY2l0bHkuCisgICAgICAgICAgICAgICAgaW5oZXJpdHMgPSAiKCIgKyBzdHIoaW5oZXJp dHNbMF0pICsgIikiCisgICAgICAgICAgICBpZiBpbmhlcml0czoKKyAgICAgICAgICAgICAgICAj IEZldGNoIFRhYmxlIE5hbWVzIGZyb20gdGhlaXIgcmVzcGVjdGl2ZSBJZHMsCisgICAgICAgICAg ICAgICAgIyBhcyB3ZSBuZWVkIFRhYmxlIG5hbWVzIHRvIGdlbmVyYXRlIHRoZSBTUUwuCisgICAg ICAgICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRlKAorICAgICAgICAgICAgICAgICAgICAi LyIuam9pbihbc2VsZi50ZW1wbGF0ZV9wYXRoLAorICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2VsZi5fR0VUX1RBQkxFU19TUUxdKSwKKyAgICAgICAgICAgICAgICAgICAgYXR0cmVsaWQ9 aW5oZXJpdHMpCisgICAgICAgICAgICAgICAgc3RhdHVzLCByZXMgPSBzZWxmLmNvbm4uZXhlY3V0 ZV9kaWN0KFNRTCkKKworICAgICAgICAgICAgICAgIGlmIG5vdCBzdGF0dXM6CisgICAgICAgICAg ICAgICAgICAgIHJldHVybiBpbnRlcm5hbF9zZXJ2ZXJfZXJyb3IoZXJyb3Jtc2c9cmVzKQorCisg ICAgICAgICAgICAgICAgaWYgJ2luaGVyaXRzJyBpbiByZXNbJ3Jvd3MnXVswXToKKyAgICAgICAg ICAgICAgICAgICAgZGF0YVtrZXldID0gcmVzWydyb3dzJ11bMF1bJ2luaGVyaXRzJ10KKyAgICAg ICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAgICAgICBkYXRhW2tleV0gPSBbXQorCiAg ICAgZGVmIGNoZWNrX3ByZWNvbmRpdGlvbihmKToKICAgICAgICAgIiIiCiAgICAgICAgIFdvcmtz IGFzIGEgZGVjb3JhdG9yLgpAQCAtMzQ0LDE0ICszNjcsMTAgQEAgY2xhc3MgRm9yZWlnblRhYmxl VmlldyhQR0NoaWxkTm9kZVZpZXcsIERhdGFUeXBlUmVhZGVyLAogICAgICAgICAgICAgICAgIGlm IHNlbGYubWFuYWdlci5kYl9pbmZvIGlzIG5vdCBOb25lIGFuZCBcCiAgICAgICAgICAgICAgICAg a3dhcmdzWydkaWQnXSBpbiBzZWxmLm1hbmFnZXIuZGJfaW5mbyBlbHNlIDAKIAotICAgICAgICAg ICAgc2VsZi5kYXRpc3RlbXBsYXRlID0gRmFsc2UKLSAgICAgICAgICAgIGlmICgKLSAgICAgICAg ICAgICAgICBzZWxmLm1hbmFnZXIuZGJfaW5mbyBpcyBub3QgTm9uZSBhbmQKLSAgICAgICAgICAg ICAgICBrd2FyZ3NbJ2RpZCddIGluIHNlbGYubWFuYWdlci5kYl9pbmZvIGFuZAotICAgICAgICAg ICAgICAgICdkYXRpc3RlbXBsYXRlJyBpbiBzZWxmLm1hbmFnZXIuZGJfaW5mb1trd2FyZ3NbJ2Rp ZCddXQotICAgICAgICAgICAgKToKLSAgICAgICAgICAgICAgICBzZWxmLmRhdGlzdGVtcGxhdGUg PSBzZWxmLm1hbmFnZXIuZGJfaW5mb1sKLSAgICAgICAgICAgICAgICAgICAga3dhcmdzWydkaWQn XV1bJ2RhdGlzdGVtcGxhdGUnXQorICAgICAgICAgICAgc2VsZi5kYXRpc3RlbXBsYXRlID0gXAor ICAgICAgICAgICAgICAgIHNlbGYubWFuYWdlci5kYl9pbmZvW2t3YXJnc1snZGlkJ11dWydkYXRp c3RlbXBsYXRlJ10gXAorICAgICAgICAgICAgICAgIGlmIHNlbGYubWFuYWdlci5kYl9pbmZvIGlz IG5vdCBOb25lIGFuZCBcCisgICAgICAgICAgICAgICAga3dhcmdzWydkaWQnXSBpbiBzZWxmLm1h bmFnZXIuZGJfaW5mbyBlbHNlIEZhbHNlCiAKICAgICAgICAgICAgICMgU2V0IHRlbXBsYXRlIHBh dGggZm9yIHNxbCBzY3JpcHRzIGRlcGVuZGluZwogICAgICAgICAgICAgIyBvbiB0aGUgc2VydmVy IHZlcnNpb24uCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy9kYXRhYmFzZXMvdXRpbHMucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvdXRpbHMucHkKaW5kZXggMmViMTJiMjY1Li41ZGZhZTRi MmMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy91dGlscy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy9kYXRhYmFzZXMvdXRpbHMucHkKQEAgLTEwNSwzICsxMDUsMTcgQEAgZGVmIF9j aGVja192YXJfdHlwZSh2YXJfdmFsdWUsIHZhcl9uYW1lLCByb3cpOgogICAgICAgICB2YXJfZGlj dFsnZGF0YWJhc2UnXSA9IHJvd1snZGJfbmFtZSddCiAKICAgICByZXR1cm4gdmFyX2RpY3QKKwor CitkZWYgZ2V0X3BnX2RiX3Byb3BlcnRpZXMobWFuYWdlciwga3dhcmdzKToKKworICAgIGlmICdk aWQnIGluIGt3YXJncyBhbmQga3dhcmdzWydkaWQnXSBpbiBtYW5hZ2VyLmRiX2luZm86CisKKyAg ICAgICAgZGF0bGFzdHN5c29pZCA9IG1hbmFnZXIuZGJfaW5mb1trd2FyZ3NbJ2RpZCddXVsnZGF0 bGFzdHN5c29pZCddIFwKKyAgICAgICAgICAgIGlmICdkYXRsYXN0c3lzb2lkJyBpbiBtYW5hZ2Vy LmRiX2luZm9ba3dhcmdzWydkaWQnXV0gZWxzZSAwCisgICAgICAgIGRhdGlzdGVtcGxhdGUgPSBt YW5hZ2VyLmRiX2luZm9ba3dhcmdzWydkaWQnXV1bJ2RhdGlzdGVtcGxhdGUnXSBcCisgICAgICAg ICAgICBpZiAnZGF0aXN0ZW1wbGF0ZScgaW4gbWFuYWdlci5kYl9pbmZvW2t3YXJnc1snZGlkJ11d IGVsc2UgRmFsc2UKKworICAgICAgICByZXR1cm4gZGF0bGFzdHN5c29pZCwgZGF0aXN0ZW1wbGF0 ZQorICAgIGVsc2U6CisgICAgICAgIHJldHVybiAwLCBGYWxzZQo= --000000000000107f6505b96562ba--