<?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>77006</bug_id>
          
          <creation_ts>2012-01-25 06:47:14 -0800</creation_ts>
          <short_desc>[StorageTracker] Make one able to set the local storage (tracker) database dir&apos;s path</short_desc>
          <delta_ts>2012-02-01 15:32:57 -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>WebKit EFL</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>77107</blocked>
          <everconfirmed>0</everconfirmed>
          <reporter name="Gustavo Lima Chaves">glima</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>abarth</cc>
    
    <cc>adauria</cc>
    
    <cc>beidson</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>ggaren</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>joepeck</cc>
    
    <cc>leandro</cc>
    
    <cc>levin</cc>
    
    <cc>levin+threading</cc>
    
    <cc>lucas.de.marchi</cc>
    
    <cc>mjs</cc>
    
    <cc>rakuco</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>542230</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Lima Chaves">glima</who>
    <bug_when>2012-01-25 06:47:14 -0800</bug_when>
    <thetext>Make one able to set the local storage (tracker) database dir&apos;s path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543085</commentid>
    <comment_count>1</comment_count>
      <attachid>124111</attachid>
    <who name="Gustavo Lima Chaves">glima</who>
    <bug_when>2012-01-26 05:52:59 -0800</bug_when>
    <thetext>Created attachment 124111
Patch implementing proposed new local storage API</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543088</commentid>
    <comment_count>2</comment_count>
      <attachid>124111</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-26 05:53:31 -0800</bug_when>
    <thetext>Comment on attachment 124111
Patch implementing proposed new local storage API

Rejecting attachment 124111 from review queue.

glima@profusion.mobi does not have reviewer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have reviewer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have reviewer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your reviewer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543090</commentid>
    <comment_count>3</comment_count>
      <attachid>124111</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-01-26 05:54:11 -0800</bug_when>
    <thetext>Comment on attachment 124111
Patch implementing proposed new local storage API

Rejecting attachment 124111 from commit-queue.

glima@profusion.mobi does not have committer permissions according to http://trac.webkit.org/browser/trunk/Tools/Scripts/webkitpy/common/config/committers.py.

- If you do not have committer rights please read http://webkit.org/coding/contributing.html for instructions on how to use bugzilla flags.

- If you have committer rights please correct the error in Tools/Scripts/webkitpy/common/config/committers.py by adding yourself to the file (no review needed).  The commit-queue restarts itself every 2 hours.  After restart the commit-queue will correctly respect your committer rights.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543181</commentid>
    <comment_count>4</comment_count>
      <attachid>124125</attachid>
    <who name="Gustavo Lima Chaves">glima</who>
    <bug_when>2012-01-26 09:02:30 -0800</bug_when>
    <thetext>Created attachment 124125
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543225</commentid>
    <comment_count>5</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-01-26 10:03:20 -0800</bug_when>
    <thetext>Anton needs to take a look at this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543227</commentid>
    <comment_count>6</comment_count>
      <attachid>124125</attachid>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-01-26 10:04:40 -0800</bug_when>
    <thetext>Comment on attachment 124125
Patch

We don&apos;t normally check in code that is never exercised anywhere.

You say you want to add this as API.  WebCore is not an API layer.  Where is the new API?

Why are we doing this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543240</commentid>
    <comment_count>7</comment_count>
    <who name="Gustavo Lima Chaves">glima</who>
    <bug_when>2012-01-26 10:25:12 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (From update of attachment 124125 [details])
&gt; We don&apos;t normally check in code that is never exercised anywhere.
&gt; 
&gt; You say you want to add this as API.  WebCore is not an API layer.  Where is the new API?
&gt; 
&gt; Why are we doing this?

