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 1mVw9q-0007Py-6q for pgadmin-hackers@arkaria.postgresql.org; Thu, 30 Sep 2021 13:31:30 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.92) (envelope-from ) id 1mVw9p-0006ZX-2V for pgadmin-hackers@arkaria.postgresql.org; Thu, 30 Sep 2021 13:31:29 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1mVw9o-0006ZP-F2 for pgadmin-hackers@lists.postgresql.org; Thu, 30 Sep 2021 13:31:28 +0000 Received: from mail-vk1-xa35.google.com ([2607:f8b0:4864:20::a35]) by magus.postgresql.org with esmtps (TLS1.3:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1mVw9k-0006di-TQ for pgadmin-hackers@postgresql.org; Thu, 30 Sep 2021 13:31:27 +0000 Received: by mail-vk1-xa35.google.com with SMTP id t200so2863309vkt.0 for ; Thu, 30 Sep 2021 06:31:24 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb.com; s=google; h=mime-version:from:date:message-id:subject:to; bh=xfvn2zYz8Y320p4CWsrrkQdx5Fz1yQsUculE5tQH78g=; b=bbQAu0/Rg1Kcp9LIbTtbc+RGa/JWxITgwlD9okTK/xhaMHlmAbfwDWulwkfWh8Y/fg ZWPdremieJLT6NoFhWhVe5jQsCKFmwGgqWEcO4ysZbtVekS6CJAwyp0JKeh5e0dtkfGa 62LGPpZjAo2Zr49fuPUsZfiNwm0qruaEWY1/TeNsZ6Ze1jXFB5dN4XC+cDdzKr8fWsNi Pvu6JM1bL4xRSyrL/xTqKeerBDAiSE4sFsHivWfetFtnUTqBuMhoJ88W6dczhMT9DLYB PdcRiEtJbAZ9RrHzuXzYe5DRfFhZtNtr38thgUuBV4F0mSnuGTN0MucmEySHAOSfKAkc DtlQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=xfvn2zYz8Y320p4CWsrrkQdx5Fz1yQsUculE5tQH78g=; b=GQ93t5q+W1qhTvLEfSJ4ro47yHrvWYkSSrfpAZZdxHcO39OW7FAV+kBX6XqoDX0Tpu iXLt2sSOVgpjlTCWF2tcmuEGL+VFOHPYm/BrUPAZwcc8z/aJaTYp8peqfMvOhfY3b4zA a/E+AiPA63tupwkpLWLRhum1TCxh3daheo1gncQbWAahhw6HXPdEGUL19qE9wnJeEwwX rucsv8gfJqy71YXJwK0gxzvEqu2ApXj8RAdk5wR76t8k4Lm1aXzAO7aZrs67uTggrtXv fOwgMDGsiLbsZgTmWe4NQDE6d1grGh5imIKRUO4uKCakOxYmdbh8H1MrlhjVvI2KOcSk iKcA== X-Gm-Message-State: AOAM530FUQ3qGJdAhiujXDIgE+XAX2Jyu24oHls0xmMrAwivfumfCb1F 1Tvz6uX5/Y45RR3jegZiO0a4tXQMEW4rRFI4JkEdSPTGpjN14g0Z/HGywsKacGRP+o3ZdtUsgZY E0KzVvg0wRS2U9PIX8xkLng0Vk05d2ncPaAPB9FsIAgv7AksLa00BXnGLSeBzPJM4j49G+C8EVa agkDeYclm6dVfR318PL6snRjTM0zZaD3/tQXmbGxc61WuE9N5E2Quk7I+iqc+d0Vmj2w== X-Google-Smtp-Source: ABdhPJw1yLNP09hJoHXFN0fOBim6yzTLQ586sQ51tKGGVfcCc1f4fBlbWP5Taenmtajvjq2fa/RYzfAiKMbnfF2pobQ= X-Received: by 2002:a1f:257:: with SMTP id 84mr4432684vkc.19.1633008682039; Thu, 30 Sep 2021 06:31:22 -0700 (PDT) MIME-Version: 1.0 From: Aditya Toshniwal Date: Thu, 30 Sep 2021 19:00:46 +0530 Message-ID: Subject: [pgAdmin][patch] Multiple table related fixes To: pgadmin-hackers Content-Type: multipart/mixed; boundary="00000000000069596605cd36765f" 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: Archived-At: Precedence: bulk --00000000000069596605cd36765f Content-Type: multipart/alternative; boundary="00000000000069596205cd36765d" --00000000000069596205cd36765d Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached patch fixes: 1. File select control sets value for all other to last selected file. Fixes #6814 2. Vacuum parameters related issues. Fixes #6777 3. Exclusion removes all columns if one row is removed. Fixes #6771 Please review. -- Thanks, Aditya Toshniwal pgAdmin Hacker | Software Architect | *edbpostgres.com* "Don't Complain about Heat, Plant a TREE" --00000000000069596205cd36765d Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached patch fixes:
1. File select control s= ets value for all other to last selected file. Fixes #6814
2. Vacuum param= eters related issues. Fixes #6777
3. Exclusion removes all columns if one= row is removed. Fixes #6771
Please review.

--
<= div dir=3D"ltr">
Thanks,
Aditya Toshniwal
pgAdmin Hacker=C2=A0| Software Architect=C2=A0| = edbpostgres.com
=
&q= uot;Don't Complain about Heat, Plant a TREE"
--00000000000069596205cd36765d-- --00000000000069596605cd36765f Content-Type: application/octet-stream; name="RMs_6814_6777_6771.patch" Content-Disposition: attachment; filename="RMs_6814_6777_6771.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_ku6z66bn0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9leGNsdXNpb25fY29uc3RyYWludC9z dGF0aWMvanMvZXhjbHVzaW9uX2NvbnN0cmFpbnQudWkuanMgYi93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29uc3RyYWlu dHMvZXhjbHVzaW9uX2NvbnN0cmFpbnQvc3RhdGljL2pzL2V4Y2x1c2lvbl9jb25zdHJhaW50LnVp LmpzCmluZGV4IDUyM2JkOGY5NC4uNWY2NGU1OGNkIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvY29u c3RyYWludHMvZXhjbHVzaW9uX2NvbnN0cmFpbnQvc3RhdGljL2pzL2V4Y2x1c2lvbl9jb25zdHJh aW50LnVpLmpzCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJz L2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9jb25zdHJhaW50cy9leGNsdXNpb25fY29uc3RyYWlu dC9zdGF0aWMvanMvZXhjbHVzaW9uX2NvbnN0cmFpbnQudWkuanMKQEAgLTE1LDcgKzE1LDcgQEAg ZXhwb3J0IGZ1bmN0aW9uIGdldE5vZGVFeGNsdXNpb25Db25zdHJhaW50U2NoZW1hKHRyZWVOb2Rl SW5mbywgaXRlbU5vZGVEYXRhLCBwZ0IKICAgICBzcGNuYW1lOiAoKT0+Z2V0Tm9kZUxpc3RCeU5h bWUoJ3RhYmxlc3BhY2UnLCB0cmVlTm9kZUluZm8sIGl0ZW1Ob2RlRGF0YSwge30sIChtKT0+ewog ICAgICAgcmV0dXJuIChtLmxhYmVsICE9ICdwZ19nbG9iYWwnKTsKICAgICB9KSwKLSAgICBnZXRP cGVyQ2xhc3M6ICh1cmxQYXJhbXMpPT5nZXROb2RlQWpheE9wdGlvbnMoJ2dldF9vcGVyX2NsYXNz JywgdGFibGVOb2RlLCB0cmVlTm9kZUluZm8sIGl0ZW1Ob2RlRGF0YSwge3VybFBhcmFtczogdXJs UGFyYW1zfSwgKGRhdGEpPT57CisgICAgZ2V0T3BlckNsYXNzOiAodXJsUGFyYW1zKT0+Z2V0Tm9k ZUFqYXhPcHRpb25zKCdnZXRfb3Blcl9jbGFzcycsIHRhYmxlTm9kZSwgdHJlZU5vZGVJbmZvLCBp dGVtTm9kZURhdGEsIHt1cmxQYXJhbXM6IHVybFBhcmFtcywgdXNlQ2FjaGU6ZmFsc2V9LCAoZGF0 YSk9PnsKICAgICAgIGxldCByZXMgPSBbXTsKICAgICAgIGlmIChkYXRhICYmIF8uaXNBcnJheShk YXRhKSkgewogICAgICAgICBfLmVhY2goZGF0YSwgZnVuY3Rpb24oZCkgewpAQCAtMjQsNyArMjQs NyBAQCBleHBvcnQgZnVuY3Rpb24gZ2V0Tm9kZUV4Y2x1c2lvbkNvbnN0cmFpbnRTY2hlbWEodHJl ZU5vZGVJbmZvLCBpdGVtTm9kZURhdGEsIHBnQgogICAgICAgfQogICAgICAgcmV0dXJuIHJlczsK ICAgICB9KSwKLSAgICBnZXRPcGVyYXRvcjogKHVybFBhcmFtcyk9PmdldE5vZGVBamF4T3B0aW9u cygnZ2V0X29wZXJhdG9yJywgdGFibGVOb2RlLCB0cmVlTm9kZUluZm8sIGl0ZW1Ob2RlRGF0YSwg e3VybFBhcmFtczogdXJsUGFyYW1zfSwgKGRhdGEpPT57CisgICAgZ2V0T3BlcmF0b3I6ICh1cmxQ YXJhbXMpPT5nZXROb2RlQWpheE9wdGlvbnMoJ2dldF9vcGVyYXRvcicsIHRhYmxlTm9kZSwgdHJl ZU5vZGVJbmZvLCBpdGVtTm9kZURhdGEsIHt1cmxQYXJhbXM6IHVybFBhcmFtcywgdXNlQ2FjaGU6 ZmFsc2V9LCAoZGF0YSk9PnsKICAgICAgIGxldCByZXMgPSBbXTsKICAgICAgIGlmIChkYXRhICYm IF8uaXNBcnJheShkYXRhKSkgewogICAgICAgICBfLmVhY2goZGF0YSwgZnVuY3Rpb24oZCkgewpA QCAtMzMsNyArMzMsNyBAQCBleHBvcnQgZnVuY3Rpb24gZ2V0Tm9kZUV4Y2x1c2lvbkNvbnN0cmFp bnRTY2hlbWEodHJlZU5vZGVJbmZvLCBpdGVtTm9kZURhdGEsIHBnQgogICAgICAgfQogICAgICAg cmV0dXJuIHJlczsKICAgICB9KSwKLSAgfSk7CisgIH0sIHRyZWVOb2RlSW5mbyk7CiB9CiAKIGNs YXNzIEV4Y2x1c2lvbkNvbEhlYWRlclNjaGVtYSBleHRlbmRzIEJhc2VVSVNjaGVtYSB7CkBAIC0x NjgsOSArMTY4LDcgQEAgY2xhc3MgRXhjbHVzaW9uQ29sdW1uU2NoZW1hIGV4dGVuZHMgQmFzZVVJ U2NoZW1hIHsKICAgICB9LHsKICAgICAgIGlkOiAnb3BlcmF0b3InLCBsYWJlbDogZ2V0dGV4dCgn T3BlcmF0b3InKSwgdHlwZTogJ3NlbGVjdCcsCiAgICAgICB3aWR0aDogOTUsCi0gICAgICBlZGl0 YWJsZTogZnVuY3Rpb24oKSB7Ci0gICAgICAgIHJldHVybiBvYmouaXNOZXdFeENvbnM7Ci0gICAg ICB9LAorICAgICAgZWRpdGFibGU6IG9iai5pc0VkaXRhYmxlLAogICAgICAgY2VsbDogKHN0YXRl KT0+ewogICAgICAgICByZXR1cm4gewogICAgICAgICAgIGNlbGw6ICdzZWxlY3QnLApAQCAtMTg1 LDcgKzE4Myw3IEBAIGNsYXNzIEV4Y2x1c2lvbkNvbHVtblNjaGVtYSBleHRlbmRzIEJhc2VVSVNj aGVtYSB7CiB9CiAKIGV4cG9ydCBkZWZhdWx0IGNsYXNzIEV4Y2x1c2lvbkNvbnN0cmFpbnRTY2hl bWEgZXh0ZW5kcyBCYXNlVUlTY2hlbWEgewotICBjb25zdHJ1Y3RvcihmaWVsZE9wdGlvbnM9e30s IG5vZGVJbmZvLCBnZXRDb2x1bW5zKSB7CisgIGNvbnN0cnVjdG9yKGZpZWxkT3B0aW9ucz17fSwg bm9kZUluZm8pIHsKICAgICBzdXBlcih7CiAgICAgICBuYW1lOiB1bmRlZmluZWQsCiAgICAgICBv aWQ6IHVuZGVmaW5lZCwKQEAgLTIwMiw3ICsyMDAsNyBAQCBleHBvcnQgZGVmYXVsdCBjbGFzcyBF eGNsdXNpb25Db25zdHJhaW50U2NoZW1hIGV4dGVuZHMgQmFzZVVJU2NoZW1hIHsKIAogICAgIHRo aXMubm9kZUluZm8gPSBub2RlSW5mbzsKICAgICB0aGlzLmZpZWxkT3B0aW9ucyA9IGZpZWxkT3B0 aW9uczsKLSAgICB0aGlzLmV4SGVhZGVyU2NoZW1hID0gbmV3IEV4Y2x1c2lvbkNvbEhlYWRlclNj aGVtYShmaWVsZE9wdGlvbnMuY29sdW1ucywgZ2V0Q29sdW1ucyk7CisgICAgdGhpcy5leEhlYWRl clNjaGVtYSA9IG5ldyBFeGNsdXNpb25Db2xIZWFkZXJTY2hlbWEoZmllbGRPcHRpb25zLmNvbHVt bnMpOwogICAgIHRoaXMuZXhDb2x1bW5TY2hlbWEgPSBuZXcgRXhjbHVzaW9uQ29sdW1uU2NoZW1h KGZpZWxkT3B0aW9ucy5nZXRPcGVyYXRvcik7CiAgICAgdGhpcy5leEhlYWRlclNjaGVtYS5leENv bHVtblNjaGVtYSA9IHRoaXMuZXhDb2x1bW5TY2hlbWE7CiAgIH0KZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rh Ymxlcy9zdGF0aWMvanMvcGFydGl0aW9uLnV0aWxzLnVpLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3N0YXRpYy9q cy9wYXJ0aXRpb24udXRpbHMudWkuanMKaW5kZXggZjZhNDllYjNkLi5hYTcxZTM3MzIgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy9zdGF0aWMvanMvcGFydGl0aW9uLnV0aWxzLnVpLmpzCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy9zdGF0aWMvanMvcGFydGl0aW9uLnV0aWxzLnVpLmpzCkBAIC0xNjEsNyArMTYxLDcg QEAgZXhwb3J0IGNsYXNzIFBhcnRpdGlvbnNTY2hlbWEgZXh0ZW5kcyBCYXNlVUlTY2hlbWEgewog ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgIH0sCiAgICAgfSx7Ci0gICAgICBpZDogJ3BhcnRp dGlvbl9uYW1lJywgbGFiZWw6IGdldHRleHQoJ05hbWUnKSwKKyAgICAgIGlkOiAncGFydGl0aW9u X25hbWUnLCBsYWJlbDogZ2V0dGV4dCgnTmFtZScpLCBkZXBzOiBbJ2lzX2F0dGFjaCddLAogICAg ICAgdHlwZTogKHN0YXRlKT0+ewogICAgICAgICBpZihzdGF0ZS5pc19hdHRhY2gpIHsKICAgICAg ICAgICByZXR1cm4gewpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3Jv dXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3V0aWxzLnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3V0aWxzLnB5CmluZGV4IGUxM2RiZDFlNy4uZTAwOTkzOTZlIDEwMDY0NAotLS0gYS93ZWIvcGdh ZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvdXRpbHMucHkKKysrIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3V0aWxzLnB5CkBAIC0yMDcyLDEwICsyMDcyLDEw IEBAIGNsYXNzIEJhc2VUYWJsZVZpZXcoUEdDaGlsZE5vZGVWaWV3LCBCYXNlUGFydGl0aW9uVGFi bGUsIFZhY3V1bVNldHRpbmdzKToKICAgICAgICAgICAgIGZvciBvbGRfZGF0YV9yb3cgaW4gb2xk X2RhdGFbdmFjdXVtX2tleV06CiAgICAgICAgICAgICAgICAgaWYgZGF0YV9yb3dbJ25hbWUnXSA9 PSBvbGRfZGF0YV9yb3dbJ25hbWUnXSBhbmQgXAogICAgICAgICAgICAgICAgICAgICAgICAgJ3Zh bHVlJyBpbiBkYXRhX3JvdzoKLSAgICAgICAgICAgICAgICAgICAgaWYgZGF0YV9yb3dbJ3ZhbHVl J10gaXMgbm90IE5vbmU6CisgICAgICAgICAgICAgICAgICAgIGlmIGRhdGFfcm93Wyd2YWx1ZSdd IGlzIG5vdCBOb25lIGFuZCBcCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGF0YV9yb3db J3ZhbHVlJ10gIT0gJyc6CiAgICAgICAgICAgICAgICAgICAgICAgICBzZXRfdmFsdWVzLmFwcGVu ZChkYXRhX3JvdykKLSAgICAgICAgICAgICAgICAgICAgZWxpZiBkYXRhX3Jvd1sndmFsdWUnXSBp cyBOb25lIGFuZCBcCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3ZhbHVlJyBpbiBvbGRf ZGF0YV9yb3c6CisgICAgICAgICAgICAgICAgICAgIGVsaWYgJ3ZhbHVlJyBpbiBvbGRfZGF0YV9y b3c6CiAgICAgICAgICAgICAgICAgICAgICAgICByZXNldF92YWx1ZXMuYXBwZW5kKGRhdGFfcm93 KQogCiAgICAgICAgIGlmIGxlbihzZXRfdmFsdWVzKSA+IDA6CmRpZmYgLS1naXQgYS93ZWIvcGdh ZG1pbi9zdGF0aWMvanMvU2NoZW1hVmlldy9EYXRhR3JpZFZpZXcuanN4IGIvd2ViL3BnYWRtaW4v c3RhdGljL2pzL1NjaGVtYVZpZXcvRGF0YUdyaWRWaWV3LmpzeAppbmRleCBhN2Q5M2Y1MjIuLjgz NjNjNmIxMyAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL1NjaGVtYVZpZXcvRGF0 YUdyaWRWaWV3LmpzeAorKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvU2NoZW1hVmlldy9EYXRh R3JpZFZpZXcuanN4CkBAIC0yOSw2ICsyOSw3IEBAIGltcG9ydCB7IGNvbmZpcm1EZWxldGVSb3cg fSBmcm9tICcuLi9oZWxwZXJzL2xlZ2FjeUNvbm5lY3Rvcic7CiBpbXBvcnQgQ3VzdG9tUHJvcFR5 cGVzIGZyb20gJ3NvdXJjZXMvY3VzdG9tX3Byb3BfdHlwZXMnOwogaW1wb3J0IHsgZXZhbEZ1bmMg fSBmcm9tICdzb3VyY2VzL3V0aWxzJzsKIGltcG9ydCB7IERlcExpc3RlbmVyQ29udGV4dCB9IGZy b20gJy4vRGVwTGlzdGVuZXInOworaW1wb3J0IHsgdXNlSXNNb3VudGVkIH0gZnJvbSAnLi4vY3Vz dG9tX2hvb2tzJzsKIAogY29uc3QgdXNlU3R5bGVzID0gbWFrZVN0eWxlcygodGhlbWUpPT4oewog ICBncmlkOiB7CkBAIC0xNzksMTcgKzE4MCwxOSBAQCBmdW5jdGlvbiBEYXRhVGFibGVSb3coe3Jv dywgdG90YWxSb3dzLCBpc1Jlc2l6aW5nLCBzY2hlbWEsIHNjaGVtYVJlZiwgYWNjZXNzUGF0aAog ICB9LCBbXSk7CiAKICAgdXNlRWZmZWN0KCgpPT57Ci0gICAgc2NoZW1hLmZpZWxkcy5mb3JFYWNo KChmaWVsZCk9PnsKKyAgICBzY2hlbWFSZWYuY3VycmVudC5maWVsZHMuZm9yRWFjaCgoZmllbGQp PT57CiAgICAgICAvKiBTZWxmIGNoYW5nZSBpcyBhbHNvIGRlcCBjaGFuZ2UgKi8KLSAgICAgIGlm KGZpZWxkLmRlcENoYW5nZSkgewotICAgICAgICBkZXBMaXN0ZW5lcj8uYWRkRGVwTGlzdGVuZXIo YWNjZXNzUGF0aC5jb25jYXQoZmllbGQuaWQpLCBhY2Nlc3NQYXRoLmNvbmNhdChmaWVsZC5pZCks IGZpZWxkLmRlcENoYW5nZSk7CisgICAgICBpZihmaWVsZC5kZXBDaGFuZ2UgfHwgZmllbGQuZGVm ZXJyZWREZXBDaGFuZ2UpIHsKKyAgICAgICAgZGVwTGlzdGVuZXIuYWRkRGVwTGlzdGVuZXIoYWNj ZXNzUGF0aC5jb25jYXQoZmllbGQuaWQpLCBhY2Nlc3NQYXRoLmNvbmNhdChmaWVsZC5pZCksIGZp ZWxkLmRlcENoYW5nZSwgZmllbGQuZGVmZXJyZWREZXBDaGFuZ2UpOwogICAgICAgfQogICAgICAg KGV2YWxGdW5jKG51bGwsIGZpZWxkLmRlcHMpIHx8IFtdKS5mb3JFYWNoKChkZXApPT57CiAgICAg ICAgIGxldCBzb3VyY2UgPSBhY2Nlc3NQYXRoLmNvbmNhdChkZXApOwogICAgICAgICBpZihfLmlz QXJyYXkoZGVwKSkgewogICAgICAgICAgIHNvdXJjZSA9IGRlcDsKICAgICAgICAgfQotICAgICAg ICBkZXBMaXN0ZW5lcj8uYWRkRGVwTGlzdGVuZXIoc291cmNlLCBhY2Nlc3NQYXRoLmNvbmNhdChm aWVsZC5pZCksIGZpZWxkLmRlcENoYW5nZSk7CisgICAgICAgIGlmKGZpZWxkLmRlcENoYW5nZSkg eworICAgICAgICAgIGRlcExpc3RlbmVyLmFkZERlcExpc3RlbmVyKHNvdXJjZSwgYWNjZXNzUGF0 aC5jb25jYXQoZmllbGQuaWQpLCBmaWVsZC5kZXBDaGFuZ2UpOworICAgICAgICB9CiAgICAgICB9 KTsKICAgICB9KTsKICAgICByZXR1cm4gKCk9PnsKQEAgLTI0NCw2ICsyNDcsNyBAQCBleHBvcnQg ZGVmYXVsdCBmdW5jdGlvbiBEYXRhR3JpZFZpZXcoewogICBmaXhlZFJvd3MsIC4uLnByb3BzfSkg ewogICBjb25zdCBjbGFzc2VzID0gdXNlU3R5bGVzKCk7CiAgIGNvbnN0IHN0YXRlVXRpbHMgPSB1 c2VDb250ZXh0KFN0YXRlVXRpbHNDb250ZXh0KTsKKyAgY29uc3QgY2hlY2tJc01vdW50ZWQgPSB1 c2VJc01vdW50ZWQoKTsKIAogICAvKiBVc2luZyByZWYgc28gdGhhdCBzY2hlbWEgdmFyaWFibGUg aXMgbm90IGZyb3plbiBpbiBjb2x1bW5zIGNsb3N1cmUgKi8KICAgY29uc3Qgc2NoZW1hUmVmID0g dXNlUmVmKHNjaGVtYSk7CkBAIC00MzIsNyArNDM2LDcgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rp b24gRGF0YUdyaWRWaWV3KHsKICAgKTsKIAogICB1c2VFZmZlY3QoKCk9PnsKLSAgICBsZXQgcm93 c1Byb21pc2UgPSBmaXhlZFJvd3MsIHVtb3VudGVkPWZhbHNlOworICAgIGxldCByb3dzUHJvbWlz ZSA9IGZpeGVkUm93czsKIAogICAgIC8qIElmIGZpeGVkUm93cyBpcyBkZWZpbmVkLCBmZXRjaCB0 aGUgZGV0YWlscyAqLwogICAgIGlmKHR5cGVvZiByb3dzUHJvbWlzZSA9PT0gJ2Z1bmN0aW9uJykg ewpAQCAtNDQyLDEyICs0NDYsMTEgQEAgZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gRGF0YUdyaWRW aWV3KHsKICAgICAgIFByb21pc2UucmVzb2x2ZShyb3dzUHJvbWlzZSkKICAgICAgICAgLnRoZW4o KHJlcyk9PnsKICAgICAgICAgICAvKiBJZiBjb21wb25lbnQgdW5tb3VudGVkLCBkb250IHVwZGF0 ZSBzdGF0ZSAqLwotICAgICAgICAgIGlmKCF1bW91bnRlZCkgeworICAgICAgICAgIGlmKGNoZWNr SXNNb3VudGVkKCkpIHsKICAgICAgICAgICAgIHN0YXRlVXRpbHMuaW5pdE9yaWdEYXRhKGFjY2Vz c1BhdGgsIHJlcyk7CiAgICAgICAgICAgfQogICAgICAgICB9KTsKICAgICB9Ci0gICAgcmV0dXJu ICgpPT51bW91bnRlZD10cnVlOwogICB9LCBbXSk7CiAKICAgY29uc3QgaXNSZXNpemluZyA9IF8u ZmxhdE1hcChoZWFkZXJHcm91cHMsIGhlYWRlckdyb3VwID0+IGhlYWRlckdyb3VwLmhlYWRlcnMu bWFwKGNvbD0+Y29sLmlzUmVzaXppbmcpKS5pbmNsdWRlcyh0cnVlKTsKZGlmZiAtLWdpdCBhL3dl Yi9wZ2FkbWluL3N0YXRpYy9qcy9TY2hlbWFWaWV3L0Zvcm1WaWV3LmpzeCBiL3dlYi9wZ2FkbWlu L3N0YXRpYy9qcy9TY2hlbWFWaWV3L0Zvcm1WaWV3LmpzeAppbmRleCAwM2Y2M2FlNWIuLjE3Mzcx MjAyZSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vc3RhdGljL2pzL1NjaGVtYVZpZXcvRm9ybVZp ZXcuanN4CisrKyBiL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9TY2hlbWFWaWV3L0Zvcm1WaWV3Lmpz eApAQCAtMjM3LDcgKzIzNyw2IEBAIGV4cG9ydCBkZWZhdWx0IGZ1bmN0aW9uIEZvcm1WaWV3KHsK ICAgICAgICAgKTsKICAgICAgIH0gZWxzZSBpZihmaWVsZC50eXBlID09PSAnY29sbGVjdGlvbicp IHsKICAgICAgICAgLyogSWYgaXRzIGEgY29sbGVjdGlvbiwgbGV0IGRhdGEgZ3JpZCB2aWV3IGhh bmRsZSBpdCAqLwotICAgICAgICBsZXQgZGVwc01hcCA9IFt2YWx1ZVtmaWVsZC5pZF1dOwogICAg ICAgICAvKiBQYXNzIG9uIHRoZSB0b3Agc2NoZW1hICovCiAgICAgICAgIGlmKGlzTmVzdGVkKSB7 CiAgICAgICAgICAgZmllbGQuc2NoZW1hLnRvcCA9IHNjaGVtYVJlZi5jdXJyZW50LnRvcDsKQEAg LTI0NSw4ICsyNDQsNiBAQCBleHBvcnQgZGVmYXVsdCBmdW5jdGlvbiBGb3JtVmlldyh7CiAgICAg ICAgICAgZmllbGQuc2NoZW1hLnRvcCA9IHNjaGVtYVJlZi5jdXJyZW50OwogICAgICAgICB9CiAK LSAgICAgICAgZGVwc01hcC5wdXNoKGNhbkFkZCwgY2FuRWRpdCwgY2FuRGVsZXRlLCB2aXNpYmxl KTsKLQogICAgICAgICBpZighXy5pc1VuZGVmaW5lZChmaWVsZC5maXhlZFJvd3MpKSB7CiAgICAg ICAgICAgY2FuQWRkID0gZmFsc2U7CiAgICAgICAgICAgY2FuRGVsZXRlID0gZmFsc2U7CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9zdGF0aWMvanMvU2NoZW1hVmlldy9pbmRleC5qc3ggYi93ZWIv cGdhZG1pbi9zdGF0aWMvanMvU2NoZW1hVmlldy9pbmRleC5qc3gKaW5kZXggNjJkM2VjM2U5Li5l NWU4MmI4ZDcgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9TY2hlbWFWaWV3L2lu ZGV4LmpzeAorKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvU2NoZW1hVmlldy9pbmRleC5qc3gK QEAgLTEyMSw2ICsxMjEsNyBAQCBmdW5jdGlvbiBnZXRDaGFuZ2VkRGF0YSh0b3BTY2hlbWEsIHZp ZXdIZWxwZXJQcm9wcywgc2Vzc0RhdGEsIHN0cmluZ2lmeT1mYWxzZSkgewogICAvKiBXaWxsIGJl IGNhbGxlZCByZWN1cnNpdmVseSBhcyBkYXRhIGNhbiBiZSBuZXN0ZWQgKi8KICAgY29uc3QgcGFy c2VDaGFuZ2VzID0gKHNjaGVtYSwgb3JpZ1ZhbCwgc2Vzc1ZhbCk9PnsKICAgICBsZXQgbGV2ZWxD aGFuZ2VzID0ge307CisgICAgcGFyc2VDaGFuZ2VzLmRlcHRoID0gXy5pc1VuZGVmaW5lZChwYXJz ZUNoYW5nZXMuZGVwdGgpID8gMCA6IHBhcnNlQ2hhbmdlcy5kZXB0aCsxOwogCiAgICAgLyogVGhl IGNvbXBhcmF0b3IgYW5kIHNldHRlciAqLwogICAgIGNvbnN0IGF0dHJDaGFuZ2VkID0gKGlkLCBj aGFuZ2UsIGZvcmNlPWZhbHNlKT0+ewpAQCAtMTMxLDggKzEzMiw5IEBAIGZ1bmN0aW9uIGdldENo YW5nZWREYXRhKHRvcFNjaGVtYSwgdmlld0hlbHBlclByb3BzLCBzZXNzRGF0YSwgc3RyaW5naWZ5 PWZhbHNlKSB7CiAgICAgICAgIGlmKHN0cmluZ2lmeSAmJiAoXy5pc0FycmF5KGNoYW5nZSkgfHwg Xy5pc09iamVjdChjaGFuZ2UpKSkgewogICAgICAgICAgIGNoYW5nZSA9IEpTT04uc3RyaW5naWZ5 KGNoYW5nZSk7CiAgICAgICAgIH0KLSAgICAgICAgLyogTnVsbCB2YWx1ZXMgYXJlIG5vdCBwYXNz ZWQgaW4gVVJMIHBhcmFtcywgcGFzcyBpdCBhcyBhbiBlbXB0eSBzdHJpbmcgKi8KLSAgICAgICAg aWYoXy5pc051bGwoY2hhbmdlKSkgeworICAgICAgICAvKiBOdWxsIHZhbHVlcyBhcmUgbm90IHBh c3NlZCBpbiBVUkwgcGFyYW1zLCBwYXNzIGl0IGFzIGFuIGVtcHR5IHN0cmluZworICAgICAgICBO ZXN0ZWQgdmFsdWVzIGRvZXMgbm90IG5lZWQgdGhpcyAqLworICAgICAgICBpZihfLmlzTnVsbChj aGFuZ2UpICYmIHBhcnNlQ2hhbmdlcy5kZXB0aCA9PT0gMCkgewogICAgICAgICAgIGNoYW5nZSA9 ICcnOwogICAgICAgICB9CiAgICAgICAgIHJldHVybiBsZXZlbENoYW5nZXNbaWRdID0gY2hhbmdl OwpAQCAtMjM0LDYgKzIzNiw3IEBAIGZ1bmN0aW9uIGdldENoYW5nZWREYXRhKHRvcFNjaGVtYSwg dmlld0hlbHBlclByb3BzLCBzZXNzRGF0YSwgc3RyaW5naWZ5PWZhbHNlKSB7CiAgICAgICB9CiAg ICAgfSk7CiAKKyAgICBwYXJzZUNoYW5nZXMuZGVwdGgtLTsKICAgICByZXR1cm4gbGV2ZWxDaGFu Z2VzOwogICB9OwogCkBAIC00ODAsNyArNDgzLDcgQEAgZnVuY3Rpb24gU2NoZW1hRGlhbG9nVmll dyh7CiAKICAgICAvKiB0ZWxsIHRoZSBjYWxsYmFja3MgdGhlIGRhdGEgaGFzIGNoYW5nZWQgKi8K ICAgICBwcm9wcy5vbkRhdGFDaGFuZ2UgJiYgcHJvcHMub25EYXRhQ2hhbmdlKGlzRGF0YUNoYW5n ZWQsIGNoYW5nZWREYXRhKTsKLSAgfSwgW3Nlc3NEYXRhXSk7CisgIH0sIFtzZXNzRGF0YSwgZm9y bVJlYWR5XSk7CiAKICAgdXNlRWZmZWN0KCgpPT57CiAgICAgaWYoc2Vzc0RhdGEuX19kZWZlcnJl ZF9fPy5sZW5ndGggPiAwKSB7CkBAIC00ODgsNyArNDkxLDYgQEAgZnVuY3Rpb24gU2NoZW1hRGlh bG9nVmlldyh7CiAgICAgICAgIHR5cGU6IFNDSEVNQV9TVEFURV9BQ1RJT05TLkNMRUFSX0RFRkVS UkVEX1FVRVVFLAogICAgICAgfSk7CiAKLSAgICAgIC8vIGxldCBkZWZlcnJlZERlcENoYW5nID0g c2Vzc0RhdGEuX19kZWZlcnJlZF9fWzBdOwogICAgICAgbGV0IGl0ZW0gPSBzZXNzRGF0YS5fX2Rl ZmVycmVkX19bMF07CiAgICAgICBpdGVtLnByb21pc2UudGhlbigocmVzRnVuYyk9PnsKICAgICAg ICAgc2Vzc0Rpc3BhdGNoKHsKQEAgLTUyNiw3ICs1MjgsNiBAQCBmdW5jdGlvbiBTY2hlbWFEaWFs b2dWaWV3KHsKICAgICAgICAgfSk7CiAgICAgICAgIHNldEZvcm1SZWFkeSh0cnVlKTsKICAgICAg ICAgc2V0TG9hZGVyVGV4dCgnJyk7Ci0KICAgICAgIH0pOwogICAgIH0gZWxzZSB7CiAgICAgICAv KiBVc2UgdGhlIGRlZmF1bHRzIGFzIHRoZSBpbml0aXRhbCBkYXRhICovCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9zdGF0aWMvanMvaGVscGVycy9sZWdhY3lDb25uZWN0b3IuanMgYi93ZWIvcGdh ZG1pbi9zdGF0aWMvanMvaGVscGVycy9sZWdhY3lDb25uZWN0b3IuanMKaW5kZXggOTI1N2E4MjE5 Li4yZjA5YzJhMTkgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3N0YXRpYy9qcy9oZWxwZXJzL2xl Z2FjeUNvbm5lY3Rvci5qcworKysgYi93ZWIvcGdhZG1pbi9zdGF0aWMvanMvaGVscGVycy9sZWdh Y3lDb25uZWN0b3IuanMKQEAgLTQ3LDEyICs0NywxNiBAQCBleHBvcnQgZnVuY3Rpb24gc2hvd0Zp bGVEaWFsb2coZGlhbG9nUGFyYW1zLCBvbkZpbGVTZWxlY3QpIHsKICAgcGdBZG1pbi5GaWxlTWFu YWdlci5pbml0KCk7CiAgIHBnQWRtaW4uRmlsZU1hbmFnZXIuc2hvd19kaWFsb2cocGFyYW1zKTsK IAorICBjb25zdCBvbkZpbGVTZWxlY3RDbG9zZSA9ICh2YWx1ZSk9PnsKKyAgICByZW1vdmVMaXN0 ZW5lcnMoKTsKKyAgICBvbkZpbGVTZWxlY3QodmFsdWUpOworICB9OwogICBjb25zdCBvbkRpYWxv Z0Nsb3NlID0gKCk9PnJlbW92ZUxpc3RlbmVycygpOwotICBwZ0FkbWluLkJyb3dzZXIuRXZlbnRz Lm9uKCdwZ2FkbWluLXN0b3JhZ2U6ZmluaXNoX2J0bjonICsgcGFyYW1zLmRpYWxvZ190eXBlLCBv bkZpbGVTZWxlY3QpOworICBwZ0FkbWluLkJyb3dzZXIuRXZlbnRzLm9uKCdwZ2FkbWluLXN0b3Jh Z2U6ZmluaXNoX2J0bjonICsgcGFyYW1zLmRpYWxvZ190eXBlLCBvbkZpbGVTZWxlY3RDbG9zZSk7 CiAgIHBnQWRtaW4uQnJvd3Nlci5FdmVudHMub24oJ3BnYWRtaW4tc3RvcmFnZTpjYW5jZWxfYnRu OicgKyBwYXJhbXMuZGlhbG9nX3R5cGUsIG9uRGlhbG9nQ2xvc2UpOwogCiAgIGNvbnN0IHJlbW92 ZUxpc3RlbmVycyA9ICgpPT57Ci0gICAgcGdBZG1pbi5Ccm93c2VyLkV2ZW50cy5vZmYoJ3BnYWRt aW4tc3RvcmFnZTpmaW5pc2hfYnRuOicgKyBwYXJhbXMuZGlhbG9nX3R5cGUsIG9uRmlsZVNlbGVj dCk7CisgICAgcGdBZG1pbi5Ccm93c2VyLkV2ZW50cy5vZmYoJ3BnYWRtaW4tc3RvcmFnZTpmaW5p c2hfYnRuOicgKyBwYXJhbXMuZGlhbG9nX3R5cGUsIG9uRmlsZVNlbGVjdENsb3NlKTsKICAgICBw Z0FkbWluLkJyb3dzZXIuRXZlbnRzLm9mZigncGdhZG1pbi1zdG9yYWdlOmNhbmNlbF9idG46JyAr IHBhcmFtcy5kaWFsb2dfdHlwZSwgb25EaWFsb2dDbG9zZSk7CiAgIH07CiB9Cg== --00000000000069596605cd36765f--