[5090] in arla-drinkers

home help back first fref pref prev next nref lref last post

Re: PATCH v14: Arla CVS Current on Linux 2.6.3x to 4.6

daemon@ATHENA.MIT.EDU (Bo Branten)
Thu May 19 11:38:26 2016

From arla-drinkers-bounces@stacken.kth.se Thu May 19 15:38:26 2016
Return-Path: <arla-drinkers-bounces@stacken.kth.se>
Delivered-To: arla-drinkers-mtg@bloom-picayune.mit.edu
Received: (qmail 12563 invoked from network); 19 May 2016 15:38:26 -0000
Received: from mx7.kth.se (130.237.48.48)
  by charon.mit.edu with SMTP; 19 May 2016 15:38:26 -0000
Received: from mx7.kth.se (localhost [127.0.0.1])
	by mx7.kth.se (Postfix) with ESMTP id 72546140272;
	Thu, 19 May 2016 17:38:25 +0200 (CEST)
X-Virus-Scanned: by amavisd-new at kth.se
Received: from mx7.kth.se ([127.0.0.1])
	by mx7.kth.se (mx7.kth.se [127.0.0.1]) (amavisd-new, port 10024)
	with ESMTP id SpzGh7F_8yf3; Thu, 19 May 2016 17:38:07 +0200 (CEST)
Received: from vingummi.stacken.kth.se (unknown [IPv6:2001:6b0:1:ea:211:43ff:fe35:104c])
	by mx7.kth.se (Postfix) with ESMTP;
	Thu, 19 May 2016 17:38:06 +0200 (CEST)
Received: from vingummi.stacken.kth.se (localhost [IPv6:::1])
	by vingummi.stacken.kth.se (Postfix) with ESMTP id DB30B14CD6B;
	Thu, 19 May 2016 17:38:06 +0200 (CEST)
Received: by vingummi.stacken.kth.se (Postfix)
 id 4DCA614CD7D; Thu, 19 May 2016 17:38:05 +0200 (CEST)
Delivered-To: al_stacken_kth_se______________arla-drinkers@vingummi.stacken.kth.se
Received: from mx7.kth.se (mx7.kth.se [130.237.48.48])
 by vingummi.stacken.kth.se (Postfix) with ESMTPS id 4708714CBCA
 for <arla-drinkers@stacken.kth.se>; Thu, 19 May 2016 17:38:05 +0200 (CEST)
Received: from mx7.kth.se (localhost [127.0.0.1])
 by mx7.kth.se (Postfix) with ESMTP id 397D0140272
 for <arla-drinkers@stacken.kth.se>; Thu, 19 May 2016 17:38:05 +0200 (CEST)
X-Virus-Scanned: by amavisd-new at kth.se
X-Amavis-OS-Fingerprint: ???; dist: 8; link: Ethernet or modem; params: none; 
 raw_mtu: 1500; raw_sig:
 4:56+8:0:1460:32850,1:mss,nop,nop,ts,nop,ws,nop,nop,sok:df,id+:0,
 [130.239.18.156]:49197
Received: from mx7.kth.se ([127.0.0.1])
 by mx7.kth.se (mx7.kth.se [127.0.0.1]) (amavisd-new, port 10024)
 with ESMTP id MYaahHcAO5F7 for <arla-drinkers@stacken.kth.se>;
 Thu, 19 May 2016 17:38:03 +0200 (CEST)
Received: from mail.acc.umu.se (mail.acc.umu.se [130.239.18.156])
 by mx7.kth.se (Postfix) with ESMTPS
 for <arla-drinkers@stacken.kth.se>; Thu, 19 May 2016 17:38:03 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by amavisd-new (Postfix) with ESMTP id E28F5EB2
 for <arla-drinkers@stacken.kth.se>; Thu, 19 May 2016 17:38:02 +0200 (MEST)
X-Virus-Scanned: amavisd-new at acc.umu.se
Received: from suiko.acc.umu.se (suiko.acc.umu.se [130.239.18.162])
 by mail.acc.umu.se (Postfix) with ESMTP id B58AFEAF
 for <arla-drinkers@stacken.kth.se>; Thu, 19 May 2016 17:37:57 +0200 (MEST)
Received: by suiko.acc.umu.se (Postfix, from userid 10005)
 id AC7D144B8C; Thu, 19 May 2016 17:37:57 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1])
 by suiko.acc.umu.se (Postfix) with ESMTP id AA87444B8B
 for <arla-drinkers@stacken.kth.se>; Thu, 19 May 2016 17:37:57 +0200 (CEST)
Date: Thu, 19 May 2016 17:37:57 +0200 (CEST)
From: Bo Branten <bosse@acc.umu.se>
To: arla-drinkers@stacken.kth.se
Subject: Re: PATCH v14: Arla CVS Current on Linux 2.6.3x to 4.6
In-Reply-To: <alpine.DEB.2.10.1601150312080.11672@suiko.acc.umu.se>
Message-ID: <alpine.DEB.2.10.1605191736410.15876@suiko.acc.umu.se>
References: <alpine.DEB.2.10.1601110319280.18025@suiko.acc.umu.se>
 <alpine.DEB.2.10.1601150312080.11672@suiko.acc.umu.se>
User-Agent: Alpine 2.10 (DEB 1266 2009-07-14)
MIME-Version: 1.0
Content-Type: MULTIPART/MIXED;
 BOUNDARY="-276651502-871978835-1463672277=:15876"
X-BeenThere: arla-drinkers@stacken.kth.se
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Arla discussions <arla-drinkers.stacken.kth.se>
List-Unsubscribe: <https://lists.stacken.kth.se/mailman/options/arla-drinkers>, 
 <mailto:arla-drinkers-request@stacken.kth.se?subject=unsubscribe>
List-Archive: <http://lists.stacken.kth.se/pipermail/arla-drinkers/>
List-Post: <mailto:arla-drinkers@stacken.kth.se>
List-Help: <mailto:arla-drinkers-request@stacken.kth.se?subject=help>
List-Subscribe: <https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers>, 
 <mailto:arla-drinkers-request@stacken.kth.se?subject=subscribe>
Errors-To: arla-drinkers-bounces@stacken.kth.se
Sender: "Arla-drinkers" <arla-drinkers-bounces@stacken.kth.se>

  This message is in MIME format.  The first part should be readable text,
  while the remaining parts are likely unreadable without MIME-aware tools.

---276651502-871978835-1463672277=:15876
Content-Type: TEXT/PLAIN; format=flowed; charset=US-ASCII

PATCH v14: Arla CVS Current on Linux 2.6.3x to 4.6

Updated for the Linux kernel v4.6.

Bo Branten
---276651502-871978835-1463672277=:15876
Content-Type: TEXT/PLAIN; charset=US-ASCII; name=patch-v14-arla-cvs-for-linux-2.6.3x-to-4.6
Content-Transfer-Encoding: BASE64
Content-ID: <alpine.DEB.2.10.1605191737570.15876@suiko.acc.umu.se>
Content-Description: 
Content-Disposition: attachment; filename=patch-v14-arla-cvs-for-linux-2.6.3x-to-4.6

