<?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>47311</bug_id>
          
          <creation_ts>2010-10-06 15:49:27 -0700</creation_ts>
          <short_desc>Add layout tests for Entry.getMetadata (FileSystem API)</short_desc>
          <delta_ts>2011-01-06 23:07:52 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ericu</cc>
    
    <cc>levin</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>290629</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-06 15:49:27 -0700</bug_when>
    <thetext>Add layout tests for Entry.getMetadata (FileSystem API)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>297605</commentid>
    <comment_count>1</comment_count>
      <attachid>71481</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-10-21 13:34:10 -0700</bug_when>
    <thetext>Created attachment 71481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>314852</commentid>
    <comment_count>2</comment_count>
      <attachid>71481</attachid>
    <who name="Jian Li">jianli</who>
    <bug_when>2010-11-29 21:28:39 -0800</bug_when>
    <thetext>Comment on attachment 71481
Patch

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

&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:223
&gt; +                var entryMetadataString = &apos;this.environment[&quot;&apos; + symbol + &apos;&quot;]&apos;;

Might be better to make &apos;this.environment[&quot;&apos; + symbol + &apos;&quot;]&apos; a helper function in order to simplify the code.

&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:230
&gt; +                this.errorCallback();

Probably we should continue to run next test even we fail the current test unless we encounter a severe error that cannot be recoverable,

&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:232
&gt; +         };

&apos;}&apos; not aligned correctly.

&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:324
&gt; +         };

ditto.

&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:331
&gt; +            // Record rounded start date (current time minus 999 msec) here for the comparison. Entry.getMetadata() may return motd in seconds accuracy while new Date() is milliseconds accuracy.

What is motd?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315422</commentid>
    <comment_count>3</comment_count>
      <attachid>71481</attachid>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-11-30 17:05:07 -0800</bug_when>
    <thetext>Comment on attachment 71481
Patch

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

&gt;&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:331
&gt;&gt; +            // Record rounded start date (current time minus 999 msec) here for the comparison. Entry.getMetadata() may return motd in seconds accuracy while new Date() is milliseconds accuracy.
&gt; 
&gt; What is motd?

Why would getMetadata be so inaccurate?  Is that a filesystem limitation or part of our implementation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315776</commentid>
    <comment_count>4</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-12-01 11:39:33 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 71481 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71481&amp;action=review
&gt; 
&gt; &gt;&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:331
&gt; &gt;&gt; +            // Record rounded start date (current time minus 999 msec) here for the comparison. Entry.getMetadata() may return motd in seconds accuracy while new Date() is milliseconds accuracy.
&gt; &gt; 
&gt; &gt; What is motd?

Ouch I think I meant mod time (last modification time).  Will fix in the next patch.
 
&gt; Why would getMetadata be so inaccurate?  Is that a filesystem limitation or part of our implementation?

It&apos;s due to our implementation (at least for chromium).
We use WebFileInfo structure defined in WebKit API for filling metadata and WebFileInfo.modificationTime is defined as &quot;The last modification time of the file, in seconds.&quot;
We can fix it but it&apos;ll need two-sided patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>315823</commentid>
    <comment_count>5</comment_count>
    <who name="Eric U.">ericu</who>
    <bug_when>2010-12-01 12:46:37 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (From update of attachment 71481 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71481&amp;action=review
&gt; &gt; 
&gt; &gt; &gt;&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:331
&gt; &gt; &gt;&gt; +            // Record rounded start date (current time minus 999 msec) here for the comparison. Entry.getMetadata() may return motd in seconds accuracy while new Date() is milliseconds accuracy.
&gt; &gt; &gt; 
&gt; &gt; &gt; What is motd?
&gt; 
&gt; Ouch I think I meant mod time (last modification time).  Will fix in the next patch.
&gt; 
&gt; &gt; Why would getMetadata be so inaccurate?  Is that a filesystem limitation or part of our implementation?
&gt; 
&gt; It&apos;s due to our implementation (at least for chromium).
&gt; We use WebFileInfo structure defined in WebKit API for filling metadata and WebFileInfo.modificationTime is defined as &quot;The last modification time of the file, in seconds.&quot;
&gt; We can fix it but it&apos;ll need two-sided patch.

Well, there&apos;s no requirement that it be any more accurate than that.  I was just curious.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318534</commentid>
    <comment_count>6</comment_count>
      <attachid>75859</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-12-07 18:26:36 -0800</bug_when>
    <thetext>Created attachment 75859
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318536</commentid>
    <comment_count>7</comment_count>
      <attachid>71481</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-12-07 18:28:48 -0800</bug_when>
    <thetext>Comment on attachment 71481
Patch

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

&gt;&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:223
&gt;&gt; +                var entryMetadataString = &apos;this.environment[&quot;&apos; + symbol + &apos;&quot;]&apos;;
&gt; 
&gt; Might be better to make &apos;this.environment[&quot;&apos; + symbol + &apos;&quot;]&apos; a helper function in order to simplify the code.

Done.

&gt;&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:230
&gt;&gt; +                this.errorCallback();
&gt; 
&gt; Probably we should continue to run next test even we fail the current test unless we encounter a severe error that cannot be recoverable,

Done.

&gt;&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:232
&gt;&gt; +         };
&gt; 
&gt; &apos;}&apos; not aligned correctly.

Fixed.

&gt;&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:324
&gt;&gt; +         };
&gt; 
&gt; ditto.

Fixed.

&gt;&gt;&gt;&gt;&gt; LayoutTests/fast/filesystem/resources/op-tests-helper.js:331
&gt;&gt;&gt;&gt;&gt; +            // Record rounded start date (current time minus 999 msec) here for the comparison. Entry.getMetadata() may return motd in seconds accuracy while new Date() is milliseconds accuracy.
&gt;&gt;&gt;&gt; 
&gt;&gt;&gt;&gt; What is motd?
&gt;&gt;&gt; 
&gt;&gt;&gt; Why would getMetadata be so inaccurate?  Is that a filesystem limitation or part of our implementation?
&gt;&gt; 
&gt;&gt; Ouch I think I meant mod time (last modification time).  Will fix in the next patch.
&gt; 
&gt; Well, there&apos;s no requirement that it be any more accurate than that.  I was just curious.

Fixed the comment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>318640</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-07 21:58:44 -0800</bug_when>
    <thetext>Attachment 75859 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/update-webkit&apos;]&quot; exit_code: 2
Updating OpenSource
Incomplete data: Delta source ended unexpectedly at /usr/lib/git-core/git-svn line 5061

Died at WebKitTools/Scripts/update-webkit line 132.


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321384</commentid>
    <comment_count>9</comment_count>
      <attachid>76433</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2010-12-13 13:56:12 -0800</bug_when>
    <thetext>Created attachment 76433
Patch

Rebased.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330653</commentid>
    <comment_count>10</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2011-01-06 23:07:52 -0800</bug_when>
    <thetext>Committed r75232: &lt;http://trac.webkit.org/changeset/75232&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71481</attachid>
            <date>2010-10-21 13:34:10 -0700</date>
            <delta_ts>2010-12-07 18:28:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47311-20101021133409.patch</filename>
            <type>text/plain</type>
            <size>7653</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA2YzZkYWI5OTA5MzhmYTBkYThiMGM5OTkxNzA5OWE5ZDc4YmYzZTM4Li41YWFjMTYw
