<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>157582</bug_id>
          
          <creation_ts>2006-12-09 01:54 0000</creation_ts>
          <short_desc>games-engines/scummvm-0.9.1 flac 1.1.3 compatibility patch</short_desc>
          <delta_ts>2006-12-12 14:41:09 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>2006.1</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>152007</blocked>
          
          <everconfirmed>1</everconfirmed>
          <reporter>aballier@gentoo.org</reporter>
          <assigned_to>games@gentoo.org</assigned_to>
          <cc>sound@gentoo.org</cc>

      

      
          <long_desc isprivate="0">
            <who>aballier@gentoo.org</who>
            <bug_when>2006-12-09 01:54:46 0000</bug_when>
            <thetext>Mail from Josh Coalson : 
&quot;
hi devs, attached are patches to scummvm-0.9.0 to make the code
work with both the upcoming FLAC 1.1.3 release and previous
versions.  a beta of FLAC 1.1.3 is available here:
http://prdownloads.sourceforge.net/flac/flac-1.1.3-beta2.tar.gz?download

changelog:
http://flac.cvs.sourceforge.net/*checkout*/flac/flac/doc/html/changelog.html

the LEGACY_FLAC stuff can be removed once FLAC-1.1.3 has propagated
everywhere.

the patch also should work against svn HEAD as all the files
affected are the same.

let me know if you have any questions or problems...

Josh
&quot;

Maybe this would help if you want to carefully review the patch : 
http://flac.sourceforge.net/api/group__porting.html


The guideline I&apos;ve followed to patch sound/video apps is : 
review and apply the patch
test with both flac 1.1.2 &amp; flac 1.1.3
remove the ~ dep on flac 1.1.2


By doing so we&apos;ll be able to unmask flac 1.1.3 as soon as the deptree will be correct.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>aballier@gentoo.org</who>
            <bug_when>2006-12-09 01:57:29 0000</bug_when>
            <thetext>Created an attachment (id=103667)
Patch from Josh Coalson

It&apos;s named 0.9.0 as it was done when 0.9.1 was not out, but it applies as well to 0.9.1.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>wolf31o2@gentoo.org</who>
            <bug_when>2006-12-12 14:41:09 0000</bug_when>
            <thetext>Fixed in CVS... thanks for the patch...</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>103667</attachid>
            <date>2006-12-09 01:57 0000</date>
            <desc>Patch from Josh Coalson</desc>
            <filename>scummvm-0.9.0+flac-1.1.3.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtciAtdSBzY3VtbXZtLTAuOS4wL2NvbmZpZ3VyZSBzY3VtbXZtLTAuOS4wLWIyL2NvbmZp
