<?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>227666</bug_id>
          
          <creation_ts>2021-07-03 13:41:34 -0700</creation_ts>
          <short_desc>[iOS] Augment -_webView:didNotHandleTapAsMeaningfulClickAtPoint: to include meaningful taps</short_desc>
          <delta_ts>2021-07-04 22:54:20 -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>UI Events</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>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>bdakin</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>hi</cc>
    
    <cc>jer.noble</cc>
    
    <cc>megan_gardner</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
    
    <cc>thorton</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1774693</commentid>
    <comment_count>0</comment_count>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-03 13:41:34 -0700</bug_when>
    <thetext>rdar://80094962</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774694</commentid>
    <comment_count>1</comment_count>
      <attachid>432854</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-03 14:05:38 -0700</bug_when>
    <thetext>Created attachment 432854
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774696</commentid>
    <comment_count>2</comment_count>
      <attachid>432855</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-03 14:20:13 -0700</bug_when>
    <thetext>Created attachment 432855
Try to fix tvOS/watchOS builds</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774753</commentid>
    <comment_count>3</comment_count>
      <attachid>432855</attachid>
    <who name="Wenson Hsieh">wenson_hsieh</who>
    <bug_when>2021-07-04 22:23:11 -0700</bug_when>
    <thetext>Comment on attachment 432855
Try to fix tvOS/watchOS builds

Thanks for the review!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1774755</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-07-04 22:54:18 -0700</bug_when>
    <thetext>Committed r279562 (239393@main): &lt;https://commits.webkit.org/239393@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 432855.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432854</attachid>
            <date>2021-07-03 14:05:38 -0700</date>
            <delta_ts>2021-07-03 14:30:25 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-227666-20210703140537.patch</filename>
            <type>text/plain</type>
            <size>59394</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ2OTAxMjZjOGQzMDhkMTYw