YzE1YTc2NWQzMWY0ODAxMmU4YzQ3YzdiZGExMDg3ZmViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMTAtMjEgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVz
dHMgZm9yIEVudHJ5LmdldE1ldGFkYXRhIChGaWxlU3lzdGVtIEFQSSkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MzExCisKKyAgICAgICAgKiBmYXN0
L2ZpbGVzeXN0ZW0vb3AtZ2V0LW1ldGFkYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9maWxlc3lzdGVtL29wLWdldC1tZXRhZGF0YS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLWdldC1tZXRhZGF0YS5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9vcC10ZXN0cy1oZWxwZXIuanM6IFVw
ZGF0ZWQgZ2V0TWV0YWRhdGEKKyAgICAgICAgaW1wbGVtZW50YXRpb24uCisKIDIwMTAtMTAtMTgg
IEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IERpbWl0cmkgR2xhemtvdi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3Rl
bS9vcC1nZXQtbWV0YWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lz
dGVtL29wLWdldC1tZXRhZGF0YS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjc5ODc3NzZlZTY2
MjlkZDc2NWNmNWEzMzM1ZTlkM2I5OGJjNjVmZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1nZXQtbWV0YWRhdGEtZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsMjEgQEAKKyogUnVubmluZzogR2V0TWV0YWRhdGEKK1BBU1MgU3VjY2VlZGVkOiAiLyIuZ2V0
TWV0YWRhdGEoKQorUEFTUyBuZXcgRGF0ZSgpIGlzID49IHRoaXMuZW52aXJvbm1lbnRbIi8ubW9k
aWZpY2F0aW9uVGltZSJdCitQQVNTIFN1Y2NlZWRlZDogIi8iLmdldERpcmVjdG9yeSgiL2EiKQor
UEFTUyBTdWNjZWVkZWQ6ICIvYSIuZ2V0TWV0YWRhdGEoKQorUEFTUyB0aGlzLmVudmlyb25tZW50
WyIvYS5tb2RpZmljYXRpb25UaW1lIl0gaXMgPj0gdGhpcy5yb3VuZGVkU3RhcnREYXRlCitQQVNT
IG5ldyBEYXRlKCkgaXMgPj0gdGhpcy5lbnZpcm9ubWVudFsiL2EubW9kaWZpY2F0aW9uVGltZSJd
CitQQVNTIFN1Y2NlZWRlZDogIi8iLmdldEZpbGUoIi9iIikKK1BBU1MgU3VjY2VlZGVkOiAiL2Ii
LmdldE1ldGFkYXRhKCkKK1BBU1MgdGhpcy5lbnZpcm9ubWVudFsiL2IubW9kaWZpY2F0aW9uVGlt
ZSJdIGlzID49IHRoaXMucm91bmRlZFN0YXJ0RGF0ZQorUEFTUyBuZXcgRGF0ZSgpIGlzID49IHRo
aXMuZW52aXJvbm1lbnRbIi9iLm1vZGlmaWNhdGlvblRpbWUiXQorUEFTUyBTdWNjZWVkZWQ6ICIv
dG1wIi5yZW1vdmUoKQorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlICsgIiIgaXMgIjgiCitQ
QVNTIHRoaXMuZW52aXJvbm1lbnRbIi9hLm1vZGlmaWNhdGlvblRpbWUiXSBpcyA+PSB0aGlzLmVu
dmlyb25tZW50WyIvLm1vZGlmaWNhdGlvblRpbWUiXQorUEFTUyB0aGlzLmVudmlyb25tZW50WyIv
Yi5tb2RpZmljYXRpb25UaW1lIl0gaXMgPj0gdGhpcy5lbnZpcm9ubWVudFsiLy5tb2RpZmljYXRp
b25UaW1lIl0KK1BBU1MgdGhpcy5lbnZpcm9ubWVudFsiL2IubW9kaWZpY2F0aW9uVGltZSJdIGlz
ID49IHRoaXMuZW52aXJvbm1lbnRbIi9hLm1vZGlmaWNhdGlvblRpbWUiXQorRmluaXNoZWQgcnVu
bmluZyB0ZXN0cy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01Q
TEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtZ2V0LW1l
dGFkYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtZ2V0LW1ldGFkYXRh
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uNGUxZjc0NjgzMmFiZDU5Mjc2YzNlNGM4MWEwMGU0ODU0YjY1YjQ2
ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1nZXQt
bWV0YWRhdGEuaHRtbApAQCAtMCwwICsxLDE1IEBACis8aHRtbD4KKzxoZWFkPgorPGxpbmsgcmVs
PSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1zdHlsZS5jc3MiPgor
PHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ZzLXRlc3QtdXRpbC5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+
Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlwdCBzcmM9InJlc291cmNl
cy9vcC1nZXQtbWV0YWRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291cmNlcy9v
cC10ZXN0cy1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCisKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvb3AtZ2V0LW1ldGFk
YXRhLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9vcC1nZXQtbWV0
YWRhdGEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZjRhZGVhMDNkYjIwNjc2N2IwYzM3N2UzODZjMDNhMzMwYThk
OTUxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNv
dXJjZXMvb3AtZ2V0LW1ldGFkYXRhLmpzCkBAIC0wLDAgKzEsMjEgQEAKK3ZhciB0ZXN0Q2FzZXMg
PSBbCisgICAgeworICAgICAgICBuYW1lOiAnR2V0TWV0YWRhdGEnLAorICAgICAgICBwcmVjb25k
aXRpb246IFsKKyAgICAgICAgICAgIHtmdWxsUGF0aDonL3RtcCd9LAorICAgICAgICBdLAorICAg
ICAgICB0ZXN0czogWworICAgICAgICAgICAgZnVuY3Rpb24oaGVscGVyKSB7IGhlbHBlci5nZXRN
ZXRhZGF0YSgnLycpOyB9LAorICAgICAgICAgICAgZnVuY3Rpb24oaGVscGVyKSB7IGhlbHBlci5n
ZXREaXJlY3RvcnkoJy8nLCAnL2EnLCB7Y3JlYXRlOnRydWV9KTsgfSwKKyAgICAgICAgICAgIGZ1
bmN0aW9uKGhlbHBlcikgeyBoZWxwZXIuZ2V0TWV0YWRhdGEoJy9hJyk7IH0sCisgICAgICAgICAg
ICBmdW5jdGlvbihoZWxwZXIpIHsgaGVscGVyLmdldEZpbGUoJy8nLCAnL2InLCB7Y3JlYXRlOnRy
dWV9KTsgfSwKKyAgICAgICAgICAgIGZ1bmN0aW9uKGhlbHBlcikgeyBoZWxwZXIuZ2V0TWV0YWRh
dGEoJy9iJyk7IH0sCisgICAgICAgICAgICBmdW5jdGlvbihoZWxwZXIpIHsgaGVscGVyLnJlbW92
ZSgnL3RtcCcpOyB9LAorICAgICAgICAgICAgZnVuY3Rpb24oaGVscGVyKSB7IGhlbHBlci5nZXRN
ZXRhZGF0YSgnL3RtcCcsIEZpbGVFcnJvci5OT1RfRk9VTkRfRVJSKTsgfSwKKyAgICAgICAgICAg
IGZ1bmN0aW9uKGhlbHBlcikgeyBoZWxwZXIuc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoJy9h
Lm1vZGlmaWNhdGlvblRpbWUnLCAnLy5tb2RpZmljYXRpb25UaW1lJyk7IH0sCisgICAgICAgICAg
ICBmdW5jdGlvbihoZWxwZXIpIHsgaGVscGVyLnNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKCcv
Yi5tb2RpZmljYXRpb25UaW1lJywgJy8ubW9kaWZpY2F0aW9uVGltZScpOyB9LAorICAgICAgICAg
ICAgZnVuY3Rpb24oaGVscGVyKSB7IGhlbHBlci5zaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCgn
L2IubW9kaWZpY2F0aW9uVGltZScsICcvYS5tb2RpZmljYXRpb25UaW1lJyk7IH0KKyAgICAgICAg
XSwKKyAgICAgICAgcG9zdGNvbmRpdGlvbjogWyBdLAorICAgIH0sCitdOwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9vcC10ZXN0cy1oZWxwZXIuanMg
Yi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLXRlc3RzLWhlbHBlci5q
cwppbmRleCA1MDUwMWVlNGJiNDYwZjZhMjczYmFiZTkzMTczY2U1ZTZhOGJiZDBhLi5iZjM3YjBj
ZTEyMDcyZTdmMzdkN2E4Yzg3OWQyNGIzYzBkM2Q4ODBmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLXRlc3RzLWhlbHBlci5qcworKysgYi9MYXlv
dXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLXRlc3RzLWhlbHBlci5qcwpAQCAt
MjEzLDYgKzIxMywyNCBAQCBmdW5jdGlvbiBydW5PcGVyYXRpb25UZXN0KGZpbGVTeXN0ZW0sIHRl
c3RDYXNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spCiAgICAgICAgICAgICB0aGlz
LnJ1bk5leHRUZXN0KCk7CiAgICAgICAgIH07CiAKKyAgICAgICAgdGhpcy50ZXN0TWV0YWRhdGFT
dWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihtZXRhZGF0YSwgZW50cnkpCisgICAgICAgIHsKKyAg
ICAgICAgICAgIGlmICghdGhpcy5leHBlY3RlZEVycm9yQ29kZSkgeworICAgICAgICAgICAgICAg
IHRlc3RQYXNzZWQoJ1N1Y2NlZWRlZDogJyArIHRoaXMuc3RhZ2UpOworICAgICAgICAgICAgICAg
IHZhciBzeW1ib2wgPSBlbnRyeSArICcubW9kaWZpY2F0aW9uVGltZSc7CisgICAgICAgICAgICAg
ICAgdGhpcy5lbnZpcm9ubWVudFtzeW1ib2xdID0gbWV0YWRhdGEubW9kaWZpY2F0aW9uVGltZTsK
KworICAgICAgICAgICAgICAgIHZhciBlbnRyeU1ldGFkYXRhU3RyaW5nID0gJ3RoaXMuZW52aXJv
bm1lbnRbIicgKyBzeW1ib2wgKyAnIl0nOworICAgICAgICAgICAgICAgIGlmIChlbnRyeSAhPSAn
LycpCisgICAgICAgICAgICAgICAgICAgIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsLmFwcGx5
KHRoaXMsIFtlbnRyeU1ldGFkYXRhU3RyaW5nLCAndGhpcy5yb3VuZGVkU3RhcnREYXRlJ10pOwor
ICAgICAgICAgICAgICAgIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsLmFwcGx5KHRoaXMsIFsn
bmV3IERhdGUoKScsIGVudHJ5TWV0YWRhdGFTdHJpbmddKTsKKyAgICAgICAgICAgICAgICB0aGlz
LnJ1bk5leHRUZXN0KCk7CisgICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgICAgIHRl
c3RGYWlsZWQoJ1VuZXhwZWN0ZWRseSBzdWNjZWVkZWQgd2hpbGUgJyArIHRoaXMuc3RhZ2UpOwor
ICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JDYWxsYmFjaygpOworICAgICAgICAgICAgfQorICAg
ICAgICAgfTsKKwogICAgICAgICB0aGlzLnRlc3RFcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJy
b3IpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICh0aGlzLmV4cGVjdGVkRXJyb3JDb2RlKSB7
CkBAIC0yNTMsNyArMjcxLDcgQEAgZnVuY3Rpb24gcnVuT3BlcmF0aW9uVGVzdChmaWxlU3lzdGVt
LCB0ZXN0Q2FzZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKQogICAgICAgICB7CiAg
ICAgICAgICAgICB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlID0gZXhwZWN0ZWRFcnJvckNvZGU7CiAg
ICAgICAgICAgICB0aGlzLnN0YWdlID0gJyInICsgZW50cnkgKyAnIi5nZXRNZXRhZGF0YSgpJzsK
LSAgICAgICAgICAgIHRoaXMuZW52aXJvbm1lbnRbZW50cnldLmdldE1ldGFkYXRhKGJpbmRDYWxs
YmFjayh0aGlzLCB0aGlzLnRlc3RTdWNjZXNzQ2FsbGJhY2spLCBiaW5kQ2FsbGJhY2sodGhpcywg
dGhpcy50ZXN0RXJyb3JDYWxsYmFjaykpOworICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudFtl
bnRyeV0uZ2V0TWV0YWRhdGEoYmluZENhbGxiYWNrKHRoaXMsIHRoaXMudGVzdE1ldGFkYXRhU3Vj
Y2Vzc0NhbGxiYWNrLCBlbnRyeSksIGJpbmRDYWxsYmFjayh0aGlzLCB0aGlzLnRlc3RFcnJvckNh
bGxiYWNrKSk7CiAgICAgICAgIH07CiAKICAgICAgICAgdGhpcy5yZW1vdmUgPSBmdW5jdGlvbihl
bnRyeSwgZXhwZWN0ZWRFcnJvckNvZGUpCkBAIC0yOTMsMTEgKzMxMSwyNSBAQCBmdW5jdGlvbiBy
dW5PcGVyYXRpb25UZXN0KGZpbGVTeXN0ZW0sIHRlc3RDYXNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVy
cm9yQ2FsbGJhY2spCiAgICAgICAgICAgICB0aGlzLmVudmlyb25tZW50W2VudHJ5XS5tb3ZlVG8o
dGhpcy5lbnZpcm9ubWVudFtkZXN0aW5hdGlvblBhcmVudF0sIG5ld05hbWUsIGJpbmRDYWxsYmFj
ayh0aGlzLCB0aGlzLnRlc3RTdWNjZXNzQ2FsbGJhY2spLCBiaW5kQ2FsbGJhY2sodGhpcywgdGhp
cy50ZXN0RXJyb3JDYWxsYmFjaykpOwogICAgICAgICB9OwogCisgICAgICAgIHRoaXMuc2hvdWxk
QmUgPSBmdW5jdGlvbihzeW1ib2wxLCBzeW1ib2wyKQorICAgICAgICB7CisgICAgICAgICAgICBz
aG91bGRCZS5hcHBseSh0aGlzLCBbJ3RoaXMuZW52aXJvbm1lbnRbIicgKyBzeW1ib2wxICsgJyJd
JywgJ3RoaXMuZW52aXJvbm1lbnRbIicgKyBzeW1ib2wyICsgJyJdJ10pOworICAgICAgICAgICAg
dGhpcy5ydW5OZXh0VGVzdCgpOworICAgICAgICB9OworCisgICAgICAgIHRoaXMuc2hvdWxkQmVH
cmVhdGVyVGhhbk9yRXF1YWwgPSBmdW5jdGlvbihzeW1ib2wxLCBzeW1ib2wyKQorICAgICAgICB7
CisgICAgICAgICAgICBzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbC5hcHBseSh0aGlzLCBbJ3Ro
aXMuZW52aXJvbm1lbnRbIicgKyBzeW1ib2wxICsgJyJdJywgJ3RoaXMuZW52aXJvbm1lbnRbIicg
KyBzeW1ib2wyICsgJyJdJ10pOworICAgICAgICAgICAgdGhpcy5ydW5OZXh0VGVzdCgpOworICAg
ICAgICAgfTsKKwogICAgICAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICB0aGlzLnN0YXJ0ID0gZnVuY3Rp
b24oKQogICAgICAgICB7CiAgICAgICAgICAgICB0aGlzLmV4cGVjdGVkRXJyb3JDb2RlID0gJyc7
CiAgICAgICAgICAgICB0aGlzLnN0YWdlID0gJ3Jlc2V0dGluZyBmaWxlc3lzdGVtJzsKKyAgICAg
ICAgICAgIC8vIFJlY29yZCByb3VuZGVkIHN0YXJ0IGRhdGUgKGN1cnJlbnQgdGltZSBtaW51cyA5
OTkgbXNlYykgaGVyZSBmb3IgdGhlIGNvbXBhcmlzb24uIEVudHJ5LmdldE1ldGFkYXRhKCkgbWF5
IHJldHVybiBtb3RkIGluIHNlY29uZHMgYWNjdXJhY3kgd2hpbGUgbmV3IERhdGUoKSBpcyBtaWxs
aXNlY29uZHMgYWNjdXJhY3kuCisgICAgICAgICAgICB0aGlzLnJvdW5kZWRTdGFydERhdGUgPSBu
ZXcgRGF0ZSgobmV3IERhdGUoKSkuZ2V0VGltZSgpIC0gOTk5KTsKICAgICAgICAgICAgIHJlbW92
ZUFsbEluRGlyZWN0b3J5KHRoaXMuZmlsZVN5c3RlbS5yb290LCBiaW5kQ2FsbGJhY2sodGhpcywg
dGhpcy5zZXRVcCksIGJpbmRDYWxsYmFjayh0aGlzLCB0aGlzLnRlc3RFcnJvckNhbGxiYWNrKSk7
CiAgICAgICAgIH07CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>75859</attachid>
            <date>2010-12-07 18:26:36 -0800</date>
            <delta_ts>2010-12-13 13:56:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47311-20101207182634.patch</filename>
            <type>text/plain</type>
            <size>10300</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA5ZTdiMzVhMGQ4NmE5ZDExODY2YzNkYmJlYjUxZjFiZmRlOGQyMDQwLi44ZDg2ZjNj
