<?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>50070</bug_id>
          
          <creation_ts>2010-11-25 04:57:30 -0800</creation_ts>
          <short_desc>Don&apos;t do GraphicsContext save/restore just to preserve the CompositeOperator</short_desc>
          <delta_ts>2010-12-10 08:05:51 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Layout and Rendering</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>Performance</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andreas Kling">kling</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>rhodovan.u-szeged</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>zimmermann</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>313702</commentid>
    <comment_count>0</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-11-25 04:57:30 -0800</bug_when>
    <thetext>We currently put GraphicsContext::save()/restore() pairs around calls to GraphicsContext::setCompositeOperation()
This can be avoided by adding a GraphicsContext::compositeOperation() and simply resetting that after doing some paint operations (that don&apos;t taint the context.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313708</commentid>
    <comment_count>1</comment_count>
      <attachid>74862</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-11-25 05:12:01 -0800</bug_when>
    <thetext>Created attachment 74862
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320055</commentid>
    <comment_count>2</comment_count>
      <attachid>74862</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-10 02:40:33 -0800</bug_when>
    <thetext>Comment on attachment 74862
Proposed patch

Seems OK.  Do you notice any real performance increase here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320059</commentid>
    <comment_count>3</comment_count>
      <attachid>74862</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-10 02:45:36 -0800</bug_when>
    <thetext>Comment on attachment 74862
Proposed patch

Rejecting attachment 74862 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=abarth-cq-sl&apos;, &apos;apply-attachment&apos;, &apos;--non-interactive&apos;, 74862]&quot; exit_code: 2
Last 500 characters of output:
led to merge in the changes.
Patch failed at 0001 [Qt] Make sure we send the response before any data.

When you have resolved this problem run &quot;git rebase --continue&quot;.
If you would prefer to skip this patch, instead run &quot;git rebase --skip&quot;.
To restore the original branch and stop rebasing run &quot;git rebase --abort&quot;.

rebase refs/remotes/origin/master: command returned error: 1

Died at WebKitTools/Scripts/update-webkit line 132.

Failed to run &quot;[&apos;WebKitTools/Scripts/update-webkit&apos;]&quot; exit_code: 2

Full output: http://queues.webkit.org/results/6889030</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320065</commentid>
    <comment_count>4</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-12-10 02:51:11 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 74862 [details])
&gt; Seems OK.  Do you notice any real performance increase here?

I do for Qt at least (haven&apos;t perf-tested other ports), our save/restore operations are very expensive.

Thanks for reviewing :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320076</commentid>
    <comment_count>5</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-12-10 03:09:02 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 74862 [details])
&gt; Rejecting attachment 74862 [details] from commit-queue.

I&apos;ll land this manually after bug 49914 goes in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320160</commentid>
    <comment_count>6</comment_count>
    <who name="Andreas Kling">kling</who>
    <bug_when>2010-12-10 08:05:51 -0800</bug_when>
    <thetext>Committed r73729: &lt;http://trac.webkit.org/changeset/73729&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74862</attachid>
            <date>2010-11-25 05:12:01 -0800</date>
            <delta_ts>2010-12-10 02:45:36 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>bug-50070.diff</filename>
            <type>text/plain</type>
            <size>14892</size>
            <attacher name="Andreas Kling">kling</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXgg
