<?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>3379</bug_id>
          
          <creation_ts>2005-06-09 05:13:41 -0700</creation_ts>
          <short_desc>attr(X) does not work</short_desc>
          <delta_ts>2006-06-02 10:20:28 -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>CSS</component>
          <version>312.x</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.3</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="Gideon M.L. Klok">madiuq</reporter>
          <assigned_to name="Beth Dakin">bdakin</assigned_to>
          <cc>bdakin</cc>
    
    <cc>bugs-webkit</cc>
    
    <cc>remi_zara</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>11146</commentid>
    <comment_count>0</comment_count>
    <who name="Gideon M.L. Klok">madiuq</who>
    <bug_when>2005-06-09 05:13:43 -0700</bug_when>
    <thetext>If there are two or more elements Y from which you request the attr(X) then it returns the value of 
attribute X from the first element Y. The seconde Y element&apos;s attr(X) will return the same value. 

e.g. 

@media print {
  a:after { content: &apos;[&apos; attr(href) &apos;]&apos;;
  }
}

Will have the result that all A elements will show the atribute href of the first A element.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11316</commentid>
    <comment_count>1</comment_count>
      <attachid>2224</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2005-06-10 11:10:13 -0700</bug_when>
    <thetext>Created attachment 2224
test case with 3 links

Here is a test case.

The problem seems to come from the
CSSStyleSelector::canShareStyleWithElement(NodeImpl* n) optimisation. If made
to always return false, then the problem does not appear.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11331</commentid>
    <comment_count>2</comment_count>
      <attachid>2228</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2005-06-10 13:59:13 -0700</bug_when>
    <thetext>Created attachment 2228
patch which disabled the optimisation if a content property is present

This patch records the fact that a content property is present, and disables
the canShareStyleWithElement optimisation when present.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11332</commentid>
    <comment_count>3</comment_count>
      <attachid>2229</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2005-06-10 14:01:32 -0700</bug_when>
    <thetext>Created attachment 2229
layout-tests/fast/css-generated-content test case

test case to include in layout-tests/fast/css-generated-content</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11333</commentid>
    <comment_count>4</comment_count>
      <attachid>2230</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2005-06-10 14:02:46 -0700</bug_when>
    <thetext>Created attachment 2230
expected result

Expected result for the test case</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11358</commentid>
    <comment_count>5</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-06-10 19:23:20 -0700</bug_when>
    <thetext>The intent of the original style sharing design was that pseudo-elements should never attempt to share 
style with one another at all, so this patch should not be necessary.  Notice that pseudoStyleForElement 
does not contain any code to do sharing.

I think further investigation is needed to understand how the anchors all sharing the same style is causing 
the pseudo-element of a later anchor to get the wrong value.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11607</commentid>
    <comment_count>6</comment_count>
      <attachid>2263</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2005-06-12 04:06:34 -0700</bug_when>
    <thetext>Created attachment 2263
Don&apos;t share style for ::after and ::before

The style was shared in RenderObject::getPseudoStyle(). This patch disables the
sharing only for ::after and ::before pseudo elements, since the content
property can only apply to them in css2.
This patch passes all tests, including of course the new one attached to this
bug.

I think that when you&apos;ll implement css3 generated content, you&apos;ll have to
disable style sharing when a declaration contains a content property (or at
least those with a content property which contains an attr(X) value), or a
counter-increment or a counter-reset property...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>11908</commentid>
    <comment_count>7</comment_count>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-06-14 12:32:02 -0700</bug_when>
    <thetext>addPseudoStyle is a dumb function that just throws the resolved pseudo-style onto the style&apos;s list.  If you 
bypass the pseudo-style &quot;cache&quot; by not calling getPseudoStyle, you&apos;re going to need to make sure you 
don&apos;t add the resultant pseudo-style to the cache either.

Ideally the caching of the before/after styles would only be turned off only if attr(x) is used.  If you added 
some sort of &quot;unshareable&quot; bit to RenderStyles and set it when an attr(x) is used, then rather than asking 
about :before/:after in getPseudoStyle, you could just ask &quot;is the style unshareable&quot;.

Then we can, as you say, reuse this unshareable bit in other situations (like counters).
</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12532</commentid>
    <comment_count>8</comment_count>
      <attachid>2459</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2005-06-18 07:48:05 -0700</bug_when>
    <thetext>Created attachment 2459
Add an unshareable bit to RenderStyle

This patch adds an unshareable bit to RenderStyle, which is set when content:
attr(X) is used, and checked in canShareStyleWithElement().

The patch passes all regression tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12557</commentid>
    <comment_count>9</comment_count>
      <attachid>2459</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-18 17:04:39 -0700</bug_when>
    <thetext>Comment on attachment 2459
Add an unshareable bit to RenderStyle

There&apos;s no word &quot;unshareable&quot;, so this should probably either be named
&quot;sharable&quot; (reversing the sense) or &quot;notSharable&quot; instead.

Otherwise, it looks good to me, but I think a patch in this area really needs
Dave to review it, so setting the flag to bring it to his attention.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12629</commentid>
    <comment_count>10</comment_count>
      <attachid>2459</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2005-06-19 22:01:15 -0700</bug_when>
    <thetext>Comment on attachment 2459
Add an unshareable bit to RenderStyle

Yeah nearly ready.  Let&apos;s use the term &quot;unique.&quot;  Also, does the extra bit fit
or will this add 4 bytes to RenderStyles?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>12632</commentid>
    <comment_count>11</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-06-19 22:55:21 -0700</bug_when>
    <thetext>I checked. The bit fits.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>25604</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2005-12-05 17:07:00 -0800</bug_when>
    <thetext>&lt;rdar://problem/4362407&gt; Safari displays same text for two different cases of CSS-generated text that 
should be different (3379)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43538</commentid>
    <comment_count>13</comment_count>
      <attachid>8538</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2006-05-25 06:41:32 -0700</bug_when>
    <thetext>Created attachment 8538
Add a &quot;unique&quot; bit to RenderStyle

This patch adds a &quot;unique&quot; bit to RenderStyle to disable style sharing when generated content relies on attribute values. Contains a test case and expected results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43587</commentid>
    <comment_count>14</comment_count>
      <attachid>8538</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-05-25 22:59:25 -0700</bug_when>
    <thetext>Comment on attachment 8538
Add a &quot;unique&quot; bit to RenderStyle

This is really close.  I have two remaining concerns.

(1) Hardcoding of

parentStyle-&gt;setUnique();

In CSS3 you&apos;ll be able to use the content property without it being in :before/:after, so I think it&apos;s better to actually check what you&apos;re matching.  If you&apos;re matching some pseudo-element, then you need to make parentStyle unique, but if you&apos;re not, then you need to make style unique instead.

(2) This second concern could be handled by another patch but is easy to add I think.  Since this patch was last worked on Rob landed some code for us to respond to dynamic attribute changes by registering which attribute affect style.  The attr() construct isn&apos;t doing this yet though, so dynamically changing attributes that don&apos;t already cause a setChanged() will fail.

Addressing (1) is enough for me to +.  Addressing (2) is extra credit. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43594</commentid>
    <comment_count>15</comment_count>
      <attachid>8550</attachid>
    <who name="Rémi Zara">remi_zara</who>
    <bug_when>2006-05-26 03:27:46 -0700</bug_when>
    <thetext>Created attachment 8550
addressed comments

Addressed comments, but I&apos;m not sure if I did it right:
 * I&apos;m not sure that &quot;if (style-&gt;styleType()==RenderStyle::NOPSEUDO)&quot; is ok
 * I feel like abusing m_selectorAttrs for point (2) of the review, but it works. So either it works by chance, or maybe this class member should be renamed, maybe to m_affectingAttrs (attributes affecting this style, either in selector or properties) ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>43643</commentid>
    <comment_count>16</comment_count>
      <attachid>8550</attachid>
    <who name="Dave Hyatt">hyatt</who>
    <bug_when>2006-05-26 11:30:43 -0700</bug_when>
    <thetext>Comment on attachment 8550
addressed comments

r=me

Yeah, we should probably rename the m_selectorAttrs variable (and the method that queries it) at some point.

Another problem I notice is that m_selectorAttrs was coded just to use localName.  This make it a little less precise than it could be (if it were to use the full qualified name instead).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>44395</commentid>
    <comment_count>17</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2006-06-02 10:20:28 -0700</bug_when>
    <thetext>Committed revision 14687.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2224</attachid>
            <date>2005-06-10 11:10:13 -0700</date>
            <delta_ts>2005-06-10 14:01:32 -0700</delta_ts>
            <desc>test case with 3 links</desc>
            <filename>3379.html</filename>
            <type>text/html</type>
            <size>522</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIGh0bWwgUFVC
TElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAgICAgICAiaHR0cDovL3d3
dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZnIiIGxhbmc9ImZyIj4KPGhl
YWQ+Cgk8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD11dGYtOCIgLz4KCTx0aXRsZT5VbnRpdGxlZDwvdGl0bGU+Cgk8c3R5bGUgdHlwZT0i
dGV4dC9jc3MiPgoJCWE6YWZ0ZXIgewoJCQljb250ZW50OiAnKGhyZWY9JyBhdHRyKGhyZWYpICcp
JzsKCQl9Cgk8L3N0eWxlPgo8L2hlYWQ+Cjxib2R5Pgo8cD48YSBocmVmPSIxIj4xPC9hPjwvcD4K
PHA+PGEgaHJlZj0iMiI+MjwvYT48L3A+CjxwPjxhIGhyZWY9IjMiPjM8L2E+PC9wPgo8L2JvZHk+
CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2228</attachid>
            <date>2005-06-10 13:59:13 -0700</date>
            <delta_ts>2005-06-12 04:06:34 -0700</delta_ts>
            <desc>patch which disabled the optimisation if a content property is present</desc>
            <filename>detectContentProp.txt</filename>
            <type>text/plain</type>
            <size>2528</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">SW5kZXg6IGtodG1sL2Nzcy9jc3NzdHlsZXNlbGVjdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJDUyBmaWxl
OiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9jc3MvY3Nzc3R5bGVzZWxlY3Rvci5jcHAsdgpyZXRy
aWV2aW5nIHJldmlzaW9uIDEuMTg0CmRpZmYgLXUgLXAgLXIxLjE4NCBjc3NzdHlsZXNlbGVjdG9y
LmNwcAotLS0gY3Nzc3R5bGVzZWxlY3Rvci5jcHAJMjAwNS8wNi8xMCAwNjo0NzozNgkxLjE4NAor
KysgY3Nzc3R5bGVzZWxlY3Rvci5jcHAJMjAwNS8wNi8xMCAyMDo1NzoxMQpAQCAtMzUwLDggKzM1
MCwxMiBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6Om1hdGNoUnVsZXMoQ1NTUnVsCiAgICAgc29y
dE1hdGNoZWRSdWxlcygwLCBtX21hdGNoZWRSdWxlQ291bnQpOwogICAgIAogICAgIC8vIE5vdyB0
cmFuc2ZlciB0aGUgc2V0IG9mIG1hdGNoZWQgcnVsZXMgb3ZlciB0byBvdXIgbGlzdCBvZiBkZWNs
cy4KLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9tYXRjaGVkUnVsZUNvdW50OyBpKysp
CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fbWF0Y2hlZFJ1bGVDb3VudDsgaSsrKSB7
CiAgICAgICAgIGFkZE1hdGNoZWREZWNsYXJhdGlvbihtX21hdGNoZWRSdWxlc1tpXS0+cnVsZSgp
LT5kZWNsYXJhdGlvbigpKTsKKwkJaWYgKG1fbWF0Y2hlZFJ1bGVzW2ldLT5ydWxlKCktPmRlY2xh
cmF0aW9uKCktPmdldFByb3BlcnR5Q1NTVmFsdWUoQ1NTX1BST1BfQ09OVEVOVCkpIHsKKwkJCWVs
ZW1lbnQtPnJlbmRlcmVyKCktPnN0eWxlKCktPnNldEhhc0NvbnRlbnRQcm9wZXJ0eSh0cnVlKTsK
KwkJfQorCX0KIH0KIAogdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjptYXRjaFJ1bGVzRm9yTGlzdChD
U1NSdWxlRGF0YUxpc3QqIHJ1bGVzLApAQCAtNjE0LDYgKzYxOCw3IEBAIGJvb2wgQ1NTU3R5bGVT
ZWxlY3Rvcjo6Y2FuU2hhcmVTdHlsZVdpdGgKICAgICAgICAgICAgIChzLT5oYXNNYXBwZWRBdHRy
aWJ1dGVzKCkgPT0gc3R5bGVkRWxlbWVudC0+aGFzTWFwcGVkQXR0cmlidXRlcygpKSAmJgogICAg
ICAgICAgICAgKHMtPmlzTGluaygpID09IGVsZW1lbnQtPmlzTGluaygpKSAmJiAKICAgICAgICAg
ICAgICFzLT5yZW5kZXJlcigpLT5zdHlsZSgpLT5hZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3Jz
KCkgJiYKKyAgICAgICAgICAgICFzLT5yZW5kZXJlcigpLT5zdHlsZSgpLT5oYXNDb250ZW50UHJv
cGVydHkoKSAmJgogICAgICAgICAgICAgKHMtPnJlbmRlcmVyKCktPm1vdXNlSW5zaWRlKCkgPT0g
bW91c2VJbnNpZGUpICYmCiAgICAgICAgICAgICAocy0+YWN0aXZlKCkgPT0gZWxlbWVudC0+YWN0
aXZlKCkpICYmCiAgICAgICAgICAgICAocy0+Zm9jdXNlZCgpID09IGVsZW1lbnQtPmZvY3VzZWQo
KSkpIHsKSW5kZXg6IGtodG1sL3JlbmRlcmluZy9yZW5kZXJfc3R5bGUuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ClJD
UyBmaWxlOiAvY3ZzL3Jvb3QvV2ViQ29yZS9raHRtbC9yZW5kZXJpbmcvcmVuZGVyX3N0eWxlLmgs
dgpyZXRyaWV2aW5nIHJldmlzaW9uIDEuODIKZGlmZiAtdSAtcCAtcjEuODIgcmVuZGVyX3N0eWxl
LmgKLS0tIHJlbmRlcl9zdHlsZS5oCTIwMDUvMDUvMTIgMTc6MTE6MjIJMS44MgorKysgcmVuZGVy
X3N0eWxlLmgJMjAwNS8wNi8xMCAyMDo1NzoxMgpAQCAtOTk5LDYgKzk5OSw3IEBAIHByb3RlY3Rl
ZDoKICAgICAvLyBhZGRlZCB0aGlzIGhlcmUsIHNvIHdlIGNhbiBnZXQgcmlkIG9mIHRoZSB2cHRy
IGluIHRoaXMgY2xhc3MuCiAgICAgLy8gbWFrZXMgdXAgZm9yIHRoZSBzYW1lIHNpemUuCiAgICAg
Q29udGVudERhdGEgKmNvbnRlbnQ7CisgICAgYm9vbCBtX2hhc0NvbnRlbnRQcm9wZXJ0eSA6MTsK
IAogICAgIFBzZXVkb1N0YXRlIG1fcHNldWRvU3RhdGUgOiAzOwogICAgIGJvb2wgbV9hZmZlY3Rl
ZEJ5QXR0cmlidXRlU2VsZWN0b3JzIDogMTsKQEAgLTE0NzksNyArMTQ4MCw5IEBAIHB1YmxpYzoK
ICAgICBib29sIGNvbnRlbnREYXRhRXF1aXZhbGVudChSZW5kZXJTdHlsZSogb3RoZXJTdHlsZSk7
CiAgICAgdm9pZCBzZXRDb250ZW50KERPTTo6RE9NU3RyaW5nSW1wbCogcywgYm9vbCBhZGQgPSBm
YWxzZSk7CiAgICAgdm9pZCBzZXRDb250ZW50KENhY2hlZE9iamVjdCogbywgYm9vbCBhZGQgPSBm
YWxzZSk7Ci0KKyAgICB2b2lkIHNldEhhc0NvbnRlbnRQcm9wZXJ0eShib29sIGhhc1Byb3AgPSB0
cnVlKSB7IG1faGFzQ29udGVudFByb3BlcnR5ID0gaGFzUHJvcDsgfQorICAgIGJvb2wgaGFzQ29u
dGVudFByb3BlcnR5KCkgY29uc3QgeyByZXR1cm4gbV9oYXNDb250ZW50UHJvcGVydHk7IH0KKwkK
ICAgICBib29sIGluaGVyaXRlZE5vdEVxdWFsKCBSZW5kZXJTdHlsZSAqb3RoZXIgKSBjb25zdDsK
IAogICAgIC8vIFRoZSBkaWZmZXJlbmNlIGJldHdlZW4gdHdvIHN0eWxlcy4gIFRoZSBmb2xsb3dp
bmcgdmFsdWVzIGFyZSB1c2VkOgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2229</attachid>
            <date>2005-06-10 14:01:32 -0700</date>
            <delta_ts>2006-05-25 06:41:32 -0700</delta_ts>
            <desc>layout-tests/fast/css-generated-content test case</desc>
            <filename>014.html</filename>
            <type>text/html</type>
            <size>621</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPCFET0NUWVBFIGh0bWwgUFVC