ODk2ODVlNmU1NGM0YWZhOWI5N2NlOGYuLjI5NmRkMTM2OTNjMjFiNjQ5ZTk5ZDlmMTFiNjA4OGE3
MjVmYTY3YTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODUgQEAKKzIwMjEtMDctMDMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQXVnbWVudCAt
X3dlYlZpZXc6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50OiB0byBpbmNs
dWRlIG1lYW5pbmdmdWwgdGFwcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3NjY2CisgICAgICAgIHJkYXI6Ly84MDA5NDk2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcml2YXRlIFVJIGRlbGVn
YXRlIG1ldGhvZCBgLV93ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQ
b2ludDpgIGlzIGN1cnJlbnRseSBvbmx5IGludm9rZWQKKyAgICAgICAgd2hlbiBhIHRhcCB3YXMg
bm90IGhhbmRsZWQgYXMgYSAibWVhbmluZ2Z1bCIgc3ludGhldGljIGNsaWNrICh3aGVyZSB0aGUg
bm90aW9uIG9mICJtZWFuaW5nZnVsIiBpcyBoZXVyaXN0aWNhbGx5CisgICAgICAgIGRldGVybWlu
ZWQpLiBIb3dldmVyLCBpbiBvcmRlciB0byBzdXBwb3J0IHJldmlzZWQgdGFiIHBpbGwgbWluaW1p
emF0aW9uIGJlaGF2aW9ycywgU2FmYXJpIHJlcXVpcmVzIGtub3dsZWRnZSBvZgorICAgICAgICB0
YXBzIHRoYXQgd2VyZSBoYW5kbGVkIGFzIG1lYW5pbmdmdWwgY2xpY2tzIGFzIHdlbGwuCisKKyAg
ICAgICAgVG8gc3VwcG9ydCB0aGlzLCByZXBsYWNlIHdoYXQgaXMgY3VycmVudGx5IGAtX3dlYlZp
ZXc6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50OmAgd2l0aCBhbm90aGVy
CisgICAgICAgIGRlbGVnYXRlIG1ldGhvZCwgYC1fd2ViVmlldzpkaWRUYXBBdFBvaW50OndpdGhS
ZXN1bHQ6YCwgdGhhdCBpcyBhbHdheXMgaW52b2tlZCB3aGVuIGEgdGFwIGdlc3R1cmUgaXMgcmVj
b2duaXplZAorICAgICAgICBpbiB0aGUgd2ViIHZpZXcuIFRoZSBgcmVzdWx0YCBwYXJhbWV0ZXIs
IGEgbmV3IGBfV0tUYXBIYW5kbGluZ1Jlc3VsdGAgZW51bSwgdGhlbiBpbmRpY2F0ZXMgdG8gdGhl
IGNsaWVudCBob3cgdGhlCisgICAgICAgIHRhcCB3YXMgaGFuZGxlZDsgdGhpcyBjdXJyZW50bHkg
aW5jbHVkZXMgMyB2YWx1ZXM6IG9uZSB0byBpbmRpY2F0ZSB0aGF0IHRoZSB0YXAgZ2VzdHVyZSBk
aWQgbm90IHJlc3VsdCBpbiBhCisgICAgICAgIHN5bnRoZXRpYyBjbGljayBiZWluZyBkaXNwYXRj
aGVkLCBhbmQgdHdvIG1vcmUgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgc3ludGhldGljIGNsaWNr
IHRoYXQgd2FzIGRpc3BhdGNoZWQgYXMgYQorICAgICAgICByZXN1bHQgb2YgdGhlIHRhcCB3YXMg
Im1lYW5pbmdmdWxseSIgaGFuZGxlZC4KKworICAgICAgICBUbyBmYWNpbGl0YXRlIHRoZSB0cmFu
c2l0aW9uIGZyb20gYC1fd2ViVmlldzpkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0
UG9pbnQ6YCB0byB0aGUgbmV3IFNQSSwgd2Ugc3RpbGwKKyAgICAgICAgY2FsbCB0aGUgb2xkIFNQ
SSBhcyBsb25nIGFzIHRoZSB0YXAgaGFuZGxpbmcgcmVzdWx0IHR5cGUgaXMgbm90IGVxdWFsIHRv
IFRhcEhhbmRsaW5nUmVzdWx0OjpNZWFuaW5nZnVsQ2xpY2s7CisgICAgICAgIGhvd2V2ZXIsIG1h
cmsgdGhlIG9sZCBTUEkgYXMgZGVwcmVjYXRlZCB3aXRoIGAtX3dlYlZpZXc6ZGlkVGFwQXRQb2lu
dDp3aXRoUmVzdWx0OmAgYXMgdGhlIHJlcGxhY2VtZW50LgorCisgICAgICAgIFRlc3RzOiAgZmFz
dC9ldmVudHMvaW9zL2RpZC1ub3QtaGFuZGxlLW1lYW5pbmdmdWwtY2xpY2sKKyAgICAgICAgICAg
ICAgICBmYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLWZvY3VzaW5nLWJvZHkK
KyAgICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBs
YXlpbmctbWVkaWEKKyAgICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9pb3Mvbm9uLW1lYW5pbmdm
dWwtY2xpY2std2hlbi10YXBwaW5nLWRvY3VtZW50CisKKyAgICAgICAgKiBTaGFyZWQvaW9zL1Rh
cEhhbmRsaW5nUmVzdWx0Lmg6IEFkZGVkLgorCisgICAgICAgIEFkZCBhIG5ldyBDKysgZW51bSB0
eXBlIHRvIHJlcHJlc2VudCB0aGUgdGFwIGhhbmRsaW5nIHJlc3VsdCB0eXBlIChzZWUgZGVzY3Jp
cHRpb24gYWJvdmUpLgorCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oOgor
ICAgICAgICAoQVBJOjpVSUNsaWVudDo6ZGlkVGFwQXRQb2ludCk6CisgICAgICAgIChBUEk6OlVJ
Q2xpZW50OjpkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQpOiBEZWxldGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGFwSGFuZGxpbmdSZXN1bHQuaDogQWRk
ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tOgorICAgICAgICAod2tUYXBIYW5k
bGluZ1Jlc3VsdCk6CisKKyAgICAgICAgQWRkIGEgaGVscGVyIG1ldGhvZCB0byBjb252ZXJ0IGZy
b20gdGhlIFdlYktpdDo6VGFwSGFuZGxpbmdSZXN1bHQgZW51bSB0byB0aGUgU1BJLWV4cG9zZWQg
X1dLVGFwSGFuZGxpbmdSZXN1bHQuCisKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2lvcy9XS1dl
YlZpZXdQcml2YXRlRm9yVGVzdGluZ0lPUy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9z
L1dLV2ViVmlld1Rlc3RpbmdJT1MubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfZGlkVGFwQXRQ
b2ludDp3aXRoUmVzdWx0Ol0pOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2RpZE5vdEhhbmRsZVRh
cEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDpdKTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nl
c3MvQ29jb2EvVUlEZWxlZ2F0ZS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVn
YXRlLm1tOgorICAgICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpzZXREZWxlZ2F0ZSk6CisgICAg
ICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRUYXBBdFBvaW50KToKKworICAg
ICAgICBOb3RlIHRoYXQgd2Ugc3RpbGwgaW52b2tlIHRoZSBvbGQgVUkgZGVsZWdhdGUgU1BJIGhl
cmUgdG8gZW5zdXJlIHRoYXQgdGhlc2UgY2hhbmdlcyBkb24ndCBicmVhayBTYWZhcmkgYmVmb3Jl
CisgICAgICAgIHRoZXkgaGF2ZSBhIGNoYW5jZSB0byBhZG9wdCB0aGUgbmV3IFNQSS4KKworICAg
ICAgICAoV2ViS2l0OjpVSURlbGVnYXRlOjpVSUNsaWVudDo6ZGlkTm90SGFuZGxlVGFwQXNNZWFu
aW5nZnVsQ2xpY2tBdFBvaW50KTogRGVsZXRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGFnZUNs
aWVudC5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaDoKKyAgICAgICAgKiBV
SVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluOgorCisgICAgICAgIFJlcGxhY2UgdGhl
IGBEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnRgIG1lc3NhZ2Ugd2l0aCBg
RGlkVGFwQXRQb2ludGAsIHdoaWNoIHRha2VzIGJvdGggYSBsb2NhdGlvbgorICAgICAgICBhbmQg
YSBmbGFnIGluZGljYXRpbmcgaG93IHRoZSB0YXAgd2FzIGhhbmRsZWQgYnkgd2ViIGNvbnRlbnQu
CisKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbToKKyAgICAgICAgKFdlYktpdDo6
UGFnZUNsaWVudEltcGw6OmRpZFRhcEF0UG9pbnQpOgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xp
ZW50SW1wbDo6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50KTogRGVsZXRl
ZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFnZVByb3h5OjpkaWRUYXBBdFBvaW50KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFnZVByb3h5OjpkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQpOiBE
ZWxldGVkLgorICAgICAgICAqIFdlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFnZTo6Y29tcGxldGVTeW50aGV0aWNDbGljayk6CisKKyAgICAgICAgVGhlIG1l
YW5pbmdmdWwgdGFwIGhldXJpc3RpYyBubyBsb25nZXIgZGV0ZXJtaW5lcyB3aGV0aGVyIHdlIHNl
bmQgYW4gSVBDIG1lc3NhZ2Ugb3Igbm90LCBidXQgcmF0aGVyIHRoZSB0eXBlIG9mCisgICAgICAg
IFRhcEhhbmRsaW5nUmVzdWx0IHRvIHNlbmQgKG5hbWVseSwgd2hldGhlciB0byBzZW5kIE5vbk1l
YW5pbmdmdWxDbGljayBvciBNZWFuaW5nZnVsQ2xpY2spLgorCisgICAgICAgIChXZWJLaXQ6Oldl
YlBhZ2U6OmF0dGVtcHRTeW50aGV0aWNDbGljayk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6
OmhhbmRsZVR3b0ZpbmdlclRhcEF0UG9pbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpj
b21taXRQb3RlbnRpYWxUYXBGYWlsZWQpOgorCiAyMDIxLTA3LTAxICBZb3Vlbm4gRmFibGV0ICA8
eW91ZW5uQGFwcGxlLmNvbT4KIAogICAgICAgICBEaXNhYmxlIHJlbGF5IGZvciBVRFAgc29ja2V0
cyB3aGVuIG5vdCBuZWVkZWQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9U
YXBIYW5kbGluZ1Jlc3VsdC5oIGIvU291cmNlL1dlYktpdC9TaGFyZWQvaW9zL1RhcEhhbmRsaW5n
UmVzdWx0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMTJlOGRjMDc1NDkyYmQ0ODRlZmU5N2NiMWYxYjVlZDNmNzNk
MjE1MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvU2hhcmVkL2lvcy9UYXBIYW5k
bGluZ1Jlc3VsdC5oCkBAIC0wLDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjEg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIFBMQVRGT1JNKElPU19GQU1JTFkpCisKKyNpbmNsdWRlIDx3dGYvRW51bVRyYWl0cy5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSBjbGFzcyBUYXBIYW5kbGluZ1Jlc3VsdCA6
IHVpbnQ4X3QgIHsKKyAgICBEaWROb3RIYW5kbGVUYXBBc0NsaWNrLAorICAgIE5vbk1lYW5pbmdm
dWxDbGljaywKKyAgICBNZWFuaW5nZnVsQ2xpY2ssCit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworbmFtZXNwYWNlIFdURiB7CisKK3RlbXBsYXRlPD4gc3RydWN0IEVudW1UcmFpdHM8V2Vi
S2l0OjpUYXBIYW5kbGluZ1Jlc3VsdD4geworICAgIHVzaW5nIHZhbHVlcyA9IEVudW1WYWx1ZXMg
PAorICAgIFdlYktpdDo6VGFwSGFuZGxpbmdSZXN1bHQsCisgICAgV2ViS2l0OjpUYXBIYW5kbGlu
Z1Jlc3VsdDo6RGlkTm90SGFuZGxlVGFwQXNDbGljaywKKyAgICBXZWJLaXQ6OlRhcEhhbmRsaW5n
UmVzdWx0OjpOb25NZWFuaW5nZnVsQ2xpY2ssCisgICAgV2ViS2l0OjpUYXBIYW5kbGluZ1Jlc3Vs
dDo6TWVhbmluZ2Z1bENsaWNrCisgICAgPjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdURgorCisj
ZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9BUElVSUNsaWVudC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJ
L0FQSVVJQ2xpZW50LmgKaW5kZXggMjE3NWM1MTg4MjFlZmZmZjA2MDU3OGM0MThlMjI0ODE3NjEw
ZDY0NC4uNjJhOWJmY2U2NjIyOWFmZjAzZDBjZGZiYTIxNmEzMDliZDIxYzMzNCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKKysrIGIvU291cmNl
L1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmgKQEAgLTUyLDYgKzUyLDcgQEAgc3Ry
dWN0IFdpbmRvd0ZlYXR1cmVzOwogfQogCiBuYW1lc3BhY2UgV2ViS2l0IHsKK2VudW0gY2xhc3Mg
VGFwSGFuZGxpbmdSZXN1bHQgOiB1aW50OF90OwogY2xhc3MgTmF0aXZlV2ViS2V5Ym9hcmRFdmVu
dDsKIGNsYXNzIE5hdGl2ZVdlYldoZWVsRXZlbnQ7CiBjbGFzcyBVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdFByb3h5OwpAQCAtMTYzLDcgKzE2NCw3IEBAIHB1YmxpYzoKICNlbmRpZgogICAgIHZp
cnR1YWwgUmV0YWluUHRyPE5TQXJyYXk+IGFjdGlvbnNGb3JFbGVtZW50KF9XS0FjdGl2YXRlZEVs
ZW1lbnRJbmZvICosIFJldGFpblB0cjxOU0FycmF5PiBkZWZhdWx0QWN0aW9ucykgeyByZXR1cm4g
ZGVmYXVsdEFjdGlvbnM7IH0KICAgICB2aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNDbGlj
ayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIHsgfQotICAgIHZpcnR1YWwgdm9pZCBkaWROb3RI
YW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
KSB7IH0KKyAgICB2aXJ0dWFsIHZvaWQgZGlkVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYsIFdlYktpdDo6VGFwSGFuZGxpbmdSZXN1bHQpIHsgfQogICAgIHZpcnR1YWwgVUlWaWV3
Q29udHJvbGxlciAqcHJlc2VudGluZ1ZpZXdDb250cm9sbGVyKCkgeyByZXR1cm4gbnVsbHB0cjsg
fQogI2VuZGlmCiAjaWYgUExBVEZPUk0oQ09DT0EpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaAppbmRleCBmNzNjMzgx
OTIwMjY2ZTc1MzFhMGY0NDFlYTU0Y2YxZGUyZDliYTY5Li5lZGI1ZmRlNjlkZjU3ZWQzZTE5ZjIz
OWJhYzc5YmY2NTRiOWVmZTc2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tVSURlbGVnYXRlUHJpdmF0ZS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNp
bXBvcnQgPFdlYktpdC9XS1VJRGVsZWdhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9XS1dlYlZpZXdQ
cml2YXRlLmg+CiAjaW1wb3J0IDxXZWJLaXQvX1dLQWN0aXZhdGVkRWxlbWVudEluZm8uaD4KKyNp
bXBvcnQgPFdlYktpdC9fV0tUYXBIYW5kbGluZ1Jlc3VsdC5oPgogI2ltcG9ydCA8V2ViS2l0L19X
S1dlYkF1dGhlbnRpY2F0aW9uUGFuZWwuaD4KIAogQGNsYXNzIE5TRGF0YTsKQEAgLTE2NCw3ICsx
NjUsOCBAQCBzdHJ1Y3QgVUlFZGdlSW5zZXRzOwogLSAoQk9PTClfd2ViVmlldzooV0tXZWJWaWV3
ICopd2ViVmlldyBzaG91bGRJbmNsdWRlQXBwTGlua0FjdGlvbnNGb3JFbGVtZW50OihfV0tBY3Rp
dmF0ZWRFbGVtZW50SW5mbyAqKWVsZW1lbnQgV0tfQVBJX0FWQUlMQUJMRShpb3MoOS4wKSk7CiAt
IChOU0FycmF5ICopX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgYWN0aW9uc0ZvckVsZW1l
bnQ6KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudCBkZWZhdWx0QWN0aW9uczooTlNB
cnJheTxfV0tFbGVtZW50QWN0aW9uICo+ICopZGVmYXVsdEFjdGlvbnM7CiAtICh2b2lkKV93ZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50OihD
R1BvaW50KXBvaW50OwotLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2ViVmlldyBkaWRO
b3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQ6KENHUG9pbnQpcG9pbnQgV0tfQVBJ
X0FWQUlMQUJMRShpb3MoMTUuMCkpOworLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQ6KENHUG9pbnQpcG9p
bnQgV0tfQVBJX0RFUFJFQ0FURURfV0lUSF9SRVBMQUNFTUVOVCgiX3dlYlZpZXc6ZGlkVGFwQXRQ
b2ludDp3aXRoUmVzdWx0OiIsIGlvcygxNS4wLCAxNS4wKSk7CistICh2b2lkKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IGRpZFRhcEF0UG9pbnQ6KENHUG9pbnQpcG9pbnQgd2l0aFJlc3Vs
dDooX1dLVGFwSGFuZGxpbmdSZXN1bHQpcmVzdWx0IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDE1LjAp
KTsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgcmVxdWVzdEdlb2xvY2F0
aW9uQXV0aG9yaXphdGlvbkZvclVSTDooTlNVUkwgKil1cmwgZnJhbWU6KFdLRnJhbWVJbmZvICop
ZnJhbWUgZGVjaXNpb25IYW5kbGVyOih2b2lkICheKShCT09MIGF1dGhvcml6ZWQpKWRlY2lzaW9u
SGFuZGxlciBXS19BUElfQVZBSUxBQkxFKGlvcygxMS4wKSk7CiAtIChCT09MKV93ZWJWaWV3OihX
S1dlYlZpZXcgKil3ZWJWaWV3IGZpbGVVcGxvYWRQYW5lbENvbnRlbnRJc01hbmFnZWRXaXRoSW5p
dGlhdGluZ0ZyYW1lOihXS0ZyYW1lSW5mbyAqKWZyYW1lOwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGFwSGFuZGxpbmdSZXN1bHQuaCBiL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUYXBIYW5kbGluZ1Jlc3VsdC5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjVkYThiNzQ0MzRiZDAzYWZiMDJmMzg3MDZlOGIzYmZiZGYxMWU4NDIKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvX1dLVGFwSGFuZGxp
bmdSZXN1bHQuaApAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDIxIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8V2ViS2l0
L1dLRm91bmRhdGlvbi5oPgorCisjaWYgVEFSR0VUX09TX0lPUworCit0eXBlZGVmIE5TX0VOVU0o
TlNJbnRlZ2VyLCBfV0tUYXBIYW5kbGluZ1Jlc3VsdCkgeworICAgIF9XS1RhcEhhbmRsaW5nUmVz
dWx0RGlkTm90SGFuZGxlVGFwQXNDbGljaywKKyAgICBfV0tUYXBIYW5kbGluZ1Jlc3VsdE5vbk1l
YW5pbmdmdWxDbGljaywKKyAgICBfV0tUYXBIYW5kbGluZ1Jlc3VsdE1lYW5pbmdmdWxDbGljaywK
K30gV0tfQVBJX0FWQUlMQUJMRShpb3MoMTUuMCkpOworCisjZW5kaWYgLy8gVEFSR0VUX09TX0lP
UwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJ
T1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLmgKaW5k
ZXggMjg0ZDllNjA4NGU4ZDdkZDNlZGVmMzNkNjliNDRlZTQ0ZGM5NjQzZC4uNWY3NDRhNjM5MDYz
OTgwYmVlY2ZiYzhmYzQ0MWU5ZWNlN2ZjZWQwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5oCkBAIC0yNCwxMSArMjQsMTYgQEAKICAqLwogCiAj
aW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgorI2ltcG9ydCAiX1dLVGFwSGFuZGxpbmdSZXN1
bHQuaCIKIAogQGNsYXNzIFVJU2Nyb2xsRXZlbnQ7CiAKICNpZiBQTEFURk9STShJT1NfRkFNSUxZ
KQogCituYW1lc3BhY2UgV2ViS2l0IHsKK2VudW0gY2xhc3MgVGFwSGFuZGxpbmdSZXN1bHQgOiB1
aW50OF90OworfQorCiBAaW50ZXJmYWNlIFdLV2ViVmlldyAoV0tWaWV3SW50ZXJuYWxJT1MpCiAK
IC0gKHZvaWQpX3NldHVwU2Nyb2xsQW5kQ29udGVudFZpZXdzOwpAQCAtMTQ5LDQgKzE1NCw2IEBA
CiAKIEBlbmQKIAorX1dLVGFwSGFuZGxpbmdSZXN1bHQgd2tUYXBIYW5kbGluZ1Jlc3VsdChXZWJL
aXQ6OlRhcEhhbmRsaW5nUmVzdWx0KTsKKwogI2VuZGlmIC8vIFBMQVRGT1JNKElPU19GQU1JTFkp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lP
Uy5tbSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCmlu
ZGV4IGZkZGE3YWY3YmQ3YWJjZTE2NTM5ZmI0ZWY0Zjc2NmQ1OTA1YWEyYTMuLmY0NDg0MDg0YTE4
NDM0ZDRmY2UzZjJlYmU0NGI0NjkzNWNiYzI0MzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
VUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLm1tCkBAIC0zNSw2ICszNSw3IEBACiAjaW1wb3J0
ICJSZW1vdGVMYXllclRyZWVTY3JvbGxpbmdQZXJmb3JtYW5jZURhdGEuaCIKICNpbXBvcnQgIlJl
bW90ZUxheWVyVHJlZVZpZXdzLmgiCiAjaW1wb3J0ICJSZW1vdGVTY3JvbGxpbmdDb29yZGluYXRv
clByb3h5LmgiCisjaW1wb3J0ICJUYXBIYW5kbGluZ1Jlc3VsdC5oIgogI2ltcG9ydCAiVmlkZW9G
dWxsc2NyZWVuTWFuYWdlclByb3h5LmgiCiAjaW1wb3J0ICJWaWV3R2VzdHVyZUNvbnRyb2xsZXIu
aCIKICNpbXBvcnQgIldLQmFja0ZvcndhcmRMaXN0SXRlbUludGVybmFsLmgiCkBAIC0zMzc0LDQg
KzMzNzUsMTggQEAgQGVuZAogCiAjdW5kZWYgV0tXRUJWSUVXX1JFTEVBU0VfTE9HCiAKK19XS1Rh
cEhhbmRsaW5nUmVzdWx0IHdrVGFwSGFuZGxpbmdSZXN1bHQoV2ViS2l0OjpUYXBIYW5kbGluZ1Jl
c3VsdCByZXN1bHQpCit7CisgICAgc3dpdGNoIChyZXN1bHQpIHsKKyAgICBjYXNlIFdlYktpdDo6
VGFwSGFuZGxpbmdSZXN1bHQ6OkRpZE5vdEhhbmRsZVRhcEFzQ2xpY2s6CisgICAgICAgIHJldHVy
biBfV0tUYXBIYW5kbGluZ1Jlc3VsdERpZE5vdEhhbmRsZVRhcEFzQ2xpY2s7CisgICAgY2FzZSBX
ZWJLaXQ6OlRhcEhhbmRsaW5nUmVzdWx0OjpOb25NZWFuaW5nZnVsQ2xpY2s6CisgICAgICAgIHJl
dHVybiBfV0tUYXBIYW5kbGluZ1Jlc3VsdE5vbk1lYW5pbmdmdWxDbGljazsKKyAgICBjYXNlIFdl
YktpdDo6VGFwSGFuZGxpbmdSZXN1bHQ6Ok1lYW5pbmdmdWxDbGljazoKKyAgICAgICAgcmV0dXJu
IF9XS1RhcEhhbmRsaW5nUmVzdWx0TWVhbmluZ2Z1bENsaWNrOworICAgIH0KKyAgICBBU1NFUlRf
Tk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gX1dLVGFwSGFuZGxpbmdSZXN1bHREaWROb3RIYW5k
bGVUYXBBc0NsaWNrOworfQorCiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3UHJpdmF0ZUZv
clRlc3RpbmdJT1MuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3
UHJpdmF0ZUZvclRlc3RpbmdJT1MuaAppbmRleCBkODFhYjllNTQ3NDcwYTliYTEwZTljMTYzZmZl
ZGI2NTc2ZDZlMDA1Li44Y2JlNjZlNzFiZjMzNjhlMjAyMzcyMGI3MzU1M2NkMWIwM2ZjYTQ1IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1ByaXZh
dGVGb3JUZXN0aW5nSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9X
S1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ0lPUy5oCkBAIC0yNSw2ICsyNSw3IEBACiAKICNpbXBv
cnQgPFdlYktpdC9XS1dlYlZpZXcuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tFbGVtZW50QWN0aW9u
Lmg+CisjaW1wb3J0IDxXZWJLaXQvX1dLVGFwSGFuZGxpbmdSZXN1bHQuaD4KIAogI2lmIFRBUkdF
VF9PU19JUEhPTkUKIApAQCAtNjYsNyArNjcsNyBAQAogLSAodm9pZClfZGlkRmluaXNoVGV4dElu
dGVyYWN0aW9uSW5UZXh0SW5wdXRDb250ZXh0OihfV0tUZXh0SW5wdXRDb250ZXh0ICopY29udGV4
dDsKIC0gKHZvaWQpX3JlcXVlc3REb2N1bWVudENvbnRleHQ6KFVJV0tEb2N1bWVudFJlcXVlc3Qg
KilyZXF1ZXN0IGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShVSVdLRG9jdW1lbnRDb250ZXh0
ICopKWNvbXBsZXRpb25IYW5kbGVyOwogLSAodm9pZClfYWRqdXN0U2VsZWN0aW9uV2l0aERlbHRh
OihOU1JhbmdlKWRlbHRhUmFuZ2UgY29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWNv
bXBsZXRpb25IYW5kbGVyOwotLSAodm9pZClfZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xp
Y2tBdFBvaW50OihDR1BvaW50KXBvaW50OworLSAodm9pZClfZGlkVGFwQXRQb2ludDooQ0dQb2lu
dClwb2ludCB3aXRoUmVzdWx0OihfV0tUYXBIYW5kbGluZ1Jlc3VsdClyZXN1bHQ7CiAKIC0gKHZv
aWQpc2V0VGltZVBpY2tlclZhbHVlVG9Ib3VyOihOU0ludGVnZXIpaG91ciBtaW51dGU6KE5TSW50
ZWdlciltaW51dGU7CiAtIChkb3VibGUpdGltZVBpY2tlclZhbHVlSG91cjsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3VGVzdGluZ0lPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3VGVzdGluZ0lPUy5tbQpp
bmRleCA1M2NmNzRmOWQzNTQwZmVmMTU4OWY5MTg4NTY4NzZkNDBhMGZhZDgyLi40YzFjYjU4NGI3
ODkxY2E4MGQ4NzM4N2Q3N2EwZDk5MDhhNTY4ZDRhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1Rlc3RpbmdJT1MubW0KKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdUZXN0aW5nSU9TLm1tCkBAIC05Niw3ICs5
Niw3IEBAIC0gKHZvaWQpX2FkanVzdFNlbGVjdGlvbldpdGhEZWx0YTooTlNSYW5nZSlkZWx0YVJh
bmdlIGNvbXBsZXRpb25IYW5kbGVyOih2b2lkICheCiAjZW5kaWYKIH0KIAotLSAodm9pZClfZGlk
Tm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50OihDR1BvaW50KXBvaW50CistICh2
b2lkKV9kaWRUYXBBdFBvaW50OihDR1BvaW50KXBvaW50IHdpdGhSZXN1bHQ6KF9XS1RhcEhhbmRs
aW5nUmVzdWx0KXJlc3VsdAogewogICAgIC8vIEZvciBzdWJjbGFzc2VzIHRvIG92ZXJyaWRlLgog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5o
IGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCmluZGV4IDc4NzFl
ZDQ3MzhiNWNmYzdlNjQ3NTdmZjY0MmNmYmU1MTMwM2E0ZWIuLjg0OTkwMDY0OWEyYzZlZTExNTk1
ZDc0M2RlNWExZTZmMTg4ZjQ4ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9V
SURlbGVnYXRlLmgKQEAgLTQ4LDYgKzQ4LDggQEAgY2xhc3MgUmVnaXN0cmFibGVEb21haW47CiAK
IG5hbWVzcGFjZSBXZWJLaXQgewogCitlbnVtIGNsYXNzIFRhcEhhbmRsaW5nUmVzdWx0IDogdWlu
dDhfdDsKKwogY2xhc3MgVUlEZWxlZ2F0ZSA6IHB1YmxpYyBDYW5NYWtlV2Vha1B0cjxVSURlbGVn
YXRlPiB7CiAgICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQ7CiBwdWJsaWM6CkBAIC0xNDQsNyAr
MTQ2LDcgQEAgcHJpdmF0ZToKICNlbmRpZgogICAgICAgICBSZXRhaW5QdHI8TlNBcnJheT4gYWN0
aW9uc0ZvckVsZW1lbnQoX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgUmV0YWluUHRyPE5TQXJy
YXk+IGRlZmF1bHRBY3Rpb25zKSBmaW5hbDsKICAgICAgICAgdm9pZCBkaWROb3RIYW5kbGVUYXBB
c0NsaWNrKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgZmluYWw7Ci0gICAgICAgIHZvaWQgZGlk
Tm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JikgZmluYWw7CisgICAgICAgIHZvaWQgZGlkVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJ
bnRQb2ludCYsIFdlYktpdDo6VGFwSGFuZGxpbmdSZXN1bHQpIGZpbmFsOwogICAgICAgICBVSVZp
ZXdDb250cm9sbGVyICpwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIoKSBmaW5hbDsKICNlbmRpZiAv
LyBQTEFURk9STShJT1NfRkFNSUxZKQogCkBAIC0yMzksNiArMjQxLDcgQEAgcHJpdmF0ZToKICAg
ICAgICAgYm9vbCB3ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0aW9ucyA6IDE7CiAg
ICAgICAgIGJvb2wgd2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50IDogMTsKICAg
ICAgICAgYm9vbCB3ZWJWaWV3RGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50
IDogMTsKKyAgICAgICAgYm9vbCB3ZWJWaWV3RGlkVGFwQXRQb2ludFdpdGhSZXN1bHQgOiAxOwog
ICAgICAgICBib29sIHByZXNlbnRpbmdWaWV3Q29udHJvbGxlckZvcldlYlZpZXcgOiAxOwogI2Vu
ZGlmCiAgICAgICAgIGJvb2wgZGF0YURldGVjdGlvbkNvbnRleHRGb3JXZWJWaWV3IDogMTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0gYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCmluZGV4IGVjZjcyMTM4
NThiOGQ3YjNlYjJhNTRmM2IzYThjMTJlZWQ0YmRkODUuLjM4ODQyOTA4N2ExYTM2OGE1MmQ1OTgz
ZWQ4NjViNjEzNzNiMzM5OTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0Nv
Y29hL1VJRGVsZWdhdGUubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlE
ZWxlZ2F0ZS5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiTWVkaWFVdGlsaXRpZXMuaCIK
ICNpbXBvcnQgIk5hdGl2ZVdlYldoZWVsRXZlbnQuaCIKICNpbXBvcnQgIk5hdmlnYXRpb25BY3Rp
b25EYXRhLmgiCisjaW1wb3J0ICJUYXBIYW5kbGluZ1Jlc3VsdC5oIgogI2ltcG9ydCAiVXNlck1l
ZGlhUGVybWlzc2lvbkNoZWNrUHJveHkuaCIKICNpbXBvcnQgIlVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5LmgiCiAjaW1wb3J0ICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVz
dFByb3h5LmgiCkBAIC00Nyw2ICs0OCw3IEBACiAjaW1wb3J0ICJXS1N0b3JhZ2VBY2Nlc3NBbGVy
dC5oIgogI2ltcG9ydCA8V2ViS2l0L1dLVUlEZWxlZ2F0ZVByaXZhdGUuaD4KICNpbXBvcnQgIldL
V2ViVmlld0NvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIgorI2ltcG9ydCAiV0tXZWJWaWV3SU9TLmgi
CiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tXaW5kb3dGZWF0dXJl
c0ludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJFdmVudEZhY3RvcnkuaCIKQEAgLTE1OCw2ICsxNjAs
NyBAQCB2b2lkIFVJRGVsZWdhdGU6OnNldERlbGVnYXRlKGlkIDxXS1VJRGVsZWdhdGU+IGRlbGVn
YXRlKQogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdBY3Rpb25zRm9yRWxlbWVudERlZmF1
bHRBY3Rpb25zID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZp
ZXc6YWN0aW9uc0ZvckVsZW1lbnQ6ZGVmYXVsdEFjdGlvbnM6KV07CiAgICAgbV9kZWxlZ2F0ZU1l
dGhvZHMud2ViVmlld0RpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50ID0gW2RlbGVnYXRlIHJl
c3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGlkTm90SGFuZGxlVGFwQXNDbGlj
a0F0UG9pbnQ6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0RpZE5vdEhhbmRsZVRh
cEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKF93ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2lu
dDopXTsKKyAgICBtX2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkVGFwQXRQb2ludFdpdGhSZXN1
bHQgPSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWRU
YXBBdFBvaW50OndpdGhSZXN1bHQ6KV07CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMucHJlc2VudGlu
Z1ZpZXdDb250cm9sbGVyRm9yV2ViVmlldyA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6
QHNlbGVjdG9yKF9wcmVzZW50aW5nVmlld0NvbnRyb2xsZXJGb3JXZWJWaWV3OildOwogI2VuZGlm
CiAgICAgbV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0lzTWVkaWFDYXB0dXJlQXV0aG9yaXplZEZv
ckZyYW1lRGVjaXNpb25IYW5kbGVyID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2Vs
ZWN0b3IoX3dlYlZpZXc6Y2hlY2tVc2VyTWVkaWFQZXJtaXNzaW9uRm9yVVJMOm1haW5GcmFtZVVS
TDpmcmFtZUlkZW50aWZpZXI6ZGVjaXNpb25IYW5kbGVyOildIHx8IFtkZWxlZ2F0ZSByZXNwb25k
c1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmluY2x1ZGVTZW5zaXRpdmVNZWRpYURldmlj
ZURldGFpbHM6KV07CkBAIC0xNDEyLDE5ICsxNDE1LDIzIEBAIHZvaWQgVUlEZWxlZ2F0ZTo6VUlD
bGllbnQ6OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBv
aW50CiAgICAgW3N0YXRpY19jYXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPj4oZGVsZWdhdGUp
IF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS0+bV93ZWJWaWV3LmdldCgpLmdldCgpIGRpZE5vdEhhbmRs
ZVRhcEFzQ2xpY2tBdFBvaW50OnBvaW50XTsKIH0KIAotdm9pZCBVSURlbGVnYXRlOjpVSUNsaWVu
dDo6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50KGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiBwb2ludCkKK3ZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZFRhcEF0UG9p
bnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50LCBXZWJLaXQ6OlRhcEhhbmRsaW5nUmVz
dWx0IHJlc3VsdCkKIHsKICAgICBpZiAoIW1fdWlEZWxlZ2F0ZSkKICAgICAgICAgcmV0dXJuOwog
Ci0gICAgaWYgKCFtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWROb3RI
YW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQpCi0gICAgICAgIHJldHVybjsKLQogICAg
IGF1dG8gZGVsZWdhdGUgPSBtX3VpRGVsZWdhdGUtPm1fZGVsZWdhdGUuZ2V0KCk7CiAgICAgaWYg
KCFkZWxlZ2F0ZSkKICAgICAgICAgcmV0dXJuOwogCi0gICAgW3N0YXRpY19jYXN0PGlkIDxXS1VJ
RGVsZWdhdGVQcml2YXRlPj4oZGVsZWdhdGUpIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS0+bV93ZWJW
aWV3LmdldCgpLmdldCgpIGRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDpw
b2ludF07CisgICAgaWYgKG1fdWlEZWxlZ2F0ZS0+bV9kZWxlZ2F0ZU1ldGhvZHMud2ViVmlld0Rp
ZFRhcEF0UG9pbnRXaXRoUmVzdWx0KQorICAgICAgICBbc3RhdGljX2Nhc3Q8aWQgPFdLVUlEZWxl
Z2F0ZVByaXZhdGU+PihkZWxlZ2F0ZSkgX3dlYlZpZXc6bV91aURlbGVnYXRlLT5tX3dlYlZpZXcu
Z2V0KCkuZ2V0KCkgZGlkVGFwQXRQb2ludDpwb2ludCB3aXRoUmVzdWx0OndrVGFwSGFuZGxpbmdS
ZXN1bHQocmVzdWx0KV07CisKKyAgICBBTExPV19ERVBSRUNBVEVEX0RFQ0xBUkFUSU9OU19CRUdJ
TgorICAgIC8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIGFsbCBpbnRlcm5hbCBjbGllbnRzIGFk
b3B0IC1fd2ViVmlldzpkaWRUYXBBdFBvaW50OndpdGhSZXN1bHQ6LgorICAgIGlmIChtX3VpRGVs
ZWdhdGUtPm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdm
dWxDbGlja0F0UG9pbnQgJiYgcmVzdWx0ICE9IFdlYktpdDo6VGFwSGFuZGxpbmdSZXN1bHQ6Ok1l
YW5pbmdmdWxDbGljaykKKyAgICAgICAgW3N0YXRpY19jYXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2
YXRlPj4oZGVsZWdhdGUpIF93ZWJWaWV3Om1fdWlEZWxlZ2F0ZS0+bV93ZWJWaWV3LmdldCgpLmdl
dCgpIGRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDpwb2ludF07CisgICAg
QUxMT1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfRU5ECiB9CiAKIFVJVmlld0NvbnRyb2xsZXIg
KlVJRGVsZWdhdGU6OlVJQ2xpZW50OjpwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIoKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvUGFnZUNsaWVudC5oCmluZGV4IDY3MDQxNjRhOTUzZTBlZjQ1ZjRhODI3ODUw
M2IwZmI3OGZhNDk2N2MuLjA4Y2MyODkwMzk5MjRkMzM3NDg5MzY4ZjM2YzUwNWNjNjg4OTY3NDUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaAorKysgYi9T
b3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKQEAgLTEzNyw2ICsxMzcsNyBAQCBz
dHJ1Y3QgVHJhbnNsYXRpb25Db250ZXh0TWVudUluZm87CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
ZW51bSBjbGFzcyBVbmRvT3JSZWRvIDogYm9vbDsKK2VudW0gY2xhc3MgVGFwSGFuZGxpbmdSZXN1
bHQgOiB1aW50OF90OwogCiBjbGFzcyBDb250ZXh0TWVudUNvbnRleHREYXRhOwogY2xhc3MgRG93
bmxvYWRQcm94eTsKQEAgLTMzNyw3ICszMzgsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICNpZiBQTEFU
Rk9STShJT1NfRkFNSUxZKQogICAgIHZpcnR1YWwgdm9pZCBkaWROb3RIYW5kbGVUYXBBc0NsaWNr
KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgPSAwOwotICAgIHZpcnR1YWwgdm9pZCBkaWROb3RI
YW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQm
KSA9IDA7CisgICAgdmlydHVhbCB2b2lkIGRpZFRhcEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmLCBUYXBIYW5kbGluZ1Jlc3VsdCkgPSAwOwogICAgIHZpcnR1YWwgdm9pZCBkaWRDb21w
bGV0ZVN5bnRoZXRpY0NsaWNrKCkgPSAwOwogI2VuZGlmCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmgKaW5kZXggYjU3YzgyZmRkMGM0Nzk2YjIwNzA2YzRjMjQxZTE2MWYzMDhm
MGU5Yy4uNWQ3NDRmZWVhNWQ2ZTlhMWVkZTE1MGM0YzQwZTUxN2JkMjY1NjVhNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKKysrIGIvU291cmNlL1dl
YktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmgKQEAgLTQwNyw2ICs0MDcsNyBAQCBzdHJ1Y3Qg
V2ViUG9wdXBJdGVtOwogc3RydWN0IFdlYlNwZWVjaFN5bnRoZXNpc1ZvaWNlOwogCiBlbnVtIGNs
YXNzIEltYWdlQW5hbHlzaXNUeXBlIDogdWludDhfdDsKK2VudW0gY2xhc3MgVGFwSGFuZGxpbmdS
ZXN1bHQgOiB1aW50OF90OwogZW51bSBjbGFzcyBUZXh0UmVjb2duaXRpb25VcGRhdGVSZXN1bHQg
OiB1aW50OF90OwogZW51bSBjbGFzcyBOZWdvdGlhdGVkTGVnYWN5VExTIDogYm9vbDsKIGVudW0g
Y2xhc3MgUHJvY2Vzc1N3YXBSZXF1ZXN0ZWRCeUNsaWVudCA6IGJvb2w7CkBAIC04NDgsNyArODQ5
LDcgQEAgcHVibGljOgogICAgIHZvaWQgYXBwbGljYXRpb25XaWxsRW50ZXJGb3JlZ3JvdW5kRm9y
TWVkaWEoKTsKICAgICB2b2lkIGNvbW1pdFBvdGVudGlhbFRhcEZhaWxlZCgpOwogICAgIHZvaWQg
ZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOwotICAgIHZv
aWQgZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50KGNvbnN0IFdlYkNvcmU6
OkludFBvaW50Jik7CisgICAgdm9pZCBkaWRUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBv
aW50JiwgVGFwSGFuZGxpbmdSZXN1bHQpOwogICAgIHZvaWQgZGlkQ29tcGxldGVTeW50aGV0aWND
bGljaygpOwogICAgIHZvaWQgZGlzYWJsZURvdWJsZVRhcEdlc3R1cmVzRHVyaW5nVGFwSWZOZWNl
c3NhcnkodWludDY0X3QgcmVxdWVzdElEKTsKICAgICB2b2lkIGhhbmRsZVNtYXJ0TWFnbmlmaWNh
dGlvbkluZm9ybWF0aW9uRm9yUG90ZW50aWFsVGFwKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3Qg
V2ViQ29yZTo6RmxvYXRSZWN0JiByZW5kZXJSZWN0LCBib29sIGZpdEVudGlyZVJlY3QsIGRvdWJs
ZSB2aWV3cG9ydE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdwb3J0TWF4aW11bVNjYWxlLCBib29s
IG5vZGVJc1Jvb3RMZXZlbCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9X
ZWJQYWdlUHJveHkubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkubWVzc2FnZXMuaW4KaW5kZXggZTNiNjgwZmQ0MTcxYTVkZDY1MjUxNzQzZWY1ZjU1ODZk
NTM4Yjg3ZC4uZGI1YjU2ZWYyMzUyMDllYTE3Mzk0NjlhOTExNjE0MGUyOTc2ZDk2ZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCisr
KyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgpAQCAt
MTcwLDcgKzE3MCw3IEBAIG1lc3NhZ2VzIC0+IFdlYlBhZ2VQcm94eSB7CiAgICAgU2hvd1BsYXli
YWNrVGFyZ2V0UGlja2VyKGJvb2wgaGFzVmlkZW8sIFdlYkNvcmU6OkludFJlY3QgZWxlbWVudFJl
Y3QsIGVudW06dWludDhfdCBXZWJDb3JlOjpSb3V0ZVNoYXJpbmdQb2xpY3kgcG9saWN5LCBTdHJp
bmcgcm91dGluZ0NvbnRleHRVSUQpCiAgICAgQ29tbWl0UG90ZW50aWFsVGFwRmFpbGVkKCkKICAg
ICBEaWROb3RIYW5kbGVUYXBBc0NsaWNrKFdlYkNvcmU6OkludFBvaW50IHBvaW50KQotICAgIERp
ZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludChXZWJDb3JlOjpJbnRQb2ludCBw
b2ludCkKKyAgICBEaWRUYXBBdFBvaW50KFdlYkNvcmU6OkludFBvaW50IHBvaW50LCBlbnVtOnVp
bnQ4X3QgV2ViS2l0OjpUYXBIYW5kbGluZ1Jlc3VsdCByZXN1bHQpCiAgICAgRGlkQ29tcGxldGVT
eW50aGV0aWNDbGljaygpCiAgICAgRGlzYWJsZURvdWJsZVRhcEdlc3R1cmVzRHVyaW5nVGFwSWZO
ZWNlc3NhcnkodWludDY0X3QgcmVxdWVzdElEKQogICAgIEhhbmRsZVNtYXJ0TWFnbmlmaWNhdGlv
bkluZm9ybWF0aW9uRm9yUG90ZW50aWFsVGFwKHVpbnQ2NF90IHJlcXVlc3RJRCwgV2ViQ29yZTo6
RmxvYXRSZWN0IHJlbmRlclJlY3QsIGJvb2wgZml0RW50aXJlUmVjdCwgZG91YmxlIHZpZXdwb3J0
TWluaW11bVNjYWxlLCBkb3VibGUgdmlld3BvcnRNYXhpbXVtU2NhbGUsIGJvb2wgbm9kZUlzUm9v
dExldmVsKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MuaAppbmRleCAwOGYyNDk3OGQxYTAwMTI5NjM0YTgyYjc2MTc2ZmE3OGFjMTI1NDI1Li40NjIw
ZTc1ZDBhNTU2NTZlODIyM2JjNzA2ZDMyNWJiMDg3MTBlMDg0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MuaApAQCAtMjQ2LDcgKzI0Niw3IEBA
IHByaXZhdGU6CiAgICAgdm9pZCBkaWRGYWlsTmF2aWdhdGlvbihBUEk6Ok5hdmlnYXRpb24qKSBv
dmVycmlkZTsKICAgICB2b2lkIGRpZFNhbWVEb2N1bWVudE5hdmlnYXRpb25Gb3JNYWluRnJhbWUo
U2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUpIG92ZXJyaWRlOwogICAgIHZvaWQgZGlkTm90SGFu
ZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIG92ZXJyaWRlOwotICAgIHZv
aWQgZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50KGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JikgZmluYWw7CisgICAgdm9pZCBkaWRUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6
OkludFBvaW50JiwgVGFwSGFuZGxpbmdSZXN1bHQpIGZpbmFsOwogICAgIHZvaWQgZGlkQ29tcGxl
dGVTeW50aGV0aWNDbGljaygpIG92ZXJyaWRlOwogCiAgICAgdm9pZCBydW5Nb2RhbEphdmFTY3Jp
cHREaWFsb2coQ29tcGxldGlvbkhhbmRsZXI8dm9pZCgpPiYmIGNhbGxiYWNrKSBmaW5hbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5t
bSBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQppbmRl
eCA1NmIzMjU5ODcwOGRiYWM4OTE1NjMzNmRjMTJlZjJkMTk0ZDU5N2M4Li5mYjcxMTJjODFmZTNh
NTE0ZjdkODcyYjMxODU3NDhkOGM3NjE3ZWMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9VSVBy
b2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC00MCw2ICs0MCw3IEBACiAjaW1wb3J0
ICJOYXZpZ2F0aW9uU3RhdGUuaCIKICNpbXBvcnQgIlJ1bm5pbmdCb2FyZFNlcnZpY2VzU1BJLmgi
CiAjaW1wb3J0ICJTdHJpbmdVdGlsaXRpZXMuaCIKKyNpbXBvcnQgIlRhcEhhbmRsaW5nUmVzdWx0
LmgiCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCAiVW5kb09yUmVkby5oIgogI2ltcG9y
dCAiVmlld1NuYXBzaG90U3RvcmUuaCIKQEAgLTIzMyw5ICsyMzQsOSBAQCB2b2lkIFBhZ2VDbGll
bnRJbXBsOjpkaWROb3RIYW5kbGVUYXBBc0NsaWNrKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBw
b2ludCkKICAgICBbbV9jb250ZW50VmlldyBfZGlkTm90SGFuZGxlVGFwQXNDbGljazpwb2ludF07
CiB9CiAKLXZvaWQgUGFnZUNsaWVudEltcGw6OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQpCit2b2lkIFBhZ2VDbGll
bnRJbXBsOjpkaWRUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwgVGFw
SGFuZGxpbmdSZXN1bHQgcmVzdWx0KQogewotICAgIFttX3dlYlZpZXcgX2RpZE5vdEhhbmRsZVRh
cEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDpwb2ludF07CisgICAgW21fd2ViVmlldyBfZGlkVGFw
QXRQb2ludDpwb2ludCB3aXRoUmVzdWx0OndrVGFwSGFuZGxpbmdSZXN1bHQocmVzdWx0KV07CiB9
CiAKIHZvaWQgUGFnZUNsaWVudEltcGw6OmRpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbSBi
L1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0KaW5kZXggNTEx
M2JmZWY4MGZmMDA1MTFhNDY0NWM3MDlkNTYyMTA4ZGI1OTNjOS4uMGUxZjIxOGU3YjljZTA2NzRl
N2NiMjExMzFkZTE4NWQ5Y2FkNTZiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nl
c3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV2ViUGFnZVByb3h5SU9TLm1tCkBAIC00OSw2ICs0OSw3IEBACiAjaW1wb3J0ICJSZW1vdGVM
YXllclRyZWVUcmFuc2FjdGlvbi5oIgogI2ltcG9ydCAiUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0
b3JQcm94eS5oIgogI2ltcG9ydCAiU2hhcmVhYmxlUmVzb3VyY2UuaCIKKyNpbXBvcnQgIlRhcEhh
bmRsaW5nUmVzdWx0LmgiCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCAiVXNlckRhdGEu
aCIKICNpbXBvcnQgIlVzZXJJbnRlcmZhY2VJZGlvbS5oIgpAQCAtMTAwOSwxMCArMTAxMCwxMCBA
QCB2b2lkIFdlYlBhZ2VQcm94eTo6ZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3Jl
OjpJbnRQb2ludCYgcG9pbnQpCiAgICAgbV91aUNsaWVudC0+ZGlkTm90SGFuZGxlVGFwQXNDbGlj
ayhwb2ludCk7CiB9CiAKLXZvaWQgV2ViUGFnZVByb3h5OjpkaWROb3RIYW5kbGVUYXBBc01lYW5p
bmdmdWxDbGlja0F0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50KQordm9pZCBX
ZWJQYWdlUHJveHk6OmRpZFRhcEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50
LCBUYXBIYW5kbGluZ1Jlc3VsdCByZXN1bHQpCiB7Ci0gICAgcGFnZUNsaWVudCgpLmRpZE5vdEhh
bmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludChwb2ludCk7Ci0gICAgbV91aUNsaWVudC0+
ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50KHBvaW50KTsKKyAgICBwYWdl
Q2xpZW50KCkuZGlkVGFwQXRQb2ludChwb2ludCwgcmVzdWx0KTsKKyAgICBtX3VpQ2xpZW50LT5k
aWRUYXBBdFBvaW50KHBvaW50LCByZXN1bHQpOwogfQogICAgIAogdm9pZCBXZWJQYWdlUHJveHk6
OmRpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdC9X
ZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggOThjZTRkODM5ZTQwOGMyY2ZlMTJjOGVmNzg4
Y2Q0MTZhMjYwZGI5MS4uOTRiNWZjZTllOTYyODExZTk2MWE1YzRkYzNlZWI4MjgwYzI4NjdjYiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJLaXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agorKysgYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC0yMDQzLDYgKzIwNDMsNyBAQAogCQlGNENGMUU5RDI1RTQwRENDMDAwRjlENzMgLyogR2VzdHVy
ZVJlY29nbml6ZXJDb25zaXN0ZW5jeUVuZm9yY2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNENGMUU5QjI1RTQwRENDMDAwRjlENzMgLyogR2VzdHVy
ZVJlY29nbml6ZXJDb25zaXN0ZW5jeUVuZm9yY2VyLmggKi87IH07CiAJCUY0RDVGNTFEMjA2MDg3
QTEwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRENUY1MTkyMDYwODdBMDAwMzhC
QkE4IC8qIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmggKi87IH07CiAJCUY0RDVGNTFG
MjA2MDg3QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlckRlbGVnYXRlLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEQ1RjUxQjIw
NjA4N0ExMDAzOEJCQTggLyogV0tRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZS5oICov
OyB9OworCQlGNEQ5ODVDODI2OTBGQzEyMDBCQkNDQkUgLyogX1dLVGFwSGFuZGxpbmdSZXN1bHQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0RDk4NUM3
MjY5MEZCRUYwMEJCQ0NCRSAvKiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUY0REI1NEU2MjMxOUU3MzMwMDlF
MzE1NSAvKiBXS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNERCNTRFNDIzMTlFNzMzMDA5
RTMxNTUgLyogV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oICovOyB9Owog
CQlGNEVDOTRFMzIzNTZDQzU3MDAwQkI2MTQgLyogQXBwbGljYXRpb25TZXJ2aWNlc1NQSS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMjlEMDRFMjgyMUY3
QzczRDAwNzY3NDFEIC8qIEFwcGxpY2F0aW9uU2VydmljZXNTUEkuaCAqLzsgfTsKIAkJRjRGRTBB
M0IyNDYzMkI2MDAwMjYzMUUxIC8qIENvY29hQ29sb3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0RkUwQTNBMjQ2MzJCMTAwMDI2MzFFMSAvKiBDb2Nv
YUNvbG9yLmggKi87IH07CkBAIC02MDE5LDggKzYwMjAsMTAgQEAKIAkJRjRENUY1MTkyMDYwODdB
MDAwMzhCQkE4IC8qIFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLmg7IHBh
dGggPSBpb3MvZm9ybXMvV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRENUY1MUEyMDYwODdBMTAwMzhCQkE4IC8qIFdLVGV4dElu
cHV0TGlzdFZpZXdDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW07IHBhdGggPSBpb3MvZm9y
bXMvV0tUZXh0SW5wdXRMaXN0Vmlld0NvbnRyb2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUY0RDVGNTFCMjA2MDg3QTEwMDM4QkJBOCAvKiBXS1F1aWNrYm9hcmRWaWV3Q29u
dHJvbGxlckRlbGVnYXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLUXVp
Y2tib2FyZFZpZXdDb250cm9sbGVyRGVsZWdhdGUuaDsgcGF0aCA9IGlvcy9mb3Jtcy9XS1F1aWNr
Ym9hcmRWaWV3Q29udHJvbGxlckRlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUY0RDk4NUM3MjY5MEZCRUYwMEJCQ0NCRSAvKiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGNERCNTRFNDIzMTlFNzMzMDA5RTMxNTUgLyogV0tIaWdobGlnaHRMb25nUHJl
c3NHZXN0dXJlUmVjb2duaXplci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
S0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmg7IHBhdGggPSBpb3MvV0tIaWdo
bGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlGNERCNTRFNTIzMTlFNzMzMDA5RTMxNTUgLyogV0tIaWdobGlnaHRMb25nUHJlc3NH
ZXN0dXJlUmVjb2duaXplci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFt
ZSA9IFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIubW07IHBhdGggPSBpb3Mv
V0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5tbTsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJRjRFMkI0NEEyNjhGREUxQTAwMzI3QUJDIC8qIFRhcEhhbmRsaW5nUmVz
dWx0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFRhcEhhbmRsaW5nUmVzdWx0Lmg7IHBhdGggPSBpb3MvVGFw
SGFuZGxpbmdSZXN1bHQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjRGNTlBRDMy
MDY1QTVDOTAwNkNBQTQ2IC8qIFdLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxlci5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLU2VsZWN0TWVudUxpc3RWaWV3
Q29udHJvbGxlci5tbTsgcGF0aCA9IGlvcy9mb3Jtcy9XS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRy
b2xsZXIubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RjU5QUQ0MjA2NUE1Q0Ew
MDZDQUE0NiAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmg7IHBh
dGggPSBpb3MvZm9ybXMvV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RkUwQTNBMjQ2MzJCMTAwMDI2MzFFMSAvKiBDb2NvYUNv
bG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvY29hQ29sb3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTc3MjEsNiArNzcyNCw3IEBACiAJCQkJMUM5RUJBNUIyMDg3RTc0RTAwMDU0NDI5
IC8qIE5hdGl2ZVdlYk1vdXNlRXZlbnRJT1MubW0gKi8sCiAJCQkJMkRBOTQ0OTgxODg0RTRGMDAw
RUQ4NkRCIC8qIE5hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0gKi8sCiAJCQkJNDQ1OTk4NDEyMjgz
M0U2MDAwRTYxMzczIC8qIFN5bnRoZXRpY0VkaXRpbmdDb21tYW5kVHlwZS5oICovLAorCQkJCUY0
RTJCNDRBMjY4RkRFMUEwMDMyN0FCQyAvKiBUYXBIYW5kbGluZ1Jlc3VsdC5oICovLAogCQkJCUUz
OEExRkJFMjNBNTUxMTQwMEQyMzc0RiAvKiBVc2VySW50ZXJmYWNlSWRpb20uaCAqLywKIAkJCQlF
MzhBMUZCRjIzQTU1MUJGMDBEMjM3NEYgLyogVXNlckludGVyZmFjZUlkaW9tLm1tICovLAogCQkJ
CUY0MEQxQjY4MjIwQkRDMEYwMEI0OUEwMSAvKiBXZWJBdXRvY29ycmVjdGlvbkNvbnRleHQuaCAq
LywKQEAgLTgwODYsNiArODA5MCw3IEBACiAJCQkJMUEwMDJEM0YxOTZCMzI5NDAwQjlBRDQ0IC8q
IF9XS1Nlc3Npb25TdGF0ZS5oICovLAogCQkJCTFBMDAyRDNFMTk2QjMyOTQwMEI5QUQ0NCAvKiBf
V0tTZXNzaW9uU3RhdGUubW0gKi8sCiAJCQkJMUEwMDJENDIxOTZCMzM3MDAwQjlBRDQ0IC8qIF9X
S1Nlc3Npb25TdGF0ZUludGVybmFsLmggKi8sCisJCQkJRjREOTg1QzcyNjkwRkJFRjAwQkJDQ0JF
IC8qIF9XS1RhcEhhbmRsaW5nUmVzdWx0LmggKi8sCiAJCQkJMkRFOUIxMzgyMjMxRjYxQzAwNTI4
N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQuaCAqLywKIAkJCQkyREU5QjEzNzIyMzFGNjFDMDA1
Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4dC5tbSAqLywKIAkJCQkyREU5QjEzQjIyMzFGNzdD
MDA1Mjg3QjcgLyogX1dLVGV4dElucHV0Q29udGV4dEludGVybmFsLmggKi8sCkBAIC0xMTc2Niw2
ICsxMTc3MSw3IEBACiAJCQkJMzc2MzExRkUxQTNGQjYwMDAwNUEyRTUxIC8qIF9XS1NhbWVEb2N1
bWVudE5hdmlnYXRpb25UeXBlSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAyRDQ0
MTk2QjMzODkwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBMDAyRDQzMTk2QjMzNzAwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJRjREOTg1QzgyNjkwRkMxMjAwQkJDQ0JFIC8qIF9XS1RhcEhhbmRs
aW5nUmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQkyREU5QjEzQTIyMzFGNjFDMDA1Mjg3Qjcg
LyogX1dLVGV4dElucHV0Q29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRFOUIxM0MyMjMx
Rjc3QzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHRJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOUI1NDk5QUQyMzYyQTZGOTAwREY4QkE1IC8qIF9XS1RleHRNYW5pcHVsYXRpb25D
b25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQv
V2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdC9XZWJQ
cm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KaW5kZXggYTQwODVhN2FjODY3NzAyMGZi
YzYyZTA3NDIwMmJhNDJkNzI5ZTg1My4uODU3MDExYjRkMmMyYjFiMjMyNmNkNmVhYTZhZjBkNmRj
ZTE0NDQ4YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KKysrIGIvU291cmNlL1dlYktpdC9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9z
L1dlYlBhZ2VJT1MubW0KQEAgLTQ1LDYgKzQ1LDcgQEAKICNpbXBvcnQgIlNoYXJlYWJsZUJpdG1h
cFV0aWxpdGllcy5oIgogI2ltcG9ydCAiU2hhcmVkTWVtb3J5LmgiCiAjaW1wb3J0ICJTeW50aGV0
aWNFZGl0aW5nQ29tbWFuZFR5cGUuaCIKKyNpbXBvcnQgIlRhcEhhbmRsaW5nUmVzdWx0LmgiCiAj
aW1wb3J0ICJUZXh0Q2hlY2tpbmdDb250cm9sbGVyUHJveHkuaCIKICNpbXBvcnQgIlVJS2l0U1BJ
LmgiCiAjaW1wb3J0ICJVc2VyRGF0YS5oIgpAQCAtOTAyLDI0ICs5MDMsMjMgQEAgdm9pZCBXZWJQ
YWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKE5vZGUmIG5vZGVSZXNwb25kaW5nVG9DbGljaywg
Y29uc3QgV2ViQ29yZToKICAgICBpZiAobV9pc0Nsb3NlZCkKICAgICAgICAgcmV0dXJuOwogCi0g
ICAgYm9vbCBzaG91bGREaXNwYXRjaERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQ
b2ludCA9IChbJl0geworICAgIGF1dG8gdGFwSGFuZGxpbmdSZXN1bHQgPSAoWyZdIHsKICAgICAg
ICAgaWYgKCFtX2N1cnJlbnRTeW50aGV0aWNDbGlja01heU5vdEJlTWVhbmluZ2Z1bCkKLSAgICAg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgIHJldHVybiBUYXBIYW5kbGluZ1Jlc3Vs
dDo6TWVhbmluZ2Z1bENsaWNrOwogCiAgICAgICAgIGlmIChvbGRGb2N1c2VkRWxlbWVudCAhPSBu
ZXdGb2N1c2VkRWxlbWVudCkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgICAg
IHJldHVybiBUYXBIYW5kbGluZ1Jlc3VsdDo6TWVhbmluZ2Z1bENsaWNrOwogCiAgICAgICAgIGlm
IChpczxIVE1MVGV4dEZvcm1Db250cm9sRWxlbWVudD4obm9kZVJlc3BvbmRpbmdUb0NsaWNrKSB8
fCBub2RlUmVzcG9uZGluZ1RvQ2xpY2suaGFzRWRpdGFibGVTdHlsZSgpKQotICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICAgICAgcmV0dXJuIFRhcEhhbmRsaW5nUmVzdWx0OjpNZWFu
aW5nZnVsQ2xpY2s7CiAKICAgICAgICAgaWYgKGlzUHJvYmFibHlNZWFuaW5nZnVsQ2xpY2sobm9k
ZVJlc3BvbmRpbmdUb0NsaWNrKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
ICAgIHJldHVybiBUYXBIYW5kbGluZ1Jlc3VsdDo6TWVhbmluZ2Z1bENsaWNrOwogCi0gICAgICAg
IHJldHVybiB0cnVlOworICAgICAgICByZXR1cm4gVGFwSGFuZGxpbmdSZXN1bHQ6Ok5vbk1lYW5p
bmdmdWxDbGljazsKICAgICB9KSgpOwogCi0gICAgaWYgKHNob3VsZERpc3BhdGNoRGlkTm90SGFu
ZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50KQotICAgICAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludChyb3Vu
ZGVkSW50UG9pbnQobG9jYXRpb24pKSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5
OjpEaWRUYXBBdFBvaW50KHJvdW5kZWRJbnRQb2ludChsb2NhdGlvbiksIHRhcEhhbmRsaW5nUmVz
dWx0KSk7CiAKICAgICBpZiAoIXRhcFdhc0hhbmRsZWQgfHwgIW5vZGVSZXNwb25kaW5nVG9DbGlj
ay5pc0VsZW1lbnROb2RlKCkpCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkTm90SGFuZGxlVGFwQXNDbGljayhyb3VuZGVkSW50UG9pbnQobG9jYXRpb24pKSk7CkBAIC05
MzUsNyArOTM1LDcgQEAgdm9pZCBXZWJQYWdlOjphdHRlbXB0U3ludGhldGljQ2xpY2soY29uc3Qg
SW50UG9pbnQmIHBvaW50LCBPcHRpb25TZXQ8V2ViRXZlbnQ6Ok0KICAgICBJbnRQb2ludCBhZGp1
c3RlZEludFBvaW50ID0gcm91bmRlZEludFBvaW50KGFkanVzdGVkUG9pbnQpOwogCiAgICAgaWYg
KCFmcmFtZVJlc3BvbmRpbmdUb0NsaWNrIHx8IGxhc3RMYXllclRyZWVUcmFuc2FjdGlvbklkIDwg
V2ViRnJhbWU6OmZyb21Db3JlRnJhbWUoKmZyYW1lUmVzcG9uZGluZ1RvQ2xpY2spLT5maXJzdExh
eWVyVHJlZVRyYW5zYWN0aW9uSURBZnRlckRpZENvbW1pdExvYWQoKSkgewotICAgICAgICBzZW5k
KE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNr
QXRQb2ludChhZGp1c3RlZEludFBvaW50KSk7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBh
Z2VQcm94eTo6RGlkVGFwQXRQb2ludChhZGp1c3RlZEludFBvaW50LCBUYXBIYW5kbGluZ1Jlc3Vs
dDo6RGlkTm90SGFuZGxlVGFwQXNDbGljaykpOwogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soYWRqdXN0ZWRJbnRQb2ludCkpOwogICAg
IH0gZWxzZSBpZiAobV9pbnRlcmFjdGlvbk5vZGUgPT0gbm9kZVJlc3BvbmRpbmdUb0NsaWNrKQog
ICAgICAgICBjb21wbGV0ZVN5bnRoZXRpY0NsaWNrKCpub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGFk
anVzdGVkUG9pbnQsIG1vZGlmaWVycywgV2ViQ29yZTo6T25lRmluZ2VyVGFwKTsKQEAgLTExNDMs
NyArMTE0Myw3IEBAIHZvaWQgV2ViUGFnZTo6aGFuZGxlVHdvRmluZ2VyVGFwQXRQb2ludChjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQsIE9wdGlvblNlCiAgICAgTm9kZSogbm9kZVJlc3Bv
bmRpbmdUb0NsaWNrID0gbV9wYWdlLT5tYWluRnJhbWUoKS5ub2RlUmVzcG9uZGluZ1RvQ2xpY2tF
dmVudHMocG9pbnQsIGFkanVzdGVkUG9pbnQpOwogICAgIGlmICghbm9kZVJlc3BvbmRpbmdUb0Ns
aWNrIHx8ICFub2RlUmVzcG9uZGluZ1RvQ2xpY2stPnJlbmRlcmVyKCkpIHsKICAgICAgICAgYXV0
byBhZGp1c3RlZEludFBvaW50ID0gcm91bmRlZEludFBvaW50KGFkanVzdGVkUG9pbnQpOwotICAg
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZE5vdEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrQXRQb2ludChhZGp1c3RlZEludFBvaW50KSk7CisgICAgICAgIHNlbmQoTWVzc2Fn
ZXM6OldlYlBhZ2VQcm94eTo6RGlkVGFwQXRQb2ludChhZGp1c3RlZEludFBvaW50LCBUYXBIYW5k
bGluZ1Jlc3VsdDo6RGlkTm90SGFuZGxlVGFwQXNDbGljaykpOwogICAgICAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OkRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soYWRqdXN0ZWRJbnRQb2lu
dCkpOwogICAgICAgICByZXR1cm47CiAgICAgfQpAQCAtMTIyMSw3ICsxMjIxLDcgQEAgdm9pZCBX
ZWJQYWdlOjpjb21taXRQb3RlbnRpYWxUYXBGYWlsZWQoKQogICAgIHNlbmQoTWVzc2FnZXM6Oldl
YlBhZ2VQcm94eTo6Q29tbWl0UG90ZW50aWFsVGFwRmFpbGVkKCkpOwogCiAgICAgYXV0byBhZGp1
c3RlZEludFBvaW50ID0gcm91bmRlZEludFBvaW50KG1fcG90ZW50aWFsVGFwTG9jYXRpb24pOwot
ICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkTm90SGFuZGxlVGFwQXNNZWFuaW5n
ZnVsQ2xpY2tBdFBvaW50KGFkanVzdGVkSW50UG9pbnQpKTsKKyAgICBzZW5kKE1lc3NhZ2VzOjpX
ZWJQYWdlUHJveHk6OkRpZFRhcEF0UG9pbnQoYWRqdXN0ZWRJbnRQb2ludCwgVGFwSGFuZGxpbmdS
ZXN1bHQ6OkRpZE5vdEhhbmRsZVRhcEFzQ2xpY2spKTsKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
YWdlUHJveHk6OkRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soYWRqdXN0ZWRJbnRQb2ludCkpOwogfQog
CmRpZmYgLS1naXQgYS9Ub29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggODQ5
NTczNzY2ZWMzZjBiYjllN2Y1M2U1NWYzZmUzY2ZmNDEzZjU0NS4uYmY2NzhiOWM0OWFlZjhmZmJh
Mjg0MWRjZjYyNDM4MjdkYWM1MjJkMyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBi
L1Rvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDM5IEBACisyMDIxLTA3LTAzICBXZW5zb24gSHNp
ZWggIDx3ZW5zb25faHNpZWhAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIEF1Z21lbnQgLV93
ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDogdG8gaW5jbHVk
ZSBtZWFuaW5nZnVsIHRhcHMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTIyNzY2NgorICAgICAgICByZGFyOi8vODAwOTQ5NjIKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGhlIGxheW91dCB0ZXN0
IGhhcm5lc3MgdG8gdXNlIHRoZSByZXBsYWNlbWVudCBTUEkgaW5zdGVhZCBvZiB0aGUgbmV3bHkg
ZGVwcmVjYXRlZCBTUEkuIFNlZQorICAgICAgICBXZWJLaXQvQ2hhbmdlTG9nIGZvciBtb3JlIGRl
dGFpbHMuCisKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0JpbmRp
bmdzL1Rlc3RSdW5uZXIuaWRsOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwOgorICAgICAgICAoV1RSOjpJbmplY3RlZEJ1bmRsZTo6
ZGlkUmVjZWl2ZU1lc3NhZ2VUb1BhZ2UpOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5q
ZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHA6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6Omlu
c3RhbGxEaWRIYW5kbGVUYXBDYWxsYmFjayk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6OmNh
bGxEaWRIYW5kbGVUYXBDYWxsYmFjayk6CisgICAgICAgIChXVFI6OlRlc3RSdW5uZXI6Omluc3Rh
bGxEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrKTogRGVsZXRlZC4KKyAg
ICAgICAgKFdUUjo6VGVzdFJ1bm5lcjo6Y2FsbERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrQ2FsbGJhY2spOiBEZWxldGVkLgorCisgICAgICAgIFJlbmFtZSB0aGlzIHRvIGp1c3QgRGlk
SGFuZGxlVGFwQ2FsbGJhY2ssIGFuZCBtYWtlIGl0IHRha2UgYSBib29sZWFuIGFyZ3VtZW50IGlu
ZGljYXRpbmcgd2hldGhlciB0aGUgdGFwIHdhcworICAgICAgICBoYW5kbGVkIGFzIGEgbWVhbmlu
Z2Z1bCBjbGljay4KKworICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUv
VGVzdFJ1bm5lci5oOgorICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIu
Y3BwOgorICAgICAgICAoV1RSOjpUZXN0Q29udHJvbGxlcjo6ZGlkSGFuZGxlVGFwKToKKyAgICAg
ICAgKFdUUjo6VGVzdENvbnRyb2xsZXI6OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNr
KTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmg6
CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHA6CisgICAgICAg
IChXVFI6OlRlc3RJbnZvY2F0aW9uOjpkaWRIYW5kbGVUYXApOgorICAgICAgICAoV1RSOjpUZXN0
SW52b2NhdGlvbjo6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2spOiBEZWxldGVkLgor
ICAgICAgICAqIFdlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaDoKKyAgICAgICAgKiBX
ZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5uZXJXS1dlYlZpZXcubW06CisgICAgICAgICgt
W1Rlc3RSdW5uZXJXS1dlYlZpZXcgX2RpZFRhcEF0UG9pbnQ6d2l0aFJlc3VsdDpdKToKKyAgICAg
ICAgKC1bVGVzdFJ1bm5lcldLV2ViVmlldyBfZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xp
Y2tBdFBvaW50Ol0pOiBEZWxldGVkLgorCiAyMDIxLTA3LTAxICBKb25hdGhhbiBCZWRhcmQgIDxq
YmVkYXJkQGFwcGxlLmNvbT4KIAogICAgICAgICBbY2xlYW4td2Via2l0XSBFeGNsdWRlIGF1dG9p
bnN0YWxsZWQgZGlyZWN0b3J5CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVyLmlkbAppbmRleCA0ZGExM2Ix
NTM0NDU5NWYxNDc2ZTE3NTg2ZDkxNjhhNWNkMTNmMjI5Li5lZjUyMTI2MDMwMjA5MGE3OTM1MzZm
ZmUxN2UzNzJlMjAxOTIyZWI4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0lu
amVjdGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCisrKyBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKQEAgLTI1OCw3
ICsyNTgsNyBAQCBpbnRlcmZhY2UgVGVzdFJ1bm5lciB7CiAgICAgb2JqZWN0IG5ldmVySW5saW5l
RnVuY3Rpb24ob2JqZWN0IGZ1bmN0aW9uKTsKIAogICAgIC8vIFVJIGRlbGVnYXRlIGhvb2tzLgot
ICAgIHVuZGVmaW5lZCBpbnN0YWxsRGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxs
YmFjayhvYmplY3QgY2FsbGJhY2spOworICAgIHVuZGVmaW5lZCBpbnN0YWxsRGlkSGFuZGxlVGFw
Q2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsKIAogICAgIC8vIFN3aXBlIGdlc3R1cmVzCiAgICAg
dW5kZWZpbmVkIGluc3RhbGxEaWRCZWdpblN3aXBlQ2FsbGJhY2sob2JqZWN0IGNhbGxiYWNrKTsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZS5jcHAKaW5kZXggNjdiMzUzZjMwMGZmYmY2NWQzNDQ2YzJlNGQ4MjEyMDVlNjNl
MTdhNy4uYjlmNGJiMmNjNzk5OTAwZjI5NjY3ZjdiNTU0ZjBlMGM0NzE5ZDY5ZCAxMDA2NDQKLS0t
IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAKQEAgLTI2NSw4ICsyNjUsMTAgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6ZGlkUmVj
ZWl2ZU1lc3NhZ2VUb1BhZ2UoV0tCdW5kbGVQYWdlUmVmIHBhZ2UsIFdLU3RyaW5nUmVmIG0KICAg
ICAgICAgcmV0dXJuOwogICAgIH0KIAotICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3Ry
aW5nKG1lc3NhZ2VOYW1lLCAiQ2FsbERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2Fs
bGJhY2siKSkgewotICAgICAgICBtX3Rlc3RSdW5uZXItPmNhbGxEaWROb3RIYW5kbGVUYXBBc01l
YW5pbmdmdWxDbGlja0NhbGxiYWNrKCk7CisgICAgaWYgKFdLU3RyaW5nSXNFcXVhbFRvVVRGOENT
dHJpbmcobWVzc2FnZU5hbWUsICJDYWxsRGlkSGFuZGxlVGFwQ2FsbGJhY2siKSkgeworICAgICAg
ICBBU1NFUlQobWVzc2FnZUJvZHkpOworICAgICAgICBBU1NFUlQoV0tHZXRUeXBlSUQobWVzc2Fn
ZUJvZHkpID09IFdLQm9vbGVhbkdldFR5cGVJRCgpKTsKKyAgICAgICAgbV90ZXN0UnVubmVyLT5j
YWxsRGlkSGFuZGxlVGFwQ2FsbGJhY2soV0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tC
b29sZWFuUmVmPihtZXNzYWdlQm9keSkpKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KIApkaWZm
IC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVy
LmNwcCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5j
cHAKaW5kZXggM2Y3MmFjMmE0ODE0NmUzMDE0ODJkZDJlZDRlYmMxOTJmZjU1NWQzMS4uYWY1MTEw
YTA4YzJiOWUzNWE3ZTdmNzY4ZGVmNWQ3YzlkM2M5OTE3OSAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcAorKysgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCkBAIC02NDYsNyAr
NjQ2LDcgQEAgZW51bSB7CiAgICAgRW50ZXJGdWxsc2NyZWVuRm9yRWxlbWVudENhbGxiYWNrSUQs
CiAgICAgRXhpdEZ1bGxzY3JlZW5Gb3JFbGVtZW50Q2FsbGJhY2tJRCwKICAgICBBcHBCb3VuZFJl
cXVlc3RDb250ZXh0RGF0YUZvckRvbWFpbkNhbGxiYWNrSUQsCi0gICAgRGlkTm90SGFuZGxlVGFw
QXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFja0lELAorICAgIERpZEhhbmRsZVRhcENhbGxiYWNrSUQs
CiAgICAgRmlyc3RVSVNjcmlwdENhbGxiYWNrSUQgPSAxMDAKIH07CiAKQEAgLTExMDcsMTQgKzEx
MDcsMTUgQEAgdm9pZCBUZXN0UnVubmVyOjppbnN0YWxsQ3VzdG9tTWVudUFjdGlvbihKU1N0cmlu
Z1JlZiBuYW1lLCBib29sIGRpc21pc3Nlc0F1dG9tYXQKICAgICB9KSk7CiB9CiAKLXZvaWQgVGVz
dFJ1bm5lcjo6aW5zdGFsbERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2so
SlNWYWx1ZVJlZiBjYWxsYmFjaykKK3ZvaWQgVGVzdFJ1bm5lcjo6aW5zdGFsbERpZEhhbmRsZVRh
cENhbGxiYWNrKEpTVmFsdWVSZWYgY2FsbGJhY2spCiB7Ci0gICAgY2FjaGVUZXN0UnVubmVyQ2Fs
bGJhY2soRGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFja0lELCBjYWxsYmFj
ayk7CisgICAgY2FjaGVUZXN0UnVubmVyQ2FsbGJhY2soRGlkSGFuZGxlVGFwQ2FsbGJhY2tJRCwg
Y2FsbGJhY2spOwogfQogCi12b2lkIFRlc3RSdW5uZXI6OmNhbGxEaWROb3RIYW5kbGVUYXBBc01l
YW5pbmdmdWxDbGlja0NhbGxiYWNrKCkKK3ZvaWQgVGVzdFJ1bm5lcjo6Y2FsbERpZEhhbmRsZVRh
cENhbGxiYWNrKGJvb2wgd2FzTWVhbmluZ2Z1bCkKIHsKLSAgICBjYWxsVGVzdFJ1bm5lckNhbGxi
YWNrKERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2tJRCk7CisgICAgYXV0
byByZXN1bHQgPSBKU1ZhbHVlTWFrZUJvb2xlYW4obWFpbkZyYW1lSlNDb250ZXh0KCksIHdhc01l
YW5pbmdmdWwpOworICAgIGNhbGxUZXN0UnVubmVyQ2FsbGJhY2soRGlkSGFuZGxlVGFwQ2FsbGJh
Y2tJRCwgMSwgJnJlc3VsdCk7CiB9CiAKIHZvaWQgVGVzdFJ1bm5lcjo6aW5zdGFsbERpZEJlZ2lu
U3dpcGVDYWxsYmFjayhKU1ZhbHVlUmVmIGNhbGxiYWNrKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmggYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaAppbmRleCAxYmU2NjNkOGVkODFj
MzkwYzFkOGI5YzZjYjYxMDBkYmE4NDUxNDI2Li5kM2E1OGM5ODAzYzUzZDBiODg5Y2FhNjJjNThm
YmEwZjQ5NmY2MzVhIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuaAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVk
QnVuZGxlL1Rlc3RSdW5uZXIuaApAQCAtMzQ1LDggKzM0NSw4IEBAIHB1YmxpYzoKICAgICB2b2lk
IGluc3RhbGxDdXN0b21NZW51QWN0aW9uKEpTU3RyaW5nUmVmIG5hbWUsIGJvb2wgZGlzbWlzc2Vz
QXV0b21hdGljYWxseSwgSlNWYWx1ZVJlZiBjYWxsYmFjayk7CiAgICAgdm9pZCBwZXJmb3JtQ3Vz
dG9tTWVudUFjdGlvbigpOwogCi0gICAgdm9pZCBpbnN0YWxsRGlkTm90SGFuZGxlVGFwQXNNZWFu
aW5nZnVsQ2xpY2tDYWxsYmFjayhKU1ZhbHVlUmVmKTsKLSAgICB2b2lkIGNhbGxEaWROb3RIYW5k
bGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrKCk7CisgICAgdm9pZCBpbnN0YWxsRGlkSGFu
ZGxlVGFwQ2FsbGJhY2soSlNWYWx1ZVJlZik7CisgICAgdm9pZCBjYWxsRGlkSGFuZGxlVGFwQ2Fs
bGJhY2soYm9vbCB3YXNNZWFuaW5nZnVsKTsKIAogICAgIHZvaWQgaW5zdGFsbERpZEJlZ2luU3dp
cGVDYWxsYmFjayhKU1ZhbHVlUmVmKTsKICAgICB2b2lkIGluc3RhbGxXaWxsRW5kU3dpcGVDYWxs
YmFjayhKU1ZhbHVlUmVmKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVz
dENvbnRyb2xsZXIuY3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5j
cHAKaW5kZXggY2ZjOWM0NDgzYzgyNWQ5MTNlZDI3YTRkNTU4ODRmMjQyZDc2ZjAwMi4uODRhYzAz
OTA0MzVlZmQwOWIzMTk3M2QxM2UwMDRhYmRhNjFjYWY2NCAxMDA2NDQKLS0tIGEvVG9vbHMvV2Vi
S2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1
bm5lci9UZXN0Q29udHJvbGxlci5jcHAKQEAgLTIyMTIsOSArMjIxMiw5IEBAIHZvaWQgVGVzdENv
bnRyb2xsZXI6OndlYlByb2Nlc3NEaWRUZXJtaW5hdGUoV0tQcm9jZXNzVGVybWluYXRpb25SZWFz
b24gcmVhc29uKQogICAgICAgICBleGl0KDEpOwogfQogCi12b2lkIFRlc3RDb250cm9sbGVyOjpk
aWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljaygpCit2b2lkIFRlc3RDb250cm9sbGVyOjpk
aWRIYW5kbGVUYXAoYm9vbCB3YXNNZWFuaW5nZnVsKQogewotICAgIG1fY3VycmVudEludm9jYXRp
b24tPmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrKCk7CisgICAgbV9jdXJyZW50SW52
b2NhdGlvbi0+ZGlkSGFuZGxlVGFwKHdhc01lYW5pbmdmdWwpOwogfQogCiB2b2lkIFRlc3RDb250
cm9sbGVyOjpkaWRCZWdpbk5hdmlnYXRpb25HZXN0dXJlKFdLUGFnZVJlZikKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaCBiL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaAppbmRleCBiYzBlYzUyNjkzNDczNjFjMzE1ZTZlNGQw
N2RiODFhYmI2YjQ3YzZlLi45MjBlODIyOGFiODZmMzQyNTIzMjBlYjM2NmE1Yzc5NmQyYzA1NDIy
IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmgKKysr
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCkBAIC0zNjMsNyArMzYz
LDcgQEAgcHVibGljOgogICAgIHZvaWQgY29tcGxldGVNZWRpYUtleVN5c3RlbVBlcm1pc3Npb25D
aGVjayhXS01lZGlhS2V5U3lzdGVtUGVybWlzc2lvbkNhbGxiYWNrUmVmKTsKICAgICB2b2lkIHNl
dElzTWVkaWFLZXlTeXN0ZW1QZXJtaXNzaW9uR3JhbnRlZChib29sKTsKIAotICAgIHZvaWQgZGlk
Tm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2soKTsKKyAgICB2b2lkIGRpZEhhbmRsZVRhcChi
b29sIHdhc01lYW5pbmdmdWwpOwogCiBwcml2YXRlOgogICAgIFdLUmV0YWluUHRyPFdLUGFnZUNv
bmZpZ3VyYXRpb25SZWY+IGdlbmVyYXRlUGFnZUNvbmZpZ3VyYXRpb24oY29uc3QgVGVzdE9wdGlv
bnMmKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24u
Y3BwIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52b2NhdGlvbi5jcHAKaW5kZXggNWQz
MjcyMzkyYmVlMTBjN2JjZWVhZDRjM2Y5MjE0NmUxZWI5M2VhMC4uNTk4MTUzYWEzNDI1NzU0YjEx
ZDIxZWQ0ZGZiMDFhNWUzYjlkNmMyZCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9UZXN0SW52b2NhdGlvbi5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5jcHAKQEAgLTE0NDUsOSArMTQ0NSwxMCBAQCB2b2lkIFRlc3RJbnZvY2F0aW9uOjpv
dXRwdXRUZXh0KGNvbnN0IFdURjo6U3RyaW5nJiB0ZXh0KQogICAgIG1fdGV4dE91dHB1dC5hcHBl
bmQodGV4dCk7CiB9CiAKLXZvaWQgVGVzdEludm9jYXRpb246OmRpZE5vdEhhbmRsZVRhcEFzTWVh
bmluZ2Z1bENsaWNrKCkKK3ZvaWQgVGVzdEludm9jYXRpb246OmRpZEhhbmRsZVRhcChib29sIHdh
c01lYW5pbmdmdWwpCiB7Ci0gICAgcG9zdFBhZ2VNZXNzYWdlKCJDYWxsRGlkTm90SGFuZGxlVGFw
QXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayIpOworICAgIGF1dG8gbWVzc2FnZUJvZHkgPSBhZG9w
dFdLKFdLQm9vbGVhbkNyZWF0ZSh3YXNNZWFuaW5nZnVsKSk7CisgICAgcG9zdFBhZ2VNZXNzYWdl
KCJDYWxsRGlkSGFuZGxlVGFwQ2FsbGJhY2siLCBtZXNzYWdlQm9keSk7CiB9CiAKIHZvaWQgVGVz
dEludm9jYXRpb246OmRpZEJlZ2luU3dpcGUoKQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0SW52b2NhdGlvbi5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0SW52
b2NhdGlvbi5oCmluZGV4IGE4Yzg1NGUyNzY3ZDY5ODI2ZWQ5NzYzM2I3MWUzMjU4MWU4NmYyODYu
LjA0ZjA5M2YwZTdmY2IzMTNkYjAyM2QwYTNhNDJjZjgyYzdmNjdiODggMTAwNjQ0Ci0tLSBhL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAorKysgYi9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKQEAgLTY0LDcgKzY0LDcgQEAgcHVibGljOgogICAg
IHN0YXRpYyB2b2lkIGR1bXBXZWJQcm9jZXNzVW5yZXNwb25zaXZlbmVzcyhjb25zdCBjaGFyKiBl
cnJvck1lc3NhZ2UpOwogICAgIHZvaWQgb3V0cHV0VGV4dChjb25zdCBTdHJpbmcmKTsKIAotICAg
IHZvaWQgZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2soKTsKKyAgICB2b2lkIGRpZEhh
bmRsZVRhcChib29sIHdhc01lYW5pbmdmdWwpOwogCiAgICAgdm9pZCBkaWRCZWdpblN3aXBlKCk7
CiAgICAgdm9pZCB3aWxsRW5kU3dpcGUoKTsKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbSBiL1Rvb2xzL1dlYktpdFRlc3RSdW5u
ZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5tbQppbmRleCBkN2JhNGJlZjZmYjg5Y2RkNjk2
YmIxOTcwNDFjZTQ4YjFlMmRmY2QzLi4zYTliZjM5MmQxZjQ5YTU5N2YzODUyZjM0ZDYyY2JiMzc1
ZmY4OTBkIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RSdW5u
ZXJXS1dlYlZpZXcubW0KKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVu
bmVyV0tXZWJWaWV3Lm1tCkBAIC0zOTksOSArMzk5LDkgQEAgLSAodm9pZClfZGlkRGlzbWlzc1Bv
cG92ZXIKICAgICAgICAgc2VsZi5kaWREaXNtaXNzUG9wb3ZlckNhbGxiYWNrKCk7CiB9CiAKLS0g
KHZvaWQpX2RpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDooQ0dQb2ludClw
b2ludAorLSAodm9pZClfZGlkVGFwQXRQb2ludDooQ0dQb2ludClwb2ludCB3aXRoUmVzdWx0Oihf
V0tUYXBIYW5kbGluZ1Jlc3VsdClyZXN1bHQKIHsKLSAgICBXVFI6OlRlc3RDb250cm9sbGVyOjpz
aW5nbGV0b24oKS5kaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljaygpOworICAgIFdUUjo6
VGVzdENvbnRyb2xsZXI6OnNpbmdsZXRvbigpLmRpZEhhbmRsZVRhcChyZXN1bHQgPT0gX1dLVGFw
SGFuZGxpbmdSZXN1bHRNZWFuaW5nZnVsQ2xpY2spOwogfQogCiAtICh2b2lkKXNjcm9sbFZpZXdX
aWxsQmVnaW5ab29taW5nOihVSVNjcm9sbFZpZXcgKilzY3JvbGxWaWV3IHdpdGhWaWV3OihVSVZp
ZXcgKil2aWV3CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKaW5kZXggY2ZkN2E3YzU3N2QxYzI3MjdmNDA2YmMzZjg4ZTljNmU2ZmVjYzA3
Yi4uNWU5YmQxN2I2MDgwOWU4YTdlYzMxZjc0NTI4NWVlZDhhOWE2NDJlOCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDIzIEBACisyMDIxLTA3LTAzICBXZW5zb24gSHNpZWggIDx3ZW5zb25faHNpZWhAYXBwbGUu
Y29tPgorCisgICAgICAgIFtpT1NdIEF1Z21lbnQgLV93ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFz
TWVhbmluZ2Z1bENsaWNrQXRQb2ludDogdG8gaW5jbHVkZSBtZWFuaW5nZnVsIHRhcHMKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIyNzY2NgorICAgICAg
ICByZGFyOi8vODAwOTQ5NjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBVcGRhdGUgdGhlIGV4aXN0aW5nIGxheW91dCB0ZXN0cy4gVGhlIG5ldyBVSSBk
ZWxlZ2F0ZSBtZXRob2Qgc2hvdWxkIG5vdyBiZSBpbnZva2VkIGluIGFsbCBvZiB0aGUgY2FzZXM7
IGhvd2V2ZXIsCisgICAgICAgIHdlIHNob3VsZCBvbmx5IG9ic2VydmUgbWVhbmluZ2Z1bCBjbGlj
a3MgaW4gc29tZSBvZiB0aGUgYmVsb3cgc2NlbmFyaW9zLiBTZWUgV2ViS2l0L0NoYW5nZUxvZyBm
b3IgbW9yZSBkZXRhaWxzLgorCisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL2RpZC1ub3QtaGFu
ZGxlLW1lYW5pbmdmdWwtY2xpY2stZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRz
L2lvcy9kaWQtbm90LWhhbmRsZS1tZWFuaW5nZnVsLWNsaWNrLmh0bWw6CisgICAgICAgICogZmFz
dC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1mb2N1c2luZy1ib2R5LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLWZv
Y3VzaW5nLWJvZHkuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1j
bGljay13aGVuLXBsYXlpbmctbWVkaWEtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZl
bnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS5odG1sOgorICAgICAg
ICAqIGZhc3QvZXZlbnRzL2lvcy9ub24tbWVhbmluZ2Z1bC1jbGljay13aGVuLXRhcHBpbmctZG9j
dW1lbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvZXZlbnRzL2lvcy9ub24tbWVhbmlu
Z2Z1bC1jbGljay13aGVuLXRhcHBpbmctZG9jdW1lbnQuaHRtbDoKKwogMjAyMS0wNy0wMSAgQ2Ft
ZXJvbiBNY0Nvcm1hY2sgIDxoZXljYW1AYXBwbGUuY29tPgogCiAgICAgICAgIE1vdmUgc29tZSBN
YWMgTWF0aE1MIHRlc3QgZXhwZWN0YXRpb24gZmlsZXMgYXJvdW5kCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvZGlkLW5vdC1oYW5kbGUtbWVhbmluZ2Z1bC1jbGljay1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvZGlkLW5vdC1oYW5kbGUt
bWVhbmluZ2Z1bC1jbGljay1leHBlY3RlZC50eHQKaW5kZXggYTQ2NzA1OTZiMjg5ZmRjMGQzOTQ3
MGMwYzY2NzA3NDdkY2NkNTA1Ny4uNTc1MTljNWQ3MWE1OGJiZjYwMzdhMmRjMWI4YWQxMjJhYmJl
YWY0OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2RpZC1ub3QtaGFu
ZGxlLW1lYW5pbmdmdWwtY2xpY2stZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2lvcy9kaWQtbm90LWhhbmRsZS1tZWFuaW5nZnVsLWNsaWNrLWV4cGVjdGVkLnR4dApA
QCAtMiwxMSArMiwxNSBAQCBUaGlzIHRlc3QgaXMgaW50ZW5kZWQgdG8gZXhlcmNpc2UgdGhlICdt
ZWFuaW5nZnVsIGNsaWNrJyBoZXVyaXN0aWMsIGFuZCByZXF1aXJlcwogCiBPbiBzdWNjZXNzLCB5
b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVT
VCBDT01QTEVURSIuCiAKLVBBU1MgZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxs
YmFjayBpcyB0cnVlCitQQVNTIGRpZEhhbmRsZVRhcCBpcyB0cnVlCitQQVNTIGRpZEhhbmRsZVRh
cEFzTWVhbmluZ2Z1bENsaWNrIGlzIGZhbHNlCiBQQVNTIGNsaWNrZWQgb24gYnV0dG9uCi1QQVNT
IGRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgaXMgZmFsc2UKLVBBU1Mg
ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayBpcyB0cnVlCi1QQVNTIGRp
ZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgaXMgZmFsc2UKK1BBU1MgZGlk
SGFuZGxlVGFwIGlzIHRydWUKK1BBU1MgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgaXMg
dHJ1ZQorUEFTUyBkaWRIYW5kbGVUYXAgaXMgdHJ1ZQorUEFTUyBkaWRIYW5kbGVUYXBBc01lYW5p
bmdmdWxDbGljayBpcyBmYWxzZQorUEFTUyBkaWRIYW5kbGVUYXAgaXMgdHJ1ZQorUEFTUyBkaWRI
YW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNl
ZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2lvcy9kaWQtbm90LWhhbmRsZS1tZWFuaW5nZnVsLWNsaWNrLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9pb3MvZGlkLW5vdC1oYW5kbGUtbWVhbmluZ2Z1bC1jbGljay5odG1s
CmluZGV4IDY0MDlkM2FkYjY4Y2Q3ZTU1YTdiMGNmY2NjOWNmN2RkMGJmODg1MjMuLmQ1Njc2NjJi
YTA4YjZkZmI5YjAyZTk1NmE1NThlNzY5YzAxMzYzZWIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2lvcy9kaWQtbm90LWhhbmRsZS1tZWFuaW5nZnVsLWNsaWNrLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2RpZC1ub3QtaGFuZGxlLW1lYW5pbmdmdWwt
Y2xpY2suaHRtbApAQCAtMjIsMzIgKzIyLDM1IEBAIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBh
c3luYyAoKSA9PiB7CiAgICAgbGV0IHRleHQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4
dCIpOwogICAgIGxldCBidXR0b24gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGFyZ2V0Iik7
CiAKLSAgICBhc3luYyBmdW5jdGlvbiBzaW11bGF0ZVRhcEFuZENoZWNrRGlkTm90SGFuZGxlVGFw
QXNNZWFuaW5nZnVsQ2xpY2soZWxlbWVudCwgZXhwZWN0YXRpb24pIHsKLSAgICAgICAgZGlkTm90
SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayA9IGZhbHNlOwotICAgICAgICB0ZXN0
UnVubmVyLmluc3RhbGxEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrKCgp
ID0+IHsKLSAgICAgICAgICAgIGRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJh
Y2sgPSB0cnVlOworICAgIGFzeW5jIGZ1bmN0aW9uIHNpbXVsYXRlVGFwQW5kQ2hlY2tEaWRIYW5k
bGVUYXBBc01lYW5pbmdmdWxDbGljayhlbGVtZW50LCBleHBlY3RhdGlvbikgeworICAgICAgICBk
aWRIYW5kbGVUYXAgPSBmYWxzZTsKKyAgICAgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xp
Y2sgPSBmYWxzZTsKKyAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkSGFuZGxlVGFwQ2FsbGJh
Y2sod2FzTWVhbmluZ2Z1bCA9PiB7CisgICAgICAgICAgICBkaWRIYW5kbGVUYXAgPSB0cnVlOwor
ICAgICAgICAgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgPSB3YXNNZWFuaW5nZnVs
OwogICAgICAgICB9KTsKIAogICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQo
ZWxlbWVudCk7CiAgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JEb3VibGVUYXBEZWxheSgp
OworICAgICAgICBzaG91bGRCZVRydWUoImRpZEhhbmRsZVRhcCIpOwogICAgICAgICBpZiAoZXhw
ZWN0YXRpb24pCi0gICAgICAgICAgICBzaG91bGRCZVRydWUoImRpZE5vdEhhbmRsZVRhcEFzTWVh
bmluZ2Z1bENsaWNrQ2FsbGJhY2siKTsKKyAgICAgICAgICAgIHNob3VsZEJlVHJ1ZSgiZGlkSGFu
ZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2siKTsKICAgICAgICAgZWxzZQotICAgICAgICAgICAgc2hv
dWxkQmVGYWxzZSgiZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayIpOwor
ICAgICAgICAgICAgc2hvdWxkQmVGYWxzZSgiZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2si
KTsKIAogICAgICAgICB0ZXN0UnVubmVyLmNsZWFyVGVzdFJ1bm5lckNhbGxiYWNrcygpOwogICAg
IH0KIAotICAgIGF3YWl0IHNpbXVsYXRlVGFwQW5kQ2hlY2tEaWROb3RIYW5kbGVUYXBBc01lYW5p
bmdmdWxDbGljayh0ZXh0LCB0cnVlKTsKLSAgICBhd2FpdCBzaW11bGF0ZVRhcEFuZENoZWNrRGlk
Tm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2soYnV0dG9uLCBmYWxzZSk7CisgICAgYXdhaXQg
c2ltdWxhdGVUYXBBbmRDaGVja0RpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrKHRleHQsIGZh
bHNlKTsKKyAgICBhd2FpdCBzaW11bGF0ZVRhcEFuZENoZWNrRGlkSGFuZGxlVGFwQXNNZWFuaW5n
ZnVsQ2xpY2soYnV0dG9uLCB0cnVlKTsKIAogICAgIGRvY3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0
ZW5lcigiY2xpY2siLCAoKSA9PiB7IH0pOwotICAgIGF3YWl0IHNpbXVsYXRlVGFwQW5kQ2hlY2tE
aWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayh0ZXh0LCB0cnVlKTsKKyAgICBhd2FpdCBz
aW11bGF0ZVRhcEFuZENoZWNrRGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sodGV4dCwgZmFs
c2UpOwogCiAgICAgZG9jdW1lbnQuYm9keS5hZGRFdmVudExpc3RlbmVyKCJtb3VzZWRvd24iLCAo
ZXZlbnQpID0+IHsKICAgICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKICAgICB9KTsKLSAg
ICBhd2FpdCBzaW11bGF0ZVRhcEFuZENoZWNrRGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xp
Y2sodGV4dCwgZmFsc2UpOworICAgIGF3YWl0IHNpbXVsYXRlVGFwQW5kQ2hlY2tEaWRIYW5kbGVU
YXBBc01lYW5pbmdmdWxDbGljayh0ZXh0LCB0cnVlKTsKIAogICAgIHRleHQucmVtb3ZlKCk7CiAg
ICAgYnV0dG9uLnJlbW92ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMv
aW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1mb2N1c2luZy1ib2R5LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tZm9jdXNpbmct
Ym9keS1leHBlY3RlZC50eHQKaW5kZXggN2JjYTZjZDNhNTMzMmEyMGQxZGM1N2ViYjM4NTM5M2U4
NTI1N2Y3Zi4uNDJkYWE0YWUxYzNiNDMwYmVhMmYyOWZlYzI1NzdlZTU5NWE1ZTEyNiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1m
b2N1c2luZy1ib2R5LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9p
b3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLWZvY3VzaW5nLWJvZHktZXhwZWN0ZWQudHh0CkBAIC0z
LDkgKzMsMTAgQEAgVGhpcyB0ZXN0IGV4ZXJjaXNlcyB0aGUgJ21lYW5pbmdmdWwgY2xpY2snIGhl
dXJpc3RpYyBpbiBhbiBlZGl0YWJsZSBib2R5IGVsZW1lbnQKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KIAogUEFTUyBGb2N1c2VkIGJvZHkgZWxlbWVudAotUEFTUyBkaWREaXNwYXRjaE5vbk1l
YW5pbmdmdWxDbGlja0NhbGxiYWNrIGlzIGZhbHNlCitQQVNTIGRpZEhhbmRsZVRhcCBpcyB0cnVl
CitQQVNTIGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrIGlzIHRydWUKIFBBU1MgVGFwcGVk
IGluc2lkZSBib2R5IGVsZW1lbnQKLVBBU1MgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tD
YWxsYmFjayBpcyBmYWxzZQorUEFTUyBkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayBpcyB0
cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdo
ZW4tZm9jdXNpbmctYm9keS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5p
bmdmdWwtY2xpY2std2hlbi1mb2N1c2luZy1ib2R5Lmh0bWwKaW5kZXggMTYzZGUyZGEyNjViNDM5
NDc4NjQxYjJiMGZiYTRmMGViMzk1YzFmMy4uNDMzMWQ3NTdiZmRjY2RlYzRlMzQyZGU4ODE5YjUz
ODYzYmE1YTc0NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5p
bmdmdWwtY2xpY2std2hlbi1mb2N1c2luZy1ib2R5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1mb2N1c2luZy1ib2R5Lmh0bWwKQEAg
LTE5LDI2ICsxOSwzMSBAQCBqc1Rlc3RJc0FzeW5jID0gdHJ1ZTsKIGFkZEV2ZW50TGlzdGVuZXIo
ImxvYWQiLCBhc3luYyAoKSA9PiB7CiAgICAgZGVzY3JpcHRpb24oIlRoaXMgdGVzdCBleGVyY2lz
ZXMgdGhlICdtZWFuaW5nZnVsIGNsaWNrJyBoZXVyaXN0aWMgaW4gYW4gZWRpdGFibGUgYm9keSBl
bGVtZW50LCBhbmQgcmVxdWlyZXMgV2ViS2l0VGVzdFJ1bm5lci4iKTsKIAotICAgIGRpZERpc3Bh
dGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgPSBmYWxzZTsKLSAgICB0ZXN0UnVubmVyLmlu
c3RhbGxEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrKCgpID0+IHsKLSAg
ICAgICAgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayA9IHRydWU7CisgICAg
ZGlkSGFuZGxlVGFwID0gZmFsc2U7CisgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sg
PSBmYWxzZTsKKyAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWRIYW5kbGVUYXBDYWxsYmFjayh3YXNN
ZWFuaW5nZnVsID0+IHsKKyAgICAgICAgZGlkSGFuZGxlVGFwID0gdHJ1ZTsKKyAgICAgICAgZGlk
SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgPSB3YXNNZWFuaW5nZnVsOwogICAgIH0pOwogCiAg
ICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50QW5kV2FpdEZvcklucHV0U2Vzc2lvbihk
b2N1bWVudC5ib2R5KTsKICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yRG91YmxlVGFwRGVsYXko
KTsKICAgICB0ZXN0UGFzc2VkKCJGb2N1c2VkIGJvZHkgZWxlbWVudCIpOwotICAgIHNob3VsZEJl
RmFsc2UoImRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2siKTsKKyAgICBzaG91
bGRCZVRydWUoImRpZEhhbmRsZVRhcCIpOworICAgIHNob3VsZEJlVHJ1ZSgiZGlkSGFuZGxlVGFw
QXNNZWFuaW5nZnVsQ2xpY2siKTsKIAogICAgIHRlc3RSdW5uZXIuY2xlYXJUZXN0UnVubmVyQ2Fs
bGJhY2tzKCk7Ci0gICAgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayA9IGZh
bHNlOwotICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrQ2FsbGJhY2soKCkgPT4gewotICAgICAgICBkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxDbGlj
a0NhbGxiYWNrID0gdHJ1ZTsKKyAgICBkaWRIYW5kbGVUYXAgPSBmYWxzZTsKKyAgICBkaWRIYW5k
bGVUYXBBc01lYW5pbmdmdWxDbGljayA9IGZhbHNlOworICAgIHRlc3RSdW5uZXIuaW5zdGFsbERp
ZEhhbmRsZVRhcENhbGxiYWNrKHdhc01lYW5pbmdmdWwgPT4geworICAgICAgICBkaWRIYW5kbGVU
YXAgPSB0cnVlOworICAgICAgICBkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayA9IHdhc01l
YW5pbmdmdWw7CiAgICAgfSk7CiAKICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUF0KDEwMCwg
MTAwKTsKICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yRG91YmxlVGFwRGVsYXkoKTsKICAgICB0
ZXN0UGFzc2VkKCJUYXBwZWQgaW5zaWRlIGJvZHkgZWxlbWVudCIpOwotICAgIHNob3VsZEJlRmFs
c2UoImRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2siKTsKKyAgICBzaG91bGRC
ZVRydWUoImRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrIik7CiAKICAgICB0ZXN0UnVubmVy
LmNsZWFyVGVzdFJ1bm5lckNhbGxiYWNrcygpOwogICAgIGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJ0ZXh0IikucmVtb3ZlKCk7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9p
b3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEtZXhwZWN0ZWQudHh0IGIvTGF5
b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1l
ZGlhLWV4cGVjdGVkLnR4dAppbmRleCA3YTBjNjk5YTRjN2ZlMmRmZmVlNGE2YmI3YjdiYTUzY2Iw
Y2M5ZDc4Li5mZTI2OWIxYWUyNzA1OTNkY2FmOTUxZGJlZDY3MGNhOWJlOGUwZjYyIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBs
YXlpbmctbWVkaWEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lv
cy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS1leHBlY3RlZC50eHQKQEAgLTMs
OSArMywxMSBAQCBUaGlzIHRlc3QgZXhlcmNpc2VzIHRoZSAnbWVhbmluZ2Z1bCBjbGljaycgaGV1
cmlzdGljIHdoZW4gcGxheWluZyBvciBwYXVzaW5nIGEgdgogT24gc3VjY2VzcywgeW91IHdpbGwg
c2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExF
VEUiLgogCiBQQVNTIGRpZFBsYXlWaWRlbyBiZWNhbWUgdHJ1ZQotUEFTUyBkaWREaXNwYXRjaE5v
bk1lYW5pbmdmdWxDbGlja0NhbGxiYWNrIGlzIGZhbHNlCitQQVNTIGRpZEhhbmRsZVRhcCBpcyB0
cnVlCitQQVNTIGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrIGlzIHRydWUKIFBBU1MgZGlk
UGF1c2VWaWRlbyBiZWNhbWUgdHJ1ZQotUEFTUyBkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxDbGlj
a0NhbGxiYWNrIGlzIGZhbHNlCitQQVNTIGRpZEhhbmRsZVRhcCBpcyB0cnVlCitQQVNTIGRpZEhh
bmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrIGlzIHRydWUKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2Vk
IGlzIHRydWUKIAogVEVTVCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVk
aWEuaHRtbAppbmRleCA5MmQ4YzEyYmI2ZjQzZTgxZDM4YTYwNzFkMTM0YjU4NDBkY2Y0MzI3Li43
MzE2OTQ1YWE5OWYzYzUwN2JiNmZjMjdmZDgyNjlmYTAwYzhkNTllIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVk
aWEuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGlj
ay13aGVuLXBsYXlpbmctbWVkaWEuaHRtbApAQCAtMzQsMjEgKzM0LDI0IEBAIGFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CiAgICAgaWYgKCF3aW5kb3cudGVzdFJ1bm5lcikK
ICAgICAgICAgcmV0dXJuOwogCi0gICAgYXN5bmMgZnVuY3Rpb24gY2hlY2tGb3JOb25NZWFuaW5n
ZnVsQ2xpY2soc2hvdWxkUGxheSkgewotICAgICAgICBkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxD
bGlja0NhbGxiYWNrID0gZmFsc2U7Ci0gICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZE5vdEhh
bmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2soKCkgPT4gewotICAgICAgICAgICAgZGlk
RGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayA9IHRydWU7CisgICAgYXN5bmMgZnVu
Y3Rpb24gc2ltdWxhdGVUYXAoc2hvdWxkUGxheSkgeworICAgICAgICBkaWRIYW5kbGVUYXAgPSBm
YWxzZTsKKyAgICAgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgPSBmYWxzZTsKKyAg
ICAgICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkSGFuZGxlVGFwQ2FsbGJhY2sod2FzTWVhbmluZ2Z1
bCA9PiB7CisgICAgICAgICAgICBkaWRIYW5kbGVUYXAgPSB0cnVlOworICAgICAgICAgICAgZGlk
SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgPSB3YXNNZWFuaW5nZnVsOwogICAgICAgICB9KTsK
IAogICAgICAgICBhd2FpdCBVSUhlbHBlci5hY3RpdmF0ZUVsZW1lbnQoZG9jdW1lbnQuYm9keSk7
CiAgICAgICAgIGF3YWl0IFVJSGVscGVyLndhaXRGb3JEb3VibGVUYXBEZWxheSgpOwogICAgICAg
ICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNob3VsZEJlY29tZUVxdWFsKHNob3VsZFBs
YXkgPyAiZGlkUGxheVZpZGVvIiA6ICJkaWRQYXVzZVZpZGVvIiwgInRydWUiLCByZXNvbHZlKSk7
Ci0gICAgICAgIHNob3VsZEJlRmFsc2UoImRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2Fs
bGJhY2siKTsKKyAgICAgICAgc2hvdWxkQmVUcnVlKCJkaWRIYW5kbGVUYXAiKTsKKyAgICAgICAg
c2hvdWxkQmVUcnVlKCJkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayIpOwogICAgICAgICB0
ZXN0UnVubmVyLmNsZWFyVGVzdFJ1bm5lckNhbGxiYWNrcygpOwogICAgIH0KIAotICAgIGF3YWl0
IGNoZWNrRm9yTm9uTWVhbmluZ2Z1bENsaWNrKHRydWUpOwotICAgIGF3YWl0IGNoZWNrRm9yTm9u
TWVhbmluZ2Z1bENsaWNrKGZhbHNlKTsKKyAgICBhd2FpdCBzaW11bGF0ZVRhcCh0cnVlKTsKKyAg
ICBhd2FpdCBzaW11bGF0ZVRhcChmYWxzZSk7CiAgICAgZmluaXNoSlNUZXN0KCk7CiB9KTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL25vbi1tZWFu
aW5nZnVsLWNsaWNrLXdoZW4tdGFwcGluZy1kb2N1bWVudC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9mYXN0L2V2ZW50cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRv
Y3VtZW50LWV4cGVjdGVkLnR4dAppbmRleCBlODFjMTJiNjBkMDFmNDc3YTIyNmYyNjg4MjM1ZWQ2
ZmU2ODk1YWUzLi5mN2UxNjU4YjYyNjc5ZDliY2FjODRkMDJmZWZjZWY4YzJhMjc5ZTdjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2st
d2hlbi10YXBwaW5nLWRvY3VtZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRvY3VtZW50LWV4
cGVjdGVkLnR4dApAQCAtMyw3ICszLDggQEAgVGhpcyB0ZXN0IGV4ZXJjaXNlcyB0aGUgJ21lYW5p
bmdmdWwgY2xpY2snIGhldXJpc3RpYyB3aGVuIGRpc3BhdGNoaW5nIGNsaWNrcyBvbgogT24gc3Vj
Y2VzcywgeW91IHdpbGwgc2VlIGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQg
YnkgIlRFU1QgQ09NUExFVEUiLgogCiBQQVNTIGRpZERpc3BhdGNoQ2xpY2sgYmVjYW1lIHRydWUK
LVBBU1MgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayBiZWNhbWUgdHJ1ZQor
UEFTUyBkaWRIYW5kbGVUYXAgYmVjYW1lIHRydWUKK1BBU1MgZGlkSGFuZGxlVGFwQXNNZWFuaW5n
ZnVsQ2xpY2sgaXMgZmFsc2UKIFBBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKIAogVEVT
VCBDT01QTEVURQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL25vbi1t
ZWFuaW5nZnVsLWNsaWNrLXdoZW4tdGFwcGluZy1kb2N1bWVudC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9ldmVudHMvaW9zL25vbi1tZWFuaW5nZnVsLWNsaWNrLXdoZW4tdGFwcGluZy1kb2N1bWVu
dC5odG1sCmluZGV4IGU1ZWNmN2RmNDE2ZTJjYzQwNTM3Y2MzOGM5NzdjODMzNjk1MzQ0ODIuLjNj
NWYzMDljODUwMmI2MWEzNGYwM2Y4YjJkMzExYmM1ZTY3MWU3NjcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9ub24tbWVhbmluZ2Z1bC1jbGljay13aGVuLXRhcHBpbmct
ZG9jdW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3Mvbm9uLW1lYW5p
bmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRvY3VtZW50Lmh0bWwKQEAgLTE4LDkgKzE4LDExIEBA
IGFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBhc3luYyAoKSA9PiB7CiAgICAgaWYgKCF3aW5kb3cu
dGVzdFJ1bm5lcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgZGlkRGlzcGF0Y2hOb25NZWFuaW5n
ZnVsQ2xpY2tDYWxsYmFjayA9IGZhbHNlOwotICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZE5vdEhh
bmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2soKCkgPT4gewotICAgICAgICBkaWREaXNw
YXRjaE5vbk1lYW5pbmdmdWxDbGlja0NhbGxiYWNrID0gdHJ1ZTsKKyAgICBkaWRIYW5kbGVUYXAg
PSBmYWxzZTsKKyAgICBkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayA9IGZhbHNlOworICAg
IHRlc3RSdW5uZXIuaW5zdGFsbERpZEhhbmRsZVRhcENhbGxiYWNrKHdhc01lYW5pbmdmdWwgPT4g
eworICAgICAgICBkaWRIYW5kbGVUYXAgPSB0cnVlOworICAgICAgICBkaWRIYW5kbGVUYXBBc01l
YW5pbmdmdWxDbGljayA9IHdhc01lYW5pbmdmdWw7CiAgICAgfSk7CiAKICAgICBkaWREaXNwYXRj
aENsaWNrID0gZmFsc2U7CkBAIC0zMSw3ICszMyw4IEBAIGFkZEV2ZW50TGlzdGVuZXIoImxvYWQi
LCBhc3luYyAoKSA9PiB7CiAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVBdCgxMDAsIDEwMCk7
CiAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckRvdWJsZVRhcERlbGF5KCk7CiAgICAgYXdhaXQg
bmV3IFByb21pc2UocmVzb2x2ZSA9PiBzaG91bGRCZWNvbWVFcXVhbCgiZGlkRGlzcGF0Y2hDbGlj
ayIsICJ0cnVlIiwgcmVzb2x2ZSkpOwotICAgIGF3YWl0IG5ldyBQcm9taXNlKHJlc29sdmUgPT4g
c2hvdWxkQmVjb21lRXF1YWwoImRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2si
LCAidHJ1ZSIsIHJlc29sdmUpKTsKKyAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNo
b3VsZEJlY29tZUVxdWFsKCJkaWRIYW5kbGVUYXAiLCAidHJ1ZSIsIHJlc29sdmUpKTsKKyAgICBz
aG91bGRCZUZhbHNlKCJkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayIpOwogCiAgICAgdGVz
dFJ1bm5lci5jbGVhclRlc3RSdW5uZXJDYWxsYmFja3MoKTsKICAgICBmaW5pc2hKU1Rlc3QoKTsK
</data>
<flag name="commit-queue"
          id="454922"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>432855</attachid>
            <date>2021-07-03 14:20:13 -0700</date>
            <delta_ts>2021-07-04 22:54:19 -0700</delta_ts>
            <desc>Try to fix tvOS/watchOS builds</desc>
            <filename>bug-227666-20210703142012.patch</filename>
            <type>text/plain</type>
            <size>60064</size>
            <attacher name="Wenson Hsieh">wenson_hsieh</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjc5NDg1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L0No
