Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 5 May 2018 11:01:11 +0200
From:      "O. Hartmann" <o.hartmann@walstatt.org>
To:        "K. Macy" <kmacy@freebsd.org>, Stephen Hurd <shurd@freebsd.org>
Cc:        "O. Hartmann" <ohartmann@walstatt.org>, svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers <src-committers@freebsd.org>, FreeBSD CURRENT <freebsd-current@freebsd.org>
Subject:   Re: svn commit: r333175 - in head/sys: kern net netinet netinet6 sys: TRAP 12
Message-ID:  <20180505110138.6cae0f75@thor.intern.walstatt.dynvpn.de>
In-Reply-To: <20180503222419.4228e8e8@thor.intern.walstatt.dynvpn.de>
References:  <201805021936.w42JaTlq039053@repo.freebsd.org> <20180503213206.7fba052c@thor.intern.walstatt.dynvpn.de> <CAHM0Q_OeFG5bKiUMqi5G3roGNnjUHJ_W2KmQeCCkSnW8zCW_RQ@mail.gmail.com> <20180503222419.4228e8e8@thor.intern.walstatt.dynvpn.de>

next in thread | previous in thread | raw e-mail | index | archive | help
LS0tLS1CRUdJTiBQR1AgU0lHTkVEIE1FU1NBR0UtLS0tLQ0KSGFzaDogU0hBNTEyDQoNCkFtIFRo
dSwgMyBNYXkgMjAxOCAyMjoyMzo1MiArMDIwMA0KIk8uIEhhcnRtYW5uIiA8b2hhcnRtYW5uQHdh
bHN0YXR0Lm9yZz4gc2NocmllYjoNCg0KDQpJJ20gbm90IGZhbWlsaWFyIHdpdGgga2VybmVsIGRl
YnVnZ2luZywgc28gdGhlcmUgYXJlIHNvbWUgc3RydWdnbGVzLg0KDQpBZnRlciBjb21waWxpbmcg
YSBkZWJ1Z2dpbmcga2VybmVsIG9uIA0KDQpWZXJzaW9uIFN0cmluZzogRnJlZUJTRCAxMi4wLUNV
UlJFTlQgIzIgcjMzMzI2OTogU2F0IE1heSAgNSAwODoxMDozMiBDRVNUIDIwMTgNCg0KUGFuaWMg
U3RyaW5nOiBMb2NrIHRjcCBub3QgZXhjbHVzaXZlbHkgbG9ja2VkIEAgL3Vzci9zcmMvc3lzL25l
dGluZXQvaW5fcGNiLmM6MTM5MQ0KDQoNCkFuZCB0aGlzIGlzIHdoYXQgSSBjYW4gcHJvdmlkZSB5
b3Ugd2l0aDoNCg0KDQpSZWFkaW5nIHN5bWJvbHMgZnJvbSAvdXNyL29iai91c3Ivc3JjL2FtZDY0
LmFtZDY0L3N5cy9XQUxIQUxMLURFQlVHL2tlcm5lbC5mdWxsLi4uZG9uZS4NCg0KVW5yZWFkIHBv
cnRpb24gb2YgdGhlIGtlcm5lbCBtZXNzYWdlIGJ1ZmZlcjoNCnBhbmljOiBMb2NrIHRjcCBub3Qg
ZXhjbHVzaXZlbHkgbG9ja2VkIEAgL3Vzci9zcmMvc3lzL25ldGluZXQvaW5fcGNiLmM6MTM5MQ0K
DQpjcHVpZCA9IDQNCnRpbWUgPSAxNTI1NTEwMjkxDQpLREI6IHN0YWNrIGJhY2t0cmFjZToNCmRi
X3RyYWNlX3NlbGZfd3JhcHBlcigpIGF0IGRiX3RyYWNlX3NlbGZfd3JhcHBlcisweDJiL2ZyYW1l
IDB4ZmZmZmZlMDBlNDg1ZTY3MA0KdnBhbmljKCkgYXQgdnBhbmljKzB4MWEzL2ZyYW1lIDB4ZmZm
ZmZlMDBlNDg1ZTZkMA0KcGFuaWMoKSBhdCBwYW5pYysweDQzL2ZyYW1lIDB4ZmZmZmZlMDBlNDg1
ZTczMA0KX3J3X3d1bmxvY2tfY29va2llKCkgYXQgX3J3X3d1bmxvY2tfY29va2llKzB4MTM3L2Zy
YW1lIDB4ZmZmZmZlMDBlNDg1ZTc2MA0KaW5fcGNiZnJlZSgpIGF0IGluX3BjYmZyZWUrMHg1MWEv
ZnJhbWUgMHhmZmZmZmUwMGU0ODVlN2IwDQp0Y3BfdXNyX2RldGFjaCgpIGF0IHRjcF91c3JfZGV0
YWNoKzB4MTVlL2ZyYW1lIDB4ZmZmZmZlMDBlNDg1ZTdmMA0Kc29mcmVlKCkgYXQgc29mcmVlKzB4
MmY0L2ZyYW1lIDB4ZmZmZmZlMDBlNDg1ZTg0MA0Kc29jbG9zZSgpIGF0IHNvY2xvc2UrMHgzODcv
ZnJhbWUgMHhmZmZmZmUwMGU0ODVlOGIwDQpjbG9zZWYoKSBhdCBjbG9zZWYrMHgxZjUvZnJhbWUg
MHhmZmZmZmUwMGU0ODVlOTQwDQpjbG9zZWZwKCkgYXQgY2xvc2VmcCsweGEwL2ZyYW1lIDB4ZmZm
ZmZlMDBlNDg1ZTk4MA0KYW1kNjRfc3lzY2FsbCgpIGF0IGFtZDY0X3N5c2NhbGwrMHg2ZDMvZnJh
bWUgMHhmZmZmZmUwMGU0ODVlYWIwDQpmYXN0X3N5c2NhbGxfY29tbW9uKCkgYXQgZmFzdF9zeXNj
YWxsX2NvbW1vbisweDEwMS9mcmFtZSAweGZmZmZmZTAwZTQ4NWVhYjANCi0gLS0tIHN5c2NhbGwg
KDYsIEZyZWVCU0QgRUxGNjQsIHN5c19jbG9zZSksIHJpcCA9IDB4ODAxMTFhZGRhLCByc3AgPSAw
eDdmZmZkZjNmNzIyOCwgcmJwID0NCjB4N2ZmZmRmM2Y3MjQwIC0tLSBLREI6IGVudGVyOiBwYW5p
Yw0KDQpfX2N1cnRocmVhZCAoKSBhdCAuL21hY2hpbmUvcGNwdS5oOjIzMQ0KMjMxICAgICAgICAg
ICAgIF9fYXNtKCJtb3ZxICUlZ3M6JTEsJTAiIDogIj1yIiAodGQpDQooa2dkYikgYnQNCihrZ2Ri
KSBidA0KIzAgIF9fY3VydGhyZWFkICgpIGF0IC4vbWFjaGluZS9wY3B1Lmg6MjMxDQojMSAgZG9h
ZHVtcCAodGV4dGR1bXA9MCkgYXQgL3Vzci9zcmMvc3lzL2tlcm4va2Vybl9zaHV0ZG93bi5jOjM2
NQ0KIzIgIDB4ZmZmZmZmZmY4MDU5N2Q1YiBpbiBkYl9kdW1wIChkdW1teT08b3B0aW1pemVkIG91
dD4sIGR1bW15Mj08dW5hdmFpbGFibGU+LA0KZHVtbXkzPTx1bmF2YWlsYWJsZT4sIGR1bW15ND08
dW5hdmFpbGFibGU+KSBhdCAvdXNyL3NyYy9zeXMvZGRiL2RiX2NvbW1hbmQuYzo1NzQNCiMzICAw
eGZmZmZmZmZmODA1OTdhZTYgaW4gZGJfY29tbWFuZCAobGFzdF9jbWRwPTxvcHRpbWl6ZWQgb3V0
PiwgY21kX3RhYmxlPTxvcHRpbWl6ZWQNCm91dD4sIGRvcGFnZXI9PG9wdGltaXplZCBvdXQ+KSBh
dCAvdXNyL3NyYy9zeXMvZGRiL2RiX2NvbW1hbmQuYzo0ODEgIzQNCm91dD4weGZmZmZmZmZmODA1
OTc4MTQgaW4gZGJfY29tbWFuZF9sb29wICgpIGF0IC91c3Ivc3JjL3N5cy9kZGIvZGJfY29tbWFu
ZC5jOjUzNA0KIzUgIDB4ZmZmZmZmZmY4MDU5YjA0ZiBpbiBkYl90cmFwICh0eXBlPTxvcHRpbWl6
ZWQgb3V0PiwgY29kZT08b3B0aW1pemVkIG91dD4pDQphdCAvdXNyL3NyYy9zeXMvZGRiL2RiX21h
aW4uYzoyNTAgIzYgIDB4ZmZmZmZmZmY4MDkyNDQ2MyBpbiBrZGJfdHJhcCAodHlwZT0zLA0KY29k
ZT0tNjE0NTYsIHRmPTxvcHRpbWl6ZWQgb3V0PikgYXQgL3Vzci9zcmMvc3lzL2tlcm4vc3Vicl9r
ZGIuYzo2OTcgIzcNCjB4ZmZmZmZmZmY4MGM4MGFiNyBpbiB0cmFwIChmcmFtZT0weGZmZmZmZTAw
ZTQ4NWU1YTApDQphdCAvdXNyL3NyYy9zeXMvYW1kNjQvYW1kNjQvdHJhcC5jOjU1MCAjOCAgPHNp
Z25hbCBoYW5kbGVyIGNhbGxlZD4gIzkgIGtkYl9lbnRlcg0KKHdoeT0weGZmZmZmZmZmODBkZDdi
NTQgInBhbmljIiwgbXNnPTxvcHRpbWl6ZWQgb3V0PikgYXQgL3Vzci9zcmMvc3lzL2tlcm4vc3Vi
cl9rZGIuYzo0NzkNCiMxMCAweGZmZmZmZmZmODA4ZGI1MDAgaW4gdnBhbmljIChmbXQ9PG9wdGlt
aXplZCBvdXQ+LCBhcD0weGZmZmZmZTAwZTQ4NWU3MTApDQphdCAvdXNyL3NyYy9zeXMva2Vybi9r
ZXJuX3NodXRkb3duLmM6ODUxICMxMSAweGZmZmZmZmZmODA4ZGI1OTMgaW4gcGFuaWMNCihmbXQ9
MHhmZmZmZmZmZjgxMjViYmQ4IDxjbnB1dHNfbXR4PiAiXDI1MVwzMTJcMzMyXDIwMFwzNzdcMzc3
XDM3N1wzNzciKQ0KYXQgL3Vzci9zcmMvc3lzL2tlcm4va2Vybl9zaHV0ZG93bi5jOjc4OSAjMTIg
MHhmZmZmZmZmZjgwOGQ2NWI3IGluIF9fcndfYXNzZXJ0DQooYz0weGZmZmZmZTAwMTExZWU2NTAs
IHdoYXQ9NCwgZmlsZT0weGZmZmZmZmZmODBkYzUxNTcgIi91c3Ivc3JjL3N5cy9uZXRpbmV0L2lu
X3BjYi5jIiwNCmxpbmU9MTM5MSkgYXQgL3Vzci9zcmMvc3lzL2tlcm4va2Vybl9yd2xvY2suYzox
NDI2ICMxMyBfcndfd3VubG9ja19jb29raWUNCihjPTB4ZmZmZmZlMDAxMTFlZTY1MCwgZmlsZT0w
eGZmZmZmZmZmODBkYzUxNTcgIi91c3Ivc3JjL3N5cy9uZXRpbmV0L2luX3BjYi5jIiwNCmxpbmU9
MTM5MSkgYXQgL3Vzci9zcmMvc3lzL2tlcm4va2Vybl9yd2xvY2suYzozNjIgIzE0IDB4ZmZmZmZm
ZmY4MGE2OGNhYSBpbiBpbl9wY2JmcmVlDQooaW5wPTB4ZmZmZmY4MDA2NjA1OGIxMCkgYXQgL3Vz
ci9zcmMvc3lzL25ldGluZXQvaW5fcGNiLmM6MTM5MSAjMTUgMHhmZmZmZmZmZjgwYjA5YTZlIGlu
DQp0Y3BfZGV0YWNoIChzbz08b3B0aW1pemVkIG91dD4sIGlucD08b3B0aW1pemVkIG91dD4pDQph
dCAvdXNyL3NyYy9zeXMvbmV0aW5ldC90Y3BfdXNycmVxLmM6MjU4ICMxNiB0Y3BfdXNyX2RldGFj
aCAoc289PG9wdGltaXplZCBvdXQ+KQ0KYXQgL3Vzci9zcmMvc3lzL25ldGluZXQvdGNwX3VzcnJl
cS5jOjI4OSAjMTcgMHhmZmZmZmZmZjgwOTdjMzk0IGluIHNvZnJlZQ0KKHNvPTB4ZmZmZmY4MDAx
OTg4ZDM1OCkgYXQgL3Vzci9zcmMvc3lzL2tlcm4vdWlwY19zb2NrZXQuYzoxMDMyICMxOCAweGZm
ZmZmZmZmODA5N2Q0ODcgaW4NCnNvY2xvc2UgKHNvPTB4ZmZmZmY4MDAxOTg4ZDM1OCkgYXQgL3Vz
ci9zcmMvc3lzL2tlcm4vdWlwY19zb2NrZXQuYzoxMTI2ICMxOQ0KMHhmZmZmZmZmZjgwODg1YWQ1
IGluIGZvX2Nsb3NlIChmcD08b3B0aW1pemVkIG91dD4sIHRkPTxvcHRpbWl6ZWQgb3V0PikNCmF0
IC91c3Ivc3JjL3N5cy9zeXMvZmlsZS5oOjM0OCAjMjAgX2Zkcm9wIChmcD08b3B0aW1pemVkIG91
dD4sIHRkPTxvcHRpbWl6ZWQgb3V0PikNCmF0IC91c3Ivc3JjL3N5cy9rZXJuL2tlcm5fZGVzY3Jp
cC5jOjI5NTcgIzIxIGNsb3NlZiAoZnA9MHhmZmZmZjgwMDA0ZWY0ZWIwLA0KdGQ9MHhmZmZmZjgw
MDE5ODkxNTYwKSBhdCAvdXNyL3NyYy9zeXMva2Vybi9rZXJuX2Rlc2NyaXAuYzoyNTM4ICMyMiAw
eGZmZmZmZmZmODA4ODI5MjAgaW4NCmNsb3NlZnAgKGZkcD0weGZmZmZmODAwMTk1NTM0NTAsIGZk
PTEyLCBmcD0weGZmZmZmODAwMDRlZjRlYjAsIHRkPTB4ZmZmZmY4MDAxOTg5MTU2MCwNCmhvbGRs
ZWFkZXJzPTApIGF0IC91c3Ivc3JjL3N5cy9rZXJuL2tlcm5fZGVzY3JpcC5jOjEyMDggIzIzIDB4
ZmZmZmZmZmY4MGM4MjAzMyBpbg0Kc3lzY2FsbGVudGVyICh0ZD0weGZmZmZmODAwMTk4OTE1NjAp
DQphdCAvdXNyL3NyYy9zeXMvYW1kNjQvYW1kNjQvLi4vLi4va2Vybi9zdWJyX3N5c2NhbGwuYzox
MzUgIzI0IGFtZDY0X3N5c2NhbGwNCih0ZD0weGZmZmZmODAwMTk4OTE1NjAsIHRyYWNlZD0wKSBh
dCAvdXNyL3NyYy9zeXMvYW1kNjQvYW1kNjQvdHJhcC5jOjk0NSAjMjUgPHNpZ25hbA0KaGFuZGxl
ciBjYWxsZWQ+ICMyNiAweDAwMDAwMDA4MDExMWFkZGEgaW4gPz8gKCkgQmFja3RyYWNlIHN0b3Bw
ZWQ6IENhbm5vdCBhY2Nlc3MgbWVtb3J5DQphdCBhZGRyZXNzIDB4N2ZmZmRmM2Y3MjI4IChrZ2Ri
KSANCg0KDQoNCg0KPiAtLS0tLUJFR0lOIFBHUCBTSUdORUQgTUVTU0FHRS0tLS0tDQo+IEhhc2g6
IFNIQTUxMg0KPiANCj4gQW0gVGh1LCAzIE1heSAyMDE4IDEyOjUzOjA1IC0wNzAwDQo+ICJLLiBN
YWN5IiA8a21hY3lAZnJlZWJzZC5vcmc+IHNjaHJpZWI6DQo+IA0KPiA+IENhbiB5b3UgZ2l2ZSBh
bnkgY29udGV4dCBvbiB3aGF0IHRoZXkncmUgZG9pbmc/IEluIGFkZGl0aW9uIC0gZXZlbiBvbg0K
PiA+IGEgcHJvZHVjdGlvbiBrZXJuZWwgaXQncyBwb3NzaWJsZSB0byBjb21waWxlIGluIEREQiB0
byBhdCBsZWFzdCBnZXQgYQ0KPiA+IGJhY2t0cmFjZS4gWW91ciByZXBvcnQgb25seSBnaXZlcyB1
cyBlbm91Z2ggaW5mb3JtYXRpb24gdG8ga25vdyB0aGF0ICANCj4gDQo+IE5vdCBhdCB0aGUgbW9t
ZW50LiBUaGUgaW1tZWRpYXRlIGNyYXNoIGNvcnJ1cHRlZCB0aGUgL3Vzci9zcmMgZmlsZXN5c3Rl
bSBzbyBJIGNhbiBub3QNCj4gcmVjb21waWxlIGEga2VybmVsLiBFdmVyeSBhdHRlbXB0IHRvIC9l
dGMvbmV0c3RhcnQgdGhlIG5ldHdvcmsgb24gdGhlIGJ1Z2d5IGtlcm5lbCBlbmRzDQo+IHVwIGlu
IGEgZnVydGhlciBkZXN0cnVjdGlvbiwgc28gSSBzdG9wcGVkIGF0IHRoaXMgdmVyeSBtb21lbnQg
YW5kIGhvcGVmdWxseSBJIGNhbg0KPiBjb3B5IC91c3Ivc3JjIGZyb20gYSByMzMxNTMgYm94IChy
MzMzMTUzIGlzIGZvciBtZSB0aGUgbGFzdCB3b3JraW5nIHJldmlzaW9uKSB2aWEgVVNCDQo+IGZs
YXNoIGRyaXZlIGFuZCByZWNvbXBpbGUgdGhlIGtlcm5lbC4gQnV0IEknbGwgZ28gZm9yIHIzMzMx
NTMgZmlyc3Qgc2luY2UgSSBuZWVkIHRoZQ0KPiBzZXJ2ZXIgdXAgdG9tb3Jyb3cgYW5kIEknbGwg
dHJ5IG9uIHRoZSBvdGhlciBib3ggd2hpY2ggaXMgYWxzbyBhZmZlY3RlZCwgYnV0IGFsc28NCj4g
ZXF1aXB0ZWQgd2l0aCB0aGUgaTM1MCBOSUMgb24gd2hpY2ggdGhlIHByb2JsZW0gb2NjdXJzIHZl
cnkgcXVpY2tseS4NCj4gDQo+ID4gdGhlcmUgaXMgX2FuXyBpc3N1ZS4gSXQncyBkaWZmaWN1bHQg
dG8gcHJvY2VlZCBvbiB0aGlzIGFsb25lLiBJIGRvDQo+ID4gaGF2ZSBhIHJlcG9ydCBmcm9tIHRo
ZSBGcmVlQlNEIENJIGluZnJhc3RydWN0dXJlIHRoYXQgd2UncmUgbG9va2luZyBpbg0KPiA+IHRv
IG5vdy4gIFdpdGggbHVjayB0aGF0IGlzIHRoZSBzYW1lIGlzc3VlLg0KPiA+IA0KPiA+IC1NDQo+
ID4gDQo+ID4gT24gVGh1LCBNYXkgMywgMjAxOCBhdCAxMjozMSBQTSwgTy4gSGFydG1hbm4gPG9o
YXJ0bWFubkB3YWxzdGF0dC5vcmc+IHdyb3RlOiAgDQo+ID4gPiAtLS0tLUJFR0lOIFBHUCBTSUdO
RUQgTUVTU0FHRS0tLS0tDQo+ID4gPiBIYXNoOiBTSEE1MTINCj4gPiA+DQo+ID4gPiBBbSBXZWQs
IDIgTWF5IDIwMTggMTk6MzY6MjkgKzAwMDAgKFVUQykNCj4gPiA+IFN0ZXBoZW4gSHVyZCA8c2h1
cmRARnJlZUJTRC5vcmc+IHNjaHJpZWI6DQo+ID4gPiAgICANCj4gPiA+PiBBdXRob3I6IHNodXJk
DQo+ID4gPj4gRGF0ZTogV2VkIE1heSAgMiAxOTozNjoyOSAyMDE4DQo+ID4gPj4gTmV3IFJldmlz
aW9uOiAzMzMxNzUNCj4gPiA+PiBVUkw6IGh0dHBzOi8vc3Zud2ViLmZyZWVic2Qub3JnL2NoYW5n
ZXNldC9iYXNlLzMzMzE3NQ0KPiA+ID4+DQo+ID4gPj4gTG9nOg0KPiA+ID4+ICAgU2VwYXJhdGUg
bGlzdCBtYW5pcHVsYXRpb24gbG9ja2luZyBmcm9tIHN0YXRlIGNoYW5nZSBpbiBtdWx0aWNhc3QN
Cj4gPiA+Pg0KPiA+ID4+ICAgTXVsdGljYXN0IGluY29ycmVjdGx5IGNhbGxzIGluIHRvIGRyaXZl
cnMgd2l0aCBhIG11dGV4IGhlbGQgY2F1c2luZyBkcml2ZXJzDQo+ID4gPj4gICB0byBoYXZlIHRv
IGdvIHRocm91Z2ggYWxsIG1hbm5lciBvZiBjb250b3J0aW9ucyB0byB1c2UgYSBub24gc2xlZXBh
YmxlIGxvY2suDQo+ID4gPj4gICBTZXJpYWxpemUgbXVsdGljYXN0IHVwZGF0ZXMgaW5zdGVhZC4N
Cj4gPiA+Pg0KPiA+ID4+ICAgU3VibWl0dGVkIGJ5OiAgICAgICBtbWFjeSA8bW1hY3lAbWF0dG1h
Y3kuaW8+DQo+ID4gPj4gICBSZXZpZXdlZCBieTogICAgICAgIHNodXJkLCBzYnJ1bm8NCj4gPiA+
PiAgIFNwb25zb3JlZCBieTogICAgICAgTGltZWxpZ2h0IE5ldHdvcmtzDQo+ID4gPj4gICBEaWZm
ZXJlbnRpYWwgUmV2aXNpb246ICAgICAgaHR0cHM6Ly9yZXZpZXdzLmZyZWVic2Qub3JnL0QxNDk2
OQ0KPiA+ID4+DQo+ID4gPj4gTW9kaWZpZWQ6DQo+ID4gPj4gICBoZWFkL3N5cy9rZXJuL3N1YnJf
Z3Rhc2txdWV1ZS5jDQo+ID4gPj4gICBoZWFkL3N5cy9rZXJuL3N1YnJfd2l0bmVzcy5jDQo+ID4g
Pj4gICBoZWFkL3N5cy9uZXQvaWYuYw0KPiA+ID4+ICAgaGVhZC9zeXMvbmV0aW5ldC9pZ21wLmMN
Cj4gPiA+PiAgIGhlYWQvc3lzL25ldGluZXQvaWdtcF92YXIuaA0KPiA+ID4+ICAgaGVhZC9zeXMv
bmV0aW5ldC9pbi5jDQo+ID4gPj4gICBoZWFkL3N5cy9uZXRpbmV0L2luX21jYXN0LmMNCj4gPiA+
PiAgIGhlYWQvc3lzL25ldGluZXQvaW5fcGNiLmMNCj4gPiA+PiAgIGhlYWQvc3lzL25ldGluZXQv
aW5fdmFyLmgNCj4gPiA+PiAgIGhlYWQvc3lzL25ldGluZXQvaXBfY2FycC5jDQo+ID4gPj4gICBo
ZWFkL3N5cy9uZXRpbmV0Ni9pbjYuYw0KPiA+ID4+ICAgaGVhZC9zeXMvbmV0aW5ldDYvaW42X2lm
YXR0YWNoLmMNCj4gPiA+PiAgIGhlYWQvc3lzL25ldGluZXQ2L2luNl9tY2FzdC5jDQo+ID4gPj4g
ICBoZWFkL3N5cy9uZXRpbmV0Ni9pbjZfcGNiLmMNCj4gPiA+PiAgIGhlYWQvc3lzL25ldGluZXQ2
L2luNl92YXIuaA0KPiA+ID4+ICAgaGVhZC9zeXMvbmV0aW5ldDYvbWxkNi5jDQo+ID4gPj4gICBo
ZWFkL3N5cy9uZXRpbmV0Ni9tbGQ2X3Zhci5oDQo+ID4gPj4gICBoZWFkL3N5cy9zeXMvZ3Rhc2tx
dWV1ZS5oDQo+ID4gPj4NCj4gPiA+PiBNb2RpZmllZDogaGVhZC9zeXMva2Vybi9zdWJyX2d0YXNr
cXVldWUuYw0KPiA+ID4+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KPiA+ID4+IC0tLSBoZWFkL3N5
cy9rZXJuL3N1YnJfZ3Rhc2txdWV1ZS5jICAgV2VkIE1heSAgMiAxNzo0MTowMCAyMDE4ICAgICAg
ICAocjMzMzE3NCkNCj4gPiA+PiArKysgaGVhZC9zeXMva2Vybi9zdWJyX2d0YXNrcXVldWUuYyAg
IFdlZCBNYXkgIDIgMTk6MzY6MjkgMjAxOCAgICAgICAgKHIzMzMxNzUpDQo+ID4gPj4gQEAgLTUz
LDYgKzUzLDcgQEAgc3RhdGljIHZvaWQgZ3Rhc2txdWV1ZV90aHJlYWRfZW5xdWV1ZSh2b2lkICop
Ow0KPiA+ID4+ICBzdGF0aWMgdm9pZCAgZ3Rhc2txdWV1ZV90aHJlYWRfbG9vcCh2b2lkICphcmcp
Ow0KPiA+ID4+DQo+ID4gPj4gIFRBU0tRR1JPVVBfREVGSU5FKHNvZnRpcnEsIG1wX25jcHVzLCAx
KTsNCj4gPiA+PiArVEFTS1FHUk9VUF9ERUZJTkUoY29uZmlnLCAxLCAxKTsNCj4gPiA+Pg0KPiA+
ID4+ICBzdHJ1Y3QgZ3Rhc2txdWV1ZV9idXN5IHsNCj4gPiA+PiAgICAgICBzdHJ1Y3QgZ3Rhc2sg
ICAgKnRiX3J1bm5pbmc7DQo+ID4gPj4gQEAgLTY2Miw3ICs2NjMsNyBAQCBTWVNJTklUKHRxZ19y
ZWNvcmRfc21wX3N0YXJ0ZWQsIFNJX1NVQl9TTVAsIFNJX09SREVSX0YNCj4gPiA+Pg0KPiA+ID4+
ICB2b2lkDQo+ID4gPj4gIHRhc2txZ3JvdXBfYXR0YWNoKHN0cnVjdCB0YXNrcWdyb3VwICpxZ3Jv
dXAsIHN0cnVjdCBncm91cHRhc2sgKmd0YXNrLA0KPiA+ID4+IC0gICAgdm9pZCAqdW5pcSwgaW50
IGlycSwgY2hhciAqbmFtZSkNCj4gPiA+PiArICAgIHZvaWQgKnVuaXEsIGludCBpcnEsIGNvbnN0
IGNoYXIgKm5hbWUpDQo+ID4gPj4gIHsNCj4gPiA+PiAgICAgICBjcHVzZXRfdCBtYXNrOw0KPiA+
ID4+ICAgICAgIGludCBxaWQsIGVycm9yOw0KPiA+ID4+IEBAIC05NzYsNCArOTc3LDEzIEBAIHZv
aWQNCj4gPiA+PiAgdGFza3Fncm91cF9kZXN0cm95KHN0cnVjdCB0YXNrcWdyb3VwICpxZ3JvdXAp
DQo+ID4gPj4gIHsNCj4gPiA+Pg0KPiA+ID4+ICt9DQo+ID4gPj4gKw0KPiA+ID4+ICt2b2lkDQo+
ID4gPj4gK3Rhc2txZ3JvdXBfY29uZmlnX2d0YXNrX2luaXQodm9pZCAqY3R4LCBzdHJ1Y3QgZ3Jv
dXB0YXNrICpndGFzaywgZ3Rhc2tfZm5fdCAqZm4sDQo+ID4gPj4gKyAgICAgY29uc3QgY2hhciAq
bmFtZSkNCj4gPiA+PiArew0KPiA+ID4+ICsNCj4gPiA+PiArICAgICBHUk9VUFRBU0tfSU5JVChn
dGFzaywgMCwgZm4sIGN0eCk7DQo+ID4gPj4gKyAgICAgdGFza3Fncm91cF9hdHRhY2gocWdyb3Vw
X2NvbmZpZywgZ3Rhc2ssIGd0YXNrLCAtMSwgbmFtZSk7DQo+ID4gPj4gIH0NCj4gPiA+Pg0KPiA+
ID4+IE1vZGlmaWVkOiBoZWFkL3N5cy9rZXJuL3N1YnJfd2l0bmVzcy5jDQo+ID4gPj4gPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09DQo+ID4gPj4gLS0tIGhlYWQvc3lzL2tlcm4vc3Vicl93aXRuZXNzLmMg
ICAgICBXZWQgTWF5ICAyIDE3OjQxOjAwIDIwMTggICAgICAgIChyMzMzMTc0KQ0KPiA+ID4+ICsr
KyBoZWFkL3N5cy9rZXJuL3N1YnJfd2l0bmVzcy5jICAgICAgV2VkIE1heSAgMiAxOTozNjoyOSAy
MDE4ICAgICAgICAocjMzMzE3NSkNCj4gPiA+PiBAQCAtNTMyLDE4ICs1MzIsMjIgQEAgc3RhdGlj
IHN0cnVjdCB3aXRuZXNzX29yZGVyX2xpc3RfZW50cnkgb3JkZXJfbGlzdHNbXSA9DQo+ID4gPj4g
ICAgICAgICogSVB2NCBtdWx0aWNhc3Q6DQo+ID4gPj4gICAgICAgICogcHJvdG9jb2wgbG9ja3Mg
YmVmb3JlIGludGVyZmFjZSBsb2NrcywgYWZ0ZXIgVURQIGxvY2tzLg0KPiA+ID4+ICAgICAgICAq
Lw0KPiA+ID4+ICsgICAgIHsgImluX211bHRpX3N4IiwgJmxvY2tfY2xhc3Nfc3ggfSwNCj4gPiA+
PiAgICAgICB7ICJ1ZHBpbnAiLCAmbG9ja19jbGFzc19ydyB9LA0KPiA+ID4+IC0gICAgIHsgImlu
X211bHRpX210eCIsICZsb2NrX2NsYXNzX210eF9zbGVlcCB9LA0KPiA+ID4+ICsgICAgIHsgImlu
X211bHRpX2xpc3RfbXR4IiwgJmxvY2tfY2xhc3NfbXR4X3NsZWVwIH0sDQo+ID4gPj4gICAgICAg
eyAiaWdtcF9tdHgiLCAmbG9ja19jbGFzc19tdHhfc2xlZXAgfSwNCj4gPiA+PiArICAgICB7ICJp
Zm5ldF9ydyIsICZsb2NrX2NsYXNzX3J3IH0sDQo+ID4gPj4gICAgICAgeyAiaWZfYWRkcl9sb2Nr
IiwgJmxvY2tfY2xhc3NfcncgfSwNCj4gPiA+PiAgICAgICB7IE5VTEwsIE5VTEwgfSwNCj4gPiA+
PiAgICAgICAvKg0KPiA+ID4+ICAgICAgICAqIElQdjYgbXVsdGljYXN0Og0KPiA+ID4+ICAgICAg
ICAqIHByb3RvY29sIGxvY2tzIGJlZm9yZSBpbnRlcmZhY2UgbG9ja3MsIGFmdGVyIFVEUCBsb2Nr
cy4NCj4gPiA+PiAgICAgICAgKi8NCj4gPiA+PiArICAgICB7ICJpbjZfbXVsdGlfc3giLCAmbG9j
a19jbGFzc19zeCB9LA0KPiA+ID4+ICAgICAgIHsgInVkcGlucCIsICZsb2NrX2NsYXNzX3J3IH0s
DQo+ID4gPj4gLSAgICAgeyAiaW42X211bHRpX210eCIsICZsb2NrX2NsYXNzX210eF9zbGVlcCB9
LA0KPiA+ID4+ICsgICAgIHsgImluNl9tdWx0aV9saXN0X210eCIsICZsb2NrX2NsYXNzX210eF9z
bGVlcCB9LA0KPiA+ID4+ICAgICAgIHsgIm1sZF9tdHgiLCAmbG9ja19jbGFzc19tdHhfc2xlZXAg
fSwNCj4gPiA+PiArICAgICB7ICJpZm5ldF9ydyIsICZsb2NrX2NsYXNzX3J3IH0sDQo+ID4gPj4g
ICAgICAgeyAiaWZfYWRkcl9sb2NrIiwgJmxvY2tfY2xhc3NfcncgfSwNCj4gPiA+PiAgICAgICB7
IE5VTEwsIE5VTEwgfSwNCj4gPiA+PiAgICAgICAvKg0KPiA+ID4+DQo+ID4gPj4gTW9kaWZpZWQ6
IGhlYWQvc3lzL25ldC9pZi5jDQo+ID4gPj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4gPj4g
LS0tIGhlYWQvc3lzL25ldC9pZi5jIFdlZCBNYXkgIDIgMTc6NDE6MDAgMjAxOCAgICAgICAgKHIz
MzMxNzQpDQo+ID4gPj4gKysrIGhlYWQvc3lzL25ldC9pZi5jIFdlZCBNYXkgIDIgMTk6MzY6Mjkg
MjAxOCAgICAgICAgKHIzMzMxNzUpDQo+ID4gPj4gQEAgLTk4NSwxMSArOTg1LDEzIEBAIHN0YXRp
YyB2b2lkDQo+ID4gPj4gIGlmX3B1cmdlbWFkZHJzKHN0cnVjdCBpZm5ldCAqaWZwKQ0KPiA+ID4+
ICB7DQo+ID4gPj4gICAgICAgc3RydWN0IGlmbXVsdGlhZGRyICppZm1hOw0KPiA+ID4+IC0gICAg
IHN0cnVjdCBpZm11bHRpYWRkciAqbmV4dDsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIElGX0FERFJf
V0xPQ0soaWZwKTsNCj4gPiA+PiAtICAgICBUQUlMUV9GT1JFQUNIX1NBRkUoaWZtYSwgJmlmcC0+
aWZfbXVsdGlhZGRycywgaWZtYV9saW5rLCBuZXh0KQ0KPiA+ID4+ICsgICAgIHdoaWxlICghVEFJ
TFFfRU1QVFkoJmlmcC0+aWZfbXVsdGlhZGRycykpIHsNCj4gPiA+PiArICAgICAgICAgICAgIGlm
bWEgPSBUQUlMUV9GSVJTVCgmaWZwLT5pZl9tdWx0aWFkZHJzKTsNCj4gPiA+PiArICAgICAgICAg
ICAgIFRBSUxRX1JFTU9WRSgmaWZwLT5pZl9tdWx0aWFkZHJzLCBpZm1hLCBpZm1hX2xpbmspOw0K
PiA+ID4+ICAgICAgICAgICAgICAgaWZfZGVsbXVsdGlfbG9ja2VkKGlmcCwgaWZtYSwgMSk7DQo+
ID4gPj4gKyAgICAgfQ0KPiA+ID4+ICAgICAgIElGX0FERFJfV1VOTE9DSyhpZnApOw0KPiA+ID4+
ICB9DQo+ID4gPj4NCj4gPiA+PiBAQCAtMzQyOSw2ICszNDMxLDEyIEBAIGlmX2FkZG11bHRpKHN0
cnVjdCBpZm5ldCAqaWZwLCBzdHJ1Y3Qgc29ja2FkZHIgKnNhLA0KPiA+ID4+ICAgICAgIHN0cnVj
dCBzb2NrYWRkcl9kbCBzZGw7DQo+ID4gPj4gICAgICAgaW50IGVycm9yOw0KPiA+ID4+DQo+ID4g
Pj4gKyNpZmRlZiBJTkVUDQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9VTkxPQ0tfQVNTRVJU
KCk7DQo+ID4gPj4gKyNlbmRpZg0KPiA+ID4+ICsjaWZkZWYgSU5FVDYNCj4gPiA+PiArICAgICBJ
TjZfTVVMVElfTElTVF9VTkxPQ0tfQVNTRVJUKCk7DQo+ID4gPj4gKyNlbmRpZg0KPiA+ID4+ICAg
ICAgIC8qDQo+ID4gPj4gICAgICAgICogSWYgdGhlIGFkZHJlc3MgaXMgYWxyZWFkeSBwcmVzZW50
LCByZXR1cm4gYSBuZXcgcmVmZXJlbmNlIHRvIGl0Ow0KPiA+ID4+ICAgICAgICAqIG90aGVyd2lz
ZSwgYWxsb2NhdGUgc3RvcmFnZSBhbmQgc2V0IHVwIGEgbmV3IGFkZHJlc3MuDQo+ID4gPj4gQEAg
LTM2MTAsNiArMzYxOCw5IEBAIGlmX2RlbG11bHRpX2lmbWEoc3RydWN0IGlmbXVsdGlhZGRyICpp
Zm1hKQ0KPiA+ID4+ICAgICAgIHN0cnVjdCBpZm5ldCAqaWZwOw0KPiA+ID4+ICAgICAgIGludCBs
YXN0cmVmOw0KPiA+ID4+DQo+ID4gPj4gKyNpZmRlZiBJTkVUDQo+ID4gPj4gKyAgICAgSU5fTVVM
VElfTElTVF9VTkxPQ0tfQVNTRVJUKCk7DQo+ID4gPj4gKyNlbmRpZg0KPiA+ID4+ICAgICAgIGlm
cCA9IGlmbWEtPmlmbWFfaWZwOw0KPiA+ID4+ICAjaWZkZWYgRElBR05PU1RJQw0KPiA+ID4+ICAg
ICAgIGlmIChpZnAgPT0gTlVMTCkgew0KPiA+ID4+IEBAIC0zNzExLDggKzM3MjIsNyBAQCBpZl9k
ZWxtdWx0aV9sb2NrZWQoc3RydWN0IGlmbmV0ICppZnAsIHN0cnVjdCBpZm11bHRpYWQNCj4gPiA+
PiAgICAgICAgICAgICAgICAgICAgICAgaWZfZnJlZW11bHRpKGxsX2lmbWEpOw0KPiA+ID4+ICAg
ICAgICAgICAgICAgfQ0KPiA+ID4+ICAgICAgIH0NCj4gPiA+PiAtDQo+ID4gPj4gLSAgICAgaWYg
KGlmcCAhPSBOVUxMKQ0KPiA+ID4+ICsgICAgIGlmIChpZnAgIT0gTlVMTCAmJiBkZXRhY2hpbmcg
PT0gMCkNCj4gPiA+PiAgICAgICAgICAgICAgIFRBSUxRX1JFTU9WRSgmaWZwLT5pZl9tdWx0aWFk
ZHJzLCBpZm1hLCBpZm1hX2xpbmspOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgaWZfZnJlZW11bHRp
KGlmbWEpOw0KPiA+ID4+DQo+ID4gPj4gTW9kaWZpZWQ6IGhlYWQvc3lzL25ldGluZXQvaWdtcC5j
DQo+ID4gPj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4gPj4gLS0tIGhlYWQvc3lzL25ldGlu
ZXQvaWdtcC5jICAgV2VkIE1heSAgMiAxNzo0MTowMCAyMDE4ICAgICAgICAocjMzMzE3NCkNCj4g
PiA+PiArKysgaGVhZC9zeXMvbmV0aW5ldC9pZ21wLmMgICBXZWQgTWF5ICAyIDE5OjM2OjI5IDIw
MTggICAgICAgIChyMzMzMTc1KQ0KPiA+ID4+IEBAIC0xMzYsNyArMTM2LDcgQEAgc3RhdGljIGlu
dCAgICAgICAgaWdtcF92M19lbnF1ZXVlX2dyb3VwX3JlY29yZChzdHJ1Y3QgbWJ1ZnEgKg0KPiA+
ID4+ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBpbl9tdWx0aSAqLCBjb25zdCBpbnQsIGNvbnN0
IGludCwgY29uc3QgaW50KTsNCj4gPiA+PiAgc3RhdGljIGludCAgIGlnbXBfdjNfZW5xdWV1ZV9m
aWx0ZXJfY2hhbmdlKHN0cnVjdCBtYnVmcSAqLA0KPiA+ID4+ICAgICAgICAgICAgICAgICAgIHN0
cnVjdCBpbl9tdWx0aSAqKTsNCj4gPiA+PiAtc3RhdGljIHZvaWQgIGlnbXBfdjNfcHJvY2Vzc19n
cm91cF90aW1lcnMoc3RydWN0IGlnbXBfaWZzb2Z0YyAqLA0KPiA+ID4+ICtzdGF0aWMgdm9pZCAg
aWdtcF92M19wcm9jZXNzX2dyb3VwX3RpbWVycyhzdHJ1Y3QgaW5fbXVsdGlfaGVhZCAqLA0KPiA+
ID4+ICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtYnVmcSAqLCBzdHJ1Y3QgbWJ1ZnEgKiwgc3Ry
dWN0IGluX211bHRpICosDQo+ID4gPj4gICAgICAgICAgICAgICAgICAgY29uc3QgaW50KTsNCj4g
PiA+PiAgc3RhdGljIGludCAgIGlnbXBfdjNfbWVyZ2Vfc3RhdGVfY2hhbmdlcyhzdHJ1Y3QgaW5f
bXVsdGkgKiwNCj4gPiA+PiBAQCAtMTYyLDEyICsxNjIsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVj
dCBuZXRpc3JfaGFuZGxlciBpZ21wX25oID0gew0KPiA+ID4+ICAgKiB0aGVtc2VsdmVzIGFyZSBu
b3QgdmlydHVhbGl6ZWQuDQo+ID4gPj4gICAqDQo+ID4gPj4gICAqIExvY2tpbmc6DQo+ID4gPj4g
LSAqICAqIFRoZSBwZXJtaXR0ZWQgbG9jayBvcmRlciBpczogSU5fTVVMVElfTE9DSywgSUdNUF9M
T0NLLCBJRl9BRERSX0xPQ0suDQo+ID4gPj4gKyAqICAqIFRoZSBwZXJtaXR0ZWQgbG9jayBvcmRl
ciBpczogSU5fTVVMVElfTElTVF9MT0NLLCBJR01QX0xPQ0ssIElGX0FERFJfTE9DSy4NCj4gPiA+
PiAgICogICAgQW55IG1heSBiZSB0YWtlbiBpbmRlcGVuZGVudGx5OyBpZiBhbnkgYXJlIGhlbGQg
YXQgdGhlIHNhbWUNCj4gPiA+PiAgICogICAgdGltZSwgdGhlIGFib3ZlIGxvY2sgb3JkZXIgbXVz
dCBiZSBmb2xsb3dlZC4NCj4gPiA+PiAgICogICogQWxsIG91dHB1dCBpcyBkZWxlZ2F0ZWQgdG8g
dGhlIG5ldGlzci4NCj4gPiA+PiAgICogICAgTm93IHRoYXQgR2lhbnQgaGFzIGJlZW4gZWxpbWlu
YXRlZCwgdGhlIG5ldGlzciBtYXkgYmUgaW5saW5lZC4NCj4gPiA+PiAtICogICogSU5fTVVMVElf
TE9DSyBjb3ZlcnMgaW5fbXVsdGkuDQo+ID4gPj4gKyAqICAqIElOX01VTFRJX0xJU1RfTE9DSyBj
b3ZlcnMgaW5fbXVsdGkuDQo+ID4gPj4gICAqICAqIElHTVBfTE9DSyBjb3ZlcnMgaWdtcF9pZnNv
ZnRjIGFuZCBhbnkgZ2xvYmFsIHZhcmlhYmxlcyBpbiB0aGlzIGZpbGUsDQo+ID4gPj4gICAqICAg
IGluY2x1ZGluZyB0aGUgb3V0cHV0IHF1ZXVlLg0KPiA+ID4+ICAgKiAgKiBJRl9BRERSX0xPQ0sg
Y292ZXJzIGlmX211bHRpYWRkcnMsIHdoaWNoIGlzIHVzZWQgZm9yIGEgdmFyaWV0eSBvZg0KPiA+
ID4+IEBAIC00NDEsNyArNDQxLDcgQEAgc3lzY3RsX2lnbXBfaWZpbmZvKFNZU0NUTF9IQU5ETEVS
X0FSR1MpDQo+ID4gPj4gICAgICAgaWYgKGVycm9yKQ0KPiA+ID4+ICAgICAgICAgICAgICAgcmV0
dXJuIChlcnJvcik7DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLKCk7DQo+ID4g
Pj4gKyAgICAgSU5fTVVMVElfTElTVF9MT0NLKCk7DQo+ID4gPj4gICAgICAgSUdNUF9MT0NLKCk7
DQo+ID4gPj4NCj4gPiA+PiAgICAgICBpZiAobmFtZVswXSA8PSAwIHx8IG5hbWVbMF0gPiBWX2lm
X2luZGV4KSB7DQo+ID4gPj4gQEAgLTQ3NSw3ICs0NzUsNyBAQCBzeXNjdGxfaWdtcF9pZmluZm8o
U1lTQ1RMX0hBTkRMRVJfQVJHUykNCj4gPiA+Pg0KPiA+ID4+ICBvdXRfbG9ja2VkOg0KPiA+ID4+
ICAgICAgIElHTVBfVU5MT0NLKCk7DQo+ID4gPj4gLSAgICAgSU5fTVVMVElfVU5MT0NLKCk7DQo+
ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9VTkxPQ0soKTsNCj4gPiA+PiAgICAgICByZXR1cm4g
KGVycm9yKTsNCj4gPiA+PiAgfQ0KPiA+ID4+DQo+ID4gPj4gQEAgLTU4Niw3ICs1ODYsNiBAQCBp
Z2lfYWxsb2NfbG9ja2VkKC8qY29uc3QqLyBzdHJ1Y3QgaWZuZXQgKmlmcCkNCj4gPiA+PiAgICAg
ICBpZ2ktPmlnaV9xaSA9IElHTVBfUUlfSU5JVDsNCj4gPiA+PiAgICAgICBpZ2ktPmlnaV9xcmkg
PSBJR01QX1FSSV9JTklUOw0KPiA+ID4+ICAgICAgIGlnaS0+aWdpX3VyaSA9IElHTVBfVVJJX0lO
SVQ7DQo+ID4gPj4gLSAgICAgU0xJU1RfSU5JVCgmaWdpLT5pZ2lfcmVsaW5taGVhZCk7DQo+ID4g
Pj4gICAgICAgbWJ1ZnFfaW5pdCgmaWdpLT5pZ2lfZ3EsIElHTVBfTUFYX1JFU1BPTlNFX1BBQ0tF
VFMpOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgTElTVF9JTlNFUlRfSEVBRCgmVl9pZ2lfaGVhZCwg
aWdpLCBpZ2lfbGluayk7DQo+ID4gPj4gQEAgLTYxMiwxMSArNjExLDEyIEBAIGlnbXBfaWZkZXRh
Y2goc3RydWN0IGlmbmV0ICppZnApDQo+ID4gPj4gIHsNCj4gPiA+PiAgICAgICBzdHJ1Y3QgaWdt
cF9pZnNvZnRjICAgICAqaWdpOw0KPiA+ID4+ICAgICAgIHN0cnVjdCBpZm11bHRpYWRkciAgICAg
ICppZm1hOw0KPiA+ID4+IC0gICAgIHN0cnVjdCBpbl9tdWx0aSAgICAgICAgICppbm0sICp0aW5t
Ow0KPiA+ID4+IC0NCj4gPiA+PiArICAgICBzdHJ1Y3QgaW5fbXVsdGkgICAgICAgICAqaW5tOw0K
PiA+ID4+ICsgICAgIHN0cnVjdCBpbl9tdWx0aV9oZWFkIGlubV9mcmVlX3RtcDsNCj4gPiA+PiAg
ICAgICBDVFIzKEtUUl9JR01QVjMsICIlczogY2FsbGVkIGZvciBpZnAgJXAoJXMpIiwgX19mdW5j
X18sIGlmcCwNCj4gPiA+PiAgICAgICAgICAgaWZwLT5pZl94bmFtZSk7DQo+ID4gPj4NCj4gPiA+
PiArICAgICBTTElTVF9JTklUKCZpbm1fZnJlZV90bXApOw0KPiA+ID4+ICAgICAgIElHTVBfTE9D
SygpOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgaWdpID0gKChzdHJ1Y3QgaW5faWZpbmZvICopaWZw
LT5pZl9hZmRhdGFbQUZfSU5FVF0pLT5paV9pZ21wOw0KPiA+ID4+IEBAIC02MzEsMjQgKzYzMSwx
NSBAQCBpZ21wX2lmZGV0YWNoKHN0cnVjdCBpZm5ldCAqaWZwKQ0KPiA+ID4+ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKCIlczogaWZtYV9wcm90b3NwZWMgaXMgTlVMTCIsIF9fZnVuY19fKSk7
DQo+ID4gPj4gICNlbmRpZg0KPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICBpbm0gPSAoc3Ry
dWN0IGluX211bHRpICopaWZtYS0+aWZtYV9wcm90b3NwZWM7DQo+ID4gPj4gLSAgICAgICAgICAg
ICAgICAgICAgIGlmIChpbm0tPmlubV9zdGF0ZSA9PSBJR01QX0xFQVZJTkdfTUVNQkVSKSB7DQo+
ID4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0xJU1RfSU5TRVJUX0hFQUQoJmln
aS0+aWdpX3JlbGlubWhlYWQsDQo+ID4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgIGlubSwgaW5tX25yZWxlKTsNCj4gPiA+PiAtICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+
ID4+ICsgICAgICAgICAgICAgICAgICAgICBpZiAoaW5tLT5pbm1fc3RhdGUgPT0gSUdNUF9MRUFW
SU5HX01FTUJFUikNCj4gPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm1fcmVs
ZV9sb2NrZWQoJmlubV9mcmVlX3RtcCwgaW5tKTsNCj4gPiA+PiAgICAgICAgICAgICAgICAgICAg
ICAgaW5tX2NsZWFyX3JlY29yZGVkKGlubSk7DQo+ID4gPj4gICAgICAgICAgICAgICB9DQo+ID4g
Pj4gICAgICAgICAgICAgICBJRl9BRERSX1JVTkxPQ0soaWZwKTsNCj4gPiA+PiAtICAgICAgICAg
ICAgIC8qDQo+ID4gPj4gLSAgICAgICAgICAgICAgKiBGcmVlIHRoZSBpbl9tdWx0aSByZWZlcmVu
Y2UocykgZm9yIHRoaXMgSUdNUCBsaWZlY3ljbGUuDQo+ID4gPj4gLSAgICAgICAgICAgICAgKi8N
Cj4gPiA+PiAtICAgICAgICAgICAgIFNMSVNUX0ZPUkVBQ0hfU0FGRShpbm0sICZpZ2ktPmlnaV9y
ZWxpbm1oZWFkLCBpbm1fbnJlbGUsDQo+ID4gPj4gLSAgICAgICAgICAgICAgICAgdGlubSkgew0K
PiA+ID4+IC0gICAgICAgICAgICAgICAgICAgICBTTElTVF9SRU1PVkVfSEVBRCgmaWdpLT5pZ2lf
cmVsaW5taGVhZCwgaW5tX25yZWxlKTsNCj4gPiA+PiAtICAgICAgICAgICAgICAgICAgICAgaW5t
X3JlbGVhc2VfbG9ja2VkKGlubSk7DQo+ID4gPj4gLSAgICAgICAgICAgICB9DQo+ID4gPj4gKyAg
ICAgICAgICAgICBpbm1fcmVsZWFzZV9saXN0X2RlZmVycmVkKCZpbm1fZnJlZV90bXApOw0KPiA+
ID4+ICAgICAgIH0NCj4gPiA+PiAtDQo+ID4gPj4gICAgICAgSUdNUF9VTkxPQ0soKTsNCj4gPiA+
PiArDQo+ID4gPj4gIH0NCj4gPiA+Pg0KPiA+ID4+ICAvKg0KPiA+ID4+IEBAIC02ODQsMTEgKzY3
NSw2IEBAIGlnaV9kZWxldGVfbG9ja2VkKGNvbnN0IHN0cnVjdCBpZm5ldCAqaWZwKQ0KPiA+ID4+
ICAgICAgICAgICAgICAgICAgICAgICBtYnVmcV9kcmFpbigmaWdpLT5pZ2lfZ3EpOw0KPiA+ID4+
DQo+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgIExJU1RfUkVNT1ZFKGlnaSwgaWdpX2xpbmsp
Ow0KPiA+ID4+IC0NCj4gPiA+PiAtICAgICAgICAgICAgICAgICAgICAgS0FTU0VSVChTTElTVF9F
TVBUWSgmaWdpLT5pZ2lfcmVsaW5taGVhZCksDQo+ID4gPj4gLSAgICAgICAgICAgICAgICAgICAg
ICAgICAoIiVzOiB0aGVyZSBhcmUgZGFuZ2xpbmcgaW5fbXVsdGkgcmVmZXJlbmNlcyIsDQo+ID4g
Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgICBfX2Z1bmNfXykpOw0KPiA+ID4+IC0NCj4gPiA+
PiAgICAgICAgICAgICAgICAgICAgICAgZnJlZShpZ2ksIE1fSUdNUCk7DQo+ID4gPj4gICAgICAg
ICAgICAgICAgICAgICAgIHJldHVybjsNCj4gPiA+PiAgICAgICAgICAgICAgIH0NCj4gPiA+PiBA
QCAtNzIyLDcgKzcwOCw3IEBAIGlnbXBfaW5wdXRfdjFfcXVlcnkoc3RydWN0IGlmbmV0ICppZnAs
IGNvbnN0IHN0cnVjdCBpcA0KPiA+ID4+ICAgICAgIH0NCj4gPiA+PiAgICAgICBJR01QU1RBVF9J
TkMoaWdwc19yY3ZfZ2VuX3F1ZXJpZXMpOw0KPiA+ID4+DQo+ID4gPj4gLSAgICAgSU5fTVVMVElf
TE9DSygpOw0KPiA+ID4+ICsgICAgIElOX01VTFRJX0xJU1RfTE9DSygpOw0KPiA+ID4+ICAgICAg
IElHTVBfTE9DSygpOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgaWdpID0gKChzdHJ1Y3QgaW5faWZp
bmZvICopaWZwLT5pZl9hZmRhdGFbQUZfSU5FVF0pLT5paV9pZ21wOw0KPiA+ID4+IEBAIC03Nzgs
NyArNzY0LDcgQEAgaWdtcF9pbnB1dF92MV9xdWVyeShzdHJ1Y3QgaWZuZXQgKmlmcCwgY29uc3Qg
c3RydWN0IGlwDQo+ID4gPj4NCj4gPiA+PiAgb3V0X2xvY2tlZDoNCj4gPiA+PiAgICAgICBJR01Q
X1VOTE9DSygpOw0KPiA+ID4+IC0gICAgIElOX01VTFRJX1VOTE9DSygpOw0KPiA+ID4+ICsgICAg
IElOX01VTFRJX0xJU1RfVU5MT0NLKCk7DQo+ID4gPj4NCj4gPiA+PiAgICAgICByZXR1cm4gKDAp
Ow0KPiA+ID4+ICB9DQo+ID4gPj4gQEAgLTgxNiw3ICs4MDIsNyBAQCBpZ21wX2lucHV0X3YyX3F1
ZXJ5KHN0cnVjdCBpZm5ldCAqaWZwLCBjb25zdCBzdHJ1Y3QgaXANCj4gPiA+PiAgICAgICAgICAg
ICAgIElHTVBTVEFUX0lOQyhpZ3BzX3Jjdl9ncm91cF9xdWVyaWVzKTsNCj4gPiA+PiAgICAgICB9
DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLKCk7DQo+ID4gPj4gKyAgICAgSU5f
TVVMVElfTElTVF9MT0NLKCk7DQo+ID4gPj4gICAgICAgSUdNUF9MT0NLKCk7DQo+ID4gPj4NCj4g
PiA+PiAgICAgICBpZ2kgPSAoKHN0cnVjdCBpbl9pZmluZm8gKilpZnAtPmlmX2FmZGF0YVtBRl9J
TkVUXSktPmlpX2lnbXA7DQo+ID4gPj4gQEAgLTg3Miw3ICs4NTgsNyBAQCBpZ21wX2lucHV0X3Yy
X3F1ZXJ5KHN0cnVjdCBpZm5ldCAqaWZwLCBjb25zdCBzdHJ1Y3QgaXANCj4gPiA+Pg0KPiA+ID4+
ICBvdXRfbG9ja2VkOg0KPiA+ID4+ICAgICAgIElHTVBfVU5MT0NLKCk7DQo+ID4gPj4gLSAgICAg
SU5fTVVMVElfVU5MT0NLKCk7DQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9VTkxPQ0soKTsN
Cj4gPiA+Pg0KPiA+ID4+ICAgICAgIHJldHVybiAoMCk7DQo+ID4gPj4gIH0NCj4gPiA+PiBAQCAt
ODk5LDcgKzg4NSw3IEBAIGlnbXBfdjJfdXBkYXRlX2dyb3VwKHN0cnVjdCBpbl9tdWx0aSAqaW5t
LCBjb25zdCBpbnQgdA0KPiA+ID4+ICAgICAgIENUUjQoS1RSX0lHTVBWMywgIjB4JTA4eDogJXMv
JXMgdGltZXI9JWQiLCBfX2Z1bmNfXywNCj4gPiA+PiAgICAgICAgICAgbnRvaGwoaW5tLT5pbm1f
YWRkci5zX2FkZHIpLCBpbm0tPmlubV9pZnAtPmlmX3huYW1lLCB0aW1lcik7DQo+ID4gPj4NCj4g
PiA+PiAtICAgICBJTl9NVUxUSV9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+ICsgICAgIElOX01VTFRJ
X0xJU1RfTE9DS19BU1NFUlQoKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIHN3aXRjaCAoaW5tLT5p
bm1fc3RhdGUpIHsNCj4gPiA+PiAgICAgICBjYXNlIElHTVBfTk9UX01FTUJFUjoNCj4gPiA+PiBA
QCAtMTAxMSw3ICs5OTcsNyBAQCBpZ21wX2lucHV0X3YzX3F1ZXJ5KHN0cnVjdCBpZm5ldCAqaWZw
LCBjb25zdCBzdHJ1Y3QgaXANCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgSUdNUFNUQVRf
SU5DKGlncHNfcmN2X2dzcl9xdWVyaWVzKTsNCj4gPiA+PiAgICAgICB9DQo+ID4gPj4NCj4gPiA+
PiAtICAgICBJTl9NVUxUSV9MT0NLKCk7DQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9MT0NL
KCk7DQo+ID4gPj4gICAgICAgSUdNUF9MT0NLKCk7DQo+ID4gPj4NCj4gPiA+PiAgICAgICBpZ2kg
PSAoKHN0cnVjdCBpbl9pZmluZm8gKilpZnAtPmlmX2FmZGF0YVtBRl9JTkVUXSktPmlpX2lnbXA7
DQo+ID4gPj4gQEAgLTEwOTIsNyArMTA3OCw3IEBAIGlnbXBfaW5wdXRfdjNfcXVlcnkoc3RydWN0
IGlmbmV0ICppZnAsIGNvbnN0IHN0cnVjdCBpcA0KPiA+ID4+DQo+ID4gPj4gIG91dF9sb2NrZWQ6
DQo+ID4gPj4gICAgICAgSUdNUF9VTkxPQ0soKTsNCj4gPiA+PiAtICAgICBJTl9NVUxUSV9VTkxP
Q0soKTsNCj4gPiA+PiArICAgICBJTl9NVUxUSV9MSVNUX1VOTE9DSygpOw0KPiA+ID4+DQo+ID4g
Pj4gICAgICAgcmV0dXJuICgwKTsNCj4gPiA+PiAgfQ0KPiA+ID4+IEBAIC0xMTA5LDcgKzEwOTUs
NyBAQCBpZ21wX2lucHV0X3YzX2dyb3VwX3F1ZXJ5KHN0cnVjdCBpbl9tdWx0aSAqaW5tLCBzdHJ1
Y3QNCj4gPiA+PiAgICAgICBpbnQgICAgICAgICAgICAgICAgICAgICAgcmV0dmFsOw0KPiA+ID4+
ICAgICAgIHVpbnQxNl90ICAgICAgICAgICAgICAgICBuc3JjOw0KPiA+ID4+DQo+ID4gPj4gLSAg
ICAgSU5fTVVMVElfTE9DS19BU1NFUlQoKTsNCj4gPiA+PiArICAgICBJTl9NVUxUSV9MSVNUX0xP
Q0tfQVNTRVJUKCk7DQo+ID4gPj4gICAgICAgSUdNUF9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+DQo+
ID4gPj4gICAgICAgcmV0dmFsID0gMDsNCj4gPiA+PiBAQCAtMTI0Niw3ICsxMjMyLDcgQEAgaWdt
cF9pbnB1dF92MV9yZXBvcnQoc3RydWN0IGlmbmV0ICppZnAsIC8qY29uc3QqLyBzdHJ1DQo+ID4g
Pj4gICAgICAgICogSWYgd2UgYXJlIGEgbWVtYmVyIG9mIHRoaXMgZ3JvdXAsIGFuZCBvdXIgbWVt
YmVyc2hpcCBzaG91bGQgYmUNCj4gPiA+PiAgICAgICAgKiByZXBvcnRlZCwgc3RvcCBvdXIgZ3Jv
dXAgdGltZXIgYW5kIHRyYW5zaXRpb24gdG8gdGhlICdsYXp5JyBzdGF0ZS4NCj4gPiA+PiAgICAg
ICAgKi8NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLKCk7DQo+ID4gPj4gKyAgICAgSU5fTVVM
VElfTElTVF9MT0NLKCk7DQo+ID4gPj4gICAgICAgaW5tID0gaW5tX2xvb2t1cChpZnAsIGlnbXAt
PmlnbXBfZ3JvdXApOw0KPiA+ID4+ICAgICAgIGlmIChpbm0gIT0gTlVMTCkgew0KPiA+ID4+ICAg
ICAgICAgICAgICAgc3RydWN0IGlnbXBfaWZzb2Z0YyAqaWdpOw0KPiA+ID4+IEBAIC0xMzA1LDcg
KzEyOTEsNyBAQCBpZ21wX2lucHV0X3YxX3JlcG9ydChzdHJ1Y3QgaWZuZXQgKmlmcCwgLypjb25z
dCovIHN0cnUNCj4gPiA+PiAgICAgICB9DQo+ID4gPj4NCj4gPiA+PiAgb3V0X2xvY2tlZDoNCj4g
PiA+PiAtICAgICBJTl9NVUxUSV9VTkxPQ0soKTsNCj4gPiA+PiArICAgICBJTl9NVUxUSV9MSVNU
X1VOTE9DSygpOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgcmV0dXJuICgwKTsNCj4gPiA+PiAgfQ0K
PiA+ID4+IEBAIC0xMzczLDcgKzEzNTksNyBAQCBpZ21wX2lucHV0X3YyX3JlcG9ydChzdHJ1Y3Qg
aWZuZXQgKmlmcCwgLypjb25zdCovIHN0cnUNCj4gPiA+PiAgICAgICAgKiByZXBvcnRlZCwgYW5k
IG91ciBncm91cCB0aW1lciBpcyBwZW5kaW5nIG9yIGFib3V0IHRvIGJlIHJlc2V0LA0KPiA+ID4+
ICAgICAgICAqIHN0b3Agb3VyIGdyb3VwIHRpbWVyIGJ5IHRyYW5zaXRpb25pbmcgdG8gdGhlICds
YXp5JyBzdGF0ZS4NCj4gPiA+PiAgICAgICAgKi8NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NL
KCk7DQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9MT0NLKCk7DQo+ID4gPj4gICAgICAgaW5t
ID0gaW5tX2xvb2t1cChpZnAsIGlnbXAtPmlnbXBfZ3JvdXApOw0KPiA+ID4+ICAgICAgIGlmIChp
bm0gIT0gTlVMTCkgew0KPiA+ID4+ICAgICAgICAgICAgICAgc3RydWN0IGlnbXBfaWZzb2Z0YyAq
aWdpOw0KPiA+ID4+IEBAIC0xNDE4LDcgKzE0MDQsNyBAQCBpZ21wX2lucHV0X3YyX3JlcG9ydChz
dHJ1Y3QgaWZuZXQgKmlmcCwgLypjb25zdCovIHN0cnUNCj4gPiA+PiAgICAgICB9DQo+ID4gPj4N
Cj4gPiA+PiAgb3V0X2xvY2tlZDoNCj4gPiA+PiAtICAgICBJTl9NVUxUSV9VTkxPQ0soKTsNCj4g
PiA+PiArICAgICBJTl9NVUxUSV9MSVNUX1VOTE9DSygpOw0KPiA+ID4+DQo+ID4gPj4gICAgICAg
cmV0dXJuICgwKTsNCj4gPiA+PiAgfQ0KPiA+ID4+IEBAIC0xNjQ3LDYgKzE2MzMsNyBAQCBpZ21w
X2Zhc3R0aW1vX3ZuZXQodm9pZCkNCj4gPiA+PiAgICAgICBzdHJ1Y3QgaWdtcF9pZnNvZnRjICAg
ICAqaWdpOw0KPiA+ID4+ICAgICAgIHN0cnVjdCBpZm11bHRpYWRkciAgICAgICppZm1hOw0KPiA+
ID4+ICAgICAgIHN0cnVjdCBpbl9tdWx0aSAgICAgICAgICppbm07DQo+ID4gPj4gKyAgICAgc3Ry
dWN0IGluX211bHRpX2hlYWQgaW5tX2ZyZWVfdG1wOw0KPiA+ID4+ICAgICAgIGludCAgICAgICAg
ICAgICAgICAgICAgICBsb29wLCB1cmlfZmFzdGh6Ow0KPiA+ID4+DQo+ID4gPj4gICAgICAgbG9v
cCA9IDA7DQo+ID4gPj4gQEAgLTE2NjIsNyArMTY0OSw4IEBAIGlnbXBfZmFzdHRpbW9fdm5ldCh2
b2lkKQ0KPiA+ID4+ICAgICAgICAgICAhVl9zdGF0ZV9jaGFuZ2VfdGltZXJzX3J1bm5pbmcpDQo+
ID4gPj4gICAgICAgICAgICAgICByZXR1cm47DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxU
SV9MT0NLKCk7DQo+ID4gPj4gKyAgICAgU0xJU1RfSU5JVCgmaW5tX2ZyZWVfdG1wKTsNCj4gPiA+
PiArICAgICBJTl9NVUxUSV9MSVNUX0xPQ0soKTsNCj4gPiA+PiAgICAgICBJR01QX0xPQ0soKTsN
Cj4gPiA+Pg0KPiA+ID4+ICAgICAgIC8qDQo+ID4gPj4gQEAgLTE3MjAsNyArMTcwOCw3IEBAIGln
bXBfZmFzdHRpbW9fdm5ldCh2b2lkKQ0KPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBpZ2ktPmlnaV92ZXJzaW9uKTsNCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICBicmVhazsNCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgY2FzZSBJR01QX1ZF
UlNJT05fMzoNCj4gPiA+PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZ21wX3YzX3By
b2Nlc3NfZ3JvdXBfdGltZXJzKGlnaSwgJnFycSwNCj4gPiA+PiArICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBpZ21wX3YzX3Byb2Nlc3NfZ3JvdXBfdGltZXJzKCZpbm1fZnJlZV90bXAsICZx
cnEsDQo+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZzY3EsIGlubSwg
dXJpX2Zhc3Roeik7DQo+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7
DQo+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiA+PiBAQCAtMTcyOCw4ICsxNzE2
LDYgQEAgaWdtcF9mYXN0dGltb192bmV0KHZvaWQpDQo+ID4gPj4gICAgICAgICAgICAgICBJRl9B
RERSX1JVTkxPQ0soaWZwKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgICAgICAgICAgaWYgKGlnaS0+
aWdpX3ZlcnNpb24gPT0gSUdNUF9WRVJTSU9OXzMpIHsNCj4gPiA+PiAtICAgICAgICAgICAgICAg
ICAgICAgc3RydWN0IGluX211bHRpICAgICAgICAgKnRpbm07DQo+ID4gPj4gLQ0KPiA+ID4+ICAg
ICAgICAgICAgICAgICAgICAgICBpZ21wX2Rpc3BhdGNoX3F1ZXVlKCZxcnEsIDAsIGxvb3ApOw0K
PiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICBpZ21wX2Rpc3BhdGNoX3F1ZXVlKCZzY3EsIDAs
IGxvb3ApOw0KPiA+ID4+DQo+ID4gPj4gQEAgLTE3MzcsMTggKzE3MjMsMTMgQEAgaWdtcF9mYXN0
dGltb192bmV0KHZvaWQpDQo+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAqIEZyZWUgdGhl
IGluX211bHRpIHJlZmVyZW5jZShzKSBmb3IgdGhpcw0KPiA+ID4+ICAgICAgICAgICAgICAgICAg
ICAgICAgKiBJR01QIGxpZmVjeWNsZS4NCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICov
DQo+ID4gPj4gLSAgICAgICAgICAgICAgICAgICAgIFNMSVNUX0ZPUkVBQ0hfU0FGRShpbm0sICZp
Z2ktPmlnaV9yZWxpbm1oZWFkLA0KPiA+ID4+IC0gICAgICAgICAgICAgICAgICAgICAgICAgaW5t
X25yZWxlLCB0aW5tKSB7DQo+ID4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0xJ
U1RfUkVNT1ZFX0hFQUQoJmlnaS0+aWdpX3JlbGlubWhlYWQsDQo+ID4gPj4gLSAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGlubV9ucmVsZSk7DQo+ID4gPj4gLSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgaW5tX3JlbGVhc2VfbG9ja2VkKGlubSk7DQo+ID4gPj4gLSAgICAgICAg
ICAgICAgICAgICAgIH0NCj4gPiA+PiArICAgICAgICAgICAgICAgICAgICAgaW5tX3JlbGVhc2Vf
bGlzdF9kZWZlcnJlZCgmaW5tX2ZyZWVfdG1wKTsNCj4gPiA+PiAgICAgICAgICAgICAgIH0NCj4g
PiA+PiAgICAgICB9DQo+ID4gPj4NCj4gPiA+PiAgb3V0X2xvY2tlZDoNCj4gPiA+PiAgICAgICBJ
R01QX1VOTE9DSygpOw0KPiA+ID4+IC0gICAgIElOX01VTFRJX1VOTE9DSygpOw0KPiA+ID4+ICsg
ICAgIElOX01VTFRJX0xJU1RfVU5MT0NLKCk7DQo+ID4gPj4gIH0NCj4gPiA+Pg0KPiA+ID4+ICAv
Kg0KPiA+ID4+IEBAIC0xNzYwLDcgKzE3NDEsNyBAQCBpZ21wX3YxdjJfcHJvY2Vzc19ncm91cF90
aW1lcihzdHJ1Y3QgaW5fbXVsdGkgKmlubSwgY28NCj4gPiA+PiAgew0KPiA+ID4+ICAgICAgIGlu
dCByZXBvcnRfdGltZXJfZXhwaXJlZDsNCj4gPiA+Pg0KPiA+ID4+IC0gICAgIElOX01VTFRJX0xP
Q0tfQVNTRVJUKCk7DQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9MT0NLX0FTU0VSVCgpOw0K
PiA+ID4+ICAgICAgIElHTVBfTE9DS19BU1NFUlQoKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIGlm
IChpbm0tPmlubV90aW1lciA9PSAwKSB7DQo+ID4gPj4gQEAgLTE4MDIsMTQgKzE3ODMsMTQgQEAg
aWdtcF92MXYyX3Byb2Nlc3NfZ3JvdXBfdGltZXIoc3RydWN0IGluX211bHRpICppbm0sIGNvDQo+
ID4gPj4gICAqIE5vdGU6IFVubG9ja2VkIHJlYWQgZnJvbSBpZ2kuDQo+ID4gPj4gICAqLw0KPiA+
ID4+ICBzdGF0aWMgdm9pZA0KPiA+ID4+IC1pZ21wX3YzX3Byb2Nlc3NfZ3JvdXBfdGltZXJzKHN0
cnVjdCBpZ21wX2lmc29mdGMgKmlnaSwNCj4gPiA+PiAraWdtcF92M19wcm9jZXNzX2dyb3VwX3Rp
bWVycyhzdHJ1Y3QgaW5fbXVsdGlfaGVhZCAqaW5taCwNCj4gPiA+PiAgICAgIHN0cnVjdCBtYnVm
cSAqcXJxLCBzdHJ1Y3QgbWJ1ZnEgKnNjcSwNCj4gPiA+PiAgICAgIHN0cnVjdCBpbl9tdWx0aSAq
aW5tLCBjb25zdCBpbnQgdXJpX2Zhc3RoeikNCj4gPiA+PiAgew0KPiA+ID4+ICAgICAgIGludCBx
dWVyeV9yZXNwb25zZV90aW1lcl9leHBpcmVkOw0KPiA+ID4+ICAgICAgIGludCBzdGF0ZV9jaGFu
Z2VfcmV0cmFuc21pdF90aW1lcl9leHBpcmVkOw0KPiA+ID4+DQo+ID4gPj4gLSAgICAgSU5fTVVM
VElfTE9DS19BU1NFUlQoKTsNCj4gPiA+PiArICAgICBJTl9NVUxUSV9MSVNUX0xPQ0tfQVNTRVJU
KCk7DQo+ID4gPj4gICAgICAgSUdNUF9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+DQo+ID4gPj4gICAg
ICAgcXVlcnlfcmVzcG9uc2VfdGltZXJfZXhwaXJlZCA9IDA7DQo+ID4gPj4gQEAgLTE5MDcsOCAr
MTg4OCw3IEBAIGlnbXBfdjNfcHJvY2Vzc19ncm91cF90aW1lcnMoc3RydWN0IGlnbXBfaWZzb2Z0
YyAqaWdpLA0KPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICBpZiAoaW5tLT5pbm1fc3RhdGUg
PT0gSUdNUF9MRUFWSU5HX01FTUJFUiAmJg0KPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgaW5tLT5pbm1fc2NydiA9PSAwKSB7DQo+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW5tLT5pbm1fc3RhdGUgPSBJR01QX05PVF9NRU1CRVI7DQo+ID4gPj4gLSAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgU0xJU1RfSU5TRVJUX0hFQUQoJmlnaS0+aWdpX3JlbGlubWhl
YWQsDQo+ID4gPj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlubSwgaW5tX25y
ZWxlKTsNCj4gPiA+PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbm1fcmVsZV9sb2Nr
ZWQoaW5taCwgaW5tKTsNCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgfQ0KPiA+ID4+ICAg
ICAgICAgICAgICAgfQ0KPiA+ID4+ICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gPj4gQEAgLTE5
MjksNyArMTkwOSw3IEBAIHN0YXRpYyB2b2lkDQo+ID4gPj4gIGlnbXBfdjNfc3VwcHJlc3NfZ3Jv
dXBfcmVjb3JkKHN0cnVjdCBpbl9tdWx0aSAqaW5tKQ0KPiA+ID4+ICB7DQo+ID4gPj4NCj4gPiA+
PiAtICAgICBJTl9NVUxUSV9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+ICsgICAgIElOX01VTFRJX0xJ
U1RfTE9DS19BU1NFUlQoKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIEtBU1NFUlQoaW5tLT5pbm1f
aWdpLT5pZ2lfdmVyc2lvbiA9PSBJR01QX1ZFUlNJT05fMywNCj4gPiA+PiAgICAgICAgICAgICAg
ICgiJXM6IG5vdCBJR01QdjMgbW9kZSBvbiBsaW5rIiwgX19mdW5jX18pKTsNCj4gPiA+PiBAQCAt
MjAwMywxMyArMTk4MywxNSBAQCBpZ21wX3YzX2NhbmNlbF9saW5rX3RpbWVycyhzdHJ1Y3QgaWdt
cF9pZnNvZnRjICppZ2kpDQo+ID4gPj4gIHsNCj4gPiA+PiAgICAgICBzdHJ1Y3QgaWZtdWx0aWFk
ZHIgICAgICAqaWZtYTsNCj4gPiA+PiAgICAgICBzdHJ1Y3QgaWZuZXQgICAgICAgICAgICAqaWZw
Ow0KPiA+ID4+IC0gICAgIHN0cnVjdCBpbl9tdWx0aSAgICAgICAgICppbm0sICp0aW5tOw0KPiA+
ID4+ICsgICAgIHN0cnVjdCBpbl9tdWx0aSAgICAgICAgICppbm07DQo+ID4gPj4gKyAgICAgc3Ry
dWN0IGluX211bHRpX2hlYWQgaW5tX2ZyZWVfdG1wOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgQ1RS
MyhLVFJfSUdNUFYzLCAiJXM6IGNhbmNlbCB2MyB0aW1lcnMgb24gaWZwICVwKCVzKSIsIF9fZnVu
Y19fLA0KPiA+ID4+ICAgICAgICAgICBpZ2ktPmlnaV9pZnAsIGlnaS0+aWdpX2lmcC0+aWZfeG5h
bWUpOw0KPiA+ID4+DQo+ID4gPj4gLSAgICAgSU5fTVVMVElfTE9DS19BU1NFUlQoKTsNCj4gPiA+
PiArICAgICBJTl9NVUxUSV9MSVNUX0xPQ0tfQVNTRVJUKCk7DQo+ID4gPj4gICAgICAgSUdNUF9M
T0NLX0FTU0VSVCgpOw0KPiA+ID4+ICsgICAgIFNMSVNUX0lOSVQoJmlubV9mcmVlX3RtcCk7DQo+
ID4gPj4NCj4gPiA+PiAgICAgICAvKg0KPiA+ID4+ICAgICAgICAqIFN0b3AgdGhlIHYzIEdlbmVy
YWwgUXVlcnkgUmVzcG9uc2Ugb24gdGhpcyBsaW5rIHN0b25lIGRlYWQuDQo+ID4gPj4gQEAgLTIw
NTAsNyArMjAzMiw3IEBAIGlnbXBfdjNfY2FuY2VsX2xpbmtfdGltZXJzKHN0cnVjdCBpZ21wX2lm
c29mdGMgKmlnaSkNCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICogbWVzc2FnZSBpcyBz
ZW50IHVwc3RyZWFtIHRvIHRoZSBvbGQgcXVlcmllciAtLQ0KPiA+ID4+ICAgICAgICAgICAgICAg
ICAgICAgICAgKiB0cmFuc2l0aW9uIHRvIE5PVCB3b3VsZCBsb3NlIHRoZSBsZWF2ZSBhbmQgcmFj
ZS4NCj4gPiA+PiAgICAgICAgICAgICAgICAgICAgICAgICovDQo+ID4gPj4gLSAgICAgICAgICAg
ICAgICAgICAgIFNMSVNUX0lOU0VSVF9IRUFEKCZpZ2ktPmlnaV9yZWxpbm1oZWFkLCBpbm0sIGlu
bV9ucmVsZSk7DQo+ID4gPj4gKyAgICAgICAgICAgICAgICAgICAgIGlubV9yZWxlX2xvY2tlZCgm
aW5tX2ZyZWVfdG1wLCBpbm0pOw0KPiA+ID4+ICAgICAgICAgICAgICAgICAgICAgICAvKiBGQUxM
VEhST1VHSCAqLw0KPiA+ID4+ICAgICAgICAgICAgICAgY2FzZSBJR01QX0dfUVVFUllfUEVORElO
R19NRU1CRVI6DQo+ID4gPj4gICAgICAgICAgICAgICBjYXNlIElHTVBfU0dfUVVFUllfUEVORElO
R19NRU1CRVI6DQo+ID4gPj4gQEAgLTIwNjksMTAgKzIwNTEsOCBAQCBpZ21wX3YzX2NhbmNlbF9s
aW5rX3RpbWVycyhzdHJ1Y3QgaWdtcF9pZnNvZnRjICppZ2kpDQo+ID4gPj4gICAgICAgICAgICAg
ICBtYnVmcV9kcmFpbigmaW5tLT5pbm1fc2NxKTsNCj4gPiA+PiAgICAgICB9DQo+ID4gPj4gICAg
ICAgSUZfQUREUl9SVU5MT0NLKGlmcCk7DQo+ID4gPj4gLSAgICAgU0xJU1RfRk9SRUFDSF9TQUZF
KGlubSwgJmlnaS0+aWdpX3JlbGlubWhlYWQsIGlubV9ucmVsZSwgdGlubSkgew0KPiA+ID4+IC0g
ICAgICAgICAgICAgU0xJU1RfUkVNT1ZFX0hFQUQoJmlnaS0+aWdpX3JlbGlubWhlYWQsIGlubV9u
cmVsZSk7DQo+ID4gPj4gLSAgICAgICAgICAgICBpbm1fcmVsZWFzZV9sb2NrZWQoaW5tKTsNCj4g
PiA+PiAtICAgICB9DQo+ID4gPj4gKw0KPiA+ID4+ICsgICAgIGlubV9yZWxlYXNlX2xpc3RfZGVm
ZXJyZWQoJmlubV9mcmVlX3RtcCk7DQo+ID4gPj4gIH0NCj4gPiA+Pg0KPiA+ID4+ICAvKg0KPiA+
ID4+IEBAIC0yMTk5LDcgKzIxNzksNyBAQCBpZ21wX3YxdjJfcXVldWVfcmVwb3J0KHN0cnVjdCBp
bl9tdWx0aSAqaW5tLCBjb25zdCBpbnQNCj4gPiA+PiAgICAgICBzdHJ1Y3QgaXAgICAgICAgICAg
ICAgICAqaXA7DQo+ID4gPj4gICAgICAgc3RydWN0IG1idWYgICAgICAgICAgICAgKm07DQo+ID4g
Pj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+ICsgICAgIElO
X01VTFRJX0xJU1RfTE9DS19BU1NFUlQoKTsNCj4gPiA+PiAgICAgICBJR01QX0xPQ0tfQVNTRVJU
KCk7DQo+ID4gPj4NCj4gPiA+PiAgICAgICBpZnAgPSBpbm0tPmlubV9pZnA7DQo+ID4gPj4gQEAg
LTIyNzYsMTAgKzIyNTYsOCBAQCBpZ21wX2NoYW5nZV9zdGF0ZShzdHJ1Y3QgaW5fbXVsdGkgKmlu
bSkNCj4gPiA+PiAgICAgICBzdHJ1Y3QgaWZuZXQgKmlmcDsNCj4gPiA+PiAgICAgICBpbnQgZXJy
b3I7DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+
IC0NCj4gPiA+PiAgICAgICBlcnJvciA9IDA7DQo+ID4gPj4gLQ0KPiA+ID4+ICsgICAgIElOX01V
TFRJX0xPQ0tfQVNTRVJUKCk7DQo+ID4gPj4gICAgICAgLyoNCj4gPiA+PiAgICAgICAgKiBUcnkg
dG8gZGV0ZWN0IGlmIHRoZSB1cHBlciBsYXllciBqdXN0IGFza2VkIHVzIHRvIGNoYW5nZSBzdGF0
ZQ0KPiA+ID4+ICAgICAgICAqIGZvciBhbiBpbnRlcmZhY2Ugd2hpY2ggaGFzIG5vdyBnb25lIGF3
YXkuDQo+ID4gPj4gQEAgLTIzNzksOSArMjM1NywxMCBAQCBpZ21wX2luaXRpYWxfam9pbihzdHJ1
Y3QgaW5fbXVsdGkgKmlubSwgc3RydWN0IGlnbXBfaWYNCj4gPiA+PiAgICAgICAgICAgICAgICAq
IGdyb3VwIGFyb3VuZCBmb3IgdGhlIGZpbmFsIElOQ0xVREUge30gZW5xdWV1ZS4NCj4gPiA+PiAg
ICAgICAgICAgICAgICAqLw0KPiA+ID4+ICAgICAgICAgICAgICAgaWYgKGlnaS0+aWdpX3ZlcnNp
b24gPT0gSUdNUF9WRVJTSU9OXzMgJiYNCj4gPiA+PiAtICAgICAgICAgICAgICAgICBpbm0tPmlu
bV9zdGF0ZSA9PSBJR01QX0xFQVZJTkdfTUVNQkVSKQ0KPiA+ID4+IC0gICAgICAgICAgICAgICAg
ICAgICBpbm1fcmVsZWFzZV9sb2NrZWQoaW5tKTsNCj4gPiA+PiAtDQo+ID4gPj4gKyAgICAgICAg
ICAgICAgICAgaW5tLT5pbm1fc3RhdGUgPT0gSUdNUF9MRUFWSU5HX01FTUJFUikgew0KPiA+ID4+
ICsgICAgICAgICAgICAgICAgICAgICBNUEFTUyhpbm0tPmlubV9yZWZjb3VudCA+IDEpOw0KPiA+
ID4+ICsgICAgICAgICAgICAgICAgICAgICBpbm1fcmVsZV9sb2NrZWQoTlVMTCwgaW5tKTsNCj4g
PiA+PiArICAgICAgICAgICAgIH0NCj4gPiA+PiAgICAgICAgICAgICAgIGlubS0+aW5tX3N0YXRl
ID0gSUdNUF9SRVBPUlRJTkdfTUVNQkVSOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgICAgICAgICBz
d2l0Y2ggKGlnaS0+aWdpX3ZlcnNpb24pIHsNCj4gPiA+PiBAQCAtMjQ3Myw3ICsyNDUyLDcgQEAg
aWdtcF9oYW5kbGVfc3RhdGVfY2hhbmdlKHN0cnVjdCBpbl9tdWx0aSAqaW5tLCBzdHJ1Y3QNCj4g
PiA+Pg0KPiA+ID4+ICAgICAgIGlmcCA9IGlubS0+aW5tX2lmcDsNCj4gPiA+Pg0KPiA+ID4+IC0g
ICAgIElOX01VTFRJX0xPQ0tfQVNTRVJUKCk7DQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9M
T0NLX0FTU0VSVCgpOw0KPiA+ID4+ICAgICAgIElHTVBfTE9DS19BU1NFUlQoKTsNCj4gPiA+Pg0K
PiA+ID4+ICAgICAgIEtBU1NFUlQoaWdpICYmIGlnaS0+aWdpX2lmcCA9PSBpZnAsICgiJXM6IGlu
Y29uc2lzdGVudCBpZnAiLCBfX2Z1bmNfXykpOw0KPiA+ID4+IEBAIC0yNTMxLDcgKzI1MTAsNyBA
QCBpZ21wX2ZpbmFsX2xlYXZlKHN0cnVjdCBpbl9tdWx0aSAqaW5tLCBzdHJ1Y3QgaWdtcF9pZnMN
Cj4gPiA+PiAgICAgICAgICAgX19mdW5jX18sIG50b2hsKGlubS0+aW5tX2FkZHIuc19hZGRyKSwg
aW5tLT5pbm1faWZwLA0KPiA+ID4+ICAgICAgICAgICBpbm0tPmlubV9pZnAtPmlmX3huYW1lKTsN
Cj4gPiA+Pg0KPiA+ID4+IC0gICAgIElOX01VTFRJX0xPQ0tfQVNTRVJUKCk7DQo+ID4gPj4gKyAg
ICAgSU5fTVVMVElfTElTVF9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+ICAgICAgIElHTVBfTE9DS19B
U1NFUlQoKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIHN3aXRjaCAoaW5tLT5pbm1fc3RhdGUpIHsN
Cj4gPiA+PiBAQCAtMjY1OCw3ICsyNjM3LDcgQEAgaWdtcF92M19lbnF1ZXVlX2dyb3VwX3JlY29y
ZChzdHJ1Y3QgbWJ1ZnEgKm1xLCBzdHJ1Y3QNCj4gPiA+PiAgICAgICBpbl9hZGRyX3QgICAgICAg
ICAgICAgICAgbmFkZHI7DQo+ID4gPj4gICAgICAgdWludDhfdCAgICAgICAgICAgICAgICAgIG1v
ZGU7DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+
ICsgICAgIElOX01VTFRJX0xJU1RfTE9DS19BU1NFUlQoKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAg
IGVycm9yID0gMDsNCj4gPiA+PiAgICAgICBpZnAgPSBpbm0tPmlubV9pZnA7DQo+ID4gPj4gQEAg
LTMwMTgsNyArMjk5Nyw3IEBAIGlnbXBfdjNfZW5xdWV1ZV9maWx0ZXJfY2hhbmdlKHN0cnVjdCBt
YnVmcSAqbXEsIHN0cnVjdA0KPiA+ID4+ICAgICAgIHVpbnQ4X3QgICAgICAgICAgICAgICAgICBt
b2RlLCBub3csIHRoZW47DQo+ID4gPj4gICAgICAgcmVjdHlwZV90ICAgICAgICAgICAgICAgIGNy
dCwgZHJ0LCBucnQ7DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLX0FTU0VSVCgp
Ow0KPiA+ID4+ICsgICAgIElOX01VTFRJX0xJU1RfTE9DS19BU1NFUlQoKTsNCj4gPiA+Pg0KPiA+
ID4+ICAgICAgIGlmIChpbm0tPmlubV9uc3JjID09IDAgfHwNCj4gPiA+PiAgICAgICAgICAgKGlu
bS0+aW5tX3N0WzBdLmlzc19hc20gPiAwICYmIGlubS0+aW5tX3N0WzFdLmlzc19hc20gPiAwKSkN
Cj4gPiA+PiBAQCAtMzIyMSw3ICszMjAwLDcgQEAgaWdtcF92M19tZXJnZV9zdGF0ZV9jaGFuZ2Vz
KHN0cnVjdCBpbl9tdWx0aSAqaW5tLCBzdHJ1DQo+ID4gPj4gICAgICAgZG9tZXJnZSA9IDA7DQo+
ID4gPj4gICAgICAgcmVjc2xlbiA9IDA7DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9M
T0NLX0FTU0VSVCgpOw0KPiA+ID4+ICsgICAgIElOX01VTFRJX0xJU1RfTE9DS19BU1NFUlQoKTsN
Cj4gPiA+PiAgICAgICBJR01QX0xPQ0tfQVNTRVJUKCk7DQo+ID4gPj4NCj4gPiA+PiAgICAgICAv
Kg0KPiA+ID4+IEBAIC0zMzIwLDcgKzMyOTksNyBAQCBpZ21wX3YzX2Rpc3BhdGNoX2dlbmVyYWxf
cXVlcnkoc3RydWN0IGlnbXBfaWZzb2Z0YyAqaWcNCj4gPiA+PiAgICAgICBzdHJ1Y3QgaW5fbXVs
dGkgICAgICAgICAqaW5tOw0KPiA+ID4+ICAgICAgIGludCAgICAgICAgICAgICAgICAgICAgICBy
ZXR2YWwsIGxvb3A7DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLX0FTU0VSVCgp
Ow0KPiA+ID4+ICsgICAgIElOX01VTFRJX0xJU1RfTE9DS19BU1NFUlQoKTsNCj4gPiA+PiAgICAg
ICBJR01QX0xPQ0tfQVNTRVJUKCk7DQo+ID4gPj4NCj4gPiA+PiAgICAgICBLQVNTRVJUKGlnaS0+
aWdpX3ZlcnNpb24gPT0gSUdNUF9WRVJTSU9OXzMsDQo+ID4gPj4gQEAgLTM2MzIsNyArMzYxMSw2
IEBAIERCX1NIT1dfQ09NTUFORChpZ2lfbGlzdCwgZGJfc2hvd19pZ2lfbGlzdCkNCj4gPiA+PiAg
ICAgICAgICAgICAgIGRiX3ByaW50ZigiICAgIHFpICV1XG4iLCBpZ2ktPmlnaV9xaSk7DQo+ID4g
Pj4gICAgICAgICAgICAgICBkYl9wcmludGYoIiAgICBxcmkgJXVcbiIsIGlnaS0+aWdpX3FyaSk7
DQo+ID4gPj4gICAgICAgICAgICAgICBkYl9wcmludGYoIiAgICB1cmkgJXVcbiIsIGlnaS0+aWdp
X3VyaSk7DQo+ID4gPj4gLSAgICAgICAgICAgICAvKiBTTElTVF9IRUFEKCxpbl9tdWx0aSkgICBp
Z2lfcmVsaW5taGVhZCAqLw0KPiA+ID4+ICAgICAgICAgICAgICAgLyogc3RydWN0IG1idWZxICAg
IGlnaV9ncTsgKi8NCj4gPiA+PiAgICAgICAgICAgICAgIGRiX3ByaW50ZigiXG4iKTsNCj4gPiA+
PiAgICAgICB9DQo+ID4gPj4NCj4gPiA+PiBNb2RpZmllZDogaGVhZC9zeXMvbmV0aW5ldC9pZ21w
X3Zhci5oDQo+ID4gPj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID4gPj4gLS0tIGhlYWQvc3lz
L25ldGluZXQvaWdtcF92YXIuaCAgICAgICBXZWQgTWF5ICAyIDE3OjQxOjAwIDIwMTggICAgICAg
IChyMzMzMTc0KQ0KPiA+ID4+ICsrKyBoZWFkL3N5cy9uZXRpbmV0L2lnbXBfdmFyLmggICAgICAg
V2VkIE1heSAgMiAxOTozNjoyOSAyMDE4ICAgICAgICAocjMzMzE3NSkNCj4gPiA+PiBAQCAtMjE0
LDcgKzIxNCw2IEBAIHN0cnVjdCBpZ21wX2lmc29mdGMgew0KPiA+ID4+ICAgICAgIHVpbnQzMl90
IGlnaV9xaTsgICAgICAgIC8qIElHTVB2MyBRdWVyeSBJbnRlcnZhbCAocykgKi8NCj4gPiA+PiAg
ICAgICB1aW50MzJfdCBpZ2lfcXJpOyAgICAgICAvKiBJR01QdjMgUXVlcnkgUmVzcG9uc2UgSW50
ZXJ2YWwgKHMpICovDQo+ID4gPj4gICAgICAgdWludDMyX3QgaWdpX3VyaTsgICAgICAgLyogSUdN
UHYzIFVuc29saWNpdGVkIFJlcG9ydCBJbnRlcnZhbCAocykgKi8NCj4gPiA+PiAtICAgICBTTElT
VF9IRUFEKCxpbl9tdWx0aSkgICBpZ2lfcmVsaW5taGVhZDsgLyogcmVsZWFzZWQgZ3JvdXBzICov
DQo+ID4gPj4gICAgICAgc3RydWN0IG1idWZxICAgIGlnaV9ncTsgICAgICAgICAvKiBnZW5lcmFs
IHF1ZXJ5IHJlc3BvbnNlcyBxdWV1ZSAqLw0KPiA+ID4+ICB9Ow0KPiA+ID4+DQo+ID4gPj4NCj4g
PiA+PiBNb2RpZmllZDogaGVhZC9zeXMvbmV0aW5ldC9pbi5jDQo+ID4gPj4gPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09DQo+ID4gPj4gLS0tIGhlYWQvc3lzL25ldGluZXQvaW4uYyAgICAgV2VkIE1heSAg
MiAxNzo0MTowMCAyMDE4ICAgICAgICAocjMzMzE3NCkNCj4gPiA+PiArKysgaGVhZC9zeXMvbmV0
aW5ldC9pbi5jICAgICBXZWQgTWF5ICAyIDE5OjM2OjI5IDIwMTggICAgICAgIChyMzMzMTc1KQ0K
PiA+ID4+IEBAIC02MzIsMTIgKzYzMiwxMCBAQCBpbl9kaWZhZGRyX2lvY3RsKHVfbG9uZyBjbWQs
IGNhZGRyX3QgZGF0YSwgc3RydWN0IGlmbmUNCj4gPiA+PiAgICAgICAgICAgICAgIHN0cnVjdCBp
bl9pZmluZm8gKmlpOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgICAgICAgICBpaSA9ICgoc3RydWN0
IGluX2lmaW5mbyAqKWlmcC0+aWZfYWZkYXRhW0FGX0lORVRdKTsNCj4gPiA+PiAtICAgICAgICAg
ICAgIElOX01VTFRJX0xPQ0soKTsNCj4gPiA+PiAgICAgICAgICAgICAgIGlmIChpaS0+aWlfYWxs
aG9zdHMpIHsNCj4gPiA+PiAtICAgICAgICAgICAgICAgICAgICAgKHZvaWQpaW5fbGVhdmVncm91
cF9sb2NrZWQoaWktPmlpX2FsbGhvc3RzLCBOVUxMKTsNCj4gPiA+PiArICAgICAgICAgICAgICAg
ICAgICAgKHZvaWQpaW5fbGVhdmVncm91cChpaS0+aWlfYWxsaG9zdHMsIE5VTEwpOw0KPiA+ID4+
ICAgICAgICAgICAgICAgICAgICAgICBpaS0+aWlfYWxsaG9zdHMgPSBOVUxMOw0KPiA+ID4+ICAg
ICAgICAgICAgICAgfQ0KPiA+ID4+IC0gICAgICAgICAgICAgSU5fTVVMVElfVU5MT0NLKCk7DQo+
ID4gPj4gICAgICAgfQ0KPiA+ID4+DQo+ID4gPj4gICAgICAgSUZfQUREUl9XTE9DSyhpZnApOw0K
PiA+ID4+IEBAIC05OTQsMTEgKzk5MiwxMiBAQCBpbl9icm9hZGNhc3Qoc3RydWN0IGluX2FkZHIg
aW4sIHN0cnVjdCBpZm5ldCAqaWZwKQ0KPiA+ID4+ICB2b2lkDQo+ID4gPj4gIGluX2lmZGV0YWNo
KHN0cnVjdCBpZm5ldCAqaWZwKQ0KPiA+ID4+ICB7DQo+ID4gPj4gLQ0KPiA+ID4+ICsgICAgIElO
X01VTFRJX0xPQ0soKTsNCj4gPiA+PiAgICAgICBpbl9wY2JwdXJnZWlmMCgmVl9yaXBjYmluZm8s
IGlmcCk7DQo+ID4gPj4gICAgICAgaW5fcGNicHVyZ2VpZjAoJlZfdWRiaW5mbywgaWZwKTsNCj4g
PiA+PiAgICAgICBpbl9wY2JwdXJnZWlmMCgmVl91bGl0ZWNiaW5mbywgaWZwKTsNCj4gPiA+PiAg
ICAgICBpbl9wdXJnZW1hZGRycyhpZnApOw0KPiA+ID4+ICsgICAgIElOX01VTFRJX1VOTE9DSygp
Ow0KPiA+ID4+ICB9DQo+ID4gPj4NCj4gPiA+PiAgLyoNCj4gPiA+PiBAQCAtMTAxMSwxMiArMTAx
MCwxMiBAQCBpbl9pZmRldGFjaChzdHJ1Y3QgaWZuZXQgKmlmcCkNCj4gPiA+PiAgc3RhdGljIHZv
aWQNCj4gPiA+PiAgaW5fcHVyZ2VtYWRkcnMoc3RydWN0IGlmbmV0ICppZnApDQo+ID4gPj4gIHsN
Cj4gPiA+PiAtICAgICBMSVNUX0hFQUQoLGluX211bHRpKSBwdXJnZWlubXM7DQo+ID4gPj4gLSAg
ICAgc3RydWN0IGluX211bHRpICAgICAgICAgKmlubSwgKnRpbm07DQo+ID4gPj4gKyAgICAgc3Ry
dWN0IGluX211bHRpX2hlYWQgcHVyZ2Vpbm1zOw0KPiA+ID4+ICsgICAgIHN0cnVjdCBpbl9tdWx0
aSAgICAgICAgICppbm07DQo+ID4gPj4gICAgICAgc3RydWN0IGlmbXVsdGlhZGRyICAgICAgKmlm
bWE7DQo+ID4gPj4NCj4gPiA+PiAtICAgICBMSVNUX0lOSVQoJnB1cmdlaW5tcyk7DQo+ID4gPj4g
LSAgICAgSU5fTVVMVElfTE9DSygpOw0KPiA+ID4+ICsgICAgIFNMSVNUX0lOSVQoJnB1cmdlaW5t
cyk7DQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9MT0NLKCk7DQo+ID4gPj4NCj4gPiA+PiAg
ICAgICAvKg0KPiA+ID4+ICAgICAgICAqIEV4dHJhY3QgbGlzdCBvZiBpbl9tdWx0aSBhc3NvY2lh
dGVkIHdpdGggdGhlIGRldGFjaGluZyBpZnANCj4gPiA+PiBAQCAtMTAzNCwxNyArMTAzMywxMyBA
QCBpbl9wdXJnZW1hZGRycyhzdHJ1Y3QgaWZuZXQgKmlmcCkNCj4gPiA+PiAgICAgICAgICAgICAg
ICAgICAoIiVzOiBpZm1hX3Byb3Rvc3BlYyBpcyBOVUxMIiwgX19mdW5jX18pKTsNCj4gPiA+PiAg
I2VuZGlmDQo+ID4gPj4gICAgICAgICAgICAgICBpbm0gPSAoc3RydWN0IGluX211bHRpICopaWZt
YS0+aWZtYV9wcm90b3NwZWM7DQo+ID4gPj4gLSAgICAgICAgICAgICBMSVNUX0lOU0VSVF9IRUFE
KCZwdXJnZWlubXMsIGlubSwgaW5tX2xpbmspOw0KPiA+ID4+ICsgICAgICAgICAgICAgaW5tX3Jl
bGVfbG9ja2VkKCZwdXJnZWlubXMsIGlubSk7DQo+ID4gPj4gICAgICAgfQ0KPiA+ID4+ICAgICAg
IElGX0FERFJfUlVOTE9DSyhpZnApOw0KPiA+ID4+DQo+ID4gPj4gLSAgICAgTElTVF9GT1JFQUNI
X1NBRkUoaW5tLCAmcHVyZ2Vpbm1zLCBpbm1fbGluaywgdGlubSkgew0KPiA+ID4+IC0gICAgICAg
ICAgICAgTElTVF9SRU1PVkUoaW5tLCBpbm1fbGluayk7DQo+ID4gPj4gLSAgICAgICAgICAgICBp
bm1fcmVsZWFzZV9sb2NrZWQoaW5tKTsNCj4gPiA+PiAtICAgICB9DQo+ID4gPj4gKyAgICAgaW5t
X3JlbGVhc2VfbGlzdF9kZWZlcnJlZCgmcHVyZ2Vpbm1zKTsNCj4gPiA+PiAgICAgICBpZ21wX2lm
ZGV0YWNoKGlmcCk7DQo+ID4gPj4gLQ0KPiA+ID4+IC0gICAgIElOX01VTFRJX1VOTE9DSygpOw0K
PiA+ID4+ICsgICAgIElOX01VTFRJX0xJU1RfVU5MT0NLKCk7DQo+ID4gPj4gIH0NCj4gPiA+Pg0K
PiA+ID4+ICBzdHJ1Y3QgaW5fbGxlbnRyeSB7DQo+ID4gPj4NCj4gPiA+PiBNb2RpZmllZDogaGVh
ZC9zeXMvbmV0aW5ldC9pbl9tY2FzdC5jDQo+ID4gPj4gPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+
ID4gPj4gLS0tIGhlYWQvc3lzL25ldGluZXQvaW5fbWNhc3QuYyAgICAgICBXZWQgTWF5ICAyIDE3
OjQxOjAwIDIwMTggICAgICAgIChyMzMzMTc0KQ0KPiA+ID4+ICsrKyBoZWFkL3N5cy9uZXRpbmV0
L2luX21jYXN0LmMgICAgICAgV2VkIE1heSAgMiAxOTozNjoyOSAyMDE4ICAgICAgICAocjMzMzE3
NSkNCj4gPiA+PiBAQCAtNTEsNiArNTEsNyBAQCBfX0ZCU0RJRCgiJEZyZWVCU0QkIik7DQo+ID4g
Pj4gICNpbmNsdWRlIDxzeXMvc3lzY3RsLmg+DQo+ID4gPj4gICNpbmNsdWRlIDxzeXMva3RyLmg+
DQo+ID4gPj4gICNpbmNsdWRlIDxzeXMvdGFza3F1ZXVlLmg+DQo+ID4gPj4gKyNpbmNsdWRlIDxz
eXMvZ3Rhc2txdWV1ZS5oPg0KPiA+ID4+ICAjaW5jbHVkZSA8c3lzL3RyZWUuaD4NCj4gPiA+Pg0K
PiA+ID4+ICAjaW5jbHVkZSA8bmV0L2lmLmg+DQo+ID4gPj4gQEAgLTU5LDYgKzYwLDggQEAgX19G
QlNESUQoIiRGcmVlQlNEJCIpOw0KPiA+ID4+ICAjaW5jbHVkZSA8bmV0L3JvdXRlLmg+DQo+ID4g
Pj4gICNpbmNsdWRlIDxuZXQvdm5ldC5oPg0KPiA+ID4+DQo+ID4gPj4gKyNpbmNsdWRlIDxuZXQv
ZXRoZXJuZXQuaD4NCj4gPiA+PiArDQo+ID4gPj4gICNpbmNsdWRlIDxuZXRpbmV0L2luLmg+DQo+
ID4gPj4gICNpbmNsdWRlIDxuZXRpbmV0L2luX3N5c3RtLmg+DQo+ID4gPj4gICNpbmNsdWRlIDxu
ZXRpbmV0L2luX2ZpYi5oPg0KPiA+ID4+IEBAIC05MSwxOCArOTQsMjQgQEAgc3RhdGljIE1BTExP
Q19ERUZJTkUoTV9JUE1TT1VSQ0UsICJpcF9tc291cmNlIiwNCj4gPiA+Pg0KPiA+ID4+ICAvKg0K
PiA+ID4+ICAgKiBMb2NraW5nOg0KPiA+ID4+IC0gKiAtIExvY2sgb3JkZXIgaXM6IEdpYW50LCBJ
TlBfV0xPQ0ssIElOX01VTFRJX0xPQ0ssIElHTVBfTE9DSywgSUZfQUREUl9MT0NLLg0KPiA+ID4+
ICsgKiAtIExvY2sgb3JkZXIgaXM6IEdpYW50LCBJTlBfV0xPQ0ssIElOX01VTFRJX0xJU1RfTE9D
SywgSUdNUF9MT0NLLCBJRl9BRERSX0xPQ0suDQo+ID4gPj4gICAqIC0gVGhlIElGX0FERFJfTE9D
SyBpcyBpbXBsaWNpdGx5IHRha2VuIGJ5IGlubV9sb29rdXAoKSBlYXJsaWVyLCBob3dldmVyDQo+
ID4gPj4gICAqICAgaXQgY2FuIGJlIHRha2VuIGJ5IGNvZGUgaW4gbmV0L2lmLmMgYWxzby4NCj4g
PiA+PiAgICogLSBpcF9tb3B0aW9ucyBhbmQgaW5fbWZpbHRlciBhcmUgY292ZXJlZCBieSB0aGUg
SU5QX1dMT0NLLg0KPiA+ID4+ICAgKg0KPiA+ID4+IC0gKiBzdHJ1Y3QgaW5fbXVsdGkgaXMgY292
ZXJlZCBieSBJTl9NVUxUSV9MT0NLLiBUaGVyZSBpc24ndCBzdHJpY3RseQ0KPiA+ID4+ICsgKiBz
dHJ1Y3QgaW5fbXVsdGkgaXMgY292ZXJlZCBieSBJTl9NVUxUSV9MSVNUX0xPQ0suIFRoZXJlIGlz
bid0IHN0cmljdGx5DQo+ID4gPj4gICAqIGFueSBuZWVkIGZvciBpbl9tdWx0aSBpdHNlbGYgdG8g
YmUgdmlydHVhbGl6ZWQgLS0gaXQgaXMgYm91bmQgdG8gYW4gaWZwDQo+ID4gPj4gICAqIGFueXdh
eSBubyBtYXR0ZXIgd2hhdCBoYXBwZW5zLg0KPiA+ID4+ICAgKi8NCj4gPiA+PiAtc3RydWN0IG10
eCBpbl9tdWx0aV9tdHg7DQo+ID4gPj4gLU1UWF9TWVNJTklUKGluX211bHRpX210eCwgJmluX211
bHRpX210eCwgImluX211bHRpX210eCIsIE1UWF9ERUYpOw0KPiA+ID4+ICtzdHJ1Y3QgbXR4IGlu
X211bHRpX2xpc3RfbXR4Ow0KPiA+ID4+ICtNVFhfU1lTSU5JVChpbl9tdWx0aV9tdHgsICZpbl9t
dWx0aV9saXN0X210eCwgImluX211bHRpX2xpc3RfbXR4IiwgTVRYX0RFRik7DQo+ID4gPj4NCj4g
PiA+PiArc3RydWN0IG10eCBpbl9tdWx0aV9mcmVlX210eDsNCj4gPiA+PiArTVRYX1NZU0lOSVQo
aW5fbXVsdGlfZnJlZV9tdHgsICZpbl9tdWx0aV9mcmVlX210eCwgImluX211bHRpX2ZyZWVfbXR4
IiwgTVRYX0RFRik7DQo+ID4gPj4gKw0KPiA+ID4+ICtzdHJ1Y3Qgc3ggaW5fbXVsdGlfc3g7DQo+
ID4gPj4gK1NYX1NZU0lOSVQoaW5fbXVsdGlfc3gsICZpbl9tdWx0aV9zeCwgImluX211bHRpX3N4
Iik7DQo+ID4gPj4gKw0KPiA+ID4+ICAvKg0KPiA+ID4+ICAgKiBGdW5jdGlvbnMgd2l0aCBub24t
c3RhdGljIGxpbmthZ2UgZGVmaW5lZCBpbiB0aGlzIGZpbGUgc2hvdWxkIGJlDQo+ID4gPj4gICAq
IGRlY2xhcmVkIGluIGluX3Zhci5oOg0KPiA+ID4+IEBAIC0xNTEsNiArMTYwLDcgQEAgc3RhdGlj
IGludCAgICAgICAgaW5tX2lzX2lmcF9kZXRhY2hlZChjb25zdCBzdHJ1Y3QgaW5fbXVsdGkgKg0K
PiA+ID4+ICBzdGF0aWMgaW50ICAgaW5tX21lcmdlKHN0cnVjdCBpbl9tdWx0aSAqLCAvKmNvbnN0
Ki8gc3RydWN0IGluX21maWx0ZXIgKik7DQo+ID4gPj4gIHN0YXRpYyB2b2lkICBpbm1fcHVyZ2Uo
c3RydWN0IGluX211bHRpICopOw0KPiA+ID4+ICBzdGF0aWMgdm9pZCAgaW5tX3JlYXAoc3RydWN0
IGluX211bHRpICopOw0KPiA+ID4+ICtzdGF0aWMgdm9pZCBpbm1fcmVsZWFzZShzdHJ1Y3QgaW5f
bXVsdGkgKik7DQo+ID4gPj4gIHN0YXRpYyBzdHJ1Y3QgaXBfbW9wdGlvbnMgKg0KPiA+ID4+ICAg
ICAgICAgICAgICAgaW5wX2ZpbmRtb3B0aW9ucyhzdHJ1Y3QgaW5wY2IgKik7DQo+ID4gPj4gIHN0
YXRpYyB2b2lkICBpbnBfZnJlZW1vcHRpb25zX2ludGVybmFsKHN0cnVjdCBpcF9tb3B0aW9ucyAq
KTsNCj4gPiA+PiBAQCAtMjE2LDYgKzIyNiw2NSBAQCBpbm1faXNfaWZwX2RldGFjaGVkKGNvbnN0
IHN0cnVjdCBpbl9tdWx0aSAqaW5tKQ0KPiA+ID4+ICB9DQo+ID4gPj4gICNlbmRpZg0KPiA+ID4+
DQo+ID4gPj4gK3N0YXRpYyBzdHJ1Y3QgZ3JvdXB0YXNrIGZyZWVfZ3Rhc2s7DQo+ID4gPj4gK3N0
YXRpYyBzdHJ1Y3QgaW5fbXVsdGlfaGVhZCBpbm1fZnJlZV9saXN0Ow0KPiA+ID4+ICtzdGF0aWMg
dm9pZCBpbm1fcmVsZWFzZV90YXNrKHZvaWQgKmFyZyBfX3VudXNlZCk7DQo+ID4gPj4gK3N0YXRp
YyB2b2lkIGlubV9pbml0KHZvaWQpDQo+ID4gPj4gK3sNCj4gPiA+PiArICAgICBTTElTVF9JTklU
KCZpbm1fZnJlZV9saXN0KTsNCj4gPiA+PiArICAgICB0YXNrcWdyb3VwX2NvbmZpZ19ndGFza19p
bml0KE5VTEwsICZmcmVlX2d0YXNrLCBpbm1fcmVsZWFzZV90YXNrLCAiaW5tDQo+ID4gPj4gcmVs
ZWFzZSB0YXNrIik7ICt9DQo+ID4gPj4gKw0KPiA+ID4+ICtTWVNJTklUKGlubV9pbml0LCBTSV9T
VUJfU01QICsgMSwgU0lfT1JERVJfRklSU1QsDQo+ID4gPj4gKyAgICAgaW5tX2luaXQsIE5VTEwp
Ow0KPiA+ID4+ICsNCj4gPiA+PiArDQo+ID4gPj4gK3ZvaWQNCj4gPiA+PiAraW5tX3JlbGVhc2Vf
bGlzdF9kZWZlcnJlZChzdHJ1Y3QgaW5fbXVsdGlfaGVhZCAqaW5taCkNCj4gPiA+PiArew0KPiA+
ID4+ICsNCj4gPiA+PiArICAgICBpZiAoU0xJU1RfRU1QVFkoaW5taCkpDQo+ID4gPj4gKyAgICAg
ICAgICAgICByZXR1cm47DQo+ID4gPj4gKyAgICAgbXR4X2xvY2soJmluX211bHRpX2ZyZWVfbXR4
KTsNCj4gPiA+PiArICAgICBTTElTVF9DT05DQVQoJmlubV9mcmVlX2xpc3QsIGlubWgsIGluX211
bHRpLCBpbm1fbnJlbGUpOw0KPiA+ID4+ICsgICAgIG10eF91bmxvY2soJmluX211bHRpX2ZyZWVf
bXR4KTsNCj4gPiA+PiArICAgICBHUk9VUFRBU0tfRU5RVUVVRSgmZnJlZV9ndGFzayk7DQo+ID4g
Pj4gK30NCj4gPiA+PiArDQo+ID4gPj4gK3ZvaWQNCj4gPiA+PiAraW5tX3JlbGVhc2VfZGVmZXJy
ZWQoc3RydWN0IGluX211bHRpICppbm0pDQo+ID4gPj4gK3sNCj4gPiA+PiArICAgICBzdHJ1Y3Qg
aW5fbXVsdGlfaGVhZCB0bXA7DQo+ID4gPj4gKw0KPiA+ID4+ICsgICAgIElOX01VTFRJX0xJU1Rf
TE9DS19BU1NFUlQoKTsNCj4gPiA+PiArICAgICBNUEFTUyhpbm0tPmlubV9yZWZjb3VudCA+IDAp
Ow0KPiA+ID4+ICsgICAgIGlmICgtLWlubS0+aW5tX3JlZmNvdW50ID09IDApIHsNCj4gPiA+PiAr
ICAgICAgICAgICAgIFNMSVNUX0lOSVQoJnRtcCk7DQo+ID4gPj4gKyAgICAgICAgICAgICBpbm0t
PmlubV9pZm1hLT5pZm1hX3Byb3Rvc3BlYyA9IE5VTEw7DQo+ID4gPj4gKyAgICAgICAgICAgICBT
TElTVF9JTlNFUlRfSEVBRCgmdG1wLCBpbm0sIGlubV9ucmVsZSk7DQo+ID4gPj4gKyAgICAgICAg
ICAgICBpbm1fcmVsZWFzZV9saXN0X2RlZmVycmVkKCZ0bXApOw0KPiA+ID4+ICsgICAgIH0NCj4g
PiA+PiArfQ0KPiA+ID4+ICsNCj4gPiA+PiArc3RhdGljIHZvaWQNCj4gPiA+PiAraW5tX3JlbGVh
c2VfdGFzayh2b2lkICphcmcgX191bnVzZWQpDQo+ID4gPj4gK3sNCj4gPiA+PiArICAgICBzdHJ1
Y3QgaW5fbXVsdGlfaGVhZCBpbm1fZnJlZV90bXA7DQo+ID4gPj4gKyAgICAgc3RydWN0IGluX211
bHRpICppbm0sICp0aW5tOw0KPiA+ID4+ICsNCj4gPiA+PiArICAgICBTTElTVF9JTklUKCZpbm1f
ZnJlZV90bXApOw0KPiA+ID4+ICsgICAgIG10eF9sb2NrKCZpbl9tdWx0aV9mcmVlX210eCk7DQo+
ID4gPj4gKyAgICAgU0xJU1RfQ09OQ0FUKCZpbm1fZnJlZV90bXAsICZpbm1fZnJlZV9saXN0LCBp
bl9tdWx0aSwgaW5tX25yZWxlKTsNCj4gPiA+PiArICAgICBtdHhfdW5sb2NrKCZpbl9tdWx0aV9m
cmVlX210eCk7DQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTE9DSygpOw0KPiA+ID4+ICsgICAgIFNM
SVNUX0ZPUkVBQ0hfU0FGRShpbm0sICZpbm1fZnJlZV90bXAsIGlubV9ucmVsZSwgdGlubSkgew0K
PiA+ID4+ICsgICAgICAgICAgICAgU0xJU1RfUkVNT1ZFX0hFQUQoJmlubV9mcmVlX3RtcCwgaW5t
X25yZWxlKTsNCj4gPiA+PiArICAgICAgICAgICAgIE1QQVNTKGlubSk7DQo+ID4gPj4gKyAgICAg
ICAgICAgICBpbm1fcmVsZWFzZShpbm0pOw0KPiA+ID4+ICsgICAgIH0NCj4gPiA+PiArICAgICBJ
Tl9NVUxUSV9VTkxPQ0soKTsNCj4gPiA+PiArfQ0KPiA+ID4+ICsNCj4gPiA+PiAgLyoNCj4gPiA+
PiAgICogSW5pdGlhbGl6ZSBhbiBpbl9tZmlsdGVyIHN0cnVjdHVyZSB0byBhIGtub3duIHN0YXRl
IGF0IHQwLCB0MQ0KPiA+ID4+ICAgKiB3aXRoIGFuIGVtcHR5IHNvdXJjZSBmaWx0ZXIgbGlzdC4N
Cj4gPiA+PiBAQCAtMjMyLDcgKzMwMSw3IEBAIGltZl9pbml0KHN0cnVjdCBpbl9tZmlsdGVyICpp
bWYsIGNvbnN0IGludCBzdDAsIGNvbnN0DQo+ID4gPj4gIC8qDQo+ID4gPj4gICAqIEZ1bmN0aW9u
IGZvciBsb29raW5nIHVwIGFuIGluX211bHRpIHJlY29yZCBmb3IgYW4gSVB2NCBtdWx0aWNhc3Qg
YWRkcmVzcw0KPiA+ID4+ICAgKiBvbiBhIGdpdmVuIGludGVyZmFjZS4gaWZwIG11c3QgYmUgdmFs
aWQuIElmIG5vIHJlY29yZCBmb3VuZCwgcmV0dXJuIE5VTEwuDQo+ID4gPj4gLSAqIFRoZSBJTl9N
VUxUSV9MT0NLIGFuZCBJRl9BRERSX0xPQ0sgb24gaWZwIG11c3QgYmUgaGVsZC4NCj4gPiA+PiAr
ICogVGhlIElOX01VTFRJX0xJU1RfTE9DSyBhbmQgSUZfQUREUl9MT0NLIG9uIGlmcCBtdXN0IGJl
IGhlbGQuDQo+ID4gPj4gICAqLw0KPiA+ID4+ICBzdHJ1Y3QgaW5fbXVsdGkgKg0KPiA+ID4+ICBp
bm1fbG9va3VwX2xvY2tlZChzdHJ1Y3QgaWZuZXQgKmlmcCwgY29uc3Qgc3RydWN0IGluX2FkZHIg
aW5hKQ0KPiA+ID4+IEBAIC0yNDAsNyArMzA5LDcgQEAgaW5tX2xvb2t1cF9sb2NrZWQoc3RydWN0
IGlmbmV0ICppZnAsIGNvbnN0IHN0cnVjdCBpbl9hDQo+ID4gPj4gICAgICAgc3RydWN0IGlmbXVs
dGlhZGRyICppZm1hOw0KPiA+ID4+ICAgICAgIHN0cnVjdCBpbl9tdWx0aSAqaW5tOw0KPiA+ID4+
DQo+ID4gPj4gLSAgICAgSU5fTVVMVElfTE9DS19BU1NFUlQoKTsNCj4gPiA+PiArICAgICBJTl9N
VUxUSV9MSVNUX0xPQ0tfQVNTRVJUKCk7DQo+ID4gPj4gICAgICAgSUZfQUREUl9MT0NLX0FTU0VS
VChpZnApOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgaW5tID0gTlVMTDsNCj4gPiA+PiBAQCAtMjY0
LDcgKzMzMyw3IEBAIGlubV9sb29rdXAoc3RydWN0IGlmbmV0ICppZnAsIGNvbnN0IHN0cnVjdCBp
bl9hZGRyIGluYQ0KPiA+ID4+ICB7DQo+ID4gPj4gICAgICAgc3RydWN0IGluX211bHRpICppbm07
DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+ICsg
ICAgIElOX01VTFRJX0xJU1RfTE9DS19BU1NFUlQoKTsNCj4gPiA+PiAgICAgICBJRl9BRERSX1JM
T0NLKGlmcCk7DQo+ID4gPj4gICAgICAgaW5tID0gaW5tX2xvb2t1cF9sb2NrZWQoaWZwLCBpbmEp
Ow0KPiA+ID4+ICAgICAgIElGX0FERFJfUlVOTE9DSyhpZnApOw0KPiA+ID4+IEBAIC00NTEsNyAr
NTIwLDcgQEAgaW5fZ2V0bXVsdGkoc3RydWN0IGlmbmV0ICppZnAsIGNvbnN0IHN0cnVjdCBpbl9h
ZGRyICpnDQo+ID4gPj4gICAgICAgSU5fTVVMVElfTE9DS19BU1NFUlQoKTsNCj4gPiA+Pg0KPiA+
ID4+ICAgICAgIGlpID0gKHN0cnVjdCBpbl9pZmluZm8gKilpZnAtPmlmX2FmZGF0YVtBRl9JTkVU
XTsNCj4gPiA+PiAtDQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9MT0NLKCk7DQo+ID4gPj4g
ICAgICAgaW5tID0gaW5tX2xvb2t1cChpZnAsICpncm91cCk7DQo+ID4gPj4gICAgICAgaWYgKGlu
bSAhPSBOVUxMKSB7DQo+ID4gPj4gICAgICAgICAgICAgICAvKg0KPiA+ID4+IEBAIC00NjAsMTEg
KzUyOSwxMyBAQCBpbl9nZXRtdWx0aShzdHJ1Y3QgaWZuZXQgKmlmcCwgY29uc3Qgc3RydWN0IGlu
X2FkZHIgKmcNCj4gPiA+PiAgICAgICAgICAgICAgICAqLw0KPiA+ID4+ICAgICAgICAgICAgICAg
S0FTU0VSVChpbm0tPmlubV9yZWZjb3VudCA+PSAxLA0KPiA+ID4+ICAgICAgICAgICAgICAgICAg
ICgiJXM6IGJhZCByZWZjb3VudCAlZCIsIF9fZnVuY19fLCBpbm0tPmlubV9yZWZjb3VudCkpOw0K
PiA+ID4+IC0gICAgICAgICAgICAgKytpbm0tPmlubV9yZWZjb3VudDsNCj4gPiA+PiArICAgICAg
ICAgICAgIGlubV9hY3F1aXJlX2xvY2tlZChpbm0pOw0KPiA+ID4+ICAgICAgICAgICAgICAgKnBp
bm0gPSBpbm07DQo+ID4gPj4gLSAgICAgICAgICAgICByZXR1cm4gKDApOw0KPiA+ID4+ICAgICAg
IH0NCj4gPiA+PiAtDQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9VTkxPQ0soKTsNCj4gPiA+
PiArICAgICBpZiAoaW5tICE9IE5VTEwpDQo+ID4gPj4gKyAgICAgICAgICAgICByZXR1cm4gKDAp
Ow0KPiA+ID4+ICsNCj4gPiA+PiAgICAgICBtZW1zZXQoJmdzaW4sIDAsIHNpemVvZihnc2luKSk7
DQo+ID4gPj4gICAgICAgZ3Npbi5zaW5fZmFtaWx5ID0gQUZfSU5FVDsNCj4gPiA+PiAgICAgICBn
c2luLnNpbl9sZW4gPSBzaXplb2Yoc3RydWN0IHNvY2thZGRyX2luKTsNCj4gPiA+PiBAQCAtNDc5
LDYgKzU1MCw3IEBAIGluX2dldG11bHRpKHN0cnVjdCBpZm5ldCAqaWZwLCBjb25zdCBzdHJ1Y3Qg
aW5fYWRkciAqZw0KPiA+ID4+ICAgICAgICAgICAgICAgcmV0dXJuIChlcnJvcik7DQo+ID4gPj4N
Cj4gPiA+PiAgICAgICAvKiBYWFggaWZtYV9wcm90b3NwZWMgbXVzdCBiZSBjb3ZlcmVkIGJ5IElG
X0FERFJfTE9DSyAqLw0KPiA+ID4+ICsgICAgIElOX01VTFRJX0xJU1RfTE9DSygpOw0KPiA+ID4+
ICAgICAgIElGX0FERFJfV0xPQ0soaWZwKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIC8qDQo+ID4g
Pj4gQEAgLTUwNCwxMCArNTc2LDkgQEAgaW5fZ2V0bXVsdGkoc3RydWN0IGlmbmV0ICppZnAsIGNv
bnN0IHN0cnVjdCBpbl9hZGRyICpnDQo+ID4gPj4gICAgICAgICAgICAgICAgICAgICAgICAgICBf
X2Z1bmNfXywgaWZtYSwgaW5tLCBpbmV0X250b2FfcigqZ3JvdXAsIGFkZHJidWYpKTsNCj4gPiA+
PiAgICAgICAgICAgICAgIH0NCj4gPiA+PiAgI2VuZGlmDQo+ID4gPj4gLSAgICAgICAgICAgICAr
K2lubS0+aW5tX3JlZmNvdW50Ow0KPiA+ID4+ICsgICAgICAgICAgICAgaW5tX2FjcXVpcmVfbG9j
a2VkKGlubSk7DQo+ID4gPj4gICAgICAgICAgICAgICAqcGlubSA9IGlubTsNCj4gPiA+PiAtICAg
ICAgICAgICAgIElGX0FERFJfV1VOTE9DSyhpZnApOw0KPiA+ID4+IC0gICAgICAgICAgICAgcmV0
dXJuICgwKTsNCj4gPiA+PiArICAgICAgICAgICAgIGdvdG8gb3V0X2xvY2tlZDsNCj4gPiA+PiAg
ICAgICB9DQo+ID4gPj4NCj4gPiA+PiAgICAgICBJRl9BRERSX1dMT0NLX0FTU0VSVChpZnApOw0K
PiA+ID4+IEBAIC01MjIsNiArNTkzLDcgQEAgaW5fZ2V0bXVsdGkoc3RydWN0IGlmbmV0ICppZnAs
IGNvbnN0IHN0cnVjdCBpbl9hZGRyICpnDQo+ID4gPj4gICAgICAgaW5tID0gbWFsbG9jKHNpemVv
ZigqaW5tKSwgTV9JUE1BRERSLCBNX05PV0FJVCB8IE1fWkVSTyk7DQo+ID4gPj4gICAgICAgaWYg
KGlubSA9PSBOVUxMKSB7DQo+ID4gPj4gICAgICAgICAgICAgICBJRl9BRERSX1dVTkxPQ0soaWZw
KTsNCj4gPiA+PiArICAgICAgICAgICAgIElOX01VTFRJX0xJU1RfVU5MT0NLKCk7DQo+ID4gPj4g
ICAgICAgICAgICAgICBpZl9kZWxtdWx0aV9pZm1hKGlmbWEpOw0KPiA+ID4+ICAgICAgICAgICAg
ICAgcmV0dXJuIChFTk9NRU0pOw0KPiA+ID4+ICAgICAgIH0NCj4gPiA+PiBAQCAtNTM5LDggKzYx
MSw5IEBAIGluX2dldG11bHRpKHN0cnVjdCBpZm5ldCAqaWZwLCBjb25zdCBzdHJ1Y3QgaW5fYWRk
ciAqZw0KPiA+ID4+ICAgICAgIGlmbWEtPmlmbWFfcHJvdG9zcGVjID0gaW5tOw0KPiA+ID4+DQo+
ID4gPj4gICAgICAgKnBpbm0gPSBpbm07DQo+ID4gPj4gLQ0KPiA+ID4+ICsgb3V0X2xvY2tlZDoN
Cj4gPiA+PiAgICAgICBJRl9BRERSX1dVTkxPQ0soaWZwKTsNCj4gPiA+PiArICAgICBJTl9NVUxU
SV9MSVNUX1VOTE9DSygpOw0KPiA+ID4+ICAgICAgIHJldHVybiAoMCk7DQo+ID4gPj4gIH0NCj4g
PiA+Pg0KPiA+ID4+IEBAIC01NTAsMzYgKzYyMywyOSBAQCBpbl9nZXRtdWx0aShzdHJ1Y3QgaWZu
ZXQgKmlmcCwgY29uc3Qgc3RydWN0IGluX2FkZHIgKmcNCj4gPiA+PiAgICogSWYgdGhlIHJlZmNv
dW50IGRyb3BzIHRvIDAsIGZyZWUgdGhlIGluX211bHRpIHJlY29yZCBhbmQNCj4gPiA+PiAgICog
ZGVsZXRlIHRoZSB1bmRlcmx5aW5nIGxpbmstbGF5ZXIgbWVtYmVyc2hpcC4NCj4gPiA+PiAgICov
DQo+ID4gPj4gLXZvaWQNCj4gPiA+PiAtaW5tX3JlbGVhc2VfbG9ja2VkKHN0cnVjdCBpbl9tdWx0
aSAqaW5tKQ0KPiA+ID4+ICtzdGF0aWMgdm9pZA0KPiA+ID4+ICtpbm1fcmVsZWFzZShzdHJ1Y3Qg
aW5fbXVsdGkgKmlubSkNCj4gPiA+PiAgew0KPiA+ID4+ICAgICAgIHN0cnVjdCBpZm11bHRpYWRk
ciAqaWZtYTsNCj4gPiA+PiArICAgICBzdHJ1Y3QgaWZuZXQgKmlmcDsNCj4gPiA+Pg0KPiA+ID4+
IC0gICAgIElOX01VTFRJX0xPQ0tfQVNTRVJUKCk7DQo+ID4gPj4gLQ0KPiA+ID4+ICAgICAgIENU
UjIoS1RSX0lHTVBWMywgIiVzOiByZWZjb3VudCBpcyAlZCIsIF9fZnVuY19fLCBpbm0tPmlubV9y
ZWZjb3VudCk7DQo+ID4gPj4gLQ0KPiA+ID4+IC0gICAgIGlmICgtLWlubS0+aW5tX3JlZmNvdW50
ID4gMCkgew0KPiA+ID4+IC0gICAgICAgICAgICAgQ1RSMihLVFJfSUdNUFYzLCAiJXM6IHJlZmNv
dW50IGlzIG5vdyAlZCIsIF9fZnVuY19fLA0KPiA+ID4+IC0gICAgICAgICAgICAgICAgIGlubS0+
aW5tX3JlZmNvdW50KTsNCj4gPiA+PiAtICAgICAgICAgICAgIHJldHVybjsNCj4gPiA+PiAtICAg
ICB9DQo+ID4gPj4gLQ0KPiA+ID4+ICsgICAgIE1QQVNTKGlubS0+aW5tX3JlZmNvdW50ID09IDAp
Ow0KPiA+ID4+ICAgICAgIENUUjIoS1RSX0lHTVBWMywgIiVzOiBmcmVlaW5nIGlubSAlcCIsIF9f
ZnVuY19fLCBpbm0pOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgaWZtYSA9IGlubS0+aW5tX2lmbWE7
DQo+ID4gPj4gKyAgICAgaWZwID0gaW5tLT5pbm1faWZwOw0KPiA+ID4+DQo+ID4gPj4gICAgICAg
LyogWFhYIHRoaXMgYWNjZXNzIGlzIG5vdCBjb3ZlcmVkIGJ5IElGX0FERFJfTE9DSyAqLw0KPiA+
ID4+ICAgICAgIENUUjIoS1RSX0lHTVBWMywgIiVzOiBwdXJnaW5nIGlmbWEgJXAiLCBfX2Z1bmNf
XywgaWZtYSk7DQo+ID4gPj4gLSAgICAgS0FTU0VSVChpZm1hLT5pZm1hX3Byb3Rvc3BlYyA9PSBp
bm0sDQo+ID4gPj4gLSAgICAgICAgICgiJXM6IGlmbWFfcHJvdG9zcGVjICE9IGlubSIsIF9fZnVu
Y19fKSk7DQo+ID4gPj4gLSAgICAgaWZtYS0+aWZtYV9wcm90b3NwZWMgPSBOVUxMOw0KPiA+ID4+
IC0NCj4gPiA+PiArICAgICBpZiAoaWZwKQ0KPiA+ID4+ICsgICAgICAgICAgICAgQ1VSVk5FVF9T
RVQoaWZwLT5pZl92bmV0KTsNCj4gPiA+PiAgICAgICBpbm1fcHVyZ2UoaW5tKTsNCj4gPiA+PiAt
DQo+ID4gPj4gICAgICAgZnJlZShpbm0sIE1fSVBNQUREUik7DQo+ID4gPj4NCj4gPiA+PiAgICAg
ICBpZl9kZWxtdWx0aV9pZm1hKGlmbWEpOw0KPiA+ID4+ICsgICAgIGlmIChpZnApDQo+ID4gPj4g
KyAgICAgICAgICAgICBDVVJWTkVUX1JFU1RPUkUoKTsNCj4gPiA+PiAgfQ0KPiA+ID4+DQo+ID4g
Pj4gIC8qDQo+ID4gPj4gQEAgLTU5Miw3ICs2NTgsNyBAQCBpbm1fY2xlYXJfcmVjb3JkZWQoc3Ry
dWN0IGluX211bHRpICppbm0pDQo+ID4gPj4gIHsNCj4gPiA+PiAgICAgICBzdHJ1Y3QgaXBfbXNv
dXJjZSAgICAgICAqaW1zOw0KPiA+ID4+DQo+ID4gPj4gLSAgICAgSU5fTVVMVElfTE9DS19BU1NF
UlQoKTsNCj4gPiA+PiArICAgICBJTl9NVUxUSV9MSVNUX0xPQ0tfQVNTRVJUKCk7DQo+ID4gPj4N
Cj4gPiA+PiAgICAgICBSQl9GT1JFQUNIKGltcywgaXBfbXNvdXJjZV90cmVlLCAmaW5tLT5pbm1f
c3Jjcykgew0KPiA+ID4+ICAgICAgICAgICAgICAgaWYgKGltcy0+aW1zX3N0cCkgew0KPiA+ID4+
IEBAIC02MzIsNyArNjk4LDcgQEAgaW5tX3JlY29yZF9zb3VyY2Uoc3RydWN0IGluX211bHRpICpp
bm0sIGNvbnN0IGluX2FkZHJfDQo+ID4gPj4gICAgICAgc3RydWN0IGlwX21zb3VyY2UgICAgICAg
IGZpbmQ7DQo+ID4gPj4gICAgICAgc3RydWN0IGlwX21zb3VyY2UgICAgICAgKmltcywgKm5pbXM7
DQo+ID4gPj4NCj4gPiA+PiAtICAgICBJTl9NVUxUSV9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+ICsg
ICAgIElOX01VTFRJX0xJU1RfTE9DS19BU1NFUlQoKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIGZp
bmQuaW1zX2hhZGRyID0gbnRvaGwobmFkZHIpOw0KPiA+ID4+ICAgICAgIGltcyA9IFJCX0ZJTkQo
aXBfbXNvdXJjZV90cmVlLCAmaW5tLT5pbm1fc3JjcywgJmZpbmQpOw0KPiA+ID4+IEBAIC05NTks
NiArMTAyNSw3IEBAIGlubV9tZXJnZShzdHJ1Y3QgaW5fbXVsdGkgKmlubSwgLypjb25zdCovIHN0
cnVjdCBpbl9tZg0KPiA+ID4+ICAgICAgIHNjaGFuZ2VkID0gMDsNCj4gPiA+PiAgICAgICBlcnJv
ciA9IDA7DQo+ID4gPj4gICAgICAgbnNyYzEgPSBuc3JjMCA9IDA7DQo+ID4gPj4gKyAgICAgSU5f
TVVMVElfTElTVF9MT0NLX0FTU0VSVCgpOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgLyoNCj4gPiA+
PiAgICAgICAgKiBVcGRhdGUgdGhlIHNvdXJjZSBmaWx0ZXJzIGZpcnN0LCBhcyB0aGlzIG1heSBm
YWlsLg0KPiA+ID4+IEBAIC0xMTY1LDYgKzEyMzIsNyBAQCBpbl9qb2luZ3JvdXBfbG9ja2VkKHN0
cnVjdCBpZm5ldCAqaWZwLCBjb25zdCBzdHJ1Y3QgaW4NCj4gPiA+PiAgICAgICBpbnQgICAgICAg
ICAgICAgICAgICAgICAgZXJyb3I7DQo+ID4gPj4NCj4gPiA+PiAgICAgICBJTl9NVUxUSV9MT0NL
X0FTU0VSVCgpOw0KPiA+ID4+ICsgICAgIElOX01VTFRJX0xJU1RfVU5MT0NLX0FTU0VSVCgpOw0K
PiA+ID4+DQo+ID4gPj4gICAgICAgQ1RSNChLVFJfSUdNUFYzLCAiJXM6IGpvaW4gMHglMDh4IG9u
ICVwKCVzKSkiLCBfX2Z1bmNfXywNCj4gPiA+PiAgICAgICAgICAgbnRvaGwoZ2luYS0+c19hZGRy
KSwgaWZwLCBpZnAtPmlmX3huYW1lKTsNCj4gPiA+PiBAQCAtMTE4Niw3ICsxMjU0LDcgQEAgaW5f
am9pbmdyb3VwX2xvY2tlZChzdHJ1Y3QgaWZuZXQgKmlmcCwgY29uc3Qgc3RydWN0IGluDQo+ID4g
Pj4gICAgICAgICAgICAgICBDVFIxKEtUUl9JR01QVjMsICIlczogaW5fZ2V0bXVsdGkoKSBmYWls
dXJlIiwgX19mdW5jX18pOw0KPiA+ID4+ICAgICAgICAgICAgICAgcmV0dXJuIChlcnJvcik7DQo+
ID4gPj4gICAgICAgfQ0KPiA+ID4+IC0NCj4gPiA+PiArICAgICBJTl9NVUxUSV9MSVNUX0xPQ0so
KTsNCj4gPiA+PiAgICAgICBDVFIxKEtUUl9JR01QVjMsICIlczogbWVyZ2UgaW5tIHN0YXRlIiwg
X19mdW5jX18pOw0KPiA+ID4+ICAgICAgIGVycm9yID0gaW5tX21lcmdlKGlubSwgaW1mKTsNCj4g
PiA+PiAgICAgICBpZiAoZXJyb3IpIHsNCj4gPiA+PiBAQCAtMTIwMSwxMCArMTI2OSwxMiBAQCBp
bl9qb2luZ3JvdXBfbG9ja2VkKHN0cnVjdCBpZm5ldCAqaWZwLCBjb25zdCBzdHJ1Y3QgaW4NCj4g
PiA+PiAgICAgICAgICAgICAgIGdvdG8gb3V0X2lubV9yZWxlYXNlOw0KPiA+ID4+ICAgICAgIH0N
Cj4gPiA+Pg0KPiA+ID4+IC1vdXRfaW5tX3JlbGVhc2U6DQo+ID4gPj4gKyBvdXRfaW5tX3JlbGVh
c2U6DQo+ID4gPj4gKyAgICAgSU5fTVVMVElfTElTVF9VTkxPQ0soKTsNCj4gPiA+PiAgICAgICBp
ZiAoZXJyb3IpIHsNCj4gPiA+PiArDQo+ID4gPj4gICAgICAgICAgICAgICBDVFIyKEtUUl9JR01Q
VjMsICIlczogZHJvcHBpbmcgcmVmIG9uICVwIiwgX19mdW5jX18sIGlubSk7DQo+ID4gPj4gLSAg
ICAgICAgICAgICBpbm1fcmVsZWFzZV9sb2NrZWQoaW5tKTsNCj4gPiA+PiArICAgICAgICAgICAg
IGlubV9yZWxlYXNlX2RlZmVycmVkKGlubSk7DQo+ID4gPj4gICAgICAgfSBlbHNlIHsNCj4gPiA+
PiAgICAgICAgICAgICAgICpwaW5tID0gaW5tOw0KPiA+ID4+ICAgICAgIH0NCj4gPiA+PiBAQCAt
MTI0OSw2ICsxMzE5LDcgQEAgaW5fbGVhdmVncm91cF9sb2NrZWQoc3RydWN0IGluX211bHRpICpp
bm0sIC8qY29uc3QqLyBzDQo+ID4gPj4gICAgICAgZXJyb3IgPSAwOw0KPiA+ID4+DQo+ID4gPj4g
ICAgICAgSU5fTVVMVElfTE9DS19BU1NFUlQoKTsNCj4gPiA+PiArICAgICBJTl9NVUxUSV9MSVNU
X1VOTE9DS19BU1NFUlQoKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIENUUjUoS1RSX0lHTVBWMywg
IiVzOiBsZWF2ZSBpbm0gJXAsIDB4JTA4eC8lcywgaW1mICVwIiwgX19mdW5jX18sDQo+ID4gPj4g
ICAgICAgICAgIGlubSwgbnRvaGwoaW5tLT5pbm1fYWRkci5zX2FkZHIpLA0KPiA+ID4+IEBAIC0x
MjcyLDE4ICsxMzQzLDIwIEBAIGluX2xlYXZlZ3JvdXBfbG9ja2VkKHN0cnVjdCBpbl9tdWx0aSAq
aW5tLCAvKmNvbnN0Ki8gcw0KPiA+ID4+ICAgICAgICAqIHRoZSB0cmFuc2FjdGlvbiwgaXQgTVVT
VCBOT1QgZmFpbC4NCj4gPiA+PiAgICAgICAgKi8NCj4gPiA+PiAgICAgICBDVFIxKEtUUl9JR01Q
VjMsICIlczogbWVyZ2UgaW5tIHN0YXRlIiwgX19mdW5jX18pOw0KPiA+ID4+ICsgICAgIElOX01V
TFRJX0xJU1RfTE9DSygpOw0KPiA+ID4+ICAgICAgIGVycm9yID0gaW5tX21lcmdlKGlubSwgaW1m
KTsNCj4gPiA+PiAgICAgICBLQVNTRVJUKGVycm9yID09IDAsICgiJXM6IGZhaWxlZCB0byBtZXJn
ZSBpbm0gc3RhdGUiLCBfX2Z1bmNfXykpOw0KPiA+ID4+DQo+ID4gPj4gICAgICAgQ1RSMShLVFJf
SUdNUFYzLCAiJXM6IGRvaW5nIGlnbXAgZG93bmNhbGwiLCBfX2Z1bmNfXyk7DQo+ID4gPj4gICAg
ICAgQ1VSVk5FVF9TRVQoaW5tLT5pbm1faWZwLT5pZl92bmV0KTsNCj4gPiA+PiAgICAgICBlcnJv
ciA9IGlnbXBfY2hhbmdlX3N0YXRlKGlubSk7DQo+ID4gPj4gKyAgICAgaW5tX3JlbGVhc2VfZGVm
ZXJyZWQoaW5tKTsNCj4gPiA+PiArICAgICBJTl9NVUxUSV9MSVNUX1VOTE9DSygpOw0KPiA+ID4+
ICAgICAgIENVUlZORVRfUkVTVE9SRSgpOw0KPiA+ID4+ICAgICAgIGlmIChlcnJvcikNCj4gPiA+
PiAgICAgICAgICAgICAgIENUUjEoS1RSX0lHTVBWMywgIiVzOiBmYWlsZWQgaWdtcCBkb3duY2Fs
bCIsIF9fZnVuY19fKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIENUUjIoS1RSX0lHTVBWMywgIiVz
OiBkcm9wcGluZyByZWYgb24gJXAiLCBfX2Z1bmNfXywgaW5tKTsNCj4gPiA+PiAtICAgICBpbm1f
cmVsZWFzZV9sb2NrZWQoaW5tKTsNCj4gPiA+Pg0KPiA+ID4+ICAgICAgIHJldHVybiAoZXJyb3Ip
Ow0KPiA+ID4+ICB9DQo+ID4gPj4gQEAgLTEzMTUsMTggKzEzODgsNiBAQCBpbl9hZGRtdWx0aShz
dHJ1Y3QgaW5fYWRkciAqYXAsIHN0cnVjdCBpZm5ldCAqaWZwKQ0KPiA+ID4+ICB9DQo+ID4gPj4N
Cj4gPiA+PiAgLyoNCj4gPiA+PiAtICogTGVhdmUgYW4gSVB2NCBtdWx0aWNhc3QgZ3JvdXAsIGFz
c3VtZWQgdG8gYmUgaW4gZXhjbHVzaXZlICgqLEcpIG1vZGUuDQo+ID4gPj4gLSAqIFRoaXMgS1BJ
IGlzIGZvciBsZWdhY3kga2VybmVsIGNvbnN1bWVycyBvbmx5Lg0KPiA+ID4+IC0gKi8NCj4gPiA+
Pg0KPiA+ID4+ICoqKiBESUZGIE9VVFBVVCBUUlVOQ0FURUQgQVQgMTAwMCBMSU5FUyAqKioNCj4g
PiA+PiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiA+
ID4+IHN2bi1zcmMtaGVhZEBmcmVlYnNkLm9yZyBtYWlsaW5nIGxpc3QNCj4gPiA+PiBodHRwczov
L2xpc3RzLmZyZWVic2Qub3JnL21haWxtYW4vbGlzdGluZm8vc3ZuLXNyYy1oZWFkDQo+ID4gPj4g
VG8gdW5zdWJzY3JpYmUsIHNlbmQgYW55IG1haWwgdG8gInN2bi1zcmMtaGVhZC11bnN1YnNjcmli
ZUBmcmVlYnNkLm9yZyIgICAgDQo+ID4gPg0KPiA+ID4NCj4gPiA+IEFmdGVyIChhcm91bmQhKSB0
aGlzIHVwZGF0ZSwgc29tZSBib3hlcyB3aXRoIGkzNTAgZHVhbCBwb3J0IE5JQ3MgaW1tZWRpYXRl
bHkgY3Jhc2gNCj4gPiA+IHdpdGggRmF0YWwgdHJhcCAxMjogcGFnZSBmYXVsdCBhbmQgc29tZXRo
aW5nIHdpdGgNCj4gPiA+DQo+ID4gPiBjdXJyZW50IHByb2Nlc3M6IChpc2Mtd29ya2VyMDAwNikN
Cj4gPiA+DQo+ID4gPiAuLi4uDQo+ID4gPg0KPiA+ID4gVGhvc2UgYm94ZXMgZG8gbm90IGhhdmUg
ZGVidWdnaW5nIGtlcm5lbC4gVGhlIHN5bXB0b21icyBhcmUgdGhlIHNhbWUuIFNpbmdsZSB1c2Vy
DQo+ID4gPiBrZXJuZWwgd29ya3MsIGJ1dCB0aGUgbW9tZW50IEkgcGVyZm9ybSAvZXRjL25ldHN0
YXJ0IGFuZCBhbnkga2luZCBvZiBuZXQgdHJhZmZpYw0KPiA+ID4gZXN0YWJsaXNoZXMsIHRoaXMg
Y3JhcCBiYWlscyBvdXQuDQo+ID4gPg0KPiA+ID4NCj4gPiA+IC0gLS0NCj4gPiA+IE8uIEhhcnRt
YW5uDQo+ID4gPg0KPiA+ID4gSWNoIHdpZGVyc3ByZWNoZSBkZXIgTnV0enVuZyBvZGVyIMOcYmVy
bWl0dGx1bmcgbWVpbmVyIERhdGVuIGbDvHINCj4gPiA+IFdlcmJlendlY2tlIG9kZXIgZsO8ciBk
aWUgTWFya3QtIG9kZXIgTWVpbnVuZ3Nmb3JzY2h1bmcgKMKnIDI4IEFicy4gNCBCRFNHKS4NCj4g
PiA+IC0tLS0tQkVHSU4gUEdQIFNJR05BVFVSRS0tLS0tDQo+ID4gPg0KPiA+ID4gaUxVRUFSTUtB
QjBXSVFRWlZaTXpBdHdDMlQvODZUclM1MjhmeUZoWWxBVUNXdXRqdGdBS0NSRFM1MjhmeUZoWQ0K
PiA+ID4gbEFrekFmOVBoYUZUd05oUUQyekY3eFNISjJ3ZnZMdG9VRWpabHpHc3VzQUNwMXBhN0pB
ZnowUHl2K2xtK1hOSg0KPiA+ID4gdkxFbHJJZjFDbUR6dUE4eWJsWi94L3dPVlNKa0FmOUMrNTBE
VkV0R3E1SC9iSFNETnd6bXFyajhZZ0I3WHBTcw0KPiA+ID4gUE1SWGMrSXdJYTFKZ2kyeU0rNlRD
U05TczFONWJFVWhVOUJpOGVYeTZZMEZTa0FaZVYrcw0KPiA+ID4gPVMwYkMNCj4gPiA+IC0tLS0t
RU5EIFBHUCBTSUdOQVRVUkUtLS0tLQ0KPiA+ID4gX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX18NCj4gPiA+IHN2bi1zcmMtaGVhZEBmcmVlYnNkLm9yZyBtYWls
aW5nIGxpc3QNCj4gPiA+IGh0dHBzOi8vbGlzdHMuZnJlZWJzZC5vcmcvbWFpbG1hbi9saXN0aW5m
by9zdm4tc3JjLWhlYWQNCj4gPiA+IFRvIHVuc3Vic2NyaWJlLCBzZW5kIGFueSBtYWlsIHRvICJz
dm4tc3JjLWhlYWQtdW5zdWJzY3JpYmVAZnJlZWJzZC5vcmciICAgIA0KPiANCj4gDQo+IA0KPiAt
IC0tIA0KPiBPLiBIYXJ0bWFubg0KPiANCj4gSWNoIHdpZGVyc3ByZWNoZSBkZXIgTnV0enVuZyBv
ZGVyIMOcYmVybWl0dGx1bmcgbWVpbmVyIERhdGVuIGbDvHINCj4gV2VyYmV6d2Vja2Ugb2RlciBm
w7xyIGRpZSBNYXJrdC0gb2RlciBNZWludW5nc2ZvcnNjaHVuZyAowqcgMjggQWJzLiA0IEJEU0cp
Lg0KPiAtLS0tLUJFR0lOIFBHUCBTSUdOQVRVUkUtLS0tLQ0KPiANCj4gaUxVRUFSTUtBQjBXSVFR
WlZaTXpBdHdDMlQvODZUclM1MjhmeUZoWWxBVUNXdXR2OHdBS0NSRFM1MjhmeUZoWQ0KPiBsSWUx
QWZ3T0NBaWdwWGF3WjdLQWpMTnBXalJUNERzcnpmcWNDNTdNb3ppVlF5SytYOXFvUUEydjBwbFZO
cFAwDQo+IEZMcWg1ZGtSWGlpT0xyeXI5YXVJTFVLeUxDTnlBZndMN2NGZTFZUlg3Vm5zSzV3Ly84
WG0yNXRKNzRDWEM4UDANCj4gZ2FvU3F2RHFDS1dUajZpTitRL1Bqb05vaFdvSUs3NnRpWkFXUGpr
YUhldUZieXBQYTJHKw0KPiA9RXBKYQ0KPiAtLS0tLUVORCBQR1AgU0lHTkFUVVJFLS0tLS0NCj4g
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gc3ZuLXNy
Yy1oZWFkQGZyZWVic2Qub3JnIG1haWxpbmcgbGlzdA0KPiBodHRwczovL2xpc3RzLmZyZWVic2Qu
b3JnL21haWxtYW4vbGlzdGluZm8vc3ZuLXNyYy1oZWFkDQo+IFRvIHVuc3Vic2NyaWJlLCBzZW5k
IGFueSBtYWlsIHRvICJzdm4tc3JjLWhlYWQtdW5zdWJzY3JpYmVAZnJlZWJzZC5vcmciDQoNCg0K
DQotIC0tIA0KTy4gSGFydG1hbm4NCg0KSWNoIHdpZGVyc3ByZWNoZSBkZXIgTnV0enVuZyBvZGVy
IMOcYmVybWl0dGx1bmcgbWVpbmVyIERhdGVuIGbDvHINCldlcmJlendlY2tlIG9kZXIgZsO8ciBk
aWUgTWFya3QtIG9kZXIgTWVpbnVuZ3Nmb3JzY2h1bmcgKMKnIDI4IEFicy4gNCBCRFNHKS4NCi0t
LS0tQkVHSU4gUEdQIFNJR05BVFVSRS0tLS0tDQoNCmlMVUVBUk1LQUIwV0lRUVpWWk16QXR3QzJU
Lzg2VHJTNTI4ZnlGaFlsQVVDV3UxeThnQUtDUkRTNTI4ZnlGaFkNCmxGRW9BZjRpVys0dFNBT2NH
MEVRMS9ZMlBOcUxDWDRBbnBZVGxTbGFFQ3h0RmxEWi9YYk5PdzNUeVZCOVJiUUMNCnFHRTlVeDJ4
UUJENDhhMU5iMUlIVlZDOWppN2pBZ0NMT1h6S1VxbWNYa1BOdmpTZ1pXWitTZHlkNTVDaG9MZ1kN
ClNreVk4RlNVM0dFRG0yOFdnYVhqUTRvSmgrNy9GZjY5TnN1RFpsdDdpQzI0S1pkUktIMDANCj00
YlkrDQotLS0tLUVORCBQR1AgU0lHTkFUVVJFLS0tLS0NCg==



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20180505110138.6cae0f75>