NWY5NWM0OWM1ZmE2MzgwMjA2ZjBjOTdjZmIzMWFjNjYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMTItMDcgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVz
dHMgZm9yIEVudHJ5LmdldE1ldGFkYXRhIChGaWxlU3lzdGVtIEFQSSkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MzExCisKKyAgICAgICAgKiBmYXN0
L2ZpbGVzeXN0ZW0vb3AtZ2V0LW1ldGFkYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9maWxlc3lzdGVtL29wLWdldC1tZXRhZGF0YS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLWdldC1tZXRhZGF0YS5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9vcC10ZXN0cy1oZWxwZXIuanM6IFVw
ZGF0ZWQgZ2V0TWV0YWRhdGEKKyAgICAgICAgaW1wbGVtZW50YXRpb24uCisKIDIwMTAtMTItMDYg
IE1paGFpIFBhcnBhcml0YSAgPG1paGFpcEBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZp
ZXdlZCBtb3ZlIG9mIENocm9taXVtIGJhc2VsaW5lcy4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3QvZmlsZXN5c3RlbS9vcC1nZXQtbWV0YWRhdGEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvZmFzdC9maWxlc3lzdGVtL29wLWdldC1tZXRhZGF0YS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNzM5Mzg0Mzg2ZDhlNjRlMmU1ODhlMmI2ZTE2NzAzMGMzYjI5MjdmZQotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1nZXQtbWV0YWRhdGEtZXhwZWN0
ZWQudHh0CkBAIC0wLDAgKzEsMjEgQEAKKyogUnVubmluZzogR2V0TWV0YWRhdGEKK1BBU1MgU3Vj
Y2VlZGVkOiAiLyIuZ2V0TWV0YWRhdGEoKQorUEFTUyBuZXcgRGF0ZSgpIGlzID49IHRoaXMuZW52
aXJvbm1lbnRbIi8ubW9kaWZpY2F0aW9uVGltZSJdCitQQVNTIFN1Y2NlZWRlZDogIi8iLmdldERp
cmVjdG9yeSgiL2EiKQorUEFTUyBTdWNjZWVkZWQ6ICIvYSIuZ2V0TWV0YWRhdGEoKQorUEFTUyB0
aGlzLmVudmlyb25tZW50WyIvYS5tb2RpZmljYXRpb25UaW1lIl0gaXMgPj0gdGhpcy5yb3VuZGVk
U3RhcnREYXRlCitQQVNTIG5ldyBEYXRlKCkgaXMgPj0gdGhpcy5lbnZpcm9ubWVudFsiL2EubW9k
aWZpY2F0aW9uVGltZSJdCitQQVNTIFN1Y2NlZWRlZDogIi8iLmdldEZpbGUoIi9iIikKK1BBU1Mg
U3VjY2VlZGVkOiAiL2IiLmdldE1ldGFkYXRhKCkKK1BBU1MgdGhpcy5lbnZpcm9ubWVudFsiL2Iu
bW9kaWZpY2F0aW9uVGltZSJdIGlzID49IHRoaXMucm91bmRlZFN0YXJ0RGF0ZQorUEFTUyBuZXcg
RGF0ZSgpIGlzID49IHRoaXMuZW52aXJvbm1lbnRbIi9iLm1vZGlmaWNhdGlvblRpbWUiXQorUEFT
UyBTdWNjZWVkZWQ6ICIvdG1wIi5yZW1vdmUoKQorUEFTUyB0aGlzLmV4cGVjdGVkRXJyb3JDb2Rl
ICsgIiIgaXMgIjEiCitQQVNTIHRoaXMuZW52aXJvbm1lbnRbIi9hLm1vZGlmaWNhdGlvblRpbWUi
XSBpcyA+PSB0aGlzLmVudmlyb25tZW50WyIvLm1vZGlmaWNhdGlvblRpbWUiXQorUEFTUyB0aGlz
LmVudmlyb25tZW50WyIvYi5tb2RpZmljYXRpb25UaW1lIl0gaXMgPj0gdGhpcy5lbnZpcm9ubWVu
dFsiLy5tb2RpZmljYXRpb25UaW1lIl0KK1BBU1MgdGhpcy5lbnZpcm9ubWVudFsiL2IubW9kaWZp
Y2F0aW9uVGltZSJdIGlzID49IHRoaXMuZW52aXJvbm1lbnRbIi9hLm1vZGlmaWNhdGlvblRpbWUi
XQorRmluaXNoZWQgcnVubmluZyB0ZXN0cy4KK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRy
dWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVz
eXN0ZW0vb3AtZ2V0LW1ldGFkYXRhLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0v
b3AtZ2V0LW1ldGFkYXRhLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNGUxZjc0NjgzMmFiZDU5Mjc2YzNlNGM4
MWEwMGU0ODU0YjY1YjQ2ZQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZmls
ZXN5c3RlbS9vcC1nZXQtbWV0YWRhdGEuaHRtbApAQCAtMCwwICsxLDE1IEBACis8aHRtbD4KKzxo
ZWFkPgorPGxpbmsgcmVsPSJzdHlsZXNoZWV0IiBocmVmPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVz
dC1zdHlsZS5jc3MiPgorPHNjcmlwdCBzcmM9Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL2ZzLXRlc3QtdXRpbC5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKzxkaXYgaWQ9ImNvbnNvbGUiPjwvZGl2PgorPHNjcmlw
dCBzcmM9InJlc291cmNlcy9vcC1nZXQtbWV0YWRhdGEuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBz
cmM9InJlc291cmNlcy9vcC10ZXN0cy1oZWxwZXIuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9
Ii4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJj
ZXMvb3AtZ2V0LW1ldGFkYXRhLmpzIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291
cmNlcy9vcC1nZXQtbWV0YWRhdGEuanMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZjRhZGVhMDNkYjIwNjc2N2IwYzM3
N2UzODZjMDNhMzMwYThkOTUxYQotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS9yZXNvdXJjZXMvb3AtZ2V0LW1ldGFkYXRhLmpzCkBAIC0wLDAgKzEsMjEgQEAK
K3ZhciB0ZXN0Q2FzZXMgPSBbCisgICAgeworICAgICAgICBuYW1lOiAnR2V0TWV0YWRhdGEnLAor
ICAgICAgICBwcmVjb25kaXRpb246IFsKKyAgICAgICAgICAgIHtmdWxsUGF0aDonL3RtcCd9LAor
ICAgICAgICBdLAorICAgICAgICB0ZXN0czogWworICAgICAgICAgICAgZnVuY3Rpb24oaGVscGVy
KSB7IGhlbHBlci5nZXRNZXRhZGF0YSgnLycpOyB9LAorICAgICAgICAgICAgZnVuY3Rpb24oaGVs
cGVyKSB7IGhlbHBlci5nZXREaXJlY3RvcnkoJy8nLCAnL2EnLCB7Y3JlYXRlOnRydWV9KTsgfSwK
KyAgICAgICAgICAgIGZ1bmN0aW9uKGhlbHBlcikgeyBoZWxwZXIuZ2V0TWV0YWRhdGEoJy9hJyk7
IH0sCisgICAgICAgICAgICBmdW5jdGlvbihoZWxwZXIpIHsgaGVscGVyLmdldEZpbGUoJy8nLCAn
L2InLCB7Y3JlYXRlOnRydWV9KTsgfSwKKyAgICAgICAgICAgIGZ1bmN0aW9uKGhlbHBlcikgeyBo
ZWxwZXIuZ2V0TWV0YWRhdGEoJy9iJyk7IH0sCisgICAgICAgICAgICBmdW5jdGlvbihoZWxwZXIp
IHsgaGVscGVyLnJlbW92ZSgnL3RtcCcpOyB9LAorICAgICAgICAgICAgZnVuY3Rpb24oaGVscGVy
KSB7IGhlbHBlci5nZXRNZXRhZGF0YSgnL3RtcCcsIEZpbGVFcnJvci5OT1RfRk9VTkRfRVJSKTsg
fSwKKyAgICAgICAgICAgIGZ1bmN0aW9uKGhlbHBlcikgeyBoZWxwZXIuc2hvdWxkQmVHcmVhdGVy
VGhhbk9yRXF1YWwoJy9hLm1vZGlmaWNhdGlvblRpbWUnLCAnLy5tb2RpZmljYXRpb25UaW1lJyk7
IH0sCisgICAgICAgICAgICBmdW5jdGlvbihoZWxwZXIpIHsgaGVscGVyLnNob3VsZEJlR3JlYXRl
clRoYW5PckVxdWFsKCcvYi5tb2RpZmljYXRpb25UaW1lJywgJy8ubW9kaWZpY2F0aW9uVGltZScp
OyB9LAorICAgICAgICAgICAgZnVuY3Rpb24oaGVscGVyKSB7IGhlbHBlci5zaG91bGRCZUdyZWF0
ZXJUaGFuT3JFcXVhbCgnL2IubW9kaWZpY2F0aW9uVGltZScsICcvYS5tb2RpZmljYXRpb25UaW1l
Jyk7IH0KKyAgICAgICAgXSwKKyAgICAgICAgcG9zdGNvbmRpdGlvbjogWyBdLAorICAgIH0sCitd
OwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9vcC10
ZXN0cy1oZWxwZXIuanMgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29w
LXRlc3RzLWhlbHBlci5qcwppbmRleCA1MDUwMWVlNGJiNDYwZjZhMjczYmFiZTkzMTczY2U1ZTZh
OGJiZDBhLi44Y2UyMTBhZWE1ZTc5ZGZlMmEwMGUxMjhjMzNiMDI3MzY5OTNmOWI1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLXRlc3RzLWhlbHBl
ci5qcworKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLXRlc3Rz
LWhlbHBlci5qcwpAQCAtMTQxLDE1ICsxNDEsMTggQEAgZnVuY3Rpb24gcnVuT3BlcmF0aW9uVGVz
dChmaWxlU3lzdGVtLCB0ZXN0Q2FzZSwgc3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKQog
ICAgICAgICB0aGlzLmN1cnJlbnRSZWFkZXIgPSBudWxsOwogICAgICAgICB0aGlzLnJlYWRFbnRy
aWVzID0gW107CiAKKyAgICAgICAgdGhpcy5nZXRTeW1ib2xTdHJpbmcgPSBmdW5jdGlvbihzeW1i
b2wpCisgICAgICAgIHsKKyAgICAgICAgICAgIHJldHVybiAndGhpcy5lbnZpcm9ubWVudFsiJyAr
IHN5bWJvbCArICciXSc7CisgICAgICAgIH07CisKICAgICAgICAgdGhpcy50ZXN0U3VjY2Vzc0Nh
bGxiYWNrID0gZnVuY3Rpb24oKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIXRoaXMuZXhw
ZWN0ZWRFcnJvckNvZGUpIHsKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdTdWNjZWVkZWQ6
ICcgKyB0aGlzLnN0YWdlKTsKICAgICAgICAgICAgICAgICB0aGlzLnJ1bk5leHRUZXN0KCk7Ci0g
ICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAg
dGVzdEZhaWxlZCgnVW5leHBlY3RlZGx5IHN1Y2NlZWRlZCB3aGlsZSAnICsgdGhpcy5zdGFnZSk7
Ci0gICAgICAgICAgICAgICAgdGhpcy5lcnJvckNhbGxiYWNrKCk7Ci0gICAgICAgICAgICB9CiAg
ICAgICAgIH07CiAKICAgICAgICAgdGhpcy5lbnRyeSA9IG51bGw7CkBAIC0xNjIsMTAgKzE2NSw4
IEBAIGZ1bmN0aW9uIHJ1bk9wZXJhdGlvblRlc3QoZmlsZVN5c3RlbSwgdGVzdENhc2UsIHN1Y2Nl
c3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykKICAgICAgICAgICAgICAgICBzaG91bGRCZS5hcHBs
eSh0aGlzLCBbJ3RoaXMuZW52aXJvbm1lbnRbdGhpcy5lbnRyeS5mdWxsUGF0aF0uaXNGaWxlICsg
IiInLCAnIicgKyBlbnRyeS5pc0ZpbGUgKyAnIiddKTsKICAgICAgICAgICAgICAgICBzaG91bGRC
ZS5hcHBseSh0aGlzLCBbJ3RoaXMuZW52aXJvbm1lbnRbdGhpcy5lbnRyeS5mdWxsUGF0aF0uaXNE
aXJlY3RvcnkgKyAiIicsICciJyArIGVudHJ5LmlzRGlyZWN0b3J5ICsgJyInXSk7CiAgICAgICAg
ICAgICAgICAgdGhpcy5ydW5OZXh0VGVzdCgpOwotICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAg
ICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ1VuZXhwZWN0ZWRseSBz
dWNjZWVkZWQgd2hpbGUgJyArIHRoaXMuc3RhZ2UpOwotICAgICAgICAgICAgICAgIHRoaXMuZXJy
b3JDYWxsYmFjayhlcnJvcik7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH07CiAKICAgICAgICAg
dGhpcy50ZXN0Q3JlYXRlU3VjY2Vzc0NhbGxiYWNrID0gZnVuY3Rpb24oZW50cnkpCkBAIC0xNzQs
MTAgKzE3NSw4IEBAIGZ1bmN0aW9uIHJ1bk9wZXJhdGlvblRlc3QoZmlsZVN5c3RlbSwgdGVzdENh
c2UsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykKICAgICAgICAgICAgICAgICB0ZXN0
UGFzc2VkKCdTdWNjZWVkZWQ6ICcgKyB0aGlzLnN0YWdlKTsKICAgICAgICAgICAgICAgICB0aGlz
LmVudmlyb25tZW50W2VudHJ5LmZ1bGxQYXRoXSA9IGVudHJ5OwogICAgICAgICAgICAgICAgIHRo
aXMucnVuTmV4dFRlc3QoKTsKLSAgICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB9IGVs
c2UKICAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdVbmV4cGVjdGVkbHkgc3VjY2VlZGVkIHdo
aWxlICcgKyB0aGlzLnN0YWdlKTsKLSAgICAgICAgICAgICAgICB0aGlzLmVycm9yQ2FsbGJhY2so
KTsKLSAgICAgICAgICAgIH0KICAgICAgICAgfTsKIAogICAgICAgICB0aGlzLnRlc3RHZXRQYXJl
bnRTdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihlbnRyeSkKQEAgLTE4NiwxOSArMTg1LDE0IEBA
IGZ1bmN0aW9uIHJ1bk9wZXJhdGlvblRlc3QoZmlsZVN5c3RlbSwgdGVzdENhc2UsIHN1Y2Nlc3ND
YWxsYmFjaywgZXJyb3JDYWxsYmFjaykKICAgICAgICAgICAgICAgICB0ZXN0UGFzc2VkKCdTdWNj
ZWVkZWQ6ICcgKyB0aGlzLnN0YWdlKTsKICAgICAgICAgICAgICAgICBkZWJ1ZygnUGFyZW50IGVu
dHJ5OiAnICsgdG9TdHJpbmcoZW50cnkpKTsKICAgICAgICAgICAgICAgICB0aGlzLnJ1bk5leHRU
ZXN0KCk7Ci0gICAgICAgICAgICB9IGVsc2UgeworICAgICAgICAgICAgfSBlbHNlCiAgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgnVW5leHBlY3RlZGx5IHN1Y2NlZWRlZCB3aGlsZSAnICsgdGhp
cy5zdGFnZSk7Ci0gICAgICAgICAgICAgICAgdGhpcy5lcnJvckNhbGxiYWNrKCk7Ci0gICAgICAg
ICAgICB9CiAgICAgICAgIH07CiAKICAgICAgICAgdGhpcy50ZXN0UmVhZEVudHJpZXNTdWNjZXNz
Q2FsbGJhY2sgPSBmdW5jdGlvbihlbnRyaWVzKQogICAgICAgICB7Ci0gICAgICAgICAgICBpZiAo
dGhpcy5leHBlY3RlZEVycm9yQ29kZSkgeworICAgICAgICAgICAgaWYgKHRoaXMuZXhwZWN0ZWRF
cnJvckNvZGUpCiAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgnVW5leHBlY3RlZGx5IHN1Y2Nl
ZWRlZCB3aGlsZSAnICsgdGhpcy5zdGFnZSk7Ci0gICAgICAgICAgICAgICAgdGhpcy5lcnJvckNh
bGxiYWNrKGVycm9yKTsKLSAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICB9CiAK
ICAgICAgICAgICAgIGZvciAodmFyIGkgPSAwOyBpIDwgZW50cmllcy5sZW5ndGg7ICsraSkKICAg
ICAgICAgICAgICAgICB0aGlzLnJlYWRFbnRyaWVzLnB1c2goZW50cmllc1tpXSk7CkBAIC0yMTMs
NiArMjA3LDIyIEBAIGZ1bmN0aW9uIHJ1bk9wZXJhdGlvblRlc3QoZmlsZVN5c3RlbSwgdGVzdENh
c2UsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykKICAgICAgICAgICAgIHRoaXMucnVu
TmV4dFRlc3QoKTsKICAgICAgICAgfTsKIAorICAgICAgICB0aGlzLnRlc3RNZXRhZGF0YVN1Y2Nl
c3NDYWxsYmFjayA9IGZ1bmN0aW9uKG1ldGFkYXRhLCBlbnRyeSkKKyAgICAgICAgeworICAgICAg
ICAgICAgaWYgKCF0aGlzLmV4cGVjdGVkRXJyb3JDb2RlKSB7CisgICAgICAgICAgICAgICAgdGVz
dFBhc3NlZCgnU3VjY2VlZGVkOiAnICsgdGhpcy5zdGFnZSk7CisgICAgICAgICAgICAgICAgdmFy
IHN5bWJvbCA9IGVudHJ5ICsgJy5tb2RpZmljYXRpb25UaW1lJzsKKyAgICAgICAgICAgICAgICB0
aGlzLmVudmlyb25tZW50W3N5bWJvbF0gPSBtZXRhZGF0YS5tb2RpZmljYXRpb25UaW1lOworCisg
ICAgICAgICAgICAgICAgdmFyIGVudHJ5TWV0YWRhdGFTdHJpbmcgPSB0aGlzLmdldFN5bWJvbFN0
cmluZyhzeW1ib2wpOworICAgICAgICAgICAgICAgIGlmIChlbnRyeSAhPSAnLycpCisgICAgICAg
ICAgICAgICAgICAgIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsLmFwcGx5KHRoaXMsIFtlbnRy
eU1ldGFkYXRhU3RyaW5nLCAndGhpcy5yb3VuZGVkU3RhcnREYXRlJ10pOworICAgICAgICAgICAg
ICAgIHNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsLmFwcGx5KHRoaXMsIFsnbmV3IERhdGUoKScs
IGVudHJ5TWV0YWRhdGFTdHJpbmddKTsKKyAgICAgICAgICAgICAgICB0aGlzLnJ1bk5leHRUZXN0
KCk7CisgICAgICAgICAgICB9IGVsc2UKKyAgICAgICAgICAgICAgICB0ZXN0RmFpbGVkKCdVbmV4
cGVjdGVkbHkgc3VjY2VlZGVkIHdoaWxlICcgKyB0aGlzLnN0YWdlKTsKKyAgICAgICAgfTsKKwog
ICAgICAgICB0aGlzLnRlc3RFcnJvckNhbGxiYWNrID0gZnVuY3Rpb24oZXJyb3IpCiAgICAgICAg
IHsKICAgICAgICAgICAgIGlmICh0aGlzLmV4cGVjdGVkRXJyb3JDb2RlKSB7CkBAIC0yNTMsNyAr
MjYzLDcgQEAgZnVuY3Rpb24gcnVuT3BlcmF0aW9uVGVzdChmaWxlU3lzdGVtLCB0ZXN0Q2FzZSwg
c3VjY2Vzc0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKQogICAgICAgICB7CiAgICAgICAgICAgICB0
aGlzLmV4cGVjdGVkRXJyb3JDb2RlID0gZXhwZWN0ZWRFcnJvckNvZGU7CiAgICAgICAgICAgICB0
aGlzLnN0YWdlID0gJyInICsgZW50cnkgKyAnIi5nZXRNZXRhZGF0YSgpJzsKLSAgICAgICAgICAg
IHRoaXMuZW52aXJvbm1lbnRbZW50cnldLmdldE1ldGFkYXRhKGJpbmRDYWxsYmFjayh0aGlzLCB0
aGlzLnRlc3RTdWNjZXNzQ2FsbGJhY2spLCBiaW5kQ2FsbGJhY2sodGhpcywgdGhpcy50ZXN0RXJy
b3JDYWxsYmFjaykpOworICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudFtlbnRyeV0uZ2V0TWV0
YWRhdGEoYmluZENhbGxiYWNrKHRoaXMsIHRoaXMudGVzdE1ldGFkYXRhU3VjY2Vzc0NhbGxiYWNr
LCBlbnRyeSksIGJpbmRDYWxsYmFjayh0aGlzLCB0aGlzLnRlc3RFcnJvckNhbGxiYWNrKSk7CiAg
ICAgICAgIH07CiAKICAgICAgICAgdGhpcy5yZW1vdmUgPSBmdW5jdGlvbihlbnRyeSwgZXhwZWN0
ZWRFcnJvckNvZGUpCkBAIC0yOTMsMTEgKzMwMywyNSBAQCBmdW5jdGlvbiBydW5PcGVyYXRpb25U
ZXN0KGZpbGVTeXN0ZW0sIHRlc3RDYXNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2sp
CiAgICAgICAgICAgICB0aGlzLmVudmlyb25tZW50W2VudHJ5XS5tb3ZlVG8odGhpcy5lbnZpcm9u
bWVudFtkZXN0aW5hdGlvblBhcmVudF0sIG5ld05hbWUsIGJpbmRDYWxsYmFjayh0aGlzLCB0aGlz
LnRlc3RTdWNjZXNzQ2FsbGJhY2spLCBiaW5kQ2FsbGJhY2sodGhpcywgdGhpcy50ZXN0RXJyb3JD
YWxsYmFjaykpOwogICAgICAgICB9OwogCisgICAgICAgIHRoaXMuc2hvdWxkQmUgPSBmdW5jdGlv
bihzeW1ib2wxLCBzeW1ib2wyKQorICAgICAgICB7CisgICAgICAgICAgICBzaG91bGRCZS5hcHBs
eSh0aGlzLCBbdGhpcy5nZXRTeW1ib2xTdHJpbmcoc3ltYm9sMSksIHRoaXMuZ2V0U3ltYm9sU3Ry
aW5nKHN5bWJvbDIpXSk7CisgICAgICAgICAgICB0aGlzLnJ1bk5leHRUZXN0KCk7CisgICAgICAg
IH07CisKKyAgICAgICAgdGhpcy5zaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCA9IGZ1bmN0aW9u
KHN5bWJvbDEsIHN5bWJvbDIpCisgICAgICAgIHsKKyAgICAgICAgICAgIHNob3VsZEJlR3JlYXRl
clRoYW5PckVxdWFsLmFwcGx5KHRoaXMsIFt0aGlzLmdldFN5bWJvbFN0cmluZyhzeW1ib2wxKSwg
dGhpcy5nZXRTeW1ib2xTdHJpbmcoc3ltYm9sMildKTsKKyAgICAgICAgICAgIHRoaXMucnVuTmV4
dFRlc3QoKTsKKyAgICAgICAgfTsKKwogICAgICAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogICAgICAgICB0aGlzLnN0
YXJ0ID0gZnVuY3Rpb24oKQogICAgICAgICB7CiAgICAgICAgICAgICB0aGlzLmV4cGVjdGVkRXJy
b3JDb2RlID0gJyc7CiAgICAgICAgICAgICB0aGlzLnN0YWdlID0gJ3Jlc2V0dGluZyBmaWxlc3lz
dGVtJzsKKyAgICAgICAgICAgIC8vIFJlY29yZCByb3VuZGVkIHN0YXJ0IGRhdGUgKGN1cnJlbnQg
dGltZSBtaW51cyA5OTkgbXNlYykgaGVyZSBmb3IgdGhlIGNvbXBhcmlzb24uIEVudHJ5LmdldE1l
dGFkYXRhKCkgbWF5IHJldHVybiB0aGUgbGFzdCBtb2QgdGltZSBpbiBzZWNvbmRzIGFjY3VyYWN5
IHdoaWxlIG5ldyBEYXRlKCkgaXMgbWlsbGlzZWNvbmRzIGFjY3VyYWN5LgorICAgICAgICAgICAg
dGhpcy5yb3VuZGVkU3RhcnREYXRlID0gbmV3IERhdGUoKG5ldyBEYXRlKCkpLmdldFRpbWUoKSAt
IDk5OSk7CiAgICAgICAgICAgICByZW1vdmVBbGxJbkRpcmVjdG9yeSh0aGlzLmZpbGVTeXN0ZW0u
cm9vdCwgYmluZENhbGxiYWNrKHRoaXMsIHRoaXMuc2V0VXApLCBiaW5kQ2FsbGJhY2sodGhpcywg
dGhpcy50ZXN0RXJyb3JDYWxsYmFjaykpOwogICAgICAgICB9OwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76433</attachid>
            <date>2010-12-13 13:56:12 -0800</date>
            <delta_ts>2010-12-27 00:55:21 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-47311-20101213135610.patch</filename>
            <type>text/plain</type>
            <size>10268</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCBiZDMxNjFhYmFiYjZiZDdjYzlmMGJmYzc1MzcyNzUyMWU5ZWRiNmUyLi42YTgyMDA1
