Re: [patch 12/18] ptrace, treewide: Rename ptrace_report_syscall_entry() to ptrace_report_syscall_permit_entry()

Radu Rendec <[email protected]> Thu, 09 Jul 2026 13:03:28 -0400
Newsgroups gmane.linux.ports.riscv,gmane.linux.kernel,gmane.linux.ports.alpha,gmane.linux.kernel.arc,gmane.linux.ports.arm.kernel,gmane.linux.ports.hexagon,gmane.linux.ports.mips,gmane.linux.ports.parisc,gmane.linux.ports.sh.devel,gmane.linux.ports.sparc,gmane.linux.uml.devel,gmane.linux.kernel.cross-arch,gmane.linux.ports.ppc64.devel,gmane.linux.documentation
Message-ID <[email protected]>
T24gVHVlLCAyMDI2LTA3LTA3IGF0IDIxOjA2ICswMjAwLCBUaG9tYXMgR2xlaXhuZXIgd3JvdGU6
Cj4gVGhlIHJldHVybiB2YWx1ZSBvZiB0aGF0IGZ1bmN0aW9uIGlzIGJvb2xlYW4gYW5kIHRlbGxz
IHRoZSBjYWxsZXIgd2hldGhlcgo+IHRvIHBlcm1pdCB0aGUgc3lzY2FsbCBwcm9jZXNzaW5nIG9y
IG5vdC4KPiAKPiBSZW5hbWUgdGhlIGZ1bmN0aW9uIHNvIHRoZSBwdXJwb3NlIGlzIGNsZWFyIGFu
ZCBtYWtlIHRoZSByZXR1cm4gdHlwZSBib29sLgo+IAo+IFNpZ25lZC1vZmYtYnk6IFRob21hcyBH
bGVpeG5lciA8dGdseEBrZXJuZWwub3JnPgo+IENjOiBBcm5kIEJlcmdtYW5uIDxhcm5kQGFybmRi
LmRlPgo+IENjOiBPbGVnIE5lc3Rlcm92IDxvbGVnQHJlZGhhdC5jb20+Cj4gQ2M6IFJpY2hhcmQg
SGVuZGVyc29uIDxyaWNoYXJkLmhlbmRlcnNvbkBsaW5hcm8ub3JnPgo+IENjOiBWaW5lZXQgR3Vw
dGEgPHZndXB0YUBrZXJuZWwub3JnPgo+IENjOiBSdXNzZWxsIEtpbmcgPGxpbnV4QGFybWxpbnV4
Lm9yZy51az4KPiBDYzogQ2F0YWxpbiBNYXJpbmFzIDxjYXRhbGluLm1hcmluYXNAYXJtLmNvbT4K
PiBDYzogV2lsbCBEZWFjb24gPHdpbGxAa2VybmVsLm9yZz4KPiBDYzogR3VvIFJlbiA8Z3VvcmVu
QGtlcm5lbC5vcmc+Cj4gQ2M6IEJyaWFuIENhaW4gPGJjYWluQGtlcm5lbC5vcmc+Cj4gQ2M6IEdl
ZXJ0IFV5dHRlcmhvZXZlbiA8Z2VlcnRAbGludXgtbTY4ay5vcmc+Cj4gQ2M6IE1pY2hhbCBTaW1l
ayA8bW9uc3RyQG1vbnN0ci5ldT4KPiBDYzogVGhvbWFzIEJvZ2VuZG9lcmZlciA8dHNib2dlbmRA
YWxwaGEuZnJhbmtlbi5kZT4KPiBDYzogRGluaCBOZ3V5ZW4gPGRpbmd1eWVuQGtlcm5lbC5vcmc+
Cj4gQ2M6IEhlbGdlIERlbGxlciA8ZGVsbGVyQGdteC5kZT4KPiBDYzogWW9zaGlub3JpIFNhdG8g
PHlzYXRvQHVzZXJzLnNvdXJjZWZvcmdlLmpwPgo+IENjOiAiRGF2aWQgUy4gTWlsbGVyIiA8ZGF2
ZW1AZGF2ZW1sb2Z0Lm5ldD4KPiBDYzogQW5kcmVhcyBMYXJzc29uIDxhbmRyZWFzQGdhaXNsZXIu
Y29tPgo+IENjOiBDaHJpcyBaYW5rZWwgPGNocmlzQHphbmtlbC5uZXQ+Cj4gQ2M6IGxpbnV4LWFs
cGhhQHZnZXIua2VybmVsLm9yZwo+IENjOiBsaW51eC1zbnBzLWFyY0BsaXN0cy5pbmZyYWRlYWQu
b3JnCj4gQ2M6IGxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwo+IENjOiBsaW51
eC1jc2t5QHZnZXIua2VybmVsLm9yZwo+IENjOiBsaW51eC1oZXhhZ29uQHZnZXIua2VybmVsLm9y
Zwo+IENjOiBsaW51eC1tNjhrQGxpc3RzLmxpbnV4LW02OGsub3JnCj4gQ2M6IGxpbnV4LW1pcHNA
dmdlci5rZXJuZWwub3JnCj4gQ2M6IGxpbnV4LW9wZW5yaXNjQHZnZXIua2VybmVsLm9yZwo+IENj
OiBsaW51eC1wYXJpc2NAdmdlci5rZXJuZWwub3JnCj4gQ2M6IGxpbnV4LXNoQHZnZXIua2VybmVs
Lm9yZwo+IENjOiBzcGFyY2xpbnV4QHZnZXIua2VybmVsLm9yZwo+IENjOiBsaW51eC11bUBsaXN0
cy5pbmZyYWRlYWQub3JnCj4gQ2M6IGxpbnV4LWFyY2hAdmdlci5rZXJuZWwub3JnCj4gLS0tCj4g
wqBhcmNoL2FscGhhL2tlcm5lbC9wdHJhY2UuY8KgwqDCoMKgwqAgfMKgwqDCoCAyICstCj4gwqBh
cmNoL2FyYy9rZXJuZWwvcHRyYWNlLmPCoMKgwqDCoMKgwqDCoCB8wqDCoMKgIDIgKy0KPiDCoGFy
Y2gvYXJtL2tlcm5lbC9wdHJhY2UuY8KgwqDCoMKgwqDCoMKgIHzCoMKgwqAgMiArLQo+IMKgYXJj
aC9hcm02NC9rZXJuZWwvcHRyYWNlLmPCoMKgwqDCoMKgIHzCoMKgwqAgMiArLQo+IMKgYXJjaC9j
c2t5L2tlcm5lbC9wdHJhY2UuY8KgwqDCoMKgwqDCoCB8wqDCoMKgIDIgKy0KPiDCoGFyY2gvaGV4
YWdvbi9rZXJuZWwvdHJhcHMuY8KgwqDCoMKgIHzCoMKgwqAgMiArLQo+IMKgYXJjaC9tNjhrL2tl
cm5lbC9wdHJhY2UuY8KgwqDCoMKgwqDCoCB8wqDCoMKgIDIgKy0KPiDCoGFyY2gvbWljcm9ibGF6
ZS9rZXJuZWwvcHRyYWNlLmMgfMKgwqDCoCAyICstCj4gwqBhcmNoL21pcHMva2VybmVsL3B0cmFj
ZS5jwqDCoMKgwqDCoMKgIHzCoMKgwqAgMiArLQo+IMKgYXJjaC9uaW9zMi9rZXJuZWwvcHRyYWNl
LmPCoMKgwqDCoMKgIHzCoMKgwqAgMiArLQo+IMKgYXJjaC9vcGVucmlzYy9rZXJuZWwvcHRyYWNl
LmPCoMKgIHzCoMKgwqAgMiArLQo+IMKgYXJjaC9wYXJpc2Mva2VybmVsL3B0cmFjZS5jwqDCoMKg
wqAgfMKgwqAgMTAgKysrKy0tLS0tLQo+IMKgYXJjaC9zaC9rZXJuZWwvcHRyYWNlXzMyLmPCoMKg
wqDCoMKgIHzCoMKgwqAgMiArLQo+IMKgYXJjaC9zcGFyYy9rZXJuZWwvcHRyYWNlXzMyLmPCoMKg
IHzCoMKgwqAgMiArLQo+IMKgYXJjaC9zcGFyYy9rZXJuZWwvcHRyYWNlXzY0LmPCoMKgIHzCoMKg
wqAgMiArLQo+IMKgYXJjaC91bS9rZXJuZWwvcHRyYWNlLmPCoMKgwqDCoMKgwqDCoMKgIHzCoMKg
wqAgMiArLQo+IMKgYXJjaC94dGVuc2Eva2VybmVsL3B0cmFjZS5jwqDCoMKgwqAgfMKgwqDCoCAy
ICstCj4gwqBpbmNsdWRlL2FzbS1nZW5lcmljL3N5c2NhbGwuaMKgwqAgfMKgwqDCoCA0ICsrLS0K
PiDCoGluY2x1ZGUvbGludXgvZW50cnktY29tbW9uLmjCoMKgwqAgfMKgwqAgMjUgKysrKysrKysr
KysrLS0tLS0tLS0tLS0tLQo+IMKgaW5jbHVkZS9saW51eC9wdHJhY2UuaMKgwqDCoMKgwqDCoMKg
wqDCoCB8wqDCoCAxMyArKysrKystLS0tLS0tCj4gwqAyMCBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNl
cnRpb25zKCspLCA0NCBkZWxldGlvbnMoLSkKPiAKPiAtLS0gYS9hcmNoL2FscGhhL2tlcm5lbC9w
dHJhY2UuYwo+ICsrKyBiL2FyY2gvYWxwaGEva2VybmVsL3B0cmFjZS5jCj4gQEAgLTM3NSw3ICsz
NzUsNyBAQCBhc21saW5rYWdlIHVuc2lnbmVkIGxvbmcgc3lzY2FsbF90cmFjZV9lCj4gwqAJc3Ry
dWN0IHB0X3JlZ3MgKnJlZ3MgPSBjdXJyZW50X3B0X3JlZ3MoKTsKPiDCoAo+IMKgCWlmICh0ZXN0
X3RocmVhZF9mbGFnKFRJRl9TWVNDQUxMX1RSQUNFKSAmJgo+IC0JCXB0cmFjZV9yZXBvcnRfc3lz
Y2FsbF9lbnRyeShyZWdzKSkgewo+ICsJCSFwdHJhY2VfcmVwb3J0X3N5c2NhbGxfcGVybWl0X2Vu
dHJ5KHJlZ3MpKSB7Cj4gwqAJCXN5c2NhbGxfc2V0X25yKGN1cnJlbnQsIHJlZ3MsIC0xKTsKPiDC
oAkJaWYgKHJlZ3MtPnIxOSA9PSAwICYmIHJlZ3MtPnIwID09ICh1bnNpZ25lZCBsb25nKS0xKQo+
IMKgCQkJc3lzY2FsbF9zZXRfcmV0dXJuX3ZhbHVlKGN1cnJlbnQsIHJlZ3MsIC1FTk9TWVMsIDAp
Owo+IC0tLSBhL2FyY2gvYXJjL2tlcm5lbC9wdHJhY2UuYwo+ICsrKyBiL2FyY2gvYXJjL2tlcm5l
bC9wdHJhY2UuYwo+IEBAIC0zNDIsNyArMzQyLDcgQEAgbG9uZyBhcmNoX3B0cmFjZShzdHJ1Y3Qg
dGFza19zdHJ1Y3QgKmNoaQo+IMKgYXNtbGlua2FnZSBpbnQgc3lzY2FsbF90cmFjZV9lbnRlcihz
dHJ1Y3QgcHRfcmVncyAqcmVncykKPiDCoHsKPiDCoAlpZiAodGVzdF90aHJlYWRfZmxhZyhUSUZf
U1lTQ0FMTF9UUkFDRSkpCj4gLQkJaWYgKHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRyeShyZWdz
KSkKPiArCQlpZiAoIXB0cmFjZV9yZXBvcnRfc3lzY2FsbF9wZXJtaXRfZW50cnkocmVncykpCj4g
wqAJCQlyZXR1cm4gVUxPTkdfTUFYOwo+IMKgCj4gwqAjaWZkZWYgQ09ORklHX0hBVkVfU1lTQ0FM
TF9UUkFDRVBPSU5UUwo+IC0tLSBhL2FyY2gvYXJtL2tlcm5lbC9wdHJhY2UuYwo+ICsrKyBiL2Fy
Y2gvYXJtL2tlcm5lbC9wdHJhY2UuYwo+IEBAIC04NDAsNyArODQwLDcgQEAgc3RhdGljIHZvaWQg
cmVwb3J0X3N5c2NhbGwoc3RydWN0IHB0X3JlZwo+IMKgCj4gwqAJaWYgKGRpciA9PSBQVFJBQ0Vf
U1lTQ0FMTF9FWElUKQo+IMKgCQlwdHJhY2VfcmVwb3J0X3N5c2NhbGxfZXhpdChyZWdzLCAwKTsK
PiAtCWVsc2UgaWYgKHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRyeShyZWdzKSkKPiArCWVsc2Ug
aWYgKCFwdHJhY2VfcmVwb3J0X3N5c2NhbGxfcGVybWl0X2VudHJ5KHJlZ3MpKQo+IMKgCQljdXJy
ZW50X3RocmVhZF9pbmZvKCktPmFiaV9zeXNjYWxsID0gLTE7Cj4gwqAKPiDCoAlyZWdzLT5BUk1f
aXAgPSBpcDsKPiAtLS0gYS9hcmNoL2FybTY0L2tlcm5lbC9wdHJhY2UuYwo+ICsrKyBiL2FyY2gv
YXJtNjQva2VybmVsL3B0cmFjZS5jCj4gQEAgLTIzNzksNyArMjM3OSw3IEBAIHN0YXRpYyBpbnQg
cmVwb3J0X3N5c2NhbGxfZW50cnkoc3RydWN0IHAKPiDCoAlpbnQgcmVnbm8sIHJldDsKPiDCoAo+
IMKgCXNhdmVkX3JlZyA9IHB0cmFjZV9zYXZlX3JlZyhyZWdzLCBQVFJBQ0VfU1lTQ0FMTF9FTlRF
UiwgJnJlZ25vKTsKPiAtCXJldCA9IHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRyeShyZWdzKTsK
PiArCXJldCA9ICFwdHJhY2VfcmVwb3J0X3N5c2NhbGxfcGVybWl0X2VudHJ5KHJlZ3MpOwo+IMKg
CWlmIChyZXQpCj4gwqAJCWZvcmdldF9zeXNjYWxsKHJlZ3MpOwo+IMKgCXJlZ3MtPnJlZ3NbcmVn
bm9dID0gc2F2ZWRfcmVnOwo+IC0tLSBhL2FyY2gvY3NreS9rZXJuZWwvcHRyYWNlLmMKPiArKysg
Yi9hcmNoL2Nza3kva2VybmVsL3B0cmFjZS5jCj4gQEAgLTMyMCw3ICszMjAsNyBAQCBsb25nIGFy
Y2hfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnVjdCAqY2hpCj4gwqBhc21saW5rYWdlIGludCBzeXNj
YWxsX3RyYWNlX2VudGVyKHN0cnVjdCBwdF9yZWdzICpyZWdzKQo+IMKgewo+IMKgCWlmICh0ZXN0
X3RocmVhZF9mbGFnKFRJRl9TWVNDQUxMX1RSQUNFKSkKPiAtCQlpZiAocHRyYWNlX3JlcG9ydF9z
eXNjYWxsX2VudHJ5KHJlZ3MpKQo+ICsJCWlmICghcHRyYWNlX3JlcG9ydF9zeXNjYWxsX3Blcm1p
dF9lbnRyeShyZWdzKSkKPiDCoAkJCXJldHVybiAtMTsKPiDCoAo+IMKgCWlmICghc2VjY29tcF9w
ZXJtaXRfc3lzY2FsbCgpKQo+IC0tLSBhL2FyY2gvaGV4YWdvbi9rZXJuZWwvdHJhcHMuYwo+ICsr
KyBiL2FyY2gvaGV4YWdvbi9rZXJuZWwvdHJhcHMuYwo+IEBAIC0zNDUsNyArMzQ1LDcgQEAgdm9p
ZCBkb190cmFwMChzdHJ1Y3QgcHRfcmVncyAqcmVncykKPiDCoAo+IMKgCQkvKiBhbGxvdyBzdHJh
Y2UgdG8gY2F0Y2ggc3lzY2FsbCBhcmdzwqAgKi8KPiDCoAkJaWYgKHVubGlrZWx5KHRlc3RfdGhy
ZWFkX2ZsYWcoVElGX1NZU0NBTExfVFJBQ0UpICYmCj4gLQkJCXB0cmFjZV9yZXBvcnRfc3lzY2Fs
bF9lbnRyeShyZWdzKSkpCj4gKwkJCSFwdHJhY2VfcmVwb3J0X3N5c2NhbGxfcGVybWl0X2VudHJ5
KHJlZ3MpKSkKPiDCoAkJCXJldHVybjvCoCAvKsKgIHJldHVybiAtRU5PU1lTIHNvbWV3aGVyZT/C
oCAqLwo+IMKgCj4gwqAJCS8qIEludGVycnVwdHMgc2hvdWxkIGJlIHJlLWVuYWJsZWQgZm9yIHN5
c2NhbGwgcHJvY2Vzc2luZyAqLwo+IC0tLSBhL2FyY2gvbTY4ay9rZXJuZWwvcHRyYWNlLmMKPiAr
KysgYi9hcmNoL202OGsva2VybmVsL3B0cmFjZS5jCj4gQEAgLTI3OSw3ICsyNzksNyBAQCBhc21s
aW5rYWdlIGludCBzeXNjYWxsX3RyYWNlX2VudGVyKHZvaWQpCj4gwqAJaW50IHJldCA9IDA7Cj4g
wqAKPiDCoAlpZiAodGVzdF90aHJlYWRfZmxhZyhUSUZfU1lTQ0FMTF9UUkFDRSkpCj4gLQkJcmV0
ID0gcHRyYWNlX3JlcG9ydF9zeXNjYWxsX2VudHJ5KHRhc2tfcHRfcmVncyhjdXJyZW50KSk7Cj4g
KwkJcmV0ID0gIXB0cmFjZV9yZXBvcnRfc3lzY2FsbF9wZXJtaXRfZW50cnkodGFza19wdF9yZWdz
KGN1cnJlbnQpKTsKPiDCoAo+IMKgCWlmICghc2VjY29tcF9wZXJtaXRfc3lzY2FsbCgpKQo+IMKg
CQlyZXR1cm4gLTE7Cj4gLS0tIGEvYXJjaC9taWNyb2JsYXplL2tlcm5lbC9wdHJhY2UuYwo+ICsr
KyBiL2FyY2gvbWljcm9ibGF6ZS9rZXJuZWwvcHRyYWNlLmMKPiBAQCAtMTM5LDcgKzEzOSw3IEBA
IGFzbWxpbmthZ2UgdW5zaWduZWQgbG9uZyBkb19zeXNjYWxsX3RyYWMKPiDCoAlzZWN1cmVfY29t
cHV0aW5nX3N0cmljdChyZWdzLT5yMTIpOwo+IMKgCj4gwqAJaWYgKHRlc3RfdGhyZWFkX2ZsYWco
VElGX1NZU0NBTExfVFJBQ0UpICYmCj4gLQnCoMKgwqAgcHRyYWNlX3JlcG9ydF9zeXNjYWxsX2Vu
dHJ5KHJlZ3MpKQo+ICsJwqDCoMKgICFwdHJhY2VfcmVwb3J0X3N5c2NhbGxfcGVybWl0X2VudHJ5
KHJlZ3MpKQo+IMKgCQkvKgo+IMKgCQkgKiBUcmFjaW5nIGRlY2lkZWQgdGhpcyBzeXNjYWxsIHNo
b3VsZCBub3QgaGFwcGVuLgo+IMKgCQkgKiBXZSdsbCByZXR1cm4gYSBib2d1cyBjYWxsIG51bWJl
ciB0byBnZXQgYW4gRU5PU1lTCj4gLS0tIGEvYXJjaC9taXBzL2tlcm5lbC9wdHJhY2UuYwo+ICsr
KyBiL2FyY2gvbWlwcy9rZXJuZWwvcHRyYWNlLmMKPiBAQCAtMTMyNCw3ICsxMzI0LDcgQEAgYXNt
bGlua2FnZSBsb25nIHN5c2NhbGxfdHJhY2VfZW50ZXIoc3RydQo+IMKgCXVzZXJfZXhpdCgpOwo+
IMKgCj4gwqAJaWYgKHRlc3RfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfVFJBQ0UpKSB7Cj4gLQkJ
aWYgKHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRyeShyZWdzKSkKPiArCQlpZiAoIXB0cmFjZV9y
ZXBvcnRfc3lzY2FsbF9wZXJtaXRfZW50cnkocmVncykpCj4gwqAJCQlyZXR1cm4gLTE7Cj4gwqAJ
fQo+IMKgCj4gLS0tIGEvYXJjaC9uaW9zMi9rZXJuZWwvcHRyYWNlLmMKPiArKysgYi9hcmNoL25p
b3MyL2tlcm5lbC9wdHJhY2UuYwo+IEBAIC0xMzMsNyArMTMzLDcgQEAgYXNtbGlua2FnZSBpbnQg
ZG9fc3lzY2FsbF90cmFjZV9lbnRlcih2bwo+IMKgCWludCByZXQgPSAwOwo+IMKgCj4gwqAJaWYg
KHRlc3RfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfVFJBQ0UpKQo+IC0JCXJldCA9IHB0cmFjZV9y
ZXBvcnRfc3lzY2FsbF9lbnRyeSh0YXNrX3B0X3JlZ3MoY3VycmVudCkpOwo+ICsJCXJldCA9ICFw
dHJhY2VfcmVwb3J0X3N5c2NhbGxfcGVybWl0X2VudHJ5KHRhc2tfcHRfcmVncyhjdXJyZW50KSk7
Cj4gwqAKPiDCoAlyZXR1cm4gcmV0Owo+IMKgfQo+IC0tLSBhL2FyY2gvb3BlbnJpc2Mva2VybmVs
L3B0cmFjZS5jCj4gKysrIGIvYXJjaC9vcGVucmlzYy9rZXJuZWwvcHRyYWNlLmMKPiBAQCAtMjkz
LDcgKzI5Myw3IEBAIGFzbWxpbmthZ2UgbG9uZyBkb19zeXNjYWxsX3RyYWNlX2VudGVyKHMKPiDC
oAlsb25nIHJldCA9IDA7Cj4gwqAKPiDCoAlpZiAodGVzdF90aHJlYWRfZmxhZyhUSUZfU1lTQ0FM
TF9UUkFDRSkgJiYKPiAtCcKgwqDCoCBwdHJhY2VfcmVwb3J0X3N5c2NhbGxfZW50cnkocmVncykp
Cj4gKwnCoMKgwqAgIXB0cmFjZV9yZXBvcnRfc3lzY2FsbF9wZXJtaXRfZW50cnkocmVncykpCj4g
wqAJCS8qCj4gwqAJCSAqIFRyYWNpbmcgZGVjaWRlZCB0aGlzIHN5c2NhbGwgc2hvdWxkIG5vdCBo
YXBwZW4uCj4gwqAJCSAqIFdlJ2xsIHJldHVybiBhIGJvZ3VzIGNhbGwgbnVtYmVyIHRvIGdldCBh
biBFTk9TWVMKPiAtLS0gYS9hcmNoL3BhcmlzYy9rZXJuZWwvcHRyYWNlLmMKPiArKysgYi9hcmNo
L3BhcmlzYy9rZXJuZWwvcHRyYWNlLmMKPiBAQCAtMzI2LDcgKzMyNiw3IEBAIGxvbmcgY29tcGF0
X2FyY2hfcHRyYWNlKHN0cnVjdCB0YXNrX3N0cnUKPiDCoGxvbmcgZG9fc3lzY2FsbF90cmFjZV9l
bnRlcihzdHJ1Y3QgcHRfcmVncyAqcmVncykKPiDCoHsKPiDCoAlpZiAodGVzdF90aHJlYWRfZmxh
ZyhUSUZfU1lTQ0FMTF9UUkFDRSkpIHsKPiAtCQlpbnQgcmMgPSBwdHJhY2VfcmVwb3J0X3N5c2Nh
bGxfZW50cnkocmVncyk7Cj4gKwkJYm9vbCBwZXJtaXQgPSBwdHJhY2VfcmVwb3J0X3N5c2NhbGxf
cGVybWl0X2VudHJ5KHJlZ3MpOwo+IMKgCj4gwqAJCS8qCj4gwqAJCSAqIEFzIHRyYWNlc3lzX25l
eHQgZG9lcyBub3Qgc2V0ICVyMjggdG8gLUVOT1NZUwo+IEBAIC0zMzQsMTIgKzMzNCwxMCBAQCBs
b25nIGRvX3N5c2NhbGxfdHJhY2VfZW50ZXIoc3RydWN0IHB0X3JlCj4gwqAJCSAqLwo+IMKgCQly
ZWdzLT5nclsyOF0gPSAtRU5PU1lTOwo+IMKgCj4gLQkJaWYgKHJjKSB7Cj4gKwkJaWYgKCFwZXJt
aXQpIHsKPiDCoAkJCS8qCj4gLQkJCSAqIEEgbm9uemVybyByZXR1cm4gY29kZSBmcm9tCj4gLQkJ
CSAqIHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRyeSgpIHRlbGxzIHVzCj4gLQkJCSAqIHRvIHBy
ZXZlbnQgdGhlIHN5c2NhbGwgZXhlY3V0aW9uLsKgIFNraXAKPiAtCQkJICogdGhlIHN5c2NhbGwg
Y2FsbCBhbmQgdGhlIHN5c2NhbGwgcmVzdGFydCBoYW5kbGluZy4KPiArCQkJICogU2tpcCB0aGUg
c3lzY2FsbCBjYWxsIGFuZCB0aGUgc3lzY2FsbCByZXN0YXJ0Cj4gKwkJCSAqIGhhbmRsaW5nLgo+
IMKgCQkJICoKPiDCoAkJCSAqIE5vdGUgdGhhdCB0aGUgdHJhY2VyIG1heSBhbHNvIGp1c3QgY2hh
bmdlCj4gwqAJCQkgKiByZWdzLT5nclsyMF0gdG8gYW4gaW52YWxpZCBzeXNjYWxsIG51bWJlciwK
PiAtLS0gYS9hcmNoL3NoL2tlcm5lbC9wdHJhY2VfMzIuYwo+ICsrKyBiL2FyY2gvc2gva2VybmVs
L3B0cmFjZV8zMi5jCj4gQEAgLTQ1NSw3ICs0NTUsNyBAQCBsb25nIGFyY2hfcHRyYWNlKHN0cnVj
dCB0YXNrX3N0cnVjdCAqY2hpCj4gwqBhc21saW5rYWdlIGxvbmcgZG9fc3lzY2FsbF90cmFjZV9l
bnRlcihzdHJ1Y3QgcHRfcmVncyAqcmVncykKPiDCoHsKPiDCoAlpZiAodGVzdF90aHJlYWRfZmxh
ZyhUSUZfU1lTQ0FMTF9UUkFDRSkgJiYKPiAtCcKgwqDCoCBwdHJhY2VfcmVwb3J0X3N5c2NhbGxf
ZW50cnkocmVncykpIHsKPiArCcKgwqDCoCAhcHRyYWNlX3JlcG9ydF9zeXNjYWxsX3Blcm1pdF9l
bnRyeShyZWdzKSkgewo+IMKgCQlyZWdzLT5yZWdzWzBdID0gLUVOT1NZUzsKPiDCoAkJcmV0dXJu
IC0xOwo+IMKgCX0KPiAtLS0gYS9hcmNoL3NwYXJjL2tlcm5lbC9wdHJhY2VfMzIuYwo+ICsrKyBi
L2FyY2gvc3BhcmMva2VybmVsL3B0cmFjZV8zMi5jCj4gQEAgLTQ0MSw3ICs0NDEsNyBAQCBhc21s
aW5rYWdlIGludCBzeXNjYWxsX3RyYWNlKHN0cnVjdCBwdF9yCj4gwqAJCWlmIChzeXNjYWxsX2V4
aXRfcCkKPiDCoAkJCXB0cmFjZV9yZXBvcnRfc3lzY2FsbF9leGl0KHJlZ3MsIDApOwo+IMKgCQll
bHNlCj4gLQkJCXJldCA9IHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRyeShyZWdzKTsKPiArCQkJ
cmV0ID0gIXB0cmFjZV9yZXBvcnRfc3lzY2FsbF9wZXJtaXRfZW50cnkocmVncyk7Cj4gwqAJfQo+
IMKgCj4gwqAJcmV0dXJuIHJldDsKPiAtLS0gYS9hcmNoL3NwYXJjL2tlcm5lbC9wdHJhY2VfNjQu
Ywo+ICsrKyBiL2FyY2gvc3BhcmMva2VybmVsL3B0cmFjZV82NC5jCj4gQEAgLTEwOTMsNyArMTA5
Myw3IEBAIGFzbWxpbmthZ2UgaW50IHN5c2NhbGxfdHJhY2VfZW50ZXIoc3RydWMKPiDCoAkJdXNl
cl9leGl0KCk7Cj4gwqAKPiDCoAlpZiAodGVzdF90aHJlYWRfZmxhZyhUSUZfU1lTQ0FMTF9UUkFD
RSkpCj4gLQkJcmV0ID0gcHRyYWNlX3JlcG9ydF9zeXNjYWxsX2VudHJ5KHJlZ3MpOwo+ICsJCXJl
dCA9ICFwdHJhY2VfcmVwb3J0X3N5c2NhbGxfcGVybWl0X2VudHJ5KHJlZ3MpOwo+IMKgCj4gwqAJ
aWYgKHVubGlrZWx5KHRlc3RfdGhyZWFkX2ZsYWcoVElGX1NZU0NBTExfVFJBQ0VQT0lOVCkpKQo+
IMKgCQl0cmFjZV9zeXNfZW50ZXIocmVncywgcmVncy0+dV9yZWdzW1VSRUdfRzFdKTsKPiAtLS0g
YS9hcmNoL3VtL2tlcm5lbC9wdHJhY2UuYwo+ICsrKyBiL2FyY2gvdW0va2VybmVsL3B0cmFjZS5j
Cj4gQEAgLTEzNSw3ICsxMzUsNyBAQCBpbnQgc3lzY2FsbF90cmFjZV9lbnRlcihzdHJ1Y3QgcHRf
cmVncyAqCj4gwqAJaWYgKCF0ZXN0X3RocmVhZF9mbGFnKFRJRl9TWVNDQUxMX1RSQUNFKSkKPiDC
oAkJcmV0dXJuIDA7Cj4gwqAKPiAtCXJldHVybiBwdHJhY2VfcmVwb3J0X3N5c2NhbGxfZW50cnko
cmVncyk7Cj4gKwlyZXR1cm4gIXB0cmFjZV9yZXBvcnRfc3lzY2FsbF9wZXJtaXRfZW50cnkocmVn
cyk7Cj4gwqB9Cj4gwqAKPiDCoHZvaWQgc3lzY2FsbF90cmFjZV9sZWF2ZShzdHJ1Y3QgcHRfcmVn
cyAqcmVncykKPiAtLS0gYS9hcmNoL3h0ZW5zYS9rZXJuZWwvcHRyYWNlLmMKPiArKysgYi9hcmNo
L3h0ZW5zYS9rZXJuZWwvcHRyYWNlLmMKPiBAQCAtNTQ3LDcgKzU0Nyw3IEBAIGludCBkb19zeXNj
YWxsX3RyYWNlX2VudGVyKHN0cnVjdCBwdF9yZWcKPiDCoAkJcmVncy0+YXJlZ1syXSA9IC1FTk9T
WVM7Cj4gwqAKPiDCoAlpZiAodGVzdF90aHJlYWRfZmxhZyhUSUZfU1lTQ0FMTF9UUkFDRSkgJiYK
PiAtCcKgwqDCoCBwdHJhY2VfcmVwb3J0X3N5c2NhbGxfZW50cnkocmVncykpIHsKPiArCcKgwqDC
oCAhcHRyYWNlX3JlcG9ydF9zeXNjYWxsX3Blcm1pdF9lbnRyeShyZWdzKSkgewo+IMKgCQlyZWdz
LT5hcmVnWzJdID0gLUVOT1NZUzsKPiDCoAkJcmVncy0+c3lzY2FsbCA9IE5PX1NZU0NBTEw7Cj4g
wqAJCXJldHVybiAwOwo+IC0tLSBhL2luY2x1ZGUvYXNtLWdlbmVyaWMvc3lzY2FsbC5oCj4gKysr
IGIvaW5jbHVkZS9hc20tZ2VuZXJpYy9zeXNjYWxsLmgKPiBAQCAtNTgsOCArNTgsOCBAQCB2b2lk
IHN5c2NhbGxfc2V0X25yKHN0cnVjdCB0YXNrX3N0cnVjdCAqCj4gwqAgKgo+IMKgICogSXQncyBv
bmx5IHZhbGlkIHRvIGNhbGwgdGhpcyB3aGVuIEB0YXNrIGlzIHN0b3BwZWQgZm9yIHN5c3RlbQo+
IMKgICogY2FsbCBleGl0IHRyYWNpbmcgKGR1ZSB0byAlU1lTQ0FMTF9XT1JLX1NZU0NBTExfVFJB
Q0Ugb3IKPiAtICogJVNZU0NBTExfV09SS19TWVNDQUxMX0FVRElUKSwgYWZ0ZXIgcHRyYWNlX3Jl
cG9ydF9zeXNjYWxsX2VudHJ5KCkKPiAtICogcmV0dXJuZWQgbm9uemVybyB0byBwcmV2ZW50IHRo
ZSBzeXN0ZW0gY2FsbCBmcm9tIHRha2luZyBwbGFjZS4KPiArICogJVNZU0NBTExfV09SS19TWVND
QUxMX0FVRElUKSwgYWZ0ZXIgcHRyYWNlX3JlcG9ydF9zeXNjYWxsX3Blcm1pdF9lbnRyeSgpCj4g
KyAqIHJldHVybmVkIEZhbHNlIHRvIHByZXZlbnQgdGhlIHN5c3RlbSBjYWxsIGZyb20gdGFraW5n
IHBsYWNlLgo+IMKgICoKPiDCoCAqIFRoaXMgcm9sbHMgYmFjayB0aGUgcmVnaXN0ZXIgc3RhdGUg
aW4gQHJlZ3Mgc28gaXQncyBhcyBpZiB0aGUKPiDCoCAqIHN5c3RlbSBjYWxsIGluc3RydWN0aW9u
IHdhcyBhIG5vLW9wLsKgIFRoZSByZWdpc3RlcnMgY29udGFpbmluZwo+IC0tLSBhL2luY2x1ZGUv
bGludXgvZW50cnktY29tbW9uLmgKPiArKysgYi9pbmNsdWRlL2xpbnV4L2VudHJ5LWNvbW1vbi5o
Cj4gQEAgLTM4LDIxICszOCwyMiBAQAo+IMKgCQkJCSBTWVNDQUxMX1dPUktfU1lTQ0FMTF9FWElU
X1RSQVApCj4gwqAKPiDCoC8qKgo+IC0gKiBhcmNoX3B0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRy
eSAtIEFyY2hpdGVjdHVyZSBzcGVjaWZpYyBwdHJhY2VfcmVwb3J0X3N5c2NhbGxfZW50cnkoKSB3
cmFwcGVyCj4gKyAqIGFyY2hfcHRyYWNlX3JlcG9ydF9zeXNjYWxsX3Blcm1pdF9lbnRyeSAtIEFy
Y2hpdGVjdHVyZSBzcGVjaWZpYyB3cmFwcGVyIGZvcgo+ICsgKgkJCQkJwqDCoMKgwqAgcHRyYWNl
X3JlcG9ydF9zeXNjYWxsX3Blcm1pdF9lbnRyeSgpCj4gwqAgKiBAcmVnczogUG9pbnRlciB0byB0
aGUgcmVnaXN0ZXIgc3RhdGUgYXQgc3lzY2FsbCBlbnRyeQo+IMKgICoKPiAtICogSW52b2tlZCBm
cm9tIHN5c2NhbGxfdHJhY2VfZW50ZXIoKSB0byB3cmFwIHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9l
bnRyeSgpLgo+ICsgKiBJbnZva2VkIGZyb20gc3lzY2FsbF90cmFjZV9lbnRlcigpIHRvIHdyYXAg
cHRyYWNlX3JlcG9ydF9zeXNjYWxsX3Blcm1pdF9lbnRyeSgpLgo+IMKgICoKPiAtICogVGhpcyBh
bGxvd3MgYXJjaGl0ZWN0dXJlIHNwZWNpZmljIHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRyeSgp
Cj4gKyAqIFRoaXMgYWxsb3dzIGFyY2hpdGVjdHVyZSBzcGVjaWZpYyBwdHJhY2VfcmVwb3J0X3N5
c2NhbGxfcGVybWl0X2VudHJ5KCkKPiDCoCAqIGltcGxlbWVudGF0aW9ucy4gSWYgbm90IGRlZmlu
ZWQgYnkgdGhlIGFyY2hpdGVjdHVyZSB0aGlzIGZhbGxzIGJhY2sgdG8KPiAtICogdG8gcHRyYWNl
X3JlcG9ydF9zeXNjYWxsX2VudHJ5KCkuCj4gKyAqIHRvIHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9w
ZXJtaXRfZW50cnkoKS4KPiDCoCAqLwo+IC1zdGF0aWMgX19hbHdheXNfaW5saW5lIGludCBhcmNo
X3B0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRyeShzdHJ1Y3QgcHRfcmVncyAqcmVncyk7Cj4gK3N0
YXRpYyBfX2Fsd2F5c19pbmxpbmUgYm9vbCBhcmNoX3B0cmFjZV9yZXBvcnRfc3lzY2FsbF9wZXJt
aXRfZW50cnkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpOwo+IMKgCj4gLSNpZm5kZWYgYXJjaF9wdHJh
Y2VfcmVwb3J0X3N5c2NhbGxfZW50cnkKPiAtc3RhdGljIF9fYWx3YXlzX2lubGluZSBpbnQgYXJj
aF9wdHJhY2VfcmVwb3J0X3N5c2NhbGxfZW50cnkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCj4gKyNp
Zm5kZWYgYXJjaF9wdHJhY2VfcmVwb3J0X3N5c2NhbGxfcGVybWl0X2VudHJ5Cj4gK3N0YXRpYyBf
X2Fsd2F5c19pbmxpbmUgYm9vbCBhcmNoX3B0cmFjZV9yZXBvcnRfc3lzY2FsbF9wZXJtaXRfZW50
cnkoc3RydWN0IHB0X3JlZ3MgKnJlZ3MpCj4gwqB7Cj4gLQlyZXR1cm4gcHRyYWNlX3JlcG9ydF9z
eXNjYWxsX2VudHJ5KHJlZ3MpOwo+ICsJcmV0dXJuIHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9wZXJt
aXRfZW50cnkocmVncyk7Cj4gwqB9Cj4gwqAjZW5kaWYKPiDCoAo+IEBAIC03Myw4ICs3NCw2IEBA
IHN0YXRpYyBpbmxpbmUgdm9pZCBzeXNjYWxsX2VudGVyX2F1ZGl0KHMKPiDCoHN0YXRpYyBfX2Fs
d2F5c19pbmxpbmUgbG9uZyBzeXNjYWxsX3RyYWNlX2VudGVyKHN0cnVjdCBwdF9yZWdzICpyZWdz
LCB1bnNpZ25lZCBsb25nIHdvcmssCj4gwqAJCQkJCQlsb25nIHN5c2NhbGwpCj4gwqB7Cj4gLQls
b25nIHJldCA9IDA7Cj4gLQo+IMKgCS8qCj4gwqAJICogSGFuZGxlIFN5c2NhbGwgVXNlciBEaXNw
YXRjaC7CoCBUaGlzIG11c3QgY29tZXMgZmlyc3QsIHNpbmNlCj4gwqAJICogdGhlIEFCSSBoZXJl
IGNhbiBiZSBzb21ldGhpbmcgdGhhdCBkb2Vzbid0IG1ha2Ugc2Vuc2UgZm9yCj4gQEAgLTk1LDgg
Kzk0LDggQEAgc3RhdGljIF9fYWx3YXlzX2lubGluZSBsb25nIHN5c2NhbGxfdHJhYwo+IMKgCj4g
wqAJLyogSGFuZGxlIHB0cmFjZSAqLwo+IMKgCWlmICh3b3JrICYgKFNZU0NBTExfV09SS19TWVND
QUxMX1RSQUNFIHwgU1lTQ0FMTF9XT1JLX1NZU0NBTExfRU1VKSkgewo+IC0JCXJldCA9IGFyY2hf
cHRyYWNlX3JlcG9ydF9zeXNjYWxsX2VudHJ5KHJlZ3MpOwo+IC0JCWlmIChyZXQgfHwgKHdvcmsg
JiBTWVNDQUxMX1dPUktfU1lTQ0FMTF9FTVUpKQo+ICsJCWlmICghYXJjaF9wdHJhY2VfcmVwb3J0
X3N5c2NhbGxfcGVybWl0X2VudHJ5KHJlZ3MpIHx8Cj4gKwkJwqDCoMKgICh3b3JrICYgU1lTQ0FM
TF9XT1JLX1NZU0NBTExfRU1VKSkKPiDCoAkJCXJldHVybiAtMUw7Cj4gwqAJfQo+IMKgCj4gQEAg
LTEzNyw3ICsxMzYsNyBAQCBzdGF0aWMgX19hbHdheXNfaW5saW5lIGxvbmcgc3lzY2FsbF90cmFj
Cj4gwqAgKiBJdCBoYW5kbGVzIHRoZSBmb2xsb3dpbmcgd29yayBpdGVtczoKPiDCoCAqCj4gwqAg
KsKgIDEpIHN5c2NhbGxfd29yayBmbGFnIGRlcGVuZGVudCBpbnZvY2F0aW9ucyBvZgo+IC0gKsKg
wqDCoMKgIHB0cmFjZV9yZXBvcnRfc3lzY2FsbF9lbnRyeSgpLCBfX3NlY2NvbXBfcGVybWl0X3N5
c2NhbGwoKSwgdHJhY2Vfc3lzX2VudGVyKCkKPiArICrCoMKgwqDCoCBwdHJhY2VfcmVwb3J0X3N5
c2NhbGxfcGVybWl0X2VudHJ5KCksIF9fc2VjY29tcF9wZXJtaXRfc3lzY2FsbCgpLCB0cmFjZV9z
eXNfZW50ZXIoKQo+IMKgICrCoCAyKSBJbnZvY2F0aW9uIG9mIGF1ZGl0X3N5c2NhbGxfZW50cnko
KQo+IMKgICovCj4gwqBzdGF0aWMgX19hbHdheXNfaW5saW5lIGxvbmcgc3lzY2FsbF9lbnRlcl9m
cm9tX3VzZXJfbW9kZV93b3JrKHN0cnVjdCBwdF9yZWdzICpyZWdzLCBsb25nIHN5c2NhbGwpCj4g
LS0tIGEvaW5jbHVkZS9saW51eC9wdHJhY2UuaAo+ICsrKyBiL2luY2x1ZGUvbGludXgvcHRyYWNl
LmgKPiBAQCAtNDA1LDEzICs0MDUsMTMgQEAgZXh0ZXJuIHZvaWQgc2lnYWN0aW9uX2NvbXBhdF9h
Ymkoc3RydWN0Cj4gwqAvKgo+IMKgICogcHRyYWNlIHJlcG9ydCBmb3Igc3lzY2FsbCBlbnRyeSBh
bmQgZXhpdCBsb29rcyBpZGVudGljYWwuCj4gwqAgKi8KPiAtc3RhdGljIGlubGluZSBpbnQgcHRy
YWNlX3JlcG9ydF9zeXNjYWxsKHVuc2lnbmVkIGxvbmcgbWVzc2FnZSkKPiArc3RhdGljIGlubGlu
ZSBib29sIHB0cmFjZV9yZXBvcnRfc3lzY2FsbCh1bnNpZ25lZCBsb25nIG1lc3NhZ2UpCj4gwqB7
Cj4gwqAJaW50IHB0cmFjZSA9IGN1cnJlbnQtPnB0cmFjZTsKPiDCoAlpbnQgc2lnbnI7Cj4gwqAK
PiDCoAlpZiAoIShwdHJhY2UgJiBQVF9QVFJBQ0VEKSkKPiAtCQlyZXR1cm4gMDsKPiArCQlyZXR1
cm4gdHJ1ZTsKPiDCoAo+IMKgCXNpZ25yID0gcHRyYWNlX25vdGlmeShTSUdUUkFQIHwgKChwdHJh
Y2UgJiBQVF9UUkFDRVNZU0dPT0QpID8gMHg4MCA6IDApLAo+IMKgCQkJwqDCoMKgwqDCoCBtZXNz
YWdlKTsKPiBAQCAtNDI0LDExICs0MjQsMTEgQEAgc3RhdGljIGlubGluZSBpbnQgcHRyYWNlX3Jl
cG9ydF9zeXNjYWxsKAo+IMKgCWlmIChzaWducikKPiDCoAkJc2VuZF9zaWcoc2lnbnIsIGN1cnJl
bnQsIDEpOwo+IMKgCj4gLQlyZXR1cm4gZmF0YWxfc2lnbmFsX3BlbmRpbmcoY3VycmVudCk7Cj4g
KwlyZXR1cm4gIWZhdGFsX3NpZ25hbF9wZW5kaW5nKGN1cnJlbnQpOwo+IMKgfQo+IMKgCj4gwqAv
KioKPiAtICogcHRyYWNlX3JlcG9ydF9zeXNjYWxsX2VudHJ5IC0gdGFzayBpcyBhYm91dCB0byBh
dHRlbXB0IGEgc3lzdGVtIGNhbGwKPiArICogcHRyYWNlX3JlcG9ydF9zeXNjYWxsX3Blcm1pdF9l
bnRyeSAtIHRhc2sgaXMgYWJvdXQgdG8gYXR0ZW1wdCBhIHN5c3RlbSBjYWxsCj4gwqAgKiBAcmVn
czoJCXVzZXIgcmVnaXN0ZXIgc3RhdGUgb2YgY3VycmVudCB0YXNrCj4gwqAgKgo+IMKgICogVGhp
cyB3aWxsIGJlIGNhbGxlZCBpZiAlU1lTQ0FMTF9XT1JLX1NZU0NBTExfVFJBQ0Ugb3IKPiBAQCAt
NDM4LDcgKzQzOCw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IHB0cmFjZV9yZXBvcnRfc3lzY2FsbCgK
PiDCoCAqIGNhbGwgbnVtYmVyIGFuZCBhcmd1bWVudHMgdG8gYmUgdHJpZWQuwqAgSXQgaXMgc2Fm
ZSB0byBibG9jayBoZXJlLAo+IMKgICogcHJldmVudGluZyB0aGUgc3lzdGVtIGNhbGwgZnJvbSBi
ZWdpbm5pbmcuCj4gwqAgKgo+IC0gKiBSZXR1cm5zIHplcm8gbm9ybWFsbHksIG9yIG5vbnplcm8g
aWYgdGhlIGNhbGxpbmcgYXJjaCBjb2RlIHNob3VsZCBhYm9ydAo+ICsgKiBSZXR1cm5zIFRydWUg
bm9ybWFsbHksIG9yIEZhbHNlIGlmIHRoZSBjYWxsaW5nIGFyY2hpdGVjdHVyZSBjb2RlIHNob3Vs
ZCBhYm9ydAo+IMKgICogdGhlIHN5c3RlbSBjYWxsLsKgIFRoYXQgbXVzdCBwcmV2ZW50IG5vcm1h
bCBlbnRyeSBzbyBubyBzeXN0ZW0gY2FsbCBpcwo+IMKgICogbWFkZS7CoCBJZiBAdGFzayBldmVy
IHJldHVybnMgdG8gdXNlciBtb2RlIGFmdGVyIHRoaXMsIGl0cyByZWdpc3RlciBzdGF0ZQo+IMKg
ICogaXMgdW5zcGVjaWZpZWQsIGJ1dCBzaG91bGQgYmUgc29tZXRoaW5nIGhhcm1sZXNzIGxpa2Ug
YW4gJUVOT1NZUyBlcnJvcgo+IEBAIC00NDcsOCArNDQ3LDcgQEAgc3RhdGljIGlubGluZSBpbnQg
cHRyYWNlX3JlcG9ydF9zeXNjYWxsKAo+IMKgICoKPiDCoCAqIENhbGxlZCB3aXRob3V0IGxvY2tz
LCBqdXN0IGFmdGVyIGVudGVyaW5nIGtlcm5lbCBtb2RlLgo+IMKgICovCj4gLXN0YXRpYyBpbmxp
bmUgX19tdXN0X2NoZWNrIGludCBwdHJhY2VfcmVwb3J0X3N5c2NhbGxfZW50cnkoCj4gLQlzdHJ1
Y3QgcHRfcmVncyAqcmVncykKPiArc3RhdGljIGlubGluZSBfX211c3RfY2hlY2sgYm9vbCBwdHJh
Y2VfcmVwb3J0X3N5c2NhbGxfcGVybWl0X2VudHJ5KHN0cnVjdCBwdF9yZWdzICpyZWdzKQo+IMKg
ewo+IMKgCXJldHVybiBwdHJhY2VfcmVwb3J0X3N5c2NhbGwoUFRSQUNFX0VWRU5UTVNHX1NZU0NB
TExfRU5UUlkpOwo+IMKgfQoKUmV2aWV3ZWQtYnk6IFJhZHUgUmVuZGVjIDxyYWR1QHJlbmRlYy5u
ZXQ+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51
eC1yaXNjdiBtYWlsaW5nIGxpc3QKbGludXgtcmlzY3ZAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRw
Oi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJpc2N2Cg==