Received: from malur.postgresql.org ([217.196.149.56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1habJp-0007SG-JG for pgadmin-hackers@arkaria.postgresql.org; Tue, 11 Jun 2019 07:35:46 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1habJo-0005lG-H5 for pgadmin-hackers@arkaria.postgresql.org; Tue, 11 Jun 2019 07:35:44 +0000 Received: from magus.postgresql.org ([2a02:c0:301:0:ffff::29]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1habJo-0005l9-3T for pgadmin-hackers@lists.postgresql.org; Tue, 11 Jun 2019 07:35:44 +0000 Received: from mail-lj1-x236.google.com ([2a00:1450:4864:20::236]) by magus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1habJk-00025N-Cv for pgadmin-hackers@postgresql.org; Tue, 11 Jun 2019 07:35:43 +0000 Received: by mail-lj1-x236.google.com with SMTP id h10so4656086ljg.0 for ; Tue, 11 Jun 2019 00:35:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=enterprisedb-com.20150623.gappssmtp.com; s=20150623; h=mime-version:from:date:message-id:subject:to; bh=Qf9mXQR0x8YcGS7a9vOZzKHjRWFOoeHp+pEg9+FsqwA=; b=WIRHRvNgv8u/FBOF2xiHR7e0ghv3mULn0tFnFrn7gq5QWdZn7F7WIBHNv0x1vzPWdo XIzLWgv+iaQXLYo7nNoruuaiVCcBqxnC/6CDKOebio1TVIgyVlb+CKjLcnspkQD6vDSi qle5sgcef8dT+5wHKGogqAqEWPYv4HqAHi5iQ2AIPPic/m+dHLpZtjqfAWlAF2U3AlrQ LNHV/cYslnAwVJv7Ym/v9+wCt/+cQsAzrHcOC4U47xWQpqAPdKHI2ht/37HI3cC/R4H5 S6hvVjcjpbDJ6JfRt1oRmY0djiOezJ/Odz/bYh0jhSJDoKmPfUFh7v1mgSwAbK6yE54P sOow== 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=Qf9mXQR0x8YcGS7a9vOZzKHjRWFOoeHp+pEg9+FsqwA=; b=U5OEe0d4iqrsksS5jYbNRw3nGzQ6XUKjZKT39sIfsDz3XpViT72tsgiaaiwgy6Urwq 8Xhf1yzt2hCcEpjQ39V2BrDtvI9afDjyTNM5TfWE3mC8NmoMi2GDu/Zn2h52IWtpc/7e AbjkTJv4Jd1P5uHIlJqOUArA4T8YyBPhDwm+/fGH+Vxn7469lhC+I/vpG9R4ZBHeDT4d 9Z09wgN9I2pJjxiJUSka1IF0kJgZMAiw4viKnvmUe8AzFY/pPxI3oidwY8xURHBkpcFW jVCDC5uPlHYpPbkxT/n7FomnPEuRSLjK6KeXBEnLpd7tvjH3iwRcjjw0TyJRLyjDgB+l xJjg== X-Gm-Message-State: APjAAAWrF1OG7pG3T3eJdwCEW1i7bw1zlE4YIvzubRwiuSDsOHZFLauv baKX4TwPMXTdzNXwmbful5t72m3l0g1IVYsDCVvGhBQCQ9Y= X-Google-Smtp-Source: APXvYqxH2h+ccaIQeqii+7WtC7co8dwTCT96E6PUuA8LVjR3Vr9+Mg4cFmFFgh8eDcREwTEhLkdQOAaVo/JMJWUVrbo= X-Received: by 2002:a2e:480a:: with SMTP id v10mr1529144lja.94.1560238537737; Tue, 11 Jun 2019 00:35:37 -0700 (PDT) MIME-Version: 1.0 From: Aditya Toshniwal Date: Tue, 11 Jun 2019 13:05:01 +0530 Message-ID: Subject: [pgAdmin][RM4228] Incorrect table listed in panel header To: pgadmin-hackers Content-Type: multipart/mixed; boundary="000000000000cebd17058b0757f8" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --000000000000cebd17058b0757f8 Content-Type: multipart/alternative; boundary="000000000000cebd14058b0757f6" --000000000000cebd14058b0757f6 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached is the patch to fix incorrect label on panels when using filtered rows. I've also moved redundant code for filter data in datagrid.js to show_data.js, reusing the existing code of view/edit data. Kindly review. -- Thanks and Regards, Aditya Toshniwal Software Engineer | EnterpriseDB India | Pune "Don't Complain about Heat, Plant a TREE" --000000000000cebd14058b0757f6 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached is the patch to fix incorrect lab= el on panels when using filtered rows.
I've also move= d redundant code for filter data in datagrid.js to show_data.js, reusing th= e existing code of view/edit data.

Kindly review.

--
Thanks and Reg= ards,
Aditya Toshniwal
Software= Engineer |=C2=A0EnterpriseDB India |=C2=A0Pune
"Don't Complain about Heat, Plant= a TREE"
--000000000000cebd14058b0757f6-- --000000000000cebd17058b0757f8 Content-Type: application/octet-stream; name="RM4228.patch" Content-Disposition: attachment; filename="RM4228.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_jwrhpmlh0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9kYXRhZ3Jp ZC5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9kYXRhZ3JpZC5qcwpp bmRleCAzZTJlMTQ0MC4uNTkxMGZjNDMgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL3Rvb2xzL2Rh dGFncmlkL3N0YXRpYy9qcy9kYXRhZ3JpZC5qcworKysgYi93ZWIvcGdhZG1pbi90b29scy9kYXRh Z3JpZC9zdGF0aWMvanMvZGF0YWdyaWQuanMKQEAgLTEyLDE4ICsxMiwxNiBAQCBkZWZpbmUoJ3Bn YWRtaW4uZGF0YWdyaWQnLCBbCiAgICdwZ2FkbWluLmFsZXJ0aWZ5anMnLCAnc291cmNlcy9wZ2Fk bWluJywgJ2J1bmRsZWRfY29kZW1pcnJvcicsCiAgICdzb3VyY2VzL3NxbGVkaXRvcl91dGlscycs ICdiYWNrYm9uZScsCiAgICd0b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvc2hvd19kYXRhJywKLSAg J3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9nZXRfcGFuZWxfdGl0bGUnLAogICAndG9vbHMvZGF0 YWdyaWQvc3RhdGljL2pzL3Nob3dfcXVlcnlfdG9vbCcsICdwZ2FkbWluLmJyb3dzZXIudG9vbGJh cicsCiAgICd3Y2RvY2tlcicsCiBdLCBmdW5jdGlvbigKICAgZ2V0dGV4dCwgdXJsX2ZvciwgJCwg XywgYWxlcnRpZnksIHBnQWRtaW4sIGNvZGVtaXJyb3IsIHNxbEVkaXRvclV0aWxzLAotICBCYWNr Ym9uZSwgc2hvd0RhdGEsIHBhbmVsVGl0bGUsIHNob3dRdWVyeVRvb2wsIHRvb2xCYXIKKyAgQmFj a2JvbmUsIHNob3dEYXRhLCBzaG93UXVlcnlUb29sLCB0b29sQmFyCiApIHsKICAgLy8gU29tZSBz Y3JpcHRzIGRvIGV4cG9ydCB0aGVpciBvYmplY3QgaW4gdGhlIHdpbmRvdyBvbmx5LgogICAvLyBH ZW5lcmFsbHkgdGhlIG9uZSwgd2hpY2ggZG8gbm8gaGF2ZSBBTUQgc3VwcG9ydC4KICAgdmFyIHdj RG9ja2VyID0gd2luZG93LndjRG9ja2VyLAotICAgIHBnQnJvd3NlciA9IHBnQWRtaW4uQnJvd3Nl ciwKLSAgICBDb2RlTWlycm9yID0gY29kZW1pcnJvci5kZWZhdWx0OworICAgIHBnQnJvd3NlciA9 IHBnQWRtaW4uQnJvd3NlcjsKIAogICAvKiBSZXR1cm4gYmFjaywgdGhpcyBoYXMgYmVlbiBjYWxs ZWQgbW9yZSB0aGFuIG9uY2UgKi8KICAgaWYgKHBnQWRtaW4uRGF0YUdyaWQpCkBAIC0yMDIsMTg4 ICsyMDAsMTQgQEAgZGVmaW5lKCdwZ2FkbWluLmRhdGFncmlkJywgWwogCiAgICAgICAvLyBUaGlz IGlzIGEgY2FsbGJhY2sgZnVuY3Rpb24gdG8gc2hvdyBmaWx0ZXJlZCBkYXRhIHdoZW4gdXNlciBj bGljayBvbiBtZW51IGl0ZW0uCiAgICAgICBzaG93X2ZpbHRlcmVkX3JvdzogZnVuY3Rpb24oZGF0 YSwgaSkgewotICAgICAgICB2YXIgc2VsZiA9IHRoaXMsCi0gICAgICAgICAgZCA9IHBnQWRtaW4u QnJvd3Nlci50cmVlLml0ZW1EYXRhKGkpOwotICAgICAgICBpZiAoZCA9PT0gdW5kZWZpbmVkKSB7 Ci0gICAgICAgICAgYWxlcnRpZnkuYWxlcnQoCi0gICAgICAgICAgICBnZXR0ZXh0KCdEYXRhIEdy aWQgRXJyb3InKSwKLSAgICAgICAgICAgIGdldHRleHQoJ05vIG9iamVjdCBzZWxlY3RlZC4nKQot ICAgICAgICAgICk7Ci0gICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgLy8g R2V0IHRoZSBwYXJlbnQgZGF0YSBmcm9tIHRoZSB0cmVlIG5vZGUgaGllcmFyY2h5LgotICAgICAg ICB2YXIgbm9kZSA9IHBnQnJvd3Nlci5Ob2Rlc1tkLl90eXBlXSwKLSAgICAgICAgICBwYXJlbnRE YXRhID0gbm9kZS5nZXRUcmVlTm9kZUhpZXJhcmNoeShpKTsKLQotICAgICAgICAvLyBJZiBzZXJ2 ZXIgb3IgZGF0YWJhc2UgaXMgdW5kZWZpbmVkIHRoZW4gcmV0dXJuIGZyb20gdGhlIGZ1bmN0aW9u LgotICAgICAgICBpZiAocGFyZW50RGF0YS5zZXJ2ZXIgPT09IHVuZGVmaW5lZCB8fCBwYXJlbnRE YXRhLmRhdGFiYXNlID09PSB1bmRlZmluZWQpIHsKLSAgICAgICAgICByZXR1cm47Ci0gICAgICAg IH0KLQotICAgICAgICAvLyBJZiBzY2hlbWEsIHZpZXcsIGNhdGFsb2cgb2JqZWN0IGFsbCBhcmUg dW5kZWZpbmVkIHRoZW4gcmV0dXJuIGZyb20gdGhlIGZ1bmN0aW9uLgotICAgICAgICBpZiAocGFy ZW50RGF0YS5zY2hlbWEgPT09IHVuZGVmaW5lZCAmJiBwYXJlbnREYXRhLnZpZXcgPT09IHVuZGVm aW5lZCAmJgotICAgICAgICAgICAgIHBhcmVudERhdGEuY2F0YWxvZyA9PT0gdW5kZWZpbmVkKSB7 Ci0gICAgICAgICAgcmV0dXJuOwotICAgICAgICB9Ci0KLSAgICAgICAgbGV0IG5zcF9uYW1lID0g c2hvd0RhdGEucmV0cmlldmVOYW1lU3BhY2VOYW1lKHBhcmVudERhdGEpOwotCi0gICAgICAgIHZh ciB1cmxfcGFyYW1zID0gewotICAgICAgICAgICdjbWRfdHlwZSc6IGRhdGEubW51aWQsCi0gICAg ICAgICAgJ29ial90eXBlJzogZC5fdHlwZSwKLSAgICAgICAgICAnc2dpZCc6IHBhcmVudERhdGEu c2VydmVyX2dyb3VwLl9pZCwKLSAgICAgICAgICAnc2lkJzogcGFyZW50RGF0YS5zZXJ2ZXIuX2lk LAotICAgICAgICAgICdkaWQnOiBwYXJlbnREYXRhLmRhdGFiYXNlLl9pZCwKLSAgICAgICAgICAn b2JqX2lkJzogZC5faWQsCi0gICAgICAgIH07Ci0KLSAgICAgICAgdmFyIGJhc2VVcmwgPSB1cmxf Zm9yKCdkYXRhZ3JpZC5pbml0aWFsaXplX2RhdGFncmlkJywgdXJsX3BhcmFtcyk7Ci0KLSAgICAg ICAgLy8gQ3JlYXRlIHVybCB0byB2YWxpZGF0ZSB0aGUgU1FMIGZpbHRlcgotICAgICAgICB2YXIg dmFsaWRhdGVVcmwgPSB1cmxfZm9yKCdkYXRhZ3JpZC5maWx0ZXJfdmFsaWRhdGUnLCB7Ci0gICAg ICAgICAgJ3NpZCc6IHVybF9wYXJhbXNbJ3NpZCddLAotICAgICAgICAgICdkaWQnOiB1cmxfcGFy YW1zWydkaWQnXSwKLSAgICAgICAgICAnb2JqX2lkJzogdXJsX3BhcmFtc1snb2JqX2lkJ10sCi0g ICAgICAgIH0pOwotCi0gICAgICAgIGxldCBncmlkX3RpdGxlID0gc2hvd0RhdGEuZ2VuZXJhdGVE YXRhZ3JpZFRpdGxlKHBhcmVudERhdGEsIG5zcF9uYW1lLCBkKTsKLQotICAgICAgICAvLyBDcmVh dGUgZmlsdGVyIGRpYWxvZyB1c2luZyBhbGVydGlmeQotICAgICAgICBpZiAoIWFsZXJ0aWZ5LmZp bHRlckRpYWxvZykgewotICAgICAgICAgIGFsZXJ0aWZ5LmRpYWxvZygnZmlsdGVyRGlhbG9nJywg ZnVuY3Rpb24gZmFjdG9yeSgpIHsKLSAgICAgICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgICAg IG1haW46IGZ1bmN0aW9uKHRpdGxlLCBtZXNzYWdlLCBiYXNlVXJsLCB2YWxpZGF0ZVVybCkgewot ICAgICAgICAgICAgICAgIHRoaXMuc2V0KCd0aXRsZScsIHRpdGxlKTsKLSAgICAgICAgICAgICAg ICB0aGlzLm1lc3NhZ2UgPSBtZXNzYWdlOwotICAgICAgICAgICAgICAgIHRoaXMuYmFzZVVybCA9 IGJhc2VVcmw7Ci0gICAgICAgICAgICAgICAgdGhpcy52YWxpZGF0ZVVybCA9IHZhbGlkYXRlVXJs OwotICAgICAgICAgICAgICB9LAotCi0gICAgICAgICAgICAgIHNldHVwOmZ1bmN0aW9uKCkgewot ICAgICAgICAgICAgICAgIHJldHVybiB7Ci0gICAgICAgICAgICAgICAgICBidXR0b25zOlt7Ci0g ICAgICAgICAgICAgICAgICAgIHRleHQ6IGdldHRleHQoJ0NhbmNlbCcpLAotICAgICAgICAgICAg ICAgICAgICBrZXk6IDI3LAotICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU6ICdidG4gYnRu LXNlY29uZGFyeSBmYSBmYS10aW1lcyBwZy1hbGVydGlmeS1idXR0b24nLAotICAgICAgICAgICAg ICAgICAgfSx7Ci0gICAgICAgICAgICAgICAgICAgIHRleHQ6IGdldHRleHQoJ09LJyksCi0gICAg ICAgICAgICAgICAgICAgIGtleTogMTMsCi0gICAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZTog J2J0biBidG4tcHJpbWFyeSBmYSBmYS1jaGVjayBwZy1hbGVydGlmeS1idXR0b24nLAotICAgICAg ICAgICAgICAgICAgfV0sCi0gICAgICAgICAgICAgICAgICBvcHRpb25zOiB7Ci0gICAgICAgICAg ICAgICAgICAgIG1vZGFsOiAwLAotICAgICAgICAgICAgICAgICAgICByZXNpemFibGU6IHRydWUs Ci0gICAgICAgICAgICAgICAgICAgIG1heGltaXphYmxlOiBmYWxzZSwKLSAgICAgICAgICAgICAg ICAgICAgcGlubmFibGU6IGZhbHNlLAotICAgICAgICAgICAgICAgICAgICBhdXRvUmVzZXQ6IGZh bHNlLAotICAgICAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgICAgICB9OwotICAgICAgICAg ICAgICB9LAotICAgICAgICAgICAgICBidWlsZDogZnVuY3Rpb24oKSB7Ci0gICAgICAgICAgICAg ICAgYWxlcnRpZnkucGdEaWFsb2dCdWlsZC5hcHBseSh0aGlzKTsKLSAgICAgICAgICAgICAgfSwK LSAgICAgICAgICAgICAgcHJlcGFyZTpmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICB2YXIg dGhhdCA9IHRoaXMsCi0gICAgICAgICAgICAgICAgICAkY29udGVudCA9ICQodGhpcy5tZXNzYWdl KSwKLSAgICAgICAgICAgICAgICAgICRzcWxfZmlsdGVyID0gJGNvbnRlbnQuZmluZCgnI3NxbF9m aWx0ZXInKTsKLQotICAgICAgICAgICAgICAgICQodGhpcy5lbGVtZW50cy5oZWFkZXIpLmF0dHIo J2RhdGEtdGl0bGUnLCB0aGlzLmdldCgndGl0bGUnKSk7Ci0gICAgICAgICAgICAgICAgJCh0aGlz LmVsZW1lbnRzLmJvZHkuY2hpbGROb2Rlc1swXSkuYWRkQ2xhc3MoCi0gICAgICAgICAgICAgICAg ICAnZGF0YXZpZXdfZmlsdGVyX2RpYWxvZycKLSAgICAgICAgICAgICAgICApOwotCi0gICAgICAg ICAgICAgICAgdGhpcy5zZXRDb250ZW50KCRjb250ZW50LmdldCgwKSk7Ci0gICAgICAgICAgICAg ICAgLy8gRGlzYWJsZSBPSyBidXR0b24KLSAgICAgICAgICAgICAgICB0aGF0Ll9faW50ZXJuYWwu YnV0dG9uc1sxXS5lbGVtZW50LmRpc2FibGVkID0gdHJ1ZTsKLQotICAgICAgICAgICAgICAgIC8v IEFwcGx5IENvZGVNaXJyb3IgdG8gZmlsdGVyIHRleHQgYXJlYS4KLSAgICAgICAgICAgICAgICB0 aGlzLmZpbHRlcl9vYmogPSBDb2RlTWlycm9yLmZyb21UZXh0QXJlYSgkc3FsX2ZpbHRlci5nZXQo MCksIHsKLSAgICAgICAgICAgICAgICAgIGxpbmVOdW1iZXJzOiB0cnVlLAotICAgICAgICAgICAg ICAgICAgbW9kZTogJ3RleHQveC1wZ3NxbCcsCi0gICAgICAgICAgICAgICAgICBleHRyYUtleXM6 IHBnQnJvd3Nlci5lZGl0b3Jfc2hvcnRjdXRfa2V5cywKLSAgICAgICAgICAgICAgICAgIGluZGVu dFdpdGhUYWJzOiAhc2VsZi5wcmVmZXJlbmNlcy51c2Vfc3BhY2VzLAotICAgICAgICAgICAgICAg ICAgaW5kZW50VW5pdDogc2VsZi5wcmVmZXJlbmNlcy50YWJfc2l6ZSwKLSAgICAgICAgICAgICAg ICAgIHRhYlNpemU6IHNlbGYucHJlZmVyZW5jZXMudGFiX3NpemUsCi0gICAgICAgICAgICAgICAg ICBsaW5lV3JhcHBpbmc6IHNlbGYucHJlZmVyZW5jZXMud3JhcF9jb2RlLAotICAgICAgICAgICAg ICAgICAgYXV0b0Nsb3NlQnJhY2tldHM6IHNlbGYucHJlZmVyZW5jZXMuaW5zZXJ0X3BhaXJfYnJh Y2tldHMsCi0gICAgICAgICAgICAgICAgICBtYXRjaEJyYWNrZXRzOiBzZWxmLnByZWZlcmVuY2Vz LmJyYWNlX21hdGNoaW5nLAotICAgICAgICAgICAgICAgIH0pOwotCi0gICAgICAgICAgICAgICAg bGV0IHNxbF9mb250X3NpemUgPSBzcWxFZGl0b3JVdGlscy5jYWxjRm9udFNpemUoc2VsZi5wcmVm ZXJlbmNlcy5zcWxfZm9udF9zaXplKTsKLSAgICAgICAgICAgICAgICAkKHRoaXMuZmlsdGVyX29i ai5nZXRXcmFwcGVyRWxlbWVudCgpKS5jc3MoJ2ZvbnQtc2l6ZScsIHNxbF9mb250X3NpemUpOwot Ci0gICAgICAgICAgICAgICAgc2V0VGltZW91dChmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAg ICAgIC8vIFNldCBmb2N1cyBvbiBlZGl0b3IKLSAgICAgICAgICAgICAgICAgIHRoYXQuZmlsdGVy X29iai5yZWZyZXNoKCk7Ci0gICAgICAgICAgICAgICAgICB0aGF0LmZpbHRlcl9vYmouZm9jdXMo KTsKLSAgICAgICAgICAgICAgICB9LCA1MDApOwotCi0gICAgICAgICAgICAgICAgdGhhdC5maWx0 ZXJfb2JqLm9uKCdjaGFuZ2UnLCBmdW5jdGlvbigpIHsKLSAgICAgICAgICAgICAgICAgIGlmICh0 aGF0LmZpbHRlcl9vYmouZ2V0VmFsdWUoKSAhPT0gJycpIHsKLSAgICAgICAgICAgICAgICAgICAg dGhhdC5fX2ludGVybmFsLmJ1dHRvbnNbMV0uZWxlbWVudC5kaXNhYmxlZCA9IGZhbHNlOwotICAg ICAgICAgICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgICAgICAgICAgdGhhdC5fX2ludGVy bmFsLmJ1dHRvbnNbMV0uZWxlbWVudC5kaXNhYmxlZCA9IHRydWU7Ci0gICAgICAgICAgICAgICAg ICB9Ci0gICAgICAgICAgICAgICAgfSk7Ci0gICAgICAgICAgICAgIH0sCi0KLSAgICAgICAgICAg ICAgY2FsbGJhY2s6IGZ1bmN0aW9uKGNsb3NlRXZlbnQpIHsKLQotICAgICAgICAgICAgICAgIGlm IChjbG9zZUV2ZW50LmJ1dHRvbi50ZXh0ID09IGdldHRleHQoJ09LJykpIHsKLSAgICAgICAgICAg ICAgICAgIHZhciBzcWwgPSB0aGlzLmZpbHRlcl9vYmouZ2V0VmFsdWUoKTsKLSAgICAgICAgICAg ICAgICAgIHZhciB0aGF0ID0gdGhpczsKLSAgICAgICAgICAgICAgICAgIGNsb3NlRXZlbnQuY2Fu Y2VsID0gdHJ1ZTsgLy8gRG8gbm90IGNsb3NlIGRpYWxvZwotCi0gICAgICAgICAgICAgICAgICAv LyBNYWtlIGFqYXggY2FsbCB0byBpbmNsdWRlIHRoZSBmaWx0ZXIgYnkgc2VsZWN0aW9uCi0gICAg ICAgICAgICAgICAgICAkLmFqYXgoewotICAgICAgICAgICAgICAgICAgICB1cmw6IHRoYXQudmFs aWRhdGVVcmwsCi0gICAgICAgICAgICAgICAgICAgIG1ldGhvZDogJ1BPU1QnLAotICAgICAgICAg ICAgICAgICAgICBhc3luYzogZmFsc2UsCi0gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBl OiAnYXBwbGljYXRpb24vanNvbicsCi0gICAgICAgICAgICAgICAgICAgIGRhdGE6IEpTT04uc3Ry aW5naWZ5KHNxbCksCi0gICAgICAgICAgICAgICAgICB9KQotICAgICAgICAgICAgICAgICAgICAu ZG9uZShmdW5jdGlvbihyZXMpIHsKLSAgICAgICAgICAgICAgICAgICAgICBpZiAocmVzLmRhdGEu c3RhdHVzKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgLy8gSW5pdGlhbGl6ZSB0aGUgZGF0YSBn cmlkLgotICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5jcmVhdGVfdHJhbnNhY3Rpb24odGhh dC5iYXNlVXJsLCBudWxsLCAnZmFsc2UnLCBwYXJlbnREYXRhLnNlcnZlci5zZXJ2ZXJfdHlwZSwg JycsIGdyaWRfdGl0bGUsIHNxbCwgZmFsc2UpOwotICAgICAgICAgICAgICAgICAgICAgICAgdGhh dC5jbG9zZSgpOyAvLyBDbG9zZSB0aGUgZGlhbG9nCi0gICAgICAgICAgICAgICAgICAgICAgfQot ICAgICAgICAgICAgICAgICAgICAgIGVsc2UgewotICAgICAgICAgICAgICAgICAgICAgICAgYWxl cnRpZnkuYWxlcnQoCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGdldHRleHQoJ1ZhbGlkYXRp b24gRXJyb3InKSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgcmVzLmRhdGEucmVzdWx0Ci0g ICAgICAgICAgICAgICAgICAgICAgICApOwotICAgICAgICAgICAgICAgICAgICAgIH0KLSAgICAg ICAgICAgICAgICAgICAgfSkKLSAgICAgICAgICAgICAgICAgICAgLmZhaWwoZnVuY3Rpb24oZSkg ewotICAgICAgICAgICAgICAgICAgICAgIGFsZXJ0aWZ5LmFsZXJ0KAotICAgICAgICAgICAgICAg ICAgICAgICAgZ2V0dGV4dCgnVmFsaWRhdGlvbiBFcnJvcicpLAotICAgICAgICAgICAgICAgICAg ICAgICAgZQotICAgICAgICAgICAgICAgICAgICAgICk7Ci0gICAgICAgICAgICAgICAgICAgIH0p OwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgICAgfSwKLSAgICAgICAgICAgIH07Ci0g ICAgICAgICAgfSk7Ci0gICAgICAgIH0KLQotICAgICAgICAkLmdldCh1cmxfZm9yKCdkYXRhZ3Jp ZC5maWx0ZXInKSwKLSAgICAgICAgICBmdW5jdGlvbihkYXRhKSB7Ci0gICAgICAgICAgICBhbGVy dGlmeS5maWx0ZXJEaWFsb2coJ0RhdGEgRmlsdGVyJywgZGF0YSwgYmFzZVVybCwgdmFsaWRhdGVV cmwpCi0gICAgICAgICAgICAgIC5yZXNpemVUbyhwZ0Jyb3dzZXIuc3RkVy5zbSxwZ0Jyb3dzZXIu c3RkSC5zbSk7Ci0gICAgICAgICAgfQotICAgICAgICApOworICAgICAgICBzaG93RGF0YS5zaG93 RGF0YUdyaWQodGhpcywgcGdCcm93c2VyLCBhbGVydGlmeSwgZGF0YSwgaSwgdHJ1ZSwgdGhpcy5w cmVmZXJlbmNlcyk7CiAgICAgICB9LAogCi0gICAgICBnZXRfcGFuZWxfdGl0bGU6IGZ1bmN0aW9u KCkgewotICAgICAgICByZXR1cm4gcGFuZWxUaXRsZS5nZXRQYW5lbFRpdGxlKHBnQnJvd3Nlcik7 Ci0gICAgICB9LAogICAgICAgLy8gVGhpcyBpcyBhIGNhbGxiYWNrIGZ1bmN0aW9uIHRvIHNob3cg cXVlcnkgdG9vbCB3aGVuIHVzZXIgY2xpY2sgb24gbWVudSBpdGVtLgotICAgICAgc2hvd19xdWVy eV90b29sOiBmdW5jdGlvbih1cmwsIGFjaVRyZWVJZGVudGlmaWVyLCBwYW5lbFRpdGxlKSB7Ci0g ICAgICAgIHNob3dRdWVyeVRvb2wuc2hvd1F1ZXJ5VG9vbCh0aGlzLCBwZ0Jyb3dzZXIsIGFsZXJ0 aWZ5LCB1cmwsCi0gICAgICAgICAgYWNpVHJlZUlkZW50aWZpZXIsIHBhbmVsVGl0bGUpOworICAg ICAgc2hvd19xdWVyeV90b29sOiBmdW5jdGlvbih1cmwsIGFjaVRyZWVJZGVudGlmaWVyKSB7Cisg ICAgICAgIHNob3dRdWVyeVRvb2wuc2hvd1F1ZXJ5VG9vbCh0aGlzLCBwZ0Jyb3dzZXIsIGFsZXJ0 aWZ5LCB1cmwsIGFjaVRyZWVJZGVudGlmaWVyKTsKICAgICAgIH0sCisKICAgICAgIGNyZWF0ZV90 cmFuc2FjdGlvbjogZnVuY3Rpb24oYmFzZVVybCwgdGFyZ2V0LCBpc19xdWVyeV90b29sLCBzZXJ2 ZXJfdHlwZSwgc1VSTCwgcGFuZWxfdGl0bGUsIHNxbF9maWx0ZXIsIHJlY3JlYXRlKSB7CiAgICAg ICAgIHZhciBzZWxmID0gdGhpczsKICAgICAgICAgdGFyZ2V0ID0gIHRhcmdldCB8fCBzZWxmOwpA QCAtNDM5LDI4ICsyNjMsMjAgQEAgZGVmaW5lKCdwZ2FkbWluLmRhdGFncmlkJywgWwogICAgICAg bGF1bmNoX2dyaWQ6IGZ1bmN0aW9uKHRyYW5zX29iaikgewogICAgICAgICB2YXIgc2VsZiA9IHRo aXMsCiAgICAgICAgICAgcGFuZWxfdGl0bGUgPSB0cmFuc19vYmoucGFuZWxfdGl0bGUsCi0gICAg ICAgICAgZ3JpZF90aXRsZSA9IHNlbGYuZ2V0X3BhbmVsX3RpdGxlKCksCisgICAgICAgICAgZ3Jp ZF90aXRsZSA9IHRyYW5zX29iai5wYW5lbF90aXRsZSwKICAgICAgICAgICBwYW5lbF9pY29uID0g JycsCiAgICAgICAgICAgcGFuZWxfdG9vbHRpcCA9ICcnOwogCiAgICAgICAgIGlmICh0cmFuc19v YmouaXNfcXVlcnlfdG9vbCA9PSAnZmFsc2UnKSB7CiAgICAgICAgICAgLy8gRWRpdCBncmlkIHRp dGxlcwotICAgICAgICAgIGdyaWRfdGl0bGUgPSBwYW5lbF90aXRsZSArICcvJyArIGdyaWRfdGl0 bGU7CiAgICAgICAgICAgcGFuZWxfdG9vbHRpcCA9IGdldHRleHQoJ1ZpZXcvRWRpdCBEYXRhIC0g JykgKyBncmlkX3RpdGxlOwogICAgICAgICAgIHBhbmVsX3RpdGxlID0gZ3JpZF90aXRsZTsKICAg ICAgICAgICBwYW5lbF9pY29uID0gJ2ZhIGZhLXRhYmxlJzsKICAgICAgICAgfSBlbHNlIHsKLSAg ICAgICAgICBpZiAocGFuZWxfdGl0bGUpIHsKLSAgICAgICAgICAgIC8vIFNjcmlwdCB0aXRsZXMK LSAgICAgICAgICAgIHBhbmVsX3Rvb2x0aXAgPSBwYW5lbF90aXRsZS50b1VwcGVyQ2FzZSgpICsg JyAnICsgZ2V0dGV4dCgnU2NyaXB0IC0gJykgKyBncmlkX3RpdGxlOwotICAgICAgICAgICAgcGFu ZWxfdGl0bGUgPSBncmlkX3RpdGxlOwotICAgICAgICAgICAgcGFuZWxfaWNvbiA9ICdmYSBmYS1m aWxlLXRleHQtbyc7Ci0gICAgICAgICAgfSBlbHNlIHsKLSAgICAgICAgICAgIC8vIFF1ZXJ5IHRv b2wgdGl0bGVzCi0gICAgICAgICAgICBwYW5lbF90b29sdGlwID0gZ2V0dGV4dCgnUXVlcnkgVG9v bCAtICcpICsgZ3JpZF90aXRsZTsKLSAgICAgICAgICAgIHBhbmVsX3RpdGxlID0gZ3JpZF90aXRs ZTsKLSAgICAgICAgICAgIHBhbmVsX2ljb24gPSAnZmEgZmEtYm9sdCc7Ci0gICAgICAgICAgfQor ICAgICAgICAgIC8vIFF1ZXJ5IHRvb2wgdGl0bGVzCisgICAgICAgICAgcGFuZWxfdG9vbHRpcCA9 IGdldHRleHQoJ1F1ZXJ5IFRvb2wgLSAnKSArIGdyaWRfdGl0bGU7CisgICAgICAgICAgcGFuZWxf dGl0bGUgPSBncmlkX3RpdGxlOworICAgICAgICAgIHBhbmVsX2ljb24gPSAnZmEgZmEtYm9sdCc7 CiAgICAgICAgIH0KIAogICAgICAgICAvLyBPcGVuIHRoZSBwYW5lbCBpZiBmcmFtZSBpcyBpbml0 aWFsaXplZApkaWZmIC0tZ2l0IGEvd2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pz L2dldF9wYW5lbF90aXRsZS5qcyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9q cy9nZXRfcGFuZWxfdGl0bGUuanMKaW5kZXggNjM1ZTNkODIuLjZhZmY5MDVkIDEwMDY0NAotLS0g YS93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvZ2V0X3BhbmVsX3RpdGxlLmpz CisrKyBiL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9nZXRfcGFuZWxfdGl0 bGUuanMKQEAgLTE4LDggKzE4LDEwIEBAIGZ1bmN0aW9uIGlzU2VydmVySW5mb3JtYXRpb25BdmFp bGFibGUocGFyZW50RGF0YSkgewogICByZXR1cm4gcGFyZW50RGF0YS5zZXJ2ZXIgPT09IHVuZGVm aW5lZDsKIH0KIAotZXhwb3J0IGZ1bmN0aW9uIGdldFBhbmVsVGl0bGUocGdCcm93c2VyKSB7Ci0g IGNvbnN0IHNlbGVjdGVkX2l0ZW0gPSBwZ0Jyb3dzZXIudHJlZU1lbnUuc2VsZWN0ZWQoKTsKK2V4 cG9ydCBmdW5jdGlvbiBnZXRQYW5lbFRpdGxlKHBnQnJvd3Nlciwgc2VsZWN0ZWRfaXRlbT1udWxs KSB7CisgIGlmKHNlbGVjdGVkX2l0ZW0gPT0gbnVsbCkgeworICAgIHNlbGVjdGVkX2l0ZW0gPSBw Z0Jyb3dzZXIudHJlZU1lbnUuc2VsZWN0ZWQoKTsKKyAgfQogCiAgIGNvbnN0IHBhcmVudERhdGEg PSBnZXRUcmVlTm9kZUhpZXJhcmNoeUZyb21JZGVudGlmaWVyCiAgICAgLmNhbGwocGdCcm93c2Vy LCBzZWxlY3RlZF9pdGVtKTsKZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlk L3N0YXRpYy9qcy9zaG93X2RhdGEuanMgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0 aWMvanMvc2hvd19kYXRhLmpzCmluZGV4IGVjYTI3NTI2Li4yNTNmMzFkMyAxMDA2NDQKLS0tIGEv d2ViL3BnYWRtaW4vdG9vbHMvZGF0YWdyaWQvc3RhdGljL2pzL3Nob3dfZGF0YS5qcworKysgYi93 ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvc2hvd19kYXRhLmpzCkBAIC05LDEz ICs5LDE5IEBACiBpbXBvcnQgZ2V0dGV4dCBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMvanMvZ2V0 dGV4dCc7CiBpbXBvcnQgdXJsX2ZvciBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMvanMvdXJsX2Zv cic7CiBpbXBvcnQge2dldFRyZWVOb2RlSGllcmFyY2h5RnJvbUlkZW50aWZpZXJ9IGZyb20gJy4u Ly4uLy4uLy4uL3N0YXRpYy9qcy90cmVlL3BnYWRtaW5fdHJlZV9ub2RlJzsKK2ltcG9ydCB7Z2V0 UGFuZWxUaXRsZX0gZnJvbSAnLi9nZXRfcGFuZWxfdGl0bGUnOworaW1wb3J0IENvZGVNaXJyb3Ig ZnJvbSAnYnVuZGxlZF9jb2RlbWlycm9yJzsKK2ltcG9ydCAqIGFzIFNxbEVkaXRvclV0aWxzIGZy b20gJ3NvdXJjZXMvc3FsZWRpdG9yX3V0aWxzJzsKK2ltcG9ydCAkIGZyb20gJ2pxdWVyeSc7CiAK IGV4cG9ydCBmdW5jdGlvbiBzaG93RGF0YUdyaWQoCiAgIGRhdGFncmlkLAogICBwZ0Jyb3dzZXIs CiAgIGFsZXJ0aWZ5LAogICBjb25uZWN0aW9uRGF0YSwKLSAgYWNpVHJlZUlkZW50aWZpZXIKKyAg YWNpVHJlZUlkZW50aWZpZXIsCisgIGZpbHRlcj1mYWxzZSwKKyAgcHJlZmVyZW5jZXM9bnVsbAog KSB7CiAgIGNvbnN0IG5vZGUgPSBwZ0Jyb3dzZXIudHJlZU1lbnUuZmluZE5vZGVCeURvbUVsZW1l bnQoYWNpVHJlZUlkZW50aWZpZXIpOwogICBpZiAobm9kZSA9PT0gdW5kZWZpbmVkIHx8ICFub2Rl LmdldERhdGEoKSkgewpAQCAtMzYsMTkgKzQyLDQ0IEBAIGV4cG9ydCBmdW5jdGlvbiBzaG93RGF0 YUdyaWQoCiAgICAgcmV0dXJuOwogICB9CiAKLSAgbGV0IG5hbWVzcGFjZU5hbWUgPSByZXRyaWV2 ZU5hbWVTcGFjZU5hbWUocGFyZW50RGF0YSk7CiAgIGNvbnN0IGJhc2VVcmwgPSBnZW5lcmF0ZVVy bChjb25uZWN0aW9uRGF0YSwgbm9kZS5nZXREYXRhKCksIHBhcmVudERhdGEpOwotICBjb25zdCBn cmlkX3RpdGxlID0gZ2VuZXJhdGVEYXRhZ3JpZFRpdGxlKHBhcmVudERhdGEsIG5hbWVzcGFjZU5h bWUsIG5vZGUuZ2V0RGF0YSgpKTsKLQotICBkYXRhZ3JpZC5jcmVhdGVfdHJhbnNhY3Rpb24oCi0g ICAgYmFzZVVybCwKLSAgICBudWxsLAotICAgICdmYWxzZScsCi0gICAgcGFyZW50RGF0YS5zZXJ2 ZXIuc2VydmVyX3R5cGUsCi0gICAgJycsCi0gICAgZ3JpZF90aXRsZSwKLSAgICAnJwotICApOwor ICBjb25zdCBncmlkX3RpdGxlID0gZ2VuZXJhdGVEYXRhZ3JpZFRpdGxlKHBnQnJvd3NlciwgYWNp VHJlZUlkZW50aWZpZXIpOworCisgIGlmKGZpbHRlcikgeworICAgIGluaXRGaWx0ZXJEaWFsb2co YWxlcnRpZnksIHBnQnJvd3NlciwgcHJlZmVyZW5jZXMpOworCisgICAgY29uc3QgdmFsaWRhdGVV cmwgPSBnZW5lcmF0ZUZpbHRlclZhbGlkYXRlVXJsKG5vZGUuZ2V0RGF0YSgpLCBwYXJlbnREYXRh KTsKKworICAgIGxldCBva0NhbGxiYWNrID0gZnVuY3Rpb24oc3FsKSB7CisgICAgICBkYXRhZ3Jp ZC5jcmVhdGVfdHJhbnNhY3Rpb24oCisgICAgICAgIGJhc2VVcmwsCisgICAgICAgIG51bGwsCisg ICAgICAgICdmYWxzZScsCisgICAgICAgIHBhcmVudERhdGEuc2VydmVyLnNlcnZlcl90eXBlLAor ICAgICAgICAnJywKKyAgICAgICAgZ3JpZF90aXRsZSwKKyAgICAgICAgc3FsLAorICAgICAgICBm YWxzZQorICAgICAgKTsKKyAgICB9OworCisgICAgJC5nZXQodXJsX2ZvcignZGF0YWdyaWQuZmls dGVyJyksCisgICAgICBmdW5jdGlvbihkYXRhKSB7CisgICAgICAgIGFsZXJ0aWZ5LmZpbHRlckRp YWxvZyhgRGF0YSBGaWx0ZXIgLSAke2dyaWRfdGl0bGV9YCwgZGF0YSwgdmFsaWRhdGVVcmwsIHBy ZWZlcmVuY2VzLCBva0NhbGxiYWNrKQorICAgICAgICAgIC5yZXNpemVUbyhwZ0Jyb3dzZXIuc3Rk Vy5zbSxwZ0Jyb3dzZXIuc3RkSC5zbSk7CisgICAgICB9CisgICAgKTsKKyAgfSBlbHNlIHsKKyAg ICBkYXRhZ3JpZC5jcmVhdGVfdHJhbnNhY3Rpb24oCisgICAgICBiYXNlVXJsLAorICAgICAgbnVs bCwKKyAgICAgICdmYWxzZScsCisgICAgICBwYXJlbnREYXRhLnNlcnZlci5zZXJ2ZXJfdHlwZSwK KyAgICAgICcnLAorICAgICAgZ3JpZF90aXRsZSwKKyAgICAgICcnCisgICAgKTsKKyAgfQogfQog CiAKQEAgLTc4LDYgKzEwOSwxMzggQEAgZnVuY3Rpb24gZ2VuZXJhdGVVcmwoY29ubmVjdGlvbkRh dGEsIG5vZGVEYXRhLCBwYXJlbnREYXRhKSB7CiAgIHJldHVybiB1cmxfZm9yKCdkYXRhZ3JpZC5p bml0aWFsaXplX2RhdGFncmlkJywgdXJsX3BhcmFtcyk7CiB9CiAKK2Z1bmN0aW9uIGdlbmVyYXRl RmlsdGVyVmFsaWRhdGVVcmwobm9kZURhdGEsIHBhcmVudERhdGEpIHsKKyAgLy8gQ3JlYXRlIHVy bCB0byB2YWxpZGF0ZSB0aGUgU1FMIGZpbHRlcgorICB2YXIgdXJsX3BhcmFtcyA9IHsKKyAgICAn c2lkJzogcGFyZW50RGF0YS5zZXJ2ZXIuX2lkLAorICAgICdkaWQnOiBwYXJlbnREYXRhLmRhdGFi YXNlLl9pZCwKKyAgICAnb2JqX2lkJzogbm9kZURhdGEuX2lkLAorICB9OworCisgIHJldHVybiB1 cmxfZm9yKCdkYXRhZ3JpZC5maWx0ZXJfdmFsaWRhdGUnLCB1cmxfcGFyYW1zKTsKK30KKworZnVu Y3Rpb24gaW5pdEZpbHRlckRpYWxvZyhhbGVydGlmeSwgcGdCcm93c2VyKSB7CisgIC8vIENyZWF0 ZSBmaWx0ZXIgZGlhbG9nIHVzaW5nIGFsZXJ0aWZ5CisgIGlmICghYWxlcnRpZnkuZmlsdGVyRGlh bG9nKSB7CisgICAgYWxlcnRpZnkuZGlhbG9nKCdmaWx0ZXJEaWFsb2cnLCBmdW5jdGlvbiBmYWN0 b3J5KCkgeworICAgICAgcmV0dXJuIHsKKyAgICAgICAgbWFpbjogZnVuY3Rpb24odGl0bGUsIG1l c3NhZ2UsIHZhbGlkYXRlVXJsLCBwcmVmZXJlbmNlcywgb2tDYWxsYmFjaykgeworICAgICAgICAg IHRoaXMuc2V0KCd0aXRsZScsIHRpdGxlKTsKKyAgICAgICAgICB0aGlzLm1lc3NhZ2UgPSBtZXNz YWdlOworICAgICAgICAgIHRoaXMudmFsaWRhdGVVcmwgPSB2YWxpZGF0ZVVybDsKKyAgICAgICAg ICB0aGlzLm9rQ2FsbGJhY2sgPSBva0NhbGxiYWNrOworICAgICAgICAgIHRoaXMucHJlZmVyZW5j ZXMgPSBwcmVmZXJlbmNlczsKKyAgICAgICAgfSwKKworICAgICAgICBzZXR1cDpmdW5jdGlvbigp IHsKKyAgICAgICAgICByZXR1cm4geworICAgICAgICAgICAgYnV0dG9uczpbeworICAgICAgICAg ICAgICB0ZXh0OiBnZXR0ZXh0KCdDYW5jZWwnKSwKKyAgICAgICAgICAgICAga2V5OiAyNywKKyAg ICAgICAgICAgICAgY2xhc3NOYW1lOiAnYnRuIGJ0bi1zZWNvbmRhcnkgZmEgZmEtdGltZXMgcGct YWxlcnRpZnktYnV0dG9uJywKKyAgICAgICAgICAgIH0seworICAgICAgICAgICAgICB0ZXh0OiBn ZXR0ZXh0KCdPSycpLAorICAgICAgICAgICAgICBrZXk6IDEzLAorICAgICAgICAgICAgICBjbGFz c05hbWU6ICdidG4gYnRuLXByaW1hcnkgZmEgZmEtY2hlY2sgcGctYWxlcnRpZnktYnV0dG9uJywK KyAgICAgICAgICAgIH1dLAorICAgICAgICAgICAgb3B0aW9uczogeworICAgICAgICAgICAgICBt b2RhbDogMCwKKyAgICAgICAgICAgICAgcmVzaXphYmxlOiB0cnVlLAorICAgICAgICAgICAgICBt YXhpbWl6YWJsZTogZmFsc2UsCisgICAgICAgICAgICAgIHBpbm5hYmxlOiBmYWxzZSwKKyAgICAg ICAgICAgICAgYXV0b1Jlc2V0OiBmYWxzZSwKKyAgICAgICAgICAgIH0sCisgICAgICAgICAgfTsK KyAgICAgICAgfSwKKyAgICAgICAgYnVpbGQ6IGZ1bmN0aW9uKCkgeworICAgICAgICAgIGFsZXJ0 aWZ5LnBnRGlhbG9nQnVpbGQuYXBwbHkodGhpcyk7CisgICAgICAgIH0sCisgICAgICAgIHByZXBh cmU6ZnVuY3Rpb24oKSB7CisgICAgICAgICAgdmFyIHRoYXQgPSB0aGlzLAorICAgICAgICAgICAg JGNvbnRlbnQgPSAkKHRoaXMubWVzc2FnZSksCisgICAgICAgICAgICAkc3FsX2ZpbHRlciA9ICRj b250ZW50LmZpbmQoJyNzcWxfZmlsdGVyJyk7CisKKyAgICAgICAgICAkKHRoaXMuZWxlbWVudHMu aGVhZGVyKS5hdHRyKCdkYXRhLXRpdGxlJywgdGhpcy5nZXQoJ3RpdGxlJykpOworICAgICAgICAg ICQodGhpcy5lbGVtZW50cy5ib2R5LmNoaWxkTm9kZXNbMF0pLmFkZENsYXNzKAorICAgICAgICAg ICAgJ2RhdGF2aWV3X2ZpbHRlcl9kaWFsb2cnCisgICAgICAgICAgKTsKKworICAgICAgICAgIHRo aXMuc2V0Q29udGVudCgkY29udGVudC5nZXQoMCkpOworICAgICAgICAgIC8vIERpc2FibGUgT0sg YnV0dG9uCisgICAgICAgICAgdGhhdC5fX2ludGVybmFsLmJ1dHRvbnNbMV0uZWxlbWVudC5kaXNh YmxlZCA9IHRydWU7CisKKyAgICAgICAgICAvLyBBcHBseSBDb2RlTWlycm9yIHRvIGZpbHRlciB0 ZXh0IGFyZWEuCisgICAgICAgICAgdGhpcy5maWx0ZXJfb2JqID0gQ29kZU1pcnJvci5mcm9tVGV4 dEFyZWEoJHNxbF9maWx0ZXIuZ2V0KDApLCB7CisgICAgICAgICAgICBsaW5lTnVtYmVyczogdHJ1 ZSwKKyAgICAgICAgICAgIG1vZGU6ICd0ZXh0L3gtcGdzcWwnLAorICAgICAgICAgICAgZXh0cmFL ZXlzOiBwZ0Jyb3dzZXIuZWRpdG9yX3Nob3J0Y3V0X2tleXMsCisgICAgICAgICAgICBpbmRlbnRX aXRoVGFiczogIXRoYXQucHJlZmVyZW5jZXMudXNlX3NwYWNlcywKKyAgICAgICAgICAgIGluZGVu dFVuaXQ6IHRoYXQucHJlZmVyZW5jZXMudGFiX3NpemUsCisgICAgICAgICAgICB0YWJTaXplOiB0 aGF0LnByZWZlcmVuY2VzLnRhYl9zaXplLAorICAgICAgICAgICAgbGluZVdyYXBwaW5nOiB0aGF0 LnByZWZlcmVuY2VzLndyYXBfY29kZSwKKyAgICAgICAgICAgIGF1dG9DbG9zZUJyYWNrZXRzOiB0 aGF0LnByZWZlcmVuY2VzLmluc2VydF9wYWlyX2JyYWNrZXRzLAorICAgICAgICAgICAgbWF0Y2hC cmFja2V0czogdGhhdC5wcmVmZXJlbmNlcy5icmFjZV9tYXRjaGluZywKKyAgICAgICAgICB9KTsK KworICAgICAgICAgIGxldCBzcWxfZm9udF9zaXplID0gU3FsRWRpdG9yVXRpbHMuY2FsY0ZvbnRT aXplKHRoYXQucHJlZmVyZW5jZXMuc3FsX2ZvbnRfc2l6ZSk7CisgICAgICAgICAgJCh0aGlzLmZp bHRlcl9vYmouZ2V0V3JhcHBlckVsZW1lbnQoKSkuY3NzKCdmb250LXNpemUnLCBzcWxfZm9udF9z aXplKTsKKworICAgICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24oKSB7CisgICAgICAgICAgICAv LyBTZXQgZm9jdXMgb24gZWRpdG9yCisgICAgICAgICAgICB0aGF0LmZpbHRlcl9vYmoucmVmcmVz aCgpOworICAgICAgICAgICAgdGhhdC5maWx0ZXJfb2JqLmZvY3VzKCk7CisgICAgICAgICAgfSwg NTAwKTsKKworICAgICAgICAgIHRoYXQuZmlsdGVyX29iai5vbignY2hhbmdlJywgZnVuY3Rpb24o KSB7CisgICAgICAgICAgICBpZiAodGhhdC5maWx0ZXJfb2JqLmdldFZhbHVlKCkgIT09ICcnKSB7 CisgICAgICAgICAgICAgIHRoYXQuX19pbnRlcm5hbC5idXR0b25zWzFdLmVsZW1lbnQuZGlzYWJs ZWQgPSBmYWxzZTsKKyAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICAgIHRoYXQuX19p bnRlcm5hbC5idXR0b25zWzFdLmVsZW1lbnQuZGlzYWJsZWQgPSB0cnVlOworICAgICAgICAgICAg fQorICAgICAgICAgIH0pOworICAgICAgICB9LAorCisgICAgICAgIGNhbGxiYWNrOiBmdW5jdGlv bihjbG9zZUV2ZW50KSB7CisKKyAgICAgICAgICBpZiAoY2xvc2VFdmVudC5idXR0b24udGV4dCA9 PSBnZXR0ZXh0KCdPSycpKSB7CisgICAgICAgICAgICB2YXIgc3FsID0gdGhpcy5maWx0ZXJfb2Jq LmdldFZhbHVlKCk7CisgICAgICAgICAgICB2YXIgdGhhdCA9IHRoaXM7CisgICAgICAgICAgICBj bG9zZUV2ZW50LmNhbmNlbCA9IHRydWU7IC8vIERvIG5vdCBjbG9zZSBkaWFsb2cKKworICAgICAg ICAgICAgLy8gTWFrZSBhamF4IGNhbGwgdG8gaW5jbHVkZSB0aGUgZmlsdGVyIGJ5IHNlbGVjdGlv bgorICAgICAgICAgICAgJC5hamF4KHsKKyAgICAgICAgICAgICAgdXJsOiB0aGF0LnZhbGlkYXRl VXJsLAorICAgICAgICAgICAgICBtZXRob2Q6ICdQT1NUJywKKyAgICAgICAgICAgICAgYXN5bmM6 IGZhbHNlLAorICAgICAgICAgICAgICBjb250ZW50VHlwZTogJ2FwcGxpY2F0aW9uL2pzb24nLAor ICAgICAgICAgICAgICBkYXRhOiBKU09OLnN0cmluZ2lmeShzcWwpLAorICAgICAgICAgICAgfSkK KyAgICAgICAgICAgICAgLmRvbmUoZnVuY3Rpb24ocmVzKSB7CisgICAgICAgICAgICAgICAgaWYg KHJlcy5kYXRhLnN0YXR1cykgeworICAgICAgICAgICAgICAgICAgdGhhdC5va0NhbGxiYWNrKHNx bCk7CisgICAgICAgICAgICAgICAgICB0aGF0LmNsb3NlKCk7IC8vIENsb3NlIHRoZSBkaWFsb2cK KyAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAg ICAgICBhbGVydGlmeS5hbGVydCgKKyAgICAgICAgICAgICAgICAgICAgZ2V0dGV4dCgnVmFsaWRh dGlvbiBFcnJvcicpLAorICAgICAgICAgICAgICAgICAgICByZXMuZGF0YS5yZXN1bHQKKyAgICAg ICAgICAgICAgICAgICk7CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICB9KQorICAg ICAgICAgICAgICAuZmFpbChmdW5jdGlvbihlKSB7CisgICAgICAgICAgICAgICAgYWxlcnRpZnku YWxlcnQoCisgICAgICAgICAgICAgICAgICBnZXR0ZXh0KCdWYWxpZGF0aW9uIEVycm9yJyksCisg ICAgICAgICAgICAgICAgICBlCisgICAgICAgICAgICAgICAgKTsKKyAgICAgICAgICAgICAgfSk7 CisgICAgICAgICAgfQorICAgICAgICB9LAorICAgICAgfTsKKyAgICB9KTsKKyAgfQorfQorCiBm dW5jdGlvbiBoYXNTZXJ2ZXJPckRhdGFiYXNlQ29uZmlndXJhdGlvbihwYXJlbnREYXRhKSB7CiAg IHJldHVybiBwYXJlbnREYXRhLnNlcnZlciA9PT0gdW5kZWZpbmVkIHx8IHBhcmVudERhdGEuZGF0 YWJhc2UgPT09IHVuZGVmaW5lZDsKIH0KQEAgLTg3LDYgKzI1MCwxNyBAQCBmdW5jdGlvbiBoYXNT Y2hlbWFPckNhdGFsb2dPclZpZXdJbmZvcm1hdGlvbihwYXJlbnREYXRhKSB7CiAgICAgcGFyZW50 RGF0YS5jYXRhbG9nICE9PSB1bmRlZmluZWQ7CiB9CiAKLWV4cG9ydCBmdW5jdGlvbiBnZW5lcmF0 ZURhdGFncmlkVGl0bGUocGFyZW50RGF0YSwgbmFtZXNwYWNlTmFtZSwgbm9kZURhdGEpIHsKLSAg cmV0dXJuIGAke25hbWVzcGFjZU5hbWV9LiR7bm9kZURhdGEubGFiZWx9YDsKK2V4cG9ydCBmdW5j dGlvbiBnZW5lcmF0ZURhdGFncmlkVGl0bGUocGdCcm93c2VyLCBhY2lUcmVlSWRlbnRpZmllcikg eworICBjb25zdCBiYXNlVGl0bGUgPSBnZXRQYW5lbFRpdGxlKHBnQnJvd3NlciwgYWNpVHJlZUlk ZW50aWZpZXIpOworCisgIGNvbnN0IHBhcmVudERhdGEgPSBnZXRUcmVlTm9kZUhpZXJhcmNoeUZy b21JZGVudGlmaWVyLmNhbGwoCisgICAgcGdCcm93c2VyLAorICAgIGFjaVRyZWVJZGVudGlmaWVy CisgICk7CisKKyAgY29uc3QgbmFtZXNwYWNlTmFtZSA9IHJldHJpZXZlTmFtZVNwYWNlTmFtZShw YXJlbnREYXRhKTsKKworICBjb25zdCBub2RlID0gcGdCcm93c2VyLnRyZWVNZW51LmZpbmROb2Rl QnlEb21FbGVtZW50KGFjaVRyZWVJZGVudGlmaWVyKTsKKworICByZXR1cm4gYCR7bmFtZXNwYWNl TmFtZX0uJHtub2RlLmdldERhdGEoKS5sYWJlbH0vJHtiYXNlVGl0bGV9YDsKIH0KZGlmZiAtLWdp dCBhL3dlYi9wZ2FkbWluL3Rvb2xzL2RhdGFncmlkL3N0YXRpYy9qcy9zaG93X3F1ZXJ5X3Rvb2wu anMgYi93ZWIvcGdhZG1pbi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvc2hvd19xdWVyeV90b29s LmpzCmluZGV4IGI2Y2NkNWM4Li4xZmQ5ZWVlOSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vdG9v bHMvZGF0YWdyaWQvc3RhdGljL2pzL3Nob3dfcXVlcnlfdG9vbC5qcworKysgYi93ZWIvcGdhZG1p bi90b29scy9kYXRhZ3JpZC9zdGF0aWMvanMvc2hvd19xdWVyeV90b29sLmpzCkBAIC0xMCw2ICsx MCw3IEBACiBpbXBvcnQgZ2V0dGV4dCBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMvanMvZ2V0dGV4 dCc7CiBpbXBvcnQgdXJsX2ZvciBmcm9tICcuLi8uLi8uLi8uLi9zdGF0aWMvanMvdXJsX2Zvcic7 CiBpbXBvcnQge2dldFRyZWVOb2RlSGllcmFyY2h5RnJvbUlkZW50aWZpZXJ9IGZyb20gJy4uLy4u Ly4uLy4uL3N0YXRpYy9qcy90cmVlL3BnYWRtaW5fdHJlZV9ub2RlJzsKK2ltcG9ydCB7Z2V0UGFu ZWxUaXRsZX0gZnJvbSAnLi9nZXRfcGFuZWxfdGl0bGUnOwogCiBmdW5jdGlvbiBoYXNEYXRhYmFz ZUluZm9ybWF0aW9uKHBhcmVudERhdGEpIHsKICAgcmV0dXJuIHBhcmVudERhdGEuZGF0YWJhc2U7 CkBAIC0zNCwxMCArMzUsMTQgQEAgZnVuY3Rpb24gaGFzU2VydmVySW5mb3JtYXRpb25zKHBhcmVu dERhdGEpIHsKICAgcmV0dXJuIHBhcmVudERhdGEuc2VydmVyID09PSB1bmRlZmluZWQ7CiB9CiAK LWV4cG9ydCBmdW5jdGlvbiBzaG93UXVlcnlUb29sKGRhdGFncmlkLCBwZ0Jyb3dzZXIsIGFsZXJ0 aWZ5LCB1cmwsCi0gIGFjaVRyZWVJZGVudGlmaWVyLCBwYW5lbFRpdGxlKSB7CitmdW5jdGlvbiBn ZW5lcmF0ZVRpdGxlKHBnQnJvd3NlciwgYWNpVHJlZUlkZW50aWZpZXIpIHsKKyAgY29uc3QgYmFz ZVRpdGxlID0gZ2V0UGFuZWxUaXRsZShwZ0Jyb3dzZXIsIGFjaVRyZWVJZGVudGlmaWVyKTsKKyAg cmV0dXJuIGJhc2VUaXRsZTsKK30KKworZXhwb3J0IGZ1bmN0aW9uIHNob3dRdWVyeVRvb2woZGF0 YWdyaWQsIHBnQnJvd3NlciwgYWxlcnRpZnksIHVybCwgYWNpVHJlZUlkZW50aWZpZXIpIHsKICAg Y29uc3Qgc1VSTCA9IHVybCB8fCAnJzsKLSAgY29uc3QgcXVlcnlUb29sVGl0bGUgPSBwYW5lbFRp dGxlIHx8ICcnOworICBjb25zdCBxdWVyeVRvb2xUaXRsZSA9IGdlbmVyYXRlVGl0bGUocGdCcm93 c2VyLCBhY2lUcmVlSWRlbnRpZmllcik7CiAKICAgY29uc3QgY3VycmVudE5vZGUgPSBwZ0Jyb3dz ZXIudHJlZU1lbnUuZmluZE5vZGVCeURvbUVsZW1lbnQoYWNpVHJlZUlkZW50aWZpZXIpOwogICBp ZiAoY3VycmVudE5vZGUgPT09IHVuZGVmaW5lZCkgewpkaWZmIC0tZ2l0IGEvd2ViL3JlZ3Jlc3Np b24vamF2YXNjcmlwdC9kYXRhZ3JpZC9zaG93X2RhdGFfc3BlYy5qcyBiL3dlYi9yZWdyZXNzaW9u L2phdmFzY3JpcHQvZGF0YWdyaWQvc2hvd19kYXRhX3NwZWMuanMKaW5kZXggYzVjMDEyNTYuLjNh OTdlNWEyIDEwMDY0NAotLS0gYS93ZWIvcmVncmVzc2lvbi9qYXZhc2NyaXB0L2RhdGFncmlkL3No b3dfZGF0YV9zcGVjLmpzCisrKyBiL3dlYi9yZWdyZXNzaW9uL2phdmFzY3JpcHQvZGF0YWdyaWQv c2hvd19kYXRhX3NwZWMuanMKQEAgLTYzLDYgKzYzLDcgQEAgZGVzY3JpYmUoJyNzaG93X2RhdGEn LCAoKSA9PiB7CiAgICAgICBsYWJlbDogJ3NlcnZlcjEnLAogICAgICAgc2VydmVyX3R5cGU6ICdw ZycsCiAgICAgICBfaWQ6IDIsCisgICAgICB1c2VyOiB7bmFtZTogJ3NvbWV1c2VyJ30sCiAgICAg fSwgWydwYXJlbnQnLCAnc2VydmVyX2dyb3VwMSddKTsKICAgICBwZ0Jyb3dzZXIudHJlZU1lbnUu YWRkQ2hpbGQoc2VydmVyR3JvdXAxLCBzZXJ2ZXIxKTsKIApAQCAtMTMzLDcgKzEzNCw3IEBAIGRl c2NyaWJlKCcjc2hvd19kYXRhJywgKCkgPT4gewogICAgICAgICAnZmFsc2UnLAogICAgICAgICAn cGcnLAogICAgICAgICAnJywKLSAgICAgICAgJ3NjaGVtYTEuc2NoZW1hMScsCisgICAgICAgICdz Y2hlbWExLnNjaGVtYTEvZGF0YWJhc2UxL3NvbWV1c2VyQHNlcnZlcjEnLAogICAgICAgICAnJwog ICAgICAgKTsKICAgICB9KTsKQEAgLTE0OCw3ICsxNDksNyBAQCBkZXNjcmliZSgnI3Nob3dfZGF0 YScsICgpID0+IHsKICAgICAgICAgJ2ZhbHNlJywKICAgICAgICAgJ3BnJywKICAgICAgICAgJycs Ci0gICAgICAgICd2aWV3MS52aWV3MScsCisgICAgICAgICd2aWV3MS52aWV3MS9kYXRhYmFzZTEv c29tZXVzZXJAc2VydmVyMScsCiAgICAgICAgICcnCiAgICAgICApOwogICAgIH0pOwpAQCAtMTYz LDcgKzE2NCw3IEBAIGRlc2NyaWJlKCcjc2hvd19kYXRhJywgKCkgPT4gewogICAgICAgICAnZmFs c2UnLAogICAgICAgICAncGcnLAogICAgICAgICAnJywKLSAgICAgICAgJ2NhdGFsb2cxLmNhdGFs b2cxJywKKyAgICAgICAgJ2NhdGFsb2cxLmNhdGFsb2cxL2RhdGFiYXNlMS9zb21ldXNlckBzZXJ2 ZXIxJywKICAgICAgICAgJycKICAgICAgICk7CiAgICAgfSk7CmRpZmYgLS1naXQgYS93ZWIvcmVn cmVzc2lvbi9qYXZhc2NyaXB0L2RhdGFncmlkL3Nob3dfcXVlcnlfdG9vbF9zcGVjLmpzIGIvd2Vi L3JlZ3Jlc3Npb24vamF2YXNjcmlwdC9kYXRhZ3JpZC9zaG93X3F1ZXJ5X3Rvb2xfc3BlYy5qcwpp bmRleCAzZGJkNDc4MS4uMDRjZGE5MjYgMTAwNjQ0Ci0tLSBhL3dlYi9yZWdyZXNzaW9uL2phdmFz Y3JpcHQvZGF0YWdyaWQvc2hvd19xdWVyeV90b29sX3NwZWMuanMKKysrIGIvd2ViL3JlZ3Jlc3Np b24vamF2YXNjcmlwdC9kYXRhZ3JpZC9zaG93X3F1ZXJ5X3Rvb2xfc3BlYy5qcwpAQCAtNTEsNiAr NTEsOCBAQCBkZXNjcmliZSgnI3Nob3dRdWVyeVRvb2wnLCAoKSA9PiB7CiAgICAgICBsYWJlbDog J3NlcnZlcjEnLAogICAgICAgc2VydmVyX3R5cGU6ICdwZycsCiAgICAgICBfaWQ6IDIsCisgICAg ICB1c2VyOiB7bmFtZTogJ3NvbWV1c2VyJ30sCisgICAgICBkYjogJ290aGVyZGJsYWJlbCcsCiAg ICAgfSk7CiAgICAgcGdCcm93c2VyLnRyZWVNZW51LmFkZENoaWxkKHNlcnZlckdyb3VwMSwgc2Vy dmVyMSk7CiAKQEAgLTY0LDcgKzY2LDcgQEAgZGVzY3JpYmUoJyNzaG93UXVlcnlUb29sJywgKCkg PT4gewogCiAgIGNvbnRleHQoJ2Nhbm5vdCBmaW5kIHRoZSB0cmVlIG5vZGUnLCAoKSA9PiB7CiAg ICAgYmVmb3JlRWFjaCgoKSA9PiB7Ci0gICAgICBzaG93UXVlcnlUb29sKHF1ZXJ5VG9vbCwgcGdC cm93c2VyLCBhbGVydGlmeSwgJycsIFt7aWQ6ICcxMCd9XSwgJ3RpdGxlJyk7CisgICAgICBzaG93 UXVlcnlUb29sKHF1ZXJ5VG9vbCwgcGdCcm93c2VyLCBhbGVydGlmeSwgJycsIFt7aWQ6ICcxMCd9 XSk7CiAgICAgfSk7CiAgICAgaXQoJ2RvZXMgbm90IGNyZWF0ZSBhIHRyYW5zYWN0aW9uJywgKCkg PT4gewogICAgICAgZXhwZWN0KHF1ZXJ5VG9vbC5jcmVhdGVfdHJhbnNhY3Rpb24pLm5vdC50b0hh dmVCZWVuQ2FsbGVkKCk7CkBAIC05MiwxNCArOTQsMTQgQEAgZGVzY3JpYmUoJyNzaG93UXVlcnlU b29sJywgKCkgPT4gewogICBjb250ZXh0KCdjdXJyZW50IG5vZGUgaXMgdW5kZXJuZWF0aCBhIHNl cnZlcicsICgpID0+IHsKICAgICBjb250ZXh0KCdjdXJyZW50IG5vZGUgaXMgbm90IHVuZGVybmVh dGggYSBkYXRhYmFzZScsICgpID0+IHsKICAgICAgIGl0KCdjcmVhdGVzIGEgdHJhbnNhY3Rpb24n LCAoKSA9PiB7Ci0gICAgICAgIHNob3dRdWVyeVRvb2wocXVlcnlUb29sLCBwZ0Jyb3dzZXIsIGFs ZXJ0aWZ5LCAnaHR0cDovL3NvbWV1cmwnLCBbe2lkOiAnc2VydmVyMSd9XSwgJ3RpdGxlJyk7Cisg ICAgICAgIHNob3dRdWVyeVRvb2wocXVlcnlUb29sLCBwZ0Jyb3dzZXIsIGFsZXJ0aWZ5LCAnaHR0 cDovL3NvbWV1cmwnLCBbe2lkOiAnc2VydmVyMSd9XSk7CiAgICAgICAgIGV4cGVjdChxdWVyeVRv b2wuY3JlYXRlX3RyYW5zYWN0aW9uKS50b0hhdmVCZWVuQ2FsbGVkV2l0aCgKICAgICAgICAgICAn L2luaXRpYWxpemUvcXVlcnlfdG9vbC8xLzInLAogICAgICAgICAgIG51bGwsCiAgICAgICAgICAg J3RydWUnLAogICAgICAgICAgICdwZycsCiAgICAgICAgICAgJ2h0dHA6Ly9zb21ldXJsJywKLSAg ICAgICAgICAndGl0bGUnLAorICAgICAgICAgICdvdGhlcmRibGFiZWwvc29tZXVzZXJAc2VydmVy MScsCiAgICAgICAgICAgJycsCiAgICAgICAgICAgZmFsc2UKICAgICAgICAgKTsKQEAgLTExNSw3 ICsxMTcsNyBAQCBkZXNjcmliZSgnI3Nob3dRdWVyeVRvb2wnLCAoKSA9PiB7CiAgICAgICAgICAg J3RydWUnLAogICAgICAgICAgICdwZycsCiAgICAgICAgICAgJ2h0dHA6Ly9zb21ldXJsJywKLSAg ICAgICAgICAndGl0bGUnLAorICAgICAgICAgICdkYXRhYmFzZTEvc29tZXVzZXJAc2VydmVyMScs CiAgICAgICAgICAgJycsCiAgICAgICAgICAgZmFsc2UKICAgICAgICAgKTsK --000000000000cebd17058b0757f8--