[Pkg-firebird-general] Bug#265310: FTBFS on GNU/Hurd (and GNU/k*BSD)

Robert Millan Robert Millan <rmh@debian.org>, 265310@bugs.debian.org
Thu, 12 Aug 2004 18:07:42 +0200


This is a multi-part MIME message sent by reportbug.

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

Package: firebird2
Version: 1.5.1-2
Severity: important
Tags: patch sid

This package fails to build on both GNU/Hurd and GNU/k*BSD.  The attached
patch fixes build problems that affect both platforms.

Please could you forward the upstream part to upstream?  The changes were
quite clean and straightforwarded.  If either you or upstream have any
questions on them let me know and I'll gladly explain.

The debian part of the package fixes the architecture setup so that firebird
is buildable on all i386 platforms regardless of kernel (by using
type-handling).

Thanks.

-- System Information:
Debian Release: 3.1
  APT prefers unstable
  APT policy: (500, 'unstable')
Architecture: kfreebsd-i386 (i386)
Kernel: GNU/kFreeBSD 5.2.1-5
Locale: LANG=C, LC_CTYPE=C (ignored: LC_ALL set to C)

--===============1263772313==
Content-Type: application/x-shellscript
MIME-Version: 1.0
Content-Transfer-Encoding: base64
Content-Disposition: attachment; filename="firebird2_1.5.1-2.bash"

