<?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>220469</bug_id>
          
          <creation_ts>2021-01-08 10:45:54 -0800</creation_ts>
          <short_desc>[macOS] -[WKWebView acceptsFirstMouse:] sometimes crashes in IPC::Connection::createSyncMessageEncoder</short_desc>
          <delta_ts>2021-01-11 11:58:47 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Platform</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=220520</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Wenson Hsieh">wenson_hsieh</reporter>
          <assigned_to name="Wenson Hsieh">wenson_hsieh</assigned_to>
          <cc>cdumez</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1718340</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-01-08 10:45:54 -0800</bug_when>
    <thetext>&lt;rdar://problem/72319199&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718354</commentid>
    <comment_count>1</comment_count>
      <attachid>417280</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-01-08 11:11:54 -0800</bug_when>
    <thetext>Created attachment 417280
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718362</commentid>
    <comment_count>2</comment_count>
      <attachid>417280</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-08 11:43:06 -0800</bug_when>
    <thetext>Comment on attachment 417280
Patch

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

&gt; Source/WebKit/UIProcess/WebPageProxy.cpp:10346
&gt; +bool WebPageProxy::canSendSyncMessage() const

Maybe we can update sendSync() in MessageSender.h to null-check messageSenderConnection() instead of asserting it?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718363</commentid>
    <comment_count>3</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-01-08 11:44:42 -0800</bug_when>
    <thetext>(In reply to Chris Dumez from comment #2)
&gt; Comment on attachment 417280 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=417280&amp;action=review
&gt; 
&gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:10346
&gt; &gt; +bool WebPageProxy::canSendSyncMessage() const
&gt; 
&gt; Maybe we can update sendSync() in MessageSender.h to null-check
&gt; messageSenderConnection() instead of asserting it?

Yes, that would work too (I was just under the impression that we wanted to keep the assertion).

I&apos;ll update the patch to just null check instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718364</commentid>
    <comment_count>4</comment_count>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-08 11:45:57 -0800</bug_when>
    <thetext>(In reply to Wenson Hsieh from comment #3)
&gt; (In reply to Chris Dumez from comment #2)
&gt; &gt; Comment on attachment 417280 [details]
&gt; &gt; Patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=417280&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/WebKit/UIProcess/WebPageProxy.cpp:10346
&gt; &gt; &gt; +bool WebPageProxy::canSendSyncMessage() const
&gt; &gt; 
&gt; &gt; Maybe we can update sendSync() in MessageSender.h to null-check
&gt; &gt; messageSenderConnection() instead of asserting it?
&gt; 
&gt; Yes, that would work too (I was just under the impression that we wanted to
&gt; keep the assertion).
&gt; 
&gt; I&apos;ll update the patch to just null check instead.

I don&apos;t think so. I think this crash just proved that this assertion does not hold since in theory you can do a sync IPC while the process is still launching.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718377</commentid>
    <comment_count>5</comment_count>
      <attachid>417286</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-01-08 11:59:28 -0800</bug_when>
    <thetext>Created attachment 417286
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718378</commentid>
    <comment_count>6</comment_count>
      <attachid>417286</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2021-01-08 12:00:25 -0800</bug_when>
    <thetext>Comment on attachment 417286
Patch

r=me, assuming the bots are happy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1718447</commentid>
    <comment_count>7</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-01-08 14:35:33 -0800</bug_when>
    <thetext>Committed r271322: &lt;https://trac.webkit.org/changeset/271322&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 417286.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417280</attachid>
            <date>2021-01-08 11:11:54 -0800</date>
            <delta_ts>2021-01-08 11:59:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220469-20210108111153.patch</filename>
            <type>text/plain</type>
            <size>16095</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY0OTQ1YmJhOWQ1YmRlZTA0
ODUzNjExNzY5ODhiMGM0ODMyZmFmMGUuLmZlMmQ3YjhiNDE2NGZkMDg0ZjlhZTUzMGU4ZDM5NjY0
NGM0NjIwOWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjAgQEAKKzIwMjEtMDEtMDggIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSAtW1dLV2Vi
VmlldyBhY2NlcHRzRmlyc3RNb3VzZTpdIHNvbWV0aW1lcyBjcmFzaGVzIGluIElQQzo6Q29ubmVj
dGlvbjo6Y3JlYXRlU3luY01lc3NhZ2VFbmNvZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA0NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcy
MzE5MTk5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdoZW4gc2VuZGluZyBJUEMgdG8gdGhlIHdlYiBwcm9jZXNzIGZyb20gdGhlIFVJIHByb2Nlc3Ms
IGl0J3MgcG9zc2libGUgZm9yIHRoZSBgV2ViUHJvY2Vzc1Byb3h5YCdzIElQQworICAgICAgICBj
b25uZWN0aW9uIHRvIGJlIG51bGwgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHdlYiBwcm9jZXNzIGlz
IHN0aWxsIGluIHRoZSBhY3Qgb2YgbGF1bmNoaW5nLiBJbiB0aGUgY2FzZSBvZgorICAgICAgICBh
c3luY2hyb25vdXMgSVBDLCB3ZSBoYW5kbGUgdGhpcyBieSBxdWV1ZWluZyB0aGUgSVBDIG1lc3Nh
Z2Ugb24gdGhlIGBXZWJQcm9jZXNzUHJveHlgIGluIHRoZSBjYXNlIHdoZXJlIHRoZQorICAgICAg
ICBjb25uZWN0aW9uIGhhc24ndCBiZWVuIGNyZWF0ZWQgeWV0IChyZWZlciB0byBgQXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5OjpzZW5kTWVzc2FnZWApLiBIb3dldmVyLCBpbiB0aGUgY2FzZSB3aGVyZQor
ICAgICAgICB3ZSdyZSBzZW5kaW5nIGEgc3luYyBtZXNzYWdlLCB3ZSBhc3N1bWUgdGhhdCB0aGUg
SVBDIGNvbm5lY3Rpb24gZXhpc3RzIGluIGBNZXNzYWdlU2VuZGVyOjpzZW5kU3luY2AsIHdoaWNo
CisgICAgICAgIGNhdXNlcyB1cyB0byBjcmFzaCB3aXRoIGEgbnVsbCBkZXJlZmVyZW5jZS4KKwor
ICAgICAgICBUbyBmaXggdGhpcywgd2UgYWRkIGEgaGVscGVyIG1ldGhvZCBvbiBgV2ViUGFnZVBy
b3h5YCB0byBzZW5kIGEgc3luYyBtZXNzYWdlIHRvIHRoZSB3ZWIgcHJvY2VzcyBpZiBwb3NzaWJs
ZTsKKyAgICAgICAgdGhpcyB3cmFwcyBhIGNhbGwgdG8gYE1lc3NhZ2VTZW5kZXI6OnNlbmRTeW5j
YCwgYW5kIG9ubHkgYXR0ZW1wdHMgdG8gc2VuZCB0aGUgbWVzc2FnZSBpZiB0aGUgY29ubmVjdGlv
biBoYXMKKyAgICAgICAgYmVlbiBlbnN1cmVkIChpLmUuIHRoZSBjb25uZWN0aW9uIGlzIGluIGBS
dW5uaW5nYCBzdGF0ZSkuIFRoZW4sIGluIHZhcmlvdXMgcGxhY2VzIHdoZXJlIHdlIGN1cnJlbnRs
eSBjaGVjayB0aGF0CisgICAgICAgIGBoYXNSdW5uaW5nUHJvY2VzcygpYCBpcyBgdHJ1ZWAgYmVm
b3JlIHNlbmRpbmcgYXN5bmMgSVBDIHRvIHRoZSB3ZWIgcHJvY2Vzcywgd2UgcmVwbGFjZSB0aGUg
YGhhc1J1bm5pbmdQcm9jZXNzYAorICAgICAgICBjaGVja3Mgd2l0aCBhIGNhbGwgdG8gYHNlbmRT
eW5jSWZQb3NzaWJsZWAgaW5zdGVhZC4KKworICAgICAgICBUZXN0OiBXZWJLaXQyLkFjY2VwdHNG
aXJzdE1vdXNlRHVyaW5nV2ViUHJvY2Vzc0xhdW5jaAorCisgICAgICAgICogVUlQcm9jZXNzL0F1
eGlsaWFyeVByb2Nlc3NQcm94eS5oOgorICAgICAgICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNz
UHJveHk6OmNhblNlbmRNZXNzYWdlIGNvbnN0KToKKworICAgICAgICBEcml2ZS1ieSBzdHlsZSBm
aXg6IGFkZCBhIHNwYWNlIGJlZm9yZSB0aGUgY2xvc2luZyBjdXJseSBicmFjZS4KKworICAgICAg
ICAoV2ViS2l0OjpBdXhpbGlhcnlQcm9jZXNzUHJveHk6OmNhblNlbmRTeW5jTWVzc2FnZSBjb25z
dCk6CisKKyAgICAgICAgQWRkIGEgbW9yZSByZXN0cmljdGl2ZSB2ZXJzaW9uIG9mIGBjYW5TZW5k
TWVzc2FnZWAgdGhhdCByZXR1cm5zIGB0cnVlYCBvbmx5IGlmIHRoZSBwcm9jZXNzIGlzIGFscmVh
ZHkgcnVubmluZy4KKworICAgICAgICAqIFVJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNz
UHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzc1Byb3h5Ojp0ZXN0UHJv
Y2Vzc0luY29taW5nU3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
UHJveHk6OmhhbmRsZVByZXZlbnRhYmxlVG91Y2hFdmVudCk6CisKKyAgICAgICAgUmVwbGFjZSB2
YXJpb3VzIGNhbGxzIHRvIGBzZW5kU3luY2Agd2l0aCBgc2VuZFN5bmNJZlBvc3NpYmxlYCwgYW5k
IHJlbW92ZSByZWR1bmRhbnQgYGhhc1J1bm5pbmdQcm9jZXNzKClgCisgICAgICAgIGNoZWNrcy4K
KworICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmNhblNlbmRTeW5jTWVzc2FnZSBjb25z
dCk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWdlUHJveHk6OnNlbmRTeW5jSWZQb3NzaWJsZSk6CisgICAgICAgICogVUlQcm9jZXNz
L2lvcy9XZWJQYWdlUHJveHlJT1MubW06CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6
YXBwbHlBdXRvY29ycmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6Y29t
cHV0ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYpOgorCisgICAgICAgIEVhcmx5IHJldHVy
biBvbiBgIWNhblNlbmRTeW5jTWVzc2FnZSgpYCBpbnN0ZWFkIG9mIGAhaGFzUnVubmluZ1Byb2Nl
c3MoKWAgaGVyZSwgc28gd2UgY2FuIGF2b2lkIHN0b3JpbmcgdGhlCisgICAgICAgIGNvbXBsZXRp
b24gY2FsbGJhY2sgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHByb2Nlc3MgaGFzIGJlZW4gbGF1bmNo
ZWQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvbWFjL1dlYlBhZ2VQcm94eU1hYy5tbToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpkYXRhU2VsZWN0aW9uRm9yUGFzdGVib2Fy
ZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2VQcm94eTo6cmVhZFNlbGVjdGlvbkZyb21QYXN0
ZWJvYXJkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZVByb3h5OjpzaG91bGREZWxheVdpbmRv
d09yZGVyaW5nRm9yRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmFjY2Vw
dHNGaXJzdE1vdXNlKToKKwogMjAyMS0wMS0wNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVz
aEBnbWFpbC5jb20+CiAKICAgICAgICAgW0pTQ10gU2ltcGxpZnkgZ2V0KlByb3BlcnR5TmFtZXMo
KSBtZXRob2RzIGFuZCBFbnVtZXJhdGlvbk1vZGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0F1eGlsaWFyeVByb2Nlc3NQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5LmgKaW5kZXggOGNhOTdlNmU1OTdiZDcxMTBhMGQ3Mzhl
MGM0YTdjODU2MDNhOGE3ZC4uMDI3MjcwMThkZjVlMDJiN2EwNjNmY2U5MWVmMjM4ODMwMjBjZmEw
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1By
b3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQXV4aWxpYXJ5UHJvY2Vzc1Byb3h5
LmgKQEAgLTExMCw3ICsxMTAsOCBAQCBwdWJsaWM6CiAKICAgICBQcm9jZXNzSUQgcHJvY2Vzc0lk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX3Byb2Nlc3NMYXVuY2hlciA/IG1fcHJvY2Vzc0xh
dW5jaGVyLT5wcm9jZXNzSWRlbnRpZmllcigpIDogMDsgfQogCi0gICAgYm9vbCBjYW5TZW5kTWVz
c2FnZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRlKCkgIT0gU3RhdGU6OlRlcm1pbmF0ZWQ7fQorICAg
IGJvb2wgY2FuU2VuZE1lc3NhZ2UoKSBjb25zdCB7IHJldHVybiBzdGF0ZSgpICE9IFN0YXRlOjpU
ZXJtaW5hdGVkOyB9CisgICAgYm9vbCBjYW5TZW5kU3luY01lc3NhZ2UoKSBjb25zdCB7IHJldHVy
biBzdGF0ZSgpID09IFN0YXRlOjpSdW5uaW5nOyB9CiAgICAgYm9vbCBzZW5kTWVzc2FnZShzdGQ6
OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiwgT3B0aW9uU2V0PElQQzo6U2VuZE9wdGlvbj4sIE9w
dGlvbmFsPHN0ZDo6cGFpcjxDb21wbGV0aW9uSGFuZGxlcjx2b2lkKElQQzo6RGVjb2RlciopPiwg
dWludDY0X3Q+PiYmIGFzeW5jUmVwbHlJbmZvID0gV1RGOjpudWxsb3B0LCBTaG91bGRTdGFydFBy
b2Nlc3NUaHJvdHRsZXJBY3Rpdml0eSA9IFNob3VsZFN0YXJ0UHJvY2Vzc1Rocm90dGxlckFjdGl2
aXR5OjpZZXMpOwogCiAgICAgdm9pZCBzaHV0RG93blByb2Nlc3MoKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwCmlu
ZGV4IDA0NmE2YjUwMmYwZjZhNDc3ODlkZDkxNGFmMTRmZjYxZWUxNmMxYjMuLmNlMWRlYjBmNzM4
ZDhmOGFmYzU0MzRlODI4YmU2YmI1YTIyYjIzNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcApAQCAtMTUyNSw3
ICsxNTI1LDcgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzc1Byb3h5Ojp0ZXN0UHJvY2Vzc0luY29taW5n
U3luY01lc3NhZ2VzV2hlbldhaXRpbmdGb3JTeW5jUmVwbHkKICAgICAgICAgcmV0dXJuIHJlcGx5
KGZhbHNlKTsKIAogICAgIGJvb2wgaGFuZGxlZCA9IGZhbHNlOwotICAgIGlmICghcGFnZS0+c2Vu
ZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2U6OlRlc3RQcm9jZXNzSW5jb21pbmdTeW5jTWVzc2FnZXNX
aGVuV2FpdGluZ0ZvclN5bmNSZXBseSgpLCBNZXNzYWdlczo6V2ViUGFnZTo6VGVzdFByb2Nlc3NJ
bmNvbWluZ1N5bmNNZXNzYWdlc1doZW5XYWl0aW5nRm9yU3luY1JlcGx5OjpSZXBseShoYW5kbGVk
KSwgU2Vjb25kczo6aW5maW5pdHkoKSwgSVBDOjpTZW5kU3luY09wdGlvbjo6Rm9yY2VEaXNwYXRj
aFdoZW5EZXN0aW5hdGlvbklzV2FpdGluZ0ZvclVuYm91bmRlZFN5bmNSZXBseSkpCisgICAgaWYg
KCFwYWdlLT5zZW5kU3luY0lmUG9zc2libGUoTWVzc2FnZXM6OldlYlBhZ2U6OlRlc3RQcm9jZXNz
SW5jb21pbmdTeW5jTWVzc2FnZXNXaGVuV2FpdGluZ0ZvclN5bmNSZXBseSgpLCBNZXNzYWdlczo6
V2ViUGFnZTo6VGVzdFByb2Nlc3NJbmNvbWluZ1N5bmNNZXNzYWdlc1doZW5XYWl0aW5nRm9yU3lu
Y1JlcGx5OjpSZXBseShoYW5kbGVkKSwgU2Vjb25kczo6aW5maW5pdHkoKSwgSVBDOjpTZW5kU3lu
Y09wdGlvbjo6Rm9yY2VEaXNwYXRjaFdoZW5EZXN0aW5hdGlvbklzV2FpdGluZ0ZvclVuYm91bmRl
ZFN5bmNSZXBseSkpCiAgICAgICAgIHJldHVybiByZXBseShmYWxzZSk7CiAgICAgcmVwbHkoaGFu
ZGxlZCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCBk
MDRkZjFiMTdkMDQ3NzlkNjVhYjg4NmNiMTVhYzBjYjQ1ZDIwZmY5Li40NzViMWZjMThkNDQxNTlh
ZTU1NjA1N2Y5NmQyMjhkYTUyZWZlNGRlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAKQEAgLTI5NDMsMTAgKzI5NDMsMTAgQEAgdm9pZCBXZWJQYWdlUHJveHk6Omhh
bmRsZVByZXZlbnRhYmxlVG91Y2hFdmVudChOYXRpdmVXZWJUb3VjaEV2ZW50JiBldmVudCkKIAog
ICAgIG1fcHJvY2Vzcy0+c3RhcnRSZXNwb25zaXZlbmVzc1RpbWVyKCk7CiAgICAgYm9vbCBoYW5k
bGVkID0gZmFsc2U7Ci0gICAgYm9vbCByZXBseVJlY2VpdmVkID0gISFzZW5kU3luYyhNZXNzYWdl
czo6V2ViUGFnZTo6VG91Y2hFdmVudFN5bmMoZXZlbnQpLCBNZXNzYWdlczo6V2ViUGFnZTo6VG91
Y2hFdmVudFN5bmM6OlJlcGx5KGhhbmRsZWQpLCAxX3MsIElQQzo6U2VuZFN5bmNPcHRpb246OkZv
cmNlRGlzcGF0Y2hXaGVuRGVzdGluYXRpb25Jc1dhaXRpbmdGb3JVbmJvdW5kZWRTeW5jUmVwbHkp
OwotICAgIC8vIElmIHRoZSBzeW5jIHJlcXVlc3QgaGFzIHRpbWVkIG91dCwgd2Ugc2hvdWxkIGNv
bnNpZGVyIHRoZSBldmVudCBoYW5kbGVkLiBUaGUgV2ViIFByb2Nlc3MgaXMgdG9vIGJ1c3kgdG8g
YW5zd2VyIGFueSBxdWVzdGlvbnMsIHNvIHRoZSBkZWZhdWx0IGFjdGlvbiBpcyBhbHNvIGxpa2Vs
eSB0byBoYXZlIGlzc3Vlcy4KLSAgICBpZiAoIXJlcGx5UmVjZWl2ZWQpCisgICAgaWYgKCFzZW5k
U3luY0lmUG9zc2libGUoTWVzc2FnZXM6OldlYlBhZ2U6OlRvdWNoRXZlbnRTeW5jKGV2ZW50KSwg
TWVzc2FnZXM6OldlYlBhZ2U6OlRvdWNoRXZlbnRTeW5jOjpSZXBseShoYW5kbGVkKSwgMV9zLCBJ
UEM6OlNlbmRTeW5jT3B0aW9uOjpGb3JjZURpc3BhdGNoV2hlbkRlc3RpbmF0aW9uSXNXYWl0aW5n
Rm9yVW5ib3VuZGVkU3luY1JlcGx5KSkgeworICAgICAgICAvLyBJZiB0aGUgc3luYyByZXF1ZXN0
IGhhcyB0aW1lZCBvdXQsIHdlIHNob3VsZCBjb25zaWRlciB0aGUgZXZlbnQgaGFuZGxlZC4gVGhl
IFdlYiBQcm9jZXNzIGlzIHRvbyBidXN5IHRvIGFuc3dlciBhbnkgcXVlc3Rpb25zLCBzbyB0aGUg
ZGVmYXVsdCBhY3Rpb24gaXMgYWxzbyBsaWtlbHkgdG8gaGF2ZSBpc3N1ZXMuCiAgICAgICAgIGhh
bmRsZWQgPSB0cnVlOworICAgIH0KICAgICBkaWRSZWNlaXZlRXZlbnQoZXZlbnQudHlwZSgpLCBo
YW5kbGVkKTsKICAgICBwYWdlQ2xpZW50KCkuZG9uZVdpdGhUb3VjaEV2ZW50KGV2ZW50LCBoYW5k
bGVkKTsKICAgICBpZiAoIWlzSGFuZGxpbmdQcmV2ZW50YWJsZVRvdWNoU3RhcnQoKSkKQEAgLTEw
MzQzLDYgKzEwMzQzLDExIEBAIFdlYkNvcmU6OkNhcHR1cmVTb3VyY2VPckVycm9yIFdlYlBhZ2VQ
cm94eTo6Y3JlYXRlUmVhbHRpbWVNZWRpYVNvdXJjZUZvclNwZWVjaFJlCiAKICNlbmRpZgogCiti
b29sIFdlYlBhZ2VQcm94eTo6Y2FuU2VuZFN5bmNNZXNzYWdlKCkgY29uc3QKK3sKKyAgICByZXR1
cm4gaGFzUnVubmluZ1Byb2Nlc3MoKSAmJiBtX3Byb2Nlc3MtPmNhblNlbmRTeW5jTWVzc2FnZSgp
OworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKIAogI3VuZGVmIFJFTEVBU0VfTE9HX0lGX0FM
TE9XRUQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKaW5kZXggYTQxNjU5ZDlk
MzM2MzA1YWEwNjFjOWM4NzdjNjMzNmQxOTE0MzE3OS4uMDQ5NGIwYjVlYzE1YmU4OTE1NmE0NjQy
YjRlYWZjY2RhNWFlMDE5MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgK
QEAgLTE4MzAsNiArMTgzMCwxNSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGRpc3BhdGNoV2hlZWxF
dmVudFdpdGhvdXRTY3JvbGxpbmcoY29uc3QgV2ViV2hlZWxFdmVudCYsIENvbXBsZXRpb25IYW5k
bGVyPHZvaWQoYm9vbCk+JiYpOwogCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4KKyAgICBib29s
IHNlbmRTeW5jSWZQb3NzaWJsZShUJiYgbWVzc2FnZSwgdHlwZW5hbWUgVDo6UmVwbHkmJiByZXBs
eSwgU2Vjb25kcyB0aW1lb3V0ID0gU2Vjb25kczo6aW5maW5pdHkoKSwgT3B0aW9uU2V0PElQQzo6
U2VuZFN5bmNPcHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSkKKyAgICB7CisgICAgICAgIGlm
ICghY2FuU2VuZFN5bmNNZXNzYWdlKCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAgICAgcmV0dXJuICEhc2VuZFN5bmMoc3RkOjpmb3J3YXJkPFQ+KG1lc3NhZ2UpLCBXVEZNb3Zl
KHJlcGx5KSwgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSwgdGltZW91dCwgc2VuZFN5bmNP
cHRpb25zKTsKKyAgICB9CisKIHByaXZhdGU6CiAgICAgV2ViUGFnZVByb3h5KFBhZ2VDbGllbnQm
LCBXZWJQcm9jZXNzUHJveHkmLCBSZWY8QVBJOjpQYWdlQ29uZmlndXJhdGlvbj4mJik7CiAgICAg
dm9pZCBwbGF0Zm9ybUluaXRpYWxpemUoKTsKQEAgLTIzMjcsNiArMjMzNiw4IEBAIHByaXZhdGU6
CiAgICAgdm9pZCBsb2dGcmFtZU5hdmlnYXRpb24oY29uc3QgV2ViRnJhbWVQcm94eSYsIGNvbnN0
IFVSTCYgcGFnZVVSTCwgY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiwgY29uc3QgVVJM
JiByZWRpcmVjdFVSTCwgYm9vbCB3YXNQb3RlbnRpYWxseUluaXRpYXRlZEJ5VXNlcik7CiAjZW5k
aWYKIAorICAgIGJvb2wgY2FuU2VuZFN5bmNNZXNzYWdlKCkgY29uc3Q7CisKICAgICAvLyBXZWJQ
YXltZW50Q29vcmRpbmF0b3JQcm94eTo6Q2xpZW50CiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAg
ICBJUEM6OkNvbm5lY3Rpb24qIHBheW1lbnRDb29yZGluYXRvckNvbm5lY3Rpb24oY29uc3QgV2Vi
UGF5bWVudENvb3JkaW5hdG9yUHJveHkmKSBmaW5hbDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9pb3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDU2ZjViMDc0MjQwMDkzYjk0OTAxOWQ3
ODkwNzEyNTQxYjJjYjEzOTAuLjk0ZDc1NWExN2M5MmEzMWQyNzhhYTAxZTRkYzAyNWM5NTQwNGUz
YzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJ
T1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5t
bQpAQCAtNDQyLDcgKzQ0Miw5IEBAIHZvaWQgV2ViUGFnZVByb3h5OjphcHBseUF1dG9jb3JyZWN0
aW9uKGNvbnN0IFN0cmluZyYgY29ycmVjdGlvbiwgY29uc3QgU3RyaW5nJiBvCiBib29sIFdlYlBh
Z2VQcm94eTo6YXBwbHlBdXRvY29ycmVjdGlvbihjb25zdCBTdHJpbmcmIGNvcnJlY3Rpb24sIGNv
bnN0IFN0cmluZyYgb3JpZ2luYWxUZXh0KQogewogICAgIGJvb2wgYXV0b2NvcnJlY3Rpb25BcHBs
aWVkID0gZmFsc2U7Ci0gICAgbV9wcm9jZXNzLT5zZW5kU3luYyhNZXNzYWdlczo6V2ViUGFnZTo6
U3luY0FwcGx5QXV0b2NvcnJlY3Rpb24oY29ycmVjdGlvbiwgb3JpZ2luYWxUZXh0KSwgTWVzc2Fn
ZXM6OldlYlBhZ2U6OlN5bmNBcHBseUF1dG9jb3JyZWN0aW9uOjpSZXBseShhdXRvY29ycmVjdGlv
bkFwcGxpZWQpLCBtX3dlYlBhZ2VJRCk7CisgICAgaWYgKCFzZW5kU3luY0lmUG9zc2libGUoTWVz
c2FnZXM6OldlYlBhZ2U6OlN5bmNBcHBseUF1dG9jb3JyZWN0aW9uKGNvcnJlY3Rpb24sIG9yaWdp
bmFsVGV4dCksIE1lc3NhZ2VzOjpXZWJQYWdlOjpTeW5jQXBwbHlBdXRvY29ycmVjdGlvbjo6UmVw
bHkoYXV0b2NvcnJlY3Rpb25BcHBsaWVkKSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAg
IHJldHVybiBhdXRvY29ycmVjdGlvbkFwcGxpZWQ7CiB9CiAKQEAgLTEwNDcsNyArMTA0OSw3IEBA
IHZvaWQgV2ViUGFnZVByb3h5OjpoYW5kbGVTbWFydE1hZ25pZmljYXRpb25JbmZvcm1hdGlvbkZv
clBvdGVudGlhbFRhcCh1aW50NjRfdCByCiAKIHVpbnQzMl90IFdlYlBhZ2VQcm94eTo6Y29tcHV0
ZVBhZ2VzRm9yUHJpbnRpbmdBbmREcmF3VG9QREYoRnJhbWVJZGVudGlmaWVyIGZyYW1lSUQsIGNv
bnN0IFByaW50SW5mbyYgcHJpbnRJbmZvLCBEcmF3VG9QREZDYWxsYmFjazo6Q2FsbGJhY2tGdW5j
dGlvbiYmIGNhbGxiYWNrKQogewotICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkgeworICAg
IGlmICghY2FuU2VuZFN5bmNNZXNzYWdlKCkpIHsKICAgICAgICAgY2FsbGJhY2soSVBDOjpEYXRh
UmVmZXJlbmNlKCksIENhbGxiYWNrQmFzZTo6RXJyb3I6Ok93bmVyV2FzSW52YWxpZGF0ZWQpOwog
ICAgICAgICByZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvbWFj
L1dlYlBhZ2VQcm94eU1hYy5tbQppbmRleCAxNWRiMGY3YWU3YmYyMmQ5Y2MwNmQ5MTJkZWMzZDA4
YmVjNzk1NjQ0Li43N2ZhN2M1YzQxMTYzYmNhNjY4MGQzMjdkMzE3MmU3MDUwOGM5ZWI0IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9tYWMvV2ViUGFnZVByb3h5TWFjLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL21hYy9XZWJQYWdlUHJveHlNYWMubW0KQEAgLTIx
NSwyMiArMjE1LDIwIEBAIHZvaWQgV2ViUGFnZVByb3h5Ojpmb250QXRTZWxlY3Rpb24oQ29tcGxl
dGlvbkhhbmRsZXI8dm9pZChjb25zdCBGb250SW5mbyYsIGRvdWJsCiBTdHJpbmcgV2ViUGFnZVBy
b3h5OjpzdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKCkKIHsKICAgICBTdHJpbmcgdmFsdWU7
Ci0gICAgaWYgKCFoYXNSdW5uaW5nUHJvY2VzcygpKQotICAgICAgICByZXR1cm4gdmFsdWU7Ci0g
ICAgCiAgICAgY29uc3QgU2Vjb25kcyBtZXNzYWdlVGltZW91dCgyMCk7Ci0gICAgc2VuZFN5bmMo
TWVzc2FnZXM6OldlYlBhZ2U6OkdldFN0cmluZ1NlbGVjdGlvbkZvclBhc3RlYm9hcmQoKSwgTWVz
c2FnZXM6OldlYlBhZ2U6OkdldFN0cmluZ1NlbGVjdGlvbkZvclBhc3RlYm9hcmQ6OlJlcGx5KHZh
bHVlKSwgbWVzc2FnZVRpbWVvdXQpOworICAgIGlmICghc2VuZFN5bmNJZlBvc3NpYmxlKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpHZXRTdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKCksIE1lc3NhZ2Vz
OjpXZWJQYWdlOjpHZXRTdHJpbmdTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkOjpSZXBseSh2YWx1ZSks
IG1lc3NhZ2VUaW1lb3V0KSkKKyAgICAgICAgcmV0dXJuIHsgfTsKKwogICAgIHJldHVybiB2YWx1
ZTsKIH0KIAogUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4gV2ViUGFnZVByb3h5OjpkYXRh
U2VsZWN0aW9uRm9yUGFzdGVib2FyZChjb25zdCBTdHJpbmcmIHBhc3RlYm9hcmRUeXBlKQogewot
ICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0K
ICAgICBTaGFyZWRNZW1vcnk6OklQQ0hhbmRsZSBpcGNIYW5kbGU7CiAgICAgY29uc3QgU2Vjb25k
cyBtZXNzYWdlVGltZW91dCgyMCk7Ci0gICAgc2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2U6Okdl
dERhdGFTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKHBhc3RlYm9hcmRUeXBlKSwgTWVzc2FnZXM6Oldl
YlBhZ2U6OkdldERhdGFTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkOjpSZXBseShpcGNIYW5kbGUpLCBt
ZXNzYWdlVGltZW91dCk7CisgICAgaWYgKCFzZW5kU3luY0lmUG9zc2libGUoTWVzc2FnZXM6Oldl
YlBhZ2U6OkdldERhdGFTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkKHBhc3RlYm9hcmRUeXBlKSwgTWVz
c2FnZXM6OldlYlBhZ2U6OkdldERhdGFTZWxlY3Rpb25Gb3JQYXN0ZWJvYXJkOjpSZXBseShpcGNI
YW5kbGUpLCBtZXNzYWdlVGltZW91dCkpCisgICAgICAgIHJldHVybiBudWxscHRyOworCiAgICAg
TUVTU0FHRV9DSEVDS19XSVRIX1JFVFVSTl9WQUxVRSghaXBjSGFuZGxlLmhhbmRsZS5pc051bGwo
KSwgbnVsbHB0cik7CiAKICAgICBhdXRvIHNoYXJlZE1lbW9yeUJ1ZmZlciA9IFNoYXJlZE1lbW9y
eTo6bWFwKGlwY0hhbmRsZS5oYW5kbGUsIFNoYXJlZE1lbW9yeTo6UHJvdGVjdGlvbjo6UmVhZE9u
bHkpOwpAQCAtMjQxLDE0ICsyMzksMTMgQEAgUmVmUHRyPFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcj4g
V2ViUGFnZVByb3h5OjpkYXRhU2VsZWN0aW9uRm9yUGFzdGVib2FyZChjb25zdCBTdHIKIAogYm9v
bCBXZWJQYWdlUHJveHk6OnJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChjb25zdCBTdHJpbmcm
IHBhc3RlYm9hcmROYW1lKQogewotICAgIGlmICghaGFzUnVubmluZ1Byb2Nlc3MoKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCiAgICAgZ3JhbnRBY2Nlc3NUb0N1cnJlbnRQYXN0ZWJvYXJkRGF0
YShwYXN0ZWJvYXJkTmFtZSk7CiAKICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIGNvbnN0
IFNlY29uZHMgbWVzc2FnZVRpbWVvdXQoMjApOwotICAgIHNlbmRTeW5jKE1lc3NhZ2VzOjpXZWJQ
YWdlOjpSZWFkU2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQocGFzdGVib2FyZE5hbWUpLCBNZXNzYWdl
czo6V2ViUGFnZTo6UmVhZFNlbGVjdGlvbkZyb21QYXN0ZWJvYXJkOjpSZXBseShyZXN1bHQpLCBt
ZXNzYWdlVGltZW91dCk7CisgICAgaWYgKCFzZW5kU3luY0lmUG9zc2libGUoTWVzc2FnZXM6Oldl
YlBhZ2U6OlJlYWRTZWxlY3Rpb25Gcm9tUGFzdGVib2FyZChwYXN0ZWJvYXJkTmFtZSksIE1lc3Nh
Z2VzOjpXZWJQYWdlOjpSZWFkU2VsZWN0aW9uRnJvbVBhc3RlYm9hcmQ6OlJlcGx5KHJlc3VsdCks
IG1lc3NhZ2VUaW1lb3V0KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCiAgICAgcmV0dXJuIHJl
c3VsdDsKIH0KIApAQCAtMzc3LDIzICszNzQsMjEgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmV4ZWN1
dGVTYXZlZENvbW1hbmRCeVNlbGVjdG9yKGNvbnN0IFN0cmluZyYgc2VsZWN0b3IsIENvbXBsZXQK
IAogYm9vbCBXZWJQYWdlUHJveHk6OnNob3VsZERlbGF5V2luZG93T3JkZXJpbmdGb3JFdmVudChj
b25zdCBXZWJLaXQ6OldlYk1vdXNlRXZlbnQmIGV2ZW50KQogewotICAgIGlmIChwcm9jZXNzKCku
c3RhdGUoKSAhPSBXZWJQcm9jZXNzUHJveHk6OlN0YXRlOjpSdW5uaW5nKQotICAgICAgICByZXR1
cm4gZmFsc2U7Ci0KICAgICBib29sIHJlc3VsdCA9IGZhbHNlOwogICAgIGNvbnN0IFNlY29uZHMg
bWVzc2FnZVRpbWVvdXQoMyk7Ci0gICAgc2VuZFN5bmMoTWVzc2FnZXM6OldlYlBhZ2U6OlNob3Vs
ZERlbGF5V2luZG93T3JkZXJpbmdFdmVudChldmVudCksIE1lc3NhZ2VzOjpXZWJQYWdlOjpTaG91
bGREZWxheVdpbmRvd09yZGVyaW5nRXZlbnQ6OlJlcGx5KHJlc3VsdCksIG1lc3NhZ2VUaW1lb3V0
KTsKKyAgICBpZiAoIXNlbmRTeW5jSWZQb3NzaWJsZShNZXNzYWdlczo6V2ViUGFnZTo6U2hvdWxk
RGVsYXlXaW5kb3dPcmRlcmluZ0V2ZW50KGV2ZW50KSwgTWVzc2FnZXM6OldlYlBhZ2U6OlNob3Vs
ZERlbGF5V2luZG93T3JkZXJpbmdFdmVudDo6UmVwbHkocmVzdWx0KSwgbWVzc2FnZVRpbWVvdXQp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKICAgICByZXR1cm4gcmVzdWx0OwogfQogCiBib29s
IFdlYlBhZ2VQcm94eTo6YWNjZXB0c0ZpcnN0TW91c2UoaW50IGV2ZW50TnVtYmVyLCBjb25zdCBX
ZWJLaXQ6OldlYk1vdXNlRXZlbnQmIGV2ZW50KQogewotICAgIGlmICghaGFzUnVubmluZ1Byb2Nl
c3MoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCiAgICAgYm9vbCByZXN1bHQgPSBmYWxzZTsK
ICAgICBjb25zdCBTZWNvbmRzIG1lc3NhZ2VUaW1lb3V0KDMpOwotICAgIHNlbmRTeW5jKE1lc3Nh
Z2VzOjpXZWJQYWdlOjpBY2NlcHRzRmlyc3RNb3VzZShldmVudE51bWJlciwgZXZlbnQpLCBNZXNz
YWdlczo6V2ViUGFnZTo6QWNjZXB0c0ZpcnN0TW91c2U6OlJlcGx5KHJlc3VsdCksIG1lc3NhZ2VU
aW1lb3V0KTsKKyAgICBpZiAoIXNlbmRTeW5jSWZQb3NzaWJsZShNZXNzYWdlczo6V2ViUGFnZTo6
QWNjZXB0c0ZpcnN0TW91c2UoZXZlbnROdW1iZXIsIGV2ZW50KSwgTWVzc2FnZXM6OldlYlBhZ2U6
OkFjY2VwdHNGaXJzdE1vdXNlOjpSZXBseShyZXN1bHQpLCBtZXNzYWdlVGltZW91dCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKwogICAgIHJldHVybiByZXN1bHQ7CiB9CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL0NoYW5nZUxvZyBiL1Rvb2xzL0NoYW5nZUxvZwppbmRleCAwY2Q2MzNkNGM2YmJiZWZm
ZjliMjU1NzQ2ZDYxNzUzZmNiZDc4ZDUyLi4xMGE1OTE5YzY0YjdhYmQyYjkxMzg0ZDU3MjljMGFk
Y2JiMWYxZTNjIDEwMDY0NAotLS0gYS9Ub29scy9DaGFuZ2VMb2cKKysrIGIvVG9vbHMvQ2hhbmdl
TG9nCkBAIC0xLDMgKzEsMTYgQEAKKzIwMjEtMDEtMDggIFdlbnNvbiBIc2llaCAgPHdlbnNvbl9o
c2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSAtW1dLV2ViVmlldyBhY2NlcHRzRmly
c3RNb3VzZTpdIHNvbWV0aW1lcyBjcmFzaGVzIGluIElQQzo6Q29ubmVjdGlvbjo6Y3JlYXRlU3lu
Y01lc3NhZ2VFbmNvZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMjA0NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcyMzE5MTk5PgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEFkZCBhbiBBUEkgdGVz
dCB0aGF0IGV4ZXJjaXNlcyB0aGUgY3Jhc2ggYnkgY2FsbGluZyBpbnRvIGAtYWNjZXB0c0ZpcnN0
TW91c2U6YCBkdXJpbmcgd2ViIHByb2Nlc3MgbGF1bmNoLgorCisgICAgICAgICogVGVzdFdlYktp
dEFQSS9UZXN0cy9tYWMvQWNjZXB0c0ZpcnN0TW91c2UubW06CisgICAgICAgIChUZXN0V2ViS2l0
QVBJOjpURVNUKToKKwogMjAyMS0wMS0wNyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFw
cGxlLmNvbT4KIAogICAgICAgICBUZXh0IGZpZWxkcyBzaG91bGQgbm90IGJlIHRyYW5zbGF0ZWQg
d2hpbGUgdHlwaW5nCmRpZmYgLS1naXQgYS9Ub29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9B
Y2NlcHRzRmlyc3RNb3VzZS5tbSBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0FjY2Vw
dHNGaXJzdE1vdXNlLm1tCmluZGV4IGZiMmMyZjNmNDNlMmQ4NzAxYjkyOThlM2Y4ODZlNjU3MTg3
MzgxYjMuLmRlYmU3ODZhZTkzOWYzOGRiMmQ1ZjAyYWNmOTVhZWI0N2RiMTYyMTUgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0FjY2VwdHNGaXJzdE1vdXNlLm1tCisr
KyBiL1Rvb2xzL1Rlc3RXZWJLaXRBUEkvVGVzdHMvbWFjL0FjY2VwdHNGaXJzdE1vdXNlLm1tCkBA
IC0yNCw4ICsyNCw5IEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgiCisjaW1wb3J0ICJUZXN0
TmF2aWdhdGlvbkRlbGVnYXRlLmgiCiAjaW1wb3J0ICJXZWJLaXRBZ25vc3RpY1Rlc3QuaCIKLQor
I2ltcG9ydCA8Q2FyYm9uL0NhcmJvbi5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiBA
aW50ZXJmYWNlIE5TQXBwbGljYXRpb24gKFRlc3RXZWJLaXRBUElOU0FwcGxpY2F0aW9uRGV0YWls
cykKQEAgLTc1LDQgKzc2LDE1IEBAIFRFU1RfRihBY2NlcHRzRmlyc3RNb3VzZSwgV2ViS2l0MikK
ICAgICBydW5XZWJLaXQyVGVzdCgpOwogfQogCitURVNUKFdlYktpdDIsIEFjY2VwdHNGaXJzdE1v
dXNlRHVyaW5nV2ViUHJvY2Vzc0xhdW5jaCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5T
KFtbV0tXZWJWaWV3IGFsbG9jXSBpbml0V2l0aEZyYW1lOk5TTWFrZVJlY3QoMCwgMCwgNDAwLCA0
MDApXSk7CisgICAgW3dlYlZpZXcgbG9hZEhUTUxTdHJpbmc6QCI8Ym9keT4iIGJhc2VVUkw6bmls
XTsKKworICAgIGF1dG8gbW91c2VFdmVudCA9IFtOU0V2ZW50IGVudGVyRXhpdEV2ZW50V2l0aFR5
cGU6TlNFdmVudFR5cGVNb3VzZUVudGVyZWQgbG9jYXRpb246TlNNYWtlUG9pbnQoMSwgMSkgbW9k
aWZpZXJGbGFnczowIHRpbWVzdGFtcDpHZXRDdXJyZW50RXZlbnRUaW1lKCkgd2luZG93TnVtYmVy
Olt3ZWJWaWV3IHdpbmRvd10ud2luZG93TnVtYmVyIGNvbnRleHQ6TlNHcmFwaGljc0NvbnRleHQu
Y3VycmVudENvbnRleHQgZXZlbnROdW1iZXI6MSB0cmFja2luZ051bWJlcjoxIHVzZXJEYXRhOm5p
bF07CisgICAgW3dlYlZpZXcgYWNjZXB0c0ZpcnN0TW91c2U6bW91c2VFdmVudF07CisKKyAgICBb
d2ViVmlldyBfdGVzdF93YWl0Rm9yRGlkRmluaXNoTmF2aWdhdGlvbl07Cit9CisKIH0gLy8gbmFt
ZXNwYWNlIFRlc3RXZWJLaXRBUEkK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>417286</attachid>
            <date>2021-01-08 11:59:28 -0800</date>
            <delta_ts>2021-01-08 14:35:34 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-220469-20210108115926.patch</filename>
            <type>text/plain</type>
            <size>4681</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjcxMjY5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IDY0OTQ1YmJhOWQ1YmRlZTA0
ODUzNjExNzY5ODhiMGM0ODMyZmFmMGUuLmVjZDIzMTM4ZGE0ZWU2NWViYTdiMjMwOTkwMWQxYWNm
NmZhNjViNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjUgQEAKKzIwMjEtMDEtMDggIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW21hY09TXSAtW1dLV2Vi
VmlldyBhY2NlcHRzRmlyc3RNb3VzZTpdIHNvbWV0aW1lcyBjcmFzaGVzIGluIElQQzo6Q29ubmVj
dGlvbjo6Y3JlYXRlU3luY01lc3NhZ2VFbmNvZGVyCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjA0NjkKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzcy
MzE5MTk5PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAg
IFdoZW4gc2VuZGluZyBJUEMgdG8gdGhlIHdlYiBwcm9jZXNzIGZyb20gdGhlIFVJIHByb2Nlc3Ms
IGl0J3MgcG9zc2libGUgZm9yIHRoZSBgV2ViUHJvY2Vzc1Byb3h5YCdzIElQQworICAgICAgICBj
b25uZWN0aW9uIHRvIGJlIG51bGwgaW4gdGhlIGNhc2Ugd2hlcmUgdGhlIHdlYiBwcm9jZXNzIGlz
IHN0aWxsIGluIHRoZSBhY3Qgb2YgbGF1bmNoaW5nLiBJbiB0aGUgY2FzZSBvZgorICAgICAgICBh
c3luY2hyb25vdXMgSVBDLCB3ZSBoYW5kbGUgdGhpcyBieSBxdWV1ZWluZyB0aGUgSVBDIG1lc3Nh
Z2Ugb24gdGhlIGBXZWJQcm9jZXNzUHJveHlgIGluIHRoZSBjYXNlIHdoZXJlIHRoZQorICAgICAg
ICBjb25uZWN0aW9uIGhhc24ndCBiZWVuIGNyZWF0ZWQgeWV0IChyZWZlciB0byBgQXV4aWxpYXJ5
UHJvY2Vzc1Byb3h5OjpzZW5kTWVzc2FnZWApLiBIb3dldmVyLCBpbiB0aGUgY2FzZSB3aGVyZQor
ICAgICAgICB3ZSdyZSBzZW5kaW5nIGEgc3luYyBtZXNzYWdlLCB3ZSBhc3N1bWUgdGhhdCB0aGUg
SVBDIGNvbm5lY3Rpb24gZXhpc3RzIGluIGBNZXNzYWdlU2VuZGVyOjpzZW5kU3luY2AsIHdoaWNo
CisgICAgICAgIGNhdXNlcyB1cyB0byBjcmFzaCB3aXRoIGEgbnVsbCBkZXJlZmVyZW5jZS4KKwor
ICAgICAgICBUbyBmaXggdGhpcywgcmVtb3ZlIHRoZSBkZWJ1ZyBhc3NlcnRpb24gaW4gYE1lc3Nh
Z2VTZW5kZXI6OnNlbmRTeW5jYCBhbmQgcmV0dXJuIGEgbnVsbCBgU2VuZFN5bmNSZXN1bHRgIGlu
IHRoZQorICAgICAgICBjYXNlIHdoZXJlIHRoZSBjb25uZWN0aW9uIGhhcyBub3QgYmVlbiBjcmVh
dGVkLgorCisgICAgICAgIFRlc3Q6IFdlYktpdDIuQWNjZXB0c0ZpcnN0TW91c2VEdXJpbmdXZWJQ
cm9jZXNzTGF1bmNoCisKKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5oOgor
CiAyMDIxLTAxLTA3ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAog
ICAgICAgICBbSlNDXSBTaW1wbGlmeSBnZXQqUHJvcGVydHlOYW1lcygpIG1ldGhvZHMgYW5kIEVu
dW1lcmF0aW9uTW9kZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVz
c2FnZVNlbmRlci5oIGIvU291cmNlL1dlYktpdC9QbGF0Zm9ybS9JUEMvTWVzc2FnZVNlbmRlci5o
CmluZGV4IDc3NDYxZDU1NWI3MjkyYzIwZWJmNTE0YTMwMmQxZGM2ZTc3NzAxMWYuLmU4YjU0NmIw
YmI3NGZmMzZhMDY4NDgwZjA1MWZjZDY4NzFhYmJiYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQvUGxhdGZvcm0vSVBDL01lc3NhZ2VTZW5kZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1BsYXRm
b3JtL0lQQy9NZXNzYWdlU2VuZGVyLmgKQEAgLTY3LDkgKzY3LDEwIEBAIHB1YmxpYzoKICAgICB0
ZW1wbGF0ZTx0eXBlbmFtZSBUPgogICAgIFNlbmRTeW5jUmVzdWx0IHNlbmRTeW5jKFQmJiBtZXNz
YWdlLCB0eXBlbmFtZSBUOjpSZXBseSYmIHJlcGx5LCB1aW50NjRfdCBkZXN0aW5hdGlvbklELCBT
ZWNvbmRzIHRpbWVvdXQgPSBTZWNvbmRzOjppbmZpbml0eSgpLCBPcHRpb25TZXQ8U2VuZFN5bmNP
cHRpb24+IHNlbmRTeW5jT3B0aW9ucyA9IHsgfSkKICAgICB7Ci0gICAgICAgIEFTU0VSVChtZXNz
YWdlU2VuZGVyQ29ubmVjdGlvbigpKTsKKyAgICAgICAgaWYgKGF1dG8qIGNvbm5lY3Rpb24gPSBt
ZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpKQorICAgICAgICAgICAgcmV0dXJuIGNvbm5lY3Rpb24t
PnNlbmRTeW5jKFdURk1vdmUobWVzc2FnZSksIFdURk1vdmUocmVwbHkpLCBkZXN0aW5hdGlvbklE
LCB0aW1lb3V0LCBzZW5kU3luY09wdGlvbnMpOwogCi0gICAgICAgIHJldHVybiBtZXNzYWdlU2Vu
ZGVyQ29ubmVjdGlvbigpLT5zZW5kU3luYyhXVEZNb3ZlKG1lc3NhZ2UpLCBXVEZNb3ZlKHJlcGx5
KSwgZGVzdGluYXRpb25JRCwgdGltZW91dCwgc2VuZFN5bmNPcHRpb25zKTsKKyAgICAgICAgcmV0
dXJuIHsgfTsKICAgICB9CiAKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBVLCB0eXBlbmFtZSBUPgpk
aWZmIC0tZ2l0IGEvVG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDBjZDYz
M2Q0YzZiYmJlZmZmOWIyNTU3NDZkNjE3NTNmY2JkNzhkNTIuLjEwYTU5MTljNjRiN2FiZDJiOTEz
ODRkNTcyOWMwYWRjYmIxZjFlM2MgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9U
b29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAyMS0wMS0wOCAgV2Vuc29uIEhzaWVo
ICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbbWFjT1NdIC1bV0tXZWJWaWV3
IGFjY2VwdHNGaXJzdE1vdXNlOl0gc29tZXRpbWVzIGNyYXNoZXMgaW4gSVBDOjpDb25uZWN0aW9u
OjpjcmVhdGVTeW5jTWVzc2FnZUVuY29kZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTIyMDQ2OQorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNzIzMTkx
OTk+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRk
IGFuIEFQSSB0ZXN0IHRoYXQgZXhlcmNpc2VzIHRoZSBjcmFzaCBieSBjYWxsaW5nIGludG8gYC1h
Y2NlcHRzRmlyc3RNb3VzZTpgIGR1cmluZyB3ZWIgcHJvY2VzcyBsYXVuY2guCisKKyAgICAgICAg
KiBUZXN0V2ViS2l0QVBJL1Rlc3RzL21hYy9BY2NlcHRzRmlyc3RNb3VzZS5tbToKKyAgICAgICAg
KFRlc3RXZWJLaXRBUEk6OlRFU1QpOgorCiAyMDIxLTAxLTA3ICBXZW5zb24gSHNpZWggIDx3ZW5z
b25faHNpZWhAYXBwbGUuY29tPgogCiAgICAgICAgIFRleHQgZmllbGRzIHNob3VsZCBub3QgYmUg
dHJhbnNsYXRlZCB3aGlsZSB0eXBpbmcKZGlmZiAtLWdpdCBhL1Rvb2xzL1Rlc3RXZWJLaXRBUEkv
VGVzdHMvbWFjL0FjY2VwdHNGaXJzdE1vdXNlLm1tIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0
cy9tYWMvQWNjZXB0c0ZpcnN0TW91c2UubW0KaW5kZXggZmIyYzJmM2Y0M2UyZDg3MDFiOTI5OGUz
Zjg4NmU2NTcxODczODFiMy4uNDk4Yzk2ZTRlNTI0ZmNmODk0M2VkMTc4YWY2MjM2NmQ2ZGEzNWNl
ZiAxMDA2NDQKLS0tIGEvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvQWNjZXB0c0ZpcnN0
TW91c2UubW0KKysrIGIvVG9vbHMvVGVzdFdlYktpdEFQSS9UZXN0cy9tYWMvQWNjZXB0c0ZpcnN0
TW91c2UubW0KQEAgLTI0LDggKzI0LDEwIEBACiAgKi8KIAogI2ltcG9ydCAiY29uZmlnLmgiCisj
aW1wb3J0ICJUZXN0TmF2aWdhdGlvbkRlbGVnYXRlLmgiCisjaW1wb3J0ICJUZXN0V0tXZWJWaWV3
LmgiCiAjaW1wb3J0ICJXZWJLaXRBZ25vc3RpY1Rlc3QuaCIKLQorI2ltcG9ydCA8Q2FyYm9uL0Nh
cmJvbi5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiBAaW50ZXJmYWNlIE5TQXBwbGlj
YXRpb24gKFRlc3RXZWJLaXRBUElOU0FwcGxpY2F0aW9uRGV0YWlscykKQEAgLTc1LDQgKzc3LDE1
IEBAIFRFU1RfRihBY2NlcHRzRmlyc3RNb3VzZSwgV2ViS2l0MikKICAgICBydW5XZWJLaXQyVGVz
dCgpOwogfQogCitURVNUKFdlYktpdDIsIEFjY2VwdHNGaXJzdE1vdXNlRHVyaW5nV2ViUHJvY2Vz
c0xhdW5jaCkKK3sKKyAgICBhdXRvIHdlYlZpZXcgPSBhZG9wdE5TKFtbVGVzdFdLV2ViVmlldyBh
bGxvY10gaW5pdFdpdGhGcmFtZTpOU01ha2VSZWN0KDAsIDAsIDQwMCwgNDAwKV0pOworICAgIFt3
ZWJWaWV3IGxvYWRIVE1MU3RyaW5nOkAiPGJvZHk+IiBiYXNlVVJMOm5pbF07CisKKyAgICBhdXRv
IG1vdXNlRXZlbnQgPSBbTlNFdmVudCBlbnRlckV4aXRFdmVudFdpdGhUeXBlOk5TRXZlbnRUeXBl
TW91c2VFbnRlcmVkIGxvY2F0aW9uOk5TTWFrZVBvaW50KDEsIDEpIG1vZGlmaWVyRmxhZ3M6MCB0
aW1lc3RhbXA6R2V0Q3VycmVudEV2ZW50VGltZSgpIHdpbmRvd051bWJlcjpbd2ViVmlldyB3aW5k
b3ddLndpbmRvd051bWJlciBjb250ZXh0Ok5TR3JhcGhpY3NDb250ZXh0LmN1cnJlbnRDb250ZXh0
IGV2ZW50TnVtYmVyOjEgdHJhY2tpbmdOdW1iZXI6MSB1c2VyRGF0YTpuaWxdOworICAgIFt3ZWJW
aWV3IGFjY2VwdHNGaXJzdE1vdXNlOm1vdXNlRXZlbnRdOworCisgICAgW3dlYlZpZXcgX3Rlc3Rf
d2FpdEZvckRpZEZpbmlzaE5hdmlnYXRpb25dOworfQorCiB9IC8vIG5hbWVzcGFjZSBUZXN0V2Vi
S2l0QVBJCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>