<?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>142865</bug_id>
          
          <creation_ts>2015-03-19 03:31:58 -0700</creation_ts>
          <short_desc>[GTK] Add a configure option to build without Redirected XComposite Window</short_desc>
          <delta_ts>2015-03-23 01:06:53 -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>WebKitGTK</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>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Carlos Garcia Campos">cgarcia</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>gustavo</cc>
    
    <cc>jdapena</cc>
    
    <cc>mrobinson</cc>
    
    <cc>yoon</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1078509</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-19 03:31:58 -0700</bug_when>
    <thetext>The Redirected XComposite Window was added to support some features like GtkOverlay, but in cases where we don&apos;t need such features, it&apos;s more efficient to use the XID of the WebKitWebView window as the native surface handle for the accelerated compositing. We have noticed also some memory issues with the Redirected XComposite Window in some embedded environments, so having the option to disable it would be very useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078510</commentid>
    <comment_count>1</comment_count>
      <attachid>249031</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-19 03:37:07 -0700</bug_when>
    <thetext>Created attachment 249031
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078511</commentid>
    <comment_count>2</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-03-19 03:46:43 -0700</bug_when>
    <thetext>This feature looks okay for me.
How about to use &quot;USE&quot; instead of &quot;ENABLE&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078512</commentid>
    <comment_count>3</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-19 03:49:45 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; This feature looks okay for me.
&gt; How about to use &quot;USE&quot; instead of &quot;ENABLE&quot;?

hmm, I really don&apos;t mind to use USE, is there any policy or convention?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078514</commentid>
    <comment_count>4</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-03-19 04:00:07 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; This feature looks okay for me.
&gt; &gt; How about to use &quot;USE&quot; instead of &quot;ENABLE&quot;?
&gt; 
&gt; hmm, I really don&apos;t mind to use USE, is there any policy or convention?

Because I&apos;m outside right now, i cannot find a reference. 
as far as I understand, ENABLE used for feature, but this patch provides
Another way for a same purpose. So i thought USE is more appropriate.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078530</commentid>
    <comment_count>5</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-03-19 07:53:16 -0700</bug_when>
    <thetext>What happens when the widget shares a window with another widget?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078531</commentid>
    <comment_count>6</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2015-03-19 07:55:14 -0700</bug_when>
    <thetext>I&apos;m also a bit curious about the memory usage, because a double-buffer window framebuffer and a window + a single-buffer pixmap framebuffer should take about the same amount of memory. Have you tried simply making the redirected X Composite window a single-buffer framebuffer?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078712</commentid>
    <comment_count>7</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-03-19 18:44:17 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; What happens when the widget shares a window with another widget?

I don&apos;t know other cases which shares a window with another widget other than GtkOverlay.
In that case, the rendered result of GtkOverlay will be erased if there is another update from WebProcess.