TElDICItLy9XM0MvL0RURCBYSFRNTCAxLjAgU3RyaWN0Ly9FTiIKICAgICAgICAiaHR0cDovL3d3
dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+CjxodG1sIHhtbG5zPSJo
dHRwOi8vd3d3LnczLm9yZy8xOTk5L3hodG1sIiB4bWw6bGFuZz0iZnIiIGxhbmc9ImZyIj4KPGhl
YWQ+Cgk8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsg
Y2hhcnNldD11dGYtOCIgLz4KCTx0aXRsZT5UZXN0IGNvbnRlbnQgd2l0aCBhdHRyPC90aXRsZT4K
CTxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+CgkJYTphZnRlciB7CgkJCWNvbnRlbnQ6ICcoaHJlZj0n
IGF0dHIoaHJlZikgJyknOwoJCX0KCTwvc3R5bGU+CjwvaGVhZD4KPGJvZHk+CjxwPkVhY2ggbGlu
ayBiZWxvdyBzaG91bGQgZGlzcGxheSB0aGUgdGV4dCAibihocmVmPW4pIiB3aGVyZSBuIGlzIGEg
bnVtYmVyPC9wPgo8aHIvPgo8cD48YSBocmVmPSIxIj4xPC9hPjwvcD4KPHA+PGEgaHJlZj0iMiI+
MjwvYT48L3A+CjxwPjxhIGhyZWY9IjMiPjM8L2E+PC9wPgo8L2JvZHk+CjwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>2230</attachid>
            <date>2005-06-10 14:02:46 -0700</date>
            <delta_ts>2006-05-25 06:41:32 -0700</delta_ts>
            <desc>expected result</desc>
            <filename>014-expected.txt</filename>
            <type>text/plain</type>
            <size>1499</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">bGF5ZXIgYXQgKDAsMCkgc2l6ZSA4MDB4NjAwCiAgUmVuZGVyQ2FudmFzIGF0ICgwLDApIHNpemUg
ODAweDYwMApsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNzAKICBSZW5kZXJCbG9jayB7SFRNTH0g
YXQgKDAsMCkgc2l6ZSA4MDB4MTcwCiAgICBSZW5kZXJCb2R5IHtCT0RZfSBhdCAoOCwxNikgc2l6
ZSA3ODR4MTM4CiAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBzaXplIDc4NHgxOAogICAg
ICAgIFJlbmRlclRleHQge1RFWFR9IGF0ICgwLDApIHNpemUgNDU4eDE4CiAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCA0NTg6ICJFYWNoIGxpbmsgYmVsb3cgc2hvdWxkIGRpc3BsYXkg
dGhlIHRleHQgXCJuKGhyZWY9bilcIiB3aGVyZSBuIGlzIGEgbnVtYmVyIgogICAgICBSZW5kZXJC
bG9jayB7SFJ9IGF0ICgwLDM0KSBzaXplIDc4NHgyIFtib3JkZXI6ICgxcHggaW5zZXQgIzAwMDAw
MCldCiAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCw1Mikgc2l6ZSA3ODR4MTgKICAgICAgICBS
ZW5kZXJJbmxpbmUge0F9IGF0ICgwLDApIHNpemUgNjB4MTggW2NvbG9yPSMwMDAwRUVdCiAgICAg
ICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMCwwKSBzaXplIDh4MTgKICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDAsMCkgd2lkdGggODogIjEiCiAgICAgICAgICBSZW5kZXJJbmxpbmUgKGdlbmVy
YXRlZCkgYXQgKDAsMCkgc2l6ZSA1MngxOAogICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICg4LDAp
IHNpemUgNTJ4MTgKICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwwKSB3aWR0aCA1MjogIiho
cmVmPTEpIgogICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsODYpIHNpemUgNzg0eDE4CiAgICAg
ICAgUmVuZGVySW5saW5lIHtBfSBhdCAoMCwwKSBzaXplIDYweDE4IFtjb2xvcj0jMDAwMEVFXQog
ICAgICAgICAgUmVuZGVyVGV4dCB7VEVYVH0gYXQgKDAsMCkgc2l6ZSA4eDE4CiAgICAgICAgICAg
IHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg6ICIyIgogICAgICAgICAgUmVuZGVySW5saW5lIChn
ZW5lcmF0ZWQpIGF0ICgwLDApIHNpemUgNTJ4MTgKICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAo
OCwwKSBzaXplIDUyeDE4CiAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMCkgd2lkdGggNTI6
ICIoaHJlZj0yKSIKICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDEyMCkgc2l6ZSA3ODR4MTgK
ICAgICAgICBSZW5kZXJJbmxpbmUge0F9IGF0ICgwLDApIHNpemUgNjB4MTggW2NvbG9yPSMwMDAw
RUVdCiAgICAgICAgICBSZW5kZXJUZXh0IHtURVhUfSBhdCAoMCwwKSBzaXplIDh4MTgKICAgICAg
ICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODogIjMiCiAgICAgICAgICBSZW5kZXJJbmxp
bmUgKGdlbmVyYXRlZCkgYXQgKDAsMCkgc2l6ZSA1MngxOAogICAgICAgICAgICBSZW5kZXJUZXh0
IGF0ICg4LDApIHNpemUgNTJ4MTgKICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCwwKSB3aWR0
aCA1MjogIihocmVmPTMpIgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2263</attachid>
            <date>2005-06-12 04:06:34 -0700</date>
            <delta_ts>2005-06-18 17:01:34 -0700</delta_ts>
            <desc>Don&apos;t share style for ::after and ::before</desc>
            <filename>dontsharepseudo.patch.txt</filename>
            <type>text/plain</type>
            <size>856</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">SW5kZXg6IC4va2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9vYmplY3QuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KUkNT
IGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJfb2JqZWN0LmNw
cCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS4xOTQKZGlmZiAtcCAtdSAtcjEuMTk0IC4va2h0bWwv
cmVuZGVyaW5nL3JlbmRlcl9vYmplY3QuY3BwCi0tLSAuL2todG1sL3JlbmRlcmluZy9yZW5kZXJf
b2JqZWN0LmNwcAkyMDA1LzA1LzExIDAyOjEwOjEwCTEuMTk0CisrKyAuL2todG1sL3JlbmRlcmlu
Zy9yZW5kZXJfb2JqZWN0LmNwcAkyMDA1LzA2LzEyIDEwOjQ4OjIxCkBAIC0yMTM5LDggKzIxMzks
MTEgQEAgUmVuZGVyU3R5bGUqIFJlbmRlck9iamVjdDo6Z2V0UHNldWRvU3R5bAogICAgIGlmICgh
cGFyZW50U3R5bGUpCiAgICAgICAgIHBhcmVudFN0eWxlID0gc3R5bGUoKTsKIAotICAgIFJlbmRl
clN0eWxlKiByZXN1bHQgPSBzdHlsZSgpLT5nZXRQc2V1ZG9TdHlsZShwc2V1ZG8pOwotICAgIGlm
IChyZXN1bHQpIHJldHVybiByZXN1bHQ7CisgICAgUmVuZGVyU3R5bGUqIHJlc3VsdDsKKyAgICBp
ZiAoKHBzZXVkbyAhPSBSZW5kZXJTdHlsZTo6QkVGT1JFKSAmJiAocHNldWRvICE9IFJlbmRlclN0
eWxlOjpBRlRFUikpIHsKKyAgICAgICAgcmVzdWx0ID0gc3R5bGUoKS0+Z2V0UHNldWRvU3R5bGUo
cHNldWRvKTsKKyAgICAgICAgaWYgKHJlc3VsdCkgcmV0dXJuIHJlc3VsdDsKKyAgICB9CiAgICAg
CiAgICAgRE9NOjpOb2RlSW1wbCogbm9kZSA9IGVsZW1lbnQoKTsKICAgICBpZiAoaXNUZXh0KCkp
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>2459</attachid>
            <date>2005-06-18 07:48:05 -0700</date>
            <delta_ts>2006-05-25 06:41:32 -0700</delta_ts>
            <desc>Add an unshareable bit to RenderStyle</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>4264</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">SW5kZXg6IC4vV2ViQ29yZS9raHRtbC9jc3MvY3Nzc3R5bGVzZWxlY3Rvci5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUva2h0bWwvY3NzL2Nzc3N0eWxlc2VsZWN0b3Iu
