Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fYpCN-0002E2-B8 for pgadmin-hackers@arkaria.postgresql.org; Fri, 29 Jun 2018 08:56:11 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fYpCK-0007bv-NC for pgadmin-hackers@arkaria.postgresql.org; Fri, 29 Jun 2018 08:56:08 +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.89) (envelope-from ) id 1fYpCK-0007bn-74 for pgadmin-hackers@lists.postgresql.org; Fri, 29 Jun 2018 08:56:08 +0000 Received: from mail-pf0-x232.google.com ([2607:f8b0:400e:c00::232]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA1:256) (Exim 4.89) (envelope-from ) id 1fYpCC-0006b2-Lv for pgadmin-hackers@postgresql.org; Fri, 29 Jun 2018 08:56:06 +0000 Received: by mail-pf0-x232.google.com with SMTP id z24-v6so3901629pfe.7 for ; Fri, 29 Jun 2018 01:56:00 -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=TvShcD8MeIUHdV37SYPqPboKIT/Y3N+/G+pLVm5GGFM=; b=1XYXX18sBmkvq+APdSQWXzuF/HtAHp/4CLKcVd41LdJyKukBqmD+waunfPHtk2kHRu /VYfGdbBDYihhZbiyFbrsuBgz3Kz+C3fBFurEwnTI7xF0ukJr5bdZw0w5sha0ipDa7h5 M37cRMW2OotMyJ1KXhWx6cALg44m0AIHTVBJhqudKA6A6ZRVK9POuade+TFsKFP3uXMJ LhYSB4zel2Ucg+NVS+vzBkRIWoJc2rcuA/QUuOKoKG44SHWQzVdyZrm0dreoWGR55FYM 5fhy1d56uD1UTmGOV4PkV3oWOVALy20V6zlBmBqgG7dzUPPF5xMFfOKwto5ysdTL/lxN nEkA== 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=TvShcD8MeIUHdV37SYPqPboKIT/Y3N+/G+pLVm5GGFM=; b=mADgqD0DoMPABAAFfJzQla9iclIL2v2pQvArpko5/H3CjxJbqn/b0T0omFzwmRknSV HJ6C2Wmt3mBKftPE1RnEh2AStBhNp9zGVkJOizozFdK7SWTLAvkopgA4o+GVGn87HX2f 47DMDbFcV8C122F6LFm3PWI3/8J0uTvP6kDiSmeVamtS5GuA0mWISYz17kIHcfm82i6k XqMdz7l9WN6i2ImSN+uF09b5y/BtyczJRLrQehRIeW70iYuPLDUS71AZ2YTDhWpnrCYf RNP0dEb9tv2/Sem4mwpmhXtwgz52ELJ/5NXViQaNagk/R1/NzD8H5EMbNVFcsk7pkh/H xOGA== X-Gm-Message-State: APt69E1e5hMssDsfvlGBHeh+n6mN27jAb3ZQ3YAIbV6e5Sg3bDbO8dEj SNDuP8D7AdHUJOoW8T1bpdXhbxM92f52QLVN0zXodFDc X-Google-Smtp-Source: ADUXVKJg6sP2qjLuDEprHWLaEPDOLwcsn7YFrQmw9PnBUAwWdBjKXyRxnvpjlF/oKjD15onzsmWAI7IXL5fikU5pY0Y= X-Received: by 2002:a65:6290:: with SMTP id f16-v6mr11969254pgv.155.1530262559038; Fri, 29 Jun 2018 01:55:59 -0700 (PDT) MIME-Version: 1.0 Received: by 2002:a17:90a:8c86:0:0:0:0 with HTTP; Fri, 29 Jun 2018 01:55:58 -0700 (PDT) From: Akshay Joshi Date: Fri, 29 Jun 2018 14:25:58 +0530 Message-ID: Subject: [pgAdmin4][Patch]: RM #3397 Add support for JIT stats in EXPLAIN output in PG11 To: pgadmin-hackers Content-Type: multipart/mixed; boundary="0000000000003edf1d056fc40463" List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk --0000000000003edf1d056fc40463 Content-Type: multipart/alternative; boundary="0000000000003edf1a056fc40461" --0000000000003edf1a056fc40461 Content-Type: text/plain; charset="UTF-8" Hi Hackers, Attached is the patch to fix the RM #3397 Add support for JIT stats in EXPLAIN output in PG11. Please review it. -- *Akshay Joshi* *Sr. Software Architect * *Phone: +91 20-3058-9517Mobile: +91 976-788-8246* --0000000000003edf1a056fc40461 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Hi Hackers,

