<?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>79394</bug_id>
          
          <creation_ts>2012-02-23 13:38:04 -0800</creation_ts>
          <short_desc>[chromium] Add createSnapshotFile API to WebFileSystem to create File snapshots for filesystem files</short_desc>
          <delta_ts>2012-02-27 21:00:13 -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>Platform</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>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Kinuko Yasuda">kinuko</reporter>
          <assigned_to name="Kinuko Yasuda">kinuko</assigned_to>
          <cc>abarth</cc>
    
    <cc>fishd</cc>
    
    <cc>jianli</cc>
    
    <cc>michaeln</cc>
    
    <cc>tzik</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>563420</commentid>
    <comment_count>0</comment_count>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-23 13:38:04 -0800</bug_when>
    <thetext>[chromium] Add GetSnapshotFileInfo API to WebFileSystem to get file snapshot info for filesystem files.

File object is considered a snapshot of the underlying file and for files served by FileSystem API we need an async API to capture snapshot file info for a given file.  We used to use GetFileInfo() for the purpose but since we want to start explicitly capture the snapshot info for remote files we need a separate explicit API for that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563421</commentid>
    <comment_count>1</comment_count>
      <attachid>128546</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-23 13:42:19 -0800</bug_when>
    <thetext>Created attachment 128546
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563451</commentid>
    <comment_count>2</comment_count>
      <attachid>128553</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-23 14:00:48 -0800</bug_when>
    <thetext>Created attachment 128553
Patch

Fixed build errors.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563466</commentid>
    <comment_count>3</comment_count>
      <attachid>128553</attachid>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2012-02-23 14:13:12 -0800</bug_when>
    <thetext>Comment on attachment 128553
Patch

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

&gt; Source/WebCore/platform/AsyncFileSystem.h:143
&gt; +    // Gets the snapshot info for a given file at |path|.

Can you comment on how this method is different than readMetadata(path, callbacks) which also completes with a callback to didReadmetadata()? I&apos;m guessing that readMetadata() will not fill the resulting FileMetadata.platformPath value in all cases but getSnapshotFileInfo() will.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563482</commentid>
    <comment_count>4</comment_count>
      <attachid>128556</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-23 14:25:16 -0800</bug_when>
    <thetext>Created attachment 128556
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563484</commentid>
    <comment_count>5</comment_count>
      <attachid>128553</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-23 14:26:31 -0800</bug_when>
    <thetext>Comment on attachment 128553
Patch

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

&gt;&gt; Source/WebCore/platform/AsyncFileSystem.h:143
&gt;&gt; +    // Gets the snapshot info for a given file at |path|.
&gt; 
&gt; Can you comment on how this method is different than readMetadata(path, callbacks) which also completes with a callback to didReadmetadata()? I&apos;m guessing that readMetadata() will not fill the resulting FileMetadata.platformPath value in all cases but getSnapshotFileInfo() will.

Good point, done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563487</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2012-02-23 14:29:19 -0800</bug_when>
    <thetext>thnx, lgtm</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563623</commentid>
    <comment_count>7</comment_count>
      <attachid>128556</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-02-23 16:06:33 -0800</bug_when>
    <thetext>Comment on attachment 128556
Patch

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

&gt; Source/WebKit/chromium/public/platform/WebFileSystem.h:124
&gt; +    virtual void getSnapshotFileInfo(const WebURL&amp; path, WebFileSystemCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); }

I think you should spell out the differences between this and getMetadata more clearly.

It almost feels like getFile in the remote filesystem case, should just coin a blob.  By reusing the blob system, we should be able to automagically solve the lifetime of the temporary file issues.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563665</commentid>
    <comment_count>8</comment_count>
      <attachid>128595</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-23 16:31:23 -0800</bug_when>
    <thetext>Created attachment 128595
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563716</commentid>
    <comment_count>9</comment_count>
      <attachid>128556</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-23 17:12:11 -0800</bug_when>
    <thetext>Comment on attachment 128556
Patch

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

&gt;&gt; Source/WebKit/chromium/public/platform/WebFileSystem.h:124
&gt;&gt; +    virtual void getSnapshotFileInfo(const WebURL&amp; path, WebFileSystemCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); }
&gt; 
&gt; I think you should spell out the differences between this and getMetadata more clearly.
&gt; 
&gt; It almost feels like getFile in the remote filesystem case, should just coin a blob.  By reusing the blob system, we should be able to automagically solve the lifetime of the temporary file issues.

Added more specific comments.

And yes it looks most likely that we can just use the blob system (since File is blob) to release the temporary file when we&apos;re done with it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>563731</commentid>
    <comment_count>10</comment_count>
      <attachid>128595</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-23 17:27:00 -0800</bug_when>
    <thetext>Comment on attachment 128595
Patch

(Obsoleting for now)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>564797</commentid>
    <comment_count>11</comment_count>
      <attachid>128836</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-24 18:15:05 -0800</bug_when>
    <thetext>Created attachment 128836
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565899</commentid>
    <comment_count>12</comment_count>
      <attachid>128836</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-02-27 12:32:24 -0800</bug_when>
    <thetext>Comment on attachment 128836
Patch

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

&gt; Source/WebKit/chromium/public/platform/WebFileSystem.h:125
&gt; +    virtual void createSnapshotFile(const WebURL&amp; blobURL, const WebURL&amp; path, WebFileSystemCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); }

nit: perhaps this should be called createSnapshotFileAndReadMetadata.  that way it is clearer that the result you are looking for is metadata.

&gt; Source/WebKit/chromium/public/platform/WebFileSystem.h:127
&gt; +    // Called when the snapshot created by createSnapshotFile is successfully registered as a File. The implementation could use this method to unregister the |blobURL| (since at this point the File must have another (official) reference). This is done asynchronously and will not call any callbacks.

I&apos;m a little confused here...

Does this happen in response to didReadMetadata?  It is not enough to call WebBlobRegister::unregisterBlobURL?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565933</commentid>
    <comment_count>13</comment_count>
      <attachid>128836</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-27 13:33:59 -0800</bug_when>
    <thetext>Comment on attachment 128836
Patch

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

&gt;&gt; Source/WebKit/chromium/public/platform/WebFileSystem.h:125
&gt;&gt; +    virtual void createSnapshotFile(const WebURL&amp; blobURL, const WebURL&amp; path, WebFileSystemCallbacks*) { WEBKIT_ASSERT_NOT_REACHED(); }
&gt; 
&gt; nit: perhaps this should be called createSnapshotFileAndReadMetadata.  that way it is clearer that the result you are looking for is metadata.

Sounds better, I&apos;ll do so.

&gt;&gt; Source/WebKit/chromium/public/platform/WebFileSystem.h:127
&gt;&gt; +    // Called when the snapshot created by createSnapshotFile is successfully registered as a File. The implementation could use this method to unregister the |blobURL| (since at this point the File must have another (official) reference). This is done asynchronously and will not call any callbacks.
&gt; 
&gt; I&apos;m a little confused here...
&gt; 
&gt; Does this happen in response to didReadMetadata?  It is not enough to call WebBlobRegister::unregisterBlobURL?

I was planning to have the internal blob URL reference in the FileSystem backend in the browser (i.e. FileSystemDispatcherHost) while regular blob references are kept in BlobMessageFilter (note: all other blob registration code is centralized in BlobStorageController and we use it for this snapshot case too).  That&apos;s why I wanted to add this another IPC/API.

...but Michael has just suggested that probably we can just combine FileSystemDispatcherHost and BlobMessageFilter and naming it FileAndBlobMessageFilter or something.  Then we can just get rid of this extra API.  WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565944</commentid>
    <comment_count>14</comment_count>
    <who name="Michael Nordman">michaeln</who>
    <bug_when>2012-02-27 13:55:33 -0800</bug_when>
    <thetext>&gt; I was planning to have the internal blob URL reference in the FileSystem backend in the browser (i.e. FileSystemDispatcherHost) while regular blob references are kept in BlobMessageFilter (note: all other blob registration code is centralized in BlobStorageController and we use it for this snapshot case too).  That&apos;s why I wanted to add this another IPC/API.
&gt; 
&gt; ...but Michael has just suggested that probably we can just combine FileSystemDispatcherHost and BlobMessageFilter and naming it FileAndBlobMessageFilter or something.  Then we can just get rid of this extra API.  WDYT?

Just looking more closely at BlobMessageFilter and FileSystemDispatcherHost sources. Let&apos;s merge those classes together. The extra API is an artifact of those things not being properly integrated in the backend. The BlobMessageFilter is just mechanical plumbing, there are a small number of IPC messages to dispatch into the &apos;controller&apos;. The FileSystemDispatcherHost is similarly mechanical (which plumbs IPCs into FileSystemOperations), although it handles a larger set of messages.

