Re: patches for spread 5.0.0rc1

John Lane Schultz <[email protected]> Tue, 3 Jan 2017 09:34:46 -0500
Newsgroups gmane.network.spread.user
Message-ID <[email protected]>
RGFuaWVsLAoKVGhhbmsgeW91IGZvciB0ZXN0aW5nIGFuZCB5b3VyIGRldGFpbGVkIHBhdGNoIG5v
dGVzISAgSeKAmWxsIGluY29ycG9yYXRlIHRoZW0gaW50byB0aGUgbmV4dCByZWxlYXNlIGNhbmRp
ZGF0ZSwgd2hpY2ggc2hvdWxkIGJlIG91dCBpbiB0aGUgbmV4dCB3ZWVrIG9yIHR3by4KCkNoZWVy
cyEKCi0tLS0tCkpvaG4gTGFuZSBTY2h1bHR6ClNwcmVhZCBDb25jZXB0cyBMTEMKQ2VsbDogNDQz
IDgzOCAyMjAwCgpPbiBKYW4gMSwgMjAxNywgYXQgODoyMiBQTSwgRGFuaWVsIEYuIFNhdmFyZXNl
IDxkZnNAc2F2YXJlc2Uub3JnPiB3cm90ZToKCgpCZWZvcmUgSSBnZXQgdG8gdGhlIHBhdGNoZXMs
IEknZCBsaWtlIHRvIHJlcG9ydCB0aGF0IGxpYnNzcmNzcHJlYWQKMS4wLjEyIGNvbXBpbGVzIGFn
YWluc3Qgc3ByZWFkLTUuMC4wcmMxIHdpdGggbm8gY2hhbmdlcyBhbmQgcGFzc2VzIGFsbAp1bml0
IHRlc3RzLiAgSW4gYWRkaXRpb24sIHNvZnR3YXJlIHVzaW5nIHRoZSBsaWJzc3Jjc3ByZWFkIGR5
bmFtaWMKbGlicmFyeSBjb21waWxlZCBhZ2FpbnN0IHNwcmVhZC00LnggZG9lcyBub3QgbmVlZCB0
byBiZSByZWNvbXBpbGVkLgpPdXIgZW50aXJlIHN0YWNrIG9mIHNvZnR3YXJlIHNpdHRpbmcgb24g
dG9wIG9mIHNwcmVhZCB2aWEKbGlic3NyY3NwcmVhZCB3b3JrZWQgd2l0aCBzcHJlYWQtNS4wLjBy
YzEgd2l0aG91dCBhIGhpdGNoIHdpdGhvdXQKcmVjb21waWxpbmcgKHRoZSBrZXkgYmVpbmcgdGhl
IHVzZSBvZiBkeW5hbWljIGxpYnJhcmllcykuICBBbHNvLCBhbGwKb2YgdGhlIHVuaXQgdGVzdHMg
Zm9yIHNhaWQgc29mdHdhcmUgcGFzc2VkLiAgSXQgbG9va3MgbGlrZQpzcHJlYWQtNS4wLjByYzEg
YnkgYW5kIGxhcmdlIGRvZXNuJ3Qgc3VmZmVyIGZyb20gcmVncmVzc2lvbnMuCgpUaGVyZSBhcmUs
IGhvd2V2ZXIsIHNvbWUgbWlub3IgaXNzdWVzIHRoYXQgcmVxdWlyZWQgY29ycmVjdGluZyB3aGlj
aApJJ2xsIHNoYXJlIHZpYSBpbmxpbmUgcGF0Y2hlcyAoSSdtIHVuY2VydGFpbiBpZiB0aGUgbWFp
bGluZyBsaXN0CnN0cmlwcyBhdHRhY2htZW50cykgaW4gdGhpcyBlbWFpbC4gIFRoZXNlIHBhdGNo
ZXMgYXJlIHBhcnQgb2YgYSBsYXJnZXIKc2V0IG9mIHBhdGNoZXMgcmVwbGFjaW5nIHNlbGVjdCB3
aXRoIEZyZWVCU0Qga3F1ZXVlIG9yIExpbnV4IGVwb2xsIGZvcgp0aGUgZGFlbW9uIGFuZCBQT1NJ
WCBwb2xsIGZvciB0aGUgY2xpZW50IGxpYnJhcnkgd2hlbiBhdmFpbGFibGUuClRoZXJlZm9yZSwg
dGhlIGxpbmUgbnVtYmVycyBtYXkgbm90IGFsd2F5cyBtYXRjaCB1cCB3aXRoIHRoZSByZWxlYXNl
ZApzb3VyY2U7IGJ1dCBtb3N0IG9mIHRoZSBwYXRjaGVzIHNob3VsZCBhcHBseSBiYXNlZCBvbiBj
b250ZXh0LiAgSQpkb24ndCBpbnRlbmQgZm9yIHRoZSBwYXRjaGVzIHRvIGJlIGFwcGxpZWQgdmVy
YmF0aW0sIGJ1dCByYXRoZXIKcHJlc2VudCB0aGVtIHRvIGV4cGxhaW4gdGhlIHByb2JsZW1zIEkn
dmUgcnVuIGludG8gd2l0aCB0aGUgbGF0ZXN0CnNwcmVhZCByZWxlYXNlIHNvIHRoYXQgdGhvc2Ug
d2hvIGFyZSBtb3JlIGZhbWlsaWFyIHdpdGggdGhlIGNvZGUgY2FuCmZpeCB0aGUgaXNzdWVzIGlu
IGEgbW9yZSBhcHByb3ByaWF0ZSBtYW5uZXIgaWYgcmVxdWlyZWQuCgoKUGF0Y2ggMToKW0ZpeGVk
IEZyZWVCU0QgY29tcGlsYXRpb24gZXJyb3IgaW4gZGFlbW9uLyB0cmVlIChJTlQzMl9NQVggdW5k
ZWZpbmVkKS5dCi0tLS0tLS0KClRoZSBmaXJzdCBwYXRjaCBhZGRyZXNzZXMgYSBsb25nLXN0YW5k
aW5nIHByb2JsZW0gd2l0aCBjb21waWxpbmcKb3V0IG9mIHRoZSBib3ggb24gRnJlZUJTRC4gIFRo
ZSBkZWZpbml0aW9uIGZvciBJTlQzMl9NQVggZG9lc24ndApnZXQgcGlja2VkIHVwIGJ5IG1vbml0
b3IuYyBhbmQgY2F1c2VzIGEgY29tcGlsYXRpb24gZXJyb3IuICBJCmNob3NlIHRvIG1ha2UgdGhl
IGNoYW5nZSB0byBhcmNoLmggaW5zdGVhZCBvZiBtb25pdG9yLmMgdG8gYXZvaWQKcG90ZW50aWFs
IHByb2JsZW1zIHdpdGggbmV3IGZpbGVzIGluIHRoZSBmdXR1cmUuICBTdWNjZXNzZnVsIGxpbmtp
bmcKb24gRnJlZUJTRCByZXF1aXJlcyBhbiBlbXB0eSBkZWZpbml0aW9uIGZvciB0aGUgTElCU1BS
RUFEVVRJTF9MSUJTCnZhcmlhYmxlLCBidXQgd2UgYnVpbGQgb24gRnJlZUJTRCB3aXRoICJtYWtl
IExJQlNQUkVBRFVUSUxfTElCUz0iIHZpYQphbm90aGVyIGJ1aWxkL3BhY2thZ2luZyBsYXllciwg
c28gSSBkb24ndCBoYXZlIGEgY3Jvc3MtcGxhdGZvcm0gcGF0Y2gKZm9yIHRoYXQuICBGcmVlQlNE
IGRvZXNuJ3QgaGF2ZSBsaWJkbCBiZWNhdXNlIHRoZSBkbGZvbyBmdW5jdGlvbnMgYXJlCnBhcnQg
b2YgbGliYywgc28gaWYgeW91IGRvbid0IG92ZXJyaWRlIExJQlNQUkVBRFVUSUxfTElCUywgdGhl
IGxpbmtlcgp3aWxsIGVycm9yIG91dCBub3QgYmVpbmcgYWJsZSB0byBmaW5kIGxpYmRsLgoKZGlm
ZiAtLWdpdCBhL2RhZW1vbi9hcmNoLmggYi9kYWVtb24vYXJjaC5oCmluZGV4IGIwMmUzYjAuLjQx
ODQwZjggMTAwNjQ0Ci0tLSBhL2RhZW1vbi9hcmNoLmgKKysrIGIvZGFlbW9uL2FyY2guaApAQCAt
MzYsNiArMzYsOCBAQAojaWZuZGVmIElOQ19BUkNICiNkZWZpbmUgSU5DX0FSQ0gKCisjaW5jbHVk
ZSA8c3RkaW50Lmg+CisKLyoKICogRWFjaCByZWNvcmQgaW4gdGhpcyBmaWxlIHJlcHJlc2VudHMg
YW4gYXJjaGl0ZWN0dXJlLgogKiBFYWNoIHJlY29yZCBjb250YWlucyB0aGUgZm9sbG93aW5nIGZp
ZWxkczoKCgpQYXRjaCAyOgpbRml4ZWQgZml4cGF0aHMgdG8gd29yayB3aXRoIFBlcmwgNS4yMi5d
Ci0tLS0tLS0KClRoZSBmaXhwYXRocyBzY3JpcHQgZmFpbHMgd2hlbiBleGVjdXRlZCB1c2luZyBQ
ZXJsIDUuMjIgb3IgaGlnaGVyLApjYXVzaW5nICJtYWtlIGluc3RhbGwiIHRvIGZhaWwuICBUaGlz
IHBhdGNoIG1ha2VzIGZpeHBhdGhzIHdvcmsgd2l0aApQZXJsIDUuMjIgd2l0aG91dCBicmVha2lu
ZyBpdCBmb3IgUGVybCA1LjIwLgoKZGlmZiAtLWdpdCBhL2J1aWxkdG9vbHMvZml4cGF0aHMgYi9i
dWlsZHRvb2xzL2ZpeHBhdGhzCmluZGV4IDdlNDE3OGUuLmI4NjhmZmYgMTAwNjQ0Ci0tLSBhL2J1
aWxkdG9vbHMvZml4cGF0aHMKKysrIGIvYnVpbGR0b29scy9maXhwYXRocwpAQCAtNSw3ICs1LDcg
QEAKCiR1c2FnZSA9ICJVc2FnZTogJDAgWy1Ec3RyaW5nPXJlcGxhY2VtZW50XSBbW2luZmlsZV0g
Li4uXVxuIjsKCi1pZiAoIWRlZmluZWQoQEFSR1YpKSB7IGRpZSAoIiR1c2FnZSIpOyB9CitpZiAo
IUBBUkdWKSB7IGRpZSAoIiR1c2FnZSIpOyB9CgojIHJlYWQgaW4gdGhlIGNvbW1hbmQgbGluZSBh
bmQgZ2V0IHNvbWUgZGVmaW5pdGlvbnMKd2hpbGUgKCRfPSRBUkdWWzBdLCAvXi0vKSB7CkBAIC0y
Myw3ICsyMyw3IEBAIHdoaWxlICgkXz0kQVJHVlswXSwgL14tLykgewogIH0KfSAjIHdoaWxlIHBh
cnNpbmcgYXJndW1lbnRzCgotaWYgKCFkZWZpbmVkKCVkZWYpKSB7CitpZiAoISVkZWYpIHsKICBk
aWUgKCIkMDogbm90aGluZyB0byBkbyAtIG5vIHN1YnN0aXR1dGlvbnMgbGlzdGVkIVxuIik7Cn0K
CgpQYXRjaCAzOgpbRml4ZWQgZGFlbW9uIHNlc3Npb24gbG9nIGluaXRpYWxpemF0aW9uIHNlcXVl
bmNlLl0KLS0tLS0tLQoKV2hlbiBydW5uaW5nIHNwcmVhZCB3aXRoIC1sLCB0aGUgbG9nIGlzIG9w
ZW5lZCBpbiB0aGUgY3VycmVudApkaXJlY3RvcnkgYmVmb3JlIGJlaW5nIHJlb3BlbmVkIGluIGEg
cG90ZW50aWFsbHkgZGlmZmVyZW50IGRpcmVjdG9yeQphZnRlciBhIGNoZGlyIGNhbGwuICBUaGlz
IGVmZmVjdCBpcyBldmlkZW50IHdoZW4gc3RhcnRpbmcgc3ByZWFkIHZpYQphbiBpbml0IHN5c3Rl
bSBzdXNjaCBhcyBPcGVuUkMsIHdoaWNoIGNoYW5nZXMgdGhlIGN1cnJlbnQgZGlyZWN0b3J5IHRv
Ci8gYmVmb3JlIHN0YXJ0aW5nIHRoZSBkYWVtb24uICBJbiBzdWNoIGEgY2FzZSwgc3ByZWFkIGNy
ZWF0ZXMgYSBsb2cKZmlsZSBpbiAvIGJlZm9yZSBjaGFuZ2luZyB0byB0aGUgY29uZmlndXJlZCBy
dW50aW1lIGRpcmVjdG9yeSAoZS5nLiwKL3Zhci9ydW4vc3ByZWFkKSBhbmQgcmVvcGVuaW5nIHRo
ZSBmaWxlIHRoZXJlLgoKVGhpcyBwYXRjaCBpbml0aWFsaXplcyB0aGUgbG9nIGFmdGVyIHRoZSBj
aGRpciB0byB0aGUgcnVudGltZQpkaXJlY3RvcnksIGVuc3VyaW5nIG9ubHkgb25lIGZpbGUgaXMg
Y3JlYXRlZC4gIEl0IGFsc28gY29tbWVudHMgb3V0CnRoZSBjbG9zaW5nIGFuZCByZW9wZW5pbmcg
b2YgdGhlIGxvZyBmaWxlIHRoYXQtLWF0IGxlYXN0IGluIG15IGNhc2UtLQp3YXMgY2F1c2luZyBk
YXRhIGxvc3MgYXQgdGhlIGJlZ2lubmluZyBvZiBsb2cgbGluZXMuICBJZiB0aGUgbG9nIG5lZWRz
CnRvIGJlIGNsb3NlZCBhbmQgcmVvcGVuZWQsIHRoZW4gYXQgbGVhc3QgdGhlIGZ0ZWxsL2ZzZWVr
cyBjYW4gYmUKb21pdHRlZCBhbmQgdGhlIGZpbGUgY2FuIGJlIHJlb3BlbmVkIGluIGFwcGVuZCBt
b2RlLiAgSSBkb24ndAp1bmRlcnN0YW5kIHRoZSBwdXJwb3NlIG9mIHRoZSBleGlzdGluZyBjb2Rl
LCB3aGljaCBpcyB3aHkgSSBjb21tZW50ZWQKaXQgb3V0IGluc3RlYWQgb2YgcmVtb3ZpbmcgaXQu
CgpkaWZmIC0tZ2l0IGEvZGFlbW9uL2xvZy5jIGIvZGFlbW9uL2xvZy5jCmluZGV4IDAwYjE0ZDgu
LjM2OTgwYTAgMTAwNjQ0Ci0tLSBhL2RhZW1vbi9sb2cuYworKysgYi9kYWVtb24vbG9nLmMKQEAg
LTk2LDggKzk2LDkgQEAgdm9pZAlMb2dfaW5pdCgpCgpzdGF0aWMgIHZvaWQJTG9nX2FsaXZlKGlu
dCBkdW1teSwgdm9pZCAqZHVtbXlfcCkKeworICAvKgoJbG9uZwlmaWxlX3BvczsKLQorICAqLwoJ
aWYoICFJc19pbml0ZWQgKSByZXR1cm47CiNpZiAoIFNQUkVBRF9QUk9UT0NPTCA9PSAzICkKCWZw
cmludGYoIGZkLCAiQSAlMTNsZCAlMTFkXG4iLEVfZ2V0X3RpbWUoKS5zZWMsIEhpZ2hlc3Rfc2Vx
ICk7CkBAIC0xMDYsMTYgKzEwNywxOCBAQCBzdGF0aWMgIHZvaWQJTG9nX2FsaXZlKGludCBkdW1t
eSwgdm9pZCAqZHVtbXlfcCkKI2VuZGlmCiAgICAgICAgaWYoIGZzZWVrKCBmZCwgLTI4LCBTRUVL
X0NVUiApICkKICAgICAgICAgICAgICAgIEFsYXJtKCBFWElULCAiTG9nX2FsaXZlOiBlcnJvciAo
JXMpIGluIGZzZWVrIC0yOCBvbiAlc1xuIiwgc3RyZXJyb3IoZXJybm8pLCBNeV9uYW1lKTsKLQlm
aWxlX3BvcyA9IGZ0ZWxsKGZkKTsKKwkvKmZpbGVfcG9zID0gZnRlbGwoZmQpOyovCglpZiggZnNl
ZWsoIGZkLCAgMjgsIFNFRUtfQ1VSICkgKQogICAgICAgICAgICAgICAgQWxhcm0oIEVYSVQsICJM
b2dfYWxpdmU6IGVycm9yICglcykgaW4gZnNlZWsgMjggb24gJXNcbiIsIHN0cmVycm9yKGVycm5v
KSwgTXlfbmFtZSk7CisJZmZsdXNoKCBmZCApOworICAgICAgICAvKgoJZmNsb3NlKGZkKTsKCWZk
ID0gZm9wZW4oIE15X25hbWUsICJyKyIgKTsgCglpZiggZmQgPT0gTlVMTCApCgkJQWxhcm0oIEVY
SVQsICJMb2dfYWxpdmU6IGVycm9yICglcykgY291bGQgbm90IG9wZW4gZmlsZSAlc1xuIixzdHJl
cnJvcihlcnJubyksIE15X25hbWUgKTsKCWlmKCBmc2VlayggZmQsIGZpbGVfcG9zLCBTRUVLX1NF
VCApICkKICAgICAgICAgICAgICAgIEFsYXJtKCBFWElULCAiTG9nX2FsaXZlOiBlcnJvciAoJXMp
IGluIGZzZWVrIGZpbGVfcG9zICglbGQpIG9uICVzXG4iLCBzdHJlcnJvcihlcnJubyksIGZpbGVf
cG9zLCAgTXlfbmFtZSk7Ci0JCisgICAgICAgICovCglFX3F1ZXVlKCBMb2dfYWxpdmUsIDAsIE5V
TEwsIGFsaXZlX3RpbWUgKTsKfQoKZGlmZiAtLWdpdCBhL2RhZW1vbi9zcHJlYWQuYyBiL2RhZW1v
bi9zcHJlYWQuYwppbmRleCA4YmJhMzQwLi4zOGE2OTQ3IDEwMDY0NAotLS0gYS9kYWVtb24vc3By
ZWFkLmMKKysrIGIvZGFlbW9uL3NwcmVhZC5jCkBAIC0yMDgsNyArMjA4LDYgQEAgaW50IG1haW4o
aW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKCVNlc3NfaW5pdCgpOwoKCVN0YXRfaW5pdCgpOyAKLQlp
ZiggTG9nICkgTG9nX2luaXQoKTsKCiNpZm5kZWYJQVJDSF9QQ19XSU45NQoKQEAgLTIzNiw2ICsy
MzUsMTMgQEAgaW50IG1haW4oaW50IGFyZ2MsIGNoYXIgKmFyZ3ZbXSkKCiNlbmRpZgkvKiBBUkNI
X1BDX1dJTjk1ICovCgorICAgICAgICAvKiAyMDE2LTEyLTI4IGRmcworICAgICAgICAgKgorICAg
ICAgICAgKiBJbml0IGxvZyBBRlRFUiBjaGRpciwgTk9UIGJlZm9yZS4gIE90aGVyd2lzZSwgbW9y
ZSB0aGFuIG9uZQorICAgICAgICAgKiBmaWxlIGNvdWxkIGJlIG9wZW5lZCBpbiBtb3JlIHRoYW4g
b25lIGRpcmVjdG9yeS4KKyAgICAgICAgICovCisJaWYoIExvZyApIExvZ19pbml0KCk7CisKCUVf
aGFuZGxlX2V2ZW50cygpOwoKICAgICAgICBTZXNzX2ZpbmkoKTsKClBhdGNoIDQ6CltSZXN0b3Jl
ZCBmdW5jdGlvbmluZyBvZiBsb29wYmFjayBjb25maWcgZmlsZSBhbmQgZml4ZWQgRnJlZUJTRCBz
Y29wZSBpZC5dCi0tLS0tLS0KClRoaXMgaXMgdGhlIG1vc3QgaW1wb3J0YW50IHBhdGNoIG9mIHRo
ZSBidW5jaC4gIENvbXBpbGVkIG91dCBvZiB0aGUKYm94LCB0aGUgZm9sbG93aW5nIElQdjQgc2Vn
bWVudCBkZWZpbml0aW9uIHRoYXQgdXNlZCB0byB3b3JrIHdpdGgKc3ByZWFkLTQueCBubyBsb25n
ZXIgd29ya3Mgd2l0aCBzcHJlYWQtNS4wLjByYzIgb24gRnJlZUJTRDoKClNwcmVhZF9TZWdtZW50
IDEyNy4wLjAuMjU1OjQ4MDMgewogbG9jYWxob3N0IDEyNy4wLjAuMSB7CiAgIEQgMTI3LjAuMC4x
CiB9Cn0KCkFsc28sIGZvciBJUHY2LCB0aGUgZXF1aXZhbGVudCBzZWdtZW50IGRlZmluaXRpb24g
ZG9lc24ndCB3b3JrIG9uCkZyZWVCU0QgKHRyeWluZyB0byBzZXQgaW50ZXJmYWNlIHNjb3BlIGlk
J3Mgd2l0aCAiJWludGVyZmFjZSIgZG9lc24ndApnZXQgYXJvdW5kIHRoZSBpc3N1ZSk6CgpTcHJl
YWRfU2VnbWVudCBbOjoxXTo0ODAzIHsKIGxvY2FsaG9zdCA6OjEgVmlydHVhbElEID0gMSB7CiAg
IEQgOjoxCiB9Cn0KCkluIGFkZGl0aW9uLCB0aGUgZmlyc3QgZGVmaW5pdGlvbiBjYXVzZXMgc3By
ZWFkIHRvIGJpbmQgdG8KMTI3LjAuMC4yNTUgb24gTGludXguICBTcHJlYWQgNC54IHdvdWxkIHNr
aXAgYmluZGluZyB0bwoxMjcuMC4wLjI1NSBhbmQgYmluZCBvbmx5IHRvIDEyNy4wLjAuMS4KClRo
aXMgcG9ydGlvbiBvZiBteSBjb21taXQgbWVzc2FnZSBmb3IgdGhlIHBhdGNoIGV4cGxhaW5zIHRo
ZSBzaXR1YXRpb246CgogICBMb29wYmFjayBvbmx5IGNvbmZpZyBmaWxlcyBzdG9wcGVkIHdvcmtp
bmcgd2l0aCBTcHJlYWQgNS4wLjByYzEuCiAgIFNwcmVhZCA0Lnggd291bGQgbm90IGJpbmQgYSBi
cm9hZGNhc3QgYWRkcmVzcyBpZiBub3QgbmVlZGVkLCBzbyBJCiAgIHBvcnRlZCB0aGF0IGZlYXR1
cmUgYnkgYXZvaWRpbmcgYmluZGluZyB0aGUgYnJvYWRjYXN0IGFkZHJlc3MKICAgd2hlbiBub3Qg
bmVlZGVkLgoKICAgT24gRnJlZUJTRCBnZXRpZmFkZHJzIGZpbGxzIGluIHRoZSBzY29wZSBpZHMg
b2YgdGhlIHJldHVybmVkIGFkZHJlc3Nlcy4KICAgU3ByZWFkIGNoYW5nZXMgdGhvc2Ugc2NvcGUg
aWRzLCBjYXVzaW5nIGF0IGxlYXN0IHRoZSBsb29wYmFjayBhZGRyZXNzCiAgIHRvIG5vdCBiaW5k
LiAgSSBwcmV2ZW50ZWQgdGhlIG92ZXJyaWRlIHdoZW4gX19GcmVlQlNEX18gaXMgZGVmaW5lZC4K
ClRoZXJlJ3MgcHJvYmFibHkgYSBtb3JlIGNvcnJlY3Qgd2F5IHRvIGdldCB0aGUgbG9vcGJhY2sg
Y29uZmlnIGZpbGVzCndvcmtpbmcgZ2l2ZW4gdGhhdCBiY2FzdF9ib3VuZFtdIGlzIHN1cHBvc2Vk
IHRvIHRyYWNrIHdoZXRoZXIgb3Igbm90CnRvIGJpbmQgdGhlIGFkZHJlc3MsIGJ1dCB0aGlzIGlz
IGhvdyBJIGdvdCB0aGUgYmVoYXZpb3IgSSBleHBlY3RlZCBvbgpib3RoIExpbnV4IGFuZCBGcmVl
QlNELgoKZGlmZiAtLWdpdCBhL2RhZW1vbi9pcF9lbnVtLmMgYi9kYWVtb24vaXBfZW51bS5jCmlu
ZGV4IDc2MDIxMGIuLjAzOTdmZTMgMTAwNjQ0Ci0tLSBhL2RhZW1vbi9pcF9lbnVtLmMKKysrIGIv
ZGFlbW9uL2lwX2VudW0uYwpAQCAtMjk1LDggKzI5NSwxNSBAQCBzdGF0aWMgdm9pZCBpcF9lbnVt
X2dldGlmYWRkcnMoaXBfYXJyYXkgKmFycmF5KQogICAgaWYgKHNwdV9hZGRyX2Zyb21fc29ja2Fk
ZHJfa25vd24oJmFkZHIsIGN1cnItPmlmYV9hZGRyKSkKICAgICAgQWxhcm1wKFNQTE9HX0ZBVEFM
LCBDT05GX1NZUywgU1BMT0MgIjogaXBfZW51bV9nZXRpZmFkZHJzOiBCVUchIHNwdV9hZGRyX2Zy
b21fc29ja2FkZHJfa25vd24gZmFpbGVkPyEiKTsKCisgICAgLyogMjAxNi0xMi0yOSBkZnMKKyAg
ICAgKgorICAgICAqIEZyZWVCU0QgZmlsbHMgaW4gdGhlIHByb3BlciBzY29wZSBpZCwgd2hpY2gg
Y2FuIGJlIDAgZm9yIGxvb3BiYWNrLCBzbworICAgICAqIGRvbid0IG92ZXJyaWRlIGl0LgorICAg
ICAqLworI2lmICFkZWZpbmVkKF9fRnJlZUJTRF9fKQogICAgaWYgKGN1cnItPmlmYV9hZGRyLT5z
YV9mYW1pbHkgPT0gQUZfSU5FVDYpCiAgICAgIGFkZHIuaXB2Ni5zaW42X3Njb3BlX2lkID0gaWZf
bmFtZXRvaW5kZXgoY3Vyci0+aWZhX25hbWUpOworI2VuZGlmCgogICAgYWRkX2lwKGFycmF5LCAm
YWRkcik7ICAgICAgICAKICB9CmRpZmYgLS1naXQgYS9kYWVtb24vbmV0d29yay5jIGIvZGFlbW9u
L25ldHdvcmsuYwppbmRleCBjODNkMmM0Li5jZDc5MDkyIDEwMDY0NAotLS0gYS9kYWVtb24vbmV0
d29yay5jCisrKyBiL2RhZW1vbi9uZXR3b3JrLmMKQEAgLTI4Nyw2ICsyODcsNyBAQCB2b2lkICAg
IE5ldF9pbml0KCkKICAgICAqLwoKI2lmbmRlZiBBUkNIX1BDX1dJTjk1CisgICAgaWYoQmNhc3Rf
bmVlZGVkKSB7CiAgICBmb3IgKGkgPSAwOyBpIDwgQmNhc3RfYWRkcnNfbnVtOyArK2kpCiAgICAg
IGlmICghYmNhc3RfYm91bmRbaV0pICAgICAgICAgICAgICAgICAvKiBkaWRuJ3QgYWxyZWFkeSBl
eHBsaWNpdHkgb3IgaW1wbGljaXRseSBiaW5kIHRvIEJjYXN0X2FkZHJzW2ldIGFib3ZlICovCiAg
ICAgIHsKQEAgLTMwNyw2ICszMDgsNyBAQCB2b2lkICAgIE5ldF9pbml0KCkKCiAgICAgICAgKytO
dW1fYmNhc3RfY2hhbm5lbHM7CiAgICAgIH0KKyAgICB9CiNlbmRpZiAgICAKICB9CgpQYXRjaCA1
OgpbQ29ycmVjdGVkIHByaW9yaXR5IGFuZCBmZF90eXBlIHJhbmdlIGNoZWNraW5nIGluIGV2ZW50
cy5jLl0KLS0tLS0tLQoKVGhpcyBwYXRjaCB3aWxsIG5vdCBhcHBseSBjbGVhbmx5IGJlY2F1c2Ug
SSBtYWRlIHRoZSBjaGFuZ2Ugb24gb3VyCmN1c3RvbSBrcXVldWUvZXBvbGwgYnJhbmNoIGFuZCBh
ZmZlY3RzIGxpbmVzIG5vdCBwcmVzZW50IGluIHRoZQpvcmlnaW5hbCBzb3VyY2UuICBJdCBzaG91
bGQsIGhvd2V2ZXIsIGJlIGVhc3kgZW5vdWdoIHRvIGRvIGEgc2VhcmNoCmFuZCByZXBsYWNlIHRv
IG1ha2UgdGhlIGNoYW5nZXMgYXNzdW1pbmcgSSdtIGNvcnJlY3QgYWJvdXQgdGhlCmNoYW5nZXMu
ICBUaGlzIHBvcnRpb24gb2YgbXkgY29tbWl0IG1lc3NhZ2UgZXhwbGFpbnMgdGhlIHBhdGNoOgoK
ICAgQ2hlY2tzIHdlcmUgYmVpbmcgcGVyZm9ybWVkIGZvciA+IE5VTV9QUklPUklUWSBpbnN0ZWFk
IG9mID49IE5VTV9QUklPUklUWS4KCiAgIENvcnJlY3RlZCByZXR1cm4gdmFsdWUgY2hlY2sgaW4g
c3AuYyB0aGF0IHRyZWF0ZWQgYSB6ZXJvLWJ5dGUgc2VuZCBhcyBhbgogICBlcnJvci4gIE9ubHkg
YSBuZWdhdGl2ZSByZXR1cm4gdmFsdWUgc2hvdWxkIGhhdmUgYmVlbiB0cmVhdGVkIGFzIGFuIGVy
cm9yLgoKZGlmZiAtLWdpdCBhL2xpYnNwcmVhZC11dGlsL3NyYy9ldmVudHMuYyBiL2xpYnNwcmVh
ZC11dGlsL3NyYy9ldmVudHMuYwppbmRleCAxZGVmYmQ3Li45OGJjZjBhIDEwMDY0NAotLS0gYS9s
aWJzcHJlYWQtdXRpbC9zcmMvZXZlbnRzLmMKKysrIGIvbGlic3ByZWFkLXV0aWwvc3JjL2V2ZW50
cy5jCkBAIC04MTIsMTIgKzgxMiwxMiBAQCBpbnQgRV9hdHRhY2hfZmQoaW50IGZkLCBpbnQgZmRf
dHlwZSwKICAgIHJldHVybiAtMTsKICB9CgotICBpZiggcHJpb3JpdHkgPCAwIHx8IHByaW9yaXR5
ID4gTlVNX1BSSU9SSVRZICkKKyAgaWYoIHByaW9yaXR5IDwgMCB8fCBwcmlvcml0eSA+PSBOVU1f
UFJJT1JJVFkgKQogIHsKICAgIEFsYXJtcCggU1BMT0dfUFJJTlQsIEVWRU5UUywgIkVfYXR0YWNo
X2ZkOiBpbnZhbGlkIHByaW9yaXR5ICVkIGZvciBmZCAlZCB3aXRoIGZkX3R5cGUgJWRcbiIsIHBy
aW9yaXR5LCBmZCwgZmRfdHlwZSApOwogICAgcmV0dXJuKCAtMSApOwogIH0KLSAgaWYoIGZkX3R5
cGUgPCAwIHx8IGZkX3R5cGUgPiBOVU1fRkRUWVBFUyApCisgIGlmKCBmZF90eXBlIDwgMCB8fCBm
ZF90eXBlID49IE5VTV9GRFRZUEVTICkKICB7CiAgICBBbGFybXAoIFNQTE9HX1BSSU5ULCBFVkVO
VFMsICJFX2F0dGFjaF9mZDogaW52YWxpZCBmZF90eXBlICVkIGZvciBmZCAlZCB3aXRoIHByaW9y
aXR5ICVkXG4iLCBmZF90eXBlLCBmZCwgcHJpb3JpdHkgKTsKICAgIHJldHVybiggLTEgKTsKQEAg
LTg4Miw3ICs4ODIsNyBAQCBpbnQgCUVfZGV0YWNoX2ZkX3ByaW9yaXR5KCBpbnQgZmQsIGludCBm
ZF90eXBlLCBpbnQgcHJpb3JpdHkgKQogICAgICAgICAgcmV0dXJuIGZvdW5kOwogICAgICAgIH0K
Ci0JaWYoIGZkX3R5cGUgPCAwIHx8IGZkX3R5cGUgPiBOVU1fRkRUWVBFUyApCisJaWYoIGZkX3R5
cGUgPCAwIHx8IGZkX3R5cGUgPj0gTlVNX0ZEVFlQRVMgKQoJewoJCUFsYXJtcCggU1BMT0dfUFJJ
TlQsIEVWRU5UUywgIkVfZGV0YWNoX2ZkOiBpbnZhbGlkIGZkX3R5cGUgJWQgZm9yIGZkICVkXG4i
LCBmZF90eXBlLCBmZCApOwoJCXJldHVybiBmb3VuZDsKQEAgLTkxNSw3ICs5MTUsNyBAQCBpbnQg
ICAgIEVfZGVhY3RpdmF0ZV9mZCggaW50IGZkLCBpbnQgZmRfdHlwZSApCiAgICAgICAgICByZXR1
cm4gZm91bmQ7CiAgICAgICAgfQoKLQlpZiggZmRfdHlwZSA8IDAgfHwgZmRfdHlwZSA+IE5VTV9G
RFRZUEVTICkKKwlpZiggZmRfdHlwZSA8IDAgfHwgZmRfdHlwZSA+PSBOVU1fRkRUWVBFUyApCgl7
CgkJQWxhcm1wKCBTUExPR19QUklOVCwgRVZFTlRTLCAiRV9kZWFjdGl2YXRlX2ZkOiBpbnZhbGlk
IGZkX3R5cGUgJWQgZm9yIGZkICVkXG4iLCBmZF90eXBlLCBmZCApOwoJCXJldHVybiBmb3VuZDsK
QEAgLTk0OCw3ICs5NDgsNyBAQCBpbnQgICAgIEVfYWN0aXZhdGVfZmQoIGludCBmZCwgaW50IGZk
X3R5cGUgKQogICAgICAgICAgcmV0dXJuIGZvdW5kOwogICAgICAgIH0KCi0JaWYoIGZkX3R5cGUg
PCAwIHx8IGZkX3R5cGUgPiBOVU1fRkRUWVBFUyApCisJaWYoIGZkX3R5cGUgPCAwIHx8IGZkX3R5
cGUgPj0gTlVNX0ZEVFlQRVMgKQoJewoJCUFsYXJtcCggU1BMT0dfUFJJTlQsIEVWRU5UUywgIkVf
YWN0aXZhdGVfZmQ6IGludmFsaWQgZmRfdHlwZSAlZCBmb3IgZmQgJWRcbiIsIGZkX3R5cGUsIGZk
ICk7CgkJcmV0dXJuIGZvdW5kOwpAQCAtOTg2LDcgKzk4Niw3IEBAIGludCAJRV9zZXRfYWN0aXZl
X3RocmVzaG9sZCggaW50IHByaW9yaXR5ICkKewoJaW50CWk7CgotCWlmKCBwcmlvcml0eSA8IDAg
fHwgcHJpb3JpdHkgPiBOVU1fUFJJT1JJVFkgKQorCWlmKCBwcmlvcml0eSA8IDAgfHwgcHJpb3Jp
dHkgPj0gTlVNX1BSSU9SSVRZICkKCXsKCQlBbGFybXAoIFNQTE9HX1BSSU5ULCBFVkVOVFMsICJF
X3NldF9hY3RpdmVfdGhyZXNob2xkOiBpbnZhbGlkIHByaW9yaXR5ICVkXG4iLCBwcmlvcml0eSAp
OwoJCXJldHVybiggLTEgKTsKQEAgLTEwNzUsMTIgKzEwNzUsMTIgQEAgaW50CUVfYXR0YWNoX2Zk
KCBpbnQgZmQsIGludCBmZF90eXBlLAoJaW50CW51bV9mZHM7CglpbnQJajsKCi0JaWYoIHByaW9y
aXR5IDwgMCB8fCBwcmlvcml0eSA+IE5VTV9QUklPUklUWSApCisJaWYoIHByaW9yaXR5IDwgMCB8
fCBwcmlvcml0eSA+PSBOVU1fUFJJT1JJVFkgKQoJewoJCUFsYXJtcCggU1BMT0dfUFJJTlQsIEVW
RU5UUywgIkVfYXR0YWNoX2ZkOiBpbnZhbGlkIHByaW9yaXR5ICVkIGZvciBmZCAlZCB3aXRoIGZk
X3R5cGUgJWRcbiIsIHByaW9yaXR5LCBmZCwgZmRfdHlwZSApOwoJCXJldHVybiggLTEgKTsKCX0K
LQlpZiggZmRfdHlwZSA8IDAgfHwgZmRfdHlwZSA+IE5VTV9GRFRZUEVTICkKKwlpZiggZmRfdHlw
ZSA8IDAgfHwgZmRfdHlwZSA+PSBOVU1fRkRUWVBFUyApCgl7CgkJQWxhcm1wKCBTUExPR19QUklO
VCwgRVZFTlRTLCAiRV9hdHRhY2hfZmQ6IGludmFsaWQgZmRfdHlwZSAlZCBmb3IgZmQgJWQgd2l0
aCBwcmlvcml0eSAlZFxuIiwgZmRfdHlwZSwgZmQsIHByaW9yaXR5ICk7CgkJcmV0dXJuKCAtMSAp
OwpAQCAtMTA4OSw3ICsxMDg5LDcgQEAgaW50CUVfYXR0YWNoX2ZkKCBpbnQgZmQsIGludCBmZF90
eXBlLAoJLyogV2luZG93cyBidWc6IFJlcG9ydHMgRkRfU0VUU0laRSBvZiA2NCBidXQgc2VsZWN0
IHdvcmtzIG9uIGFsbAoJICogZmQncyBldmVuIG9uZXMgd2l0aCBudW1iZXJzIGdyZWF0ZXIgdGhl
biA2NC4KCSAqLwotICAgICAgICBpZiggZmQgPCAwIHx8IGZkID4gRkRfU0VUU0laRSApCisgICAg
ICAgIGlmKCBmZCA8IDAgfHwgZmQgPj0gRkRfU0VUU0laRSApCiAgICAgICAgewogICAgICAgICAg
ICAgICAgQWxhcm1wKCBTUExPR19QUklOVCwgRVZFTlRTLCAiRV9hdHRhY2hfZmQ6IGludmFsaWQg
ZmQgJWQgKG1heCAlZCkgd2l0aCBmZF90eXBlICVkIHdpdGggcHJpb3JpdHkgJWRcbiIsIGZkLCBG
RF9TRVRTSVpFLCBmZF90eXBlLCBwcmlvcml0eSApOwogICAgICAgICAgICAgICAgcmV0dXJuKCAt
MSApOwpAQCAtMTE0MSw3ICsxMTQxLDcgQEAgaW50IAlFX2RldGFjaF9mZF9wcmlvcml0eSggaW50
IGZkLCBpbnQgZmRfdHlwZSwgaW50IHByaW9yaXR5ICkKCWludAlpOwoJaW50CWZvdW5kOwoKLQlp
ZiggZmRfdHlwZSA8IDAgfHwgZmRfdHlwZSA+IE5VTV9GRFRZUEVTICkKKwlpZiggZmRfdHlwZSA8
IDAgfHwgZmRfdHlwZSA+PSBOVU1fRkRUWVBFUyApCgl7CgkJQWxhcm1wKCBTUExPR19QUklOVCwg
RVZFTlRTLCAiRV9kZXRhY2hfZmQ6IGludmFsaWQgZmRfdHlwZSAlZCBmb3IgZmQgJWRcbiIsIGZk
X3R5cGUsIGZkICk7CgkJcmV0dXJuKCAtMSApOwpAQCAtMTE3Myw3ICsxMTczLDcgQEAgaW50ICAg
ICBFX2RlYWN0aXZhdGVfZmQoIGludCBmZCwgaW50IGZkX3R5cGUgKQoJaW50CWksajsKCWludAlm
b3VuZDsKCi0JaWYoIGZkX3R5cGUgPCAwIHx8IGZkX3R5cGUgPiBOVU1fRkRUWVBFUyApCisJaWYo
IGZkX3R5cGUgPCAwIHx8IGZkX3R5cGUgPj0gTlVNX0ZEVFlQRVMgKQoJewoJCUFsYXJtcCggU1BM
T0dfUFJJTlQsIEVWRU5UUywgIkVfZGVhY3RpdmF0ZV9mZDogaW52YWxpZCBmZF90eXBlICVkIGZv
ciBmZCAlZFxuIiwgZmRfdHlwZSwgZmQgKTsKCQlyZXR1cm4oIC0xICk7CkBAIC0xMjA1LDcgKzEy
MDUsNyBAQCBpbnQgICAgIEVfYWN0aXZhdGVfZmQoIGludCBmZCwgaW50IGZkX3R5cGUgKQoJaW50
CWksajsKCWludAlmb3VuZDsKCi0JaWYoIGZkX3R5cGUgPCAwIHx8IGZkX3R5cGUgPiBOVU1fRkRU
WVBFUyApCisJaWYoIGZkX3R5cGUgPCAwIHx8IGZkX3R5cGUgPj0gTlVNX0ZEVFlQRVMgKQoJewoJ
CUFsYXJtcCggU1BMT0dfUFJJTlQsIEVWRU5UUywgIkVfYWN0aXZhdGVfZmQ6IGludmFsaWQgZmRf
dHlwZSAlZCBmb3IgZmQgJWRcbiIsIGZkX3R5cGUsIGZkICk7CgkJcmV0dXJuKCAtMSApOwpAQCAt
MTIzNyw3ICsxMjM3LDcgQEAgaW50IAlFX3NldF9hY3RpdmVfdGhyZXNob2xkKCBpbnQgcHJpb3Jp
dHkgKQoJaW50CWZkX3R5cGU7CglpbnQJaSxqOwoKLQlpZiggcHJpb3JpdHkgPCAwIHx8IHByaW9y
aXR5ID4gTlVNX1BSSU9SSVRZICkKKwlpZiggcHJpb3JpdHkgPCAwIHx8IHByaW9yaXR5ID49IE5V
TV9QUklPUklUWSApCgl7CgkJQWxhcm1wKCBTUExPR19QUklOVCwgRVZFTlRTLCAiRV9zZXRfYWN0
aXZlX3RocmVzaG9sZDogaW52YWxpZCBwcmlvcml0eSAlZFxuIiwgcHJpb3JpdHkgKTsKCQlyZXR1
cm4oIC0xICk7CkBAIC0xMjgxLDcgKzEyODEsNyBAQCBpbnQgCUVfZGV0YWNoX2ZkKCBpbnQgZmQs
IGludCBmZF90eXBlICkKICAgICAgICB9CiNlbmRpZgoKLQlpZiggZmRfdHlwZSA8IDAgfHwgZmRf
dHlwZSA+IE5VTV9GRFRZUEVTICkKKwlpZiggZmRfdHlwZSA8IDAgfHwgZmRfdHlwZSA+PSBOVU1f
RkRUWVBFUyApCgl7CgkJQWxhcm1wKCBTUExPR19QUklOVCwgRVZFTlRTLCAiRV9kZXRhY2hfZmQ6
IGludmFsaWQgZmRfdHlwZSAlZCBmb3IgZmQgJWRcbiIsIGZkX3R5cGUsIGZkICk7CgkJcmV0dXJu
IGZvdW5kOwpAQCAtMTMwMCw3ICsxMzAwLDcgQEAgaW50IAlFX2RldGFjaF9mZCggaW50IGZkLCBp
bnQgZmRfdHlwZSApCgppbnQJRV9udW1fYWN0aXZlKCBpbnQgcHJpb3JpdHkgKQp7Ci0JaWYoIHBy
aW9yaXR5IDwgMCB8fCBwcmlvcml0eSA+IE5VTV9QUklPUklUWSApCisJaWYoIHByaW9yaXR5IDwg
MCB8fCBwcmlvcml0eSA+PSBOVU1fUFJJT1JJVFkgKQoJewoJCUFsYXJtcCggU1BMT0dfUFJJTlQs
IEVWRU5UUywgIkVfbnVtX2FjdGl2ZTogaW52YWxpZCBwcmlvcml0eSAlZFxuIiwgcHJpb3JpdHkg
KTsKCQlyZXR1cm4oIC0xICk7CmRpZmYgLS1naXQgYS9saWJzcHJlYWQvc3AuYyBiL2xpYnNwcmVh
ZC9zcC5jCmluZGV4IDFkZjRmNGUuLmFhMTliNzYgMTAwNjQ0Ci0tLSBhL2xpYnNwcmVhZC9zcC5j
CisrKyBiL2xpYnNwcmVhZC9zcC5jCkBAIC0xMjM4LDcgKzEyMzgsNyBAQCBzdGF0aWMJaW50CVNQ
X2ludGVybmFsX211bHRpY2FzdCggbWFpbGJveCBtYm94LCBzZXJ2aWNlIHNlcnZpY2VfdHlwZSwK
ICAgICAgICAgICAgd2hpbGUoKChyZXQ9c2VuZCggbWJveCwgJmhlYWRfYnVmW2J1Zl9sZW5dLCBz
aXplb2YobWVzc2FnZV9oZWFkZXIpK01BWF9HUk9VUF9OQU1FKm51bV9ncm91cHMgLSBidWZfbGVu
LCAwICkpID09IC0xKSAKICAgICAgICAgICAgICAgICAgJiYgKChzb2NrX2Vycm5vID09IEVJTlRS
KSB8fCAoc29ja19lcnJubyA9PSBFQUdBSU4pIHx8IChzb2NrX2Vycm5vID09IEVXT1VMREJMT0NL
KSkgKQogICAgICAgICAgICAgICAgOwotICAgICAgICAgICAgaWYoIHJldCA8PTAgKQorICAgICAg
ICAgICAgaWYoIHJldCA8IDAgKQogICAgICAgICAgICB7CgkJQWxhcm0oIFNFU1NJT04sICJTUF9p
bnRlcm5hbF9tdWx0aWNhc3Q6IGVycm9yICVkIHNlbmRpbmcgaGVhZGVyIGFuZCBncm91cHMgb24g
bWFpbGJveCAlZDogJXMgXG4iLCByZXQsIG1ib3gsIHNvY2tfc3RyZXJyb3Ioc29ja19lcnJubykp
OwogICAgICAgICAgICAgICAgTXV0ZXhfbG9jayggJlN0cnVjdF9tdXRleCApOwoKCgpfX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpTcHJlYWQtdXNlcnMgbWFp
bGluZyBsaXN0ClNwcmVhZC11c2Vyc0BsaXN0cy5zcHJlYWQub3JnCmh0dHA6Ly9saXN0cy5zcHJl
YWQub3JnL21haWxtYW4vbGlzdGluZm8vc3ByZWFkLXVzZXJzCgoKX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KU3ByZWFkLXVzZXJzIG1haWxpbmcgbGlzdApT
cHJlYWQtdXNlcnNAbGlzdHMuc3ByZWFkLm9yZwpodHRwOi8vbGlzdHMuc3ByZWFkLm9yZy9tYWls
bWFuL2xpc3RpbmZvL3NwcmVhZC11c2Vycwo=