<?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>135622</bug_id>
          
          <creation_ts>2014-08-05 14:39:44 -0700</creation_ts>
          <short_desc>REGRESSION (r164337): Pages are sometimes cut off/oriented incorrectly after using WKThumbnailView</short_desc>
          <delta_ts>2014-08-05 16:32:54 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Tim Horton">thorton</reporter>
          <assigned_to name="Tim Horton">thorton</assigned_to>
          <cc>bdakin</cc>
    
    <cc>jeffm</cc>
    
    <cc>mitz</cc>
    
    <cc>simon.fraser</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1026946</commentid>
    <comment_count>0</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-08-05 14:39:44 -0700</bug_when>
    <thetext>&lt;rdar://problem/17202556&gt;

WKThumbnailView sets a transform on the drawing area so that we can use low-resolution tiles scaled-up to full-size (and then back down again by clients) for the thumbnail view, but no client of WKThumbnailView intentionally uses this mode anymore; they all use snapshots of the content instead.

We were still pushing the &quot;thumbnail scale&quot; to the page even in snapshotting mode, because we would briefly use the WKView-layer-hosting mode while waiting for the asynchronous snapshot to come in, and would happily apply the transform to the drawing area, etc. If the page programmatically scrolled, however, we could apply the wrong sublayer transform when leaving (the identity would be the correct transform to apply), and would have no way to recover.

There&apos;s no need for any of this code, as it&apos;s perfectly fine to leave the existing tiles at their existing scale (no &quot;thumbnail scale&quot;) before quickly switching to a scaled snapshot (this only happens for views which were parented in the first place; so this is limited to 1 view for the only client). This will also slightly reduce the work the WebProcess does while installing a WKThumbnailView from a parented view.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026956</commentid>
    <comment_count>1</comment_count>
      <attachid>236051</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-08-05 15:22:30 -0700</bug_when>
    <thetext>Created attachment 236051
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026993</commentid>
    <comment_count>2</comment_count>
      <attachid>236051</attachid>
    <who name="">mitz</who>
    <bug_when>2014-08-05 16:25:03 -0700</bug_when>
    <thetext>Comment on attachment 236051
patch

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

&gt; Source/WebKit2/ChangeLog:48
&gt; +        Always return true from usesSnapshot; we only support snapshotting WKThumbnailViews.

s/true/YES/.

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKThumbnailView.h:43
&gt; +// This should be removed when all clients go away; it is always true now.

Ditto.

&gt; Source/WebKit2/UIProcess/API/Cocoa/_WKThumbnailView.mm:161
&gt; +// This should be removed when all clients go away; it is always true now.

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1026994</commentid>
    <comment_count>3</comment_count>
    <who name="Tim Horton">thorton</who>
    <bug_when>2014-08-05 16:32:54 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/172104</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>236051</attachid>
            <date>2014-08-05 15:22:30 -0700</date>
            <delta_ts>2014-08-05 16:25:02 -0700</delta_ts>
            <desc>patch</desc>
            <filename>snapshot.diff</filename>
            <type>text/plain</type>
            <size>18316</size>
            <attacher name="Tim Horton">thorton</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0No
