<?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>130535</bug_id>
          
          <creation_ts>2014-03-20 13:40:52 -0700</creation_ts>
          <short_desc>Implement stackmap header version check and support new stackmap formats</short_desc>
          <delta_ts>2014-03-20 16:09:03 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</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>
          
          <blocked>112840</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>atrick</cc>
    
    <cc>barraclough</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>juergen</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>992697</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-03-20 13:40:52 -0700</bug_when>
    <thetext>Patch forthcoming.

&lt;rdar://problem/16005902&gt;, &lt;rdar://problem/16164284&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992714</commentid>
    <comment_count>1</comment_count>
      <attachid>227330</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-03-20 14:08:16 -0700</bug_when>
    <thetext>Created attachment 227330
the patch

Almost ready for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992735</commentid>
    <comment_count>2</comment_count>
      <attachid>227335</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-03-20 14:36:00 -0700</bug_when>
    <thetext>Created attachment 227335
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992748</commentid>
    <comment_count>3</comment_count>
      <attachid>227335</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2014-03-20 14:55:49 -0700</bug_when>
    <thetext>Comment on attachment 227335
the patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992781</commentid>
    <comment_count>4</comment_count>
      <attachid>227335</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-20 16:08:58 -0700</bug_when>
    <thetext>Comment on attachment 227335
the patch

Clearing flags on attachment: 227335

Committed r166013: &lt;http://trac.webkit.org/changeset/166013&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>992782</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-03-20 16:09:03 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227330</attachid>
            <date>2014-03-20 14:08:16 -0700</date>
            <delta_ts>2014-03-20 14:36:00 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10745</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY1OTk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBA
