From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 10950 invoked from network); 27 May 2022 12:33:05 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 27 May 2022 12:33:05 -0000 Content-Type: multipart/mixed; boundary="===============0997159639872704827==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_freerouting=3A_update_to_1=2E5=2E0=2E?= To: ml@inbox.vuxu.org From: nonchip Reply-to: ml@inbox.vuxu.org Message-ID: Date: Fri, 27 May 2022 14:33:05 +0200 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============0997159639872704827== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IG5vbmNoaXAgYWdhaW5zdCBtYXN0ZXIgb24g dGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL25vbmNoaXAv dm9pZC1wYWNrYWdlcyBmcmVlcm91dGluZwpodHRwczovL2dpdGh1Yi5jb20vdm9pZC1saW51eC92 b2lkLXBhY2thZ2VzL3B1bGwvMzczMDgKCmZyZWVyb3V0aW5nOiB1cGRhdGUgdG8gMS41LjAuCjwh LS0gVW5jb21tZW50IHJlbGV2YW50IHNlY3Rpb25zIGFuZCBkZWxldGUgb3B0aW9ucyB3aGljaCBh cmUgbm90IGFwcGxpY2FibGUgLS0+DQoNCiMjIyMgVGVzdGluZyB0aGUgY2hhbmdlcw0KLSBJIHRl c3RlZCB0aGUgY2hhbmdlcyBpbiB0aGlzIFBSOiAqKllFUyoqDQoNCiMjIyMgTG9jYWwgYnVpbGQg dGVzdGluZw0KLSBJIGJ1aWx0IHRoaXMgUFIgbG9jYWxseSBmb3IgbXkgbmF0aXZlIGFyY2hpdGVj dHVyZSwgYHg4Nl82NC1nbGliY2ANCgoKQSBwYXRjaCBmaWxlIGZyb20gaHR0cHM6Ly9naXRodWIu Y29tL3ZvaWQtbGludXgvdm9pZC1wYWNrYWdlcy9wdWxsLzM3MzA4LnBhdGNoIGlzIGF0dGFjaGVk --===============0997159639872704827== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-freerouting-37308.patch" RnJvbSA1OGRmYjJkZTIyNzEyYTM2ZGVmMzE2MGNjMTg3NWJkN2FhMDVhMjAyIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBLeXJhIFppbW1lciA8bWVAbm9uY2hpcC5kZT4KRGF0ZTogRnJp LCAyNyBNYXkgMjAyMiAxNDozMDo0MSArMDIwMApTdWJqZWN0OiBbUEFUQ0hdIGZyZWVyb3V0aW5n OiB1cGRhdGUgdG8gMS41LjAuCgotLS0KIC4uLjA2YTBmNzJhYmU4NmY3ODgzOTU2YWE1NmZhNDhi OTgwNGVjZi5wYXRjaCB8ICA1NyAtLS0tLS0KIC4uLmUxZmEzNGJjOGVlNDEwMjE0NTMyMzVjYjI5 ZTgwMTNlZWZhNC5wYXRjaCB8IDE5MSAtLS0tLS0tLS0tLS0tLS0tLS0KIC4uLmU0YmE1OGNmMzYw Mzg1NTg0MjFlMzg1MDlkNmFkMTI1ZGEyYi5wYXRjaCB8ICA1OSAtLS0tLS0KIHNyY3BrZ3MvZnJl ZXJvdXRpbmcvdGVtcGxhdGUgICAgICAgICAgICAgICAgICB8ICAxNSArLQogNCBmaWxlcyBjaGFu Z2VkLCAzIGluc2VydGlvbnMoKyksIDMxOSBkZWxldGlvbnMoLSkKIGRlbGV0ZSBtb2RlIDEwMDY0 NCBzcmNwa2dzL2ZyZWVyb3V0aW5nL3BhdGNoZXMvMDAwMS02ZDIwMDZhMGY3MmFiZTg2Zjc4ODM5 NTZhYTU2ZmE0OGI5ODA0ZWNmLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9mcmVl cm91dGluZy9wYXRjaGVzLzAwMDItODEzOWUxZmEzNGJjOGVlNDEwMjE0NTMyMzVjYjI5ZTgwMTNl ZWZhNC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvZnJlZXJvdXRpbmcvcGF0Y2hl cy8wMDAzLWNkNTllNGJhNThjZjM2MDM4NTU4NDIxZTM4NTA5ZDZhZDEyNWRhMmIucGF0Y2gKCmRp ZmYgLS1naXQgYS9zcmNwa2dzL2ZyZWVyb3V0aW5nL3BhdGNoZXMvMDAwMS02ZDIwMDZhMGY3MmFi ZTg2Zjc4ODM5NTZhYTU2ZmE0OGI5ODA0ZWNmLnBhdGNoIGIvc3JjcGtncy9mcmVlcm91dGluZy9w YXRjaGVzLzAwMDEtNmQyMDA2YTBmNzJhYmU4NmY3ODgzOTU2YWE1NmZhNDhiOTgwNGVjZi5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggM2ZhNDAzMTMzMGQ1Li4wMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9mcmVlcm91dGluZy9wYXRjaGVzLzAwMDEtNmQyMDA2YTBmNzJhYmU4 NmY3ODgzOTU2YWE1NmZhNDhiOTgwNGVjZi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU3ICsw LDAgQEAKLUZyb20gNmQyMDA2YTBmNzJhYmU4NmY3ODgzOTU2YWE1NmZhNDhiOTgwNGVjZiBNb24g U2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IEFuZHJhcyBGdWNocyA8YW5kcmFzLmZ1Y2hzQGdt YWlsLmNvbT4KLURhdGU6IFRodSwgMjUgTm92IDIwMjEgMjA6MjE6MTMgKzAxMDAKLVN1YmplY3Q6 IFtQQVRDSF0gUmVtb3ZlIGRlcHJlY2F0ZWQgR3JhZGxlIHNldHRpbmdzCi0KLS0tLQotIGJ1aWxk LmdyYWRsZSB8IDE2ICsrKysrKysrKy0tLS0tLS0KLSAxIGZpbGUgY2hhbmdlZCwgOSBpbnNlcnRp b25zKCspLCA3IGRlbGV0aW9ucygtKQotCi1kaWZmIC0tZ2l0IGEvYnVpbGQuZ3JhZGxlIGIvYnVp bGQuZ3JhZGxlCi1pbmRleCAyOTkxYmNiLi5mYWRmZGE0IDEwMDY0NAotLS0tIGEvYnVpbGQuZ3Jh ZGxlCi0rKysgYi9idWlsZC5ncmFkbGUKLUBAIC0xLDcgKzEsNyBAQAotIGJ1aWxkc2NyaXB0IHsK LSAgICAgcmVwb3NpdG9yaWVzIHsKLSAgICAgICAgIG1hdmVuQ2VudHJhbCgpCi0tICAgICAgICBq Y2VudGVyKCkKLSsgICAgICAgIGdvb2dsZSgpCi0gICAgIH0KLSAKLSAgICAgZGVwZW5kZW5jaWVz IHsKLUBAIC00OSwxNyArNDksMTcgQEAgaWYgKEphdmFWZXJzaW9uLmN1cnJlbnQoKS5pc0phdmE4 Q29tcGF0aWJsZSgpKSB7Ci0gCi0gcmVwb3NpdG9yaWVzIHsKLSAgICAgbWF2ZW5DZW50cmFsKCkK LS0gICAgamNlbnRlcigpCi0rICAgIGdvb2dsZSgpCi0gfQotIAotIGRlcGVuZGVuY2llcyB7Ci0t ICAgIHRlc3RDb21waWxlIGdyb3VwOiAnanVuaXQnLCBuYW1lOiAnanVuaXQnLCB2ZXJzaW9uOiAn NC4xMCcKLSsgICAgdGVzdEltcGxlbWVudGF0aW9uIGdyb3VwOiAnanVuaXQnLCBuYW1lOiAnanVu aXQnLCB2ZXJzaW9uOiAnNC4xMCcKLSAKLSAgICAgLy8gaHR0cHM6Ly9tdm5yZXBvc2l0b3J5LmNv bS9hcnRpZmFjdC9qYXZheC5oZWxwL2phdmFoZWxwCi0tICAgIGNvbXBpbGUgZ3JvdXA6ICdqYXZh eC5oZWxwJywgbmFtZTogJ2phdmFoZWxwJywgdmVyc2lvbjogJzIuMC4wNScKLSsgICAgaW1wbGVt ZW50YXRpb24gZ3JvdXA6ICdqYXZheC5oZWxwJywgbmFtZTogJ2phdmFoZWxwJywgdmVyc2lvbjog JzIuMC4wNScKLSAKLS0gICAgY29tcGlsZSBncm91cDogJ29yZy5hcGFjaGUubG9nZ2luZy5sb2c0 aicsIG5hbWU6ICdsb2c0ai1hcGknLCB2ZXJzaW9uOiAnMi4xMy4wJwotLSAgICBjb21waWxlIGdy b3VwOiAnb3JnLmFwYWNoZS5sb2dnaW5nLmxvZzRqJywgbmFtZTogJ2xvZzRqLWNvcmUnLCB2ZXJz aW9uOiAnMi4xMy4wJwotKyAgICBpbXBsZW1lbnRhdGlvbiBncm91cDogJ29yZy5hcGFjaGUubG9n Z2luZy5sb2c0aicsIG5hbWU6ICdsb2c0ai1hcGknLCB2ZXJzaW9uOiAnMi4xMy4wJwotKyAgICBp bXBsZW1lbnRhdGlvbiBncm91cDogJ29yZy5hcGFjaGUubG9nZ2luZy5sb2c0aicsIG5hbWU6ICds b2c0ai1jb3JlJywgdmVyc2lvbjogJzIuMTMuMCcKLSB9Ci0gCi0gCi1AQCAtODgsOCArODgsMTAg QEAgamFyIHsKLSAKLSB0YXNrIGV4ZWN1dGFibGVKYXIodHlwZTogSmFyKSB7Ci0gICAgIGNsYXNz aWZpZXIgPSAnZXhlY3V0YWJsZScKLSsJCi0rCWR1cGxpY2F0ZXNTdHJhdGVneShEdXBsaWNhdGVz U3RyYXRlZ3kuRVhDTFVERSkKLSAKLS0gICAgZnJvbSBjb25maWd1cmF0aW9ucy5ydW50aW1lLmFz RmlsZVRyZWUuZmlsZXMuY29sbGVjdCB7IHppcFRyZWUoaXQpIH0KLSsgICAgZnJvbSBjb25maWd1 cmF0aW9ucy5ydW50aW1lQ2xhc3NwYXRoLmNvbGxlY3QgeyB6aXBUcmVlKGl0KSB9Ci0gCi0gICAg IGZyb20gZmlsZXMoc291cmNlU2V0cy5tYWluLm91dHB1dCkKLSAKZGlmZiAtLWdpdCBhL3NyY3Br Z3MvZnJlZXJvdXRpbmcvcGF0Y2hlcy8wMDAyLTgxMzllMWZhMzRiYzhlZTQxMDIxNDUzMjM1Y2Iy OWU4MDEzZWVmYTQucGF0Y2ggYi9zcmNwa2dzL2ZyZWVyb3V0aW5nL3BhdGNoZXMvMDAwMi04MTM5 ZTFmYTM0YmM4ZWU0MTAyMTQ1MzIzNWNiMjllODAxM2VlZmE0LnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCBkNjgxYWY0MDNkYTkuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L2ZyZWVyb3V0aW5nL3BhdGNoZXMvMDAwMi04MTM5ZTFmYTM0YmM4ZWU0MTAyMTQ1MzIzNWNiMjll ODAxM2VlZmE0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTkxICswLDAgQEAKLUZyb20gODEz OWUxZmEzNGJjOGVlNDEwMjE0NTMyMzVjYjI5ZTgwMTNlZWZhNCBNb24gU2VwIDE3IDAwOjAwOjAw IDIwMDEKLUZyb206IEFuZHJhcyBGdWNocyA8YW5kcmFzLmZ1Y2hzQGdtYWlsLmNvbT4KLURhdGU6 IFRodSwgMjUgTm92IDIwMjEgMjM6NDM6MjIgKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gUmVtb3Zl IHRoZSBqYXZheC5oZWxwIGRlcGVuZGVuY3kKLQotLS0tCi0gLi4uL21paG9zb2Z0L2ZyZWVyb3V0 aW5nL2d1aS9Cb2FyZEZyYW1lLmphdmEgIHwgIDE2ICsrLQotIC4uLi9mcmVlcm91dGluZy9ndWkv Qm9hcmRNZW51QmFyLmphdmEgICAgICAgICB8ICAxMiArLQotIC4uLi9mcmVlcm91dGluZy9ndWkv Qm9hcmRNZW51SGVscC5qYXZhICAgICAgICB8IDExNiAtLS0tLS0tLS0tLS0tLS0tLS0KLSAzIGZp bGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKSwgMTM1IGRlbGV0aW9ucygtKQotIGRlbGV0ZSBt b2RlIDEwMDY0NCBzcmMvbWFpbi9qYXZhL2V1L21paG9zb2Z0L2ZyZWVyb3V0aW5nL2d1aS9Cb2Fy ZE1lbnVIZWxwLmphdmEKLQotZGlmZiAtLWdpdCBhL3NyYy9tYWluL2phdmEvZXUvbWlob3NvZnQv ZnJlZXJvdXRpbmcvZ3VpL0JvYXJkRnJhbWUuamF2YSBiL3NyYy9tYWluL2phdmEvZXUvbWlob3Nv ZnQvZnJlZXJvdXRpbmcvZ3VpL0JvYXJkRnJhbWUuamF2YQotaW5kZXggZDcyODA1My4uZGJlMjVj NSAxMDA2NDQKLS0tLSBhL3NyYy9tYWluL2phdmEvZXUvbWlob3NvZnQvZnJlZXJvdXRpbmcvZ3Vp L0JvYXJkRnJhbWUuamF2YQotKysrIGIvc3JjL21haW4vamF2YS9ldS9taWhvc29mdC9mcmVlcm91 dGluZy9ndWkvQm9hcmRGcmFtZS5qYXZhCi1AQCAtMzg3LDEyICszODcsMTIgQEAgcHVibGljIHZv aWQgc2V0X2NvbnRleHRfc2Vuc2l0aXZlX2hlbHAoamF2YS5hd3QuQ29tcG9uZW50IHBfY29tcG9u ZW50LCBTdHJpbmcgcF8KLSAgICAgICAgICAgICAgICAgY3Vycl9jb21wb25lbnQgPSBwX2NvbXBv bmVudDsKLSAgICAgICAgICAgICB9Ci0gICAgICAgICAgICAgU3RyaW5nIGhlbHBfaWQgPSAiaHRt bF9maWxlcy4iICsgcF9oZWxwX2lkOwotLSAgICAgICAgICAgIGphdmF4LmhlbHAuQ1NILnNldEhl bHBJRFN0cmluZyhjdXJyX2NvbXBvbmVudCwgaGVscF9pZCk7Ci0tICAgICAgICAgICAgaWYgKGhl bHBfYnJva2VyPT1udWxsKSB7Ci0tICAgICAgICAgICAgICAgIEZSTG9nZ2VyLndhcm4oImhlbHBf YnJva2VyIGlzIG51bGwiKTsKLS0gICAgICAgICAgICAgICAgcmV0dXJuOwotLSAgICAgICAgICAg IH0KLS0gICAgICAgICAgICBoZWxwX2Jyb2tlci5lbmFibGVIZWxwS2V5KGN1cnJfY29tcG9uZW50 LCBoZWxwX2lkLCBoZWxwX3NldCk7Ci0rLy8gICAgICAgICAgICBqYXZheC5oZWxwLkNTSC5zZXRI ZWxwSURTdHJpbmcoY3Vycl9jb21wb25lbnQsIGhlbHBfaWQpOwotKy8vICAgICAgICAgICAgaWYg KGhlbHBfYnJva2VyPT1udWxsKSB7Ci0rLy8gICAgICAgICAgICAgICAgRlJMb2dnZXIud2Fybigi aGVscF9icm9rZXIgaXMgbnVsbCIpOwotKy8vICAgICAgICAgICAgICAgIHJldHVybjsKLSsvLyAg ICAgICAgICAgIH0KLSsvLyAgICAgICAgICAgIGhlbHBfYnJva2VyLmVuYWJsZUhlbHBLZXkoY3Vy cl9jb21wb25lbnQsIGhlbHBfaWQsIGhlbHBfc2V0KTsKLSAgICAgICAgIH0KLSAgICAgfQotICAg ICAKLUBAIC02OTksOSArNjk5LDcgQEAgcHVibGljIHZvaWQgcmVwYWludF9hbGwoKQotICAgICBm aW5hbCBib29sZWFuIGlzX3dlYl9zdGFydDsKLSAgICAgCi0gICAgIHByaXZhdGUgZmluYWwgYm9v bGVhbiBoZWxwX3N5c3RlbV91c2VkOwotLSAgICBzdGF0aWMgamF2YXguaGVscC5IZWxwU2V0IGhl bHBfc2V0ID0gbnVsbDsKLS0gICAgc3RhdGljIGphdmF4LmhlbHAuSGVscEJyb2tlciBoZWxwX2Jy b2tlciA9IG51bGw7Ci0tICAgIAotKwotICAgICBwcml2YXRlIGZpbmFsIGJvb2xlYW4gY29uZmly bV9jYW5jZWw7Ci0gICAgIAotICAgICBwcml2YXRlIGZpbmFsIGphdmEudXRpbC5SZXNvdXJjZUJ1 bmRsZSByZXNvdXJjZXM7Ci1kaWZmIC0tZ2l0IGEvc3JjL21haW4vamF2YS9ldS9taWhvc29mdC9m cmVlcm91dGluZy9ndWkvQm9hcmRNZW51QmFyLmphdmEgYi9zcmMvbWFpbi9qYXZhL2V1L21paG9z b2Z0L2ZyZWVyb3V0aW5nL2d1aS9Cb2FyZE1lbnVCYXIuamF2YQotaW5kZXggZGI5ZGQwNi4uMjcy ZGZiNiAxMDA2NDQKLS0tLSBhL3NyYy9tYWluL2phdmEvZXUvbWlob3NvZnQvZnJlZXJvdXRpbmcv Z3VpL0JvYXJkTWVudUJhci5qYXZhCi0rKysgYi9zcmMvbWFpbi9qYXZhL2V1L21paG9zb2Z0L2Zy ZWVyb3V0aW5nL2d1aS9Cb2FyZE1lbnVCYXIuamF2YQotQEAgLTQ4LDE2ICs0OCw4IEBAIHN0YXRp YyBCb2FyZE1lbnVCYXIgZ2V0X2luc3RhbmNlKEJvYXJkRnJhbWUgcF9ib2FyZF9mcmFtZSwKLSAg ICAgICAgIG1lbnViYXIuYWRkKGluZm9fbWVudSk7Ci0gICAgICAgICBqYXZheC5zd2luZy5KTWVu dSBvdGhlcl9tZW51ID0gQm9hcmRNZW51T3RoZXIuZ2V0X2luc3RhbmNlKHBfYm9hcmRfZnJhbWUp OwotICAgICAgICAgbWVudWJhci5hZGQob3RoZXJfbWVudSk7Ci0tICAgICAgICBpZiAocF9oZWxw X3N5c3RlbV91c2VkKQotLSAgICAgICAgewotLSAgICAgICAgICAgIGphdmF4LnN3aW5nLkpNZW51 IGhlbHBfbWVudSA9IG5ldyBCb2FyZE1lbnVIZWxwKHBfYm9hcmRfZnJhbWUpOwotLSAgICAgICAg ICAgIG1lbnViYXIuYWRkKGhlbHBfbWVudSk7Ci0tICAgICAgICB9Ci0tICAgICAgICBlbHNlCi0t ICAgICAgICB7Ci0tICAgICAgICAgICAgamF2YXguc3dpbmcuSk1lbnUgaGVscF9tZW51ID0gbmV3 IEJvYXJkTWVudUhlbHBSZWR1Y2VkKHBfYm9hcmRfZnJhbWUpOwotLSAgICAgICAgICAgIG1lbnVi YXIuYWRkKGhlbHBfbWVudSk7Ci0tICAgICAgICB9Ci0rICAgICAgICBqYXZheC5zd2luZy5KTWVu dSBoZWxwX21lbnUgPSBuZXcgQm9hcmRNZW51SGVscFJlZHVjZWQocF9ib2FyZF9mcmFtZSk7Ci0r ICAgICAgICBtZW51YmFyLmFkZChoZWxwX21lbnUpOwotICAgICAgICAgcmV0dXJuIG1lbnViYXI7 Ci0gICAgIH0KLSAgICAgCi1kaWZmIC0tZ2l0IGEvc3JjL21haW4vamF2YS9ldS9taWhvc29mdC9m cmVlcm91dGluZy9ndWkvQm9hcmRNZW51SGVscC5qYXZhIGIvc3JjL21haW4vamF2YS9ldS9taWhv c29mdC9mcmVlcm91dGluZy9ndWkvQm9hcmRNZW51SGVscC5qYXZhCi1kZWxldGVkIGZpbGUgbW9k ZSAxMDA2NDQKLWluZGV4IDg1ZDg5YTcuLjAwMDAwMDAKLS0tLSBhL3NyYy9tYWluL2phdmEvZXUv bWlob3NvZnQvZnJlZXJvdXRpbmcvZ3VpL0JvYXJkTWVudUhlbHAuamF2YQotKysrIC9kZXYvbnVs bAotQEAgLTEsMTE2ICswLDAgQEAKLS0vKgotLSAqICAgQ29weXJpZ2h0IChDKSAyMDE0ICBBbGZv bnMgV2lydHoKLS0gKiAgIHdlYnNpdGUgd3d3LmZyZWVyb3V0aW5nLm5ldAotLSAqCi0tICogICBD b3B5cmlnaHQgKEMpIDIwMTcgTWljaGFlbCBIb2ZmZXIgPGluZm9AbWljaGFlbGhvZmZlci5kZT4K LS0gKiAgIFdlYnNpdGUgd3d3LmZyZWVyb3V0aW5nLm1paG9zb2Z0LmV1Ci0tKgotLSAqICAgVGhp cyBwcm9ncmFtIGlzIGZyZWUgc29mdHdhcmU6IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v ciBtb2RpZnkKLS0gKiAgIGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVi bGljIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5Ci0tICogICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBlaXRoZXIgdmVyc2lvbiAzIG9mIHRoZSBMaWNlbnNlLCBvcgotLSAqICAgKGF0IHlv dXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLS0gKgotLSAqICAgVGhpcyBwcm9ncmFtIGlz IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0tICogICBi dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50 eSBvZgotLSAqICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ VVJQT1NFLiAgU2VlIHRoZQotLSAqICAgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXQgPGh0 dHA6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+IAotLSAqICAgZm9yIG1vcmUgZGV0YWlscy4KLS0g KgotLSAqIEJvYXJkTWVudUhlbHAuamF2YQotLSAqCi0tICogQ3JlYXRlZCBvbiAxOS4gT2t0b2Jl ciAyMDA1LCAwODoxNQotLSAqCi0tICovCi0tCi0tcGFja2FnZSBldS5taWhvc29mdC5mcmVlcm91 dGluZy5ndWk7Ci0tCi0taW1wb3J0IGV1Lm1paG9zb2Z0LmZyZWVyb3V0aW5nLmxvZ2dlci5GUkxv Z2dlcjsKLS0KLS1pbXBvcnQgamF2YXguaGVscC5DU0g7Ci0taW1wb3J0IGphdmF4LmhlbHAuSGVs cFNldDsKLS1pbXBvcnQgamF2YXguaGVscC5IZWxwU2V0RXhjZXB0aW9uOwotLWltcG9ydCBqYXZh Lm5ldC5VUkw7Ci0tCi0tLyoqCi0tICoKLS0gKiBAYXV0aG9yIEFsZm9ucyBXaXJ0egotLSAqLwot LXB1YmxpYyBjbGFzcyBCb2FyZE1lbnVIZWxwIGV4dGVuZHMgQm9hcmRNZW51SGVscFJlZHVjZWQK LS17Ci0tICAgIC8qKgotLSAgICAgKiBDcmVhdGVzIGEgbmV3IGluc3RhbmNlIG9mIEJvYXJkTWVu dUhlbHAKLS0gICAgICogU2VwYXJhdGVkIGZyb20gQm9hcmRNZW51SGVscFJlZHVjZWQgdG8gYXZv aWQgQ2xhc3NOb3RGb3VuZCBleGNlcHRpb24gd2hlbiB0aGUgbGlicmFyeQotLSAgICAgKiBqaC5q YXIgaXMgbm90IGZvdW5kLCB3aGljaCBpcyBvbmx5IHVzZWQgaW4gdGhpcyBleHRlbmRlZCBjbGFz cy4KLS0gICAgICovCi0tICAgIHB1YmxpYyBCb2FyZE1lbnVIZWxwKEJvYXJkRnJhbWUgcF9ib2Fy ZF9mcmFtZSkKLS0gICAgewotLSAgICAgICAgc3VwZXIocF9ib2FyZF9mcmFtZSk7Ci0tICAgICAg ICB0aGlzLmluaXRpYWxpemVfaGVscChwX2JvYXJkX2ZyYW1lLmdldF9sb2NhbGUoKSk7Ci0tICAg ICAgICBqYXZheC5zd2luZy5KTWVudUl0ZW0gZGlyZWN0X2hlbHBfd2luZG93ID0gbmV3IGphdmF4 LnN3aW5nLkpNZW51SXRlbSgpOwotLSAgICAgICAgZGlyZWN0X2hlbHBfd2luZG93LnNldFRleHQo dGhpcy5yZXNvdXJjZXMuZ2V0U3RyaW5nKCJkaXJlY3RfaGVscCIpKTsKLS0gICAgICAgIGlmIChk aXJlY3RfaGVscCAhPSBudWxsKQotLSAgICAgICAgewotLSAgICAgICAgICAgIGRpcmVjdF9oZWxw X3dpbmRvdy5hZGRBY3Rpb25MaXN0ZW5lcihkaXJlY3RfaGVscCk7Ci0tICAgICAgICB9Ci0tICAg ICAgICB0aGlzLmFkZChkaXJlY3RfaGVscF93aW5kb3csIDApOwotLSAgICAgICAgamF2YXguc3dp bmcuSk1lbnVJdGVtIGNvbnRlbnRzX3dpbmRvdyA9IG5ldyBqYXZheC5zd2luZy5KTWVudUl0ZW0o KTsKLS0gICAgICAgIGNvbnRlbnRzX3dpbmRvdy5zZXRUZXh0KHRoaXMucmVzb3VyY2VzLmdldFN0 cmluZygiY29udGVudHMiKSk7Ci0tICAgICAgICBpZiAoY29udGVudHNfaGVscCAhPSBudWxsKQot LSAgICAgICAgewotLSAgICAgICAgICAgIGNvbnRlbnRzX3dpbmRvdy5hZGRBY3Rpb25MaXN0ZW5l cihjb250ZW50c19oZWxwKTsKLS0gICAgICAgIH0KLS0gICAgICAgIHRoaXMuYWRkKGNvbnRlbnRz X3dpbmRvdywgMCk7Ci0tICAgIH0KLS0gICAgCi0tICAgIHByaXZhdGUgdm9pZCBpbml0aWFsaXpl X2hlbHAoamF2YS51dGlsLkxvY2FsZSBwX2xvY2FsZSkKLS0gICAgewotLSAgICAgICAgLy8gdHJ5 IHRvIGZpbmQgdGhlIGhlbHBzZXQgYW5kIGNyZWF0ZSBhIEhlbHBCcm9rZXIgb2JqZWN0Ci0tICAg ICAgICBpZiAoQm9hcmRGcmFtZS5oZWxwX2Jyb2tlciA9PSBudWxsKQotLSAgICAgICAgewotLSAg ICAgICAgICAgIFN0cmluZyBsYW5ndWFnZSA9IHBfbG9jYWxlLmdldExhbmd1YWdlKCk7Ci0tICAg ICAgICAgICAgU3RyaW5nIGhlbHBzZXRfbmFtZTsKLS0gICAgICAgICAgICBpZiAobGFuZ3VhZ2Uu ZXF1YWxzSWdub3JlQ2FzZSgiZGUiKSkKLS0gICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAg IGhlbHBzZXRfbmFtZSA9ICIvZXUvbWlob3NvZnQvZnJlZXJvdXRpbmcvaGVscHNldC9kZS9IZWxw LmhzIjsKLS0gICAgICAgICAgICB9Ci0tICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgIHsK LS0gICAgICAgICAgICAgICAgaGVscHNldF9uYW1lID0gIi9ldS9taWhvc29mdC9mcmVlcm91dGlu Zy9oZWxwc2V0L2VuL0hlbHAuaHMiOwotLSAgICAgICAgICAgIH0KLS0gICAgICAgICAgICB0cnkK LS0gICAgICAgICAgICB7Ci0tICAgICAgICAgICAgICAgIC8vIG9yaWdpbmFsIGF1dGhvciB0cmll cyB0byBnZXQgbGFuZ3VhZ2Ugc3BlY2lmaWMgdXJsCi0tICAgICAgICAgICAgICAgIC8vIHZpYSBI ZWxwU2V0IHV0aWxpdHkgbWV0aG9kcyB3aGljaCBkb2VzIG5vdCB3b3JrIHRoYXQgd2VsbAotLSAg ICAgICAgICAgICAgICAvLyBhbmQgZG9lc24ndCByZWFsbHkgbWFrZSBzZW5zZSBpZiB0aGUgbGFu Z3VhZ2UgaXMgc3BlY2lmaWVkCi0tICAgICAgICAgICAgICAgIC8vIG1hbnVhbGx5Ci0tICAgICAg ICAgICAgICAgIC8vIFRPRE8gZmluZCBvdXQgd2h5IHByZXZpb3VzIGFwcHJvYWNoIGRvZXMgbm90 IHdvcmsgcmVsaWFibHkKLS0gICAgICAgICAgICAgICAgVVJMIGhzVVJMID0gZ2V0Q2xhc3MoKS5n ZXRSZXNvdXJjZShoZWxwc2V0X25hbWUpOwotLSAgICAgICAgICAgICAgICBpZiAoaHNVUkwgPT0g bnVsbCkKLS0gICAgICAgICAgICAgICAgewotLSAgICAgICAgICAgICAgICAgICAgRlJMb2dnZXIu d2FybigiSGVscFNldCAiICsgaGVscHNldF9uYW1lICsgIiBub3QgZm91bmQuIik7Ci0tICAgICAg ICAgICAgICAgIH0KLS0gICAgICAgICAgICAgICAgZWxzZQotLSAgICAgICAgICAgICAgICB7Ci0t ICAgICAgICAgICAgICAgICAgICBCb2FyZEZyYW1lLmhlbHBfc2V0ID0gbmV3IEhlbHBTZXQobnVs bCwgaHNVUkwpOwotLSAgICAgICAgICAgICAgICB9Ci0tICAgICAgICAgICAgfQotLSAgICAgICAg ICAgIGNhdGNoIChIZWxwU2V0RXhjZXB0aW9uIGVlKQotLSAgICAgICAgICAgIHsKLS0gICAgICAg ICAgICAgICAgRlJMb2dnZXIuZXJyb3IoIkhlbHBTZXQgIiArIGhlbHBzZXRfbmFtZSArICIgY291 bGQgbm90IGJlIG9wZW5lZC4iLCBlZSk7Ci0tICAgICAgICAgICAgfQotLSAgICAgICAgICAgIGlm IChCb2FyZEZyYW1lLmhlbHBfc2V0ICE9IG51bGwpCi0tICAgICAgICAgICAgewotLSAgICAgICAg ICAgICAgICBCb2FyZEZyYW1lLmhlbHBfYnJva2VyID0gQm9hcmRGcmFtZS5oZWxwX3NldC5jcmVh dGVIZWxwQnJva2VyKCk7Ci0tICAgICAgICAgICAgfQotLSAgICAgICAgICAgIGlmIChCb2FyZEZy YW1lLmhlbHBfYnJva2VyICE9IG51bGwpCi0tICAgICAgICAgICAgewotLSAgICAgICAgICAgICAg ICAvLyBDU0guRGlzcGxheUhlbHBGcm9tU291cmNlIGlzIGEgY29udmVuaWVuY2UgY2xhc3MgdG8g ZGlzcGxheSB0aGUgaGVscHNldAotLSAgICAgICAgICAgICAgICBjb250ZW50c19oZWxwID0gbmV3 IENTSC5EaXNwbGF5SGVscEZyb21Tb3VyY2UoQm9hcmRGcmFtZS5oZWxwX2Jyb2tlcik7Ci0tICAg ICAgICAgICAgICAgIGRpcmVjdF9oZWxwID0gbmV3IENTSC5EaXNwbGF5SGVscEFmdGVyVHJhY2tp bmcoQm9hcmRGcmFtZS5oZWxwX2Jyb2tlcik7Ci0tICAgICAgICAgICAgfQotLSAgICAgICAgfQot LSAgICB9Ci0tICAgIAotLSAgICBwcml2YXRlIHN0YXRpYyBDU0guRGlzcGxheUhlbHBGcm9tU291 cmNlIGNvbnRlbnRzX2hlbHAgPSBudWxsOwotLSAgICBwcml2YXRlIHN0YXRpYyBDU0guRGlzcGxh eUhlbHBBZnRlclRyYWNraW5nIGRpcmVjdF9oZWxwID0gbnVsbDsKLS19CmRpZmYgLS1naXQgYS9z cmNwa2dzL2ZyZWVyb3V0aW5nL3BhdGNoZXMvMDAwMy1jZDU5ZTRiYTU4Y2YzNjAzODU1ODQyMWUz ODUwOWQ2YWQxMjVkYTJiLnBhdGNoIGIvc3JjcGtncy9mcmVlcm91dGluZy9wYXRjaGVzLzAwMDMt Y2Q1OWU0YmE1OGNmMzYwMzg1NTg0MjFlMzg1MDlkNmFkMTI1ZGEyYi5wYXRjaApkZWxldGVkIGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMGU0MTAzMTk0N2UzLi4wMDAwMDAwMDAwMDAKLS0tIGEvc3Jj cGtncy9mcmVlcm91dGluZy9wYXRjaGVzLzAwMDMtY2Q1OWU0YmE1OGNmMzYwMzg1NTg0MjFlMzg1 MDlkNmFkMTI1ZGEyYi5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDU5ICswLDAgQEAKLUZyb20g Y2Q1OWU0YmE1OGNmMzYwMzg1NTg0MjFlMzg1MDlkNmFkMTI1ZGEyYiBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKLUZyb206IEFuZHJhcyBGdWNocyA8YW5kcmFzLmZ1Y2hzQGdtYWlsLmNvbT4KLURh dGU6IFRodSwgMjUgTm92IDIwMjEgMjM6NDQ6MDggKzAxMDAKLVN1YmplY3Q6IFtQQVRDSF0gVXBn cmFkZSBHcmFkbGUgdG8gdjcuMwotCi0tLS0KLSBidWlsZC5ncmFkbGUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgIDQgKystLQotIGdyYWRsZS93cmFwcGVyL2dyYWRsZS13cmFwcGVyLnBy b3BlcnRpZXMgfCAgMiArLQotIHNyYy9tYWluL2phdmEvbW9kdWxlLWluZm8uamF2YSAgICAgICAg ICAgfCAxMCArKysrKy0tLS0tCi0gMyBmaWxlcyBjaGFuZ2VkLCA4IGluc2VydGlvbnMoKyksIDgg ZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9idWlsZC5ncmFkbGUgYi9idWlsZC5ncmFkbGUK LWluZGV4IGZhZGZkYTQuLjlkYWJhMDkgMTAwNjQ0Ci0tLS0gYS9idWlsZC5ncmFkbGUKLSsrKyBi L2J1aWxkLmdyYWRsZQotQEAgLTI0LDcgKzI0LDcgQEAgcGx1Z2lucyB7Ci0gZXh0Lm1haW5DbGFz c05hbWUgPSAnZXUubWlob3NvZnQuZnJlZXJvdXRpbmcuZ3VpLk1haW5BcHBsaWNhdGlvbicKLSAK LSB3cmFwcGVyIHsKLS0gICAgZ3JhZGxlVmVyc2lvbiA9ICc2LjInCi0rICAgIGdyYWRsZVZlcnNp b24gPSAnNy4zJwotIH0KLSAKLSBzb3VyY2VDb21wYXRpYmlsaXR5ID0gJzExJwotQEAgLTE2MCw3 ICsxNjAsNyBAQCBkaXN0LmRlcGVuZHNPbis9ImFzc2VtYmxlIgotIHRhc2sgcnVuKHR5cGU6IEph dmFFeGVjKSB7Ci0gICAgIGNsYXNzcGF0aCA9IHNvdXJjZVNldHMubWFpbi5ydW50aW1lQ2xhc3Nw YXRoCi0gCi0tICAgIG1haW4gPSBtYWluQ2xhc3NOYW1lCi0rICAgIG1haW5DbGFzcyA9IG1haW5D bGFzc05hbWUKLSAKLSAgICAgLy8gYXJndW1lbnRzIHRvIHBhc3MgdG8gdGhlIGFwcGxpY2F0aW9u Ci0gICAgIC8vICAgIGFyZ3MgJ2FwcEFyZzEnCi1kaWZmIC0tZ2l0IGEvZ3JhZGxlL3dyYXBwZXIv Z3JhZGxlLXdyYXBwZXIucHJvcGVydGllcyBiL2dyYWRsZS93cmFwcGVyL2dyYWRsZS13cmFwcGVy LnByb3BlcnRpZXMKLWluZGV4IGI3YzhjNWQuLmU3NTAxMDIgMTAwNjQ0Ci0tLS0gYS9ncmFkbGUv d3JhcHBlci9ncmFkbGUtd3JhcHBlci5wcm9wZXJ0aWVzCi0rKysgYi9ncmFkbGUvd3JhcHBlci9n cmFkbGUtd3JhcHBlci5wcm9wZXJ0aWVzCi1AQCAtMSw1ICsxLDUgQEAKLSBkaXN0cmlidXRpb25C YXNlPUdSQURMRV9VU0VSX0hPTUUKLSBkaXN0cmlidXRpb25QYXRoPXdyYXBwZXIvZGlzdHMKLS1k aXN0cmlidXRpb25Vcmw9aHR0cHNcOi8vc2VydmljZXMuZ3JhZGxlLm9yZy9kaXN0cmlidXRpb25z L2dyYWRsZS02LjItYmluLnppcAotK2Rpc3RyaWJ1dGlvblVybD1odHRwc1w6Ly9zZXJ2aWNlcy5n cmFkbGUub3JnL2Rpc3RyaWJ1dGlvbnMvZ3JhZGxlLTcuMy1iaW4uemlwCi0gemlwU3RvcmVCYXNl PUdSQURMRV9VU0VSX0hPTUUKLSB6aXBTdG9yZVBhdGg9d3JhcHBlci9kaXN0cwotZGlmZiAtLWdp dCBhL3NyYy9tYWluL2phdmEvbW9kdWxlLWluZm8uamF2YSBiL3NyYy9tYWluL2phdmEvbW9kdWxl LWluZm8uamF2YQotaW5kZXggZmVkZTlkZi4uZDE2NTgxNyAxMDA2NDQKLS0tLSBhL3NyYy9tYWlu L2phdmEvbW9kdWxlLWluZm8uamF2YQotKysrIGIvc3JjL21haW4vamF2YS9tb2R1bGUtaW5mby5q YXZhCi1AQCAtMSw1ICsxLDUgQEAKLS0vL21vZHVsZSBldS5taWhvc29mdC5mcmVlcm91dGluZyB7 Ci0tLy8gICByZXF1aXJlcyBqYXZhLmRlc2t0b3A7Ci0tLy8gICByZXF1aXJlcyBqYXZhLmxvZ2dp bmc7Ci0tLy8gICByZXF1aXJlcyBldS5taWhvc29mdC5mcmVlcm91dGluZy5kZXBzLmpoOwotLS8v fQotK21vZHVsZSBldS5taWhvc29mdC5mcmVlcm91dGluZyB7Ci0rICAgcmVxdWlyZXMgamF2YS5k ZXNrdG9wOwotKyAgIHJlcXVpcmVzIGphdmEubG9nZ2luZzsKLSsgICByZXF1aXJlcyBvcmcuYXBh Y2hlLmxvZ2dpbmcubG9nNGo7Ci0rfQpkaWZmIC0tZ2l0IGEvc3JjcGtncy9mcmVlcm91dGluZy90 ZW1wbGF0ZSBiL3NyY3BrZ3MvZnJlZXJvdXRpbmcvdGVtcGxhdGUKaW5kZXggYmZkZTAyZmM5ZTI5 Li5lMTI4MTE5Zjc1Y2QgMTAwNjQ0Ci0tLSBhL3NyY3BrZ3MvZnJlZXJvdXRpbmcvdGVtcGxhdGUK KysrIGIvc3JjcGtncy9mcmVlcm91dGluZy90ZW1wbGF0ZQpAQCAtMSw3ICsxLDcgQEAKICMgVGVt cGxhdGUgZmlsZSBmb3IgJ2ZyZWVyb3V0aW5nJwogcGtnbmFtZT1mcmVlcm91dGluZwotdmVyc2lv bj0xLjQuNS4xCi1yZXZpc2lvbj0yCit2ZXJzaW9uPTEuNS4wCityZXZpc2lvbj0xCiBob3N0bWFr ZWRlcGVuZHM9ImRvczJ1bml4IGdyYWRsZSBvcGVuamRrMTEiCiBkZXBlbmRzPSJvcGVuamRrMTEi CiBzaG9ydF9kZXNjPSJBZHZhbmNlZCBQQ0IgYXV0b3JvdXRlciIKQEAgLTksMTYgKzksNyBAQCBt YWludGFpbmVyPSLDiXJpY28gTm9ndWVpcmEgPGVyaWNvbnJAZGlzcm9vdC5vcmc+IgogbGljZW5z ZT0iR1BMLTMuMC1vci1sYXRlciIKIGhvbWVwYWdlPSJodHRwczovL2dpdGh1Yi5jb20vZnJlZXJv dXRpbmcvZnJlZXJvdXRpbmciCiBkaXN0ZmlsZXM9Imh0dHBzOi8vZ2l0aHViLmNvbS9mcmVlcm91 dGluZy8ke3BrZ25hbWV9L2FyY2hpdmUvdiR7dmVyc2lvbn0udGFyLmd6IgotY2hlY2tzdW09ZjQy M2I3YWQ5ZmU2YmU1NzI0N2Y1Zjc5ZjdjNzczOTAwNjE5OThhNTBiYzNiZGRjNDJlMDEwYzVhM2Zl NTU2YQotCi1wb3N0X2V4dHJhY3QoKSB7Ci0JIyBnaXQgZWF0cyBDUkxGcywgc28gdGhlIHBhdGNo IGhhcyB3cm9uZyBsaW5lIGVuZGluZy4KLQkjIEluc3RlYWQgY29udmVydCB0aGUgdGFyZ2V0IGZp bGUgdG8gTEYtb25seS4KLQlkb3MydW5peCAkd3Jrc3JjL3NyYy9tYWluL2phdmEvbW9kdWxlLWlu Zm8uamF2YQotCWRvczJ1bml4ICR3cmtzcmMvc3JjL21haW4vamF2YS9ldS9taWhvc29mdC9mcmVl cm91dGluZy9ndWkvQm9hcmRGcmFtZS5qYXZhCi0JZG9zMnVuaXggJHdya3NyYy9zcmMvbWFpbi9q YXZhL2V1L21paG9zb2Z0L2ZyZWVyb3V0aW5nL2d1aS9Cb2FyZE1lbnVCYXIuamF2YQotCWRvczJ1 bml4ICR3cmtzcmMvc3JjL21haW4vamF2YS9ldS9taWhvc29mdC9mcmVlcm91dGluZy9ndWkvQm9h cmRNZW51SGVscC5qYXZhCi19CitjaGVja3N1bT0zNjc0MmE5MWU0OTI5NTZlM2FkYzVkNzVlNTQy YTQwZjNlMDNkMTVkNjlkMTU3MTdhOWQzOWMwNTg1ZmFhYzQ0CiAKIGRvX2J1aWxkKCkgewogCS4g L2V0Yy9wcm9maWxlLmQvb3Blbmpkay5zaAo= --===============0997159639872704827==--