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: Enable custome theme Date: Sun, 31 May 2026 02:07:53 GMT Message-ID: <178019327328.1.7256236925356293722.rpms-ibus-81284633cc52@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: 81284633cc52f063fe13a093501d038b7ba53119 ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiA4MTI4NDYzM2NjNTJmMDYzZmUxM2EwOTM1MDFkMDM4YjdiYTUzMTE5CiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDIyLTA2LTI1VDIxOjExOjI2KzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICsxMTU3Ly00MiBpbiAyIGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6 Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvODEyODQ2MzNjYzUyZjA2M2ZlMTNh MDkzNTAxZDAzOGI3YmE1MzExOT9icmFuY2g9YXV0b3Rvb2wKCiAgICAgICAgICAgIExvZzoKICAg ICAgICAgICAgRW5hYmxlIGN1c3RvbWUgdGhlbWUKCkFsc28gZml4IGlidXMgcmVzdGFydCBmb3Ig R05PTUUgZGVza3RvcAoKLS0tCmRpZmYgLS1naXQgYS9pYnVzLUhFQUQucGF0Y2ggYi9pYnVzLUhF QUQucGF0Y2gKaW5kZXggZDFjYmYyZi4uYzAxNTZlNiAxMDA2NDQKLS0tIGEvaWJ1cy1IRUFELnBh dGNoCisrKyBiL2lidXMtSEVBRC5wYXRjaApAQCAtMTA1OSw1NiArMTA1OSw2MTQgQEAgaW5kZXgg MDAwMDAwMDAuLmY4ZGNlZDZiCiAtLSAKIDIuMzUuMwogCi1Gcm9tIDlmMmYyNGU2MTVkNzI4MGIx MWNkMjQ0Mzk1YzZiODEyMmM0NzE3N2EgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBm dWppd2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDI2IE1heSAy MDIyIDE0OjQ3OjQ5ICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIHNyYy90ZXN0czogVW5zZXQgR19N RVNTQUdFU19ERUJVRyBmb3IgZ3NldHRpbmdzIGluCi0geGtiLWxhdGluLWxheW91dHMKK0Zyb20g MjMzYTNmNGQ0ZDNkYzY3ODJlNzRkYjViZjRlN2MyOGZhZTcyOWJjOSBNb24gU2VwIDE3IDAwOjAw OjAwIDIwMDEKK0Zyb206IEhvbGxvdyBNYW4gPGhvbGxvd21hbkBvcGVuc3VzZS5vcmc+CitEYXRl OiBXZWQsIDI2IEphbiAyMDIyIDA5OjM1OjExICswODAwCitTdWJqZWN0OiBbUEFUQ0ggMS8zXSBB ZGQgZnVuY3Rpb25hbGl0eSB0byBjaGFuZ2UgSUJ1cyBwYW5lbCB0aGVtZXMgd2l0aAorIGF2YWls YWJsZSBHVEsgdGhlbWVzCiAKLWdzZXR0aW5ncyBjYW5ub3QgZ2V0IHRoZSBrZXkgdmFsdWUgd2hl biBHX01FU1NBR0VTX0RFQlVHIGlzIGVuYWJsZWQuCitUbyBhbGxvdyBJQnVzIHRvIGhhdmUgdGhl aXIgb3duIGNvbnRyb2wgb2YgdGhlbWVzLgorCitodHRwczovL2dpdGxhYi5nbm9tZS5vcmcvR05P TUUvZ25vbWUtdHdlYWtzLy0vYmxvYi9iOWJhZGM0N2I5MmRkNzNmOGNlZGJkMmVmYzY2Y2JhZjNl YTI1NzczL2d0d2Vhay90d2Vha3MvdHdlYWtfZ3JvdXBfYXBwZWFyYW5jZS5weSNMNjkKKworQlVH PWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2lidXMvcHVsbC8yMzI3CisKK1NpZ25lZC1vZmYtYnk6 IEhvbGxvdyBNYW4gPGhvbGxvd21hbkBvcGVuc3VzZS5vcmc+CiAtLS0KLSBzcmMvdGVzdHMveGti LWxhdGluLWxheW91dHMgfCA3ICsrKysrKysKLSAxIGZpbGUgY2hhbmdlZCwgNyBpbnNlcnRpb25z KCspCisgZGF0YS9kY29uZi9vcmcuZnJlZWRlc2t0b3AuaWJ1cy5nc2NoZW1hLnhtbCB8ICAyMCAr KysKKyBzZXR1cC9tYWluLnB5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgMTM3ICsr KysrKysrKysrKysrKysrKysrCisgc2V0dXAvc2V0dXAudWkgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB8ICA5NyArKysrKysrKysrKysrLQorIHVpL2d0azMvYmluZGluZ2NvbW1vbi52YWxh ICAgICAgICAgICAgICAgICAgfCAgNDYgKysrKysrKworIHVpL2d0azMvcGFuZWwudmFsYSAgICAg ICAgICAgICAgICAgICAgICAgICAgfCAgMTggKysrCisgdWkvZ3RrMy9wYW5lbGJpbmRpbmcudmFs YSAgICAgICAgICAgICAgICAgICB8ICAxOCArKysKKyA2IGZpbGVzIGNoYW5nZWQsIDMzNSBpbnNl cnRpb25zKCspLCAxIGRlbGV0aW9uKC0pCiAKLWRpZmYgLS1naXQgYS9zcmMvdGVzdHMveGtiLWxh dGluLWxheW91dHMgYi9zcmMvdGVzdHMveGtiLWxhdGluLWxheW91dHMKLWluZGV4IGY4ZGNlZDZi Li45MjQ2NDIzNCAxMDA3NTUKLS0tLSBhL3NyYy90ZXN0cy94a2ItbGF0aW4tbGF5b3V0cwotKysr IGIvc3JjL3Rlc3RzL3hrYi1sYXRpbi1sYXlvdXRzCi1AQCAtODIsOSArODIsMTYgQEAgZmluaXQo KQorZGlmZiAtLWdpdCBhL2RhdGEvZGNvbmYvb3JnLmZyZWVkZXNrdG9wLmlidXMuZ3NjaGVtYS54 bWwgYi9kYXRhL2Rjb25mL29yZy5mcmVlZGVza3RvcC5pYnVzLmdzY2hlbWEueG1sCitpbmRleCA4 YjE4MWQ3Ni4uMDUxZjIxYTUgMTAwNjQ0CistLS0gYS9kYXRhL2Rjb25mL29yZy5mcmVlZGVza3Rv cC5pYnVzLmdzY2hlbWEueG1sCisrKysgYi9kYXRhL2Rjb25mL29yZy5mcmVlZGVza3RvcC5pYnVz LmdzY2hlbWEueG1sCitAQCAtMjEwLDYgKzIxMCwyNiBAQAorICAgICAgIDxzdW1tYXJ5PkN1c3Rv bSBmb250PC9zdW1tYXJ5PgorICAgICAgIDxkZXNjcmlwdGlvbj5DdXN0b20gZm9udCBuYW1lIGZv ciBsYW5ndWFnZSBwYW5lbDwvZGVzY3JpcHRpb24+CisgICAgIDwva2V5PgorKyAgICA8a2V5IG5h bWU9InVzZS1jdXN0b20tdGhlbWUiIHR5cGU9ImIiPgorKyAgICAgIDxkZWZhdWx0PmZhbHNlPC9k ZWZhdWx0PgorKyAgICAgIDxzdW1tYXJ5PlVzZSBjdXN0b20gdGhlbWU8L3N1bW1hcnk+CisrICAg ICAgPGRlc2NyaXB0aW9uPlVzZSBjdXN0b20gdGhlbWUgbmFtZSBmb3IgbGFuZ3VhZ2UgcGFuZWw8 L2Rlc2NyaXB0aW9uPgorKyAgICA8L2tleT4KKysgICAgPGtleSBuYW1lPSJjdXN0b20tdGhlbWUi IHR5cGU9InMiPgorKyAgICAgIDxkZWZhdWx0PidBZHdhaXRhJzwvZGVmYXVsdD4KKysgICAgICA8 c3VtbWFyeT5DdXN0b20gdGhlbWU8L3N1bW1hcnk+CisrICAgICAgPGRlc2NyaXB0aW9uPkN1c3Rv bSB0aGVtZSBuYW1lIGZvciBsYW5ndWFnZSBwYW5lbDwvZGVzY3JpcHRpb24+CisrICAgIDwva2V5 PgorKyAgICA8a2V5IG5hbWU9InVzZS1jdXN0b20taWNvbiIgdHlwZT0iYiI+CisrICAgICAgPGRl ZmF1bHQ+ZmFsc2U8L2RlZmF1bHQ+CisrICAgICAgPHN1bW1hcnk+VXNlIGN1c3RvbSBpY29uPC9z dW1tYXJ5PgorKyAgICAgIDxkZXNjcmlwdGlvbj5Vc2UgY3VzdG9tIGljb24gbmFtZSBmb3IgbGFu Z3VhZ2UgcGFuZWw8L2Rlc2NyaXB0aW9uPgorKyAgICA8L2tleT4KKysgICAgPGtleSBuYW1lPSJj dXN0b20taWNvbiIgdHlwZT0icyI+CisrICAgICAgPGRlZmF1bHQ+J0Fkd2FpdGEnPC9kZWZhdWx0 PgorKyAgICAgIDxzdW1tYXJ5PkN1c3RvbSBpY29uPC9zdW1tYXJ5PgorKyAgICAgIDxkZXNjcmlw dGlvbj5DdXN0b20gaWNvbiBuYW1lIGZvciBsYW5ndWFnZSBwYW5lbDwvZGVzY3JpcHRpb24+Cisr ICAgIDwva2V5PgorICAgICA8a2V5IG5hbWU9InVzZS1nbHlwaC1mcm9tLWVuZ2luZS1sYW5nIiB0 eXBlPSJiIj4KKyAgICAgICA8ZGVmYXVsdD50cnVlPC9kZWZhdWx0PgorICAgICAgIDxzdW1tYXJ5 PkNob29zZSBnbHlwaHMgd2l0aCBpbnB1dCBtZXRob2QncyBsYW5ndWFnZSBvbiBjYW5kaWRhdGUg d2luZG93PC9zdW1tYXJ5PgorZGlmZiAtLWdpdCBhL3NldHVwL21haW4ucHkgYi9zZXR1cC9tYWlu LnB5CitpbmRleCAxYjkwNTZhNi4uNzE4OTY2OTMgMTAwNjQ0CistLS0gYS9zZXR1cC9tYWluLnB5 CisrKysgYi9zZXR1cC9tYWluLnB5CitAQCAtMjksNiArMjksNyBAQCBpbXBvcnQgb3MKKyBpbXBv cnQgc2lnbmFsCisgaW1wb3J0IHN5cworIGltcG9ydCB0aW1lCisraW1wb3J0IGdsb2IKKyAKKyBm cm9tIGdpIGltcG9ydCByZXF1aXJlX3ZlcnNpb24gYXMgZ2lfcmVxdWlyZV92ZXJzaW9uCisgZ2lf cmVxdWlyZV92ZXJzaW9uKCdHTGliJywgJzIuMCcpCitAQCAtMTk2LDYgKzE5Nyw3OSBAQCBjbGFz cyBTZXR1cChvYmplY3QpOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3Nl bnNpdGl2ZScsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHaW8uU2V0dGlu Z3NCaW5kRmxhZ3MuR0VUKQorIAorKyAgICAgICAgIyBjdXN0b20gdGhlbWUKKysgICAgICAgIHNl bGYuX19tb2RlbF9jdXN0b21fdGhlbWUgPSBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KAorKyAg ICAgICAgICAgICAgICAibW9kZWxfY3VzdG9tX3RoZW1lIikKKysgICAgICAgIHNlbGYuX19jb21i b2JveF9jdXN0b21fdGhlbWUgPSBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KAorKyAgICAgICAg ICAgICAgICAiY29tYm9ib3hfY3VzdG9tX3RoZW1lIikKKysgICAgICAgIHNlbGYuX19jaGVja2J1 dHRvbl9jdXN0b21fdGhlbWUgPSBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KAorKyAgICAgICAg ICAgICAgICAiY2hlY2tidXR0b25fY3VzdG9tX3RoZW1lIikKKysKKysgICAgICAgIGRlZiB1cGRh dGVfY29tYm9ib3hfY3VzdG9tX3RoZW1lKHNldHRpbmdzLCBrZXkpOgorKyAgICAgICAgICAgIHRo ZW1lX25hbWVfbGlzdCA9IHNlbGYuX19pbml0X2F2YWlsYWJsZV9ndGtfdGhlbWVzKCkKKysgICAg ICAgICAgICBzZWxmLl9fbW9kZWxfY3VzdG9tX3RoZW1lLmNsZWFyKCkKKysgICAgICAgICAgICBm b3IgbmFtZSBpbiB0aGVtZV9uYW1lX2xpc3Q6CisrICAgICAgICAgICAgICAgIHNlbGYuX19tb2Rl bF9jdXN0b21fdGhlbWUuYXBwZW5kKFtuYW1lXSkKKysgICAgICAgICAgICBjdXJyZW50X3RoZW1l ID0gc2VsZi5fX3NldHRpbmdzX3BhbmVsLmdldF9zdHJpbmcoa2V5KQorKyAgICAgICAgICAgIHRy eToKKysgICAgICAgICAgICAgICAgY3VycmVudF90aGVtZV9udW1iZXIgPSB0aGVtZV9uYW1lX2xp c3QuaW5kZXgoY3VycmVudF90aGVtZSkKKysgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoK KysgICAgICAgICAgICAgICAgc2VsZi5fX3NldHRpbmdzX3BhbmVsLnJlc2V0KGtleSkKKysgICAg ICAgICAgICAgICAgY3VycmVudF90aGVtZSA9IHNlbGYuX19zZXR0aW5nc19wYW5lbC5nZXRfc3Ry aW5nKGtleSkKKysgICAgICAgICAgICAgICAgY3VycmVudF90aGVtZV9udW1iZXIgPSB0aGVtZV9u YW1lX2xpc3QuaW5kZXgoY3VycmVudF90aGVtZSkKKysgICAgICAgICAgICBzZWxmLl9fY29tYm9i b3hfY3VzdG9tX3RoZW1lLnNldF9hY3RpdmUoY3VycmVudF90aGVtZV9udW1iZXIpCisrCisrICAg ICAgICB1cGRhdGVfY29tYm9ib3hfY3VzdG9tX3RoZW1lKE5vbmUsICdjdXN0b20tdGhlbWUnKQor KyAgICAgICAgc2VsZi5fX3NldHRpbmdzX3BhbmVsLmJpbmQoJ3VzZS1jdXN0b20tdGhlbWUnLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2NoZWNrYnV0dG9uX2N1 c3RvbV90aGVtZSwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdhY3RpdmUn LAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2lvLlNldHRpbmdzQmluZEZs YWdzLkRFRkFVTFQpCisrICAgICAgICBzZWxmLl9fc2V0dGluZ3NfcGFuZWwuY29ubmVjdCgnY2hh bmdlZDo6Y3VzdG9tLXRoZW1lJywKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHVwZGF0ZV9jb21ib2JveF9jdXN0b21fdGhlbWUpCisrICAgICAgICBzZWxmLl9fc2V0dGluZ3Nf cGFuZWwuYmluZCgndXNlLWN1c3RvbS10aGVtZScsCisrICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLl9fY29tYm9ib3hfY3VzdG9tX3RoZW1lLAorKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJ3NlbnNpdGl2ZScsCisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBHaW8uU2V0dGluZ3NCaW5kRmxhZ3MuREVGQVVMVCkKKysgICAgICAgIHNl bGYuX19jb21ib2JveF9jdXN0b21fdGhlbWUuY29ubmVjdCgiY2hhbmdlZCIsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fb25fY29tYm9ib3hfY3VzdG9tX3RoZW1l X2NoYW5nZWQpCisrCisrCisrICAgICAgICAjIGN1c3RvbSBpY29uCisrICAgICAgICBzZWxmLl9f bW9kZWxfY3VzdG9tX2ljb24gPSBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KAorKyAgICAgICAg ICAgICAgICAibW9kZWxfY3VzdG9tX2ljb24iKQorKyAgICAgICAgc2VsZi5fX2NvbWJvYm94X2N1 c3RvbV9pY29uID0gc2VsZi5fX2J1aWxkZXIuZ2V0X29iamVjdCgKKysgICAgICAgICAgICAgICAg ImNvbWJvYm94X2N1c3RvbV9pY29uIikKKysgICAgICAgIHNlbGYuX19jaGVja2J1dHRvbl9jdXN0 b21faWNvbiA9IHNlbGYuX19idWlsZGVyLmdldF9vYmplY3QoCisrICAgICAgICAgICAgICAgICJj aGVja2J1dHRvbl9jdXN0b21faWNvbiIpCisrCisrICAgICAgICBkZWYgdXBkYXRlX2NvbWJvYm94 X2N1c3RvbV9pY29uKHNldHRpbmdzLCBrZXkpOgorKyAgICAgICAgICAgIGljb25fbmFtZV9saXN0 ID0gc2VsZi5fX2luaXRfYXZhaWxhYmxlX2d0a19pY29ucygpCisrICAgICAgICAgICAgc2VsZi5f X21vZGVsX2N1c3RvbV9pY29uLmNsZWFyKCkKKysgICAgICAgICAgICBmb3IgbmFtZSBpbiBpY29u X25hbWVfbGlzdDoKKysgICAgICAgICAgICAgICAgc2VsZi5fX21vZGVsX2N1c3RvbV9pY29uLmFw cGVuZChbbmFtZV0pCisrICAgICAgICAgICAgY3VycmVudF9pY29uID0gc2VsZi5fX3NldHRpbmdz X3BhbmVsLmdldF9zdHJpbmcoa2V5KQorKyAgICAgICAgICAgIHRyeToKKysgICAgICAgICAgICAg ICAgY3VycmVudF9pY29uX251bWJlciA9IGljb25fbmFtZV9saXN0LmluZGV4KGN1cnJlbnRfaWNv bikKKysgICAgICAgICAgICBleGNlcHQgVmFsdWVFcnJvcjoKKysgICAgICAgICAgICAgICAgc2Vs Zi5fX3NldHRpbmdzX3BhbmVsLnJlc2V0KGtleSkKKysgICAgICAgICAgICAgICAgY3VycmVudF9p Y29uID0gc2VsZi5fX3NldHRpbmdzX3BhbmVsLmdldF9zdHJpbmcoa2V5KQorKyAgICAgICAgICAg ICAgICBjdXJyZW50X2ljb25fbnVtYmVyID0gaWNvbl9uYW1lX2xpc3QuaW5kZXgoY3VycmVudF9p Y29uKQorKyAgICAgICAgICAgIHNlbGYuX19jb21ib2JveF9jdXN0b21faWNvbi5zZXRfYWN0aXZl KGN1cnJlbnRfaWNvbl9udW1iZXIpCisrCisrICAgICAgICB1cGRhdGVfY29tYm9ib3hfY3VzdG9t X2ljb24oTm9uZSwgJ2N1c3RvbS1pY29uJykKKysgICAgICAgIHNlbGYuX19zZXR0aW5nc19wYW5l bC5iaW5kKCd1c2UtY3VzdG9tLWljb24nLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2VsZi5fX2NoZWNrYnV0dG9uX2N1c3RvbV9pY29uLAorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJ2FjdGl2ZScsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBHaW8uU2V0dGluZ3NCaW5kRmxhZ3MuREVGQVVMVCkKKysgICAgICAgIHNlbGYuX19z ZXR0aW5nc19wYW5lbC5jb25uZWN0KCdjaGFuZ2VkOjpjdXN0b20taWNvbicsCisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB1cGRhdGVfY29tYm9ib3hfY3VzdG9tX2ljb24pCisr ICAgICAgICBzZWxmLl9fc2V0dGluZ3NfcGFuZWwuYmluZCgndXNlLWN1c3RvbS1pY29uJywKKysg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNlbGYuX19jb21ib2JveF9jdXN0b21f aWNvbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdzZW5zaXRpdmUnLAor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2lvLlNldHRpbmdzQmluZEZsYWdz LkRFRkFVTFQpCisrICAgICAgICBzZWxmLl9fY29tYm9ib3hfY3VzdG9tX2ljb24uY29ubmVjdCgi Y2hhbmdlZCIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZWxmLl9fb25f Y29tYm9ib3hfY3VzdG9tX2ljb25fY2hhbmdlZCkKKysKKyAgICAgICAgICMgc2hvdyBpY29uIG9u IHN5c3RlbSB0cmF5CisgICAgICAgICBzZWxmLl9fY2hlY2tidXR0b25fc2hvd19pY29uX29uX3N5 c3RyYXkgPSBzZWxmLl9fYnVpbGRlci5nZXRfb2JqZWN0KAorICAgICAgICAgICAgICAgICAiY2hl Y2tidXR0b25fc2hvd19pY29uX29uX3N5c3RyYXkiKQorQEAgLTU4OCw2ICs2NjIsNjkgQEAgY2xh c3MgU2V0dXAob2JqZWN0KToKKyAgICAgICAgICAgICBfKCJVc2Ugc2hvcnRjdXQgd2l0aCBzaGlm dCB0byBzd2l0Y2ggdG8gdGhlIHByZXZpb3VzIGlucHV0IG1ldGhvZCIpIAorICAgICAgICAgZW50 cnkuc2V0X3Rvb2x0aXBfdGV4dCh0b29sdGlwKQorIAorKyAgICBkZWYgX19pbml0X2F2YWlsYWJs ZV9ndGtfdGhlbWVzKHNlbGYpOgorKyAgICAgICAgcGF0aF9saXN0ID0gW10KKysgICAgICAgIHBh dGhfbGlzdC5hcHBlbmQob3MucGF0aC5qb2luKEdMaWIuZ2V0X2hvbWVfZGlyKCksICIudGhlbWVz IikpCisrICAgICAgICBwYXRoX2xpc3QuYXBwZW5kKG9zLnBhdGguam9pbihHTGliLmdldF91c2Vy X2RhdGFfZGlyKCksICJ0aGVtZXMiKSkKKysgICAgICAgIHBhdGhfbGlzdC5leHRlbmQobGlzdCht YXAobGFtYmRhIHg6IG9zLnBhdGguam9pbigKKysgICAgICAgICAgICB4LCAidGhlbWVzIiksIEdM aWIuZ2V0X3N5c3RlbV9kYXRhX2RpcnMoKSkpKQorKyAgICAgICAgdGhlbWVfbmFtZV9saXN0ID0g W10KKysgICAgICAgIGd0a190aGVtZV9wYXRoID0gW10KKysgICAgICAgIGZvciBwYXRoIGluIHBh dGhfbGlzdDoKKysgICAgICAgICAgICBndGtfdGhlbWVfcGF0aC5leHRlbmQoZ2xvYi5nbG9iKHBh dGggKyAiLyovZ3RrLSovZ3RrLmNzcyIpKQorKyAgICAgICAgICAgIGd0a190aGVtZV9wYXRoLmV4 dGVuZChnbG9iLmdsb2IocGF0aCArICIvKi9ndGstKi9ndGstZGFyay5jc3MiKSkKKysgICAgICAg IGZvciBwYXRoIGluIGd0a190aGVtZV9wYXRoOgorKyAgICAgICAgICAgIGZpbGVuYW1lID0gb3Mu cGF0aC5iYXNlbmFtZShwYXRoKQorKyAgICAgICAgICAgIGFwcGVuZGl4ID0gIiIKKysgICAgICAg ICAgICBpZiBmaWxlbmFtZSA9PSAiZ3RrLWRhcmsuY3NzIjoKKysgICAgICAgICAgICAgICAgYXBw ZW5kaXggPSAiOmRhcmsiCisrICAgICAgICAgICAgdGhlbWVfbmFtZV9saXN0LmFwcGVuZChvcy5w YXRoLmJhc2VuYW1lKAorKyAgICAgICAgICAgICAgICBvcy5wYXRoLmRpcm5hbWUob3MucGF0aC5k aXJuYW1lKHBhdGgpKSkgKyBhcHBlbmRpeCkKKysKKysgICAgICAgIHRoZW1lX25hbWVfbGlzdC5l eHRlbmQoWworKyAgICAgICAgICAgICdBZHdhaXRhJywgJ0Fkd2FpdGE6ZGFyaycsCisrICAgICAg ICAgICAgJ0hpZ2hDb250cmFzdCcsICdIaWdoQ29udHJhc3RJbnZlcnNlJworKyAgICAgICAgXSkK KysgICAgICAgIHRoZW1lX25hbWVfbGlzdCA9IGxpc3Qoc2V0KHRoZW1lX25hbWVfbGlzdCkpCisr ICAgICAgICB0aGVtZV9uYW1lX2xpc3Quc29ydCgpCisrCisrICAgICAgICByZXR1cm4gdGhlbWVf bmFtZV9saXN0CisrCisrICAgIGRlZiBfX29uX2NvbWJvYm94X2N1c3RvbV90aGVtZV9jaGFuZ2Vk KHNlbGYsIGNvbWJvYm94KToKKysgICAgICAgIHRyZWVfaXRlciA9IHNlbGYuX19jb21ib2JveF9j dXN0b21fdGhlbWUuZ2V0X2FjdGl2ZV9pdGVyKCkKKysgICAgICAgIGlmIHRyZWVfaXRlciBpcyBu b3QgTm9uZToKKysgICAgICAgICAgICBtb2RlbCA9IHNlbGYuX19jb21ib2JveF9jdXN0b21fdGhl bWUuZ2V0X21vZGVsKCkKKysgICAgICAgICAgICB0aGVtZV9uYW1lID0gbW9kZWxbdHJlZV9pdGVy XVswXQorKyAgICAgICAgICAgIHNlbGYuX19zZXR0aW5nc19wYW5lbC5zZXRfc3RyaW5nKCdjdXN0 b20tdGhlbWUnLCB0aGVtZV9uYW1lKQorKworKyAgICBkZWYgX19pbml0X2F2YWlsYWJsZV9ndGtf aWNvbnMoc2VsZik6CisrICAgICAgICBwYXRoX2xpc3QgPSBbXQorKyAgICAgICAgcGF0aF9saXN0 LmFwcGVuZChvcy5wYXRoLmpvaW4oR0xpYi5nZXRfaG9tZV9kaXIoKSwgIi5pY29ucyIpKQorKyAg ICAgICAgcGF0aF9saXN0LmFwcGVuZChvcy5wYXRoLmpvaW4oR0xpYi5nZXRfdXNlcl9kYXRhX2Rp cigpLCAiaWNvbnMiKSkKKysgICAgICAgIHBhdGhfbGlzdC5leHRlbmQobGlzdChtYXAobGFtYmRh IHg6IG9zLnBhdGguam9pbigKKysgICAgICAgICAgICB4LCAiaWNvbnMiKSwgR0xpYi5nZXRfc3lz dGVtX2RhdGFfZGlycygpKSkpCisrICAgICAgICBpY29uX25hbWVfbGlzdCA9IFtdCisrICAgICAg ICBndGtfaWNvbl9wYXRoID0gW10KKysgICAgICAgIGZvciBwYXRoIGluIHBhdGhfbGlzdDoKKysg ICAgICAgICAgICBndGtfaWNvbl9wYXRoLmV4dGVuZChnbG9iLmdsb2IocGF0aCArICIvKi9pbmRl eC50aGVtZSIpKQorKyAgICAgICAgZm9yIHBhdGggaW4gZ3RrX2ljb25fcGF0aDoKKysgICAgICAg ICAgICBkaXIgPSBvcy5wYXRoLmRpcm5hbWUocGF0aCkKKysgICAgICAgICAgICBpZiBub3Qgb3Mu cGF0aC5leGlzdHMob3MucGF0aC5qb2luKGRpciwgImN1cnNvcnMiKSk6CisrICAgICAgICAgICAg ICAgIGljb25fbmFtZV9saXN0LmFwcGVuZChvcy5wYXRoLmJhc2VuYW1lKGRpcikpCisrCisrICAg ICAgICBpY29uX25hbWVfbGlzdC5leHRlbmQoWyJBZHdhaXRhIl0pCisrICAgICAgICBpY29uX25h bWVfbGlzdCA9IGxpc3Qoc2V0KGljb25fbmFtZV9saXN0KSkKKysgICAgICAgIGljb25fbmFtZV9s aXN0LnNvcnQoKQorKworKyAgICAgICAgcmV0dXJuIGljb25fbmFtZV9saXN0CisrCisrICAgIGRl ZiBfX29uX2NvbWJvYm94X2N1c3RvbV9pY29uX2NoYW5nZWQoc2VsZiwgY29tYm9ib3gpOgorKyAg ICAgICAgdHJlZV9pdGVyID0gc2VsZi5fX2NvbWJvYm94X2N1c3RvbV9pY29uLmdldF9hY3RpdmVf aXRlcigpCisrICAgICAgICBpZiB0cmVlX2l0ZXIgaXMgbm90IE5vbmU6CisrICAgICAgICAgICAg bW9kZWwgPSBzZWxmLl9fY29tYm9ib3hfY3VzdG9tX2ljb24uZ2V0X21vZGVsKCkKKysgICAgICAg ICAgICBpY29uX25hbWUgPSBtb2RlbFt0cmVlX2l0ZXJdWzBdCisrICAgICAgICAgICAgc2VsZi5f X3NldHRpbmdzX3BhbmVsLnNldF9zdHJpbmcoJ2N1c3RvbS1pY29uJywgaWNvbl9uYW1lKQorKwor ICAgICBkZWYgX19pdGVtX3N0YXJ0ZWRfY29sdW1uX3RvZ2dsZWRfY2Ioc2VsZiwgY2VsbCwgcGF0 aF9zdHIsIG1vZGVsKToKKyAKKyAgICAgICAgICMgZ2V0IHRvZ2dsZWQgaXRlcgorZGlmZiAtLWdp dCBhL3NldHVwL3NldHVwLnVpIGIvc2V0dXAvc2V0dXAudWkKK2luZGV4IGExNWI5MDgzLi41YTk4 MDRmOSAxMDA2NDQKKy0tLSBhL3NldHVwL3NldHVwLnVpCisrKysgYi9zZXR1cC9zZXR1cC51aQor QEAgLTU1LDYgKzU1LDE4IEBACisgICAgICAgPC9yb3c+CisgICAgIDwvZGF0YT4KKyAgIDwvb2Jq ZWN0PgorKyAgPG9iamVjdCBjbGFzcz0iR3RrTGlzdFN0b3JlIiBpZD0ibW9kZWxfY3VzdG9tX3Ro ZW1lIj4KKysgICAgPGNvbHVtbnM+CisrICAgICAgPCEtLSBjb2x1bW4tbmFtZSBnY2hhcmFycmF5 IC0tPgorKyAgICAgIDxjb2x1bW4gdHlwZT0iZ2NoYXJhcnJheSIvPgorKyAgICA8L2NvbHVtbnM+ CisrICA8L29iamVjdD4KKysgIDxvYmplY3QgY2xhc3M9Ikd0a0xpc3RTdG9yZSIgaWQ9Im1vZGVs X2N1c3RvbV9pY29uIj4KKysgICAgPGNvbHVtbnM+CisrICAgICAgPCEtLSBjb2x1bW4tbmFtZSBn Y2hhcmFycmF5IC0tPgorKyAgICAgIDxjb2x1bW4gdHlwZT0iZ2NoYXJhcnJheSIvPgorKyAgICA8 L2NvbHVtbnM+CisrICA8L29iamVjdD4KKyAgIDxvYmplY3QgY2xhc3M9Ikd0a0FkanVzdG1lbnQi IGlkPSJhZGp1c3RtZW50X2Vtb2ppX3BhcnRpYWxfbWF0Y2giPgorICAgICA8cHJvcGVydHkgbmFt ZT0idmFsdWUiPjMuMDwvcHJvcGVydHk+CisgICAgIDxwcm9wZXJ0eSBuYW1lPSJsb3dlciI+MS4w PC9wcm9wZXJ0eT4KK0BAIC0xMzE4LDEzICsxMzMwLDk2IEBACisgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJwb3NpdGlvbiI+MDwvcHJvcGVydHk+CisgICAgICAg ICAgICAgICAgICAgICAgICAgICA8L3BhY2tpbmc+CisgICAgICAgICAgICAgICAgICAgICAgICAg PC9jaGlsZD4KKysgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisrICAgICAgICAgICAg ICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtHcmlkIiBpZD0idGFibGUzIj4KKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3By b3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2Fu X2ZvY3VzIj5GYWxzZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJjb2x1bW5fc3BhY2luZyI+MTI8L3Byb3BlcnR5PgorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icm93X3NwYWNpbmciPjY8L3Byb3BlcnR5 PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrQ2hlY2tCdXR0b24iIGlkPSJjaGVja2J1 dHRvbl9jdXN0b21fdGhlbWUiPgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9ImxhYmVsIiB0cmFuc2xhdGFibGU9InllcyI+VXNlIGN1c3RvbSB0aGVtZTo8 L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9InVzZV9hY3Rpb25fYXBwZWFyYW5jZSI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3Bl cnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNh bl9mb2N1cyI+VHJ1ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0icmVjZWl2ZXNfZGVmYXVsdCI+RmFsc2U8L3Byb3BlcnR5PgorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV9hY3Rpb25f YXBwZWFyYW5jZSI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV91bmRlcmxpbmUiPlRydWU8L3Byb3BlcnR5PgorKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhhbGlnbiI+c3Rh cnQ8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5 IG5hbWU9ImRyYXdfaW5kaWNhdG9yIj5UcnVlPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJoZXhwYW5kIj5UcnVlPC9wcm9wZXJ0eT4K KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KKysgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cGFja2luZz4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0X2F0dGFjaCI+MDwvcHJvcGVydHk+CisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+MDwvcHJv cGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYWNraW5nPgorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8L2NoaWxkPgorKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8Y2hpbGQ+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFz cz0iR3RrQ29tYm9Cb3giIGlkPSJjb21ib2JveF9jdXN0b21fdGhlbWUiPgorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3Bl cnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNh bl9mb2N1cyI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9Im1vZGVsIj5tb2RlbF9jdXN0b21fdGhlbWU8L3Byb3BlcnR5Pgor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhleHBhbmQi PlRydWU8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNoaWxk PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtD ZWxsUmVuZGVyZXJUZXh0IiBpZD0icmVuZGVyZXI0Ii8+CisrICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDxhdHRyaWJ1dGVzPgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxhdHRyaWJ1dGUgbmFtZT0idGV4dCI+MDwvYXR0cmlidXRlPgorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8L2F0dHJpYnV0ZXM+CisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8L2NoaWxkPgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwv b2JqZWN0PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYWNraW5nPgorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImxlZnRfYXR0YWNoIj4x PC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBu YW1lPSJ0b3BfYXR0YWNoIj4wPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8L3BhY2tpbmc+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+Cisr ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtDaGVja0J1dHRvbiIgaWQ9ImNoZWNrYnV0dG9u X2N1c3RvbV9pY29uIj4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlVzZSBjdXN0b20gaWNvbjo8L3Byb3Bl cnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InVz ZV9hY3Rpb25fYXBwZWFyYW5jZSI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5Pgor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImNhbl9mb2N1 cyI+VHJ1ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0icmVjZWl2ZXNfZGVmYXVsdCI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV9hY3Rpb25fYXBwZWFy YW5jZSI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg PHByb3BlcnR5IG5hbWU9InVzZV91bmRlcmxpbmUiPlRydWU8L3Byb3BlcnR5PgorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9ImhhbGlnbiI+c3RhcnQ8L3By b3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 ImRyYXdfaW5kaWNhdG9yIj5UcnVlPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA8L29iamVjdD4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGFja2lu Zz4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsZWZ0 X2F0dGFjaCI+MDwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+MTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPC9wYWNraW5nPgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 L2NoaWxkPgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisrICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPG9iamVjdCBjbGFzcz0iR3RrQ29tYm9Cb3giIGlkPSJjb21i b2JveF9jdXN0b21faWNvbiI+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJv cGVydHkgbmFtZT0idmlzaWJsZSI+VHJ1ZTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iY2FuX2ZvY3VzIj5GYWxzZTwvcHJvcGVydHk+ CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibW9kZWwi Pm1vZGVsX2N1c3RvbV9pY29uPC9wcm9wZXJ0eT4KKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDxjaGlsZD4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPG9iamVj dCBjbGFzcz0iR3RrQ2VsbFJlbmRlcmVyVGV4dCIgaWQ9InJlbmRlcmVyNSIvPgorKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA8YXR0cmlidXRlcz4KKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA8YXR0cmlidXRlIG5hbWU9InRleHQiPjA8L2F0dHJpYnV0ZT4K KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9hdHRyaWJ1dGVzPgorKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKysgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICA8L29iamVjdD4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGFj a2luZz4KKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJs ZWZ0X2F0dGFjaCI+MTwvcHJvcGVydHk+CisrICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8cHJvcGVydHkgbmFtZT0idG9wX2F0dGFjaCI+MTwvcHJvcGVydHk+CisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgPC9wYWNraW5nPgorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICA8L2NoaWxkPgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgPC9vYmplY3Q+CisrICAgICAg ICAgICAgICAgICAgICAgICAgICA8cGFja2luZz4KKysgICAgICAgICAgICAgICAgICAgICAgICAg ICAgPHByb3BlcnR5IG5hbWU9ImV4cGFuZCI+RmFsc2U8L3Byb3BlcnR5PgorKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0iZmlsbCI+RmFsc2U8L3Byb3BlcnR5Pgor KyAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0icG9zaXRpb24iPjE8 L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgPC9wYWNraW5nPgorKyAgICAg ICAgICAgICAgICAgICAgICAgIDwvY2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAgIDwvb2Jq ZWN0PgorICAgICAgICAgICAgICAgICAgICAgPC9jaGlsZD4KKyAgICAgICAgICAgICAgICAgICAg IDxjaGlsZCB0eXBlPSJsYWJlbCI+CisgICAgICAgICAgICAgICAgICAgICAgIDxvYmplY3QgY2xh c3M9Ikd0a0xhYmVsIiBpZD0ibGFiZWwyMCI+CisgICAgICAgICAgICAgICAgICAgICAgICAgPHBy b3BlcnR5IG5hbWU9InZpc2libGUiPlRydWU8L3Byb3BlcnR5PgorICAgICAgICAgICAgICAgICAg ICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPkZhbHNlPC9wcm9wZXJ0eT4KKy0gICAg ICAgICAgICAgICAgICAgICAgICA8cHJvcGVydHkgbmFtZT0ibGFiZWwiIHRyYW5zbGF0YWJsZT0i eWVzIj4mbHQ7YiZndDtGb250cyZsdDsvYiZndDs8L3Byb3BlcnR5PgorKyAgICAgICAgICAgICAg ICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPiZsdDti Jmd0O0ZvbnQgYW5kIFRoZW1lJmx0Oy9iJmd0OzwvcHJvcGVydHk+CisgICAgICAgICAgICAgICAg ICAgICAgICAgPHByb3BlcnR5IG5hbWU9InVzZV9tYXJrdXAiPlRydWU8L3Byb3BlcnR5PgorICAg ICAgICAgICAgICAgICAgICAgICA8L29iamVjdD4KKyAgICAgICAgICAgICAgICAgICAgIDwvY2hp bGQ+CitkaWZmIC0tZ2l0IGEvdWkvZ3RrMy9iaW5kaW5nY29tbW9uLnZhbGEgYi91aS9ndGszL2Jp bmRpbmdjb21tb24udmFsYQoraW5kZXggMTUwZDRjMzkuLmU4MjUxNjdiIDEwMDY0NAorLS0tIGEv dWkvZ3RrMy9iaW5kaW5nY29tbW9uLnZhbGEKKysrKyBiL3VpL2d0azMvYmluZGluZ2NvbW1vbi52 YWxhCitAQCAtMjEyLDQgKzIxMiw1MCBAQCBjbGFzcyBCaW5kaW5nQ29tbW9uIHsKKyAgICAgICAg ICAgICAgICAgY3NzX3Byb3ZpZGVyLAorICAgICAgICAgICAgICAgICBHdGsuU1RZTEVfUFJPVklE RVJfUFJJT1JJVFlfQVBQTElDQVRJT04pOworICAgICB9CisrCisrICAgIHB1YmxpYyBzdGF0aWMg dm9pZAorKyAgICBzZXRfY3VzdG9tX3RoZW1lKEdMaWIuU2V0dGluZ3M/IHNldHRpbmdzX3BhbmVs KSB7CisrICAgICAgICBpZiAoc2V0dGluZ3NfcGFuZWwgPT0gbnVsbCkKKysgICAgICAgICAgICBy ZXR1cm47CisrCisrICAgICAgICBib29sIHVzZV9jdXN0b21fdGhlbWUgPSBzZXR0aW5nc19wYW5l bC5nZXRfYm9vbGVhbigidXNlLWN1c3RvbS10aGVtZSIpOworKyAgICAgICAgc3RyaW5nIGN1c3Rv bV90aGVtZSA9IHNldHRpbmdzX3BhbmVsLmdldF9zdHJpbmcoImN1c3RvbS10aGVtZSIpOworKwor KyAgICAgICAgR3RrLlNldHRpbmdzIGd0a19zZXR0aW5ncyA9IEd0ay5TZXR0aW5ncy5nZXRfZGVm YXVsdCgpOworKworKyAgICAgICAgaWYgKHVzZV9jdXN0b21fdGhlbWUgPT0gZmFsc2UpCisrICAg ICAgICAgICAgY3VzdG9tX3RoZW1lID0gIiI7CisrCisrICAgICAgICBpZiAoY3VzdG9tX3RoZW1l ID09IG51bGwgfHwgY3VzdG9tX3RoZW1lID09ICIiKSB7CisrICAgICAgICAgICAgZ3RrX3NldHRp bmdzLnJlc2V0X3Byb3BlcnR5KCJndGstdGhlbWUtbmFtZSIpOworKyAgICAgICAgICAgIGd0a19z ZXR0aW5ncy5yZXNldF9wcm9wZXJ0eSgiZ3RrLWFwcGxpY2F0aW9uLXByZWZlci1kYXJrLXRoZW1l Iik7CisrICAgICAgICB9IGVsc2UgeworKyAgICAgICAgICAgIHN0cmluZ1tdIGN1c3RvbV90aGVt ZV9zcGxpdHRlZCA9IGN1c3RvbV90aGVtZS5zcGxpdCgiOiIpOworKyAgICAgICAgICAgIGd0a19z ZXR0aW5ncy5ndGtfdGhlbWVfbmFtZSA9IGN1c3RvbV90aGVtZV9zcGxpdHRlZFswXTsKKysgICAg ICAgICAgICBpZiAoY3VzdG9tX3RoZW1lX3NwbGl0dGVkLmxlbmd0aCA9PSAyICYmCisrICAgICAg ICAgICAgY3VzdG9tX3RoZW1lX3NwbGl0dGVkWzFdID09ICJkYXJrIikKKysgICAgICAgICAgICAg ICAgZ3RrX3NldHRpbmdzLmd0a19hcHBsaWNhdGlvbl9wcmVmZXJfZGFya190aGVtZSA9IHRydWU7 CisrICAgICAgICAgICAgZWxzZQorKyAgICAgICAgICAgICAgICBndGtfc2V0dGluZ3MuZ3RrX2Fw cGxpY2F0aW9uX3ByZWZlcl9kYXJrX3RoZW1lID0gZmFsc2U7CisrICAgICAgICB9CisrICAgIH0K KysKKysgICAgcHVibGljIHN0YXRpYyB2b2lkCisrICAgIHNldF9jdXN0b21faWNvbihHTGliLlNl dHRpbmdzPyBzZXR0aW5nc19wYW5lbCkgeworKyAgICAgICAgaWYgKHNldHRpbmdzX3BhbmVsID09 IG51bGwpCisrICAgICAgICAgICAgcmV0dXJuOworKworKyAgICAgICAgYm9vbCB1c2VfY3VzdG9t X2ljb24gPSBzZXR0aW5nc19wYW5lbC5nZXRfYm9vbGVhbigidXNlLWN1c3RvbS1pY29uIik7Cisr ICAgICAgICBzdHJpbmcgY3VzdG9tX2ljb24gPSBzZXR0aW5nc19wYW5lbC5nZXRfc3RyaW5nKCJj dXN0b20taWNvbiIpOworKworKyAgICAgICAgR3RrLlNldHRpbmdzIGd0a19zZXR0aW5ncyA9IEd0 ay5TZXR0aW5ncy5nZXRfZGVmYXVsdCgpOworKworKyAgICAgICAgaWYgKHVzZV9jdXN0b21faWNv biA9PSBmYWxzZSkKKysgICAgICAgICAgICBjdXN0b21faWNvbiA9ICIiOworKworKyAgICAgICAg aWYgKGN1c3RvbV9pY29uID09IG51bGwgfHwgY3VzdG9tX2ljb24gPT0gIiIpCisrICAgICAgICAg ICAgZ3RrX3NldHRpbmdzLnJlc2V0X3Byb3BlcnR5KCJndGstaWNvbi10aGVtZS1uYW1lIik7Cisr ICAgICAgICBlbHNlCisrICAgICAgICAgICAgZ3RrX3NldHRpbmdzLmd0a19pY29uX3RoZW1lX25h bWUgPSBjdXN0b21faWNvbjsKKysgICAgfQorIH0KK2RpZmYgLS1naXQgYS91aS9ndGszL3BhbmVs LnZhbGEgYi91aS9ndGszL3BhbmVsLnZhbGEKK2luZGV4IDYxYmZhMWI2Li4xMDFjMmIzZCAxMDA2 NDQKKy0tLSBhL3VpL2d0azMvcGFuZWwudmFsYQorKysrIGIvdWkvZ3RrMy9wYW5lbC52YWxhCitA QCAtMjExLDYgKzIxMSwyMiBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmIG1fY3NzX3By b3ZpZGVyKTsKKyAgICAgICAgIH0pOwogIAotIHRlc3RfeGtiX2tleW1hcHMoKQotIHsKLSsgICAg IyBHX01FU1NBR0VTX0RFQlVHPWFsbCBvciBHX01FU1NBR0VTX0RFQlVHPUdMaWItR0lPLURFQlVH IHdvdWxkIGFwcGVuZAotKyAgICAjIGRlYnVnIG1lc3NhZ2VzIHRvIGdzZXR0aW5ncyBvdXRwdXQg YW5kIGNvdWxkIG5vdCBnZXQgdGhlIHJlc3VsdCBjb3JyZWN0bHkuCi0rICAgIGJhY2t1cF9HX01F U1NBR0VTX0RFQlVHPSIkR19NRVNTQUdFU19ERUJVRyIKLSsgICAgdW5zZXQgR19NRVNTQUdFU19E RUJVRwotICAgICAjIExvb3Agb3ZlciB0b3AgbGV2ZWwgc2NoZW1hcyBzaW5jZSAiZ3NldHRpbmdz IGxpc3QtcmVjdXJzaXZlbHkiIG9ubHkKLSAgICAgIyBsb29rcyBmb3IgZGlyZWN0IGNoaWxkcmVu LgotICAgICB4a2JfbGF0aW5fbGF5b3V0cz1gZ3NldHRpbmdzIGdldCBvcmcuZnJlZWRlc2t0b3Au aWJ1cy5nZW5lcmFsIHhrYi1sYXRpbi1sYXlvdXRzYAotKyAgICBpZiBbIHgiJGJhY2t1cF9HX01F U1NBR0VTX0RFQlVHIiAhPSB4IF0gOyB0aGVuCi0rICAgICAgICBleHBvcnQgR19NRVNTQUdFU19E RUJVRz0kYmFja3VwX0dfTUVTU0FHRVNfREVCVUcKLSsgICAgZmkKLSAgICAgd2hpbGUgcmVhZCBr ZXltYXAgOyBkbwotICAgICAgICAgZXZhbCBrZXltYXA9IiRrZXltYXAiCi0gICAgICAgICBIQVNf VkFSSUFOVD0kKCRFQ0hPICIka2V5bWFwIiB8IGdyZXAgJygnIDI+IC9kZXYvbnVsbCkgfHw6Cisr ICAgICAgICBtX3NldHRpbmdzX3BhbmVsLmNoYW5nZWRbImN1c3RvbS10aGVtZSJdLmNvbm5lY3Qo KGtleSkgPT4geworKyAgICAgICAgICAgICAgICBCaW5kaW5nQ29tbW9uLnNldF9jdXN0b21fdGhl bWUobV9zZXR0aW5nc19wYW5lbCk7CisrICAgICAgICB9KTsKKysKKysgICAgICAgIG1fc2V0dGlu Z3NfcGFuZWwuY2hhbmdlZFsidXNlLWN1c3RvbS10aGVtZSJdLmNvbm5lY3QoKGtleSkgPT4gewor KyAgICAgICAgICAgICAgICBCaW5kaW5nQ29tbW9uLnNldF9jdXN0b21fdGhlbWUobV9zZXR0aW5n c19wYW5lbCk7CisrICAgICAgICB9KTsKKysKKysgICAgICAgIG1fc2V0dGluZ3NfcGFuZWwuY2hh bmdlZFsiY3VzdG9tLWljb24iXS5jb25uZWN0KChrZXkpID0+IHsKKysgICAgICAgICAgICAgICAg QmluZGluZ0NvbW1vbi5zZXRfY3VzdG9tX2ljb24obV9zZXR0aW5nc19wYW5lbCk7CisrICAgICAg ICB9KTsKKysKKysgICAgICAgIG1fc2V0dGluZ3NfcGFuZWwuY2hhbmdlZFsidXNlLWN1c3RvbS1p Y29uIl0uY29ubmVjdCgoa2V5KSA9PiB7CisrICAgICAgICAgICAgICAgIEJpbmRpbmdDb21tb24u c2V0X2N1c3RvbV9pY29uKG1fc2V0dGluZ3NfcGFuZWwpOworKyAgICAgICAgfSk7CisrCisgICAg ICAgICBtX3NldHRpbmdzX3BhbmVsLmNoYW5nZWRbInVzZS1nbHlwaC1mcm9tLWVuZ2luZS1sYW5n Il0uY29ubmVjdCgoa2V5KSA9PgorICAgICAgICAgeworICAgICAgICAgICAgICAgICBtX3VzZV9l bmdpbmVfbGFuZyA9IG1fc2V0dGluZ3NfcGFuZWwuZ2V0X2Jvb2xlYW4oCitAQCAtODE2LDYgKzgz Miw4IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAgICAgICAgQmluZGlu Z0NvbW1vbi5zZXRfY3VzdG9tX2ZvbnQobV9zZXR0aW5nc19wYW5lbCwKKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIG51bGwsCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZWYgbV9jc3NfcHJvdmlkZXIpOworKyAgICAgICAgQmluZGluZ0NvbW1v bi5zZXRfY3VzdG9tX3RoZW1lKG1fc2V0dGluZ3NfcGFuZWwpOworKyAgICAgICAgQmluZGluZ0Nv bW1vbi5zZXRfY3VzdG9tX2ljb24obV9zZXR0aW5nc19wYW5lbCk7CisgICAgICAgICBzZXRfc2hv d19pY29uX29uX3N5c3RyYXkoKTsKKyAgICAgICAgIHNldF9sb29rdXBfdGFibGVfb3JpZW50YXRp b24oKTsKKyAgICAgICAgIHNldF9zaG93X3Byb3BlcnR5X3BhbmVsKCk7CitkaWZmIC0tZ2l0IGEv dWkvZ3RrMy9wYW5lbGJpbmRpbmcudmFsYSBiL3VpL2d0azMvcGFuZWxiaW5kaW5nLnZhbGEKK2lu ZGV4IGU2M2Q5M2YyLi4zYzUxNmFmZCAxMDA2NDQKKy0tLSBhL3VpL2d0azMvcGFuZWxiaW5kaW5n LnZhbGEKKysrKyBiL3VpL2d0azMvcGFuZWxiaW5kaW5nLnZhbGEKK0BAIC0yNzAsNiArMjcwLDIy IEBAIGNsYXNzIFBhbmVsQmluZGluZyA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVmIG1fY3NzX3Byb3ZpZGVyKTsK KyAgICAgICAgIH0pOworIAorKyAgICAgICAgbV9zZXR0aW5nc19wYW5lbC5jaGFuZ2VkWyJjdXN0 b20tdGhlbWUiXS5jb25uZWN0KChrZXkpID0+IHsKKysgICAgICAgICAgICAgICAgQmluZGluZ0Nv bW1vbi5zZXRfY3VzdG9tX3RoZW1lKG1fc2V0dGluZ3NfcGFuZWwpOworKyAgICAgICAgfSk7Cisr CisrICAgICAgICBtX3NldHRpbmdzX3BhbmVsLmNoYW5nZWRbInVzZS1jdXN0b20tdGhlbWUiXS5j b25uZWN0KChrZXkpID0+IHsKKysgICAgICAgICAgICAgICAgQmluZGluZ0NvbW1vbi5zZXRfY3Vz dG9tX3RoZW1lKG1fc2V0dGluZ3NfcGFuZWwpOworKyAgICAgICAgfSk7CisrCisrICAgICAgICBt X3NldHRpbmdzX3BhbmVsLmNoYW5nZWRbImN1c3RvbS1pY29uIl0uY29ubmVjdCgoa2V5KSA9PiB7 CisrICAgICAgICAgICAgICAgIEJpbmRpbmdDb21tb24uc2V0X2N1c3RvbV9pY29uKG1fc2V0dGlu Z3NfcGFuZWwpOworKyAgICAgICAgfSk7CisrCisrICAgICAgICBtX3NldHRpbmdzX3BhbmVsLmNo YW5nZWRbInVzZS1jdXN0b20taWNvbiJdLmNvbm5lY3QoKGtleSkgPT4geworKyAgICAgICAgICAg ICAgICBCaW5kaW5nQ29tbW9uLnNldF9jdXN0b21faWNvbihtX3NldHRpbmdzX3BhbmVsKTsKKysg ICAgICAgIH0pOworKworICAgICAgICAgbV9zZXR0aW5nc19lbW9qaS5jaGFuZ2VkWyJ1bmljb2Rl LWhvdGtleSJdLmNvbm5lY3QoKGtleSkgPT4geworICAgICAgICAgICAgICAgICBzZXRfZW1vamlf aG90a2V5KCk7CisgICAgICAgICB9KTsKK0BAIC00MjIsNiArNDM4LDggQEAgY2xhc3MgUGFuZWxC aW5kaW5nIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworICAgICAgICAgQmluZGluZ0NvbW1vbi5zZXRf Y3VzdG9tX2ZvbnQobV9zZXR0aW5nc19wYW5lbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIG1fc2V0dGluZ3NfZW1vamksCisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICByZWYgbV9jc3NfcHJvdmlkZXIpOworKyAgICAgICAgQmluZGluZ0NvbW1v bi5zZXRfY3VzdG9tX3RoZW1lKG1fc2V0dGluZ3NfcGFuZWwpOworKyAgICAgICAgQmluZGluZ0Nv bW1vbi5zZXRfY3VzdG9tX2ljb24obV9zZXR0aW5nc19wYW5lbCk7CisgICAgICAgICBzZXRfZW1v amlfZmF2b3JpdGVzKCk7CisgICAgICAgICBpZiAobV9sb2FkX2Vtb2ppX2F0X3N0YXJ0dXAgJiYg IW1fbG9hZGVkX2Vtb2ppKQorICAgICAgICAgICAgIHNldF9lbW9qaV9sYW5nKCk7CistLSAKKzIu MzUuMworCitGcm9tIGFkZGFiOWZkYzdmOThjMTcyYjZmY2IxZTI0ZmFhMTMzMzY4YmRhZjMgTW9u IFNlcCAxNyAwMDowMDowMCAyMDAxCitGcm9tOiBIb2xsb3cgTWFuIDxob2xsb3dtYW5Ab3BlbnN1 c2Uub3JnPgorRGF0ZTogV2VkLCAyNiBKYW4gMjAyMiAxMDowMzowNCArMDgwMAorU3ViamVjdDog W1BBVENIIDIvM10gUmV2ZXJ0IHN1cHBvcnQgZm9yIGNob29zaW5nIEdUSyB0aGVtZXMgZGFyayB2 YXJpYW50CisKK1NvIHRoYXQgdGhlIHRoZW1lIGxpc3Qgd29uJ3QgZ2V0IHRvbyBtZXNzeQorCitC VUc9aHR0cHM6Ly9naXRodWIuY29tL2lidXMvaWJ1cy9wdWxsLzIzMjcKKworU2lnbmVkLW9mZi1i eTogSG9sbG93IE1hbiA8aG9sbG93bWFuQG9wZW5zdXNlLm9yZz4KKy0tLQorIHNldHVwL21haW4u cHkgICAgICAgICAgICAgIHwgMTAgKystLS0tLS0tLQorIHVpL2d0azMvYmluZGluZ2NvbW1vbi52 YWxhIHwgMTQgKysrLS0tLS0tLS0tLS0KKyAyIGZpbGVzIGNoYW5nZWQsIDUgaW5zZXJ0aW9ucygr KSwgMTkgZGVsZXRpb25zKC0pCisKK2RpZmYgLS1naXQgYS9zZXR1cC9tYWluLnB5IGIvc2V0dXAv bWFpbi5weQoraW5kZXggNzE4OTY2OTMuLmQwZTA1NjY2IDEwMDY0NAorLS0tIGEvc2V0dXAvbWFp bi5weQorKysrIGIvc2V0dXAvbWFpbi5weQorQEAgLTY3MiwxOCArNjcyLDEyIEBAIGNsYXNzIFNl dHVwKG9iamVjdCk6CisgICAgICAgICBndGtfdGhlbWVfcGF0aCA9IFtdCisgICAgICAgICBmb3Ig cGF0aCBpbiBwYXRoX2xpc3Q6CisgICAgICAgICAgICAgZ3RrX3RoZW1lX3BhdGguZXh0ZW5kKGds b2IuZ2xvYihwYXRoICsgIi8qL2d0ay0qL2d0ay5jc3MiKSkKKy0gICAgICAgICAgICBndGtfdGhl bWVfcGF0aC5leHRlbmQoZ2xvYi5nbG9iKHBhdGggKyAiLyovZ3RrLSovZ3RrLWRhcmsuY3NzIikp CisgICAgICAgICBmb3IgcGF0aCBpbiBndGtfdGhlbWVfcGF0aDoKKy0gICAgICAgICAgICBmaWxl bmFtZSA9IG9zLnBhdGguYmFzZW5hbWUocGF0aCkKKy0gICAgICAgICAgICBhcHBlbmRpeCA9ICIi CistICAgICAgICAgICAgaWYgZmlsZW5hbWUgPT0gImd0ay1kYXJrLmNzcyI6CistICAgICAgICAg ICAgICAgIGFwcGVuZGl4ID0gIjpkYXJrIgorICAgICAgICAgICAgIHRoZW1lX25hbWVfbGlzdC5h cHBlbmQob3MucGF0aC5iYXNlbmFtZSgKKy0gICAgICAgICAgICAgICAgb3MucGF0aC5kaXJuYW1l KG9zLnBhdGguZGlybmFtZShwYXRoKSkpICsgYXBwZW5kaXgpCisrICAgICAgICAgICAgICAgIG9z LnBhdGguZGlybmFtZShvcy5wYXRoLmRpcm5hbWUocGF0aCkpKSkKKyAKKyAgICAgICAgIHRoZW1l X25hbWVfbGlzdC5leHRlbmQoWworLSAgICAgICAgICAgICdBZHdhaXRhJywgJ0Fkd2FpdGE6ZGFy aycsCistICAgICAgICAgICAgJ0hpZ2hDb250cmFzdCcsICdIaWdoQ29udHJhc3RJbnZlcnNlJwor KyAgICAgICAgICAgICdBZHdhaXRhJywgJ0hpZ2hDb250cmFzdCcsICdIaWdoQ29udHJhc3RJbnZl cnNlJworICAgICAgICAgXSkKKyAgICAgICAgIHRoZW1lX25hbWVfbGlzdCA9IGxpc3Qoc2V0KHRo ZW1lX25hbWVfbGlzdCkpCisgICAgICAgICB0aGVtZV9uYW1lX2xpc3Quc29ydCgpCitkaWZmIC0t Z2l0IGEvdWkvZ3RrMy9iaW5kaW5nY29tbW9uLnZhbGEgYi91aS9ndGszL2JpbmRpbmdjb21tb24u dmFsYQoraW5kZXggZTgyNTE2N2IuLjRlY2I3MTU5IDEwMDY0NAorLS0tIGEvdWkvZ3RrMy9iaW5k aW5nY29tbW9uLnZhbGEKKysrKyBiL3VpL2d0azMvYmluZGluZ2NvbW1vbi52YWxhCitAQCAtMjI2 LDE4ICsyMjYsMTAgQEAgY2xhc3MgQmluZGluZ0NvbW1vbiB7CisgICAgICAgICBpZiAodXNlX2N1 c3RvbV90aGVtZSA9PSBmYWxzZSkKKyAgICAgICAgICAgICBjdXN0b21fdGhlbWUgPSAiIjsKKyAK Ky0gICAgICAgIGlmIChjdXN0b21fdGhlbWUgPT0gbnVsbCB8fCBjdXN0b21fdGhlbWUgPT0gIiIp IHsKKysgICAgICAgIGlmIChjdXN0b21fdGhlbWUgPT0gbnVsbCB8fCBjdXN0b21fdGhlbWUgPT0g IiIpCisgICAgICAgICAgICAgZ3RrX3NldHRpbmdzLnJlc2V0X3Byb3BlcnR5KCJndGstdGhlbWUt bmFtZSIpOworLSAgICAgICAgICAgIGd0a19zZXR0aW5ncy5yZXNldF9wcm9wZXJ0eSgiZ3RrLWFw cGxpY2F0aW9uLXByZWZlci1kYXJrLXRoZW1lIik7CistICAgICAgICB9IGVsc2UgeworLSAgICAg ICAgICAgIHN0cmluZ1tdIGN1c3RvbV90aGVtZV9zcGxpdHRlZCA9IGN1c3RvbV90aGVtZS5zcGxp dCgiOiIpOworLSAgICAgICAgICAgIGd0a19zZXR0aW5ncy5ndGtfdGhlbWVfbmFtZSA9IGN1c3Rv bV90aGVtZV9zcGxpdHRlZFswXTsKKy0gICAgICAgICAgICBpZiAoY3VzdG9tX3RoZW1lX3NwbGl0 dGVkLmxlbmd0aCA9PSAyICYmCistICAgICAgICAgICAgY3VzdG9tX3RoZW1lX3NwbGl0dGVkWzFd ID09ICJkYXJrIikKKy0gICAgICAgICAgICAgICAgZ3RrX3NldHRpbmdzLmd0a19hcHBsaWNhdGlv bl9wcmVmZXJfZGFya190aGVtZSA9IHRydWU7CistICAgICAgICAgICAgZWxzZQorLSAgICAgICAg ICAgICAgICBndGtfc2V0dGluZ3MuZ3RrX2FwcGxpY2F0aW9uX3ByZWZlcl9kYXJrX3RoZW1lID0g ZmFsc2U7CistICAgICAgICB9CisrICAgICAgICBlbHNlCisrICAgICAgICAgICAgZ3RrX3NldHRp bmdzLmd0a190aGVtZV9uYW1lID0gY3VzdG9tX3RoZW1lOworICAgICB9CisgCisgICAgIHB1Ymxp YyBzdGF0aWMgdm9pZAorLS0gCisyLjM1LjMKKworRnJvbSBmZjk5ODI4Y2I2MDkxNTMxOGVkMGY0 MDk5OGExYTIzZDVkZWE0MmM3IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbTogSG9sbG93 IE1hbiA8aG9sbG93bWFuQG9wZW5zdXNlLm9yZz4KK0RhdGU6IFdlZCwgMjYgSmFuIDIwMjIgMTE6 MTk6NDAgKzA4MDAKK1N1YmplY3Q6IFtQQVRDSCAzLzNdIEFkZCB0b29sdGlwIHRleHQgZm9yIHVz ZSBjdXN0b20gaWNvbiBhbmQgdGhlbWUKKworQlVHPWh0dHBzOi8vZ2l0aHViLmNvbS9pYnVzL2li dXMvcHVsbC8yMzI3CisKK1NpZ25lZC1vZmYtYnk6IEhvbGxvdyBNYW4gPGhvbGxvd21hbkBvcGVu c3VzZS5vcmc+CistLS0KKyBzZXR1cC9zZXR1cC51aSB8IDIgKysKKyAxIGZpbGUgY2hhbmdlZCwg MiBpbnNlcnRpb25zKCspCisKK2RpZmYgLS1naXQgYS9zZXR1cC9zZXR1cC51aSBiL3NldHVwL3Nl dHVwLnVpCitpbmRleCA1YTk4MDRmOS4uNmRlZDIwNjEgMTAwNjQ0CistLS0gYS9zZXR1cC9zZXR1 cC51aQorKysrIGIvc2V0dXAvc2V0dXAudWkKK0BAIC0xMzM5LDYgKzEzMzksNyBAQAorICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA8Y2hpbGQ+CisgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPG9iamVjdCBjbGFzcz0iR3RrQ2hlY2tCdXR0b24iIGlkPSJjaGVja2J1dHRvbl9jdXN0 b21fdGhlbWUiPgorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5h bWU9ImxhYmVsIiB0cmFuc2xhdGFibGU9InllcyI+VXNlIGN1c3RvbSB0aGVtZTo8L3Byb3BlcnR5 PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9InRvb2x0 aXBfdGV4dCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPkNob29zZSBhIHRoZW1lIG9mIHRoZSBjYW5kaWRh dGUgd2luZG93PC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxw cm9wZXJ0eSBuYW1lPSJ1c2VfYWN0aW9uX2FwcGVhcmFuY2UiPkZhbHNlPC9wcm9wZXJ0eT4KKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5U cnVlPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0 eSBuYW1lPSJjYW5fZm9jdXMiPlRydWU8L3Byb3BlcnR5PgorQEAgLTEzNzUsNiArMTM3Niw3IEBA CisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjaGlsZD4KKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA8b2JqZWN0IGNsYXNzPSJHdGtDaGVja0J1dHRvbiIgaWQ9ImNoZWNrYnV0 dG9uX2N1c3RvbV9pY29uIj4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9w ZXJ0eSBuYW1lPSJsYWJlbCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPlVzZSBjdXN0b20gaWNvbjo8L3By b3BlcnR5PgorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHByb3BlcnR5IG5hbWU9 InRvb2x0aXBfdGV4dCIgdHJhbnNsYXRhYmxlPSJ5ZXMiPkNob29zZSBhIHRoZW1lIG9mIHRoZSBh cnJvdyBidXR0b25zIG9uIHRoZSBjYW5kaWRhdGUgd2luZG93PC9wcm9wZXJ0eT4KKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJ1c2VfYWN0aW9uX2FwcGVh cmFuY2UiPkZhbHNlPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDxwcm9wZXJ0eSBuYW1lPSJ2aXNpYmxlIj5UcnVlPC9wcm9wZXJ0eT4KKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDxwcm9wZXJ0eSBuYW1lPSJjYW5fZm9jdXMiPlRydWU8L3Byb3Bl cnR5PgogLS0gCiAyLjM1LjMKIAotRnJvbSA1OWQ5NDAxZGEyNTRjMDE1MmMzMTNmOTAyNzQ1N2Vi MjM0YTIzYThjIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQorRnJvbSA5YWQwNjM3NDZlYzNkOTE5 MjE3YWUxOGFjY2UyZDQ3NjhiY2ZjYTA1IE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQogRnJvbTog ZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogU2F0LCAxMSBKdW4g MjAyMiAyMToxMDoxMiArMDkwMAorRGF0ZTogTW9uLCAyMCBKdW4gMjAyMiAyMTowMTozMSArMDkw MAogU3ViamVjdDogW1BBVENIXSB1aS9ndGszOiBIaWRlIFhLQiBlbmdpbmUgYnV0IGVuYWJsZSBp dCBpbiBQbGFzbWEgV2F5bGFuZAogCi1JQnVzIGp1c3QgY2Fubm90IGZvcndhcmQga2V5IGV2ZW50 cyBpbiBQbGFzbWEgV2F5bGFuZCBiZWNhdXNlCi1JQnVzIGhhcyB0byBoYW5kbGUgdGhlIGNvbXBv c2Uga2V5cy4KK0lCdXMganVzdCBjYW5ub3QgZGVmZXIga2V5IGV2ZW50cyB0byB0aGUgc2Vjb25k YXJ5IGlucHV0IG1ldGhvZHMKK3RvIHN3aXRjaCBYS0Iga2V5bWFwcyBpbiBQbGFzbWEgV2F5bGFu ZCBiZWNhdXNlIElCdXMgaGFzIHRvIGhhbmRsZSB0aGUKK2NvbXBvc2Uga2V5cyBiZWZvcmUgZGVm ZXIgdGhlIGtleSBldmVudHMuCisKK0Fsc28gdXBkYXRlIHRoZSBQT1QgZmlsZS4KIAogQlVHPXJo YnojMjA4ODY1NgogLS0tCi0gdWkvZ3RrMy9wYW5lbC52YWxhIHwgNTAgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLQotIDEgZmlsZSBjaGFuZ2VkLCAzMyBpbnNl cnRpb25zKCspLCAxNyBkZWxldGlvbnMoLSkKKyBkYXRhL2Rjb25mL29yZy5mcmVlZGVza3RvcC5p YnVzLmdzY2hlbWEueG1sIHwgICA0ICstCisgdWkvZ3RrMy9wYW5lbC52YWxhICAgICAgICAgICAg ICAgICAgICAgICAgICB8ICA1MCArKy0KKyAzIGZpbGVzIGNoYW5nZWQsIDI0OCBpbnNlcnRpb25z KCspLCAxODAgZGVsZXRpb25zKC0pCiAKK2RpZmYgLS1naXQgYS9kYXRhL2Rjb25mL29yZy5mcmVl ZGVza3RvcC5pYnVzLmdzY2hlbWEueG1sIGIvZGF0YS9kY29uZi9vcmcuZnJlZWRlc2t0b3AuaWJ1 cy5nc2NoZW1hLnhtbAoraW5kZXggMDUxZjIxYTUuLjBlY2UyYjRmIDEwMDY0NAorLS0tIGEvZGF0 YS9kY29uZi9vcmcuZnJlZWRlc2t0b3AuaWJ1cy5nc2NoZW1hLnhtbAorKysrIGIvZGF0YS9kY29u Zi9vcmcuZnJlZWRlc2t0b3AuaWJ1cy5nc2NoZW1hLnhtbAorQEAgLTIyMywxMiArMjIzLDEyIEBA CisgICAgIDxrZXkgbmFtZT0idXNlLWN1c3RvbS1pY29uIiB0eXBlPSJiIj4KKyAgICAgICA8ZGVm YXVsdD5mYWxzZTwvZGVmYXVsdD4KKyAgICAgICA8c3VtbWFyeT5Vc2UgY3VzdG9tIGljb248L3N1 bW1hcnk+CistICAgICAgPGRlc2NyaXB0aW9uPlVzZSBjdXN0b20gaWNvbiBuYW1lIGZvciBsYW5n dWFnZSBwYW5lbDwvZGVzY3JpcHRpb24+CisrICAgICAgPGRlc2NyaXB0aW9uPlVzZSBjdXN0b20g aWNvbiBuYW1lIGZvciBhcnJvdyBidXR0b25zIG9uIGNhbmRpZGF0ZSB3aW5kb3c8L2Rlc2NyaXB0 aW9uPgorICAgICA8L2tleT4KKyAgICAgPGtleSBuYW1lPSJjdXN0b20taWNvbiIgdHlwZT0icyI+ CisgICAgICAgPGRlZmF1bHQ+J0Fkd2FpdGEnPC9kZWZhdWx0PgorICAgICAgIDxzdW1tYXJ5PkN1 c3RvbSBpY29uPC9zdW1tYXJ5PgorLSAgICAgIDxkZXNjcmlwdGlvbj5DdXN0b20gaWNvbiBuYW1l IGZvciBsYW5ndWFnZSBwYW5lbDwvZGVzY3JpcHRpb24+CisrICAgICAgPGRlc2NyaXB0aW9uPkN1 c3RvbSBpY29uIG5hbWUgZm9yIGFycm93IGJ1dHRvbnMgb24gY2FuZGlkYXRlIHdpbmRvdzwvZGVz Y3JpcHRpb24+CisgICAgIDwva2V5PgorICAgICA8a2V5IG5hbWU9InVzZS1nbHlwaC1mcm9tLWVu Z2luZS1sYW5nIiB0eXBlPSJiIj4KKyAgICAgICA8ZGVmYXVsdD50cnVlPC9kZWZhdWx0PgogZGlm ZiAtLWdpdCBhL3VpL2d0azMvcGFuZWwudmFsYSBiL3VpL2d0azMvcGFuZWwudmFsYQotaW5kZXgg NjFiZmExYjYuLjI4YTFhYTBiIDEwMDY0NAoraW5kZXggMTAxYzJiM2QuLjQ1MmIxNGM4IDEwMDY0 NAogLS0tIGEvdWkvZ3RrMy9wYW5lbC52YWxhCiArKysgYi91aS9ndGszL3BhbmVsLnZhbGEKIEBA IC00MSw2ICs0MSw3IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgewpAQCAtMTEx OSw3ICsxNjc3LDcgQEAgaW5kZXggNjFiZmExYjYuLjI4YTFhYTBiIDEwMDY0NAogICAgICBwcml2 YXRlIEdMaWIuSGFzaFRhYmxlPHN0cmluZywgSUJ1cy5FbmdpbmVEZXNjPiBtX2VuZ2luZV9jb250 ZXh0cyA9CiAgICAgICAgICAgICAgbmV3IEdMaWIuSGFzaFRhYmxlPHN0cmluZywgSUJ1cy5Fbmdp bmVEZXNjPihHTGliLnN0cl9oYXNoLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR0xpYi5zdHJfZXF1YWwpOwotQEAgLTkxMCwxMyArOTEx LDIwIEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgeworQEAgLTkyOCwxMyArOTI5 LDIwIEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgewogICAgICB9CiAgCiAgICAg IHByaXZhdGUgdm9pZCBzd2l0Y2hfZW5naW5lKGludCBpLCBib29sIGZvcmNlID0gZmFsc2UpIHsK QEAgLTExNDIsNyArMTcwMCw3IEBAIGluZGV4IDYxYmZhMWI2Li4yOGExYWEwYiAxMDA2NDQKICAK ICAgICAgICAgIHNldF9lbmdpbmUoZW5naW5lKTsKICAgICAgfQotQEAgLTEwMDYsMTcgKzEwMTQs MTUgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CitAQCAtMTAyNCwxNyArMTAz MiwxNSBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNlIHsKICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cmluZ1tdPyBvcmRlcl9uYW1lcykgewogICAgICAgICAgc3Ry aW5nW10/IGVuZ2luZV9uYW1lcyA9IHVub3duZWRfZW5naW5lX25hbWVzOwogIApAQCAtMTE2NCw3 ICsxNzIyLDcgQEAgaW5kZXggNjFiZmExYjYuLjI4YTFhYTBiIDEwMDY0NAogICAgICAgICAgICAg ICAgICBjb250aW51ZTsKICAgICAgICAgICAgICBpZiAobmFtZSBpbiBlbmdpbmVfbmFtZXMpCiAg ICAgICAgICAgICAgICAgIG5hbWVzICs9IG5hbWU7Ci1AQCAtMTAyNCw3ICsxMDMwLDcgQEAgY2xh c3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CitAQCAtMTA0Miw3ICsxMDQ4LDcgQEAgY2xh c3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CiAgCiAgICAgICAgICBmb3JlYWNoICh2YXIg bmFtZSBpbiBlbmdpbmVfbmFtZXMpIHsKICAgICAgICAgICAgICBpZiAobV9pc193YXlsYW5kICYm IG5hbWUuaGFzX3ByZWZpeCgieGtiOiIpKQpAQCAtMTE3Myw3ICsxNzMxLDcgQEAgaW5kZXggNjFi ZmExYjYuLjI4YTFhYTBiIDEwMDY0NAogICAgICAgICAgICAgIGlmIChuYW1lIGluIG5hbWVzKQog ICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgICBuYW1lcyArPSBuYW1lOwot QEAgLTEwNjUsMTQgKzEwNzEsMjAgQEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7 CitAQCAtMTA4MywxNCArMTA4OSwyMCBAQCBjbGFzcyBQYW5lbCA6IElCdXMuUGFuZWxTZXJ2aWNl IHsKICAJfQogIAogICAgICAgICAgaWYgKG1fZW5naW5lcy5sZW5ndGggPT0gMCkgewpAQCAtMTIw MSw3ICsxNzU5LDcgQEAgaW5kZXggNjFiZmExYjYuLjI4YTFhYTBiIDEwMDY0NAogICAgICAgICAg fSBlbHNlIHsKICAgICAgICAgICAgICB2YXIgY3VycmVudF9lbmdpbmUgPSBtX2VuZ2luZXNbMF07 CiAgICAgICAgICAgICAgbV9lbmdpbmVzID0gZW5naW5lczsKLUBAIC0xMjg5LDYgKzEzMDEsMTAg QEAgY2xhc3MgUGFuZWwgOiBJQnVzLlBhbmVsU2VydmljZSB7CitAQCAtMTMwNyw2ICsxMzE5LDEw IEBAIGNsYXNzIFBhbmVsIDogSUJ1cy5QYW5lbFNlcnZpY2UgewogICAgICAgICAgICAgIHZhciBs b25nbmFtZSA9IGVuZ2luZS5nZXRfbG9uZ25hbWUoKTsKICAgICAgICAgICAgICB2YXIgdGV4dGRv bWFpbiA9IGVuZ2luZS5nZXRfdGV4dGRvbWFpbigpOwogICAgICAgICAgICAgIHZhciB0cmFuc25h bWUgPSBHTGliLmRnZXR0ZXh0KHRleHRkb21haW4sIGxvbmduYW1lKTsKQEAgLTEyMTIsNyArMTc3 MCw3IEBAIGluZGV4IDYxYmZhMWI2Li4yOGExYWEwYiAxMDA2NDQKICAgICAgICAgICAgICB2YXIg aXRlbSA9IG5ldyBHdGsuTWVudUl0ZW0ud2l0aF9sYWJlbCgKICAgICAgICAgICAgICAgICAgIiVz IC0gJXMiLnByaW50ZiAoSUJ1cy5nZXRfbGFuZ3VhZ2VfbmFtZShsYW5ndWFnZSksIHRyYW5zbmFt ZSkpOwogICAgICAgICAgICAgIC8vIE1ha2UgYSBjb3B5IG9mIGVuZ2luZSB0byB3b3JrYXJvdW5k IGEgYnVnIGluIHZhbGEuCi1AQCAtMTU2Niw3ICsxNTgyLDcgQEAgY2xhc3MgUGFuZWwgOiBJQnVz LlBhbmVsU2VydmljZSB7CitAQCAtMTU4NCw3ICsxNjAwLDcgQEAgY2xhc3MgUGFuZWwgOiBJQnVz LlBhbmVsU2VydmljZSB7CiAgCiAgICAgICAgICAgICAgaWYgKGVuZ2luZSAhPSBudWxsKSB7CiAg ICAgICAgICAgICAgICAgIHZhciBuYW1lID0gZW5naW5lLmdldF9uYW1lKCk7CkBAIC0xMjI0LDMg KzE3ODIsNTU2IEBAIGluZGV4IDYxYmZhMWI2Li4yOGExYWEwYiAxMDA2NDQKIC0tIAogMi4zNS4z CiAKK0Zyb20gNzhjZTA5MjkxNGUwMGQ2YWYzYjJiOTAyNjNkZDZmNDFkZTc1NzQxZSBNb24gU2Vw IDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWls LmNvbT4KK0RhdGU6IFNhdCwgMjUgSnVuIDIwMjIgMjA6NDg6NTAgKzA5MDAKK1N1YmplY3Q6IFtQ QVRDSF0gdG9vbHM6IEVuYWJsZSBpYnVzIHJlc3RhcnQgaW4gR05PTUUgZGVza3RvcAorCitJZiBp YnVzLWRhZW1vbiBpcyBjYWxsZWQgdmlhIHN5c3RlbWQsIElCdXMgcmVzdGFydCBBUEkgY2Fubm90 IHJlc3RhcnQKK2lidXMtZGFlbW9uIGJ1dCBqdXN0IHRlcm1pbmF0ZXMgaXQuCitOb3cgaWJ1cyBy ZXN0YXJ0IGNvbW1hbmQgY2hlY2tzIHRoZSBzeXN0ZW1kIGF2YWlhYmlsaXR5IGFuZCByZXN0YXJ0 CitpYnVzLWRhZW1vbiB2aWEgc3lzdGVtZC4KK2lidXMgc3RhcnQgY29tbWFuZCBpcyBhbHNvIGFk ZGVkIHRvIGxhdW5jaCBpYnVzLWRhZW1vbiB3aXRoIHN5c3RlbWQuCistLS0KKyB0b29scy9NYWtl ZmlsZS5hbSB8ICAgMyArLQorIHRvb2xzL2lidXMuMS5pbiAgIHwgIDMwICsrKysrLQorIHRvb2xz L21haW4udmFsYSAgIHwgMjMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrLS0KKyAzIGZpbGVzIGNoYW5nZWQsIDI1MiBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlv bnMoLSkKKworZGlmZiAtLWdpdCBhL3Rvb2xzL01ha2VmaWxlLmFtIGIvdG9vbHMvTWFrZWZpbGUu YW0KK2luZGV4IDVjMThkM2Q2Li5lMzgwYTlhYSAxMDA2NDQKKy0tLSBhL3Rvb2xzL01ha2VmaWxl LmFtCisrKysgYi90b29scy9NYWtlZmlsZS5hbQorQEAgLTMsNyArMyw3IEBACisgIyBpYnVzIC0g VGhlIElucHV0IEJ1cworICMKKyAjIENvcHlyaWdodCAoYykgMjAwNy0yMDEzIFBlbmcgSHVhbmcg PHNoYXduLnAuaHVhbmdAZ21haWwuY29tPgorLSMgQ29weXJpZ2h0IChjKSAyMDE1LTIwMTcgVGFr YW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CisrIyBDb3B5cmlnaHQgKGMp IDIwMTUtMjAyMiBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KKyAj IENvcHlyaWdodCAoYykgMjAwNy0yMDE3IFJlZCBIYXQsIEluYy4KKyAjCisgIyBUaGlzIGxpYnJh cnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCitAQCAt NTcsNiArNTcsNyBAQCBBTV9MREFERCA9IFwKKyBBTV9WQUxBRkxBR1MgPSBcCisgCS0tdmFwaWRp cj0kKHRvcF9idWlsZGRpcikvYmluZGluZ3MvdmFsYSBcCisgCS0tdmFwaWRpcj0kKHRvcF9zcmNk aXIpL2JpbmRpbmdzL3ZhbGEgXAorKwktLXBrZz1naW8tMi4wIFwKKyAJLS1wa2c9aWJ1cy0xLjAg XAorIAktLXBrZz1wb3NpeCBcCisgCS0tcGtnPWNvbmZpZyBcCitkaWZmIC0tZ2l0IGEvdG9vbHMv aWJ1cy4xLmluIGIvdG9vbHMvaWJ1cy4xLmluCitpbmRleCA1MjVkOTcyZS4uMGMxNmEwZDIgMTAw NjQ0CistLS0gYS90b29scy9pYnVzLjEuaW4KKysrKyBiL3Rvb2xzL2lidXMuMS5pbgorQEAgLTMs NyArMyw3IEBACisgLlwiIENvcHlyaWdodCAoQykgVGFrYW8gRnVqaXdhcmEgPHRha2FvLmZ1aml3 YXJhMUBnbWFpbC5jb20+LCAyMDEzLTIwMTcuCisgLlwiIENvcHlyaWdodCAoYykgUGVuZyBIdWFu ZyA8c2hhd24ucC5odWFuZ0BnbWFpbC5jb20+LCAyMDEzLgorIC5cIgorLS5USCAiSUJVUyIgMSAi TWF5IDIwMTciICJAVkVSU0lPTkAiICJVc2VyIENvbW1hbmRzIgorKy5USCAiSUJVUyIgMSAiSnVu IDIwMjIiICJAVkVSU0lPTkAiICJVc2VyIENvbW1hbmRzIgorIC5TSCBOQU1FCisgLkIgaWJ1cwor IFwtIGNvbW1hbmQgbGluZSB1dGlsaXR5IGZvciBpYnVzCitAQCAtNDUsMTMgKzQ1LDMzIEBAIEV4 aXQgaWJ1cy1kYWVtb24uCisgXGZCbGlzdC1lbmdpbmVcZlIKKyBTaG93IGlidXMgZW5naW5lcyBs aXN0LgorIC5UUAorLVxmQnJlc3RhcnRcZlIKKy1SZXN0YXJ0IGlidXMtZGFlbW9uLgorK1xmQnJl c3RhcnRcZlIgW1xmQlwtXC10eXBlPVRZUEV8XC1cLXZlcmJvc2V8XC1cLWhlbHBcZlJdCisrUmVz dGFydCBpYnVzLWRhZW1vbi4gVGhpcyBjb21tYW5kIHRyaWVzIHRvIHJlc3RhcnQgaWJ1cy1kYWVt b24gdmlhIHN5c3RlbWQKKytmaXJzdGx5IGFuZCBkaXJlY3RseSBzZWNvbmRhcnkgYnkgZGVmYXVs dC4gSWYKKysuQiBcLVwtdHlwZT1zeXN0ZW1kCisraXMgZ2l2ZW4sIEl0IHRyaWVzIHRvIHJlc3Rh cnQgdmlhIHN5c3RlbWQgb25seS4gSWYKKysuQiBcLVwtdHlwZT1kaXJlY3QKKytpcyBnaXZlbiwg SXQgdHJpZXMgdG8gcmVzdGFydCB3aXRoIGFuIElCdXMgQVBJIG9ubHkuIEdOT01FIGRlc2t0b3Ag cnVucworK2lidXMtZGFlbW9uIHZpYSBzeXN0ZW1kIGFuZCBvdGhlciBkZXNrdG9wcyBydW4gaWJ1 cy1kYWVtb24gZGlyZWN0bHkuCisrLlRQCisrXGZCc3RhcnRcZlIgW1xmQlwtXC10eXBlPVRZUEV8 XC1cLXZlcmJvc2V8XC1cLWhlbHBcZlJdCisrU3RhcnQgaWJ1cy1kYWVtb24uIFRoaXMgY29tbWFu ZCB0cmllcyB0byBzdGFydCBpYnVzLWRhZW1vbiB2aWEgc3lzdGVtZAorK2ZpcnN0bHkgYW5kIGRp cmVjdGx5IHNlY29uZGFyeSBieSBkZWZhdWx0LiBJZgorKy5CIFwtXC10eXBlPXN5c3RlbWQKKytp cyBnaXZlbiwgSXQgdHJpZXMgdG8gc3RhcnQgYXMgYSBiYWNrZ3JvdW5kIHByb2Nlc3MgdmlhIHN5 c3RlbWQgb25seS4gSWYKKysuQiBcLVwtdHlwZT1kaXJlY3QKKytpcyBnaXZlbiwgSXQgdHJpZXMg dG8gc3RhcnQgZGlyZWN0bHkgb25seSBhcyBhIGZvcmVncm91bmQgcHJvY2VzcyBhbmQgb3RoZXIK KytvcHRpb24gYXJndW1lbnRzIG9mIGlidXMgY29tbWFuZCBhcmUgc2VudCB0byBpYnVzLWRhZW1v bi4gRS5nLgorK2lidXMgc3RhcnQKKysuQiBcLVwtdHlwZT1kaXJlY3QKKysuQiBcLVwteGltCisr JgorK0dOT01FIGRlc2t0b3AgcnVucyBpYnVzLWRhZW1vbiB2aWEgc3lzdGVtZCBhbmQgb3RoZXIg ZGVza3RvcHMgcnVuIGlidXMtZGFlbW9uIGRpcmVjdGx5LgorIC5UUAorIFxmQnZlcnNpb25cZlIK KyBTaG93IHRoZSBpYnVzIHZlcnNpb24uCisgLlRQCistXGZCcmVhZFwtY2FjaGVcZlIgW1xmQlwt XC1zeXN0ZW18XC1cLWZpbGU9RklMRVxmUl0KKytcZkJyZWFkXC1jYWNoZVxmUiBbXGZCXC1cLXN5 c3RlbXxcLVwtZmlsZT1GSUxFfFwtXC1oZWxwXGZSXQorIFNob3cgdGhlIGNvbnRlbnQgb2YgdGhl IHVzZXIgcmVnaXN0cnkgY2FjaGUgaWYKKyAuQiBcLVwtc3lzdGVtCisgaXMgbm90IGdpdmVuLgor QEAgLTY0LDcgKzg0LDcgQEAgaWYKKyAuQiBcLVwtZmlsZT1GSUxFCisgaXMgZ2l2ZW4uCisgLlRQ CistXGZCd3JpdGVcLWNhY2hlXGZSIFtcZkJcLVwtc3lzdGVtfFwtXC1maWxlPUZJTEVcZlJdCisr XGZCd3JpdGVcLWNhY2hlXGZSIFtcZkJcLVwtc3lzdGVtfFwtXC1maWxlPUZJTEV8XC1cLWhlbHBc ZlJdCisgU2F2ZSB0aGUgdXNlciByZWdpc3RyeSBjYWNoZSBpZgorIC5CIFwtXC1zeXN0ZW0KKyBp cyBub3QgZ2l2ZW4uCitkaWZmIC0tZ2l0IGEvdG9vbHMvbWFpbi52YWxhIGIvdG9vbHMvbWFpbi52 YWxhCitpbmRleCAyNmU3ZmQ4OC4uNzExMzQzMzQgMTAwNjQ0CistLS0gYS90b29scy9tYWluLnZh bGEKKysrKyBiL3Rvb2xzL21haW4udmFsYQorQEAgLTMsNyArMyw3IEBACisgICogaWJ1cyAtIFRo ZSBJbnB1dCBCdXMKKyAgKgorICAqIENvcHlyaWdodChjKSAyMDEzIFBlbmcgSHVhbmcgPHNoYXdu LnAuaHVhbmdAZ21haWwuY29tPgorLSAqIENvcHlyaWdodChjKSAyMDE1LTIwMjAgVGFrYW8gRnVq aXdhcmEgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+CisrICogQ29weXJpZ2h0KGMpIDIwMTUt MjAyMiBUYWthbyBGdWppd2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KKyAgKgorICAq IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh bmQvb3IKKyAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGVzc2VyIEdl bmVyYWwgUHVibGljCitAQCAtMjcsMTcgKzI3LDIyIEBAIHByaXZhdGUgY29uc3Qgc3RyaW5nIElC VVNfU0NIRU1BU19HRU5FUkFMX0hPVEtFWSA9CisgcHJpdmF0ZSBjb25zdCBzdHJpbmcgSUJVU19T Q0hFTUFTX1BBTkVMID0gIm9yZy5mcmVlZGVza3RvcC5pYnVzLnBhbmVsIjsKKyBwcml2YXRlIGNv bnN0IHN0cmluZyBJQlVTX1NDSEVNQVNfUEFORUxfRU1PSkkgPQorICAgICAgICAgIm9yZy5mcmVl ZGVza3RvcC5pYnVzLnBhbmVsLmVtb2ppIjsKKytwcml2YXRlIGNvbnN0IHN0cmluZyBTWVNURU1E X1NFU1NJT05fR05PTUVfRklMRSA9CisrICAgICAgICAib3JnLmZyZWVkZXNrdG9wLklCdXMuc2Vz c2lvbi5HTk9NRS5zZXJ2aWNlIjsKKyAKKyBib29sIG5hbWVfb25seSA9IGZhbHNlOworIC8qIHN5 c3RlbSgpIGV4aXN0cyBhcyBhIHB1YmxpYyBBUEkuICovCisgYm9vbCBpc19zeXN0ZW0gPSBmYWxz ZTsKKyBzdHJpbmcgY2FjaGVfZmlsZSA9IG51bGw7Cisgc3RyaW5nIGVuZ2luZV9pZCA9IG51bGw7 CisrYm9vbCB2ZXJib3NlID0gZmFsc2U7Cisrc3RyaW5nIGRhZW1vbl90eXBlID0gbnVsbDsKKyAK KyBjbGFzcyBFbmdpbmVMaXN0IHsKKyAgICAgcHVibGljIElCdXMuRW5naW5lRGVzY1tdIGRhdGEg PSB7fTsKKyB9CisgCisrCisgSUJ1cy5CdXM/IGdldF9idXMoKSB7CisgICAgIHZhciBidXMgPSBu ZXcgSUJ1cy5CdXMoKTsKKyAgICAgaWYgKCFidXMuaXNfY29ubmVjdGVkICgpKQorQEAgLTQ1LDYg KzUwLDEyMyBAQCBJQnVzLkJ1cz8gZ2V0X2J1cygpIHsKKyAgICAgcmV0dXJuIGJ1czsKKyB9Cisg CisrCisrR0xpYi5EQnVzQ29ubmVjdGlvbj8gIGdldF9zZXNzaW9uX2J1cyhib29sIHZlcmJvc2Up IHsKKysgICAgdHJ5IHsKKysgICAgICAgIHJldHVybiBHTGliLkJ1cy5nZXRfc3luYyAoR0xpYi5C dXNUeXBlLlNFU1NJT04sIG51bGwpOworKyAgICB9IGNhdGNoIChHTGliLklPRXJyb3IgZSkgewor KyAgICAgICAgaWYgKHZlcmJvc2UpCisrICAgICAgICAgICAgc3RkZXJyLnByaW50ZigiJXNcbiIs IGUubWVzc2FnZSk7CisrICAgIH0KKysgICAgcmV0dXJuIG51bGw7CisrfQorKworK3N0cmluZz8K KytnZXRfaWJ1c19zeXN0ZW1kX29iamVjdF9wYXRoKEdMaWIuREJ1c0Nvbm5lY3Rpb24gY29ubmVj dGlvbiwKKysgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvb2wgICAgICAgICAgICAgICAg dmVyYm9zZSkgeworKyAgICBzdHJpbmcgb2JqZWN0X3BhdGggPSBudWxsOworKyAgICBjb25zdCBz dHJpbmcgc2VydmljZV9maWxlID0gU1lTVEVNRF9TRVNTSU9OX0dOT01FX0ZJTEU7CisrICAgIHRy eSB7CisrICAgICAgICB2YXIgdmFyaWFudCA9IGNvbm5lY3Rpb24uY2FsbF9zeW5jICgKKysgICAg ICAgICAgICAgICAgIm9yZy5mcmVlZGVza3RvcC5zeXN0ZW1kMSIsCisrICAgICAgICAgICAgICAg ICIvb3JnL2ZyZWVkZXNrdG9wL3N5c3RlbWQxIiwKKysgICAgICAgICAgICAgICAgIm9yZy5mcmVl ZGVza3RvcC5zeXN0ZW1kMS5NYW5hZ2VyIiwKKysgICAgICAgICAgICAgICAgIkdldFVuaXQiLAor KyAgICAgICAgICAgICAgICBuZXcgR0xpYi5WYXJpYW50KCIocykiLCBzZXJ2aWNlX2ZpbGUpLAor KyAgICAgICAgICAgICAgICBuZXcgR0xpYi5WYXJpYW50VHlwZSgiKG8pIiksCisrICAgICAgICAg ICAgICAgIEdMaWIuREJ1c0NhbGxGbGFncy5OT05FLAorKyAgICAgICAgICAgICAgICAtMSwKKysg ICAgICAgICAgICAgICAgbnVsbCk7CisrICAgICAgICB2YXJpYW50LmdldCgiKG8pIiwgcmVmIG9i amVjdF9wYXRoKTsKKysgICAgICAgIGlmICh2ZXJib3NlKSB7CisrICAgICAgICAgICAgc3RkZXJy LnByaW50ZigiU3VjY2VlZCB0byBnZXQgYW4gb2JqZWN0IHBhdGggXCIlc1wiIGZvciBJQnVzICIg KworKyAgICAgICAgICAgICAgICAgICAgICAgICAgInN5c3RlbWQgc2VydmljZSBmaWxlIFwiJXNc Ii5cbiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBvYmplY3RfcGF0aCwgc2VydmljZV9m aWxlKTsKKysgICAgICAgIH0KKysgICAgICAgIHJldHVybiBvYmplY3RfcGF0aDsKKysgICAgfSBj YXRjaCAoR0xpYi5FcnJvciBlKSB7CisrICAgICAgICBpZiAodmVyYm9zZSkgeworKyAgICAgICAg ICAgIHN0ZGVyci5wcmludGYoIklCdXMgc3lzdGVtZCBzZXJ2aWNlIGZpbGUgXCIlc1wiIGlzIG5v dCBpbnN0YWxsZWQgIiArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAiaW4geW91ciBzeXN0 ZW06ICVzXG4iLCBzZXJ2aWNlX2ZpbGUsIGUubWVzc2FnZSk7CisrICAgICAgICB9CisrICAgIH0K KysgICAgcmV0dXJuIG51bGw7CisrfQorKworKworK2Jvb2wKKytpc19ydW5uaW5nX2RhZW1vbl92 aWFfc3lzdGVtZChHTGliLkRCdXNDb25uZWN0aW9uIGNvbm5lY3Rpb24sCisrICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RyaW5nICAgICAgICAgICAgICBvYmplY3RfcGF0aCwKKysgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBib29sICAgICAgICAgICAgICAgIHZlcmJvc2UpIHsK KysgICAgc3RyaW5nPyBzdGF0ZSA9IG51bGw7CisrICAgIHRyeSB7CisrICAgICAgICB2YXIgdmFy aWFudCA9IGNvbm5lY3Rpb24uY2FsbF9zeW5jICgKKysgICAgICAgICAgICAgICAgIm9yZy5mcmVl ZGVza3RvcC5zeXN0ZW1kMSIsCisrICAgICAgICAgICAgICAgIG9iamVjdF9wYXRoLAorKyAgICAg ICAgICAgICAgICAib3JnLmZyZWVkZXNrdG9wLkRCdXMuUHJvcGVydGllcyIsCisrICAgICAgICAg ICAgICAgICJHZXQiLAorKyAgICAgICAgICAgICAgICBuZXcgR0xpYi5WYXJpYW50KCIoc3MpIiwK KysgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAib3JnLmZyZWVkZXNrdG9wLnN5c3Rl bWQxLlVuaXQiLAorKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJBY3RpdmVTdGF0 ZSIpLAorKyAgICAgICAgICAgICAgICBuZXcgR0xpYi5WYXJpYW50VHlwZSgiKHYpIiksCisrICAg ICAgICAgICAgICAgIEdMaWIuREJ1c0NhbGxGbGFncy5OT05FLAorKyAgICAgICAgICAgICAgICAt MSwKKysgICAgICAgICAgICAgICAgbnVsbCk7CisrICAgICAgICBHTGliLlZhcmlhbnQgY2hpbGQg PSBudWxsOworKyAgICAgICAgdmFyaWFudC5nZXQoIih2KSIsIHJlZiBjaGlsZCk7CisrICAgICAg ICBzdGF0ZSA9IGNoaWxkLmR1cF9zdHJpbmcoKTsKKysgICAgICAgIGlmICh2ZXJib3NlKSB7Cisr ICAgICAgICAgICAgc3RkZXJyLnByaW50ZigiU3VjY2VlZCB0byBnZXQgdGhlIHN0YXRlIFwiJXNc IiBmb3IgYW4gb2JqZWN0ICIgKworKyAgICAgICAgICAgICAgICAgICAgICAgICAgInBhdGggXCIl c1wiLlxuIiwgc3RhdGUsIG9iamVjdF9wYXRoKTsKKysgICAgICAgIH0KKysgICAgfSBjYXRjaCAo R0xpYi5FcnJvciBlKSB7CisrICAgICAgICBpZiAodmVyYm9zZSkKKysgICAgICAgICAgICBzdGRl cnIucHJpbnRmKCIlc1xuIiwgZS5tZXNzYWdlKTsKKysgICAgICAgIHJldHVybiBmYWxzZTsKKysg ICAgfQorKyAgICBpZiAoc3RhdGUgPT0gImFjdGl2ZSIpCisrICAgICAgICByZXR1cm4gdHJ1ZTsK KysgICAgcmV0dXJuIGZhbHNlOworK30KKysKKysKKytib29sCisrc3RhcnRfZGFlbW9uX3ZpYV9z eXN0ZW1kKEdMaWIuREJ1c0Nvbm5lY3Rpb24gY29ubmVjdGlvbiwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgYm9vbCAgICAgICAgICAgICAgICByZXN0YXJ0LAorKyAgICAgICAgICAgICAgICAg ICAgICAgICBib29sICAgICAgICAgICAgICAgIHZlcmJvc2UpIHsKKysgICAgc3RyaW5nIG9iamVj dF9wYXRoID0gbnVsbDsKKysgICAgY29uc3Qgc3RyaW5nIHNlcnZpY2VfZmlsZSA9IFNZU1RFTURf U0VTU0lPTl9HTk9NRV9GSUxFOworKyAgICBzdHJpbmcgbWV0aG9kID0gIlN0YXJ0VW5pdCI7Cisr ICAgIGlmIChyZXN0YXJ0KQorKyAgICAgICAgbWV0aG9kID0gIlJlc3RhcnRVbml0IjsKKysgICAg dHJ5IHsKKysgICAgICAgIHZhciB2YXJpYW50ID0gY29ubmVjdGlvbi5jYWxsX3N5bmMgKAorKyAg ICAgICAgICAgICAgICAib3JnLmZyZWVkZXNrdG9wLnN5c3RlbWQxIiwKKysgICAgICAgICAgICAg ICAgIi9vcmcvZnJlZWRlc2t0b3Avc3lzdGVtZDEiLAorKyAgICAgICAgICAgICAgICAib3JnLmZy ZWVkZXNrdG9wLnN5c3RlbWQxLk1hbmFnZXIiLAorKyAgICAgICAgICAgICAgICBtZXRob2QsCisr ICAgICAgICAgICAgICAgIG5ldyBHTGliLlZhcmlhbnQoIihzcykiLCBzZXJ2aWNlX2ZpbGUsICJm YWlsIiksCisrICAgICAgICAgICAgICAgIG5ldyBHTGliLlZhcmlhbnRUeXBlKCIobykiKSwKKysg ICAgICAgICAgICAgICAgR0xpYi5EQnVzQ2FsbEZsYWdzLk5PTkUsCisrICAgICAgICAgICAgICAg IC0xLAorKyAgICAgICAgICAgICAgICBudWxsKTsKKysgICAgICAgIHZhcmlhbnQuZ2V0KCIobyki LCByZWYgb2JqZWN0X3BhdGgpOworKyAgICAgICAgaWYgKHZlcmJvc2UpIHsKKysgICAgICAgICAg ICBzdGRlcnIucHJpbnRmKCJTdWNjZWVkIHRvIHJlc3RhcnQgSUJ1cyBkYWVtb24gdmlhIElCdXMg c3lzdGVtZCAiICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXJ2aWNlIGZpbGUgXCIl c1wiOiBcIiVzXCJcbiIsCisrICAgICAgICAgICAgICAgICAgICAgICAgICBzZXJ2aWNlX2ZpbGUs IG9iamVjdF9wYXRoKTsKKysgICAgICAgIH0KKysgICAgICAgIHJldHVybiB0cnVlOworKyAgICB9 IGNhdGNoIChHTGliLkVycm9yIGUpIHsKKysgICAgICAgIGlmICh2ZXJib3NlKSB7CisrICAgICAg ICAgICAgc3RkZXJyLnByaW50ZigiRmFpbGVkIHRvIHJlc3RhcnQgSUJ1cyBkYWVtb24gdmlhIElC dXMgc3lzdGVtZCAiICsKKysgICAgICAgICAgICAgICAgICAgICAgICAgICJzZXJ2aWNlIGZpbGUg XCIlc1wiOiAlc1xuIiwgc2VydmljZV9maWxlLCBlLm1lc3NhZ2UpOworKyAgICAgICAgfQorKyAg ICB9CisrICAgIHJldHVybiBmYWxzZTsKKyt9CisrCisrCisgaW50IGxpc3RfZW5naW5lKHN0cmlu Z1tdIGFyZ3YpIHsKKyAgICAgY29uc3QgT3B0aW9uRW50cnlbXSBvcHRpb25zID0geworICAgICAg ICAgeyAibmFtZS1vbmx5IiwgMCwgMCwgT3B0aW9uQXJnLk5PTkUsIG91dCBuYW1lX29ubHksCitA QCAtOTksNiArMjIxLDcgQEAgaW50IGxpc3RfZW5naW5lKHN0cmluZ1tdIGFyZ3YpIHsKKyAgICAg cmV0dXJuIFBvc2l4LkVYSVRfU1VDQ0VTUzsKKyB9CisgCisrCisgcHJpdmF0ZSBpbnQgZXhlY19z ZXR4a2JtYXAoSUJ1cy5FbmdpbmVEZXNjIGVuZ2luZSkgeworICAgICBzdHJpbmcgbGF5b3V0ID0g ZW5naW5lLmdldF9sYXlvdXQoKTsKKyAgICAgc3RyaW5nIHZhcmlhbnQgPSBlbmdpbmUuZ2V0X2xh eW91dF92YXJpYW50KCk7CitAQCAtMTQ5LDYgKzI3Miw3IEBAIHByaXZhdGUgaW50IGV4ZWNfc2V0 eGtibWFwKElCdXMuRW5naW5lRGVzYyBlbmdpbmUpIHsKKyAgICAgcmV0dXJuIFBvc2l4LkVYSVRf U1VDQ0VTUzsKKyB9CisgCisrCisgaW50IGdldF9zZXRfZW5naW5lKHN0cmluZ1tdIGFyZ3YpIHsK KyAgICAgdmFyIGJ1cyA9IGdldF9idXMoKTsKKyAgICAgc3RyaW5nIGVuZ2luZSA9IG51bGw7CitA QCAtMTgyLDIwICszMDYsMTAwIEBAIGludCBnZXRfc2V0X2VuZ2luZShzdHJpbmdbXSBhcmd2KSB7 CisgICAgIHJldHVybiBQb3NpeC5FWElUX1NVQ0NFU1M7CisgfQorIAorKworIGludCBtZXNzYWdl X3dhdGNoKHN0cmluZ1tdIGFyZ3YpIHsKKyAgICAgcmV0dXJuIFBvc2l4LkVYSVRfU1VDQ0VTUzsK KyB9CisgCistaW50IHJlc3RhcnRfZGFlbW9uKHN0cmluZ1tdIGFyZ3YpIHsKKy0gICAgdmFyIGJ1 cyA9IGdldF9idXMoKTsKKy0gICAgaWYgKGJ1cyA9PSBudWxsKSB7CistICAgICAgICBzdGRlcnIu cHJpbnRmKF8oIkNhbid0IGNvbm5lY3QgdG8gSUJ1cy5cbiIpKTsKKysKKytpbnQgc3RhcnRfZGFl bW9uX3JlYWwoc3RyaW5nW10gYXJndiwKKysgICAgICAgICAgICAgICAgICAgICAgYm9vbCAgICAg cmVzdGFydCkgeworKyAgICBjb25zdCBPcHRpb25FbnRyeVtdIG9wdGlvbnMgPSB7CisrICAgICAg ICB7ICJ0eXBlIiwgMCwgMCwgT3B0aW9uQXJnLlNUUklORywgb3V0IGRhZW1vbl90eXBlLAorKyAg ICAgICAgICBOXygiU3RhcnQgb3IgcmVzdGFydCBkYWVtb24gd2l0aCBcImRpcmVjdFwiIG9yIFwi c3lzdGVtZFwiIFRZUEUuIiksCisrICAgICAgICAgICJUWVBFIiB9LAorKyAgICAgICAgeyAidmVy Ym9zZSIsIDAsIDAsIE9wdGlvbkFyZy5OT05FLCBvdXQgdmVyYm9zZSwKKysgICAgICAgICAgTl8o IlNob3cgZGVidWcgbWVzc2FnZXMuIiksIG51bGwgfSwKKysgICAgICAgIHsgbnVsbCB9CisrICAg IH07CisrCisrICAgIHZhciBvcHRpb24gPSBuZXcgT3B0aW9uQ29udGV4dCgpOworKyAgICBvcHRp b24uYWRkX21haW5fZW50cmllcyhvcHRpb25zLCBDb25maWcuR0VUVEVYVF9QQUNLQUdFKTsKKysg ICAgb3B0aW9uLnNldF9pZ25vcmVfdW5rbm93bl9vcHRpb25zKHRydWUpOworKworKyAgICB0cnkg eworKyAgICAgICAgb3B0aW9uLnBhcnNlKHJlZiBhcmd2KTsKKysgICAgfSBjYXRjaCAoT3B0aW9u RXJyb3IgZSkgeworKyAgICAgICAgc3RkZXJyLnByaW50ZigiJXNcbiIsIGUubWVzc2FnZSk7Cisr ICAgICAgICByZXR1cm4gUG9zaXguRVhJVF9GQUlMVVJFOworKyAgICB9CisrICAgIGlmIChkYWVt b25fdHlwZSAhPSBudWxsICYmIGRhZW1vbl90eXBlICE9ICJkaXJlY3QiICYmCisrICAgICAgICBk YWVtb25fdHlwZSAhPSAic3lzdGVtZCIpIHsKKysgICAgICAgIHN0ZGVyci5wcmludGYoInR5cGUg YXJndW1lbnQgbXVzdCBiZSBcImRpcmVjdFwiIG9yIFwic3lzdGVtZFwiXG4iKTsKKysgICAgICAg IHJldHVybiBQb3NpeC5FWElUX0ZBSUxVUkU7CisrICAgIH0KKysKKysgICAgZG8geworKyAgICAg ICAgaWYgKGRhZW1vbl90eXBlID09ICJkaXJlY3QiKQorKyAgICAgICAgICAgIGJyZWFrOworKyAg ICAgICAgR0xpYi5EQnVzQ29ubmVjdGlvbj8gY29ubmVjdGlvbiA9IGdldF9zZXNzaW9uX2J1cyh2 ZXJib3NlKTsKKysgICAgICAgIGlmIChjb25uZWN0aW9uID09IG51bGwpCisrICAgICAgICAgICAg YnJlYWs7CisrICAgICAgICBzdHJpbmc/IG9iamVjdF9wYXRoID0gZ2V0X2lidXNfc3lzdGVtZF9v YmplY3RfcGF0aChjb25uZWN0aW9uLCB2ZXJib3NlKTsKKysgICAgICAgIGlmIChvYmplY3RfcGF0 aCA9PSBudWxsKQorKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgaWYgKHJlc3RhcnQgJiYK KysgICAgICAgICAgICAhaXNfcnVubmluZ19kYWVtb25fdmlhX3N5c3RlbWQoY29ubmVjdGlvbiwg b2JqZWN0X3BhdGgsIHZlcmJvc2UpKQorKyAgICAgICAgICAgIGJyZWFrOworKyAgICAgICAgaWYg KHN0YXJ0X2RhZW1vbl92aWFfc3lzdGVtZChjb25uZWN0aW9uLCByZXN0YXJ0LCB2ZXJib3NlKSkK KysgICAgICAgICAgICByZXR1cm4gUG9zaXguRVhJVF9TVUNDRVNTOworICAgICAgICAgcmV0dXJu IFBvc2l4LkVYSVRfRkFJTFVSRTsKKysgICAgfSB3aGlsZSAoZmFsc2UpOworKworKyAgICBpZiAo ZGFlbW9uX3R5cGUgPT0gInN5c3RlbWQiKQorKyAgICAgICAgcmV0dXJuIFBvc2l4LkVYSVRfRkFJ TFVSRTsKKysgICAgaWYgKHJlc3RhcnQpIHsKKysgICAgICAgIHZhciBidXMgPSBnZXRfYnVzKCk7 CisrICAgICAgICBpZiAoYnVzID09IG51bGwpIHsKKysgICAgICAgICAgICBzdGRlcnIucHJpbnRm KF8oIkNhbid0IGNvbm5lY3QgdG8gSUJ1cy5cbiIpKTsKKysgICAgICAgICAgICByZXR1cm4gUG9z aXguRVhJVF9GQUlMVVJFOworKyAgICAgICAgfQorKyAgICAgICAgYnVzLmV4aXQodHJ1ZSk7Cisr ICAgICAgICBpZiAodmVyYm9zZSkgeworKyAgICAgICAgICAgIHN0ZGVyci5wcmludGYoIlN1Y2Nl ZWQgdG8gcmVzdGFydCBpYnVzLWRhZW1vbiB3aXRoIGFuIElCdXMgQVBJICIgKworKyAgICAgICAg ICAgICAgICAgICAgICAgICAgImRpcmVjdGx5LlxuIik7CisrICAgICAgICB9CisrICAgIH0gZWxz ZSB7CisrICAgICAgICBzdHJpbmcgc3RhcnRhcmcgPSAiaWJ1cy1kYWVtb24iOworKyAgICAgICAg YXJndlswXSA9IHN0YXJ0YXJnOworKyAgICAgICAgdmFyIHBhdGhzID0gR0xpYi5FbnZpcm9ubWVu dC5nZXRfdmFyaWFibGUoIlBBVEgiKS5zcGxpdCgiOiIpOworKyAgICAgICAgZm9yZWFjaCAodW5v d25lZCBzdHJpbmcgcGF0aCBpbiBwYXRocykgeworKyAgICAgICAgICAgIHZhciBmdWxsX3BhdGgg PSAiJXMvJXMiLnByaW50ZihwYXRoLCBzdGFydGFyZyk7CisrICAgICAgICAgICAgaWYgKEdMaWIu RmlsZVV0aWxzLnRlc3QoZnVsbF9wYXRoLCBHTGliLkZpbGVUZXN0LklTX0VYRUNVVEFCTEUpKSB7 CisrICAgICAgICAgICAgICAgIHN0YXJ0YXJnID0gZnVsbF9wYXRoOworKyAgICAgICAgICAgICAg ICBicmVhazsKKysgICAgICAgICAgICB9CisrICAgICAgICB9CisrICAgICAgICAvLyBXaGVuIGli dXMtZGFlbW9uIGlzIGxhdW5jaGVkIGJ5IEdMaWIuUHJvY2Vzcy5zcGF3bl9hc3luYygpLAorKyAg ICAgICAgLy8gdGhlIHBhcmVudCBwcm9jZXNzIHdpbGwgYmUgc3lzdGVtZAorKyAgICAgICAgaWYg KHZlcmJvc2UpIHsKKysgICAgICAgICAgICBzdGRlcnIucHJpbnRmKCJSdW5uaW5nIFwiJXNcIiBk aXJlY3RseSBhcyBhIGZvcmVncm91bmQgIiArCisrICAgICAgICAgICAgICAgICAgICAgICAgICAi cHJvY2Vzcy5cbiIsIHN0YXJ0YXJnKTsKKysgICAgICAgIH0KKysgICAgICAgIFBvc2l4LmV4ZWN2 KHN0YXJ0YXJnLCBhcmd2KTsKKyAgICAgfQorLSAgICBidXMuZXhpdCh0cnVlKTsKKyAgICAgcmV0 dXJuIFBvc2l4LkVYSVRfU1VDQ0VTUzsKKyB9CisgCisrCisraW50IHJlc3RhcnRfZGFlbW9uKHN0 cmluZ1tdIGFyZ3YpIHsKKysgICAgcmV0dXJuIHN0YXJ0X2RhZW1vbl9yZWFsKGFyZ3YsIHRydWUp OworK30KKysKKytpbnQgc3RhcnRfZGFlbW9uKHN0cmluZ1tdIGFyZ3YpIHsKKysgICAgcmV0dXJu IHN0YXJ0X2RhZW1vbl9yZWFsKGFyZ3YsIGZhbHNlKTsKKyt9CisrCisgaW50IGV4aXRfZGFlbW9u KHN0cmluZ1tdIGFyZ3YpIHsKKyAgICAgdmFyIGJ1cyA9IGdldF9idXMoKTsKKyAgICAgaWYgKGJ1 cyA9PSBudWxsKSB7CitAQCAtMjA2LDExICs0MTAsMTMgQEAgaW50IGV4aXRfZGFlbW9uKHN0cmlu Z1tdIGFyZ3YpIHsKKyAgICAgcmV0dXJuIFBvc2l4LkVYSVRfU1VDQ0VTUzsKKyB9CisgCisrCisg aW50IHByaW50X3ZlcnNpb24oc3RyaW5nW10gYXJndikgeworICAgICBwcmludCgiSUJ1cyAlc1xu IiwgQ29uZmlnLlBBQ0tBR0VfVkVSU0lPTik7CisgICAgIHJldHVybiBQb3NpeC5FWElUX1NVQ0NF U1M7CisgfQorIAorKworIGludCByZWFkX2NhY2hlIChzdHJpbmdbXSBhcmd2KSB7CisgICAgIGNv bnN0IE9wdGlvbkVudHJ5W10gb3B0aW9ucyA9IHsKKyAgICAgICAgIHsgInN5c3RlbSIsIDAsIDAs IE9wdGlvbkFyZy5OT05FLCBvdXQgaXNfc3lzdGVtLAorQEAgLTI1MSw2ICs0NTcsNyBAQCBpbnQg cmVhZF9jYWNoZSAoc3RyaW5nW10gYXJndikgeworICAgICByZXR1cm4gUG9zaXguRVhJVF9TVUND RVNTOworIH0KKyAKKysKKyBpbnQgd3JpdGVfY2FjaGUgKHN0cmluZ1tdIGFyZ3YpIHsKKyAgICAg Y29uc3QgT3B0aW9uRW50cnlbXSBvcHRpb25zID0geworICAgICAgICAgeyAic3lzdGVtIiwgMCwg MCwgT3B0aW9uQXJnLk5PTkUsIG91dCBpc19zeXN0ZW0sCitAQCAtMjgzLDEyICs0OTAsMTQgQEAg aW50IHdyaXRlX2NhY2hlIChzdHJpbmdbXSBhcmd2KSB7CisgICAgICAgICAgICAgUG9zaXguRVhJ VF9TVUNDRVNTIDogUG9zaXguRVhJVF9GQUlMVVJFOworIH0KKyAKKysKKyBpbnQgcHJpbnRfYWRk cmVzcyhzdHJpbmdbXSBhcmd2KSB7CisgICAgIHN0cmluZyBhZGRyZXNzID0gSUJ1cy5nZXRfYWRk cmVzcygpOworICAgICBwcmludCgiJXNcbiIsIGFkZHJlc3MgIT0gbnVsbCA/IGFkZHJlc3MgOiAi KG51bGwpIik7CisgICAgIHJldHVybiBQb3NpeC5FWElUX1NVQ0NFU1M7CisgfQorIAorKworIHBy aXZhdGUgaW50IHJlYWRfY29uZmlnX29wdGlvbnMoc3RyaW5nW10gYXJndikgeworICAgICBjb25z dCBPcHRpb25FbnRyeVtdIG9wdGlvbnMgPSB7CisgICAgICAgICB7ICJlbmdpbmUtaWQiLCAwLCAw LCBPcHRpb25BcmcuU1RSSU5HLCBvdXQgZW5naW5lX2lkLAorQEAgLTMwOSw2ICs1MTgsNyBAQCBw cml2YXRlIGludCByZWFkX2NvbmZpZ19vcHRpb25zKHN0cmluZ1tdIGFyZ3YpIHsKKyAgICAgcmV0 dXJuIFBvc2l4LkVYSVRfU1VDQ0VTUzsKKyB9CisgCisrCisgcHJpdmF0ZSBHTGliLlNMaXN0PHN0 cmluZz4gZ2V0X2lidXNfc2NoZW1hcygpIHsKKyAgICAgc3RyaW5nW10gaWRzID0ge307CisgICAg IGlmIChlbmdpbmVfaWQgIT0gbnVsbCkgeworQEAgLTM0Miw2ICs1NTIsNyBAQCBwcml2YXRlIEdM aWIuU0xpc3Q8c3RyaW5nPiBnZXRfaWJ1c19zY2hlbWFzKCkgeworICAgICByZXR1cm4gaWJ1c19z Y2hlbWFzOworIH0KKyAKKysKKyBpbnQgcmVhZF9jb25maWcoc3RyaW5nW10gYXJndikgeworICAg ICBpZiAocmVhZF9jb25maWdfb3B0aW9ucyhhcmd2KSA9PSBQb3NpeC5FWElUX0ZBSUxVUkUpCisg ICAgICAgICByZXR1cm4gUG9zaXguRVhJVF9GQUlMVVJFOworQEAgLTM3MCw2ICs1ODEsNyBAQCBp bnQgcmVhZF9jb25maWcoc3RyaW5nW10gYXJndikgeworICAgICByZXR1cm4gUG9zaXguRVhJVF9T VUNDRVNTOworIH0KKyAKKysKKyBpbnQgcmVzZXRfY29uZmlnKHN0cmluZ1tdIGFyZ3YpIHsKKyAg ICAgaWYgKHJlYWRfY29uZmlnX29wdGlvbnMoYXJndikgPT0gUG9zaXguRVhJVF9GQUlMVVJFKQor ICAgICAgICAgcmV0dXJuIFBvc2l4LkVYSVRfRkFJTFVSRTsKK0BAIC00MDEsNiArNjEzLDcgQEAg aW50IHJlc2V0X2NvbmZpZyhzdHJpbmdbXSBhcmd2KSB7CisgICAgIHJldHVybiBQb3NpeC5FWElU X1NVQ0NFU1M7CisgfQorIAorKworICNpZiBFTU9KSV9ESUNUCisgaW50IGVtb2ppX2RpYWxvZyhz dHJpbmdbXSBhcmd2KSB7CisgICAgIHN0cmluZyBjbWQgPSBDb25maWcuTElCRVhFQ0RJUiArICIv aWJ1cy11aS1lbW9qaWVyIjsKK0BAIC00MjcsMTEgKzY0MCwxMyBAQCBpbnQgZW1vamlfZGlhbG9n KHN0cmluZ1tdIGFyZ3YpIHsKKyB9CisgI2VuZGlmCisgCisrCisgaW50IHByaW50X2hlbHAoc3Ry aW5nW10gYXJndikgeworICAgICBwcmludF91c2FnZShzdGRvdXQpOworICAgICByZXR1cm4gUG9z aXguRVhJVF9TVUNDRVNTOworIH0KKyAKKysKKyBkZWxlZ2F0ZSBpbnQgRW50cnlGdW5jKHN0cmlu Z1tdIGFyZ3YpOworIAorIHN0cnVjdCBDb21tYW5kRW50cnkgeworQEAgLTQ0MCwxMiArNjU1LDE0 IEBAIHN0cnVjdCBDb21tYW5kRW50cnkgeworICAgICB1bm93bmVkIEVudHJ5RnVuYyBlbnRyeTsK KyB9CisgCisrCisgY29uc3QgQ29tbWFuZEVudHJ5IGNvbW1hbmRzW10gID0geworICAgICB7ICJl bmdpbmUiLCBOXygiU2V0IG9yIGdldCBlbmdpbmUiKSwgZ2V0X3NldF9lbmdpbmUgfSwKKyAgICAg eyAiZXhpdCIsIE5fKCJFeGl0IGlidXMtZGFlbW9uIiksIGV4aXRfZGFlbW9uIH0sCisgICAgIHsg Imxpc3QtZW5naW5lIiwgTl8oIlNob3cgYXZhaWxhYmxlIGVuZ2luZXMiKSwgbGlzdF9lbmdpbmUg fSwKKyAgICAgeyAid2F0Y2giLCBOXygiKE5vdCBpbXBsZW1lbnRlZCkiKSwgbWVzc2FnZV93YXRj aCB9LAorICAgICB7ICJyZXN0YXJ0IiwgTl8oIlJlc3RhcnQgaWJ1cy1kYWVtb24iKSwgcmVzdGFy dF9kYWVtb24gfSwKKysgICAgeyAic3RhcnQiLCBOXygiU3RhcnQgaWJ1cy1kYWVtb24iKSwgc3Rh cnRfZGFlbW9uIH0sCisgICAgIHsgInZlcnNpb24iLCBOXygiU2hvdyB2ZXJzaW9uIiksIHByaW50 X3ZlcnNpb24gfSwKKyAgICAgeyAicmVhZC1jYWNoZSIsIE5fKCJTaG93IHRoZSBjb250ZW50IG9m IHJlZ2lzdHJ5IGNhY2hlIiksIHJlYWRfY2FjaGUgfSwKKyAgICAgeyAid3JpdGUtY2FjaGUiLCBO XygiQ3JlYXRlIHJlZ2lzdHJ5IGNhY2hlIiksIHdyaXRlX2NhY2hlIH0sCitAQCAtNDYwLDYgKzY3 Nyw3IEBAIGNvbnN0IENvbW1hbmRFbnRyeSBjb21tYW5kc1tdICA9IHsKKyAKKyBzdGF0aWMgc3Ry aW5nIHByb2dyYW1fbmFtZTsKKyAKKysKKyB2b2lkIHByaW50X3VzYWdlKEZpbGVTdHJlYW0gc3Ry ZWFtKSB7CisgICAgIHN0cmVhbS5wcmludGYoXygiVXNhZ2U6ICVzIENPTU1BTkQgW09QVElPTi4u Ll1cblxuIiksIHByb2dyYW1fbmFtZSk7CisgICAgIHN0cmVhbS5wcmludGYoXygiQ29tbWFuZHM6 XG4iKSk7CitAQCAtNDcwLDYgKzY4OCw3IEBAIHZvaWQgcHJpbnRfdXNhZ2UoRmlsZVN0cmVhbSBz dHJlYW0pIHsKKyAgICAgfQorIH0KKyAKKysKKyBwdWJsaWMgaW50IG1haW4oc3RyaW5nW10gYXJn dikgeworICAgICBHTGliLkludGwuc2V0bG9jYWxlKEdMaWIuTG9jYWxlQ2F0ZWdvcnkuQUxMLCAi Iik7CisgICAgIEdMaWIuSW50bC5iaW5kdGV4dGRvbWFpbihDb25maWcuR0VUVEVYVF9QQUNLQUdF LCBDb25maWcuTE9DQUxFRElSKTsKKy0tIAorMi4zNS4zCisKK0Zyb20gNjIwM2I2YzRlMWQ0MWU3 MzFiZGNjYjEzMzhlZDQ1YzkzYmM1NjkwMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKK0Zyb206 IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KK0RhdGU6IFR1ZSwgMjEgSnVu IDIwMjIgMDA6NDk6NDYgKzA5MDAKK1N1YmplY3Q6IFtQQVRDSF0gc3JjL3Rlc3RzOiBVbnNldCBH X01FU1NBR0VTX0RFQlVHIGZvciBnc2V0dGluZ3MgaW4KKyB4a2ItbGF0aW4tbGF5b3V0cworCitn c2V0dGluZ3MgY2Fubm90IGdldCB0aGUga2V5IHZhbHVlIHdoZW4gR19NRVNTQUdFU19ERUJVRyBp cyBlbmFibGVkLgorQWRkIGRlbnlsaXN0LnR4dCB0byBlbmdpbmUvTWFrZWZpbGUuYW0KKy0tLQor IGVuZ2luZS9NYWtlZmlsZS5hbSAgICAgICAgICB8IDMgKystCisgc3JjL3Rlc3RzL3hrYi1sYXRp bi1sYXlvdXRzIHwgNyArKysrKysrCisgMiBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKKworZGlmZiAtLWdpdCBhL2VuZ2luZS9NYWtlZmlsZS5hbSBiL2VuZ2lu ZS9NYWtlZmlsZS5hbQoraW5kZXggMDM4NjdmNTIuLjcyNTZmYmM4IDEwMDY0NAorLS0tIGEvZW5n aW5lL01ha2VmaWxlLmFtCisrKysgYi9lbmdpbmUvTWFrZWZpbGUuYW0KK0BAIC00LDcgKzQsNyBA QAorICMKKyAjIENvcHlyaWdodCAoYykgMjAxMC0yMDE2LCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz IHJlc2VydmVkLgorICMgQ29weXJpZ2h0IChjKSAyMDA3LTIwMTYgUGVuZyBIdWFuZyA8c2hhd24u cC5odWFuZ0BnbWFpbC5jb20+CistIyBDb3B5cmlnaHQgKGMpIDIwMTMtMjAyMCBUYWthbyBGdWpp d2FyYSA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNvbT4KKysjIENvcHlyaWdodCAoYykgMjAxMy0y MDIxIFRha2FvIEZ1aml3YXJhIDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgorICMKKyAjIFRo aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv b3IKKyAjIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMZXNzZXIgR2VuZXJh bCBQdWJsaWMKK0BAIC04OCw2ICs4OCw3IEBAIENMRUFORklMRVMgPSBcCisgCSQoTlVMTCkKKyAK KyBFWFRSQV9ESVNUID0gXAorKwlkZW55bGlzdC50eHQgXAorIAlnZW5zaW1wbGUucHkgXAorIAlp c282Mzljb252ZXJ0ZXIucHkgXAorIAlzaW1wbGUueG1sLmluIFwKK2RpZmYgLS1naXQgYS9zcmMv dGVzdHMveGtiLWxhdGluLWxheW91dHMgYi9zcmMvdGVzdHMveGtiLWxhdGluLWxheW91dHMKK2lu ZGV4IGY4ZGNlZDZiLi45MjQ2NDIzNCAxMDA3NTUKKy0tLSBhL3NyYy90ZXN0cy94a2ItbGF0aW4t bGF5b3V0cworKysrIGIvc3JjL3Rlc3RzL3hrYi1sYXRpbi1sYXlvdXRzCitAQCAtODIsOSArODIs MTYgQEAgZmluaXQoKQorIAorIHRlc3RfeGtiX2tleW1hcHMoKQorIHsKKysgICAgIyBHX01FU1NB R0VTX0RFQlVHPWFsbCBvciBHX01FU1NBR0VTX0RFQlVHPUdMaWItR0lPLURFQlVHIHdvdWxkIGFw cGVuZAorKyAgICAjIGRlYnVnIG1lc3NhZ2VzIHRvIGdzZXR0aW5ncyBvdXRwdXQgYW5kIGNvdWxk IG5vdCBnZXQgdGhlIHJlc3VsdCBjb3JyZWN0bHkuCisrICAgIGJhY2t1cF9HX01FU1NBR0VTX0RF QlVHPSIkR19NRVNTQUdFU19ERUJVRyIKKysgICAgdW5zZXQgR19NRVNTQUdFU19ERUJVRworICAg ICAjIExvb3Agb3ZlciB0b3AgbGV2ZWwgc2NoZW1hcyBzaW5jZSAiZ3NldHRpbmdzIGxpc3QtcmVj dXJzaXZlbHkiIG9ubHkKKyAgICAgIyBsb29rcyBmb3IgZGlyZWN0IGNoaWxkcmVuLgorICAgICB4 a2JfbGF0aW5fbGF5b3V0cz1gZ3NldHRpbmdzIGdldCBvcmcuZnJlZWRlc2t0b3AuaWJ1cy5nZW5l cmFsIHhrYi1sYXRpbi1sYXlvdXRzYAorKyAgICBpZiBbIHgiJGJhY2t1cF9HX01FU1NBR0VTX0RF QlVHIiAhPSB4IF0gOyB0aGVuCisrICAgICAgICBleHBvcnQgR19NRVNTQUdFU19ERUJVRz0kYmFj a3VwX0dfTUVTU0FHRVNfREVCVUcKKysgICAgZmkKKyAgICAgd2hpbGUgcmVhZCBrZXltYXAgOyBk bworICAgICAgICAgZXZhbCBrZXltYXA9IiRrZXltYXAiCisgICAgICAgICBIQVNfVkFSSUFOVD0k KCRFQ0hPICIka2V5bWFwIiB8IGdyZXAgJygnIDI+IC9kZXYvbnVsbCkgfHw6CistLSAKKzIuMzUu MworCgpkaWZmIC0tZ2l0IGEvaWJ1cy5zcGVjIGIvaWJ1cy5zcGVjCmluZGV4IDE0NTY3ZGYuLmI5 ODA4YWEgMTAwNjQ0Ci0tLSBhL2lidXMuc3BlYworKysgYi9pYnVzLnNwZWMKQEAgLTM5LDcgKzM5 LDcgQEAKIAogTmFtZTogICAgICAgICAgIGlidXMKIFZlcnNpb246ICAgICAgICAxLjUuMjYKLVJl bGVhc2U6ICAgICAgICAxMCV7P2Rpc3R9CitSZWxlYXNlOiAgICAgICAgMTElez9kaXN0fQogU3Vt bWFyeTogICAgICAgIEludGVsbGlnZW50IElucHV0IEJ1cyBmb3IgTGludXggT1MKIExpY2Vuc2U6 ICAgICAgICBMR1BMdjIrCiBVUkw6ICAgICAgICAgICAgaHR0cHM6Ly9naXRodWIuY29tL2lidXMv JW5hbWUvd2lraQpAQCAtNTIyLDYgKzUyMiwxMCBAQCBkY29uZiB1cGRhdGUgfHwgOgogJXtfZGF0 YWRpcn0vaW5zdGFsbGVkLXRlc3RzL2lidXMKIAogJWNoYW5nZWxvZworKiBTYXQgSnVuIDI1IDIw MjIgVGFrYW8gRnVqaXdhcmEgPHRmdWppd2FyQHJlZGhhdC5jb20+IC0gMS41LjI2LTExCistIEVu YWJsZSBjdXN0b21lIHRoZW1lCistIEZpeCBpYnVzIHJlc3RhcnQgZm9yIEdOT01FIGRlc2t0b3AK KwogKiBNb24gSnVuIDEzIDIwMjIgUHl0aG9uIE1haW50IDxweXRob24tbWFpbnRAcmVkaGF0LmNv bT4gLSAxLjUuMjYtMTAKIC0gUmVidWlsdCBmb3IgUHl0aG9uIDMuMTEKIAo=