Z3VyZQotLS0gc2N1bW12bS0wLjkuMC9jb25maWd1cmUJMjAwNi0wNi0yMSAxNDoxOTowNy4wMDAw
MDAwMDAgLTA3MDAKKysrIHNjdW1tdm0tMC45LjAtYjIvY29uZmlndXJlCTIwMDYtMTAtMjUgMDA6
MTA6MzUuMDAwMDAwMDAwIC0wNzAwCkBAIC0xMDc2LDE1ICsxMDc2LDE1IEBACiBpZiB0ZXN0ICIk
X2ZsYWMiID0gYXV0byA7IHRoZW4KIAlfZmxhYz1ubwogCWNhdCA+ICRUTVBDIDw8IEVPRgotI2lu
Y2x1ZGUgPEZMQUMvc2Vla2FibGVfc3RyZWFtX2RlY29kZXIuaD4KLWludCBtYWluKHZvaWQpIHsg
RkxBQ19fc2Vla2FibGVfc3RyZWFtX2RlY29kZXJfaW5pdCggMCApOyByZXR1cm4gMDsgfQorI2lu
Y2x1ZGUgPEZMQUMvZm9ybWF0Lmg+CitpbnQgbWFpbih2b2lkKSB7IHJldHVybiBGTEFDX19TVFJF
QU1fU1lOQ19MRU4gPj4gMzA7IC8qIGd1YXJhbnRlZWQgdG8gYmUgMCAqLyB9CiBFT0YKLQljY19j
aGVjayAkTERGTEFHUyAkQ1hYRkxBR1MgJEZMQUNfQ0ZMQUdTICRGTEFDX0xJQlMgXAotCS1sRkxB
QyAtbG0gJiYgX2ZsYWM9eWVzCisJY2NfY2hlY2sgJExERkxBR1MgJENYWEZMQUdTICRGTEFDX0NG
TEFHUyAkRkxBQ19MSUJTICRPR0dfQ0ZMQUdTICRPR0dfTElCUyBcCisJLWxGTEFDIC1sb2dnIC1s
bSAmJiBfZmxhYz15ZXMKIGZpCiBpZiB0ZXN0ICIkX2ZsYWMiID0geWVzIDsgdGhlbgogCV9kZWZf
ZmxhYz0nI2RlZmluZSBVU0VfRkxBQycKLQlMSUJTPSIkTElCUyAkRkxBQ19MSUJTIC1sRkxBQyIK
KwlMSUJTPSIkTElCUyAkRkxBQ19MSUJTICRPR0dfTElCUyAtbEZMQUMgLWxvZ2ciCiAJSU5DTFVE
RVM9IiRJTkNMVURFUyAkRkxBQ19DRkxBR1MiCiBlbHNlCiAJX2RlZl9mbGFjPScjdW5kZWYgVVNF
X0ZMQUMnCmRpZmYgLXIgLXUgc2N1bW12bS0wLjkuMC9zb3VuZC9mbGFjLmNwcCBzY3VtbXZtLTAu
OS4wLWIyL3NvdW5kL2ZsYWMuY3BwCi0tLSBzY3VtbXZtLTAuOS4wL3NvdW5kL2ZsYWMuY3BwCTIw
MDYtMDYtMjEgMTQ6MTY6MTMuMDAwMDAwMDAwIC0wNzAwCisrKyBzY3VtbXZtLTAuOS4wLWIyL3Nv
dW5kL2ZsYWMuY3BwCTIwMDYtMTAtMjUgMDA6MDg6MTguMDAwMDAwMDAwIC0wNzAwCkBAIC0zMSw3
ICszMSwxOCBAQAogI2luY2x1ZGUgInNvdW5kL2F1ZGlvY2QuaCIKIAogI2RlZmluZSBGTEFDX19O
T19ETEwgLy8gdGhhdCBNUy1tYWdpYyBnYXZlIG1lIGhlYWRhY2hlcyAtIGp1c3QgbGluayB0aGUg
bGlicmFyeSB5b3UgbGlrZQorI2luY2x1ZGUgPEZMQUMvZXhwb3J0Lmg+CisvLyBjaGVjayBpZiB3
ZSBoYXZlIEZMQUMgPj0gMS4xLjM7IExFR0FDWV9GTEFDIGNvZGUgY2FuIGJlIHJlbW92ZWQgb25j
ZSBGTEFDLTEuMS4zIHByb3BhZ2F0ZXMgZXZlcnl3aGVyZQorI2lmICFkZWZpbmVkKEZMQUNfQVBJ
X1ZFUlNJT05fQ1VSUkVOVCkgfHwgRkxBQ19BUElfVkVSU0lPTl9DVVJSRU5UIDwgOAorI2RlZmlu
ZSBMRUdBQ1lfRkxBQworI2Vsc2UKKyN1bmRlZiBMRUdBQ1lfRkxBQworI2VuZGlmCisjaWZkZWYg
TEVHQUNZX0ZMQUMKICNpbmNsdWRlIDxGTEFDL3NlZWthYmxlX3N0cmVhbV9kZWNvZGVyLmg+Cisj
ZWxzZQorI2luY2x1ZGUgPEZMQUMvc3RyZWFtX2RlY29kZXIuaD4KKyNlbmRpZgogCiAKIHVzaW5n
IENvbW1vbjo6RmlsZTsKQEAgLTY3LDcgKzc4LDExIEBACiAKIAljb25zdCBGTEFDX19TdHJlYW1N
ZXRhZGF0YV9TdHJlYW1JbmZvJiBnZXRTdHJlYW1JbmZvKCkgY29uc3Qge3JldHVybiBfc3RyZWFt
aW5mbzt9CiAKKyNpZmRlZiBMRUdBQ1lfRkxBQwogCWlubGluZSBGTEFDX19TZWVrYWJsZVN0cmVh
bURlY29kZXJTdGF0ZSBnZXRTdGF0ZSgpIGNvbnN0OworI2Vsc2UKKwlpbmxpbmUgRkxBQ19fU3Ry
ZWFtRGVjb2RlclN0YXRlIGdldFN0YXRlKCkgY29uc3Q7CisjZW5kaWYKIAlpbmxpbmUgRkxBQ19f
U3RyZWFtRGVjb2RlclN0YXRlIGdldFN0cmVhbURlY29kZXJTdGF0ZSgpIGNvbnN0OwogCiAKQEAg
LTgxLDE4ICs5NiwzMCBAQAogCWlubGluZSB2b2lkIHNldExhc3RTYW1wbGUoRkxBQ19fdWludDY0
IGFic29sdXRlU2FtcGxlKTsKIAogcHJvdGVjdGVkOgorI2lmZGVmIExFR0FDWV9GTEFDCiAJaW5s
aW5lIDo6RkxBQ19fU2Vla2FibGVTdHJlYW1EZWNvZGVyUmVhZFN0YXR1cyBjYWxsYmFja1JlYWQo
RkxBQ19fYnl0ZSBidWZmZXJbXSwgdWludCAqYnl0ZXMpOwogCWlubGluZSA6OkZMQUNfX1NlZWth
YmxlU3RyZWFtRGVjb2RlclNlZWtTdGF0dXMgY2FsbGJhY2tTZWVrKEZMQUNfX3VpbnQ2NCBhYnNv
bHV0ZUJ5dGVPZmZzZXQpOwogCWlubGluZSA6OkZMQUNfX1NlZWthYmxlU3RyZWFtRGVjb2RlclRl
bGxTdGF0dXMgY2FsbGJhY2tUZWxsKEZMQUNfX3VpbnQ2NCAqYWJzb2x1dGVCeXRlT2Zmc2V0KTsK
IAlpbmxpbmUgOjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXJMZW5ndGhTdGF0dXMgY2FsbGJh
Y2tMZW5ndGgoRkxBQ19fdWludDY0ICpzdHJlYW1MZW5ndGgpOworI2Vsc2UKKwlpbmxpbmUgOjpG
TEFDX19TdHJlYW1EZWNvZGVyUmVhZFN0YXR1cyBjYWxsYmFja1JlYWQoRkxBQ19fYnl0ZSBidWZm
ZXJbXSwgc2l6ZV90ICpieXRlcyk7CisJaW5saW5lIDo6RkxBQ19fU3RyZWFtRGVjb2RlclNlZWtT
dGF0dXMgY2FsbGJhY2tTZWVrKEZMQUNfX3VpbnQ2NCBhYnNvbHV0ZUJ5dGVPZmZzZXQpOworCWlu
bGluZSA6OkZMQUNfX1N0cmVhbURlY29kZXJUZWxsU3RhdHVzIGNhbGxiYWNrVGVsbChGTEFDX191
aW50NjQgKmFic29sdXRlQnl0ZU9mZnNldCk7CisJaW5saW5lIDo6RkxBQ19fU3RyZWFtRGVjb2Rl
ckxlbmd0aFN0YXR1cyBjYWxsYmFja0xlbmd0aChGTEFDX191aW50NjQgKnN0cmVhbUxlbmd0aCk7
CisjZW5kaWYKIAlpbmxpbmUgYm9vbCBjYWxsYmFja0VPRigpOwogCWlubGluZSA6OkZMQUNfX1N0
cmVhbURlY29kZXJXcml0ZVN0YXR1cyBjYWxsYmFja1dyaXRlKGNvbnN0IDo6RkxBQ19fRnJhbWUg
KmZyYW1lLCBjb25zdCBGTEFDX19pbnQzMiAqIGNvbnN0IGJ1ZmZlcltdKTsKIAlpbmxpbmUgdm9p
ZCBjYWxsYmFja01ldGFkYXRhKGNvbnN0IDo6RkxBQ19fU3RyZWFtTWV0YWRhdGEgKm1ldGFkYXRh
KTsKIAlpbmxpbmUgdm9pZCBjYWxsYmFja0Vycm9yKDo6RkxBQ19fU3RyZWFtRGVjb2RlckVycm9y
U3RhdHVzIHN0YXR1cyk7CiAKKyNpZmRlZiBMRUdBQ1lfRkxBQwogCTo6RkxBQ19fU2Vla2FibGVT
dHJlYW1EZWNvZGVyICpfZGVjb2RlcjsKKyNlbHNlCisJOjpGTEFDX19TdHJlYW1EZWNvZGVyICpf
ZGVjb2RlcjsKKyNlbmRpZgogCiBwcml2YXRlOgorI2lmZGVmIExFR0FDWV9GTEFDCiAJc3RhdGlj
IDo6RkxBQ19fU2Vla2FibGVTdHJlYW1EZWNvZGVyUmVhZFN0YXR1cyBjYWxsV3JhcFJlYWQoY29u
c3QgOjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXIgKmRlY29kZXIsIEZMQUNfX2J5dGUgYnVm
ZmVyW10sIHVpbnQgKmJ5dGVzLCB2b2lkICpjbGllbnREYXRhKTsKIAlzdGF0aWMgOjpGTEFDX19T
ZWVrYWJsZVN0cmVhbURlY29kZXJTZWVrU3RhdHVzIGNhbGxXcmFwU2Vlayhjb25zdCA6OkZMQUNf
X1NlZWthYmxlU3RyZWFtRGVjb2RlciAqZGVjb2RlciwgRkxBQ19fdWludDY0IGFic29sdXRlQnl0
ZU9mZnNldCwgdm9pZCAqY2xpZW50RGF0YSk7CiAJc3RhdGljIDo6RkxBQ19fU2Vla2FibGVTdHJl
YW1EZWNvZGVyVGVsbFN0YXR1cyBjYWxsV3JhcFRlbGwoY29uc3QgOjpGTEFDX19TZWVrYWJsZVN0
cmVhbURlY29kZXIgKmRlY29kZXIsIEZMQUNfX3VpbnQ2NCAqYWJzb2x1dGVCeXRlT2Zmc2V0LCB2
b2lkICpjbGllbnREYXRhKTsKQEAgLTEwMSw2ICsxMjgsMTYgQEAKIAlzdGF0aWMgOjpGTEFDX19T
dHJlYW1EZWNvZGVyV3JpdGVTdGF0dXMgY2FsbFdyYXBXcml0ZShjb25zdCA6OkZMQUNfX1NlZWth
YmxlU3RyZWFtRGVjb2RlciAqZGVjb2RlciwgY29uc3QgOjpGTEFDX19GcmFtZSAqZnJhbWUsIGNv
bnN0IEZMQUNfX2ludDMyICogY29uc3QgYnVmZmVyW10sIHZvaWQgKmNsaWVudERhdGEpOwogCXN0
YXRpYyB2b2lkIGNhbGxXcmFwTWV0YWRhdGEoY29uc3QgOjpGTEFDX19TZWVrYWJsZVN0cmVhbURl
Y29kZXIgKmRlY29kZXIsIGNvbnN0IDo6RkxBQ19fU3RyZWFtTWV0YWRhdGEgKm1ldGFkYXRhLCB2
b2lkICpjbGllbnREYXRhKTsKIAlzdGF0aWMgdm9pZCBjYWxsV3JhcEVycm9yKGNvbnN0IDo6RkxB
Q19fU2Vla2FibGVTdHJlYW1EZWNvZGVyICpkZWNvZGVyLCA6OkZMQUNfX1N0cmVhbURlY29kZXJF
cnJvclN0YXR1cyBzdGF0dXMsIHZvaWQgKmNsaWVudERhdGEpOworI2Vsc2UKKwlzdGF0aWMgOjpG
TEFDX19TdHJlYW1EZWNvZGVyUmVhZFN0YXR1cyBjYWxsV3JhcFJlYWQoY29uc3QgOjpGTEFDX19T
dHJlYW1EZWNvZGVyICpkZWNvZGVyLCBGTEFDX19ieXRlIGJ1ZmZlcltdLCBzaXplX3QgKmJ5dGVz
LCB2b2lkICpjbGllbnREYXRhKTsKKwlzdGF0aWMgOjpGTEFDX19TdHJlYW1EZWNvZGVyU2Vla1N0
YXR1cyBjYWxsV3JhcFNlZWsoY29uc3QgOjpGTEFDX19TdHJlYW1EZWNvZGVyICpkZWNvZGVyLCBG
TEFDX191aW50NjQgYWJzb2x1dGVCeXRlT2Zmc2V0LCB2b2lkICpjbGllbnREYXRhKTsKKwlzdGF0
aWMgOjpGTEFDX19TdHJlYW1EZWNvZGVyVGVsbFN0YXR1cyBjYWxsV3JhcFRlbGwoY29uc3QgOjpG
TEFDX19TdHJlYW1EZWNvZGVyICpkZWNvZGVyLCBGTEFDX191aW50NjQgKmFic29sdXRlQnl0ZU9m
ZnNldCwgdm9pZCAqY2xpZW50RGF0YSk7CisJc3RhdGljIDo6RkxBQ19fU3RyZWFtRGVjb2Rlckxl
bmd0aFN0YXR1cyBjYWxsV3JhcExlbmd0aChjb25zdCA6OkZMQUNfX1N0cmVhbURlY29kZXIgKmRl
Y29kZXIsIEZMQUNfX3VpbnQ2NCAqc3RyZWFtTGVuZ3RoLCB2b2lkICpjbGllbnREYXRhKTsKKwlz
dGF0aWMgRkxBQ19fYm9vbCBjYWxsV3JhcEVPRihjb25zdCA6OkZMQUNfX1N0cmVhbURlY29kZXIg
KmRlY29kZXIsIHZvaWQgKmNsaWVudERhdGEpOworCXN0YXRpYyA6OkZMQUNfX1N0cmVhbURlY29k
ZXJXcml0ZVN0YXR1cyBjYWxsV3JhcFdyaXRlKGNvbnN0IDo6RkxBQ19fU3RyZWFtRGVjb2RlciAq
ZGVjb2RlciwgY29uc3QgOjpGTEFDX19GcmFtZSAqZnJhbWUsIGNvbnN0IEZMQUNfX2ludDMyICog
Y29uc3QgYnVmZmVyW10sIHZvaWQgKmNsaWVudERhdGEpOworCXN0YXRpYyB2b2lkIGNhbGxXcmFw
TWV0YWRhdGEoY29uc3QgOjpGTEFDX19TdHJlYW1EZWNvZGVyICpkZWNvZGVyLCBjb25zdCA6OkZM
QUNfX1N0cmVhbU1ldGFkYXRhICptZXRhZGF0YSwgdm9pZCAqY2xpZW50RGF0YSk7CisJc3RhdGlj
IHZvaWQgY2FsbFdyYXBFcnJvcihjb25zdCA6OkZMQUNfX1N0cmVhbURlY29kZXIgKmRlY29kZXIs
IDo6RkxBQ19fU3RyZWFtRGVjb2RlckVycm9yU3RhdHVzIHN0YXR1cywgdm9pZCAqY2xpZW50RGF0
YSk7CisjZW5kaWYKIAkvLyBQcml2YXRlIGFuZCB1bmRlZmluZWQgc28geW91IGNhbid0IHVzZSB0
aGVtOgogCUZsYWNJbnB1dFN0cmVhbShjb25zdCBGbGFjSW5wdXRTdHJlYW0gJik7CiAJdm9pZCBv
cGVyYXRvcj0oY29uc3QgRmxhY0lucHV0U3RyZWFtICYpOwpAQCAtMTU3LDcgKzE5NCwxMiBAQAog
fTsKIAogRmxhY0lucHV0U3RyZWFtOjpGbGFjSW5wdXRTdHJlYW0oRmlsZSAqc291cmNlRmlsZSwg
Y29uc3QgdWludDMyIGZpbGVTdGFydCkKLQkJCToJX2RlY29kZXIoOjpGTEFDX19zZWVrYWJsZV9z
dHJlYW1fZGVjb2Rlcl9uZXcoKSksIF9maXJzdFNhbXBsZSgwKSwgX2xhc3RTYW1wbGUoMCksCisj
aWZkZWYgTEVHQUNZX0ZMQUMKKwkJCToJX2RlY29kZXIoOjpGTEFDX19zZWVrYWJsZV9zdHJlYW1f
ZGVjb2Rlcl9uZXcoKSksCisjZWxzZQorCQkJOglfZGVjb2Rlcig6OkZMQUNfX3N0cmVhbV9kZWNv
ZGVyX25ldygpKSwKKyNlbmRpZgorCQkJCV9maXJzdFNhbXBsZSgwKSwgX2xhc3RTYW1wbGUoMCks
CiAJCQkJX291dEJ1ZmZlcihOVUxMKSwgX3JlcXVlc3RlZFNhbXBsZXMoMCksIF9sYXN0U2FtcGxl
V3JpdHRlbih0cnVlKSwKIAkJCQlfbWV0aG9kQ29udmVydEJ1ZmZlcnMoJkZsYWNJbnB1dFN0cmVh
bTo6Y29udmVydEJ1ZmZlcnNHZW5lcmljKQogewpAQCAtMTc4LDcgKzIyMCwxMiBAQAogfQogCiBG
bGFjSW5wdXRTdHJlYW06OkZsYWNJbnB1dFN0cmVhbShGaWxlICpzb3VyY2VGaWxlLCBjb25zdCB1
aW50MzIgZmlsZVN0YXJ0LCBjb25zdCB1aW50MzIgZmlsZVN0b3ApCi0JCQk6CV9kZWNvZGVyKDo6
RkxBQ19fc2Vla2FibGVfc3RyZWFtX2RlY29kZXJfbmV3KCkpLCBfZmlyc3RTYW1wbGUoMCksIF9s
YXN0U2FtcGxlKDApLAorI2lmZGVmIExFR0FDWV9GTEFDCisJCQk6CV9kZWNvZGVyKDo6RkxBQ19f
c2Vla2FibGVfc3RyZWFtX2RlY29kZXJfbmV3KCkpLAorI2Vsc2UKKwkJCToJX2RlY29kZXIoOjpG
TEFDX19zdHJlYW1fZGVjb2Rlcl9uZXcoKSksCisjZW5kaWYKKwkJCQlfZmlyc3RTYW1wbGUoMCks
IF9sYXN0U2FtcGxlKDApLAogCQkJCV9vdXRCdWZmZXIoTlVMTCksIF9yZXF1ZXN0ZWRTYW1wbGVz
KDApLCBfbGFzdFNhbXBsZVdyaXR0ZW4odHJ1ZSksCiAJCQkJX21ldGhvZENvbnZlcnRCdWZmZXJz
KCZGbGFjSW5wdXRTdHJlYW06OmNvbnZlcnRCdWZmZXJzR2VuZXJpYykKIHsKQEAgLTIwMSw4ICsy
NDgsMTMgQEAKIAogRmxhY0lucHV0U3RyZWFtOjp+RmxhY0lucHV0U3RyZWFtKCkgewogCWlmIChf
ZGVjb2RlciAhPSBOVUxMKSB7CisjaWZkZWYgTEVHQUNZX0ZMQUMKIAkJKHZvaWQpIDo6RkxBQ19f
c2Vla2FibGVfc3RyZWFtX2RlY29kZXJfZmluaXNoKF9kZWNvZGVyKTsKIAkJOjpGTEFDX19zZWVr
YWJsZV9zdHJlYW1fZGVjb2Rlcl9kZWxldGUoX2RlY29kZXIpOworI2Vsc2UKKwkJKHZvaWQpIDo6
RkxBQ19fc3RyZWFtX2RlY29kZXJfZmluaXNoKF9kZWNvZGVyKTsKKwkJOjpGTEFDX19zdHJlYW1f
ZGVjb2Rlcl9kZWxldGUoX2RlY29kZXIpOworI2VuZGlmCiAJfQogCWlmIChfcHJlQnVmZmVyLmJ1
ZkRhdGEgIT0gTlVMTCkKIAkJZGVsZXRlW10gX3ByZUJ1ZmZlci5idWZEYXRhOwpAQCAtMjEwLDE0
ICsyNjIsMjcgQEAKIAlfZmlsZUluZm8uZmlsZUhhbmRsZS0+ZGVjUmVmKCk7CiB9CiAKLWlubGlu
ZSBGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXJTdGF0ZSBGbGFjSW5wdXRTdHJlYW06OmdldFN0
YXRlKCkgY29uc3QgeworI2lmZGVmIExFR0FDWV9GTEFDCitpbmxpbmUgRkxBQ19fU2Vla2FibGVT
dHJlYW1EZWNvZGVyU3RhdGUgRmxhY0lucHV0U3RyZWFtOjpnZXRTdGF0ZSgpIGNvbnN0CisjZWxz
ZQoraW5saW5lIEZMQUNfX1N0cmVhbURlY29kZXJTdGF0ZSBGbGFjSW5wdXRTdHJlYW06OmdldFN0
YXRlKCkgY29uc3QKKyNlbmRpZgorewogCWFzc2VydChpc1ZhbGlkKCkpOworI2lmZGVmIExFR0FD
WV9GTEFDCiAJcmV0dXJuIDo6RkxBQ19fc2Vla2FibGVfc3RyZWFtX2RlY29kZXJfZ2V0X3N0YXRl
KF9kZWNvZGVyKTsKKyNlbHNlCisJcmV0dXJuIDo6RkxBQ19fc3RyZWFtX2RlY29kZXJfZ2V0X3N0
YXRlKF9kZWNvZGVyKTsKKyNlbmRpZgogfQogCiBpbmxpbmUgRkxBQ19fU3RyZWFtRGVjb2RlclN0
YXRlIEZsYWNJbnB1dFN0cmVhbTo6Z2V0U3RyZWFtRGVjb2RlclN0YXRlKCkgY29uc3QgewogCWFz
c2VydChpc1ZhbGlkKCkpOworI2lmZGVmIExFR0FDWV9GTEFDCiAJcmV0dXJuIDo6RkxBQ19fc2Vl
a2FibGVfc3RyZWFtX2RlY29kZXJfZ2V0X3N0cmVhbV9kZWNvZGVyX3N0YXRlKF9kZWNvZGVyKTsK
KyNlbHNlCisJcmV0dXJuIDo6RkxBQ19fc3RyZWFtX2RlY29kZXJfZ2V0X3N0YXRlKF9kZWNvZGVy
KTsKKyNlbmRpZgogfQogCiBib29sIEZsYWNJbnB1dFN0cmVhbTo6aW5pdCgpIHsKQEAgLTIyOSw2
ICsyOTQsNyBAQAogCV9sYXN0U2FtcGxlV3JpdHRlbiA9IGZhbHNlOwogCV9tZXRob2RDb252ZXJ0
QnVmZmVycyA9ICZGbGFjSW5wdXRTdHJlYW06OmNvbnZlcnRCdWZmZXJzR2VuZXJpYzsKIAorI2lm
ZGVmIExFR0FDWV9GTEFDCiAJOjpGTEFDX19zZWVrYWJsZV9zdHJlYW1fZGVjb2Rlcl9zZXRfcmVh
ZF9jYWxsYmFjayhfZGVjb2RlciwgJkZsYWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBSZWFkKTsKIAk6
OkZMQUNfX3NlZWthYmxlX3N0cmVhbV9kZWNvZGVyX3NldF9zZWVrX2NhbGxiYWNrKF9kZWNvZGVy
LCAmRmxhY0lucHV0U3RyZWFtOjpjYWxsV3JhcFNlZWspOwogCTo6RkxBQ19fc2Vla2FibGVfc3Ry
ZWFtX2RlY29kZXJfc2V0X3RlbGxfY2FsbGJhY2soX2RlY29kZXIsICZGbGFjSW5wdXRTdHJlYW06
OmNhbGxXcmFwVGVsbCk7CkBAIC0yNDcsNiArMzEzLDI3IEBACiAJCQl9CiAJCX0KIAl9CisjZWxz
ZQorCWlmICg6OkZMQUNfX3N0cmVhbV9kZWNvZGVyX2luaXRfc3RyZWFtKAorCQlfZGVjb2RlciwK
KwkJJkZsYWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBSZWFkLCAKKwkJJkZsYWNJbnB1dFN0cmVhbTo6
Y2FsbFdyYXBTZWVrLCAKKwkJJkZsYWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBUZWxsLCAKKwkJJkZs
YWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBMZW5ndGgsIAorCQkmRmxhY0lucHV0U3RyZWFtOjpjYWxs
V3JhcEVPRiwgCisJCSZGbGFjSW5wdXRTdHJlYW06OmNhbGxXcmFwV3JpdGUsIAorCQkmRmxhY0lu
cHV0U3RyZWFtOjpjYWxsV3JhcE1ldGFkYXRhLCAKKwkJJkZsYWNJbnB1dFN0cmVhbTo6Y2FsbFdy
YXBFcnJvciwgCisJCSh2b2lkKil0aGlzCisJKSA9PSBGTEFDX19TVFJFQU1fREVDT0RFUl9JTklU
X1NUQVRVU19PSykgeworCQlpZiAocHJvY2Vzc1VudGlsRW5kT2ZNZXRhZGF0YSgpICYmIF9zdHJl
YW1pbmZvLmNoYW5uZWxzID4gMCkgeworCQkJaWYgKF9maXJzdFNhbXBsZSA9PSAwIHx8IDAgIT0g
OjpGTEFDX19zdHJlYW1fZGVjb2Rlcl9zZWVrX2Fic29sdXRlKF9kZWNvZGVyLCBfZmlyc3RTYW1w
bGUpKSB7CisJCQkJLy8gRkxBQ19fU3RyZWFtRGVjb2RlclN0YXRlIHN0YXRlID0gZ2V0U3RyZWFt
RGVjb2RlclN0YXRlKCk7CisJCQkJcmV0dXJuIHRydWU7IC8vIG5vIGVycm9yIG9jY3VyZWQKKwkJ
CX0KKwkJfQorCX0KKyNlbmRpZgogCiAJd2FybmluZygiRmxhY0lucHV0U3RyZWFtOiBjb3VsZCBu
b3QgY3JlYXRlIGFuIEF1ZGlvc3RyZWFtIGZyb20gRmlsZSAlcyIsIF9maWxlSW5mby5maWxlSGFu
ZGxlLT5uYW1lKCkpOwogCXJldHVybiBmYWxzZTsKQEAgLTI1NSwyOCArMzQyLDQ4IEBACiBib29s
IEZsYWNJbnB1dFN0cmVhbTo6ZmluaXNoKCkgewogCWFzc2VydChpc1ZhbGlkKCkpOwogCWRlbGV0
ZUJ1ZmZlcigpOworI2lmZGVmIExFR0FDWV9GTEFDCiAJcmV0dXJuIDAgIT0gOjpGTEFDX19zZWVr
YWJsZV9zdHJlYW1fZGVjb2Rlcl9maW5pc2goX2RlY29kZXIpOworI2Vsc2UKKwlyZXR1cm4gMCAh
PSA6OkZMQUNfX3N0cmVhbV9kZWNvZGVyX2ZpbmlzaChfZGVjb2Rlcik7CisjZW5kaWYKIH0KIAog
Ym9vbCBGbGFjSW5wdXRTdHJlYW06OmZsdXNoKCkgewogCWFzc2VydChpc1ZhbGlkKCkpOwogCWZs
dXNoQnVmZmVyKCk7CisjaWZkZWYgTEVHQUNZX0ZMQUMKIAlyZXR1cm4gMCAhPSA6OkZMQUNfX3Nl
ZWthYmxlX3N0cmVhbV9kZWNvZGVyX2ZsdXNoKF9kZWNvZGVyKTsKKyNlbHNlCisJcmV0dXJuIDAg
IT0gOjpGTEFDX19zdHJlYW1fZGVjb2Rlcl9mbHVzaChfZGVjb2Rlcik7CisjZW5kaWYKIH0KIAog
aW5saW5lIGJvb2wgRmxhY0lucHV0U3RyZWFtOjpwcm9jZXNzU2luZ2xlQmxvY2soKSB7CiAJYXNz
ZXJ0KGlzVmFsaWQoKSk7CisjaWZkZWYgTEVHQUNZX0ZMQUMKIAlyZXR1cm4gMCAhPSA6OkZMQUNf
X3NlZWthYmxlX3N0cmVhbV9kZWNvZGVyX3Byb2Nlc3Nfc2luZ2xlKF9kZWNvZGVyKTsKKyNlbHNl
CisJcmV0dXJuIDAgIT0gOjpGTEFDX19zdHJlYW1fZGVjb2Rlcl9wcm9jZXNzX3NpbmdsZShfZGVj
b2Rlcik7CisjZW5kaWYKIH0KIAogaW5saW5lIGJvb2wgRmxhY0lucHV0U3RyZWFtOjpwcm9jZXNz
VW50aWxFbmRPZk1ldGFkYXRhKCkgewogCWFzc2VydChpc1ZhbGlkKCkpOworI2lmZGVmIExFR0FD
WV9GTEFDCiAJcmV0dXJuIDAgIT0gOjpGTEFDX19zZWVrYWJsZV9zdHJlYW1fZGVjb2Rlcl9wcm9j
ZXNzX3VudGlsX2VuZF9vZl9tZXRhZGF0YShfZGVjb2Rlcik7CisjZWxzZQorCXJldHVybiAwICE9
IDo6RkxBQ19fc3RyZWFtX2RlY29kZXJfcHJvY2Vzc191bnRpbF9lbmRfb2ZfbWV0YWRhdGEoX2Rl
Y29kZXIpOworI2VuZGlmCiB9CiAKIGJvb2wgRmxhY0lucHV0U3RyZWFtOjpzZWVrQWJzb2x1dGUo
RkxBQ19fdWludDY0IHNhbXBsZSkgewogCWFzc2VydChpc1ZhbGlkKCkpOworI2lmZGVmIExFR0FD
WV9GTEFDCiAJY29uc3QgYm9vbCByZXN1bHQgPSAoMCAhPSA6OkZMQUNfX3NlZWthYmxlX3N0cmVh
bV9kZWNvZGVyX3NlZWtfYWJzb2x1dGUoX2RlY29kZXIsIHNhbXBsZSkpOworI2Vsc2UKKwljb25z
dCBib29sIHJlc3VsdCA9ICgwICE9IDo6RkxBQ19fc3RyZWFtX2RlY29kZXJfc2Vla19hYnNvbHV0
ZShfZGVjb2Rlciwgc2FtcGxlKSk7CisjZW5kaWYKIAlpZiAocmVzdWx0KSB7CiAJCWZsdXNoQnVm
ZmVyKCk7CiAJCV9sYXN0U2FtcGxlV3JpdHRlbiA9IChfbGFzdFNhbXBsZSAhPSAwICYmIHNhbXBs
ZSA+PSBfbGFzdFNhbXBsZSk7IC8vIG9ubHkgc2V0IGlmIHdlIGFyZSBTVVJFCkBAIC0zNDksMTEg
KzQ1NiwyMCBAQAogCXJldHVybiBkZWNvZGVyT2sgPyBzYW1wbGVzIDogLTE7CiB9CiAKLWlubGlu
ZSA6OkZMQUNfX1NlZWthYmxlU3RyZWFtRGVjb2RlclJlYWRTdGF0dXMgRmxhY0lucHV0U3RyZWFt
OjpjYWxsYmFja1JlYWQoRkxBQ19fYnl0ZSBidWZmZXJbXSwgdWludCAqYnl0ZXMpIHsKKyNpZmRl
ZiBMRUdBQ1lfRkxBQworaW5saW5lIDo6RkxBQ19fU2Vla2FibGVTdHJlYW1EZWNvZGVyUmVhZFN0
YXR1cyBGbGFjSW5wdXRTdHJlYW06OmNhbGxiYWNrUmVhZChGTEFDX19ieXRlIGJ1ZmZlcltdLCB1
aW50ICpieXRlcykKKyNlbHNlCitpbmxpbmUgOjpGTEFDX19TdHJlYW1EZWNvZGVyUmVhZFN0YXR1
cyBGbGFjSW5wdXRTdHJlYW06OmNhbGxiYWNrUmVhZChGTEFDX19ieXRlIGJ1ZmZlcltdLCBzaXpl
X3QgKmJ5dGVzKQorI2VuZGlmCit7CiAJYXNzZXJ0KF9maWxlSW5mby5maWxlSGFuZGxlICE9IE5V
TEwpOwogCiAJaWYgKCpieXRlcyA9PSAwKQorI2lmZGVmIExFR0FDWV9GTEFDCiAJCXJldHVybiBG
TEFDX19TRUVLQUJMRV9TVFJFQU1fREVDT0RFUl9SRUFEX1NUQVRVU19FUlJPUjsgLyogYWJvcnQg
dG8gYXZvaWQgYSBkZWFkbG9jayAqLworI2Vsc2UKKwkJcmV0dXJuIEZMQUNfX1NUUkVBTV9ERUNP
REVSX1JFQURfU1RBVFVTX0FCT1JUOyAvKiBhYm9ydCB0byBhdm9pZCBhIGRlYWRsb2NrICovCisj
ZW5kaWYKIAogCWNvbnN0IHVpbnQzMiBsZW5ndGggPSBNSU4oX2ZpbGVJbmZvLmZpbGVFbmRQb3Mg
LSBfZmlsZUluZm8uZmlsZVBvcywgc3RhdGljX2Nhc3Q8dWludDMyPigqYnl0ZXMpKTsKIApAQCAt
MzYxLDExICs0NzcsMTkgQEAKIAljb25zdCB1aW50MzIgYnl0ZXNSZWFkID0gX2ZpbGVJbmZvLmZp
bGVIYW5kbGUtPnJlYWQoYnVmZmVyLCBsZW5ndGgpOwogCiAJaWYgKGJ5dGVzUmVhZCA9PSAwICYm
IF9maWxlSW5mby5maWxlSGFuZGxlLT5pb0ZhaWxlZCgpKQorI2lmZGVmIExFR0FDWV9GTEFDCiAJ
CXJldHVybiBGTEFDX19TRUVLQUJMRV9TVFJFQU1fREVDT0RFUl9SRUFEX1NUQVRVU19FUlJPUjsK
KyNlbHNlCisJCXJldHVybiBGTEFDX19TVFJFQU1fREVDT0RFUl9SRUFEX1NUQVRVU19BQk9SVDsK
KyNlbmRpZgogCiAJX2ZpbGVJbmZvLmZpbGVQb3MgKz0gYnl0ZXNSZWFkOwogCSpieXRlcyA9IHN0
YXRpY19jYXN0PHVpbnQ+KGJ5dGVzUmVhZCk7CisjaWZkZWYgTEVHQUNZX0ZMQUMKIAlyZXR1cm4g
RkxBQ19fU0VFS0FCTEVfU1RSRUFNX0RFQ09ERVJfUkVBRF9TVEFUVVNfT0s7CisjZWxzZQorCXJl
dHVybiBGTEFDX19TVFJFQU1fREVDT0RFUl9SRUFEX1NUQVRVU19DT05USU5VRTsKKyNlbmRpZgog
fQogCiBpbmxpbmUgdm9pZCBGbGFjSW5wdXRTdHJlYW06OnNldExhc3RTYW1wbGUoRkxBQ19fdWlu
dDY0IGFic29sdXRlU2FtcGxlKSB7CkBAIC02MzcsMzAgKzc2MSw2MCBAQAogCXJldHVybiBGTEFD
X19TVFJFQU1fREVDT0RFUl9XUklURV9TVEFUVVNfQ09OVElOVUU7CiB9CiAKLWlubGluZSA6OkZM
QUNfX1NlZWthYmxlU3RyZWFtRGVjb2RlclNlZWtTdGF0dXMgRmxhY0lucHV0U3RyZWFtOjpjYWxs
YmFja1NlZWsoRkxBQ19fdWludDY0IGFic29sdXRlQnl0ZU9mZnNldCkgeworI2lmZGVmIExFR0FD
WV9GTEFDCitpbmxpbmUgOjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXJTZWVrU3RhdHVzIEZs
YWNJbnB1dFN0cmVhbTo6Y2FsbGJhY2tTZWVrKEZMQUNfX3VpbnQ2NCBhYnNvbHV0ZUJ5dGVPZmZz
ZXQpCisjZWxzZQoraW5saW5lIDo6RkxBQ19fU3RyZWFtRGVjb2RlclNlZWtTdGF0dXMgRmxhY0lu
cHV0U3RyZWFtOjpjYWxsYmFja1NlZWsoRkxBQ19fdWludDY0IGFic29sdXRlQnl0ZU9mZnNldCkK
KyNlbmRpZgorewogICAgIEZMQUNfX3VpbnQ2NCBuZXdQb3MgPSBhYnNvbHV0ZUJ5dGVPZmZzZXQg
KyBfZmlsZUluZm8uZmlsZVN0YXJ0UG9zOwogCWNvbnN0IGJvb2wgcmVzdWx0ID0gKG5ld1BvcyA8
IF9maWxlSW5mby5maWxlRW5kUG9zKTsKIAogCWlmIChyZXN1bHQpCiAJCV9maWxlSW5mby5maWxl
UG9zID0gc3RhdGljX2Nhc3Q8dWludDMyPihuZXdQb3MpOwogCisjaWZkZWYgTEVHQUNZX0ZMQUMK
IAlyZXR1cm4gcmVzdWx0ID8gRkxBQ19fU0VFS0FCTEVfU1RSRUFNX0RFQ09ERVJfU0VFS19TVEFU
VVNfT0sgOiBGTEFDX19TRUVLQUJMRV9TVFJFQU1fREVDT0RFUl9TRUVLX1NUQVRVU19FUlJPUjsK
LQorI2Vsc2UKKwlyZXR1cm4gcmVzdWx0ID8gRkxBQ19fU1RSRUFNX0RFQ09ERVJfU0VFS19TVEFU
VVNfT0sgOiBGTEFDX19TVFJFQU1fREVDT0RFUl9TRUVLX1NUQVRVU19FUlJPUjsKKyNlbmRpZgog
fQogCi1pbmxpbmUgOjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXJUZWxsU3RhdHVzIEZsYWNJ
bnB1dFN0cmVhbTo6Y2FsbGJhY2tUZWxsKEZMQUNfX3VpbnQ2NCAqYWJzb2x1dGVCeXRlT2Zmc2V0
KSB7CisjaWZkZWYgTEVHQUNZX0ZMQUMKK2lubGluZSA6OkZMQUNfX1NlZWthYmxlU3RyZWFtRGVj
b2RlclRlbGxTdGF0dXMgRmxhY0lucHV0U3RyZWFtOjpjYWxsYmFja1RlbGwoRkxBQ19fdWludDY0
ICphYnNvbHV0ZUJ5dGVPZmZzZXQpCisjZWxzZQoraW5saW5lIDo6RkxBQ19fU3RyZWFtRGVjb2Rl
clRlbGxTdGF0dXMgRmxhY0lucHV0U3RyZWFtOjpjYWxsYmFja1RlbGwoRkxBQ19fdWludDY0ICph
YnNvbHV0ZUJ5dGVPZmZzZXQpCisjZW5kaWYKK3sKIAkvKmlmICgpCiAJCXJldHVybiBGTEFDX19T
RUVLQUJMRV9TVFJFQU1fREVDT0RFUl9URUxMX1NUQVRVU19FUlJPUjsqLwogCSphYnNvbHV0ZUJ5
dGVPZmZzZXQgPSBzdGF0aWNfY2FzdDxGTEFDX191aW50NjQ+KF9maWxlSW5mby5maWxlUG9zLV9m
aWxlSW5mby5maWxlU3RhcnRQb3MpOworI2lmZGVmIExFR0FDWV9GTEFDCiAJcmV0dXJuIEZMQUNf
X1NFRUtBQkxFX1NUUkVBTV9ERUNPREVSX1RFTExfU1RBVFVTX09LOworI2Vsc2UKKwlyZXR1cm4g
RkxBQ19fU1RSRUFNX0RFQ09ERVJfVEVMTF9TVEFUVVNfT0s7CisjZW5kaWYKIH0KIAotaW5saW5l
IDo6RkxBQ19fU2Vla2FibGVTdHJlYW1EZWNvZGVyTGVuZ3RoU3RhdHVzIEZsYWNJbnB1dFN0cmVh
bTo6Y2FsbGJhY2tMZW5ndGgoRkxBQ19fdWludDY0ICpzdHJlYW1MZW5ndGgpIHsKKyNpZmRlZiBM
RUdBQ1lfRkxBQworaW5saW5lIDo6RkxBQ19fU2Vla2FibGVTdHJlYW1EZWNvZGVyTGVuZ3RoU3Rh
dHVzIEZsYWNJbnB1dFN0cmVhbTo6Y2FsbGJhY2tMZW5ndGgoRkxBQ19fdWludDY0ICpzdHJlYW1M
ZW5ndGgpCisjZWxzZQoraW5saW5lIDo6RkxBQ19fU3RyZWFtRGVjb2Rlckxlbmd0aFN0YXR1cyBG
bGFjSW5wdXRTdHJlYW06OmNhbGxiYWNrTGVuZ3RoKEZMQUNfX3VpbnQ2NCAqc3RyZWFtTGVuZ3Ro
KQorI2VuZGlmCit7CiAJaWYgKF9maWxlSW5mby5maWxlU3RhcnRQb3MgPiBfZmlsZUluZm8uZmls
ZUVuZFBvcykKKyNpZmRlZiBMRUdBQ1lfRkxBQwogCQlyZXR1cm4gRkxBQ19fU0VFS0FCTEVfU1RS
RUFNX0RFQ09ERVJfTEVOR1RIX1NUQVRVU19FUlJPUjsKKyNlbHNlCisJCXJldHVybiBGTEFDX19T
VFJFQU1fREVDT0RFUl9MRU5HVEhfU1RBVFVTX0VSUk9SOworI2VuZGlmCiAKIAkqc3RyZWFtTGVu
Z3RoID0gc3RhdGljX2Nhc3Q8RkxBQ19fdWludDY0PihfZmlsZUluZm8uZmlsZUVuZFBvcyAtIF9m
aWxlSW5mby5maWxlU3RhcnRQb3MpOworI2lmZGVmIExFR0FDWV9GTEFDCiAJcmV0dXJuIEZMQUNf
X1NFRUtBQkxFX1NUUkVBTV9ERUNPREVSX0xFTkdUSF9TVEFUVVNfT0s7CisjZWxzZQorCXJldHVy
biBGTEFDX19TVFJFQU1fREVDT0RFUl9MRU5HVEhfU1RBVFVTX09LOworI2VuZGlmCiB9CiAKIGlu
bGluZSBib29sIEZsYWNJbnB1dFN0cmVhbTo6Y2FsbGJhY2tFT0YoKSB7CkBAIC02ODIsNTYgKzgz
Niw5NiBAQAogfQogCiAvKiBTdGF0aWMgQ2FsbGJhY2sgV3JhcHBlcnMgKi8KLTo6RkxBQ19fU2Vl
a2FibGVTdHJlYW1EZWNvZGVyUmVhZFN0YXR1cyBGbGFjSW5wdXRTdHJlYW06OmNhbGxXcmFwUmVh
ZChjb25zdCA6OkZMQUNfX1NlZWthYmxlU3RyZWFtRGVjb2RlciAqZGVjb2RlciwgRkxBQ19fYnl0
ZSBidWZmZXJbXSwgdWludCAqYnl0ZXMsIHZvaWQgKmNsaWVudERhdGEpIHsKKyNpZmRlZiBMRUdB
Q1lfRkxBQworOjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXJSZWFkU3RhdHVzIEZsYWNJbnB1
dFN0cmVhbTo6Y2FsbFdyYXBSZWFkKGNvbnN0IDo6RkxBQ19fU2Vla2FibGVTdHJlYW1EZWNvZGVy
ICpkZWNvZGVyLCBGTEFDX19ieXRlIGJ1ZmZlcltdLCB1aW50ICpieXRlcywgdm9pZCAqY2xpZW50
RGF0YSkKKyNlbHNlCis6OkZMQUNfX1N0cmVhbURlY29kZXJSZWFkU3RhdHVzIEZsYWNJbnB1dFN0
cmVhbTo6Y2FsbFdyYXBSZWFkKGNvbnN0IDo6RkxBQ19fU3RyZWFtRGVjb2RlciAqZGVjb2Rlciwg
RkxBQ19fYnl0ZSBidWZmZXJbXSwgc2l6ZV90ICpieXRlcywgdm9pZCAqY2xpZW50RGF0YSkKKyNl
bmRpZgorewogCWFzc2VydCgwICE9IGNsaWVudERhdGEpOwogCUZsYWNJbnB1dFN0cmVhbSAqaW5z
dGFuY2UgPSByZWludGVycHJldF9jYXN0PEZsYWNJbnB1dFN0cmVhbSAqPihjbGllbnREYXRhKTsK
IAlhc3NlcnQoMCAhPSBpbnN0YW5jZSk7CiAJcmV0dXJuIGluc3RhbmNlLT5jYWxsYmFja1JlYWQo
YnVmZmVyLCBieXRlcyk7CiB9CiAKLTo6RkxBQ19fU2Vla2FibGVTdHJlYW1EZWNvZGVyU2Vla1N0
YXR1cyBGbGFjSW5wdXRTdHJlYW06OmNhbGxXcmFwU2Vlayhjb25zdCA6OkZMQUNfX1NlZWthYmxl
U3RyZWFtRGVjb2RlciAqZGVjb2RlciwgRkxBQ19fdWludDY0IGFic29sdXRlQnl0ZU9mZnNldCwg
dm9pZCAqY2xpZW50RGF0YSkgeworI2lmZGVmIExFR0FDWV9GTEFDCis6OkZMQUNfX1NlZWthYmxl
U3RyZWFtRGVjb2RlclNlZWtTdGF0dXMgRmxhY0lucHV0U3RyZWFtOjpjYWxsV3JhcFNlZWsoY29u
c3QgOjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXIgKmRlY29kZXIsIEZMQUNfX3VpbnQ2NCBh
YnNvbHV0ZUJ5dGVPZmZzZXQsIHZvaWQgKmNsaWVudERhdGEpCisjZWxzZQorOjpGTEFDX19TdHJl
YW1EZWNvZGVyU2Vla1N0YXR1cyBGbGFjSW5wdXRTdHJlYW06OmNhbGxXcmFwU2Vlayhjb25zdCA6
OkZMQUNfX1N0cmVhbURlY29kZXIgKmRlY29kZXIsIEZMQUNfX3VpbnQ2NCBhYnNvbHV0ZUJ5dGVP
ZmZzZXQsIHZvaWQgKmNsaWVudERhdGEpCisjZW5kaWYKK3sKIAlhc3NlcnQoMCAhPSBjbGllbnRE
YXRhKTsKIAlGbGFjSW5wdXRTdHJlYW0gKmluc3RhbmNlID0gcmVpbnRlcnByZXRfY2FzdDxGbGFj
SW5wdXRTdHJlYW0gKj4oY2xpZW50RGF0YSk7CiAJYXNzZXJ0KDAgIT0gaW5zdGFuY2UpOwogCXJl
dHVybiBpbnN0YW5jZS0+Y2FsbGJhY2tTZWVrKGFic29sdXRlQnl0ZU9mZnNldCk7CiB9CiAKLTo6
RkxBQ19fU2Vla2FibGVTdHJlYW1EZWNvZGVyVGVsbFN0YXR1cyBGbGFjSW5wdXRTdHJlYW06OmNh
bGxXcmFwVGVsbChjb25zdCA6OkZMQUNfX1NlZWthYmxlU3RyZWFtRGVjb2RlciAqZGVjb2Rlciwg
RkxBQ19fdWludDY0ICphYnNvbHV0ZUJ5dGVPZmZzZXQsIHZvaWQgKmNsaWVudERhdGEpIHsKKyNp
ZmRlZiBMRUdBQ1lfRkxBQworOjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXJUZWxsU3RhdHVz
IEZsYWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBUZWxsKGNvbnN0IDo6RkxBQ19fU2Vla2FibGVTdHJl
YW1EZWNvZGVyICpkZWNvZGVyLCBGTEFDX191aW50NjQgKmFic29sdXRlQnl0ZU9mZnNldCwgdm9p
ZCAqY2xpZW50RGF0YSkKKyNlbHNlCis6OkZMQUNfX1N0cmVhbURlY29kZXJUZWxsU3RhdHVzIEZs
YWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBUZWxsKGNvbnN0IDo6RkxBQ19fU3RyZWFtRGVjb2RlciAq
ZGVjb2RlciwgRkxBQ19fdWludDY0ICphYnNvbHV0ZUJ5dGVPZmZzZXQsIHZvaWQgKmNsaWVudERh
dGEpCisjZW5kaWYKK3sKIAlhc3NlcnQoMCAhPSBjbGllbnREYXRhKTsKIAlGbGFjSW5wdXRTdHJl
YW0gKmluc3RhbmNlID0gcmVpbnRlcnByZXRfY2FzdDxGbGFjSW5wdXRTdHJlYW0gKj4oY2xpZW50
RGF0YSk7CiAJYXNzZXJ0KDAgIT0gaW5zdGFuY2UpOwogCXJldHVybiBpbnN0YW5jZS0+Y2FsbGJh
Y2tUZWxsKGFic29sdXRlQnl0ZU9mZnNldCk7CiB9CiAKLTo6RkxBQ19fU2Vla2FibGVTdHJlYW1E
ZWNvZGVyTGVuZ3RoU3RhdHVzIEZsYWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBMZW5ndGgoY29uc3Qg
OjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXIgKmRlY29kZXIsIEZMQUNfX3VpbnQ2NCAqc3Ry
ZWFtTGVuZ3RoLCB2b2lkICpjbGllbnREYXRhKSB7CisjaWZkZWYgTEVHQUNZX0ZMQUMKKzo6RkxB
Q19fU2Vla2FibGVTdHJlYW1EZWNvZGVyTGVuZ3RoU3RhdHVzIEZsYWNJbnB1dFN0cmVhbTo6Y2Fs
bFdyYXBMZW5ndGgoY29uc3QgOjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXIgKmRlY29kZXIs
IEZMQUNfX3VpbnQ2NCAqc3RyZWFtTGVuZ3RoLCB2b2lkICpjbGllbnREYXRhKQorI2Vsc2UKKzo6
RkxBQ19fU3RyZWFtRGVjb2Rlckxlbmd0aFN0YXR1cyBGbGFjSW5wdXRTdHJlYW06OmNhbGxXcmFw
TGVuZ3RoKGNvbnN0IDo6RkxBQ19fU3RyZWFtRGVjb2RlciAqZGVjb2RlciwgRkxBQ19fdWludDY0
ICpzdHJlYW1MZW5ndGgsIHZvaWQgKmNsaWVudERhdGEpCisjZW5kaWYKK3sKIAlhc3NlcnQoMCAh
PSBjbGllbnREYXRhKTsKIAlGbGFjSW5wdXRTdHJlYW0gKmluc3RhbmNlID0gcmVpbnRlcnByZXRf
Y2FzdDxGbGFjSW5wdXRTdHJlYW0gKj4oY2xpZW50RGF0YSk7CiAJYXNzZXJ0KDAgIT0gaW5zdGFu
Y2UpOwogCXJldHVybiBpbnN0YW5jZS0+Y2FsbGJhY2tMZW5ndGgoc3RyZWFtTGVuZ3RoKTsKIH0K
IAotRkxBQ19fYm9vbCBGbGFjSW5wdXRTdHJlYW06OmNhbGxXcmFwRU9GKGNvbnN0IDo6RkxBQ19f
U2Vla2FibGVTdHJlYW1EZWNvZGVyICpkZWNvZGVyLCB2b2lkICpjbGllbnREYXRhKSB7CisjaWZk
ZWYgTEVHQUNZX0ZMQUMKK0ZMQUNfX2Jvb2wgRmxhY0lucHV0U3RyZWFtOjpjYWxsV3JhcEVPRihj
b25zdCA6OkZMQUNfX1NlZWthYmxlU3RyZWFtRGVjb2RlciAqZGVjb2Rlciwgdm9pZCAqY2xpZW50
RGF0YSkKKyNlbHNlCitGTEFDX19ib29sIEZsYWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBFT0YoY29u
c3QgOjpGTEFDX19TdHJlYW1EZWNvZGVyICpkZWNvZGVyLCB2b2lkICpjbGllbnREYXRhKQorI2Vu
ZGlmCit7CiAJYXNzZXJ0KDAgIT0gY2xpZW50RGF0YSk7CiAJRmxhY0lucHV0U3RyZWFtICppbnN0
YW5jZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RmxhY0lucHV0U3RyZWFtICo+KGNsaWVudERhdGEpOwog
CWFzc2VydCgwICE9IGluc3RhbmNlKTsKIAlyZXR1cm4gaW5zdGFuY2UtPmNhbGxiYWNrRU9GKCk7
CiB9CiAKLTo6RkxBQ19fU3RyZWFtRGVjb2RlcldyaXRlU3RhdHVzIEZsYWNJbnB1dFN0cmVhbTo6
Y2FsbFdyYXBXcml0ZShjb25zdCA6OkZMQUNfX1NlZWthYmxlU3RyZWFtRGVjb2RlciAqZGVjb2Rl
ciwgY29uc3QgOjpGTEFDX19GcmFtZSAqZnJhbWUsIGNvbnN0IEZMQUNfX2ludDMyICogY29uc3Qg
YnVmZmVyW10sIHZvaWQgKmNsaWVudERhdGEpIHsKKyNpZmRlZiBMRUdBQ1lfRkxBQworOjpGTEFD
X19TdHJlYW1EZWNvZGVyV3JpdGVTdGF0dXMgRmxhY0lucHV0U3RyZWFtOjpjYWxsV3JhcFdyaXRl
KGNvbnN0IDo6RkxBQ19fU2Vla2FibGVTdHJlYW1EZWNvZGVyICpkZWNvZGVyLCBjb25zdCA6OkZM
QUNfX0ZyYW1lICpmcmFtZSwgY29uc3QgRkxBQ19faW50MzIgKiBjb25zdCBidWZmZXJbXSwgdm9p
ZCAqY2xpZW50RGF0YSkKKyNlbHNlCis6OkZMQUNfX1N0cmVhbURlY29kZXJXcml0ZVN0YXR1cyBG
bGFjSW5wdXRTdHJlYW06OmNhbGxXcmFwV3JpdGUoY29uc3QgOjpGTEFDX19TdHJlYW1EZWNvZGVy
ICpkZWNvZGVyLCBjb25zdCA6OkZMQUNfX0ZyYW1lICpmcmFtZSwgY29uc3QgRkxBQ19faW50MzIg
KiBjb25zdCBidWZmZXJbXSwgdm9pZCAqY2xpZW50RGF0YSkKKyNlbmRpZgorewogCWFzc2VydCgw
ICE9IGNsaWVudERhdGEpOwogCUZsYWNJbnB1dFN0cmVhbSAqaW5zdGFuY2UgPSByZWludGVycHJl
dF9jYXN0PEZsYWNJbnB1dFN0cmVhbSAqPihjbGllbnREYXRhKTsKIAlhc3NlcnQoMCAhPSBpbnN0
YW5jZSk7CiAJcmV0dXJuIGluc3RhbmNlLT5jYWxsYmFja1dyaXRlKGZyYW1lLCBidWZmZXIpOwog
fQogCi12b2lkIEZsYWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBNZXRhZGF0YShjb25zdCA6OkZMQUNf
X1NlZWthYmxlU3RyZWFtRGVjb2RlciAqZGVjb2RlciwgY29uc3QgOjpGTEFDX19TdHJlYW1NZXRh
ZGF0YSAqbWV0YWRhdGEsIHZvaWQgKmNsaWVudERhdGEpIHsKKyNpZmRlZiBMRUdBQ1lfRkxBQwor
dm9pZCBGbGFjSW5wdXRTdHJlYW06OmNhbGxXcmFwTWV0YWRhdGEoY29uc3QgOjpGTEFDX19TZWVr
YWJsZVN0cmVhbURlY29kZXIgKmRlY29kZXIsIGNvbnN0IDo6RkxBQ19fU3RyZWFtTWV0YWRhdGEg
Km1ldGFkYXRhLCB2b2lkICpjbGllbnREYXRhKQorI2Vsc2UKK3ZvaWQgRmxhY0lucHV0U3RyZWFt
OjpjYWxsV3JhcE1ldGFkYXRhKGNvbnN0IDo6RkxBQ19fU3RyZWFtRGVjb2RlciAqZGVjb2Rlciwg
Y29uc3QgOjpGTEFDX19TdHJlYW1NZXRhZGF0YSAqbWV0YWRhdGEsIHZvaWQgKmNsaWVudERhdGEp
CisjZW5kaWYKK3sKIAlhc3NlcnQoMCAhPSBjbGllbnREYXRhKTsKIAlGbGFjSW5wdXRTdHJlYW0g
Kmluc3RhbmNlID0gcmVpbnRlcnByZXRfY2FzdDxGbGFjSW5wdXRTdHJlYW0gKj4oY2xpZW50RGF0
YSk7CiAJYXNzZXJ0KDAgIT0gaW5zdGFuY2UpOwogCWluc3RhbmNlLT5jYWxsYmFja01ldGFkYXRh
KG1ldGFkYXRhKTsKIH0KIAotdm9pZCBGbGFjSW5wdXRTdHJlYW06OmNhbGxXcmFwRXJyb3IoY29u
c3QgOjpGTEFDX19TZWVrYWJsZVN0cmVhbURlY29kZXIgKmRlY29kZXIsIDo6RkxBQ19fU3RyZWFt
RGVjb2RlckVycm9yU3RhdHVzIHN0YXR1cywgdm9pZCAqY2xpZW50RGF0YSkgeworI2lmZGVmIExF
R0FDWV9GTEFDCit2b2lkIEZsYWNJbnB1dFN0cmVhbTo6Y2FsbFdyYXBFcnJvcihjb25zdCA6OkZM
QUNfX1NlZWthYmxlU3RyZWFtRGVjb2RlciAqZGVjb2RlciwgOjpGTEFDX19TdHJlYW1EZWNvZGVy
RXJyb3JTdGF0dXMgc3RhdHVzLCB2b2lkICpjbGllbnREYXRhKQorI2Vsc2UKK3ZvaWQgRmxhY0lu
cHV0U3RyZWFtOjpjYWxsV3JhcEVycm9yKGNvbnN0IDo6RkxBQ19fU3RyZWFtRGVjb2RlciAqZGVj
b2RlciwgOjpGTEFDX19TdHJlYW1EZWNvZGVyRXJyb3JTdGF0dXMgc3RhdHVzLCB2b2lkICpjbGll
bnREYXRhKQorI2VuZGlmCit7CiAJYXNzZXJ0KDAgIT0gY2xpZW50RGF0YSk7CiAJRmxhY0lucHV0
U3RyZWFtICppbnN0YW5jZSA9IHJlaW50ZXJwcmV0X2Nhc3Q8RmxhY0lucHV0U3RyZWFtICo+KGNs
aWVudERhdGEpOwogCWFzc2VydCgwICE9IGluc3RhbmNlKTsK
</data>        

          </attachment>
    </bug>

</bugzilla>