<?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>240453</bug_id>
          
          <creation_ts>2022-05-16 05:28:55 -0700</creation_ts>
          <short_desc>[WPE] Use new libwpe API to synchronise display refreshes fully to the screen refresh rate</short_desc>
          <delta_ts>2022-07-11 08:56:06 -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>WPE WebKit</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=240470</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=242593</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Chris Lord">clord</reporter>
          <assigned_to name="Chris Lord">clord</assigned_to>
          <cc>aperez</cc>
    
    <cc>bugs-noreply</cc>
    
    <cc>cgarcia</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>kkinnunen</cc>
    
    <cc>koivisto</cc>
    
    <cc>luiz</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sabouhallawa</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>zeno</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1869197</commentid>
    <comment_count>0</comment_count>
    <who name="Chris Lord">clord</who>
    <bug_when>2022-05-16 05:28:55 -0700</bug_when>
    <thetext>In ThreadedDisplayRefreshMonitor there&apos;s a FIXME to use the correct frame-rate for the DisplayUpdate object used for DisplayRefreshMonitor::displayDidRefresh - https://github.com/WebPlatformForEmbedded/libwpe/pull/104 adds API in libwpe to query/track the current display refresh that we can use for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869225</commentid>
    <comment_count>1</comment_count>
      <attachid>459424</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2022-05-16 07:46:44 -0700</bug_when>
    <thetext>Created attachment 459424
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869417</commentid>
    <comment_count>2</comment_count>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2022-05-16 14:32:26 -0700</bug_when>
    <thetext>In bug #240470 there is a patch to add a newer version of libwpe
to the Flatpak SDK which includes the needed API. Once that lands
and an update to the SDK is pushed, the EWS builds will notice and
build the code guarded with WPE_CHECK_VERSION()</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869418</commentid>
    <comment_count>3</comment_count>
      <attachid>459424</attachid>
    <who name="Adrian Perez">aperez</who>
    <bug_when>2022-05-16 14:35:33 -0700</bug_when>
    <thetext>Comment on attachment 459424
Patch

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

&gt; Source/WebKit/UIProcess/API/wpe/WPEView.cpp:124
&gt; +#if WPE_CHECK_VERSION(1, 13, 0)

You&apos;ll want to change this to check for 1.13.2 before landing, which is the
version adding the new API: https://wpewebkit.org/release/libwpe-1.13.2.html

:)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869607</commentid>
    <comment_count>4</comment_count>
      <attachid>459489</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2022-05-17 01:27:28 -0700</bug_when>
    <thetext>Created attachment 459489
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869622</commentid>
    <comment_count>5</comment_count>
      <attachid>459492</attachid>
    <who name="Chris Lord">clord</who>
    <bug_when>2022-05-17 02:29:20 -0700</bug_when>
    <thetext>Created attachment 459492
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1869657</commentid>
    <comment_count>6</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-05-17 06:23:59 -0700</bug_when>
    <thetext>Committed r294322 (250642@main): &lt;https://commits.webkit.org/250642@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 459492.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459424</attachid>
            <date>2022-05-16 07:46:44 -0700</date>
            <delta_ts>2022-05-17 01:27:22 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240453-20220516154643.patch</filename>
            <type>text/plain</type>
            <size>14702</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzODI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAyMTA2NDlhMmJjZWY2NTIz