Y3BwLHYKcmV0cmlldmluZyByZXZpc2lvbiAxLjE4NwpkaWZmIC1wIC11IC1yMS4xODcgLi9XZWJD
b3JlL2todG1sL2Nzcy9jc3NzdHlsZXNlbGVjdG9yLmNwcAotLS0gLi9XZWJDb3JlL2todG1sL2Nz
cy9jc3NzdHlsZXNlbGVjdG9yLmNwcAkyMDA1LzA2LzEyIDA0OjA3OjMwCTEuMTg3CisrKyAuL1dl
YkNvcmUva2h0bWwvY3NzL2Nzc3N0eWxlc2VsZWN0b3IuY3BwCTIwMDUvMDYvMTggMTQ6NDA6NTQK
QEAgLTYwOSw3ICs2MDksOCBAQCBib29sIENTU1N0eWxlU2VsZWN0b3I6OmNhblNoYXJlU3R5bGVX
aXRoCiAgICAgaWYgKG4tPmlzU3R5bGVkRWxlbWVudCgpKSB7CiAgICAgICAgIGJvb2wgbW91c2VJ
bnNpZGUgPSBlbGVtZW50LT5yZW5kZXJlcigpID8gZWxlbWVudC0+cmVuZGVyZXIoKS0+bW91c2VJ
bnNpZGUoKSA6IGZhbHNlOwogICAgICAgICBTdHlsZWRFbGVtZW50SW1wbCogcyA9IHN0YXRpY19j
YXN0PFN0eWxlZEVsZW1lbnRJbXBsKj4obik7Ci0gICAgICAgIGlmIChzLT5yZW5kZXJlcigpICYm
IChzLT5pZCgpID09IGVsZW1lbnQtPmlkKCkpICYmICFzLT5oYXNJRCgpICYmCisgICAgICAgIGlm
IChzLT5yZW5kZXJlcigpICYmICFzLT5yZW5kZXJlcigpLT5zdHlsZSgpLT51bnNoYXJlYWJsZSgp
ICYmCisgICAgICAgICAgICAocy0+aWQoKSA9PSBlbGVtZW50LT5pZCgpKSAmJiAhcy0+aGFzSUQo
KSAmJgogICAgICAgICAgICAgKHMtPmhhc0NsYXNzKCkgPT0gZWxlbWVudC0+aGFzQ2xhc3MoKSkg
JiYgIXMtPmlubGluZVN0eWxlRGVjbCgpICYmCiAgICAgICAgICAgICAocy0+aGFzTWFwcGVkQXR0
cmlidXRlcygpID09IHN0eWxlZEVsZW1lbnQtPmhhc01hcHBlZEF0dHJpYnV0ZXMoKSkgJiYKICAg
ICAgICAgICAgIChzLT5pc0xpbmsoKSA9PSBlbGVtZW50LT5pc0xpbmsoKSkgJiYgCkBAIC0zMDYx
LDYgKzMwNjIsNyBAQCB2b2lkIENTU1N0eWxlU2VsZWN0b3I6OmFwcGx5UHJvcGVydHkoIGluCiAg
ICAgICAgICAgICAgICAgLy8gRklYTUU6IFNob3VsZCB3b3JrIHdpdGggZ2VuZXJpYyBYTUwgYXR0
cmlidXRlcyBhbHNvLCBhbmQgbm90CiAgICAgICAgICAgICAgICAgLy8ganVzdCB0aGUgaGFyZGNv
ZGVkIEhUTUwgc2V0LiAgQ2FuIGEgbmFtZXNwYWNlIGJlIHNwZWNpZmllZCBmb3IKICAgICAgICAg
ICAgICAgICAvLyBhbiBhdHRyKGZvbyk/CisgICAgICAgICAgICAgICAgcGFyZW50U3R5bGUtPnNl
dFVuc2hhcmVhYmxlKCk7CiAgICAgICAgICAgICAgICAgaW50IGF0dHJJRCA9IGVsZW1lbnQtPmdl
dERvY3VtZW50KCktPmF0dHJJZCgwLCB2YWwtPmdldFN0cmluZ1ZhbHVlKCkuaW1wbGVtZW50YXRp
b24oKSwgZmFsc2UpOwogICAgICAgICAgICAgICAgIGlmIChhdHRySUQpCiAgICAgICAgICAgICAg
ICAgICAgIHN0eWxlLT5zZXRDb250ZW50KGVsZW1lbnQtPmdldEF0dHJpYnV0ZShhdHRySUQpLmlt
cGxlbWVudGF0aW9uKCksIGkgIT0gMCk7CkluZGV4OiAuL1dlYkNvcmUva2h0bWwvcmVuZGVyaW5n
L3JlbmRlcl9zdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQpSQ1MgZmlsZTogL2N2cy9yb290L1dlYkNvcmUv
a2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5jcHAsdgpyZXRyaWV2aW5nIHJldmlzaW9uIDEu
NjYKZGlmZiAtcCAtdSAtcjEuNjYgLi9XZWJDb3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJfc3R5
bGUuY3BwCi0tLSAuL1dlYkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5jcHAJMjAw
NS8wNi8xMSAwMTo1ODowMgkxLjY2CisrKyAuL1dlYkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRl
cl9zdHlsZS5jcHAJMjAwNS8wNi8xOCAxNDo0MTowNApAQCAtNDkwLDcgKzQ5MCw3IEBAIHZvaWQg
UmVuZGVyU3R5bGU6OmFyZW5hRGVsZXRlKFJlbmRlckFyZW4KIH0KIAogUmVuZGVyU3R5bGU6OlJl
bmRlclN0eWxlKCkKLTptX3BzZXVkb1N0YXRlKFBzZXVkb1Vua25vd24pLCBtX2FmZmVjdGVkQnlB
dHRyaWJ1dGVTZWxlY3RvcnMoZmFsc2UpCis6bV9wc2V1ZG9TdGF0ZShQc2V1ZG9Vbmtub3duKSwg
bV9hZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzKGZhbHNlKSwgbV91bnNoYXJlYWJsZShmYWxz
ZSkKIHsKICAgICBtX3JlZiA9IDA7CiAgICAgCkBAIC01MTMsNyArNTEzLDcgQEAgUmVuZGVyU3R5
bGU6OlJlbmRlclN0eWxlKCkKIH0KIAogUmVuZGVyU3R5bGU6OlJlbmRlclN0eWxlKGJvb2wpCi06
bV9wc2V1ZG9TdGF0ZShQc2V1ZG9Vbmtub3duKSwgbV9hZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0
b3JzKGZhbHNlKQorOm1fcHNldWRvU3RhdGUoUHNldWRvVW5rbm93biksIG1fYWZmZWN0ZWRCeUF0
dHJpYnV0ZVNlbGVjdG9ycyhmYWxzZSksIG1fdW5zaGFyZWFibGUoZmFsc2UpCiB7CiAgICAgc2V0
Qml0RGVmYXVsdHMoKTsKIApAQCAtNTM3LDcgKzUzNyw3IEBAIFJlbmRlclN0eWxlOjpSZW5kZXJT
dHlsZShjb25zdCBSZW5kZXJTdHkKICAgICAgIGJveCggby5ib3ggKSwgdmlzdWFsKCBvLnZpc3Vh
bCApLCBiYWNrZ3JvdW5kKCBvLmJhY2tncm91bmQgKSwgc3Vycm91bmQoIG8uc3Vycm91bmQgKSwK
ICAgICAgIGNzczNOb25Jbmhlcml0ZWREYXRhKCBvLmNzczNOb25Jbmhlcml0ZWREYXRhICksIGNz
czNJbmhlcml0ZWREYXRhKCBvLmNzczNJbmhlcml0ZWREYXRhICksCiAgICAgICBpbmhlcml0ZWQo
IG8uaW5oZXJpdGVkICksIHBzZXVkb1N0eWxlKCAwICksIGNvbnRlbnQoIG8uY29udGVudCApLCBt
X3BzZXVkb1N0YXRlKG8ubV9wc2V1ZG9TdGF0ZSksCi0gICAgICBtX2FmZmVjdGVkQnlBdHRyaWJ1
dGVTZWxlY3RvcnMoZmFsc2UpCisgICAgICBtX2FmZmVjdGVkQnlBdHRyaWJ1dGVTZWxlY3RvcnMo
ZmFsc2UpLCBtX3Vuc2hhcmVhYmxlKG8ubV91bnNoYXJlYWJsZSkKIHsKICAgICBtX3JlZiA9IDA7
CiB9CkluZGV4OiAuL1dlYkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KUkNTIGZpbGU6IC9jdnMvcm9vdC9XZWJDb3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJf
c3R5bGUuaCx2CnJldHJpZXZpbmcgcmV2aXNpb24gMS44MgpkaWZmIC1wIC11IC1yMS44MiAuL1dl
YkNvcmUva2h0bWwvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5oCi0tLSAuL1dlYkNvcmUva2h0bWwv
cmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5oCTIwMDUvMDUvMTIgMTc6MTE6MjIJMS44MgorKysgLi9X
ZWJDb3JlL2todG1sL3JlbmRlcmluZy9yZW5kZXJfc3R5bGUuaAkyMDA1LzA2LzE4IDE0OjQxOjA1
CkBAIC0xMDAyLDcgKzEwMDIsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICBQc2V1ZG9TdGF0ZSBtX3Bz
ZXVkb1N0YXRlIDogMzsKICAgICBib29sIG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9ycyA6
IDE7Ci0gICAgCisgICAgYm9vbCBtX3Vuc2hhcmVhYmxlIDoxOwogICAgIGludCBtX3JlZjsKICAg
ICAKIC8vICFFTkQgU1lOQyEKQEAgLTE1MDgsNyArMTUwOCwxMCBAQCBwdWJsaWM6CiAgICAgLy8g
VG8gdGVsbCBpZiB0aGlzIHN0eWxlIG1hdGNoZWQgYXR0cmlidXRlIHNlbGVjdG9ycy4gVGhpcyBt
YWtlcyBpdCBpbXBvc3NpYmxlIHRvIHNoYXJlLgogICAgIGJvb2wgYWZmZWN0ZWRCeUF0dHJpYnV0
ZVNlbGVjdG9ycygpIGNvbnN0IHsgcmV0dXJuIG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9y
czsgfQogICAgIHZvaWQgc2V0QWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9ycygpIHsgbV9hZmZl
Y3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzID0gdHJ1ZTsgfQotCisJCisJYm9vbCB1bnNoYXJlYWJs
ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5zaGFyZWFibGU7IH0KKwl2b2lkIHNldFVuc2hhcmVhYmxl
KCkgeyBtX3Vuc2hhcmVhYmxlID0gdHJ1ZTsgfQorCQogICAgIC8vIEluaXRpYWwgdmFsdWVzIGZv
ciBhbGwgdGhlIHByb3BlcnRpZXMKICAgICBzdGF0aWMgYm9vbCBpbml0aWFsQmFja2dyb3VuZEF0
dGFjaG1lbnQoKSB7IHJldHVybiB0cnVlOyB9CiAgICAgc3RhdGljIEVCYWNrZ3JvdW5kUmVwZWF0
IGluaXRpYWxCYWNrZ3JvdW5kUmVwZWF0KCkgeyByZXR1cm4gUkVQRUFUOyB9Cg==
</data>
<flag name="review"
          id="44"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8538</attachid>
            <date>2006-05-25 06:41:32 -0700</date>
            <delta_ts>2006-05-26 03:27:46 -0700</delta_ts>
            <desc>Add a &quot;unique&quot; bit to RenderStyle</desc>
            <filename>patch3379.txt</filename>
            <type>text/plain</type>
            <size>6204</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50LzAxNi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRl
