<?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>11746</bug_id>
          
          <creation_ts>2002-12-07 19:55 0000</creation_ts>
          <short_desc>Rox 1.3.5 ebuild &amp; patch (update)</short_desc>
          <delta_ts>2002-12-08 08:26:39 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>Ebuilds</component>
          <version>1.0</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          <bug_file_loc>http://rox.sourceforge.net</bug_file_loc>
          
          
          <priority>P2</priority>
          <bug_severity>enhancement</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>gentoo+sender+d53c44@kriegste.net</reporter>
          <assigned_to>bcowan@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>gentoo+sender+d53c44@kriegste.net</who>
            <bug_when>2002-12-07 19:55:08 0000</bug_when>
            <thetext> </thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo+sender+d53c44@kriegste.net</who>
            <bug_when>2002-12-07 19:56:15 0000</bug_when>
            <thetext>Created an attachment (id=6290)
The ebuild
</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>gentoo+sender+d53c44@kriegste.net</who>
            <bug_when>2002-12-07 19:58:03 0000</bug_when>
            <thetext>Created an attachment (id=6291)
Enhancement patch from Stephen Watson

patch from Stephen Watson &lt;webmaster@kerofin.demon.co.uk&gt;
(http://www.kerofin.demon.co.uk/rox/patch/):

Selection button
Sort button
Window history
Global history
Comment instead of media/subtype</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>bcowan@gentoo.org</who>
            <bug_when>2002-12-08 08:26:39 0000</bug_when>
            <thetext>commited, thanks for the contribution :)</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>6290</attachid>
            <date>2002-12-07 19:56 0000</date>
            <desc>The ebuild</desc>
            <filename>rox-1.3.5.ebuild</filename>
            <type>text/plain</type>
            <data encoding="base64">IyBDb3B5cmlnaHQgMTk5OS0yMDAyIEdlbnRvbyBUZWNobm9sb2dpZXMsIEluYy4KIyBEaXN0cmli
dXRlZCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIHYy
CiMgJEhlYWRlcjogL2hvbWUvY3Zzcm9vdC9nZW50b28teDg2L2FwcC1taXNjL3JveC9yb3gtMS4z
LjItcjIuZWJ1aWxkLHYgMS40IDIwMDIvMTAvMjAgMTg6NDA6MjMgdmFwaWVyIEV4cCAkCgpTPSR7
V09SS0RJUn0vJHtQfQpERVNDUklQVElPTj0iUk9YLUZpbGVyIGlzIGEgZmFzdCBhbmQgcG93ZXJm
dWwgZ3JhcGhpY2FsIGZpbGUgbWFuYWdlciIKSE9NRVBBR0U9Imh0dHA6Ly9yb3guc291cmNlZm9y
Z2UubmV0IgpTUkNfVVJJPSJtaXJyb3I6Ly9zb3VyY2Vmb3JnZS9yb3gvJHtQfS50Z3oiCgpMSUNF
TlNFPSJHUEwtMiIKU0xPVD0iMS4zIgpLRVlXT1JEUz0ieDg2IgoKREVQRU5EPSI+PXgxMS1saWJz
L2d0aystMi4wLjUKCT49ZGV2LWxpYnMvZ2xpYi0yLjAuNAoJPj1kZXYtbGlicy9saWJ4bWwyLTIu
NC4yMwoJPXgxMS1taXNjL3NoYXJlZC1taW1lLWluZm8tMC43IgoKIyBOT1RFIHRoaXMgdmVyc2lv
biBvZiByb3ggd29ya3MgKm9ubHkqIHdpdGgKIyBzaGFyZWQtbWltZS1pbmZvLTAuNyA8PSAobm90
IDAuOCBub3IgMC45KQojIGJ1ZyAjNTc1NwojIHN0cm9rZUBnZW50b28ub3JnCgpzcmNfdW5wYWNr
KCkgewoJdW5wYWNrICR7QX0KCQoJcGF0Y2ggLXAwIDwgJHtGSUxFU0RJUn0vYWxsLTEuMy41LnBh
dGNoCn0KCnNyY19pbnN0YWxsKCkgewoJIyBsaWJ4bWwyIGhlYWRlciBmaXgKCUNGTEFHUz0iJHtD
RkxBR1N9IC1JL3Vzci9pbmNsdWRlL2xpYnhtbDIvbGlieG1sIC1JL3Vzci9pbmNsdWRlL2xpYnht
bDIiCgoJY2QgJHtTfS9DaG9pY2VzCgoJZG9kaXIgL3Vzci9zaGFyZS9DaG9pY2VzCgljcCAtcmYg
TUlNRS1pY29ucy8gJHtEfS91c3Ivc2hhcmUvQ2hvaWNlcy8KCWNwIC1yZiBNSU1FLXR5cGVzLyAk
e0R9L3Vzci9zaGFyZS9DaG9pY2VzLwoJCgljZCAke1N9Cglkb21hbiByb3guMQoKCWluc2ludG8g
L3Vzci9zaGFyZS9taW1lL21pbWUtaW5mbwoJZG9pbnMgcm94Lm1pbWVpbmZvCgoJZG9kaXIgL3Vz
ci9iaW4JCgljcCAtcmYgUk9YLUZpbGVyLyAke0R9L3Vzci9zaGFyZS8KCSR7RH0vdXNyL3NoYXJl
L1JPWC1GaWxlci9BcHBSdW4gLS1jb21waWxlCgkoY2QgJHtEfS91c3Ivc2hhcmUvUk9YLUZpbGVy
L3NyYzsgbWFrZSBjbGVhbikgPiAvZGV2L251bGwKCWVjaG8gIiMhL2Jpbi9zaCIgPiAiJHtEfS91
c3IvYmluL3JveCIKCWVjaG8gImV4ZWMgL3Vzci9zaGFyZS9ST1gtRmlsZXIvQXBwUnVuIFwiXCRA
XCIiID4+ICIke0R9L3Vzci9iaW4vcm94IgoJY2htb2QgYSt4ICR7RH0vdXNyL2Jpbi9yb3gKfQo=
</data>        

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>6291</attachid>
            <date>2002-12-07 19:58 0000</date>
            <desc>Enhancement patch from Stephen Watson</desc>
            <filename>all-1.3.5.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">VGhpcyBjb21iaW5lcyB0aGUgZm9sbG93aW5nIHBhdGNoZXMgZm9yIFJPWC1GaWxlciAxLjMuNQoJ
