<?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>83218</bug_id>
          
          <creation_ts>2012-04-04 14:28:00 -0700</creation_ts>
          <short_desc>[MutationObservers] implement takeRecords()</short_desc>
          <delta_ts>2012-04-05 11:02: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>DOM</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>
          
          <blocked>68729</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Rafael Weinstein">rafaelw</reporter>
          <assigned_to name="Rafael Weinstein">rafaelw</assigned_to>
          <cc>abarth</cc>
    
    <cc>adamk</cc>
    
    <cc>ojan</cc>
    
    <cc>rniwa</cc>
    
    <cc>sam</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>595946</commentid>
    <comment_count>0</comment_count>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-04-04 14:28:00 -0700</bug_when>
    <thetext>Per https://www.w3.org/Bugs/Public/show_bug.cgi?id=16606, MutationObserver should expose a takeRecords() call which synchronously retrieves &amp; clears any pending mutation records. If none are pending, it should return an empty array. It should not do anything else (in particular, it should not clear transient observers).

Anne has committed to updating the spec by end of week.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595950</commentid>
    <comment_count>1</comment_count>
      <attachid>135685</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-04-04 14:31:12 -0700</bug_when>
    <thetext>Created attachment 135685
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595958</commentid>
    <comment_count>2</comment_count>
      <attachid>135685</attachid>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-04 14:40:22 -0700</bug_when>
    <thetext>Comment on attachment 135685
Patch

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

&gt; Source/WebCore/dom/WebKitMutationObserver.h:36
&gt; +#include &quot;MutationCallback.h&quot;

No need for this include...

&gt; Source/WebCore/dom/WebKitMutationObserver.h:82
&gt; +    MutationRecordArray takeRecords();

...or this use of the MutationRecordArray typedef. That&apos;s only necessary to deal with the way Callbacks are handled by WebKit&apos;s IDL processing. I&apos;d make this the same return type name as m_records, i.e., Vector&lt;RefPtr&lt;MutationRecord&gt; &gt;.

Alternatively, I suppose you could use the typedef as the type of m_records as well, if you think that type name&apos;s too much to be repeating.

&gt; Source/WebCore/dom/WebKitMutationObserver.idl:39
&gt; +        sequence&lt;MutationRecord&gt; takeRecords();

Awesome, no custom code?

&gt; LayoutTests/fast/mutation/observe-subtree.html:59
&gt; +function testTakeRecords() {

I&apos;d rather see this test in its own file for clarity: it&apos;s testing the takeRecords method, not subtree observation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595987</commentid>
    <comment_count>3</comment_count>
      <attachid>135685</attachid>
    <who name="Ojan Vafai">ojan</who>
    <bug_when>2012-04-04 15:01:42 -0700</bug_when>
    <thetext>Comment on attachment 135685
Patch

r=me once you address Adam&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596001</commentid>
    <comment_count>4</comment_count>
      <attachid>135685</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-04-04 15:10:11 -0700</bug_when>
    <thetext>Comment on attachment 135685
Patch

Attachment 135685 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/12331064</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596003</commentid>
    <comment_count>5</comment_count>
    <who name="Adam Klein">adamk</who>
    <bug_when>2012-04-04 15:12:03 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 135685 [details])
&gt; Attachment 135685 [details] did not pass mac-ews (mac):
&gt; Output: http://queues.webkit.org/results/12331064

