From owner-FreeBSD-users-jp@jp.freebsd.org  Fri Mar  2 00:08:44 2001
Received: (from daemon@localhost)
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) id AAA37154;
	Fri, 2 Mar 2001 00:08:44 +0900 (JST)
	(envelope-from owner-FreeBSD-users-jp@jp.FreeBSD.org)
Received: from mgate07.so-net.ne.jp (mgate07.so-net.ne.jp [210.139.254.154])
	by castle.jp.freebsd.org (8.9.3+3.2W/8.7.3) with ESMTP id AAA37149
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 2 Mar 2001 00:08:43 +0900 (JST)
	(envelope-from yoshida@ga2.so-net.ne.jp)
Received: from mail.ga2.so-net.ne.jp (mail.ga2.so-net.ne.jp [210.139.254.25])
	by mgate07.so-net.ne.jp (8.8.8+3.0Wbeta9/3.6W01022711) with ESMTP id AAA20908
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 2 Mar 2001 00:08:43 +0900 (JST)
Received: from localhost (p8bec7a.ymtkpc00.ap.so-net.ne.jp [210.139.236.122])
	by mail.ga2.so-net.ne.jp (8.8.8/3.7W01022316) with ESMTP id AAA00685
	for <FreeBSD-users-jp@jp.freebsd.org>; Fri, 2 Mar 2001 00:08:35 +0900 (JST)
To: FreeBSD-users-jp@jp.freebsd.org
From: YOSHIDA Tatsuya <yoshidat@ga2.so-net.ne.jp>
X-Mailer: Mew version 1.94.1 on Emacs 20.7 / Mule 4.0 (HANANOEN)
Mime-Version: 1.0
Content-Type: Multipart/Mixed;
 boundary="--Next_Part(Fri_Mar__2_00:08:31_2001_809)--"
Content-Transfer-Encoding: 7bit
Message-Id: <20010302000834K.yoshida@ga2.so-net.ne.jp>
Date: Fri, 02 Mar 2001 00:08:34 +0900
X-Dispatcher: imput version 20000228(IM140)
Lines: 487
Reply-To: FreeBSD-users-jp@jp.freebsd.org
Precedence: list
X-Distribute: distribute version 2.1 (Alpha) patchlevel 24e+000315
X-Sequence: FreeBSD-users-jp 59391
Subject: [FreeBSD-users-jp 59391] Linux JDK1.3 on FreeBSD 4.2R
Errors-To: owner-FreeBSD-users-jp@jp.freebsd.org
Sender: owner-FreeBSD-users-jp@jp.freebsd.org
X-Originator: yoshida@ga2.so-net.ne.jp

----Next_Part(Fri_Mar__2_00:08:31_2001_809)--
Content-Type: Text/Plain; charset=iso-2022-jp
Content-Transfer-Encoding: 7bit

