<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>21825</bug_id>
          
          <creation_ts>2008-10-23 01:07:36 -0700</creation_ts>
          <short_desc>JSDOMBinding should not blindly cast the global object to JSDOMWindow</short_desc>
          <delta_ts>2008-10-23 03:16:29 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore JavaScript</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Proskuryakov">ap</reporter>
          <assigned_to name="Alexey Proskuryakov">ap</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>96299</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-23 01:07:36 -0700</bug_when>
    <thetext>It might be a worker context, not a JSDOMWindow.

Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96303</commentid>
    <comment_count>1</comment_count>
      <attachid>24592</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-23 01:42:09 -0700</bug_when>
    <thetext>Created attachment 24592
proposed fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96304</commentid>
    <comment_count>2</comment_count>
      <attachid>24592</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-10-23 01:44:48 -0700</bug_when>
    <thetext>Comment on attachment 24592
proposed fix

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96306</commentid>
    <comment_count>3</comment_count>
      <attachid>24593</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-23 02:41:55 -0700</bug_when>
    <thetext>Created attachment 24593
A better fix

As proposed by Maciej on IRC, do not change JavaScriptCore, as the need is WebCore-specific.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96307</commentid>
    <comment_count>4</comment_count>
      <attachid>24593</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2008-10-23 02:43:16 -0700</bug_when>
    <thetext>Comment on attachment 24593
A better fix

r=me assuming it builds and passes tests</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>96313</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2008-10-23 03:16:29 -0700</bug_when>
    <thetext>Committed revision 37806.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24592</attachid>
            <date>2008-10-23 01:42:09 -0700</date>
            <delta_ts>2008-10-23 02:41:55 -0700</delta_ts>
            <desc>proposed fix</desc>
            <filename>ItsNotAWindow.txt</filename>
            <type>text/plain</type>
            <size>8285</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDM3ODA0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTcgQEAKKzIwMDgtMTAtMjMgIEFsZXhleSBQ