As a bonus, not using the typedef (and thus the #include of MutationCallback.h) should make this error go away.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596046</commentid>
    <comment_count>6</comment_count>
      <attachid>135705</attachid>
    <who name="Rafael Weinstein">rafaelw</who>
    <bug_when>2012-04-04 15:55:02 -0700</bug_when>
    <thetext>Created attachment 135705
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596244</commentid>
    <comment_count>7</comment_count>
      <attachid>135705</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 19:50:43 -0700</bug_when>
    <thetext>Comment on attachment 135705
Patch

Clearing flags on attachment: 135705

Committed r113279: &lt;http://trac.webkit.org/changeset/113279&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596245</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 19:50:48 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>596714</commentid>
    <comment_count>9</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2012-04-05 11:02:28 -0700</bug_when>
    <thetext>This broke the window-properties.html test:
http://build.webkit.org/results/Lion%20Release%20(Tests)/r113279%20(7284)/fast/dom/Window/window-properties-pretty-diff.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135685</attachid>
            <date>2012-04-04 14:31:12 -0700</date>
            <delta_ts>2012-04-04 15:54:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83218-20120404143111.patch</filename>
            <type>text/plain</type>
            <size>7814</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhlOWY0YTU5YjhlZTYw
NTllN2I2YmQ2NTFiZjM4NWIzOWI5ZmU3MS4uMzNmOTdiMmQzMjBlYmU1MTRhNzZlYzFkNmM1YTM2
Mjk2ODg2MmE2OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDEyLTA0LTA0ICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9u
T2JzZXJ2ZXJzXSBpbXBsZW1lbnQgdGFrZVJlY29yZHMoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgTXV0YXRpb25P
YnNlcnZlci50YWtlUmVjb3JkcyBwZXIgdGhlIERPTTQgc3BlYy4KKyAgICAgICAgdGFrZVJlY29y
ZHMgcmV0cmlldmVzIGFuZCBjbGVhcnMgYW55IHBlbmRpbmcgbXV0YXRpb24gcmVjb3JkcyBmb3IK
KyAgICAgICAgdGhlIG9ic2VydmVyLgorCisgICAgICAgIEluY2x1ZGVzIHRlc3RzLgorCisgICAg
ICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
V2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6dGFrZVJlY29yZHMpOgorICAgICAgICAoV2ViQ29yZSk6
CisgICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaDoKKyAgICAgICAgKiBkb20v
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGw6CisKIDIwMTItMDQtMDQgIE1hcmsgUGlsZ3JpbSAg
PHBpbGdyaW1AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIENhbGwgc3VkZGVuVGVybWluYXRpb25D
aGFuZ2VkIGRpcmVjdGx5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0
YXRpb25PYnNlcnZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNl
cnZlci5jcHAKaW5kZXggMWY4Mjk2ZWJmMzYzZmU3ZWE0NDg0OTBmM2M3ZjBjZDg5OGQzZTAxMi4u
OTFhYjExZWQyZWY3YjVjMmFhMGM3MDg0NDBkZDBiMmNmMjQ2NTA3MyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcApAQCAtMzYsNyArMzYsNiBAQAog
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKICNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCi0jaW5j
bHVkZSAiTXV0YXRpb25DYWxsYmFjay5oIgogI2luY2x1ZGUgIk11dGF0aW9uT2JzZXJ2ZXJSZWdp
c3RyYXRpb24uaCIKICNpbmNsdWRlICJNdXRhdGlvblJlY29yZC5oIgogI2luY2x1ZGUgIk5vZGUu
aCIKQEAgLTEwMCw2ICs5OSwxMyBAQCB2b2lkIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXI6Om9ic2Vy
dmUoTm9kZSogbm9kZSwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMgb3B0aW9ucwogICAgIG5vZGUt
PmRvY3VtZW50KCktPmFkZE11dGF0aW9uT2JzZXJ2ZXJUeXBlcyhyZWdpc3RyYXRpb24tPm11dGF0
aW9uVHlwZXMoKSk7CiB9CiAKK011dGF0aW9uUmVjb3JkQXJyYXkgV2ViS2l0TXV0YXRpb25PYnNl
cnZlcjo6dGFrZVJlY29yZHMoKQoreworICAgIE11dGF0aW9uUmVjb3JkQXJyYXkgcmVjb3JkczsK
KyAgICByZWNvcmRzLnN3YXAobV9yZWNvcmRzKTsKKyAgICByZXR1cm4gcmVjb3JkczsKK30KKwog
dm9pZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpkaXNjb25uZWN0KCkKIHsKICAgICBtX3JlY29y
ZHMuY2xlYXIoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlv
bk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5o
CmluZGV4IGZiN2FhOGFkZTFjMzg5NDRkNzVkMDYwMTA2OGM5ZWM1OWRkMmY1ODIuLjc5MjQzMzkw
MjFlMmEyODYwNDM0NWVhMmRiZDgyYTdhMDViOGRjNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaApAQCAtMzMsNiArMzMsNyBAQAogCiAjaWYgRU5BQkxF
KE1VVEFUSU9OX09CU0VSVkVSUykKIAorI2luY2x1ZGUgIk11dGF0aW9uQ2FsbGJhY2suaCIKICNp
bmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUgPHd0Zi9IYXNoU2V0Lmg+CiAjaW5jbHVk
ZSA8d3RmL1Bhc3NSZWZQdHIuaD4KQEAgLTQzLDcgKzQ0LDYgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBNdXRhdGlvbkNhbGxiYWNrOwogY2xhc3MgTXV0YXRpb25PYnNlcnZlclJl
Z2lzdHJhdGlvbjsKIGNsYXNzIE11dGF0aW9uUmVjb3JkOwogY2xhc3MgTm9kZTsKQEAgLTc5LDYg
Kzc5LDcgQEAgcHVibGljOgogICAgIH5XZWJLaXRNdXRhdGlvbk9ic2VydmVyKCk7CiAKICAgICB2
b2lkIG9ic2VydmUoTm9kZSosIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zLCBjb25zdCBIYXNoU2V0
PEF0b21pY1N0cmluZz4mIGF0dHJpYnV0ZUZpbHRlciwgRXhjZXB0aW9uQ29kZSYpOworICAgIE11
dGF0aW9uUmVjb3JkQXJyYXkgdGFrZVJlY29yZHMoKTsKICAgICB2b2lkIGRpc2Nvbm5lY3QoKTsK
ICAgICB2b2lkIG9ic2VydmF0aW9uU3RhcnRlZChNdXRhdGlvbk9ic2VydmVyUmVnaXN0cmF0aW9u
Kik7CiAgICAgdm9pZCBvYnNlcnZhdGlvbkVuZGVkKE11dGF0aW9uT2JzZXJ2ZXJSZWdpc3RyYXRp
b24qKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2Vy
dmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbApp
bmRleCBjYjc2MDQ2OWQ3ODUzOGVkYjFlMGMyMTVmYjQ5MWZjNThlNWMwNGFmLi5lNTM1ZjQ1YmZl
MWIwMjE1OGQ3NDgzMDgxNDRjODlhZTczOTc3N2Q1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvZG9t
L1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsCkBAIC0zNiw2ICszNiw3IEBAIG1vZHVsZSBjb3Jl
IHsKICAgICBdIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIgewogICAgICAgICBbQ3VzdG9tXSB2b2lk
IG9ic2VydmUoaW4gTm9kZSB0YXJnZXQsIGluIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIG9wdGlv
bnMpCiAgICAgICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICAgICAgc2VxdWVuY2U8
TXV0YXRpb25SZWNvcmQ+IHRha2VSZWNvcmRzKCk7CiAgICAgICAgIHZvaWQgZGlzY29ubmVjdCgp
OwogICAgIH07CiB9CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRU
ZXN0cy9DaGFuZ2VMb2cKaW5kZXggNDczM2RlOGY5NGIzYzc2ODVkMjE4YjdjMTRkODU4Zjg3ZjMx
ZTA2Yy4uNmM4OTYxMDA4ZGFkYWJhNTU2YWY5MDgwZThjYjFjNmNlMjA1YjgxYSAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEzIEBACisyMDEyLTA0LTA0ICBSYWZhZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJv
bWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9uT2JzZXJ2ZXJzXSBpbXBsZW1lbnQgdGFrZVJl
Y29yZHMoKQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODMyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAq
IGZhc3QvbXV0YXRpb24vb2JzZXJ2ZS1zdWJ0cmVlLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBm
YXN0L211dGF0aW9uL29ic2VydmUtc3VidHJlZS5odG1sOgorCiAyMDEyLTA0LTA0ICBEaW1pdHJp
IEdsYXprb3YgIDxkZ2xhemtvdkBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW0Nocm9taXVtXSBN
YXJrIHN2Zy9hcy1pbWFnZS9hbmltYXRlZC1zdmctYXMtaW1hZ2Utbm8tZml4ZWQtaW50cmluc2lj
LXNpemUuaHRtbCBhcyBmbGFreQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlv
bi9vYnNlcnZlLXN1YnRyZWUtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlv
bi9vYnNlcnZlLXN1YnRyZWUtZXhwZWN0ZWQudHh0CmluZGV4IGI4OTRkY2RhMWIzZjZkMmQzNDli
ZDdjNGE5YTRjZDA2OWE0ZTY5ZWQuLjE3MjZmZTE2NzQyZjViOGQwNjU5NWViMWIzODcwNmU0MDFl
ZTRhYTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZS1zdWJ0
cmVlLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2VydmUt
c3VidHJlZS1leHBlY3RlZC50eHQKQEAgLTEzLDYgKzEzLDIxIEBAIFBBU1MgbXV0YXRpb25zWzBd
LmF0dHJpYnV0ZU5hbWVzcGFjZSBpcyBudWxsCiBQQVNTIG11dGF0aW9uc1sxXS50eXBlIGlzICJj
aGFyYWN0ZXJEYXRhIgogUEFTUyBtdXRhdGlvbnNbMV0udGFyZ2V0IGlzIHN1YkRpdi5maXJzdENo
aWxkCiAKK1Rlc3RpbmcgdGFrZVJlY29yZHMuCisuLi5yZWNvcmRzIGFyZSB0YWtlbiBzeW5jaHJv
bm91c2x5LgorUEFTUyBtdXRhdGlvbnMubGVuZ3RoIGlzIDIKK1BBU1MgbXV0YXRpb25zWzBdLnR5
cGUgaXMgImF0dHJpYnV0ZXMiCitQQVNTIG11dGF0aW9uc1swXS50YXJnZXQgaXMgc3ViRGl2CitQ
QVNTIG11dGF0aW9uc1swXS5hdHRyaWJ1dGVOYW1lIGlzICJmb28iCitQQVNTIG11dGF0aW9uc1sw
XS5hdHRyaWJ1dGVOYW1lc3BhY2UgaXMgbnVsbAorUEFTUyBtdXRhdGlvbnNbMV0udHlwZSBpcyAi
Y2hhcmFjdGVyRGF0YSIKK1BBU1MgbXV0YXRpb25zWzFdLnRhcmdldCBpcyBzdWJEaXYuZmlyc3RD
aGlsZAorLi4udGFrZVJlY29yZCB0b29rIHJlY29yZHMsIGJ1dCBkaWQgbm90IGNsZWFyIHRyYW5z
aWVudCBvYnNlcnZlcnMKK1BBU1MgbXV0YXRpb25zLmxlbmd0aCBpcyAxCitQQVNTIG11dGF0aW9u
c1swXS50eXBlIGlzICJhdHRyaWJ1dGVzIgorUEFTUyBtdXRhdGlvbnNbMF0udGFyZ2V0IGlzIHN1
YkRpdgorUEFTUyBtdXRhdGlvbnNbMF0uYXR0cmlidXRlTmFtZSBpcyAiZm9vIgorCiBUZXN0aW5n
IHR3byBvYnNlcnZlcnMgYXQgZGlmZmVyZW50IGRlcHRocy4KIFBBU1MgbXV0YXRpb25zLmxlbmd0
aCBpcyAxCiBQQVNTIG11dGF0aW9uc1swXS50eXBlIGlzICJhdHRyaWJ1dGVzIgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9vYnNlcnZlLXN1YnRyZWUuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3QvbXV0YXRpb24vb2JzZXJ2ZS1zdWJ0cmVlLmh0bWwKaW5kZXggMzdlNDAyODVl
MmI4YjcxZDIyMjZmZDM2MTgxZGE0Yjg1M2EyMDU3Mi4uMDdhMTk0NGI4Njc2MGZjOWMzZTdhZGYz
MTBjMGYxNDk3YmM0ZGFlOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9tdXRhdGlvbi9v
YnNlcnZlLXN1YnRyZWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL29ic2Vy
dmUtc3VidHJlZS5odG1sCkBAIC01NSw2ICs1NSw1NyBAQCBmdW5jdGlvbiB0ZXN0QmFzaWMoKSB7
CiAgICAgc3RhcnQoKTsKIH0KIAorCitmdW5jdGlvbiB0ZXN0VGFrZVJlY29yZHMoKSB7CisgICAg
dmFyIG9ic2VydmVyOworCisgICAgZnVuY3Rpb24gc3RhcnQoKSB7CisgICAgICAgIGRlYnVnKCdU
ZXN0aW5nIHRha2VSZWNvcmRzLicpOworCisgICAgICAgIG11dGF0aW9ucyA9IG51bGw7CisgICAg
ICAgIGRpdiA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2RpdicpOworICAgICAgICBzdWJEaXYg
PSBkaXYuYXBwZW5kQ2hpbGQoZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2JykpOworICAgICAg
ICBzdWJEaXYuaW5uZXJIVE1MID0gJ2hlbGxvLCB3b3JsZCc7CisgICAgICAgIG9ic2VydmVyID0g
bmV3IFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIoZnVuY3Rpb24obXV0YXRpb25zKSB7CisgICAgICAg
ICAgICB3aW5kb3cubXV0YXRpb25zID0gbXV0YXRpb25zOworICAgICAgICB9KTsKKworICAgICAg
ICBvYnNlcnZlci5vYnNlcnZlKGRpdiwge2F0dHJpYnV0ZXM6IHRydWUsIGNoYXJhY3RlckRhdGE6
IHRydWUsIHN1YnRyZWU6IHRydWV9KTsKKyAgICAgICAgc3ViRGl2LnNldEF0dHJpYnV0ZSgnZm9v
JywgJ2JhcicpOworICAgICAgICBzdWJEaXYuZmlyc3RDaGlsZC50ZXh0Q29udGVudCA9ICdnb29k
YnllISc7CisgICAgICAgIGRpdi5yZW1vdmVDaGlsZChzdWJEaXYpOworCisgICAgICAgIG11dGF0
aW9ucyA9IG9ic2VydmVyLnRha2VSZWNvcmRzKCk7CisKKyAgICAgICAgZGVidWcoJy4uLnJlY29y
ZHMgYXJlIHRha2VuIHN5bmNocm9ub3VzbHkuJyk7CisKKyAgICAgICAgc2hvdWxkQmUoJ211dGF0
aW9ucy5sZW5ndGgnLCAnMicpOworICAgICAgICBzaG91bGRCZSgnbXV0YXRpb25zWzBdLnR5cGUn
LCAnImF0dHJpYnV0ZXMiJyk7CisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlvbnNbMF0udGFyZ2V0
JywgJ3N1YkRpdicpOworICAgICAgICBzaG91bGRCZSgnbXV0YXRpb25zWzBdLmF0dHJpYnV0ZU5h
bWUnLCAnImZvbyInKTsKKyAgICAgICAgc2hvdWxkQmUoJ211dGF0aW9uc1swXS5hdHRyaWJ1dGVO
YW1lc3BhY2UnLCAnbnVsbCcpOworICAgICAgICBzaG91bGRCZSgnbXV0YXRpb25zWzFdLnR5cGUn
LCAnImNoYXJhY3RlckRhdGEiJyk7CisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlvbnNbMV0udGFy
Z2V0JywgJ3N1YkRpdi5maXJzdENoaWxkJyk7CisKKyAgICAgICAgc3ViRGl2LnNldEF0dHJpYnV0
ZSgnZm9vJywgJ2JheicpOworICAgICAgICBzZXRUaW1lb3V0KGZpbmlzaCwgMCk7CisgICAgfQor
CisgICAgZnVuY3Rpb24gZmluaXNoKCkgeworICAgICAgICBkZWJ1ZygnLi4udGFrZVJlY29yZCB0
b29rIHJlY29yZHMsIGJ1dCBkaWQgbm90IGNsZWFyIHRyYW5zaWVudCBvYnNlcnZlcnMnKTsKKwor
ICAgICAgICBzaG91bGRCZSgnbXV0YXRpb25zLmxlbmd0aCcsICcxJyk7CisgICAgICAgIHNob3Vs
ZEJlKCdtdXRhdGlvbnNbMF0udHlwZScsICciYXR0cmlidXRlcyInKTsKKyAgICAgICAgc2hvdWxk
QmUoJ211dGF0aW9uc1swXS50YXJnZXQnLCAnc3ViRGl2Jyk7CisgICAgICAgIHNob3VsZEJlKCdt
dXRhdGlvbnNbMF0uYXR0cmlidXRlTmFtZScsICciZm9vIicpOworICAgICAgICBvYnNlcnZlci5k
aXNjb25uZWN0KCk7CisgICAgICAgIGRlYnVnKCcnKTsKKyAgICAgICAgcnVuTmV4dFRlc3QoKTsK
KyAgICB9CisKKyAgICBzdGFydCgpOworfQorCiBmdW5jdGlvbiB0ZXN0TXVsdGlwbGVPYnNlcnZl
cnMoKSB7CiAgICAgdmFyIG9ic2VydmVyOwogICAgIHZhciBvYnNlcnZlcjI7CkBAIC0yODYsNyAr
MzM3LDcgQEAgZnVuY3Rpb24gdGVzdFRyYW5zaWVudERldGFjaGVkRGV0YWlsZWQoKSB7CiAgICAg
c3RhcnQoKTsKIH0KIAotdmFyIHRlc3RzID0gW3Rlc3RCYXNpYywgdGVzdE11bHRpcGxlT2JzZXJ2
ZXJzLCB0ZXN0TXVsdGlwbGVPYnNlcnZhdGlvbnMsIHRlc3RUcmFuc2llbnREZXRhY2hlZEJhc2lj
LCB0ZXN0VHJhbnNpZW50RGV0YWNoZWREZXRhaWxlZF07Cit2YXIgdGVzdHMgPSBbdGVzdEJhc2lj
LCB0ZXN0VGFrZVJlY29yZHMsIHRlc3RNdWx0aXBsZU9ic2VydmVycywgdGVzdE11bHRpcGxlT2Jz
ZXJ2YXRpb25zLCB0ZXN0VHJhbnNpZW50RGV0YWNoZWRCYXNpYywgdGVzdFRyYW5zaWVudERldGFj
aGVkRGV0YWlsZWRdOwogdmFyIHRlc3RJbmRleCA9IDA7CiAKIGZ1bmN0aW9uIHJ1bk5leHRUZXN0
KCkgewo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135705</attachid>
            <date>2012-04-04 15:55:02 -0700</date>
            <delta_ts>2012-04-04 19:50:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-83218-20120404155501.patch</filename>
            <type>text/plain</type>
            <size>7800</size>
            <attacher name="Rafael Weinstein">rafaelw</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMjE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDhlOWY0YTU5YjhlZTYw
NTllN2I2YmQ2NTFiZjM4NWIzOWI5ZmU3MS4uM2VmOTVlMjFmNWFjZDYyZDEzY2FiZDA4ZTM0M2Zm
MWY0YTYzODczNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIzIEBACisyMDEyLTA0LTA0ICBSYWZh
ZWwgV2VpbnN0ZWluICA8cmFmYWVsd0BjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgW011dGF0aW9u
T2JzZXJ2ZXJzXSBpbXBsZW1lbnQgdGFrZVJlY29yZHMoKQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODMyMTgKKworICAgICAgICBSZXZpZXdlZCBieSBP
amFuIFZhZmFpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBNdXRhdGlvbk9ic2Vy
dmVyLnRha2VSZWNvcmRzIHBlciB0aGUgRE9NNCBzcGVjLgorICAgICAgICB0YWtlUmVjb3JkcyBy
ZXRyaWV2ZXMgYW5kIGNsZWFycyBhbnkgcGVuZGluZyBtdXRhdGlvbiByZWNvcmRzIGZvcgorICAg
ICAgICB0aGUgb2JzZXJ2ZXIuCisKKyAgICAgICAgVGVzdDogZmFzdC9tdXRhdGlvbi90YWtlUmVj
b3Jkcy5odG1sCisKKyAgICAgICAgKiBkb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjp0YWtlUmVjb3Jkcyk6Cisg
ICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdE11dGF0aW9uT2JzZXJ2
ZXI6OmRlbGl2ZXIpOgorICAgICAgICAqIGRvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmg6Cisg
ICAgICAgICogZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaWRsOgorCiAyMDEyLTA0LTA0ICBN
YXJrIFBpbGdyaW0gIDxwaWxncmltQGNocm9taXVtLm9yZz4KIAogICAgICAgICBDYWxsIHN1ZGRl
blRlcm1pbmF0aW9uQ2hhbmdlZCBkaXJlY3RseQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
ZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktp
dE11dGF0aW9uT2JzZXJ2ZXIuY3BwCmluZGV4IDFmODI5NmViZjM2M2ZlN2VhNDQ4NDkwZjNjN2Yw
Y2Q4OThkM2UwMTIuLjA5Njk2YzFmM2I4MWYzYjQyZjQ4NmYyNzVkYThhZWUyYzU5NWE1M2MgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5jcHAKQEAgLTEw
MCw2ICsxMDAsMTMgQEAgdm9pZCBXZWJLaXRNdXRhdGlvbk9ic2VydmVyOjpvYnNlcnZlKE5vZGUq
IG5vZGUsIE11dGF0aW9uT2JzZXJ2ZXJPcHRpb25zIG9wdGlvbnMKICAgICBub2RlLT5kb2N1bWVu
dCgpLT5hZGRNdXRhdGlvbk9ic2VydmVyVHlwZXMocmVnaXN0cmF0aW9uLT5tdXRhdGlvblR5cGVz
KCkpOwogfQogCitWZWN0b3I8UmVmUHRyPE11dGF0aW9uUmVjb3JkPiA+IFdlYktpdE11dGF0aW9u
T2JzZXJ2ZXI6OnRha2VSZWNvcmRzKCkKK3sKKyAgICBWZWN0b3I8UmVmUHRyPE11dGF0aW9uUmVj
b3JkPiA+IHJlY29yZHM7CisgICAgcmVjb3Jkcy5zd2FwKG1fcmVjb3Jkcyk7CisgICAgcmV0dXJu
IHJlY29yZHM7Cit9CisKIHZvaWQgV2ViS2l0TXV0YXRpb25PYnNlcnZlcjo6ZGlzY29ubmVjdCgp
CiB7CiAgICAgbV9yZWNvcmRzLmNsZWFyKCk7CkBAIC0xNDAsNyArMTQ3LDcgQEAgdm9pZCBXZWJL
aXRNdXRhdGlvbk9ic2VydmVyOjpkZWxpdmVyKCkKICAgICBpZiAobV9yZWNvcmRzLmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgTXV0YXRpb25SZWNvcmRBcnJheSByZWNvcmRzOwor
ICAgIFZlY3RvcjxSZWZQdHI8TXV0YXRpb25SZWNvcmQ+ID4gcmVjb3JkczsKICAgICByZWNvcmRz
LnN3YXAobV9yZWNvcmRzKTsKIAogICAgIGZvciAoSGFzaFNldDxNdXRhdGlvbk9ic2VydmVyUmVn
aXN0cmF0aW9uKj46Oml0ZXJhdG9yIGl0ZXIgPSBtX3JlZ2lzdHJhdGlvbnMuYmVnaW4oKTsgaXRl
ciAhPSBtX3JlZ2lzdHJhdGlvbnMuZW5kKCk7ICsraXRlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmggYi9Tb3VyY2UvV2ViQ29yZS9kb20v
V2ViS2l0TXV0YXRpb25PYnNlcnZlci5oCmluZGV4IGZiN2FhOGFkZTFjMzg5NDRkNzVkMDYwMTA2
OGM5ZWM1OWRkMmY1ODIuLmMwMjMxYTExYWVlYTE3OTgxMGFiMjk4ZGVkODAxMTc2MjFlOGYyNTgg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9uT2JzZXJ2ZXIuaApAQCAtNzks
NiArNzksNyBAQCBwdWJsaWM6CiAgICAgfldlYktpdE11dGF0aW9uT2JzZXJ2ZXIoKTsKIAogICAg
IHZvaWQgb2JzZXJ2ZShOb2RlKiwgTXV0YXRpb25PYnNlcnZlck9wdGlvbnMsIGNvbnN0IEhhc2hT
ZXQ8QXRvbWljU3RyaW5nPiYgYXR0cmlidXRlRmlsdGVyLCBFeGNlcHRpb25Db2RlJik7CisgICAg
VmVjdG9yPFJlZlB0cjxNdXRhdGlvblJlY29yZD4gPiB0YWtlUmVjb3JkcygpOwogICAgIHZvaWQg
ZGlzY29ubmVjdCgpOwogICAgIHZvaWQgb2JzZXJ2YXRpb25TdGFydGVkKE11dGF0aW9uT2JzZXJ2
ZXJSZWdpc3RyYXRpb24qKTsKICAgICB2b2lkIG9ic2VydmF0aW9uRW5kZWQoTXV0YXRpb25PYnNl
cnZlclJlZ2lzdHJhdGlvbiopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL1dlYktp
dE11dGF0aW9uT2JzZXJ2ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvZG9tL1dlYktpdE11dGF0aW9u
T2JzZXJ2ZXIuaWRsCmluZGV4IGNiNzYwNDY5ZDc4NTM4ZWRiMWUwYzIxNWZiNDkxZmM1OGU1YzA0
YWYuLmU1MzVmNDViZmUxYjAyMTU4ZDc0ODMwODE0NGM4OWFlNzM5Nzc3ZDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2RvbS9XZWJLaXRNdXRhdGlvbk9ic2VydmVyLmlkbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9kb20vV2ViS2l0TXV0YXRpb25PYnNlcnZlci5pZGwKQEAgLTM2LDYgKzM2LDcg
QEAgbW9kdWxlIGNvcmUgewogICAgIF0gV2ViS2l0TXV0YXRpb25PYnNlcnZlciB7CiAgICAgICAg
IFtDdXN0b21dIHZvaWQgb2JzZXJ2ZShpbiBOb2RlIHRhcmdldCwgaW4gTXV0YXRpb25PYnNlcnZl
ck9wdGlvbnMgb3B0aW9ucykKICAgICAgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAg
ICAgICBzZXF1ZW5jZTxNdXRhdGlvblJlY29yZD4gdGFrZVJlY29yZHMoKTsKICAgICAgICAgdm9p
ZCBkaXNjb25uZWN0KCk7CiAgICAgfTsKIH0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5n
ZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0NzMzZGU4Zjk0YjNjNzY4NWQyMThi
N2MxNGQ4NThmODdmMzFlMDZjLi5kMTI3Njk2MmQxYjU5NWY5NWJiYzhkZmJkMmM3NDdkZjRlMTVk
MGI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMDQtMDQgIFJhZmFlbCBXZWluc3RlaW4g
IDxyYWZhZWx3QGNocm9taXVtLm9yZz4KKworICAgICAgICBbTXV0YXRpb25PYnNlcnZlcnNdIGlt
cGxlbWVudCB0YWtlUmVjb3JkcygpCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD04MzIxOAorCisgICAgICAgIFJldmlld2VkIGJ5IE9qYW4gVmFmYWkuCisK
KyAgICAgICAgKiBmYXN0L211dGF0aW9uL3Rha2VSZWNvcmRzLWV4cGVjdGVkLnR4dDogQWRkZWQu
CisgICAgICAgICogZmFzdC9tdXRhdGlvbi90YWtlUmVjb3Jkcy5odG1sOiBBZGRlZC4KKwogMjAx
Mi0wNC0wNCAgRGltaXRyaSBHbGF6a292ICA8ZGdsYXprb3ZAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFtDaHJvbWl1bV0gTWFyayBzdmcvYXMtaW1hZ2UvYW5pbWF0ZWQtc3ZnLWFzLWltYWdlLW5v
LWZpeGVkLWludHJpbnNpYy1zaXplLmh0bWwgYXMgZmxha3kKZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3QvbXV0YXRpb24vdGFrZVJlY29yZHMtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMv
ZmFzdC9tdXRhdGlvbi90YWtlUmVjb3Jkcy1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWM2NDQy
NmFiMTNhZTJlMWM5MDM4ZGZiNjNiNzkxMmQzYTA2NWVmNwotLS0gL2Rldi9udWxsCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vdGFrZVJlY29yZHMtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjQgQEAKK1Rlc3RpbmcgV2ViS2l0TXV0YXRpb25PYnNlcnZlci50YWtlUmVjb3JkcworCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworVGVzdGluZyB0YWtlUmVjb3Jkcy4KKy4uLnJl
Y29yZHMgYXJlIHRha2VuIHN5bmNocm9ub3VzbHkuCitQQVNTIG11dGF0aW9ucy5sZW5ndGggaXMg
MgorUEFTUyBtdXRhdGlvbnNbMF0udHlwZSBpcyAiYXR0cmlidXRlcyIKK1BBU1MgbXV0YXRpb25z
WzBdLnRhcmdldCBpcyBzdWJEaXYKK1BBU1MgbXV0YXRpb25zWzBdLmF0dHJpYnV0ZU5hbWUgaXMg
ImZvbyIKK1BBU1MgbXV0YXRpb25zWzBdLmF0dHJpYnV0ZU5hbWVzcGFjZSBpcyBudWxsCitQQVNT
IG11dGF0aW9uc1sxXS50eXBlIGlzICJjaGFyYWN0ZXJEYXRhIgorUEFTUyBtdXRhdGlvbnNbMV0u
dGFyZ2V0IGlzIHN1YkRpdi5maXJzdENoaWxkCisuLi50YWtlUmVjb3JkIHRvb2sgcmVjb3Jkcywg
YnV0IGRpZCBub3QgY2xlYXIgdHJhbnNpZW50IG9ic2VydmVycworUEFTUyBtdXRhdGlvbnMubGVu
Z3RoIGlzIDEKK1BBU1MgbXV0YXRpb25zWzBdLnR5cGUgaXMgImF0dHJpYnV0ZXMiCitQQVNTIG11
dGF0aW9uc1swXS50YXJnZXQgaXMgc3ViRGl2CitQQVNTIG11dGF0aW9uc1swXS5hdHRyaWJ1dGVO
YW1lIGlzICJmb28iCisKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL3Rha2VSZWNv
cmRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L211dGF0aW9uL3Rha2VSZWNvcmRzLmh0bWwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMDM5YTMyZmJkOTExODBiYThkNjZjMTdkYjg1NzJjM2U0NTQ0Y2JjMgotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbXV0YXRpb24vdGFrZVJlY29yZHMuaHRtbApA
QCAtMCwwICsxLDg2IEBACis8IURPQ1RZUEUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8bWV0YSBj
aGFyc2V0PSJ1dGYtOCI+Cis8c2NyaXB0IHNyYz0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJl
LmpzIj48L3NjcmlwdD4KKzx0aXRsZT48L3RpdGxlPgorPC9oZWFkPgorPGJvZHk+Cis8cCBpZD1k
ZXNjcmlwdGlvbj48L3A+Cis8ZGl2IGlkPSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQ+CisKK3dp
bmRvdy5qc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKK3ZhciBtdXRhdGlvbnM7CisKK2Z1bmN0aW9uIHRl
c3RCYXNpYygpIHsKKyAgICB2YXIgb2JzZXJ2ZXI7CisKKyAgICBmdW5jdGlvbiBzdGFydCgpIHsK
KyAgICAgICAgZGVidWcoJ1Rlc3RpbmcgdGFrZVJlY29yZHMuJyk7CisKKyAgICAgICAgbXV0YXRp
b25zID0gbnVsbDsKKyAgICAgICAgZGl2ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnZGl2Jyk7
CisgICAgICAgIHN1YkRpdiA9IGRpdi5hcHBlbmRDaGlsZChkb2N1bWVudC5jcmVhdGVFbGVtZW50
KCdkaXYnKSk7CisgICAgICAgIHN1YkRpdi5pbm5lckhUTUwgPSAnaGVsbG8sIHdvcmxkJzsKKyAg
ICAgICAgb2JzZXJ2ZXIgPSBuZXcgV2ViS2l0TXV0YXRpb25PYnNlcnZlcihmdW5jdGlvbihtdXRh
dGlvbnMpIHsKKyAgICAgICAgICAgIHdpbmRvdy5tdXRhdGlvbnMgPSBtdXRhdGlvbnM7CisgICAg
ICAgIH0pOworCisgICAgICAgIG9ic2VydmVyLm9ic2VydmUoZGl2LCB7YXR0cmlidXRlczogdHJ1
ZSwgY2hhcmFjdGVyRGF0YTogdHJ1ZSwgc3VidHJlZTogdHJ1ZX0pOworICAgICAgICBzdWJEaXYu
c2V0QXR0cmlidXRlKCdmb28nLCAnYmFyJyk7CisgICAgICAgIHN1YkRpdi5maXJzdENoaWxkLnRl
eHRDb250ZW50ID0gJ2dvb2RieWUhJzsKKyAgICAgICAgZGl2LnJlbW92ZUNoaWxkKHN1YkRpdik7
CisKKyAgICAgICAgbXV0YXRpb25zID0gb2JzZXJ2ZXIudGFrZVJlY29yZHMoKTsKKworICAgICAg
ICBkZWJ1ZygnLi4ucmVjb3JkcyBhcmUgdGFrZW4gc3luY2hyb25vdXNseS4nKTsKKworICAgICAg
ICBzaG91bGRCZSgnbXV0YXRpb25zLmxlbmd0aCcsICcyJyk7CisgICAgICAgIHNob3VsZEJlKCdt
dXRhdGlvbnNbMF0udHlwZScsICciYXR0cmlidXRlcyInKTsKKyAgICAgICAgc2hvdWxkQmUoJ211
dGF0aW9uc1swXS50YXJnZXQnLCAnc3ViRGl2Jyk7CisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlv
bnNbMF0uYXR0cmlidXRlTmFtZScsICciZm9vIicpOworICAgICAgICBzaG91bGRCZSgnbXV0YXRp
b25zWzBdLmF0dHJpYnV0ZU5hbWVzcGFjZScsICdudWxsJyk7CisgICAgICAgIHNob3VsZEJlKCdt
dXRhdGlvbnNbMV0udHlwZScsICciY2hhcmFjdGVyRGF0YSInKTsKKyAgICAgICAgc2hvdWxkQmUo
J211dGF0aW9uc1sxXS50YXJnZXQnLCAnc3ViRGl2LmZpcnN0Q2hpbGQnKTsKKworICAgICAgICBz
dWJEaXYuc2V0QXR0cmlidXRlKCdmb28nLCAnYmF6Jyk7CisgICAgICAgIHNldFRpbWVvdXQoZmlu
aXNoLCAwKTsKKyAgICB9CisKKyAgICBmdW5jdGlvbiBmaW5pc2goKSB7CisgICAgICAgIGRlYnVn
KCcuLi50YWtlUmVjb3JkIHRvb2sgcmVjb3JkcywgYnV0IGRpZCBub3QgY2xlYXIgdHJhbnNpZW50
IG9ic2VydmVycycpOworCisgICAgICAgIHNob3VsZEJlKCdtdXRhdGlvbnMubGVuZ3RoJywgJzEn
KTsKKyAgICAgICAgc2hvdWxkQmUoJ211dGF0aW9uc1swXS50eXBlJywgJyJhdHRyaWJ1dGVzIicp
OworICAgICAgICBzaG91bGRCZSgnbXV0YXRpb25zWzBdLnRhcmdldCcsICdzdWJEaXYnKTsKKyAg
ICAgICAgc2hvdWxkQmUoJ211dGF0aW9uc1swXS5hdHRyaWJ1dGVOYW1lJywgJyJmb28iJyk7Cisg
ICAgICAgIG9ic2VydmVyLmRpc2Nvbm5lY3QoKTsKKyAgICAgICAgZGVidWcoJycpOworICAgICAg
ICBydW5OZXh0VGVzdCgpOworICAgIH0KKworICAgIHN0YXJ0KCk7Cit9CisKK3ZhciB0ZXN0cyA9
IFt0ZXN0QmFzaWNdOwordmFyIHRlc3RJbmRleCA9IDA7CisKK2Z1bmN0aW9uIHJ1bk5leHRUZXN0
KCkgeworICAgIGlmICh0ZXN0SW5kZXggPCB0ZXN0cy5sZW5ndGgpCisgICAgICAgIHRlc3RzW3Rl
c3RJbmRleCsrXSgpOworICAgIGVsc2UKKyAgICAgICAgZmluaXNoSlNUZXN0KCk7Cit9CisKK2Rl
c2NyaXB0aW9uKCdUZXN0aW5nIFdlYktpdE11dGF0aW9uT2JzZXJ2ZXIudGFrZVJlY29yZHMnKTsK
KworaWYgKCF3aW5kb3cuV2ViS2l0TXV0YXRpb25PYnNlcnZlcikKKyAgICB0ZXN0RmFpbGVkKCdU
aGlzIHRlc3QgcmVxdWlyZXMgRU5BQkxFKE1VVEFUSU9OX09CU0VSVkVSUyknKTsKK2Vsc2UKKyAg
ICBydW5OZXh0VGVzdCgpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4K
</data>

          </attachment>
      

    </bug>

</bugzilla>