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: Updated to 1.4.0 Date: Sun, 31 May 2026 02:05:24 GMT Message-ID: <178019312483.1.15281016894239741799.rpms-ibus-e4605fa2d3e5@fedoraproject.org> List-ID: X-Git-Repo: rpms/ibus X-Git-Branch: autotool X-Git-Rev: e4605fa2d3e5cd04efd7a41e10fff348855c2ced ICAgICAgICAgICAgQSBuZXcgY29tbWl0IGhhcyBiZWVuIHB1c2hlZC4KCiAgICAgICAgICAgIFJl cG8gICA6IHJwbXMvaWJ1cwogICAgICAgICAgICBCcmFuY2ggOiBhdXRvdG9vbAogICAgICAgICAg ICBDb21taXQgOiBlNDYwNWZhMmQzZTVjZDA0ZWZkN2E0MWUxMGZmZjM0ODg1NWMyY2VkCiAgICAg ICAgICAgIEF1dGhvciA6IFRha2FvIEZ1aml3YXJhIDx0ZnVqaXdhckByZWRoYXQuY29tPgogICAg ICAgICAgICBEYXRlICAgOiAyMDExLTA5LTI4VDE5OjI0OjEzKzA5OjAwCiAgICAgICAgICAgIFN0 YXRzICA6ICsxMDMvLTgzOSBpbiA3IGZpbGUocykKICAgICAgICAgICAgVVJMICAgIDogaHR0cHM6 Ly9zcmMuZmVkb3JhcHJvamVjdC5vcmcvcnBtcy9pYnVzL2MvZTQ2MDVmYTJkM2U1Y2QwNGVmZDdh NDFlMTBmZmYzNDg4NTVjMmNlZD9icmFuY2g9YXV0b3Rvb2wKCiAgICAgICAgICAgIExvZzoKICAg ICAgICAgICAgVXBkYXRlZCB0byAxLjQuMAoKVXBkYXRlZCBpYnVzLWdqcyAzLjAuMi4yMDExMDky OCBmb3IgZjE1LgpVcGRhdGVkIGlidXMtZ2pzIDMuMi4wLjIwMTEwOTI4IGZvciBmMTYuICgjNzQw NTg4KQpVcGRhdGVkIGlidXMtNTMwNzExLXByZWxvYWQtc3lzLnBhdGNoCiAtIEZpeGVkIG5vdCB0 byBzaG93IGR1cGxpY2F0ZWQgZW5naW5lIG5hbWVzIGluIHNldHVwIHRyZWV2aWV3ICgjNzQwNDQ3 KQpVcGRhdGVkIGJ1cy1nanMteHgtZ25vbWUtc2hlbGwtMy4xLjQtYnVpbGQtZmFpbHVyZS5wYXRj aCBmb3IgZjE2LgpVcGRhdGVkIGlidXMteHgtYnJpZGdlLWhvdGtleS5wYXRjaAogLSBGaXhlZCBh IFhLQiBjb25maWd1cmF0aW9uIHdpdGhvdXQgdGhlIGlucHV0IGZvY3VzIGZvciBmMTYgKCM3Mzkx NjUpCiAtIEZpeGVkIG5vdCB0byBzaG93IG51bGwgc3RyaW5ncyBpbiBjYXNlIG9mIG5vIHZhcmlh bnRzICgjNzM4MTMwKQoKLS0tCmRpZmYgLS1naXQgYS8uZ2l0aWdub3JlIGIvLmdpdGlnbm9yZQpp bmRleCBjZmE5ZDVjLi5jMTFlNTFjIDEwMDY0NAotLS0gYS8uZ2l0aWdub3JlCisrKyBiLy5naXRp Z25vcmUKQEAgLTEsMyArMSw0IEBACisvaWJ1c19tYXN0ZXJfZGEucG8KIGlidXMtMS4zLjYudGFy Lmd6CiAvaWJ1cy0xLjMuNy50YXIuZ3oKIC9pYnVzLTEuMy44LnRhci5negpAQCAtMTEsMTAgKzEy LDEyIEBAIGlidXMtMS4zLjYudGFyLmd6CiAvaWJ1cy0xLjMuOTkuMjAxMTAyMjgudGFyLmd6CiAv aWJ1cy0xLjMuOTkuMjAxMTA0MDgudGFyLmd6CiAvaWJ1cy0xLjMuOTkuMjAxMTA0MTkudGFyLmd6 Ci0vaWJ1c19tYXN0ZXJfZGEucG8KIC9pYnVzLTEuMy45OS4yMDExMDgxNy50YXIuZ3oKKy9pYnVz LTEuNC4wLnRhci5negogL2lidXMtZ2pzLTMuMC4yLjIwMTEwODIzLnRhci5negogL2lidXMtZ2pz LTMuMS40LjIwMTEwODIzLnRhci5negogL2lidXMtZ2pzLTMuMC4yLjIwMTEwOTA4LnRhci5negog L2lidXMtZ2pzLTMuMS45MS4yMDExMDkwOC50YXIuZ3oKIC9pYnVzLWdqcy0zLjEuOTEuMjAxMTA5 MTMudGFyLmd6CisvaWJ1cy1nanMtMy4wLjIuMjAxMTA5MjgudGFyLmd6CisvaWJ1cy1nanMtMy4y LjAuMjAxMTA5MjgudGFyLmd6CgpkaWZmIC0tZ2l0IGEvaWJ1cy01MzA3MTEtcHJlbG9hZC1zeXMu cGF0Y2ggYi9pYnVzLTUzMDcxMS1wcmVsb2FkLXN5cy5wYXRjaAppbmRleCBjZDQxNTY2Li42ODk2 YzU3IDEwMDY0NAotLS0gYS9pYnVzLTUzMDcxMS1wcmVsb2FkLXN5cy5wYXRjaAorKysgYi9pYnVz LTUzMDcxMS1wcmVsb2FkLXN5cy5wYXRjaApAQCAtMSw2ICsxLDYgQEAKLUZyb20gZmQ4MDUzOWU5 ODBmNDY0MTkyYWVkMjJjNzFlODNmZjNhNmVjNjFiMyBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEK K0Zyb20gYTdlOTIyZjI5MGMxZTNlYmE0MmNhMWM2MTQ3YWIxNzA0ZWMyNzJmYiBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKIEZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KLURhdGU6IFRodSwgMSBTZXAgMjAxMSAxNDozODoxMyArMDkwMAorRGF0ZTogTW9uLCAyNiBT ZXAgMjAxMSAxMzowNjowNSArMDkwMAogU3ViamVjdDogW1BBVENIXSBSZWxvYWQgcHJlbG9hZCBl bmdpbmVzIHVudGlsIHVzZXJzIGN1c3RvbWl6ZSB0aGUgbGlzdC4KIAogVGhlIGlkZWEgaXMsIGlm IHVzZXJzIGRvbid0IGN1c3RvbWl6ZSB0aGUgcHJlbG9hZF9lbmdpbmVzIHdpdGggaWJ1cy1zZXR1 cCwKQEAgLTIwLDEwICsyMCwxMCBAQCBJQlVTX1BSRUxPQURfRU5HSU5FX01PREVfVVNFUiBhbmQg dXNlcnMgY2FuIGN1c3RvbWl6ZSB0aGUgdmFsdWUKICBidXMvaWJ1c2ltcGwuYyAgICAgICB8ICA0 MTIgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0KICBk YXRhL2lidXMuc2NoZW1hcy5pbiB8ICAgMTUgKystCiAgaWJ1cy9jb21tb24ucHkgICAgICAgfCAg ICA2ICsKLSBzZXR1cC9tYWluLnB5ICAgICAgICB8ICAgNzAgKysrKysrKystCisgc2V0dXAvbWFp bi5weSAgICAgICAgfCAgIDczICsrKysrKysrLQogIHNldHVwL3NldHVwLnVpICAgICAgIHwgICAy MSArKystCiAgc3JjL2lidXN0eXBlcy5oICAgICAgfCAgIDEwICsrCi0gNiBmaWxlcyBjaGFuZ2Vk LCA0MzggaW5zZXJ0aW9ucygrKSwgOTYgZGVsZXRpb25zKC0pCisgNiBmaWxlcyBjaGFuZ2VkLCA0 NDAgaW5zZXJ0aW9ucygrKSwgOTcgZGVsZXRpb25zKC0pCiAKIGRpZmYgLS1naXQgYS9idXMvaWJ1 c2ltcGwuYyBiL2J1cy9pYnVzaW1wbC5jCiBpbmRleCAxOTQyNTA0Li4zZmNlOTEyIDEwMDY0NApA QCAtNTYwLDcgKzU2MCw3IEBAIGluZGV4IDY0ODNhYWUuLjEyN2VkOTMgMTAwNjQ0CiAgICAgIHBh c3MKICAKIGRpZmYgLS1naXQgYS9zZXR1cC9tYWluLnB5IGIvc2V0dXAvbWFpbi5weQotaW5kZXgg N2Y0YTA0MC4uMTkyZmI4OCAxMDA2NDQKK2luZGV4IDdmNGEwNDAuLjA5NTA4NGIgMTAwNjQ0CiAt LS0gYS9zZXR1cC9tYWluLnB5CiArKysgYi9zZXR1cC9tYWluLnB5CiBAQCAtOTIsNiArOTIsNyBA QCBjbGFzcyBTZXR1cChvYmplY3QpOgpAQCAtNTk5LDcgKzU5OSwxNyBAQCBpbmRleCA3ZjRhMDQw Li4xOTJmYjg4IDEwMDY0NAogIAogICAgICAgICAgc2VsZi5fX3RyZWV2aWV3ID0gc2VsZi5fX2J1 aWxkZXIuZ2V0X29iamVjdCgidHJlZXZpZXdfZW5naW5lcyIpCiAgICAgICAgICBzZWxmLl9fdHJl ZXZpZXcuc2V0X2VuZ2luZXMoZW5naW5lcykKLUBAIC0yNjUsNiArMjczLDI2IEBAIGNsYXNzIFNl dHVwKG9iamVjdCk6CitAQCAtMjQ3LDcgKzI1NSw4IEBAIGNsYXNzIFNldHVwKG9iamVjdCk6Cisg ICAgIGRlZiBfX2NvbWJvYm94X25vdGlmeV9hY3RpdmVfZW5naW5lX2NiKHNlbGYsIGNvbWJvYm94 LCBwcm9wZXJ0eSk6CisgICAgICAgICBlbmdpbmUgPSBzZWxmLl9fY29tYm9ib3guZ2V0X2FjdGl2 ZV9lbmdpbmUoKQorICAgICAgICAgYnV0dG9uID0gc2VsZi5fX2J1aWxkZXIuZ2V0X29iamVjdCgi YnV0dG9uX2VuZ2luZV9hZGQiKQorLSAgICAgICAgYnV0dG9uLnNldF9zZW5zaXRpdmUoZW5naW5l ICE9IE5vbmUgYW5kIGVuZ2luZSBub3QgaW4gc2VsZi5fX3RyZWV2aWV3LmdldF9lbmdpbmVzKCkp CisrICAgICAgICBidXR0b24uc2V0X3NlbnNpdGl2ZShlbmdpbmUgIT0gTm9uZSBhbmQgXAorKyAg ICAgICAgICAgICAgICBlbmdpbmUubmFtZSBub3QgaW4gbWFwKGxhbWJkYSBlOiBlLm5hbWUsIHNl bGYuX190cmVldmlldy5nZXRfZW5naW5lcygpKSkKKyAKKyAgICAgZGVmIF9fdHJlZXZpZXdfbm90 aWZ5X2NiKHNlbGYsIHRyZWV2aWV3LCBwcm9wZXJ0eSk6CisgICAgICAgICBpZiBwcm9wZXJ0eS5u YW1lICE9ICJhY3RpdmUtZW5naW5lIiBhbmQgcHJvcGVydHkubmFtZSAhPSAiZW5naW5lcyI6CitA QCAtMjY1LDYgKzI3NCwyNiBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgogICAgICAgICAgICAgIGVu Z2luZV9uYW1lcyA9IG1hcChsYW1iZGEgZTogZS5uYW1lLCBlbmdpbmVzKQogICAgICAgICAgICAg IHNlbGYuX19jb25maWcuc2V0X2xpc3QoImdlbmVyYWwiLCAicHJlbG9hZF9lbmdpbmVzIiwgZW5n aW5lX25hbWVzLCAicyIpCiAgCkBAIC02MjYsNyArNjM2LDcgQEAgaW5kZXggN2Y0YTA0MC4uMTky ZmI4OCAxMDA2NDQKICAgICAgZGVmIF9fYnV0dG9uX2VuZ2luZV9hZGRfY2Ioc2VsZiwgYnV0dG9u KToKICAgICAgICAgIGVuZ2luZSA9IHNlbGYuX19jb21ib2JveC5nZXRfYWN0aXZlX2VuZ2luZSgp CiAgICAgICAgICBzZWxmLl9fdHJlZXZpZXcuYXBwZW5kX2VuZ2luZShlbmdpbmUpCi1AQCAtMjc2 LDYgKzMwNCwzMiBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgorQEAgLTI3Niw2ICszMDUsMzIgQEAg Y2xhc3MgU2V0dXAob2JqZWN0KToKICAgICAgICAgICAgICBhYm91dC5ydW4oKQogICAgICAgICAg ICAgIGFib3V0LmRlc3Ryb3koKQogIApAQCAtNjU5LDcgKzY2OSw3IEBAIGluZGV4IDdmNGEwNDAu LjE5MmZiODggMTAwNjQ0CiAgICAgIGRlZiBfX2luaXRfYnVzKHNlbGYpOgogICAgICAgICAgdHJ5 OgogICAgICAgICAgICAgIHNlbGYuX19idXMgPSBpYnVzLkJ1cygpCi1AQCAtNDY2LDcgKzUyMCwx MSBAQCBjbGFzcyBTZXR1cChvYmplY3QpOgorQEAgLTQ2Niw3ICs1MjEsMTEgQEAgY2xhc3MgU2V0 dXAob2JqZWN0KToKICAgICAgICAgIHNlbGYuX19jb25maWcuc2V0X3ZhbHVlKCJnZW5lcmFsIiwg InVzZV9nbG9iYWxfZW5naW5lIiwgdmFsdWUpCiAgCiAgICAgIGRlZiBfX2NvbmZpZ192YWx1ZV9j aGFuZ2VkX2NiKHNlbGYsIGJ1cywgc2VjdGlvbiwgbmFtZSwgdmFsdWUpOgpAQCAtNzE5LDEwICs3 MjksMTAgQEAgaW5kZXggZjFlNmQwYi4uNTYyYzA5MSAxMDA2NDQKICAgICAgICAgICAgICAgICAg ICAgIDwvY2hpbGQ+CiAgICAgICAgICAgICAgICAgICAgPC9vYmplY3Q+CiBkaWZmIC0tZ2l0IGEv c3JjL2lidXN0eXBlcy5oIGIvc3JjL2lidXN0eXBlcy5oCi1pbmRleCA4MTQ2NzE5Li42MTUxY2Qw IDEwMDY0NAoraW5kZXggZDkxNjI2NS4uNDIyZWI4NCAxMDA2NDQKIC0tLSBhL3NyYy9pYnVzdHlw ZXMuaAogKysrIGIvc3JjL2lidXN0eXBlcy5oCi1AQCAtMTg2LDYgKzE4NiwxNiBAQCB0eXBlZGVm IGVudW0geworQEAgLTE5OCw2ICsxOTgsMTYgQEAgdHlwZWRlZiBlbnVtIHsKICB9IElCdXNFcnJv cjsKICAKICAvKioKQEAgLTc0MCw1ICs3NTAsNSBAQCBpbmRleCA4MTQ2NzE5Li42MTUxY2QwIDEw MDY0NAogICAqIEB4OiB4IGNvb3JkaW5hdGUuCiAgICogQHk6IHkgY29vcmRpbmF0ZS4KIC0tIAot MS43LjUuNAorMS43LjYuMgogCgpkaWZmIC0tZ2l0IGEvaWJ1cy1IRUFELnBhdGNoIGIvaWJ1cy1I RUFELnBhdGNoCmluZGV4IGM3Y2VmMmUuLjhiMTM3ODkgMTAwNjQ0Ci0tLSBhL2lidXMtSEVBRC5w YXRjaAorKysgYi9pYnVzLUhFQUQucGF0Y2gKQEAgLTEsNzk1ICsxIEBACi1Gcm9tIDk2MTQwNzY3 MzdlZTg4YzA5MmFmMjA5NDg1ZDFkNjVkMjI2OWY0YWQgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAx Ci1Gcm9tOiBUc3V5b3NoaSBIb3JvIDxob3JvQGNocm9taXVtLm9yZz4KLURhdGU6IFRodSwgMTgg QXVnIDIwMTEgMTE6NDg6MzAgLTA0MDAKLVN1YmplY3Q6IFtQQVRDSF0gRml4IGZvciBpYnVzX3Nl cmlhbGl6YWJsZV97Z2V0LHNldH1fYXR0YWNobWVudC4KLQotVEVTVD1MaW51eCBkZXNrdG9wCi0K LVJldmlldyBVUkw6IGh0dHA6Ly9jb2RlcmV2aWV3LmFwcHNwb3QuY29tLzQ5MDUwNTQKLVBhdGNo IGZyb20gVHN1eW9zaGkgSG9ybyA8aG9yb0BjaHJvbWl1bS5vcmc+LgotLS0tCi0gc3JjL2lidXNz ZXJpYWxpemFibGUuYyAgICAgICAgfCAgIDE4ICsrKysrKysrKy0tLS0tLS0tLQotIHNyYy9pYnVz c2VyaWFsaXphYmxlLmggICAgICAgIHwgICAgMyArLS0KLSBzcmMvdGVzdHMvaWJ1cy1zZXJpYWxp emFibGUuYyB8ICAgMzQgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwotIDMgZmls ZXMgY2hhbmdlZCwgNDQgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1n aXQgYS9zcmMvaWJ1c3NlcmlhbGl6YWJsZS5jIGIvc3JjL2lidXNzZXJpYWxpemFibGUuYwotaW5k ZXggMmU0YjIxZi4uZWQ4OTUzNCAxMDA2NDQKLS0tLSBhL3NyYy9pYnVzc2VyaWFsaXphYmxlLmMK LSsrKyBiL3NyYy9pYnVzc2VyaWFsaXphYmxlLmMKLUBAIC0xNjQsNyArMTY0LDcgQEAgX2dfdmFs dWVfc2VyaWFsaXplIChHVmFsdWUgICAgICAgICAgKnZhbHVlKQotICAgICAgICAgeyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwK LSAgICAgICAgICAgICBnIyNfdHlwZSB2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICAgICAgdiA9IGdfdmFsdWVfZ2V0XyMjX3R5cGUg KHZhbHVlKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIHJldHVy biBnX3ZhcmlhbnRfbmV3ICgidiIsIGdfdmFyaWFudF9uZXcgKHNpZ25hdHVyZSwgdikpOyAgIFwK LSsgICAgICAgICAgICByZXR1cm4gZ192YXJpYW50X25ldyAoc2lnbmF0dXJlLCB2KTsgICAgICAg ICAgICAgICAgICAgICAgICBcCi0gICAgICAgICB9Ci0gICAgIENBU0VfRU5UUlkoQ0hBUiwgY2hh ciwgInkiKTsKLSAgICAgQ0FTRV9FTlRSWShCT09MRUFOLCBib29sZWFuLCAiYiIpOwotQEAgLTE5 OCwxNCArMTk4LDE0IEBAIF9nX3ZhbHVlX2Rlc2VyaWFsaXplIChHVmFyaWFudCAqdmFyaWFudCkK LSAgICAgfQotIAotICAgICB0eXBlZGVmIGdjaGFyICpnc3RyaW5nOwotLSNkZWZpbmUgSUZfRU5U UlkoVFlQRSwgX3R5cGUsIHNpZ25hdHVyZSkgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgaWYg KHR5cGUgPT0gIEdfVkFSSUFOVF9UWVBFXyMjVFlQRSkgeyAgICAgICAgICAgICAgICAgICBcCi0t ICAgICAgICBnIyNfdHlwZSB2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAotLSAgICAgICAgZ192YXJpYW50X2dldCAodmFyaWFudCwgc2lnbmF0dXJlLCAmdik7ICAg ICAgICAgICAgIFwKLS0gICAgICAgIHZhbHVlID0gZ19zbGljZV9uZXcwIChHVmFsdWUpOyAgICAg ICAgICAgICAgICAgICAgICBcCi0tICAgICAgICBnX3ZhbHVlX2luaXQgKHZhbHVlLCBHX1RZUEVf IyNUWVBFKTsgICAgICAgICAgICAgICAgXAotLSAgICAgICAgZ192YWx1ZV9zZXRfIyNfdHlwZSAo dmFsdWUsIHYpOyAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgIHJldHVybiB2YWx1ZTsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rI2RlZmluZSBJRl9FTlRS WShUWVBFLCBfdHlwZSwgc2lnbmF0dXJlKSAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgIGlm IChnX3ZhcmlhbnRfdHlwZV9lcXVhbCh0eXBlLCBHX1ZBUklBTlRfVFlQRV8jI1RZUEUpKSB7ICBc Ci0rICAgICAgICBnIyNfdHlwZSB2OyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcCi0rICAgICAgICBnX3ZhcmlhbnRfZ2V0ICh2YXJpYW50LCBzaWduYXR1cmUsICZ2 KTsgICAgICAgICAgICAgICBcCi0rICAgICAgICB2YWx1ZSA9IGdfc2xpY2VfbmV3MCAoR1ZhbHVl KTsgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICAgICBnX3ZhbHVlX2luaXQgKHZhbHVl LCBHX1RZUEVfIyNUWVBFKTsgICAgICAgICAgICAgICAgICBcCi0rICAgICAgICBnX3ZhbHVlX3Nl dF8jI190eXBlICh2YWx1ZSwgdik7ICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICAgICBy ZXR1cm4gdmFsdWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCi0g ICAgIH0KLSAjZGVmaW5lIEdfVkFSSUFOVF9UWVBFX0NIQVIgR19WQVJJQU5UX1RZUEVfQllURQot ICAgICBJRl9FTlRSWShDSEFSLCBjaGFyLCAieSIpOwotZGlmZiAtLWdpdCBhL3NyYy9pYnVzc2Vy aWFsaXphYmxlLmggYi9zcmMvaWJ1c3NlcmlhbGl6YWJsZS5oCi1pbmRleCAzNThhZjMyLi44ZmQ5 ZjhhIDEwMDY0NAotLS0tIGEvc3JjL2lidXNzZXJpYWxpemFibGUuaAotKysrIGIvc3JjL2lidXNz ZXJpYWxpemFibGUuaAotQEAgLTg3LDEyICs4NywxMSBAQAotICAqIGlidXNfc2VyaWFsaXphYmxl X2dldF9hdHRhY2htZW50OgotICAqIEBvOiBBbiBJQnVzU2VyaWFsaXphYmxlLgotICAqIEBrOiBT dHJpbmcgZm9ybWF0dGVkIGtleSBmb3IgaW5kZXhpbmcgdmFsdWUuCi0tICogQHY6IFZhbHVlIHRv IGJlIGF0dGFjaGVkLiBTaG91bGQgYmUgYWxzbyBzZXJpYWxpemFibGUuCi0gICoKLSAgKiBHZXQg YSB2YWx1ZSBmcm9tIGF0dGFjaG1lbnQgb2YgYW4gSUJ1c1NlcmlhbGl6YWJsZS4KLSAgKiBUaGlz IG1hY3JvIGlzIGFuIGNvbnZlbmllbnQgd3JhcHBlciBvZiBpYnVzX3NlcmlhbGl6YWJsZV9nZXRf cWF0dGFjaG1lbnQoKS4KLSAgKi8KLS0jZGVmaW5lIGlidXNfc2VyaWFsaXphYmxlX2dldF9hdHRh Y2htZW50KG8sIGssIHYpICBcCi0rI2RlZmluZSBpYnVzX3NlcmlhbGl6YWJsZV9nZXRfYXR0YWNo bWVudChvLCBrKSAgXAotICAgICBpYnVzX3NlcmlhbGl6YWJsZV9nZXRfcWF0dGFjaG1lbnQgKG8s IGdfcXVhcmtfZnJvbV9zdHJpbmcgKGspKQotIAotIC8qKgotZGlmZiAtLWdpdCBhL3NyYy90ZXN0 cy9pYnVzLXNlcmlhbGl6YWJsZS5jIGIvc3JjL3Rlc3RzL2lidXMtc2VyaWFsaXphYmxlLmMKLWlu ZGV4IGMyYTc1MjkuLmUyNTQxZWMgMTAwNjQ0Ci0tLS0gYS9zcmMvdGVzdHMvaWJ1cy1zZXJpYWxp emFibGUuYwotKysrIGIvc3JjL3Rlc3RzL2lidXMtc2VyaWFsaXphYmxlLmMKLUBAIC0xMjgsNiAr MTI4LDM5IEBAIHRlc3RfcHJvcGVydHkgKHZvaWQpCi0gICAgIGdfdmFyaWFudF90eXBlX2luZm9f YXNzZXJ0X25vX2luZm9zICgpOwotIH0KLSAKLStzdGF0aWMgdm9pZAotK3Rlc3RfYXR0YWNobWVu dCAodm9pZCkKLSt7Ci0rICAgIElCdXNUZXh0ICp0ZXh0ID0gIGlidXNfdGV4dF9uZXdfZnJvbV9z dHJpbmcgKCJtYWluIHRleHQiKTsKLSsKLSsgICAgR1ZhbHVlIHZhbHVlMSA9IHsgMCB9OwotKyAg ICBnX3ZhbHVlX2luaXQoJnZhbHVlMSwgR19UWVBFX0lOVCk7Ci0rICAgIGdfdmFsdWVfc2V0X2lu dCgmdmFsdWUxLCAxMDApOwotKyAgICBpYnVzX3NlcmlhbGl6YWJsZV9zZXRfYXR0YWNobWVudCAo KElCdXNTZXJpYWxpemFibGUgKil0ZXh0LCAia2V5MSIsICZ2YWx1ZTEpOwotKwotKyAgICBHVmFs dWUgdmFsdWUyID0geyAwIH07Ci0rICAgIGdfdmFsdWVfaW5pdCgmdmFsdWUyLCBHX1RZUEVfU1RS SU5HKTsKLSsgICAgZ192YWx1ZV9zZXRfc3RyaW5nKCZ2YWx1ZTIsICJ2YWx1ZSBzdHJpbmciKTsK LSsgICAgaWJ1c19zZXJpYWxpemFibGVfc2V0X2F0dGFjaG1lbnQgKChJQnVzU2VyaWFsaXphYmxl ICopdGV4dCwgImtleTIiLCAmdmFsdWUyKTsKLSsKLSsgICAgR1ZhcmlhbnQgKnZhcmlhbnQgPSBp YnVzX3NlcmlhbGl6YWJsZV9zZXJpYWxpemUgKChJQnVzU2VyaWFsaXphYmxlICopdGV4dCk7Ci0r ICAgIGdfb2JqZWN0X3VucmVmICgoSUJ1c1NlcmlhbGl6YWJsZSAqKXRleHQpOwotKwotKyAgICBJ QnVzU2VyaWFsaXphYmxlICpvYmplY3QgPSAoSUJ1c1NlcmlhbGl6YWJsZSAqKSBpYnVzX3Nlcmlh bGl6YWJsZV9kZXNlcmlhbGl6ZSAodmFyaWFudCk7Ci0rICAgIGdfdmFyaWFudF91bnJlZiAodmFy aWFudCk7Ci0rCi0rICAgIGdfYXNzZXJ0X2NtcHN0ciAoKChJQnVzVGV4dCAqKW9iamVjdCktPnRl eHQsID09LCAibWFpbiB0ZXh0Iik7Ci0rCi0rICAgIGNvbnN0IEdWYWx1ZSAqbmV3dmFsdWUxID0g aWJ1c19zZXJpYWxpemFibGVfZ2V0X2F0dGFjaG1lbnQgKG9iamVjdCwgImtleTEiKTsKLSsgICAg Z19hc3NlcnQgKG5ld3ZhbHVlMSAhPSBOVUxMKTsKLSsgICAgZ19hc3NlcnQgKGdfdmFsdWVfZ2V0 X2ludCAobmV3dmFsdWUxKSA9PSAxMDApOwotKwotKyAgICBjb25zdCBHVmFsdWUgKm5ld3ZhbHVl MiA9IGlidXNfc2VyaWFsaXphYmxlX2dldF9hdHRhY2htZW50IChvYmplY3QsICJrZXkyIik7Ci0r ICAgIGdfYXNzZXJ0IChuZXd2YWx1ZTIgIT0gTlVMTCk7Ci0rICAgIGdfYXNzZXJ0X2NtcHN0ciAo Z192YWx1ZV9nZXRfc3RyaW5nIChuZXd2YWx1ZTIpLCA9PSwgInZhbHVlIHN0cmluZyIpOwotKwot KyAgICBnX3ZhcmlhbnRfdHlwZV9pbmZvX2Fzc2VydF9ub19pbmZvcyAoKTsKLSt9Ci0gCi0gZ2lu dAotIG1haW4gKGdpbnQgICAgYXJnYywKLUBAIC0xNDIsNiArMTc1LDcgQEAgbWFpbiAoZ2ludCAg ICBhcmdjLAotICAgICBnX3Rlc3RfYWRkX2Z1bmMgKCIvaWJ1cy9lbmdpbmVkZXNjIiwgdGVzdF9l bmdpbmVfZGVzYyk7Ci0gICAgIGdfdGVzdF9hZGRfZnVuYyAoIi9pYnVzL2xvb2t1cHRhYmxlIiwg dGVzdF9sb29rdXBfdGFibGUpOwotICAgICBnX3Rlc3RfYWRkX2Z1bmMgKCIvaWJ1cy9wcm9wZXJ0 eSIsIHRlc3RfcHJvcGVydHkpOwotKyAgICBnX3Rlc3RfYWRkX2Z1bmMgKCIvaWJ1cy9hdHRhY2ht ZW50IiwgdGVzdF9hdHRhY2htZW50KTsKLSAKLSAgICAgcmV0dXJuIGdfdGVzdF9ydW4gKCk7Ci0g fQotLS0gCi0xLjcuNS40Ci0KLUZyb20gYWM5ZGZhYzEzY2VmMzQyODg0NDBhMmVjZGYwNjdjZDgy N2ZiMmY4ZiBNb24gU2VwIDE3IDAwOjAwOjAwIDIwMDEKLUZyb206IFBlbmcgSHVhbmcgPHNoYXdu LnAuaHVhbmdAZ21haWwuY29tPgotRGF0ZTogRnJpLCAxOSBBdWcgMjAxMSAwODoyMzozMyAtMDQw MAotU3ViamVjdDogW1BBVENIXSBVc2UgR1ZhcmlhbnQgYXMgYXR0YWNobWVudCBmb3IgSUJ1c1Nl cmlhbGl6YWJsZS4KLQotQlVHPU5vbmUKLVRFU1Q9TGludXggZGVza3RvcAotCi1SZXZpZXcgVVJM OiBodHRwOi8vY29kZXJldmlldy5hcHBzcG90LmNvbS80OTAyMDUxCi0tLS0KLSBzcmMvaWJ1c3Nl cmlhbGl6YWJsZS5jICAgICAgICB8ICAxNzYgKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0KLSBzcmMvaWJ1c3NlcmlhbGl6YWJsZS5oICAgICAgICB8ICAgODEgKysrKysr KysrLS0tLS0tLS0tLQotIHNyYy90ZXN0cy9pYnVzLXNlcmlhbGl6YWJsZS5jIHwgICA0NyArKysr KysrKy0tLS0KLSAzIGZpbGVzIGNoYW5nZWQsIDk4IGluc2VydGlvbnMoKyksIDIwNiBkZWxldGlv bnMoLSkKLQotZGlmZiAtLWdpdCBhL3NyYy9pYnVzc2VyaWFsaXphYmxlLmMgYi9zcmMvaWJ1c3Nl cmlhbGl6YWJsZS5jCi1pbmRleCBlZDg5NTM0Li42MjUxYzg5IDEwMDY0NAotLS0tIGEvc3JjL2li dXNzZXJpYWxpemFibGUuYwotKysrIGIvc3JjL2lidXNzZXJpYWxpemFibGUuYwotQEAgLTEyNCwx MTQgKzEyNCwxMyBAQCBpYnVzX3NlcmlhbGl6YWJsZV9kZXN0cm95IChJQnVzU2VyaWFsaXphYmxl ICpzZXJpYWxpemFibGUpCi0gICAgIHBhcmVudF9jbGFzcy0+ZGVzdHJveSAoSUJVU19PQkpFQ1Qg KHNlcmlhbGl6YWJsZSkpOwotIH0KLSAKLS1zdGF0aWMgR1ZhbHVlICoKLS1pYnVzX2dfdmFsdWVf ZHVwIChjb25zdCBHVmFsdWUgKnZhbHVlKQotLXsKLS0gICAgR1ZhbHVlICpuZXdfdmFsdWU7Ci0t Ci0tICAgIG5ld192YWx1ZSA9IGdfc2xpY2VfbmV3MCAoR1ZhbHVlKTsKLS0gICAgZ192YWx1ZV9p bml0IChuZXdfdmFsdWUsIEdfVkFMVUVfVFlQRSAodmFsdWUpKTsKLS0gICAgZ192YWx1ZV9jb3B5 ICh2YWx1ZSwgbmV3X3ZhbHVlKTsKLS0KLS0gICAgcmV0dXJuIG5ld192YWx1ZTsKLS19Ci0tCi0t c3RhdGljIHZvaWQKLS1pYnVzX2dfdmFsdWVfZnJlZSAoR1ZhbHVlICp2YWx1ZSkKLS17Ci0tICAg IGdfdmFsdWVfdW5zZXQgKHZhbHVlKTsKLS0gICAgZ19zbGljZV9mcmVlIChHVmFsdWUsIHZhbHVl KTsKLS19Ci0tCi0tc3RhdGljIEdWYXJpYW50ICoKLS1fZ192YWx1ZV9zZXJpYWxpemUgKEdWYWx1 ZSAgICAgICAgICAqdmFsdWUpCi0tewotLSAgICBHVHlwZSB0eXBlOwotLQotLSAgICB0eXBlID0g R19WQUxVRV9UWVBFICh2YWx1ZSk7Ci0tICAgIGdfcmV0dXJuX3ZhbF9pZl9mYWlsICh0eXBlICE9 IEdfVFlQRV9JTlZBTElELCBGQUxTRSk7Ci0tCi0tICAgIGlmIChnX3R5cGVfaXNfYSAodHlwZSwg SUJVU19UWVBFX1NFUklBTElaQUJMRSkpIHsKLS0gICAgICAgIElCdXNTZXJpYWxpemFibGUgKm9i amVjdDsKLS0gICAgICAgIG9iamVjdCA9IElCVVNfU0VSSUFMSVpBQkxFIChnX3ZhbHVlX2dldF9v YmplY3QgKHZhbHVlKSk7Ci0tICAgICAgICByZXR1cm4gaWJ1c19zZXJpYWxpemFibGVfc2VyaWFs aXplIChvYmplY3QpOwotLSAgICB9Ci0tCi0tICAgIHR5cGVkZWYgY29uc3QgZ2NoYXIgKmdzdHJp bmc7Ci0tICAgIHN3aXRjaCAodHlwZSkgewotLSNkZWZpbmUgQ0FTRV9FTlRSWShUWVBFLCBfdHlw ZSwgc2lnbmF0dXJlKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgY2FzZSBH X1RZUEVfIyNUWVBFOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCi0tICAgICAgICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgICAgIGcjI190eXBlIHY7ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLS0gICAgICAgICAg ICB2ID0gZ192YWx1ZV9nZXRfIyNfdHlwZSAodmFsdWUpOyAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCi0tICAgICAgICAgICAgcmV0dXJuIGdfdmFyaWFudF9uZXcgKHNpZ25hdHVyZSwgdik7 ICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgfQotLSAgICBDQVNFX0VOVFJZKENI QVIsIGNoYXIsICJ5Iik7Ci0tICAgIENBU0VfRU5UUlkoQk9PTEVBTiwgYm9vbGVhbiwgImIiKTsK LS0gICAgQ0FTRV9FTlRSWShJTlQsIGludCwgImkiKTsKLS0gICAgQ0FTRV9FTlRSWShVSU5ULCB1 aW50LCAidSIpOwotLSAgICBDQVNFX0VOVFJZKElOVDY0LCBpbnQ2NCwgICJ4Iik7Ci0tICAgIENB U0VfRU5UUlkoVUlOVDY0LCB1aW50NjQsICJ0Iik7Ci0tICAgIENBU0VfRU5UUlkoRkxPQVQsIGZs b2F0LCAgImQiKTsKLS0gICAgQ0FTRV9FTlRSWShET1VCTEUsIGRvdWJsZSwgImQiKTsKLS0gICAg Q0FTRV9FTlRSWShTVFJJTkcsIHN0cmluZywgInMiKTsKLS0jdW5kZWYgQ0FTRV9FTlRSWQotLSAg ICB9Ci0tCi0tICAgIGdfYXNzZXJ0X25vdF9yZWFjaGVkICgpOwotLX0KLS0KLS1zdGF0aWMgR1Zh bHVlICoKLS1fZ192YWx1ZV9kZXNlcmlhbGl6ZSAoR1ZhcmlhbnQgKnZhcmlhbnQpCi0tewotLSAg ICBHVmFsdWUgKnZhbHVlID0gTlVMTDsKLS0gICAgY29uc3QgR1ZhcmlhbnRUeXBlICp0eXBlOwot LQotLSAgICB0eXBlID0gZ192YXJpYW50X2dldF90eXBlICh2YXJpYW50KTsKLS0gICAgaWYgKHR5 cGUgPT0gR19WQVJJQU5UX1RZUEVfVFVQTEUpIHsKLS0gICAgICAgIElCdXNTZXJpYWxpemFibGUg Km9iamVjdDsKLS0gICAgICAgIG9iamVjdCA9IGlidXNfc2VyaWFsaXphYmxlX2Rlc2VyaWFsaXpl ICh2YXJpYW50KTsKLS0gICAgICAgIHZhbHVlID0gZ19zbGljZV9uZXcwIChHVmFsdWUpOwotLSAg ICAgICAgZ192YWx1ZV9pbml0ICh2YWx1ZSwgR19PQkpFQ1RfVFlQRSAob2JqZWN0KSk7Ci0tICAg ICAgICBnX3ZhbHVlX3Rha2Vfb2JqZWN0ICh2YWx1ZSwgb2JqZWN0KTsKLS0gICAgICAgIHJldHVy biB2YWx1ZTsKLS0gICAgfQotLQotLSAgICB0eXBlZGVmIGdjaGFyICpnc3RyaW5nOwotLSNkZWZp bmUgSUZfRU5UUlkoVFlQRSwgX3R5cGUsIHNpZ25hdHVyZSkgICAgICAgICAgICAgICAgICAgICAg XAotLSAgICBpZiAoZ192YXJpYW50X3R5cGVfZXF1YWwodHlwZSwgR19WQVJJQU5UX1RZUEVfIyNU WVBFKSkgeyAgXAotLSAgICAgICAgZyMjX3R5cGUgdjsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgZ192YXJpYW50X2dldCAodmFyaWFudCwgc2ln bmF0dXJlLCAmdik7ICAgICAgICAgICAgICAgXAotLSAgICAgICAgdmFsdWUgPSBnX3NsaWNlX25l dzAgKEdWYWx1ZSk7ICAgICAgICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAgZ192YWx1ZV9p bml0ICh2YWx1ZSwgR19UWVBFXyMjVFlQRSk7ICAgICAgICAgICAgICAgICAgXAotLSAgICAgICAg Z192YWx1ZV9zZXRfIyNfdHlwZSAodmFsdWUsIHYpOyAgICAgICAgICAgICAgICAgICAgICAgXAot LSAgICAgICAgcmV0dXJuIHZhbHVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXAotLSAgICB9Ci0tI2RlZmluZSBHX1ZBUklBTlRfVFlQRV9DSEFSIEdfVkFSSUFOVF9U WVBFX0JZVEUKLS0gICAgSUZfRU5UUlkoQ0hBUiwgY2hhciwgInkiKTsKLS0jdW5kZWYgR19WQVJJ QU5UX1RZUEVfQ0hBUgotLSAgICBJRl9FTlRSWShCT09MRUFOLCBib29sZWFuLCAiYiIpOwotLSNk ZWZpbmUgR19WQVJJQU5UX1RZUEVfSU5UIEdfVkFSSUFOVF9UWVBFX0lOVDMyCi0tI2RlZmluZSBH X1ZBUklBTlRfVFlQRV9VSU5UIEdfVkFSSUFOVF9UWVBFX1VJTlQzMgotLSAgICBJRl9FTlRSWShJ TlQsIGludCwgImkiKTsKLS0gICAgSUZfRU5UUlkoVUlOVCwgdWludCwgInUiKTsKLS0jdW5kZWYg R19WQVJJQU5UX1RZUEVfSU5UCi0tI3VuZGVmIEdfVkFSSUFOVF9UWVBFX1VJTlQKLS0gICAgSUZf RU5UUlkoSU5UNjQsIGludDY0LCAieCIpOwotLSAgICBJRl9FTlRSWShVSU5UNjQsIHVpbnQ2NCwg InQiKTsKLS0gICAgSUZfRU5UUlkoRE9VQkxFLCBkb3VibGUsICJkIik7Ci0tICAgIElGX0VOVFJZ KFNUUklORywgc3RyaW5nLCAicyIpOwotLQotLSAgICBnX3JldHVybl92YWxfaWZfcmVhY2hlZCAo TlVMTCk7Ci0tfQotLQotIHN0YXRpYyB2b2lkCi0gX3NlcmlhbGl6ZV9jYiAoR1F1YXJrICAgICAg ICAgICBrZXksCi0tICAgICAgICAgICAgICAgR1ZhbHVlICAgICAgICAgICp2YWx1ZSwKLSsgICAg ICAgICAgICAgICBHVmFyaWFudCAgICAgICAgKnZhbHVlLAotICAgICAgICAgICAgICAgIEdWYXJp YW50QnVpbGRlciAqYXJyYXkpCi0gewotICAgICBnX3ZhcmlhbnRfYnVpbGRlcl9hZGQgKGFycmF5 LCAie3N2fSIsCi0tICAgICAgICAgICAgICAgIGdfcXVhcmtfdG9fc3RyaW5nIChrZXkpLCBfZ192 YWx1ZV9zZXJpYWxpemUgKHZhbHVlKSk7Ci0rICAgICAgICAgICAgICAgIGdfcXVhcmtfdG9fc3Ry aW5nIChrZXkpLCBnX3ZhcmlhbnRfbmV3X3ZhcmlhbnQgKHZhbHVlKSk7Ci0gfQotIAotIHN0YXRp YyBnYm9vbGVhbgotQEAgLTI1NywyMSArMTU2LDI2IEBAIGlidXNfc2VyaWFsaXphYmxlX3JlYWxf ZGVzZXJpYWxpemUgKElCdXNTZXJpYWxpemFibGUgKm9iamVjdCwKLSAgICAgR1ZhcmlhbnRJdGVy ICppdGVyID0gTlVMTDsKLSAgICAgZ192YXJpYW50X2dldF9jaGlsZCAodmFyaWFudCwgMSwgImF7 c3Z9IiwgJml0ZXIpOwotICAgICB3aGlsZSAoZ192YXJpYW50X2l0ZXJfbG9vcCAoaXRlciwgInsm c3Z9IiwgJmtleSwgJnZhbHVlKSkgewotLSAgICAgICAgaWJ1c19zZXJpYWxpemFibGVfc2V0X2F0 dGFjaG1lbnQgKG9iamVjdCwga2V5LCBfZ192YWx1ZV9kZXNlcmlhbGl6ZSAodmFsdWUpKTsKLSsg ICAgICAgIEdWYXJpYW50ICphdHRhY2htZW50ID0gZ192YXJpYW50X2dldF92YXJpYW50ICh2YWx1 ZSk7Ci0rICAgICAgICBpYnVzX3NlcmlhbGl6YWJsZV9zZXRfYXR0YWNobWVudCAob2JqZWN0LAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGtleSwKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhdHRhY2htZW50KTsKLSsgICAgICAg IGdfdmFyaWFudF91bnJlZiAoYXR0YWNobWVudCk7Ci0rICAgICAgICBnX3ZhcmlhbnRfdW5yZWYg KHZhbHVlKTsKLSAgICAgfQotICAgICBnX3ZhcmlhbnRfaXRlcl9mcmVlIChpdGVyKTsKLSAgICAg cmV0dXJuIDI7Ci0gfQotIAotIHN0YXRpYyB2b2lkCi0tX2NvcHlfY2IgKEdRdWFyayAgIGtleSwK LS0gICAgICAgICAgR1ZhbHVlICAqdmFsdWUsCi0tICAgICAgICAgIEdEYXRhICAqKmRhdGFsaXN0 KQotK19jb3B5X2NiIChHUXVhcmsgICAgIGtleSwKLSsgICAgICAgICAgR1ZhcmlhbnQgICp2YWx1 ZSwKLSsgICAgICAgICAgR0RhdGEgICAgKipkYXRhbGlzdCkKLSB7Ci0gICAgIGdfZGF0YWxpc3Rf aWRfc2V0X2RhdGFfZnVsbCAoZGF0YWxpc3QsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAga2V5LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlidXNfZ192YWx1 ZV9kdXAgKHZhbHVlKSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoR0Rlc3Ry b3lOb3RpZnkpIGlidXNfZ192YWx1ZV9mcmVlKTsKLSsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBnX3ZhcmlhbnRfcmVmICh2YWx1ZSksCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKEdEZXN0cm95Tm90aWZ5KSBnX3ZhcmlhbnRfdW5yZWYpOwotIH0KLSAKLSBzdGF0 aWMgZ2Jvb2xlYW4KLUBAIC0yODksNTAgKzE5MywyMSBAQCBpYnVzX3NlcmlhbGl6YWJsZV9yZWFs X2NvcHkgKElCdXNTZXJpYWxpemFibGUgKmRlc3QsCi0gICAgIHJldHVybiBUUlVFOwotIH0KLSAK LS1nYm9vbGVhbgotLWlidXNfc2VyaWFsaXphYmxlX3NldF9xYXR0YWNobWVudCAoSUJ1c1Nlcmlh bGl6YWJsZSAqb2JqZWN0LAotK3ZvaWQKLStpYnVzX3NlcmlhbGl6YWJsZV9zZXRfcWF0dGFjaG1l bnQgKElCdXNTZXJpYWxpemFibGUgKnNlcmlhbGl6YWJsZSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEdRdWFyayAgICAgICAgICAgIGtleSwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGNvbnN0IEdWYWx1ZSAgICAgKnZhbHVlKQotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgR1ZhcmlhbnQgICAgICAgICAqdmFsdWUpCi0gewotLSAg ICBnX3JldHVybl92YWxfaWZfZmFpbCAoSUJVU19JU19TRVJJQUxJWkFCTEUgKG9iamVjdCksIEZB TFNFKTsKLS0gICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGtleSAhPSAwLCBGQUxTRSk7Ci0tICAg IGdfcmV0dXJuX3ZhbF9pZl9mYWlsIChHX0lTX1ZBTFVFICh2YWx1ZSksIEZBTFNFKTsKLS0KLS0g ICAgSUJ1c1NlcmlhbGl6YWJsZVByaXZhdGUgKnByaXY7Ci0tICAgIHByaXYgPSBJQlVTX1NFUklB TElaQUJMRV9HRVRfUFJJVkFURSAob2JqZWN0KTsKLS0KLS0gICAgR1R5cGUgdHlwZSA9IEdfVkFM VUVfVFlQRSAodmFsdWUpOwotLQotLSAgICBzd2l0Y2ggKHR5cGUpIHsKLS0gICAgY2FzZSBHX1RZ UEVfQ0hBUjoKLS0gICAgY2FzZSBHX1RZUEVfSU5UOgotLSAgICBjYXNlIEdfVFlQRV9JTlQ2NDoK LS0gICAgY2FzZSBHX1RZUEVfVUlOVDoKLS0gICAgY2FzZSBHX1RZUEVfVUlOVDY0OgotLSAgICBj YXNlIEdfVFlQRV9CT09MRUFOOgotLSAgICBjYXNlIEdfVFlQRV9ET1VCTEU6Ci0tICAgIGNhc2Ug R19UWVBFX0ZMT0FUOgotLSAgICBjYXNlIEdfVFlQRV9TVFJJTkc6Ci0tICAgICAgICBnX2RhdGFs aXN0X2lkX3NldF9kYXRhX2Z1bGwgKCZwcml2LT5hdHRhY2htZW50cywKLS0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGtleSwKLS0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGlidXNfZ192YWx1ZV9kdXAgKHZhbHVlKSwKLS0gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChHRGVzdHJveU5vdGlmeSkgaWJ1c19nX3ZhbHVlX2ZyZWUp OwotLSAgICAgICAgcmV0dXJuIFRSVUU7Ci0tICAgIH0KLS0KLS0gICAgaWYgKGdfdHlwZV9pc19h ICh0eXBlLCBJQlVTX1RZUEVfU0VSSUFMSVpBQkxFKSkgewotLSAgICAgICAgZ19kYXRhbGlzdF9p ZF9zZXRfZGF0YV9mdWxsICgmcHJpdi0+YXR0YWNobWVudHMsCi0tICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBrZXksCi0tICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpYnVzX2dfdmFsdWVfZHVwICh2YWx1ZSksCi0tICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoR0Rlc3Ryb3lOb3RpZnkpIGlidXNfZ192YWx1ZV9mcmVlKTsKLS0g ICAgICAgIHJldHVybiBUUlVFOwotLSAgICB9Ci0rICAgIGdfcmV0dXJuX2lmX2ZhaWwgKElCVVNf SVNfU0VSSUFMSVpBQkxFIChzZXJpYWxpemFibGUpKTsKLSsgICAgZ19yZXR1cm5faWZfZmFpbCAo a2V5ICE9IDApOwotIAotLSAgICBnX3dhcm5pbmcgKCJUaGUgdmFsdWUgb2YgJXMgaXMgbm90IHN1 cHBvcnQgc2VyaWFsaXppbmciLCBnX3R5cGVfbmFtZSAodHlwZSkpOwotLSAgICByZXR1cm4gRkFM U0U7Ci0rICAgIGdfZGF0YWxpc3RfaWRfc2V0X2RhdGFfZnVsbCAoJnNlcmlhbGl6YWJsZS0+cHJp di0+YXR0YWNobWVudHMsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAga2V5LAot KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlID8gZ192YXJpYW50X3JlZl9z aW5rICh2YWx1ZSkgOiBOVUxMLAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChH RGVzdHJveU5vdGlmeSkgZ192YXJpYW50X3VucmVmKTsKLSB9Ci0gCi0tY29uc3QgR1ZhbHVlICoK LStHVmFyaWFudCAqCi0gaWJ1c19zZXJpYWxpemFibGVfZ2V0X3FhdHRhY2htZW50IChJQnVzU2Vy aWFsaXphYmxlICpzZXJpYWxpemFibGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBHUXVhcmsgICAgICAgICAgICBrZXkpCi0gewotQEAgLTM0MCw3ICsyMTUsOCBAQCBpYnVz X3NlcmlhbGl6YWJsZV9nZXRfcWF0dGFjaG1lbnQgKElCdXNTZXJpYWxpemFibGUgKnNlcmlhbGl6 YWJsZSwKLSAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKElCVVNfSVNfU0VSSUFMSVpBQkxFIChz ZXJpYWxpemFibGUpLCBOVUxMKTsKLSAgICAgZ19yZXR1cm5fdmFsX2lmX2ZhaWwgKGtleSAhPSAw LCBOVUxMKTsKLSAKLS0gICAgcmV0dXJuIChjb25zdCBHVmFsdWUgKikgZ19kYXRhbGlzdF9pZF9n ZXRfZGF0YSAoJnNlcmlhbGl6YWJsZS0+cHJpdi0+YXR0YWNobWVudHMsIGtleSk7Ci0rICAgIHJl dHVybiAoR1ZhcmlhbnQgKikgZ19kYXRhbGlzdF9pZF9nZXRfZGF0YSAoCi0rICAgICAgICAgICAg JnNlcmlhbGl6YWJsZS0+cHJpdi0+YXR0YWNobWVudHMsIGtleSk7Ci0gfQotIAotIHZvaWQKLUBA IC0zNTEsNyArMjI3LDcgQEAgaWJ1c19zZXJpYWxpemFibGVfcmVtb3ZlX3FhdHRhY2htZW50IChJ QnVzU2VyaWFsaXphYmxlICpzZXJpYWxpemFibGUsCi0gICAgIGdfcmV0dXJuX2lmX2ZhaWwgKElC VVNfSVNfU0VSSUFMSVpBQkxFIChzZXJpYWxpemFibGUpKTsKLSAgICAgZ19yZXR1cm5faWZfZmFp bCAoa2V5ICE9IDApOwotIAotLSAgICBnX2RhdGFsaXN0X2lkX3JlbW92ZV9ub19ub3RpZnkgKCZz ZXJpYWxpemFibGUtPnByaXYtPmF0dGFjaG1lbnRzLCBrZXkpOwotKyAgICBnX2RhdGFsaXN0X2lk X3NldF9kYXRhICgmc2VyaWFsaXphYmxlLT5wcml2LT5hdHRhY2htZW50cywga2V5LCBOVUxMKTsK LSB9Ci0gCi0gSUJ1c1NlcmlhbGl6YWJsZSAqCi1kaWZmIC0tZ2l0IGEvc3JjL2lidXNzZXJpYWxp emFibGUuaCBiL3NyYy9pYnVzc2VyaWFsaXphYmxlLmgKLWluZGV4IDhmZDlmOGEuLjdhMTAwYzIg MTAwNjQ0Ci0tLS0gYS9zcmMvaWJ1c3NlcmlhbGl6YWJsZS5oCi0rKysgYi9zcmMvaWJ1c3Nlcmlh bGl6YWJsZS5oCi1AQCAtMTI2LDM5ICsxMjYsNDAgQEAgc3RydWN0IF9JQnVzU2VyaWFsaXphYmxl IHsKLSAKLSAvKioKLSAgKiBJQnVzU2VyaWFsaXphYmxlU2VyaWFsaXplRnVuYzoKLS0gKiBAb2Jq ZWN0OiBBbiBJQnVzU2VyaWFsaXphYmxlLgotLSAqIEBpdGVyOiBBbiBJQnVzTWVzc2FnZUl0ZXIu Ci0tICogQHJldHVybnM6IFRSVUUgaWYgc3VjY2VlZDsgRkFMU0Ugb3RoZXJ3aXNlLgotKyAqIEBz ZXJpYWxpemFibGU6IEFuICNJQnVzU2VyaWFsaXphYmxlLgotKyAqIEBidWlsZGVyOiBBICNHVmFy aWFudEJ1aWxkZXIuCi0rICogQHJldHVybnM6ICVUUlVFIGlmIHN1Y2NlZWQ7ICVGQUxTRSBvdGhl cndpc2UuCi0gICoKLSAgKiBQcm90b3R5cGUgb2Ygc2VyaWFsaXplIGZ1bmN0aW9uLgotICAqIFNl cmlhbGl6ZSBmdW5jdGlvbiBjb252ZXJ0IGFuIElCdXNTZXJpYWxpemFibGUgdG8gSUJ1c01lc3Nh Z2VJdGVyLgotICAqIFJldHVybnMgYSBnYm9vbGVhbiB2YWx1ZSB3aGljaCBpbmRpY2F0ZXMgd2hl dGhlciB0aGUgY29udmVyc2lvbiBpcyBzdWNjZXNzLgotLSAqIFJldHVybiBUUlVFIGlmIHN1Y2Nl ZWQuCi0rICogUmV0dXJuICVUUlVFIGlmIHN1Y2NlZWQuCi0gICovCi0tdHlwZWRlZiBnYm9vbGVh biAgICAoKiBJQnVzU2VyaWFsaXphYmxlU2VyaWFsaXplRnVuYykgICAoSUJ1c1NlcmlhbGl6YWJs ZSAgICAgICAqb2JqZWN0LAotK3R5cGVkZWYgZ2Jvb2xlYW4gICAgKCogSUJ1c1NlcmlhbGl6YWJs ZVNlcmlhbGl6ZUZ1bmMpICAgKElCdXNTZXJpYWxpemFibGUgICAgICAgKnNlcmlhbGl6YWJsZSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHVmFyaWFudEJ1aWxkZXIgICAgICAgICpidWlsZGVyKTsKLSAKLSAvKioKLSAgKiBJQnVzU2Vy aWFsaXphYmxlRGVzZXJpYWxpemVGdW5jOgotLSAqIEBvYmplY3Q6IEFuIElCdXNTZXJpYWxpemFi bGUuCi0tICogQGl0ZXI6IEFuIElCdXNNZXNzYWdlSXRlci4KLS0gKiBAcmV0dXJuczogVFJVRSBp ZiBzdWNjZWVkOyBGQUxTRSBvdGhlcndpc2UuCi0rICogQHNlcmlhbGl6YWJsZTogQW4gI0lCdXNT ZXJpYWxpemFibGUuCi0rICogQHZhcmlhbnQ6IEEgI0dWYXJpYW50IGNvbnRhaW5zIGEgdHVwbGUu Ci0rICogQHJldHVybnM6IFRoZSBudW1iZXIgb2YgdmFsdWVzIGluIHRoZSB2YXJpYW50KHR1cGxl KSBhcmUgY29uc3VtZWQuCi0gICoKLSAgKiBQcm90b3R5cGUgb2YgZGVzZXJpYWxpemUgZnVuY3Rp b24uCi0gICogRGVzZXJpYWxpemUgZnVuY3Rpb24gY29udmVydCBhbiBJQnVzTWVzc2FnZUl0ZXIg dG8gSUJ1c1NlcmlhbGl6YWJsZS4KLS0gKiBSZXR1cm5zIGEgZ2Jvb2xlYW4gdmFsdWUgd2hpY2gg aW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbnZlcnNpb24gaXMgc3VjY2Vzcy4KLSsgKiBSZXR1cm5z IGFuIGludGVnZXIgdmFsdWUgd2hpY2ggaW5kaWNhdGVzIGhvdyBtYW55IHZhbHVlcyBpbgotKyAq IHRoZSB2YXJpYW50KHR1cGxlKSBhcmUgY29uc3VtZWQuCi0gICovCi0tdHlwZWRlZiBnaW50ICAg ICAgICAoKiBJQnVzU2VyaWFsaXphYmxlRGVzZXJpYWxpemVGdW5jKSAoSUJ1c1NlcmlhbGl6YWJs ZSAgICAgICAqb2JqZWN0LAotK3R5cGVkZWYgZ2ludCAgICAgICAgKCogSUJ1c1NlcmlhbGl6YWJs ZURlc2VyaWFsaXplRnVuYykgKElCdXNTZXJpYWxpemFibGUgICAgICAgKnNlcmlhbGl6YWJsZSwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBHVmFyaWFudCAgICAgICAgICAgICAgICp2YXJpYW50KTsKLSAKLSAvKioKLSAgKiBJQnVzU2Vy aWFsaXphYmxlQ29weUZ1bmM6Ci0tICogQGRlc3Q6IFRoZSBkZXN0aW5hdGlvbiBJQnVzU2VyaWFs aXphYmxlLgotLSAqIEBzcmM6IEEgc291cmNlIElCdXNNZXNzYWdlSXRlci4KLS0gKiBAcmV0dXJu czogVFJVRSBpZiBzdWNjZWVkOyBGQUxTRSBvdGhlcndpc2UuCi0rICogQGRlc3Q6IFRoZSBkZXN0 aW5hdGlvbiAjSUJ1c1NlcmlhbGl6YWJsZS4KLSsgKiBAc3JjOiBBIHNvdXJjZSAjSUJ1c01lc3Nh Z2VJdGVyLgotKyAqIEByZXR1cm5zOiAlVFJVRSBpZiBzdWNjZWVkOyAlRkFMU0Ugb3RoZXJ3aXNl LgotICAqCi0gICogUHJvdG90eXBlIG9mIGNvcHkgZnVuY3Rpb24uCi0tICogQ29weSBmdW5jdGlv biBjb3B5IGZyb20gc291cmNlIElCdXNTZXJpYWxpemFibGUgdG8gdGhlIGRlc3RpbmF0aW9uIG9u ZS4KLSsgKiBDb3B5IGZ1bmN0aW9uIGNvcHkgZnJvbSBzb3VyY2UgI0lCdXNTZXJpYWxpemFibGUg dG8gdGhlIGRlc3RpbmF0aW9uIG9uZS4KLSAgKiBSZXR1cm5zIGEgZ2Jvb2xlYW4gdmFsdWUgd2hp Y2ggaW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvcHlpbmcgaXMgc3VjY2Vzcy4KLSAgKi8KLSB0eXBl ZGVmIGdib29sZWFuICAgICgqIElCdXNTZXJpYWxpemFibGVDb3B5RnVuYykgICAgICAgIChJQnVz U2VyaWFsaXphYmxlICAgICAgICpkZXN0LAotQEAgLTE4OCw3OSArMTg5LDc3IEBAIEdUeXBlICAg ICAgICAgICAgICAgIGlidXNfc2VyaWFsaXphYmxlX2dldF90eXBlICAgICAgICAgKHZvaWQpOwot ICAqCi0gICogUmV0dXJuczogYSBuZXcgaW5zdGFuY2Ugb2YgI0lCdXNTZXJpYWxpemFibGUuCi0g ICovCi0tSUJ1c1NlcmlhbGl6YWJsZSAqICAgaWJ1c19zZXJpYWxpemFibGVfbmV3ICAgICAgICAg ICAgICAodm9pZCk7Ci0rSUJ1c1NlcmlhbGl6YWJsZSAgICAqaWJ1c19zZXJpYWxpemFibGVfbmV3 ICAgICAgICAgICAgICAodm9pZCk7Ci0gCi0gLyoqCi0gICogaWJ1c19zZXJpYWxpemFibGVfc2V0 X3FhdHRhY2htZW50OgotLSAqIEBvYmplY3Q6IEFuIElCdXNTZXJpYWxpemFibGUuCi0rICogQHNl cmlhbGl6YWJsZTogQW4gI0lCdXNTZXJpYWxpemFibGUuCi0gICogQGtleTogU3RyaW5nIGZvcm1h dHRlZCBrZXkgZm9yIGluZGV4aW5nIHZhbHVlLgotLSAqIEB2YWx1ZTogVmFsdWUgdG8gYmUgYXR0 YWNoZWQuIFNob3VsZCBiZSBhbHNvIHNlcmlhbGl6YWJsZS4KLS0gKiBAcmV0dXJuczogVFJVRSBp ZiBzdWNjZWVkOyBGQUxTRSBvdGhlcndpc2UuCi0rICogQHZhbHVlOiBWYWx1ZSB0byBiZSBhdHRh Y2hlZCBvciAlTlVMTCB0byByZW1vdmUgYW55IHByZXZvaXVzIHZhbHVlLgotICAqCi0tICogQXR0 YWNoIGEgdmFsdWUgdG8gYW4gSUJ1c1NlcmlhbGl6YWJsZS4gVGhlIHZhbHVlIHNob3VsZCBiZSBz ZXJpYWxpemFibGUgYXMgd2VsbC4KLS0gKiBCYXNpYyB0eXBlIHN1Y2ggYXMgaW50ZWdlciwgc3Ry aW5nIGFyZSBkZWVtZWQgdG8gYmUgc2VyaWFsaXphYmxlLgotKyAqIEF0dGFjaCBhIHZhbHVlIHRv IGFuIElCdXNTZXJpYWxpemFibGUuIElmIHRoZSB2YWx1ZSBpcyBmbG9hdGluZywKLSsgKiB0aGUg c2VyaWFsaXphYmxlIHdpbGwgdGFrZSB0aGUgb3duZXJzaGlwLgotICAqCi0gICogQHNlZV9hbHNv OiBpYnVzX3NlcmlhbGl6YWJsZV9zZXRfYXR0YWNobWVudCgpLgotICAqLwotLWdib29sZWFuICAg ICAgICAgICAgIGlidXNfc2VyaWFsaXphYmxlX3NldF9xYXR0YWNobWVudCAgKElCdXNTZXJpYWxp emFibGUgICAqb2JqZWN0LAotK3ZvaWQgICAgICAgICAgICAgICAgIGlidXNfc2VyaWFsaXphYmxl X3NldF9xYXR0YWNobWVudCAgKElCdXNTZXJpYWxpemFibGUgICAqc2VyaWFsaXphYmxlLAotICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdR dWFyayAgICAgICAgICAgICAga2V5LAotLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IEdWYWx1ZSAgICAgICAqdmFsdWUpOwotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEdW YXJpYW50ICAgICAgICAgICAqdmFsdWUpOwotIAotIC8qKgotICAqIGlidXNfc2VyaWFsaXphYmxl X2dldF9xYXR0YWNobWVudDoKLS0gKiBAb2JqZWN0OiBBbiBJQnVzU2VyaWFsaXphYmxlLgotKyAq IEBzZXJpYWxpemFibGU6IEFuICNJQnVzU2VyaWFsaXphYmxlLgotICAqIEBrZXk6IFN0cmluZyBm b3JtYXR0ZWQga2V5IGZvciBpbmRleGluZyB2YWx1ZS4KLS0gKiBAcmV0dXJuczogVGhlIGF0dGFj aGVkIHZhbHVlOyBvciBOVUxMIGlmIGZhaWwgdG8gcmV0cmlldmUgdGhlIHZhbHVlLgotKyAqIEBy ZXR1cm5zOiBUaGUgYXR0YWNoZWQgdmFsdWU7IG9yICVOVUxMIGlmIGZhaWwgdG8gcmV0cmlldmUg dGhlIHZhbHVlLgotICAqCi0tICogR2V0IGEgdmFsdWUgZnJvbSBhdHRhY2htZW50IG9mIGFuIElC dXNTZXJpYWxpemFibGUuCi0rICogR2V0IGEgdmFsdWUgZnJvbSBhdHRhY2htZW50IG9mIGFuICNJ QnVzU2VyaWFsaXphYmxlLgotICAqIEBzZWVfYWxzbzogaWJ1c19zZXJpYWxpemFibGVfc2V0X2F0 dGFjaG1lbnQoKS4KLSAgKi8KLS1jb25zdCBHVmFsdWUgICAgICAgICppYnVzX3NlcmlhbGl6YWJs ZV9nZXRfcWF0dGFjaG1lbnQgIChJQnVzU2VyaWFsaXphYmxlICAgKm9iamVjdCwKLStHVmFyaWFu dCAgICAgICAgICAgICppYnVzX3NlcmlhbGl6YWJsZV9nZXRfcWF0dGFjaG1lbnQgIChJQnVzU2Vy aWFsaXphYmxlICAgKnNlcmlhbGl6YWJsZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUXVhcmsgICAgICAgICAgICAgIGtleSk7Ci0g Ci0gLyoqCi0gICogaWJ1c19zZXJpYWxpemFibGVfcmVtb3ZlX3FhdHRhY2htZW50OgotLSAqIEBv YmplY3Q6IEFuIElCdXNTZXJpYWxpemFibGUuCi0rICogQHNlcmlhbGl6YWJsZTogQW4gI0lCdXNT ZXJpYWxpemFibGUuCi0gICogQGtleTogU3RyaW5nIGZvcm1hdHRlZCBrZXkgZm9yIGluZGV4aW5n IHZhbHVlLgotICAqCi0tICogUmVtb3ZlIGEgdmFsdWUgZnJvbSBhdHRhY2htZW50IG9mIGFuIElC dXNTZXJpYWxpemFibGUuCi0rICogUmVtb3ZlIGEgdmFsdWUgZnJvbSBhdHRhY2htZW50IG9mIGFu ICNJQnVzU2VyaWFsaXphYmxlLgotICAqIEBzZWVfYWxzbzogaWJ1c19zZXJpYWxpemFibGVfcmVt b3ZlX2F0dGFjaG1lbnQoKS4KLSAgKi8KLSB2b2lkICAgICAgICAgICAgICAgICBpYnVzX3Nlcmlh bGl6YWJsZV9yZW1vdmVfcWF0dGFjaG1lbnQKLS0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChJQnVzU2VyaWFsaXphYmxlICAgKm9iamVjdCwK LSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChJQnVzU2VyaWFsaXphYmxlICAgKnNlcmlhbGl6YWJsZSwKLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHUXVhcmsgICAgICAgICAgICAg IGtleSk7Ci0gCi0gLyoqCi0gICogaWJ1c19zZXJpYWxpemFibGVfY29weToKLS0gKiBAb2JqZWN0 OiBBbiBJQnVzU2VyaWFsaXphYmxlLgotLSAqIEByZXR1cm5zOiBBIG5ld2x5IGFsbG9jYXRlZCBj bG9uZSBvYmplY3Q7IG9yIE5VTEwgaWYgQG9iamVjdCBpcyBub3Qgc2VyaWFsaXphYmxlLgotKyAq IEBzZXJpYWxpemFibGU6IEFuICNJQnVzU2VyaWFsaXphYmxlLgotKyAqIEByZXR1cm5zOiBBIG5l d2x5IGFsbG9jYXRlZCBjbG9uZSBvYmplY3Q7IG9yICVOVUxMIGlmIEBvYmplY3QgaXMgbm90IHNl cmlhbGl6YWJsZS4KLSAgKgotLSAqIENsb25lIGFuIElCdXNTZXJpYWxpemFibGUuCi0rICogQ2xv bmUgYW4gI0lCdXNTZXJpYWxpemFibGUuCi0gICogVGhlIGNvcHkgbWV0aG9kIHNob3VsZCBiZSBp bXBsZW1lbnRlZCBpbiBleHRlbmRlZCBjbGFzcy4KLSAgKgotICAqIEBzZWVfYWxzbzogSUJ1c1Nl cmlhbGl6YWJsZUNvcHlGdW5jKCkuCi0gICovCi0tSUJ1c1NlcmlhbGl6YWJsZSAgICAqaWJ1c19z ZXJpYWxpemFibGVfY29weSAgICAgICAgICAgICAoSUJ1c1NlcmlhbGl6YWJsZSAgICpvYmplY3Qp OwotK0lCdXNTZXJpYWxpemFibGUgICAgKmlidXNfc2VyaWFsaXphYmxlX2NvcHkgICAgICAgICAg ICAgKElCdXNTZXJpYWxpemFibGUgICAqc2VyaWFsaXphYmxlKTsKLSAKLSAvKioKLSAgKiBpYnVz X3NlcmlhbGl6YWJsZV9zZXJpYWxpemU6Ci0tICogQG9iamVjdDogQW4gSUJ1c1NlcmlhbGl6YWJs ZS4KLS0gKiBAaXRlcjogQW4gSUJ1c01lc3NhZ2VJdGVyLgotLSAqIEByZXR1cm5zOiBUUlVFIGlm IHN1Y2NlZWQ7IEZBTFNFIG90aGVyd2lzZS4KLSsgKiBAc2VyaWFsaXphYmxlOiBBbiAjSUJ1c1Nl cmlhbGl6YWJsZS4KLSsgKiBAcmV0dXJuczogQSAjR1ZhcmlhbnQuCi0gICoKLS0gKiBTZXJpYWxp emUgYW4gSUJ1c1NlcmlhbGl6YWJsZSB0byBhbiBJQnVzTWVzc2FnZUl0ZXIuCi0rICogU2VyaWFs aXplIGFuICNJQnVzU2VyaWFsaXphYmxlIHRvIGEgI0dWYXJpYW50LgotICAqIFRoZSBzZXJpYWxp emUgbWV0aG9kIHNob3VsZCBiZSBpbXBsZW1lbnRlZCBpbiBleHRlbmRlZCBjbGFzcy4KLSAgKgot ICAqIEBzZWVfYWxzbzogSUJ1c1NlcmlhbGl6YWJsZUNvcHlGdW5jKCkuCi0gICovCi0tR1Zhcmlh bnQgICAgICAgICAgICAqaWJ1c19zZXJpYWxpemFibGVfc2VyaWFsaXplICAgICAgICAoSUJ1c1Nl cmlhbGl6YWJsZSAgICpvYmplY3QpOwotK0dWYXJpYW50ICAgICAgICAgICAgKmlidXNfc2VyaWFs aXphYmxlX3NlcmlhbGl6ZSAgICAgICAgKElCdXNTZXJpYWxpemFibGUgICAqc2VyaWFsaXphYmxl KTsKLSAKLSAvKioKLSAgKiBpYnVzX3NlcmlhbGl6YWJsZV9kZXNlcmlhbGl6ZToKLS0gKiBAaXRl cjogQW4gSUJ1c01lc3NhZ2VJdGVyLgotLSAqIEByZXR1cm5zOiBUaGUgZGVzZXJpYWxpemVkIElC dXNTZXJpYWxpemFibGUuCi0rICogQHZhcmlhbnQ6IEEgI0dWYXJpYW50LgotKyAqIEByZXR1cm5z OiBUaGUgZGVzZXJpYWxpemVkICNJQnVzU2VyaWFsaXphYmxlLgotICAqCi0tICogRGVzZXJpYWxp emUgYW4gSUJ1c01lc3NhZ2VJdGVyIHRvIGFuIElCdXNTZXJpYWxpemFibGUvCi0rICogRGVzZXJp YWxpemUgYSAjR1ZhcmlhbnQgdG8gYW4gI0lCdXNTZXJpYWxpemFibGUvCi0gICogVGhlIGRlc2Vy aWFsaXplIG1ldGhvZCBzaG91bGQgYmUgaW1wbGVtZW50ZWQgaW4gZXh0ZW5kZWQgY2xhc3MuCi0g ICoKLSAgKiBAc2VlX2Fsc286IElCdXNTZXJpYWxpemFibGVDb3B5RnVuYygpLgotZGlmZiAtLWdp dCBhL3NyYy90ZXN0cy9pYnVzLXNlcmlhbGl6YWJsZS5jIGIvc3JjL3Rlc3RzL2lidXMtc2VyaWFs aXphYmxlLmMKLWluZGV4IGUyNTQxZWMuLmQyYmQ2MWEgMTAwNjQ0Ci0tLS0gYS9zcmMvdGVzdHMv aWJ1cy1zZXJpYWxpemFibGUuYwotKysrIGIvc3JjL3Rlc3RzL2lidXMtc2VyaWFsaXphYmxlLmMK LUBAIC0xMiw3ICsxMiw3IEBAIHZvaWQgdGVzdF9zZXJpYWxpemFibGUgKElCdXNTZXJpYWxpemFi bGUgKm9iamVjdCkKLSAgICAgZ192YXJpYW50X2dldF9kYXRhICh2YXJpYW50KTsKLSAgICAgczEg PSBnX3ZhcmlhbnRfcHJpbnQgKHZhcmlhbnQsIFRSVUUpOwotIAotLSAgICBvYmplY3QgPSAoSUJ1 c1NlcmlhbGl6YWJsZSAqKSBpYnVzX3NlcmlhbGl6YWJsZV9kZXNlcmlhbGl6ZSAodmFyaWFudCk7 Ci0rICAgIG9iamVjdCA9IGlidXNfc2VyaWFsaXphYmxlX2Rlc2VyaWFsaXplICh2YXJpYW50KTsK LSAgICAgZ192YXJpYW50X3VucmVmICh2YXJpYW50KTsKLSAKLSAgICAgdmFyaWFudCA9IGlidXNf c2VyaWFsaXphYmxlX3NlcmlhbGl6ZSAob2JqZWN0KTsKLUBAIC0xMzEsMzQgKzEzMSw1MSBAQCB0 ZXN0X3Byb3BlcnR5ICh2b2lkKQotIHN0YXRpYyB2b2lkCi0gdGVzdF9hdHRhY2htZW50ICh2b2lk KQotIHsKLS0gICAgSUJ1c1RleHQgKnRleHQgPSAgaWJ1c190ZXh0X25ld19mcm9tX3N0cmluZyAo Im1haW4gdGV4dCIpOwotKyAgICBJQnVzVGV4dCAqdGV4dCA9ICBpYnVzX3RleHRfbmV3X2Zyb21f c3RhdGljX3N0cmluZyAoIm1haW4gdGV4dCIpOwotIAotLSAgICBHVmFsdWUgdmFsdWUxID0geyAw IH07Ci0tICAgIGdfdmFsdWVfaW5pdCgmdmFsdWUxLCBHX1RZUEVfSU5UKTsKLS0gICAgZ192YWx1 ZV9zZXRfaW50KCZ2YWx1ZTEsIDEwMCk7Ci0tICAgIGlidXNfc2VyaWFsaXphYmxlX3NldF9hdHRh Y2htZW50ICgoSUJ1c1NlcmlhbGl6YWJsZSAqKXRleHQsICJrZXkxIiwgJnZhbHVlMSk7Ci0rICAg IGlidXNfc2VyaWFsaXphYmxlX3NldF9hdHRhY2htZW50ICgoSUJ1c1NlcmlhbGl6YWJsZSAqKXRl eHQsCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAia2V5MSIsCi0rICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3ZhcmlhbnRfbmV3X2ludDMyICgx MDApKTsKLSAKLS0gICAgR1ZhbHVlIHZhbHVlMiA9IHsgMCB9OwotLSAgICBnX3ZhbHVlX2luaXQo JnZhbHVlMiwgR19UWVBFX1NUUklORyk7Ci0tICAgIGdfdmFsdWVfc2V0X3N0cmluZygmdmFsdWUy LCAidmFsdWUgc3RyaW5nIik7Ci0tICAgIGlidXNfc2VyaWFsaXphYmxlX3NldF9hdHRhY2htZW50 ICgoSUJ1c1NlcmlhbGl6YWJsZSAqKXRleHQsICJrZXkyIiwgJnZhbHVlMik7Ci0rICAgIGlidXNf c2VyaWFsaXphYmxlX3NldF9hdHRhY2htZW50ICgoSUJ1c1NlcmlhbGl6YWJsZSAqKXRleHQsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAia2V5MiIsCi0rICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnX3ZhcmlhbnRfbmV3X3N0cmluZyAoInZhbHVl IHN0cmluZyIpKTsKLSsKLSsgICAgaWJ1c19zZXJpYWxpemFibGVfc2V0X2F0dGFjaG1lbnQgKChJ QnVzU2VyaWFsaXphYmxlICopdGV4dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICJrZXkzIiwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGdf dmFyaWFudF9uZXcgKCIoaXVkcykiLDEsIDIsIDMuMzMzLCAidGVzdCB2YWx1ZSIpKTsKLSAKLSAg ICAgR1ZhcmlhbnQgKnZhcmlhbnQgPSBpYnVzX3NlcmlhbGl6YWJsZV9zZXJpYWxpemUgKChJQnVz U2VyaWFsaXphYmxlICopdGV4dCk7Ci0gICAgIGdfb2JqZWN0X3VucmVmICgoSUJ1c1NlcmlhbGl6 YWJsZSAqKXRleHQpOwotIAotLSAgICBJQnVzU2VyaWFsaXphYmxlICpvYmplY3QgPSAoSUJ1c1Nl cmlhbGl6YWJsZSAqKSBpYnVzX3NlcmlhbGl6YWJsZV9kZXNlcmlhbGl6ZSAodmFyaWFudCk7Ci0r ICAgIElCdXNTZXJpYWxpemFibGUgKm9iamVjdCA9IGlidXNfc2VyaWFsaXphYmxlX2Rlc2VyaWFs aXplICh2YXJpYW50KTsKLSAgICAgZ192YXJpYW50X3VucmVmICh2YXJpYW50KTsKLSAKLSAgICAg Z19hc3NlcnRfY21wc3RyICgoKElCdXNUZXh0ICopb2JqZWN0KS0+dGV4dCwgPT0sICJtYWluIHRl eHQiKTsKLSAKLS0gICAgY29uc3QgR1ZhbHVlICpuZXd2YWx1ZTEgPSBpYnVzX3NlcmlhbGl6YWJs ZV9nZXRfYXR0YWNobWVudCAob2JqZWN0LCAia2V5MSIpOwotKyAgICBHVmFyaWFudCAqbmV3dmFs dWUxID0gaWJ1c19zZXJpYWxpemFibGVfZ2V0X2F0dGFjaG1lbnQgKG9iamVjdCwgImtleTEiKTsK LSAgICAgZ19hc3NlcnQgKG5ld3ZhbHVlMSAhPSBOVUxMKTsKLS0gICAgZ19hc3NlcnQgKGdfdmFs dWVfZ2V0X2ludCAobmV3dmFsdWUxKSA9PSAxMDApOwotKyAgICBnX2Fzc2VydF9jbXBpbnQgKGdf dmFyaWFudF9nZXRfaW50MzIgKG5ld3ZhbHVlMSksID09LCAxMDApOwotIAotLSAgICBjb25zdCBH VmFsdWUgKm5ld3ZhbHVlMiA9IGlidXNfc2VyaWFsaXphYmxlX2dldF9hdHRhY2htZW50IChvYmpl Y3QsICJrZXkyIik7Ci0rICAgIEdWYXJpYW50ICpuZXd2YWx1ZTIgPSBpYnVzX3NlcmlhbGl6YWJs ZV9nZXRfYXR0YWNobWVudCAob2JqZWN0LCAia2V5MiIpOwotICAgICBnX2Fzc2VydCAobmV3dmFs dWUyICE9IE5VTEwpOwotLSAgICBnX2Fzc2VydF9jbXBzdHIgKGdfdmFsdWVfZ2V0X3N0cmluZyAo bmV3dmFsdWUyKSwgPT0sICJ2YWx1ZSBzdHJpbmciKTsKLSsgICAgZ19hc3NlcnRfY21wc3RyIChn X3ZhcmlhbnRfZ2V0X3N0cmluZyAobmV3dmFsdWUyLCBOVUxMKSwgPT0sICJ2YWx1ZSBzdHJpbmci KTsKLSsKLSsgICAgewotKyAgICAgICAgR1ZhcmlhbnQgKm5ld3ZhbHVlMyA9IGlidXNfc2VyaWFs aXphYmxlX2dldF9hdHRhY2htZW50IChvYmplY3QsICJrZXkzIik7Ci0rICAgICAgICBnX2Fzc2Vy dCAobmV3dmFsdWUzICE9IE5VTEwpOwotKyAgICAgICAgZ2ludDMyIGk7Ci0rICAgICAgICBndWlu dDMyIHU7Ci0rICAgICAgICBnZG91YmxlIGQ7Ci0rICAgICAgICBjb25zdCBnY2hhciAqczsKLSsg ICAgICAgIGdfdmFyaWFudF9nZXQgKG5ld3ZhbHVlMywgIihpdWQmcykiLCAmaSwgJnUsICZkLCAm cyk7Ci0rICAgICAgICBnX2Fzc2VydF9jbXBpbnQgKGksID09LCAxKTsKLSsgICAgICAgIGdfYXNz ZXJ0X2NtcHVpbnQgKHUsID09LCAyKTsKLSsgICAgICAgIGdfYXNzZXJ0X2NtcGZsb2F0IChkLCA9 PSwgMy4zMzMpOwotKyAgICAgICAgZ19hc3NlcnRfY21wc3RyIChzLCA9PSwgInRlc3QgdmFsdWUi KTsKLSsgICAgfQotIAotKyAgICBnX29iamVjdF91bnJlZiAob2JqZWN0KTsKLSAgICAgZ192YXJp YW50X3R5cGVfaW5mb19hc3NlcnRfbm9faW5mb3MgKCk7Ci0gfQotIAotLS0gCi0xLjcuNS40Ci0K LUZyb20gYWRjZjcxZTZlNWRlNDU1MzBhMDllN2I5ZjMxMGYyZTQ4OWNkOTYzMSBNb24gU2VwIDE3 IDAwOjAwOjAwIDIwMDEKLUZyb206IGZ1aml3YXJhdCA8dGFrYW8uZnVqaXdhcmExQGdtYWlsLmNv bT4KLURhdGU6IFdlZCwgMjQgQXVnIDIwMTEgMTE6NDQ6MjEgKzA5MDAKLVN1YmplY3Q6IFtQQVRD SF0gQ2hlY2sgaWYgQnVzSW5wdXRDb250ZXh0IGhhcyBhbiBlbmFibGVkIGVuZ2luZSBpbiBnbG9i YWwKLSBpbnB1dCBtZXRob2QuCi0KLUJVRz1SSCM3MzE2MTAKLVRFU1Q9TGludXggZGVza3RvcAot Ci1SZXZpZXcgVVJMOiBodHRwOi8vY29kZXJldmlldy5hcHBzcG90LmNvbS80OTE3MDQxCi0tLS0K LSBidXMvaWJ1c2ltcGwuYyB8ICAgIDYgKysrKystCi0gMSBmaWxlcyBjaGFuZ2VkLCA1IGluc2Vy dGlvbnMoKyksIDEgZGVsZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9idXMvaWJ1c2ltcGwuYyBi L2J1cy9pYnVzaW1wbC5jCi1pbmRleCA4NTM0NjVjLi4xOTQyNTA0IDEwMDY0NAotLS0tIGEvYnVz L2lidXNpbXBsLmMKLSsrKyBiL2J1cy9pYnVzaW1wbC5jCi1AQCAtMTE3NiwxMiArMTE3NiwxNCBA QCBidXNfaWJ1c19pbXBsX3NldF9mb2N1c2VkX2NvbnRleHQgKEJ1c0lCdXNJbXBsICAgICAqaWJ1 cywKLSAgICAgfQotIAotICAgICBCdXNFbmdpbmVQcm94eSAqZW5naW5lID0gTlVMTDsKLSsgICAg Z2Jvb2xlYW4gaXNfZW5hYmxlZCA9IEZBTFNFOwotIAotICAgICBpZiAoaWJ1cy0+Zm9jdXNlZF9j b250ZXh0KSB7Ci0gICAgICAgICBpZiAoaWJ1cy0+dXNlX2dsb2JhbF9lbmdpbmUpIHsKLSAgICAg ICAgICAgICAvKiBkZXR0YWNoIGVuZ2luZSBmcm9tIHRoZSBmb2N1c2VkIGNvbnRleHQgKi8KLSAg ICAgICAgICAgICBlbmdpbmUgPSBidXNfaW5wdXRfY29udGV4dF9nZXRfZW5naW5lIChpYnVzLT5m b2N1c2VkX2NvbnRleHQpOwotICAgICAgICAgICAgIGlmIChlbmdpbmUpIHsKLSsgICAgICAgICAg ICAgICAgaXNfZW5hYmxlZCA9IGJ1c19pbnB1dF9jb250ZXh0X2lzX2VuYWJsZWQgKGlidXMtPmZv Y3VzZWRfY29udGV4dCk7Ci0gICAgICAgICAgICAgICAgIGdfb2JqZWN0X3JlZiAoZW5naW5lKTsK LSAgICAgICAgICAgICAgICAgYnVzX2lucHV0X2NvbnRleHRfc2V0X2VuZ2luZSAoaWJ1cy0+Zm9j dXNlZF9jb250ZXh0LCBOVUxMKTsKLSAgICAgICAgICAgICB9Ci1AQCAtMTIwMyw3ICsxMjA1LDkg QEAgYnVzX2lidXNfaW1wbF9zZXRfZm9jdXNlZF9jb250ZXh0IChCdXNJQnVzSW1wbCAgICAgKmli dXMsCi0gICAgICAgICAvKiBhdHRhY2ggZW5naW5lIHRvIHRoZSBmb2N1c2VkIGNvbnRleHQgKi8K LSAgICAgICAgIGlmIChlbmdpbmUgIT0gTlVMTCkgewotICAgICAgICAgICAgIGJ1c19pbnB1dF9j b250ZXh0X3NldF9lbmdpbmUgKGNvbnRleHQsIGVuZ2luZSk7Ci0tICAgICAgICAgICAgYnVzX2lu cHV0X2NvbnRleHRfZW5hYmxlIChjb250ZXh0KTsKLSsgICAgICAgICAgICBpZiAoaXNfZW5hYmxl ZCkgewotKyAgICAgICAgICAgICAgICBidXNfaW5wdXRfY29udGV4dF9lbmFibGUgKGNvbnRleHQp OwotKyAgICAgICAgICAgIH0KLSAgICAgICAgICAgICBnX29iamVjdF91bnJlZiAoZW5naW5lKTsK LSAgICAgICAgIH0KLSAKLS0tIAotMS43LjUuNAotCi1Gcm9tIDg5NGVjYzhlMTZiMDFkNTU5NGVm OWI4ZjljNTUzMGJiMmU5ZDA1MDIgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBmdWpp d2FyYXQgPHRha2FvLmZ1aml3YXJhMUBnbWFpbC5jb20+Ci1EYXRlOiBUaHUsIDI1IEF1ZyAyMDEx IDA5OjU5OjQyICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZCBEaXNhYmxlIHNpZ25hbCB3aGVu Ci0gYnVzX2lidXNfaW1wbF9zZXRfY29udGV4dF9lbmdpbmVfZnJvbV9kZXNjIGlzIGNhbGxlZC4K LQotQlVHPSMxMjYxCi1URVNUPUxpbnV4IGRlc2t0b3AKLQotUmV2aWV3IFVSTDogaHR0cDovL2Nv ZGVyZXZpZXcuYXBwc3BvdC5jb20vNDg3NTA0OQotLS0tCi0gYnVzL2lucHV0Y29udGV4dC5jIHwg ICAgMiArKwotIDEgZmlsZXMgY2hhbmdlZCwgMiBpbnNlcnRpb25zKCspLCAwIGRlbGV0aW9ucygt KQotCi1kaWZmIC0tZ2l0IGEvYnVzL2lucHV0Y29udGV4dC5jIGIvYnVzL2lucHV0Y29udGV4dC5j Ci1pbmRleCA3MjNiNWZkLi4zYzgxNjg4IDEwMDY0NAotLS0tIGEvYnVzL2lucHV0Y29udGV4dC5j Ci0rKysgYi9idXMvaW5wdXRjb250ZXh0LmMKLUBAIC0yMjkyLDYgKzIyOTIsOCBAQCBuZXdfZW5n aW5lX2NiIChHT2JqZWN0ICAgICAgICAgICAgICpvYmosCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIk9wZXJ0YXRpb24gd2FzIGNhbmNlbGxlZCIpOwotICAg ICAgICAgfQotICAgICAgICAgZWxzZSB7Ci0rICAgICAgICAgICAgLyogTGV0IEJ1c0VuZ2luZVBy b3h5IGNhbGwgYSBEaXNhYmxlIHNpZ25hbC4gKi8KLSsgICAgICAgICAgICBidXNfaW5wdXRfY29u dGV4dF9kaXNhYmxlIChkYXRhLT5jb250ZXh0KTsKLSAgICAgICAgICAgICBidXNfaW5wdXRfY29u dGV4dF9zZXRfZW5naW5lIChkYXRhLT5jb250ZXh0LCBlbmdpbmUpOwotICAgICAgICAgICAgIGdf b2JqZWN0X3VucmVmIChlbmdpbmUpOwotICAgICAgICAgICAgIGJ1c19pbnB1dF9jb250ZXh0X2Vu YWJsZSAoZGF0YS0+Y29udGV4dCk7Ci0tLSAKLTEuNy41LjQKLQotRnJvbSAzNDUxODM3MGZiYjVm NjlmOGRmYTIxNTNkMGQwZGE0NDczZDAzNDRkIE1vbiBTZXAgMTcgMDA6MDA6MDAgMjAwMQotRnJv bTogZnVqaXdhcmF0IDx0YWthby5mdWppd2FyYTFAZ21haWwuY29tPgotRGF0ZTogV2VkLCA3IFNl cCAyMDExIDE1OjA5OjAxICswOTAwCi1TdWJqZWN0OiBbUEFUQ0hdIEFkZGVkIGdldCBtZXRob2Rz IGZvciB0aGUgbWVtYmVycyBpbiBJQnVzQXR0cmlidXRlIGZvciBub24tQwotIGxhbmd1YWdlLgot Ci0tLS0KLSBzcmMvaWJ1c2F0dHJpYnV0ZS5jIHwgICAyNCArKysrKysrKysrKysrKysrKysrKysr KysKLSBzcmMvaWJ1c2F0dHJpYnV0ZS5oIHwgICAzOSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKLSAyIGZpbGVzIGNoYW5nZWQsIDYzIGluc2VydGlvbnMoKyksIDAgZGVs ZXRpb25zKC0pCi0KLWRpZmYgLS1naXQgYS9zcmMvaWJ1c2F0dHJpYnV0ZS5jIGIvc3JjL2lidXNh dHRyaWJ1dGUuYwotaW5kZXggODE2YmNlZS4uYWFjMTRkNCAxMDA2NDQKLS0tLSBhL3NyYy9pYnVz YXR0cmlidXRlLmMKLSsrKyBiL3NyYy9pYnVzYXR0cmlidXRlLmMKLUBAIC0xMjQsNiArMTI0LDMw IEBAIGlidXNfYXR0cmlidXRlX25ldyAoZ3VpbnQgdHlwZSwKLSAgICAgcmV0dXJuIGF0dHI7Ci0g fQotIAotK2d1aW50Ci0raWJ1c19hdHRyaWJ1dGVfZ2V0X2F0dHJfdHlwZSAoSUJ1c0F0dHJpYnV0 ZSAqYXR0cikKLSt7Ci0rICAgIHJldHVybiBhdHRyLT50eXBlOwotK30KLSsKLStndWludAotK2li dXNfYXR0cmlidXRlX2dldF92YWx1ZSAoSUJ1c0F0dHJpYnV0ZSAqYXR0cikKLSt7Ci0rICAgIHJl dHVybiBhdHRyLT52YWx1ZTsKLSt9Ci0rCi0rZ3VpbnQKLStpYnVzX2F0dHJpYnV0ZV9nZXRfc3Rh cnRfaW5kZXggKElCdXNBdHRyaWJ1dGUgKmF0dHIpCi0rewotKyAgICByZXR1cm4gYXR0ci0+c3Rh cnRfaW5kZXg7Ci0rfQotKwotK2d1aW50Ci0raWJ1c19hdHRyaWJ1dGVfZ2V0X2VuZF9pbmRleCAo SUJ1c0F0dHJpYnV0ZSAqYXR0cikKLSt7Ci0rICAgIHJldHVybiBhdHRyLT5lbmRfaW5kZXg7Ci0r fQotKwotIElCdXNBdHRyaWJ1dGUgKgotIGlidXNfYXR0cl91bmRlcmxpbmVfbmV3IChndWludCB1 bmRlcmxpbmVfdHlwZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgc3RhcnRfaW5k ZXgsCi1kaWZmIC0tZ2l0IGEvc3JjL2lidXNhdHRyaWJ1dGUuaCBiL3NyYy9pYnVzYXR0cmlidXRl LmgKLWluZGV4IDI2Mjg0MTUuLmY0NDg2MGMgMTAwNjQ0Ci0tLS0gYS9zcmMvaWJ1c2F0dHJpYnV0 ZS5oCi0rKysgYi9zcmMvaWJ1c2F0dHJpYnV0ZS5oCi1AQCAtMTM4LDYgKzEzOCw0NSBAQCBJQnVz QXR0cmlidXRlICAgICAgICppYnVzX2F0dHJpYnV0ZV9uZXcgICAgICAgICAoZ3VpbnQgICAgICAg ICAgIHR5cGUsCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGd1aW50ICAgICAgICAgICB2YWx1ZSwKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgZ3VpbnQgICAgICAgICAgIHN0YXJ0X2luZGV4LAotICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBndWludCAgICAgICAg ICAgZW5kX2luZGV4KTsKLSsKLSsvKioKLSsgKiBpYnVzX2F0dHJpYnV0ZV9nZXRfYXR0cl90eXBl OgotKyAqIEByZXR1cm5zOiBBbiBlbnVtIG9mIElCdXNBdHRyVHlwZS4KLSsgKgotKyAqIFJldHVy bnMgYW4gZW51bSBvZiBJQnVzQXR0clR5cGUuCi0rICovCi0rZ3VpbnQgICAgICAgICAgICAgICAg aWJ1c19hdHRyaWJ1dGVfZ2V0X2F0dHJfdHlwZQotKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChJQnVzQXR0cmlidXRlICphdHRyKTsKLSsKLSsvKioKLSsg KiBpYnVzX2F0dHJpYnV0ZV9nZXRfdmFsdWU6Ci0rICogQHJldHVybnM6IEFuIHVuc2lnbmVkIGlu dCB2YWx1ZSByZWxhdGl2ZSB3aXRoIElCdXNBdHRyVHlwZS4KLSsgKgotKyAqIFJldHVybnMgYW4g dW5zaWduZWQgaW50IHZhbHVlIHJlbGF0aXZlIHdpdGggSUJ1c0F0dHJUeXBlLgotKyAqIElmIHRo ZSB0eXBlIGlzIElCVVNfQVRUUl9UWVBFX1VOREVSTElORSwgdGhlIHJldHVybiB2YWx1ZSBpcwot KyAqIElCdXNBdHRyVW5kZXJsaW5lLiBJZiB0aGUgdHlwZSBpcyBJQlVTX0FUVFJfVFlQRV9GT1JF R1JPVU5ELAotKyAqIHRoZSByZXR1cm4gdmFsdWUgaXMgdGhlIGNvbG9yIFJHQi4KLSsgKi8KLStn dWludCAgICAgICAgICAgICAgICBpYnVzX2F0dHJpYnV0ZV9nZXRfdmFsdWUgICAoSUJ1c0F0dHJp YnV0ZSAqYXR0cik7Ci0rCi0rLyoqCi0rICogaWJ1c19hdHRyaWJ1dGVfZ2V0X3N0YXJ0X2luZGV4 OgotKyAqIEByZXR1cm5zOiBBIHN0YXJ0IHVuc2lnbmVkIGluZGV4Ci0rICoKLSsgKiBSZXR1cm5z IGEgc3RhcnQgdW5zaWduZWQgaW5kZXgKLSsgKi8KLStndWludCAgICAgICAgICAgICAgICBpYnVz X2F0dHJpYnV0ZV9nZXRfc3RhcnRfaW5kZXgKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAoSUJ1c0F0dHJpYnV0ZSAqYXR0cik7Ci0rCi0rLyoqCi0rICog aWJ1c19hdHRyaWJ1dGVfZ2V0X2VuZF9pbmRleDoKLSsgKiBAcmV0dXJuczogQSBlbmQgdW5zaWdu ZWQgaW5kZXgKLSsgKgotKyAqIFJldHVybnMgYSBlbmQgdW5zaWduZWQgaW5kZXgKLSsgKi8KLStn dWludCAgICAgICAgICAgICAgICBpYnVzX2F0dHJpYnV0ZV9nZXRfZW5kX2luZGV4Ci0rICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKElCdXNBdHRyaWJ1dGUg KmF0dHIpOwotKwotIC8qKgotICAqIGlidXNfYXR0cl91bmRlcmxpbmVfbmV3OgotICAqIEB1bmRl cmxpbmVfdHlwZTogVHlwZSBvZiB1bmRlcmxpbmUuCi0tLSAKLTEuNy41LjQKIAoKZGlmZiAtLWdp dCBhL2lidXMtZ2pzLXh4LWdub21lLXNoZWxsLTMuMS40LWJ1aWxkLWZhaWx1cmUucGF0Y2ggYi9p YnVzLWdqcy14eC1nbm9tZS1zaGVsbC0zLjEuNC1idWlsZC1mYWlsdXJlLnBhdGNoCmluZGV4IGU5 ZDg1MjQuLmM3N2U1NjUgMTAwNjQ0Ci0tLSBhL2lidXMtZ2pzLXh4LWdub21lLXNoZWxsLTMuMS40 LWJ1aWxkLWZhaWx1cmUucGF0Y2gKKysrIGIvaWJ1cy1nanMteHgtZ25vbWUtc2hlbGwtMy4xLjQt YnVpbGQtZmFpbHVyZS5wYXRjaApAQCAtNiw4ICs2LDggQEAKICAKIC1HTk9NRV9TSEVMTF9WRVJT SU9OPWBHRVRfSlNfVkVSU0lPTiAnQ29uZmlnLlBBQ0tBR0VfVkVSU0lPTidgCiAtR0pTX1ZFUlNJ T049YEdFVF9KU19WRVJTSU9OICdDb25maWcuR0pTX1ZFUlNJT04nYAotK0dOT01FX1NIRUxMX1ZF UlNJT049My4xLjkxCi0rR0pTX1ZFUlNJT049MS4yOS4xNworK0dOT01FX1NIRUxMX1ZFUlNJT049 My4xLjkyCisrR0pTX1ZFUlNJT049MS4yOS4xOAogIEFDX1NVQlNUKEdOT01FX1NIRUxMX1ZFUlNJ T04pCiAgQUNfU1VCU1QoR0pTX1ZFUlNJT04pCiAgCgpkaWZmIC0tZ2l0IGEvaWJ1cy14eC1icmlk Z2UtaG90a2V5LnBhdGNoIGIvaWJ1cy14eC1icmlkZ2UtaG90a2V5LnBhdGNoCmluZGV4IDM5ZTZh N2QuLmVkNWIwMmUgMTAwNjQ0Ci0tLSBhL2lidXMteHgtYnJpZGdlLWhvdGtleS5wYXRjaAorKysg Yi9pYnVzLXh4LWJyaWRnZS1ob3RrZXkucGF0Y2gKQEAgLTkxOCwxNCArOTE4LDE0IEBAIGluZGV4 IGNkYWJlYzAuLjcyMTE4N2MgMTAwNjQ0CiAgICoKICAgKiBUZXJtaW5hdGUgYWxsIGNvbXBvbmVu dCBwcm9jZXNzZXMuCiBkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCi1p bmRleCA0YzIwYWU3Li4yMWQzNWMzIDEwMDY0NAoraW5kZXggMjI3ZTI4ZS4uNzg4ZmJlZiAxMDA2 NDQKIC0tLSBhL2NvbmZpZ3VyZS5hYwogKysrIGIvY29uZmlndXJlLmFjCi1AQCAtNDYyLDYgKzQ2 MiwzNCBAQCBlbHNlCitAQCAtNDgzLDYgKzQ4MywzNCBAQCBlbHNlCiAgICAgIGVuYWJsZV9zdXJy b3VuZGluZ190ZXh0PSJubyAoZGlzYWJsZWQsIHVzZSAtLWVuYWJsZS1zdXJyb3VuZGluZy10ZXh0 IHRvIGVuYWJsZSkiCiAgZmkKICAKLSsjIG9wdGlvbiBmb3IgYnJpZGdlIGhvdGtleQorKyMgT3B0 aW9uIGZvciBicmlkZ2UgaG90a2V5CiArQUNfQVJHX0VOQUJMRShicmlkZ2UtaG90a2V5LAogKyAg ICBBU19IRUxQX1NUUklORyhbLS1lbmFibGUtYnJpZGdlLWhvdGtleV0sCiArICAgICAgICBbRW5h YmxlIGJyaWRnZSBob3RrZXkgaW5zdGVhZCBvZiBPTi9PRkYgaG90a2V5XSksCkBAIC05NDQsNyAr OTQ0LDcgQEAgaW5kZXggNGMyMGFlNy4uMjFkMzVjMyAxMDA2NDQKICtBQ19TVUJTVChVU0VfQlJJ REdFX0hPVEtFWSkKICtBQ19TVUJTVChUUklHR0VSX0hPVEtFWVMpCiArCi0rIyBkZWZpbmUgZGVm YXVsdCBicmlkZ2UgZW5naW5lIG5hbWUKKysjIERlZmluZSBkZWZhdWx0IGJyaWRnZSBlbmdpbmUg bmFtZQogK0FDX0FSR19XSVRIKGJyaWRnZS1lbmdpbmUsCiArICAgIEFTX0hFTFBfU1RSSU5HKFst LXdpdGgtYnJpZGdlLWVuZ2luZVs9YnJpZGdlX2VuZ2luZV9uYW1lXV0sCiArICAgICAgICBbU2V0 IGJyaWRnZSBlbmdpbmUgbmFtZSBpbiBJTSBicmlkZ2UgaG90a2V5LiAoZGVmYXVsdDogeGtiOmxh eW91dDpkZWZhdWx0OildKSwKQEAgLTk1MywxMCArOTUzLDEwIEBAIGluZGV4IDRjMjBhZTcuLjIx ZDM1YzMgMTAwNjQ0CiArKQogK0FDX1NVQlNUKERFRkFVTFRfQlJJREdFX0VOR0lORV9OQU1FKQog KwotICMgY2hlY2sgaXNvLWNvZGVzCisgIyBDaGVjayBpc28tY29kZXMuCiAgUEtHX0NIRUNLX01P RFVMRVMoSVNPQ09ERVMsIFsKICAgICAgaXNvLWNvZGVzCi1AQCAtNDg4LDYgKzUxNiw3IEBAIGJ1 cy9NYWtlZmlsZQorQEAgLTUwOSw2ICs1MzcsNyBAQCBidXMvTWFrZWZpbGUKICB1dGlsL01ha2Vm aWxlCiAgdXRpbC9JTWRraXQvTWFrZWZpbGUKICBkYXRhL01ha2VmaWxlCkBAIC05NjQsNyArOTY0 LDcgQEAgaW5kZXggNGMyMGFlNy4uMjFkMzVjMyAxMDA2NDQKICBkYXRhL2ljb25zL01ha2VmaWxl CiAgZGF0YS9rZXltYXBzL01ha2VmaWxlCiAgZGF0YS9kY29uZi9NYWtlZmlsZQotQEAgLTU0MCw1 ICs1NjksNyBAQCBCdWlsZCBvcHRpb25zOgorQEAgLTU2MSw1ICs1OTAsNyBAQCBCdWlsZCBvcHRp b25zOgogICAgTm8gc25vb3BlciByZWdleGVzICAgICAgICAiJE5PX1NOT09QRVJfQVBQUyIKICAg IFBhbmVsIGljb24gICAgICAgICAgICAgICAgIiRJQlVTX0lDT05fS0VZQk9BUkQiCiAgICBFbmFi bGUgc3Vycm91bmRpbmctdGV4dCAgICRlbmFibGVfc3Vycm91bmRpbmdfdGV4dApAQCAtMTM4Niw3 ICsxMzg2LDcgQEAgaW5kZXggN2NmMTk5NS4uYTE5ZDE2ZSAxMDA2NDQKICsKICAjZW5kaWYKIGRp ZmYgLS1naXQgYS91aS9ndGsvcGFuZWwucHkgYi91aS9ndGsvcGFuZWwucHkKLWluZGV4IDg4MDQ2 MzQuLmY3YjNlNTAgMTAwNjQ0CitpbmRleCA4ODA0NjM0Li5hMmE1NzMzIDEwMDY0NAogLS0tIGEv dWkvZ3RrL3BhbmVsLnB5CiArKysgYi91aS9ndGsvcGFuZWwucHkKIEBAIC02Nyw2ICs2Nyw3IEBA IGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKQEAgLTE0MzEsNyArMTQzMSw3IEBAIGluZGV4 IDg4MDQ2MzQuLmY3YjNlNTAgMTAwNjQ0CiAgCiAgICAgIGRlZiBzZXRfY3Vyc29yX2xvY2F0aW9u KHNlbGYsIHgsIHksIHcsIGgpOgogICAgICAgICAgc2VsZi5fX2NhbmRpZGF0ZV9wYW5lbC5zZXRf Y3Vyc29yX2xvY2F0aW9uKHgsIHksIHcsIGgpCi1AQCAtMjMzLDEyICsyNDksOTEgQEAgY2xhc3Mg UGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorQEAgLTIzMywxMiArMjQ5LDk3IEBAIGNsYXNzIFBhbmVs KGlidXMuUGFuZWxCYXNlKToKICAgICAgZGVmIF9fc2V0X2ltX25hbWUoc2VsZiwgbmFtZSk6CiAg ICAgICAgICBzZWxmLl9fbGFuZ3VhZ2VfYmFyLnNldF9pbV9uYW1lKG5hbWUpCiAgCkBAIC0xNDcy LDcgKzE0NzIsMTMgQEAgaW5kZXggODgwNDYzNC4uZjdiM2U1MCAxMDA2NDQKICsgICAgICAgICAg ICAgICAgaWYgbW9kZWwgPT0gJyc6CiArICAgICAgICAgICAgICAgICAgICBtb2RlbCA9IE5vbmUK ICsgICAgICAgICAgICAgICAgbW9kZWxfZGVzYyA9IF8oIkRlZmF1bHQgTGF5b3V0IikKLSsgICAg ICAgICAgICAgICAgaWYgbW9kZWwgIT0gTm9uZToKKysgICAgICAgICAgICAgICAgaWYgaSA9PSAw OgorKyAgICAgICAgICAgICAgICAgICAgbCA9IDAKKysgICAgICAgICAgICAgICAgICAgIGZvciBq IGluIHJhbmdlKDAsIGxlbihtb2RlbHMpKToKKysgICAgICAgICAgICAgICAgICAgICAgICBsID0g bCArIGxlbihtb2RlbHNbal0pCisrICAgICAgICAgICAgICAgICAgICBpZiBsICE9IDA6CisrICAg ICAgICAgICAgICAgICAgICAgICAgbW9kZWxfZGVzYyA9IG1vZGVsX2Rlc2MgKyAiICgiICsgbW9k ZWwgKyAiKSIKKysgICAgICAgICAgICAgICAgZWxpZiBtb2RlbCAhPSBOb25lOgogKyAgICAgICAg ICAgICAgICAgICAgbW9kZWxfZGVzYyA9IG1vZGVsX2Rlc2MgKyAiICgiICsgbW9kZWwgKyAiKSIK ICsgICAgICAgICAgICAgICAgbmFtZSA9IGlidXMuREVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUg KyAiIyIgKyBzdHIoaSkKICsgICAgICAgICAgICAgICAgZW5naW5lID0gcmVnaXN0cnkuZW5naW5l X2Rlc2NfbmV3KGxhbmcsCkBAIC0xNTI0LDcgKzE1MzAsNyBAQCBpbmRleCA4ODA0NjM0Li5mN2Iz ZTUwIDEwMDY0NAogICAgICAgICAgaWYgbm90IGVuYWJsZWQ6CiAgICAgICAgICAgICAgc2VsZi5f X3NldF9pbV9pY29uKElDT05fS0VZQk9BUkQpCiAgICAgICAgICAgICAgc2VsZi5fX3NldF9pbV9u YW1lKE5vbmUpCi1AQCAtMjUwLDcgKzM0NSw3IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNl KToKK0BAIC0yNTAsNyArMzUxLDcgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgogICAg ICAgICAgICAgICAgICBzZWxmLl9fc2V0X2ltX2ljb24oZW5naW5lLmljb24pCiAgICAgICAgICAg ICAgICAgIHNlbGYuX19zZXRfaW1fbmFtZShlbmdpbmUubG9uZ25hbWUpCiAgICAgICAgICAgICAg ICAgIGlmIHNlbGYuX19idXMuZ2V0X3VzZV9zeXNfbGF5b3V0KCk6CkBAIC0xNTMzLDcgKzE1Mzks NyBAQCBpbmRleCA4ODA0NjM0Li5mN2IzZTUwIDEwMDY0NAogICAgICAgICAgICAgIGVsc2U6CiAg ICAgICAgICAgICAgICAgIHNlbGYuX19zZXRfaW1faWNvbihJQ09OX0tFWUJPQVJEKQogICAgICAg ICAgICAgICAgICBzZWxmLl9fc2V0X2ltX25hbWUoTm9uZSkKLUBAIC0yNzMsNyArMzY4LDIxIEBA IGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKK0BAIC0yNzMsNyArMzc0LDIxIEBAIGNsYXNz IFBhbmVsKGlidXMuUGFuZWxCYXNlKToKICAgICAgICAgICAgICByZXR1cm4KICAKICAgICAgICAg IGVuYWJsZWQgPSBzZWxmLl9fZm9jdXNfaWMuaXNfZW5hYmxlZCgpCkBAIC0xNTU2LDcgKzE1NjIs NyBAQCBpbmRleCA4ODA0NjM0Li5mN2IzZTUwIDEwMDY0NAogIAogICAgICAgICAgaWYgZW5hYmxl ZCA9PSBGYWxzZToKICAgICAgICAgICAgICBzZWxmLnJlc2V0KCkKLUBAIC0yODcsNyArMzk2LDcg QEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgorQEAgLTI4Nyw3ICs0MDIsNyBAQCBjbGFz cyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CiAgICAgICAgICAgICAgICAgIHNlbGYuX19zZXRfaW1f aWNvbihlbmdpbmUuaWNvbikKICAgICAgICAgICAgICAgICAgc2VsZi5fX3NldF9pbV9uYW1lKGVu Z2luZS5sb25nbmFtZSkKICAgICAgICAgICAgICAgICAgaWYgc2VsZi5fX2J1cy5nZXRfdXNlX3N5 c19sYXlvdXQoKToKQEAgLTE1NjUsNyArMTU3MSw3IEBAIGluZGV4IDg4MDQ2MzQuLmY3YjNlNTAg MTAwNjQ0CiAgICAgICAgICAgICAgZWxzZToKICAgICAgICAgICAgICAgICAgc2VsZi5fX3NldF9p bV9pY29uKElDT05fS0VZQk9BUkQpCiAgICAgICAgICAgICAgICAgIHNlbGYuX19zZXRfaW1fbmFt ZShOb25lKQotQEAgLTMxNSw2ICs0MjQsNyBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6 CitAQCAtMzE1LDYgKzQzMCw3IEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKICAKICAg ICAgZGVmIF9fY29uZmlnX2xvYWRfc2hvdyhzZWxmKToKICAgICAgICAgIHNob3cgPSBzZWxmLl9f Y29uZmlnLmdldF92YWx1ZSgicGFuZWwiLCAic2hvdyIsIDApCkBAIC0xNTczLDcgKzE1NzksNyBA QCBpbmRleCA4ODA0NjM0Li5mN2IzZTUwIDEwMDY0NAogICAgICAgICAgc2VsZi5fX2xhbmd1YWdl X2Jhci5zZXRfc2hvdyhzaG93KQogIAogICAgICBkZWYgX19jb25maWdfbG9hZF9wb3NpdGlvbihz ZWxmKToKLUBAIC00NDMsNiArNTUzLDIxIEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToK K0BAIC00NDMsNiArNTU5LDIxIEBAIGNsYXNzIFBhbmVsKGlidXMuUGFuZWxCYXNlKToKICAgICAg IyAgICAgbWVudS5zZXRfdGFrZV9mb2N1cyhGYWxzZSkKICAgICAgIyAgICAgcmV0dXJuIG1lbnUK ICAKQEAgLTE1OTUsNyArMTYwMSw3IEBAIGluZGV4IDg4MDQ2MzQuLmY3YjNlNTAgMTAwNjQ0CiAg ICAgIGRlZiBfX2NyZWF0ZV9pbV9tZW51KHNlbGYpOgogICAgICAgICAgZW5naW5lcyA9IHNlbGYu X19idXMubGlzdF9hY3RpdmVfZW5naW5lcygpCiAgICAgICAgICBjdXJyZW50X2VuZ2luZSA9IFwK LUBAIC00NTMsMjUgKzU3OCwzOSBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6CitAQCAt NDUzLDI1ICs1ODQsMzkgQEAgY2xhc3MgUGFuZWwoaWJ1cy5QYW5lbEJhc2UpOgogICAgICAgICAg c2l6ZSA9IGd0ay5pY29uX3NpemVfbG9va3VwKGd0ay5JQ09OX1NJWkVfTUVOVSkKICAgICAgICAg IG1lbnUgPSBndGsuTWVudSgpCiAgICAgICAgICBmb3IgaSwgZW5naW5lIGluIGVudW1lcmF0ZShl bmdpbmVzKToKQEAgLTE2NDgsNyArMTY1NCw3IEBAIGluZGV4IDg4MDQ2MzQuLmY3YjNlNTAgMTAw NjQ0CiAgCiAgICAgICAgICBtZW51LnNob3dfYWxsKCkKICAgICAgICAgIG1lbnUuc2V0X3Rha2Vf Zm9jdXMoRmFsc2UpCi1AQCAtNTIzLDggKzY2MiwyNSBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVs QmFzZSk6CitAQCAtNTIzLDggKzY2OCwyNSBAQCBjbGFzcyBQYW5lbChpYnVzLlBhbmVsQmFzZSk6 CiAgICAgICAgICBpZiBub3Qgc2VsZi5fX2ZvY3VzX2ljOgogICAgICAgICAgICAgIHJldHVybgog ICAgICAgICAgaWYgZW5naW5lOgpAQCAtMTY2Miw3ICsxNjY4LDcgQEAgaW5kZXggODgwNDYzNC4u ZjdiM2U1MCAxMDA2NDQKICsgICAgICAgICAgICAgICAgaWYgY3VycmVudF9lbmdpbmUgYW5kIFwK ICsgICAgICAgICAgICAgICAgICAgY3VycmVudF9lbmdpbmUubmFtZS5zdGFydHN3aXRoKGlidXMu REVGQVVMVF9CUklER0VfRU5HSU5FX05BTUUpOgogKyAgICAgICAgICAgICAgICAgICAgc2VsZi5f X2Rpc2FibGVkX2VuZ2luZXNfcHJldl9pZCA9IHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lkCi0r ICAgICAgICAgICAgICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19zd2FwcGVkID0gMAor KyAgICAgICAgICAgICAgICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfc3dhcHBlZCA9IDIK ICsgICAgICAgICAgICAgICAgZWxzZToKICsgICAgICAgICAgICAgICAgICAgIHNlbGYuX19kaXNh YmxlZF9lbmdpbmVzX3ByZXZfaWQgPSAtMQogKyAgICAgICAgICAgICAgICBzZWxmLl9fZGlzYWJs ZWRfZW5naW5lc19pZCA9IGVuZ2luZS5kaXNhYmxlZF9lbmdpbmVzX2lkCkBAIC0xNjc1LDcgKzE2 ODEsNyBAQCBpbmRleCA4ODA0NjM0Li5mN2IzZTUwIDEwMDY0NAogICAgICAgICAgICAgIHNlbGYu X19mb2N1c19pYy5kaXNhYmxlKCkKICAKICAgICAgZGVmIF9fc3lzX21lbnVfaXRlbV9hY3RpdmF0 ZV9jYihzZWxmLCBpdGVtLCBjb21tYW5kKToKLUBAIC01NzMsMTIgKzcyOSw4NSBAQCBjbGFzcyBQ YW5lbChpYnVzLlBhbmVsQmFzZSk6CitAQCAtNTczLDEyICs3MzUsMTEzIEBAIGNsYXNzIFBhbmVs KGlidXMuUGFuZWxCYXNlKToKICAgICAgICAgIHNlbGYuX19zZXR1cF9waWQgPSBwaWQKICAgICAg ICAgIGdsaWIuY2hpbGRfd2F0Y2hfYWRkKHNlbGYuX19zZXR1cF9waWQsIHNlbGYuX19jaGlsZF93 YXRjaF9jYikKICAKQEAgLTE3NDYsMTcgKzE3NTIsNDUgQEAgaW5kZXggODgwNDYzNC4uZjdiM2U1 MCAxMDA2NDQKICsgICAgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzICE9IE5vbmUgYW5k IFwKICsgICAgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX2lkIDwgbGVuKHNlbGYuX19k aXNhYmxlZF9lbmdpbmVzKToKICsgICAgICAgICAgICBpZiBjaGFuZ2VkX3N0YXRlIGFuZCBzZWxm Ll9fZGlzYWJsZWRfZW5naW5lc19wcmV2X2lkICE9IC0xOgotKyAgICAgICAgICAgICAgICAjIHN0 YXRlX2NoYW5nZWQgaXMgYWx3YXlzIGNhbGxlZCB0d2ljZSBiZWNhdXNlIHdlIGNoYW5nZQorKyAg ICAgICAgICAgICAgICAjIHN0YXRlQ2hhbmdlZCBpcyBhbHdheXMgY2FsbGVkIHRyaXBsZSBiZWNh dXNlIHdlIGNoYW5nZQogKyAgICAgICAgICAgICAgICAjIHRoZSBlbmdpbmUuIFNvIHRoZSBmaXJz dCB0d28gY2FsbHMgYXJlIGlnbm9yZWQgaGVyZS4KKysgICAgICAgICAgICAgICAgIyBTaW5jZSB0 aGlzLl9kaXNhYmxlZEVuZ2luZXNQcmV2SUQgbmVlZHMgdG8gYmUgcmVzZXRlZAorKyAgICAgICAg ICAgICAgICAjIHRvIC0xIGFuZCBhbmQgc3RhdGVDaGFuZ2VkIGlzIGNhbGxlZCBtdWx0aXBsZSB0 aW1lcy4KKysgICAgICAgICAgICAgICAgIyBlbmdpbmUubGF5b3V0IGlzIG5vdCB1c2VkLgorKyAg ICAgICAgICAgICAgICAjCisrICAgICAgICAgICAgICAgICMgV2hlbiBzdGF0ZUNoYW5nZWQgaXMg Y2FsbGVkIGJ5IENvbnRyb2wgKyBTcGFjZSwKKysgICAgICAgICAgICAgICAgIyB0aGlzLl9kaXNh YmxlZEVuZ2luZXNJRCBhbmQgdGhpcy5fZGlzYWJsZWRFbmdpbmVzUHJldklECisrICAgICAgICAg ICAgICAgICMgYXJlIHRvZ2dsZWQgYmVjYXVzZSB0aGlzLl9kaXNhYmxlZEVuZ2luZXNJRCBpcyB0 aGUKKysgICAgICAgICAgICAgICAgIyBjdXJyZW50IFhLQiBncm91cCBpZCBhbmQgdGhpcy5fZGlz YWJsZWRFbmdpbmVzUHJldklECisrICAgICAgICAgICAgICAgICMgaXMgdGhlIG5leHQgWEtCIGdy b3VwIGlkLgorKyAgICAgICAgICAgICAgICAjCisrICAgICAgICAgICAgICAgICMgV2hlbiBzdGF0 ZUNoYW5nZWQgaXMgY2FsbGVkIGJ5IGlidXMgYWN0aXZhdGUgbWVudSwKKysgICAgICAgICAgICAg ICAgIyB0aGlzLl9kaXNhYmxlZEVuZ2luZXNJRCBpcyB0aGUgWEtCIGdyb3VwIGlkLgorKyAgICAg ICAgICAgICAgICAjCisrICAgICAgICAgICAgICAgICMgRklYTUU6IElmIHRoaXMuX2FjdGl2ZUVu Z2luZSBpcyB1c2VkLCBmb2N1c0luIGV2ZW50IGlzCisrICAgICAgICAgICAgICAgICMgY2FsbGVk IGJ5IGVpdGhlciBjaG9vc2luZyBpYnVzIG1lbnUgaXRlbSBvciBzd2l0Y2hpbmcKKysgICAgICAg ICAgICAgICAgIyBpbnB1dCBjb250ZXh0cy4KKysgICAgICAgICAgICAgICAgIyBTbyB0aGVyZSBp cyBhIGJ1ZzogQWZ0ZXIgWEtCIGdyb3VwIGlzIHN3aXRjaGVkIGJ5CisrICAgICAgICAgICAgICAg ICMgaWJ1cyBtZW51LCBpZiB0aGUgaW5wdXQgY29udGV4dHMgYXJlIHN3aXRjaGVkLCAKKysgICAg ICAgICAgICAgICAgIyB0aGUgbmV4dCB0b2dnbGVkIGlucHV0IG1ldGhvZCBoYXMgbmV4dCBYS0Ig Z3JvdXAga2V5bWFwCisrICAgICAgICAgICAgICAgICMgaW5zdGVhZCBvZiB0aGUgY3VycmVudCBY S0IgZ3JvdXAga2V5bWFwLgorKyAgICAgICAgICAgICAgICAjIGZvY3VzSW4gZXZlbnQgZG9uJ3Qg a25vdyBlaXRoZXIgY2hvb3NpbmcgaWJ1cyBtZW51IG9yCisrICAgICAgICAgICAgICAgICMgc3dp dGNoaW5nIGlucHV0IGNvbnRleHRzIGFyZSBoYXBwZW5lZC4KICsgICAgICAgICAgICAgICAgaWYg c2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfc3dhcHBlZCA8IDI6Ci0rICAgICAgICAgICAgICAgICAg ICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19zd2FwcGVkID0gXAotKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19zd2FwcGVkICsgMQotKyAgICAgICAg ICAgICAgICBlbHNlOgogKyAgICAgICAgICAgICAgICAgICAgeCA9IHNlbGYuX19kaXNhYmxlZF9l bmdpbmVzX3ByZXZfaWQKICsgICAgICAgICAgICAgICAgICAgIHNlbGYuX19kaXNhYmxlZF9lbmdp bmVzX3ByZXZfaWQgPSBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19pZAogKyAgICAgICAgICAgICAg ICAgICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfaWQgPSB4Ci0rICAgICAgICAgICAgICAgICAg ICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19zd2FwcGVkID0gMQorKyAgICAgICAgICAgICAgICAg ICAgc2VsZi5fX2Rpc2FibGVkX2VuZ2luZXNfc3dhcHBlZCA9IFwKKysgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMSBpZiBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19zd2FwcGVkID09IDAgZWxz ZSAwCisrICAgICAgICAgICAgICAgIGVsc2U6CisrICAgICAgICAgICAgICAgICAgICBzZWxmLl9f ZGlzYWJsZWRfZW5naW5lc19zd2FwcGVkID0gXAorKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzZWxmLl9fZGlzYWJsZWRfZW5naW5lc19zd2FwcGVkICsgMSBcCisrICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGlmIHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzX3N3YXBwZWQgPCA0IGVsc2Ug MAogKyAgICAgICAgICAgIHJldHZhbCA9IHNlbGYuX19kaXNhYmxlZF9lbmdpbmVzW3NlbGYuX19k aXNhYmxlZF9lbmdpbmVzX2lkXS5sYXlvdXQKKysgICAgICAgICAgICAjIGVuZ2luZSBpcyBhbiBp bnB1dC1tZXRob2Qgb3IgYSBrZXltYXAgYW5kIGlmIGVuZ2luZSBpcworKyAgICAgICAgICAgICMg YSBrZXltYXAsIHRoZSBsYXlvdXQgaXMgbm90ICdkZWZhdWx0Jy4KKysgICAgICAgICAgICAjIGlm IGVuZ2luZSBpcyBhbiBpbnB1dC1tZXRob2QsIHRoZSBsYXlvdXQgaXMgbWVyZ2VkIHdpdGggdGhl CisrICAgICAgICAgICAgIyBjdXJyZW50IFhLQiBrZXltYXAgaGVyZS4KICsgICAgICAgICAgICBp ZiBlbmdpbmUubGF5b3V0ICE9IE5vbmUgYW5kIGVuZ2luZS5sYXlvdXQuc3RhcnRzd2l0aCgiZGVm YXVsdCIpOgogKyAgICAgICAgICAgICAgICByZXR1cm4gc2VsZi5fX21lcmdlX21vZGVsc19hbmRf b3B0aW9ucyhyZXR2YWwsIGVuZ2luZS5sYXlvdXQpCiArICAgICAgICAgICAgcmV0dXJuIHJldHZh bAoKZGlmZiAtLWdpdCBhL2lidXMuc3BlYyBiL2lidXMuc3BlYwppbmRleCBkMzRmYWYwLi4wNjg4 NzVjIDEwMDY0NAotLS0gYS9pYnVzLnNwZWMKKysrIGIvaWJ1cy5zcGVjCkBAIC0yMyw4ICsyMyw4 IEBACiAlZGVmaW5lIGdub21lX2ljb25fdGhlbWVfbGVnYWN5X3ZlcnNpb24gMi45MS42CiAKIE5h bWU6ICAgICAgIGlidXMKLVZlcnNpb246ICAgIDEuMy45OS4yMDExMDgxNwotUmVsZWFzZTogICAg NSV7P2Rpc3R9CitWZXJzaW9uOiAgICAxLjQuMAorUmVsZWFzZTogICAgMSV7P2Rpc3R9CiBTdW1t YXJ5OiAgICBJbnRlbGxpZ2VudCBJbnB1dCBCdXMgZm9yIExpbnV4IE9TCiBMaWNlbnNlOiAgICBM R1BMdjIrCiBHcm91cDogICAgICBTeXN0ZW0gRW52aXJvbm1lbnQvTGlicmFyaWVzCkBAIC0zNCw3 ICszNCw3IEBAIFNvdXJjZTE6ICAgIHhpbnB1dC1pYnVzCiAlaWYgJWhhdmVfZ2pzZmlsZQogU291 cmNlMjogICAgaHR0cDovL2Z1aml3YXJhLmZlZG9yYXBlb3BsZS5vcmcvaWJ1cy9nbm9tZS1zaGVs bC9pYnVzLWdqcy0le2lidXNfZ2pzX3ZlcnNpb259LnRhci5negogJWVuZGlmCi1QYXRjaDA6ICAg ICBpYnVzLUhFQUQucGF0Y2gKKyMgUGF0Y2gwOiAgICAgaWJ1cy1IRUFELnBhdGNoCiBQYXRjaDE6 ICAgICBpYnVzLTUzMDcxMS1wcmVsb2FkLXN5cy5wYXRjaAogUGF0Y2gyOiAgICAgaWJ1cy01NDE0 OTIteGtiLnBhdGNoCiBQYXRjaDM6ICAgICBpYnVzLXh4LWJyaWRnZS1ob3RrZXkucGF0Y2gKQEAg LTE4Nyw3ICsxODcsNyBAQCBjZCAkZAogY2QgLi4KICVlbmRpZgogJWVuZGlmCi0lcGF0Y2gwIC1w MQorIyAlcGF0Y2gwIC1wMQogJXBhdGNoOTMgLXAxIC1iIC5nLXMtcHJlZWRpdAogY3AgY2xpZW50 L2d0azIvaWJ1c2ltY29udGV4dC5jIGNsaWVudC9ndGszL2lidXNpbWNvbnRleHQuYwogJXBhdGNo MSAtcDEgLWIgLnByZWxvYWQtc3lzCkBAIC0zODYsNiArMzg2LDE3IEBAIGZpCiAle19kYXRhZGly fS9ndGstZG9jL2h0bWwvKgogCiAlY2hhbmdlbG9nCisqIFdlZCBTZXAgMjggMjAxMSBUYWthbyBG dWppd2FyYSA8dGZ1aml3YXJAcmVkaGF0LmNvbT4gLSAxLjQuMC0xCistIFVwZGF0ZWQgdG8gMS40 LjAKKy0gVXBkYXRlZCBpYnVzLWdqcyAzLjAuMi4yMDExMDkyOCBmb3IgZjE1LgorLSBVcGRhdGVk IGlidXMtZ2pzIDMuMi4wLjIwMTEwOTI4IGZvciBmMTYuICgjNzQwNTg4KQorLSBVcGRhdGVkIGli dXMtNTMwNzExLXByZWxvYWQtc3lzLnBhdGNoCisgIEZpeGVkIG5vdCB0byBzaG93IGR1cGxpY2F0 ZWQgZW5naW5lIG5hbWVzIGluIHNldHVwIHRyZWV2aWV3ICgjNzQwNDQ3KQorLSBVcGRhdGVkIGJ1 cy1nanMteHgtZ25vbWUtc2hlbGwtMy4xLjQtYnVpbGQtZmFpbHVyZS5wYXRjaCBmb3IgZjE2Lgor LSBVcGRhdGVkIGlidXMteHgtYnJpZGdlLWhvdGtleS5wYXRjaAorICBGaXhlZCBhIFhLQiBjb25m aWd1cmF0aW9uIHdpdGhvdXQgdGhlIGlucHV0IGZvY3VzIGZvciBmMTYgKCM3MzkxNjUpCisgIEZp eGVkIG5vdCB0byBzaG93IG51bGwgc3RyaW5ncyBpbiBjYXNlIG9mIG5vIHZhcmlhbnRzICgjNzM4 MTMwKQorCiAqIFR1ZSBTZXAgMTMgMjAxMSBUYWthbyBGdWppd2FyYSA8dGZ1aml3YXJAcmVkaGF0 LmNvbT4gLSAxLjMuOTkuMjAxMTA4MTctNQogLSBVcGRhdGVkIGlidXMtZ2pzIDMuMS45MS4yMDEx MDkxMyBmb3IgZjE2LgogCgpkaWZmIC0tZ2l0IGEvc291cmNlcyBiL3NvdXJjZXMKaW5kZXggNDU4 NWIwMC4uZjRlM2E2ZiAxMDA2NDQKLS0tIGEvc291cmNlcworKysgYi9zb3VyY2VzCkBAIC0xLDMg KzEsMyBAQAotNTI2MTRlNTVlOTY2YjdjNzEwMWExOWIyNzZjNTFmMTAgIGlidXMtMS4zLjk5LjIw MTEwODE3LnRhci5negotOTZmMjk0MTBmZGU1YzU2ZDM3MWI1ZDVhMTk4MTg4NWQgIGlidXMtZ2pz LTMuMC4yLjIwMTEwOTA4LnRhci5negotYjlkZDc5NjdmODZjNTk4NDNjMDRkZmFmOGIyN2QzM2Ug IGlidXMtZ2pzLTMuMS45MS4yMDExMDkxMy50YXIuZ3oKK2I0ZjA2Mzc5NGU4OWM3MWViMWY4Y2I1 NDMyMTBkYTMwICBpYnVzLTEuNC4wLnRhci5negorZDIyZGI5MzMxODVjY2EwNjlmYjQ1Njk0MzIw ZWU1MjIgIGlidXMtZ2pzLTMuMC4yLjIwMTEwOTI4LnRhci5negorNzRkMTFjMWM1NmVlYjM1NDMz YzBlZTBjYTJmMTAyNzkgIGlidXMtZ2pzLTMuMi4wLjIwMTEwOTI4LnRhci5nego=