Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1eSI-00033W-Ni for pgadmin-hackers@arkaria.postgresql.org; Fri, 21 Apr 2017 19:42:59 +0000 Received: from localhost ([127.0.0.1] helo=postgresql.org) by malur.postgresql.org with smtp (Exim 4.84_2) (envelope-from ) id 1d1eSI-0003Iw-72 for pgadmin-hackers@arkaria.postgresql.org; Fri, 21 Apr 2017 19:42:58 +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 1d1eS0-0002su-Sg for pgadmin-hackers@postgresql.org; Fri, 21 Apr 2017 19:42:41 +0000 Received: from mail-ua0-x232.google.com ([2607:f8b0:400c:c08::232]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.84_2) (envelope-from ) id 1d1eRw-0007XK-Ml for pgadmin-hackers@postgresql.org; Fri, 21 Apr 2017 19:42:39 +0000 Received: by mail-ua0-x232.google.com with SMTP id a1so87465356uaf.3 for ; Fri, 21 Apr 2017 12:42:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=pivotal-io.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=pOYWF1iGnH9r7HwpOX2kObzpVhUswsoVBxZ/AUD6Xr0=; b=pmnnRjQ0Vqh49Fm5qeXwpQdVYdo5fVz/mpy8Z+sa8+yibns0kzqRxBnOoZ9QokYtUj Oaui/FwrYdIT0zmcS+DTd3gTjGLzBdM3R6LFL1ghlLLjgynK+e+8GmnwJCm84t4/CEIg r3F7kQdWVDNWhXeBe2aArCRuBN259IuxeJYuAfT/AQOFhyyKcU1wT7DWxvxSELQGXtuE HEfHEcSr/ZBriKz0hcBQecRCeBxLA3qf8vf/ZjauUgKswNzv2i0XY7mgcJXNMmxhMwUL 2xpOlVkn3MAORoTl5SH+r4CJFEtozM/orkQpgBbUGubMfr7HITlhjIFdsVzXjfjozHsX ytFg== 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=pOYWF1iGnH9r7HwpOX2kObzpVhUswsoVBxZ/AUD6Xr0=; b=id9Z/VL5WtKQO/YWutD09w4y/yBDjnDkoY7tNymM9B2Jv9inwB0O+nxVpw3q5p4CBv gfCGVs1BZvMcUGNf0JN6qNDqOoilWaBhdesnWWUSuXy/FY90NUKojFJeQG2sgdaxBUDO U/ONgIN77n/dYX35D3gbqXki0mcm2E8e/akp4syOmxvXZc/jKcWiba/hdMgHA7crtwDF 9fNRBYFfJXBqNbGobIB0cxD3FMYvXDm56jfay9z+0M386zQqs7NVQ/YrJmrm5lJ2rth6 Ely451nt+CjF12JBX3TiEi74Kqv4Z4KTeI0WK6z7bVDo6WLnTYrHrkBvqI65cKVGqqSd A92Q== X-Gm-Message-State: AN3rC/4zjIwJRFhsmQ12Jlh9ESVvh4OkGyPZG2hgn2Jio3qOTCvucuMM xvklyUhIeV+gIiGb6fknzcvgCgffXGgExlg= X-Received: by 10.159.32.67 with SMTP id 61mr5843611uam.42.1492803754393; Fri, 21 Apr 2017 12:42:34 -0700 (PDT) MIME-Version: 1.0 Received: by 10.103.10.199 with HTTP; Fri, 21 Apr 2017 12:42:33 -0700 (PDT) From: Joao Pedro De Almeida Pereira Date: Fri, 21 Apr 2017 15:42:33 -0400 Message-ID: Subject: [patch] Dependents and Dependencies in GreenPlum To: pgadmin-hackers Content-Type: multipart/mixed; boundary=94eb2c03eb6280b71b054db27506 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 --94eb2c03eb6280b71b054db27506 Content-Type: multipart/alternative; boundary=94eb2c03eb6280b715054db27504 --94eb2c03eb6280b715054db27504 Content-Type: text/plain; charset=UTF-8 Hi Hackers, We found out that when you are connected to a GreenPlum database and try to get Dependents and Dependencies of an object the application was returning a SQL error. This patch splits the SQL query used to retrieve the Dependents, Dependencies, and Roles SQL file into multiple versioned files. Add Unit Tests for each file. Also added __init__.py files to other test directories to run the tests in them. Add ORDER BY into Copy Selection Feature test to ensure the results are retrieved always in the same order Renamed the Scenario of the xss_checks_pgadmin_debugger_test and skip it for versions less than 9.1 Thanks Joao & Sarah --94eb2c03eb6280b715054db27504 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable
Hi Hackers,

We found out that when you = are connected to a GreenPlum database and try to get Dependents and Depende= ncies of an object the application was returning a SQL error.
This patch splits the SQL query used to retrieve the Dependents= , Dependencies, and Roles SQL file into multiple versioned files.
Add Unit Tests for each file.
Also added __init__.py files to ot= her test directories to run the tests in them.
Add ORDER BY into = Copy Selection Feature test to ensure the results are retrieved always in t= he same order
Renamed the Scenario of the=C2=A0xss_checks_pgadmin= _debugger_test and skip it for versions less than 9.1

<= div>Thanks

