<?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>142872</bug_id>
          
          <creation_ts>2015-03-19 12:19:17 -0700</creation_ts>
          <short_desc>[Content Extensions] Test regular expression parse failures</short_desc>
          <delta_ts>2015-03-19 15:39:04 -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 Misc.</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="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>benjamin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1078580</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-03-19 12:19:17 -0700</bug_when>
    <thetext>I made things I think can never happen into assertions.  I had some questions, though.  They&apos;re in the first patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078588</commentid>
    <comment_count>1</comment_count>
      <attachid>249048</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-03-19 12:25:02 -0700</bug_when>
    <thetext>Created attachment 249048
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078637</commentid>
    <comment_count>2</comment_count>
      <attachid>249048</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2015-03-19 14:35:47 -0700</bug_when>
    <thetext>Comment on attachment 249048
Patch

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

&gt; Source/WebCore/contentextensions/URLFilterParser.cpp:481
&gt; +        ASSERT(m_openGroups.isEmpty());
&gt; +        ASSERT(m_subtreeStart != m_subtreeEnd);

Let&apos;s make them into ASSERT_WITH_MESSAGE to say why they should not happen.

&gt; Source/WebCore/contentextensions/URLFilterParser.cpp:527
&gt; -        if (!m_floatingTerm.isValid())
&gt; -            fail(URLFilterParser::MisplacedQuantifier);
&gt; +        ASSERT(m_floatingTerm.isValid());

Wouldn&apos;t this happen with greedy quantifiers?

&gt; Source/WebCore/contentextensions/URLFilterParser.cpp:-727
&gt; -    ASSERT(!pattern.isEmpty());
&gt; -

Those are no longer excluded by the JSON parser?

