<?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>51710</bug_id>
          
          <creation_ts>2010-12-29 09:47:59 -0800</creation_ts>
          <short_desc>[chromium] Add a WebAutoFillClient interface that moves some functions from WebViewClient</short_desc>
          <delta_ts>2011-01-05 23:44:03 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="John Abd-El-Malek">jam</reporter>
          <assigned_to name="John Abd-El-Malek">jam</assigned_to>
          <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>fishd</cc>
    
    <cc>levin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>327597</commentid>
    <comment_count>0</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2010-12-29 09:47:59 -0800</bug_when>
    <thetext>[chromium] Add a WebAutoFillClient interface that moves some functions from WebViewClient</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327600</commentid>
    <comment_count>1</comment_count>
      <attachid>77626</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2010-12-29 09:52:24 -0800</bug_when>
    <thetext>Created attachment 77626
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327611</commentid>
    <comment_count>2</comment_count>
      <attachid>77628</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2010-12-29 10:14:17 -0800</bug_when>
    <thetext>Created attachment 77628
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327614</commentid>
    <comment_count>3</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2010-12-29 10:18:04 -0800</bug_when>
    <thetext>I&apos;m just moving functions from WebViewClient, which will allow some code cleanup in Chromium code (auto-fill, auto-complete, and password-complete features can be detached from RenderView).  The first step is to check in this interface so that RenderView can implement it, then I will check in the WebKit side change that uses the new interface, and once that&apos;s rolled, I will remove the old WebKit code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328592</commentid>
    <comment_count>4</comment_count>
      <attachid>77628</attachid>
    <who name="David Levin">levin</who>
    <bug_when>2011-01-03 09:23:22 -0800</bug_when>
    <thetext>Comment on attachment 77628
Patch

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

A few comments. Of course Darin will have to give the r+ since this is the public api since my items are just nits, I&apos;m leaving this in the r? state.

&gt; WebKit/chromium/ChangeLog:5
&gt; +        [chromium] Add a WebAutoFillClient interface that moves some functions from WebViewClient

No move appears to have occurred.

Is this part 1 of several? The ChangeLog ideally would tell me this.

