<?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>81154</bug_id>
          
          <creation_ts>2012-03-14 13:55:05 -0700</creation_ts>
          <short_desc>[WK2] Add Page Visibility API support</short_desc>
          <delta_ts>2012-04-04 06:10:50 -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>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>81355</dependson>
          <blocked>69554</blocked>
    
    <blocked>81164</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Jesus Sanchez-Palencia">jesus</reporter>
          <assigned_to name="Jesus Sanchez-Palencia">jesus</assigned_to>
          <cc>allan.jensen</cc>
    
    <cc>andersca</cc>
    
    <cc>kenneth</cc>
    
    <cc>sam</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>578733</commentid>
    <comment_count>0</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-03-14 13:55:05 -0700</bug_when>
    <thetext>WebKit2 should support the Page Visibility API implementation.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578835</commentid>
    <comment_count>1</comment_count>
      <attachid>131928</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-03-14 15:15:01 -0700</bug_when>
    <thetext>Created attachment 131928
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>578870</commentid>
    <comment_count>2</comment_count>
      <attachid>131928</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2012-03-14 15:46:27 -0700</bug_when>
    <thetext>Comment on attachment 131928
Patch

Here are a couple of concerns with this patch:

1. There are no API tests for this.
2. This is not the right way to implement this feature. We already have information in the web process about the state of the page, so there shouldn&apos;t be a need to expose another setter for it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579638</commentid>
    <comment_count>3</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-03-15 12:30:24 -0700</bug_when>
    <thetext>Thanks for reviewing this!