CisyMDE0LTAzLTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SW1wbGVtZW50IHN0YWNrbWFwIGhlYWRlciB2ZXJzaW9uIGNoZWNrIGFuZCBzdXBwb3J0IG5ldyBz
dGFja21hcCBmb3JtYXRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzA1MzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2MTY0Mjg0PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQWRkIHRo
ZSBub3Rpb24gb2YgdmVyc2lvbmluZyBzbyB0aGF0IExMVk1lcnMgY2FuIGhhcHBpbHkgaW1wbGVt
ZW50IG5ldyBzdGFja21hcCBmb3JtYXRzCisgICAgICAgIHdpdGhvdXQgd29ycnlpbmcgYWJvdXQg
V2ViS2l0IGdldHRpbmcgdmVyc2lvbi1sb2NrZWQgdG8gTExWTS4gSW4gdGhlIGZ1dHVyZSwgd2Ug
d2lsbCBoYXZlCisgICAgICAgIHRvIGltcGxlbWVudCBwYXJzaW5nIGZvciBhIG5ldyBMTFZNIHN0
YWNrbWFwIGZvcm1hdCBiZWZvcmUgaXQgbGFuZHMgaW4gTExWTSwgb3Igd2UnbGwgaGF2ZQorICAg
ICAgICB0byBoYXZlIGEgIm1heCB1c2FibGUgTExWTSByZXZpc2lvbiIgbGltaXQuIEJ1dCwgdGhh
bmtzIHRvIHZlcnNpb25pbmcsIHdlJ2xsIGFsd2F5cyBiZQorICAgICAgICBoYXBweSB0byBtb3Zl
IGJhY2t3YXJkIGluIHRpbWUgdG8gb2xkZXIgdmVyc2lvbnMgb2YgTExWTS4KKworICAgICAgICAq
IGZ0bC9GVExTdGFja01hcHMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OnJlYWRPYmplY3QpOgor
ICAgICAgICAoSlNDOjpGVEw6OlN0YWNrTWFwczo6Q29uc3RhbnQ6OnBhcnNlKToKKyAgICAgICAg
KEpTQzo6RlRMOjpTdGFja01hcHM6OlN0YWNrU2l6ZTo6cGFyc2UpOgorICAgICAgICAoSlNDOjpG
VEw6OlN0YWNrTWFwczo6TG9jYXRpb246OnBhcnNlKToKKyAgICAgICAgKEpTQzo6RlRMOjpTdGFj
a01hcHM6OlJlY29yZDo6cGFyc2UpOgorICAgICAgICAoSlNDOjpGVEw6OlN0YWNrTWFwczo6cGFy
c2UpOgorICAgICAgICAoSlNDOjpGVEw6OlN0YWNrTWFwczo6ZHVtcCk6CisgICAgICAgIChKU0M6
OkZUTDo6U3RhY2tNYXBzOjpkdW1wTXVsdGlsaW5lKToKKyAgICAgICAgKiBmdGwvRlRMU3RhY2tN
YXBzLmg6CisKIDIwMTQtMDMtMjAgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDcmFzaCBiZW5lYXRoIG9wZXJhdGlvblRlYXJPZmZBY3RpdmF0aW9uIHJ1bm5pbmcg
dGhpcyBKUyBjb21wcmVzc2lvbiBkZW1vCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTFN0YWNrTWFwcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExTdGFja01hcHMuY3BwCShyZXZpc2lvbiAxNjU5OTApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTFN0YWNrTWFwcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDE2ICszNiwxNiBA
QAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PgotVCByZWFkT2JqZWN0KERhdGFWaWV3KiB2aWV3LCB1bnNpZ25lZCYgb2Zmc2V0KQorVCByZWFk
T2JqZWN0KFN0YWNrTWFwczo6UGFyc2VDb250ZXh0JiBjb250ZXh0KQogewogICAgIFQgcmVzdWx0
OwotICAgIHJlc3VsdC5wYXJzZSh2aWV3LCBvZmZzZXQpOworICAgIHJlc3VsdC5wYXJzZShjb250
ZXh0KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIFN0YWNrTWFwczo6Q29uc3RhbnQ6
OnBhcnNlKERhdGFWaWV3KiB2aWV3LCB1bnNpZ25lZCYgb2Zmc2V0KQordm9pZCBTdGFja01hcHM6
OkNvbnN0YW50OjpwYXJzZShTdGFja01hcHM6OlBhcnNlQ29udGV4dCYgY29udGV4dCkKIHsKLSAg
ICBpbnRlZ2VyID0gdmlldy0+cmVhZDxpbnQ2NF90PihvZmZzZXQsIHRydWUpOworICAgIGludGVn
ZXIgPSBjb250ZXh0LnZpZXctPnJlYWQ8aW50NjRfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOwog
fQogCiB2b2lkIFN0YWNrTWFwczo6Q29uc3RhbnQ6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29u
c3QKQEAgLTUzLDEwICs1MywxOSBAQCB2b2lkIFN0YWNrTWFwczo6Q29uc3RhbnQ6OmR1bXAoUHJp
bnRTdHJlCiAgICAgb3V0LnByaW50ZigiMHglMDE2bGx4IiwgaW50ZWdlcik7CiB9CiAKLXZvaWQg
U3RhY2tNYXBzOjpTdGFja1NpemU6OnBhcnNlKERhdGFWaWV3KiB2aWV3LCB1bnNpZ25lZCYgb2Zm
c2V0KQordm9pZCBTdGFja01hcHM6OlN0YWNrU2l6ZTo6cGFyc2UoU3RhY2tNYXBzOjpQYXJzZUNv
bnRleHQmIGNvbnRleHQpCiB7Ci0gICAgZnVuY3Rpb25PZmZzZXQgPSB2aWV3LT5yZWFkPHVpbnQz
Ml90PihvZmZzZXQsIHRydWUpOwotICAgIHNpemUgPSB2aWV3LT5yZWFkPHVpbnQzMl90PihvZmZz
ZXQsIHRydWUpOworICAgIHN3aXRjaCAoY29udGV4dC52ZXJzaW9uKSB7CisgICAgY2FzZSAwOgor
ICAgICAgICBmdW5jdGlvbk9mZnNldCA9IGNvbnRleHQudmlldy0+cmVhZDx1aW50MzJfdD4oY29u
dGV4dC5vZmZzZXQsIHRydWUpOworICAgICAgICBzaXplID0gY29udGV4dC52aWV3LT5yZWFkPHVp
bnQzMl90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CisgICAgICAgIGJyZWFrOworICAgICAgICAK
KyAgICBkZWZhdWx0OgorICAgICAgICBmdW5jdGlvbk9mZnNldCA9IGNvbnRleHQudmlldy0+cmVh
ZDx1aW50NjRfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOworICAgICAgICBzaXplID0gY29udGV4
dC52aWV3LT5yZWFkPHVpbnQ2NF90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KIH0KIAogdm9pZCBTdGFja01hcHM6OlN0YWNrU2l6ZTo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjb25zdApAQCAtNjQsMTIgKzczLDEyIEBAIHZvaWQgU3RhY2tNYXBzOjpTdGFj
a1NpemU6OmR1bXAoUHJpbnRTdHIKICAgICBvdXQucHJpbnQoIihvZmY6IiwgZnVuY3Rpb25PZmZz
ZXQsICIsIHNpemU6Iiwgc2l6ZSwgIikiKTsKIH0KIAotdm9pZCBTdGFja01hcHM6OkxvY2F0aW9u
OjpwYXJzZShEYXRhVmlldyogdmlldywgdW5zaWduZWQmIG9mZnNldCkKK3ZvaWQgU3RhY2tNYXBz
OjpMb2NhdGlvbjo6cGFyc2UoU3RhY2tNYXBzOjpQYXJzZUNvbnRleHQmIGNvbnRleHQpCiB7Ci0g
ICAga2luZCA9IHN0YXRpY19jYXN0PEtpbmQ+KHZpZXctPnJlYWQ8dWludDhfdD4ob2Zmc2V0LCB0
cnVlKSk7Ci0gICAgc2l6ZSA9IHZpZXctPnJlYWQ8dWludDhfdD4ob2Zmc2V0LCB0cnVlKTsKLSAg
ICBkd2FyZlJlZ051bSA9IHZpZXctPnJlYWQ8dWludDE2X3Q+KG9mZnNldCwgdHJ1ZSk7Ci0gICAg
dGhpcy0+b2Zmc2V0ID0gdmlldy0+cmVhZDxpbnQzMl90PihvZmZzZXQsIHRydWUpOworICAgIGtp
bmQgPSBzdGF0aWNfY2FzdDxLaW5kPihjb250ZXh0LnZpZXctPnJlYWQ8dWludDhfdD4oY29udGV4
dC5vZmZzZXQsIHRydWUpKTsKKyAgICBzaXplID0gY29udGV4dC52aWV3LT5yZWFkPHVpbnQ4X3Q+
KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsKKyAgICBkd2FyZlJlZ051bSA9IGNvbnRleHQudmlldy0+
cmVhZDx1aW50MTZfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOworICAgIHRoaXMtPm9mZnNldCA9
IGNvbnRleHQudmlldy0+cmVhZDxpbnQzMl90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CiB9CiAK
IHZvaWQgU3RhY2tNYXBzOjpMb2NhdGlvbjo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdApA
QCAtODgsMjYgKzk3LDM0IEBAIHZvaWQgU3RhY2tNYXBzOjpMb2NhdGlvbjo6cmVzdG9yZUludG8o
CiAgICAgRlRMOjpMb2NhdGlvbjo6Zm9yU3RhY2ttYXBzKCZzdGFja21hcHMsICp0aGlzKS5yZXN0
b3JlSW50byhqaXQsIHNhdmVkUmVnaXN0ZXJzLCByZXN1bHQpOwogfQogCi1ib29sIFN0YWNrTWFw
czo6UmVjb3JkOjpwYXJzZShEYXRhVmlldyogdmlldywgdW5zaWduZWQmIG9mZnNldCkKK2Jvb2wg
U3RhY2tNYXBzOjpSZWNvcmQ6OnBhcnNlKFN0YWNrTWFwczo6UGFyc2VDb250ZXh0JiBjb250ZXh0
KQogewotICAgIGludDY0X3QgaWQgPSB2aWV3LT5yZWFkPGludDY0X3Q+KG9mZnNldCwgdHJ1ZSk7
CisgICAgaW50NjRfdCBpZCA9IGNvbnRleHQudmlldy0+cmVhZDxpbnQ2NF90Pihjb250ZXh0Lm9m
ZnNldCwgdHJ1ZSk7CiAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludDMyX3Q+KGlkKSA9PSBpZCk7
CiAgICAgcGF0Y2hwb2ludElEID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGlkKTsKICAgICBpZiAo
c3RhdGljX2Nhc3Q8aW50MzJfdD4ocGF0Y2hwb2ludElEKSA8IDApCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAKLSAgICBpbnN0cnVjdGlvbk9mZnNldCA9IHZpZXctPnJlYWQ8dWludDMyX3Q+
KG9mZnNldCwgdHJ1ZSk7Ci0gICAgZmxhZ3MgPSB2aWV3LT5yZWFkPHVpbnQxNl90PihvZmZzZXQs
IHRydWUpOworICAgIGluc3RydWN0aW9uT2Zmc2V0ID0gY29udGV4dC52aWV3LT5yZWFkPHVpbnQz
Ml90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CisgICAgZmxhZ3MgPSBjb250ZXh0LnZpZXctPnJl
YWQ8dWludDE2X3Q+KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsKICAgICAKLSAgICB1bnNpZ25lZCBs
ZW5ndGggPSB2aWV3LT5yZWFkPHVpbnQxNl90PihvZmZzZXQsIHRydWUpOworICAgIHVuc2lnbmVk
IGxlbmd0aCA9IGNvbnRleHQudmlldy0+cmVhZDx1aW50MTZfdD4oY29udGV4dC5vZmZzZXQsIHRy
dWUpOwogICAgIHdoaWxlIChsZW5ndGgtLSkKLSAgICAgICAgbG9jYXRpb25zLmFwcGVuZChyZWFk
T2JqZWN0PExvY2F0aW9uPih2aWV3LCBvZmZzZXQpKTsKKyAgICAgICAgbG9jYXRpb25zLmFwcGVu
ZChyZWFkT2JqZWN0PExvY2F0aW9uPihjb250ZXh0KSk7CiAgICAgCi0gICAgdW5zaWduZWQgbnVt
TGl2ZU91dHMgPSB2aWV3LT5yZWFkPHVpbnQxNl90PihvZmZzZXQsIHRydWUpOworICAgIGlmIChj
b250ZXh0LnZlcnNpb24gPj0gMSkKKyAgICAgICAgY29udGV4dC52aWV3LT5yZWFkPHVpbnQxNl90
Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7IC8vIHBhZGRpbmcKKyAgICB1bnNpZ25lZCBudW1MaXZl
T3V0cyA9IGNvbnRleHQudmlldy0+cmVhZDx1aW50MTZfdD4oY29udGV4dC5vZmZzZXQsIHRydWUp
OwogICAgIHdoaWxlIChudW1MaXZlT3V0cy0tKSB7Ci0gICAgICAgIHZpZXctPnJlYWQ8dWludDE2
X3Q+KG9mZnNldCwgdHJ1ZSk7IC8vIHJlZ251bQotICAgICAgICB2aWV3LT5yZWFkPHVpbnQ4X3Q+
KG9mZnNldCwgdHJ1ZSk7IC8vIHJlc2VydmVkCi0gICAgICAgIHZpZXctPnJlYWQ8dWludDhfdD4o
b2Zmc2V0LCB0cnVlKTsgLy8gc2l6ZSBpbiBieXRlcworICAgICAgICBjb250ZXh0LnZpZXctPnJl
YWQ8dWludDE2X3Q+KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsgLy8gcmVnbnVtCisgICAgICAgIGNv
bnRleHQudmlldy0+cmVhZDx1aW50OF90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7IC8vIHJlc2Vy
dmVkCisgICAgICAgIGNvbnRleHQudmlldy0+cmVhZDx1aW50OF90Pihjb250ZXh0Lm9mZnNldCwg
dHJ1ZSk7IC8vIHNpemUgaW4gYnl0ZXMKKyAgICB9CisgICAgaWYgKGNvbnRleHQudmVyc2lvbiA+
PSAxKSB7CisgICAgICAgIGlmIChjb250ZXh0Lm9mZnNldCAmIDcpIHsKKyAgICAgICAgICAgIEFT
U0VSVCghKGNvbnRleHQub2Zmc2V0ICYgMykpOworICAgICAgICAgICAgY29udGV4dC52aWV3LT5y
ZWFkPHVpbnQzMl90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7IC8vIHBhZGRpbmcKKyAgICAgICAg
fQogICAgIH0KICAgICAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEyMiwyNCArMTM5LDM4IEBAIHZv
aWQgU3RhY2tNYXBzOjpSZWNvcmQ6OmR1bXAoUHJpbnRTdHJlYW0KIAogYm9vbCBTdGFja01hcHM6
OnBhcnNlKERhdGFWaWV3KiB2aWV3KQogewotICAgIHVuc2lnbmVkIG9mZnNldCA9IDA7Ci0gICAg
Ci0gICAgdmlldy0+cmVhZDx1aW50MzJfdD4ob2Zmc2V0LCB0cnVlKTsgLy8gUmVzZXJ2ZWQgKGhl
YWRlcikKLSAgICAKLSAgICB1aW50MzJfdCBudW1GdW5jdGlvbnMgPSB2aWV3LT5yZWFkPHVpbnQz
Ml90PihvZmZzZXQsIHRydWUpOwotICAgIEFTU0VSVChudW1GdW5jdGlvbnMgPT0gMSk7IC8vIFRo
ZXJlIHNob3VsZCBvbmx5IGJlIG9uZSBzdGFjayBzaXplIHJlY29yZAotICAgIHdoaWxlIChudW1G
dW5jdGlvbnMtLSkgewotICAgICAgICBzdGFja1NpemVzLmFwcGVuZChyZWFkT2JqZWN0PFN0YWNr
U2l6ZT4odmlldywgb2Zmc2V0KSk7CisgICAgUGFyc2VDb250ZXh0IGNvbnRleHQ7CisgICAgY29u
dGV4dC5vZmZzZXQgPSAwOworICAgIGNvbnRleHQudmlldyA9IHZpZXc7CisgICAgCisgICAgY29u
dGV4dC52ZXJzaW9uID0gY29udGV4dC52aWV3LT5yZWFkPHVpbnQ4X3Q+KGNvbnRleHQub2Zmc2V0
LCB0cnVlKTsKKworICAgIGNvbnRleHQudmlldy0+cmVhZDx1aW50OF90Pihjb250ZXh0Lm9mZnNl
dCwgdHJ1ZSk7IC8vIFJlc2VydmVkCisgICAgY29udGV4dC52aWV3LT5yZWFkPHVpbnQ4X3Q+KGNv
bnRleHQub2Zmc2V0LCB0cnVlKTsgLy8gUmVzZXJ2ZWQKKyAgICBjb250ZXh0LnZpZXctPnJlYWQ8
dWludDhfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOyAvLyBSZXNlcnZlZAorCisgICAgdWludDMy
X3QgbnVtRnVuY3Rpb25zOworICAgIHVpbnQzMl90IG51bUNvbnN0YW50czsKKyAgICB1aW50MzJf
dCBudW1SZWNvcmRzOworICAgIAorICAgIG51bUZ1bmN0aW9ucyA9IGNvbnRleHQudmlldy0+cmVh
ZDx1aW50MzJfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOworICAgIGlmIChjb250ZXh0LnZlcnNp
b24gPj0gMSkgeworICAgICAgICBudW1Db25zdGFudHMgPSBjb250ZXh0LnZpZXctPnJlYWQ8dWlu
dDMyX3Q+KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsKKyAgICAgICAgbnVtUmVjb3JkcyA9IGNvbnRl
eHQudmlldy0+cmVhZDx1aW50MzJfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOwogICAgIH0KKyAg
ICB3aGlsZSAobnVtRnVuY3Rpb25zLS0pCisgICAgICAgIHN0YWNrU2l6ZXMuYXBwZW5kKHJlYWRP
YmplY3Q8U3RhY2tTaXplPihjb250ZXh0KSk7CiAgICAgCi0gICAgdWludDMyX3QgbnVtQ29uc3Rh
bnRzID0gdmlldy0+cmVhZDx1aW50MzJfdD4ob2Zmc2V0LCB0cnVlKTsKKyAgICBpZiAoIWNvbnRl
eHQudmVyc2lvbikKKyAgICAgICAgbnVtQ29uc3RhbnRzID0gY29udGV4dC52aWV3LT5yZWFkPHVp
bnQzMl90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CiAgICAgd2hpbGUgKG51bUNvbnN0YW50cy0t
KQotICAgICAgICBjb25zdGFudHMuYXBwZW5kKHJlYWRPYmplY3Q8Q29uc3RhbnQ+KHZpZXcsIG9m
ZnNldCkpOworICAgICAgICBjb25zdGFudHMuYXBwZW5kKHJlYWRPYmplY3Q8Q29uc3RhbnQ+KGNv
bnRleHQpKTsKICAgICAKLSAgICB1aW50MzJfdCBudW1SZWNvcmRzID0gdmlldy0+cmVhZDx1aW50
MzJfdD4ob2Zmc2V0LCB0cnVlKTsKKyAgICBpZiAoIWNvbnRleHQudmVyc2lvbikKKyAgICAgICAg
bnVtUmVjb3JkcyA9IGNvbnRleHQudmlldy0+cmVhZDx1aW50MzJfdD4oY29udGV4dC5vZmZzZXQs
IHRydWUpOwogICAgIHdoaWxlIChudW1SZWNvcmRzLS0pIHsKICAgICAgICAgUmVjb3JkIHJlY29y
ZDsKLSAgICAgICAgaWYgKCFyZWNvcmQucGFyc2Uodmlldywgb2Zmc2V0KSkKKyAgICAgICAgaWYg
KCFyZWNvcmQucGFyc2UoY29udGV4dCkpCiAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg
ICAgIHJlY29yZHMuYXBwZW5kKHJlY29yZCk7CiAgICAgfQpAQCAtMTQ5LDExICsxODAsMTIgQEAg
Ym9vbCBTdGFja01hcHM6OnBhcnNlKERhdGFWaWV3KiB2aWV3KQogCiB2b2lkIFN0YWNrTWFwczo6
ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdAogewotICAgIG91dC5wcmludCgiU3RhY2tTaXpl
c1siLCBsaXN0RHVtcChzdGFja1NpemVzKSwgIl0sIENvbnN0YW50czpbIiwgbGlzdER1bXAoY29u
c3RhbnRzKSwgIl0sIFJlY29yZHM6WyIsIGxpc3REdW1wKHJlY29yZHMpLCAiXSIpOworICAgIG91
dC5wcmludCgiVmVyc2lvbjoiLCB2ZXJzaW9uLCAiLCBTdGFja1NpemVzWyIsIGxpc3REdW1wKHN0
YWNrU2l6ZXMpLCAiXSwgQ29uc3RhbnRzOlsiLCBsaXN0RHVtcChjb25zdGFudHMpLCAiXSwgUmVj
b3JkczpbIiwgbGlzdER1bXAocmVjb3JkcyksICJdIik7CiB9CiAKIHZvaWQgU3RhY2tNYXBzOjpk
dW1wTXVsdGlsaW5lKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0IGNoYXIqIHByZWZpeCkgY29uc3QK
IHsKKyAgICBvdXQucHJpbnQocHJlZml4LCAiVmVyc2lvbjogIiwgdmVyc2lvbiwgIlxuIik7CiAg
ICAgb3V0LnByaW50KHByZWZpeCwgIlN0YWNrU2l6ZXM6XG4iKTsKICAgICBmb3IgKHVuc2lnbmVk
IGkgPSAwOyBpIDwgc3RhY2tTaXplcy5zaXplKCk7ICsraSkKICAgICAgICAgb3V0LnByaW50KHBy
ZWZpeCwgIiAgICAiLCBzdGFja1NpemVzW2ldLCAiXG4iKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9mdGwvRlRMU3RhY2tNYXBzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Z0bC9GVExTdGFja01hcHMuaAkocmV2aXNpb24gMTY1OTkwKQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2Z0bC9GVExTdGFja01hcHMuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDUgQEAKIC8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTMgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzksMTggKzM5
LDI0IEBAIGNsYXNzIE1hY3JvQXNzZW1ibGVyOwogbmFtZXNwYWNlIEZUTCB7CiAKIHN0cnVjdCBT
dGFja01hcHMgeworICAgIHN0cnVjdCBQYXJzZUNvbnRleHQgeworICAgICAgICB1bnNpZ25lZCB2
ZXJzaW9uOworICAgICAgICBEYXRhVmlldyogdmlldzsKKyAgICAgICAgdW5zaWduZWQgb2Zmc2V0
OworICAgIH07CisgICAgCiAgICAgc3RydWN0IENvbnN0YW50IHsKICAgICAgICAgaW50NjRfdCBp
bnRlZ2VyOwogICAgICAgICAKLSAgICAgICAgdm9pZCBwYXJzZShEYXRhVmlldyosIHVuc2lnbmVk
JiBvZmZzZXQpOworICAgICAgICB2b2lkIHBhcnNlKFBhcnNlQ29udGV4dCYpOwogICAgICAgICB2
b2lkIGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAgICAgfTsKIAogICAgIHN0cnVjdCBT
dGFja1NpemUgewotICAgICAgICB1aW50MzJfdCBmdW5jdGlvbk9mZnNldDsKLSAgICAgICAgdWlu
dDMyX3Qgc2l6ZTsKKyAgICAgICAgdWludDY0X3QgZnVuY3Rpb25PZmZzZXQ7CisgICAgICAgIHVp
bnQ2NF90IHNpemU7CiAKLSAgICAgICAgdm9pZCBwYXJzZShEYXRhVmlldyosIHVuc2lnbmVkJiBv
ZmZzZXQpOworICAgICAgICB2b2lkIHBhcnNlKFBhcnNlQ29udGV4dCYpOwogICAgICAgICB2b2lk
IGR1bXAoUHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICB9OwogCkBAIC02OSw3ICs3NSw3IEBAIHN0
cnVjdCBTdGFja01hcHMgewogICAgICAgICBLaW5kIGtpbmQ7CiAgICAgICAgIGludDMyX3Qgb2Zm
c2V0OwogICAgICAgICAKLSAgICAgICAgdm9pZCBwYXJzZShEYXRhVmlldyosIHVuc2lnbmVkJiBv
ZmZzZXQpOworICAgICAgICB2b2lkIHBhcnNlKFBhcnNlQ29udGV4dCYpOwogICAgICAgICB2b2lk
IGR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3Q7CiAgICAgICAgIAogICAgICAgICBHUFJSZWcg
ZGlyZWN0R1BSKCkgY29uc3Q7CkBAIC04MywxMCArODksMTEgQEAgc3RydWN0IFN0YWNrTWFwcyB7
CiAgICAgICAgIAogICAgICAgICBWZWN0b3I8TG9jYXRpb24+IGxvY2F0aW9uczsKICAgICAgICAg
Ci0gICAgICAgIGJvb2wgcGFyc2UoRGF0YVZpZXcqLCB1bnNpZ25lZCYgb2Zmc2V0KTsKKyAgICAg
ICAgYm9vbCBwYXJzZShQYXJzZUNvbnRleHQmKTsKICAgICAgICAgdm9pZCBkdW1wKFByaW50U3Ry
ZWFtJikgY29uc3Q7CiAgICAgfTsKIAorICAgIHVuc2lnbmVkIHZlcnNpb247CiAgICAgVmVjdG9y
PFN0YWNrU2l6ZT4gc3RhY2tTaXplczsKICAgICBWZWN0b3I8Q29uc3RhbnQ+IGNvbnN0YW50czsK
ICAgICBWZWN0b3I8UmVjb3JkPiByZWNvcmRzOwo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>227335</attachid>
            <date>2014-03-20 14:36:00 -0700</date>
            <delta_ts>2014-03-20 16:08:58 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10755</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY1OTk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI4IEBA