cm9za3VyeWFrb3YgIDxhcEB3ZWJraXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0yMTgyNQorICAgICAgICBKU0RPTUJpbmRpbmcgc2hvdWxkIG5vdCBibGluZGx5IGNhc3Qg
dGhlIGdsb2JhbCBvYmplY3QgdG8gSlNET01XaW5kb3cKKworICAgICAgICAqIGtqcy9KU0dsb2Jh
bE9iamVjdC5jcHA6CisgICAgICAgIChKU0M6OkpTR2xvYmFsT2JqZWN0OjptYXJrKToKKyAgICAg
ICAgKiBranMvSlNHbG9iYWxPYmplY3QuaDoKKyAgICAgICAgKEpTQzo6SlNHbG9iYWxPYmplY3Q6
OnN0cnVjdHVyZXMpOgorICAgICAgICAoSlNDOjpKU0dsb2JhbE9iamVjdDo6Y29uc3RydWN0b3Jz
KToKKyAgICAgICAgVHJhY2sgc3RydWN0dXJlcyBhbmQgY29uc3RydWN0b3JzIGZvciBjbGllbnRz
LgorCiAyMDA4LTEwLTIyICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgTWFjaWVqIFN0YWNob3dpYWsuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9r
anMvSlNHbG9iYWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9K
U0dsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDM3ODA0KQorKysgSmF2YVNjcmlwdENvcmUva2pz
L0pTR2xvYmFsT2JqZWN0LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzk1LDYgKzM5NSwxNiBAQCB2
b2lkIEpTR2xvYmFsT2JqZWN0OjptYXJrKCkKICAgICAvLyBObyBuZWVkIHRvIG1hcmsgdGhlIG90
aGVyIHN0cnVjdHVyZXMsIGJlY2F1c2UgdGhlaXIgcHJvdG90eXBlcyBhcmUgYWxsCiAgICAgLy8g
Z3VhcmFudGVlZCB0byBiZSByZWZlcmVuY2VkIGVsc2V3aGVyZS4KIAorICAgIENsaWVudFN0cnVj
dHVyZU1hcDo6aXRlcmF0b3Igc3RydWN0dXJlc0VuZCA9IHN0cnVjdHVyZXMoKS5lbmQoKTsKKyAg
ICBmb3IgKENsaWVudFN0cnVjdHVyZU1hcDo6aXRlcmF0b3IgaXQgPSBzdHJ1Y3R1cmVzKCkuYmVn
aW4oKTsgaXQgIT0gc3RydWN0dXJlc0VuZDsgKytpdCkKKyAgICAgICAgaXQtPnNlY29uZC0+bWFy
aygpOworCisgICAgQ2xpZW50Q29uc3RydWN0b3JNYXA6Oml0ZXJhdG9yIGNvbnN0cnVjdG9yc0Vu
ZCA9IGNvbnN0cnVjdG9ycygpLmVuZCgpOworICAgIGZvciAoQ2xpZW50Q29uc3RydWN0b3JNYXA6
Oml0ZXJhdG9yIGl0MiA9IGNvbnN0cnVjdG9ycygpLmJlZ2luKCk7IGl0MiAhPSBjb25zdHJ1Y3Rv
cnNFbmQ7ICsraXQyKSB7CisgICAgICAgIGlmICghaXQyLT5zZWNvbmQtPm1hcmtlZCgpKQorICAg
ICAgICAgICAgaXQyLT5zZWNvbmQtPm1hcmsoKTsKKyAgICB9CisKICAgICBSZWdpc3RlciogcmVn
aXN0ZXJBcnJheSA9IGQoKS0+cmVnaXN0ZXJBcnJheS5nZXQoKTsKICAgICBpZiAoIXJlZ2lzdGVy
QXJyYXkpCiAgICAgICAgIHJldHVybjsKSW5kZXg6IEphdmFTY3JpcHRDb3JlL2tqcy9KU0dsb2Jh
bE9iamVjdC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL2tqcy9KU0dsb2JhbE9iamVj
dC5oCShyZXZpc2lvbiAzNzgwNCkKKysrIEphdmFTY3JpcHRDb3JlL2tqcy9KU0dsb2JhbE9iamVj
dC5oCSh3b3JraW5nIGNvcHkpCkBAIC00OSw2ICs0OSw5IEBAIG5hbWVzcGFjZSBKU0MgewogCiAg
ICAgdHlwZWRlZiBWZWN0b3I8RXhlY1N0YXRlKiwgMTY+IEV4ZWNTdGF0ZVN0YWNrOwogCisgICAg
dHlwZWRlZiBIYXNoTWFwPGNvbnN0IENsYXNzSW5mbyosIFJlZlB0cjxTdHJ1Y3R1cmVJRD4gPiBD
bGllbnRTdHJ1Y3R1cmVNYXA7CisgICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IENsYXNzSW5mbyos
IEpTT2JqZWN0Kj4gQ2xpZW50Q29uc3RydWN0b3JNYXA7CisKICAgICBjbGFzcyBKU0dsb2JhbE9i
amVjdCA6IHB1YmxpYyBKU1ZhcmlhYmxlT2JqZWN0IHsKICAgICBwcm90ZWN0ZWQ6CiAgICAgICAg
IHVzaW5nIEpTVmFyaWFibGVPYmplY3Q6OkpTVmFyaWFibGVPYmplY3REYXRhOwpAQCAtMTM2LDYg
KzEzOSwxMCBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgICAgIFJlZlB0cjxKU0dsb2JhbERh
dGE+IGdsb2JhbERhdGE7CiAKICAgICAgICAgICAgIEhhc2hTZXQ8UHJvZ3JhbUNvZGVCbG9jayo+
IGNvZGVCbG9ja3M7CisKKyAgICAgICAgICAgIC8vIFN0cnVjdHVyZXMgYW5kIGNvbnN0cnVjdG9y
cyBhZGRlZCBieSBzdWJjbGFzc2VzLgorICAgICAgICAgICAgQ2xpZW50U3RydWN0dXJlTWFwIHN0
cnVjdHVyZXM7CisgICAgICAgICAgICBDbGllbnRDb25zdHJ1Y3Rvck1hcCBjb25zdHJ1Y3RvcnM7
CiAgICAgICAgIH07CiAKICAgICBwdWJsaWM6CkBAIC0yMTIsNiArMjE5LDkgQEAgbmFtZXNwYWNl
IEpTQyB7CiAgICAgICAgIFN0cnVjdHVyZUlEKiByZWdFeHBTdHJ1Y3R1cmUoKSBjb25zdCB7IHJl
dHVybiBkKCktPnJlZ0V4cFN0cnVjdHVyZS5nZXQoKTsgfQogICAgICAgICBTdHJ1Y3R1cmVJRCog
c3RyaW5nT2JqZWN0U3RydWN0dXJlKCkgY29uc3QgeyByZXR1cm4gZCgpLT5zdHJpbmdPYmplY3RT
dHJ1Y3R1cmUuZ2V0KCk7IH0KIAorICAgICAgICBDbGllbnRTdHJ1Y3R1cmVNYXAmIHN0cnVjdHVy
ZXMoKSB7IHJldHVybiBkKCktPnN0cnVjdHVyZXM7IH0KKyAgICAgICAgQ2xpZW50Q29uc3RydWN0
b3JNYXAmIGNvbnN0cnVjdG9ycygpIGNvbnN0IHsgcmV0dXJuIGQoKS0+Y29uc3RydWN0b3JzOyB9
CisKICAgICAgICAgdm9pZCBzZXRQcm9maWxlR3JvdXAodW5zaWduZWQgdmFsdWUpIHsgZCgpLT5w
cm9maWxlR3JvdXAgPSB2YWx1ZTsgfQogICAgICAgICB1bnNpZ25lZCBwcm9maWxlR3JvdXAoKSBj
b25zdCB7IHJldHVybiBkKCktPnByb2ZpbGVHcm91cDsgfQogCkluZGV4OiBXZWJDb3JlL0NoYW5n
ZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMzc4MDQpCisr
KyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIyIEBACisyMDA4
LTEwLTIzICBBbGV4ZXkgUHJvc2t1cnlha292ICA8YXBAd2Via2l0Lm9yZz4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjE4MjUKKyAgICAgICAgSlNET01CaW5kaW5nIHNob3VsZCBu
b3QgYmxpbmRseSBjYXN0IHRoZSBnbG9iYWwgb2JqZWN0IHRvIEpTRE9NV2luZG93CisKKyAgICAg
ICAgVGhlIGdsb2JhbCBvYmplY3QgbWF5IGJlIGEgd29ya2VyIGNvbnRleHQgbm93LgorCisgICAg
ICAgICogYmluZGluZ3MvanMvSlNET01CaW5kaW5nLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Omdl
dENhY2hlZERPTVN0cnVjdHVyZSk6CisgICAgICAgIChXZWJDb3JlOjpjYWNoZURPTVN0cnVjdHVy
ZSk6CisgICAgICAgIChXZWJDb3JlOjpnZXRDYWNoZWRET01Db25zdHJ1Y3Rvcik6CisgICAgICAg
IChXZWJDb3JlOjpjYWNoZURPTUNvbnN0cnVjdG9yKToKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9K
U0RPTVdpbmRvd0Jhc2UuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0N1c3Rv
bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvdzo6bWFyayk6CisgICAgICAgIE1v
dmUgY29uc3RydWN0b3IgYW5kIHN0cnVjdHVyZSB0cmFja2luZyB0byBKU0dsb2JhbE9iamVjdC4K
KwogMjAwOC0xMC0yMiAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAg
ICAgIEJ1ZyAyMTc4MTogV2ViQ29yZTo6U2V0dGluZ3Mgc2hvdWxkIGhhdmUgYSBtYXhpbXVtIGRl
Y29kZWQgaW1hZ2Ugc2l6ZSBzZXR0aW5nCkluZGV4OiBXZWJDb3JlL2JpbmRpbmdzL2pzL0pTRE9N
QmluZGluZy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUJpbmRp
bmcuY3BwCShyZXZpc2lvbiAzNzgwNCkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01CaW5k
aW5nLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTA0LDI2ICs1MDQsMjYgQEAgRXhlY1N0YXRlKiBl
eGVjU3RhdGVGcm9tTm9kZShOb2RlKiBub2RlKQogCiBTdHJ1Y3R1cmVJRCogZ2V0Q2FjaGVkRE9N
U3RydWN0dXJlKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQ2xhc3NJbmZvKiBjbGFzc0luZm8pCiB7
Ci0gICAgSlNET01TdHJ1Y3R1cmVNYXAmIHN0cnVjdHVyZXMgPSBzdGF0aWNfY2FzdDxKU0RPTVdp
bmRvdyo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnN0cnVjdHVyZXMoKTsKKyAgICBK
U0M6OkNsaWVudFN0cnVjdHVyZU1hcCYgc3RydWN0dXJlcyA9IGV4ZWMtPmxleGljYWxHbG9iYWxP
YmplY3QoKS0+c3RydWN0dXJlcygpOwogICAgIHJldHVybiBzdHJ1Y3R1cmVzLmdldChjbGFzc0lu
Zm8pLmdldCgpOwogfQogCiBTdHJ1Y3R1cmVJRCogY2FjaGVET01TdHJ1Y3R1cmUoRXhlY1N0YXRl
KiBleGVjLCBQYXNzUmVmUHRyPFN0cnVjdHVyZUlEPiBzdHJ1Y3R1cmVJRCwgY29uc3QgQ2xhc3NJ
bmZvKiBjbGFzc0luZm8pCiB7Ci0gICAgSlNET01TdHJ1Y3R1cmVNYXAmIHN0cnVjdHVyZXMgPSBz
dGF0aWNfY2FzdDxKU0RPTVdpbmRvdyo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnN0
cnVjdHVyZXMoKTsKKyAgICBKU0M6OkNsaWVudFN0cnVjdHVyZU1hcCYgc3RydWN0dXJlcyA9IGV4
ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKS0+c3RydWN0dXJlcygpOwogICAgIEFTU0VSVCghc3Ry
dWN0dXJlcy5jb250YWlucyhjbGFzc0luZm8pKTsKICAgICByZXR1cm4gc3RydWN0dXJlcy5zZXQo
Y2xhc3NJbmZvLCBzdHJ1Y3R1cmVJRCkuZmlyc3QtPnNlY29uZC5nZXQoKTsKIH0KIAogSlNPYmpl
Y3QqIGdldENhY2hlZERPTUNvbnN0cnVjdG9yKEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgQ2xhc3NJ
bmZvKiBjbGFzc0luZm8pCiB7Ci0gICAgSlNET01Db25zdHJ1Y3Rvck1hcCYgY29uc3RydWN0b3Jz
ID0gc3RhdGljX2Nhc3Q8SlNET01XaW5kb3cqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkp
LT5jb25zdHJ1Y3RvcnMoKTsKKyAgICBKU0M6OkNsaWVudENvbnN0cnVjdG9yTWFwJiBjb25zdHJ1
Y3RvcnMgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNvbnN0cnVjdG9ycygpOwogICAg
IHJldHVybiBjb25zdHJ1Y3RvcnMuZ2V0KGNsYXNzSW5mbyk7CiB9CiAKIHZvaWQgY2FjaGVET01D
b25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvLCBK
U09iamVjdCogY29uc3RydWN0b3IpCiB7Ci0gICAgSlNET01Db25zdHJ1Y3Rvck1hcCYgY29uc3Ry
dWN0b3JzID0gc3RhdGljX2Nhc3Q8SlNET01XaW5kb3cqPihleGVjLT5sZXhpY2FsR2xvYmFsT2Jq
ZWN0KCkpLT5jb25zdHJ1Y3RvcnMoKTsKKyAgICBKU0M6OkNsaWVudENvbnN0cnVjdG9yTWFwJiBj
b25zdHJ1Y3RvcnMgPSBleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCktPmNvbnN0cnVjdG9ycygp
OwogICAgIEFTU0VSVCghY29uc3RydWN0b3JzLmNvbnRhaW5zKGNsYXNzSW5mbykpOwogICAgIGNv
bnN0cnVjdG9ycy5zZXQoY2xhc3NJbmZvLCBjb25zdHJ1Y3Rvcik7CiB9CkluZGV4OiBXZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmlu
ZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgJKHJldmlzaW9uIDM3ODA0KQorKysgV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDQsOSArNDQs
NiBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKICAgICBjbGFzcyBKU0RPTVdpbmRvd0Jhc2VQcml2
YXRlOwogCi0gICAgdHlwZWRlZiBIYXNoTWFwPGNvbnN0IEpTQzo6Q2xhc3NJbmZvKiwgUmVmUHRy
PEpTQzo6U3RydWN0dXJlSUQ+ID4gSlNET01TdHJ1Y3R1cmVNYXA7Ci0gICAgdHlwZWRlZiBIYXNo
TWFwPGNvbnN0IEpTQzo6Q2xhc3NJbmZvKiwgSlNDOjpKU09iamVjdCo+IEpTRE9NQ29uc3RydWN0
b3JNYXA7Ci0KICAgICAvLyBUaGlzIGlzIHRoZSBvbmx5IFdlYkNvcmUgSlMgYmluZGluZyB3aGlj
aCBkb2VzIG5vdCBpbmhlcml0IGZyb20gRE9NT2JqZWN0CiAgICAgY2xhc3MgSlNET01XaW5kb3dC
YXNlIDogcHVibGljIEpTQzo6SlNHbG9iYWxPYmplY3QgewogICAgICAgICB0eXBlZGVmIEpTQzo6
SlNHbG9iYWxPYmplY3QgQmFzZTsKQEAgLTEzMSw5ICsxMjgsNiBAQCBuYW1lc3BhY2UgV2ViQ29y
ZSB7CiAKICAgICAgICAgdm9pZCBjbGVhckFsbFRpbWVvdXRzKCk7CiAKLSAgICAgICAgSlNET01T
dHJ1Y3R1cmVNYXAmIHN0cnVjdHVyZXMoKSB7IHJldHVybiBkKCktPnN0cnVjdHVyZXM7IH0KLSAg
ICAgICAgSlNET01Db25zdHJ1Y3Rvck1hcCYgY29uc3RydWN0b3JzKCkgY29uc3QgeyByZXR1cm4g
ZCgpLT5jb25zdHJ1Y3RvcnM7IH0KLQogICAgIHByaXZhdGU6CiAgICAgICAgIHN0cnVjdCBKU0RP
TVdpbmRvd0Jhc2VEYXRhIDogcHVibGljIEpTR2xvYmFsT2JqZWN0RGF0YSB7CiAgICAgICAgICAg
ICBKU0RPTVdpbmRvd0Jhc2VEYXRhKFBhc3NSZWZQdHI8RE9NV2luZG93PiwgSlNET01XaW5kb3dT
aGVsbCopOwpAQCAtMTUwLDkgKzE0NCw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgRE9NV2luZG93VGltZXIqPiBUaW1lb3V0c01hcDsK
ICAgICAgICAgICAgIFRpbWVvdXRzTWFwIHRpbWVvdXRzOwotCi0gICAgICAgICAgICBKU0RPTVN0
cnVjdHVyZU1hcCBzdHJ1Y3R1cmVzOwotICAgICAgICAgICAgSlNET01Db25zdHJ1Y3Rvck1hcCBj
b25zdHJ1Y3RvcnM7CiAgICAgICAgIH07CiAKICAgICAgICAgc3RhdGljIEpTQzo6SlNWYWx1ZVB0
ciBjaGlsZEZyYW1lR2V0dGVyKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiwgY29uc3QgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCShyZXZpc2lvbiAzNzgwNCkKKysrIFdlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NiwxNiArNzYs
NiBAQCB2b2lkIEpTRE9NV2luZG93OjptYXJrKCkKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQ
TElDQVRJT05TKQogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKGdsb2JhbERhdGEsIGltcGwoKS0+
b3B0aW9uYWxBcHBsaWNhdGlvbkNhY2hlKCkpOwogI2VuZGlmCi0KLSAgICBKU0RPTVN0cnVjdHVy
ZU1hcDo6aXRlcmF0b3IgZW5kID0gc3RydWN0dXJlcygpLmVuZCgpOwotICAgIGZvciAoSlNET01T
dHJ1Y3R1cmVNYXA6Oml0ZXJhdG9yIGl0ID0gc3RydWN0dXJlcygpLmJlZ2luKCk7IGl0ICE9IGVu
ZDsgKytpdCkKLSAgICAgICAgaXQtPnNlY29uZC0+bWFyaygpOwotCi0gICAgSlNET01Db25zdHJ1
Y3Rvck1hcDo6aXRlcmF0b3IgZW5kMiA9IGNvbnN0cnVjdG9ycygpLmVuZCgpOwotICAgIGZvciAo
SlNET01Db25zdHJ1Y3Rvck1hcDo6aXRlcmF0b3IgaXQyID0gY29uc3RydWN0b3JzKCkuYmVnaW4o
KTsgaXQyICE9IGVuZDI7ICsraXQyKSB7Ci0gICAgICAgIGlmICghaXQyLT5zZWNvbmQtPm1hcmtl
ZCgpKQotICAgICAgICAgICAgaXQyLT5zZWNvbmQtPm1hcmsoKTsKLSAgICB9CiB9CiAKIGJvb2wg
SlNET01XaW5kb3c6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lKQo=
</data>
<flag name="review"
          id="11217"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>24593</attachid>
            <date>2008-10-23 02:41:55 -0700</date>
            <delta_ts>2008-10-23 02:43:16 -0700</delta_ts>
            <desc>A better fix</desc>
            <filename>ItsNotAWindow.txt</filename>
            <type>text/plain</type>
            <size>16607</size>
            <attacher name="Alexey Proskuryakov">ap</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiAzNzgwNCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMjkgQEAKKzIwMDgtMTAtMjMgIEFsZXhleSBQcm9za3VyeWFrb3YgIDxhcEB3ZWJr