Z2hpc3RvcnkKCWhpc3RvcnkKCW1pbWV0eXBlbmFtZXMKCXNlbGJ1dHRvbgoJc29ydGJ1dHRvbgoK
QXBwbHkgdGhpcyBwYXRjaCBhbmQgeW91IGFyZSBydW5uaW5nIHRoZSBzYW1lIGZpbGVyIHRoYXQg
SSBhbS4KCVN0ZXBoZW4gV2F0c29uLCBzdGVwaGVuQGtlcm9maW4uZGVtb24uY28udWsKCkluZGV4
OnJveC9ST1gtRmlsZXIvc3JjL2Rpc3BsYXkuYwoqKiogcm94LTEuMy41L1JPWC1GaWxlci9zcmMv
ZGlzcGxheS5jCVdlZCBOb3YgMjAgMTQ6MTc6MjkgMjAwMgotLS0gcm94L1JPWC1GaWxlci9zcmMv
ZGlzcGxheS5jCVNhdCBEZWMgIDcgMTI6Mzc6MTIgMjAwMgoqKioqKioqKioqKioqKioKKioqIDM4
MywzODggKioqKgotLS0gMzgzLDM4OSAtLS0tCiAgCQlpZiAob19sYXJnZV93aWR0aC5oYXNfY2hh
bmdlZCB8fCBvX3NtYWxsX3dpZHRoLmhhc19jaGFuZ2VkKQogIAkJCWZsYWdzIHw9IFZJRVdfVVBE
QVRFX05BTUU7IC8qIFJlY3JlYXRlIFBhbmdvTGF5b3V0ICovCiAgCisgCiAgCQl2aWV3X3N0eWxl
X2NoYW5nZWQoZmlsZXJfd2luZG93LT52aWV3LCBmbGFncyk7CiAgCX0KICB9CioqKioqKioqKioq
KioqKgoqKiogNDM5LDQ0OCAqKioqCiAgCQlNSU1FX3R5cGUJKnR5cGUgPSBpdGVtLT5taW1lX3R5
cGU7CiAgCiAgCQlpZiAoIXNjYW5uZWQpCiEgCQkJcmV0dXJuIGdfc3RyZHVwKCIoYXBwbGljYXRp
b24vb2N0ZXQtc3RyZWFtKSIpOwogIAohIAkJYnVmID0gZ19zdHJkdXBfcHJpbnRmKCIoJXMvJXMp
IiwKISAJCQkJdHlwZS0+bWVkaWFfdHlwZSwgdHlwZS0+c3VidHlwZSk7CiAgCX0KICAJZWxzZSBp
ZiAoZmlsZXJfd2luZG93LT5kZXRhaWxzX3R5cGUgPT0gREVUQUlMU19USU1FUykKICAJewotLS0g
NDQwLDQ0OSAtLS0tCiAgCQlNSU1FX3R5cGUJKnR5cGUgPSBpdGVtLT5taW1lX3R5cGU7CiAgCiAg
CQlpZiAoIXNjYW5uZWQpCiEgCQkJcmV0dXJuIGdfc3RyZHVwKCJhcHBsaWNhdGlvbi9vY3RldC1z
dHJlYW0iKTsKICAKISAJCWJ1ZiA9IGdfc3RyZHVwX3ByaW50ZigiJXMvJXMiLAohIAkJCQkgICAg
ICB0eXBlLT5tZWRpYV90eXBlLCB0eXBlLT5zdWJ0eXBlKTsKICAJfQogIAllbHNlIGlmIChmaWxl
cl93aW5kb3ctPmRldGFpbHNfdHlwZSA9PSBERVRBSUxTX1RJTUVTKQogIAl7CkluZGV4OnJveC9S
T1gtRmlsZXIvc3JjL2ZpbGVyLmMKKioqIHJveC0xLjMuNS9ST1gtRmlsZXIvc3JjL2ZpbGVyLmMJ
V2VkIERlYyAgNCAxMjo1NjoyMyAyMDAyCi0tLSByb3gvUk9YLUZpbGVyL3NyYy9maWxlci5jCVNh
dCBEZWMgIDcgMTI6MzY6MDggMjAwMgoqKioqKioqKioqKioqKioKKioqIDc0LDc5ICoqKioKLS0t
IDc0LDgxIC0tLS0KICAKICBzdGF0aWMgRmlsZXJXaW5kb3cgKndpbmRvd193aXRoX3ByaW1hcnkg
PSBOVUxMOwogIAorIHN0YXRpYyBHSGFzaFRhYmxlICpnbG9iYWxfaGlzdG9yeT1OVUxMOworIAog
IC8qIFN0YXRpYyBwcm90b3R5cGVzICovCiAgc3RhdGljIHZvaWQgYXR0YWNoKEZpbGVyV2luZG93
ICpmaWxlcl93aW5kb3cpOwogIHN0YXRpYyB2b2lkIGRldGFjaChGaWxlcldpbmRvdyAqZmlsZXJf
d2luZG93KTsKKioqKioqKioqKioqKioqCioqKiA5NiwxMDEgKioqKgotLS0gOTgsMTA4IC0tLS0K
ICBzdGF0aWMgdm9pZCBmaWxlcl9vcHRpb25zX2NoYW5nZWQodm9pZCk7CiAgc3RhdGljIHZvaWQg
c2V0X3N0eWxlX2J5X251bWJlcl9vZl9pdGVtcyhGaWxlcldpbmRvdyAqZmlsZXJfd2luZG93KTsK
ICAKKyBzdGF0aWMgZ2Jvb2xlYW4gY2hlY2tfaGlzdG9yeShncG9pbnRlciBrZXksIGdwb2ludGVy
IHZhbHVlLCBncG9pbnRlciB1ZGF0YSk7Cisgc3RhdGljIHZvaWQgaGlzdG9yeV9saXN0KGdwb2lu
dGVyIGtleSwgZ3BvaW50ZXIgdmFsdWUsIGdwb2ludGVyIHVkYXRhKTsKKyBzdGF0aWMgdm9pZCBh
ZGRfdG9faGlzdG9yeShGaWxlcldpbmRvdyAqZmlsZXJfd2luZG93KTsKKyBzdGF0aWMgdm9pZCBw
dXJnZV9oaXN0b3J5KHZvaWQpOworIAogIHN0YXRpYyBHZGtDdXJzb3IgKmJ1c3lfY3Vyc29yID0g
TlVMTDsKICBzdGF0aWMgR2RrQ3Vyc29yICpjcm9zc2hhaXIgPSBOVUxMOwogIAoqKioqKioqKioq
KioqKioKKioqIDE1MywxNTggKioqKgotLS0gMTYwLDE2OSAtLS0tCiAgCX0KICAJCiAgCWdfZnJl
ZShkcHlob3N0KTsKKyAKKyAJZ2xvYmFsX2hpc3Rvcnk9Z19oYXNoX3RhYmxlX25ld19mdWxsKGdf
c3RyX2hhc2gsIGdfc3RyX2VxdWFsLAorIAkJCQkJICAgICBnX2ZyZWUsIE5VTEwpOworIAkvKnBy
aW50ZigibWFkZSBnbG9iYWxfaGlzdG9yeSAoJXApXG4iLCBnbG9iYWxfaGlzdG9yeSk7Ki8KICB9
CiAgCiAgc3RhdGljIGdib29sZWFuIGlmX2RlbGV0ZWQoZ3BvaW50ZXIgaXRlbSwgZ3BvaW50ZXIg
cmVtb3ZlZCkKKioqKioqKioqKioqKioqCioqKiAzMjQsMzI5ICoqKioKLS0tIDMzNSwzNDEgLS0t
LQogIAlkaXJfYXR0YWNoKGZpbGVyX3dpbmRvdy0+ZGlyZWN0b3J5LCAoRGlyQ2FsbGJhY2spIHVw
ZGF0ZV9kaXNwbGF5LAogIAkJCWZpbGVyX3dpbmRvdyk7CiAgCWZpbGVyX3NldF90aXRsZShmaWxl
cl93aW5kb3cpOworIAlhZGRfdG9faGlzdG9yeShmaWxlcl93aW5kb3cpOwogIH0KICAKICBzdGF0
aWMgdm9pZCBkZXRhY2goRmlsZXJXaW5kb3cgKmZpbGVyX3dpbmRvdykKKioqKioqKioqKioqKioq
CioqKiAzOTgsNDAzICoqKioKLS0tIDQxMCw0MjAgLS0tLQogIAlpZiAoZmlsZXJfd2luZG93LT50
aHVtYl9xdWV1ZSkKICAJCWRlc3Ryb3lfZ2xpc3QoJmZpbGVyX3dpbmRvdy0+dGh1bWJfcXVldWUp
OwogIAorIAlpZihmaWxlcl93aW5kb3ctPmhpc3RvcnkpIHsKKyAJICAgICAgICBnX3NsaXN0X2Zv
cmVhY2goZmlsZXJfd2luZG93LT5oaXN0b3J5LCAoR0Z1bmMpIGdfZnJlZSwgTlVMTCk7CisgCSAg
ICAgICAgZ19zbGlzdF9mcmVlKGZpbGVyX3dpbmRvdy0+aGlzdG9yeSk7CisgCX0KKyAKICAJdG9v
bHRpcF9zaG93KE5VTEwpOwogIAogIAlnX2ZyZWUoZmlsZXJfd2luZG93LT5hdXRvX3NlbGVjdCk7
CioqKioqKioqKioqKioqKgoqKiogOTg4LDk5NSAqKioqCiAgCWZyb21fZHVwID0gZnJvbSAmJiAq
ZnJvbSA/IGdfc3RyZHVwKGZyb20pIDogTlVMTDsKICAKICAJZGV0YWNoKGZpbGVyX3dpbmRvdyk7
CiAgCWdfZnJlZShmaWxlcl93aW5kb3ctPnJlYWxfcGF0aCk7Ci0gCWdfZnJlZShmaWxlcl93aW5k
b3ctPnN5bV9wYXRoKTsKICAJZmlsZXJfd2luZG93LT5yZWFsX3BhdGggPSByZWFsX3BhdGg7CiAg
CWZpbGVyX3dpbmRvdy0+c3ltX3BhdGggPSBzeW1fcGF0aDsKICAJdGlkeV9zeW1wYXRoKGZpbGVy
X3dpbmRvdy0+c3ltX3BhdGgpOwotLS0gMTAwNSwxMDIwIC0tLS0KICAJZnJvbV9kdXAgPSBmcm9t
ICYmICpmcm9tID8gZ19zdHJkdXAoZnJvbSkgOiBOVUxMOwogIAogIAlkZXRhY2goZmlsZXJfd2lu
ZG93KTsKKyAJLyogQ29tcGFyZSBwb2ludGVycywgc28gd2UgZGV0ZWN0IHdoZW4gd2UgYXJlIGdv
aW5nIGJhY2sgKi8KKyAJaWYoZmlsZXJfd2luZG93LT5oaXN0b3J5ICYmIGZpbGVyX3dpbmRvdy0+
aGlzdG9yeS0+ZGF0YT09cGF0aCkgeworIAkgIC8qIFdlIGFyZSBnb2luZyBvbmUgYmFjayBpbiB0
aGUgaGlzdG9yeSwgZG8gbm90IHB1c2ggdGhpcyBvbnRvCisgICAgCSAgICAgdGhlIHN0YWNrICov
CisgCSAgZ19mcmVlKGZpbGVyX3dpbmRvdy0+c3ltX3BhdGgpOworIAl9IGVsc2UgeworIAkgIGZp
bGVyX3dpbmRvdy0+aGlzdG9yeT1nX3NsaXN0X3ByZXBlbmQoZmlsZXJfd2luZG93LT5oaXN0b3J5
LAorIAkJCQkJCSAgICAgIGZpbGVyX3dpbmRvdy0+c3ltX3BhdGgpOworIAl9CiAgCWdfZnJlZShm
aWxlcl93aW5kb3ctPnJlYWxfcGF0aCk7CiAgCWZpbGVyX3dpbmRvdy0+cmVhbF9wYXRoID0gcmVh
bF9wYXRoOwogIAlmaWxlcl93aW5kb3ctPnN5bV9wYXRoID0gc3ltX3BhdGg7CiAgCXRpZHlfc3lt
cGF0aChmaWxlcl93aW5kb3ctPnN5bV9wYXRoKTsKKioqKioqKioqKioqKioqCioqKiAxMDIwLDEw
MjUgKioqKgotLS0gMTA0NSwxMDgzIC0tLS0KICAJCQkJZmlsZXJfd2luZG93KTsKICB9CiAgCisg
dm9pZCBmaWxlcl9jaGFuZ2VfdG9fcHJldmlvdXMoRmlsZXJXaW5kb3cgKmZpbGVyX3dpbmRvdykK
KyB7CisgICAgICAgICBHU0xpc3QgKnRtcDsKKyAKKyAJZ19yZXR1cm5faWZfZmFpbChmaWxlcl93
aW5kb3chPU5VTEwpOworIAorIAlpZighZmlsZXJfd2luZG93LT5oaXN0b3J5KSB7CisgCSAgICAg
ICAgZ2RrX2JlZXAoKTsKKyAJCXJldHVybjsKKyAJfQorIAorIAlmaWxlcl9jaGFuZ2VfdG8oZmls
ZXJfd2luZG93LCAoZ2NoYXIgKikgZmlsZXJfd2luZG93LT5oaXN0b3J5LT5kYXRhLAorIAkJCU5V
TEwpOworIAorIAl0bXA9ZmlsZXJfd2luZG93LT5oaXN0b3J5OworIAlmaWxlcl93aW5kb3ctPmhp
c3Rvcnk9Z19zbGlzdF9yZW1vdmVfbGluayhmaWxlcl93aW5kb3ctPmhpc3RvcnksIHRtcCk7Cisg
CWdfZnJlZSh0bXAtPmRhdGEpOworIAlnX3NsaXN0X2ZyZWUodG1wKTsKKyB9CisgCisgRmlsZXJX
aW5kb3cgKmZpbGVyX29wZW5fcHJldmlvdXMoRmlsZXJXaW5kb3cgKmZpbGVyX3dpbmRvdykKKyB7
CisgCWdfcmV0dXJuX3ZhbF9pZl9mYWlsKGZpbGVyX3dpbmRvdyE9TlVMTCwgTlVMTCk7CisgCisg
CWlmKCFmaWxlcl93aW5kb3ctPmhpc3RvcnkpIHsKKyAJICAgICAgICBnZGtfYmVlcCgpOworIAkJ
cmV0dXJuIE5VTEw7CisgCX0KKyAKKyAJcmV0dXJuIGZpbGVyX29wZW5kaXIoKGdjaGFyICopIGZp
bGVyX3dpbmRvdy0+aGlzdG9yeS0+ZGF0YSwgCisgCQkJICAgICBOVUxMLCBOVUxMKTsKKyB9Cisg
CiAgLyogUmV0dXJucyBhIGxpc3QgY29udGFpbmluZyB0aGUgZnVsbCAoc3ltKSBwYXRobmFtZSBv
ZiBldmVyeSBzZWxlY3RlZCBpdGVtLgogICAqIFlvdSBtdXN0IGdfZnJlZSgpIGVhY2ggaXRlbSBp
biB0aGUgbGlzdC4KICAgKi8KKioqKioqKioqKioqKioqCioqKiAxMDk4LDExMDMgKioqKgotLS0g
MTE1NiwxMTYyIC0tLS0KICAJZmlsZXJfd2luZG93LT50YXJnZXRfY2IgPSBOVUxMOwogIAlmaWxl
cl93aW5kb3ctPm1pbmlfdHlwZSA9IE1JTklfTk9ORTsKICAJZmlsZXJfd2luZG93LT5zZWxlY3Rp
b25fc3RhdGUgPSBHVEtfU1RBVEVfSU5TRU5TSVRJVkU7CisgCWZpbGVyX3dpbmRvdy0+aGlzdG9y
eSA9IE5VTEw7CiAgCWZpbGVyX3dpbmRvdy0+dG9vbGJhciA9IE5VTEw7CiAgCWZpbGVyX3dpbmRv
dy0+dG9wbGV2ZWxfdmJveCA9IE5VTEw7CiAgCioqKioqKioqKioqKioqKgoqKiogMTc0MCwxNzQ1
ICoqKioKLS0tIDE3OTksMTg2MyAtLS0tCiAgCQkJZmlsZXJfc2V0X3RpdGxlKGZpbGVyX3dpbmRv
dyk7CiAgCQl9CiAgCX0KKyB9CisgCisgc3RhdGljIGdib29sZWFuIGNoZWNrX2hpc3RvcnkoZ3Bv
aW50ZXIga2V5LCBncG9pbnRlciB2YWx1ZSwgZ3BvaW50ZXIgdWRhdGEpCisgeworICAgdGltZV90
IG9sZGVzdD0odGltZV90KSBHUE9JTlRFUl9UT19JTlQodWRhdGEpOworICAgdGltZV90IHdoZW49
KHRpbWVfdCkgR1BPSU5URVJfVE9fSU5UKHZhbHVlKTsKKyAKKyAgIC8qcHJpbnRmKCIlczogJWxk
PCVsZCAlZFxuIiwgKGNoYXIgKikga2V5LCB3aGVuLCBvbGRlc3QsIHdoZW48b2xkZXN0KTsqLwor
ICAgCisgICBpZih3aGVuPG9sZGVzdCkKKyAgICAgcmV0dXJuIFRSVUU7CisgCisgICByZXR1cm4g
RkFMU0U7CisgfQorIAorIHN0YXRpYyB2b2lkIGhpc3RvcnlfbGlzdChncG9pbnRlciBrZXksIGdw
b2ludGVyIHZhbHVlLCBncG9pbnRlciB1ZGF0YSkKKyB7CisgICBHU0xpc3QgKipkaXJzPShHU0xp
c3QgKiopIHVkYXRhOworIAorICAgLypwcmludGYoImFkZCAlcyAoJXApIHRvIGxpc3RcbiIsIChj
aGFyICopIGtleSwga2V5KTsqLworICAgKmRpcnM9Z19zbGlzdF9hcHBlbmQoKmRpcnMsIGtleSk7
CisgfQorIAorIHN0YXRpYyB2b2lkIGFkZF90b19oaXN0b3J5KEZpbGVyV2luZG93ICpmaWxlcl93
aW5kb3cpCisgeworICAgdGltZV90IG5vdzsKKyAgIGdjaGFyICprZXk7CisgCisgICB0aW1lKCZu
b3cpOworICAga2V5PWdfc3RyZHVwKGZpbGVyX3dpbmRvdy0+c3ltX3BhdGgpOworICAgLypwcmlu
dGYoImtleT0lcywgaGFzaD0weCV4IChzaXplPSV1KVxuIiwga2V5LCBnX3N0cl9oYXNoKGtleSks
CisgCSBnX2hhc2hfdGFibGVfc2l6ZShnbG9iYWxfaGlzdG9yeSkpOyovCisgICBnX2hhc2hfdGFi
bGVfcmVwbGFjZShnbG9iYWxfaGlzdG9yeSwga2V5LCBHSU5UX1RPX1BPSU5URVIobm93KSk7Cisg
ICAvKnByaW50ZigiYWRkZWQgJXMgKCVwKSBmb3IgJWxkIChzaXplPSV1KVxuIiwga2V5LCBrZXks
IG5vdywKKyAJIGdfaGFzaF90YWJsZV9zaXplKGdsb2JhbF9oaXN0b3J5KSk7Ki8KKyB9CisgCisg
c3RhdGljIHZvaWQgcHVyZ2VfaGlzdG9yeSh2b2lkKQorIHsKKyAgIHRpbWVfdCBub3csIG9sZGVz
dDsKKyAKKyAgIHRpbWUoJm5vdyk7CisgICBvbGRlc3Q9bm93LTYwKjYwOworIAorICAgLypwcmlu
dGYoImJlZ2luIHB1cmdlLCBzaXplPSV1XG4iLCBnX2hhc2hfdGFibGVfc2l6ZShnbG9iYWxfaGlz
dG9yeSkpOyovCisgICBnX2hhc2hfdGFibGVfZm9yZWFjaF9yZW1vdmUoZ2xvYmFsX2hpc3Rvcnks
IGNoZWNrX2hpc3RvcnksCisgCQkJICAgICAgR0lOVF9UT19QT0lOVEVSKG9sZGVzdCkpOworICAg
LypwcmludGYoImVuZCBwdXJnZSwgc2l6ZT0ldVxuIiwgZ19oYXNoX3RhYmxlX3NpemUoZ2xvYmFs
X2hpc3RvcnkpKTsqLworIH0KKyAKKyBHU0xpc3QgKmZpbGVyX2dsb2JhbF9oaXN0b3J5KHZvaWQp
CisgeworICAgR1NMaXN0ICpkaXJzPU5VTEw7CisgCisgICBwdXJnZV9oaXN0b3J5KCk7CisgICBn
X2hhc2hfdGFibGVfZm9yZWFjaChnbG9iYWxfaGlzdG9yeSwgaGlzdG9yeV9saXN0LCAmZGlycyk7
CisgICBkaXJzPWdfc2xpc3Rfc29ydChkaXJzLCAoR0NvbXBhcmVGdW5jKSBzdHJjbXApOworIAor
ICAgcmV0dXJuIGRpcnM7CiAgfQogIAogIC8qIENoYW5nZSB0byBMYXJnZSBvciBTbWFsbCBpY29u
cyBkZXBlbmRpbmcgb24gdGhlIG51bWJlciBvZiBpdGVtcwpJbmRleDpyb3gvUk9YLUZpbGVyL3Ny
Yy9maWxlci5oCioqKiByb3gtMS4zLjUvUk9YLUZpbGVyL3NyYy9maWxlci5oCVdlZCBEZWMgIDQg
MTI6NTY6MjQgMjAwMgotLS0gcm94L1JPWC1GaWxlci9zcmMvZmlsZXIuaAlTYXQgRGVjICA3IDEy
OjM2OjUwIDIwMDIKKioqKioqKioqKioqKioqCioqKiA4NSw5MCAqKioqCi0tLSA4NSw5MiAtLS0t
CiAgCUdMaXN0CQkqdGh1bWJfcXVldWU7CQkvKiBwYXRocyB0byB0aHVtYm5haWwgKi8KICAJR3Rr
V2lkZ2V0CSp0aHVtYl9iYXIsICp0aHVtYl9wcm9ncmVzczsKICAJaW50CQltYXhfdGh1bWJzOwkJ
LyogdG90YWwgZm9yIHRoaXMgYmF0Y2ggKi8KKyAKKyAgICAgICAgIEdTTGlzdCAgICAgICAgICAq
aGlzdG9yeTsgICAvKiBMaXN0IG9mIGRpcnMgdmlzaXRlZCBieSB0aGlzIHdpbmRvdyAqLwogIH07
CiAgCiAgZXh0ZXJuIEZpbGVyV2luZG93IAkqd2luZG93X3dpdGhfZm9jdXM7CioqKioqKioqKioq
KioqKgoqKiogMTI3LDEzMSAqKioqCi0tLSAxMjksMTM2IC0tLS0KICBnYm9vbGVhbiBmaWxlcl93
aW5kb3dfZGVsZXRlKEd0a1dpZGdldCAqd2luZG93LAogIAkJCSAgICAgR2RrRXZlbnQgKnVudXNl
ZCwKICAJCQkgICAgIEZpbGVyV2luZG93ICpmaWxlcl93aW5kb3cpOworIGV4dGVybiBHU0xpc3Qg
KmZpbGVyX2dsb2JhbF9oaXN0b3J5KHZvaWQpOworIGV4dGVybiB2b2lkIGZpbGVyX2NoYW5nZV90
b19wcmV2aW91cyhGaWxlcldpbmRvdyAqZmlsZXJfd2luZG93KTsKKyBleHRlcm4gRmlsZXJXaW5k
b3cgKmZpbGVyX29wZW5fcHJldmlvdXMoRmlsZXJXaW5kb3cgKmZpbGVyX3dpbmRvdyk7CiAgCiAg
I2VuZGlmIC8qIF9GSUxFUl9IICovCkluZGV4OnJveC9ST1gtRmlsZXIvc3JjL2luZm9ib3guYwoq
Kiogcm94LTEuMy41L1JPWC1GaWxlci9zcmMvaW5mb2JveC5jCVR1ZSBEZWMgIDMgMTQ6NTE6MTMg
MjAwMgotLS0gcm94L1JPWC1GaWxlci9zcmMvaW5mb2JveC5jCVNhdCBEZWMgIDcgMTI6Mzc6MTIg
MjAwMgoqKioqKioqKioqKioqKioKKioqIDM2NSwzNzAgKioqKgotLS0gMzY1LDM3NyAtLS0tCiAg
CiAgCWFkZF9yb3coc3RvcmUsIF8oIlR5cGU6IiksIHByZXR0eV90eXBlKGl0ZW0sIHBhdGgpKTsK
ICAKKyAJaWYoaXRlbS0+bWltZV90eXBlKSB7CisgCSAgY29uc3QgY2hhciAqY29tbWVudD1taW1l
X3R5cGVfY29tbWVudChpdGVtLT5taW1lX3R5cGUpOworIAkgIGlmKGNvbW1lbnQpIHsKKyAJICAg
IGFkZF9yb3coc3RvcmUsICIiLCBjb21tZW50KTsKKyAJICB9CisgCX0KKyAKICAJaWYgKGl0ZW0t
PmJhc2VfdHlwZSAhPSBUWVBFX0RJUkVDVE9SWSkKICAJCWFkZF9yb3dfYW5kX2ZyZWUoc3RvcmUs
IF8oIlJ1biBhY3Rpb246IiksCiAgCQkJCSBkZXNjcmliZV9jdXJyZW50X2NvbW1hbmQoaXRlbS0+
bWltZV90eXBlKSk7CkluZGV4OnJveC9ST1gtRmlsZXIvc3JjL21lbnUuYwoqKiogcm94LTEuMy41
L1JPWC1GaWxlci9zcmMvbWVudS5jCVR1ZSBEZWMgIDMgMTI6MzA6NDcgMjAwMgotLS0gcm94L1JP
WC1GaWxlci9zcmMvbWVudS5jCVNhdCBEZWMgIDcgMTI6MzY6MDggMjAwMgoqKioqKioqKioqKioq
KioKKioqIDExOSwxMjQgKioqKgotLS0gMTE5LDEyNSAtLS0tCiAgc3RhdGljIHZvaWQgZG9fc2Vu
ZF90byhnY2hhciAqdGVtcGwpOwogIHN0YXRpYyB2b2lkIHNob3dfc2VuZF90b19tZW51KEdMaXN0
ICpwYXRocywgR2RrRXZlbnQgKmV2ZW50KTsKICBzdGF0aWMgR0xpc3QgKnNldF9rZXlzX2J1dHRv
bihPcHRpb24gKm9wdGlvbiwgeG1sTm9kZSAqbm9kZSwgZ3VjaGFyICpsYWJlbCk7Cisgc3RhdGlj
IHZvaWQgcmVvcGVuKEd0a1dpZGdldCAqd2lkZ2V0LCBncG9pbnRlciBkYXRhKTsKICAKICAvKiBO
b3RlIHRoYXQgZm9yIG1vc3Qgb2YgdGhlc2UgY2FsbGJhY2tzIG5vbmUgb2YgdGhlIGFyZ3VtZW50
cyBhcmUgdXNlZC4gKi8KICAKKioqKioqKioqKioqKioqCioqKiAxNDcsMTUyICoqKioKLS0tIDE0
OCwxNTUgLS0tLQogIAogIHN0YXRpYyB2b2lkIG9wZW5fcGFyZW50X3NhbWUoZ3BvaW50ZXIgZGF0
YSwgZ3VpbnQgYWN0aW9uLCBHdGtXaWRnZXQgKndpZGdldCk7CiAgc3RhdGljIHZvaWQgb3Blbl9w
YXJlbnQoZ3BvaW50ZXIgZGF0YSwgZ3VpbnQgYWN0aW9uLCBHdGtXaWRnZXQgKndpZGdldCk7Cisg
c3RhdGljIHZvaWQgb3Blbl9wcmV2aW91c19zYW1lKGdwb2ludGVyIGRhdGEsIGd1aW50IGFjdGlv
biwgR3RrV2lkZ2V0ICp3aWRnZXQpOworIHN0YXRpYyB2b2lkIG9wZW5fcHJldmlvdXMoZ3BvaW50
ZXIgZGF0YSwgZ3VpbnQgYWN0aW9uLCBHdGtXaWRnZXQgKndpZGdldCk7CiAgc3RhdGljIHZvaWQg
aG9tZV9kaXJlY3RvcnkoZ3BvaW50ZXIgZGF0YSwgZ3VpbnQgYWN0aW9uLCBHdGtXaWRnZXQgKndp
ZGdldCk7CiAgc3RhdGljIHZvaWQgc2hvd19ib29rbWFya3MoZ3BvaW50ZXIgZGF0YSwgZ3VpbnQg
YWN0aW9uLCBHdGtXaWRnZXQgKndpZGdldCk7CiAgc3RhdGljIHZvaWQgbmV3X3dpbmRvdyhncG9p
bnRlciBkYXRhLCBndWludCBhY3Rpb24sIEd0a1dpZGdldCAqd2lkZ2V0KTsKKioqKioqKioqKioq
KioqCioqKiAxNjksMTc0ICoqKioKLS0tIDE3MiwxNzggLS0tLQogIHN0YXRpYyBHdGtXaWRnZXQJ
KmZpbGVyX25ld193aW5kb3c7CS8qIFRoZSBOZXcgV2luZG93IGl0ZW0gKi8KICBzdGF0aWMgR3Rr
V2lkZ2V0ICAgICAgICAqZmlsZXJfbmV3X21lbnU7ICAgICAgICAvKiBUaGUgTmV3IHN1Ym1lbnUg
Ki8KICBzdGF0aWMgR3RrV2lkZ2V0ICAgICAgICAqZmlsZXJfZm9sbG93X3N5bTsgICAgICAvKiBG
b2xsb3cgc3ltYm9saWMgbGlua3MgaXRlbSAqLworIHN0YXRpYyBHdGtXaWRnZXQgICAgICAgICpm
aWxlcl9yZW9wZW47ICAgICAgLyogR2xvYmFsIGhpc3RvcnkgaXRlbSAqLwogIAogICN1bmRlZiBO
XwogICNkZWZpbmUgTl8oeCkgeAoqKioqKioqKioqKioqKioKKioqIDIzNSwyNDIgKioqKgotLS0g
MjM5LDI0OSAtLS0tCiAge05fKCJXaW5kb3ciKSwJCQlOVUxMLCBOVUxMLCAwLCAiPEJyYW5jaD4i
fSwKICB7Ij4iIE5fKCJQYXJlbnQsIE5ldyBXaW5kb3ciKSwgCU5VTEwsIG9wZW5fcGFyZW50LCAw
LCBOVUxMfSwKICB7Ij4iIE5fKCJQYXJlbnQsIFNhbWUgV2luZG93IiksIE5VTEwsIG9wZW5fcGFy
ZW50X3NhbWUsIDAsIE5VTEx9LAorIHsiPiIgTl8oIlByZXZpb3VzLCBOZXcgV2luZG93IiksIAlO
VUxMLCBvcGVuX3ByZXZpb3VzLCAwLCBOVUxMfSwKKyB7Ij4iIE5fKCJQcmV2aW91cywgU2FtZSBX
aW5kb3ciKSwgTlVMTCwgb3Blbl9wcmV2aW91c19zYW1lLCAwLCBOVUxMfSwKICB7Ij4iIE5fKCJO
ZXcgV2luZG93IiksCQlOVUxMLCBuZXdfd2luZG93LCAwLCBOVUxMfSwKICB7Ij4iIE5fKCJIb21l
IERpcmVjdG9yeSIpLAlOVUxMLCBob21lX2RpcmVjdG9yeSwgMCwgTlVMTH0sCisgeyI+IiBOXygi
UmUtb3BlbiIpLAkgICAgICAgIE5VTEwsIE5VTEwsIDAsIE5VTEx9LAogIHsiPiIgTl8oIlNob3cg
Qm9va21hcmtzIiksCSI8Q3RybD5CIiwgc2hvd19ib29rbWFya3MsIDAsIE5VTEx9LAogIHsiPiIg
Tl8oIkZvbGxvdyBTeW1ib2xpYyBMaW5rcyIpLAlOVUxMLCBmb2xsb3dfc3ltbGlua3MsIDAsIE5V
TEx9LAogIHsiPiIgTl8oIlJlc2l6ZSBXaW5kb3ciKSwJTlVMTCwgcmVzaXplLCAwLCBOVUxMfSwK
KioqKioqKioqKioqKioqCioqKiAyOTYsMzAxICoqKioKLS0tIDMwMywzMDkgLS0tLQogIAlHRVRf
U01FTlVfSVRFTShmaWxlcl9uZXdfbWVudSwgImZpbGVyIiwgIk5ldyIpOwogIAlHRVRfU1NNRU5V
X0lURU0oaXRlbSwgImZpbGVyIiwgIldpbmRvdyIsICJGb2xsb3cgU3ltYm9saWMgTGlua3MiKTsK
ICAJZmlsZXJfZm9sbG93X3N5bSA9IEdUS19CSU4oaXRlbSktPmNoaWxkOworIAlHRVRfU1NNRU5V
X0lURU0oZmlsZXJfcmVvcGVuLCAiZmlsZXIiLCAiV2luZG93IiwgIlJlLW9wZW4iKTsKICAKICAJ
LyogRmlsZSAnJyBsYWJlbC4uLiAqLwogIAlpdGVtcyA9IGd0a19jb250YWluZXJfZ2V0X2NoaWxk
cmVuKEdUS19DT05UQUlORVIoZmlsZXJfbWVudSkpOwoqKioqKioqKioqKioqKioKKioqIDU4OCw1
OTMgKioqKgotLS0gNTk2LDYzMyAtLS0tCiAgCWd0a193aWRnZXRfc2hvd19hbGwoZmlsZXJfbmV3
X21lbnUpOwogIH0KICAKKyBzdGF0aWMgdm9pZCByZW9wZW4oR3RrV2lkZ2V0ICp3aWRnZXQsIGdw
b2ludGVyIGRhdGEpCisgeworICAgZ2NoYXIgKmRpcj0oZ2NoYXIgKikgZGF0YTsKKyAKKyAgIGZp
bGVyX29wZW5kaXIoZGlyLCBOVUxMLCBOVUxMKTsKKyB9CisgCisgc3RhdGljIHZvaWQgdXBkYXRl
X3Jlb3Blbl9tZW51KEd0a1dpZGdldCAqbWFzdGVyKQorIHsKKyAgIEdTTGlzdCAqZGlycz1maWxl
cl9nbG9iYWxfaGlzdG9yeSgpLCAqcm92ZXI7CisgICBHdGtXaWRnZXQgKm1lbnU7CisgICBHdGtX
aWRnZXQgKml0ZW07CisgCisgICBtZW51PWd0a19tZW51X25ldygpOworIAorICAgZm9yKHJvdmVy
PWRpcnM7IHJvdmVyOyByb3Zlcj1nX3NsaXN0X25leHQocm92ZXIpKSB7CisgICAgIGdjaGFyICpk
aXI9Z19zdHJkdXAoKGdjaGFyICopIHJvdmVyLT5kYXRhKTsKKyAKKyAgICAgLypwcmludGYoImFk
ZCAlc1xuIiwgZGlyKTsqLworICAgICBpdGVtPWd0a19tZW51X2l0ZW1fbmV3X3dpdGhfbGFiZWwo
ZGlyKTsKKyAgICAgZ19zaWduYWxfY29ubmVjdChHX09CSkVDVChpdGVtKSwgImFjdGl2YXRlIiwK
KyAJCSAgICAgR19DQUxMQkFDSyhyZW9wZW4pLCBkaXIpOworICAgICBnX3NpZ25hbF9jb25uZWN0
X3N3YXBwZWQoR19PQkpFQ1QoaXRlbSksICJkZXN0cm95IiwKKyAJCSAgICAgR19DQUxMQkFDSyhn
X2ZyZWUpLCBkaXIpOworICAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQoR1RLX01FTlVfU0hFTEwo
bWVudSksIGl0ZW0pOworICAgfQorICAgZ3RrX3dpZGdldF9zaG93X2FsbChtZW51KTsKKyAKKyAg
IGd0a19tZW51X2l0ZW1fc2V0X3N1Ym1lbnUoR1RLX01FTlVfSVRFTShtYXN0ZXIpLCBtZW51KTsK
KyAgIGdfc2xpc3RfZnJlZShkaXJzKTsKKyB9CisgCiAgLyogJ2l0ZW0nIGlzIHRoZSBudW1iZXIg
b2YgdGhlIGl0ZW0gdG8gYXBwZWFyIHVuZGVyIHRoZSBwb2ludGVyLiAqLwogIHZvaWQgc2hvd19w
b3B1cF9tZW51KEd0a1dpZGdldCAqbWVudSwgR2RrRXZlbnQgKmV2ZW50LCBpbnQgaXRlbSkKICB7
CioqKioqKioqKioqKioqKgoqKiogNzg5LDc5NCAqKioqCi0tLSA4MjksODM1IC0tLS0KICAJfQog
IAogIAl1cGRhdGVfbmV3X2ZpbGVzX21lbnUoZ2V0X21lbnVfaWNvbl9zdHlsZSgpKTsKKyAJdXBk
YXRlX3Jlb3Blbl9tZW51KGZpbGVyX3Jlb3Blbik7CiAgCiAgCWd0a193aWRnZXRfc2V0X3NlbnNp
dGl2ZShmaWxlcl9uZXdfd2luZG93LAogIAkJCSFvX3VuaXF1ZV9maWxlcl93aW5kb3dzLmludF92
YWx1ZSk7CioqKioqKioqKioqKioqKgoqKiogMTU2OCwxNTczICoqKioKLS0tIDE2MDksMTYyOCAt
LS0tCiAgCWdfcmV0dXJuX2lmX2ZhaWwod2luZG93X3dpdGhfZm9jdXMgIT0gTlVMTCk7CiAgCiAg
CWNoYW5nZV90b19wYXJlbnQod2luZG93X3dpdGhfZm9jdXMpOworIH0KKyAKKyBzdGF0aWMgdm9p
ZCBvcGVuX3ByZXZpb3VzKGdwb2ludGVyIGRhdGEsIGd1aW50IGFjdGlvbiwgR3RrV2lkZ2V0ICp3
aWRnZXQpCisgeworIAlnX3JldHVybl9pZl9mYWlsKHdpbmRvd193aXRoX2ZvY3VzICE9IE5VTEwp
OworIAorIAkodm9pZCkgZmlsZXJfb3Blbl9wcmV2aW91cyh3aW5kb3dfd2l0aF9mb2N1cyk7Cisg
fQorIAorIHN0YXRpYyB2b2lkIG9wZW5fcHJldmlvdXNfc2FtZShncG9pbnRlciBkYXRhLCBndWlu
dCBhY3Rpb24sIEd0a1dpZGdldCAqd2lkZ2V0KQorIHsKKyAJZ19yZXR1cm5faWZfZmFpbCh3aW5k
b3dfd2l0aF9mb2N1cyAhPSBOVUxMKTsKKyAKKyAJZmlsZXJfY2hhbmdlX3RvX3ByZXZpb3VzKHdp
bmRvd193aXRoX2ZvY3VzKTsKICB9CiAgCiAgc3RhdGljIHZvaWQgcmVzaXplKGdwb2ludGVyIGRh
dGEsIGd1aW50IGFjdGlvbiwgR3RrV2lkZ2V0ICp3aWRnZXQpCkluZGV4OnJveC9ST1gtRmlsZXIv
c3JjL3Rvb2xiYXIuYwoqKiogcm94LTEuMy41L1JPWC1GaWxlci9zcmMvdG9vbGJhci5jCVRodSBE
ZWMgIDUgMTI6Mzc6MTggMjAwMgotLS0gcm94L1JPWC1GaWxlci9zcmMvdG9vbGJhci5jCVNhdCBE
ZWMgIDcgMTI6Mzc6MjggMjAwMgoqKioqKioqKioqKioqKioKKioqIDQyLDQ3ICoqKioKLS0tIDQy
LDQ4IC0tLS0KICAjaW5jbHVkZSAiZGlyaXRlbS5oIgogICNpbmNsdWRlICJ2aWV3X2lmYWNlLmgi
CiAgI2luY2x1ZGUgImJvb2ttYXJrcy5oIgorICNpbmNsdWRlICJndWlfc3VwcG9ydC5oIgogIAog
IHR5cGVkZWYgc3RydWN0IF9Ub29sIFRvb2w7CiAgCioqKioqKioqKioqKioqKgoqKiogODMsODgg
KioqKgotLS0gODQsOTMgLS0tLQogIAkJCQkgICAgRmlsZXJXaW5kb3cgKmZpbGVyX3dpbmRvdyk7
CiAgc3RhdGljIHZvaWQgdG9vbGJhcl9oaWRkZW5fY2xpY2tlZChHdGtXaWRnZXQgKndpZGdldCwK
ICAJCQkJICAgRmlsZXJXaW5kb3cgKmZpbGVyX3dpbmRvdyk7Cisgc3RhdGljIHZvaWQgdG9vbGJh
cl9zZWxlY3RfY2xpY2tlZChHdGtXaWRnZXQgKndpZGdldCwKKyAJCQkJICAgRmlsZXJXaW5kb3cg
KmZpbGVyX3dpbmRvdyk7Cisgc3RhdGljIHZvaWQgdG9vbGJhcl9zb3J0X2NsaWNrZWQoR3RrV2lk
Z2V0ICp3aWRnZXQsCisgCQkJCSAgIEZpbGVyV2luZG93ICpmaWxlcl93aW5kb3cpOwogIHN0YXRp
YyBHdGtXaWRnZXQgKmFkZF9idXR0b24oR3RrV2lkZ2V0ICpiYXIsIFRvb2wgKnRvb2wsCiAgCQkJ
CUZpbGVyV2luZG93ICpmaWxlcl93aW5kb3cpOwogIHN0YXRpYyBHdGtXaWRnZXQgKmNyZWF0ZV90
b29sYmFyKEZpbGVyV2luZG93ICpmaWxlcl93aW5kb3cpOwoqKioqKioqKioqKioqKioKKioqIDEz
MywxNDIgKioqKgotLS0gMTM4LDE1NSAtLS0tCiAgCSB0b29sYmFyX2RldGFpbHNfY2xpY2tlZCwg
RFJPUF9OT05FLCBUUlVFLAogIAkgRkFMU0V9LAogIAkKKyAJe05fKCJTb3J0IiksIEdUS19TVE9D
S19TT1JUX0FTQ0VORElORywgTl8oIkNoYW5nZSBzb3J0IGNyaXRlcmlhIiksCisgCSB0b29sYmFy
X3NvcnRfY2xpY2tlZCwgRFJPUF9OT05FLCBUUlVFLAorIAkgRkFMU0V9LAorIAkKICAJe05fKCJI
aWRkZW4iKSwgUk9YX1NUT0NLX1NIT1dfSElEREVOLCBOXygiU2hvdy9oaWRlIGhpZGRlbiBmaWxl
cyIpLAogIAkgdG9vbGJhcl9oaWRkZW5fY2xpY2tlZCwgRFJPUF9OT05FLCBUUlVFLAogIAkgRkFM
U0V9LAogIAkKKyAJe05fKCJTZWxlY3QiKSwgR1RLX1NUT0NLX0NPUFksIE5fKCJTZWxlY3QgYWxs
L2ludmVydCBzZWxlY3Rpb24iKSwKKyAJIHRvb2xiYXJfc2VsZWN0X2NsaWNrZWQsIERST1BfTk9O
RSwgVFJVRSwKKyAJIEZBTFNFfSwKKyAgCQogIAl7Tl8oIkhlbHAiKSwgR1RLX1NUT0NLX0hFTFAs
IE5fKCJTaG93IFJPWC1GaWxlciBoZWxwIiksCiAgCSB0b29sYmFyX2hlbHBfY2xpY2tlZCwgRFJP
UF9OT05FLCBUUlVFLAogIAkgRkFMU0V9LAoqKioqKioqKioqKioqKioKKioqIDM4NywzOTggKioq
KgogIAlHZGtFdmVudAkqZXZlbnQ7CiAgCiAgCWV2ZW50ID0gZ3RrX2dldF9jdXJyZW50X2V2ZW50
KCk7CiEgCWlmIChldmVudC0+dHlwZSA9PSBHREtfQlVUVE9OX1JFTEVBU0UgJiYgTkVXX1dJTl9C
VVRUT04oZXZlbnQpKQohIAl7CiEgCQlmaWxlcl9vcGVuX3BhcmVudChmaWxlcl93aW5kb3cpOwog
IAl9Ci0gCWVsc2UKLSAJCWNoYW5nZV90b19wYXJlbnQoZmlsZXJfd2luZG93KTsKICB9CiAgCiAg
c3RhdGljIHZvaWQgdG9vbGJhcl9zaXplX2NsaWNrZWQoR3RrV2lkZ2V0ICp3aWRnZXQsIEZpbGVy
V2luZG93ICpmaWxlcl93aW5kb3cpCi0tLSA0MDAsNDIwIC0tLS0KICAJR2RrRXZlbnQJKmV2ZW50
OwogIAogIAlldmVudCA9IGd0a19nZXRfY3VycmVudF9ldmVudCgpOwohIAlpZihldmVudC0+dHlw
ZSA9PSBHREtfQlVUVE9OX1JFTEVBU0UpIHsKISAJICAgICAgICBHZGtFdmVudEJ1dHRvbiAgKmJ1
dHRvbj0oR2RrRXZlbnRCdXR0b24gKikgZXZlbnQ7CiEgCSAgICAgICAgZ2Jvb2xlYW4gY29udHJv
bD0oYnV0dG9uLT5zdGF0ZSAmIEdES19DT05UUk9MX01BU0spOwohIAkJaWYgKE5FV19XSU5fQlVU
VE9OKGV2ZW50KSl7CiEgCQkgICAgICAgIGlmKGNvbnRyb2wpCiEgCQkJICAgICAgICBmaWxlcl9v
cGVuX3ByZXZpb3VzKGZpbGVyX3dpbmRvdyk7CiEgCQkJZWxzZQohIAkJCSAgICAgICAgZmlsZXJf
b3Blbl9wYXJlbnQoZmlsZXJfd2luZG93KTsKISAJCX0gZWxzZSB7CiEgCQkgICAgICAgIGlmKGNv
bnRyb2wpCiEgCQkJICAgICAgICBmaWxlcl9jaGFuZ2VfdG9fcHJldmlvdXMoZmlsZXJfd2luZG93
KTsKISAJCQllbHNlCiEgCQkgICAgICAgICAgICAgICAgY2hhbmdlX3RvX3BhcmVudChmaWxlcl93
aW5kb3cpOwohIAkJfQogIAl9CiAgfQogIAogIHN0YXRpYyB2b2lkIHRvb2xiYXJfc2l6ZV9jbGlj
a2VkKEd0a1dpZGdldCAqd2lkZ2V0LCBGaWxlcldpbmRvdyAqZmlsZXJfd2luZG93KQoqKioqKioq
KioqKioqKioKKioqIDQwNSw0MTAgKioqKgotLS0gNDI3LDQ3MiAtLS0tCiAgCQliZXYtPnR5cGUg
PT0gR0RLX0JVVFRPTl9SRUxFQVNFICYmIGJldi0+YnV0dG9uID09IDEpOwogIH0KICAKKyAvKiBU
aGlzIHR5cGVkZWYgbWFrZXMgdGhpbmdzIGEgbG90IGVhc2llci4uLiAqLworIHR5cGVkZWYgaW50
ICgqc29ydF9mbl90KShjb25zdCB2b2lkICphLCBjb25zdCB2b2lkICpiKTsKKyAKKyBzdGF0aWMg
dm9pZCB0b29sYmFyX3NvcnRfY2xpY2tlZChHdGtXaWRnZXQgKndpZGdldCwgRmlsZXJXaW5kb3cg
KmZpbGVyX3dpbmRvdykKKyB7CisgCUdka0V2ZW50QnV0dG9uCSpiZXY7CisgCWludCBpLCBjdXJy
ZW50LCBuZXh0OworIAlnYm9vbGVhbiBhZGp1c3Q7CisgCisgCXN0YXRpYyBzdHJ1Y3Qgc29ydHMg
eworIAkgIHNvcnRfZm5fdCBmbjsKKyAJICBjb25zdCBjaGFyICpuYW1lOworIAl9IHNvcnRfZm5z
W109eworIAkgIHtzb3J0X2J5X25hbWUsICJTb3J0IGJ5IG5hbWUifSwKKyAJICB7c29ydF9ieV90
eXBlLCAiU29ydCBieSB0eXBlIn0sCisgCSAge3NvcnRfYnlfZGF0ZSwgIlNvcnQgYnkgZGF0ZSJ9
LAorIAkgIHtzb3J0X2J5X3NpemUsICJTb3J0IGJ5IHNpemUifQorIAl9OworICNkZWZpbmUgTlNP
UlQgKHNpemVvZihzb3J0X2Zucykvc2l6ZW9mKHN0cnVjdCBzb3J0cykpCisgCisgCWJldiA9IChH
ZGtFdmVudEJ1dHRvbiAqKSBndGtfZ2V0X2N1cnJlbnRfZXZlbnQoKTsKKyAJYWRqdXN0PShiZXYt
PmJ1dHRvbiA9PSAyKSAmJiBiZXYtPnR5cGUgPT0gR0RLX0JVVFRPTl9SRUxFQVNFOworIAorIAlj
dXJyZW50PS0xOworIAlmb3IoaT0wOyBpPE5TT1JUOyBpKyspCisgCSAgaWYoZmlsZXJfd2luZG93
LT5zb3J0X2ZuPT1zb3J0X2Zuc1tpXS5mbikgeworIAkgICAgY3VycmVudD1pOworIAkgICAgYnJl
YWs7CisgCSAgfQorIAlpZihjdXJyZW50PT0tMSkKKyAJICBuZXh0PTA7CisgCWVsc2UgaWYoYWRq
dXN0KQorIAkgIG5leHQ9KGN1cnJlbnQrTlNPUlQtMSklTlNPUlQ7CisgCWVsc2UKKyAJICBuZXh0
PShjdXJyZW50KzEpJU5TT1JUOworIAkgIAorIAlkaXNwbGF5X3NldF9zb3J0X2ZuKGZpbGVyX3dp
bmRvdywgc29ydF9mbnNbbmV4dF0uZm4pOworIAl0b29sdGlwX3Nob3coc29ydF9mbnNbbmV4dF0u
bmFtZSk7CisgfQorIAogIHN0YXRpYyB2b2lkIHRvb2xiYXJfZGV0YWlsc19jbGlja2VkKEd0a1dp
ZGdldCAqd2lkZ2V0LAogIAkJCQkgICAgRmlsZXJXaW5kb3cgKmZpbGVyX3dpbmRvdykKICB7Cioq
KioqKioqKioqKioqKgoqKiogNDIyLDQyNyAqKioqCi0tLSA0ODQsNTEzIC0tLS0KICAJCQkJICAg
RmlsZXJXaW5kb3cgKmZpbGVyX3dpbmRvdykKICB7CiAgCWRpc3BsYXlfc2V0X2hpZGRlbihmaWxl
cl93aW5kb3csICFmaWxlcl93aW5kb3ctPnNob3dfaGlkZGVuKTsKKyB9CisgCisgc3RhdGljIGdi
b29sZWFuIGludmVydF9jYihWaWV3SXRlciAqaXRlciwgZ3BvaW50ZXIgZGF0YSkKKyB7CisgCXJl
dHVybiAhdmlld19nZXRfc2VsZWN0ZWQoKFZpZXdJZmFjZSAqKSBkYXRhLCBpdGVyKTsKKyB9Cisg
Cisgc3RhdGljIHZvaWQgdG9vbGJhcl9zZWxlY3RfY2xpY2tlZChHdGtXaWRnZXQgKndpZGdldCwg
RmlsZXJXaW5kb3cgKmZpbGVyX3dpbmRvdykKKyB7CisgCUdka0V2ZW50CSpldmVudDsKKyAKKyAJ
ZXZlbnQgPSBndGtfZ2V0X2N1cnJlbnRfZXZlbnQoKTsKKyAJaWYgKGV2ZW50LT50eXBlID09IEdE
S19CVVRUT05fUkVMRUFTRSAmJgorICAJICAgICgoR2RrRXZlbnRCdXR0b24gKikgZXZlbnQpLT5i
dXR0b249PTIpCisgCXsKKyAJCXZpZXdfc2VsZWN0X2lmKGZpbGVyX3dpbmRvdy0+dmlldywgaW52
ZXJ0X2NiLAorIAkJCSAgICAgICBmaWxlcl93aW5kb3ctPnZpZXcpOworIAl9CisgCWVsc2UgaWYg
KGV2ZW50LT50eXBlID09IEdES19CVVRUT05fUkVMRUFTRSAmJgorIAkJICgoR2RrRXZlbnRCdXR0
b24gKikgZXZlbnQpLT5idXR0b249PTEpCisgCXsKKyAJCXZpZXdfc2VsZWN0X2FsbChmaWxlcl93
aW5kb3ctPnZpZXcpOworIAl9CisgCWZpbGVyX3dpbmRvdy0+dGVtcF9pdGVtX3NlbGVjdGVkID0g
RkFMU0U7CiAgfQogIAogIHN0YXRpYyBHdGtXaWRnZXQgKmNyZWF0ZV90b29sYmFyKEZpbGVyV2lu
ZG93ICpmaWxlcl93aW5kb3cpCkluZGV4OnJveC9ST1gtRmlsZXIvc3JjL3R5cGUuYwoqKiogcm94
LTEuMy41L1JPWC1GaWxlci9zcmMvdHlwZS5jCVR1ZSBEZWMgIDMgMTQ6NTE6MTYgMjAwMgotLS0g
cm94L1JPWC1GaWxlci9zcmMvdHlwZS5jCVNhdCBEZWMgIDcgMTI6Mzc6MTIgMjAwMgoqKioqKioq
KioqKioqKioKKioqIDU2LDYxICoqKioKLS0tIDU2LDY0IC0tLS0KICAjaW5jbHVkZSAib3B0aW9u
cy5oIgogICNpbmNsdWRlICJmaWxlci5oIgogICNpbmNsdWRlICJhY3Rpb24uaCIJCS8qIChmb3Ig
YWN0aW9uX2NobW9kKSAqLworICNpbmNsdWRlICJ4bWwuaCIKKyAKKyAjZGVmaW5lIFRZUEVfTkFN
RVNQQUNFICJodHRwOi8vd3d3LmZyZWVkZXNrdG9wLm9yZy9zdGFuZGFyZHMvc2hhcmVkLW1pbWUt
aW5mbyIKICAKICAvKiBDb2xvdXJzIGZvciBmaWxlIHR5cGVzIChzYW1lIG9yZGVyIGFzIGJhc2Ug
dHlwZXMpICovCiAgc3RhdGljIGdjaGFyICpvcHRfdHlwZV9jb2xvdXJzW11bMl0gPSB7CioqKioq
KioqKioqKioqKgoqKiogMTg1LDE5MCAqKioqCi0tLSAxODgsMTk0IC0tLS0KICAJbXR5cGUtPm1l
ZGlhX3R5cGUgPSBnX3N0cm5kdXAodHlwZV9uYW1lLCBzbGFzaCAtIHR5cGVfbmFtZSk7CiAgCW10
eXBlLT5zdWJ0eXBlID0gZ19zdHJkdXAoc2xhc2ggKyAxKTsKICAJbXR5cGUtPmltYWdlID0gTlVM
TDsKKyAJbXR5cGUtPmNvbW1lbnQ9TlVMTDsKICAKICAJZ19oYXNoX3RhYmxlX2luc2VydCh0eXBl
X2hhc2gsIGdfc3RyZHVwKHR5cGVfbmFtZSksIG10eXBlKTsKICAKKioqKioqKioqKioqKioqCioq
KiA3NDIsNzQ3ICoqKioKLS0tIDc0Niw3NTIgLS0tLQogIHsKICAJZ3VjaGFyCQkqdG1wOwogIAln
Y2hhciAgICAgICAgICAgKmhhbmRsZXI7CisgCWNvbnN0IGdjaGFyICAgICAqY29tbWVudDsKICAJ
R3RrRGlhbG9nCSpkaWFsb2c7CiAgCUd0a1dpZGdldAkqZnJhbWUsICplbnRyeSwgKmxhYmVsOwog
IAlHdGtXaWRnZXQJKnJhZGlvLCAqZWIsICpoYm94OwoqKioqKioqKioqKioqKioKKioqIDc1MSw3
NTYgKioqKgotLS0gNzU2LDc2MyAtLS0tCiAgCiAgCWdfcmV0dXJuX2lmX2ZhaWwodHlwZSAhPSBO
VUxMKTsKICAKKyAJY29tbWVudD1taW1lX3R5cGVfY29tbWVudCh0eXBlKTsKKyAKICAJZGlhbG9n
ID0gR1RLX0RJQUxPRyhndGtfZGlhbG9nX25ldygpKTsKICAJZ3RrX2RpYWxvZ19zZXRfaGFzX3Nl
cGFyYXRvcihkaWFsb2csIEZBTFNFKTsKICAJZ3RrX3dpbmRvd19zZXRfcG9zaXRpb24oR1RLX1dJ
TkRPVyhkaWFsb2cpLCBHVEtfV0lOX1BPU19NT1VTRSk7CioqKioqKioqKioqKioqKgoqKiogNzY1
LDc3MiAqKioqCiAgCWdfZnJlZSh0bXApOwogIAlnX29iamVjdF9zZXRfZGF0YShHX09CSkVDVChk
aWFsb2cpLCAic2V0X2Zvcl9hbGwiLCByYWRpbyk7CiAgCiEgCXRtcCA9IGdfc3RyZHVwX3ByaW50
ZihfKCJPbmx5IGZvciB0aGUgdHlwZSBgJXMvJXMnIiksIHR5cGUtPm1lZGlhX3R5cGUsCiEgCQkJ
dHlwZS0+c3VidHlwZSk7CiAgCWd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKGRpYWxvZy0+dmJv
eCksIHJhZGlvLCBGQUxTRSwgVFJVRSwgMCk7CiAgCXJhZGlvID0gZ3RrX3JhZGlvX2J1dHRvbl9u
ZXdfd2l0aF9sYWJlbCgKICAJCQlndGtfcmFkaW9fYnV0dG9uX2dldF9ncm91cChHVEtfUkFESU9f
QlVUVE9OKHJhZGlvKSksCi0tLSA3NzIsNzgzIC0tLS0KICAJZ19mcmVlKHRtcCk7CiAgCWdfb2Jq
ZWN0X3NldF9kYXRhKEdfT0JKRUNUKGRpYWxvZyksICJzZXRfZm9yX2FsbCIsIHJhZGlvKTsKICAK
ISAJaWYoY29tbWVudCkKISAJICB0bXA9Z19zdHJkdXBfcHJpbnRmKF8oIk9ubHkgZm9yIHRoZSB0
eXBlIGAlcycgKCVzLyVzKSIpLAohIAkJCSAgICAgIGNvbW1lbnQsIHR5cGUtPm1lZGlhX3R5cGUs
IHR5cGUtPnN1YnR5cGUpOwohIAllbHNlCiEgCSAgdG1wID0gZ19zdHJkdXBfcHJpbnRmKF8oIk9u
bHkgZm9yIHRoZSB0eXBlIGAlcy8lcyciKSwKISAJCQkJdHlwZS0+bWVkaWFfdHlwZSwgdHlwZS0+
c3VidHlwZSk7CiAgCWd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKGRpYWxvZy0+dmJveCksIHJh
ZGlvLCBGQUxTRSwgVFJVRSwgMCk7CiAgCXJhZGlvID0gZ3RrX3JhZGlvX2J1dHRvbl9uZXdfd2l0
aF9sYWJlbCgKICAJCQlndGtfcmFkaW9fYnV0dG9uX2dldF9ncm91cChHVEtfUkFESU9fQlVUVE9O
KHJhZGlvKSksCioqKioqKioqKioqKioqKgoqKiogMTI0MywxMjQ2ICoqKioKLS0tIDEyNTQsMTMy
NyAtLS0tCiAgCX0KICAKICAJZmlsZXJfdXBkYXRlX2FsbCgpOworIH0KKyAKKyAvKiBGaW5kIHRo
ZSBtZWRpYS9zdWJ0eXBlLnhtbCBmaWxlIGZvciBhIE1JTUVfdHlwZSBhbmQgbG9hZCBpdCwgcmV0
dXJuaW5nCisgICogYW4gWE1MIGRvY3VtZW50IChOVUxMPT1ub3QgZm91bmQpCisgICoKKyAgKiBn
X29iamVjdF91bnJlZigpIHRoZSByZXN1bHQuCisgICovCisgc3RhdGljIFhNTHdyYXBwZXIgKmxv
YWRfdHlwZV9maWxlKE1JTUVfdHlwZSAqdHlwZSkKKyB7CisgICBzdGF0aWMgY2hhciAqZGlyc1td
PXsKKyAgICAgLyogRGVmaW5lZCBieSB2ZXJzaW9uIDAuOCBvZiB0aGUgU2hhcmVkIE1JTUUtaW5m
byBEYXRhYmFzZSBzcGVjICovCisgICAgICJ+Ly5taW1lIiwgIi91c3IvbG9jYWwvc2hhcmUvbWlt
ZSIsICIvdXNyL3NoYXJlL21pbWUiLAorICAgICBOVUxMCisgICB9OworICAgY2hhciAqZm5hbWUs
ICpob21lOworICAgaW50IGk7CisgICBYTUx3cmFwcGVyICpkb2M7CisgCisgICAvKiBTdWJzdGl0
dXRlIH4gd2l0aCB0aGUgaG9tZSBkaXJlY3RvcnkgKi8KKyAgIGhvbWU9Z2V0ZW52KCJIT01FIik7
CisgICBpZihob21lKSB7CisgICAgIGZvcihpPTA7IGRpcnNbaV07IGkrKykgeworICAgICAgIGlm
KGRpcnNbaV1bMF09PSd+JykgCisgCWRpcnNbaV09Z19zdHJjb25jYXQoaG9tZSwgZGlycysxLCBO
VUxMKTsKKyAgICAgfQorICAgfQorIAorICAgZm9yKGk9MDsgZGlyc1tpXTsgaSsrKSB7CisgICAg
IGZuYW1lPWdfc3RyY29uY2F0KGRpcnNbaV0sICIvIiwgdHlwZS0+bWVkaWFfdHlwZSwgIi8iLCB0
eXBlLT5zdWJ0eXBlLAorIAkJICAgICAgIi54bWwiLCBOVUxMKTsKKyAgICAgZG9jPXhtbF9jYWNo
ZV9sb2FkKGZuYW1lKTsKKyAgICAgLypwcmludGYoIiVzIC0+ICVwXG4iLCBmbmFtZSwgZG9jKTsq
LworICAgICBnX2ZyZWUoZm5hbWUpOworICAgICBpZihkb2MpCisgICAgICAgcmV0dXJuIGRvYzsK
KyAgIH0KKyAKKyAgIHJldHVybiBOVUxMOworIH0KKyAKKyBzdGF0aWMgdm9pZCBmaW5kX2NvbW1l
bnQoTUlNRV90eXBlICp0eXBlKQorIHsKKyAgIFhNTHdyYXBwZXIgKnR5cGVkb2M9bG9hZF90eXBl
X2ZpbGUodHlwZSk7CisgICB4bWxOb2RlICpub2RlOworIAorICAgaWYoIXR5cGVkb2MpCisgICAg
IHJldHVybjsKKyAKKyAgIG5vZGU9eG1sX2dldF9zZWN0aW9uKHR5cGVkb2MsIFRZUEVfTkFNRVNQ
QUNFLCAiY29tbWVudCIpOworICAgLypwcmludGYoIm5vZGU9JXBcbiIsIG5vZGUpOyovCisgICBp
Zihub2RlKSB7CisgICAgICAgZ2NoYXIgKnN0cjsKKyAKKyAgICAgICBzdHI9eG1sTm9kZUxpc3RH
ZXRTdHJpbmcobm9kZS0+ZG9jLCBub2RlLT54bWxDaGlsZHJlbk5vZGUsIDEpOworICAgICAgIC8q
cHJpbnRmKCIlc1xuIiwgc3RyKTsqLworICAgICAgIGlmKHR5cGUtPmNvbW1lbnQpCisgCWdfZnJl
ZSh0eXBlLT5jb21tZW50KTsKKyAgICAgICB0eXBlLT5jb21tZW50PXN0cjsKKyAgICAgCisgICB9
CisgCisgICBnX29iamVjdF91bnJlZih0eXBlZG9jKTsKKyB9CisgCisgY29uc3QgY2hhciAqbWlt
ZV90eXBlX2NvbW1lbnQoTUlNRV90eXBlICp0eXBlKQorIHsKKyAgIGlmKCF0eXBlLT5jb21tZW50
KQorICAgICBmaW5kX2NvbW1lbnQodHlwZSk7CisgCisgICByZXR1cm4gdHlwZS0+Y29tbWVudDsK
ICB9CkluZGV4OnJveC9ST1gtRmlsZXIvc3JjL3R5cGUuaAoqKiogcm94LTEuMy41L1JPWC1GaWxl
ci9zcmMvdHlwZS5oCVR1ZSBBdWcgMTMgMTE6MjE6MTggMjAwMgotLS0gcm94L1JPWC1GaWxlci9z
cmMvdHlwZS5oCVNhdCBEZWMgIDcgMTI6Mzc6MTIgMjAwMgoqKioqKioqKioqKioqKioKKioqIDQ0
LDQ5ICoqKioKLS0tIDQ0LDUwIC0tLS0KICAJY2hhcgkJKnN1YnR5cGU7CiAgCU1hc2tlZFBpeG1h
cCAJKmltYWdlOwkJLyogTlVMTCA9PiBub3QgbG9hZGVkIHlldCAqLwogIAl0aW1lX3QJCWltYWdl
X3RpbWU7CS8qIFdoZW4gd2UgbG9hZGVkIHRoZSBpbWFnZSAqLworICAgICAgICAgY2hhciAgICAg
ICAgICAgICpjb21tZW50OyAgICAgLyogTmFtZSBpbiBsb2NhbCBsYW5ndWFnZSwgY2FuIGJlIE5V
TEwgKi8KICB9OwogIAogIC8qIFByb3RvdHlwZXMgKi8KKioqKioqKioqKioqKioqCioqKiA2Miw2
NiAqKioqCi0tLSA2Myw2OCAtLS0tCiAgZ2NoYXIgKmRlc2NyaWJlX2N1cnJlbnRfY29tbWFuZChN
SU1FX3R5cGUgKnR5cGUpOwogIEdka0NvbG9yICp0eXBlX2dldF9jb2xvdXIoRGlySXRlbSAqaXRl
bSwgR2RrQ29sb3IgKm5vcm1hbCk7CiAgdm9pZCByZXJlYWRfbWltZV9maWxlcyh2b2lkKTsKKyBl
eHRlcm4gY29uc3QgY2hhciAqbWltZV90eXBlX2NvbW1lbnQoTUlNRV90eXBlICp0eXBlKTsKICAK
ICAjZW5kaWYgLyogX1RZUEVfSCAqLwpJbmRleDpyb3gvUk9YLUZpbGVyL3NyYy91c2VyaWNvbnMu
YwoqKiogcm94LTEuMy41L1JPWC1GaWxlci9zcmMvdXNlcmljb25zLmMJVGh1IE5vdiAyMSAxNDo0
Mjo0OSAyMDAyCi0tLSByb3gvUk9YLUZpbGVyL3NyYy91c2VyaWNvbnMuYwlTYXQgRGVjICA3IDEy
OjM3OjEyIDIwMDIKKioqKioqKioqKioqKioqCioqKiAyNDksMjU0ICoqKioKLS0tIDI0OSwyNTUg
LS0tLQogIHsKICAJc3RydWN0IHN0YXQJaW5mbzsKICAJZ3VjaGFyCQkqdG1wOworIAljb25zdCBn
Y2hhcgkqY29tbWVudDsKICAJR3RrRGlhbG9nCSpkaWFsb2c7CiAgCUd0a1dpZGdldAkqZnJhbWUs
ICpoYm94LCAqdmJveDI7CiAgCUd0a1dpZGdldAkqZW50cnksICpsYWJlbCwgKmJ1dHRvbiwgKmFs
aWduLCAqaWNvbjsKKioqKioqKioqKioqKioqCioqKiAyNjIsMjY3ICoqKioKLS0tIDI2MywyNjkg
LS0tLQogIAlnX3JldHVybl9pZl9mYWlsKGl0ZW0gIT0gTlVMTCAmJiBwYXRoICE9IE5VTEwpOwog
IAogIAlnaSA9IGdfaGFzaF90YWJsZV9sb29rdXAoZ2xvYl9pY29ucywgcGF0aCk7CisgCWNvbW1l
bnQ9bWltZV90eXBlX2NvbW1lbnQoaXRlbS0+bWltZV90eXBlKTsKICAKICAJZGlhbG9nID0gR1RL
X0RJQUxPRyhndGtfZGlhbG9nX25ldygpKTsKICAJZ3RrX2RpYWxvZ19zZXRfaGFzX3NlcGFyYXRv
cihkaWFsb2csIEZBTFNFKTsKKioqKioqKioqKioqKioqCioqKiAyODQsMjkyICoqKioKICAJCQlf
KCJVc2UgYSBjb3B5IG9mIHRoZSBpbWFnZSBhcyB0aGUgZGVmYXVsdCBmb3IgYWxsICIKICAJCQkg
ICJmaWxlcyBvZiB0aGVzZSBNSU1FIHR5cGVzLiIpLCBOVUxMKTsKICAKISAJdG1wID0gZ19zdHJk
dXBfcHJpbnRmKF8oIk9ubHkgZm9yIHRoZSB0eXBlIGAlcy8lcyciKSwKISAJCQlpdGVtLT5taW1l
X3R5cGUtPm1lZGlhX3R5cGUsCiEgCQkJaXRlbS0+bWltZV90eXBlLT5zdWJ0eXBlKTsKICAJcmFk
aW9bU0VUX1RZUEVdID0gZ3RrX3JhZGlvX2J1dHRvbl9uZXdfd2l0aF9sYWJlbF9mcm9tX3dpZGdl
dChncm91cCwKICAJCQkJCQkJCQl0bXApOwogIAlndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWChk
aWFsb2ctPnZib3gpLCByYWRpb1tTRVRfVFlQRV0sCi0tLSAyODYsMzAwIC0tLS0KICAJCQlfKCJV
c2UgYSBjb3B5IG9mIHRoZSBpbWFnZSBhcyB0aGUgZGVmYXVsdCBmb3IgYWxsICIKICAJCQkgICJm
aWxlcyBvZiB0aGVzZSBNSU1FIHR5cGVzLiIpLCBOVUxMKTsKICAKISAJaWYoY29tbWVudCkKISAJ
ICB0bXAgPSBnX3N0cmR1cF9wcmludGYoXygiT25seSBmb3IgdGhlIHR5cGUgYCVzJyAoJXMvJXMp
IiksCiEgCQkJCWNvbW1lbnQsCiEgCQkJCWl0ZW0tPm1pbWVfdHlwZS0+bWVkaWFfdHlwZSwKISAJ
CQkJaXRlbS0+bWltZV90eXBlLT5zdWJ0eXBlKTsKISAJZWxzZQohIAkgIHRtcCA9IGdfc3RyZHVw
X3ByaW50ZihfKCJPbmx5IGZvciB0aGUgdHlwZSBgJXMvJXMnIiksCiEgCQkJCWl0ZW0tPm1pbWVf
dHlwZS0+bWVkaWFfdHlwZSwKISAJCQkJaXRlbS0+bWltZV90eXBlLT5zdWJ0eXBlKTsKICAJcmFk
aW9bU0VUX1RZUEVdID0gZ3RrX3JhZGlvX2J1dHRvbl9uZXdfd2l0aF9sYWJlbF9mcm9tX3dpZGdl
dChncm91cCwKICAJCQkJCQkJCQl0bXApOwogIAlndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWChk
aWFsb2ctPnZib3gpLCByYWRpb1tTRVRfVFlQRV0sCg==
</data>        

          </attachment>
    </bug>

</bugzilla>