(In reply to comment #2)
&gt; 2. This is not the right way to implement this feature. We already have information in the web process about the state of the page, so there shouldn&apos;t be a need to expose another setter for it.

About the state of the page we already have in the web process, are you talking about active and focused (setFocused and setActive, both from WebPage)? Perhaps we could use this and call WebPage::setVisibilityState for both hidden and visible states, but what about the prerender and preview ones? (http://www.w3.org/TR/2011/WD-page-visibility-20110602/#sec-document-visibility-interface)

I can&apos;t think of a &quot;platform-agnostic&quot; way that could automatically set this as the current state of Page. But maybe I&apos;m just missing something here...

That is way this patch follows previous implementations of the Page Visibility API, like WebKit1&apos;s Chromium and EFL ports, whose approach was to even provide an API to their WebViews so this could be set.

By the way, but maybe not totally related, I&apos;ve just realized that after calling WebPageProxy::viewStateDidChange we keep the state information somehow in WebPage for all states (focused, active, isInWindow) but not for ViewIsVisible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>579654</commentid>
    <comment_count>4</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-03-15 12:51:22 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; About the state of the page we already have in the web process, are you talking about active and focused (setFocused and setActive, both from WebPage)? Perhaps we could use this and call WebPage::setVisibilityState for both hidden and visible states, but what about the prerender and preview ones? 
(http://www.w3.org/TR/2011/WD-page-visibility-20110602/#sec-document-visibility-interface)

I&apos;m sorry, my bad, the current spec is in http://www.w3.org/TR/page-visibility/#sec-document-visibility-interface  and the prerender was left out of it. But preview is still there and so the rest of my doubts remains.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>584320</commentid>
    <comment_count>5</comment_count>
      <attachid>133072</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-03-21 10:41:04 -0700</bug_when>
    <thetext>Created attachment 133072
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592446</commentid>
    <comment_count>6</comment_count>
      <attachid>134868</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-03-30 13:23:37 -0700</bug_when>
    <thetext>Created attachment 134868
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>592859</commentid>
    <comment_count>7</comment_count>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-03-31 07:07:32 -0700</bug_when>
    <thetext>Ping review, guys?! Thanks!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593011</commentid>
    <comment_count>8</comment_count>
      <attachid>134868</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2012-04-01 04:42:09 -0700</bug_when>
    <thetext>Comment on attachment 134868
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:810
&gt; +    PageVisibilityState visibilityState = PageVisibilityStateHidden;
&gt; +
&gt; +    if (flags &amp; ViewIsInPrerender)
&gt; +        visibilityState = PageVisibilityStatePrerender;
&gt; +    else if (m_pageClient-&gt;isViewVisible()) {
&gt; +        resumeActiveDOMObjectsAndAnimations();
&gt; +        visibilityState = PageVisibilityStateVisible;
&gt; +    }
&gt; +
&gt; +    if (visibilityState != m_visibilityState) {
&gt; +        m_visibilityState = visibilityState;
&gt; +        process()-&gt;send(Messages::WebPage::SetVisibilityState(visibilityState, false), m_pageID);
&gt; +    }

would it make sense to resume on the web process side as part of SetVisibilityState ?

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3163
&gt; +void WebPage::setVisibilityState(int visibilityState, bool isInitialState)
&gt; +{
&gt; +    if (!m_page)
&gt; +        return;
&gt; +    m_page-&gt;setVisibilityState(static_cast&lt;WebCore::PageVisibilityState&gt;(visibilityState), isInitialState);
&gt; +}

Should the initial state be set after we crash? Couldn&apos;t this be done more &quot;automatically&quot;. Why does it matter anyway?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593021</commentid>
    <comment_count>9</comment_count>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-04-01 05:43:06 -0700</bug_when>
    <thetext>When setting the page visibility, please also use take advantage of the new visibility info to set the FrameView visibility (inherited from Widget).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593031</commentid>
    <comment_count>10</comment_count>
      <attachid>134868</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2012-04-01 06:29:48 -0700</bug_when>
    <thetext>Comment on attachment 134868
Patch

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

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:813
&gt; +        suspendActiveDOMObjectsAndAnimations();

I don&apos;t think suspendActiveDOMObjectsAndAnimations makes sense in this context. The use case for page visibility API is specifically that web-pages can adjust their timers to make fewer updates.

Instead use Page::willMoveOffscreen which only disables animations but not active DOM objects.
I also think it makes sense to calls ScrollView::hide() which tells the rendering logic that the page is no longer being rendered.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>593894</commentid>
    <comment_count>11</comment_count>
      <attachid>134868</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-04-02 15:03:40 -0700</bug_when>
    <thetext>Comment on attachment 134868
Patch

I will comment on all comments here so we can discuss the raised points and so I&apos;m clearing the review flag for now.


(In reply to comment #8)
&gt; Should the initial state be set after we crash? Couldn&apos;t this be done more &quot;automatically&quot;. Why does it matter anyway?

I guess Page is already setting the initial state anyway, so I will have a better look at this. IMHO, it&apos;s not needed.


(In reply to comment #9)
&gt; When setting the page visibility, please also use take advantage of the new visibility info to set the FrameView visibility (inherited from Widget).

Perhaps we should first land this more &quot;raw&quot; implementation for Page Visibility in WK2, which is pretty close to how it&apos;s is implemented in WK1. After that we can have a follow-up patch that can play around with the FrameView visibility, Page::willMoveOffscreen, ScrollView::hide(), etc, as they all need to be investigated and are actually improvements that will take advantage of the visibility state of WebPage after we have settled down what is needed for the Page Visibility API implementation itself. We can leave suspend/resume of activeDOMObjects out for now as well.


(In reply to comment #10)
&gt; I don&apos;t think suspendActiveDOMObjectsAndAnimations makes sense in this context. The use case for page visibility API is specifically that web-pages can adjust their timers to make fewer updates.
&gt; 
&gt; Instead use Page::willMoveOffscreen which only disables animations but not active DOM objects.
&gt; I also think it makes sense to calls ScrollView::hide() which tells the rendering logic that the page is no longer being rendered.

Ditto.


What do you guys think?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>594515</commentid>
    <comment_count>12</comment_count>
      <attachid>135335</attachid>
    <who name="Jesus Sanchez-Palencia">jesus</who>
    <bug_when>2012-04-03 08:40:03 -0700</bug_when>
    <thetext>Created attachment 135335
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595470</commentid>
    <comment_count>13</comment_count>
      <attachid>135335</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 06:10:42 -0700</bug_when>
    <thetext>Comment on attachment 135335
Patch

Clearing flags on attachment: 135335

Committed r113181: &lt;http://trac.webkit.org/changeset/113181&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>595471</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-04-04 06:10:50 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>131928</attachid>
            <date>2012-03-14 15:15:01 -0700</date>
            <delta_ts>2012-03-21 10:40:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81154-20120314191426.patch</filename>
            <type>text/plain</type>
            <size>5568</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEwNzM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMjczNDJiZmUzYWFlYzgz
OWYzOTQwZDUxMDAzY2UyNmEzNzczOGZmOC4uNTA1NDFmZjMxOWUxNTNiN2JlYWYyZDlhNjZjNzQw
NzIzY2FkMjIxMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAzLTE0ICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbV0syXSBBZGQgUGFnZSBWaXNpYmlsaXR5IEFQSSBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTE1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBXZWJQYWdlUHJveHk6OnNldFZp
c2liaWxpdHlTdGF0ZSBzbyB0aGUgV2ViVmlld3MKKyAgICAgICAgb3IgYW55IG90aGVyIGVudGl0
eSBmcm9tIFdlYktpdDIncyBBUEkgbGF5ZXIgYXJlIGFibGUgdG8KKyAgICAgICAgaW1wbGVtZW50
IHdoYXQgaXMgbmVlZGVkIHRvIHN1cHBvcnQgdGhlIFBhZ2UgVmlzaWJpbGl0eSBBUEkuCisKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFnZVByb3h5OjpXZWJQYWdlUHJveHkpOgorICAgICAgICAoV2ViS2l0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZVByb3h5OjpzZXRWaXNpYmlsaXR5U3RhdGUpOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKFdlYlBhZ2VQcm94eSk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhZ2VQcm94eTo6dmlzaWJpbGl0eVN0YXRlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJQYWdlOjpzZXRWaXNpYmlsaXR5U3RhdGUpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxMi0wMy0xNCAgQW5kZXJzIENh
cmxzc29uICA8YW5kZXJzY2FAYXBwbGUuY29tPgogCiAgICAgICAgIEZpeCBVSSBwcm9jZXNzIGNy
YXNoIHdoZW4gYSBwbHVnLWluIHByb2Nlc3MgY3Jhc2hlcyB3aXRoIGEgbW9kYWwgZGlhbG9nIHNo
b3dpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggYzNh
Yjg2MzgwOTE1ZjhlYzYzYzhhYzk3OTA3YjFiZGNkMWZiMTBlMS4uYzdlM2VhMWJjMmUwNjdlMmNh
YzEwMGViOWFjMmMxNTRjMzQ5NmE2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTIwNCw2ICsyMDQsOSBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94
eShQYWdlQ2xpZW50KiBwYWdlQ2xpZW50LCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4gcAog
ICAgICwgbV9yZW5kZXJUcmVlU2l6ZSgwKQogICAgICwgbV9zaG91bGRTZW5kRXZlbnRzU3luY2hy
b25vdXNseShmYWxzZSkKICAgICAsIG1fbWVkaWFWb2x1bWUoMSkKKyNpZiBFTkFCTEUoUEFHRV9W
SVNJQklMSVRZX0FQSSkKKyAgICAsIG1fdmlzaWJpbGl0eVN0YXRlKFBhZ2VWaXNpYmlsaXR5U3Rh
dGVWaXNpYmxlKQorI2VuZGlmCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIHdlYlBhZ2VQcm94eUNv
dW50ZXIuaW5jcmVtZW50KCk7CkBAIC03NDQsNiArNzQ3LDE3IEBAIHZvaWQgV2ViUGFnZVByb3h5
OjpzY3JvbGxWaWV3KGNvbnN0IEludFJlY3QmIHNjcm9sbFJlY3QsIGNvbnN0IEludFNpemUmIHNj
cm9sbE9mCiAgICAgbV9wYWdlQ2xpZW50LT5zY3JvbGxWaWV3KHNjcm9sbFJlY3QsIHNjcm9sbE9m
ZnNldCk7CiB9CiAKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKK3ZvaWQgV2ViUGFn
ZVByb3h5OjpzZXRWaXNpYmlsaXR5U3RhdGUoUGFnZVZpc2liaWxpdHlTdGF0ZSB2aXNpYmlsaXR5
U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUpCit7CisgICAgaWYgKHZpc2liaWxpdHlTdGF0ZSA9
PSBtX3Zpc2liaWxpdHlTdGF0ZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV92aXNpYmlsaXR5
U3RhdGUgPSB2aXNpYmlsaXR5U3RhdGU7CisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlOjpTZXRWaXNpYmlsaXR5U3RhdGUodmlzaWJpbGl0eVN0YXRlLCBpc0luaXRpYWxTdGF0
ZSksIG1fcGFnZUlEKTsKK30KKyNlbmRpZgorCiB2b2lkIFdlYlBhZ2VQcm94eTo6dmlld1N0YXRl
RGlkQ2hhbmdlKFZpZXdTdGF0ZUZsYWdzIGZsYWdzKQogewogICAgIGlmICghaXNWYWxpZCgpKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IDM1ZWEzZmMxNDI1ZTgx
ZjQ2OWU1NzEyMzM4ZTM2MzAwNjc1M2E5YzAuLjVlN2JkMGYwOTI2MTQ4NGFjMGM1YjM1ZWY0OWRk
ZDM4YjM3MWY3OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTY0MSw2ICs2NDEsMTAgQEAgcHVibGljOgogICAgIC8vIFdlYlBvcHVwTWVudVByb3h5OjpDbGll
bnQKICAgICB2aXJ0dWFsIE5hdGl2ZVdlYk1vdXNlRXZlbnQqIGN1cnJlbnRseVByb2Nlc3NlZE1v
dXNlRG93bkV2ZW50KCk7CiAKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICBX
ZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlIHZpc2liaWxpdHlTdGF0ZSgpIGNvbnN0IHsgcmV0
dXJuIG1fdmlzaWJpbGl0eVN0YXRlOyB9CisgICAgdm9pZCBzZXRWaXNpYmlsaXR5U3RhdGUoV2Vi
Q29yZTo6UGFnZVZpc2liaWxpdHlTdGF0ZSwgYm9vbCBpc0luaXRpYWxTdGF0ZSA9IGZhbHNlKTsK
KyNlbmRpZgogcHJpdmF0ZToKICAgICBXZWJQYWdlUHJveHkoUGFnZUNsaWVudCosIFBhc3NSZWZQ
dHI8V2ViUHJvY2Vzc1Byb3h5PiwgV2ViUGFnZUdyb3VwKiwgdWludDY0X3QgcGFnZUlEKTsKIApA
QCAtMTA1Nyw2ICsxMDYxLDEwIEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oUVQpCiAgICAgV1RG
OjpIYXNoU2V0PFJlZlB0cjxRdFJlZkNvdW50ZWROZXR3b3JrUmVxdWVzdERhdGE+ID4gbV9hcHBs
aWNhdGlvblNjaGVtZVJlcXVlc3RzOwogI2VuZGlmCisKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklM
SVRZX0FQSSkKKyAgICBXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlIG1fdmlzaWJpbGl0eVN0
YXRlOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBlMzk3YTAyNmYwZTlkZmQ5
M2M4MTE1NjQzMDI4YTQ5NjlmYmNiOTY4Li5kMDRjOTFlYjkzZjRhZDFhZWFkYmI5N2QyNDk2ZTIx
YmE4ODcwZDIyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwCkBAIC0zMDk2LDQgKzMwOTYsMTMgQEAgRnJhbWVWaWV3KiBXZWJQYWdlOjptYWluRnJh
bWVWaWV3KCkgY29uc3QKICAgICByZXR1cm4gMDsKIH0KIAorI2lmIEVOQUJMRShQQUdFX1ZJU0lC
SUxJVFlfQVBJKQordm9pZCBXZWJQYWdlOjpzZXRWaXNpYmlsaXR5U3RhdGUoaW50IHZpc2liaWxp
dHlTdGF0ZSwgYm9vbCBpc0luaXRpYWxTdGF0ZSkKK3sKKyAgICBpZiAoIW1fcGFnZSkKKyAgICAg
ICAgcmV0dXJuOworICAgIG1fcGFnZS0+c2V0VmlzaWJpbGl0eVN0YXRlKHN0YXRpY19jYXN0PFdl
YkNvcmU6OlBhZ2VWaXNpYmlsaXR5U3RhdGU+KHZpc2liaWxpdHlTdGF0ZSksIGlzSW5pdGlhbFN0
YXRlKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCmluZGV4IDE5ODFlMTQzZDc1OGE2ZTRmNDEx
ZDA2ZmZlMGIxYzExZTQ1ZmU0MzguLjRkZTJiNTA3YmZjMTZlYTViZjZkMGNjNWQ1NDQ0ODEwMjFl
NTg5MzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaApA
QCAtNTA3LDcgKzUwNywxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCByZWNvbXB1dGVTaG9ydENpcmN1
aXRIb3Jpem9udGFsV2hlZWxFdmVudHNTdGF0ZSgpOwogCiAgICAgYm9vbCB3aWxsR29Ub0JhY2tG
b3J3YXJkSXRlbUNhbGxiYWNrRW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fd2lsbEdvVG9CYWNr
Rm9yd2FyZEl0ZW1DYWxsYmFja0VuYWJsZWQ7IH0KLSAgICAKKworI2lmIEVOQUJMRShQQUdFX1ZJ
U0lCSUxJVFlfQVBJKQorICAgIHZvaWQgc2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmlsaXR5
U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgV2Vi
UGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmKTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5t
ZXNzYWdlcy5pbgppbmRleCBjMjBiMGQ5YmI1NWYxY2Y3M2E1YzY2M2VjMWY2YjgzMDA4MzE3MWE1
Li43ZjRjOWFlZTM0ODNlMGVhMDE1MGQ4NjAzYjZlZjEyNjE0ODg1ZjBiIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbgpA
QCAtMjYyLDQgKzI2Miw4IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2UgewogI2lmIFBMQVRGT1JNKE1B
QykgJiYgIWRlZmluZWQoQlVJTERJTkdfT05fU05PV19MRU9QQVJEKQogICAgIEhhbmRsZUNvcnJl
Y3Rpb25QYW5lbFJlc3VsdChTdHJpbmcgcmVzdWx0KQogI2VuZGlmCisKKyNpZiBFTkFCTEUoUEFH
RV9WSVNJQklMSVRZX0FQSSkKKyAgICBTZXRWaXNpYmlsaXR5U3RhdGUoaW50IHZpc2liaWxpdHlT
dGF0ZSwgYm9vbCBpc0luaXRpYWxTdGF0ZSk7CisjZW5kaWYKIH0K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>133072</attachid>
            <date>2012-03-21 10:41:04 -0700</date>
            <delta_ts>2012-03-30 13:23:31 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81154-20120321144030.patch</filename>
            <type>text/plain</type>
            <size>5857</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTExNTM0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOTQ5NmFhZTQzM2Y1NzEx
ZDNmMTEzMWVhZWYwZmVhZGYxN2VmMmVmMy4uMDZhNThmNTZjODdhOWMzOTU0OWZmOWZkZTFlNWQ1
MWRlMzc3YWE3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI4IEBACisyMDEyLTAzLTIyICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbV0syXSBBZGQgUGFnZSBWaXNpYmlsaXR5IEFQSSBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTE1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBXZWJQYWdlUHJveHk6OnZpZXdT
dGF0ZURpZENoYW5nZSB0byBjb3JyZWN0bHkgZGVmaW5lIHRoZSBwYWdlJ3MKKyAgICAgICAgdmlz
aWJpbGl0eVN0YXRlIGFuZCB0aGVuIHNldCBpdCB0byB0aGUgV2ViUHJvY2Vzcy4gVGhlIFdlYktp
dDIncyBiYXNlZAorICAgICAgICBwb3J0cyBqdXN0IG5lZWQgdG8gaW1wbGVtZW50IHRoZSByZWxh
dGVkIFBhZ2VDbGllbnQgZnVuY3Rpb25zIGluIG9yZGVyCisgICAgICAgIHRvIGdldCB0aGlzIEFQ
SSBlbmFibGVkIGFuZCB3b3JraW5nIHByb3Blcmx5LgorCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVBy
b3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojppbml0aWFsaXplV2ViUGFnZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dmlld1N0YXRlRGlkQ2hhbmdlKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAgICAgIChXZWJQYWdlUHJveHkp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdl
YktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFZpc2liaWxpdHlTdGF0ZSk6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoKKyAgICAgICAgKFdlYlBhZ2Up
OgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluOgorCiAy
MDEyLTAzLTIxICBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbiAgPGtlbm5ldGhAd2Via2l0Lm9y
Zz4KIAogICAgICAgICBUaGUgYWN0aXZhdGlvbiBoaWdobGlnaHQgZG9lcyBub3QgYWx3YXlzIGhp
ZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3Bw
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggMjk2NmE3
ODIyOGI2YjY2ZjUwYWFhNWJmZjgyMGFmNDAzOTM4MTBjNC4uNDNiYWM3N2RjNDgxMGNjODEyYzU4
NTEyZjBiNzZmMzk0YzBlZDEyMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKQEAgLTIwNCw2ICsyMDQsOSBAQCBXZWJQYWdlUHJveHk6OldlYlBhZ2VQcm94eShQ
YWdlQ2xpZW50KiBwYWdlQ2xpZW50LCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94eT4gcAogICAg
ICwgbV9yZW5kZXJUcmVlU2l6ZSgwKQogICAgICwgbV9zaG91bGRTZW5kRXZlbnRzU3luY2hyb25v
dXNseShmYWxzZSkKICAgICAsIG1fbWVkaWFWb2x1bWUoMSkKKyNpZiBFTkFCTEUoUEFHRV9WSVNJ
QklMSVRZX0FQSSkKKyAgICAsIG1fdmlzaWJpbGl0eVN0YXRlKFBhZ2VWaXNpYmlsaXR5U3RhdGVW
aXNpYmxlKQorI2VuZGlmCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIHdlYlBhZ2VQcm94eUNvdW50
ZXIuaW5jcmVtZW50KCk7CkBAIC0zNDAsNiArMzQzLDEwIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpp
bml0aWFsaXplV2ViUGFnZSgpCiAgICAgQVNTRVJUKG1fZHJhd2luZ0FyZWEpOwogCiAgICAgcHJv
Y2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNzOjpDcmVhdGVXZWJQYWdlKG1fcGFnZUlE
LCBjcmVhdGlvblBhcmFtZXRlcnMoKSksIDApOworCisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElU
WV9BUEkpCisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRWaXNpYmls
aXR5U3RhdGUobV92aXNpYmlsaXR5U3RhdGUsIC8qIGlzSW5pdGlhbFN0YXRlICovIHRydWUpLCBt
X3BhZ2VJRCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQYWdlUHJveHk6OmNsb3NlKCkKQEAgLTc4
NSw2ICs3OTIsMjAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OnZpZXdTdGF0ZURpZENoYW5nZShWaWV3
U3RhdGVGbGFncyBmbGFncykKICAgICAgICAgfQogICAgIH0KIAorI2lmIEVOQUJMRShQQUdFX1ZJ
U0lCSUxJVFlfQVBJKQorICAgIFBhZ2VWaXNpYmlsaXR5U3RhdGUgdmlzaWJpbGl0eVN0YXRlID0g
UGFnZVZpc2liaWxpdHlTdGF0ZUhpZGRlbjsKKworICAgIGlmIChmbGFncyAmIFZpZXdJc0luUHJl
cmVuZGVyKQorICAgICAgICB2aXNpYmlsaXR5U3RhdGUgPSBQYWdlVmlzaWJpbGl0eVN0YXRlUHJl
cmVuZGVyOworICAgIGVsc2UgaWYgKG1fcGFnZUNsaWVudC0+aXNWaWV3VmlzaWJsZSgpKQorICAg
ICAgICB2aXNpYmlsaXR5U3RhdGUgPSBQYWdlVmlzaWJpbGl0eVN0YXRlVmlzaWJsZTsKKworICAg
IGlmICh2aXNpYmlsaXR5U3RhdGUgIT0gbV92aXNpYmlsaXR5U3RhdGUpIHsKKyAgICAgICAgbV92
aXNpYmlsaXR5U3RhdGUgPSB2aXNpYmlsaXR5U3RhdGU7CisgICAgICAgIHByb2Nlc3MoKS0+c2Vu
ZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VmlzaWJpbGl0eVN0YXRlKHZpc2liaWxpdHlTdGF0ZSwg
ZmFsc2UpLCBtX3BhZ2VJRCk7CisgICAgfQorI2VuZGlmCisKICAgICB1cGRhdGVCYWNraW5nU3Rv
cmVEaXNjYXJkYWJsZVN0YXRlKCk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAppbmRleCAwY2FlMmY3MDVmNThjMDQxOTFlMjdlYWFlODk1YmFjNzgzOWY2NDVmLi5k
YzNkZmVhYjJlMDgxNmFlNDVlOTM3OTE0Nzc4ZWY1YWQ1Zjc4Yzk0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCkBAIC0zMDUsNiArMzA1LDcgQEAgcHVibGljOgogICAg
ICAgICBWaWV3SXNGb2N1c2VkID0gMSA8PCAxLAogICAgICAgICBWaWV3SXNWaXNpYmxlID0gMSA8
PCAyLAogICAgICAgICBWaWV3SXNJbldpbmRvdyA9IDEgPDwgMywKKyAgICAgICAgVmlld0lzSW5Q
cmVyZW5kZXIgPSAxIDw8IDQsCiAgICAgfTsKICAgICB0eXBlZGVmIHVuc2lnbmVkIFZpZXdTdGF0
ZUZsYWdzOwogICAgIHZvaWQgdmlld1N0YXRlRGlkQ2hhbmdlKFZpZXdTdGF0ZUZsYWdzIGZsYWdz
KTsKQEAgLTEwNTcsNiArMTA1OCwxMCBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKFFUKQogICAg
IFdURjo6SGFzaFNldDxSZWZQdHI8UXRSZWZDb3VudGVkTmV0d29ya1JlcXVlc3REYXRhPiA+IG1f
YXBwbGljYXRpb25TY2hlbWVSZXF1ZXN0czsKICNlbmRpZgorCisjaWYgRU5BQkxFKFBBR0VfVklT
SUJJTElUWV9BUEkpCisgICAgV2ViQ29yZTo6UGFnZVZpc2liaWxpdHlTdGF0ZSBtX3Zpc2liaWxp
dHlTdGF0ZTsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNmI4MjQ2M2NjNmFm
MzJjNjI0MDNkYmU1NGQyMWMwYmZmN2JjZGZkYy4uNmIxNGQ5NjMyMWZhNmJlN2IyNDU0OWVjNDli
ODNkZThhYzJmNjA3NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcApAQCAtMzEyOCw0ICszMTI4LDEzIEBAIEZyYW1lVmlldyogV2ViUGFnZTo6bWFp
bkZyYW1lVmlldygpIGNvbnN0CiAgICAgcmV0dXJuIDA7CiB9CiAKKyNpZiBFTkFCTEUoUEFHRV9W
SVNJQklMSVRZX0FQSSkKK3ZvaWQgV2ViUGFnZTo6c2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNp
YmlsaXR5U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUpCit7CisgICAgaWYgKCFtX3BhZ2UpCisg
ICAgICAgIHJldHVybjsKKyAgICBtX3BhZ2UtPnNldFZpc2liaWxpdHlTdGF0ZShzdGF0aWNfY2Fz
dDxXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRlPih2aXNpYmlsaXR5U3RhdGUpLCBpc0luaXRp
YWxTdGF0ZSk7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAppbmRleCA0NzRiNTY1OThkNWZiMWE3
MTIyNGYwNGY3MDA1NDdmNDA3YmYyMTM5Li45MzNlNDNkOTQ4NDY3ZDFmMWMzZWE2MTk5YWNmNjlh
NmY0ZTU1NzBlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKQEAgLTUwOCw3ICs1MDgsMTEgQEAgcHVibGljOgogICAgIHZvaWQgcmVjb21wdXRlU2hvcnRD
aXJjdWl0SG9yaXpvbnRhbFdoZWVsRXZlbnRzU3RhdGUoKTsKIAogICAgIGJvb2wgd2lsbEdvVG9C
YWNrRm9yd2FyZEl0ZW1DYWxsYmFja0VuYWJsZWQoKSBjb25zdCB7IHJldHVybiBtX3dpbGxHb1Rv
QmFja0ZvcndhcmRJdGVtQ2FsbGJhY2tFbmFibGVkOyB9Ci0gICAgCisKKyNpZiBFTkFCTEUoUEFH
RV9WSVNJQklMSVRZX0FQSSkKKyAgICB2b2lkIHNldFZpc2liaWxpdHlTdGF0ZShpbnQgdmlzaWJp
bGl0eVN0YXRlLCBib29sIGlzSW5pdGlhbFN0YXRlKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAg
IFdlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
Jik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UubWVzc2FnZXMuaW4KaW5kZXggODRhMWUwNWJjNmVhMGNhMTgwZmUwNmU0OGJhNDY2ZTkzNWU4
Nzc3Zi4uMzliMGMzYzVmMjRhZjU0ODA4NDhmZDgxYjdhNTAzZWQ4NDFlZmUxNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4K
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMu
aW4KQEAgLTI2MSw0ICsyNjEsOCBAQCBtZXNzYWdlcyAtPiBXZWJQYWdlIHsKICNpZiBQTEFURk9S
TShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09OX1NOT1dfTEVPUEFSRCkKICAgICBIYW5kbGVD
b3JyZWN0aW9uUGFuZWxSZXN1bHQoU3RyaW5nIHJlc3VsdCkKICNlbmRpZgorCisjaWYgRU5BQkxF
KFBBR0VfVklTSUJJTElUWV9BUEkpCisgICAgU2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmls
aXR5U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUpOworI2VuZGlmCiB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>134868</attachid>
            <date>2012-03-30 13:23:37 -0700</date>
            <delta_ts>2012-04-03 08:39:56 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81154-20120330172301.patch</filename>
            <type>text/plain</type>
            <size>6158</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEyNjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMWFjMzcxYjQyNmQ2Y2Ni
ZmM4YzE2M2E0YjJlZjE5NWQ0YzMwOGE1MS4uOGRiZGRmNTIzYThlNjJmNTVkYjhkYmQ5MGU4Mjcx
NWM1MmZjNWQ2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMwIEBACisyMDEyLTAzLTMwICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbV0syXSBBZGQgUGFnZSBWaXNpYmlsaXR5IEFQSSBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTE1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBXZWJQYWdlUHJveHk6OnZpZXdT
dGF0ZURpZENoYW5nZSB0byBjb3JyZWN0bHkgZGVmaW5lIHRoZSBwYWdlJ3MKKyAgICAgICAgdmlz
aWJpbGl0eVN0YXRlIGFuZCB0aGVuIHNldCBpdCB0byB0aGUgV2ViUHJvY2Vzcy4gVGhlIFdlYktp
dDIncyBiYXNlZAorICAgICAgICBwb3J0cyBqdXN0IG5lZWQgdG8gaW1wbGVtZW50IHRoZSByZWxh
dGVkIFBhZ2VDbGllbnQgZnVuY3Rpb25zIGluIG9yZGVyCisgICAgICAgIHRvIGdldCB0aGlzIEFQ
SSBlbmFibGVkIGFuZCB3b3JraW5nIHByb3Blcmx5LiBXZSBhbHNvIHN1c3BlbmQgYW5kIHJlc3Vt
ZQorICAgICAgICBBY3RpdmUgRE9NIE9iamVjdHMgYW5kIGFuaW1hdGlvbnMgYWNjb3JkaW5nbHks
IGJ5IHVzaW5nIHRoZSBTdXNwZW5kL1Jlc3VtZQorICAgICAgICBBUEkgb2YgV0syLgorCisgICAg
ICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Z2VQcm94eTo6V2ViUGFnZVByb3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojpp
bml0aWFsaXplV2ViUGFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dmlld1N0
YXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5Lmg6CisgICAg
ICAgIChXZWJQYWdlUHJveHkpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcDoKKyAgICAgICAgKFdlYktpdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNldFZp
c2liaWxpdHlTdGF0ZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaDoK
KyAgICAgICAgKFdlYlBhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
Lm1lc3NhZ2VzLmluOgorCiAyMDEyLTAzLTMwICBBbGxhbiBTYW5kZmVsZCBKZW5zZW4gIDxhbGxh
bi5qZW5zZW5Abm9raWEuY29tPgogCiAgICAgICAgIFtRdF0gRmluZCB6b29tYWJsZSBhcmVhIHVz
aW5nIGFyZWEtYmFzZWQgaGl0LXRlc3RpbmcKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKaW5kZXggMGFlZGEwZWI1OTkxYTI4MTA2ODAxMTk2OGY4NzIxNzUxNDU0YTA0
Ny4uYjBhOWU3NWRmMzRkMDYxNDIyZDc2ODkxNTZjYWVmNmRhZGY3NDRlOSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIwNCw2ICsyMDQsOSBAQCBXZWJQ
YWdlUHJveHk6OldlYlBhZ2VQcm94eShQYWdlQ2xpZW50KiBwYWdlQ2xpZW50LCBQYXNzUmVmUHRy
PFdlYlByb2Nlc3NQcm94eT4gcAogICAgICwgbV9yZW5kZXJUcmVlU2l6ZSgwKQogICAgICwgbV9z
aG91bGRTZW5kRXZlbnRzU3luY2hyb25vdXNseShmYWxzZSkKICAgICAsIG1fbWVkaWFWb2x1bWUo
MSkKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICAsIG1fdmlzaWJpbGl0eVN0
YXRlKFBhZ2VWaXNpYmlsaXR5U3RhdGVWaXNpYmxlKQorI2VuZGlmCiB7CiAjaWZuZGVmIE5ERUJV
RwogICAgIHdlYlBhZ2VQcm94eUNvdW50ZXIuaW5jcmVtZW50KCk7CkBAIC0zNDAsNiArMzQzLDEw
IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojppbml0aWFsaXplV2ViUGFnZSgpCiAgICAgQVNTRVJUKG1f
ZHJhd2luZ0FyZWEpOwogCiAgICAgcHJvY2VzcygpLT5zZW5kKE1lc3NhZ2VzOjpXZWJQcm9jZXNz
OjpDcmVhdGVXZWJQYWdlKG1fcGFnZUlELCBjcmVhdGlvblBhcmFtZXRlcnMoKSksIDApOworCisj
aWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCisgICAgcHJvY2VzcygpLT5zZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpTZXRWaXNpYmlsaXR5U3RhdGUobV92aXNpYmlsaXR5U3RhdGUsIC8qIGlz
SW5pdGlhbFN0YXRlICovIHRydWUpLCBtX3BhZ2VJRCk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQ
YWdlUHJveHk6OmNsb3NlKCkKQEAgLTc4Nyw2ICs3OTQsMjUgQEAgdm9pZCBXZWJQYWdlUHJveHk6
OnZpZXdTdGF0ZURpZENoYW5nZShWaWV3U3RhdGVGbGFncyBmbGFncykKICAgICAgICAgfQogICAg
IH0KIAorI2lmIEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKQorICAgIFBhZ2VWaXNpYmlsaXR5
U3RhdGUgdmlzaWJpbGl0eVN0YXRlID0gUGFnZVZpc2liaWxpdHlTdGF0ZUhpZGRlbjsKKworICAg
IGlmIChmbGFncyAmIFZpZXdJc0luUHJlcmVuZGVyKQorICAgICAgICB2aXNpYmlsaXR5U3RhdGUg
PSBQYWdlVmlzaWJpbGl0eVN0YXRlUHJlcmVuZGVyOworICAgIGVsc2UgaWYgKG1fcGFnZUNsaWVu
dC0+aXNWaWV3VmlzaWJsZSgpKSB7CisgICAgICAgIHJlc3VtZUFjdGl2ZURPTU9iamVjdHNBbmRB
bmltYXRpb25zKCk7CisgICAgICAgIHZpc2liaWxpdHlTdGF0ZSA9IFBhZ2VWaXNpYmlsaXR5U3Rh
dGVWaXNpYmxlOworICAgIH0KKworICAgIGlmICh2aXNpYmlsaXR5U3RhdGUgIT0gbV92aXNpYmls
aXR5U3RhdGUpIHsKKyAgICAgICAgbV92aXNpYmlsaXR5U3RhdGUgPSB2aXNpYmlsaXR5U3RhdGU7
CisgICAgICAgIHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VmlzaWJpbGl0
eVN0YXRlKHZpc2liaWxpdHlTdGF0ZSwgZmFsc2UpLCBtX3BhZ2VJRCk7CisgICAgfQorCisgICAg
aWYgKHZpc2liaWxpdHlTdGF0ZSA9PSBQYWdlVmlzaWJpbGl0eVN0YXRlSGlkZGVuKQorICAgICAg
ICBzdXNwZW5kQWN0aXZlRE9NT2JqZWN0c0FuZEFuaW1hdGlvbnMoKTsKKyNlbmRpZgorCiAgICAg
dXBkYXRlQmFja2luZ1N0b3JlRGlzY2FyZGFibGVTdGF0ZSgpOwogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggNjgzMWYzOTQ5YzEyYjJlOTkxZTMwNjRiZTIy
NmFlZDIzMWJhMWZlNC4uMzEzZjhhOTVjNGM2NmEyMGU3Y2NhNDU4Mzc5NWQ3MWY4MzAwYTE1YSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaApAQCAtMzA1LDYgKzMwNSw3
IEBAIHB1YmxpYzoKICAgICAgICAgVmlld0lzRm9jdXNlZCA9IDEgPDwgMSwKICAgICAgICAgVmll
d0lzVmlzaWJsZSA9IDEgPDwgMiwKICAgICAgICAgVmlld0lzSW5XaW5kb3cgPSAxIDw8IDMsCisg
ICAgICAgIFZpZXdJc0luUHJlcmVuZGVyID0gMSA8PCA0LAogICAgIH07CiAgICAgdHlwZWRlZiB1
bnNpZ25lZCBWaWV3U3RhdGVGbGFnczsKICAgICB2b2lkIHZpZXdTdGF0ZURpZENoYW5nZShWaWV3
U3RhdGVGbGFncyBmbGFncyk7CkBAIC0xMDU2LDYgKzEwNTcsMTAgQEAgcHJpdmF0ZToKICNpZiBQ
TEFURk9STShRVCkKICAgICBXVEY6Okhhc2hTZXQ8UmVmUHRyPFF0UmVmQ291bnRlZE5ldHdvcmtS
ZXF1ZXN0RGF0YT4gPiBtX2FwcGxpY2F0aW9uU2NoZW1lUmVxdWVzdHM7CiAjZW5kaWYKKworI2lm
IEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKQorICAgIFdlYkNvcmU6OlBhZ2VWaXNpYmlsaXR5
U3RhdGUgbV92aXNpYmlsaXR5U3RhdGU7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDhlYmQ4MWMyZWNhYTM0MTgxZDk0NjQ4MTIwZWU5Y2VkNGU3OTdkNzIuLjc3NGIzYmU2NGFi
YjYwYmU5NTQ4YzkyYmRlMDZiY2IwMWMzMGJiMjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMxNTQsNCArMzE1NCwxMyBAQCBGcmFtZVZp
ZXcqIFdlYlBhZ2U6Om1haW5GcmFtZVZpZXcoKSBjb25zdAogICAgIHJldHVybiAwOwogfQogCisj
aWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCit2b2lkIFdlYlBhZ2U6OnNldFZpc2liaWxp
dHlTdGF0ZShpbnQgdmlzaWJpbGl0eVN0YXRlLCBib29sIGlzSW5pdGlhbFN0YXRlKQoreworICAg
IGlmICghbV9wYWdlKQorICAgICAgICByZXR1cm47CisgICAgbV9wYWdlLT5zZXRWaXNpYmlsaXR5
U3RhdGUoc3RhdGljX2Nhc3Q8V2ViQ29yZTo6UGFnZVZpc2liaWxpdHlTdGF0ZT4odmlzaWJpbGl0
eVN0YXRlKSwgaXNJbml0aWFsU3RhdGUpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXgg
NmE4NTJkNGUzMDk1MmE0NjMxNGJhNGNlNzUyZTJmMGZhYzE3OTZlMC4uZGQxNTM1ZTc3YTI1ZTRh
N2I3MDQzMWZkZGZhZTRlNGQxYTc5ZGRiNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01MTIsNyArNTEyLDExIEBAIHB1YmxpYzoKICAgICB2b2lk
IHJlY29tcHV0ZVNob3J0Q2lyY3VpdEhvcml6b250YWxXaGVlbEV2ZW50c1N0YXRlKCk7CiAKICAg
ICBib29sIHdpbGxHb1RvQmFja0ZvcndhcmRJdGVtQ2FsbGJhY2tFbmFibGVkKCkgY29uc3QgeyBy
ZXR1cm4gbV93aWxsR29Ub0JhY2tGb3J3YXJkSXRlbUNhbGxiYWNrRW5hYmxlZDsgfQotICAgIAor
CisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCisgICAgdm9pZCBzZXRWaXNpYmlsaXR5
U3RhdGUoaW50IHZpc2liaWxpdHlTdGF0ZSwgYm9vbCBpc0luaXRpYWxTdGF0ZSk7CisjZW5kaWYK
KwogcHJpdmF0ZToKICAgICBXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNy
ZWF0aW9uUGFyYW1ldGVycyYpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4IDg5OWU3NTljNjRmNzZhYWFiZThk
NGJlOTBiYzdiY2U3YTg1Y2Y1NjUuLjExMWJmMjExMTk0OWUwYWNmZjJkNzIzNWZjMTVhZWZkYmYw
YmQ4ZDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0yNjAsNCArMjYwLDggQEAgbWVzc2FnZXMgLT4gV2ViUGFn
ZSB7CiAjaWYgUExBVEZPUk0oTUFDKSAmJiAhZGVmaW5lZChCVUlMRElOR19PTl9TTk9XX0xFT1BB
UkQpCiAgICAgSGFuZGxlQ29ycmVjdGlvblBhbmVsUmVzdWx0KFN0cmluZyByZXN1bHQpCiAjZW5k
aWYKKworI2lmIEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKQorICAgIFNldFZpc2liaWxpdHlT
dGF0ZShpbnQgdmlzaWJpbGl0eVN0YXRlLCBib29sIGlzSW5pdGlhbFN0YXRlKTsKKyNlbmRpZgog
fQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>135335</attachid>
            <date>2012-04-03 08:40:03 -0700</date>
            <delta_ts>2012-04-04 06:10:42 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-81154-20120403123928.patch</filename>
            <type>text/plain</type>
            <size>5428</size>
            <attacher name="Jesus Sanchez-Palencia">jesus</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTEzMDM1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZTBhZTU4OTc1NjU2OWIx
NTAzMmJmODc3MTc1MWQ0ZWQ1YmFkOGQwZC4uMWViNjRiZTNhOGNmMzYzZGU1ZWMwOWNhNDg4ZTU3
OWQ3NDY5MDdjMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI2IEBACisyMDEyLTA0LTAzICBKZXN1
cyBTYW5jaGV6LVBhbGVuY2lhICA8amVzdXMucGFsZW5jaWFAb3BlbmJvc3NhLm9yZz4KKworICAg
ICAgICBbV0syXSBBZGQgUGFnZSBWaXNpYmlsaXR5IEFQSSBzdXBwb3J0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04MTE1NAorCisgICAgICAgIFJldmll
d2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBXZWJQYWdlUHJveHk6OnZpZXdT
dGF0ZURpZENoYW5nZSB0byBjb3JyZWN0bHkgZGVmaW5lIHRoZSBwYWdlJ3MKKyAgICAgICAgdmlz
aWJpbGl0eVN0YXRlIGFuZCB0aGVuIHNldCBpdCB0byB0aGUgV2ViUHJvY2Vzcy4gVGhlIFdlYktp
dDIncyBiYXNlZAorICAgICAgICBwb3J0cyBqdXN0IG5lZWQgdG8gaW1wbGVtZW50IHRoZSByZWxh
dGVkIFBhZ2VDbGllbnQgZnVuY3Rpb25zIGluIG9yZGVyCisgICAgICAgIHRvIGdldCB0aGlzIEFQ
SSBlbmFibGVkIGFuZCB3b3JraW5nIHByb3Blcmx5LgorCisgICAgICAgICogVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6V2ViUGFnZVBy
b3h5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5Ojppbml0aWFsaXplV2ViUGFnZSk6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6dmlld1N0YXRlRGlkQ2hhbmdlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRWaXNpYmlsaXR5U3RhdGUpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJQYWdlKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoKKwogMjAxMi0w
NC0wMiAgSm9jZWx5biBUdXJjb3R0ZSAgPGpvY2VseW4udHVyY290dGVAbm9raWEuY29tPgogCiAg
ICAgICAgIEVuYWJsZSBhbmQgY29ubmVjdCB0aGUgV2ViSW5zcGVjdG9yU2VydmVyIHdpdGggV2Vi
S2l0MiBwYWdlcy4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5k
ZXggYmFiOTgxMGM3NGFlNzRhMDg2OTU3ODAzOTM4NzAzZGZiNGI0MzIwNy4uMjQ0YjhlNzFmZmYz
YmJhYzk0YjUzNWVlMDcyYTA2MTliMmFlMWZiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKQEAgLTIwNCw2ICsyMDQsOSBAQCBXZWJQYWdlUHJveHk6OldlYlBh
Z2VQcm94eShQYWdlQ2xpZW50KiBwYWdlQ2xpZW50LCBQYXNzUmVmUHRyPFdlYlByb2Nlc3NQcm94
eT4gcAogICAgICwgbV9yZW5kZXJUcmVlU2l6ZSgwKQogICAgICwgbV9zaG91bGRTZW5kRXZlbnRz
U3luY2hyb25vdXNseShmYWxzZSkKICAgICAsIG1fbWVkaWFWb2x1bWUoMSkKKyNpZiBFTkFCTEUo
UEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICAsIG1fdmlzaWJpbGl0eVN0YXRlKFBhZ2VWaXNpYmls
aXR5U3RhdGVWaXNpYmxlKQorI2VuZGlmCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIHdlYlBhZ2VQ
cm94eUNvdW50ZXIuaW5jcmVtZW50KCk7CkBAIC0zNDUsNiArMzQ4LDEwIEBAIHZvaWQgV2ViUGFn
ZVByb3h5Ojppbml0aWFsaXplV2ViUGFnZSgpCiAjZW5kaWYKIAogICAgIHByb2Nlc3MoKS0+c2Vu
ZChNZXNzYWdlczo6V2ViUHJvY2Vzczo6Q3JlYXRlV2ViUGFnZShtX3BhZ2VJRCwgY3JlYXRpb25Q
YXJhbWV0ZXJzKCkpLCAwKTsKKworI2lmIEVOQUJMRShQQUdFX1ZJU0lCSUxJVFlfQVBJKQorICAg
IHByb2Nlc3MoKS0+c2VuZChNZXNzYWdlczo6V2ViUGFnZTo6U2V0VmlzaWJpbGl0eVN0YXRlKG1f
dmlzaWJpbGl0eVN0YXRlLCAvKiBpc0luaXRpYWxTdGF0ZSAqLyB0cnVlKSwgbV9wYWdlSUQpOwor
I2VuZGlmCiB9CiAKIHZvaWQgV2ViUGFnZVByb3h5OjpjbG9zZSgpCkBAIC03OTIsNiArNzk5LDE4
IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp2aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlRmxhZ3Mg
ZmxhZ3MpCiAgICAgICAgIH0KICAgICB9CiAKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQ
SSkKKyAgICBQYWdlVmlzaWJpbGl0eVN0YXRlIHZpc2liaWxpdHlTdGF0ZSA9IFBhZ2VWaXNpYmls
aXR5U3RhdGVIaWRkZW47CisKKyAgICBpZiAobV9wYWdlQ2xpZW50LT5pc1ZpZXdWaXNpYmxlKCkp
CisgICAgICAgIHZpc2liaWxpdHlTdGF0ZSA9IFBhZ2VWaXNpYmlsaXR5U3RhdGVWaXNpYmxlOwor
CisgICAgaWYgKHZpc2liaWxpdHlTdGF0ZSAhPSBtX3Zpc2liaWxpdHlTdGF0ZSkgeworICAgICAg
ICBtX3Zpc2liaWxpdHlTdGF0ZSA9IHZpc2liaWxpdHlTdGF0ZTsKKyAgICAgICAgcHJvY2Vzcygp
LT5zZW5kKE1lc3NhZ2VzOjpXZWJQYWdlOjpTZXRWaXNpYmlsaXR5U3RhdGUodmlzaWJpbGl0eVN0
YXRlLCBmYWxzZSksIG1fcGFnZUlEKTsKKyAgICB9CisjZW5kaWYKKwogICAgIHVwZGF0ZUJhY2tp
bmdTdG9yZURpc2NhcmRhYmxlU3RhdGUoKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5oCmluZGV4IGIyMDNlNDEzOTQ5MGIyZjc3YjU5NmJhZGVhMjBhYWFkYTUxNjQx
YjYuLjQwNzE2M2RjZjcwYWJjZmExMGE3N2E3OWRkNDczODRkM2FhMTA5MDMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTEwNTYsNiArMTA1NiwxMCBAQCBwcml2
YXRlOgogI2lmIFBMQVRGT1JNKFFUKQogICAgIFdURjo6SGFzaFNldDxSZWZQdHI8UXRSZWZDb3Vu
dGVkTmV0d29ya1JlcXVlc3REYXRhPiA+IG1fYXBwbGljYXRpb25TY2hlbWVSZXF1ZXN0czsKICNl
bmRpZgorCisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCisgICAgV2ViQ29yZTo6UGFn
ZVZpc2liaWxpdHlTdGF0ZSBtX3Zpc2liaWxpdHlTdGF0ZTsKKyNlbmRpZgogfTsKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKaW5kZXggOWRjZTI5M2I5OWJhMzgyZjRkOTAzNDM3ODI2ZTljZThmMmIzZWIwMi4u
OTRjMzNjZTBiNmIxYmI4NzU1YmM3MWM2MDE3MmQ4Zjg1ZjM3MGIwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtMzE1Nyw0ICszMTU3LDEz
IEBAIEZyYW1lVmlldyogV2ViUGFnZTo6bWFpbkZyYW1lVmlldygpIGNvbnN0CiAgICAgcmV0dXJu
IDA7CiB9CiAKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKK3ZvaWQgV2ViUGFnZTo6
c2V0VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmlsaXR5U3RhdGUsIGJvb2wgaXNJbml0aWFsU3Rh
dGUpCit7CisgICAgaWYgKCFtX3BhZ2UpCisgICAgICAgIHJldHVybjsKKyAgICBtX3BhZ2UtPnNl
dFZpc2liaWxpdHlTdGF0ZShzdGF0aWNfY2FzdDxXZWJDb3JlOjpQYWdlVmlzaWJpbGl0eVN0YXRl
Pih2aXNpYmlsaXR5U3RhdGUpLCBpc0luaXRpYWxTdGF0ZSk7Cit9CisjZW5kaWYKKwogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaAppbmRleCA2YTg1MmQ0ZTMwOTUyYTQ2MzE0YmE0Y2U3NTJlMmYwZmFjMTc5NmUwLi5kZDE1
MzVlNzdhMjVlNGE3YjcwNDMxZmRkZmFlNGU0ZDFhNzlkZGI3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTUxMiw3ICs1MTIsMTEgQEAgcHVibGlj
OgogICAgIHZvaWQgcmVjb21wdXRlU2hvcnRDaXJjdWl0SG9yaXpvbnRhbFdoZWVsRXZlbnRzU3Rh
dGUoKTsKIAogICAgIGJvb2wgd2lsbEdvVG9CYWNrRm9yd2FyZEl0ZW1DYWxsYmFja0VuYWJsZWQo
KSBjb25zdCB7IHJldHVybiBtX3dpbGxHb1RvQmFja0ZvcndhcmRJdGVtQ2FsbGJhY2tFbmFibGVk
OyB9Ci0gICAgCisKKyNpZiBFTkFCTEUoUEFHRV9WSVNJQklMSVRZX0FQSSkKKyAgICB2b2lkIHNl
dFZpc2liaWxpdHlTdGF0ZShpbnQgdmlzaWJpbGl0eVN0YXRlLCBib29sIGlzSW5pdGlhbFN0YXRl
KTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIFdlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25z
dCBXZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KaW5kZXggODk5ZTc1OWM2
NGY3NmFhYWJlOGQ0YmU5MGJjN2JjZTdhODVjZjU2NS4uMTExYmYyMTExOTQ5ZTBhY2ZmMmQ3MjM1
ZmMxNWFlZmRiZjBiZDhkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UubWVzc2FnZXMuaW4KQEAgLTI2MCw0ICsyNjAsOCBAQCBtZXNzYWdl
cyAtPiBXZWJQYWdlIHsKICNpZiBQTEFURk9STShNQUMpICYmICFkZWZpbmVkKEJVSUxESU5HX09O
X1NOT1dfTEVPUEFSRCkKICAgICBIYW5kbGVDb3JyZWN0aW9uUGFuZWxSZXN1bHQoU3RyaW5nIHJl
c3VsdCkKICNlbmRpZgorCisjaWYgRU5BQkxFKFBBR0VfVklTSUJJTElUWV9BUEkpCisgICAgU2V0
VmlzaWJpbGl0eVN0YXRlKGludCB2aXNpYmlsaXR5U3RhdGUsIGJvb2wgaXNJbml0aWFsU3RhdGUp
OworI2VuZGlmCiB9Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>