&gt; Source/WebCore/contentextensions/URLFilterParser.h:44
&gt;      enum ParseStatus {

This thing is really weird.

&gt; Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:355
&gt; +    testPatternStatus(&quot;(?!)&quot;, ContentExtensions::URLFilterParser::ParseStatus::Group);
&gt; +    testPatternStatus(&quot;(?=)&quot;, ContentExtensions::URLFilterParser::ParseStatus::Group);

Please also test that those two produce errors with a non-empty term inside.

&gt; Tools/TestWebKitAPI/Tests/WebCore/ContentExtensions.cpp:370
&gt; +    // I think these should all be YarrErrors, but they&apos;re not. Should we do something about this?

What the heck. I have no explanation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078653</commentid>
    <comment_count>3</comment_count>
      <attachid>249048</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-03-19 15:38:44 -0700</bug_when>
    <thetext>Comment on attachment 249048
Patch

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

&gt;&gt; Source/WebCore/contentextensions/URLFilterParser.cpp:527
&gt;&gt; +        ASSERT(m_floatingTerm.isValid());
&gt; 
&gt; Wouldn&apos;t this happen with greedy quantifiers?

I&apos;m adding .*a and .*?a, but they do not hit this assert.

&gt;&gt; Source/WebCore/contentextensions/URLFilterParser.cpp:-727
&gt;&gt; -
&gt; 
&gt; Those are no longer excluded by the JSON parser?

I added a test case that tests an empty string.  They probably are excluded by the JSON parser, but the following if statement will catch them.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078654</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2015-03-19 15:39:04 -0700</bug_when>
    <thetext>https://trac.webkit.org/r181762</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249048</attachid>
            <date>2015-03-19 12:25:02 -0700</date>
            <delta_ts>2015-03-19 14:35:47 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142872-20150319122429.patch</filename>
            <type>text/plain</type>
            <size>9363</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDE4MTc1MikKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBACisyMDE1LTAzLTE5ICBBbGV4IENo
cmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CisKKyAgICAgICAgW0NvbnRlbnQg
RXh0ZW5zaW9uc10gVGVzdCByZWd1bGFyIGV4cHJlc3Npb24gcGFyc2UgZmFpbHVyZXMuCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4NzIKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGNvbnRlbnRleHRl
bnNpb25zL1VSTEZpbHRlclBhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0
ZW5zaW9uczo6R3JhcGhCdWlsZGVyOjpmaW5hbGl6ZSk6CisgICAgICAgIChXZWJDb3JlOjpDb250
ZW50RXh0ZW5zaW9uczo6R3JhcGhCdWlsZGVyOjpxdWFudGlmeUF0b20pOgorICAgICAgICAoV2Vi
Q29yZTo6Q29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6YWRkUGF0dGVybik6Cisg
ICAgICAgIChXZWJDb3JlOjpDb250ZW50RXh0ZW5zaW9uczo6VVJMRmlsdGVyUGFyc2VyOjpzdGF0
dXNTdHJpbmcpOgorICAgICAgICAqIGNvbnRlbnRleHRlbnNpb25zL1VSTEZpbHRlclBhcnNlci5o
OgorICAgICAgICBDaGFuZ2VkIGZhaWx1cmVzIHRoYXQgY2FuIG5ldmVyIGhhcHBlbiB0byBhc3Nl
cnRpb25zLgorCiAyMDE1LTAzLTE5ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdh
bGlhLmNvbT4KIAogICAgICAgICBbR1RLXSBTY3JvbGxiYXJzIGxvb2sgYmFkIHdpdGggR1RLKyAz
LjE2CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jb250ZW50ZXh0ZW5zaW9ucy9VUkxGaWx0ZXJQYXJz
ZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNpb25zL1VS
TEZpbHRlclBhcnNlci5jcHAJKHJldmlzaW9uIDE4MTc1MikKKysrIFNvdXJjZS9XZWJDb3JlL2Nv
bnRlbnRleHRlbnNpb25zL1VSTEZpbHRlclBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTQ3
NywxNSArNDc3LDEwIEBAIHB1YmxpYzoKICAgICAgICAgICAgIG1fc3VidHJlZUVuZCA9IG1fbGFz
dFByZWZpeFRyZWVFbnRyeS0+bmZhTm9kZTsKICAgICAgICAgfQogICAgICAgICAKLSAgICAgICAg
aWYgKCFtX29wZW5Hcm91cHMuaXNFbXB0eSgpKSB7Ci0gICAgICAgICAgICBmYWlsKFVSTEZpbHRl
clBhcnNlcjo6VW5jbG9zZWRHcm91cHMpOwotICAgICAgICAgICAgcmV0dXJuOwotICAgICAgICB9
Ci0KLSAgICAgICAgaWYgKG1fc3VidHJlZVN0YXJ0ICE9IG1fc3VidHJlZUVuZCkKLSAgICAgICAg
ICAgIG1fbmZhLnNldEZpbmFsKG1fc3VidHJlZUVuZCwgbV9wYXR0ZXJuSWQpOwotICAgICAgICBl
bHNlCi0gICAgICAgICAgICBmYWlsKFVSTEZpbHRlclBhcnNlcjo6Q2Fubm90TWF0Y2hBbnl0aGlu
Zyk7CisgICAgICAgIEFTU0VSVChtX29wZW5Hcm91cHMuaXNFbXB0eSgpKTsKKyAgICAgICAgQVNT
RVJUKG1fc3VidHJlZVN0YXJ0ICE9IG1fc3VidHJlZUVuZCk7CisgICAgICAgIAorICAgICAgICBt
X25mYS5zZXRGaW5hbChtX3N1YnRyZWVFbmQsIG1fcGF0dGVybklkKTsKICAgICB9CiAKICAgICBV
UkxGaWx0ZXJQYXJzZXI6OlBhcnNlU3RhdHVzIHBhcnNlU3RhdHVzKCkgY29uc3QKQEAgLTUyOSw4
ICs1MjQsNyBAQCBwdWJsaWM6CiAgICAgICAgIGlmIChoYXNFcnJvcigpKQogICAgICAgICAgICAg
cmV0dXJuOwogCi0gICAgICAgIGlmICghbV9mbG9hdGluZ1Rlcm0uaXNWYWxpZCgpKQotICAgICAg
ICAgICAgZmFpbChVUkxGaWx0ZXJQYXJzZXI6Ok1pc3BsYWNlZFF1YW50aWZpZXIpOworICAgICAg
ICBBU1NFUlQobV9mbG9hdGluZ1Rlcm0uaXNWYWxpZCgpKTsKIAogICAgICAgICBpZiAoIW1pbmlt
dW0gJiYgbWF4aW11bSA9PSAxKQogICAgICAgICAgICAgbV9mbG9hdGluZ1Rlcm0ucXVhbnRpZnko
QXRvbVF1YW50aWZpZXI6Olplcm9Pck9uZSk7CkBAIC03MjMsOCArNzE3LDYgQEAgVVJMRmlsdGVy
UGFyc2VyOjpQYXJzZVN0YXR1cyBVUkxGaWx0ZXJQYQogewogICAgIGlmICghcGF0dGVybi5jb250
YWluc09ubHlBU0NJSSgpKQogICAgICAgICByZXR1cm4gTm9uQVNDSUk7Ci0gICAgQVNTRVJUKCFw
YXR0ZXJuLmlzRW1wdHkoKSk7Ci0KICAgICBpZiAocGF0dGVybi5pc0VtcHR5KCkpCiAgICAgICAg
IHJldHVybiBFbXB0eVBhdHRlcm47CiAKQEAgLTc1NCwxNiArNzQ2LDEwIEBAIFN0cmluZyBVUkxG
aWx0ZXJQYXJzZXI6OnN0YXR1c1N0cmluZyhQYXIKICAgICAgICAgcmV0dXJuICJPayI7CiAgICAg
Y2FzZSBNYXRjaGVzRXZlcnl0aGluZzoKICAgICAgICAgcmV0dXJuICJNYXRjaGVzIGV2ZXJ5dGhp
bmcuIjsKLSAgICBjYXNlIFVuY2xvc2VkR3JvdXBzOgotICAgICAgICByZXR1cm4gIlRoZSBleHBy
ZXNzaW9uIGhhcyB1bmNsb3NlZCBncm91cHMuIjsKLSAgICBjYXNlIENhbm5vdE1hdGNoQW55dGhp
bmc6Ci0gICAgICAgIHJldHVybiAiVGhlIHBhdHRlcm4gY2Fubm90IG1hdGNoIGFueXRoaW5nLiI7
CiAgICAgY2FzZSBOb25BU0NJSToKICAgICAgICAgcmV0dXJuICJPbmx5IEFTQ0lJIGNoYXJhY3Rl
cnMgYXJlIHN1cHBvcnRlZCBpbiBwYXR0ZXJuLiI7CiAgICAgY2FzZSBVbnN1cHBvcnRlZENoYXJh
Y3RlckNsYXNzOgogICAgICAgICByZXR1cm4gIkNoYXJhY3RlciBjbGFzcyBpcyBub3Qgc3VwcG9y
dGVkLiI7Ci0gICAgY2FzZSBNaXNwbGFjZWRRdWFudGlmaWVyOgotICAgICAgICByZXR1cm4gIlF1
YW50aWZpZXIgd2l0aG91dCBjb3JyZXNwb25kaW5nIHRlcm0gdG8gcXVhbnRpZnkuIjsKICAgICBj
YXNlIEJhY2tSZWZlcmVuY2U6CiAgICAgICAgIHJldHVybiAiUGF0dGVybnMgY2Fubm90IGNvbnRh
aW4gYmFja3JlZmVyZW5jZXMuIjsKICAgICBjYXNlIE1pc3BsYWNlZFN0YXJ0T2ZMaW5lOgpJbmRl
eDogU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvVVJMRmlsdGVyUGFyc2VyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY29udGVudGV4dGVuc2lvbnMvVVJMRmlsdGVyUGFy
c2VyLmgJKHJldmlzaW9uIDE4MTc1MikKKysrIFNvdXJjZS9XZWJDb3JlL2NvbnRlbnRleHRlbnNp
b25zL1VSTEZpbHRlclBhcnNlci5oCSh3b3JraW5nIGNvcHkpCkBAIC00NCwxMSArNDQsOCBAQCBw
dWJsaWM6CiAgICAgZW51bSBQYXJzZVN0YXR1cyB7CiAgICAgICAgIE9rLAogICAgICAgICBNYXRj
aGVzRXZlcnl0aGluZywKLSAgICAgICAgVW5jbG9zZWRHcm91cHMsCi0gICAgICAgIENhbm5vdE1h
dGNoQW55dGhpbmcsCiAgICAgICAgIE5vbkFTQ0lJLAogICAgICAgICBVbnN1cHBvcnRlZENoYXJh
Y3RlckNsYXNzLAotICAgICAgICBNaXNwbGFjZWRRdWFudGlmaWVyLAogICAgICAgICBCYWNrUmVm
ZXJlbmNlLAogICAgICAgICBNaXNwbGFjZWRTdGFydE9mTGluZSwKICAgICAgICAgV29yZEJvdW5k
YXJ5LApJbmRleDogVG9vbHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0NoYW5nZUxv
ZwkocmV2aXNpb24gMTgxNzUyKQorKysgVG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTUgQEAKKzIwMTUtMDMtMTkgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5z
ZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBbQ29udGVudCBFeHRlbnNpb25zXSBUZXN0IHJlZ3Vs
YXIgZXhwcmVzc2lvbiBwYXJzZSBmYWlsdXJlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE0Mjg3MgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgICogVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRl
bnRFeHRlbnNpb25zLmNwcDoKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OnRlc3RQYXR0ZXJuU3Rh
dHVzKToKKyAgICAgICAgKFRlc3RXZWJLaXRBUEk6OlRFU1RfRik6CisgICAgICAgIEFkZGVkIHRl
c3RzIGZvciBlYWNoIHBhcnNpbmcgc3RhdHVzLgorCiAyMDE1LTAzLTE5ICBCcmVudCBGdWxnaGFt
ICA8YmZ1bGdoYW1AYXBwbGUuY29tPgogCiAgICAgICAgIFtXaW5dIEFjdGl2YXRlIHRlc3RzIG9u
IEVXUwpJbmRleDogVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9XZWJDb3JlL0NvbnRlbnRFeHRl
bnNpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dlYkNv
cmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCShyZXZpc2lvbiAxODE3NTIpCisrKyBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dlYkNvcmUvQ29udGVudEV4dGVuc2lvbnMuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0zMzgsMTEgKzMzOCwxMSBAQCBURVNUX0YoQ29udGVudEV4dGVuc2lvblRlc3QsIFJl
c291cmNlVHlwCiAgICAgdGVzdFJlcXVlc3QoYmFja2VuZCwgbWFpbkRvY3VtZW50UmVxdWVzdCgi
aHR0cDovL2Jsb2NrX29ubHlfaW1hZ2VzLm9yZyIsIFJlc291cmNlVHlwZTo6RG9jdW1lbnQpLCB7
IH0pOwogfQogCi1zdGF0aWMgdm9pZCB0ZXN0UGF0dGVyblN0YXR1cyhjb25zdCBjaGFyKiBwYXR0
ZXJuLCBDb250ZW50RXh0ZW5zaW9uczo6VVJMRmlsdGVyUGFyc2VyOjpQYXJzZVN0YXR1cyBzdGF0
dXMpCitzdGF0aWMgdm9pZCB0ZXN0UGF0dGVyblN0YXR1cyhTdHJpbmcgcGF0dGVybiwgQ29udGVu
dEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXMgc3RhdHVzKQogewogICAg
IENvbnRlbnRFeHRlbnNpb25zOjpORkEgbmZhOwogICAgIENvbnRlbnRFeHRlbnNpb25zOjpVUkxG
aWx0ZXJQYXJzZXIgcGFyc2VyKG5mYSk7Ci0gICAgRVhQRUNUX0VRKHN0YXR1cywgcGFyc2VyLmFk
ZFBhdHRlcm4oQVNDSUlMaXRlcmFsKHBhdHRlcm4pLCBmYWxzZSwgMCkpOworICAgIEVYUEVDVF9F
UShzdGF0dXMsIHBhcnNlci5hZGRQYXR0ZXJuKHBhdHRlcm4sIGZhbHNlLCAwKSk7CiB9CiAgICAg
CiBURVNUX0YoQ29udGVudEV4dGVuc2lvblRlc3QsIFBhcnNpbmdGYWlsdXJlcykKQEAgLTM1MCw3
ICszNTAsNTEgQEAgVEVTVF9GKENvbnRlbnRFeHRlbnNpb25UZXN0LCBQYXJzaW5nRmFpbAogICAg
IHRlc3RQYXR0ZXJuU3RhdHVzKCJhKmI/LiouP1thLXpdP1thLXpdKiIsIENvbnRlbnRFeHRlbnNp
b25zOjpVUkxGaWx0ZXJQYXJzZXI6OlBhcnNlU3RhdHVzOjpNYXRjaGVzRXZlcnl0aGluZyk7CiAg
ICAgdGVzdFBhdHRlcm5TdGF0dXMoImEqYj8uKi4/W2Etel0/W2Etel0rIiwgQ29udGVudEV4dGVu
c2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6Ok9rKTsKICAgICB0ZXN0UGF0dGVy
blN0YXR1cygiYSpiPy4qLj9bYS16XT9bYS16XSIsIENvbnRlbnRFeHRlbnNpb25zOjpVUkxGaWx0
ZXJQYXJzZXI6OlBhcnNlU3RhdHVzOjpPayk7Ci0gICAgLy8gRklYTUU6IEFkZCByZWdleGVzIHRo
YXQgY2F1c2UgZWFjaCBwYXJzZSBzdGF0dXMuCisgICAgCisgICAgdGVzdFBhdHRlcm5TdGF0dXMo
Iig/ISkiLCBDb250ZW50RXh0ZW5zaW9uczo6VVJMRmlsdGVyUGFyc2VyOjpQYXJzZVN0YXR1czo6
R3JvdXApOworICAgIHRlc3RQYXR0ZXJuU3RhdHVzKCIoPz0pIiwgQ29udGVudEV4dGVuc2lvbnM6
OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6Okdyb3VwKTsKKyAgICB0ZXN0UGF0dGVyblN0
YXR1cygiKHJlZ2V4KSIsIENvbnRlbnRFeHRlbnNpb25zOjpVUkxGaWx0ZXJQYXJzZXI6OlBhcnNl
U3RhdHVzOjpPayk7IC8vIFdoeSBpcyB0aGlzIG5vdCBHcm91cD8gU2VlIHBhcnNlUGFyZW50aGVz
ZXNCZWdpbi4KKyAgICB0ZXN0UGF0dGVyblN0YXR1cygiKHJlZ2V4IiwgQ29udGVudEV4dGVuc2lv
bnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6OllhcnJFcnJvcik7CisgICAgdGVzdFBh
dHRlcm5TdGF0dXMoIigocmVnZXgpIiwgQ29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNl
cjo6UGFyc2VTdGF0dXM6OllhcnJFcnJvcik7CisgICAgdGVzdFBhdHRlcm5TdGF0dXMoIig/OnJl
Z2V4KSIsIENvbnRlbnRFeHRlbnNpb25zOjpVUkxGaWx0ZXJQYXJzZXI6OlBhcnNlU3RhdHVzOjpP
ayk7CisgICAgdGVzdFBhdHRlcm5TdGF0dXMoIig/OnJlZ2V4IiwgQ29udGVudEV4dGVuc2lvbnM6
OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6OllhcnJFcnJvcik7CisgICAgdGVzdFBhdHRl
cm5TdGF0dXMoIlteLl0rIiwgQ29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFy
c2VTdGF0dXM6Ok9rKTsgLy8gVGhpcyBzaG91bGQgYmUgQ2Fubm90TWF0Y2hBbnl0aGluZywgcmln
aHQ/CisgICAgCisgICAgdGVzdFBhdHRlcm5TdGF0dXMoImErKyIsIENvbnRlbnRFeHRlbnNpb25z
OjpVUkxGaWx0ZXJQYXJzZXI6OlBhcnNlU3RhdHVzOjpZYXJyRXJyb3IpOworICAgIHRlc3RQYXR0
ZXJuU3RhdHVzKCJbYV0rKyIsIENvbnRlbnRFeHRlbnNpb25zOjpVUkxGaWx0ZXJQYXJzZXI6OlBh
cnNlU3RhdHVzOjpZYXJyRXJyb3IpOworICAgIHRlc3RQYXR0ZXJuU3RhdHVzKCIrIiwgQ29udGVu
dEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6OllhcnJFcnJvcik7Cisg
ICAgCisgICAgdGVzdFBhdHRlcm5TdGF0dXMoIlsiLCBDb250ZW50RXh0ZW5zaW9uczo6VVJMRmls
dGVyUGFyc2VyOjpQYXJzZVN0YXR1czo6WWFyckVycm9yKTsKKyAgICB0ZXN0UGF0dGVyblN0YXR1
cygiW2F9IiwgQ29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6
OllhcnJFcnJvcik7CisgICAgCisgICAgLy8gSSB0aGluayB0aGVzZSBzaG91bGQgYWxsIGJlIFlh
cnJFcnJvcnMsIGJ1dCB0aGV5J3JlIG5vdC4gU2hvdWxkIHdlIGRvIHNvbWV0aGluZyBhYm91dCB0
aGlzPworICAgIHRlc3RQYXR0ZXJuU3RhdHVzKCJhXSIsIENvbnRlbnRFeHRlbnNpb25zOjpVUkxG
aWx0ZXJQYXJzZXI6OlBhcnNlU3RhdHVzOjpPayk7CisgICAgdGVzdFBhdHRlcm5TdGF0dXMoInsi
LCBDb250ZW50RXh0ZW5zaW9uczo6VVJMRmlsdGVyUGFyc2VyOjpQYXJzZVN0YXR1czo6T2spOwor
ICAgIHRlc3RQYXR0ZXJuU3RhdHVzKCJ7W2FdIiwgQ29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRl
clBhcnNlcjo6UGFyc2VTdGF0dXM6Ok9rKTsKKyAgICB0ZXN0UGF0dGVyblN0YXR1cygiezAiLCBD
b250ZW50RXh0ZW5zaW9uczo6VVJMRmlsdGVyUGFyc2VyOjpQYXJzZVN0YXR1czo6T2spOworICAg
IHRlc3RQYXR0ZXJuU3RhdHVzKCJ7MCwiLCBDb250ZW50RXh0ZW5zaW9uczo6VVJMRmlsdGVyUGFy
c2VyOjpQYXJzZVN0YXR1czo6T2spOworICAgIHRlc3RQYXR0ZXJuU3RhdHVzKCJ7MCwxIiwgQ29u
dGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6Ok9rKTsKKyAgICB0
ZXN0UGF0dGVyblN0YXR1cygiYXswLDEiLCBDb250ZW50RXh0ZW5zaW9uczo6VVJMRmlsdGVyUGFy
c2VyOjpQYXJzZVN0YXR1czo6T2spOworICAgIHRlc3RQYXR0ZXJuU3RhdHVzKCJhe2EsYn0iLCBD
b250ZW50RXh0ZW5zaW9uczo6VVJMRmlsdGVyUGFyc2VyOjpQYXJzZVN0YXR1czo6T2spOworCisg
ICAgY29uc3QgY2hhciBub25BU0NJSVsyXSA9IHstMSwgJ1wwJ307CisgICAgdGVzdFBhdHRlcm5T
dGF0dXMobm9uQVNDSUksIENvbnRlbnRFeHRlbnNpb25zOjpVUkxGaWx0ZXJQYXJzZXI6OlBhcnNl
U3RhdHVzOjpOb25BU0NJSSk7CisgICAgdGVzdFBhdHRlcm5TdGF0dXMoIlxceGZmIiwgQ29udGVu
dEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6Ok5vbkFTQ0lJKTsKKyAg
ICAKKyAgICB0ZXN0UGF0dGVyblN0YXR1cygiXFx4XFxyXFxuIiwgQ29udGVudEV4dGVuc2lvbnM6
OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6Ok9rKTsKKyAgICB0ZXN0UGF0dGVyblN0YXR1
cygiXFxiIiwgQ29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6
OldvcmRCb3VuZGFyeSk7CisgICAgdGVzdFBhdHRlcm5TdGF0dXMoIltcXGRdIiwgQ29udGVudEV4
dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6OkF0b21DaGFyYWN0ZXIpOwor
ICAgIHRlc3RQYXR0ZXJuU3RhdHVzKCJcXGRcXERcXHdcXHNcXHZcXGhcXGlcXGMiLCBDb250ZW50
RXh0ZW5zaW9uczo6VVJMRmlsdGVyUGFyc2VyOjpQYXJzZVN0YXR1czo6VW5zdXBwb3J0ZWRDaGFy
YWN0ZXJDbGFzcyk7CisgICAgCisgICAgdGVzdFBhdHRlcm5TdGF0dXMoInRoaXN8dGhhdCIsIENv
bnRlbnRFeHRlbnNpb25zOjpVUkxGaWx0ZXJQYXJzZXI6OlBhcnNlU3RhdHVzOjpEaXNqdW5jdGlv
bik7CisgICAgdGVzdFBhdHRlcm5TdGF0dXMoImF7MCwxfWIiLCBDb250ZW50RXh0ZW5zaW9uczo6
VVJMRmlsdGVyUGFyc2VyOjpQYXJzZVN0YXR1czo6T2spOworICAgIHRlc3RQYXR0ZXJuU3RhdHVz
KCJhezAsMn1iIiwgQ29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0
dXM6OkludmFsaWRRdWFudGlmaWVyKTsKKyAgICB0ZXN0UGF0dGVyblN0YXR1cygiIiwgQ29udGVu
dEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6OkVtcHR5UGF0dGVybik7
CisgICAgdGVzdFBhdHRlcm5TdGF0dXMoIiQkIiwgQ29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRl
clBhcnNlcjo6UGFyc2VTdGF0dXM6Ok1pc3BsYWNlZEVuZE9mTGluZSk7CisgICAgdGVzdFBhdHRl
cm5TdGF0dXMoImFeIiwgQ29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VT
dGF0dXM6Ok1pc3BsYWNlZFN0YXJ0T2ZMaW5lKTsKKyAgICB0ZXN0UGF0dGVyblN0YXR1cygiKF4p
IiwgQ29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6Ok1pc3Bs
YWNlZFN0YXJ0T2ZMaW5lKTsKKyAgICAKKyAgICB0ZXN0UGF0dGVyblN0YXR1cygiKGEpXFwxIiwg
Q29udGVudEV4dGVuc2lvbnM6OlVSTEZpbHRlclBhcnNlcjo6UGFyc2VTdGF0dXM6Ok9rKTsgLy8g
VGhpcyBzaG91bGQgYmUgQmFja1JlZmVyZW5jZSwgcmlnaHQ/CiB9CiAKIH0gLy8gbmFtZXNwYWNl
IFRlc3RXZWJLaXRBUEkK
</data>
<flag name="review"
          id="273884"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>