bnQvMDE2LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3Nz
LWdlbmVyYXRlZC1jb250ZW50LzAxNi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMzAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJDYW52YXMgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgxNzAKKyAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDE3MAorICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDE2KSBzaXplIDc4NHgxMzgKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBz
aXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NTh4
MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NTg6ICJFYWNoIGxpbmsgYmVs
b3cgc2hvdWxkIGRpc3BsYXkgdGhlIHRleHQgXCJuKGhyZWY9bilcIiB3aGVyZSBuIGlzIGEgbnVt
YmVyIgorICAgICAgUmVuZGVyQmxvY2sge0hSfSBhdCAoMCwzNCkgc2l6ZSA3ODR4MiBbYm9yZGVy
OiAoMXB4IGluc2V0ICMwMDAwMDApXQorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDUyKSBz
aXplIDc4NHgxOAorICAgICAgICBSZW5kZXJJbmxpbmUge0F9IGF0ICgwLDApIHNpemUgNjB4MTgg
W2NvbG9yPSMwMDAwRUVdCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNp
emUgOHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODogIjEiCisgICAg
ICAgICAgUmVuZGVySW5saW5lIChnZW5lcmF0ZWQpIGF0ICgwLDApIHNpemUgNTJ4MTgKKyAgICAg
ICAgICAgIFJlbmRlclRleHQgYXQgKDgsMCkgc2l6ZSA1MngxOAorICAgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoOCwwKSB3aWR0aCA1MjogIihocmVmPTEpIgorICAgICAgUmVuZGVyQmxvY2sge1B9
IGF0ICgwLDg2KSBzaXplIDc4NHgxOAorICAgICAgICBSZW5kZXJJbmxpbmUge0F9IGF0ICgwLDAp
IHNpemUgNjB4MTggW2NvbG9yPSMwMDAwRUVdCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9
IGF0ICgwLDApIHNpemUgOHgxOAorICAgICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGgg
ODogIjIiCisgICAgICAgICAgUmVuZGVySW5saW5lIChnZW5lcmF0ZWQpIGF0ICgwLDApIHNpemUg
NTJ4MTgKKyAgICAgICAgICAgIFJlbmRlclRleHQgYXQgKDgsMCkgc2l6ZSA1MngxOAorICAgICAg
ICAgICAgICB0ZXh0IHJ1biBhdCAoOCwwKSB3aWR0aCA1MjogIihocmVmPTIpIgorICAgICAgUmVu
ZGVyQmxvY2sge1B9IGF0ICgwLDEyMCkgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVySW5saW5l
IHtBfSBhdCAoMCwwKSBzaXplIDYweDE4IFtjb2xvcj0jMDAwMEVFXQorICAgICAgICAgIFJlbmRl
clRleHQgeyN0ZXh0fSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0
ICgwLDApIHdpZHRoIDg6ICIzIgorICAgICAgICAgIFJlbmRlcklubGluZSAoZ2VuZXJhdGVkKSBh
dCAoMCwwKSBzaXplIDUyeDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICg4LDApIHNpemUg
NTJ4MTgKKyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMCkgd2lkdGggNTI6ICIoaHJlZj0z
KSIKSW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50LzAxNi5odG1s
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIExheW91dFRlc3RzL2Zhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50LzAx
Ni5odG1sCShyZXZpc2lvbiAwKQorKysgTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ2VuZXJhdGVkLWNv
bnRlbnQvMDE2Lmh0bWwJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMjEgQEAKKzw/eG1sIHZlcnNp
b249IjEuMCIgZW5jb2Rpbmc9InV0Zi04Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1cz
Qy8vRFREIFhIVE1MIDEuMCBTdHJpY3QvL0VOIgorICAgICAgICAiaHR0cDovL3d3dy53My5vcmcv
VFIveGh0bWwxL0RURC94aHRtbDEtc3RyaWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3
dy53My5vcmcvMTk5OS94aHRtbCIgeG1sOmxhbmc9ImZyIiBsYW5nPSJmciI+Cis8aGVhZD4KKwk8
bWV0YSBodHRwLWVxdWl2PSJjb250ZW50LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNl
dD11dGYtOCIgLz4KKwk8dGl0bGU+VGVzdCBjb250ZW50IHdpdGggYXR0cjwvdGl0bGU+CisJPHN0
eWxlIHR5cGU9InRleHQvY3NzIj4KKwkJYTphZnRlciB7CisJCQljb250ZW50OiAnKGhyZWY9JyBh
dHRyKGhyZWYpICcpJzsKKwkJfQorCTwvc3R5bGU+Cis8L2hlYWQ+Cis8Ym9keT4KKzxwPkVhY2gg
bGluayBiZWxvdyBzaG91bGQgZGlzcGxheSB0aGUgdGV4dCAibihocmVmPW4pIiB3aGVyZSBuIGlz
IGEgbnVtYmVyPC9wPgorPGhyLz4KKzxwPjxhIGhyZWY9IjEiPjE8L2E+PC9wPgorPHA+PGEgaHJl
Zj0iMiI+MjwvYT48L3A+Cis8cD48YSBocmVmPSIzIj4zPC9hPjwvcD4KKzwvYm9keT4KKzwvaHRt
bD4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5oCShyZXZpc2lvbiAxNDU4NCkKKysrIFdl
YkNvcmUvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDI4LDcg
KzEwMjgsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB1bnNpZ25lZCBtX3BzZXVkb1N0YXRlIDogMzsg
Ly8gUHNldWRvU3RhdGUKICAgICBib29sIG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9ycyA6
IDE7Ci0gICAgCisgICAgYm9vbCBtX3VuaXF1ZSA6IDE7CiAgICAgaW50IG1fcmVmOwogICAgIAog
I2lmIFNWR19TVVBQT1JUCkBAIC0xNTk1LDYgKzE1OTUsOSBAQCBwdWJsaWM6CiAgICAgYm9vbCBh
ZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzKCkgY29uc3QgeyByZXR1cm4gbV9hZmZlY3RlZEJ5
QXR0cmlidXRlU2VsZWN0b3JzOyB9CiAgICAgdm9pZCBzZXRBZmZlY3RlZEJ5QXR0cmlidXRlU2Vs
ZWN0b3JzKCkgeyBtX2FmZmVjdGVkQnlBdHRyaWJ1dGVTZWxlY3RvcnMgPSB0cnVlOyB9CiAKKyAg
ICBib29sIHVuaXF1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5pcXVlOyB9CisgICAgdm9pZCBzZXRV
bmlxdWUoKSB7IG1fdW5pcXVlID0gdHJ1ZTsgfQorCiAgICAgLy8gSW5pdGlhbCB2YWx1ZXMgZm9y
IGFsbCB0aGUgcHJvcGVydGllcwogICAgIHN0YXRpYyBib29sIGluaXRpYWxCYWNrZ3JvdW5kQXR0
YWNobWVudCgpIHsgcmV0dXJuIHRydWU7IH0KICAgICBzdGF0aWMgRUJhY2tncm91bmRCb3ggaW5p
dGlhbEJhY2tncm91bmRDbGlwKCkgeyByZXR1cm4gQkdCT1JERVI7IH0KSW5kZXg6IFdlYkNvcmUv
cmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5kZXJp
bmcvcmVuZGVyX3N0eWxlLmNwcAkocmV2aXNpb24gMTQ1ODQpCisrKyBXZWJDb3JlL3JlbmRlcmlu
Zy9yZW5kZXJfc3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDIsNiArNTQyLDcgQEAgUmVu
ZGVyU3R5bGU6OlJlbmRlclN0eWxlKCkKICAgICAsIGNvbnRlbnQoMCkKICAgICAsIG1fcHNldWRv
U3RhdGUoUHNldWRvVW5rbm93bikKICAgICAsIG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9y
cyhmYWxzZSkKKyAgICAsIG1fdW5pcXVlKGZhbHNlKQogICAgICwgbV9yZWYoMCkKICNpZiBTVkdf
U1VQUE9SVAogICAgICwgbV9zdmdTdHlsZShkZWZhdWx0U3R5bGUtPm1fc3ZnU3R5bGUpCkBAIC01
NTIsNyArNTUzLDcgQEAgUmVuZGVyU3R5bGU6OlJlbmRlclN0eWxlKCkKIH0KIAogUmVuZGVyU3R5
bGU6OlJlbmRlclN0eWxlKGJvb2wpCi06bV9wc2V1ZG9TdGF0ZShQc2V1ZG9Vbmtub3duKSwgbV9h
ZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzKGZhbHNlKQorOm1fcHNldWRvU3RhdGUoUHNldWRv
VW5rbm93biksIG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9ycyhmYWxzZSksIG1fdW5pcXVl
KGZhbHNlKQogewogICAgIHNldEJpdERlZmF1bHRzKCk7CiAKQEAgLTU4MCw3ICs1ODEsNyBAQCBS
ZW5kZXJTdHlsZTo6UmVuZGVyU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICBib3goIG8uYm94
ICksIHZpc3VhbCggby52aXN1YWwgKSwgYmFja2dyb3VuZCggby5iYWNrZ3JvdW5kICksIHN1cnJv
dW5kKCBvLnN1cnJvdW5kICksCiAgICAgICBjc3MzTm9uSW5oZXJpdGVkRGF0YSggby5jc3MzTm9u
SW5oZXJpdGVkRGF0YSApLCBjc3MzSW5oZXJpdGVkRGF0YSggby5jc3MzSW5oZXJpdGVkRGF0YSAp
LAogICAgICAgaW5oZXJpdGVkKCBvLmluaGVyaXRlZCApLCBwc2V1ZG9TdHlsZSggMCApLCBjb250
ZW50KCBvLmNvbnRlbnQgKSwgbV9wc2V1ZG9TdGF0ZShvLm1fcHNldWRvU3RhdGUpLAotICAgICAg
bV9hZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzKGZhbHNlKQorICAgICAgbV9hZmZlY3RlZEJ5
QXR0cmlidXRlU2VsZWN0b3JzKGZhbHNlKSwgbV91bmlxdWUoZmFsc2UpCiB7CiAjaWYgU1ZHX1NV
UFBPUlQKICAgICBtX3N2Z1N0eWxlID0gby5tX3N2Z1N0eWxlOwpJbmRleDogV2ViQ29yZS9jc3Mv
Y3Nzc3R5bGVzZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvY3Nzc3R5bGVz
ZWxlY3Rvci5jcHAJKHJldmlzaW9uIDE0NTg0KQorKysgV2ViQ29yZS9jc3MvY3Nzc3R5bGVzZWxl
Y3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyNiw3ICs2MjYsOCBAQCBib29sIENTU1N0eWxl
U2VsZWN0b3I6OmNhblNoYXJlU3R5bGVXaXRoCiB7CiAgICAgaWYgKG4tPmlzU3R5bGVkRWxlbWVu
dCgpKSB7CiAgICAgICAgIFN0eWxlZEVsZW1lbnQqIHMgPSBzdGF0aWNfY2FzdDxTdHlsZWRFbGVt
ZW50Kj4obik7Ci0gICAgICAgIGlmIChzLT5yZW5kZXJlcigpICYmIChzLT50YWdRTmFtZSgpID09
IGVsZW1lbnQtPnRhZ1FOYW1lKCkpICYmICFzLT5oYXNJRCgpICYmCisgICAgICAgIGlmIChzLT5y
ZW5kZXJlcigpICYmICFzLT5yZW5kZXJlcigpLT5zdHlsZSgpLT51bmlxdWUoKSAmJgorICAgICAg
ICAgICAgKHMtPnRhZ1FOYW1lKCkgPT0gZWxlbWVudC0+dGFnUU5hbWUoKSkgJiYgIXMtPmhhc0lE
KCkgJiYKICAgICAgICAgICAgIChzLT5oYXNDbGFzcygpID09IGVsZW1lbnQtPmhhc0NsYXNzKCkp
ICYmICFzLT5pbmxpbmVTdHlsZURlY2woKSAmJgogICAgICAgICAgICAgKHMtPmhhc01hcHBlZEF0
dHJpYnV0ZXMoKSA9PSBzdHlsZWRFbGVtZW50LT5oYXNNYXBwZWRBdHRyaWJ1dGVzKCkpICYmCiAg
ICAgICAgICAgICAocy0+aXNMaW5rKCkgPT0gZWxlbWVudC0+aXNMaW5rKCkpICYmIApAQCAtMjk1
Nyw2ICsyOTU4LDcgQEAgdm9pZCBDU1NTdHlsZVNlbGVjdG9yOjphcHBseVByb3BlcnR5KGludAog
ICAgICAgICAgICAgICAgIHN0eWxlLT5zZXRDb250ZW50KHZhbC0+Z2V0U3RyaW5nVmFsdWUoKS5p
bXBsKCksIGkgIT0gMCk7CiAgICAgICAgICAgICBlbHNlIGlmICh2YWwtPnByaW1pdGl2ZVR5cGUo
KT09Q1NTUHJpbWl0aXZlVmFsdWU6OkNTU19BVFRSKSB7CiAgICAgICAgICAgICAgICAgLy8gRklY
TUU6IENhbiBhIG5hbWVzcGFjZSBiZSBzcGVjaWZpZWQgZm9yIGFuIGF0dHIoZm9vKT8KKyAgICAg
ICAgICAgICAgICBwYXJlbnRTdHlsZS0+c2V0VW5pcXVlKCk7CiAgICAgICAgICAgICAgICAgUXVh
bGlmaWVkTmFtZSBhdHRyKG51bGxBdG9tLCB2YWwtPmdldFN0cmluZ1ZhbHVlKCkuaW1wbCgpLCBu
dWxsQXRvbSk7CiAgICAgICAgICAgICAgICAgc3R5bGUtPnNldENvbnRlbnQoZWxlbWVudC0+Z2V0
QXR0cmlidXRlKGF0dHIpLmltcGwoKSwgaSAhPSAwKTsKICAgICAgICAgICAgIH0K
</data>
<flag name="review"
          id="2437"
          type_id="1"
          status="-"
          setter="hyatt"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>8550</attachid>
            <date>2006-05-26 03:27:46 -0700</date>
            <delta_ts>2006-05-26 11:30:43 -0700</delta_ts>
            <desc>addressed comments</desc>
            <filename>patch3379.txt</filename>
            <type>text/plain</type>
            <size>7429</size>
            <attacher name="Rémi Zara">remi_zara</attacher>
            
              <data encoding="base64">SW5kZXg6IExheW91dFRlc3RzL2Zhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50LzAxNi1leHBlY3Rl
