From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 From: Takao Fujiwara To: git-commits@fedoraproject.org Subject: [rpms/ibus] autotool: Implement shortcut keys on emoji dialog Date: Sun, 31 May 2026 02:06:30 GMT Message-ID: <178019319064.1.16712814926975530344.rpms-ibus-6a3b67701391@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 6a3b6770139172a4fad44e499971f9d2a52066d6 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiA2YTNiNjc3MDEzOTE3MmE0ZmFkNDRlNDk5OTcxZjlkMmE1MjA2NmQ2CiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDE3LTAzLTE1VDEyOjQxOjI5KzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICs1NTAvLTEgaW4gMiBmaWxlKHMpCiAgICAgICAgICAgIFVSTCAgICA6IGh0dHBzOi8v c3JjLmZlZG9yYXByb2plY3Qub3JnL3JwbXMvaWJ1cy9jLzZhM2I2NzcwMTM5MTcyYTRmYWQ0NGU0 OTk5NzFmOWQyYTUyMDY2ZDY/YnJhbmNoPWF1dG90b29sCgogICAgICAgICAgICBMb2c6CiAgICAg ICAgICAgIEltcGxlbWVudCBzaG9ydGN1dCBrZXlzIG9uIGVtb2ppIGRpYWxvZwoKLSBJbXBsZW1l bnRlZCBDdHJsLVtmfGJ8bnxwfGh8ZXxhfHVdIGZvciBjdXJzb3Igb3BlcmF0aW9ucyBvbiBlbW9q aSBkaWFsb2cKLSBBZGRlZCBYU2V0SU9FcnJvckhhbmRsZXIoKSBmb3IgR05PTUUzIGRlc2t0b3AK Ci0tLQpkaWZmIC0tZ2l0IGEvaWJ1cy1IRUFELnBhdGNoIGIvaWJ1cy1IRUFELnBhdGNoCmluZGV4 IDQ1ZDBlZWYuLjU2YTc2MGMgMTAwNjQ0Ci0tLSBhL2lidXMtSEVBRC5wYXRjaAorKysgYi9pYnVz LUhFQUQucGF0Y2gKQEAgLTEyMjMsMyArMTIyMyw1NDggQEAgaW5kZXggOGNlY2VhOC4uNWUxMjZl OSAxMDA2NDQKIC0tIAogMi45LjMKIAorRnJvbSBhYjZjMzhjMTkyY2RmMjIzNTZjYmYyNTRiOThm YjViM2Q5ZDlhNjgwIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogZnVqaXdhcmF0IDx0 YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxNSBNYXIgMjAxNyAxMTo0ODoy NCArMDkwMAorU3ViamVjdDogW1BBVENIXSBjbGllbnQveDExOiBBZGQgWFNldElPRXJyb3JIYW5k bGVyKCkgZm9yIEdOT01FMyBkZXNrdG9wCisKK1doZW4gbG9nIGludG8gR05PTUUzIGRlc2t0b3Ag aW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIHN5c3RlbSBpcyBib290ZWQsCitpYnVzLWRhZW1vbiBpcyBz b21ldGltZXMgYWxpdmUgYnV0IGlidXMteDExIGlzIGRlYWQgYWZ0ZXIgbG9nIG91dAordGhlIHNl c3Npb24uIEJlY2F1c2UgZ2RrX3hfaW9fZXJyb3IoKSBpcyBjYWxsZWQgYXMgdGhlIGNhbGxiYWNr IG9mCitYU2V0SU9FcnJvckhhbmRsZXIoKSBpbiBndGsvZ2RrL3gxMS9nZGttYWluLXgxMS5jIGlu IGlidXMteDExLgorTm93IEkgYXNzdW1lIHRoZSBjYWxsYmFjayBpcyBjYWxsZWQgaW4gbG9nb3V0 LgorCitCVUc9aHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9pc3N1ZXMvMTkwNworCitSZXZp ZXcgVVJMOiBodHRwczovL2NvZGVyZXZpZXcuYXBwc3BvdC5jb20vMzE5NDkwMDQzCistLS0KKyBj bGllbnQveDExL21haW4uYyB8IDE2ICsrKysrKysrKysrKysrKysKKyAxIGZpbGUgY2hhbmdlZCwg MTYgaW5zZXJ0aW9ucygrKQorCitkaWZmIC0tZ2l0IGEvY2xpZW50L3gxMS9tYWluLmMgYi9jbGll bnQveDExL21haW4uYworaW5kZXggYTcxN2EyYy4uMTU5ZjQzMCAxMDA2NDQKKy0tLSBhL2NsaWVu dC94MTEvbWFpbi5jCisrKysgYi9jbGllbnQveDExL21haW4uYworQEAgLTIsNiArMiw3IEBACisg LyogdmltOnNldCBldCBzdHM9NDogKi8KKyAvKiBpYnVzCisgICogQ29weXJpZ2h0IChDKSAyMDA3 LTIwMTUgUGVuZyBIdWFuZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+CisrICogQ29weXJpZ2h0 IChDKSAyMDE1LTIwMTcgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+ CisgICogQ29weXJpZ2h0IChDKSAyMDA3LTIwMTUgUmVkIEhhdCwgSW5jLgorICAqCisgICogbWFp bi5jOgorQEAgLTExMzEsNiArMTEzMiwyMCBAQCBfeGVycm9yX2hhbmRsZXIgKERpc3BsYXkgKmRw eSwgWEVycm9yRXZlbnQgKmUpCisgICAgIHJldHVybiAxOworIH0KKyAKKysvKiBXaGVuIGxvZyBp bnRvIEdOT01FMyBkZXNrdG9wIGltbWVkaWF0ZWx5IGFmdGVyIHRoZSBzeXN0ZW0gaXMgYm9vdGVk LAorKyAqIGlidXMtZGFlbW9uIGlzIHNvbWV0aW1lcyBhbGl2ZSBidXQgaWJ1cy14MTEgaXMgZGVh ZCBhZnRlciBsb2cgb3V0CisrICogdGhlIHNlc3Npb24uIEJlY2F1c2UgZ2RrX3hfaW9fZXJyb3Io KSBpcyBjYWxsZWQgYXMgdGhlIGNhbGxiYWNrIG9mCisrICogWFNldElPRXJyb3JIYW5kbGVyKCkg aW4gZ3RrL2dkay94MTEvZ2RrbWFpbi14MTEuYyBpbiBpYnVzLXgxMS4KKysgKiBOb3cgSSBhc3N1 bWUgdGhlIGNhbGxiYWNrIGlzIGNhbGxlZCBpbiBsb2dvdXQuCisrICovCisrc3RhdGljIGludAor K194ZXJyb3JfaW9faGFuZGxlciAoRGlzcGxheSAqZHB5KQorK3sKKysgICAgaWYgKF9raWxsX2Rh ZW1vbikKKysgICAgICAgIF9hdGV4aXRfY2IgKCk7CisrICAgIHJldHVybiAwOworK30KKysKKyBp bnQKKyBtYWluIChpbnQgYXJnYywgY2hhciAqKmFyZ3YpCisgeworQEAgLTExNDYsNiArMTE2MSw3 IEBAIG1haW4gKGludCBhcmdjLCBjaGFyICoqYXJndikKKyAKKyAgICAgZ3RrX2luaXQgKCZhcmdj LCAmYXJndik7CisgICAgIFhTZXRFcnJvckhhbmRsZXIgKF94ZXJyb3JfaGFuZGxlcik7CisrICAg IFhTZXRJT0Vycm9ySGFuZGxlciAoX3hlcnJvcl9pb19oYW5kbGVyKTsKKyAKKyAgICAgd2hpbGUg KDEpIHsKKyAgICAgICAgIHN0YXRpYyBzdHJ1Y3Qgb3B0aW9uIGxvbmdfb3B0aW9ucyBbXSA9IHsK Ky0tIAorMi45LjMKKworRnJvbSA1OGY2MTQwZjQyNzgxNWFkYzk0N2E1YmI1YzdkZWE0ZjNlMzE1 YWU4IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogZnVqaXdhcmF0IDx0YWthby5mdWpp d2FyYTFAZ21haWwuY29tPgorRGF0ZTogV2VkLCAxNSBNYXIgMjAxNyAxMTo1MjozOSArMDkwMAor U3ViamVjdDogW1BBVENIXSB1aS9ndGszOiBJbXBsZW1lbnQgc2hvcnRjdXQga2V5cyBvbiBlbW9q aSBkaWFsb2cKKworLSBJbXBsZW1lbnQgQ3RybC1mLCBDdHJsLWIsIEN0cmwtbiwgQ3RybC1wLCBD dHJsLWgsIEN0cmgtZSBmb3IKKyAgY3Vyc29yIG1vdmVtZW50czsgZm9yd2FyZCwgYmFjaywgbmV4 dCwgcHJldmlvdXMsIGhlYWQsIGVuZAorICBvbiBlbW9qaSBncmlkLgorLSBJbXBsZW1lbnQgQ3Ry bC1hIGFuZCBTaGlmdCthcnJvdyBmb3IgdGV4dCBzZWxlY3Rpb24gb24gZW1vamkgYW5ub3RhdGlv bi4KKy0gSW1wbGVtZW50IEN0cmwtdSB0byBkZWxldGUgdGV4dCBvbiBlbW9qaSBhbm5vdGF0aW9u LgorLSBJbXBsZW1lbnQgdG8gZGVsZXRlIGEgc2VsZWN0ZWQgdGV4dCBvbiBlbW9qaSBhbm5vdGF0 aW9uLgorLSBDaGFuZ2UgdG8gc2hvdyBwYWdlIGluZGljZXMgdG8gY2FuZGlkYXRlIGluZGljZXMg b24gZW1vamkuCistIFNvcnRlZCBlbW9qaSBjYXRlZ29yaWVzLgorLSBBZGRlZCB0aW1lb3V0IG9m IG1fZW50ZXJfbm90aWZ5X2VuYWJsZSA9IGZhbHNlIHRvIGJyaW5nIGJhY2sgbW91c2UuCisKK1I9 U2hhd24uUC5IdWFuZ0BnbWFpbC5jb20KKworUmV2aWV3IFVSTDogaHR0cHM6Ly9jb2RlcmV2aWV3 LmFwcHNwb3QuY29tLzMxNTcwMDA0MworLS0tCisgdWkvZ3RrMy9lbW9qaWVyLnZhbGEgfCAzMTEg KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tCisgMSBm aWxlIGNoYW5nZWQsIDIxNSBpbnNlcnRpb25zKCspLCA5NiBkZWxldGlvbnMoLSkKKworZGlmZiAt LWdpdCBhL3VpL2d0azMvZW1vamllci52YWxhIGIvdWkvZ3RrMy9lbW9qaWVyLnZhbGEKK2luZGV4 IDVlMTI2ZTkuLjdkYTk2YzcgMTAwNjQ0CistLS0gYS91aS9ndGszL2Vtb2ppZXIudmFsYQorKysr IGIvdWkvZ3RrMy9lbW9qaWVyLnZhbGEKK0BAIC0yMTQsNiArMjE0LDcgQEAgY2xhc3MgSUJ1c0Vt b2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAgcHJpdmF0ZSBzdHJpbmdbXSBtX2Zhdm9yaXRlcyA9 IHt9OworICAgICBwcml2YXRlIGJvb2wgbV9lbnRlcl9ub3RpZnlfZW5hYmxlID0gdHJ1ZTsKKyAg ICAgcHJpdmF0ZSB1aW50IG1fZW50cnlfbm90aWZ5X3Nob3dfaWQ7CisrICAgIHByaXZhdGUgdWlu dCBtX2VudHJ5X25vdGlmeV9kaXNhYmxlX2lkOworIAorICAgICBwdWJsaWMgc2lnbmFsIHZvaWQg Y2FuZGlkYXRlX2NsaWNrZWQodWludCBpbmRleCwgdWludCBidXR0b24sIHVpbnQgc3RhdGUpOwor ICAgICBwdWJsaWMgc2lnbmFsIHZvaWQgbG9hZGVkX2Vtb2ppX2RpY3QoKTsKK0BAIC01MjUsNiAr NTI2LDE4IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgICAgICBzaG93 X2NhdGVnb3J5X2xpc3QoKTsKKyAgICAgfQorIAorKyAgICBwcml2YXRlIHN0cmluZyBnZXRfdGl0 bGVfc3RyaW5nKHN0cmluZyBvcmlnKSB7CisrICAgICAgICBTdHJpbmdCdWlsZGVyIGJ1ZmYgPSBu ZXcgU3RyaW5nQnVpbGRlcigpOworKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBvcmlnLmNo YXJfY291bnQoKTsgaSsrKSB7CisrICAgICAgICAgICAgdW5pY2hhciBjaCA9IG9yaWcuZ2V0X2No YXIoaSk7CisrICAgICAgICAgICAgaWYgKGkgPT0gMCkKKysgICAgICAgICAgICAgICAgYnVmZi5h cHBlbmRfdW5pY2hhcihjaC50b3VwcGVyKCkpOworKyAgICAgICAgICAgIGVsc2UKKysgICAgICAg ICAgICAgICAgYnVmZi5hcHBlbmRfdW5pY2hhcihjaCk7CisrICAgICAgICB9CisrICAgICAgICBy ZXR1cm4gYnVmZi5zdHI7CisrICAgIH0KKysKKyAgICAgcHJpdmF0ZSB2b2lkIHNob3dfY2F0ZWdv cnlfbGlzdCgpIHsKKyAgICAgICAgIHJlbW92ZV9hbGxfY2hpbGRyZW4oKTsKKyAgICAgICAgIG1f c2Nyb2xsZWRfd2luZG93ID0gbmV3IEVTY3JvbGxlZFdpbmRvdygpOworQEAgLTU4NiwxOSArNTk5 LDE0IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgICAgICAgICAgfQor ICAgICAgICAgICAgIEdMaWIuTGlzdDx1bm93bmVkIHN0cmluZz4gY2F0ZWdvcmllcyA9CisgICAg ICAgICAgICAgICAgICAgICBtX2NhdGVnb3J5X3RvX2Vtb2ppc19kaWN0LmdldF9rZXlzKCk7Cisr ICAgICAgICAgICAgY2F0ZWdvcmllcy5zb3J0KChhLCBiKSA9PiB7CisrICAgICAgICAgICAgICAg IHJldHVybiBHTGliLnN0cmNtcChfKGEpLCBfKGIpKTsKKysgICAgICAgICAgICB9KTsKKyAgICAg ICAgICAgICBmb3JlYWNoICh1bm93bmVkIHN0cmluZyBjYXRlZ29yeSBpbiBjYXRlZ29yaWVzKSB7 CisgICAgICAgICAgICAgICAgIEVCb3hSb3cgcm93ID0gbmV3IEVCb3hSb3coY2F0ZWdvcnkpOwor ICAgICAgICAgICAgICAgICBzdHJpbmcgbG9jYWxlX2NhdGVnb3J5ID0gXyhjYXRlZ29yeSk7Cist ICAgICAgICAgICAgICAgIFN0cmluZ0J1aWxkZXIgY2FwaXRhbF9jYXRlZ29yeSA9IG5ldyBTdHJp bmdCdWlsZGVyKCk7CistICAgICAgICAgICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgbG9jYWxl X2NhdGVnb3J5LmNoYXJfY291bnQoKTsgaSsrKSB7CistICAgICAgICAgICAgICAgICAgICB1bmlj aGFyIGNoID0gbG9jYWxlX2NhdGVnb3J5LmdldF9jaGFyKGkpOworLSAgICAgICAgICAgICAgICAg ICAgaWYgKGkgPT0gMCkKKy0gICAgICAgICAgICAgICAgICAgICAgICBjYXBpdGFsX2NhdGVnb3J5 LmFwcGVuZF91bmljaGFyKGNoLnRvdXBwZXIoKSk7CistICAgICAgICAgICAgICAgICAgICBlbHNl CistICAgICAgICAgICAgICAgICAgICAgICAgY2FwaXRhbF9jYXRlZ29yeS5hcHBlbmRfdW5pY2hh cihjaCk7CistICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgRVBhZGRlZExhYmVs IHdpZGdldCA9CistICAgICAgICAgICAgICAgICAgICAgICAgbmV3IEVQYWRkZWRMYWJlbChjYXBp dGFsX2NhdGVnb3J5LnN0ciwKKysgICAgICAgICAgICAgICAgICAgICAgICBuZXcgRVBhZGRlZExh YmVsKGdldF90aXRsZV9zdHJpbmcobG9jYWxlX2NhdGVnb3J5KSwKKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEd0ay5BbGlnbi5DRU5URVIpOworICAgICAgICAgICAg ICAgICByb3cuYWRkKHdpZGdldCk7CisgICAgICAgICAgICAgICAgIG1fbGlzdF9ib3guYWRkKHJv dyk7CitAQCAtNjUwLDcgKzY1OCw3IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7 CisgICAgICAgICAgICAgICAgIElCdXMuVGV4dCB0ZXh0ID0gbmV3IElCdXMuVGV4dC5mcm9tX3N0 cmluZyhlbW9qaSk7CisgICAgICAgICAgICAgICAgIG1fbG9va3VwX3RhYmxlLmFwcGVuZF9jYW5k aWRhdGUodGV4dCk7CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIG1fYmFja3dhcmQgPSBy b3cudGV4dDsKKysgICAgICAgICAgICBtX2JhY2t3YXJkID0gZ2V0X3RpdGxlX3N0cmluZyhyb3cu dGV4dCk7CisgICAgICAgICB9CisgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgpOworICAg ICB9CitAQCAtNzU5LDkgKzc2Nyw3IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7 CisgICAgICAgICB1aW50IHBhZ2VfZW5kX3BvcyA9IHVpbnQubWluKHBhZ2Vfc3RhcnRfcG9zICsg cGFnZV9zaXplLCBuY2FuZGlkYXRlcyk7CisgICAgICAgICBpZiAobV9iYWNrd2FyZCAhPSBudWxs KSB7CisgICAgICAgICAgICAgc3RyaW5nIGJhY2t3YXJkX2Rlc2MgPQorLSAgICAgICAgICAgICAg ICAgICAgIiVzICgldSAvICV1KSIucHJpbnRmKG1fYmFja3dhcmQsCistICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yIC8gcGFnZV9zaXplICsgMSwKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBuY2FuZGlkYXRlcyAvIHBhZ2Vf c2l6ZSArIDEpOworKyAgICAgICAgICAgICAgICAgICAgIiVzICgldSAvICV1KSIucHJpbnRmKG1f YmFja3dhcmQsIGN1cnNvciwgbmNhbmRpZGF0ZXMgLSAxKTsKKyAgICAgICAgICAgICBFUGFkZGVk TGFiZWwgbGFiZWwgPSBuZXcgRVBhZGRlZExhYmVsKGJhY2t3YXJkX2Rlc2MsCisgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHdGsuQWxpZ24uQ0VOVEVS LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHJh dmVsRGlyZWN0aW9uLkJBQ0tXQVJEKTsKK0BAIC04MDUsMjMgKzgxMSwyMyBAQCBjbGFzcyBJQnVz RW1vamllciA6IEd0ay5XaW5kb3cgeworICAgICAgICAgICAgICAgICBjYW5kaWRhdGVfY2xpY2tl ZChpbmRleCwgZS5idXR0b24sIGUuc3RhdGUpOworICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1 ZTsKKyAgICAgICAgICAgICB9KTsKKy0gICAgICAgICAgICAvLyBtX2VudGVyX25vdGlmeV9lbmFi bGUgaXMgYWRkZWQgYmVjYXVzZQorLSAgICAgICAgICAgIC8vIGVudGVyX25vdGlmeV9ldmVudCBj b25mbGljdHMgd2l0aCBrZXlib2FyZCBvcGVyYXRpb25zLgorLSAgICAgICAgICAgIGlmIChtX2Vu dGVyX25vdGlmeV9lbmFibGUpIHsKKy0gICAgICAgICAgICAgICAgY2FuZGlkYXRlX2Vib3guZW50 ZXJfbm90aWZ5X2V2ZW50LmNvbm5lY3QoKGUpID0+IHsKKy0gICAgICAgICAgICAgICAgICAgIG1f bG9va3VwX3RhYmxlLnNldF9jdXJzb3JfcG9zKGluZGV4KTsKKy0gICAgICAgICAgICAgICAgICAg IGlmIChtX2VudHJ5X25vdGlmeV9zaG93X2lkID4gMCkgeworKyAgICAgICAgICAgIGNhbmRpZGF0 ZV9lYm94LmVudGVyX25vdGlmeV9ldmVudC5jb25uZWN0KChlKSA9PiB7CisrICAgICAgICAgICAg ICAgIC8vIG1fZW50ZXJfbm90aWZ5X2VuYWJsZSBpcyBhZGRlZCBiZWNhdXNlCisrICAgICAgICAg ICAgICAgIC8vIGVudGVyX25vdGlmeV9ldmVudCBjb25mbGljdHMgd2l0aCBrZXlib2FyZCBvcGVy YXRpb25zLgorKyAgICAgICAgICAgICAgICBpZiAoIW1fZW50ZXJfbm90aWZ5X2VuYWJsZSkKKysg ICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworKyAgICAgICAgICAgICAgICBtX2xvb2t1 cF90YWJsZS5zZXRfY3Vyc29yX3BvcyhpbmRleCk7CisrICAgICAgICAgICAgICAgIGlmIChtX2Vu dHJ5X25vdGlmeV9zaG93X2lkID4gMCkgeworICAgICAgICAgICAgICAgICAgICAgICAgIEdMaWIu U291cmNlLnJlbW92ZShtX2VudHJ5X25vdGlmeV9zaG93X2lkKTsKKy0gICAgICAgICAgICAgICAg ICAgIH0KKy0gICAgICAgICAgICAgICAgICAgIC8vIElmIHRpbWVvdXQgaXMgbm90IGFkZGVkLCBt ZW1vcnkgbGVhayBoYXBwZW5zIGFuZAorLSAgICAgICAgICAgICAgICAgICAgLy8gYnV0dG9uX3By ZXNzX2V2ZW50IHNpZ25hbCBkb2VzIG5vdCB3b3JrIGFib3ZlLgorLSAgICAgICAgICAgICAgICAg ICAgbV9lbnRyeV9ub3RpZnlfc2hvd19pZCA9IEdMaWIuVGltZW91dC5hZGQoMTAwLCAoKSA9PiB7 CisrICAgICAgICAgICAgICAgIH0KKysgICAgICAgICAgICAgICAgLy8gSWYgdGltZW91dCBpcyBu b3QgYWRkZWQsIG1lbW9yeSBsZWFrIGhhcHBlbnMgYW5kCisrICAgICAgICAgICAgICAgIC8vIGJ1 dHRvbl9wcmVzc19ldmVudCBzaWduYWwgZG9lcyBub3Qgd29yayBhYm92ZS4KKysgICAgICAgICAg ICAgICAgbV9lbnRyeV9ub3RpZnlfc2hvd19pZCA9IEdMaWIuVGltZW91dC5hZGQoMTAwLCAoKSA9 PiB7CisgICAgICAgICAgICAgICAgICAgICAgICAgc2hvd19jYW5kaWRhdGVfcGFuZWwoKTsKKyAg ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CistICAgICAgICAgICAgICAgICAg ICB9KTsKKy0gICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgICAg ICB9KTsKKy0gICAgICAgICAgICB9CisrICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworKyAg ICAgICAgICAgIH0pOworICAgICAgICAgICAgIGdyaWQuYXR0YWNoKGNhbmRpZGF0ZV9lYm94LAor ICAgICAgICAgICAgICAgICAgICAgICAgIG4gJSAoaW50KUVNT0pJX0dSSURfUEFHRSwgbiAvIChp bnQpRU1PSklfR1JJRF9QQUdFLAorICAgICAgICAgICAgICAgICAgICAgICAgIDEsIDEpOworQEAg LTg0NCwxNiArODUwLDIzIEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAg ICAgICAgICAgICAgIHdpZGdldC5zaG93X2FsbCgpOworICAgICAgICAgICAgICAgICByZXR1cm47 CisgICAgICAgICAgICAgfQorLSAgICAgICAgICAgIHVub3duZWQgSUJ1cy5FbW9qaURhdGEgZGF0 YSA9CisrICAgICAgICAgICAgdW5vd25lZCBJQnVzLkVtb2ppRGF0YT8gZGF0YSA9CisgICAgICAg ICAgICAgICAgICAgICBtX2Vtb2ppX3RvX2RhdGFfZGljdC5sb29rdXAoY2FuZGlkYXRlLnRleHQp OworLSAgICAgICAgICAgIHVub3duZWQgc3RyaW5nIGRlc2NyaXB0aW9uID0gZGF0YS5nZXRfZGVz Y3JpcHRpb24oKTsKKy0gICAgICAgICAgICBpZiAoZGVzY3JpcHRpb24gIT0gIiIpIHsKKysgICAg ICAgICAgICBpZiAoZGF0YSA9PSBudWxsKSB7CisrICAgICAgICAgICAgICAgIC8vIFRPRE86IFBy b3ZpZGUgYSBkZXNjcmlwdGlvbiBmb3IgdGhlIGZhdm9yaXRlIGVtb2ppcy4KKyAgICAgICAgICAg ICAgICAgRVBhZGRlZExhYmVsIHdpZGdldCA9IG5ldyBFUGFkZGVkTGFiZWwoCistICAgICAgICAg ICAgICAgICAgICAgICAgXygiRGVzY3JpcHRpb246ICVzIikucHJpbnRmKGRlc2NyaXB0aW9uKSwK KysgICAgICAgICAgICAgICAgICAgICAgICBfKCJEZXNjcmlwdGlvbjogJXMiKS5wcmludGYoXygi Tm9uZSIpKSwKKyAgICAgICAgICAgICAgICAgICAgICAgICBHdGsuQWxpZ24uU1RBUlQpOworICAg ICAgICAgICAgICAgICBtX3Zib3guYWRkKHdpZGdldCk7CisgICAgICAgICAgICAgICAgIHdpZGdl dC5zaG93X2FsbCgpOworKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAgfQor KyAgICAgICAgICAgIHVub3duZWQgc3RyaW5nIGRlc2NyaXB0aW9uID0gZGF0YS5nZXRfZGVzY3Jp cHRpb24oKTsKKysgICAgICAgICAgICBFUGFkZGVkTGFiZWwgZGVzY193aWRnZXQgPSBuZXcgRVBh ZGRlZExhYmVsKAorKyAgICAgICAgICAgICAgICAgICAgXygiRGVzY3JpcHRpb246ICVzIikucHJp bnRmKGRlc2NyaXB0aW9uKSwKKysgICAgICAgICAgICAgICAgICAgIEd0ay5BbGlnbi5TVEFSVCk7 CisrICAgICAgICAgICAgbV92Ym94LmFkZChkZXNjX3dpZGdldCk7CisrICAgICAgICAgICAgZGVz Y193aWRnZXQuc2hvd19hbGwoKTsKKyAgICAgICAgICAgICB1bm93bmVkIEdMaWIuU0xpc3Q8dW5v d25lZCBzdHJpbmc+PyBhbm5vdGF0aW9ucyA9CisgICAgICAgICAgICAgICAgICAgICBkYXRhLmdl dF9hbm5vdGF0aW9ucygpOworICAgICAgICAgICAgIEdMaWIuU3RyaW5nQnVpbGRlciBidWZmID0g bmV3IEdMaWIuU3RyaW5nQnVpbGRlcigpOworQEAgLTkyMiw4ICs5MzUsMjEgQEAgY2xhc3MgSUJ1 c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsKKyAgICAgICAgIG1fcmVzdWx0ID0gdGV4dC50ZXh0Owor ICAgICB9CisgCistICAgIHByaXZhdGUgdm9pZCBjYW5kaWRhdGVfcGFuZWxfY3Vyc29yX2Rvd24o KSB7CisrICAgIHByaXZhdGUgdm9pZCBlbnRlcl9ub3RpZnlfZGlzYWJsZV93aXRoX3RpbWVyKCkg eworKyAgICAgICAgLy8gRW5hYmxlIGtleWJvYXJkIG9wZXJhdGlvbiBhbmQgZGlzYWJsZSBtb3Vz ZSBvcGVyYXRpb24uCisgICAgICAgICBtX2VudGVyX25vdGlmeV9lbmFibGUgPSBmYWxzZTsKKysg ICAgICAgIGlmIChtX2VudHJ5X25vdGlmeV9kaXNhYmxlX2lkID4gMCkgeworKyAgICAgICAgICAg IEdMaWIuU291cmNlLnJlbW92ZShtX2VudHJ5X25vdGlmeV9kaXNhYmxlX2lkKTsKKysgICAgICAg IH0KKysgICAgICAgIC8vIEJyaW5nIGJhY2sgdGhlIG1vdXNlIG9wZXJhdGlvbiBhZnRlciBhIHRp bWVvdXQuCisrICAgICAgICBtX2VudHJ5X25vdGlmeV9zaG93X2lkID0gR0xpYi5UaW1lb3V0LmFk ZCgxMDAsICgpID0+IHsKKysgICAgICAgICAgICBtX2VudGVyX25vdGlmeV9lbmFibGUgPSB0cnVl OworKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKysgICAgICAgIH0pOworKyAgICB9CisrCisr ICAgIHByaXZhdGUgdm9pZCBjYW5kaWRhdGVfcGFuZWxfY3Vyc29yX2Rvd24oKSB7CisrICAgICAg ICBlbnRlcl9ub3RpZnlfZGlzYWJsZV93aXRoX3RpbWVyKCk7CisgICAgICAgICB1aW50IG5jYW5k aWRhdGVzID0gbV9sb29rdXBfdGFibGUuZ2V0X251bWJlcl9vZl9jYW5kaWRhdGVzKCk7CisgICAg ICAgICB1aW50IGN1cnNvciA9IG1fbG9va3VwX3RhYmxlLmdldF9jdXJzb3JfcG9zKCk7CisgICAg ICAgICBpZiAoKGN1cnNvciArIEVNT0pJX0dSSURfUEFHRSkgPCBuY2FuZGlkYXRlcykgeworQEAg LTkzNywxMSArOTYzLDExIEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAg IH0KKyAKKyAgICAgcHJpdmF0ZSB2b2lkIGNhbmRpZGF0ZV9wYW5lbF9jdXJzb3JfdXAoKSB7Cist ICAgICAgICBtX2VudGVyX25vdGlmeV9lbmFibGUgPSBmYWxzZTsKKysgICAgICAgIGVudGVyX25v dGlmeV9kaXNhYmxlX3dpdGhfdGltZXIoKTsKKyAgICAgICAgIGludCBuY2FuZGlkYXRlcyA9IChp bnQpbV9sb29rdXBfdGFibGUuZ2V0X251bWJlcl9vZl9jYW5kaWRhdGVzKCk7CisgICAgICAgICBp bnQgY3Vyc29yID0gKGludCltX2xvb2t1cF90YWJsZS5nZXRfY3Vyc29yX3BvcygpOworICAgICAg ICAgaW50IGhpZ2hlc3RfcG9zID0KKy0gICAgICAgICAgICAobmNhbmRpZGF0ZXMgLyAoaW50KUVN T0pJX0dSSURfUEFHRSAqIChpbnQpRU1PSklfR1JJRF9QQUdFKQorKyAgICAgICAgICAgICgobmNh bmRpZGF0ZXMgLSAxKS8gKGludClFTU9KSV9HUklEX1BBR0UgKiAoaW50KUVNT0pJX0dSSURfUEFH RSkKKyAgICAgICAgICAgICArIChjdXJzb3IgJSAoaW50KUVNT0pJX0dSSURfUEFHRSk7CisgICAg ICAgICBpZiAoKGN1cnNvciAtIChpbnQpRU1PSklfR1JJRF9QQUdFKSA+PSAwKSB7CisgICAgICAg ICAgICAgbV9sb29rdXBfdGFibGUuc2V0X2N1cnNvcl9wb3MoY3Vyc29yIC0gKGludClFTU9KSV9H UklEX1BBR0UpOworQEAgLTk2NywxMyArOTkzLDExOSBAQCBjbGFzcyBJQnVzRW1vamllciA6IEd0 ay5XaW5kb3cgeworICAgICAgICAgc2hvd19jYXRlZ29yeV9saXN0KCk7CisgICAgIH0KKyAKKysg ICAgcHJpdmF0ZSBib29sIGtleV9wcmVzc19jdXJzb3JfaG9yaXpvbnRhbCh1aW50IGtleXZhbCwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB1aW50IG1vZGlm aWVycykgeworKyAgICAgICAgYXNzZXJ0IChrZXl2YWwgPT0gR2RrLktleS5MZWZ0IHx8IGtleXZh bCA9PSBHZGsuS2V5LlJpZ2h0KTsKKysKKysgICAgICAgIGlmIChtX2NhbmRpZGF0ZV9wYW5lbF9p c192aXNpYmxlKSB7CisrICAgICAgICAgICAgZW50ZXJfbm90aWZ5X2Rpc2FibGVfd2l0aF90aW1l cigpOworKyAgICAgICAgICAgIGlmIChrZXl2YWwgPT0gR2RrLktleS5MZWZ0KQorKyAgICAgICAg ICAgICAgICBtX2xvb2t1cF90YWJsZS5jdXJzb3JfdXAoKTsKKysgICAgICAgICAgICBlbHNlIGlm IChrZXl2YWwgPT0gR2RrLktleS5SaWdodCkKKysgICAgICAgICAgICAgICAgbV9sb29rdXBfdGFi bGUuY3Vyc29yX2Rvd24oKTsKKysgICAgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgpOwor KyAgICAgICAgfSBlbHNlIGlmIChtX2VudHJ5LmdldF90ZXh0KCkubGVuKCkgPiAwKSB7CisrICAg ICAgICAgICAgaW50IHN0ZXAgPSAwOworKyAgICAgICAgICAgIGlmIChrZXl2YWwgPT0gR2RrLktl eS5MZWZ0KQorKyAgICAgICAgICAgICAgICBzdGVwID0gLTE7CisrICAgICAgICAgICAgZWxzZSBp ZiAoa2V5dmFsID09IEdkay5LZXkuUmlnaHQpCisrICAgICAgICAgICAgICAgIHN0ZXAgPSAxOwor KyAgICAgICAgICAgIEdMaWIuU2lnbmFsLmVtaXRfYnlfbmFtZSgKKysgICAgICAgICAgICAgICAg ICAgIG1fZW50cnksICJtb3ZlLWN1cnNvciIsCisrICAgICAgICAgICAgICAgICAgICBHdGsuTW92 ZW1lbnRTdGVwLlZJU1VBTF9QT1NJVElPTlMsCisrICAgICAgICAgICAgICAgICAgICBzdGVwLAor KyAgICAgICAgICAgICAgICAgICAgKG1vZGlmaWVycyAmIEdkay5Nb2RpZmllclR5cGUuU0hJRlRf TUFTSykgIT0gMAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA/IHRydWUgOiBmYWxzZSk7 CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIC8vIEZvciBHZGsuS2V5LmYgYW5kIEdk ay5LZXkuYgorKyAgICAgICAgICAgIGlmIChrZXl2YWwgPT0gR2RrLktleS5MZWZ0KQorKyAgICAg ICAgICAgICAgICBrZXl2YWwgPSBHZGsuS2V5LlVwOworKyAgICAgICAgICAgIGVsc2UgaWYgKGtl eXZhbCA9PSBHZGsuS2V5LlJpZ2h0KQorKyAgICAgICAgICAgICAgICBrZXl2YWwgPSBHZGsuS2V5 LkRvd247CisrICAgICAgICAgICAgY2F0ZWdvcnlfbGlzdF9jdXJzb3JfbW92ZShrZXl2YWwpOwor KyAgICAgICAgfQorKyAgICAgICAgcmV0dXJuIHRydWU7CisrICAgIH0KKysKKysgICAgcHJpdmF0 ZSBib29sIGtleV9wcmVzc19jdXJzb3JfdmVydGljYWwodWludCBrZXl2YWwpIHsKKysgICAgICAg IGFzc2VydCAoa2V5dmFsID09IEdkay5LZXkuRG93biB8fCBrZXl2YWwgPT0gR2RrLktleS5VcCk7 CisrCisrICAgICAgICBpZiAobV9jYW5kaWRhdGVfcGFuZWxfaXNfdmlzaWJsZSkgeworKyAgICAg ICAgICAgIGlmIChrZXl2YWwgPT0gR2RrLktleS5Eb3duKQorKyAgICAgICAgICAgICAgICBjYW5k aWRhdGVfcGFuZWxfY3Vyc29yX2Rvd24oKTsKKysgICAgICAgICAgICBlbHNlIGlmIChrZXl2YWwg PT0gR2RrLktleS5VcCkKKysgICAgICAgICAgICAgICAgY2FuZGlkYXRlX3BhbmVsX2N1cnNvcl91 cCgpOworKyAgICAgICAgfSBlbHNlIHsKKysgICAgICAgICAgICBjYXRlZ29yeV9saXN0X2N1cnNv cl9tb3ZlKGtleXZhbCk7CisrICAgICAgICB9CisrICAgICAgICByZXR1cm4gdHJ1ZTsKKysgICAg fQorKworKyAgICBwcml2YXRlIGJvb2wga2V5X3ByZXNzX2N1cnNvcl9ob21lX2VuZCh1aW50IGtl eXZhbCwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdWludCBt b2RpZmllcnMpIHsKKysgICAgICAgIGFzc2VydCAoa2V5dmFsID09IEdkay5LZXkuSG9tZSB8fCBr ZXl2YWwgPT0gR2RrLktleS5FbmQpOworKworKyAgICAgICAgaWYgKG1fY2FuZGlkYXRlX3BhbmVs X2lzX3Zpc2libGUpIHsKKysgICAgICAgICAgICBlbnRlcl9ub3RpZnlfZGlzYWJsZV93aXRoX3Rp bWVyKCk7CisrICAgICAgICAgICAgaWYgKGtleXZhbCA9PSBHZGsuS2V5LkhvbWUpIHsKKysgICAg ICAgICAgICAgICAgbV9sb29rdXBfdGFibGUuc2V0X2N1cnNvcl9wb3MoMCk7CisrICAgICAgICAg ICAgfSBlbHNlIGlmIChrZXl2YWwgPT0gR2RrLktleS5FbmQpIHsKKysgICAgICAgICAgICAgICAg dWludCBuY2FuZGlkYXRlcyA9IG1fbG9va3VwX3RhYmxlLmdldF9udW1iZXJfb2ZfY2FuZGlkYXRl cygpOworKyAgICAgICAgICAgICAgICBtX2xvb2t1cF90YWJsZS5zZXRfY3Vyc29yX3BvcyhuY2Fu ZGlkYXRlcyAtIDEpOworKyAgICAgICAgICAgIH0KKysgICAgICAgICAgICBzaG93X2NhbmRpZGF0 ZV9wYW5lbCgpOworKyAgICAgICAgICAgIHJldHVybiB0cnVlOworKyAgICAgICAgfQorKyAgICAg ICAgaWYgKG1fZW50cnkuZ2V0X3RleHQoKS5sZW4oKSA+IDApIHsKKysgICAgICAgICAgICBpbnQg c3RlcCA9IDA7CisrICAgICAgICAgICAgaWYgKGtleXZhbCA9PSBHZGsuS2V5LkhvbWUpCisrICAg ICAgICAgICAgICAgIHN0ZXAgPSAtMTsKKysgICAgICAgICAgICBlbHNlIGlmIChrZXl2YWwgPT0g R2RrLktleS5FbmQpCisrICAgICAgICAgICAgICAgIHN0ZXAgPSAxOworKyAgICAgICAgICAgIEdM aWIuU2lnbmFsLmVtaXRfYnlfbmFtZSgKKysgICAgICAgICAgICAgICAgICAgIG1fZW50cnksICJt b3ZlLWN1cnNvciIsCisrICAgICAgICAgICAgICAgICAgICBHdGsuTW92ZW1lbnRTdGVwLkRJU1BM QVlfTElORV9FTkRTLAorKyAgICAgICAgICAgICAgICAgICAgc3RlcCwKKysgICAgICAgICAgICAg ICAgICAgIChtb2RpZmllcnMgJiBHZGsuTW9kaWZpZXJUeXBlLlNISUZUX01BU0spICE9IDAKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPyB0cnVlIDogZmFsc2UpOworKyAgICAgICAgICAg IHJldHVybiB0cnVlOworKyAgICAgICAgfQorKyAgICAgICAgcmV0dXJuIGZhbHNlOworKyAgICB9 CisrCisrICAgIHByaXZhdGUgYm9vbCBrZXlfcHJlc3NfY3Vyc29yX2VzY2FwZSgpIHsKKysgICAg ICAgIGlmIChtX2NhbmRpZGF0ZV9wYW5lbF9pc192aXNpYmxlKSB7CisrICAgICAgICAgICAgaGlk ZV9jYW5kaWRhdGVfcGFuZWwoKTsKKysgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKysgICAgICAg IH0gZWxzZSBpZiAobV9jdXJyZW50X2NhdGVnb3J5X3R5cGUgPT0gQ2F0ZWdvcnlUeXBlLkxBTkcp IHsKKysgICAgICAgICAgICBtX2N1cnJlbnRfY2F0ZWdvcnlfdHlwZSA9IENhdGVnb3J5VHlwZS5F TU9KSTsKKysgICAgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgpOworKyAgICAgICAgICAg IHJldHVybiB0cnVlOworKyAgICAgICAgfSBlbHNlIGlmIChtX2VudHJ5LmdldF90ZXh0KCkubGVu Z3RoID09IDApIHsKKysgICAgICAgICAgICBtX2xvb3AucXVpdCgpOworKyAgICAgICAgICAgIGhp ZGVfY2FuZGlkYXRlX3BhbmVsKCk7CisrICAgICAgICAgICAgcmV0dXJuIHRydWU7CisrICAgICAg ICB9CisrICAgICAgICBtX2VudHJ5LmRlbGV0ZV90ZXh0KDAsIC0xKTsKKysgICAgICAgIHJldHVy biB0cnVlOworKyAgICB9CisrCisgICAgIHByaXZhdGUgdm9pZCBlbnRyeV9lbnRlcl9rZXl2YWwo dWludCBrZXl2YWwpIHsKKyAgICAgICAgIHVuaWNoYXIgY2ggPSBJQnVzLmtleXZhbF90b191bmlj b2RlKGtleXZhbCk7CistICAgICAgICBpZiAoIWNoLmlzZ3JhcGgoKSkKKysgICAgICAgIGlmIChj aC5pc2NudHJsKCkpCisgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgc3RyaW5nIHN0ciA9 IGNoLnRvX3N0cmluZygpOworIAorICAgICAgICAgLy8gd2hhdCBndGtfZW50cnlfY29tbWl0X2Ni KCkgZG8KKysgICAgICAgIGlmIChtX2VudHJ5LmdldF9zZWxlY3Rpb25fYm91bmRzKG51bGwsIG51 bGwpKSB7CisrICAgICAgICAgICAgbV9lbnRyeS5kZWxldGVfc2VsZWN0aW9uKCk7CisrICAgICAg ICB9IGVsc2UgeworKyAgICAgICAgICAgIGlmIChtX2VudHJ5LmdldF9vdmVyd3JpdGVfbW9kZSgp KSB7CisrICAgICAgICAgICAgICAgdWludCB0ZXh0X2xlbmd0aCA9IG1fZW50cnkuZ2V0X2J1ZmZl cigpLmdldF9sZW5ndGgoKTsKKysgICAgICAgICAgICAgICBpZiAobV9lbnRyeS5jdXJzb3JfcG9z aXRpb24gPCB0ZXh0X2xlbmd0aCkKKysgICAgICAgICAgICAgICAgICAgbV9lbnRyeS5kZWxldGVf ZnJvbV9jdXJzb3IoR3RrLkRlbGV0ZVR5cGUuQ0hBUlMsIDEpOworKyAgICAgICAgICAgIH0KKysg ICAgICAgIH0KKyAgICAgICAgIGludCBwb3MgPSBtX2VudHJ5LmdldF9wb3NpdGlvbigpOworICAg ICAgICAgbV9lbnRyeS5pbnNlcnRfdGV4dChzdHIsIC0xLCByZWYgcG9zKTsKKyAgICAgICAgIG1f ZW50cnkuc2V0X3Bvc2l0aW9uKHBvcyk7CitAQCAtMTA4NCwxOSArMTIxNiw4IEBAIGNsYXNzIElC dXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgICAgICB9CisgICAgICAgICBzd2l0Y2ggKGtl eXZhbCkgeworICAgICAgICAgY2FzZSBHZGsuS2V5LkVzY2FwZToKKy0gICAgICAgICAgICBpZiAo bV9jYW5kaWRhdGVfcGFuZWxfaXNfdmlzaWJsZSkgeworLSAgICAgICAgICAgICAgICBoaWRlX2Nh bmRpZGF0ZV9wYW5lbCgpOworLSAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKy0gICAgICAg ICAgICB9IGVsc2UgaWYgKG1fY3VycmVudF9jYXRlZ29yeV90eXBlID09IENhdGVnb3J5VHlwZS5M QU5HKSB7CistICAgICAgICAgICAgICAgIG1fY3VycmVudF9jYXRlZ29yeV90eXBlID0gQ2F0ZWdv cnlUeXBlLkVNT0pJOworLSAgICAgICAgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5lbCgpOwor KyAgICAgICAgICAgIGlmIChrZXlfcHJlc3NfY3Vyc29yX2VzY2FwZSgpKQorICAgICAgICAgICAg ICAgICByZXR1cm4gdHJ1ZTsKKy0gICAgICAgICAgICB9IGVsc2UgaWYgKG1fZW50cnkuZ2V0X3Rl eHQoKS5sZW5ndGggPT0gMCkgeworLSAgICAgICAgICAgICAgICBtX2xvb3AucXVpdCgpOworLSAg ICAgICAgICAgICAgICBoaWRlX2NhbmRpZGF0ZV9wYW5lbCgpOworLSAgICAgICAgICAgICAgICBy ZXR1cm4gdHJ1ZTsKKy0gICAgICAgICAgICB9CistICAgICAgICAgICAgbV9lbnRyeS5kZWxldGVf dGV4dCgwLCAtMSk7CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICBjYXNlIEdkay5LZXku UmV0dXJuOgorICAgICAgICAgICAgIGlmIChtX2NhbmRpZGF0ZV9wYW5lbF9pc192aXNpYmxlKSB7 CitAQCAtMTEyNiw3ICsxMjQ3LDcgQEAgY2xhc3MgSUJ1c0Vtb2ppZXIgOiBHdGsuV2luZG93IHsK KyAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgfQorICAgICAgICAgICAgIGlm IChtX2NhbmRpZGF0ZV9wYW5lbF9pc192aXNpYmxlKSB7CistICAgICAgICAgICAgICAgIG1fZW50 ZXJfbm90aWZ5X2VuYWJsZSA9IGZhbHNlOworKyAgICAgICAgICAgICAgICBlbnRlcl9ub3RpZnlf ZGlzYWJsZV93aXRoX3RpbWVyKCk7CisgICAgICAgICAgICAgICAgIG1fbG9va3VwX3RhYmxlLmN1 cnNvcl9kb3duKCk7CisgICAgICAgICAgICAgICAgIHNob3dfY2FuZGlkYXRlX3BhbmVsKCk7Cisg ICAgICAgICAgICAgfQorQEAgLTExMzUsNDggKzEyNTYsMjAgQEAgY2xhc3MgSUJ1c0Vtb2ppZXIg OiBHdGsuV2luZG93IHsKKyAgICAgICAgICAgICB9CisgICAgICAgICAgICAgcmV0dXJuIHRydWU7 CisgICAgICAgICBjYXNlIEdkay5LZXkuUmlnaHQ6CistICAgICAgICAgICAgaWYgKG1fY2FuZGlk YXRlX3BhbmVsX2lzX3Zpc2libGUpIHsKKy0gICAgICAgICAgICAgICAgbV9lbnRlcl9ub3RpZnlf ZW5hYmxlID0gZmFsc2U7CistICAgICAgICAgICAgICAgIG1fbG9va3VwX3RhYmxlLmN1cnNvcl9k b3duKCk7CistICAgICAgICAgICAgICAgIHNob3dfY2FuZGlkYXRlX3BhbmVsKCk7CistICAgICAg ICAgICAgICAgIHJldHVybiB0cnVlOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBpZiAo bV9lbnRyeS5nZXRfdGV4dCgpLmxlbigpID4gMCkgeworLSAgICAgICAgICAgICAgICBHTGliLlNp Z25hbC5lbWl0X2J5X25hbWUobV9lbnRyeSwgIm1vdmUtY3Vyc29yIiwKKy0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEd0ay5Nb3ZlbWVudFN0ZXAuVklTVUFMX1BPU0lU SU9OUywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIGZhbHNl KTsKKy0gICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CistICAgICAgICAgICAgfQorLSAgICAg ICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIGtleV9wcmVzc19jdXJzb3JfaG9yaXpvbnRhbChr ZXl2YWwsIG1vZGlmaWVycyk7CisrICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICBj YXNlIEdkay5LZXkuTGVmdDoKKy0gICAgICAgICAgICBpZiAobV9jYW5kaWRhdGVfcGFuZWxfaXNf dmlzaWJsZSkgeworLSAgICAgICAgICAgICAgICBtX2VudGVyX25vdGlmeV9lbmFibGUgPSBmYWxz ZTsKKy0gICAgICAgICAgICAgICAgbV9sb29rdXBfdGFibGUuY3Vyc29yX3VwKCk7CistICAgICAg ICAgICAgICAgIHNob3dfY2FuZGlkYXRlX3BhbmVsKCk7CistICAgICAgICAgICAgICAgIHJldHVy biB0cnVlOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBpZiAobV9lbnRyeS5nZXRfdGV4 dCgpLmxlbigpID4gMCkgeworLSAgICAgICAgICAgICAgICBHTGliLlNpZ25hbC5lbWl0X2J5X25h bWUobV9lbnRyeSwgIm1vdmUtY3Vyc29yIiwKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEd0ay5Nb3ZlbWVudFN0ZXAuVklTVUFMX1BPU0lUSU9OUywKKy0gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCBmYWxzZSk7CistICAgICAgICAg ICAgICAgIHJldHVybiB0cnVlOworLSAgICAgICAgICAgIH0KKy0gICAgICAgICAgICBicmVhazsK KysgICAgICAgICAgICBrZXlfcHJlc3NfY3Vyc29yX2hvcml6b250YWwoa2V5dmFsLCBtb2RpZmll cnMpOworKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICAgY2FzZSBHZGsuS2V5LkRv d246CistICAgICAgICAgICAgaWYgKG1fY2FuZGlkYXRlX3BhbmVsX2lzX3Zpc2libGUpCistICAg ICAgICAgICAgICAgIGNhbmRpZGF0ZV9wYW5lbF9jdXJzb3JfZG93bigpOworLSAgICAgICAgICAg IGVsc2UKKy0gICAgICAgICAgICAgICAgY2F0ZWdvcnlfbGlzdF9jdXJzb3JfbW92ZShHZGsuS2V5 LkRvd24pOworKyAgICAgICAgICAgIGtleV9wcmVzc19jdXJzb3JfdmVydGljYWwoa2V5dmFsKTsK KyAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgIGNhc2UgR2RrLktleS5VcDoKKy0g ICAgICAgICAgICBpZiAobV9jYW5kaWRhdGVfcGFuZWxfaXNfdmlzaWJsZSkKKy0gICAgICAgICAg ICAgICAgY2FuZGlkYXRlX3BhbmVsX2N1cnNvcl91cCgpOworLSAgICAgICAgICAgIGVsc2UKKy0g ICAgICAgICAgICAgICAgY2F0ZWdvcnlfbGlzdF9jdXJzb3JfbW92ZShHZGsuS2V5LlVwKTsKKysg ICAgICAgICAgICBrZXlfcHJlc3NfY3Vyc29yX3ZlcnRpY2FsKGtleXZhbCk7CisgICAgICAgICAg ICAgcmV0dXJuIHRydWU7CisgICAgICAgICBjYXNlIEdkay5LZXkuUGFnZV9Eb3duOgorICAgICAg ICAgICAgIGlmIChtX2NhbmRpZGF0ZV9wYW5lbF9pc192aXNpYmxlKSB7CistICAgICAgICAgICAg ICAgIG1fZW50ZXJfbm90aWZ5X2VuYWJsZSA9IGZhbHNlOworKyAgICAgICAgICAgICAgICBlbnRl cl9ub3RpZnlfZGlzYWJsZV93aXRoX3RpbWVyKCk7CisgICAgICAgICAgICAgICAgIG1fbG9va3Vw X3RhYmxlLnBhZ2VfZG93bigpOworICAgICAgICAgICAgICAgICBzaG93X2NhbmRpZGF0ZV9wYW5l bCgpOworICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKK0BAIC0xMTg0LDMzICsxMjc3LDU5 IEBAIGNsYXNzIElCdXNFbW9qaWVyIDogR3RrLldpbmRvdyB7CisgICAgICAgICAgICAgYnJlYWs7 CisgICAgICAgICBjYXNlIEdkay5LZXkuUGFnZV9VcDoKKyAgICAgICAgICAgICBpZiAobV9jYW5k aWRhdGVfcGFuZWxfaXNfdmlzaWJsZSkgeworLSAgICAgICAgICAgICAgICBtX2VudGVyX25vdGlm eV9lbmFibGUgPSBmYWxzZTsKKysgICAgICAgICAgICAgICAgZW50ZXJfbm90aWZ5X2Rpc2FibGVf d2l0aF90aW1lcigpOworICAgICAgICAgICAgICAgICBtX2xvb2t1cF90YWJsZS5wYWdlX3VwKCk7 CisgICAgICAgICAgICAgICAgIHNob3dfY2FuZGlkYXRlX3BhbmVsKCk7CisgICAgICAgICAgICAg ICAgIHJldHVybiB0cnVlOworICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICBicmVhazsKKyAg ICAgICAgIGNhc2UgR2RrLktleS5Ib21lOgorLSAgICAgICAgICAgIGlmIChtX2VudHJ5LmdldF90 ZXh0KCkubGVuKCkgPiAwKSB7CistICAgICAgICAgICAgICAgIEdMaWIuU2lnbmFsLmVtaXRfYnlf bmFtZShtX2VudHJ5LCAibW92ZS1jdXJzb3IiLAorLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgR3RrLk1vdmVtZW50U3RlcC5ESVNQTEFZX0xJTkVfRU5EUywKKy0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC0xLCBmYWxzZSk7CisrICAgICAg ICAgICAgaWYgKGtleV9wcmVzc19jdXJzb3JfaG9tZV9lbmQoa2V5dmFsLCBtb2RpZmllcnMpKQor ICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKy0gICAgICAgICAgICB9CisgICAgICAgICAg ICAgYnJlYWs7CisgICAgICAgICBjYXNlIEdkay5LZXkuRW5kOgorLSAgICAgICAgICAgIGlmICht X2VudHJ5LmdldF90ZXh0KCkubGVuKCkgPiAwKSB7CistICAgICAgICAgICAgICAgIEdMaWIuU2ln bmFsLmVtaXRfYnlfbmFtZShtX2VudHJ5LCAibW92ZS1jdXJzb3IiLAorLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgR3RrLk1vdmVtZW50U3RlcC5ESVNQTEFZX0xJTkVf RU5EUywKKy0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIGZhbHNl KTsKKysgICAgICAgICAgICBpZiAoa2V5X3ByZXNzX2N1cnNvcl9ob21lX2VuZChrZXl2YWwsIG1v ZGlmaWVycykpCisgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworLSAgICAgICAgICAgIH0K Ky0gICAgICAgICAgICBicmVhazsKKy0gICAgICAgIGRlZmF1bHQ6CistICAgICAgICAgICAgZW50 cnlfZW50ZXJfa2V5dmFsKGtleXZhbCk7CisgICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICB9 CisgCisrICAgICAgICBpZiAoKG1vZGlmaWVycyAmIEdkay5Nb2RpZmllclR5cGUuQ09OVFJPTF9N QVNLKSAhPSAwKSB7CisrICAgICAgICAgICAgc3dpdGNoIChrZXl2YWwpIHsKKysgICAgICAgICAg ICBjYXNlIEdkay5LZXkuZjoKKysgICAgICAgICAgICAgICAga2V5X3ByZXNzX2N1cnNvcl9ob3Jp em9udGFsKEdkay5LZXkuUmlnaHQsIG1vZGlmaWVycyk7CisrICAgICAgICAgICAgICAgIHJldHVy biB0cnVlOworKyAgICAgICAgICAgIGNhc2UgR2RrLktleS5iOgorKyAgICAgICAgICAgICAgICBr ZXlfcHJlc3NfY3Vyc29yX2hvcml6b250YWwoR2RrLktleS5MZWZ0LCBtb2RpZmllcnMpOworKyAg ICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKysgICAgICAgICAgICBjYXNlIEdkay5LZXkubjoK KysgICAgICAgICAgICAgICAga2V5X3ByZXNzX2N1cnNvcl92ZXJ0aWNhbChHZGsuS2V5LkRvd24p OworKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKysgICAgICAgICAgICBjYXNlIEdkay5L ZXkucDoKKysgICAgICAgICAgICAgICAga2V5X3ByZXNzX2N1cnNvcl92ZXJ0aWNhbChHZGsuS2V5 LlVwKTsKKysgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisrICAgICAgICAgICAgY2FzZSBH ZGsuS2V5Lmg6CisrICAgICAgICAgICAgICAgIGlmIChrZXlfcHJlc3NfY3Vyc29yX2hvbWVfZW5k KEdkay5LZXkuSG9tZSwgbW9kaWZpZXJzKSkKKysgICAgICAgICAgICAgICAgICAgIHJldHVybiB0 cnVlOworKyAgICAgICAgICAgICAgICBicmVhazsKKysgICAgICAgICAgICBjYXNlIEdkay5LZXku ZToKKysgICAgICAgICAgICAgICAgaWYgKGtleV9wcmVzc19jdXJzb3JfaG9tZV9lbmQoR2RrLktl eS5FbmQsIG1vZGlmaWVycykpCisrICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKysg ICAgICAgICAgICAgICAgYnJlYWs7CisrICAgICAgICAgICAgY2FzZSBHZGsuS2V5LnU6CisrICAg ICAgICAgICAgICAgIGlmIChrZXlfcHJlc3NfY3Vyc29yX2VzY2FwZSgpKQorKyAgICAgICAgICAg ICAgICAgICAgcmV0dXJuIHRydWU7CisrICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAg ICAgIGNhc2UgR2RrLktleS5hOgorKyAgICAgICAgICAgICAgICBpZiAobV9lbnRyeS5nZXRfdGV4 dCgpLmxlbigpID4gMCkgeworKyAgICAgICAgICAgICAgICAgICAgbV9lbnRyeS5zZWxlY3RfcmVn aW9uKDAsIC0xKTsKKysgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOworKyAgICAgICAg ICAgICAgICB9CisrICAgICAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgICAgIH0KKysgICAg ICAgICAgICByZXR1cm4gZmFsc2U7CisrICAgICAgICB9CisrCisrICAgICAgICBlbnRyeV9lbnRl cl9rZXl2YWwoa2V5dmFsKTsKKyAgICAgICAgIHJldHVybiB0cnVlOworICAgICB9CisgCistLSAK KzIuOS4zCisKCmRpZmYgLS1naXQgYS9pYnVzLnNwZWMgYi9pYnVzLnNwZWMKaW5kZXggMzE2Njcz My4uY2EwZjY2YiAxMDA2NDQKLS0tIGEvaWJ1cy5zcGVjCisrKyBiL2lidXMuc3BlYwpAQCAtMjgs NyArMjgsNyBAQAogCiBOYW1lOiAgICAgICAgICAgaWJ1cwogVmVyc2lvbjogICAgICAgIDEuNS4x NQotUmVsZWFzZTogICAgICAgIDMlez9kaXN0fQorUmVsZWFzZTogICAgICAgIDQlez9kaXN0fQog U3VtbWFyeTogICAgICAgIEludGVsbGlnZW50IElucHV0IEJ1cyBmb3IgTGludXggT1MKIExpY2Vu c2U6ICAgICAgICBMR1BMdjIrCiBHcm91cDogICAgICAgICAgU3lzdGVtIEVudmlyb25tZW50L0xp YnJhcmllcwpAQCAtNDI2LDYgKzQyNiwxMCBAQCBndGstcXVlcnktaW1tb2R1bGVzLTMuMC0le19f aXNhX2JpdHN9IC0tdXBkYXRlLWNhY2hlICY+IC9kZXYvbnVsbCB8fCA6CiAle19kYXRhZGlyfS9n dGstZG9jL2h0bWwvKgogCiAlY2hhbmdlbG9nCisqIFdlZCBNYXIgMTUgMjAxNyBUYWthbyBGdWpp d2FyYSA8dGZ1aml3YXJAcmVkaGF0LmNvbT4gLSAxLjUuMTUtNAorLSBJbXBsZW1lbnRlZCBDdHJs LVtmfGJ8bnxwfGh8ZXxhfHVdIGZvciBjdXJzb3Igb3BlcmF0aW9ucyBvbiBlbW9qaSBkaWFsb2cK Ky0gQWRkZWQgWFNldElPRXJyb3JIYW5kbGVyKCkgZm9yIEdOT01FMyBkZXNrdG9wCisKICogTW9u IE1hciAxMyAyMDE3IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPiAtIDEuNS4x NS0zCiAtIEVtb2ppIGRpYWxvZyBlbmhhbmNlbWVudHMgYW5kIGJ1ZyBmaXhlcwogICBGaXhlZCBp YnVzX2Vtb2ppX2RpY3RfbG9hZCgpIEFQSS4K