Attached is the patch to fi= x the RM #3397=C2=A0Add support for JIT stats in EXPLAIN output in PG11. Please revie= w it.

--
Akshay Joshi
<= span style=3D"color:rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;= border-collapse:collapse">Sr. Software Architect


Phone: +91 20-3058-9517
M= obile: +91 976-788-8246
--0000000000003edf1a056fc40461-- --0000000000003edf1d056fc40463 Content-Type: application/octet-stream; name="RM_3397.patch" Content-Disposition: attachment; filename="RM_3397.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_jizqswzo0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcXVlcnlfdG9vbF90ZXN0cy5w eSBiL3dlYi9wZ2FkbWluL2ZlYXR1cmVfdGVzdHMvcXVlcnlfdG9vbF90ZXN0cy5weQppbmRleCBh YzQ2M2QzLi4yMjZiMzIzIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9mZWF0dXJlX3Rlc3RzL3F1 ZXJ5X3Rvb2xfdGVzdHMucHkKKysrIGIvd2ViL3BnYWRtaW4vZmVhdHVyZV90ZXN0cy9xdWVyeV90 b29sX3Rlc3RzLnB5CkBAIC0xMDQsNiArMTA0LDE2IEBAIGNsYXNzIFF1ZXJ5VG9vbEZlYXR1cmVU ZXN0KEJhc2VGZWF0dXJlVGVzdCk6CiAgICAgICAgIHNlbGYuX3F1ZXJ5X3Rvb2xfbm90aWZ5X3N0 YXRlbWVudHMoKQogICAgICAgICBzZWxmLl9jbGVhcl9xdWVyeV90b29sKCkKIAorICAgICAgICAj IGV4cGxhaW4gcXVlcnkgd2l0aCBKSVQgc3RhdHMKKyAgICAgICAgcHJpbnQoIkV4cGxhaW4gcXVl cnkgd2l0aCBKSVQgc3RhdHMuLi4gIiwKKyAgICAgICAgICAgICAgZmlsZT1zeXMuc3RkZXJyLCBl bmQ9IiIpCisgICAgICAgIGlmIHNlbGYuX3N1cHBvcnRlZF9qaXRfb25fc2VydmVyKCk6CisgICAg ICAgICAgICBzZWxmLl9xdWVyeV90b29sX2V4cGxhaW5fY2hlY2tfaml0X3N0YXRzKCkKKyAgICAg ICAgICAgIHByaW50KCJPSy4iLCBmaWxlPXN5cy5zdGRlcnIpCisgICAgICAgICAgICBzZWxmLl9j bGVhcl9xdWVyeV90b29sKCkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIHByaW50KCJTa2lw cGVkLiIsIGZpbGU9c3lzLnN0ZGVycikKKwogICAgIGRlZiBhZnRlcihzZWxmKToKICAgICAgICAg c2VsZi5wYWdlLnJlbW92ZV9zZXJ2ZXIoc2VsZi5zZXJ2ZXIpCiAgICAgICAgIGNvbm5lY3Rpb24g PSB0ZXN0X3V0aWxzLmdldF9kYl9jb25uZWN0aW9uKApAQCAtNjYwLDkgKzY3MCw2MiBAQCBTRUxF Q1QgMSwgcGdfc2xlZXAoMzAwKSIiIgogICAgICAgICAgICAgd2FpdC51bnRpbChXYWl0Rm9yQW55 RWxlbWVudFdpdGhUZXh0KAogICAgICAgICAgICAgICAgIChCeS5DU1NfU0VMRUNUT1IsICd0ZC5w YXlsb2FkJyksICJIZWxsbyIpKQogICAgICAgICAgICAgcHJpbnQoIk9LLiIsIGZpbGU9c3lzLnN0 ZGVycikKKyAgICAgICAgICAgIHNlbGYuX2NsZWFyX3F1ZXJ5X3Rvb2woKQogICAgICAgICBlbHNl OgogICAgICAgICAgICAgcHJpbnQoIlNraXBwZWQuIiwgZmlsZT1zeXMuc3RkZXJyKQogCisgICAg ZGVmIF9zdXBwb3J0ZWRfaml0X29uX3NlcnZlcihzZWxmKToKKyAgICAgICAgY29ubmVjdGlvbiA9 IHRlc3RfdXRpbHMuZ2V0X2RiX2Nvbm5lY3Rpb24oCisgICAgICAgICAgICBzZWxmLnNlcnZlclsn ZGInXSwKKyAgICAgICAgICAgIHNlbGYuc2VydmVyWyd1c2VybmFtZSddLAorICAgICAgICAgICAg c2VsZi5zZXJ2ZXJbJ2RiX3Bhc3N3b3JkJ10sCisgICAgICAgICAgICBzZWxmLnNlcnZlclsnaG9z dCddLAorICAgICAgICAgICAgc2VsZi5zZXJ2ZXJbJ3BvcnQnXSwKKyAgICAgICAgICAgIHNlbGYu c2VydmVyWydzc2xtb2RlJ10KKyAgICAgICAgKQorCisgICAgICAgIHBnX2N1cnNvciA9IGNvbm5l Y3Rpb24uY3Vyc29yKCkKKyAgICAgICAgcGdfY3Vyc29yLmV4ZWN1dGUoJ3NlbGVjdCB2ZXJzaW9u KCknKQorICAgICAgICB2ZXJzaW9uX3N0cmluZyA9IHBnX2N1cnNvci5mZXRjaG9uZSgpCisKKyAg ICAgICAgaXNfZWRiID0gRmFsc2UKKyAgICAgICAgaWYgbGVuKHZlcnNpb25fc3RyaW5nKSA+IDA6 CisgICAgICAgICAgICBpc19lZGIgPSAnRW50ZXJwcmlzZURCJyBpbiB2ZXJzaW9uX3N0cmluZ1sw XQorCisgICAgICAgIGNvbm5lY3Rpb24uY2xvc2UoKQorCisgICAgICAgIHJldHVybiBjb25uZWN0 aW9uLnNlcnZlcl92ZXJzaW9uID49IDExMDAwMCBhbmQgbm90IGlzX2VkYgorCisgICAgZGVmIF9x dWVyeV90b29sX2V4cGxhaW5fY2hlY2tfaml0X3N0YXRzKHNlbGYpOgorICAgICAgICB3YWl0ID0g V2ViRHJpdmVyV2FpdChzZWxmLnBhZ2UuZHJpdmVyLCAxMCkKKworICAgICAgICBzZWxmLnBhZ2Uu ZmlsbF9jb2RlbWlycm9yX2FyZWFfd2l0aCgiU0VUIGppdF9hYm92ZV9jb3N0PTEwOyIpCisgICAg ICAgIHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tZmxhc2giKS5jbGljaygpCisgICAgICAgIHNl bGYucGFnZS53YWl0X2Zvcl9xdWVyeV90b29sX2xvYWRpbmdfaW5kaWNhdG9yX3RvX2Rpc2FwcGVh cigpCisgICAgICAgIHNlbGYuX2NsZWFyX3F1ZXJ5X3Rvb2woKQorCisgICAgICAgIHNlbGYucGFn ZS5maWxsX2NvZGVtaXJyb3JfYXJlYV93aXRoKCJTRUxFQ1QgY291bnQoKikgRlJPTSBwZ19jbGFz czsiKQorICAgICAgICBxdWVyeV9vcCA9IHNlbGYucGFnZS5maW5kX2J5X2lkKCJidG4tcXVlcnkt ZHJvcGRvd24iKQorICAgICAgICBxdWVyeV9vcC5jbGljaygpCisgICAgICAgIEFjdGlvbkNoYWlu cyhzZWxmLmRyaXZlcikubW92ZV90b19lbGVtZW50KAorICAgICAgICAgICAgcXVlcnlfb3AuZmlu ZF9lbGVtZW50X2J5X3hwYXRoKAorICAgICAgICAgICAgICAgICIvL2xpW2NvbnRhaW5zKC4sJ0V4 cGxhaW4gT3B0aW9ucycpXSIpKS5wZXJmb3JtKCkKKworICAgICAgICBzZWxmLnBhZ2UuZmluZF9i eV9pZCgiYnRuLWV4cGxhaW4tdmVyYm9zZSIpLmNsaWNrKCkKKyAgICAgICAgc2VsZi5wYWdlLmZp bmRfYnlfaWQoImJ0bi1leHBsYWluLWNvc3RzIikuY2xpY2soKQorICAgICAgICBzZWxmLnBhZ2Uu ZmluZF9ieV9pZCgiYnRuLWV4cGxhaW4tYW5hbHl6ZSIpLmNsaWNrKCkKKworICAgICAgICBzZWxm LnBhZ2Uud2FpdF9mb3JfcXVlcnlfdG9vbF9sb2FkaW5nX2luZGljYXRvcl90b19kaXNhcHBlYXIo KQorICAgICAgICBzZWxmLnBhZ2UuY2xpY2tfdGFiKCdEYXRhIE91dHB1dCcpCisKKyAgICAgICAg Y2FudmFzID0gd2FpdC51bnRpbChFQy5wcmVzZW5jZV9vZl9lbGVtZW50X2xvY2F0ZWQoCisgICAg ICAgICAgICAoQnkuQ1NTX1NFTEVDVE9SLCAiI2RhdGFncmlkIC5zbGljay12aWV3cG9ydCAuZ3Jp ZC1jYW52YXMiKSkKKyAgICAgICAgKQorICAgICAgICAjIFNlYXJjaCBmb3IgJ091dHB1dCcgd29y ZCBpbiByZXN1bHQgKHZlcmJvc2Ugb3B0aW9uKQorICAgICAgICBjYW52YXMuZmluZF9lbGVtZW50 X2J5X3hwYXRoKCIvLypbY29udGFpbnMoc3RyaW5nKCksICdKSVQnKV0iKQorCisgICAgICAgIHNl bGYuX2NsZWFyX3F1ZXJ5X3Rvb2woKQorCiAKIGNsYXNzIFdhaXRGb3JBbnlFbGVtZW50V2l0aFRl eHQob2JqZWN0KToKICAgICBkZWYgX19pbml0X18oc2VsZiwgbG9jYXRvciwgdGV4dCk6CmRpZmYg LS1naXQgYS93ZWIvcGdhZG1pbi9taXNjL3N0YXRpYy9leHBsYWluL2Nzcy9leHBsYWluLmNzcyBi L3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxhaW4vY3NzL2V4cGxhaW4uY3NzCmluZGV4IGQ1 NDlmODUuLjM0ZmE3NGYgMTAwNjQ0Ci0tLSBhL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxh aW4vY3NzL2V4cGxhaW4uY3NzCisrKyBiL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxhaW4v Y3NzL2V4cGxhaW4uY3NzCkBAIC0xNyw2ICsxNywyNiBAQAogICAgb3BhY2l0eTogMTsKIH0KIAor LnBnLWV4cGxhaW4tc3RhdHMtYXJlYSB7CisgICAgcG9zaXRpb246IGFic29sdXRlOworICAgIHRv cDogNXB4OworICAgIHJpZ2h0OiAyNXB4OworICAgIG9wYWNpdHk6IDAuNTsKK30KKworLnBnLWV4 cGxhaW4tc3RhdHMtYnRuIHsKKyAgICB0b3A6IDVweDsKKyAgICBtaW4td2lkdGg6IDI1cHg7Cisg ICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7Cit9CisucGctZXhwbGFpbi1zdGF0cy1i dG4uZGlzYWJsZWQgeworICBjdXJzb3I6IGF1dG8gIWltcG9ydGFudDsKK30KKworLnBnLWV4cGxh aW4tc3RhdHMtYXJlYTpob3ZlciB7CisgICBvcGFjaXR5OiAxOworfQorCiAuZXhwbGFpbi10b29s dGlwIHsKICAgZGlzcGxheTogdGFibGUtY2VsbDsKICAgdGV4dC1hbGlnbjogbGVmdDsKQEAgLTU1 LDQgKzc1LDQgQEAgdGQuZXhwbGFpbi10b29sdGlwLXZhbCB7CiAgIGhlaWdodDogMTAwJTsKICAg d2lkdGg6IDEwMCU7CiAgIG92ZXJmbG93OiBhdXRvOwotfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m IGZpbGUKK30KZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxhaW4vanMv ZXhwbGFpbi5qcyBiL3dlYi9wZ2FkbWluL21pc2Mvc3RhdGljL2V4cGxhaW4vanMvZXhwbGFpbi5q cwppbmRleCBlMDI4Nzc0Li4xYWQyNWRmIDEwMDY0NAotLS0gYS93ZWIvcGdhZG1pbi9taXNjL3N0 YXRpYy9leHBsYWluL2pzL2V4cGxhaW4uanMKKysrIGIvd2ViL3BnYWRtaW4vbWlzYy9zdGF0aWMv ZXhwbGFpbi9qcy9leHBsYWluLmpzCkBAIC02ODcsNiArNjg3LDgzIEBAIGRlZmluZSgncGdhZG1p bi5taXNjLmV4cGxhaW4nLCBbCiAgICAgfSwKICAgfSk7CiAKKyAgLy8gQmFja2JvbmUgbW9kZWwg Zm9yIG90aGVyIHN0YXRpc3RpY3MKKyAgdmFyIFN0YXRzTW9kZWwgPSBCYWNrYm9uZS5Nb2RlbC5l eHRlbmQoeworICAgIGRlZmF1bHRzOiB7CisgICAgICBKSVQ6IFtdLAorICAgICAgVHJpZ2dlcnM6 IFtdLAorICAgIH0sCisgICAgc2V0X3N0YXRpc3RpY3M6IGZ1bmN0aW9uKHhwb3MsIHlwb3MsIGdy YXBoQ29udGFpbmVyLCB0b29sVGlwQ29udGFpbmVyKSB7CisgICAgICB2YXIgaml0X3N0YXRzID0g dGhpcy5nZXQoJ0pJVCcpLAorICAgICAgICB0cmlnZ2Vyc19zdGF0cyA9IHRoaXMuZ2V0KCdUcmln Z2VycycpOworICAgICAgJCgnI2J0bi1leHBsYWluLXN0YXRzJykub24oJ21vdXNlb3ZlcicsICgp ID0+IHsKKworICAgICAgICAvLyBFbXB0eSB0aGUgdG9vbHRpcCBjb250ZW50IGlmIGl0IGhhcyBh bnkgYW5kIGFkZCBuZXcgZGF0YQorICAgICAgICB0b29sVGlwQ29udGFpbmVyLmVtcHR5KCk7Cisg ICAgICAgIGlmIChPYmplY3Qua2V5cyhqaXRfc3RhdHMpLmxlbmd0aCA9PSAwICYmCisgICAgICAg ICAgT2JqZWN0LmtleXModHJpZ2dlcnNfc3RhdHMpLmxlbmd0aCA9PSAwKSB7CisgICAgICAgICAg cmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgdmFyIHRvb2x0aXAgPSAkKCc8dGFibGU+PC90 YWJsZT4nLCB7CisgICAgICAgICAgY2xhc3M6ICdwZ2FkbWluLXRvb2x0aXAtdGFibGUnLAorICAg ICAgICB9KS5hcHBlbmRUbyh0b29sVGlwQ29udGFpbmVyKTsKKworICAgICAgICBpZiAoT2JqZWN0 LmtleXMoaml0X3N0YXRzKS5sZW5ndGggPiAwKXsKKyAgICAgICAgICB0b29sdGlwLmFwcGVuZCgn PHRyPjx0ZCBjbGFzcz0ibGFiZWwgZXhwbGFpbi10b29sdGlwIj5KSVQ6PC90ZD48L3RyPicpOwor ICAgICAgICAgIF8uZWFjaChqaXRfc3RhdHMsIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHsKKyAgICAg ICAgICAgIHRvb2x0aXAuYXBwZW5kKCc8dHI+PHRkIGNsYXNzPSJsYWJlbCBleHBsYWluLXRvb2x0 aXAiPiZuYnNwJm5ic3AnCisgICAgICAgICAgICArIGtleSArICc8L3RkPjx0ZCBjbGFzcz0ibGFi ZWwgZXhwbGFpbi10b29sdGlwLXZhbCI+JworICAgICAgICAgICAgKyB2YWx1ZSArICc8L3RkPjwv dHI+Jyk7CisgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBpZiAoT2JqZWN0Lmtl eXModHJpZ2dlcnNfc3RhdHMpLmxlbmd0aCA+IDApeworICAgICAgICAgIHRvb2x0aXAuYXBwZW5k KCc8dHI+PHRkIGNsYXNzPSJsYWJlbCBleHBsYWluLXRvb2x0aXAiPlRyaWdnZXJzOjwvdGQ+PC90 cj4nKTsKKyAgICAgICAgICBfLmVhY2godHJpZ2dlcnNfc3RhdHMsIGZ1bmN0aW9uKHRyaWdnZXJz LCBrZXlfaWQpIHsKKyAgICAgICAgICAgIGlmICh0cmlnZ2VycyBpbnN0YW5jZW9mIE9iamVjdCkg eworICAgICAgICAgICAgICBfLmVhY2godHJpZ2dlcnMsIGZ1bmN0aW9uKHZhbHVlLCBrZXkpIHsK KyAgICAgICAgICAgICAgICBpZiAoa2V5ID09PSAnVHJpZ2dlciBOYW1lJykgeworICAgICAgICAg ICAgICAgICAgdG9vbHRpcC5hcHBlbmQoJzx0cj48dGQgY2xhc3M9ImxhYmVsIGV4cGxhaW4tdG9v bHRpcCI+Jm5ic3A7Jm5ic3A7JworICAgICAgICAgICAgICAgICAgKyBrZXkgKyAnPC90ZD48dGQg Y2xhc3M9ImxhYmVsIGV4cGxhaW4tdG9vbHRpcC12YWwiPicKKyAgICAgICAgICAgICAgICAgICsg dmFsdWUgKyAnPC90ZD48L3RyPicpOworICAgICAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAg ICAgICAgICAgICB0b29sdGlwLmFwcGVuZCgnPHRyPjx0ZCBjbGFzcz0ibGFiZWwgZXhwbGFpbi10 b29sdGlwIj4mbmJzcDsmbmJzcDsmbmJzcDsmbmJzcDsnCisgICAgICAgICAgICAgICAgICArIGtl eSArICc8L3RkPjx0ZCBjbGFzcz0ibGFiZWwgZXhwbGFpbi10b29sdGlwLXZhbCI+JworICAgICAg ICAgICAgICAgICAgKyB2YWx1ZSArICc8L3RkPjwvdHI+Jyk7CisgICAgICAgICAgICAgICAgfQor ICAgICAgICAgICAgICB9KTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgICAgIGVsc2UgeworICAg ICAgICAgICAgICB0b29sdGlwLmFwcGVuZCgnPHRyPjx0ZCBjbGFzcz0ibGFiZWwgZXhwbGFpbi10 b29sdGlwIj4mbmJzcDsmbmJzcDsnCisgICAgICAgICAgICAgICsga2V5X2lkICsgJzwvdGQ+PHRk IGNsYXNzPSJsYWJlbCBleHBsYWluLXRvb2x0aXAtdmFsIj4nCisgICAgICAgICAgICAgICsgdHJp Z2dlcnMgKyAnPC90ZD48L3RyPicpOworICAgICAgICAgICAgfQorICAgICAgICAgIH0pOworICAg ICAgICB9CisKKyAgICAgICAgLy8gU2hvdyB0b29sVGlwIGF0IHJlc3BlY3RpdmUgeCx5IGNvb3Jk aW5hdGVzCisgICAgICAgIHRvb2xUaXBDb250YWluZXIuY3NzKHsKKyAgICAgICAgICAnb3BhY2l0 eSc6ICcwLjgnLAorICAgICAgICAgICdsZWZ0JzogJycsCisgICAgICAgICAgJ3JpZ2h0JzogJzY1 cHgnLAorICAgICAgICAgICd0b3AnOiAnMTVweCcsCisgICAgICAgIH0pOworICAgICAgfSk7CisK KyAgICAgIC8vIFJlbW92ZSB0b29sdGlwIHdoZW4gbW91c2UgaXMgb3V0IGZyb20gbm9kZSdzIGFy ZWEKKyAgICAgICQoJyNidG4tZXhwbGFpbi1zdGF0cycpLm9uKCdtb3VzZW91dCcsICgpID0+IHsK KyAgICAgICAgdG9vbFRpcENvbnRhaW5lci5lbXB0eSgpOworICAgICAgICB0b29sVGlwQ29udGFp bmVyLmNzcyh7CisgICAgICAgICAgJ29wYWNpdHknOiAnMCcsCisgICAgICAgICAgJ2xlZnQnOiAw LAorICAgICAgICAgICd0b3AnOiAwLAorICAgICAgICB9KTsKKworICAgICAgfSk7CisgICAgfSwK KyAgfSk7CisKICAgLy8gTWFpbiBiYWNrYm9uZSBtb2RlbCB0byBzdG9yZSBKU09OIG9iamVjdAog ICB2YXIgTWFpblBsYW5Nb2RlbCA9IEJhY2tib25lLk1vZGVsLmV4dGVuZCh7CiAgICAgZGVmYXVs dHM6IHsKQEAgLTY5Niw2ICs3NzMsNyBAQCBkZWZpbmUoJ3BnYWRtaW4ubWlzYy5leHBsYWluJywg WwogICAgIH0sCiAgICAgaW5pdGlhbGl6ZTogZnVuY3Rpb24oKSB7CiAgICAgICB0aGlzLnNldCgn UGxhbicsIG5ldyBQbGFuTW9kZWwoKSk7CisgICAgICB0aGlzLnNldCgnU3RhdGlzdGljcycsIG5l dyBTdGF0c01vZGVsKCkpOwogICAgIH0sCiAKICAgICAvLyBQYXJzZSB0aGUgSlNPTiBkYXRhIGFu ZCBmZXRjaCBpdHMgY2hpbGRyZW4gcGxhbnMKQEAgLTcxOCw2ICs3OTYsMTcgQEAgZGVmaW5lKCdw Z2FkbWluLm1pc2MuZXhwbGFpbicsIFsKICAgICAgICAgZGVsZXRlIGRhdGFbJ1BsYW4nXTsKICAg ICAgIH0KIAorICAgICAgdmFyIHN0YXRzID0gdGhpcy5nZXQoJ1N0YXRpc3RpY3MnKTsKKyAgICAg IGlmIChkYXRhICYmICdKSVQnIGluIGRhdGEpIHsKKyAgICAgICAgc3RhdHMuc2V0KCdKSVQnLCBk YXRhWydKSVQnXSk7CisgICAgICAgIGRlbGV0ZSBkYXRhIFsnSklUJ107CisgICAgICB9CisKKyAg ICAgIGlmIChkYXRhICYmICdUcmlnZ2VycycgaW4gZGF0YSkgeworICAgICAgICBzdGF0cy5zZXQo J1RyaWdnZXJzJywgZGF0YVsnVHJpZ2dlcnMnXSk7CisgICAgICAgIGRlbGV0ZSBkYXRhIFsnVHJp Z2dlcnMnXTsKKyAgICAgIH0KKwogICAgICAgcmV0dXJuIGRhdGE7CiAgICAgfSwKICAgICB0b0pT T046IGZ1bmN0aW9uKCkgewpAQCAtNzQ1LDYgKzgzNCwxMCBAQCBkZWZpbmUoJ3BnYWRtaW4ubWlz Yy5leHBsYWluJywgWwogICAgICAgcGxhbi5kcmF3KAogICAgICAgICBnLCB4cG9zLCB5cG9zLCB1 bmRlZmluZWQsIHVuZGVmaW5lZCwgZ3JhcGhDb250YWluZXIsIHRvb2xUaXBDb250YWluZXIKICAg ICAgICk7CisKKyAgICAgIC8vU2V0IHRoZSBTdGF0aXN0aWNzIGFzIHRvb2x0aXAKKyAgICAgIHZh ciBzdGF0cyA9IHRoaXMuZ2V0KCdTdGF0aXN0aWNzJyk7CisgICAgICBzdGF0cy5zZXRfc3RhdGlz dGljcyh4cG9zLCB5cG9zLCBncmFwaENvbnRhaW5lciwgdG9vbFRpcENvbnRhaW5lcik7CiAgICAg fSwKICAgfSk7CiAKQEAgLTc4NCw2ICs4NzcsMjEgQEAgZGVmaW5lKCdwZ2FkbWluLm1pc2MuZXhw bGFpbicsIFsKICAgICAgICAgICAgIGNsYXNzOiAnZmEgZmEtc2VhcmNoLW1pbnVzJywKICAgICAg ICAgICB9KSk7CiAKKyAgICAgIHZhciBzdGF0c0FyZWEgPSAkKCc8ZGl2PjwvZGl2PicsIHsKKyAg ICAgICAgY2xhc3M6ICdwZy1leHBsYWluLXN0YXRzLWFyZWEgYnRuLWdyb3VwJywKKyAgICAgICAg cm9sZTogJ2dyb3VwJywKKyAgICAgIH0pLmFwcGVuZFRvKGNvbnRhaW5lcik7CisKKyAgICAgICQo JzxidXR0b24+PC9idXR0b24+JywgeworICAgICAgICBpZDogJ2J0bi1leHBsYWluLXN0YXRzJywK KyAgICAgICAgY2xhc3M6ICdidG4gcGctZXhwbGFpbi1zdGF0cy1idG4gYmFkZ2UgZGlzYWJsZWQn LAorICAgICAgICB0aXRsZTogJ1N0YXRpc3RpY3MnLAorICAgICAgICB0YWJpbmRleDogMCwKKyAg ICAgIH0pLmFwcGVuZFRvKHN0YXRzQXJlYSkuYXBwZW5kKAorICAgICAgICAkKCc8aT48L2k+Jywg eworICAgICAgICAgIGNsYXNzOiAnZmEgZmEtbGluZS1jaGFydCcsCisgICAgICAgIH0pKTsKKwog ICAgICAgLy8gTWFpbiBkaXYgdG8gYmUgZHJhd24gYWxsIGltYWdlcyBvbgogICAgICAgdmFyIHBs YW5EaXYgPSAkKCc8ZGl2PjwvZGl2PicsIHsKICAgICAgICAgICBjbGFzczogJ3BnYWRtaW4tZXhw bGFpbi1jb250YWluZXInLAo= --0000000000003edf1d056fc40463--