See the bug this one is blocking for usage. Sorry, by API I meant internal webcore interface, to be used by webkit ports. We are doing this because this new call makes sense for a port -- the EFL one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543256</commentid>
    <comment_count>8</comment_count>
    <who name="Brady Eidson">beidson</who>
    <bug_when>2012-01-26 10:39:42 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; (In reply to comment #6)
&gt; &gt; (From update of attachment 124125 [details] [details])
&gt; &gt; We don&apos;t normally check in code that is never exercised anywhere.
&gt; &gt; 
&gt; &gt; You say you want to add this as API.  WebCore is not an API layer.  Where is the new API?
&gt; &gt; 
&gt; &gt; Why are we doing this?
&gt; 
&gt; See the bug this one is blocking for usage. Sorry, by API I meant internal webcore interface, to be used by webkit ports. We are doing this because this new call makes sense for a port -- the EFL one.

I am extremely dubious that it is as simple as this patch here.

And we still wouldn&apos;t want new code checked in that is &quot;dead&quot; like this patch would be by itself.

Still waiting on Anton who wrote the StorageTracker initially and is the most intimately familiar with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543258</commentid>
    <comment_count>9</comment_count>
    <who name="Anton D&apos;Auria">adauria</who>
    <bug_when>2012-01-26 10:41:39 -0800</bug_when>
    <thetext>From the blocking bug (77107), it looks like what you&apos;d like to do is control the LocalStorage directory. StorageTracker shouldn&apos;t change LocalStorage directory. It needs to know what it is in order to manage its contents. StorageTracker is initialized in the Mac port with the LocalStorage directory. If you wish to use StorageTracker in the EFL port, you should pass the LocalStorage path to StorageTracker::initializeTracker. 

I don&apos;t see why you need to modify WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543287</commentid>
    <comment_count>10</comment_count>
    <who name="Anton D&apos;Auria">adauria</who>
    <bug_when>2012-01-26 11:02:09 -0800</bug_when>
    <thetext>If you want to change LocalStorage paths after StorageTracker initialization, then you&apos;ll need to clear m_originSet.

In setDatabaseDirectoryPath, you&apos;ll need to add:

{
    MutexLock lock(m_originSetGuard);
    m_originSet.clear();
}

Then, you can call importOriginIdentifiers(). importOriginIdentifiers writes to m_originSet and will lock m_originSetGuard again at that point.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543303</commentid>
    <comment_count>11</comment_count>
    <who name="Anton D&apos;Auria">adauria</who>
    <bug_when>2012-01-26 11:09:00 -0800</bug_when>
    <thetext>You&apos;ll need to return after saving the path string and clearing m_originSet, but before doing any importing.

// save new path
// lock m_originSetGuard and clear m_origin

if (!m_isActive)
    return;

importOriginIdentifiers();</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543401</commentid>
    <comment_count>12</comment_count>
    <who name="Gustavo Lima Chaves">glima</who>
    <bug_when>2012-01-26 12:49:15 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; You&apos;ll need to return after saving the path string and clearing m_originSet, but before doing any importing.
&gt; 
&gt; // save new path
&gt; // lock m_originSetGuard and clear m_origin
&gt; 
&gt; if (!m_isActive)
&gt;     return;
&gt; 
&gt; importOriginIdentifiers();

Thanks for the feedback on the logic, since you&apos;re giving them, I&apos;ll assume you get our point/reason a little :) This thing is we call initializeTracker() in our port, too, with &quot;~/.webkit&quot;. But that locks us down to a pre-set folder and, what we want is the browser being able to choose that. DatabaseTracker does that. I&apos;ll re-submit the patch with the corrections pointed out, thanks muchly.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543440</commentid>
    <comment_count>13</comment_count>
      <attachid>124172</attachid>
    <who name="Gustavo Lima Chaves">glima</who>
    <bug_when>2012-01-26 13:39:11 -0800</bug_when>
    <thetext>Created attachment 124172
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>543446</commentid>
    <comment_count>14</comment_count>
      <attachid>124172</attachid>
    <who name="Anton D&apos;Auria">adauria</who>
    <bug_when>2012-01-26 13:48:53 -0800</bug_when>
    <thetext>Comment on attachment 124172
Patch

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

&gt; Source/WebCore/storage/StorageTracker.cpp:101
&gt; +    if (!m_database.isOpen())

you mean, if (m_database.isOpen())

&gt; Source/WebCore/storage/StorageTracker.cpp:107
&gt; +    MutexLocker lockOrigins(m_originSetGuard);
&gt; +    m_originSet.clear();