YjkxYTZhZGZkMzMzYjFhZjIwOTUwZWEzMDQ1NThmNGIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYgQEAK
KzIwMTAtMTItMDcgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21pdW0ub3JnPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBsYXlvdXQgdGVz
dHMgZm9yIEVudHJ5LmdldE1ldGFkYXRhIChGaWxlU3lzdGVtIEFQSSkKKyAgICAgICAgaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTQ3MzExCisKKyAgICAgICAgKiBmYXN0
L2ZpbGVzeXN0ZW0vb3AtZ2V0LW1ldGFkYXRhLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAg
ICogZmFzdC9maWxlc3lzdGVtL29wLWdldC1tZXRhZGF0YS5odG1sOiBBZGRlZC4KKyAgICAgICAg
KiBmYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLWdldC1tZXRhZGF0YS5qczogQWRkZWQuCisg
ICAgICAgICogZmFzdC9maWxlc3lzdGVtL3Jlc291cmNlcy9vcC10ZXN0cy1oZWxwZXIuanM6IFVw
ZGF0ZWQgZ2V0TWV0YWRhdGEKKyAgICAgICAgaW1wbGVtZW50YXRpb24uCisKIDIwMTAtMTItMTMg
IEFudHRpIEtvaXZpc3RvICA8YW50dGlAYXBwbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQu
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtZ2V0LW1ldGFkYXRh
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvZmlsZXN5c3RlbS9vcC1nZXQtbWV0YWRh
dGEtZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczOTM4NDM4NmQ4ZTY0ZTJlNTg4ZTJiNmUxNjcw
MzBjM2IyOTI3ZmUKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0
ZW0vb3AtZ2V0LW1ldGFkYXRhLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDIxIEBACisqIFJ1bm5p
bmc6IEdldE1ldGFkYXRhCitQQVNTIFN1Y2NlZWRlZDogIi8iLmdldE1ldGFkYXRhKCkKK1BBU1Mg
bmV3IERhdGUoKSBpcyA+PSB0aGlzLmVudmlyb25tZW50WyIvLm1vZGlmaWNhdGlvblRpbWUiXQor
UEFTUyBTdWNjZWVkZWQ6ICIvIi5nZXREaXJlY3RvcnkoIi9hIikKK1BBU1MgU3VjY2VlZGVkOiAi
L2EiLmdldE1ldGFkYXRhKCkKK1BBU1MgdGhpcy5lbnZpcm9ubWVudFsiL2EubW9kaWZpY2F0aW9u
VGltZSJdIGlzID49IHRoaXMucm91bmRlZFN0YXJ0RGF0ZQorUEFTUyBuZXcgRGF0ZSgpIGlzID49
IHRoaXMuZW52aXJvbm1lbnRbIi9hLm1vZGlmaWNhdGlvblRpbWUiXQorUEFTUyBTdWNjZWVkZWQ6
ICIvIi5nZXRGaWxlKCIvYiIpCitQQVNTIFN1Y2NlZWRlZDogIi9iIi5nZXRNZXRhZGF0YSgpCitQ
QVNTIHRoaXMuZW52aXJvbm1lbnRbIi9iLm1vZGlmaWNhdGlvblRpbWUiXSBpcyA+PSB0aGlzLnJv
dW5kZWRTdGFydERhdGUKK1BBU1MgbmV3IERhdGUoKSBpcyA+PSB0aGlzLmVudmlyb25tZW50WyIv
Yi5tb2RpZmljYXRpb25UaW1lIl0KK1BBU1MgU3VjY2VlZGVkOiAiL3RtcCIucmVtb3ZlKCkKK1BB
U1MgdGhpcy5leHBlY3RlZEVycm9yQ29kZSArICIiIGlzICIxIgorUEFTUyB0aGlzLmVudmlyb25t
ZW50WyIvYS5tb2RpZmljYXRpb25UaW1lIl0gaXMgPj0gdGhpcy5lbnZpcm9ubWVudFsiLy5tb2Rp
ZmljYXRpb25UaW1lIl0KK1BBU1MgdGhpcy5lbnZpcm9ubWVudFsiL2IubW9kaWZpY2F0aW9uVGlt
ZSJdIGlzID49IHRoaXMuZW52aXJvbm1lbnRbIi8ubW9kaWZpY2F0aW9uVGltZSJdCitQQVNTIHRo
aXMuZW52aXJvbm1lbnRbIi9iLm1vZGlmaWNhdGlvblRpbWUiXSBpcyA+PSB0aGlzLmVudmlyb25t
ZW50WyIvYS5tb2RpZmljYXRpb25UaW1lIl0KK0ZpbmlzaGVkIHJ1bm5pbmcgdGVzdHMuCitQQVNT
IHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLWdldC1tZXRhZGF0YS5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVtL29wLWdldC1tZXRhZGF0YS5odG1sCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjRlMWY3NDY4MzJhYmQ1OTI3NmMzZTRjODFhMDBlNDg1NGI2NWI0NmUKLS0tIC9kZXYvbnVsbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vb3AtZ2V0LW1ldGFkYXRhLmh0bWwKQEAg
LTAsMCArMSwxNSBAQAorPGh0bWw+Cis8aGVhZD4KKzxsaW5rIHJlbD0ic3R5bGVzaGVldCIgaHJl
Zj0iLi4vanMvcmVzb3VyY2VzL2pzLXRlc3Qtc3R5bGUuY3NzIj4KKzxzY3JpcHQgc3JjPSIuLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9mcy10ZXN0LXV0aWwuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cis8ZGl2IGlk
PSJjb25zb2xlIj48L2Rpdj4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvb3AtZ2V0LW1ldGFkYXRh
LmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvb3AtdGVzdHMtaGVscGVyLmpz
Ij48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0Lmpz
Ij48L3NjcmlwdD4KKzwvYm9keT4KKzwvaHRtbD4KKworCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLWdldC1tZXRhZGF0YS5qcyBiL0xheW91dFRl
c3RzL2Zhc3QvZmlsZXN5c3RlbS9yZXNvdXJjZXMvb3AtZ2V0LW1ldGFkYXRhLmpzCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmY0YWRlYTAzZGIyMDY3NjdiMGMzNzdlMzg2YzAzYTMzMGE4ZDk1MWEKLS0tIC9kZXYvbnVs
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2ZpbGVzeXN0ZW0vcmVzb3VyY2VzL29wLWdldC1tZXRh
ZGF0YS5qcwpAQCAtMCwwICsxLDIxIEBACit2YXIgdGVzdENhc2VzID0gWworICAgIHsKKyAgICAg
ICAgbmFtZTogJ0dldE1ldGFkYXRhJywKKyAgICAgICAgcHJlY29uZGl0aW9uOiBbCisgICAgICAg
ICAgICB7ZnVsbFBhdGg6Jy90bXAnfSwKKyAgICAgICAgXSwKKyAgICAgICAgdGVzdHM6IFsKKyAg
ICAgICAgICAgIGZ1bmN0aW9uKGhlbHBlcikgeyBoZWxwZXIuZ2V0TWV0YWRhdGEoJy8nKTsgfSwK
KyAgICAgICAgICAgIGZ1bmN0aW9uKGhlbHBlcikgeyBoZWxwZXIuZ2V0RGlyZWN0b3J5KCcvJywg
Jy9hJywge2NyZWF0ZTp0cnVlfSk7IH0sCisgICAgICAgICAgICBmdW5jdGlvbihoZWxwZXIpIHsg
aGVscGVyLmdldE1ldGFkYXRhKCcvYScpOyB9LAorICAgICAgICAgICAgZnVuY3Rpb24oaGVscGVy
KSB7IGhlbHBlci5nZXRGaWxlKCcvJywgJy9iJywge2NyZWF0ZTp0cnVlfSk7IH0sCisgICAgICAg
ICAgICBmdW5jdGlvbihoZWxwZXIpIHsgaGVscGVyLmdldE1ldGFkYXRhKCcvYicpOyB9LAorICAg
ICAgICAgICAgZnVuY3Rpb24oaGVscGVyKSB7IGhlbHBlci5yZW1vdmUoJy90bXAnKTsgfSwKKyAg
ICAgICAgICAgIGZ1bmN0aW9uKGhlbHBlcikgeyBoZWxwZXIuZ2V0TWV0YWRhdGEoJy90bXAnLCBG
aWxlRXJyb3IuTk9UX0ZPVU5EX0VSUik7IH0sCisgICAgICAgICAgICBmdW5jdGlvbihoZWxwZXIp
IHsgaGVscGVyLnNob3VsZEJlR3JlYXRlclRoYW5PckVxdWFsKCcvYS5tb2RpZmljYXRpb25UaW1l
JywgJy8ubW9kaWZpY2F0aW9uVGltZScpOyB9LAorICAgICAgICAgICAgZnVuY3Rpb24oaGVscGVy
KSB7IGhlbHBlci5zaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbCgnL2IubW9kaWZpY2F0aW9uVGlt
ZScsICcvLm1vZGlmaWNhdGlvblRpbWUnKTsgfSwKKyAgICAgICAgICAgIGZ1bmN0aW9uKGhlbHBl
cikgeyBoZWxwZXIuc2hvdWxkQmVHcmVhdGVyVGhhbk9yRXF1YWwoJy9iLm1vZGlmaWNhdGlvblRp
bWUnLCAnL2EubW9kaWZpY2F0aW9uVGltZScpOyB9CisgICAgICAgIF0sCisgICAgICAgIHBvc3Rj
b25kaXRpb246IFsgXSwKKyAgICB9LAorXTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZmlsZXN5c3RlbS9yZXNvdXJjZXMvb3AtdGVzdHMtaGVscGVyLmpzIGIvTGF5b3V0VGVzdHMvZmFz
dC9maWxlc3lzdGVtL3Jlc291cmNlcy9vcC10ZXN0cy1oZWxwZXIuanMKaW5kZXggNTA1MDFlZTRi
YjQ2MGY2YTI3M2JhYmU5MzE3M2NlNWU2YThiYmQwYS4uOGNlMjEwYWVhNWU3OWRmZTJhMDBlMTI4
YzMzYjAyNzM2OTkzZjliNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9maWxlc3lzdGVt
L3Jlc291cmNlcy9vcC10ZXN0cy1oZWxwZXIuanMKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9maWxl
c3lzdGVtL3Jlc291cmNlcy9vcC10ZXN0cy1oZWxwZXIuanMKQEAgLTE0MSwxNSArMTQxLDE4IEBA
IGZ1bmN0aW9uIHJ1bk9wZXJhdGlvblRlc3QoZmlsZVN5c3RlbSwgdGVzdENhc2UsIHN1Y2Nlc3ND
YWxsYmFjaywgZXJyb3JDYWxsYmFjaykKICAgICAgICAgdGhpcy5jdXJyZW50UmVhZGVyID0gbnVs
bDsKICAgICAgICAgdGhpcy5yZWFkRW50cmllcyA9IFtdOwogCisgICAgICAgIHRoaXMuZ2V0U3lt
Ym9sU3RyaW5nID0gZnVuY3Rpb24oc3ltYm9sKQorICAgICAgICB7CisgICAgICAgICAgICByZXR1
cm4gJ3RoaXMuZW52aXJvbm1lbnRbIicgKyBzeW1ib2wgKyAnIl0nOworICAgICAgICB9OworCiAg
ICAgICAgIHRoaXMudGVzdFN1Y2Nlc3NDYWxsYmFjayA9IGZ1bmN0aW9uKCkKICAgICAgICAgewog
ICAgICAgICAgICAgaWYgKCF0aGlzLmV4cGVjdGVkRXJyb3JDb2RlKSB7CiAgICAgICAgICAgICAg
ICAgdGVzdFBhc3NlZCgnU3VjY2VlZGVkOiAnICsgdGhpcy5zdGFnZSk7CiAgICAgICAgICAgICAg
ICAgdGhpcy5ydW5OZXh0VGVzdCgpOwotICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAgICAg
IH0gZWxzZQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ1VuZXhwZWN0ZWRseSBzdWNjZWVk
ZWQgd2hpbGUgJyArIHRoaXMuc3RhZ2UpOwotICAgICAgICAgICAgICAgIHRoaXMuZXJyb3JDYWxs
YmFjaygpOwotICAgICAgICAgICAgfQogICAgICAgICB9OwogCiAgICAgICAgIHRoaXMuZW50cnkg
PSBudWxsOwpAQCAtMTYyLDEwICsxNjUsOCBAQCBmdW5jdGlvbiBydW5PcGVyYXRpb25UZXN0KGZp
bGVTeXN0ZW0sIHRlc3RDYXNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spCiAgICAg
ICAgICAgICAgICAgc2hvdWxkQmUuYXBwbHkodGhpcywgWyd0aGlzLmVudmlyb25tZW50W3RoaXMu
ZW50cnkuZnVsbFBhdGhdLmlzRmlsZSArICIiJywgJyInICsgZW50cnkuaXNGaWxlICsgJyInXSk7
CiAgICAgICAgICAgICAgICAgc2hvdWxkQmUuYXBwbHkodGhpcywgWyd0aGlzLmVudmlyb25tZW50
W3RoaXMuZW50cnkuZnVsbFBhdGhdLmlzRGlyZWN0b3J5ICsgIiInLCAnIicgKyBlbnRyeS5pc0Rp
cmVjdG9yeSArICciJ10pOwogICAgICAgICAgICAgICAgIHRoaXMucnVuTmV4dFRlc3QoKTsKLSAg
ICAgICAgICAgIH0gZWxzZSB7CisgICAgICAgICAgICB9IGVsc2UKICAgICAgICAgICAgICAgICB0
ZXN0RmFpbGVkKCdVbmV4cGVjdGVkbHkgc3VjY2VlZGVkIHdoaWxlICcgKyB0aGlzLnN0YWdlKTsK
LSAgICAgICAgICAgICAgICB0aGlzLmVycm9yQ2FsbGJhY2soZXJyb3IpOwotICAgICAgICAgICAg
fQogICAgICAgICB9OwogCiAgICAgICAgIHRoaXMudGVzdENyZWF0ZVN1Y2Nlc3NDYWxsYmFjayA9
IGZ1bmN0aW9uKGVudHJ5KQpAQCAtMTc0LDEwICsxNzUsOCBAQCBmdW5jdGlvbiBydW5PcGVyYXRp
b25UZXN0KGZpbGVTeXN0ZW0sIHRlc3RDYXNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJh
Y2spCiAgICAgICAgICAgICAgICAgdGVzdFBhc3NlZCgnU3VjY2VlZGVkOiAnICsgdGhpcy5zdGFn
ZSk7CiAgICAgICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudFtlbnRyeS5mdWxsUGF0aF0gPSBl
bnRyeTsKICAgICAgICAgICAgICAgICB0aGlzLnJ1bk5leHRUZXN0KCk7Ci0gICAgICAgICAgICB9
IGVsc2UgeworICAgICAgICAgICAgfSBlbHNlCiAgICAgICAgICAgICAgICAgdGVzdEZhaWxlZCgn
VW5leHBlY3RlZGx5IHN1Y2NlZWRlZCB3aGlsZSAnICsgdGhpcy5zdGFnZSk7Ci0gICAgICAgICAg
ICAgICAgdGhpcy5lcnJvckNhbGxiYWNrKCk7Ci0gICAgICAgICAgICB9CiAgICAgICAgIH07CiAK
ICAgICAgICAgdGhpcy50ZXN0R2V0UGFyZW50U3VjY2Vzc0NhbGxiYWNrID0gZnVuY3Rpb24oZW50
cnkpCkBAIC0xODYsMTkgKzE4NSwxNCBAQCBmdW5jdGlvbiBydW5PcGVyYXRpb25UZXN0KGZpbGVT
eXN0ZW0sIHRlc3RDYXNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJhY2spCiAgICAgICAg
ICAgICAgICAgdGVzdFBhc3NlZCgnU3VjY2VlZGVkOiAnICsgdGhpcy5zdGFnZSk7CiAgICAgICAg
ICAgICAgICAgZGVidWcoJ1BhcmVudCBlbnRyeTogJyArIHRvU3RyaW5nKGVudHJ5KSk7CiAgICAg
ICAgICAgICAgICAgdGhpcy5ydW5OZXh0VGVzdCgpOwotICAgICAgICAgICAgfSBlbHNlIHsKKyAg
ICAgICAgICAgIH0gZWxzZQogICAgICAgICAgICAgICAgIHRlc3RGYWlsZWQoJ1VuZXhwZWN0ZWRs
eSBzdWNjZWVkZWQgd2hpbGUgJyArIHRoaXMuc3RhZ2UpOwotICAgICAgICAgICAgICAgIHRoaXMu
ZXJyb3JDYWxsYmFjaygpOwotICAgICAgICAgICAgfQogICAgICAgICB9OwogCiAgICAgICAgIHRo
aXMudGVzdFJlYWRFbnRyaWVzU3VjY2Vzc0NhbGxiYWNrID0gZnVuY3Rpb24oZW50cmllcykKICAg
ICAgICAgewotICAgICAgICAgICAgaWYgKHRoaXMuZXhwZWN0ZWRFcnJvckNvZGUpIHsKKyAgICAg
ICAgICAgIGlmICh0aGlzLmV4cGVjdGVkRXJyb3JDb2RlKQogICAgICAgICAgICAgICAgIHRlc3RG
YWlsZWQoJ1VuZXhwZWN0ZWRseSBzdWNjZWVkZWQgd2hpbGUgJyArIHRoaXMuc3RhZ2UpOwotICAg
ICAgICAgICAgICAgIHRoaXMuZXJyb3JDYWxsYmFjayhlcnJvcik7Ci0gICAgICAgICAgICAgICAg
cmV0dXJuOwotICAgICAgICAgICAgfQogCiAgICAgICAgICAgICBmb3IgKHZhciBpID0gMDsgaSA8
IGVudHJpZXMubGVuZ3RoOyArK2kpCiAgICAgICAgICAgICAgICAgdGhpcy5yZWFkRW50cmllcy5w
dXNoKGVudHJpZXNbaV0pOwpAQCAtMjEzLDYgKzIwNywyMiBAQCBmdW5jdGlvbiBydW5PcGVyYXRp
b25UZXN0KGZpbGVTeXN0ZW0sIHRlc3RDYXNlLCBzdWNjZXNzQ2FsbGJhY2ssIGVycm9yQ2FsbGJh
Y2spCiAgICAgICAgICAgICB0aGlzLnJ1bk5leHRUZXN0KCk7CiAgICAgICAgIH07CiAKKyAgICAg
ICAgdGhpcy50ZXN0TWV0YWRhdGFTdWNjZXNzQ2FsbGJhY2sgPSBmdW5jdGlvbihtZXRhZGF0YSwg
ZW50cnkpCisgICAgICAgIHsKKyAgICAgICAgICAgIGlmICghdGhpcy5leHBlY3RlZEVycm9yQ29k
ZSkgeworICAgICAgICAgICAgICAgIHRlc3RQYXNzZWQoJ1N1Y2NlZWRlZDogJyArIHRoaXMuc3Rh
Z2UpOworICAgICAgICAgICAgICAgIHZhciBzeW1ib2wgPSBlbnRyeSArICcubW9kaWZpY2F0aW9u
VGltZSc7CisgICAgICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudFtzeW1ib2xdID0gbWV0YWRh
dGEubW9kaWZpY2F0aW9uVGltZTsKKworICAgICAgICAgICAgICAgIHZhciBlbnRyeU1ldGFkYXRh
U3RyaW5nID0gdGhpcy5nZXRTeW1ib2xTdHJpbmcoc3ltYm9sKTsKKyAgICAgICAgICAgICAgICBp
ZiAoZW50cnkgIT0gJy8nKQorICAgICAgICAgICAgICAgICAgICBzaG91bGRCZUdyZWF0ZXJUaGFu
T3JFcXVhbC5hcHBseSh0aGlzLCBbZW50cnlNZXRhZGF0YVN0cmluZywgJ3RoaXMucm91bmRlZFN0
YXJ0RGF0ZSddKTsKKyAgICAgICAgICAgICAgICBzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbC5h
cHBseSh0aGlzLCBbJ25ldyBEYXRlKCknLCBlbnRyeU1ldGFkYXRhU3RyaW5nXSk7CisgICAgICAg
ICAgICAgICAgdGhpcy5ydW5OZXh0VGVzdCgpOworICAgICAgICAgICAgfSBlbHNlCisgICAgICAg
ICAgICAgICAgdGVzdEZhaWxlZCgnVW5leHBlY3RlZGx5IHN1Y2NlZWRlZCB3aGlsZSAnICsgdGhp
cy5zdGFnZSk7CisgICAgICAgIH07CisKICAgICAgICAgdGhpcy50ZXN0RXJyb3JDYWxsYmFjayA9
IGZ1bmN0aW9uKGVycm9yKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAodGhpcy5leHBlY3Rl
ZEVycm9yQ29kZSkgewpAQCAtMjUzLDcgKzI2Myw3IEBAIGZ1bmN0aW9uIHJ1bk9wZXJhdGlvblRl
c3QoZmlsZVN5c3RlbSwgdGVzdENhc2UsIHN1Y2Nlc3NDYWxsYmFjaywgZXJyb3JDYWxsYmFjaykK
ICAgICAgICAgewogICAgICAgICAgICAgdGhpcy5leHBlY3RlZEVycm9yQ29kZSA9IGV4cGVjdGVk
RXJyb3JDb2RlOwogICAgICAgICAgICAgdGhpcy5zdGFnZSA9ICciJyArIGVudHJ5ICsgJyIuZ2V0
TWV0YWRhdGEoKSc7Ci0gICAgICAgICAgICB0aGlzLmVudmlyb25tZW50W2VudHJ5XS5nZXRNZXRh
ZGF0YShiaW5kQ2FsbGJhY2sodGhpcywgdGhpcy50ZXN0U3VjY2Vzc0NhbGxiYWNrKSwgYmluZENh
bGxiYWNrKHRoaXMsIHRoaXMudGVzdEVycm9yQ2FsbGJhY2spKTsKKyAgICAgICAgICAgIHRoaXMu
ZW52aXJvbm1lbnRbZW50cnldLmdldE1ldGFkYXRhKGJpbmRDYWxsYmFjayh0aGlzLCB0aGlzLnRl
c3RNZXRhZGF0YVN1Y2Nlc3NDYWxsYmFjaywgZW50cnkpLCBiaW5kQ2FsbGJhY2sodGhpcywgdGhp
cy50ZXN0RXJyb3JDYWxsYmFjaykpOwogICAgICAgICB9OwogCiAgICAgICAgIHRoaXMucmVtb3Zl
ID0gZnVuY3Rpb24oZW50cnksIGV4cGVjdGVkRXJyb3JDb2RlKQpAQCAtMjkzLDExICszMDMsMjUg
QEAgZnVuY3Rpb24gcnVuT3BlcmF0aW9uVGVzdChmaWxlU3lzdGVtLCB0ZXN0Q2FzZSwgc3VjY2Vz
c0NhbGxiYWNrLCBlcnJvckNhbGxiYWNrKQogICAgICAgICAgICAgdGhpcy5lbnZpcm9ubWVudFtl
bnRyeV0ubW92ZVRvKHRoaXMuZW52aXJvbm1lbnRbZGVzdGluYXRpb25QYXJlbnRdLCBuZXdOYW1l
LCBiaW5kQ2FsbGJhY2sodGhpcywgdGhpcy50ZXN0U3VjY2Vzc0NhbGxiYWNrKSwgYmluZENhbGxi
YWNrKHRoaXMsIHRoaXMudGVzdEVycm9yQ2FsbGJhY2spKTsKICAgICAgICAgfTsKIAorICAgICAg
ICB0aGlzLnNob3VsZEJlID0gZnVuY3Rpb24oc3ltYm9sMSwgc3ltYm9sMikKKyAgICAgICAgewor
ICAgICAgICAgICAgc2hvdWxkQmUuYXBwbHkodGhpcywgW3RoaXMuZ2V0U3ltYm9sU3RyaW5nKHN5
bWJvbDEpLCB0aGlzLmdldFN5bWJvbFN0cmluZyhzeW1ib2wyKV0pOworICAgICAgICAgICAgdGhp
cy5ydW5OZXh0VGVzdCgpOworICAgICAgICB9OworCisgICAgICAgIHRoaXMuc2hvdWxkQmVHcmVh
dGVyVGhhbk9yRXF1YWwgPSBmdW5jdGlvbihzeW1ib2wxLCBzeW1ib2wyKQorICAgICAgICB7Cisg
ICAgICAgICAgICBzaG91bGRCZUdyZWF0ZXJUaGFuT3JFcXVhbC5hcHBseSh0aGlzLCBbdGhpcy5n
ZXRTeW1ib2xTdHJpbmcoc3ltYm9sMSksIHRoaXMuZ2V0U3ltYm9sU3RyaW5nKHN5bWJvbDIpXSk7
CisgICAgICAgICAgICB0aGlzLnJ1bk5leHRUZXN0KCk7CisgICAgICAgIH07CisKICAgICAgICAg
Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KICAgICAgICAgdGhpcy5zdGFydCA9IGZ1bmN0aW9uKCkKICAgICAgICAgewogICAg
ICAgICAgICAgdGhpcy5leHBlY3RlZEVycm9yQ29kZSA9ICcnOwogICAgICAgICAgICAgdGhpcy5z
dGFnZSA9ICdyZXNldHRpbmcgZmlsZXN5c3RlbSc7CisgICAgICAgICAgICAvLyBSZWNvcmQgcm91
bmRlZCBzdGFydCBkYXRlIChjdXJyZW50IHRpbWUgbWludXMgOTk5IG1zZWMpIGhlcmUgZm9yIHRo
ZSBjb21wYXJpc29uLiBFbnRyeS5nZXRNZXRhZGF0YSgpIG1heSByZXR1cm4gdGhlIGxhc3QgbW9k
IHRpbWUgaW4gc2Vjb25kcyBhY2N1cmFjeSB3aGlsZSBuZXcgRGF0ZSgpIGlzIG1pbGxpc2Vjb25k
cyBhY2N1cmFjeS4KKyAgICAgICAgICAgIHRoaXMucm91bmRlZFN0YXJ0RGF0ZSA9IG5ldyBEYXRl
KChuZXcgRGF0ZSgpKS5nZXRUaW1lKCkgLSA5OTkpOwogICAgICAgICAgICAgcmVtb3ZlQWxsSW5E
aXJlY3RvcnkodGhpcy5maWxlU3lzdGVtLnJvb3QsIGJpbmRDYWxsYmFjayh0aGlzLCB0aGlzLnNl
dFVwKSwgYmluZENhbGxiYWNrKHRoaXMsIHRoaXMudGVzdEVycm9yQ2FsbGJhY2spKTsKICAgICAg
ICAgfTsKIAo=
</data>
<flag name="review"
          id="67375"
          type_id="1"
          status="+"
          setter="levin"
    />
          </attachment>
      

    </bug>

</bugzilla>