Y2MwNDczY2I0M2VjZWI1MTU3YTIxNWQuLjUxYjkzNmE5MmY4NmVhY2M1YWMyYjY1NTBlNWNmNDM5
MmNkMWY2YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjItMDUtMTYgIENocmlzIExv
cmQgIDxjbG9yZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdIFVzZSBuZXcgbGlid3BlIEFQ
SSB0byBzeW5jaHJvbmlzZSBkaXNwbGF5IHJlZnJlc2hlcyBmdWxseSB0byB0aGUgc2NyZWVuIHJl
ZnJlc2ggcmF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjQwNDUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgVXNlIG5ldyBsaWJ3cGUgQVBJIHRvIHRyYWNrIHRoZSB0YXJnZXQgcmVmcmVzaCByYXRlIGFu
ZCB1c2UgaXQgaW4KKyAgICAgICAgVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IgZm9yIERp
c3BsYXlVcGRhdGUgb2JqZWN0cy4KKworICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwOgorICAgICAgICAo
V2ViS2l0OjpUaHJlYWRlZENvbXBvc2l0b3I6OnRhcmdldFJlZnJlc2hSYXRlRGlkQ2hhbmdlKToK
KyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3Iv
VGhyZWFkZWRDb21wb3NpdG9yLmg6CisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhp
Y3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmNwcDoK
KyAgICAgICAgKFdlYktpdDo6VGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3I6OlRocmVhZGVk
RGlzcGxheVJlZnJlc2hNb25pdG9yKToKKyAgICAgICAgKFdlYktpdDo6VGhyZWFkZWREaXNwbGF5
UmVmcmVzaE1vbml0b3I6OnNldFRhcmdldFJlZnJlc2hSYXRlKToKKyAgICAgICAgKiBTaGFyZWQv
Q29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVm
cmVzaE1vbml0b3IuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcDoK
KyAgICAgICAgKFdLV1BFOjptX2JhY2tlbmQpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcDoKKyAg
ICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3M6OnRhcmdl
dFJlZnJlc2hSYXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQ29vcmRpbmF0ZWRH
cmFwaGljcy9EcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5oOgorICAgICAgICAq
IFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQ
YWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzOjp0YXJn
ZXRSZWZyZXNoUmF0ZURpZENoYW5nZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nv
b3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9z
dC5jcHA6CisgICAgICAgIChXZWJLaXQ6OkxheWVyVHJlZUhvc3Q6OnRhcmdldFJlZnJlc2hSYXRl
RGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFw
aGljcy9MYXllclRyZWVIb3N0Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdp
bmdBcmVhLmg6CisgICAgICAgIChXZWJLaXQ6OkRyYXdpbmdBcmVhOjp0YXJnZXRSZWZyZXNoUmF0
ZURpZENoYW5nZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1l
c3NhZ2VzLmluOgorCiAyMDIyLTA1LTA1ICBZb3Vlbm4gRmFibGV0ICA8eW91ZW5uQGFwcGxlLmNv
bT4KIAogICAgICAgICBTV09yaWdpblN0b3JlIGlzIG5vIGxvbmdlciBuZWVkZWQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21w
b3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3Bw
CmluZGV4IDUxNDc3NzNmNTA4YzhjNjZiMzI1ODlmOWQzMTY0ZDNjODBmMjY3ODIuLjU3NTM3Y2Y1
Mzg4MTZjYWRmMDcxN2YyYjNjMGNiMThjOTk3OTIyYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVk
Q29tcG9zaXRvci5jcHAKKysrIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcApAQCAtMzEwLDUg
KzMxMCwxMSBAQCB2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6ZnJhbWVDb21wbGV0ZSgpCiAgICAg
c2NlbmVVcGRhdGVGaW5pc2hlZCgpOwogfQogCit2b2lkIFRocmVhZGVkQ29tcG9zaXRvcjo6dGFy
Z2V0UmVmcmVzaFJhdGVEaWRDaGFuZ2UodW5zaWduZWQgcmF0ZSkKK3sKKyAgICBBU1NFUlQoIVJ1
bkxvb3A6OmlzTWFpbigpKTsKKyAgICBtX2Rpc3BsYXlSZWZyZXNoTW9uaXRvci0+c2V0VGFyZ2V0
UmVmcmVzaFJhdGUocmF0ZSk7Cit9CisKIH0KICNlbmRpZiAvLyBVU0UoQ09PUkRJTkFURURfR1JB
UEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaCBiL1NvdXJjZS9XZWJL
aXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVk
Q29tcG9zaXRvci5oCmluZGV4IDYyYzg1ZmM1MjYwNWMyNjY4OTkzZjE2NjFmNmQyOGI0ZWE5ZDg5
ZjYuLjAyYjVjMGNiZWQ5MjFkNjBiNTE3MzIzZDhlNGM3YjJmNjJlNjk1ZTkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3Np
dG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oCkBA
IC03Niw2ICs3Niw3IEBAIHB1YmxpYzoKICAgICBSZWZQdHI8V2ViQ29yZTo6RGlzcGxheVJlZnJl
c2hNb25pdG9yPiBkaXNwbGF5UmVmcmVzaE1vbml0b3IoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5
SUQpOwogCiAgICAgdm9pZCBmcmFtZUNvbXBsZXRlKCk7CisgICAgdm9pZCB0YXJnZXRSZWZyZXNo
UmF0ZURpZENoYW5nZSh1bnNpZ25lZCk7CiAKICAgICB2b2lkIHN1c3BlbmQoKTsKICAgICB2b2lk
IHJlc3VtZSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRH
cmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3Iu
Y3BwIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNv
bXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IuY3BwCmluZGV4IDM4YjZjMzE3
MGE0MzAzMjIxM2E5YTA0OWQxNzI2YmI3YTE5OGZiMjYuLjBkYmVjMWNkZWE2NTk0ZTExYzlkYjJi
MWQ0MjUyNmM2NmNjNDI3NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hN
b25pdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNz
L3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKQEAg
LTM3LDE0ICszNywxNCBAQAogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotLy8gRklYTUU6IFVzZSB0
aGUgY29ycmVjdCBmcmFtZSByYXRlLgotY29uc3RleHByIFdlYkNvcmU6OkZyYW1lc1BlclNlY29u
ZCBEZWZhdWx0RnJhbWVzUGVyU2Vjb25kID0gNjA7Citjb25zdGV4cHIgdW5zaWduZWQgZGVmYXVs
dFJlZnJlc2hSYXRlID0gNjAwMDA7CiAKIFRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yOjpU
aHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcihXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCBk
aXNwbGF5SUQsIENsaWVudCYgY2xpZW50KQogICAgIDogV2ViQ29yZTo6RGlzcGxheVJlZnJlc2hN
b25pdG9yKGRpc3BsYXlJRCkKICAgICAsIG1fZGlzcGxheVJlZnJlc2hUaW1lcihSdW5Mb29wOjpt
YWluKCksIHRoaXMsICZUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6ZGlzcGxheVJlZnJl
c2hDYWxsYmFjaykKICAgICAsIG1fY2xpZW50KCZjbGllbnQpCi0gICAgLCBtX2N1cnJlbnRVcGRh
dGUoeyAwLCBEZWZhdWx0RnJhbWVzUGVyU2Vjb25kIH0pCisgICAgLCBtX3RhcmdldFJlZnJlc2hS
YXRlKGRlZmF1bHRSZWZyZXNoUmF0ZSkKKyAgICAsIG1fY3VycmVudFVwZGF0ZSh7IDAsIG1fdGFy
Z2V0UmVmcmVzaFJhdGUgLyAxMDAwIH0pCiB7CiAjaWYgVVNFKEdMSUJfRVZFTlRfTE9PUCkKICAg
ICBtX2Rpc3BsYXlSZWZyZXNoVGltZXIuc2V0UHJpb3JpdHkoUnVuTG9vcFNvdXJjZVByaW9yaXR5
OjpEaXNwbGF5UmVmcmVzaE1vbml0b3JUaW1lcik7CkBAIC0xMzMsNiArMTMzLDE2IEBAIHZvaWQg
VGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3I6OmRpc3BsYXlSZWZyZXNoQ2FsbGJhY2soKQog
ICAgICAgICBtX2NsaWVudC0+aGFuZGxlRGlzcGxheVJlZnJlc2hNb25pdG9yVXBkYXRlKGhhc0Jl
ZW5SZXNjaGVkdWxlZCk7CiB9CiAKK3ZvaWQgVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3I6
OnNldFRhcmdldFJlZnJlc2hSYXRlKHVuc2lnbmVkIHJhdGUpCit7CisgICAgaWYgKCFyYXRlKQor
ICAgICAgICByYXRlID0gZGVmYXVsdFJlZnJlc2hSYXRlOworICAgIGlmIChtX3RhcmdldFJlZnJl
c2hSYXRlICE9IHJhdGUpIHsKKyAgICAgICAgbV90YXJnZXRSZWZyZXNoUmF0ZSA9IHJhdGU7Cisg
ICAgICAgIG1fY3VycmVudFVwZGF0ZSA9IHsgMCwgbV90YXJnZXRSZWZyZXNoUmF0ZSAvIDEwMDAg
fTsKKyAgICB9Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCiAjZW5kaWYgLy8gVVNFKENP
T1JESU5BVEVEX0dSQVBISUNTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29v
cmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVz
aE1vbml0b3IuaCBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhy
ZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yLmgKaW5kZXggZGIy
OTNmZmZjNGMxZjNjZjRhZDMyMGJhMDgyYTA1NzlhNzJjMzU3YS4uMmJmMGNhMWU0YmJhYzUxZmM4
MDk5ZWE5MDljYzYxMjU3NDA1OGU3NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQv
Q29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVm
cmVzaE1vbml0b3IuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBo
aWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5oCkBA
IC01NCw2ICs1NCw4IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc3BhdGNoRGlzcGxheVJlZnJlc2hD
YWxsYmFjaygpOwogICAgIHZvaWQgaW52YWxpZGF0ZSgpOwogCisgICAgdm9pZCBzZXRUYXJnZXRS
ZWZyZXNoUmF0ZSh1bnNpZ25lZCk7CisKIHByaXZhdGU6CiAgICAgVGhyZWFkZWREaXNwbGF5UmVm
cmVzaE1vbml0b3IoV2ViQ29yZTo6UGxhdGZvcm1EaXNwbGF5SUQsIENsaWVudCYpOwogCkBAIC02
Myw2ICs2NSw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBkaXNwbGF5UmVmcmVzaENhbGxiYWNrKCk7
CiAgICAgUnVuTG9vcDo6VGltZXI8VGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3I+IG1fZGlz
cGxheVJlZnJlc2hUaW1lcjsKICAgICBDbGllbnQqIG1fY2xpZW50OworICAgIHVuc2lnbmVkIG1f
dGFyZ2V0UmVmcmVzaFJhdGU7CiAgICAgV2ViQ29yZTo6RGlzcGxheVVwZGF0ZSBtX2N1cnJlbnRV
cGRhdGU7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3Bl
L1dQRVZpZXcuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNw
cAppbmRleCA1MTY0NTliMzE0MDljNzA2MWU1NDZmZGQwMmI5OGVkZTM0YmE2ZjNkLi5hYTRjOGVk
YWNlOWVhYTZlYzQ3ZTVjY2RiYjVkMGZhYjRiZmNmN2NlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dQRVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS93cGUvV1BFVmlldy5jcHAKQEAgLTEyMSwxMyArMTIxLDIzIEBAIFZpZXc6OlZp
ZXcoc3RydWN0IHdwZV92aWV3X2JhY2tlbmQqIGJhY2tlbmQsIGNvbnN0IEFQSTo6UGFnZUNvbmZp
Z3VyYXRpb24mIGJhc2VDCiAgICAgICAgICAgICBhdXRvJiB2aWV3ID0gKnJlaW50ZXJwcmV0X2Nh
c3Q8Vmlldyo+KGRhdGEpOwogICAgICAgICAgICAgdmlldy5wYWdlKCkuc2V0SW50cmluc2ljRGV2
aWNlU2NhbGVGYWN0b3Ioc2NhbGUpOwogICAgICAgICB9LAorI2lmIFdQRV9DSEVDS19WRVJTSU9O
KDEsIDEzLCAwKQorICAgICAgICAvLyB0YXJnZXRfcmVmcmVzaF9yYXRlX2NoYW5nZWQKKyAgICAg
ICAgW10odm9pZCogZGF0YSwgdWludDMyX3QgcmF0ZSkKKyAgICAgICAgeworICAgICAgICAgICAg
YXV0byYgdmlldyA9ICpyZWludGVycHJldF9jYXN0PFZpZXcqPihkYXRhKTsKKyAgICAgICAgICAg
IGlmICh2aWV3LnBhZ2UoKS5kcmF3aW5nQXJlYSgpKQorICAgICAgICAgICAgICAgIHZpZXcucGFn
ZSgpLmRyYXdpbmdBcmVhKCktPnRhcmdldFJlZnJlc2hSYXRlRGlkQ2hhbmdlKHJhdGUpOworICAg
ICAgICB9LAogI2Vsc2UKICAgICAgICAgLy8gcGFkZGluZwogICAgICAgICBudWxscHRyLAotICAg
ICAgICBudWxscHRyLAotI2VuZGlmIC8vIFdQRV9DSEVDS19WRVJTSU9OKDEsIDMsIDApCisjZW5k
aWYgLy8gV1BFX0NIRUNLX1ZFUlNJT04oMSwgMTMsIDApCisjZWxzZQogICAgICAgICAvLyBwYWRk
aW5nCisgICAgICAgIG51bGxwdHIsCiAgICAgICAgIG51bGxwdHIKKyNlbmRpZiAvLyBXUEVfQ0hF
Q0tfVkVSU0lPTigxLCAzLCAwKQogICAgIH07CiAgICAgd3BlX3ZpZXdfYmFja2VuZF9zZXRfYmFj
a2VuZF9jbGllbnQobV9iYWNrZW5kLCAmc19iYWNrZW5kQ2xpZW50LCB0aGlzKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5n
QXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNz
LmNwcAppbmRleCA4NzM1YjE3YWU2YmQxZTY5MGQyNTkwMjFmYzE5MzNhYTY5ZWI1NGJiLi4zMmM4
MmI4OTliMzAxYzk1N2M1NjMyYzA5ZTBhZTMyMWNmNjRlOTYxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29y
ZGluYXRlZEdyYXBoaWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGlu
YXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAt
MjM5LDYgKzIzOSwxMSBAQCB2b2lkIERyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNz
Ojp1cGRhdGVBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSh1aW50NgogICAgIHVwZGF0ZUFjY2Vs
ZXJhdGVkQ29tcG9zaXRpbmdNb2RlKGxheWVyVHJlZUNvbnRleHQpOwogfQogCit2b2lkIERyYXdp
bmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzOjp0YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5n
ZSh1bnNpZ25lZCByYXRlKQoreworICAgIHNlbmQoTWVzc2FnZXM6OkRyYXdpbmdBcmVhOjpUYXJn
ZXRSZWZyZXNoUmF0ZURpZENoYW5nZShyYXRlKSk7Cit9CisKICNpZiAhUExBVEZPUk0oV1BFKQog
dm9pZCBEcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljczo6aW5jb3Jwb3JhdGVVcGRh
dGUoY29uc3QgVXBkYXRlSW5mbyYgdXBkYXRlSW5mbykKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3Jk
aW5hdGVkR3JhcGhpY3MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuaAppbmRleCBiMjNhNDVm
ZjdkMzEzMzE3ZDhiYTY0ZmI0MzBlYmJhM2I2YWRlZjcxLi5mM2RmZTY2MTRiYWQ1MzJjNDk5OTVj
ZjdhZmM1ZjY4MThhNDY5Y2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9D
b29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmgK
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5n
QXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5oCkBAIC02OCw2ICs2OCw3IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBlbnRlckFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tp
bmdTdG9yZVN0YXRlSUQsIGNvbnN0IExheWVyVHJlZUNvbnRleHQmKSBvdmVycmlkZTsKICAgICB2
b2lkIGV4aXRBY2NlbGVyYXRlZENvbXBvc2l0aW5nTW9kZSh1aW50NjRfdCBiYWNraW5nU3RvcmVT
dGF0ZUlELCBjb25zdCBVcGRhdGVJbmZvJikgb3ZlcnJpZGU7CiAgICAgdm9pZCB1cGRhdGVBY2Nl
bGVyYXRlZENvbXBvc2l0aW5nTW9kZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBjb25z
dCBMYXllclRyZWVDb250ZXh0Jikgb3ZlcnJpZGU7CisgICAgdm9pZCB0YXJnZXRSZWZyZXNoUmF0
ZURpZENoYW5nZSh1bnNpZ25lZCkgb3ZlcnJpZGU7CiAKICNpZiAhUExBVEZPUk0oV1BFKQogICAg
IHZvaWQgaW5jb3Jwb3JhdGVVcGRhdGUoY29uc3QgVXBkYXRlSW5mbyYpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IGJhYmM1NTNkMTcwZmM3MWQ1ODJl
MjY0MjZlOGNmOTAzYTllODBkMzMuLjMxODg5NmRlOTViZDZmYmVkZTJhODNiMjdkMjNiNjRiMTA5
NjgxMGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAg
LTc5LDYgKzc5LDcgQEAgcHVibGljOgogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykgfHwg
VVNFKFRFWFRVUkVfTUFQUEVSKQogICAgIC8vIFRoZSB0aW1lb3V0IHdlIHVzZSB3aGVuIHdhaXRp
bmcgZm9yIGEgRGlkVXBkYXRlR2VvbWV0cnkgbWVzc2FnZS4KICAgICBzdGF0aWMgY29uc3RleHBy
IFNlY29uZHMgZGlkVXBkYXRlQmFja2luZ1N0b3JlU3RhdGVUaW1lb3V0KCkgeyByZXR1cm4gU2Vj
b25kczo6ZnJvbU1pbGxpc2Vjb25kcyg1MDApOyB9CisgICAgdmlydHVhbCB2b2lkIHRhcmdldFJl
ZnJlc2hSYXRlRGlkQ2hhbmdlKHVuc2lnbmVkKSA9IDA7CiAjZW5kaWYKIAogICAgIHZpcnR1YWwg
dm9pZCBjb2xvclNwYWNlRGlkQ2hhbmdlKCkgeyB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRp
bmF0ZWRHcmFwaGljcy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAKaW5kZXgg
OGQ3MWMwYTk1Y2E4YmYxNjgyZDkxNjI0NDlmYTNmMWFmNTE5NjQ0NS4uYzAzNGUyZDQ5NTViMTA3
ZTU3ODVlNTRlOTAxYmQ4ZGIyMmJiNDhhYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmNwcApAQCAtNDYx
LDYgKzQ2MSwxMiBAQCB2b2lkIERyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljczo6dXBkYXRl
QmFja2luZ1N0b3JlU3RhdGUodWludDY0X3Qgc3RhdGVJRCwgYgogICAgICAgICBmb3JjZVJlcGFp
bnQoKTsKIH0KIAordm9pZCBEcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6OnRhcmdldFJl
ZnJlc2hSYXRlRGlkQ2hhbmdlKHVuc2lnbmVkIHJhdGUpCit7CisgICAgaWYgKG1fbGF5ZXJUcmVl
SG9zdCkKKyAgICAgICAgbV9sYXllclRyZWVIb3N0LT50YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5n
ZShyYXRlKTsKK30KKwogdm9pZCBEcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6OmRpZFVw
ZGF0ZSgpCiB7CiAgICAgLy8gV2UgbWlnaHQgZ2V0IGRpZFVwZGF0ZSBtZXNzYWdlcyBmcm9tIHRo
ZSBVSSBwcm9jZXNzIGV2ZW4gYWZ0ZXIgd2UndmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGlu
YXRlZEdyYXBoaWNzLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljcy5oCmluZGV4IGQ4ZGM2
ZGY3ZDRkMmFjNmFlN2U5ZWVmZmI4YmFhZGVmODU5MGNiMTYuLmRiZWYzNjU2ODAyYzc4YWViY2Qx
ZTQ0ODNiZjc3YTdiZmNkZGE2MTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBo
aWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRH
cmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuaApAQCAtODIsNiArODIsNyBA
QCBwcml2YXRlOgogCiAgICAgLy8gSVBDIG1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9pZCB1cGRh
dGVCYWNraW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBib29sIHJl
c3BvbmRJbW1lZGlhdGVseSwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6
OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXplJiBzY3JvbGxPZmZzZXQpIG92ZXJyaWRl
OworICAgIHZvaWQgdGFyZ2V0UmVmcmVzaFJhdGVEaWRDaGFuZ2UodW5zaWduZWQgcmF0ZSkgb3Zl
cnJpZGU7CiAgICAgdm9pZCBkaWRVcGRhdGUoKSBvdmVycmlkZTsKIAogI2lmIFBMQVRGT1JNKEdU
SykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHAgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3Mv
V2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuY3BwCmluZGV4IGYzMzA0
ZDEwZjcyODEyODY1MmMzMzQyNjU1OGU0ZGM0ZjZiNjU5YjUuLjYwZDU5NmVjMDhjMGIzNTUwYTMy
OGFlNzE1ZTE4MGFlMzY2OTY3NmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vz
cy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291
cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRy
ZWVIb3N0LmNwcApAQCAtMjQ5LDYgKzI0OSwxMSBAQCB2b2lkIExheWVyVHJlZUhvc3Q6OnNpemVE
aWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAgICBkaWRDaGFuZ2VWaWV3cG9ydCgpOwog
fQogCit2b2lkIExheWVyVHJlZUhvc3Q6OnRhcmdldFJlZnJlc2hSYXRlRGlkQ2hhbmdlKHVpbnQz
Ml90IHJhdGUpCit7CisgICAgbV9jb21wb3NpdG9yLT50YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5n
ZShyYXRlKTsKK30KKwogdm9pZCBMYXllclRyZWVIb3N0OjpwYXVzZVJlbmRlcmluZygpCiB7CiAg
ICAgbV9pc1N1c3BlbmRlZCA9IHRydWU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlBy
b2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuaCBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
SG9zdC5oCmluZGV4IDRmNzI3ZTQxOGIwODJlZWJlODY3MTEyOTRiYjBmMjZmOWM3NGQ3ZDEuLjI5
M2MyZTVkZTI2ZTM2MTIyMTdlN2Y0NGVhNDNkZmQ1ODljYzY1N2UgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVl
SG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oCkBAIC04Myw2ICs4Myw3IEBAIHB1YmxpYzoKICAgICB2
b2lkIGZvcmNlUmVwYWludCgpOwogICAgIHZvaWQgZm9yY2VSZXBhaW50QXN5bmMoQ29tcGxldGlv
bkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNpemVEaWRDaGFuZ2UoY29uc3QgV2ViQ29y
ZTo6SW50U2l6ZSYgbmV3U2l6ZSk7CisgICAgdm9pZCB0YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5n
ZSh1bnNpZ25lZCk7CiAKICAgICB2b2lkIHBhdXNlUmVuZGVyaW5nKCk7CiAgICAgdm9pZCByZXN1
bWVSZW5kZXJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3
aW5nQXJlYS5oCmluZGV4IGJiZDQwNWFlNjQxYTg0ZDE5NzliZTFmNmE4YTNjY2M1MTUxY2EzOTAu
LjNmNmI5MzA0ZGQwOGZiY2MxZmJhNzA4NjE2M2M3NTNmMGFkNTA3ODUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKKysrIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaApAQCAtMTc1LDYgKzE3NSw3
IEBAIHByaXZhdGU6CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBISUNTKSB8fCBVU0UoVEVYVFVS
RV9NQVBQRVIpCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2
NF90IC8qYmFja2luZ1N0b3JlU3RhdGVJRCovLCBib29sIC8qcmVzcG9uZEltbWVkaWF0ZWx5Ki8s
IGZsb2F0IC8qZGV2aWNlU2NhbGVGYWN0b3IqLywgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgLypz
aXplKi8sCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdl
YkNvcmU6OkludFNpemUmIC8qc2Nyb2xsT2Zmc2V0Ki8pIHsgfQorICAgIHZpcnR1YWwgdm9pZCB0
YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5nZSh1bnNpZ25lZCAvKnJhdGUqLykgeyB9CiAjZW5kaWYK
ICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlKCkgeyB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluIGIvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KaW5kZXgg
YjE5NmE5ZjA1ZDI0NGFkYTAzMDEzYzdhN2IxNDIzY2RmODQwN2YzZS4uZTg0M2MxM2VhZDdmZmIy
OTIzOGE4OTRhMDQwYzczYmRhNDJjZDUyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2FnZXMuaW4KQEAgLTIzLDYgKzIz
LDcgQEAKIG1lc3NhZ2VzIC0+IERyYXdpbmdBcmVhIE5vdFJlZkNvdW50ZWQgewogI2lmIFVTRShD
T09SRElOQVRFRF9HUkFQSElDUykgfHwgVVNFKFRFWFRVUkVfTUFQUEVSKQogICAgIFVwZGF0ZUJh
Y2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRlSUQsIGJvb2wgcmVzcG9u
ZEltbWVkaWF0ZWx5LCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvciwgV2ViQ29yZTo6SW50U2l6ZSBz
aXplLCBXZWJDb3JlOjpJbnRTaXplIHNjcm9sbE9mZnNldCkKKyAgICBUYXJnZXRSZWZyZXNoUmF0
ZURpZENoYW5nZSh1bnNpZ25lZCByYXRlKQogI2VuZGlmCiAKICAgICBEaWRVcGRhdGUoKQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459489</attachid>
            <date>2022-05-17 01:27:28 -0700</date>
            <delta_ts>2022-05-17 02:29:14 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240453-20220517092727.patch</filename>
            <type>text/plain</type>
            <size>14709</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzODI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAyMTA2NDlhMmJjZWY2NTIz