YW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCmluZGV4IGQ2OTAxMjZjOGQzMDhkMTYw
ODk2ODVlNmU1NGM0YWZhOWI5N2NlOGYuLjhiMTBkZGIzOWZmNmU2MDg0Nzc2M2FmZDQ3MmUyOWUz
Zjc0MDI4NGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCisrKyBiL1NvdXJj
ZS9XZWJLaXQvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsODUgQEAKKzIwMjEtMDctMDMgIFdlbnNvbiBI
c2llaCAgPHdlbnNvbl9oc2llaEBhcHBsZS5jb20+CisKKyAgICAgICAgW2lPU10gQXVnbWVudCAt
X3dlYlZpZXc6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50OiB0byBpbmNs
dWRlIG1lYW5pbmdmdWwgdGFwcworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MjI3NjY2CisgICAgICAgIHJkYXI6Ly84MDA5NDk2MgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZSBwcml2YXRlIFVJIGRlbGVn
YXRlIG1ldGhvZCBgLV93ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQ
b2ludDpgIGlzIGN1cnJlbnRseSBvbmx5IGludm9rZWQKKyAgICAgICAgd2hlbiBhIHRhcCB3YXMg
bm90IGhhbmRsZWQgYXMgYSAibWVhbmluZ2Z1bCIgc3ludGhldGljIGNsaWNrICh3aGVyZSB0aGUg
bm90aW9uIG9mICJtZWFuaW5nZnVsIiBpcyBoZXVyaXN0aWNhbGx5CisgICAgICAgIGRldGVybWlu
ZWQpLiBIb3dldmVyLCBpbiBvcmRlciB0byBzdXBwb3J0IHJldmlzZWQgdGFiIHBpbGwgbWluaW1p
emF0aW9uIGJlaGF2aW9ycywgU2FmYXJpIHJlcXVpcmVzIGtub3dsZWRnZSBvZgorICAgICAgICB0
YXBzIHRoYXQgd2VyZSBoYW5kbGVkIGFzIG1lYW5pbmdmdWwgY2xpY2tzIGFzIHdlbGwuCisKKyAg
ICAgICAgVG8gc3VwcG9ydCB0aGlzLCByZXBsYWNlIHdoYXQgaXMgY3VycmVudGx5IGAtX3dlYlZp
ZXc6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50OmAgd2l0aCBhbm90aGVy
CisgICAgICAgIGRlbGVnYXRlIG1ldGhvZCwgYC1fd2ViVmlldzpkaWRUYXBBdFBvaW50OndpdGhS
ZXN1bHQ6YCwgdGhhdCBpcyBhbHdheXMgaW52b2tlZCB3aGVuIGEgdGFwIGdlc3R1cmUgaXMgcmVj
b2duaXplZAorICAgICAgICBpbiB0aGUgd2ViIHZpZXcuIFRoZSBgcmVzdWx0YCBwYXJhbWV0ZXIs
IGEgbmV3IGBfV0tUYXBIYW5kbGluZ1Jlc3VsdGAgZW51bSwgdGhlbiBpbmRpY2F0ZXMgdG8gdGhl
IGNsaWVudCBob3cgdGhlCisgICAgICAgIHRhcCB3YXMgaGFuZGxlZDsgdGhpcyBjdXJyZW50bHkg
aW5jbHVkZXMgMyB2YWx1ZXM6IG9uZSB0byBpbmRpY2F0ZSB0aGF0IHRoZSB0YXAgZ2VzdHVyZSBk
aWQgbm90IHJlc3VsdCBpbiBhCisgICAgICAgIHN5bnRoZXRpYyBjbGljayBiZWluZyBkaXNwYXRj
aGVkLCBhbmQgdHdvIG1vcmUgdG8gaW5kaWNhdGUgd2hldGhlciB0aGUgc3ludGhldGljIGNsaWNr
IHRoYXQgd2FzIGRpc3BhdGNoZWQgYXMgYQorICAgICAgICByZXN1bHQgb2YgdGhlIHRhcCB3YXMg
Im1lYW5pbmdmdWxseSIgaGFuZGxlZC4KKworICAgICAgICBUbyBmYWNpbGl0YXRlIHRoZSB0cmFu
c2l0aW9uIGZyb20gYC1fd2ViVmlldzpkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0
UG9pbnQ6YCB0byB0aGUgbmV3IFNQSSwgd2Ugc3RpbGwKKyAgICAgICAgY2FsbCB0aGUgb2xkIFNQ
SSBhcyBsb25nIGFzIHRoZSB0YXAgaGFuZGxpbmcgcmVzdWx0IHR5cGUgaXMgbm90IGVxdWFsIHRv
IFRhcEhhbmRsaW5nUmVzdWx0OjpNZWFuaW5nZnVsQ2xpY2s7CisgICAgICAgIGhvd2V2ZXIsIG1h
cmsgdGhlIG9sZCBTUEkgYXMgZGVwcmVjYXRlZCB3aXRoIGAtX3dlYlZpZXc6ZGlkVGFwQXRQb2lu
dDp3aXRoUmVzdWx0OmAgYXMgdGhlIHJlcGxhY2VtZW50LgorCisgICAgICAgIFRlc3RzOiAgZmFz
dC9ldmVudHMvaW9zL2RpZC1ub3QtaGFuZGxlLW1lYW5pbmdmdWwtY2xpY2suaHRtbAorICAgICAg
ICAgICAgICAgIGZhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tZm9jdXNpbmct
Ym9keS5odG1sCisgICAgICAgICAgICAgICAgZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xp
Y2std2hlbi1wbGF5aW5nLW1lZGlhLmh0bWwKKyAgICAgICAgICAgICAgICBmYXN0L2V2ZW50cy9p
b3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRvY3VtZW50Lmh0bWwKKworICAg
ICAgICAqIFNoYXJlZC9pb3MvVGFwSGFuZGxpbmdSZXN1bHQuaDogQWRkZWQuCisKKyAgICAgICAg
QWRkIGEgbmV3IEMrKyBlbnVtIHR5cGUgdG8gcmVwcmVzZW50IHRoZSB0YXAgaGFuZGxpbmcgcmVz
dWx0IHR5cGUgKHNlZSBkZXNjcmlwdGlvbiBhYm92ZSkuCisKKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0FQSVVJQ2xpZW50Lmg6CisgICAgICAgIChBUEk6OlVJQ2xpZW50OjpkaWRUYXBBdFBvaW50
KToKKyAgICAgICAgKEFQSTo6VUlDbGllbnQ6OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrQXRQb2ludCk6IERlbGV0ZWQuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJ
RGVsZWdhdGVQcml2YXRlLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUYXBI
YW5kbGluZ1Jlc3VsdC5oOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2lvcy9XS1dl
YlZpZXdJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MubW06
CisgICAgICAgICh3a1RhcEhhbmRsaW5nUmVzdWx0KToKKworICAgICAgICBBZGQgYSBoZWxwZXIg
bWV0aG9kIHRvIGNvbnZlcnQgZnJvbSB0aGUgV2ViS2l0OjpUYXBIYW5kbGluZ1Jlc3VsdCBlbnVt
IHRvIHRoZSBTUEktZXhwb3NlZCBfV0tUYXBIYW5kbGluZ1Jlc3VsdC4KKworICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nSU9TLmg6CisgICAgICAg
ICogVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3VGVzdGluZ0lPUy5tbToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9kaWRUYXBBdFBvaW50OndpdGhSZXN1bHQ6XSk6CisgICAgICAgICgtW1dLV2Vi
VmlldyBfZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50Ol0pOiBEZWxldGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmg6CisgICAgICAgICogVUlQ
cm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW06CisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6
OnNldERlbGVnYXRlKToKKyAgICAgICAgKFdlYktpdDo6VUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRp
ZFRhcEF0UG9pbnQpOgorCisgICAgICAgIE5vdGUgdGhhdCB3ZSBzdGlsbCBpbnZva2UgdGhlIG9s
ZCBVSSBkZWxlZ2F0ZSBTUEkgaGVyZSB0byBlbnN1cmUgdGhhdCB0aGVzZSBjaGFuZ2VzIGRvbid0
IGJyZWFrIFNhZmFyaSBiZWZvcmUKKyAgICAgICAgdGhleSBoYXZlIGEgY2hhbmNlIHRvIGFkb3B0
IHRoZSBuZXcgU1BJLgorCisgICAgICAgIChXZWJLaXQ6OlVJRGVsZWdhdGU6OlVJQ2xpZW50Ojpk
aWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQpOiBEZWxldGVkLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9QYWdlQ2xpZW50Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW46CisK
KyAgICAgICAgUmVwbGFjZSB0aGUgYERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQ
b2ludGAgbWVzc2FnZSB3aXRoIGBEaWRUYXBBdFBvaW50YCwgd2hpY2ggdGFrZXMgYm90aCBhIGxv
Y2F0aW9uCisgICAgICAgIGFuZCBhIGZsYWcgaW5kaWNhdGluZyBob3cgdGhlIHRhcCB3YXMgaGFu
ZGxlZCBieSB3ZWIgY29udGVudC4KKworICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvUGFnZUNsaWVu
dEltcGxJT1MuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1t
OgorICAgICAgICAoV2ViS2l0OjpQYWdlQ2xpZW50SW1wbDo6ZGlkVGFwQXRQb2ludCk6CisgICAg
ICAgIChXZWJLaXQ6OlBhZ2VDbGllbnRJbXBsOjpkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxD
bGlja0F0UG9pbnQpOiBEZWxldGVkLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViUGFnZVBy
b3h5SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZFRhcEF0UG9pbnQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlUHJveHk6OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrQXRQb2ludCk6IERlbGV0ZWQuCisgICAgICAgICogV2ViS2l0Lnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdl
SU9TLm1tOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpjb21wbGV0ZVN5bnRoZXRpY0NsaWNr
KToKKworICAgICAgICBUaGUgbWVhbmluZ2Z1bCB0YXAgaGV1cmlzdGljIG5vIGxvbmdlciBkZXRl
cm1pbmVzIHdoZXRoZXIgd2Ugc2VuZCBhbiBJUEMgbWVzc2FnZSBvciBub3QsIGJ1dCByYXRoZXIg
dGhlIHR5cGUgb2YKKyAgICAgICAgVGFwSGFuZGxpbmdSZXN1bHQgdG8gc2VuZCAobmFtZWx5LCB3
aGV0aGVyIHRvIHNlbmQgTm9uTWVhbmluZ2Z1bENsaWNrIG9yIE1lYW5pbmdmdWxDbGljaykuCisK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6YXR0ZW1wdFN5bnRoZXRpY0NsaWNrKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFnZTo6aGFuZGxlVHdvRmluZ2VyVGFwQXRQb2ludCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhZ2U6OmNvbW1pdFBvdGVudGlhbFRhcEZhaWxlZCk6CisKIDIwMjEtMDct
MDEgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5AYXBwbGUuY29tPgogCiAgICAgICAgIERpc2FibGUg
cmVsYXkgZm9yIFVEUCBzb2NrZXRzIHdoZW4gbm90IG5lZWRlZApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdC9TaGFyZWQvaW9zL1RhcEhhbmRsaW5nUmVzdWx0LmggYi9Tb3VyY2UvV2ViS2l0L1No
YXJlZC9pb3MvVGFwSGFuZGxpbmdSZXN1bHQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmU4ZGMwNzU0OTJiZDQ4
NGVmZTk3Y2IxZjFiNWVkM2Y3M2QyMTUwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dC9TaGFyZWQvaW9zL1RhcEhhbmRsaW5nUmVzdWx0LmgKQEAgLTAsMCArMSw1NSBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAyMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKKworI2luY2x1
ZGUgPHd0Zi9FbnVtVHJhaXRzLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIGNsYXNz
IFRhcEhhbmRsaW5nUmVzdWx0IDogdWludDhfdCAgeworICAgIERpZE5vdEhhbmRsZVRhcEFzQ2xp
Y2ssCisgICAgTm9uTWVhbmluZ2Z1bENsaWNrLAorICAgIE1lYW5pbmdmdWxDbGljaywKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCituYW1lc3BhY2UgV1RGIHsKKwordGVtcGxhdGU8PiBz
dHJ1Y3QgRW51bVRyYWl0czxXZWJLaXQ6OlRhcEhhbmRsaW5nUmVzdWx0PiB7CisgICAgdXNpbmcg
dmFsdWVzID0gRW51bVZhbHVlcyA8CisgICAgV2ViS2l0OjpUYXBIYW5kbGluZ1Jlc3VsdCwKKyAg
ICBXZWJLaXQ6OlRhcEhhbmRsaW5nUmVzdWx0OjpEaWROb3RIYW5kbGVUYXBBc0NsaWNrLAorICAg
IFdlYktpdDo6VGFwSGFuZGxpbmdSZXN1bHQ6Ok5vbk1lYW5pbmdmdWxDbGljaywKKyAgICBXZWJL
aXQ6OlRhcEhhbmRsaW5nUmVzdWx0OjpNZWFuaW5nZnVsQ2xpY2sKKyAgICA+OworfTsKKworfSAv
LyBuYW1lc3BhY2UgV1RGCisKKyNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0FQSVVJQ2xpZW50LmggYi9Tb3VyY2Uv
V2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaAppbmRleCAyMTc1YzUxODgyMWVmZmZm
MDYwNTc4YzQxOGUyMjQ4MTc2MTBkNjQ0Li42MmE5YmZjZTY2MjI5YWZmMDNkMGNkZmJhMjE2YTMw
OWJkMjFjMzM0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlD
bGllbnQuaAorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQVBJVUlDbGllbnQuaApA
QCAtNTIsNiArNTIsNyBAQCBzdHJ1Y3QgV2luZG93RmVhdHVyZXM7CiB9CiAKIG5hbWVzcGFjZSBX
ZWJLaXQgeworZW51bSBjbGFzcyBUYXBIYW5kbGluZ1Jlc3VsdCA6IHVpbnQ4X3Q7CiBjbGFzcyBO
YXRpdmVXZWJLZXlib2FyZEV2ZW50OwogY2xhc3MgTmF0aXZlV2ViV2hlZWxFdmVudDsKIGNsYXNz
IFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0UHJveHk7CkBAIC0xNjMsNyArMTY0LDcgQEAgcHVi
bGljOgogI2VuZGlmCiAgICAgdmlydHVhbCBSZXRhaW5QdHI8TlNBcnJheT4gYWN0aW9uc0ZvckVs
ZW1lbnQoX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKiwgUmV0YWluUHRyPE5TQXJyYXk+IGRlZmF1
bHRBY3Rpb25zKSB7IHJldHVybiBkZWZhdWx0QWN0aW9uczsgfQogICAgIHZpcnR1YWwgdm9pZCBk
aWROb3RIYW5kbGVUYXBBc0NsaWNrKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgeyB9Ci0gICAg
dmlydHVhbCB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludChjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYpIHsgfQorICAgIHZpcnR1YWwgdm9pZCBkaWRUYXBBdFBvaW50
KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgV2ViS2l0OjpUYXBIYW5kbGluZ1Jlc3VsdCkgeyB9
CiAgICAgdmlydHVhbCBVSVZpZXdDb250cm9sbGVyICpwcmVzZW50aW5nVmlld0NvbnRyb2xsZXIo
KSB7IHJldHVybiBudWxscHRyOyB9CiAjZW5kaWYKICNpZiBQTEFURk9STShDT0NPQSkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2
YXRlLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tVSURlbGVnYXRlUHJp
dmF0ZS5oCmluZGV4IGY3M2MzODE5MjAyNjZlNzUzMWEwZjQ0MWVhNTRjZjFkZTJkOWJhNjkuLmVk
YjVmZGU2OWRmNTdlZDNlMTlmMjM5YmFjNzliZjY1NGI5ZWZlNzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1VJRGVsZWdhdGVQcml2YXRlLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL1dLVUlEZWxlZ2F0ZVByaXZhdGUuaApA
QCAtMjgsNiArMjgsNyBAQAogI2ltcG9ydCA8V2ViS2l0L1dLVUlEZWxlZ2F0ZS5oPgogI2ltcG9y
dCA8V2ViS2l0L1dLV2ViVmlld1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYktpdC9fV0tBY3RpdmF0
ZWRFbGVtZW50SW5mby5oPgorI2ltcG9ydCA8V2ViS2l0L19XS1RhcEhhbmRsaW5nUmVzdWx0Lmg+
CiAjaW1wb3J0IDxXZWJLaXQvX1dLV2ViQXV0aGVudGljYXRpb25QYW5lbC5oPgogCiBAY2xhc3Mg
TlNEYXRhOwpAQCAtMTY0LDcgKzE2NSw4IEBAIHN0cnVjdCBVSUVkZ2VJbnNldHM7CiAtIChCT09M
KV93ZWJWaWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IHNob3VsZEluY2x1ZGVBcHBMaW5rQWN0aW9u
c0ZvckVsZW1lbnQ6KF9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvICopZWxlbWVudCBXS19BUElfQVZB
SUxBQkxFKGlvcyg5LjApKTsKIC0gKE5TQXJyYXkgKilfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyBhY3Rpb25zRm9yRWxlbWVudDooX1dLQWN0aXZhdGVkRWxlbWVudEluZm8gKillbGVtZW50
IGRlZmF1bHRBY3Rpb25zOihOU0FycmF5PF9XS0VsZW1lbnRBY3Rpb24gKj4gKilkZWZhdWx0QWN0
aW9uczsKIC0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkTm90SGFuZGxl
VGFwQXNDbGlja0F0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7Ci0tICh2b2lkKV93ZWJWaWV3OihXS1dl
YlZpZXcgKil3ZWJWaWV3IGRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDoo
Q0dQb2ludClwb2ludCBXS19BUElfQVZBSUxBQkxFKGlvcygxNS4wKSk7CistICh2b2lkKV93ZWJW
aWV3OihXS1dlYlZpZXcgKil3ZWJWaWV3IGRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNr
QXRQb2ludDooQ0dQb2ludClwb2ludCBXS19BUElfREVQUkVDQVRFRF9XSVRIX1JFUExBQ0VNRU5U
KCJfd2ViVmlldzpkaWRUYXBBdFBvaW50OndpdGhSZXN1bHQ6IiwgaW9zKDE1LjAsIDE1LjApKTsK
Ky0gKHZvaWQpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZGlkVGFwQXRQb2ludDooQ0dQ
b2ludClwb2ludCB3aXRoUmVzdWx0OihfV0tUYXBIYW5kbGluZ1Jlc3VsdClyZXN1bHQgV0tfQVBJ
X0FWQUlMQUJMRShpb3MoMTUuMCkpOwogLSAodm9pZClfd2ViVmlldzooV0tXZWJWaWV3ICopd2Vi
VmlldyByZXF1ZXN0R2VvbG9jYXRpb25BdXRob3JpemF0aW9uRm9yVVJMOihOU1VSTCAqKXVybCBm
cmFtZTooV0tGcmFtZUluZm8gKilmcmFtZSBkZWNpc2lvbkhhbmRsZXI6KHZvaWQgKF4pKEJPT0wg
YXV0aG9yaXplZCkpZGVjaXNpb25IYW5kbGVyIFdLX0FQSV9BVkFJTEFCTEUoaW9zKDExLjApKTsK
IC0gKEJPT0wpX3dlYlZpZXc6KFdLV2ViVmlldyAqKXdlYlZpZXcgZmlsZVVwbG9hZFBhbmVsQ29u
dGVudElzTWFuYWdlZFdpdGhJbml0aWF0aW5nRnJhbWU6KFdLRnJhbWVJbmZvICopZnJhbWU7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9Db2NvYS9fV0tUYXBIYW5k
bGluZ1Jlc3VsdC5oIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL0NvY29hL19XS1RhcEhh
bmRsaW5nUmVzdWx0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI0OGVkYmQ1OWUyOTI1YWNhZTUyZDU1M2QyZDIx
ZjQ1MDQ4MmE1MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9fV0tUYXBIYW5kbGluZ1Jlc3VsdC5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjEgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVGZpbmRlSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbXBvcnQgPFdlYktpdC9XS0ZvdW5kYXRpb24uaD4KKworI2lmIFRBUkdFVF9P
U19JUEhPTkUKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1dLVGFwSGFuZGxpbmdSZXN1
bHQpIHsKKyAgICBfV0tUYXBIYW5kbGluZ1Jlc3VsdERpZE5vdEhhbmRsZVRhcEFzQ2xpY2ssCisg
ICAgX1dLVGFwSGFuZGxpbmdSZXN1bHROb25NZWFuaW5nZnVsQ2xpY2ssCisgICAgX1dLVGFwSGFu
ZGxpbmdSZXN1bHRNZWFuaW5nZnVsQ2xpY2ssCit9IFdLX0FQSV9BVkFJTEFCTEUoaW9zKDE1LjAp
KTsKKworI2VuZGlmIC8vIFRBUkdFVF9PU19JUEhPTkUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3SU9TLmggYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5oCmluZGV4IDI4NGQ5ZTYwODRlOGQ3ZGQzZWRlZjMz
ZDY5YjQ0ZWU0NGRjOTY0M2QuLjVmNzQ0YTYzOTA2Mzk4MGJlZWNmYmM4ZmM0NDFlOWVjZTdmY2Vk
MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3
SU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1Mu
aApAQCAtMjQsMTEgKzI0LDE2IEBACiAgKi8KIAogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwu
aCIKKyNpbXBvcnQgIl9XS1RhcEhhbmRsaW5nUmVzdWx0LmgiCiAKIEBjbGFzcyBVSVNjcm9sbEV2
ZW50OwogCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKIAorbmFtZXNwYWNlIFdlYktpdCB7Citl
bnVtIGNsYXNzIFRhcEhhbmRsaW5nUmVzdWx0IDogdWludDhfdDsKK30KKwogQGludGVyZmFjZSBX
S1dlYlZpZXcgKFdLVmlld0ludGVybmFsSU9TKQogCiAtICh2b2lkKV9zZXR1cFNjcm9sbEFuZENv
bnRlbnRWaWV3czsKQEAgLTE0OSw0ICsxNTQsNiBAQAogCiBAZW5kCiAKK19XS1RhcEhhbmRsaW5n
UmVzdWx0IHdrVGFwSGFuZGxpbmdSZXN1bHQoV2ViS2l0OjpUYXBIYW5kbGluZ1Jlc3VsdCk7CisK
ICNlbmRpZiAvLyBQTEFURk9STShJT1NfRkFNSUxZKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lPUy5tbQppbmRleCBmZGRhN2FmN2JkN2FiY2UxNjUzOWZi
NGVmNGY3NjZkNTkwNWFhMmEzLi5mNDQ4NDA4NGExODQzNGQ0ZmNlM2YyZWJlNDRiNDY5MzVjYmMy
NDMxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmll
d0lPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld0lP
Uy5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlU2Nyb2xsaW5n
UGVyZm9ybWFuY2VEYXRhLmgiCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVWaWV3cy5oIgogI2lt
cG9ydCAiUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oIgorI2ltcG9ydCAiVGFwSGFu
ZGxpbmdSZXN1bHQuaCIKICNpbXBvcnQgIlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIgog
I2ltcG9ydCAiVmlld0dlc3R1cmVDb250cm9sbGVyLmgiCiAjaW1wb3J0ICJXS0JhY2tGb3J3YXJk
TGlzdEl0ZW1JbnRlcm5hbC5oIgpAQCAtMzM3NCw0ICszMzc1LDE4IEBAIEBlbmQKIAogI3VuZGVm
IFdLV0VCVklFV19SRUxFQVNFX0xPRwogCitfV0tUYXBIYW5kbGluZ1Jlc3VsdCB3a1RhcEhhbmRs
aW5nUmVzdWx0KFdlYktpdDo6VGFwSGFuZGxpbmdSZXN1bHQgcmVzdWx0KQoreworICAgIHN3aXRj
aCAocmVzdWx0KSB7CisgICAgY2FzZSBXZWJLaXQ6OlRhcEhhbmRsaW5nUmVzdWx0OjpEaWROb3RI
YW5kbGVUYXBBc0NsaWNrOgorICAgICAgICByZXR1cm4gX1dLVGFwSGFuZGxpbmdSZXN1bHREaWRO
b3RIYW5kbGVUYXBBc0NsaWNrOworICAgIGNhc2UgV2ViS2l0OjpUYXBIYW5kbGluZ1Jlc3VsdDo6
Tm9uTWVhbmluZ2Z1bENsaWNrOgorICAgICAgICByZXR1cm4gX1dLVGFwSGFuZGxpbmdSZXN1bHRO
b25NZWFuaW5nZnVsQ2xpY2s7CisgICAgY2FzZSBXZWJLaXQ6OlRhcEhhbmRsaW5nUmVzdWx0OjpN
ZWFuaW5nZnVsQ2xpY2s6CisgICAgICAgIHJldHVybiBfV0tUYXBIYW5kbGluZ1Jlc3VsdE1lYW5p
bmdmdWxDbGljazsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJu
IF9XS1RhcEhhbmRsaW5nUmVzdWx0RGlkTm90SGFuZGxlVGFwQXNDbGljazsKK30KKwogI2VuZGlm
IC8vIFBMQVRGT1JNKElPU19GQU1JTFkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJv
Y2Vzcy9BUEkvaW9zL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nSU9TLmggYi9Tb3VyY2UvV2Vi
S2l0L1VJUHJvY2Vzcy9BUEkvaW9zL1dLV2ViVmlld1ByaXZhdGVGb3JUZXN0aW5nSU9TLmgKaW5k
ZXggZDgxYWI5ZTU0NzQ3MGE5YmExMGU5YzE2M2ZmZWRiNjU3NmQ2ZTAwNS4uOGNiZTY2ZTcxYmYz
MzY4ZTIwMjM3MjBiNzM1NTNjZDFiMDNmY2E0NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9V
SVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZpZXdQcml2YXRlRm9yVGVzdGluZ0lPUy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tXZWJWaWV3UHJpdmF0ZUZvclRlc3RpbmdJ
T1MuaApAQCAtMjUsNiArMjUsNyBAQAogCiAjaW1wb3J0IDxXZWJLaXQvV0tXZWJWaWV3Lmg+CiAj
aW1wb3J0IDxXZWJLaXQvX1dLRWxlbWVudEFjdGlvbi5oPgorI2ltcG9ydCA8V2ViS2l0L19XS1Rh
cEhhbmRsaW5nUmVzdWx0Lmg+CiAKICNpZiBUQVJHRVRfT1NfSVBIT05FCiAKQEAgLTY2LDcgKzY3
LDcgQEAKIC0gKHZvaWQpX2RpZEZpbmlzaFRleHRJbnRlcmFjdGlvbkluVGV4dElucHV0Q29udGV4
dDooX1dLVGV4dElucHV0Q29udGV4dCAqKWNvbnRleHQ7CiAtICh2b2lkKV9yZXF1ZXN0RG9jdW1l
bnRDb250ZXh0OihVSVdLRG9jdW1lbnRSZXF1ZXN0ICopcmVxdWVzdCBjb21wbGV0aW9uSGFuZGxl
cjoodm9pZCAoXikoVUlXS0RvY3VtZW50Q29udGV4dCAqKSljb21wbGV0aW9uSGFuZGxlcjsKIC0g
KHZvaWQpX2FkanVzdFNlbGVjdGlvbldpdGhEZWx0YTooTlNSYW5nZSlkZWx0YVJhbmdlIGNvbXBs
ZXRpb25IYW5kbGVyOih2b2lkICheKSh2b2lkKSljb21wbGV0aW9uSGFuZGxlcjsKLS0gKHZvaWQp
X2RpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDooQ0dQb2ludClwb2ludDsK
Ky0gKHZvaWQpX2RpZFRhcEF0UG9pbnQ6KENHUG9pbnQpcG9pbnQgd2l0aFJlc3VsdDooX1dLVGFw
SGFuZGxpbmdSZXN1bHQpcmVzdWx0OwogCiAtICh2b2lkKXNldFRpbWVQaWNrZXJWYWx1ZVRvSG91
cjooTlNJbnRlZ2VyKWhvdXIgbWludXRlOihOU0ludGVnZXIpbWludXRlOwogLSAoZG91YmxlKXRp
bWVQaWNrZXJWYWx1ZUhvdXI7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvaW9zL1dLV2ViVmlld1Rlc3RpbmdJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9B
UEkvaW9zL1dLV2ViVmlld1Rlc3RpbmdJT1MubW0KaW5kZXggNTNjZjc0ZjlkMzU0MGZlZjE1ODlm
OTE4ODU2ODc2ZDQwYTBmYWQ4Mi4uNGMxY2I1ODRiNzg5MWNhODBkODczODdkNzdhMGQ5OTA4YTU2
OGQ0YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQVBJL2lvcy9XS1dlYlZp
ZXdUZXN0aW5nSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL0FQSS9pb3MvV0tX
ZWJWaWV3VGVzdGluZ0lPUy5tbQpAQCAtOTYsNyArOTYsNyBAQCAtICh2b2lkKV9hZGp1c3RTZWxl
Y3Rpb25XaXRoRGVsdGE6KE5TUmFuZ2UpZGVsdGFSYW5nZSBjb21wbGV0aW9uSGFuZGxlcjoodm9p
ZCAoXgogI2VuZGlmCiB9CiAKLS0gKHZvaWQpX2RpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrQXRQb2ludDooQ0dQb2ludClwb2ludAorLSAodm9pZClfZGlkVGFwQXRQb2ludDooQ0dQb2lu
dClwb2ludCB3aXRoUmVzdWx0OihfV0tUYXBIYW5kbGluZ1Jlc3VsdClyZXN1bHQKIHsKICAgICAv
LyBGb3Igc3ViY2xhc3NlcyB0byBvdmVycmlkZS4KIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L0NvY29hL1VJRGVsZWdhdGUuaAppbmRleCA3ODcxZWQ0NzM4YjVjZmM3ZTY0NzU3ZmY2NDJjZmJl
NTEzMDNhNGViLi44NDk5MDA2NDlhMmM2ZWUxMTU5NWQ3NDNkZTVhMWU2ZjE4OGY0OGU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLmgKKysrIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29jb2EvVUlEZWxlZ2F0ZS5oCkBAIC00OCw2ICs0OCw4
IEBAIGNsYXNzIFJlZ2lzdHJhYmxlRG9tYWluOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAorZW51
bSBjbGFzcyBUYXBIYW5kbGluZ1Jlc3VsdCA6IHVpbnQ4X3Q7CisKIGNsYXNzIFVJRGVsZWdhdGUg
OiBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8VUlEZWxlZ2F0ZT4gewogICAgIFdURl9NQUtFX0ZBU1Rf
QUxMT0NBVEVEOwogcHVibGljOgpAQCAtMTQ0LDcgKzE0Niw3IEBAIHByaXZhdGU6CiAjZW5kaWYK
ICAgICAgICAgUmV0YWluUHRyPE5TQXJyYXk+IGFjdGlvbnNGb3JFbGVtZW50KF9XS0FjdGl2YXRl
ZEVsZW1lbnRJbmZvICosIFJldGFpblB0cjxOU0FycmF5PiBkZWZhdWx0QWN0aW9ucykgZmluYWw7
CiAgICAgICAgIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQ
b2ludCYpIGZpbmFsOwotICAgICAgICB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIGZpbmFsOworICAgICAgICB2b2lk
IGRpZFRhcEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmLCBXZWJLaXQ6OlRhcEhhbmRs
aW5nUmVzdWx0KSBmaW5hbDsKICAgICAgICAgVUlWaWV3Q29udHJvbGxlciAqcHJlc2VudGluZ1Zp
ZXdDb250cm9sbGVyKCkgZmluYWw7CiAjZW5kaWYgLy8gUExBVEZPUk0oSU9TX0ZBTUlMWSkKIApA
QCAtMjM5LDYgKzI0MSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGJvb2wgd2ViVmlld0FjdGlvbnNG
b3JFbGVtZW50RGVmYXVsdEFjdGlvbnMgOiAxOwogICAgICAgICBib29sIHdlYlZpZXdEaWROb3RI
YW5kbGVUYXBBc0NsaWNrQXRQb2ludCA6IDE7CiAgICAgICAgIGJvb2wgd2ViVmlld0RpZE5vdEhh
bmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludCA6IDE7CisgICAgICAgIGJvb2wgd2ViVmll
d0RpZFRhcEF0UG9pbnRXaXRoUmVzdWx0IDogMTsKICAgICAgICAgYm9vbCBwcmVzZW50aW5nVmll
d0NvbnRyb2xsZXJGb3JXZWJWaWV3IDogMTsKICNlbmRpZgogICAgICAgICBib29sIGRhdGFEZXRl
Y3Rpb25Db250ZXh0Rm9yV2ViVmlldyA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvQ29j
b2EvVUlEZWxlZ2F0ZS5tbQppbmRleCBlY2Y3MjEzODU4YjhkN2IzZWIyYTU0ZjNiM2E4YzEyZWVk
NGJkZDg1Li4zODg0MjkwODdhMWEzNjhhNTJkNTk4M2VkODY1YjYxMzczYjMzOTk2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9Db2NvYS9VSURlbGVnYXRlLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQvVUlQcm9jZXNzL0NvY29hL1VJRGVsZWdhdGUubW0KQEAgLTM1LDYgKzM1LDcg
QEAKICNpbXBvcnQgIk1lZGlhVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJXaGVlbEV2
ZW50LmgiCiAjaW1wb3J0ICJOYXZpZ2F0aW9uQWN0aW9uRGF0YS5oIgorI2ltcG9ydCAiVGFwSGFu
ZGxpbmdSZXN1bHQuaCIKICNpbXBvcnQgIlVzZXJNZWRpYVBlcm1pc3Npb25DaGVja1Byb3h5Lmgi
CiAjaW1wb3J0ICJVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIgogI2lt
cG9ydCAiVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RQcm94eS5oIgpAQCAtNDcsNiArNDgsNyBA
QAogI2ltcG9ydCAiV0tTdG9yYWdlQWNjZXNzQWxlcnQuaCIKICNpbXBvcnQgPFdlYktpdC9XS1VJ
RGVsZWdhdGVQcml2YXRlLmg+CiAjaW1wb3J0ICJXS1dlYlZpZXdDb25maWd1cmF0aW9uSW50ZXJu
YWwuaCIKKyNpbXBvcnQgIldLV2ViVmlld0lPUy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJu
YWwuaCIKICNpbXBvcnQgIldLV2luZG93RmVhdHVyZXNJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2Vi
RXZlbnRGYWN0b3J5LmgiCkBAIC0xNTgsNiArMTYwLDcgQEAgdm9pZCBVSURlbGVnYXRlOjpzZXRE
ZWxlZ2F0ZShpZCA8V0tVSURlbGVnYXRlPiBkZWxlZ2F0ZSkKICAgICBtX2RlbGVnYXRlTWV0aG9k
cy53ZWJWaWV3QWN0aW9uc0ZvckVsZW1lbnREZWZhdWx0QWN0aW9ucyA9IFtkZWxlZ2F0ZSByZXNw
b25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmFjdGlvbnNGb3JFbGVtZW50OmRlZmF1
bHRBY3Rpb25zOildOwogICAgIG1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWROb3RIYW5kbGVU
YXBBc0NsaWNrQXRQb2ludCA9IFtkZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9y
KF93ZWJWaWV3OmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2tBdFBvaW50OildOwogICAgIG1fZGVsZWdh
dGVNZXRob2RzLndlYlZpZXdEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2ViVmlldzpkaWROb3RI
YW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQ6KV07CisgICAgbV9kZWxlZ2F0ZU1ldGhv
ZHMud2ViVmlld0RpZFRhcEF0UG9pbnRXaXRoUmVzdWx0ID0gW2RlbGVnYXRlIHJlc3BvbmRzVG9T
ZWxlY3RvcjpAc2VsZWN0b3IoX3dlYlZpZXc6ZGlkVGFwQXRQb2ludDp3aXRoUmVzdWx0OildOwog
ICAgIG1fZGVsZWdhdGVNZXRob2RzLnByZXNlbnRpbmdWaWV3Q29udHJvbGxlckZvcldlYlZpZXcg
PSBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihfcHJlc2VudGluZ1ZpZXdD
b250cm9sbGVyRm9yV2ViVmlldzopXTsKICNlbmRpZgogICAgIG1fZGVsZWdhdGVNZXRob2RzLndl
YlZpZXdJc01lZGlhQ2FwdHVyZUF1dGhvcml6ZWRGb3JGcmFtZURlY2lzaW9uSGFuZGxlciA9IFtk
ZWxlZ2F0ZSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKF93ZWJWaWV3OmNoZWNrVXNlck1l
ZGlhUGVybWlzc2lvbkZvclVSTDptYWluRnJhbWVVUkw6ZnJhbWVJZGVudGlmaWVyOmRlY2lzaW9u
SGFuZGxlcjopXSB8fCBbZGVsZWdhdGUgcmVzcG9uZHNUb1NlbGVjdG9yOkBzZWxlY3Rvcihfd2Vi
VmlldzppbmNsdWRlU2Vuc2l0aXZlTWVkaWFEZXZpY2VEZXRhaWxzOildOwpAQCAtMTQxMiwxOSAr
MTQxNSwyMyBAQCB2b2lkIFVJRGVsZWdhdGU6OlVJQ2xpZW50OjpkaWROb3RIYW5kbGVUYXBBc0Ns
aWNrKGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludAogICAgIFtzdGF0aWNfY2FzdDxpZCA8
V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRlKSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1f
d2ViVmlldy5nZXQoKS5nZXQoKSBkaWROb3RIYW5kbGVUYXBBc0NsaWNrQXRQb2ludDpwb2ludF07
CiB9CiAKLXZvaWQgVUlEZWxlZ2F0ZTo6VUlDbGllbnQ6OmRpZE5vdEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQpCit2b2lkIFVJ
RGVsZWdhdGU6OlVJQ2xpZW50OjpkaWRUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50
JiBwb2ludCwgV2ViS2l0OjpUYXBIYW5kbGluZ1Jlc3VsdCByZXN1bHQpCiB7CiAgICAgaWYgKCFt
X3VpRGVsZWdhdGUpCiAgICAgICAgIHJldHVybjsKIAotICAgIGlmICghbV91aURlbGVnYXRlLT5t
X2RlbGVnYXRlTWV0aG9kcy53ZWJWaWV3RGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tB
dFBvaW50KQotICAgICAgICByZXR1cm47Ci0KICAgICBhdXRvIGRlbGVnYXRlID0gbV91aURlbGVn
YXRlLT5tX2RlbGVnYXRlLmdldCgpOwogICAgIGlmICghZGVsZWdhdGUpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIFtzdGF0aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRl
KSBfd2ViVmlldzptX3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSBkaWROb3RIYW5k
bGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQ6cG9pbnRdOworICAgIGlmIChtX3VpRGVsZWdh
dGUtPm1fZGVsZWdhdGVNZXRob2RzLndlYlZpZXdEaWRUYXBBdFBvaW50V2l0aFJlc3VsdCkKKyAg
ICAgICAgW3N0YXRpY19jYXN0PGlkIDxXS1VJRGVsZWdhdGVQcml2YXRlPj4oZGVsZWdhdGUpIF93
ZWJWaWV3Om1fdWlEZWxlZ2F0ZS0+bV93ZWJWaWV3LmdldCgpLmdldCgpIGRpZFRhcEF0UG9pbnQ6
cG9pbnQgd2l0aFJlc3VsdDp3a1RhcEhhbmRsaW5nUmVzdWx0KHJlc3VsdCldOworCisgICAgQUxM
T1dfREVQUkVDQVRFRF9ERUNMQVJBVElPTlNfQkVHSU4KKyAgICAvLyBGSVhNRTogUmVtb3ZlIHRo
aXMgb25jZSBhbGwgaW50ZXJuYWwgY2xpZW50cyBhZG9wdCAtX3dlYlZpZXc6ZGlkVGFwQXRQb2lu
dDp3aXRoUmVzdWx0Oi4KKyAgICBpZiAobV91aURlbGVnYXRlLT5tX2RlbGVnYXRlTWV0aG9kcy53
ZWJWaWV3RGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50ICYmIHJlc3VsdCAh
PSBXZWJLaXQ6OlRhcEhhbmRsaW5nUmVzdWx0OjpNZWFuaW5nZnVsQ2xpY2spCisgICAgICAgIFtz
dGF0aWNfY2FzdDxpZCA8V0tVSURlbGVnYXRlUHJpdmF0ZT4+KGRlbGVnYXRlKSBfd2ViVmlldzpt
X3VpRGVsZWdhdGUtPm1fd2ViVmlldy5nZXQoKS5nZXQoKSBkaWROb3RIYW5kbGVUYXBBc01lYW5p
bmdmdWxDbGlja0F0UG9pbnQ6cG9pbnRdOworICAgIEFMTE9XX0RFUFJFQ0FURURfREVDTEFSQVRJ
T05TX0VORAogfQogCiBVSVZpZXdDb250cm9sbGVyICpVSURlbGVnYXRlOjpVSUNsaWVudDo6cHJl
c2VudGluZ1ZpZXdDb250cm9sbGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1BhZ2VDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaApp
bmRleCA2NzA0MTY0YTk1M2UwZWY0NWY0YTgyNzg1MDNiMGZiNzhmYTQ5NjdjLi4wOGNjMjg5MDM5
OTI0ZDMzNzQ4OTM2OGYzNmM1MDVjYzY4ODk2NzQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oCkBAIC0xMzcsNiArMTM3LDcgQEAgc3RydWN0IFRyYW5zbGF0aW9uQ29udGV4dE1l
bnVJbmZvOwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGVudW0gY2xhc3MgVW5kb09yUmVkbyA6IGJv
b2w7CitlbnVtIGNsYXNzIFRhcEhhbmRsaW5nUmVzdWx0IDogdWludDhfdDsKIAogY2xhc3MgQ29u
dGV4dE1lbnVDb250ZXh0RGF0YTsKIGNsYXNzIERvd25sb2FkUHJveHk7CkBAIC0zMzcsNyArMzM4
LDcgQEAgcHVibGljOgogI2VuZGlmCiAjaWYgUExBVEZPUk0oSU9TX0ZBTUlMWSkKICAgICB2aXJ0
dWFsIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNDbGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYp
ID0gMDsKLSAgICB2aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tB
dFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JikgPSAwOworICAgIHZpcnR1YWwgdm9pZCBk
aWRUYXBBdFBvaW50KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiwgVGFwSGFuZGxpbmdSZXN1bHQp
ID0gMDsKICAgICB2aXJ0dWFsIHZvaWQgZGlkQ29tcGxldGVTeW50aGV0aWNDbGljaygpID0gMDsK
ICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuaCBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oCmluZGV4IGI1N2M4
MmZkZDBjNDc5NmIyMDcwNmM0YzI0MWUxNjFmMzA4ZjBlOWMuLjVkNzQ0ZmVlYTVkNmU5YTFlZGUx
NTBjNGM0MGU1MTdiZDI2NTY1YTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5oCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5oCkBAIC00MDcsNiArNDA3LDcgQEAgc3RydWN0IFdlYlBvcHVwSXRlbTsKIHN0cnVjdCBXZWJT
cGVlY2hTeW50aGVzaXNWb2ljZTsKIAogZW51bSBjbGFzcyBJbWFnZUFuYWx5c2lzVHlwZSA6IHVp
bnQ4X3Q7CitlbnVtIGNsYXNzIFRhcEhhbmRsaW5nUmVzdWx0IDogdWludDhfdDsKIGVudW0gY2xh
c3MgVGV4dFJlY29nbml0aW9uVXBkYXRlUmVzdWx0IDogdWludDhfdDsKIGVudW0gY2xhc3MgTmVn
b3RpYXRlZExlZ2FjeVRMUyA6IGJvb2w7CiBlbnVtIGNsYXNzIFByb2Nlc3NTd2FwUmVxdWVzdGVk
QnlDbGllbnQgOiBib29sOwpAQCAtODQ4LDcgKzg0OSw3IEBAIHB1YmxpYzoKICAgICB2b2lkIGFw
cGxpY2F0aW9uV2lsbEVudGVyRm9yZWdyb3VuZEZvck1lZGlhKCk7CiAgICAgdm9pZCBjb21taXRQ
b3RlbnRpYWxUYXBGYWlsZWQoKTsKICAgICB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29u
c3QgV2ViQ29yZTo6SW50UG9pbnQmKTsKLSAgICB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpOworICAgIHZvaWQgZGlk
VGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIFRhcEhhbmRsaW5nUmVzdWx0KTsK
ICAgICB2b2lkIGRpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKTsKICAgICB2b2lkIGRpc2FibGVE
b3VibGVUYXBHZXN0dXJlc0R1cmluZ1RhcElmTmVjZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJRCk7
CiAgICAgdm9pZCBoYW5kbGVTbWFydE1hZ25pZmljYXRpb25JbmZvcm1hdGlvbkZvclBvdGVudGlh
bFRhcCh1aW50NjRfdCByZXF1ZXN0SUQsIGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYgcmVuZGVy
UmVjdCwgYm9vbCBmaXRFbnRpcmVSZWN0LCBkb3VibGUgdmlld3BvcnRNaW5pbXVtU2NhbGUsIGRv
dWJsZSB2aWV3cG9ydE1heGltdW1TY2FsZSwgYm9vbCBub2RlSXNSb290TGV2ZWwpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdC9VSVByb2Nlc3MvV2ViUGFnZVByb3h5Lm1lc3NhZ2VzLmluCmluZGV4IGUz
YjY4MGZkNDE3MWE1ZGQ2NTI1MTc0M2VmNWY1NTg2ZDUzOGI4N2QuLmRiNWI1NmVmMjM1MjA5ZWEx
NzM5NDY5YTkxMTYxNDBlMjk3NmQ5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5tZXNzYWdlcy5pbgorKysgYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9XZWJQYWdlUHJveHkubWVzc2FnZXMuaW4KQEAgLTE3MCw3ICsxNzAsNyBAQCBtZXNzYWdlcyAt
PiBXZWJQYWdlUHJveHkgewogICAgIFNob3dQbGF5YmFja1RhcmdldFBpY2tlcihib29sIGhhc1Zp
ZGVvLCBXZWJDb3JlOjpJbnRSZWN0IGVsZW1lbnRSZWN0LCBlbnVtOnVpbnQ4X3QgV2ViQ29yZTo6
Um91dGVTaGFyaW5nUG9saWN5IHBvbGljeSwgU3RyaW5nIHJvdXRpbmdDb250ZXh0VUlEKQogICAg
IENvbW1pdFBvdGVudGlhbFRhcEZhaWxlZCgpCiAgICAgRGlkTm90SGFuZGxlVGFwQXNDbGljayhX
ZWJDb3JlOjpJbnRQb2ludCBwb2ludCkKLSAgICBEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxD
bGlja0F0UG9pbnQoV2ViQ29yZTo6SW50UG9pbnQgcG9pbnQpCisgICAgRGlkVGFwQXRQb2ludChX
ZWJDb3JlOjpJbnRQb2ludCBwb2ludCwgZW51bTp1aW50OF90IFdlYktpdDo6VGFwSGFuZGxpbmdS
ZXN1bHQgcmVzdWx0KQogICAgIERpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKQogICAgIERpc2Fi
bGVEb3VibGVUYXBHZXN0dXJlc0R1cmluZ1RhcElmTmVjZXNzYXJ5KHVpbnQ2NF90IHJlcXVlc3RJ
RCkKICAgICBIYW5kbGVTbWFydE1hZ25pZmljYXRpb25JbmZvcm1hdGlvbkZvclBvdGVudGlhbFRh
cCh1aW50NjRfdCByZXF1ZXN0SUQsIFdlYkNvcmU6OkZsb2F0UmVjdCByZW5kZXJSZWN0LCBib29s
IGZpdEVudGlyZVJlY3QsIGRvdWJsZSB2aWV3cG9ydE1pbmltdW1TY2FsZSwgZG91YmxlIHZpZXdw
b3J0TWF4aW11bVNjYWxlLCBib29sIG5vZGVJc1Jvb3RMZXZlbCkKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5oIGIvU291cmNlL1dlYktp
dC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLmgKaW5kZXggMDhmMjQ5NzhkMWEwMDEy
OTYzNGE4MmI3NjE3NmZhNzhhYzEyNTQyNS4uNDYyMGU3NWQwYTU1NjU2ZTgyMjNiYzcwNmQzMjVi
YjA4NzEwZTA4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VD
bGllbnRJbXBsSU9TLmgKKysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGll
bnRJbXBsSU9TLmgKQEAgLTI0Niw3ICsyNDYsNyBAQCBwcml2YXRlOgogICAgIHZvaWQgZGlkRmFp
bE5hdmlnYXRpb24oQVBJOjpOYXZpZ2F0aW9uKikgb3ZlcnJpZGU7CiAgICAgdm9pZCBkaWRTYW1l
RG9jdW1lbnROYXZpZ2F0aW9uRm9yTWFpbkZyYW1lKFNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBl
KSBvdmVycmlkZTsKICAgICB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29y
ZTo6SW50UG9pbnQmKSBvdmVycmlkZTsKLSAgICB2b2lkIGRpZE5vdEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYpIGZpbmFsOworICAgIHZv
aWQgZGlkVGFwQXRQb2ludChjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYsIFRhcEhhbmRsaW5nUmVz
dWx0KSBmaW5hbDsKICAgICB2b2lkIGRpZENvbXBsZXRlU3ludGhldGljQ2xpY2soKSBvdmVycmlk
ZTsKIAogICAgIHZvaWQgcnVuTW9kYWxKYXZhU2NyaXB0RGlhbG9nKENvbXBsZXRpb25IYW5kbGVy
PHZvaWQoKT4mJiBjYWxsYmFjaykgZmluYWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vz
cy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0KaW5kZXggNTZiMzI1OTg3MDhkYmFjODkxNTYzMzZk
YzEyZWYyZDE5NGQ1OTdjOC4uZmI3MTEyYzgxZmUzYTUxNGY3ZDg3MmIzMTg1NzQ4ZDhjNzYxN2Vj
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBs
SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQpAQCAtNDAsNiArNDAsNyBAQAogI2ltcG9ydCAiTmF2aWdhdGlvblN0YXRlLmgiCiAjaW1w
b3J0ICJSdW5uaW5nQm9hcmRTZXJ2aWNlc1NQSS5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVz
LmgiCisjaW1wb3J0ICJUYXBIYW5kbGluZ1Jlc3VsdC5oIgogI2ltcG9ydCAiVUlLaXRTUEkuaCIK
ICNpbXBvcnQgIlVuZG9PclJlZG8uaCIKICNpbXBvcnQgIlZpZXdTbmFwc2hvdFN0b3JlLmgiCkBA
IC0yMzMsOSArMjM0LDkgQEAgdm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkTm90SGFuZGxlVGFwQXND
bGljayhjb25zdCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQpCiAgICAgW21fY29udGVudFZpZXcg
X2RpZE5vdEhhbmRsZVRhcEFzQ2xpY2s6cG9pbnRdOwogfQogCi12b2lkIFBhZ2VDbGllbnRJbXBs
OjpkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQoY29uc3QgV2ViQ29yZTo6
SW50UG9pbnQmIHBvaW50KQordm9pZCBQYWdlQ2xpZW50SW1wbDo6ZGlkVGFwQXRQb2ludChjb25z
dCBXZWJDb3JlOjpJbnRQb2ludCYgcG9pbnQsIFRhcEhhbmRsaW5nUmVzdWx0IHJlc3VsdCkKIHsK
LSAgICBbbV93ZWJWaWV3IF9kaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQ6
cG9pbnRdOworICAgIFttX3dlYlZpZXcgX2RpZFRhcEF0UG9pbnQ6cG9pbnQgd2l0aFJlc3VsdDp3
a1RhcEhhbmRsaW5nUmVzdWx0KHJlc3VsdCldOwogfQogCiB2b2lkIFBhZ2VDbGllbnRJbXBsOjpk
aWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNrKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvVUlQ
cm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0gYi9Tb3VyY2UvV2ViS2l0L1VJUHJvY2Vzcy9p
b3MvV2ViUGFnZVByb3h5SU9TLm1tCmluZGV4IDUxMTNiZmVmODBmZjAwNTExYTQ2NDVjNzA5ZDU2
MjEwOGRiNTkzYzkuLjBlMWYyMThlN2I5Y2UwNjc0ZTdjYjIxMTMxZGUxODVkOWNhZDU2YjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQvVUlQcm9jZXNzL2lvcy9XZWJQYWdlUHJveHlJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdC9VSVByb2Nlc3MvaW9zL1dlYlBhZ2VQcm94eUlPUy5tbQpAQCAt
NDksNiArNDksNyBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCIKICNp
bXBvcnQgIlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCIKICNpbXBvcnQgIlNoYXJl
YWJsZVJlc291cmNlLmgiCisjaW1wb3J0ICJUYXBIYW5kbGluZ1Jlc3VsdC5oIgogI2ltcG9ydCAi
VUlLaXRTUEkuaCIKICNpbXBvcnQgIlVzZXJEYXRhLmgiCiAjaW1wb3J0ICJVc2VySW50ZXJmYWNl
SWRpb20uaCIKQEAgLTEwMDksMTAgKzEwMTAsMTAgQEAgdm9pZCBXZWJQYWdlUHJveHk6OmRpZE5v
dEhhbmRsZVRhcEFzQ2xpY2soY29uc3QgV2ViQ29yZTo6SW50UG9pbnQmIHBvaW50KQogICAgIG1f
dWlDbGllbnQtPmRpZE5vdEhhbmRsZVRhcEFzQ2xpY2socG9pbnQpOwogfQogCi12b2lkIFdlYlBh
Z2VQcm94eTo6ZGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tBdFBvaW50KGNvbnN0IFdl
YkNvcmU6OkludFBvaW50JiBwb2ludCkKK3ZvaWQgV2ViUGFnZVByb3h5OjpkaWRUYXBBdFBvaW50
KGNvbnN0IFdlYkNvcmU6OkludFBvaW50JiBwb2ludCwgVGFwSGFuZGxpbmdSZXN1bHQgcmVzdWx0
KQogewotICAgIHBhZ2VDbGllbnQoKS5kaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0
UG9pbnQocG9pbnQpOwotICAgIG1fdWlDbGllbnQtPmRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1
bENsaWNrQXRQb2ludChwb2ludCk7CisgICAgcGFnZUNsaWVudCgpLmRpZFRhcEF0UG9pbnQocG9p
bnQsIHJlc3VsdCk7CisgICAgbV91aUNsaWVudC0+ZGlkVGFwQXRQb2ludChwb2ludCwgcmVzdWx0
KTsKIH0KICAgICAKIHZvaWQgV2ViUGFnZVByb3h5OjpkaWRDb21wbGV0ZVN5bnRoZXRpY0NsaWNr
KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvV2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2ogYi9Tb3VyY2UvV2ViS2l0L1dlYktpdC54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDk4Y2U0ZDgzOWU0MDhjMmNmZTEyYzhlZjc4OGNkNDE2YTI2MGRiOTEuLjMyMzU2NDc2NmUy
MzAxZjQxOTZmZTJiZjIwMjk2NWQwMjcwYjhmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQv
V2ViS2l0Lnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdC9XZWJL
aXQueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjA0Myw2ICsyMDQzLDggQEAKIAkJRjRD
RjFFOUQyNUU0MERDQzAwMEY5RDczIC8qIEdlc3R1cmVSZWNvZ25pemVyQ29uc2lzdGVuY3lFbmZv
cmNlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjRD
RjFFOUIyNUU0MERDQzAwMEY5RDczIC8qIEdlc3R1cmVSZWNvZ25pemVyQ29uc2lzdGVuY3lFbmZv
cmNlci5oICovOyB9OwogCQlGNEQ1RjUxRDIwNjA4N0ExMDAzOEJCQTggLyogV0tUZXh0SW5wdXRM
aXN0Vmlld0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEY0RDVGNTE5MjA2MDg3QTAwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3
Q29udHJvbGxlci5oICovOyB9OwogCQlGNEQ1RjUxRjIwNjA4N0ExMDAzOEJCQTggLyogV0tRdWlj
a2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gRjRENUY1MUIyMDYwODdBMTAwMzhCQkE4IC8qIFdLUXVpY2ti
b2FyZFZpZXdDb250cm9sbGVyRGVsZWdhdGUuaCAqLzsgfTsKKwkJRjREOTg1QzgyNjkwRkMxMjAw
QkJDQ0JFIC8qIF9XS1RhcEhhbmRsaW5nUmVzdWx0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEQ5ODVDNzI2OTBGQkVGMDBCQkNDQkUgLyogX1dLVGFw
SGFuZGxpbmdSZXN1bHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OworCQlGNEQ5ODVDQjI2OTEwOTY2MDBCQkNDQkUgLyogVGFwSGFuZGxpbmdSZXN1bHQu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEY0RTJCNDRB
MjY4RkRFMUEwMDMyN0FCQyAvKiBUYXBIYW5kbGluZ1Jlc3VsdC5oICovOyB9OwogCQlGNERCNTRF
NjIzMTlFNzMzMDA5RTMxNTUgLyogV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXpl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRjREQjU0
RTQyMzE5RTczMzAwOUUzMTU1IC8qIFdLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6
ZXIuaCAqLzsgfTsKIAkJRjRFQzk0RTMyMzU2Q0M1NzAwMEJCNjE0IC8qIEFwcGxpY2F0aW9uU2Vy
dmljZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDI5RDA0RTI4MjFGN0M3M0QwMDc2NzQxRCAvKiBBcHBsaWNhdGlvblNlcnZpY2VzU1BJLmggKi87
IH07CiAJCUY0RkUwQTNCMjQ2MzJCNjAwMDI2MzFFMSAvKiBDb2NvYUNvbG9yLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGNEZFMEEzQTI0NjMyQjEwMDAy
NjMxRTEgLyogQ29jb2FDb2xvci5oICovOyB9OwpAQCAtNjAxOSw4ICs2MDIxLDEwIEBACiAJCUY0
RDVGNTE5MjA2MDg3QTAwMDM4QkJBOCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXS1RleHRJbnB1dExpc3RWaWV3Q29u
dHJvbGxlci5oOyBwYXRoID0gaW9zL2Zvcm1zL1dLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUY0RDVGNTFBMjA2MDg3QTEwMDM4QkJB
OCAvKiBXS1RleHRJbnB1dExpc3RWaWV3Q29udHJvbGxlci5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tOyBw
YXRoID0gaW9zL2Zvcm1zL1dLVGV4dElucHV0TGlzdFZpZXdDb250cm9sbGVyLm1tOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlGNEQ1RjUxQjIwNjA4N0ExMDAzOEJCQTggLyogV0tRdWlj
a2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXS1F1aWNrYm9hcmRWaWV3Q29udHJvbGxlckRlbGVnYXRlLmg7IHBhdGggPSBpb3Mv
Zm9ybXMvV0tRdWlja2JvYXJkVmlld0NvbnRyb2xsZXJEZWxlZ2F0ZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGNEQ5ODVDNzI2OTBGQkVGMDBCQkNDQkUgLyogX1dLVGFwSGFuZGxp
bmdSZXN1bHQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1dLVGFwSGFuZGxpbmdSZXN1bHQuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjREQjU0RTQyMzE5RTczMzAwOUUzMTU1IC8qIFdLSGln
aGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBuYW1lID0gV0tIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oOyBwYXRo
ID0gaW9zL1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRjREQjU0RTUyMzE5RTczMzAwOUUzMTU1IC8qIFdLSGlnaGxp
Z2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IG5hbWUgPSBXS0hpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLm1t
OyBwYXRoID0gaW9zL1dLSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUY0RTJCNDRBMjY4RkRFMUEwMDMyN0FCQyAvKiBU
YXBIYW5kbGluZ1Jlc3VsdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBUYXBIYW5kbGluZ1Jlc3VsdC5oOyBw
YXRoID0gaW9zL1RhcEhhbmRsaW5nUmVzdWx0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUY0RjU5QUQzMjA2NUE1QzkwMDZDQUE0NiAvKiBXS1NlbGVjdE1lbnVMaXN0Vmlld0NvbnRy
b2xsZXIubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1NlbGVj
dE1lbnVMaXN0Vmlld0NvbnRyb2xsZXIubW07IHBhdGggPSBpb3MvZm9ybXMvV0tTZWxlY3RNZW51
TGlzdFZpZXdDb250cm9sbGVyLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEY1
OUFENDIwNjVBNUNBMDA2Q0FBNDYgLyogV0tTZWxlY3RNZW51TGlzdFZpZXdDb250cm9sbGVyLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLU2VsZWN0TWVudUxpc3RWaWV3Q29u
dHJvbGxlci5oOyBwYXRoID0gaW9zL2Zvcm1zL1dLU2VsZWN0TWVudUxpc3RWaWV3Q29udHJvbGxl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGNEZFMEEzQTI0NjMyQjEwMDAyNjMx
RTEgLyogQ29jb2FDb2xvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb2NvYUNvbG9yLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC03NzIxLDYgKzc3MjUsNyBAQAogCQkJCTFDOUVCQTVCMjA4
N0U3NEUwMDA1NDQyOSAvKiBOYXRpdmVXZWJNb3VzZUV2ZW50SU9TLm1tICovLAogCQkJCTJEQTk0
NDk4MTg4NEU0RjAwMEVEODZEQiAvKiBOYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tICovLAogCQkJ
CTQ0NTk5ODQxMjI4MzNFNjAwMEU2MTM3MyAvKiBTeW50aGV0aWNFZGl0aW5nQ29tbWFuZFR5cGUu
aCAqLywKKwkJCQlGNEUyQjQ0QTI2OEZERTFBMDAzMjdBQkMgLyogVGFwSGFuZGxpbmdSZXN1bHQu
aCAqLywKIAkJCQlFMzhBMUZCRTIzQTU1MTE0MDBEMjM3NEYgLyogVXNlckludGVyZmFjZUlkaW9t
LmggKi8sCiAJCQkJRTM4QTFGQkYyM0E1NTFCRjAwRDIzNzRGIC8qIFVzZXJJbnRlcmZhY2VJZGlv
bS5tbSAqLywKIAkJCQlGNDBEMUI2ODIyMEJEQzBGMDBCNDlBMDEgLyogV2ViQXV0b2NvcnJlY3Rp
b25Db250ZXh0LmggKi8sCkBAIC04MDg2LDYgKzgwOTEsNyBAQAogCQkJCTFBMDAyRDNGMTk2QjMy
OTQwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUuaCAqLywKIAkJCQkxQTAwMkQzRTE5NkIzMjk0
MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlLm1tICovLAogCQkJCTFBMDAyRDQyMTk2QjMzNzAw
MEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGVJbnRlcm5hbC5oICovLAorCQkJCUY0RDk4NUM3MjY5
MEZCRUYwMEJCQ0NCRSAvKiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oICovLAogCQkJCTJERTlCMTM4
MjIzMUY2MUMwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0LmggKi8sCiAJCQkJMkRFOUIx
MzcyMjMxRjYxQzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQubW0gKi8sCiAJCQkJMkRF
OUIxM0IyMjMxRjc3QzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHRJbnRlcm5hbC5oICov
LApAQCAtMTE3NjYsNiArMTE3NzIsNyBAQAogCQkJCTM3NjMxMUZFMUEzRkI2MDAwMDVBMkU1MSAv
KiBfV0tTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZUludGVybmFsLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTAwMkQ0NDE5NkIzMzg5MDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQTAwMkQ0MzE5NkIzMzcwMDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRl
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAorCQkJCUY0RDk4NUM4MjY5MEZDMTIwMEJCQ0NCRSAv
KiBfV0tUYXBIYW5kbGluZ1Jlc3VsdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRFOUIxM0EyMjMx
RjYxQzAwNTI4N0I3IC8qIF9XS1RleHRJbnB1dENvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJERTlCMTNDMjIzMUY3N0MwMDUyODdCNyAvKiBfV0tUZXh0SW5wdXRDb250ZXh0SW50ZXJuYWwu
aCBpbiBIZWFkZXJzICovLAogCQkJCTlCNTQ5OUFEMjM2MkE2RjkwMERGOEJBNSAvKiBfV0tUZXh0
TWFuaXB1bGF0aW9uQ29uZmlndXJhdGlvbi5oIGluIEhlYWRlcnMgKi8sCkBAIC0xMjM2Niw2ICsx
MjM3Myw3IEBACiAJCQkJNDQ4QUMyNEUyNjcxMzVBNzAwQjI4OTIxIC8qIFN5bmFwc2VTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCTQ0NTk5ODQyMjI4MzNFODcwMEU2MTM3MyAvKiBTeW50aGV0aWNF
ZGl0aW5nQ29tbWFuZFR5cGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTMxNTcxMzVGMjA0MEE5QjIw
MDg0RjlDRiAvKiBTeXN0ZW1QcmV2aWV3Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
RjREOTg1Q0IyNjkxMDk2NjAwQkJDQ0JFIC8qIFRhcEhhbmRsaW5nUmVzdWx0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQk0NEM1MTg0NDI2NkJFOEM0MDA2REQ1MjIgLyogVENDU29mdExpbmsuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNFMUEwQkQ2MUE0OEU2QzYwMDU0RUY3NCAvKiBUQ0NTUEkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBQTQxN0NCMTJDMDBDQ0EwMDJCRTY3QiAvKiBUZXh0Q2hlY2tlci5o
IGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L1dlYlByb2Nlc3MvV2Vi
UGFnZS9pb3MvV2ViUGFnZUlPUy5tbSBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdl
L2lvcy9XZWJQYWdlSU9TLm1tCmluZGV4IGE0MDg1YTdhYzg2NzcwMjBmYmM2MmUwNzQyMDJiYTQy
ZDcyOWU4NTMuLjg1NzAxMWI0ZDJjMmIxYjIzMjZjZDZlYWE2YWYwZDZkY2UxNDQ0OGIgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQYWdlSU9TLm1t
CkBAIC00NSw2ICs0NSw3IEBACiAjaW1wb3J0ICJTaGFyZWFibGVCaXRtYXBVdGlsaXRpZXMuaCIK
ICNpbXBvcnQgIlNoYXJlZE1lbW9yeS5oIgogI2ltcG9ydCAiU3ludGhldGljRWRpdGluZ0NvbW1h
bmRUeXBlLmgiCisjaW1wb3J0ICJUYXBIYW5kbGluZ1Jlc3VsdC5oIgogI2ltcG9ydCAiVGV4dENo
ZWNraW5nQ29udHJvbGxlclByb3h5LmgiCiAjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCAi
VXNlckRhdGEuaCIKQEAgLTkwMiwyNCArOTAzLDIzIEBAIHZvaWQgV2ViUGFnZTo6Y29tcGxldGVT
eW50aGV0aWNDbGljayhOb2RlJiBub2RlUmVzcG9uZGluZ1RvQ2xpY2ssIGNvbnN0IFdlYkNvcmU6
CiAgICAgaWYgKG1faXNDbG9zZWQpCiAgICAgICAgIHJldHVybjsKIAotICAgIGJvb2wgc2hvdWxk
RGlzcGF0Y2hEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQgPSAoWyZdIHsK
KyAgICBhdXRvIHRhcEhhbmRsaW5nUmVzdWx0ID0gKFsmXSB7CiAgICAgICAgIGlmICghbV9jdXJy
ZW50U3ludGhldGljQ2xpY2tNYXlOb3RCZU1lYW5pbmdmdWwpCi0gICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gVGFwSGFuZGxpbmdSZXN1bHQ6Ok1lYW5pbmdmdWxD
bGljazsKIAogICAgICAgICBpZiAob2xkRm9jdXNlZEVsZW1lbnQgIT0gbmV3Rm9jdXNlZEVsZW1l
bnQpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gVGFwSGFu
ZGxpbmdSZXN1bHQ6Ok1lYW5pbmdmdWxDbGljazsKIAogICAgICAgICBpZiAoaXM8SFRNTFRleHRG
b3JtQ29udHJvbEVsZW1lbnQ+KG5vZGVSZXNwb25kaW5nVG9DbGljaykgfHwgbm9kZVJlc3BvbmRp
bmdUb0NsaWNrLmhhc0VkaXRhYmxlU3R5bGUoKSkKLSAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgICAgIHJldHVybiBUYXBIYW5kbGluZ1Jlc3VsdDo6TWVhbmluZ2Z1bENsaWNrOwog
CiAgICAgICAgIGlmIChpc1Byb2JhYmx5TWVhbmluZ2Z1bENsaWNrKG5vZGVSZXNwb25kaW5nVG9D
bGljaykpCi0gICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICByZXR1cm4gVGFw
SGFuZGxpbmdSZXN1bHQ6Ok1lYW5pbmdmdWxDbGljazsKIAotICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICAgICAgcmV0dXJuIFRhcEhhbmRsaW5nUmVzdWx0OjpOb25NZWFuaW5nZnVsQ2xpY2s7CiAg
ICAgfSkoKTsKIAotICAgIGlmIChzaG91bGREaXNwYXRjaERpZE5vdEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrQXRQb2ludCkKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpE
aWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQocm91bmRlZEludFBvaW50KGxv
Y2F0aW9uKSkpOworICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6RGlkVGFwQXRQb2lu
dChyb3VuZGVkSW50UG9pbnQobG9jYXRpb24pLCB0YXBIYW5kbGluZ1Jlc3VsdCkpOwogCiAgICAg
aWYgKCF0YXBXYXNIYW5kbGVkIHx8ICFub2RlUmVzcG9uZGluZ1RvQ2xpY2suaXNFbGVtZW50Tm9k
ZSgpKQogICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZE5vdEhhbmRsZVRh
cEFzQ2xpY2socm91bmRlZEludFBvaW50KGxvY2F0aW9uKSkpOwpAQCAtOTM1LDcgKzkzNSw3IEBA
IHZvaWQgV2ViUGFnZTo6YXR0ZW1wdFN5bnRoZXRpY0NsaWNrKGNvbnN0IEludFBvaW50JiBwb2lu
dCwgT3B0aW9uU2V0PFdlYkV2ZW50OjpNCiAgICAgSW50UG9pbnQgYWRqdXN0ZWRJbnRQb2ludCA9
IHJvdW5kZWRJbnRQb2ludChhZGp1c3RlZFBvaW50KTsKIAogICAgIGlmICghZnJhbWVSZXNwb25k
aW5nVG9DbGljayB8fCBsYXN0TGF5ZXJUcmVlVHJhbnNhY3Rpb25JZCA8IFdlYkZyYW1lOjpmcm9t
Q29yZUZyYW1lKCpmcmFtZVJlc3BvbmRpbmdUb0NsaWNrKS0+Zmlyc3RMYXllclRyZWVUcmFuc2Fj
dGlvbklEQWZ0ZXJEaWRDb21taXRMb2FkKCkpIHsKLSAgICAgICAgc2VuZChNZXNzYWdlczo6V2Vi
UGFnZVByb3h5OjpEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQoYWRqdXN0
ZWRJbnRQb2ludCkpOworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkRpZFRh
cEF0UG9pbnQoYWRqdXN0ZWRJbnRQb2ludCwgVGFwSGFuZGxpbmdSZXN1bHQ6OkRpZE5vdEhhbmRs
ZVRhcEFzQ2xpY2spKTsKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRO
b3RIYW5kbGVUYXBBc0NsaWNrKGFkanVzdGVkSW50UG9pbnQpKTsKICAgICB9IGVsc2UgaWYgKG1f
aW50ZXJhY3Rpb25Ob2RlID09IG5vZGVSZXNwb25kaW5nVG9DbGljaykKICAgICAgICAgY29tcGxl
dGVTeW50aGV0aWNDbGljaygqbm9kZVJlc3BvbmRpbmdUb0NsaWNrLCBhZGp1c3RlZFBvaW50LCBt
b2RpZmllcnMsIFdlYkNvcmU6Ok9uZUZpbmdlclRhcCk7CkBAIC0xMTQzLDcgKzExNDMsNyBAQCB2
b2lkIFdlYlBhZ2U6OmhhbmRsZVR3b0ZpbmdlclRhcEF0UG9pbnQoY29uc3QgV2ViQ29yZTo6SW50
UG9pbnQmIHBvaW50LCBPcHRpb25TZQogICAgIE5vZGUqIG5vZGVSZXNwb25kaW5nVG9DbGljayA9
IG1fcGFnZS0+bWFpbkZyYW1lKCkubm9kZVJlc3BvbmRpbmdUb0NsaWNrRXZlbnRzKHBvaW50LCBh
ZGp1c3RlZFBvaW50KTsKICAgICBpZiAoIW5vZGVSZXNwb25kaW5nVG9DbGljayB8fCAhbm9kZVJl
c3BvbmRpbmdUb0NsaWNrLT5yZW5kZXJlcigpKSB7CiAgICAgICAgIGF1dG8gYWRqdXN0ZWRJbnRQ
b2ludCA9IHJvdW5kZWRJbnRQb2ludChhZGp1c3RlZFBvaW50KTsKLSAgICAgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFnZVByb3h5OjpEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9p
bnQoYWRqdXN0ZWRJbnRQb2ludCkpOworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJv
eHk6OkRpZFRhcEF0UG9pbnQoYWRqdXN0ZWRJbnRQb2ludCwgVGFwSGFuZGxpbmdSZXN1bHQ6OkRp
ZE5vdEhhbmRsZVRhcEFzQ2xpY2spKTsKICAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVBy
b3h5OjpEaWROb3RIYW5kbGVUYXBBc0NsaWNrKGFkanVzdGVkSW50UG9pbnQpKTsKICAgICAgICAg
cmV0dXJuOwogICAgIH0KQEAgLTEyMjEsNyArMTIyMSw3IEBAIHZvaWQgV2ViUGFnZTo6Y29tbWl0
UG90ZW50aWFsVGFwRmFpbGVkKCkKICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWdlUHJveHk6OkNv
bW1pdFBvdGVudGlhbFRhcEZhaWxlZCgpKTsKIAogICAgIGF1dG8gYWRqdXN0ZWRJbnRQb2ludCA9
IHJvdW5kZWRJbnRQb2ludChtX3BvdGVudGlhbFRhcExvY2F0aW9uKTsKLSAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJQYWdlUHJveHk6OkRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2lu
dChhZGp1c3RlZEludFBvaW50KSk7CisgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpE
aWRUYXBBdFBvaW50KGFkanVzdGVkSW50UG9pbnQsIFRhcEhhbmRsaW5nUmVzdWx0OjpEaWROb3RI
YW5kbGVUYXBBc0NsaWNrKSk7CiAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5OjpEaWRO
b3RIYW5kbGVUYXBBc0NsaWNrKGFkanVzdGVkSW50UG9pbnQpKTsKIH0KIApkaWZmIC0tZ2l0IGEv
VG9vbHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDg0OTU3Mzc2NmVjM2YwYmI5
ZTdmNTNlNTVmM2ZlM2NmZjQxM2Y1NDUuLmJmNjc4YjljNDlhZWY4ZmZiYTI4NDFkY2Y2MjQzODI3
ZGFjNTIyZDMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwzOSBAQAorMjAyMS0wNy0wMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hz
aWVoQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBBdWdtZW50IC1fd2ViVmlldzpkaWROb3RI
YW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQ6IHRvIGluY2x1ZGUgbWVhbmluZ2Z1bCB0
YXBzCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc2
NjYKKyAgICAgICAgcmRhcjovLzgwMDk0OTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVXBkYXRlIHRoZSBsYXlvdXQgdGVzdCBoYXJuZXNzIHRvIHVz
ZSB0aGUgcmVwbGFjZW1lbnQgU1BJIGluc3RlYWQgb2YgdGhlIG5ld2x5IGRlcHJlY2F0ZWQgU1BJ
LiBTZWUKKyAgICAgICAgV2ViS2l0L0NoYW5nZUxvZyBmb3IgbW9yZSBkZXRhaWxzLgorCisgICAg
ICAgICogV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9CaW5kaW5ncy9UZXN0UnVubmVy
LmlkbDoKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlLmNwcDoKKyAgICAgICAgKFdUUjo6SW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNz
YWdlVG9QYWdlKToKKyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rl
c3RSdW5uZXIuY3BwOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjppbnN0YWxsRGlkSGFuZGxl
VGFwQ2FsbGJhY2spOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjpjYWxsRGlkSGFuZGxlVGFw
Q2FsbGJhY2spOgorICAgICAgICAoV1RSOjpUZXN0UnVubmVyOjppbnN0YWxsRGlkTm90SGFuZGxl
VGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayk6IERlbGV0ZWQuCisgICAgICAgIChXVFI6OlRl
c3RSdW5uZXI6OmNhbGxEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrKTog
RGVsZXRlZC4KKworICAgICAgICBSZW5hbWUgdGhpcyB0byBqdXN0IERpZEhhbmRsZVRhcENhbGxi
YWNrLCBhbmQgbWFrZSBpdCB0YWtlIGEgYm9vbGVhbiBhcmd1bWVudCBpbmRpY2F0aW5nIHdoZXRo
ZXIgdGhlIHRhcCB3YXMKKyAgICAgICAgaGFuZGxlZCBhcyBhIG1lYW5pbmdmdWwgY2xpY2suCisK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuaDoK
KyAgICAgICAgKiBXZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcDoKKyAgICAgICAg
KFdUUjo6VGVzdENvbnRyb2xsZXI6OmRpZEhhbmRsZVRhcCk6CisgICAgICAgIChXVFI6OlRlc3RD
b250cm9sbGVyOjpkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayk6IERlbGV0ZWQuCisg
ICAgICAgICogV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oOgorICAgICAgICAqIFdl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwOgorICAgICAgICAoV1RSOjpUZXN0SW52
b2NhdGlvbjo6ZGlkSGFuZGxlVGFwKToKKyAgICAgICAgKFdUUjo6VGVzdEludm9jYXRpb246OmRp
ZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrKTogRGVsZXRlZC4KKyAgICAgICAgKiBXZWJL
aXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmg6CisgICAgICAgICogV2ViS2l0VGVzdFJ1bm5l
ci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtUZXN0UnVubmVyV0tX
ZWJWaWV3IF9kaWRUYXBBdFBvaW50OndpdGhSZXN1bHQ6XSk6CisgICAgICAgICgtW1Rlc3RSdW5u
ZXJXS1dlYlZpZXcgX2RpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQXRQb2ludDpdKTog
RGVsZXRlZC4KKwogMjAyMS0wNy0wMSAgSm9uYXRoYW4gQmVkYXJkICA8amJlZGFyZEBhcHBsZS5j
b20+CiAKICAgICAgICAgW2NsZWFuLXdlYmtpdF0gRXhjbHVkZSBhdXRvaW5zdGFsbGVkIGRpcmVj
dG9yeQpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9UZXN0UnVubmVyLmlkbCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRC
dW5kbGUvQmluZGluZ3MvVGVzdFJ1bm5lci5pZGwKaW5kZXggNGRhMTNiMTUzNDQ1OTVmMTQ3NmUx
NzU4NmQ5MTY4YTVjZDEzZjIyOS4uZWY1MjEyNjAzMDIwOTBhNzkzNTM2ZmZlMTdlMzcyZTIwMTky
MmViOCAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9C
aW5kaW5ncy9UZXN0UnVubmVyLmlkbAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL0luamVj
dGVkQnVuZGxlL0JpbmRpbmdzL1Rlc3RSdW5uZXIuaWRsCkBAIC0yNTgsNyArMjU4LDcgQEAgaW50
ZXJmYWNlIFRlc3RSdW5uZXIgewogICAgIG9iamVjdCBuZXZlcklubGluZUZ1bmN0aW9uKG9iamVj
dCBmdW5jdGlvbik7CiAKICAgICAvLyBVSSBkZWxlZ2F0ZSBob29rcy4KLSAgICB1bmRlZmluZWQg
aW5zdGFsbERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sob2JqZWN0IGNh
bGxiYWNrKTsKKyAgICB1bmRlZmluZWQgaW5zdGFsbERpZEhhbmRsZVRhcENhbGxiYWNrKG9iamVj
dCBjYWxsYmFjayk7CiAKICAgICAvLyBTd2lwZSBnZXN0dXJlcwogICAgIHVuZGVmaW5lZCBpbnN0
YWxsRGlkQmVnaW5Td2lwZUNhbGxiYWNrKG9iamVjdCBjYWxsYmFjayk7CmRpZmYgLS1naXQgYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBi
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3Bw
CmluZGV4IDY3YjM1M2YzMDBmZmJmNjVkMzQ0NmMyZTRkODIxMjA1ZTYzZTE3YTcuLmI5ZjRiYjJj
Yzc5OTkwMGYyOTY2N2Y3YjU1NGYwZTBjNDcxOWQ2OWQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCisrKyBiL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwCkBAIC0y
NjUsOCArMjY1LDEwIEBAIHZvaWQgSW5qZWN0ZWRCdW5kbGU6OmRpZFJlY2VpdmVNZXNzYWdlVG9Q
YWdlKFdLQnVuZGxlUGFnZVJlZiBwYWdlLCBXS1N0cmluZ1JlZiBtCiAgICAgICAgIHJldHVybjsK
ICAgICB9CiAKLSAgICBpZiAoV0tTdHJpbmdJc0VxdWFsVG9VVEY4Q1N0cmluZyhtZXNzYWdlTmFt
ZSwgIkNhbGxEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrIikpIHsKLSAg
ICAgICAgbV90ZXN0UnVubmVyLT5jYWxsRGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tD
YWxsYmFjaygpOworICAgIGlmIChXS1N0cmluZ0lzRXF1YWxUb1VURjhDU3RyaW5nKG1lc3NhZ2VO
YW1lLCAiQ2FsbERpZEhhbmRsZVRhcENhbGxiYWNrIikpIHsKKyAgICAgICAgQVNTRVJUKG1lc3Nh
Z2VCb2R5KTsKKyAgICAgICAgQVNTRVJUKFdLR2V0VHlwZUlEKG1lc3NhZ2VCb2R5KSA9PSBXS0Jv
b2xlYW5HZXRUeXBlSUQoKSk7CisgICAgICAgIG1fdGVzdFJ1bm5lci0+Y2FsbERpZEhhbmRsZVRh
cENhbGxiYWNrKFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4obWVz
c2FnZUJvZHkpKSk7CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKZGlmZiAtLWdpdCBhL1Rvb2xz
L1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAgYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL0luamVjdGVkQnVuZGxlL1Rlc3RSdW5uZXIuY3BwCmluZGV4IDNmNzJh
YzJhNDgxNDZlMzAxNDgyZGQyZWQ0ZWJjMTkyZmY1NTVkMzEuLmFmNTExMGEwOGMyYjllMzVhN2U3
Zjc2OGRlZjVkN2M5ZDNjOTkxNzkgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5l
ci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVubmVyLmNwcApAQCAtNjQ2LDcgKzY0Niw3IEBAIGVudW0g
ewogICAgIEVudGVyRnVsbHNjcmVlbkZvckVsZW1lbnRDYWxsYmFja0lELAogICAgIEV4aXRGdWxs
c2NyZWVuRm9yRWxlbWVudENhbGxiYWNrSUQsCiAgICAgQXBwQm91bmRSZXF1ZXN0Q29udGV4dERh
dGFGb3JEb21haW5DYWxsYmFja0lELAotICAgIERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrQ2FsbGJhY2tJRCwKKyAgICBEaWRIYW5kbGVUYXBDYWxsYmFja0lELAogICAgIEZpcnN0VUlT
Y3JpcHRDYWxsYmFja0lEID0gMTAwCiB9OwogCkBAIC0xMTA3LDE0ICsxMTA3LDE1IEBAIHZvaWQg
VGVzdFJ1bm5lcjo6aW5zdGFsbEN1c3RvbU1lbnVBY3Rpb24oSlNTdHJpbmdSZWYgbmFtZSwgYm9v
bCBkaXNtaXNzZXNBdXRvbWF0CiAgICAgfSkpOwogfQogCi12b2lkIFRlc3RSdW5uZXI6Omluc3Rh
bGxEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrKEpTVmFsdWVSZWYgY2Fs
bGJhY2spCit2b2lkIFRlc3RSdW5uZXI6Omluc3RhbGxEaWRIYW5kbGVUYXBDYWxsYmFjayhKU1Zh
bHVlUmVmIGNhbGxiYWNrKQogewotICAgIGNhY2hlVGVzdFJ1bm5lckNhbGxiYWNrKERpZE5vdEhh
bmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2tJRCwgY2FsbGJhY2spOworICAgIGNhY2hl
VGVzdFJ1bm5lckNhbGxiYWNrKERpZEhhbmRsZVRhcENhbGxiYWNrSUQsIGNhbGxiYWNrKTsKIH0K
IAotdm9pZCBUZXN0UnVubmVyOjpjYWxsRGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tD
YWxsYmFjaygpCit2b2lkIFRlc3RSdW5uZXI6OmNhbGxEaWRIYW5kbGVUYXBDYWxsYmFjayhib29s
IHdhc01lYW5pbmdmdWwpCiB7Ci0gICAgY2FsbFRlc3RSdW5uZXJDYWxsYmFjayhEaWROb3RIYW5k
bGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrSUQpOworICAgIGF1dG8gcmVzdWx0ID0gSlNW
YWx1ZU1ha2VCb29sZWFuKG1haW5GcmFtZUpTQ29udGV4dCgpLCB3YXNNZWFuaW5nZnVsKTsKKyAg
ICBjYWxsVGVzdFJ1bm5lckNhbGxiYWNrKERpZEhhbmRsZVRhcENhbGxiYWNrSUQsIDEsICZyZXN1
bHQpOwogfQogCiB2b2lkIFRlc3RSdW5uZXI6Omluc3RhbGxEaWRCZWdpblN3aXBlQ2FsbGJhY2so
SlNWYWx1ZVJlZiBjYWxsYmFjaykKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
SW5qZWN0ZWRCdW5kbGUvVGVzdFJ1bm5lci5oIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9Jbmpl
Y3RlZEJ1bmRsZS9UZXN0UnVubmVyLmgKaW5kZXggMWJlNjYzZDhlZDgxYzM5MGMxZDhiOWM2Y2I2
MTAwZGJhODQ1MTQyNi4uZDNhNThjOTgwM2M1M2QwYjg4OWNhYTYyYzU4ZmJhMGY0OTZmNjM1YSAx
MDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9UZXN0UnVu
bmVyLmgKQEAgLTM0NSw4ICszNDUsOCBAQCBwdWJsaWM6CiAgICAgdm9pZCBpbnN0YWxsQ3VzdG9t
TWVudUFjdGlvbihKU1N0cmluZ1JlZiBuYW1lLCBib29sIGRpc21pc3Nlc0F1dG9tYXRpY2FsbHks
IEpTVmFsdWVSZWYgY2FsbGJhY2spOwogICAgIHZvaWQgcGVyZm9ybUN1c3RvbU1lbnVBY3Rpb24o
KTsKIAotICAgIHZvaWQgaW5zdGFsbERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2Fs
bGJhY2soSlNWYWx1ZVJlZik7Ci0gICAgdm9pZCBjYWxsRGlkTm90SGFuZGxlVGFwQXNNZWFuaW5n
ZnVsQ2xpY2tDYWxsYmFjaygpOworICAgIHZvaWQgaW5zdGFsbERpZEhhbmRsZVRhcENhbGxiYWNr
KEpTVmFsdWVSZWYpOworICAgIHZvaWQgY2FsbERpZEhhbmRsZVRhcENhbGxiYWNrKGJvb2wgd2Fz
TWVhbmluZ2Z1bCk7CiAKICAgICB2b2lkIGluc3RhbGxEaWRCZWdpblN3aXBlQ2FsbGJhY2soSlNW
YWx1ZVJlZik7CiAgICAgdm9pZCBpbnN0YWxsV2lsbEVuZFN3aXBlQ2FsbGJhY2soSlNWYWx1ZVJl
Zik7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNw
cCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3BwCmluZGV4IGNmYzlj
NDQ4M2M4MjVkOTEzZWQyN2E0ZDU1ODg0ZjI0MmQ3NmYwMDIuLjg0YWMwMzkwNDM1ZWZkMDliMzE5
NzNkMTNlMDA0YWJkYTYxY2FmNjQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIv
VGVzdENvbnRyb2xsZXIuY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRy
b2xsZXIuY3BwCkBAIC0yMjEyLDkgKzIyMTIsOSBAQCB2b2lkIFRlc3RDb250cm9sbGVyOjp3ZWJQ
cm9jZXNzRGlkVGVybWluYXRlKFdLUHJvY2Vzc1Rlcm1pbmF0aW9uUmVhc29uIHJlYXNvbikKICAg
ICAgICAgZXhpdCgxKTsKIH0KIAotdm9pZCBUZXN0Q29udHJvbGxlcjo6ZGlkTm90SGFuZGxlVGFw
QXNNZWFuaW5nZnVsQ2xpY2soKQordm9pZCBUZXN0Q29udHJvbGxlcjo6ZGlkSGFuZGxlVGFwKGJv
b2wgd2FzTWVhbmluZ2Z1bCkKIHsKLSAgICBtX2N1cnJlbnRJbnZvY2F0aW9uLT5kaWROb3RIYW5k
bGVUYXBBc01lYW5pbmdmdWxDbGljaygpOworICAgIG1fY3VycmVudEludm9jYXRpb24tPmRpZEhh
bmRsZVRhcCh3YXNNZWFuaW5nZnVsKTsKIH0KIAogdm9pZCBUZXN0Q29udHJvbGxlcjo6ZGlkQmVn
aW5OYXZpZ2F0aW9uR2VzdHVyZShXS1BhZ2VSZWYpCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRU
ZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmggYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RD
b250cm9sbGVyLmgKaW5kZXggYmMwZWM1MjY5MzQ3MzYxYzMxNWU2ZTRkMDdkYjgxYWJiNmI0N2M2
ZS4uOTIwZTgyMjhhYjg2ZjM0MjUyMzIwZWIzNjZhNWM3OTZkMmMwNTQyMiAxMDA2NDQKLS0tIGEv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5oCisrKyBiL1Rvb2xzL1dlYktp
dFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuaApAQCAtMzYzLDcgKzM2Myw3IEBAIHB1YmxpYzoK
ICAgICB2b2lkIGNvbXBsZXRlTWVkaWFLZXlTeXN0ZW1QZXJtaXNzaW9uQ2hlY2soV0tNZWRpYUtl
eVN5c3RlbVBlcm1pc3Npb25DYWxsYmFja1JlZik7CiAgICAgdm9pZCBzZXRJc01lZGlhS2V5U3lz
dGVtUGVybWlzc2lvbkdyYW50ZWQoYm9vbCk7CiAKLSAgICB2b2lkIGRpZE5vdEhhbmRsZVRhcEFz
TWVhbmluZ2Z1bENsaWNrKCk7CisgICAgdm9pZCBkaWRIYW5kbGVUYXAoYm9vbCB3YXNNZWFuaW5n
ZnVsKTsKIAogcHJpdmF0ZToKICAgICBXS1JldGFpblB0cjxXS1BhZ2VDb25maWd1cmF0aW9uUmVm
PiBnZW5lcmF0ZVBhZ2VDb25maWd1cmF0aW9uKGNvbnN0IFRlc3RPcHRpb25zJik7CmRpZmYgLS1n
aXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmNwcCBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCmluZGV4IDVkMzI3MjM5MmJlZTEwYzdi
Y2VlYWQ0YzNmOTIxNDZlMWViOTNlYTAuLjU5ODE1M2FhMzQyNTc1NGIxMWQyMWVkNGRmYjAxYTVl
M2I5ZDZjMmQgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRp
b24uY3BwCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uY3BwCkBA
IC0xNDQ1LDkgKzE0NDUsMTAgQEAgdm9pZCBUZXN0SW52b2NhdGlvbjo6b3V0cHV0VGV4dChjb25z
dCBXVEY6OlN0cmluZyYgdGV4dCkKICAgICBtX3RleHRPdXRwdXQuYXBwZW5kKHRleHQpOwogfQog
Ci12b2lkIFRlc3RJbnZvY2F0aW9uOjpkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljaygp
Cit2b2lkIFRlc3RJbnZvY2F0aW9uOjpkaWRIYW5kbGVUYXAoYm9vbCB3YXNNZWFuaW5nZnVsKQog
ewotICAgIHBvc3RQYWdlTWVzc2FnZSgiQ2FsbERpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrQ2FsbGJhY2siKTsKKyAgICBhdXRvIG1lc3NhZ2VCb2R5ID0gYWRvcHRXSyhXS0Jvb2xlYW5D
cmVhdGUod2FzTWVhbmluZ2Z1bCkpOworICAgIHBvc3RQYWdlTWVzc2FnZSgiQ2FsbERpZEhhbmRs
ZVRhcENhbGxiYWNrIiwgbWVzc2FnZUJvZHkpOwogfQogCiB2b2lkIFRlc3RJbnZvY2F0aW9uOjpk
aWRCZWdpblN3aXBlKCkKZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdElu
dm9jYXRpb24uaCBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdEludm9jYXRpb24uaAppbmRl
eCBhOGM4NTRlMjc2N2Q2OTgyNmVkOTc2MzNiNzFlMzI1ODFlODZmMjg2Li4wNGYwOTNmMGU3ZmNi
MzEzZGIwMjNkMGEzYTQyY2Y4MmM3ZjY3Yjg4IDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL1Rlc3RJbnZvY2F0aW9uLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0
SW52b2NhdGlvbi5oCkBAIC02NCw3ICs2NCw3IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgdm9pZCBk
dW1wV2ViUHJvY2Vzc1VucmVzcG9uc2l2ZW5lc3MoY29uc3QgY2hhciogZXJyb3JNZXNzYWdlKTsK
ICAgICB2b2lkIG91dHB1dFRleHQoY29uc3QgU3RyaW5nJik7CiAKLSAgICB2b2lkIGRpZE5vdEhh
bmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrKCk7CisgICAgdm9pZCBkaWRIYW5kbGVUYXAoYm9vbCB3
YXNNZWFuaW5nZnVsKTsKIAogICAgIHZvaWQgZGlkQmVnaW5Td2lwZSgpOwogICAgIHZvaWQgd2ls
bEVuZFN3aXBlKCk7CmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rl
c3RSdW5uZXJXS1dlYlZpZXcubW0gYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL2NvY29hL1Rlc3RS
dW5uZXJXS1dlYlZpZXcubW0KaW5kZXggZDdiYTRiZWY2ZmI4OWNkZDY5NmJiMTk3MDQxY2U0OGIx
ZTJkZmNkMy4uM2E5YmYzOTJkMWY0OWE1OTdmMzg1MmYzNGQ2MmNiYjM3NWZmODkwZCAxMDA2NDQK
LS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9jb2NvYS9UZXN0UnVubmVyV0tXZWJWaWV3Lm1t
CisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvY29jb2EvVGVzdFJ1bm5lcldLV2ViVmlldy5t
bQpAQCAtMzk5LDkgKzM5OSw5IEBAIC0gKHZvaWQpX2RpZERpc21pc3NQb3BvdmVyCiAgICAgICAg
IHNlbGYuZGlkRGlzbWlzc1BvcG92ZXJDYWxsYmFjaygpOwogfQogCi0tICh2b2lkKV9kaWROb3RI
YW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0F0UG9pbnQ6KENHUG9pbnQpcG9pbnQKKy0gKHZvaWQp
X2RpZFRhcEF0UG9pbnQ6KENHUG9pbnQpcG9pbnQgd2l0aFJlc3VsdDooX1dLVGFwSGFuZGxpbmdS
ZXN1bHQpcmVzdWx0CiB7Ci0gICAgV1RSOjpUZXN0Q29udHJvbGxlcjo6c2luZ2xldG9uKCkuZGlk
Tm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2soKTsKKyAgICBXVFI6OlRlc3RDb250cm9sbGVy
OjpzaW5nbGV0b24oKS5kaWRIYW5kbGVUYXAocmVzdWx0ID09IF9XS1RhcEhhbmRsaW5nUmVzdWx0
TWVhbmluZ2Z1bENsaWNrKTsKIH0KIAogLSAodm9pZClzY3JvbGxWaWV3V2lsbEJlZ2luWm9vbWlu
ZzooVUlTY3JvbGxWaWV3ICopc2Nyb2xsVmlldyB3aXRoVmlldzooVUlWaWV3ICopdmlldwpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmlu
ZGV4IGNmZDdhN2M1NzdkMWMyNzI3ZjQwNmJjM2Y4OGU5YzZlNmZlY2MwN2IuLjVlOWJkMTdiNjA4
MDllOGE3ZWMzMWY3NDUyODVlZWQ4YTlhNjQyZTggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0No
YW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAy
MS0wNy0wMyAgV2Vuc29uIEhzaWVoICA8d2Vuc29uX2hzaWVoQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBBdWdtZW50IC1fd2ViVmlldzpkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlj
a0F0UG9pbnQ6IHRvIGluY2x1ZGUgbWVhbmluZ2Z1bCB0YXBzCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMjc2NjYKKyAgICAgICAgcmRhcjovLzgwMDk0
OTYyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXBk
YXRlIHRoZSBleGlzdGluZyBsYXlvdXQgdGVzdHMuIFRoZSBuZXcgVUkgZGVsZWdhdGUgbWV0aG9k
IHNob3VsZCBub3cgYmUgaW52b2tlZCBpbiBhbGwgb2YgdGhlIGNhc2VzOyBob3dldmVyLAorICAg
ICAgICB3ZSBzaG91bGQgb25seSBvYnNlcnZlIG1lYW5pbmdmdWwgY2xpY2tzIGluIHNvbWUgb2Yg
dGhlIGJlbG93IHNjZW5hcmlvcy4gU2VlIFdlYktpdC9DaGFuZ2VMb2cgZm9yIG1vcmUgZGV0YWls
cy4KKworICAgICAgICAqIGZhc3QvZXZlbnRzL2lvcy9kaWQtbm90LWhhbmRsZS1tZWFuaW5nZnVs
LWNsaWNrLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3MvZGlkLW5vdC1o
YW5kbGUtbWVhbmluZ2Z1bC1jbGljay5odG1sOgorICAgICAgICAqIGZhc3QvZXZlbnRzL2lvcy9t
ZWFuaW5nZnVsLWNsaWNrLXdoZW4tZm9jdXNpbmctYm9keS1leHBlY3RlZC50eHQ6CisgICAgICAg
ICogZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1mb2N1c2luZy1ib2R5Lmh0
bWw6CisgICAgICAgICogZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5
aW5nLW1lZGlhLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3MvbWVhbmlu
Z2Z1bC1jbGljay13aGVuLXBsYXlpbmctbWVkaWEuaHRtbDoKKyAgICAgICAgKiBmYXN0L2V2ZW50
cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRvY3VtZW50LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBmYXN0L2V2ZW50cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2std2hl
bi10YXBwaW5nLWRvY3VtZW50Lmh0bWw6CisKIDIwMjEtMDctMDEgIENhbWVyb24gTWNDb3JtYWNr
ICA8aGV5Y2FtQGFwcGxlLmNvbT4KIAogICAgICAgICBNb3ZlIHNvbWUgTWFjIE1hdGhNTCB0ZXN0
IGV4cGVjdGF0aW9uIGZpbGVzIGFyb3VuZApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvaW9zL2RpZC1ub3QtaGFuZGxlLW1lYW5pbmdmdWwtY2xpY2stZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL2RpZC1ub3QtaGFuZGxlLW1lYW5pbmdmdWwtY2xp
Y2stZXhwZWN0ZWQudHh0CmluZGV4IGE0NjcwNTk2YjI4OWZkYzBkMzk0NzBjMGM2NjcwNzQ3ZGNj
ZDUwNTcuLjU3NTE5YzVkNzFhNThiYmY2MDM3YTJkYzFiOGFkMTIyYWJiZWFmNDkgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9kaWQtbm90LWhhbmRsZS1tZWFuaW5nZnVs
LWNsaWNrLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvZGlk
LW5vdC1oYW5kbGUtbWVhbmluZ2Z1bC1jbGljay1leHBlY3RlZC50eHQKQEAgLTIsMTEgKzIsMTUg
QEAgVGhpcyB0ZXN0IGlzIGludGVuZGVkIHRvIGV4ZXJjaXNlIHRoZSAnbWVhbmluZ2Z1bCBjbGlj
aycgaGV1cmlzdGljLCBhbmQgcmVxdWlyZXMKIAogT24gc3VjY2VzcywgeW91IHdpbGwgc2VlIGEg
c2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUiLgog
Ci1QQVNTIGRpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgaXMgdHJ1ZQor
UEFTUyBkaWRIYW5kbGVUYXAgaXMgdHJ1ZQorUEFTUyBkaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxD
bGljayBpcyBmYWxzZQogUEFTUyBjbGlja2VkIG9uIGJ1dHRvbgotUEFTUyBkaWROb3RIYW5kbGVU
YXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrIGlzIGZhbHNlCi1QQVNTIGRpZE5vdEhhbmRsZVRh
cEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgaXMgdHJ1ZQotUEFTUyBkaWROb3RIYW5kbGVUYXBB
c01lYW5pbmdmdWxDbGlja0NhbGxiYWNrIGlzIGZhbHNlCitQQVNTIGRpZEhhbmRsZVRhcCBpcyB0
cnVlCitQQVNTIGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrIGlzIHRydWUKK1BBU1MgZGlk
SGFuZGxlVGFwIGlzIHRydWUKK1BBU1MgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgaXMg
ZmFsc2UKK1BBU1MgZGlkSGFuZGxlVGFwIGlzIHRydWUKK1BBU1MgZGlkSGFuZGxlVGFwQXNNZWFu
aW5nZnVsQ2xpY2sgaXMgdHJ1ZQogUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBU
RVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvZGlk
LW5vdC1oYW5kbGUtbWVhbmluZ2Z1bC1jbGljay5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvaW9zL2RpZC1ub3QtaGFuZGxlLW1lYW5pbmdmdWwtY2xpY2suaHRtbAppbmRleCA2NDA5ZDNh
ZGI2OGNkN2U1NWE3YjBjZmNjYzljZjdkZDBiZjg4NTIzLi5kNTY3NjYyYmEwOGI2ZGZiOWIwMmU5
NTZhNTU4ZTc2OWMwMTM2M2ViIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9p
b3MvZGlkLW5vdC1oYW5kbGUtbWVhbmluZ2Z1bC1jbGljay5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZXZlbnRzL2lvcy9kaWQtbm90LWhhbmRsZS1tZWFuaW5nZnVsLWNsaWNrLmh0bWwKQEAg
LTIyLDMyICsyMiwzNSBAQCBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4gewog
ICAgIGxldCB0ZXh0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRleHQiKTsKICAgICBsZXQg
YnV0dG9uID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInRhcmdldCIpOwogCi0gICAgYXN5bmMg
ZnVuY3Rpb24gc2ltdWxhdGVUYXBBbmRDaGVja0RpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrKGVsZW1lbnQsIGV4cGVjdGF0aW9uKSB7Ci0gICAgICAgIGRpZE5vdEhhbmRsZVRhcEFzTWVh
bmluZ2Z1bENsaWNrQ2FsbGJhY2sgPSBmYWxzZTsKLSAgICAgICAgdGVzdFJ1bm5lci5pbnN0YWxs
RGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFjaygoKSA9PiB7Ci0gICAgICAg
ICAgICBkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrID0gdHJ1ZTsKKyAg
ICBhc3luYyBmdW5jdGlvbiBzaW11bGF0ZVRhcEFuZENoZWNrRGlkSGFuZGxlVGFwQXNNZWFuaW5n
ZnVsQ2xpY2soZWxlbWVudCwgZXhwZWN0YXRpb24pIHsKKyAgICAgICAgZGlkSGFuZGxlVGFwID0g
ZmFsc2U7CisgICAgICAgIGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrID0gZmFsc2U7Cisg
ICAgICAgIHRlc3RSdW5uZXIuaW5zdGFsbERpZEhhbmRsZVRhcENhbGxiYWNrKHdhc01lYW5pbmdm
dWwgPT4geworICAgICAgICAgICAgZGlkSGFuZGxlVGFwID0gdHJ1ZTsKKyAgICAgICAgICAgIGRp
ZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrID0gd2FzTWVhbmluZ2Z1bDsKICAgICAgICAgfSk7
CiAKICAgICAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGVsZW1lbnQpOwogICAg
ICAgICBhd2FpdCBVSUhlbHBlci53YWl0Rm9yRG91YmxlVGFwRGVsYXkoKTsKKyAgICAgICAgc2hv
dWxkQmVUcnVlKCJkaWRIYW5kbGVUYXAiKTsKICAgICAgICAgaWYgKGV4cGVjdGF0aW9uKQotICAg
ICAgICAgICAgc2hvdWxkQmVUcnVlKCJkaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0Nh
bGxiYWNrIik7CisgICAgICAgICAgICBzaG91bGRCZVRydWUoImRpZEhhbmRsZVRhcEFzTWVhbmlu
Z2Z1bENsaWNrIik7CiAgICAgICAgIGVsc2UKLSAgICAgICAgICAgIHNob3VsZEJlRmFsc2UoImRp
ZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2siKTsKKyAgICAgICAgICAgIHNo
b3VsZEJlRmFsc2UoImRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrIik7CiAKICAgICAgICAg
dGVzdFJ1bm5lci5jbGVhclRlc3RSdW5uZXJDYWxsYmFja3MoKTsKICAgICB9CiAKLSAgICBhd2Fp
dCBzaW11bGF0ZVRhcEFuZENoZWNrRGlkTm90SGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sodGV4
dCwgdHJ1ZSk7Ci0gICAgYXdhaXQgc2ltdWxhdGVUYXBBbmRDaGVja0RpZE5vdEhhbmRsZVRhcEFz
TWVhbmluZ2Z1bENsaWNrKGJ1dHRvbiwgZmFsc2UpOworICAgIGF3YWl0IHNpbXVsYXRlVGFwQW5k
Q2hlY2tEaWRIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayh0ZXh0LCBmYWxzZSk7CisgICAgYXdh
aXQgc2ltdWxhdGVUYXBBbmRDaGVja0RpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrKGJ1dHRv
biwgdHJ1ZSk7CiAKICAgICBkb2N1bWVudC5ib2R5LmFkZEV2ZW50TGlzdGVuZXIoImNsaWNrIiwg
KCkgPT4geyB9KTsKLSAgICBhd2FpdCBzaW11bGF0ZVRhcEFuZENoZWNrRGlkTm90SGFuZGxlVGFw
QXNNZWFuaW5nZnVsQ2xpY2sodGV4dCwgdHJ1ZSk7CisgICAgYXdhaXQgc2ltdWxhdGVUYXBBbmRD
aGVja0RpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrKHRleHQsIGZhbHNlKTsKIAogICAgIGRv
Y3VtZW50LmJvZHkuYWRkRXZlbnRMaXN0ZW5lcigibW91c2Vkb3duIiwgKGV2ZW50KSA9PiB7CiAg
ICAgICAgIGV2ZW50LnByZXZlbnREZWZhdWx0KCk7CiAgICAgfSk7Ci0gICAgYXdhaXQgc2ltdWxh
dGVUYXBBbmRDaGVja0RpZE5vdEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrKHRleHQsIGZhbHNl
KTsKKyAgICBhd2FpdCBzaW11bGF0ZVRhcEFuZENoZWNrRGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVs
Q2xpY2sodGV4dCwgdHJ1ZSk7CiAKICAgICB0ZXh0LnJlbW92ZSgpOwogICAgIGJ1dHRvbi5yZW1v
dmUoKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVs
LWNsaWNrLXdoZW4tZm9jdXNpbmctYm9keS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLWZvY3VzaW5nLWJvZHktZXhwZWN0ZWQu
dHh0CmluZGV4IDdiY2E2Y2QzYTUzMzJhMjBkMWRjNTdlYmIzODUzOTNlODUyNTdmN2YuLjQyZGFh
NGFlMWMzYjQzMGJlYTJmMjlmZWMyNTc3ZWU1OTVhNWUxMjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tZm9jdXNpbmctYm9keS1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwt
Y2xpY2std2hlbi1mb2N1c2luZy1ib2R5LWV4cGVjdGVkLnR4dApAQCAtMyw5ICszLDEwIEBAIFRo
aXMgdGVzdCBleGVyY2lzZXMgdGhlICdtZWFuaW5nZnVsIGNsaWNrJyBoZXVyaXN0aWMgaW4gYW4g
ZWRpdGFibGUgYm9keSBlbGVtZW50CiBPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMg
b2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCiAKIFBBU1Mg
Rm9jdXNlZCBib2R5IGVsZW1lbnQKLVBBU1MgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tD
YWxsYmFjayBpcyBmYWxzZQorUEFTUyBkaWRIYW5kbGVUYXAgaXMgdHJ1ZQorUEFTUyBkaWRIYW5k
bGVUYXBBc01lYW5pbmdmdWxDbGljayBpcyB0cnVlCiBQQVNTIFRhcHBlZCBpbnNpZGUgYm9keSBl
bGVtZW50Ci1QQVNTIGRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgaXMgZmFs
c2UKK1BBU1MgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgaXMgdHJ1ZQogUEFTUyBzdWNj
ZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1jbGljay13aGVuLWZvY3VzaW5nLWJv
ZHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdo
ZW4tZm9jdXNpbmctYm9keS5odG1sCmluZGV4IDE2M2RlMmRhMjY1YjQzOTQ3ODY0MWIyYjBmYmE0
ZjBlYjM5NWMxZjMuLjQzMzFkNzU3YmZkY2NkZWM0ZTM0MmRlODgxOWI1Mzg2M2JhNWE3NDYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdo
ZW4tZm9jdXNpbmctYm9keS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9t
ZWFuaW5nZnVsLWNsaWNrLXdoZW4tZm9jdXNpbmctYm9keS5odG1sCkBAIC0xOSwyNiArMTksMzEg
QEAganNUZXN0SXNBc3luYyA9IHRydWU7CiBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMg
KCkgPT4gewogICAgIGRlc2NyaXB0aW9uKCJUaGlzIHRlc3QgZXhlcmNpc2VzIHRoZSAnbWVhbmlu
Z2Z1bCBjbGljaycgaGV1cmlzdGljIGluIGFuIGVkaXRhYmxlIGJvZHkgZWxlbWVudCwgYW5kIHJl
cXVpcmVzIFdlYktpdFRlc3RSdW5uZXIuIik7CiAKLSAgICBkaWREaXNwYXRjaE5vbk1lYW5pbmdm
dWxDbGlja0NhbGxiYWNrID0gZmFsc2U7Ci0gICAgdGVzdFJ1bm5lci5pbnN0YWxsRGlkTm90SGFu
ZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2tDYWxsYmFjaygoKSA9PiB7Ci0gICAgICAgIGRpZERpc3Bh
dGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgPSB0cnVlOworICAgIGRpZEhhbmRsZVRhcCA9
IGZhbHNlOworICAgIGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrID0gZmFsc2U7CisgICAg
dGVzdFJ1bm5lci5pbnN0YWxsRGlkSGFuZGxlVGFwQ2FsbGJhY2sod2FzTWVhbmluZ2Z1bCA9PiB7
CisgICAgICAgIGRpZEhhbmRsZVRhcCA9IHRydWU7CisgICAgICAgIGRpZEhhbmRsZVRhcEFzTWVh
bmluZ2Z1bENsaWNrID0gd2FzTWVhbmluZ2Z1bDsKICAgICB9KTsKIAogICAgIGF3YWl0IFVJSGVs
cGVyLmFjdGl2YXRlRWxlbWVudEFuZFdhaXRGb3JJbnB1dFNlc3Npb24oZG9jdW1lbnQuYm9keSk7
CiAgICAgYXdhaXQgVUlIZWxwZXIud2FpdEZvckRvdWJsZVRhcERlbGF5KCk7CiAgICAgdGVzdFBh
c3NlZCgiRm9jdXNlZCBib2R5IGVsZW1lbnQiKTsKLSAgICBzaG91bGRCZUZhbHNlKCJkaWREaXNw
YXRjaE5vbk1lYW5pbmdmdWxDbGlja0NhbGxiYWNrIik7CisgICAgc2hvdWxkQmVUcnVlKCJkaWRI
YW5kbGVUYXAiKTsKKyAgICBzaG91bGRCZVRydWUoImRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENs
aWNrIik7CiAKICAgICB0ZXN0UnVubmVyLmNsZWFyVGVzdFJ1bm5lckNhbGxiYWNrcygpOwotICAg
IGRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgPSBmYWxzZTsKLSAgICB0ZXN0
UnVubmVyLmluc3RhbGxEaWROb3RIYW5kbGVUYXBBc01lYW5pbmdmdWxDbGlja0NhbGxiYWNrKCgp
ID0+IHsKLSAgICAgICAgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayA9IHRy
dWU7CisgICAgZGlkSGFuZGxlVGFwID0gZmFsc2U7CisgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5n
ZnVsQ2xpY2sgPSBmYWxzZTsKKyAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWRIYW5kbGVUYXBDYWxs
YmFjayh3YXNNZWFuaW5nZnVsID0+IHsKKyAgICAgICAgZGlkSGFuZGxlVGFwID0gdHJ1ZTsKKyAg
ICAgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgPSB3YXNNZWFuaW5nZnVsOwogICAg
IH0pOwogCiAgICAgYXdhaXQgVUlIZWxwZXIuYWN0aXZhdGVBdCgxMDAsIDEwMCk7CiAgICAgYXdh
aXQgVUlIZWxwZXIud2FpdEZvckRvdWJsZVRhcERlbGF5KCk7CiAgICAgdGVzdFBhc3NlZCgiVGFw
cGVkIGluc2lkZSBib2R5IGVsZW1lbnQiKTsKLSAgICBzaG91bGRCZUZhbHNlKCJkaWREaXNwYXRj
aE5vbk1lYW5pbmdmdWxDbGlja0NhbGxiYWNrIik7CisgICAgc2hvdWxkQmVUcnVlKCJkaWRIYW5k
bGVUYXBBc01lYW5pbmdmdWxDbGljayIpOwogCiAgICAgdGVzdFJ1bm5lci5jbGVhclRlc3RSdW5u
ZXJDYWxsYmFja3MoKTsKICAgICBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGV4dCIpLnJlbW92
ZSgpOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwt
Y2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3Qv
ZXZlbnRzL2lvcy9tZWFuaW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS1leHBlY3RlZC50
eHQKaW5kZXggN2EwYzY5OWE0YzdmZTJkZmZlZTRhNmJiN2I3YmE1M2NiMGNjOWQ3OC4uZmUyNjli
MWFlMjcwNTkzZGNhZjk1MWRiZWQ2NzBjYTliZThlMGY2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLWV4
cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2V2ZW50cy9pb3MvbWVhbmluZ2Z1bC1j
bGljay13aGVuLXBsYXlpbmctbWVkaWEtZXhwZWN0ZWQudHh0CkBAIC0zLDkgKzMsMTEgQEAgVGhp
cyB0ZXN0IGV4ZXJjaXNlcyB0aGUgJ21lYW5pbmdmdWwgY2xpY2snIGhldXJpc3RpYyB3aGVuIHBs
YXlpbmcgb3IgcGF1c2luZyBhIHYKIE9uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBv
ZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KIAogUEFTUyBk
aWRQbGF5VmlkZW8gYmVjYW1lIHRydWUKLVBBU1MgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xp
Y2tDYWxsYmFjayBpcyBmYWxzZQorUEFTUyBkaWRIYW5kbGVUYXAgaXMgdHJ1ZQorUEFTUyBkaWRI
YW5kbGVUYXBBc01lYW5pbmdmdWxDbGljayBpcyB0cnVlCiBQQVNTIGRpZFBhdXNlVmlkZW8gYmVj
YW1lIHRydWUKLVBBU1MgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayBpcyBm
YWxzZQorUEFTUyBkaWRIYW5kbGVUYXAgaXMgdHJ1ZQorUEFTUyBkaWRIYW5kbGVUYXBBc01lYW5p
bmdmdWxDbGljayBpcyB0cnVlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRF
U1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9tZWFu
aW5nZnVsLWNsaWNrLXdoZW4tcGxheWluZy1tZWRpYS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLmh0bWwKaW5kZXgg
OTJkOGMxMmJiNmY0M2U4MWQzOGE2MDcxZDEzNGI1ODQwZGNmNDMyNy4uNzMxNjk0NWFhOTlmM2M1
MDdiYjZmYzI3ZmQ4MjY5ZmEwMGM4ZDU5ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9l
dmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5nLW1lZGlhLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL21lYW5pbmdmdWwtY2xpY2std2hlbi1wbGF5aW5n
LW1lZGlhLmh0bWwKQEAgLTM0LDIxICszNCwyNCBAQCBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
YXN5bmMgKCkgPT4gewogICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIGFzeW5jIGZ1bmN0aW9uIGNoZWNrRm9yTm9uTWVhbmluZ2Z1bENsaWNrKHNob3Vs
ZFBsYXkpIHsKLSAgICAgICAgZGlkRGlzcGF0Y2hOb25NZWFuaW5nZnVsQ2xpY2tDYWxsYmFjayA9
IGZhbHNlOwotICAgICAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWROb3RIYW5kbGVUYXBBc01lYW5p
bmdmdWxDbGlja0NhbGxiYWNrKCgpID0+IHsKLSAgICAgICAgICAgIGRpZERpc3BhdGNoTm9uTWVh
bmluZ2Z1bENsaWNrQ2FsbGJhY2sgPSB0cnVlOworICAgIGFzeW5jIGZ1bmN0aW9uIHNpbXVsYXRl
VGFwKHNob3VsZFBsYXkpIHsKKyAgICAgICAgZGlkSGFuZGxlVGFwID0gZmFsc2U7CisgICAgICAg
IGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrID0gZmFsc2U7CisgICAgICAgIHRlc3RSdW5u
ZXIuaW5zdGFsbERpZEhhbmRsZVRhcENhbGxiYWNrKHdhc01lYW5pbmdmdWwgPT4geworICAgICAg
ICAgICAgZGlkSGFuZGxlVGFwID0gdHJ1ZTsKKyAgICAgICAgICAgIGRpZEhhbmRsZVRhcEFzTWVh
bmluZ2Z1bENsaWNrID0gd2FzTWVhbmluZ2Z1bDsKICAgICAgICAgfSk7CiAKICAgICAgICAgYXdh
aXQgVUlIZWxwZXIuYWN0aXZhdGVFbGVtZW50KGRvY3VtZW50LmJvZHkpOwogICAgICAgICBhd2Fp
dCBVSUhlbHBlci53YWl0Rm9yRG91YmxlVGFwRGVsYXkoKTsKICAgICAgICAgYXdhaXQgbmV3IFBy
b21pc2UocmVzb2x2ZSA9PiBzaG91bGRCZWNvbWVFcXVhbChzaG91bGRQbGF5ID8gImRpZFBsYXlW
aWRlbyIgOiAiZGlkUGF1c2VWaWRlbyIsICJ0cnVlIiwgcmVzb2x2ZSkpOwotICAgICAgICBzaG91
bGRCZUZhbHNlKCJkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxDbGlja0NhbGxiYWNrIik7CisgICAg
ICAgIHNob3VsZEJlVHJ1ZSgiZGlkSGFuZGxlVGFwIik7CisgICAgICAgIHNob3VsZEJlVHJ1ZSgi
ZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2siKTsKICAgICAgICAgdGVzdFJ1bm5lci5jbGVh
clRlc3RSdW5uZXJDYWxsYmFja3MoKTsKICAgICB9CiAKLSAgICBhd2FpdCBjaGVja0Zvck5vbk1l
YW5pbmdmdWxDbGljayh0cnVlKTsKLSAgICBhd2FpdCBjaGVja0Zvck5vbk1lYW5pbmdmdWxDbGlj
ayhmYWxzZSk7CisgICAgYXdhaXQgc2ltdWxhdGVUYXAodHJ1ZSk7CisgICAgYXdhaXQgc2ltdWxh
dGVUYXAoZmFsc2UpOwogICAgIGZpbmlzaEpTVGVzdCgpOwogfSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9ub24tbWVhbmluZ2Z1bC1jbGljay13
aGVuLXRhcHBpbmctZG9jdW1lbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVu
dHMvaW9zL25vbi1tZWFuaW5nZnVsLWNsaWNrLXdoZW4tdGFwcGluZy1kb2N1bWVudC1leHBlY3Rl
ZC50eHQKaW5kZXggZTgxYzEyYjYwZDAxZjQ3N2EyMjZmMjY4ODIzNWVkNmZlNjg5NWFlMy4uZjdl
MTY1OGI2MjY3OWQ5YmNhYzg0ZDAyZmVmY2VmOGMyYTI3OWU3YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9ldmVudHMvaW9zL25vbi1tZWFuaW5nZnVsLWNsaWNrLXdoZW4tdGFwcGluZy1k
b2N1bWVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL25v
bi1tZWFuaW5nZnVsLWNsaWNrLXdoZW4tdGFwcGluZy1kb2N1bWVudC1leHBlY3RlZC50eHQKQEAg
LTMsNyArMyw4IEBAIFRoaXMgdGVzdCBleGVyY2lzZXMgdGhlICdtZWFuaW5nZnVsIGNsaWNrJyBo
ZXVyaXN0aWMgd2hlbiBkaXNwYXRjaGluZyBjbGlja3Mgb24KIE9uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KIAogUEFTUyBkaWREaXNwYXRjaENsaWNrIGJlY2FtZSB0cnVlCi1QQVNTIGRpZERpc3Bh
dGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJhY2sgYmVjYW1lIHRydWUKK1BBU1MgZGlkSGFuZGxl
VGFwIGJlY2FtZSB0cnVlCitQQVNTIGRpZEhhbmRsZVRhcEFzTWVhbmluZ2Z1bENsaWNrIGlzIGZh
bHNlCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExFVEUKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lvcy9ub24tbWVhbmluZ2Z1bC1jbGlj
ay13aGVuLXRhcHBpbmctZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvZXZlbnRzL2lv
cy9ub24tbWVhbmluZ2Z1bC1jbGljay13aGVuLXRhcHBpbmctZG9jdW1lbnQuaHRtbAppbmRleCBl
NWVjZjdkZjQxNmUyY2M0MDUzN2NjMzhjOTc3YzgzMzY5NTM0NDgyLi4zYzVmMzA5Yzg1MDJiNjFh
MzRmMDNmOGIyZDMxMWJjNWU2NzFlNzY3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L2V2
ZW50cy9pb3Mvbm9uLW1lYW5pbmdmdWwtY2xpY2std2hlbi10YXBwaW5nLWRvY3VtZW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9ldmVudHMvaW9zL25vbi1tZWFuaW5nZnVsLWNsaWNrLXdo
ZW4tdGFwcGluZy1kb2N1bWVudC5odG1sCkBAIC0xOCw5ICsxOCwxMSBAQCBhZGRFdmVudExpc3Rl
bmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4gewogICAgIGlmICghd2luZG93LnRlc3RSdW5uZXIpCiAg
ICAgICAgIHJldHVybjsKIAotICAgIGRpZERpc3BhdGNoTm9uTWVhbmluZ2Z1bENsaWNrQ2FsbGJh
Y2sgPSBmYWxzZTsKLSAgICB0ZXN0UnVubmVyLmluc3RhbGxEaWROb3RIYW5kbGVUYXBBc01lYW5p
bmdmdWxDbGlja0NhbGxiYWNrKCgpID0+IHsKLSAgICAgICAgZGlkRGlzcGF0Y2hOb25NZWFuaW5n
ZnVsQ2xpY2tDYWxsYmFjayA9IHRydWU7CisgICAgZGlkSGFuZGxlVGFwID0gZmFsc2U7CisgICAg
ZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sgPSBmYWxzZTsKKyAgICB0ZXN0UnVubmVyLmlu
c3RhbGxEaWRIYW5kbGVUYXBDYWxsYmFjayh3YXNNZWFuaW5nZnVsID0+IHsKKyAgICAgICAgZGlk
SGFuZGxlVGFwID0gdHJ1ZTsKKyAgICAgICAgZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2sg
PSB3YXNNZWFuaW5nZnVsOwogICAgIH0pOwogCiAgICAgZGlkRGlzcGF0Y2hDbGljayA9IGZhbHNl
OwpAQCAtMzEsNyArMzMsOCBAQCBhZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgYXN5bmMgKCkgPT4g
ewogICAgIGF3YWl0IFVJSGVscGVyLmFjdGl2YXRlQXQoMTAwLCAxMDApOwogICAgIGF3YWl0IFVJ
SGVscGVyLndhaXRGb3JEb3VibGVUYXBEZWxheSgpOwogICAgIGF3YWl0IG5ldyBQcm9taXNlKHJl
c29sdmUgPT4gc2hvdWxkQmVjb21lRXF1YWwoImRpZERpc3BhdGNoQ2xpY2siLCAidHJ1ZSIsIHJl
c29sdmUpKTsKLSAgICBhd2FpdCBuZXcgUHJvbWlzZShyZXNvbHZlID0+IHNob3VsZEJlY29tZUVx
dWFsKCJkaWREaXNwYXRjaE5vbk1lYW5pbmdmdWxDbGlja0NhbGxiYWNrIiwgInRydWUiLCByZXNv
bHZlKSk7CisgICAgYXdhaXQgbmV3IFByb21pc2UocmVzb2x2ZSA9PiBzaG91bGRCZWNvbWVFcXVh
bCgiZGlkSGFuZGxlVGFwIiwgInRydWUiLCByZXNvbHZlKSk7CisgICAgc2hvdWxkQmVGYWxzZSgi
ZGlkSGFuZGxlVGFwQXNNZWFuaW5nZnVsQ2xpY2siKTsKIAogICAgIHRlc3RSdW5uZXIuY2xlYXJU
ZXN0UnVubmVyQ2FsbGJhY2tzKCk7CiAgICAgZmluaXNoSlNUZXN0KCk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>