/pidgin/main: 8ec7c43c0f9f: Merged in CMaiku/pidgin (pull reques...

Gary Kramlich <[email protected]> Mon, 10 Oct 2016 20:33:20 -0400
Newsgroups gmane.comp.gnome.gaim.cvs
Message-ID <[email protected]>
Q2hhbmdlc2V0OiA4ZWM3YzQzYzBmOWZiZDg0NDNhNzNjNjZhODZmZjViZGZmMjBkMWJiCkF1dGhv
cjoJIEdhcnkgS3JhbWxpY2ggPGdyaW1AcmVhcGVyd29ybGQuY29tPgpEYXRlOgkgMjAxNi0xMC0x
MCAxOTozMiAtMDUwMApCcmFuY2g6CSBkZWZhdWx0ClVSTDogaHR0cHM6Ly9oZy5waWRnaW4uaW0v
cGlkZ2luL21haW4vcmV2LzhlYzdjNDNjMGY5ZgoKRGVzY3JpcHRpb246CgpNZXJnZWQgaW4gQ01h
aWt1L3BpZGdpbiAocHVsbCByZXF1ZXN0ICMxMjUpCgpQb3J0IFB1cnBsZVNvY2tldCB1c2FnZSBH
aW8gYW5kIHJlbW92ZSBpdAoKZGlmZnN0YXQ6CgogZG9jL3JlZmVyZW5jZS9saWJwdXJwbGUvbGli
cHVycGxlLWRvY3MueG1sIHwgICAgMSAtCiBsaWJwdXJwbGUvTWFrZWZpbGUuYW0gICAgICAgICAg
ICAgICAgICAgICAgfCAgICAyIC0KIGxpYnB1cnBsZS9NYWtlZmlsZS5taW5ndyAgICAgICAgICAg
ICAgICAgICB8ICAgIDEgLQogbGlicHVycGxlL2Nvbm5lY3Rpb24uYyAgICAgICAgICAgICAgICAg
ICAgIHwgICAgMSAtCiBsaWJwdXJwbGUvY29yZS5jICAgICAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAyIC0KIGxpYnB1cnBsZS9odHRwLmMgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAy
MzMgKysrKysrKysrKysrLS0tLQogbGlicHVycGxlL2ludGVybmFsLmggICAgICAgICAgICAgICAg
ICAgICAgIHwgICAyNSAtCiBsaWJwdXJwbGUvcHJvdG9jb2xzL2dnL3RjcHNvY2tldC5jICAgICAg
ICAgfCAgMTk2ICsrKysrKysrKysrLS0KIGxpYnB1cnBsZS9wdXJwbGUtZ2lvLmMgICAgICAgICAg
ICAgICAgICAgICB8ICAgMTYgKy0KIGxpYnB1cnBsZS9wdXJwbGUtc29ja2V0LmMgICAgICAgICAg
ICAgICAgICB8ICA0MTAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGxpYnB1cnBsZS9w
dXJwbGUtc29ja2V0LmggICAgICAgICAgICAgICAgICB8ICAyMTcgLS0tLS0tLS0tLS0tLS0tCiBw
by9QT1RGSUxFUy5pbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAxIC0KIDEyIGZp
bGVzIGNoYW5nZWQsIDM0NyBpbnNlcnRpb25zKCspLCA3NTggZGVsZXRpb25zKC0pCgpkaWZmcyAo
dHJ1bmNhdGVkIGZyb20gMTQ4MSB0byAzMDAgbGluZXMpOgoKZGlmZiAtLWdpdCBhL2RvYy9yZWZl
cmVuY2UvbGlicHVycGxlL2xpYnB1cnBsZS1kb2NzLnhtbCBiL2RvYy9yZWZlcmVuY2UvbGlicHVy
cGxlL2xpYnB1cnBsZS1kb2NzLnhtbAotLS0gYS9kb2MvcmVmZXJlbmNlL2xpYnB1cnBsZS9saWJw
dXJwbGUtZG9jcy54bWwKKysrIGIvZG9jL3JlZmVyZW5jZS9saWJwdXJwbGUvbGlicHVycGxlLWRv
Y3MueG1sCkBAIC01MSw3ICs1MSw2IEBACiAgICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvZXZl
bnRsb29wLnhtbCIgLz4KICAgICAgIDx4aTppbmNsdWRlIGhyZWY9InhtbC9ncm91cC54bWwiIC8+
CiAgICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwveGZlci54bWwiIC8+Ci0gICAgICA8eGk6aW5j
bHVkZSBocmVmPSJ4bWwvcHVycGxlLXNvY2tldC54bWwiIC8+CiAgICAgICA8eGk6aW5jbHVkZSBo
cmVmPSJ4bWwvaHR0cC54bWwiIC8+CiAgICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwvaWRsZS54
bWwiIC8+CiAgICAgICA8eGk6aW5jbHVkZSBocmVmPSJ4bWwva2V5cmluZy54bWwiIC8+CmRpZmYg
LS1naXQgYS9saWJwdXJwbGUvTWFrZWZpbGUuYW0gYi9saWJwdXJwbGUvTWFrZWZpbGUuYW0KLS0t
IGEvbGlicHVycGxlL01ha2VmaWxlLmFtCisrKyBiL2xpYnB1cnBsZS9NYWtlZmlsZS5hbQpAQCAt
OTQsNyArOTQsNiBAQCBwdXJwbGVfY29yZXNvdXJjZXMgPSBcCiAJcHJvdG9jb2wuYyBcCiAJcHJv
dG9jb2xzLmMgXAogCXB1cnBsZS1naW8uYyBcCi0JcHVycGxlLXNvY2tldC5jIFwKIAlxdWV1ZWRv
dXRwdXRzdHJlYW0uYyBcCiAJcmVxdWVzdC5jIFwKIAlyZXF1ZXN0LWRhdGFzaGVldC5jIFwKQEAg
LTE3OSw3ICsxNzgsNiBAQCBwdXJwbGVfY29yZWhlYWRlcnMgPSBcCiAJcHJvdG9jb2wuaCBcCiAJ
cHJvdG9jb2xzLmggXAogCXB1cnBsZS1naW8uaCBcCi0JcHVycGxlLXNvY2tldC5oIFwKIAlxdWV1
ZWRvdXRwdXRzdHJlYW0uaCBcCiAJcmVxdWVzdC5oIFwKIAlyZXF1ZXN0LWRhdGFzaGVldC5oIFwK
ZGlmZiAtLWdpdCBhL2xpYnB1cnBsZS9NYWtlZmlsZS5taW5ndyBiL2xpYnB1cnBsZS9NYWtlZmls
ZS5taW5ndwotLS0gYS9saWJwdXJwbGUvTWFrZWZpbGUubWluZ3cKKysrIGIvbGlicHVycGxlL01h
a2VmaWxlLm1pbmd3CkBAIC0xMTUsNyArMTE1LDYgQEAgQ19TUkMgPQlcCiAJCQlwcm94eS5jIFwK
IAkJCXByb3RvY29sLmMgXAogCQkJcHJvdG9jb2xzLmMgXAotCQkJcHVycGxlLXNvY2tldC5jIFwK
IAkJCXJlcXVlc3QuYyBcCiAJCQlyZXF1ZXN0LWRhdGFzaGVldC5jIFwKIAkJCXJvb21saXN0LmMg
XApkaWZmIC0tZ2l0IGEvbGlicHVycGxlL2Nvbm5lY3Rpb24uYyBiL2xpYnB1cnBsZS9jb25uZWN0
aW9uLmMKLS0tIGEvbGlicHVycGxlL2Nvbm5lY3Rpb24uYworKysgYi9saWJwdXJwbGUvY29ubmVj
dGlvbi5jCkBAIC04NDUsNyArODQ1LDYgQEAgcHVycGxlX2Nvbm5lY3Rpb25fZmluYWxpemUoR09i
amVjdCAqb2JqZQogCX0KIAogCXB1cnBsZV9odHRwX2Nvbm5fY2FuY2VsX2FsbChnYyk7Ci0JX3B1
cnBsZV9zb2NrZXRfY2FuY2VsX3dpdGhfY29ubmVjdGlvbihnYyk7CiAJcHVycGxlX3Byb3h5X2Nv
bm5lY3RfY2FuY2VsX3dpdGhfaGFuZGxlKGdjKTsKIAogCWNvbm5lY3Rpb25zID0gZ19saXN0X3Jl
bW92ZShjb25uZWN0aW9ucywgZ2MpOwpkaWZmIC0tZ2l0IGEvbGlicHVycGxlL2NvcmUuYyBiL2xp
YnB1cnBsZS9jb3JlLmMKLS0tIGEvbGlicHVycGxlL2NvcmUuYworKysgYi9saWJwdXJwbGUvY29y
ZS5jCkBAIC0xOTAsNyArMTkwLDYgQEAgcHVycGxlX2NvcmVfaW5pdChjb25zdCBjaGFyICp1aSkK
IAlwdXJwbGVfbG9nX2luaXQoKTsKIAlwdXJwbGVfbmV0d29ya19pbml0KCk7CiAJcHVycGxlX3Bv
dW5jZXNfaW5pdCgpOwotCV9wdXJwbGVfc29ja2V0X2luaXQoKTsKIAlwdXJwbGVfcHJveHlfaW5p
dCgpOwogCXB1cnBsZV9zb3VuZF9pbml0KCk7CiAJcHVycGxlX3N0dW5faW5pdCgpOwpAQCAtMjU0
LDcgKzI1Myw2IEBAIHB1cnBsZV9jb3JlX3F1aXQodm9pZCkKIAlwdXJwbGVfdGhlbWVfbWFuYWdl
cl91bmluaXQoKTsKIAlwdXJwbGVfeGZlcnNfdW5pbml0KCk7CiAJcHVycGxlX3Byb3h5X3VuaW5p
dCgpOwotCV9wdXJwbGVfc29ja2V0X3VuaW5pdCgpOwogCV9wdXJwbGVfaW1hZ2Vfc3RvcmVfdW5p
bml0KCk7CiAJcHVycGxlX25ldHdvcmtfdW5pbml0KCk7CiAKZGlmZiAtLWdpdCBhL2xpYnB1cnBs
ZS9odHRwLmMgYi9saWJwdXJwbGUvaHR0cC5jCi0tLSBhL2xpYnB1cnBsZS9odHRwLmMKKysrIGIv
bGlicHVycGxlL2h0dHAuYwpAQCAtMjgsNyArMjgsNyBAQAogI2luY2x1ZGUgImRlYnVnLmgiCiAj
aW5jbHVkZSAibnRsbS5oIgogI2luY2x1ZGUgInByb3h5LmgiCi0jaW5jbHVkZSAicHVycGxlLXNv
Y2tldC5oIgorI2luY2x1ZGUgInB1cnBsZS1naW8uaCIKIAogI2luY2x1ZGUgPHpsaWIuaD4KICNp
Zm5kZWYgel9jb25zdApAQCAtNTcsOSArNTcsMTUgQEAgdHlwZWRlZiBzdHJ1Y3QgX1B1cnBsZUh0
dHBLZWVwYWxpdmVSZXF1ZQogCiB0eXBlZGVmIHN0cnVjdCBfUHVycGxlSHR0cEd6U3RyZWFtIFB1
cnBsZUh0dHBHelN0cmVhbTsKIAordHlwZWRlZiB2b2lkICgqUHVycGxlSHR0cFNvY2tldENvbm5l
Y3RDYikoUHVycGxlSHR0cFNvY2tldCAqaHMsCisJCWNvbnN0IGdjaGFyICplcnJvciwgZ3BvaW50
ZXIgX2hjKTsKKwogc3RydWN0IF9QdXJwbGVIdHRwU29ja2V0CiB7Ci0JUHVycGxlU29ja2V0ICpw
czsKKwlHU29ja2V0Q29ubmVjdGlvbiAqY29ubjsKKwlHQ2FuY2VsbGFibGUgKmNhbmNlbGxhYmxl
OworCWd1aW50IGlucHV0X3NvdXJjZTsKKwlndWludCBvdXRwdXRfc291cmNlOwogCiAJZ2Jvb2xl
YW4gaXNfYnVzeTsKIAlndWludCB1c2VfY291bnQ7CkBAIC0xNzUsNyArMTgxLDcgQEAgc3RydWN0
IF9QdXJwbGVIdHRwQ29va2llSmFyCiBzdHJ1Y3QgX1B1cnBsZUh0dHBLZWVwYWxpdmVSZXF1ZXN0
CiB7CiAJUHVycGxlQ29ubmVjdGlvbiAqZ2M7Ci0JUHVycGxlU29ja2V0Q29ubmVjdENiIGNiOwor
CVB1cnBsZUh0dHBTb2NrZXRDb25uZWN0Q2IgY2I7CiAJZ3BvaW50ZXIgdXNlcl9kYXRhOwogCiAJ
UHVycGxlSHR0cEtlZXBhbGl2ZUhvc3QgKmhvc3Q7CkBAIC0yNDcsNyArMjUzLDcgQEAgZ2NoYXIg
KiBwdXJwbGVfaHR0cF9jb29raWVfamFyX2R1bXAoUHVycAogc3RhdGljIFB1cnBsZUh0dHBLZWVw
YWxpdmVSZXF1ZXN0ICoKIHB1cnBsZV9odHRwX2tlZXBhbGl2ZV9wb29sX3JlcXVlc3QoUHVycGxl
SHR0cEtlZXBhbGl2ZVBvb2wgKnBvb2wsCiAJUHVycGxlQ29ubmVjdGlvbiAqZ2MsIGNvbnN0IGdj
aGFyICpob3N0LCBpbnQgcG9ydCwgZ2Jvb2xlYW4gaXNfc3NsLAotCVB1cnBsZVNvY2tldENvbm5l
Y3RDYiBjYiwgZ3BvaW50ZXIgdXNlcl9kYXRhKTsKKwlQdXJwbGVIdHRwU29ja2V0Q29ubmVjdENi
IGNiLCBncG9pbnRlciB1c2VyX2RhdGEpOwogc3RhdGljIHZvaWQKIHB1cnBsZV9odHRwX2tlZXBh
bGl2ZV9wb29sX3JlcXVlc3RfY2FuY2VsKFB1cnBsZUh0dHBLZWVwYWxpdmVSZXF1ZXN0ICpyZXEp
Owogc3RhdGljIHZvaWQKQEAgLTQ2MywyMyArNDY5LDY5IEBAIHB1cnBsZV9odHRwX3NvY2tldF9o
YXNoKGNvbnN0IGdjaGFyICpob3MKIAlyZXR1cm4gZ19zdHJkdXBfcHJpbnRmKCIlYzolczolZCIs
IChpc19zc2wgPyAnUycgOiAnUicpLCBob3N0LCBwb3J0KTsKIH0KIAorc3RhdGljIHZvaWQKK3B1
cnBsZV9odHRwX3NvY2tldF9jb25uZWN0X25ld19jYihHT2JqZWN0ICpzb3VyY2UsIEdBc3luY1Jl
c3VsdCAqcmVzLAorCQlncG9pbnRlciB1c2VyX2RhdGEpCit7CisJUHVycGxlSHR0cFNvY2tldCAq
aHMgPSB1c2VyX2RhdGE7CisJR1NvY2tldENvbm5lY3Rpb24gKmNvbm47CisJUHVycGxlSHR0cFNv
Y2tldENvbm5lY3RDYiBjYjsKKwlncG9pbnRlciBjYl9kYXRhOworCUdFcnJvciAqZXJyb3IgPSBO
VUxMOworCisJY29ubiA9IGdfc29ja2V0X2NsaWVudF9jb25uZWN0X3RvX2hvc3RfZmluaXNoKEdf
U09DS0VUX0NMSUVOVChzb3VyY2UpLAorCQkJcmVzLCAmZXJyb3IpOworCisJY2IgPSBnX29iamVj
dF9zdGVhbF9kYXRhKHNvdXJjZSwgImNiIik7CisJY2JfZGF0YSA9IGdfb2JqZWN0X3N0ZWFsX2Rh
dGEoc291cmNlLCAiY2JfZGF0YSIpOworCisJaWYgKGNvbm4gPT0gTlVMTCkgeworCQlpZiAoIWdf
ZXJyb3JfbWF0Y2hlcyhlcnJvciwKKwkJCQlHX0lPX0VSUk9SLCBHX0lPX0VSUk9SX0NBTkNFTExF
RCkpIHsKKwkJCWNiKGhzLCBlcnJvci0+bWVzc2FnZSwgY2JfZGF0YSk7CisJCX0KKworCQlnX2Ns
ZWFyX2Vycm9yKCZlcnJvcik7CisJCXJldHVybjsKKwl9CisKKwlocy0+Y29ubiA9IGNvbm47CisK
KwljYihocywgTlVMTCwgY2JfZGF0YSk7Cit9CisKIHN0YXRpYyBQdXJwbGVIdHRwU29ja2V0ICoK
IHB1cnBsZV9odHRwX3NvY2tldF9jb25uZWN0X25ldyhQdXJwbGVDb25uZWN0aW9uICpnYywgY29u
c3QgZ2NoYXIgKmhvc3QsCi0JaW50IHBvcnQsIGdib29sZWFuIGlzX3NzbCwgUHVycGxlU29ja2V0
Q29ubmVjdENiIGNiLCBncG9pbnRlciB1c2VyX2RhdGEpCisJCWludCBwb3J0LCBnYm9vbGVhbiBp
c19zc2wsCisJCVB1cnBsZUh0dHBTb2NrZXRDb25uZWN0Q2IgY2IsIGdwb2ludGVyIHVzZXJfZGF0
YSkKIHsKLQlQdXJwbGVIdHRwU29ja2V0ICpocyA9IGdfbmV3MChQdXJwbGVIdHRwU29ja2V0LCAx
KTsKLQotCWhzLT5wcyA9IHB1cnBsZV9zb2NrZXRfbmV3KGdjKTsKLQlwdXJwbGVfc29ja2V0X3Nl
dF9kYXRhKGhzLT5wcywgImhzIiwgaHMpOwotCXB1cnBsZV9zb2NrZXRfc2V0X3Rscyhocy0+cHMs
IGlzX3NzbCk7Ci0JcHVycGxlX3NvY2tldF9zZXRfaG9zdChocy0+cHMsIGhvc3QpOwotCXB1cnBs
ZV9zb2NrZXRfc2V0X3BvcnQoaHMtPnBzLCBwb3J0KTsKLQlpZiAoIXB1cnBsZV9zb2NrZXRfY29u
bmVjdChocy0+cHMsIGNiLCB1c2VyX2RhdGEpKSB7Ci0JCXB1cnBsZV9zb2NrZXRfZGVzdHJveSho
cy0+cHMpOwotCQlnX2ZyZWUoaHMpOworCVB1cnBsZUh0dHBTb2NrZXQgKmhzOworCUdTb2NrZXRD
bGllbnQgKmNsaWVudDsKKwlHRXJyb3IgKmVycm9yID0gTlVMTDsKKworCWNsaWVudCA9IHB1cnBs
ZV9naW9fc29ja2V0X2NsaWVudF9uZXcoCisJCQlwdXJwbGVfY29ubmVjdGlvbl9nZXRfYWNjb3Vu
dChnYyksICZlcnJvcik7CisKKwlpZiAoY2xpZW50ID09IE5VTEwpIHsKKwkJcHVycGxlX2RlYnVn
X2Vycm9yKCJodHRwIiwgIkVycm9yIGNvbm5lY3RpbmcgdG8gJyVzOiVkJzogJXMiLAorCQkJCWhv
c3QsIHBvcnQsIGVycm9yLT5tZXNzYWdlKTsKKwkJZ19jbGVhcl9lcnJvcigmZXJyb3IpOwogCQly
ZXR1cm4gTlVMTDsKIAl9CiAKKwlocyA9IGdfbmV3MChQdXJwbGVIdHRwU29ja2V0LCAxKTsKKwlo
cy0+Y2FuY2VsbGFibGUgPSBnX2NhbmNlbGxhYmxlX25ldygpOworCisJZ19zb2NrZXRfY2xpZW50
X3NldF90bHMoY2xpZW50LCBpc19zc2wpOworCWdfb2JqZWN0X3NldF9kYXRhKEdfT0JKRUNUKGNs
aWVudCksICJjYiIsIGNiKTsKKwlnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChjbGllbnQpLCAi
Y2JfZGF0YSIsIHVzZXJfZGF0YSk7CisKKwlnX3NvY2tldF9jbGllbnRfY29ubmVjdF90b19ob3N0
X2FzeW5jKGNsaWVudCwKKwkJCWhvc3QsIHBvcnQsIGhzLT5jYW5jZWxsYWJsZSwKKwkJCXB1cnBs
ZV9odHRwX3NvY2tldF9jb25uZWN0X25ld19jYiwgaHMpOworCisJZ19vYmplY3RfdW5yZWYoY2xp
ZW50KTsKKwogCWlmIChwdXJwbGVfZGVidWdfaXNfdmVyYm9zZSgpKQogCQlwdXJwbGVfZGVidWdf
bWlzYygiaHR0cCIsICJuZXcgc29ja2V0IGNyZWF0ZWQ6ICVwXG4iLCBocyk7CiAKQEAgLTQ5NSw3
ICs1NDcsMjYgQEAgcHVycGxlX2h0dHBfc29ja2V0X2Nsb3NlX2ZyZWUoUHVycGxlSHR0cAogCWlm
IChwdXJwbGVfZGVidWdfaXNfdmVyYm9zZSgpKQogCQlwdXJwbGVfZGVidWdfbWlzYygiaHR0cCIs
ICJkZXN0cm95aW5nIHNvY2tldDogJXBcbiIsIGhzKTsKIAotCXB1cnBsZV9zb2NrZXRfZGVzdHJv
eShocy0+cHMpOworCWlmIChocy0+aW5wdXRfc291cmNlID4gMCkgeworCQlnX3NvdXJjZV9yZW1v
dmUoaHMtPmlucHV0X3NvdXJjZSk7CisJCWhzLT5pbnB1dF9zb3VyY2UgPSAwOworCX0KKworCWlm
IChocy0+b3V0cHV0X3NvdXJjZSA+IDApIHsKKwkJZ19zb3VyY2VfcmVtb3ZlKGhzLT5vdXRwdXRf
c291cmNlKTsKKwkJaHMtPm91dHB1dF9zb3VyY2UgPSAwOworCX0KKworCWlmIChocy0+Y2FuY2Vs
bGFibGUgIT0gTlVMTCkgeworCQlnX2NhbmNlbGxhYmxlX2NhbmNlbChocy0+Y2FuY2VsbGFibGUp
OworCQlnX2NsZWFyX29iamVjdCgmaHMtPmNhbmNlbGxhYmxlKTsKKwl9CisKKwlpZiAoaHMtPmNv
bm4gIT0gTlVMTCkgeworCQlwdXJwbGVfZ2lvX2dyYWNlZnVsX2Nsb3NlKEdfSU9fU1RSRUFNKGhz
LT5jb25uKSwgTlVMTCwgTlVMTCk7CisJCWdfY2xlYXJfb2JqZWN0KCZocy0+Y29ubik7CisJfQor
CiAJZ19mcmVlKGhzKTsKIH0KIApAQCAtNjgyLDEwICs3NTMsOSBAQCBzdGF0aWMgdm9pZCBfcHVy
cGxlX2h0dHBfZGlzY29ubmVjdChQdXJwCiAJZ2Jvb2xlYW4gaXNfZ3JhY2VmdWwpOwogCiBzdGF0
aWMgdm9pZCBfcHVycGxlX2h0dHBfZ2VuX2hlYWRlcnMoUHVycGxlSHR0cENvbm5lY3Rpb24gKmhj
KTsKLXN0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBfcmVjdl9sb29wYm9keShQdXJwbGVIdHRw
Q29ubmVjdGlvbiAqaGMsIGdpbnQgZmQpOwotc3RhdGljIHZvaWQgX3B1cnBsZV9odHRwX3JlY3Yo
Z3BvaW50ZXIgX2hjLCBnaW50IGZkLAotCVB1cnBsZUlucHV0Q29uZGl0aW9uIGNvbmQpOwotc3Rh
dGljIHZvaWQgX3B1cnBsZV9odHRwX3NlbmQoZ3BvaW50ZXIgX2hjLCBnaW50IGZkLCBQdXJwbGVJ
bnB1dENvbmRpdGlvbiBjb25kKTsKK3N0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBfcmVjdl9s
b29wYm9keShQdXJwbGVIdHRwQ29ubmVjdGlvbiAqaGMpOworc3RhdGljIGdib29sZWFuIF9wdXJw
bGVfaHR0cF9yZWN2KEdPYmplY3QgKnNvdXJjZSwgZ3BvaW50ZXIgX2hjKTsKK3N0YXRpYyBnYm9v
bGVhbiBfcHVycGxlX2h0dHBfc2VuZChHT2JqZWN0ICpzb3VyY2UsIGdwb2ludGVyIF9oYyk7CiAK
IC8qIGNsb3NlcyBjdXJyZW50IGNvbm5lY3Rpb24gKGlmIGV4aXN0cyksIGVzdGFiaWxpc2hlcyBv
bmUgYW5kIHByb2NlZWRzIHdpdGgKICAqIHJlcXVlc3QgKi8KQEAgLTEwNzcsMjEgKzExNDcsMzMg
QEAgc3RhdGljIGdib29sZWFuIF9wdXJwbGVfaHR0cF9yZWN2X2JvZHkoUAogCXJldHVybiBfcHVy
cGxlX2h0dHBfcmVjdl9ib2R5X2RhdGEoaGMsIGJ1ZiwgbGVuKTsKIH0KIAotc3RhdGljIGdib29s
ZWFuIF9wdXJwbGVfaHR0cF9yZWN2X2xvb3Bib2R5KFB1cnBsZUh0dHBDb25uZWN0aW9uICpoYywg
Z2ludCBmZCkKK3N0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBfcmVjdl9sb29wYm9keShQdXJw
bGVIdHRwQ29ubmVjdGlvbiAqaGMpCiB7CiAJaW50IGxlbjsKIAlnY2hhciBidWZbNDA5Nl07CiAJ
Z2Jvb2xlYW4gZ290X2FueXRoaW5nOwotCi0JbGVuID0gcHVycGxlX3NvY2tldF9yZWFkKGhjLT5z
b2NrZXQtPnBzLCAoZ3VjaGFyKilidWYsIHNpemVvZihidWYpKTsKKwlHRXJyb3IgKmVycm9yID0g
TlVMTDsKKworCWxlbiA9IGdfcG9sbGFibGVfaW5wdXRfc3RyZWFtX3JlYWRfbm9uYmxvY2tpbmco
CisJCQkJR19QT0xMQUJMRV9JTlBVVF9TVFJFQU0oCisJCQkJZ19pb19zdHJlYW1fZ2V0X2lucHV0
X3N0cmVhbSgKKwkJCQlHX0lPX1NUUkVBTShoYy0+c29ja2V0LT5jb25uKSkpLAorCQkJCWJ1Ziwg
c2l6ZW9mKGJ1ZiksIGhjLT5zb2NrZXQtPmNhbmNlbGxhYmxlLAorCQkJCSZlcnJvcik7CiAJZ290
X2FueXRoaW5nID0gKGxlbiA+IDApOwogCi0JaWYgKGxlbiA8IDAgJiYgZXJybm8gPT0gRUFHQUlO
KQorCWlmIChsZW4gPCAwICYmIChnX2Vycm9yX21hdGNoZXMoZXJyb3IsCisJCQlHX0lPX0VSUk9S
LCBHX0lPX0VSUk9SX1dPVUxEX0JMT0NLKSB8fAorCQkJZ19lcnJvcl9tYXRjaGVzKGVycm9yLAor
CQkJR19JT19FUlJPUiwgR19JT19FUlJPUl9DQU5DRUxMRUQpKSkgeworCQlnX2NsZWFyX2Vycm9y
KCZlcnJvcik7CiAJCXJldHVybiBGQUxTRTsKKwl9CiAKIAlpZiAobGVuIDwgMCkgewogCQlfcHVy
cGxlX2h0dHBfZXJyb3IoaGMsIF8oIkVycm9yIHJlYWRpbmcgZnJvbSAlczogJXMiKSwKLQkJCWhj
LT51cmwtPmhvc3QsIGdfc3RyZXJyb3IoZXJybm8pKTsKKwkJCWhjLT51cmwtPmhvc3QsIGVycm9y
LT5tZXNzYWdlKTsKKwkJZ19jbGVhcl9lcnJvcigmZXJyb3IpOwogCQlyZXR1cm4gRkFMU0U7CiAJ
fQogCkBAIC0xMjcwLDExICsxMzUyLDEzIEBAIHN0YXRpYyBnYm9vbGVhbiBfcHVycGxlX2h0dHBf
cmVjdl9sb29wYm8KIAlyZXR1cm4gZ290X2FueXRoaW5nOwogfQogCi1zdGF0aWMgdm9pZCBfcHVy
cGxlX2h0dHBfcmVjdihncG9pbnRlciBfaGMsIGdpbnQgZmQsIFB1cnBsZUlucHV0Q29uZGl0aW9u
IGNvbmQpCitzdGF0aWMgZ2Jvb2xlYW4gX3B1cnBsZV9odHRwX3JlY3YoR09iamVjdCAqc291cmNl
LCBncG9pbnRlciBfaGMpCiB7CiAJUHVycGxlSHR0cENvbm5lY3Rpb24gKmhjID0gX2hjOwogCi0J
d2hpbGUgKF9wdXJwbGVfaHR0cF9yZWN2X2xvb3Bib2R5KGhjLCBmZCkpOworCXdoaWxlIChfcHVy
cGxlX2h0dHBfcmVjdl9sb29wYm9keShoYykpOworCisJcmV0dXJuIEdfU09VUkNFX0NPTlRJTlVF
OwogfQogCiBzdGF0aWMgdm9pZCBfcHVycGxlX2h0dHBfc2VuZF9nb3RfZGF0YShQdXJwbGVIdHRw
Q29ubmVjdGlvbiAqaGMsCkBAIC0xMzA1LDE3ICsxMzg5LDE5IEBAIHN0YXRpYyB2b2lkIF9wdXJw
bGVfaHR0cF9zZW5kX2dvdF9kYXRhKFAKIAloYy0+cmVxdWVzdC0+Y29udGVudHNfbGVuZ3RoID0g
ZXN0aW1hdGVkX2xlbmd0aDsKIH0KIAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX18KQ29tbWl0cyBtYWlsaW5nIGxpc3QKQ29tbWl0c0BwaWRnaW4uaW0KaHR0
cHM6Ly9waWRnaW4uaW0vY2dpLWJpbi9tYWlsbWFuL2xpc3RpbmZvL2NvbW1pdHM=