YW5nZUxvZwppbmRleCBmMjM4MjU2Li5lY2FjM2IxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjcg
QEAKKzIwMTQtMDgtMDUgIFRpbSBIb3J0b24gIDx0aW1vdGh5X2hvcnRvbkBhcHBsZS5jb20+CisK
KyAgICAgICAgUkVHUkVTU0lPTiAocjE2NDMzNyk6IFBhZ2VzIGFyZSBzb21ldGltZXMgY3V0IG9m
Zi9vcmllbnRlZCBpbmNvcnJlY3RseSBhZnRlciB1c2luZyBXS1RodW1ibmFpbFZpZXcKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNTYyMgorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMTcyMDI1NTY+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgSW4gc29tZSBjYXNlcyAod2hlbiB0aGUgcGFnZSBjaGFuZ2Vk
IHNjcm9sbCBvZmZzZXQgd2hpbGUgdGh1bWJuYWlsZWQpLAorICAgICAgICB3aGVuIHRyYW5zaXRp
b25pbmcgYmFjayB0byB0aHVtYm5haWwgc2NhbGUgPSAxLCB3ZSB3b3VsZCBnZXQgdGhlIG1hdGgK
KyAgICAgICAgd3JvbmcgYW5kIGVuZCB1cCB3aXRoIGEgbm9uLWlkZW50aXR5IHN1YmxheWVyVHJh
bnNmb3JtIG9uIHRoZSBEcmF3aW5nQXJlYS4KKworICAgICAgICBMdWNraWx5LCBub25lIG9mIHRo
aXMgY29kZSBpcyBuZWNlc3NhcnkgYW55bW9yZSwgYXMgdGhlIG9ubHkgY2xpZW50CisgICAgICAg
IG9mIFdLVGh1bWJuYWlsVmlldyBvbmx5IHVzZXMgaXRzIHNuYXBzaG90dGluZyBtb2RlLgorCisg
ICAgICAgICogU2hhcmVkL0ltYWdlT3B0aW9ucy5oOgorICAgICAgICBSZW1vdmUgU25hcHNob3RP
cHRpb25zUmVzcGVjdERyYXdpbmdBcmVhVHJhbnNmb3JtOyBEcmF3aW5nQXJlYSBubyBsb25nZXIK
KyAgICAgICAgaGFzIGEgcm9vdExheWVyVHJhbnNmb3JtKCkuCisKKyAgICAgICAgKiBVSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzZXRU
aHVtYm5haWxTY2FsZSk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZTo6V2ViUGFnZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnNj
YWxlZFNuYXBzaG90V2l0aE9wdGlvbnMpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzbmFw
c2hvdEF0U2l6ZSk6CisgICAgICAgIAorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpzZXRUaHVt
Ym5haWxTY2FsZSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbjoK
KyAgICAgICAgUmVtb3ZlIHNldFRodW1ibmFpbFNjYWxlIGFuZCBTbmFwc2hvdE9wdGlvbnNSZXNw
ZWN0RHJhd2luZ0FyZWFUcmFuc2Zvcm0uCisKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OmRpZENvbW1pdExvYWQpOgor
ICAgICAgICBSZXZlcnQgdGhpcyB0byBpdHMgc3RhdGUgYmVmb3JlIHIxNjQzMzcsIGFzIHdlIG5v
IGxvbmdlciBoYXZlICJ0aHVtYm5haWwgc2NhbGUiLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tUaHVtYm5haWxWaWV3Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9fV0tUaHVtYm5haWxWaWV3Lm1tOgorICAgICAgICAoLVtfV0tUaHVtYm5haWxWaWV3IGluaXRX
aXRoRnJhbWU6ZnJvbVdLVmlldzpdKToKKyAgICAgICAgKC1bX1dLVGh1bWJuYWlsVmlldyBfdmll
d1dhc1VucGFyZW50ZWRdKToKKyAgICAgICAgKC1bX1dLVGh1bWJuYWlsVmlldyBfdmlld1dhc1Bh
cmVudGVkXSk6CisgICAgICAgICgtW19XS1RodW1ibmFpbFZpZXcgX3JlcXVlc3RTbmFwc2hvdElm
TmVlZGVkXSk6CisgICAgICAgICgtW19XS1RodW1ibmFpbFZpZXcgc2V0U2NhbGU6XSk6CisgICAg
ICAgIENsZWFuIHVwIGNvZGUgYXNzdW1pbmcgX3Nob3VsZEFwcGx5VGh1bWJuYWlsU2NhbGUgPSBO
TywgX3VzZXNTbmFwc2hvdCA9IFlFUy4KKworICAgICAgICAoLVtfV0tUaHVtYm5haWxWaWV3IHNl
dFVzZXNTbmFwc2hvdDpdKToKKyAgICAgICAgKC1bX1dLVGh1bWJuYWlsVmlldyB1c2VzU25hcHNo
b3RdKToKKyAgICAgICAgQWx3YXlzIHJldHVybiB0cnVlIGZyb20gdXNlc1NuYXBzaG90OyB3ZSBv
bmx5IHN1cHBvcnQgc25hcHNob3R0aW5nIFdLVGh1bWJuYWlsVmlld3MuCisgICAgICAgIElnbm9y
ZSBzZXRVc2VzU25hcHNob3QuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcu
bW06CisgICAgICAgICgtW1dLVmlldyBfc2V0VGh1bWJuYWlsVmlldzpdKToKKyAgICAgICAgKC1b
V0tWaWV3IF91cGRhdGVUaHVtYm5haWxWaWV3TGF5ZXJdKToKKyAgICAgICAgU3RvcCBjaGVja2lu
ZyB1c2VzU25hcHNob3Q7IGl0J3MgYWx3YXlzIHRydWUuCisKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmg6CisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbToK
KyAgICAgICAgKFdlYktpdDo6VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNldFJvb3RM
YXllclRyYW5zZm9ybSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6OnJvb3RMYXllclRy
YW5zZm9ybSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhOjpzZXRSb290TGF5ZXJUcmFuc2Zv
cm0pOiBEZWxldGVkLgorICAgICAgICBSZW1vdmUgcm9vdExheWVyVHJhbnNmb3JtKCkgYW5kIHNl
dFJvb3RMYXllclRyYW5zZm9ybSgpLgorCiAyMDE0LTA4LTA0ICBBbmR5IEVzdGVzICA8YWVzdGVz
QGFwcGxlLmNvbT4KIAogICAgICAgICBbaU9TXSBUaGUgcmF3IGJ5dGVzIG9mIGFuIGlXb3JrIGRv
Y3VtZW50J3MgUERGIHByZXZpZXcgYXJlIGRpc3BsYXllZCByYXRoZXIgdGhhbiB0aGUgUERGIGl0
c2VsZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0ltYWdlT3B0aW9ucy5oIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0ltYWdlT3B0aW9ucy5oCmluZGV4IDlkZTk0NDUuLjhiNjZj
MTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9JbWFnZU9wdGlvbnMuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvSW1hZ2VPcHRpb25zLmgKQEAgLTM3LDcgKzM3LDYgQEAg
ZW51bSB7CiAgICAgU25hcHNob3RPcHRpb25zRXhjbHVkZVNlbGVjdGlvbkhpZ2hsaWdodGluZyA9
IDEgPDwgMSwKICAgICBTbmFwc2hvdE9wdGlvbnNJblZpZXdDb29yZGluYXRlcyA9IDEgPDwgMiwK
ICAgICBTbmFwc2hvdE9wdGlvbnNQYWludFNlbGVjdGlvblJlY3RhbmdsZSA9IDEgPDwgMywKLSAg
ICBTbmFwc2hvdE9wdGlvbnNSZXNwZWN0RHJhd2luZ0FyZWFUcmFuc2Zvcm0gPSAxIDw8IDQsCiAg
ICAgU25hcHNob3RPcHRpb25zRXhjbHVkZURldmljZVNjYWxlRmFjdG9yID0gMSA8PCA1LAogfTsK
IHR5cGVkZWYgdWludDMyX3QgU25hcHNob3RPcHRpb25zOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUaHVtYm5haWxWaWV3LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1RodW1ibmFpbFZpZXcuaAppbmRleCA0ODg5NTk0
Li44ZTEwYTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1RodW1ibmFpbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL19XS1RodW1ibmFpbFZpZXcuaApAQCAtMzksNiArMzksOCBAQCBXS19DTEFTU19BVkFJTEFC
TEUoMTBfMTAsIDhfMCkKIC0gKGluc3RhbmNldHlwZSlpbml0V2l0aEZyYW1lOihOU1JlY3QpZnJh
bWUgZnJvbVdLVmlldzooV0tWaWV3ICopd2tWaWV3OwogCiBAcHJvcGVydHkgKG5vbmF0b21pYykg
Q0dGbG9hdCBzY2FsZTsKKworLy8gVGhpcyBzaG91bGQgYmUgcmVtb3ZlZCB3aGVuIGFsbCBjbGll
bnRzIGdvIGF3YXk7IGl0IGlzIGFsd2F5cyB0cnVlIG5vdy4KIEBwcm9wZXJ0eSAobm9uYXRvbWlj
KSBCT09MIHVzZXNTbmFwc2hvdDsKIAogQGVuZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUaHVtYm5haWxWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUaHVtYm5haWxWaWV3Lm1tCmluZGV4IGU3NjVmMzQuLmNh
YmY0ZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dL
VGh1bWJuYWlsVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29h
L19XS1RodW1ibmFpbFZpZXcubW0KQEAgLTUyLDggKzUyLDYgQEAgQGltcGxlbWVudGF0aW9uIF9X
S1RodW1ibmFpbFZpZXcgewogICAgIEJPT0wgX29yaWdpbmFsTWF5U3RhcnRNZWRpYVdoZW5Jbldp
bmRvdzsKICAgICBCT09MIF9vcmlnaW5hbFNvdXJjZVZpZXdJc0luV2luZG93OwogCi0gICAgQk9P
TCBfc2hvdWxkQXBwbHlUaHVtYm5haWxTY2FsZTsKLQogICAgIEJPT0wgX3NuYXBzaG90V2FzRGVm
ZXJyZWQ7CiAgICAgZG91YmxlIF9sYXN0U25hcHNob3RTY2FsZTsKIH0KQEAgLTc2LDE2ICs3NCwx
MSBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhGcmFtZTooTlNSZWN0KWZyYW1lIGZyb21XS1Zp
ZXc6KFdLVmlldyAqKXdrVmlldwogICAgIF9vcmlnaW5hbE1heVN0YXJ0TWVkaWFXaGVuSW5XaW5k
b3cgPSBfd2ViUGFnZVByb3h5LT5tYXlTdGFydE1lZGlhV2hlbkluV2luZG93KCk7CiAgICAgX29y
aWdpbmFsU291cmNlVmlld0lzSW5XaW5kb3cgPSAhIVtfd2tWaWV3IHdpbmRvd107CiAKLSAgICBf
c2hvdWxkQXBwbHlUaHVtYm5haWxTY2FsZSA9ICFfb3JpZ2luYWxTb3VyY2VWaWV3SXNJbldpbmRv
dzsKLQogICAgIHJldHVybiBzZWxmOwogfQogCiAtICh2b2lkKV92aWV3V2FzVW5wYXJlbnRlZAog
ewotICAgIGlmIChfc2hvdWxkQXBwbHlUaHVtYm5haWxTY2FsZSkKLSAgICAgICAgX3dlYlBhZ2VQ
cm94eS0+c2V0VGh1bWJuYWlsU2NhbGUoMSk7Ci0KICAgICBbX3drVmlldyBfc2V0VGh1bWJuYWls
VmlldzpuaWxdOwogCiAgICAgc2VsZi5sYXllci5jb250ZW50cyA9IG5pbDsKQEAgLTk5LDkgKzky
LDYgQEAgLSAodm9pZClfdmlld1dhc1BhcmVudGVkCiAgICAgaWYgKFtfd2tWaWV3IF90aHVtYm5h
aWxWaWV3XSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgaWYgKF9zaG91bGRBcHBseVRodW1ibmFp
bFNjYWxlKQotICAgICAgICBfd2ViUGFnZVByb3h5LT5zZXRUaHVtYm5haWxTY2FsZShfc2NhbGUp
OwotCiAgICAgaWYgKCFfb3JpZ2luYWxTb3VyY2VWaWV3SXNJbldpbmRvdykKICAgICAgICAgX3dl
YlBhZ2VQcm94eS0+c2V0TWF5U3RhcnRNZWRpYVdoZW5JbldpbmRvdyhmYWxzZSk7CiAKQEAgLTEx
MSw5ICsxMDEsNiBAQCAtICh2b2lkKV92aWV3V2FzUGFyZW50ZWQKIAogLSAodm9pZClfcmVxdWVz
dFNuYXBzaG90SWZOZWVkZWQKIHsKLSAgICBpZiAoIV91c2VzU25hcHNob3QpCi0gICAgICAgIHJl
dHVybjsKLQogICAgIGlmIChzZWxmLmxheWVyLmNvbnRlbnRzICYmIF9sYXN0U25hcHNob3RTY2Fs
ZSA9PSBfc2NhbGUpCiAgICAgICAgIHJldHVybjsKIApAQCAtMTI2LDcgKzExMyw3IEBAIC0gKHZv
aWQpX3JlcXVlc3RTbmFwc2hvdElmTmVlZGVkCiAKICAgICBSZXRhaW5QdHI8X1dLVGh1bWJuYWls
Vmlldz4gdGh1bWJuYWlsVmlldyA9IHNlbGY7CiAgICAgSW50UmVjdCBzbmFwc2hvdFJlY3QoSW50
UG9pbnQoKSwgX3dlYlBhZ2VQcm94eS0+dmlld1NpemUoKSAtIEludFNpemUoMCwgX3dlYlBhZ2VQ
cm94eS0+dG9wQ29udGVudEluc2V0KCkpKTsKLSAgICBTbmFwc2hvdE9wdGlvbnMgb3B0aW9ucyA9
IFNuYXBzaG90T3B0aW9uc1Jlc3BlY3REcmF3aW5nQXJlYVRyYW5zZm9ybSB8IFNuYXBzaG90T3B0
aW9uc0luVmlld0Nvb3JkaW5hdGVzOworICAgIFNuYXBzaG90T3B0aW9ucyBvcHRpb25zID0gU25h
cHNob3RPcHRpb25zSW5WaWV3Q29vcmRpbmF0ZXM7CiAgICAgSW50U2l6ZSBiaXRtYXBTaXplID0g
c25hcHNob3RSZWN0LnNpemUoKTsKICAgICBiaXRtYXBTaXplLnNjYWxlKF9zY2FsZSAqIF93ZWJQ
YWdlUHJveHktPmRldmljZVNjYWxlRmFjdG9yKCkpOwogICAgIF9sYXN0U25hcHNob3RTY2FsZSA9
IF9zY2FsZTsKQEAgLTE2NiwzMSArMTUzLDE5IEBAIC0gKHZvaWQpc2V0U2NhbGU6KENHRmxvYXQp
c2NhbGUKIAogICAgIF9zY2FsZSA9IHNjYWxlOwogCi0gICAgaWYgKHNlbGYud2luZG93ICYmIF9z
aG91bGRBcHBseVRodW1ibmFpbFNjYWxlKQotICAgICAgICBfd2ViUGFnZVByb3h5LT5zZXRUaHVt
Ym5haWxTY2FsZShfc2NhbGUpOwotCi0gICAgaWYgKF91c2VzU25hcHNob3QpCi0gICAgICAgIFtz
ZWxmIF9yZXF1ZXN0U25hcHNob3RJZk5lZWRlZF07CisgICAgW3NlbGYgX3JlcXVlc3RTbmFwc2hv
dElmTmVlZGVkXTsKIAogICAgIHNlbGYubGF5ZXIuc3VibGF5ZXJUcmFuc2Zvcm0gPSBDQVRyYW5z
Zm9ybTNETWFrZVNjYWxlKF9zY2FsZSwgX3NjYWxlLCAxKTsKIH0KIAorLy8gVGhpcyBzaG91bGQg
YmUgcmVtb3ZlZCB3aGVuIGFsbCBjbGllbnRzIGdvIGF3YXk7IGl0IGlzIGFsd2F5cyB0cnVlIG5v
dy4KIC0gKHZvaWQpc2V0VXNlc1NuYXBzaG90OihCT09MKXVzZXNTbmFwc2hvdAogewotICAgIGlm
IChfdXNlc1NuYXBzaG90ID09IHVzZXNTbmFwc2hvdCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAg
X3VzZXNTbmFwc2hvdCA9IHVzZXNTbmFwc2hvdDsKLQotICAgIGlmICghc2VsZi53aW5kb3cpCi0g
ICAgICAgIHJldHVybjsKK30KIAotICAgIGlmICh1c2VzU25hcHNob3QpCi0gICAgICAgIFtzZWxm
IF9yZXF1ZXN0U25hcHNob3RJZk5lZWRlZF07Ci0gICAgZWxzZSB7Ci0gICAgICAgIF93ZWJQYWdl
UHJveHktPnNldFRodW1ibmFpbFNjYWxlKF9zY2FsZSk7Ci0gICAgICAgIFtfd2tWaWV3IF9yZXBh
cmVudExheWVyVHJlZUluVGh1bWJuYWlsVmlld107Ci0gICAgfQorLSAoQk9PTCl1c2VzU25hcHNo
b3QKK3sKKyAgICByZXR1cm4gWUVTOwogfQogCiAtICh2b2lkKV9zZXRUaHVtYm5haWxMYXllcjoo
Q0FMYXllciAqKWxheWVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L21hYy9XS1ZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL21hYy9XS1ZpZXcu
bW0KaW5kZXggNWM5NzY4YS4uZTY4NmI4ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9tYWMvV0tWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvbWFjL1dLVmlldy5tbQpAQCAtMzU0Nyw5ICszNTQ3LDYgQEAgLSAodm9pZClfc2V0VGh1bWJu
YWlsVmlldzooX1dLVGh1bWJuYWlsVmlldyAqKXRodW1ibmFpbFZpZXcKICAgICAgICAgW3NlbGYg
X3VwZGF0ZVRodW1ibmFpbFZpZXdMYXllcl07CiAgICAgZWxzZQogICAgICAgICBbc2VsZiBfc2V0
QWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGVSb290TGF5ZXI6X2RhdGEtPl9yb290TGF5ZXIuZ2V0
KCldOwotCi0gICAgaWYgKCF0aHVtYm5haWxWaWV3LnVzZXNTbmFwc2hvdCkKLSAgICAgICAgX2Rh
dGEtPl9wYWdlLT52aWV3U3RhdGVEaWRDaGFuZ2UoVmlld1N0YXRlOjpXaW5kb3dJc0FjdGl2ZSB8
IFZpZXdTdGF0ZTo6SXNJbldpbmRvdyB8IFZpZXdTdGF0ZTo6SXNWaXNpYmxlKTsKIH0KIAogLSAo
X1dLVGh1bWJuYWlsVmlldyAqKV90aHVtYm5haWxWaWV3CkBAIC0zNTYyLDcgKzM1NTksNyBAQCAt
ICh2b2lkKV91cGRhdGVUaHVtYm5haWxWaWV3TGF5ZXIKICAgICBfV0tUaHVtYm5haWxWaWV3ICp0
aHVtYm5haWxWaWV3ID0gX2RhdGEtPl90aHVtYm5haWxWaWV3OwogICAgIEFTU0VSVCh0aHVtYm5h
aWxWaWV3KTsKIAotICAgIGlmICghdGh1bWJuYWlsVmlldy51c2VzU25hcHNob3QgfHwgKHRodW1i
bmFpbFZpZXcuX3dhaXRpbmdGb3JTbmFwc2hvdCAmJiBzZWxmLndpbmRvdykpCisgICAgaWYgKHRo
dW1ibmFpbFZpZXcuX3dhaXRpbmdGb3JTbmFwc2hvdCAmJiBzZWxmLndpbmRvdykKICAgICAgICAg
W3NlbGYgX3JlcGFyZW50TGF5ZXJUcmVlSW5UaHVtYm5haWxWaWV3XTsKIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA4OWE2MGZjLi4wZTU2MGFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtNTA1MiwxNCAr
NTA1Miw2IEBAIHZvaWQgV2ViUGFnZVByb3h5Ojp1bndyYXBDcnlwdG9LZXkoY29uc3QgVmVjdG9y
PHVpbnQ4X3Q+JiB3cmFwcGVkS2V5LCBib29sJiBzdWNjCiB9CiAjZW5kaWYKIAotdm9pZCBXZWJQ
YWdlUHJveHk6OnNldFRodW1ibmFpbFNjYWxlKGRvdWJsZSBzY2FsZSkKLXsKLSAgICBpZiAoIWlz
VmFsaWQoKSkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgbV9wcm9jZXNzLT5zZW5kKE1lc3NhZ2Vz
OjpXZWJQYWdlOjpTZXRUaHVtYm5haWxTY2FsZShzY2FsZSksIG1fcGFnZUlEKTsKLX0KLQogdm9p
ZCBXZWJQYWdlUHJveHk6OmFkZE1JTUVUeXBlV2l0aEN1c3RvbUNvbnRlbnRQcm92aWRlcihjb25z
dCBTdHJpbmcmIG1pbWVUeXBlKQogewogICAgIG1fcHJvY2Vzcy0+c2VuZChNZXNzYWdlczo6V2Vi
UGFnZTo6QWRkTUlNRVR5cGVXaXRoQ3VzdG9tQ29udGVudFByb3ZpZGVyKG1pbWVUeXBlKSwgbV9w
YWdlSUQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGE2NGI5
MzUuLjk2NWYzYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAg
LTkwMSw4ICs5MDEsNiBAQCBwdWJsaWM6CiAgICAgdm9pZCB1bndyYXBDcnlwdG9LZXkoY29uc3Qg
VmVjdG9yPHVpbnQ4X3Q+JiwgYm9vbCYgc3VjY2VlZGVkLCBWZWN0b3I8dWludDhfdD4mKTsKICNl
bmRpZgogCi0gICAgdm9pZCBzZXRUaHVtYm5haWxTY2FsZShkb3VibGUpOwotCiAgICAgdm9pZCB0
YWtlU25hcHNob3QoV2ViQ29yZTo6SW50UmVjdCwgV2ViQ29yZTo6SW50U2l6ZSBiaXRtYXBTaXpl
LCBTbmFwc2hvdE9wdGlvbnMsIHN0ZDo6ZnVuY3Rpb248dm9pZCAoY29uc3QgU2hhcmVhYmxlQml0
bWFwOjpIYW5kbGUmLCBDYWxsYmFja0Jhc2U6OkVycm9yKT4pOwogCiAgICAgdm9pZCBuYXZpZ2F0
aW9uR2VzdHVyZURpZEJlZ2luKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0RyYXdpbmdBcmVhLmNwcAppbmRleCA4YzhlM2NiLi40MTQ2M2I5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAKQEAgLTg3
LDExICs4Nyw2IEBAIHZvaWQgRHJhd2luZ0FyZWE6OmRpc3BhdGNoQWZ0ZXJFbnN1cmluZ1VwZGF0
ZWRTY3JvbGxQb3NpdGlvbihzdGQ6OmZ1bmN0aW9uPHZvaWQKICAgICBmdW5jdGlvbigpOwogfQog
Ci1UcmFuc2Zvcm1hdGlvbk1hdHJpeCBEcmF3aW5nQXJlYTo6cm9vdExheWVyVHJhbnNmb3JtKCkg
Y29uc3QKLXsKLSAgICByZXR1cm4gVHJhbnNmb3JtYXRpb25NYXRyaXgoKTsKLX0KLQogI2lmIFVT
RShSRVFVRVNUX0FOSU1BVElPTl9GUkFNRV9ESVNQTEFZX01PTklUT1IpCiBQYXNzUmVmUHRyPFdl
YkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gRHJhd2luZ0FyZWE6OmNyZWF0ZURpc3BsYXlS
ZWZyZXNoTW9uaXRvcihQbGF0Zm9ybURpc3BsYXlJRCkKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKaW5kZXggMDY1MjhlYS4uMWE2Mjc5MyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVh
LmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgK
QEAgLTEwNyw5ICsxMDcsNiBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBQYXNzUmVmUHRyPFdlYkNv
cmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4gY3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFBs
YXRmb3JtRGlzcGxheUlEKTsKICNlbmRpZgogCi0gICAgdmlydHVhbCBXZWJDb3JlOjpUcmFuc2Zv
cm1hdGlvbk1hdHJpeCByb290TGF5ZXJUcmFuc2Zvcm0oKSBjb25zdDsKLSAgICB2aXJ0dWFsIHZv
aWQgc2V0Um9vdExheWVyVHJhbnNmb3JtKGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0
cml4JikgeyB9Ci0KICNpZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCiAgICAgdmlydHVhbCB2
b2lkIGRpZFJlY2VpdmVDb29yZGluYXRlZExheWVyVHJlZUhvc3RNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiosIElQQzo6TWVzc2FnZURlY29kZXImKSA9IDA7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCAwOTZmNzQxLi5mMzhlNDc3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBA
IC0zMjAsOCArMzIwLDYgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0
IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgLCBtX3ZpZXdTdGF0
ZShwYXJhbWV0ZXJzLnZpZXdTdGF0ZSkKICAgICAsIG1fcHJvY2Vzc1N1cHByZXNzaW9uRGlzYWJs
ZWRCeVdlYlByZWZlcmVuY2UoIlByb2Nlc3Mgc3VwcHJlc3Npb24gaXMgZGlzYWJsZWQuIikKICAg
ICAsIG1fcGVuZGluZ05hdmlnYXRpb25JRCgwKQotICAgICwgbV9wYWdlU2NhbGVXaXRob3V0VGh1
bWJuYWlsU2NhbGUoMSkKLSAgICAsIG1fdGh1bWJuYWlsU2NhbGUoMSkKICNpZiBFTkFCTEUoV0VC
R0wpCiAgICAgLCBtX3N5c3RlbVdlYkdMUG9saWN5KFdlYkdMQWxsb3dDcmVhdGlvbikKICNlbmRp
ZgpAQCAtMTYzMyw5ICsxNjMxLDYgQEAgdm9pZCBXZWJQYWdlOjp0YWtlU25hcHNob3QoSW50UmVj
dCBzbmFwc2hvdFJlY3QsIEludFNpemUgYml0bWFwU2l6ZSwgdWludDMyX3Qgb3AKIFBhc3NSZWZQ
dHI8V2ViSW1hZ2U+IFdlYlBhZ2U6OnNjYWxlZFNuYXBzaG90V2l0aE9wdGlvbnMoY29uc3QgSW50
UmVjdCYgcmVjdCwgZG91YmxlIGFkZGl0aW9uYWxTY2FsZUZhY3RvciwgU25hcHNob3RPcHRpb25z
IG9wdGlvbnMpCiB7CiAgICAgSW50UmVjdCBzbmFwc2hvdFJlY3QgPSByZWN0OwotICAgIGlmIChv
cHRpb25zICYgU25hcHNob3RPcHRpb25zUmVzcGVjdERyYXdpbmdBcmVhVHJhbnNmb3JtKQotICAg
ICAgICBzbmFwc2hvdFJlY3QgPSBtX2RyYXdpbmdBcmVhLT5yb290TGF5ZXJUcmFuc2Zvcm0oKS5p
bnZlcnNlKCkubWFwUmVjdChzbmFwc2hvdFJlY3QpOwotCiAgICAgSW50U2l6ZSBiaXRtYXBTaXpl
ID0gc25hcHNob3RSZWN0LnNpemUoKTsKICAgICBkb3VibGUgc2NhbGVGYWN0b3IgPSBhZGRpdGlv
bmFsU2NhbGVGYWN0b3I7CiAgICAgaWYgKCEob3B0aW9ucyAmIFNuYXBzaG90T3B0aW9uc0V4Y2x1
ZGVEZXZpY2VTY2FsZUZhY3RvcikpCkBAIC0xNjU2LDkgKzE2NTEsNiBAQCBQYXNzUmVmUHRyPFdl
YkltYWdlPiBXZWJQYWdlOjpzbmFwc2hvdEF0U2l6ZShjb25zdCBJbnRSZWN0JiByZWN0LCBjb25z
dCBJbnRTaXplJgogICAgICAgICByZXR1cm4gbnVsbHB0cjsKIAogICAgIEludFJlY3Qgc25hcHNo
b3RSZWN0ID0gcmVjdDsKLSAgICBpZiAob3B0aW9ucyAmIFNuYXBzaG90T3B0aW9uc1Jlc3BlY3RE
cmF3aW5nQXJlYVRyYW5zZm9ybSkKLSAgICAgICAgc25hcHNob3RSZWN0ID0gbV9kcmF3aW5nQXJl
YS0+cm9vdExheWVyVHJhbnNmb3JtKCkuaW52ZXJzZSgpLm1hcFJlY3Qoc25hcHNob3RSZWN0KTsK
LQogICAgIGZsb2F0IGhvcml6b250YWxTY2FsZUZhY3RvciA9IHN0YXRpY19jYXN0PGZsb2F0Pihi
aXRtYXBTaXplLndpZHRoKCkpIC8gcmVjdC53aWR0aCgpOwogICAgIGZsb2F0IHZlcnRpY2FsU2Nh
bGVGYWN0b3IgPSBzdGF0aWNfY2FzdDxmbG9hdD4oYml0bWFwU2l6ZS5oZWlnaHQoKSkgLyByZWN0
LmhlaWdodCgpOwogICAgIGZsb2F0IHNjYWxlRmFjdG9yID0gc3RkOjptYXgoaG9yaXpvbnRhbFNj
YWxlRmFjdG9yLCB2ZXJ0aWNhbFNjYWxlRmFjdG9yKTsKQEAgLTQ0NTgsMTMgKzQ0NTAsOCBAQCB2
b2lkIFdlYlBhZ2U6OmRpZENvbW1pdExvYWQoV2ViRnJhbWUqIGZyYW1lKQogICAgIGlmIChmcmFt
ZS0+Y29yZUZyYW1lKCktPmxvYWRlcigpLmxvYWRUeXBlKCkgPT0gRnJhbWVMb2FkVHlwZTo6U3Rh
bmRhcmQpIHsKICAgICAgICAgUGFnZSogcGFnZSA9IGZyYW1lLT5jb3JlRnJhbWUoKS0+cGFnZSgp
OwogCi0gICAgICAgIGlmIChwYWdlKSB7Ci0gICAgICAgICAgICBpZiAobV90aHVtYm5haWxTY2Fs
ZSAhPSAxKSB7Ci0gICAgICAgICAgICAgICAgbV9wYWdlU2NhbGVXaXRob3V0VGh1bWJuYWlsU2Nh
bGUgPSAxOwotICAgICAgICAgICAgICAgIHNldFRodW1ibmFpbFNjYWxlKG1fdGh1bWJuYWlsU2Nh
bGUpOwotICAgICAgICAgICAgfSBlbHNlIGlmIChwYWdlLT5wYWdlU2NhbGVGYWN0b3IoKSAhPSAx
KQotICAgICAgICAgICAgICAgIHNjYWxlUGFnZSgxLCBJbnRQb2ludCgpKTsKLSAgICAgICAgfQor
ICAgICAgICBpZiAocGFnZSAmJiBwYWdlLT5wYWdlU2NhbGVGYWN0b3IoKSAhPSAxKQorICAgICAg
ICAgICAgc2NhbGVQYWdlKDEsIEludFBvaW50KCkpOwogICAgIH0KICNpZiBQTEFURk9STShJT1Mp
CiAgICAgbV9oYXNSZWNlaXZlZFZpc2libGVDb250ZW50UmVjdHNBZnRlckRpZENvbW1pdExvYWQg
PSBmYWxzZTsKQEAgLTQ3NTEsNDAgKzQ3MzgsNiBAQCBQYXNzUmVmUHRyPERvY3VtZW50TG9hZGVy
PiBXZWJQYWdlOjpjcmVhdGVEb2N1bWVudExvYWRlcihGcmFtZSYgZnJhbWUsIGNvbnN0IFJlcwog
ICAgIHJldHVybiBkb2N1bWVudExvYWRlci5yZWxlYXNlKCk7CiB9CiAKLXZvaWQgV2ViUGFnZTo6
c2V0VGh1bWJuYWlsU2NhbGUoZG91YmxlIHRodW1ibmFpbFNjYWxlKQotewotICAgIC8vIEZJWE1F
ICgxMjkwMTQpOiBJZiB0aGUgcGFnZSBwcm9ncmFtbWF0aWNhbGx5IHNjYWxlcyB3aGlsZSB0aHVt
Ym5haWxlZCwgd2Ugd2lsbCByZXN0b3JlIHRoZSB3cm9uZyBzY3JvbGwgcG9zaXRpb24uCi0KLSAg
ICBBU1NFUlRfQVJHKHRodW1ibmFpbFNjYWxlLCB0aHVtYm5haWxTY2FsZSA+IDApOwotCi0gICAg
ZG91YmxlIGN1cnJlbnRQYWdlU2NhbGVGYWN0b3IgPSBwYWdlU2NhbGVGYWN0b3IoKTsKLQotICAg
IGlmICh0aHVtYm5haWxTY2FsZSA9PSBtX3RodW1ibmFpbFNjYWxlICYmIGN1cnJlbnRQYWdlU2Nh
bGVGYWN0b3IgPT0gbV90aHVtYm5haWxTY2FsZSAqIG1fcGFnZVNjYWxlV2l0aG91dFRodW1ibmFp
bFNjYWxlKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV90aHVtYm5haWxTY2FsZSA9PSAx
KSB7Ci0gICAgICAgIG1fcGFnZVNjYWxlV2l0aG91dFRodW1ibmFpbFNjYWxlID0gY3VycmVudFBh
Z2VTY2FsZUZhY3RvcjsKLSAgICAgICAgbV9zY3JvbGxQb3NpdGlvbklnbm9yaW5nVGh1bWJuYWls
U2NhbGUgPSBtX3BhZ2UtPm1haW5GcmFtZSgpLnZpZXcoKS0+c2Nyb2xsUG9zaXRpb24oKTsKLSAg
ICB9Ci0KLSAgICBtX3RodW1ibmFpbFNjYWxlID0gdGh1bWJuYWlsU2NhbGU7Ci0KLSAgICAvLyBT
Y2FsZSB0aGUgcGFnZSwgYnV0IGxlYXZlIHRoZSBvcmlnaW5hbCBwYWdlIHNjYWxlIGludGFjdCBp
ZiB0aGVyZSB3YXMgYW55LgotICAgIHNjYWxlUGFnZShtX3RodW1ibmFpbFNjYWxlICogbV9wYWdl
U2NhbGVXaXRob3V0VGh1bWJuYWlsU2NhbGUsIEludFBvaW50KCkpOwotCi0gICAgLy8gU2Nyb2xs
IGFzIGZhciBhcyB3ZSBjYW4gdG93YXJkcyB0aGUgb3JpZ2luYWwgc2Nyb2xsIHBvc2l0aW9uIGlu
IHRoZSBzY2FsZWQgcGFnZS4KLSAgICAvLyBUaGlzIG1heSBnZXQgY29uc3RyYWluZWQ7IHdlJ2xs
IHRyYW5zZm9ybSB0aGUgZHJhd2luZyBhcmVhIHRvIGV4cG9zZSB0aGUgcmlnaHQgcGFydCBvZiB0
aGUgcGFnZS4KLSAgICBtX3BhZ2UtPm1haW5GcmFtZSgpLnZpZXcoKS0+c2V0U2Nyb2xsUG9zaXRp
b24oSW50UG9pbnQobV9zY3JvbGxQb3NpdGlvbklnbm9yaW5nVGh1bWJuYWlsU2NhbGUueCgpICog
bV90aHVtYm5haWxTY2FsZSwgbV9zY3JvbGxQb3NpdGlvbklnbm9yaW5nVGh1bWJuYWlsU2NhbGUu
eSgpICogbV90aHVtYm5haWxTY2FsZSkpOwotCi0gICAgZG91YmxlIGludmVyc2VTY2FsZSA9IDEg
LyBtX3RodW1ibmFpbFNjYWxlOwotICAgIEludFBvaW50IG5ld1Njcm9sbFBvc2l0aW9uID0gbV9w
YWdlLT5tYWluRnJhbWUoKS52aWV3KCktPnNjcm9sbFBvc2l0aW9uKCk7Ci0gICAgVHJhbnNmb3Jt
YXRpb25NYXRyaXggdHJhbnNmb3JtOwotICAgIHRyYW5zZm9ybS50cmFuc2xhdGUoKG5ld1Njcm9s
bFBvc2l0aW9uLngoKSAqIGludmVyc2VTY2FsZSkgLSBtX3Njcm9sbFBvc2l0aW9uSWdub3JpbmdU
aHVtYm5haWxTY2FsZS54KCksIChuZXdTY3JvbGxQb3NpdGlvbi55KCkgKiBpbnZlcnNlU2NhbGUp
IC0gbV9zY3JvbGxQb3NpdGlvbklnbm9yaW5nVGh1bWJuYWlsU2NhbGUueSgpKTsKLSAgICB0cmFu
c2Zvcm0uc2NhbGUoaW52ZXJzZVNjYWxlKTsKLQotICAgIGRyYXdpbmdBcmVhKCktPnNldFJvb3RM
YXllclRyYW5zZm9ybSh0cmFuc2Zvcm0pOwotfQotCiB2b2lkIFdlYlBhZ2U6OmdldEJ5dGVjb2Rl
UHJvZmlsZSh1aW50NjRfdCBjYWxsYmFja0lEKQogewogICAgIEFTU0VSVChKU0RPTVdpbmRvdzo6
Y29tbW9uVk0oKS5tX3BlckJ5dGVjb2RlUHJvZmlsZXIpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKaW5kZXggNmNkZjcwYS4uODhhOTYxNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC0zOTEsOCArMzkxLDYg
QEAgcHVibGljOgogICAgIHZvaWQgYWRkUGx1Z2luVmlldyhQbHVnaW5WaWV3Kik7CiAgICAgdm9p
ZCByZW1vdmVQbHVnaW5WaWV3KFBsdWdpblZpZXcqKTsKIAotICAgIHZvaWQgc2V0VGh1bWJuYWls
U2NhbGUoZG91YmxlKTsKLQogICAgIGJvb2wgaXNWaXNpYmxlKCkgY29uc3QgeyByZXR1cm4gbV92
aWV3U3RhdGUgJiBXZWJDb3JlOjpWaWV3U3RhdGU6OklzVmlzaWJsZTsgfQogICAgIGJvb2wgaXNW
aXNpYmxlT3JPY2NsdWRlZCgpIGNvbnN0IHsgcmV0dXJuIG1fdmlld1N0YXRlICYgV2ViQ29yZTo6
Vmlld1N0YXRlOjpJc1Zpc2libGVPck9jY2x1ZGVkOyB9CiAKQEAgLTEyNzMsMTAgKzEyNzEsNiBA
QCBwcml2YXRlOgogCiAgICAgdWludDY0X3QgbV9wZW5kaW5nTmF2aWdhdGlvbklEOwogCi0gICAg
ZG91YmxlIG1fcGFnZVNjYWxlV2l0aG91dFRodW1ibmFpbFNjYWxlOwotICAgIFdlYkNvcmU6Oklu
dFBvaW50IG1fc2Nyb2xsUG9zaXRpb25JZ25vcmluZ1RodW1ibmFpbFNjYWxlOwotICAgIGRvdWJs
ZSBtX3RodW1ibmFpbFNjYWxlOwotCiAjaWYgRU5BQkxFKFdFQkdMKQogICAgIFdlYkNvcmU6Oldl
YkdMTG9hZFBvbGljeSBtX3N5c3RlbVdlYkdMUG9saWN5OwogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5tZXNzYWdlcy5pbiBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCmluZGV4
IDNmODRhNjguLmViZjcyMGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLm1lc3NhZ2VzLmluCkBAIC0zNzksOCArMzc5LDYgQEAgbWVzc2Fn
ZXMgLT4gV2ViUGFnZSBMZWdhY3lSZWNlaXZlciB7CiAgIAogICAgIFNldFNjcm9sbFBpbm5pbmdC
ZWhhdmlvcih1aW50MzJfdCBwaW5uaW5nKQogCi0gICAgU2V0VGh1bWJuYWlsU2NhbGUoZG91Ymxl
IHNjYWxlKQotCiAgICAgR2V0Qnl0ZWNvZGVQcm9maWxlKHVpbnQ2NF90IGNhbGxiYWNrSUQpCiAg
ICAgCiAgICAgVGFrZVNuYXBzaG90KFdlYkNvcmU6OkludFJlY3Qgc25hcHNob3RSZWN0LCBXZWJD
b3JlOjpJbnRTaXplIGJpdG1hcFNpemUsIHVpbnQzMl90IG9wdGlvbnMsIHVpbnQ2NF90IGNhbGxi
YWNrSUQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvbWFj
L1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmgKaW5kZXggYzMx
ZmMyNC4uYjgxYTRhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEu
aApAQCAtMTAzLDkgKzEwMyw2IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGFwcGx5VHJhbnNpZW50
Wm9vbVRvTGF5ZXJzKGRvdWJsZSBzY2FsZSwgV2ViQ29yZTo6RmxvYXRQb2ludCBvcmlnaW4pOwog
Ci0gICAgdmlydHVhbCBXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeCByb290TGF5ZXJUcmFu
c2Zvcm0oKSBjb25zdCBvdmVycmlkZSB7ICByZXR1cm4gbV90cmFuc2Zvcm07IH0KLSAgICB2aXJ0
dWFsIHZvaWQgc2V0Um9vdExheWVyVHJhbnNmb3JtKGNvbnN0IFdlYkNvcmU6OlRyYW5zZm9ybWF0
aW9uTWF0cml4Jikgb3ZlcnJpZGU7Ci0KICAgICB2b2lkIHVwZGF0ZUxheWVySG9zdGluZ0NvbnRl
eHQoKTsKIAogICAgIHZvaWQgc2V0Um9vdENvbXBvc2l0aW5nTGF5ZXIoQ0FMYXllciAqKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMvVGlsZWRDb3Jl
QW5pbWF0aW9uRHJhd2luZ0FyZWEubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvbWFjL1RpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLm1tCmluZGV4IDk0ZjQ3OTAuLjVl
ZDNlYTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9tYWMv
VGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL21hYy9UaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYS5tbQpAQCAt
NjkxLDEyICs2OTEsNiBAQCB2b2lkIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhOjphcHBs
eVRyYW5zaWVudFpvb21Ub1BhZ2UoZG91YmxlIHNjYWxlLCBGbG9hdAogICAgIGZsdXNoTGF5ZXJz
KCk7CiB9CiAKLXZvaWQgVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0FyZWE6OnNldFJvb3RMYXll
clRyYW5zZm9ybShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgdHJhbnNmb3JtKQotewotICAg
IG1fdHJhbnNmb3JtID0gdHJhbnNmb3JtOwotICAgIFttX3Jvb3RMYXllciBzZXRTdWJsYXllclRy
YW5zZm9ybTp0cmFuc2Zvcm1dOwotfQotCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI2VuZGlm
IC8vICFQTEFURk9STShJT1MpCg==
</data>
<flag name="review"
          id="260635"
          type_id="1"
          status="+"
          setter="mitz"
    />
          </attachment>
      

    </bug>

</bugzilla>