<?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>57528</bug_id>
          
          <creation_ts>2011-03-31 00:29:08 -0700</creation_ts>
          <short_desc>WebKit2: Link from PDF opens in a new tab instead of in the same tab</short_desc>
          <delta_ts>2011-04-01 15:54:10 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>PDF</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.6</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc>http://arxiv.org/pdf/1008.1209</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar, PlatformOnly</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Jer Noble">jer.noble</reporter>
          <assigned_to name="Jer Noble">jer.noble</assigned_to>
          <cc>buildbot</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>376975</commentid>
    <comment_count>0</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-31 00:29:08 -0700</bug_when>
    <thetext>The link opens in a new tab. It should open in the same tab, replacing the PDF.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376976</commentid>
    <comment_count>1</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-31 00:29:31 -0700</bug_when>
    <thetext>&lt;rdar://problem/8812757&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>376978</commentid>
    <comment_count>2</comment_count>
      <attachid>87675</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-31 00:35:53 -0700</bug_when>
    <thetext>Created attachment 87675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377148</commentid>
    <comment_count>3</comment_count>
      <attachid>87675</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-03-31 07:42:34 -0700</bug_when>
    <thetext>Comment on attachment 87675
Patch

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

&gt; Source/WebKit2/UIProcess/API/mac/PDFViewController.mm:273
&gt; +    if (!URL)
&gt; +        return;

Is this really needed? Does it get called with a null URL?

&gt; Source/WebKit2/UIProcess/API/mac/PDFViewController.mm:276
&gt; +    String urlString = [URL absoluteString];
&gt; +    _pdfViewController-&gt;page()-&gt;loadURL(urlString);

No need for a local variable here.

Do we really just want to call loadURL on the page? What about modifier keys and the policy delegate and such? We certainly don’t just call loadURL when you click on a link in a webpage.

If you look at the code in WebKit1, you’ll see that it turns the current event into a DOM event and sends that event in to the loader.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377259</commentid>
    <comment_count>4</comment_count>
      <attachid>87675</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-31 09:51:18 -0700</bug_when>
    <thetext>Comment on attachment 87675
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/mac/PDFViewController.mm:273
&gt;&gt; +        return;
&gt; 
&gt; Is this really needed? Does it get called with a null URL?

The documentation for PDFView doesn&apos;t say, but I figured since it was there in the WebKit1 code, it was probably there for a reason.

&gt;&gt; Source/WebKit2/UIProcess/API/mac/PDFViewController.mm:276
&gt;&gt; +    _pdfViewController-&gt;page()-&gt;loadURL(urlString);
&gt; 
&gt; No need for a local variable here.
&gt; 
&gt; Do we really just want to call loadURL on the page? What about modifier keys and the policy delegate and such? We certainly don’t just call loadURL when you click on a link in a webpage.
&gt; 
&gt; If you look at the code in WebKit1, you’ll see that it turns the current event into a DOM event and sends that event in to the loader.

Local variable collapsed.

I found no way to pass modifier keys through the UIProcess/WebProcess boundary during a load request.  In the interests of getting the basic fix done and in, I was going to file a bug to add the additional event-handling functionality.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377265</commentid>
    <comment_count>5</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-31 09:56:10 -0700</bug_when>
    <thetext>Aww heck, I&apos;ll just do it here. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377575</commentid>
    <comment_count>6</comment_count>
      <attachid>87811</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-31 17:48:46 -0700</bug_when>
    <thetext>Created attachment 87811
Patch

With this patch, command-click, option-click, and shift-click now all work as intended with links in PDFs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377576</commentid>
    <comment_count>7</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-03-31 17:57:47 -0700</bug_when>
    <thetext>Attachment 87811 did not build on qt:
Build output: http://queues.webkit.org/results/8320004</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377583</commentid>
    <comment_count>8</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-03-31 18:12:08 -0700</bug_when>
    <thetext>Attachment 87811 did not build on win:
Build output: http://queues.webkit.org/results/8307019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377655</commentid>
    <comment_count>9</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-03-31 23:23:19 -0700</bug_when>
    <thetext>Looks like the definition of MouseEvent::create changed out from under me.  I&apos;ll fix and re-upload.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377674</commentid>
    <comment_count>10</comment_count>
      <attachid>87832</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-04-01 01:12:55 -0700</bug_when>
    <thetext>Created attachment 87832
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377675</commentid>
    <comment_count>11</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-01 01:24:41 -0700</bug_when>
    <thetext>Attachment 87832 did not build on qt:
Build output: http://queues.webkit.org/results/8307098</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377680</commentid>
    <comment_count>12</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-04-01 01:52:42 -0700</bug_when>
    <thetext>Attachment 87832 did not build on win:
Build output: http://queues.webkit.org/results/8185127</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377714</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-01 04:54:12 -0700</bug_when>
    <thetext>Attachment 87832 did not build on mac:
Build output: http://queues.webkit.org/results/8307132</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377808</commentid>
    <comment_count>14</comment_count>
      <attachid>87860</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-04-01 08:27:08 -0700</bug_when>
    <thetext>Created attachment 87860
Patch

Forgot to update WebCore.exp.in after rebaselining.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377822</commentid>
    <comment_count>15</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-04-01 08:50:35 -0700</bug_when>
    <thetext>Attachment 87860 did not build on win:
Build output: http://queues.webkit.org/results/8318212</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377824</commentid>
    <comment_count>16</comment_count>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2011-04-01 08:53:18 -0700</bug_when>
    <thetext>Attachment 87860 did not build on qt:
Build output: http://queues.webkit.org/results/8319197</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377871</commentid>
    <comment_count>17</comment_count>
      <attachid>87873</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-04-01 09:57:10 -0700</bug_when>
    <thetext>Created attachment 87873
Patch

Uploaded without committing the changes to use the new MouseEvent::create() definition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377875</commentid>
    <comment_count>18</comment_count>
      <attachid>87832</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-01 09:57:36 -0700</bug_when>
    <thetext>Comment on attachment 87832
Patch

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

&gt; Source/WebKit2/ChangeLog:33
&gt;          Reviewed by NOBODY (OOPS!).
&gt;  
&gt; +        WebKit2: Link from PDF opens in a new tab instead of in the same tab
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=57528
&gt; +
&gt; +        * UIProcess/API/mac/PDFViewController.mm:
&gt; +        (-[WKPDFView PDFViewWillClickOnLink:withURL:]): Handle the delegate
&gt; +            function and override the PDFView default behavior.
&gt; +
&gt; +2011-03-31  Jer Noble  &lt;jer.noble@apple.com&gt;
&gt; +
&gt; +        Reviewed by NOBODY (OOPS!).
&gt; +
&gt; +        WebKit2: Link from PDF opens in a new tab instead of in the same tab
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=57528
&gt; +
&gt; +        Notify the WebProcess that a link has been clicked so that the normal policy
&gt; +        lookup can occur.
&gt; +
&gt; +        * UIProcess/API/mac/PDFViewController.mm:
&gt; +        (-[WKPDFView PDFViewWillClickOnLink:withURL:]): Handle the delegate
&gt; +            function and override the PDFView default behavior.
&gt; +        * UIProcess/WebPageProxy.cpp:
&gt; +        (WebKit::WebPageProxy::urlSelected): Added.  Send event through to WebPage.
&gt; +        * UIProcess/WebPageProxy.h:
&gt; +        * WebProcess/WebPage/WebPage.cpp:
&gt; +        (WebKit::WebPage::urlSelected): Added.  Call loadFramerequest().
&gt; +        * WebProcess/WebPage/WebPage.h:
&gt; +        * WebProcess/WebPage/WebPage.messages.in: Added URLSelected.
&gt; +
&gt; +2011-03-31  Jer Noble  &lt;jer.noble@apple.com&gt;

This is a double change log entry. Please fix that.

&gt; Source/WebKit2/UIProcess/API/mac/PDFViewController.mm:288
&gt; +    switch ([nsEvent type]) {
&gt; +        case NSLeftMouseUp:
&gt; +        case NSRightMouseUp:
&gt; +        case NSOtherMouseUp:
&gt; +            event = WebEventFactory::createWebMouseEvent(nsEvent, sender);
&gt; +    }

WebKit formatting rules say case should not be indented.

Is it correct to leave the event as null when some other event is current? Could you add a brief comment that makes it clear that is intentional and says why it is correct?

&gt; Source/WebKit2/UIProcess/API/mac/PDFViewController.mm:290
&gt; +    _pdfViewController-&gt;page()-&gt;urlSelected(_pdfViewController-&gt;page()-&gt;mainFrame(), [URL absoluteString], event);

I could see making this a function on the PDF view controller object rather than calling directly through to the page. Not a lot better, but perhaps slightly cleaner, to keep this class just doing type conversions and having the controller contain the actual logic.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2811
&gt; +void WebPageProxy::urlSelected(WebFrameProxy* frame, const String&amp; url, const WebMouseEvent&amp; event)

Since we only need to do this for the main frame, I suggest not including a frame pointer and implementing it only for the main frame. We can always add a more powerful version that can work on subframes later if we find we need it. I suspect we won’t.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:447
&gt; +void WebPage::urlSelected(uint64_t frameID, WTF::String url, WebKit::WebMouseEvent event)

Should be const String&amp; and const WebMouseEvent&amp;, not WTF::String and WebKit::WebMouseEvent (see comments below).

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.h:406
&gt; +    void urlSelected(uint64_t frameID, WTF::String url, WebKit::WebMouseEvent);

Other functions that take strings say const String&amp; rather than WTF::String. Could you fix that?

Since this class is inside the WebKit namespace, the class name should just be WebMouseEvent, not WebKit::WebMouseEvent. And it can be const WebMouseEvent&amp;.

Not your fault, but I really hate the name “URL selected”. I would much prefer something like “link clicked” but I suppose we should stay consistent with WebCore.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377893</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-04-01 10:21:13 -0700</bug_when>
    <thetext>Attachment 87860 did not build on mac:
Build output: http://queues.webkit.org/results/8321219</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377896</commentid>
    <comment_count>20</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-04-01 10:24:27 -0700</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 87832 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87832&amp;action=review
&gt; 
&gt; &gt; Source/WebKit2/ChangeLog:33
&gt; &gt;          Reviewed by NOBODY (OOPS!).
&gt; &gt;  
&gt; &gt; +        WebKit2: Link from PDF opens in a new tab instead of in the same tab
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=57528
&gt; &gt; +
&gt; &gt; +        * UIProcess/API/mac/PDFViewController.mm:
&gt; &gt; +        (-[WKPDFView PDFViewWillClickOnLink:withURL:]): Handle the delegate
&gt; &gt; +            function and override the PDFView default behavior.
&gt; &gt; +
&gt; &gt; +2011-03-31  Jer Noble  &lt;jer.noble@apple.com&gt;
&gt; &gt; +
&gt; &gt; +        Reviewed by NOBODY (OOPS!).
&gt; &gt; +
&gt; &gt; +        WebKit2: Link from PDF opens in a new tab instead of in the same tab
&gt; &gt; +        https://bugs.webkit.org/show_bug.cgi?id=57528
&gt; &gt; +
&gt; &gt; +        Notify the WebProcess that a link has been clicked so that the normal policy
&gt; &gt; +        lookup can occur.
&gt; &gt; +
&gt; &gt; +        * UIProcess/API/mac/PDFViewController.mm:
&gt; &gt; +        (-[WKPDFView PDFViewWillClickOnLink:withURL:]): Handle the delegate
&gt; &gt; +            function and override the PDFView default behavior.
&gt; &gt; +        * UIProcess/WebPageProxy.cpp:
&gt; &gt; +        (WebKit::WebPageProxy::urlSelected): Added.  Send event through to WebPage.
&gt; &gt; +        * UIProcess/WebPageProxy.h:
&gt; &gt; +        * WebProcess/WebPage/WebPage.cpp:
&gt; &gt; +        (WebKit::WebPage::urlSelected): Added.  Call loadFramerequest().
&gt; &gt; +        * WebProcess/WebPage/WebPage.h:
&gt; &gt; +        * WebProcess/WebPage/WebPage.messages.in: Added URLSelected.
&gt; &gt; +
&gt; &gt; +2011-03-31  Jer Noble  &lt;jer.noble@apple.com&gt;
&gt; 
&gt; This is a double change log entry. Please fix that.

Sure thing. 

&gt; &gt; Source/WebKit2/UIProcess/API/mac/PDFViewController.mm:288
&gt; &gt; +    switch ([nsEvent type]) {
&gt; &gt; +        case NSLeftMouseUp:
&gt; &gt; +        case NSRightMouseUp:
&gt; &gt; +        case NSOtherMouseUp:
&gt; &gt; +            event = WebEventFactory::createWebMouseEvent(nsEvent, sender);
&gt; &gt; +    }
&gt; 
&gt; WebKit formatting rules say case should not be indented.

Whoops!  (I wonder if I could override Xcode&apos;s formatting rules for switch statements; it&apos;d save me lots of headaches.)

&gt; Is it correct to leave the event as null when some other event is current? Could you add a brief comment that makes it clear that is intentional and says why it is correct?

The WebMouseEvent isn&apos;t really null, per se.  It&apos;s a stack object, so it&apos;s initialized but... Wow, WebMouseEvent&apos;s default constructor doesn&apos;t initialize any of its ivars.  Yeah, totally not safe.  I&apos;ll fix this.

&gt; &gt; Source/WebKit2/UIProcess/API/mac/PDFViewController.mm:290
&gt; &gt; +    _pdfViewController-&gt;page()-&gt;urlSelected(_pdfViewController-&gt;page()-&gt;mainFrame(), [URL absoluteString], event);
&gt; 
&gt; I could see making this a function on the PDF view controller object rather than calling directly through to the page. Not a lot better, but perhaps slightly cleaner, to keep this class just doing type conversions and having the controller contain the actual logic.

Oh so send a message to the WebPage directly from the PDF controller instead of from WebPageProxy?  Maybe I&apos;m not understanding which 

&gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2811
&gt; &gt; +void WebPageProxy::urlSelected(WebFrameProxy* frame, const String&amp; url, const WebMouseEvent&amp; event)
&gt; 
&gt; Since we only need to do this for the main frame, I suggest not including a frame pointer and implementing it only for the main frame. We can always add a more powerful version that can work on subframes later if we find we need it. I suspect we won’t.
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:447
&gt; &gt; +void WebPage::urlSelected(uint64_t frameID, WTF::String url, WebKit::WebMouseEvent event)
&gt; 
&gt; Should be const String&amp; and const WebMouseEvent&amp;, not WTF::String and WebKit::WebMouseEvent (see comments below).
&gt; 
&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.h:406
&gt; &gt; +    void urlSelected(uint64_t frameID, WTF::String url, WebKit::WebMouseEvent);
&gt; 
&gt; Other functions that take strings say const String&amp; rather than WTF::String. Could you fix that?

Whoops, yes fixed.

