[pgAdmin][RM4633] Bad view in partitioned tables
Akshay Joshi <[email protected]> Fri, 3 Jan 2020 16:58:36 +0530
| Newsgroups | gmane.comp.db.postgresql.pgadmin.devel |
|---|---|
| Message-ID | <CANxoLDcU_NqABtQA2H5zsFjK6Pb8evdGOBoNGxekvx9KroRmow@mail.gmail.com> |
--000000000000fb4f2f059b3a9c5a Content-Type: multipart/alternative; boundary="000000000000fb4f2d059b3a9c58" --000000000000fb4f2d059b3a9c58 Content-Type: text/plain; charset="UTF-8" Hi Hackers Attached is the patch to support the view part of the multilevel partitions. Users can perform all the operations except creating the partitions as a partitioned table. Users can create a partition table separately and attach it as a partition of another partition table. There are two problems mentioned in the RM. I have fixed the first one and we won't fix the second problem as by design we decided to show Partitions like Schema->Table->Partitions Please review it. -- *Thanks & Regards* *Akshay Joshi* *Sr. Software Architect* *EnterpriseDB Software India Private Limited* *Mobile: +91 976-788-8246* --000000000000fb4f2d059b3a9c58 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable <div dir=3D"ltr">Hi Hackers<div><br></div><div>Attached=C2=A0is the patch t= o support the view part of the multilevel partitions. Users can perform all= the operations except creating the partitions as a partitioned table. User= s can create a partition table separately and attach it as a partition of a= nother partition table.</div><div><br></div><div>There are two problems men= tioned in the RM. I have fixed the first one and we won't fix the secon= d problem as by design we decided to show Partitions like Schema->Table-= >Partitions</div><div><br></div><div>Please review it.</div><div>-- <br>= <div dir=3D"ltr" class=3D"gmail_signature" data-smartmail=3D"gmail_signatur= e"><div dir=3D"ltr"><div><div dir=3D"ltr"><div><div dir=3D"ltr"><div dir=3D= "ltr"><div dir=3D"ltr"><div><font color=3D"#3333FF"><b><span style=3D"color= :rgb(0,0,0);font-family:arial,sans-serif;font-size:13px;border-collapse:col= lapse">Thanks & Regards</span></b></font></div><div><font color=3D"#333= 3FF"><b><span style=3D"color:rgb(0,0,0);font-family:arial,sans-serif;font-s= ize:13px;border-collapse:collapse">Akshay Joshi</span></b></font></div><div= ><font color=3D"#3333FF"><b><span style=3D"color:rgb(0,0,0);font-family:ari= al,sans-serif;font-size:13px;border-collapse:collapse">Sr. Software Archite= ct<br></span></b></font></div><div><span style=3D"border-collapse:collapse"= ><font color=3D"#000000" face=3D"arial, sans-serif"><b>EnterpriseDB Softwar= e India Private Limited</b></font><br></span></div><div><b style=3D"color:r= gb(51,51,255)"><span style=3D"color:rgb(0,0,0);font-family:arial,sans-serif= ;font-size:13px;border-collapse:collapse">Mobile: +91 976-788-8246</span></= b><br></div></div></div></div></div></div></div></div></div></div></div> --000000000000fb4f2d059b3a9c58-- --000000000000fb4f2f059b3a9c5a Content-Type: application/octet-stream; name="RM_4633.patch" Content-Disposition: attachment; filename="RM_4633.patch" Content-Transfer-Encoding: base64 Content-ID: <f_k4y1xz3o0> X-Attachment-Id: f_k4y1xz3o0 ZGlmZiAtLWdpdCBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2Rh dGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9wYXJ0aXRpb25zL19faW5pdF9fLnB5IGIvd2ViL3BnYWRt aW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVz L3BhcnRpdGlvbnMvX19pbml0X18ucHkKaW5kZXggMTExODBhZDg1Li43MmRiYjVkMjQgMTAwNjQ0 Ci0tLSBhL3dlYi9wZ2FkbWluL2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNl cy9zY2hlbWFzL3RhYmxlcy9wYXJ0aXRpb25zL19faW5pdF9fLnB5CisrKyBiL3dlYi9wZ2FkbWlu L2Jyb3dzZXIvc2VydmVyX2dyb3Vwcy9zZXJ2ZXJzL2RhdGFiYXNlcy9zY2hlbWFzL3RhYmxlcy9w YXJ0aXRpb25zL19faW5pdF9fLnB5CkBAIC0yMDAsNTIgKzIwMCwyNyBAQCBjbGFzcyBQYXJ0aXRp b25zVmlldyhCYXNlVGFibGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFjdXVtU2V0dGluZ3MpOgog CiAgICAgfSkKIAotICAgIGRlZiBjaGlsZHJlbihzZWxmLCAqKmt3YXJncyk6Ci0gICAgICAgICIi IkJ1aWxkIGEgbGlzdCBvZiB0cmVldmlldyBub2RlcyBmcm9tIHRoZSBjaGlsZCBub2Rlcy4iIiIK LQotICAgICAgICBpZiAnc2lkJyBub3QgaW4ga3dhcmdzOgotICAgICAgICAgICAgcmV0dXJuIHBy ZWNvbmRpdGlvbl9yZXF1aXJlZCgKLSAgICAgICAgICAgICAgICBnZXR0ZXh0KCdSZXF1aXJlZCBw cm9wZXJ0aWVzIGFyZSBtaXNzaW5nLicpCi0gICAgICAgICAgICApCi0KLSAgICAgICAgZnJvbSBw Z2FkbWluLnV0aWxzLmRyaXZlciBpbXBvcnQgZ2V0X2RyaXZlcgotICAgICAgICBtYW5hZ2VyID0g Z2V0X2RyaXZlcihQR19ERUZBVUxUX0RSSVZFUikuY29ubmVjdGlvbl9tYW5hZ2VyKAotICAgICAg ICAgICAgc2lkPWt3YXJnc1snc2lkJ10KLSAgICAgICAgKQotCi0gICAgICAgIGRpZCA9IE5vbmUK LSAgICAgICAgaWYgJ2RpZCcgaW4ga3dhcmdzOgotICAgICAgICAgICAgZGlkID0ga3dhcmdzWydk aWQnXQotCi0gICAgICAgIGNvbm4gPSBtYW5hZ2VyLmNvbm5lY3Rpb24oZGlkPWRpZCkKLQotICAg ICAgICBpZiBub3QgY29ubi5jb25uZWN0ZWQoKToKLSAgICAgICAgICAgIHJldHVybiBwcmVjb25k aXRpb25fcmVxdWlyZWQoCi0gICAgICAgICAgICAgICAgZ2V0dGV4dCgKLSAgICAgICAgICAgICAg ICAgICAgIkNvbm5lY3Rpb24gdG8gdGhlIHNlcnZlciBoYXMgYmVlbiBsb3N0LiIKLSAgICAgICAg ICAgICAgICApCi0gICAgICAgICAgICApCi0KKyAgICBkZWYgX2dldF9jaGlsZHJlbl9ub2Rlcyhz ZWxmLCBtYW5hZ2VyLCAqKmt3YXJncyk6CiAgICAgICAgIG5vZGVzID0gW10KKyAgICAgICAgIyB0 cmVhdCBwYXJ0aXRpb24gdGFibGUgYXMgbm9ybWFsIHRhYmxlLgorICAgICAgICAjIHJlcGxhY2Ug dGlkIHdpdGggcHRpZCBhbmQgcG9wIHB0aWQgZnJvbSBrd2FyZ3MKKyAgICAgICAgaWYgJ3B0aWQn IGluIGt3YXJnczoKKyAgICAgICAgICAgIHB0aWQgPSBrd2FyZ3MucG9wKCdwdGlkJykKKyAgICAg ICAgICAgIGt3YXJnc1sndGlkJ10gPSBwdGlkCisKICAgICAgICAgZm9yIG1vZHVsZSBpbiBzZWxm LmJsdWVwcmludC5zdWJtb2R1bGVzOgogICAgICAgICAgICAgaWYgaXNpbnN0YW5jZShtb2R1bGUs IFBHQ2hpbGRNb2R1bGUpOgogICAgICAgICAgICAgICAgIGlmIG1hbmFnZXIgaXMgbm90IE5vbmUg YW5kIFwKICAgICAgICAgICAgICAgICAgICAgICAgIG1vZHVsZS5CYWNrZW5kU3VwcG9ydGVkKG1h bmFnZXIsICoqa3dhcmdzKToKLSAgICAgICAgICAgICAgICAgICAgIyB0cmVhdCBwYXJ0aXRpb24g dGFibGUgYXMgbm9ybWFsIHRhYmxlLgotICAgICAgICAgICAgICAgICAgICAjIHJlcGxhY2UgdGlk IHdpdGggcHRpZCBhbmQgcG9wIHB0aWQgZnJvbSBrd2FyZ3MKLSAgICAgICAgICAgICAgICAgICAg aWYgJ3B0aWQnIGluIGt3YXJnczoKLSAgICAgICAgICAgICAgICAgICAgICAgIHB0aWQgPSBrd2Fy Z3MucG9wKCdwdGlkJykKLSAgICAgICAgICAgICAgICAgICAgICAgIGt3YXJnc1sndGlkJ10gPSBw dGlkCiAgICAgICAgICAgICAgICAgICAgIG5vZGVzLmV4dGVuZChtb2R1bGUuZ2V0X25vZGVzKCoq a3dhcmdzKSkKICAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICAgbm9kZXMuZXh0ZW5k KG1vZHVsZS5nZXRfbm9kZXMoKiprd2FyZ3MpKQogCi0gICAgICAgICMgUmV0dXJuIHNvcnRlZCBu b2RlcyBiYXNlZCBvbiBsYWJlbAotICAgICAgICByZXR1cm4gbWFrZV9qc29uX3Jlc3BvbnNlKAot ICAgICAgICAgICAgZGF0YT1zb3J0ZWQoCi0gICAgICAgICAgICAgICAgbm9kZXMsIGtleT1sYW1i ZGEgYzogY1snbGFiZWwnXQotICAgICAgICAgICAgKQotICAgICAgICApCisgICAgICAgIGlmIG1h bmFnZXIgaXMgbm90IE5vbmUgYW5kIFwKKyAgICAgICAgICAgICAgICBzZWxmLmJsdWVwcmludC5C YWNrZW5kU3VwcG9ydGVkKG1hbmFnZXIsICoqa3dhcmdzKToKKyAgICAgICAgICAgIG5vZGVzLmV4 dGVuZChzZWxmLmJsdWVwcmludC5nZXRfbm9kZXMoKiprd2FyZ3MpKQorCisgICAgICAgIHJldHVy biBub2RlcwogCiAgICAgQEJhc2VUYWJsZVZpZXcuY2hlY2tfcHJlY29uZGl0aW9uCiAgICAgZGVm IGxpc3Qoc2VsZiwgZ2lkLCBzaWQsIGRpZCwgc2NpZCwgdGlkKToKQEAgLTI5NSw3ICsyNzAsNyBA QCBjbGFzcyBQYXJ0aXRpb25zVmlldyhCYXNlVGFibGVWaWV3LCBEYXRhVHlwZVJlYWRlciwgVmFj dXVtU2V0dGluZ3MpOgogICAgICAgICAiIiIKICAgICAgICAgU1FMID0gcmVuZGVyX3RlbXBsYXRl KAogICAgICAgICAgICAgIi8iLmpvaW4oW3NlbGYucGFydGl0aW9uX3RlbXBsYXRlX3BhdGgsICdu b2Rlcy5zcWwnXSksCi0gICAgICAgICAgICBzY2lkPXNjaWQsIHRpZD10aWQKKyAgICAgICAgICAg IHNjaWQ9c2NpZCwgdGlkPXRpZCwgcHRpZD1wdGlkCiAgICAgICAgICkKICAgICAgICAgc3RhdHVz LCByc2V0ID0gc2VsZi5jb25uLmV4ZWN1dGVfMmRhcnJheShTUUwpCiAgICAgICAgIGlmIG5vdCBz dGF0dXM6CmRpZmYgLS1naXQgYS93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9ncm91cHMvc2Vy dmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvcGFydGl0aW9ucy9zdGF0aWMvanMvcGFydGl0 aW9uLmpzIGIvd2ViL3BnYWRtaW4vYnJvd3Nlci9zZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJh c2VzL3NjaGVtYXMvdGFibGVzL3BhcnRpdGlvbnMvc3RhdGljL2pzL3BhcnRpdGlvbi5qcwppbmRl eCAxNGUwMTUyMTAuLjA0YTY5M2VhZCAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJvd3Nlci9z ZXJ2ZXJfZ3JvdXBzL3NlcnZlcnMvZGF0YWJhc2VzL3NjaGVtYXMvdGFibGVzL3BhcnRpdGlvbnMv c3RhdGljL2pzL3BhcnRpdGlvbi5qcworKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3NlcnZlcl9n cm91cHMvc2VydmVycy9kYXRhYmFzZXMvc2NoZW1hcy90YWJsZXMvcGFydGl0aW9ucy9zdGF0aWMv anMvcGFydGl0aW9uLmpzCkBAIC00OSw4ICs0OSw3IEBAIGZ1bmN0aW9uKAogICAgICAgc3FsQ3Jl YXRlSGVscDogJ3NxbC1jcmVhdGV0YWJsZS5odG1sJywKICAgICAgIGRpYWxvZ0hlbHA6IHVybF9m b3IoJ2hlbHAuc3RhdGljJywgeydmaWxlbmFtZSc6ICd0YWJsZV9kaWFsb2cuaHRtbCd9KSwKICAg ICAgIGhhc1NjcmlwdFR5cGVzOiBbJ2NyZWF0ZSddLAotICAgICAgaGVpZ2h0OiAnOTUlJywKLSAg ICAgIHdpZHRoOiAnODUlJywKKyAgICAgIHdpZHRoOiAnNjUwcHgnLAogICAgICAgSW5pdDogZnVu Y3Rpb24oKSB7CiAgICAgICAgIC8qIEF2b2lkIG11bGl0cGxlIHJlZ2lzdHJhdGlvbiBvZiBtZW51 cyAqLwogICAgICAgICBpZiAodGhpcy5pbml0aWFsaXplZCkKQEAgLTg2NSw3ICs4NjQsNyBAQCBm dW5jdGlvbigKICAgICAgICAgICBjYW5FZGl0OiBmYWxzZSwgY2FuRGVsZXRlOiB0cnVlLAogICAg ICAgICAgIGN1c3RvbURlbGV0ZVRpdGxlOiBnZXR0ZXh0KCdEZXRhY2ggUGFydGl0aW9uJyksCiAg ICAgICAgICAgY3VzdG9tRGVsZXRlTXNnOiBnZXR0ZXh0KCdBcmUgeW91IHN1cmUgeW91IHdpc2gg dG8gZGV0YWNoIHRoaXMgcGFydGl0aW9uPycpLAotICAgICAgICAgIGNvbHVtbnM6Wydpc19hdHRh Y2gnLCAncGFydGl0aW9uX25hbWUnLCAndmFsdWVzX2Zyb20nLCAndmFsdWVzX3RvJywgJ3ZhbHVl c19pbiddLAorICAgICAgICAgIGNvbHVtbnM6Wydpc19hdHRhY2gnLCAncGFydGl0aW9uX25hbWUn LCAnaXNfZGVmYXVsdCcsICd2YWx1ZXNfZnJvbScsICd2YWx1ZXNfdG8nLCAndmFsdWVzX2luJywg J3ZhbHVlc19tb2R1bHVzJywgJ3ZhbHVlc19yZW1haW5kZXInXSwKICAgICAgICAgICBjb250cm9s OiBCYWNrZm9ybS5TdWJOb2RlQ29sbGVjdGlvbkNvbnRyb2wuZXh0ZW5kKHsKICAgICAgICAgICAg IHJvdzogQmFja2dyaWQuUGFydGl0aW9uUm93LAogICAgICAgICAgICAgaW5pdGlhbGl6ZTogZnVu Y3Rpb24oKSB7CkBAIC05MzAsMTAgKzkyOSwzMCBAQCBmdW5jdGlvbigKICAgICAgICAgfSx7CiAg ICAgICAgICAgaWQ6ICdwYXJ0aXRpb25fbm90ZScsIGxhYmVsOiBnZXR0ZXh0KCdQYXJ0aXRpb24n KSwKICAgICAgICAgICB0eXBlOiAnbm90ZScsIGdyb3VwOiAncGFydGl0aW9uJywKLSAgICAgICAg ICB0ZXh0OiBnZXR0ZXh0KCdUaGUgY29udHJvbCBhYm92ZSBpcyB1c2VkIHRvIENyZWF0ZS9BdHRh Y2gvRGV0YWNoIHBhcnRpdGlvbnMuPGJyPicgKwotICAgICAgICAgICAgJzx1bD48bGk+Q3JlYXRl IE1vZGU6IFVzZXIgd2lsbCBiZSBhYmxlIHRvIGNyZWF0ZSBOIG51bWJlciBvZiBwYXJ0aXRpb25z LiBNb2RlIHN3aXRjaCBjb250cm9sIGlzIGRpc2FibGVkIGluIHRoaXMgc2NlbmFyaW8uPC9saT4n ICsKLSAgICAgICAgICAgICc8bGk+RWRpdCBNb2RlOiBVc2VyIHdpbGwgYmUgYWJsZSB0byBjcmVh dGUvYXR0YWNoL2RldGFjaCBOIG51bWJlciBvZiBwYXJ0aXRpb25zLiAnICsKLSAgICAgICAgICAg ICdJbiBhdHRhY2ggbW9kZSB0aGVyZSB3aWxsIGJlIGxpc3Qgb2Ygc3VpdGFibGUgdGFibGVzIHRv IGJlIGF0dGFjaGVkLjwvbGk+PC91bD4nKSwKKyAgICAgICAgICB0ZXh0OiBbCisgICAgICAgICAg ICAnPHVsPjxsaT4nLAorICAgICAgICAgICAgJzxzdHJvbmc+JywgZ2V0dGV4dCgnQ3JlYXRlIGEg dGFibGU6ICcpLCAnPC9zdHJvbmc+JywKKyAgICAgICAgICAgIGdldHRleHQoJ1VzZXIgY2FuIGNy ZWF0ZSBtdWx0aXBsZSBwYXJ0aXRpb25zIHdoaWxlIGNyZWF0aW5nIG5ldyBwYXJ0aXRpb25lZCB0 YWJsZS4gT3BlcmF0aW9uIHN3aXRjaCBpcyBkaXNhYmxlZCBpbiB0aGlzIHNjZW5hcmlvLicpLAor ICAgICAgICAgICAgJzwvbGk+PGxpPicsCisgICAgICAgICAgICAnPHN0cm9uZz4nLCBnZXR0ZXh0 KCdFZGl0IGV4aXN0aW5nIHRhYmxlOiAnKSwgJzwvc3Ryb25nPicsCisgICAgICAgICAgICBnZXR0 ZXh0KCdVc2VyIGNhbiBjcmVhdGUvYXR0YWNoL2RldGFjaCBtdWx0aXBsZSBwYXJ0aXRpb25zLiBJ biBhdHRhY2ggb3BlcmF0aW9uIHVzZXIgY2FuIHNlbGVjdCB0YWJsZSBmcm9tIHRoZSBsaXN0IG9m IHN1aXRhYmxlIHRhYmxlcyB0byBiZSBhdHRhY2hlZC4nKSwKKyAgICAgICAgICAgICc8L2xpPjxs aT4nLAorICAgICAgICAgICAgJzxzdHJvbmc+JywgZ2V0dGV4dCgnRGVmYXVsdDogJyksICc8L3N0 cm9uZz4nLAorICAgICAgICAgICAgZ2V0dGV4dCgnVGhlIGRlZmF1bHQgcGFydGl0aW9uIGNhbiBz dG9yZSByb3dzIHRoYXQgZG8gbm90IGZhbGwgaW50byBhbnkgZXhpc3RpbmcgcGFydGl0aW9u4oCZ cyByYW5nZSBvciBsaXN0LicpLAorICAgICAgICAgICAgJzwvbGk+PGxpPicsCisgICAgICAgICAg ICAnPHN0cm9uZz4nLCBnZXR0ZXh0KCdGcm9tL1RvL0luIGlucHV0OiAnKSwgJzwvc3Ryb25nPics CisgICAgICAgICAgICBnZXR0ZXh0KCdGcm9tL1RvL0luIGlucHV0OiBWYWx1ZXMgZm9yIHRoZXNl IGZpZWxkcyBtdXN0IGJlIHF1b3RlZCB3aXRoIHNpbmdsZSBxdW90ZS4gRm9yIG1vcmUgdGhhbiBv bmUgcGFydGl0aW9uIGtleSB2YWx1ZXMgbXVzdCBiZSBjb21tYSgsKSBzZXBhcmF0ZWQuJyksCisg ICAgICAgICAgICAnPC9saT48bGk+JywKKyAgICAgICAgICAgICc8c3Ryb25nPicsIGdldHRleHQo J0V4YW1wbGU6IEZyb20vVG86ICcpLCAnPC9zdHJvbmc+JywKKyAgICAgICAgICAgIGdldHRleHQo J0VuYWJsZWQgZm9yIHJhbmdlIHBhcnRpdGlvbi4gQ29uc2lkZXIgcGFydGl0aW9uZWQgdGFibGUg d2l0aCBtdWx0aXBsZSBrZXlzIG9mIHR5cGUgSW50ZWdlciwgdGhlbiB2YWx1ZXMgc2hvdWxkIGJl IHNwZWNpZmllZCBsaWtlIFwnMTAwXCcsXCcyMDBcJy4nKSwKKyAgICAgICAgICAgICc8L2xpPjxs aT4nLAorICAgICAgICAgICAgJzxzdHJvbmc+JywgZ2V0dGV4dCgnSW46ICcpLCAnPC9zdHJvbmc+ JywKKyAgICAgICAgICAgIGdldHRleHQoJ0VuYWJsZWQgZm9yIGxpc3QgcGFydGl0aW9uLiBWYWx1 ZXMgbXVzdCBiZSBjb21tYSgsKSBzZXBhcmF0ZWQgYW5kIHF1b3RlZCB3aXRoIHNpbmdsZSBxdW90 ZS4nKSwKKyAgICAgICAgICAgICc8L2xpPjxsaT4nLAorICAgICAgICAgICAgJzxzdHJvbmc+Jywg Z2V0dGV4dCgnTW9kdWx1cy9SZW1haW5kZXI6ICcpLCAnPC9zdHJvbmc+JywKKyAgICAgICAgICAg IGdldHRleHQoJ0VuYWJsZWQgZm9yIGhhc2ggcGFydGl0aW9uLicpLAorICAgICAgICAgICAgJzwv bGk+PC91bD4nLAorICAgICAgICAgIF0uam9pbignJyksCiAgICAgICAgICAgdmlzaWJsZTogZnVu Y3Rpb24obSkgewogICAgICAgICAgICAgaWYoIV8uaXNVbmRlZmluZWQobS5ub2RlX2luZm8pICYm ICFfLmlzVW5kZWZpbmVkKG0ubm9kZV9pbmZvLnNlcnZlcikKICAgICAgICAgICAgICAgJiYgIV8u aXNVbmRlZmluZWQobS5ub2RlX2luZm8uc2VydmVyLnZlcnNpb24pICYmCmRpZmYgLS1naXQgYS93 ZWIvcGdhZG1pbi9icm93c2VyL3V0aWxzLnB5IGIvd2ViL3BnYWRtaW4vYnJvd3Nlci91dGlscy5w eQppbmRleCAwY2MwNjFkYjUuLmI3YzhkMjk0NSAxMDA2NDQKLS0tIGEvd2ViL3BnYWRtaW4vYnJv d3Nlci91dGlscy5weQorKysgYi93ZWIvcGdhZG1pbi9icm93c2VyL3V0aWxzLnB5CkBAIC0zNDMs MTAgKzM0Myw4IEBAIGNsYXNzIE5vZGVWaWV3KHdpdGhfbWV0YWNsYXNzKE1ldGhvZFZpZXdUeXBl LCBWaWV3KSk6CiAKICAgICBkZWYgY2hpbGRyZW4oc2VsZiwgKmFyZ3MsICoqa3dhcmdzKToKICAg ICAgICAgIiIiQnVpbGQgYSBsaXN0IG9mIHRyZWV2aWV3IG5vZGVzIGZyb20gdGhlIGNoaWxkIG5v ZGVzLiIiIgotICAgICAgICBjaGlsZHJlbiA9IFtdCisgICAgICAgIGNoaWxkcmVuID0gc2VsZi5f Z2V0X2NoaWxkcmVuX25vZGVzKCphcmdzLCAqKmt3YXJncykKIAotICAgICAgICBmb3IgbW9kdWxl IGluIHNlbGYuYmx1ZXByaW50LnN1Ym1vZHVsZXM6Ci0gICAgICAgICAgICBjaGlsZHJlbi5leHRl bmQobW9kdWxlLmdldF9ub2RlcygqYXJncywgKiprd2FyZ3MpKQogICAgICAgICAjIFJldHVybiBz b3J0ZWQgbm9kZXMgYmFzZWQgb24gbGFiZWwKICAgICAgICAgcmV0dXJuIG1ha2VfanNvbl9yZXNw b25zZSgKICAgICAgICAgICAgIGRhdGE9c29ydGVkKApAQCAtMzU0LDggKzM1Miw0NiBAQCBjbGFz cyBOb2RlVmlldyh3aXRoX21ldGFjbGFzcyhNZXRob2RWaWV3VHlwZSwgVmlldykpOgogICAgICAg ICAgICAgKQogICAgICAgICApCiAKKyAgICBkZWYgX2dldF9jaGlsZHJlbl9ub2RlcyhzZWxmLCAq YXJncywgKiprd2FyZ3MpOgorICAgICAgICAiIiIKKyAgICAgICAgUmV0dXJucyB0aGUgbGlzdCBv ZiBjaGlsZHJlbiBub2RlcyBmb3IgdGhlIGN1cnJlbnQgbm9kZXMuIE92ZXJyaWRlIHRoaXMKKyAg ICAgICAgZnVuY3Rpb24gZm9yIHNwZWNpYWwgY2FzZXMgb25seS4KKworICAgICAgICA6cGFyYW0g YXJnczoKKyAgICAgICAgOnBhcmFtIGt3YXJnczogUGFyYW1ldGVycyB0byBnZW5lcmF0ZSB0aGUg Y29ycmVjdCBzZXQgb2YgdHJlZSBub2RlLgorICAgICAgICA6cmV0dXJuOiBMaXN0IG9mIHRoZSBj aGlsZHJlbiBub2RlcworICAgICAgICAiIiIKKyAgICAgICAgY2hpbGRyZW4gPSBbXQorCisgICAg ICAgIGZvciBtb2R1bGUgaW4gc2VsZi5ibHVlcHJpbnQuc3VibW9kdWxlczoKKyAgICAgICAgICAg IGNoaWxkcmVuLmV4dGVuZChtb2R1bGUuZ2V0X25vZGVzKCphcmdzLCAqKmt3YXJncykpCisKKyAg ICAgICAgcmV0dXJuIGNoaWxkcmVuCisKIAogY2xhc3MgUEdDaGlsZE5vZGVWaWV3KE5vZGVWaWV3 KToKKworICAgIGRlZiBfZ2V0X2NoaWxkcmVuX25vZGVzKHNlbGYsIG1hbmFnZXIsICoqa3dhcmdz KToKKyAgICAgICAgIiIiCisgICAgICAgIFJldHVybnMgdGhlIGxpc3Qgb2YgY2hpbGRyZW4gbm9k ZXMgZm9yIHRoZSBjdXJyZW50IG5vZGVzLgorCisgICAgICAgIDpwYXJhbSBtYW5hZ2VyOiBTZXJ2 ZXIgTWFuYWdlciBvYmplY3QKKyAgICAgICAgOnBhcmFtIGt3YXJnczogUGFyYW1ldGVycyB0byBn ZW5lcmF0ZSB0aGUgY29ycmVjdCBzZXQgb2YgYnJvd3NlciB0cmVlCisgICAgICAgICAgbm9kZQor ICAgICAgICA6cmV0dXJuOgorICAgICAgICAiIiIKKyAgICAgICAgbm9kZXMgPSBbXQorICAgICAg ICBmb3IgbW9kdWxlIGluIHNlbGYuYmx1ZXByaW50LnN1Ym1vZHVsZXM6CisgICAgICAgICAgICBp ZiBpc2luc3RhbmNlKG1vZHVsZSwgUEdDaGlsZE1vZHVsZSk6CisgICAgICAgICAgICAgICAgaWYg KAorICAgICAgICAgICAgICAgICAgICBtYW5hZ2VyIGlzIG5vdCBOb25lIGFuZAorICAgICAgICAg ICAgICAgICAgICBtb2R1bGUuQmFja2VuZFN1cHBvcnRlZChtYW5hZ2VyLCAqKmt3YXJncykKKyAg ICAgICAgICAgICAgICApOgorICAgICAgICAgICAgICAgICAgICBub2Rlcy5leHRlbmQobW9kdWxl LmdldF9ub2RlcygqKmt3YXJncykpCisgICAgICAgICAgICBlbHNlOgorICAgICAgICAgICAgICAg IG5vZGVzLmV4dGVuZChtb2R1bGUuZ2V0X25vZGVzKCoqa3dhcmdzKSkKKyAgICAgICAgcmV0dXJu IG5vZGVzCisKICAgICBkZWYgY2hpbGRyZW4oc2VsZiwgKiprd2FyZ3MpOgogICAgICAgICAiIiJC dWlsZCBhIGxpc3Qgb2YgdHJlZXZpZXcgbm9kZXMgZnJvbSB0aGUgY2hpbGQgbm9kZXMuIiIiCiAK QEAgLTM4OCwyMSArNDI0LDExIEBAIGNsYXNzIFBHQ2hpbGROb2RlVmlldyhOb2RlVmlldyk6CiAg ICAgICAgICAgICAgICAgKQogICAgICAgICAgICAgKQogCi0gICAgICAgIG5vZGVzID0gW10KLSAg ICAgICAgZm9yIG1vZHVsZSBpbiBzZWxmLmJsdWVwcmludC5zdWJtb2R1bGVzOgotICAgICAgICAg ICAgaWYgaXNpbnN0YW5jZShtb2R1bGUsIFBHQ2hpbGRNb2R1bGUpOgotICAgICAgICAgICAgICAg IGlmICgKLSAgICAgICAgICAgICAgICAgICAgbWFuYWdlciBpcyBub3QgTm9uZSBhbmQKLSAgICAg ICAgICAgICAgICAgICAgbW9kdWxlLkJhY2tlbmRTdXBwb3J0ZWQobWFuYWdlciwgKiprd2FyZ3Mp Ci0gICAgICAgICAgICAgICAgKToKLSAgICAgICAgICAgICAgICAgICAgbm9kZXMuZXh0ZW5kKG1v ZHVsZS5nZXRfbm9kZXMoKiprd2FyZ3MpKQotICAgICAgICAgICAgZWxzZToKLSAgICAgICAgICAg ICAgICBub2Rlcy5leHRlbmQobW9kdWxlLmdldF9ub2RlcygqKmt3YXJncykpCi0KICAgICAgICAg IyBSZXR1cm4gc29ydGVkIG5vZGVzIGJhc2VkIG9uIGxhYmVsCiAgICAgICAgIHJldHVybiBtYWtl X2pzb25fcmVzcG9uc2UoCiAgICAgICAgICAgICBkYXRhPXNvcnRlZCgKLSAgICAgICAgICAgICAg ICBub2Rlcywga2V5PWxhbWJkYSBjOiBjWydsYWJlbCddCisgICAgICAgICAgICAgICAgc2VsZi5f Z2V0X2NoaWxkcmVuX25vZGVzKG1hbmFnZXIsICoqa3dhcmdzKSwKKyAgICAgICAgICAgICAgICBr ZXk9bGFtYmRhIGM6IGNbJ2xhYmVsJ10KICAgICAgICAgICAgICkKICAgICAgICAgKQogCg== --000000000000fb4f2f059b3a9c5a--