CisyMDE0LTAzLTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
SW1wbGVtZW50IHN0YWNrbWFwIGhlYWRlciB2ZXJzaW9uIGNoZWNrIGFuZCBzdXBwb3J0IG5ldyBz
dGFja21hcCBmb3JtYXRzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMzA1MzUKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzE2MTY0Mjg0PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorICAgICAgICAKKyAgICAgICAgQWRkIHRo
ZSBub3Rpb24gb2YgdmVyc2lvbmluZyBzbyB0aGF0IExMVk1lcnMgY2FuIGhhcHBpbHkgaW1wbGVt
ZW50IG5ldyBzdGFja21hcCBmb3JtYXRzCisgICAgICAgIHdpdGhvdXQgd29ycnlpbmcgYWJvdXQg
V2ViS2l0IGdldHRpbmcgdmVyc2lvbi1sb2NrZWQgdG8gTExWTS4gSW4gdGhlIGZ1dHVyZSwgd2Ug
d2lsbCBoYXZlCisgICAgICAgIHRvIGltcGxlbWVudCBwYXJzaW5nIGZvciBhIG5ldyBMTFZNIHN0
YWNrbWFwIGZvcm1hdCBiZWZvcmUgaXQgbGFuZHMgaW4gTExWTSwgb3Igd2UnbGwgaGF2ZQorICAg
ICAgICB0byBoYXZlIGEgIm1heCB1c2FibGUgTExWTSByZXZpc2lvbiIgbGltaXQuIEJ1dCwgdGhh
bmtzIHRvIHZlcnNpb25pbmcsIHdlJ2xsIGFsd2F5cyBiZQorICAgICAgICBoYXBweSB0byBtb3Zl
IGJhY2t3YXJkIGluIHRpbWUgdG8gb2xkZXIgdmVyc2lvbnMgb2YgTExWTS4KKworICAgICAgICAq
IGZ0bC9GVExTdGFja01hcHMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OnJlYWRPYmplY3QpOgor
ICAgICAgICAoSlNDOjpGVEw6OlN0YWNrTWFwczo6Q29uc3RhbnQ6OnBhcnNlKToKKyAgICAgICAg
KEpTQzo6RlRMOjpTdGFja01hcHM6OlN0YWNrU2l6ZTo6cGFyc2UpOgorICAgICAgICAoSlNDOjpG
VEw6OlN0YWNrTWFwczo6TG9jYXRpb246OnBhcnNlKToKKyAgICAgICAgKEpTQzo6RlRMOjpTdGFj
a01hcHM6OlJlY29yZDo6cGFyc2UpOgorICAgICAgICAoSlNDOjpGVEw6OlN0YWNrTWFwczo6cGFy
c2UpOgorICAgICAgICAoSlNDOjpGVEw6OlN0YWNrTWFwczo6ZHVtcCk6CisgICAgICAgIChKU0M6
OkZUTDo6U3RhY2tNYXBzOjpkdW1wTXVsdGlsaW5lKToKKyAgICAgICAgKiBmdGwvRlRMU3RhY2tN
YXBzLmg6CisKIDIwMTQtMDMtMjAgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBDcmFzaCBiZW5lYXRoIG9wZXJhdGlvblRlYXJPZmZBY3RpdmF0aW9uIHJ1bm5pbmcg
dGhpcyBKUyBjb21wcmVzc2lvbiBkZW1vCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRs
L0ZUTFN0YWNrTWFwcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExTdGFja01hcHMuY3BwCShyZXZpc2lvbiAxNjU5OTApCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTFN0YWNrTWFwcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBA
CiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDE2ICszNiwxNiBA
QAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBGVEwgewogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
PgotVCByZWFkT2JqZWN0KERhdGFWaWV3KiB2aWV3LCB1bnNpZ25lZCYgb2Zmc2V0KQorVCByZWFk
T2JqZWN0KFN0YWNrTWFwczo6UGFyc2VDb250ZXh0JiBjb250ZXh0KQogewogICAgIFQgcmVzdWx0
OwotICAgIHJlc3VsdC5wYXJzZSh2aWV3LCBvZmZzZXQpOworICAgIHJlc3VsdC5wYXJzZShjb250
ZXh0KTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCi12b2lkIFN0YWNrTWFwczo6Q29uc3RhbnQ6
OnBhcnNlKERhdGFWaWV3KiB2aWV3LCB1bnNpZ25lZCYgb2Zmc2V0KQordm9pZCBTdGFja01hcHM6
OkNvbnN0YW50OjpwYXJzZShTdGFja01hcHM6OlBhcnNlQ29udGV4dCYgY29udGV4dCkKIHsKLSAg
ICBpbnRlZ2VyID0gdmlldy0+cmVhZDxpbnQ2NF90PihvZmZzZXQsIHRydWUpOworICAgIGludGVn
ZXIgPSBjb250ZXh0LnZpZXctPnJlYWQ8aW50NjRfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOwog
fQogCiB2b2lkIFN0YWNrTWFwczo6Q29uc3RhbnQ6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29u
c3QKQEAgLTUzLDEwICs1MywxOSBAQCB2b2lkIFN0YWNrTWFwczo6Q29uc3RhbnQ6OmR1bXAoUHJp
bnRTdHJlCiAgICAgb3V0LnByaW50ZigiMHglMDE2bGx4IiwgaW50ZWdlcik7CiB9CiAKLXZvaWQg
U3RhY2tNYXBzOjpTdGFja1NpemU6OnBhcnNlKERhdGFWaWV3KiB2aWV3LCB1bnNpZ25lZCYgb2Zm
c2V0KQordm9pZCBTdGFja01hcHM6OlN0YWNrU2l6ZTo6cGFyc2UoU3RhY2tNYXBzOjpQYXJzZUNv
bnRleHQmIGNvbnRleHQpCiB7Ci0gICAgZnVuY3Rpb25PZmZzZXQgPSB2aWV3LT5yZWFkPHVpbnQz
Ml90PihvZmZzZXQsIHRydWUpOwotICAgIHNpemUgPSB2aWV3LT5yZWFkPHVpbnQzMl90PihvZmZz
ZXQsIHRydWUpOworICAgIHN3aXRjaCAoY29udGV4dC52ZXJzaW9uKSB7CisgICAgY2FzZSAwOgor
ICAgICAgICBmdW5jdGlvbk9mZnNldCA9IGNvbnRleHQudmlldy0+cmVhZDx1aW50MzJfdD4oY29u
dGV4dC5vZmZzZXQsIHRydWUpOworICAgICAgICBzaXplID0gY29udGV4dC52aWV3LT5yZWFkPHVp
bnQzMl90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CisgICAgICAgIGJyZWFrOworICAgICAgICAK
KyAgICBkZWZhdWx0OgorICAgICAgICBmdW5jdGlvbk9mZnNldCA9IGNvbnRleHQudmlldy0+cmVh
ZDx1aW50NjRfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOworICAgICAgICBzaXplID0gY29udGV4
dC52aWV3LT5yZWFkPHVpbnQ2NF90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CisgICAgICAgIGJy
ZWFrOworICAgIH0KIH0KIAogdm9pZCBTdGFja01hcHM6OlN0YWNrU2l6ZTo6ZHVtcChQcmludFN0
cmVhbSYgb3V0KSBjb25zdApAQCAtNjQsMTIgKzczLDEyIEBAIHZvaWQgU3RhY2tNYXBzOjpTdGFj
a1NpemU6OmR1bXAoUHJpbnRTdHIKICAgICBvdXQucHJpbnQoIihvZmY6IiwgZnVuY3Rpb25PZmZz
ZXQsICIsIHNpemU6Iiwgc2l6ZSwgIikiKTsKIH0KIAotdm9pZCBTdGFja01hcHM6OkxvY2F0aW9u
OjpwYXJzZShEYXRhVmlldyogdmlldywgdW5zaWduZWQmIG9mZnNldCkKK3ZvaWQgU3RhY2tNYXBz
OjpMb2NhdGlvbjo6cGFyc2UoU3RhY2tNYXBzOjpQYXJzZUNvbnRleHQmIGNvbnRleHQpCiB7Ci0g
ICAga2luZCA9IHN0YXRpY19jYXN0PEtpbmQ+KHZpZXctPnJlYWQ8dWludDhfdD4ob2Zmc2V0LCB0
cnVlKSk7Ci0gICAgc2l6ZSA9IHZpZXctPnJlYWQ8dWludDhfdD4ob2Zmc2V0LCB0cnVlKTsKLSAg
ICBkd2FyZlJlZ051bSA9IHZpZXctPnJlYWQ8dWludDE2X3Q+KG9mZnNldCwgdHJ1ZSk7Ci0gICAg
dGhpcy0+b2Zmc2V0ID0gdmlldy0+cmVhZDxpbnQzMl90PihvZmZzZXQsIHRydWUpOworICAgIGtp
bmQgPSBzdGF0aWNfY2FzdDxLaW5kPihjb250ZXh0LnZpZXctPnJlYWQ8dWludDhfdD4oY29udGV4
dC5vZmZzZXQsIHRydWUpKTsKKyAgICBzaXplID0gY29udGV4dC52aWV3LT5yZWFkPHVpbnQ4X3Q+
KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsKKyAgICBkd2FyZlJlZ051bSA9IGNvbnRleHQudmlldy0+
cmVhZDx1aW50MTZfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOworICAgIHRoaXMtPm9mZnNldCA9
IGNvbnRleHQudmlldy0+cmVhZDxpbnQzMl90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CiB9CiAK
IHZvaWQgU3RhY2tNYXBzOjpMb2NhdGlvbjo6ZHVtcChQcmludFN0cmVhbSYgb3V0KSBjb25zdApA
QCAtODgsMjYgKzk3LDM0IEBAIHZvaWQgU3RhY2tNYXBzOjpMb2NhdGlvbjo6cmVzdG9yZUludG8o
CiAgICAgRlRMOjpMb2NhdGlvbjo6Zm9yU3RhY2ttYXBzKCZzdGFja21hcHMsICp0aGlzKS5yZXN0
b3JlSW50byhqaXQsIHNhdmVkUmVnaXN0ZXJzLCByZXN1bHQpOwogfQogCi1ib29sIFN0YWNrTWFw
czo6UmVjb3JkOjpwYXJzZShEYXRhVmlldyogdmlldywgdW5zaWduZWQmIG9mZnNldCkKK2Jvb2wg
U3RhY2tNYXBzOjpSZWNvcmQ6OnBhcnNlKFN0YWNrTWFwczo6UGFyc2VDb250ZXh0JiBjb250ZXh0
KQogewotICAgIGludDY0X3QgaWQgPSB2aWV3LT5yZWFkPGludDY0X3Q+KG9mZnNldCwgdHJ1ZSk7
CisgICAgaW50NjRfdCBpZCA9IGNvbnRleHQudmlldy0+cmVhZDxpbnQ2NF90Pihjb250ZXh0Lm9m
ZnNldCwgdHJ1ZSk7CiAgICAgQVNTRVJUKHN0YXRpY19jYXN0PGludDMyX3Q+KGlkKSA9PSBpZCk7
CiAgICAgcGF0Y2hwb2ludElEID0gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KGlkKTsKICAgICBpZiAo
c3RhdGljX2Nhc3Q8aW50MzJfdD4ocGF0Y2hwb2ludElEKSA8IDApCiAgICAgICAgIHJldHVybiBm
YWxzZTsKICAgICAKLSAgICBpbnN0cnVjdGlvbk9mZnNldCA9IHZpZXctPnJlYWQ8dWludDMyX3Q+
KG9mZnNldCwgdHJ1ZSk7Ci0gICAgZmxhZ3MgPSB2aWV3LT5yZWFkPHVpbnQxNl90PihvZmZzZXQs
IHRydWUpOworICAgIGluc3RydWN0aW9uT2Zmc2V0ID0gY29udGV4dC52aWV3LT5yZWFkPHVpbnQz
Ml90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CisgICAgZmxhZ3MgPSBjb250ZXh0LnZpZXctPnJl
YWQ8dWludDE2X3Q+KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsKICAgICAKLSAgICB1bnNpZ25lZCBs
ZW5ndGggPSB2aWV3LT5yZWFkPHVpbnQxNl90PihvZmZzZXQsIHRydWUpOworICAgIHVuc2lnbmVk
IGxlbmd0aCA9IGNvbnRleHQudmlldy0+cmVhZDx1aW50MTZfdD4oY29udGV4dC5vZmZzZXQsIHRy
dWUpOwogICAgIHdoaWxlIChsZW5ndGgtLSkKLSAgICAgICAgbG9jYXRpb25zLmFwcGVuZChyZWFk
T2JqZWN0PExvY2F0aW9uPih2aWV3LCBvZmZzZXQpKTsKKyAgICAgICAgbG9jYXRpb25zLmFwcGVu
ZChyZWFkT2JqZWN0PExvY2F0aW9uPihjb250ZXh0KSk7CiAgICAgCi0gICAgdW5zaWduZWQgbnVt
TGl2ZU91dHMgPSB2aWV3LT5yZWFkPHVpbnQxNl90PihvZmZzZXQsIHRydWUpOworICAgIGlmIChj
b250ZXh0LnZlcnNpb24gPj0gMSkKKyAgICAgICAgY29udGV4dC52aWV3LT5yZWFkPHVpbnQxNl90
Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7IC8vIHBhZGRpbmcKKyAgICB1bnNpZ25lZCBudW1MaXZl
T3V0cyA9IGNvbnRleHQudmlldy0+cmVhZDx1aW50MTZfdD4oY29udGV4dC5vZmZzZXQsIHRydWUp
OwogICAgIHdoaWxlIChudW1MaXZlT3V0cy0tKSB7Ci0gICAgICAgIHZpZXctPnJlYWQ8dWludDE2
X3Q+KG9mZnNldCwgdHJ1ZSk7IC8vIHJlZ251bQotICAgICAgICB2aWV3LT5yZWFkPHVpbnQ4X3Q+
KG9mZnNldCwgdHJ1ZSk7IC8vIHJlc2VydmVkCi0gICAgICAgIHZpZXctPnJlYWQ8dWludDhfdD4o
b2Zmc2V0LCB0cnVlKTsgLy8gc2l6ZSBpbiBieXRlcworICAgICAgICBjb250ZXh0LnZpZXctPnJl
YWQ8dWludDE2X3Q+KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsgLy8gcmVnbnVtCisgICAgICAgIGNv
bnRleHQudmlldy0+cmVhZDx1aW50OF90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7IC8vIHJlc2Vy
dmVkCisgICAgICAgIGNvbnRleHQudmlldy0+cmVhZDx1aW50OF90Pihjb250ZXh0Lm9mZnNldCwg
dHJ1ZSk7IC8vIHNpemUgaW4gYnl0ZXMKKyAgICB9CisgICAgaWYgKGNvbnRleHQudmVyc2lvbiA+
PSAxKSB7CisgICAgICAgIGlmIChjb250ZXh0Lm9mZnNldCAmIDcpIHsKKyAgICAgICAgICAgIEFT
U0VSVCghKGNvbnRleHQub2Zmc2V0ICYgMykpOworICAgICAgICAgICAgY29udGV4dC52aWV3LT5y
ZWFkPHVpbnQzMl90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7IC8vIHBhZGRpbmcKKyAgICAgICAg
fQogICAgIH0KICAgICAKICAgICByZXR1cm4gdHJ1ZTsKQEAgLTEyMiwyNCArMTM5LDM4IEBAIHZv
aWQgU3RhY2tNYXBzOjpSZWNvcmQ6OmR1bXAoUHJpbnRTdHJlYW0KIAogYm9vbCBTdGFja01hcHM6
OnBhcnNlKERhdGFWaWV3KiB2aWV3KQogewotICAgIHVuc2lnbmVkIG9mZnNldCA9IDA7Ci0gICAg
Ci0gICAgdmlldy0+cmVhZDx1aW50MzJfdD4ob2Zmc2V0LCB0cnVlKTsgLy8gUmVzZXJ2ZWQgKGhl
YWRlcikKLSAgICAKLSAgICB1aW50MzJfdCBudW1GdW5jdGlvbnMgPSB2aWV3LT5yZWFkPHVpbnQz
Ml90PihvZmZzZXQsIHRydWUpOwotICAgIEFTU0VSVChudW1GdW5jdGlvbnMgPT0gMSk7IC8vIFRo
ZXJlIHNob3VsZCBvbmx5IGJlIG9uZSBzdGFjayBzaXplIHJlY29yZAotICAgIHdoaWxlIChudW1G
dW5jdGlvbnMtLSkgewotICAgICAgICBzdGFja1NpemVzLmFwcGVuZChyZWFkT2JqZWN0PFN0YWNr
U2l6ZT4odmlldywgb2Zmc2V0KSk7CisgICAgUGFyc2VDb250ZXh0IGNvbnRleHQ7CisgICAgY29u
dGV4dC5vZmZzZXQgPSAwOworICAgIGNvbnRleHQudmlldyA9IHZpZXc7CisgICAgCisgICAgdmVy
c2lvbiA9IGNvbnRleHQudmVyc2lvbiA9IGNvbnRleHQudmlldy0+cmVhZDx1aW50OF90Pihjb250
ZXh0Lm9mZnNldCwgdHJ1ZSk7CisKKyAgICBjb250ZXh0LnZpZXctPnJlYWQ8dWludDhfdD4oY29u
dGV4dC5vZmZzZXQsIHRydWUpOyAvLyBSZXNlcnZlZAorICAgIGNvbnRleHQudmlldy0+cmVhZDx1
aW50OF90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7IC8vIFJlc2VydmVkCisgICAgY29udGV4dC52
aWV3LT5yZWFkPHVpbnQ4X3Q+KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsgLy8gUmVzZXJ2ZWQKKwor
ICAgIHVpbnQzMl90IG51bUZ1bmN0aW9uczsKKyAgICB1aW50MzJfdCBudW1Db25zdGFudHM7Cisg
ICAgdWludDMyX3QgbnVtUmVjb3JkczsKKyAgICAKKyAgICBudW1GdW5jdGlvbnMgPSBjb250ZXh0
LnZpZXctPnJlYWQ8dWludDMyX3Q+KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsKKyAgICBpZiAoY29u
dGV4dC52ZXJzaW9uID49IDEpIHsKKyAgICAgICAgbnVtQ29uc3RhbnRzID0gY29udGV4dC52aWV3
LT5yZWFkPHVpbnQzMl90Pihjb250ZXh0Lm9mZnNldCwgdHJ1ZSk7CisgICAgICAgIG51bVJlY29y
ZHMgPSBjb250ZXh0LnZpZXctPnJlYWQ8dWludDMyX3Q+KGNvbnRleHQub2Zmc2V0LCB0cnVlKTsK
ICAgICB9CisgICAgd2hpbGUgKG51bUZ1bmN0aW9ucy0tKQorICAgICAgICBzdGFja1NpemVzLmFw
cGVuZChyZWFkT2JqZWN0PFN0YWNrU2l6ZT4oY29udGV4dCkpOwogICAgIAotICAgIHVpbnQzMl90
IG51bUNvbnN0YW50cyA9IHZpZXctPnJlYWQ8dWludDMyX3Q+KG9mZnNldCwgdHJ1ZSk7CisgICAg
aWYgKCFjb250ZXh0LnZlcnNpb24pCisgICAgICAgIG51bUNvbnN0YW50cyA9IGNvbnRleHQudmll
dy0+cmVhZDx1aW50MzJfdD4oY29udGV4dC5vZmZzZXQsIHRydWUpOwogICAgIHdoaWxlIChudW1D
b25zdGFudHMtLSkKLSAgICAgICAgY29uc3RhbnRzLmFwcGVuZChyZWFkT2JqZWN0PENvbnN0YW50
Pih2aWV3LCBvZmZzZXQpKTsKKyAgICAgICAgY29uc3RhbnRzLmFwcGVuZChyZWFkT2JqZWN0PENv
bnN0YW50Pihjb250ZXh0KSk7CiAgICAgCi0gICAgdWludDMyX3QgbnVtUmVjb3JkcyA9IHZpZXct
PnJlYWQ8dWludDMyX3Q+KG9mZnNldCwgdHJ1ZSk7CisgICAgaWYgKCFjb250ZXh0LnZlcnNpb24p
CisgICAgICAgIG51bVJlY29yZHMgPSBjb250ZXh0LnZpZXctPnJlYWQ8dWludDMyX3Q+KGNvbnRl
eHQub2Zmc2V0LCB0cnVlKTsKICAgICB3aGlsZSAobnVtUmVjb3Jkcy0tKSB7CiAgICAgICAgIFJl
Y29yZCByZWNvcmQ7Ci0gICAgICAgIGlmICghcmVjb3JkLnBhcnNlKHZpZXcsIG9mZnNldCkpCisg
ICAgICAgIGlmICghcmVjb3JkLnBhcnNlKGNvbnRleHQpKQogICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOwogICAgICAgICByZWNvcmRzLmFwcGVuZChyZWNvcmQpOwogICAgIH0KQEAgLTE0OSwxMSAr
MTgwLDEyIEBAIGJvb2wgU3RhY2tNYXBzOjpwYXJzZShEYXRhVmlldyogdmlldykKIAogdm9pZCBT
dGFja01hcHM6OmR1bXAoUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKIHsKLSAgICBvdXQucHJpbnQo
IlN0YWNrU2l6ZXNbIiwgbGlzdER1bXAoc3RhY2tTaXplcyksICJdLCBDb25zdGFudHM6WyIsIGxp
c3REdW1wKGNvbnN0YW50cyksICJdLCBSZWNvcmRzOlsiLCBsaXN0RHVtcChyZWNvcmRzKSwgIl0i
KTsKKyAgICBvdXQucHJpbnQoIlZlcnNpb246IiwgdmVyc2lvbiwgIiwgU3RhY2tTaXplc1siLCBs
aXN0RHVtcChzdGFja1NpemVzKSwgIl0sIENvbnN0YW50czpbIiwgbGlzdER1bXAoY29uc3RhbnRz
KSwgIl0sIFJlY29yZHM6WyIsIGxpc3REdW1wKHJlY29yZHMpLCAiXSIpOwogfQogCiB2b2lkIFN0
YWNrTWFwczo6ZHVtcE11bHRpbGluZShQcmludFN0cmVhbSYgb3V0LCBjb25zdCBjaGFyKiBwcmVm
aXgpIGNvbnN0CiB7CisgICAgb3V0LnByaW50KHByZWZpeCwgIlZlcnNpb246ICIsIHZlcnNpb24s
ICJcbiIpOwogICAgIG91dC5wcmludChwcmVmaXgsICJTdGFja1NpemVzOlxuIik7CiAgICAgZm9y
ICh1bnNpZ25lZCBpID0gMDsgaSA8IHN0YWNrU2l6ZXMuc2l6ZSgpOyArK2kpCiAgICAgICAgIG91
dC5wcmludChwcmVmaXgsICIgICAgIiwgc3RhY2tTaXplc1tpXSwgIlxuIik7CkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTFN0YWNrTWFwcy5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhY2tNYXBzLmgJKHJldmlzaW9uIDE2NTk5MCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMU3RhY2tNYXBzLmgJKHdvcmtpbmcgY29weSkK
QEAgLTEsNSArMSw1IEBACiAvKgotICogQ29weXJpZ2h0IChDKSAyMDEzIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAxMywgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTM5LDE4ICszOSwyNCBAQCBjbGFzcyBNYWNyb0Fzc2VtYmxlcjsKIG5hbWVzcGFjZSBGVEwgewog
CiBzdHJ1Y3QgU3RhY2tNYXBzIHsKKyAgICBzdHJ1Y3QgUGFyc2VDb250ZXh0IHsKKyAgICAgICAg
dW5zaWduZWQgdmVyc2lvbjsKKyAgICAgICAgRGF0YVZpZXcqIHZpZXc7CisgICAgICAgIHVuc2ln
bmVkIG9mZnNldDsKKyAgICB9OworICAgIAogICAgIHN0cnVjdCBDb25zdGFudCB7CiAgICAgICAg
IGludDY0X3QgaW50ZWdlcjsKICAgICAgICAgCi0gICAgICAgIHZvaWQgcGFyc2UoRGF0YVZpZXcq
LCB1bnNpZ25lZCYgb2Zmc2V0KTsKKyAgICAgICAgdm9pZCBwYXJzZShQYXJzZUNvbnRleHQmKTsK
ICAgICAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogICAgIH07CiAKICAg
ICBzdHJ1Y3QgU3RhY2tTaXplIHsKLSAgICAgICAgdWludDMyX3QgZnVuY3Rpb25PZmZzZXQ7Ci0g
ICAgICAgIHVpbnQzMl90IHNpemU7CisgICAgICAgIHVpbnQ2NF90IGZ1bmN0aW9uT2Zmc2V0Owor
ICAgICAgICB1aW50NjRfdCBzaXplOwogCi0gICAgICAgIHZvaWQgcGFyc2UoRGF0YVZpZXcqLCB1
bnNpZ25lZCYgb2Zmc2V0KTsKKyAgICAgICAgdm9pZCBwYXJzZShQYXJzZUNvbnRleHQmKTsKICAg
ICAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJikgY29uc3Q7CiAgICAgfTsKIApAQCAtNjksNyAr
NzUsNyBAQCBzdHJ1Y3QgU3RhY2tNYXBzIHsKICAgICAgICAgS2luZCBraW5kOwogICAgICAgICBp
bnQzMl90IG9mZnNldDsKICAgICAgICAgCi0gICAgICAgIHZvaWQgcGFyc2UoRGF0YVZpZXcqLCB1
bnNpZ25lZCYgb2Zmc2V0KTsKKyAgICAgICAgdm9pZCBwYXJzZShQYXJzZUNvbnRleHQmKTsKICAg
ICAgICAgdm9pZCBkdW1wKFByaW50U3RyZWFtJiBvdXQpIGNvbnN0OwogICAgICAgICAKICAgICAg
ICAgR1BSUmVnIGRpcmVjdEdQUigpIGNvbnN0OwpAQCAtODMsMTAgKzg5LDExIEBAIHN0cnVjdCBT
dGFja01hcHMgewogICAgICAgICAKICAgICAgICAgVmVjdG9yPExvY2F0aW9uPiBsb2NhdGlvbnM7
CiAgICAgICAgIAotICAgICAgICBib29sIHBhcnNlKERhdGFWaWV3KiwgdW5zaWduZWQmIG9mZnNl
dCk7CisgICAgICAgIGJvb2wgcGFyc2UoUGFyc2VDb250ZXh0Jik7CiAgICAgICAgIHZvaWQgZHVt
cChQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIH07CiAKKyAgICB1bnNpZ25lZCB2ZXJzaW9uOwog
ICAgIFZlY3RvcjxTdGFja1NpemU+IHN0YWNrU2l6ZXM7CiAgICAgVmVjdG9yPENvbnN0YW50PiBj
b25zdGFudHM7CiAgICAgVmVjdG9yPFJlY29yZD4gcmVjb3JkczsK
</data>

          </attachment>
      

    </bug>

</bugzilla>