MTYuMDYuMjAxNCAyMjoyMSwgRWR3YXJkIFRvbWFzeiBOYXBpZXJhxYJhINC/0LjRiNC10YI6Cj4g
SGkuICBQYXRjaCBiZWxvdyBzaG91bGQgZml4IGEgcHJvYmxlbSB3aGVyZSBVU0Igc3RvcHMgd29y
a2luZyBhZnRlcgo+IF9zZWNvbmRfIHN1c3BlbmQvcmVzdW1lLCB3aGljaCBoYXBwZW5zIG9uIHZh
cmlvdXMgVGhpbmtQYWQgbW9kZWxzLgo+IFBsZWFzZSB0ZXN0LCBhbmQgcmVwb3J0IGJvdGggc3Vj
Y2VzcyBzdG9yaWVzIGFuZCBmYWlsdXJlcy4gIElmIG5vdGhpbmcKPiBjb21lcyB1cCwgSSdsbCBj
b21taXQgaXQgaW4gYSB3ZWVrIG9yIHNvLgo+Cj4gKEJ0dywgaGFzIGFueW9uZSBlbmNvdW50ZXJl
ZCB0aGUgcHJvYmxlbSBvbiBoYXJkd2FyZSBvdGhlciB0aGFuIFRoaW5rUGFkcz8pCj4KPgo+IElu
ZGV4OiBzeXMvZGV2L2FjcGlfc3VwcG9ydC9hY3BpX2libS5jCj4gPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQo+IC0tLSBz
eXMvZGV2L2FjcGlfc3VwcG9ydC9hY3BpX2libS5jCShyZXZpc2lvbiAyNjc0MTcpCj4gKysrIHN5
cy9kZXYvYWNwaV9zdXBwb3J0L2FjcGlfaWJtLmMJKHdvcmtpbmcgY29weSkKPiBAQCAtMTY5LDYg
KzE2OSw5IEBAIHN0cnVjdCBhY3BpX2libV9zb2Z0YyB7Cj4gIAlpbnQJCWxpZ2h0X2dldF9zdXBw
b3J0ZWQ7Cj4gIAlpbnQJCWxpZ2h0X3NldF9zdXBwb3J0ZWQ7Cj4gIAo+ICsJLyogVVNCIHBvd2Vy
IHdvcmthcm91bmQgKi8KPiArCUFDUElfSEFORExFCXBvd2VyX2hhbmRsZTsKPiArCj4gIAkvKiBs
ZWQoNCkgaW50ZXJmYWNlICovCj4gIAlzdHJ1Y3QgY2RldgkqbGVkX2RldjsKPiAgCWludAkJbGVk
X2J1c3k7Cj4gQEAgLTM2NSw2ICszNjgsNyBAQCBhY3BpX2libV9hdHRhY2goZGV2aWNlX3QgZGV2
KQo+ICB7Cj4gIAlzdHJ1Y3QgYWNwaV9pYm1fc29mdGMJKnNjOwo+ICAJZGV2Y2xhc3NfdAkJZWNf
ZGV2Y2xhc3M7Cj4gKwlBQ1BJX1NUQVRVUwkJc3RhdHVzOwo+ICAKPiAgCUFDUElfRlVOQ1RJT05f
VFJBQ0UoKGNoYXIgKikodWludHB0cl90KSBfX2Z1bmNfXyk7Cj4gIAo+IEBAIC00NDgsNiArNDUy
LDE3IEBAIGFjcGlfaWJtX2F0dGFjaChkZXZpY2VfdCBkZXYpCj4gIAlpZiAoc2MtPmxpZ2h0X3Nl
dF9zdXBwb3J0ZWQpCj4gIAkJc2MtPmxlZF9kZXYgPSBsZWRfY3JlYXRlX3N0YXRlKGlibV9sZWQs
IHNjLCAidGhpbmtsaWdodCIsIHNjLT5saWdodF92YWwpOwo+ICAKPiArCS8qCj4gKwkgKiBPYnRh
aW4gYSBoYW5kbGUgdG8gdGhlIHBvd2VyIHJlc291cmNlIGF2YWlsYWJsZSBvbiBtYW55IG1vZGVs
cy4KPiArCSAqIFRoaXMgbXVzdCBiZSB0dXJuZWQgb24gbWFudWFsbHkgdXBvbiByZXN1bWUuIE90
aGVyd2lzZSB0aGUgc3lzdGVtCj4gKwkgKiBtYXksIGZvciBpbnN0YW5jZSwgcmVzdW1lIGZyb20g
UzMgd2l0aCB1c2IoNCkgcG93ZXJlZCBkb3duLgo+ICsJICovCj4gKwlzdGF0dXMgPSBBY3BpR2V0
SGFuZGxlKHNjLT5oYW5kbGUsICJcXF9TQi5QQ0kwLkxQQy5FQy5QVUJTIiwgJnNjLT5wb3dlcl9o
YW5kbGUpOwo+ICsJaWYgKEFDUElfRkFJTFVSRShzdGF0dXMpKSB7Cj4gKwkJZGV2aWNlX3ByaW50
ZihkZXYsICJGYWlsZWQgdG8gZ2V0IHBvd2VyIGhhbmRsZVxuIik7Cj4gKwkJcmV0dXJuIChzdGF0
dXMpOwo+ICsJfQo+ICsKPiAgCXJldHVybiAoMCk7Cj4gIH0KPiAgCj4gQEAgLTQ3Niw2ICs0OTEs
NyBAQCBzdGF0aWMgaW50Cj4gIGFjcGlfaWJtX3Jlc3VtZShkZXZpY2VfdCBkZXYpCj4gIHsKPiAg
CXN0cnVjdCBhY3BpX2libV9zb2Z0YyAqc2MgPSBkZXZpY2VfZ2V0X3NvZnRjKGRldik7Cj4gKwlB
Q1BJX1NUQVRVUyBzdGF0dXM7Cj4gIAo+ICAJQUNQSV9GVU5DVElPTl9UUkFDRSgoY2hhciAqKSh1
aW50cHRyX3QpIF9fZnVuY19fKTsKPiAgCj4gQEAgLTQ5NSw2ICs1MTEsMTUgQEAgYWNwaV9pYm1f
cmVzdW1lKGRldmljZV90IGRldikKPiAgCj4gIAkJYWNwaV9pYm1fc3lzY3RsX3NldChzYywgaSwg
dmFsKTsKPiAgCX0KPiArCWlmIChzYy0+cG93ZXJfaGFuZGxlICE9IE5VTEwpIHsKPiArCQlzdGF0
dXMgPSBBY3BpRXZhbHVhdGVPYmplY3Qoc2MtPnBvd2VyX2hhbmRsZSwKPiArCQkgICAgIl9PTiIs
IE5VTEwsIE5VTEwpOwo+ICsJCWlmIChBQ1BJX0ZBSUxVUkUoc3RhdHVzKSkgewo+ICsJCQlkZXZp
Y2VfcHJpbnRmKGRldiwgImZhaWxlZCB0byBzd2l0Y2ggJXMgb24gLSAlc1xuIiwKPiArCQkJICAg
IGFjcGlfbmFtZShzYy0+cG93ZXJfaGFuZGxlKSwKPiArCQkJICAgIEFjcGlGb3JtYXRFeGNlcHRp
b24oc3RhdHVzKSk7Cj4gKwkJfQo+ICsJfQo+ICAJQUNQSV9TRVJJQUxfRU5EKGlibSk7Cj4gIAo+
ICAJcmV0dXJuICgwKTsKSGkuIEkndmUgbmV2ZXIgc2VlbiB0aGlzIHByb2JsZW0gYmVmb3JlIG9u
IG15IFRoaW5rUGFkIEU1MzAuIEhvd2V2ZXIsIEkKaGF2ZSBhcHBsaWVkIHRoaXMgcGF0Y2ggYW5k
IGFmdGVyIHJlYm9vdCBhbGwgc3lzY3RsIG9pZHMgcmVsYXRlZCB0bwphY3BpX2libSBkaXNhcHBl
YXJlZC4KCnJvb3RAdGhpbmtwYWQ6L2hvbWUvc2h1cmlrICMga2xkc3RhdHxncmVwIGlibQo5IDEg
MHhmZmZmZmZmZjgyMTkwMDAwIDc3ZTggYWNwaV9pYm0ua28KCnJvb3RAdGhpbmtwYWQ6L2hvbWUv
c2h1cmlrICMgc3lzY3RsIGRldi5hY3BpX2libQpyb290QHRoaW5rcGFkOi9ob21lL3NodXJpayAj
CgpBbmQgaW4gZG1lc2cgSSBzZWUgdGhpcyBlcnJvcnM6Cgpyb290QHRoaW5rcGFkOi9ob21lL3No
dXJpayAjIGRtZXNnIC1hfGdyZXAgaWJtCmFjcGlfaWJtMDogPElCTSBUaGlua1BhZCBBQ1BJIEV4
dHJhcz4gb24gYWNwaTAKYWNwaV9pYm0wOiBGYWlsZWQgdG8gZ2V0IHBvd2VyIGhhbmRsZQpkZXZp
Y2VfYXR0YWNoOiBhY3BpX2libTAgYXR0YWNoIHJldHVybmVkIDUKc3lzY3RsOiB1bmtub3duIG9p
ZCAnZGV2LmFjcGlfaWJtLjAuZXZlbnRzJyBhdCBsaW5lIDIyOiBObyBzdWNoIGZpbGUgb3IKZGly
ZWN0b3J5CnN5c2N0bDogdW5rbm93biBvaWQgJ2Rldi5hY3BpX2libS4wLmZhbicgYXQgbGluZSAy
MzogTm8gc3VjaCBmaWxlIG9yCmRpcmVjdG9yeQpzeXNjdGw6IHVua25vd24gb2lkICdkZXYuYWNw
aV9pYm0uMC5ibHVldG9vdGgnIGF0IGxpbmUgMjQ6IE5vIHN1Y2ggZmlsZQpvciBkaXJlY3RvcnkK
YWNwaV9pYm0wOiA8SUJNIFRoaW5rUGFkIEFDUEkgRXh0cmFzPiBvbiBhY3BpMAojNSAweGZmZmZm
ZmZmODI2MDc2NmMgYXQgYWNwaV9pYm1fYXR0YWNoKzB4NWJjCmFjcGlfaWJtMDogPElCTSBUaGlu
a1BhZCBBQ1BJIEV4dHJhcz4gb24gYWNwaTAKYWNwaV9pYm0wOiBGYWlsZWQgdG8gZ2V0IHBvd2Vy
IGhhbmRsZQpkZXZpY2VfYXR0YWNoOiBhY3BpX2libTAgYXR0YWNoIHJldHVybmVkIDUKCgoKQWxs
IEZuIGtleXMgYW5kIHVzYiBwb3J0cyBzdGlsbCB3b3JrIGZpbmUgYmVmb3JlL2FmdGVyIHN1c3Bl
bmQvcmVzdW1lLgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpmcmVlYnNkLWN1cnJlbnRAZnJlZWJzZC5vcmcgbWFpbGluZyBsaXN0Cmh0dHA6Ly9saXN0cy5m
cmVlYnNkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVic2QtY3VycmVudApUbyB1bnN1YnNjcmli
ZSwgc2VuZCBhbnkgbWFpbCB0byAiZnJlZWJzZC1jdXJyZW50LXVuc3Vic2NyaWJlQGZyZWVic2Qu
b3JnIg==