Y2MwNDczY2I0M2VjZWI1MTU3YTIxNWQuLmIxNDBjYzBmZTc4ZDBmMmNiOGZjMzJkY2Y5MjJjNjMx
Y2Y1MWZiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjItMDUtMTYgIENocmlzIExv
cmQgIDxjbG9yZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdIFVzZSBuZXcgbGlid3BlIEFQ
SSB0byBzeW5jaHJvbmlzZSBkaXNwbGF5IHJlZnJlc2hlcyBmdWxseSB0byB0aGUgc2NyZWVuIHJl
ZnJlc2ggcmF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjQwNDUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRyaWFuIFBlcmV6IGRlIENhc3Ryby4K
KworICAgICAgICBVc2UgbmV3IGxpYndwZSBBUEkgdG8gdHJhY2sgdGhlIHRhcmdldCByZWZyZXNo
IHJhdGUgYW5kIHVzZSBpdCBpbgorICAgICAgICBUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRv
ciBmb3IgRGlzcGxheVVwZGF0ZSBvYmplY3RzLgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6dGFyZ2V0UmVmcmVzaFJhdGVEaWRD
aGFuZ2UpOgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29t
cG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaDoKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0
b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6
VGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IpOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRl
ZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6c2V0VGFyZ2V0UmVmcmVzaFJhdGUpOgorICAgICAgICAq
IFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERp
c3BsYXlSZWZyZXNoTW9uaXRvci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1dQRVZp
ZXcuY3BwOgorICAgICAgICAoV0tXUEU6Om1fYmFja2VuZCk6CisgICAgICAgICogVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGlj
czo6dGFyZ2V0UmVmcmVzaFJhdGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3Jh
cGhpY3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhp
Y3M6OnRhcmdldFJlZnJlc2hSYXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3Mu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6dGFyZ2V0UmVm
cmVzaFJhdGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6OnRhcmdldFJl
ZnJlc2hSYXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWEubWVzc2FnZXMuaW46CisKIDIwMjItMDUtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIFNXT3JpZ2luU3RvcmUgaXMgbm8gbG9uZ2VyIG5lZWRlZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJl
YWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9z
aXRvci5jcHAKaW5kZXggNTE0Nzc3M2Y1MDhjOGM2NmIzMjU4OWY5ZDMxNjRkM2M4MGYyNjc4Mi4u
NTc1MzdjZjUzODgxNmNhZGYwNzE3ZjJiM2MwY2IxOGM5OTc5MjJiNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3Iv
VGhyZWFkZWRDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGlu
YXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCkBA
IC0zMTAsNSArMzEwLDExIEBAIHZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjpmcmFtZUNvbXBsZXRl
KCkKICAgICBzY2VuZVVwZGF0ZUZpbmlzaGVkKCk7CiB9CiAKK3ZvaWQgVGhyZWFkZWRDb21wb3Np
dG9yOjp0YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5nZSh1bnNpZ25lZCByYXRlKQoreworICAgIEFT
U0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOworICAgIG1fZGlzcGxheVJlZnJlc2hNb25pdG9yLT5z
ZXRUYXJnZXRSZWZyZXNoUmF0ZShyYXRlKTsKK30KKwogfQogI2VuZGlmIC8vIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3Iv
VGhyZWFkZWRDb21wb3NpdG9yLmgKaW5kZXggNjJjODVmYzUyNjA1YzI2Njg5OTNmMTY2MWY2ZDI4
YjRlYTlkODlmNi4uMDJiNWMwY2JlZDkyMWQ2MGI1MTczMjNkOGU0YzdiMmY2MmU2OTVlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3Np
dG9yLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxXZWJDb3JlOjpEaXNw
bGF5UmVmcmVzaE1vbml0b3I+IGRpc3BsYXlSZWZyZXNoTW9uaXRvcihXZWJDb3JlOjpQbGF0Zm9y
bURpc3BsYXlJRCk7CiAKICAgICB2b2lkIGZyYW1lQ29tcGxldGUoKTsKKyAgICB2b2lkIHRhcmdl
dFJlZnJlc2hSYXRlRGlkQ2hhbmdlKHVuc2lnbmVkKTsKIAogICAgIHZvaWQgc3VzcGVuZCgpOwog
ICAgIHZvaWQgcmVzdW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNo
TW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3Ro
cmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXgg
MzhiNmMzMTcwYTQzMDMyMjEzYTlhMDQ5ZDE3MjZiYjdhMTk4ZmIyNi4uMGRiZWMxY2RlYTY1OTRl
MTFjOWRiMmIxZDQyNTI2YzY2Y2M0Mjc1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5
UmVmcmVzaE1vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9y
LmNwcApAQCAtMzcsMTQgKzM3LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0vLyBGSVhN
RTogVXNlIHRoZSBjb3JyZWN0IGZyYW1lIHJhdGUuCi1jb25zdGV4cHIgV2ViQ29yZTo6RnJhbWVz
UGVyU2Vjb25kIERlZmF1bHRGcmFtZXNQZXJTZWNvbmQgPSA2MDsKK2NvbnN0ZXhwciB1bnNpZ25l
ZCBkZWZhdWx0UmVmcmVzaFJhdGUgPSA2MDAwMDsKIAogVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1v
bml0b3I6OlRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlz
cGxheUlEIGRpc3BsYXlJRCwgQ2xpZW50JiBjbGllbnQpCiAgICAgOiBXZWJDb3JlOjpEaXNwbGF5
UmVmcmVzaE1vbml0b3IoZGlzcGxheUlEKQogICAgICwgbV9kaXNwbGF5UmVmcmVzaFRpbWVyKFJ1
bkxvb3A6Om1haW4oKSwgdGhpcywgJlRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yOjpkaXNw
bGF5UmVmcmVzaENhbGxiYWNrKQogICAgICwgbV9jbGllbnQoJmNsaWVudCkKLSAgICAsIG1fY3Vy
cmVudFVwZGF0ZSh7IDAsIERlZmF1bHRGcmFtZXNQZXJTZWNvbmQgfSkKKyAgICAsIG1fdGFyZ2V0
UmVmcmVzaFJhdGUoZGVmYXVsdFJlZnJlc2hSYXRlKQorICAgICwgbV9jdXJyZW50VXBkYXRlKHsg
MCwgbV90YXJnZXRSZWZyZXNoUmF0ZSAvIDEwMDAgfSkKIHsKICNpZiBVU0UoR0xJQl9FVkVOVF9M
T09QKQogICAgIG1fZGlzcGxheVJlZnJlc2hUaW1lci5zZXRQcmlvcml0eShSdW5Mb29wU291cmNl
UHJpb3JpdHk6OkRpc3BsYXlSZWZyZXNoTW9uaXRvclRpbWVyKTsKQEAgLTEzMyw2ICsxMzMsMTYg
QEAgdm9pZCBUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6ZGlzcGxheVJlZnJlc2hDYWxs
YmFjaygpCiAgICAgICAgIG1fY2xpZW50LT5oYW5kbGVEaXNwbGF5UmVmcmVzaE1vbml0b3JVcGRh
dGUoaGFzQmVlblJlc2NoZWR1bGVkKTsKIH0KIAordm9pZCBUaHJlYWRlZERpc3BsYXlSZWZyZXNo
TW9uaXRvcjo6c2V0VGFyZ2V0UmVmcmVzaFJhdGUodW5zaWduZWQgcmF0ZSkKK3sKKyAgICBpZiAo
IXJhdGUpCisgICAgICAgIHJhdGUgPSBkZWZhdWx0UmVmcmVzaFJhdGU7CisgICAgaWYgKG1fdGFy
Z2V0UmVmcmVzaFJhdGUgIT0gcmF0ZSkgeworICAgICAgICBtX3RhcmdldFJlZnJlc2hSYXRlID0g
cmF0ZTsKKyAgICAgICAgbV9jdXJyZW50VXBkYXRlID0geyAwLCBtX3RhcmdldFJlZnJlc2hSYXRl
IC8gMTAwMCB9OworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAv
LyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3Bs
YXlSZWZyZXNoTW9uaXRvci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IuaApp
bmRleCBkYjI5M2ZmZmM0YzFmM2NmNGFkMzIwYmEwODJhMDU3OWE3MmMzNTdhLi4yYmYwY2ExZTRi
YmFjNTFmYzgwOTllYTkwOWNjNjEyNTc0MDU4ZTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERp
c3BsYXlSZWZyZXNoTW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25p
dG9yLmgKQEAgLTU0LDYgKzU0LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlzcGF0Y2hEaXNwbGF5
UmVmcmVzaENhbGxiYWNrKCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CiAKKyAgICB2b2lkIHNl
dFRhcmdldFJlZnJlc2hSYXRlKHVuc2lnbmVkKTsKKwogcHJpdmF0ZToKICAgICBUaHJlYWRlZERp
c3BsYXlSZWZyZXNoTW9uaXRvcihXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCwgQ2xpZW50Jik7
CiAKQEAgLTYzLDYgKzY1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc3BsYXlSZWZyZXNoQ2Fs
bGJhY2soKTsKICAgICBSdW5Mb29wOjpUaW1lcjxUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRv
cj4gbV9kaXNwbGF5UmVmcmVzaFRpbWVyOwogICAgIENsaWVudCogbV9jbGllbnQ7CisgICAgdW5z
aWduZWQgbV90YXJnZXRSZWZyZXNoUmF0ZTsKICAgICBXZWJDb3JlOjpEaXNwbGF5VXBkYXRlIG1f
Y3VycmVudFVwZGF0ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvV1BFVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dQ
RVZpZXcuY3BwCmluZGV4IDUxNjQ1OWIzMTQwOWM3MDYxZTU0NmZkZDAyYjk4ZWRlMzRiYTZmM2Qu
LjJlMDM0NTE3MDY1ODAwMzI5ZDM1MWJjMGRkOTExYThkOTlmMGVjYTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV1BFVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcApAQCAtMTIxLDEzICsxMjEsMjMgQEAg
Vmlldzo6VmlldyhzdHJ1Y3Qgd3BlX3ZpZXdfYmFja2VuZCogYmFja2VuZCwgY29uc3QgQVBJOjpQ
YWdlQ29uZmlndXJhdGlvbiYgYmFzZUMKICAgICAgICAgICAgIGF1dG8mIHZpZXcgPSAqcmVpbnRl
cnByZXRfY2FzdDxWaWV3Kj4oZGF0YSk7CiAgICAgICAgICAgICB2aWV3LnBhZ2UoKS5zZXRJbnRy
aW5zaWNEZXZpY2VTY2FsZUZhY3RvcihzY2FsZSk7CiAgICAgICAgIH0sCisjaWYgV1BFX0NIRUNL
X1ZFUlNJT04oMSwgMTMsIDIpCisgICAgICAgIC8vIHRhcmdldF9yZWZyZXNoX3JhdGVfY2hhbmdl
ZAorICAgICAgICBbXSh2b2lkKiBkYXRhLCB1aW50MzJfdCByYXRlKQorICAgICAgICB7CisgICAg
ICAgICAgICBhdXRvJiB2aWV3ID0gKnJlaW50ZXJwcmV0X2Nhc3Q8Vmlldyo+KGRhdGEpOworICAg
ICAgICAgICAgaWYgKHZpZXcucGFnZSgpLmRyYXdpbmdBcmVhKCkpCisgICAgICAgICAgICAgICAg
dmlldy5wYWdlKCkuZHJhd2luZ0FyZWEoKS0+dGFyZ2V0UmVmcmVzaFJhdGVEaWRDaGFuZ2UocmF0
ZSk7CisgICAgICAgIH0sCiAjZWxzZQogICAgICAgICAvLyBwYWRkaW5nCiAgICAgICAgIG51bGxw
dHIsCi0gICAgICAgIG51bGxwdHIsCi0jZW5kaWYgLy8gV1BFX0NIRUNLX1ZFUlNJT04oMSwgMywg
MCkKKyNlbmRpZiAvLyBXUEVfQ0hFQ0tfVkVSU0lPTigxLCAxMywgMCkKKyNlbHNlCiAgICAgICAg
IC8vIHBhZGRpbmcKKyAgICAgICAgbnVsbHB0ciwKICAgICAgICAgbnVsbHB0cgorI2VuZGlmIC8v
IFdQRV9DSEVDS19WRVJTSU9OKDEsIDMsIDApCiAgICAgfTsKICAgICB3cGVfdmlld19iYWNrZW5k
X3NldF9iYWNrZW5kX2NsaWVudChtX2JhY2tlbmQsICZzX2JhY2tlbmRDbGllbnQsIHRoaXMpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwCmluZGV4IDg3MzViMTdhZTZiZDFlNjkwZDI1OTAyMWZjMTkzM2FhNjllYjU0
YmIuLjMyYzgyYjg5OWIzMDFjOTU3YzU2MzJjMDllMGFlMzIxY2Y2NGU5NjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQ
cm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3Mu
Y3BwCkBAIC0yMzksNiArMjM5LDExIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVk
R3JhcGhpY3M6OnVwZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2CiAgICAgdXBk
YXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUobGF5ZXJUcmVlQ29udGV4dCk7CiB9CiAKK3Zv
aWQgRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3M6OnRhcmdldFJlZnJlc2hSYXRl
RGlkQ2hhbmdlKHVuc2lnbmVkIHJhdGUpCit7CisgICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0Fy
ZWE6OlRhcmdldFJlZnJlc2hSYXRlRGlkQ2hhbmdlKHJhdGUpKTsKK30KKwogI2lmICFQTEFURk9S
TShXUEUpCiB2b2lkIERyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzOjppbmNvcnBv
cmF0ZVVwZGF0ZShjb25zdCBVcGRhdGVJbmZvJiB1cGRhdGVJbmZvKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYVBy
b3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5oCmluZGV4
IGIyM2E0NWZmN2QzMTMzMTdkOGJhNjRmYjQzMGViYmEzYjZhZGVmNzEuLmYzZGZlNjYxNGJhZDUz
MmM0OTk5NWNmN2FmYzVmNjgxOGE0NjljYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3Jh
cGhpY3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmgKQEAgLTY4LDYgKzY4LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0
X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIG92ZXJyaWRl
OwogICAgIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tp
bmdTdG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUluZm8mKSBvdmVycmlkZTsKICAgICB2b2lkIHVw
ZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRl
SUQsIGNvbnN0IExheWVyVHJlZUNvbnRleHQmKSBvdmVycmlkZTsKKyAgICB2b2lkIHRhcmdldFJl
ZnJlc2hSYXRlRGlkQ2hhbmdlKHVuc2lnbmVkKSBvdmVycmlkZTsKIAogI2lmICFQTEFURk9STShX
UEUpCiAgICAgdm9pZCBpbmNvcnBvcmF0ZVVwZGF0ZShjb25zdCBVcGRhdGVJbmZvJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKaW5kZXggYmFiYzU1M2QxNzBm
YzcxZDU4MmUyNjQyNmU4Y2Y5MDNhOWU4MGQzMy4uMjFkZDA0ZDNmYjMxNGEwYTk2Y2NhZDgxOTFl
ZGRlM2FkYTVkZTMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaApAQCAtNzksNiArNzksNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKSB8fCBVU0UoVEVYVFVSRV9NQVBQRVIpCiAgICAgLy8gVGhlIHRpbWVvdXQgd2UgdXNlIHdo
ZW4gd2FpdGluZyBmb3IgYSBEaWRVcGRhdGVHZW9tZXRyeSBtZXNzYWdlLgogICAgIHN0YXRpYyBj
b25zdGV4cHIgU2Vjb25kcyBkaWRVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZVRpbWVvdXQoKSB7IHJl
dHVybiBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKDUwMCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
dGFyZ2V0UmVmcmVzaFJhdGVEaWRDaGFuZ2UodW5zaWduZWQpIHsgfQogI2VuZGlmCiAKICAgICB2
aXJ0dWFsIHZvaWQgY29sb3JTcGFjZURpZENoYW5nZSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJl
YUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuY3Bw
CmluZGV4IDhkNzFjMGE5NWNhOGJmMTY4MmQ5MTYyNDQ5ZmEzZjFhZjUxOTY0NDUuLmMwMzRlMmQ0
OTU1YjEwN2U1Nzg1ZTU0ZTkwMWJkOGRiMjJiYjQ4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29y
ZGluYXRlZEdyYXBoaWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAK
QEAgLTQ2MSw2ICs0NjEsMTIgQEAgdm9pZCBEcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6
OnVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IHN0YXRlSUQsIGIKICAgICAgICAgZm9y
Y2VSZXBhaW50KCk7CiB9CiAKK3ZvaWQgRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzOjp0
YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5nZSh1bnNpZ25lZCByYXRlKQoreworICAgIGlmIChtX2xh
eWVyVHJlZUhvc3QpCisgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+dGFyZ2V0UmVmcmVzaFJhdGVE
aWRDaGFuZ2UocmF0ZSk7Cit9CisKIHZvaWQgRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNz
OjpkaWRVcGRhdGUoKQogewogICAgIC8vIFdlIG1pZ2h0IGdldCBkaWRVcGRhdGUgbWVzc2FnZXMg
ZnJvbSB0aGUgVUkgcHJvY2VzcyBldmVuIGFmdGVyIHdlJ3ZlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVh
Q29vcmRpbmF0ZWRHcmFwaGljcy5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuaAppbmRl
eCBkOGRjNmRmN2Q0ZDJhYzZhZTdlOWVlZmZiOGJhYWRlZjg1OTBjYjE2Li5kYmVmMzY1NjgwMmM3
OGFlYmNkMWU0NDgzYmY3N2E3YmZjZGRhNjE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0
ZWRHcmFwaGljcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmgKQEAgLTgyLDYg
KzgyLDcgQEAgcHJpdmF0ZToKIAogICAgIC8vIElQQyBtZXNzYWdlIGhhbmRsZXJzLgogICAgIHZv
aWQgdXBkYXRlQmFja2luZ1N0b3JlU3RhdGUodWludDY0X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwg
Ym9vbCByZXNwb25kSW1tZWRpYXRlbHksIGZsb2F0IGRldmljZVNjYWxlRmFjdG9yLCBjb25zdCBX
ZWJDb3JlOjpJbnRTaXplJiwgY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgc2Nyb2xsT2Zmc2V0KSBv
dmVycmlkZTsKKyAgICB2b2lkIHRhcmdldFJlZnJlc2hSYXRlRGlkQ2hhbmdlKHVuc2lnbmVkIHJh
dGUpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkVXBkYXRlKCkgb3ZlcnJpZGU7CiAKICNpZiBQTEFU
Rk9STShHVEspCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9D
b29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVIb3N0LmNwcAppbmRl
eCBmMzMwNGQxMGY3MjgxMjg2NTJjMzM0MjY1NThlNGRjNGY2YjY1OWI1Li42MGQ1OTZlYzA4YzBi
MzU1MGEzMjhhZTcxNWUxODBhZTM2Njk2NzZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuY3BwCisr
KyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3Mv
TGF5ZXJUcmVlSG9zdC5jcHAKQEAgLTI0OSw2ICsyNDksMTEgQEAgdm9pZCBMYXllclRyZWVIb3N0
OjpzaXplRGlkQ2hhbmdlKGNvbnN0IEludFNpemUmIHNpemUpCiAgICAgZGlkQ2hhbmdlVmlld3Bv
cnQoKTsKIH0KIAordm9pZCBMYXllclRyZWVIb3N0Ojp0YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5n
ZSh1aW50MzJfdCByYXRlKQoreworICAgIG1fY29tcG9zaXRvci0+dGFyZ2V0UmVmcmVzaFJhdGVE
aWRDaGFuZ2UocmF0ZSk7Cit9CisKIHZvaWQgTGF5ZXJUcmVlSG9zdDo6cGF1c2VSZW5kZXJpbmco
KQogewogICAgIG1faXNTdXNwZW5kZWQgPSB0cnVlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVIb3N0Lmgg
Yi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZUhvc3QuaAppbmRleCA0ZjcyN2U0MThiMDgyZWViZTg2NzExMjk0YmIwZjI2ZjljNzRk
N2QxLi4yOTNjMmU1ZGUyNmUzNjEyMjE3ZTdmNDRlYTQzZGZkNTg5Y2M2NTdlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xh
eWVyVHJlZUhvc3QuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29y
ZGluYXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuaApAQCAtODMsNiArODMsNyBAQCBwdWJsaWM6
CiAgICAgdm9pZCBmb3JjZVJlcGFpbnQoKTsKICAgICB2b2lkIGZvcmNlUmVwYWludEFzeW5jKENv
bXBsZXRpb25IYW5kbGVyPHZvaWQoKT4mJik7CiAgICAgdm9pZCBzaXplRGlkQ2hhbmdlKGNvbnN0
IFdlYkNvcmU6OkludFNpemUmIG5ld1NpemUpOworICAgIHZvaWQgdGFyZ2V0UmVmcmVzaFJhdGVE
aWRDaGFuZ2UodW5zaWduZWQpOwogCiAgICAgdm9pZCBwYXVzZVJlbmRlcmluZygpOwogICAgIHZv
aWQgcmVzdW1lUmVuZGVyaW5nKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nl
c3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEuaAppbmRleCBiYmQ0MDVhZTY0MWE4NGQxOTc5YmUxZjZhOGEzY2NjNTE1
MWNhMzkwLi4zZjZiOTMwNGRkMDhmYmNjMWZiYTcwODYxNjNjNzUzZjBhZDUwNzg1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCisrKyBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmgKQEAgLTE3NSw2
ICsxNzUsNyBAQCBwcml2YXRlOgogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykgfHwgVVNF
KFRFWFRVUkVfTUFQUEVSKQogICAgIHZpcnR1YWwgdm9pZCB1cGRhdGVCYWNraW5nU3RvcmVTdGF0
ZSh1aW50NjRfdCAvKmJhY2tpbmdTdG9yZVN0YXRlSUQqLywgYm9vbCAvKnJlc3BvbmRJbW1lZGlh
dGVseSovLCBmbG9hdCAvKmRldmljZVNjYWxlRmFjdG9yKi8sIGNvbnN0IFdlYkNvcmU6OkludFNp
emUmIC8qc2l6ZSovLAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj
b25zdCBXZWJDb3JlOjpJbnRTaXplJiAvKnNjcm9sbE9mZnNldCovKSB7IH0KKyAgICB2aXJ0dWFs
IHZvaWQgdGFyZ2V0UmVmcmVzaFJhdGVEaWRDaGFuZ2UodW5zaWduZWQgLypyYXRlKi8pIHsgfQog
I2VuZGlmCiAgICAgdmlydHVhbCB2b2lkIGRpZFVwZGF0ZSgpIHsgfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmlu
CmluZGV4IGIxOTZhOWYwNWQyNDRhZGEwMzAxM2M3YTdiMTQyM2NkZjg0MDdmM2UuLmU4NDNjMTNl
YWQ3ZmZiMjkyMzhhODk0YTA0MGM3M2JkYTQyY2Q1MmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluCisrKyBiL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLm1lc3NhZ2VzLmluCkBAIC0y
Myw2ICsyMyw3IEBACiBtZXNzYWdlcyAtPiBEcmF3aW5nQXJlYSBOb3RSZWZDb3VudGVkIHsKICNp
ZiBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpIHx8IFVTRShURVhUVVJFX01BUFBFUikKICAgICBV
cGRhdGVCYWNraW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBiYWNraW5nU3RvcmVTdGF0ZUlELCBib29s
IHJlc3BvbmRJbW1lZGlhdGVseSwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IsIFdlYkNvcmU6Oklu
dFNpemUgc2l6ZSwgV2ViQ29yZTo6SW50U2l6ZSBzY3JvbGxPZmZzZXQpCisgICAgVGFyZ2V0UmVm
cmVzaFJhdGVEaWRDaGFuZ2UodW5zaWduZWQgcmF0ZSkKICNlbmRpZgogCiAgICAgRGlkVXBkYXRl
KCkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>459492</attachid>
            <date>2022-05-17 02:29:20 -0700</date>
            <delta_ts>2022-05-17 06:24:01 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-240453-20220517102918.patch</filename>
            <type>text/plain</type>
            <size>14783</size>
            <attacher name="Chris Lord">clord</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjkzODI4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDAyMTA2NDlhMmJjZWY2NTIz
