<?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>198748</bug_id>
          
          <creation_ts>2019-06-11 02:03:21 -0700</creation_ts>
          <short_desc>[GTK] Remove option REDIRECTED_XCOMPOSITE_WINDOW</short_desc>
          <delta_ts>2019-06-11 04:17:43 -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>WebKit 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>bugs-noreply</cc>
    
    <cc>zan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1543651</commentid>
    <comment_count>0</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-06-11 02:03:21 -0700</bug_when>
    <thetext>It&apos;s unused and untested, we kept that code path only because the redirected window caused performance issues in some drivers in embedded devices. Nowadays there are much better solutions for those cases like using WPE port or GTK port under wayland instead of X11.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543653</commentid>
    <comment_count>1</comment_count>
      <attachid>371833</attachid>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-06-11 02:11:18 -0700</bug_when>
    <thetext>Created attachment 371833
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1543666</commentid>
    <comment_count>2</comment_count>
    <who name="Carlos Garcia Campos">cgarcia</who>
    <bug_when>2019-06-11 04:17:43 -0700</bug_when>
    <thetext>Committed r246308: &lt;https://trac.webkit.org/changeset/246308&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>371833</attachid>
            <date>2019-06-11 02:11:18 -0700</date>
            <delta_ts>2019-06-11 02:14:03 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>wk2-kill-non-redirected-x-window.diff</filename>
            <type>text/plain</type>
            <size>37646</size>
            <attacher name="Carlos Garcia Campos">cgarcia</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA1OWNkY2NlMGMyMS4uOTA3
