<?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>137378</bug_id>
          
          <creation_ts>2014-10-02 20:04:06 -0700</creation_ts>
          <short_desc>Web Inspector: Highlighted selectors in Rules sidebar break with selectors that contain nested selector lists</short_desc>
          <delta_ts>2014-10-06 18:55:25 -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>Web Inspector</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Joseph Pecoraro">joepeck</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>benjamin</cc>
    
    <cc>graouts</cc>
    
    <cc>joepeck</cc>
    
    <cc>kling</cc>
    
    <cc>timothy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039103</commentid>
    <comment_count>0</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-10-02 20:04:06 -0700</bug_when>
    <thetext>* TEST

    &lt;style&gt;
    .testClass, a,span  ,  :nth-child(n of *, p), bumble, p { color: blue; }
    &lt;/style&gt;
    &lt;p class=&quot;testClass&quot;&gt;Test&lt;/p&gt;

* STEPS TO REPRODUCE
1. Inspect the &lt;p&gt; on the test page
2. Open Styles Sidebar to the Rules section
  =&gt; in the Rules section &quot;.testClass&quot;, &quot;:nth-child(n of *&quot;, and &quot;bumble&quot; are highlighted as matching this particular element
  =&gt; expected &quot;.testClass&quot;, &quot;:nth-child(n of *, p)&quot; and &quot;p&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039104</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-10-02 20:04:29 -0700</bug_when>
    <thetext>&lt;rdar://problem/18535308&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039107</commentid>
    <comment_count>2</comment_count>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-10-02 20:09:39 -0700</bug_when>
    <thetext>Nested selector lists are causing the CSSParser SourceData to be out of whack.

On the protocol, we see the list of selectors is broken at the comma of the nested list:

    &quot;selectorList&quot;: {
        &quot;selectors&quot;: [&quot;.testClass&quot;, &quot;a&quot;, &quot;span&quot;, &quot;:nth-child(n of *&quot;, &quot;p)&quot;, &quot;bumble&quot;, &quot;p&quot;],
        &quot;text&quot;: &quot;.testclass, a, span, :nth-child(n of *, p), bumble, p&quot;,
        ...
    }

This is because CSSParser is marking the start/ends as it sees commas: (CSSGrammar.y.in)

    at_rule_header_end: { parser-&gt;markRuleHeaderEnd(); } ;
    at_selector_end: { parser-&gt;markSelectorEnd(); } ;

    selector_list:
        ...
        | selector_list at_selector_end &apos;,&apos; maybe_space before_selector_group_item complex_selector %prec UNIMPORTANT_TOK {
        ...

So if we are doing a nested selector list, we get an errant early markSelectorEnd().

The markStart/End is only used by the Inspector here, so that we can send the exact text from the stylesheet to the frontend. We want this to show the case of the selector. &quot;.testClass&quot; instead of &quot;.testclass&quot;. (InspectorStyleSheet.cpp)


    static PassRefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; selectorsFromSource(const CSSRuleSourceData* sourceData, const String&amp; sheetText)
    {
        DEPRECATED_DEFINE_STATIC_LOCAL(JSC::Yarr::RegularExpression, comment, (&quot;/\\*[^]*?\\*/&quot;, TextCaseSensitive, JSC::Yarr::MultilineEnabled));
        RefPtr&lt;Inspector::Protocol::Array&lt;String&gt;&gt; result = Inspector::Protocol::Array&lt;String&gt;::create();
&gt;       const SelectorRangeList&amp; ranges = sourceData-&gt;selectorRanges;
        for (size_t i = 0, size = ranges.size(); i &lt; size; ++i) {
            const SourceRange&amp; range = ranges.at(i);
            String selector = sheetText.substring(range.start, range.length());

            // We don&apos;t want to see any comments in the selector components, only the meaningful parts.
            replace(selector, comment, &quot;&quot;);
            result-&gt;addItem(selector.stripWhiteSpace());
        }
        return result.release();
    }

    PassRefPtr&lt;Inspector::Protocol::CSS::SelectorList&gt; InspectorStyleSheet::buildObjectForSelectorList(CSSStyleRule* rule)
    {
        ...
&gt;       if (sourceData)
&gt;           selectors = selectorsFromSource(sourceData.get(), m_parsedStyleSheet-&gt;text());
&gt;       else {
            selectors = Inspector::Protocol::Array&lt;String&gt;::create();
            const CSSSelectorList&amp; selectorList = rule-&gt;styleRule()-&gt;selectorList();
            for (const CSSSelector* selector = selectorList.first(); selector; selector = CSSSelectorList::next(selector))
                selectors-&gt;addItem(selector-&gt;selectorText());
        }
        ...
    }</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039441</commentid>
    <comment_count>3</comment_count>
      <attachid>239260</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-03 20:16:45 -0700</bug_when>
    <thetext>Created attachment 239260
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039773</commentid>
    <comment_count>4</comment_count>
      <attachid>239260</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-10-06 11:38:15 -0700</bug_when>
    <thetext>Comment on attachment 239260
Patch

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

Looks good to me! May want another reviewer though.

&gt; Source/WebCore/ChangeLog:10
&gt; +        To make implement this with low risk of unbalanced start+end and good error recovery,

Grammaro: &quot;To make implement&quot; =&gt; &quot;To implement&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039858</commentid>
    <comment_count>5</comment_count>
      <attachid>239260</attachid>
    <who name="Joseph Pecoraro">joepeck</who>
    <bug_when>2014-10-06 15:19:13 -0700</bug_when>
    <thetext>Comment on attachment 239260
Patch

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

&gt; Source/WebCore/css/CSSParser.h:378
&gt; +    unsigned m_nestedSelectorLevel;

Nit: You might be able to move this member up next to m_numParsedPropertiesBeforeMarginBox and it might save a few bytes in the size of CSSParser. Not important at all though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039915</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2014-10-06 18:55:25 -0700</bug_when>
    <thetext>Committed r174379: &lt;http://trac.webkit.org/changeset/174379&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239260</attachid>
            <date>2014-10-03 20:16:45 -0700</date>
            <delta_ts>2014-10-06 15:19:13 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137378-20141003201642.patch</filename>
            <type>text/plain</type>
            <size>5719</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc0MzA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmU0YzVlY2Y4NTZmMzU5
ZWI3YzE4Y2ZmOGVlMDliYzMxMmRlZjNlZS4uOTRkM2E4NzJiOGFmNWYzMTBjYTE0N2Q4NjVkZTVi
MzU3NzEzZDUyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI3IEBACisyMDE0LTEwLTAzICBCZW5q
YW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgorCisgICAgICAgIFdlYiBJbnNwZWN0
b3I6IEhpZ2hsaWdodGVkIHNlbGVjdG9ycyBpbiBSdWxlcyBzaWRlYmFyIGJyZWFrIHdpdGggc2Vs
ZWN0b3JzIHRoYXQgY29udGFpbiBuZXN0ZWQgc2VsZWN0b3IgbGlzdHMKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzM3OAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlIHNob3VsZCBub3QgdXBkYXRlIHRo
ZSBwYXJzZXIncyBzZWxlY3RvclJhbmdlIHdoZW4gbWF0Y2hpbmcgYSBuZXN0ZWQgc2VsZWN0b3Ig
bGlzdC4KKworICAgICAgICBUbyBtYWtlIGltcGxlbWVudCB0aGlzIHdpdGggbG93IHJpc2sgb2Yg
dW5iYWxhbmNlZCBzdGFydCtlbmQgYW5kIGdvb2QgZXJyb3IgcmVjb3ZlcnksCisgICAgICAgIEkg
aGF2ZSB3cmFwcGVkIHRoZSBwYXJzaW5nIG9mIHNlbGVjdG9yX2xpc3QgYmV0d2VlbiBhIHN0YXJ0
L2VuZCBmdW5jdGlvbiBhdCB0aGUgZ3JhbW1hcgorICAgICAgICBsZXZlbC4gV2hlbmV2ZXIgdGhl
IHBhcnNlciBlbnRlciBhIG5lc3RlZCBzZWxlY3RvciBsaXN0LCBtX25lc3RlZFNlbGVjdG9yTGV2
ZWwgZ29lcyB1cAorICAgICAgICBieSBvbmUuIEFueSB0aW1lIHRoZSBwYXJzaW5nIGlzIGN1cnJl
bnRseSBpbiBhIG5lc3RlZCBzZWxlY3RvciBsaXN0LCB3ZSBuZXZlciB1cGRhdGUKKyAgICAgICAg
dGhlIHNlbGVjdG9yIHJhbmdlcy4KKworICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46Cisg
ICAgICAgICogY3NzL0NTU1BhcnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6
OkNTU1BhcnNlcik6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtTZWxlY3RvclN0
YXJ0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6bWFya1NlbGVjdG9yRW5kKToKKyAg
ICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OnN0
YXJ0TmVzdGVkU2VsZWN0b3JMaXN0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1BhcnNlcjo6ZW5k
TmVzdGVkU2VsZWN0b3JMaXN0KToKKwogMjAxNC0xMC0wMyAgQ2hyaXN0b3BoZSBEdW1leiAgPGNk
dW1lekBhcHBsZS5jb20+CiAKICAgICAgICAgVXNlIGlzPD4oKSAvIGRvd25jYXN0PD4oKSBmb3Ig
Q1NTVmFsdWUgc3ViY2xhc3NlcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0dy
YW1tYXIueS5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KaW5kZXggZTgy
NTZlMDhkNTZjOTJiZDg5Yjg5OTJhNTQyMTFlNGU5OGJlMzFmMy4uMjliYjQ4NmY2YTE3YWU1MDQy
NWE2NjkzMTM2OGUwYjZiNzZiNmNhOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U0dyYW1tYXIueS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1hci55LmluCkBA
IC0zMDksOCArMzA5LDggQEAgc3RhdGljIGJvb2wgaXNWYWxpZE50aFNlbGVjdG9yTGlzdChjb25z
dCBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG8KICVkZXN0cnVjdG9yIHsg
ZGVsZXRlICQkOyB9IGF0dHJpYiBjbGFzcyBwYWdlX3NlbGVjdG9yIHBzZXVkbyBwc2V1ZG9fcGFn
ZSBjb21wbGV4X3NlbGVjdG9yIGNvbXBsZXhfc2VsZWN0b3Jfd2l0aF90cmFpbGluZ193aGl0ZXNw
YWNlIGNvbXBvdW5kX3NlbGVjdG9yIHNwZWNpZmllciBzcGVjaWZpZXJfbGlzdAogCiAldW5pb24g
eyBWZWN0b3I8c3RkOjp1bmlxdWVfcHRyPENTU1BhcnNlclNlbGVjdG9yPj4qIHNlbGVjdG9yTGlz
dDsgfQotJXR5cGUgPHNlbGVjdG9yTGlzdD4gc2VsZWN0b3JfbGlzdCBzaW1wbGVfc2VsZWN0b3Jf
bGlzdCBudGhfc2VsZWN0b3JfZW5kaW5nCi0lZGVzdHJ1Y3RvciB7IGRlbGV0ZSAkJDsgfSBzZWxl
Y3Rvcl9saXN0IHNpbXBsZV9zZWxlY3Rvcl9saXN0IG50aF9zZWxlY3Rvcl9lbmRpbmcKKyV0eXBl
IDxzZWxlY3Rvckxpc3Q+IHNlbGVjdG9yX2xpc3QgbmVzdGVkX3NlbGVjdG9yX2xpc3Qgc2ltcGxl
X3NlbGVjdG9yX2xpc3QgbnRoX3NlbGVjdG9yX2VuZGluZworJWRlc3RydWN0b3IgeyBkZWxldGUg
JCQ7IH0gc2VsZWN0b3JfbGlzdCBuZXN0ZWRfc2VsZWN0b3JfbGlzdCBzaW1wbGVfc2VsZWN0b3Jf
bGlzdCBudGhfc2VsZWN0b3JfZW5kaW5nCiAKICV1bmlvbiB7IGJvb2wgYm9vbGVhbjsgfQogJXR5
cGUgPGJvb2xlYW4+IGRlY2xhcmF0aW9uIGRlY2xhcmF0aW9uX2xpc3QgZGVjbF9saXN0IHByaW9y
aXR5CkBAIC0xMDkxLDYgKzEwOTEsMTUgQEAgc2VsZWN0b3JfbGlzdDoKICAgICB9CiAgICA7CiAK
K2JlZm9yZV9uZXN0ZWRfc2VsZWN0b3JfbGlzdDogeyBwYXJzZXItPnN0YXJ0TmVzdGVkU2VsZWN0
b3JMaXN0KCk7IH0gOworYWZ0ZXJfbmVzdGVkX3NlbGVjdG9yX2xpc3Q6IHsgcGFyc2VyLT5lbmRO
ZXN0ZWRTZWxlY3Rvckxpc3QoKTsgfSA7CisKK25lc3RlZF9zZWxlY3Rvcl9saXN0OgorICAgIGJl
Zm9yZV9uZXN0ZWRfc2VsZWN0b3JfbGlzdCBzZWxlY3Rvcl9saXN0IGFmdGVyX25lc3RlZF9zZWxl
Y3Rvcl9saXN0IHsKKyAgICAgICAgJCQgPSAkMjsKKyAgICB9CisgICAgOworCiBjb21wbGV4X3Nl
bGVjdG9yX3dpdGhfdHJhaWxpbmdfd2hpdGVzcGFjZToKICAgICBjb21wbGV4X3NlbGVjdG9yIFdI
SVRFU1BBQ0U7CiAKQEAgLTEzMDAsNyArMTMwOSw3IEBAIG50aF9zZWxlY3Rvcl9lbmRpbmc6CiAg
ICAgfCBzcGFjZSAnKScgewogICAgICAgICAkJCA9IG51bGxwdHI7CiAgICAgfQotICAgIHwgc3Bh
Y2UgTlRIQ0hJTERTRUxFQ1RPUlNFUEFSQVRPUiBzcGFjZSBzZWxlY3Rvcl9saXN0IG1heWJlX3Nw
YWNlICcpJyB7CisgICAgfCBzcGFjZSBOVEhDSElMRFNFTEVDVE9SU0VQQVJBVE9SIHNwYWNlIG5l
c3RlZF9zZWxlY3Rvcl9saXN0IG1heWJlX3NwYWNlICcpJyB7CiAgICAgICAgIGlmICgkNCkKICAg
ICAgICAgICAgICQkID0gJDQ7CiAgICAgICAgIGVsc2UKQEAgLTEzMzksNyArMTM0OCw3IEBAIHBz
ZXVkbzoKICAgICB9CiAKICNpZiBFTkFCTEVfQ1NTX1NFTEVDVE9SU19MRVZFTDQKLSAgICB8ICc6
JyBNQVRDSEVTRlVOQ1RJT04gbWF5YmVfc3BhY2Ugc2VsZWN0b3JfbGlzdCBtYXliZV9zcGFjZSAn
KScgeworICAgIHwgJzonIE1BVENIRVNGVU5DVElPTiBtYXliZV9zcGFjZSBuZXN0ZWRfc2VsZWN0
b3JfbGlzdCBtYXliZV9zcGFjZSAnKScgewogICAgICAgICAkJCA9IG51bGxwdHI7CiAgICAgICAg
IGlmICgkNCkgewogICAgICAgICAgICAgYXV0byBzZWxlY3RvciA9IHN0ZDo6bWFrZV91bmlxdWU8
Q1NTUGFyc2VyU2VsZWN0b3I+KCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UGFyc2VyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGMwMGY5
Nzg5NDljNTRmMWNiY2MwNjYyMGYxNzhjNjJjZjIzZGU0YzkuLjk2MDYwMGE3YzI5ZWVjYmY3ZjA2
NGMzYmE2MTlhNjBiZmNkZGJiMzkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQ
YXJzZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0zMTcs
NiArMzE3LDcgQEAgQ1NTUGFyc2VyOjpDU1NQYXJzZXIoY29uc3QgQ1NTUGFyc2VyQ29udGV4dCYg
Y29udGV4dCkKICAgICAsIG1faWdub3JlRXJyb3JzSW5EZWNsYXJhdGlvbihmYWxzZSkKICAgICAs
IG1fZGVmYXVsdE5hbWVzcGFjZShzdGFyQXRvbSkKICAgICAsIG1fcGFyc2VkVGV4dFByZWZpeExl
bmd0aCgwKQorICAgICwgbV9uZXN0ZWRTZWxlY3RvckxldmVsKDApCiAgICAgLCBtX3Byb3BlcnR5
UmFuZ2UoVUlOVF9NQVgsIFVJTlRfTUFYKQogICAgICwgbV9ydWxlU291cmNlRGF0YVJlc3VsdCgw
KQogICAgICwgbV9wYXJzaW5nTW9kZShOb3JtYWxNb2RlKQpAQCAtMTIwNTIsNyArMTIwNTMsNyBA
QCB2b2lkIENTU1BhcnNlcjo6bWFya1J1bGVIZWFkZXJFbmQoKQogCiB2b2lkIENTU1BhcnNlcjo6
bWFya1NlbGVjdG9yU3RhcnQoKQogewotICAgIGlmICghaXNFeHRyYWN0aW5nU291cmNlRGF0YSgp
KQorICAgIGlmICghaXNFeHRyYWN0aW5nU291cmNlRGF0YSgpIHx8IG1fbmVzdGVkU2VsZWN0b3JM
ZXZlbCkKICAgICAgICAgcmV0dXJuOwogICAgIEFTU0VSVCghbV9zZWxlY3RvclJhbmdlLmVuZCk7
CiAKQEAgLTEyMDYxLDcgKzEyMDYyLDcgQEAgdm9pZCBDU1NQYXJzZXI6Om1hcmtTZWxlY3RvclN0
YXJ0KCkKIAogdm9pZCBDU1NQYXJzZXI6Om1hcmtTZWxlY3RvckVuZCgpCiB7Ci0gICAgaWYgKCFp
c0V4dHJhY3RpbmdTb3VyY2VEYXRhKCkpCisgICAgaWYgKCFpc0V4dHJhY3RpbmdTb3VyY2VEYXRh
KCkgfHwgbV9uZXN0ZWRTZWxlY3RvckxldmVsKQogICAgICAgICByZXR1cm47CiAgICAgQVNTRVJU
KCFtX3NlbGVjdG9yUmFuZ2UuZW5kKTsKICAgICBBU1NFUlQobV9jdXJyZW50UnVsZURhdGFTdGFj
ay0+c2l6ZSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCA1OWUxZjZlMTQxN2Y0OGQ4ZTEy
Y2RmYjE1YTk3MzQ4ZmJhNmFlOWQzLi44MTY3ZDgyZjc1ODFlZjBjMmFmZjViNGEyNWRhODg3NWU1
ZDllZmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0zNzUsNiArMzc1LDcgQEAgcHVibGlj
OgogCiAgICAgLy8gdG9rZW5pemVyIG1ldGhvZHMgYW5kIGRhdGEKICAgICBzaXplX3QgbV9wYXJz
ZWRUZXh0UHJlZml4TGVuZ3RoOworICAgIHVuc2lnbmVkIG1fbmVzdGVkU2VsZWN0b3JMZXZlbDsK
ICAgICBTb3VyY2VSYW5nZSBtX3NlbGVjdG9yUmFuZ2U7CiAgICAgU291cmNlUmFuZ2UgbV9wcm9w
ZXJ0eVJhbmdlOwogICAgIHN0ZDo6dW5pcXVlX3B0cjxSdWxlU291cmNlRGF0YUxpc3Q+IG1fY3Vy
cmVudFJ1bGVEYXRhU3RhY2s7CkBAIC0zODQsOCArMzg1LDEyIEBAIHB1YmxpYzoKICAgICB2b2lk
IGZpeFVucGFyc2VkUHJvcGVydHlSYW5nZXMoQ1NTUnVsZVNvdXJjZURhdGEqKTsKICAgICB2b2lk
IG1hcmtSdWxlSGVhZGVyU3RhcnQoQ1NTUnVsZVNvdXJjZURhdGE6OlR5cGUpOwogICAgIHZvaWQg
bWFya1J1bGVIZWFkZXJFbmQoKTsKKworICAgIHZvaWQgc3RhcnROZXN0ZWRTZWxlY3Rvckxpc3Qo
KSB7ICsrbV9uZXN0ZWRTZWxlY3RvckxldmVsOyB9CisgICAgdm9pZCBlbmROZXN0ZWRTZWxlY3Rv
ckxpc3QoKSB7IC0tbV9uZXN0ZWRTZWxlY3RvckxldmVsOyB9CiAgICAgdm9pZCBtYXJrU2VsZWN0
b3JTdGFydCgpOwogICAgIHZvaWQgbWFya1NlbGVjdG9yRW5kKCk7CisKICAgICB2b2lkIG1hcmtS
dWxlQm9keVN0YXJ0KCk7CiAgICAgdm9pZCBtYXJrUnVsZUJvZHlFbmQoKTsKICAgICB2b2lkIG1h
cmtQcm9wZXJ0eVN0YXJ0KCk7Cg==
</data>
<flag name="review"
          id="263970"
          type_id="1"
          status="+"
          setter="joepeck"
    />
          </attachment>
      

    </bug>

</bugzilla>