Joao & Sarah
--94eb2c03eb6280b715054db27504-- --94eb2c03eb6280b71b054db27506 Content-Type: application/octet-stream; name="0001-Fix-error-while-checking-Dependents-and-Dependencies.patch" Content-Disposition: attachment; filename="0001-Fix-error-while-checking-Dependents-and-Dependencies.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_j1s8s3g60 RnJvbSAwYzIxZmY3YTgxYjQ0MjE4NTZhMWJmMWM3YTQ5NWI1NWJkM2FkMWE2 IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBKb2FvIFBlcmVpcmEg YW5kIE9saXZlciBTd2l0emVyIDxwYWlyK2pwZXJlaXJhK29zd2l0emVyQHBp dm90YWwuaW8+CkRhdGU6IFR1ZSwgMTggQXByIDIwMTcgMTY6MDg6MjggLTA0 MDAKU3ViamVjdDogW1BBVENIXSBGaXggZXJyb3Igd2hpbGUgY2hlY2tpbmcg RGVwZW5kZW50cyBhbmQgRGVwZW5kZW5jaWVzIG9mCiBvYmplY3QgaW4gR3Jl ZW5QbHVtOiAtIE1ha2UgU1FMIHRlbXBsYXRlIFVUIHZpc2libGUgdG8gcnVu dGVzdCAtIEFkZCBTUUwgdG8KIHJldHJpZXZlIGRlcGVuZGVuY2llcyBmb3Ig R3JlZW5QbHVtIC0gRXh0cmFjdCBSb2xlIERlcGVuZGVuY2llcyBmcm9tIHNp bmdsZQogZGVwZW5kZW50cyBmaWxlIC0gU3BsaXQgdGVtcGxhdGUgZm9yIGRl cGVuZGVudHMgU1FMIC0gQWRkICdTRVQgTE9DQUwKIGpvaW5fY29sbGFwc2Vf bGltaXQ9ODsnIHRvIGRlcGVuZGVuY3kvZGVwZW5kZW50cyB0byBtYWtlIHRo ZW0gZmFzdGVyLiBPbmx5CiBjYXZlYXQgaXMgdGhhdCB0aGlzIHdpbGwgcmVt YWluIHVuY2hhbmdlZCBmb3IgdGhlIHNlc3Npb24gLSBBZGQgbW9yZQogZXhw ZWN0YXRpb25zIHRvIHJvbGUgZGVwZW5kZW5jaWVzIC0gU3BlY2lmeSBvcmRl ciBvZiBxdWVyeSBpbgogY29weV9zZWxlY3RlZF9xdWVyeV9yZXN1bHRzX2Zl YXR1cmVfdGVzdCB0byBtYWtlIHRlc3RzIHBhc3MgICAgLSBHcmVlblBsdW0K IGFuZCBQb3N0Z3JlcyBvcmRlciB0aGVzZSByZXN1bHRzIGRpZmZlcmVudGx5 IGJ5IGRlZmF1bHQgd2l0aG91dCBhbiBvcmRlcgogY2xhdXNlIHNwZWNpZmll ZC4gLSBTa2lwIFhTUyB0ZXN0IGZvciBHcmVlblBsdW0KCi0tLQogLi4uL3Rh Ymxlcy90ZW1wbGF0ZXMvY29sdW1uL3NxbC9fX2luaXRfXy5weSAgICAgICAg fCAgNiArKwogLi4uL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1uL3NxbC90ZXN0 cy9fX2luaXRfXy5weSAgfCAgNiArKwogLi4uL3RlbXBsYXRlcy9jb2x1bW4v c3FsL3Rlc3RzL3Rlc3RfY29sdW1uX2FjbC5weSAgfCAgNCArKwogLi4uL2Nv bHVtbi9zcWwvdGVzdHMvdGVzdF9jb2x1bW5fcHJvcGVydGllcy5weSAgICAg fCAgNCArKwogLi4uL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90cmlnZ2Vy L19faW5pdF9fLnB5ICAgfCAgNiArKwogLi4uL3RyaWdnZXIvc3FsL3Rlc3Rz L3Rlc3RfdHJpZ2dlcl9nZXRfb2lkLnB5ICAgICAgfCAgNCArLQogLi4uL3Ry aWdnZXIvc3FsL3Rlc3RzL3Rlc3RfdHJpZ2dlcl9ub2Rlcy5weSAgICAgICAg fCAgMyArCiAuLi4vc2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9fX2luaXRf Xy5weSAgICAgICAgICB8ICA2ICsrCiAuLi4vZGVwZW5kcy9zcWwvOS4xX3Bs dXMvZGVwZW5kZW5jaWVzLnNxbCAgICAgICAgICB8IDQ1ICsrKysrKysrKysr KysrKwogLi4uL3RlbXBsYXRlcy9kZXBlbmRzL3NxbC85LjFfcGx1cy9kZXBl bmRlbnRzLnNxbCAgfCA0NCArKysrKysrKysrKysrKysKIC4uLi9zZXJ2ZXJz L3RlbXBsYXRlcy9kZXBlbmRzL3NxbC9fX2luaXRfXy5weSAgICAgIHwgIDYg KysKIC4uLi90ZW1wbGF0ZXMvZGVwZW5kcy9zcWwvZGVmYXVsdC9kZXBlbmRl bmNpZXMuc3FsIHwgNDIgKysrKysrKysrKysrKysKIC4uLi90ZW1wbGF0ZXMv ZGVwZW5kcy9zcWwvZGVmYXVsdC9kZXBlbmRlbnRzLnNxbCAgIHwgNjYgKy0t LS0tLS0tLS0tLS0tLS0tLS0tLQogLi4uL2RlcGVuZHMvc3FsL2RlZmF1bHQv cm9sZV9kZXBlbmRlbmNpZXMuc3FsICAgICAgfCAgNCArKwogLi4uL3RlbXBs YXRlcy9kZXBlbmRzL3NxbC90ZXN0cy9fX2luaXRfXy5weSAgICAgICAgfCAg NiArKwogLi4uL2RlcGVuZHMvc3FsL3Rlc3RzL3Rlc3RfZGVwZW5kZW5jaWVz LnB5ICAgICAgICAgfCA1OCArKysrKysrKysrKysrKysrKysrCiAuLi4vdGVt cGxhdGVzL2RlcGVuZHMvc3FsL3Rlc3RzL3Rlc3RfZGVwZW5kZW50cy5weSB8 IDU4ICsrKysrKysrKysrKysrKysrKysKIC4uLi9kZXBlbmRzL3NxbC90ZXN0 cy90ZXN0X3JvbGVfZGVwZW5kZW5jaWVzLnB5ICAgIHwgNTQgKysrKysrKysr KysrKysrKysrCiB3ZWIvcGdhZG1pbi9icm93c2VyL3V0aWxzLnB5ICAgICAg ICAgICAgICAgICAgICAgICB8IDEwICsrLS0KIC4uLi9jb3B5X3NlbGVjdGVk X3F1ZXJ5X3Jlc3VsdHNfZmVhdHVyZV90ZXN0LnB5ICAgIHwgIDIgKy0KIC4u Li94c3NfY2hlY2tzX3BnYWRtaW5fZGVidWdnZXJfdGVzdC5weSAgICAgICAg ICAgIHwgIDYgKy0KIDIxIGZpbGVzIGNoYW5nZWQsIDM2OSBpbnNlcnRpb25z KCspLCA3MSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIv cGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFz ZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbi9zcWwvX19pbml0 X18ucHkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJs ZXMvdGVtcGxhdGVzL2NvbHVtbi9zcWwvdGVzdHMvX19pbml0X18ucHkKIGNy ZWF0ZSBtb2RlIDEwMDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxh dGVzL3RyaWdnZXIvX19pbml0X18ucHkKIGNyZWF0ZSBtb2RlIDEwMDY0NCB3 ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1w bGF0ZXMvZGVwZW5kcy9fX2luaXRfXy5weQogY3JlYXRlIG1vZGUgMTAwNjQ0 IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rl bXBsYXRlcy9kZXBlbmRzL3NxbC85LjFfcGx1cy9kZXBlbmRlbmNpZXMuc3Fs CiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2 ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2RlcGVuZHMvc3FsLzkuMV9w bHVzL2RlcGVuZGVudHMuc3FsCiBjcmVhdGUgbW9kZSAxMDA2NDQgd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVz L2RlcGVuZHMvc3FsL19faW5pdF9fLnB5CiBjcmVhdGUgbW9kZSAxMDA2NDQg d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVt cGxhdGVzL2RlcGVuZHMvc3FsL2RlZmF1bHQvZGVwZW5kZW5jaWVzLnNxbAog Y3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVy X2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9kZXBlbmRzL3NxbC9kZWZhdWx0 L3JvbGVfZGVwZW5kZW5jaWVzLnNxbAogY3JlYXRlIG1vZGUgMTAwNjQ0IHdl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBs YXRlcy9kZXBlbmRzL3NxbC90ZXN0cy9fX2luaXRfXy5weQogY3JlYXRlIG1v ZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL3RlbXBsYXRlcy9kZXBlbmRzL3NxbC90ZXN0cy90ZXN0X2RlcGVu ZGVuY2llcy5weQogY3JlYXRlIG1vZGUgMTAwNjQ0IHdlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9kZXBlbmRz L3NxbC90ZXN0cy90ZXN0X2RlcGVuZGVudHMucHkKIGNyZWF0ZSBtb2RlIDEw MDY0NCB3ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy90ZW1wbGF0ZXMvZGVwZW5kcy9zcWwvdGVzdHMvdGVzdF9yb2xlX2RlcGVu ZGVuY2llcy5weQoKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy90ZW1wbGF0ZXMvY29sdW1uL3NxbC9fX2luaXRfXy5weSBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1uL3NxbC9fX2luaXRfXy5w eQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uOWU1NWQy YjIKLS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv dGVtcGxhdGVzL2NvbHVtbi9zcWwvX19pbml0X18ucHkKQEAgLTAsMCArMSw2 IEBACisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMg Q29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNywgVGhlIHBnQWRtaW4gRGV2ZWxv cG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVy IHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1uL3NxbC90ZXN0cy9f X2luaXRfXy5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMv Y29sdW1uL3NxbC90ZXN0cy9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMC4uOWU1NWQyYjIKLS0tIC9kZXYvbnVsbAor KysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVy cy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbi9z cWwvdGVzdHMvX19pbml0X18ucHkKQEAgLTAsMCArMSw2IEBACisjCisjIHBn QWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMKKyMKKyMgQ29weXJpZ2h0IChD KSAyMDEzIC0gMjAxNywgVGhlIHBnQWRtaW4gRGV2ZWxvcG1lbnQgVGVhbQor IyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2VkIHVuZGVyIHRoZSBQb3N0Z3Jl U1FMIExpY2VuY2UKKyMKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dz ZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3Rh Ymxlcy90ZW1wbGF0ZXMvY29sdW1uL3NxbC90ZXN0cy90ZXN0X2NvbHVtbl9h Y2wucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVt bi9zcWwvdGVzdHMvdGVzdF9jb2x1bW5fYWNsLnB5CmluZGV4IDdiZTk0NWM3 Li42OGJjY2ZjOCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3RlbXBsYXRlcy9jb2x1bW4vc3FsL3Rlc3RzL3Rlc3RfY29sdW1uX2FjbC5w eQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL2NvbHVt bi9zcWwvdGVzdHMvdGVzdF9jb2x1bW5fYWNsLnB5CkBAIC0xMyw2ICsxMywx MCBAQCBpZiBzeXMudmVyc2lvbl9pbmZvWzBdID49IDM6CiAKIAogY2xhc3Mg VGVzdENvbHVtbkFjbChCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgc2NlbmFy aW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQgVVJMIGZvciBz Y2hlbWEgbm9kZS4KKyAgICAgICAgKCdUZXN0IENvbHVtbiBBQ0wgU1FMIGZp bGUnLCBkaWN0KCkpCisgICAgXQogICAgIGRlZiBydW5UZXN0KHNlbGYpOgog ICAgICAgICAiIiIgV2hlbiB0aGVyZSBhcmUgbm8gcGVybWlzc2lvbnMgb24g dGhlIGNvbHVtbiwgaXQgcmV0dXJucyBhbiBlbXB0eSByZXN1bHQgIiIiCiAg ICAgICAgIHdpdGggdGVzdF91dGlscy5EYXRhYmFzZShzZWxmLnNlcnZlcikg YXMgKGNvbm5lY3Rpb24sIGRhdGFiYXNlX25hbWUpOgpkaWZmIC0tZ2l0IGEv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0 YWJhc2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy9jb2x1bW4vc3FsL3Rl c3RzL3Rlc3RfY29sdW1uX3Byb3BlcnRpZXMucHkgYi93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1h cy90YWJsZXMvdGVtcGxhdGVzL2NvbHVtbi9zcWwvdGVzdHMvdGVzdF9jb2x1 bW5fcHJvcGVydGllcy5weQppbmRleCBiMTk4NGJkYS4uM2MzNDU3YjYgMTAw NjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29s dW1uL3NxbC90ZXN0cy90ZXN0X2NvbHVtbl9wcm9wZXJ0aWVzLnB5CisrKyBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvY29sdW1uL3NxbC90 ZXN0cy90ZXN0X2NvbHVtbl9wcm9wZXJ0aWVzLnB5CkBAIC0yMiw2ICsyMiwx MCBAQCBpZiBzeXMudmVyc2lvbl9pbmZvWzBdID49IDM6CiAKIAogY2xhc3Mg VGVzdENvbHVtblByb3BlcnRpZXMoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAg IHNjZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVS TCBmb3Igc2NoZW1hIG5vZGUuCisgICAgICAgICgnVGVzdCBDb2x1bW4gUHJv cGVydGllcyBTUUwgZmlsZScsIGRpY3QoKSkKKyAgICBdCiAgICAgZGVmIHJ1 blRlc3Qoc2VsZik6CiAgICAgICAgICIiIiBUaGlzIHRlc3RzIHRoYXQgY29s dW1uIHByb3BlcnRpZXMgYXJlIHJldHVybmVkIiIiCiAgICAgICAgIHdpdGgg dGVzdF91dGlscy5EYXRhYmFzZShzZWxmLnNlcnZlcikgYXMgKGNvbm5lY3Rp b24sIGRhdGFiYXNlX25hbWUpOgpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4v YnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVt YXMvdGFibGVzL3RlbXBsYXRlcy90cmlnZ2VyL19faW5pdF9fLnB5IGIvd2Vi L3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90cmlnZ2VyL19faW5pdF9f LnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi45ZTU1 ZDJiMgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy90ZW1wbGF0ZXMvdHJpZ2dlci9fX2luaXRfXy5weQpAQCAtMCwwICsxLDYg QEAKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBD b3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE3LCBUaGUgcGdBZG1pbiBEZXZlbG9w bWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIg dGhlIFBvc3RncmVTUUwgTGljZW5jZQorIwpkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90cmlnZ2VyL3NxbC90ZXN0cy90 ZXN0X3RyaWdnZXJfZ2V0X29pZC5weSBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIv c2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxl cy90ZW1wbGF0ZXMvdHJpZ2dlci9zcWwvdGVzdHMvdGVzdF90cmlnZ2VyX2dl dF9vaWQucHkKaW5kZXggZjJiNjM3ZWUuLjI1Y2U4NDVkIDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy9k YXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvdGVtcGxhdGVzL3RyaWdnZXIvc3Fs L3Rlc3RzL3Rlc3RfdHJpZ2dlcl9nZXRfb2lkLnB5CisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9z Y2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvdHJpZ2dlci9zcWwvdGVzdHMvdGVz dF90cmlnZ2VyX2dldF9vaWQucHkKQEAgLTI0LDggKzI0LDEwIEBAIGlmIHN5 cy52ZXJzaW9uX2luZm9bMF0gPj0gMzoKIAogCiBjbGFzcyBUZXN0VHJpZ2dl ckdldE9pZChCYXNlVGVzdEdlbmVyYXRvcik6CisgICAgc2NlbmFyaW9zID0g WworICAgICAgICAoJ1Rlc3QgVHJpZ2dlciB0byByZXRyaWV2ZSBPSUQgU1FM IGZpbGUnLCBkaWN0KCkpCisgICAgXQogICAgIGRlZiBydW5UZXN0KHNlbGYp OgotICAgICAgICAiIiIgV2hlbiB0aGVyZSBhcmUgbm8gcGVybWlzc2lvbnMg b24gdGhlIGNvbHVtbiwgaXQgcmV0dXJucyBhbiBlbXB0eSByZXN1bHQgIiIi CiAgICAgICAgIHdpdGggdGVzdF91dGlscy5EYXRhYmFzZShzZWxmLnNlcnZl cikgYXMgKGNvbm5lY3Rpb24sIGRhdGFiYXNlX25hbWUpOgogICAgICAgICAg ICAgdGVzdF91dGlscy5jcmVhdGVfdGFibGUoc2VsZi5zZXJ2ZXIsIGRhdGFi YXNlX25hbWUsICJ0ZXN0X3RhYmxlIikKIApkaWZmIC0tZ2l0IGEvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2Vz L3NjaGVtYXMvdGFibGVzL3RlbXBsYXRlcy90cmlnZ2VyL3NxbC90ZXN0cy90 ZXN0X3RyaWdnZXJfbm9kZXMucHkgYi93ZWIvcGdhZG1pbi9icm93c2VyL3Nl cnZlcl9ncm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMv dGVtcGxhdGVzL3RyaWdnZXIvc3FsL3Rlc3RzL3Rlc3RfdHJpZ2dlcl9ub2Rl cy5weQppbmRleCBiMjNiZjYwYS4uYjgyZDg1ZDQgMTAwNjQ0Ci0tLSBhL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFi YXNlcy9zY2hlbWFzL3RhYmxlcy90ZW1wbGF0ZXMvdHJpZ2dlci9zcWwvdGVz dHMvdGVzdF90cmlnZ2VyX25vZGVzLnB5CisrKyBiL3dlYi9wZ2FkbWluL2Jy b3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFz L3RhYmxlcy90ZW1wbGF0ZXMvdHJpZ2dlci9zcWwvdGVzdHMvdGVzdF90cmln Z2VyX25vZGVzLnB5CkBAIC0yMiw2ICsyMiw5IEBAIGlmIHN5cy52ZXJzaW9u X2luZm9bMF0gPj0gMzoKIAogCiBjbGFzcyBUZXN0VHJpZ2dlck5vZGVzKEJh c2VUZXN0R2VuZXJhdG9yKToKKyAgICBzY2VuYXJpb3MgPSBbCisgICAgICAg ICgnVGVzdCBUcmlnZ2VyIE5vZGVzIFNRTCBmaWxlJywgZGljdCgpKQorICAg IF0KICAgICBkZWYgcnVuVGVzdChzZWxmKToKICAgICAgICAgIiIiIFdoZW4g dGhlcmUgYXJlIG5vIHRyaWdnZXJzLCBpdCByZXR1cm5zIGFuIGVtcHR5IHJl c3VsdCAiIiIKICAgICAgICAgd2l0aCB0ZXN0X3V0aWxzLkRhdGFiYXNlKHNl bGYuc2VydmVyKSBhcyAoY29ubmVjdGlvbiwgZGF0YWJhc2VfbmFtZSk6CmRp ZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9fX2luaXRfXy5weSBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRl cy9kZXBlbmRzL19faW5pdF9fLnB5Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAwLi45ZTU1ZDJiMgotLS0gL2Rldi9udWxsCisrKyBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBs YXRlcy9kZXBlbmRzL19faW5pdF9fLnB5CkBAIC0wLDAgKzEsNiBAQAorIwor IyBwZ0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdo dCAoQykgMjAxMyAtIDIwMTcsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRl YW0KKyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9z dGdyZVNRTCBMaWNlbmNlCisjCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9i cm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVwZW5k cy9zcWwvOS4xX3BsdXMvZGVwZW5kZW5jaWVzLnNxbCBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9kZXBl bmRzL3NxbC85LjFfcGx1cy9kZXBlbmRlbmNpZXMuc3FsCm5ldyBmaWxlIG1v ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5lNWJiOGNiNgotLS0gL2Rldi9u dWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9z ZXJ2ZXJzL3RlbXBsYXRlcy9kZXBlbmRzL3NxbC85LjFfcGx1cy9kZXBlbmRl bmNpZXMuc3FsCkBAIC0wLDAgKzEsNDUgQEAKK1NFTEVDVCBESVNUSU5DVCBk ZXAuZGVwdHlwZSwgZGVwLnJlZmNsYXNzaWQsIGNsLnJlbGtpbmQsIGFkLmFk YmluLCBhZC5hZHNyYywKKyAgICBDQVNFIFdIRU4gY2wucmVsa2luZCBJUyBO T1QgTlVMTCBUSEVOIGNsLnJlbGtpbmQgfHwgQ09BTEVTQ0UoZGVwLnJlZm9i anN1YmlkOjpjaGFyYWN0ZXIgdmFyeWluZywgJycpCisgICAgICAgIFdIRU4g dGcub2lkIElTIE5PVCBOVUxMIFRIRU4gJ1QnOjp0ZXh0CisgICAgICAgIFdI RU4gdHkub2lkIElTIE5PVCBOVUxMIEFORCB0eS50eXBiYXNldHlwZSA9IDAg VEhFTiAneSc6OnRleHQKKyAgICAgICAgV0hFTiB0eS5vaWQgSVMgTk9UIE5V TEwgQU5EIHR5LnR5cGJhc2V0eXBlICE9IDAgVEhFTiAnZCc6OnRleHQKKyAg ICAgICAgV0hFTiBucy5vaWQgSVMgTk9UIE5VTEwgVEhFTiAnbic6OnRleHQK KyAgICAgICAgV0hFTiBwci5vaWQgSVMgTk9UIE5VTEwgVEhFTiAncCc6OnRl eHQKKyAgICAgICAgV0hFTiBsYS5vaWQgSVMgTk9UIE5VTEwgVEhFTiAnbCc6 OnRleHQKKyAgICAgICAgV0hFTiBydy5vaWQgSVMgTk9UIE5VTEwgVEhFTiAn Uic6OnRleHQKKyAgICAgICAgV0hFTiBjby5vaWQgSVMgTk9UIE5VTEwgVEhF TiAnQyc6OnRleHQgfHwgY29udHlwZQorICAgICAgICBXSEVOIGFkLm9pZCBJ UyBOT1QgTlVMTCBUSEVOICdBJzo6dGV4dAorICAgICAgICBXSEVOIGZzLm9p ZCBJUyBOT1QgTlVMTCBUSEVOICdGJzo6dGV4dAorICAgICAgICBXSEVOIGZk dy5vaWQgSVMgTk9UIE5VTEwgVEhFTiAnZic6OnRleHQKKyAgICBFTFNFICcn CisgICAgRU5EIEFTIHR5cGUsCisgICAgQ09BTEVTQ0UoY29jLnJlbG5hbWUs IGNscncucmVsbmFtZSkgQVMgb3duZXJ0YWJsZSwKKyAgICBDQVNFIFdIRU4g Y2wucmVsbmFtZSBJUyBOT1QgTlVMTCBPUiBhdHQuYXR0bmFtZSBJUyBOT1Qg TlVMTCBUSEVOIGNsLnJlbG5hbWUgfHwgJy4nIHx8IGF0dC5hdHRuYW1lCisg ICAgRUxTRSBDT0FMRVNDRShjbC5yZWxuYW1lLCBjby5jb25uYW1lLCBwci5w cm9uYW1lLCB0Zy50Z25hbWUsIHR5LnR5cG5hbWUsIGxhLmxhbm5hbWUsIHJ3 LnJ1bGVuYW1lLCBucy5uc3BuYW1lLCBmcy5zcnZuYW1lLCBmZHcuZmR3bmFt ZSkKKyAgICBFTkQgQVMgcmVmbmFtZSwKKyAgICBDT0FMRVNDRShuc2MubnNw bmFtZSwgbnNvLm5zcG5hbWUsIG5zcC5uc3BuYW1lLCBuc3QubnNwbmFtZSwg bnNydy5uc3BuYW1lKSBBUyBuc3BuYW1lCitGUk9NIHBnX2RlcGVuZCBkZXAK K0xFRlQgSk9JTiBwZ19jbGFzcyBjbCBPTiBkZXAucmVmb2JqaWQ9Y2wub2lk CitMRUZUIEpPSU4gcGdfYXR0cmlidXRlIGF0dCBPTiBkZXAucmVmb2JqaWQ9 YXR0LmF0dHJlbGlkIEFORCBkZXAucmVmb2Jqc3ViaWQ9YXR0LmF0dG51bQor TEVGVCBKT0lOIHBnX25hbWVzcGFjZSBuc2MgT04gY2wucmVsbmFtZXNwYWNl PW5zYy5vaWQKK0xFRlQgSk9JTiBwZ19wcm9jIHByIE9OIGRlcC5yZWZvYmpp ZD1wci5vaWQKK0xFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbnNwIE9OIHByLnBy b25hbWVzcGFjZT1uc3Aub2lkCitMRUZUIEpPSU4gcGdfdHJpZ2dlciB0ZyBP TiBkZXAucmVmb2JqaWQ9dGcub2lkCitMRUZUIEpPSU4gcGdfdHlwZSB0eSBP TiBkZXAucmVmb2JqaWQ9dHkub2lkCitMRUZUIEpPSU4gcGdfbmFtZXNwYWNl IG5zdCBPTiB0eS50eXBuYW1lc3BhY2U9bnN0Lm9pZAorTEVGVCBKT0lOIHBn X2NvbnN0cmFpbnQgY28gT04gZGVwLnJlZm9iamlkPWNvLm9pZAorTEVGVCBK T0lOIHBnX2NsYXNzIGNvYyBPTiBjby5jb25yZWxpZD1jb2Mub2lkCitMRUZU IEpPSU4gcGdfbmFtZXNwYWNlIG5zbyBPTiBjby5jb25uYW1lc3BhY2U9bnNv Lm9pZAorTEVGVCBKT0lOIHBnX3Jld3JpdGUgcncgT04gZGVwLnJlZm9iamlk PXJ3Lm9pZAorTEVGVCBKT0lOIHBnX2NsYXNzIGNscncgT04gY2xydy5vaWQ9 cncuZXZfY2xhc3MKK0xFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbnNydyBPTiBj bHJ3LnJlbG5hbWVzcGFjZT1uc3J3Lm9pZAorTEVGVCBKT0lOIHBnX2xhbmd1 YWdlIGxhIE9OIGRlcC5yZWZvYmppZD1sYS5vaWQKK0xFRlQgSk9JTiBwZ19u YW1lc3BhY2UgbnMgT04gZGVwLnJlZm9iamlkPW5zLm9pZAorTEVGVCBKT0lO IHBnX2F0dHJkZWYgYWQgT04gYWQuYWRyZWxpZD1hdHQuYXR0cmVsaWQgQU5E IGFkLmFkbnVtPWF0dC5hdHRudW0KK0xFRlQgSk9JTiBwZ19mb3JlaWduX3Nl cnZlciBmcyBPTiBmcy5vaWQ9ZGVwLnJlZm9iamlkCitMRUZUIEpPSU4gcGdf Zm9yZWlnbl9kYXRhX3dyYXBwZXIgZmR3IE9OIGZkdy5vaWQ9ZGVwLnJlZm9i amlkCit7e3doZXJlX2NsYXVzZX19IEFORAorcmVmY2xhc3NpZCBJTiAoIFNF TEVDVCBvaWQgRlJPTSBwZ19jbGFzcyBXSEVSRSByZWxuYW1lIElOCisgICAo J3BnX2NsYXNzJywgJ3BnX2NvbnN0cmFpbnQnLCAncGdfY29udmVyc2lvbics ICdwZ19sYW5ndWFnZScsICdwZ19wcm9jJywgJ3BnX3Jld3JpdGUnLCAncGdf bmFtZXNwYWNlJywKKyAgICdwZ190cmlnZ2VyJywgJ3BnX3R5cGUnLCAncGdf YXR0cmRlZicsICdwZ19ldmVudF90cmlnZ2VyJywgJ3BnX2ZvcmVpZ25fc2Vy dmVyJywgJ3BnX2ZvcmVpZ25fZGF0YV93cmFwcGVyJykpCitPUkRFUiBCWSBy ZWZjbGFzc2lkLCBjbC5yZWxraW5kClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg ZmlsZQpkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2RlcGVuZHMvc3FsLzkuMV9wbHVz L2RlcGVuZGVudHMuc3FsIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJf Z3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2RlcGVuZHMvc3FsLzkuMV9wbHVz L2RlcGVuZGVudHMuc3FsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAwLi4xMjgxNjcyZgotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9k ZXBlbmRzL3NxbC85LjFfcGx1cy9kZXBlbmRlbnRzLnNxbApAQCAtMCwwICsx LDQ0IEBACitTRUxFQ1QgRElTVElOQ1QgZGVwLmRlcHR5cGUsIGRlcC5jbGFz c2lkLCBjbC5yZWxraW5kLCBhZC5hZGJpbiwgYWQuYWRzcmMsCisgICAgQ0FT RSBXSEVOIGNsLnJlbGtpbmQgSVMgTk9UIE5VTEwgVEhFTiBjbC5yZWxraW5k IHx8IENPQUxFU0NFKGRlcC5vYmpzdWJpZDo6dGV4dCwgJycpCisgICAgICAg IFdIRU4gdGcub2lkIElTIE5PVCBOVUxMIFRIRU4gJ1QnOjp0ZXh0CisgICAg ICAgIFdIRU4gdHkub2lkIElTIE5PVCBOVUxMIFRIRU4gJ3knOjp0ZXh0Cisg ICAgICAgIFdIRU4gbnMub2lkIElTIE5PVCBOVUxMIFRIRU4gJ24nOjp0ZXh0 CisgICAgICAgIFdIRU4gcHIub2lkIElTIE5PVCBOVUxMIFRIRU4gJ3AnOjp0 ZXh0CisgICAgICAgIFdIRU4gbGEub2lkIElTIE5PVCBOVUxMIFRIRU4gJ2wn Ojp0ZXh0CisgICAgICAgIFdIRU4gcncub2lkIElTIE5PVCBOVUxMIFRIRU4g J1InOjp0ZXh0CisgICAgICAgIFdIRU4gY28ub2lkIElTIE5PVCBOVUxMIFRI RU4gJ0MnOjp0ZXh0IHx8IGNvbnR5cGUKKyAgICAgICAgV0hFTiBhZC5vaWQg SVMgTk9UIE5VTEwgVEhFTiAnQSc6OnRleHQKKyAgICAgICAgV0hFTiBmcy5v aWQgSVMgTk9UIE5VTEwgVEhFTiAnRic6OnRleHQKKyAgICAgICAgV0hFTiBm ZHcub2lkIElTIE5PVCBOVUxMIFRIRU4gJ2YnOjp0ZXh0CisgICAgICAgIEVM U0UgJycKKyAgICBFTkQgQVMgdHlwZSwKKyAgICBDT0FMRVNDRShjb2MucmVs bmFtZSwgY2xydy5yZWxuYW1lKSBBUyBvd25lcnRhYmxlLAorICAgIENBU0Ug V0hFTiBjbC5yZWxuYW1lIElTIE5PVCBOVUxMIEFORCBhdHQuYXR0bmFtZSBJ UyBOT1QgTlVMTCBUSEVOIGNsLnJlbG5hbWUgfHwgJy4nIHx8IGF0dC5hdHRu YW1lCisgICAgRUxTRSBDT0FMRVNDRShjbC5yZWxuYW1lLCBjby5jb25uYW1l LCBwci5wcm9uYW1lLCB0Zy50Z25hbWUsIHR5LnR5cG5hbWUsIGxhLmxhbm5h bWUsIHJ3LnJ1bGVuYW1lLCBucy5uc3BuYW1lLCBmcy5zcnZuYW1lLCBmZHcu ZmR3bmFtZSkKKyAgICBFTkQgQVMgcmVmbmFtZSwKKyAgICBDT0FMRVNDRShu c2MubnNwbmFtZSwgbnNvLm5zcG5hbWUsIG5zcC5uc3BuYW1lLCBuc3QubnNw bmFtZSwgbnNydy5uc3BuYW1lKSBBUyBuc3BuYW1lCitGUk9NIHBnX2RlcGVu ZCBkZXAKK0xFRlQgSk9JTiBwZ19jbGFzcyBjbCBPTiBkZXAub2JqaWQ9Y2wu b2lkCitMRUZUIEpPSU4gcGdfYXR0cmlidXRlIGF0dCBPTiBkZXAub2JqaWQ9 YXR0LmF0dHJlbGlkIEFORCBkZXAub2Jqc3ViaWQ9YXR0LmF0dG51bQorTEVG VCBKT0lOIHBnX25hbWVzcGFjZSBuc2MgT04gY2wucmVsbmFtZXNwYWNlPW5z Yy5vaWQKK0xFRlQgSk9JTiBwZ19wcm9jIHByIE9OIGRlcC5vYmppZD1wci5v aWQKK0xFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbnNwIE9OIHByLnByb25hbWVz cGFjZT1uc3Aub2lkCitMRUZUIEpPSU4gcGdfdHJpZ2dlciB0ZyBPTiBkZXAu b2JqaWQ9dGcub2lkCitMRUZUIEpPSU4gcGdfdHlwZSB0eSBPTiBkZXAub2Jq aWQ9dHkub2lkCitMRUZUIEpPSU4gcGdfbmFtZXNwYWNlIG5zdCBPTiB0eS50 eXBuYW1lc3BhY2U9bnN0Lm9pZAorTEVGVCBKT0lOIHBnX2NvbnN0cmFpbnQg Y28gT04gZGVwLm9iamlkPWNvLm9pZAorTEVGVCBKT0lOIHBnX2NsYXNzIGNv YyBPTiBjby5jb25yZWxpZD1jb2Mub2lkCitMRUZUIEpPSU4gcGdfbmFtZXNw YWNlIG5zbyBPTiBjby5jb25uYW1lc3BhY2U9bnNvLm9pZAorTEVGVCBKT0lO IHBnX3Jld3JpdGUgcncgT04gZGVwLm9iamlkPXJ3Lm9pZAorTEVGVCBKT0lO IHBnX2NsYXNzIGNscncgT04gY2xydy5vaWQ9cncuZXZfY2xhc3MKK0xFRlQg Sk9JTiBwZ19uYW1lc3BhY2UgbnNydyBPTiBjbHJ3LnJlbG5hbWVzcGFjZT1u c3J3Lm9pZAorTEVGVCBKT0lOIHBnX2xhbmd1YWdlIGxhIE9OIGRlcC5vYmpp ZD1sYS5vaWQKK0xFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbnMgT04gZGVwLm9i amlkPW5zLm9pZAorTEVGVCBKT0lOIHBnX2F0dHJkZWYgYWQgT04gYWQub2lk PWRlcC5vYmppZAorTEVGVCBKT0lOIHBnX2ZvcmVpZ25fc2VydmVyIGZzIE9O IGZzLm9pZD1kZXAub2JqaWQKK0xFRlQgSk9JTiBwZ19mb3JlaWduX2RhdGFf d3JhcHBlciBmZHcgT04gZmR3Lm9pZD1kZXAub2JqaWQKK3t7d2hlcmVfY2xh dXNlfX0gQU5ECitjbGFzc2lkIElOICggU0VMRUNUIG9pZCBGUk9NIHBnX2Ns YXNzIFdIRVJFIHJlbG5hbWUgSU4KKyAgICgncGdfY2xhc3MnLCAncGdfY29u c3RyYWludCcsICdwZ19jb252ZXJzaW9uJywgJ3BnX2xhbmd1YWdlJywgJ3Bn X3Byb2MnLCAncGdfcmV3cml0ZScsICdwZ19uYW1lc3BhY2UnLAorICAgJ3Bn X3RyaWdnZXInLCAncGdfdHlwZScsICdwZ19hdHRyZGVmJywgJ3BnX2V2ZW50 X3RyaWdnZXInLCAncGdfZm9yZWlnbl9zZXJ2ZXInLCAncGdfZm9yZWlnbl9k YXRhX3dyYXBwZXInKSkKK09SREVSIEJZIGNsYXNzaWQsIGNsLnJlbGtpbmQK ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL3RlbXBsYXRlcy9kZXBlbmRzL3NxbC9fX2luaXRfXy5weSBi L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rl bXBsYXRlcy9kZXBlbmRzL3NxbC9fX2luaXRfXy5weQpuZXcgZmlsZSBtb2Rl IDEwMDY0NAppbmRleCAwMDAwMDAwMC4uOWU1NWQyYjIKLS0tIC9kZXYvbnVs bAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9zcWwvX19pbml0X18ucHkKQEAgLTAs MCArMSw2IEBACisjCisjIHBnQWRtaW4gNCAtIFBvc3RncmVTUUwgVG9vbHMK KyMKKyMgQ29weXJpZ2h0IChDKSAyMDEzIC0gMjAxNywgVGhlIHBnQWRtaW4g RGV2ZWxvcG1lbnQgVGVhbQorIyBUaGlzIHNvZnR3YXJlIGlzIHJlbGVhc2Vk IHVuZGVyIHRoZSBQb3N0Z3JlU1FMIExpY2VuY2UKKyMKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3Rl bXBsYXRlcy9kZXBlbmRzL3NxbC9kZWZhdWx0L2RlcGVuZGVuY2llcy5zcWwg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90 ZW1wbGF0ZXMvZGVwZW5kcy9zcWwvZGVmYXVsdC9kZXBlbmRlbmNpZXMuc3Fs Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5hYWU1OTgy ZQotLS0gL2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2Vy dmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9kZXBlbmRzL3NxbC9kZWZh dWx0L2RlcGVuZGVuY2llcy5zcWwKQEAgLTAsMCArMSw0MiBAQAorU0VUIExP Q0FMIGpvaW5fY29sbGFwc2VfbGltaXQ9ODsKK1NFTEVDVCBESVNUSU5DVCBk ZXAuZGVwdHlwZSwgZGVwLnJlZmNsYXNzaWQsIGNsLnJlbGtpbmQsIGFkLmFk YmluLCBhZC5hZHNyYywKKyAgICBDQVNFIFdIRU4gY2wucmVsa2luZCBJUyBO T1QgTlVMTCBUSEVOIGNsLnJlbGtpbmQgfHwgQ09BTEVTQ0UoZGVwLnJlZm9i anN1YmlkOjpjaGFyYWN0ZXIgdmFyeWluZywgJycpCisgICAgICAgIFdIRU4g dGcub2lkIElTIE5PVCBOVUxMIFRIRU4gJ1QnOjp0ZXh0CisgICAgICAgIFdI RU4gdHkub2lkIElTIE5PVCBOVUxMIEFORCB0eS50eXBiYXNldHlwZSA9IDAg VEhFTiAneSc6OnRleHQKKyAgICAgICAgV0hFTiB0eS5vaWQgSVMgTk9UIE5V TEwgQU5EIHR5LnR5cGJhc2V0eXBlICE9IDAgVEhFTiAnZCc6OnRleHQKKyAg ICAgICAgV0hFTiBucy5vaWQgSVMgTk9UIE5VTEwgVEhFTiAnbic6OnRleHQK KyAgICAgICAgV0hFTiBwci5vaWQgSVMgTk9UIE5VTEwgVEhFTiAncCc6OnRl eHQKKyAgICAgICAgV0hFTiBsYS5vaWQgSVMgTk9UIE5VTEwgVEhFTiAnbCc6 OnRleHQKKyAgICAgICAgV0hFTiBydy5vaWQgSVMgTk9UIE5VTEwgVEhFTiAn Uic6OnRleHQKKyAgICAgICAgV0hFTiBjby5vaWQgSVMgTk9UIE5VTEwgVEhF TiAnQyc6OnRleHQgfHwgY29udHlwZQorICAgICAgICBXSEVOIGFkLm9pZCBJ UyBOT1QgTlVMTCBUSEVOICdBJzo6dGV4dAorICAgIEVMU0UgJycKKyAgICBF TkQgQVMgdHlwZSwKKyAgICBDT0FMRVNDRShjb2MucmVsbmFtZSwgY2xydy5y ZWxuYW1lKSBBUyBvd25lcnRhYmxlLAorICAgIENBU0UgV0hFTiBjbC5yZWxu YW1lIElTIE5PVCBOVUxMIE9SIGF0dC5hdHRuYW1lIElTIE5PVCBOVUxMIFRI RU4gY2wucmVsbmFtZSB8fCAnLicgfHwgYXR0LmF0dG5hbWUKKyAgICBFTFNF IENPQUxFU0NFKGNsLnJlbG5hbWUsIGNvLmNvbm5hbWUsIHByLnByb25hbWUs IHRnLnRnbmFtZSwgdHkudHlwbmFtZSwgbGEubGFubmFtZSwgcncucnVsZW5h bWUsIG5zLm5zcG5hbWUpCisgICAgRU5EIEFTIHJlZm5hbWUsCisgICAgQ09B TEVTQ0UobnNjLm5zcG5hbWUsIG5zby5uc3BuYW1lLCBuc3AubnNwbmFtZSwg bnN0Lm5zcG5hbWUsIG5zcncubnNwbmFtZSkgQVMgbnNwbmFtZQorRlJPTSBw Z19kZXBlbmQgZGVwCitMRUZUIEpPSU4gcGdfY2xhc3MgY2wgT04gZGVwLnJl Zm9iamlkPWNsLm9pZAorTEVGVCBKT0lOIHBnX2F0dHJpYnV0ZSBhdHQgT04g ZGVwLnJlZm9iamlkPWF0dC5hdHRyZWxpZCBBTkQgZGVwLnJlZm9ianN1Ymlk PWF0dC5hdHRudW0KK0xFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbnNjIE9OIGNs LnJlbG5hbWVzcGFjZT1uc2Mub2lkCitMRUZUIEpPSU4gcGdfcHJvYyBwciBP TiBkZXAucmVmb2JqaWQ9cHIub2lkCitMRUZUIEpPSU4gcGdfbmFtZXNwYWNl IG5zcCBPTiBwci5wcm9uYW1lc3BhY2U9bnNwLm9pZAorTEVGVCBKT0lOIHBn X3RyaWdnZXIgdGcgT04gZGVwLnJlZm9iamlkPXRnLm9pZAorTEVGVCBKT0lO IHBnX3R5cGUgdHkgT04gZGVwLnJlZm9iamlkPXR5Lm9pZAorTEVGVCBKT0lO IHBnX25hbWVzcGFjZSBuc3QgT04gdHkudHlwbmFtZXNwYWNlPW5zdC5vaWQK K0xFRlQgSk9JTiBwZ19jb25zdHJhaW50IGNvIE9OIGRlcC5yZWZvYmppZD1j by5vaWQKK0xFRlQgSk9JTiBwZ19jbGFzcyBjb2MgT04gY28uY29ucmVsaWQ9 Y29jLm9pZAorTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBuc28gT04gY28uY29u bmFtZXNwYWNlPW5zby5vaWQKK0xFRlQgSk9JTiBwZ19yZXdyaXRlIHJ3IE9O IGRlcC5yZWZvYmppZD1ydy5vaWQKK0xFRlQgSk9JTiBwZ19jbGFzcyBjbHJ3 IE9OIGNscncub2lkPXJ3LmV2X2NsYXNzCitMRUZUIEpPSU4gcGdfbmFtZXNw YWNlIG5zcncgT04gY2xydy5yZWxuYW1lc3BhY2U9bnNydy5vaWQKK0xFRlQg Sk9JTiBwZ19sYW5ndWFnZSBsYSBPTiBkZXAucmVmb2JqaWQ9bGEub2lkCitM RUZUIEpPSU4gcGdfbmFtZXNwYWNlIG5zIE9OIGRlcC5yZWZvYmppZD1ucy5v aWQKK0xFRlQgSk9JTiBwZ19hdHRyZGVmIGFkIE9OIGFkLmFkcmVsaWQ9YXR0 LmF0dHJlbGlkIEFORCBhZC5hZG51bT1hdHQuYXR0bnVtCit7e3doZXJlX2Ns YXVzZX19IEFORAorcmVmY2xhc3NpZCBJTiAoIFNFTEVDVCBvaWQgRlJPTSBw Z19jbGFzcyBXSEVSRSByZWxuYW1lIElOCisgICAoJ3BnX2NsYXNzJywgJ3Bn X2NvbnN0cmFpbnQnLCAncGdfY29udmVyc2lvbicsICdwZ19sYW5ndWFnZScs ICdwZ19wcm9jJywgJ3BnX3Jld3JpdGUnLCAncGdfbmFtZXNwYWNlJywKKyAg ICdwZ190cmlnZ2VyJywgJ3BnX3R5cGUnLCAncGdfYXR0cmRlZicsICdwZ19l dmVudF90cmlnZ2VyJywgJ3BnX2ZvcmVpZ25fc2VydmVyJywgJ3BnX2ZvcmVp Z25fZGF0YV93cmFwcGVyJykpCitPUkRFUiBCWSByZWZjbGFzc2lkLCBjbC5y ZWxraW5kClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQpkaWZmIC0tZ2l0 IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMv dGVtcGxhdGVzL2RlcGVuZHMvc3FsL2RlZmF1bHQvZGVwZW5kZW50cy5zcWwg Yi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90 ZW1wbGF0ZXMvZGVwZW5kcy9zcWwvZGVmYXVsdC9kZXBlbmRlbnRzLnNxbApp bmRleCBlMmJhM2Q2Yi4uMmZlMmVmM2UgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2Fk bWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9k ZXBlbmRzL3NxbC9kZWZhdWx0L2RlcGVuZGVudHMuc3FsCisrKyBiL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRl cy9kZXBlbmRzL3NxbC9kZWZhdWx0L2RlcGVuZGVudHMuc3FsCkBAIC0xLDU5 ICsxLDQgQEAKLXslIGlmIGZldGNoX2RlcGVuZGVuY2llcyAlfQotU0VMRUNU IERJU1RJTkNUIGRlcC5kZXB0eXBlLCBkZXAucmVmY2xhc3NpZCwgY2wucmVs a2luZCwgYWQuYWRiaW4sIGFkLmFkc3JjLAotICAgIENBU0UgV0hFTiBjbC5y ZWxraW5kIElTIE5PVCBOVUxMIFRIRU4gY2wucmVsa2luZCB8fCBDT0FMRVND RShkZXAucmVmb2Jqc3ViaWQ6OmNoYXJhY3RlciB2YXJ5aW5nLCAnJykKLSAg ICAgICAgV0hFTiB0Zy5vaWQgSVMgTk9UIE5VTEwgVEhFTiAnVCc6OnRleHQK LSAgICAgICAgV0hFTiB0eS5vaWQgSVMgTk9UIE5VTEwgQU5EIHR5LnR5cGJh c2V0eXBlID0gMCBUSEVOICd5Jzo6dGV4dAotICAgICAgICBXSEVOIHR5Lm9p ZCBJUyBOT1QgTlVMTCBBTkQgdHkudHlwYmFzZXR5cGUgIT0gMCBUSEVOICdk Jzo6dGV4dAotICAgICAgICBXSEVOIG5zLm9pZCBJUyBOT1QgTlVMTCBUSEVO ICduJzo6dGV4dAotICAgICAgICBXSEVOIHByLm9pZCBJUyBOT1QgTlVMTCBU SEVOICdwJzo6dGV4dAotICAgICAgICBXSEVOIGxhLm9pZCBJUyBOT1QgTlVM TCBUSEVOICdsJzo6dGV4dAotICAgICAgICBXSEVOIHJ3Lm9pZCBJUyBOT1Qg TlVMTCBUSEVOICdSJzo6dGV4dAotICAgICAgICBXSEVOIGNvLm9pZCBJUyBO T1QgTlVMTCBUSEVOICdDJzo6dGV4dCB8fCBjb250eXBlCi0gICAgICAgIFdI RU4gYWQub2lkIElTIE5PVCBOVUxMIFRIRU4gJ0EnOjp0ZXh0Ci0gICAgICAg IFdIRU4gZnMub2lkIElTIE5PVCBOVUxMIFRIRU4gJ0YnOjp0ZXh0Ci0gICAg ICAgIFdIRU4gZmR3Lm9pZCBJUyBOT1QgTlVMTCBUSEVOICdmJzo6dGV4dAot ICAgIEVMU0UgJycKLSAgICBFTkQgQVMgdHlwZSwKLSAgICBDT0FMRVNDRShj b2MucmVsbmFtZSwgY2xydy5yZWxuYW1lKSBBUyBvd25lcnRhYmxlLAotICAg IENBU0UgV0hFTiBjbC5yZWxuYW1lIElTIE5PVCBOVUxMIE9SIGF0dC5hdHRu YW1lIElTIE5PVCBOVUxMIFRIRU4gY2wucmVsbmFtZSB8fCAnLicgfHwgYXR0 LmF0dG5hbWUKLSAgICBFTFNFIENPQUxFU0NFKGNsLnJlbG5hbWUsIGNvLmNv bm5hbWUsIHByLnByb25hbWUsIHRnLnRnbmFtZSwgdHkudHlwbmFtZSwgbGEu bGFubmFtZSwgcncucnVsZW5hbWUsIG5zLm5zcG5hbWUsIGZzLnNydm5hbWUs IGZkdy5mZHduYW1lKQotICAgIEVORCBBUyByZWZuYW1lLAotICAgIENPQUxF U0NFKG5zYy5uc3BuYW1lLCBuc28ubnNwbmFtZSwgbnNwLm5zcG5hbWUsIG5z dC5uc3BuYW1lLCBuc3J3Lm5zcG5hbWUpIEFTIG5zcG5hbWUKLUZST00gcGdf ZGVwZW5kIGRlcAotTEVGVCBKT0lOIHBnX2NsYXNzIGNsIE9OIGRlcC5yZWZv YmppZD1jbC5vaWQKLUxFRlQgSk9JTiBwZ19hdHRyaWJ1dGUgYXR0IE9OIGRl cC5yZWZvYmppZD1hdHQuYXR0cmVsaWQgQU5EIGRlcC5yZWZvYmpzdWJpZD1h dHQuYXR0bnVtCi1MRUZUIEpPSU4gcGdfbmFtZXNwYWNlIG5zYyBPTiBjbC5y ZWxuYW1lc3BhY2U9bnNjLm9pZAotTEVGVCBKT0lOIHBnX3Byb2MgcHIgT04g ZGVwLnJlZm9iamlkPXByLm9pZAotTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBu c3AgT04gcHIucHJvbmFtZXNwYWNlPW5zcC5vaWQKLUxFRlQgSk9JTiBwZ190 cmlnZ2VyIHRnIE9OIGRlcC5yZWZvYmppZD10Zy5vaWQKLUxFRlQgSk9JTiBw Z190eXBlIHR5IE9OIGRlcC5yZWZvYmppZD10eS5vaWQKLUxFRlQgSk9JTiBw Z19uYW1lc3BhY2UgbnN0IE9OIHR5LnR5cG5hbWVzcGFjZT1uc3Qub2lkCi1M RUZUIEpPSU4gcGdfY29uc3RyYWludCBjbyBPTiBkZXAucmVmb2JqaWQ9Y28u b2lkCi1MRUZUIEpPSU4gcGdfY2xhc3MgY29jIE9OIGNvLmNvbnJlbGlkPWNv Yy5vaWQKLUxFRlQgSk9JTiBwZ19uYW1lc3BhY2UgbnNvIE9OIGNvLmNvbm5h bWVzcGFjZT1uc28ub2lkCi1MRUZUIEpPSU4gcGdfcmV3cml0ZSBydyBPTiBk ZXAucmVmb2JqaWQ9cncub2lkCi1MRUZUIEpPSU4gcGdfY2xhc3MgY2xydyBP TiBjbHJ3Lm9pZD1ydy5ldl9jbGFzcwotTEVGVCBKT0lOIHBnX25hbWVzcGFj ZSBuc3J3IE9OIGNscncucmVsbmFtZXNwYWNlPW5zcncub2lkCi1MRUZUIEpP SU4gcGdfbGFuZ3VhZ2UgbGEgT04gZGVwLnJlZm9iamlkPWxhLm9pZAotTEVG VCBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBkZXAucmVmb2JqaWQ9bnMub2lk Ci1MRUZUIEpPSU4gcGdfYXR0cmRlZiBhZCBPTiBhZC5hZHJlbGlkPWF0dC5h dHRyZWxpZCBBTkQgYWQuYWRudW09YXR0LmF0dG51bQotTEVGVCBKT0lOIHBn X2ZvcmVpZ25fc2VydmVyIGZzIE9OIGZzLm9pZD1kZXAucmVmb2JqaWQKLUxF RlQgSk9JTiBwZ19mb3JlaWduX2RhdGFfd3JhcHBlciBmZHcgT04gZmR3Lm9p ZD1kZXAucmVmb2JqaWQKLXt7d2hlcmVfY2xhdXNlfX0gQU5ECi1yZWZjbGFz c2lkIElOICggU0VMRUNUIG9pZCBGUk9NIHBnX2NsYXNzIFdIRVJFIHJlbG5h bWUgSU4KLSAgICgncGdfY2xhc3MnLCAncGdfY29uc3RyYWludCcsICdwZ19j b252ZXJzaW9uJywgJ3BnX2xhbmd1YWdlJywgJ3BnX3Byb2MnLCAncGdfcmV3 cml0ZScsICdwZ19uYW1lc3BhY2UnLAotICAgJ3BnX3RyaWdnZXInLCAncGdf dHlwZScsICdwZ19hdHRyZGVmJywgJ3BnX2V2ZW50X3RyaWdnZXInLCAncGdf Zm9yZWlnbl9zZXJ2ZXInLCAncGdfZm9yZWlnbl9kYXRhX3dyYXBwZXInKSkK LU9SREVSIEJZIHJlZmNsYXNzaWQsIGNsLnJlbGtpbmQKLXslIGVuZGlmICV9 Ci0KLXslIGlmIGZldGNoX3JvbGVfZGVwZW5kZW5jaWVzICV9Ci1TRUxFQ1Qg cm9sbmFtZSBBUyByZWZuYW1lLCByZWZjbGFzc2lkLCBkZXB0eXBlCi1GUk9N IHBnX3NoZGVwZW5kIGRlcAotTEVGVCBKT0lOIHBnX3JvbGVzIHIgT04gcmVm Y2xhc3NpZD0xMjYwIEFORCByZWZvYmppZD1yLm9pZAote3t3aGVyZV9jbGF1 c2V9fSBPUkRFUiBCWSAxCi17JSBlbmRpZiAlfQotCi17JSBpZiBmZXRjaF9k ZXBlbmRlbnRzICV9CitTRVQgTE9DQUwgam9pbl9jb2xsYXBzZV9saW1pdD04 OwogU0VMRUNUIERJU1RJTkNUIGRlcC5kZXB0eXBlLCBkZXAuY2xhc3NpZCwg Y2wucmVsa2luZCwgYWQuYWRiaW4sIGFkLmFkc3JjLAogICAgIENBU0UgV0hF TiBjbC5yZWxraW5kIElTIE5PVCBOVUxMIFRIRU4gY2wucmVsa2luZCB8fCBD T0FMRVNDRShkZXAub2Jqc3ViaWQ6OnRleHQsICcnKQogICAgICAgICBXSEVO IHRnLm9pZCBJUyBOT1QgTlVMTCBUSEVOICdUJzo6dGV4dApAQCAtNjQsMTMg KzksMTEgQEAgU0VMRUNUIERJU1RJTkNUIGRlcC5kZXB0eXBlLCBkZXAuY2xh c3NpZCwgY2wucmVsa2luZCwgYWQuYWRiaW4sIGFkLmFkc3JjLAogICAgICAg ICBXSEVOIHJ3Lm9pZCBJUyBOT1QgTlVMTCBUSEVOICdSJzo6dGV4dAogICAg ICAgICBXSEVOIGNvLm9pZCBJUyBOT1QgTlVMTCBUSEVOICdDJzo6dGV4dCB8 fCBjb250eXBlCiAgICAgICAgIFdIRU4gYWQub2lkIElTIE5PVCBOVUxMIFRI RU4gJ0EnOjp0ZXh0Ci0gICAgICAgIFdIRU4gZnMub2lkIElTIE5PVCBOVUxM IFRIRU4gJ0YnOjp0ZXh0Ci0gICAgICAgIFdIRU4gZmR3Lm9pZCBJUyBOT1Qg TlVMTCBUSEVOICdmJzo6dGV4dAogICAgICAgICBFTFNFICcnCiAgICAgRU5E IEFTIHR5cGUsCiAgICAgQ09BTEVTQ0UoY29jLnJlbG5hbWUsIGNscncucmVs bmFtZSkgQVMgb3duZXJ0YWJsZSwKICAgICBDQVNFIFdIRU4gY2wucmVsbmFt ZSBJUyBOT1QgTlVMTCBBTkQgYXR0LmF0dG5hbWUgSVMgTk9UIE5VTEwgVEhF TiBjbC5yZWxuYW1lIHx8ICcuJyB8fCBhdHQuYXR0bmFtZQotICAgIEVMU0Ug Q09BTEVTQ0UoY2wucmVsbmFtZSwgY28uY29ubmFtZSwgcHIucHJvbmFtZSwg dGcudGduYW1lLCB0eS50eXBuYW1lLCBsYS5sYW5uYW1lLCBydy5ydWxlbmFt ZSwgbnMubnNwbmFtZSwgZnMuc3J2bmFtZSwgZmR3LmZkd25hbWUpCisgICAg RUxTRSBDT0FMRVNDRShjbC5yZWxuYW1lLCBjby5jb25uYW1lLCBwci5wcm9u YW1lLCB0Zy50Z25hbWUsIHR5LnR5cG5hbWUsIGxhLmxhbm5hbWUsIHJ3LnJ1 bGVuYW1lLCBucy5uc3BuYW1lKQogICAgIEVORCBBUyByZWZuYW1lLAogICAg IENPQUxFU0NFKG5zYy5uc3BuYW1lLCBuc28ubnNwbmFtZSwgbnNwLm5zcG5h bWUsIG5zdC5uc3BuYW1lLCBuc3J3Lm5zcG5hbWUpIEFTIG5zcG5hbWUKIEZS T00gcGdfZGVwZW5kIGRlcApAQCAtOTEsMTEgKzM0LDggQEAgTEVGVCBKT0lO IHBnX25hbWVzcGFjZSBuc3J3IE9OIGNscncucmVsbmFtZXNwYWNlPW5zcncu b2lkCiBMRUZUIEpPSU4gcGdfbGFuZ3VhZ2UgbGEgT04gZGVwLm9iamlkPWxh Lm9pZAogTEVGVCBKT0lOIHBnX25hbWVzcGFjZSBucyBPTiBkZXAub2JqaWQ9 bnMub2lkCiBMRUZUIEpPSU4gcGdfYXR0cmRlZiBhZCBPTiBhZC5vaWQ9ZGVw Lm9iamlkCi1MRUZUIEpPSU4gcGdfZm9yZWlnbl9zZXJ2ZXIgZnMgT04gZnMu b2lkPWRlcC5vYmppZAotTEVGVCBKT0lOIHBnX2ZvcmVpZ25fZGF0YV93cmFw cGVyIGZkdyBPTiBmZHcub2lkPWRlcC5vYmppZAoge3t3aGVyZV9jbGF1c2V9 fSBBTkQKIGNsYXNzaWQgSU4gKCBTRUxFQ1Qgb2lkIEZST00gcGdfY2xhc3Mg V0hFUkUgcmVsbmFtZSBJTgogICAgKCdwZ19jbGFzcycsICdwZ19jb25zdHJh aW50JywgJ3BnX2NvbnZlcnNpb24nLCAncGdfbGFuZ3VhZ2UnLCAncGdfcHJv YycsICdwZ19yZXdyaXRlJywgJ3BnX25hbWVzcGFjZScsCiAgICAncGdfdHJp Z2dlcicsICdwZ190eXBlJywgJ3BnX2F0dHJkZWYnLCAncGdfZXZlbnRfdHJp Z2dlcicsICdwZ19mb3JlaWduX3NlcnZlcicsICdwZ19mb3JlaWduX2RhdGFf d3JhcHBlcicpKQotT1JERVIgQlkgY2xhc3NpZCwgY2wucmVsa2luZAoteyUg ZW5kaWYgJX0KK09SREVSIEJZIGNsYXNzaWQsIGNsLnJlbGtpbmQ7CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9zcWwvZGVmYXVsdC9yb2xlX2RlcGVu ZGVuY2llcy5zcWwgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91 cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9zcWwvZGVmYXVsdC9yb2xl X2RlcGVuZGVuY2llcy5zcWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg MDAwMDAwMDAuLjI1ZmMzZjg1Ci0tLSAvZGV2L251bGwKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVz L2RlcGVuZHMvc3FsL2RlZmF1bHQvcm9sZV9kZXBlbmRlbmNpZXMuc3FsCkBA IC0wLDAgKzEsNCBAQAorU0VMRUNUIHJvbG5hbWUgQVMgcmVmbmFtZSwgcmVm Y2xhc3NpZCwgZGVwdHlwZQorRlJPTSBwZ19zaGRlcGVuZCBkZXAKK0xFRlQg Sk9JTiBwZ19yb2xlcyByIE9OIHJlZmNsYXNzaWQ9MTI2MCBBTkQgcmVmb2Jq aWQ9ci5vaWQKK3t7d2hlcmVfY2xhdXNlfX0gT1JERVIgQlkgMQpkaWZmIC0t Z2l0IGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZl cnMvdGVtcGxhdGVzL2RlcGVuZHMvc3FsL3Rlc3RzL19faW5pdF9fLnB5IGIv d2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVt cGxhdGVzL2RlcGVuZHMvc3FsL3Rlc3RzL19faW5pdF9fLnB5Cm5ldyBmaWxl IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi5mNjRmODk3MwotLS0gL2Rl di9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vw cy9zZXJ2ZXJzL3RlbXBsYXRlcy9kZXBlbmRzL3NxbC90ZXN0cy9fX2luaXRf Xy5weQpAQCAtMCwwICsxLDYgQEAKKyMKKyMgcGdBZG1pbiA0IC0gUG9zdGdy ZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAyMDE3LCBU aGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29mdHdhcmUg aXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5jZQorIwpc IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKZGlmZiAtLWdpdCBhL3dlYi9w Z2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRl cy9kZXBlbmRzL3NxbC90ZXN0cy90ZXN0X2RlcGVuZGVuY2llcy5weSBiL3dl Yi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBs YXRlcy9kZXBlbmRzL3NxbC90ZXN0cy90ZXN0X2RlcGVuZGVuY2llcy5weQpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uY2UxZjk3ZDkK LS0tIC9kZXYvbnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZl cl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9zcWwvdGVzdHMv dGVzdF9kZXBlbmRlbmNpZXMucHkKQEAgLTAsMCArMSw1OCBAQAorIworIyBw Z0FkbWluIDQgLSBQb3N0Z3JlU1FMIFRvb2xzCisjCisjIENvcHlyaWdodCAo QykgMjAxMyAtIDIwMTcsIFRoZSBwZ0FkbWluIERldmVsb3BtZW50IFRlYW0K KyMgVGhpcyBzb2Z0d2FyZSBpcyByZWxlYXNlZCB1bmRlciB0aGUgUG9zdGdy ZVNRTCBMaWNlbmNlCisjCitpbXBvcnQgb3MKK2ltcG9ydCBzeXMKKworZnJv bSBwZ2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgRHJpdmVyUmVnaXN0cnkK K2Zyb20gcmVncmVzc2lvbi5weXRob25fdGVzdF91dGlscy50ZW1wbGF0ZV9o ZWxwZXIgaW1wb3J0IGZpbGVfYXNfdGVtcGxhdGUKKworRHJpdmVyUmVnaXN0 cnkubG9hZF9kcml2ZXJzKCkKK2Zyb20gcGdhZG1pbi51dGlscy5yb3V0ZSBp bXBvcnQgQmFzZVRlc3RHZW5lcmF0b3IKK2Zyb20gcmVncmVzc2lvbi5weXRo b25fdGVzdF91dGlscyBpbXBvcnQgdGVzdF91dGlscworCitpZiBzeXMudmVy c2lvbl9pbmZvWzBdID49IDM6CisgICAgbG9uZyA9IGludAorCisKK2NsYXNz IFRlc3REZXBlbmRlbmNpZXMoQmFzZVRlc3RHZW5lcmF0b3IpOgorICAgIHNj ZW5hcmlvcyA9IFsKKyAgICAgICAgIyBGZXRjaGluZyBkZWZhdWx0IFVSTCBm b3Igc2NoZW1hIG5vZGUuCisgICAgICAgICgnVGVzdCBkZXBlbmRlbmNpZXMg U1FMIGZpbGUnLCBkaWN0KCkpCisgICAgXQorICAgIGRlZiBydW5UZXN0KHNl bGYpOgorICAgICAgICAiIiIgV2hlbiB0aGVyZSBhcmUgbm8gcGVybWlzc2lv bnMgb24gdGhlIGNvbHVtbiwgaXQgcmV0dXJucyBhbiBlbXB0eSByZXN1bHQg IiIiCisgICAgICAgIHdpdGggdGVzdF91dGlscy5EYXRhYmFzZShzZWxmLnNl cnZlcikgYXMgKGNvbm5lY3Rpb24sIGRhdGFiYXNlX25hbWUpOgorICAgICAg ICAgICAgdGVzdF91dGlscy5jcmVhdGVfdGFibGUoc2VsZi5zZXJ2ZXIsIGRh dGFiYXNlX25hbWUsICJ0ZXN0X3RhYmxlIikKKworICAgICAgICAgICAgY3Vy c29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQorICAgICAgICAgICAgY3Vyc29y LmV4ZWN1dGUoIlNFTEVDVCBwZ19jbGFzcy5vaWQgYXMgdGFibGVfaWQgIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZST00gcGdfY2xhc3MgIgor ICAgICAgICAgICAgICAgICAgICAgICAgICAgIndoZXJlIHBnX2NsYXNzLnJl bG5hbWU9J3Rlc3RfdGFibGUnIikKKyAgICAgICAgICAgIHRhYmxlX2lkID0g Y3Vyc29yLmZldGNob25lKCkKKworICAgICAgICAgICAgaWYgY29ubmVjdGlv bi5zZXJ2ZXJfdmVyc2lvbiA8IDkwMTAwOgorICAgICAgICAgICAgICAgIHNl bGYudmVyc2lvbnNfdG9fdGVzdCA9IFsnZGVmYXVsdCddCisgICAgICAgICAg ICBlbHNlOgorICAgICAgICAgICAgICAgIHNlbGYudmVyc2lvbnNfdG9fdGVz dCA9IFsnOS4xX3BsdXMnXQorCisgICAgICAgICAgICBmb3IgdmVyc2lvbiBp biBzZWxmLnZlcnNpb25zX3RvX3Rlc3Q6CisgICAgICAgICAgICAgICAgdGVt cGxhdGVfZmlsZSA9IG9zLnBhdGguam9pbihvcy5wYXRoLmRpcm5hbWUoX19m aWxlX18pLCAiLi4iLCB2ZXJzaW9uLCAiZGVwZW5kZW5jaWVzLnNxbCIpCisg ICAgICAgICAgICAgICAgdGVtcGxhdGUgPSBmaWxlX2FzX3RlbXBsYXRlKHRl bXBsYXRlX2ZpbGUpCisKKyAgICAgICAgICAgICAgICBzcWwgPSB0ZW1wbGF0 ZS5yZW5kZXIod2hlcmVfY2xhdXNlPSJXSEVSRSBkZXAub2JqaWQ9JXM6Om9p ZCIgJSB0YWJsZV9pZCkKKworICAgICAgICAgICAgICAgIGN1cnNvciA9IGNv bm5lY3Rpb24uY3Vyc29yKCkKKyAgICAgICAgICAgICAgICBjdXJzb3IuZXhl Y3V0ZShzcWwpCisgICAgICAgICAgICAgICAgZmV0Y2hfcmVzdWx0ID0gY3Vy c29yLmZldGNoYWxsKCkKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVx dWFsKDEsIGxlbihmZXRjaF9yZXN1bHQpKQorCisgICAgICAgICAgICAgICAg Zmlyc3Rfcm93ID0ge30KKyAgICAgICAgICAgICAgICBmb3IgaW5kZXgsIGRl c2NyaXB0aW9uIGluIGVudW1lcmF0ZShjdXJzb3IuZGVzY3JpcHRpb24pOgor ICAgICAgICAgICAgICAgICAgICBmaXJzdF9yb3dbZGVzY3JpcHRpb24ubmFt ZV0gPSBmZXRjaF9yZXN1bHRbMF1baW5kZXhdCisKKyAgICAgICAgICAgICAg ICBzZWxmLmFzc2VydEVxdWFsKCduJywgZmlyc3Rfcm93WyJkZXB0eXBlIl0p CisgICAgICAgICAgICAgICAgc2VsZi5hc3NlcnRFcXVhbCgncHVibGljJywg Zmlyc3Rfcm93WyJyZWZuYW1lIl0pCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1p bi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVw ZW5kcy9zcWwvdGVzdHMvdGVzdF9kZXBlbmRlbnRzLnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvdGVtcGxhdGVzL2Rl cGVuZHMvc3FsL3Rlc3RzL3Rlc3RfZGVwZW5kZW50cy5weQpuZXcgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMC4uMGJkNGM5NjAKLS0tIC9kZXYv bnVsbAorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMv c2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9zcWwvdGVzdHMvdGVzdF9kZXBl bmRlbnRzLnB5CkBAIC0wLDAgKzEsNTggQEAKKyMKKyMgcGdBZG1pbiA0IC0g UG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQgKEMpIDIwMTMgLSAy MDE3LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFtCisjIFRoaXMgc29m dHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3RncmVTUUwgTGljZW5j ZQorIworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Zyb20gcGdhZG1pbi51 dGlscy5kcml2ZXIgaW1wb3J0IERyaXZlclJlZ2lzdHJ5Citmcm9tIHJlZ3Jl c3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMudGVtcGxhdGVfaGVscGVyIGltcG9y dCBmaWxlX2FzX3RlbXBsYXRlCisKK0RyaXZlclJlZ2lzdHJ5LmxvYWRfZHJp dmVycygpCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUgaW1wb3J0IEJhc2VU ZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRp bHMgaW1wb3J0IHRlc3RfdXRpbHMKKworaWYgc3lzLnZlcnNpb25faW5mb1sw XSA+PSAzOgorICAgIGxvbmcgPSBpbnQKKworCitjbGFzcyBUZXN0RGVwZW5k ZW5jaWVzKEJhc2VUZXN0R2VuZXJhdG9yKToKKyAgICBzY2VuYXJpb3MgPSBb CisgICAgICAgICMgRmV0Y2hpbmcgZGVmYXVsdCBVUkwgZm9yIHNjaGVtYSBu b2RlLgorICAgICAgICAoJ1Rlc3QgZGVwZW5kZW5jaWVzIFNRTCBmaWxlJywg ZGljdCgpKQorICAgIF0KKyAgICBkZWYgcnVuVGVzdChzZWxmKToKKyAgICAg ICAgIiIiIFdoZW4gdGhlcmUgYXJlIG5vIHBlcm1pc3Npb25zIG9uIHRoZSBj b2x1bW4sIGl0IHJldHVybnMgYW4gZW1wdHkgcmVzdWx0ICIiIgorICAgICAg ICB3aXRoIHRlc3RfdXRpbHMuRGF0YWJhc2Uoc2VsZi5zZXJ2ZXIpIGFzIChj b25uZWN0aW9uLCBkYXRhYmFzZV9uYW1lKToKKyAgICAgICAgICAgIHRlc3Rf dXRpbHMuY3JlYXRlX3RhYmxlKHNlbGYuc2VydmVyLCBkYXRhYmFzZV9uYW1l LCAidGVzdF90YWJsZSIpCisKKyAgICAgICAgICAgIGN1cnNvciA9IGNvbm5l Y3Rpb24uY3Vyc29yKCkKKyAgICAgICAgICAgIGN1cnNvci5leGVjdXRlKCJT RUxFQ1QgcGdfY2xhc3Mub2lkIGFzIHRhYmxlX2lkICIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICJGUk9NIHBnX2NsYXNzICIKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICJ3aGVyZSBwZ19jbGFzcy5yZWxuYW1lPSd0ZXN0 X3RhYmxlJyIpCisgICAgICAgICAgICB0YWJsZV9pZCA9IGN1cnNvci5mZXRj aG9uZSgpCisKKyAgICAgICAgICAgIGlmIGNvbm5lY3Rpb24uc2VydmVyX3Zl cnNpb24gPCA5MDEwMDoKKyAgICAgICAgICAgICAgICBzZWxmLnZlcnNpb25z X3RvX3Rlc3QgPSBbJ2RlZmF1bHQnXQorICAgICAgICAgICAgZWxzZToKKyAg ICAgICAgICAgICAgICBzZWxmLnZlcnNpb25zX3RvX3Rlc3QgPSBbJzkuMV9w bHVzJ10KKworICAgICAgICAgICAgZm9yIHZlcnNpb24gaW4gc2VsZi52ZXJz aW9uc190b190ZXN0OgorICAgICAgICAgICAgICAgIHRlbXBsYXRlX2ZpbGUg PSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4u IiwgdmVyc2lvbiwgImRlcGVuZGVudHMuc3FsIikKKyAgICAgICAgICAgICAg ICB0ZW1wbGF0ZSA9IGZpbGVfYXNfdGVtcGxhdGUodGVtcGxhdGVfZmlsZSkK KworICAgICAgICAgICAgICAgIHNxbCA9IHRlbXBsYXRlLnJlbmRlcih3aGVy ZV9jbGF1c2U9IldIRVJFIGRlcC5vYmppZD0lczo6b2lkIiAlIHRhYmxlX2lk KQorCisgICAgICAgICAgICAgICAgY3Vyc29yID0gY29ubmVjdGlvbi5jdXJz b3IoKQorICAgICAgICAgICAgICAgIGN1cnNvci5leGVjdXRlKHNxbCkKKyAg ICAgICAgICAgICAgICBmZXRjaF9yZXN1bHQgPSBjdXJzb3IuZmV0Y2hhbGwo KQorICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0RXF1YWwoMSwgbGVuKGZl dGNoX3Jlc3VsdCkpCisKKyAgICAgICAgICAgICAgICBmaXJzdF9yb3cgPSB7 fQorICAgICAgICAgICAgICAgIGZvciBpbmRleCwgZGVzY3JpcHRpb24gaW4g ZW51bWVyYXRlKGN1cnNvci5kZXNjcmlwdGlvbik6CisgICAgICAgICAgICAg ICAgICAgIGZpcnN0X3Jvd1tkZXNjcmlwdGlvbi5uYW1lXSA9IGZldGNoX3Jl c3VsdFswXVtpbmRleF0KKworICAgICAgICAgICAgICAgIHNlbGYuYXNzZXJ0 RXF1YWwoJ24nLCBmaXJzdF9yb3dbImRlcHR5cGUiXSkKKyAgICAgICAgICAg ICAgICBzZWxmLmFzc2VydEVxdWFsKCd0ZXN0X3RhYmxlJywgZmlyc3Rfcm93 WyJyZWZuYW1lIl0pCmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2Vy L3NlcnZlcl9ncm91cHMvc2VydmVycy90ZW1wbGF0ZXMvZGVwZW5kcy9zcWwv dGVzdHMvdGVzdF9yb2xlX2RlcGVuZGVuY2llcy5weSBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9kZXBl bmRzL3NxbC90ZXN0cy90ZXN0X3JvbGVfZGVwZW5kZW5jaWVzLnB5Cm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwLi43YzlhMGIwMwotLS0g L2Rldi9udWxsCisrKyBiL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dy b3Vwcy9zZXJ2ZXJzL3RlbXBsYXRlcy9kZXBlbmRzL3NxbC90ZXN0cy90ZXN0 X3JvbGVfZGVwZW5kZW5jaWVzLnB5CkBAIC0wLDAgKzEsNTQgQEAKKyMKKyMg cGdBZG1pbiA0IC0gUG9zdGdyZVNRTCBUb29scworIworIyBDb3B5cmlnaHQg KEMpIDIwMTMgLSAyMDE3LCBUaGUgcGdBZG1pbiBEZXZlbG9wbWVudCBUZWFt CisjIFRoaXMgc29mdHdhcmUgaXMgcmVsZWFzZWQgdW5kZXIgdGhlIFBvc3Rn cmVTUUwgTGljZW5jZQorIworaW1wb3J0IG9zCitpbXBvcnQgc3lzCisKK2Zy b20gcGdhZG1pbi51dGlscy5kcml2ZXIgaW1wb3J0IERyaXZlclJlZ2lzdHJ5 Citmcm9tIHJlZ3Jlc3Npb24ucHl0aG9uX3Rlc3RfdXRpbHMudGVtcGxhdGVf aGVscGVyIGltcG9ydCBmaWxlX2FzX3RlbXBsYXRlCisKK0RyaXZlclJlZ2lz dHJ5LmxvYWRfZHJpdmVycygpCitmcm9tIHBnYWRtaW4udXRpbHMucm91dGUg aW1wb3J0IEJhc2VUZXN0R2VuZXJhdG9yCitmcm9tIHJlZ3Jlc3Npb24ucHl0 aG9uX3Rlc3RfdXRpbHMgaW1wb3J0IHRlc3RfdXRpbHMKKworaWYgc3lzLnZl cnNpb25faW5mb1swXSA+PSAzOgorICAgIGxvbmcgPSBpbnQKKworCitjbGFz cyBUZXN0Um9sZURlcGVuZGVuY2llcyhCYXNlVGVzdEdlbmVyYXRvcik6Cisg ICAgc2NlbmFyaW9zID0gWworICAgICAgICAjIEZldGNoaW5nIGRlZmF1bHQg VVJMIGZvciBzY2hlbWEgbm9kZS4KKyAgICAgICAgKCdUZXN0IFJvbGUgRGVw ZW5kZW5jaWVzIFNRTCBmaWxlJywgZGljdCgpKQorICAgIF0KKyAgICBkZWYg cnVuVGVzdChzZWxmKToKKyAgICAgICAgIiIiIFdoZW4gdGhlcmUgYXJlIG5v IFJvbGUgRGVwZW5kZW5jaWVzIG9uIHRoZSB0YWJsZSwgaXQgcmV0dXJucyBh biBlbXB0eSByZXN1bHQgIiIiCisgICAgICAgIHdpdGggdGVzdF91dGlscy5E YXRhYmFzZShzZWxmLnNlcnZlcikgYXMgKGNvbm5lY3Rpb24sIGRhdGFiYXNl X25hbWUpOgorICAgICAgICAgICAgdGVzdF91dGlscy5jcmVhdGVfdGFibGUo c2VsZi5zZXJ2ZXIsIGRhdGFiYXNlX25hbWUsICJ0ZXN0X3RhYmxlIikKKwor ICAgICAgICAgICAgY3Vyc29yID0gY29ubmVjdGlvbi5jdXJzb3IoKQorICAg ICAgICAgICAgY3Vyc29yLmV4ZWN1dGUoIlNFTEVDVCBwZ19jbGFzcy5vaWQg YXMgdGFibGVfaWQgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIkZS T00gcGdfY2xhc3MgIgorICAgICAgICAgICAgICAgICAgICAgICAgICAgIldI RVJFIHBnX2NsYXNzLnJlbG5hbWU9J3Rlc3RfdGFibGUnIikKKyAgICAgICAg ICAgIHRhYmxlX2lkID0gY3Vyc29yLmZldGNob25lKCkKKworICAgICAgICAg ICAgc2VsZi52ZXJzaW9uc190b190ZXN0ID0gWydkZWZhdWx0J10KKworICAg ICAgICAgICAgZm9yIHZlcnNpb24gaW4gc2VsZi52ZXJzaW9uc190b190ZXN0 OgorICAgICAgICAgICAgICAgIHRlbXBsYXRlX2ZpbGUgPSBvcy5wYXRoLmpv aW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9fKSwgIi4uIiwgdmVyc2lvbiwg InJvbGVfZGVwZW5kZW5jaWVzLnNxbCIpCisgICAgICAgICAgICAgICAgdGVt cGxhdGUgPSBmaWxlX2FzX3RlbXBsYXRlKHRlbXBsYXRlX2ZpbGUpCisKKyAg ICAgICAgICAgICAgICBzcWwgPSB0ZW1wbGF0ZS5yZW5kZXIod2hlcmVfY2xh dXNlPSJXSEVSRSBkZXAub2JqaWQ9JXM6Om9pZCIgJSB0YWJsZV9pZCkKKwor ICAgICAgICAgICAgICAgIGN1cnNvciA9IGNvbm5lY3Rpb24uY3Vyc29yKCkK KyAgICAgICAgICAgICAgICBjdXJzb3IuZXhlY3V0ZShzcWwpCisgICAgICAg ICAgICAgICAgZmV0Y2hfcmVzdWx0ID0gY3Vyc29yLmZldGNoYWxsKCkKKyAg ICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFsKDEsIGxlbihmZXRjaF9y ZXN1bHQpKQorCisgICAgICAgICAgICAgICAgZmlyc3Rfcm93ID0ge30KKyAg ICAgICAgICAgICAgICBmb3IgaW5kZXgsIGRlc2NyaXB0aW9uIGluIGVudW1l cmF0ZShjdXJzb3IuZGVzY3JpcHRpb24pOgorICAgICAgICAgICAgICAgICAg ICBmaXJzdF9yb3dbZGVzY3JpcHRpb24ubmFtZV0gPSBmZXRjaF9yZXN1bHRb MF1baW5kZXhdCisKKyAgICAgICAgICAgICAgICBzZWxmLmFzc2VydEVxdWFs KCdvJywgZmlyc3Rfcm93WyJkZXB0eXBlIl0pCmRpZmYgLS1naXQgYS93ZWIv cGdhZG1pbi9icm93c2VyL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nl ci91dGlscy5weQppbmRleCBkMjg5OTg3NS4uNzA4YmZkZmIgMTAwNjQ0Ci0t LSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvdXRpbHMucHkKKysrIGIvd2ViL3Bn YWRtaW4vYnJvd3Nlci91dGlscy5weQpAQCAtMzUzLDE1ICszNTMsMTUgQEAg Y2xhc3MgUEdDaGlsZE5vZGVWaWV3KE5vZGVWaWV3KToKICAgICAgICAgZWxz ZToKICAgICAgICAgICAgIHdoZXJlX2NsYXVzZSA9IHdoZXJlCiAKLSAgICAg ICAgcXVlcnkgPSByZW5kZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NxbF9wYXRo LCAnZGVwZW5kZW50cy5zcWwnXSksCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZldGNoX2RlcGVuZGVuY2llcz1UcnVlLCB3aGVyZV9jbGF1 c2U9d2hlcmVfY2xhdXNlKQorICAgICAgICBxdWVyeSA9IHJlbmRlcl90ZW1w bGF0ZSgiLyIuam9pbihbc3FsX3BhdGgsICdkZXBlbmRlbmNpZXMuc3FsJ10p LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZV9jbGF1 c2U9d2hlcmVfY2xhdXNlKQogICAgICAgICAjIGZldGNoIHRoZSBkZXBlbmRl bmN5IGZvciB0aGUgc2VsZWN0ZWQgb2JqZWN0CiAgICAgICAgIGRlcGVuZGVu Y2llcyA9IHNlbGYuX19mZXRjaF9kZXBlbmRlbmN5KGNvbm4sIHF1ZXJ5KQog CiAgICAgICAgICMgZmV0Y2ggcm9sZSBkZXBlbmRlbmNpZXMKICAgICAgICAg aWYgd2hlcmVfY2xhdXNlLmZpbmQoJ3N1YmlkJykgPCAwOgotICAgICAgICAg ICAgc3FsID0gcmVuZGVyX3RlbXBsYXRlKCIvIi5qb2luKFtzcWxfcGF0aCwg J2RlcGVuZGVudHMuc3FsJ10pLAotICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGZldGNoX3JvbGVfZGVwZW5kZW5jaWVzPVRydWUsIHdoZXJl X2NsYXVzZT13aGVyZV9jbGF1c2UpCisgICAgICAgICAgICBzcWwgPSByZW5k ZXJfdGVtcGxhdGUoIi8iLmpvaW4oW3NxbF9wYXRoLCAncm9sZV9kZXBlbmRl bmNpZXMuc3FsJ10pLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHdoZXJlX2NsYXVzZT13aGVyZV9jbGF1c2UpCiAKICAgICAgICAgICAg IHN0YXR1cywgcmVzdWx0ID0gY29ubi5leGVjdXRlX2RpY3Qoc3FsKQogICAg ICAgICAgICAgaWYgbm90IHN0YXR1czoKQEAgLTQwMiw3ICs0MDIsNyBAQCBj bGFzcyBQR0NoaWxkTm9kZVZpZXcoTm9kZVZpZXcpOgogICAgICAgICAgICAg d2hlcmVfY2xhdXNlID0gd2hlcmUKIAogICAgICAgICBxdWVyeSA9IHJlbmRl cl90ZW1wbGF0ZSgiLyIuam9pbihbc3FsX3BhdGgsICdkZXBlbmRlbnRzLnNx bCddKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmV0Y2hf ZGVwZW5kZW50cz1UcnVlLCB3aGVyZV9jbGF1c2U9d2hlcmVfY2xhdXNlKQor ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVyZV9jbGF1c2U9 d2hlcmVfY2xhdXNlKQogICAgICAgICAjIGZldGNoIHRoZSBkZXBlbmRlbmN5 IGZvciB0aGUgc2VsZWN0ZWQgb2JqZWN0CiAgICAgICAgIGRlcGVuZGVudHMg PSBzZWxmLl9fZmV0Y2hfZGVwZW5kZW5jeShjb25uLCBxdWVyeSkKIApkaWZm IC0tZ2l0IGEvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9jb3B5X3NlbGVj dGVkX3F1ZXJ5X3Jlc3VsdHNfZmVhdHVyZV90ZXN0LnB5IGIvd2ViL3BnYWRt aW4vZmVhdHVyZV90ZXN0cy9jb3B5X3NlbGVjdGVkX3F1ZXJ5X3Jlc3VsdHNf ZmVhdHVyZV90ZXN0LnB5CmluZGV4IDIyMzU3OWVlLi5iZGE5ZGUyMiAxMDA2 NDQKLS0tIGEvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9jb3B5X3NlbGVj dGVkX3F1ZXJ5X3Jlc3VsdHNfZmVhdHVyZV90ZXN0LnB5CisrKyBiL3dlYi9w Z2FkbWluL2ZlYXR1cmVfdGVzdHMvY29weV9zZWxlY3RlZF9xdWVyeV9yZXN1 bHRzX2ZlYXR1cmVfdGVzdC5weQpAQCAtMzcsNyArMzcsNyBAQCBjbGFzcyBD b3B5U2VsZWN0ZWRRdWVyeVJlc3VsdHNGZWF0dXJlVGVzdChCYXNlRmVhdHVy ZVRlc3QpOgogICAgICAgICBzZWxmLnBhZ2UuZmluZF9ieV9wYXJ0aWFsX2xp bmtfdGV4dCgiUXVlcnkgVG9vbCIpLmNsaWNrKCkKICAgICAgICAgc2VsZi5w YWdlLmNsaWNrX3RhYignUXVlcnktMScpCiAgICAgICAgIHRpbWUuc2xlZXAo NSkKLSAgICAgICAgQWN0aW9uQ2hhaW5zKHNlbGYucGFnZS5kcml2ZXIpLnNl bmRfa2V5cygiU0VMRUNUICogRlJPTSB0ZXN0X3RhYmxlIikucGVyZm9ybSgp CisgICAgICAgIEFjdGlvbkNoYWlucyhzZWxmLnBhZ2UuZHJpdmVyKS5zZW5k X2tleXMoIlNFTEVDVCAqIEZST00gdGVzdF90YWJsZSBPUkRFUiBCWSBzb21l X2NvbHVtbiIpLnBlcmZvcm0oKQogICAgICAgICBzZWxmLnBhZ2UuZHJpdmVy LnN3aXRjaF90b19mcmFtZShzZWxmLnBhZ2UuZHJpdmVyLmZpbmRfZWxlbWVu dF9ieV90YWdfbmFtZSgiaWZyYW1lIikpCiAgICAgICAgIHNlbGYucGFnZS5m aW5kX2J5X2lkKCJidG4tZmxhc2giKS5jbGljaygpCiAKZGlmZiAtLWdpdCBh L3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMveHNzX2NoZWNrc19wZ2FkbWlu X2RlYnVnZ2VyX3Rlc3QucHkgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3Rz L3hzc19jaGVja3NfcGdhZG1pbl9kZWJ1Z2dlcl90ZXN0LnB5CmluZGV4IDhi MDE4ZmVkLi4xN2JjN2JmNSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vZmVh dHVyZV90ZXN0cy94c3NfY2hlY2tzX3BnYWRtaW5fZGVidWdnZXJfdGVzdC5w eQorKysgYi93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3hzc19jaGVja3Nf cGdhZG1pbl9kZWJ1Z2dlcl90ZXN0LnB5CkBAIC0xNiwxMCArMTYsMTQgQEAg Y2xhc3MgQ2hlY2tEZWJ1Z2dlckZvclhzc0ZlYXR1cmVUZXN0KEJhc2VGZWF0 dXJlVGVzdCk6CiAgICAgIiIiVGVzdHMgdG8gY2hlY2sgaWYgRGVidWdnZXIg aXMgdnVsbmVyYWJsZSB0byBYU1MuIiIiCiAKICAgICBzY2VuYXJpb3MgPSBb Ci0gICAgICAgICgiVGVzdCB0YWJsZSBEREwgZ2VuZXJhdGlvbiIsIGRpY3Qo KSkKKyAgICAgICAgKCJUZXN0cyB0byBjaGVjayBpZiBEZWJ1Z2dlciBpcyB2 dWxuZXJhYmxlIHRvIFhTUyIsIGRpY3QoKSkKICAgICBdCiAKICAgICBkZWYg YmVmb3JlKHNlbGYpOgorICAgICAgICB3aXRoIHRlc3RfdXRpbHMuRGF0YWJh c2Uoc2VsZi5zZXJ2ZXIpIGFzIChjb25uZWN0aW9uLCBfKToKKyAgICAgICAg ICAgIGlmIGNvbm5lY3Rpb24uc2VydmVyX3ZlcnNpb24gPCA5MDEwMDoKKyAg ICAgICAgICAgICAgICBzZWxmLnNraXBUZXN0KCJGdW5jdGlvbnMgdHJlZSBu b2RlIGlzIG5vdCBwcmVzZW50IGluIHBnQWRtaW4gYmVsb3cgUEcgdjkuMSIp CisKICAgICAgICAgIyBTb21lIHRlc3QgZnVuY3Rpb24gaXMgbmVlZGVkIGZv ciBkZWJ1Z2dlcgogICAgICAgICB0ZXN0X3V0aWxzLmNyZWF0ZV9kZWJ1Z19m dW5jdGlvbihzZWxmLnNlcnZlciwgInBvc3RncmVzIiwKICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgInRlc3RfZnVuY3Rpb24iKQotLSAK Mi4xMi4wCgo= --94eb2c03eb6280b71b054db27506 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 --94eb2c03eb6280b71b054db27506--