I have a another idea to provide a cairo surface to GtkOverlay and composite its surface in our accelerated compositing loop at same time like PageOverlay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078719</commentid>
    <comment_count>8</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-03-19 19:01:52 -0700</bug_when>
    <thetext>(In reply to comment #6)
&gt; I&apos;m also a bit curious about the memory usage, because a double-buffer
&gt; window framebuffer and a window + a single-buffer pixmap framebuffer should
&gt; take about the same amount of memory. Have you tried simply making the
&gt; redirected X Composite window a single-buffer framebuffer?

Well, I didn&apos;t thought to make redirected X Composite window as a single-buffered.

I think the target frame buffer of GLContext should be double buffered.
If it is not, we need to make sure the frame buffer of redirected X Composite Window copied to WebView&apos;s window before SwapBuffer call in WebProcess.

And this approach should reduce memory copy overhead. Current redirected X Composite window approach has a overhead to copy frame buffer to cairo surface of WebView, but in this approach, we can simply flip the double-buffer window frame buffer.

I need to investigate more detailed GtkWidget and GdkWindow&apos;s behavior to remove other possible overhead such as gdk_window_begin_paint_region / gdk_window_end_paint[1].


[1] https://developer.gnome.org/gdk3/stable/gdk3-Windows.html#gdk-window-begin-paint-region</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078773</commentid>
    <comment_count>9</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-20 00:31:36 -0700</bug_when>
    <thetext>(In reply to comment #5)
&gt; What happens when the widget shares a window with another widget?

This option is disabled by default, and it&apos;s thought for users who know what they are doing. There are many cases where you don&apos;t need the functionality provided by the redirected window, so you can just opt out at your own risk.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078777</commentid>
    <comment_count>10</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-20 00:54:14 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; This feature looks okay for me.
&gt; &gt; &gt; How about to use &quot;USE&quot; instead of &quot;ENABLE&quot;?
&gt; &gt; 
&gt; &gt; hmm, I really don&apos;t mind to use USE, is there any policy or convention?
&gt; 
&gt; Because I&apos;m outside right now, i cannot find a reference. 
&gt; as far as I understand, ENABLE used for feature, but this patch provides
&gt; Another way for a same purpose. So i thought USE is more appropriate.

In Platform.h

/* USE() - use a particular third-party library or optional OS service */
/* ENABLE() - turn on a specific feature of WebKit */

I would probably use USE if we could decide whether to use it or not depending only on the dependencies or other command line options (for example disable it for wayland or when using the threaded compositor), but since it&apos;s an option exposed to the user as a command line option, I followed what other options do. CMake configure options are already confusing enough, having -DNABLE_FOO and -DUSE_FOO options could make it even more confusing. But still, if you guys think USE fit better for this case I don&apos;t mind to change it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078782</commentid>
    <comment_count>11</comment_count>
      <attachid>249095</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-20 00:58:50 -0700</bug_when>
    <thetext>Created attachment 249095
Rebased to apply on trunk</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078786</commentid>
    <comment_count>12</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-03-20 01:11:57 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; (In reply to comment #4)
&gt; &gt; (In reply to comment #3)
&gt; &gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; &gt; This feature looks okay for me.
&gt; &gt; &gt; &gt; How about to use &quot;USE&quot; instead of &quot;ENABLE&quot;?
&gt; &gt; &gt; 
&gt; &gt; &gt; hmm, I really don&apos;t mind to use USE, is there any policy or convention?
&gt; &gt; 
&gt; &gt; Because I&apos;m outside right now, i cannot find a reference. 
&gt; &gt; as far as I understand, ENABLE used for feature, but this patch provides
&gt; &gt; Another way for a same purpose. So i thought USE is more appropriate.
&gt; 
&gt; In Platform.h
&gt; 
&gt; /* USE() - use a particular third-party library or optional OS service */
&gt; /* ENABLE() - turn on a specific feature of WebKit */
&gt; 
&gt; I would probably use USE if we could decide whether to use it or not
&gt; depending only on the dependencies or other command line options (for
&gt; example disable it for wayland or when using the threaded compositor), but
&gt; since it&apos;s an option exposed to the user as a command line option, I
&gt; followed what other options do. CMake configure options are already
&gt; confusing enough, having -DNABLE_FOO and -DUSE_FOO options could make it
&gt; even more confusing. But still, if you guys think USE fit better for this
&gt; case I don&apos;t mind to change it.

Thanks for clarify the convention. :)
Still I&apos;m prefer to use &quot;USE&quot; because XCompositeWindow relies on the XComposite and XDamage which is a optional OS service.

 
To match the convention, it is also good to use USE(REDIRECT_COMPOSITING) and enable it as a default, but I think just replacing it to USE is also okay.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078815</commentid>
    <comment_count>13</comment_count>
    <who name="Zan Dobersek">zan</who>
    <bug_when>2015-03-20 02:48:45 -0700</bug_when>
    <thetext>I&apos;m in favor of USE as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078836</commentid>
    <comment_count>14</comment_count>
      <attachid>249107</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-20 04:58:27 -0700</bug_when>
    <thetext>Created attachment 249107
Updated patch

Rebased to current git master again and switched to USE</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1078837</commentid>
    <comment_count>15</comment_count>
    <who name="Gwang Yoon Hwang">yoon</who>
    <bug_when>2015-03-20 05:01:31 -0700</bug_when>
    <thetext>Looks good for me. Good job!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1079240</commentid>
    <comment_count>16</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2015-03-23 01:06:53 -0700</bug_when>
    <thetext>Committed r181847: &lt;http://trac.webkit.org/changeset/181847&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249031</attachid>
            <date>2015-03-19 03:37:07 -0700</date>
            <delta_ts>2015-03-20 00:58:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-redirected-window.diff</filename>
            <type>text/plain</type>
            <size>8966</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBjMDIwOTM3Li5mY2RlYmJk
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTUtMDMtMTkgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdIEFkZCBhIGNvbmZpZ3VyZSBvcHRpb24gdG8gYnVpbGQgd2l0aG91dCBS
ZWRpcmVjdGVkIFhDb21wb3NpdGUgV2luZG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgUmVkaXJlY3RlZCBYQ29tcG9zaXRlIFdpbmRvdyB3YXMg
YWRkZWQgdG8gc3VwcG9ydCBzb21lCisgICAgICAgIGZlYXR1cmVzIGxpa2UgR3RrT3ZlcmxheSwg
YnV0IGluIGNhc2VzIHdoZXJlIHdlIGRvbid0IG5lZWQgc3VjaAorICAgICAgICBmZWF0dXJlcywg
aXQncyBtb3JlIGVmZmljaWVudCB0byB1c2UgdGhlIFhJRCBvZiB0aGUgV2ViS2l0V2ViVmlldwor
ICAgICAgICB3aW5kb3cgYXMgdGhlIG5hdGl2ZSBzdXJmYWNlIGhhbmRsZSBmb3IgdGhlIGFjY2Vs
ZXJhdGVkCisgICAgICAgIGNvbXBvc2l0aW5nLiBUaGlzIHBhdGNoIGFkZHMgRU5BQkxFX1JFRElS
RUNURURfWENPTVBPU0lURV9XSU5ET1csCisgICAgICAgIHRoYXQgaXMgZW5hYmxlZCBieSBkZWZh
dWx0IGZvciBYMTEgdGFyZ2V0IHdoZW4gT3BlbkdMIGlzIGVuYWJsZWQuCisKKyAgICAgICAgKiBT
b3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKwogMjAxNS0wMy0xNyAgQ2FybG9zIEdhcmNp
YSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZC4gVXBk
YXRlIE9wdGlvbnNHVEsuY21ha2UgYW5kIE5FV1MgZm9yIDIuNy45MiByZWxlYXNlLgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IDM1MWJjYzcuLjNhMDc0YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAx
NS0wMy0xOSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CisKKyAg
ICAgICAgW0dUS10gQWRkIGEgY29uZmlndXJlIG9wdGlvbiB0byBidWlsZCB3aXRob3V0IFJlZGly
ZWN0ZWQgWENvbXBvc2l0ZSBXaW5kb3cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE0Mjg2NQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09Q
UyEpLgorCisgICAgICAgIFVzZSBFTkFCTEUoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykg
aW5zdGVhZCBvZgorICAgICAgICBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgx
MSkuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHA6
CisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUpOiBVc2UgdGhlIFhJRCBvZiB0aGUg
V2ViS2l0V2ViVmlldworICAgICAgICB3aW5kb3cgYXMgbmF0aXZlIHN1cmZhY2UgaGFuZGxlIHdo
ZW4gUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVworICAgICAgICBpcyBkaXNhYmxlZC4KKyAg
ICAgICAgKHdlYmtpdFdlYlZpZXdSZW5kZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nUmVzdWx0cyk6
CisgICAgICAgIChyZXNpemVXZWJLaXRXZWJWaWV3QmFzZUZyb21BbGxvY2F0aW9uKToKKyAgICAg
ICAgKHdlYmtpdFdlYlZpZXdCYXNlRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6Cisg
ICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZUV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSk6
CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHA6
CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oOgor
CiAyMDE1LTAzLTE3ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4K
IAogICAgICAgICBVbnJldmlld2VkLiBVcGRhdGUgT3B0aW9uc0dUSy5jbWFrZSBhbmQgTkVXUyBm
b3IgMi43LjkyIHJlbGVhc2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggYzM0YzI0YS4uNTI4MTVjMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jh
c2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZp
ZXdCYXNlLmNwcApAQCAtMTgwLDcgKzE4MCw3IEBAIHN0cnVjdCBfV2ViS2l0V2ViVmlld0Jhc2VQ
cml2YXRlIHsKICAgICBXZWJGdWxsU2NyZWVuQ2xpZW50R3RrIGZ1bGxTY3JlZW5DbGllbnQ7CiAj
ZW5kaWYKIAotI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKQorI2lm
IEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQogICAgIHN0ZDo6dW5pcXVlX3B0
cjxSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdz4gcmVkaXJlY3RlZFdpbmRvdzsKICNlbmRpZgog
CkBAIC0zMTQsNyArMzE0LDcgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VSZWFsaXpl
KEd0a1dpZGdldCogd2lkZ2V0KQogICAgIFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJWaWV3ID0gV0VC
S0lUX1dFQl9WSUVXX0JBU0Uod2lkZ2V0KTsKICAgICBXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUq
IHByaXYgPSB3ZWJWaWV3LT5wcml2OwogCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQ
TEFURk9STShYMTEpCisjaWYgRU5BQkxFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCiAg
ICAgR2RrRGlzcGxheSogZGlzcGxheSA9IGdka19kaXNwbGF5X21hbmFnZXJfZ2V0X2RlZmF1bHRf
ZGlzcGxheShnZGtfZGlzcGxheV9tYW5hZ2VyX2dldCgpKTsKICAgICBpZiAoR0RLX0lTX1gxMV9E
SVNQTEFZKGRpc3BsYXkpKSB7CiAgICAgICAgIHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cgPSBSZWRp
cmVjdGVkWENvbXBvc2l0ZVdpbmRvdzo6Y3JlYXRlKApAQCAtMzY1LDYgKzM2NSwxMSBAQCBzdGF0
aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUoR3RrV2lkZ2V0KiB3aWRnZXQpCiAgICAg
Z3RrX3dpZGdldF9zZXRfd2luZG93KHdpZGdldCwgd2luZG93KTsKICAgICBnZGtfd2luZG93X3Nl
dF91c2VyX2RhdGEod2luZG93LCB3aWRnZXQpOwogCisjaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dM
KSAmJiBQTEFURk9STShYMTEpICYmICFFTkFCTEUoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRP
VykKKyAgICBEcmF3aW5nQXJlYVByb3h5SW1wbCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxE
cmF3aW5nQXJlYVByb3h5SW1wbCo+KHByaXYtPnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSk7Cisg
ICAgZHJhd2luZ0FyZWEtPnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhHREtf
V0lORE9XX1hJRCh3aW5kb3cpKTsKKyNlbmRpZgorCiAgICAgZ3RrX3N0eWxlX2NvbnRleHRfc2V0
X2JhY2tncm91bmQoZ3RrX3dpZGdldF9nZXRfc3R5bGVfY29udGV4dCh3aWRnZXQpLCB3aW5kb3cp
OwogCiAgICAgZ3RrX2ltX2NvbnRleHRfc2V0X2NsaWVudF93aW5kb3cocHJpdi0+aW5wdXRNZXRo
b2RGaWx0ZXIuY29udGV4dCgpLCB3aW5kb3cpOwpAQCAtNTEzLDcgKzUxOCw3IEBAIHN0YXRpYyBi
b29sIHdlYmtpdFdlYlZpZXdSZW5kZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nUmVzdWx0cyhXZWJL
aXRXZWJWaWV3QmFzZSoKICAgICBpZiAoIWRyYXdpbmdBcmVhLT5pc0luQWNjZWxlcmF0ZWRDb21w
b3NpdGluZ01vZGUoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0jaWYgUExBVEZPUk0oWDEx
KQorI2lmIEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQogICAgIC8vIFRvIGF2
b2lkIGZsYXNoZXMgd2hlbiBpbml0aWFsaXppbmcgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgZm9y
IHRoZSBmaXJzdAogICAgIC8vIHRpbWUsIHdlIHdhaXQgdW50aWwgd2Uga25vdyB0aGVyZSdzIGEg
ZnJhbWUgcmVhZHkgYmVmb3JlIHJlbmRlcmluZy4KICAgICBXZWJLaXRXZWJWaWV3QmFzZVByaXZh
dGUqIHByaXYgPSB3ZWJWaWV3QmFzZS0+cHJpdjsKQEAgLTYyNiw3ICs2MzEsNyBAQCBzdGF0aWMg
dm9pZCByZXNpemVXZWJLaXRXZWJWaWV3QmFzZUZyb21BbGxvY2F0aW9uKFdlYktpdFdlYlZpZXdC
YXNlKiB3ZWJWaWV3QmFzZQogCiAgICAgRHJhd2luZ0FyZWFQcm94eUltcGwqIGRyYXdpbmdBcmVh
ID0gc3RhdGljX2Nhc3Q8RHJhd2luZ0FyZWFQcm94eUltcGwqPihwcml2LT5wYWdlUHJveHktPmRy
YXdpbmdBcmVhKCkpOwogCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShY
MTEpCisjaWYgRU5BQkxFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCiAgICAgaWYgKHNp
emVDaGFuZ2VkICYmIHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cgJiYgZHJhd2luZ0FyZWEgJiYgZHJh
d2luZ0FyZWEtPmlzSW5BY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpKQogICAgICAgICBwcml2
LT5yZWRpcmVjdGVkV2luZG93LT5yZXNpemUodmlld1JlY3Quc2l6ZSgpKTsKICNlbmRpZgpAQCAt
MTMxMSw3ICsxMzE2LDcgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVJlc2V0Q2xpY2tDb3VudGVy
KFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSkKIAogdm9pZCB3ZWJraXRXZWJW
aWV3QmFzZUVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoV2ViS2l0V2ViVmlld0Jhc2Uq
IHdlYmtpdFdlYlZpZXdCYXNlKQogewotI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExB
VEZPUk0oWDExKQorI2lmIEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQogICAg
IFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYmtpdFdlYlZpZXdCYXNlLT5wcml2
OwogICAgIGlmICghcHJpdi0+cmVkaXJlY3RlZFdpbmRvdykKICAgICAgICAgcmV0dXJuOwpAQCAt
MTMyOSw3ICsxMzM0LDcgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZUVudGVyQWNjZWxlcmF0ZWRD
b21wb3NpdGluZ01vZGUoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtpdFcKIAogdm9pZCB3ZWJraXRX
ZWJWaWV3QmFzZUV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShXZWJLaXRXZWJWaWV3QmFz
ZSogd2Via2l0V2ViVmlld0Jhc2UpCiB7Ci0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQ
TEFURk9STShYMTEpCisjaWYgRU5BQkxFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCiAg
ICAgV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlKiBwcml2ID0gd2Via2l0V2ViVmlld0Jhc2UtPnBy
aXY7CiAgICAgaWYgKHByaXYtPnJlZGlyZWN0ZWRXaW5kb3cpCiAgICAgICAgIHByaXYtPnJlZGly
ZWN0ZWRXaW5kb3ctPnJlc2l6ZShJbnRTaXplKCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmNwcAppbmRl
eCBiMzExZmNiLi5mYzQ1ZGFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
Z3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmNwcApAQCAtMjcsNyArMjcs
NyBAQAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIlJlZGlyZWN0ZWRYQ29tcG9zaXRl
V2luZG93LmgiCiAKLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgxMSkK
KyNpZiBFTkFCTEUoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKIAogI2luY2x1ZGUgPFgx
MS9leHRlbnNpb25zL1hjb21wb3NpdGUuaD4KICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9YZGFt
YWdlLmg+CkBAIC0yODIsNCArMjgyLDQgQEAgY2Fpcm9fc3VyZmFjZV90KiBSZWRpcmVjdGVkWENv
bXBvc2l0ZVdpbmRvdzo6c3VyZmFjZSgpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAotI2Vu
ZGlmIC8vIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKQorI2VuZGlmIC8v
IEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oCmlu
ZGV4IGE0MGFlMGIuLmU4MDcwMzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmgKQEAgLTI3LDcgKzI3LDcg
QEAKICNpZm5kZWYgIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93X2gKICNkZWZpbmUgIFJlZGly
ZWN0ZWRYQ29tcG9zaXRlV2luZG93X2gKIAotI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYg
UExBVEZPUk0oWDExKQorI2lmIEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQog
CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZWZQdHJD
YWlyby5oPgpAQCAtNjQsNiArNjQsNiBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKIAotI2VuZGlmIC8vIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKQor
I2VuZGlmIC8vIEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQogCiAjZW5kaWYg
Ly8gUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3dfaApkaWZmIC0tZ2l0IGEvU291cmNlL2NtYWtl
L09wdGlvbnNHVEsuY21ha2UgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQppbmRleCA1
YzA5YWI1Li4xMzBjN2JhIDEwMDY0NAotLS0gYS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFr
ZQorKysgYi9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZQpAQCAtNzksMTAgKzc5LDE3IEBA
IGVuZGlmICgpCiBXRUJLSVRfT1BUSU9OX0JFR0lOKCkKIFdFQktJVF9PUFRJT05fREVGSU5FKEVO
QUJMRV9QTFVHSU5fUFJPQ0VTU19HVEsyICJXaGV0aGVyIHRvIGJ1aWxkIFdlYktpdFBsdWdpblBy
b2Nlc3MyIHRvIGxvYWQgR1RLMiBiYXNlZCBwbHVnaW5zLiIgT04pCiBXRUJLSVRfT1BUSU9OX0RF
RklORShFTkFCTEVfTUlOSUJST1dTRVIgIldoZXRoZXIgdG8gZW5hYmxlIE1pbmlCcm93c2VyIGNv
bXBpbGF0aW9uLiIgT0ZGKQorV0VCS0lUX09QVElPTl9ERUZJTkUoRU5BQkxFX1JFRElSRUNURURf
WENPTVBPU0lURV9XSU5ET1cgIldoZXRoZXIgdG8gdXNlIGEgUmVkaXJlY3RlZCBYQ29tcG9zaXRl
IFdpbmRvdyBmb3IgYWNjZWxlcmF0ZWQgY29tcG9zaXRpbmcgaW4gWDExLiIgT04pCiAKIGlmICgo
T1BFTkdMX0ZPVU5EIE9SIE9QRU5HTEVTMl9GT1VORCkgQU5EIChHTFhfRk9VTkQgT1IgRUdMX0ZP
VU5EKSkKICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCR0wg
T04pCiAKKyAgICBpZiAoRU5BQkxFX1gxMV9UQVJHRVQpCisgICAgICAgIFdFQktJVF9PUFRJT05f
REVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XIE9O
KQorICAgIGVsc2UgKCkKKyAgICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX1JFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cgT0ZGKQorICAgIGVuZGlmICgpCisK
ICAgICBpZiAoT1BFTkdMX0ZPVU5EKQogICAgICAgICBpZiAoR0xYX0ZPVU5EKQogICAgICAgICAg
ICAgbGlzdChBUFBFTkQgQ0FJUk9fR0xfQ09NUE9ORU5UUyBjYWlyby1nbHgpCkBAIC0xMDMsNiAr
MTEwLDcgQEAgaWYgKChPUEVOR0xfRk9VTkQgT1IgT1BFTkdMRVMyX0ZPVU5EKSBBTkQgKEdMWF9G
T1VORCBPUiBFR0xfRk9VTkQpKQogZWxzZSAoKQogICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9Q
T1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBPRkYpCiAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BP
UlRfVkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyBPRkYpCisgICAgV0VCS0lUX09Q
VElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1JFRElSRUNURURfWENPTVBPU0lURV9XSU5E
T1cgT0ZGKQogZW5kaWYgKCkKIAogaWYgKEVOQUJMRV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgQU5E
IE5PVChDQUlST19HTF9GT1VORCkpCkBAIC0zNDUsNiArMzUzLDEwIEBAIGlmICgoT1BFTkdMX0ZP
VU5EIE9SIE9QRU5HTEVTMl9GT1VORCkgQU5EIChHTFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKICAg
ICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX1RFWFRVUkVfTUFQUEVSX0dMPTEpCiAgICAgYWRk
X2RlZmluaXRpb25zKC1ERU5BQkxFXzNEX1JFTkRFUklORz0xKQogCisgICAgaWYgKEVOQUJMRV9Y
MTFfVEFSR0VUIEFORCBFTkFCTEVfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKKyAgICAg
ICAgYWRkX2RlZmluaXRpb25zKC1ERU5BQkxFX1JFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1c9
MSkKKyAgICBlbmRpZiAoKQorCiAgICAgaWYgKE9QRU5HTEVTMl9GT1VORCkKICAgICAgICAgc2V0
KFdURl9VU0VfT1BFTkdMX0VTXzIgMSkKICAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VT
RV9PUEVOR0xfRVNfMj0xKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249095</attachid>
            <date>2015-03-20 00:58:50 -0700</date>
            <delta_ts>2015-03-20 04:58:27 -0700</delta_ts>
            <desc>Rebased to apply on trunk</desc>
            <filename>wk-redirected-window-options.diff</filename>
            <type>text/plain</type>
            <size>9517</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0NjBiN2MzLi5jNGMzMzM0
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTUtMDMtMjAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdIEFkZCBhIGNvbmZpZ3VyZSBvcHRpb24gdG8gYnVpbGQgd2l0aG91dCBS
ZWRpcmVjdGVkIFhDb21wb3NpdGUgV2luZG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgUmVkaXJlY3RlZCBYQ29tcG9zaXRlIFdpbmRvdyB3YXMg
YWRkZWQgdG8gc3VwcG9ydCBzb21lCisgICAgICAgIGZlYXR1cmVzIGxpa2UgR3RrT3ZlcmxheSwg
YnV0IGluIGNhc2VzIHdoZXJlIHdlIGRvbid0IG5lZWQgc3VjaAorICAgICAgICBmZWF0dXJlcywg
aXQncyBtb3JlIGVmZmljaWVudCB0byB1c2UgdGhlIFhJRCBvZiB0aGUgV2ViS2l0V2ViVmlldwor
ICAgICAgICB3aW5kb3cgYXMgdGhlIG5hdGl2ZSBzdXJmYWNlIGhhbmRsZSBmb3IgdGhlIGFjY2Vs
ZXJhdGVkCisgICAgICAgIGNvbXBvc2l0aW5nLiBUaGlzIHBhdGNoIGFkZHMgRU5BQkxFX1JFRElS
RUNURURfWENPTVBPU0lURV9XSU5ET1csCisgICAgICAgIHRoYXQgaXMgZW5hYmxlZCBieSBkZWZh
dWx0IGZvciBYMTEgdGFyZ2V0IHdoZW4gT3BlbkdMIGlzIGVuYWJsZWQuCisKKyAgICAgICAgKiBT
b3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKwogMjAxNS0wMy0xOSAgQ3NhYmEgT3N6dHJv
Z29uw6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFtHVEtdIEZpeCBpbnNwZWN0b3Ig
dXNlcmludGVyZmFjZSByZWxhdGVkIGluY3JlbWVudGFsIGJ1aWxkIGlzc3VlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5k
ZXggODEyMWJlZC4uZWQ5OTM0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDI0IEBACisyMDE1LTAz
LTIwICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KKworICAgICAg
ICBbR1RLXSBBZGQgYSBjb25maWd1cmUgb3B0aW9uIHRvIGJ1aWxkIHdpdGhvdXQgUmVkaXJlY3Rl
ZCBYQ29tcG9zaXRlIFdpbmRvdworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQyODY1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgVXNlIEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKSBpbnN0
ZWFkIG9mCisgICAgICAgIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKS4K
KworICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcDoKKyAg
ICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZSk6IFVzZSB0aGUgWElEIG9mIHRoZSBXZWJL
aXRXZWJWaWV3CisgICAgICAgIHdpbmRvdyBhcyBuYXRpdmUgc3VyZmFjZSBoYW5kbGUgd2hlbiBS
RURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XCisgICAgICAgIGlzIGRpc2FibGVkLgorICAgICAg
ICAod2Via2l0V2ViVmlld1JlbmRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSZXN1bHRzKToKKyAg
ICAgICAgKHJlc2l6ZVdlYktpdFdlYlZpZXdCYXNlRnJvbUFsbG9jYXRpb24pOgorICAgICAgICAo
d2Via2l0V2ViVmlld0Jhc2VFbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKToKKyAgICAg
ICAgKHdlYmtpdFdlYlZpZXdCYXNlRXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKToKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmNwcDoKKyAg
ICAgICAgKiBVSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93Lmg6CisKIDIw
MTUtMDMtMTkgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBbV0sy
XSBXZSBzaG91bGQgYWxsb3cgc3RhbGUgY29udGVudCB3aGVuIHJlc3RvcmluZyBhIGtpbGxlZCAv
IGNyYXNoZWQgV2ViUHJvY2VzcwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmluZGV4IDBjOGJjOTQuLjY5MWIwNmEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdC
YXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJW
aWV3QmFzZS5jcHAKQEAgLTU4LDkgKzU4LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1JlZ2lvbi5o
PgogI2luY2x1ZGUgPGdkay9nZGsuaD4KICNpbmNsdWRlIDxnZGsvZ2Rra2V5c3ltcy5oPgotI2lm
IGRlZmluZWQoR0RLX1dJTkRPV0lOR19YMTEpCi0jaW5jbHVkZSA8Z2RrL2dka3guaD4KLSNlbmRp
ZgogI2luY2x1ZGUgPG1lbW9yeT4KICNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgogI2luY2x1ZGUg
PHd0Zi9nb2JqZWN0L0dSZWZQdHIuaD4KQEAgLTcwLDYgKzY3LDEwIEBACiAjaW5jbHVkZSAiV2Vi
RnVsbFNjcmVlbk1hbmFnZXJQcm94eS5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoUkVESVJFQ1RF
RF9YQ09NUE9TSVRFX1dJTkRPVykKKyNpbmNsdWRlIDxnZGsvZ2RreC5oPgorI2VuZGlmCisKIC8v
IGd0a193aWRnZXRfZ2V0X3NjYWxlX2ZhY3RvcigpIGFwcGVhcmVkIGluIEdUSyAzLjEwLCBidXQg
d2UgYWxzbyBuZWVkCiAvLyB0byBtYWtlIHN1cmUgd2UgaGF2ZSBjYWlybyBuZXcgZW5vdWdoIHRv
IHN1cHBvcnQgY2Fpcm9fc3VyZmFjZV9zZXRfZGV2aWNlX3NjYWxlCiAjZGVmaW5lIEhBVkVfR1RL
X1NDQUxFX0ZBQ1RPUiBIQVZFX0NBSVJPX1NVUkZBQ0VfU0VUX0RFVklDRV9TQ0FMRSAmJiBHVEtf
Q0hFQ0tfVkVSU0lPTigzLCAxMCwgMCkKQEAgLTE4MCw3ICsxODEsNyBAQCBzdHJ1Y3QgX1dlYktp
dFdlYlZpZXdCYXNlUHJpdmF0ZSB7CiAgICAgV2ViRnVsbFNjcmVlbkNsaWVudEd0ayBmdWxsU2Ny
ZWVuQ2xpZW50OwogI2VuZGlmCiAKLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRG
T1JNKFgxMSkKKyNpZiBFTkFCTEUoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKICAgICBz
dGQ6OnVuaXF1ZV9wdHI8UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c+IHJlZGlyZWN0ZWRXaW5k
b3c7CiAjZW5kaWYKIApAQCAtMzE0LDcgKzMxNSw3IEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdlYlZp
ZXdCYXNlUmVhbGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKICAgICBXZWJLaXRXZWJWaWV3QmFzZSog
d2ViVmlldyA9IFdFQktJVF9XRUJfVklFV19CQVNFKHdpZGdldCk7CiAgICAgV2ViS2l0V2ViVmll
d0Jhc2VQcml2YXRlKiBwcml2ID0gd2ViVmlldy0+cHJpdjsKIAotI2lmIFVTRShURVhUVVJFX01B
UFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKQorI2lmIEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJ
VEVfV0lORE9XKQogICAgIEdka0Rpc3BsYXkqIGRpc3BsYXkgPSBnZGtfZGlzcGxheV9tYW5hZ2Vy
X2dldF9kZWZhdWx0X2Rpc3BsYXkoZ2RrX2Rpc3BsYXlfbWFuYWdlcl9nZXQoKSk7CiAgICAgaWYg
KEdES19JU19YMTFfRElTUExBWShkaXNwbGF5KSkgewogICAgICAgICBwcml2LT5yZWRpcmVjdGVk
V2luZG93ID0gUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OmNyZWF0ZSgKQEAgLTM2NSw2ICsz
NjYsMTEgQEAgc3RhdGljIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VSZWFsaXplKEd0a1dpZGdldCog
d2lkZ2V0KQogICAgIGd0a193aWRnZXRfc2V0X3dpbmRvdyh3aWRnZXQsIHdpbmRvdyk7CiAgICAg
Z2RrX3dpbmRvd19zZXRfdXNlcl9kYXRhKHdpbmRvdywgd2lkZ2V0KTsKIAorI2lmIFVTRShURVhU
VVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKSAmJiAhRU5BQkxFKFJFRElSRUNURURfWENP
TVBPU0lURV9XSU5ET1cpCisgICAgRHJhd2luZ0FyZWFQcm94eUltcGwqIGRyYXdpbmdBcmVhID0g
c3RhdGljX2Nhc3Q8RHJhd2luZ0FyZWFQcm94eUltcGwqPihwcml2LT5wYWdlUHJveHktPmRyYXdp
bmdBcmVhKCkpOworICAgIGRyYXdpbmdBcmVhLT5zZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29t
cG9zaXRpbmcoR0RLX1dJTkRPV19YSUQod2luZG93KSk7CisjZW5kaWYKKwogICAgIGd0a19zdHls
ZV9jb250ZXh0X3NldF9iYWNrZ3JvdW5kKGd0a193aWRnZXRfZ2V0X3N0eWxlX2NvbnRleHQod2lk
Z2V0KSwgd2luZG93KTsKIAogICAgIGd0a19pbV9jb250ZXh0X3NldF9jbGllbnRfd2luZG93KHBy
aXYtPmlucHV0TWV0aG9kRmlsdGVyLmNvbnRleHQoKSwgd2luZG93KTsKQEAgLTUxMyw3ICs1MTks
NyBAQCBzdGF0aWMgYm9vbCB3ZWJraXRXZWJWaWV3UmVuZGVyQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z1Jlc3VsdHMoV2ViS2l0V2ViVmlld0Jhc2UqCiAgICAgaWYgKCFkcmF3aW5nQXJlYS0+aXNJbkFj
Y2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKCkpCiAgICAgICAgIHJldHVybiBmYWxzZTsKIAotI2lm
IFBMQVRGT1JNKFgxMSkKKyNpZiBFTkFCTEUoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykK
ICAgICAvLyBUbyBhdm9pZCBmbGFzaGVzIHdoZW4gaW5pdGlhbGl6aW5nIGFjY2VsZXJhdGVkIGNv
bXBvc2l0aW5nIGZvciB0aGUgZmlyc3QKICAgICAvLyB0aW1lLCB3ZSB3YWl0IHVudGlsIHdlIGtu
b3cgdGhlcmUncyBhIGZyYW1lIHJlYWR5IGJlZm9yZSByZW5kZXJpbmcuCiAgICAgV2ViS2l0V2Vi
Vmlld0Jhc2VQcml2YXRlKiBwcml2ID0gd2ViVmlld0Jhc2UtPnByaXY7CkBAIC02MjYsNyArNjMy
LDcgQEAgc3RhdGljIHZvaWQgcmVzaXplV2ViS2l0V2ViVmlld0Jhc2VGcm9tQWxsb2NhdGlvbihX
ZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlld0Jhc2UKIAogICAgIERyYXdpbmdBcmVhUHJveHlJbXBs
KiBkcmF3aW5nQXJlYSA9IHN0YXRpY19jYXN0PERyYXdpbmdBcmVhUHJveHlJbXBsKj4ocHJpdi0+
cGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpKTsKIAotI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkg
JiYgUExBVEZPUk0oWDExKQorI2lmIEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9X
KQogICAgIGlmIChzaXplQ2hhbmdlZCAmJiBwcml2LT5yZWRpcmVjdGVkV2luZG93ICYmIGRyYXdp
bmdBcmVhICYmIGRyYXdpbmdBcmVhLT5pc0luQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoKSkK
ICAgICAgICAgcHJpdi0+cmVkaXJlY3RlZFdpbmRvdy0+cmVzaXplKHZpZXdSZWN0LnNpemUoKSk7
CiAjZW5kaWYKQEAgLTEzMTEsNyArMTMxNyw3IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VSZXNl
dENsaWNrQ291bnRlcihXZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0V2ViVmlld0Jhc2UpCiAKIHZv
aWQgd2Via2l0V2ViVmlld0Jhc2VFbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKFdlYktp
dFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSkKIHsKLSNpZiBVU0UoVEVYVFVSRV9NQVBQ
RVJfR0wpICYmIFBMQVRGT1JNKFgxMSkKKyNpZiBFTkFCTEUoUkVESVJFQ1RFRF9YQ09NUE9TSVRF
X1dJTkRPVykKICAgICBXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUqIHByaXYgPSB3ZWJraXRXZWJW
aWV3QmFzZS0+cHJpdjsKICAgICBpZiAoIXByaXYtPnJlZGlyZWN0ZWRXaW5kb3cpCiAgICAgICAg
IHJldHVybjsKQEAgLTEzMjksNyArMTMzNSw3IEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VFbnRl
ckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXCiAK
IHZvaWQgd2Via2l0V2ViVmlld0Jhc2VFeGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUoV2Vi
S2l0V2ViVmlld0Jhc2UqIHdlYmtpdFdlYlZpZXdCYXNlKQogewotI2lmIFVTRShURVhUVVJFX01B
UFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKQorI2lmIEVOQUJMRShSRURJUkVDVEVEX1hDT01QT1NJ
VEVfV0lORE9XKQogICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYmtpdFdl
YlZpZXdCYXNlLT5wcml2OwogICAgIGlmIChwcml2LT5yZWRpcmVjdGVkV2luZG93KQogICAgICAg
ICBwcml2LT5yZWRpcmVjdGVkV2luZG93LT5yZXNpemUoSW50U2l6ZSgpKTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cu
Y3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdp
bmRvdy5jcHAKaW5kZXggYjMxMWZjYi4uZmM0NWRhZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5jcHAK
QEAgLTI3LDcgKzI3LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIKICNpbmNsdWRlICJSZWRpcmVj
dGVkWENvbXBvc2l0ZVdpbmRvdy5oIgogCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQ
TEFURk9STShYMTEpCisjaWYgRU5BQkxFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCiAK
ICNpbmNsdWRlIDxYMTEvZXh0ZW5zaW9ucy9YY29tcG9zaXRlLmg+CiAjaW5jbHVkZSA8WDExL2V4
dGVuc2lvbnMvWGRhbWFnZS5oPgpAQCAtMjgyLDQgKzI4Miw0IEBAIGNhaXJvX3N1cmZhY2VfdCog
UmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3c6OnN1cmZhY2UoKQogCiB9IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCiAKLSNlbmRpZiAvLyBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgx
MSkKKyNlbmRpZiAvLyBFTkFCTEUoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVX
aW5kb3cuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3Np
dGVXaW5kb3cuaAppbmRleCBhNDBhZTBiLi5lODA3MDM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93LmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oCkBA
IC0yNyw3ICsyNyw3IEBACiAjaWZuZGVmICBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvd19oCiAj
ZGVmaW5lICBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvd19oCiAKLSNpZiBVU0UoVEVYVFVSRV9N
QVBQRVJfR0wpICYmIFBMQVRGT1JNKFgxMSkKKyNpZiBFTkFCTEUoUkVESVJFQ1RFRF9YQ09NUE9T
SVRFX1dJTkRPVykKIAogI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6ZS5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVmUHRyQ2Fpcm8uaD4KQEAgLTY0LDYgKzY0LDYgQEAgcHJpdmF0ZToKIAogfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBM
QVRGT1JNKFgxMSkKKyNlbmRpZiAvLyBFTkFCTEUoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRP
VykKIAogI2VuZGlmIC8vIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93X2gKZGlmZiAtLWdpdCBh
L1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsu
Y21ha2UKaW5kZXggMzU2M2FmYi4uM2YwZDcwZiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09w
dGlvbnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKQEAgLTc4
LDEwICs3OCwxNyBAQCBlbmRpZiAoKQogCiBXRUJLSVRfT1BUSU9OX0JFR0lOKCkKIFdFQktJVF9P
UFRJT05fREVGSU5FKEVOQUJMRV9QTFVHSU5fUFJPQ0VTU19HVEsyICJXaGV0aGVyIHRvIGJ1aWxk
IFdlYktpdFBsdWdpblByb2Nlc3MyIHRvIGxvYWQgR1RLMiBiYXNlZCBwbHVnaW5zLiIgT04pCitX
RUJLSVRfT1BUSU9OX0RFRklORShFTkFCTEVfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyAi
V2hldGhlciB0byB1c2UgYSBSZWRpcmVjdGVkIFhDb21wb3NpdGUgV2luZG93IGZvciBhY2NlbGVy
YXRlZCBjb21wb3NpdGluZyBpbiBYMTEuIiBPTikKIAogaWYgKChPUEVOR0xfRk9VTkQgT1IgT1BF
TkdMRVMyX0ZPVU5EKSBBTkQgKEdMWF9GT1VORCBPUiBFR0xfRk9VTkQpKQogICAgIFdFQktJVF9P
UFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBPTikKIAorICAgIGlmIChFTkFC
TEVfWDExX1RBUkdFVCkKKyAgICAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUo
RU5BQkxFX1JFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cgT04pCisgICAgZWxzZSAoKQorICAg
ICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfUkVESVJFQ1RFRF9Y
Q09NUE9TSVRFX1dJTkRPVyBPRkYpCisgICAgZW5kaWYgKCkKKwogICAgIGlmIChPUEVOR0xfRk9V
TkQpCiAgICAgICAgIGlmIChHTFhfRk9VTkQpCiAgICAgICAgICAgICBsaXN0KEFQUEVORCBDQUlS
T19HTF9DT01QT05FTlRTIGNhaXJvLWdseCkKQEAgLTEwMiw2ICsxMDksNyBAQCBpZiAoKE9QRU5H
TF9GT1VORCBPUiBPUEVOR0xFUzJfRk9VTkQpIEFORCAoR0xYX0ZPVU5EIE9SIEVHTF9GT1VORCkp
CiBlbHNlICgpCiAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX1dF
QkdMIE9GRikKICAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfQUND
RUxFUkFURURfMkRfQ0FOVkFTIE9GRikKKyAgICBXRUJLSVRfT1BUSU9OX0RFRkFVTFRfUE9SVF9W
QUxVRShFTkFCTEVfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBPRkYpCiBlbmRpZiAoKQog
CiBpZiAoRU5BQkxFX0FDQ0VMRVJBVEVEXzJEX0NBTlZBUyBBTkQgTk9UKENBSVJPX0dMX0ZPVU5E
KSkKQEAgLTM1Niw2ICszNjQsMTAgQEAgaWYgKChPUEVOR0xfRk9VTkQgT1IgT1BFTkdMRVMyX0ZP
VU5EKSBBTkQgKEdMWF9GT1VORCBPUiBFR0xfRk9VTkQpKQogICAgIGFkZF9kZWZpbml0aW9ucygt
RFdURl9VU0VfVEVYVFVSRV9NQVBQRVJfR0w9MSkKICAgICBhZGRfZGVmaW5pdGlvbnMoLURFTkFC
TEVfM0RfUkVOREVSSU5HPTEpCiAKKyAgICBpZiAoRU5BQkxFX1gxMV9UQVJHRVQgQU5EIEVOQUJM
RV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQorICAgICAgICBhZGRfZGVmaW5pdGlvbnMo
LURFTkFCTEVfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVz0xKQorICAgIGVuZGlmICgpCisK
ICAgICBpZiAoT1BFTkdMRVMyX0ZPVU5EKQogICAgICAgICBzZXQoV1RGX1VTRV9PUEVOR0xfRVNf
MiAxKQogICAgICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX09QRU5HTF9FU18yPTEpCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>249107</attachid>
            <date>2015-03-20 04:58:27 -0700</date>
            <delta_ts>2015-03-23 00:41:05 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>wk-redirected-window.diff</filename>
            <type>text/plain</type>
            <size>9048</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBhNGZiOGQ3Li5hMDNhNjI0
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTUtMDMtMjAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgor
CisgICAgICAgIFtHVEtdIEFkZCBhIGNvbmZpZ3VyZSBvcHRpb24gdG8gYnVpbGQgd2l0aG91dCBS
ZWRpcmVjdGVkIFhDb21wb3NpdGUgV2luZG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNDI4NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBUaGUgUmVkaXJlY3RlZCBYQ29tcG9zaXRlIFdpbmRvdyB3YXMg
YWRkZWQgdG8gc3VwcG9ydCBzb21lCisgICAgICAgIGZlYXR1cmVzIGxpa2UgR3RrT3ZlcmxheSwg
YnV0IGluIGNhc2VzIHdoZXJlIHdlIGRvbid0IG5lZWQgc3VjaAorICAgICAgICBmZWF0dXJlcywg
aXQncyBtb3JlIGVmZmljaWVudCB0byB1c2UgdGhlIFhJRCBvZiB0aGUgV2ViS2l0V2ViVmlldwor
ICAgICAgICB3aW5kb3cgYXMgdGhlIG5hdGl2ZSBzdXJmYWNlIGhhbmRsZSBmb3IgdGhlIGFjY2Vs
ZXJhdGVkCisgICAgICAgIGNvbXBvc2l0aW5nLiBUaGlzIHBhdGNoIGFkZHMgVVNFX1JFRElSRUNU
RURfWENPTVBPU0lURV9XSU5ET1csCisgICAgICAgIHRoYXQgaXMgZW5hYmxlZCBieSBkZWZhdWx0
IGZvciBYMTEgdGFyZ2V0IHdoZW4gT3BlbkdMIGlzIGVuYWJsZWQuCisKKyAgICAgICAgKiBTb3Vy
Y2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZToKKwogMjAxNS0wMy0yMCAgWmFuIERvYmVyc2VrICA8
emRvYmVyc2VrQGlnYWxpYS5jb20+CiAKICAgICAgICAgW0dUS10gU2VhcmNoIGZvciB0aGUgV2F5
bGFuZCBkZXBlbmRlbmN5IHdoZW4gZW5hYmxpbmcgV2F5bGFuZCB0YXJnZXQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRl
eCBkOTBhNWNkLi5hMmRiNmNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTUtMDMt
MjAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgorCisgICAgICAg
IFtHVEtdIEFkZCBhIGNvbmZpZ3VyZSBvcHRpb24gdG8gYnVpbGQgd2l0aG91dCBSZWRpcmVjdGVk
IFhDb21wb3NpdGUgV2luZG93CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0xNDI4NjUKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVc2UgVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpIGluc3RlYWQg
b2YKKyAgICAgICAgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShYMTEpLgorCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwOgorICAgICAg
ICAod2Via2l0V2ViVmlld0Jhc2VSZWFsaXplKTogVXNlIHRoZSBYSUQgb2YgdGhlIFdlYktpdFdl
YlZpZXcKKyAgICAgICAgd2luZG93IGFzIG5hdGl2ZSBzdXJmYWNlIGhhbmRsZSB3aGVuIFJFRElS
RUNURURfWENPTVBPU0lURV9XSU5ET1cKKyAgICAgICAgaXMgZGlzYWJsZWQuCisgICAgICAgICh3
ZWJraXRXZWJWaWV3UmVuZGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ1Jlc3VsdHMpOgorICAgICAg
ICAocmVzaXplV2ViS2l0V2ViVmlld0Jhc2VGcm9tQWxsb2NhdGlvbik6CisgICAgICAgICh3ZWJr
aXRXZWJWaWV3QmFzZUVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOgorICAgICAgICAo
d2Via2l0V2ViVmlld0Jhc2VFeGl0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuY3BwOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuaDoKKwogMjAxNS0w
My0yMCAgR3l1eW91bmcgS2ltICA8Z3l1eW91bmcua2ltQHNhbXN1bmcuY29tPgogCiAgICAgICAg
IFtDTWFrZV0gUmVtb3ZlIGR1cGxpY2F0ZWQgY21ha2UgZnVuY3Rpb24gY2FsbHMgaW4gV2ViS2l0
Mi9DTWFrZUxpc3RzLnR4dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwCmluZGV4IDM4YmE0OTguLmYyZTYyNTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNl
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3
QmFzZS5jcHAKQEAgLTY3LDkgKzY3LDEwIEBACiAjaW5jbHVkZSAiV2ViRnVsbFNjcmVlbk1hbmFn
ZXJQcm94eS5oIgogI2VuZGlmCiAKLSNpZiBQTEFURk9STShYMTEpCisjaWYgVVNFKFJFRElSRUNU
RURfWENPTVBPU0lURV9XSU5ET1cpCiAjaW5jbHVkZSA8Z2RrL2dka3guaD4KICNlbmRpZgorCiAj
aWYgUExBVEZPUk0oV0FZTEFORCkKICNpbmNsdWRlIDxnZGsvZ2Rrd2F5bGFuZC5oPgogI2VuZGlm
CkBAIC0xODQsNyArMTg1LDcgQEAgc3RydWN0IF9XZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUgewog
ICAgIFdlYkZ1bGxTY3JlZW5DbGllbnRHdGsgZnVsbFNjcmVlbkNsaWVudDsKICNlbmRpZgogCi0j
aWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShYMTEpCisjaWYgVVNFKFJFRElS
RUNURURfWENPTVBPU0lURV9XSU5ET1cpCiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlZGlyZWN0ZWRY
Q29tcG9zaXRlV2luZG93PiByZWRpcmVjdGVkV2luZG93OwogI2VuZGlmCiAKQEAgLTMxOCw3ICsz
MTksNyBAQCBzdGF0aWMgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVJlYWxpemUoR3RrV2lkZ2V0KiB3
aWRnZXQpCiAgICAgV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXcgPSBXRUJLSVRfV0VCX1ZJRVdf
QkFTRSh3aWRnZXQpOwogICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYlZp
ZXctPnByaXY7CiAKLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgxMSkK
KyNpZiBVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKICAgICBHZGtEaXNwbGF5KiBk
aXNwbGF5ID0gZ2RrX2Rpc3BsYXlfbWFuYWdlcl9nZXRfZGVmYXVsdF9kaXNwbGF5KGdka19kaXNw
bGF5X21hbmFnZXJfZ2V0KCkpOwogICAgIGlmIChHREtfSVNfWDExX0RJU1BMQVkoZGlzcGxheSkp
IHsKICAgICAgICAgcHJpdi0+cmVkaXJlY3RlZFdpbmRvdyA9IFJlZGlyZWN0ZWRYQ29tcG9zaXRl
V2luZG93OjpjcmVhdGUoCkBAIC0zNjksNiArMzcwLDExIEBAIHN0YXRpYyB2b2lkIHdlYmtpdFdl
YlZpZXdCYXNlUmVhbGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKICAgICBndGtfd2lkZ2V0X3NldF93
aW5kb3cod2lkZ2V0LCB3aW5kb3cpOwogICAgIGdka193aW5kb3dfc2V0X3VzZXJfZGF0YSh3aW5k
b3csIHdpZGdldCk7CiAKKyNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgx
MSkgJiYgIVVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQorICAgIERyYXdpbmdBcmVh
UHJveHlJbXBsKiBkcmF3aW5nQXJlYSA9IHN0YXRpY19jYXN0PERyYXdpbmdBcmVhUHJveHlJbXBs
Kj4ocHJpdi0+cGFnZVByb3h5LT5kcmF3aW5nQXJlYSgpKTsKKyAgICBkcmF3aW5nQXJlYS0+c2V0
TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKEdES19XSU5ET1dfWElEKHdpbmRvdykp
OworI2VuZGlmCisKICAgICBndGtfc3R5bGVfY29udGV4dF9zZXRfYmFja2dyb3VuZChndGtfd2lk
Z2V0X2dldF9zdHlsZV9jb250ZXh0KHdpZGdldCksIHdpbmRvdyk7CiAKICAgICBndGtfaW1fY29u
dGV4dF9zZXRfY2xpZW50X3dpbmRvdyhwcml2LT5pbnB1dE1ldGhvZEZpbHRlci5jb250ZXh0KCks
IHdpbmRvdyk7CkBAIC01MTcsNyArNTIzLDcgQEAgc3RhdGljIGJvb2wgd2Via2l0V2ViVmlld1Jl
bmRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdSZXN1bHRzKFdlYktpdFdlYlZpZXdCYXNlKgogICAg
IGlmICghZHJhd2luZ0FyZWEtPmlzSW5BY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSNpZiBQTEFURk9STShYMTEpCisjaWYgVVNFKFJFRElSRUNU
RURfWENPTVBPU0lURV9XSU5ET1cpCiAgICAgLy8gVG8gYXZvaWQgZmxhc2hlcyB3aGVuIGluaXRp
YWxpemluZyBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBmb3IgdGhlIGZpcnN0CiAgICAgLy8gdGlt
ZSwgd2Ugd2FpdCB1bnRpbCB3ZSBrbm93IHRoZXJlJ3MgYSBmcmFtZSByZWFkeSBiZWZvcmUgcmVu
ZGVyaW5nLgogICAgIFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYlZpZXdCYXNl
LT5wcml2OwpAQCAtNjMwLDcgKzYzNiw3IEBAIHN0YXRpYyB2b2lkIHJlc2l6ZVdlYktpdFdlYlZp
ZXdCYXNlRnJvbUFsbG9jYXRpb24oV2ViS2l0V2ViVmlld0Jhc2UqIHdlYlZpZXdCYXNlCiAKICAg
ICBEcmF3aW5nQXJlYVByb3h5SW1wbCogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3aW5n
QXJlYVByb3h5SW1wbCo+KHByaXYtPnBhZ2VQcm94eS0+ZHJhd2luZ0FyZWEoKSk7CiAKLSNpZiBV
U0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgxMSkKKyNpZiBVU0UoUkVESVJFQ1RF
RF9YQ09NUE9TSVRFX1dJTkRPVykKICAgICBpZiAoc2l6ZUNoYW5nZWQgJiYgcHJpdi0+cmVkaXJl
Y3RlZFdpbmRvdyAmJiBkcmF3aW5nQXJlYSAmJiBkcmF3aW5nQXJlYS0+aXNJbkFjY2VsZXJhdGVk
Q29tcG9zaXRpbmdNb2RlKCkpCiAgICAgICAgIHByaXYtPnJlZGlyZWN0ZWRXaW5kb3ctPnJlc2l6
ZSh2aWV3UmVjdC5zaXplKCkpOwogI2VuZGlmCkBAIC0xMzIzLDcgKzEzMjksNyBAQCB2b2lkIHdl
YmtpdFdlYlZpZXdCYXNlUmVzZXRDbGlja0NvdW50ZXIoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtp
dFdlYlZpZXdCYXNlKQogCiB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlRW50ZXJBY2NlbGVyYXRlZENv
bXBvc2l0aW5nTW9kZShXZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0V2ViVmlld0Jhc2UpCiB7Ci0j
aWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShYMTEpCisjaWYgVVNFKFJFRElS
RUNURURfWENPTVBPU0lURV9XSU5ET1cpCiAgICAgV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlKiBw
cml2ID0gd2Via2l0V2ViVmlld0Jhc2UtPnByaXY7CiAgICAgaWYgKCFwcml2LT5yZWRpcmVjdGVk
V2luZG93KQogICAgICAgICByZXR1cm47CkBAIC0xMzQxLDcgKzEzNDcsNyBAQCB2b2lkIHdlYmtp
dFdlYlZpZXdCYXNlRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShXZWJLaXRXZWJWaWV3
QmFzZSogd2Via2l0VwogCiB2b2lkIHdlYmtpdFdlYlZpZXdCYXNlRXhpdEFjY2VsZXJhdGVkQ29t
cG9zaXRpbmdNb2RlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSkKIHsKLSNp
ZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKFgxMSkKKyNpZiBVU0UoUkVESVJF
Q1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKICAgICBXZWJLaXRXZWJWaWV3QmFzZVByaXZhdGUqIHBy
aXYgPSB3ZWJraXRXZWJWaWV3QmFzZS0+cHJpdjsKICAgICBpZiAocHJpdi0+cmVkaXJlY3RlZFdp
bmRvdykKICAgICAgICAgcHJpdi0+cmVkaXJlY3RlZFdpbmRvdy0+cmVzaXplKEludFNpemUoKSk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29t
cG9zaXRlV2luZG93LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3Rl
ZFhDb21wb3NpdGVXaW5kb3cuY3BwCmluZGV4IGIzMTFmY2IuLjQ0NGY4NjQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3Np
dGVXaW5kb3cuY3BwCkBAIC0yNyw3ICsyNyw3IEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5j
bHVkZSAiUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3cuaCIKIAotI2lmIFVTRShURVhUVVJFX01B
UFBFUl9HTCkgJiYgUExBVEZPUk0oWDExKQorI2lmIFVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVf
V0lORE9XKQogCiAjaW5jbHVkZSA8WDExL2V4dGVuc2lvbnMvWGNvbXBvc2l0ZS5oPgogI2luY2x1
ZGUgPFgxMS9leHRlbnNpb25zL1hkYW1hZ2UuaD4KQEAgLTI4Miw0ICsyODIsNCBAQCBjYWlyb19z
dXJmYWNlX3QqIFJlZGlyZWN0ZWRYQ29tcG9zaXRlV2luZG93OjpzdXJmYWNlKCkKIAogfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQogCi0jZW5kaWYgLy8gVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQ
TEFURk9STShYMTEpCisjZW5kaWYgLy8gVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRYQ29t
cG9zaXRlV2luZG93LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1JlZGlyZWN0ZWRY
Q29tcG9zaXRlV2luZG93LmgKaW5kZXggYTQwYWUwYi4uM2FhNGZmNSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2d0ay9SZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvdy5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsvUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5k
b3cuaApAQCAtMjcsNyArMjcsNyBAQAogI2lmbmRlZiAgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5k
b3dfaAogI2RlZmluZSAgUmVkaXJlY3RlZFhDb21wb3NpdGVXaW5kb3dfaAogCi0jaWYgVVNFKFRF
WFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShYMTEpCisjaWYgVVNFKFJFRElSRUNURURfWENP
TVBPU0lURV9XSU5ET1cpCiAKICNpbmNsdWRlIDxXZWJDb3JlL0ludFNpemUuaD4KICNpbmNsdWRl
IDxXZWJDb3JlL1JlZlB0ckNhaXJvLmg+CkBAIC02NCw2ICs2NCw2IEBAIHByaXZhdGU6CiAKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYgLy8gVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAm
JiBQTEFURk9STShYMTEpCisjZW5kaWYgLy8gVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5E
T1cpCiAKICNlbmRpZiAvLyBSZWRpcmVjdGVkWENvbXBvc2l0ZVdpbmRvd19oCmRpZmYgLS1naXQg
YS9Tb3VyY2UvY21ha2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RL
LmNtYWtlCmluZGV4IDhjNDg0MmMuLjE5MGMzODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9jbWFrZS9P
cHRpb25zR1RLLmNtYWtlCisrKyBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCkBAIC04
MiwxMCArODIsMTcgQEAgZW5kaWYgKCkKIAogV0VCS0lUX09QVElPTl9CRUdJTigpCiBXRUJLSVRf
T1BUSU9OX0RFRklORShFTkFCTEVfUExVR0lOX1BST0NFU1NfR1RLMiAiV2hldGhlciB0byBidWls
ZCBXZWJLaXRQbHVnaW5Qcm9jZXNzMiB0byBsb2FkIEdUSzIgYmFzZWQgcGx1Z2lucy4iIE9OKQor
V0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1JFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cgIldo
ZXRoZXIgdG8gdXNlIGEgUmVkaXJlY3RlZCBYQ29tcG9zaXRlIFdpbmRvdyBmb3IgYWNjZWxlcmF0
ZWQgY29tcG9zaXRpbmcgaW4gWDExLiIgT04pCiAKIGlmICgoT1BFTkdMX0ZPVU5EIE9SIE9QRU5H
TEVTMl9GT1VORCkgQU5EIChHTFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKICAgICBXRUJLSVRfT1BU
SU9OX0RFRkFVTFRfUE9SVF9WQUxVRShFTkFCTEVfV0VCR0wgT04pCiAKKyAgICBpZiAoRU5BQkxF
X1gxMV9UQVJHRVQpCisgICAgICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKFVT
RV9SRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XIE9OKQorICAgIGVsc2UgKCkKKyAgICAgICAg
V0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoVVNFX1JFRElSRUNURURfWENPTVBPU0lU
RV9XSU5ET1cgT0ZGKQorICAgIGVuZGlmICgpCisKICAgICBpZiAoT1BFTkdMX0ZPVU5EKQogICAg
ICAgICBpZiAoR0xYX0ZPVU5EKQogICAgICAgICAgICAgbGlzdChBUFBFTkQgQ0FJUk9fR0xfQ09N
UE9ORU5UUyBjYWlyby1nbHgpCkBAIC0xMDYsNiArMTEzLDcgQEAgaWYgKChPUEVOR0xfRk9VTkQg
T1IgT1BFTkdMRVMyX0ZPVU5EKSBBTkQgKEdMWF9GT1VORCBPUiBFR0xfRk9VTkQpKQogZWxzZSAo
KQogICAgIFdFQktJVF9PUFRJT05fREVGQVVMVF9QT1JUX1ZBTFVFKEVOQUJMRV9XRUJHTCBPRkYp
CiAgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoRU5BQkxFX0FDQ0VMRVJBVEVE
XzJEX0NBTlZBUyBPRkYpCisgICAgV0VCS0lUX09QVElPTl9ERUZBVUxUX1BPUlRfVkFMVUUoVVNF
X1JFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cgT0ZGKQogZW5kaWYgKCkKIAogaWYgKEVOQUJM
RV9BQ0NFTEVSQVRFRF8yRF9DQU5WQVMgQU5EIE5PVChDQUlST19HTF9GT1VORCkpCkBAIC0zNjAs
NiArMzY4LDEwIEBAIGlmICgoT1BFTkdMX0ZPVU5EIE9SIE9QRU5HTEVTMl9GT1VORCkgQU5EIChH
TFhfRk9VTkQgT1IgRUdMX0ZPVU5EKSkKICAgICBhZGRfZGVmaW5pdGlvbnMoLURXVEZfVVNFX1RF
WFRVUkVfTUFQUEVSX0dMPTEpCiAgICAgYWRkX2RlZmluaXRpb25zKC1ERU5BQkxFXzNEX1JFTkRF
UklORz0xKQogCisgICAgaWYgKEVOQUJMRV9YMTFfVEFSR0VUIEFORCBVU0VfUkVESVJFQ1RFRF9Y
Q09NUE9TSVRFX1dJTkRPVykKKyAgICAgICAgYWRkX2RlZmluaXRpb25zKC1EV1RGX1VTRV9SRURJ
UkVDVEVEX1hDT01QT1NJVEVfV0lORE9XPTEpCisgICAgZW5kaWYgKCkKKwogICAgIGlmIChPUEVO
R0xFUzJfRk9VTkQpCiAgICAgICAgIHNldChXVEZfVVNFX09QRU5HTF9FU18yIDEpCiAgICAgICAg
IGFkZF9kZWZpbml0aW9ucygtRFdURl9VU0VfT1BFTkdMX0VTXzI9MSkK
</data>
<flag name="review"
          id="273946"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>