Ultimately, i think it makes pretty good sense to merge the webkit/blob and webkit/fileapi libraries. Merging the ipc filter classes in advance of that is fine by me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566062</commentid>
    <comment_count>15</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2012-02-27 16:03:25 -0800</bug_when>
    <thetext>(In reply to comment #14)
&gt; &gt; I was planning to have the internal blob URL reference in the FileSystem backend in the browser (i.e. FileSystemDispatcherHost) while regular blob references are kept in BlobMessageFilter (note: all other blob registration code is centralized in BlobStorageController and we use it for this snapshot case too).  That&apos;s why I wanted to add this another IPC/API.
&gt; &gt; 
&gt; &gt; ...but Michael has just suggested that probably we can just combine FileSystemDispatcherHost and BlobMessageFilter and naming it FileAndBlobMessageFilter or something.  Then we can just get rid of this extra API.  WDYT?
&gt; 
&gt; Just looking more closely at BlobMessageFilter and FileSystemDispatcherHost sources. Let&apos;s merge those classes together. The extra API is an artifact of those things not being properly integrated in the backend. The BlobMessageFilter is just mechanical plumbing, there are a small number of IPC messages to dispatch into the &apos;controller&apos;. The FileSystemDispatcherHost is similarly mechanical (which plumbs IPCs into FileSystemOperations), although it handles a larger set of messages.
&gt; 
&gt; Ultimately, i think it makes pretty good sense to merge the webkit/blob and webkit/fileapi libraries. Merging the ipc filter classes in advance of that is fine by me.

SGTM</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566138</commentid>
    <comment_count>16</comment_count>
      <attachid>129138</attachid>
    <who name="Kinuko Yasuda">kinuko</who>
    <bug_when>2012-02-27 17:03:53 -0800</bug_when>
    <thetext>Created attachment 129138
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566150</commentid>
    <comment_count>17</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 17:10:07 -0800</bug_when>
    <thetext>Please wait for approval from fishd@chromium.org before submitting because this patch contains changes to the Chromium public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566350</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 20:58:10 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 129138:

css3/filters/effect-invert-hw.html bug 79639 (author: cmarrin@apple.com)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566352</commentid>
    <comment_count>19</comment_count>
      <attachid>129138</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 21:00:07 -0800</bug_when>
    <thetext>Comment on attachment 129138
Patch

Clearing flags on attachment: 129138

Committed r109070: &lt;http://trac.webkit.org/changeset/109070&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>566353</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-02-27 21:00:13 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128546</attachid>
            <date>2012-02-23 13:42:19 -0800</date>
            <delta_ts>2012-02-23 14:00:42 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79394-20120224064217.patch</filename>
            <type>text/plain</type>
            <size>4779</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjRmNTIxOGQzY2UxNTE4
MWU2NzFmMDg0OWI4MDFjYmFlNDY4N2UyMC4uMzQ5NTRmOWY3MjlkYWVlZDYzZjdhMTA4N2JiNmVk
YjRhNzlkYWM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTIzICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIEFk
ZCBHZXRTbmFwc2hvdEZpbGVJbmZvIEFQSSB0byBXZWJGaWxlU3lzdGVtIHRvIGdldCBmaWxlIHNu
YXBzaG90IGluZm8gZm9yIGZpbGVzeXN0ZW0gZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzOiB0ZXN0IHdpbGwgYmUgYWRkZWQg
d2hlbiB0aGUgQVBJIGlzIGFjdHVhbGx5IHdpcmVkIGluLgorCisgICAgICAgICogcGxhdGZvcm0v
QXN5bmNGaWxlU3lzdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW06Omdl
dFNuYXBzaG90RmlsZUluZm8pOiBBZGRlZC4KKwogMjAxMi0wMi0yMiAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY29uc29sZSBk
b2Vzbid0IHNob3cgcHJvcGVybHkgYXJyYXlzIGZyb20gd2hpY2ggdGFpbCB2YWx1ZXMgaGF2ZSBi
ZWVuIGRlbGV0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZGY0MjJmYjE2ODAyOWJm
N2I3OTIzZmRhMWQ4MjllZTQ2NzkxZjY4NS4uMTI4NmY5NWNmMmVlMDA0M2RmNGMyMzNjMjBmYmU0
ZTg1ZTZlZDI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxMi0wMi0yMyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW2Nocm9taXVtXSBBZGQgR2V0U25hcHNob3RGaWxlSW5mbyBBUEkgdG8gV2ViRmlsZVN5c3Rl
bSB0byBnZXQgZmlsZSBzbmFwc2hvdCBpbmZvIGZvciBmaWxlc3lzdGVtIGZpbGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL3BsYXRmb3Jt
L1dlYkZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViRmlsZVN5c3RlbTo6Z2V0U25h
cHNob3RGaWxlSW5mbyk6IEFkZGVkLgorICAgICAgICAqIHNyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Z2V0
U25hcHNob3RGaWxlSW5mbyk6IEFkZGVkLgorCiAyMDEyLTAyLTIyICBIYW8gWmhlbmcgIDx6aGVu
Z2hhb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBCdWlsZCBXZWJLaXQgd2l0
aCBNRURJQV9TVFJFQU0gZGlzYWJsZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCmluZGV4IGJiZWY2YTRlMzE5Y2JmYTk3M2JkY2JhMGEwZGZkNTYwNWNhN2IxMjYu
LmQwMzk0ZmQ1MzQwZGEzMWRlNGY1M2UxYzU1ZDhiNzNhZjUwYzAwZjkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC0xNDAsNiArMTQwLDExIEBAIHB1Ymxp
YzoKICAgICAvLyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBpcyBjYWxsZWQg
b3RoZXJ3aXNlLgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVXcml0ZXIoQXN5bmNGaWxlV3JpdGVy
Q2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc093blB0cjxBc3luY0ZpbGVT
eXN0ZW1DYWxsYmFja3M+KSA9IDA7CiAKKyAgICAvLyBHZXRzIHRoZSBzbmFwc2hvdCBpbmZvIGZv
ciBhIGdpdmVuIGZpbGUgYXQgfHBhdGh8LgorICAgIC8vIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNr
czo6ZGlkUmVhZE1ldGFkYXRhKCkgd2l0aCB0aGUgbWV0YWRhdGEgb2YgdGhlIHNuYXBzaG90IGZp
bGUgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNz
ZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUg
Y2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0U25hcHNob3RGaWxlSW5mbyhj
b25zdCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NF
UlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIDA7IH0KKwogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsg
cmV0dXJuIG1fdHlwZTsgfQogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2ViS2l0
L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgKaW5kZXggNTgzZWZlMDdj
MjQ4YjY3NTAyMjk5MTg4OTcxMjE1OGViMGIyYjkzYy4uY2NiMTU1Y2RkMGNhMjIxOGE5NDgxZGI1
M2Q3NjliZjQ2ODQzZWUyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJs
aWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
cHVibGljL3BsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaApAQCAtMTE0LDYgKzExNCwxMSBAQCBwdWJs
aWM6CiAgICAgLy8gVGhpcyBpcyBhIGZhc3QsIHN5bmNocm9ub3VzIGNhbGwsIGFuZCBzaG91bGQg
bm90IHN0YXQgdGhlIGZpbGVzeXN0ZW0uCiAgICAgdmlydHVhbCBXZWJGaWxlV3JpdGVyKiBjcmVh
dGVGaWxlV3JpdGVyKGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVdyaXRlckNsaWVudCopIHsg
V0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsgfQogCisgICAgLy8gR2V0cyB0
aGUgc25hcHNob3QgaW5mbyBmb3IgYSBnaXZlbiBmaWxlIGF0IHxwYXRofC4KKyAgICAvLyBXZWJG
aWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRSZWFkTWV0YWRhdGEoKSB3aXRoIHRoZSBtZXRhZGF0YSBv
ZiB0aGUgc25hcHNob3QgZmlsZSBtdXN0IGJlIGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMg
Y29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpk
aWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwgdm9pZCBnZXRT
bmFwc2hvdEZpbGVJbmZvKGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNr
cyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1cm4gMDsgfQorCiBwcm90ZWN0
ZWQ6CiAgICAgdmlydHVhbCB+V2ViRmlsZVN5c3RlbSgpIHsgfQogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcCBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVtLmNwcAppbmRl
eCAxZjkzY2Y5M2U0Njc4YzU4ODgwM2E3M2RhNjk5NzZhMGI1ZDcxZmNiLi41YmFjN2QxZmQ1OTJi
YWUxMWNlZGExYzVmNmNkMjc3MGFkYjIzMTQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5jcHAKKysrIGIvU291cmNlL1dlYktp
dC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCkBAIC0yNTQsNiArMjU0
LDEyIEBAIHZvaWQgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06OmNyZWF0ZVdyaXRlcihBc3luY0Zp
bGVXcml0ZXJDbGllbnQqIGNsaWVudCwgY29uc3QKICAgICBtX3dlYkZpbGVTeXN0ZW0tPnJlYWRN
ZXRhZGF0YShwYXRoQXNVUkwsIG5ldyBGaWxlV3JpdGVySGVscGVyQ2FsbGJhY2tzKGNsaWVudCwg
cGF0aEFzVVJMLCBtX3dlYkZpbGVTeXN0ZW0sIGNhbGxiYWNrcykpOwogfQogCit2b2lkIEFzeW5j
RmlsZVN5c3RlbUNocm9taXVtOjpnZXRTbmFwc2hvdEZpbGVJbmZvKEFzeW5jRmlsZVdyaXRlckNs
aWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lz
dGVtQ2FsbGJhY2tzPiBjYWxsYmFja3MpCit7CisgICAgS1VSTCBwYXRoQXNVUkwgPSB2aXJ0dWFs
UGF0aFRvRmlsZVN5c3RlbVVSTChwYXRoKTsKKyAgICBtX3dlYkZpbGVTeXN0ZW0tPmdldFNuYXBz
aG90RmlsZUluZm8ocGF0aEFzVVJMLCBuZXcgV2ViS2l0OjpXZWJGaWxlU3lzdGVtQ2FsbGJhY2tz
SW1wbChjYWxsYmFja3MpKTsKK30KKwogS1VSTCBBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6dmly
dHVhbFBhdGhUb0ZpbGVTeXN0ZW1VUkwoY29uc3QgU3RyaW5nJiB2aXJ0dWFsUGF0aCkgY29uc3QK
IHsKICAgICBBU1NFUlQoIW1fZmlsZXN5c3RlbVJvb3RVUkwuaXNFbXB0eSgpKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128553</attachid>
            <date>2012-02-23 14:00:48 -0800</date>
            <delta_ts>2012-02-23 14:26:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79394-20120224070046.patch</filename>
            <type>text/plain</type>
            <size>5518</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjRmNTIxOGQzY2UxNTE4
MWU2NzFmMDg0OWI4MDFjYmFlNDY4N2UyMC4uMzQ5NTRmOWY3MjlkYWVlZDYzZjdhMTA4N2JiNmVk
YjRhNzlkYWM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTIzICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIEFk
ZCBHZXRTbmFwc2hvdEZpbGVJbmZvIEFQSSB0byBXZWJGaWxlU3lzdGVtIHRvIGdldCBmaWxlIHNu
YXBzaG90IGluZm8gZm9yIGZpbGVzeXN0ZW0gZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzOiB0ZXN0IHdpbGwgYmUgYWRkZWQg
d2hlbiB0aGUgQVBJIGlzIGFjdHVhbGx5IHdpcmVkIGluLgorCisgICAgICAgICogcGxhdGZvcm0v
QXN5bmNGaWxlU3lzdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW06Omdl
dFNuYXBzaG90RmlsZUluZm8pOiBBZGRlZC4KKwogMjAxMi0wMi0yMiAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY29uc29sZSBk
b2Vzbid0IHNob3cgcHJvcGVybHkgYXJyYXlzIGZyb20gd2hpY2ggdGFpbCB2YWx1ZXMgaGF2ZSBi
ZWVuIGRlbGV0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZGY0MjJmYjE2ODAyOWJm
N2I3OTIzZmRhMWQ4MjllZTQ2NzkxZjY4NS4uMTI4NmY5NWNmMmVlMDA0M2RmNGMyMzNjMjBmYmU0
ZTg1ZTZlZDI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxMi0wMi0yMyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW2Nocm9taXVtXSBBZGQgR2V0U25hcHNob3RGaWxlSW5mbyBBUEkgdG8gV2ViRmlsZVN5c3Rl
bSB0byBnZXQgZmlsZSBzbmFwc2hvdCBpbmZvIGZvciBmaWxlc3lzdGVtIGZpbGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL3BsYXRmb3Jt
L1dlYkZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViRmlsZVN5c3RlbTo6Z2V0U25h
cHNob3RGaWxlSW5mbyk6IEFkZGVkLgorICAgICAgICAqIHNyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Z2V0
U25hcHNob3RGaWxlSW5mbyk6IEFkZGVkLgorCiAyMDEyLTAyLTIyICBIYW8gWmhlbmcgIDx6aGVu
Z2hhb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBCdWlsZCBXZWJLaXQgd2l0
aCBNRURJQV9TVFJFQU0gZGlzYWJsZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCmluZGV4IGJiZWY2YTRlMzE5Y2JmYTk3M2JkY2JhMGEwZGZkNTYwNWNhN2IxMjYu
LmU1NTdjNWFhMTNmY2ExNjIwZWNiYWNhOGU5MWJmMDU0N2NiYTBlZWYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC0xNDAsNiArMTQwLDExIEBAIHB1Ymxp
YzoKICAgICAvLyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBpcyBjYWxsZWQg
b3RoZXJ3aXNlLgogICAgIHZpcnR1YWwgdm9pZCBjcmVhdGVXcml0ZXIoQXN5bmNGaWxlV3JpdGVy
Q2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc093blB0cjxBc3luY0ZpbGVT
eXN0ZW1DYWxsYmFja3M+KSA9IDA7CiAKKyAgICAvLyBHZXRzIHRoZSBzbmFwc2hvdCBpbmZvIGZv
ciBhIGdpdmVuIGZpbGUgYXQgfHBhdGh8LgorICAgIC8vIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNr
czo6ZGlkUmVhZE1ldGFkYXRhKCkgd2l0aCB0aGUgbWV0YWRhdGEgb2YgdGhlIHNuYXBzaG90IGZp
bGUgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNz
ZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUg
Y2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0U25hcHNob3RGaWxlSW5mbyhj
b25zdCBTdHJpbmcmIHBhdGgsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPikg
PSAwOworCiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9CiAKIHByb3Rl
Y3RlZDoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3Jt
L1dlYkZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3Jt
L1dlYkZpbGVTeXN0ZW0uaAppbmRleCA1ODNlZmUwN2MyNDhiNjc1MDIyOTkxODg5NzEyMTU4ZWIw
YjJiOTNjLi40Njg5OTc2Mzg4NGEyOTAxZDZiNTgzNDJjMDFhNjNmZDNmMTFjZDM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lzdGVt
LmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5
c3RlbS5oCkBAIC0xMTQsNiArMTE0LDExIEBAIHB1YmxpYzoKICAgICAvLyBUaGlzIGlzIGEgZmFz
dCwgc3luY2hyb25vdXMgY2FsbCwgYW5kIHNob3VsZCBub3Qgc3RhdCB0aGUgZmlsZXN5c3RlbS4K
ICAgICB2aXJ0dWFsIFdlYkZpbGVXcml0ZXIqIGNyZWF0ZUZpbGVXcml0ZXIoY29uc3QgV2ViVVJM
JiBwYXRoLCBXZWJGaWxlV3JpdGVyQ2xpZW50KikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVE
KCk7IHJldHVybiAwOyB9CiAKKyAgICAvLyBHZXRzIHRoZSBzbmFwc2hvdCBpbmZvIGZvciBhIGdp
dmVuIGZpbGUgYXQgfHBhdGh8LgorICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJl
YWRNZXRhZGF0YSgpIHdpdGggdGhlIG1ldGFkYXRhIG9mIHRoZSBzbmFwc2hvdCBmaWxlIG11c3Qg
YmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lgor
ICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBv
dGhlcndpc2UuCisgICAgdmlydHVhbCB2b2lkIGdldFNuYXBzaG90RmlsZUluZm8oY29uc3QgV2Vi
VVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9S
RUFDSEVEKCk7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfldlYkZpbGVTeXN0ZW0oKSB7
IH0KIH07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVT
eXN0ZW1DaHJvbWl1bS5jcHAgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVT
eXN0ZW1DaHJvbWl1bS5jcHAKaW5kZXggMWY5M2NmOTNlNDY3OGM1ODg4MDNhNzNkYTY5OTc2YTBi
NWQ3MWZjYi4uYjc1MzIxYzg2NzI0NjEzM2IxNWVmNGI2MjI0YzAxOTE3N2FmNzc0NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9t
aXVtLmNwcApAQCAtMjU0LDYgKzI1NCwxMiBAQCB2b2lkIEFzeW5jRmlsZVN5c3RlbUNocm9taXVt
OjpjcmVhdGVXcml0ZXIoQXN5bmNGaWxlV3JpdGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0CiAgICAg
bV93ZWJGaWxlU3lzdGVtLT5yZWFkTWV0YWRhdGEocGF0aEFzVVJMLCBuZXcgRmlsZVdyaXRlckhl
bHBlckNhbGxiYWNrcyhjbGllbnQsIHBhdGhBc1VSTCwgbV93ZWJGaWxlU3lzdGVtLCBjYWxsYmFj
a3MpKTsKIH0KIAordm9pZCBBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Z2V0U25hcHNob3RGaWxl
SW5mbyhjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJh
Y2tzPiBjYWxsYmFja3MpCit7CisgICAgS1VSTCBwYXRoQXNVUkwgPSB2aXJ0dWFsUGF0aFRvRmls
ZVN5c3RlbVVSTChwYXRoKTsKKyAgICBtX3dlYkZpbGVTeXN0ZW0tPmdldFNuYXBzaG90RmlsZUlu
Zm8ocGF0aEFzVVJMLCBuZXcgV2ViS2l0OjpXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzSW1wbChjYWxs
YmFja3MpKTsKK30KKwogS1VSTCBBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6dmlydHVhbFBhdGhU
b0ZpbGVTeXN0ZW1VUkwoY29uc3QgU3RyaW5nJiB2aXJ0dWFsUGF0aCkgY29uc3QKIHsKICAgICBB
U1NFUlQoIW1fZmlsZXN5c3RlbVJvb3RVUkwuaXNFbXB0eSgpKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVtLmggYi9Tb3VyY2Uv
V2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5oCmluZGV4IGE4Y2Jj
YTI3NjAzNDk2YmEwNWI5MmM1OWQ3ZTZiZDljY2U3MmU2ZjQuLmFlOTk2YjRhMjVmMTJhNTYxMjY0
YTQ1Mzc5Zjg4ZGFkNTA3N2E5ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0v
c3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVtLmgKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uaApAQCAtNjcsNiArNjcsOCBAQCBwdWJsaWM6
CiAgICAgdmlydHVhbCB2b2lkIHJlYWREaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNz
T3duUHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4pOwogICAgIHZpcnR1YWwgdm9pZCBjcmVh
dGVXcml0ZXIoQXN5bmNGaWxlV3JpdGVyQ2xpZW50KiBjbGllbnQsIGNvbnN0IFN0cmluZyYgcGF0
aCwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+KTsKIAorICAgIHZpcnR1YWwg
dm9pZCBnZXRTbmFwc2hvdEZpbGVJbmZvKGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc093blB0cjxB
c3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+KTsKKwogcHJvdGVjdGVkOgogICAgIEFzeW5jRmlsZVN5
c3RlbUNocm9taXVtKEFzeW5jRmlsZVN5c3RlbTo6VHlwZSwgY29uc3QgS1VSTCYgcm9vdFVSTCk7
CiAgICAgV2ViS2l0OjpXZWJGaWxlU3lzdGVtKiBtX3dlYkZpbGVTeXN0ZW07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128556</attachid>
            <date>2012-02-23 14:25:16 -0800</date>
            <delta_ts>2012-02-23 17:12:11 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79394-20120224072515.patch</filename>
            <type>text/plain</type>
            <size>7230</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjRmNTIxOGQzY2UxNTE4
MWU2NzFmMDg0OWI4MDFjYmFlNDY4N2UyMC4uMzQ5NTRmOWY3MjlkYWVlZDYzZjdhMTA4N2JiNmVk
YjRhNzlkYWM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTIzICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIEFk
ZCBHZXRTbmFwc2hvdEZpbGVJbmZvIEFQSSB0byBXZWJGaWxlU3lzdGVtIHRvIGdldCBmaWxlIHNu
YXBzaG90IGluZm8gZm9yIGZpbGVzeXN0ZW0gZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzOiB0ZXN0IHdpbGwgYmUgYWRkZWQg
d2hlbiB0aGUgQVBJIGlzIGFjdHVhbGx5IHdpcmVkIGluLgorCisgICAgICAgICogcGxhdGZvcm0v
QXN5bmNGaWxlU3lzdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW06Omdl
dFNuYXBzaG90RmlsZUluZm8pOiBBZGRlZC4KKwogMjAxMi0wMi0yMiAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY29uc29sZSBk
b2Vzbid0IHNob3cgcHJvcGVybHkgYXJyYXlzIGZyb20gd2hpY2ggdGFpbCB2YWx1ZXMgaGF2ZSBi
ZWVuIGRlbGV0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZGY0MjJmYjE2ODAyOWJm
N2I3OTIzZmRhMWQ4MjllZTQ2NzkxZjY4NS4uMTI4NmY5NWNmMmVlMDA0M2RmNGMyMzNjMjBmYmU0
ZTg1ZTZlZDI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxMi0wMi0yMyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW2Nocm9taXVtXSBBZGQgR2V0U25hcHNob3RGaWxlSW5mbyBBUEkgdG8gV2ViRmlsZVN5c3Rl
bSB0byBnZXQgZmlsZSBzbmFwc2hvdCBpbmZvIGZvciBmaWxlc3lzdGVtIGZpbGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL3BsYXRmb3Jt
L1dlYkZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViRmlsZVN5c3RlbTo6Z2V0U25h
cHNob3RGaWxlSW5mbyk6IEFkZGVkLgorICAgICAgICAqIHNyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Z2V0
U25hcHNob3RGaWxlSW5mbyk6IEFkZGVkLgorCiAyMDEyLTAyLTIyICBIYW8gWmhlbmcgIDx6aGVu
Z2hhb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBCdWlsZCBXZWJLaXQgd2l0
aCBNRURJQV9TVFJFQU0gZGlzYWJsZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCmluZGV4IGJiZWY2YTRlMzE5Y2JmYTk3M2JkY2JhMGEwZGZkNTYwNWNhN2IxMjYu
LmYxZGZlN2RmODc5OTY5ZWI5OWQ5MWIyOWYxNWI5MTBiNTY2M2JjOTcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC0xMDEsNiArMTAxLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzT3duUHRy
PEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4pID0gMDsKIAogICAgIC8vIFJlY3Vyc2l2ZWx5IGRl
bGV0ZXMgYSBkaXJlY3RvcnkgYXQgYSBnaXZlbiBwYXRoLgorICAgIC8vIFRoaXMgbWF5IG5vdCBh
bHdheXMgcmV0dXJuIHRoZSBsb2NhbCBwbGF0Zm9ybSBwYXRoIGluIHJlbW90ZSBmaWxlc3lzdGVt
IGNhc2VzLgogICAgIC8vIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIGlz
IGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAg
ICAvLyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBpcyBjYWxsZWQgb3RoZXJ3
aXNlLgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVSZWN1cnNpdmVseShjb25zdCBTdHJpbmcmIHBh
dGgsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPikgPSAwOwpAQCAtMTQwLDYg
KzE0MSwxNSBAQCBwdWJsaWM6CiAgICAgLy8gQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRG
YWlsKCkgaXMgY2FsbGVkIG90aGVyd2lzZS4KICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlV3JpdGVy
KEFzeW5jRmlsZVdyaXRlckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NP
d25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPikgPSAwOwogCisgICAgLy8gR2V0cyB0aGUg
c25hcHNob3QgaW5mbyBmb3IgYSBnaXZlbiBmaWxlIGF0IHxwYXRofC4KKyAgICAvLyBBc3luY0Zp
bGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJlYWRNZXRhZGF0YSgpIHdpdGggdGhlIG1ldGFkYXRhIG9m
IHRoZSBzbmFwc2hvdCBmaWxlIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBj
b21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgorICAgIC8vIFRoZSByZXR1cm5lZCBtZXRhZGF0YSBzaG91
bGQgaW5jbHVkZSBhIGxvY2FsIHBsYXRmb3JtIHBhdGggdG8gdGhlIHNuYXBzaG90IGltYWdlLAor
ICAgIC8vIHdoaWNoIGNvdWxkIGJlIHRoZSBmaWxlIGl0c2VsZiBpbiBsb2NhbCBmaWxlc3lzdGVt
IGNhc2VzLCBidXQgY291bGQgYmUgcG9pbnRpbmcgdG8KKyAgICAvLyBhIGxvY2FsIHRlbXBvcmFy
eSBmaWxlIGluIHJlbW90ZSBmaWxlc3lzdGVtIGNhc2VzLgorICAgIC8vIEZJWE1FOiBtYWtlIGl0
IGNsZWFyIHdoZW4gdGhlIHRlbXBvcmFyeSBzbmFwc2hvdCBjb3VsZCBiZSBkcm9wcGVkLgorICAg
IC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhl
cndpc2UuCisgICAgdmlydHVhbCB2b2lkIGdldFNuYXBzaG90RmlsZUluZm8oY29uc3QgU3RyaW5n
JiBwYXRoLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4pID0gMDsKKwogICAg
IFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsgfQogCiBwcm90ZWN0ZWQ6CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lz
dGVtLmggYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lz
dGVtLmgKaW5kZXggNTgzZWZlMDdjMjQ4YjY3NTAyMjk5MTg4OTcxMjE1OGViMGIyYjkzYy4uYzQz
MDI0YTFkMjNlYzMwMDFlZGY1MThiMzM4NjgwZjkzNWM2NDc5OSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaApAQCAt
NzEsNiArNzEsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVJlY3Vyc2l2ZWx5
KGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FT
U0VSVF9OT1RfUkVBQ0hFRCgpOyB9CiAKICAgICAvLyBSZXRyaWV2ZXMgdGhlIG1ldGFkYXRhIGlu
Zm9ybWF0aW9uIG9mIHRoZSBmaWxlIG9yIGRpcmVjdG9yeSBhdCB0aGUgZ2l2ZW4gfHBhdGh8Lgor
ICAgIC8vIFRoaXMgbWF5IG5vdCBhbHdheXMgcmV0dXJuIHRoZSBsb2NhbCBwbGF0Zm9ybSBwYXRo
IGluIHJlbW90ZSBmaWxlc3lzdGVtIGNhc2VzLgogICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFj
a3M6OmRpZFJlYWRNZXRhZGF0YSgpIG11c3QgYmUgY2FsbGVkIHdpdGggYSB2YWxpZCBtZXRhZGF0
YSB3aGVuIHRoZSByZXRyaWV2YWwgaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAgICAvLyBX
ZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNl
LgogICAgIHZpcnR1YWwgdm9pZCByZWFkTWV0YWRhdGEoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJG
aWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KQEAg
LTExNCw2ICsxMTUsMTQgQEAgcHVibGljOgogICAgIC8vIFRoaXMgaXMgYSBmYXN0LCBzeW5jaHJv
bm91cyBjYWxsLCBhbmQgc2hvdWxkIG5vdCBzdGF0IHRoZSBmaWxlc3lzdGVtLgogICAgIHZpcnR1
YWwgV2ViRmlsZVdyaXRlciogY3JlYXRlRmlsZVdyaXRlcihjb25zdCBXZWJVUkwmIHBhdGgsIFdl
YkZpbGVXcml0ZXJDbGllbnQqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJu
IDA7IH0KIAorICAgIC8vIEdldHMgdGhlIHNuYXBzaG90IGluZm8gZm9yIGEgZ2l2ZW4gZmlsZSBh
dCB8cGF0aHwuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkUmVhZE1ldGFkYXRh
KCkgd2l0aCB0aGUgbWV0YWRhdGEgb2YgdGhlIHNuYXBzaG90IGZpbGUgbXVzdCBiZSBjYWxsZWQg
d2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gVGhl
IHJldHVybmVkIG1ldGFkYXRhIHNob3VsZCBpbmNsdWRlIGEgbG9jYWwgcGxhdGZvcm0gcGF0aCB0
byB0aGUgc25hcHNob3QgaW1hZ2UsCisgICAgLy8gd2hpY2ggY291bGQgYmUgdGhlIGZpbGUgaXRz
ZWxmIGluIGxvY2FsIGZpbGVzeXN0ZW0gY2FzZXMsIGJ1dCBjb3VsZCBiZSBwb2ludGluZyB0bwor
ICAgIC8vIGEgbG9jYWwgdGVtcG9yYXJ5IGZpbGUgaW4gcmVtb3RlIGZpbGVzeXN0ZW0gY2FzZXMu
CisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgpIG11c3QgYmUgY2FsbGVk
IG90aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgZ2V0U25hcHNob3RGaWxlSW5mbyhjb25zdCBX
ZWJVUkwmIHBhdGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9U
X1JFQUNIRUQoKTsgfQorCiBwcm90ZWN0ZWQ6CiAgICAgdmlydHVhbCB+V2ViRmlsZVN5c3RlbSgp
IHsgfQogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmls
ZVN5c3RlbUNocm9taXVtLmNwcCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmls
ZVN5c3RlbUNocm9taXVtLmNwcAppbmRleCAxZjkzY2Y5M2U0Njc4YzU4ODgwM2E3M2RhNjk5NzZh
MGI1ZDcxZmNiLi5iNzUzMjFjODY3MjQ2MTMzYjE1ZWY0YjYyMjRjMDE5MTc3YWY3NzQ1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1
bS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hy
b21pdW0uY3BwCkBAIC0yNTQsNiArMjU0LDEyIEBAIHZvaWQgQXN5bmNGaWxlU3lzdGVtQ2hyb21p
dW06OmNyZWF0ZVdyaXRlcihBc3luY0ZpbGVXcml0ZXJDbGllbnQqIGNsaWVudCwgY29uc3QKICAg
ICBtX3dlYkZpbGVTeXN0ZW0tPnJlYWRNZXRhZGF0YShwYXRoQXNVUkwsIG5ldyBGaWxlV3JpdGVy
SGVscGVyQ2FsbGJhY2tzKGNsaWVudCwgcGF0aEFzVVJMLCBtX3dlYkZpbGVTeXN0ZW0sIGNhbGxi
YWNrcykpOwogfQogCit2b2lkIEFzeW5jRmlsZVN5c3RlbUNocm9taXVtOjpnZXRTbmFwc2hvdEZp
bGVJbmZvKGNvbnN0IFN0cmluZyYgcGF0aCwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxs
YmFja3M+IGNhbGxiYWNrcykKK3sKKyAgICBLVVJMIHBhdGhBc1VSTCA9IHZpcnR1YWxQYXRoVG9G
aWxlU3lzdGVtVVJMKHBhdGgpOworICAgIG1fd2ViRmlsZVN5c3RlbS0+Z2V0U25hcHNob3RGaWxl
SW5mbyhwYXRoQXNVUkwsIG5ldyBXZWJLaXQ6OldlYkZpbGVTeXN0ZW1DYWxsYmFja3NJbXBsKGNh
bGxiYWNrcykpOworfQorCiBLVVJMIEFzeW5jRmlsZVN5c3RlbUNocm9taXVtOjp2aXJ0dWFsUGF0
aFRvRmlsZVN5c3RlbVVSTChjb25zdCBTdHJpbmcmIHZpcnR1YWxQYXRoKSBjb25zdAogewogICAg
IEFTU0VSVCghbV9maWxlc3lzdGVtUm9vdFVSTC5pc0VtcHR5KCkpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uaCBiL1NvdXJj
ZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVtLmgKaW5kZXggYThj
YmNhMjc2MDM0OTZiYTA1YjkyYzU5ZDdlNmJkOWNjZTcyZTZmNC4uYWU5OTZiNGEyNWYxMmE1NjEy
NjRhNDUzNzlmODhkYWQ1MDc3YTlmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1
bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uaAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9t
aXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5oCkBAIC02Nyw2ICs2Nyw4IEBAIHB1Ymxp
YzoKICAgICB2aXJ0dWFsIHZvaWQgcmVhZERpcmVjdG9yeShjb25zdCBTdHJpbmcmIHBhdGgsIFBh
c3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPik7CiAgICAgdmlydHVhbCB2b2lkIGNy
ZWF0ZVdyaXRlcihBc3luY0ZpbGVXcml0ZXJDbGllbnQqIGNsaWVudCwgY29uc3QgU3RyaW5nJiBw
YXRoLCBQYXNzT3duUHRyPEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4pOwogCisgICAgdmlydHVh
bCB2b2lkIGdldFNuYXBzaG90RmlsZUluZm8oY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzT3duUHRy
PEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4pOworCiBwcm90ZWN0ZWQ6CiAgICAgQXN5bmNGaWxl
U3lzdGVtQ2hyb21pdW0oQXN5bmNGaWxlU3lzdGVtOjpUeXBlLCBjb25zdCBLVVJMJiByb290VVJM
KTsKICAgICBXZWJLaXQ6OldlYkZpbGVTeXN0ZW0qIG1fd2ViRmlsZVN5c3RlbTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128595</attachid>
            <date>2012-02-23 16:31:23 -0800</date>
            <delta_ts>2012-02-23 17:27:00 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79394-20120224093121.patch</filename>
            <type>text/plain</type>
            <size>7355</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjRmNTIxOGQzY2UxNTE4
MWU2NzFmMDg0OWI4MDFjYmFlNDY4N2UyMC4uMzQ5NTRmOWY3MjlkYWVlZDYzZjdhMTA4N2JiNmVk
YjRhNzlkYWM3OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEyLTAyLTIzICBLaW51
a28gWWFzdWRhICA8a2ludWtvQGNocm9taXVtLm9yZz4KKworICAgICAgICBbY2hyb21pdW1dIEFk
ZCBHZXRTbmFwc2hvdEZpbGVJbmZvIEFQSSB0byBXZWJGaWxlU3lzdGVtIHRvIGdldCBmaWxlIHNu
YXBzaG90IGluZm8gZm9yIGZpbGVzeXN0ZW0gZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5Mzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzOiB0ZXN0IHdpbGwgYmUgYWRkZWQg
d2hlbiB0aGUgQVBJIGlzIGFjdHVhbGx5IHdpcmVkIGluLgorCisgICAgICAgICogcGxhdGZvcm0v
QXN5bmNGaWxlU3lzdGVtLmg6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW06Omdl
dFNuYXBzaG90RmlsZUluZm8pOiBBZGRlZC4KKwogMjAxMi0wMi0yMiAgUGF2ZWwgRmVsZG1hbiAg
PHBmZWxkbWFuQGdvb2dsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogY29uc29sZSBk
b2Vzbid0IHNob3cgcHJvcGVybHkgYXJyYXlzIGZyb20gd2hpY2ggdGFpbCB2YWx1ZXMgaGF2ZSBi
ZWVuIGRlbGV0ZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9n
IGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKaW5kZXggZGY0MjJmYjE2ODAyOWJm
N2I3OTIzZmRhMWQ4MjllZTQ2NzkxZjY4NS4uMTI4NmY5NWNmMmVlMDA0M2RmNGMyMzNjMjBmYmU0
ZTg1ZTZlZDI1OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAor
MjAxMi0wMi0yMyAgS2ludWtvIFlhc3VkYSAgPGtpbnVrb0BjaHJvbWl1bS5vcmc+CisKKyAgICAg
ICAgW2Nocm9taXVtXSBBZGQgR2V0U25hcHNob3RGaWxlSW5mbyBBUEkgdG8gV2ViRmlsZVN5c3Rl
bSB0byBnZXQgZmlsZSBzbmFwc2hvdCBpbmZvIGZvciBmaWxlc3lzdGVtIGZpbGVzCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03OTM5NAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogcHVibGljL3BsYXRmb3Jt
L1dlYkZpbGVTeXN0ZW0uaDoKKyAgICAgICAgKFdlYktpdDo6V2ViRmlsZVN5c3RlbTo6Z2V0U25h
cHNob3RGaWxlSW5mbyk6IEFkZGVkLgorICAgICAgICAqIHNyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJv
bWl1bS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bTo6Z2V0
U25hcHNob3RGaWxlSW5mbyk6IEFkZGVkLgorCiAyMDEyLTAyLTIyICBIYW8gWmhlbmcgIDx6aGVu
Z2hhb0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgW2Nocm9taXVtXSBCdWlsZCBXZWJLaXQgd2l0
aCBNRURJQV9TVFJFQU0gZGlzYWJsZWQuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9Bc3luY0ZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmls
ZVN5c3RlbS5oCmluZGV4IGJiZWY2YTRlMzE5Y2JmYTk3M2JkY2JhMGEwZGZkNTYwNWNhN2IxMjYu
LmE3MDU4YzdhZDY1NzM5MjYxOWYwYTYwYmUzMWRkMDkyYzQxNzJjN2MgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL0FzeW5jRmlsZVN5c3RlbS5oCkBAIC0xMDEsNiArMTAxLDcgQEAgcHVibGlj
OgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmUoY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzT3duUHRy
PEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4pID0gMDsKIAogICAgIC8vIFJlY3Vyc2l2ZWx5IGRl
bGV0ZXMgYSBkaXJlY3RvcnkgYXQgYSBnaXZlbiBwYXRoLgorICAgIC8vIFRoaXMgbWF5IG5vdCBh
bHdheXMgcmV0dXJuIHRoZSBsb2NhbCBwbGF0Zm9ybSBwYXRoIGluIHJlbW90ZSBmaWxlc3lzdGVt
IGNhc2VzLgogICAgIC8vIEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkU3VjY2VlZCgpIGlz
IGNhbGxlZCB3aGVuIHRoZSBvcGVyYXRpb24gaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAg
ICAvLyBBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBpcyBjYWxsZWQgb3RoZXJ3
aXNlLgogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVSZWN1cnNpdmVseShjb25zdCBTdHJpbmcmIHBh
dGgsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPikgPSAwOwpAQCAtMTQwLDYg
KzE0MSwxNCBAQCBwdWJsaWM6CiAgICAgLy8gQXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRG
YWlsKCkgaXMgY2FsbGVkIG90aGVyd2lzZS4KICAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlV3JpdGVy
KEFzeW5jRmlsZVdyaXRlckNsaWVudCogY2xpZW50LCBjb25zdCBTdHJpbmcmIHBhdGgsIFBhc3NP
d25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPikgPSAwOwogCisgICAgLy8gR2V0cyB0aGUg
c25hcHNob3QgaW5mbyBmb3IgYSBnaXZlbiBmaWxlIGF0IHxwYXRofC4KKyAgICAvLyBBc3luY0Zp
bGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJlYWRNZXRhZGF0YSgpIHdpdGggdGhlIG1ldGFkYXRhIG9m
IHRoZSBzbmFwc2hvdCBmaWxlIG11c3QgYmUgY2FsbGVkIHdoZW4gdGhlIG9wZXJhdGlvbiBpcyBj
b21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgorICAgIC8vIFRoZSByZXR1cm5lZCBtZXRhZGF0YSBzaG91
bGQgaW5jbHVkZSBhIGxvY2FsIHBsYXRmb3JtIHBhdGggdG8gdGhlIHNuYXBzaG90IGltYWdlLAor
ICAgIC8vIHdoaWNoIGNvdWxkIGJlIHRoZSBmaWxlIGl0c2VsZiBpbiBsb2NhbCBmaWxlc3lzdGVt
IGNhc2VzLCBidXQgY291bGQgYmUgcG9pbnRpbmcgdG8KKyAgICAvLyBhIGxvY2FsIHRlbXBvcmFy
eSBmaWxlIGluIHJlbW90ZSBmaWxlc3lzdGVtIGNhc2VzLgorICAgIC8vIFdlYkZpbGVTeXN0ZW1D
YWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhlcndpc2UuCisgICAgdmlydHVh
bCB2b2lkIGdldFNuYXBzaG90RmlsZUluZm8oY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzT3duUHRy
PEFzeW5jRmlsZVN5c3RlbUNhbGxiYWNrcz4pID0gMDsKKwogICAgIFR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIG1fdHlwZTsgfQogCiBwcm90ZWN0ZWQ6CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmggYi9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgKaW5kZXggNTgzZWZl
MDdjMjQ4YjY3NTAyMjk5MTg4OTcxMjE1OGViMGIyYjkzYy4uOTY5YTAzMTJlMTEwNDA5ZTgzYzhk
Zjg3MjdmNGEzNzVjNjNmYWEwYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9w
dWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21p
dW0vcHVibGljL3BsYXRmb3JtL1dlYkZpbGVTeXN0ZW0uaApAQCAtNzEsNiArNzEsNyBAQCBwdWJs
aWM6CiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZVJlY3Vyc2l2ZWx5KGNvbnN0IFdlYlVSTCYgcGF0
aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OyB9CiAKICAgICAvLyBSZXRyaWV2ZXMgdGhlIG1ldGFkYXRhIGluZm9ybWF0aW9uIG9mIHRoZSBm
aWxlIG9yIGRpcmVjdG9yeSBhdCB0aGUgZ2l2ZW4gfHBhdGh8LgorICAgIC8vIFRoaXMgbWF5IG5v
dCBhbHdheXMgcmV0dXJuIHRoZSBsb2NhbCBwbGF0Zm9ybSBwYXRoIGluIHJlbW90ZSBmaWxlc3lz
dGVtIGNhc2VzLgogICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZFJlYWRNZXRhZGF0
YSgpIG11c3QgYmUgY2FsbGVkIHdpdGggYSB2YWxpZCBtZXRhZGF0YSB3aGVuIHRoZSByZXRyaWV2
YWwgaXMgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4KICAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJh
Y2tzOjpkaWRGYWlsKCkgbXVzdCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgogICAgIHZpcnR1YWwgdm9p
ZCByZWFkTWV0YWRhdGEoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tz
KikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KQEAgLTExNCw2ICsxMTUsMTQgQEAg
cHVibGljOgogICAgIC8vIFRoaXMgaXMgYSBmYXN0LCBzeW5jaHJvbm91cyBjYWxsLCBhbmQgc2hv
dWxkIG5vdCBzdGF0IHRoZSBmaWxlc3lzdGVtLgogICAgIHZpcnR1YWwgV2ViRmlsZVdyaXRlciog
Y3JlYXRlRmlsZVdyaXRlcihjb25zdCBXZWJVUkwmIHBhdGgsIFdlYkZpbGVXcml0ZXJDbGllbnQq
KSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgcmV0dXJuIDA7IH0KIAorICAgIC8vIEdl
dHMgdGhlIHNuYXBzaG90IGluZm8gZm9yIGEgZ2l2ZW4gZmlsZSBhdCB8cGF0aHwuCisgICAgLy8g
V2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkUmVhZE1ldGFkYXRhKCkgd2l0aCB0aGUgbWV0YWRh
dGEgb2YgdGhlIHNuYXBzaG90IGZpbGUgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9u
IGlzIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gVGhlIHJldHVybmVkIG1ldGFkYXRh
IHNob3VsZCBpbmNsdWRlIGEgbG9jYWwgcGxhdGZvcm0gcGF0aCB0byB0aGUgc25hcHNob3QgaW1h
Z2UuCisgICAgLy8gSW4gbG9jYWwgZmlsZXN5c3RlbSBjYXNlcyB0aGUgYmFja2VuZCBtYXkgc2lt
cGx5IHJldHVybiB0aGUgbWV0YWRhdGEgb2YgdGhlIGZpbGUgaXRzZWxmIChhcyB3ZWxsIGFzIHJl
YWRNZXRhZGF0YSBkb2VzKSwgd2hpbGUgaW4gcmVtb3RlIGZpbGVzeXN0ZW0gY2FzZSB0aGUgYmFj
a2VuZCBtYXkgZG93bmxvYWQgdGhlIGZpbGUgaW50byBhIHRlbXBvcmFyeSBzbmFwc2hvdCBmaWxl
IGFuZCByZXR1cm4gdGhlIG1ldGFkYXRhIG9mIHRoZSB0ZW1wb3JhcnkgZmlsZS4KKyAgICAvLyBU
aGUgcmV0dXJuZWQgbWV0YWRhdGEgaXMgdXNlZCB0byBjcmVhdGUgYSBGaWxlIG9iamVjdCBmb3Ig
dGhlIHxwYXRofC4KKyAgICAvLyBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzOjpkaWRGYWlsKCkgbXVz
dCBiZSBjYWxsZWQgb3RoZXJ3aXNlLgorICAgIHZpcnR1YWwgdm9pZCBnZXRTbmFwc2hvdEZpbGVJ
bmZvKGNvbnN0IFdlYlVSTCYgcGF0aCwgV2ViRmlsZVN5c3RlbUNhbGxiYWNrcyopIHsgV0VCS0lU
X0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyB9CisKIHByb3RlY3RlZDoKICAgICB2aXJ0dWFsIH5XZWJG
aWxlU3lzdGVtKCkgeyB9CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9z
cmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0uY3BwCmluZGV4IDFmOTNjZjkzZTQ2NzhjNTg4ODAz
YTczZGE2OTk3NmEwYjVkNzFmY2IuLmI3NTMyMWM4NjcyNDYxMzNiMTVlZjRiNjIyNGMwMTkxNzdh
Zjc3NDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5
c3RlbUNocm9taXVtLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0Zp
bGVTeXN0ZW1DaHJvbWl1bS5jcHAKQEAgLTI1NCw2ICsyNTQsMTIgQEAgdm9pZCBBc3luY0ZpbGVT
eXN0ZW1DaHJvbWl1bTo6Y3JlYXRlV3JpdGVyKEFzeW5jRmlsZVdyaXRlckNsaWVudCogY2xpZW50
LCBjb25zdAogICAgIG1fd2ViRmlsZVN5c3RlbS0+cmVhZE1ldGFkYXRhKHBhdGhBc1VSTCwgbmV3
IEZpbGVXcml0ZXJIZWxwZXJDYWxsYmFja3MoY2xpZW50LCBwYXRoQXNVUkwsIG1fd2ViRmlsZVN5
c3RlbSwgY2FsbGJhY2tzKSk7CiB9CiAKK3ZvaWQgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06Omdl
dFNuYXBzaG90RmlsZUluZm8oY29uc3QgU3RyaW5nJiBwYXRoLCBQYXNzT3duUHRyPEFzeW5jRmls
ZVN5c3RlbUNhbGxiYWNrcz4gY2FsbGJhY2tzKQoreworICAgIEtVUkwgcGF0aEFzVVJMID0gdmly
dHVhbFBhdGhUb0ZpbGVTeXN0ZW1VUkwocGF0aCk7CisgICAgbV93ZWJGaWxlU3lzdGVtLT5nZXRT
bmFwc2hvdEZpbGVJbmZvKHBhdGhBc1VSTCwgbmV3IFdlYktpdDo6V2ViRmlsZVN5c3RlbUNhbGxi
YWNrc0ltcGwoY2FsbGJhY2tzKSk7Cit9CisKIEtVUkwgQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW06
OnZpcnR1YWxQYXRoVG9GaWxlU3lzdGVtVVJMKGNvbnN0IFN0cmluZyYgdmlydHVhbFBhdGgpIGNv
bnN0CiB7CiAgICAgQVNTRVJUKCFtX2ZpbGVzeXN0ZW1Sb290VVJMLmlzRW1wdHkoKSk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1
bS5oIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9zcmMvQXN5bmNGaWxlU3lzdGVtQ2hyb21pdW0u
aAppbmRleCBhOGNiY2EyNzYwMzQ5NmJhMDViOTJjNTlkN2U2YmQ5Y2NlNzJlNmY0Li5hZTk5NmI0
YTI1ZjEyYTU2MTI2NGE0NTM3OWY4OGRhZDUwNzdhOWZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L2Nocm9taXVtL3NyYy9Bc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bS5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQvY2hyb21pdW0vc3JjL0FzeW5jRmlsZVN5c3RlbUNocm9taXVtLmgKQEAgLTY3LDYgKzY3
LDggQEAgcHVibGljOgogICAgIHZpcnR1YWwgdm9pZCByZWFkRGlyZWN0b3J5KGNvbnN0IFN0cmlu
ZyYgcGF0aCwgUGFzc093blB0cjxBc3luY0ZpbGVTeXN0ZW1DYWxsYmFja3M+KTsKICAgICB2aXJ0
dWFsIHZvaWQgY3JlYXRlV3JpdGVyKEFzeW5jRmlsZVdyaXRlckNsaWVudCogY2xpZW50LCBjb25z
dCBTdHJpbmcmIHBhdGgsIFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPik7CiAK
KyAgICB2aXJ0dWFsIHZvaWQgZ2V0U25hcHNob3RGaWxlSW5mbyhjb25zdCBTdHJpbmcmIHBhdGgs
IFBhc3NPd25QdHI8QXN5bmNGaWxlU3lzdGVtQ2FsbGJhY2tzPik7CisKIHByb3RlY3RlZDoKICAg
ICBBc3luY0ZpbGVTeXN0ZW1DaHJvbWl1bShBc3luY0ZpbGVTeXN0ZW06OlR5cGUsIGNvbnN0IEtV
UkwmIHJvb3RVUkwpOwogICAgIFdlYktpdDo6V2ViRmlsZVN5c3RlbSogbV93ZWJGaWxlU3lzdGVt
Owo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>128836</attachid>
            <date>2012-02-24 18:15:05 -0800</date>
            <delta_ts>2012-02-27 17:03:47 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79394-20120225111503.patch</filename>
            <type>text/plain</type>
            <size>3583</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4NzIwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGQ0OGYyNWI1YzBhOWI3MjEwNDFmNGQzNzNlNWY4MTYwOWQxYmZhYjAuLmMxYjk4ODZiZDU0ODk3
YjZjZjlhNTQwODc1NWEzZmZkZmUyMzhkYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMTItMDItMjQgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIGNyZWF0ZVNuYXBzaG90RmlsZSBBUEkg
dG8gV2ViRmlsZVN5c3RlbSB0byBjcmVhdGUgRmlsZSBzbmFwc2hvdHMgZm9yIGZpbGVzeXN0ZW0g
ZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5
Mzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
dWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJGaWxl
U3lzdGVtOjpjcmVhdGVTbmFwc2hvdEZpbGUpOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
RmlsZVN5c3RlbTo6ZGlkUmVnaXN0ZXJTbmFwc2hvdEZpbGUpOiBBZGRlZC4KKwogMjAxMi0wMi0y
MyAgSmFtZXMgUm9iaW5zb24gIDxqYW1lc3JAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFtjaHJv
bWl1bV0gQ2xlYW4gdXAgR3JhcGhpY3NDb250ZXh0M0QgaW5pdGlhbGl6YXRpb24gcGF0aHMKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkZpbGVT
eXN0ZW0uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dlYkZpbGVT
eXN0ZW0uaAppbmRleCA1ODNlZmUwN2MyNDhiNjc1MDIyOTkxODg5NzEyMTU4ZWIwYjJiOTNjLi42
Y2QyNWZhOTk0NzlhMTRmZjg1MDI3Mzg2YTExYzVhOTAyNTQzOGE3IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgKKysrIGIv
U291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oCkBA
IC03MSw2ICs3MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlUmVjdXJzaXZl
bHkoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRf
QVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KIAogICAgIC8vIFJldHJpZXZlcyB0aGUgbWV0YWRhdGEg
aW5mb3JtYXRpb24gb2YgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IGF0IHRoZSBnaXZlbiB8cGF0aHwu
CisgICAgLy8gVGhpcyBtYXkgbm90IGFsd2F5cyByZXR1cm4gdGhlIGxvY2FsIHBsYXRmb3JtIHBh
dGggaW4gcmVtb3RlIGZpbGVzeXN0ZW0gY2FzZXMuCiAgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxi
YWNrczo6ZGlkUmVhZE1ldGFkYXRhKCkgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHZhbGlkIG1ldGFk
YXRhIHdoZW4gdGhlIHJldHJpZXZhbCBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5LgogICAgIC8v
IFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBvdGhlcndp
c2UuCiAgICAgdmlydHVhbCB2b2lkIHJlYWRNZXRhZGF0YShjb25zdCBXZWJVUkwmIHBhdGgsIFdl
YkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgfQpA
QCAtMTE0LDYgKzExNSwxOCBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBpcyBhIGZhc3QsIHN5bmNo
cm9ub3VzIGNhbGwsIGFuZCBzaG91bGQgbm90IHN0YXQgdGhlIGZpbGVzeXN0ZW0uCiAgICAgdmly
dHVhbCBXZWJGaWxlV3JpdGVyKiBjcmVhdGVGaWxlV3JpdGVyKGNvbnN0IFdlYlVSTCYgcGF0aCwg
V2ViRmlsZVdyaXRlckNsaWVudCopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgpOyByZXR1
cm4gMDsgfQogCisgICAgLy8gQ3JlYXRlcyBhIHNuYXBzaG90IGZpbGUgZm9yIGEgZ2l2ZW4gZmls
ZSBzcGVjaWZpZWQgYnkgfHBhdGh8IGFuZCByZWdpc3RlcnMgdGhlIGZpbGUgd2l0aCB0aGUgfGJs
b2JVUkx8LiBJdCByZXR1cm5zIHRoZSBtZXRhZGF0YSBvZiB0aGUgY3JlYXRlZCBzbmFwc2hvdCBm
aWxlLgorICAgIC8vIFRoZSByZXR1cm5lZCBtZXRhZGF0YSBzaG91bGQgaW5jbHVkZSBhIGxvY2Fs
IHBsYXRmb3JtIHBhdGggdG8gdGhlIHNuYXBzaG90IGltYWdlLgorICAgIC8vIEluIGxvY2FsIGZp
bGVzeXN0ZW0gY2FzZXMgdGhlIGJhY2tlbmQgbWF5IHNpbXBseSByZXR1cm4gdGhlIG1ldGFkYXRh
IG9mIHRoZSBmaWxlIGl0c2VsZiAoYXMgd2VsbCBhcyByZWFkTWV0YWRhdGEgZG9lcyksIHdoaWxl
IGluIHJlbW90ZSBmaWxlc3lzdGVtIGNhc2UgdGhlIGJhY2tlbmQgbWF5IGRvd25sb2FkIHRoZSBm
aWxlIGludG8gYSB0ZW1wb3Jhcnkgc25hcHNob3QgZmlsZSBhbmQgcmV0dXJuIHRoZSBtZXRhZGF0
YSBvZiB0aGUgdGVtcG9yYXJ5IGZpbGUuCisgICAgLy8gVGhlIHJldHVybmVkIG1ldGFkYXRhIGlz
IHVzZWQgdG8gY3JlYXRlIGEgRmlsZSBvYmplY3QgZm9yIHRoZSB8cGF0aHwuCisgICAgLy8gVGhl
IHNuYXBzaG90IGZpbGUgaXMgc3VwcG9zZWQgdG8gYmUgZGVsZXRlZCB3aGVuIHRoZSBsYXN0IHJl
ZmVyZW5jZSB0byB0aGUgfGJsb2JVUkx8IGlzIGRyb3BwZWQuCisgICAgLy8gV2ViRmlsZVN5c3Rl
bUNhbGxiYWNrczo6ZGlkUmVhZE1ldGFkYXRhKCkgd2l0aCB0aGUgbWV0YWRhdGEgb2YgdGhlIHNu
YXBzaG90IGZpbGUgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNvbXBsZXRl
ZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlkRmFpbCgp
IG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgY3JlYXRlU25hcHNo
b3RGaWxlKGNvbnN0IFdlYlVSTCYgYmxvYlVSTCwgY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxl
U3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKworICAg
IC8vIENhbGxlZCB3aGVuIHRoZSBzbmFwc2hvdCBjcmVhdGVkIGJ5IGNyZWF0ZVNuYXBzaG90Rmls
ZSBpcyBzdWNjZXNzZnVsbHkgcmVnaXN0ZXJlZCBhcyBhIEZpbGUuIFRoZSBpbXBsZW1lbnRhdGlv
biBjb3VsZCB1c2UgdGhpcyBtZXRob2QgdG8gdW5yZWdpc3RlciB0aGUgfGJsb2JVUkx8IChzaW5j
ZSBhdCB0aGlzIHBvaW50IHRoZSBGaWxlIG11c3QgaGF2ZSBhbm90aGVyIChvZmZpY2lhbCkgcmVm
ZXJlbmNlKS4gVGhpcyBpcyBkb25lIGFzeW5jaHJvbm91c2x5IGFuZCB3aWxsIG5vdCBjYWxsIGFu
eSBjYWxsYmFja3MuCisgICAgdmlydHVhbCB2b2lkIGRpZFJlZ2lzdGVyU25hcHNob3RGaWxlKGNv
bnN0IFdlYlVSTCYgYmxvYlVSTCkgeyBXRUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KKwog
cHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfldlYkZpbGVTeXN0ZW0oKSB7IH0KIH07Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>129138</attachid>
            <date>2012-02-27 17:03:53 -0800</date>
            <delta_ts>2012-02-27 21:00:07 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-79394-20120228100351.patch</filename>
            <type>text/plain</type>
            <size>3145</size>
            <attacher name="Kinuko Yasuda">kinuko</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTA4OTgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCmluZGV4
IGE2ZTk0ZGY4OTQyZTM5ZGY3ODVhZDczNzk5OGNjMzQxZjVkMzk2N2UuLjgxODRkMDVjNjM2YTU1
ZmQzMWU3NGM0NjhjNzRkYWYxNWM0ZjBlYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvY2hy
b21pdW0vQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTMgQEAKKzIwMTItMDItMjQgIEtpbnVrbyBZYXN1ZGEgIDxraW51a29AY2hyb21p
dW0ub3JnPgorCisgICAgICAgIFtjaHJvbWl1bV0gQWRkIGNyZWF0ZVNuYXBzaG90RmlsZSBBUEkg
dG8gV2ViRmlsZVN5c3RlbSB0byBjcmVhdGUgRmlsZSBzbmFwc2hvdHMgZm9yIGZpbGVzeXN0ZW0g
ZmlsZXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTc5
Mzk0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBw
dWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3RlbS5oOgorICAgICAgICAoV2ViS2l0OjpXZWJGaWxl
U3lzdGVtOjpjcmVhdGVTbmFwc2hvdEZpbGVBbmRSZWFkTWV0YWRhdGEpOiBBZGRlZC4KKwogMjAx
Mi0wMi0yNiAgSGFqaW1lIE1vcnJpdGEgIDxtb3JyaXRhQGNocm9taXVtLm9yZz4KIAogICAgICAg
ICBNb3ZlIENocm9tZUNsaWVudDo6c2hvd0NvbnRleHRNZW51KCkgdG8gQ29udGV4dE1lbnVDbGll
bnQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dl
YkZpbGVTeXN0ZW0uaCBiL1NvdXJjZS9XZWJLaXQvY2hyb21pdW0vcHVibGljL3BsYXRmb3JtL1dl
YkZpbGVTeXN0ZW0uaAppbmRleCA1ODNlZmUwN2MyNDhiNjc1MDIyOTkxODg5NzEyMTU4ZWIwYjJi
OTNjLi4yNTYyZWYxYzNiMzk3ZTA3YmJiYWZmN2Q1Yzk2ZTBiMzgyZTEwM2NjIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L2Nocm9taXVtL3B1YmxpYy9wbGF0Zm9ybS9XZWJGaWxlU3lzdGVtLmgK
KysrIGIvU291cmNlL1dlYktpdC9jaHJvbWl1bS9wdWJsaWMvcGxhdGZvcm0vV2ViRmlsZVN5c3Rl
bS5oCkBAIC03MSw2ICs3MSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlUmVj
dXJzaXZlbHkoY29uc3QgV2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBX
RUJLSVRfQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KIAogICAgIC8vIFJldHJpZXZlcyB0aGUgbWV0
YWRhdGEgaW5mb3JtYXRpb24gb2YgdGhlIGZpbGUgb3IgZGlyZWN0b3J5IGF0IHRoZSBnaXZlbiB8
cGF0aHwuCisgICAgLy8gVGhpcyBtYXkgbm90IGFsd2F5cyByZXR1cm4gdGhlIGxvY2FsIHBsYXRm
b3JtIHBhdGggaW4gcmVtb3RlIGZpbGVzeXN0ZW0gY2FzZXMuCiAgICAgLy8gV2ViRmlsZVN5c3Rl
bUNhbGxiYWNrczo6ZGlkUmVhZE1ldGFkYXRhKCkgbXVzdCBiZSBjYWxsZWQgd2l0aCBhIHZhbGlk
IG1ldGFkYXRhIHdoZW4gdGhlIHJldHJpZXZhbCBpcyBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lgog
ICAgIC8vIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3M6OmRpZEZhaWwoKSBtdXN0IGJlIGNhbGxlZCBv
dGhlcndpc2UuCiAgICAgdmlydHVhbCB2b2lkIHJlYWRNZXRhZGF0YShjb25zdCBXZWJVUkwmIHBh
dGgsIFdlYkZpbGVTeXN0ZW1DYWxsYmFja3MqKSB7IFdFQktJVF9BU1NFUlRfTk9UX1JFQUNIRUQo
KTsgfQpAQCAtMTE0LDYgKzExNSwxNSBAQCBwdWJsaWM6CiAgICAgLy8gVGhpcyBpcyBhIGZhc3Qs
IHN5bmNocm9ub3VzIGNhbGwsIGFuZCBzaG91bGQgbm90IHN0YXQgdGhlIGZpbGVzeXN0ZW0uCiAg
ICAgdmlydHVhbCBXZWJGaWxlV3JpdGVyKiBjcmVhdGVGaWxlV3JpdGVyKGNvbnN0IFdlYlVSTCYg
cGF0aCwgV2ViRmlsZVdyaXRlckNsaWVudCopIHsgV0VCS0lUX0FTU0VSVF9OT1RfUkVBQ0hFRCgp
OyByZXR1cm4gMDsgfQogCisgICAgLy8gQ3JlYXRlcyBhIHNuYXBzaG90IGZpbGUgZm9yIGEgZ2l2
ZW4gZmlsZSBzcGVjaWZpZWQgYnkgfHBhdGh8IGFuZCByZWdpc3RlcnMgdGhlIGZpbGUgd2l0aCB0
aGUgfGJsb2JVUkx8LiBJdCByZXR1cm5zIHRoZSBtZXRhZGF0YSBvZiB0aGUgY3JlYXRlZCBzbmFw
c2hvdCBmaWxlLgorICAgIC8vIFRoZSByZXR1cm5lZCBtZXRhZGF0YSBzaG91bGQgaW5jbHVkZSBh
IGxvY2FsIHBsYXRmb3JtIHBhdGggdG8gdGhlIHNuYXBzaG90IGltYWdlLgorICAgIC8vIEluIGxv
Y2FsIGZpbGVzeXN0ZW0gY2FzZXMgdGhlIGJhY2tlbmQgbWF5IHNpbXBseSByZXR1cm4gdGhlIG1l
dGFkYXRhIG9mIHRoZSBmaWxlIGl0c2VsZiAoYXMgd2VsbCBhcyByZWFkTWV0YWRhdGEgZG9lcyks
IHdoaWxlIGluIHJlbW90ZSBmaWxlc3lzdGVtIGNhc2UgdGhlIGJhY2tlbmQgbWF5IGRvd25sb2Fk
IHRoZSBmaWxlIGludG8gYSB0ZW1wb3Jhcnkgc25hcHNob3QgZmlsZSBhbmQgcmV0dXJuIHRoZSBt
ZXRhZGF0YSBvZiB0aGUgdGVtcG9yYXJ5IGZpbGUuCisgICAgLy8gVGhlIHJldHVybmVkIG1ldGFk
YXRhIGlzIHVzZWQgdG8gY3JlYXRlIGEgRmlsZSBvYmplY3QgZm9yIHRoZSB8cGF0aHwuCisgICAg
Ly8gVGhlIHNuYXBzaG90IGZpbGUgaXMgc3VwcG9zZWQgdG8gYmUgZGVsZXRlZCB3aGVuIHRoZSBs
YXN0IHJlZmVyZW5jZSB0byB0aGUgfGJsb2JVUkx8IGlzIGRyb3BwZWQuCisgICAgLy8gV2ViRmls
ZVN5c3RlbUNhbGxiYWNrczo6ZGlkUmVhZE1ldGFkYXRhKCkgd2l0aCB0aGUgbWV0YWRhdGEgb2Yg
dGhlIHNuYXBzaG90IGZpbGUgbXVzdCBiZSBjYWxsZWQgd2hlbiB0aGUgb3BlcmF0aW9uIGlzIGNv
bXBsZXRlZCBzdWNjZXNzZnVsbHkuCisgICAgLy8gV2ViRmlsZVN5c3RlbUNhbGxiYWNrczo6ZGlk
RmFpbCgpIG11c3QgYmUgY2FsbGVkIG90aGVyd2lzZS4KKyAgICB2aXJ0dWFsIHZvaWQgY3JlYXRl
U25hcHNob3RGaWxlQW5kUmVhZE1ldGFkYXRhKGNvbnN0IFdlYlVSTCYgYmxvYlVSTCwgY29uc3Qg
V2ViVVJMJiBwYXRoLCBXZWJGaWxlU3lzdGVtQ2FsbGJhY2tzKikgeyBXRUJLSVRfQVNTRVJUX05P
VF9SRUFDSEVEKCk7IH0KKwogcHJvdGVjdGVkOgogICAgIHZpcnR1YWwgfldlYkZpbGVTeXN0ZW0o
KSB7IH0KIH07Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>