aXQub3JnPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMTgyNQorICAgICAgICBK
U0RPTUJpbmRpbmcgc2hvdWxkIG5vdCBibGluZGx5IGNhc3QgdGhlIGdsb2JhbCBvYmplY3QgdG8g
SlNET01XaW5kb3cKKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNw
cDoKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oOgorICAgICAgICAq
IFdlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkZWQgSlNET01H
bG9iYWxPYmplY3QsIGEgYmFzZSBjbGFzcyB0byBiZSB1c2VkIGJ5IGJvdGggV2luZG93IGFuZCB3
b3JrZXIgY29udGV4dHMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0RPTUJpbmRpbmcuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6Z2V0Q2FjaGVkRE9NU3RydWN0dXJlKToKKyAgICAgICAgKFdl
YkNvcmU6OmNhY2hlRE9NU3RydWN0dXJlKToKKyAgICAgICAgKFdlYkNvcmU6OmdldENhY2hlZERP
TUNvbnN0cnVjdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OmNhY2hlRE9NQ29uc3RydWN0b3IpOgor
ICAgICAgICBDYXN0IHRvIEpTRE9NR2xvYmFsT2JqZWN0LCBhcyBET00gb2JqZWN0cyBsaXZlIGlu
IERPTSBnbG9iYWwgb2JqZWN0cy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTRE9NV2luZG93
QmFzZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93
QmFzZSk6CisgICAgICAgICogYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmg6CisgICAgICAg
ICogYmluZGluZ3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6
SlNET01XaW5kb3c6Om1hcmspOgorICAgICAgICBNb3ZlZCBjb25zdHJ1Y3RvciBhbmQgc3RydWN0
dXJlIHRyYWNraW5nIHRvIEpTRE9NR2xvYmFsT2JqZWN0LgorCiAyMDA4LTEwLTIyICBEYXZpZCBL
aWx6ZXIgIDxkZGtpbHplckBhcHBsZS5jb20+CiAKICAgICAgICAgQnVnIDIxNzgxOiBXZWJDb3Jl
OjpTZXR0aW5ncyBzaG91bGQgaGF2ZSBhIG1heGltdW0gZGVjb2RlZCBpbWFnZSBzaXplIHNldHRp
bmcKSW5kZXg6IFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCShyZXZp
c2lvbiAzNzgwNCkKKysrIFdlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CSh3b3JraW5nIGNvcHkpCkBAIC00MTYwLDYgKzQxNjAsOCBAQAogCQlFMUFERUREQjBFNzZCRDkz
MDA0QTFBNUUgLyogSlNNZXNzYWdlUG9ydC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBFMUFERUREOTBFNzZCRDkzMDA0QTFBNUUgLyogSlNNZXNzYWdl
UG9ydC5jcHAgKi87IH07CiAJCUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29k
ZVNvcnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RTFCRTUxMkIwQ0Y2QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgKi87IH07CiAJ
CUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQkU1MTJDMENGNkM1MTIwMDJF
QTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCAqLzsgfTsKKwkJRTFDMzZDMDMwRUIwNzZENjAwNzQx
MEJDIC8qIEpTRE9NR2xvYmFsT2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBFMUMzNkMwMjBFQjA3NkQ2MDA3NDEwQkMgLyogSlNET01HbG9iYWxP
YmplY3QuaCAqLzsgfTsKKwkJRTFDMzZDMEUwRUIwNzhERDAwNzQxMEJDIC8qIEpTRE9NR2xvYmFs
T2JqZWN0LmNwcCBpbiBSZXNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gRTFDMzZDMEQwRUIwNzhERDAwNzQxMEJDIC8qIEpTRE9NR2xvYmFsT2JqZWN0LmNwcCAqLzsg
fTsKIAkJRTFDNERFNjkwRUE3NUMxRTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRTFDNERFNjgwRUE3NUMx
RTAwMjNDQ0Q2IC8qIEFjdGl2ZURPTU9iamVjdC5oICovOyB9OwogCQlFMUM0REU2RTBFQTc1QzY1
MDAyM0NDRDYgLyogQWN0aXZlRE9NT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEUxQzRERTZEMEVBNzVDNjUwMDIzQ0NENiAvKiBBY3RpdmVE
T01PYmplY3QuY3BwICovOyB9OwogCQlFMUM4QkU1RDBFOEJEMTVBMDA2NENCN0QgLyogSlNEZWRp
Y2F0ZWRXb3JrZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRTFDOEJFNUMwRThCRDE1QTAwNjRDQjdEIC8qIEpTRGVkaWNhdGVkV29ya2VyLmNwcCAq
LzsgfTsKQEAgLTg3NDQsNiArODc0Niw4IEBACiAJCUUxQURFREQ5MEU3NkJEOTMwMDRBMUE1RSAv
KiBKU01lc3NhZ2VQb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IEpTTWVzc2FnZVBvcnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUJFNTEy
QjBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFhTTFRVbmljb2RlU29ydC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUUxQkU1MTJDMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNv
cnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gWFNMVFVuaWNvZGVTb3J0Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUUxQzM2QzAyMEVCMDc2RDYwMDc0MTBCQyAv
KiBKU0RPTUdsb2JhbE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBK
U0RPTUdsb2JhbE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlFMUMzNkMw
RDBFQjA3OEREMDA3NDEwQkMgLyogSlNET01HbG9iYWxPYmplY3QuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSlNET01HbG9iYWxPYmplY3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlFMUM0REU2ODBFQTc1QzFFMDAyM0NDRDYgLyogQWN0aXZlRE9N
T2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEFjdGl2ZURPTU9iamVj
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlFMUM0REU2RDBFQTc1QzY1MDAyM0ND
RDYgLyogQWN0aXZlRE9NT2JqZWN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEFjdGl2ZURPTU9iamVjdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CUUxQzhCRTQ0MEU4QkNDQkIwMDY0Q0I3RCAvKiBEZWRpY2F0ZWRXb3JrZXIuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IERlZGljYXRlZFdvcmtlci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0xMjc2Myw2ICsxMjc2Nyw4IEBACiAJCQkJRTEwQjkzN0IwQjczQzAwQTAwM0VE
ODkwIC8qIEpTQ3VzdG9tWFBhdGhOU1Jlc29sdmVyLmggKi8sCiAJCQkJOTNCNzBENDcwOUVCMEM3
QzAwOUQ4NDY4IC8qIEpTRE9NQmluZGluZy5jcHAgKi8sCiAJCQkJOTNCNzBENDgwOUVCMEM3QzAw
OUQ4NDY4IC8qIEpTRE9NQmluZGluZy5oICovLAorCQkJCUUxQzM2QzBEMEVCMDc4REQwMDc0MTBC
QyAvKiBKU0RPTUdsb2JhbE9iamVjdC5jcHAgKi8sCisJCQkJRTFDMzZDMDIwRUIwNzZENjAwNzQx
MEJDIC8qIEpTRE9NR2xvYmFsT2JqZWN0LmggKi8sCiAJCQkJQkM2OTMyNzEwRDdFMjkzOTAwQUU0
NEQxIC8qIEpTRE9NV2luZG93QmFzZS5jcHAgKi8sCiAJCQkJQkM2OTMyNzIwRDdFMjkzOTAwQUU0
NEQxIC8qIEpTRE9NV2luZG93QmFzZS5oICovLAogCQkJCUJDQkZCNTNBMERDRDI5Q0YwMDE5QjNF
NSAvKiBKU0RPTVdpbmRvd1NoZWxsLmNwcCAqLywKQEAgLTE2MDQ5LDYgKzE2MDU1LDcgQEAKIAkJ
CQlCQ0U2NUJFQjBFQUNERjE2MDA3RTQ1MzMgLyogTGVuZ3RoLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQ0ZGNjQ5MTBFQUQxNUMyMDBDMUQ2RjcgLyogTGVuZ3RoQm94LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQ0ZGNjQ5MjBFQUQxNUMyMDBDMUQ2RjcgLyogTGVuZ3RoU2l6ZS5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJRTFDMzZDMDMwRUIwNzZENjAwNzQxMEJDIC8qIEpTRE9NR2xvYmFsT2JqZWN0Lmgg
aW4gSGVhZGVycyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTE2MTYyLDYgKzE2MTY5LDcgQEAKIAkJCQk4NTEzNkNBODBBRUQ2
NjU5MDBGOTBBM0QgLyogd2VzdFJlc2l6ZUN1cnNvci5wbmcgaW4gUmVzb3VyY2VzICovLAogCQkJ
CTFBQjFBRTdBMEMwNTFGREUwMDEzOUY0RiAvKiB6b29tSW5DdXJzb3IucG5nIGluIFJlc291cmNl
cyAqLywKIAkJCQkxQUIxQUU3QjBDMDUxRkRFMDAxMzlGNEYgLyogem9vbU91dEN1cnNvci5wbmcg
aW4gUmVzb3VyY2VzICovLAorCQkJCUUxQzM2QzBFMEVCMDc4REQwMDc0MTBCQyAvKiBKU0RPTUds
b2JhbE9iamVjdC5jcHAgaW4gUmVzb3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBs
b3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9q
cy9KU0RPTUJpbmRpbmcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNE
T01CaW5kaW5nLmNwcAkocmV2aXNpb24gMzc4MDQpCisrKyBXZWJDb3JlL2JpbmRpbmdzL2pzL0pT
RE9NQmluZGluZy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJIVE1MSW1hZ2VFbGVtZW50LmgiCiAjaW5jbHVkZSAiSFRNTE5hbWVzLmgiCiAjaW5jbHVkZSAi
SlNET01Db3JlRXhjZXB0aW9uLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKICNp
bmNsdWRlICJKU0RPTVdpbmRvd0N1c3RvbS5oIgogI2luY2x1ZGUgIkpTRXZlbnRFeGNlcHRpb24u
aCIKICNpbmNsdWRlICJKU05vZGUuaCIKQEAgLTUwNCwyNiArNTA1LDI2IEBAIEV4ZWNTdGF0ZSog
ZXhlY1N0YXRlRnJvbU5vZGUoTm9kZSogbm9kZSkKIAogU3RydWN0dXJlSUQqIGdldENhY2hlZERP
TVN0cnVjdHVyZShFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKQog
ewotICAgIEpTRE9NU3RydWN0dXJlTWFwJiBzdHJ1Y3R1cmVzID0gc3RhdGljX2Nhc3Q8SlNET01X
aW5kb3cqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zdHJ1Y3R1cmVzKCk7CisgICAg
SlNET01TdHJ1Y3R1cmVNYXAmIHN0cnVjdHVyZXMgPSBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9i
amVjdCo+KGV4ZWMtPmxleGljYWxHbG9iYWxPYmplY3QoKSktPnN0cnVjdHVyZXMoKTsKICAgICBy
ZXR1cm4gc3RydWN0dXJlcy5nZXQoY2xhc3NJbmZvKS5nZXQoKTsKIH0KIAogU3RydWN0dXJlSUQq
IGNhY2hlRE9NU3RydWN0dXJlKEV4ZWNTdGF0ZSogZXhlYywgUGFzc1JlZlB0cjxTdHJ1Y3R1cmVJ
RD4gc3RydWN0dXJlSUQsIGNvbnN0IENsYXNzSW5mbyogY2xhc3NJbmZvKQogewotICAgIEpTRE9N
U3RydWN0dXJlTWFwJiBzdHJ1Y3R1cmVzID0gc3RhdGljX2Nhc3Q8SlNET01XaW5kb3cqPihleGVj
LT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5zdHJ1Y3R1cmVzKCk7CisgICAgSlNET01TdHJ1Y3R1
cmVNYXAmIHN0cnVjdHVyZXMgPSBzdGF0aWNfY2FzdDxKU0RPTUdsb2JhbE9iamVjdCo+KGV4ZWMt
PmxleGljYWxHbG9iYWxPYmplY3QoKSktPnN0cnVjdHVyZXMoKTsKICAgICBBU1NFUlQoIXN0cnVj
dHVyZXMuY29udGFpbnMoY2xhc3NJbmZvKSk7CiAgICAgcmV0dXJuIHN0cnVjdHVyZXMuc2V0KGNs
YXNzSW5mbywgc3RydWN0dXJlSUQpLmZpcnN0LT5zZWNvbmQuZ2V0KCk7CiB9CiAKIEpTT2JqZWN0
KiBnZXRDYWNoZWRET01Db25zdHJ1Y3RvcihFeGVjU3RhdGUqIGV4ZWMsIGNvbnN0IENsYXNzSW5m
byogY2xhc3NJbmZvKQogewotICAgIEpTRE9NQ29uc3RydWN0b3JNYXAmIGNvbnN0cnVjdG9ycyA9
IHN0YXRpY19jYXN0PEpTRE9NV2luZG93Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+
Y29uc3RydWN0b3JzKCk7CisgICAgSlNET01Db25zdHJ1Y3Rvck1hcCYgY29uc3RydWN0b3JzID0g
c3RhdGljX2Nhc3Q8SlNET01HbG9iYWxPYmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0
KCkpLT5jb25zdHJ1Y3RvcnMoKTsKICAgICByZXR1cm4gY29uc3RydWN0b3JzLmdldChjbGFzc0lu
Zm8pOwogfQogCiB2b2lkIGNhY2hlRE9NQ29uc3RydWN0b3IoRXhlY1N0YXRlKiBleGVjLCBjb25z
dCBDbGFzc0luZm8qIGNsYXNzSW5mbywgSlNPYmplY3QqIGNvbnN0cnVjdG9yKQogewotICAgIEpT
RE9NQ29uc3RydWN0b3JNYXAmIGNvbnN0cnVjdG9ycyA9IHN0YXRpY19jYXN0PEpTRE9NV2luZG93
Kj4oZXhlYy0+bGV4aWNhbEdsb2JhbE9iamVjdCgpKS0+Y29uc3RydWN0b3JzKCk7CisgICAgSlNE
T01Db25zdHJ1Y3Rvck1hcCYgY29uc3RydWN0b3JzID0gc3RhdGljX2Nhc3Q8SlNET01HbG9iYWxP
YmplY3QqPihleGVjLT5sZXhpY2FsR2xvYmFsT2JqZWN0KCkpLT5jb25zdHJ1Y3RvcnMoKTsKICAg
ICBBU1NFUlQoIWNvbnN0cnVjdG9ycy5jb250YWlucyhjbGFzc0luZm8pKTsKICAgICBjb25zdHJ1
Y3RvcnMuc2V0KGNsYXNzSW5mbywgY29uc3RydWN0b3IpOwogfQpJbmRleDogV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NR2xvYmFsT2JqZWN0LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1
NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICoKKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiSlNET01H
bG9iYWxPYmplY3QuaCIKKwordXNpbmcgbmFtZXNwYWNlIEpTQzsKKworbmFtZXNwYWNlIFdlYkNv
cmUgeworCitKU0RPTUdsb2JhbE9iamVjdDo6SlNET01HbG9iYWxPYmplY3QoUGFzc1JlZlB0cjxT
dHJ1Y3R1cmVJRD4gc3RydWN0dXJlLCBKU0RPTUdsb2JhbE9iamVjdDo6SlNET01HbG9iYWxPYmpl
Y3REYXRhKiBkYXRhLCBKU09iamVjdCogdGhpc1ZhbHVlKQorICAgIDogSlNHbG9iYWxPYmplY3Qo
c3RydWN0dXJlLCBkYXRhLCB0aGlzVmFsdWUpCit7Cit9CisKK3ZvaWQgSlNET01HbG9iYWxPYmpl
Y3Q6Om1hcmsoKQoreworICAgIEJhc2U6Om1hcmsoKTsKKworICAgIEpTRE9NU3RydWN0dXJlTWFw
OjppdGVyYXRvciBlbmQgPSBzdHJ1Y3R1cmVzKCkuZW5kKCk7CisgICAgZm9yIChKU0RPTVN0cnVj
dHVyZU1hcDo6aXRlcmF0b3IgaXQgPSBzdHJ1Y3R1cmVzKCkuYmVnaW4oKTsgaXQgIT0gZW5kOyAr
K2l0KQorICAgICAgICBpdC0+c2Vjb25kLT5tYXJrKCk7CisKKyAgICBKU0RPTUNvbnN0cnVjdG9y
TWFwOjppdGVyYXRvciBlbmQyID0gY29uc3RydWN0b3JzKCkuZW5kKCk7CisgICAgZm9yIChKU0RP
TUNvbnN0cnVjdG9yTWFwOjppdGVyYXRvciBpdDIgPSBjb25zdHJ1Y3RvcnMoKS5iZWdpbigpOyBp
dDIgIT0gZW5kMjsgKytpdDIpIHsKKyAgICAgICAgaWYgKCFpdDItPnNlY29uZC0+bWFya2VkKCkp
CisgICAgICAgICAgICBpdDItPnNlY29uZC0+bWFyaygpOworICAgIH0KK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQoKUHJvcGVydHkgY2hhbmdlcyBvbjogV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0RPTUdsb2JhbE9iamVjdC5jcHAKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpOYW1lOiBzdm46ZW9sLXN0eWxlCiAgICsg
bmF0aXZlCgpJbmRleDogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAkocmV2
aXNpb24gMCkKKysrIFdlYkNvcmUvYmluZGluZ3MvanMvSlNET01HbG9iYWxPYmplY3QuaAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAwOCBBcHBs
ZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBDT01QVVRFUiwgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIENPTVBVVEVSLCBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICoKKyAqLworCisjaWZuZGVmIEpTRE9NR2xv
YmFsT2JqZWN0X2gKKyNkZWZpbmUgSlNET01HbG9iYWxPYmplY3RfaAorCisjaW5jbHVkZSA8a2pz
L0pTR2xvYmFsT2JqZWN0Lmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworICAgIHR5cGVkZWYg
SGFzaE1hcDxjb25zdCBKU0M6OkNsYXNzSW5mbyosIFJlZlB0cjxKU0M6OlN0cnVjdHVyZUlEPiA+
IEpTRE9NU3RydWN0dXJlTWFwOworICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBKU0M6OkNsYXNz
SW5mbyosIEpTQzo6SlNPYmplY3QqPiBKU0RPTUNvbnN0cnVjdG9yTWFwOworCisgICAgY2xhc3Mg
SlNET01HbG9iYWxPYmplY3QgOiBwdWJsaWMgSlNDOjpKU0dsb2JhbE9iamVjdCB7CisgICAgICAg
IHR5cGVkZWYgSlNDOjpKU0dsb2JhbE9iamVjdCBCYXNlOworICAgIHByb3RlY3RlZDoKKyAgICAg
ICAgc3RydWN0IEpTRE9NR2xvYmFsT2JqZWN0RGF0YSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsT2Jq
ZWN0OjpKU0dsb2JhbE9iamVjdERhdGEgeworICAgICAgICAgICAgSlNET01TdHJ1Y3R1cmVNYXAg
c3RydWN0dXJlczsKKyAgICAgICAgICAgIEpTRE9NQ29uc3RydWN0b3JNYXAgY29uc3RydWN0b3Jz
OworICAgICAgICB9OworCisgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0KFBhc3NSZWZQdHI8SlND
OjpTdHJ1Y3R1cmVJRD4sIEpTRE9NR2xvYmFsT2JqZWN0RGF0YSosIEpTQzo6SlNPYmplY3QqIHRo
aXNWYWx1ZSk7CisKKyAgICBwdWJsaWM6CisgICAgICAgIEpTRE9NR2xvYmFsT2JqZWN0RGF0YSog
ZCgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PEpTRE9NR2xvYmFsT2JqZWN0RGF0YSo+KEpT
Qzo6SlNWYXJpYWJsZU9iamVjdDo6ZCk7IH0KKworICAgICAgICBKU0RPTVN0cnVjdHVyZU1hcCYg
c3RydWN0dXJlcygpIHsgcmV0dXJuIGQoKS0+c3RydWN0dXJlczsgfQorICAgICAgICBKU0RPTUNv
bnN0cnVjdG9yTWFwJiBjb25zdHJ1Y3RvcnMoKSBjb25zdCB7IHJldHVybiBkKCktPmNvbnN0cnVj
dG9yczsgfQorCisgICAgICAgIHZpcnR1YWwgdm9pZCBtYXJrKCk7CisgICAgfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gSlNET01HbG9iYWxPYmplY3RfaAoKUHJvcGVy
dHkgY2hhbmdlcyBvbjogV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTUdsb2JhbE9iamVjdC5oCl9f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX18KTmFtZTogc3ZuOmVvbC1zdHlsZQogICArIG5hdGl2ZQoKSW5kZXg6IFdlYkNvcmUv
YmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2Jp
bmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5jcHAJKHJldmlzaW9uIDM3ODA0KQorKysgV2ViQ29y
ZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNzMs
NyArMTczLDcgQEAgSlNET01XaW5kb3dCYXNlOjpKU0RPTVdpbmRvd0Jhc2VEYXRhOjpKUwogfQog
CiBKU0RPTVdpbmRvd0Jhc2U6OkpTRE9NV2luZG93QmFzZShQYXNzUmVmUHRyPFN0cnVjdHVyZUlE
PiBzdHJ1Y3R1cmUsIFBhc3NSZWZQdHI8RE9NV2luZG93PiB3aW5kb3csIEpTRE9NV2luZG93U2hl
bGwqIHNoZWxsKQotICAgIDogSlNHbG9iYWxPYmplY3Qoc3RydWN0dXJlLCBuZXcgSlNET01XaW5k
b3dCYXNlRGF0YSh3aW5kb3csIHNoZWxsKSwgc2hlbGwpCisgICAgOiBKU0RPTUdsb2JhbE9iamVj
dChzdHJ1Y3R1cmUsIG5ldyBKU0RPTVdpbmRvd0Jhc2VEYXRhKHdpbmRvdywgc2hlbGwpLCBzaGVs
bCkKIHsKICAgICAvLyBUaW1lIGluIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHNjcmlwdCB0aW1l
b3V0IGhhbmRsZXIga2lja3MgaW4uCiAgICAgc2V0VGltZW91dFRpbWUoMTAwMDApOwpJbmRleDog
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0RPTVdpbmRvd0Jhc2UuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJD
b3JlL2JpbmRpbmdzL2pzL0pTRE9NV2luZG93QmFzZS5oCShyZXZpc2lvbiAzNzgwNCkKKysrIFdl
YkNvcmUvYmluZGluZ3MvanMvSlNET01XaW5kb3dCYXNlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIy
LDYgKzIyLDcgQEAKIAogI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCiAjaW5jbHVkZSAiSlNE
T01CaW5kaW5nLmgiCisjaW5jbHVkZSAiSlNET01HbG9iYWxPYmplY3QuaCIKICNpbmNsdWRlIDxr
anMvcHJvdGVjdC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3RmL093
blB0ci5oPgpAQCAtNDQsMTIgKzQ1LDkgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewogCiAgICAgY2xh
c3MgSlNET01XaW5kb3dCYXNlUHJpdmF0ZTsKIAotICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBK
U0M6OkNsYXNzSW5mbyosIFJlZlB0cjxKU0M6OlN0cnVjdHVyZUlEPiA+IEpTRE9NU3RydWN0dXJl
TWFwOwotICAgIHR5cGVkZWYgSGFzaE1hcDxjb25zdCBKU0M6OkNsYXNzSW5mbyosIEpTQzo6SlNP
YmplY3QqPiBKU0RPTUNvbnN0cnVjdG9yTWFwOwotCiAgICAgLy8gVGhpcyBpcyB0aGUgb25seSBX
ZWJDb3JlIEpTIGJpbmRpbmcgd2hpY2ggZG9lcyBub3QgaW5oZXJpdCBmcm9tIERPTU9iamVjdAot
ICAgIGNsYXNzIEpTRE9NV2luZG93QmFzZSA6IHB1YmxpYyBKU0M6OkpTR2xvYmFsT2JqZWN0IHsK
LSAgICAgICAgdHlwZWRlZiBKU0M6OkpTR2xvYmFsT2JqZWN0IEJhc2U7CisgICAgY2xhc3MgSlNE
T01XaW5kb3dCYXNlIDogcHVibGljIEpTRE9NR2xvYmFsT2JqZWN0IHsKKyAgICAgICAgdHlwZWRl
ZiBKU0RPTUdsb2JhbE9iamVjdCBCYXNlOwogCiAgICAgICAgIGZyaWVuZCBjbGFzcyBTY2hlZHVs
ZWRBY3Rpb247CiAgICAgcHJvdGVjdGVkOgpAQCAtMTMxLDExICsxMjksOCBAQCBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKICAgICAgICAgdm9pZCBjbGVhckFsbFRpbWVvdXRzKCk7CiAKLSAgICAgICAg
SlNET01TdHJ1Y3R1cmVNYXAmIHN0cnVjdHVyZXMoKSB7IHJldHVybiBkKCktPnN0cnVjdHVyZXM7
IH0KLSAgICAgICAgSlNET01Db25zdHJ1Y3Rvck1hcCYgY29uc3RydWN0b3JzKCkgY29uc3QgeyBy
ZXR1cm4gZCgpLT5jb25zdHJ1Y3RvcnM7IH0KLQogICAgIHByaXZhdGU6Ci0gICAgICAgIHN0cnVj
dCBKU0RPTVdpbmRvd0Jhc2VEYXRhIDogcHVibGljIEpTR2xvYmFsT2JqZWN0RGF0YSB7CisgICAg
ICAgIHN0cnVjdCBKU0RPTVdpbmRvd0Jhc2VEYXRhIDogcHVibGljIEpTRE9NR2xvYmFsT2JqZWN0
RGF0YSB7CiAgICAgICAgICAgICBKU0RPTVdpbmRvd0Jhc2VEYXRhKFBhc3NSZWZQdHI8RE9NV2lu
ZG93PiwgSlNET01XaW5kb3dTaGVsbCopOwogCiAgICAgICAgICAgICBSZWZQdHI8RE9NV2luZG93
PiBpbXBsOwpAQCAtMTUwLDkgKzE0NSw2IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogICAgICAg
ICAgICAgdHlwZWRlZiBIYXNoTWFwPGludCwgRE9NV2luZG93VGltZXIqPiBUaW1lb3V0c01hcDsK
ICAgICAgICAgICAgIFRpbWVvdXRzTWFwIHRpbWVvdXRzOwotCi0gICAgICAgICAgICBKU0RPTVN0
cnVjdHVyZU1hcCBzdHJ1Y3R1cmVzOwotICAgICAgICAgICAgSlNET01Db25zdHJ1Y3Rvck1hcCBj
b25zdHJ1Y3RvcnM7CiAgICAgICAgIH07CiAKICAgICAgICAgc3RhdGljIEpTQzo6SlNWYWx1ZVB0
ciBjaGlsZEZyYW1lR2V0dGVyKEpTQzo6RXhlY1N0YXRlKiwgY29uc3QgSlNDOjpJZGVudGlmaWVy
JiwgY29uc3QgSlNDOjpQcm9wZXJ0eVNsb3QmKTsKSW5kZXg6IFdlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvYmluZGluZ3MvanMv
SlNET01XaW5kb3dDdXN0b20uY3BwCShyZXZpc2lvbiAzNzgwNCkKKysrIFdlYkNvcmUvYmluZGlu
Z3MvanMvSlNET01XaW5kb3dDdXN0b20uY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NiwxNiArNzYs
NiBAQCB2b2lkIEpTRE9NV2luZG93OjptYXJrKCkKICNpZiBFTkFCTEUoT0ZGTElORV9XRUJfQVBQ
TElDQVRJT05TKQogICAgIG1hcmtET01PYmplY3RXcmFwcGVyKGdsb2JhbERhdGEsIGltcGwoKS0+
b3B0aW9uYWxBcHBsaWNhdGlvbkNhY2hlKCkpOwogI2VuZGlmCi0KLSAgICBKU0RPTVN0cnVjdHVy
ZU1hcDo6aXRlcmF0b3IgZW5kID0gc3RydWN0dXJlcygpLmVuZCgpOwotICAgIGZvciAoSlNET01T
dHJ1Y3R1cmVNYXA6Oml0ZXJhdG9yIGl0ID0gc3RydWN0dXJlcygpLmJlZ2luKCk7IGl0ICE9IGVu
ZDsgKytpdCkKLSAgICAgICAgaXQtPnNlY29uZC0+bWFyaygpOwotCi0gICAgSlNET01Db25zdHJ1
Y3Rvck1hcDo6aXRlcmF0b3IgZW5kMiA9IGNvbnN0cnVjdG9ycygpLmVuZCgpOwotICAgIGZvciAo
SlNET01Db25zdHJ1Y3Rvck1hcDo6aXRlcmF0b3IgaXQyID0gY29uc3RydWN0b3JzKCkuYmVnaW4o
KTsgaXQyICE9IGVuZDI7ICsraXQyKSB7Ci0gICAgICAgIGlmICghaXQyLT5zZWNvbmQtPm1hcmtl
ZCgpKQotICAgICAgICAgICAgaXQyLT5zZWNvbmQtPm1hcmsoKTsKLSAgICB9CiB9CiAKIGJvb2wg
SlNET01XaW5kb3c6OmRlbGV0ZVByb3BlcnR5KEV4ZWNTdGF0ZSogZXhlYywgY29uc3QgSWRlbnRp
ZmllciYgcHJvcGVydHlOYW1lKQo=
</data>
<flag name="review"
          id="11218"
          type_id="1"
          status="+"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>