ODhhYjdjMS4uNzQ5OThlZSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2Vi
Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSw1MSBAQAorMjAxMC0xMS0yNSAgQW5kcmVhcyBLbGlu
ZyAgPGtsaW5nQHdlYmtpdC5vcmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgRG9uJ3QgZG8gR3JhcGhpY3NDb250ZXh0IHNhdmUvcmVzdG9yZSBqdXN0
IHRvIHByZXNlcnZlIHRoZSBDb21wb3NpdGVPcGVyYXRvcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTAwNzAKKworICAgICAgICBBZGQgR3JhcGhpY3ND
b250ZXh0Ojpjb21wb3NpdGVPcGVyYXRpb24oKSBzbyB3ZSBkb24ndCBoYXZlIHRvIGRvIGEgZnVs
bAorICAgICAgICBzYXZlL3Jlc3RvcmUgaWYgdGhlIG9ubHkgY29udGV4dC10YWludGluZyBjYWxs
IGlzIHNldENvbXBvc2l0ZU9wZXJhdGlvbigpLgorCisgICAgICAgIEdyYXBoaWNzQ29udGV4dDo6
c2V0Q29tcG9zaXRlT3BlcmF0aW9uKCkgbm93IHN0b3JlcyB0aGUgb3AgaW4gaXRzIHN0YXRlCisg
ICAgICAgIGFuZCBjYWxscyBhIHBvcnQtc3BlY2lmaWMgc2V0UGxhdGZvcm1Db21wb3NpdGVPcGVy
YXRpb24oKS4KKworICAgICAgICBObyBuZXcgdGVzdHMsIHRoaXMgaXMgYW4gb3B0aW1pemF0aW9u
LgorCisgICAgICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2V0Q29tcG9zaXRlT3BlcmF0aW9uKToK
KyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6Y29tcG9zaXRlT3BlcmF0aW9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuaDoKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHRQcml2YXRlLmg6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHRTdGF0ZTo6R3JhcGhpY3NDb250ZXh0U3RhdGUpOgorICAg
ICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL0ltYWdlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Oklt
YWdlOjpmaWxsV2l0aFNvbGlkQ29sb3IpOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL2Nh
aXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNz
Q29udGV4dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24pOgorICAgICAgICAqIHBsYXRm
b3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OkdyYXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24pOgorICAgICAg
ICAqIHBsYXRmb3JtL2dyYXBoaWNzL2hhaWt1L0dyYXBoaWNzQ29udGV4dEhhaWt1LmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVy
YXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL21hYy9HcmFwaGljc0NvbnRleHRN
YWMubW06CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtQ29t
cG9zaXRlT3BlcmF0aW9uKToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvR3Jh
cGhpY3NDb250ZXh0T3BlblZHLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4
dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24pOgorICAgICAgICAqIHBsYXRmb3JtL2dy
YXBoaWNzL3F0L0dyYXBoaWNzQ29udGV4dFF0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24pOgorICAgICAgICAqIHBs
YXRmb3JtL2dyYXBoaWNzL3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKToK
KyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9za2lhL1NraWFVdGlscy5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpXZWJDb3JlQ29tcG9zaXRlVG9Ta2lhQ29tcG9zaXRlKToKKyAgICAgICAgKiBw
bGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHA6CisgICAgICAg
IChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9u
KToKKyAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy93eC9HcmFwaGljc0NvbnRleHRXeC5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtQ29tcG9zaXRl
T3BlcmF0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94TW9kZWxPYmplY3Q6OnBhaW50RmlsbExheWVy
RXh0ZW5kZWQpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlclZpZXc6OnBhaW50Qm94RGVjb3JhdGlvbnMpOgorCiAyMDEwLTExLTI0
ICBQYXRyaWNrIEdhbnN0ZXJlciAgPHBhcm9nYUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmll
d2VkIGJ5IENzYWJhIE9zenRyb2dvbsOhYy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0LmNwcAppbmRleCBmNWU5YjE0Li43MjUzN2Q2IDEwMDY0NAotLS0gYS9X
ZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dC5jcHAKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQuY3BwCkBAIC01NDYsNiArNTQ2LDE3
IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpmaWxsUmVjdChjb25zdCBGbG9hdFJlY3QmIHJlY3Qs
IEdlbmVyYXRvciYgZ2VuZXJhdG9yKQogICAgIGdlbmVyYXRvci5maWxsKHRoaXMsIHJlY3QpOwog
fQogCit2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0
ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdGlvbikKK3sKKyAgICBtX2NvbW1vbi0+c3RhdGUuY29t
cG9zaXRlT3BlcmF0b3IgPSBjb21wb3NpdGVPcGVyYXRpb247CisgICAgc2V0UGxhdGZvcm1Db21w
b3NpdGVPcGVyYXRpb24oY29tcG9zaXRlT3BlcmF0aW9uKTsKK30KKworQ29tcG9zaXRlT3BlcmF0
b3IgR3JhcGhpY3NDb250ZXh0Ojpjb21wb3NpdGVPcGVyYXRpb24oKSBjb25zdAoreworICAgIHJl
dHVybiBtX2NvbW1vbi0+c3RhdGUuY29tcG9zaXRlT3BlcmF0b3I7Cit9CisKICNpZiAhUExBVEZP
Uk0oU0tJQSkKIHZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybUZpbGxHcmFkaWVudChH
cmFkaWVudCopCiB7CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBo
aWNzQ29udGV4dC5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9HcmFwaGljc0NvbnRleHQu
aAppbmRleCA2YWRjOTBiLi5lZWY2NTg3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL0dyYXBoaWNzQ29udGV4dC5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mv
R3JhcGhpY3NDb250ZXh0LmgKQEAgLTMwMSw2ICszMDEsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7
CiAjZW5kaWYKIAogICAgICAgICB2b2lkIHNldENvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVP
cGVyYXRvcik7CisgICAgICAgIENvbXBvc2l0ZU9wZXJhdG9yIGNvbXBvc2l0ZU9wZXJhdGlvbigp
IGNvbnN0OwogCiAgICAgICAgIHZvaWQgYmVnaW5QYXRoKCk7CiAgICAgICAgIHZvaWQgYWRkUGF0
aChjb25zdCBQYXRoJik7CkBAIC00MzksNiArNDQwLDggQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
ICAgICAgICB2b2lkIHNldFBsYXRmb3JtU2hhZG93KGNvbnN0IEZsb2F0U2l6ZSYsIGZsb2F0IGJs
dXIsIGNvbnN0IENvbG9yJiwgQ29sb3JTcGFjZSk7CiAgICAgICAgIHZvaWQgY2xlYXJQbGF0Zm9y
bVNoYWRvdygpOwogCisgICAgICAgIHZvaWQgc2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24o
Q29tcG9zaXRlT3BlcmF0b3IpOworCiAgICAgICAgIHN0YXRpYyB2b2lkIGFkanVzdExpbmVUb1Bp
eGVsQm91bmRhcmllcyhGbG9hdFBvaW50JiBwMSwgRmxvYXRQb2ludCYgcDIsIGZsb2F0IHN0cm9r
ZVdpZHRoLCBjb25zdCBTdHJva2VTdHlsZSYpOwogCiAgICAgICAgIHN0YXRpYyBHcmFwaGljc0Nv
bnRleHRQcml2YXRlKiBjcmVhdGVHcmFwaGljc0NvbnRleHRQcml2YXRlKCk7CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL0dyYXBoaWNzQ29udGV4dFByaXZhdGUuaCBiL1dl
YkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3JhcGhpY3NDb250ZXh0UHJpdmF0ZS5oCmluZGV4IDk4
NWNhZDkuLmU5MWQyYzQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0UHJpdmF0ZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvR3Jh
cGhpY3NDb250ZXh0UHJpdmF0ZS5oCkBAIC00Nyw2ICs0Nyw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICAgICAgICAgICwgcGFpbnRpbmdEaXNhYmxlZChmYWxzZSkKICAgICAgICAgICAgICwg
c2hhZG93Qmx1cigwKQogICAgICAgICAgICAgLCBzaGFkb3dzSWdub3JlVHJhbnNmb3JtcyhmYWxz
ZSkKKyAgICAgICAgICAgICwgY29tcG9zaXRlT3BlcmF0b3IoQ29tcG9zaXRlU291cmNlT3ZlcikK
ICNpZiBQTEFURk9STShDQUlSTykKICAgICAgICAgICAgICwgZ2xvYmFsQWxwaGEoMSkKICNlbmRp
ZgpAQCAtNzcsNiArNzgsOSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgICAgIENvbG9yIHNo
YWRvd0NvbG9yOwogCiAgICAgICAgIGJvb2wgc2hhZG93c0lnbm9yZVRyYW5zZm9ybXM7CisKKyAg
ICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgY29tcG9zaXRlT3BlcmF0b3I7CisKICNpZiBQTEFURk9S
TShDQUlSTykKICAgICAgICAgZmxvYXQgZ2xvYmFsQWxwaGE7CiAjZWxpZiBQTEFURk9STShRVCkK
ZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvSW1hZ2UuY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKaW5kZXggNmYyMzExYy4uMzA5NjY4MCAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKKysrIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9JbWFnZS5jcHAKQEAgLTgxLDEwICs4MSwxMCBAQCB2b2lkIElt
YWdlOjpmaWxsV2l0aFNvbGlkQ29sb3IoR3JhcGhpY3NDb250ZXh0KiBjdHh0LCBjb25zdCBGbG9h
dFJlY3QmIGRzdFJlY3QsCiAgICAgaWYgKGNvbG9yLmFscGhhKCkgPD0gMCkKICAgICAgICAgcmV0
dXJuOwogICAgIAotICAgIGN0eHQtPnNhdmUoKTsKKyAgICBDb21wb3NpdGVPcGVyYXRvciBwcmV2
aW91c09wZXJhdG9yID0gY3R4dC0+Y29tcG9zaXRlT3BlcmF0aW9uKCk7CiAgICAgY3R4dC0+c2V0
Q29tcG9zaXRlT3BlcmF0aW9uKCFjb2xvci5oYXNBbHBoYSgpICYmIG9wID09IENvbXBvc2l0ZVNv
dXJjZU92ZXIgPyBDb21wb3NpdGVDb3B5IDogb3ApOwogICAgIGN0eHQtPmZpbGxSZWN0KGRzdFJl
Y3QsIGNvbG9yLCBzdHlsZUNvbG9yU3BhY2UpOwotICAgIGN0eHQtPnJlc3RvcmUoKTsKKyAgICBj
dHh0LT5zZXRDb21wb3NpdGVPcGVyYXRpb24ocHJldmlvdXNPcGVyYXRvcik7CiB9CiAKIHN0YXRp
YyBpbmxpbmUgRmxvYXRTaXplIGNhbGN1bGF0ZVBhdHRlcm5TY2FsZShjb25zdCBGbG9hdFJlY3Qm
IGRzdFJlY3QsIGNvbnN0IEZsb2F0UmVjdCYgc3JjUmVjdCwgSW1hZ2U6OlRpbGVSdWxlIGhSdWxl
LCBJbWFnZTo6VGlsZVJ1bGUgdlJ1bGUpCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dy
YXBoaWNzL2NhaXJvL0dyYXBoaWNzQ29udGV4dENhaXJvLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2Fpcm8vR3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCmluZGV4IDEwMzJkYzIuLjE3
ZWQ1M2YgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8vR3JhcGhp
Y3NDb250ZXh0Q2Fpcm8uY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2Fpcm8v
R3JhcGhpY3NDb250ZXh0Q2Fpcm8uY3BwCkBAIC05ODYsNyArOTg2LDcgQEAgZmxvYXQgR3JhcGhp
Y3NDb250ZXh0OjpnZXRBbHBoYSgpCiAgICAgcmV0dXJuIG1fY29tbW9uLT5zdGF0ZS5nbG9iYWxB
bHBoYTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldENvbXBvc2l0ZU9wZXJhdGlvbihD
b21wb3NpdGVPcGVyYXRvciBvcCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRQbGF0Zm9ybUNv
bXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVPcGVyYXRvciBvcCkKIHsKICAgICBpZiAocGFpbnRp
bmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRm
b3JtL2dyYXBoaWNzL2NnL0dyYXBoaWNzQ29udGV4dENHLmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0Q0cuY3BwCmluZGV4IDhkNzJiODUuLjM3MGY3ZGQg
MTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0
Q0cuY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvY2cvR3JhcGhpY3NDb250ZXh0
Q0cuY3BwCkBAIC0xMTg0LDggKzExODQsOCBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0UGxh
dGZvcm1TaG91bGRBbnRpYWxpYXMoYm9vbCBlbmFibGUpCiAgICAgQ0dDb250ZXh0U2V0U2hvdWxk
QW50aWFsaWFzKHBsYXRmb3JtQ29udGV4dCgpLCBlbmFibGUpOwogfQogCi0jaWZuZGVmIEJVSUxE
SU5HX09OX1RJR0VSIC8vIFRpZ2VyJ3Mgc2V0Q29tcG9zaXRlT3BlcmF0aW9uKCkgaXMgZGVmaW5l
ZCBpbiBHcmFwaGljc0NvbnRleHRNYWMubW0uCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0Q29t
cG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZU9wZXJhdG9yIG1vZGUpCisjaWZuZGVmIEJVSUxESU5H
X09OX1RJR0VSIC8vIFRpZ2VyJ3Mgc2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24oKSBpcyBk
ZWZpbmVkIGluIEdyYXBoaWNzQ29udGV4dE1hYy5tbS4KK3ZvaWQgR3JhcGhpY3NDb250ZXh0Ojpz
ZXRQbGF0Zm9ybUNvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVPcGVyYXRvciBtb2RlKQogewog
ICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvaGFpa3UvR3JhcGhpY3NDb250ZXh0SGFpa3UuY3Bw
IGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9oYWlrdS9HcmFwaGljc0NvbnRleHRIYWlrdS5j
cHAKaW5kZXggMDUwMTJlOC4uNzczNTJmNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9n
cmFwaGljcy9oYWlrdS9HcmFwaGljc0NvbnRleHRIYWlrdS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9oYWlrdS9HcmFwaGljc0NvbnRleHRIYWlrdS5jcHAKQEAgLTM1NSw3ICsz
NTUsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0QWxwaGEoZmxvYXQgb3BhY2l0eSkKICAg
ICBub3RJbXBsZW1lbnRlZCgpOwogfQogCi12b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0Q29tcG9z
aXRlT3BlcmF0aW9uKENvbXBvc2l0ZU9wZXJhdG9yIG9wKQordm9pZCBHcmFwaGljc0NvbnRleHQ6
OnNldFBsYXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZU9wZXJhdG9yIG9wKQogewog
ICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM3MCw3ICsz
NzAsNyBAQCB2b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBv
c2l0ZU9wZXJhdG9yIG9wKQogICAgICAgICBtb2RlID0gQl9PUF9PVkVSOwogICAgICAgICBicmVh
azsKICAgICBkZWZhdWx0OgotICAgICAgICBwcmludGYoIkdyYXBoaWNzQ29udGV4dDo6c2V0Q29t
cG9zaXRlT3BlcmF0aW9uOiBVbnN1cHBvcnRlZCBjb21wb3NpdGUgb3BlcmF0aW9uICVzXG4iLAor
ICAgICAgICBwcmludGYoIkdyYXBoaWNzQ29udGV4dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVy
YXRpb246IFVuc3VwcG9ydGVkIGNvbXBvc2l0ZSBvcGVyYXRpb24gJXNcbiIsCiAgICAgICAgICAg
ICAgICAgY29tcG9zaXRlT3BlcmF0b3JOYW1lKG9wKS51dGY4KCkuZGF0YSgpKTsKICAgICB9CiAg
ICAgbV9kYXRhLT5tX3ZpZXctPlNldERyYXdpbmdNb2RlKG1vZGUpOwpkaWZmIC0tZ2l0IGEvV2Vi
Q29yZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9tYWMvR3JhcGhpY3NDb250ZXh0TWFjLm1tCmluZGV4IGMxNDlk
NzAuLjZhNGZhMDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvbWFjL0dy
YXBoaWNzQ29udGV4dE1hYy5tbQorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL21hYy9H
cmFwaGljc0NvbnRleHRNYWMubW0KQEAgLTg3LDggKzg3LDggQEAgdm9pZCBHcmFwaGljc0NvbnRl
eHQ6OmRyYXdGb2N1c1JpbmcoY29uc3QgVmVjdG9yPEludFJlY3Q+JiByZWN0cywgaW50IHdpZHRo
LCBpbnQKICAgICBkcmF3Rm9jdXNSaW5nVG9Db250ZXh0KHBsYXRmb3JtQ29udGV4dCgpLCBmb2N1
c1JpbmdQYXRoLmdldCgpLCBjb2xvclJlZiwgcmFkaXVzKTsKIH0KIAotI2lmZGVmIEJVSUxESU5H
X09OX1RJR0VSIC8vIFBvc3QtVGlnZXIncyBzZXRDb21wb3NpdGVPcGVyYXRpb24oKSBpcyBkZWZp
bmVkIGluIEdyYXBoaWNzQ29udGV4dENHLmNwcC4KLXZvaWQgR3JhcGhpY3NDb250ZXh0OjpzZXRD
b21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlT3BlcmF0b3Igb3ApCisjaWZkZWYgQlVJTERJTkdf
T05fVElHRVIgLy8gUG9zdC1UaWdlcidzIHNldFBsYXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKCkg
aXMgZGVmaW5lZCBpbiBHcmFwaGljc0NvbnRleHRDRy5jcHAuCit2b2lkIEdyYXBoaWNzQ29udGV4
dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlT3BlcmF0b3Igb3ApCiB7
CiAgICAgaWYgKHBhaW50aW5nRGlzYWJsZWQoKSkKICAgICAgICAgcmV0dXJuOwpkaWZmIC0tZ2l0
IGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9vcGVudmcvR3JhcGhpY3NDb250ZXh0T3BlblZH
LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvb3BlbnZnL0dyYXBoaWNzQ29udGV4dE9w
ZW5WRy5jcHAKaW5kZXggMGQxNmQ0ZC4uMjI2NmRlMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy9vcGVudmcvR3JhcGhpY3NDb250ZXh0T3BlblZHLmNwcAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL2dyYXBoaWNzL29wZW52Zy9HcmFwaGljc0NvbnRleHRPcGVuVkcuY3BwCkBA
IC0zOTEsNyArMzkxLDcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldEFscGhhKGZsb2F0IG9w
YWNpdHkpCiAgICAgbV9kYXRhLT5zZXRPcGFjaXR5KG9wYWNpdHkpOwogfQogCi12b2lkIEdyYXBo
aWNzQ29udGV4dDo6c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZU9wZXJhdG9yIG9wKQor
dm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtQ29tcG9zaXRlT3BlcmF0aW9uKENvbXBv
c2l0ZU9wZXJhdG9yIG9wKQogewogICAgIGlmIChwYWludGluZ0Rpc2FibGVkKCkpCiAgICAgICAg
IHJldHVybjsKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvcXQvR3JhcGhp
Y3NDb250ZXh0UXQuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0Nv
bnRleHRRdC5jcHAKaW5kZXggMTBhN2Y4OS4uYzU5YTMzYSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKKysrIGIvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy9xdC9HcmFwaGljc0NvbnRleHRRdC5jcHAKQEAgLTExMTMsMTMgKzEx
MTMsMTcgQEAgdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldEFscGhhKGZsb2F0IG9wYWNpdHkpCiAg
ICAgcC0+c2V0T3BhY2l0eShvcGFjaXR5KTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNl
dENvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVPcGVyYXRvciBvcCkKK3ZvaWQgR3JhcGhpY3ND
b250ZXh0OjpzZXRQbGF0Zm9ybUNvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVPcGVyYXRvciBv
cCkKIHsKICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CiAKLSAg
ICBpZiAobV9kYXRhLT5wKCktPnBhaW50RW5naW5lKCktPmhhc0ZlYXR1cmUoUVBhaW50RW5naW5l
OjpQb3J0ZXJEdWZmKSkKLSAgICAgICAgbV9kYXRhLT5wKCktPnNldENvbXBvc2l0aW9uTW9kZSh0
b1F0Q29tcG9zaXRpb25Nb2RlKG9wKSk7CisgICAgUVBhaW50ZXIqIHBhaW50ZXIgPSBtX2RhdGEt
PnAoKTsKKworICAgIGlmICghcGFpbnRlci0+cGFpbnRFbmdpbmUoKS0+aGFzRmVhdHVyZShRUGFp
bnRFbmdpbmU6OlBvcnRlckR1ZmYpKQorICAgICAgICByZXR1cm47CisKKyAgICBwYWludGVyLT5z
ZXRDb21wb3NpdGlvbk1vZGUodG9RdENvbXBvc2l0aW9uTW9kZShvcCkpOwogfQogCiB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6Y2xpcChjb25zdCBQYXRoJiBwYXRoKQpkaWZmIC0tZ2l0IGEvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwIGIvV2ViQ29y
ZS9wbGF0Zm9ybS9ncmFwaGljcy9za2lhL0dyYXBoaWNzQ29udGV4dFNraWEuY3BwCmluZGV4IDdj
MGJjZDEuLmExYjYxYjggMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tp
YS9HcmFwaGljc0NvbnRleHRTa2lhLmNwcAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3NraWEvR3JhcGhpY3NDb250ZXh0U2tpYS5jcHAKQEAgLTkyMSw3ICs5MjEsNyBAQCB2b2lkIEdy
YXBoaWNzQ29udGV4dDo6c2V0QWxwaGEoZmxvYXQgYWxwaGEpCiAgICAgcGxhdGZvcm1Db250ZXh0
KCktPnNldEFscGhhKGFscGhhKTsKIH0KIAotdm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldENvbXBv
c2l0ZU9wZXJhdGlvbihDb21wb3NpdGVPcGVyYXRvciBvcCkKK3ZvaWQgR3JhcGhpY3NDb250ZXh0
OjpzZXRQbGF0Zm9ybUNvbXBvc2l0ZU9wZXJhdGlvbihDb21wb3NpdGVPcGVyYXRvciBvcCkKIHsK
ICAgICBpZiAocGFpbnRpbmdEaXNhYmxlZCgpKQogICAgICAgICByZXR1cm47CmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3NraWEvU2tpYVV0aWxzLmNwcCBiL1dlYkNvcmUv
cGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhVXRpbHMuY3BwCmluZGV4IDc0NzNlN2EuLmJmMzRj
MmUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhVXRpbHMu
Y3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvc2tpYS9Ta2lhVXRpbHMuY3BwCkBA
IC03MCw3ICs3MCw3IEBAIFNrWGZlcm1vZGU6Ok1vZGUgV2ViQ29yZUNvbXBvc2l0ZVRvU2tpYUNv
bXBvc2l0ZShDb21wb3NpdGVPcGVyYXRvciBvcCkKICAgICAgICAgICAgIHJldHVybiAoU2tYZmVy
bW9kZTo6TW9kZSl0YWJsZVtpXS5tX3hmZXJtb2RlTW9kZTsKICAgICB9CiAKLSAgICBTa0RFQlVH
RigoIkdyYXBoaWNzQ29udGV4dDo6c2V0Q29tcG9zaXRlT3BlcmF0aW9uIHVrbm93biBDb21wb3Np
dGVPcGVyYXRvciAlZFxuIiwgb3ApKTsKKyAgICBTa0RFQlVHRigoIkdyYXBoaWNzQ29udGV4dDo6
c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24gdW5rbm93biBDb21wb3NpdGVPcGVyYXRvciAl
ZFxuIiwgb3ApKTsKICAgICByZXR1cm4gU2tYZmVybW9kZTo6a1NyY092ZXJfTW9kZTsgLy8gZmFs
bC1iYWNrCiB9CiAKZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd2luY2Uv
R3JhcGhpY3NDb250ZXh0V2luQ0UuY3BwIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5j
ZS9HcmFwaGljc0NvbnRleHRXaW5DRS5jcHAKaW5kZXggMDgwMjgyNi4uMGNiOGU3ZSAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRleHRXaW5D
RS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy93aW5jZS9HcmFwaGljc0NvbnRl
eHRXaW5DRS5jcHAKQEAgLTExNzcsNyArMTE3Nyw3IEBAIHZvaWQgR3JhcGhpY3NDb250ZXh0Ojpz
ZXRBbHBoYShmbG9hdCBhbHBoYSkKICAgICBtX2RhdGEtPm1fb3BhY2l0eSA9IGFscGhhOwogfQog
Ci12b2lkIEdyYXBoaWNzQ29udGV4dDo6c2V0Q29tcG9zaXRlT3BlcmF0aW9uKENvbXBvc2l0ZU9w
ZXJhdG9yIG9wKQordm9pZCBHcmFwaGljc0NvbnRleHQ6OnNldFBsYXRmb3JtQ29tcG9zaXRlT3Bl
cmF0aW9uKENvbXBvc2l0ZU9wZXJhdG9yIG9wKQogewogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9
CmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3d4L0dyYXBoaWNzQ29udGV4
dFd4LmNwcCBiL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3Mvd3gvR3JhcGhpY3NDb250ZXh0V3gu
Y3BwCmluZGV4IDUwMDdmZmUuLjMxMTNlOWMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd3gvR3JhcGhpY3NDb250ZXh0V3guY3BwCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0v
Z3JhcGhpY3Mvd3gvR3JhcGhpY3NDb250ZXh0V3guY3BwCkBAIC00NDcsNyArNDQ3LDcgQEAgdm9p
ZCBHcmFwaGljc0NvbnRleHQ6OnNldFVSTEZvclJlY3QoY29uc3QgS1VSTCYsIGNvbnN0IEludFJl
Y3QmKQogICAgIG5vdEltcGxlbWVudGVkKCk7CiB9CiAKLXZvaWQgR3JhcGhpY3NDb250ZXh0Ojpz
ZXRDb21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlT3BlcmF0b3Igb3ApCit2b2lkIEdyYXBoaWNz
Q29udGV4dDo6c2V0UGxhdGZvcm1Db21wb3NpdGVPcGVyYXRpb24oQ29tcG9zaXRlT3BlcmF0b3Ig
b3ApCiB7CiAgICAgaWYgKG1fZGF0YS0+Y29udGV4dCkKICAgICB7CmRpZmYgLS1naXQgYS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAgYi9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggMTQzYzcyYy4uNGNhMmFlYyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCisrKyBiL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtNjcxLDEwICs2NzEs
MTAgQEAgdm9pZCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6cGFpbnRGaWxsTGF5ZXJFeHRlbmRlZChj
b25zdCBQYWludEluZm8mIHBhaW50SW5mbywgY28KICAgICAgICAgaWYgKGlzT3BhcXVlUm9vdCkg
ewogICAgICAgICAgICAgQ29sb3IgYmFzZUNvbG9yID0gdmlldygpLT5mcmFtZVZpZXcoKS0+YmFz
ZUJhY2tncm91bmRDb2xvcigpOwogICAgICAgICAgICAgaWYgKGJhc2VDb2xvci5hbHBoYSgpID4g
MCkgewotICAgICAgICAgICAgICAgIGNvbnRleHQtPnNhdmUoKTsKKyAgICAgICAgICAgICAgICBD
b21wb3NpdGVPcGVyYXRvciBwcmV2aW91c09wZXJhdG9yID0gY29udGV4dC0+Y29tcG9zaXRlT3Bl
cmF0aW9uKCk7CiAgICAgICAgICAgICAgICAgY29udGV4dC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9u
KENvbXBvc2l0ZUNvcHkpOwogICAgICAgICAgICAgICAgIGNvbnRleHQtPmZpbGxSZWN0KHJlY3Qs
IGJhc2VDb2xvciwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsKLSAgICAgICAgICAgICAgICBjb250
ZXh0LT5yZXN0b3JlKCk7CisgICAgICAgICAgICAgICAgY29udGV4dC0+c2V0Q29tcG9zaXRlT3Bl
cmF0aW9uKHByZXZpb3VzT3BlcmF0b3IpOwogICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAg
ICAgICAgY29udGV4dC0+Y2xlYXJSZWN0KHJlY3QpOwogICAgICAgICB9CmRpZmYgLS1naXQgYS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwCmluZGV4IDZiNGI2NWMuLjg1M2Y3NzYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwCkBAIC0yMjUsMTAgKzIyNSwxMCBAQCB2b2lkIFJlbmRlclZpZXc6OnBhaW50Qm94RGVjb3Jh
dGlvbnMoUGFpbnRJbmZvJiBwYWludEluZm8sIGludCwgaW50KQogICAgIGVsc2UgewogICAgICAg
ICBDb2xvciBiYXNlQ29sb3IgPSBmcmFtZVZpZXcoKS0+YmFzZUJhY2tncm91bmRDb2xvcigpOwog
ICAgICAgICBpZiAoYmFzZUNvbG9yLmFscGhhKCkgPiAwKSB7Ci0gICAgICAgICAgICBwYWludElu
Zm8uY29udGV4dC0+c2F2ZSgpOworICAgICAgICAgICAgQ29tcG9zaXRlT3BlcmF0b3IgcHJldmlv
dXNPcGVyYXRvciA9IHBhaW50SW5mby5jb250ZXh0LT5jb21wb3NpdGVPcGVyYXRpb24oKTsKICAg
ICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5zZXRDb21wb3NpdGVPcGVyYXRpb24oQ29tcG9z
aXRlQ29weSk7CiAgICAgICAgICAgICBwYWludEluZm8uY29udGV4dC0+ZmlsbFJlY3QocGFpbnRJ
bmZvLnJlY3QsIGJhc2VDb2xvciwgc3R5bGUoKS0+Y29sb3JTcGFjZSgpKTsKLSAgICAgICAgICAg
IHBhaW50SW5mby5jb250ZXh0LT5yZXN0b3JlKCk7CisgICAgICAgICAgICBwYWludEluZm8uY29u
dGV4dC0+c2V0Q29tcG9zaXRlT3BlcmF0aW9uKHByZXZpb3VzT3BlcmF0b3IpOwogICAgICAgICB9
IGVsc2UKICAgICAgICAgICAgIHBhaW50SW5mby5jb250ZXh0LT5jbGVhclJlY3QocGFpbnRJbmZv
LnJlY3QpOwogICAgIH0K
</data>
<flag name="review"
          id="65567"
          type_id="1"
          status="+"
          setter="eric"
    />
    <flag name="commit-queue"
          id="67078"
          type_id="3"
          status="-"
          setter="webkit.review.bot"
    />
          </attachment>
      

    </bug>

</bugzilla>