Y2MwNDczY2I0M2VjZWI1MTU3YTIxNWQuLmIxNDBjYzBmZTc4ZDBmMmNiOGZjMzJkY2Y5MjJjNjMx
Y2Y1MWZiNTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMzYgQEAKKzIwMjItMDUtMTYgIENocmlzIExv
cmQgIDxjbG9yZEBpZ2FsaWEuY29tPgorCisgICAgICAgIFtXUEVdIFVzZSBuZXcgbGlid3BlIEFQ
SSB0byBzeW5jaHJvbmlzZSBkaXNwbGF5IHJlZnJlc2hlcyBmdWxseSB0byB0aGUgc2NyZWVuIHJl
ZnJlc2ggcmF0ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MjQwNDUzCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgQWRyaWFuIFBlcmV6IGRlIENhc3Ryby4K
KworICAgICAgICBVc2UgbmV3IGxpYndwZSBBUEkgdG8gdHJhY2sgdGhlIHRhcmdldCByZWZyZXNo
IHJhdGUgYW5kIHVzZSBpdCBpbgorICAgICAgICBUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRv
ciBmb3IgRGlzcGxheVVwZGF0ZSBvYmplY3RzLgorCisgICAgICAgICogU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5jcHA6Cisg
ICAgICAgIChXZWJLaXQ6OlRocmVhZGVkQ29tcG9zaXRvcjo6dGFyZ2V0UmVmcmVzaFJhdGVEaWRD
aGFuZ2UpOgorICAgICAgICAqIFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29t
cG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuaDoKKyAgICAgICAgKiBTaGFyZWQvQ29vcmRpbmF0
ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0
b3IuY3BwOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6
VGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IpOgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRl
ZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6c2V0VGFyZ2V0UmVmcmVzaFJhdGUpOgorICAgICAgICAq
IFNoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERp
c3BsYXlSZWZyZXNoTW9uaXRvci5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvd3BlL1dQRVZp
ZXcuY3BwOgorICAgICAgICAoV0tXUEU6Om1fYmFja2VuZCk6CisgICAgICAgICogVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGlj
czo6dGFyZ2V0UmVmcmVzaFJhdGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db29y
ZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaDoKKyAgICAgICAgKiBXZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3Jh
cGhpY3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpEcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhp
Y3M6OnRhcmdldFJlZnJlc2hSYXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3Mu
aDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9MYXll
clRyZWVIb3N0LmNwcDoKKyAgICAgICAgKFdlYktpdDo6TGF5ZXJUcmVlSG9zdDo6dGFyZ2V0UmVm
cmVzaFJhdGVEaWRDaGFuZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGlu
YXRlZEdyYXBoaWNzL0xheWVyVHJlZUhvc3QuaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvRHJhd2luZ0FyZWEuaDoKKyAgICAgICAgKFdlYktpdDo6RHJhd2luZ0FyZWE6OnRhcmdldFJl
ZnJlc2hSYXRlRGlkQ2hhbmdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWEubWVzc2FnZXMuaW46CisKIDIwMjItMDUtMDUgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5A
YXBwbGUuY29tPgogCiAgICAgICAgIFNXT3JpZ2luU3RvcmUgaXMgbm8gbG9uZ2VyIG5lZWRlZApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJl
YWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQvU2hh
cmVkL0Nvb3JkaW5hdGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9z
aXRvci5jcHAKaW5kZXggNTE0Nzc3M2Y1MDhjOGM2NmIzMjU4OWY5ZDMxNjRkM2M4MGYyNjc4Mi4u
NTc1MzdjZjUzODgxNmNhZGYwNzE3ZjJiM2MwY2IxOGM5OTc5MjJiNiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3Iv
VGhyZWFkZWRDb21wb3NpdG9yLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGlu
YXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZENvbXBvc2l0b3IuY3BwCkBA
IC0zMTAsNSArMzEwLDExIEBAIHZvaWQgVGhyZWFkZWRDb21wb3NpdG9yOjpmcmFtZUNvbXBsZXRl
KCkKICAgICBzY2VuZVVwZGF0ZUZpbmlzaGVkKCk7CiB9CiAKK3ZvaWQgVGhyZWFkZWRDb21wb3Np
dG9yOjp0YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5nZSh1bnNpZ25lZCByYXRlKQoreworICAgIEFT
U0VSVCghUnVuTG9vcDo6aXNNYWluKCkpOworICAgIG1fZGlzcGxheVJlZnJlc2hNb25pdG9yLT5z
ZXRUYXJnZXRSZWZyZXNoUmF0ZShyYXRlKTsKK30KKwogfQogI2VuZGlmIC8vIFVTRShDT09SRElO
QVRFRF9HUkFQSElDUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkQ29tcG9zaXRvci5oIGIvU291
cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3Iv
VGhyZWFkZWRDb21wb3NpdG9yLmgKaW5kZXggNjJjODVmYzUyNjA1YzI2Njg5OTNmMTY2MWY2ZDI4
YjRlYTlkODlmNi4uMDJiNWMwY2JlZDkyMWQ2MGI1MTczMjNkOGU0YzdiMmY2MmU2OTVlOSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRl
ZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3NpdG9yLmgKKysrIGIvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWRDb21wb3Np
dG9yLmgKQEAgLTc2LDYgKzc2LDcgQEAgcHVibGljOgogICAgIFJlZlB0cjxXZWJDb3JlOjpEaXNw
bGF5UmVmcmVzaE1vbml0b3I+IGRpc3BsYXlSZWZyZXNoTW9uaXRvcihXZWJDb3JlOjpQbGF0Zm9y
bURpc3BsYXlJRCk7CiAKICAgICB2b2lkIGZyYW1lQ29tcGxldGUoKTsKKyAgICB2b2lkIHRhcmdl
dFJlZnJlc2hSYXRlRGlkQ2hhbmdlKHVuc2lnbmVkKTsKIAogICAgIHZvaWQgc3VzcGVuZCgpOwog
ICAgIHZvaWQgcmVzdW1lKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29y
ZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNo
TW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3Ro
cmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvci5jcHAKaW5kZXgg
MzhiNmMzMTcwYTQzMDMyMjEzYTlhMDQ5ZDE3MjZiYjdhMTk4ZmIyNi4uMGRiZWMxY2RlYTY1OTRl
MTFjOWRiMmIxZDQyNTI2YzY2Y2M0Mjc1ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9TaGFy
ZWQvQ29vcmRpbmF0ZWRHcmFwaGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5
UmVmcmVzaE1vbml0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5hdGVk
R3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9y
LmNwcApAQCAtMzcsMTQgKzM3LDE0IEBACiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi0vLyBGSVhN
RTogVXNlIHRoZSBjb3JyZWN0IGZyYW1lIHJhdGUuCi1jb25zdGV4cHIgV2ViQ29yZTo6RnJhbWVz
UGVyU2Vjb25kIERlZmF1bHRGcmFtZXNQZXJTZWNvbmQgPSA2MDsKK2NvbnN0ZXhwciB1bnNpZ25l
ZCBkZWZhdWx0UmVmcmVzaFJhdGUgPSA2MDAwMDsKIAogVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1v
bml0b3I6OlRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yKFdlYkNvcmU6OlBsYXRmb3JtRGlz
cGxheUlEIGRpc3BsYXlJRCwgQ2xpZW50JiBjbGllbnQpCiAgICAgOiBXZWJDb3JlOjpEaXNwbGF5
UmVmcmVzaE1vbml0b3IoZGlzcGxheUlEKQogICAgICwgbV9kaXNwbGF5UmVmcmVzaFRpbWVyKFJ1
bkxvb3A6Om1haW4oKSwgdGhpcywgJlRocmVhZGVkRGlzcGxheVJlZnJlc2hNb25pdG9yOjpkaXNw
bGF5UmVmcmVzaENhbGxiYWNrKQogICAgICwgbV9jbGllbnQoJmNsaWVudCkKLSAgICAsIG1fY3Vy
cmVudFVwZGF0ZSh7IDAsIERlZmF1bHRGcmFtZXNQZXJTZWNvbmQgfSkKKyAgICAsIG1fdGFyZ2V0
UmVmcmVzaFJhdGUoZGVmYXVsdFJlZnJlc2hSYXRlKQorICAgICwgbV9jdXJyZW50VXBkYXRlKHsg
MCwgbV90YXJnZXRSZWZyZXNoUmF0ZSAvIDEwMDAgfSkKIHsKICNpZiBVU0UoR0xJQl9FVkVOVF9M
T09QKQogICAgIG1fZGlzcGxheVJlZnJlc2hUaW1lci5zZXRQcmlvcml0eShSdW5Mb29wU291cmNl
UHJpb3JpdHk6OkRpc3BsYXlSZWZyZXNoTW9uaXRvclRpbWVyKTsKQEAgLTEzMyw2ICsxMzMsMTYg
QEAgdm9pZCBUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRvcjo6ZGlzcGxheVJlZnJlc2hDYWxs
YmFjaygpCiAgICAgICAgIG1fY2xpZW50LT5oYW5kbGVEaXNwbGF5UmVmcmVzaE1vbml0b3JVcGRh
dGUoaGFzQmVlblJlc2NoZWR1bGVkKTsKIH0KIAordm9pZCBUaHJlYWRlZERpc3BsYXlSZWZyZXNo
TW9uaXRvcjo6c2V0VGFyZ2V0UmVmcmVzaFJhdGUodW5zaWduZWQgcmF0ZSkKK3sKKyAgICBpZiAo
IXJhdGUpCisgICAgICAgIHJhdGUgPSBkZWZhdWx0UmVmcmVzaFJhdGU7CisgICAgaWYgKG1fdGFy
Z2V0UmVmcmVzaFJhdGUgIT0gcmF0ZSkgeworICAgICAgICBtX3RhcmdldFJlZnJlc2hSYXRlID0g
cmF0ZTsKKyAgICAgICAgbV9jdXJyZW50VXBkYXRlID0geyAwLCBtX3RhcmdldFJlZnJlc2hSYXRl
IC8gMTAwMCB9OworICAgIH0KK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKICNlbmRpZiAv
LyBVU0UoQ09PUkRJTkFURURfR1JBUEhJQ1MpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERpc3Bs
YXlSZWZyZXNoTW9uaXRvci5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvQ29vcmRpbmF0ZWRHcmFw
aGljcy90aHJlYWRlZGNvbXBvc2l0b3IvVGhyZWFkZWREaXNwbGF5UmVmcmVzaE1vbml0b3IuaApp
bmRleCBkYjI5M2ZmZmM0YzFmM2NmNGFkMzIwYmEwODJhMDU3OWE3MmMzNTdhLi4yYmYwY2ExZTRi
YmFjNTFmYzgwOTllYTkwOWNjNjEyNTc0MDU4ZTc0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1NoYXJlZC9Db29yZGluYXRlZEdyYXBoaWNzL3RocmVhZGVkY29tcG9zaXRvci9UaHJlYWRlZERp
c3BsYXlSZWZyZXNoTW9uaXRvci5oCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL0Nvb3JkaW5h
dGVkR3JhcGhpY3MvdGhyZWFkZWRjb21wb3NpdG9yL1RocmVhZGVkRGlzcGxheVJlZnJlc2hNb25p
dG9yLmgKQEAgLTU0LDYgKzU0LDggQEAgcHVibGljOgogICAgIHZvaWQgZGlzcGF0Y2hEaXNwbGF5
UmVmcmVzaENhbGxiYWNrKCk7CiAgICAgdm9pZCBpbnZhbGlkYXRlKCk7CiAKKyAgICB2b2lkIHNl
dFRhcmdldFJlZnJlc2hSYXRlKHVuc2lnbmVkKTsKKwogcHJpdmF0ZToKICAgICBUaHJlYWRlZERp
c3BsYXlSZWZyZXNoTW9uaXRvcihXZWJDb3JlOjpQbGF0Zm9ybURpc3BsYXlJRCwgQ2xpZW50Jik7
CiAKQEAgLTYzLDYgKzY1LDcgQEAgcHJpdmF0ZToKICAgICB2b2lkIGRpc3BsYXlSZWZyZXNoQ2Fs
bGJhY2soKTsKICAgICBSdW5Mb29wOjpUaW1lcjxUaHJlYWRlZERpc3BsYXlSZWZyZXNoTW9uaXRv
cj4gbV9kaXNwbGF5UmVmcmVzaFRpbWVyOwogICAgIENsaWVudCogbV9jbGllbnQ7CisgICAgdW5z
aWduZWQgbV90YXJnZXRSZWZyZXNoUmF0ZTsKICAgICBXZWJDb3JlOjpEaXNwbGF5VXBkYXRlIG1f
Y3VycmVudFVwZGF0ZTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0FQSS93cGUvV1BFVmlldy5jcHAgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvd3BlL1dQ
RVZpZXcuY3BwCmluZGV4IDUxNjQ1OWIzMTQwOWM3MDYxZTU0NmZkZDAyYjk4ZWRlMzRiYTZmM2Qu
LjJlMDM0NTE3MDY1ODAwMzI5ZDM1MWJjMGRkOTExYThkOTlmMGVjYTUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS93cGUvV1BFVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL3dwZS9XUEVWaWV3LmNwcApAQCAtMTIxLDEzICsxMjEsMjMgQEAg
Vmlldzo6VmlldyhzdHJ1Y3Qgd3BlX3ZpZXdfYmFja2VuZCogYmFja2VuZCwgY29uc3QgQVBJOjpQ
YWdlQ29uZmlndXJhdGlvbiYgYmFzZUMKICAgICAgICAgICAgIGF1dG8mIHZpZXcgPSAqcmVpbnRl
cnByZXRfY2FzdDxWaWV3Kj4oZGF0YSk7CiAgICAgICAgICAgICB2aWV3LnBhZ2UoKS5zZXRJbnRy
aW5zaWNEZXZpY2VTY2FsZUZhY3RvcihzY2FsZSk7CiAgICAgICAgIH0sCisjaWYgV1BFX0NIRUNL
X1ZFUlNJT04oMSwgMTMsIDIpCisgICAgICAgIC8vIHRhcmdldF9yZWZyZXNoX3JhdGVfY2hhbmdl
ZAorICAgICAgICBbXSh2b2lkKiBkYXRhLCB1aW50MzJfdCByYXRlKQorICAgICAgICB7CisgICAg
ICAgICAgICBhdXRvJiB2aWV3ID0gKnJlaW50ZXJwcmV0X2Nhc3Q8Vmlldyo+KGRhdGEpOworICAg
ICAgICAgICAgaWYgKHZpZXcucGFnZSgpLmRyYXdpbmdBcmVhKCkpCisgICAgICAgICAgICAgICAg
dmlldy5wYWdlKCkuZHJhd2luZ0FyZWEoKS0+dGFyZ2V0UmVmcmVzaFJhdGVEaWRDaGFuZ2UocmF0
ZSk7CisgICAgICAgIH0sCiAjZWxzZQogICAgICAgICAvLyBwYWRkaW5nCiAgICAgICAgIG51bGxw
dHIsCi0gICAgICAgIG51bGxwdHIsCi0jZW5kaWYgLy8gV1BFX0NIRUNLX1ZFUlNJT04oMSwgMywg
MCkKKyNlbmRpZiAvLyBXUEVfQ0hFQ0tfVkVSU0lPTigxLCAxMywgMCkKKyNlbHNlCiAgICAgICAg
IC8vIHBhZGRpbmcKKyAgICAgICAgbnVsbHB0ciwKICAgICAgICAgbnVsbHB0cgorI2VuZGlmIC8v
IFdQRV9DSEVDS19WRVJTSU9OKDEsIDMsIDApCiAgICAgfTsKICAgICB3cGVfdmlld19iYWNrZW5k
X3NldF9iYWNrZW5kX2NsaWVudChtX2JhY2tlbmQsICZzX2JhY2tlbmRDbGllbnQsIHRoaXMpOwog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmNwcCBiL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVk
R3JhcGhpY3MuY3BwCmluZGV4IDg3MzViMTdhZTZiZDFlNjkwZDI1OTAyMWZjMTkzM2FhNjllYjU0
YmIuLjMyYzgyYjg5OWIzMDFjOTU3YzU2MzJjMDllMGFlMzIxY2Y2NGU5NjEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQ
cm94eUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3Mu
Y3BwCkBAIC0yMzksNiArMjM5LDExIEBAIHZvaWQgRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVk
R3JhcGhpY3M6OnVwZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2CiAgICAgdXBk
YXRlQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUobGF5ZXJUcmVlQ29udGV4dCk7CiB9CiAKK3Zv
aWQgRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3JhcGhpY3M6OnRhcmdldFJlZnJlc2hSYXRl
RGlkQ2hhbmdlKHVuc2lnbmVkIHJhdGUpCit7CisgICAgc2VuZChNZXNzYWdlczo6RHJhd2luZ0Fy
ZWE6OlRhcmdldFJlZnJlc2hSYXRlRGlkQ2hhbmdlKHJhdGUpKTsKK30KKwogI2lmICFQTEFURk9S
TShXUEUpCiB2b2lkIERyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzOjppbmNvcnBv
cmF0ZVVwZGF0ZShjb25zdCBVcGRhdGVJbmZvJiB1cGRhdGVJbmZvKQogewpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYVBy
b3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29vcmRp
bmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYVByb3h5Q29vcmRpbmF0ZWRHcmFwaGljcy5oCmluZGV4
IGIyM2E0NWZmN2QzMTMzMTdkOGJhNjRmYjQzMGViYmEzYjZhZGVmNzEuLmYzZGZlNjYxNGJhZDUz
MmM0OTk5NWNmN2FmYzVmNjgxOGE0NjljYTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFQcm94eUNvb3JkaW5hdGVkR3Jh
cGhpY3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db29yZGluYXRlZEdyYXBoaWNz
L0RyYXdpbmdBcmVhUHJveHlDb29yZGluYXRlZEdyYXBoaWNzLmgKQEAgLTY4LDYgKzY4LDcgQEAg
cHJpdmF0ZToKICAgICB2b2lkIGVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZ01vZGUodWludDY0
X3QgYmFja2luZ1N0b3JlU3RhdGVJRCwgY29uc3QgTGF5ZXJUcmVlQ29udGV4dCYpIG92ZXJyaWRl
OwogICAgIHZvaWQgZXhpdEFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tp
bmdTdG9yZVN0YXRlSUQsIGNvbnN0IFVwZGF0ZUluZm8mKSBvdmVycmlkZTsKICAgICB2b2lkIHVw
ZGF0ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmdNb2RlKHVpbnQ2NF90IGJhY2tpbmdTdG9yZVN0YXRl
SUQsIGNvbnN0IExheWVyVHJlZUNvbnRleHQmKSBvdmVycmlkZTsKKyAgICB2b2lkIHRhcmdldFJl
ZnJlc2hSYXRlRGlkQ2hhbmdlKHVuc2lnbmVkKSBvdmVycmlkZTsKIAogI2lmICFQTEFURk9STShX
UEUpCiAgICAgdm9pZCBpbmNvcnBvcmF0ZVVwZGF0ZShjb25zdCBVcGRhdGVJbmZvJik7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggYi9Tb3Vy
Y2UvV2ViS2l0L1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKaW5kZXggYmFiYzU1M2QxNzBm
YzcxZDU4MmUyNjQyNmU4Y2Y5MDNhOWU4MGQzMy4uMjFkZDA0ZDNmYjMxNGEwYTk2Y2NhZDgxOTFl
ZGRlM2FkYTVkZTMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuaApAQCAtNzksNiArNzksNyBAQCBwdWJsaWM6CiAjaWYgVVNFKENPT1JESU5BVEVEX0dSQVBI
SUNTKSB8fCBVU0UoVEVYVFVSRV9NQVBQRVIpCiAgICAgLy8gVGhlIHRpbWVvdXQgd2UgdXNlIHdo
ZW4gd2FpdGluZyBmb3IgYSBEaWRVcGRhdGVHZW9tZXRyeSBtZXNzYWdlLgogICAgIHN0YXRpYyBj
b25zdGV4cHIgU2Vjb25kcyBkaWRVcGRhdGVCYWNraW5nU3RvcmVTdGF0ZVRpbWVvdXQoKSB7IHJl
dHVybiBTZWNvbmRzOjpmcm9tTWlsbGlzZWNvbmRzKDUwMCk7IH0KKyAgICB2aXJ0dWFsIHZvaWQg
dGFyZ2V0UmVmcmVzaFJhdGVEaWRDaGFuZ2UodW5zaWduZWQpIHsgfQogI2VuZGlmCiAKICAgICB2
aXJ0dWFsIHZvaWQgY29sb3JTcGFjZURpZENoYW5nZSgpIHsgfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJl
YUNvb3JkaW5hdGVkR3JhcGhpY3MuY3BwIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBh
Z2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3MuY3Bw
CmluZGV4IDhkNzFjMGE5NWNhOGJmMTY4MmQ5MTYyNDQ5ZmEzZjFhZjUxOTY0NDUuLjZiYzc0NDJi
MjhlZDVlZTQ3NWQ2MDM5NzViZWU2NWNmMzJkZjM5ZjQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJhd2luZ0FyZWFDb29y
ZGluYXRlZEdyYXBoaWNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFn
ZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0ZWRHcmFwaGljcy5jcHAK
QEAgLTQ2MSw2ICs0NjEsMTUgQEAgdm9pZCBEcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3JhcGhpY3M6
OnVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IHN0YXRlSUQsIGIKICAgICAgICAgZm9y
Y2VSZXBhaW50KCk7CiB9CiAKK3ZvaWQgRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzOjp0
YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5nZSh1bnNpZ25lZCByYXRlKQoreworICAgIFVOVVNFRF9Q
QVJBTShyYXRlKTsKKyNpZiAhVVNFKEdSQVBISUNTX0xBWUVSX1RFWFRVUkVfTUFQUEVSKQorICAg
IGlmIChtX2xheWVyVHJlZUhvc3QpCisgICAgICAgIG1fbGF5ZXJUcmVlSG9zdC0+dGFyZ2V0UmVm
cmVzaFJhdGVEaWRDaGFuZ2UocmF0ZSk7CisjZW5kaWYKK30KKwogdm9pZCBEcmF3aW5nQXJlYUNv
b3JkaW5hdGVkR3JhcGhpY3M6OmRpZFVwZGF0ZSgpCiB7CiAgICAgLy8gV2UgbWlnaHQgZ2V0IGRp
ZFVwZGF0ZSBtZXNzYWdlcyBmcm9tIHRoZSBVSSBwcm9jZXNzIGV2ZW4gYWZ0ZXIgd2UndmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3Jh
cGhpY3MvRHJhd2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmggYi9Tb3VyY2UvV2ViS2l0L1dl
YlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0RyYXdpbmdBcmVhQ29vcmRpbmF0
ZWRHcmFwaGljcy5oCmluZGV4IGQ4ZGM2ZGY3ZDRkMmFjNmFlN2U5ZWVmZmI4YmFhZGVmODU5MGNi
MTYuLmRiZWYzNjU2ODAyYzc4YWViY2QxZTQ0ODNiZjc3YTdiZmNkZGE2MTQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvRHJh
d2luZ0FyZWFDb29yZGluYXRlZEdyYXBoaWNzLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9j
ZXNzL1dlYlBhZ2UvQ29vcmRpbmF0ZWRHcmFwaGljcy9EcmF3aW5nQXJlYUNvb3JkaW5hdGVkR3Jh
cGhpY3MuaApAQCAtODIsNiArODIsNyBAQCBwcml2YXRlOgogCiAgICAgLy8gSVBDIG1lc3NhZ2Ug
aGFuZGxlcnMuCiAgICAgdm9pZCB1cGRhdGVCYWNraW5nU3RvcmVTdGF0ZSh1aW50NjRfdCBiYWNr
aW5nU3RvcmVTdGF0ZUlELCBib29sIHJlc3BvbmRJbW1lZGlhdGVseSwgZmxvYXQgZGV2aWNlU2Nh
bGVGYWN0b3IsIGNvbnN0IFdlYkNvcmU6OkludFNpemUmLCBjb25zdCBXZWJDb3JlOjpJbnRTaXpl
JiBzY3JvbGxPZmZzZXQpIG92ZXJyaWRlOworICAgIHZvaWQgdGFyZ2V0UmVmcmVzaFJhdGVEaWRD
aGFuZ2UodW5zaWduZWQgcmF0ZSkgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRVcGRhdGUoKSBvdmVy
cmlkZTsKIAogI2lmIFBMQVRGT1JNKEdUSykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5jcHAgYi9T
b3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNzL0xheWVy
VHJlZUhvc3QuY3BwCmluZGV4IGYzMzA0ZDEwZjcyODEyODY1MmMzMzQyNjU1OGU0ZGM0ZjZiNjU5
YjUuLjYwZDU5NmVjMDhjMGIzNTUwYTMyOGFlNzE1ZTE4MGFlMzY2OTY3NmIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5
ZXJUcmVlSG9zdC5jcHAKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvQ29v
cmRpbmF0ZWRHcmFwaGljcy9MYXllclRyZWVIb3N0LmNwcApAQCAtMjQ5LDYgKzI0OSwxMSBAQCB2
b2lkIExheWVyVHJlZUhvc3Q6OnNpemVEaWRDaGFuZ2UoY29uc3QgSW50U2l6ZSYgc2l6ZSkKICAg
ICBkaWRDaGFuZ2VWaWV3cG9ydCgpOwogfQogCit2b2lkIExheWVyVHJlZUhvc3Q6OnRhcmdldFJl
ZnJlc2hSYXRlRGlkQ2hhbmdlKHVpbnQzMl90IHJhdGUpCit7CisgICAgbV9jb21wb3NpdG9yLT50
YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5nZShyYXRlKTsKK30KKwogdm9pZCBMYXllclRyZWVIb3N0
OjpwYXVzZVJlbmRlcmluZygpCiB7CiAgICAgbV9pc1N1c3BlbmRlZCA9IHRydWU7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2ViUGFnZS9Db29yZGluYXRlZEdyYXBoaWNz
L0xheWVyVHJlZUhvc3QuaCBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oCmluZGV4IDRmNzI3ZTQxOGIwODJlZWJlODY3
MTEyOTRiYjBmMjZmOWM3NGQ3ZDEuLjI5M2MyZTVkZTI2ZTM2MTIyMTdlN2Y0NGVhNDNkZmQ1ODlj
YzY1N2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Nvb3Jk
aW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oCisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0Nvb3JkaW5hdGVkR3JhcGhpY3MvTGF5ZXJUcmVlSG9zdC5oCkBAIC04Myw2
ICs4Myw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGZvcmNlUmVwYWludCgpOwogICAgIHZvaWQgZm9y
Y2VSZXBhaW50QXN5bmMoQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmKTsKICAgICB2b2lkIHNp
emVEaWRDaGFuZ2UoY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYgbmV3U2l6ZSk7CisgICAgdm9pZCB0
YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5nZSh1bnNpZ25lZCk7CiAKICAgICB2b2lkIHBhdXNlUmVu
ZGVyaW5nKCk7CiAgICAgdm9pZCByZXN1bWVSZW5kZXJpbmcoKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmggYi9Tb3VyY2UvV2ViS2l0
L1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oCmluZGV4IGJiZDQwNWFlNjQxYTg0ZDE5
NzliZTFmNmE4YTNjY2M1MTUxY2EzOTAuLjNmNmI5MzA0ZGQwOGZiY2MxZmJhNzA4NjE2M2M3NTNm
MGFkNTA3ODUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmgKKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWEuaApAQCAtMTc1LDYgKzE3NSw3IEBAIHByaXZhdGU6CiAjaWYgVVNFKENPT1JESU5BVEVE
X0dSQVBISUNTKSB8fCBVU0UoVEVYVFVSRV9NQVBQRVIpCiAgICAgdmlydHVhbCB2b2lkIHVwZGF0
ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IC8qYmFja2luZ1N0b3JlU3RhdGVJRCovLCBib29s
IC8qcmVzcG9uZEltbWVkaWF0ZWx5Ki8sIGZsb2F0IC8qZGV2aWNlU2NhbGVGYWN0b3IqLywgY29u
c3QgV2ViQ29yZTo6SW50U2l6ZSYgLypzaXplKi8sCiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbnN0IFdlYkNvcmU6OkludFNpemUmIC8qc2Nyb2xsT2Zmc2V0Ki8p
IHsgfQorICAgIHZpcnR1YWwgdm9pZCB0YXJnZXRSZWZyZXNoUmF0ZURpZENoYW5nZSh1bnNpZ25l
ZCAvKnJhdGUqLykgeyB9CiAjZW5kaWYKICAgICB2aXJ0dWFsIHZvaWQgZGlkVXBkYXRlKCkgeyB9
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdB
cmVhLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2lu
Z0FyZWEubWVzc2FnZXMuaW4KaW5kZXggYjE5NmE5ZjA1ZDI0NGFkYTAzMDEzYzdhN2IxNDIzY2Rm
ODQwN2YzZS4uZTg0M2MxM2VhZDdmZmIyOTIzOGE4OTRhMDQwYzczYmRhNDJjZDUyYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEubWVzc2Fn
ZXMuaW4KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEu
bWVzc2FnZXMuaW4KQEAgLTIzLDYgKzIzLDcgQEAKIG1lc3NhZ2VzIC0+IERyYXdpbmdBcmVhIE5v
dFJlZkNvdW50ZWQgewogI2lmIFVTRShDT09SRElOQVRFRF9HUkFQSElDUykgfHwgVVNFKFRFWFRV
UkVfTUFQUEVSKQogICAgIFVwZGF0ZUJhY2tpbmdTdG9yZVN0YXRlKHVpbnQ2NF90IGJhY2tpbmdT
dG9yZVN0YXRlSUQsIGJvb2wgcmVzcG9uZEltbWVkaWF0ZWx5LCBmbG9hdCBkZXZpY2VTY2FsZUZh
Y3RvciwgV2ViQ29yZTo6SW50U2l6ZSBzaXplLCBXZWJDb3JlOjpJbnRTaXplIHNjcm9sbE9mZnNl
dCkKKyAgICBUYXJnZXRSZWZyZXNoUmF0ZURpZENoYW5nZSh1bnNpZ25lZCByYXRlKQogI2VuZGlm
CiAKICAgICBEaWRVcGRhdGUoKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>