&gt; WebKit/chromium/public/WebAutoFillClient.h:46
&gt; +    virtual void queryAutofillSuggestions(const WebNode&amp;,

AutoFill for consistency.

&gt; WebKit/chromium/public/WebAutoFillClient.h:77
&gt; +    virtual void removeAutocompleteSugestion(const WebString&amp; name,

Nit: typo Sugestion</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328620</commentid>
    <comment_count>5</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-01-03 10:25:33 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 77628 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77628&amp;action=review
&gt; 
&gt; A few comments. Of course Darin will have to give the r+ since this is the public api since my items are just nits, I&apos;m leaving this in the r? state.
&gt; 
&gt; &gt; WebKit/chromium/ChangeLog:5
&gt; &gt; +        [chromium] Add a WebAutoFillClient interface that moves some functions from WebViewClient
&gt; 
&gt; No move appears to have occurred.
&gt; 
&gt; Is this part 1 of several? The ChangeLog ideally would tell me this.

I figured describing this in a comment (#3) is enough.  Isn&apos;t this pattern of doing things in stages to avoid two-sided patches common?

&gt; 
&gt; &gt; WebKit/chromium/public/WebAutoFillClient.h:46
&gt; &gt; +    virtual void queryAutofillSuggestions(const WebNode&amp;,
&gt; 
&gt; AutoFill for consistency.

Done

&gt; 
&gt; &gt; WebKit/chromium/public/WebAutoFillClient.h:77
&gt; &gt; +    virtual void removeAutocompleteSugestion(const WebString&amp; name,
&gt; 
&gt; Nit: typo Sugestion

Done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328623</commentid>
    <comment_count>6</comment_count>
      <attachid>77820</attachid>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-01-03 10:28:34 -0800</bug_when>
    <thetext>Created attachment 77820
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328695</commentid>
    <comment_count>7</comment_count>
    <who name="David Levin">levin</who>
    <bug_when>2011-01-03 11:59:18 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; (In reply to comment #4)
&gt; &gt; (From update of attachment 77628 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77628&amp;action=review
&gt; &gt; 
&gt; &gt; A few comments. Of course Darin will have to give the r+ since this is the public api since my items are just nits, I&apos;m leaving this in the r? state.
&gt; &gt; 
&gt; &gt; &gt; WebKit/chromium/ChangeLog:5
&gt; &gt; &gt; +        [chromium] Add a WebAutoFillClient interface that moves some functions from WebViewClient
&gt; &gt; 
&gt; &gt; No move appears to have occurred.
&gt; &gt; 
&gt; &gt; Is this part 1 of several? The ChangeLog ideally would tell me this.
&gt; 
&gt; I figured describing this in a comment (#3) is enough.  Isn&apos;t this pattern of doing things in stages to avoid two-sided patches common?

Semi-common. I like the ChangeLog because it makes the patch self contained and unfortunately, (personally) I sometimes don&apos;t notice the comments in the bug like this time :(, so when I was reading the patch alone it was confusing to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>328915</commentid>
    <comment_count>8</comment_count>
      <attachid>77820</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-01-04 01:00:29 -0800</bug_when>
    <thetext>Comment on attachment 77820
Patch

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

&gt; WebKit/chromium/public/WebAutoFillClient.h:77
&gt; +    virtual void removeAutocompleteSuggestion(const WebString&amp; name,

it is the presence of these other methods that don&apos;t have AutoFill in their
name that gives me pause about naming this interface WebAutoFillClient.  i&apos;m
struggling to come up with a better name though...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329018</commentid>
    <comment_count>9</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-01-04 09:26:56 -0800</bug_when>
    <thetext>(In reply to comment #8)
&gt; (From update of attachment 77820 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77820&amp;action=review
&gt; 
&gt; &gt; WebKit/chromium/public/WebAutoFillClient.h:77
&gt; &gt; +    virtual void removeAutocompleteSuggestion(const WebString&amp; name,
&gt; 
&gt; it is the presence of these other methods that don&apos;t have AutoFill in their
&gt; name that gives me pause about naming this interface WebAutoFillClient.  i&apos;m
&gt; struggling to come up with a better name though...

yeah, I tried to come up with something more inclusive to auto-fill/auto-complete/password-complete but couldn&apos;t.  The same issue exists on the chromium side.  WebFillClient?  But that&apos;d be even more confusing.  WebFormFillClient?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329025</commentid>
    <comment_count>10</comment_count>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-01-04 09:42:11 -0800</bug_when>
    <thetext>Some questions:

1- Some of the methods are just generic editing related notifications.  WebEditingClient would be a good name for those methods.

2- Perhaps we should consider moving more of the autofill / autocomplete implementation into Chromium?  Perhaps that would lead us to create more generic interfaces in webkit?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329027</commentid>
    <comment_count>11</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-01-04 09:46:38 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; Some questions:
&gt; 
&gt; 1- Some of the methods are just generic editing related notifications.  WebEditingClient would be a good name for those methods.

hmm, so are you suggesting that we add two new interfaces, both for auto-fill related notifications, and both going to the same listener in chromium?  I could do that, but it feels unnecessary given that the only consumers of the editing notifications would still be auto-fill code.

&gt; 
&gt; 2- Perhaps we should consider moving more of the autofill / autocomplete implementation into Chromium?  Perhaps that would lead us to create more generic interfaces in webkit?

Perhaps, but that&apos;s outside the scope of my current cleanup (making RenderView smaller).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>329032</commentid>
    <comment_count>12</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-01-04 09:54:12 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; Some questions:
&gt; &gt; 
&gt; &gt; 1- Some of the methods are just generic editing related notifications.  WebEditingClient would be a good name for those methods.
&gt; 
&gt; hmm, so are you suggesting that we add two new interfaces, both for auto-fill related notifications, and both going to the same listener in chromium?  I could do that, but it feels unnecessary given that the only consumers of the editing notifications would still be auto-fill code.
&gt; 
&gt; &gt; 
&gt; &gt; 2- Perhaps we should consider moving more of the autofill / autocomplete implementation into Chromium?  Perhaps that would lead us to create more generic interfaces in webkit?
&gt; 
&gt; Perhaps, but that&apos;s outside the scope of my current cleanup (making RenderView smaller).

I&apos;m also not sure what you mean should be moved?  i.e. the code that&apos;s calling these functions in the interface is deep inside WebKit, and chromium code doesn&apos;t know when these events happen (i.e. WebKit\WebCore\rendering\RenderTextControlSingleLine.cpp and WebKit\WebCore\dom\InputElement.cpp are what end up calling the text editing functions),</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330042</commentid>
    <comment_count>13</comment_count>
      <attachid>77820</attachid>
    <who name="Darin Fisher (:fishd, Google)">fishd</who>
    <bug_when>2011-01-05 22:49:31 -0800</bug_when>
    <thetext>Comment on attachment 77820
Patch

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

This patch is a good incremental improvement.  Long term, I would like us to move most of the auto-fill / auto-complete logic out of WebKit and instead provide lower level, generic APIs to access the information and events that we need in order to support having the implementation live in chromium.  Generic APIs are usually better since they can be used to support other features in the future.

&gt; WebKit/chromium/public/WebAutoFillClient.h:46
&gt; +    virtual void queryAutoFillSuggestions(const WebNode&amp;,

nit: it would be helpful to document what the callee is supposed to do in response to this method.
i assume the embedder is supposed to call some other function to pass results back to WebKit.
(i think the method is WebView::applyAutoFillSuggestions.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330049</commentid>
    <comment_count>14</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-01-05 23:09:18 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; (From update of attachment 77820 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=77820&amp;action=review
&gt; 
&gt; This patch is a good incremental improvement.  Long term, I would like us to move most of the auto-fill / auto-complete logic out of WebKit and instead provide lower level, generic APIs to access the information and events that we need in order to support having the implementation live in chromium.  Generic APIs are usually better since they can be used to support other features in the future.

There&apos;s a chromium bug to track this btw: http://code.google.com/p/chromium/issues/detail?id=51644
&gt; 
&gt; &gt; WebKit/chromium/public/WebAutoFillClient.h:46
&gt; &gt; +    virtual void queryAutoFillSuggestions(const WebNode&amp;,
&gt; 
&gt; nit: it would be helpful to document what the callee is supposed to do in response to this method.
&gt; i assume the embedder is supposed to call some other function to pass results back to WebKit.
&gt; (i think the method is WebView::applyAutoFillSuggestions.)

I actually took this function out, since it&apos;s not used anymore, but hadn&apos;t updated the patch yet.  Sorry about that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>330059</commentid>
    <comment_count>15</comment_count>
    <who name="John Abd-El-Malek">jam</who>
    <bug_when>2011-01-05 23:44:03 -0800</bug_when>
    <thetext>Committed r75146: &lt;http://trac.webkit.org/changeset/75146&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77626</attachid>
            <date>2010-12-29 09:52:24 -0800</date>
            <delta_ts>2010-12-29 10:14:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51710-20101229095028.patch</filename>
            <type>text/plain</type>
            <size>6613</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNzQ3NDQpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjMgQEAKKzIwMTAtMTItMjkgIEpvaG4g
QWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBhIFdlYkF1dG9GaWxsQ2xp
ZW50IGludGVyZmFjZSB0aGF0IG1vdmVzIHNvbWUgZnVuY3Rpb25zIGZyb20gV2ViVmlld0NsaWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE3MTAK
KworICAgICAgICAqIHB1YmxpYy9XZWJBdXRvRmlsbENsaWVudC5oOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0b0ZpbGxDbGllbnQ6OnRleHRGaWVsZERpZEJlZ2luRWRpdGluZyk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYkF1dG9GaWxsQ2xpZW50Ojp0ZXh0RmllbGREaWRFbmRFZGl0aW5n
KToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b0ZpbGxDbGllbnQ6OnRleHRGaWVsZERpZENoYW5n
ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9GaWxsQ2xpZW50Ojp0ZXh0RmllbGREaWRSZWNl
aXZlS2V5RG93bik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9GaWxsQ2xpZW50OjpxdWVyeUF1
dG9maWxsU3VnZ2VzdGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmlsbENsaWVudDo6
cmVtb3ZlQXV0b2ZpbGxTdWdnZXN0aW9ucyk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9GaWxs
Q2xpZW50OjpkaWRBY2NlcHRBdXRvRmlsbFN1Z2dlc3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvRmlsbENsaWVudDo6ZGlkU2VsZWN0QXV0b0ZpbGxTdWdnZXN0aW9uKToKKyAgICAgICAg
KFdlYktpdDo6V2ViQXV0b0ZpbGxDbGllbnQ6OmRpZENsZWFyQXV0b0ZpbGxTZWxlY3Rpb24pOgor
ICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmlsbENsaWVudDo6ZGlkQWNjZXB0QXV0b2NvbXBsZXRl
U3VnZ2VzdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9GaWxsQ2xpZW50Ojp+V2ViQXV0
b0ZpbGxDbGllbnQpOgorCiAyMDEwLTEyLTI5ICBaaGUgU3UgIDxzdXpoZUBjaHJvbWl1bS5vcmc+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBTZWlkZWwuCkluZGV4OiBXZWJLaXQvY2hyb21p
dW0vcHVibGljL1dlYkF1dG9GaWxsQ2xpZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2Nocm9t
aXVtL3B1YmxpYy9XZWJBdXRvRmlsbENsaWVudC5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0L2No
cm9taXVtL3B1YmxpYy9XZWJBdXRvRmlsbENsaWVudC5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsx
LDExMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBHb29nbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0Ogor
ICoKKyAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisgKiBjb3B5cmlnaHQgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyCisg
KiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlCisgKiBkaXN0cmlidXRpb24uCisgKiAgICAgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIEdv
b2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiBjb250cmlidXRvcnMgbWF5IGJlIHVz
ZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbQorICogdGhpcyBz
b2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQg
Q09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdI
VAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgV2ViQXV0b0ZpbGxDbGllbnRfaAorI2RlZmluZSBXZWJBdXRvRmlsbENs
aWVudF9oCisKKyNpbmNsdWRlICJXZWJTdHJpbmcuaCIKKyNpbmNsdWRlICJXZWJUZXh0QWZmaW5p
dHkuaCIKKyNpbmNsdWRlICJXZWJUZXh0RGlyZWN0aW9uLmgiCisjaW5jbHVkZSAiV2ViV2lkZ2V0
Q2xpZW50LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJFbGVtZW50OworY2xh
c3MgV2ViRnJhbWU7CitjbGFzcyBXZWJJbnB1dEVsZW1lbnQ7CitjbGFzcyBXZWJLZXlib2FyZEV2
ZW50OworY2xhc3MgV2ViTm9kZTsKK2NsYXNzIFdlYlVSTDsKK2NsYXNzIFdlYlZpZXc7CitjbGFz
cyBXZWJXaWRnZXQ7CitzdHJ1Y3QgV2ViUG9pbnQ7CisKK2NsYXNzIFdlYkF1dG9GaWxsQ2xpZW50
IHsKK3B1YmxpYzoKKworICAgIC8vIFRoZXNlIG1ldGhvZHMgYXJlIGNhbGxlZCB3aGVuIHRoZSB1
c2VycyBlZGl0cyBhIHRleHQtZmllbGQuCisgICAgdmlydHVhbCB2b2lkIHRleHRGaWVsZERpZEJl
Z2luRWRpdGluZyhjb25zdCBXZWJJbnB1dEVsZW1lbnQmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
dGV4dEZpZWxkRGlkRW5kRWRpdGluZyhjb25zdCBXZWJJbnB1dEVsZW1lbnQmKSB7IH0KKyAgICB2
aXJ0dWFsIHZvaWQgdGV4dEZpZWxkRGlkQ2hhbmdlKGNvbnN0IFdlYklucHV0RWxlbWVudCYpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCB0ZXh0RmllbGREaWRSZWNlaXZlS2V5RG93bihjb25zdCBXZWJJ
bnB1dEVsZW1lbnQmLCBjb25zdCBXZWJLZXlib2FyZEV2ZW50JikgeyB9CisKKworICAgIC8vIEF1
dG9GaWxsIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLQorCisgICAgLy8gUXVlcmllcyB0aGUgYnJvd3NlciBmb3Igc3VnZ2VzdGlvbnMg
dG8gYmUgc2hvd24gZm9yIHRoZSBmb3JtIHRleHQKKyAgICAvLyBmaWVsZCBuYW1lZCB8bmFtZXwu
ICB8dmFsdWV8IGlzIHRoZSB0ZXh0IGVudGVyZWQgYnkgdGhlIHVzZXIgc28KKyAgICAvLyBmYXIg
YW5kIHRoZSBXZWJOb2RlIGNvcnJlc3BvbmRzIHRvIHRoZSBpbnB1dCBmaWVsZC4KKyAgICB2aXJ0
dWFsIHZvaWQgcXVlcnlBdXRvZmlsbFN1Z2dlc3Rpb25zKGNvbnN0IFdlYk5vZGUmLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1l
LAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3Ry
aW5nJiB2YWx1ZSkgeyB9CisKKyAgICAvLyBJbnN0cnVjdHMgdGhlIGJyb3dzZXIgdG8gcmVtb3Zl
IHRoZSBBdXRvY29tcGxldGUgZW50cnkgc3BlY2lmaWVkIGZyb20KKyAgICAvLyBpdHMgREIuCisg
ICAgLy8gRklYTUU6IFRoaXMgbWV0aG9kIHNob3VsZCBiZSBuYW1lZCByZW1vdmVBdXRvY29tcGxl
dGVTdWdlc3Rpb24uCisgICAgdmlydHVhbCB2b2lkIHJlbW92ZUF1dG9maWxsU3VnZ2VzdGlvbnMo
Y29uc3QgV2ViU3RyaW5nJiBuYW1lLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIGNvbnN0IFdlYlN0cmluZyYgdmFsdWUpIHsgfQorCisgICAgLy8gSW5mb3JtcyB0
aGUgYnJvd3NlciB0aGF0IHRoZSB1c2VyIGhhcyBhY2NlcHRlZCBhbiBBdXRvRmlsbCBzdWdnZXN0
aW9uIGZvcgorICAgIC8vIGEgV2ViTm9kZS4gIHx1bmlxdWVJRHwgaXMgdXNlZCBhcyBhIGtleSBp
bnRvIHRoZSBzZXQgb2YgQXV0b0ZpbGwgcHJvZmlsZXMsCisgICAgLy8gYW5kIHNob3VsZCBuZXZl
ciBiZSBuZWdhdGl2ZS4gIElmIGl0IGlzIDAsIHRoZW4gdGhlIHN1Z2dlc3Rpb24gaXMgYW4KKyAg
ICAvLyBBdXRvY29tcGxldGUgc3VnZ2VzdGlvbjsgYW5kIHx2YWx1ZXwgc3RvcmVzIHRoZSBzdWdn
ZXN0ZWQgdGV4dC4gIHxpbmRleHwKKyAgICAvLyBpcyBhbiBpbmRleCBvZiB0aGUgc2VsZWN0ZWQg
c3VnZ2VzdGlvbiBpbiB0aGUgbGlzdCBvZiBzdWdnZXN0aW9ucyBwcm92aWRlZAorICAgIC8vIGJ5
IHRoZSBjbGllbnQuCisgICAgdmlydHVhbCB2b2lkIGRpZEFjY2VwdEF1dG9GaWxsU3VnZ2VzdGlv
bihjb25zdCBXZWJOb2RlJiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIGNvbnN0IFdlYlN0cmluZyYgdmFsdWUsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIGxhYmVsLAorICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHVuaXF1ZUlELAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdW5zaWduZWQgaW5kZXgpIHsgfQor
CisgICAgLy8gSW5mb3JtcyB0aGUgYnJvd3NlciB0aGF0IHRoZSB1c2VyIGhhcyBzZWxlY3RlZCBh
biBBdXRvRmlsbCBzdWdnZXN0aW9uIGZvcgorICAgIC8vIGEgV2ViTm9kZS4gIFRoaXMgaGFwcGVu
cyB3aGVuIHRoZSB1c2VyIGhvdmVycyBvdmVyIGEgc3VnZ2VzdGlvbiBvciB1c2VzCisgICAgLy8g
dGhlIGFycm93IGtleXMgdG8gbmF2aWdhdGUgdG8gYSBzdWdnZXN0aW9uLgorICAgIHZpcnR1YWwg
dm9pZCBkaWRTZWxlY3RBdXRvRmlsbFN1Z2dlc3Rpb24oY29uc3QgV2ViTm9kZSYsCisgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJTdHJpbmcmIG5h
bWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBX
ZWJTdHJpbmcmIGxhYmVsLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgaW50IHVuaXF1ZUlEKSB7IH0KKworICAgIC8vIEluZm9ybXMgdGhlIGJyb3dzZXIgdGhh
dCB0aGUgdXNlciBoYXMgY2xlYXJlZCB0aGUgc2VsZWN0aW9uIGZyb20gdGhlCisgICAgLy8gQXV0
b0ZpbGwgc3VnZ2VzdGlvbnMgcG9wdXAuICBUaGlzIGhhcHBlbnMgd2hlbiBhIHVzZXIgdXNlcyB0
aGUgYXJyb3cKKyAgICAvLyBrZXlzIHRvIG5hdmlnYXRlIG91dHNpZGUgdGhlIHJhbmdlIG9mIHBv
c3NpYmxlIHNlbGVjdGlvbnMuCisgICAgdmlydHVhbCB2b2lkIGRpZENsZWFyQXV0b0ZpbGxTZWxl
Y3Rpb24oY29uc3QgV2ViTm9kZSYpIHsgfQorCisgICAgLy8gSW5mb3JtcyB0aGUgYnJvd3NlciB0
aGF0IHRoZSB1c2VyIGhhcyBzZWxlY3RlZCBhbiBhdXRvY29tcGxldGUgKHBhc3N3b3JkCisgICAg
Ly8gb3IgZmllbGQpIHN1Z2dlc3Rpb24gZnJvbSB0aGUgZHJvcC1kb3duLiAgVGhlIGlucHV0IGVs
ZW1lbnQgdGV4dCBoYXMKKyAgICAvLyBhbHJlYWR5IGJlZW4gc2V0IHRvIHRoZSBzZWxlY3RlZCBz
dWdnZXN0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBkaWRBY2NlcHRBdXRvY29tcGxldGVTdWdnZXN0
aW9uKGNvbnN0IFdlYklucHV0RWxlbWVudCYpIHsgfQorCitwcm90ZWN0ZWQ6CisgICAgfldlYkF1
dG9GaWxsQ2xpZW50KCkgeyB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77628</attachid>
            <date>2010-12-29 10:14:17 -0800</date>
            <delta_ts>2011-01-03 10:28:30 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51710-20101229101221.patch</filename>
            <type>text/plain</type>
            <size>6815</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNzQ3NDYpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMTItMjkgIEpvaG4g
QWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBhIFdlYkF1dG9GaWxsQ2xp
ZW50IGludGVyZmFjZSB0aGF0IG1vdmVzIHNvbWUgZnVuY3Rpb25zIGZyb20gV2ViVmlld0NsaWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE3MTAK
KworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogcHVibGljL1dlYkF1dG9GaWxsQ2xp
ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmlsbENsaWVudDo6cXVlcnlB
dXRvZmlsbFN1Z2dlc3Rpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b0ZpbGxDbGllbnQ6
OmRpZEFjY2VwdEF1dG9GaWxsU3VnZ2VzdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9G
aWxsQ2xpZW50OjpkaWRTZWxlY3RBdXRvRmlsbFN1Z2dlc3Rpb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRvRmlsbENsaWVudDo6ZGlkQ2xlYXJBdXRvRmlsbFNlbGVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYkF1dG9GaWxsQ2xpZW50OjpyZW1vdmVBdXRvY29tcGxldGVTdWdlc3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmlsbENsaWVudDo6ZGlkQWNjZXB0QXV0b2NvbXBs
ZXRlU3VnZ2VzdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9GaWxsQ2xpZW50Ojp0ZXh0
RmllbGREaWRCZWdpbkVkaXRpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmlsbENsaWVu
dDo6dGV4dEZpZWxkRGlkRW5kRWRpdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9GaWxs
Q2xpZW50Ojp0ZXh0RmllbGREaWRDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmls
bENsaWVudDo6dGV4dEZpZWxkRGlkUmVjZWl2ZUtleURvd24pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvRmlsbENsaWVudDo6fldlYkF1dG9GaWxsQ2xpZW50KToKKwogMjAxMC0xMi0yOSAgWmhl
IFN1ICA8c3V6aGVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDc0NzMzKQorKysgV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQAogICAgICAg
ICAgICAgICAgICdwdWJsaWMvV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJBdHRyaWJ1dGUuaCcsCiAgICAgICAgICAgICAgICAgJ3B1
YmxpYy9XZWJBdWRpb0J1cy5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYkF1dG9GaWxs
Q2xpZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQmluZGluZ3MuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJCbG9iRGF0YS5oJywKICAgICAgICAgICAgICAgICAncHVi
bGljL1dlYkJsb2JSZWdpc3RyeS5oJywKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
QXV0b0ZpbGxDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkF1dG9GaWxsQ2xpZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkF1dG9GaWxsQ2xpZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFdlYkF1dG9GaWxsQ2xpZW50X2gKKyNkZWZpbmUgV2ViQXV0b0ZpbGxDbGllbnRfaAorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViSW5wdXRFbGVtZW50OworY2xhc3MgV2ViS2V5Ym9h
cmRFdmVudDsKK2NsYXNzIFdlYk5vZGU7CitjbGFzcyBXZWJTdHJpbmc7CisKK2NsYXNzIFdlYkF1
dG9GaWxsQ2xpZW50IHsKK3B1YmxpYzoKKyAgICAvLyBRdWVyaWVzIHRoZSBicm93c2VyIGZvciBz
dWdnZXN0aW9ucyB0byBiZSBzaG93biBmb3IgdGhlIGZvcm0gdGV4dAorICAgIC8vIGZpZWxkIG5h
bWVkIHxuYW1lfC4gIHx2YWx1ZXwgaXMgdGhlIHRleHQgZW50ZXJlZCBieSB0aGUgdXNlciBzbwor
ICAgIC8vIGZhciBhbmQgdGhlIFdlYk5vZGUgY29ycmVzcG9uZHMgdG8gdGhlIGlucHV0IGZpZWxk
LgorICAgIHZpcnR1YWwgdm9pZCBxdWVyeUF1dG9maWxsU3VnZ2VzdGlvbnMoY29uc3QgV2ViTm9k
ZSYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJTdHJpbmcmIHZhbHVlKSB7IH0KKworICAgIC8vIEluZm9ybXMgdGhlIGJyb3dzZXIg
dGhhdCB0aGUgdXNlciBoYXMgYWNjZXB0ZWQgYW4gQXV0b0ZpbGwgc3VnZ2VzdGlvbiBmb3IKKyAg
ICAvLyBhIFdlYk5vZGUuICB8dW5pcXVlSUR8IGlzIHVzZWQgYXMgYSBrZXkgaW50byB0aGUgc2V0
IG9mIEF1dG9GaWxsIHByb2ZpbGVzLAorICAgIC8vIGFuZCBzaG91bGQgbmV2ZXIgYmUgbmVnYXRp
dmUuICBJZiBpdCBpcyAwLCB0aGVuIHRoZSBzdWdnZXN0aW9uIGlzIGFuCisgICAgLy8gQXV0b2Nv
bXBsZXRlIHN1Z2dlc3Rpb247IGFuZCB8dmFsdWV8IHN0b3JlcyB0aGUgc3VnZ2VzdGVkIHRleHQu
ICB8aW5kZXh8CisgICAgLy8gaXMgYW4gaW5kZXggb2YgdGhlIHNlbGVjdGVkIHN1Z2dlc3Rpb24g
aW4gdGhlIGxpc3Qgb2Ygc3VnZ2VzdGlvbnMgcHJvdmlkZWQKKyAgICAvLyBieSB0aGUgY2xpZW50
LgorICAgIHZpcnR1YWwgdm9pZCBkaWRBY2NlcHRBdXRvRmlsbFN1Z2dlc3Rpb24oY29uc3QgV2Vi
Tm9kZSYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBXZWJTdHJpbmcmIHZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBsYWJlbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB1bmlxdWVJRCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGluZGV4KSB7IH0KKworICAgIC8vIElu
Zm9ybXMgdGhlIGJyb3dzZXIgdGhhdCB0aGUgdXNlciBoYXMgc2VsZWN0ZWQgYW4gQXV0b0ZpbGwg
c3VnZ2VzdGlvbiBmb3IKKyAgICAvLyBhIFdlYk5vZGUuICBUaGlzIGhhcHBlbnMgd2hlbiB0aGUg
dXNlciBob3ZlcnMgb3ZlciBhIHN1Z2dlc3Rpb24gb3IgdXNlcworICAgIC8vIHRoZSBhcnJvdyBr
ZXlzIHRvIG5hdmlnYXRlIHRvIGEgc3VnZ2VzdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgZGlkU2Vs
ZWN0QXV0b0ZpbGxTdWdnZXN0aW9uKGNvbnN0IFdlYk5vZGUmLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBs
YWJlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1
bmlxdWVJRCkgeyB9CisKKyAgICAvLyBJbmZvcm1zIHRoZSBicm93c2VyIHRoYXQgdGhlIHVzZXIg
aGFzIGNsZWFyZWQgdGhlIHNlbGVjdGlvbiBmcm9tIHRoZQorICAgIC8vIEF1dG9GaWxsIHN1Z2dl
c3Rpb25zIHBvcHVwLiAgVGhpcyBoYXBwZW5zIHdoZW4gYSB1c2VyIHVzZXMgdGhlIGFycm93Cisg
ICAgLy8ga2V5cyB0byBuYXZpZ2F0ZSBvdXRzaWRlIHRoZSByYW5nZSBvZiBwb3NzaWJsZSBzZWxl
Y3Rpb25zLgorICAgIHZpcnR1YWwgdm9pZCBkaWRDbGVhckF1dG9GaWxsU2VsZWN0aW9uKGNvbnN0
IFdlYk5vZGUmKSB7IH0KKworICAgIC8vIEluc3RydWN0cyB0aGUgYnJvd3NlciB0byByZW1vdmUg
dGhlIEF1dG9jb21wbGV0ZSBlbnRyeSBzcGVjaWZpZWQgZnJvbQorICAgIC8vIGl0cyBEQi4KKyAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQXV0b2NvbXBsZXRlU3VnZXN0aW9uKGNvbnN0IFdlYlN0cmlu
ZyYgbmFtZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0IFdlYlN0cmluZyYgdmFsdWUpIHsgfQorCisgICAgLy8gSW5mb3JtcyB0aGUgYnJvd3NlciB0
aGF0IHRoZSB1c2VyIGhhcyBzZWxlY3RlZCBhbiBhdXRvY29tcGxldGUgKHBhc3N3b3JkCisgICAg
Ly8gb3IgZmllbGQpIHN1Z2dlc3Rpb24gZnJvbSB0aGUgZHJvcC1kb3duLiAgVGhlIGlucHV0IGVs
ZW1lbnQgdGV4dCBoYXMKKyAgICAvLyBhbHJlYWR5IGJlZW4gc2V0IHRvIHRoZSBzZWxlY3RlZCBz
dWdnZXN0aW9uLgorICAgIHZpcnR1YWwgdm9pZCBkaWRBY2NlcHRBdXRvY29tcGxldGVTdWdnZXN0
aW9uKGNvbnN0IFdlYklucHV0RWxlbWVudCYpIHsgfQorCisgICAgLy8gVGhlc2UgbWV0aG9kcyBh
cmUgY2FsbGVkIHdoZW4gdGhlIHVzZXJzIGVkaXRzIGEgdGV4dC1maWVsZC4KKyAgICB2aXJ0dWFs
IHZvaWQgdGV4dEZpZWxkRGlkQmVnaW5FZGl0aW5nKGNvbnN0IFdlYklucHV0RWxlbWVudCYpIHsg
fQorICAgIHZpcnR1YWwgdm9pZCB0ZXh0RmllbGREaWRFbmRFZGl0aW5nKGNvbnN0IFdlYklucHV0
RWxlbWVudCYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCB0ZXh0RmllbGREaWRDaGFuZ2UoY29uc3Qg
V2ViSW5wdXRFbGVtZW50JikgeyB9CisgICAgdmlydHVhbCB2b2lkIHRleHRGaWVsZERpZFJlY2Vp
dmVLZXlEb3duKGNvbnN0IFdlYklucHV0RWxlbWVudCYsIGNvbnN0IFdlYktleWJvYXJkRXZlbnQm
KSB7IH0KKworcHJvdGVjdGVkOgorICAgIH5XZWJBdXRvRmlsbENsaWVudCgpIHsgfQorfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77820</attachid>
            <date>2011-01-03 10:28:34 -0800</date>
            <delta_ts>2011-01-05 22:49:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-51710-20110103102641.patch</filename>
            <type>text/plain</type>
            <size>6817</size>
            <attacher name="John Abd-El-Malek">jam</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdC9jaHJvbWl1bS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0L2No
cm9taXVtL0NoYW5nZUxvZwkocmV2aXNpb24gNzQ3NDYpCisrKyBXZWJLaXQvY2hyb21pdW0vQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTAtMTItMjkgIEpvaG4g
QWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbY2hyb21pdW1dIEFkZCBhIFdlYkF1dG9GaWxsQ2xp
ZW50IGludGVyZmFjZSB0aGF0IG1vdmVzIHNvbWUgZnVuY3Rpb25zIGZyb20gV2ViVmlld0NsaWVu
dAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NTE3MTAK
KworICAgICAgICAqIFdlYktpdC5neXA6CisgICAgICAgICogcHVibGljL1dlYkF1dG9GaWxsQ2xp
ZW50Lmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmlsbENsaWVudDo6cXVlcnlB
dXRvZmlsbFN1Z2dlc3Rpb25zKToKKyAgICAgICAgKFdlYktpdDo6V2ViQXV0b0ZpbGxDbGllbnQ6
OmRpZEFjY2VwdEF1dG9GaWxsU3VnZ2VzdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9G
aWxsQ2xpZW50OjpkaWRTZWxlY3RBdXRvRmlsbFN1Z2dlc3Rpb24pOgorICAgICAgICAoV2ViS2l0
OjpXZWJBdXRvRmlsbENsaWVudDo6ZGlkQ2xlYXJBdXRvRmlsbFNlbGVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OldlYkF1dG9GaWxsQ2xpZW50OjpyZW1vdmVBdXRvY29tcGxldGVTdWdlc3Rpb24p
OgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmlsbENsaWVudDo6ZGlkQWNjZXB0QXV0b2NvbXBs
ZXRlU3VnZ2VzdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9GaWxsQ2xpZW50Ojp0ZXh0
RmllbGREaWRCZWdpbkVkaXRpbmcpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmlsbENsaWVu
dDo6dGV4dEZpZWxkRGlkRW5kRWRpdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYkF1dG9GaWxs
Q2xpZW50Ojp0ZXh0RmllbGREaWRDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpXZWJBdXRvRmls
bENsaWVudDo6dGV4dEZpZWxkRGlkUmVjZWl2ZUtleURvd24pOgorICAgICAgICAoV2ViS2l0OjpX
ZWJBdXRvRmlsbENsaWVudDo6fldlYkF1dG9GaWxsQ2xpZW50KToKKwogMjAxMC0xMi0yOSAgWmhl
IFN1ICA8c3V6aGVAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEVyaWMgU2Vp
ZGVsLgpJbmRleDogV2ViS2l0L2Nocm9taXVtL1dlYktpdC5neXAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0L2Nocm9taXVtL1dlYktpdC5neXAJKHJldmlzaW9uIDc0NzMzKQorKysgV2ViS2l0L2Nocm9t
aXVtL1dlYktpdC5neXAJKHdvcmtpbmcgY29weSkKQEAgLTExMSw2ICsxMTEsNyBAQAogICAgICAg
ICAgICAgICAgICdwdWJsaWMvV2ViQXBwbGljYXRpb25DYWNoZUhvc3RDbGllbnQuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJBdHRyaWJ1dGUuaCcsCiAgICAgICAgICAgICAgICAgJ3B1
YmxpYy9XZWJBdWRpb0J1cy5oJywKKyAgICAgICAgICAgICAgICAncHVibGljL1dlYkF1dG9GaWxs
Q2xpZW50LmgnLAogICAgICAgICAgICAgICAgICdwdWJsaWMvV2ViQmluZGluZ3MuaCcsCiAgICAg
ICAgICAgICAgICAgJ3B1YmxpYy9XZWJCbG9iRGF0YS5oJywKICAgICAgICAgICAgICAgICAncHVi
bGljL1dlYkJsb2JSZWdpc3RyeS5oJywKSW5kZXg6IFdlYktpdC9jaHJvbWl1bS9wdWJsaWMvV2Vi
QXV0b0ZpbGxDbGllbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQvY2hyb21pdW0vcHVibGljL1dl
YkF1dG9GaWxsQ2xpZW50LmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQvY2hyb21pdW0vcHVibGlj
L1dlYkF1dG9GaWxsQ2xpZW50LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsOTcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAgICAgKiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgorICogaW4gdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQorICogZGlz
dHJpYnV0aW9uLgorICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3Ig
dGhlIG5hbWVzIG9mIGl0cworICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KKyAqIHRoaXMgc29mdHdhcmUgd2l0aG91
dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwor
ICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9S
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFdlYkF1dG9GaWxsQ2xpZW50X2gKKyNkZWZpbmUgV2ViQXV0b0ZpbGxDbGllbnRfaAorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViSW5wdXRFbGVtZW50OworY2xhc3MgV2ViS2V5Ym9h
cmRFdmVudDsKK2NsYXNzIFdlYk5vZGU7CitjbGFzcyBXZWJTdHJpbmc7CisKK2NsYXNzIFdlYkF1
dG9GaWxsQ2xpZW50IHsKK3B1YmxpYzoKKyAgICAvLyBRdWVyaWVzIHRoZSBicm93c2VyIGZvciBz
dWdnZXN0aW9ucyB0byBiZSBzaG93biBmb3IgdGhlIGZvcm0gdGV4dAorICAgIC8vIGZpZWxkIG5h
bWVkIHxuYW1lfC4gIHx2YWx1ZXwgaXMgdGhlIHRleHQgZW50ZXJlZCBieSB0aGUgdXNlciBzbwor
ICAgIC8vIGZhciBhbmQgdGhlIFdlYk5vZGUgY29ycmVzcG9uZHMgdG8gdGhlIGlucHV0IGZpZWxk
LgorICAgIHZpcnR1YWwgdm9pZCBxdWVyeUF1dG9GaWxsU3VnZ2VzdGlvbnMoY29uc3QgV2ViTm9k
ZSYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXZWJT
dHJpbmcmIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJTdHJpbmcmIHZhbHVlKSB7IH0KKworICAgIC8vIEluZm9ybXMgdGhlIGJyb3dzZXIg
dGhhdCB0aGUgdXNlciBoYXMgYWNjZXB0ZWQgYW4gQXV0b0ZpbGwgc3VnZ2VzdGlvbiBmb3IKKyAg
ICAvLyBhIFdlYk5vZGUuICB8dW5pcXVlSUR8IGlzIHVzZWQgYXMgYSBrZXkgaW50byB0aGUgc2V0
IG9mIEF1dG9GaWxsIHByb2ZpbGVzLAorICAgIC8vIGFuZCBzaG91bGQgbmV2ZXIgYmUgbmVnYXRp
dmUuICBJZiBpdCBpcyAwLCB0aGVuIHRoZSBzdWdnZXN0aW9uIGlzIGFuCisgICAgLy8gQXV0b2Nv
bXBsZXRlIHN1Z2dlc3Rpb247IGFuZCB8dmFsdWV8IHN0b3JlcyB0aGUgc3VnZ2VzdGVkIHRleHQu
ICB8aW5kZXh8CisgICAgLy8gaXMgYW4gaW5kZXggb2YgdGhlIHNlbGVjdGVkIHN1Z2dlc3Rpb24g
aW4gdGhlIGxpc3Qgb2Ygc3VnZ2VzdGlvbnMgcHJvdmlkZWQKKyAgICAvLyBieSB0aGUgY2xpZW50
LgorICAgIHZpcnR1YWwgdm9pZCBkaWRBY2NlcHRBdXRvRmlsbFN1Z2dlc3Rpb24oY29uc3QgV2Vi
Tm9kZSYsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25z
dCBXZWJTdHJpbmcmIHZhbHVlLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBsYWJlbCwKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIGludCB1bmlxdWVJRCwKKyAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHVuc2lnbmVkIGluZGV4KSB7IH0KKworICAgIC8vIElu
Zm9ybXMgdGhlIGJyb3dzZXIgdGhhdCB0aGUgdXNlciBoYXMgc2VsZWN0ZWQgYW4gQXV0b0ZpbGwg
c3VnZ2VzdGlvbiBmb3IKKyAgICAvLyBhIFdlYk5vZGUuICBUaGlzIGhhcHBlbnMgd2hlbiB0aGUg
dXNlciBob3ZlcnMgb3ZlciBhIHN1Z2dlc3Rpb24gb3IgdXNlcworICAgIC8vIHRoZSBhcnJvdyBr
ZXlzIHRvIG5hdmlnYXRlIHRvIGEgc3VnZ2VzdGlvbi4KKyAgICB2aXJ0dWFsIHZvaWQgZGlkU2Vs
ZWN0QXV0b0ZpbGxTdWdnZXN0aW9uKGNvbnN0IFdlYk5vZGUmLAorICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBuYW1lLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29uc3QgV2ViU3RyaW5nJiBs
YWJlbCwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludCB1
bmlxdWVJRCkgeyB9CisKKyAgICAvLyBJbmZvcm1zIHRoZSBicm93c2VyIHRoYXQgdGhlIHVzZXIg
aGFzIGNsZWFyZWQgdGhlIHNlbGVjdGlvbiBmcm9tIHRoZQorICAgIC8vIEF1dG9GaWxsIHN1Z2dl
c3Rpb25zIHBvcHVwLiAgVGhpcyBoYXBwZW5zIHdoZW4gYSB1c2VyIHVzZXMgdGhlIGFycm93Cisg
ICAgLy8ga2V5cyB0byBuYXZpZ2F0ZSBvdXRzaWRlIHRoZSByYW5nZSBvZiBwb3NzaWJsZSBzZWxl
Y3Rpb25zLgorICAgIHZpcnR1YWwgdm9pZCBkaWRDbGVhckF1dG9GaWxsU2VsZWN0aW9uKGNvbnN0
IFdlYk5vZGUmKSB7IH0KKworICAgIC8vIEluc3RydWN0cyB0aGUgYnJvd3NlciB0byByZW1vdmUg
dGhlIEF1dG9jb21wbGV0ZSBlbnRyeSBzcGVjaWZpZWQgZnJvbQorICAgIC8vIGl0cyBEQi4KKyAg
ICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQXV0b2NvbXBsZXRlU3VnZ2VzdGlvbihjb25zdCBXZWJTdHJp
bmcmIG5hbWUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
Y29uc3QgV2ViU3RyaW5nJiB2YWx1ZSkgeyB9CisKKyAgICAvLyBJbmZvcm1zIHRoZSBicm93c2Vy
IHRoYXQgdGhlIHVzZXIgaGFzIHNlbGVjdGVkIGFuIGF1dG9jb21wbGV0ZSAocGFzc3dvcmQKKyAg
ICAvLyBvciBmaWVsZCkgc3VnZ2VzdGlvbiBmcm9tIHRoZSBkcm9wLWRvd24uICBUaGUgaW5wdXQg
ZWxlbWVudCB0ZXh0IGhhcworICAgIC8vIGFscmVhZHkgYmVlbiBzZXQgdG8gdGhlIHNlbGVjdGVk
IHN1Z2dlc3Rpb24uCisgICAgdmlydHVhbCB2b2lkIGRpZEFjY2VwdEF1dG9jb21wbGV0ZVN1Z2dl
c3Rpb24oY29uc3QgV2ViSW5wdXRFbGVtZW50JikgeyB9CisKKyAgICAvLyBUaGVzZSBtZXRob2Rz
IGFyZSBjYWxsZWQgd2hlbiB0aGUgdXNlcnMgZWRpdHMgYSB0ZXh0LWZpZWxkLgorICAgIHZpcnR1
YWwgdm9pZCB0ZXh0RmllbGREaWRCZWdpbkVkaXRpbmcoY29uc3QgV2ViSW5wdXRFbGVtZW50Jikg
eyB9CisgICAgdmlydHVhbCB2b2lkIHRleHRGaWVsZERpZEVuZEVkaXRpbmcoY29uc3QgV2ViSW5w
dXRFbGVtZW50JikgeyB9CisgICAgdmlydHVhbCB2b2lkIHRleHRGaWVsZERpZENoYW5nZShjb25z
dCBXZWJJbnB1dEVsZW1lbnQmKSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgdGV4dEZpZWxkRGlkUmVj
ZWl2ZUtleURvd24oY29uc3QgV2ViSW5wdXRFbGVtZW50JiwgY29uc3QgV2ViS2V5Ym9hcmRFdmVu
dCYpIHsgfQorCitwcm90ZWN0ZWQ6CisgICAgfldlYkF1dG9GaWxsQ2xpZW50KCkgeyB9Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmCg==
</data>
<flag name="review"
          id="69013"
          type_id="1"
          status="+"
          setter="fishd"
    />
    <flag name="commit-queue"
          id="69363"
          type_id="3"
          status="-"
          setter="fishd"
    />
          </attachment>
      

    </bug>

</bugzilla>