From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.2 Received: from inbox.vuxu.org (localhost [IPv6:::1]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id ccee9e2a for ; Wed, 1 Jan 2020 00:05:50 +0000 (UTC) Content-Type: multipart/mixed; boundary="===============8540922452255612610==" MIME-Version: 1.0 Subject: [PR PATCH] zeitgeist: port to python3 To: ml@inbox.vuxu.org From: voidlinux-github@inbox.vuxu.org Reply-to: ml@inbox.vuxu.org Message-ID: Date: Wed, 01 Jan 2020 01:05:50 +0100 GitHub notification mails are now in MIME to allow UTF8. --===============8540922452255612610== MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IENhbWVyb25OZW1vIGFnYWluc3QgbWFzdGVy IG9uIHRoZSB2b2lkLXBhY2thZ2VzIHJlcG9zaXRvcnkKCmh0dHBzOi8vZ2l0aHViLmNvbS9DYW1l cm9uTmVtby92b2lkLXBhY2thZ2VzIHplaXRnZWlzdApodHRwczovL2dpdGh1Yi5jb20vdm9pZC1s aW51eC92b2lkLXBhY2thZ2VzL3B1bGwvMTc5NTMKCnplaXRnZWlzdDogcG9ydCB0byBweXRob24z Ck5vbmUKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8vZ2l0aHViLmNvbS92b2lkLWxpbnV4L3Zv aWQtcGFja2FnZXMvcHVsbC8xNzk1My5wYXRjaCBpcyBhdHRhY2hlZA== --===============8540922452255612610== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-zeitgeist-17953.patch" RnJvbSA0ZjYyNWE3ODgyZDc2ODgzMzg0NjQ1YWU5MDA5MmE0OTEzMzI5ZDY0IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBDYW1lcm9uIE5lbW8gPGNuZW1vQHR1dGFub3RhLmNvbT4KRGF0 ZTogVHVlLCAzMSBEZWMgMjAxOSAxNjowNDo1MCAtMDgwMApTdWJqZWN0OiBbUEFUQ0hdIHplaXRn ZWlzdDogcG9ydCB0byBweXRob24zCgotLS0KIHNyY3BrZ3MvemVpdGdlaXN0L3BhdGNoZXMvcHl0 aG9uMy5wYXRjaCB8IDMyNyArKysrKysrKysrKysrKysrKysrKysrKysKIHNyY3BrZ3MvemVpdGdl aXN0L3RlbXBsYXRlICAgICAgICAgICAgICB8ICAxMSArLQogMiBmaWxlcyBjaGFuZ2VkLCAzMzMg aW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBzcmNwa2dz L3plaXRnZWlzdC9wYXRjaGVzL3B5dGhvbjMucGF0Y2gKCmRpZmYgLS1naXQgYS9zcmNwa2dzL3pl aXRnZWlzdC9wYXRjaGVzL3B5dGhvbjMucGF0Y2ggYi9zcmNwa2dzL3plaXRnZWlzdC9wYXRjaGVz L3B5dGhvbjMucGF0Y2gKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAuLjdk MzE1YmMzNzNkCi0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy96ZWl0Z2Vpc3QvcGF0Y2hlcy9w eXRob24zLnBhdGNoCkBAIC0wLDAgKzEsMzI3IEBACitjb21taXQgN2JmNzMxMjEwZDZiMjNlNGEw MzBhM2VmNTVkNGJjNzg3MWUzYWMzNworQXV0aG9yOiBDYW1lcm9uIE5lbW8gPGNuZW1vQHR1dGFu b3RhLmNvbT4KK0RhdGU6ICAgVHVlIERlYyAzMSAxNTo1MTo1NyAyMDE5IC0wODAwCisKKyAgICBw eXRob246IHBvcnQgdG8gcHl0aG9uMworCitkaWZmIC0tZ2l0IHB5dGhvbi9jbGllbnQucHkgcHl0 aG9uL2NsaWVudC5weQoraW5kZXggN2VmZGQyZDcuLjM4MTE1ODEzIDEwMDY0NAorLS0tIHB5dGhv bi9jbGllbnQucHkKKysrKyBweXRob24vY2xpZW50LnB5CitAQCAtMTE4LDcgKzExOCw3IEBAIGNs YXNzIF9EQnVzSW50ZXJmYWNlKG9iamVjdCk6CisgCisgCQl0cnk6CisgCQkJcmV0dXJuIG1ldGhv ZF9nZXR0ZXIoKSgqYXJncywgKiprd2FyZ3MpCistCQlleGNlcHQgZGJ1cy5leGNlcHRpb25zLkRC dXNFeGNlcHRpb24sIGU6CisrCQlleGNlcHQgZGJ1cy5leGNlcHRpb25zLkRCdXNFeGNlcHRpb24g YXMgZToKKyAJCQlyZXR1cm4gcmVjb25uZWN0aW5nX2Vycm9yX2hhbmRsZXIoZSkKKyAKKyAJZGVm IF9fZ2V0YXR0cl9fKHNlbGYsIG5hbWUpOgorQEAgLTI1OCw3ICsyNTgsNyBAQCBjbGFzcyBaZWl0 Z2Vpc3REQnVzSW50ZXJmYWNlKG9iamVjdCk6CisgCQkJdHJ5OgorIAkJCQlwcm94eSA9IGdldF9i dXMoKS5nZXRfb2JqZWN0KHNlbGYuQlVTX05BTUUsCisgCQkJCQlzZWxmLk9CSkVDVF9QQVRILCBm b2xsb3dfbmFtZV9vd25lcl9jaGFuZ2VzPVRydWUpCistCQkJZXhjZXB0IGRidXMuZXhjZXB0aW9u cy5EQnVzRXhjZXB0aW9uLCBlOgorKwkJCWV4Y2VwdCBkYnVzLmV4Y2VwdGlvbnMuREJ1c0V4Y2Vw dGlvbiBhcyBlOgorIAkJCQlpZiBlLmdldF9kYnVzX25hbWUoKSA9PSAib3JnLmZyZWVkZXNrdG9w LkRCdXMuRXJyb3IuU2VydmljZVVua25vd24iOgorIAkJCQkJcmFpc2UgUnVudGltZUVycm9yKAor IAkJCQkJCSJGb3VuZCBubyBydW5uaW5nIHplaXRnZWlzdC1kYWVtb24gaW5zdGFuY2U6ICVzIiAl IFwKK0BAIC0yOTEsNyArMjkxLDcgQEAgY2xhc3MgTW9uaXRvcihkYnVzLnNlcnZpY2UuT2JqZWN0 KToKKyAJCWRlbGV0ZV9jYWxsYmFjaywgbW9uaXRvcl9wYXRoPU5vbmUsIGV2ZW50X3R5cGU9Tm9u ZSk6CisgCQlpZiBub3QgbW9uaXRvcl9wYXRoOgorIAkJCW1vbml0b3JfcGF0aCA9IE1vbml0b3Iu X25leHRfcGF0aCgpCistCQllbGlmIGlzaW5zdGFuY2UobW9uaXRvcl9wYXRoLCAoc3RyLCB1bmlj b2RlKSk6CisrCQllbGlmIGlzaW5zdGFuY2UobW9uaXRvcl9wYXRoLCBzdHIpOgorIAkJCW1vbml0 b3JfcGF0aCA9IGRidXMuT2JqZWN0UGF0aChtb25pdG9yX3BhdGgpCisgCQkKKyAJCWlmIGV2ZW50 X3R5cGU6CitAQCAtMzM2LDcgKzMzNiw3IEBAIGNsYXNzIE1vbml0b3IoZGJ1cy5zZXJ2aWNlLk9i amVjdCk6CisgCQkgICAgU2VlIDptZXRoOmBaZWl0Z2Vpc3RDbGllbnQuaW5zdGFsbF9tb25pdG9y YAorIAkJIiIiCisgCQlzZWxmLl9pbnNlcnRfY2FsbGJhY2soVGltZVJhbmdlKHRpbWVfcmFuZ2Vb MF0sIHRpbWVfcmFuZ2VbMV0pLAorLQkJCW1hcChzZWxmLl9ldmVudF90eXBlLCBldmVudHMpKQor KwkJCWxpc3QobWFwKHNlbGYuX2V2ZW50X3R5cGUsIGV2ZW50cykpKQorIAkKKyAJQGRidXMuc2Vy dmljZS5tZXRob2QoIm9yZy5nbm9tZS56ZWl0Z2Vpc3QuTW9uaXRvciIsCisgCSAgICAgICAgICAg ICAgICAgICAgIGluX3NpZ25hdHVyZT0iKHh4KWF1IikKK0BAIC00NjcsNyArNDY3LDcgQEAgY2xh c3MgWmVpdGdlaXN0Q2xpZW50OgorIAkJcmV0dXJuIFtpbnQoaSkgZm9yIGkgaW4gc2VsZi5faWZh Y2UudmVyc2lvbigpXQorIAkJCisgCWRlZiBnZXRfZXh0ZW5zaW9ucyhzZWxmKToKKy0JCXJldHVy biBbdW5pY29kZShpKSBmb3IgaSBpbiBzZWxmLl9pZmFjZS5leHRlbnNpb25zKCldCisrCQlyZXR1 cm4gW3N0cihpKSBmb3IgaSBpbiBzZWxmLl9pZmFjZS5leHRlbnNpb25zKCldCisgCQorIAkjIE1l dGhvZHMKKyAJCitAQCAtNzI3LDcgKzcyNyw3IEBAIGNsYXNzIFplaXRnZWlzdENsaWVudDoKKyAJ CQkJCW51bV9ldmVudHMsCisgCQkJCQlyZXN1bHRfdHlwZSwKKyAJCQkJCXJlcGx5X2hhbmRsZXI9 bGFtYmRhIHJhdzogZXZlbnRzX3JlcGx5X2hhbmRsZXIoCistCQkJCQkJbWFwKHNlbGYuX2V2ZW50 X3R5cGUubmV3X2Zvcl9zdHJ1Y3QsIHJhdykpLAorKwkJCQkJCWxpc3QobWFwKHNlbGYuX2V2ZW50 X3R5cGUubmV3X2Zvcl9zdHJ1Y3QsIHJhdykpKSwKKyAJCQkJCWVycm9yX2hhbmRsZXI9c2VsZi5f c2FmZV9lcnJvcl9oYW5kbGVyKGVycm9yX2hhbmRsZXIsCisgCQkJCQkJZXZlbnRzX3JlcGx5X2hh bmRsZXIsIFtdKSkKKyAJCitAQCAtNzg4LDcgKzc4OCw3IEBAIGNsYXNzIFplaXRnZWlzdENsaWVu dDoKKyAJCSMgdGhlIHJhdyBEQnVzIHJlcGx5IGludG8gYSBsaXN0IG9mIEV2ZW50IGluc3RhbmNl cworIAkJc2VsZi5faWZhY2UuR2V0RXZlbnRzKGV2ZW50X2lkcywKKyAJCQkJcmVwbHlfaGFuZGxl cj1sYW1iZGEgcmF3OiBldmVudHNfcmVwbHlfaGFuZGxlcigKKy0JCQkJCW1hcChzZWxmLl9ldmVu dF90eXBlLm5ld19mb3Jfc3RydWN0LCByYXcpKSwKKysJCQkJCWxpc3QobWFwKHNlbGYuX2V2ZW50 X3R5cGUubmV3X2Zvcl9zdHJ1Y3QsIHJhdykpKSwKKyAJCQkJZXJyb3JfaGFuZGxlcj1zZWxmLl9z YWZlX2Vycm9yX2hhbmRsZXIoZXJyb3JfaGFuZGxlciwKKyAJCQkJCQlldmVudHNfcmVwbHlfaGFu ZGxlciwgW10pKQorIAkKK0BAIC05NjAsNyArOTYwLDcgQEAgY2xhc3MgWmVpdGdlaXN0Q2xpZW50 OgorIAkJOnBhcmFtIG1vbml0b3JfcmVtb3ZlZF9oYW5kbGVyOiBBIGNhbGxiYWNrIGZ1bmN0aW9u IHRha2luZworIAkJICAgIG9uZSBpbnRlZ2VyIGFyZ3VtZW50LiAxIG9uIHN1Y2Nlc3MsIDAgb24g ZmFpbHVyZS4KKyAJCSIiIgorLQkJaWYgaXNpbnN0YW5jZShtb25pdG9yLCAoc3RyLHVuaWNvZGUp KToKKysJCWlmIGlzaW5zdGFuY2UobW9uaXRvciwgc3RyKToKKyAJCQlwYXRoID0gZGJ1cy5PYmpl Y3RQYXRoKG1vbml0b3IpCisgCQllbGlmIGlzaW5zdGFuY2UobW9uaXRvciwgTW9uaXRvcik6Cisg CQkJcGF0aCA9IG1vbml0b3IucGF0aAorQEAgLTEwNTQsMTEgKzEwNTQsMTEgQEAgY2xhc3MgWmVp dGdlaXN0Q2xpZW50OgorIAkJIiIiCisgCQkKKyAJCWlmIHVuaXF1ZV9pZCBub3QgaW4gc2VsZi5f ZGF0YV9zb3VyY2VzOgorLQkJCXJhaXNlIFZhbHVlRXJyb3IsICdzZXRfZGF0YV9zb3VyY2VfZW5h YmxlZF9jYWxsYmFjaygpIGNhbGxlZCBiZWZvcmUgJyBcCistCQkJJ3JlZ2lzdGVyX2RhdGFfc291 cmNlKCknCisrCQkJcmFpc2UgVmFsdWVFcnJvcignc2V0X2RhdGFfc291cmNlX2VuYWJsZWRfY2Fs bGJhY2soKSBjYWxsZWQgYmVmb3JlICcgXAorKwkJCSdyZWdpc3Rlcl9kYXRhX3NvdXJjZSgpJykK KyAJCQorIAkJaWYgbm90IGNhbGxhYmxlKGVuYWJsZWRfY2FsbGJhY2spOgorLQkJCXJhaXNlIFR5 cGVFcnJvciwgJ2VuYWJsZWRfY2FsbGJhY2s6IGV4cGVjdGVkIGEgY2FsbGFibGUgbWV0aG9kJwor KwkJCXJhaXNlIFR5cGVFcnJvcignZW5hYmxlZF9jYWxsYmFjazogZXhwZWN0ZWQgYSBjYWxsYWJs ZSBtZXRob2QnKQorIAkJCisgCQlzZWxmLl9kYXRhX3NvdXJjZXNbdW5pcXVlX2lkXVsnY2FsbGJh Y2snXSA9IGVuYWJsZWRfY2FsbGJhY2sKKyAJCitAQCAtMTA5Miw3ICsxMDkyLDcgQEAgY2xhc3Mg WmVpdGdlaXN0Q2xpZW50OgorIAkJRXJyb3IgaGFuZGxlciBmb3IgYXN5bmMgREJ1cyBjYWxscyB0 aGF0IHByaW50cyB0aGUgZXJyb3IKKyAJCXRvIHN5cy5zdGRlcnIKKyAJCSIiIgorLQkJcHJpbnQg Pj4gc3lzLnN0ZGVyciwgIkVycm9yIGZyb20gWmVpdGdlaXN0IGVuZ2luZToiLCBleGNlcHRpb24K KysJCXByaW50KCJFcnJvciBmcm9tIFplaXRnZWlzdCBlbmdpbmU6IiwgZXhjZXB0aW9uLCBmaWxl PXN5cy5zdGRlcnIpCisgCQkKKyAJCWlmIGNhbGxhYmxlKG5vcm1hbF9yZXBseV9oYW5kbGVyKToK KyAJCQlub3JtYWxfcmVwbHlfaGFuZGxlcihub3JtYWxfcmVwbHlfZGF0YSkKK2RpZmYgLS1naXQg cHl0aG9uL2RhdGFtb2RlbC5weSBweXRob24vZGF0YW1vZGVsLnB5CitpbmRleCBkODQwMmJkNC4u MTdhM2IyMTMgMTAwNjQ0CistLS0gcHl0aG9uL2RhdGFtb2RlbC5weQorKysrIHB5dGhvbi9kYXRh bW9kZWwucHkKK0BAIC0yNiw3ICsyNiw3IEBAIGltcG9ydCBvcy5wYXRoCisgaW1wb3J0IGdldHRl eHQKKyBpbXBvcnQgdGltZQorIGltcG9ydCBzeXMKKy1nZXR0ZXh0Lmluc3RhbGwoInplaXRnZWlz dCIsIHVuaWNvZGU9MSkKKytnZXR0ZXh0Lmluc3RhbGwoInplaXRnZWlzdCIsIHN0cj0xKQorIAor IF9fYWxsX18gPSBbCisgCSdJbnRlcnByZXRhdGlvbicsCitAQCAtMTIxLDEyICsxMjEsMTIgQEAg Y2xhc3MgU3ltYm9sKHN0cik6CisgCWRlZiBfZW5zdXJlX2FsbF9jaGlsZHJlbiAoc2VsZik6Cisg CQlpZiBzZWxmLl9hbGxfY2hpbGRyZW4gaXMgbm90IE5vbmUgOiByZXR1cm4KKyAJCXNlbGYuX2Fs bF9jaGlsZHJlbiA9IGRpY3QoKQorLQkJZm9yIGNoaWxkIGluIHNlbGYuX2NoaWxkcmVuLml0ZXJ2 YWx1ZXMoKToKKysJCWZvciBjaGlsZCBpbiBzZWxmLl9jaGlsZHJlbi52YWx1ZXMoKToKKyAJCQlj aGlsZC5fdmlzaXQoc2VsZi5fYWxsX2NoaWxkcmVuKQorIAkKKyAJZGVmIF92aXNpdCAoc2VsZiwg ZGlrdCk6CisgCQlkaWt0W3NlbGYubmFtZV0gPSBzZWxmCistCQlmb3IgY2hpbGQgaW4gc2VsZi5f Y2hpbGRyZW4uaXRlcnZhbHVlcygpOgorKwkJZm9yIGNoaWxkIGluIHNlbGYuX2NoaWxkcmVuLnZh bHVlcygpOgorIAkJCWNoaWxkLl92aXNpdChkaWt0KSAKKyAJCisgCUBzdGF0aWNtZXRob2QKK0BA IC0xNDEsNyArMTQxLDcgQEAgY2xhc3MgU3ltYm9sKHN0cik6CisgCQkJY2hpbGRyZW4gPSBsaXN0 KHN5bWJvbC5nZXRfYWxsX2NoaWxkcmVuKCkpCisgCQkJY2hpbGRyZW4uYXBwZW5kKHVyaSkKKyAJ CQlyZXR1cm4gY2hpbGRyZW4KKy0JCWV4Y2VwdCBLZXlFcnJvciwgZToKKysJCWV4Y2VwdCBLZXlF cnJvciBhcyBlOgorIAkJCXJldHVybiBbdXJpXQorIAkJCisgCitAQCAtMTYwLDcgKzE2MCw3IEBA IGNsYXNzIFN5bWJvbChzdHIpOgorIAkKKyAJZGVmIF9fZGlyX18oc2VsZik6CisgCQlzZWxmLl9l bnN1cmVfYWxsX2NoaWxkcmVuKCkKKy0JCXJldHVybiBzZWxmLl9hbGxfY2hpbGRyZW4ua2V5cygp CisrCQlyZXR1cm4gbGlzdChzZWxmLl9hbGxfY2hpbGRyZW4ua2V5cygpKQorIAorIAlAcHJvcGVy dHkKKyAJZGVmIGRvYyhzZWxmKToKK0BAIC0xNzQsNyArMTc0LDcgQEAgY2xhc3MgU3ltYm9sKHN0 cik6CisgCQkiIiIKKyAJCVJldHVybnMgYSBsaXN0IG9mIGltbWVkaWF0ZSBjaGlsZCBzeW1ib2xz CisgCQkiIiIKKy0JCXJldHVybiBmcm96ZW5zZXQoc2VsZi5fY2hpbGRyZW4uaXRlcnZhbHVlcygp KQorKwkJcmV0dXJuIGZyb3plbnNldChpdGVyKHNlbGYuX2NoaWxkcmVuLnZhbHVlcygpKSkKKyAJ CQorIAlkZWYgaXRlcl9hbGxfY2hpbGRyZW4oc2VsZik6CisgCQkiIiIKK0BAIC0xODIsNyArMTgy LDcgQEAgY2xhc3MgU3ltYm9sKHN0cik6CisgCQlvZiB0aGlzIHN5bWJvbAorIAkJIiIiCisgCQlz ZWxmLl9lbnN1cmVfYWxsX2NoaWxkcmVuKCkKKy0JCXJldHVybiBzZWxmLl9hbGxfY2hpbGRyZW4u aXRlcnZhbHVlcygpCisrCQlyZXR1cm4gaXRlcihzZWxmLl9hbGxfY2hpbGRyZW4udmFsdWVzKCkp CisgCQkKKyAJZGVmIGdldF9hbGxfY2hpbGRyZW4oc2VsZik6CisgCQkiIiIKK0BAIC0xOTQsNyAr MTk0LDcgQEAgY2xhc3MgU3ltYm9sKHN0cik6CisgCQkiIiIKKyAJCVJldHVybnMgYSBsaXN0IG9m IGltbWVkaWF0ZSBwYXJlbnQgc3ltYm9scworIAkJIiIiCistCQlyZXR1cm4gZnJvemVuc2V0KHNl bGYuX3BhcmVudHMuaXRlcnZhbHVlcygpKQorKwkJcmV0dXJuIGZyb3plbnNldChpdGVyKHNlbGYu X3BhcmVudHMudmFsdWVzKCkpKQorIAkKKyAJZGVmIGlzX2NoaWxkX29mIChzZWxmLCBwYXJlbnQp OgorIAkJIiIiCitAQCAtMjAzLDcgKzIwMyw3IEBAIGNsYXNzIFN5bWJvbChzdHIpOgorIAkJaWYg bm90IGlzaW5zdGFuY2UgKHBhcmVudCwgU3ltYm9sKToKKyAJCQl0cnk6CisgCQkJCXBhcmVudCA9 IF9TWU1CT0xTX0JZX1VSSVtwYXJlbnRdCistCQkJZXhjZXB0IEtleUVycm9yLCBlOgorKwkJCWV4 Y2VwdCBLZXlFcnJvciBhcyBlOgorIAkJCQkjIFBhcmVudCBpcyBub3QgYSBrbm93biBVUkkKKyAJ CQkJcmV0dXJuIHNlbGYudXJpID09IHBhcmVudAorIAkJCitAQCAtMjIzLDEyICsyMjMsMTIgQEAg Y2xhc3MgU3ltYm9sKHN0cik6CisgCQlhbmQgYHBhcmVudGAgYXJndW1lbnRzIG11c3QgYmUgYW55 IGNvbWJpbmF0aW9uIG9mCisgCQk6Y2xhc3M6YFN5bWJvbGAgYW5kL29yIHN0cmluZy4KKyAJCSIi IgorLQkJaWYgaXNpbnN0YW5jZSAoY2hpbGQsIGJhc2VzdHJpbmcpOgorKwkJaWYgaXNpbnN0YW5j ZSAoY2hpbGQsIHN0cik6CisgCQkJdHJ5OgorIAkJCQljaGlsZCA9IF9TWU1CT0xTX0JZX1VSSVtj aGlsZF0KKy0JCQlleGNlcHQgS2V5RXJyb3IsIGU6CisrCQkJZXhjZXB0IEtleUVycm9yIGFzIGU6 CisgCQkJCSMgQ2hpbGQgaXMgbm90IGEga25vdyBVUkkKKy0JCQkJaWYgaXNpbnN0YW5jZSAocGFy ZW50LCBiYXNlc3RyaW5nKToKKysJCQkJaWYgaXNpbnN0YW5jZSAocGFyZW50LCBzdHIpOgorIAkJ CQkJcmV0dXJuIGNoaWxkID09IHBhcmVudAorIAkJCQllbGlmIGlzaW5zdGFuY2UgKHBhcmVudCwg U3ltYm9sKToKKyAJCQkJCXJldHVybiBjaGlsZCA9PSBwYXJlbnQudXJpCitAQCAtMzc2LDcgKzM3 Niw3IEBAIGNsYXNzIFN1YmplY3QobGlzdCk6CisgCQlUZXh0LAorIAkJU3RvcmFnZSwKKyAJCUN1 cnJlbnRVcmksCistCQlDdXJyZW50T3JpZ2luKSA9IHJhbmdlKDkpCisrCQlDdXJyZW50T3JpZ2lu KSA9IGxpc3QocmFuZ2UoOSkpCisgCisgCVNVUFBPUlRTX05FR0FUSU9OID0gKFVyaSwgQ3VycmVu dFVyaSwgSW50ZXJwcmV0YXRpb24sIE1hbmlmZXN0YXRpb24sCisgCQlPcmlnaW4sIEN1cnJlbnRP cmlnaW4sIE1pbWV0eXBlKQorQEAgLTQyOSw3ICs0MjksNyBAQCBjbGFzcyBTdWJqZWN0KGxpc3Qp OgorIAkJOnBhcmFtIHN0b3JhZ2U6IFN0cmluZyBpZGVudGlmaWVyIGZvciB0aGUgc3RvcmFnZSBt ZWRpdW0gb2YgdGhlIHN1YmplY3QuIFRoaXMgc2hvdWxkIGJlIHRoZSBVVUlEIG9mIHRoZSB2b2x1 bWUgb3IgdGhlIHN0cmluZyAibmV0IiBmb3IgcmVzb3VyY2VzIHJlcXVpcmluZyBhIG5ldHdvcmsg aW50ZXJmYWNlLCBhbmQgdGhlIHN0cmluZyAiZGVsZXRlZCIgZm9yIHN1YmplY3RzIHRoYXQgYXJl IGRlbGV0ZWQuCisgCQkiIiIKKyAJCXNlbGYgPSBTdWJqZWN0KCkKKy0JCWZvciBrZXksIHZhbHVl IGluIHZhbHVlcy5pdGVyaXRlbXMoKToKKysJCWZvciBrZXksIHZhbHVlIGluIHZhbHVlcy5pdGVt cygpOgorIAkJCWlmIG5vdCBrZXkgaW4gKCJ1cmkiLCAiY3VycmVudF91cmkiLCAiaW50ZXJwcmV0 YXRpb24iLAorIAkJCQkJCSJtYW5pZmVzdGF0aW9uIiwgIm9yaWdpbiIsICJjdXJyZW50X29yaWdp biIsCisgCQkJCQkJIm1pbWV0eXBlIiwgInRleHQiLCAic3RvcmFnZSIpOgorQEAgLTU2OCw3ICs1 NjgsNyBAQCBjbGFzcyBFdmVudChsaXN0KToKKyAJCUludGVycHJldGF0aW9uLAorIAkJTWFuaWZl c3RhdGlvbiwKKyAJCUFjdG9yLAorLQkJT3JpZ2luKSA9IHJhbmdlKDYpCisrCQlPcmlnaW4pID0g bGlzdChyYW5nZSg2KSkKKyAJCisgCVNVUFBPUlRTX05FR0FUSU9OID0gKEludGVycHJldGF0aW9u LCBNYW5pZmVzdGF0aW9uLCBBY3RvciwgT3JpZ2luKQorIAlTVVBQT1JUU19XSUxEQ0FSRFMgPSAo QWN0b3IsIE9yaWdpbikKK0BAIC02MDYsMTEgKzYwNiwxMSBAQCBjbGFzcyBFdmVudChsaXN0KToK KyAJCQkJc2VsZi5hcHBlbmQoIiIpCisgCQkJZWxpZiBsZW4oc3RydWN0KSA9PSAyOgorIAkJCQlz ZWxmLmFwcGVuZChzZWxmLl9jaGVja19ldmVudF9zdHJ1Y3Qoc3RydWN0WzBdKSkKKy0JCQkJc2Vs Zi5hcHBlbmQobWFwKHNlbGYuX3N1YmplY3RfdHlwZSwgc3RydWN0WzFdKSkKKysJCQkJc2VsZi5h cHBlbmQobGlzdChtYXAoc2VsZi5fc3ViamVjdF90eXBlLCBzdHJ1Y3RbMV0pKSkKKyAJCQkJc2Vs Zi5hcHBlbmQoIiIpCisgCQkJZWxpZiBsZW4oc3RydWN0KSA9PSAzOgorIAkJCQlzZWxmLmFwcGVu ZChzZWxmLl9jaGVja19ldmVudF9zdHJ1Y3Qoc3RydWN0WzBdKSkKKy0JCQkJc2VsZi5hcHBlbmQo bWFwKHNlbGYuX3N1YmplY3RfdHlwZSwgc3RydWN0WzFdKSkKKysJCQkJc2VsZi5hcHBlbmQobGlz dChtYXAoc2VsZi5fc3ViamVjdF90eXBlLCBzdHJ1Y3RbMV0pKSkKKyAJCQkJc2VsZi5hcHBlbmQo c3RydWN0WzJdKQorIAkJCWVsc2U6CisgCQkJCXJhaXNlIFZhbHVlRXJyb3IoIkludmFsaWQgc3Ry dWN0IGxlbmd0aCAlcyIgJSBsZW4oc3RydWN0KSkKK0BAIC05MDksNyArOTA5LDcgQEAgY2xhc3Mg RGF0YVNvdXJjZShsaXN0KToKKyAJCVJ1bm5pbmcsCisgCQlMYXN0U2VlbiwJIyBsYXN0IHRpbWUg dGhlIGRhdGEtc291cmNlIGRpZCBzb21ldGhpbmcgKGNvbm5lY3RlZCwKKyAJCQkJCSMgaW5zZXJ0 ZWQgZXZlbnRzLCBkaXNjb25uZWN0ZWQpLgorLQkJRW5hYmxlZCkgPSByYW5nZSg3KQorKwkJRW5h YmxlZCkgPSBsaXN0KHJhbmdlKDcpKQorIAkJCisgCWRlZiBnZXRfdW5pcXVlX2lkKHNlbGYpOgor IAkJcmV0dXJuIHNlbGZbc2VsZi5VbmlxdWVJZF0KK0BAIC05OTksOCArOTk5LDcgQEAgY2xhc3Mg X0VudW1lcmF0aW9uKG9iamVjdCk6CisgCQlSZXR1cm4gYW4gaXRlcmF0b3IgeWllbGRpbmcgKG5h bWUsIHZhbHVlKSB0dXBsZXMgZm9yIGFsbCBpdGVtcyBpbgorIAkJdGhpcyBlbnVtZXJhdGlvbi4K KyAJCSIiIgorLQkJcmV0dXJuIGl0ZXIobWFwKGxhbWJkYSB4OiAoeCwgZ2V0YXR0cihzZWxmLCB4 KSksCistCQkJZmlsdGVyKGxhbWJkYSB4OiBub3QgeC5zdGFydHN3aXRoKCdfXycpLCBzb3J0ZWQo c2VsZi5fX2RpY3RfXykpKSkKKysJCXJldHVybiBpdGVyKFsoeCwgZ2V0YXR0cihzZWxmLCB4KSkg Zm9yIHggaW4gW3ggZm9yIHggaW4gc29ydGVkKHNlbGYuX19kaWN0X18pIGlmIG5vdCB4LnN0YXJ0 c3dpdGgoJ19fJyldXSkKKyAKKyBjbGFzcyBSZWxldmFudFJlc3VsdFR5cGUoX0VudW1lcmF0aW9u KToKKyAJIiIiCitAQCAtMTE3MCw3ICsxMTY5LDcgQEAgX1NZTUJPTFNfQllfVVJJWyJNYW5pZmVz dGF0aW9uIl0gPSBNYW5pZmVzdGF0aW9uCisgIyBMb2FkIHRoZSBvbnRvbG9neSBkZWZpbml0aW9u cworIG9udG9sb2d5X2ZpbGUgPSBvcy5wYXRoLmpvaW4ob3MucGF0aC5kaXJuYW1lKF9fZmlsZV9f KSwgIl9vbnRvbG9neS5weSIpCisgdHJ5OgorLQlleGVjZmlsZShvbnRvbG9neV9maWxlKQorKwll eGVjKGNvbXBpbGUob3BlbihvbnRvbG9neV9maWxlLCAicmIiKS5yZWFkKCksIG9udG9sb2d5X2Zp bGUsICdleGVjJykpCisgZXhjZXB0IElPRXJyb3I6CisgCXJhaXNlIEltcG9ydEVycm9yKCJVbmFi bGUgdG8gbG9hZCBaZWl0Z2Vpc3Qgb250b2xvZ3kuIERpZCB5b3UgcnVuIGBtYWtlYD8iKQorIAor QEAgLTExNzgsMjMgKzExNzcsMjMgQEAgZXhjZXB0IElPRXJyb3I6CisgIyBCb290c3RyYXAgdGhl IHN5bWJvbCByZWxhdGlvbnMuIFdlIHVzZSBhIDItcGFzcyBzdHJhdGVneToKKyAjCisgIyAxKSBN YWtlIHN1cmUgdGhhdCBhbGwgcGFyZW50cyBhbmQgY2hpbGRyZW4gYXJlIHJlZ2lzdGVyZWQgb24g ZWFjaCBzeW1ib2wKKy1mb3Igc3ltYm9sIGluIF9TWU1CT0xTX0JZX1VSSS5pdGVydmFsdWVzKCk6 CisrZm9yIHN5bWJvbCBpbiBfU1lNQk9MU19CWV9VUkkudmFsdWVzKCk6CisgCWZvciBwYXJlbnQg aW4gc3ltYm9sLl9wYXJlbnRzOgorIAkJdHJ5OgorIAkJCV9TWU1CT0xTX0JZX1VSSVtwYXJlbnRd Ll9jaGlsZHJlbltzeW1ib2wudXJpXSA9IE5vbmUKKy0JCWV4Y2VwdCBLZXlFcnJvciwgZToKKy0J CQlwcmludCAiRVJST1IiLCBlLCBwYXJlbnQsIHN5bWJvbC51cmkKKysJCWV4Y2VwdCBLZXlFcnJv ciBhcyBlOgorKwkJCXByaW50KCJFUlJPUiIsIGUsIHBhcmVudCwgc3ltYm9sLnVyaSkKKyAJCQlw YXNzCisgCWZvciBjaGlsZCBpbiBzeW1ib2wuX2NoaWxkcmVuOgorIAkJdHJ5OgorIAkJCV9TWU1C T0xTX0JZX1VSSVtjaGlsZF0uX3BhcmVudHMuYWRkKHN5bWJvbC51cmkpCisgCQlleGNlcHQgS2V5 RXJyb3I6CistCQkJcHJpbnQgIkVSUk9SIiwgZSwgY2hpbGQsIHN5bWJvbC51cmkKKysJCQlwcmlu dCgiRVJST1IiLCBlLCBjaGlsZCwgc3ltYm9sLnVyaSkKKyAJCQlwYXNzCisgCisgIyAyKSBSZXNv bHZlIGFsbCBjaGlsZCBhbmQgcGFyZW50IFVSSXMgdG8gdGhlaXIgYWN0dWFsIFN5bWJvbCBpbnN0 YW5jZXMKKy1mb3Igc3ltYm9sIGluIF9TWU1CT0xTX0JZX1VSSS5pdGVydmFsdWVzKCk6CistCWZv ciBjaGlsZF91cmkgaW4gc3ltYm9sLl9jaGlsZHJlbi5pdGVya2V5cygpOgorK2ZvciBzeW1ib2wg aW4gX1NZTUJPTFNfQllfVVJJLnZhbHVlcygpOgorKwlmb3IgY2hpbGRfdXJpIGluIHN5bWJvbC5f Y2hpbGRyZW4ua2V5cygpOgorIAkJc3ltYm9sLl9jaGlsZHJlbltjaGlsZF91cmldID0gX1NZTUJP TFNfQllfVVJJW2NoaWxkX3VyaV0KKyAJCisgCXBhcmVudHMgPSB7fQorQEAgLTEyMDQsOCArMTIw Myw4IEBAIGZvciBzeW1ib2wgaW4gX1NZTUJPTFNfQllfVVJJLml0ZXJ2YWx1ZXMoKToKKyAKKyAK KyBpZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgorLQlwcmludCAiU3VjY2VzcyIKKysJcHJpbnQo IlN1Y2Nlc3MiKQorIAllbmRfc3ltYm9scyA9IHRpbWUudGltZSgpCistCXByaW50ID4+IHN5cy5z dGRlcnIsICJJbXBvcnQgdGltZTogJXMiICUgKGVuZF9zeW1ib2xzIC0gc3RhcnRfc3ltYm9scykK KysJcHJpbnQoIkltcG9ydCB0aW1lOiAlcyIgJSAoZW5kX3N5bWJvbHMgLSBzdGFydF9zeW1ib2xz KSwgZmlsZT1zeXMuc3RkZXJyKQorIAorICMgdmltOm5vZXhwYW5kdGFiOnRzPTQ6c3c9NAorZGlm ZiAtLWdpdCBweXRob24vbWltZXR5cGVzLnB5IHB5dGhvbi9taW1ldHlwZXMucHkKK2luZGV4IGMw OTlmOGM2Li5jNTk1MTk4OSAxMDA2NDQKKy0tLSBweXRob24vbWltZXR5cGVzLnB5CisrKysgcHl0 aG9uL21pbWV0eXBlcy5weQorQEAgLTIxLDcgKzIxLDcgQEAKKyAKKyBpbXBvcnQgcmUKKyAKKy1m cm9tIGRhdGFtb2RlbCBpbXBvcnQgSW50ZXJwcmV0YXRpb24sIE1hbmlmZXN0YXRpb24KKytmcm9t IC5kYXRhbW9kZWwgaW1wb3J0IEludGVycHJldGF0aW9uLCBNYW5pZmVzdGF0aW9uCisgCisgX19h bGxfXyA9IFsKKyAgICAgImdldF9pbnRlcnByZXRhdGlvbl9mb3JfbWltZXR5cGUiLApkaWZmIC0t Z2l0IGEvc3JjcGtncy96ZWl0Z2Vpc3QvdGVtcGxhdGUgYi9zcmNwa2dzL3plaXRnZWlzdC90ZW1w bGF0ZQppbmRleCBkNTNjOWEzOWNhOC4uOGM0ZmU1OTRhZjIgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3Mv emVpdGdlaXN0L3RlbXBsYXRlCisrKyBiL3NyY3BrZ3MvemVpdGdlaXN0L3RlbXBsYXRlCkBAIC0x LDIyICsxLDIzIEBACiAjIFRlbXBsYXRlIGZpbGUgZm9yICd6ZWl0Z2Vpc3QnCiBwa2duYW1lPXpl aXRnZWlzdAogdmVyc2lvbj0xLjAuMgotcmV2aXNpb249MgorcmV2aXNpb249MwogYnVpbGRfc3R5 bGU9Z251LWNvbmZpZ3VyZQogYnVpbGRfaGVscGVyPSJnaXIiCiBjb25maWd1cmVfYXJncz0iLS1l bmFibGUtZnRzIC0tZW5hYmxlLWRhdGFodWIgJCh2b3B0X2VuYWJsZSBnaXIgaW50cm9zcGVjdGlv bikiCiBweWNvbXBpbGVfbW9kdWxlPSJ6ZWl0Z2Vpc3QiCiBob3N0bWFrZWRlcGVuZHM9ImF1dG9t YWtlIGxpYnRvb2wgcGtnLWNvbmZpZyBnZXR0ZXh0LWRldmVsCi0gaW50bHRvb2wgJCh2b3B0X2lm IHZhbGEgdmFsYSkgcHl0aG9uLXJkZmxpYiIKKyBpbnRsdG9vbCAkKHZvcHRfaWYgdmFsYSB2YWxh KSBweXRob24zLXJkZmxpYiIKIG1ha2VkZXBlbmRzPSJqc29uLWdsaWItZGV2ZWwgZ3RrKzMtZGV2 ZWwgdGVsZXBhdGh5LWdsaWItZGV2ZWwKLSBweXRob24tZ29iamVjdC1kZXZlbCBkYnVzLWRldmVs IHNxbGl0ZS1kZXZlbCB4YXBpYW4tY29yZS1kZXZlbCByYXB0b3IiCi1kZXBlbmRzPSJweXRob24t ZGJ1cyBweXRob24tZ29iamVjdCIKKyBweXRob24zLWdvYmplY3QtZGV2ZWwgZGJ1cy1kZXZlbCBz cWxpdGUtZGV2ZWwgeGFwaWFuLWNvcmUtZGV2ZWwgcmFwdG9yIgorZGVwZW5kcz0icHl0aG9uMy1k YnVzIHB5dGhvbjMtZ29iamVjdCIKIHNob3J0X2Rlc2M9IkxvZ3MgdGhlIHVzZXJz4oCZIGFjdGl2 aXRpZXMgYW5kIGV2ZW50cyIKLW1haW50YWluZXI9Ik9ycGhhbmVkIDxvcnBoYW5Adm9pZGxpbnV4 Lm9yZz4iCittYWludGFpbmVyPSJDYW1lcm9uIE5lbW8gPGNuZW1vQHR1dGFub3RhLmNvbT4iCiBs aWNlbnNlPSJMR1BMLTIuMS1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL2xhdW5jaHBhZC5u ZXQvemVpdGdlaXN0LyIKIGRpc3RmaWxlcz0iaHR0cHM6Ly9sYXVuY2hwYWQubmV0L3plaXRnZWlz dC8ke3ZlcnNpb24lLip9LyR7dmVyc2lvbn0vK2Rvd25sb2FkL3plaXRnZWlzdC0ke3ZlcnNpb259 LnRhci54eiIKIGNoZWNrc3VtPWQwMjNiNTkwNGM3MDc2YjI3MDFkZjkxNWRkMjliNzdlMjU2YTg2 ZDllODBlY2ZiOTJmMzZjOWYyNjM3MWE4Y2UKK3B5Y29tcGlsZV92ZXJzaW9uPSIkcHkzX3ZlciIK IAogIyBQYWNrYWdlIGJ1aWxkIG9wdGlvbnMKIGJ1aWxkX29wdGlvbnM9ImdpciB2YWxhIgo= --===============8540922452255612610==--