YTQxMDg0NmQgMTAwNjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMiBAQAorMjAxOS0wNi0xMSAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxp
YS5jb20+CisKKyAgICAgICAgW0dUS10gUmVtb3ZlIG9wdGlvbiBSRURJUkVDVEVEX1hDT01QT1NJ
VEVfV0lORE9XCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xOTg3NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICAqIFNvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlOiBSZW1vdmUgVVNFX1JFRElSRUNURURf
WENPTVBPU0lURV9XSU5ET1cgYnVpbGQgb3B0aW9uLgorCiAyMDE5LTA2LTEwICBTYW0gV2Vpbmln
ICA8d2VpbmlnQGFwcGxlLmNvbT4KIAogICAgICAgICBSZW1vdmUgRGFzaGJvYXJkIHN1cHBvcnQK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdC9DaGFu
Z2VMb2cKaW5kZXggNDkwNTcwYWVlNDIuLjY5ZDNiMTIzOTQzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwpAQCAtMSwzICsx
LDY3IEBACisyMDE5LTA2LTExICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlh
LmNvbT4KKworICAgICAgICBbR1RLXSBSZW1vdmUgb3B0aW9uIFJFRElSRUNURURfWENPTVBPU0lU
RV9XSU5ET1cKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTE5ODc0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IEl0J3MgdW51c2VkIGFuZCB1bnRlc3RlZCwgd2Uga2VwdCB0aGF0IGNvZGUgcGF0aCBvbmx5IGJl
Y2F1c2UgdGhlIHJlZGlyZWN0ZWQgd2luZG93IGNhdXNlZCBwZXJmb3JtYW5jZSBpc3N1ZXMgaW4K
KyAgICAgICAgc29tZSBkcml2ZXJzIGluIGVtYmVkZGVkIGRldmljZXMuIE5vd2FkYXlzIHRoZXJl
IGFyZSBtdWNoIGJldHRlciBzb2x1dGlvbnMgZm9yIHRob3NlIGNhc2VzIGxpa2UgdXNpbmcgV1BF
IHBvcnQKKyAgICAgICAgb3IgR1RLIHBvcnQgdW5kZXIgd2F5bGFuZCBpbnN0ZWFkIG9mIFgxMS4K
KworICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBv
c2l0b3I6OmNyZWF0ZSk6IFJlbW92ZSB0aGUgU2hvdWxkRG9GcmFtZVN5bmMgcGFyYW1ldGVyIHNp
bmNlIGl0IGFsd2F5cyByZWNlaXZlcyBZZXMuCisgICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29t
cG9zaXRvcjo6VGhyZWFkZWRDb21wb3NpdG9yKTogRGl0dG8uCisgICAgICAgIChXZWJLaXQ6OlRo
cmVhZGVkQ29tcG9zaXRvcjo6Y3JlYXRlR0xDb250ZXh0KTogUmVtb3ZlIHRoZSBjb2RlIHRvIGhh
bmRsZSB0aGUgY2FzZSBvZiBTaG91bGREb0ZyYW1lU3luYyBiZWluZyBObywKKyAgICAgICAgc2lu
Y2UgaXQncyBhbHdheXMgWWVzLgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6
OnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6IERlbGV0ZWQuCisgICAgICAg
ICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVk
Q29tcG9zaXRvci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvZ3RrL1dlYktpdFdlYlZpZXdC
YXNlLmNwcDoKKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlUmVhbGl6ZSk6IFJlbW92ZSB0aGUg
Y29kZSBmb3IgIVVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKS4KKyAgICAgICAgKHdl
YmtpdFdlYlZpZXdCYXNlVW5yZWFsaXplKTogRGl0dG8uCisgICAgICAgICh3ZWJraXRXZWJWaWV3
QmFzZURyYXcpOiBhY2NlbGVyYXRlZEJhY2tpbmdTdG9yZSBtZW1iZXIgY2FuJ3QgYmUgbnVsbHB0
ciBub3cuCisgICAgICAgICh3ZWJraXRXZWJWaWV3QmFzZUVudGVyQWNjZWxlcmF0ZWRDb21wb3Np
dGluZ01vZGUpOiBEaXR0by4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNlVXBkYXRlQWNjZWxl
cmF0ZWRDb21wb3NpdGluZ01vZGUpOiBEaXR0by4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdCYXNl
RXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKTogRGl0dG8uCisgICAgICAgICh3ZWJraXRX
ZWJWaWV3QmFzZU1ha2VHTENvbnRleHRDdXJyZW50KTogRGl0dG8uCisgICAgICAgICh3ZWJraXRX
ZWJWaWV3QmFzZURpZFJlbGF1bmNoV2ViUHJvY2Vzcyk6IFJlbW92ZSB0aGUgY29kZSBmb3IgIVVT
RShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKS4KKyAgICAgICAgKHdlYmtpdFdlYlZpZXdC
YXNlUGFnZUNsb3NlZCk6IERpdHRvLgorICAgICAgICAod2Via2l0V2ViVmlld0Jhc2VSZW5kZXJI
b3N0RmlsZURlc2NyaXB0b3IpOiBhY2NlbGVyYXRlZEJhY2tpbmdTdG9yZSBtZW1iZXIgY2FuJ3Qg
YmUgbnVsbHB0ciBub3cuCisgICAgICAgICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
RHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwOgorICAgICAgICAoV2ViS2l0
OjpEcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljczo6ZGlkVXBkYXRlQmFja2luZ1N0
b3JlU3RhdGUpOiBSZW1vdmUgdGhlIGNvZGUgZm9yICFVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRF
X1dJTkRPVykuCisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdy
YXBoaWNzOjpzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljczo6ZGVz
dHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyk6IERlbGV0ZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5h
dGVkR3JhcGhpY3MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0FjY2VsZXJhdGVkQmFja2lu
Z1N0b3JlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QWNjZWxlcmF0ZWRCYWNraW5nU3RvcmU6OmNy
ZWF0ZSk6IEFkZCBhbiBhc3NlcnQgdG8gZW5zdXJlIHdlIGNyZWF0ZSBhbiBBY2NlbGVyYXRlZEJh
Y2tpbmdTdG9yZS4KKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0FjY2VsZXJhdGVkQmFja2luZ1N0
b3JlWDExLmNwcDoKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL0FjY2VsZXJhdGVkQmFja2luZ1N0
b3JlWDExLmg6CisgICAgICAgICogVUlQcm9jZXNzL2d0ay9IYXJkd2FyZUFjY2VsZXJhdGlvbk1h
bmFnZXIuY3BwOgorICAgICAgICAoV2ViS2l0OjpIYXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXI6
OkhhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlcik6IFJlbW92ZSB0aGUgY29kZSBmb3IgIVVTRShS
RURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvQWNjZWxlcmF0ZWRTdXJmYWNlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6QWNjZWxlcmF0ZWRT
dXJmYWNlOjpjcmVhdGUpOiBBZGQgYW4gYXNzZXJ0IHRvIGVuc3VyZSB3ZSBjcmVhdGUgYW4gQWNj
ZWxlcmF0ZWRTdXJmYWNlLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OkRyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljczo6ZW50ZXJBY2NlbGVyYXRlZENv
bXBvc2l0aW5nTW9kZSk6IFJlbW92ZSB0aGUgY29kZSBmb3IgIVVTRShSRURJUkVDVEVEX1hDT01Q
T1NJVEVfV0lORE9XKS4KKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFDb29yZGluYXRlZEdy
YXBoaWNzOjpzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcpOiBEZWxldGVkLgor
ICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6OmRlc3Ryb3lO
YXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcpOiBEZWxldGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0
ZWRHcmFwaGljcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZUhvc3QuY3BwOgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0
OjpMYXllclRyZWVIb3N0KTogbV9zdXJmYWNlIGNhbid0IGJlIG51bGxwdHIgbm93LgorICAgICAg
ICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpzaXplRGlkQ2hhbmdlKTogRGl0dG8uCisgICAgICAg
IChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNjYWxlRmFjdG9yQ2hhbmdlZCk6
IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpMYXllclRyZWVIb3N0OjpuYXRpdmVTdXJmYWNlSGFu
ZGxlRm9yQ29tcG9zaXRpbmcpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9z
dDo6ZGlkRGVzdHJveUdMQ29udGV4dCk6IERpdHRvLgorICAgICAgICAoV2ViS2l0OjpMYXllclRy
ZWVIb3N0Ojp3aWxsUmVuZGVyRnJhbWUpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6TGF5ZXJU
cmVlSG9zdDo6ZGlkUmVuZGVyRnJhbWUpOiBEaXR0by4KKyAgICAgICAgKFdlYktpdDo6TGF5ZXJU
cmVlSG9zdDo6c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKTogRGVsZXRlZC4K
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVIb3N0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmg6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmg6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6Om5hdGl2ZVdpbmRvd0hhbmRsZSk6IERlbGV0ZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJQYWdlL2d0ay9BY2NlbGVyYXRlZFN1cmZhY2VYMTEuY3BwOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViUGFnZS9ndGsvQWNjZWxlcmF0ZWRTdXJmYWNlWDExLmg6CisKIDIwMTktMDYtMTAg
IEFuZHkgRXN0ZXMgIDxhZXN0ZXNAYXBwbGUuY29tPgogCiAgICAgICAgIFtpT1NdIFVzZSBQREZL
aXQgU1BJIGZvciB0YWtpbmcgc25hcHNob3RzIHdoZW4gdGhlIGhvc3RpbmcgYXBwIGlzIG5vdCBl
bnRpdGxlZCBmb3IgZ2xvYmFsIGNhcHR1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9z
aXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVh
ZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCmluZGV4IDUzMGRhODY0ODk4Li5l
ODRkNTJmOGM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRv
ci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCkBAIC00NSwxNCArNDUsMTMgQEAKIG5hbWVzcGFjZSBX
ZWJLaXQgewogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKLVJlZjxUaHJlYWRlZENvbXBvc2l0
b3I+IFRocmVhZGVkQ29tcG9zaXRvcjo6Y3JlYXRlKENsaWVudCYgY2xpZW50LCBUaHJlYWRlZERp
c3BsYXlSZWZyZXNoTW9uaXRvcjo6Q2xpZW50JiBkaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQs
IFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgY29uc3QgSW50U2l6ZSYgdmlld3BvcnRTaXpl
LCBmbG9hdCBzY2FsZUZhY3RvciwgU2hvdWxkRG9GcmFtZVN5bmMgZG9GcmFtZVN5bmMsIFRleHR1
cmVNYXBwZXI6OlBhaW50RmxhZ3MgcGFpbnRGbGFncykKK1JlZjxUaHJlYWRlZENvbXBvc2l0b3I+
IFRocmVhZGVkQ29tcG9zaXRvcjo6Y3JlYXRlKENsaWVudCYgY2xpZW50LCBUaHJlYWRlZERpc3Bs
YXlSZWZyZXNoTW9uaXRvcjo6Q2xpZW50JiBkaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQsIFBs
YXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgY29uc3QgSW50U2l6ZSYgdmlld3BvcnRTaXplLCBm
bG9hdCBzY2FsZUZhY3RvciwgVGV4dHVyZU1hcHBlcjo6UGFpbnRGbGFncyBwYWludEZsYWdzKQog
ewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IFRocmVhZGVkQ29tcG9zaXRvcihjbGllbnQsIGRp
c3BsYXlSZWZyZXNoTW9uaXRvckNsaWVudCwgZGlzcGxheUlELCB2aWV3cG9ydFNpemUsIHNjYWxl
RmFjdG9yLCBkb0ZyYW1lU3luYywgcGFpbnRGbGFncykpOworICAgIHJldHVybiBhZG9wdFJlZigq
bmV3IFRocmVhZGVkQ29tcG9zaXRvcihjbGllbnQsIGRpc3BsYXlSZWZyZXNoTW9uaXRvckNsaWVu
dCwgZGlzcGxheUlELCB2aWV3cG9ydFNpemUsIHNjYWxlRmFjdG9yLCBwYWludEZsYWdzKSk7CiB9
CiAKLVRocmVhZGVkQ29tcG9zaXRvcjo6VGhyZWFkZWRDb21wb3NpdG9yKENsaWVudCYgY2xpZW50
LCBUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6Q2xpZW50JiBkaXNwbGF5UmVmcmVzaE1v
bml0b3JDbGllbnQsIFBsYXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgY29uc3QgSW50U2l6ZSYg
dmlld3BvcnRTaXplLCBmbG9hdCBzY2FsZUZhY3RvciwgU2hvdWxkRG9GcmFtZVN5bmMgZG9GcmFt
ZVN5bmMsIFRleHR1cmVNYXBwZXI6OlBhaW50RmxhZ3MgcGFpbnRGbGFncykKK1RocmVhZGVkQ29t
cG9zaXRvcjo6VGhyZWFkZWRDb21wb3NpdG9yKENsaWVudCYgY2xpZW50LCBUaHJlYWRlZERpc3Bs
YXlSZWZyZXNoTW9uaXRvcjo6Q2xpZW50JiBkaXNwbGF5UmVmcmVzaE1vbml0b3JDbGllbnQsIFBs
YXRmb3JtRGlzcGxheUlEIGRpc3BsYXlJRCwgY29uc3QgSW50U2l6ZSYgdmlld3BvcnRTaXplLCBm
bG9hdCBzY2FsZUZhY3RvciwgVGV4dHVyZU1hcHBlcjo6UGFpbnRGbGFncyBwYWludEZsYWdzKQog
ICAgIDogbV9jbGllbnQoY2xpZW50KQotICAgICwgbV9kb0ZyYW1lU3luYyhkb0ZyYW1lU3luYykK
ICAgICAsIG1fcGFpbnRGbGFncyhwYWludEZsYWdzKQogICAgICwgbV9jb21wb3NpdGluZ1J1bkxv
b3Aoc3RkOjptYWtlX3VuaXF1ZTxDb21wb3NpdGluZ1J1bkxvb3A+KFt0aGlzXSB7IHJlbmRlckxh
eWVyVHJlZSgpOyB9KSkKICNpZiBVU0UoUkVRVUVTVF9BTklNQVRJT05fRlJBTUVfRElTUExBWV9N
T05JVE9SKQpAQCAtODgsMTQgKzg3LDggQEAgdm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OmNyZWF0
ZUdMQ29udGV4dCgpCiAgICAgQVNTRVJUKG1fbmF0aXZlU3VyZmFjZUhhbmRsZSk7CiAKICAgICBt
X2NvbnRleHQgPSBHTENvbnRleHQ6OmNyZWF0ZUNvbnRleHRGb3JXaW5kb3cocmVpbnRlcnByZXRf
Y2FzdDxHTE5hdGl2ZVdpbmRvd1R5cGU+KG1fbmF0aXZlU3VyZmFjZUhhbmRsZSksICZQbGF0Zm9y
bURpc3BsYXk6OnNoYXJlZERpc3BsYXlGb3JDb21wb3NpdGluZygpKTsKLSAgICBpZiAoIW1fY29u
dGV4dCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgaWYgKCFtX2NvbnRleHQtPm1ha2VDb250ZXh0
Q3VycmVudCgpKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAobV9kb0ZyYW1lU3luYyA9PSBT
aG91bGREb0ZyYW1lU3luYzo6Tm8pCi0gICAgICAgIG1fY29udGV4dC0+c3dhcEludGVydmFsKDAp
OworICAgIGlmIChtX2NvbnRleHQpCisgICAgICAgIG1fY29udGV4dC0+bWFrZUNvbnRleHRDdXJy
ZW50KCk7CiB9CiAKIHZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjppbnZhbGlkYXRlKCkKQEAgLTEz
OSwyMiArMTMyLDYgQEAgdm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OnJlc3VtZSgpCiAgICAgbV9j
b21wb3NpdGluZ1J1bkxvb3AtPnJlc3VtZSgpOwogfQogCi12b2lkIFRocmVhZGVkQ29tcG9zaXRv
cjo6c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90IGhhbmRsZSkK
LXsKLSAgICBtX2NvbXBvc2l0aW5nUnVuTG9vcC0+c3RvcFVwZGF0ZXMoKTsKLSAgICBtX2NvbXBv
c2l0aW5nUnVuTG9vcC0+cGVyZm9ybVRhc2tTeW5jKFt0aGlzLCBwcm90ZWN0ZWRUaGlzID0gbWFr
ZVJlZigqdGhpcyksIGhhbmRsZV0gewotICAgICAgICAvLyBBIG5ldyBuYXRpdmUgaGFuZGxlIGNh
bid0IGJlIHNldCB3aXRob3V0IGRlc3Ryb3lpbmcgdGhlIHByZXZpb3VzIG9uZSBmaXJzdCBpZiBh
bnkuCi0gICAgICAgIEFTU0VSVCghIWhhbmRsZSBeICEhbV9uYXRpdmVTdXJmYWNlSGFuZGxlKTsK
LSAgICAgICAgbV9uYXRpdmVTdXJmYWNlSGFuZGxlID0gaGFuZGxlOwotCi0gICAgICAgIG1fc2Nl
bmUtPnNldEFjdGl2ZSghIW1fbmF0aXZlU3VyZmFjZUhhbmRsZSk7Ci0gICAgICAgIGlmIChtX25h
dGl2ZVN1cmZhY2VIYW5kbGUpCi0gICAgICAgICAgICBjcmVhdGVHTENvbnRleHQoKTsKLSAgICAg
ICAgZWxzZQotICAgICAgICAgICAgbV9jb250ZXh0ID0gbnVsbHB0cjsKLSAgICB9KTsKLX0KLQog
dm9pZCBUaHJlYWRlZENvbXBvc2l0b3I6OnNldFNjYWxlRmFjdG9yKGZsb2F0IHNjYWxlKQogewog
ICAgIExvY2tIb2xkZXIgbG9ja2VyKG1fYXR0cmlidXRlcy5sb2NrKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9y
L1RocmVhZGVkQ29tcG9zaXRvci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmgKaW5kZXggN2Ux
NjczOGYzMGEuLjY2ZmUzZjE1NGU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9D
b29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3Iu
aAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVk
Y29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaApAQCAtNjEsMTIgKzYxLDkgQEAgcHVibGlj
OgogICAgICAgICB2aXJ0dWFsIHZvaWQgZGlkUmVuZGVyRnJhbWUoKSA9IDA7CiAgICAgfTsKIAot
ICAgIGVudW0gY2xhc3MgU2hvdWxkRG9GcmFtZVN5bmMgeyBObywgWWVzIH07Ci0KLSAgICBzdGF0
aWMgUmVmPFRocmVhZGVkQ29tcG9zaXRvcj4gY3JlYXRlKENsaWVudCYsIFRocmVhZGVkRGlzcGxh
eVJlZnJlc2hNb25pdG9yOjpDbGllbnQmLCBXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCwgY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYsIGZsb2F0IHNjYWxlRmFjdG9yLCBTaG91bGREb0ZyYW1lU3lu
YyA9IFNob3VsZERvRnJhbWVTeW5jOjpZZXMsIFdlYkNvcmU6OlRleHR1cmVNYXBwZXI6OlBhaW50
RmxhZ3MgPSAwKTsKKyAgICBzdGF0aWMgUmVmPFRocmVhZGVkQ29tcG9zaXRvcj4gY3JlYXRlKENs
aWVudCYsIFRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yOjpDbGllbnQmLCBXZWJDb3JlOjpQ
bGF0Zm9ybURpc3BsYXlJRCwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYsIGZsb2F0IHNjYWxlRmFj
dG9yLCBXZWJDb3JlOjpUZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzKTsKICAgICB2aXJ0dWFsIH5U
aHJlYWRlZENvbXBvc2l0b3IoKTsKIAotICAgIHZvaWQgc2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZv
ckNvbXBvc2l0aW5nKHVpbnQ2NF90KTsKICAgICB2b2lkIHNldFNjYWxlRmFjdG9yKGZsb2F0KTsK
ICAgICB2b2lkIHNldFNjcm9sbFBvc2l0aW9uKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgZmxv
YXQgc2NhbGUpOwogICAgIHZvaWQgc2V0Vmlld3BvcnRTaXplKGNvbnN0IFdlYkNvcmU6OkludFNp
emUmLCBmbG9hdCBzY2FsZSk7CkBAIC04Nyw3ICs4NCw3IEBAIHB1YmxpYzoKICAgICB2b2lkIHJl
c3VtZSgpOwogCiBwcml2YXRlOgotICAgIFRocmVhZGVkQ29tcG9zaXRvcihDbGllbnQmLCBUaHJl
YWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6Q2xpZW50JiwgV2ViQ29yZTo6UGxhdGZvcm1EaXNw
bGF5SUQsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBmbG9hdCBzY2FsZUZhY3RvciwgU2hvdWxk
RG9GcmFtZVN5bmMsIFdlYkNvcmU6OlRleHR1cmVNYXBwZXI6OlBhaW50RmxhZ3MpOworICAgIFRo
cmVhZGVkQ29tcG9zaXRvcihDbGllbnQmLCBUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6
Q2xpZW50JiwgV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQsIGNvbnN0IFdlYkNvcmU6OkludFNp
emUmLCBmbG9hdCBzY2FsZUZhY3RvciwgV2ViQ29yZTo6VGV4dHVyZU1hcHBlcjo6UGFpbnRGbGFn
cyk7CiAKICAgICAvLyBDb29yZGluYXRlZEdyYXBoaWNzU2NlbmVDbGllbnQKICAgICB2b2lkIHVw
ZGF0ZVZpZXdwb3J0KCkgb3ZlcnJpZGU7CkBAIC0xMDIsNyArOTksNiBAQCBwcml2YXRlOgogICAg
IHN0ZDo6dW5pcXVlX3B0cjxXZWJDb3JlOjpHTENvbnRleHQ+IG1fY29udGV4dDsKIAogICAgIHVp
bnQ2NF90IG1fbmF0aXZlU3VyZmFjZUhhbmRsZTsKLSAgICBTaG91bGREb0ZyYW1lU3luYyBtX2Rv
RnJhbWVTeW5jOwogICAgIFdlYkNvcmU6OlRleHR1cmVNYXBwZXI6OlBhaW50RmxhZ3MgbV9wYWlu
dEZsYWdzIHsgMCB9OwogICAgIGJvb2wgbV9pbkZvcmNlUmVwYWludCB7IGZhbHNlIH07CiAgICAg
dW5zaWduZWQgbV9zdXNwZW5kZWRDb3VudCB7IDAgfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9ndGsvV2ViS2l0V2ViVmlld0Jhc2UuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2d0ay9XZWJLaXRXZWJWaWV3QmFzZS5jcHAKaW5kZXggYzlhZGQwN2Y3
NzEuLmIyM2NhZDE5MTMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkv
Z3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvZ3RrL1dlYktpdFdlYlZpZXdCYXNlLmNwcApAQCAtNDI1LDI1ICs0MjUsMTIgQEAgc3RhdGlj
IHZvaWQgd2Via2l0V2ViVmlld0Jhc2VSZWFsaXplKEd0a1dpZGdldCogd2lkZ2V0KQogICAgIGd0
a193aWRnZXRfc2V0X3dpbmRvdyh3aWRnZXQsIHdpbmRvdyk7CiAgICAgZ2RrX3dpbmRvd19zZXRf
dXNlcl9kYXRhKHdpbmRvdywgd2lkZ2V0KTsKIAotI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkg
JiYgUExBVEZPUk0oWDExKSAmJiAhVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCi0g
ICAgaWYgKFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpLnR5cGUoKSA9PSBQbGF0Zm9y
bURpc3BsYXk6OlR5cGU6OlgxMSkgewotICAgICAgICBpZiAoYXV0byogZHJhd2luZ0FyZWEgPSBz
dGF0aWNfY2FzdDxEcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcyo+KHByaXYtPnBh
Z2VQcm94eS0+ZHJhd2luZ0FyZWEoKSkpCi0gICAgICAgICAgICBkcmF3aW5nQXJlYS0+c2V0TmF0
aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKEdES19XSU5ET1dfWElEKHdpbmRvdykpOwot
ICAgIH0KLSNlbmRpZgotCiAgICAgZ3RrX2ltX2NvbnRleHRfc2V0X2NsaWVudF93aW5kb3cocHJp
di0+aW5wdXRNZXRob2RGaWx0ZXIuY29udGV4dCgpLCB3aW5kb3cpOwogfQogCiBzdGF0aWMgdm9p
ZCB3ZWJraXRXZWJWaWV3QmFzZVVucmVhbGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKIHsKICAgICBX
ZWJLaXRXZWJWaWV3QmFzZSogd2ViVmlldyA9IFdFQktJVF9XRUJfVklFV19CQVNFKHdpZGdldCk7
Ci0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShYMTEpICYmICFVU0UoUkVE
SVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKLSAgICBpZiAoUGxhdGZvcm1EaXNwbGF5OjpzaGFy
ZWREaXNwbGF5KCkudHlwZSgpID09IFBsYXRmb3JtRGlzcGxheTo6VHlwZTo6WDExKSB7Ci0gICAg
ICAgIGlmIChhdXRvKiBkcmF3aW5nQXJlYSA9IHN0YXRpY19jYXN0PERyYXdpbmdBcmVhUHJveHlD
b29yZGluYXRlZEdyYXBoaWNzKj4od2ViVmlldy0+cHJpdi0+cGFnZVByb3h5LT5kcmF3aW5nQXJl
YSgpKSkKLSAgICAgICAgICAgIGRyYXdpbmdBcmVhLT5kZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRs
ZUZvckNvbXBvc2l0aW5nKCk7Ci0gICAgfQotI2VuZGlmCiAgICAgZ3RrX2ltX2NvbnRleHRfc2V0
X2NsaWVudF93aW5kb3cod2ViVmlldy0+cHJpdi0+aW5wdXRNZXRob2RGaWx0ZXIuY29udGV4dCgp
LCBudWxscHRyKTsKIAogICAgIEdUS19XSURHRVRfQ0xBU1Mod2Via2l0X3dlYl92aWV3X2Jhc2Vf
cGFyZW50X2NsYXNzKS0+dW5yZWFsaXplKHdpZGdldCk7CkBAIC02MDIsNyArNTg5LDcgQEAgc3Rh
dGljIGdib29sZWFuIHdlYmtpdFdlYlZpZXdCYXNlRHJhdyhHdGtXaWRnZXQqIHdpZGdldCwgY2Fp
cm9fdCogY3IpCiAgICAgaWYgKHNob3dpbmdOYXZpZ2F0aW9uU25hcHNob3QpCiAgICAgICAgIGNh
aXJvX3B1c2hfZ3JvdXAoY3IpOwogCi0gICAgaWYgKHdlYlZpZXdCYXNlLT5wcml2LT5hY2NlbGVy
YXRlZEJhY2tpbmdTdG9yZSAmJiBkcmF3aW5nQXJlYS0+aXNJbkFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdNb2RlKCkpCisgICAgaWYgKGRyYXdpbmdBcmVhLT5pc0luQWNjZWxlcmF0ZWRDb21wb3NpdGlu
Z01vZGUoKSkKICAgICAgICAgd2ViVmlld0Jhc2UtPnByaXYtPmFjY2VsZXJhdGVkQmFja2luZ1N0
b3JlLT5wYWludChjciwgY2xpcFJlY3QpOwogICAgIGVsc2UgewogICAgICAgICBXZWJDb3JlOjpS
ZWdpb24gdW5wYWludGVkUmVnaW9uOyAvLyBUaGlzIGlzIHNpbXBseSB1bnVzZWQuCkBAIC0xNjU4
LDI3ICsxNjQ1LDIyIEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VSZXNldENsaWNrQ291bnRlcihX
ZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0V2ViVmlld0Jhc2UpCiAKIHZvaWQgd2Via2l0V2ViVmll
d0Jhc2VFbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKFdlYktpdFdlYlZpZXdCYXNlKiB3
ZWJraXRXZWJWaWV3QmFzZSwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYgbGF5ZXJUcmVlQ29udGV4
dCkKIHsKLSAgICBpZiAod2Via2l0V2ViVmlld0Jhc2UtPnByaXYtPmFjY2VsZXJhdGVkQmFja2lu
Z1N0b3JlKQotICAgICAgICB3ZWJraXRXZWJWaWV3QmFzZS0+cHJpdi0+YWNjZWxlcmF0ZWRCYWNr
aW5nU3RvcmUtPnVwZGF0ZShsYXllclRyZWVDb250ZXh0KTsKKyAgICB3ZWJraXRXZWJWaWV3QmFz
ZS0+cHJpdi0+YWNjZWxlcmF0ZWRCYWNraW5nU3RvcmUtPnVwZGF0ZShsYXllclRyZWVDb250ZXh0
KTsKIH0KIAogdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVVwZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRp
bmdNb2RlKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSwgY29uc3QgTGF5ZXJU
cmVlQ29udGV4dCYgbGF5ZXJUcmVlQ29udGV4dCkKIHsKLSAgICBpZiAod2Via2l0V2ViVmlld0Jh
c2UtPnByaXYtPmFjY2VsZXJhdGVkQmFja2luZ1N0b3JlKQotICAgICAgICB3ZWJraXRXZWJWaWV3
QmFzZS0+cHJpdi0+YWNjZWxlcmF0ZWRCYWNraW5nU3RvcmUtPnVwZGF0ZShsYXllclRyZWVDb250
ZXh0KTsKKyAgICB3ZWJraXRXZWJWaWV3QmFzZS0+cHJpdi0+YWNjZWxlcmF0ZWRCYWNraW5nU3Rv
cmUtPnVwZGF0ZShsYXllclRyZWVDb250ZXh0KTsKIH0KIAogdm9pZCB3ZWJraXRXZWJWaWV3QmFz
ZUV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZShXZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0
V2ViVmlld0Jhc2UpCiB7Ci0gICAgaWYgKHdlYmtpdFdlYlZpZXdCYXNlLT5wcml2LT5hY2NlbGVy
YXRlZEJhY2tpbmdTdG9yZSkKLSAgICAgICAgd2Via2l0V2ViVmlld0Jhc2UtPnByaXYtPmFjY2Vs
ZXJhdGVkQmFja2luZ1N0b3JlLT51cGRhdGUoTGF5ZXJUcmVlQ29udGV4dCgpKTsKKyAgICB3ZWJr
aXRXZWJWaWV3QmFzZS0+cHJpdi0+YWNjZWxlcmF0ZWRCYWNraW5nU3RvcmUtPnVwZGF0ZShMYXll
clRyZWVDb250ZXh0KCkpOwogfQogCiBib29sIHdlYmtpdFdlYlZpZXdCYXNlTWFrZUdMQ29udGV4
dEN1cnJlbnQoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtpdFdlYlZpZXdCYXNlKQogewotICAgIGlm
ICh3ZWJraXRXZWJWaWV3QmFzZS0+cHJpdi0+YWNjZWxlcmF0ZWRCYWNraW5nU3RvcmUpCi0gICAg
ICAgIHJldHVybiB3ZWJraXRXZWJWaWV3QmFzZS0+cHJpdi0+YWNjZWxlcmF0ZWRCYWNraW5nU3Rv
cmUtPm1ha2VDb250ZXh0Q3VycmVudCgpOwotICAgIHJldHVybiBmYWxzZTsKKyAgICByZXR1cm4g
d2Via2l0V2ViVmlld0Jhc2UtPnByaXYtPmFjY2VsZXJhdGVkQmFja2luZ1N0b3JlLT5tYWtlQ29u
dGV4dEN1cnJlbnQoKTsKIH0KIAogdm9pZCB3ZWJraXRXZWJWaWV3QmFzZURpZFJlbGF1bmNoV2Vi
UHJvY2VzcyhXZWJLaXRXZWJWaWV3QmFzZSogd2Via2l0V2ViVmlld0Jhc2UpCkBAIC0xNjg3LDQz
ICsxNjY5LDEzIEBAIHZvaWQgd2Via2l0V2ViVmlld0Jhc2VEaWRSZWxhdW5jaFdlYlByb2Nlc3Mo
V2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtpdFdlYlZpZXdCYXNlCiAgICAgZ3RrX3dpZGdldF9xdWV1
ZV9yZXNpemVfbm9fcmVkcmF3KEdUS19XSURHRVQod2Via2l0V2ViVmlld0Jhc2UpKTsKIAogICAg
IFdlYktpdFdlYlZpZXdCYXNlUHJpdmF0ZSogcHJpdiA9IHdlYmtpdFdlYlZpZXdCYXNlLT5wcml2
OwotCi0jaWYgUExBVEZPUk0oWDExKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmICFVU0Uo
UkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKLSAgICBpZiAoUGxhdGZvcm1EaXNwbGF5Ojpz
aGFyZWREaXNwbGF5KCkudHlwZSgpICE9IFBsYXRmb3JtRGlzcGxheTo6VHlwZTo6WDExKQotICAg
ICAgICByZXR1cm47Ci0KLSAgICBhdXRvKiBkcmF3aW5nQXJlYSA9IHN0YXRpY19jYXN0PERyYXdp
bmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzKj4ocHJpdi0+cGFnZVByb3h5LT5kcmF3aW5n
QXJlYSgpKTsKLSAgICBBU1NFUlQoZHJhd2luZ0FyZWEpOwotCi0gICAgaWYgKCFndGtfd2lkZ2V0
X2dldF9yZWFsaXplZChHVEtfV0lER0VUKHdlYmtpdFdlYlZpZXdCYXNlKSkpCi0gICAgICAgIHJl
dHVybjsKLQotICAgIHVpbnQ2NF90IHdpbmRvd0lEID0gR0RLX1dJTkRPV19YSUQoZ3RrX3dpZGdl
dF9nZXRfd2luZG93KEdUS19XSURHRVQod2Via2l0V2ViVmlld0Jhc2UpKSk7Ci0gICAgZHJhd2lu
Z0FyZWEtPnNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyh3aW5kb3dJRCk7Ci0j
ZWxzZQotICAgIFVOVVNFRF9QQVJBTSh3ZWJraXRXZWJWaWV3QmFzZSk7Ci0jZW5kaWYKLQogICAg
IHByaXYtPnZpZXdHZXN0dXJlQ29udHJvbGxlciA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViS2l0OjpW
aWV3R2VzdHVyZUNvbnRyb2xsZXI+KCpwcml2LT5wYWdlUHJveHkpOwogICAgIHByaXYtPnZpZXdH
ZXN0dXJlQ29udHJvbGxlci0+c2V0U3dpcGVHZXN0dXJlRW5hYmxlZChwcml2LT5pc0JhY2tGb3J3
YXJkTmF2aWdhdGlvbkdlc3R1cmVFbmFibGVkKTsKIH0KIAogdm9pZCB3ZWJraXRXZWJWaWV3QmFz
ZVBhZ2VDbG9zZWQoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtpdFdlYlZpZXdCYXNlKQogewotICAg
IGlmICh3ZWJraXRXZWJWaWV3QmFzZS0+cHJpdi0+YWNjZWxlcmF0ZWRCYWNraW5nU3RvcmUpCi0g
ICAgICAgIHdlYmtpdFdlYlZpZXdCYXNlLT5wcml2LT5hY2NlbGVyYXRlZEJhY2tpbmdTdG9yZS0+
dXBkYXRlKExheWVyVHJlZUNvbnRleHQoKSk7Ci0jaWYgUExBVEZPUk0oWDExKSAmJiBVU0UoVEVY
VFVSRV9NQVBQRVJfR0wpICYmICFVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKLSAg
ICBpZiAoUGxhdGZvcm1EaXNwbGF5OjpzaGFyZWREaXNwbGF5KCkudHlwZSgpICE9IFBsYXRmb3Jt
RGlzcGxheTo6VHlwZTo6WDExKQotICAgICAgICByZXR1cm47Ci0KLSAgICBpZiAoIWd0a193aWRn
ZXRfZ2V0X3JlYWxpemVkKEdUS19XSURHRVQod2Via2l0V2ViVmlld0Jhc2UpKSkKLSAgICAgICAg
cmV0dXJuOwotCi0gICAgV2ViS2l0V2ViVmlld0Jhc2VQcml2YXRlKiBwcml2ID0gd2Via2l0V2Vi
Vmlld0Jhc2UtPnByaXY7Ci0gICAgYXV0byogZHJhd2luZ0FyZWEgPSBzdGF0aWNfY2FzdDxEcmF3
aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcyo+KHByaXYtPnBhZ2VQcm94eS0+ZHJhd2lu
Z0FyZWEoKSk7Ci0gICAgQVNTRVJUKGRyYXdpbmdBcmVhKTsKLSAgICBkcmF3aW5nQXJlYS0+ZGVz
dHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpOwotI2VuZGlmCisgICAgd2Vi
a2l0V2ViVmlld0Jhc2UtPnByaXYtPmFjY2VsZXJhdGVkQmFja2luZ1N0b3JlLT51cGRhdGUoTGF5
ZXJUcmVlQ29udGV4dCgpKTsKIH0KIAogUmVmUHRyPFdlYktpdDo6Vmlld1NuYXBzaG90PiB3ZWJr
aXRXZWJWaWV3QmFzZVRha2VWaWV3U25hcHNob3QoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtpdFdl
YlZpZXdCYXNlKQpAQCAtMTgzMiw4ICsxNzg0LDYgQEAgdm9pZCB3ZWJraXRXZWJWaWV3QmFzZVNo
b3dFbW9qaUNob29zZXIoV2ViS2l0V2ViVmlld0Jhc2UqIHdlYmtpdFdlYlZpZXdCYXNlLCBjb24K
ICNpZiBVU0UoV1BFX1JFTkRFUkVSKQogaW50IHdlYmtpdFdlYlZpZXdCYXNlUmVuZGVySG9zdEZp
bGVEZXNjcmlwdG9yKFdlYktpdFdlYlZpZXdCYXNlKiB3ZWJraXRXZWJWaWV3QmFzZSkKIHsKLSAg
ICBpZiAod2Via2l0V2ViVmlld0Jhc2UtPnByaXYtPmFjY2VsZXJhdGVkQmFja2luZ1N0b3JlKQot
ICAgICAgICByZXR1cm4gd2Via2l0V2ViVmlld0Jhc2UtPnByaXYtPmFjY2VsZXJhdGVkQmFja2lu
Z1N0b3JlLT5yZW5kZXJIb3N0RmlsZURlc2NyaXB0b3IoKTsKLSAgICByZXR1cm4gLTE7CisgICAg
cmV0dXJuIHdlYmtpdFdlYlZpZXdCYXNlLT5wcml2LT5hY2NlbGVyYXRlZEJhY2tpbmdTdG9yZS0+
cmVuZGVySG9zdEZpbGVEZXNjcmlwdG9yKCk7CiB9CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNv
b3JkaW5hdGVkR3JhcGhpY3MuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29vcmRpbmF0
ZWRHcmFwaGljcy9EcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKaW5kZXgg
MDY2ZTExMGE3YzQuLjE2ZmMzOTYzODFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBo
aWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAtMTgxLDE3ICsxODEs
OSBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzOjpkaWRVcGRhdGVC
YWNraW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBiYQogCiAgICAgaWYgKG1fbmV4dEJhY2tpbmdTdG9y
ZVN0YXRlSUQgIT0gbV9jdXJyZW50QmFja2luZ1N0b3JlU3RhdGVJRCkKICAgICAgICAgc2VuZFVw
ZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKFJlc3BvbmRJbW1lZGlhdGVseSk7Ci0gICAgZWxzZSB7Cisg
ICAgZWxzZQogICAgICAgICBtX2hhc1JlY2VpdmVkRmlyc3RVcGRhdGUgPSB0cnVlOwogCi0jaWYg
VVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShHVEspICYmIFBMQVRGT1JNKFgxMSkg
JiYgIVVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQotICAgICAgICBpZiAobV9wZW5k
aW5nTmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKSB7Ci0gICAgICAgICAgICBzZXRO
YXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcobV9wZW5kaW5nTmF0aXZlU3VyZmFjZUhh
bmRsZUZvckNvbXBvc2l0aW5nKTsKLSAgICAgICAgICAgIG1fcGVuZGluZ05hdGl2ZVN1cmZhY2VI
YW5kbGVGb3JDb21wb3NpdGluZyA9IDA7Ci0gICAgICAgIH0KLSNlbmRpZgotICAgIH0KLQogI2lm
ICFQTEFURk9STShXUEUpCiAgICAgaWYgKGlzSW5BY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSgp
KSB7CiAgICAgICAgIEFTU0VSVCghbV9iYWNraW5nU3RvcmUpOwpAQCAtMzc0LDI3ICszNjYsNiBA
QCB2b2lkIERyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzOjpkaXNjYXJkQmFja2lu
Z1N0b3JlKCkKIH0KICNlbmRpZgogCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFU
Rk9STShHVEspICYmIFBMQVRGT1JNKFgxMSkgJiYgIVVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVf
V0lORE9XKQotdm9pZCBEcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljczo6c2V0TmF0
aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2NF90IGhhbmRsZSkKLXsKLSAgICBp
ZiAoIW1faGFzUmVjZWl2ZWRGaXJzdFVwZGF0ZSkgewotICAgICAgICBtX3BlbmRpbmdOYXRpdmVT
dXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcgPSBoYW5kbGU7Ci0gICAgICAgIHJldHVybjsKLSAg
ICB9Ci0gICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0FyZWE6OlNldE5hdGl2ZVN1cmZhY2VIYW5k
bGVGb3JDb21wb3NpdGluZyhoYW5kbGUpLCBJUEM6OlNlbmRPcHRpb246OkRpc3BhdGNoTWVzc2Fn
ZUV2ZW5XaGVuV2FpdGluZ0ZvclN5bmNSZXBseSk7Ci19Ci0KLXZvaWQgRHJhd2luZ0FyZWFQcm94
eUNvb3JkaW5hdGVkR3JhcGhpY3M6OmRlc3Ryb3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9z
aXRpbmcoKQotewotICAgIGlmIChtX3BlbmRpbmdOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9z
aXRpbmcpIHsKLSAgICAgICAgbV9wZW5kaW5nTmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0
aW5nID0gMDsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLSAgICBib29sIGhhbmRsZWQ7Ci0gICAg
c2VuZFN5bmMoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpEZXN0cm95TmF0aXZlU3VyZmFjZUhhbmRs
ZUZvckNvbXBvc2l0aW5nKCksIE1lc3NhZ2VzOjpEcmF3aW5nQXJlYTo6RGVzdHJveU5hdGl2ZVN1
cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZzo6UmVwbHkoaGFuZGxlZCkpOwotfQotI2VuZGlmCi0K
IERyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzOjpEcmF3aW5nTW9uaXRvcjo6RHJh
d2luZ01vbml0b3IoV2ViUGFnZVByb3h5JiB3ZWJQYWdlKQogICAgIDogbV90aW1lcihSdW5Mb29w
OjptYWluKCksIHRoaXMsICZEcmF3aW5nTW9uaXRvcjo6c3RvcCkKICNpZiBQTEFURk9STShHVEsp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmggYi9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdy
YXBoaWNzLmgKaW5kZXggYzkzNWM2OTdiNDguLmRmZGQ3N2Y4ZTNiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlD
b29yZGluYXRlZEdyYXBoaWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5oCkBAIC00
OSwxMSArNDksNiBAQCBwdWJsaWM6CiAKICAgICBib29sIGlzSW5BY2NlbGVyYXRlZENvbXBvc2l0
aW5nTW9kZSgpIGNvbnN0IHsgcmV0dXJuICFtX2xheWVyVHJlZUNvbnRleHQuaXNFbXB0eSgpOyB9
CiAKLSNpZiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpICYmIFBMQVRGT1JNKEdUSykgJiYgUExBVEZP
Uk0oWDExKSAmJiAhVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCi0gICAgdm9pZCBz
ZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QpOwotICAgIHZvaWQg
ZGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpOwotI2VuZGlmCi0KIHBy
aXZhdGU6CiAgICAgLy8gRHJhd2luZ0FyZWFQcm94eQogICAgIHZvaWQgc2l6ZURpZENoYW5nZSgp
IG92ZXJyaWRlOwpAQCAtMTMwLDEwICsxMjUsNiBAQCBwcml2YXRlOgogICAgIC8vIEZvciBhIG5l
dyBEcmF3aW5nIEFyZWEgZG9uJ3QgZHJhdyBhbnl0aGluZyB1bnRpbCB0aGUgV2ViUHJvY2VzcyBo
YXMgc2VudCBvdmVyIHRoZSBmaXJzdCBjb250ZW50LgogICAgIGJvb2wgbV9oYXNSZWNlaXZlZEZp
cnN0VXBkYXRlIHsgZmFsc2UgfTsKIAotI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExB
VEZPUk0oR1RLKSAmJiBQTEFURk9STShYMTEpICYmICFVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRF
X1dJTkRPVykKLSAgICB1aW50NjRfdCBtX3BlbmRpbmdOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29t
cG9zaXRpbmcgeyAwIH07Ci0jZW5kaWYKLQogI2lmICFQTEFURk9STShXUEUpCiAgICAgYm9vbCBt
X2lzQmFja2luZ1N0b3JlRGlzY2FyZGFibGUgeyB0cnVlIH07CiAgICAgc3RkOjp1bmlxdWVfcHRy
PEJhY2tpbmdTdG9yZT4gbV9iYWNraW5nU3RvcmU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9ndGsvQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmUuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvZ3RrL0FjY2VsZXJhdGVkQmFja2luZ1N0b3JlLmNwcAppbmRleCBlYjYyZDZk
NjU0Zi4uZDZmMjg3NjYwNGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0
ay9BY2NlbGVyYXRlZEJhY2tpbmdTdG9yZS5jcHAKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvZ3RrL0FjY2VsZXJhdGVkQmFja2luZ1N0b3JlLmNwcApAQCAtMzQsNyArMzQsNyBAQAogI2lu
Y2x1ZGUgIkFjY2VsZXJhdGVkQmFja2luZ1N0b3JlV2F5bGFuZC5oIgogI2VuZGlmCiAKLSNpZiBV
U0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKKyNpZiBQTEFURk9STShYMTEpCiAjaW5j
bHVkZSAiQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVYMTEuaCIKICNlbmRpZgogCkBAIC00NywxMCAr
NDcsMTEgQEAgc3RkOjp1bmlxdWVfcHRyPEFjY2VsZXJhdGVkQmFja2luZ1N0b3JlPiBBY2NlbGVy
YXRlZEJhY2tpbmdTdG9yZTo6Y3JlYXRlKFdlYlBhZ2UKICAgICBpZiAoUGxhdGZvcm1EaXNwbGF5
OjpzaGFyZWREaXNwbGF5KCkudHlwZSgpID09IFBsYXRmb3JtRGlzcGxheTo6VHlwZTo6V2F5bGFu
ZCkKICAgICAgICAgcmV0dXJuIEFjY2VsZXJhdGVkQmFja2luZ1N0b3JlV2F5bGFuZDo6Y3JlYXRl
KHdlYlBhZ2UpOwogI2VuZGlmCi0jaWYgVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cp
CisjaWYgUExBVEZPUk0oWDExKQogICAgIGlmIChQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3Bs
YXkoKS50eXBlKCkgPT0gUGxhdGZvcm1EaXNwbGF5OjpUeXBlOjpYMTEpCiAgICAgICAgIHJldHVy
biBBY2NlbGVyYXRlZEJhY2tpbmdTdG9yZVgxMTo6Y3JlYXRlKHdlYlBhZ2UpOwogI2VuZGlmCisg
ICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gbnVsbHB0cjsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvZ3RrL0FjY2VsZXJhdGVkQmFj
a2luZ1N0b3JlWDExLmNwcCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9BY2NlbGVyYXRl
ZEJhY2tpbmdTdG9yZVgxMS5jcHAKaW5kZXggZWFmYWNiNzA2ODYuLmE1NDA3MzIyNzkwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9ndGsvQWNjZWxlcmF0ZWRCYWNraW5nU3Rv
cmVYMTEuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2d0ay9BY2NlbGVyYXRlZEJh
Y2tpbmdTdG9yZVgxMS5jcHAKQEAgLTI2LDcgKzI2LDcgQEAKICNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJBY2NlbGVyYXRlZEJhY2tpbmdTdG9yZVgxMS5oIgogCi0jaWYgVVNFKFJFRElS
RUNURURfWENPTVBPU0lURV9XSU5ET1cpCisjaWYgUExBVEZPUk0oWDExKQogCiAjaW5jbHVkZSAi
RHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuaCIKICNpbmNsdWRlICJMYXllclRy
ZWVDb250ZXh0LmgiCkBAIC0yMDIsNCArMjAyLDQgQEAgYm9vbCBBY2NlbGVyYXRlZEJhY2tpbmdT
dG9yZVgxMTo6cGFpbnQoY2Fpcm9fdCogY3IsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KQogCiB9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIFVTRShSRURJUkVDVEVEX1hDT01QT1NJ
VEVfV0lORE9XKQorI2VuZGlmIC8vIFBMQVRGT1JNKFgxMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL2d0ay9BY2NlbGVyYXRlZEJhY2tpbmdTdG9yZVgxMS5oIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvZ3RrL0FjY2VsZXJhdGVkQmFja2luZ1N0b3JlWDExLmgKaW5kZXgg
ZDlhN2MyZjNhNTguLmE4YjNhOTIxYTdhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9ndGsvQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVYMTEuaAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9ndGsvQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVYMTEuaApAQCAtMjcsNyArMjcs
NyBAQAogCiAjaW5jbHVkZSAiQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmUuaCIKIAotI2lmIFVTRShS
RURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQorI2lmIFBMQVRGT1JNKFgxMSkKIAogI2luY2x1
ZGUgPFdlYkNvcmUvUmVmUHRyQ2Fpcm8uaD4KICNpbmNsdWRlIDxXZWJDb3JlL1hVbmlxdWVSZXNv
dXJjZS5oPgpAQCAtNDMsNyArNDMsNyBAQCBwdWJsaWM6CiAgICAgfkFjY2VsZXJhdGVkQmFja2lu
Z1N0b3JlWDExKCk7CiAKIHByaXZhdGU6Ci0gICAgQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVYMTEo
V2ViUGFnZVByb3h5Jik7CisgICAgZXhwbGljaXQgQWNjZWxlcmF0ZWRCYWNraW5nU3RvcmVYMTEo
V2ViUGFnZVByb3h5Jik7CiAKICAgICB2b2lkIHVwZGF0ZShjb25zdCBMYXllclRyZWVDb250ZXh0
Jikgb3ZlcnJpZGU7CiAgICAgYm9vbCBwYWludChjYWlyb190KiwgY29uc3QgV2ViQ29yZTo6SW50
UmVjdCYpIG92ZXJyaWRlOwpAQCAtNTQsNCArNTQsNCBAQCBwcml2YXRlOgogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIFVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9X
KQorI2VuZGlmIC8vIFBMQVRGT1JNKFgxMSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2d0ay9IYXJkd2FyZUFjY2VsZXJhdGlvbk1hbmFnZXIuY3BwIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvZ3RrL0hhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlci5jcHAKaW5kZXggYzk5
OTgyNzU2NDkuLmNlY2VlYzNjYjQ0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9ndGsvSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9ndGsvSGFyZHdhcmVBY2NlbGVyYXRpb25NYW5hZ2VyLmNwcApAQCAtMjksNyAr
MjksNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1BsYXRmb3JtRGlzcGxheS5oPgogCi0jaWYgVVNFKFJFRElSRUNURURfWENPTVBPU0lU
RV9XSU5ET1cpCisjaWYgUExBVEZPUk0oWDExKQogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1E
aXNwbGF5WDExLmg+CiAjZW5kaWYKIApAQCAtNjUsNyArNjUsNyBAQCBIYXJkd2FyZUFjY2VsZXJh
dGlvbk1hbmFnZXI6OkhhcmR3YXJlQWNjZWxlcmF0aW9uTWFuYWdlcigpCiAgICAgICAgIHJldHVy
bjsKICAgICB9CiAKLSNpZiBVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKKyNpZiBQ
TEFURk9STShYMTEpCiAgICAgaWYgKFBsYXRmb3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpLnR5
cGUoKSA9PSBQbGF0Zm9ybURpc3BsYXk6OlR5cGU6OlgxMSkgewogICAgICAgICBhdXRvJiBkaXNw
bGF5ID0gZG93bmNhc3Q8UGxhdGZvcm1EaXNwbGF5WDExPihQbGF0Zm9ybURpc3BsYXk6OnNoYXJl
ZERpc3BsYXkoKSk7CiAgICAgICAgIE9wdGlvbmFsPGludD4gZGFtYWdlQmFzZSwgZXJyb3JCYXNl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQWNjZWxlcmF0
ZWRTdXJmYWNlLmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJh
dGVkU3VyZmFjZS5jcHAKaW5kZXggMmJiZGRkN2MyMzguLjEzMzA2NzFmNGEyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9BY2NlbGVyYXRlZFN1cmZhY2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0FjY2VsZXJhdGVkU3VyZmFj
ZS5jcHAKQEAgLTMzLDcgKzMzLDcgQEAKICNpbmNsdWRlICJBY2NlbGVyYXRlZFN1cmZhY2VXYXls
YW5kLmgiCiAjZW5kaWYKIAotI2lmIFVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQor
I2lmIFBMQVRGT1JNKFgxMSkKICNpbmNsdWRlICJBY2NlbGVyYXRlZFN1cmZhY2VYMTEuaCIKICNl
bmRpZgogCkBAIC01NCw3ICs1NCw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2NlbGVyYXRlZFN1cmZh
Y2U+IEFjY2VsZXJhdGVkU3VyZmFjZTo6Y3JlYXRlKFdlYlBhZ2UmIHdlYlBhZ2UsCiAgICAgICAg
IHJldHVybiBBY2NlbGVyYXRlZFN1cmZhY2VXYXlsYW5kOjpjcmVhdGUod2ViUGFnZSwgY2xpZW50
KTsKICNlbmRpZgogI2VuZGlmCi0jaWYgVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cp
CisjaWYgUExBVEZPUk0oWDExKQogICAgIGlmIChQbGF0Zm9ybURpc3BsYXk6OnNoYXJlZERpc3Bs
YXkoKS50eXBlKCkgPT0gUGxhdGZvcm1EaXNwbGF5OjpUeXBlOjpYMTEpCiAgICAgICAgIHJldHVy
biBBY2NlbGVyYXRlZFN1cmZhY2VYMTE6OmNyZWF0ZSh3ZWJQYWdlLCBjbGllbnQpOwogI2VuZGlm
CkBAIC02Miw2ICs2Miw3IEBAIHN0ZDo6dW5pcXVlX3B0cjxBY2NlbGVyYXRlZFN1cmZhY2U+IEFj
Y2VsZXJhdGVkU3VyZmFjZTo6Y3JlYXRlKFdlYlBhZ2UmIHdlYlBhZ2UsCiAgICAgaWYgKFBsYXRm
b3JtRGlzcGxheTo6c2hhcmVkRGlzcGxheSgpLnR5cGUoKSA9PSBQbGF0Zm9ybURpc3BsYXk6OlR5
cGU6OldQRSkKICAgICAgICAgcmV0dXJuIEFjY2VsZXJhdGVkU3VyZmFjZUxpYldQRTo6Y3JlYXRl
KHdlYlBhZ2UsIGNsaWVudCk7CiAjZW5kaWYKKyAgICBSRUxFQVNFX0FTU0VSVF9OT1RfUkVBQ0hF
RCgpOwogICAgIHJldHVybiBudWxscHRyOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRp
bmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKaW5kZXgg
MDcyMDAwZTgyYzMuLjMwZjY2YjA0NDQ3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRH
cmFwaGljcy5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRp
bmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCkBAIC0zMzMs
MjMgKzMzMyw2IEBAIFJlZlB0cjxEaXNwbGF5UmVmcmVzaE1vbml0b3I+IERyYXdpbmdBcmVhQ29v
cmRpbmF0ZWRHcmFwaGljczo6Y3JlYXRlRGlzcGxheVJlZnJlCiB9CiAjZW5kaWYKIAotI2lmIFVT
RShURVhUVVJFX01BUFBFUl9HTCkgJiYgUExBVEZPUk0oR1RLKSAmJiBQTEFURk9STShYMTEpICYm
ICFVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKLXZvaWQgRHJhd2luZ0FyZWFDb29y
ZGluYXRlZEdyYXBoaWNzOjpzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWlu
dDY0X3QgaGFuZGxlKQotewotICAgIG1fbmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5n
ID0gaGFuZGxlOwotICAgIGlmIChtX2xheWVyVHJlZUhvc3QpIHsKLSAgICAgICAgbV93ZWJQYWdl
LmNvcmVQYWdlKCktPnNldHRpbmdzKCkuc2V0QWNjZWxlcmF0ZWRDb21wb3NpdGluZ0VuYWJsZWQo
dHJ1ZSk7Ci0gICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZv
ckNvbXBvc2l0aW5nKGhhbmRsZSk7Ci0gICAgfQotfQotCi12b2lkIERyYXdpbmdBcmVhQ29vcmRp
bmF0ZWRHcmFwaGljczo6ZGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhi
b29sJiBoYW5kbGVkKQotewotICAgIGhhbmRsZWQgPSB0cnVlOwotICAgIHNldE5hdGl2ZVN1cmZh
Y2VIYW5kbGVGb3JDb21wb3NpdGluZygwKTsKLX0KLSNlbmRpZgotCiB2b2lkIERyYXdpbmdBcmVh
Q29vcmRpbmF0ZWRHcmFwaGljczo6YWN0aXZpdHlTdGF0ZURpZENoYW5nZShPcHRpb25TZXQ8QWN0
aXZpdHlTdGF0ZTo6RmxhZz4gY2hhbmdlZCwgQWN0aXZpdHlTdGF0ZUNoYW5nZUlELCBjb25zdCBW
ZWN0b3I8Q2FsbGJhY2tJRD4mKQogewogICAgIGlmIChjaGFuZ2VkICYgQWN0aXZpdHlTdGF0ZTo6
SXNWaXNpYmxlKSB7CkBAIC01NjcsMTAgKzU1MCw2IEBAIHZvaWQgRHJhd2luZ0FyZWFDb29yZGlu
YXRlZEdyYXBoaWNzOjplbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKEdyYXBoaWNzTGF5
CiAgICAgICAgICAgICBtX2xheWVyVHJlZUhvc3QtPnBhdXNlUmVuZGVyaW5nKCk7CiAgICAgfQog
Ci0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShHVEspICYmIFBMQVRGT1JN
KFgxMSkgJiYgIVVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQotICAgIGlmIChtX25h
dGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZykKLSAgICAgICAgbV9sYXllclRyZWVIb3N0
LT5zZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcobV9uYXRpdmVTdXJmYWNlSGFu
ZGxlRm9yQ29tcG9zaXRpbmcpOwotI2VuZGlmCiAgICAgaWYgKCFtX2luVXBkYXRlQmFja2luZ1N0
b3JlU3RhdGUpCiAgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+c2V0U2hvdWxkTm90aWZ5QWZ0ZXJO
ZXh0U2NoZWR1bGVkTGF5ZXJGbHVzaCh0cnVlKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3Jk
aW5hdGVkR3JhcGhpY3MuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmgKaW5kZXggZTY4
NGY3NWQ2NDUuLjVhZjlkNWVhOTZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFw
aGljcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmgKQEAgLTczLDExICs3Myw2
IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPFdlYkNvcmU6OkRpc3BsYXlSZWZyZXNoTW9uaXRvcj4g
Y3JlYXRlRGlzcGxheVJlZnJlc2hNb25pdG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlzcGxheUlEKSBv
dmVycmlkZTsKICNlbmRpZgogCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFURk9S
TShHVEspICYmIFBMQVRGT1JNKFgxMSkgJiYgIVVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVfV0lO
RE9XKQotICAgIHZvaWQgc2V0TmF0aXZlU3VyZmFjZUhhbmRsZUZvckNvbXBvc2l0aW5nKHVpbnQ2
NF90KSBvdmVycmlkZTsKLSAgICB2b2lkIGRlc3Ryb3lOYXRpdmVTdXJmYWNlSGFuZGxlRm9yQ29t
cG9zaXRpbmcoYm9vbCYpIG92ZXJyaWRlOwotI2VuZGlmCi0KICAgICB2b2lkIGFjdGl2aXR5U3Rh
dGVEaWRDaGFuZ2UoT3B0aW9uU2V0PFdlYkNvcmU6OkFjdGl2aXR5U3RhdGU6OkZsYWc+LCBBY3Rp
dml0eVN0YXRlQ2hhbmdlSUQsIGNvbnN0IFZlY3RvcjxDYWxsYmFja0lEPiYgLyogY2FsbGJhY2tJ
RHMgKi8pIG92ZXJyaWRlOwogICAgIHZvaWQgYXR0YWNoVmlld092ZXJsYXlHcmFwaGljc0xheWVy
KFdlYkNvcmU6OkdyYXBoaWNzTGF5ZXIqKSBvdmVycmlkZTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVI
b3N0LmNwcCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHAKaW5kZXggZTg5NGJkMTYxZjAuLjg4MGM0ZTNhOWRjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdy
YXBoaWNzL0xheWVyVHJlZUhvc3QuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTcxLDE2ICs3
MSwxMiBAQCBMYXllclRyZWVIb3N0OjpMYXllclRyZWVIb3N0KFdlYlBhZ2UmIHdlYlBhZ2UpCiAg
ICAgc2NhbGVkU2l6ZS5zY2FsZShtX3dlYlBhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSk7CiAgICAg
ZmxvYXQgc2NhbGVGYWN0b3IgPSBtX3dlYlBhZ2UuZGV2aWNlU2NhbGVGYWN0b3IoKSAqIG1fdmll
d3BvcnRDb250cm9sbGVyLnBhZ2VTY2FsZUZhY3RvcigpOwogCi0gICAgaWYgKG1fc3VyZmFjZSkg
ewotICAgICAgICBUZXh0dXJlTWFwcGVyOjpQYWludEZsYWdzIHBhaW50RmxhZ3MgPSAwOworICAg
IFRleHR1cmVNYXBwZXI6OlBhaW50RmxhZ3MgcGFpbnRGbGFncyA9IDA7CisgICAgaWYgKG1fc3Vy
ZmFjZS0+c2hvdWxkUGFpbnRNaXJyb3JlZCgpKQorICAgICAgICBwYWludEZsYWdzIHw9IFRleHR1
cmVNYXBwZXI6OlBhaW50aW5nTWlycm9yZWQ7CiAKLSAgICAgICAgaWYgKG1fc3VyZmFjZS0+c2hv
dWxkUGFpbnRNaXJyb3JlZCgpKQotICAgICAgICAgICAgcGFpbnRGbGFncyB8PSBUZXh0dXJlTWFw
cGVyOjpQYWludGluZ01pcnJvcmVkOwotCi0gICAgICAgIG1fY29tcG9zaXRvciA9IFRocmVhZGVk
Q29tcG9zaXRvcjo6Y3JlYXRlKG1fY29tcG9zaXRvckNsaWVudCwgbV9jb21wb3NpdG9yQ2xpZW50
LCBtX3dlYlBhZ2UuY29yZVBhZ2UoKS0+Y2hyb21lKCkuZGlzcGxheUlEKCksIHNjYWxlZFNpemUs
IHNjYWxlRmFjdG9yLCBUaHJlYWRlZENvbXBvc2l0b3I6OlNob3VsZERvRnJhbWVTeW5jOjpZZXMs
IHBhaW50RmxhZ3MpOwotICAgICAgICBtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEID0gbV9z
dXJmYWNlLT5zdXJmYWNlSUQoKTsKLSAgICB9IGVsc2UKLSAgICAgICAgbV9jb21wb3NpdG9yID0g
VGhyZWFkZWRDb21wb3NpdG9yOjpjcmVhdGUobV9jb21wb3NpdG9yQ2xpZW50LCBtX2NvbXBvc2l0
b3JDbGllbnQsIG1fd2ViUGFnZS5jb3JlUGFnZSgpLT5jaHJvbWUoKS5kaXNwbGF5SUQoKSwgc2Nh
bGVkU2l6ZSwgc2NhbGVGYWN0b3IpOworICAgIG1fY29tcG9zaXRvciA9IFRocmVhZGVkQ29tcG9z
aXRvcjo6Y3JlYXRlKG1fY29tcG9zaXRvckNsaWVudCwgbV9jb21wb3NpdG9yQ2xpZW50LCBtX3dl
YlBhZ2UuY29yZVBhZ2UoKS0+Y2hyb21lKCkuZGlzcGxheUlEKCksIHNjYWxlZFNpemUsIHNjYWxl
RmFjdG9yLCBwYWludEZsYWdzKTsKKyAgICBtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEID0g
bV9zdXJmYWNlLT5zdXJmYWNlSUQoKTsKIAogICAgIGRpZENoYW5nZVZpZXdwb3J0KCk7CiB9CkBA
IC0yMjYsNyArMjIyLDcgQEAgdm9pZCBMYXllclRyZWVIb3N0OjpzaXplRGlkQ2hhbmdlKGNvbnN0
IEludFNpemUmIHNpemUpCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKLSAgICBpZiAobV9zdXJm
YWNlICYmIG1fc3VyZmFjZS0+aG9zdFJlc2l6ZShzaXplKSkKKyAgICBpZiAobV9zdXJmYWNlLT5o
b3N0UmVzaXplKHNpemUpKQogICAgICAgICBtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElEID0g
bV9zdXJmYWNlLT5zdXJmYWNlSUQoKTsKIAogICAgIG1fY29vcmRpbmF0b3Iuc2l6ZURpZENoYW5n
ZShzaXplKTsKQEAgLTMzNSwxNSArMzMxLDYgQEAgdm9pZCBMYXllclRyZWVIb3N0OjpzZXRJc0Rp
c2NhcmRhYmxlKGJvb2wgZGlzY2FyZGFibGUpCiAgICAgICAgIGRpZENoYW5nZVZpZXdwb3J0KCk7
CiB9CiAKLSNpZiBQTEFURk9STShHVEspICYmIFBMQVRGT1JNKFgxMSkgJiYgIVVTRShSRURJUkVD
VEVEX1hDT01QT1NJVEVfV0lORE9XKQotdm9pZCBMYXllclRyZWVIb3N0OjpzZXROYXRpdmVTdXJm
YWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QgaGFuZGxlKQotewotICAgIG1fbGF5ZXJU
cmVlQ29udGV4dC5jb250ZXh0SUQgPSBoYW5kbGU7Ci0gICAgbV9jb21wb3NpdG9yLT5zZXROYXRp
dmVTdXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcoaGFuZGxlKTsKLSAgICBzY2hlZHVsZUxheWVy
Rmx1c2goKTsKLX0KLSNlbmRpZgotCiB2b2lkIExheWVyVHJlZUhvc3Q6OmRldmljZU9yUGFnZVNj
YWxlRmFjdG9yQ2hhbmdlZCgpCiB7CiAgICAgaWYgKG1faXNEaXNjYXJkYWJsZSkgewpAQCAtMzUx
LDcgKzMzOCw3IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdDo6ZGV2aWNlT3JQYWdlU2NhbGVGYWN0b3JD
aGFuZ2VkKCkKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChtX3N1cmZhY2UgJiYg
bV9zdXJmYWNlLT5ob3N0UmVzaXplKG1fd2ViUGFnZS5zaXplKCkpKQorICAgIGlmIChtX3N1cmZh
Y2UtPmhvc3RSZXNpemUobV93ZWJQYWdlLnNpemUoKSkpCiAgICAgICAgIG1fbGF5ZXJUcmVlQ29u
dGV4dC5jb250ZXh0SUQgPSBtX3N1cmZhY2UtPnN1cmZhY2VJRCgpOwogCiAgICAgbV9jb29yZGlu
YXRvci5kZXZpY2VPclBhZ2VTY2FsZUZhY3RvckNoYW5nZWQoKTsKQEAgLTM4NiwyOSArMzczLDIz
IEBAIHZvaWQgTGF5ZXJUcmVlSG9zdDo6ZnJhbWVDb21wbGV0ZSgpCiAKIHVpbnQ2NF90IExheWVy
VHJlZUhvc3Q6Om5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygpCiB7Ci0gICAgaWYg
KCFtX3N1cmZhY2UpCi0gICAgICAgIHJldHVybiBtX2xheWVyVHJlZUNvbnRleHQuY29udGV4dElE
OwotCiAgICAgbV9zdXJmYWNlLT5pbml0aWFsaXplKCk7CiAgICAgcmV0dXJuIG1fc3VyZmFjZS0+
d2luZG93KCk7CiB9CiAKIHZvaWQgTGF5ZXJUcmVlSG9zdDo6ZGlkRGVzdHJveUdMQ29udGV4dCgp
CiB7Ci0gICAgaWYgKG1fc3VyZmFjZSkKLSAgICAgICAgbV9zdXJmYWNlLT5maW5hbGl6ZSgpOwor
ICAgIG1fc3VyZmFjZS0+ZmluYWxpemUoKTsKIH0KIAogdm9pZCBMYXllclRyZWVIb3N0Ojp3aWxs
UmVuZGVyRnJhbWUoKQogewotICAgIGlmIChtX3N1cmZhY2UpCi0gICAgICAgIG1fc3VyZmFjZS0+
d2lsbFJlbmRlckZyYW1lKCk7CisgICAgbV9zdXJmYWNlLT53aWxsUmVuZGVyRnJhbWUoKTsKIH0K
IAogdm9pZCBMYXllclRyZWVIb3N0OjpkaWRSZW5kZXJGcmFtZSgpCiB7Ci0gICAgaWYgKG1fc3Vy
ZmFjZSkKLSAgICAgICAgbV9zdXJmYWNlLT5kaWRSZW5kZXJGcmFtZSgpOworICAgIG1fc3VyZmFj
ZS0+ZGlkUmVuZGVyRnJhbWUoKTsKIH0KIAogdm9pZCBMYXllclRyZWVIb3N0OjpyZXF1ZXN0RGlz
cGxheVJlZnJlc2hNb25pdG9yVXBkYXRlKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVIb3N0LmgKaW5kZXggMzhmM2I3ZmFiZDQuLmNjM2I2OTE1NGM2IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJl
ZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRl
ZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuaApAQCAtODcsMTAgKzg3LDYgQEAgcHVibGljOgogCiAg
ICAgdm9pZCBzZXRJc0Rpc2NhcmRhYmxlKGJvb2wpOwogCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVS
X0dMKSAmJiBQTEFURk9STShHVEspCi0gICAgdm9pZCBzZXROYXRpdmVTdXJmYWNlSGFuZGxlRm9y
Q29tcG9zaXRpbmcodWludDY0X3QpOwotI2VuZGlmCi0KICAgICB2b2lkIGRldmljZU9yUGFnZVNj
YWxlRmFjdG9yQ2hhbmdlZCgpOwogCiAjaWYgVVNFKFJFUVVFU1RfQU5JTUFUSU9OX0ZSQU1FX0RJ
U1BMQVlfTU9OSVRPUikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYS5oCmluZGV4IDgwNjlhMTU4ZWUyLi40ZGEyOGJkNThiNyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCkBAIC0xNjIsMTQgKzE2Miw5
IEBAIHByb3RlY3RlZDoKICAgICBEcmF3aW5nQXJlYUlkZW50aWZpZXIgbV9pZGVudGlmaWVyOwog
ICAgIFdlYlBhZ2UmIG1fd2ViUGFnZTsKIAotI2lmIFVTRShURVhUVVJFX01BUFBFUl9HTCkgJiYg
UExBVEZPUk0oR1RLKSAmJiBQTEFURk9STShYMTEpICYmICFVU0UoUkVESVJFQ1RFRF9YQ09NUE9T
SVRFX1dJTkRPVykKLSAgICB1aW50NjRfdCBtX25hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3Np
dGluZyB7IDAgfTsKLSNlbmRpZgotCiBwcml2YXRlOgogICAgIC8vIElQQzo6TWVzc2FnZVJlY2Vp
dmVyLgogICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpE
ZWNvZGVyJikgb3ZlcnJpZGU7Ci0gICAgdm9pZCBkaWRSZWNlaXZlU3luY01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4m
KSBvdmVycmlkZTsKIAogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgLy8gRklYTUU6IFRo
ZXNlIHNob3VsZCBiZSBwdXJlIHZpcnR1YWwuCkBAIC0xODgsMTEgKzE4Myw2IEBAIHByaXZhdGU6
CiAgICAgdmlydHVhbCB2b2lkIGFkZFRyYW5zYWN0aW9uQ2FsbGJhY2tJRChXZWJLaXQ6OkNhbGxi
YWNrSUQpIHsgQVNTRVJUX05PVF9SRUFDSEVEKCk7IH0KICNlbmRpZgogCi0jaWYgVVNFKFRFWFRV
UkVfTUFQUEVSX0dMKSAmJiBQTEFURk9STShHVEspICYmIFBMQVRGT1JNKFgxMSkgJiYgIVVTRShS
RURJUkVDVEVEX1hDT01QT1NJVEVfV0lORE9XKQotICAgIHZpcnR1YWwgdm9pZCBzZXROYXRpdmVT
dXJmYWNlSGFuZGxlRm9yQ29tcG9zaXRpbmcodWludDY0X3QpID0gMDsKLSAgICB2aXJ0dWFsIHZv
aWQgZGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyhib29sJikgPSAwOwot
I2VuZGlmCi0KICAgICBib29sIG1faGFzUmVtb3ZlZE1lc3NhZ2VSZWNlaXZlciB7IGZhbHNlIH07
CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYS5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLm1lc3NhZ2VzLmluCmluZGV4IDAyMzMwNDA1MTQyLi45ZGE2Y2E1MWMwYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVz
c2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0Fy
ZWEubWVzc2FnZXMuaW4KQEAgLTM5LDkgKzM5LDQgQEAgbWVzc2FnZXMgLT4gRHJhd2luZ0FyZWEg
ewogICAgIAogICAgIEFkZFRyYW5zYWN0aW9uQ2FsbGJhY2tJRChXZWJLaXQ6OkNhbGxiYWNrSUQg
Y2FsbGJhY2tJRCkKICNlbmRpZgotCi0jaWYgVVNFKFRFWFRVUkVfTUFQUEVSX0dMKSAmJiBQTEFU
Rk9STShHVEspICYmIFBMQVRGT1JNKFgxMSkgJiYgIVVTRShSRURJUkVDVEVEX1hDT01QT1NJVEVf
V0lORE9XKQotICAgIFNldE5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZyh1aW50NjRf
dCBoYW5kbGUpCi0gICAgRGVzdHJveU5hdGl2ZVN1cmZhY2VIYW5kbGVGb3JDb21wb3NpdGluZygp
IC0+IChib29sIGhhbmRsZWQpCi0jZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuaAppbmRleCAxOGEzNWFkMjdjOS4uMTBhOTVlNDg0YzQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmgKQEAgLTk3MiwxMCArOTcyLDYg
QEAgcHVibGljOgogICAgIHZvaWQgZGlzcGF0Y2hUb3VjaEV2ZW50KGNvbnN0IFdlYlRvdWNoRXZl
bnQmLCBib29sJiBoYW5kbGVkKTsKICNlbmRpZgogCi0jaWYgUExBVEZPUk0oR1RLKSAmJiBVU0Uo
VEVYVFVSRV9NQVBQRVJfR0wpCi0gICAgdWludDY0X3QgbmF0aXZlV2luZG93SGFuZGxlKCkgeyBy
ZXR1cm4gbV9uYXRpdmVXaW5kb3dIYW5kbGU7IH0KLSNlbmRpZgotCiAgICAgYm9vbCBzaG91bGRV
c2VDdXN0b21Db250ZW50UHJvdmlkZXJGb3JSZXNwb25zZShjb25zdCBXZWJDb3JlOjpSZXNvdXJj
ZVJlc3BvbnNlJik7CiAKICAgICBib29sIGFzeW5jaHJvbm91c1BsdWdpbkluaXRpYWxpemF0aW9u
RW5hYmxlZCgpIGNvbnN0IHsgcmV0dXJuIG1fYXN5bmNocm9ub3VzUGx1Z2luSW5pdGlhbGl6YXRp
b25FbmFibGVkOyB9CkBAIC0xNjgzLDExICsxNjc5LDYgQEAgcHJpdmF0ZToKICAgICBHUmVmUHRy
PEF0a09iamVjdD4gbV9hY2Nlc3NpYmlsaXR5T2JqZWN0OwogI2VuZGlmCiAKLSNpZiBQTEFURk9S
TShHVEspICYmIFVTRShURVhUVVJFX01BUFBFUl9HTCkKLSAgICAvLyBPdXIgdmlldydzIHdpbmRv
dyBpbiB0aGUgVUkgcHJvY2Vzcy4KLSAgICB1aW50NjRfdCBtX25hdGl2ZVdpbmRvd0hhbmRsZSB7
IDAgfTsKLSNlbmRpZgotCiAjaWYgIVBMQVRGT1JNKElPU19GQU1JTFkpCiAgICAgUmVmUHRyPFBh
Z2VCYW5uZXI+IG1faGVhZGVyQmFubmVyOwogICAgIFJlZlB0cjxQYWdlQmFubmVyPiBtX2Zvb3Rl
ckJhbm5lcjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0
ay9BY2NlbGVyYXRlZFN1cmZhY2VYMTEuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dl
YlBhZ2UvZ3RrL0FjY2VsZXJhdGVkU3VyZmFjZVgxMS5jcHAKaW5kZXggNzJlMWFkOTlkZDcuLmUz
ZWE4NDQ3Nzk5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9n
dGsvQWNjZWxlcmF0ZWRTdXJmYWNlWDExLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9ndGsvQWNjZWxlcmF0ZWRTdXJmYWNlWDExLmNwcApAQCAtMjYsNyArMjYsNyBA
QAogI2luY2x1ZGUgImNvbmZpZy5oIgogI2luY2x1ZGUgIkFjY2VsZXJhdGVkU3VyZmFjZVgxMS5o
IgogCi0jaWYgVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCisjaWYgUExBVEZPUk0o
WDExKQogCiAjaW5jbHVkZSAiV2ViUGFnZS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1E
aXNwbGF5WDExLmg+CkBAIC0xNTYsNCArMTU2LDQgQEAgdm9pZCBBY2NlbGVyYXRlZFN1cmZhY2VY
MTE6OmRpZFJlbmRlckZyYW1lKCkKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAv
LyBVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVykKKyNlbmRpZiAvLyBQTEFURk9STShY
MTEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvQWNj
ZWxlcmF0ZWRTdXJmYWNlWDExLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9n
dGsvQWNjZWxlcmF0ZWRTdXJmYWNlWDExLmgKaW5kZXggZDZjZDQyZTNjNjQuLjRkZTA2YTEzYjRl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvQWNjZWxl
cmF0ZWRTdXJmYWNlWDExLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Z3RrL0FjY2VsZXJhdGVkU3VyZmFjZVgxMS5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNwcmFnbWEg
b25jZQogCi0jaWYgVVNFKFJFRElSRUNURURfWENPTVBPU0lURV9XSU5ET1cpCisjaWYgUExBVEZP
Uk0oWDExKQogCiAjaW5jbHVkZSAiQWNjZWxlcmF0ZWRTdXJmYWNlLmgiCiAjaW5jbHVkZSA8V2Vi
Q29yZS9YVW5pcXVlUmVzb3VyY2UuaD4KQEAgLTY0LDQgKzY0LDQgQEAgcHJpdmF0ZToKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBVU0UoUkVESVJFQ1RFRF9YQ09NUE9TSVRF
X1dJTkRPVykKKyNlbmRpZiAvLyBQTEFURk9STShYMTEpCmRpZmYgLS1naXQgYS9Tb3VyY2UvY21h
a2UvT3B0aW9uc0dUSy5jbWFrZSBiL1NvdXJjZS9jbWFrZS9PcHRpb25zR1RLLmNtYWtlCmluZGV4
IDYzM2ZmMjgyZjQ2Li5mZGI5NGEwOTBmNiAxMDA2NDQKLS0tIGEvU291cmNlL2NtYWtlL09wdGlv
bnNHVEsuY21ha2UKKysrIGIvU291cmNlL2NtYWtlL09wdGlvbnNHVEsuY21ha2UKQEAgLTkwLDcg
KzkwLDYgQEAgV0VCS0lUX09QVElPTl9ERUZJTkUoVVNFX1dQRV9SRU5ERVJFUiAiV2hldGhlciB0
byBlbmFibGUgV1BFIHJlbmRlcmluZyIgUFVCTElDIE8KIAogIyBQcml2YXRlIG9wdGlvbnMgc3Bl
Y2lmaWMgdG8gdGhlIEdUSysgcG9ydC4gQ2hhbmdpbmcgdGhlc2Ugb3B0aW9ucyBpcwogIyBjb21w
bGV0ZWx5IHVuc3VwcG9ydGVkLiBUaGV5IGFyZSBpbnRlbmRlZCBmb3IgdXNlIG9ubHkgYnkgV2Vi
S2l0IGRldmVsb3BlcnMuCi1XRUJLSVRfT1BUSU9OX0RFRklORShVU0VfUkVESVJFQ1RFRF9YQ09N
UE9TSVRFX1dJTkRPVyAiV2hldGhlciB0byB1c2UgYSBSZWRpcmVjdGVkIFhDb21wb3NpdGUgV2lu
ZG93IGZvciBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBpbiBYMTEuIiBQUklWQVRFIE9OKQogV0VC
S0lUX09QVElPTl9ERUZJTkUoVVNFX09QRU5WUiAiV2hldGhlciB0byB1c2UgT3BlblZSIGFzIFdl
YlZSIGJhY2tlbmQuIiBQUklWQVRFIE9GRikKIAogIyBGSVhNRTogQ2FuIHdlIHVzZSBjYWlyby1n
bGVzdjIgdG8gYXZvaWQgdGhpcyBjb25mbGljdD8KQEAgLTEwMiw4ICsxMDEsNiBAQCBXRUJLSVRf
T1BUSU9OX0RFUEVORChFTkFCTEVfQVNZTkNfU0NST0xMSU5HIEVOQUJMRV9PUEVOR0wpCiBXRUJL
SVRfT1BUSU9OX0RFUEVORChFTkFCTEVfR0xFUzIgRU5BQkxFX09QRU5HTCkKIFdFQktJVF9PUFRJ
T05fREVQRU5EKEVOQUJMRV9QTFVHSU5fUFJPQ0VTU19HVEsyIEVOQUJMRV9YMTFfVEFSR0VUKQog
V0VCS0lUX09QVElPTl9ERVBFTkQoRU5BQkxFX1dFQkdMIEVOQUJMRV9PUEVOR0wpCi1XRUJLSVRf
T1BUSU9OX0RFUEVORChVU0VfUkVESVJFQ1RFRF9YQ09NUE9TSVRFX1dJTkRPVyBFTkFCTEVfT1BF
TkdMKQotV0VCS0lUX09QVElPTl9ERVBFTkQoVVNFX1JFRElSRUNURURfWENPTVBPU0lURV9XSU5E
T1cgRU5BQkxFX1gxMV9UQVJHRVQpCiBXRUJLSVRfT1BUSU9OX0RFUEVORChVU0VfV1BFX1JFTkRF
UkVSIEVOQUJMRV9PUEVOR0wpCiBXRUJLSVRfT1BUSU9OX0RFUEVORChVU0VfV1BFX1JFTkRFUkVS
IEVOQUJMRV9XQVlMQU5EX1RBUkdFVCkKIAo=
</data>
<flag name="review"
          id="387633"
          type_id="1"
          status="+"
          setter="zan"
    />
          </attachment>
      

    </bug>

</bugzilla>