<?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>128704</bug_id>
          
          <creation_ts>2014-02-12 16:33:25 -0800</creation_ts>
          <short_desc>Make code generation of the unoptimized pseudo classes separate</short_desc>
          <delta_ts>2014-02-14 12:42:02 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>kling</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>980079</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-02-12 16:33:25 -0800</bug_when>
    <thetext>Make code generation of the unoptimized pseudo classes separate</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980081</commentid>
    <comment_count>1</comment_count>
      <attachid>224027</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-02-12 16:37:01 -0800</bug_when>
    <thetext>Created attachment 224027
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980613</commentid>
    <comment_count>2</comment_count>
      <attachid>224027</attachid>
    <who name="Andreas Kling">kling</who>
    <bug_when>2014-02-13 20:09:23 -0800</bug_when>
    <thetext>Comment on attachment 224027
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=224027&amp;action=review

r=me

&gt; Source/WebCore/cssjit/SelectorCompiler.cpp:908
&gt; +    for (unsigned i = 0; i &lt; fragment.unoptimizedPseudoClasses.size(); ++i)

Range for?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980632</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-02-13 21:20:59 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; &gt; Source/WebCore/cssjit/SelectorCompiler.cpp:908
&gt; &gt; +    for (unsigned i = 0; i &lt; fragment.unoptimizedPseudoClasses.size(); ++i)
&gt; 
&gt; Range for?

They generate bad code for going over arrays. I avoid them until clang is fixed :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980912</commentid>
    <comment_count>4</comment_count>
      <attachid>224027</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-02-14 12:42:01 -0800</bug_when>
    <thetext>Comment on attachment 224027
Patch

Clearing flags on attachment: 224027

Committed r164118: &lt;http://trac.webkit.org/changeset/164118&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>980913</commentid>
    <comment_count>5</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-02-14 12:42:02 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>224027</attachid>
            <date>2014-02-12 16:37:01 -0800</date>
            <delta_ts>2014-02-14 12:42:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-128704-20140212163701.patch</filename>
            <type>text/plain</type>
            <size>8739</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE2Mzk5OCkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIxIEBACisyMDE0LTAyLTEyICBCZW5qYW1p
biBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBNYWtlIGNvZGUgZ2Vu
ZXJhdGlvbiBvZiB0aGUgdW5vcHRpbWl6ZWQgcHNldWRvIGNsYXNzZXMgc2VwYXJhdGUKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODcwNAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1hcHBpbmcgdGhlIHVu
b3B0aW1pemVkIHNlbGVjdG9ycyB3aGVuIGdlbmVyYXRpbmcgdGhlIGNvZGUgd2FzIHVzZWZ1bCBm
b3IgZGVidWdnaW5nCisgICAgICAgIGJ1dCB0aG9zZSBjYXNlcyBhcmUgc28gY29tbW9uIHRoYXQg
bG9vcGluZyBvdmVyIHVub3B0aW1pemVkUHNldWRvQ2hlY2tlcnMgd2FzIG1vcmUKKyAgICAgICAg
Y29zdGx5IHRoYW4gYW50aWNpcGF0ZWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBtb3ZlcyB0aGUg
dW5vcHRpbWl6ZWQgcHNldWRvIHNlbGVjdG9yIGluIHRoZWlyIG93biBhcnJheSB0byBzaW1wbGlm
eSBjb2RlIGdlbmVyYXRpb24uCisKKyAgICAgICAgKiBjc3NqaXQvU2VsZWN0b3JDb21waWxlci5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3RvckNvbXBpbGVyOjphZGRQc2V1ZG9UeXBlKToK
KyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29tcGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRv
cjo6U2VsZWN0b3JDb2RlR2VuZXJhdG9yKToKKyAgICAgICAgKFdlYkNvcmU6OlNlbGVjdG9yQ29t
cGlsZXI6OlNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVFbGVtZW50TWF0Y2hpbmcpOgor
CiAyMDE0LTAyLTEyICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgogCiAg
ICAgICAgIERvY3VtZW50OjpjaGlsZHJlbkNoYW5nZWQgZG9lcyBub3QgbmVjZXNzYXJpbHkgaGF2
ZSBhIHBhZ2UKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNvbXBpbGVyLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3NqaXQvU2VsZWN0b3JDb21waWxlci5j
cHAJKHJldmlzaW9uIDE2Mzk5MykKKysrIFNvdXJjZS9XZWJDb3JlL2Nzc2ppdC9TZWxlY3RvckNv
bXBpbGVyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTA5LDYgKzEwOSw3IEBAIHN0cnVjdCBTZWxl
Y3RvckZyYWdtZW50IHsKICAgICBjb25zdCBBdG9taWNTdHJpbmcqIGlkOwogICAgIFZlY3Rvcjxj
b25zdCBBdG9taWNTdHJpbmdJbXBsKiwgMT4gY2xhc3NOYW1lczsKICAgICBIYXNoU2V0PHVuc2ln
bmVkPiBwc2V1ZG9DbGFzc2VzOworICAgIFZlY3RvcjxKU0M6OkZ1bmN0aW9uUHRyPiB1bm9wdGlt
aXplZFBzZXVkb0NsYXNzZXM7CiAgICAgVmVjdG9yPGNvbnN0IENTU1NlbGVjdG9yKj4gYXR0cmli
dXRlczsKIH07CiAKQEAgLTIxNCwzNCArMjE1LDcwIEBAIHN0YXRpYyBpbmxpbmUgRnVuY3Rpb25U
eXBlIG1vc3RSZXN0cmljdGkKICAgICByZXR1cm4gc3RkOjptYXgoYSwgYik7CiB9CiAKLXN0YXRp
YyBpbmxpbmUgRnVuY3Rpb25UeXBlIGFkZFBzZXVkb1R5cGUoQ1NTU2VsZWN0b3I6OlBzZXVkb1R5
cGUgdHlwZSwgSGFzaFNldDx1bnNpZ25lZD4mIHBzZXVkb0NsYXNzZXMpCitzdGF0aWMgaW5saW5l
IEZ1bmN0aW9uVHlwZSBhZGRQc2V1ZG9UeXBlKENTU1NlbGVjdG9yOjpQc2V1ZG9UeXBlIHR5cGUs
IFNlbGVjdG9yRnJhZ21lbnQmIHBzZXVkb0NsYXNzZXMpCiB7CiAgICAgc3dpdGNoICh0eXBlKSB7
Ci0gICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvQW55TGluazoKLSAgICAgICAgcHNldWRvQ2xh
c3Nlcy5hZGQoQ1NTU2VsZWN0b3I6OlBzZXVkb0xpbmspOwotICAgICAgICByZXR1cm4gRnVuY3Rp
b25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7CisgICAgLy8gVW5vcHRpbWl6ZWQgcHNldWRv
IHNlbGVjdG9yLiBUaGV5IGFyZSBqdXN0IGZ1bmN0aW9uIGNhbGwgdG8gYSBzaW1wbGUgdGVzdGlu
ZyBmdW5jdGlvbi4KICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9BdXRvZmlsbDoKKyAgICAg
ICAgcHNldWRvQ2xhc3Nlcy51bm9wdGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVu
Y3Rpb25QdHIoaXNBdXRvZmlsbGVkKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNp
bXBsZVNlbGVjdG9yQ2hlY2tlcjsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9DaGVja2Vk
OgorICAgICAgICBwc2V1ZG9DbGFzc2VzLnVub3B0aW1pemVkUHNldWRvQ2xhc3Nlcy5hcHBlbmQo
SlNDOjpGdW5jdGlvblB0cihpc0NoZWNrZWQpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlw
ZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOwogICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0Rl
ZmF1bHQ6CisgICAgICAgIHBzZXVkb0NsYXNzZXMudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFw
cGVuZChKU0M6OkZ1bmN0aW9uUHRyKGlzRGVmYXVsdEJ1dHRvbkZvckZvcm0pKTsKKyAgICAgICAg
cmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOwogICAgIGNhc2UgQ1NT
U2VsZWN0b3I6OlBzZXVkb0Rpc2FibGVkOgorICAgICAgICBwc2V1ZG9DbGFzc2VzLnVub3B0aW1p
emVkUHNldWRvQ2xhc3Nlcy5hcHBlbmQoSlNDOjpGdW5jdGlvblB0cihpc0Rpc2FibGVkKSk7Cisg
ICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKICAgICBj
YXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9FbmFibGVkOgorICAgICAgICBwc2V1ZG9DbGFzc2VzLnVu
b3B0aW1pemVkUHNldWRvQ2xhc3Nlcy5hcHBlbmQoSlNDOjpGdW5jdGlvblB0cihpc0VuYWJsZWQp
KTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOwog
ICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0ZvY3VzOgorICAgICAgICBwc2V1ZG9DbGFzc2Vz
LnVub3B0aW1pemVkUHNldWRvQ2xhc3Nlcy5hcHBlbmQoSlNDOjpGdW5jdGlvblB0cihTZWxlY3Rv
ckNoZWNrZXI6Om1hdGNoZXNGb2N1c1BzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5j
dGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQ
c2V1ZG9JbmRldGVybWluYXRlOgorICAgICAgICBwc2V1ZG9DbGFzc2VzLnVub3B0aW1pemVkUHNl
dWRvQ2xhc3Nlcy5hcHBlbmQoSlNDOjpGdW5jdGlvblB0cihzaG91bGRBcHBlYXJJbmRldGVybWlu
YXRlKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tl
cjsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9JbnZhbGlkOgotICAgIGNhc2UgQ1NTU2Vs
ZWN0b3I6OlBzZXVkb0xpbms6CisgICAgICAgIHBzZXVkb0NsYXNzZXMudW5vcHRpbWl6ZWRQc2V1
ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyKGlzSW52YWxpZCkpOworICAgICAgICBy
ZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7CiAgICAgY2FzZSBDU1NT
ZWxlY3Rvcjo6UHNldWRvT3B0aW9uYWw6CisgICAgICAgIHBzZXVkb0NsYXNzZXMudW5vcHRpbWl6
ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyKGlzT3B0aW9uYWxGb3JtQ29u
dHJvbCkpOworICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNr
ZXI7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUmVhZE9ubHk6CisgICAgICAgIHBzZXVk
b0NsYXNzZXMudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRy
KG1hdGNoZXNSZWFkT25seVBzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5
cGU6OlNpbXBsZVNlbGVjdG9yQ2hlY2tlcjsKICAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9S
ZWFkV3JpdGU6CisgICAgICAgIHBzZXVkb0NsYXNzZXMudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2Vz
LmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyKG1hdGNoZXNSZWFkV3JpdGVQc2V1ZG9DbGFzcykpOwor
ICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7CiAgICAg
Y2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUmVxdWlyZWQ6CisgICAgICAgIHBzZXVkb0NsYXNzZXMu
dW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyKGlzUmVxdWly
ZWRGb3JtQ29udHJvbCkpOworICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxl
Y3RvckNoZWNrZXI7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvVmFsaWQ6CisgICAgICAg
IHBzZXVkb0NsYXNzZXMudW5vcHRpbWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0
aW9uUHRyKGlzVmFsaWQpKTsKKyAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2Vs
ZWN0b3JDaGVja2VyOwogI2lmIEVOQUJMRShGVUxMU0NSRUVOX0FQSSkKICAgICBjYXNlIENTU1Nl
bGVjdG9yOjpQc2V1ZG9GdWxsU2NyZWVuOgorICAgICAgICBwc2V1ZG9DbGFzc2VzLnVub3B0aW1p
emVkUHNldWRvQ2xhc3Nlcy5hcHBlbmQoSlNDOjpGdW5jdGlvblB0cihtYXRjaGVzRnVsbFNjcmVl
blBzZXVkb0NsYXNzKSk7CisgICAgICAgIHJldHVybiBGdW5jdGlvblR5cGU6OlNpbXBsZVNlbGVj
dG9yQ2hlY2tlcjsKICNlbmRpZgogI2lmIEVOQUJMRShWSURFT19UUkFDSykKICAgICBjYXNlIENT
U1NlbGVjdG9yOjpQc2V1ZG9GdXR1cmVDdWU6CisgICAgICAgIHBzZXVkb0NsYXNzZXMudW5vcHRp
bWl6ZWRQc2V1ZG9DbGFzc2VzLmFwcGVuZChKU0M6OkZ1bmN0aW9uUHRyKG1hdGNoZXNGdXR1cmVD
dWVQc2V1ZG9DbGFzcykpOworICAgICAgICByZXR1cm4gRnVuY3Rpb25UeXBlOjpTaW1wbGVTZWxl
Y3RvckNoZWNrZXI7CiAgICAgY2FzZSBDU1NTZWxlY3Rvcjo6UHNldWRvUGFzdEN1ZToKKyAgICAg
ICAgcHNldWRvQ2xhc3Nlcy51bm9wdGltaXplZFBzZXVkb0NsYXNzZXMuYXBwZW5kKEpTQzo6RnVu
Y3Rpb25QdHIobWF0Y2hlc1Bhc3RDdWVQc2V1ZG9DbGFzcykpOworICAgICAgICByZXR1cm4gRnVu
Y3Rpb25UeXBlOjpTaW1wbGVTZWxlY3RvckNoZWNrZXI7CiAjZW5kaWYKLSAgICAgICAgcHNldWRv
Q2xhc3Nlcy5hZGQodHlwZSk7CisKKyAgICAvLyBPcHRpbWl6ZWQgcHNldWRvIHNlbGVjdG9ycy4K
KyAgICBjYXNlIENTU1NlbGVjdG9yOjpQc2V1ZG9BbnlMaW5rOgorICAgICAgICBwc2V1ZG9DbGFz
c2VzLnBzZXVkb0NsYXNzZXMuYWRkKENTU1NlbGVjdG9yOjpQc2V1ZG9MaW5rKTsKKyAgICAgICAg
cmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0b3JDaGVja2VyOworCisgICAgY2FzZSBD
U1NTZWxlY3Rvcjo6UHNldWRvTGluazoKKyAgICAgICAgcHNldWRvQ2xhc3Nlcy5wc2V1ZG9DbGFz
c2VzLmFkZCh0eXBlKTsKICAgICAgICAgcmV0dXJuIEZ1bmN0aW9uVHlwZTo6U2ltcGxlU2VsZWN0
b3JDaGVja2VyOwogCiAgICAgZGVmYXVsdDoKQEAgLTI4Myw3ICszMjAsNyBAQCBpbmxpbmUgU2Vs
ZWN0b3JDb2RlR2VuZXJhdG9yOjpTZWxlY3RvckNvCiAgICAgICAgICAgICBmcmFnbWVudC5jbGFz
c05hbWVzLmFwcGVuZChzZWxlY3Rvci0+dmFsdWUoKS5pbXBsKCkpOwogICAgICAgICAgICAgYnJl
YWs7CiAgICAgICAgIGNhc2UgQ1NTU2VsZWN0b3I6OlBzZXVkb0NsYXNzOgotICAgICAgICAgICAg
bV9mdW5jdGlvblR5cGUgPSBtb3N0UmVzdHJpY3RpdmVGdW5jdGlvblR5cGUobV9mdW5jdGlvblR5
cGUsIGFkZFBzZXVkb1R5cGUoc2VsZWN0b3ItPnBzZXVkb1R5cGUoKSwgZnJhZ21lbnQucHNldWRv
Q2xhc3NlcykpOworICAgICAgICAgICAgbV9mdW5jdGlvblR5cGUgPSBtb3N0UmVzdHJpY3RpdmVG
dW5jdGlvblR5cGUobV9mdW5jdGlvblR5cGUsIGFkZFBzZXVkb1R5cGUoc2VsZWN0b3ItPnBzZXVk
b1R5cGUoKSwgZnJhZ21lbnQpKTsKICAgICAgICAgICAgIGlmIChtX2Z1bmN0aW9uVHlwZSA9PSBG
dW5jdGlvblR5cGU6OkNhbm5vdENvbXBpbGUpCiAgICAgICAgICAgICAgICAgZ290byBDYW5ub3RI
YW5kbGVTZWxlY3RvcjsKICAgICAgICAgICAgIGJyZWFrOwpAQCAtODYwLDQwICs4OTcsNiBAQCB2
b2lkIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6Z2VuZXJhdGVCYWNrCiAgICAgfQogfQogCi1zdHJ1
Y3QgVW5vcHRpbWl6ZWRQc2V1ZG9DaGVja2VyIHsKLSAgICBDU1NTZWxlY3Rvcjo6UHNldWRvVHlw
ZSBwc2V1ZG9JZDsKLSAgICBib29sICgqdGVzdEZ1bmN0aW9uKShjb25zdCBFbGVtZW50Kik7Ci19
OwotCi10ZW1wbGF0ZTxib29sICgqdGVzdEZ1bmN0aW9uKShFbGVtZW50Kik+Ci1pbmxpbmUgYm9v
bCBub25Db25zdFRlc3RGdW5jdGlvbldyYXBwZXIoY29uc3QgRWxlbWVudCogZWxlbWVudCkKLXsK
LSAgICByZXR1cm4gdGVzdEZ1bmN0aW9uKGNvbnN0X2Nhc3Q8RWxlbWVudCo+KGVsZW1lbnQpKTsK
LX0KLQotc3RhdGljIGNvbnN0IFVub3B0aW1pemVkUHNldWRvQ2hlY2tlciB1bm9wdGltaXplZFBz
ZXVkb0NoZWNrZXJzW10gPSB7Ci0gICAgeyBDU1NTZWxlY3Rvcjo6UHNldWRvQXV0b2ZpbGwsIGlz
QXV0b2ZpbGxlZCB9LAotICAgIHsgQ1NTU2VsZWN0b3I6OlBzZXVkb0NoZWNrZWQsIG5vbkNvbnN0
VGVzdEZ1bmN0aW9uV3JhcHBlcjxpc0NoZWNrZWQ+IH0sCi0gICAgeyBDU1NTZWxlY3Rvcjo6UHNl
dWRvRGVmYXVsdCwgaXNEZWZhdWx0QnV0dG9uRm9yRm9ybSB9LAotICAgIHsgQ1NTU2VsZWN0b3I6
OlBzZXVkb0Rpc2FibGVkLCBpc0Rpc2FibGVkIH0sCi0gICAgeyBDU1NTZWxlY3Rvcjo6UHNldWRv
RW5hYmxlZCwgaXNFbmFibGVkIH0sCi0gICAgeyBDU1NTZWxlY3Rvcjo6UHNldWRvSW5kZXRlcm1p
bmF0ZSwgc2hvdWxkQXBwZWFySW5kZXRlcm1pbmF0ZSB9LAotICAgIHsgQ1NTU2VsZWN0b3I6OlBz
ZXVkb0ludmFsaWQsIGlzSW52YWxpZCB9LAotICAgIHsgQ1NTU2VsZWN0b3I6OlBzZXVkb0ZvY3Vz
LCBTZWxlY3RvckNoZWNrZXI6Om1hdGNoZXNGb2N1c1BzZXVkb0NsYXNzIH0sCi0gICAgeyBDU1NT
ZWxlY3Rvcjo6UHNldWRvT3B0aW9uYWwsIGlzT3B0aW9uYWxGb3JtQ29udHJvbCB9LAotICAgIHsg
Q1NTU2VsZWN0b3I6OlBzZXVkb1JlYWRPbmx5LCBtYXRjaGVzUmVhZE9ubHlQc2V1ZG9DbGFzcyB9
LAotICAgIHsgQ1NTU2VsZWN0b3I6OlBzZXVkb1JlYWRXcml0ZSwgbWF0Y2hlc1JlYWRXcml0ZVBz
ZXVkb0NsYXNzIH0sCi0gICAgeyBDU1NTZWxlY3Rvcjo6UHNldWRvUmVxdWlyZWQsIGlzUmVxdWly
ZWRGb3JtQ29udHJvbCB9LAotICAgIHsgQ1NTU2VsZWN0b3I6OlBzZXVkb1ZhbGlkLCBpc1ZhbGlk
IH0sCi0jaWYgRU5BQkxFKEZVTExTQ1JFRU5fQVBJKQotICAgIHsgQ1NTU2VsZWN0b3I6OlBzZXVk
b0Z1bGxTY3JlZW4sIG1hdGNoZXNGdWxsU2NyZWVuUHNldWRvQ2xhc3MgfSwKLSNlbmRpZgotI2lm
IEVOQUJMRShWSURFT19UUkFDSykKLSAgICB7IENTU1NlbGVjdG9yOjpQc2V1ZG9GdXR1cmVDdWUs
IG1hdGNoZXNGdXR1cmVDdWVQc2V1ZG9DbGFzcyB9LAotICAgIHsgQ1NTU2VsZWN0b3I6OlBzZXVk
b1Bhc3RDdWUsIG1hdGNoZXNQYXN0Q3VlUHNldWRvQ2xhc3MgfSwKLSNlbmRpZgotfTsKLQogdm9p
ZCBTZWxlY3RvckNvZGVHZW5lcmF0b3I6OmdlbmVyYXRlRWxlbWVudE1hdGNoaW5nKEFzc2VtYmxl
cjo6SnVtcExpc3QmIGZhaWx1cmVDYXNlcywgY29uc3QgU2VsZWN0b3JGcmFnbWVudCYgZnJhZ21l
bnQpCiB7CiAgICAgaWYgKGZyYWdtZW50LnBzZXVkb0NsYXNzZXMuY29udGFpbnMoQ1NTU2VsZWN0
b3I6OlBzZXVkb0xpbmspKQpAQCAtOTAyLDEyICs5MDUsOCBAQCB2b2lkIFNlbGVjdG9yQ29kZUdl
bmVyYXRvcjo6Z2VuZXJhdGVFbGVtCiAgICAgaWYgKGZyYWdtZW50LnRhZ05hbWUpCiAgICAgICAg
IGdlbmVyYXRlRWxlbWVudEhhc1RhZ05hbWUoZmFpbHVyZUNhc2VzLCAqKGZyYWdtZW50LnRhZ05h
bWUpKTsKIAotICAgIGlmICghZnJhZ21lbnQucHNldWRvQ2xhc3Nlcy5pc0VtcHR5KCkpIHsKLSAg
ICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IFdURl9BUlJBWV9MRU5HVEgodW5vcHRpbWl6
ZWRQc2V1ZG9DaGVja2Vycyk7ICsraSkgewotICAgICAgICAgICAgaWYgKGZyYWdtZW50LnBzZXVk
b0NsYXNzZXMuY29udGFpbnModW5vcHRpbWl6ZWRQc2V1ZG9DaGVja2Vyc1tpXS5wc2V1ZG9JZCkp
Ci0gICAgICAgICAgICAgICAgZ2VuZXJhdGVFbGVtZW50RnVuY3Rpb25DYWxsVGVzdChmYWlsdXJl
Q2FzZXMsIHVub3B0aW1pemVkUHNldWRvQ2hlY2tlcnNbaV0udGVzdEZ1bmN0aW9uKTsKLSAgICAg
ICAgfQotICAgIH0KKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgZnJhZ21lbnQudW5vcHRp
bWl6ZWRQc2V1ZG9DbGFzc2VzLnNpemUoKTsgKytpKQorICAgICAgICBnZW5lcmF0ZUVsZW1lbnRG
dW5jdGlvbkNhbGxUZXN0KGZhaWx1cmVDYXNlcywgZnJhZ21lbnQudW5vcHRpbWl6ZWRQc2V1ZG9D
bGFzc2VzW2ldKTsKIAogICAgIGdlbmVyYXRlRWxlbWVudERhdGFNYXRjaGluZyhmYWlsdXJlQ2Fz
ZXMsIGZyYWdtZW50KTsKIH0K
</data>

          </attachment>
      

    </bug>

</bugzilla>