ZC50eHQKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gTGF5b3V0VGVzdHMvZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRl
bnQvMDE2LWV4cGVjdGVkLnR4dAkocmV2aXNpb24gMCkKKysrIExheW91dFRlc3RzL2Zhc3QvY3Nz
LWdlbmVyYXRlZC1jb250ZW50LzAxNi1leHBlY3RlZC50eHQJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsNDAgQEAKK2xheWVyIGF0ICgwLDApIHNpemUgODAweDYwMAorICBSZW5kZXJDYW52YXMgYXQg
KDAsMCkgc2l6ZSA4MDB4NjAwCitsYXllciBhdCAoMCwwKSBzaXplIDgwMHgyMzgKKyAgUmVuZGVy
QmxvY2sge0hUTUx9IGF0ICgwLDApIHNpemUgODAweDIzOAorICAgIFJlbmRlckJvZHkge0JPRFl9
IGF0ICg4LDE2KSBzaXplIDc4NHgyMDYKKyAgICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwwKSBz
aXplIDc4NHgxOAorICAgICAgICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA0NTh4
MTgKKyAgICAgICAgICB0ZXh0IHJ1biBhdCAoMCwwKSB3aWR0aCA0NTg6ICJFYWNoIGxpbmsgYmVs
b3cgc2hvdWxkIGRpc3BsYXkgdGhlIHRleHQgXCJuKGhyZWY9bilcIiB3aGVyZSBuIGlzIGEgbnVt
YmVyIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDM0KSBzaXplIDc4NHgxOAorICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSAzMjN4MTgKKyAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCAzMjM6ICJUaGUgaHJlZiBhdHRyaWJ1dGUgb2YgdGhlIGxhc3Qg
b25lIGlzIGNoYW5nZWQgb25sb2FkLiIKKyAgICAgIFJlbmRlckJsb2NrIHtIUn0gYXQgKDAsNjgp
IHNpemUgNzg0eDIgW2JvcmRlcjogKDFweCBpbnNldCAjMDAwMDAwKV0KKyAgICAgIFJlbmRlckJs
b2NrIHtQfSBhdCAoMCw4Nikgc2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVySW5saW5lIHtBfSBh
dCAoMCwwKSBzaXplIDYweDE4IFtjb2xvcj0jMDAwMEVFXQorICAgICAgICAgIFJlbmRlclRleHQg
eyN0ZXh0fSBhdCAoMCwwKSBzaXplIDh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDAp
IHdpZHRoIDg6ICIxIgorICAgICAgICAgIFJlbmRlcklubGluZSAoZ2VuZXJhdGVkKSBhdCAoMCww
KSBzaXplIDUyeDE4CisgICAgICAgICAgICBSZW5kZXJUZXh0IGF0ICg4LDApIHNpemUgNTJ4MTgK
KyAgICAgICAgICAgICAgdGV4dCBydW4gYXQgKDgsMCkgd2lkdGggNTI6ICIoaHJlZj0xKSIKKyAg
ICAgIFJlbmRlckJsb2NrIHtQfSBhdCAoMCwxMjApIHNpemUgNzg0eDE4CisgICAgICAgIFJlbmRl
cklubGluZSB7QX0gYXQgKDAsMCkgc2l6ZSA2MHgxOCBbY29sb3I9IzAwMDBFRV0KKyAgICAgICAg
ICBSZW5kZXJUZXh0IHsjdGV4dH0gYXQgKDAsMCkgc2l6ZSA4eDE4CisgICAgICAgICAgICB0ZXh0
IHJ1biBhdCAoMCwwKSB3aWR0aCA4OiAiMiIKKyAgICAgICAgICBSZW5kZXJJbmxpbmUgKGdlbmVy
YXRlZCkgYXQgKDAsMCkgc2l6ZSA1MngxOAorICAgICAgICAgICAgUmVuZGVyVGV4dCBhdCAoOCww
KSBzaXplIDUyeDE4CisgICAgICAgICAgICAgIHRleHQgcnVuIGF0ICg4LDApIHdpZHRoIDUyOiAi
KGhyZWY9MikiCisgICAgICBSZW5kZXJCbG9jayB7UH0gYXQgKDAsMTU0KSBzaXplIDc4NHgxOAor
ICAgICAgICBSZW5kZXJJbmxpbmUge0F9IGF0ICgwLDApIHNpemUgNjB4MTggW2NvbG9yPSMwMDAw
RUVdCisgICAgICAgICAgUmVuZGVyVGV4dCB7I3RleHR9IGF0ICgwLDApIHNpemUgOHgxOAorICAg
ICAgICAgICAgdGV4dCBydW4gYXQgKDAsMCkgd2lkdGggODogIjMiCisgICAgICAgICAgUmVuZGVy
SW5saW5lIChnZW5lcmF0ZWQpIGF0ICgwLDApIHNpemUgNTJ4MTgKKyAgICAgICAgICAgIFJlbmRl
clRleHQgYXQgKDgsMCkgc2l6ZSA1MngxOAorICAgICAgICAgICAgICB0ZXh0IHJ1biBhdCAoOCww
KSB3aWR0aCA1MjogIihocmVmPTMpIgorICAgICAgUmVuZGVyQmxvY2sge1B9IGF0ICgwLDE4OCkg
c2l6ZSA3ODR4MTgKKyAgICAgICAgUmVuZGVySW5saW5lIHtBfSBhdCAoMCwwKSBzaXplIDYweDE4
IFtjb2xvcj0jMDAwMEVFXQorICAgICAgICAgIFJlbmRlclRleHQgeyN0ZXh0fSBhdCAoMCwwKSBz
aXplIDh4MTgKKyAgICAgICAgICAgIHRleHQgcnVuIGF0ICgwLDApIHdpZHRoIDg6ICI0IgorICAg
ICAgICAgIFJlbmRlcklubGluZSAoZ2VuZXJhdGVkKSBhdCAoMCwwKSBzaXplIDUyeDE4CisgICAg
ICAgICAgICBSZW5kZXJUZXh0IGF0ICg4LDApIHNpemUgNTJ4MTgKKyAgICAgICAgICAgICAgdGV4
dCBydW4gYXQgKDgsMCkgd2lkdGggNTI6ICIoaHJlZj00KSIKSW5kZXg6IExheW91dFRlc3RzL2Zh
c3QvY3NzLWdlbmVyYXRlZC1jb250ZW50LzAxNi5odG1sCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIExheW91dFRl
c3RzL2Zhc3QvY3NzLWdlbmVyYXRlZC1jb250ZW50LzAxNi5odG1sCShyZXZpc2lvbiAwKQorKysg
TGF5b3V0VGVzdHMvZmFzdC9jc3MtZ2VuZXJhdGVkLWNvbnRlbnQvMDE2Lmh0bWwJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjggQEAKKzw/eG1sIHZlcnNpb249IjEuMCIgZW5jb2Rpbmc9InV0Zi04
Ij8+Cis8IURPQ1RZUEUgaHRtbCBQVUJMSUMgIi0vL1czQy8vRFREIFhIVE1MIDEuMCBTdHJpY3Qv
L0VOIgorICAgICAgICAiaHR0cDovL3d3dy53My5vcmcvVFIveGh0bWwxL0RURC94aHRtbDEtc3Ry
aWN0LmR0ZCI+Cis8aHRtbCB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94aHRtbCIgeG1s
Omxhbmc9ImZyIiBsYW5nPSJmciI+Cis8aGVhZD4KKwk8bWV0YSBodHRwLWVxdWl2PSJjb250ZW50
LXR5cGUiIGNvbnRlbnQ9InRleHQvaHRtbDsgY2hhcnNldD11dGYtOCIgLz4KKwk8dGl0bGU+VGVz
dCBjb250ZW50IHdpdGggYXR0cjwvdGl0bGU+CisJPHN0eWxlIHR5cGU9InRleHQvY3NzIj4KKwkJ
YTphZnRlciB7CisJCQljb250ZW50OiAnKGhyZWY9JyBhdHRyKGhyZWYpICcpJzsKKwkJfQorCTwv
c3R5bGU+CisJPHNjcmlwdCB0eXBlPSJ0ZXh0L2phdmFzY3JpcHQiPgorCQlmdW5jdGlvbiBjaGFu
Z2VIcmVmKCkgeworCQkJZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRvQ2hhbmdlIikuaHJlZiA9
ICI0IjsKKwkJfQorCTwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHkgb25sb2FkPSJjaGFuZ2VIcmVm
KCk7Ij4KKzxwPkVhY2ggbGluayBiZWxvdyBzaG91bGQgZGlzcGxheSB0aGUgdGV4dCAibihocmVm
PW4pIiB3aGVyZSBuIGlzIGEgbnVtYmVyPC9wPgorPHA+VGhlIGhyZWYgYXR0cmlidXRlIG9mIHRo
ZSBsYXN0IG9uZSBpcyBjaGFuZ2VkIG9ubG9hZC48L3A+Cis8aHIvPgorPHA+PGEgaHJlZj0iMSI+
MTwvYT48L3A+Cis8cD48YSBocmVmPSIyIj4yPC9hPjwvcD4KKzxwPjxhIGhyZWY9IjMiPjM8L2E+
PC9wPgorPHA+PGEgaWQ9InRvQ2hhbmdlIiBocmVmPSIzIj40PC9hPjwvcD4KKzwvYm9keT4KKzwv
aHRtbD4KSW5kZXg6IFdlYkNvcmUvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYkNvcmUvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5oCShyZXZpc2lvbiAxNDYwNikKKysr
IFdlYkNvcmUvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMDI4
LDcgKzEwMjgsNyBAQCBwcm90ZWN0ZWQ6CiAKICAgICB1bnNpZ25lZCBtX3BzZXVkb1N0YXRlIDog
MzsgLy8gUHNldWRvU3RhdGUKICAgICBib29sIG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9y
cyA6IDE7Ci0gICAgCisgICAgYm9vbCBtX3VuaXF1ZSA6IDE7CiAgICAgaW50IG1fcmVmOwogICAg
IAogI2lmIFNWR19TVVBQT1JUCkBAIC0xNTk1LDYgKzE1OTUsOSBAQCBwdWJsaWM6CiAgICAgYm9v
bCBhZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzKCkgY29uc3QgeyByZXR1cm4gbV9hZmZlY3Rl
ZEJ5QXR0cmlidXRlU2VsZWN0b3JzOyB9CiAgICAgdm9pZCBzZXRBZmZlY3RlZEJ5QXR0cmlidXRl
U2VsZWN0b3JzKCkgeyBtX2FmZmVjdGVkQnlBdHRyaWJ1dGVTZWxlY3RvcnMgPSB0cnVlOyB9CiAK
KyAgICBib29sIHVuaXF1ZSgpIGNvbnN0IHsgcmV0dXJuIG1fdW5pcXVlOyB9CisgICAgdm9pZCBz
ZXRVbmlxdWUoKSB7IG1fdW5pcXVlID0gdHJ1ZTsgfQorCiAgICAgLy8gSW5pdGlhbCB2YWx1ZXMg
Zm9yIGFsbCB0aGUgcHJvcGVydGllcwogICAgIHN0YXRpYyBib29sIGluaXRpYWxCYWNrZ3JvdW5k
QXR0YWNobWVudCgpIHsgcmV0dXJuIHRydWU7IH0KICAgICBzdGF0aWMgRUJhY2tncm91bmRCb3gg
aW5pdGlhbEJhY2tncm91bmRDbGlwKCkgeyByZXR1cm4gQkdCT1JERVI7IH0KSW5kZXg6IFdlYkNv
cmUvcmVuZGVyaW5nL3JlbmRlcl9zdHlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9yZW5k
ZXJpbmcvcmVuZGVyX3N0eWxlLmNwcAkocmV2aXNpb24gMTQ2MDYpCisrKyBXZWJDb3JlL3JlbmRl
cmluZy9yZW5kZXJfc3R5bGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01NDIsNiArNTQyLDcgQEAg
UmVuZGVyU3R5bGU6OlJlbmRlclN0eWxlKCkKICAgICAsIGNvbnRlbnQoMCkKICAgICAsIG1fcHNl
dWRvU3RhdGUoUHNldWRvVW5rbm93bikKICAgICAsIG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVj
dG9ycyhmYWxzZSkKKyAgICAsIG1fdW5pcXVlKGZhbHNlKQogICAgICwgbV9yZWYoMCkKICNpZiBT
VkdfU1VQUE9SVAogICAgICwgbV9zdmdTdHlsZShkZWZhdWx0U3R5bGUtPm1fc3ZnU3R5bGUpCkBA
IC01NTIsNyArNTUzLDcgQEAgUmVuZGVyU3R5bGU6OlJlbmRlclN0eWxlKCkKIH0KIAogUmVuZGVy
U3R5bGU6OlJlbmRlclN0eWxlKGJvb2wpCi06bV9wc2V1ZG9TdGF0ZShQc2V1ZG9Vbmtub3duKSwg
bV9hZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzKGZhbHNlKQorOm1fcHNldWRvU3RhdGUoUHNl
dWRvVW5rbm93biksIG1fYWZmZWN0ZWRCeUF0dHJpYnV0ZVNlbGVjdG9ycyhmYWxzZSksIG1fdW5p
cXVlKGZhbHNlKQogewogICAgIHNldEJpdERlZmF1bHRzKCk7CiAKQEAgLTU4MCw3ICs1ODEsNyBA
QCBSZW5kZXJTdHlsZTo6UmVuZGVyU3R5bGUoY29uc3QgUmVuZGVyU3R5CiAgICAgICBib3goIG8u
Ym94ICksIHZpc3VhbCggby52aXN1YWwgKSwgYmFja2dyb3VuZCggby5iYWNrZ3JvdW5kICksIHN1
cnJvdW5kKCBvLnN1cnJvdW5kICksCiAgICAgICBjc3MzTm9uSW5oZXJpdGVkRGF0YSggby5jc3Mz
Tm9uSW5oZXJpdGVkRGF0YSApLCBjc3MzSW5oZXJpdGVkRGF0YSggby5jc3MzSW5oZXJpdGVkRGF0
YSApLAogICAgICAgaW5oZXJpdGVkKCBvLmluaGVyaXRlZCApLCBwc2V1ZG9TdHlsZSggMCApLCBj
b250ZW50KCBvLmNvbnRlbnQgKSwgbV9wc2V1ZG9TdGF0ZShvLm1fcHNldWRvU3RhdGUpLAotICAg
ICAgbV9hZmZlY3RlZEJ5QXR0cmlidXRlU2VsZWN0b3JzKGZhbHNlKQorICAgICAgbV9hZmZlY3Rl
ZEJ5QXR0cmlidXRlU2VsZWN0b3JzKGZhbHNlKSwgbV91bmlxdWUoZmFsc2UpCiB7CiAjaWYgU1ZH
X1NVUFBPUlQKICAgICBtX3N2Z1N0eWxlID0gby5tX3N2Z1N0eWxlOwpJbmRleDogV2ViQ29yZS9j
c3MvY3Nzc3R5bGVzZWxlY3Rvci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9jc3MvY3Nzc3R5
bGVzZWxlY3Rvci5jcHAJKHJldmlzaW9uIDE0NjA2KQorKysgV2ViQ29yZS9jc3MvY3Nzc3R5bGVz
ZWxlY3Rvci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTYyNiw3ICs2MjYsOCBAQCBib29sIENTU1N0
eWxlU2VsZWN0b3I6OmNhblNoYXJlU3R5bGVXaXRoCiB7CiAgICAgaWYgKG4tPmlzU3R5bGVkRWxl
bWVudCgpKSB7CiAgICAgICAgIFN0eWxlZEVsZW1lbnQqIHMgPSBzdGF0aWNfY2FzdDxTdHlsZWRF
bGVtZW50Kj4obik7Ci0gICAgICAgIGlmIChzLT5yZW5kZXJlcigpICYmIChzLT50YWdRTmFtZSgp
ID09IGVsZW1lbnQtPnRhZ1FOYW1lKCkpICYmICFzLT5oYXNJRCgpICYmCisgICAgICAgIGlmIChz
LT5yZW5kZXJlcigpICYmICFzLT5yZW5kZXJlcigpLT5zdHlsZSgpLT51bmlxdWUoKSAmJgorICAg
ICAgICAgICAgKHMtPnRhZ1FOYW1lKCkgPT0gZWxlbWVudC0+dGFnUU5hbWUoKSkgJiYgIXMtPmhh
c0lEKCkgJiYKICAgICAgICAgICAgIChzLT5oYXNDbGFzcygpID09IGVsZW1lbnQtPmhhc0NsYXNz
KCkpICYmICFzLT5pbmxpbmVTdHlsZURlY2woKSAmJgogICAgICAgICAgICAgKHMtPmhhc01hcHBl
ZEF0dHJpYnV0ZXMoKSA9PSBzdHlsZWRFbGVtZW50LT5oYXNNYXBwZWRBdHRyaWJ1dGVzKCkpICYm
CiAgICAgICAgICAgICAocy0+aXNMaW5rKCkgPT0gZWxlbWVudC0+aXNMaW5rKCkpICYmIApAQCAt
Mjk1Nyw4ICsyOTU4LDE0IEBAIHZvaWQgQ1NTU3R5bGVTZWxlY3Rvcjo6YXBwbHlQcm9wZXJ0eShp
bnQKICAgICAgICAgICAgICAgICBzdHlsZS0+c2V0Q29udGVudCh2YWwtPmdldFN0cmluZ1ZhbHVl
KCkuaW1wbCgpLCBpICE9IDApOwogICAgICAgICAgICAgZWxzZSBpZiAodmFsLT5wcmltaXRpdmVU
eXBlKCk9PUNTU1ByaW1pdGl2ZVZhbHVlOjpDU1NfQVRUUikgewogICAgICAgICAgICAgICAgIC8v
IEZJWE1FOiBDYW4gYSBuYW1lc3BhY2UgYmUgc3BlY2lmaWVkIGZvciBhbiBhdHRyKGZvbyk/Cisg
ICAgICAgICAgICAgICAgaWYgKHN0eWxlLT5zdHlsZVR5cGUoKT09UmVuZGVyU3R5bGU6Ok5PUFNF
VURPKQorICAgICAgICAgICAgICAgICAgICBzdHlsZS0+c2V0VW5pcXVlKCk7CisgICAgICAgICAg
ICAgICAgZWxzZQorICAgICAgICAgICAgICAgICAgICBwYXJlbnRTdHlsZS0+c2V0VW5pcXVlKCk7
CiAgICAgICAgICAgICAgICAgUXVhbGlmaWVkTmFtZSBhdHRyKG51bGxBdG9tLCB2YWwtPmdldFN0
cmluZ1ZhbHVlKCkuaW1wbCgpLCBudWxsQXRvbSk7CiAgICAgICAgICAgICAgICAgc3R5bGUtPnNl
dENvbnRlbnQoZWxlbWVudC0+Z2V0QXR0cmlidXRlKGF0dHIpLmltcGwoKSwgaSAhPSAwKTsKKyAg
ICAgICAgICAgICAgICAvLyByZWdpc3RlciB0aGUgZmFjdCB0aGF0IHRoZSBhdHRyaWJ1dGUgdmFs
dWUgYWZmZWN0cyB0aGUgc3R5bGUKKyAgICAgICAgICAgICAgICBtX3NlbGVjdG9yQXR0cnMuYWRk
KGF0dHIubG9jYWxOYW1lKCkuaW1wbCgpKTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGVs
c2UgaWYgKHZhbC0+cHJpbWl0aXZlVHlwZSgpPT1DU1NQcmltaXRpdmVWYWx1ZTo6Q1NTX1VSSSkg
ewogICAgICAgICAgICAgICAgIENTU0ltYWdlVmFsdWUgKmltYWdlID0gc3RhdGljX2Nhc3Q8Q1NT
SW1hZ2VWYWx1ZSo+KHZhbCk7Cg==
</data>
<flag name="review"
          id="2446"
          type_id="1"
          status="+"
          setter="hyatt"
    />
          </attachment>
      

    </bug>

</bugzilla>