IyEvYmluL2Jhc2ggLWUKCmNwIC91c3Ivc2hhcmUvbWlzYy9jb25maWcuKiBzcmMvZXh0ZXJuL2Vk
aXRsaW5lLwpjcCBkZWJpYW4vY29udHJvbHssLmlufQpjYXQgJDAgfCBwYXRjaCAtcDEKd2hpY2gg
dHlwZS1oYW5kbGluZwpmYWtlcm9vdCBkZWJpYW4vcnVsZXMgY2xlYW4KZXhpdCAwCgpkaWZmIC11
ciBmaXJlYmlyZDItMS41LjEub2xkL2RlYmlhbi9jb250cm9sLmluIGZpcmViaXJkMi0xLjUuMS9k
ZWJpYW4vY29udHJvbC5pbgotLS0gZmlyZWJpcmQyLTEuNS4xLm9sZC9kZWJpYW4vY29udHJvbC5p
bgkyMDA0LTA4LTEyIDAxOjQzOjUwLjAwMDAwMDAwMCArMDIwMAorKysgZmlyZWJpcmQyLTEuNS4x
L2RlYmlhbi9jb250cm9sLmluCTIwMDQtMDgtMTIgMTc6NTg6NDUuMDAwMDAwMDAwICswMjAwCkBA
IC0zLDExICszLDExIEBACiBQcmlvcml0eTogb3B0aW9uYWwKIE1haW50YWluZXI6IERlYmlhbiBG
aXJlYmlyZCBHcm91cCA8cGtnLWZpcmViaXJkLWdlbmVyYWxAbGlzdHMuYWxpb3RoLmRlYmlhbi5v
cmc+CiBVcGxvYWRlcnM6IERhbmllbCBVcmJhbiA8ZGFuaWVsQHNlbnRlLnBsPgotQnVpbGQtRGVw
ZW5kczogZGViaGVscGVyICg+PiAzLjAuMCksIGRvY2Jvb2stdG8tbWFuLCBhdXRvY29uZiwgbGli
dG9vbCwgbGlibmN1cnNlczUtZGV2LCBiaXNvbgorQnVpbGQtRGVwZW5kczogZGViaGVscGVyICg+
PiAzLjAuMCksIGRvY2Jvb2stdG8tbWFuLCBhdXRvY29uZiwgbGlidG9vbCwgbGlibmN1cnNlczUt
ZGV2LCBiaXNvbiwgdHlwZS1oYW5kbGluZyAoPj0gMC4yLjEpCiBTdGFuZGFyZHMtVmVyc2lvbjog
My42LjEKIAogUGFja2FnZTogZmlyZWJpcmQyLXN1cGVyLXNlcnZlcgotQXJjaGl0ZWN0dXJlOiBp
Mzg2CitBcmNoaXRlY3R1cmU6IEBhcmNoZXNACiBEZXBlbmRzOiAke3NobGliczpEZXBlbmRzfSwg
ZmlyZWJpcmQyLXNlcnZlci1jb21tb24KIFByb3ZpZGVzOiBmaXJlYmlyZDItc2VydmVyCiBDb25m
bGljdHM6IGZpcmViaXJkMi1zZXJ2ZXIsIGZpcmViaXJkLXNlcnZlcgpAQCAtMzAsNyArMzAsNyBA
QAogIExpY2Vuc2Ugdi4xLjAgb24gMjUgSnVseSwgMjAwMC4gCiAJICAgCiBQYWNrYWdlOiBmaXJl
YmlyZDItY2xhc3NpYy1zZXJ2ZXIKLUFyY2hpdGVjdHVyZTogaTM4NgorQXJjaGl0ZWN0dXJlOiBA
YXJjaGVzQAogRGVwZW5kczogJHtzaGxpYnM6RGVwZW5kc30sIGZpcmViaXJkMi1zZXJ2ZXItY29t
bW9uCiBQcm92aWRlczogZmlyZWJpcmQyLXNlcnZlcgogQ29uZmxpY3RzOiBmaXJlYmlyZDItc2Vy
dmVyLCBmaXJlYmlyZC1zZXJ2ZXIKQEAgLTUzLDcgKzUzLDcgQEAKICBMaWNlbnNlIHYuMS4wIG9u
IDI1IEp1bHksIDIwMDAuIAogCiBQYWNrYWdlOiBsaWJmaXJlYmlyZDItc3VwZXIKLUFyY2hpdGVj
dHVyZTogaTM4NgorQXJjaGl0ZWN0dXJlOiBAYXJjaGVzQAogRGVwZW5kczogJHtzaGxpYnM6RGVw
ZW5kc30KIFByb3ZpZGVzOiBsaWJmaXJlYmlyZDIsIGxpYmZpcmViaXJkCiBDb25mbGljdHM6IGxp
YmZpcmViaXJkMiwgbGliZmlyZWJpcmQKQEAgLTYxLDcgKzYxLDcgQEAKICBQbGVhc2Ugc2VlIHRo
ZSBmaXJlYmlyZDItc3VwZXItc2VydmVyIHBhY2thZ2UgZm9yIGEgZnVsbCBkZXNjcmlwdGlvbi4K
IAogUGFja2FnZTogbGliZmlyZWJpcmQyLWNsYXNzaWMKLUFyY2hpdGVjdHVyZTogaTM4NgorQXJj
aGl0ZWN0dXJlOiBAYXJjaGVzQAogRGVwZW5kczogJHtzaGxpYnM6RGVwZW5kc30KIFByb3ZpZGVz
OiBsaWJmaXJlYmlyZDIsIGxpYmZpcmViaXJkCiBDb25mbGljdHM6IGxpYmZpcmViaXJkMiwgbGli
ZmlyZWJpcmQKQEAgLTY5LDcgKzY5LDcgQEAKICBQbGVhc2Ugc2VlIHRoZSBmaXJlYmlyZDItY2xh
c3NpYy1zZXJ2ZXIgcGFja2FnZSBmb3IgYSBmdWxsIGRlc2NyaXB0aW9uLgogCiBQYWNrYWdlOiBm
aXJlYmlyZDItc2VydmVyLWNvbW1vbgotQXJjaGl0ZWN0dXJlOiBpMzg2CitBcmNoaXRlY3R1cmU6
IEBhcmNoZXNACiBEZXBlbmRzOiAke3NobGliczpEZXBlbmRzfQogUmVjb21tZW5kczogZmlyZWJp
cmQyLXNlcnZlcgogQ29uZmxpY3RzOiBmaXJlYmlyZC1jb21tb24KQEAgLTkyLDcgKzkyLDcgQEAK
ICBMaWNlbnNlIHYuMS4wIG9uIDI1IEp1bHksIDIwMDAuCiAKIFBhY2thZ2U6IGZpcmViaXJkMi11
dGlscy1zdXBlcgotQXJjaGl0ZWN0dXJlOiBpMzg2CitBcmNoaXRlY3R1cmU6IEBhcmNoZXNACiBE
ZXBlbmRzOiAke3NobGliczpEZXBlbmRzfSwgZmlyZWJpcmQyLXNlcnZlci1jb21tb24KIENvbmZs
aWN0czogZmlyZWJpcmQtdXRpbHMKIERlc2NyaXB0aW9uOiBVdGlsaXRpZXMgZm9yIEZpcmViaXJk
IC0gYSBSREJNUyBiYXNlZCBvbiBJbnRlckJhc2UgNi4wIGNvZGUKQEAgLTEwNSw3ICsxMDUsNyBA
QAogIGFib3V0IEZpcmViaXJkIGluIGdlbmVyYWwuIAogCiBQYWNrYWdlOiBmaXJlYmlyZDItdXRp
bHMtY2xhc3NpYwotQXJjaGl0ZWN0dXJlOiBpMzg2CitBcmNoaXRlY3R1cmU6IEBhcmNoZXNACiBE
ZXBlbmRzOiAke3NobGliczpEZXBlbmRzfSwgZmlyZWJpcmQyLXNlcnZlci1jb21tb24KIENvbmZs
aWN0czogZmlyZWJpcmQtdXRpbHMKIERlc2NyaXB0aW9uOiBVdGlsaXRpZXMgZm9yIEZpcmViaXJk
IC0gYSBSREJNUyBiYXNlZCBvbiBJbnRlckJhc2UgNi4wIGNvZGUKQEAgLTExOCw3ICsxMTgsNyBA
QAogIGFib3V0IEZpcmViaXJkIGluIGdlbmVyYWwuIAogCiBQYWNrYWdlOiBmaXJlYmlyZDItZGV2
Ci1BcmNoaXRlY3R1cmU6IGkzODYKK0FyY2hpdGVjdHVyZTogQGFyY2hlc0AKIERlcGVuZHM6IGxp
YmZpcmViaXJkMgogU3VnZ2VzdHM6IGZpcmViaXJkMi1leGFtcGxlcwogQ29uZmxpY3RzOiBmaXJl
YmlyZC1kZXYKQEAgLTEyOSw3ICsxMjksNyBAQAogIGFib3V0IEZpcmViaXJkIGluIGdlbmVyYWwu
CiAKIFBhY2thZ2U6IGZpcmViaXJkMi1leGFtcGxlcwotQXJjaGl0ZWN0dXJlOiBpMzg2CitBcmNo
aXRlY3R1cmU6IEBhcmNoZXNACiBEZXNjcmlwdGlvbjogRXhhbXBsZXMgZm9yIEZpcmViaXJkIC0g
YSBSREJNUyBiYXNlZCBvbiBJbnRlckJhc2UgNi4wIGNvZGUKICBUaGUgZXhhbXBsZXMgaW5jbHVk
ZWQgaW4gdGhpcyBwYWNrYWdlIGFyZSBwcm92aWRlZCBhcyBzYW1wbGVzIGFuZCBhcmUgYWxzbwog
IHVzZWQgYnkgRmlyZWJpcmQncyB0ZXN0aW5nIHN1aXRlIChUQ1MpLiBUaGUgZXhhbXBsZXMgYXJl
IGluIHRoZSBmb3JtIApkaWZmIC11ciBmaXJlYmlyZDItMS41LjEub2xkL2RlYmlhbi9ydWxlcyBm
aXJlYmlyZDItMS41LjEvZGViaWFuL3J1bGVzCi0tLSBmaXJlYmlyZDItMS41LjEub2xkL2RlYmlh
bi9ydWxlcwkyMDA0LTA4LTEyIDAxOjM1OjU2LjAwMDAwMDAwMCArMDIwMAorKysgZmlyZWJpcmQy
LTEuNS4xL2RlYmlhbi9ydWxlcwkyMDA0LTA4LTEyIDE3OjU4OjQ1LjAwMDAwMDAwMCArMDIwMApA
QCAtNzcsNyArNzcsNyBAQAogYnVpbGQtc3VwZXItc2VydmVyOiBjb25maWd1cmUtc3VwZXIKIAll
Y2hvIFN0YXJ0aW5nIGJ1aWxkLXN1cGVyLXNlcnZlcgogCWRoX3Rlc3RkaXIKLQkkKE1BS0UpID4g
bWFrZS1zdXBlci5sb2cgMj4mMQorCSQoTUFLRSkKIAogCSMgbW92aW5nIHRvIFN1cGVyU2VydmVy
IHRhcmdldAogCXJtIC1yZiAuL2RlYmlhbi9maXJlYmlyZDItc3VwZXIKQEAgLTg3LDcgKzg3LDcg
QEAKIGJ1aWxkLWNsYXNzaWMtc2VydmVyOiBjb25maWd1cmUtY2xhc3NpYwogCWVjaG8gU3RhcnRp
bmcgYnVpbGQtY2xhc3NpYy1zZXJ2ZXIKIAlkaF90ZXN0ZGlyCi0JJChNQUtFKSA+IG1ha2UtY2xh
c3NpYy5sb2cgMj4mMQorCSQoTUFLRSkKIAogCSMgbW92aW5nIHRvIENsYXNzaWNTZXJ2ZXIgdGFy
Z2V0CiAJcm0gLXJmIC4vZGViaWFuL2ZpcmViaXJkMi1jbGFzc2ljCkBAIC0xMTksNyArMTE5LDEw
IEBACiAJICAgIHNyYy9leHRlcm4vZWRpdGxpbmUvY29uZmlnLmxvZyBcCiAJICAgIHNyYy9leHRl
cm4vZWRpdGxpbmUvY29uZmlnLmggXAogCSAgICBzcmMvZXh0ZXJuL2VkaXRsaW5lL2NvbmZpZy5z
dGF0dXMgCi0JICAgIAorCisJY2F0IGRlYmlhbi9jb250cm9sLmluIFwKKwl8IHNlZCAicy9AYXJj
aGVzQC9gdHlwZS1oYW5kbGluZyBpMzg2IGFueWAvZyIgXAorCT4gZGViaWFuL2NvbnRyb2wKIAkK
IAkjY2htb2QgLWYgNjQ0IHNyYy8qLmZkYgogCXJtIC1mIHNyYy8qLmZkYiBzcmMvKi5sbmsgc3Jj
L2luZGljYXRvci4qIHNyYy9NYWtlZmlsZQpkaWZmIC11ciBmaXJlYmlyZDItMS41LjEub2xkL2J1
aWxkcy9wb3NpeC9tYWtlLnJ1bGVzIGZpcmViaXJkMi0xLjUuMS9idWlsZHMvcG9zaXgvbWFrZS5y
dWxlcwotLS0gZmlyZWJpcmQyLTEuNS4xLm9sZC9idWlsZHMvcG9zaXgvbWFrZS5ydWxlcwkyMDAz
LTA3LTE5IDA4OjE5OjAzLjAwMDAwMDAwMCArMDIwMAorKysgZmlyZWJpcmQyLTEuNS4xL2J1aWxk
cy9wb3NpeC9tYWtlLnJ1bGVzCTIwMDQtMDgtMTIgMTc6NTg6NDUuMDAwMDAwMDAwICswMjAwCkBA
IC05MSwxNiArOTEsMTYgQEAKIGlmZGVmIFVzZUxpYlRvb2xGb3JMaW5rCiAKIAotICAgIExJQl9M
SU5LPSBsaWJ0b29sICQoQ0MoCi0gICAgU1RBVElDTElCX0xJTksgPSBsaWJ0b29sICQoQ0MpIC1h
bGwtc3RhdGljCisgICAgTElCX0xJTks9IGxpYnRvb2wgJChDWFgpCisgICAgU1RBVElDTElCX0xJ
TksgPSBsaWJ0b29sICQoQ1hYKSAtYWxsLXN0YXRpYwogIyAgICBMSUJfTElOS19PUFRJT05TID0g
LXZlcnNpb24taW5mbyAwOjA6MCAtcmVsZWFzZSAxLjUuMC4wIC1ycGF0aCAvdXNyL2xpYgogICAg
IExJQl9MSU5LX09QVElPTlMgKz0gLXZlcnNpb24taW5mbyAwOjA6MCAtcmVsZWFzZSAxLjUuMC4w
ICQoTElCX0xJTktfUlBBVEgpJChGaXJlYmlyZEluc3RhbGxQcmVmaXgpL2xpYgogCi0gICAgRVhF
X0xJTksgPSBsaWJ0b29sICQoQ0MpCi0gICAgU1RBVElDRVhFX0xJTksgPSBsaWJ0b29sICQoQ0Mp
IC1hbGwtc3RhdGljCisgICAgRVhFX0xJTksgPSBsaWJ0b29sICQoQ1hYKQorICAgIFNUQVRJQ0VY
RV9MSU5LID0gbGlidG9vbCAkKENYWCkgLWFsbC1zdGF0aWMKIGVsc2UKIAotICAgIExJQl9MSU5L
PSAkKENDKQorICAgIExJQl9MSU5LPSAkKENYWCkKICAgICBTVEFUSUNMSUJfTElOSz0gYXIgY3J1
dnMKICMgICAgTElCX0xJTktfT1BUSU9OUyA9IC1zb25hbWUgbGliZ2RzLiQoU0hSTElCX0VYVCkg
LXJwYXRoIC91c3IvbGliCiAjICAgIExJQl9MSU5LX09QVElPTlMgPSAtc29uYW1lIGxpYmdkcy4k
KFNIUkxJQl9FWFQpLjIgLXJwYXRoIC91c3IvbGliCmRpZmYgLXVyIGZpcmViaXJkMi0xLjUuMS5v
bGQvY29uZmlndXJlLmluIGZpcmViaXJkMi0xLjUuMS9jb25maWd1cmUuaW4KLS0tIGZpcmViaXJk
Mi0xLjUuMS5vbGQvY29uZmlndXJlLmluCTIwMDQtMDgtMTIgMDE6MzU6NTYuMDAwMDAwMDAwICsw
MjAwCisrKyBmaXJlYmlyZDItMS41LjEvY29uZmlndXJlLmluCTIwMDQtMDgtMTIgMTc6NTg6NDUu
MDAwMDAwMDAwICswMjAwCkBAIC01Niw3ICs1Niw3IEBACiAgICAgU0hSTElCX0VYVD1zbwogICAg
IDs7CiAKLSAgeDg2XzY0Ki0qLWxpbnV4LSopCisgIHg4Nl82NCotKi1saW51eCogfCB4ODZfNjQq
LSotZ251KiB8IHg4Nl82NCotKi1rKmJzZCotZ251KQogICAgIE1BS0VGSUxFX1BSRUZJWD1saW51
eF9hbWQ2NAogICAgIElOU1RBTExfUFJFRklYPWxpbnV4CiAgICAgUExBVEZPUk09TElOVVgKQEAg
LTY4LDcgKzY4LDcgQEAKICAgICBDUFVfVFlQRT1hbWQ2NAogICAgIDs7CiAKLSAgc3BhcmMqLSot
bGludXgtKikKKyAgc3BhcmMqLSotbGludXgqIHwgc3BhcmMqLSotZ251KiB8IHNwYXJjKi0qLWsq
YnNkKi1nbnUpCiAgICAgTUFLRUZJTEVfUFJFRklYPWxpbnV4X3NwYXJjMzIKICAgICBJTlNUQUxM
X1BSRUZJWD1saW51eAogICAgIFBMQVRGT1JNPUxJTlVYCkBAIC03OCw3ICs3OCw3IEBACiAgICAg
U0hSTElCX0VYVD1zbwogICAgIDs7CiAKLSAgKi0qLWxpbnV4KikKKyAgKi0qLWxpbnV4KiB8ICot
Ki1nbnUqIHwgKi0qLWsqYnNkKi1nbnUpCiAgICAgTUFLRUZJTEVfUFJFRklYPWxpbnV4CiAgICAg
UExBVEZPUk09TElOVVgKICAgICBBQ19ERUZJTkUoTElOVVgpCkBAIC0zODEsNyArMzgxLDYgQEAK
IGlmIHRlc3QgIiRFRElUTElORV9GTEciID0gIlkiOyB0aGVuCiAgIEFDX1NVQlNUKEVESVRMSU5F
X0EsIC1sZWRpdGxpbmUpCiBmaQotQUNfQ0hFQ0tfTElCKHN0ZGMrKywgbWFpbiwsLCAkTElCUykK
IAogZG5sIGtrdXpuZXRzb3Y6IFNvbGFyaXMgYWx3YXlzIGNoZWNrIGZvciAtbG5zbAogaWYgdGVz
dCAiJFBMQVRGT1JNIiA9ICJzb2x4ODYiIC1vICIkUExBVEZPUk0iID0gIlNPTEFSSVMiOyB0aGVu
CmRpZmYgLXVyIGZpcmViaXJkMi0xLjUuMS5vbGQvc3JjL2NvbW1vbi9jbGFzc2VzL2xvY2tzLmgg
ZmlyZWJpcmQyLTEuNS4xL3NyYy9jb21tb24vY2xhc3Nlcy9sb2Nrcy5oCi0tLSBmaXJlYmlyZDIt
MS41LjEub2xkL3NyYy9jb21tb24vY2xhc3Nlcy9sb2Nrcy5oCTIwMDQtMDctMDEgMTg6MDQ6MTcu
MDAwMDAwMDAwICswMjAwCisrKyBmaXJlYmlyZDItMS41LjEvc3JjL2NvbW1vbi9jbGFzc2VzL2xv
Y2tzLmgJMjAwNC0wOC0xMiAxNzo1ODo0NS4wMDAwMDAwMDAgKzAyMDAKQEAgLTI5LDE3ICsyOSwx
NSBAQAogI2luY2x1ZGUgImZpcmViaXJkLmgiCiAKICNpZmRlZiBNVUxUSV9USFJFQUQKLSNpZmRl
ZiBXSU5fTlQKKyNpZiBkZWZpbmVkKFdJTl9OVCkKIC8vIEl0IGlzIHJlbGF0aXZlbHkgZWFzeSB0
byBhdm9pZCB1c2luZyB0aGlzIGhlYWRlci4gTWF5YmUgZG8gdGhlIHNhbWUgc3R1ZmYgbGlrZQog
Ly8gaW4gdGhkLmggPyBUaGlzIGlzIFdpbmRvd3MgcGxhdGZvcm0gbWFpbnRhaW5lcnMgY2hvaWNl
CiAjaW5jbHVkZSA8d2luZG93cy5oPgotI2Vsc2UKLSNpZm5kZWYgU09MQVJJUwotI2luY2x1ZGUg
PHB0aHJlYWQuaD4KLSNlbHNlCisjZWxpZiBkZWZpbmVkKFNPTEFSSVMpCiAjaW5jbHVkZSA8dGhy
ZWFkLmg+CiAjaW5jbHVkZSA8c3luY2guaD4KLSNlbmRpZgorI2Vsc2UKKyNpbmNsdWRlIDxwdGhy
ZWFkLmg+CiAjZW5kaWYKICNlbmRpZiAvKiBNVUxUSV9USFJFQUQgKi8KIApAQCAtNzcsNyArNzUs
NyBAQAogCiAvKiBQcm9jZXNzLWxvY2FsIHNwaW5sb2NrLiBVc2VkIHRvIG1hbmFnZSBtZW1vcnkg
aGVhcHMgaW4gdGhyZWFkZWQgZW52aXJvbm1lbnQuICovCiAvLyBQdGhyZWFkcyB2ZXJzaW9uIG9m
IHRoZSBjbGFzcwotI2lmICFkZWZpbmVkKFNPTEFSSVMpICYmICFkZWZpbmVkKERBUldJTikgJiYg
IWRlZmluZWQoRlJFRUJTRCkKKyNpZiAhZGVmaW5lZChTT0xBUklTKSAmJiAhZGVmaW5lZChEQVJX
SU4pICYmICFkZWZpbmVkKEZSRUVCU0QpICYmICFkZWZpbmVkKF9QT1NJWF9USFJFQURfSVNfR05V
X1BUSCkKIGNsYXNzIFNwaW5sb2NrIHsKIHByaXZhdGU6CiAJcHRocmVhZF9zcGlubG9ja190IHNw
aW5sb2NrOwpAQCAtMTI0LDcgKzEyMiw3IEBACiAJCQlzeXN0ZW1fY2FsbF9mYWlsZWQ6OnJhaXNl
KCk7CiAJfQogfTsKLSNlbHNlICAvLyBEQVJXSU4gYW5kIEZSRUVCU0QKKyNlbHNlICAvLyBEQVJX
SU4sIEZSRUVCU0QgYW5kIGdudSBwdGgKIGNsYXNzIFNwaW5sb2NrIHsKIHByaXZhdGU6CiAJcHRo
cmVhZF9tdXRleF90IG1sb2NrOwpkaWZmIC11ciBmaXJlYmlyZDItMS41LjEub2xkL3NyYy9leHRl
cm4vZWRpdGxpbmUvY29uZmlndXJlIGZpcmViaXJkMi0xLjUuMS9zcmMvZXh0ZXJuL2VkaXRsaW5l
L2NvbmZpZ3VyZQotLS0gZmlyZWJpcmQyLTEuNS4xLm9sZC9zcmMvZXh0ZXJuL2VkaXRsaW5lL2Nv
bmZpZ3VyZQkyMDA0LTA1LTIzIDIwOjI0OjI1LjAwMDAwMDAwMCArMDIwMAorKysgZmlyZWJpcmQy
LTEuNS4xL3NyYy9leHRlcm4vZWRpdGxpbmUvY29uZmlndXJlCTIwMDQtMDgtMTIgMTc6NTg6NDUu
MDAwMDAwMDAwICswMjAwCkBAIC04OTQsNyArODk0LDcgQEAKICAgKi0qLWZyZWVic2QqKQogCUFC
ST0iZWxmIgogCTs7Ci0gICotKi1saW51eCopCisgICotKi1saW51eCogfCAqLSotZ251KiB8ICot
Ki1rKmJzZCotZ251KQogCUFCST0iZWxmIgogCTs7CiAgICotKi1uZXRic2QqKQpkaWZmIC11ciBm
aXJlYmlyZDItMS41LjEub2xkL3NyYy9leHRlcm4vZWRpdGxpbmUvY29uZmlndXJlLmluIGZpcmVi
aXJkMi0xLjUuMS9zcmMvZXh0ZXJuL2VkaXRsaW5lL2NvbmZpZ3VyZS5pbgotLS0gZmlyZWJpcmQy
LTEuNS4xLm9sZC9zcmMvZXh0ZXJuL2VkaXRsaW5lL2NvbmZpZ3VyZS5pbgkyMDA0LTA1LTIzIDIw
OjI0OjI1LjAwMDAwMDAwMCArMDIwMAorKysgZmlyZWJpcmQyLTEuNS4xL3NyYy9leHRlcm4vZWRp
dGxpbmUvY29uZmlndXJlLmluCTIwMDQtMDgtMTIgMTc6NTg6NDUuMDAwMDAwMDAwICswMjAwCkBA
IC0zMiw3ICszMiw3IEBACiAgICotKi1mcmVlYnNkKikKIAlBQkk9ImVsZiIKIAk7OwotICAqLSot
bGludXgqKQorICAqLSotbGludXgqIHwgKi0qLWdudSogfCAqLSotaypic2QqLWdudSkKIAlBQkk9
ImVsZiIKIAk7OwogICAqLSotbmV0YnNkKikKZGlmZiAtdXIgZmlyZWJpcmQyLTEuNS4xLm9sZC9z
cmMvZXh0ZXJuL2VkaXRsaW5lL3N5cy5oIGZpcmViaXJkMi0xLjUuMS9zcmMvZXh0ZXJuL2VkaXRs
aW5lL3N5cy5oCi0tLSBmaXJlYmlyZDItMS41LjEub2xkL3NyYy9leHRlcm4vZWRpdGxpbmUvc3lz
LmgJMjAwNC0wNS0yMyAyMDoyNDoyNS4wMDAwMDAwMDAgKzAyMDAKKysrIGZpcmViaXJkMi0xLjUu
MS9zcmMvZXh0ZXJuL2VkaXRsaW5lL3N5cy5oCTIwMDQtMDgtMTIgMTc6NTg6NDUuMDAwMDAwMDAw
ICswMjAwCkBAIC0xMjQsMTEgKzEyNCw4IEBACiBleHRlcm4gaW50CWZmbHVzaChGSUxFICopOwog
ZXh0ZXJuIGludAl0b2xvd2VyKGludCk7CiBleHRlcm4gaW50CXRvdXBwZXIoaW50KTsKLWV4dGVy
biBpbnQJZXJybm8sIHN5c19uZXJyOwotZXh0ZXJuIGNoYXIJKnN5c19lcnJsaXN0W107CiBleHRl
cm4gdm9pZAlwZXJyb3IoY29uc3QgY2hhciAqKTsKICMgIGluY2x1ZGUgPHN0cmluZy5oPgotIyAg
ZGVmaW5lIHN0cmVycm9yKGUpCXN5c19lcnJsaXN0W2VdCiAjIGVuZGlmCiAjIGlmZGVmIFNBQkVS
CiBleHRlcm4gcHRyX3QgICAgbWVtY3B5KHB0cl90LCBjb25zdCBwdHJfdCwgc2l6ZV90KTsKZGlm
ZiAtdXIgZmlyZWJpcmQyLTEuNS4xLm9sZC9zcmMvanJkL2dkcy5jcHAgZmlyZWJpcmQyLTEuNS4x
L3NyYy9qcmQvZ2RzLmNwcAotLS0gZmlyZWJpcmQyLTEuNS4xLm9sZC9zcmMvanJkL2dkcy5jcHAJ
MjAwNC0wMi0wNiAwNTo1NjoyOC4wMDAwMDAwMDAgKzAxMDAKKysrIGZpcmViaXJkMi0xLjUuMS9z
cmMvanJkL2dkcy5jcHAJMjAwNC0wOC0xMiAxNzo1ODo0NS4wMDAwMDAwMDAgKzAyMDAKQEAgLTE4
MiwxMiArMTgyLDYgQEAKIAogZXh0ZXJuICJDIiB7CiAKLSNpZiAhKGRlZmluZWQgVk1TIHx8IGRl
ZmluZWQgV0lOX05UIHx8IGRlZmluZWQgTElOVVggfHwgZGVmaW5lZCBGUkVFQlNEIHx8IGRlZmlu
ZWQgTkVUQlNEIHx8IGRlZmluZWQgREFSV0lOICkKLWV4dGVybiBpbnQgZXJybm87Ci1leHRlcm4g
U0NIQVIgKnN5c19lcnJsaXN0W107Ci1leHRlcm4gaW50IHN5c19uZXJyOwotI2VuZGlmCi0KICNp
Zm5kZWYgUFJJTlRGCiAjZGVmaW5lIFBSSU5URiAJCQlpYl9wcmludGYKICNlbmRpZgpAQCAtMzM3
LDggKzMzMSw2IEBACiAjZGVmaW5lIGliX3ByaW50ZgkoKl9saWJnZHNfcHJpbnRmKQogI2RlZmlu
ZSBpYl9mb3BlbgkoKl9saWJnZHNfZm9wZW4pCiAjZGVmaW5lIGliX2ZjbG9zZQkoKl9saWJnZHNf
ZmNsb3NlKQotI2RlZmluZSBzeXNfbmVycgkoKl9saWJnZHNfc3lzX25lcnIpCi0jZGVmaW5lIHN5
c19lcnJsaXN0CSgqX2xpYmdkc19zeXNfZXJybGlzdCkKICNkZWZpbmUgbWFsbG9jCQkoKl9saWJn
ZHNfbWFsbG9jKQogI2RlZmluZSBnZXR0aW1lb2ZkYXkoKl9saWJnZHNfZ2V0dGltZW9mZGF5KQog
I2RlZmluZSBjdGltZQkJKCpfbGliZ2RzX2N0aW1lKQpAQCAtMzcxLDggKzM2Myw2IEBACiBleHRl
cm4gaW50IGliX3ByaW50ZigpOwogZXh0ZXJuIElCX0ZJTEUgKmliX2ZvcGVuKCk7CiBleHRlcm4g
aW50IGliX2ZjbG9zZSgpOwotZXh0ZXJuIGludCBzeXNfbmVycjsKLWV4dGVybiBTQ0hBUiAqc3lz
X2Vycmxpc3RbXTsKIGV4dGVybiB2b2lkICptYWxsb2MoKTsKIGV4dGVybiBpbnQgZ2V0dGltZW9m
ZGF5KCk7CiBleHRlcm4gU0NIQVIgKmN0aW1lKCk7CkBAIC05NjYsMTQgKzk1Niw3IEBACiAJCWJy
ZWFrOwogCiAJY2FzZSBnZHNfYXJnX3VuaXg6Ci0JCWlmIChjb2RlID4gMCAmJiBjb2RlIDwgc3lz
X25lcnIgJiYgKHAgPSAoVEVYVCopc3lzX2Vycmxpc3RbY29kZV0pKQotCQkJc3RyY3B5KHMsIHAp
OwotCQllbHNlIGlmIChjb2RlID09IDYwKQotCQkJc3RyY3B5KHMsICJjb25uZWN0aW9uIHRpbWVk
IG91dCIpOwotCQllbHNlIGlmIChjb2RlID09IDYxKQotCQkJc3RyY3B5KHMsICJjb25uZWN0aW9u
IHJlZnVzZWQiKTsKLQkJZWxzZQotCQkJc3ByaW50ZihzLCAidW5rbm93biB1bml4IGVycm9yICVs
ZCIsIGNvZGUpOwkvKiBUWE5OICovCisJCXNwcmludGYocywgIiVzIiwgc3RyZXJyb3IgKGNvZGUp
KTsKIAkJYnJlYWs7CiAKIAljYXNlIGdkc19hcmdfZG9zOgpkaWZmIC11ciBmaXJlYmlyZDItMS41
LjEub2xkL3NyYy9qcmQvaXNjX3N5bmMuY3BwIGZpcmViaXJkMi0xLjUuMS9zcmMvanJkL2lzY19z
eW5jLmNwcAotLS0gZmlyZWJpcmQyLTEuNS4xLm9sZC9zcmMvanJkL2lzY19zeW5jLmNwcAkyMDA0
LTA0LTA2IDA5OjUxOjEyLjAwMDAwMDAwMCArMDIwMAorKysgZmlyZWJpcmQyLTEuNS4xL3NyYy9q
cmQvaXNjX3N5bmMuY3BwCTIwMDQtMDgtMTIgMTc6NTk6MDYuMDAwMDAwMDAwICswMjAwCkBAIC0x
MzYsOCArMTM2LDIwIEBACiAjZW5kaWYKIAogI2RlZmluZSBGVE9LX0tFWQkxNQotI2RlZmluZSBQ
UklWCQkwNjY2CiAjZGVmaW5lIExPQ0FMX1NFTUFQSE9SRVMgNAorI2RlZmluZSBGSUxFX1BFUk0J
MDY2NgorI2lmIGRlZmluZWQoU0VNX1IpICYmIGRlZmluZWQoU0VNX0EpCisjZGVmaW5lIFNFTV9Q
RVJNCVNFTV9SIHwgU0VNX0EgfCAoU0VNX1I+PjMpIHwgKFNFTV9BPj4zKSBcCisJCQl8IChTRU1f
Uj4+NikgfCAoU0VNX0E+PjYpCisjZWxzZQorI2RlZmluZSBTRU1fUEVSTQlGSUxFX1BFUk0KKyNl
bmRpZgorI2lmIGRlZmluZWQoU0hNX1IpICYmIGRlZmluZWQoU0hNX1cpCisjZGVmaW5lIFNITV9Q
RVJNCVNITV9SIHwgU0hNX1cgfCAoU0hNX1I+PjMpIHwgKFNITV9XPj4zKSBcCisJCQl8IChTSE1f
Uj4+NikgfCAoU0hNX1c+PjYpCisjZWxzZQorI2RlZmluZSBTSE1fUEVSTQlGSUxFX1BFUk0KKyNl
bmRpZgogCiAjaWZuZGVmIEdEU19SRUxBWQogI2RlZmluZSBHRFNfUkVMQVkJIi9iaW4vZ2RzX3Jl
bGF5IgpAQCAtMjM4MSw3ICsyMzkzLDcgQEAKIAogLyogQ3JlYXRlIHRoZSBzaGFyZWQgbWVtb3J5
IHJlZ2lvbiBpZiBpdCBkb2Vzbid0IGFscmVhZHkgZXhpc3QuICovCiAKLQlpZiAoKHNobWlkID0g
c2htZ2V0KGtleSwgbGVuZ3RoLCBJUENfQ1JFQVQgfCBQUklWKSkgPT0gLTEpCisJaWYgKChzaG1p
ZCA9IHNobWdldChrZXksIGxlbmd0aCwgSVBDX0NSRUFUIHwgU0hNX1BFUk0pKSA9PSAtMSkKICNp
ZmRlZiBTVVBFUlNFUlZFUgogCQlpZiAoZXJybm8gPT0gRUlOVkFMKSB7CiAJCQkvKiBUaGVyZSBh
cmUgdHdvIGNhc2VzIHdoZW4gc2htZ2V0KCkgcmV0dXJucyBFSU5WQUwgZXJyb3I6CkBAIC0yNDI4
LDcgKzI0NDAsNyBAQAogCQkJICAgd2F5IHRvIGdldCBzaG1pZCBpcyB0byBhdHRhY2ggdG8gdGhl
IHNlZ21lbnQgd2l0aCB6ZXJvCiAJCQkgICBsZW5ndGgKIAkJCSAqLwotCQkJaWYgKChzaG1pZCA9
IHNobWdldChrZXksIDAsIFBSSVYpKSA9PSAtMSkgeworCQkJaWYgKChzaG1pZCA9IHNobWdldChr
ZXksIDAsIFNITV9QRVJNKSkgPT0gLTEpIHsKIAkJCQllcnJvcihzdGF0dXNfdmVjdG9yLCAic2ht
Z2V0IiwgZXJybm8pOwogCQkJCWliX2ZjbG9zZShmcCk7CiAJCQkJcmV0dXJuIE5VTEw7CkBAIC0y
NDQ2LDcgKzI0NTgsNyBAQAogCQkJICAgd2UgdXNlIElQQ19FWENMIGZsYWcgdG8gZ2V0IGFuIGVy
cm9yIGlmIGJ5IHNvbWUgbWlyYWNsZQogCQkJICAgdGhlIHNhZ21lbnQgd2l0aCB0aGUgc2FtZSBr
ZXkgaXMgYWxyZWFkeSBleGlzdHMKIAkJCSAqLwotCQkJaWYgKChzaG1pZCA9IHNobWdldChrZXks
IGxlbmd0aCwgSVBDX0NSRUFUIHwgSVBDX0VYQ0wgfCBQUklWKSkgPT0KKwkJCWlmICgoc2htaWQg
PSBzaG1nZXQoa2V5LCBsZW5ndGgsIElQQ19DUkVBVCB8IElQQ19FWENMIHwgU0hNX1BFUk0pKSA9
PQogCQkJCS0xKSB7CiAJCQkJZXJyb3Ioc3RhdHVzX3ZlY3RvciwgInNobWdldCIsIGVycm5vKTsK
IAkJCQlpYl9mY2xvc2UoZnApOwpAQCAtMjQ5MSw3ICsyNTAzLDcgQEAKIAkJCQlyZXR1cm4gTlVM
TDsKIAkJCX0KIAotCQkJaWYgKChzaG1pZCA9IHNobWdldChrZXksIGxlbmd0aCwgSVBDX0NSRUFU
IHwgSVBDX0VYQ0wgfCBQUklWKSkgPT0KKwkJCWlmICgoc2htaWQgPSBzaG1nZXQoa2V5LCBsZW5n
dGgsIElQQ19DUkVBVCB8IElQQ19FWENMIHwgU0hNX1BFUk0pKSA9PQogCQkJCS0xKSB7CiAJCQkJ
ZXJyb3Ioc3RhdHVzX3ZlY3RvciwgInNobWdldCIsIGVycm5vKTsKIAkJCQlpYl9mY2xvc2UoZnAp
OwpAQCAtMjUwMCw3ICsyNTEyLDcgQEAKIAkJfQogCQllbHNlIHsKIAkJCWxlbmd0aCA9IGJ1Zi5z
aG1fc2Vnc3o7Ci0JCQlpZiAoKHNobWlkID0gc2htZ2V0KGtleSwgbGVuZ3RoLCBQUklWKSkgPT0g
LTEpIHsKKwkJCWlmICgoc2htaWQgPSBzaG1nZXQoa2V5LCBsZW5ndGgsIFNITV9QRVJNKSkgPT0g
LTEpIHsKIAkJCQllcnJvcihzdGF0dXNfdmVjdG9yLCAic2htZ2V0IiwgZXJybm8pOwogCQkJCWli
X2ZjbG9zZShmcCk7CiAJCQkJcmV0dXJuIE5VTEw7CkBAIC0yNTIxLDcgKzI1MzMsNyBAQAogCiAJ
CS8qIE5vdyByZW1hcCB3aXRoIHRoZSBuZXctZm91bmQgbGVuZ3RoICovCiAKLQkJaWYgKChzaG1p
ZCA9IHNobWdldChrZXksIGxlbmd0aCwgUFJJVikpID09IC0xKSB7CisJCWlmICgoc2htaWQgPSBz
aG1nZXQoa2V5LCBsZW5ndGgsIFNITV9QRVJNKSkgPT0gLTEpIHsKIAkJCWVycm9yKHN0YXR1c192
ZWN0b3IsICJzaG1nZXQiLCBlcnJubyk7CiAJCQlpYl9mY2xvc2UoZnApOwogCQkJcmV0dXJuIE5V
TEw7CkBAIC00MTc2LDcgKzQxODgsNyBAQAogLyogUHJvZHVjZSBzaGFyZWQgbWVtb3J5IGtleSBm
b3IgZmlsZSAqLwogCiAJaWYgKChrZXkgPSBmdG9rKGZpbGVuYW1lLCBGVE9LX0tFWSkpID09IC0x
KSB7Ci0JCWlmICgoZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JEV1IgfCBPX0NSRUFUIHwgT19UUlVO
QywgUFJJVikpID09IC0xKSB7CisJCWlmICgoZmQgPSBvcGVuKGZpbGVuYW1lLCBPX1JEV1IgfCBP
X0NSRUFUIHwgT19UUlVOQywgRklMRV9QRVJNKSkgPT0gLTEpIHsKIAkJCWVycm9yKHN0YXR1c192
ZWN0b3IsICJvcGVuIiwgZXJybm8pOwogCQkJcmV0dXJuIDBMOwogCQl9CkBAIC00MjA4LDcgKzQy
MjAsNyBAQAogICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAkv
LyBPcGVuIHNlbWFwaG9yZSBzZXQKLQlTTE9ORyBzZW1pZCA9IHNlbWdldChrZXksIDAsIFBSSVYp
OworCVNMT05HIHNlbWlkID0gc2VtZ2V0KGtleSwgMCwgU0VNX1BFUk0pOwogCWlmIChzZW1pZCA9
PSAtMSkgewogCQllcnJvcihzdGF0dXNfdmVjdG9yLCAic2VtZ2V0IiwgZXJybm8pOwogCQlyZXR1
cm4gLTE7CkBAIC00MjUxLDcgKzQyNjMsNyBAQAogCVNMT05HIHNlbWlkOwogCWRvIHsKIAkJLy8g
VHJ5IHRvIG9wZW4gZXhpc3Rpbmcgc2VtYXBob3JlIHNldAotCQlzZW1pZCA9IHNlbWdldChrZXks
IDAsIFBSSVYpOworCQlzZW1pZCA9IHNlbWdldChrZXksIDAsIFNFTV9QRVJNKTsKIAkJaWYgKHNl
bWlkID09IC0xKSB7CiAJCQlpZiAoZXJybm8gIT0gRU5PRU5UKSB7CiAJCQkJZXJyb3Ioc3RhdHVz
X3ZlY3RvciwgInNlbWdldCIsIGVycm5vKTsKQEAgLTQyNzgsOCArNDI5MCw4IEBACiAJCX0KIAkJ
CiAJCS8vIFRyeSB0byBjcmVhdGUgbmV3IHNlbWFwaG9yZSBzZXQKLQkJc2VtaWQgPSBzZW1nZXQo
a2V5LCBzZW1hcGhvcmVzLCBJUENfQ1JFQVQgfCBJUENfRVhDTCB8IFBSSVYpOwotCQlpZiAoc2Vt
aWQgIT0gLTEpIAorCQlzZW1pZCA9IHNlbWdldChrZXksIHNlbWFwaG9yZXMsIElQQ19DUkVBVCB8
IElQQ19FWENMIHwgU0VNX1BFUk0pOworCQlpZiAoc2VtaWQgIT0gLTEpCiAJCQlyZXR1cm4gc2Vt
aWQ7CiAJCWVsc2UKIAkJCWlmIChlcnJubyAhPSBFRVhJU1QpIHsKZGlmZiAtdXIgZmlyZWJpcmQy
LTEuNS4xLm9sZC9zcmMvanJkL3NocmluaXQuY3BwIGZpcmViaXJkMi0xLjUuMS9zcmMvanJkL3No
cmluaXQuY3BwCi0tLSBmaXJlYmlyZDItMS41LjEub2xkL3NyYy9qcmQvc2hyaW5pdC5jcHAJMjAw
My0wMi0yNCAyMTo1NDoxMi4wMDAwMDAwMDAgKzAxMDAKKysrIGZpcmViaXJkMi0xLjUuMS9zcmMv
anJkL3NocmluaXQuY3BwCTIwMDQtMDgtMTIgMTc6NTg6NDUuMDAwMDAwMDAwICswMjAwCkBAIC03
MCw4ICs3MCw2IEBACiB2b2lkICgqX2xpYmdkc19yZXdpbmQpICgpID0gMDsKIGludCAoKl9saWJn
ZHNfZnNlZWspICgpID0gMDsKIGludCAoKl9saWJnZHNfX2Zsc2J1ZikgKCkgPSAwOwotU0NIQVIo
KipfbGliZ2RzX3N5c19lcnJsaXN0KSA9IDA7Ci1pbnQgKl9saWJnZHNfc3lzX25lcnIgPSAwOwog
dm9pZCAqKCpfbGliZ2RzX21hbGxvYykgKCkgPSAwOwogaW50ICgqX2xpYmdkc19nZXR0aW1lb2Zk
YXkpICgpID0gMDsKIFNDSEFSICooKl9saWJnZHNfY3RpbWUpICgpID0gMDsKZGlmZiAtdXIgZmly
ZWJpcmQyLTEuNS4xLm9sZC9zcmMvbG9jay9sb2NrLmNwcCBmaXJlYmlyZDItMS41LjEvc3JjL2xv
Y2svbG9jay5jcHAKLS0tIGZpcmViaXJkMi0xLjUuMS5vbGQvc3JjL2xvY2svbG9jay5jcHAJMjAw
NC0wMy0yOSAwNjozNTo0OS4wMDAwMDAwMDAgKzAyMDAKKysrIGZpcmViaXJkMi0xLjUuMS9zcmMv
bG9jay9sb2NrLmNwcAkyMDA0LTA4LTEyIDE3OjU4OjQ1LjAwMDAwMDAwMCArMDIwMApAQCAtMzM4
LDE0ICszMzgsMTIgQEAKIAogCiAjaWZkZWYgU0hMSUJfREVGUwotI2RlZmluZSBzeXNfZXJybGlz
dAkoKl9saWJnZHNfc3lzX2Vycmxpc3QpCiAjZGVmaW5lIHdhaXRwaWQJCSgqX2xpYmdkc193YWl0
cGlkKQogI2RlZmluZSBleGVjbAkJKCpfbGliZ2RzX2V4ZWNsKQogI2RlZmluZSBfZXhpdAkJKCpf
bGliZ2RzX19leGl0KQogI2RlZmluZSBzdGF0aXN0aWNzCSgqX2xpYmdkc19zdGF0KQogI2RlZmlu
ZSBjaG1vZAkJKCpfbGliZ2RzX2NobW9kKQogCi1leHRlcm4gU0NIQVIgKnN5c19lcnJsaXN0W107
CiBleHRlcm4gaW50IHdhaXRwaWQoKTsKIGV4dGVybiBpbnQgZXhlY2woKTsKIGV4dGVybiB2b2lk
IF9leGl0KCk7CkBAIC0yMDY3LDcgKzIwNjUsNyBAQAogCiAjaWYgIShkZWZpbmVkIFdJTl9OVCkK
IAlpZiAoZXJybm8gPiAwKQotCQlpYl9mcHJpbnRmKGliX3N0ZGVyciwgIi0tJXNcbiIsIHN5c19l
cnJsaXN0W2Vycm5vXSk7CisJCWliX2ZwcmludGYoaWJfc3RkZXJyLCAiLS0lc1xuIiwgc3RyZXJy
b3IgKGVycm5vKSk7CiAjZW5kaWYKIAogI2lmZGVmIERFVl9CVUlMRApkaWZmIC11ciBmaXJlYmly
ZDItMS41LjEub2xkL3NyYy91dGlsaXRpZXMvYW5hbHlzZS5jcHAgZmlyZWJpcmQyLTEuNS4xL3Ny
Yy91dGlsaXRpZXMvYW5hbHlzZS5jcHAKLS0tIGZpcmViaXJkMi0xLjUuMS5vbGQvc3JjL3V0aWxp
dGllcy9hbmFseXNlLmNwcAkyMDAzLTAyLTA3IDA0OjQzOjI1LjAwMDAwMDAwMCArMDEwMAorKysg
ZmlyZWJpcmQyLTEuNS4xL3NyYy91dGlsaXRpZXMvYW5hbHlzZS5jcHAJMjAwNC0wOC0xMiAxNzo1
ODo0NS4wMDAwMDAwMDAgKzAyMDAKQEAgLTQ3LDggKzQ3LDYgQEAKICNpbmNsdWRlICJqcmQuaCIK
ICNpbmNsdWRlICJvZHMuaCIKIAotZXh0ZXJuIFNDSEFSICpzeXNfZXJybGlzdFtdOwotCiBzdGF0
aWMgdm9pZCBhbmFseXNlKGludCwgU0NIQVIgKiwgUEFHLCBpbnQpOwogc3RhdGljIFNMT05HIGdl
dF9sb25nKHZvaWQpOwogc3RhdGljIHZvaWQgZGJfZXJyb3IoaW50KTsKQEAgLTI5MCw3ICsyODgs
NyBAQAogICoKICAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KIAotCWli
X3ByaW50ZihzeXNfZXJybGlzdFtzdGF0dXNdKTsKKwlpYl9wcmludGYoc3RyZXJyb3IgKHN0YXR1
cykpOwogCWFib3J0KCk7CiB9CiAKZGlmZiAtdXIgZmlyZWJpcmQyLTEuNS4xLm9sZC9zcmMvdXRp
bGl0aWVzL2RiYS5lcHAgZmlyZWJpcmQyLTEuNS4xL3NyYy91dGlsaXRpZXMvZGJhLmVwcAotLS0g
ZmlyZWJpcmQyLTEuNS4xLm9sZC9zcmMvdXRpbGl0aWVzL2RiYS5lcHAJMjAwNC0wNC0zMCAwNjo1
OTozMS4wMDAwMDAwMDAgKzAyMDAKKysrIGZpcmViaXJkMi0xLjUuMS9zcmMvdXRpbGl0aWVzL2Ri
YS5lcHAJMjAwNC0wOC0xMiAxNzo1ODo0NS4wMDAwMDAwMDAgKzAyMDAKQEAgLTE1MjAsNyArMTUy
MCw3IEBACiAJdGRkYmEtPnBhZ2VfbnVtYmVyID0gLTE7CiAKICNpZm5kZWYgVk1TCi0JRlBSSU5U
Rih0ZGRiYS0+c3dfb3V0ZmlsZSwgIiVzXG4iLCBzeXNfZXJybGlzdFtzdGF0dXNdKTsKKwlGUFJJ
TlRGKHRkZGJhLT5zd19vdXRmaWxlLCAiJXNcbiIsIHN0cmVycm9yIChzdGF0dXMpKTsKICNlbHNl
CiAJaWYgKChwID0gc3RyZXJyb3Ioc3RhdHVzKSkgfHwgKHAgPSBzdHJlcnJvcihFVk1TRVJSLCBz
dGF0dXMpKSkKIAkJRlBSSU5URih0ZGRiYS0+c3dfb3V0ZmlsZSwgIiVzXG4iLCBwKTsKZGlmZiAt
dXIgZmlyZWJpcmQyLTEuNS4xLm9sZC9zcmMvdXRpbGl0aWVzL2RiYV9mdWxsLmVwcCBmaXJlYmly
ZDItMS41LjEvc3JjL3V0aWxpdGllcy9kYmFfZnVsbC5lcHAKLS0tIGZpcmViaXJkMi0xLjUuMS5v
bGQvc3JjL3V0aWxpdGllcy9kYmFfZnVsbC5lcHAJMjAwMy0wNC0xNiAxMjoxODozNS4wMDAwMDAw
MDAgKzAyMDAKKysrIGZpcmViaXJkMi0xLjUuMS9zcmMvdXRpbGl0aWVzL2RiYV9mdWxsLmVwcAky
MDA0LTA4LTEyIDE3OjU4OjQ1LjAwMDAwMDAwMCArMDIwMApAQCAtNjMsOCArNjMsNiBAQAogCiAj
aWYgKGRlZmluZWQgV0lOX05UKQogI2luY2x1ZGUgPHN0ZGxpYi5oPgotI2Vsc2UKLWV4dGVybiBT
Q0hBUiAqc3lzX2Vycmxpc3RbXTsKICNlbmRpZgogCiB0eXBlZGVmIHN0cnVjdCBkYmFfcmVsIHsK
QEAgLTExMjIsNyArMTEyMCw3IEBACiAJdGRkYmEgPSBHRVRfVEhSRUFEX0RBVEE7CiAKICNpZm5k
ZWYgVk1TCi0JRlBSSU5URih0ZGRiYS0+c3dfb3V0ZmlsZSwgIiVzXG4iLCBzeXNfZXJybGlzdFtz
dGF0dXNdKTsKKwlGUFJJTlRGKHRkZGJhLT5zd19vdXRmaWxlLCAiJXNcbiIsIHN0cmVycm9yIChz
dGF0dXMpKTsKICNlbHNlCiAJaWYgKChwID0gc3RyZXJyb3Ioc3RhdHVzKSkgfHwgKHAgPSBzdHJl
cnJvcihFVk1TRVJSLCBzdGF0dXMpKSkKIAkJRlBSSU5URih0ZGRiYS0+c3dfb3V0ZmlsZSwgIiVz
XG4iLCBwKTsKZGlmZiAtdXIgZmlyZWJpcmQyLTEuNS4xLm9sZC9zcmMvdXRpbGl0aWVzL3JlYnVp
bGQuY3BwIGZpcmViaXJkMi0xLjUuMS9zcmMvdXRpbGl0aWVzL3JlYnVpbGQuY3BwCi0tLSBmaXJl
YmlyZDItMS41LjEub2xkL3NyYy91dGlsaXRpZXMvcmVidWlsZC5jcHAJMjAwMy0wMi0xNCAwMzox
NDo0MS4wMDAwMDAwMDAgKzAxMDAKKysrIGZpcmViaXJkMi0xLjUuMS9zcmMvdXRpbGl0aWVzL3Jl
YnVpbGQuY3BwCTIwMDQtMDgtMTIgMTc6NTg6NDUuMDAwMDAwMDAwICswMjAwCkBAIC01Niw4ICs1
Niw2IEBACiAKIElCX0ZJTEUgKmRiZ19maWxlOwogCi1leHRlcm4gU0NIQVIgKnN5c19lcnJsaXN0
W107Ci0KIHN0YXRpYyB2b2lkIGNoZWNrc3VtKFJCREIsIFVMT05HLCBVTE9ORywgVUNIQVIpOwog
c3RhdGljIFVTSE9SVCBjb21wdXRlX2NoZWNrc3VtKFJCREIsIFBBRyk7CiBzdGF0aWMgdm9pZCBk
Yl9lcnJvcihpbnQpOwpAQCAtNTM2LDcgKzUzNCw3IEBACiAgKgogICoqKioqKioqKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqLwogCi0JaWJfcHJpbnRmKHN5c19lcnJsaXN0W3N0YXR1c10p
OworCWliX3ByaW50ZihzdHJlcnJvciAoc3RhdHVzKSk7CiAJZXhpdChGSU5JX0VSUk9SKTsKIH0K
IApkaWZmIC11ciBmaXJlYmlyZDItMS41LjEub2xkL3NyYy91dGlsaXRpZXMvc2JjX3ByaW50LmNw
cCBmaXJlYmlyZDItMS41LjEvc3JjL3V0aWxpdGllcy9zYmNfcHJpbnQuY3BwCi0tLSBmaXJlYmly
ZDItMS41LjEub2xkL3NyYy91dGlsaXRpZXMvc2JjX3ByaW50LmNwcAkyMDAzLTA0LTE2IDEyOjE4
OjM2LjAwMDAwMDAwMCArMDIwMAorKysgZmlyZWJpcmQyLTEuNS4xL3NyYy91dGlsaXRpZXMvc2Jj
X3ByaW50LmNwcAkyMDA0LTA4LTEyIDE3OjU4OjQ1LjAwMDAwMDAwMCArMDIwMApAQCAtNjksMTAg
KzY5LDYgQEAKIAogI2RlZmluZSBERUZBVUxUX1NJWkUJODE5MgogCi0jaWYgIShkZWZpbmVkIFdJ
Tl9OVCkKLWV4dGVybiBTQ0hBUiAqc3lzX2Vycmxpc3RbXTsKLSNlbmRpZgotCiBzdGF0aWMgdm9p
ZCBjYWNoZV9pbml0KHZvaWQpOwogc3RhdGljIHZvaWQgZGJfZ2V0X3NiYyhTQ0hBUiAqLCBTQ0hB
UiAqLCBTTE9ORyAqLCBTU0hPUlQgKik7CiAKQEAgLTQ5MCw3ICs0ODYsNyBAQAogCVNDSEFSICpw
OwogCiAjaWZuZGVmIFZNUwotCWliX3ByaW50ZihzeXNfZXJybGlzdFtzdGF0dXNdKTsKKwlpYl9w
cmludGYoc3RyZXJyb3IgKHN0YXR1cykpOwogI2Vsc2UKIAlpZiAoKHAgPSBzdHJlcnJvcihzdGF0
dXMpKSB8fCAocCA9IHN0cmVycm9yKEVWTVNFUlIsIHN0YXR1cykpKQogCQlpYl9wcmludGYoIiVz
XG4iLCBwKTsK

--===============1263772313==--