m_originSetGuard needs to be unlocked because it&apos;s locked again in importOriginIdentifiers()
this will work:
{
    MutexLocker lockOrigins(m_originSetGuard);
    m_originSet.clear();
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>544020</commentid>
    <comment_count>15</comment_count>
      <attachid>124304</attachid>
    <who name="Gustavo Lima Chaves">glima</who>
    <bug_when>2012-01-27 06:25:29 -0800</bug_when>
    <thetext>Created attachment 124304
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>545959</commentid>
    <comment_count>16</comment_count>
    <who name="Gustavo Lima Chaves">glima</who>
    <bug_when>2012-01-31 05:11:15 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; &gt; Source/WebCore/storage/StorageTracker.cpp:101
&gt; &gt; +    if (!m_database.isOpen())
&gt; 
&gt; you mean, if (m_database.isOpen())

Oh, sorry, fixed.

&gt; m_originSetGuard needs to be unlocked because it&apos;s locked again in importOriginIdentifiers()
&gt; this will work:
&gt; {
&gt;     MutexLocker lockOrigins(m_originSetGuard);
&gt;     m_originSet.clear();
&gt; }

Yeah, got this lock-unlock idiom, now. Thanks for pointing out.
Is the patch acceptable now?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>546465</commentid>
    <comment_count>17</comment_count>
    <who name="Anton D&apos;Auria">adauria</who>
    <bug_when>2012-01-31 13:58:52 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; (In reply to comment #14)
&gt; &gt; &gt; Source/WebCore/storage/StorageTracker.cpp:101
&gt; &gt; &gt; +    if (!m_database.isOpen())
&gt; &gt; 
&gt; &gt; you mean, if (m_database.isOpen())
&gt; 
&gt; Oh, sorry, fixed.
&gt; 
&gt; &gt; m_originSetGuard needs to be unlocked because it&apos;s locked again in importOriginIdentifiers()
&gt; &gt; this will work:
&gt; &gt; {
&gt; &gt;     MutexLocker lockOrigins(m_originSetGuard);
&gt; &gt;     m_originSet.clear();
&gt; &gt; }
&gt; 
&gt; Yeah, got this lock-unlock idiom, now. Thanks for pointing out.
&gt; Is the patch acceptable now?

It looks like you didn&apos;t test the previous patch before submitting it for review :) Can you please make sure this one is tested? The patch looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547080</commentid>
    <comment_count>18</comment_count>
    <who name="Gustavo Lima Chaves">glima</who>
    <bug_when>2012-02-01 07:38:55 -0800</bug_when>
    <thetext>(In reply to comment #17)

&gt; It looks like you didn&apos;t test the previous patch before submitting it for review :) Can you please make sure this one is tested? The patch looks good to me.

Actually I had tested with HEAD, at the time, and both creation and removal of the tracker db on a custom location was working fine. Just did it now with current HEAD and it works like a charm. If you meant any test suite inclusion, just let me know.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547358</commentid>
    <comment_count>19</comment_count>
    <who name="Anton D&apos;Auria">adauria</who>
    <bug_when>2012-02-01 14:08:00 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (In reply to comment #17)
&gt; 
&gt; &gt; It looks like you didn&apos;t test the previous patch before submitting it for review :) Can you please make sure this one is tested? The patch looks good to me.
&gt; 
&gt; Actually I had tested with HEAD, at the time, and both creation and removal of the tracker db on a custom location was working fine. Just did it now with current HEAD and it works like a charm. If you meant any test suite inclusion, just let me know.

The patch looks good, so I&apos;m giving an unofficial r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547359</commentid>
    <comment_count>20</comment_count>
      <attachid>124304</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-02-01 14:12:13 -0800</bug_when>
    <thetext>Comment on attachment 124304
Patch

Based on Anton’s informal review and my own knowledge of the code, this looks fine, so review+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547436</commentid>
    <comment_count>21</comment_count>
      <attachid>124304</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 15:32:50 -0800</bug_when>
    <thetext>Comment on attachment 124304
Patch

Clearing flags on attachment: 124304

Committed r106506: &lt;http://trac.webkit.org/changeset/106506&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>547437</commentid>
    <comment_count>22</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-01 15:32:57 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124111</attachid>
            <date>2012-01-26 05:52:59 -0800</date>
            <delta_ts>2012-01-26 09:01:27 -0800</delta_ts>
            <desc>Patch implementing proposed new local storage API</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>2216</size>
            <attacher name="Gustavo Lima Chaves">glima</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCAyMTQ4NzZjLi4zMjUxMmM5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkg
QEAKKzIwMTItMDEtMjYgIEd1c3Rhdm8gTGltYSBDaGF2ZXMgIDxnbGltYUBwcm9mdXNpb24ubW9i
aT4KKworICAgICAgICBNYWtlIG9uZSBhYmxlIHRvIHNldCB0aGUgbG9jYWwgc3RvcmFnZSAodHJh
Y2tlcikgZGF0YWJhc2UgZGlyJ3MgcGF0aAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9NzcwMDYKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9P
UFMhKS4KKworICAgICAgICBUaGVyZSBhcmUgbm8gYmVoYXZpb3IgY2hhbmdlcyB3aXRoIHRoZSBk
aWZmLCBzbyBubyBuZWVkIGZvciBuZXcgdGVzdHMuCisKKyAgICAgICAgKiBzdG9yYWdlL1N0b3Jh
Z2VUcmFja2VyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0b3JhZ2VUcmFja2VyOjpzZXREYXRh
YmFzZURpcmVjdG9yeVBhdGgpOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTdG9yYWdlVHJhY2tlcjo6ZGF0YWJhc2VEaXJlY3RvcnlQYXRoKToKKyAgICAgICAgKiBzdG9y
YWdlL1N0b3JhZ2VUcmFja2VyLmg6CisgICAgICAgIChTdG9yYWdlVHJhY2tlcik6CisKIDIwMTIt
MDEtMjYgIE5pa29sYXMgWmltbWVybWFubiAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAg
ICAgTm90IHJldmlld2VkLiBGaXggbWFjIGJ1aWxkIGFmdGVyIHIxMDU5ODguCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCmluZGV4IDRlNWMxMDUuLmFlZTAxNWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwCkBAIC05NCw2ICs5NCwy
MiBAQCBTdG9yYWdlVHJhY2tlcjo6U3RvcmFnZVRyYWNrZXIoY29uc3QgU3RyaW5nJiBzdG9yYWdl
UGF0aCkKIHsKIH0KIAordm9pZCBTdG9yYWdlVHJhY2tlcjo6c2V0RGF0YWJhc2VEaXJlY3RvcnlQ
YXRoKGNvbnN0IFN0cmluZyYgcGF0aCkKK3sKKyAgICBNdXRleExvY2tlciBsb2NrU3RvcmFnZSht
X2RhdGFiYXNlR3VhcmQpOworCisgICAgaWYgKCFtX2RhdGFiYXNlLmlzT3BlbigpKQorICAgICAg
ICBtX2RhdGFiYXNlLmNsb3NlKCk7CisKKyAgICBtX3N0b3JhZ2VEaXJlY3RvcnlQYXRoID0gcGF0
aC5pc29sYXRlZENvcHkoKTsKKyAgICBpbXBvcnRPcmlnaW5JZGVudGlmaWVycygpOworfQorCitT
dHJpbmcgU3RvcmFnZVRyYWNrZXI6OmRhdGFiYXNlRGlyZWN0b3J5UGF0aCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fc3RvcmFnZURpcmVjdG9yeVBhdGguaXNvbGF0ZWRDb3B5KCk7Cit9CisKIFN0
cmluZyBTdG9yYWdlVHJhY2tlcjo6dHJhY2tlckRhdGFiYXNlUGF0aCgpCiB7CiAgICAgQVNTRVJU
KCFtX2RhdGFiYXNlR3VhcmQudHJ5TG9jaygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZVRyYWNrZXIuaAppbmRleCBjOGUyMTc1Li5kN2NiODI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9zdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlVHJhY2tlci5oCkBAIC00Nyw2ICs0Nyw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMg
dm9pZCBpbml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTdG9yYWdl
VHJhY2tlckNsaWVudCopOwogICAgIHN0YXRpYyBTdG9yYWdlVHJhY2tlciYgdHJhY2tlcigpOwog
CisgICAgdm9pZCBzZXREYXRhYmFzZURpcmVjdG9yeVBhdGgoY29uc3QgU3RyaW5nJik7CisgICAg
U3RyaW5nIGRhdGFiYXNlRGlyZWN0b3J5UGF0aCgpIGNvbnN0OworCiAgICAgdm9pZCBzZXRPcmln
aW5EZXRhaWxzKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBk
YXRhYmFzZUZpbGUpOwogICAgIAogICAgIHZvaWQgZGVsZXRlQWxsT3JpZ2lucygpOwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124125</attachid>
            <date>2012-01-26 09:02:30 -0800</date>
            <delta_ts>2012-01-26 13:39:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77006-20120126150228.patch</filename>
            <type>text/plain</type>
            <size>2431</size>
            <attacher name="Gustavo Lima Chaves">glima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MDA0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTdmYTYyMWI5OGRiZDg2
NzFjYTRhOTk2NGExNDFjMzUxNGYyNGNjYy4uZjUzNmNkZjVmYzI3NTkwZjY1M2UxNGRlZjM5NDM4
ZmU4Zjk3YmVlOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAxLTI2ICBHdXN0
YXZvIExpbWEgQ2hhdmVzICA8Z2xpbWFAcHJvZnVzaW9uLm1vYmk+CisKKyAgICAgICAgTWFrZSBv
bmUgYWJsZSB0byBzZXQgdGhlIGxvY2FsIHN0b3JhZ2UgKHRyYWNrZXIpIGRhdGFiYXNlIGRpcidz
IHBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3
MDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
cmUgYXJlIG5vIGJlaGF2aW9yIGNoYW5nZXMgd2l0aCB0aGUgZGlmZiwgc28gbm8gbmVlZCBmb3Ig
bmV3IHRlc3RzLgorCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdG9yYWdlVHJhY2tlcjo6c2V0RGF0YWJhc2VEaXJlY3RvcnlQYXRoKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVRyYWNrZXI6OmRh
dGFiYXNlRGlyZWN0b3J5UGF0aCk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5o
OgorICAgICAgICAoU3RvcmFnZVRyYWNrZXIpOgorCiAyMDEyLTAxLTI2ICBOaWtvbGFzIFppbW1l
cm1hbm4gIDxuemltbWVybWFubkByaW0uY29tPgogCiAgICAgICAgIFNWRyArIDxvYmplY3Q+IHRl
c3RzIGFyZSBmbGFrZXkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZVRyYWNrZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAK
aW5kZXggNGU1YzEwNWVhZjczZjFmOGFhZjQxMmI3OTM3MWFjZGI3OWFjM2E5Mi4uYWVlMDE1YWM1
M2I1YzczZWNiMmI5Y2M0YmRkYzA4MjAwZWIzNjJhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFn
ZS9TdG9yYWdlVHJhY2tlci5jcHAKQEAgLTk0LDYgKzk0LDIyIEBAIFN0b3JhZ2VUcmFja2VyOjpT
dG9yYWdlVHJhY2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoKQogewogfQogCit2b2lkIFN0
b3JhZ2VUcmFja2VyOjpzZXREYXRhYmFzZURpcmVjdG9yeVBhdGgoY29uc3QgU3RyaW5nJiBwYXRo
KQoreworICAgIE11dGV4TG9ja2VyIGxvY2tTdG9yYWdlKG1fZGF0YWJhc2VHdWFyZCk7CisKKyAg
ICBpZiAoIW1fZGF0YWJhc2UuaXNPcGVuKCkpCisgICAgICAgIG1fZGF0YWJhc2UuY2xvc2UoKTsK
KworICAgIG1fc3RvcmFnZURpcmVjdG9yeVBhdGggPSBwYXRoLmlzb2xhdGVkQ29weSgpOworICAg
IGltcG9ydE9yaWdpbklkZW50aWZpZXJzKCk7Cit9CisKK1N0cmluZyBTdG9yYWdlVHJhY2tlcjo6
ZGF0YWJhc2VEaXJlY3RvcnlQYXRoKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdG9yYWdlRGly
ZWN0b3J5UGF0aC5pc29sYXRlZENvcHkoKTsKK30KKwogU3RyaW5nIFN0b3JhZ2VUcmFja2VyOjp0
cmFja2VyRGF0YWJhc2VQYXRoKCkKIHsKICAgICBBU1NFUlQoIW1fZGF0YWJhc2VHdWFyZC50cnlM
b2NrKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlVHJhY2tl
ci5oIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5oCmluZGV4IGM4ZTIx
NzUxYTMzZTAzNmVkNDJiMGM3MzdhMzA0MjNiM2VlM2U4ZmUuLmQ3Y2I4MjQ2MDU5MzdiMmJjZmRl
Mzc0ODc1OTAxOGVlMDZjZmQyZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2Uv
U3RvcmFnZVRyYWNrZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VUcmFj
a2VyLmgKQEAgLTQ3LDYgKzQ3LDkgQEAgcHVibGljOgogICAgIHN0YXRpYyB2b2lkIGluaXRpYWxp
emVUcmFja2VyKGNvbnN0IFN0cmluZyYgc3RvcmFnZVBhdGgsIFN0b3JhZ2VUcmFja2VyQ2xpZW50
Kik7CiAgICAgc3RhdGljIFN0b3JhZ2VUcmFja2VyJiB0cmFja2VyKCk7CiAKKyAgICB2b2lkIHNl
dERhdGFiYXNlRGlyZWN0b3J5UGF0aChjb25zdCBTdHJpbmcmKTsKKyAgICBTdHJpbmcgZGF0YWJh
c2VEaXJlY3RvcnlQYXRoKCkgY29uc3Q7CisKICAgICB2b2lkIHNldE9yaWdpbkRldGFpbHMoY29u
c3QgU3RyaW5nJiBvcmlnaW5JZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGRhdGFiYXNlRmlsZSk7
CiAgICAgCiAgICAgdm9pZCBkZWxldGVBbGxPcmlnaW5zKCk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124172</attachid>
            <date>2012-01-26 13:39:11 -0800</date>
            <delta_ts>2012-01-27 06:25:05 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77006-20120126193909.patch</filename>
            <type>text/plain</type>
            <size>2589</size>
            <attacher name="Gustavo Lima Chaves">glima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MDMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZGM4ZTVkZDE1Mzg4MmRk
OTdlODM5YTgyYzdiZjM3YjY5MzlkY2U1MC4uZjZmZDFkYjYxMmIwMjE0ZGIwNWU2YTcyNGRiNGQz
MTllZTQxNjE5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAxLTI2ICBHdXN0
YXZvIExpbWEgQ2hhdmVzICA8Z2xpbWFAcHJvZnVzaW9uLm1vYmk+CisKKyAgICAgICAgTWFrZSBv
bmUgYWJsZSB0byBzZXQgdGhlIGxvY2FsIHN0b3JhZ2UgKHRyYWNrZXIpIGRhdGFiYXNlIGRpcidz
IHBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3
MDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
cmUgYXJlIG5vIGJlaGF2aW9yIGNoYW5nZXMgd2l0aCB0aGUgZGlmZiwgc28gbm8gbmVlZCBmb3Ig
bmV3IHRlc3RzLgorCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdG9yYWdlVHJhY2tlcjo6c2V0RGF0YWJhc2VEaXJlY3RvcnlQYXRoKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVRyYWNrZXI6OmRh
dGFiYXNlRGlyZWN0b3J5UGF0aCk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5o
OgorICAgICAgICAoU3RvcmFnZVRyYWNrZXIpOgorCiAyMDEyLTAxLTI2ICBBbmRlcnMgQ2FybHNz
b24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgU2ltcGxpZnkgY2hlY2tpbmcgZm9y
IHdoZXRoZXIgd2Ugc2hvdWxkIHJ1YmJlcmJhbmQgb3Igbm90IHdoZW4gYXQgdGhlIGVkZ2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAKaW5kZXggNGU1YzEwNWVhZjcz
ZjFmOGFhZjQxMmI3OTM3MWFjZGI3OWFjM2E5Mi4uNWZhODZmM2VmY2QxNDRhYzA3YjkwN2M5ZTg4
NmQyNDVlMDg2YjJiYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdl
VHJhY2tlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5j
cHAKQEAgLTk0LDYgKzk0LDI5IEBAIFN0b3JhZ2VUcmFja2VyOjpTdG9yYWdlVHJhY2tlcihjb25z
dCBTdHJpbmcmIHN0b3JhZ2VQYXRoKQogewogfQogCit2b2lkIFN0b3JhZ2VUcmFja2VyOjpzZXRE
YXRhYmFzZURpcmVjdG9yeVBhdGgoY29uc3QgU3RyaW5nJiBwYXRoKQoreworICAgIE11dGV4TG9j
a2VyIGxvY2tTdG9yYWdlKG1fZGF0YWJhc2VHdWFyZCk7CisKKyAgICBpZiAoIW1fZGF0YWJhc2Uu
aXNPcGVuKCkpCisgICAgICAgIG1fZGF0YWJhc2UuY2xvc2UoKTsKKworICAgIG1fc3RvcmFnZURp
cmVjdG9yeVBhdGggPSBwYXRoLmlzb2xhdGVkQ29weSgpOworCisgICAgTXV0ZXhMb2NrZXIgbG9j
a09yaWdpbnMobV9vcmlnaW5TZXRHdWFyZCk7CisgICAgbV9vcmlnaW5TZXQuY2xlYXIoKTsKKwor
ICAgIGlmICghbV9pc0FjdGl2ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgaW1wb3J0T3JpZ2lu
SWRlbnRpZmllcnMoKTsKK30KKworU3RyaW5nIFN0b3JhZ2VUcmFja2VyOjpkYXRhYmFzZURpcmVj
dG9yeVBhdGgoKSBjb25zdAoreworICAgIHJldHVybiBtX3N0b3JhZ2VEaXJlY3RvcnlQYXRoLmlz
b2xhdGVkQ29weSgpOworfQorCiBTdHJpbmcgU3RvcmFnZVRyYWNrZXI6OnRyYWNrZXJEYXRhYmFz
ZVBhdGgoKQogewogICAgIEFTU0VSVCghbV9kYXRhYmFzZUd1YXJkLnRyeUxvY2soKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmggYi9Tb3VyY2Uv
V2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKaW5kZXggYzhlMjE3NTFhMzNlMDM2ZWQ0
MmIwYzczN2EzMDQyM2IzZWUzZThmZS4uZDdjYjgyNDYwNTkzN2IyYmNmZGUzNzQ4NzU5MDE4ZWUw
NmNmZDJkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlVHJhY2tl
ci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaApAQCAtNDcs
NiArNDcsOSBAQCBwdWJsaWM6CiAgICAgc3RhdGljIHZvaWQgaW5pdGlhbGl6ZVRyYWNrZXIoY29u
c3QgU3RyaW5nJiBzdG9yYWdlUGF0aCwgU3RvcmFnZVRyYWNrZXJDbGllbnQqKTsKICAgICBzdGF0
aWMgU3RvcmFnZVRyYWNrZXImIHRyYWNrZXIoKTsKIAorICAgIHZvaWQgc2V0RGF0YWJhc2VEaXJl
Y3RvcnlQYXRoKGNvbnN0IFN0cmluZyYpOworICAgIFN0cmluZyBkYXRhYmFzZURpcmVjdG9yeVBh
dGgoKSBjb25zdDsKKwogICAgIHZvaWQgc2V0T3JpZ2luRGV0YWlscyhjb25zdCBTdHJpbmcmIG9y
aWdpbklkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgZGF0YWJhc2VGaWxlKTsKICAgICAKICAgICB2
b2lkIGRlbGV0ZUFsbE9yaWdpbnMoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>124304</attachid>
            <date>2012-01-27 06:25:29 -0800</date>
            <delta_ts>2012-02-01 15:32:50 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-77006-20120127122524.patch</filename>
            <type>text/plain</type>
            <size>2609</size>
            <attacher name="Gustavo Lima Chaves">glima</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA2MTA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMTc1MjRmOWE5MzcxNjIz
MGUxZTdjN2NjOWY2ZWI1MzFkYjVkNTVjMy4uMmQzMGEzYmZkZjZlMDIzZjYzMDRlZDUyYzg2NGIz
N2E2MzZiZWYxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE5IEBACisyMDEyLTAxLTI2ICBHdXN0
YXZvIExpbWEgQ2hhdmVzICA8Z2xpbWFAcHJvZnVzaW9uLm1vYmk+CisKKyAgICAgICAgTWFrZSBv
bmUgYWJsZSB0byBzZXQgdGhlIGxvY2FsIHN0b3JhZ2UgKHRyYWNrZXIpIGRhdGFiYXNlIGRpcidz
IHBhdGgKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc3
MDA2CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVGhl
cmUgYXJlIG5vIGJlaGF2aW9yIGNoYW5nZXMgd2l0aCB0aGUgZGlmZiwgc28gbm8gbmVlZCBmb3Ig
bmV3IHRlc3RzLgorCisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHA6CisgICAg
ICAgIChXZWJDb3JlOjpTdG9yYWdlVHJhY2tlcjo6c2V0RGF0YWJhc2VEaXJlY3RvcnlQYXRoKToK
KyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6U3RvcmFnZVRyYWNrZXI6OmRh
dGFiYXNlRGlyZWN0b3J5UGF0aCk6CisgICAgICAgICogc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5o
OgorICAgICAgICAoU3RvcmFnZVRyYWNrZXIpOgorCiAyMDEyLTAxLTI2ICBKb2NlbHluIFR1cmNv
dHRlICA8am9jZWx5bi50dXJjb3R0ZUBub2tpYS5jb20+CiAKICAgICAgICAgW1F0XSBXS1RSOiBV
c2UgYSBzb2Z0d2FyZSByZW5kZXJpbmcgcGlwaWxpbmUgd2hlbiBydW5uaW5nIHRlc3RzLgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9yYWdlVHJhY2tlci5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNwcAppbmRleCA0ZTVjMTA1ZWFmNzNm
MWY4YWFmNDEyYjc5MzcxYWNkYjc5YWMzYTkyLi5mOTgxZTZiZDBiNGFkMGJjOWQ0MDkzZDRiOGNm
YjQ3YWFkYzk0ODRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VU
cmFja2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9zdG9yYWdlL1N0b3JhZ2VUcmFja2VyLmNw
cApAQCAtOTQsNiArOTQsMzEgQEAgU3RvcmFnZVRyYWNrZXI6OlN0b3JhZ2VUcmFja2VyKGNvbnN0
IFN0cmluZyYgc3RvcmFnZVBhdGgpCiB7CiB9CiAKK3ZvaWQgU3RvcmFnZVRyYWNrZXI6OnNldERh
dGFiYXNlRGlyZWN0b3J5UGF0aChjb25zdCBTdHJpbmcmIHBhdGgpCit7CisgICAgTXV0ZXhMb2Nr
ZXIgbG9ja1N0b3JhZ2UobV9kYXRhYmFzZUd1YXJkKTsKKworICAgIGlmIChtX2RhdGFiYXNlLmlz
T3BlbigpKQorICAgICAgICBtX2RhdGFiYXNlLmNsb3NlKCk7CisKKyAgICBtX3N0b3JhZ2VEaXJl
Y3RvcnlQYXRoID0gcGF0aC5pc29sYXRlZENvcHkoKTsKKworICAgIHsKKyAgICAgICAgTXV0ZXhM
b2NrZXIgbG9ja09yaWdpbnMobV9vcmlnaW5TZXRHdWFyZCk7CisgICAgICAgIG1fb3JpZ2luU2V0
LmNsZWFyKCk7CisgICAgfQorCisgICAgaWYgKCFtX2lzQWN0aXZlKQorICAgICAgICByZXR1cm47
CisKKyAgICBpbXBvcnRPcmlnaW5JZGVudGlmaWVycygpOworfQorCitTdHJpbmcgU3RvcmFnZVRy
YWNrZXI6OmRhdGFiYXNlRGlyZWN0b3J5UGF0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3Rv
cmFnZURpcmVjdG9yeVBhdGguaXNvbGF0ZWRDb3B5KCk7Cit9CisKIFN0cmluZyBTdG9yYWdlVHJh
Y2tlcjo6dHJhY2tlckRhdGFiYXNlUGF0aCgpCiB7CiAgICAgQVNTRVJUKCFtX2RhdGFiYXNlR3Vh
cmQudHJ5TG9jaygpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFn
ZVRyYWNrZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3N0b3JhZ2UvU3RvcmFnZVRyYWNrZXIuaAppbmRl
eCBjOGUyMTc1MWEzM2UwMzZlZDQyYjBjNzM3YTMwNDIzYjNlZTNlOGZlLi5kN2NiODI0NjA1OTM3
YjJiY2ZkZTM3NDg3NTkwMThlZTA2Y2ZkMmQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9z
dG9yYWdlL1N0b3JhZ2VUcmFja2VyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvc3RvcmFnZS9TdG9y
YWdlVHJhY2tlci5oCkBAIC00Nyw2ICs0Nyw5IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBp
bml0aWFsaXplVHJhY2tlcihjb25zdCBTdHJpbmcmIHN0b3JhZ2VQYXRoLCBTdG9yYWdlVHJhY2tl
ckNsaWVudCopOwogICAgIHN0YXRpYyBTdG9yYWdlVHJhY2tlciYgdHJhY2tlcigpOwogCisgICAg
dm9pZCBzZXREYXRhYmFzZURpcmVjdG9yeVBhdGgoY29uc3QgU3RyaW5nJik7CisgICAgU3RyaW5n
IGRhdGFiYXNlRGlyZWN0b3J5UGF0aCgpIGNvbnN0OworCiAgICAgdm9pZCBzZXRPcmlnaW5EZXRh
aWxzKGNvbnN0IFN0cmluZyYgb3JpZ2luSWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBkYXRhYmFz
ZUZpbGUpOwogICAgIAogICAgIHZvaWQgZGVsZXRlQWxsT3JpZ2lucygpOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>