ZGlmZiAtdXByTiAtWG5vZGlmZiBhcmxhLWN2cy1vbGQvbm5wZnMvaW5jbHVk
ZS9ubnBmcy9ubnBmc19hdHRyLmggYXJsYS9ubnBmcy9pbmNsdWRlL25ucGZz
L25ucGZzX2F0dHIuaA0KLS0tIGFybGEtY3ZzLW9sZC9ubnBmcy9pbmNsdWRl
L25ucGZzL25ucGZzX2F0dHIuaAkyMDA2LTEwLTI0IDE4OjMzOjMwLjAwMDAw
MDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvaW5jbHVkZS9ubnBmcy9ubnBm
c19hdHRyLmgJMjAxNi0wMS0yMiAxMjo1MTowNy4wMDAwMDAwMDAgKzAxMDAN
CkBAIC0xMTMsOCArMTEzLDE4IEBAIHN0cnVjdCBubnBmc19hdHRyIHsNCiAg
ICAgdWludDMyX3QJCXhhX25saW5rOw0KICAgICB1aW50MzJfdAkJeGFfdHlw
ZTsNCiANCisjaWZuZGVmIF9fS0VSTkVMX18NCiAgICAgdWludDMyX3QJCXhh
X3VpZDsNCiAgICAgdWludDMyX3QJCXhhX2dpZDsNCisjZWxzZQ0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxNCwwKQ0K
KyAgICBrdWlkX3QJCXhhX3VpZDsNCisgICAga2dpZF90CQl4YV9naWQ7DQor
I2Vsc2UNCisgICAgdWludDMyX3QJCXhhX3VpZDsNCisgICAgdWludDMyX3QJ
CXhhX2dpZDsNCisjZW5kaWYNCisjZW5kaWYNCiANCiAgICAgdWludDMyX3QJ
CXhhX2F0aW1lOw0KICAgICB1aW50MzJfdAkJeGFfbXRpbWU7DQpkaWZmIC11
cHJOIC1Ybm9kaWZmIGFybGEtY3ZzLW9sZC9ubnBmcy9pbmNsdWRlL25ucGZz
L25ucGZzX21lc3NhZ2UuaCBhcmxhL25ucGZzL2luY2x1ZGUvbm5wZnMvbm5w
ZnNfbWVzc2FnZS5oDQotLS0gYXJsYS1jdnMtb2xkL25ucGZzL2luY2x1ZGUv
bm5wZnMvbm5wZnNfbWVzc2FnZS5oCTIwMDktMDItMjQgMjE6MjA6NTUuMDAw
MDAwMDAwICswMTAwDQorKysgYXJsYS9ubnBmcy9pbmNsdWRlL25ucGZzL25u
cGZzX21lc3NhZ2UuaAkyMDE2LTAxLTIyIDEyOjUzOjI5LjAwMDAwMDAwMCAr
MDEwMA0KQEAgLTUyLDcgKzUyLDE1IEBAIHR5cGVkZWYgdWludDE2X3Qgbm5w
ZnNfcmlnaHRzOw0KICAqIFRoZSBubnBmc19jcmVkLCBpZiBwYWcgPT0gMCwg
dXNlIHVpZCANCiAgKi8NCiB0eXBlZGVmIHN0cnVjdCBubnBmc19jcmVkIHsN
CisjaWZuZGVmIF9fS0VSTkVMX18NCiAgICAgdWludDMyX3QgdWlkOw0KKyNl
bHNlDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lP
TigzLDE0LDApDQorICAgIGt1aWRfdCB1aWQ7DQorI2Vsc2UNCisgICAgdWlu
dDMyX3QgdWlkOw0KKyNlbmRpZg0KKyNlbmRpZg0KICAgICBubnBmc19wYWdf
dCBwYWc7DQogfSBubnBmc19jcmVkOw0KIA0KZGlmZiAtdXByTiAtWG5vZGlm
ZiBhcmxhLWN2cy1vbGQvbm5wZnMvbGludXgvbm5wZnMvbm5wZnNfZnMuaCBh
cmxhL25ucGZzL2xpbnV4L25ucGZzL25ucGZzX2ZzLmgNCi0tLSBhcmxhLWN2
cy1vbGQvbm5wZnMvbGludXgvbm5wZnMvbm5wZnNfZnMuaAkyMDA2LTEwLTI0
IDE4OjMzOjQ4LjAwMDAwMDAwMCArMDIwMA0KKysrIGFybGEvbm5wZnMvbGlu
dXgvbm5wZnMvbm5wZnNfZnMuaAkyMDE2LTAxLTEzIDIyOjU3OjA2LjAwMDAw
MDAwMCArMDEwMA0KQEAgLTg0LDggKzg0LDEzIEBAIHN0cnVjdCBubnBmcyB7
DQogICAgIHN0cnVjdCB2ZnNtb3VudCAqY2FjaGVyb290OyAvKiBzaW1wbGlm
eSBvcGVuIG9mIGNhY2hlIGJsb2NrcyAqLw0KICAgICBzdHJ1Y3QgZGVudHJ5
ICpjYWNoZWRpcjsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMywxNCwwKQ0KICAgICB1aWRfdCB1aWQ7IC8qIGtlZXAg
dHJhY2sgb2YgZGFlbW9uJ3MgaWRlbnRpdHkgKi8NCiAgICAgZ2lkX3QgZ2lk
Ow0KKyNlbHNlDQorICAgIGt1aWRfdCB1aWQ7IC8qIGtlZXAgdHJhY2sgb2Yg
ZGFlbW9uJ3MgaWRlbnRpdHkgKi8NCisgICAga2dpZF90IGdpZDsNCisjZW5k
aWYNCiANCiAgICAgc3RydWN0IHsNCiAJaW50IHJlY3Vyc2U7DQpkaWZmIC11
cHJOIC1Ybm9kaWZmIGFybGEtY3ZzLW9sZC9ubnBmcy9saW51eC9ubnBmcy9u
bnBmc19sb2NsLmggYXJsYS9ubnBmcy9saW51eC9ubnBmcy9ubnBmc19sb2Ns
LmgNCi0tLSBhcmxhLWN2cy1vbGQvbm5wZnMvbGludXgvbm5wZnMvbm5wZnNf
bG9jbC5oCTIwMTAtMDgtMDggMjI6NDM6MDYuMDAwMDAwMDAwICswMjAwDQor
KysgYXJsYS9ubnBmcy9saW51eC9ubnBmcy9ubnBmc19sb2NsLmgJMjAxNi0w
MS0xMyAyMzowMToxMC4wMDAwMDAwMDAgKzAxMDANCkBAIC01MSw3ICs1MSw5
IEBADQogI2luY2x1ZGUgPGxpbnV4L3N0YXQuaD4NCiAjaW5jbHVkZSA8bGlu
dXgvc3RyaW5nLmg+DQogI2luY2x1ZGUgPGxpbnV4L25hbWVpLmg+DQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOSkN
CiAjaW5jbHVkZSA8bGludXgvc21wX2xvY2suaD4NCisjZW5kaWYNCiAjaW5j
bHVkZSA8bGludXgvd2FpdC5oPg0KIA0KIC8qDQpAQCAtMTM4LDEwICsxNDAs
MTcgQEAgdHlwZWRlZiBfX3UzMiAgdWludDMyX3Q7DQogaW50DQogbm5wZnNf
ZmV0Y2hfcm9vdChzdHJ1Y3QgaW5vZGUgKmkpOw0KIA0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzkpDQogaW50DQog
bm5wZnNfZ2V0X3NiKHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlICpmc190eXBl
LA0KIAkgICAgIGludCBmbGFncywgY29uc3QgY2hhciAqZGV2X25hbWUsDQog
CSAgICAgdm9pZCAqZGF0YSwgc3RydWN0IHZmc21vdW50ICptbnQpOw0KKyNl
bHNlDQorc3RydWN0IGRlbnRyeSoNCitubnBmc19tb3VudChzdHJ1Y3QgZmls
ZV9zeXN0ZW1fdHlwZSAqZnNfdHlwZSwNCisJICAgICBpbnQgZmxhZ3MsIGNv
bnN0IGNoYXIgKmRldl9uYW1lLA0KKwkgICAgIHZvaWQgKmRhdGEpOw0KKyNl
bmRpZg0KIA0KIGV4dGVybiBzdHJ1Y3QgZGVudHJ5X29wZXJhdGlvbnMgbm5w
ZnNfZGVudHJ5X29wZXJhdGlvbnM7DQogDQpAQCAtMTk0LDEwICsyMDMsMjEg
QEAgbm5wZnNfaXdyaXRlY291bnQgKHN0cnVjdCBpbm9kZSAqaW5vZGUpDQog
ICogSGVscCBmdW5jdGlvbiB0byByZWFkIHRoZSBkZW50cnktPmRfY291bnQg
YSBwb3J0YWJsZSB3YXkNCiAgKi8NCiANCisvKiNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzgpKi8NCiBzdGF0aWMgaW5s
aW5lIGludA0KIG5ucGZzX2Rjb3VudCAoY29uc3Qgc3RydWN0IGRlbnRyeSAq
ZGVudHJ5KQ0KKy8qI2Vsc2UNCitzdGF0aWMgaW5saW5lIGludA0KK25ucGZz
X2Rjb3VudCAoc3RydWN0IGRlbnRyeSAqZGVudHJ5KQ0KKyNlbmRpZiovDQog
ew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigy
LDYsMzgpDQogICAgIHJldHVybiBhdG9taWNfcmVhZCgmZGVudHJ5LT5kX2Nv
dW50KTsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDExLDApDQorICAgIHJldHVybiBhdG9taWNfcmVhZCgoY29uc3Qg
YXRvbWljX3QqKSZkZW50cnktPmRfY291bnQpOw0KKyNlbHNlDQorICAgIHJl
dHVybiBkX2NvdW50KGRlbnRyeSk7Ow0KKyNlbmRpZg0KIH0NCiANCiBleHRl
cm4gDQpAQCAtMjI5LDcgKzI0OSwxMiBAQCBubnBmc19maXh1cF9zeXNjYWxs
X2xvc3NhZ2Uodm9pZCk7DQogI2VuZGlmDQogDQogI2RlZmluZSBubnBmc19k
ZXZfdCBkZXZfdA0KKw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigyLDYsMzgpDQogI2RlZmluZSBubnBmc19kX2VudHJ5X3Vu
aGFzaGVkKGQpIGhsaXN0X3VuaGFzaGVkKGQpDQorI2Vsc2UNCisjZGVmaW5l
IG5ucGZzX2RfZW50cnlfdW5oYXNoZWQoZCkgaGxpc3RfYmxfdW5oYXNoZWQo
ZCkNCisjZW5kaWYNCiANCiAjZGVmaW5lIE5OUEZTX05PT1AgICAgICB3aGls
ZSgwKXt9DQogDQpkaWZmIC11cHJOIC1Ybm9kaWZmIGFybGEtY3ZzLW9sZC9u
bnBmcy9saW51eC9ubnBmc19ibG9ja3MuYyBhcmxhL25ucGZzL2xpbnV4L25u
cGZzX2Jsb2Nrcy5jDQotLS0gYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25u
cGZzX2Jsb2Nrcy5jCTIwMTAtMDgtMDggMjI6NDM6MDQuMDAwMDAwMDAwICsw
MjAwDQorKysgYXJsYS9ubnBmcy9saW51eC9ubnBmc19ibG9ja3MuYwkyMDE2
LTAyLTIwIDE5OjQ0OjM5LjAwMDAwMDAwMCArMDEwMA0KQEAgLTQzLDYgKzQz
LDExIEBADQogI2luY2x1ZGUgPGxpbnV4L21vdW50Lmg+DQogI2luY2x1ZGUg
PGxpbnV4L21tLmg+DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBL
RVJORUxfVkVSU0lPTigzLDEyLDApDQorZXh0ZXJuIGludCB2ZnNfcGF0aF9s
b29rdXAoc3RydWN0IGRlbnRyeSAqLCBzdHJ1Y3QgdmZzbW91bnQgKiwNCisJ
CQkgICBjb25zdCBjaGFyICosIHVuc2lnbmVkIGludCwgc3RydWN0IHBhdGgg
Kik7DQorI2VuZGlmDQorDQogLyoNCiAgKiByZXR1cm4gdHJ1ZSBpZiBibG9j
ayBpcyBpbiBjYWNoZQ0KICAqLw0KQEAgLTI5MCw3ICsyOTUsMTMgQEAgbm5w
ZnNfYmxvY2tfZXh0ZW5kKHN0cnVjdCBubnBmc19ub2RlICpubw0KICAgICBi
YWNrbm9kZSA9IGJhY2tmaWxlLT5mX21hcHBpbmctPmhvc3Q7DQogDQogICAg
IG11dGV4X2xvY2soJmJhY2tub2RlLT5pX211dGV4KTsNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw4LDApDQogICAgIHJl
dCA9IHZtdHJ1bmNhdGUoYmFja25vZGUsIG5ucGZzX2Jsb2Nrc2l6ZSk7DQor
I2Vsc2UNCisgICAgcmV0ID0gaW5vZGVfbmV3c2l6ZV9vayhiYWNrbm9kZSwg
bm5wZnNfYmxvY2tzaXplKTsNCisgICAgaWYoIXJldCkNCisgICAgICAgIHRy
dW5jYXRlX3NldHNpemUoYmFja25vZGUsIG5ucGZzX2Jsb2Nrc2l6ZSk7DQor
I2VuZGlmDQogICAgIG11dGV4X3VubG9jaygmYmFja25vZGUtPmlfbXV0ZXgp
Ow0KICAgICANCiAgICAgZmlscF9jbG9zZShiYWNrZmlsZSwgTlVMTCk7DQpA
QCAtMzEzLDE5ICszMjQsMjcgQEAgbm5wZnNfYmxvY2tfb3BlbihzdHJ1Y3Qg
bm5wZnNfbm9kZSAqbm9kZQ0KIAkJIHN0cnVjdCBmaWxlICoqZmlsZSkNCiB7
DQogICAgIGNoYXIgY2FjaGVuYW1lW05OUEZTX0NBQ0hFX1BBVEhfU0laRV07
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigz
LDEsMCkNCisgICAgY2hhciBmdWxsX2NhY2hlbmFtZVtOTlBGU19DQUNIRV9Q
QVRIX1NJWkVdOw0KKyNlbmRpZg0KICAgICB1aW50NjRfdCBibG9ja2luZGV4
ID0gbm5wZnNfYmxvY2tfaW5kZXgob2Zmc2V0KTsNCiAgICAgdWludDMyX3Qg
aWQgPSBub2RlLT5pbmRleDsNCiAgICAgc3RydWN0IG5ucGZzICpubnBmc3Ag
PSBOTlBGU19GUk9NX1hOT0RFKG5vZGUpOw0KICAgICBzdHJ1Y3QgaW5vZGUg
Kmlub2RlID0gWE5PREVfVE9fVk5PREUobm9kZSk7DQogICAgIGludCBmbGFn
cyA9IE9fTEFSR0VGSUxFIHwgZmxhZzsNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KICAgICBzdHJ1Y3QgbmFt
ZWlkYXRhIG5kOw0KKyNlbHNlDQorICAgIHN0cnVjdCBwYXRoIHBhdGg7DQor
I2VuZGlmDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDIsNiwyOSkNCiAgICAgdWlkX3Qgc2F2ZXVpZDsNCiAgICAgZ2lkX3Qg
c2F2ZWdpZDsNCi0gICAgaW50IHJldDsNCi0jaWYgTElOVVhfVkVSU0lPTl9D
T0RFID49IEtFUk5FTF9WRVJTSU9OKDIsNiwyOSkNCisjZWxzZQ0KICAgICBj
b25zdCBzdHJ1Y3QgY3JlZCAqb2xkX2NyZWQ7DQogICAgIHN0cnVjdCBjcmVk
ICpvdmVycmlkZV9jcmVkOw0KICNlbmRpZg0KKyAgICBpbnQgcmV0Ow0KIA0K
ICAgICBCVUdfT04oIW5ucGZzcCk7DQogICAgIEJVR19PTihmbGFncyAmIE9f
Q1JFQVQgJiYgZmlsZSAhPSBOVUxMKTsNCkBAIC0zMzQsMTIgKzM1MywyMiBA
QCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19ub2RlICpub2RlDQog
CXJldCA9IHNucHJpbnRmKGNhY2hlbmFtZSwgc2l6ZW9mKGNhY2hlbmFtZSks
DQogCQkgICAgICAgTk5QRlNfQ0FDSEVfRElSX1BBVEgsDQogCQkgICAgICAg
aWQgLyAweDEwMCwgaWQgJSAweDEwMCk7DQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA+PSBLRVJORUxfVkVSU0lPTigzLDEsMCkNCisJcmV0ID0gc25wcmlu
dGYoZnVsbF9jYWNoZW5hbWUsIHNpemVvZihjYWNoZW5hbWUpLA0KKwkJICAg
ICAgICIvdXNyL2FybGEvY2FjaGUvIiBOTlBGU19DQUNIRV9ESVJfUEFUSCwN
CisJCSAgICAgICBpZCAvIDB4MTAwLCBpZCAlIDB4MTAwKTsNCisjZW5kaWYN
CiAgICAgfSBlbHNlIHsNCiAJcmV0ID0gc25wcmludGYoY2FjaGVuYW1lLCBz
aXplb2YoY2FjaGVuYW1lKSwNCiAJCSAgICAgICBOTlBGU19DQUNIRV9GSUxF
X1BBVEgsDQogCQkgICAgICAgaWQgLyAweDEwMCwgaWQgJSAweDEwMCwNCiAJ
CSAgICAgICAodW5zaWduZWQgbG9uZyBsb25nKWJsb2NraW5kZXgpOw0KLQ0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywx
LDApDQorCXJldCA9IHNucHJpbnRmKGZ1bGxfY2FjaGVuYW1lLCBzaXplb2Yo
Y2FjaGVuYW1lKSwNCisJCSAgICAgICAiL3Vzci9hcmxhL2NhY2hlLyIgTk5Q
RlNfQ0FDSEVfRklMRV9QQVRILA0KKwkJICAgICAgIGlkIC8gMHgxMDAsIGlk
ICUgMHgxMDAsDQorCQkgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylibG9j
a2luZGV4KTsNCisjZW5kaWYNCiAJaWYgKCFubnBmc19ibG9ja19oYXZlX3Ao
bm9kZSwgb2Zmc2V0KSAmJiAoZmxhZ3MgJiBPX0NSRUFUKSA9PSAwKSB7DQog
CSAgICBwcmludGsoS0VSTl9FTUVSRyAicmVhZGluZyBibG9jayAlczogbm90
IHRoZXJlXG4iLCBjYWNoZW5hbWUpOw0KIAkgICAgQlVHKCk7DQpAQCAtMzUw
LDE0ICszNzksMTIgQEAgbm5wZnNfYmxvY2tfb3BlbihzdHJ1Y3Qgbm5wZnNf
bm9kZSAqbm9kZQ0KICAgICBCVUdfT04oIW5ucGZzcC0+Y2FjaGVkaXIgfHwg
IW5ucGZzcC0+Y2FjaGVyb290KTsNCiAgICAgDQogICAgIC8qIHVzZSB0aGUg
bmZzZCB0cmljayB0byBnaXZlIHVzIGFjY2VzcyAqLw0KLSNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjkpDQog
ICAgIHNhdmV1aWQgPSBjdXJyZW50LT5mc3VpZDsNCiAgICAgc2F2ZWdpZCA9
IGN1cnJlbnQtPmZzZ2lkOw0KICAgICBjdXJyZW50LT5mc3VpZCA9IG5ucGZz
cC0+dWlkOw0KICAgICBjdXJyZW50LT5mc2dpZCA9IG5ucGZzcC0+Z2lkOw0K
ICNlbHNlDQotICAgIHNhdmV1aWQgPSBjdXJyZW50X2ZzdWlkKCk7DQotICAg
IHNhdmVnaWQgPSBjdXJyZW50X2ZzZ2lkKCk7DQogICAgIG92ZXJyaWRlX2Ny
ZWQgPSBwcmVwYXJlX2NyZWRzKCk7DQogICAgIGlmIChvdmVycmlkZV9jcmVk
ID09IE5VTEwpDQogICAgICAgICByZXR1cm4gLUVOT01FTTsNCkBAIC0zNjYs
MTEgKzM5MywyMyBAQCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19u
b2RlICpub2RlDQogICAgIG9sZF9jcmVkID0gb3ZlcnJpZGVfY3JlZHMob3Zl
cnJpZGVfY3JlZCk7DQogI2VuZGlmDQogDQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMSwwKQ0KICAgICByZXQgPSB2ZnNf
cGF0aF9sb29rdXAobm5wZnNwLT5jYWNoZWRpciwgbm5wZnNwLT5jYWNoZXJv
b3QsDQogCQkJICBjYWNoZW5hbWUsDQogCQkJICBmbGFncyAmIE9fQ1JFQVQg
PyBMT09LVVBfUEFSRU5UIDogMCwNCiAJCQkgICZuZCk7DQorI2VsaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KKyAg
ICByZXQgPSB2ZnNfcGF0aF9sb29rdXAobm5wZnNwLT5jYWNoZWRpciwgbm5w
ZnNwLT5jYWNoZXJvb3QsDQorCQkJICBjYWNoZW5hbWUsIDAsICZuZC5wYXRo
KTsNCisjZWxzZQ0KKyAgICByZXQgPSB2ZnNfcGF0aF9sb29rdXAobm5wZnNw
LT5jYWNoZWRpciwgbm5wZnNwLT5jYWNoZXJvb3QsDQorCQkJICBjYWNoZW5h
bWUsIDAsICZwYXRoKTsNCisjZW5kaWYNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxLDApDQogICAgIGlmIChyZXQpIHsN
CisjZWxzZQ0KKyAgICBpZiAocmV0ICYmICEoZmxhZ3MgJiBPX0NSRUFUKSkg
ew0KKyNlbmRpZg0KIAl1aW50MzJfdCBubWFza3MgPSBub2RlLT5kYXRhLm5t
YXNrczsNCiAJdWludDMyX3QgbWFzazsNCiANCkBAIC0zOTYsMTcgKzQzNSwz
NyBAQCBubnBmc19ibG9ja19vcGVuKHN0cnVjdCBubnBmc19ub2RlICpub2Rl
DQogICAgIA0KICAgICBpZiAoZmxhZ3MgJiBPX0NSRUFUKSB7DQogCS8qIFhY
WCBtb2RlIGJpdHMgb24gY3JlYXRlIC0tIFNfSVJVU1J8U19JV1VTUiAqLw0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDEs
MCkNCiAJc3RydWN0IGRlbnRyeSAqZGVudHJ5ID0gbG9va3VwX2NyZWF0ZSgm
bmQsIDApOwkNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigzLDE5LDApDQorCXN0cnVjdCBkZW50cnkgKmRlbnRyeSA9IGtl
cm5fcGF0aF9jcmVhdGUoQVRfRkRDV0QsIGZ1bGxfY2FjaGVuYW1lLCAmbmQu
cGF0aCwgMCk7CQ0KKyNlbHNlDQorCXN0cnVjdCBkZW50cnkgKmRlbnRyeSA9
IGtlcm5fcGF0aF9jcmVhdGUoQVRfRkRDV0QsIGZ1bGxfY2FjaGVuYW1lLCAm
cGF0aCwgMCk7CQ0KKyNlbmRpZg0KIAlpZiAoSVNfRVJSKGRlbnRyeSkpIHsN
CiAJICAgIHJldCA9IFBUUl9FUlIoZGVudHJ5KTsNCiAJfSBlbHNlIHsNCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDAp
DQogCSAgICByZXQgPSB2ZnNfY3JlYXRlKG5kLnBhdGguZGVudHJ5LT5kX2lu
b2RlLCBkZW50cnksIFNfSVJVU1J8U19JV1VTUiwgJm5kKTsNCisjZWxpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQor
CSAgICAvKiBYWFggc2hvdWxkIHRoZSBsYXN0IGFyZ3VtZW50IHRvIHZmc19j
cmVhdGU6IGJvb2wgd2FudF9leGNsLCBiZSAwIG9yIDE/ICovDQorCSAgICBy
ZXQgPSB2ZnNfY3JlYXRlKG5kLnBhdGguZGVudHJ5LT5kX2lub2RlLCBkZW50
cnksIFNfSVJVU1J8U19JV1VTUiwgMCk7DQorI2Vsc2UNCisJICAgIC8qIFhY
WCBzaG91bGQgdGhlIGxhc3QgYXJndW1lbnQgdG8gdmZzX2NyZWF0ZTogYm9v
bCB3YW50X2V4Y2wsIGJlIDAgb3IgMT8gKi8NCisJICAgIHJldCA9IHZmc19j
cmVhdGUocGF0aC5kZW50cnktPmRfaW5vZGUsIGRlbnRyeSwgU19JUlVTUnxT
X0lXVVNSLCAwKTsNCisjZW5kaWYNCisNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQogCSAgICBkcHV0KGRlbnRy
eSk7DQorCSAgICBtdXRleF91bmxvY2soJm5kLnBhdGguZGVudHJ5LT5kX2lu
b2RlLT5pX211dGV4KTsNCisJICAgIHBhdGhfcHV0KCZuZC5wYXRoKTsNCisj
ZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5
LDApDQorCSAgICBkb25lX3BhdGhfY3JlYXRlKCZuZC5wYXRoLCBkZW50cnkp
Ow0KKyNlbHNlDQorCSAgICBkb25lX3BhdGhfY3JlYXRlKCZwYXRoLCBkZW50
cnkpOw0KKyNlbmRpZg0KIAl9DQogDQotCW11dGV4X3VubG9jaygmbmQucGF0
aC5kZW50cnktPmRfaW5vZGUtPmlfbXV0ZXgpOw0KLQlwYXRoX3B1dCgmbmQu
cGF0aCk7DQotDQogCWlmIChyZXQpIHsNCiAJICAgIHByaW50aygibm5wZnNf
YmxvY2tfb3BlbiglcykgY3JlYXRlIGZhaWxlZDogJWRcbiIsIGNhY2hlbmFt
ZSwgLXJldCk7DQogCSAgICBubnBmc19kZWJ1Z19vb3BzKCk7DQpAQCAtNDIx
LDE0ICs0ODAsMjIgQEAgbm5wZnNfYmxvY2tfb3BlbihzdHJ1Y3Qgbm5wZnNf
bm9kZSAqbm9kZQ0KICAgICB9IGVsc2Ugew0KICNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjkpDQogCXN0cnVjdCBmaWxl
ICpmID0gZGVudHJ5X29wZW4obmQucGF0aC5kZW50cnksIG5kLnBhdGgubW50
LCBmbGFncyk7DQotI2Vsc2UNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiAgICAgICAgIHN0cnVjdCBmaWxl
ICpmID0gZGVudHJ5X29wZW4obmQucGF0aC5kZW50cnksIG5kLnBhdGgubW50
LCBmbGFncywgY3VycmVudF9jcmVkKCkpOw0KKyNlbGlmIExJTlVYX1ZFUlNJ
T05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCisgICAgICAgIHN0
cnVjdCBmaWxlICpmID0gZGVudHJ5X29wZW4oJm5kLnBhdGgsIGZsYWdzLCBj
dXJyZW50X2NyZWQoKSk7DQorI2Vsc2UNCisgICAgICAgIHN0cnVjdCBmaWxl
ICpmID0gZGVudHJ5X29wZW4oJnBhdGgsIGZsYWdzLCBjdXJyZW50X2NyZWQo
KSk7DQogI2VuZGlmDQogCWlmIChJU19FUlIoZikpIHsNCiAJICAgIHJldCA9
IFBUUl9FUlIoZik7DQogCSAgICBwcmludGsoIm5ucGZzX2Jsb2NrX29wZW4o
JXMpIG9wZW4gZmFpbGVkOiAlZFxuIiwgY2FjaGVuYW1lLCAtcmV0KTsNCiAJ
ICAgIG5ucGZzX2RlYnVnX29vcHMoKTsNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KIAkgICAgcGF0aF9wdXQo
Jm5kLnBhdGgpOw0KKyNlbHNlDQorCSAgICBwYXRoX3B1dCgmcGF0aCk7DQor
I2VuZGlmDQogCX0gZWxzZSB7DQogCSAgICAqZmlsZSA9IGY7DQogCX0NCkBA
IC00MzcsNyArNTA0LDcgQEAgbm5wZnNfYmxvY2tfb3BlbihzdHJ1Y3Qgbm5w
ZnNfbm9kZSAqbm9kZQ0KICAgICAvKiBwYXRoX3JlbGVhc2UoKSBpcyB1c3Vh
bGx5IGhhbmRsZWQgb24gY2xvc2UgKi8NCiANCiAgb3V0Og0KLSNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KKyNp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjkp
DQogICAgIGN1cnJlbnQtPmZzdWlkID0gc2F2ZXVpZDsNCiAgICAgY3VycmVu
dC0+ZnNnaWQgPSBzYXZlZ2lkOw0KICNlbHNlDQpkaWZmIC11cHJOIC1Ybm9k
aWZmIGFybGEtY3ZzLW9sZC9ubnBmcy9saW51eC9ubnBmc19jb21tb24uYyBh
cmxhL25ucGZzL2xpbnV4L25ucGZzX2NvbW1vbi5jDQotLS0gYXJsYS1jdnMt
b2xkL25ucGZzL2xpbnV4L25ucGZzX2NvbW1vbi5jCTIwMDYtMTItMTEgMTc6
MzE6NDYuMDAwMDAwMDAwICswMTAwDQorKysgYXJsYS9ubnBmcy9saW51eC9u
bnBmc19jb21tb24uYwkyMDE2LTAxLTE0IDE2OjE1OjAwLjAwMDAwMDAwMCAr
MDEwMA0KQEAgLTExMiwxMCArMTEyLDE1IEBAIG5ucGZzX3ByaW50X2FsaWFz
ZXMoY29uc3Qgc3RydWN0IGlub2RlICoNCiB2b2lkDQogbm5wZnNfcHJpbnRf
YWxpYXNlc19yZWFsKGNvbnN0IHN0cnVjdCBpbm9kZSAqaW5vZGUpDQogew0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYs
MCkNCiAgICAgc3RydWN0IGxpc3RfaGVhZCAqYWxpYXM7DQorI2VsaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw5LDApDQorICAg
IHN0cnVjdCBobGlzdF9ub2RlICphbGlhczsNCisjZW5kaWYNCiAgICAgc3Ry
dWN0IGRlbnRyeSAqZGVudHJ5Ow0KICAgICBpbnQgYmFpbG91dCA9IDEwMDsN
CiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04o
Myw2LDApDQogICAgIGFsaWFzID0gaW5vZGUtPmlfZGVudHJ5Lm5leHQ7DQog
ICAgIHdoaWxlIChhbGlhcyAhPSAmaW5vZGUtPmlfZGVudHJ5KSB7DQogCWlm
ICgtLWJhaWxvdXQgPCAwKSB7DQpAQCAtMTMxLDYgKzEzNiwyNiBAQCBubnBm
c19wcmludF9hbGlhc2VzX3JlYWwoY29uc3Qgc3RydWN0IGluDQogCX0NCiAJ
YWxpYXMgPSBhbGlhcy0+bmV4dDsNCiAgICAgfQ0KKyNlbHNlDQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsOSwwKQ0KKyAg
ICBobGlzdF9mb3JfZWFjaF9lbnRyeShkZW50cnksIGFsaWFzLCAmaW5vZGUt
PmlfZGVudHJ5LCBkX2FsaWFzKSB7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KKyAgICBobGlzdF9mb3Jf
ZWFjaF9lbnRyeShkZW50cnksICZpbm9kZS0+aV9kZW50cnksIGRfYWxpYXMp
IHsNCisjZWxzZQ0KKyAgICBobGlzdF9mb3JfZWFjaF9lbnRyeShkZW50cnks
ICZpbm9kZS0+aV9kZW50cnksIGRfdS5kX2FsaWFzKSB7DQorI2VuZGlmDQor
CWlmICgtLWJhaWxvdXQgPCAwKSB7DQorCSAgICBwcmludGsoIiAuLi4iKTsN
CisJICAgIGJyZWFrOw0KKwl9DQorCWlmIChkZW50cnkpIHsNCisJICAgIHBy
aW50aygiICUuKnMoJXApIiwgKGludClkZW50cnktPmRfbmFtZS5sZW4sDQor
CQkgICBkZW50cnktPmRfbmFtZS5uYW1lLCBkZW50cnkpOw0KKwkgICAgaWYg
KG5ucGZzX2RfZW50cnlfdW5oYXNoZWQoJmRlbnRyeS0+ZF9oYXNoKSkNCisJ
CXByaW50aygiKHVuaGFzaGVkKSIpOw0KKwl9DQorICAgIH0NCisjZW5kaWYN
CiAgICAgcHJpbnRrKCJcbiIpOw0KIH0NCiANCkBAIC0xNDYsNyArMTcxLDEx
IEBAIG5ucGZzX3ByaW50X2NoaWxkcmVuKGNvbnN0IHN0cnVjdCBkZW50cnkN
CiANCiAgICAgd2hpbGUgKHN1YmRpcnMgIT0gJmRlbnRyeS0+ZF9zdWJkaXJz
KSB7DQogCXN0cnVjdCBsaXN0X2hlYWQgKnRtcCA9IHN1YmRpcnM7DQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkN
CiAJc3RydWN0IGRlbnRyeSAqY2hpbGQgPSBsaXN0X2VudHJ5KHRtcCwgc3Ry
dWN0IGRlbnRyeSwgZF91LmRfY2hpbGQpOw0KKyNlbHNlDQorCXN0cnVjdCBk
ZW50cnkgKmNoaWxkID0gbGlzdF9lbnRyeSh0bXAsIHN0cnVjdCBkZW50cnks
IGRfY2hpbGQpOw0KKyNlbmRpZg0KIA0KIAlwcmludGsoIiAlLipzKCVwKSIs
IChpbnQpY2hpbGQtPmRfbmFtZS5sZW4sDQogCSAgICAgICBjaGlsZC0+ZF9u
YW1lLm5hbWUsIGNoaWxkKTsNCmRpZmYgLXVwck4gLVhub2RpZmYgYXJsYS1j
dnMtb2xkL25ucGZzL2xpbnV4L25ucGZzX2Rldi5jIGFybGEvbm5wZnMvbGlu
dXgvbm5wZnNfZGV2LmMNCi0tLSBhcmxhLWN2cy1vbGQvbm5wZnMvbGludXgv
bm5wZnNfZGV2LmMJMjAwNi0xMC0yNCAxODozMzozNi4wMDAwMDAwMDAgKzAy
MDANCisrKyBhcmxhL25ucGZzL2xpbnV4L25ucGZzX2Rldi5jCTIwMTYtMDEt
MTQgMTY6Mjg6MTkuMDAwMDAwMDAwICswMTAwDQpAQCAtMzAwLDcgKzMwMCw5
IEBAIG5ucGZzX2ludmFsaWRhdGVfYWxsKHN0cnVjdCBubnBmcyAqbm5wZnMN
CiAgICAgTk5QRlNERUIoWERFQk5PREUsICgiZnJlZV9hbGxfbm5wZnNfbm9k
ZXMgc3RhcnRpbmdcbiIpKTsNCiANCiAgICAgc2hyaW5rX2RjYWNoZV9zYihu
bnBmcy0+c2IpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigyLDYsMzcpDQogICAgIGludmFsaWRhdGVfaW5vZGVzKG5ucGZz
LT5zYik7DQorI2VuZGlmDQogICAgIA0KICAgICBOTlBGU0RFQihYREVCTk9E
RSwgKCJmcmVlX2FsbF9ubnBmc19ub2RlcyBkb25lXG4iKSk7DQogfQ0KQEAg
LTM3NCw3ICszNzYsMTEgQEAgbm5wZnNfZGV2Y2xvc2Uoc3RydWN0IGlub2Rl
ICogaW5vZGUsIHN0cg0KIHN0YXRpYyBzc2l6ZV90DQogbm5wZnNfZGV2cmVh
ZChzdHJ1Y3QgZmlsZSAqZmlsZSwgY2hhciAqYnVmLCBzaXplX3QgY291bnQs
IGxvZmZfdCAqcHBvcykNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAgICAgbm5wZnNfZGV2X3QgZGV2
ID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUtPmlfcmRldjsNCisjZWxzZQ0K
KyAgICBubnBmc19kZXZfdCBkZXYgPSBmaWxlLT5mX3BhdGguZGVudHJ5LT5k
X2lub2RlLT5pX3JkZXY7DQorI2VuZGlmDQogICAgIHN0cnVjdCBubnBmcyAq
bm5wZnNwID0gJm5ucGZzW01JTk9SKGRldildOw0KICAgICBzdHJ1Y3Qgbm5w
ZnNfbGluayAqZmlyc3Q7DQogICAgIGludCByZXQgPSAwLCBlcnJvciA9IDA7
DQpAQCAtNDM5LDggKzQ0NSwxMiBAQCBubnBmc19kZXZ3cml0ZShzdHJ1Y3Qg
ZmlsZSAqZmlsZSwgY29uc3QgDQogDQogICAgIE5OUEZTREVCKFhERUJERVYs
ICgibm5wZnNfZGV2d3JpdGVcbiIpKTsNCiAgICAgDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAgICAgZGV2
ID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUtPmlfcmRldjsNCi0gICAgbm5w
ZnNwID0gJm5ucGZzW01JTk9SKGRldildOw0KKyNlbHNlDQorICAgIGRldiA9
IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGUtPmlfcmRldjsNCisjZW5k
aWYNCisgICAgIG5ucGZzcCA9ICZubnBmc1tNSU5PUihkZXYpXTsNCiANCiAg
ICAgZG93bigmbm5wZnNwLT5jaGFubmVsX3NlbSk7DQogICAgIGlmIChubnBm
c3AtPnN0YXR1cyAmIE5OUEZTX0RFVldSSVRFKSB7DQpAQCAtNTA1LDE5ICs1
MTUsMzcgQEAgbm5wZnNfZGV2d3JpdGUoc3RydWN0IGZpbGUgKmZpbGUsIGNv
bnN0IA0KIC8qDQogICogTm90IHVzZWQuDQogICovDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzNikNCiBzdGF0aWMg
aW50DQogbm5wZnNfZGV2aW9jdGwoc3RydWN0IGlub2RlICppbm9kZSwgc3Ry
dWN0IGZpbGUgKmZpbGUsDQogCSAgICAgICB1bnNpZ25lZCBpbnQgY21kLCB1
bnNpZ25lZCBsb25nIGFyZykNCisjZWxzZQ0KK3N0YXRpYyBsb25nDQorbm5w
ZnNfdW5sb2NrZWRfZGV2aW9jdGwoc3RydWN0IGZpbGUgKmZpbGUsDQorCSAg
ICAgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykNCisj
ZW5kaWYNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDIsNiwzNikNCiAgICAgTk5QRlNERUIoWERFQkRFViwgKCJubnBm
c19kZXZpb2N0bCBkZXYgPSAlZCwgZmxhZ3MgPSAlZFxuIiwNCiAJCSAgICAg
ICBpbm9kZS0+aV9yZGV2LCBmaWxlLT5mX2ZsYWdzKSk7DQorI2VsaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KKyAg
ICBOTlBGU0RFQihYREVCREVWLCAoIm5ucGZzX2RldmlvY3RsIGRldiA9ICVk
LCBmbGFncyA9ICVkXG4iLA0KKwkJICAgICAgIGZpbGUtPmZfZGVudHJ5LT5k
X2lub2RlLT5pX3JkZXYsIGZpbGUtPmZfZmxhZ3MpKTsNCisjZWxzZQ0KKyAg
ICBOTlBGU0RFQihYREVCREVWLCAoIm5ucGZzX2RldmlvY3RsIGRldiA9ICVk
LCBmbGFncyA9ICVkXG4iLA0KKwkJICAgICAgIGZpbGUtPmZfcGF0aC5kZW50
cnktPmRfaW5vZGUtPmlfcmRldiwgZmlsZS0+Zl9mbGFncykpOw0KKyNlbmRp
Zg0KICAgICByZXR1cm4gLUVJTlZBTDsNCiB9DQogDQogc3RhdGljIHVuc2ln
bmVkIGludA0KIG5ucGZzX2RldnBvbGwoc3RydWN0IGZpbGUgKmZpbGUsIHBv
bGxfdGFibGUgKndhaXQpDQogew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQogICAgIG5ucGZzX2Rldl90IGRl
diA9IGZpbGUtPmZfZGVudHJ5LT5kX2lub2RlLT5pX3JkZXY7DQorI2Vsc2UN
CisgICAgbm5wZnNfZGV2X3QgZGV2ID0gZmlsZS0+Zl9wYXRoLmRlbnRyeS0+
ZF9pbm9kZS0+aV9yZGV2Ow0KKyNlbmRpZg0KICAgICBzdHJ1Y3Qgbm5wZnMg
Km5ucGZzcCA9ICZubnBmc1tNSU5PUihkZXYpXTsNCiAgICAgaW50IHJldCA9
IDA7DQogICAgIA0KQEAgLTk1Myw3ICs5ODEsMTEgQEAgc3RydWN0IGZpbGVf
b3BlcmF0aW9ucyBubnBmc19mb3BzID0gew0KICAgICByZWFkOgkJbm5wZnNf
ZGV2cmVhZCwNCiAgICAgd3JpdGU6CQlubnBmc19kZXZ3cml0ZSwNCiAgICAg
cG9sbDoJCW5ucGZzX2RldnBvbGwsDQorI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzNikNCiAgICAgaW9jdGw6CQlubnBm
c19kZXZpb2N0bCwNCisjZWxzZQ0KKyAgICB1bmxvY2tlZF9pb2N0bDoJbm5w
ZnNfdW5sb2NrZWRfZGV2aW9jdGwsDQorI2VuZGlmDQogICAgIHJlbGVhc2U6
CQlubnBmc19kZXZjbG9zZSwNCiAgICAgb3BlbjoJCW5ucGZzX2Rldm9wZW4s
DQogfTsNCkBAIC05NjgsOCArMTAwMCwxMyBAQCBubnBmc19pbml0X2Rldmlj
ZSh2b2lkKQ0KIAlpbml0X3dhaXRxdWV1ZV9oZWFkKCYobm5wZnNbaV0ud2Fp
dF9xdWV1ZSkpOw0KIAlubnBmc19pbml0cSgmbm5wZnNbaV0ubWVzc2FnZXEp
Ow0KIAlubnBmc19pbml0cSgmbm5wZnNbaV0uc2xlZXBxKTsNCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM3KQ0KIAlp
bml0X01VVEVYKCZubnBmc1tpXS5pbmFjdGl2ZV9zZW0pOw0KIAlpbml0X01V
VEVYKCZubnBmc1tpXS5jaGFubmVsX3NlbSk7DQorI2Vsc2UNCisJc2VtYV9p
bml0KCZubnBmc1tpXS5pbmFjdGl2ZV9zZW0sIDEpOw0KKwlzZW1hX2luaXQo
Jm5ucGZzW2ldLmNoYW5uZWxfc2VtLCAxKTsNCisjZW5kaWYNCiAJSU5JVF9M
SVNUX0hFQUQoJm5ucGZzW2ldLmluYWN0aXZlX2xpc3QpOw0KIAlubnBmc1tp
XS5ubm9kZXMgPSAwOw0KICAgICB9DQpkaWZmIC11cHJOIC1Ybm9kaWZmIGFy
bGEtY3ZzLW9sZC9ubnBmcy9saW51eC9ubnBmc19pbm9kZW9wcy5jIGFybGEv
bm5wZnMvbGludXgvbm5wZnNfaW5vZGVvcHMuYw0KLS0tIGFybGEtY3ZzLW9s
ZC9ubnBmcy9saW51eC9ubnBmc19pbm9kZW9wcy5jCTIwMTAtMDgtMDggMjI6
NDM6MDQuMDAwMDAwMDAwICswMjAwDQorKysgYXJsYS9ubnBmcy9saW51eC9u
bnBmc19pbm9kZW9wcy5jCTIwMTYtMDUtMDkgMTc6MTM6MDMuMDAwMDAwMDAw
ICswMjAwDQpAQCAtNDAsMTMgKzQwLDI0IEBADQogI2luY2x1ZGUgPG5ucGZz
L25ucGZzX2Rldi5oPg0KICNpbmNsdWRlIDxubnBmcy9ubnBmc19kaXJlbnQu
aD4NCiAjaW5jbHVkZSA8bm5wZnMvbm5wZnNfc3lzY2FsbHMuaD4NCisjaW5j
bHVkZSA8bGludXgvYWlvLmg+DQogI2luY2x1ZGUgPGxpbnV4L2JpbmZtdHMu
aD4NCiAjaW5jbHVkZSA8bGludXgvZmlsZS5oPg0KICNpbmNsdWRlIDxsaW51
eC9wYWdlbWFwLmg+DQogI2luY2x1ZGUgPGxpbnV4L3BhZ2UtZmxhZ3MuaD4N
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDQs
MSwwKQ0KKyNpbmNsdWRlIDxsaW51eC91aW8uaD4NCisjZW5kaWYNCiAjaW5j
bHVkZSA8bGludXgvd3JpdGViYWNrLmg+DQogI2luY2x1ZGUgPGFzbS9mY250
bC5oPg0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZF
UlNJT04oNCw2LDApDQorI2RlZmluZSBQQUdFX0NBQ0hFX1NJWkUJCQlQQUdF
X1NJWkUNCisjZGVmaW5lIFBBR0VfQ0FDSEVfU0hJRlQJCVBBR0VfU0hJRlQN
CisjZGVmaW5lIHBhZ2VfY2FjaGVfZ2V0KHBhZ2UpCQlnZXRfcGFnZShwYWdl
KQ0KKyNkZWZpbmUgcGFnZV9jYWNoZV9yZWxlYXNlKHBhZ2UpCXB1dF9wYWdl
KHBhZ2UpDQorI2VuZGlmDQorDQogI2lmZGVmIFJDU0lEDQogUkNTSUQoIiRJ
ZDogbm5wZnNfaW5vZGVvcHMuYyx2IDEuMjI2IDIwMTAvMDgvMDggMjA6NDM6
MDQgdG9sIEV4cCAkIik7DQogI2VuZGlmDQpAQCAtNTQsMTEgKzY1LDIzIEBA
IFJDU0lEKCIkSWQ6IG5ucGZzX2lub2Rlb3BzLmMsdiAxLjIyNiAyMDENCiBz
dGF0aWMgaW50DQogbm5wZnNfZnN5bmNfaW50KHN0cnVjdCBmaWxlICpmaWxl
LCB1X2ludCBmbGFnKTsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMyw2LDApDQogc3RhdGljIGludA0KIG5ucGZzX2Rf
cmV2YWxpZGF0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHN0cnVjdCBuYW1l
aWRhdGEgKm5kKTsNCi0NCisjZWxzZQ0KIHN0YXRpYyBpbnQNCitubnBmc19k
X3JldmFsaWRhdGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCB1bnNpZ25lZCBp
bnQgZmxhZ3MpOw0KKyNlbmRpZg0KKw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzgpDQorc3RhdGljDQoraW50DQog
bm5wZnNfZF9kZWxldGUoc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsNCisjZWxz
ZQ0KK3N0YXRpYw0KK2ludA0KK25ucGZzX2RfZGVsZXRlKGNvbnN0IHN0cnVj
dCBkZW50cnkgKmRlbnRyeSk7DQorI2VuZGlmDQogDQogc3RhdGljIHZvaWQN
CiBubnBmc19kX3JlbGVhc2Uoc3RydWN0IGRlbnRyeSAqZGVudHJ5KTsNCkBA
IC0yMTQsOCArMjM3LDEzIEBAIG5ucGZzX2lub2RlX3ZhbGlkKHN0cnVjdCBp
bm9kZSAqaW5vZGUpDQogICogbm5wZnNfbG9va3VwIG5vdyByZXR1cm5zIGEg
ZGVudHJ5Lg0KICAqLw0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigzLDYsMCkNCiBzdGF0aWMgc3RydWN0IGRlbnRyeSAq
DQogbm5wZnNfbG9va3VwIChzdHJ1Y3QgaW5vZGUgKmRpciwgc3RydWN0IGRl
bnRyeSAqZGVudHJ5LCBzdHJ1Y3QgbmFtZWlkYXRhICpuZCkNCisjZWxzZQ0K
K3N0YXRpYyBzdHJ1Y3QgZGVudHJ5ICoNCitubnBmc19sb29rdXAgKHN0cnVj
dCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHVuc2lnbmVk
IGludCBmbGFncykNCisjZW5kaWYNCiB7DQogICAgIHN0cnVjdCBubnBmc19t
ZXNzYWdlX2dldG5vZGUgbXNnOw0KICAgICBzdHJ1Y3Qgbm5wZnMgKm5ucGZz
cDsNCkBAIC00MDcsNyArNDM1LDExIEBAIGZpbmRfZmlyc3RfYmxvY2soc3Ry
dWN0IG5ucGZzX25vZGUgKm5vZGUNCiBzdGF0aWMgaW50DQogbm5wZnNfZnN5
bmNfaW50KHN0cnVjdCBmaWxlICpmaWxlLCB1X2ludCBmbGFnKQ0KIHsNCisj
aWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSww
KQ0KICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50cnkt
PmRfaW5vZGU7DQorI2Vsc2UNCisgICAgc3RydWN0IGlub2RlICppbm9kZSA9
IGZpbGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7DQorI2VuZGlmDQogICAg
IHN0cnVjdCBubnBmcyAqbm5wZnNwID0gTk5QRlNfRlJPTV9WTk9ERShpbm9k
ZSk7DQogICAgIHN0cnVjdCBubnBmc19ub2RlICp4biA9IFZOT0RFX1RPX1hO
T0RFKGlub2RlKTsNCiAgICAgbG9mZl90IGxlbiA9IGlfc2l6ZV9yZWFkKGlu
b2RlKTsNCkBAIC00NzQsMTUgKzUwNiwxOCBAQCBubnBmc19mc3luY19pbnQo
c3RydWN0IGZpbGUgKmZpbGUsIHVfaW50DQogICoNCiAgKi8NCiANCi0jaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiwgNiwgMzUp
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIs
NiwzNSkNCiBzdGF0aWMgaW50DQogbm5wZnNfZnN5bmMoc3RydWN0IGZpbGUg
KmZpbGUsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwgaW50IGRhdGFzeW5jKQ0K
LSNlbHNlDQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMywxLDApDQogc3RhdGljIGludA0KIG5ucGZzX2ZzeW5jKHN0cnVj
dCBmaWxlICpmaWxlLCBpbnQgZGF0YXN5bmMpDQorI2Vsc2UNCitzdGF0aWMg
aW50DQorbm5wZnNfZnN5bmMoc3RydWN0IGZpbGUgKmZpbGUsIGxvZmZfdCBz
dGFydCwgbG9mZl90IGVuZCwgaW50IGRhdGFzeW5jKQ0KICNlbmRpZg0KIHsN
Ci0jaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIs
IDYsIDM1KQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZF
UlNJT04oMiw2LDM1KQ0KICAgICBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkgPSBm
aWxlLT5mX3BhdGguZGVudHJ5Ow0KICNlbmRpZg0KICAgICBzdHJ1Y3QgaW5v
ZGUgKmlub2RlID0gREVOVFJZX1RPX0lOT0RFKGRlbnRyeSk7DQpAQCAtNDkw
LDYgKzUyNSw4IEBAIG5ucGZzX2ZzeW5jKHN0cnVjdCBmaWxlICpmaWxlLCBp
bnQgZGF0YXMNCiAgICAgc3RydWN0IG5ucGZzX25vZGUgKnhuOw0KICAgICBp
bnQgZXJyb3IgPSAwOw0KIA0KKyAgICAodm9pZClubnBmc3A7DQorDQogICAg
IGVycm9yID0gbm5wZnNfaW5vZGVfdmFsaWQoaW5vZGUpOw0KICAgICBpZiAo
ZXJyb3IpDQogCXJldHVybiBlcnJvcjsNCkBAIC02MjIsMTEgKzY1OSwyNSBA
QCBjaGVja19yaWdodHMgKG5ucGZzX3JpZ2h0cyByaWdodHMsIGludCBtDQog
ICogV2UgZG9uJ3QgaG9sZCBpX211dGV4Lg0KICAqLw0KIA0KKyNpZiAoTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM4KSB8fCBM
SU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxLDApKQ0K
IHN0YXRpYyBpbnQNCiBubnBmc19wZXJtaXNzaW9uKHN0cnVjdCBpbm9kZSAq
aW5vZGUsIGludCBtb2RlKQ0KKyNlbHNlDQorc3RhdGljIGludA0KK25ucGZz
X3Blcm1pc3Npb24oc3RydWN0IGlub2RlICppbm9kZSwgaW50IG1vZGUsIHVu
c2lnbmVkIGludCBmbGFncykNCisjZW5kaWYNCiB7DQogICAgIGludCBlcnJv
ciA9IDA7DQotICAgIG5ucGZzX3BhZ190IHBhZyA9IG5ucGZzX2dldF9wYWco
KTsNCisgICAgbm5wZnNfcGFnX3QgcGFnOw0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMywxLDApDQorICAgIGlmIChtb2Rl
ICYgTUFZX05PVF9CTE9DSykNCisgICAgICAgIHJldHVybiAtRUNISUxEOw0K
KyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA+PSBLRVJORUxfVkVSU0lPTigy
LDYsMzgpDQorICAgIGlmIChmbGFncyAmIElQRVJNX0ZMQUdfUkNVKQ0KKyAg
ICAgICAgcmV0dXJuIC1FQ0hJTEQ7DQorI2VuZGlmDQorDQorICAgIHBhZyA9
IG5ucGZzX2dldF9wYWcoKTsNCiAgICAgDQogICAgIE5OUEZTREVCKFhERUJW
Tk9QUywgKCJubnBmc19hY2Nlc3MgKCVwKSBtb2RlID0gMCVvIGFsaWFzZXM6
IiwgaW5vZGUsIG1vZGUpKTsNCiAgICAgbm5wZnNfcHJpbnRfYWxpYXNlcyhp
bm9kZSk7DQpAQCAtNzg0LDExICs4MzUsMTkgQEAgbm5wZnNfZGF0YV92YWxp
ZChzdHJ1Y3QgaW5vZGUgKmlub2RlLCB1Xw0KIGludCBubnBmc19maWxlX21t
YXAoc3RydWN0IGZpbGUgKiBmaWxlLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3Qg
KiB2bWEpDQogew0KICAgICBpbnQgZmxhZ3MsIGVycm9yID0gMDsNCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0K
ICAgICBzdHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRf
aW5vZGU7DQorI2Vsc2UNCisgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZp
bGUtPmZfcGF0aC5kZW50cnktPmRfaW5vZGU7DQorI2VuZGlmDQogICAgIHN0
cnVjdCBhZGRyZXNzX3NwYWNlICptYXBwaW5nID0gZmlsZS0+Zl9tYXBwaW5n
Ow0KIA0KICAgICBOTlBGU0RFQihYREVCVk5PUFMsICgibm5wZnNfbW1hcCBp
bm9kZTogJXBcbiIsIGlub2RlKSk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAgICAgbm5wZnNfcHJpbnRf
cGF0aChmaWxlLT5mX2RlbnRyeSk7DQorI2Vsc2UNCisgICAgbm5wZnNfcHJp
bnRfcGF0aChmaWxlLT5mX3BhdGguZGVudHJ5KTsNCisjZW5kaWYNCiAgICAg
Tk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX21tYXAgYWxpYXNlczoiKSk7
DQogICAgIG5ucGZzX3ByaW50X2FsaWFzZXMoaW5vZGUpOw0KICAgICANCkBA
IC04MjMsMjggKzg4Miw1MSBAQCBpbnQgbm5wZnNfZmlsZV9tbWFwKHN0cnVj
dCBmaWxlICogZmlsZSwgDQogICoNCiAgKi8NCiANCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNiwwKQ0KIHN0YXRpYyBz
c2l6ZV90DQogbm5wZnNfYWlvX3JlYWQoc3RydWN0IGtpb2NiICppb2NiLA0K
IAkgICAgICAgY29uc3Qgc3RydWN0IGlvdmVjICppb3YsIHVuc2lnbmVkIGxv
bmcgbnJfc2VncywNCiAJICAgICAgIGxvZmZfdCBwb3MpDQorI2Vsc2UNCitz
dGF0aWMgc3NpemVfdA0KK25ucGZzX3JlYWRfaXRlcihzdHJ1Y3Qga2lvY2Ig
KmlvY2IsIHN0cnVjdCBpb3ZfaXRlciAqdG8pDQorI2VuZGlmDQogew0KICAg
ICBpbnQgZXJyb3IgPSAwOw0KICAgICBzdHJ1Y3QgZmlsZSAqZmlsZSA9IGlv
Y2ItPmtpX2ZpbHA7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDMsMTIsMCkNCiAgICAgc3NpemVfdCBjb3VudCA9IGlvY2It
PmtpX2xlZnQ7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oNCwxLDApDQorICAgIHNzaXplX3QgY291bnQgPSBpb2NiLT5r
aV9uYnl0ZXM7DQorI2Vsc2UNCisgICAgc3NpemVfdCBjb3VudCA9IGlvdl9p
dGVyX2NvdW50KHRvKTsNCisjZW5kaWYNCisjaWYgTElOVVhfVkVSU0lPTl9D
T0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KICAgICBzdHJ1Y3QgaW5v
ZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGU7DQorI2Vsc2UN
CisgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfcGF0aC5kZW50
cnktPmRfaW5vZGU7DQorI2VuZGlmDQogICAgIHN0cnVjdCBubnBmc19ub2Rl
ICp4biA9IFZOT0RFX1RPX1hOT0RFKGlub2RlKTsNCiAgICAgDQogICAgIGlm
ICh4biAhPSBOVUxMKQ0KIAlOTlBGU0RFQihYREVCVk5PUFMsICgibm5wZnNf
cmVhZF9maWxlKCVwKTogdG9rZW5zOiAweCV4XG4iLA0KIAkJCSAgICAgaW5v
ZGUsIHhuLT50b2tlbnMpKTsNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMywxNiwwKQ0KICAgICBlcnJvciA9IG5ucGZz
X2RhdGFfdmFsaWQoaW5vZGUsIE5OUEZTX0RBVEFfUiwgcG9zLCBwb3MgKyBj
b3VudCk7DQorI2Vsc2UNCisgICAgZXJyb3IgPSBubnBmc19kYXRhX3ZhbGlk
KGlub2RlLCBOTlBGU19EQVRBX1IsIGlvY2ItPmtpX3BvcywgaW9jYi0+a2lf
cG9zICsgY291bnQpOw0KKyNlbmRpZg0KICAgICBpZiAoZXJyb3IpIHsNCiAJ
Tk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX3JlYWRfZmlsZTogZGF0YSBu
b3QgdmFsaWQgJWRcbiIsIGVycm9yKSk7DQogCXJldHVybiBlcnJvcjsNCiAg
ICAgfQ0KICAgICANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMywxNiwwKQ0KICAgICBlcnJvciA9IGdlbmVyaWNfZmlsZV9h
aW9fcmVhZChpb2NiLCBpb3YsIG5yX3NlZ3MsIHBvcyk7DQorI2Vsc2UNCisg
ICAgZXJyb3IgPSBnZW5lcmljX2ZpbGVfcmVhZF9pdGVyKGlvY2IsIHRvKTsN
CisjZW5kaWYNCiAgICAgTk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX3Jl
YWRfZmlsZTogZXJyb3IgPSAlZFxuIiwgZXJyb3IpKTsNCiAgICAgcmV0dXJu
IGVycm9yOw0KIH0NCkBAIC04NTMsMTcgKzkzNSwzNiBAQCBubnBmc19haW9f
cmVhZChzdHJ1Y3Qga2lvY2IgKmlvY2IsDQogICoNCiAgKi8NCiANCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNiwwKQ0K
IHN0YXRpYyBzc2l6ZV90DQogbm5wZnNfYWlvX3dyaXRlKHN0cnVjdCBraW9j
YiAqaW9jYiwNCiAJCWNvbnN0IHN0cnVjdCBpb3ZlYyAqaW92LCB1bnNpZ25l
ZCBsb25nIG5yX3NlZ3MsDQogCQlsb2ZmX3QgcG9zKQ0KKyNlbHNlDQorc3Rh
dGljIHNzaXplX3QNCitubnBmc193cml0ZV9pdGVyKHN0cnVjdCBraW9jYiAq
aW9jYiwgc3RydWN0IGlvdl9pdGVyICpmcm9tKQ0KKyNlbmRpZg0KIHsNCiAg
ICAgaW50IGVycm9yID0gMDsNCiAgICAgc3RydWN0IGZpbGUgKmZpbGUgPSBp
b2NiLT5raV9maWxwOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigzLDEyLDApDQogICAgIHNzaXplX3QgY291bnQgPSBpb2Ni
LT5raV9sZWZ0Ow0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5F
TF9WRVJTSU9OKDQsMSwwKQ0KKyAgICBzc2l6ZV90IGNvdW50ID0gaW9jYi0+
a2lfbmJ5dGVzOw0KKyNlbHNlDQorICAgIHNzaXplX3QgY291bnQgPSBpb3Zf
aXRlcl9jb3VudChmcm9tKTsNCisjZW5kaWYNCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KICAgICBzdHJ1Y3Qg
aW5vZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGU7DQorI2Vs
c2UNCisgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfcGF0aC5k
ZW50cnktPmRfaW5vZGU7DQorI2VuZGlmDQogICAgIHN0cnVjdCBubnBmc19u
b2RlICp4biA9IFZOT0RFX1RPX1hOT0RFKGlub2RlKTsNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNiwwKQ0KICAgICBs
b2ZmX3QgcmVhbHBvcyA9IHBvczsNCisjZWxzZQ0KKyAgICBsb2ZmX3QgcmVh
bHBvcyA9IGlvY2ItPmtpX3BvczsNCisjZW5kaWYNCiAgICAgDQogICAgIE5O
UEZTREVCKFhERUJWTk9QUywgKCJubnBmc19haW9fd3JpdGUoJXApOiB0b2tl
bnM6IDB4JXhcbiIsDQogCQkJIGlub2RlLCB4bi0+dG9rZW5zKSk7DQpAQCAt
ODc3LDcgKzk3OCwxMSBAQCBubnBmc19haW9fd3JpdGUoc3RydWN0IGtpb2Ni
ICppb2NiLA0KIAlyZXR1cm4gZXJyb3I7DQogICAgIH0NCiANCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxNiwwKQ0KICAg
ICBlcnJvciA9IGdlbmVyaWNfZmlsZV9haW9fd3JpdGUoaW9jYiwgaW92LCBu
cl9zZWdzLCBwb3MpOw0KKyNlbHNlDQorICAgIGVycm9yID0gZ2VuZXJpY19m
aWxlX3dyaXRlX2l0ZXIoaW9jYiwgZnJvbSk7DQorI2VuZGlmDQogICAgIGlm
ICghSVNfRVJSX1ZBTFVFKGVycm9yKSkNCiAJeG4tPmZsYWdzIHw9IE5OUEZT
X0RBVEFfRElSVFk7IC8qIFhYWCByYWNlICovDQogDQpAQCAtODg1LDkgKzk5
MCwxOSBAQCBubnBmc19haW9fd3JpdGUoc3RydWN0IGtpb2NiICppb2NiLA0K
ICAgICByZXR1cm4gZXJyb3I7DQogfQ0KIA0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDMsMCkNCiBzdGF0aWMgaW50DQog
bm5wZnNfY3JlYXRlKHN0cnVjdCBpbm9kZSAqZGlyLCBzdHJ1Y3QgZGVudHJ5
ICpkZW50cnksDQogCSAgICAgaW50IG1vZGUsIHN0cnVjdCBuYW1laWRhdGEg
Km5kKQ0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsNiwwKQ0KK3N0YXRpYyBpbnQNCitubnBmc19jcmVhdGUoc3RydWN0
IGlub2RlICpkaXIsIHN0cnVjdCBkZW50cnkgKmRlbnRyeSwNCisJICAgICB1
bW9kZV90IG1vZGUsIHN0cnVjdCBuYW1laWRhdGEgKm5kKQ0KKyNlbHNlDQor
c3RhdGljIGludA0KK25ucGZzX2NyZWF0ZShzdHJ1Y3QgaW5vZGUgKmRpciwg
c3RydWN0IGRlbnRyeSAqZGVudHJ5LA0KKwkgICAgIHVtb2RlX3QgbW9kZSwg
Ym9vbCBleGNsKQ0KKyNlbmRpZg0KIHsNCiAgICAgc3RydWN0IG5ucGZzICpu
bnBmc3A7DQogICAgIHN0cnVjdCBubnBmc19ub2RlICp4bjsNCkBAIC0xMDM4
LDggKzExNTMsMTMgQEAgbm5wZnNfcmVuYW1lIChzdHJ1Y3QgaW5vZGUgKiBv
bGRfZGlyLCBzdA0KICAgICByZXR1cm4gZXJyb3I7DQogfQ0KIA0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDMsMCkNCiBz
dGF0aWMgaW50DQogbm5wZnNfbWtkaXIoc3RydWN0IGlub2RlICogZGlyLCBz
dHJ1Y3QgZGVudHJ5ICpkZW50cnksIGludCBtb2RlKQ0KKyNlbHNlDQorc3Rh
dGljIGludA0KK25ucGZzX21rZGlyKHN0cnVjdCBpbm9kZSAqIGRpciwgc3Ry
dWN0IGRlbnRyeSAqZGVudHJ5LCB1bW9kZV90IG1vZGUpDQorI2VuZGlmDQog
ew0KICAgICBzdHJ1Y3Qgbm5wZnMgKm5ucGZzcDsNCiAgICAgc3RydWN0IG5u
cGZzX25vZGUgKnhuOw0KQEAgLTEyNTIsMTIgKzEzNzIsMjEgQEAgc3RhdGlj
IGludCBubnBmc19zeW1saW5rKHN0cnVjdCBpbm9kZSAqZA0KIC8qDQogICog
V2UgaG9sZCBpX211dGV4Lg0KICAqLw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDExLDApDQogc3RhdGljIGludA0KIG5u
cGZzX3JlYWRkaXIoc3RydWN0IGZpbGUgKiBmaWxlLCB2b2lkICogZGlyZW50
LCBmaWxsZGlyX3QgZmlsbGRpcikNCisjZWxzZQ0KK3N0YXRpYyBpbnQNCitu
bnBmc19pdGVyYXRlKHN0cnVjdCBmaWxlICogZmlsZSwgc3RydWN0IGRpcl9j
b250ZXh0ICpjdHgpDQorI2VuZGlmDQogew0KICAgICBpbnQgZXJyb3I7DQog
ICAgIGxvZmZfdCBvZmZzZXQsIGJlZ2luX29mZnNldDsNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KICAgICBz
dHJ1Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGU7
DQorI2Vsc2UNCisgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZf
cGF0aC5kZW50cnktPmRfaW5vZGU7DQorI2VuZGlmDQogICAgIHN0cnVjdCBp
bm9kZSAqY2FjaGVfaW5vZGU7DQogICAgIHN0cnVjdCBubnBmc19ub2RlICp4
biA9IFZOT0RFX1RPX1hOT0RFKGlub2RlKTsNCiAgICAgY2hhciAqYnVmOw0K
QEAgLTEyODEsNiArMTQxMCw3IEBAIG5ucGZzX3JlYWRkaXIoc3RydWN0IGZp
bGUgKiBmaWxlLCB2b2lkICoNCiANCiAgICAgY2FjaGVfaW5vZGUgPSBiYWNr
ZmlsZS0+Zl9tYXBwaW5nLT5ob3N0Ow0KIA0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDExLDApDQogICAgIHdoaWxlIChm
aWxlLT5mX3BvcyA8IGlfc2l6ZV9yZWFkKGNhY2hlX2lub2RlKSkgew0KIAlO
TlBGU0RFQihYREVCUkVBRERJUiwNCiAJICAgICAgICgibm5wZnNfcmVhZGRp
ciBmaWxlLT5mX3BvczogJWQgaV9zaXplOiAlZFxuIiwNCkBAIC0xMjkzLDYg
KzE0MjMsMjAgQEAgbm5wZnNfcmVhZGRpcihzdHJ1Y3QgZmlsZSAqIGZpbGUs
IHZvaWQgKg0KIAltYXBwaW5nID0gYmFja2ZpbGUtPmZfbWFwcGluZzsNCiAJ
aW5wYWdlID0gZmlsZS0+Zl9wb3MgJiAoUEFHRV9DQUNIRV9TSVpFLTEpOw0K
IAlwYWdlX251bSA9IGZpbGUtPmZfcG9zID4+IFBBR0VfQ0FDSEVfU0hJRlQ7
DQorI2Vsc2UNCisgICAgd2hpbGUgKGN0eC0+cG9zIDwgaV9zaXplX3JlYWQo
Y2FjaGVfaW5vZGUpKSB7DQorCU5OUEZTREVCKFhERUJSRUFERElSLA0KKwkg
ICAgICAgKCJubnBmc19yZWFkZGlyIGZpbGUtPmZfcG9zOiAlZCBpX3NpemU6
ICVkXG4iLA0KKwkJKGludCkgY3R4LT5wb3MsIChpbnQpIGNhY2hlX2lub2Rl
LT5pX3NpemUpKTsNCisJYmVnaW5fb2Zmc2V0ID0gY3R4LT5wb3MgJn4gKE5O
UEZTX0RJUkVOVF9CTE9DS1NJWkUgLSAxKTsNCisJb2Zmc2V0ID0gY3R4LT5w
b3MgJiAoTk5QRlNfRElSRU5UX0JMT0NLU0laRSAtIDEpOw0KKwljdHgtPnBv
cyA9IGJlZ2luX29mZnNldDsNCisJTk5QRlNERUIoWERFQlJFQURESVIsICgi
bm5wZnNfcmVhZGRpciBiZWdpbl9vZmZzZXQ6ICVkIG9mZnNldDogJWRcbiIs
DQorCQkJICAgICAoaW50KWJlZ2luX29mZnNldCwgKGludClvZmZzZXQpKTsN
CisJbWFwcGluZyA9IGJhY2tmaWxlLT5mX21hcHBpbmc7DQorCWlucGFnZSA9
IGN0eC0+cG9zICYgKFBBR0VfQ0FDSEVfU0laRS0xKTsNCisJcGFnZV9udW0g
PSBjdHgtPnBvcyA+PiBQQUdFX0NBQ0hFX1NISUZUOw0KKyNlbmRpZg0KIA0K
IAlOTlBGU0RFQihYREVCUkVBRERJUiwNCiAJICAgICAgICgibm5wZnNfcmVh
ZGRpciBpbnBhZ2U6ICVkIHBhZ2VfbnVtOiAlbHVcbiIsDQpAQCAtMTMyOCw2
ICsxNDcyLDcgQEAgbm5wZnNfcmVhZGRpcihzdHJ1Y3QgZmlsZSAqIGZpbGUs
IHZvaWQgKg0KIAkJICAgIChpbnQpIHhkaXJlbnQtPmRfbmFtbGVuLA0KIAkJ
ICAgIChpbnQpIChvZmZzZXQrYmVnaW5fb2Zmc2V0KSkpOw0KIA0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDExLDApDQog
CSAgICBpZiAoeGRpcmVudC0+ZF9maWxlbm8gIT0gMA0KIAkJJiYgKGZpbGxk
aXJfZXJyb3IgPSBmaWxsZGlyIChkaXJlbnQsDQogCQkJCSAgICAgeGRpcmVu
dC0+ZF9uYW1lLA0KQEAgLTEzMzksMTIgKzE0ODQsMjggQEAgbm5wZnNfcmVh
ZGRpcihzdHJ1Y3QgZmlsZSAqIGZpbGUsIHZvaWQgKg0KIAkJCSAoIm5ucGZz
X3JlYWRkaXIgZmlsbGRpcjogJWRcbiIsIGZpbGxkaXJfZXJyb3IpKTsNCiAJ
CWJyZWFrOw0KIAkgICAgfQ0KKyNlbHNlDQorCSAgICBpZiAoeGRpcmVudC0+
ZF9maWxlbm8gIT0gMA0KKwkJJiYgKGZpbGxkaXJfZXJyb3IgPSBkaXJfZW1p
dCAoY3R4LA0KKwkJCQkgICAgIHhkaXJlbnQtPmRfbmFtZSwNCisJCQkJICAg
ICB4ZGlyZW50LT5kX25hbWxlbiwNCisJCQkJICAgICB4ZGlyZW50LT5kX2Zp
bGVubywNCisJCQkJICAgICBEVF9VTktOT1dOKSkgPCAwKSB7DQorCQlOTlBG
U0RFQihYREVCUkVBRERJUiwNCisJCQkgKCJubnBmc19yZWFkZGlyIGZpbGxk
aXI6ICVkXG4iLCBmaWxsZGlyX2Vycm9yKSk7DQorCQlicmVhazsNCisJICAg
IH0NCisjZW5kaWYNCiAJICAgIG9mZnNldCArPSB4ZGlyZW50LT5kX3JlY2xl
bjsNCiANCiAJICAgIGlmICh4ZGlyZW50LT5kX3JlY2xlbiA9PSAwKSB7DQog
CQlwcmludGsoS0VSTl9FTUVSRyAiTk5QRlMgUGFuaWM6ICINCiAJCSAgICAg
ICAiZW1wdHkgZGlyZW50IGF0ICVsbGQgaW4gbm5wZnNfcmVhZGRpciwgcG9z
ICVkIHNpemUgJWRcbiIsDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDMsMTEsMCkNCiAJCSAgICAgICAobG9uZyBsb25nKW9m
ZnNldCwgKGludClmaWxlLT5mX3BvcywNCisjZWxzZQ0KKwkJICAgICAgIChs
b25nIGxvbmcpb2Zmc2V0LCAoaW50KWN0eC0+cG9zLA0KKyNlbmRpZg0KIAkJ
ICAgICAgIChpbnQpY2FjaGVfaW5vZGUtPmlfc2l6ZSk7DQogCQlOTlBGU0RF
QihYREVCVk5PUFMsICgiaW5vZGU6ICVwIGFsaWFzZXM6IiwgaW5vZGUpKTsN
CiAJCW5ucGZzX3ByaW50X2FsaWFzZXMoaW5vZGUpOw0KQEAgLTEzNjIsNyAr
MTUyMywxMSBAQCBubnBmc19yZWFkZGlyKHN0cnVjdCBmaWxlICogZmlsZSwg
dm9pZCAqDQogCWlmIChvZmZzZXQgPiBOTlBGU19ESVJFTlRfQkxPQ0tTSVpF
KQ0KIAkgICAgb2Zmc2V0ID0gTk5QRlNfRElSRU5UX0JMT0NLU0laRTsNCiAN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywx
MSwwKQ0KIAlmaWxlLT5mX3BvcyA9IGJlZ2luX29mZnNldCArIG9mZnNldDsN
CisjZWxzZQ0KKwljdHgtPnBvcyA9IGJlZ2luX29mZnNldCArIG9mZnNldDsN
CisjZW5kaWYNCiANCiAJaWYgKGVycm9yIHx8IG9mZnNldCA8IE5OUEZTX0RJ
UkVOVF9CTE9DS1NJWkUpDQogCSAgICBicmVhazsNCkBAIC0xMzk1LDEyICsx
NTYwLDI1IEBAIG5ucGZzX3JlYWRsaW5rIChzdHJ1Y3QgZGVudHJ5ICpkZW50
cnksIGMNCiAgKiBXZSBkb24ndCBob2xkIGlfbXV0ZXguDQogICovDQogDQor
I2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDQsMiww
KQ0KIHN0YXRpYyB2b2lkICoNCiBubnBmc19mb2xsb3dfbGluayAoc3RydWN0
IGRlbnRyeSAqZGVudHJ5LA0KIAkJIHN0cnVjdCBuYW1laWRhdGEgKm5kKQ0K
KyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDQs
NSwwKQ0KK3N0YXRpYyBjb25zdCBjaGFyICoNCitubnBmc19mb2xsb3dfbGlu
ayAoc3RydWN0IGRlbnRyeSAqZGVudHJ5LA0KKwkJIHZvaWQgKipwYWdlKQ0K
KyNlbHNlDQorc3RhdGljIGNvbnN0IGNoYXIgKg0KK25ucGZzX2dldF9saW5r
IChzdHJ1Y3QgZGVudHJ5ICpkZW50cnksDQorCQkgc3RydWN0IGlub2RlICpp
bm9kZSwNCisJCSBzdHJ1Y3QgZGVsYXllZF9jYWxsICpkb25lKQ0KKyNlbmRp
Zg0KIHsNCiAgICAgaW50IGVycm9yID0gMDsNCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oNCw1LDApDQogICAgIHN0cnVjdCBp
bm9kZSAqaW5vZGUgPSBERU5UUllfVE9fSU5PREUoZGVudHJ5KTsNCisjZW5k
aWYNCiANCiAgICAgTk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX2ZvbGxv
d19saW5rXG4iKSk7DQogICAgIA0KQEAgLTE0MDgsNyArMTU4NiwxMyBAQCBu
bnBmc19mb2xsb3dfbGluayAoc3RydWN0IGRlbnRyeSAqZGVudHJ5DQogICAg
IGlmIChlcnJvcikNCiAgICAgICAgcmV0dXJuIEVSUl9QVFIoZXJyb3IpOw0K
IA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTig0
LDIsMCkNCiAgICAgcmV0dXJuIHBhZ2VfZm9sbG93X2xpbmtfbGlnaHQoZGVu
dHJ5LCBuZCk7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oNCw1LDApDQorICAgIHJldHVybiBwYWdlX2ZvbGxvd19saW5r
X2xpZ2h0KGRlbnRyeSwgcGFnZSk7DQorI2Vsc2UNCisgICAgcmV0dXJuIHBh
Z2VfZ2V0X2xpbmsoZGVudHJ5LCBpbm9kZSwgZG9uZSk7DQorI2VuZGlmDQog
fQ0KIA0KIC8qDQpAQCAtMTQ5MCw2ICsxNjc0LDggQEAgbm5wZnNfcmVsZWFz
ZV9maWxlIChzdHJ1Y3QgaW5vZGUgKmlub2RlLA0KICAgICBzdHJ1Y3Qgbm5w
ZnNfbm9kZSAqeG47DQogICAgIGludCBlcnJvciA9IDA7DQogDQorICAgICh2
b2lkKW5ucGZzcDsNCisNCiAgICAgTk5QRlNERUIoWERFQlZOT1BTLCAoIm5u
cGZzX3JlbGVhc2VfZmlsZVxuIikpOw0KIA0KICAgICBlcnJvciA9IG5ucGZz
X2lub2RlX3ZhbGlkKGlub2RlKTsNCkBAIC0xNTIzLDggKzE3MDksMTMgQEAg
bm5wZnNfZmx1c2goc3RydWN0IGZpbGUgKmZpbGUsIGZsX293bmVyXw0KIHsN
CiAgICAgTk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX2ZsdXNoXG4iKSk7
DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDMsMTksMCkNCiAgICAgaWYgKGZpbGUgJiYgZmlsZS0+Zl9kZW50cnkgJiYg
ZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUpDQogCXJldHVybiBubnBmc19yZWxl
YXNlX2ZpbGUoZmlsZS0+Zl9kZW50cnktPmRfaW5vZGUsIGZpbGUpOw0KKyNl
bHNlDQorICAgIGlmIChmaWxlICYmIGZpbGUtPmZfcGF0aC5kZW50cnkgJiYg
ZmlsZS0+Zl9wYXRoLmRlbnRyeS0+ZF9pbm9kZSkNCisJcmV0dXJuIG5ucGZz
X3JlbGVhc2VfZmlsZShmaWxlLT5mX3BhdGguZGVudHJ5LT5kX2lub2RlLCBm
aWxlKTsNCisjZW5kaWYNCiAgICAgZWxzZQ0KIAlyZXR1cm4gMDsNCiB9DQpA
QCAtMTUzMywxMCArMTcyNCwyNCBAQCBubnBmc19mbHVzaChzdHJ1Y3QgZmls
ZSAqZmlsZSwgZmxfb3duZXJfDQogICogUmV0dXJuIDEgaWYgYGRlbnRyeScg
aXMgc3RpbGwgdmFsaWQsIG90aGVyd2lzZSAwLg0KICAqLw0KIA0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCitz
dGF0aWMgaW50DQorbm5wZnNfZF9yZXZhbGlkYXRlKHN0cnVjdCBkZW50cnkg
KmRlbnRyeSwgc3RydWN0IG5hbWVpZGF0YSAqbmQpDQorI2Vsc2UNCiBzdGF0
aWMgaW50DQotbm5wZnNfZF9yZXZhbGlkYXRlKHN0cnVjdCBkZW50cnkgKmRl
bnRyeSwgc3RydWN0IG5hbWVpZGF0YSAqbmQpIA0KK25ucGZzX2RfcmV2YWxp
ZGF0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnksIHVuc2lnbmVkIGludCBmbGFn
cykNCisjZW5kaWYNCiB7DQogICAgIHN0cnVjdCBpbm9kZSAqaW5vZGUgPSBE
RU5UUllfVE9fSU5PREUoZGVudHJ5KTsNCisNCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KKyAgICBpZiAoZmxh
Z3MgJiBMT09LVVBfUkNVKQ0KKyAgICAgICAgcmV0dXJuIC1FQ0hJTEQ7DQor
I2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9OKDIs
NiwzOCkNCisgICAgaWYgKG5kICYmIG5kLT5mbGFncyAmIExPT0tVUF9SQ1Up
DQorICAgICAgICByZXR1cm4gLUVDSElMRDsNCisjZW5kaWYNCisNCiAgICAg
Tk5QRlNERUIoWERFQlZOT1BTLCAoIm5ucGZzX2RfcmV2YWxpZGF0ZSAlcCBc
IiUuKnNcIiAoaW5vZGUgJXApXG4iLA0KIAkJICAgICAgIGRlbnRyeSwNCiAJ
CSAgICAgICAoaW50KWRlbnRyeS0+ZF9uYW1lLmxlbiwNCkBAIC0xNTgyLDkg
KzE3ODcsMTUgQEAgbm5wZnNfZF9yZXZhbGlkYXRlKHN0cnVjdCBkZW50cnkg
KmRlbnRyeQ0KICAgICByZXR1cm4gMDsNCiB9DQogDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOCkNCiBzdGF0aWMN
CiBpbnQNCiBubnBmc19kX2RlbGV0ZShzdHJ1Y3QgZGVudHJ5ICpkZW50cnkp
DQorI2Vsc2UNCitzdGF0aWMNCitpbnQNCitubnBmc19kX2RlbGV0ZShjb25z
dCBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkpDQorI2VuZGlmDQogew0KICAgICBz
dHJ1Y3QgaW5vZGUgKmlub2RlOw0KICAgICBzdHJ1Y3Qgbm5wZnNfbm9kZSAq
eG47DQpAQCAtMTYxNCw3ICsxODI1LDExIEBAIG5ucGZzX3NwbGljZV9yZWFk
KHN0cnVjdCBmaWxlICpmaWxlLCBsb2YNCiAJCSAgdW5zaWduZWQgaW50IGZs
YWdzKQ0KIHsNCiAgICAgaW50IGVycm9yID0gMDsNCisjaWYgTElOVVhfVkVS
U0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KICAgICBzdHJ1
Y3QgaW5vZGUgKmlub2RlID0gZmlsZS0+Zl9kZW50cnktPmRfaW5vZGU7DQor
I2Vsc2UNCisgICAgc3RydWN0IGlub2RlICppbm9kZSA9IGZpbGUtPmZfcGF0
aC5kZW50cnktPmRfaW5vZGU7DQorI2VuZGlmDQogICAgIHN0cnVjdCBubnBm
c19ub2RlICp4biA9IFZOT0RFX1RPX1hOT0RFKGlub2RlKTsNCiAgICAgDQog
ICAgIGlmICh4biAhPSBOVUxMKQ0KQEAgLTE3MDcsNiArMTkyMiw4IEBAIG5u
cGZzX3dyaXRlX2JhY2twYWdlKHN0cnVjdCBwYWdlICpwYWdlLCANCiANCiAJ
aW50IGVycm9yOw0KIAkNCisJKHZvaWQpb2Zmc2V0Ow0KKw0KIAlkbyB7DQog
CQllcnJvciA9IHBhZ2VjYWNoZV93cml0ZV9iZWdpbihiYWNrZmlsZSwgbWFw
cGluZywgMCwgbGVuLA0KIAkJCQkJICAgICAgQU9QX0ZMQUdfVU5JTlRFUlJV
UFRJQkxFLA0KQEAgLTE3MzAsNyArMTk0NywxMSBAQCBubnBmc193cml0ZV9i
YWNrcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgDQogCQlwcmludGsoIm5ucGZz
X3dyaXRlX2JhY2twYWdlOiBFSU9cbiIpOw0KICNpZmRlZiBOTlBGU19TQUZF
X1NZTkMNCiAJZWxzZQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJO
RUxfVkVSU0lPTigyLDYsMzIpDQogCQkodm9pZClzeW5jX3BhZ2VfcmFuZ2Uo
bWFwcGluZy0+aG9zdCwgbWFwcGluZywgb2Zmc2V0LCBsZW4pOw0KKyNlbHNl
DQorCQkodm9pZClmaWxlbWFwX3dyaXRlX2FuZF93YWl0X3JhbmdlKG1hcHBp
bmcsIG9mZnNldCwgb2Zmc2V0ICsgbGVuIC0gMSk7DQorI2VuZGlmDQogI2Vu
ZGlmDQogCQ0KIAlyZXR1cm4gZXJyb3I7DQpAQCAtMTc0Nyw2ICsxOTY4LDgg
QEAgbm5wZnNfcmVhZF9iYWNrcGFnZShzdHJ1Y3QgcGFnZSAqcGFnZSwgcw0K
IAlzdHJ1Y3QgcGFnZSAqYmFja3BhZ2U7DQogCXVuc2lnbmVkIGxvbmcgb2Zm
c2V0Ow0KIA0KKwkodm9pZClvZmZzZXQ7DQorDQogCWJhY2twYWdlID0gcmVh
ZF9tYXBwaW5nX3BhZ2UobWFwcGluZywgbiwgYmFja2ZpbGUpOw0KIAlpZiAo
IUlTX0VSUihiYWNrcGFnZSkpIHsNCiAJCXdhaXRfb25fcGFnZV9sb2NrZWQo
YmFja3BhZ2UpOw0KQEAgLTE4OTQsMTEgKzIxMTcsMTcgQEAgbm5wZnNfcHJl
cGFyZV93cml0ZShzdHJ1Y3QgZmlsZSAqZmlsZSwgcw0KIA0KIAlpZiAobW9k
c2l6ZSA+IGlfc2l6ZV9yZWFkKGlub2RlKSkgew0KIAkJaW50IGVycm9yOw0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDgs
MCkNCiAJCWVycm9yID0gdm10cnVuY2F0ZShpbm9kZSwgbW9kc2l6ZSk7DQor
I2Vsc2UNCisJCWVycm9yID0gaW5vZGVfbmV3c2l6ZV9vayhpbm9kZSwgbW9k
c2l6ZSk7DQorCQlpZighZXJyb3IpDQorCQkJdHJ1bmNhdGVfc2V0c2l6ZShp
bm9kZSwgbW9kc2l6ZSk7DQorI2VuZGlmDQogCQlpZiAoZXJyb3IpIHsNCiAJ
CQlwcmludGsoIm5ucGZzX3ByZXBhcmVfd3JpdGU6IHRydW5jYXRlKCVsbHUp
IC0+ICVkXG4iLA0KIAkJCSAgICAgICBtb2RzaXplLCAtZXJyb3IpOw0KLQkJ
CUJVRygpOyAvKiBYWFggbm90IGNvcnJlY3QgKi8NCisJCQkvKkJVRygpOyov
IC8qIFhYWCBub3QgY29ycmVjdCAqLw0KIAkJfQ0KIAl9DQogDQpAQCAtMTky
NSw3ICsyMTU0LDYgQEAgbm5wZnNfcHJlcGFyZV93cml0ZShzdHJ1Y3QgZmls
ZSAqZmlsZSwgcw0KIH0NCiANCiAjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49
IEtFUk5FTF9WRVJTSU9OKDIsNiwyOCkNCi0NCiBzdGF0aWMgaW50DQogbm5w
ZnNfd3JpdGVfYmVnaW4oc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjdCBhZGRy
ZXNzX3NwYWNlICptYXBwaW5nLCBsb2ZmX3QgcG9zLA0KIHVuc2lnbmVkIGxl
biwgdW5zaWduZWQgZmxhZ3MsIHN0cnVjdCBwYWdlICoqcGFnZXAsIHZvaWQg
Kipmc2RhdGEpDQpAQCAtMTkzMyw1OCArMjE2MSw2NyBAQCB1bnNpZ25lZCBs
ZW4sIHVuc2lnbmVkIGZsYWdzLCBzdHJ1Y3QgcGFnDQogCXN0cnVjdCBwYWdl
ICpwYWdlOw0KIAlwZ29mZl90IGluZGV4Ow0KIAl1bnNpZ25lZCBmcm9tOw0K
KwlpbnQgcmV0ID0gMDsNCiANCiAJaW5kZXggPSBwb3MgPj4gUEFHRV9DQUNI
RV9TSElGVDsNCiAJZnJvbSA9IHBvcyAmIChQQUdFX0NBQ0hFX1NJWkUgLSAx
KTsNCiANCi0jaWZkZWYgQU9QX0ZMQUdfTk9GUw0KIAlwYWdlID0gZ3JhYl9j
YWNoZV9wYWdlX3dyaXRlX2JlZ2luKG1hcHBpbmcsIGluZGV4LCBmbGFncyk7
DQotI2Vsc2UNCi0JcGFnZSA9IF9fZ3JhYl9jYWNoZV9wYWdlKG1hcHBpbmcs
IGluZGV4KTsNCi0jZW5kaWYNCi0JaWYgKHBhZ2UgPT0gTlVMTCkNCisJaWYg
KCFwYWdlKQ0KIAkJcmV0dXJuIC1FTk9NRU07DQogDQogCSpwYWdlcCA9IHBh
Z2U7DQogDQotCXJldHVybiBubnBmc19wcmVwYXJlX3dyaXRlKGZpbGUsIHBh
Z2UsIGZyb20sIGZyb20gKyBsZW4pOw0KLX0NCisJcmV0ID0gbm5wZnNfcHJl
cGFyZV93cml0ZShmaWxlLCBwYWdlLCBmcm9tLCBmcm9tICsgbGVuKTsNCisJ
aWYgKHJldCkgew0KKwkJdW5sb2NrX3BhZ2UocGFnZSk7DQorCQlwYWdlX2Nh
Y2hlX3JlbGVhc2UocGFnZSk7DQorCX0NCiANCisJcmV0dXJuIHJldDsNCit9
DQogI2VuZGlmDQogDQorLyogWFhYIHdlIHVzZSB0aGUgc3lzdGVtIHByb3Zp
ZGVkIHNpbXBsZV9jb21taXRfd3JpdGUgaW5zdGVhZCBzbyB0aGlzIGZ1bmN0
aW9uIGlzIHVudXNlZCBmb3Igbm93ICovDQorI2lmIDANCiBzdGF0aWMgaW50
DQogbm5wZnNfY29tbWl0X3dyaXRlKHN0cnVjdCBmaWxlICpmaWxlLCBzdHJ1
Y3QgcGFnZSAqcGFnZSwNCiAJCSAgIHVuc2lnbmVkIGZyb20sIHVuc2lnbmVk
IHRvKQ0KIHsNCi0gICAgc3RydWN0IGlub2RlICppbm9kZSA9IHBhZ2UtPm1h
cHBpbmctPmhvc3Q7DQotICAgIGxvZmZfdCBwb3MgPSAoKGxvZmZfdClwYWdl
LT5pbmRleCA8PCBQQUdFX0NBQ0hFX1NISUZUKSArIHRvOw0KKwlzdHJ1Y3Qg
aW5vZGUgKmlub2RlID0gcGFnZS0+bWFwcGluZy0+aG9zdDsNCisJbG9mZl90
IHBvcyA9ICgobG9mZl90KXBhZ2UtPmluZGV4IDw8IFBBR0VfQ0FDSEVfU0hJ
RlQpICsgdG87DQogDQotICAgIGlmIChwb3MgPiBpbm9kZS0+aV9zaXplKSB7
DQotCWlfc2l6ZV93cml0ZShpbm9kZSwgcG9zKTsNCisJaWYgKCFQYWdlVXB0
b2RhdGUocGFnZSkpDQorCQlTZXRQYWdlVXB0b2RhdGUocGFnZSk7DQogDQot
CXNwaW5fbG9jaygmaW5vZGUtPmlfbG9jayk7DQotCWlub2RlLT5pX2Jsb2Nr
cyA9IChwb3MgKyBJX0JMT0NLU19VTklUIC0gMSkgPj4gSV9CTE9DS1NfQklU
UzsNCi0Jc3Bpbl91bmxvY2soJmlub2RlLT5pX2xvY2spOw0KLSAgICB9DQot
ICAgIHNldF9wYWdlX2RpcnR5KHBhZ2UpOw0KKwlpZiAocG9zID4gaW5vZGUt
Pmlfc2l6ZSkgew0KKwkJaV9zaXplX3dyaXRlKGlub2RlLCBwb3MpOw0KKw0K
KwkJc3Bpbl9sb2NrKCZpbm9kZS0+aV9sb2NrKTsNCisJCWlub2RlLT5pX2Js
b2NrcyA9IChwb3MgKyBJX0JMT0NLU19VTklUIC0gMSkgPj4gSV9CTE9DS1Nf
QklUUzsNCisJCXNwaW5fdW5sb2NrKCZpbm9kZS0+aV9sb2NrKTsNCisJfQ0K
KwlzZXRfcGFnZV9kaXJ0eShwYWdlKTsNCiANCiAjaWYgMA0KLSAgICB7DQot
CWNoYXIgKmFkZHI7DQotCWttYXAocGFnZSk7DQotCWFkZHIgPSBwYWdlX2Fk
ZHJlc3MocGFnZSk7DQotCU5OUEZTREVCKFhERUJWTk9QUywgKCJubnBmc19j
b21taXRfd3JpdGUoJXApOiAleCV4JXgleFxuIiwNCisJew0KKwkgICAgY2hh
ciAqYWRkcjsNCisJICAgIGttYXAocGFnZSk7DQorCSAgICBhZGRyID0gcGFn
ZV9hZGRyZXNzKHBhZ2UpOw0KKwkgICAgTk5QRlNERUIoWERFQlZOT1BTLCAo
Im5ucGZzX2NvbW1pdF93cml0ZSglcCk6ICV4JXgleCV4XG4iLA0KIAkJCSAg
ICAgZmlsZS0+Zl9tYXBwaW5nLT5ob3N0LCANCiAJCQkgICAgIGFkZHJbMF0s
IGFkZHJbMV0sIGFkZHJbMl0sIGFkZHJbM10pKTsNCi0Ja3VubWFwKHBhZ2Up
Ow0KLSAgICB9DQorCSAgICBrdW5tYXAocGFnZSk7DQorCX0NCiAjZW5kaWYN
Ci0gICAgDQotICAgIHJldHVybiAwOw0KKyANCisJcmV0dXJuIDA7DQogfQ0K
KyNlbmRpZg0KIA0KICNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VSTkVM
X1ZFUlNJT04oMiw2LDI4KQ0KLQ0KKy8qIFhYWCB3ZSB1c2UgdGhlIHN5c3Rl
bSBwcm92aWRlZCBzaW1wbGVfd3JpdGVfZW5kIGluc3RlYWQgc28gdGhpcyBm
dW5jdGlvbiBpcyB1bnVzZWQgZm9yIG5vdyAqLw0KKyNpZiAwDQogc3RhdGlj
IGludA0KIG5ucGZzX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3Ry
dWN0IGFkZHJlc3Nfc3BhY2UgKm1hcHBpbmcsIGxvZmZfdCBwb3MsDQogCQl1
bnNpZ25lZCBsZW4sIHVuc2lnbmVkIGNvcGllZCwgc3RydWN0IHBhZ2UgKnBh
Z2UsIHZvaWQgKmZzZGF0YSkNCkBAIC0xOTkzLDEwICsyMjMwLDE4IEBAIG5u
cGZzX3dyaXRlX2VuZChzdHJ1Y3QgZmlsZSAqZmlsZSwgc3RydWMNCiANCiAJ
LyogemVybyB0aGUgc3RhbGUgcGFydCBvZiB0aGUgcGFnZSBpZiB3ZSBkaWQg
YSBzaG9ydCBjb3B5ICovDQogCWlmIChjb3BpZWQgPCBsZW4pIHsNCisjaWYg
TElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQog
CQl2b2lkICprYWRkciA9IGttYXBfYXRvbWljKHBhZ2UsIEtNX1VTRVIwKTsN
CisjZWxzZQ0KKwkJdm9pZCAqa2FkZHIgPSBrbWFwX2F0b21pYyhwYWdlKTsN
CisjZW5kaWYNCiAJCW1lbXNldChrYWRkciArIGZyb20gKyBjb3BpZWQsIDAs
IGxlbiAtIGNvcGllZCk7DQogCQlmbHVzaF9kY2FjaGVfcGFnZShwYWdlKTsN
CisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2
LDApDQogCQlrdW5tYXBfYXRvbWljKGthZGRyLCBLTV9VU0VSMCk7DQorI2Vs
c2UNCisJCWt1bm1hcF9hdG9taWMoa2FkZHIpOw0KKyNlbmRpZg0KIAl9DQog
DQogCW5ucGZzX2NvbW1pdF93cml0ZShmaWxlLCBwYWdlLCBmcm9tLCBmcm9t
ICsgY29waWVkKTsNCkBAIC0yMDA2LDcgKzIyNTEsNyBAQCBubnBmc193cml0
ZV9lbmQoc3RydWN0IGZpbGUgKmZpbGUsIHN0cnVjDQogDQogCXJldHVybiBj
b3BpZWQ7DQogfQ0KLQ0KKyNlbmRpZg0KICNlbmRpZg0KIA0KIGNvbnN0DQpA
QCAtMjAxNSwxMCArMjI2MCwxMCBAQCBzdHJ1Y3QgYWRkcmVzc19zcGFjZV9v
cGVyYXRpb25zIG5ucGZzX2FvDQogCS53cml0ZXBhZ2UgPSBubnBmc193cml0
ZXBhZ2UsDQogI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDIsNiwyOCkNCiAJLnByZXBhcmVfd3JpdGUgPSBubnBmc19wcmVwYXJl
X3dyaXRlLA0KLQkuY29tbWl0X3dyaXRlID0gbm5wZnNfY29tbWl0X3dyaXRl
LA0KKwkuY29tbWl0X3dyaXRlID0gc2ltcGxlX2NvbW1pdF93cml0ZSwNCiAj
ZWxzZQ0KIAkud3JpdGVfYmVnaW4gPSBubnBmc193cml0ZV9iZWdpbiwNCi0J
LndyaXRlX2VuZCA9IG5ucGZzX3dyaXRlX2VuZCwNCisJLndyaXRlX2VuZCA9
IHNpbXBsZV93cml0ZV9lbmQsDQogI2VuZGlmDQogfTsNCiANCkBAIC0yMDI3
LDggKzIyNzIsMTMgQEAgc3RydWN0IGFkZHJlc3Nfc3BhY2Vfb3BlcmF0aW9u
cyBubnBmc19hbw0KICAqLw0KIA0KIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMg
bm5wZnNfZmlsZV9vcGVyYXRpb25zID0gew0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE2LDApDQogICAgIC5haW9fcmVh
ZAk9IG5ucGZzX2Fpb19yZWFkLA0KICAgICAuYWlvX3dyaXRlCT0gbm5wZnNf
YWlvX3dyaXRlLA0KKyNlbHNlDQorICAgIC5yZWFkX2l0ZXIJPSBubnBmc19y
ZWFkX2l0ZXIsDQorICAgIC53cml0ZV9pdGVyCT0gbm5wZnNfd3JpdGVfaXRl
ciwNCisjZW5kaWYNCiAgICAgLm1tYXAJPSBubnBmc19maWxlX21tYXAsDQog
ICAgIC5vcGVuCT0gbm5wZnNfb3BlbiwNCiAgICAgLmZsdXNoCT0gbm5wZnNf
Zmx1c2gsDQpAQCAtMjA0MSw3ICsyMjkxLDExIEBAIHN0cnVjdCBmaWxlX29w
ZXJhdGlvbnMgbm5wZnNfZGVhZF9vcGVyYXQNCiB9Ow0KIA0KIHN0cnVjdCBm
aWxlX29wZXJhdGlvbnMgbm5wZnNfZGlyX29wZXJhdGlvbnMgPSB7DQorI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTEsMCkN
CiAgICAgLnJlYWRkaXIJPSBubnBmc19yZWFkZGlyLA0KKyNlbHNlDQorICAg
IC5pdGVyYXRlICAgID0gbm5wZnNfaXRlcmF0ZSwNCisjZW5kaWYNCiAgICAg
LmZsdXNoCT0gbm5wZnNfZmx1c2gsDQogfTsNCiANCkBAIC0yMDc4LDYgKzIz
MzIsMTAgQEAgc3RydWN0IGlub2RlX29wZXJhdGlvbnMgbm5wZnNfZGVhZF9p
bm9kZQ0KIA0KIHN0cnVjdCBpbm9kZV9vcGVyYXRpb25zIG5ucGZzX2xpbmtf
aW5vZGVfb3BlcmF0aW9ucyA9IHsNCiAgICAgLnJlYWRsaW5rIAkJPSBubnBm
c19yZWFkbGluaywNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oNCw1LDApDQogICAgIC5mb2xsb3dfbGluayAJPSBubnBmc19m
b2xsb3dfbGluaywNCiAgICAgLnB1dF9saW5rIAkJPSBwYWdlX3B1dF9saW5r
LA0KKyNlbHNlDQorICAgIC5nZXRfbGluawkJPSBubnBmc19nZXRfbGluaywN
CisjZW5kaWYNCiB9Ow0KZGlmZiAtdXByTiAtWG5vZGlmZiBhcmxhLWN2cy1v
bGQvbm5wZnMvbGludXgvbm5wZnNfbG9hZC5jIGFybGEvbm5wZnMvbGludXgv
bm5wZnNfbG9hZC5jDQotLS0gYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25u
cGZzX2xvYWQuYwkyMDA2LTEwLTMxIDExOjAyOjQxLjAwMDAwMDAwMCArMDEw
MA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5wZnNfbG9hZC5jCTIwMTYtMDEt
MTMgMjA6MTQ6MDIuMDAwMDAwMDAwICswMTAwDQpAQCAtNTQsNyArNTQsMTEg
QEAgZXh0ZXJuIHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgbm5wZnNfZm9wcw0K
IA0KIHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlIG5ucGZzX2ZzX3R5cGUgPSB7
DQogICAgICAgIG5hbWU6ICAgICAgICAgICAibm5wZnMiLA0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzkpDQogICAg
ICAgIGdldF9zYjogICAgICAgICBubnBmc19nZXRfc2IsDQorI2Vsc2UNCisg
ICAgICAgbW91bnQ6ICAgICAgICAgIG5ucGZzX21vdW50LA0KKyNlbmRpZg0K
ICAgICAgICBraWxsX3NiOiAgICAgICAga2lsbF9saXR0ZXJfc3VwZXIsDQog
ICAgICAgIG93bmVyOiAgICAgICAgICBUSElTX01PRFVMRSwNCiB9Ow0KZGlm
ZiAtdXByTiAtWG5vZGlmZiBhcmxhLWN2cy1vbGQvbm5wZnMvbGludXgvbm5w
ZnNfbWVzc2FnZS5jIGFybGEvbm5wZnMvbGludXgvbm5wZnNfbWVzc2FnZS5j
DQotLS0gYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25ucGZzX21lc3NhZ2Uu
YwkyMDEwLTA4LTA4IDIyOjQzOjA1LjAwMDAwMDAwMCArMDIwMA0KKysrIGFy
bGEvbm5wZnMvbGludXgvbm5wZnNfbWVzc2FnZS5jCTIwMTYtMDEtMjQgMTg6
NTI6MjguMDAwMDAwMDAwICswMTAwDQpAQCAtNTUsOSArNTUsMTUgQEAgc3Rh
dGljIHZvaWQNCiBubnBmc19kX3JlbW92ZShzdHJ1Y3QgZGVudHJ5ICpkZW50
cnkpDQogew0KICAgICBOTlBGU0RFQihYREVCTVNHLCAoIm5ucGZzX2RfcmVt
b3ZlICVwXG4iLCBkZW50cnkpKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM4KQ0KICAgICBzcGluX2xvY2soJmRj
YWNoZV9sb2NrKTsNCiAgICAgZGdldF9sb2NrZWQoZGVudHJ5KTsNCiAgICAg
c3Bpbl91bmxvY2soJmRjYWNoZV9sb2NrKTsNCisjZWxzZQ0KKyAgICBzcGlu
X2xvY2soJmRlbnRyeS0+ZF9sb2NrKTsNCisgICAgZGdldF9kbG9jayhkZW50
cnkpOw0KKyAgICBzcGluX3VubG9jaygmZGVudHJ5LT5kX2xvY2spOw0KKyNl
bmRpZg0KICAgICBkX2Ryb3AoZGVudHJ5KTsNCiAgICAgZHB1dChkZW50cnkp
Ow0KIH0NCkBAIC0xMjEsNyArMTI3LDExIEBAIG5ucGZzX21lc3NhZ2VfaW5z
dGFsbG5vZGUoc3RydWN0IG5ucGZzICoNCiAgICAgc3RydWN0IGlub2RlICpk
aSwgKmlub2RlOw0KICAgICBzdHJ1Y3QgZGVudHJ5ICpwYXJlbnQgPSBOVUxM
Ow0KICAgICBzdHJ1Y3QgcXN0ciBzcXN0cjsNCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQogICAgIHN0cnVjdCBs
aXN0X2hlYWQgKmFsaWFzOw0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsOSwwKQ0KKyAgICBzdHJ1Y3QgaGxpc3Rfbm9k
ZSAqYWxpYXM7DQorI2VuZGlmDQogICAgIA0KICAgICBOTlBGU0RFQihYREVC
TVNHLCAoIm5ucGZzX21lc3NhZ2VfaW5zdGFsbG5vZGVcbiIpKTsNCiAgICAg
DQpAQCAtMTc2LDEyICsxODYsMjYgQEAgbm5wZnNfbWVzc2FnZV9pbnN0YWxs
bm9kZShzdHJ1Y3Qgbm5wZnMgKg0KICAgICAgKg0KICAgICAgKi8NCiAgICAg
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMs
NiwwKQ0KICAgICBhbGlhcyA9IGRpLT5pX2RlbnRyeS5uZXh0Ow0KICAgICB3
aGlsZSAoYWxpYXMgIT0gJmRpLT5pX2RlbnRyeSkgew0KIAlwYXJlbnQgPSBs
aXN0X2VudHJ5KGFsaWFzLCBzdHJ1Y3QgZGVudHJ5LCBkX2FsaWFzKTsNCi0J
c3Bpbl9sb2NrKCZkY2FjaGVfbG9jayk7DQotCWRnZXRfbG9ja2VkKHBhcmVu
dCk7DQotCXNwaW5fdW5sb2NrKCZkY2FjaGVfbG9jayk7DQorI2VsaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw5LDApDQorICAg
IGhsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhcmVudCwgYWxpYXMsICZkaS0+aV9k
ZW50cnksIGRfYWxpYXMpIHsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQorICAgIGhsaXN0X2Zvcl9lYWNo
X2VudHJ5KHBhcmVudCwgJmRpLT5pX2RlbnRyeSwgZF9hbGlhcykgew0KKyNl
bHNlDQorICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KHBhcmVudCwgJmRpLT5p
X2RlbnRyeSwgZF91LmRfYWxpYXMpIHsNCisjZW5kaWYNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM4KQ0KKyAgICBz
cGluX2xvY2soJmRjYWNoZV9sb2NrKTsNCisgICAgZGdldF9sb2NrZWQocGFy
ZW50KTsNCisgICAgc3Bpbl91bmxvY2soJmRjYWNoZV9sb2NrKTsNCisjZWxz
ZQ0KKyAgICBzcGluX2xvY2soJnBhcmVudC0+ZF9sb2NrKTsNCisgICAgZGdl
dF9kbG9jayhwYXJlbnQpOw0KKyAgICBzcGluX3VubG9jaygmcGFyZW50LT5k
X2xvY2spOw0KKyNlbmRpZg0KIAlkZW50cnkgPSBkX2xvb2t1cChwYXJlbnQs
ICZzcXN0cik7DQogCU5OUEZTREVCKFhERUJNU0csDQogCQkgKCJubnBmc19t
ZXNzYWdlX2luc3RhbGxub2RlOiBhbGlhcyAlcCwgbG9va3VwICVwXG4iLA0K
QEAgLTIzMyw3ICsyNTcsOSBAQCBubnBmc19tZXNzYWdlX2luc3RhbGxub2Rl
KHN0cnVjdCBubnBmcyAqDQogCQ0KIAlkcHV0KGRlbnRyeSk7DQogCWRlbnRy
eSA9IE5VTEw7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsNiwwKQ0KIAlhbGlhcyA9IGFsaWFzLT5uZXh0Ow0KKyNlbmRp
Zg0KIAlkcHV0KHBhcmVudCk7DQogICAgIH0NCiAgICAgTk5QRlNERUIoWERF
Qk1TRywgKCJubnBmc19tZXNzYWdlX2luc3RhbGxub2RlOiBkb25lIGluc3Rh
bGxpbmdcbiIpKTsNCkBAIC0yNjgsNyArMjk0LDEzIEBAIG5ucGZzX21lc3Nh
Z2VfaW5zdGFsbGF0dHIoc3RydWN0IG5ucGZzICoNCiAgICAgfQ0KIA0KICAg
ICBpbm9kZSA9IFhOT0RFX1RPX1ZOT0RFKHQpOw0KKyNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDYsMCkNCiAgICAgZGVudHJ5
ID0gbGlzdF9lbnRyeShpbm9kZS0+aV9kZW50cnkubmV4dCwgc3RydWN0IGRl
bnRyeSwgZF9hbGlhcyk7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KKyAgICBkZW50cnkgPSBobGlzdF9l
bnRyeShpbm9kZS0+aV9kZW50cnkuZmlyc3QsIHN0cnVjdCBkZW50cnksIGRf
YWxpYXMpOw0KKyNlbHNlDQorICAgIGRlbnRyeSA9IGhsaXN0X2VudHJ5KGlu
b2RlLT5pX2RlbnRyeS5maXJzdCwgc3RydWN0IGRlbnRyeSwgZF91LmRfYWxp
YXMpOw0KKyNlbmRpZg0KICAgICANCiAgICAgTk5QRlNERUIoWERFQk1TRywg
KCJubnBmc19tZXNzYWdlX2luc3RhbGxhdHRyIG5hbWU6JXNcbiIsDQogCQkg
ICAgICAgZGVudHJ5LT5kX25hbWUubmFtZSkpOw0KQEAgLTM5NiwxNyArNDI4
LDM1IEBAIG5ucGZzX21lc3NhZ2VfaW5zdGFsbGRhdGEoc3RydWN0IG5ucGZz
ICoNCiBzdGF0aWMgdm9pZA0KIGNsZWFyX2FsbF9jaGlsZHJlbiAoc3RydWN0
IGlub2RlICppbm9kZSwgaW50IHBhcmVudCkNCiB7DQorICAgIHN0cnVjdCBk
ZW50cnkgKmRlbnRyeTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMyw2LDApDQogICAgIHN0cnVjdCBsaXN0X2hlYWQgKmFs
aWFzOw0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJT
SU9OKDMsOSwwKQ0KKyAgICBzdHJ1Y3QgaGxpc3Rfbm9kZSAqYWxpYXM7DQor
I2VuZGlmDQogDQogIGFnYWluOg0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigyLDYsMzgpDQogICAgIHNwaW5fbG9jaygmZGNh
Y2hlX2xvY2spOw0KKyNlbHNlDQorICAgIHNwaW5fbG9jaygmaW5vZGUtPmlf
bG9jayk7DQorI2VuZGlmDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDMsNiwwKQ0KICAgICBhbGlhcyA9IGlub2RlLT5pX2Rl
bnRyeS5uZXh0Ow0KICAgICB3aGlsZSAoYWxpYXMgIT0gJmlub2RlLT5pX2Rl
bnRyeSkgew0KLQlzdHJ1Y3QgZGVudHJ5ICpkZW50cnk7DQorI2VsaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw5LDApDQorICAg
IGhsaXN0X2Zvcl9lYWNoX2VudHJ5KGRlbnRyeSwgYWxpYXMsICZpbm9kZS0+
aV9kZW50cnksIGRfYWxpYXMpIHsNCisjZWxpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQorICAgIGhsaXN0X2Zvcl9l
YWNoX2VudHJ5KGRlbnRyeSwgJmlub2RlLT5pX2RlbnRyeSwgZF9hbGlhcykg
ew0KKyNlbHNlDQorICAgIGhsaXN0X2Zvcl9lYWNoX2VudHJ5KGRlbnRyeSwg
Jmlub2RlLT5pX2RlbnRyeSwgZF91LmRfYWxpYXMpIHsNCisjZW5kaWYNCiAJ
c3RydWN0IGxpc3RfaGVhZCAqc3ViZGlyczsNCiAJc3RydWN0IG5ucGZzX2Rl
bnRyeV9kYXRhICp4ZDsNCiAJDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KIAlkZW50cnkgPSBsaXN0X2VudHJ5
KGFsaWFzLCBzdHJ1Y3QgZGVudHJ5LCBkX2FsaWFzKTsNCisjZW5kaWYNCiAJ
aWYgKGRlbnRyeSA9PSBOVUxMKSB7DQogCSAgICBwcmludGsoS0VSTl9FTUVS
RyAiTk5QRlMgUGFuaWM6IGRlbnRyeSBpbiBhbGlhcyBsaXN0IGlzIG51bGxc
biIpOw0KIAkgICAgYnJlYWs7DQpAQCAtNDIyLDcgKzQ3MiwxMSBAQCBjbGVh
cl9hbGxfY2hpbGRyZW4gKHN0cnVjdCBpbm9kZSAqaW5vZGUsDQogCXN1YmRp
cnMgPSBkZW50cnktPmRfc3ViZGlycy5uZXh0Ow0KIAl3aGlsZSAoc3ViZGly
cyAhPSAmZGVudHJ5LT5kX3N1YmRpcnMpIHsNCiAJICAgIHN0cnVjdCBsaXN0
X2hlYWQgKnRtcCA9IHN1YmRpcnM7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09E
RSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAJICAgIHN0cnVjdCBkZW50
cnkgKmNoaWxkID0gbGlzdF9lbnRyeSh0bXAsIHN0cnVjdCBkZW50cnksIGRf
dS5kX2NoaWxkKTsNCisjZWxzZQ0KKwkgICAgc3RydWN0IGRlbnRyeSAqY2hp
bGQgPSBsaXN0X2VudHJ5KHRtcCwgc3RydWN0IGRlbnRyeSwgZF9jaGlsZCk7
DQorI2VuZGlmDQogCSAgICBzdWJkaXJzID0gdG1wLT5uZXh0Ow0KIAkgICAg
Tk5QRlNERUIoWERFQk1TRywgKCJjbGVhcl9hbGxfY2hpbGRyZW4gY2hpbGQ6
ICUuKnMgaW5vZGU6ICVwLyVwICINCiAJCQkgICAgICAgImRjb3VudDogJWQg
YWxpYXNlczpcbiIsDQpAQCAtNDQyLDE0ICs0OTYsMjQgQEAgY2xlYXJfYWxs
X2NoaWxkcmVuIChzdHJ1Y3QgaW5vZGUgKmlub2RlLA0KIA0KIAkgICAgLyog
VGhyb3cgaW1tZWRpYXRlbHkgKi8NCiAJICAgIGlmIChubnBmc19kY291bnQo
Y2hpbGQpID09IDApIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMiw2LDM4KQ0KIAkgICAgICAgIHNwaW5fdW5sb2NrKCZk
Y2FjaGVfbG9jayk7DQorI2Vsc2UNCisJICAgICAgICBzcGluX3VubG9jaygm
aW5vZGUtPmlfbG9jayk7DQorI2VuZGlmDQogCQlubnBmc19kX3JlbW92ZShj
aGlsZCk7DQogCQlnb3RvIGFnYWluOw0KIAkgICAgfQ0KIAl9DQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KIAlh
bGlhcyA9IGFsaWFzLT5uZXh0Ow0KKyNlbmRpZg0KICAgICB9DQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOCkNCiAg
ICAgc3Bpbl91bmxvY2soJmRjYWNoZV9sb2NrKTsNCisjZWxzZQ0KKyAgICBz
cGluX3VubG9jaygmaW5vZGUtPmlfbG9jayk7DQorI2VuZGlmDQogfQ0KIA0K
IHN0YXRpYyB2b2lkDQpAQCAtNzE5LDEyICs3ODMsMjIgQEAgbm5wZnNfbWVz
c2FnZV92ZXJzaW9uKHN0cnVjdCBubnBmcyAqbm5wZg0KIA0KICAgICAvKiBz
YW5pdHkgY2hlY2sgYmVmb3JlIHdlIGxvb2sgYXQgaXQgKi8NCiAgICAgaWYg
KHNpemUgPT0gc2l6ZW9mKCptZXNzYWdlKSAmJiBtZXNzYWdlLT52ZXJzaW9u
ID09IE5OUEZTX1ZFUlNJT04pIHsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KIAlzdHJ1Y3QgbmFtZWlkYXRh
IG5kOw0KKyNlbHNlDQorCXN0cnVjdCBwYXRoIHBhdGg7DQorI2VuZGlmDQog
CWludCBlcnJvcjsNCiANCiAJdWludDY0X3QgYmxvY2tzaXplID0gbWVzc2Fn
ZS0+YmxvY2tzaXplOw0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBL
RVJORUxfVkVSU0lPTigyLDYsMzkpDQogCWVycm9yID0gcGF0aF9sb29rdXAo
Ii4iLCAwLCAmbmQpOw0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDMsMTksMCkNCisJZXJyb3IgPSBrZXJuX3BhdGgoIi4i
LCAwLCAmbmQucGF0aCk7DQorI2Vsc2UNCisJZXJyb3IgPSBrZXJuX3BhdGgo
Ii4iLCAwLCAmcGF0aCk7DQorI2VuZGlmDQogCWlmIChlcnJvcikgew0KIAkg
ICAgLyoNCiAJICAgICAqIEJhZCBjYWNoZSByb290LCBqdXN0IHJldHVybi4N
CkBAIC03MzUsMTEgKzgwOSwxNyBAQCBubnBmc19tZXNzYWdlX3ZlcnNpb24o
c3RydWN0IG5ucGZzICpubnBmDQogCQkgICAibm5wZnNfbWVzc2FnZV92ZXJz
aW9uIGZhaWxlZCBwYXRoX2xvb2t1cCwgIg0KIAkJICAgImVycm5vOiAlZFxu
IiwgZXJyb3IpOw0KIAl9IGVsc2Ugew0KKyNpZiBMSU5VWF9WRVJTSU9OX0NP
REUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQogCSAgICBubnBmc3AtPmNh
Y2hlcm9vdCA9IG1udGdldChuZC5wYXRoLm1udCk7DQogCSAgICBubnBmc3At
PmNhY2hlZGlyID0gZGdldChuZC5wYXRoLmRlbnRyeSk7DQogCSAgICBwYXRo
X3B1dCgmbmQucGF0aCk7DQorI2Vsc2UNCisJICAgIG5ucGZzcC0+Y2FjaGVy
b290ID0gbW50Z2V0KHBhdGgubW50KTsNCisJICAgIG5ucGZzcC0+Y2FjaGVk
aXIgPSBkZ2V0KHBhdGguZGVudHJ5KTsNCisJICAgIHBhdGhfcHV0KCZwYXRo
KTsNCisjZW5kaWYNCiAJICAgIA0KLSNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PD0gS0VSTkVMX1ZFUlNJT04oMiw2LDI4KQ0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMjkpDQogCSAgICBubnBmc3At
PnVpZCA9IGN1cnJlbnQtPmZzdWlkOw0KIAkgICAgbm5wZnNwLT5naWQgPSBj
dXJyZW50LT5mc2dpZDsNCiAjZWxzZQ0KZGlmZiAtdXByTiAtWG5vZGlmZiBh
cmxhLWN2cy1vbGQvbm5wZnMvbGludXgvbm5wZnNfbm9kZS5jIGFybGEvbm5w
ZnMvbGludXgvbm5wZnNfbm9kZS5jDQotLS0gYXJsYS1jdnMtb2xkL25ucGZz
L2xpbnV4L25ucGZzX25vZGUuYwkyMDA3LTAxLTAzIDE0OjUyOjAyLjAwMDAw
MDAwMCArMDEwMA0KKysrIGFybGEvbm5wZnMvbGludXgvbm5wZnNfbm9kZS5j
CTIwMTYtMDUtMDYgMTc6MDE6MTAuMDAwMDAwMDAwICswMjAwDQpAQCAtMTMy
LDcgKzEzMiwxMiBAQCBubnBmc19zZXRzaXplKHN0cnVjdCBpbm9kZSAqaW5v
ZGUsIHVpbnQ2DQogCXByaW50aygibm5wZnNfc2V0c2l6ZTogdHJ1bmNhdGlu
ZyBAMHglbGx1XG4iLA0KIAkgICAgICAgKHVuc2lnbmVkIGxvbmcgbG9uZylz
aXplKTsNCiAjZW5kaWYNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMyw4LDApDQogCXZtdHJ1bmNhdGUoaW5vZGUsIHNpemUp
OyAvKiBYWFggcmV0dmFsICovDQorI2Vsc2UNCisJaWYoIWlub2RlX25ld3Np
emVfb2soaW5vZGUsIHNpemUpKQ0KKwkgICAgdHJ1bmNhdGVfc2V0c2l6ZShp
bm9kZSwgc2l6ZSk7DQorI2VuZGlmDQogCW5ucGZzX2Jsb2NrX3RydW5jYXRl
KHhuLCBzaXplKTsNCiAgICAgfQ0KIH0NCkBAIC0xNTAsOSArMTU1LDE4IEBA
IG5ucGZzX2F0dHIyaW5vZGUoY29uc3Qgc3RydWN0IG5ucGZzX2F0dHINCiAJ
c3RydWN0IHRpbWVzcGVjIG5vdGltZSA9IHswfTsNCiANCiAJaW5vZGUtPmlf
bW9kZSAgID0gMDsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVM
X1ZFUlNJT04oMywxNCwwKQ0KIAlpbm9kZS0+aV91aWQgICAgPSAwOw0KIAlp
bm9kZS0+aV9naWQgICAgPSAwOw0KKyNlbHNlDQorCWlub2RlLT5pX3VpZCAg
ICA9IEtVSURUX0lOSVQoMCk7DQorCWlub2RlLT5pX2dpZCAgICA9IEtHSURU
X0lOSVQoMCk7DQorI2VuZGlmDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsMiwwKQ0KIAlpbm9kZS0+aV9ubGluayAgPSAx
Ow0KKyNlbHNlDQorCXNldF9ubGluayhpbm9kZSwgMSk7DQorI2VuZGlmDQog
CWlub2RlLT5pX2F0aW1lICA9IG5vdGltZTsNCiAJaW5vZGUtPmlfbXRpbWUg
ID0gbm90aW1lOw0KIAlpbm9kZS0+aV9jdGltZSAgPSBub3RpbWU7DQpAQCAt
MTY5LDcgKzE4MywxMSBAQCBubnBmc19hdHRyMmlub2RlKGNvbnN0IHN0cnVj
dCBubnBmc19hdHRyDQogICAgIGlmIChYQV9WQUxJRF9HSUQoYXR0cikpDQog
CWlub2RlLT5pX2dpZCAgICA9IGF0dHItPnhhX2dpZDsNCiAgICAgaWYgKFhB
X1ZBTElEX05MSU5LKGF0dHIpKQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDIsMCkNCiAJaW5vZGUtPmlfbmxpbmsgID0g
YXR0ci0+eGFfbmxpbms7DQorI2Vsc2UNCisJc2V0X25saW5rKGlub2RlLCBh
dHRyLT54YV9ubGluayk7DQorI2VuZGlmDQogICAgIA0KICAgICBpZiAoWEFf
VkFMSURfU0laRShhdHRyKSkgew0KIAlubnBmc19zZXRzaXplKGlub2RlLCBh
dHRyLT54YV9zaXplKTsNCkBAIC0yNjYsNiArMjg0LDkgQEAgbm5wZnNfZmls
bF9pbm9kZShzdHJ1Y3QgaW5vZGUgKmlub2RlLCBzdA0KIAlpbm9kZS0+aV9v
cCAgPSAmbm5wZnNfbGlua19pbm9kZV9vcGVyYXRpb25zOw0KIAlpbm9kZS0+
aV9mb3AgPSAmbm5wZnNfbGlua19vcGVyYXRpb25zOw0KIAlpbm9kZS0+aV9t
YXBwaW5nLT5hX29wcyA9ICZubnBmc19hb3BzOw0KKyNpZiBMSU5VWF9WRVJT
SU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oNCw1LDApDQorCWlub2RlX25v
aGlnaG1lbShpbm9kZSk7DQorI2VuZGlmDQogICAgIH0gZWxzZSB7DQogCWlu
b2RlLT5pX29wICA9ICZubnBmc19kZWFkX2lub2RlX29wZXJhdGlvbnM7DQog
CWlub2RlLT5pX2ZvcCA9ICZubnBmc19kZWFkX29wZXJhdGlvbnM7DQpAQCAt
NTEwLDEyICs1MzEsMjQgQEAgbm5wZnNfaGFzX3BhZyhjb25zdCBzdHJ1Y3Qg
bm5wZnNfbm9kZSAqeA0KIGludA0KIG5ucGZzX25vZGVfdXNlcnMoc3RydWN0
IGlub2RlICppbm9kZSkNCiB7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8
IEtFUk5FTF9WRVJTSU9OKDMsNiwwKQ0KICAgICBzdHJ1Y3QgbGlzdF9oZWFk
ICpwb3M7DQorI2Vsc2UNCisgICAgc3RydWN0IGhsaXN0X25vZGUgKnBvczsN
CisjZW5kaWYNCiAgICAgaW50IHVzZXJzID0gMDsNCiAgICAgDQogICAgIC8q
IFhYWCB0aGlzIHNob3VsZCBwcm9iYWJseSBiZSBwcm90ZWN0ZWQgc29tZWhv
dyAqLw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDYsMCkNCiAgICAgbGlzdF9mb3JfZWFjaChwb3MsICZpbm9kZS0+aV9k
ZW50cnkpIHsNCisjZWxzZQ0KKyAgICBobGlzdF9mb3JfZWFjaChwb3MsICZp
bm9kZS0+aV9kZW50cnkpIHsNCisjZW5kaWYNCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KIAlzdHJ1Y3QgZGVu
dHJ5ICpkZW50cnkgPSBsaXN0X2VudHJ5KHBvcywgc3RydWN0IGRlbnRyeSwg
ZF9hbGlhcyk7DQorI2Vsc2UNCisJc3RydWN0IGRlbnRyeSAqZGVudHJ5ID0g
bGlzdF9lbnRyeShwb3MsIHN0cnVjdCBkZW50cnksIGRfdS5kX2FsaWFzKTsN
CisjZW5kaWYNCiAJaWYgKG5ucGZzX2Rjb3VudChkZW50cnkpID4gMSkNCiAJ
ICAgIHVzZXJzKys7DQogICAgIH0NCmRpZmYgLXVwck4gLVhub2RpZmYgYXJs
YS1jdnMtb2xkL25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMgYXJsYS9u
bnBmcy9saW51eC9ubnBmc19zeXNjYWxscy5jDQotLS0gYXJsYS1jdnMtb2xk
L25ucGZzL2xpbnV4L25ucGZzX3N5c2NhbGxzLmMJMjAxMC0wOC0wOCAyMjo0
MzowNi4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhL25ucGZzL2xpbnV4L25u
cGZzX3N5c2NhbGxzLmMJMjAxNi0wMi0yMCAxOTo0Mzo0Mi4wMDAwMDAwMDAg
KzAxMDANCkBAIC00Miw3ICs0Miw5IEBADQogI2luY2x1ZGUgPG5ucGZzL25u
cGZzX3N5c2NhbGxzLmg+DQogI2luY2x1ZGUgPG5ucGZzL25ucGZzX2NvbW1v
bi5oPg0KICNpbmNsdWRlIDxsaW51eC9maWxlLmg+DQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzOSkNCiAjaW5jbHVk
ZSA8bGludXgvc21wX2xvY2suaD4NCisjZW5kaWYNCiAjaW5jbHVkZSA8bGlu
dXgvc21wLmg+DQogI2luY2x1ZGUgPGxpbnV4L3Byb2NfZnMuaD4NCiANCkBA
IC01MCw2ICs1MiwxMSBAQA0KICNpbmNsdWRlIDxsaW51eC9zZWN1cml0eS5o
Pg0KICNlbmRpZg0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPj0gS0VS
TkVMX1ZFUlNJT04oMyw3LDApDQorI3VuZGVmIFNZU0NBTExIQUNLDQorLyog
dGhlIG1ldGhvZCB0byByZWFkICdsb3dlcl9ib3VuZCcgZG9lcyBub3Qgd29y
ayBvbiBrZXJuZWwgMy43IGFuZCBsYXRlciwgc2Ugbm5wZnNfc3lzY2FsbHMt
bG9zc2FnZS5jICovDQorI2VuZGlmDQorDQogI2lmIDANCiAjaWZkZWYgQ09O
RklHX0NPTVBBVA0KICNpbmNsdWRlIDxsaW51eC9pb2N0bDMyLmg+DQpAQCAt
ODIsMTIgKzg5LDIyIEBAIHR5cGVkZWYgc3RydWN0IGFmc3Byb2NkYXRhIHsN
CiAgICAgdW5zaWduZWQgbG9uZyBzeXNjYWxsOw0KIH0gYWZzcHJvY2RhdGE7
DQogDQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9O
KDIsNiwzNikNCiBzdGF0aWMgaW50DQogbm5wZnNfcHJvY2ZzX2lvY3RsKHN0
cnVjdCBpbm9kZSAqaW5vZGUsIHN0cnVjdCBmaWxlICpmaWxlLA0KIAkJICAg
dW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQgbG9uZyBhcmcpOw0KKyNlbHNl
DQorc3RhdGljIGxvbmcNCitubnBmc19wcm9jZnNfaW9jdGwoc3RydWN0IGZp
bGUgKmZpbGUsDQorCQkgICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBs
b25nIGFyZyk7DQorI2VuZGlmDQogDQogc3RhdGljIHN0cnVjdCBmaWxlX29w
ZXJhdGlvbnMgbm5wZnNfcHJvY2ZzX2ZvcHMgPSB7DQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDIsNiwzNikNCiAgICAgLmlv
Y3RsID0gbm5wZnNfcHJvY2ZzX2lvY3RsLA0KKyNlbHNlDQorICAgIC51bmxv
Y2tlZF9pb2N0bCA9IG5ucGZzX3Byb2Nmc19pb2N0bCwNCisjZW5kaWYNCiB9
Ow0KIA0KIA0KQEAgLTE2MCw4ICsxNzcsMTAgQEAgbm5wZnNfZ2V0X3BhZ19z
ZWModm9pZCkNCiANCiAjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDw9IEtFUk5F
TF9WRVJTSU9OKDIsNiwyOCkNCiAgICAgcmV0dXJuIGN1cnJlbnQtPnVpZDsN
Ci0jZWxzZQ0KKyNlbGlmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9W
RVJTSU9OKDMsMTQsMCkNCiAgICAgcmV0dXJuIGN1cnJlbnRfdWlkKCk7DQor
I2Vsc2UNCisgICAgeyBrdWlkX3Qga3VpZCA9IGN1cnJlbnRfdWlkKCk7IHJl
dHVybiBrdWlkLnZhbDsgfQ0KICNlbmRpZg0KIH0NCiANCkBAIC0xOTksNyAr
MjE4LDEyIEBAIGZpbmRfcGFnKHN0cnVjdCBncm91cF9pbmZvICpnaSkNCiAg
ICAgTk5QRlNERUIoWERFQlNZUywgKCJmaW5kX3BhZzogbmdyb3VwcyA9ICVk
XG4iLCBnaS0+bmdyb3VwcykpOw0KIA0KICAgICBmb3IgKGkgPSBnaS0+bmdy
b3VwcyAtIDE7IGkgPj0gMDsgaS0tKSB7DQorI2lmIExJTlVYX1ZFUlNJT05f
Q09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkNCiAJZ2lkX3QgZ3JvdXAg
PSBHUk9VUF9BVChnaSwgaSk7DQorI2Vsc2UNCisJa2dpZF90IGtncm91cCA9
IEdST1VQX0FUKGdpLCBpKTsNCisJZ2lkX3QgZ3JvdXAgPSBrZ3JvdXAudmFs
Ow0KKyNlbmRpZg0KIAlpZiAoKG5ucGZzX3BhZ190KWdyb3VwID49IE5OUEZT
X1BBR19MTElNICYmIChubnBmc19wYWdfdClncm91cCA8IE5OUEZTX1BBR19V
TElNKSB7DQogCSAgICBOTlBGU0RFQihYREVCU1lTLA0KIAkJICAgICAoImZp
bmRfcGFnOiBFeGlzdGluZyBwYWcgJXUgYXQgcG9zICV1XG4iLCBncm91cCwg
aSkpOw0KQEAgLTIyMCw3ICsyNDQsMTIgQEAgbm5wZnNfZ2V0X3BhZ19ncm91
cCh2b2lkKQ0KICAgICBubnBmc19wYWdfdCByZXQgPSBjdXJyZW50LT51aWQ7
DQogI2Vsc2UNCiAgICAgc3RydWN0IGdyb3VwX2luZm8gKmdpID0gZ2V0X2N1
cnJlbnRfZ3JvdXBzKCk7DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtF
Uk5FTF9WRVJTSU9OKDMsMTQsMCkNCiAgICAgbm5wZnNfcGFnX3QgcmV0ID0g
Y3VycmVudF91aWQoKTsNCisjZWxzZQ0KKyAgICBrdWlkX3Qga3VpZCA9IGN1
cnJlbnRfdWlkKCk7DQorICAgIG5ucGZzX3BhZ190IHJldCA9IGt1aWQudmFs
Ow0KKyNlbmRpZg0KICNlbmRpZg0KICAgICBpbnQgaTsNCiANCkBAIC0yMzAs
NyArMjU5LDExIEBAIG5ucGZzX2dldF9wYWdfZ3JvdXAodm9pZCkNCiANCiAg
ICAgaSA9IGZpbmRfcGFnKGdpKTsNCiAgICAgaWYgKGkgIT0gTk5QRlNfUEFH
X05PVEZPVU5EKQ0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxf
VkVSU0lPTigzLDE0LDApDQogCXJldCA9IEdST1VQX0FUKGdpLCBpKTsNCisj
ZWxzZQ0KKwl7IGtnaWRfdCBrZ2lkID0gR1JPVVBfQVQoZ2ksIGkpOyByZXQg
PSBrZ2lkLnZhbDsgfQ0KKyNlbmRpZg0KIA0KICAgICBwdXRfZ3JvdXBfaW5m
byhnaSk7DQogDQpAQCAtMjgwLDEwICszMTMsMTcgQEAgc3RvcmVfcGFnKG5u
cGZzX3BhZ190IHBhZ251bSkNCiAJY291bnQgLT0gTkdST1VQU19QRVJfQkxP
Q0s7DQogICAgIH0NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMywxNCwwKQ0KICAgICBpZiAoZm91bmQpDQogCUdST1VQ
X0FUKG5ld19naSwgaSkgPSBwYWdudW07DQogICAgIGVsc2UNCiAJR1JPVVBf
QVQobmV3X2dpLCBuZXdfZ2ktPm5ncm91cHMgLSAxKSA9IHBhZ251bTsNCisj
ZWxzZQ0KKyAgICBpZiAoZm91bmQpDQorCXsga2dpZF90IGtnaWQgPSBLR0lE
VF9JTklUKHBhZ251bSk7IEdST1VQX0FUKG5ld19naSwgaSkgPSBrZ2lkOyB9
DQorICAgIGVsc2UNCisJeyBrZ2lkX3Qga2dpZCA9IEtHSURUX0lOSVQocGFn
bnVtKTsgR1JPVVBfQVQobmV3X2dpLCBuZXdfZ2ktPm5ncm91cHMgLSAxKSA9
IGtnaWQ7IH0NCisjZW5kaWYNCiAgICAgDQogICAgIHNldF9jdXJyZW50X2dy
b3VwcyhuZXdfZ2kpOw0KICAgICBwdXRfZ3JvdXBfaW5mbyhuZXdfZ2kpOw0K
QEAgLTMyNSw4ICszNjUsMTAgQEAgbm5wZnNfZ2V0X3BhZygpDQogDQogI2lm
IExJTlVYX1ZFUlNJT05fQ09ERSA8PSBLRVJORUxfVkVSU0lPTigyLDYsMjgp
DQogICAgIHJldHVybiBjdXJyZW50LT51aWQ7DQotI2Vsc2UNCisjZWxpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE0LDApDQog
ICAgIHJldHVybiBjdXJyZW50X3VpZCgpOw0KKyNlbHNlDQorICAgIHsga3Vp
ZF90IGt1aWQgPSBjdXJyZW50X3VpZCgpOyByZXR1cm4ga3VpZC52YWw7IH0N
CiAjZW5kaWYNCiB9DQogDQpAQCAtNDMyLDcgKzQ3NCw3IEBAIG5ucGZzX3Nl
dGdyb3VwczE2IChpbnQgZ2lkc2V0c2l6ZSwgb2xkX2cNCiAjZW5kaWYgLyog
U1lTQ0FMTEhBQ0sgKi8NCiAjZW5kaWYgLyogR1JPVVBQQUdTICovDQogDQot
c3RydWN0IGZpbGVfaGFuZGxlIHsNCitzdHJ1Y3Qgbm5wZnNfZmlsZV9oYW5k
bGUgew0KICAgICBubnBmc19kZXZfdCBkZXY7DQogICAgIGlub190IGlub2Rl
Ow0KICAgICBfX3UzMiBnZW47DQpAQCAtNTE5LDI2ICs1NjEsNTggQEAgbm5w
ZnNfZGVidWdfcHJpbnQgKHN0cnVjdCBhcmxhVmljZUlvY3RsIA0KICAqIGZv
bGxvdyBzeW1saW5rcyBpZmYgYGZvbGxvdycNCiAgKi8NCiANCisjaWYgTElO
VVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KIHN0
YXRpYyBzdHJ1Y3QgZGVudHJ5ICoNCiB1c2VyX3BhdGgyZGVudHJ5IChzdHJ1
Y3QgbmFtZWlkYXRhICpuZCwgY2hhciAqdXNlcl9wYXRoLCBpbnQgZm9sbG93
KQ0KKyNlbHNlDQorc3RhdGljIHN0cnVjdCBkZW50cnkgKg0KK3VzZXJfcGF0
aDJkZW50cnkgKHN0cnVjdCBwYXRoICpwYXRoLCBjaGFyICp1c2VyX3BhdGgs
IGludCBmb2xsb3cpDQorI2VuZGlmDQogew0KICAgICBjaGFyICprbmFtZTsN
CiAgICAgaW50IGZsYWdzID0gMDsNCiAgICAgaW50IGVycm9yID0gMDsNCiAN
Ci0gICAga25hbWUgPSBnZXRuYW1lICh1c2VyX3BhdGgpOw0KKyNpZiBMSU5V
WF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDcsMCkNCisgICAg
a25hbWUgPSBnZXRuYW1lKHVzZXJfcGF0aCk7DQorI2Vsc2UNCisgICAga25h
bWUgPSBfX2dldG5hbWUoKTsNCisjZW5kaWYNCisNCiAgICAgaWYgKElTX0VS
UihrbmFtZSkpDQogCXJldHVybiBFUlJfUFRSKFBUUl9FUlIoa25hbWUpKTsN
CiAgICAgaWYgKGZvbGxvdykNCiAJZmxhZ3MgfD0gTE9PS1VQX0ZPTExPVzsN
CiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFID49IEtFUk5FTF9WRVJTSU9O
KDMsNywwKQ0KKyAgICBlcnJvciA9IHN0cm5jcHlfZnJvbV91c2VyKGtuYW1l
LCB1c2VyX3BhdGgsIFBBVEhfTUFYKTsNCisgICAgaWYgKGVycm9yIDwgMCB8
fCBlcnJvciA9PSBQQVRIX01BWCkgew0KKwlfX3B1dG5hbWUoa25hbWUpOw0K
KwlyZXR1cm4gRVJSX1BUUihlcnJvcik7DQorICAgIH0NCisjZW5kaWYNCisN
CiAgICAgTk5QRlNERUIoWERFQk1TRywgKCJubnBmc19zeXNjYWxsOiBsb29r
aW5nIHVwOiAlc1xuIiwga25hbWUpKTsNCiANCisjaWYgTElOVVhfVkVSU0lP
Tl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM5KQ0KICAgICBlcnJvciA9
IHBhdGhfbG9va3VwKGtuYW1lLCBmbGFncywgbmQpOw0KKyNlbGlmIExJTlVY
X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCisgICAg
ZXJyb3IgPSBrZXJuX3BhdGgoa25hbWUsIGZsYWdzLCAmKG5kLT5wYXRoKSk7
DQorI2Vsc2UNCisgICAgZXJyb3IgPSBrZXJuX3BhdGgoa25hbWUsIGZsYWdz
LCBwYXRoKTsNCisjZW5kaWYNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMyw3LDApDQogICAgIHB1dG5hbWUoa25hbWUpOw0K
KyNlbHNlDQorICAgIF9fcHV0bmFtZShrbmFtZSk7DQorI2VuZGlmDQogICAg
IGlmIChlcnJvcikNCiAJcmV0dXJuIEVSUl9QVFIoZXJyb3IpOw0KKyNpZiBM
SU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDApDQog
ICAgIHJldHVybiBuZC0+cGF0aC5kZW50cnk7DQorI2Vsc2UNCisgICAgcmV0
dXJuIHBhdGgtPmRlbnRyeTsNCisjZW5kaWYNCiB9DQogDQogYXNtbGlua2Fn
ZSBsb25nDQpAQCAtNTUzLDEzICs2MjcsMjEgQEAgc3lzX2Fmc19pbnQgKGlu
dCBvcGVyYXRpb24sDQogICAgIHN0cnVjdCBubnBmc19tZXNzYWdlX3Bpb2N0
bCAqbXNnID0gTlVMTDsNCiAgICAgc3RydWN0IG5ucGZzX21lc3NhZ2Vfd2Fr
ZXVwICptc2cyOw0KICAgICBzdHJ1Y3QgZGVudHJ5ICpkZW50cnkgPSBOVUxM
Ow0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigz
LDE5LDApDQogICAgIHN0cnVjdCBuYW1laWRhdGEgbmQ7DQorI2Vsc2UNCisg
ICAgc3RydWN0IHBhdGggcGF0aDsNCisjZW5kaWYNCiAgICAgDQogICAgIG1z
ZyA9IGttYWxsb2Moc2l6ZW9mKCptc2cpLCBHRlBfS0VSTkVMKTsNCiAgICAg
aWYgKG1zZyA9PSBOVUxMKQ0KICAgICAgIHJldHVybiAtRU5PTUVNOw0KIA0K
KyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYs
MzkpDQogICAgIGxvY2tfa2VybmVsKCk7DQorI2Vsc2UNCisgICAgLyogWFhY
IGxvY2tfa2VybmVsKCkgaXMgcmVtb3ZlZCwgY29uc2lkZXIgYWRkaW5nIGFu
IHByaXZhdGUgbG9jayAqLw0KKyNlbmRpZg0KIA0KICAgICBOTlBGU0RFQihY
REVCU1lTLCAoInN5c19hZnMga2VybmVsIGxvY2tlZFxuIikpOw0KIA0KQEAg
LTU5Nyw3ICs2NzksMTEgQEAgc3lzX2Fmc19pbnQgKGludCBvcGVyYXRpb24s
DQogCSAgICB9DQogCX0NCiAJaWYgKGFfcGF0aFAgIT0gTlVMTCkgew0KKyNp
ZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigzLDE5LDAp
DQogCSAgICBkZW50cnkgPSB1c2VyX3BhdGgyZGVudHJ5ICgmbmQsIGFfcGF0
aFAsIGFfZm9sbG93U3ltbGlua3MpOw0KKyNlbHNlDQorCSAgICBkZW50cnkg
PSB1c2VyX3BhdGgyZGVudHJ5ICgmcGF0aCwgYV9wYXRoUCwgYV9mb2xsb3dT
eW1saW5rcyk7DQorI2VuZGlmDQogCSAgICBpZiAoIWRlbnRyeSkgew0KIAkJ
ZXJyb3IgPSAtRUlOVkFMOw0KIAkJZ290byB1bmxvY2s7DQpAQCAtNjkzLDEz
ICs3NzksMjEgQEAgc3lzX2Fmc19pbnQgKGludCBvcGVyYXRpb24sDQogICAg
IA0KICB1bmxvY2s6DQogICAgIGlmIChkZW50cnkpDQorI2lmIExJTlVYX1ZF
UlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAJcGF0aF9w
dXQoJm5kLnBhdGgpOw0KKyNlbHNlDQorCXBhdGhfcHV0KCZwYXRoKTsNCisj
ZW5kaWYNCiANCiAgICAgTk5QRlNERUIoWERFQlNZUywgKCJubnBmc19zeXNj
YWxsIHJldHVybnMgZXJyb3I6ICVsZFxuIiwgZXJyb3IpKTsNCiANCiAgICAg
Tk5QRlNERUIoWERFQlNZUywgKCJzeXNfYWZzIGtlcm5lbCB1bmxvY2tcbiIp
KTsNCiAgICAga2ZyZWUobXNnKTsNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMiw2LDM5KQ0KICAgICB1bmxvY2tfa2VybmVs
KCk7DQorI2Vsc2UNCisgICAgLyogWFhYIHNlZSB0aGUgY29tbWVudCBhdCBs
b2NrX2tlcm5lbCgpIGFib3ZlICovDQorI2VuZGlmDQogDQogICAgIHJldHVy
biBlcnJvcjsNCiB9DQpAQCAtNzQ4LDkgKzg0MiwxNSBAQCBzeXNfYWZzIChp
bnQgb3BlcmF0aW9uLA0KIAkJICAgICAgIGFfZm9sbG93U3ltbGlua3MpOw0K
IH0NCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJ
T04oMiw2LDM2KQ0KIHN0YXRpYyBpbnQNCiBubnBmc19wcm9jZnNfaW9jdGwo
c3RydWN0IGlub2RlICppbm9kZSwgc3RydWN0IGZpbGUgKmZpbGUsDQogCQkg
ICB1bnNpZ25lZCBpbnQgY21kLCB1bnNpZ25lZCBsb25nIGFyZykNCisjZWxz
ZQ0KK3N0YXRpYyBsb25nDQorbm5wZnNfcHJvY2ZzX2lvY3RsKHN0cnVjdCBm
aWxlICpmaWxlLA0KKwkJICAgdW5zaWduZWQgaW50IGNtZCwgdW5zaWduZWQg
bG9uZyBhcmcpDQorI2VuZGlmDQogew0KICAgICBhZnNwcm9jZGF0YSBhcmdz
Ow0KICAgICBsb25nIHJldDsNCkBAIC04MDcsNyArOTA3LDExIEBAIHN0YXRp
YyBpbnQgbm5wZnNfaW5pdF9wcm9jZnModm9pZCkNCiAgICAgbm5wZnNfcHJv
Y2ZzX2Rpci0+b3duZXIgPSBUSElTX01PRFVMRTsNCiAjZW5kaWYNCiAgICAg
DQorI2lmIExJTlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMs
MTAsMCkNCiAgICAgZW50cnkgPSBjcmVhdGVfcHJvY19lbnRyeShOTlBGU19Q
Uk9DX05PREUsIDA2NjYsIG5ucGZzX3Byb2Nmc19kaXIpOw0KKyNlbHNlDQor
ICAgIGVudHJ5ID0gcHJvY19jcmVhdGUoTk5QRlNfUFJPQ19OT0RFLCAwNjY2
LCBOVUxMLCAmbm5wZnNfcHJvY2ZzX2ZvcHMpOw0KKyNlbmRpZg0KICAgICBp
ZiAoZW50cnkgPT0gTlVMTCkgew0KIAlOTlBGU0RFQihYREVCU1lTLCAoIm5u
cGZzX2luaXRfcHJvY2ZzOiBubyBub2RlXG4iKSk7DQogCXJlbW92ZV9wcm9j
X2VudHJ5KCJmcy8iIE5OUEZTX1BST0NfRElSLCBOVUxMKTsNCkBAIC04MTcs
NyArOTIxLDkgQEAgc3RhdGljIGludCBubnBmc19pbml0X3Byb2Nmcyh2b2lk
KQ0KICNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lPTigy
LDYsMzApDQogICAgIGVudHJ5LT5vd25lciA9IFRISVNfTU9EVUxFOw0KICNl
bmRpZg0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigzLDEwLDApDQogICAgIGVudHJ5LT5wcm9jX2ZvcHMgPSAmbm5wZnNfcHJv
Y2ZzX2ZvcHM7DQorI2VuZGlmDQogDQogI2lmZGVmIFNZU0NBTExDT01QQVQN
CiAgICAgaWYgKHJlZ2lzdGVyX2lvY3RsMzJfY29udmVyc2lvbihBUkxBX1ZJ
T0NfU1lTQ0FMTDMyLCBubnBmc19wcm9jZnNfaW9jdGwzMikpIHsNCmRpZmYg
LXVwck4gLVhub2RpZmYgYXJsYS1jdnMtb2xkL25ucGZzL2xpbnV4L25ucGZz
X3N5c2NhbGxzLWxvc3NhZ2UuYyBhcmxhL25ucGZzL2xpbnV4L25ucGZzX3N5
c2NhbGxzLWxvc3NhZ2UuYw0KLS0tIGFybGEtY3ZzLW9sZC9ubnBmcy9saW51
eC9ubnBmc19zeXNjYWxscy1sb3NzYWdlLmMJMjAxMC0wOC0wOCAyMjo0Mzow
NS4wMDAwMDAwMDAgKzAyMDANCisrKyBhcmxhL25ucGZzL2xpbnV4L25ucGZz
X3N5c2NhbGxzLWxvc3NhZ2UuYwkyMDE2LTAxLTEzIDIxOjUxOjQ5LjAwMDAw
MDAwMCArMDEwMA0KQEAgLTUwLDggKzUwLDE3IEBADQogUkNTSUQoIiRJZDog
bm5wZnNfc3lzY2FsbHMtbG9zc2FnZS5jLHYgMS4xOSAyMDEwLzA4LzA4IDIw
OjQzOjA1IHRvbCBFeHAgJCIpOw0KICNlbmRpZg0KIA0KKyNpZiBMSU5VWF9W
RVJTSU9OX0NPREUgPj0gS0VSTkVMX1ZFUlNJT04oMyw3LDApDQorLyogdGhl
IG1ldGhvZCB0byByZWFkICdsb3dlcl9ib3VuZCcgZG9lcyBub3Qgd29yayBv
biBrZXJuZWwgMy43IGFuZCBsYXRlciAqLw0KKyN1bmRlZiBTWVNDQUxMSEFD
Sw0KKyNlbmRpZg0KKw0KICNpbmNsdWRlIDxsaW51eC9rYWxsc3ltcy5oPg0K
KyNpZmRlZiBTWVNDQUxMSEFDSw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUg
PCBLRVJORUxfVkVSU0lPTigzLDcsMCkNCiBzdGF0aWMgdm9pZCAqbG93ZXJf
Ym91bmQgPSAma2VybmVsX3RocmVhZDsNCisjZW5kaWYNCisjZW5kaWYNCiAN
CiB2b2lkICogX19hdHRyaWJ1dGVfXygod2VhaykpIHN5c19jYWxsX3RhYmxl
KHZvaWQpOw0KIG5ucGZzX3N5c19jYWxsX2Z1bmN0aW9uICpubnBmc19zeXNf
Y2FsbF90YWJsZSA9DQpAQCAtNjYsNiArNzUsOCBAQCBjb25zdCBjaGFyICog
X19hdHRyaWJ1dGVfXygod2VhaykpDQogI2lmZGVmIF9feDg2XzY0X18NCiBl
eHRlcm4gcndsb2NrX3QgdGFza2xpc3RfbG9jayBfX2F0dHJpYnV0ZV9fKCh3
ZWFrKSk7DQogI2VuZGlmDQorDQorI2lmZGVmIFNZU0NBTExIQUNLDQogc3Rh
dGljIHZvaWQgKioNCiBnZXRfc3RhcnRfYWRkcih2b2lkKSB7DQogI2lmZGVm
IF9feDg2XzY0X18NCkBAIC03NCw2ICs4NSw3IEBAIGdldF9zdGFydF9hZGRy
KHZvaWQpIHsNCiAgICAgcmV0dXJuICh2b2lkICoqKSZtdXRleF9sb2NrOw0K
ICNlbmRpZg0KIH0NCisjZW5kaWYNCiANCiBzdGF0aWMgaW5saW5lIGludCAN
CiBrYWxsc3ltX2lzX2VxdWFsKHVuc2lnbmVkIGxvbmcgYWRkciwgY29uc3Qg
Y2hhciAqbmFtZSkNCkBAIC0xNDIsNiArMTU0LDggQEAgdmVyaWZ5KHZvaWQg
KipwKSB7DQogICAgIHJldHVybiAxOw0KIH0NCiANCisjaWZkZWYgU1lTQ0FM
TEhBQ0sNCisNCiBzdGF0aWMgaW5saW5lIGludCBsb29rc19nb29kKHZvaWQg
KipwKQ0KIHsNCiAgICAgaWYgKCpwIDw9ICh2b2lkKilsb3dlcl9ib3VuZCB8
fCAqcCA+PSAodm9pZCopcCkNCkBAIC0xOTEsMyArMjA1LDUgQEAgbm5wZnNf
Zml4dXBfc3lzY2FsbF9sb3NzYWdlKHZvaWQpDQogDQogICAgIHJldHVybiAw
Ow0KIH0NCisNCisjZW5kaWYNCmRpZmYgLXVwck4gLVhub2RpZmYgYXJsYS1j
dnMtb2xkL25ucGZzL2xpbnV4L25ucGZzX3Zmc29wcy5jIGFybGEvbm5wZnMv
bGludXgvbm5wZnNfdmZzb3BzLmMNCi0tLSBhcmxhLWN2cy1vbGQvbm5wZnMv
bGludXgvbm5wZnNfdmZzb3BzLmMJMjAxMC0wOC0wOCAyMjo0MzowNi4wMDAw
MDAwMDAgKzAyMDANCisrKyBhcmxhL25ucGZzL2xpbnV4L25ucGZzX3Zmc29w
cy5jCTIwMTYtMDItMTQgMDE6MzY6MDYuMDAwMDAwMDAwICswMTAwDQpAQCAt
NTAsNyArNTAsOSBAQCBSQ1NJRCgiJElkOiBubnBmc192ZnNvcHMuYyx2IDEu
MTExIDIwMTAvDQogc3RydWN0IG5ucGZzIG5ucGZzW05OTlBGU107DQogDQog
c3RhdGljIHZvaWQgbm5wZnNfcHV0X3N1cGVyKHN0cnVjdCBzdXBlcl9ibG9j
ayAqc2IpOw0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVS
U0lPTigzLDYsMCkNCiBzdGF0aWMgdm9pZCBubnBmc193cml0ZV9zdXBlcihz
dHJ1Y3Qgc3VwZXJfYmxvY2sgKiBzYik7DQorI2VuZGlmDQogDQogc3RhdGlj
IGludCBubnBmc19zdGF0ZnMoc3RydWN0IGRlbnRyeSAqZGVudHJ5LCBzdHJ1
Y3Qga3N0YXRmcyAqYnVmKTsNCiANCkBAIC01OSw3ICs2MSw5IEBAIHN0YXRp
YyBzdHJ1Y3Qgc3VwZXJfb3BlcmF0aW9ucyBubnBmc19zb3ANCiAgICAgZGVz
dHJveV9pbm9kZQk6IG5ucGZzX25vZGVfZnJlZSwNCiAgICAgZHJvcF9pbm9k
ZQkJOiBnZW5lcmljX2RlbGV0ZV9pbm9kZSwNCiAgICAgcHV0X3N1cGVyCQk6
IG5ucGZzX3B1dF9zdXBlciwNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwg
S0VSTkVMX1ZFUlNJT04oMyw2LDApDQogICAgIHdyaXRlX3N1cGVyCQk6IG5u
cGZzX3dyaXRlX3N1cGVyLA0KKyNlbmRpZg0KICAgICBzdGF0ZnMJCTogbm5w
ZnNfc3RhdGZzLA0KIH07DQogDQpAQCAtODYsNyArOTAsMTEgQEAgbm5wZnNf
ZmV0Y2hfcm9vdChzdHJ1Y3QgaW5vZGUgKmkpDQogCSAqIHJvb3QncyBwcml2
aWxpZ2VzICh1c3VhbGx5IG5vbmUsIGFuZCBub25lIGlzIG5lZWRlZCkuDQog
CSAqLw0KIAkNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZF
UlNJT04oMywxNCwwKQ0KIAltc2cuY3JlZC51aWQgPSAwOw0KKyNlbHNlDQor
CW1zZy5jcmVkLnVpZCA9IEtVSURUX0lOSVQoMCk7DQorI2VuZGlmDQogCW1z
Zy5jcmVkLnBhZyA9IDA7DQogCQ0KIAllcnJvciA9IG5ucGZzX21lc3NhZ2Vf
cnBjKG5ucGZzcCwgJm1zZy5oZWFkZXIsIHNpemVvZihtc2cpKTsNCkBAIC0x
MjEsOCArMTI5LDEzIEBAIG1ha2Vfcm9vdF9pbm9kZShzdHJ1Y3Qgbm5wZnMg
Km5ucGZzcCkNCiAgICAgWEFfU0VUX01PREUoJm5vZGUuYXR0ciwgU19JRkRJ
UiB8IDA3NzcpOw0KICAgICBYQV9TRVRfTkxJTksoJm5vZGUuYXR0ciwgMTAw
KTsNCiAgICAgWEFfU0VUX1NJWkUoJm5vZGUuYXR0ciwgMCk7DQorI2lmIExJ
TlVYX1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTQsMCkNCiAg
ICAgWEFfU0VUX1VJRCgmbm9kZS5hdHRyLCAwKTsNCiAgICAgWEFfU0VUX0dJ
RCgmbm9kZS5hdHRyLCAwKTsNCisjZWxzZQ0KKyAgICBYQV9TRVRfVUlEKCZu
b2RlLmF0dHIsIEtVSURUX0lOSVQoMCkpOw0KKyAgICBYQV9TRVRfR0lEKCZu
b2RlLmF0dHIsIEtHSURUX0lOSVQoMCkpOw0KKyNlbmRpZg0KICAgICBYQV9T
RVRfQVRJTUUoJm5vZGUuYXR0ciwgMCk7DQogICAgIFhBX1NFVF9NVElNRSgm
bm9kZS5hdHRyLCAwKTsNCiAgICAgWEFfU0VUX0NUSU1FKCZub2RlLmF0dHIs
IDApOw0KQEAgLTE1MSw3ICsxNjQsMTEgQEAgbWFrZV9yb290IChzdHJ1Y3Qg
c3VwZXJfYmxvY2sgKnNiKQ0KICAgICBubnBmcy0+cm9vdCA9IGlub2RlOw0K
IA0KICAgICAvKiBYWFggZXJyb3IgaGFuZGxpbmcgKi8NCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMyw0LDApDQogICAgIGRw
ID0gZF9hbGxvY19yb290KGlub2RlKTsNCisjZWxzZQ0KKyAgICBkcCA9IGRf
bWFrZV9yb290KGlub2RlKTsNCisjZW5kaWYNCiAgICAgbm5wZnNfZF9pbml0
KGRwKTsNCiAgICAgc2ItPnNfcm9vdCA9IGRwOw0KICAgICByZXR1cm4gMDsN
CkBAIC0xNzUsMTMgKzE5MiwyNyBAQCBubnBmc19yZWFkX3N1cGVyIChzdHJ1
Y3Qgc3VwZXJfYmxvY2sgKiBzDQogICAgIE5OUEZTREVCKFhERUJWRk9QUywg
KCJubnBmc19yZWFkX3N1cGVyOiBiZWdpbiBzZXR0aW5nIHZhcmlhYmxlc1xu
IikpOw0KIA0KICAgICBpZiAoZGF0YSAhPSBOVUxMKSB7DQorI2lmIExJTlVY
X1ZFUlNJT05fQ09ERSA8IEtFUk5FTF9WRVJTSU9OKDMsMTksMCkNCiAJc3Ry
dWN0IG5hbWVpZGF0YSBuZDsNCisjZWxzZQ0KKwlzdHJ1Y3QgcGF0aCBwYXRo
Ow0KKyNlbmRpZg0KIAkNCisjaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMiw2LDM5KQ0KIAllcnJvciA9IHBhdGhfbG9va3VwKGRh
dGEsIDAsICZuZCk7DQorI2VsaWYgTElOVVhfVkVSU0lPTl9DT0RFIDwgS0VS
TkVMX1ZFUlNJT04oMywxOSwwKQ0KKwllcnJvciA9IGtlcm5fcGF0aChkYXRh
LCAwLCAmbmQucGF0aCk7DQorI2Vsc2UNCisJZXJyb3IgPSBrZXJuX3BhdGgo
ZGF0YSwgMCwgJnBhdGgpOw0KKyNlbmRpZg0KIAlpZiAoZXJyb3IpDQogCSAg
ICBkZGV2ID0gRVJSX1BUUihlcnJvcik7DQogCWVsc2UNCisjaWYgTElOVVhf
VkVSU0lPTl9DT0RFIDwgS0VSTkVMX1ZFUlNJT04oMywxOSwwKQ0KIAkgICAg
ZGRldiA9IG5kLnBhdGguZGVudHJ5Ow0KKyNlbHNlDQorCSAgICBkZGV2ID0g
cGF0aC5kZW50cnk7DQorI2VuZGlmDQogDQogCWlmICghSVNfRVJSKGRkZXYp
KSB7DQogCSAgICBtaW5vcmRldmljZSA9IE1JTk9SKGRkZXYtPmRfaW5vZGUt
PmlfcmRldik7DQpAQCAtMjI1LDYgKzI1Niw3IEBAIG5ucGZzX2ZpbGxfc3Vw
ZXIgKHN0cnVjdCBzdXBlcl9ibG9jayAqc2INCiAgICAgcmV0dXJuIDA7DQog
fQ0KIA0KKyNpZiBMSU5VWF9WRVJTSU9OX0NPREUgPCBLRVJORUxfVkVSU0lP
TigyLDYsMzkpDQogaW50DQogbm5wZnNfZ2V0X3NiKHN0cnVjdCBmaWxlX3N5
c3RlbV90eXBlICpmc190eXBlLA0KIAkgICAgIGludCBmbGFncywgY29uc3Qg
Y2hhciAqZGV2X25hbWUsDQpAQCAtMjMyLDEyICsyNjQsMjMgQEAgbm5wZnNf
Z2V0X3NiKHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlICpmcw0KIHsNCiAgICAg
cmV0dXJuIGdldF9zYl9ub2Rldihmc190eXBlLCBmbGFncywgZGF0YSwgbm5w
ZnNfZmlsbF9zdXBlciwgbW50KTsNCiB9DQorI2Vsc2UNCitzdHJ1Y3QgZGVu
dHJ5Kg0KK25ucGZzX21vdW50KHN0cnVjdCBmaWxlX3N5c3RlbV90eXBlICpm
c190eXBlLA0KKwkgICAgIGludCBmbGFncywgY29uc3QgY2hhciAqZGV2X25h
bWUsDQorCSAgICAgdm9pZCAqZGF0YSkgDQorew0KKyAgICByZXR1cm4gbW91
bnRfbm9kZXYoZnNfdHlwZSwgZmxhZ3MsIGRhdGEsIG5ucGZzX2ZpbGxfc3Vw
ZXIpOw0KK30NCisjZW5kaWYNCiANCisjaWYgTElOVVhfVkVSU0lPTl9DT0RF
IDwgS0VSTkVMX1ZFUlNJT04oMyw2LDApDQogc3RhdGljIHZvaWQNCiBubnBm
c193cml0ZV9zdXBlcihzdHJ1Y3Qgc3VwZXJfYmxvY2sgKiBzYikNCiB7DQog
ICAgIHNiLT5zX2RpcnQgPSAwOw0KIH0NCisjZW5kaWYNCiANCiAvKg0KICAq
IFhYWCBpcyB0aGlzIGdvb2Q/IA0KQEAgLTI3Niw3ICszMTksMTEgQEAgbm5w
ZnNfc3RhdGZzX2ludChzdHJ1Y3Qgc3VwZXJfYmxvY2sgKnNiLA0KICAgICB0
bXAuZl9zcGFyZVsxXSA9IDA7DQogICAgIHRtcC5mX3NwYXJlWzJdID0gMDsN
CiAgICAgdG1wLmZfc3BhcmVbM10gPSAwOw0KKyNpZiBMSU5VWF9WRVJTSU9O
X0NPREUgPCBLRVJORUxfVkVSU0lPTigyLDYsMzYpDQogICAgIHRtcC5mX3Nw
YXJlWzRdID0gMDsNCisjZWxzZQ0KKyAgICB0bXAuZl9mbGFncyA9IDA7DQor
I2VuZGlmDQogICAgICpidWYgPSB0bXA7DQogICAgIHJldHVybiAwOw0KIH0N
Cg==

---276651502-871978835-1463672277=:15876
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
Arla-drinkers mailing list
Arla-drinkers@stacken.kth.se
https://lists.stacken.kth.se/mailman/listinfo/arla-drinkers

---276651502-871978835-1463672277=:15876--

home help back first fref pref prev next nref lref last post