$B5HEDN5Li(B@ga2.so-net$B$G$9!#(B

$B8eF#BgCO$5$s$N(B FreeBSD PRESS$B$N5-;v$r;29M$K$7$F!"(BFreeBSD 4.2R$B$K$F(BLinux
$BMQ$N(BIBM$B$N(BJDK1.3$B$H(BSUN$B$N(BJDK1.3.0_01$B$rF0$+$9$3$H$,$G$-$^$7$?!#(B
$B8=:_!"(BSUN JDK1.3.0_01 $B$G(BForte for Java2.0$BF|K\8lHG$r;n$7$F$$$k=j$G$9!#(B

http://www.cs.duke.edu/~gallatin/linux_sa_siginfo/ $B$K$O(B4.2R$BMQ$N%+!<%M(B
$B%k%Q%C%A$,$J$+$C$?$N$G!"(Bdiff(CURRENT$BMQ(B)$B$H(B4.0-release.diff$B$r85$K<j$G%Q%C(B
$B%A$r:n$j$^$7$?!#E:IU$7$?$N$G;n$7$?$$J}$O$I$&$>!#(B


$B$3$3$G!"<ALd$G$9$,!"8eF#$5$s$N5-;v$G$O(B
chmod a+w /compat/linux/dev/null $B$r9T$C$F$$$^$9$,!";d$N(B /compat/linux
$B0J2<$K(Bdev$B%G%#%l%/%H%j$OB8:_$7$J$$$N$G$9$,!"(B4.2R$B$G$O$I$N$h$&$K$9$Y$-$G(B
$B$7$g$&$+!)(B

$B$^$?!"(BIBM JDK$B$K4X$7$F0J2<$N$h$&$JLdBj$,=P$F$$$^$9!#(B(1),(2)$B$K$D$$$F$O(B
freebsd-java $B$G$bJs9p$,$"$C$?$h$&$G$9$,!"2r7hJ}K!$O=P$F$$$k$N$G$7$g$&(B
$B$+!)8!:w$7$?8B$j$G$O8+IU$+$j$^$;$s$G$7$?!#(B

(1)java$B5/F0;~$K0J2<$N$h$&$K%W%m%;%C%5?t$N<hF@$K4X$9$k7Y9p$,$G$^$9!#(B
JIT cannot get processor_num. Assuming SMP...
$B;d$N;HMQ$7$F$$$k%^%6!<%\!<%I$O(B AOpen AX3SPro $B$H$$$&$b$N$G(BCPU$B$O#1$D$7$+(B
$B:\$i$J$$%?%$%W$J$N$G$9$,!D(B

(2)IBMJDK$BIUB0$N%G%b$NFb(B SwinSet2 $B$r(Bjava$B%3%^%s%I$G<B9T$9$k$H0J2<$N%(%i!<(B
$B$,=P$F3:Ev$9$k%G%bItJ,$NI=<($,$5$l$^$;$s!#(B
$ java -jar SwingSet2.jar
JIT cannot get processor_num. Assuming SMP...
Error occurred loading demo: ButtonDemo
Error occurred loading demo: ColorChooserDemo
Error occurred loading demo: ComboBoxDemo
Error occurred loading demo: FileChooserDemo
Error occurred loading demo: HtmlDemo
Error occurred loading demo: ListDemo
Error occurred loading demo: OptionPaneDemo
Error occurred loading demo: ProgressBarDemo
Error occurred loading demo: ScrollPaneDemo
Error occurred loading demo: SliderDemo
Error occurred loading demo: SplitPaneDemo
Error occurred loading demo: TabbedPaneDemo
Error occurred loading demo: TableDemo
Error occurred loading demo: ToolTipDemo
Error occurred loading demo: TreeDemo

$ appletviewer $B$G$N<B9T$d(BSUN JDK1.3.0_01 $BIUB0$N(BSwingSet2.jar$B$G$"$l$P@5(B
$B>o$KI=<($G$-$^$9!#(B

(3)SUN $B$N(B Forte for Java 2.0 Community Edition($BF|K\8lHG(B) $B$,%$%s%9%H!<(B
$B%k$G$-$^$;$s!#(B(1)$B$N1F6A$+!"%$%s%9%H!<%k;~$N#2EYL\$N(BVM$B$N%A%'%C%/$G!VE,(B
$B@Z$J(BJVM$B$,8+$D$+$j$^$;$s$G$7$?!#!W$HI=<($5$l!"@h$K?J$`$3$H$,$G$-$^$;$s(B
$B$G$7$?!#(B


$B$b$72r7h:v$r$4B8CN$NJ}$O65$($F$/$@$5$$!#(B


/*          $B$?$@$$$^(B FreeBSD $B$H3JF.Cf(B */
/* $B5HEDN5Li(B(yoshidat@ga2.so-net.ne.jp */

----Next_Part(Fri_Mar__2_00:08:31_2001_809)--
Content-Type: Application/Octet-Stream
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="4.2R.diff"

ZGlmZiAtdXIgc3lzLk9SRy9pMzg2L2xpbnV4L2xpbnV4Lmggc3lzL2kzODYvbGludXgvbGlu
dXguaAotLS0gc3lzLk9SRy9pMzg2L2xpbnV4L2xpbnV4LmgJV2VkIE1heSAxMCAwMjo0MToy
NCAyMDAwCisrKyBzeXMvaTM4Ni9saW51eC9saW51eC5oCVRodSBGZWIgMjIgMjM6MjQ6Mjkg
MjAwMQpAQCAtMzMsNiArMzMsOCBAQAogCiAjaW5jbHVkZSA8aTM4Ni9saW51eC9saW51eF9z
eXNjYWxsLmg+CiAKKyNpbmNsdWRlIDxzeXMvc2lnbmFsLmg+IC8qIGZvciBzaWd2YWwgdW5p
b24gKi8KKwogI2lmZGVmIE1BTExPQ19ERUNMQVJFCiBNQUxMT0NfREVDTEFSRShNX0xJTlVY
KTsKICNlbmRpZgpAQCAtMTU3LDYgKzE1OSwxNSBAQAogI2RlZmluZQlMSU5VWF9TSUdJU01F
TUJFUihzZXQsIHNpZykJU0lHSVNNRU1CRVIoc2V0LCBzaWcpCiAjZGVmaW5lCUxJTlVYX1NJ
R0FERFNFVChzZXQsIHNpZykJU0lHQUREU0VUKHNldCwgc2lnKQogCisvKiBzaWdhbHRzdGFj
ayAqLworI2RlZmluZSBMSU5VWF9NSU5TSUdTVEtTWiAgICAgICAyMDQ4CisjZGVmaW5lIExJ
TlVYX1NTX09OU1RBQ0sgICAgICAgIDEKKyNkZWZpbmUgTElOVVhfU1NfRElTQUJMRSAgICAg
ICAgMgorI2RlZmluZSBMSU5VWF9TU19ESVNBQkxFX0JDICAgICAwICAgICAgIC8qIGJhY2t3
YXJkcyBjb21wYXQgU1NfRElTQUJMRSAqLworCit2b2lkIGxpbnV4X3RvX2JzZF9zaWdhbHRz
dGFjayhpbnQgKmxzYSwgaW50ICpic2EpOwordm9pZCBic2RfdG9fbGludXhfc2lnYWx0c3Rh
Y2soaW50ICpic2EsIGludCAqbHNhKTsKKwogdHlwZWRlZiB2b2lkCSgqbGludXhfaGFuZGxl
cl90KShpbnQpOwogdHlwZWRlZiB1X2xvbmcJbGludXhfb3NpZ3NldF90OwogCkBAIC0yMTAs
NiArMjIxLDcyIEBACiAJaW50CXNjX2NyMjsKIH07CiAKKworc3RydWN0IGxpbnV4X3Vjb250
ZXh0IHsKKwl1bnNpZ25lZCBsb25nCQl1Y19mbGFnczsKKwl2b2lkCQkJKnVjX2xpbms7CisJ
bGludXhfc3RhY2tfdAkJdWNfc3RhY2s7CisJc3RydWN0IGxpbnV4X3NpZ2NvbnRleHQJdWNf
bWNvbnRleHQ7CisJbGludXhfc2lnc2V0X3QJCXVjX3NpZ21hc2s7ICAgCit9OworCisjZGVm
aW5lIExJTlVYX1NJX01BWF9TSVpFICAgICAxMjgKKyNkZWZpbmUgTElOVVhfU0lfUEFEX1NJ
WkUgICAgICgoTElOVVhfU0lfTUFYX1NJWkUvc2l6ZW9mKGludCkpIC0gMykKKwordHlwZWRl
ZiBzdHJ1Y3Qgc2lnaW5mbyB7CisJaW50IGxzaV9zaWdubzsKKwlpbnQgbHNpX2Vycm5vOwor
CWludCBsc2lfY29kZTsKKworCXVuaW9uIHsKKwkJaW50IF9wYWRbTElOVVhfU0lfUEFEX1NJ
WkVdOworCQlzdHJ1Y3QgeworCQkJbGludXhfcGlkX3QgX3BpZDsKKwkJCWxpbnV4X3VpZF90
IF91aWQ7CisJCX0gX2tpbGw7CisKKwkJc3RydWN0IHsKKwkJCXVuc2lnbmVkIGludCBfdGlt
ZXIxOworCQkJdW5zaWduZWQgaW50IF90aW1lcjI7CisJCX0gX3RpbWVyOworCisJCXN0cnVj
dCB7CisJCQlsaW51eF9waWRfdCBfcGlkOwkJLyogc2VuZGVyJ3MgcGlkICovCisJCQlsaW51
eF91aWRfdCBfdWlkOwkJLyogc2VuZGVyJ3MgdWlkICovCisJCQl1bmlvbiBzaWd2YWwgX3Np
Z3ZhbDsKKwkJfSBfcnQ7CisKKwkJc3RydWN0IHsKKwkJCWxpbnV4X3BpZF90IF9waWQ7CQkv
KiB3aGljaCBjaGlsZCAqLworCQkJbGludXhfdWlkX3QgX3VpZDsJCS8qIHNlbmRlcidzIHVp
ZCAqLworCQkJaW50IF9zdGF0dXM7CQkJLyogZXhpdCBjb2RlICovCisJCQlsaW51eF9jbG9j
a190IF91dGltZTsKKwkJCWxpbnV4X2Nsb2NrX3QgX3N0aW1lOworCQl9IF9zaWdjaGxkOwor
CisJCXN0cnVjdCB7CisJCQl2b2lkICpfYWRkcjsJLyogZmF1bHRpbmcgaW5zbi9tZW1vcnkg
cmVmLiAqLworCQl9IF9zaWdmYXVsdDsKKworCQlzdHJ1Y3QgeworCQkJaW50IF9iYW5kOwkv
KiBQT0xMX0lOLCBQT0xMX09VVCwgUE9MTF9NU0cgKi8KKwkJCWludCBfZmQ7CisJCX0gX3Np
Z3BvbGw7CisJfSBfc2lmaWVsZHM7Cit9IGxpbnV4X3NpZ2luZm9fdDsKKworI2RlZmluZSBs
c2lfcGlkICAgICAgICAgIF9zaWZpZWxkcy5fa2lsbC5fcGlkCisjZGVmaW5lIGxzaV91aWQg
ICAgICAgICAgX3NpZmllbGRzLl9raWxsLl91aWQKKyNkZWZpbmUgbHNpX3N0YXR1cyAgICAg
ICBfc2lmaWVsZHMuX3NpZ2NobGQuX3N0YXR1cworI2RlZmluZSBsc2lfdXRpbWUgICAgICAg
IF9zaWZpZWxkcy5fc2lnY2hsZC5fdXRpbWUKKyNkZWZpbmUgbHNpX3N0aW1lICAgICAgICBf
c2lmaWVsZHMuX3NpZ2NobGQuX3N0aW1lCisjZGVmaW5lIGxzaV92YWx1ZSAgICAgICAgX3Np
ZmllbGRzLl9ydC5fc2lndmFsCisjZGVmaW5lIGxzaV9pbnQgICAgICAgICAgX3NpZmllbGRz
Ll9ydC5fc2lndmFsLnNpdmFsX2ludAorI2RlZmluZSBsc2lfcHRyICAgICAgICAgIF9zaWZp
ZWxkcy5fcnQuX3NpZ3ZhbC5zaXZhbF9wdHIKKyNkZWZpbmUgbHNpX2FkZHIgICAgICAgICBf
c2lmaWVsZHMuX3NpZ2ZhdWx0Ll9hZGRyCisjZGVmaW5lIGxzaV9iYW5kICAgICAgICAgX3Np
ZmllbGRzLl9zaWdwb2xsLl9iYW5kCisjZGVmaW5lIGxzaV9mZCAgICAgICAgICAgX3NpZmll
bGRzLl9zaWdwb2xsLl9mZAorCiAvKgogICogV2UgbWFrZSB0aGUgc3RhY2sgbG9vayBsaWtl
IExpbnV4IGV4cGVjdHMgaXQgd2hlbiBjYWxsaW5nIGEgc2lnbmFsCiAgKiBoYW5kbGVyLCBi
dXQgdXNlIHRoZSBCU0Qgd2F5IG9mIGNhbGxpbmcgdGhlIGhhbmRsZXIgYW5kIHNpZ3JldHVy
bigpLgpAQCAtMjIyLDEwICsyOTksMjAgQEAKIAlsaW51eF9oYW5kbGVyX3Qgc2ZfaGFuZGxl
cjsKIH07CiAKK3N0cnVjdCBsaW51eF9ydF9zaWdmcmFtZSB7CisJaW50CQkJc2Zfc2lnOwor
CWxpbnV4X3NpZ2luZm9fdCAJKnNmX3NpZ2luZm87OworCXN0cnVjdCBsaW51eF91Y29udGV4
dAkqc2ZfdWNvbnRleHQ7CS8qIHBvaW50cyB0byBzZl91YyAqLworCWxpbnV4X3NpZ2luZm9f
dCBzZl9zaTsKKwlzdHJ1Y3QgbGludXhfdWNvbnRleHQgCXNmX3NjOyAgICAgICAgICAvKiA9
ICpzZl91Y29udGV4dCAqLworCWxpbnV4X2hhbmRsZXJfdCAJc2ZfaGFuZGxlcjsKK307CisK
IGV4dGVybiBpbnQgYnNkX3RvX2xpbnV4X3NpZ25hbFtdOwogZXh0ZXJuIGludCBsaW51eF90
b19ic2Rfc2lnbmFsW107CiBleHRlcm4gc3RydWN0IHN5c2VudHZlYyBsaW51eF9zeXN2ZWM7
CiBleHRlcm4gc3RydWN0IHN5c2VudHZlYyBlbGZfbGludXhfc3lzdmVjOwordm9pZCBic2Rf
dG9fbGludXhfc2lnc2V0KHNpZ3NldF90ICpic3MsIGxpbnV4X3NpZ3NldF90ICpsc3MpOwog
CiAvKgogICogUGx1Z2dhYmxlIGlvY3RsIGhhbmRsZXJzCmRpZmYgLXVyIHN5cy5PUkcvaTM4
Ni9saW51eC9saW51eF9kdW1teS5jIHN5cy9pMzg2L2xpbnV4L2xpbnV4X2R1bW15LmMKLS0t
IHN5cy5PUkcvaTM4Ni9saW51eC9saW51eF9kdW1teS5jCVRodSBKdWwgMjAgMTQ6MzE6NTYg
MjAwMAorKysgc3lzL2kzODYvbGludXgvbGludXhfZHVtbXkuYwlUaHUgRmViIDIyIDIzOjI0
OjU0IDIwMDEKQEAgLTk0LDcgKzk0LDYgQEAKIERVTU1ZKG5mc3NlcnZjdGwpOwogRFVNTVko
Z2V0cmVzZ2lkKTsKIERVTU1ZKHByY3RsKTsKLURVTU1ZKHJ0X3NpZ3JldHVybik7CiBEVU1N
WShydF9zaWdwZW5kaW5nKTsKIERVTU1ZKHJ0X3NpZ3RpbWVkd2FpdCk7CiBEVU1NWShydF9z
aWdxdWV1ZWluZm8pOwpkaWZmIC11ciBzeXMuT1JHL2kzODYvbGludXgvbGludXhfZ2VuYXNz
eW0uYyBzeXMvaTM4Ni9saW51eC9saW51eF9nZW5hc3N5bS5jCi0tLSBzeXMuT1JHL2kzODYv
bGludXgvbGludXhfZ2VuYXNzeW0uYwlTdW4gSmFuICA5IDA0OjUzOjE4IDIwMDAKKysrIHN5
cy9pMzg2L2xpbnV4L2xpbnV4X2dlbmFzc3ltLmMJVGh1IEZlYiAyMiAyMzo1MzoxNyAyMDAx
CkBAIC0xMSwzICsxMSw1IEBACiBBU1NZTShMSU5VWF9TSUdGX1NDLCBvZmZzZXRvZihzdHJ1
Y3QgbGludXhfc2lnZnJhbWUsIHNmX3NjKSk7CiBBU1NZTShMSU5VWF9TQ19HUywgb2Zmc2V0
b2Yoc3RydWN0IGxpbnV4X3NpZ2NvbnRleHQsIHNjX2dzKSk7CiBBU1NZTShMSU5VWF9TQ19F
RkxBR1MsIG9mZnNldG9mKHN0cnVjdCBsaW51eF9zaWdjb250ZXh0LCBzY19lZmxhZ3MpKTsK
K0FTU1lNKExJTlVYX1JUX1NJR0ZfSEFORExFUiwgb2Zmc2V0b2Yoc3RydWN0IGxpbnV4X3J0
X3NpZ2ZyYW1lLCBzZl9oYW5kbGVyKSk7CitBU1NZTShMSU5VWF9SVF9TSUdGX1VDLCBvZmZz
ZXRvZihzdHJ1Y3QgbGludXhfcnRfc2lnZnJhbWUsIHNmX3NjKSk7CmRpZmYgLXVyIHN5cy5P
UkcvaTM4Ni9saW51eC9saW51eF9sb2NvcmUucyBzeXMvaTM4Ni9saW51eC9saW51eF9sb2Nv
cmUucwotLS0gc3lzLk9SRy9pMzg2L2xpbnV4L2xpbnV4X2xvY29yZS5zCUZyaSBKdWwgIDcg
MDk6Mzg6NTAgMjAwMAorKysgc3lzL2kzODYvbGludXgvbGludXhfbG9jb3JlLnMJVGh1IEZl
YiAyMiAyMzoyODozMSAyMDAxCkBAIC0xNCwxMSArMTQsMjQgQEAKIAlpbnQJJDB4ODAJCQkJ
LyogZW50ZXIga2VybmVsIHdpdGggYXJncyAqLwogMDoJam1wCTBiCiAJQUxJR05fVEVYVAor
LyogWFhYWFggKi8KKyAgICAgICAKK19saW51eF9ydF9zaWdjb2RlOgorCWNhbGwJKkxJTlVY
X1JUX1NJR0ZfSEFORExFUiglZXNwKQorCWxlYWwJTElOVVhfUlRfU0lHRl9VQyglZXNwKSwl
ZWJ4ICAgICAvKiBsaW51eCB1Y3AgKi8KKwltb3ZsCUxJTlVYX1NDX0dTKCVlYngpLCVncwor
CXB1c2gJJWVheAkJCQkvKiBmYWtlIHJldCBhZGRyICovCisJbW92bAkkTElOVVhfU1lTX2xp
bnV4X3J0X3NpZ3JldHVybiwlZWF4IC8qIGxpbnV4X3J0X3NpZ3JldHVybigpICovCisJaW50
CSQweDgwCQkJCS8qIGVudGVyIGtlcm5lbCB3aXRoIGFyZ3MgKi8KKzA6CWptcAkwYgorCUFM
SUdOX1RFWFQKKy8qIFhYWFhYICovCiBfbGludXhfZXNpZ2NvZGU6CiAKIAkuZGF0YQotCS5n
bG9ibAlfbGludXhfc3pzaWdjb2RlCisJLmdsb2JsCV9saW51eF9zenNpZ2NvZGUsIF9saW51
eF9zem5vbnJ0c2lnY29kZQogX2xpbnV4X3N6c2lnY29kZToKIAkubG9uZwlfbGludXhfZXNp
Z2NvZGUtX2xpbnV4X3NpZ2NvZGUKLQorX2xpbnV4X3N6bm9ucnRzaWdjb2RlOgorCS5sb25n
CV9saW51eF9ydF9zaWdjb2RlLV9saW51eF9zaWdjb2RlCiAJLnRleHQKZGlmZiAtdXIgc3lz
Lk9SRy9pMzg2L2xpbnV4L2xpbnV4X21hY2hkZXAuYyBzeXMvaTM4Ni9saW51eC9saW51eF9t
YWNoZGVwLmMKLS0tIHN5cy5PUkcvaTM4Ni9saW51eC9saW51eF9tYWNoZGVwLmMJVGh1IE5v
diAgMiAwNDozNDo1MCAyMDAwCisrKyBzeXMvaTM4Ni9saW51eC9saW51eF9tYWNoZGVwLmMJ
VGh1IEZlYiAyMiAyMzozNzo1NiAyMDAxCkBAIC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSA8
c3lzL3N5c3Byb3RvLmg+CiAjaW5jbHVkZSA8c3lzL3N5c3RtLmg+CiAjaW5jbHVkZSA8c3lz
L3VuaXN0ZC5oPgorI2luY2x1ZGUgPHN5cy9yZXNvdXJjZS5oPgorI2luY2x1ZGUgPHN5cy9y
ZXNvdXJjZXZhci5oPgogCiAjaW5jbHVkZSA8bWFjaGluZS9mcmFtZS5oPgogI2luY2x1ZGUg
PG1hY2hpbmUvcHNsLmg+CkBAIC00Niw2ICs0OCwzMiBAQAogI2luY2x1ZGUgPGNvbXBhdC9s
aW51eC9saW51eF9zaWduYWwuaD4KICNpbmNsdWRlIDxjb21wYXQvbGludXgvbGludXhfdXRp
bC5oPgogCisKKwordm9pZAorbGludXhfdG9fYnNkX3NpZ2FsdHN0YWNrKGludCAqbHNhLCBp
bnQgKmJzYSkKK3sKKwkqYnNhID0gMDsKKwlpZiAoKmxzYSAmIExJTlVYX1NTX0RJU0FCTEUp
CisJCSpic2EgfD0gU1NfRElTQUJMRTsKKwlpZiAoKmxzYSAmIExJTlVYX1NTX0RJU0FCTEVf
QkMpCisJCSpic2EgfD0gU1NfRElTQUJMRTsKKwlpZiAoKmxzYSAmIExJTlVYX1NTX09OU1RB
Q0spCisJCSpic2EgfD0gU1NfT05TVEFDSzsKK30KKwordm9pZAorYnNkX3RvX2xpbnV4X3Np
Z2FsdHN0YWNrKGludCAqYnNhLCBpbnQgKmxzYSkKK3sKKwkqbHNhID0gMDsKKwlpZiAoKmJz
YSAmIFNTX0RJU0FCTEUpCisJCSpsc2EgfD0gTElOVVhfU1NfRElTQUJMRTsKKwlpZiAoKmJz
YSAmIFNTX09OU1RBQ0spCisJCSpsc2EgfD0gTElOVVhfU1NfT05TVEFDSzsKK30KKworCisK
IHN0cnVjdCBsaW51eF9kZXNjcmlwdG9yIHsKIAl1bnNpZ25lZCBpbnQgIGVudHJ5X251bWJl
cjsKIAl1bnNpZ25lZCBsb25nIGJhc2VfYWRkcjsKQEAgLTE5NCw5ICsyMjIsOSBAQAogCWlm
IChhcmdzLT5mbGFncyAmIENMT05FX1BJRCkKIAkJcHJpbnRmKCJsaW51eF9jbG9uZSglbGQp
OiBDTE9ORV9QSUQgbm90IHlldCBzdXBwb3J0ZWRcbiIsCiAJCSAgICAobG9uZylwLT5wX3Bp
ZCk7Ci0JcHJpbnRmKCJsaW51eF9jbG9uZSglbGQpOiBpbnZva2VkIHdpdGggZmxhZ3MgJXgg
YW5kIHN0YWNrICV4XG4iLAorCXByaW50ZigibGludXhfY2xvbmUoJWxkKTogaW52b2tlZCB3
aXRoIGZsYWdzIDB4JXggYW5kIHN0YWNrIDB4JWx4XG4iLAogCSAgICAobG9uZylwLT5wX3Bp
ZCwgKHVuc2lnbmVkIGludClhcmdzLT5mbGFncywKLQkgICAgKHVuc2lnbmVkIGludClhcmdz
LT5zdGFjayk7CisJICAgICh1bnNpZ25lZCBsb25nIGludClhcmdzLT5zdGFjayk7CiAjZW5k
aWYKIAogCWlmICghYXJncy0+c3RhY2spCkBAIC0yNTQsNiArMjgyLDE5IEBACiAjZGVmaW5l
IFNUQUNLX1NJWkUgICgyICogMTAyNCAqIDEwMjQpCiAjZGVmaW5lIEdVQVJEX1NJWkUgICg0
ICogUEFHRV9TSVpFKQogCisjaW5jbHVkZSA8dm0vdm0uaD4KKyNpbmNsdWRlIDx2bS92bV9w
YXJhbS5oPgorI2luY2x1ZGUgPHN5cy9sb2NrLmg+CisjaW5jbHVkZSA8dm0vcG1hcC5oPgor
I2luY2x1ZGUgPHZtL3ZtX21hcC5oPgorI2luY2x1ZGUgPHZtL3ZtX3BhZ2UuaD4KKyNpbmNs
dWRlIDx2bS92bV9vYmplY3QuaD4KKyNpbmNsdWRlIDx2bS92bV9wYWdlci5oPgorI2luY2x1
ZGUgPHZtL3ZtX2tlcm4uaD4KKyNpbmNsdWRlIDx2bS92bV9leHRlcm4uaD4KKyNpbmNsdWRl
IDx2bS9zd2FwX3BhZ2VyLmg+CisjaW5jbHVkZSA8dm0vdm1fem9uZS5oPgorCiBpbnQKIGxp
bnV4X21tYXAoc3RydWN0IHByb2MgKnAsIHN0cnVjdCBsaW51eF9tbWFwX2FyZ3MgKmFyZ3Mp
CiB7CkBAIC0yNzQsNyArMzE1LDcgQEAKIAkJcmV0dXJuIChlcnJvcik7CiAKICNpZmRlZiBE
RUJVRwotCXByaW50ZigiTGludXgtZW11bCglbGQpOiBtbWFwKCVwLCAlZCwgJWQsIDB4JTA4
eCwgJWQsICVkKSIsCisJcHJpbnRmKCJMaW51eC1lbXVsKCVsZCk6IG1tYXAoJXAsICVkLCAl
ZCwgMHglMDh4LCAlZCwgJWQpXG4iLAogCSAgICAobG9uZylwLT5wX3BpZCwgKHZvaWQgKils
aW51eF9hcmdzLmFkZHIsIGxpbnV4X2FyZ3MubGVuLAogCSAgICBsaW51eF9hcmdzLnByb3Qs
IGxpbnV4X2FyZ3MuZmxhZ3MsIGxpbnV4X2FyZ3MuZmQsIGxpbnV4X2FyZ3MucG9zKTsKICNl
bmRpZgpAQCAtMjg5LDcgKzMzMCw3IEBACiAJaWYgKGxpbnV4X2FyZ3MuZmxhZ3MgJiBMSU5V
WF9NQVBfQU5PTikKIAkJYnNkX2FyZ3MuZmxhZ3MgfD0gTUFQX0FOT047CiAJaWYgKGxpbnV4
X2FyZ3MuZmxhZ3MgJiBMSU5VWF9NQVBfR1JPV1NET1dOKSB7Ci0JCWJzZF9hcmdzLmZsYWdz
IHw9IE1BUF9TVEFDSzsKKwkJYnNkX2FyZ3MuZmxhZ3MgfD0gTUFQX1NUQUNLOyAvKk1BUF9B
Tk9OOyBYWFhYWFhYIGdhbGxhdGluKi8KIAogCQkvKiBUaGUgbGludXggTUFQX0dST1dTRE9X
TiBvcHRpb24gZG9lcyBub3QgbGltaXQgYXV0bwogCQkgKiBncm93dGggb2YgdGhlIHJlZ2lv
bi4gIExpbnV4IG1tYXAgd2l0aCB0aGlzIG9wdGlvbgpAQCAtMzE1LDYgKzM1NiwxOSBAQAog
CQkvKiBUaGlzIGdpdmVzIHVzIFRPUyAqLwogCQlic2RfYXJncy5hZGRyID0gbGludXhfYXJn
cy5hZGRyICsgbGludXhfYXJncy5sZW47CiAKKwkJaWYgKGJzZF9hcmdzLmFkZHIgPiBwLT5w
X3Ztc3BhY2UtPnZtX21heHNhZGRyKSB7CisjaWZkZWYgREVCVUcKKwkJCXVwcmludGYoIm1t
YXA6IGFkZHIgPSAlcCA+IHZtX21heHNhZGRyID0gJXAsIiwgCisJCQkgICAgYnNkX2FyZ3Mu
YWRkciwgcC0+cF92bXNwYWNlLT52bV9tYXhzYWRkcik7CisjZW5kaWYKKwkJCXAtPnBfdm1z
cGFjZS0+dm1fbWF4c2FkZHIgPSAoY2hhciAqKVVTUlNUQUNLIC0KKwkJCSAgICBwLT5wX3Js
aW1pdFtSTElNSVRfU1RBQ0tdLnJsaW1fY3VyOworI2lmZGVmIERFQlVHCisJCQl1cHJpbnRm
KCJzaGlmdGluZyB2bV9tYXhzYWRkciB1cCB0byA9ICVwXG4iLCAKKwkJCSAgICBwLT5wX3Zt
c3BhY2UtPnZtX21heHNhZGRyKTsKKyNlbmRpZgorCQl9CisKIAkJLyogVGhpcyBnaXZlcyB1
cyBvdXIgbWF4aW11bSBzdGFjayBzaXplICovCiAJCWlmIChsaW51eF9hcmdzLmxlbiA+IFNU
QUNLX1NJWkUgLSBHVUFSRF9TSVpFKQogCQkJYnNkX2FyZ3MubGVuID0gbGludXhfYXJncy5s
ZW47CkBAIC02MDYsMTUgKzY2MCwyNSBAQAogCSAgICAobG9uZylwLT5wX3BpZCwgdWFwLT51
c3MsIHVhcC0+dW9zcyk7CiAjZW5kaWYKIAotCWVycm9yID0gY29weWluKHVhcC0+dXNzLCAm
bHNzLCBzaXplb2YobGludXhfc3RhY2tfdCkpOwotCWlmIChlcnJvcikKLQkJcmV0dXJuIChl
cnJvcik7Ci0KLQlzcyA9IHN0YWNrZ2FwX2FsbG9jKCZzZywgc2l6ZW9mKHN0YWNrX3QpKTsK
LQlzcy0+c3Nfc3AgPSBsc3Muc3Nfc3A7Ci0Jc3MtPnNzX3NpemUgPSBsc3Muc3Nfc2l6ZTsK
LQlzcy0+c3NfZmxhZ3MgPSBsc3Muc3NfZmxhZ3M7CisJaWYgKHVhcC0+dXNzID09IDApIHsK
KwkJc3MgPSBOVUxMOworCX0gZWxzZSB7CisJCWVycm9yID0gY29weWluKHVhcC0+dXNzLCAm
bHNzLCBzaXplb2YobGludXhfc3RhY2tfdCkpOworCQlpZiAoZXJyb3IpCisJCQlyZXR1cm4g
KGVycm9yKTsKIAorCQlzcyA9IHN0YWNrZ2FwX2FsbG9jKCZzZywgc2l6ZW9mKHN0YWNrX3Qp
KTsKKyAKKwkJc3MtPnNzX3NwID0gbHNzLnNzX3NwOworCQlzcy0+c3Nfc2l6ZSA9IChsc3Mu
c3Nfc2l6ZSA+PSBMSU5VWF9NSU5TSUdTVEtTWiAmJgorCQkgICAgbHNzLnNzX3NpemUgPCBN
SU5TSUdTVEtTWikgPyBNSU5TSUdTVEtTWiA6IGxzcy5zc19zaXplOworCQlzcy0+c3NfZmxh
Z3MgPSBsc3Muc3NfZmxhZ3M7CisjaWZkZWYgREVCVUcKKwkJdXByaW50ZigiTGludXgtZW11
bCglbGQpOiBzaWdhbHRzdGFjayBmbGFncyA9IDB4JXgsIHNwID0gJXAsIG9sZHNwID0gJXBc
biIsCisJCShsb25nKXAtPnBfcGlkLCAgc3MtPnNzX2ZsYWdzLCBsc3Muc3Nfc3AsIHAtPnBf
c2lnc3RrLnNzX3NwKTsKKyNlbmRpZgorCQlsaW51eF90b19ic2Rfc2lnYWx0c3RhY2soJmxz
cy5zc19mbGFncywgJnNzLT5zc19mbGFncyk7CisJfQogCW9zcyA9ICh1YXAtPnVvc3MgIT0g
TlVMTCkKIAkgICAgPyBzdGFja2dhcF9hbGxvYygmc2csIHNpemVvZihzdGFja190KSkKIAkg
ICAgOiBOVUxMOwpAQCAtNjI2LDcgKzY5MCw3IEBACiAJaWYgKCFlcnJvciAmJiBvc3MgIT0g
TlVMTCkgewogCQlsc3Muc3Nfc3AgPSBvc3MtPnNzX3NwOwogCQlsc3Muc3Nfc2l6ZSA9IG9z
cy0+c3Nfc2l6ZTsKLQkJbHNzLnNzX2ZsYWdzID0gb3NzLT5zc19mbGFnczsKKwkJYnNkX3Rv
X2xpbnV4X3NpZ2FsdHN0YWNrKCZvc3MtPnNzX2ZsYWdzLCAmbHNzLnNzX2ZsYWdzKTsKIAkJ
ZXJyb3IgPSBjb3B5b3V0KCZsc3MsIHVhcC0+dW9zcywgc2l6ZW9mKGxpbnV4X3N0YWNrX3Qp
KTsKIAl9CiAKZGlmZiAtdXIgc3lzLk9SRy9pMzg2L2xpbnV4L2xpbnV4X3Byb3RvLmggc3lz
L2kzODYvbGludXgvbGludXhfcHJvdG8uaAotLS0gc3lzLk9SRy9pMzg2L2xpbnV4L2xpbnV4
X3Byb3RvLmgJV2VkIEF1ZyAgOSAwODoyODoxNiAyMDAwCisrKyBzeXMvaTM4Ni9saW51eC9s
aW51eF9wcm90by5oCVRodSBGZWIgMjIgMjM6Mzk6NDYgMjAwMQpAQCAtMiw3ICsyLDcgQEAK
ICAqIFN5c3RlbSBjYWxsIHByb3RvdHlwZXMuCiAgKgogICogRE8gTk9UIEVESVQtLSB0aGlz
IGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuCi0gKiAkRnJlZUJTRDogc3JjL3N5
cy9pMzg2L2xpbnV4L2xpbnV4X3Byb3RvLmgsdiAxLjMyLjIuMyAyMDAwLzA4LzA4IDIzOjI4
OjE2IHBldGVyIEV4cCAkCisgKiAkRnJlZUJTRCQKICAqIGNyZWF0ZWQgZnJvbSBGcmVlQlNE
OiBzcmMvc3lzL2kzODYvbGludXgvc3lzY2FsbHMubWFzdGVyLHYgMS4zMC4yLjIgMjAwMC8w
Ny8xOSAyMToxMToxMCBtYXJjZWwgRXhwIAogICovCiAKQEAgLTQ1MSw5ICs0NTEsOSBAQAog
c3RydWN0CWxpbnV4X3ByY3RsX2FyZ3MgewogCXJlZ2lzdGVyX3QgZHVtbXk7CiB9Owotc3Ry
dWN0CWxpbnV4X3J0X3NpZ3JldHVybl9hcmdzIHsKLQlyZWdpc3Rlcl90IGR1bW15OwotfTsK
KyBzdHJ1Y3QJbGludXhfcnRfc2lncmV0dXJuX2FyZ3MgeworCXN0cnVjdCBsaW51eF91Y29u
dGV4dCAqCXVjcDsJY2hhciB1Y3BfW1BBRF8oc3RydWN0IGxpbnV4X3Vjb250ZXh0ICopXTsK
KyB9Owogc3RydWN0CWxpbnV4X3J0X3NpZ2FjdGlvbl9hcmdzIHsKIAlpbnQJc2lnOwljaGFy
IHNpZ19bUEFEXyhpbnQpXTsKIAlsaW51eF9zaWdhY3Rpb25fdCAqCWFjdDsJY2hhciBhY3Rf
W1BBRF8obGludXhfc2lnYWN0aW9uX3QgKildOwpkaWZmIC11ciBzeXMuT1JHL2kzODYvbGlu
dXgvbGludXhfc3lzY2FsbC5oIHN5cy9pMzg2L2xpbnV4L2xpbnV4X3N5c2NhbGwuaAotLS0g
c3lzLk9SRy9pMzg2L2xpbnV4L2xpbnV4X3N5c2NhbGwuaAlXZWQgQXVnICA5IDA4OjI4OjE2
IDIwMDAKKysrIHN5cy9pMzg2L2xpbnV4L2xpbnV4X3N5c2NhbGwuaAlUaHUgRmViIDIyIDIz
OjQxOjEyIDIwMDEKQEAgLTIsNyArMiw3IEBACiAgKiBTeXN0ZW0gY2FsbCBudW1iZXJzLgog
ICoKICAqIERPIE5PVCBFRElULS0gdGhpcyBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ2VuZXJh
dGVkLgotICogJEZyZWVCU0Q6IHNyYy9zeXMvaTM4Ni9saW51eC9saW51eF9zeXNjYWxsLmgs
diAxLjI3LjIuMyAyMDAwLzA4LzA4IDIzOjI4OjE2IHBldGVyIEV4cCAkCisgKiAkRnJlZUJT
RCQKICAqIGNyZWF0ZWQgZnJvbSBGcmVlQlNEOiBzcmMvc3lzL2kzODYvbGludXgvc3lzY2Fs
bHMubWFzdGVyLHYgMS4zMC4yLjIgMjAwMC8wNy8xOSAyMToxMToxMCBtYXJjZWwgRXhwIAog
ICovCiAKZGlmZiAtdXIgc3lzLk9SRy9pMzg2L2xpbnV4L2xpbnV4X3N5c2VudC5jIHN5cy9p
Mzg2L2xpbnV4L2xpbnV4X3N5c2VudC5jCi0tLSBzeXMuT1JHL2kzODYvbGludXgvbGludXhf
c3lzZW50LmMJV2VkIEF1ZyAgOSAwODoyODoxNiAyMDAwCisrKyBzeXMvaTM4Ni9saW51eC9s
aW51eF9zeXNlbnQuYwlUaHUgRmViIDIyIDIzOjQzOjQxIDIwMDEKQEAgLTIsNyArMiw3IEBA
CiAgKiBTeXN0ZW0gY2FsbCBzd2l0Y2ggdGFibGUuCiAgKgogICogRE8gTk9UIEVESVQtLSB0
aGlzIGZpbGUgaXMgYXV0b21hdGljYWxseSBnZW5lcmF0ZWQuCi0gKiAkRnJlZUJTRDogc3Jj
L3N5cy9pMzg2L2xpbnV4L2xpbnV4X3N5c2VudC5jLHYgMS4zMy4yLjMgMjAwMC8wOC8wOCAy
MzoyODoxNiBwZXRlciBFeHAgJAorICogJEZyZWVCU0QkCiAgKiBjcmVhdGVkIGZyb20gRnJl
ZUJTRDogc3JjL3N5cy9pMzg2L2xpbnV4L3N5c2NhbGxzLm1hc3Rlcix2IDEuMzAuMi4yIDIw
MDAvMDcvMTkgMjE6MTE6MTAgbWFyY2VsIEV4cCAKICAqLwogCkBAIC0xOTAsNyArMTkwLDcg
QEAKIAl7IEFTKHNldHJlc2dpZF9hcmdzKSwgKHN5X2NhbGxfdCAqKXNldHJlc2dpZCB9LAkv
KiAxNzAgPSBzZXRyZXNnaWQgKi8KIAl7IEFTKGxpbnV4X2dldHJlc2dpZF9hcmdzKSwgKHN5
X2NhbGxfdCAqKWxpbnV4X2dldHJlc2dpZCB9LAkvKiAxNzEgPSBsaW51eF9nZXRyZXNnaWQg
Ki8KIAl7IDAsIChzeV9jYWxsX3QgKilsaW51eF9wcmN0bCB9LAkJLyogMTcyID0gbGludXhf
cHJjdGwgKi8KLQl7IDAsIChzeV9jYWxsX3QgKilsaW51eF9ydF9zaWdyZXR1cm4gfSwJCS8q
IDE3MyA9IGxpbnV4X3J0X3NpZ3JldHVybiAqLworCXsgQVMobGludXhfcnRfc2lncmV0dXJu
X2FyZ3MpLCAoc3lfY2FsbF90ICopbGludXhfcnRfc2lncmV0dXJuIH0sCS8qIDE3MyA9IGxp
bnV4X3J0X3NpZ3JldHVybiAqLwogCXsgQVMobGludXhfcnRfc2lnYWN0aW9uX2FyZ3MpLCAo
c3lfY2FsbF90ICopbGludXhfcnRfc2lnYWN0aW9uIH0sCS8qIDE3NCA9IGxpbnV4X3J0X3Np
Z2FjdGlvbiAqLwogCXsgQVMobGludXhfcnRfc2lncHJvY21hc2tfYXJncyksIChzeV9jYWxs
X3QgKilsaW51eF9ydF9zaWdwcm9jbWFzayB9LAkvKiAxNzUgPSBsaW51eF9ydF9zaWdwcm9j
bWFzayAqLwogCXsgMCwgKHN5X2NhbGxfdCAqKWxpbnV4X3J0X3NpZ3BlbmRpbmcgfSwJLyog
MTc2ID0gbGludXhfcnRfc2lncGVuZGluZyAqLwpkaWZmIC11ciBzeXMuT1JHL2kzODYvbGlu
dXgvbGludXhfc3lzdmVjLmMgc3lzL2kzODYvbGludXgvbGludXhfc3lzdmVjLmMKLS0tIHN5
cy5PUkcvaTM4Ni9saW51eC9saW51eF9zeXN2ZWMuYwlUaHUgTm92ICAyIDA0OjI1OjMxIDIw
MDAKKysrIHN5cy9pMzg2L2xpbnV4L2xpbnV4X3N5c3ZlYy5jCVRodSBGZWIgMjIgMjM6NTI6
MjAgMjAwMQpAQCAtMzgsNiArMzgsNyBAQAogI2luY2x1ZGUgPHN5cy9wYXJhbS5oPgogI2lu
Y2x1ZGUgPHN5cy9zeXN0bS5oPgogI2luY2x1ZGUgPHN5cy9wcm9jLmg+CisjaW5jbHVkZSA8
c3lzL3N5c3Byb3RvLmg+CiAjaW5jbHVkZSA8c3lzL3N5c2VudC5oPgogI2luY2x1ZGUgPHN5
cy9pbWdhY3QuaD4KICNpbmNsdWRlIDxzeXMvaW1nYWN0X2FvdXQuaD4KQEAgLTE5MCw2ICsx
OTEsMTM3IEBACiB9CiAKIGV4dGVybiBpbnQgX3Vjb2Rlc2VsLCBfdWRhdGFzZWw7CitleHRl
cm4gdW5zaWduZWQgbG9uZyBfbGludXhfc3pub25ydHNpZ2NvZGU7CisgCisKK3N0YXRpYyB2
b2lkCitsaW51eF9ydF9zZW5kc2lnKHNpZ190IGNhdGNoZXIsIGludCBzaWcsIHNpZ3NldF90
ICptYXNrLCB1X2xvbmcgY29kZSkKK3sKKwlyZWdpc3RlciBzdHJ1Y3QgcHJvYyAqcCA9IGN1
cnByb2M7CisJcmVnaXN0ZXIgc3RydWN0IHRyYXBmcmFtZSAqcmVnczsKKwlzdHJ1Y3QgbGlu
dXhfcnRfc2lnZnJhbWUgKmZwLCBmcmFtZTsKKwlzdHJ1Y3Qgc2lnYWN0cyAqcHNwID0gcC0+
cF9zaWdhY3RzOworCWludCBvb25zdGFjazsKKworCXJlZ3MgPSBwLT5wX21kLm1kX3JlZ3M7
CisJb29uc3RhY2sgPSBwLT5wX3NpZ3N0ay5zc19mbGFncyAmIFNTX09OU1RBQ0s7CisKKyNp
ZmRlZiBERUJVRworCXByaW50ZigiTGludXgtZW11bCglbGQpOiBsaW51eF9ydF9zZW5kc2ln
KCVwLCAlZCwgJXAsICVsdSlcbiIsCisJCShsb25nKXAtPnBfcGlkLCBjYXRjaGVyLCBzaWcs
ICh2b2lkKiltYXNrLCBjb2RlKTsKKyNlbmRpZgorCS8qCisJICogQWxsb2NhdGUgc3BhY2Ug
Zm9yIHRoZSBzaWduYWwgaGFuZGxlciBjb250ZXh0LgorCSAqLworCWlmICgocC0+cF9mbGFn
ICYgUF9BTFRTVEFDSykgJiYgIW9vbnN0YWNrICYmCisJIAlTSUdJU01FTUJFUihwc3AtPnBz
X3NpZ29uc3RhY2ssIHNpZykpIHsKKwkJZnAgPSAoc3RydWN0IGxpbnV4X3J0X3NpZ2ZyYW1l
ICopKHAtPnBfc2lnc3RrLnNzX3NwICsKKwkJCXAtPnBfc2lnc3RrLnNzX3NpemUgLSBzaXpl
b2Yoc3RydWN0IGxpbnV4X3J0X3NpZ2ZyYW1lKSk7CisJCXAtPnBfc2lnc3RrLnNzX2ZsYWdz
IHw9IFNTX09OU1RBQ0s7CisJfSBlbHNlIHsKKwkJZnAgPSAoc3RydWN0IGxpbnV4X3J0X3Np
Z2ZyYW1lICopcmVncy0+dGZfZXNwIC0gMTsKKwl9CisKKwkvKgorCSAqIGdyb3coKSB3aWxs
IHJldHVybiBGQUxTRSBpZiB0aGUgZnAgd2lsbCBub3QgZml0IGluc2lkZSB0aGUgc3RhY2sK
KwkgKiAgICAgIGFuZCB0aGUgc3RhY2sgY2FuIG5vdCBiZSBncm93bi4gdXNlcmFjYyB3aWxs
IHJldHVybiBGQUxTRQorCSAqICAgICAgaWYgYWNjZXNzIGlzIGRlbmllZC4KKwkgKi8KKwlp
ZiAoKGdyb3dfc3RhY2sgKHAsIChpbnQpZnApID09IEZBTFNFKSB8fAorCQkhdXNlcmFjYygo
Y2FkZHJfdClmcCwgc2l6ZW9mIChzdHJ1Y3QgbGludXhfcnRfc2lnZnJhbWUpLCAKKwkJVk1f
UFJPVF9XUklURSkpIHsKKwkJLyoKKwkJICogUHJvY2VzcyBoYXMgdHJhc2hlZCBpdHMgc3Rh
Y2s7IGdpdmUgaXQgYW4gaWxsZWdhbAorCQkgKiBpbnN0cnVjdGlvbiB0byBoYWx0IGl0IGlu
IGl0cyB0cmFja3MuCisJCSAqLworCQlTSUdBQ1RJT04ocCwgU0lHSUxMKSA9IFNJR19ERkw7
CisJCVNJR0RFTFNFVChwLT5wX3NpZ2lnbm9yZSwgU0lHSUxMKTsKKwkJU0lHREVMU0VUKHAt
PnBfc2lnY2F0Y2gsIFNJR0lMTCk7CisJCVNJR0RFTFNFVChwLT5wX3NpZ21hc2ssIFNJR0lM
TCk7CisjaWZkZWYgREVCVUcKKwlwcmludGYoIkxpbnV4LWVtdWwoJWxkKTogbGludXhfcnRf
c2VuZHNpZyAtLSBiYWQgc3RhY2sgJXAsIFNTX09OU1RBQ0s6IDB4JXggIiwKKwkobG9uZylw
LT5wX3BpZCwgZnAsIHAtPnBfc2lnc3RrLnNzX2ZsYWdzICYgU1NfT05TVEFDSyk7CisjZW5k
aWYKKwkJcHNpZ25hbChwLCBTSUdJTEwpOworCQlyZXR1cm47CisJfQorCisJLyoKKwkgKiBC
dWlsZCB0aGUgYXJndW1lbnQgbGlzdCBmb3IgdGhlIHNpZ25hbCBoYW5kbGVyLgorCSAqLwor
CWlmIChwLT5wX3N5c2VudC0+c3Zfc2lndGJsKQorCQlpZiAoc2lnIDw9IHAtPnBfc3lzZW50
LT5zdl9zaWdzaXplKQorCQkJc2lnID0gcC0+cF9zeXNlbnQtPnN2X3NpZ3RibFtfU0lHX0lE
WChzaWcpXTsKKwkKKwlmcmFtZS5zZl9oYW5kbGVyID0gY2F0Y2hlcjsKKwlmcmFtZS5zZl9z
aWcgPSBzaWc7CisKKwlmcmFtZS5zZl9zaWdpbmZvID0gJmZwLT5zZl9zaTsKKwlmcmFtZS5z
Zl91Y29udGV4dCA9ICZmcC0+c2Zfc2M7CisJLyogRmlsbCBzaWdpbmZvIHN0cnVjdHVyZS4g
Ki8KKwlmcmFtZS5zZl9zaS5sc2lfc2lnbm8gPSBzaWc7CisJZnJhbWUuc2Zfc2kubHNpX2Nv
ZGUgPSBjb2RlOworCWZyYW1lLnNmX3NpLmxzaV9hZGRyID0gKHZvaWQgKilyZWdzLT50Zl9l
cnI7CisJLyoKKwkgKiBCdWlsZCB0aGUgc2lnbmFsIGNvbnRleHQgdG8gYmUgdXNlZCBieSBz
aWdyZXR1cm4uCisJICovCisJZnJhbWUuc2Zfc2MudWNfbWNvbnRleHQuc2NfbWFzayAgID0g
bWFzay0+X19iaXRzWzBdOworCWZyYW1lLnNmX3NjLnVjX21jb250ZXh0LnNjX2dzICAgICA9
IHJncygpOworCWZyYW1lLnNmX3NjLnVjX21jb250ZXh0LnNjX2ZzICAgICA9IHJlZ3MtPnRm
X2ZzOworCWZyYW1lLnNmX3NjLnVjX21jb250ZXh0LnNjX2VzICAgICA9IHJlZ3MtPnRmX2Vz
OworCWZyYW1lLnNmX3NjLnVjX21jb250ZXh0LnNjX2RzICAgICA9IHJlZ3MtPnRmX2RzOwor
CWZyYW1lLnNmX3NjLnVjX21jb250ZXh0LnNjX2VkaSAgICA9IHJlZ3MtPnRmX2VkaTsKKwlm
cmFtZS5zZl9zYy51Y19tY29udGV4dC5zY19lc2kgICAgPSByZWdzLT50Zl9lc2k7CisJZnJh
bWUuc2Zfc2MudWNfbWNvbnRleHQuc2NfZWJwICAgID0gcmVncy0+dGZfZWJwOworCWZyYW1l
LnNmX3NjLnVjX21jb250ZXh0LnNjX2VieCAgICA9IHJlZ3MtPnRmX2VieDsKKwlmcmFtZS5z
Zl9zYy51Y19tY29udGV4dC5zY19lZHggICAgPSByZWdzLT50Zl9lZHg7CisJZnJhbWUuc2Zf
c2MudWNfbWNvbnRleHQuc2NfZWN4ICAgID0gcmVncy0+dGZfZWN4OworCWZyYW1lLnNmX3Nj
LnVjX21jb250ZXh0LnNjX2VheCAgICA9IHJlZ3MtPnRmX2VheDsKKwlmcmFtZS5zZl9zYy51
Y19tY29udGV4dC5zY19laXAgICAgPSByZWdzLT50Zl9laXA7CisJZnJhbWUuc2Zfc2MudWNf
bWNvbnRleHQuc2NfY3MgICAgID0gcmVncy0+dGZfY3M7CisJZnJhbWUuc2Zfc2MudWNfbWNv
bnRleHQuc2NfZWZsYWdzID0gcmVncy0+dGZfZWZsYWdzOworCWZyYW1lLnNmX3NjLnVjX21j
b250ZXh0LnNjX2VzcF9hdF9zaWduYWwgPSByZWdzLT50Zl9lc3A7CisJZnJhbWUuc2Zfc2Mu
dWNfbWNvbnRleHQuc2Nfc3MgICAgID0gcmVncy0+dGZfc3M7CisJZnJhbWUuc2Zfc2MudWNf
bWNvbnRleHQuc2NfZXJyICAgID0gcmVncy0+dGZfZXJyOworCWZyYW1lLnNmX3NjLnVjX21j
b250ZXh0LnNjX3RyYXBubyA9IGNvZGU7ICAgICAgIC8qIFhYWCA/Pz8/ICovCisKKwkvKgor
CSAqIEJ1aWxkIHRoZSByZW1haW5kZXIgb2YgdGhlIHVjb250ZXh0IHN0cnVjdCB0byBiZSB1
c2VkIGJ5IHNpZ3JldHVybi4KKwkgKi8KKwlmcmFtZS5zZl9zYy51Y19mbGFncyA9IDA7ICAg
ICAgICAgICAgICAgLyogWFhYID8/PyAqLworCWZyYW1lLnNmX3NjLnVjX2xpbmsgPSBOVUxM
OyAgICAgICAgICAgICAvKiBYWFggPz8/ICovCisJZnJhbWUuc2Zfc2MudWNfc3RhY2suc3Nf
c3AgPSBwLT5wX3NpZ3N0ay5zc19zcDsKKwlic2RfdG9fbGludXhfc2lnYWx0c3RhY2soJnAt
PnBfc2lnc3RrLnNzX2ZsYWdzLCAmZnJhbWUuc2Zfc2MudWNfc3RhY2suc3NfZmxhZ3MpOwor
CWZyYW1lLnNmX3NjLnVjX3N0YWNrLnNzX3NpemUgPSBwLT5wX3NpZ3N0ay5zc19zaXplOwor
I2lmZGVmIERFQlVHCisJcHJpbnRmKCJMaW51eC1lbXVsKCVsZCk6IHJ0X3NlbmRzaWcgZmxh
Z3M6IDB4JXgsIHNwOiAlcCwgc3M6IDB4JXgsIG1hc2s6IDB4JXhcbiIsCisJKGxvbmcpcC0+
cF9waWQsIGZyYW1lLnNmX3NjLnVjX3N0YWNrLnNzX2ZsYWdzLCAgcC0+cF9zaWdzdGsuc3Nf
c3AsIAorCQlwLT5wX3NpZ3N0ay5zc19zaXplLCBmcmFtZS5zZl9zYy51Y19tY29udGV4dC5z
Y19tYXNrKTsKKyNlbmRpZgorCWJzZF90b19saW51eF9zaWdzZXQoJnAtPnBfc2lnbWFzaywg
JmZyYW1lLnNmX3NjLnVjX3NpZ21hc2spOworCisJaWYgKGNvcHlvdXQoJmZyYW1lLCBmcCwg
c2l6ZW9mKGZyYW1lKSkgIT0gMCkgeworCQkvKgorCQkgKiBQcm9jZXNzIGhhcyB0cmFzaGVk
IGl0cyBzdGFjazsgZ2l2ZSBpdCBhbiBpbGxlZ2FsCisJCSAqIGluc3RydWN0aW9uIHRvIGhh
bHQgaXQgaW4gaXRzIHRyYWNrcy4KKwkJICovCisJCXNpZ2V4aXQocCwgU0lHSUxMKTsKKwkJ
LyogTk9UUkVBQ0hFRCAqLworCX0KKworCS8qCisJICogQnVpbGQgY29udGV4dCB0byBydW4g
aGFuZGxlciBpbi4KKwkgKi8KKwlyZWdzLT50Zl9lc3AgPSAoaW50KWZwOworCXJlZ3MtPnRm
X2VpcCA9IFBTX1NUUklOR1MgLSAqKHAtPnBfc3lzZW50LT5zdl9zenNpZ2NvZGUpICsgX2xp
bnV4X3N6bm9ucnRzaWdjb2RlOworCXJlZ3MtPnRmX2VmbGFncyAmPSB+UFNMX1ZNOworCXJl
Z3MtPnRmX2NzID0gX3Vjb2Rlc2VsOworCXJlZ3MtPnRmX2RzID0gX3VkYXRhc2VsOworCXJl
Z3MtPnRmX2VzID0gX3VkYXRhc2VsOworCXJlZ3MtPnRmX2ZzID0gX3VkYXRhc2VsOworCWxv
YWRfZ3MoX3VkYXRhc2VsKTsKKwlyZWdzLT50Zl9zcyA9IF91ZGF0YXNlbDsKK30KIAogLyoK
ICAqIFNlbmQgYW4gaW50ZXJydXB0IHRvIHByb2Nlc3MuCkBAIC0yMTUsOSArMzQ3LDE2IEBA
CiAJb29uc3RhY2sgPSBwLT5wX3NpZ3N0ay5zc19mbGFncyAmIFNTX09OU1RBQ0s7CiAKICNp
ZmRlZiBERUJVRwotCXByaW50ZigiTGludXgtZW11bCglbGQpOiBsaW51eF9zZW5kc2lnKCVw
LCAlZCwgJXAsICVsdSlcbiIsCisJcHJpbnRmKCJMaW51eC1lbXVsKCVsZCk6IGxpbnV4X3Nl
bmRzaWcoJXAsICVkLCAlcCwgJWx1KSIsCiAJICAgIChsb25nKXAtPnBfcGlkLCBjYXRjaGVy
LCBzaWcsICh2b2lkKiltYXNrLCBjb2RlKTsKICNlbmRpZgorCisJaWYgKFNJR0lTTUVNQkVS
KHAtPnBfc2lnYWN0cy0+cHNfc2lnaW5mbywgc2lnKSkgeworCQkvKiBTaWduYWwgaGFuZGxl
ciBpbnN0YWxsZWQgd2l0aCBTQV9TSUdJTkZPLiAqLworCQlsaW51eF9ydF9zZW5kc2lnKGNh
dGNoZXIsIHNpZywgbWFzaywgY29kZSk7CisJCXJldHVybjsKKwl9CisKIAkvKgogCSAqIEFs
bG9jYXRlIHNwYWNlIGZvciB0aGUgc2lnbmFsIGhhbmRsZXIgY29udGV4dC4KIAkgKi8KQEAg
LTM5Nyw2ICs1MzYsMTIwIEBACiAJcmV0dXJuIChFSlVTVFJFVFVSTik7CiB9CiAKKworLyoK
KyAqIFN5c3RlbSBjYWxsIHRvIGNsZWFudXAgc3RhdGUgYWZ0ZXIgYSBzaWduYWwKKyAqIGhh
cyBiZWVuIHRha2VuLiAgUmVzZXQgc2lnbmFsIG1hc2sgYW5kCisgKiBzdGFjayBzdGF0ZSBm
cm9tIGNvbnRleHQgbGVmdCBieSBzZW5kc2lnIChhYm92ZSkuCisgKiBSZXR1cm4gdG8gcHJl
dmlvdXMgcGMgYW5kIHBzbCBhcyBzcGVjaWZpZWQgYnkKKyAqIGNvbnRleHQgbGVmdCBieSBz
ZW5kc2lnLiBDaGVjayBjYXJlZnVsbHkgdG8KKyAqIG1ha2Ugc3VyZSB0aGF0IHRoZSB1c2Vy
IGhhcyBub3QgbW9kaWZpZWQgdGhlCisgKiBwc2wgdG8gZ2FpbiBpbXByb3BlciBwcml2aWxl
Z2VzIG9yIHRvIGNhdXNlCisgKiBhIG1hY2hpbmUgZmF1bHQuCisgKi8KK2ludAorbGludXhf
cnRfc2lncmV0dXJuKHAsIGFyZ3MpCisJc3RydWN0IHByb2MgKnA7CisJc3RydWN0IGxpbnV4
X3J0X3NpZ3JldHVybl9hcmdzICphcmdzOworeworCXN0cnVjdCBzaWdhbHRzdGFja19hcmdz
IHNhc2FyZ3M7CisJc3RydWN0IGxpbnV4X3Vjb250ZXh0ICAgIHVjOworCXN0cnVjdCBsaW51
eF9zaWdjb250ZXh0ICpjb250ZXh0OworCWxpbnV4X3N0YWNrX3QgKmxzczsKKwlzdGFja190
ICpzczsKKwlyZWdpc3RlciBzdHJ1Y3QgdHJhcGZyYW1lICpyZWdzOworCWludCBlZmxhZ3M7
CisJY2FkZHJfdCBzZyA9IHN0YWNrZ2FwX2luaXQoKTsKKworCXJlZ3MgPSBwLT5wX21kLm1k
X3JlZ3M7CisKKyNpZmRlZiBERUJVRworCXByaW50ZigiTGludXgtZW11bCglbGQpOiBsaW51
eF9ydF9zaWdyZXR1cm4oJXApXG4iLAorCQkobG9uZylwLT5wX3BpZCwgKHZvaWQgKilhcmdz
LT51Y3ApOworI2VuZGlmCisJLyoKKwkgKiBUaGUgdHJhbXBvbGluZSBjb2RlIGhhbmRzIHVz
IHRoZSB1X2NvbnRleHQuCisJICogSXQgaXMgdW5zYWZlIHRvIGtlZXAgdHJhY2sgb2YgaXQg
b3Vyc2VsdmVzLCBpbiB0aGUgZXZlbnQgdGhhdCBhCisJICogcHJvZ3JhbSBqdW1wcyBvdXQg
b2YgYSBzaWduYWwgaGFuZGxlci4KKwkgKi8KKwlpZiAoY29weWluKChjYWRkcl90KWFyZ3Mt
PnVjcCwgJnVjLCBzaXplb2YodWMpKSAhPSAwKQorCQlyZXR1cm4gKEVGQVVMVCk7CisKKwlj
b250ZXh0ID0gJnVjLnVjX21jb250ZXh0OworCisJLyoKKwkgKiBDaGVjayBmb3Igc2VjdXJp
dHkgdmlvbGF0aW9ucy4KKwkgKi8KKyNkZWZpbmUJCUVGTEFHU19TRUNVUkUoZWYsIG9lZikg
ICgoKChlZikgXiAob2VmKSkgJiB+UFNMX1VTRVJDSEFOR0UpID09IDApCisJZWZsYWdzID0g
Y29udGV4dC0+c2NfZWZsYWdzOworCS8qCisJICogWFhYIGRvIGFsbG93IHVzZXJzIHRvIGNo
YW5nZSB0aGUgcHJpdmlsZWdlZCBmbGFnIFBTTF9SRi4gIFRoZQorCSAqIGNwdSBzZXRzIFBT
TF9SRiBpbiB0Zl9lZmxhZ3MgZm9yIGZhdWx0cy4gIERlYnVnZ2VycyBzaG91bGQKKwkgKiBz
b21ldGltZXMgc2V0IGl0IHRoZXJlIHRvby4gIHRmX2VmbGFncyBpcyBrZXB0IGluIHRoZSBz
aWduYWwKKwkgKiBjb250ZXh0IGR1cmluZyBzaWduYWwgaGFuZGxpbmcgYW5kIHRoZXJlIGlz
IG5vIG90aGVyIHBsYWNlCisJICogdG8gcmVtZW1iZXIgaXQsIHNvIHRoZSBQU0xfUkYgYml0
IG1heSBiZSBjb3JydXB0ZWQgYnkgdGhlCisJICogc2lnbmFsIGhhbmRsZXIgd2l0aG91dCB1
cyBrbm93aW5nLiAgQ29ycnVwdGlvbiBvZiB0aGUgUFNMX1JGCisJICogYml0IGF0IHdvcnN0
IGNhdXNlcyBvbmUgbW9yZSBvciBvbmUgbGVzcyBkZWJ1Z2dlciB0cmFwLCBzbworCSAqIGFs
bG93aW5nIGl0IGlzIGZhaXJseSBoYXJtbGVzcy4KKwkgKi8KKwlpZiAoIUVGTEFHU19TRUNV
UkUoZWZsYWdzICYgflBTTF9SRiwgcmVncy0+dGZfZWZsYWdzICYgflBTTF9SRikpIHsKKwkJ
cmV0dXJuKEVJTlZBTCk7CisJfQorCisJLyoKKwkgKiBEb24ndCBhbGxvdyB1c2VycyB0byBs
b2FkIGEgdmFsaWQgcHJpdmlsZWdlZCAlY3MuICBMZXQgdGhlCisJICogaGFyZHdhcmUgY2hl
Y2sgZm9yIGludmFsaWQgc2VsZWN0b3JzLCBleGNlc3MgcHJpdmlsZWdlIGluCisJICogb3Ro
ZXIgc2VsZWN0b3JzLCBpbnZhbGlkICVlaXAncyBhbmQgaW52YWxpZCAlZXNwJ3MuCisJICov
CisjZGVmaW5lICAgICAgICBDU19TRUNVUkUoY3MpICAgKElTUEwoY3MpID09IFNFTF9VUEwp
CisJaWYgKCFDU19TRUNVUkUoY29udGV4dC0+c2NfY3MpKSB7CisJCXRyYXBzaWduYWwocCwg
U0lHQlVTLCBUX1BST1RGTFQpOworCQlyZXR1cm4oRUlOVkFMKTsKKwl9CisKKwlwLT5wX3Np
Z3N0ay5zc19mbGFncyAmPSB+U1NfT05TVEFDSzsKKwlTSUdTRVRPTEQocC0+cF9zaWdtYXNr
LCBjb250ZXh0LT5zY19tYXNrKTsKKwlTSUdfQ0FOVE1BU0socC0+cF9zaWdtYXNrKTsKKwor
CS8qCisJICogUmVzdG9yZSBzaWduYWwgY29udGV4dC0+CisJICovCisJLyogJWdzIHdhcyBy
ZXN0b3JlZCBieSB0aGUgdHJhbXBvbGluZS4gKi8KKwlyZWdzLT50Zl9mcwk9IGNvbnRleHQt
PnNjX2ZzOworCXJlZ3MtPnRmX2VzCT0gY29udGV4dC0+c2NfZXM7CisJcmVncy0+dGZfZHMJ
PSBjb250ZXh0LT5zY19kczsKKwlyZWdzLT50Zl9lZGkJPSBjb250ZXh0LT5zY19lZGk7CisJ
cmVncy0+dGZfZXNpCT0gY29udGV4dC0+c2NfZXNpOworCXJlZ3MtPnRmX2VicAk9IGNvbnRl
eHQtPnNjX2VicDsKKwlyZWdzLT50Zl9lYngJPSBjb250ZXh0LT5zY19lYng7CisJcmVncy0+
dGZfZWR4CT0gY29udGV4dC0+c2NfZWR4OworCXJlZ3MtPnRmX2VjeAk9IGNvbnRleHQtPnNj
X2VjeDsKKwlyZWdzLT50Zl9lYXgJPSBjb250ZXh0LT5zY19lYXg7CisJcmVncy0+dGZfZWlw
CT0gY29udGV4dC0+c2NfZWlwOworCXJlZ3MtPnRmX2NzCT0gY29udGV4dC0+c2NfY3M7CisJ
cmVncy0+dGZfZWZsYWdzCT0gZWZsYWdzOworCXJlZ3MtPnRmX2VzcAk9IGNvbnRleHQtPnNj
X2VzcF9hdF9zaWduYWw7CisJcmVncy0+dGZfc3MJPSBjb250ZXh0LT5zY19zczsKKworCS8q
CisJICogY2FsbCBzaWdhbHRzdGFjayAmIGlnbm9yZSByZXN1bHRzLi4KKwkgKi8KKwlzcyA9
IHN0YWNrZ2FwX2FsbG9jKCZzZywgc2l6ZW9mKHN0YWNrX3QpKTsKKwlsc3MgPSAmdWMudWNf
c3RhY2s7CisJc3MtPnNzX3NwID0gbHNzLT5zc19zcDsKKwlzcy0+c3Nfc2l6ZSA9IChsc3Mt
PnNzX3NpemUgPj0gTElOVVhfTUlOU0lHU1RLU1ogJiYKKwkJbHNzLT5zc19zaXplIDwgTUlO
U0lHU1RLU1opID8gTUlOU0lHU1RLU1ogOiBsc3MtPnNzX3NpemU7CisJbGludXhfdG9fYnNk
X3NpZ2FsdHN0YWNrKCZsc3MtPnNzX2ZsYWdzLCAmc3MtPnNzX2ZsYWdzKTsKKyNpZmRlZiBE
RUJVRworCXByaW50ZigiTGludXgtZW11bCglbGQpOiBydF9zaWdyZXQgIGZsYWdzOiAweCV4
LCBzcDogJXAsIHNzOiAweCV4LCBtYXNrOiAweCV4XG4iLAorCQkobG9uZylwLT5wX3BpZCwg
c3MtPnNzX2ZsYWdzLCBzcy0+c3Nfc3AsIHNzLT5zc19zaXplLCBjb250ZXh0LT5zY19tYXNr
KTsKKyNlbmRpZgorCXNhc2FyZ3Muc3MgPSBzczsKKwlzYXNhcmdzLm9zcyA9IE5VTEw7CisJ
KHZvaWQpIHNpZ2FsdHN0YWNrKHAsICZzYXNhcmdzKTsKKyAKKwlyZXR1cm4gKEVKVVNUUkVU
VVJOKTsKK30KIHN0YXRpYyB2b2lkCiBsaW51eF9wcmVwc3lzY2FsbChzdHJ1Y3QgdHJhcGZy
YW1lICp0ZiwgaW50ICphcmdzLCB1X2ludCAqY29kZSwgY2FkZHJfdCAqcGFyYW1zKQogewpk
aWZmIC11ciBzeXMuT1JHL2kzODYvbGludXgvc3lzY2FsbHMubWFzdGVyIHN5cy9pMzg2L2xp
bnV4L3N5c2NhbGxzLm1hc3RlcgotLS0gc3lzLk9SRy9pMzg2L2xpbnV4L3N5c2NhbGxzLm1h
c3RlcglUaHUgSnVsIDIwIDA2OjExOjEwIDIwMDAKKysrIHN5cy9pMzg2L2xpbnV4L3N5c2Nh
bGxzLm1hc3RlcglUaHUgRmViIDIyIDIzOjUzOjE0IDIwMDEKQEAgLTI1Myw3ICsyNTMsNyBA
QAogMTcxCVNURAlMSU5VWAl7IGludCBsaW51eF9nZXRyZXNnaWQobGludXhfZ2lkX3QgKnJn
aWQsIFwKIAkJCQlsaW51eF9naWRfdCAqZWdpZCwgbGludXhfZ2lkX3QgKnNnaWQpOyB9CiAx
NzIJU1RECUxJTlVYCXsgaW50IGxpbnV4X3ByY3RsKHZvaWQpOyB9Ci0xNzMJU1RECUxJTlVY
CXsgaW50IGxpbnV4X3J0X3NpZ3JldHVybih2b2lkKTsgfQorMTczCVNURAlMSU5VWAl7IGlu
dCBsaW51eF9ydF9zaWdyZXR1cm4oc3RydWN0IGxpbnV4X3Vjb250ZXh0ICp1Y3ApOyB9CiAx
NzQJU1RECUxJTlVYCXsgaW50IGxpbnV4X3J0X3NpZ2FjdGlvbihpbnQgc2lnLCBcCiAJCQkJ
bGludXhfc2lnYWN0aW9uX3QgKmFjdCwgXAogCQkJCWxpbnV4X3NpZ2FjdGlvbl90ICpvYWN0
LCBcCmRpZmYgLXVyIHN5cy5PUkcvc3lzL3NpZ25hbC5oIHN5cy9zeXMvc2lnbmFsLmgKLS0t
IHN5cy5PUkcvc3lzL3NpZ25hbC5oCVdlZCBEZWMgMjkgMTM6MjQ6NDcgMTk5OQorKysgc3lz
L3N5cy9zaWduYWwuaAlUaHUgRmViIDIyIDIzOjE2OjE1IDIwMDEKQEAgLTIzOCw4ICsyMzgs
OCBAQAogCiAjZGVmaW5lCVNTX09OU1RBQ0sJMHgwMDAxCS8qIHRha2Ugc2lnbmFsIG9uIGFs
dGVybmF0ZSBzdGFjayAqLwogI2RlZmluZQlTU19ESVNBQkxFCTB4MDAwNAkvKiBkaXNhYmxl
IHRha2luZyBzaWduYWxzIG9uIGFsdGVybmF0ZSBzdGFjayAqLwotI2RlZmluZQlNSU5TSUdT
VEtTWgk4MTkyCQkJLyogbWluaW11bSBhbGxvd2FibGUgc3RhY2sgKi8KLSNkZWZpbmUJU0lH
U1RLU1oJKE1JTlNJR1NUS1NaICsgMzI3NjgpCS8qIHJlY29tbWVuZGVkIHN0YWNrIHNpemUg
Ki8KKyNkZWZpbmUJTUlOU0lHU1RLU1oJMjA0OAkJCS8qIG1pbmltdW0gYWxsb3dhYmxlIHN0
YWNrICovCisjZGVmaW5lCVNJR1NUS1NaCShNSU5TSUdTVEtTWiArIDM4OTEyKQkvKiByZWNv
bW1lbmRlZCBzdGFjayBzaXplICovCiAKIC8qIEhhdmUgZW5vdWdoIHR5cGVkZWZzIGZvciB0
aGlzIG5vdy4gIFhYWCAqLwogI2luY2x1ZGUgPHN5cy91Y29udGV4dC5oPgo=

----Next_Part(Fri_Mar__2_00:08:31_2001_809)----