&gt; Since this class is inside the WebKit namespace, the class name should just be WebMouseEvent, not WebKit::WebMouseEvent. And it can be const WebMouseEvent&amp;.
&gt; 
&gt; Not your fault, but I really hate the name “URL selected”. I would much prefer something like “link clicked” but I suppose we should stay consistent with WebCore.

The future is our oyster!  Lets change it. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377918</commentid>
    <comment_count>21</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-04-01 10:59:39 -0700</bug_when>
    <thetext>(In reply to comment #20)
&gt; (In reply to comment #18)
&gt; &gt; (From update of attachment 87832 [details] [details])
&gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87832&amp;action=review
&gt; &gt; 
&gt; &gt; 
&gt; &gt; I could see making this a function on the PDF view controller object rather than calling directly through to the page. Not a lot better, but perhaps slightly cleaner, to keep this class just doing type conversions and having the controller contain the actual logic.
&gt; 
&gt; Oh so send a message to the WebPage directly from the PDF controller instead of from WebPageProxy?  Maybe I&apos;m not understanding which 

I should really learn to complete my

...which logic you&apos;d like moved into the controller?

&gt; &gt; &gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:2811
&gt; &gt; &gt; +void WebPageProxy::urlSelected(WebFrameProxy* frame, const String&amp; url, const WebMouseEvent&amp; event)
&gt; &gt; 
&gt; &gt; Since we only need to do this for the main frame, I suggest not including a frame pointer and implementing it only for the main frame. We can always add a more powerful version that can work on subframes later if we find we need it. I suspect we won’t.

Sure thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377964</commentid>
    <comment_count>22</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-04-01 12:04:00 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; (In reply to comment #20)
&gt; &gt; (In reply to comment #18)
&gt; &gt; &gt; (From update of attachment 87832 [details] [details] [details])
&gt; &gt; &gt; View in context: https://bugs.webkit.org/attachment.cgi?id=87832&amp;action=review
&gt; &gt; &gt; 
&gt; &gt; &gt; 
&gt; &gt; &gt; I could see making this a function on the PDF view controller object rather than calling directly through to the page. Not a lot better, but perhaps slightly cleaner, to keep this class just doing type conversions and having the controller contain the actual logic.
&gt; &gt; 
&gt; &gt; Oh so send a message to the WebPage directly from the PDF controller instead of from WebPageProxy?  Maybe I&apos;m not understanding which 
&gt; 
&gt; I should really learn to complete my
&gt; 
&gt; ...which logic you&apos;d like moved into the controller?

Oh wait, I see what you&apos;re saying.  I&apos;ll change it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377979</commentid>
    <comment_count>23</comment_count>
      <attachid>87895</attachid>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-04-01 12:17:15 -0700</bug_when>
    <thetext>Created attachment 87895
Patch

Addressed most of Darin&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377981</commentid>
    <comment_count>24</comment_count>
      <attachid>87895</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-04-01 12:20:05 -0700</bug_when>
    <thetext>Comment on attachment 87895
Patch

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

Seems OK. Might want to have Sam or Anders look at the “event with no type” concept to be sure we want it.

&gt; Source/WebKit2/UIProcess/API/mac/PDFViewController.mm:522
&gt; +        case NSLeftMouseUp:
&gt; +        case NSRightMouseUp:
&gt; +        case NSOtherMouseUp:
&gt; +            event = WebEventFactory::createWebMouseEvent(nsEvent, m_pdfView);

WebKit coding style lines the case up with the switch.

I’d like to see a “why” comment explaining why it’s appropriate to pass an empty event if the current event is not a mouse up event.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>377990</commentid>
    <comment_count>25</comment_count>
    <who name="Build Bot">buildbot</who>
    <bug_when>2011-04-01 12:44:06 -0700</bug_when>
    <thetext>Attachment 87895 did not build on win:
Build output: http://queues.webkit.org/results/8318271</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>378159</commentid>
    <comment_count>26</comment_count>
    <who name="Jer Noble">jer.noble</who>
    <bug_when>2011-04-01 15:54:10 -0700</bug_when>
    <thetext>Committed r82733: &lt;http://trac.webkit.org/changeset/82733&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87675</attachid>
            <date>2011-03-31 00:35:53 -0700</date>
            <delta_ts>2011-03-31 17:48:43 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57528-20110331003552.patch</filename>
            <type>text/plain</type>
            <size>1569</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI0NzUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBlZTk5ZTA4ODMzMzIyNDc2
NGM0ZWUzZGIwZTJjYmFkMjk4MjVjNjg1Li4wYjFkNWM1MjRjYWU5N2QyZjU2NTFlOTg1MDkwMTNm
MzRiNDNkMTMyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTEtMDMtMzEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBERiBvcGVucyBpbiBhIG5l
dyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L21hYy9QREZWaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tQREZWaWV3IFBERlZpZXdX
aWxsQ2xpY2tPbkxpbms6d2l0aFVSTDpdKTogSGFuZGxlIHRoZSBkZWxlZ2F0ZQorICAgICAgICAg
ICAgZnVuY3Rpb24gYW5kIG92ZXJyaWRlIHRoZSBQREZWaWV3IGRlZmF1bHQgYmVoYXZpb3IuCisK
IDIwMTEtMDMtMzAgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL21hYy9QREZWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLm1tCmluZGV4IDQ5NjBiYTdlYmUyMTMx
NDE3MjNlYWM5YjU1NzUxZmMxZTZkOTJhYjguLmFjNWQ0ZWI0MDQwMzFkYjZmOWRlNGY5YjU2MTg3
NDQ1NWJiYjcwYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFj
L1BERlZpZXdDb250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1BERlZpZXdDb250cm9sbGVyLm1tCkBAIC0yNjcsNiArMjY3LDE1IEBAIHN0YXRpYyB2b2lk
IF9hcHBsaWNhdGlvbkluZm9Gb3JNSU1FVHlwZShOU1N0cmluZyAqdHlwZSwgTlNTdHJpbmcgKipu
YW1lLCBOU0ltYWdlCiAKIC8vIE1BUks6IFBERlZpZXcgZGVsZWdhdGUgbWV0aG9kcwogCistICh2
b2lkKVBERlZpZXdXaWxsQ2xpY2tPbkxpbms6KFBERlZpZXcgKilzZW5kZXIgd2l0aFVSTDooTlNV
UkwgKilVUkwKK3sKKyAgICBpZiAoIVVSTCkKKyAgICAgICAgcmV0dXJuOworCisgICAgU3RyaW5n
IHVybFN0cmluZyA9IFtVUkwgYWJzb2x1dGVTdHJpbmddOworICAgIF9wZGZWaWV3Q29udHJvbGxl
ci0+cGFnZSgpLT5sb2FkVVJMKHVybFN0cmluZyk7Cit9CisKIC0gKHZvaWQpUERGVmlld09wZW5Q
REZJbk5hdGl2ZUFwcGxpY2F0aW9uOihQREZWaWV3ICopc2VuZGVyCiB7CiAgICAgX3BkZlZpZXdD
b250cm9sbGVyLT5vcGVuUERGSW5GaW5kZXIoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87811</attachid>
            <date>2011-03-31 17:48:46 -0700</date>
            <delta_ts>2011-04-01 01:12:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57528-20110331174844.patch</filename>
            <type>text/plain</type>
            <size>9624</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI1NTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBjNTRhMmUxNGY3Y2QwMTA3
MDA2Y2FjNzk0OGY1ZjQyZTM4MzQ0N2NjLi41NTQ4OGEwMTFhMjY5NjNjMzkxMzY3OGE1MDc1M2Qy
NmJhMTdhMDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMtMzEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBERiBvcGVucyBpbiBhIG5l
dyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjogRXhwb3J0IE1vdXNlRXZlbnQ6OmNyZWF0ZSgpLgorCiAyMDExLTAzLTMxICBCZW5qYW1pbiBL
YWxtYW4gIDxrYWxtYW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9qYW4g
VmFmYWkuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmV4cC5pbiBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCmluZGV4IGY0M2NkNWJlMTQ0YmMxOGQyOTZkNjQ5NTcw
MDA3NGE0OTRlODVlMTUuLjI0ZTQ5YmVmM2MxMjAwM2E0NWYwMTI3ZTJlMGVhMDhiYmZmOGZlNDEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZXhwLmluCkBAIC0xNDEsNiArMTQxLDcgQEAgX19aTjdXZWJDb3JlMTBD
cmVkZW50aWFsQzFFdgogX19aTjdXZWJDb3JlMTBGbG9hdFBvaW50QzFFUktOU184SW50UG9pbnRF
CiBfX1pON1dlYkNvcmUxMEpTRG9jdW1lbnQ2c19pbmZvRQogX19aTjdXZWJDb3JlMTBNb3VzZUV2
ZW50QzFFUktOM1dURjEyQXRvbWljU3RyaW5nRWJiTlMxXzEwUGFzc1JlZlB0cklOU185RE9NV2lu
ZG93RUVFaWlpaWliYmJidE5TNV9JTlNfMTFFdmVudFRhcmdldEVFRU5TNV9JTlNfOUNsaXBib2Fy
ZEVFRWIKK19fWk43V2ViQ29yZTEwTW91c2VFdmVudDZjcmVhdGVFUktOM1dURjEyQXRvbWljU3Ry
aW5nRU5TMV8xMFBhc3NSZWZQdHJJTlNfOURPTVdpbmRvd0VFRVJLTlNfMThQbGF0Zm9ybU1vdXNl
RXZlbnRFUktOU184SW50UG9pbnRFaU5TNV9JTlNfNE5vZGVFRUUKIF9fWk43V2ViQ29yZTEwU2Ny
b2xsVmlldzE3c2V0VXNlRml4ZWRMYXlvdXRFYgogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MThz
ZXRGaXhlZExheW91dFNpemVFUktOU183SW50U2l6ZUUKIF9fWk43V2ViQ29yZTEwU2Nyb2xsVmll
dzIwc2V0Q2FuSGF2ZVNjcm9sbGJhcnNFYgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGY5NzY0NzlmNWNkYzQ4ZTIy
MGZkNDc2ZGM1MzUwYzk1YzFlN2RiNzguLjYyOWQxZjRlZjE5NTg1NTBiNTUwMTNmZWVkMTc2ZTE2
ZjAxMjQzODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTIsNiArMiwzOCBAQAogCiAgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgogCisgICAgICAgIFdlYktpdDI6IExpbmsgZnJvbSBQREYgb3Bl
bnMgaW4gYSBuZXcgdGFiIGluc3RlYWQgb2YgaW4gdGhlIHNhbWUgdGFiCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzUyOAorCisgICAgICAgIE5vdGlm
eSB0aGUgV2ViUHJvY2VzcyB0aGF0IGEgbGluayBoYXMgYmVlbiBjbGlja2VkIHNvIHRoYXQgdGhl
IG5vcm1hbCBwb2xpY3kKKyAgICAgICAgbG9va3VwIGNhbiBvY2N1ci4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLm1tOgorICAgICAgICAoLVtXS1BERlZp
ZXcgUERGVmlld1dpbGxDbGlja09uTGluazp3aXRoVVJMOl0pOiBIYW5kbGUgdGhlIGRlbGVnYXRl
CisgICAgICAgICAgICBmdW5jdGlvbiBhbmQgb3ZlcnJpZGUgdGhlIFBERlZpZXcgZGVmYXVsdCBi
ZWhhdmlvci4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5Ojp1cmxTZWxlY3RlZCk6IEFkZGVkLiAgU2VuZCBldmVudCB0
aHJvdWdoIHRvIFdlYlBhZ2UuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFnZTo6dXJsU2VsZWN0ZWQpOiBBZGRlZC4gIENhbGwgbG9hZEZyYW1lcmVxdWVzdCgp
LgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46IEFkZGVkIFVSTFNlbGVjdGVkLgor
CisyMDExLTAzLTMxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFdlYktpdDI6IExpbmsgZnJv
bSBQREYgb3BlbnMgaW4gYSBuZXcgdGFiIGluc3RlYWQgb2YgaW4gdGhlIHNhbWUgdGFiCisgICAg
ICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzUyOAorCisgICAg
ICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW06CisgICAgICAgICgt
W1dLUERGVmlldyBQREZWaWV3V2lsbENsaWNrT25MaW5rOndpdGhVUkw6XSk6IEhhbmRsZSB0aGUg
ZGVsZWdhdGUKKyAgICAgICAgICAgIGZ1bmN0aW9uIGFuZCBvdmVycmlkZSB0aGUgUERGVmlldyBk
ZWZhdWx0IGJlaGF2aW9yLgorCisyMDExLTAzLTMxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBw
bGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCiAgICAgICAg
IFdlYktpdDI6IFNhdmUgYXMgUERGIGluIFNhZmFyaSBwcm92aWRlcyBVbnRpdGxlZCBhcyBkZWZh
dWx0IGZpbGUgbmFtZQogICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9NTc1MjkKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvUERGVmlld0NvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21h
Yy9QREZWaWV3Q29udHJvbGxlci5tbQppbmRleCBmZGVjZTc3YjI5ZTk2ZjVjZTM5ODBhMGNhM2U0
NDE3MjhkODdjMWNhLi5kZjJjOGYwMTIxNTRkZTYwMzIxMmE2NDFmNjUwYTkxZTFlNDBmODE0IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QREZWaWV3Q29udHJv
bGxlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QREZWaWV3Q29u
dHJvbGxlci5tbQpAQCAtMzAsNiArMzAsNyBAQAogI2ltcG9ydCAiV0tBUElDYXN0LmgiCiAjaW1w
b3J0ICJXS1ZpZXcuaCIKICNpbXBvcnQgIldlYkRhdGEuaCIKKyNpbXBvcnQgIldlYkV2ZW50RmFj
dG9yeS5oIgogI2ltcG9ydCAiV2ViUGFnZUdyb3VwLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHku
aCIKICNpbXBvcnQgIldlYlByZWZlcmVuY2VzLmgiCkBAIC0yNzIsNiArMjczLDIzIEBAIHN0YXRp
YyB2b2lkIF9hcHBsaWNhdGlvbkluZm9Gb3JNSU1FVHlwZShOU1N0cmluZyAqdHlwZSwgTlNTdHJp
bmcgKipuYW1lLCBOU0ltYWdlCiAKIC8vIE1BUks6IFBERlZpZXcgZGVsZWdhdGUgbWV0aG9kcwog
CistICh2b2lkKVBERlZpZXdXaWxsQ2xpY2tPbkxpbms6KFBERlZpZXcgKilzZW5kZXIgd2l0aFVS
TDooTlNVUkwgKilVUkwKK3sKKyAgICBpZiAoIVVSTCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
TlNFdmVudCogbnNFdmVudCA9IFtOU0FwcCBjdXJyZW50RXZlbnRdOworICAgIFdlYk1vdXNlRXZl
bnQgZXZlbnQ7CisgICAgc3dpdGNoIChbbnNFdmVudCB0eXBlXSkgeworICAgICAgICBjYXNlIE5T
TGVmdE1vdXNlVXA6CisgICAgICAgIGNhc2UgTlNSaWdodE1vdXNlVXA6CisgICAgICAgIGNhc2Ug
TlNPdGhlck1vdXNlVXA6CisgICAgICAgICAgICBldmVudCA9IFdlYkV2ZW50RmFjdG9yeTo6Y3Jl
YXRlV2ViTW91c2VFdmVudChuc0V2ZW50LCBzZW5kZXIpOworICAgIH0KKworICAgIF9wZGZWaWV3
Q29udHJvbGxlci0+cGFnZSgpLT51cmxTZWxlY3RlZChfcGRmVmlld0NvbnRyb2xsZXItPnBhZ2Uo
KS0+bWFpbkZyYW1lKCksIFtVUkwgYWJzb2x1dGVTdHJpbmddLCBldmVudCk7Cit9CisKIC0gKHZv
aWQpUERGVmlld09wZW5QREZJbk5hdGl2ZUFwcGxpY2F0aW9uOihQREZWaWV3ICopc2VuZGVyCiB7
CiAgICAgX3BkZlZpZXdDb250cm9sbGVyLT5vcGVuUERGSW5GaW5kZXIoKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggY2UzYWY0NmUxNzQ5MTZlMDVmYzg4
NDM1MzQzYTZkMWZiNDkxODczOC4uMzIzNGJiNTQ0MThhMWYxZDYxYjgzZTA5YTg5OTNlMWI3NDVh
NTYxNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTI4
MDgsNiArMjgwOCwxMSBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6c2F2ZURhdGFUb0ZpbGVJbkRvd25s
b2Fkc0ZvbGRlcihjb25zdCBTdHJpbmcmIHN1Z2dlc3RlZEZpbGVuYQogICAgIG1fdWlDbGllbnQu
c2F2ZURhdGFUb0ZpbGVJbkRvd25sb2Fkc0ZvbGRlcih0aGlzLCBzdWdnZXN0ZWRGaWxlbmFtZSwg
bWltZVR5cGUsIG9yaWdpbmF0aW5nVVJMU3RyaW5nLCBkYXRhKTsKIH0KIAordm9pZCBXZWJQYWdl
UHJveHk6OnVybFNlbGVjdGVkKFdlYkZyYW1lUHJveHkqIGZyYW1lLCBjb25zdCBTdHJpbmcmIHVy
bCwgY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCit7CisgICAgcHJvY2VzcygpLT5zZW5kKE1l
c3NhZ2VzOjpXZWJQYWdlOjpVUkxTZWxlY3RlZChmcmFtZS0+ZnJhbWVJRCgpLCB1cmwsIGV2ZW50
KSwgbV9wYWdlSUQsIDApOworfQorCiAjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlM
RElOR19PTl9TTk9XX0xFT1BBUkQpCiB2b2lkIFdlYlBhZ2VQcm94eTo6c2hvd0NvcnJlY3Rpb25Q
YW5lbChpbnQzMl90IHBhbmVsVHlwZSwgY29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0JiBib3VuZGlu
Z0JveE9mUmVwbGFjZWRTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZWRTdHJpbmcsIGNvbnN0
IFN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcsIGNvbnN0IFZlY3RvcjxTdHJpbmc+JiBhbHRlcm5h
dGl2ZVJlcGxhY2VtZW50U3RyaW5ncykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCBlM2U2MmQ0MGMwNzg1ZTc2ZjgyZDcxMTc5MjI2ZTkxMzE4ODdlNjQxLi40
MDc4NjYwMDIyYzU4MzcxMWRiMWUxODc3YmFhNDM4YWNlOTVjZTMyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC00NjcsNiArNDY3LDggQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyKGNvbnN0IFN0cmluZyYgc3Vn
Z2VzdGVkRmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUsIGNvbnN0IFN0cmluZyYgb3Jp
Z2luYXRpbmdVUkxTdHJpbmcsIFdlYkRhdGEqKTsKIAorICAgIHZvaWQgdXJsU2VsZWN0ZWQoV2Vi
RnJhbWVQcm94eSosIGNvbnN0IFN0cmluZyYsIGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKKyAKIHBy
aXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQqLCBXZWJDb250ZXh0KiwgV2ViUGFn
ZUdyb3VwKiwgdWludDY0X3QgcGFnZUlEKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IDExOTU4MjgzNzczNjQ1MmNkNWUwMzYwOGM2NDNh
YzhjNDkzYjExMzAuLjA5OWJmNzFmZDhiNTEwNjM3MjYyYjA0NDA4MjFkMTQ4ZDFmNjUyYjAgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTc5
LDE2ICs3OSwyMCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvRHJhZ0RhdGEuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL0V2ZW50SGFuZGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRm9jdXNDb250cm9sbGVy
Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9Gb3JtU3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0Zy
YW1lLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZUxvYWRSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9GcmFtZUxvYWRlclR5cGVzLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZVZpZXcu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL0hUTUxGb3JtRWxlbWVudC5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvSGlzdG9yeUl0ZW0uaD4KICNpbmNsdWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL01vdXNlRXZlbnQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1BhZ2UuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtS2V5Ym9hcmRFdmVudC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUHJpbnRDb250ZXh0Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJUcmVlQXNUZXh0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJMYXllci5oPgorI2luY2x1ZGUgPFdlYkNvcmUv
UmVuZGVyVHJlZUFzVGV4dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVuZGVyVmlldy5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVwbGFjZVNlbGVjdGlvbkNvbW1hbmQuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlUmVxdWVzdC5oPgpAQCAtNDQwLDYgKzQ0NCwyMCBAQCB2b2lkIFdlYlBhZ2U6
OmxvYWRQbGFpblRleHRTdHJpbmcoY29uc3QgU3RyaW5nJiBzdHJpbmcpCiAgICAgbG9hZERhdGEo
c2hhcmVkQnVmZmVyLCAidGV4dC9wbGFpbiIsICJ1dGYtMTYiLCBibGFua1VSTCgpLCBLVVJMKCkp
OwogfQogCit2b2lkIFdlYlBhZ2U6OnVybFNlbGVjdGVkKHVpbnQ2NF90IGZyYW1lSUQsIFdURjo6
U3RyaW5nIHVybCwgV2ViS2l0OjpXZWJNb3VzZUV2ZW50IGV2ZW50KQoreworICAgIFdlYkZyYW1l
KiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNoYXJlZCgpLndlYkZyYW1lKGZyYW1lSUQpOworICAgIGlm
ICghZnJhbWUpCisgICAgICAgIHJldHVybjsKKworICAgIFJlZlB0cjxFdmVudD4gY29yZUV2ZW50
ID0gTW91c2VFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jbGlja0V2ZW50LCAKKyAgICAgICAg
ZnJhbWUtPmNvcmVGcmFtZSgpLT5kb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCBwbGF0Zm9ybShl
dmVudCksIEludFBvaW50KCksIDAsIDApOworCisgICAgZnJhbWUtPmNvcmVGcmFtZSgpLT5sb2Fk
ZXIoKS0+bG9hZEZyYW1lUmVxdWVzdCgKKyAgICAgICAgRnJhbWVMb2FkUmVxdWVzdChmcmFtZS0+
Y29yZUZyYW1lKCktPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIFJlc291cmNlUmVxdWVz
dCh1cmwpKSwgCisgICAgICAgIGZhbHNlLCBmYWxzZSwgY29yZUV2ZW50LmdldCgpLCAwLCBTZW5k
UmVmZXJyZXIpOworfQorCiB2b2lkIFdlYlBhZ2U6OnN0b3BMb2FkaW5nRnJhbWUodWludDY0X3Qg
ZnJhbWVJRCkKIHsKICAgICBXZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9jZXNzOjpzaGFyZWQoKS53
ZWJGcmFtZShmcmFtZUlEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCmluZGV4IDhlNGU3MWMwNWJkN2MyYmY4YTI4ZTRmZWUyMDQ3ZDQ1N2FiMjA4MjMuLmE4
OWRiNjdhYTA0ZTRjZTJlM2ZhZDljMWE1MThkMWY3MTY4NzhhYzcgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtMzk5LDYgKzM5OSw3IEBAIHByaXZh
dGU6CiAgICAgdm9pZCBsb2FkSFRNTFN0cmluZyhjb25zdCBTdHJpbmcmIGh0bWxTdHJpbmcsIGNv
bnN0IFN0cmluZyYgYmFzZVVSTCk7CiAgICAgdm9pZCBsb2FkQWx0ZXJuYXRlSFRNTFN0cmluZyhj
b25zdCBTdHJpbmcmIGh0bWxTdHJpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCwgY29uc3QgU3Ry
aW5nJiB1bnJlYWNoYWJsZVVSTCk7CiAgICAgdm9pZCBsb2FkUGxhaW5UZXh0U3RyaW5nKGNvbnN0
IFN0cmluZyYpOworICAgIHZvaWQgdXJsU2VsZWN0ZWQodWludDY0X3QgZnJhbWVJRCwgV1RGOjpT
dHJpbmcgdXJsLCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQpOwogICAgIHZvaWQgcmVsb2FkKGJvb2wg
cmVsb2FkRnJvbU9yaWdpbik7CiAgICAgdm9pZCBnb0ZvcndhcmQodWludDY0X3QsIGNvbnN0IFNh
bmRib3hFeHRlbnNpb246OkhhbmRsZSYpOwogICAgIHZvaWQgZ29CYWNrKHVpbnQ2NF90LCBjb25z
dCBTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUmKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggNjliZDU0ZGVhYmNk
OWU3NzM3YzdlMzYzNGE0MTU0ZTdiMmFlMzhkMi4uYTgxNDc4Njc1YWE0YTIzZjIwN2MwMzg2YTc1
ODY2NDE4MWNjMjE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTUyLDYgKzUyLDcgQEAgbWVzc2FnZXMgLT4g
V2ViUGFnZSB7CiAgICAgTG9hZFBsYWluVGV4dFN0cmluZyhXVEY6OlN0cmluZyBzdHJpbmcpCiAg
ICAgTG9hZFVSTChXVEY6OlN0cmluZyB1cmwsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFu
ZGxlIHNhbmRib3hFeHRlbnNpb25IYW5kbGUpCiAgICAgTG9hZFVSTFJlcXVlc3QoV2ViQ29yZTo6
UmVzb3VyY2VSZXF1ZXN0IHJlcXVlc3QsIFdlYktpdDo6U2FuZGJveEV4dGVuc2lvbjo6SGFuZGxl
IHNhbmRib3hFeHRlbnNpb25IYW5kbGUpCisgICAgVVJMU2VsZWN0ZWQodWludDY0X3QgZnJhbWVJ
RCwgV1RGOjpTdHJpbmcgdXJsLCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZlbnQpCiAgICAgUmVs
b2FkKGJvb2wgcmVsb2FkRnJvbU9yaWdpbikKICAgICBTdG9wTG9hZGluZygpCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87832</attachid>
            <date>2011-04-01 01:12:55 -0700</date>
            <delta_ts>2011-04-01 09:57:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57528-20110401011253.patch</filename>
            <type>text/plain</type>
            <size>9623</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI2NjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ODhkNDlmMDczNGRkODI4
NmE2N2NiYjYzODhiM2U3YzQ5YTA5NmMzLi5mZWIzNjVjMDdhYjM3ZmI3MDg4NjM3NDhiMzZjYzcz
MDczZmMyZjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMtMzEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBERiBvcGVucyBpbiBhIG5l
dyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjogRXhwb3J0IE1vdXNlRXZlbnQ6OmNyZWF0ZSgpLgorCiAyMDExLTA0LTAxICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBcHBseSBzb3J0LVhjb2RlLXByb2pl
Y3QtZmlsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMWIyYTljMmIxMDA5MDI2NWU5ODNlZDJj
MTZlM2VhNDQwNmZkOTdjNi4uMzVmM2ExMzgwZmZhNjA5N2EzY2U4ZTBjMDRlMDQwMzM2NWU0ODU4
MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE0MSw2ICsxNDEsNyBAQCBfX1pON1dlYkNvcmUx
MENyZWRlbnRpYWxDMUV2CiBfX1pON1dlYkNvcmUxMEZsb2F0UG9pbnRDMUVSS05TXzhJbnRQb2lu
dEUKIF9fWk43V2ViQ29yZTEwSlNEb2N1bWVudDZzX2luZm9FCiBfX1pON1dlYkNvcmUxME1vdXNl
RXZlbnRDMUVSS04zV1RGMTJBdG9taWNTdHJpbmdFYmJOUzFfMTBQYXNzUmVmUHRySU5TXzlET01X
aW5kb3dFRUVpaWlpaWJiYmJ0TlM1X0lOU18xMUV2ZW50VGFyZ2V0RUVFTlM1X0lOU185Q2xpcGJv
YXJkRUVFYgorX19aTjdXZWJDb3JlMTBNb3VzZUV2ZW50NmNyZWF0ZUVSS04zV1RGMTJBdG9taWNT
dHJpbmdFTlMxXzEwUGFzc1JlZlB0cklOU185RE9NV2luZG93RUVFUktOU18xOFBsYXRmb3JtTW91
c2VFdmVudEVSS05TXzhJbnRQb2ludEVpTlM1X0lOU180Tm9kZUVFRQogX19aTjdXZWJDb3JlMTBT
Y3JvbGxWaWV3MTdzZXRVc2VGaXhlZExheW91dEViCiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcx
OHNldEZpeGVkTGF5b3V0U2l6ZUVSS05TXzdJbnRTaXplRQogX19aTjdXZWJDb3JlMTBTY3JvbGxW
aWV3MjBzZXRDYW5IYXZlU2Nyb2xsYmFyc0ViCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjBjZjY0MTNlMWVkMWM2
ZWIyYTYxNDllNzIzZjMxNzkyOTUxZTdmNS4uOGQzNTFjMGFmNmQ5ZjZmMTVlMWQ0MWM5OGEwMGRj
MWViZmNjYTFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMiw2ICsyLDM4IEBACiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCiAKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBERiBv
cGVucyBpbiBhIG5ldyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAgKiBV
SVByb2Nlc3MvQVBJL21hYy9QREZWaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tQREZW
aWV3IFBERlZpZXdXaWxsQ2xpY2tPbkxpbms6d2l0aFVSTDpdKTogSGFuZGxlIHRoZSBkZWxlZ2F0
ZQorICAgICAgICAgICAgZnVuY3Rpb24gYW5kIG92ZXJyaWRlIHRoZSBQREZWaWV3IGRlZmF1bHQg
YmVoYXZpb3IuCisKKzIwMTEtMDMtMzEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0
MjogTGluayBmcm9tIFBERiBvcGVucyBpbiBhIG5ldyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2Ft
ZSB0YWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3
NTI4CisKKyAgICAgICAgTm90aWZ5IHRoZSBXZWJQcm9jZXNzIHRoYXQgYSBsaW5rIGhhcyBiZWVu
IGNsaWNrZWQgc28gdGhhdCB0aGUgbm9ybWFsIHBvbGljeQorICAgICAgICBsb29rdXAgY2FuIG9j
Y3VyLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW06
CisgICAgICAgICgtW1dLUERGVmlldyBQREZWaWV3V2lsbENsaWNrT25MaW5rOndpdGhVUkw6XSk6
IEhhbmRsZSB0aGUgZGVsZWdhdGUKKyAgICAgICAgICAgIGZ1bmN0aW9uIGFuZCBvdmVycmlkZSB0
aGUgUERGVmlldyBkZWZhdWx0IGJlaGF2aW9yLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVybFNlbGVjdGVkKTog
QWRkZWQuICBTZW5kIGV2ZW50IHRocm91Z2ggdG8gV2ViUGFnZS4KKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cmxTZWxlY3RlZCk6IEFkZGVkLiAgQ2Fs
bCBsb2FkRnJhbWVyZXF1ZXN0KCkuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjog
QWRkZWQgVVJMU2VsZWN0ZWQuCisKKzIwMTEtMDMtMzEgIEplciBOb2JsZSAgPGplci5ub2JsZUBh
cHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAg
ICAgV2ViS2l0MjogU2F2ZSBhcyBQREYgaW4gU2FmYXJpIHByb3ZpZGVzIFVudGl0bGVkIGFzIGRl
ZmF1bHQgZmlsZSBuYW1lCiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD01NzUyOQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9QREZWaWV3Q29udHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
bWFjL1BERlZpZXdDb250cm9sbGVyLm1tCmluZGV4IGZkZWNlNzdiMjllOTZmNWNlMzk4MGEwY2Ez
ZTQ0MTcyOGQ4N2MxY2EuLmRmMmM4ZjAxMjE1NGRlNjAzMjEyYTY0MWY2NTBhOTFlMWU0MGY4MTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250
cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdD
b250cm9sbGVyLm1tCkBAIC0zMCw2ICszMCw3IEBACiAjaW1wb3J0ICJXS0FQSUNhc3QuaCIKICNp
bXBvcnQgIldLVmlldy5oIgogI2ltcG9ydCAiV2ViRGF0YS5oIgorI2ltcG9ydCAiV2ViRXZlbnRG
YWN0b3J5LmgiCiAjaW1wb3J0ICJXZWJQYWdlR3JvdXAuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94
eS5oIgogI2ltcG9ydCAiV2ViUHJlZmVyZW5jZXMuaCIKQEAgLTI3Miw2ICsyNzMsMjMgQEAgc3Rh
dGljIHZvaWQgX2FwcGxpY2F0aW9uSW5mb0Zvck1JTUVUeXBlKE5TU3RyaW5nICp0eXBlLCBOU1N0
cmluZyAqKm5hbWUsIE5TSW1hZ2UKIAogLy8gTUFSSzogUERGVmlldyBkZWxlZ2F0ZSBtZXRob2Rz
CiAKKy0gKHZvaWQpUERGVmlld1dpbGxDbGlja09uTGluazooUERGVmlldyAqKXNlbmRlciB3aXRo
VVJMOihOU1VSTCAqKVVSTAoreworICAgIGlmICghVVJMKQorICAgICAgICByZXR1cm47CisKKyAg
ICBOU0V2ZW50KiBuc0V2ZW50ID0gW05TQXBwIGN1cnJlbnRFdmVudF07CisgICAgV2ViTW91c2VF
dmVudCBldmVudDsKKyAgICBzd2l0Y2ggKFtuc0V2ZW50IHR5cGVdKSB7CisgICAgICAgIGNhc2Ug
TlNMZWZ0TW91c2VVcDoKKyAgICAgICAgY2FzZSBOU1JpZ2h0TW91c2VVcDoKKyAgICAgICAgY2Fz
ZSBOU090aGVyTW91c2VVcDoKKyAgICAgICAgICAgIGV2ZW50ID0gV2ViRXZlbnRGYWN0b3J5Ojpj
cmVhdGVXZWJNb3VzZUV2ZW50KG5zRXZlbnQsIHNlbmRlcik7CisgICAgfQorCisgICAgX3BkZlZp
ZXdDb250cm9sbGVyLT5wYWdlKCktPnVybFNlbGVjdGVkKF9wZGZWaWV3Q29udHJvbGxlci0+cGFn
ZSgpLT5tYWluRnJhbWUoKSwgW1VSTCBhYnNvbHV0ZVN0cmluZ10sIGV2ZW50KTsKK30KKwogLSAo
dm9pZClQREZWaWV3T3BlblBERkluTmF0aXZlQXBwbGljYXRpb246KFBERlZpZXcgKilzZW5kZXIK
IHsKICAgICBfcGRmVmlld0NvbnRyb2xsZXItPm9wZW5QREZJbkZpbmRlcigpOwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBjZTNhZjQ2ZTE3NDkxNmUwNWZj
ODg0MzUzNDNhNmQxZmI0OTE4NzM4Li4zMjM0YmI1NDQxOGExZjFkNjFiODNlMDlhODk5M2UxYjc0
NWE1NjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAt
MjgwOCw2ICsyODA4LDExIEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzYXZlRGF0YVRvRmlsZUluRG93
bmxvYWRzRm9sZGVyKGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5hCiAgICAgbV91aUNsaWVu
dC5zYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyKHRoaXMsIHN1Z2dlc3RlZEZpbGVuYW1l
LCBtaW1lVHlwZSwgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIGRhdGEpOwogfQogCit2b2lkIFdlYlBh
Z2VQcm94eTo6dXJsU2VsZWN0ZWQoV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFN0cmluZyYg
dXJsLCBjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKK3sKKyAgICBwcm9jZXNzKCktPnNlbmQo
TWVzc2FnZXM6OldlYlBhZ2U6OlVSTFNlbGVjdGVkKGZyYW1lLT5mcmFtZUlEKCksIHVybCwgZXZl
bnQpLCBtX3BhZ2VJRCwgMCk7Cit9CisKICNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJV
SUxESU5HX09OX1NOT1dfTEVPUEFSRCkKIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93Q29ycmVjdGlv
blBhbmVsKGludDMyX3QgcGFuZWxUeXBlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5k
aW5nQm94T2ZSZXBsYWNlZFN0cmluZywgY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZywgY29u
c3QgU3RyaW5nJiByZXBsYWNlbWVudFN0cmluZywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFsdGVy
bmF0aXZlUmVwbGFjZW1lbnRTdHJpbmdzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oCmluZGV4IGUzZTYyZDQwYzA3ODVlNzZmODJkNzExNzkyMjZlOTEzMTg4N2U2NDEu
LjQwNzg2NjAwMjJjNTgzNzExZGIxZTE4NzdiYWE0MzhhY2U5NWNlMzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTQ2Nyw2ICs0NjcsOCBAQCBwdWJsaWM6CiAK
ICAgICB2b2lkIHNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXIoY29uc3QgU3RyaW5nJiBz
dWdnZXN0ZWRGaWxlbmFtZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiBv
cmlnaW5hdGluZ1VSTFN0cmluZywgV2ViRGF0YSopOwogCisgICAgdm9pZCB1cmxTZWxlY3RlZChX
ZWJGcmFtZVByb3h5KiwgY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViTW91c2VFdmVudCYpOworIAog
cHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCosIFdlYkNvbnRleHQqLCBXZWJQ
YWdlR3JvdXAqLCB1aW50NjRfdCBwYWdlSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMmJhOGFmNWVlNmI0MGM5OTE5NjdkMTZkZjlm
MzIyZDhkY2JkMzM0YS4uOTZiMzQ0OWYwNzY5MDZmODU5ZDNiZDJkNzdhZTlkNTIyY2NlNTNmMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
NzksMTYgKzc5LDIwIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnRGF0YS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvRXZlbnRIYW5kbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb2N1c0NvbnRyb2xs
ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0Zvcm1TdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RnJhbWUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZFJlcXVlc3QuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmll
dy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSFRNTEZvcm1FbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9IaXN0b3J5SXRlbS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9QcmludENvbnRleHQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclRyZWVBc1Rl
eHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlckxheWVyLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9SZW5kZXJUcmVlQXNUZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CkBAIC00NDAsNiArNDQ0LDIwIEBAIHZvaWQgV2ViUGFn
ZTo6bG9hZFBsYWluVGV4dFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICBsb2FkRGF0
YShzaGFyZWRCdWZmZXIsICJ0ZXh0L3BsYWluIiwgInV0Zi0xNiIsIGJsYW5rVVJMKCksIEtVUkwo
KSk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6dXJsU2VsZWN0ZWQodWludDY0X3QgZnJhbWVJRCwgV1RG
OjpTdHJpbmcgdXJsLCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZlbnQpCit7CisgICAgV2ViRnJh
bWUqIGZyYW1lID0gV2ViUHJvY2Vzczo6c2hhcmVkKCkud2ViRnJhbWUoZnJhbWVJRCk7CisgICAg
aWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPEV2ZW50PiBjb3JlRXZl
bnQgPSBNb3VzZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIAorICAgICAg
ICBmcmFtZS0+Y29yZUZyYW1lKCktPmRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIHBsYXRmb3Jt
KGV2ZW50KSwgSW50UG9pbnQoKSwgMCk7CisKKyAgICBmcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRl
cigpLT5sb2FkRnJhbWVSZXF1ZXN0KAorICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0KGZyYW1lLT5j
b3JlRnJhbWUoKS0+ZG9jdW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgUmVzb3VyY2VSZXF1ZXN0
KHVybCkpLCAKKyAgICAgICAgZmFsc2UsIGZhbHNlLCBjb3JlRXZlbnQuZ2V0KCksIDAsIFNlbmRS
ZWZlcnJlcik7Cit9CisKIHZvaWQgV2ViUGFnZTo6c3RvcExvYWRpbmdGcmFtZSh1aW50NjRfdCBm
cmFtZUlEKQogewogICAgIFdlYkZyYW1lKiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNoYXJlZCgpLndl
YkZyYW1lKGZyYW1lSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKaW5kZXggNjRmNGQzMjgxOGUwMjIxMWRiNzA4Mzk0NjllY2RhYTBmMWVhMzk3ZS4uYWI1
NTI3YWY0NTg2ZTVkNTdlZWZiODU3M2JhMTIzZThjMjUyZTIzNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC00MDMsNiArNDAzLDcgQEAgcHJpdmF0
ZToKICAgICB2b2lkIGxvYWRIVE1MU3RyaW5nKGNvbnN0IFN0cmluZyYgaHRtbFN0cmluZywgY29u
c3QgU3RyaW5nJiBiYXNlVVJMKTsKICAgICB2b2lkIGxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKGNv
bnN0IFN0cmluZyYgaHRtbFN0cmluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJp
bmcmIHVucmVhY2hhYmxlVVJMKTsKICAgICB2b2lkIGxvYWRQbGFpblRleHRTdHJpbmcoY29uc3Qg
U3RyaW5nJik7CisgICAgdm9pZCB1cmxTZWxlY3RlZCh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0
cmluZyB1cmwsIFdlYktpdDo6V2ViTW91c2VFdmVudCk7CiAgICAgdm9pZCByZWxvYWQoYm9vbCBy
ZWxvYWRGcm9tT3JpZ2luKTsKICAgICB2b2lkIGdvRm9yd2FyZCh1aW50NjRfdCwgY29uc3QgU2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlJik7CiAgICAgdm9pZCBnb0JhY2sodWludDY0X3QsIGNvbnN0
IFNhbmRib3hFeHRlbnNpb246OkhhbmRsZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA2OWJkNTRkZWFiY2Q5
ZTc3MzdjN2UzNjM0YTQxNTRlN2IyYWUzOGQyLi5hODE0Nzg2NzVhYTRhMjNmMjA3YzAzODZhNzU4
NjY0MTgxY2MyMTgwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpAQCAtNTIsNiArNTIsNyBAQCBtZXNzYWdlcyAtPiBX
ZWJQYWdlIHsKICAgICBMb2FkUGxhaW5UZXh0U3RyaW5nKFdURjo6U3RyaW5nIHN0cmluZykKICAg
ICBMb2FkVVJMKFdURjo6U3RyaW5nIHVybCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5k
bGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkKICAgICBMb2FkVVJMUmVxdWVzdChXZWJDb3JlOjpS
ZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUg
c2FuZGJveEV4dGVuc2lvbkhhbmRsZSkKKyAgICBVUkxTZWxlY3RlZCh1aW50NjRfdCBmcmFtZUlE
LCBXVEY6OlN0cmluZyB1cmwsIFdlYktpdDo6V2ViTW91c2VFdmVudCBldmVudCkKICAgICBSZWxv
YWQoYm9vbCByZWxvYWRGcm9tT3JpZ2luKQogICAgIFN0b3BMb2FkaW5nKCkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87860</attachid>
            <date>2011-04-01 08:27:08 -0700</date>
            <delta_ts>2011-04-01 09:57:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57528-20110401082706.patch</filename>
            <type>text/plain</type>
            <size>9608</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI2NjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ODhkNDlmMDczNGRkODI4
NmE2N2NiYjYzODhiM2U3YzQ5YTA5NmMzLi5mZWIzNjVjMDdhYjM3ZmI3MDg4NjM3NDhiMzZjYzcz
MDczZmMyZjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMtMzEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBERiBvcGVucyBpbiBhIG5l
dyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjogRXhwb3J0IE1vdXNlRXZlbnQ6OmNyZWF0ZSgpLgorCiAyMDExLTA0LTAxICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBcHBseSBzb3J0LVhjb2RlLXByb2pl
Y3QtZmlsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMWIyYTljMmIxMDA5MDI2NWU5ODNlZDJj
MTZlM2VhNDQwNmZkOTdjNi4uZDRhZWFmNmI3MzY5ZmI0ZTFmOTY3MjcxMzU4M2UyNGU0Yzk3ZWRj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE0MSw2ICsxNDEsNyBAQCBfX1pON1dlYkNvcmUx
MENyZWRlbnRpYWxDMUV2CiBfX1pON1dlYkNvcmUxMEZsb2F0UG9pbnRDMUVSS05TXzhJbnRQb2lu
dEUKIF9fWk43V2ViQ29yZTEwSlNEb2N1bWVudDZzX2luZm9FCiBfX1pON1dlYkNvcmUxME1vdXNl
RXZlbnRDMUVSS04zV1RGMTJBdG9taWNTdHJpbmdFYmJOUzFfMTBQYXNzUmVmUHRySU5TXzlET01X
aW5kb3dFRUVpaWlpaWJiYmJ0TlM1X0lOU18xMUV2ZW50VGFyZ2V0RUVFTlM1X0lOU185Q2xpcGJv
YXJkRUVFYgorX19aTjdXZWJDb3JlMTBNb3VzZUV2ZW50NmNyZWF0ZUVSS04zV1RGMTJBdG9taWNT
dHJpbmdFTlMxXzEwUGFzc1JlZlB0cklOU185RE9NV2luZG93RUVFUktOU18xOFBsYXRmb3JtTW91
c2VFdmVudEVpTlM1X0lOU180Tm9kZUVFRQogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MTdzZXRV
c2VGaXhlZExheW91dEViCiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcxOHNldEZpeGVkTGF5b3V0
U2l6ZUVSS05TXzdJbnRTaXplRQogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MjBzZXRDYW5IYXZl
U2Nyb2xsYmFyc0ViCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjBjZjY0MTNlMWVkMWM2ZWIyYTYxNDllNzIzZjMx
NzkyOTUxZTdmNS4uOGQzNTFjMGFmNmQ5ZjZmMTVlMWQ0MWM5OGEwMGRjMWViZmNjYTFhNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMiw2ICsyLDM4IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCiAKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBERiBvcGVucyBpbiBhIG5ldyB0
YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21h
Yy9QREZWaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tQREZWaWV3IFBERlZpZXdXaWxs
Q2xpY2tPbkxpbms6d2l0aFVSTDpdKTogSGFuZGxlIHRoZSBkZWxlZ2F0ZQorICAgICAgICAgICAg
ZnVuY3Rpb24gYW5kIG92ZXJyaWRlIHRoZSBQREZWaWV3IGRlZmF1bHQgYmVoYXZpb3IuCisKKzIw
MTEtMDMtMzEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBE
RiBvcGVucyBpbiBhIG5ldyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAg
Tm90aWZ5IHRoZSBXZWJQcm9jZXNzIHRoYXQgYSBsaW5rIGhhcyBiZWVuIGNsaWNrZWQgc28gdGhh
dCB0aGUgbm9ybWFsIHBvbGljeQorICAgICAgICBsb29rdXAgY2FuIG9jY3VyLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dL
UERGVmlldyBQREZWaWV3V2lsbENsaWNrT25MaW5rOndpdGhVUkw6XSk6IEhhbmRsZSB0aGUgZGVs
ZWdhdGUKKyAgICAgICAgICAgIGZ1bmN0aW9uIGFuZCBvdmVycmlkZSB0aGUgUERGVmlldyBkZWZh
dWx0IGJlaGF2aW9yLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVybFNlbGVjdGVkKTogQWRkZWQuICBTZW5kIGV2
ZW50IHRocm91Z2ggdG8gV2ViUGFnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjp1cmxTZWxlY3RlZCk6IEFkZGVkLiAgQ2FsbCBsb2FkRnJhbWVyZXF1
ZXN0KCkuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjogQWRkZWQgVVJMU2VsZWN0
ZWQuCisKKzIwMTEtMDMtMzEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgV2ViS2l0MjogU2F2
ZSBhcyBQREYgaW4gU2FmYXJpIHByb3ZpZGVzIFVudGl0bGVkIGFzIGRlZmF1bHQgZmlsZSBuYW1l
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzUyOQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QREZWaWV3Q29u
dHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250
cm9sbGVyLm1tCmluZGV4IGZkZWNlNzdiMjllOTZmNWNlMzk4MGEwY2EzZTQ0MTcyOGQ4N2MxY2Eu
LmRmMmM4ZjAxMjE1NGRlNjAzMjEyYTY0MWY2NTBhOTFlMWU0MGY4MTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLm1tCkBA
IC0zMCw2ICszMCw3IEBACiAjaW1wb3J0ICJXS0FQSUNhc3QuaCIKICNpbXBvcnQgIldLVmlldy5o
IgogI2ltcG9ydCAiV2ViRGF0YS5oIgorI2ltcG9ydCAiV2ViRXZlbnRGYWN0b3J5LmgiCiAjaW1w
b3J0ICJXZWJQYWdlR3JvdXAuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAi
V2ViUHJlZmVyZW5jZXMuaCIKQEAgLTI3Miw2ICsyNzMsMjMgQEAgc3RhdGljIHZvaWQgX2FwcGxp
Y2F0aW9uSW5mb0Zvck1JTUVUeXBlKE5TU3RyaW5nICp0eXBlLCBOU1N0cmluZyAqKm5hbWUsIE5T
SW1hZ2UKIAogLy8gTUFSSzogUERGVmlldyBkZWxlZ2F0ZSBtZXRob2RzCiAKKy0gKHZvaWQpUERG
Vmlld1dpbGxDbGlja09uTGluazooUERGVmlldyAqKXNlbmRlciB3aXRoVVJMOihOU1VSTCAqKVVS
TAoreworICAgIGlmICghVVJMKQorICAgICAgICByZXR1cm47CisKKyAgICBOU0V2ZW50KiBuc0V2
ZW50ID0gW05TQXBwIGN1cnJlbnRFdmVudF07CisgICAgV2ViTW91c2VFdmVudCBldmVudDsKKyAg
ICBzd2l0Y2ggKFtuc0V2ZW50IHR5cGVdKSB7CisgICAgICAgIGNhc2UgTlNMZWZ0TW91c2VVcDoK
KyAgICAgICAgY2FzZSBOU1JpZ2h0TW91c2VVcDoKKyAgICAgICAgY2FzZSBOU090aGVyTW91c2VV
cDoKKyAgICAgICAgICAgIGV2ZW50ID0gV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2
ZW50KG5zRXZlbnQsIHNlbmRlcik7CisgICAgfQorCisgICAgX3BkZlZpZXdDb250cm9sbGVyLT5w
YWdlKCktPnVybFNlbGVjdGVkKF9wZGZWaWV3Q29udHJvbGxlci0+cGFnZSgpLT5tYWluRnJhbWUo
KSwgW1VSTCBhYnNvbHV0ZVN0cmluZ10sIGV2ZW50KTsKK30KKwogLSAodm9pZClQREZWaWV3T3Bl
blBERkluTmF0aXZlQXBwbGljYXRpb246KFBERlZpZXcgKilzZW5kZXIKIHsKICAgICBfcGRmVmll
d0NvbnRyb2xsZXItPm9wZW5QREZJbkZpbmRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCBjZTNhZjQ2ZTE3NDkxNmUwNWZjODg0MzUzNDNhNmQxZmI0
OTE4NzM4Li4zMjM0YmI1NDQxOGExZjFkNjFiODNlMDlhODk5M2UxYjc0NWE1NjE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjgwOCw2ICsyODA4LDEx
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyKGNv
bnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5hCiAgICAgbV91aUNsaWVudC5zYXZlRGF0YVRvRmls
ZUluRG93bmxvYWRzRm9sZGVyKHRoaXMsIHN1Z2dlc3RlZEZpbGVuYW1lLCBtaW1lVHlwZSwgb3Jp
Z2luYXRpbmdVUkxTdHJpbmcsIGRhdGEpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6dXJsU2Vs
ZWN0ZWQoV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBXZWJN
b3VzZUV2ZW50JiBldmVudCkKK3sKKyAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OlVSTFNlbGVjdGVkKGZyYW1lLT5mcmFtZUlEKCksIHVybCwgZXZlbnQpLCBtX3BhZ2VJRCwg
MCk7Cit9CisKICNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1df
TEVPUEFSRCkKIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93Q29ycmVjdGlvblBhbmVsKGludDMyX3Qg
cGFuZWxUeXBlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94T2ZSZXBsYWNl
ZFN0cmluZywgY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZywgY29uc3QgU3RyaW5nJiByZXBs
YWNlbWVudFN0cmluZywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFsdGVybmF0aXZlUmVwbGFjZW1l
bnRTdHJpbmdzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4
IGUzZTYyZDQwYzA3ODVlNzZmODJkNzExNzkyMjZlOTEzMTg4N2U2NDEuLjQwNzg2NjAwMjJjNTgz
NzExZGIxZTE4NzdiYWE0MzhhY2U5NWNlMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTQ2Nyw2ICs0NjcsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNhdmVE
YXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXIoY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmFt
ZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0
cmluZywgV2ViRGF0YSopOwogCisgICAgdm9pZCB1cmxTZWxlY3RlZChXZWJGcmFtZVByb3h5Kiwg
Y29uc3QgU3RyaW5nJiwgY29uc3QgV2ViTW91c2VFdmVudCYpOworIAogcHJpdmF0ZToKICAgICBX
ZWJQYWdlUHJveHkoUGFnZUNsaWVudCosIFdlYkNvbnRleHQqLCBXZWJQYWdlR3JvdXAqLCB1aW50
NjRfdCBwYWdlSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggMmJhOGFmNWVlNmI0MGM5OTE5NjdkMTZkZjlmMzIyZDhkY2JkMzM0YS4u
OTZiMzQ0OWYwNzY5MDZmODU5ZDNiZDJkNzdhZTlkNTIyY2NlNTNmMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNzksMTYgKzc5LDIwIEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRXZlbnRI
YW5kbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb2N1c0NvbnRyb2xsZXIuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0Zvcm1TdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL0ZyYW1lTG9hZFJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1l
TG9hZGVyVHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvSFRNTEZvcm1FbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IaXN0b3J5SXRl
bS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QcmludENv
bnRleHQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclRyZWVBc1RleHQuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1JlbmRlckxheWVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJUcmVlQXNU
ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CkBAIC00NDAsNiArNDQ0LDIwIEBAIHZvaWQgV2ViUGFnZTo6bG9hZFBsYWluVGV4
dFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICBsb2FkRGF0YShzaGFyZWRCdWZmZXIs
ICJ0ZXh0L3BsYWluIiwgInV0Zi0xNiIsIGJsYW5rVVJMKCksIEtVUkwoKSk7CiB9CiAKK3ZvaWQg
V2ViUGFnZTo6dXJsU2VsZWN0ZWQodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgdXJsLCBX
ZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZlbnQpCit7CisgICAgV2ViRnJhbWUqIGZyYW1lID0gV2Vi
UHJvY2Vzczo6c2hhcmVkKCkud2ViRnJhbWUoZnJhbWVJRCk7CisgICAgaWYgKCFmcmFtZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPEV2ZW50PiBjb3JlRXZlbnQgPSBNb3VzZUV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIAorICAgICAgICBmcmFtZS0+Y29yZUZy
YW1lKCktPmRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIHBsYXRmb3JtKGV2ZW50KSwgSW50UG9p
bnQoKSwgMCk7CisKKyAgICBmcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLT5sb2FkRnJhbWVS
ZXF1ZXN0KAorICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0KGZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9j
dW1lbnQoKS0+c2VjdXJpdHlPcmlnaW4oKSwgUmVzb3VyY2VSZXF1ZXN0KHVybCkpLCAKKyAgICAg
ICAgZmFsc2UsIGZhbHNlLCBjb3JlRXZlbnQuZ2V0KCksIDAsIFNlbmRSZWZlcnJlcik7Cit9CisK
IHZvaWQgV2ViUGFnZTo6c3RvcExvYWRpbmdGcmFtZSh1aW50NjRfdCBmcmFtZUlEKQogewogICAg
IFdlYkZyYW1lKiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNoYXJlZCgpLndlYkZyYW1lKGZyYW1lSUQp
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNjRm
NGQzMjgxOGUwMjIxMWRiNzA4Mzk0NjllY2RhYTBmMWVhMzk3ZS4uYWI1NTI3YWY0NTg2ZTVkNTdl
ZWZiODU3M2JhMTIzZThjMjUyZTIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oCkBAIC00MDMsNiArNDAzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxv
YWRIVE1MU3RyaW5nKGNvbnN0IFN0cmluZyYgaHRtbFN0cmluZywgY29uc3QgU3RyaW5nJiBiYXNl
VVJMKTsKICAgICB2b2lkIGxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKGNvbnN0IFN0cmluZyYgaHRt
bFN0cmluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxl
VVJMKTsKICAgICB2b2lkIGxvYWRQbGFpblRleHRTdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAg
dm9pZCB1cmxTZWxlY3RlZCh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyB1cmwsIFdlYktp
dDo6V2ViTW91c2VFdmVudCk7CiAgICAgdm9pZCByZWxvYWQoYm9vbCByZWxvYWRGcm9tT3JpZ2lu
KTsKICAgICB2b2lkIGdvRm9yd2FyZCh1aW50NjRfdCwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6
SGFuZGxlJik7CiAgICAgdm9pZCBnb0JhY2sodWludDY0X3QsIGNvbnN0IFNhbmRib3hFeHRlbnNp
b246OkhhbmRsZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5tZXNzYWdlcy5pbgppbmRleCA2OWJkNTRkZWFiY2Q5ZTc3MzdjN2UzNjM0YTQx
NTRlN2IyYWUzOGQyLi5hODE0Nzg2NzVhYTRhMjNmMjA3YzAzODZhNzU4NjY0MTgxY2MyMTgwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNz
YWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgpAQCAtNTIsNiArNTIsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBM
b2FkUGxhaW5UZXh0U3RyaW5nKFdURjo6U3RyaW5nIHN0cmluZykKICAgICBMb2FkVVJMKFdURjo6
U3RyaW5nIHVybCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVu
c2lvbkhhbmRsZSkKICAgICBMb2FkVVJMUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qg
cmVxdWVzdCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lv
bkhhbmRsZSkKKyAgICBVUkxTZWxlY3RlZCh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyB1
cmwsIFdlYktpdDo6V2ViTW91c2VFdmVudCBldmVudCkKICAgICBSZWxvYWQoYm9vbCByZWxvYWRG
cm9tT3JpZ2luKQogICAgIFN0b3BMb2FkaW5nKCkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87873</attachid>
            <date>2011-04-01 09:57:10 -0700</date>
            <delta_ts>2011-04-01 12:17:12 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57528-20110401095709.patch</filename>
            <type>text/plain</type>
            <size>9599</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI2NjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ODhkNDlmMDczNGRkODI4
NmE2N2NiYjYzODhiM2U3YzQ5YTA5NmMzLi5mZWIzNjVjMDdhYjM3ZmI3MDg4NjM3NDhiMzZjYzcz
MDczZmMyZjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMtMzEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBERiBvcGVucyBpbiBhIG5l
dyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjogRXhwb3J0IE1vdXNlRXZlbnQ6OmNyZWF0ZSgpLgorCiAyMDExLTA0LTAxICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBcHBseSBzb3J0LVhjb2RlLXByb2pl
Y3QtZmlsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMWIyYTljMmIxMDA5MDI2NWU5ODNlZDJj
MTZlM2VhNDQwNmZkOTdjNi4uZDRhZWFmNmI3MzY5ZmI0ZTFmOTY3MjcxMzU4M2UyNGU0Yzk3ZWRj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE0MSw2ICsxNDEsNyBAQCBfX1pON1dlYkNvcmUx
MENyZWRlbnRpYWxDMUV2CiBfX1pON1dlYkNvcmUxMEZsb2F0UG9pbnRDMUVSS05TXzhJbnRQb2lu
dEUKIF9fWk43V2ViQ29yZTEwSlNEb2N1bWVudDZzX2luZm9FCiBfX1pON1dlYkNvcmUxME1vdXNl
RXZlbnRDMUVSS04zV1RGMTJBdG9taWNTdHJpbmdFYmJOUzFfMTBQYXNzUmVmUHRySU5TXzlET01X
aW5kb3dFRUVpaWlpaWJiYmJ0TlM1X0lOU18xMUV2ZW50VGFyZ2V0RUVFTlM1X0lOU185Q2xpcGJv
YXJkRUVFYgorX19aTjdXZWJDb3JlMTBNb3VzZUV2ZW50NmNyZWF0ZUVSS04zV1RGMTJBdG9taWNT
dHJpbmdFTlMxXzEwUGFzc1JlZlB0cklOU185RE9NV2luZG93RUVFUktOU18xOFBsYXRmb3JtTW91
c2VFdmVudEVpTlM1X0lOU180Tm9kZUVFRQogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MTdzZXRV
c2VGaXhlZExheW91dEViCiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcxOHNldEZpeGVkTGF5b3V0
U2l6ZUVSS05TXzdJbnRTaXplRQogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MjBzZXRDYW5IYXZl
U2Nyb2xsYmFyc0ViCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjBjZjY0MTNlMWVkMWM2ZWIyYTYxNDllNzIzZjMx
NzkyOTUxZTdmNS4uOGQzNTFjMGFmNmQ5ZjZmMTVlMWQ0MWM5OGEwMGRjMWViZmNjYTFhNiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMiw2ICsyLDM4IEBACiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChP
T1BTISkuCiAKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBERiBvcGVucyBpbiBhIG5ldyB0
YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21h
Yy9QREZWaWV3Q29udHJvbGxlci5tbToKKyAgICAgICAgKC1bV0tQREZWaWV3IFBERlZpZXdXaWxs
Q2xpY2tPbkxpbms6d2l0aFVSTDpdKTogSGFuZGxlIHRoZSBkZWxlZ2F0ZQorICAgICAgICAgICAg
ZnVuY3Rpb24gYW5kIG92ZXJyaWRlIHRoZSBQREZWaWV3IGRlZmF1bHQgYmVoYXZpb3IuCisKKzIw
MTEtMDMtMzEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBE
RiBvcGVucyBpbiBhIG5ldyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAg
Tm90aWZ5IHRoZSBXZWJQcm9jZXNzIHRoYXQgYSBsaW5rIGhhcyBiZWVuIGNsaWNrZWQgc28gdGhh
dCB0aGUgbm9ybWFsIHBvbGljeQorICAgICAgICBsb29rdXAgY2FuIG9jY3VyLgorCisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW06CisgICAgICAgICgtW1dL
UERGVmlldyBQREZWaWV3V2lsbENsaWNrT25MaW5rOndpdGhVUkw6XSk6IEhhbmRsZSB0aGUgZGVs
ZWdhdGUKKyAgICAgICAgICAgIGZ1bmN0aW9uIGFuZCBvdmVycmlkZSB0aGUgUERGVmlldyBkZWZh
dWx0IGJlaGF2aW9yLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OnVybFNlbGVjdGVkKTogQWRkZWQuICBTZW5kIGV2
ZW50IHRocm91Z2ggdG8gV2ViUGFnZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjp1cmxTZWxlY3RlZCk6IEFkZGVkLiAgQ2FsbCBsb2FkRnJhbWVyZXF1
ZXN0KCkuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjogQWRkZWQgVVJMU2VsZWN0
ZWQuCisKKzIwMTEtMDMtMzEgIEplciBOb2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgV2ViS2l0MjogU2F2
ZSBhcyBQREYgaW4gU2FmYXJpIHByb3ZpZGVzIFVudGl0bGVkIGFzIGRlZmF1bHQgZmlsZSBuYW1l
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01NzUyOQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QREZWaWV3Q29u
dHJvbGxlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250
cm9sbGVyLm1tCmluZGV4IGZkZWNlNzdiMjllOTZmNWNlMzk4MGEwY2EzZTQ0MTcyOGQ4N2MxY2Eu
LmRmMmM4ZjAxMjE1NGRlNjAzMjEyYTY0MWY2NTBhOTFlMWU0MGY4MTQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLm1tCkBA
IC0zMCw2ICszMCw3IEBACiAjaW1wb3J0ICJXS0FQSUNhc3QuaCIKICNpbXBvcnQgIldLVmlldy5o
IgogI2ltcG9ydCAiV2ViRGF0YS5oIgorI2ltcG9ydCAiV2ViRXZlbnRGYWN0b3J5LmgiCiAjaW1w
b3J0ICJXZWJQYWdlR3JvdXAuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAi
V2ViUHJlZmVyZW5jZXMuaCIKQEAgLTI3Miw2ICsyNzMsMjMgQEAgc3RhdGljIHZvaWQgX2FwcGxp
Y2F0aW9uSW5mb0Zvck1JTUVUeXBlKE5TU3RyaW5nICp0eXBlLCBOU1N0cmluZyAqKm5hbWUsIE5T
SW1hZ2UKIAogLy8gTUFSSzogUERGVmlldyBkZWxlZ2F0ZSBtZXRob2RzCiAKKy0gKHZvaWQpUERG
Vmlld1dpbGxDbGlja09uTGluazooUERGVmlldyAqKXNlbmRlciB3aXRoVVJMOihOU1VSTCAqKVVS
TAoreworICAgIGlmICghVVJMKQorICAgICAgICByZXR1cm47CisKKyAgICBOU0V2ZW50KiBuc0V2
ZW50ID0gW05TQXBwIGN1cnJlbnRFdmVudF07CisgICAgV2ViTW91c2VFdmVudCBldmVudDsKKyAg
ICBzd2l0Y2ggKFtuc0V2ZW50IHR5cGVdKSB7CisgICAgICAgIGNhc2UgTlNMZWZ0TW91c2VVcDoK
KyAgICAgICAgY2FzZSBOU1JpZ2h0TW91c2VVcDoKKyAgICAgICAgY2FzZSBOU090aGVyTW91c2VV
cDoKKyAgICAgICAgICAgIGV2ZW50ID0gV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2
ZW50KG5zRXZlbnQsIHNlbmRlcik7CisgICAgfQorCisgICAgX3BkZlZpZXdDb250cm9sbGVyLT5w
YWdlKCktPnVybFNlbGVjdGVkKF9wZGZWaWV3Q29udHJvbGxlci0+cGFnZSgpLT5tYWluRnJhbWUo
KSwgW1VSTCBhYnNvbHV0ZVN0cmluZ10sIGV2ZW50KTsKK30KKwogLSAodm9pZClQREZWaWV3T3Bl
blBERkluTmF0aXZlQXBwbGljYXRpb246KFBERlZpZXcgKilzZW5kZXIKIHsKICAgICBfcGRmVmll
d0NvbnRyb2xsZXItPm9wZW5QREZJbkZpbmRlcigpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCBjZTNhZjQ2ZTE3NDkxNmUwNWZjODg0MzUzNDNhNmQxZmI0
OTE4NzM4Li4zMjM0YmI1NDQxOGExZjFkNjFiODNlMDlhODk5M2UxYjc0NWE1NjE1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjgwOCw2ICsyODA4LDEx
IEBAIHZvaWQgV2ViUGFnZVByb3h5OjpzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVyKGNv
bnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5hCiAgICAgbV91aUNsaWVudC5zYXZlRGF0YVRvRmls
ZUluRG93bmxvYWRzRm9sZGVyKHRoaXMsIHN1Z2dlc3RlZEZpbGVuYW1lLCBtaW1lVHlwZSwgb3Jp
Z2luYXRpbmdVUkxTdHJpbmcsIGRhdGEpOwogfQogCit2b2lkIFdlYlBhZ2VQcm94eTo6dXJsU2Vs
ZWN0ZWQoV2ViRnJhbWVQcm94eSogZnJhbWUsIGNvbnN0IFN0cmluZyYgdXJsLCBjb25zdCBXZWJN
b3VzZUV2ZW50JiBldmVudCkKK3sKKyAgICBwcm9jZXNzKCktPnNlbmQoTWVzc2FnZXM6OldlYlBh
Z2U6OlVSTFNlbGVjdGVkKGZyYW1lLT5mcmFtZUlEKCksIHVybCwgZXZlbnQpLCBtX3BhZ2VJRCwg
MCk7Cit9CisKICNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1df
TEVPUEFSRCkKIHZvaWQgV2ViUGFnZVByb3h5OjpzaG93Q29ycmVjdGlvblBhbmVsKGludDMyX3Qg
cGFuZWxUeXBlLCBjb25zdCBXZWJDb3JlOjpGbG9hdFJlY3QmIGJvdW5kaW5nQm94T2ZSZXBsYWNl
ZFN0cmluZywgY29uc3QgU3RyaW5nJiByZXBsYWNlZFN0cmluZywgY29uc3QgU3RyaW5nJiByZXBs
YWNlbWVudFN0cmluZywgY29uc3QgVmVjdG9yPFN0cmluZz4mIGFsdGVybmF0aXZlUmVwbGFjZW1l
bnRTdHJpbmdzKQogewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4
IGUzZTYyZDQwYzA3ODVlNzZmODJkNzExNzkyMjZlOTEzMTg4N2U2NDEuLjQwNzg2NjAwMjJjNTgz
NzExZGIxZTE4NzdiYWE0MzhhY2U5NWNlMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKQEAgLTQ2Nyw2ICs0NjcsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNhdmVE
YXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXIoY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmFt
ZSwgY29uc3QgU3RyaW5nJiBtaW1lVHlwZSwgY29uc3QgU3RyaW5nJiBvcmlnaW5hdGluZ1VSTFN0
cmluZywgV2ViRGF0YSopOwogCisgICAgdm9pZCB1cmxTZWxlY3RlZChXZWJGcmFtZVByb3h5Kiwg
Y29uc3QgU3RyaW5nJiwgY29uc3QgV2ViTW91c2VFdmVudCYpOworIAogcHJpdmF0ZToKICAgICBX
ZWJQYWdlUHJveHkoUGFnZUNsaWVudCosIFdlYkNvbnRleHQqLCBXZWJQYWdlR3JvdXAqLCB1aW50
NjRfdCBwYWdlSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggMmJhOGFmNWVlNmI0MGM5OTE5NjdkMTZkZjlmMzIyZDhkY2JkMzM0YS4u
ZDM2ZDlmYjZkZGQ1N2NmYWY5NGIxYmM5NzEzYTJkMWY1MDc4MTYzZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNzksMTYgKzc5LDIwIEBA
CiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnRGF0YS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRXZlbnRI
YW5kbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb2N1c0NvbnRyb2xsZXIuaD4KKyNpbmNsdWRl
IDxXZWJDb3JlL0Zvcm1TdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWUuaD4KKyNpbmNs
dWRlIDxXZWJDb3JlL0ZyYW1lTG9hZFJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1l
TG9hZGVyVHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmlldy5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvSFRNTEZvcm1FbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9IaXN0b3J5SXRl
bS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9QcmludENv
bnRleHQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclRyZWVBc1RleHQuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1JlbmRlckxheWVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJUcmVlQXNU
ZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXF1ZXN0Lmg+CkBAIC00NDAsNiArNDQ0LDIwIEBAIHZvaWQgV2ViUGFnZTo6bG9hZFBsYWluVGV4
dFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICBsb2FkRGF0YShzaGFyZWRCdWZmZXIs
ICJ0ZXh0L3BsYWluIiwgInV0Zi0xNiIsIGJsYW5rVVJMKCksIEtVUkwoKSk7CiB9CiAKK3ZvaWQg
V2ViUGFnZTo6dXJsU2VsZWN0ZWQodWludDY0X3QgZnJhbWVJRCwgV1RGOjpTdHJpbmcgdXJsLCBX
ZWJLaXQ6OldlYk1vdXNlRXZlbnQgZXZlbnQpCit7CisgICAgV2ViRnJhbWUqIGZyYW1lID0gV2Vi
UHJvY2Vzczo6c2hhcmVkKCkud2ViRnJhbWUoZnJhbWVJRCk7CisgICAgaWYgKCFmcmFtZSkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgUmVmUHRyPEV2ZW50PiBjb3JlRXZlbnQgPSBNb3VzZUV2ZW50
OjpjcmVhdGUoZXZlbnROYW1lcygpLmNsaWNrRXZlbnQsIAorICAgICAgICBmcmFtZS0+Y29yZUZy
YW1lKCktPmRvY3VtZW50KCktPmRlZmF1bHRWaWV3KCksIHBsYXRmb3JtKGV2ZW50KSwgMCwgMCk7
CisKKyAgICBmcmFtZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0KAor
ICAgICAgICBGcmFtZUxvYWRSZXF1ZXN0KGZyYW1lLT5jb3JlRnJhbWUoKS0+ZG9jdW1lbnQoKS0+
c2VjdXJpdHlPcmlnaW4oKSwgUmVzb3VyY2VSZXF1ZXN0KHVybCkpLCAKKyAgICAgICAgZmFsc2Us
IGZhbHNlLCBjb3JlRXZlbnQuZ2V0KCksIDAsIFNlbmRSZWZlcnJlcik7Cit9CisKIHZvaWQgV2Vi
UGFnZTo6c3RvcExvYWRpbmdGcmFtZSh1aW50NjRfdCBmcmFtZUlEKQogewogICAgIFdlYkZyYW1l
KiBmcmFtZSA9IFdlYlByb2Nlc3M6OnNoYXJlZCgpLndlYkZyYW1lKGZyYW1lSUQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNjRmNGQzMjgxOGUw
MjIxMWRiNzA4Mzk0NjllY2RhYTBmMWVhMzk3ZS4uYWI1NTI3YWY0NTg2ZTVkNTdlZWZiODU3M2Jh
MTIzZThjMjUyZTIzNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5oCkBAIC00MDMsNiArNDAzLDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGxvYWRIVE1MU3Ry
aW5nKGNvbnN0IFN0cmluZyYgaHRtbFN0cmluZywgY29uc3QgU3RyaW5nJiBiYXNlVVJMKTsKICAg
ICB2b2lkIGxvYWRBbHRlcm5hdGVIVE1MU3RyaW5nKGNvbnN0IFN0cmluZyYgaHRtbFN0cmluZywg
Y29uc3QgU3RyaW5nJiBiYXNlVVJMLCBjb25zdCBTdHJpbmcmIHVucmVhY2hhYmxlVVJMKTsKICAg
ICB2b2lkIGxvYWRQbGFpblRleHRTdHJpbmcoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCB1cmxT
ZWxlY3RlZCh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyB1cmwsIFdlYktpdDo6V2ViTW91
c2VFdmVudCk7CiAgICAgdm9pZCByZWxvYWQoYm9vbCByZWxvYWRGcm9tT3JpZ2luKTsKICAgICB2
b2lkIGdvRm9yd2FyZCh1aW50NjRfdCwgY29uc3QgU2FuZGJveEV4dGVuc2lvbjo6SGFuZGxlJik7
CiAgICAgdm9pZCBnb0JhY2sodWludDY0X3QsIGNvbnN0IFNhbmRib3hFeHRlbnNpb246OkhhbmRs
ZSYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5tZXNzYWdlcy5pbgppbmRleCA2OWJkNTRkZWFiY2Q5ZTc3MzdjN2UzNjM0YTQxNTRlN2IyYWUz
OGQyLi5hODE0Nzg2NzVhYTRhMjNmMjA3YzAzODZhNzU4NjY0MTgxY2MyMTgwIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5p
bgpAQCAtNTIsNiArNTIsNyBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICAgICBMb2FkUGxhaW5U
ZXh0U3RyaW5nKFdURjo6U3RyaW5nIHN0cmluZykKICAgICBMb2FkVVJMKFdURjo6U3RyaW5nIHVy
bCwgV2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRs
ZSkKICAgICBMb2FkVVJMUmVxdWVzdChXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QgcmVxdWVzdCwg
V2ViS2l0OjpTYW5kYm94RXh0ZW5zaW9uOjpIYW5kbGUgc2FuZGJveEV4dGVuc2lvbkhhbmRsZSkK
KyAgICBVUkxTZWxlY3RlZCh1aW50NjRfdCBmcmFtZUlELCBXVEY6OlN0cmluZyB1cmwsIFdlYktp
dDo6V2ViTW91c2VFdmVudCBldmVudCkKICAgICBSZWxvYWQoYm9vbCByZWxvYWRGcm9tT3JpZ2lu
KQogICAgIFN0b3BMb2FkaW5nKCkKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>87895</attachid>
            <date>2011-04-01 12:17:15 -0700</date>
            <delta_ts>2011-04-01 12:20:05 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-57528-20110401121715.patch</filename>
            <type>text/plain</type>
            <size>12907</size>
            <attacher name="Jer Noble">jer.noble</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogODI2NjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCA2ODhkNDlmMDczNGRkODI4
NmE2N2NiYjYzODhiM2U3YzQ5YTA5NmMzLi5mZWIzNjVjMDdhYjM3ZmI3MDg4NjM3NDhiMzZjYzcz
MDczZmMyZjA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291
cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIgQEAKKzIwMTEtMDMtMzEgIEplciBO
b2JsZSAgPGplci5ub2JsZUBhcHBsZS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgV2ViS2l0MjogTGluayBmcm9tIFBERiBvcGVucyBpbiBhIG5l
dyB0YWIgaW5zdGVhZCBvZiBpbiB0aGUgc2FtZSB0YWIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTU3NTI4CisKKyAgICAgICAgKiBXZWJDb3JlLmV4cC5p
bjogRXhwb3J0IE1vdXNlRXZlbnQ6OmNyZWF0ZSgpLgorCiAyMDExLTA0LTAxICBLZW50IFRhbXVy
YSAgPHRrZW50QGNocm9taXVtLm9yZz4KIAogICAgICAgICBBcHBseSBzb3J0LVhjb2RlLXByb2pl
Y3QtZmlsZS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMWIyYTljMmIxMDA5MDI2NWU5ODNlZDJj
MTZlM2VhNDQwNmZkOTdjNi4uZDRhZWFmNmI3MzY5ZmI0ZTFmOTY3MjcxMzU4M2UyNGU0Yzk3ZWRj
NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE0MSw2ICsxNDEsNyBAQCBfX1pON1dlYkNvcmUx
MENyZWRlbnRpYWxDMUV2CiBfX1pON1dlYkNvcmUxMEZsb2F0UG9pbnRDMUVSS05TXzhJbnRQb2lu
dEUKIF9fWk43V2ViQ29yZTEwSlNEb2N1bWVudDZzX2luZm9FCiBfX1pON1dlYkNvcmUxME1vdXNl
RXZlbnRDMUVSS04zV1RGMTJBdG9taWNTdHJpbmdFYmJOUzFfMTBQYXNzUmVmUHRySU5TXzlET01X
aW5kb3dFRUVpaWlpaWJiYmJ0TlM1X0lOU18xMUV2ZW50VGFyZ2V0RUVFTlM1X0lOU185Q2xpcGJv
YXJkRUVFYgorX19aTjdXZWJDb3JlMTBNb3VzZUV2ZW50NmNyZWF0ZUVSS04zV1RGMTJBdG9taWNT
dHJpbmdFTlMxXzEwUGFzc1JlZlB0cklOU185RE9NV2luZG93RUVFUktOU18xOFBsYXRmb3JtTW91
c2VFdmVudEVpTlM1X0lOU180Tm9kZUVFRQogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MTdzZXRV
c2VGaXhlZExheW91dEViCiBfX1pON1dlYkNvcmUxMFNjcm9sbFZpZXcxOHNldEZpeGVkTGF5b3V0
U2l6ZUVSS05TXzdJbnRTaXplRQogX19aTjdXZWJDb3JlMTBTY3JvbGxWaWV3MjBzZXRDYW5IYXZl
U2Nyb2xsYmFyc0ViCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNjBjZjY0MTNlMWVkMWM2ZWIyYTYxNDllNzIzZjMx
NzkyOTUxZTdmNS4uMmE4MmRjZDBlYmIxZTE2Njc5ZGVmYTdiNGZjN2ZlNGRjMDZkYjZhOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDExLTA0LTAxICBKZXIgTm9ibGUgIDxqZXIubm9i
bGVAYXBwbGUuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgIFdlYktpdDI6IExpbmsgZnJvbSBQREYgb3BlbnMgaW4gYSBuZXcgdGFiIGluc3RlYWQg
b2YgaW4gdGhlIHNhbWUgdGFiCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD01NzUyOAorCisgICAgICAgIE5vdGlmeSB0aGUgV2ViUHJvY2VzcyB0aGF0IGEg
bGluayBoYXMgYmVlbiBjbGlja2VkIHNvIHRoYXQgdGhlIG5vcm1hbCBwb2xpY3kKKyAgICAgICAg
bG9va3VwIGNhbiBvY2N1ci4KKworICAgICAgICAqIFNoYXJlZC9XZWJFdmVudC5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OldlYkV2ZW50OjpXZWJFdmVudCk6IEluaXRpYWxpemUgaXZhcnMgaW4gdGhl
IGRlZmF1bHQgY29uc3RydWN0b3IuCisgICAgICAgICogU2hhcmVkL1dlYkV2ZW50Lmg6IEFkZCBX
ZWJFdmVudDo6Tm9UeXBlIHRvIFR5cGUgZW51bS4KKyAgICAgICAgKiBTaGFyZWQvV2ViTW91c2VF
dmVudC5jcHA6IAorICAgICAgICAoV2ViS2l0OjpXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50
KTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIu
bW06CisgICAgICAgICgtW1dLUERGVmlldyBQREZWaWV3V2lsbENsaWNrT25MaW5rOndpdGhVUkw6
XSk6IEhhbmRsZSB0aGUgZGVsZWdhdGUKKyAgICAgICAgICAgIGZ1bmN0aW9uIGFuZCBvdmVycmlk
ZSB0aGUgUERGVmlldyBkZWZhdWx0IGJlaGF2aW9yLgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQ
YWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFJlY2VpdmVF
dmVudCk6IEhhbmRsZSB0aGUgbmV3IFdlYkV2ZW50OjpOb1R5cGUgZW51bS4KKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpsaW5rQ2xpY2tlZCk6IEFkZGVkLiAgU2VuZCBldmVudCB0aHJv
dWdoIHRvIFdlYlBhZ2UuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZTo6bGlua0NsaWNrZWQpOiBBZGRlZC4gIENhbGwgbG9hZEZyYW1lUmVxdWVzdCgpLgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW46IEFkZGVkIExpbmtDbGlja2VkLgorCiAy
MDExLTAzLTMxICBKZXIgTm9ibGUgIDxqZXIubm9ibGVAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL1dlYkV2ZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudC5jcHAKaW5k
ZXggZjY3MzhmYTA0MDY2ODg0OTk3N2E4NGQ2MGQzZDBlNGMzNmFkY2ZkZS4uNzRhYzI1YTRkMWJh
YjUyYTkzZWQ1ZGQxNWRmNGQ3ZmUwMGNiNTI1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
U2hhcmVkL1dlYkV2ZW50LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQu
Y3BwCkBAIC0zMiw2ICszMiwxMyBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorV2ViRXZlbnQ6
OldlYkV2ZW50KCkKKyAgICA6IG1fdHlwZShOb1R5cGUpCisgICAgLCBtX21vZGlmaWVycygwKQor
ICAgICwgbV90aW1lc3RhbXAoMCkKK3sKK30KKwogV2ViRXZlbnQ6OldlYkV2ZW50KFR5cGUgdHlw
ZSwgTW9kaWZpZXJzIG1vZGlmaWVycywgZG91YmxlIHRpbWVzdGFtcCkKICAgICA6IG1fdHlwZSh0
eXBlKQogICAgICwgbV9tb2RpZmllcnMobW9kaWZpZXJzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYkV2ZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQu
aAppbmRleCA2ZDJlNjBiOWM2MjI3ODczYTY4NmZjMDdiOTRmMmI5ZDNiOWRkM2M0Li4yMmIyNTc0
NTczNjUxMDRiYmZkYmU1OTIwMGJjOTk1ZjNhNzQxNzBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViRXZlbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViRXZl
bnQuaApAQCAtNDMsNiArNDMsOCBAQCBuYW1lc3BhY2UgV2ViS2l0IHsKIGNsYXNzIFdlYkV2ZW50
IHsKIHB1YmxpYzoKICAgICBlbnVtIFR5cGUgeworICAgICAgICBOb1R5cGUgPSAtMSwKKyAgICAg
ICAgCiAgICAgICAgIC8vIFdlYk1vdXNlRXZlbnQKICAgICAgICAgTW91c2VEb3duLAogICAgICAg
ICBNb3VzZVVwLApAQCAtOTEsNyArOTMsNyBAQCBwdWJsaWM6CiAgICAgZG91YmxlIHRpbWVzdGFt
cCgpIGNvbnN0IHsgcmV0dXJuIG1fdGltZXN0YW1wOyB9CiAKIHByb3RlY3RlZDoKLSAgICBXZWJF
dmVudCgpIHsgfQorICAgIFdlYkV2ZW50KCk7CiAKICAgICBXZWJFdmVudChUeXBlLCBNb2RpZmll
cnMsIGRvdWJsZSB0aW1lc3RhbXApOwogCkBAIC0xMTQsNyArMTE2LDcgQEAgcHVibGljOgogICAg
ICAgICBSaWdodEJ1dHRvbgogICAgIH07CiAKLSAgICBXZWJNb3VzZUV2ZW50KCkgeyB9CisgICAg
V2ViTW91c2VFdmVudCgpOwogCiAgICAgV2ViTW91c2VFdmVudChUeXBlLCBCdXR0b24sIGNvbnN0
IFdlYkNvcmU6OkludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIGds
b2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBp
bnQgY2xpY2tDb3VudCwgTW9kaWZpZXJzLCBkb3VibGUgdGltZXN0YW1wKTsKICNpZiBQTEFURk9S
TShXSU4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTW91c2VFdmVudC5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViTW91c2VFdmVudC5jcHAKaW5kZXggMTZlNTA1
N2EzOTA0MzFlOGFmNDI4YzNkZmIzNjg0MzYwNDUxNzVmNS4uNDE0MmI0ZDE2YTBiNGNlNWNkMDRk
NDlkMDJiOWNhYjViOTEwZDQ3MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dl
Yk1vdXNlRXZlbnQuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJNb3VzZUV2ZW50
LmNwcApAQCAtMzMsNiArMzMsMTkgQEAgdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogCitXZWJNb3VzZUV2ZW50OjpXZWJNb3VzZUV2ZW50KCkKKyAgICA6IFdl
YkV2ZW50KCkKKyAgICAsIG1fYnV0dG9uKE5vQnV0dG9uKQorICAgICwgbV9kZWx0YVgoMCkKKyAg
ICAsIG1fZGVsdGFZKDApCisgICAgLCBtX2RlbHRhWigwKQorICAgICwgbV9jbGlja0NvdW50KDAp
CisjaWYgUExBVEZPUk0oV0lOKQorICAgICwgbV9kaWRBY3RpdmF0ZVdlYlZpZXcoZmFsc2UpCisj
ZW5kaWYKK3sKK30KKwogV2ViTW91c2VFdmVudDo6V2ViTW91c2VFdmVudChUeXBlIHR5cGUsIEJ1
dHRvbiBidXR0b24sIGNvbnN0IEludFBvaW50JiBwb3NpdGlvbiwgY29uc3QgSW50UG9pbnQmIGds
b2JhbFBvc2l0aW9uLCBmbG9hdCBkZWx0YVgsIGZsb2F0IGRlbHRhWSwgZmxvYXQgZGVsdGFaLCBp
bnQgY2xpY2tDb3VudCwgTW9kaWZpZXJzIG1vZGlmaWVycywgZG91YmxlIHRpbWVzdGFtcCkKICAg
ICA6IFdlYkV2ZW50KHR5cGUsIG1vZGlmaWVycywgdGltZXN0YW1wKQogICAgICwgbV9idXR0b24o
YnV0dG9uKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUERG
Vmlld0NvbnRyb2xsZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvbWFjL1BERlZp
ZXdDb250cm9sbGVyLmgKaW5kZXggZGMzMGY1NjQwOTY5Y2M0MWFkY2U3OTk1NDBkMWYzN2IyYjgy
Y2U1YS4uY2MzYjI5OWRlYTgwNzkxZmQyYjYxYjViYTVlOTQ4NTdhODllMWMzOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9QREZWaWV3Q29udHJvbGxlci5o
CkBAIC02NCw2ICs2NCw3IEBAIHB1YmxpYzoKICAgICBOU1ByaW50T3BlcmF0aW9uICptYWtlUHJp
bnRPcGVyYXRpb24oTlNQcmludEluZm8gKik7CiAgICAgdm9pZCBvcGVuUERGSW5GaW5kZXIoKTsK
ICAgICB2b2lkIHNhdmVQREZUb0Rvd25sb2Fkc0ZvbGRlcigpOworICAgIHZvaWQgbGlua0NsaWNr
ZWQoY29uc3QgU3RyaW5nJiB1cmwpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBERlZpZXdD
b250cm9sbGVyKFdLVmlldyAqd2tWaWV3KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvbWFjL1BERlZpZXdDb250cm9sbGVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvUERGVmlld0NvbnRyb2xsZXIubW0KaW5kZXggZmRlY2U3N2IyOWU5NmY1
Y2UzOTgwYTBjYTNlNDQxNzI4ZDg3YzFjYS4uM2E1OWE1MmFmZjg2ZWE3NmQ4N2RkZDJjZTg1MjRj
MzQ1YTgyNWZhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9tYWMv
UERGVmlld0NvbnRyb2xsZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9t
YWMvUERGVmlld0NvbnRyb2xsZXIubW0KQEAgLTMwLDYgKzMwLDcgQEAKICNpbXBvcnQgIldLQVBJ
Q2FzdC5oIgogI2ltcG9ydCAiV0tWaWV3LmgiCiAjaW1wb3J0ICJXZWJEYXRhLmgiCisjaW1wb3J0
ICJXZWJFdmVudEZhY3RvcnkuaCIKICNpbXBvcnQgIldlYlBhZ2VHcm91cC5oIgogI2ltcG9ydCAi
V2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJXZWJQcmVmZXJlbmNlcy5oIgpAQCAtMjcyLDYgKzI3
MywxMSBAQCBzdGF0aWMgdm9pZCBfYXBwbGljYXRpb25JbmZvRm9yTUlNRVR5cGUoTlNTdHJpbmcg
KnR5cGUsIE5TU3RyaW5nICoqbmFtZSwgTlNJbWFnZQogCiAvLyBNQVJLOiBQREZWaWV3IGRlbGVn
YXRlIG1ldGhvZHMKIAorLSAodm9pZClQREZWaWV3V2lsbENsaWNrT25MaW5rOihQREZWaWV3ICop
c2VuZGVyIHdpdGhVUkw6KE5TVVJMICopVVJMCit7CisgICAgX3BkZlZpZXdDb250cm9sbGVyLT5s
aW5rQ2xpY2tlZChbVVJMIGFic29sdXRlU3RyaW5nXSk7Cit9CisKIC0gKHZvaWQpUERGVmlld09w
ZW5QREZJbk5hdGl2ZUFwcGxpY2F0aW9uOihQREZWaWV3ICopc2VuZGVyCiB7CiAgICAgX3BkZlZp
ZXdDb250cm9sbGVyLT5vcGVuUERGSW5GaW5kZXIoKTsKQEAgLTUwNSw0ICs1MTEsMTggQEAgTlNT
dHJpbmcgKlBERlZpZXdDb250cm9sbGVyOjpwYXRoVG9QREZPbkRpc2soKQogICAgIHJldHVybiBw
YXRoOwogfQogCit2b2lkIFBERlZpZXdDb250cm9sbGVyOjpsaW5rQ2xpY2tlZChjb25zdCBTdHJp
bmcmIHVybCkKK3sKKyAgICBOU0V2ZW50KiBuc0V2ZW50ID0gW05TQXBwIGN1cnJlbnRFdmVudF07
CisgICAgV2ViTW91c2VFdmVudCBldmVudDsKKyAgICBzd2l0Y2ggKFtuc0V2ZW50IHR5cGVdKSB7
CisgICAgICAgIGNhc2UgTlNMZWZ0TW91c2VVcDoKKyAgICAgICAgY2FzZSBOU1JpZ2h0TW91c2VV
cDoKKyAgICAgICAgY2FzZSBOU090aGVyTW91c2VVcDoKKyAgICAgICAgICAgIGV2ZW50ID0gV2Vi
RXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KG5zRXZlbnQsIG1fcGRmVmlldyk7Cisg
ICAgfQorICAgIAorICAgIHBhZ2UoKS0+bGlua0NsaWNrZWQodXJsLCBldmVudCk7Cit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5
LmNwcAppbmRleCBjZTNhZjQ2ZTE3NDkxNmUwNWZjODg0MzUzNDNhNmQxZmI0OTE4NzM4Li5jOGM3
MDFhOWU5Yzg4NzczZDBkYjNjMmNkMzUzMjc3NmU1YWZkNDYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMjM2NCw2ICsyMzY0LDcgQEAgdm9pZCBXZWJQ
YWdlUHJveHk6OmRpZFJlY2VpdmVFdmVudCh1aW50MzJfdCBvcGFxdWVUeXBlLCBib29sIGhhbmRs
ZWQpCiAgICAgV2ViRXZlbnQ6OlR5cGUgdHlwZSA9IHN0YXRpY19jYXN0PFdlYkV2ZW50OjpUeXBl
PihvcGFxdWVUeXBlKTsKIAogICAgIHN3aXRjaCAodHlwZSkgeworICAgIGNhc2UgV2ViRXZlbnQ6
Ok5vVHlwZToKICAgICBjYXNlIFdlYkV2ZW50OjpNb3VzZU1vdmU6CiAgICAgICAgIGJyZWFrOwog
CkBAIC0yMzgzLDYgKzIzODQsOCBAQCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkUmVjZWl2ZUV2ZW50
KHVpbnQzMl90IG9wYXF1ZVR5cGUsIGJvb2wgaGFuZGxlZCkKICAgICB9CiAKICAgICBzd2l0Y2gg
KHR5cGUpIHsKKyAgICBjYXNlIFdlYkV2ZW50OjpOb1R5cGU6CisgICAgICAgIGJyZWFrOwogICAg
IGNhc2UgV2ViRXZlbnQ6Ok1vdXNlTW92ZToKICAgICAgICAgbV9wcm9jZXNzaW5nTW91c2VNb3Zl
RXZlbnQgPSBmYWxzZTsKICAgICAgICAgaWYgKG1fbmV4dE1vdXNlTW92ZUV2ZW50KSB7CkBAIC0y
ODA4LDYgKzI4MTEsMTEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnNhdmVEYXRhVG9GaWxlSW5Eb3du
bG9hZHNGb2xkZXIoY29uc3QgU3RyaW5nJiBzdWdnZXN0ZWRGaWxlbmEKICAgICBtX3VpQ2xpZW50
LnNhdmVEYXRhVG9GaWxlSW5Eb3dubG9hZHNGb2xkZXIodGhpcywgc3VnZ2VzdGVkRmlsZW5hbWUs
IG1pbWVUeXBlLCBvcmlnaW5hdGluZ1VSTFN0cmluZywgZGF0YSk7CiB9CiAKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpsaW5rQ2xpY2tlZChjb25zdCBTdHJpbmcmIHVybCwgY29uc3QgV2ViTW91c2VFdmVu
dCYgZXZlbnQpCit7CisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpMaW5r
Q2xpY2tlZCh1cmwsIGV2ZW50KSwgbV9wYWdlSUQsIDApOworfQorCiAjaWYgUExBVEZPUk0oTUFD
KSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BBUkQpCiB2b2lkIFdlYlBhZ2VQcm94
eTo6c2hvd0NvcnJlY3Rpb25QYW5lbChpbnQzMl90IHBhbmVsVHlwZSwgY29uc3QgV2ViQ29yZTo6
RmxvYXRSZWN0JiBib3VuZGluZ0JveE9mUmVwbGFjZWRTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVw
bGFjZWRTdHJpbmcsIGNvbnN0IFN0cmluZyYgcmVwbGFjZW1lbnRTdHJpbmcsIGNvbnN0IFZlY3Rv
cjxTdHJpbmc+JiBhbHRlcm5hdGl2ZVJlcGxhY2VtZW50U3RyaW5ncykKIHsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAppbmRleCBlM2U2MmQ0MGMwNzg1ZTc2ZjgyZDcxMTc5
MjI2ZTkxMzE4ODdlNjQxLi5mMGU1ZmNiMDMyZTJiNTVhOTYzODgwOTcxZjE2ODM3ZGUyMzM5YzY5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC00NjcsNiArNDY3
LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzYXZlRGF0YVRvRmlsZUluRG93bmxvYWRzRm9sZGVy
KGNvbnN0IFN0cmluZyYgc3VnZ2VzdGVkRmlsZW5hbWUsIGNvbnN0IFN0cmluZyYgbWltZVR5cGUs
IGNvbnN0IFN0cmluZyYgb3JpZ2luYXRpbmdVUkxTdHJpbmcsIFdlYkRhdGEqKTsKIAorICAgIHZv
aWQgbGlua0NsaWNrZWQoY29uc3QgU3RyaW5nJiwgY29uc3QgV2ViTW91c2VFdmVudCYpOworIAog
cHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCosIFdlYkNvbnRleHQqLCBXZWJQ
YWdlR3JvdXAqLCB1aW50NjRfdCBwYWdlSUQpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggMmJhOGFmNWVlNmI0MGM5OTE5NjdkMTZkZjlm
MzIyZDhkY2JkMzM0YS4uMzI3NzNjZjg0M2I3MjdhM2UyZDA2MWZlZTQ0MTRkOGExMTdjYzViZCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
NzksMTYgKzc5LDIwIEBACiAjaW5jbHVkZSA8V2ViQ29yZS9EcmFnRGF0YS5oPgogI2luY2x1ZGUg
PFdlYkNvcmUvRXZlbnRIYW5kbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Gb2N1c0NvbnRyb2xs
ZXIuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0Zvcm1TdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
RnJhbWUuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lTG9hZFJlcXVlc3QuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL0ZyYW1lTG9hZGVyVHlwZXMuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0ZyYW1lVmll
dy5oPgorI2luY2x1ZGUgPFdlYkNvcmUvSFRNTEZvcm1FbGVtZW50Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9IaXN0b3J5SXRlbS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvTW91c2VFdmVudC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9QcmludENvbnRleHQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlclRyZWVBc1Rl
eHQuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1JlbmRlckxheWVyLmg+CisjaW5jbHVkZSA8V2ViQ29y
ZS9SZW5kZXJUcmVlQXNUZXh0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZW5kZXJWaWV3Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXBsYWNlU2VsZWN0aW9uQ29tbWFuZC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CkBAIC00NDAsNiArNDQ0LDIwIEBAIHZvaWQgV2ViUGFn
ZTo6bG9hZFBsYWluVGV4dFN0cmluZyhjb25zdCBTdHJpbmcmIHN0cmluZykKICAgICBsb2FkRGF0
YShzaGFyZWRCdWZmZXIsICJ0ZXh0L3BsYWluIiwgInV0Zi0xNiIsIGJsYW5rVVJMKCksIEtVUkwo
KSk7CiB9CiAKK3ZvaWQgV2ViUGFnZTo6bGlua0NsaWNrZWQoY29uc3QgU3RyaW5nJiB1cmwsIGNv
bnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQoreworICAgIEZyYW1lKiBmcmFtZSA9IG1fcGFnZS0+
bWFpbkZyYW1lKCk7CisgICAgaWYgKCFmcmFtZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgUmVm
UHRyPEV2ZW50PiBjb3JlRXZlbnQ7CisgICAgaWYgKGV2ZW50LnR5cGUoKSAhPSBXZWJFdmVudDo6
Tm9UeXBlKQorICAgICAgICBjb3JlRXZlbnQgPSBNb3VzZUV2ZW50OjpjcmVhdGUoZXZlbnROYW1l
cygpLmNsaWNrRXZlbnQsIGZyYW1lLT5kb2N1bWVudCgpLT5kZWZhdWx0VmlldygpLCBwbGF0Zm9y
bShldmVudCksIDAsIDApOworCisgICAgZnJhbWUtPmxvYWRlcigpLT5sb2FkRnJhbWVSZXF1ZXN0
KEZyYW1lTG9hZFJlcXVlc3QoZnJhbWUtPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCksIFJl
c291cmNlUmVxdWVzdCh1cmwpKSwgCisgICAgICAgIGZhbHNlLCBmYWxzZSwgY29yZUV2ZW50Lmdl
dCgpLCAwLCBTZW5kUmVmZXJyZXIpOworfQorCiB2b2lkIFdlYlBhZ2U6OnN0b3BMb2FkaW5nRnJh
bWUodWludDY0X3QgZnJhbWVJRCkKIHsKICAgICBXZWJGcmFtZSogZnJhbWUgPSBXZWJQcm9jZXNz
OjpzaGFyZWQoKS53ZWJGcmFtZShmcmFtZUlEKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDY0ZjRkMzI4MThlMDIyMTFkYjcwODM5NDY5ZWNkYWEw
ZjFlYTM5N2UuLmE0Y2E0OTVmOTRiMzIzMWU4MmYyYjQ2NWNmMThkNDFkZjZjNTBhOGMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApAQCAtNDAzLDYgKzQw
Myw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBsb2FkSFRNTFN0cmluZyhjb25zdCBTdHJpbmcmIGh0
bWxTdHJpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVSTCk7CiAgICAgdm9pZCBsb2FkQWx0ZXJuYXRl
SFRNTFN0cmluZyhjb25zdCBTdHJpbmcmIGh0bWxTdHJpbmcsIGNvbnN0IFN0cmluZyYgYmFzZVVS
TCwgY29uc3QgU3RyaW5nJiB1bnJlYWNoYWJsZVVSTCk7CiAgICAgdm9pZCBsb2FkUGxhaW5UZXh0
U3RyaW5nKGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgbGlua0NsaWNrZWQoY29uc3QgU3RyaW5n
JiB1cmwsIGNvbnN0IFdlYk1vdXNlRXZlbnQmKTsKICAgICB2b2lkIHJlbG9hZChib29sIHJlbG9h
ZEZyb21PcmlnaW4pOwogICAgIHZvaWQgZ29Gb3J3YXJkKHVpbnQ2NF90LCBjb25zdCBTYW5kYm94
RXh0ZW5zaW9uOjpIYW5kbGUmKTsKICAgICB2b2lkIGdvQmFjayh1aW50NjRfdCwgY29uc3QgU2Fu
ZGJveEV4dGVuc2lvbjo6SGFuZGxlJik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDY5YmQ1NGRlYWJjZDllNzcz
N2M3ZTM2MzRhNDE1NGU3YjJhZTM4ZDIuLjFmODk4Y2Q2MGFmYzhjNWZkNDcyNTY1ZjcwYWZiNmRj
OTdlYjg2ZTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC01Miw2ICs1Miw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBh
Z2UgewogICAgIExvYWRQbGFpblRleHRTdHJpbmcoV1RGOjpTdHJpbmcgc3RyaW5nKQogICAgIExv
YWRVUkwoV1RGOjpTdHJpbmcgdXJsLCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBz
YW5kYm94RXh0ZW5zaW9uSGFuZGxlKQogICAgIExvYWRVUkxSZXF1ZXN0KFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCByZXF1ZXN0LCBXZWJLaXQ6OlNhbmRib3hFeHRlbnNpb246OkhhbmRsZSBzYW5k
Ym94RXh0ZW5zaW9uSGFuZGxlKQorICAgIExpbmtDbGlja2VkKFdURjo6U3RyaW5nIHVybCwgV2Vi
S2l0OjpXZWJNb3VzZUV2ZW50IGV2ZW50KQogICAgIFJlbG9hZChib29sIHJlbG9hZEZyb21Pcmln
aW4pCiAgICAgU3RvcExvYWRpbmcoKQogCg==
</data>
<flag name="review"
          id="80354"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>